عقود القدرات العامة
يغطي هذا الحصر القابل للتنفيذ كل مسار صفحة صريح في frontend/src/App.tsx، وكل إعلان حرفي لطريقة أو مسار في كل موجّه Express مركّب من backend/src/routes/*.ts، وكل اسم مسار حرفي لترقية WebSocket في backend/src/websocketServer.ts. لكل نقطة نهاية مالك قدرة واحد بالضبط، ولكل نقطة WebSocket دليل مصادقة. كما تعلن كل قدرة ما إذا كانت schemas وmanifests والقيم الافتراضية تنطبق، مع دليل مصدر أو سبب محدد لعدم الانطباق، إلى جانب توثيق واختبار سلوكي مسمى مسجل في CI العادي للحزمة أو المتصفح.
تظل تفاصيل الموفّرين القابلة للتنفيذ خاضعة لـ scripts/capability-contracts.json وscripts/test-capability-contracts.mjs؛ ويرتبط هذا الحصر العام بذلك العقد بدل تكرار قواعد manifest والقيم الافتراضية.
| القدرة | مسارات الواجهة | نقاط نهاية HTTP | نقاط نهاية WebSocket | Schemas | Manifests | القيم الافتراضية | التوثيق | الاختبارات السلوكية المسماة |
|---|---|---|---|---|---|---|---|---|
| الرئيسية | / | 0 | 0 | غير منطبق — الصفحة الرئيسية سطح للتنقل والتركيب بلا حمولة طلب أو استجابة مستقلة. | غير منطبق — الصفحة الرئيسية مضمّنة في التطبيق ولا تُثبّت أو تُكتشف عبر manifest. | frontend/src/utils/welcomePrompts.ts | docs/00-README.md | new chats rotate through distinct creator promptsfrontend/e2e/welcome-prompts.spec.ts (test:e2e) |
| المحادثة | /chat/c/:sessionId | 32 | 1 | backend/src/types/index.ts | scripts/capability-contracts.json | backend/src/services/preferencesService.ts | docs/01-QUICK_START.md | ChatRequestService prepares target, persona prompt, and shared messagesscripts/test-chat-context.mjs (test:package)oversized history compacts into one summary on a user-turn boundaryscripts/test-context-compaction.mjs (test:package)queued prompts can be edited, reordered, and removed atomicallyscripts/test-prompt-queue.mjs (test:package)a comparison fan-out shares one user turn across independent jobsscripts/test-multi-model-compare.mjs (test:package)forking at a message copies the prefix with remapped identitiesscripts/test-chat-fork.mjs (test:package) |
| إدارة النماذج | — | 51 | 0 | backend/src/types/index.ts | scripts/capability-contracts.json | backend/src/services/ollamaService.ts | docs/02-WORKING_WITH_MODELS.md | cloud library pulls append the Ollama cloud suffix automaticallyfrontend/e2e/model-manager.spec.ts (test:e2e) |
| الشخصيات | /personas | 12 | 0 | backend/src/types/index.ts | غير منطبق — الشخصيات موارد حساب يحفظها Libre ولا تستخدم manifest للتثبيت أو الاكتشاف. | frontend/src/components/persona-form/defaults.ts | docs/16-PERSONA_DEVELOPMENT_FRAMEWORK.mddocs/52-ASSISTANT_PROFILES.md | memory insert acknowledgement loss resolves the committed row and retry is idempotentscripts/test-memory-reliability.mjs (test:package)a profile stores its bindings normalized, versioned, and encryptedscripts/test-assistant-profiles.mjs (test:package) |
| معرض الوسائط | /gallery | 20 | 0 | backend/src/types/index.ts | scripts/capability-contracts.json | scripts/test-capability-contracts.mjs | docs/38-MEDIA_GENERATION.md | video jobs can stop waiting, reopen, and resume without losing the handlefrontend/e2e/media-generation.spec.ts (test:e2e)edits post an authorized multipart request and meter usagescripts/test-image-editing.mjs (test:package) |
| الملاحظات | /notes | 12 | 0 | backend/src/types/index.tsbackend/src/persistence/resourceTypes.ts | غير منطبق — الملاحظات موارد حساب أصلية ولا تملك manifest للتثبيت أو الاكتشاف. | غير منطبق — لا تملك الملاحظات محتوى أو عرضًا افتراضيًا ضمنيًا خارج الحقول التي يقدمها المستخدم صراحةً. | docs/61-NOTES.md | notes open in Markdown preview and make editing explicitfrontend/e2e/notes.spec.ts (test:e2e)content changes snapshot restorable revisions and prune beyond the capscripts/test-notes.mjs (test:package) |
| التقويم | /calendar | 10 | 0 | backend/src/types/index.ts | غير منطبق — أحداث التقويم موارد حساب أصلية ولا تملك manifest للتثبيت أو الاكتشاف. | غير منطبق — لا تملك أحداث التقويم محتوى افتراضيًا ضمنيًا خارج الحقول التي يقدمها المستخدم؛ وتستخدم حسابات التكرار منطقة الخادم الزمنية الموثقة في docs/47-CALENDAR.md. | docs/47-CALENDAR.md | calendar events persist per owner and expand recurrence into range queriesscripts/test-calendar.mjs (test:package)named calendars carry colors and share read/write through grantsscripts/test-calendar-team.mjs (test:package)reminders fire once per occurrence into the notification inboxscripts/test-calendar-team.mjs (test:package) |
| الأتمتة | /automations | 15 | 0 | backend/src/types/index.ts | غير منطبق — الأتمتة موارد حساب أصلية ولا تملك manifest للتثبيت أو الاكتشاف. | docs/48-AUTOMATIONS.md | docs/48-AUTOMATIONS.md | the scheduler fires due automations once and settles stalled runsscripts/test-automations.mjs (test:package) |
| القنوات | /channels | 24 | 0 | backend/src/types/index.ts | غير منطبق — القنوات موارد حساب أصلية ولا تملك manifest للتثبيت أو الاكتشاف. | docs/54-CHANNELS.md | docs/54-CHANNELS.md | timeline: idempotent posts, ordering, threads, edit and tombstone rulesscripts/test-channels.mjs (test:package)@model mentions run under the invoking member and fail safelyscripts/test-channels.mjs (test:package) |
| الإشعارات | — | 13 | 0 | backend/src/types/index.ts | غير منطبق — الإشعارات حالة حساب أصلية ولا تملك manifest للتثبيت أو الاكتشاف. | docs/55-NOTIFICATIONS.md | docs/55-NOTIFICATIONS.mddocs/55-NOTIFICATIONS.md | the inbox is durable, encrypted, deduplicated, and cappedscripts/test-notifications.mjs (test:package)webhook targets are egress-guarded, signed, redacted, and retriedscripts/test-notifications.mjs (test:package)payload encryption reproduces the RFC 8291 test vectorscripts/test-web-push.mjs (test:package)revoking an auth session removes its device subscriptionsscripts/test-web-push.mjs (test:package) |
| مكتبة المطالبات | — | 9 | 0 | backend/src/services/promptService.ts | غير منطبق — المطالبات موارد حساب أصلية؛ وصيغتها المحمولة هي مستند تصدير libre-prompt.v1 ذي الإصدارات، لا manifest للتثبيت أو الاكتشاف. | غير منطبق — لا تملك المطالبة محتوى افتراضيًا ضمنيًا: يقدم المستخدم كل حقل ولا يستبدل العرض إلا المتغيرات المعلنة، كما يفرض scripts/test-prompts.mjs. | docs/50-PROMPTS.md | prompts round-trip through the API and stay encrypted at restscripts/test-prompts.mjs (test:package) |
| المهارات | — | 14 | 0 | backend/src/services/skillService.ts | backend/src/services/skillService.ts | غير منطبق — لا تملك المهارة محتوى افتراضيًا ضمنيًا: manifest والتعليمات هما بالضبط ما كتبه المالك، وتغادر المهارات المعطلة manifest كليًا. | docs/51-SKILLS.md | skills round-trip through the API and stay encrypted at restscripts/test-skills.mjs (test:package)a skill imports from a remote store URL through the egress guardscripts/test-skills.mjs (test:package) |
| أدوات المحادثة | — | 15 | 0 | backend/src/types/tools.ts | backend/src/services/toolServerService.ts | backend/src/services/toolAccessService.ts | docs/49-CHAT_TOOLS.md | registering an OpenAPI server pins the spec and extracts its toolsscripts/test-tool-gateway.mjs (test:package)a side-effecting call waits for approval and then executesscripts/test-chat-tool-loop.mjs (test:package) |
| Work | /work/work/:taskId | 44 | 3 | backend/src/types/work.ts | scripts/capability-contracts.json | backend/src/services/workRuntimeShared.ts | docs/33-WORKSPACES.md | runtime limits expose admission capacity and live occupancyscripts/test-work-runtime.mjs (test:package)approval decisions gate side-effecting Work actionsscripts/test-work-approvals.mjs (test:package)an agent delegates to a peer and the report returns to its conversationscripts/test-work-delegation.mjs (test:package)connected tools reach network-enabled runs and stay off offline onesscripts/test-work-mcp.mjs (test:package)production Work upgrade applies task-bound ticket authenticationscripts/test-websocket-tickets.mjs (test:package) |
| نماذج Agent CLI | /agents | 1 | 0 | backend/src/services/agentCliService.ts | غير منطبق — مهايئات Agent CLI تعريفات أصلية مترجمة ولا تُحمّل من manifests الموفّرين. | backend/src/services/agentAccessService.ts | docs/36-AGENT_CLI_MODELS.md | every agent CLI passes an explicit model through to its argvscripts/test-agent-cli-chat.mjs (test:package) |
| العناصر التفاعلية | /artifacts | 1 | 0 | frontend/src/utils/artifactParser.ts | frontend/src/artifact-runtime/manifest.ts | frontend/src/components/ArtifactSlideOutPanel.tsxfrontend/src/store/appStore.ts | docs/13-ARTIFACTS_FEATURE.md | chat detects multi-file HTML artifacts and renders them in the slide-out panelfrontend/e2e/artifacts.spec.ts (test:e2e) |
| استخدام الموفّرين | /usage | 10 | 0 | backend/src/services/pluginUsageService.ts | غير منطبق — تستهلك تحليلات الاستخدام أحداث الموفّر لكنها لا تعرّف manifest خاصًا للتثبيت أو الاكتشاف. | backend/src/services/pluginUsageService.ts | docs/37-SYSTEM_MONITORING.mddocs/58-COST_GOVERNANCE.mddocs/60-OBSERVABILITY.md | the usage endpoint is explicitly protected by administrator middlewarescripts/test-plugin-usage-analytics.mjs (test:package)hard budgets block exhausted principals and fail open otherwisescripts/test-cost-governance.mjs (test:package) |
| منصة التقييم | /evaluations | 16 | 0 | backend/src/persistence/resourceTypes.ts | غير منطبق — التقييمات موارد حساب يحفظها Libre ولا تستخدم manifest للتثبيت أو الاكتشاف. | backend/src/services/evaluationService.ts | docs/59-EVALUATIONS.md | arena votes are one per user per comparison and Elo replays deterministicallyscripts/test-evaluations.mjs (test:package) |
| تشخيصات النظام | /system | 5 | 0 | backend/src/services/systemDiagnosticsService.ts | غير منطبق — تشخيصات النظام تقرير مضمّن موثّق ولا تملك manifest للتثبيت أو الاكتشاف. | backend/src/services/healthService.ts | docs/37-SYSTEM_MONITORING.md | system route requires both authentication and current administrator statusscripts/test-system-diagnostics.mjs (test:package) |
| إدارة المستخدمين | /users | 8 | 0 | backend/src/types/index.ts | غير منطبق — إدارة المستخدمين قدرة هوية مضمّنة ولا تملك manifest للتثبيت أو الاكتشاف. | غير منطبق — تحدد سياسة bootstrap أو الموافقة دور المستخدم وحالة الحساب، لا قيمة قدرة افتراضية قابلة لإعادة الاستخدام. | docs/12-AUTHENTICATION.md | public registrations require administrator approval before authenticationscripts/test-user-approval.mjs (test:package) |
| المصادقة | /login | 40 | 0 | backend/src/types/index.ts | غير منطبق — المصادقة حد أمان مضمّن ولا تُثبّت أو تُكتشف عبر manifest. | backend/src/services/registrationPolicy.ts | docs/12-AUTHENTICATION.mddocs/12-AUTHENTICATION.mddocs/12-AUTHENTICATION.md | password login requires and submits a Turnstile tokenfrontend/e2e/auth.spec.ts (test:e2e)revoking the session rejects its token with 401scripts/test-auth-sessions.mjs (test:package)scope-to-path matrix: notes scope on notes, chat, and auth routesscripts/test-api-tokens.mjs (test:package)verifyIdToken accepts a good token and returns its claimsscripts/test-oidc-provider.mjs (test:package)password login returns an MFA challenge, and the challenge is not a sessionscripts/test-mfa.mjs (test:package)a passkey assertion signs the user in and challenges are one-usescripts/test-mfa.mjs (test:package)the signup password field grades strength live against the real policyfrontend/e2e/password-strength.spec.ts (test:e2e) |
| التحكم في الوصول | — | 14 | 0 | backend/src/persistence/securityTypes.ts | غير منطبق — التحكم في الوصول حد أمان مضمّن ولا يُثبّت أو يُكتشف عبر manifest. | backend/src/services/authorizationService.ts | docs/12-AUTHENTICATION.md | group grants reach members and die with the membershipscripts/test-authorization.mjs (test:package)a rolled-back duplicate group create leaves no audit rowscripts/test-security-audit.mjs (test:package)group principal lookup and grant names surface through the APIscripts/test-resource-sharing.mjs (test:package) |
| واجهة API العامة | — | 2 | 0 | backend/src/routes/openaiCompat.ts | غير منطبق — يعكس السطح المتوافق مع OpenAI تنسيق نقل خارجيًا ولا يملك manifest قابلًا للتثبيت. | غير منطبق — تأتي قيم أخذ العينات الافتراضية من طلب المستدعي وضبط النموذج نفسه، لا من هذا السطح مطلقًا. | docs/53-PUBLIC_API.md | a streaming completion emits OpenAI chunk frames and [DONE]scripts/test-openai-compat.mjs (test:package) |
| قابلية نقل البيانات | — | 3 | 0 | backend/src/services/dataArchiveService.ts | backend/src/services/dataArchiveService.ts | backend/src/services/dataArchiveService.ts | docs/41-DATA_PORTABILITY.md | v3 export is complete, checksummed, user-scoped, and explicit about exclusionsscripts/test-data-archive.mjs (test:package) |
| معرفة المستندات واسترجاعها | — | 15 | 0 | backend/src/types/index.ts | scripts/capability-contracts.json | backend/src/services/preferencesService.ts | docs/09-RAG_FEATURE.mddocs/09-RAG_FEATURE.md | keyword retrieval sees session documents AND user-scoped uploadsscripts/test-rag-retrieval.mjs (test:package)multi-image OCR produces one labeled page segment per imagescripts/test-media-extraction.mjs (test:package)audio transcripts carry one Transcript section and respect the stt gatescripts/test-media-extraction.mjs (test:package) |
| ذاكرة الشخصيات | — | 6 | 0 | backend/src/types/index.ts | غير منطبق — ذاكرة الشخصية مورد داخلي للشخصية ولا تملك manifest للتثبيت أو الاكتشاف. | frontend/src/components/persona-form/defaults.ts | docs/16-PERSONA_DEVELOPMENT_FRAMEWORK.md | persona deletion during vector publication still removes the recreated vectorscripts/test-memory-reliability.mjs (test:package) |
| البحث على الويب | — | 6 | 0 | backend/src/services/webSearchService.ts | غير منطبق — يستخدم البحث على الويب إعدادات اتصال المسؤول بدل manifest موفّر قابل للتثبيت. | backend/src/services/webSearchService.ts | docs/39-WEB_SEARCH.md | web search ships disabled and validates its configurationscripts/test-web-search.mjs (test:package)search is scoped to what the actor can readscripts/test-workspace-search.mjs (test:package) |
| الإعدادات والتفضيلات | — | 11 | 0 | backend/src/types/index.ts | غير منطبق — تجمع الإعدادات ضبط التطبيق الأصلي والموفّرين لكنها لا تعرّف manifest منفصلًا قابلًا للتثبيت. | backend/src/services/preferencesService.ts | docs/35-PROVIDER_CONNECTIONS.md | theme preference survives refresh and retries a failed savefrontend/e2e/settings.spec.ts (test:e2e) |
| إدخال الكلام وإخراجه | — | 13 | 0 | backend/src/types/index.ts | scripts/capability-contracts.json | scripts/test-capability-contracts.mjs | docs/42-SPEECH_TO_TEXT.mddocs/27-QWEN3_TTS.mddocs/57-VOICE_MODE.md | STT sends an OpenAI-compatible multipart request to the selected routescripts/test-stt-routing.mjs (test:package)provider speech input discloses its route and transcribes recorded audiofrontend/e2e/stt.spec.ts (test:e2e)invalid provider audio is rejected safely without inserting a transcriptfrontend/e2e/stt.spec.ts (test:e2e)TTS routes a shared model alias through the selected plugin and user valvescripts/test-tts-routing.mjs (test:package)voice mode opens hands-free conversation and transcribes a manual turnfrontend/e2e/voice-mode.spec.ts (test:e2e) |
| Hugging Face Hub | — | 7 | 0 | backend/src/routes/huggingfaceHub.ts | غير منطبق — بيانات نماذج Hub هي بيانات API بعيدة؛ ولا يعرّف Libre manifest محليًا قابلًا للتثبيت لقدرة التصفح. | backend/src/routes/huggingfaceHub.ts | docs/29-HUGGINGFACE_HUB.md | Hugging Face Hub task discovery is authenticated route behaviorscripts/test-huggingface-hub-routes.mjs (test:package) |
| Libre Claw | — | 26 | 0 | backend/src/services/libreClawService.ts | غير منطبق — Libre Claw تكامل خدمة مضبوط صراحةً ولا يستخدم manifest لموفّر Libre. | backend/src/services/libreClawService.ts | docs/31-LIBRE_CLAW_INTEGRATION.md | Work and Agents are hidden and route-protected for non-admin usersfrontend/e2e/sidebar-create-actions.spec.ts (test:e2e) |
| المهام والأحداث الدائمة | — | 4 | 0 | backend/src/platform/jobs/durableJobTypes.ts | غير منطبق — تستخدم المهام الدائمة أنواع معالجات مسجلة وعقود حمولات محفوظة، لا manifests قابلة للتثبيت. | backend/src/platform/jobs/embeddedDurableJobWorker.ts | docs/45-PLATFORM_FOUNDATION.md | ordered event replay uses global cursors and per-stream sequencesscripts/test-durable-jobs.mjs (test:package) |
| ملفات نشر solo وteam | — | 0 | 0 | backend/src/platform/runtimeConfig.ts | helm/libre-webui/values.schema.json | helm/libre-webui/values.yaml | docs/45-PLATFORM_FOUNDATION.md | real Redis coordinates independent replicas and fails closed after shutdownscripts/test-platform-coordination.mjs (test:package) |
| الاستعادة والنسخ الاحتياطي | — | 2 | 0 | backend/src/services/recoveryInventoryService.ts | backend/src/platform/recovery/backupArchive.ts | backend/src/services/recoveryInventoryService.ts | docs/44-RECOVERY_READINESS.mddocs/44-RECOVERY_READINESS.md | integrated backup is signed, encrypted, tamper-evident, and clean-restorablescripts/test-integrated-backup.mjs (test:package)team backup restores a clean PostgreSQL and versioned S3 target with authenticated PGVector statescripts/test-team-backup.mjs (test:package)a manual drill backs up, restores in isolation, verifies, and measuresscripts/test-recovery-drills.mjs (test:package)an unattended drill failure alerts every administrator oncescripts/test-recovery-drills.mjs (test:package) |
الحصر الدقيق لمسارات الخادم الخلفي
الرئيسية
لا توجد نقطة نهاية Express مركّبة. الحد القابل للتنفيذ هو الواجهة و/أو دليل المصدر المسجل أعلاه.
المحادثة
DELETE /api/chat/folders/:folderId—backend/src/routes/chat.ts(نقطة الربط/api/chat، المسار الفرعي/folders/:folderId)DELETE /api/chat/sessions—backend/src/routes/chat.ts(نقطة الربط/api/chat، المسار الفرعي/sessions)DELETE /api/chat/sessions/:sessionId—backend/src/routes/chat.ts(نقطة الربط/api/chat، المسار الفرعي/sessions/:sessionId)DELETE /api/chat/sessions/:sessionId/queue/:entryId—backend/src/routes/chat.ts(نقطة الربط/api/chat، المسار الفرعي/sessions/:sessionId/queue/:entryId)GET /api/chat/compaction-config—backend/src/routes/chat.ts(نقطة الربط/api/chat، المسار الفرعي/compaction-config)GET /api/chat/context-policy—backend/src/routes/chat.ts(نقطة الربط/api/chat، المسار الفرعي/context-policy)GET /api/chat/folders—backend/src/routes/chat.ts(نقطة الربط/api/chat، المسار الفرعي/folders)GET /api/chat/sessions—backend/src/routes/chat.ts(نقطة الربط/api/chat، المسار الفرعي/sessions)GET /api/chat/sessions/:sessionId—backend/src/routes/chat.ts(نقطة الربط/api/chat، المسار الفرعي/sessions/:sessionId)GET /api/chat/sessions/:sessionId/events—backend/src/routes/chat.ts(نقطة الربط/api/chat، المسار الفرعي/sessions/:sessionId/events)GET /api/chat/sessions/:sessionId/messages/:messageId/branches—backend/src/routes/chat.ts(نقطة الربط/api/chat، المسار الفرعي/sessions/:sessionId/messages/:messageId/branches)POST /api/chat/folders—backend/src/routes/chat.ts(نقطة الربط/api/chat، المسار الفرعي/folders)POST /api/chat/sessions—backend/src/routes/chat.ts(نقطة الربط/api/chat، المسار الفرعي/sessions)POST /api/chat/sessions/:sessionId/compaction/:messageId/restore—backend/src/routes/chat.ts(نقطة الربط/api/chat، المسار الفرعي/sessions/:sessionId/compaction/:messageId/restore)POST /api/chat/sessions/:sessionId/followups—backend/src/routes/chat.ts(نقطة الربط/api/chat، المسار الفرعي/sessions/:sessionId/followups)POST /api/chat/sessions/:sessionId/fork—backend/src/routes/chat.ts(نقطة الربط/api/chat، المسار الفرعي/sessions/:sessionId/fork)POST /api/chat/sessions/:sessionId/generate—backend/src/routes/chat.ts(نقطة الربط/api/chat، المسار الفرعي/sessions/:sessionId/generate)POST /api/chat/sessions/:sessionId/generate-title—backend/src/routes/chat.ts(نقطة الربط/api/chat، المسار الفرعي/sessions/:sessionId/generate-title)POST /api/chat/sessions/:sessionId/generate/stream—backend/src/routes/chat.ts(نقطة الربط/api/chat، المسار الفرعي/sessions/:sessionId/generate/stream)POST /api/chat/sessions/:sessionId/generations—backend/src/routes/chat.ts(نقطة الربط/api/chat، المسار الفرعي/sessions/:sessionId/generations)POST /api/chat/sessions/:sessionId/generations/:assistantMessageId/cancel—backend/src/routes/chat.ts(نقطة الربط/api/chat، المسار الفرعي/sessions/:sessionId/generations/:assistantMessageId/cancel)POST /api/chat/sessions/:sessionId/messages—backend/src/routes/chat.ts(نقطة الربط/api/chat، المسار الفرعي/sessions/:sessionId/messages)POST /api/chat/sessions/:sessionId/messages/:messageId/branch—backend/src/routes/chat.ts(نقطة الربط/api/chat، المسار الفرعي/sessions/:sessionId/messages/:messageId/branch)POST /api/chat/sessions/:sessionId/messages/:messageId/branches—backend/src/routes/chat.ts(نقطة الربط/api/chat، المسار الفرعي/sessions/:sessionId/messages/:messageId/branches)POST /api/chat/sessions/:sessionId/messages/:messageId/truncate—backend/src/routes/chat.ts(نقطة الربط/api/chat، المسار الفرعي/sessions/:sessionId/messages/:messageId/truncate)POST /api/chat/sessions/:sessionId/queue—backend/src/routes/chat.ts(نقطة الربط/api/chat، المسار الفرعي/sessions/:sessionId/queue)PUT /api/chat/compaction-config—backend/src/routes/chat.ts(نقطة الربط/api/chat، المسار الفرعي/compaction-config)PUT /api/chat/folders/:folderId—backend/src/routes/chat.ts(نقطة الربط/api/chat، المسار الفرعي/folders/:folderId)PUT /api/chat/sessions/:sessionId—backend/src/routes/chat.ts(نقطة الربط/api/chat، المسار الفرعي/sessions/:sessionId)PUT /api/chat/sessions/:sessionId/messages/:messageId—backend/src/routes/chat.ts(نقطة الربط/api/chat، المسار الفرعي/sessions/:sessionId/messages/:messageId)PUT /api/chat/sessions/:sessionId/queue—backend/src/routes/chat.ts(نقطة الربط/api/chat، المسار الفرعي/sessions/:sessionId/queue)PUT /api/chat/sessions/:sessionId/queue/:entryId—backend/src/routes/chat.ts(نقطة الربط/api/chat، المسار الفرعي/sessions/:sessionId/queue/:entryId)
إدارة النماذج
DELETE /api/ollama/models—backend/src/routes/ollama.ts(نقطة الربط/api/ollama، المسار الفرعي/models)GET /api/ollama/health—backend/src/routes/ollama.ts(نقطة الربط/api/ollama، المسار الفرعي/health)GET /api/ollama/library—backend/src/routes/ollama.ts(نقطة الربط/api/ollama، المسار الفرعي/library)GET /api/ollama/models—backend/src/routes/ollama.ts(نقطة الربط/api/ollama، المسار الفرعي/models)GET /api/ollama/models/:modelName/defaults—backend/src/routes/ollama.ts(نقطة الربط/api/ollama، المسار الفرعي/models/:modelName/defaults)GET /api/ollama/models/access—backend/src/routes/ollama.ts(نقطة الربط/api/ollama، المسار الفرعي/models/access)GET /api/ollama/models/pull-all/stream—backend/src/routes/ollama.ts(نقطة الربط/api/ollama، المسار الفرعي/models/pull-all/stream)GET /api/ollama/models/show—backend/src/routes/ollama.ts(نقطة الربط/api/ollama، المسار الفرعي/models/show)GET /api/ollama/models/visibility—backend/src/routes/ollama.ts(نقطة الربط/api/ollama، المسار الفرعي/models/visibility)GET /api/ollama/pull/stream—backend/src/routes/ollama.ts(نقطة الربط/api/ollama، المسار الفرعي/pull/stream)GET /api/ollama/running—backend/src/routes/ollama.ts(نقطة الربط/api/ollama، المسار الفرعي/running)GET /api/ollama/settings—backend/src/routes/ollama.ts(نقطة الربط/api/ollama، المسار الفرعي/settings)GET /api/ollama/version—backend/src/routes/ollama.ts(نقطة الربط/api/ollama، المسار الفرعي/version)HEAD /api/ollama/blobs/:digest—backend/src/routes/ollama.ts(نقطة الربط/api/ollama، المسار الفرعي/blobs/:digest)POST /api/ollama/blobs/:digest—backend/src/routes/ollama.ts(نقطة الربط/api/ollama، المسار الفرعي/blobs/:digest)POST /api/ollama/chat—backend/src/routes/ollama.ts(نقطة الربط/api/ollama، المسار الفرعي/chat)POST /api/ollama/chat/stream—backend/src/routes/ollama.ts(نقطة الربط/api/ollama، المسار الفرعي/chat/stream)POST /api/ollama/embed—backend/src/routes/ollama.ts(نقطة الربط/api/ollama، المسار الفرعي/embed)POST /api/ollama/embeddings—backend/src/routes/ollama.ts(نقطة الربط/api/ollama، المسار الفرعي/embeddings)POST /api/ollama/models—backend/src/routes/ollama.ts(نقطة الربط/api/ollama، المسار الفرعي/models)POST /api/ollama/models/copy—backend/src/routes/ollama.ts(نقطة الربط/api/ollama، المسار الفرعي/models/copy)POST /api/ollama/models/pull—backend/src/routes/ollama.ts(نقطة الربط/api/ollama، المسار الفرعي/models/pull)POST /api/ollama/models/pull-all—backend/src/routes/ollama.ts(نقطة الربط/api/ollama، المسار الفرعي/models/pull-all)POST /api/ollama/models/push—backend/src/routes/ollama.ts(نقطة الربط/api/ollama، المسار الفرعي/models/push)POST /api/ollama/models/unload—backend/src/routes/ollama.ts(نقطة الربط/api/ollama، المسار الفرعي/models/unload)POST /api/ollama/models/unload-all—backend/src/routes/ollama.ts(نقطة الربط/api/ollama، المسار الفرعي/models/unload-all)PUT /api/ollama/models/access—backend/src/routes/ollama.ts(نقطة الربط/api/ollama، المسار الفرعي/models/access)PUT /api/ollama/models/visibility—backend/src/routes/ollama.ts(نقطة الربط/api/ollama، المسار الفرعي/models/visibility)PUT /api/ollama/settings—backend/src/routes/ollama.ts(نقطة الربط/api/ollama، المسار الفرعي/settings)DELETE /api/plugins/:id—backend/src/routes/plugins.ts(نقطة الربط/api/plugins، المسار الفرعي/:id)DELETE /api/plugins/:id/credentials—backend/src/routes/plugins.ts(نقطة الربط/api/plugins، المسار الفرعي/:id/credentials)DELETE /api/plugins/:id/variables—backend/src/routes/plugins.ts(نقطة الربط/api/plugins، المسار الفرعي/:id/variables)GET /api/plugins—backend/src/routes/plugins.ts(نقطة الربط/api/plugins، المسار الفرعي/)GET /api/plugins/:id—backend/src/routes/plugins.ts(نقطة الربط/api/plugins، المسار الفرعي/:id)GET /api/plugins/:id/credentials/check—backend/src/routes/plugins.ts(نقطة الربط/api/plugins، المسار الفرعي/:id/credentials/check)GET /api/plugins/:id/export—backend/src/routes/plugins.ts(نقطة الربط/api/plugins، المسار الفرعي/:id/export)GET /api/plugins/:id/variables—backend/src/routes/plugins.ts(نقطة الربط/api/plugins، المسار الفرعي/:id/variables)GET /api/plugins/active—backend/src/routes/plugins.ts(نقطة الربط/api/plugins، المسار الفرعي/active)GET /api/plugins/active/current—backend/src/routes/plugins.ts(نقطة الربط/api/plugins، المسار الفرعي/active/current)GET /api/plugins/credentials/all—backend/src/routes/plugins.ts(نقطة الربط/api/plugins، المسار الفرعي/credentials/all)GET /api/plugins/status/all—backend/src/routes/plugins.ts(نقطة الربط/api/plugins، المسار الفرعي/status/all)POST /api/plugins/:id/credentials—backend/src/routes/plugins.ts(نقطة الربط/api/plugins، المسار الفرعي/:id/credentials)POST /api/plugins/activate/:id—backend/src/routes/plugins.ts(نقطة الربط/api/plugins، المسار الفرعي/activate/:id)POST /api/plugins/deactivate—backend/src/routes/plugins.ts(نقطة الربط/api/plugins، المسار الفرعي/deactivate)POST /api/plugins/deactivate/:id—backend/src/routes/plugins.ts(نقطة الربط/api/plugins، المسار الفرعي/deactivate/:id)POST /api/plugins/discover/:id—backend/src/routes/plugins.ts(نقطة الربط/api/plugins، المسار الفرعي/discover/:id)POST /api/plugins/install—backend/src/routes/plugins.ts(نقطة الربط/api/plugins، المسار الفرعي/install)POST /api/plugins/probe-endpoint—backend/src/routes/plugins.ts(نقطة الربط/api/plugins، المسار الفرعي/probe-endpoint)POST /api/plugins/upload—backend/src/routes/plugins.ts(نقطة الربط/api/plugins، المسار الفرعي/upload)PUT /api/plugins/:id—backend/src/routes/plugins.ts(نقطة الربط/api/plugins، المسار الفرعي/:id)PUT /api/plugins/:id/variables—backend/src/routes/plugins.ts(نقطة الربط/api/plugins، المسار الفرعي/:id/variables)
الشخصيات
DELETE /api/personas/:id—backend/src/routes/personas.ts(نقطة الربط/api/personas، المسار الفرعي/:id)GET /api/personas—backend/src/routes/personas.ts(نقطة الربط/api/personas، المسار الفرعي/)GET /api/personas/:id—backend/src/routes/personas.ts(نقطة الربط/api/personas، المسار الفرعي/:id)GET /api/personas/:id/backup—backend/src/routes/personas.ts(نقطة الربط/api/personas، المسار الفرعي/:id/backup)GET /api/personas/:id/download—backend/src/routes/personas.ts(نقطة الربط/api/personas، المسار الفرعي/:id/download)GET /api/personas/:id/export—backend/src/routes/personas.ts(نقطة الربط/api/personas، المسار الفرعي/:id/export)GET /api/personas/:id/export/dna—backend/src/routes/personas.ts(نقطة الربط/api/personas، المسار الفرعي/:id/export/dna)GET /api/personas/defaults/parameters—backend/src/routes/personas.ts(نقطة الربط/api/personas، المسار الفرعي/defaults/parameters)GET /api/personas/stats/count—backend/src/routes/personas.ts(نقطة الربط/api/personas، المسار الفرعي/stats/count)POST /api/personas—backend/src/routes/personas.ts(نقطة الربط/api/personas، المسار الفرعي/)POST /api/personas/import—backend/src/routes/personas.ts(نقطة الربط/api/personas، المسار الفرعي/import)PUT /api/personas/:id—backend/src/routes/personas.ts(نقطة الربط/api/personas، المسار الفرعي/:id)
معرض الوسائط
DELETE /api/image-gen/gallery/:imageId—backend/src/routes/imageGen.ts(نقطة الربط/api/image-gen، المسار الفرعي/gallery/:imageId)GET /api/image-gen/config/:pluginId—backend/src/routes/imageGen.ts(نقطة الربط/api/image-gen، المسار الفرعي/config/:pluginId)GET /api/image-gen/gallery—backend/src/routes/imageGen.ts(نقطة الربط/api/image-gen، المسار الفرعي/gallery)GET /api/image-gen/gallery/:imageId—backend/src/routes/imageGen.ts(نقطة الربط/api/image-gen، المسار الفرعي/gallery/:imageId)GET /api/image-gen/models—backend/src/routes/imageGen.ts(نقطة الربط/api/image-gen، المسار الفرعي/models)GET /api/image-gen/plugins—backend/src/routes/imageGen.ts(نقطة الربط/api/image-gen، المسار الفرعي/plugins)POST /api/image-gen/generate—backend/src/routes/imageGen.ts(نقطة الربط/api/image-gen، المسار الفرعي/generate)DELETE /api/media/gallery/:mediaId—backend/src/routes/media.ts(نقطة الربط/api/media، المسار الفرعي/gallery/:mediaId)DELETE /api/media/video/jobs/:jobId—backend/src/routes/media.ts(نقطة الربط/api/media، المسار الفرعي/video/jobs/:jobId)GET /api/media/gallery—backend/src/routes/media.ts(نقطة الربط/api/media، المسار الفرعي/gallery)GET /api/media/gallery/:mediaId/content—backend/src/routes/media.ts(نقطة الربط/api/media، المسار الفرعي/gallery/:mediaId/content)GET /api/media/models—backend/src/routes/media.ts(نقطة الربط/api/media، المسار الفرعي/models)GET /api/media/video/jobs—backend/src/routes/media.ts(نقطة الربط/api/media، المسار الفرعي/video/jobs)GET /api/media/video/jobs/:jobId—backend/src/routes/media.ts(نقطة الربط/api/media، المسار الفرعي/video/jobs/:jobId)POST /api/media/audio/generate—backend/src/routes/media.ts(نقطة الربط/api/media، المسار الفرعي/audio/generate)POST /api/media/audio/voice-clone—backend/src/routes/media.ts(نقطة الربط/api/media، المسار الفرعي/audio/voice-clone)POST /api/media/image/edit—backend/src/routes/media.ts(نقطة الربط/api/media، المسار الفرعي/image/edit)POST /api/media/sound/generate—backend/src/routes/media.ts(نقطة الربط/api/media، المسار الفرعي/sound/generate)POST /api/media/video/generate—backend/src/routes/media.ts(نقطة الربط/api/media، المسار الفرعي/video/generate)POST /api/media/video/jobs/:jobId/resume—backend/src/routes/media.ts(نقطة الربط/api/media، المسار الفرعي/video/jobs/:jobId/resume)
الملاحظات
DELETE /api/notes/:noteId—backend/src/routes/notes.ts(نقطة الربط/api/notes، المسار الفرعي/:noteId)DELETE /api/notes/:noteId/attachments/:attachmentId—backend/src/routes/notes.ts(نقطة الربط/api/notes، المسار الفرعي/:noteId/attachments/:attachmentId)GET /api/notes—backend/src/routes/notes.ts(نقطة الربط/api/notes، المسار الفرعي/)GET /api/notes/:noteId—backend/src/routes/notes.ts(نقطة الربط/api/notes، المسار الفرعي/:noteId)GET /api/notes/:noteId/attachments—backend/src/routes/notes.ts(نقطة الربط/api/notes، المسار الفرعي/:noteId/attachments)GET /api/notes/:noteId/attachments/:attachmentId—backend/src/routes/notes.ts(نقطة الربط/api/notes، المسار الفرعي/:noteId/attachments/:attachmentId)GET /api/notes/:noteId/revisions—backend/src/routes/notes.ts(نقطة الربط/api/notes، المسار الفرعي/:noteId/revisions)POST /api/notes—backend/src/routes/notes.ts(نقطة الربط/api/notes، المسار الفرعي/)POST /api/notes/:noteId/assist—backend/src/routes/notes.ts(نقطة الربط/api/notes، المسار الفرعي/:noteId/assist)POST /api/notes/:noteId/attachments—backend/src/routes/notes.ts(نقطة الربط/api/notes، المسار الفرعي/:noteId/attachments)POST /api/notes/:noteId/revisions/:revisionId/restore—backend/src/routes/notes.ts(نقطة الربط/api/notes، المسار الفرعي/:noteId/revisions/:revisionId/restore)PUT /api/notes/:noteId—backend/src/routes/notes.ts(نقطة الربط/api/notes، المسار الفرعي/:noteId)
التقويم
DELETE /api/calendar/calendars/:calendarId—backend/src/routes/calendar.ts(نقطة الربط/api/calendar، المسار الفرعي/calendars/:calendarId)DELETE /api/calendar/events/:eventId—backend/src/routes/calendar.ts(نقطة الربط/api/calendar، المسار الفرعي/events/:eventId)GET /api/calendar/calendars—backend/src/routes/calendar.ts(نقطة الربط/api/calendar، المسار الفرعي/calendars)GET /api/calendar/events—backend/src/routes/calendar.ts(نقطة الربط/api/calendar، المسار الفرعي/events)GET /api/calendar/export—backend/src/routes/calendar.ts(نقطة الربط/api/calendar، المسار الفرعي/export)POST /api/calendar/calendars—backend/src/routes/calendar.ts(نقطة الربط/api/calendar، المسار الفرعي/calendars)POST /api/calendar/events—backend/src/routes/calendar.ts(نقطة الربط/api/calendar، المسار الفرعي/events)POST /api/calendar/import—backend/src/routes/calendar.ts(نقطة الربط/api/calendar، المسار الفرعي/import)PUT /api/calendar/calendars/:calendarId—backend/src/routes/calendar.ts(نقطة الربط/api/calendar، المسار الفرعي/calendars/:calendarId)PUT /api/calendar/events/:eventId—backend/src/routes/calendar.ts(نقطة الربط/api/calendar، المسار الفرعي/events/:eventId)
الأتمتة
DELETE /api/automations/:automationId—backend/src/routes/automations.ts(نقطة الربط/api/automations، المسار الفرعي/:automationId)DELETE /api/automations/:automationId/webhook-secret—backend/src/routes/automations.ts(نقطة الربط/api/automations، المسار الفرعي/:automationId/webhook-secret)GET /api/automations—backend/src/routes/automations.ts(نقطة الربط/api/automations، المسار الفرعي/)GET /api/automations/:automationId—backend/src/routes/automations.ts(نقطة الربط/api/automations، المسار الفرعي/:automationId)GET /api/automations/occurrences—backend/src/routes/automations.ts(نقطة الربط/api/automations، المسار الفرعي/occurrences)GET /api/automations/runs—backend/src/routes/automations.ts(نقطة الربط/api/automations، المسار الفرعي/runs)GET /api/automations/runs/summary—backend/src/routes/automations.ts(نقطة الربط/api/automations، المسار الفرعي/runs/summary)POST /api/automations—backend/src/routes/automations.ts(نقطة الربط/api/automations، المسار الفرعي/)POST /api/automations/:automationId/pause—backend/src/routes/automations.ts(نقطة الربط/api/automations، المسار الفرعي/:automationId/pause)POST /api/automations/:automationId/resume—backend/src/routes/automations.ts(نقطة الربط/api/automations، المسار الفرعي/:automationId/resume)POST /api/automations/:automationId/run—backend/src/routes/automations.ts(نقطة الربط/api/automations، المسار الفرعي/:automationId/run)POST /api/automations/:automationId/webhook—backend/src/routes/automations.ts(نقطة الربط/api/automations، المسار الفرعي/:automationId/webhook)POST /api/automations/:automationId/webhook-secret—backend/src/routes/automations.ts(نقطة الربط/api/automations، المسار الفرعي/:automationId/webhook-secret)POST /api/automations/runs/seen—backend/src/routes/automations.ts(نقطة الربط/api/automations، المسار الفرعي/runs/seen)PUT /api/automations/:automationId—backend/src/routes/automations.ts(نقطة الربط/api/automations، المسار الفرعي/:automationId)
القنوات
DELETE /api/channels/:channelId—backend/src/routes/channels.ts(نقطة الربط/api/channels، المسار الفرعي/:channelId)DELETE /api/channels/:channelId/members/:userId—backend/src/routes/channels.ts(نقطة الربط/api/channels، المسار الفرعي/:channelId/members/:userId)DELETE /api/channels/messages/:messageId—backend/src/routes/channels.ts(نقطة الربط/api/channels، المسار الفرعي/messages/:messageId)DELETE /api/channels/messages/:messageId/reactions/:emoji—backend/src/routes/channels.ts(نقطة الربط/api/channels، المسار الفرعي/messages/:messageId/reactions/:emoji)GET /api/channels—backend/src/routes/channels.ts(نقطة الربط/api/channels، المسار الفرعي/)GET /api/channels/:channelId—backend/src/routes/channels.ts(نقطة الربط/api/channels، المسار الفرعي/:channelId)GET /api/channels/:channelId/events—backend/src/routes/channels.ts(نقطة الربط/api/channels، المسار الفرعي/:channelId/events)GET /api/channels/:channelId/members—backend/src/routes/channels.ts(نقطة الربط/api/channels، المسار الفرعي/:channelId/members)GET /api/channels/:channelId/messages—backend/src/routes/channels.ts(نقطة الربط/api/channels، المسار الفرعي/:channelId/messages)GET /api/channels/:channelId/pins—backend/src/routes/channels.ts(نقطة الربط/api/channels، المسار الفرعي/:channelId/pins)GET /api/channels/attachments/:attachmentId—backend/src/routes/channels.ts(نقطة الربط/api/channels، المسار الفرعي/attachments/:attachmentId)GET /api/channels/messages/:messageId/thread—backend/src/routes/channels.ts(نقطة الربط/api/channels، المسار الفرعي/messages/:messageId/thread)GET /api/channels/public—backend/src/routes/channels.ts(نقطة الربط/api/channels، المسار الفرعي/public)PATCH /api/channels/:channelId—backend/src/routes/channels.ts(نقطة الربط/api/channels، المسار الفرعي/:channelId)PATCH /api/channels/messages/:messageId—backend/src/routes/channels.ts(نقطة الربط/api/channels، المسار الفرعي/messages/:messageId)POST /api/channels—backend/src/routes/channels.ts(نقطة الربط/api/channels، المسار الفرعي/)POST /api/channels/:channelId/attachments—backend/src/routes/channels.ts(نقطة الربط/api/channels، المسار الفرعي/:channelId/attachments)POST /api/channels/:channelId/join—backend/src/routes/channels.ts(نقطة الربط/api/channels، المسار الفرعي/:channelId/join)POST /api/channels/:channelId/members—backend/src/routes/channels.ts(نقطة الربط/api/channels، المسار الفرعي/:channelId/members)POST /api/channels/:channelId/messages—backend/src/routes/channels.ts(نقطة الربط/api/channels، المسار الفرعي/:channelId/messages)POST /api/channels/:channelId/read—backend/src/routes/channels.ts(نقطة الربط/api/channels، المسار الفرعي/:channelId/read)POST /api/channels/dm—backend/src/routes/channels.ts(نقطة الربط/api/channels، المسار الفرعي/dm)POST /api/channels/messages/:messageId/pin—backend/src/routes/channels.ts(نقطة الربط/api/channels، المسار الفرعي/messages/:messageId/pin)POST /api/channels/messages/:messageId/reactions—backend/src/routes/channels.ts(نقطة الربط/api/channels، المسار الفرعي/messages/:messageId/reactions)
الإشعارات
DELETE /api/notifications/:notificationId—backend/src/routes/notifications.ts(نقطة الربط/api/notifications، المسار الفرعي/:notificationId)DELETE /api/notifications/webhooks/:targetId—backend/src/routes/notifications.ts(نقطة الربط/api/notifications، المسار الفرعي/webhooks/:targetId)GET /api/notifications—backend/src/routes/notifications.ts(نقطة الربط/api/notifications، المسار الفرعي/)GET /api/notifications/events—backend/src/routes/notifications.ts(نقطة الربط/api/notifications، المسار الفرعي/events)GET /api/notifications/unread-count—backend/src/routes/notifications.ts(نقطة الربط/api/notifications، المسار الفرعي/unread-count)GET /api/notifications/webhooks—backend/src/routes/notifications.ts(نقطة الربط/api/notifications، المسار الفرعي/webhooks)POST /api/notifications/:notificationId/read—backend/src/routes/notifications.ts(نقطة الربط/api/notifications، المسار الفرعي/:notificationId/read)POST /api/notifications/read-all—backend/src/routes/notifications.ts(نقطة الربط/api/notifications، المسار الفرعي/read-all)POST /api/notifications/webhooks—backend/src/routes/notifications.ts(نقطة الربط/api/notifications، المسار الفرعي/webhooks)DELETE /api/push/subscriptions—backend/src/routes/push.ts(نقطة الربط/api/push، المسار الفرعي/subscriptions)GET /api/push/public-key—backend/src/routes/push.ts(نقطة الربط/api/push، المسار الفرعي/public-key)GET /api/push/subscriptions—backend/src/routes/push.ts(نقطة الربط/api/push، المسار الفرعي/subscriptions)POST /api/push/subscriptions—backend/src/routes/push.ts(نقطة الربط/api/push، المسار الفرعي/subscriptions)
مكتبة المطالبات
DELETE /api/prompts/:promptId—backend/src/routes/prompts.ts(نقطة الربط/api/prompts، المسار الفرعي/:promptId)GET /api/prompts—backend/src/routes/prompts.ts(نقطة الربط/api/prompts، المسار الفرعي/)GET /api/prompts/:promptId—backend/src/routes/prompts.ts(نقطة الربط/api/prompts، المسار الفرعي/:promptId)GET /api/prompts/:promptId/export—backend/src/routes/prompts.ts(نقطة الربط/api/prompts، المسار الفرعي/:promptId/export)GET /api/prompts/:promptId/versions—backend/src/routes/prompts.ts(نقطة الربط/api/prompts، المسار الفرعي/:promptId/versions)POST /api/prompts—backend/src/routes/prompts.ts(نقطة الربط/api/prompts، المسار الفرعي/)POST /api/prompts/:promptId/rollback—backend/src/routes/prompts.ts(نقطة الربط/api/prompts، المسار الفرعي/:promptId/rollback)POST /api/prompts/import—backend/src/routes/prompts.ts(نقطة الربط/api/prompts، المسار الفرعي/import)PUT /api/prompts/:promptId—backend/src/routes/prompts.ts(نقطة الربط/api/prompts، المسار الفرعي/:promptId)
المهارات
DELETE /api/skills/:skillId—backend/src/routes/skills.ts(نقطة الربط/api/skills، المسار الفرعي/:skillId)DELETE /api/skills/:skillId/files—backend/src/routes/skills.ts(نقطة الربط/api/skills، المسار الفرعي/:skillId/files)GET /api/skills—backend/src/routes/skills.ts(نقطة الربط/api/skills، المسار الفرعي/)GET /api/skills/:skillId—backend/src/routes/skills.ts(نقطة الربط/api/skills، المسار الفرعي/:skillId)GET /api/skills/:skillId/export—backend/src/routes/skills.ts(نقطة الربط/api/skills، المسار الفرعي/:skillId/export)GET /api/skills/:skillId/files—backend/src/routes/skills.ts(نقطة الربط/api/skills، المسار الفرعي/:skillId/files)GET /api/skills/:skillId/files/content—backend/src/routes/skills.ts(نقطة الربط/api/skills، المسار الفرعي/:skillId/files/content)GET /api/skills/:skillId/versions—backend/src/routes/skills.ts(نقطة الربط/api/skills، المسار الفرعي/:skillId/versions)POST /api/skills—backend/src/routes/skills.ts(نقطة الربط/api/skills، المسار الفرعي/)POST /api/skills/:skillId/rollback—backend/src/routes/skills.ts(نقطة الربط/api/skills، المسار الفرعي/:skillId/rollback)POST /api/skills/import—backend/src/routes/skills.ts(نقطة الربط/api/skills، المسار الفرعي/import)POST /api/skills/import-url—backend/src/routes/skills.ts(نقطة الربط/api/skills، المسار الفرعي/import-url)PUT /api/skills/:skillId—backend/src/routes/skills.ts(نقطة الربط/api/skills، المسار الفرعي/:skillId)PUT /api/skills/:skillId/files—backend/src/routes/skills.ts(نقطة الربط/api/skills، المسار الفرعي/:skillId/files)
أدوات المحادثة
DELETE /api/tools/approvals/:id—backend/src/routes/tools.ts(نقطة الربط/api/tools، المسار الفرعي/approvals/:id)DELETE /api/tools/servers/:id—backend/src/routes/tools.ts(نقطة الربط/api/tools، المسار الفرعي/servers/:id)DELETE /api/tools/servers/:id/credential—backend/src/routes/tools.ts(نقطة الربط/api/tools، المسار الفرعي/servers/:id/credential)GET /api/tools/access—backend/src/routes/tools.ts(نقطة الربط/api/tools، المسار الفرعي/access)GET /api/tools/approvals—backend/src/routes/tools.ts(نقطة الربط/api/tools، المسار الفرعي/approvals)GET /api/tools/catalog—backend/src/routes/tools.ts(نقطة الربط/api/tools، المسار الفرعي/catalog)GET /api/tools/servers—backend/src/routes/tools.ts(نقطة الربط/api/tools، المسار الفرعي/servers)GET /api/tools/servers/:id—backend/src/routes/tools.ts(نقطة الربط/api/tools، المسار الفرعي/servers/:id)POST /api/tools/approvals/:id—backend/src/routes/tools.ts(نقطة الربط/api/tools، المسار الفرعي/approvals/:id)POST /api/tools/servers—backend/src/routes/tools.ts(نقطة الربط/api/tools، المسار الفرعي/servers)POST /api/tools/servers/:id/refresh—backend/src/routes/tools.ts(نقطة الربط/api/tools، المسار الفرعي/servers/:id/refresh)PUT /api/tools/access—backend/src/routes/tools.ts(نقطة الربط/api/tools، المسار الفرعي/access)PUT /api/tools/servers/:id—backend/src/routes/tools.ts(نقطة الربط/api/tools، المسار الفرعي/servers/:id)PUT /api/tools/servers/:id/credential—backend/src/routes/tools.ts(نقطة الربط/api/tools، المسار الفرعي/servers/:id/credential)PUT /api/tools/servers/:id/tools/:toolName—backend/src/routes/tools.ts(نقطة الربط/api/tools، المسار الفرعي/servers/:id/tools/:toolName)
Work
DELETE /api/work/policies/:id—backend/src/routes/work.ts(نقطة الربط/api/work، المسار الفرعي/policies/:id)DELETE /api/work/tasks/:id—backend/src/routes/work.ts(نقطة الربط/api/work، المسار الفرعي/tasks/:id)DELETE /api/work/tasks/:id/approval-rules/:ruleId—backend/src/routes/work.ts(نقطة الربط/api/work، المسار الفرعي/tasks/:id/approval-rules/:ruleId)DELETE /api/work/tasks/:id/computer/control—backend/src/routes/work.ts(نقطة الربط/api/work، المسار الفرعي/tasks/:id/computer/control)GET /api/work/access—backend/src/routes/work.ts(نقطة الربط/api/work، المسار الفرعي/access)GET /api/work/admin/overview—backend/src/routes/work.ts(نقطة الربط/api/work، المسار الفرعي/admin/overview)GET /api/work/capabilities—backend/src/routes/work.ts(نقطة الربط/api/work، المسار الفرعي/capabilities)GET /api/work/computer/setup—backend/src/routes/work.ts(نقطة الربط/api/work، المسار الفرعي/computer/setup)GET /api/work/policies—backend/src/routes/work.ts(نقطة الربط/api/work، المسار الفرعي/policies)GET /api/work/tasks—backend/src/routes/work.ts(نقطة الربط/api/work، المسار الفرعي/tasks)GET /api/work/tasks/:id—backend/src/routes/work.ts(نقطة الربط/api/work، المسار الفرعي/tasks/:id)GET /api/work/tasks/:id/approvals—backend/src/routes/work.ts(نقطة الربط/api/work، المسار الفرعي/tasks/:id/approvals)GET /api/work/tasks/:id/computer/control—backend/src/routes/work.ts(نقطة الربط/api/work، المسار الفرعي/tasks/:id/computer/control)GET /api/work/tasks/:id/file—backend/src/routes/work.ts(نقطة الربط/api/work، المسار الفرعي/tasks/:id/file)GET /api/work/tasks/:id/files—backend/src/routes/work.ts(نقطة الربط/api/work، المسار الفرعي/tasks/:id/files)GET /api/work/tasks/:id/git—backend/src/routes/work.ts(نقطة الربط/api/work، المسار الفرعي/tasks/:id/git)GET /api/work/tasks/:id/git/diff—backend/src/routes/work.ts(نقطة الربط/api/work، المسار الفرعي/tasks/:id/git/diff)GET /api/work/tasks/:id/messages—backend/src/routes/work.ts(نقطة الربط/api/work، المسار الفرعي/tasks/:id/messages)GET /api/work/tasks/:taskId/runs/:runId/events—backend/src/routes/work.ts(نقطة الربط/api/work، المسار الفرعي/tasks/:taskId/runs/:runId/events)PATCH /api/work/tasks/:id—backend/src/routes/work.ts(نقطة الربط/api/work، المسار الفرعي/tasks/:id)POST /api/work/computer/setup—backend/src/routes/work.ts(نقطة الربط/api/work، المسار الفرعي/computer/setup)POST /api/work/computer/skills/:slug/trace—backend/src/routes/work.ts(نقطة الربط/api/work، المسار الفرعي/computer/skills/:slug/trace)POST /api/work/policies—backend/src/routes/work.ts(نقطة الربط/api/work، المسار الفرعي/policies)POST /api/work/tasks—backend/src/routes/work.ts(نقطة الربط/api/work، المسار الفرعي/tasks)POST /api/work/tasks/:id/approvals/:approvalId—backend/src/routes/work.ts(نقطة الربط/api/work، المسار الفرعي/tasks/:id/approvals/:approvalId)POST /api/work/tasks/:id/cancel—backend/src/routes/work.ts(نقطة الربط/api/work، المسار الفرعي/tasks/:id/cancel)POST /api/work/tasks/:id/computer/anchor—backend/src/routes/work.ts(نقطة الربط/api/work، المسار الفرعي/tasks/:id/computer/anchor)POST /api/work/tasks/:id/computer/control—backend/src/routes/work.ts(نقطة الربط/api/work، المسار الفرعي/tasks/:id/computer/control)POST /api/work/tasks/:id/computer/start—backend/src/routes/work.ts(نقطة الربط/api/work، المسار الفرعي/tasks/:id/computer/start)POST /api/work/tasks/:id/computer/teach—backend/src/routes/work.ts(نقطة الربط/api/work، المسار الفرعي/tasks/:id/computer/teach)POST /api/work/tasks/:id/git/branches—backend/src/routes/work.ts(نقطة الربط/api/work، المسار الفرعي/tasks/:id/git/branches)POST /api/work/tasks/:id/git/commit—backend/src/routes/work.ts(نقطة الربط/api/work، المسار الفرعي/tasks/:id/git/commit)POST /api/work/tasks/:id/git/init—backend/src/routes/work.ts(نقطة الربط/api/work، المسار الفرعي/tasks/:id/git/init)POST /api/work/tasks/:id/git/stage—backend/src/routes/work.ts(نقطة الربط/api/work، المسار الفرعي/tasks/:id/git/stage)POST /api/work/tasks/:id/git/switch—backend/src/routes/work.ts(نقطة الربط/api/work، المسار الفرعي/tasks/:id/git/switch)POST /api/work/tasks/:id/messages—backend/src/routes/work.ts(نقطة الربط/api/work، المسار الفرعي/tasks/:id/messages)POST /api/work/tasks/:id/preview/start—backend/src/routes/work.ts(نقطة الربط/api/work، المسار الفرعي/tasks/:id/preview/start)POST /api/work/tasks/:id/preview/stop—backend/src/routes/work.ts(نقطة الربط/api/work، المسار الفرعي/tasks/:id/preview/stop)POST /api/work/tasks/:id/runs—backend/src/routes/work.ts(نقطة الربط/api/work، المسار الفرعي/tasks/:id/runs)POST /api/work/tasks/:id/seen—backend/src/routes/work.ts(نقطة الربط/api/work، المسار الفرعي/tasks/:id/seen)PUT /api/work/access—backend/src/routes/work.ts(نقطة الربط/api/work، المسار الفرعي/access)PUT /api/work/policies/:id—backend/src/routes/work.ts(نقطة الربط/api/work، المسار الفرعي/policies/:id)PUT /api/work/tasks/:id/approvals—backend/src/routes/work.ts(نقطة الربط/api/work، المسار الفرعي/tasks/:id/approvals)PUT /api/work/tasks/:id/file—backend/src/routes/work.ts(نقطة الربط/api/work، المسار الفرعي/tasks/:id/file)
نماذج Agent CLI
GET /api/agent-clis/models—backend/src/routes/agentCli.ts(نقطة الربط/api/agent-clis، المسار الفرعي/models)
العناصر التفاعلية
GET /api/artifacts/sandbox—backend/src/routes/artifacts.ts(نقطة الربط/api/artifacts، المسار الفرعي/sandbox)
استخدام الموفّرين
DELETE /api/costs/budgets/:budgetId—backend/src/routes/costs.ts(نقطة الربط/api/costs، المسار الفرعي/budgets/:budgetId)DELETE /api/costs/tariffs/:tariffId—backend/src/routes/costs.ts(نقطة الربط/api/costs، المسار الفرعي/tariffs/:tariffId)GET /api/costs/analytics—backend/src/routes/costs.ts(نقطة الربط/api/costs، المسار الفرعي/analytics)GET /api/costs/budgets—backend/src/routes/costs.ts(نقطة الربط/api/costs، المسار الفرعي/budgets)GET /api/costs/export—backend/src/routes/costs.ts(نقطة الربط/api/costs، المسار الفرعي/export)GET /api/costs/tariffs—backend/src/routes/costs.ts(نقطة الربط/api/costs، المسار الفرعي/tariffs)POST /api/costs/budgets—backend/src/routes/costs.ts(نقطة الربط/api/costs، المسار الفرعي/budgets)POST /api/costs/tariffs—backend/src/routes/costs.ts(نقطة الربط/api/costs، المسار الفرعي/tariffs)PUT /api/costs/budgets/:budgetId—backend/src/routes/costs.ts(نقطة الربط/api/costs، المسار الفرعي/budgets/:budgetId)GET /api/plugins/usage—backend/src/routes/plugins.ts(نقطة الربط/api/plugins، المسار الفرعي/usage)
منصة التقييم
DELETE /api/evaluations/feedback/:messageId—backend/src/routes/evaluations.ts(نقطة الربط/api/evaluations، المسار الفرعي/feedback/:messageId)DELETE /api/evaluations/sets/:setId—backend/src/routes/evaluations.ts(نقطة الربط/api/evaluations، المسار الفرعي/sets/:setId)GET /api/evaluations/arena/leaderboard—backend/src/routes/evaluations.ts(نقطة الربط/api/evaluations، المسار الفرعي/arena/leaderboard)GET /api/evaluations/feedback—backend/src/routes/evaluations.ts(نقطة الربط/api/evaluations، المسار الفرعي/feedback)GET /api/evaluations/feedback/all—backend/src/routes/evaluations.ts(نقطة الربط/api/evaluations، المسار الفرعي/feedback/all)GET /api/evaluations/runs—backend/src/routes/evaluations.ts(نقطة الربط/api/evaluations، المسار الفرعي/runs)GET /api/evaluations/runs/:runId—backend/src/routes/evaluations.ts(نقطة الربط/api/evaluations، المسار الفرعي/runs/:runId)GET /api/evaluations/runs/:runId/export—backend/src/routes/evaluations.ts(نقطة الربط/api/evaluations، المسار الفرعي/runs/:runId/export)GET /api/evaluations/sets—backend/src/routes/evaluations.ts(نقطة الربط/api/evaluations، المسار الفرعي/sets)POST /api/evaluations/arena/matches—backend/src/routes/evaluations.ts(نقطة الربط/api/evaluations، المسار الفرعي/arena/matches)POST /api/evaluations/arena/votes—backend/src/routes/evaluations.ts(نقطة الربط/api/evaluations، المسار الفرعي/arena/votes)POST /api/evaluations/feedback—backend/src/routes/evaluations.ts(نقطة الربط/api/evaluations، المسار الفرعي/feedback)POST /api/evaluations/runs—backend/src/routes/evaluations.ts(نقطة الربط/api/evaluations، المسار الفرعي/runs)POST /api/evaluations/runs/:runId/cancel—backend/src/routes/evaluations.ts(نقطة الربط/api/evaluations، المسار الفرعي/runs/:runId/cancel)POST /api/evaluations/sets—backend/src/routes/evaluations.ts(نقطة الربط/api/evaluations، المسار الفرعي/sets)PUT /api/evaluations/sets/:setId—backend/src/routes/evaluations.ts(نقطة الربط/api/evaluations، المسار الفرعي/sets/:setId)
تشخيصات النظام
GET /health—backend/src/routes/health.ts(نقطة الربط/health، المسار الفرعي/)GET /health/deep—backend/src/routes/health.ts(نقطة الربط/health، المسار الفرعي/deep)GET /health/live—backend/src/routes/health.ts(نقطة الربط/health، المسار الفرعي/live)GET /health/ready—backend/src/routes/health.ts(نقطة الربط/health، المسار الفرعي/ready)GET /api/system—backend/src/routes/systemDiagnostics.ts(نقطة الربط/api/system، المسار الفرعي/)
إدارة المستخدمين
DELETE /api/users/:id—backend/src/routes/users.ts(نقطة الربط/api/users، المسار الفرعي/:id)GET /api/users—backend/src/routes/users.ts(نقطة الربط/api/users، المسار الفرعي/)GET /api/users/pending-approvals—backend/src/routes/users.ts(نقطة الربط/api/users، المسار الفرعي/pending-approvals)PATCH /api/users/:id—backend/src/routes/users.ts(نقطة الربط/api/users، المسار الفرعي/:id)PATCH /api/users/:id/approve—backend/src/routes/users.ts(نقطة الربط/api/users، المسار الفرعي/:id/approve)PATCH /api/users/me/avatar—backend/src/routes/users.ts(نقطة الربط/api/users، المسار الفرعي/me/avatar)POST /api/users—backend/src/routes/users.ts(نقطة الربط/api/users، المسار الفرعي/)POST /api/users/:id/mfa/reset—backend/src/routes/users.ts(نقطة الربط/api/users، المسار الفرعي/:id/mfa/reset)
المصادقة
DELETE /api/auth/passkeys/:id—backend/src/routes/auth.ts(نقطة الربط/api/auth، المسار الفرعي/passkeys/:id)DELETE /api/auth/sessions/:id—backend/src/routes/auth.ts(نقطة الربط/api/auth، المسار الفرعي/sessions/:id)DELETE /api/auth/tokens/:id—backend/src/routes/auth.ts(نقطة الربط/api/auth، المسار الفرعي/tokens/:id)GET /api/auth/encryption-key—backend/src/routes/auth.ts(نقطة الربط/api/auth، المسار الفرعي/encryption-key)GET /api/auth/me—backend/src/routes/auth.ts(نقطة الربط/api/auth، المسار الفرعي/me)GET /api/auth/mfa—backend/src/routes/auth.ts(نقطة الربط/api/auth، المسار الفرعي/mfa)GET /api/auth/mfa/policy—backend/src/routes/auth.ts(نقطة الربط/api/auth، المسار الفرعي/mfa/policy)GET /api/auth/oauth/github—backend/src/routes/auth.ts(نقطة الربط/api/auth، المسار الفرعي/oauth/github)GET /api/auth/oauth/github/callback—backend/src/routes/auth.ts(نقطة الربط/api/auth، المسار الفرعي/oauth/github/callback)GET /api/auth/oauth/github/status—backend/src/routes/auth.ts(نقطة الربط/api/auth، المسار الفرعي/oauth/github/status)GET /api/auth/oauth/huggingface—backend/src/routes/auth.ts(نقطة الربط/api/auth، المسار الفرعي/oauth/huggingface)GET /api/auth/oauth/huggingface/callback—backend/src/routes/auth.ts(نقطة الربط/api/auth، المسار الفرعي/oauth/huggingface/callback)GET /api/auth/oauth/huggingface/status—backend/src/routes/auth.ts(نقطة الربط/api/auth، المسار الفرعي/oauth/huggingface/status)GET /api/auth/oauth/oidc—backend/src/routes/auth.ts(نقطة الربط/api/auth، المسار الفرعي/oauth/oidc)GET /api/auth/oauth/oidc/callback—backend/src/routes/auth.ts(نقطة الربط/api/auth، المسار الفرعي/oauth/oidc/callback)GET /api/auth/oauth/oidc/status—backend/src/routes/auth.ts(نقطة الربط/api/auth، المسار الفرعي/oauth/oidc/status)GET /api/auth/passkeys—backend/src/routes/auth.ts(نقطة الربط/api/auth، المسار الفرعي/passkeys)GET /api/auth/sessions—backend/src/routes/auth.ts(نقطة الربط/api/auth، المسار الفرعي/sessions)GET /api/auth/system-info—backend/src/routes/auth.ts(نقطة الربط/api/auth، المسار الفرعي/system-info)GET /api/auth/tokens—backend/src/routes/auth.ts(نقطة الربط/api/auth، المسار الفرعي/tokens)GET /api/auth/verify—backend/src/routes/auth.ts(نقطة الربط/api/auth، المسار الفرعي/verify)POST /api/auth/login—backend/src/routes/auth.ts(نقطة الربط/api/auth، المسار الفرعي/login)POST /api/auth/logout—backend/src/routes/auth.ts(نقطة الربط/api/auth، المسار الفرعي/logout)POST /api/auth/mfa/activate—backend/src/routes/auth.ts(نقطة الربط/api/auth، المسار الفرعي/mfa/activate)POST /api/auth/mfa/activate-challenge—backend/src/routes/auth.ts(نقطة الربط/api/auth، المسار الفرعي/mfa/activate-challenge)POST /api/auth/mfa/disable—backend/src/routes/auth.ts(نقطة الربط/api/auth، المسار الفرعي/mfa/disable)POST /api/auth/mfa/enroll—backend/src/routes/auth.ts(نقطة الربط/api/auth، المسار الفرعي/mfa/enroll)POST /api/auth/mfa/enroll-challenge—backend/src/routes/auth.ts(نقطة الربط/api/auth، المسار الفرعي/mfa/enroll-challenge)POST /api/auth/mfa/recovery-codes—backend/src/routes/auth.ts(نقطة الربط/api/auth، المسار الفرعي/mfa/recovery-codes)POST /api/auth/mfa/verify—backend/src/routes/auth.ts(نقطة الربط/api/auth، المسار الفرعي/mfa/verify)POST /api/auth/oauth/exchange—backend/src/routes/auth.ts(نقطة الربط/api/auth، المسار الفرعي/oauth/exchange)POST /api/auth/passkeys/login—backend/src/routes/auth.ts(نقطة الربط/api/auth، المسار الفرعي/passkeys/login)POST /api/auth/passkeys/login-options—backend/src/routes/auth.ts(نقطة الربط/api/auth، المسار الفرعي/passkeys/login-options)POST /api/auth/passkeys/register—backend/src/routes/auth.ts(نقطة الربط/api/auth، المسار الفرعي/passkeys/register)POST /api/auth/passkeys/register-options—backend/src/routes/auth.ts(نقطة الربط/api/auth، المسار الفرعي/passkeys/register-options)POST /api/auth/sessions/revoke-others—backend/src/routes/auth.ts(نقطة الربط/api/auth، المسار الفرعي/sessions/revoke-others)POST /api/auth/signup—backend/src/routes/auth.ts(نقطة الربط/api/auth، المسار الفرعي/signup)POST /api/auth/tokens—backend/src/routes/auth.ts(نقطة الربط/api/auth، المسار الفرعي/tokens)POST /api/auth/websocket-ticket—backend/src/routes/auth.ts(نقطة الربط/api/auth، المسار الفرعي/websocket-ticket)PUT /api/auth/mfa/policy—backend/src/routes/auth.ts(نقطة الربط/api/auth، المسار الفرعي/mfa/policy)
التحكم في الوصول
DELETE /api/access/grants/:id—backend/src/routes/access.ts(نقطة الربط/api/access، المسار الفرعي/grants/:id)GET /api/access/grants—backend/src/routes/access.ts(نقطة الربط/api/access، المسار الفرعي/grants)GET /api/access/principals—backend/src/routes/access.ts(نقطة الربط/api/access، المسار الفرعي/principals)GET /api/access/principals/groups—backend/src/routes/access.ts(نقطة الربط/api/access، المسار الفرعي/principals/groups)GET /api/access/shared-with-me—backend/src/routes/access.ts(نقطة الربط/api/access، المسار الفرعي/shared-with-me)POST /api/access/grants—backend/src/routes/access.ts(نقطة الربط/api/access، المسار الفرعي/grants)GET /api/audit—backend/src/routes/audit.ts(نقطة الربط/api/audit، المسار الفرعي/)DELETE /api/groups/:id—backend/src/routes/groups.ts(نقطة الربط/api/groups، المسار الفرعي/:id)DELETE /api/groups/:id/members/:userId—backend/src/routes/groups.ts(نقطة الربط/api/groups، المسار الفرعي/:id/members/:userId)GET /api/groups—backend/src/routes/groups.ts(نقطة الربط/api/groups، المسار الفرعي/)GET /api/groups/effective/:userId—backend/src/routes/groups.ts(نقطة الربط/api/groups، المسار الفرعي/effective/:userId)PATCH /api/groups/:id—backend/src/routes/groups.ts(نقطة الربط/api/groups، المسار الفرعي/:id)POST /api/groups—backend/src/routes/groups.ts(نقطة الربط/api/groups، المسار الفرعي/)POST /api/groups/:id/members—backend/src/routes/groups.ts(نقطة الربط/api/groups، المسار الفرعي/:id/members)
واجهة API العامة
GET /v1/models—backend/src/routes/openaiCompat.ts(نقطة الربط/v1، المسار الفرعي/models)POST /v1/chat/completions—backend/src/routes/openaiCompat.ts(نقطة الربط/v1، المسار الفرعي/chat/completions)
قابلية نقل البيانات
GET /api/preferences/export—backend/src/routes/preferences.ts(نقطة الربط/api/preferences، المسار الفرعي/export)POST /api/preferences/import—backend/src/routes/preferences.ts(نقطة الربط/api/preferences، المسار الفرعي/import)POST /api/preferences/import/preflight—backend/src/routes/preferences.ts(نقطة الربط/api/preferences، المسار الفرعي/import/preflight)
معرفة المستندات واسترجاعها
DELETE /api/documents/:documentId—backend/src/routes/documents.ts(نقطة الربط/api/documents، المسار الفرعي/:documentId)DELETE /api/documents/collections/:collectionId—backend/src/routes/documents.ts(نقطة الربط/api/documents، المسار الفرعي/collections/:collectionId)GET /api/documents—backend/src/routes/documents.ts(نقطة الربط/api/documents، المسار الفرعي/)GET /api/documents/:documentId—backend/src/routes/documents.ts(نقطة الربط/api/documents، المسار الفرعي/:documentId)GET /api/documents/:documentId/source—backend/src/routes/documents.ts(نقطة الربط/api/documents، المسار الفرعي/:documentId/source)GET /api/documents/collections—backend/src/routes/documents.ts(نقطة الربط/api/documents، المسار الفرعي/collections)GET /api/documents/embeddings/status—backend/src/routes/documents.ts(نقطة الربط/api/documents، المسار الفرعي/embeddings/status)GET /api/documents/session/:sessionId—backend/src/routes/documents.ts(نقطة الربط/api/documents، المسار الفرعي/session/:sessionId)POST /api/documents/collections—backend/src/routes/documents.ts(نقطة الربط/api/documents، المسار الفرعي/collections)POST /api/documents/embeddings/regenerate—backend/src/routes/documents.ts(نقطة الربط/api/documents، المسار الفرعي/embeddings/regenerate)POST /api/documents/fetch-url—backend/src/routes/documents.ts(نقطة الربط/api/documents، المسار الفرعي/fetch-url)POST /api/documents/search—backend/src/routes/documents.ts(نقطة الربط/api/documents، المسار الفرعي/search)POST /api/documents/upload—backend/src/routes/documents.ts(نقطة الربط/api/documents، المسار الفرعي/upload)PUT /api/documents/:documentId/collection—backend/src/routes/documents.ts(نقطة الربط/api/documents، المسار الفرعي/:documentId/collection)GET /api/embeddings/models—backend/src/routes/embeddings.ts(نقطة الربط/api/embeddings، المسار الفرعي/models)
ذاكرة الشخصيات
DELETE /api/personas/:id/memory—backend/src/routes/personas.ts(نقطة الربط/api/personas، المسار الفرعي/:id/memory)GET /api/personas/:id/memory/core—backend/src/routes/personas.ts(نقطة الربط/api/personas، المسار الفرعي/:id/memory/core)GET /api/personas/:id/memory/stats—backend/src/routes/personas.ts(نقطة الربط/api/personas، المسار الفرعي/:id/memory/stats)GET /api/personas/:id/memory/status—backend/src/routes/personas.ts(نقطة الربط/api/personas، المسار الفرعي/:id/memory/status)POST /api/personas/:id/memory/consolidate—backend/src/routes/personas.ts(نقطة الربط/api/personas، المسار الفرعي/:id/memory/consolidate)POST /api/personas/:id/memory/decay—backend/src/routes/personas.ts(نقطة الربط/api/personas، المسار الفرعي/:id/memory/decay)
البحث على الويب
GET /api/search/access—backend/src/routes/search.ts(نقطة الربط/api/search، المسار الفرعي/access)GET /api/search/app—backend/src/routes/search.ts(نقطة الربط/api/search، المسار الفرعي/app)GET /api/search/config—backend/src/routes/search.ts(نقطة الربط/api/search، المسار الفرعي/config)POST /api/search/test—backend/src/routes/search.ts(نقطة الربط/api/search، المسار الفرعي/test)PUT /api/search/access—backend/src/routes/search.ts(نقطة الربط/api/search، المسار الفرعي/access)PUT /api/search/config—backend/src/routes/search.ts(نقطة الربط/api/search، المسار الفرعي/config)
الإعدادات والتفضيلات
GET /api/preferences—backend/src/routes/preferences.ts(نقطة الربط/api/preferences، المسار الفرعي/)GET /api/preferences/default-theme—backend/src/routes/preferences.ts(نقطة الربط/api/preferences، المسار الفرعي/default-theme)POST /api/preferences/embedding-settings/reset—backend/src/routes/preferences.ts(نقطة الربط/api/preferences، المسار الفرعي/embedding-settings/reset)POST /api/preferences/generation-options/reset—backend/src/routes/preferences.ts(نقطة الربط/api/preferences، المسار الفرعي/generation-options/reset)PUT /api/preferences—backend/src/routes/preferences.ts(نقطة الربط/api/preferences، المسار الفرعي/)PUT /api/preferences/default-model—backend/src/routes/preferences.ts(نقطة الربط/api/preferences، المسار الفرعي/default-model)PUT /api/preferences/default-theme—backend/src/routes/preferences.ts(نقطة الربط/api/preferences، المسار الفرعي/default-theme)PUT /api/preferences/embedding-settings—backend/src/routes/preferences.ts(نقطة الربط/api/preferences، المسار الفرعي/embedding-settings)PUT /api/preferences/generation-options—backend/src/routes/preferences.ts(نقطة الربط/api/preferences، المسار الفرعي/generation-options)PUT /api/preferences/model-generation-options—backend/src/routes/preferences.ts(نقطة الربط/api/preferences، المسار الفرعي/model-generation-options)PUT /api/preferences/system-message—backend/src/routes/preferences.ts(نقطة الربط/api/preferences، المسار الفرعي/system-message)
إدخال الكلام وإخراجه
GET /api/stt/models—backend/src/routes/stt.ts(نقطة الربط/api/stt، المسار الفرعي/models)POST /api/stt/transcribe—backend/src/routes/stt.ts(نقطة الربط/api/stt، المسار الفرعي/transcribe)DELETE /api/tts/voice-profiles/:profileId—backend/src/routes/tts.ts(نقطة الربط/api/tts، المسار الفرعي/voice-profiles/:profileId)GET /api/tts/models—backend/src/routes/tts.ts(نقطة الربط/api/tts، المسار الفرعي/models)GET /api/tts/plugins—backend/src/routes/tts.ts(نقطة الربط/api/tts، المسار الفرعي/plugins)GET /api/tts/voice-profiles—backend/src/routes/tts.ts(نقطة الربط/api/tts، المسار الفرعي/voice-profiles)GET /api/tts/voices/:pluginId—backend/src/routes/tts.ts(نقطة الربط/api/tts، المسار الفرعي/voices/:pluginId)POST /api/tts/generate—backend/src/routes/tts.ts(نقطة الربط/api/tts، المسار الفرعي/generate)POST /api/tts/generate-base64—backend/src/routes/tts.ts(نقطة الربط/api/tts، المسار الفرعي/generate-base64)POST /api/tts/voice-clone—backend/src/routes/tts.ts(نقطة الربط/api/tts، المسار الفرعي/voice-clone)POST /api/tts/voice-profiles/:profileId/revoke—backend/src/routes/tts.ts(نقطة الربط/api/tts، المسار الفرعي/voice-profiles/:profileId/revoke)GET /api/voice-access—backend/src/routes/voiceAccess.ts(نقطة الربط/api/voice-access، المسار الفرعي/)PUT /api/voice-access/:feature—backend/src/routes/voiceAccess.ts(نقطة الربط/api/voice-access، المسار الفرعي/:feature)
Hugging Face Hub
GET /api/huggingface-hub/models—backend/src/routes/huggingfaceHub.ts(نقطة الربط/api/huggingface-hub، المسار الفرعي/models)GET /api/huggingface-hub/models/:author/:modelName—backend/src/routes/huggingfaceHub.ts(نقطة الربط/api/huggingface-hub، المسار الفرعي/models/:author/:modelName)GET /api/huggingface-hub/models/:author/:modelName/gguf—backend/src/routes/huggingfaceHub.ts(نقطة الربط/api/huggingface-hub، المسار الفرعي/models/:author/:modelName/gguf)GET /api/huggingface-hub/models/:author/:modelName/has-gguf—backend/src/routes/huggingfaceHub.ts(نقطة الربط/api/huggingface-hub، المسار الفرعي/models/:author/:modelName/has-gguf)GET /api/huggingface-hub/tasks—backend/src/routes/huggingfaceHub.ts(نقطة الربط/api/huggingface-hub، المسار الفرعي/tasks)GET /api/huggingface-hub/trending—backend/src/routes/huggingfaceHub.ts(نقطة الربط/api/huggingface-hub، المسار الفرعي/trending)POST /api/huggingface-hub/cache/clear—backend/src/routes/huggingfaceHub.ts(نقطة الربط/api/huggingface-hub، المسار الفرعي/cache/clear)
Libre Claw
DELETE /api/libre-claw/automations/:automationId—backend/src/routes/libreClaw.ts(نقطة الربط/api/libre-claw، المسار الفرعي/automations/:automationId)GET /api/libre-claw/access—backend/src/routes/libreClaw.ts(نقطة الربط/api/libre-claw، المسار الفرعي/access)GET /api/libre-claw/automations—backend/src/routes/libreClaw.ts(نقطة الربط/api/libre-claw، المسار الفرعي/automations)GET /api/libre-claw/automations/:automationId—backend/src/routes/libreClaw.ts(نقطة الربط/api/libre-claw، المسار الفرعي/automations/:automationId)GET /api/libre-claw/config/fallback—backend/src/routes/libreClaw.ts(نقطة الربط/api/libre-claw، المسار الفرعي/config/fallback)GET /api/libre-claw/config/model—backend/src/routes/libreClaw.ts(نقطة الربط/api/libre-claw، المسار الفرعي/config/model)GET /api/libre-claw/dashboard—backend/src/routes/libreClaw.ts(نقطة الربط/api/libre-claw، المسار الفرعي/dashboard)GET /api/libre-claw/health—backend/src/routes/libreClaw.ts(نقطة الربط/api/libre-claw، المسار الفرعي/health)GET /api/libre-claw/runs—backend/src/routes/libreClaw.ts(نقطة الربط/api/libre-claw، المسار الفرعي/runs)GET /api/libre-claw/runs/:runId—backend/src/routes/libreClaw.ts(نقطة الربط/api/libre-claw، المسار الفرعي/runs/:runId)GET /api/libre-claw/runs/:runId/events—backend/src/routes/libreClaw.ts(نقطة الربط/api/libre-claw، المسار الفرعي/runs/:runId/events)GET /api/libre-claw/status—backend/src/routes/libreClaw.ts(نقطة الربط/api/libre-claw، المسار الفرعي/status)GET /api/libre-claw/usage—backend/src/routes/libreClaw.ts(نقطة الربط/api/libre-claw، المسار الفرعي/usage)PATCH /api/libre-claw/automations/:automationId—backend/src/routes/libreClaw.ts(نقطة الربط/api/libre-claw، المسار الفرعي/automations/:automationId)PATCH /api/libre-claw/config/fallback—backend/src/routes/libreClaw.ts(نقطة الربط/api/libre-claw، المسار الفرعي/config/fallback)PATCH /api/libre-claw/config/model—backend/src/routes/libreClaw.ts(نقطة الربط/api/libre-claw، المسار الفرعي/config/model)PATCH /api/libre-claw/config/theme—backend/src/routes/libreClaw.ts(نقطة الربط/api/libre-claw، المسار الفرعي/config/theme)POST /api/libre-claw/automations—backend/src/routes/libreClaw.ts(نقطة الربط/api/libre-claw، المسار الفرعي/automations)POST /api/libre-claw/automations/:automationId/pause—backend/src/routes/libreClaw.ts(نقطة الربط/api/libre-claw، المسار الفرعي/automations/:automationId/pause)POST /api/libre-claw/automations/:automationId/resume—backend/src/routes/libreClaw.ts(نقطة الربط/api/libre-claw، المسار الفرعي/automations/:automationId/resume)POST /api/libre-claw/automations/:automationId/run—backend/src/routes/libreClaw.ts(نقطة الربط/api/libre-claw، المسار الفرعي/automations/:automationId/run)POST /api/libre-claw/runs—backend/src/routes/libreClaw.ts(نقطة الربط/api/libre-claw، المسار الفرعي/runs)POST /api/libre-claw/runs/:runId/cancel—backend/src/routes/libreClaw.ts(نقطة الربط/api/libre-claw، المسار الفرعي/runs/:runId/cancel)POST /api/libre-claw/runs/:runId/permissions/:toolCallId—backend/src/routes/libreClaw.ts(نقطة الربط/api/libre-claw، المسار الفرعي/runs/:runId/permissions/:toolCallId)PUT /api/libre-claw/access—backend/src/routes/libreClaw.ts(نقطة الربط/api/libre-claw، المسار الفرعي/access)PUT /api/libre-claw/automations/:automationId—backend/src/routes/libreClaw.ts(نقطة الربط/api/libre-claw، المسار الفرعي/automations/:automationId)
المهام والأحداث الدائمة
GET /api/jobs—backend/src/routes/jobs.ts(نقطة الربط/api/jobs، المسار الفرعي/)GET /api/jobs/:jobId—backend/src/routes/jobs.ts(نقطة الربط/api/jobs، المسار الفرعي/:jobId)GET /api/jobs/:jobId/events—backend/src/routes/jobs.ts(نقطة الربط/api/jobs، المسار الفرعي/:jobId/events)POST /api/jobs/:jobId/cancel—backend/src/routes/jobs.ts(نقطة الربط/api/jobs، المسار الفرعي/:jobId/cancel)
ملفات نشر solo وteam
لا توجد نقطة نهاية Express مركّبة. الحد القابل للتنفيذ هو الواجهة و/أو دليل المصدر المسجل أعلاه.
الاستعادة والنسخ الاحتياطي
GET /api/recovery/drills—backend/src/routes/recovery.ts(نقطة الربط/api/recovery، المسار الفرعي/drills)POST /api/recovery/drills/run—backend/src/routes/recovery.ts(نقطة الربط/api/recovery، المسار الفرعي/drills/run)
الحصر الدقيق لمسارات WebSocket
WEBSOCKET /ws— Chat,backend/src/websocketServer.ts؛ دليل المصادقة:backend/src/websocketServer.ts,scripts/test-websocket-tickets.mjsWEBSOCKET /ws/work-terminal— Work,backend/src/websocketServer.ts؛ دليل المصادقة:backend/src/workTerminalServer.ts,scripts/test-websocket-tickets.mjsWEBSOCKET /ws/work-screen— Work,backend/src/websocketServer.ts؛ دليل المصادقة:backend/src/workScreenServer.tsWEBSOCKET /ws/work-audio— Work,backend/src/websocketServer.ts؛ دليل المصادقة:backend/src/workScreenServer.ts
حد الإنفاذ
تحلل بوابة الحزمة مصدر TypeScript/JavaScript، وتحل كل موجّه Express مستورد إلى نقطة ربطه الحرفية في التطبيق، وتطابق واحدًا بواحد كل إعلان حرفي لطريقة أو مسار في الموجّه واسم مسار ترقية WebSocket مع هذا الحصر. تفشل عند وجود ملف مسارات غير مركّب، أو باني router.route() غير مدعوم، أو مسار ديناميكي، أو مالك نقطة نهاية مفقود أو مكرر، أو دليل مصادقة WebSocket مفقود، أو مسار واجهة متغير، أو غياب انطباق schema أو manifest أو القيم الافتراضية، أو دليل قديم، أو مستند مولّد قديم.
يقتصر دليل الاختبار المركز على إعلان test(...) مسمى ودقيق واحد ونمطَي سلوك على الأقل داخل جسم الاختبار. يجب أن تكون اختبارات الخادم الخلفي وسائط ملفات دقيقة لـ test:package؛ ويجب أن تطابق مواصفات Playwright الاكتشاف العادي. وتثبت البوابة أيضًا أن المشغّلين يعملان في سير Format & Lint العادي لـ Pull Request وفرعي dev/main.