Καθολικές συμβάσεις δυνατοτήτων
Το εκτελέσιμο απόθεμα καλύπτει κάθε ρητό page route στο frontend/src/App.tsx, κάθε κυριολεκτική δήλωση method/path στους Express routers backend/src/routes/*.ts και κάθε WebSocket upgrade pathname στο backend/src/websocketServer.ts. Κάθε endpoint έχει έναν ιδιοκτήτη και κάθε WebSocket endpoint αποδεικτικό πιστοποίησης. Κάθε δυνατότητα δηλώνει επίσης applicability schema, manifest και defaults, με πηγή ή συγκεκριμένο λόγο μη εφαρμογής, τεκμηρίωση και ονομασμένο behavioral test στο κανονικό CI.
Οι εκτελέσιμες λεπτομέρειες παρόχων συνεχίζουν να διέπονται από scripts/capability-contracts.json και scripts/test-capability-contracts.mjs· το απόθεμα συνδέεται στη σύμβαση αντί να διπλασιάζει κανόνες manifest/default.
| Δυνατότητα | Routes UI | HTTP endpoints | WebSocket endpoints | Schemas | Manifests | Defaults | Documentation | Named behavioral tests |
|---|---|---|---|---|---|---|---|---|
| Home | / | 0 | 0 | Δεν εφαρμόζεται — Το Home είναι επιφάνεια πλοήγησης χωρίς ανεξάρτητο payload. | Δεν εφαρμόζεται — Το Home είναι ενσωματωμένο και δεν ανακαλύπτεται μέσω 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 | /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 | Δεν εφαρμόζεται — Οι περσόνες είναι πόροι λογαριασμού χωρίς 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) |
| Βιβλιοθήκη prompts | — | 9 | 0 | backend/src/services/promptService.ts | Δεν εφαρμόζεται — Τα prompts είναι πόροι· η φορητή μορφή είναι libre-prompt.v1, όχι manifest. | Δεν εφαρμόζεται — Το prompt δεν έχει έμμεσο περιεχόμενο και το 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. | 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) |
| Chat Tools | — | 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 adapters είναι ενσωματωμένοι ορισμοί. | 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 | /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 | Δεν εφαρμόζεται — Τα analytics καταναλώνουν events χωρίς δικό τους 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 | Δεν εφαρμόζεται — Οι αξιολογήσεις είναι πόροι λογαριασμού χωρίς 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/approval policy. | 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 | Δεν εφαρμόζεται — Ο έλεγχος πρόσβασης είναι ενσωματωμένο όριο. | 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-compatible επιφάνεια καθρεφτίζει εξωτερικό wire format. | Δεν εφαρμόζεται — Τα sampling defaults προέρχονται από αίτημα και μοντέλο. | 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) |
| Αναζήτηση web | — | 6 | 0 | backend/src/services/webSearchService.ts | Δεν εφαρμόζεται — Η web search χρησιμοποιεί ρυθμίσεις διαχειριστή. | 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 | Δεν εφαρμόζεται — Τα Settings συγκεντρώνουν ρυθμίσεις χωρίς ξεχωριστό 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 | Δεν εφαρμόζεται — Τα metadata Hub είναι remote API data χωρίς τοπικό 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 είναι ρητή ενσωμάτωση υπηρεσίας χωρίς provider manifest. | 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) |
| Durable jobs και events | — | 4 | 0 | backend/src/platform/jobs/durableJobTypes.ts | Δεν εφαρμόζεται — Τα durable jobs χρησιμοποιούν handlers και payload contracts. | 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) |
| Ανάκτηση και backup | — | 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) |
Ακριβές απόθεμα routes backend
Home
Δεν υπάρχει mounted Express endpoint. Το εκτελέσιμο όριο είναι το UI ή η παραπάνω πηγή.
Chat
DELETE /api/chat/folders/:folderId—backend/src/routes/chat.ts(mount στο/api/chat, υποδιαδρομή/folders/:folderId)DELETE /api/chat/sessions—backend/src/routes/chat.ts(mount στο/api/chat, υποδιαδρομή/sessions)DELETE /api/chat/sessions/:sessionId—backend/src/routes/chat.ts(mount στο/api/chat, υποδιαδρομή/sessions/:sessionId)DELETE /api/chat/sessions/:sessionId/queue/:entryId—backend/src/routes/chat.ts(mount στο/api/chat, υποδιαδρομή/sessions/:sessionId/queue/:entryId)GET /api/chat/compaction-config—backend/src/routes/chat.ts(mount στο/api/chat, υποδιαδρομή/compaction-config)GET /api/chat/context-policy—backend/src/routes/chat.ts(mount στο/api/chat, υποδιαδρομή/context-policy)GET /api/chat/folders—backend/src/routes/chat.ts(mount στο/api/chat, υποδιαδρομή/folders)GET /api/chat/sessions—backend/src/routes/chat.ts(mount στο/api/chat, υποδιαδρομή/sessions)GET /api/chat/sessions/:sessionId—backend/src/routes/chat.ts(mount στο/api/chat, υποδιαδρομή/sessions/:sessionId)GET /api/chat/sessions/:sessionId/events—backend/src/routes/chat.ts(mount στο/api/chat, υποδιαδρομή/sessions/:sessionId/events)GET /api/chat/sessions/:sessionId/messages/:messageId/branches—backend/src/routes/chat.ts(mount στο/api/chat, υποδιαδρομή/sessions/:sessionId/messages/:messageId/branches)POST /api/chat/folders—backend/src/routes/chat.ts(mount στο/api/chat, υποδιαδρομή/folders)POST /api/chat/sessions—backend/src/routes/chat.ts(mount στο/api/chat, υποδιαδρομή/sessions)POST /api/chat/sessions/:sessionId/compaction/:messageId/restore—backend/src/routes/chat.ts(mount στο/api/chat, υποδιαδρομή/sessions/:sessionId/compaction/:messageId/restore)POST /api/chat/sessions/:sessionId/followups—backend/src/routes/chat.ts(mount στο/api/chat, υποδιαδρομή/sessions/:sessionId/followups)POST /api/chat/sessions/:sessionId/fork—backend/src/routes/chat.ts(mount στο/api/chat, υποδιαδρομή/sessions/:sessionId/fork)POST /api/chat/sessions/:sessionId/generate—backend/src/routes/chat.ts(mount στο/api/chat, υποδιαδρομή/sessions/:sessionId/generate)POST /api/chat/sessions/:sessionId/generate-title—backend/src/routes/chat.ts(mount στο/api/chat, υποδιαδρομή/sessions/:sessionId/generate-title)POST /api/chat/sessions/:sessionId/generate/stream—backend/src/routes/chat.ts(mount στο/api/chat, υποδιαδρομή/sessions/:sessionId/generate/stream)POST /api/chat/sessions/:sessionId/generations—backend/src/routes/chat.ts(mount στο/api/chat, υποδιαδρομή/sessions/:sessionId/generations)POST /api/chat/sessions/:sessionId/generations/:assistantMessageId/cancel—backend/src/routes/chat.ts(mount στο/api/chat, υποδιαδρομή/sessions/:sessionId/generations/:assistantMessageId/cancel)POST /api/chat/sessions/:sessionId/messages—backend/src/routes/chat.ts(mount στο/api/chat, υποδιαδρομή/sessions/:sessionId/messages)POST /api/chat/sessions/:sessionId/messages/:messageId/branch—backend/src/routes/chat.ts(mount στο/api/chat, υποδιαδρομή/sessions/:sessionId/messages/:messageId/branch)POST /api/chat/sessions/:sessionId/messages/:messageId/branches—backend/src/routes/chat.ts(mount στο/api/chat, υποδιαδρομή/sessions/:sessionId/messages/:messageId/branches)POST /api/chat/sessions/:sessionId/messages/:messageId/truncate—backend/src/routes/chat.ts(mount στο/api/chat, υποδιαδρομή/sessions/:sessionId/messages/:messageId/truncate)POST /api/chat/sessions/:sessionId/queue—backend/src/routes/chat.ts(mount στο/api/chat, υποδιαδρομή/sessions/:sessionId/queue)PUT /api/chat/compaction-config—backend/src/routes/chat.ts(mount στο/api/chat, υποδιαδρομή/compaction-config)PUT /api/chat/folders/:folderId—backend/src/routes/chat.ts(mount στο/api/chat, υποδιαδρομή/folders/:folderId)PUT /api/chat/sessions/:sessionId—backend/src/routes/chat.ts(mount στο/api/chat, υποδιαδρομή/sessions/:sessionId)PUT /api/chat/sessions/:sessionId/messages/:messageId—backend/src/routes/chat.ts(mount στο/api/chat, υποδιαδρομή/sessions/:sessionId/messages/:messageId)PUT /api/chat/sessions/:sessionId/queue—backend/src/routes/chat.ts(mount στο/api/chat, υποδιαδρομή/sessions/:sessionId/queue)PUT /api/chat/sessions/:sessionId/queue/:entryId—backend/src/routes/chat.ts(mount στο/api/chat, υποδιαδρομή/sessions/:sessionId/queue/:entryId)
Διαχείριση μοντέλων
DELETE /api/ollama/models—backend/src/routes/ollama.ts(mount στο/api/ollama, υποδιαδρομή/models)GET /api/ollama/health—backend/src/routes/ollama.ts(mount στο/api/ollama, υποδιαδρομή/health)GET /api/ollama/library—backend/src/routes/ollama.ts(mount στο/api/ollama, υποδιαδρομή/library)GET /api/ollama/models—backend/src/routes/ollama.ts(mount στο/api/ollama, υποδιαδρομή/models)GET /api/ollama/models/:modelName/defaults—backend/src/routes/ollama.ts(mount στο/api/ollama, υποδιαδρομή/models/:modelName/defaults)GET /api/ollama/models/access—backend/src/routes/ollama.ts(mount στο/api/ollama, υποδιαδρομή/models/access)GET /api/ollama/models/pull-all/stream—backend/src/routes/ollama.ts(mount στο/api/ollama, υποδιαδρομή/models/pull-all/stream)GET /api/ollama/models/show—backend/src/routes/ollama.ts(mount στο/api/ollama, υποδιαδρομή/models/show)GET /api/ollama/models/visibility—backend/src/routes/ollama.ts(mount στο/api/ollama, υποδιαδρομή/models/visibility)GET /api/ollama/pull/stream—backend/src/routes/ollama.ts(mount στο/api/ollama, υποδιαδρομή/pull/stream)GET /api/ollama/running—backend/src/routes/ollama.ts(mount στο/api/ollama, υποδιαδρομή/running)GET /api/ollama/settings—backend/src/routes/ollama.ts(mount στο/api/ollama, υποδιαδρομή/settings)GET /api/ollama/version—backend/src/routes/ollama.ts(mount στο/api/ollama, υποδιαδρομή/version)HEAD /api/ollama/blobs/:digest—backend/src/routes/ollama.ts(mount στο/api/ollama, υποδιαδρομή/blobs/:digest)POST /api/ollama/blobs/:digest—backend/src/routes/ollama.ts(mount στο/api/ollama, υποδιαδρομή/blobs/:digest)POST /api/ollama/chat—backend/src/routes/ollama.ts(mount στο/api/ollama, υποδιαδρομή/chat)POST /api/ollama/chat/stream—backend/src/routes/ollama.ts(mount στο/api/ollama, υποδιαδρομή/chat/stream)POST /api/ollama/embed—backend/src/routes/ollama.ts(mount στο/api/ollama, υποδιαδρομή/embed)POST /api/ollama/embeddings—backend/src/routes/ollama.ts(mount στο/api/ollama, υποδιαδρομή/embeddings)POST /api/ollama/models—backend/src/routes/ollama.ts(mount στο/api/ollama, υποδιαδρομή/models)POST /api/ollama/models/copy—backend/src/routes/ollama.ts(mount στο/api/ollama, υποδιαδρομή/models/copy)POST /api/ollama/models/pull—backend/src/routes/ollama.ts(mount στο/api/ollama, υποδιαδρομή/models/pull)POST /api/ollama/models/pull-all—backend/src/routes/ollama.ts(mount στο/api/ollama, υποδιαδρομή/models/pull-all)POST /api/ollama/models/push—backend/src/routes/ollama.ts(mount στο/api/ollama, υποδιαδρομή/models/push)POST /api/ollama/models/unload—backend/src/routes/ollama.ts(mount στο/api/ollama, υποδιαδρομή/models/unload)POST /api/ollama/models/unload-all—backend/src/routes/ollama.ts(mount στο/api/ollama, υποδιαδρομή/models/unload-all)PUT /api/ollama/models/access—backend/src/routes/ollama.ts(mount στο/api/ollama, υποδιαδρομή/models/access)PUT /api/ollama/models/visibility—backend/src/routes/ollama.ts(mount στο/api/ollama, υποδιαδρομή/models/visibility)PUT /api/ollama/settings—backend/src/routes/ollama.ts(mount στο/api/ollama, υποδιαδρομή/settings)DELETE /api/plugins/:id—backend/src/routes/plugins.ts(mount στο/api/plugins, υποδιαδρομή/:id)DELETE /api/plugins/:id/credentials—backend/src/routes/plugins.ts(mount στο/api/plugins, υποδιαδρομή/:id/credentials)DELETE /api/plugins/:id/variables—backend/src/routes/plugins.ts(mount στο/api/plugins, υποδιαδρομή/:id/variables)GET /api/plugins—backend/src/routes/plugins.ts(mount στο/api/plugins, υποδιαδρομή/)GET /api/plugins/:id—backend/src/routes/plugins.ts(mount στο/api/plugins, υποδιαδρομή/:id)GET /api/plugins/:id/credentials/check—backend/src/routes/plugins.ts(mount στο/api/plugins, υποδιαδρομή/:id/credentials/check)GET /api/plugins/:id/export—backend/src/routes/plugins.ts(mount στο/api/plugins, υποδιαδρομή/:id/export)GET /api/plugins/:id/variables—backend/src/routes/plugins.ts(mount στο/api/plugins, υποδιαδρομή/:id/variables)GET /api/plugins/active—backend/src/routes/plugins.ts(mount στο/api/plugins, υποδιαδρομή/active)GET /api/plugins/active/current—backend/src/routes/plugins.ts(mount στο/api/plugins, υποδιαδρομή/active/current)GET /api/plugins/credentials/all—backend/src/routes/plugins.ts(mount στο/api/plugins, υποδιαδρομή/credentials/all)GET /api/plugins/status/all—backend/src/routes/plugins.ts(mount στο/api/plugins, υποδιαδρομή/status/all)POST /api/plugins/:id/credentials—backend/src/routes/plugins.ts(mount στο/api/plugins, υποδιαδρομή/:id/credentials)POST /api/plugins/activate/:id—backend/src/routes/plugins.ts(mount στο/api/plugins, υποδιαδρομή/activate/:id)POST /api/plugins/deactivate—backend/src/routes/plugins.ts(mount στο/api/plugins, υποδιαδρομή/deactivate)POST /api/plugins/deactivate/:id—backend/src/routes/plugins.ts(mount στο/api/plugins, υποδιαδρομή/deactivate/:id)POST /api/plugins/discover/:id—backend/src/routes/plugins.ts(mount στο/api/plugins, υποδιαδρομή/discover/:id)POST /api/plugins/install—backend/src/routes/plugins.ts(mount στο/api/plugins, υποδιαδρομή/install)POST /api/plugins/probe-endpoint—backend/src/routes/plugins.ts(mount στο/api/plugins, υποδιαδρομή/probe-endpoint)POST /api/plugins/upload—backend/src/routes/plugins.ts(mount στο/api/plugins, υποδιαδρομή/upload)PUT /api/plugins/:id—backend/src/routes/plugins.ts(mount στο/api/plugins, υποδιαδρομή/:id)PUT /api/plugins/:id/variables—backend/src/routes/plugins.ts(mount στο/api/plugins, υποδιαδρομή/:id/variables)
Περσόνες
DELETE /api/personas/:id—backend/src/routes/personas.ts(mount στο/api/personas, υποδιαδρομή/:id)GET /api/personas—backend/src/routes/personas.ts(mount στο/api/personas, υποδιαδρομή/)GET /api/personas/:id—backend/src/routes/personas.ts(mount στο/api/personas, υποδιαδρομή/:id)GET /api/personas/:id/backup—backend/src/routes/personas.ts(mount στο/api/personas, υποδιαδρομή/:id/backup)GET /api/personas/:id/download—backend/src/routes/personas.ts(mount στο/api/personas, υποδιαδρομή/:id/download)GET /api/personas/:id/export—backend/src/routes/personas.ts(mount στο/api/personas, υποδιαδρομή/:id/export)GET /api/personas/:id/export/dna—backend/src/routes/personas.ts(mount στο/api/personas, υποδιαδρομή/:id/export/dna)GET /api/personas/defaults/parameters—backend/src/routes/personas.ts(mount στο/api/personas, υποδιαδρομή/defaults/parameters)GET /api/personas/stats/count—backend/src/routes/personas.ts(mount στο/api/personas, υποδιαδρομή/stats/count)POST /api/personas—backend/src/routes/personas.ts(mount στο/api/personas, υποδιαδρομή/)POST /api/personas/import—backend/src/routes/personas.ts(mount στο/api/personas, υποδιαδρομή/import)PUT /api/personas/:id—backend/src/routes/personas.ts(mount στο/api/personas, υποδιαδρομή/:id)
Συλλογή μέσων
DELETE /api/image-gen/gallery/:imageId—backend/src/routes/imageGen.ts(mount στο/api/image-gen, υποδιαδρομή/gallery/:imageId)GET /api/image-gen/config/:pluginId—backend/src/routes/imageGen.ts(mount στο/api/image-gen, υποδιαδρομή/config/:pluginId)GET /api/image-gen/gallery—backend/src/routes/imageGen.ts(mount στο/api/image-gen, υποδιαδρομή/gallery)GET /api/image-gen/gallery/:imageId—backend/src/routes/imageGen.ts(mount στο/api/image-gen, υποδιαδρομή/gallery/:imageId)GET /api/image-gen/models—backend/src/routes/imageGen.ts(mount στο/api/image-gen, υποδιαδρομή/models)GET /api/image-gen/plugins—backend/src/routes/imageGen.ts(mount στο/api/image-gen, υποδιαδρομή/plugins)POST /api/image-gen/generate—backend/src/routes/imageGen.ts(mount στο/api/image-gen, υποδιαδρομή/generate)DELETE /api/media/gallery/:mediaId—backend/src/routes/media.ts(mount στο/api/media, υποδιαδρομή/gallery/:mediaId)DELETE /api/media/video/jobs/:jobId—backend/src/routes/media.ts(mount στο/api/media, υποδιαδρομή/video/jobs/:jobId)GET /api/media/gallery—backend/src/routes/media.ts(mount στο/api/media, υποδιαδρομή/gallery)GET /api/media/gallery/:mediaId/content—backend/src/routes/media.ts(mount στο/api/media, υποδιαδρομή/gallery/:mediaId/content)GET /api/media/models—backend/src/routes/media.ts(mount στο/api/media, υποδιαδρομή/models)GET /api/media/video/jobs—backend/src/routes/media.ts(mount στο/api/media, υποδιαδρομή/video/jobs)GET /api/media/video/jobs/:jobId—backend/src/routes/media.ts(mount στο/api/media, υποδιαδρομή/video/jobs/:jobId)POST /api/media/audio/generate—backend/src/routes/media.ts(mount στο/api/media, υποδιαδρομή/audio/generate)POST /api/media/audio/voice-clone—backend/src/routes/media.ts(mount στο/api/media, υποδιαδρομή/audio/voice-clone)POST /api/media/image/edit—backend/src/routes/media.ts(mount στο/api/media, υποδιαδρομή/image/edit)POST /api/media/sound/generate—backend/src/routes/media.ts(mount στο/api/media, υποδιαδρομή/sound/generate)POST /api/media/video/generate—backend/src/routes/media.ts(mount στο/api/media, υποδιαδρομή/video/generate)POST /api/media/video/jobs/:jobId/resume—backend/src/routes/media.ts(mount στο/api/media, υποδιαδρομή/video/jobs/:jobId/resume)
Σημειώσεις
DELETE /api/notes/:noteId—backend/src/routes/notes.ts(mount στο/api/notes, υποδιαδρομή/:noteId)DELETE /api/notes/:noteId/attachments/:attachmentId—backend/src/routes/notes.ts(mount στο/api/notes, υποδιαδρομή/:noteId/attachments/:attachmentId)GET /api/notes—backend/src/routes/notes.ts(mount στο/api/notes, υποδιαδρομή/)GET /api/notes/:noteId—backend/src/routes/notes.ts(mount στο/api/notes, υποδιαδρομή/:noteId)GET /api/notes/:noteId/attachments—backend/src/routes/notes.ts(mount στο/api/notes, υποδιαδρομή/:noteId/attachments)GET /api/notes/:noteId/attachments/:attachmentId—backend/src/routes/notes.ts(mount στο/api/notes, υποδιαδρομή/:noteId/attachments/:attachmentId)GET /api/notes/:noteId/revisions—backend/src/routes/notes.ts(mount στο/api/notes, υποδιαδρομή/:noteId/revisions)POST /api/notes—backend/src/routes/notes.ts(mount στο/api/notes, υποδιαδρομή/)POST /api/notes/:noteId/assist—backend/src/routes/notes.ts(mount στο/api/notes, υποδιαδρομή/:noteId/assist)POST /api/notes/:noteId/attachments—backend/src/routes/notes.ts(mount στο/api/notes, υποδιαδρομή/:noteId/attachments)POST /api/notes/:noteId/revisions/:revisionId/restore—backend/src/routes/notes.ts(mount στο/api/notes, υποδιαδρομή/:noteId/revisions/:revisionId/restore)PUT /api/notes/:noteId—backend/src/routes/notes.ts(mount στο/api/notes, υποδιαδρομή/:noteId)
Ημερολόγιο
DELETE /api/calendar/calendars/:calendarId—backend/src/routes/calendar.ts(mount στο/api/calendar, υποδιαδρομή/calendars/:calendarId)DELETE /api/calendar/events/:eventId—backend/src/routes/calendar.ts(mount στο/api/calendar, υποδιαδρομή/events/:eventId)GET /api/calendar/calendars—backend/src/routes/calendar.ts(mount στο/api/calendar, υποδιαδρομή/calendars)GET /api/calendar/events—backend/src/routes/calendar.ts(mount στο/api/calendar, υποδιαδρομή/events)GET /api/calendar/export—backend/src/routes/calendar.ts(mount στο/api/calendar, υποδιαδρομή/export)POST /api/calendar/calendars—backend/src/routes/calendar.ts(mount στο/api/calendar, υποδιαδρομή/calendars)POST /api/calendar/events—backend/src/routes/calendar.ts(mount στο/api/calendar, υποδιαδρομή/events)POST /api/calendar/import—backend/src/routes/calendar.ts(mount στο/api/calendar, υποδιαδρομή/import)PUT /api/calendar/calendars/:calendarId—backend/src/routes/calendar.ts(mount στο/api/calendar, υποδιαδρομή/calendars/:calendarId)PUT /api/calendar/events/:eventId—backend/src/routes/calendar.ts(mount στο/api/calendar, υποδιαδρομή/events/:eventId)
Αυτοματισμοί
DELETE /api/automations/:automationId—backend/src/routes/automations.ts(mount στο/api/automations, υποδιαδρομή/:automationId)DELETE /api/automations/:automationId/webhook-secret—backend/src/routes/automations.ts(mount στο/api/automations, υποδιαδρομή/:automationId/webhook-secret)GET /api/automations—backend/src/routes/automations.ts(mount στο/api/automations, υποδιαδρομή/)GET /api/automations/:automationId—backend/src/routes/automations.ts(mount στο/api/automations, υποδιαδρομή/:automationId)GET /api/automations/occurrences—backend/src/routes/automations.ts(mount στο/api/automations, υποδιαδρομή/occurrences)GET /api/automations/runs—backend/src/routes/automations.ts(mount στο/api/automations, υποδιαδρομή/runs)GET /api/automations/runs/summary—backend/src/routes/automations.ts(mount στο/api/automations, υποδιαδρομή/runs/summary)POST /api/automations—backend/src/routes/automations.ts(mount στο/api/automations, υποδιαδρομή/)POST /api/automations/:automationId/pause—backend/src/routes/automations.ts(mount στο/api/automations, υποδιαδρομή/:automationId/pause)POST /api/automations/:automationId/resume—backend/src/routes/automations.ts(mount στο/api/automations, υποδιαδρομή/:automationId/resume)POST /api/automations/:automationId/run—backend/src/routes/automations.ts(mount στο/api/automations, υποδιαδρομή/:automationId/run)POST /api/automations/:automationId/webhook—backend/src/routes/automations.ts(mount στο/api/automations, υποδιαδρομή/:automationId/webhook)POST /api/automations/:automationId/webhook-secret—backend/src/routes/automations.ts(mount στο/api/automations, υποδιαδρομή/:automationId/webhook-secret)POST /api/automations/runs/seen—backend/src/routes/automations.ts(mount στο/api/automations, υποδιαδρομή/runs/seen)PUT /api/automations/:automationId—backend/src/routes/automations.ts(mount στο/api/automations, υποδιαδρομή/:automationId)
Κανάλια
DELETE /api/channels/:channelId—backend/src/routes/channels.ts(mount στο/api/channels, υποδιαδρομή/:channelId)DELETE /api/channels/:channelId/members/:userId—backend/src/routes/channels.ts(mount στο/api/channels, υποδιαδρομή/:channelId/members/:userId)DELETE /api/channels/messages/:messageId—backend/src/routes/channels.ts(mount στο/api/channels, υποδιαδρομή/messages/:messageId)DELETE /api/channels/messages/:messageId/reactions/:emoji—backend/src/routes/channels.ts(mount στο/api/channels, υποδιαδρομή/messages/:messageId/reactions/:emoji)GET /api/channels—backend/src/routes/channels.ts(mount στο/api/channels, υποδιαδρομή/)GET /api/channels/:channelId—backend/src/routes/channels.ts(mount στο/api/channels, υποδιαδρομή/:channelId)GET /api/channels/:channelId/events—backend/src/routes/channels.ts(mount στο/api/channels, υποδιαδρομή/:channelId/events)GET /api/channels/:channelId/members—backend/src/routes/channels.ts(mount στο/api/channels, υποδιαδρομή/:channelId/members)GET /api/channels/:channelId/messages—backend/src/routes/channels.ts(mount στο/api/channels, υποδιαδρομή/:channelId/messages)GET /api/channels/:channelId/pins—backend/src/routes/channels.ts(mount στο/api/channels, υποδιαδρομή/:channelId/pins)GET /api/channels/attachments/:attachmentId—backend/src/routes/channels.ts(mount στο/api/channels, υποδιαδρομή/attachments/:attachmentId)GET /api/channels/messages/:messageId/thread—backend/src/routes/channels.ts(mount στο/api/channels, υποδιαδρομή/messages/:messageId/thread)GET /api/channels/public—backend/src/routes/channels.ts(mount στο/api/channels, υποδιαδρομή/public)PATCH /api/channels/:channelId—backend/src/routes/channels.ts(mount στο/api/channels, υποδιαδρομή/:channelId)PATCH /api/channels/messages/:messageId—backend/src/routes/channels.ts(mount στο/api/channels, υποδιαδρομή/messages/:messageId)POST /api/channels—backend/src/routes/channels.ts(mount στο/api/channels, υποδιαδρομή/)POST /api/channels/:channelId/attachments—backend/src/routes/channels.ts(mount στο/api/channels, υποδιαδρομή/:channelId/attachments)POST /api/channels/:channelId/join—backend/src/routes/channels.ts(mount στο/api/channels, υποδιαδρομή/:channelId/join)POST /api/channels/:channelId/members—backend/src/routes/channels.ts(mount στο/api/channels, υποδιαδρομή/:channelId/members)POST /api/channels/:channelId/messages—backend/src/routes/channels.ts(mount στο/api/channels, υποδιαδρομή/:channelId/messages)POST /api/channels/:channelId/read—backend/src/routes/channels.ts(mount στο/api/channels, υποδιαδρομή/:channelId/read)POST /api/channels/dm—backend/src/routes/channels.ts(mount στο/api/channels, υποδιαδρομή/dm)POST /api/channels/messages/:messageId/pin—backend/src/routes/channels.ts(mount στο/api/channels, υποδιαδρομή/messages/:messageId/pin)POST /api/channels/messages/:messageId/reactions—backend/src/routes/channels.ts(mount στο/api/channels, υποδιαδρομή/messages/:messageId/reactions)
Ειδοποιήσεις
DELETE /api/notifications/:notificationId—backend/src/routes/notifications.ts(mount στο/api/notifications, υποδιαδρομή/:notificationId)DELETE /api/notifications/webhooks/:targetId—backend/src/routes/notifications.ts(mount στο/api/notifications, υποδιαδρομή/webhooks/:targetId)GET /api/notifications—backend/src/routes/notifications.ts(mount στο/api/notifications, υποδιαδρομή/)GET /api/notifications/events—backend/src/routes/notifications.ts(mount στο/api/notifications, υποδιαδρομή/events)GET /api/notifications/unread-count—backend/src/routes/notifications.ts(mount στο/api/notifications, υποδιαδρομή/unread-count)GET /api/notifications/webhooks—backend/src/routes/notifications.ts(mount στο/api/notifications, υποδιαδρομή/webhooks)POST /api/notifications/:notificationId/read—backend/src/routes/notifications.ts(mount στο/api/notifications, υποδιαδρομή/:notificationId/read)POST /api/notifications/read-all—backend/src/routes/notifications.ts(mount στο/api/notifications, υποδιαδρομή/read-all)POST /api/notifications/webhooks—backend/src/routes/notifications.ts(mount στο/api/notifications, υποδιαδρομή/webhooks)DELETE /api/push/subscriptions—backend/src/routes/push.ts(mount στο/api/push, υποδιαδρομή/subscriptions)GET /api/push/public-key—backend/src/routes/push.ts(mount στο/api/push, υποδιαδρομή/public-key)GET /api/push/subscriptions—backend/src/routes/push.ts(mount στο/api/push, υποδιαδρομή/subscriptions)POST /api/push/subscriptions—backend/src/routes/push.ts(mount στο/api/push, υποδιαδρομή/subscriptions)
Βιβλιοθήκη prompts
DELETE /api/prompts/:promptId—backend/src/routes/prompts.ts(mount στο/api/prompts, υποδιαδρομή/:promptId)GET /api/prompts—backend/src/routes/prompts.ts(mount στο/api/prompts, υποδιαδρομή/)GET /api/prompts/:promptId—backend/src/routes/prompts.ts(mount στο/api/prompts, υποδιαδρομή/:promptId)GET /api/prompts/:promptId/export—backend/src/routes/prompts.ts(mount στο/api/prompts, υποδιαδρομή/:promptId/export)GET /api/prompts/:promptId/versions—backend/src/routes/prompts.ts(mount στο/api/prompts, υποδιαδρομή/:promptId/versions)POST /api/prompts—backend/src/routes/prompts.ts(mount στο/api/prompts, υποδιαδρομή/)POST /api/prompts/:promptId/rollback—backend/src/routes/prompts.ts(mount στο/api/prompts, υποδιαδρομή/:promptId/rollback)POST /api/prompts/import—backend/src/routes/prompts.ts(mount στο/api/prompts, υποδιαδρομή/import)PUT /api/prompts/:promptId—backend/src/routes/prompts.ts(mount στο/api/prompts, υποδιαδρομή/:promptId)
Δεξιότητες
DELETE /api/skills/:skillId—backend/src/routes/skills.ts(mount στο/api/skills, υποδιαδρομή/:skillId)DELETE /api/skills/:skillId/files—backend/src/routes/skills.ts(mount στο/api/skills, υποδιαδρομή/:skillId/files)GET /api/skills—backend/src/routes/skills.ts(mount στο/api/skills, υποδιαδρομή/)GET /api/skills/:skillId—backend/src/routes/skills.ts(mount στο/api/skills, υποδιαδρομή/:skillId)GET /api/skills/:skillId/export—backend/src/routes/skills.ts(mount στο/api/skills, υποδιαδρομή/:skillId/export)GET /api/skills/:skillId/files—backend/src/routes/skills.ts(mount στο/api/skills, υποδιαδρομή/:skillId/files)GET /api/skills/:skillId/files/content—backend/src/routes/skills.ts(mount στο/api/skills, υποδιαδρομή/:skillId/files/content)GET /api/skills/:skillId/versions—backend/src/routes/skills.ts(mount στο/api/skills, υποδιαδρομή/:skillId/versions)POST /api/skills—backend/src/routes/skills.ts(mount στο/api/skills, υποδιαδρομή/)POST /api/skills/:skillId/rollback—backend/src/routes/skills.ts(mount στο/api/skills, υποδιαδρομή/:skillId/rollback)POST /api/skills/import—backend/src/routes/skills.ts(mount στο/api/skills, υποδιαδρομή/import)POST /api/skills/import-url—backend/src/routes/skills.ts(mount στο/api/skills, υποδιαδρομή/import-url)PUT /api/skills/:skillId—backend/src/routes/skills.ts(mount στο/api/skills, υποδιαδρομή/:skillId)PUT /api/skills/:skillId/files—backend/src/routes/skills.ts(mount στο/api/skills, υποδιαδρομή/:skillId/files)
Εργαλεία Chat
DELETE /api/tools/approvals/:id—backend/src/routes/tools.ts(mount στο/api/tools, υποδιαδρομή/approvals/:id)DELETE /api/tools/servers/:id—backend/src/routes/tools.ts(mount στο/api/tools, υποδιαδρομή/servers/:id)DELETE /api/tools/servers/:id/credential—backend/src/routes/tools.ts(mount στο/api/tools, υποδιαδρομή/servers/:id/credential)GET /api/tools/access—backend/src/routes/tools.ts(mount στο/api/tools, υποδιαδρομή/access)GET /api/tools/approvals—backend/src/routes/tools.ts(mount στο/api/tools, υποδιαδρομή/approvals)GET /api/tools/catalog—backend/src/routes/tools.ts(mount στο/api/tools, υποδιαδρομή/catalog)GET /api/tools/servers—backend/src/routes/tools.ts(mount στο/api/tools, υποδιαδρομή/servers)GET /api/tools/servers/:id—backend/src/routes/tools.ts(mount στο/api/tools, υποδιαδρομή/servers/:id)POST /api/tools/approvals/:id—backend/src/routes/tools.ts(mount στο/api/tools, υποδιαδρομή/approvals/:id)POST /api/tools/servers—backend/src/routes/tools.ts(mount στο/api/tools, υποδιαδρομή/servers)POST /api/tools/servers/:id/refresh—backend/src/routes/tools.ts(mount στο/api/tools, υποδιαδρομή/servers/:id/refresh)PUT /api/tools/access—backend/src/routes/tools.ts(mount στο/api/tools, υποδιαδρομή/access)PUT /api/tools/servers/:id—backend/src/routes/tools.ts(mount στο/api/tools, υποδιαδρομή/servers/:id)PUT /api/tools/servers/:id/credential—backend/src/routes/tools.ts(mount στο/api/tools, υποδιαδρομή/servers/:id/credential)PUT /api/tools/servers/:id/tools/:toolName—backend/src/routes/tools.ts(mount στο/api/tools, υποδιαδρομή/servers/:id/tools/:toolName)
Work
DELETE /api/work/policies/:id—backend/src/routes/work.ts(mount στο/api/work, υποδιαδρομή/policies/:id)DELETE /api/work/tasks/:id—backend/src/routes/work.ts(mount στο/api/work, υποδιαδρομή/tasks/:id)DELETE /api/work/tasks/:id/approval-rules/:ruleId—backend/src/routes/work.ts(mount στο/api/work, υποδιαδρομή/tasks/:id/approval-rules/:ruleId)DELETE /api/work/tasks/:id/computer/control—backend/src/routes/work.ts(mount στο/api/work, υποδιαδρομή/tasks/:id/computer/control)GET /api/work/access—backend/src/routes/work.ts(mount στο/api/work, υποδιαδρομή/access)GET /api/work/admin/overview—backend/src/routes/work.ts(mount στο/api/work, υποδιαδρομή/admin/overview)GET /api/work/capabilities—backend/src/routes/work.ts(mount στο/api/work, υποδιαδρομή/capabilities)GET /api/work/computer/setup—backend/src/routes/work.ts(mount στο/api/work, υποδιαδρομή/computer/setup)GET /api/work/policies—backend/src/routes/work.ts(mount στο/api/work, υποδιαδρομή/policies)GET /api/work/tasks—backend/src/routes/work.ts(mount στο/api/work, υποδιαδρομή/tasks)GET /api/work/tasks/:id—backend/src/routes/work.ts(mount στο/api/work, υποδιαδρομή/tasks/:id)GET /api/work/tasks/:id/approvals—backend/src/routes/work.ts(mount στο/api/work, υποδιαδρομή/tasks/:id/approvals)GET /api/work/tasks/:id/computer/control—backend/src/routes/work.ts(mount στο/api/work, υποδιαδρομή/tasks/:id/computer/control)GET /api/work/tasks/:id/file—backend/src/routes/work.ts(mount στο/api/work, υποδιαδρομή/tasks/:id/file)GET /api/work/tasks/:id/files—backend/src/routes/work.ts(mount στο/api/work, υποδιαδρομή/tasks/:id/files)GET /api/work/tasks/:id/git—backend/src/routes/work.ts(mount στο/api/work, υποδιαδρομή/tasks/:id/git)GET /api/work/tasks/:id/git/diff—backend/src/routes/work.ts(mount στο/api/work, υποδιαδρομή/tasks/:id/git/diff)GET /api/work/tasks/:id/messages—backend/src/routes/work.ts(mount στο/api/work, υποδιαδρομή/tasks/:id/messages)GET /api/work/tasks/:taskId/runs/:runId/events—backend/src/routes/work.ts(mount στο/api/work, υποδιαδρομή/tasks/:taskId/runs/:runId/events)PATCH /api/work/tasks/:id—backend/src/routes/work.ts(mount στο/api/work, υποδιαδρομή/tasks/:id)POST /api/work/computer/setup—backend/src/routes/work.ts(mount στο/api/work, υποδιαδρομή/computer/setup)POST /api/work/computer/skills/:slug/trace—backend/src/routes/work.ts(mount στο/api/work, υποδιαδρομή/computer/skills/:slug/trace)POST /api/work/policies—backend/src/routes/work.ts(mount στο/api/work, υποδιαδρομή/policies)POST /api/work/tasks—backend/src/routes/work.ts(mount στο/api/work, υποδιαδρομή/tasks)POST /api/work/tasks/:id/approvals/:approvalId—backend/src/routes/work.ts(mount στο/api/work, υποδιαδρομή/tasks/:id/approvals/:approvalId)POST /api/work/tasks/:id/cancel—backend/src/routes/work.ts(mount στο/api/work, υποδιαδρομή/tasks/:id/cancel)POST /api/work/tasks/:id/computer/anchor—backend/src/routes/work.ts(mount στο/api/work, υποδιαδρομή/tasks/:id/computer/anchor)POST /api/work/tasks/:id/computer/control—backend/src/routes/work.ts(mount στο/api/work, υποδιαδρομή/tasks/:id/computer/control)POST /api/work/tasks/:id/computer/start—backend/src/routes/work.ts(mount στο/api/work, υποδιαδρομή/tasks/:id/computer/start)POST /api/work/tasks/:id/computer/teach—backend/src/routes/work.ts(mount στο/api/work, υποδιαδρομή/tasks/:id/computer/teach)POST /api/work/tasks/:id/git/branches—backend/src/routes/work.ts(mount στο/api/work, υποδιαδρομή/tasks/:id/git/branches)POST /api/work/tasks/:id/git/commit—backend/src/routes/work.ts(mount στο/api/work, υποδιαδρομή/tasks/:id/git/commit)POST /api/work/tasks/:id/git/init—backend/src/routes/work.ts(mount στο/api/work, υποδιαδρομή/tasks/:id/git/init)POST /api/work/tasks/:id/git/stage—backend/src/routes/work.ts(mount στο/api/work, υποδιαδρομή/tasks/:id/git/stage)POST /api/work/tasks/:id/git/switch—backend/src/routes/work.ts(mount στο/api/work, υποδιαδρομή/tasks/:id/git/switch)POST /api/work/tasks/:id/messages—backend/src/routes/work.ts(mount στο/api/work, υποδιαδρομή/tasks/:id/messages)POST /api/work/tasks/:id/preview/start—backend/src/routes/work.ts(mount στο/api/work, υποδιαδρομή/tasks/:id/preview/start)POST /api/work/tasks/:id/preview/stop—backend/src/routes/work.ts(mount στο/api/work, υποδιαδρομή/tasks/:id/preview/stop)POST /api/work/tasks/:id/runs—backend/src/routes/work.ts(mount στο/api/work, υποδιαδρομή/tasks/:id/runs)POST /api/work/tasks/:id/seen—backend/src/routes/work.ts(mount στο/api/work, υποδιαδρομή/tasks/:id/seen)PUT /api/work/access—backend/src/routes/work.ts(mount στο/api/work, υποδιαδρομή/access)PUT /api/work/policies/:id—backend/src/routes/work.ts(mount στο/api/work, υποδιαδρομή/policies/:id)PUT /api/work/tasks/:id/approvals—backend/src/routes/work.ts(mount στο/api/work, υποδιαδρομή/tasks/:id/approvals)PUT /api/work/tasks/:id/file—backend/src/routes/work.ts(mount στο/api/work, υποδιαδρομή/tasks/:id/file)
Μοντέλα Agent CLI
GET /api/agent-clis/models—backend/src/routes/agentCli.ts(mount στο/api/agent-clis, υποδιαδρομή/models)
Artifacts
GET /api/artifacts/sandbox—backend/src/routes/artifacts.ts(mount στο/api/artifacts, υποδιαδρομή/sandbox)
Χρήση παρόχων
DELETE /api/costs/budgets/:budgetId—backend/src/routes/costs.ts(mount στο/api/costs, υποδιαδρομή/budgets/:budgetId)DELETE /api/costs/tariffs/:tariffId—backend/src/routes/costs.ts(mount στο/api/costs, υποδιαδρομή/tariffs/:tariffId)GET /api/costs/analytics—backend/src/routes/costs.ts(mount στο/api/costs, υποδιαδρομή/analytics)GET /api/costs/budgets—backend/src/routes/costs.ts(mount στο/api/costs, υποδιαδρομή/budgets)GET /api/costs/export—backend/src/routes/costs.ts(mount στο/api/costs, υποδιαδρομή/export)GET /api/costs/tariffs—backend/src/routes/costs.ts(mount στο/api/costs, υποδιαδρομή/tariffs)POST /api/costs/budgets—backend/src/routes/costs.ts(mount στο/api/costs, υποδιαδρομή/budgets)POST /api/costs/tariffs—backend/src/routes/costs.ts(mount στο/api/costs, υποδιαδρομή/tariffs)PUT /api/costs/budgets/:budgetId—backend/src/routes/costs.ts(mount στο/api/costs, υποδιαδρομή/budgets/:budgetId)GET /api/plugins/usage—backend/src/routes/plugins.ts(mount στο/api/plugins, υποδιαδρομή/usage)
Πλατφόρμα αξιολόγησης
DELETE /api/evaluations/feedback/:messageId—backend/src/routes/evaluations.ts(mount στο/api/evaluations, υποδιαδρομή/feedback/:messageId)DELETE /api/evaluations/sets/:setId—backend/src/routes/evaluations.ts(mount στο/api/evaluations, υποδιαδρομή/sets/:setId)GET /api/evaluations/arena/leaderboard—backend/src/routes/evaluations.ts(mount στο/api/evaluations, υποδιαδρομή/arena/leaderboard)GET /api/evaluations/feedback—backend/src/routes/evaluations.ts(mount στο/api/evaluations, υποδιαδρομή/feedback)GET /api/evaluations/feedback/all—backend/src/routes/evaluations.ts(mount στο/api/evaluations, υποδιαδρομή/feedback/all)GET /api/evaluations/runs—backend/src/routes/evaluations.ts(mount στο/api/evaluations, υποδιαδρομή/runs)GET /api/evaluations/runs/:runId—backend/src/routes/evaluations.ts(mount στο/api/evaluations, υποδιαδρομή/runs/:runId)GET /api/evaluations/runs/:runId/export—backend/src/routes/evaluations.ts(mount στο/api/evaluations, υποδιαδρομή/runs/:runId/export)GET /api/evaluations/sets—backend/src/routes/evaluations.ts(mount στο/api/evaluations, υποδιαδρομή/sets)POST /api/evaluations/arena/matches—backend/src/routes/evaluations.ts(mount στο/api/evaluations, υποδιαδρομή/arena/matches)POST /api/evaluations/arena/votes—backend/src/routes/evaluations.ts(mount στο/api/evaluations, υποδιαδρομή/arena/votes)POST /api/evaluations/feedback—backend/src/routes/evaluations.ts(mount στο/api/evaluations, υποδιαδρομή/feedback)POST /api/evaluations/runs—backend/src/routes/evaluations.ts(mount στο/api/evaluations, υποδιαδρομή/runs)POST /api/evaluations/runs/:runId/cancel—backend/src/routes/evaluations.ts(mount στο/api/evaluations, υποδιαδρομή/runs/:runId/cancel)POST /api/evaluations/sets—backend/src/routes/evaluations.ts(mount στο/api/evaluations, υποδιαδρομή/sets)PUT /api/evaluations/sets/:setId—backend/src/routes/evaluations.ts(mount στο/api/evaluations, υποδιαδρομή/sets/:setId)
Διάγνωση συστήματος
GET /health—backend/src/routes/health.ts(mount στο/health, υποδιαδρομή/)GET /health/deep—backend/src/routes/health.ts(mount στο/health, υποδιαδρομή/deep)GET /health/live—backend/src/routes/health.ts(mount στο/health, υποδιαδρομή/live)GET /health/ready—backend/src/routes/health.ts(mount στο/health, υποδιαδρομή/ready)GET /api/system—backend/src/routes/systemDiagnostics.ts(mount στο/api/system, υποδιαδρομή/)
Διαχείριση χρηστών
DELETE /api/users/:id—backend/src/routes/users.ts(mount στο/api/users, υποδιαδρομή/:id)GET /api/users—backend/src/routes/users.ts(mount στο/api/users, υποδιαδρομή/)GET /api/users/pending-approvals—backend/src/routes/users.ts(mount στο/api/users, υποδιαδρομή/pending-approvals)PATCH /api/users/:id—backend/src/routes/users.ts(mount στο/api/users, υποδιαδρομή/:id)PATCH /api/users/:id/approve—backend/src/routes/users.ts(mount στο/api/users, υποδιαδρομή/:id/approve)PATCH /api/users/me/avatar—backend/src/routes/users.ts(mount στο/api/users, υποδιαδρομή/me/avatar)POST /api/users—backend/src/routes/users.ts(mount στο/api/users, υποδιαδρομή/)POST /api/users/:id/mfa/reset—backend/src/routes/users.ts(mount στο/api/users, υποδιαδρομή/:id/mfa/reset)
Πιστοποίηση
DELETE /api/auth/passkeys/:id—backend/src/routes/auth.ts(mount στο/api/auth, υποδιαδρομή/passkeys/:id)DELETE /api/auth/sessions/:id—backend/src/routes/auth.ts(mount στο/api/auth, υποδιαδρομή/sessions/:id)DELETE /api/auth/tokens/:id—backend/src/routes/auth.ts(mount στο/api/auth, υποδιαδρομή/tokens/:id)GET /api/auth/encryption-key—backend/src/routes/auth.ts(mount στο/api/auth, υποδιαδρομή/encryption-key)GET /api/auth/me—backend/src/routes/auth.ts(mount στο/api/auth, υποδιαδρομή/me)GET /api/auth/mfa—backend/src/routes/auth.ts(mount στο/api/auth, υποδιαδρομή/mfa)GET /api/auth/mfa/policy—backend/src/routes/auth.ts(mount στο/api/auth, υποδιαδρομή/mfa/policy)GET /api/auth/oauth/github—backend/src/routes/auth.ts(mount στο/api/auth, υποδιαδρομή/oauth/github)GET /api/auth/oauth/github/callback—backend/src/routes/auth.ts(mount στο/api/auth, υποδιαδρομή/oauth/github/callback)GET /api/auth/oauth/github/status—backend/src/routes/auth.ts(mount στο/api/auth, υποδιαδρομή/oauth/github/status)GET /api/auth/oauth/huggingface—backend/src/routes/auth.ts(mount στο/api/auth, υποδιαδρομή/oauth/huggingface)GET /api/auth/oauth/huggingface/callback—backend/src/routes/auth.ts(mount στο/api/auth, υποδιαδρομή/oauth/huggingface/callback)GET /api/auth/oauth/huggingface/status—backend/src/routes/auth.ts(mount στο/api/auth, υποδιαδρομή/oauth/huggingface/status)GET /api/auth/oauth/oidc—backend/src/routes/auth.ts(mount στο/api/auth, υποδιαδρομή/oauth/oidc)GET /api/auth/oauth/oidc/callback—backend/src/routes/auth.ts(mount στο/api/auth, υποδιαδρομή/oauth/oidc/callback)GET /api/auth/oauth/oidc/status—backend/src/routes/auth.ts(mount στο/api/auth, υποδιαδρομή/oauth/oidc/status)GET /api/auth/passkeys—backend/src/routes/auth.ts(mount στο/api/auth, υποδιαδρομή/passkeys)GET /api/auth/sessions—backend/src/routes/auth.ts(mount στο/api/auth, υποδιαδρομή/sessions)GET /api/auth/system-info—backend/src/routes/auth.ts(mount στο/api/auth, υποδιαδρομή/system-info)GET /api/auth/tokens—backend/src/routes/auth.ts(mount στο/api/auth, υποδιαδρομή/tokens)GET /api/auth/verify—backend/src/routes/auth.ts(mount στο/api/auth, υποδιαδρομή/verify)POST /api/auth/login—backend/src/routes/auth.ts(mount στο/api/auth, υποδιαδρομή/login)POST /api/auth/logout—backend/src/routes/auth.ts(mount στο/api/auth, υποδιαδρομή/logout)POST /api/auth/mfa/activate—backend/src/routes/auth.ts(mount στο/api/auth, υποδιαδρομή/mfa/activate)POST /api/auth/mfa/activate-challenge—backend/src/routes/auth.ts(mount στο/api/auth, υποδιαδρομή/mfa/activate-challenge)POST /api/auth/mfa/disable—backend/src/routes/auth.ts(mount στο/api/auth, υποδιαδρομή/mfa/disable)POST /api/auth/mfa/enroll—backend/src/routes/auth.ts(mount στο/api/auth, υποδιαδρομή/mfa/enroll)POST /api/auth/mfa/enroll-challenge—backend/src/routes/auth.ts(mount στο/api/auth, υποδιαδρομή/mfa/enroll-challenge)POST /api/auth/mfa/recovery-codes—backend/src/routes/auth.ts(mount στο/api/auth, υποδιαδρομή/mfa/recovery-codes)POST /api/auth/mfa/verify—backend/src/routes/auth.ts(mount στο/api/auth, υποδιαδρομή/mfa/verify)POST /api/auth/oauth/exchange—backend/src/routes/auth.ts(mount στο/api/auth, υποδιαδρομή/oauth/exchange)POST /api/auth/passkeys/login—backend/src/routes/auth.ts(mount στο/api/auth, υποδιαδρομή/passkeys/login)POST /api/auth/passkeys/login-options—backend/src/routes/auth.ts(mount στο/api/auth, υποδιαδρομή/passkeys/login-options)POST /api/auth/passkeys/register—backend/src/routes/auth.ts(mount στο/api/auth, υποδιαδρομή/passkeys/register)POST /api/auth/passkeys/register-options—backend/src/routes/auth.ts(mount στο/api/auth, υποδιαδρομή/passkeys/register-options)POST /api/auth/sessions/revoke-others—backend/src/routes/auth.ts(mount στο/api/auth, υποδιαδρομή/sessions/revoke-others)POST /api/auth/signup—backend/src/routes/auth.ts(mount στο/api/auth, υποδιαδρομή/signup)POST /api/auth/tokens—backend/src/routes/auth.ts(mount στο/api/auth, υποδιαδρομή/tokens)POST /api/auth/websocket-ticket—backend/src/routes/auth.ts(mount στο/api/auth, υποδιαδρομή/websocket-ticket)PUT /api/auth/mfa/policy—backend/src/routes/auth.ts(mount στο/api/auth, υποδιαδρομή/mfa/policy)
Έλεγχος πρόσβασης
DELETE /api/access/grants/:id—backend/src/routes/access.ts(mount στο/api/access, υποδιαδρομή/grants/:id)GET /api/access/grants—backend/src/routes/access.ts(mount στο/api/access, υποδιαδρομή/grants)GET /api/access/principals—backend/src/routes/access.ts(mount στο/api/access, υποδιαδρομή/principals)GET /api/access/principals/groups—backend/src/routes/access.ts(mount στο/api/access, υποδιαδρομή/principals/groups)GET /api/access/shared-with-me—backend/src/routes/access.ts(mount στο/api/access, υποδιαδρομή/shared-with-me)POST /api/access/grants—backend/src/routes/access.ts(mount στο/api/access, υποδιαδρομή/grants)GET /api/audit—backend/src/routes/audit.ts(mount στο/api/audit, υποδιαδρομή/)DELETE /api/groups/:id—backend/src/routes/groups.ts(mount στο/api/groups, υποδιαδρομή/:id)DELETE /api/groups/:id/members/:userId—backend/src/routes/groups.ts(mount στο/api/groups, υποδιαδρομή/:id/members/:userId)GET /api/groups—backend/src/routes/groups.ts(mount στο/api/groups, υποδιαδρομή/)GET /api/groups/effective/:userId—backend/src/routes/groups.ts(mount στο/api/groups, υποδιαδρομή/effective/:userId)PATCH /api/groups/:id—backend/src/routes/groups.ts(mount στο/api/groups, υποδιαδρομή/:id)POST /api/groups—backend/src/routes/groups.ts(mount στο/api/groups, υποδιαδρομή/)POST /api/groups/:id/members—backend/src/routes/groups.ts(mount στο/api/groups, υποδιαδρομή/:id/members)
Δημόσιο API
GET /v1/models—backend/src/routes/openaiCompat.ts(mount στο/v1, υποδιαδρομή/models)POST /v1/chat/completions—backend/src/routes/openaiCompat.ts(mount στο/v1, υποδιαδρομή/chat/completions)
Φορητότητα δεδομένων
GET /api/preferences/export—backend/src/routes/preferences.ts(mount στο/api/preferences, υποδιαδρομή/export)POST /api/preferences/import—backend/src/routes/preferences.ts(mount στο/api/preferences, υποδιαδρομή/import)POST /api/preferences/import/preflight—backend/src/routes/preferences.ts(mount στο/api/preferences, υποδιαδρομή/import/preflight)
Γνώση και ανάκτηση εγγράφων
DELETE /api/documents/:documentId—backend/src/routes/documents.ts(mount στο/api/documents, υποδιαδρομή/:documentId)DELETE /api/documents/collections/:collectionId—backend/src/routes/documents.ts(mount στο/api/documents, υποδιαδρομή/collections/:collectionId)GET /api/documents—backend/src/routes/documents.ts(mount στο/api/documents, υποδιαδρομή/)GET /api/documents/:documentId—backend/src/routes/documents.ts(mount στο/api/documents, υποδιαδρομή/:documentId)GET /api/documents/:documentId/source—backend/src/routes/documents.ts(mount στο/api/documents, υποδιαδρομή/:documentId/source)GET /api/documents/collections—backend/src/routes/documents.ts(mount στο/api/documents, υποδιαδρομή/collections)GET /api/documents/embeddings/status—backend/src/routes/documents.ts(mount στο/api/documents, υποδιαδρομή/embeddings/status)GET /api/documents/session/:sessionId—backend/src/routes/documents.ts(mount στο/api/documents, υποδιαδρομή/session/:sessionId)POST /api/documents/collections—backend/src/routes/documents.ts(mount στο/api/documents, υποδιαδρομή/collections)POST /api/documents/embeddings/regenerate—backend/src/routes/documents.ts(mount στο/api/documents, υποδιαδρομή/embeddings/regenerate)POST /api/documents/fetch-url—backend/src/routes/documents.ts(mount στο/api/documents, υποδιαδρομή/fetch-url)POST /api/documents/search—backend/src/routes/documents.ts(mount στο/api/documents, υποδιαδρομή/search)POST /api/documents/upload—backend/src/routes/documents.ts(mount στο/api/documents, υποδιαδρομή/upload)PUT /api/documents/:documentId/collection—backend/src/routes/documents.ts(mount στο/api/documents, υποδιαδρομή/:documentId/collection)GET /api/embeddings/models—backend/src/routes/embeddings.ts(mount στο/api/embeddings, υποδιαδρομή/models)
Μνήμη περσόνας
DELETE /api/personas/:id/memory—backend/src/routes/personas.ts(mount στο/api/personas, υποδιαδρομή/:id/memory)GET /api/personas/:id/memory/core—backend/src/routes/personas.ts(mount στο/api/personas, υποδιαδρομή/:id/memory/core)GET /api/personas/:id/memory/stats—backend/src/routes/personas.ts(mount στο/api/personas, υποδιαδρομή/:id/memory/stats)GET /api/personas/:id/memory/status—backend/src/routes/personas.ts(mount στο/api/personas, υποδιαδρομή/:id/memory/status)POST /api/personas/:id/memory/consolidate—backend/src/routes/personas.ts(mount στο/api/personas, υποδιαδρομή/:id/memory/consolidate)POST /api/personas/:id/memory/decay—backend/src/routes/personas.ts(mount στο/api/personas, υποδιαδρομή/:id/memory/decay)
Αναζήτηση web
GET /api/search/access—backend/src/routes/search.ts(mount στο/api/search, υποδιαδρομή/access)GET /api/search/app—backend/src/routes/search.ts(mount στο/api/search, υποδιαδρομή/app)GET /api/search/config—backend/src/routes/search.ts(mount στο/api/search, υποδιαδρομή/config)POST /api/search/test—backend/src/routes/search.ts(mount στο/api/search, υποδιαδρομή/test)PUT /api/search/access—backend/src/routes/search.ts(mount στο/api/search, υποδιαδρομή/access)PUT /api/search/config—backend/src/routes/search.ts(mount στο/api/search, υποδιαδρομή/config)
Ρυθμίσεις και προτιμήσεις
GET /api/preferences—backend/src/routes/preferences.ts(mount στο/api/preferences, υποδιαδρομή/)GET /api/preferences/default-theme—backend/src/routes/preferences.ts(mount στο/api/preferences, υποδιαδρομή/default-theme)POST /api/preferences/embedding-settings/reset—backend/src/routes/preferences.ts(mount στο/api/preferences, υποδιαδρομή/embedding-settings/reset)POST /api/preferences/generation-options/reset—backend/src/routes/preferences.ts(mount στο/api/preferences, υποδιαδρομή/generation-options/reset)PUT /api/preferences—backend/src/routes/preferences.ts(mount στο/api/preferences, υποδιαδρομή/)PUT /api/preferences/default-model—backend/src/routes/preferences.ts(mount στο/api/preferences, υποδιαδρομή/default-model)PUT /api/preferences/default-theme—backend/src/routes/preferences.ts(mount στο/api/preferences, υποδιαδρομή/default-theme)PUT /api/preferences/embedding-settings—backend/src/routes/preferences.ts(mount στο/api/preferences, υποδιαδρομή/embedding-settings)PUT /api/preferences/generation-options—backend/src/routes/preferences.ts(mount στο/api/preferences, υποδιαδρομή/generation-options)PUT /api/preferences/model-generation-options—backend/src/routes/preferences.ts(mount στο/api/preferences, υποδιαδρομή/model-generation-options)PUT /api/preferences/system-message—backend/src/routes/preferences.ts(mount στο/api/preferences, υποδιαδρομή/system-message)
Είσοδος/έξοδος ομιλίας
GET /api/stt/models—backend/src/routes/stt.ts(mount στο/api/stt, υποδιαδρομή/models)POST /api/stt/transcribe—backend/src/routes/stt.ts(mount στο/api/stt, υποδιαδρομή/transcribe)DELETE /api/tts/voice-profiles/:profileId—backend/src/routes/tts.ts(mount στο/api/tts, υποδιαδρομή/voice-profiles/:profileId)GET /api/tts/models—backend/src/routes/tts.ts(mount στο/api/tts, υποδιαδρομή/models)GET /api/tts/plugins—backend/src/routes/tts.ts(mount στο/api/tts, υποδιαδρομή/plugins)GET /api/tts/voice-profiles—backend/src/routes/tts.ts(mount στο/api/tts, υποδιαδρομή/voice-profiles)GET /api/tts/voices/:pluginId—backend/src/routes/tts.ts(mount στο/api/tts, υποδιαδρομή/voices/:pluginId)POST /api/tts/generate—backend/src/routes/tts.ts(mount στο/api/tts, υποδιαδρομή/generate)POST /api/tts/generate-base64—backend/src/routes/tts.ts(mount στο/api/tts, υποδιαδρομή/generate-base64)POST /api/tts/voice-clone—backend/src/routes/tts.ts(mount στο/api/tts, υποδιαδρομή/voice-clone)POST /api/tts/voice-profiles/:profileId/revoke—backend/src/routes/tts.ts(mount στο/api/tts, υποδιαδρομή/voice-profiles/:profileId/revoke)GET /api/voice-access—backend/src/routes/voiceAccess.ts(mount στο/api/voice-access, υποδιαδρομή/)PUT /api/voice-access/:feature—backend/src/routes/voiceAccess.ts(mount στο/api/voice-access, υποδιαδρομή/:feature)
Hugging Face Hub
GET /api/huggingface-hub/models—backend/src/routes/huggingfaceHub.ts(mount στο/api/huggingface-hub, υποδιαδρομή/models)GET /api/huggingface-hub/models/:author/:modelName—backend/src/routes/huggingfaceHub.ts(mount στο/api/huggingface-hub, υποδιαδρομή/models/:author/:modelName)GET /api/huggingface-hub/models/:author/:modelName/gguf—backend/src/routes/huggingfaceHub.ts(mount στο/api/huggingface-hub, υποδιαδρομή/models/:author/:modelName/gguf)GET /api/huggingface-hub/models/:author/:modelName/has-gguf—backend/src/routes/huggingfaceHub.ts(mount στο/api/huggingface-hub, υποδιαδρομή/models/:author/:modelName/has-gguf)GET /api/huggingface-hub/tasks—backend/src/routes/huggingfaceHub.ts(mount στο/api/huggingface-hub, υποδιαδρομή/tasks)GET /api/huggingface-hub/trending—backend/src/routes/huggingfaceHub.ts(mount στο/api/huggingface-hub, υποδιαδρομή/trending)POST /api/huggingface-hub/cache/clear—backend/src/routes/huggingfaceHub.ts(mount στο/api/huggingface-hub, υποδιαδρομή/cache/clear)
Libre Claw
DELETE /api/libre-claw/automations/:automationId—backend/src/routes/libreClaw.ts(mount στο/api/libre-claw, υποδιαδρομή/automations/:automationId)GET /api/libre-claw/access—backend/src/routes/libreClaw.ts(mount στο/api/libre-claw, υποδιαδρομή/access)GET /api/libre-claw/automations—backend/src/routes/libreClaw.ts(mount στο/api/libre-claw, υποδιαδρομή/automations)GET /api/libre-claw/automations/:automationId—backend/src/routes/libreClaw.ts(mount στο/api/libre-claw, υποδιαδρομή/automations/:automationId)GET /api/libre-claw/config/fallback—backend/src/routes/libreClaw.ts(mount στο/api/libre-claw, υποδιαδρομή/config/fallback)GET /api/libre-claw/config/model—backend/src/routes/libreClaw.ts(mount στο/api/libre-claw, υποδιαδρομή/config/model)GET /api/libre-claw/dashboard—backend/src/routes/libreClaw.ts(mount στο/api/libre-claw, υποδιαδρομή/dashboard)GET /api/libre-claw/health—backend/src/routes/libreClaw.ts(mount στο/api/libre-claw, υποδιαδρομή/health)GET /api/libre-claw/runs—backend/src/routes/libreClaw.ts(mount στο/api/libre-claw, υποδιαδρομή/runs)GET /api/libre-claw/runs/:runId—backend/src/routes/libreClaw.ts(mount στο/api/libre-claw, υποδιαδρομή/runs/:runId)GET /api/libre-claw/runs/:runId/events—backend/src/routes/libreClaw.ts(mount στο/api/libre-claw, υποδιαδρομή/runs/:runId/events)GET /api/libre-claw/status—backend/src/routes/libreClaw.ts(mount στο/api/libre-claw, υποδιαδρομή/status)GET /api/libre-claw/usage—backend/src/routes/libreClaw.ts(mount στο/api/libre-claw, υποδιαδρομή/usage)PATCH /api/libre-claw/automations/:automationId—backend/src/routes/libreClaw.ts(mount στο/api/libre-claw, υποδιαδρομή/automations/:automationId)PATCH /api/libre-claw/config/fallback—backend/src/routes/libreClaw.ts(mount στο/api/libre-claw, υποδιαδρομή/config/fallback)PATCH /api/libre-claw/config/model—backend/src/routes/libreClaw.ts(mount στο/api/libre-claw, υποδιαδρομή/config/model)PATCH /api/libre-claw/config/theme—backend/src/routes/libreClaw.ts(mount στο/api/libre-claw, υποδιαδρομή/config/theme)POST /api/libre-claw/automations—backend/src/routes/libreClaw.ts(mount στο/api/libre-claw, υποδιαδρομή/automations)POST /api/libre-claw/automations/:automationId/pause—backend/src/routes/libreClaw.ts(mount στο/api/libre-claw, υποδιαδρομή/automations/:automationId/pause)POST /api/libre-claw/automations/:automationId/resume—backend/src/routes/libreClaw.ts(mount στο/api/libre-claw, υποδιαδρομή/automations/:automationId/resume)POST /api/libre-claw/automations/:automationId/run—backend/src/routes/libreClaw.ts(mount στο/api/libre-claw, υποδιαδρομή/automations/:automationId/run)POST /api/libre-claw/runs—backend/src/routes/libreClaw.ts(mount στο/api/libre-claw, υποδιαδρομή/runs)POST /api/libre-claw/runs/:runId/cancel—backend/src/routes/libreClaw.ts(mount στο/api/libre-claw, υποδιαδρομή/runs/:runId/cancel)POST /api/libre-claw/runs/:runId/permissions/:toolCallId—backend/src/routes/libreClaw.ts(mount στο/api/libre-claw, υποδιαδρομή/runs/:runId/permissions/:toolCallId)PUT /api/libre-claw/access—backend/src/routes/libreClaw.ts(mount στο/api/libre-claw, υποδιαδρομή/access)PUT /api/libre-claw/automations/:automationId—backend/src/routes/libreClaw.ts(mount στο/api/libre-claw, υποδιαδρομή/automations/:automationId)
Durable jobs και events
GET /api/jobs—backend/src/routes/jobs.ts(mount στο/api/jobs, υποδιαδρομή/)GET /api/jobs/:jobId—backend/src/routes/jobs.ts(mount στο/api/jobs, υποδιαδρομή/:jobId)GET /api/jobs/:jobId/events—backend/src/routes/jobs.ts(mount στο/api/jobs, υποδιαδρομή/:jobId/events)POST /api/jobs/:jobId/cancel—backend/src/routes/jobs.ts(mount στο/api/jobs, υποδιαδρομή/:jobId/cancel)
Προφίλ solo και team
Δεν υπάρχει mounted Express endpoint. Το εκτελέσιμο όριο είναι το UI ή η παραπάνω πηγή.
Ανάκτηση και backup
GET /api/recovery/drills—backend/src/routes/recovery.ts(mount στο/api/recovery, υποδιαδρομή/drills)POST /api/recovery/drills/run—backend/src/routes/recovery.ts(mount στο/api/recovery, υποδιαδρομή/drills/run)
Ακριβές απόθεμα routes 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
Όριο επιβολής
Η πύλη package αναλύει TypeScript/JavaScript, επιλύει κάθε Express router στο mount και συμφωνεί κάθε method/path και WebSocket pathname ένα προς ένα. Αποτυγχάνει σε unmounted route, μη υποστηριζόμενο router.route(), dynamic path, ελλιπή/διπλό owner, ελλιπές WebSocket evidence, αλλαγμένο UI route, ελλιπή applicability ή παλιό evidence/document.
Το focused evidence περιορίζεται σε ένα ακριβώς ονομασμένο test(...) και δύο patterns. Backend tests είναι ακριβή arguments στο test:package, Playwright ακολουθεί κανονικό discovery και η πύλη αποδεικνύει execution στο workflow Format & Lint των dev και main.