@vellumai/assistant 0.6.6 → 0.7.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/AGENTS.md +20 -0
- package/ARCHITECTURE.md +45 -36
- package/Dockerfile +26 -6
- package/README.md +8 -10
- package/__tests__/permissions/gateway-threshold-reader.test.ts +14 -20
- package/bun.lock +306 -119
- package/docs/architecture/memory.md +1 -90
- package/docs/architecture/security.md +15 -30
- package/docs/credential-execution-service.md +7 -5
- package/docs/skills.md +10 -10
- package/docs/stt-provider-onboarding.md +17 -45
- package/examples/plugins/echo/bun.lock +25 -0
- package/knip.json +8 -22
- package/node_modules/@vellumai/ces-client/bun.lock +33 -0
- package/node_modules/@vellumai/ces-client/package.json +25 -0
- package/node_modules/@vellumai/ces-client/src/__tests__/ces-client.test.ts +631 -0
- package/node_modules/@vellumai/ces-client/src/__tests__/package-boundary.test.ts +138 -0
- package/node_modules/@vellumai/ces-client/src/credential-rpc.ts +13 -0
- package/node_modules/@vellumai/ces-client/src/http-credentials.ts +296 -0
- package/node_modules/@vellumai/ces-client/src/http-log-export.ts +111 -0
- package/node_modules/@vellumai/ces-client/src/index.ts +43 -0
- package/node_modules/@vellumai/ces-client/src/rpc-client.ts +445 -0
- package/node_modules/@vellumai/credential-storage/src/__tests__/package-boundary.test.ts +32 -6
- package/node_modules/@vellumai/egress-proxy/src/__tests__/package-boundary.test.ts +32 -1
- package/node_modules/@vellumai/gateway-client/bun.lock +39 -0
- package/node_modules/@vellumai/gateway-client/package.json +23 -0
- package/node_modules/@vellumai/gateway-client/src/__tests__/gateway-client.test.ts +343 -0
- package/node_modules/@vellumai/gateway-client/src/__tests__/package-boundary.test.ts +140 -0
- package/node_modules/@vellumai/gateway-client/src/http-delivery.ts +422 -0
- package/node_modules/@vellumai/gateway-client/src/index.ts +35 -0
- package/node_modules/@vellumai/gateway-client/src/ipc-client.ts +331 -0
- package/node_modules/@vellumai/gateway-client/src/types.ts +131 -0
- package/node_modules/@vellumai/gateway-client/tsconfig.json +20 -0
- package/node_modules/@vellumai/{ces-contracts → service-contracts}/bun.lock +1 -1
- package/node_modules/@vellumai/{ces-contracts → service-contracts}/package.json +4 -2
- package/node_modules/@vellumai/{ces-contracts → service-contracts}/src/__tests__/contracts.test.ts +5 -1
- package/node_modules/@vellumai/service-contracts/src/__tests__/package-boundary.test.ts +155 -0
- package/node_modules/@vellumai/service-contracts/src/credential-rpc.ts +23 -0
- package/node_modules/@vellumai/service-contracts/src/index.ts +25 -0
- package/node_modules/@vellumai/{ces-contracts/src/index.ts → service-contracts/src/transport.ts} +6 -28
- package/node_modules/@vellumai/service-contracts/src/trust-rules.ts +116 -0
- package/node_modules/@vellumai/service-contracts/tsconfig.json +20 -0
- package/node_modules/@vellumai/skill-host-contracts/__tests__/client.test.ts +891 -0
- package/node_modules/@vellumai/skill-host-contracts/bun.lock +24 -0
- package/node_modules/@vellumai/skill-host-contracts/package.json +18 -0
- package/node_modules/@vellumai/skill-host-contracts/src/assistant-event.ts +91 -0
- package/node_modules/@vellumai/skill-host-contracts/src/client.ts +1348 -0
- package/node_modules/@vellumai/skill-host-contracts/src/index.ts +6 -0
- package/node_modules/@vellumai/skill-host-contracts/src/runtime-mode.ts +11 -0
- package/node_modules/@vellumai/skill-host-contracts/src/server-message.ts +32 -0
- package/node_modules/@vellumai/skill-host-contracts/src/skill-host.ts +333 -0
- package/node_modules/@vellumai/skill-host-contracts/src/tool-types.ts +444 -0
- package/node_modules/@vellumai/skill-host-contracts/tsconfig.json +20 -0
- package/node_modules/@vellumai/skill-host-contracts/tsconfig.test.json +12 -0
- package/openapi.yaml +2855 -556
- package/package.json +13 -7
- package/scripts/check-circular-deps.ts +80 -0
- package/scripts/generate-openapi.ts +24 -7
- package/{src/memory/graph/inspect.ts → scripts/memory-inspect.ts} +27 -27
- package/src/__tests__/access-request-decision.test.ts +2 -11
- package/src/__tests__/acp-session.test.ts +4 -150
- package/src/__tests__/actor-token-service.test.ts +17 -678
- package/src/__tests__/agent-loop-callsite-precedence.test.ts +2 -6
- package/src/__tests__/agent-loop-override-profile.test.ts +404 -0
- package/src/__tests__/agent-loop-thinking.test.ts +4 -4
- package/src/__tests__/agent-wake-override-profile.test.ts +261 -0
- package/src/__tests__/always-loaded-tools-guard.test.ts +2 -1
- package/src/__tests__/anthropic-provider.test.ts +127 -15
- package/src/__tests__/app-routes-csp.test.ts +106 -55
- package/src/__tests__/approval-cascade.test.ts +3 -355
- package/src/__tests__/approval-conversation-turn.test.ts +3 -8
- package/src/__tests__/approval-hardcoded-copy-guard.test.ts +1 -1
- package/src/__tests__/approval-primitive.test.ts +2 -1
- package/src/__tests__/approval-routes-http.test.ts +34 -451
- package/src/__tests__/assistant-events-sse-hardening.test.ts +73 -80
- package/src/__tests__/assistant-id-boundary-guard.test.ts +0 -3
- package/src/__tests__/attachment-upload-trusted-source.test.ts +139 -0
- package/src/__tests__/attachments-store.test.ts +46 -1
- package/src/__tests__/audit-log-rotation.test.ts +2 -1
- package/src/__tests__/auto-analysis-end-to-end.test.ts +8 -20
- package/src/__tests__/background-shell-bash.test.ts +227 -0
- package/src/__tests__/background-shell-host-bash.test.ts +474 -0
- package/src/__tests__/background-tool-registry.test.ts +145 -0
- package/src/__tests__/background-tool-routes.test.ts +175 -0
- package/src/__tests__/btw-routes.test.ts +147 -183
- package/src/__tests__/call-controller.test.ts +15 -2
- package/src/__tests__/call-conversation-messages.test.ts +2 -1
- package/src/__tests__/call-domain.test.ts +2 -2
- package/src/__tests__/call-pointer-messages.test.ts +11 -13
- package/src/__tests__/call-recovery.test.ts +2 -1
- package/src/__tests__/call-routes-http.test.ts +3 -14
- package/src/__tests__/call-store.test.ts +2 -1
- package/src/__tests__/cancel-resolves-conversation-key.test.ts +31 -62
- package/src/__tests__/canonical-guardian-store.test.ts +2 -2
- package/src/__tests__/catalog-files.test.ts +0 -26
- package/src/__tests__/ces-rpc-credential-backend.test.ts +1 -1
- package/src/__tests__/channel-approval-routes.test.ts +79 -49
- package/src/__tests__/channel-approval.test.ts +9 -7
- package/src/__tests__/channel-approvals.test.ts +9 -180
- package/src/__tests__/channel-delivery-store.test.ts +11 -10
- package/src/__tests__/channel-guardian.test.ts +14 -25
- package/src/__tests__/channel-readiness-service.test.ts +8 -6
- package/src/__tests__/channel-reply-delivery.test.ts +3 -19
- package/src/__tests__/channel-retry-sweep.test.ts +2 -5
- package/src/__tests__/checker.test.ts +274 -3921
- package/src/__tests__/circuit-breaker-pipeline.test.ts +1 -1
- package/src/__tests__/cli-memory-v2-reembed-skills.test.ts +208 -0
- package/src/__tests__/cli.test.ts +1 -38
- package/src/__tests__/compaction-events.test.ts +0 -1
- package/src/__tests__/compaction-pipeline.test.ts +1 -1
- package/src/__tests__/compaction-strip-metadata-clear.test.ts +2 -2
- package/src/__tests__/compaction-timeout-recovery.test.ts +1 -1
- package/src/__tests__/config-managed-gemini-defaults.test.ts +3 -7
- package/src/__tests__/config-model-image-provider.test.ts +0 -1
- package/src/__tests__/config-schema-cmd.test.ts +1 -1
- package/src/__tests__/config-schema.test.ts +30 -221
- package/src/__tests__/confirmation-request-guardian-bridge.test.ts +4 -25
- package/src/__tests__/contact-store-user-file.test.ts +2 -1
- package/src/__tests__/contacts-tools.test.ts +56 -29
- package/src/__tests__/contacts-write.test.ts +6 -61
- package/src/__tests__/context-search-agent-protocol.test.ts +230 -0
- package/src/__tests__/context-search-agent-runner.test.ts +998 -0
- package/src/__tests__/context-search-conversations-source.test.ts +320 -0
- package/src/__tests__/context-search-fanout.test.ts +380 -0
- package/src/__tests__/context-search-memory-source.test.ts +311 -0
- package/src/__tests__/context-search-pkb-source.test.ts +444 -0
- package/src/__tests__/context-search-types.test.ts +95 -0
- package/src/__tests__/context-search-workspace-source.test.ts +545 -0
- package/src/__tests__/context-window-manager.test.ts +25 -0
- package/src/__tests__/conversation-abort-tool-results.test.ts +10 -1
- package/src/__tests__/conversation-agent-loop-inference-profile.test.ts +631 -0
- package/src/__tests__/conversation-agent-loop-overflow.test.ts +15 -2
- package/src/__tests__/conversation-agent-loop.test.ts +24 -2
- package/src/__tests__/conversation-analysis-routes.test.ts +60 -82
- package/src/__tests__/conversation-attachments.test.ts +9 -20
- package/src/__tests__/conversation-attention-store.test.ts +2 -1
- package/src/__tests__/conversation-attention-telegram.test.ts +4 -2
- package/src/__tests__/conversation-clear-safety.test.ts +53 -95
- package/src/__tests__/conversation-confirmation-signals.test.ts +1 -39
- package/src/__tests__/conversation-crud-inference-profile.test.ts +54 -0
- package/src/__tests__/conversation-delete-schedule-cleanup.test.ts +63 -157
- package/src/__tests__/conversation-disk-view-integration.test.ts +2 -2
- package/src/__tests__/conversation-disk-view.test.ts +5 -4
- package/src/__tests__/conversation-fork-crud.test.ts +26 -55
- package/src/__tests__/conversation-fork-route.test.ts +5 -74
- package/src/__tests__/conversation-inference-profile-list.test.ts +128 -0
- package/src/__tests__/conversation-inference-profile-route.test.ts +216 -0
- package/src/__tests__/conversation-init.benchmark.test.ts +4 -81
- package/src/__tests__/conversation-key-store-disk-view.test.ts +2 -1
- package/src/__tests__/conversation-lifecycle.test.ts +0 -1
- package/src/__tests__/conversation-list-source.test.ts +2 -2
- package/src/__tests__/conversation-load-history-repair.test.ts +0 -1
- package/src/__tests__/conversation-pairing.test.ts +0 -1
- package/src/__tests__/conversation-pre-run-repair.test.ts +137 -297
- package/src/__tests__/conversation-process-callsite.test.ts +0 -1
- package/src/__tests__/conversation-provider-retry-repair.test.ts +6 -1
- package/src/__tests__/conversation-queue.test.ts +1 -33
- package/src/__tests__/conversation-routes-disk-view.test.ts +124 -97
- package/src/__tests__/conversation-routes-guardian-reply.test.ts +80 -55
- package/src/__tests__/conversation-routes-slash-commands.test.ts +83 -12
- package/src/__tests__/conversation-runtime-assembly.test.ts +41 -84
- package/src/__tests__/conversation-slash-commands.test.ts +6 -43
- package/src/__tests__/conversation-slash-queue.test.ts +0 -1
- package/src/__tests__/conversation-slash-unknown.test.ts +0 -1
- package/src/__tests__/conversation-speed-override.test.ts +0 -1
- package/src/__tests__/conversation-starter-routes.test.ts +177 -55
- package/src/__tests__/conversation-starters-cadence.test.ts +2 -2
- package/src/__tests__/conversation-store.test.ts +2 -375
- package/src/__tests__/conversation-tool-setup-app-refresh.test.ts +1 -1
- package/src/__tests__/conversation-tool-setup-memory-scope.test.ts +6 -6
- package/src/__tests__/conversation-unread-route.test.ts +1 -1
- package/src/__tests__/conversation-usage.test.ts +2 -1
- package/src/__tests__/conversation-wipe.test.ts +2 -103
- package/src/__tests__/conversation-workspace-cache-state.test.ts +0 -1
- package/src/__tests__/conversation-workspace-injection.test.ts +0 -1
- package/src/__tests__/conversation-workspace-tool-tracking.test.ts +0 -1
- package/src/__tests__/conversations-defer-cli.test.ts +150 -0
- package/src/__tests__/credential-execution-admin-cli.test.ts +1 -1
- package/src/__tests__/credential-execution-api-key-propagation.test.ts +2 -2
- package/src/__tests__/credential-execution-approval-bridge.test.ts +22 -289
- package/src/__tests__/credential-execution-client.test.ts +1 -1
- package/src/__tests__/credential-execution-managed-contract.test.ts +1 -1
- package/src/__tests__/credential-security-invariants.test.ts +14 -0
- package/src/__tests__/credentials-cli.test.ts +45 -21
- package/src/__tests__/daemon-credential-client.test.ts +23 -108
- package/src/__tests__/db-acp-history.test.ts +284 -0
- package/src/__tests__/db-activation-state.test.ts +240 -0
- package/src/__tests__/db-conversation-fork-lineage-migration.test.ts +2 -1
- package/src/__tests__/db-conversation-inference-profile-migration.test.ts +248 -0
- package/src/__tests__/db-llm-request-log-provider-migration.test.ts +2 -1
- package/src/__tests__/db-memory-graph-event-date-repair.test.ts +116 -0
- package/src/__tests__/db-rename-inference-profile-snake-case-migration.test.ts +132 -0
- package/src/__tests__/db-schedule-syntax-migration.test.ts +1 -0
- package/src/__tests__/delete-propagation.test.ts +3 -2
- package/src/__tests__/deterministic-verification-control-plane.test.ts +39 -32
- package/src/__tests__/dm-backfill.test.ts +3 -2
- package/src/__tests__/edit-propagation.test.ts +5 -7
- package/src/__tests__/embedding-managed-proxy-selection.test.ts +1 -1
- package/src/__tests__/empty-response-pipeline.test.ts +1 -1
- package/src/__tests__/events-client-registration.test.ts +297 -0
- package/src/__tests__/file-write-tool.test.ts +2 -4
- package/src/__tests__/filing-service.test.ts +144 -17
- package/src/__tests__/followup-tools.test.ts +2 -1
- package/src/__tests__/gateway-client-managed-outbound.test.ts +8 -12
- package/src/__tests__/gateway-only-enforcement.test.ts +2 -6
- package/src/__tests__/gateway-only-guard.test.ts +4 -3
- package/src/__tests__/gemini-provider.test.ts +276 -10
- package/src/__tests__/graph-extraction-event-date.test.ts +30 -0
- package/src/__tests__/guardian-action-conversation-turn.test.ts +2 -1
- package/src/__tests__/guardian-action-followup-executor.test.ts +2 -2
- package/src/__tests__/guardian-action-followup-store.test.ts +2 -1
- package/src/__tests__/guardian-action-grant-mint-consume.test.ts +9 -9
- package/src/__tests__/guardian-action-late-reply.test.ts +2 -1
- package/src/__tests__/guardian-action-store.test.ts +2 -1
- package/src/__tests__/guardian-action-sweep.test.ts +9 -8
- package/src/__tests__/guardian-binding-drift-heal.test.ts +2 -1
- package/src/__tests__/guardian-decision-primitive-canonical.test.ts +21 -118
- package/src/__tests__/guardian-dispatch.test.ts +14 -11
- package/src/__tests__/guardian-grant-minting.test.ts +9 -15
- package/src/__tests__/guardian-outbound-http.test.ts +71 -106
- package/src/__tests__/guardian-principal-id-roundtrip.test.ts +2 -2
- package/src/__tests__/guardian-routing-invariants.test.ts +34 -90
- package/src/__tests__/guardian-routing-state.test.ts +14 -22
- package/src/__tests__/guardian-verification-voice-binding.test.ts +1 -2
- package/src/__tests__/handlers-skills-memory-v2-reseed.test.ts +253 -0
- package/src/__tests__/handlers-user-message-approval-consumption.test.ts +8 -4
- package/src/__tests__/heartbeat-service.test.ts +39 -21
- package/src/__tests__/helpers/call-route-handler.ts +72 -0
- package/src/__tests__/helpers/channel-test-adapter.ts +161 -0
- package/src/__tests__/helpers/gateway-classify-mock.ts +67 -0
- package/src/__tests__/helpers/mock-logger.ts +36 -0
- package/src/__tests__/history-repair-pipeline.test.ts +1 -1
- package/src/__tests__/home-state-routes.test.ts +10 -31
- package/src/__tests__/host-browser-e2e-cloud.test.ts +2 -1
- package/src/__tests__/host-browser-e2e-self-hosted-capability.test.ts +12 -2
- package/src/__tests__/host-browser-routes.test.ts +36 -91
- package/src/__tests__/host-browser-ws-events-e2e.test.ts +10 -2
- package/src/__tests__/host-proxy-interface.test.ts +3 -3
- package/src/__tests__/host-shell-tool.test.ts +2 -4
- package/src/__tests__/host-transfer-pending-interactions.test.ts +160 -0
- package/src/__tests__/host-transfer-proxy.test.ts +733 -0
- package/src/__tests__/http-conversation-lineage.test.ts +3 -2
- package/src/__tests__/http-user-message-parity.test.ts +20 -11
- package/src/__tests__/inbound-invite-redemption.test.ts +3 -2
- package/src/__tests__/injector-chain.test.ts +16 -17
- package/src/__tests__/inline-skill-load-permissions.test.ts +41 -206
- package/src/__tests__/install-skill-routing.test.ts +1 -1
- package/src/__tests__/invite-redemption-service.test.ts +2 -1
- package/src/__tests__/invite-routes-http.test.ts +80 -12
- package/src/__tests__/jobs-store-qdrant-breaker.test.ts +2 -1
- package/src/__tests__/jobs-store-upsert-debounced.test.ts +2 -1
- package/src/__tests__/lifecycle-memory-v2-seed.test.ts +157 -0
- package/src/__tests__/list-messages-attachments.test.ts +52 -55
- package/src/__tests__/list-messages-page-latest.test.ts +283 -0
- package/src/__tests__/list-messages-tool-merge.test.ts +16 -17
- package/src/__tests__/llm-call-pipeline.test.ts +7 -8
- package/src/__tests__/llm-context-normalization.test.ts +69 -4
- package/src/__tests__/llm-context-route-provider.test.ts +39 -113
- package/src/__tests__/llm-request-log-turn-query.test.ts +2 -1
- package/src/__tests__/llm-resolver.test.ts +211 -0
- package/src/__tests__/llm-schema.test.ts +57 -1
- package/src/__tests__/llm-usage-store.test.ts +2 -1
- package/src/__tests__/log-export-workspace.test.ts +28 -17
- package/src/__tests__/mcp-abort-signal.test.ts +2 -3
- package/src/__tests__/mcp-client-auth.test.ts +2 -3
- package/src/__tests__/memory-admin-recall.test.ts +221 -0
- package/src/__tests__/memory-recall-log-store.test.ts +2 -1
- package/src/__tests__/memory-retrieval-pipeline.test.ts +6 -8
- package/src/__tests__/memory-upsert-concurrency.test.ts +2 -1
- package/src/__tests__/migration-cross-version-compatibility.test.ts +14 -13
- package/src/__tests__/migration-export-http.test.ts +17 -17
- package/src/__tests__/migration-export-to-gcs.test.ts +491 -0
- package/src/__tests__/migration-import-commit-http.test.ts +16 -16
- package/src/__tests__/migration-import-from-gcs.test.ts +533 -0
- package/src/__tests__/migration-import-from-url.test.ts +16 -23
- package/src/__tests__/migration-import-preflight-http.test.ts +13 -13
- package/src/__tests__/migration-jobs-status.test.ts +164 -0
- package/src/__tests__/migration-validate-http.test.ts +48 -83
- package/src/__tests__/mock-gateway-ipc.ts +32 -62
- package/src/__tests__/model-intents.test.ts +15 -2
- package/src/__tests__/nl-approval-parser.test.ts +13 -17
- package/src/__tests__/non-member-access-request.test.ts +13 -5
- package/src/__tests__/notification-guardian-path.test.ts +15 -8
- package/src/__tests__/notification-schedule-notify-dedup.test.ts +2 -1
- package/src/__tests__/notification-telegram-adapter.test.ts +57 -55
- package/src/__tests__/oauth-apps-routes.test.ts +76 -122
- package/src/__tests__/oauth-cli.test.ts +14 -1
- package/src/__tests__/oauth-provider-profiles.test.ts +1 -1
- package/src/__tests__/oauth-provider-visibility.test.ts +3 -1
- package/src/__tests__/oauth-providers-routes.test.ts +78 -101
- package/src/__tests__/oauth-store.test.ts +3 -1
- package/src/__tests__/oauth2-gateway-transport.test.ts +6 -3
- package/src/__tests__/openai-provider.test.ts +105 -6
- package/src/__tests__/openai-responses-provider.test.ts +146 -4
- package/src/__tests__/openrouter-provider-only.test.ts +22 -4
- package/src/__tests__/overflow-reduce-pipeline.test.ts +4 -9
- package/src/__tests__/permission-types.test.ts +3 -18
- package/src/__tests__/persistence-pipeline.test.ts +3 -2
- package/src/__tests__/pipeline-runner.test.ts +1 -1
- package/src/__tests__/platform-bash-auto-approve.test.ts +27 -20
- package/src/__tests__/platform.test.ts +11 -63
- package/src/__tests__/playbook-execution.test.ts +2 -1
- package/src/__tests__/playbook-tools.test.ts +2 -1
- package/src/__tests__/plugin-bootstrap.test.ts +51 -5
- package/src/__tests__/plugin-registry.test.ts +30 -0
- package/src/__tests__/plugin-route-contribution.test.ts +17 -11
- package/src/__tests__/plugin-skill-contribution.test.ts +3 -3
- package/src/__tests__/plugin-tool-contribution.test.ts +10 -4
- package/src/__tests__/plugin-types.test.ts +1 -1
- package/src/__tests__/pricing.test.ts +151 -2
- package/src/__tests__/profiler-routes.test.ts +112 -177
- package/src/__tests__/provider-send-message-override-profile.test.ts +223 -0
- package/src/__tests__/proxy-approval-callback.test.ts +6 -554
- package/src/__tests__/qdrant-collection-migration.test.ts +7 -7
- package/src/__tests__/reaction-persistence.test.ts +3 -2
- package/src/__tests__/rebuild-index-graph-nodes.test.ts +1 -1
- package/src/__tests__/recording-handler.test.ts +0 -2
- package/src/__tests__/registry.test.ts +1 -0
- package/src/__tests__/relay-server.test.ts +19 -4
- package/src/__tests__/require-fresh-approval.test.ts +19 -168
- package/src/__tests__/resolve-trust-class.test.ts +2 -1
- package/src/__tests__/retry-thinking-tool-choice.test.ts +19 -7
- package/src/__tests__/retry-verbosity-normalization.test.ts +139 -0
- package/src/__tests__/runtime-attachment-metadata.test.ts +26 -6
- package/src/__tests__/runtime-events-sse-parity.test.ts +12 -13
- package/src/__tests__/runtime-events-sse.test.ts +13 -21
- package/src/__tests__/schedule-routes.test.ts +226 -129
- package/src/__tests__/schedule-store.test.ts +119 -1
- package/src/__tests__/schedule-tools.test.ts +2 -1
- package/src/__tests__/scheduler-recurrence.test.ts +2 -1
- package/src/__tests__/scheduler-reuse-conversation.test.ts +2 -1
- package/src/__tests__/scheduler-wake.test.ts +356 -0
- package/src/__tests__/scoped-approval-grants.test.ts +2 -1
- package/src/__tests__/scoped-grant-security-matrix.test.ts +2 -1
- package/src/__tests__/secret-detection-handler.test.ts +2 -9
- package/src/__tests__/secret-ingress-http.test.ts +38 -21
- package/src/__tests__/secret-routes-managed-proxy.test.ts +46 -102
- package/src/__tests__/secret-scanner-executor.test.ts +1 -2
- package/src/__tests__/send-endpoint-busy.test.ts +38 -25
- package/src/__tests__/sequence-store.test.ts +2 -1
- package/src/__tests__/server-history-render.test.ts +2 -2
- package/src/__tests__/service-contracts-import-guard.test.ts +185 -0
- package/src/__tests__/set-permission-mode.test.ts +0 -10
- package/src/__tests__/settings-routes.test.ts +35 -68
- package/src/__tests__/skill-boundary-guard.test.ts +105 -0
- package/src/__tests__/skill-load-inline-command.test.ts +2 -2
- package/src/__tests__/skill-load-inline-includes.test.ts +2 -2
- package/src/__tests__/skill-runtime-path.test.ts +64 -0
- package/src/__tests__/skills-file-content-endpoint.test.ts +0 -2
- package/src/__tests__/slack-inbound-verification.test.ts +11 -2
- package/src/__tests__/slack-messaging-token-resolution.test.ts +1 -3
- package/src/__tests__/slack-reaction-approvals.test.ts +4 -4
- package/src/__tests__/slack-share-routes.test.ts +37 -72
- package/src/__tests__/subagent-call-site-routing.test.ts +79 -0
- package/src/__tests__/subagent-fork-spawn.test.ts +20 -28
- package/src/__tests__/subagent-notify-parent.test.ts +6 -29
- package/src/__tests__/subagent-role-registry.test.ts +3 -3
- package/src/__tests__/subagent-spawn-tool-fork.test.ts +52 -104
- package/src/__tests__/subagent-tools.test.ts +0 -1
- package/src/__tests__/suggestion-routes.test.ts +55 -62
- package/src/__tests__/task-compiler.test.ts +2 -1
- package/src/__tests__/task-management-tools.test.ts +2 -1
- package/src/__tests__/task-memory-cleanup.test.ts +2 -1
- package/src/__tests__/task-scheduler.test.ts +2 -1
- package/src/__tests__/telegram-config.test.ts +0 -1
- package/src/__tests__/terminal-tools.test.ts +5 -314
- package/src/__tests__/test-preload.ts +0 -11
- package/src/__tests__/thread-backfill.test.ts +3 -2
- package/src/__tests__/token-estimate-pipeline.test.ts +68 -15
- package/src/__tests__/tool-approval-handler.test.ts +21 -63
- package/src/__tests__/tool-audit-listener.test.ts +3 -3
- package/src/__tests__/tool-domain-event-publisher.test.ts +3 -3
- package/src/__tests__/tool-error-pipeline.test.ts +6 -6
- package/src/__tests__/tool-execute-pipeline.test.ts +6 -8
- package/src/__tests__/tool-execution-pipeline.benchmark.test.ts +64 -1
- package/src/__tests__/tool-executor-lifecycle-events.test.ts +28 -56
- package/src/__tests__/tool-executor.test.ts +322 -1633
- package/src/__tests__/tool-grant-request-escalation.test.ts +90 -311
- package/src/__tests__/tool-result-truncate-pipeline.test.ts +1 -1
- package/src/__tests__/trust-context-guards.test.ts +1 -1
- package/src/__tests__/trusted-contact-approval-notifier.test.ts +7 -15
- package/src/__tests__/trusted-contact-inline-approval-integration.test.ts +178 -354
- package/src/__tests__/trusted-contact-lifecycle-notifications.test.ts +3 -2
- package/src/__tests__/trusted-contact-multichannel.test.ts +3 -2
- package/src/__tests__/trusted-contact-verification.test.ts +2 -1
- package/src/__tests__/turn-boundary-resolution.test.ts +2 -1
- package/src/__tests__/twilio-routes.test.ts +25 -66
- package/src/__tests__/usage-cache-backfill-migration.test.ts +3 -7
- package/src/__tests__/usage-routes.test.ts +73 -90
- package/src/__tests__/user-plugin-loader.test.ts +54 -12
- package/src/__tests__/vellum-self-knowledge-inline-command.test.ts +2 -2
- package/src/__tests__/verification-control-plane-policy.test.ts +95 -14
- package/src/__tests__/voice-ingress-preflight.test.ts +5 -5
- package/src/__tests__/voice-invite-redemption.test.ts +2 -1
- package/src/__tests__/voice-scoped-grant-consumer.test.ts +3 -3
- package/src/__tests__/voice-session-bridge.test.ts +285 -106
- package/src/__tests__/volume-security-guard.test.ts +0 -2
- package/src/__tests__/workspace-migration-009-backfill-conversation-disk-view.test.ts +2 -1
- package/src/__tests__/workspace-migration-013-repair-conversation-disk-view.test.ts +3 -1
- package/src/__tests__/workspace-migration-028-recover-conversations-from-disk-view.test.ts +2 -1
- package/src/__tests__/workspace-migration-045-release-notes-meet-avatar.test.ts +1 -1
- package/src/__tests__/workspace-migration-052-seed-default-inference-profiles.test.ts +260 -0
- package/src/__tests__/workspace-migration-053-release-notes-acp-codex.test.ts +225 -0
- package/src/__tests__/workspace-migration-054-seed-recall-callsite.test.ts +235 -0
- package/src/__tests__/workspace-migration-055-release-notes-agentic-recall.test.ts +128 -0
- package/src/__tests__/workspace-migration-057-repair-stale-gemini-model-ids.test.ts +232 -0
- package/src/__tests__/workspace-migration-acp-sessions-ui.test.ts +144 -0
- package/src/__tests__/workspace-migration-drop-user-md.test.ts +1 -1
- package/src/__tests__/workspace-migration-memory-v2-init.test.ts +274 -0
- package/src/acp/__tests__/client-handler.test.ts +64 -0
- package/src/acp/__tests__/helpers/acp-config-stub.ts +62 -0
- package/src/acp/__tests__/helpers/which-stub.ts +45 -0
- package/src/acp/__tests__/session-manager-persistence.test.ts +366 -0
- package/src/acp/__tests__/session-manager-startup.test.ts +159 -0
- package/src/acp/__tests__/session-manager.test.ts +83 -0
- package/src/acp/client-handler.ts +23 -139
- package/src/acp/resolve-agent.test.ts +291 -0
- package/src/acp/resolve-agent.ts +176 -0
- package/src/acp/session-manager.ts +166 -7
- package/src/acp/types.ts +2 -50
- package/src/agent/loop.ts +37 -14
- package/src/agent/message-types.ts +0 -2
- package/src/approvals/AGENTS.md +1 -1
- package/src/approvals/__tests__/guardian-feed-event.test.ts +1 -9
- package/src/approvals/approval-primitive.ts +3 -20
- package/src/approvals/guardian-decision-primitive.ts +37 -68
- package/src/approvals/guardian-request-resolvers.ts +29 -103
- package/src/avatar/character-components.ts +6 -6
- package/src/{config/bundled-skills/settings/tools → avatar}/identity-avatar.ts +1 -1
- package/src/backup/__tests__/backup-worker.test.ts +0 -2
- package/src/backup/__tests__/paths.test.ts +3 -2
- package/src/backup/backup-worker.ts +1 -10
- package/src/backup/paths.ts +2 -18
- package/src/backup/restore.ts +7 -11
- package/src/browser/__tests__/operations.test.ts +0 -35
- package/src/browser/operations.ts +1 -47
- package/src/bundler/package-resolver.ts +2 -6
- package/src/calls/active-call-lease.ts +1 -1
- package/src/calls/call-constants.ts +1 -1
- package/src/calls/call-controller.ts +1 -5
- package/src/calls/call-domain.ts +14 -14
- package/src/calls/call-pointer-messages.ts +4 -9
- package/src/calls/call-store.ts +2 -1
- package/src/calls/guardian-action-sweep.ts +9 -25
- package/src/calls/guardian-dispatch.ts +1 -20
- package/src/calls/media-stream-audio-transcode.ts +2 -41
- package/src/calls/media-stream-server.ts +2 -3
- package/src/calls/media-stream-stt-session.ts +1 -3
- package/src/calls/relay-access-wait.ts +5 -8
- package/src/calls/relay-server.ts +15 -18
- package/src/calls/relay-setup-router.ts +2 -2
- package/src/calls/relay-verification.ts +4 -4
- package/src/calls/twilio-rest.ts +1 -1
- package/src/calls/twilio-routes.ts +160 -78
- package/src/calls/voice-control-protocol.ts +10 -10
- package/src/calls/voice-ingress-preflight.ts +2 -2
- package/src/calls/voice-session-bridge.ts +137 -42
- package/src/channels/__tests__/types.test.ts +25 -3
- package/src/channels/permission-profiles.ts +2 -72
- package/src/channels/types.ts +42 -26
- package/src/cli/AGENTS.md +1 -0
- package/src/cli/__tests__/notifications.test.ts +12 -10
- package/src/cli/commands/__tests__/attachment.test.ts +14 -8
- package/src/cli/commands/__tests__/backup.test.ts +3 -14
- package/src/cli/commands/__tests__/browser.test.ts +36 -31
- package/src/cli/commands/__tests__/cache.test.ts +23 -18
- package/src/cli/commands/__tests__/memory-v2.test.ts +396 -0
- package/src/cli/commands/__tests__/task.test.ts +36 -35
- package/src/cli/commands/__tests__/trust.test.ts +602 -0
- package/src/cli/commands/__tests__/ui-confirm.test.ts +14 -14
- package/src/cli/commands/__tests__/ui.test.ts +17 -17
- package/src/cli/commands/__tests__/watchers.test.ts +29 -29
- package/src/cli/commands/__tests__/webhooks.test.ts +544 -0
- package/src/cli/commands/attachment.ts +12 -8
- package/src/cli/commands/auth.ts +1 -1
- package/src/cli/commands/avatar.ts +192 -9
- package/src/cli/commands/backup.ts +14 -44
- package/src/cli/commands/browser.ts +52 -4
- package/src/cli/commands/cache.ts +7 -5
- package/src/cli/commands/channel-verification-sessions.ts +6 -6
- package/src/cli/commands/clients.ts +11 -12
- package/src/cli/commands/completions.ts +1 -1
- package/src/cli/commands/contacts.ts +10 -10
- package/src/cli/commands/conversations-defer.ts +364 -0
- package/src/cli/commands/conversations-import.ts +2 -3
- package/src/cli/commands/conversations.ts +63 -53
- package/src/cli/commands/credential-execution.ts +1 -1
- package/src/cli/commands/credentials.ts +139 -5
- package/src/cli/commands/default-action.ts +1 -1
- package/src/cli/commands/domain.ts +2 -2
- package/src/cli/commands/email.ts +7 -7
- package/src/cli/commands/image-generation.ts +1 -1
- package/src/cli/commands/keys.ts +2 -2
- package/src/cli/commands/mcp.ts +1 -1
- package/src/cli/commands/memory-v2.ts +343 -0
- package/src/cli/commands/memory.ts +8 -8
- package/src/cli/commands/notifications.ts +21 -20
- package/src/cli/commands/oauth/__tests__/connect.test.ts +23 -5
- package/src/cli/commands/oauth/__tests__/disconnect.test.ts +1 -1
- package/src/cli/commands/oauth/__tests__/mode.test.ts +1 -1
- package/src/cli/commands/oauth/__tests__/status.test.ts +1 -1
- package/src/cli/commands/oauth/__tests__/token.test.ts +1 -1
- package/src/cli/commands/oauth/connect.ts +2 -2
- package/src/cli/commands/oauth/shared.ts +29 -2
- package/src/cli/commands/platform/__tests__/callback-routes-list.test.ts +0 -6
- package/src/cli/commands/platform/__tests__/connect.test.ts +23 -11
- package/src/cli/commands/platform/__tests__/disconnect.test.ts +22 -10
- package/src/cli/commands/platform/__tests__/status.test.ts +22 -10
- package/src/cli/commands/platform/connect.ts +3 -3
- package/src/cli/commands/platform/disconnect.ts +4 -6
- package/src/cli/commands/platform/index.ts +12 -10
- package/src/cli/commands/routes.ts +7 -1
- package/src/cli/commands/sequence.ts +7 -7
- package/src/cli/commands/skills.ts +188 -82
- package/src/cli/commands/task.ts +12 -10
- package/src/cli/commands/trust.ts +460 -162
- package/src/cli/commands/ui.ts +3 -3
- package/src/cli/commands/usage.ts +10 -5
- package/src/cli/commands/watchers.ts +8 -8
- package/src/cli/commands/webhooks.ts +270 -0
- package/src/cli/lib/daemon-avatar-client.ts +37 -0
- package/src/cli/lib/daemon-credential-client.ts +27 -189
- package/src/cli/lib/ipc-params.ts +22 -0
- package/src/cli/program.ts +4 -0
- package/src/cli.ts +1 -61
- package/src/config/acp-defaults.test.ts +57 -0
- package/src/config/acp-defaults.ts +40 -0
- package/src/config/acp-schema.ts +1 -1
- package/src/config/assistant-feature-flags.ts +18 -142
- package/src/config/bundled-skills/acp/SKILL.md +44 -16
- package/src/config/bundled-skills/acp/TOOLS.json +45 -1
- package/src/config/bundled-skills/acp/tools/acp-list-agents.ts +12 -0
- package/src/config/bundled-skills/acp/tools/acp-steer.ts +12 -0
- package/src/config/bundled-skills/contacts/tools/contact-merge.ts +14 -14
- package/src/config/bundled-skills/contacts/tools/contact-search.ts +1 -4
- package/src/config/bundled-skills/contacts/tools/contact-upsert.ts +11 -6
- package/src/config/bundled-skills/media-processing/__tests__/cost-tracker.test.ts +6 -6
- package/src/config/bundled-skills/media-processing/services/reduce.ts +0 -13
- package/src/config/bundled-skills/messaging/tools/gmail-mime-helpers.ts +1 -1
- package/src/config/bundled-skills/messaging/tools/messaging-analyze-style.ts +1 -1
- package/src/config/bundled-skills/playbooks/tools/playbook-create.ts +1 -1
- package/src/config/bundled-skills/playbooks/tools/playbook-list.ts +1 -1
- package/src/config/bundled-skills/playbooks/tools/playbook-update.ts +1 -1
- package/src/config/bundled-skills/settings/SKILL.md +2 -17
- package/src/config/bundled-skills/settings/TOOLS.json +0 -56
- package/src/config/bundled-skills/subagent/SKILL.md +2 -0
- package/src/config/bundled-tool-registry.ts +4 -6
- package/src/config/env.ts +7 -8
- package/src/config/feature-flag-registry.json +16 -24
- package/src/config/llm-resolver.ts +51 -33
- package/src/config/loader.ts +12 -15
- package/src/config/schema.ts +5 -72
- package/src/config/schemas/__tests__/filing.test.ts +58 -0
- package/src/config/schemas/__tests__/memory-v2.test.ts +186 -0
- package/src/config/schemas/filing.ts +12 -0
- package/src/config/schemas/host-browser.ts +2 -2
- package/src/config/schemas/inference.ts +0 -2
- package/src/config/schemas/ingress.ts +1 -1
- package/src/config/schemas/llm.ts +51 -9
- package/src/config/schemas/memory-storage.ts +1 -1
- package/src/config/schemas/memory-v2.ts +176 -0
- package/src/config/schemas/memory.ts +2 -0
- package/src/config/schemas/security.ts +0 -60
- package/src/config/schemas/services.ts +46 -7
- package/src/config/skills.ts +1 -1
- package/src/config/types.ts +0 -41
- package/src/contacts/contact-store.ts +2 -2
- package/src/contacts/contacts-write.ts +0 -38
- package/src/contacts/types.ts +8 -10
- package/src/context/token-estimator.ts +1 -1
- package/src/context/tool-result-truncation.ts +1 -1
- package/src/context/window-manager.ts +1 -1
- package/src/credential-execution/approval-bridge.ts +7 -69
- package/src/credential-execution/client.ts +17 -422
- package/src/credential-execution/feature-gates.ts +1 -2
- package/src/credential-execution/managed-catalog.ts +1 -1
- package/src/credential-health/credential-health-service.ts +1 -1
- package/src/daemon/__tests__/conversation-feed-event.test.ts +0 -13
- package/src/daemon/__tests__/conversation-surfaces-launch.test.ts +1 -1
- package/src/daemon/__tests__/daemon-skill-host.test.ts +272 -0
- package/src/daemon/__tests__/meet-host-supervisor.test.ts +587 -0
- package/src/daemon/__tests__/meet-manifest-loader.test.ts +463 -0
- package/src/daemon/approval-generators.ts +2 -14
- package/src/daemon/classifier.ts +0 -106
- package/src/daemon/config-watcher.ts +14 -54
- package/src/daemon/connection-policy.ts +0 -14
- package/src/daemon/conversation-agent-loop-handlers.ts +37 -6
- package/src/daemon/conversation-agent-loop.ts +164 -53
- package/src/daemon/conversation-attachments.ts +5 -81
- package/src/daemon/conversation-error.ts +9 -5
- package/src/daemon/conversation-history.ts +1 -1
- package/src/daemon/conversation-launch.ts +1 -1
- package/src/daemon/conversation-messaging.ts +1 -1
- package/src/daemon/conversation-notifiers.ts +1 -1
- package/src/daemon/conversation-process.ts +9 -13
- package/src/daemon/conversation-runtime-assembly.ts +26 -88
- package/src/daemon/conversation-slash.ts +4 -160
- package/src/daemon/conversation-store.ts +368 -0
- package/src/daemon/conversation-surfaces.ts +5 -4
- package/src/daemon/conversation-tool-setup.ts +23 -172
- package/src/daemon/conversation.ts +46 -182
- package/src/daemon/daemon-control.ts +3 -3
- package/src/daemon/daemon-skill-host.ts +262 -0
- package/src/daemon/external-plugins-bootstrap.ts +67 -13
- package/src/daemon/handlers/config-channels.ts +2 -2
- package/src/daemon/handlers/config-embeddings.ts +1 -1
- package/src/daemon/handlers/config-ingress.ts +24 -2
- package/src/daemon/handlers/config-model.test.ts +17 -0
- package/src/daemon/handlers/config-model.ts +7 -52
- package/src/daemon/handlers/config-telegram.ts +6 -53
- package/src/daemon/handlers/config-voice.ts +1 -1
- package/src/daemon/handlers/conversations.ts +22 -156
- package/src/daemon/handlers/recording.ts +1 -1
- package/src/daemon/handlers/shared.ts +34 -35
- package/src/daemon/handlers/skills.ts +15 -23
- package/src/daemon/host-transfer-proxy.ts +500 -0
- package/src/daemon/lifecycle.ts +23 -258
- package/src/daemon/meet-host-startup.ts +51 -0
- package/src/daemon/meet-host-supervisor.ts +781 -0
- package/src/daemon/meet-manifest-loader.ts +410 -0
- package/src/daemon/memory-v2-startup.ts +35 -0
- package/src/daemon/message-protocol.ts +4 -7
- package/src/daemon/message-types/acp.ts +1 -0
- package/src/daemon/message-types/conversations.ts +16 -2
- package/src/daemon/message-types/host-transfer.ts +41 -0
- package/src/daemon/message-types/integrations.ts +6 -0
- package/src/daemon/message-types/messages.ts +14 -14
- package/src/daemon/message-types/schedules.ts +1 -0
- package/src/daemon/message-types/settings.ts +0 -6
- package/src/daemon/message-types/shared.ts +5 -2
- package/src/daemon/message-types/subagents.ts +2 -1
- package/src/daemon/message-types/workspace.ts +0 -2
- package/src/daemon/pkb-reminder-builder.test.ts +13 -12
- package/src/daemon/pkb-reminder-builder.ts +8 -16
- package/src/daemon/process-message.ts +616 -0
- package/src/daemon/providers-setup.ts +14 -6
- package/src/daemon/server.ts +79 -1274
- package/src/daemon/shutdown-handlers.ts +1 -1
- package/src/daemon/startup-error.ts +1 -1
- package/src/daemon/trust-context.ts +32 -0
- package/src/daemon/wake-target-adapter.ts +223 -0
- package/src/email/feature-gate.ts +1 -1
- package/src/events/domain-events.ts +1 -8
- package/src/events/tool-audit-listener.ts +2 -8
- package/src/events/tool-metrics-listener.ts +1 -4
- package/src/filing/filing-service.ts +194 -54
- package/src/followups/followup-store.ts +3 -71
- package/src/heartbeat/__tests__/heartbeat-feed-event.test.ts +89 -21
- package/src/heartbeat/heartbeat-service.ts +32 -11
- package/src/home/__tests__/phase5-exit-criteria.test.ts +18 -1
- package/src/home/__tests__/rollup-producer.test.ts +67 -2
- package/src/home/assistant-feed-authoring.ts +8 -1
- package/src/home/feed-types.ts +1 -1
- package/src/home/relationship-state-writer.ts +1 -1
- package/src/home/rewrite-feed-title.ts +58 -0
- package/src/home/rollup-producer.ts +16 -3
- package/src/inbound/platform-callback-registration.ts +1 -17
- package/src/ipc/__tests__/attachment-ipc.test.ts +128 -66
- package/src/ipc/__tests__/browser-ipc.test.ts +75 -51
- package/src/ipc/__tests__/cache-ipc.test.ts +52 -107
- package/src/ipc/__tests__/cli-ipc.test.ts +9 -6
- package/src/ipc/__tests__/skill-server-bidirectional.test.ts +254 -0
- package/src/ipc/__tests__/skill-server.test.ts +182 -0
- package/src/ipc/__tests__/socket-path.test.ts +69 -23
- package/src/ipc/__tests__/ui-request-route.test.ts +241 -216
- package/src/ipc/__tests__/watcher-ipc.test.ts +33 -33
- package/src/ipc/assistant-server.ts +450 -0
- package/src/ipc/cli-client.ts +3 -3
- package/src/ipc/gateway-client.test.ts +131 -0
- package/src/ipc/gateway-client.ts +98 -123
- package/src/ipc/ipc-framing.ts +281 -0
- package/src/ipc/routes/__tests__/memory-v2-backfill.test.ts +152 -0
- package/src/ipc/routes/__tests__/memory-v2-validate.test.ts +219 -0
- package/src/ipc/routes/db-proxy.ts +73 -0
- package/src/ipc/routes/route-adapter.ts +32 -0
- package/src/ipc/routes/trust-rules.test.ts +218 -0
- package/src/ipc/skill-ipc-types.ts +13 -0
- package/src/ipc/skill-routes/__tests__/config.test.ts +146 -0
- package/src/ipc/skill-routes/__tests__/events-ipc.test.ts +402 -0
- package/src/ipc/skill-routes/__tests__/identity.test.ts +81 -0
- package/src/ipc/skill-routes/__tests__/log.test.ts +133 -0
- package/src/ipc/skill-routes/__tests__/memory.test.ts +178 -0
- package/src/ipc/skill-routes/__tests__/platform.test.ts +111 -0
- package/src/ipc/skill-routes/__tests__/providers.test.ts +265 -0
- package/src/ipc/skill-routes/__tests__/registries.test.ts +361 -0
- package/src/ipc/skill-routes/config.ts +47 -0
- package/src/ipc/skill-routes/events.ts +131 -0
- package/src/ipc/skill-routes/identity.ts +34 -0
- package/src/ipc/skill-routes/index.ts +37 -0
- package/src/ipc/skill-routes/log.ts +40 -0
- package/src/ipc/skill-routes/memory.ts +76 -0
- package/src/ipc/skill-routes/platform.ts +39 -0
- package/src/ipc/skill-routes/providers.ts +163 -0
- package/src/ipc/skill-routes/registries.ts +393 -0
- package/src/ipc/skill-server.ts +771 -0
- package/src/ipc/skill-socket-path.ts +20 -0
- package/src/ipc/socket-cleanup.ts +92 -0
- package/src/ipc/socket-path.ts +63 -32
- package/src/live-voice/__tests__/live-voice-agent-turn.test.ts +374 -0
- package/src/live-voice/__tests__/live-voice-archive.test.ts +525 -0
- package/src/live-voice/__tests__/live-voice-events.test.ts +473 -0
- package/src/live-voice/__tests__/live-voice-integration.test.ts +359 -0
- package/src/live-voice/__tests__/live-voice-metrics.test.ts +179 -0
- package/src/live-voice/__tests__/live-voice-session-manager.test.ts +349 -0
- package/src/live-voice/__tests__/live-voice-stt.test.ts +244 -0
- package/src/live-voice/__tests__/live-voice-tts-session.test.ts +337 -0
- package/src/live-voice/__tests__/live-voice-tts.test.ts +337 -0
- package/src/live-voice/__tests__/protocol.test.ts +295 -0
- package/src/live-voice/__tests__/runtime-websocket-shell.test.ts +421 -0
- package/src/live-voice/live-voice-archive.ts +758 -0
- package/src/live-voice/live-voice-metrics.ts +472 -0
- package/src/live-voice/live-voice-session-manager.ts +222 -0
- package/src/live-voice/live-voice-session.ts +1144 -0
- package/src/live-voice/live-voice-tts.ts +260 -0
- package/src/live-voice/protocol.ts +524 -0
- package/src/mcp/client.ts +2 -2
- package/src/media/types.ts +4 -4
- package/src/memory/__tests__/auto-analysis-enqueue.test.ts +4 -28
- package/src/memory/__tests__/auto-analysis-guard.test.ts +2 -2
- package/src/memory/__tests__/conversation-analyze-job.test.ts +7 -62
- package/src/memory/__tests__/conversation-group-migration.test.ts +2 -2
- package/src/memory/__tests__/find-analysis-conversation.test.ts +2 -1
- package/src/memory/__tests__/jobs-worker-v2-schedule.test.ts +235 -0
- package/src/memory/admin.ts +65 -7
- package/src/memory/app-git-service.ts +0 -14
- package/src/memory/attachments-store.ts +14 -16
- package/src/memory/auto-analysis-enqueue.ts +2 -17
- package/src/memory/canonical-guardian-store.ts +2 -1
- package/src/memory/channel-verification-sessions.ts +1 -1
- package/src/memory/checkpoints.ts +1 -1
- package/src/memory/context-search/agent-protocol.ts +424 -0
- package/src/memory/context-search/agent-runner.ts +1295 -0
- package/src/memory/context-search/format.ts +160 -0
- package/src/memory/context-search/limits.ts +106 -0
- package/src/memory/context-search/search.ts +387 -0
- package/src/memory/context-search/sources/conversations.ts +278 -0
- package/src/memory/context-search/sources/memory.ts +90 -0
- package/src/memory/context-search/sources/pkb.ts +468 -0
- package/src/memory/context-search/sources/workspace.ts +1255 -0
- package/src/memory/context-search/types.ts +49 -0
- package/src/memory/conversation-analyze-job.ts +3 -24
- package/src/memory/conversation-attention-store.ts +1 -1
- package/src/memory/conversation-bootstrap.ts +1 -1
- package/src/memory/conversation-crud.ts +69 -127
- package/src/memory/conversation-directories.ts +1 -11
- package/src/memory/conversation-display-order-migration.ts +11 -2
- package/src/memory/conversation-group-migration.ts +20 -4
- package/src/memory/conversation-key-store.ts +3 -4
- package/src/memory/conversation-queries.ts +13 -26
- package/src/memory/conversation-starter-validation.ts +88 -0
- package/src/memory/conversation-starters-cadence.ts +1 -1
- package/src/memory/conversation-title-service.ts +2 -1
- package/src/memory/db-init.ts +14 -4
- package/src/memory/db-maintenance.ts +1 -1
- package/src/memory/delivery-channels.ts +1 -14
- package/src/memory/delivery-crud.ts +2 -32
- package/src/memory/delivery-status.ts +1 -1
- package/src/memory/embedding-gemini.test.ts +4 -4
- package/src/memory/external-conversation-store.ts +1 -1
- package/src/memory/graph/__tests__/conversation-graph-memory-v2-routing.test.ts +412 -0
- package/src/memory/graph/__tests__/handle-remember-v2.test.ts +225 -0
- package/src/memory/graph/bootstrap.test.ts +2 -7
- package/src/memory/graph/bootstrap.ts +2 -1
- package/src/memory/graph/capability-seed.ts +3 -3
- package/src/memory/graph/compaction.ts +1 -1
- package/src/memory/graph/consolidation.ts +13 -10
- package/src/memory/graph/conversation-graph-memory.ts +151 -1
- package/src/memory/graph/decay.ts +1 -1
- package/src/memory/graph/extraction.ts +53 -21
- package/src/memory/graph/graph-memory-state-store.ts +1 -1
- package/src/memory/graph/graph-search.test.ts +94 -2
- package/src/memory/graph/graph-search.ts +22 -7
- package/src/memory/graph/image-ref-utils.ts +1 -1
- package/src/memory/graph/retriever.test.ts +158 -4
- package/src/memory/graph/retriever.ts +17 -5
- package/src/memory/graph/store.test.ts +2 -1
- package/src/memory/graph/store.ts +1 -1
- package/src/memory/graph/tool-handlers.ts +73 -247
- package/src/memory/graph/tools.ts +35 -53
- package/src/memory/group-crud.ts +1 -2
- package/src/memory/guardian-action-store.ts +2 -1
- package/src/memory/guardian-approvals.ts +1 -1
- package/src/memory/guardian-rate-limits.ts +1 -1
- package/src/memory/indexer.ts +43 -17
- package/src/memory/invite-store.ts +1 -1
- package/src/memory/job-handlers/backfill.ts +1 -1
- package/src/memory/job-handlers/cleanup.ts +2 -1
- package/src/memory/job-handlers/conversation-starters.ts +18 -10
- package/src/memory/job-handlers/embedding.test.ts +2 -1
- package/src/memory/job-handlers/embedding.ts +1 -1
- package/src/memory/job-handlers/index-maintenance.ts +1 -1
- package/src/memory/job-handlers/summarization.ts +3 -3
- package/src/memory/job-utils.ts +3 -3
- package/src/memory/jobs/__tests__/embed-concept-page.test.ts +362 -0
- package/src/memory/jobs/embed-concept-page.ts +210 -0
- package/src/memory/jobs/embed-pkb-file.test.ts +2 -1
- package/src/memory/jobs-store.ts +10 -2
- package/src/memory/jobs-worker.ts +58 -5
- package/src/memory/lifecycle-events-store.ts +1 -1
- package/src/memory/llm-request-log-store.ts +1 -1
- package/src/memory/llm-usage-store.ts +1 -1
- package/src/memory/media-store.ts +1 -1
- package/src/memory/memory-recall-log-store.ts +1 -1
- package/src/memory/migrations/038-actor-token-records.ts +3 -0
- package/src/memory/migrations/039-actor-refresh-token-records.ts +3 -0
- package/src/memory/migrations/226-schedule-wake-conversation-id.ts +11 -0
- package/src/memory/migrations/227-add-conversation-inference-profile.ts +18 -0
- package/src/memory/migrations/228-rename-inference-profile-snake-case.ts +27 -0
- package/src/memory/migrations/229-delete-private-conversations.test.ts +1087 -0
- package/src/memory/migrations/229-delete-private-conversations.ts +210 -0
- package/src/memory/migrations/230-acp-session-history.ts +41 -0
- package/src/memory/migrations/231-repair-memory-graph-event-dates.ts +128 -0
- package/src/memory/migrations/232-activation-state.ts +38 -0
- package/src/memory/migrations/index.ts +10 -0
- package/src/memory/migrations/registry.ts +7 -0
- package/src/memory/pkb/pkb-index.test.ts +4 -5
- package/src/memory/pkb/pkb-reconcile.test.ts +4 -5
- package/src/memory/pkb/pkb-search.test.ts +83 -3
- package/src/memory/pkb/pkb-search.ts +27 -14
- package/src/memory/published-pages-store.ts +1 -1
- package/src/memory/schema/acp.ts +30 -0
- package/src/memory/schema/conversations.ts +1 -1
- package/src/memory/schema/index.ts +1 -0
- package/src/memory/schema/infrastructure.ts +1 -32
- package/src/memory/schema/memory-graph.ts +36 -14
- package/src/memory/scoped-approval-grants.ts +2 -1
- package/src/memory/search/semantic.ts +2 -2
- package/src/memory/shared-app-links-store.ts +2 -1
- package/src/memory/tool-usage-store.ts +1 -1
- package/src/memory/trace-event-store.ts +2 -1
- package/src/memory/turn-events-store.ts +1 -1
- package/src/memory/v2/__tests__/activation-store.test.ts +202 -0
- package/src/memory/v2/__tests__/activation.test.ts +956 -0
- package/src/memory/v2/__tests__/backfill-jobs.test.ts +610 -0
- package/src/memory/v2/__tests__/consolidation-job.test.ts +395 -0
- package/src/memory/v2/__tests__/edges.test.ts +435 -0
- package/src/memory/v2/__tests__/injection.test.ts +792 -0
- package/src/memory/v2/__tests__/migration.test.ts +812 -0
- package/src/memory/v2/__tests__/page-store.test.ts +334 -0
- package/src/memory/v2/__tests__/qdrant.test.ts +438 -0
- package/src/memory/v2/__tests__/sim.test.ts +549 -0
- package/src/memory/v2/__tests__/skill-content.test.ts +85 -0
- package/src/memory/v2/__tests__/skill-qdrant.test.ts +657 -0
- package/src/memory/v2/__tests__/skill-store.test.ts +351 -0
- package/src/memory/v2/__tests__/sweep-job.test.ts +441 -0
- package/src/memory/v2/activation-store.ts +109 -0
- package/src/memory/v2/activation.ts +490 -0
- package/src/memory/v2/backfill-jobs.ts +442 -0
- package/src/memory/v2/consolidation-job.ts +304 -0
- package/src/memory/v2/edges.ts +217 -0
- package/src/memory/v2/injection.ts +307 -0
- package/src/memory/v2/migration.ts +654 -0
- package/src/memory/v2/now-text.ts +38 -0
- package/src/memory/v2/page-store.ts +245 -0
- package/src/memory/v2/prompts/consolidation.ts +185 -0
- package/src/memory/v2/prompts/sweep.ts +56 -0
- package/src/memory/v2/qdrant.ts +342 -0
- package/src/memory/v2/sim.ts +206 -0
- package/src/memory/v2/skill-content.ts +42 -0
- package/src/memory/v2/skill-qdrant.ts +395 -0
- package/src/memory/v2/skill-store.ts +128 -0
- package/src/memory/v2/sweep-job.ts +298 -0
- package/src/memory/v2/types.ts +116 -0
- package/src/memory/validation.ts +1 -1
- package/src/messaging/providers/index.ts +262 -0
- package/src/messaging/providers/slack/api.ts +242 -0
- package/src/messaging/providers/slack/message-metadata.ts +1 -1
- package/src/messaging/providers/slack/send.ts +383 -0
- package/src/messaging/providers/telegram-bot/adapter.ts +4 -42
- package/src/messaging/providers/telegram-bot/api.ts +253 -0
- package/src/messaging/providers/telegram-bot/client.ts +17 -58
- package/src/messaging/providers/telegram-bot/send.ts +232 -0
- package/src/messaging/providers/whatsapp/adapter.ts +4 -36
- package/src/messaging/providers/whatsapp/api.ts +319 -0
- package/src/messaging/providers/whatsapp/client.ts +4 -48
- package/src/messaging/providers/whatsapp/send.ts +209 -0
- package/src/notifications/adapters/slack.ts +5 -23
- package/src/notifications/adapters/telegram.ts +8 -29
- package/src/notifications/conversation-candidates.ts +1 -1
- package/src/notifications/conversation-seed-composer.ts +12 -6
- package/src/notifications/copy-composer.ts +1 -1
- package/src/notifications/decision-engine.ts +1 -1
- package/src/notifications/decisions-store.ts +1 -1
- package/src/notifications/deliveries-store.ts +2 -1
- package/src/notifications/deterministic-checks.ts +1 -1
- package/src/notifications/events-store.ts +1 -13
- package/src/notifications/preferences-store.ts +1 -1
- package/src/notifications/signal.ts +0 -9
- package/src/oauth/connection-resolver.ts +11 -2
- package/src/oauth/oauth-store.ts +2 -1
- package/src/outbound-proxy/index.ts +0 -1
- package/src/permissions/approval-policy.test.ts +149 -132
- package/src/permissions/approval-policy.ts +65 -91
- package/src/permissions/checker.test.ts +632 -0
- package/src/permissions/checker.ts +266 -459
- package/src/permissions/gateway-threshold-reader.ts +28 -47
- package/src/permissions/ipc-risk-types.ts +95 -0
- package/src/permissions/prompter.ts +4 -9
- package/src/permissions/risk-types.ts +24 -210
- package/src/permissions/types.ts +17 -47
- package/src/permissions/workspace-policy.ts +2 -4
- package/src/playbooks/playbook-compiler.ts +1 -1
- package/src/plugins/defaults/index.ts +1 -1
- package/src/plugins/defaults/injectors.ts +18 -21
- package/src/plugins/defaults/llm-call.ts +6 -9
- package/src/plugins/defaults/memory-retrieval.ts +1 -6
- package/src/plugins/defaults/overflow-reduce.ts +9 -5
- package/src/plugins/defaults/token-estimate.ts +2 -3
- package/src/plugins/registry.ts +61 -1
- package/src/plugins/types.ts +6 -7
- package/src/plugins/user-loader.ts +36 -10
- package/src/prompts/__tests__/system-prompt-memory-v2.test.ts +197 -0
- package/src/prompts/persona-resolver.ts +2 -4
- package/src/prompts/system-prompt.ts +39 -0
- package/src/prompts/templates/SOUL.md +3 -1
- package/src/providers/__tests__/provider-env-vars.test.ts +0 -21
- package/src/providers/__tests__/retry-callsite.test.ts +3 -6
- package/src/providers/anthropic/client.ts +71 -19
- package/src/providers/call-site-routing.ts +7 -3
- package/src/providers/fireworks/client.ts +3 -0
- package/src/providers/gemini/client.ts +96 -22
- package/src/providers/managed-proxy/context.ts +0 -12
- package/src/providers/model-catalog.ts +83 -8
- package/src/providers/model-intents.ts +7 -8
- package/src/providers/openai/chat-completions-provider.ts +37 -7
- package/src/providers/openai/responses-provider.ts +39 -4
- package/src/providers/openrouter/client.ts +4 -5
- package/src/providers/provider-env-vars.ts +4 -12
- package/src/providers/provider-send-message.ts +16 -11
- package/src/providers/registry.ts +1 -1
- package/src/providers/retry.ts +52 -23
- package/src/providers/speech-to-text/openai-whisper-stream.ts +1 -1
- package/src/providers/speech-to-text/openai-whisper.ts +3 -6
- package/src/providers/speech-to-text/provider-catalog.ts +75 -0
- package/src/providers/speech-to-text/xai.ts +5 -5
- package/src/providers/thinking-config.ts +34 -0
- package/src/providers/types.ts +22 -10
- package/src/runtime/AGENTS.md +10 -9
- package/src/runtime/__tests__/agent-wake.test.ts +33 -9
- package/src/runtime/__tests__/client-registry.test.ts +5 -27
- package/src/runtime/__tests__/interactive-ui.test.ts +157 -246
- package/src/runtime/access-request-helper.ts +9 -20
- package/src/runtime/actor-trust-resolver.ts +2 -2
- package/src/runtime/agent-wake.ts +174 -68
- package/src/runtime/approval-conversation-turn.ts +2 -15
- package/src/runtime/approval-message-composer.ts +11 -60
- package/src/runtime/assistant-event.ts +18 -66
- package/src/runtime/auth/__tests__/guard-tests.test.ts +6 -30
- package/src/runtime/auth/__tests__/middleware.test.ts +10 -10
- package/src/runtime/auth/__tests__/route-policy.test.ts +0 -8
- package/src/runtime/auth/context.ts +9 -0
- package/src/runtime/auth/middleware.ts +4 -4
- package/src/runtime/auth/route-policy.ts +195 -4
- package/src/runtime/auth/token-service.ts +1 -100
- package/src/runtime/capability-tokens.ts +89 -313
- package/src/runtime/channel-approval-types.ts +1 -6
- package/src/runtime/channel-approvals.ts +7 -79
- package/src/runtime/channel-readiness-service.ts +2 -2
- package/src/runtime/channel-reply-delivery.ts +2 -8
- package/src/runtime/channel-retry-sweep.ts +20 -17
- package/src/runtime/client-registry.ts +21 -28
- package/src/runtime/confirmation-request-guardian-bridge.ts +2 -7
- package/src/runtime/gateway-client.ts +37 -378
- package/src/runtime/guardian-action-grant-minter.ts +2 -3
- package/src/runtime/guardian-action-message-composer.ts +11 -52
- package/src/runtime/guardian-action-service.ts +19 -7
- package/src/runtime/guardian-decision-types.ts +4 -65
- package/src/runtime/guardian-reply-router.ts +10 -19
- package/src/runtime/guardian-vellum-migration.ts +5 -64
- package/src/runtime/http-errors.ts +3 -0
- package/src/runtime/http-router.ts +50 -7
- package/src/runtime/http-server.ts +345 -1110
- package/src/runtime/http-types.ts +15 -98
- package/src/runtime/interactive-ui-types.ts +145 -0
- package/src/runtime/interactive-ui.ts +38 -196
- package/src/runtime/invite-redemption-service.ts +1 -1
- package/src/runtime/invite-redemption-templates.ts +1 -1
- package/src/runtime/local-actor-identity.ts +13 -43
- package/src/runtime/message-composer-types.ts +134 -0
- package/src/runtime/middleware/rate-limiter.ts +1 -1
- package/src/runtime/middleware/request-logger.ts +5 -2
- package/src/runtime/migrations/__tests__/job-registry.test.ts +346 -0
- package/src/runtime/migrations/__tests__/vbundle-tar-stream.test.ts +16 -0
- package/src/runtime/migrations/job-registry.ts +281 -0
- package/src/runtime/migrations/vbundle-builder.ts +3 -4
- package/src/runtime/migrations/vbundle-importer.ts +1 -1
- package/src/runtime/migrations/vbundle-streaming-importer.ts +0 -13
- package/src/runtime/migrations/vbundle-tar-stream.ts +11 -3
- package/src/runtime/nl-approval-parser.ts +16 -21
- package/src/runtime/pending-interactions.ts +29 -12
- package/src/runtime/routes/__tests__/acp-routes.test.ts +395 -0
- package/src/runtime/routes/__tests__/backup-routes.test.ts +204 -320
- package/src/runtime/routes/__tests__/home-feed-routes.test.ts +72 -4
- package/src/runtime/routes/__tests__/stt-routes.test.ts +182 -223
- package/src/runtime/routes/__tests__/suggest-trust-rule-routes.test.ts +230 -0
- package/src/{ipc/__tests__/task-ipc.test.ts → runtime/routes/__tests__/task-routes.test.ts} +116 -96
- package/src/runtime/routes/__tests__/tts-routes.test.ts +185 -289
- package/src/runtime/routes/access-request-decision.ts +25 -50
- package/src/runtime/routes/acp-routes.test.ts +371 -0
- package/src/runtime/routes/acp-routes.ts +392 -166
- package/src/runtime/routes/app-management-routes.ts +464 -660
- package/src/runtime/routes/app-routes.ts +192 -177
- package/src/runtime/routes/approval-routes.ts +116 -434
- package/src/runtime/routes/approval-strategies/guardian-callback-strategy.ts +24 -84
- package/src/runtime/routes/approval-strategies/guardian-text-engine-strategy.ts +3 -10
- package/src/runtime/routes/attachment-routes.ts +409 -253
- package/src/runtime/routes/audio-routes.ts +51 -18
- package/src/runtime/routes/avatar-routes.ts +82 -75
- package/src/runtime/routes/background-tool-routes.ts +94 -0
- package/src/runtime/routes/backup-routes.ts +154 -336
- package/src/runtime/routes/brain-graph-routes.ts +83 -110
- package/src/runtime/routes/browser-routes.ts +141 -0
- package/src/runtime/routes/btw-routes.ts +62 -106
- package/src/runtime/routes/cache-routes.ts +96 -0
- package/src/runtime/routes/call-routes.ts +208 -247
- package/src/runtime/routes/canonical-guardian-expiry-sweep.ts +1 -1
- package/src/runtime/routes/channel-delivery-routes.ts +25 -27
- package/src/runtime/routes/channel-readiness-routes.ts +83 -120
- package/src/runtime/routes/channel-route-definitions.ts +62 -0
- package/src/runtime/routes/channel-route-shared.ts +14 -18
- package/src/runtime/routes/channel-verification-routes.ts +207 -187
- package/src/runtime/routes/client-routes.ts +48 -0
- package/src/runtime/routes/contact-routes.ts +533 -407
- package/src/runtime/routes/conversation-analysis-routes.ts +48 -49
- package/src/runtime/routes/conversation-attention-routes.ts +55 -67
- package/src/runtime/routes/conversation-list-routes.ts +265 -0
- package/src/runtime/routes/conversation-management-routes.ts +626 -715
- package/src/runtime/routes/conversation-query-routes.ts +510 -460
- package/src/runtime/routes/conversation-routes.ts +456 -368
- package/src/runtime/routes/conversation-starter-routes.ts +121 -71
- package/src/runtime/routes/credential-prompt-routes.ts +124 -0
- package/src/runtime/routes/debug-routes.ts +34 -39
- package/src/runtime/routes/defer-routes.ts +230 -0
- package/src/runtime/routes/diagnostics-routes.ts +79 -70
- package/src/runtime/routes/documents-routes.ts +117 -106
- package/src/runtime/routes/errors.ts +132 -0
- package/src/runtime/routes/events-routes.ts +97 -58
- package/src/runtime/routes/filing-routes.ts +65 -78
- package/src/runtime/routes/global-search-routes.ts +51 -57
- package/src/runtime/routes/group-routes.ts +199 -181
- package/src/runtime/routes/guardian-action-routes.ts +103 -169
- package/src/runtime/routes/guardian-approval-interception.ts +27 -58
- package/src/runtime/routes/guardian-approval-prompt.ts +10 -21
- package/src/runtime/routes/guardian-approval-reply-helpers.ts +2 -6
- package/src/runtime/routes/guardian-expiry-sweep.ts +19 -36
- package/src/runtime/routes/heartbeat-routes.ts +194 -209
- package/src/runtime/routes/home-feed-routes.ts +85 -187
- package/src/runtime/routes/home-state-routes.ts +27 -24
- package/src/runtime/routes/host-bash-routes.ts +42 -52
- package/src/runtime/routes/host-browser-routes.ts +38 -69
- package/src/runtime/routes/host-cu-routes.ts +74 -70
- package/src/runtime/routes/host-file-routes.ts +50 -60
- package/src/runtime/routes/host-transfer-routes.ts +220 -0
- package/src/runtime/routes/http-adapter.ts +172 -0
- package/src/runtime/routes/identity-routes.ts +83 -79
- package/src/runtime/routes/inbound-conversation.ts +11 -18
- package/src/runtime/routes/inbound-message-handler.ts +74 -110
- package/src/runtime/routes/inbound-stages/acl-enforcement.ts +79 -138
- package/src/runtime/routes/inbound-stages/background-dispatch.test.ts +2 -3
- package/src/runtime/routes/inbound-stages/background-dispatch.ts +54 -90
- package/src/runtime/routes/inbound-stages/bootstrap-intercept.ts +25 -50
- package/src/runtime/routes/inbound-stages/edit-intercept.ts +7 -7
- package/src/runtime/routes/inbound-stages/escalation-intercept.ts +5 -5
- package/src/runtime/routes/inbound-stages/guardian-activation-intercept.test.ts +5 -6
- package/src/runtime/routes/inbound-stages/guardian-activation-intercept.ts +14 -24
- package/src/runtime/routes/inbound-stages/guardian-reply-intercept.ts +3 -10
- package/src/runtime/routes/inbound-stages/secret-ingress-check.ts +4 -4
- package/src/runtime/routes/inbound-stages/transcribe-audio.ts +3 -3
- package/src/runtime/routes/inbound-stages/verification-intercept.ts +19 -26
- package/src/runtime/routes/index.ts +197 -0
- package/src/runtime/routes/integrations/slack/__tests__/channel.test.ts +25 -32
- package/src/runtime/routes/integrations/slack/__tests__/share.test.ts +22 -31
- package/src/runtime/routes/integrations/slack/channel.ts +69 -66
- package/src/runtime/routes/integrations/slack/share.ts +49 -58
- package/src/runtime/routes/integrations/telegram.ts +91 -74
- package/src/runtime/routes/integrations/twilio.ts +163 -240
- package/src/runtime/routes/integrations/vercel.ts +57 -54
- package/src/runtime/routes/interface-routes.ts +43 -0
- package/src/runtime/routes/internal-oauth-routes.ts +56 -0
- package/src/runtime/routes/internal-twilio-routes.ts +46 -0
- package/src/runtime/routes/llm-context-normalization.ts +4 -2
- package/src/runtime/routes/log-export/workspace-allowlist.ts +1 -1
- package/src/runtime/routes/log-export-routes.ts +90 -100
- package/src/runtime/routes/memory-item-routes.test.ts +152 -175
- package/src/runtime/routes/memory-item-routes.ts +243 -323
- package/src/runtime/routes/memory-v2-routes.ts +193 -0
- package/src/runtime/routes/migration-rollback-routes.ts +167 -212
- package/src/runtime/routes/migration-routes.ts +877 -374
- package/src/runtime/routes/notification-routes.ts +199 -70
- package/src/runtime/routes/oauth-apps.ts +254 -251
- package/src/runtime/routes/oauth-providers.ts +66 -57
- package/src/runtime/routes/playground/__tests__/force-compact.test.ts +60 -120
- package/src/runtime/routes/playground/__tests__/guard.test.ts +34 -54
- package/src/runtime/routes/playground/__tests__/inject-failures.test.ts +107 -151
- package/src/runtime/routes/playground/__tests__/reset-circuit.test.ts +41 -117
- package/src/runtime/routes/playground/__tests__/seed-conversation.test.ts +95 -138
- package/src/runtime/routes/playground/__tests__/seeded-conversations.test.ts +115 -217
- package/src/runtime/routes/playground/__tests__/state.test.ts +41 -90
- package/src/runtime/routes/playground/conversation-not-found.ts +9 -11
- package/src/runtime/routes/playground/force-compact.ts +41 -54
- package/src/runtime/routes/playground/guard.ts +18 -19
- package/src/runtime/routes/playground/helpers.ts +103 -0
- package/src/runtime/routes/playground/index.ts +15 -25
- package/src/runtime/routes/playground/inject-failures.ts +48 -64
- package/src/runtime/routes/playground/reset-circuit.ts +31 -57
- package/src/runtime/routes/playground/seed-conversation.ts +66 -92
- package/src/runtime/routes/playground/seeded-conversations.ts +60 -64
- package/src/runtime/routes/playground/state.ts +23 -24
- package/src/runtime/routes/profiler-routes.ts +132 -167
- package/src/runtime/routes/ps-routes.ts +120 -0
- package/src/runtime/routes/recording-routes.ts +197 -258
- package/src/runtime/routes/rename-conversation-routes.ts +89 -0
- package/src/runtime/routes/schedule-routes.ts +238 -242
- package/src/runtime/routes/secret-routes.ts +219 -265
- package/src/runtime/routes/secrets-deps.ts +24 -0
- package/src/runtime/routes/settings-routes.ts +361 -441
- package/src/runtime/routes/skills-routes.ts +434 -469
- package/src/runtime/routes/stt-routes.ts +196 -206
- package/src/runtime/routes/subagents-routes.ts +125 -141
- package/src/runtime/routes/suggest-trust-rule-routes.ts +244 -0
- package/src/runtime/routes/surface-action-routes.ts +135 -190
- package/src/runtime/routes/surface-content-routes.ts +84 -118
- package/src/runtime/routes/task-routes.ts +354 -0
- package/src/runtime/routes/telemetry-routes.ts +33 -49
- package/src/runtime/routes/trace-event-routes.ts +55 -74
- package/src/runtime/routes/trust-rules-routes.ts +147 -239
- package/src/runtime/routes/tts-routes.ts +187 -169
- package/src/runtime/routes/types.ts +139 -0
- package/src/{ipc/routes/ui-request.ts → runtime/routes/ui-request-routes.ts} +23 -17
- package/src/runtime/routes/upgrade-broadcast-routes.ts +156 -197
- package/src/runtime/routes/usage-routes.ts +143 -169
- package/src/runtime/routes/user-routes.ts +102 -18
- package/src/runtime/routes/wake-conversation-routes.ts +49 -0
- package/src/{ipc/routes/watcher.ts → runtime/routes/watcher-routes.ts} +84 -39
- package/src/runtime/routes/wipe-conversation-routes.ts +89 -0
- package/src/runtime/routes/work-items-routes.test.ts +10 -20
- package/src/runtime/routes/work-items-routes.ts +418 -433
- package/src/runtime/routes/workspace-commit-routes.ts +30 -61
- package/src/runtime/routes/workspace-routes.test.ts +254 -381
- package/src/runtime/routes/workspace-routes.ts +238 -246
- package/src/runtime/runtime-mode.ts +8 -1
- package/src/runtime/services/__tests__/analyze-conversation.test.ts +80 -118
- package/src/runtime/services/analyze-conversation.ts +14 -41
- package/src/runtime/services/conversation-serializer.ts +181 -0
- package/src/runtime/trust-context-resolver.ts +3 -2
- package/src/runtime/verification-outbound-actions.ts +13 -49
- package/src/schedule/schedule-store.ts +64 -2
- package/src/schedule/scheduler.ts +101 -0
- package/src/security/ces-credential-client.ts +32 -169
- package/src/security/ces-rpc-credential-backend.ts +1 -1
- package/src/security/credential-backend.ts +6 -6
- package/src/security/oauth-completion-page.ts +1 -1
- package/src/security/oauth2.ts +3 -6
- package/src/sequence/analytics.ts +1 -1
- package/src/sequence/guardrails.ts +3 -3
- package/src/sequence/store.ts +2 -1
- package/src/signals/bash.ts +1 -1
- package/src/signals/event-stream.ts +1 -1
- package/src/skills/catalog-cache.ts +7 -0
- package/src/skills/catalog-files.ts +0 -5
- package/src/skills/catalog-install.ts +28 -18
- package/src/skills/category-inference.ts +0 -11
- package/src/skills/clawhub.ts +2 -2
- package/src/skills/managed-store.ts +2 -2
- package/src/skills/remote-skill-policy.ts +6 -7
- package/src/subagent/index.ts +2 -6
- package/src/subagent/manager.ts +27 -23
- package/src/subagent/types.ts +9 -0
- package/src/tasks/SPEC.md +2 -2
- package/src/tasks/task-compiler.ts +1 -1
- package/src/tasks/task-runner.ts +2 -22
- package/src/tasks/task-store.ts +1 -1
- package/src/tools/acp/list-agents.test.ts +115 -0
- package/src/tools/acp/list-agents.ts +31 -0
- package/src/tools/acp/spawn.test.ts +379 -0
- package/src/tools/acp/spawn.ts +142 -62
- package/src/tools/acp/steer.test.ts +101 -0
- package/src/tools/acp/steer.ts +38 -0
- package/src/tools/background-tool-registry.ts +98 -0
- package/src/tools/browser/browser-execution.ts +34 -7
- package/src/tools/browser/browser-manager.ts +1 -8
- package/src/tools/browser/cdp-client/accessibility-snapshot.ts +1 -1
- package/src/tools/browser/cdp-client/cdp-inspect/discovery.ts +3 -1
- package/src/tools/browser/cdp-client/types.ts +4 -1
- package/src/tools/computer-use/definitions.ts +1 -1
- package/src/tools/credential-execution/make-authenticated-request.ts +2 -2
- package/src/tools/credential-execution/manage-secure-command-tool.ts +1 -1
- package/src/tools/credential-execution/run-authenticated-command.ts +2 -2
- package/src/tools/credentials/broker-types.ts +2 -1
- package/src/tools/document/editor-template.ts +1 -1
- package/src/tools/execution-timeout.ts +1 -1
- package/src/tools/executor.ts +10 -15
- package/src/tools/host-filesystem/transfer.test.ts +268 -0
- package/src/tools/host-filesystem/transfer.ts +234 -0
- package/src/tools/host-terminal/host-shell.ts +189 -11
- package/src/tools/mcp/mcp-tool-factory.ts +1 -1
- package/src/tools/memory/register.test.ts +161 -1
- package/src/tools/memory/register.ts +19 -34
- package/src/tools/permission-checker.ts +18 -219
- package/src/tools/policy-context.ts +1 -8
- package/src/tools/registry.ts +16 -1
- package/src/tools/secret-detection-handler.ts +13 -103
- package/src/tools/shared/shell-output.ts +4 -1
- package/src/tools/side-effects.ts +2 -2
- package/src/tools/skills/execute.ts +1 -1
- package/src/tools/subagent/spawn.ts +35 -11
- package/src/tools/terminal/safe-env.ts +9 -1
- package/src/tools/terminal/shell.ts +161 -31
- package/src/tools/tool-approval-handler.ts +4 -70
- package/src/tools/tool-input-summary.ts +10 -0
- package/src/tools/types.ts +143 -163
- package/src/tools/ui-surface/definitions.ts +2 -2
- package/src/util/debounce.ts +0 -21
- package/src/util/errors.ts +0 -8
- package/src/util/log-redact.ts +0 -1
- package/src/util/platform.ts +85 -124
- package/src/util/pricing.ts +109 -6
- package/src/watcher/engine.ts +42 -20
- package/src/watcher/watcher-store.ts +2 -1
- package/src/work-items/work-item-store.ts +1 -1
- package/src/workspace/git-service.ts +1 -6
- package/src/workspace/migrations/006-services-config.ts +10 -1
- package/src/workspace/migrations/017-seed-persona-dirs.ts +1 -1
- package/src/workspace/migrations/019-scope-journal-to-guardian.ts +1 -1
- package/src/workspace/migrations/028-recover-conversations-from-disk-view.ts +1 -1
- package/src/workspace/migrations/031-drop-user-md.ts +1 -1
- package/src/workspace/migrations/045-release-notes-meet-avatar.ts +3 -4
- package/src/workspace/migrations/052-seed-default-inference-profiles.ts +150 -0
- package/src/workspace/migrations/053-release-notes-acp-codex.ts +107 -0
- package/src/workspace/migrations/054-seed-recall-callsite.ts +102 -0
- package/src/workspace/migrations/055-release-notes-agentic-recall.ts +63 -0
- package/src/workspace/migrations/056-release-notes-inference-profile-reordering.ts +65 -0
- package/src/workspace/migrations/057-repair-stale-gemini-model-ids.ts +98 -0
- package/src/workspace/migrations/058-release-notes-acp-sessions-ui.ts +71 -0
- package/src/workspace/migrations/059-move-pid-to-workspace.ts +53 -0
- package/src/workspace/migrations/060-memory-v2-init.ts +53 -0
- package/src/workspace/migrations/rebuild-conversation-disk-view.ts +1 -1
- package/src/workspace/migrations/registry.ts +18 -0
- package/src/workspace/migrations/runner.ts +2 -2
- package/src/workspace/provider-commit-message-generator.ts +1 -1
- package/node_modules/@vellumai/ces-contracts/src/__tests__/trust-rules.test.ts +0 -471
- package/node_modules/@vellumai/ces-contracts/src/trust-rules.ts +0 -436
- package/src/__tests__/cli-command-risk-guard.test.ts +0 -368
- package/src/__tests__/config-watcher-feature-flags.test.ts +0 -211
- package/src/__tests__/conversation-approval-overrides.test.ts +0 -207
- package/src/__tests__/conversation-host-access-routes.test.ts +0 -229
- package/src/__tests__/conversation-tool-setup-batch-authorized.test.ts +0 -226
- package/src/__tests__/conversation-tool-setup-side-effect-flag.test.ts +0 -167
- package/src/__tests__/ephemeral-permissions.test.ts +0 -474
- package/src/__tests__/extension-id-sync-guard.test.ts +0 -241
- package/src/__tests__/host-browser-e2e-self-hosted.test.ts +0 -374
- package/src/__tests__/native-host-marker-sync-guard.test.ts +0 -157
- package/src/__tests__/pairing-concurrent.test.ts +0 -84
- package/src/__tests__/pairing-routes.test.ts +0 -181
- package/src/__tests__/parser.test.ts +0 -595
- package/src/__tests__/permission-checker-host-gate.test.ts +0 -488
- package/src/__tests__/permission-controls-v2-flag.test.ts +0 -55
- package/src/__tests__/permission-mode.test.ts +0 -89
- package/src/__tests__/provider-env-vars-scope.test.ts +0 -52
- package/src/__tests__/risk-classifier-parity.test.ts +0 -230
- package/src/__tests__/shell-identity.test.ts +0 -236
- package/src/__tests__/shell-parser-fuzz.test.ts +0 -629
- package/src/__tests__/shell-parser-property.test.ts +0 -936
- package/src/__tests__/starter-bundle.test.ts +0 -173
- package/src/__tests__/stt-catalog-parity.test.ts +0 -282
- package/src/__tests__/task-runner.test.ts +0 -224
- package/src/__tests__/tool-executor-shell-integration.test.ts +0 -354
- package/src/__tests__/trust-store-pattern-matches.test.ts +0 -29
- package/src/__tests__/trust-store.test.ts +0 -2013
- package/src/__tests__/v2-consent-policy.test.ts +0 -103
- package/src/browser/identifiers.ts +0 -51
- package/src/cli/db.ts +0 -1
- package/src/config/bundled-skills/settings/tools/avatar-get.ts +0 -40
- package/src/config/bundled-skills/settings/tools/avatar-remove.ts +0 -64
- package/src/config/bundled-skills/settings/tools/avatar-update.ts +0 -88
- package/src/daemon/__tests__/lifecycle-startup-ordering.test.ts +0 -127
- package/src/daemon/approved-devices-store.ts +0 -110
- package/src/daemon/external-skills-bootstrap.ts +0 -41
- package/src/daemon/message-types/trust.ts +0 -71
- package/src/daemon/pairing-store.ts +0 -229
- package/src/ipc/cli-server.ts +0 -252
- package/src/ipc/routes/attachment.ts +0 -114
- package/src/ipc/routes/browser-context.ts +0 -63
- package/src/ipc/routes/browser.ts +0 -97
- package/src/ipc/routes/cache.ts +0 -96
- package/src/ipc/routes/get-contact.ts +0 -16
- package/src/ipc/routes/index.ts +0 -35
- package/src/ipc/routes/list-clients.ts +0 -31
- package/src/ipc/routes/merge-contacts.ts +0 -17
- package/src/ipc/routes/notification.ts +0 -133
- package/src/ipc/routes/rename-conversation.ts +0 -59
- package/src/ipc/routes/search-contacts.ts +0 -19
- package/src/ipc/routes/task-queue.ts +0 -226
- package/src/ipc/routes/task.ts +0 -173
- package/src/ipc/routes/upsert-contact.ts +0 -25
- package/src/ipc/routes/wake-conversation.ts +0 -19
- package/src/memory/db.ts +0 -23
- package/src/permissions/arg-parser.test.ts +0 -161
- package/src/permissions/arg-parser.ts +0 -141
- package/src/permissions/bash-risk-classifier.test.ts +0 -1620
- package/src/permissions/bash-risk-classifier.ts +0 -950
- package/src/permissions/command-registry.test.ts +0 -774
- package/src/permissions/command-registry.ts +0 -1005
- package/src/permissions/defaults.ts +0 -314
- package/src/permissions/file-risk-classifier.test.ts +0 -535
- package/src/permissions/file-risk-classifier.ts +0 -274
- package/src/permissions/permission-mode.ts +0 -24
- package/src/permissions/schedule-risk-classifier.test.ts +0 -129
- package/src/permissions/schedule-risk-classifier.ts +0 -85
- package/src/permissions/shell-identity.ts +0 -297
- package/src/permissions/skill-risk-classifier.test.ts +0 -311
- package/src/permissions/skill-risk-classifier.ts +0 -214
- package/src/permissions/trust-client.ts +0 -359
- package/src/permissions/trust-store-interface.ts +0 -100
- package/src/permissions/trust-store.ts +0 -1330
- package/src/permissions/v2-consent-policy.ts +0 -87
- package/src/permissions/web-risk-classifier.test.ts +0 -170
- package/src/permissions/web-risk-classifier.ts +0 -89
- package/src/runtime/__tests__/browser-extension-pair-routes.test.ts +0 -715
- package/src/runtime/__tests__/capability-tokens.test.ts +0 -258
- package/src/runtime/actor-refresh-token-store.ts +0 -156
- package/src/runtime/actor-token-store.ts +0 -207
- package/src/runtime/auth/__tests__/credential-service.test.ts +0 -264
- package/src/runtime/auth/credential-service.ts +0 -352
- package/src/runtime/conversation-approval-overrides.ts +0 -86
- package/src/runtime/routes/browser-extension-pair-routes.ts +0 -575
- package/src/runtime/routes/channel-routes.ts +0 -112
- package/src/runtime/routes/contact-routes.test.ts +0 -298
- package/src/runtime/routes/guardian-bootstrap-routes.ts +0 -175
- package/src/runtime/routes/guardian-refresh-routes.ts +0 -79
- package/src/runtime/routes/invite-routes.ts +0 -280
- package/src/runtime/routes/pairing-routes.ts +0 -431
- package/src/runtime/routes/playground/deps.ts +0 -56
- package/src/runtime/services/__tests__/analyze-deps-singleton.test.ts +0 -67
- package/src/runtime/services/analyze-deps-singleton.ts +0 -32
- package/src/tasks/ephemeral-permissions.ts +0 -55
- package/src/tools/terminal/parser.ts +0 -623
- package/src/types/qrcode.d.ts +0 -13
- package/src/util/network-info.ts +0 -55
- /package/node_modules/@vellumai/{ces-contracts → ces-client}/tsconfig.json +0 -0
- /package/node_modules/@vellumai/{ces-contracts → service-contracts}/src/__tests__/grants.test.ts +0 -0
- /package/node_modules/@vellumai/{ces-contracts → service-contracts}/src/error.ts +0 -0
- /package/node_modules/@vellumai/{ces-contracts → service-contracts}/src/grants.ts +0 -0
- /package/node_modules/@vellumai/{ces-contracts → service-contracts}/src/handles.ts +0 -0
- /package/node_modules/@vellumai/{ces-contracts → service-contracts}/src/rendering.ts +0 -0
- /package/node_modules/@vellumai/{ces-contracts → service-contracts}/src/rpc.ts +0 -0
package/openapi.yaml
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
openapi: 3.0.0
|
|
4
4
|
info:
|
|
5
5
|
title: Vellum Assistant API
|
|
6
|
-
version: 0.
|
|
6
|
+
version: 0.7.0
|
|
7
7
|
description: Auto-generated OpenAPI specification for the Vellum Assistant runtime HTTP server.
|
|
8
8
|
servers:
|
|
9
9
|
- url: http://127.0.0.1:7821
|
|
@@ -133,10 +133,40 @@ paths:
|
|
|
133
133
|
- instruction
|
|
134
134
|
additionalProperties: false
|
|
135
135
|
/v1/acp/sessions:
|
|
136
|
+
delete:
|
|
137
|
+
operationId: acp_sessions_delete
|
|
138
|
+
summary: Bulk-clear terminal ACP sessions
|
|
139
|
+
description: Remove every terminal-state row (completed/failed/cancelled) from the persisted acp_session_history table.
|
|
140
|
+
tags:
|
|
141
|
+
- acp
|
|
142
|
+
responses:
|
|
143
|
+
"200":
|
|
144
|
+
description: Successful response
|
|
145
|
+
content:
|
|
146
|
+
application/json:
|
|
147
|
+
schema:
|
|
148
|
+
type: object
|
|
149
|
+
properties:
|
|
150
|
+
deleted:
|
|
151
|
+
type: integer
|
|
152
|
+
minimum: -9007199254740991
|
|
153
|
+
maximum: 9007199254740991
|
|
154
|
+
required:
|
|
155
|
+
- deleted
|
|
156
|
+
additionalProperties: false
|
|
157
|
+
parameters:
|
|
158
|
+
- name: status
|
|
159
|
+
in: query
|
|
160
|
+
required: true
|
|
161
|
+
schema:
|
|
162
|
+
type: string
|
|
163
|
+
description: Must be 'completed'. Shorthand for all terminal statuses (completed/failed/cancelled).
|
|
136
164
|
get:
|
|
137
165
|
operationId: acp_sessions_get
|
|
138
166
|
summary: List ACP sessions
|
|
139
|
-
description:
|
|
167
|
+
description:
|
|
168
|
+
Return the merged set of in-memory and persisted ACP sessions, newest first. In-memory sessions take
|
|
169
|
+
precedence on id collision.
|
|
140
170
|
tags:
|
|
141
171
|
- acp
|
|
142
172
|
responses:
|
|
@@ -149,11 +179,88 @@ paths:
|
|
|
149
179
|
properties:
|
|
150
180
|
sessions:
|
|
151
181
|
type: array
|
|
152
|
-
items:
|
|
153
|
-
|
|
182
|
+
items:
|
|
183
|
+
type: object
|
|
184
|
+
properties:
|
|
185
|
+
id:
|
|
186
|
+
type: string
|
|
187
|
+
agentId:
|
|
188
|
+
type: string
|
|
189
|
+
acpSessionId:
|
|
190
|
+
type: string
|
|
191
|
+
parentConversationId:
|
|
192
|
+
type: string
|
|
193
|
+
status:
|
|
194
|
+
type: string
|
|
195
|
+
startedAt:
|
|
196
|
+
type: number
|
|
197
|
+
completedAt:
|
|
198
|
+
anyOf:
|
|
199
|
+
- type: number
|
|
200
|
+
- type: "null"
|
|
201
|
+
error:
|
|
202
|
+
anyOf:
|
|
203
|
+
- type: string
|
|
204
|
+
- type: "null"
|
|
205
|
+
stopReason:
|
|
206
|
+
anyOf:
|
|
207
|
+
- type: string
|
|
208
|
+
- type: "null"
|
|
209
|
+
eventLog:
|
|
210
|
+
type: array
|
|
211
|
+
items: {}
|
|
212
|
+
required:
|
|
213
|
+
- id
|
|
214
|
+
- agentId
|
|
215
|
+
- acpSessionId
|
|
216
|
+
- status
|
|
217
|
+
- startedAt
|
|
218
|
+
additionalProperties: false
|
|
219
|
+
description: Merged in-memory and persisted ACP sessions.
|
|
154
220
|
required:
|
|
155
221
|
- sessions
|
|
156
222
|
additionalProperties: false
|
|
223
|
+
parameters:
|
|
224
|
+
- name: limit
|
|
225
|
+
in: query
|
|
226
|
+
required: false
|
|
227
|
+
schema:
|
|
228
|
+
type: integer
|
|
229
|
+
description: Maximum number of sessions to return (default 50, max 500).
|
|
230
|
+
- name: conversationId
|
|
231
|
+
in: query
|
|
232
|
+
required: false
|
|
233
|
+
schema:
|
|
234
|
+
type: string
|
|
235
|
+
description: Filter to sessions whose parentConversationId matches this value.
|
|
236
|
+
/v1/acp/sessions/{id}:
|
|
237
|
+
delete:
|
|
238
|
+
operationId: acp_sessions_by_id_delete
|
|
239
|
+
summary: Delete ACP session from history
|
|
240
|
+
description:
|
|
241
|
+
Remove a persisted ACP session row. Rejects with 409 when the session is still active in memory; idempotent
|
|
242
|
+
for unknown ids.
|
|
243
|
+
tags:
|
|
244
|
+
- acp
|
|
245
|
+
responses:
|
|
246
|
+
"200":
|
|
247
|
+
description: Successful response
|
|
248
|
+
content:
|
|
249
|
+
application/json:
|
|
250
|
+
schema:
|
|
251
|
+
type: object
|
|
252
|
+
properties:
|
|
253
|
+
deleted:
|
|
254
|
+
type: boolean
|
|
255
|
+
required:
|
|
256
|
+
- deleted
|
|
257
|
+
additionalProperties: false
|
|
258
|
+
parameters:
|
|
259
|
+
- name: id
|
|
260
|
+
in: path
|
|
261
|
+
required: true
|
|
262
|
+
schema:
|
|
263
|
+
type: string
|
|
157
264
|
/v1/acp/spawn:
|
|
158
265
|
post:
|
|
159
266
|
operationId: acp_spawn_post
|
|
@@ -432,6 +539,11 @@ paths:
|
|
|
432
539
|
required: true
|
|
433
540
|
schema:
|
|
434
541
|
type: string
|
|
542
|
+
- name: method
|
|
543
|
+
in: query
|
|
544
|
+
required: false
|
|
545
|
+
schema:
|
|
546
|
+
type: string
|
|
435
547
|
post:
|
|
436
548
|
operationId: apps_by_id_data_post
|
|
437
549
|
summary: Mutate app data
|
|
@@ -500,6 +612,16 @@ paths:
|
|
|
500
612
|
required: true
|
|
501
613
|
schema:
|
|
502
614
|
type: string
|
|
615
|
+
- name: fromCommit
|
|
616
|
+
in: query
|
|
617
|
+
required: true
|
|
618
|
+
schema:
|
|
619
|
+
type: string
|
|
620
|
+
- name: toCommit
|
|
621
|
+
in: query
|
|
622
|
+
required: false
|
|
623
|
+
schema:
|
|
624
|
+
type: string
|
|
503
625
|
/v1/apps/{id}/history:
|
|
504
626
|
get:
|
|
505
627
|
operationId: apps_by_id_history_get
|
|
@@ -530,6 +652,11 @@ paths:
|
|
|
530
652
|
required: true
|
|
531
653
|
schema:
|
|
532
654
|
type: string
|
|
655
|
+
- name: limit
|
|
656
|
+
in: query
|
|
657
|
+
required: false
|
|
658
|
+
schema:
|
|
659
|
+
type: number
|
|
533
660
|
/v1/apps/{id}/open:
|
|
534
661
|
post:
|
|
535
662
|
operationId: apps_by_id_open_post
|
|
@@ -905,7 +1032,6 @@ paths:
|
|
|
905
1032
|
description: Canonical JSON payload to sign
|
|
906
1033
|
signature:
|
|
907
1034
|
type: string
|
|
908
|
-
description: Ed25519 signature (optional, completes signing)
|
|
909
1035
|
keyId:
|
|
910
1036
|
type: string
|
|
911
1037
|
publicKey:
|
|
@@ -931,7 +1057,7 @@ paths:
|
|
|
931
1057
|
tags:
|
|
932
1058
|
- attachments
|
|
933
1059
|
responses:
|
|
934
|
-
"
|
|
1060
|
+
"204":
|
|
935
1061
|
description: Successful response
|
|
936
1062
|
requestBody:
|
|
937
1063
|
required: true
|
|
@@ -996,6 +1122,11 @@ paths:
|
|
|
996
1122
|
filePath:
|
|
997
1123
|
type: string
|
|
998
1124
|
description: On-disk file path (file-backed upload)
|
|
1125
|
+
trustedSource:
|
|
1126
|
+
type: boolean
|
|
1127
|
+
description:
|
|
1128
|
+
Set by the gateway when the file came from a guardian-bound channel actor. Honored only when the request is
|
|
1129
|
+
authenticated as a gateway service token; ignored otherwise.
|
|
999
1130
|
required:
|
|
1000
1131
|
- filename
|
|
1001
1132
|
- mimeType
|
|
@@ -1026,8 +1157,10 @@ paths:
|
|
|
1026
1157
|
kind:
|
|
1027
1158
|
type: string
|
|
1028
1159
|
data:
|
|
1029
|
-
|
|
1030
|
-
|
|
1160
|
+
anyOf:
|
|
1161
|
+
- type: string
|
|
1162
|
+
description: Base64-encoded content
|
|
1163
|
+
- type: "null"
|
|
1031
1164
|
fileBacked:
|
|
1032
1165
|
type: boolean
|
|
1033
1166
|
required:
|
|
@@ -1037,7 +1170,6 @@ paths:
|
|
|
1037
1170
|
- sizeBytes
|
|
1038
1171
|
- kind
|
|
1039
1172
|
- data
|
|
1040
|
-
- fileBacked
|
|
1041
1173
|
additionalProperties: false
|
|
1042
1174
|
parameters:
|
|
1043
1175
|
- name: id
|
|
@@ -1055,20 +1187,125 @@ paths:
|
|
|
1055
1187
|
responses:
|
|
1056
1188
|
"200":
|
|
1057
1189
|
description: Successful response
|
|
1190
|
+
"416":
|
|
1191
|
+
description: Range Not Satisfiable
|
|
1058
1192
|
parameters:
|
|
1059
1193
|
- name: id
|
|
1060
1194
|
in: path
|
|
1061
1195
|
required: true
|
|
1062
1196
|
schema:
|
|
1063
1197
|
type: string
|
|
1064
|
-
/v1/
|
|
1198
|
+
/v1/attachments/lookup:
|
|
1199
|
+
post:
|
|
1200
|
+
operationId: attachments_lookup_post
|
|
1201
|
+
summary: Look up attachment by source path
|
|
1202
|
+
description: Search for a previously registered attachment by its original source path, scoped to a conversation.
|
|
1203
|
+
tags:
|
|
1204
|
+
- attachments
|
|
1205
|
+
responses:
|
|
1206
|
+
"200":
|
|
1207
|
+
description: Successful response
|
|
1208
|
+
content:
|
|
1209
|
+
application/json:
|
|
1210
|
+
schema:
|
|
1211
|
+
type: object
|
|
1212
|
+
properties:
|
|
1213
|
+
filePath:
|
|
1214
|
+
type: string
|
|
1215
|
+
required:
|
|
1216
|
+
- filePath
|
|
1217
|
+
additionalProperties: false
|
|
1218
|
+
requestBody:
|
|
1219
|
+
required: true
|
|
1220
|
+
content:
|
|
1221
|
+
application/json:
|
|
1222
|
+
schema:
|
|
1223
|
+
type: object
|
|
1224
|
+
properties:
|
|
1225
|
+
sourcePath:
|
|
1226
|
+
type: string
|
|
1227
|
+
description: Original source path of the file
|
|
1228
|
+
conversationId:
|
|
1229
|
+
type: string
|
|
1230
|
+
description: Conversation ID to search within
|
|
1231
|
+
required:
|
|
1232
|
+
- sourcePath
|
|
1233
|
+
- conversationId
|
|
1234
|
+
additionalProperties: false
|
|
1235
|
+
/v1/attachments/register:
|
|
1236
|
+
post:
|
|
1237
|
+
operationId: attachments_register_post
|
|
1238
|
+
summary: Register a file-backed attachment
|
|
1239
|
+
description:
|
|
1240
|
+
Register an on-disk file as a file-backed attachment. The file must be within the workspace directory and
|
|
1241
|
+
must remain on disk for the lifetime of the attachment.
|
|
1242
|
+
tags:
|
|
1243
|
+
- attachments
|
|
1244
|
+
responses:
|
|
1245
|
+
"200":
|
|
1246
|
+
description: Successful response
|
|
1247
|
+
content:
|
|
1248
|
+
application/json:
|
|
1249
|
+
schema:
|
|
1250
|
+
type: object
|
|
1251
|
+
properties:
|
|
1252
|
+
id:
|
|
1253
|
+
type: string
|
|
1254
|
+
originalFilename:
|
|
1255
|
+
type: string
|
|
1256
|
+
mimeType:
|
|
1257
|
+
type: string
|
|
1258
|
+
sizeBytes:
|
|
1259
|
+
type: number
|
|
1260
|
+
kind:
|
|
1261
|
+
type: string
|
|
1262
|
+
filePath:
|
|
1263
|
+
type: string
|
|
1264
|
+
createdAt:
|
|
1265
|
+
type: number
|
|
1266
|
+
required:
|
|
1267
|
+
- id
|
|
1268
|
+
- originalFilename
|
|
1269
|
+
- mimeType
|
|
1270
|
+
- sizeBytes
|
|
1271
|
+
- kind
|
|
1272
|
+
- filePath
|
|
1273
|
+
- createdAt
|
|
1274
|
+
additionalProperties: false
|
|
1275
|
+
requestBody:
|
|
1276
|
+
required: true
|
|
1277
|
+
content:
|
|
1278
|
+
application/json:
|
|
1279
|
+
schema:
|
|
1280
|
+
type: object
|
|
1281
|
+
properties:
|
|
1282
|
+
path:
|
|
1283
|
+
type: string
|
|
1284
|
+
description: Absolute path to the file
|
|
1285
|
+
mimeType:
|
|
1286
|
+
type: string
|
|
1287
|
+
description: MIME type of the file
|
|
1288
|
+
filename:
|
|
1289
|
+
type: string
|
|
1290
|
+
description: Display filename (defaults to basename of path)
|
|
1291
|
+
required:
|
|
1292
|
+
- path
|
|
1293
|
+
- mimeType
|
|
1294
|
+
additionalProperties: false
|
|
1295
|
+
/v1/audio/{audioId}:
|
|
1065
1296
|
get:
|
|
1066
|
-
operationId:
|
|
1297
|
+
operationId: audio_by_audioId_get
|
|
1298
|
+
summary: Get audio segment
|
|
1299
|
+
description:
|
|
1300
|
+
Retrieve a previously stored audio segment by ID. Unauthenticated — the audioId is an unguessable UUID
|
|
1301
|
+
capability token.
|
|
1302
|
+
tags:
|
|
1303
|
+
- audio
|
|
1067
1304
|
responses:
|
|
1068
1305
|
"200":
|
|
1069
1306
|
description: Successful response
|
|
1070
1307
|
parameters:
|
|
1071
|
-
- name:
|
|
1308
|
+
- name: audioId
|
|
1072
1309
|
in: path
|
|
1073
1310
|
required: true
|
|
1074
1311
|
schema:
|
|
@@ -1083,6 +1320,26 @@ paths:
|
|
|
1083
1320
|
responses:
|
|
1084
1321
|
"200":
|
|
1085
1322
|
description: Successful response
|
|
1323
|
+
/v1/avatar/notify-updated:
|
|
1324
|
+
post:
|
|
1325
|
+
operationId: avatar_notifyupdated_post
|
|
1326
|
+
summary: Notify avatar updated
|
|
1327
|
+
description: Publish an avatar_updated SSE event to connected clients.
|
|
1328
|
+
tags:
|
|
1329
|
+
- avatar
|
|
1330
|
+
responses:
|
|
1331
|
+
"200":
|
|
1332
|
+
description: Successful response
|
|
1333
|
+
content:
|
|
1334
|
+
application/json:
|
|
1335
|
+
schema:
|
|
1336
|
+
type: object
|
|
1337
|
+
properties:
|
|
1338
|
+
ok:
|
|
1339
|
+
type: boolean
|
|
1340
|
+
required:
|
|
1341
|
+
- ok
|
|
1342
|
+
additionalProperties: false
|
|
1086
1343
|
/v1/avatar/render-from-traits:
|
|
1087
1344
|
post:
|
|
1088
1345
|
operationId: avatar_renderfromtraits_post
|
|
@@ -1121,6 +1378,85 @@ paths:
|
|
|
1121
1378
|
- eyeStyle
|
|
1122
1379
|
- color
|
|
1123
1380
|
additionalProperties: false
|
|
1381
|
+
/v1/background-tools:
|
|
1382
|
+
get:
|
|
1383
|
+
operationId: backgroundtools_get
|
|
1384
|
+
summary: List active background tools
|
|
1385
|
+
description: List all active background tool executions, optionally filtered by conversationId.
|
|
1386
|
+
tags:
|
|
1387
|
+
- background-tools
|
|
1388
|
+
responses:
|
|
1389
|
+
"200":
|
|
1390
|
+
description: Successful response
|
|
1391
|
+
content:
|
|
1392
|
+
application/json:
|
|
1393
|
+
schema:
|
|
1394
|
+
type: object
|
|
1395
|
+
properties:
|
|
1396
|
+
tools:
|
|
1397
|
+
type: array
|
|
1398
|
+
items:
|
|
1399
|
+
type: object
|
|
1400
|
+
properties:
|
|
1401
|
+
id:
|
|
1402
|
+
type: string
|
|
1403
|
+
toolName:
|
|
1404
|
+
type: string
|
|
1405
|
+
conversationId:
|
|
1406
|
+
type: string
|
|
1407
|
+
command:
|
|
1408
|
+
type: string
|
|
1409
|
+
startedAt:
|
|
1410
|
+
type: number
|
|
1411
|
+
required:
|
|
1412
|
+
- id
|
|
1413
|
+
- toolName
|
|
1414
|
+
- conversationId
|
|
1415
|
+
- command
|
|
1416
|
+
- startedAt
|
|
1417
|
+
additionalProperties: false
|
|
1418
|
+
required:
|
|
1419
|
+
- tools
|
|
1420
|
+
additionalProperties: false
|
|
1421
|
+
parameters:
|
|
1422
|
+
- name: conversationId
|
|
1423
|
+
in: query
|
|
1424
|
+
required: false
|
|
1425
|
+
schema:
|
|
1426
|
+
type: string
|
|
1427
|
+
description: Filter by conversation ID
|
|
1428
|
+
/v1/background-tools/cancel:
|
|
1429
|
+
post:
|
|
1430
|
+
operationId: backgroundtools_cancel_post
|
|
1431
|
+
summary: Cancel a background tool
|
|
1432
|
+
description: Cancel an active background tool execution by ID.
|
|
1433
|
+
tags:
|
|
1434
|
+
- background-tools
|
|
1435
|
+
responses:
|
|
1436
|
+
"200":
|
|
1437
|
+
description: Successful response
|
|
1438
|
+
content:
|
|
1439
|
+
application/json:
|
|
1440
|
+
schema:
|
|
1441
|
+
type: object
|
|
1442
|
+
properties:
|
|
1443
|
+
cancelled:
|
|
1444
|
+
type: boolean
|
|
1445
|
+
required:
|
|
1446
|
+
- cancelled
|
|
1447
|
+
additionalProperties: false
|
|
1448
|
+
requestBody:
|
|
1449
|
+
required: true
|
|
1450
|
+
content:
|
|
1451
|
+
application/json:
|
|
1452
|
+
schema:
|
|
1453
|
+
type: object
|
|
1454
|
+
properties:
|
|
1455
|
+
id:
|
|
1456
|
+
type: string
|
|
1457
|
+
required:
|
|
1458
|
+
- id
|
|
1459
|
+
additionalProperties: false
|
|
1124
1460
|
/v1/backups:
|
|
1125
1461
|
get:
|
|
1126
1462
|
operationId: backups_get
|
|
@@ -1332,15 +1668,96 @@ paths:
|
|
|
1332
1668
|
get:
|
|
1333
1669
|
operationId: braingraphui_get
|
|
1334
1670
|
summary: Serve brain graph UI
|
|
1335
|
-
description: Return the brain-graph HTML visualization page
|
|
1671
|
+
description: Return the brain-graph HTML visualization page. The gateway injects an auth token before serving.
|
|
1336
1672
|
tags:
|
|
1337
1673
|
- brain-graph
|
|
1338
1674
|
responses:
|
|
1339
1675
|
"200":
|
|
1340
1676
|
description: Successful response
|
|
1341
|
-
/v1/
|
|
1677
|
+
/v1/browser/execute:
|
|
1342
1678
|
post:
|
|
1343
|
-
operationId:
|
|
1679
|
+
operationId: browser_execute_post
|
|
1680
|
+
summary: Execute a browser operation
|
|
1681
|
+
description: Invoke a browser operation (navigate, click, type, screenshot, etc.) via the headless browser subsystem.
|
|
1682
|
+
tags:
|
|
1683
|
+
- browser
|
|
1684
|
+
responses:
|
|
1685
|
+
"200":
|
|
1686
|
+
description: Successful response
|
|
1687
|
+
content:
|
|
1688
|
+
application/json:
|
|
1689
|
+
schema:
|
|
1690
|
+
type: object
|
|
1691
|
+
properties:
|
|
1692
|
+
content:
|
|
1693
|
+
type: string
|
|
1694
|
+
isError:
|
|
1695
|
+
type: boolean
|
|
1696
|
+
screenshots:
|
|
1697
|
+
type: array
|
|
1698
|
+
items:
|
|
1699
|
+
type: object
|
|
1700
|
+
properties:
|
|
1701
|
+
mediaType:
|
|
1702
|
+
type: string
|
|
1703
|
+
data:
|
|
1704
|
+
type: string
|
|
1705
|
+
required:
|
|
1706
|
+
- mediaType
|
|
1707
|
+
- data
|
|
1708
|
+
additionalProperties: false
|
|
1709
|
+
required:
|
|
1710
|
+
- content
|
|
1711
|
+
- isError
|
|
1712
|
+
additionalProperties: false
|
|
1713
|
+
requestBody:
|
|
1714
|
+
required: true
|
|
1715
|
+
content:
|
|
1716
|
+
application/json:
|
|
1717
|
+
schema:
|
|
1718
|
+
type: object
|
|
1719
|
+
properties:
|
|
1720
|
+
operation:
|
|
1721
|
+
type: string
|
|
1722
|
+
enum:
|
|
1723
|
+
- navigate
|
|
1724
|
+
- snapshot
|
|
1725
|
+
- screenshot
|
|
1726
|
+
- close
|
|
1727
|
+
- attach
|
|
1728
|
+
- detach
|
|
1729
|
+
- click
|
|
1730
|
+
- type
|
|
1731
|
+
- press_key
|
|
1732
|
+
- scroll
|
|
1733
|
+
- select_option
|
|
1734
|
+
- hover
|
|
1735
|
+
- wait_for
|
|
1736
|
+
- extract
|
|
1737
|
+
- wait_for_download
|
|
1738
|
+
- fill_credential
|
|
1739
|
+
- status
|
|
1740
|
+
input:
|
|
1741
|
+
default: {}
|
|
1742
|
+
type: object
|
|
1743
|
+
propertyNames:
|
|
1744
|
+
type: string
|
|
1745
|
+
additionalProperties: {}
|
|
1746
|
+
sessionId:
|
|
1747
|
+
default: default
|
|
1748
|
+
type: string
|
|
1749
|
+
minLength: 1
|
|
1750
|
+
conversationId:
|
|
1751
|
+
type: string
|
|
1752
|
+
minLength: 1
|
|
1753
|
+
required:
|
|
1754
|
+
- operation
|
|
1755
|
+
- input
|
|
1756
|
+
- sessionId
|
|
1757
|
+
additionalProperties: false
|
|
1758
|
+
/v1/btw:
|
|
1759
|
+
post:
|
|
1760
|
+
operationId: btw_post
|
|
1344
1761
|
summary: Run ephemeral LLM side-chain
|
|
1345
1762
|
description:
|
|
1346
1763
|
Stream an ephemeral LLM call reusing the conversation's provider and message history. Response is SSE
|
|
@@ -1367,9 +1784,114 @@ paths:
|
|
|
1367
1784
|
- conversationKey
|
|
1368
1785
|
- content
|
|
1369
1786
|
additionalProperties: false
|
|
1370
|
-
/v1/
|
|
1787
|
+
/v1/cache/delete:
|
|
1788
|
+
post:
|
|
1789
|
+
operationId: cache_delete_post
|
|
1790
|
+
summary: Delete a cache entry
|
|
1791
|
+
description: Remove a cached value by key.
|
|
1792
|
+
tags:
|
|
1793
|
+
- cache
|
|
1794
|
+
responses:
|
|
1795
|
+
"200":
|
|
1796
|
+
description: Successful response
|
|
1797
|
+
content:
|
|
1798
|
+
application/json:
|
|
1799
|
+
schema:
|
|
1800
|
+
type: object
|
|
1801
|
+
properties:
|
|
1802
|
+
deleted:
|
|
1803
|
+
type: boolean
|
|
1804
|
+
required:
|
|
1805
|
+
- deleted
|
|
1806
|
+
additionalProperties: false
|
|
1807
|
+
requestBody:
|
|
1808
|
+
required: true
|
|
1809
|
+
content:
|
|
1810
|
+
application/json:
|
|
1811
|
+
schema:
|
|
1812
|
+
type: object
|
|
1813
|
+
properties:
|
|
1814
|
+
key:
|
|
1815
|
+
type: string
|
|
1816
|
+
minLength: 1
|
|
1817
|
+
required:
|
|
1818
|
+
- key
|
|
1819
|
+
additionalProperties: false
|
|
1820
|
+
/v1/cache/get:
|
|
1821
|
+
post:
|
|
1822
|
+
operationId: cache_get_post
|
|
1823
|
+
summary: Get a cache entry
|
|
1824
|
+
description: Retrieve a cached value by key. Returns null if not found.
|
|
1825
|
+
tags:
|
|
1826
|
+
- cache
|
|
1827
|
+
responses:
|
|
1828
|
+
"200":
|
|
1829
|
+
description: Successful response
|
|
1830
|
+
content:
|
|
1831
|
+
application/json:
|
|
1832
|
+
schema:
|
|
1833
|
+
anyOf:
|
|
1834
|
+
- type: object
|
|
1835
|
+
properties:
|
|
1836
|
+
data: {}
|
|
1837
|
+
required:
|
|
1838
|
+
- data
|
|
1839
|
+
additionalProperties: false
|
|
1840
|
+
- type: "null"
|
|
1841
|
+
requestBody:
|
|
1842
|
+
required: true
|
|
1843
|
+
content:
|
|
1844
|
+
application/json:
|
|
1845
|
+
schema:
|
|
1846
|
+
type: object
|
|
1847
|
+
properties:
|
|
1848
|
+
key:
|
|
1849
|
+
type: string
|
|
1850
|
+
minLength: 1
|
|
1851
|
+
required:
|
|
1852
|
+
- key
|
|
1853
|
+
additionalProperties: false
|
|
1854
|
+
/v1/cache/set:
|
|
1855
|
+
post:
|
|
1856
|
+
operationId: cache_set_post
|
|
1857
|
+
summary: Set a cache entry
|
|
1858
|
+
description: Store a value in the daemon's in-memory cache, optionally with a TTL.
|
|
1859
|
+
tags:
|
|
1860
|
+
- cache
|
|
1861
|
+
responses:
|
|
1862
|
+
"200":
|
|
1863
|
+
description: Successful response
|
|
1864
|
+
content:
|
|
1865
|
+
application/json:
|
|
1866
|
+
schema:
|
|
1867
|
+
type: object
|
|
1868
|
+
properties:
|
|
1869
|
+
key:
|
|
1870
|
+
type: string
|
|
1871
|
+
required:
|
|
1872
|
+
- key
|
|
1873
|
+
additionalProperties: false
|
|
1874
|
+
requestBody:
|
|
1875
|
+
required: true
|
|
1876
|
+
content:
|
|
1877
|
+
application/json:
|
|
1878
|
+
schema:
|
|
1879
|
+
type: object
|
|
1880
|
+
properties:
|
|
1881
|
+
data: {}
|
|
1882
|
+
key:
|
|
1883
|
+
type: string
|
|
1884
|
+
minLength: 1
|
|
1885
|
+
ttl_ms:
|
|
1886
|
+
type: integer
|
|
1887
|
+
exclusiveMinimum: 0
|
|
1888
|
+
maximum: 9007199254740991
|
|
1889
|
+
required:
|
|
1890
|
+
- data
|
|
1891
|
+
additionalProperties: false
|
|
1892
|
+
/v1/calls/{callSessionId}:
|
|
1371
1893
|
get:
|
|
1372
|
-
operationId:
|
|
1894
|
+
operationId: calls_by_callSessionId_get
|
|
1373
1895
|
summary: Get call status
|
|
1374
1896
|
description: Return the current status and details of a call session.
|
|
1375
1897
|
tags:
|
|
@@ -1399,15 +1921,23 @@ paths:
|
|
|
1399
1921
|
task:
|
|
1400
1922
|
type: string
|
|
1401
1923
|
startedAt:
|
|
1402
|
-
|
|
1924
|
+
anyOf:
|
|
1925
|
+
- type: string
|
|
1926
|
+
- type: "null"
|
|
1403
1927
|
endedAt:
|
|
1404
|
-
|
|
1928
|
+
anyOf:
|
|
1929
|
+
- type: string
|
|
1930
|
+
- type: "null"
|
|
1405
1931
|
lastError:
|
|
1406
|
-
|
|
1932
|
+
anyOf:
|
|
1933
|
+
- type: string
|
|
1934
|
+
- type: "null"
|
|
1407
1935
|
pendingQuestion:
|
|
1408
|
-
|
|
1409
|
-
|
|
1410
|
-
|
|
1936
|
+
anyOf:
|
|
1937
|
+
- type: object
|
|
1938
|
+
properties: {}
|
|
1939
|
+
additionalProperties: {}
|
|
1940
|
+
- type: "null"
|
|
1411
1941
|
createdAt:
|
|
1412
1942
|
type: string
|
|
1413
1943
|
updatedAt:
|
|
@@ -1429,14 +1959,14 @@ paths:
|
|
|
1429
1959
|
- updatedAt
|
|
1430
1960
|
additionalProperties: false
|
|
1431
1961
|
parameters:
|
|
1432
|
-
- name:
|
|
1962
|
+
- name: callSessionId
|
|
1433
1963
|
in: path
|
|
1434
1964
|
required: true
|
|
1435
1965
|
schema:
|
|
1436
1966
|
type: string
|
|
1437
|
-
/v1/calls/{
|
|
1967
|
+
/v1/calls/{callSessionId}/answer:
|
|
1438
1968
|
post:
|
|
1439
|
-
operationId:
|
|
1969
|
+
operationId: calls_by_callSessionId_answer_post
|
|
1440
1970
|
summary: Answer a pending call question
|
|
1441
1971
|
description: Provide an answer to a pending question during an active call.
|
|
1442
1972
|
tags:
|
|
@@ -1458,7 +1988,7 @@ paths:
|
|
|
1458
1988
|
- questionId
|
|
1459
1989
|
additionalProperties: false
|
|
1460
1990
|
parameters:
|
|
1461
|
-
- name:
|
|
1991
|
+
- name: callSessionId
|
|
1462
1992
|
in: path
|
|
1463
1993
|
required: true
|
|
1464
1994
|
schema:
|
|
@@ -1478,11 +2008,10 @@ paths:
|
|
|
1478
2008
|
description: ID of the pending question
|
|
1479
2009
|
required:
|
|
1480
2010
|
- answer
|
|
1481
|
-
- pendingQuestionId
|
|
1482
2011
|
additionalProperties: false
|
|
1483
|
-
/v1/calls/{
|
|
2012
|
+
/v1/calls/{callSessionId}/cancel:
|
|
1484
2013
|
post:
|
|
1485
|
-
operationId:
|
|
2014
|
+
operationId: calls_by_callSessionId_cancel_post
|
|
1486
2015
|
summary: Cancel a call
|
|
1487
2016
|
description: Cancel an active or pending call.
|
|
1488
2017
|
tags:
|
|
@@ -1504,7 +2033,7 @@ paths:
|
|
|
1504
2033
|
- status
|
|
1505
2034
|
additionalProperties: false
|
|
1506
2035
|
parameters:
|
|
1507
|
-
- name:
|
|
2036
|
+
- name: callSessionId
|
|
1508
2037
|
in: path
|
|
1509
2038
|
required: true
|
|
1510
2039
|
schema:
|
|
@@ -1519,12 +2048,10 @@ paths:
|
|
|
1519
2048
|
reason:
|
|
1520
2049
|
type: string
|
|
1521
2050
|
description: Cancellation reason
|
|
1522
|
-
required:
|
|
1523
|
-
- reason
|
|
1524
2051
|
additionalProperties: false
|
|
1525
|
-
/v1/calls/{
|
|
2052
|
+
/v1/calls/{callSessionId}/instruction:
|
|
1526
2053
|
post:
|
|
1527
|
-
operationId:
|
|
2054
|
+
operationId: calls_by_callSessionId_instruction_post
|
|
1528
2055
|
summary: Relay instruction to active call
|
|
1529
2056
|
description: Send a real-time instruction to an active call.
|
|
1530
2057
|
tags:
|
|
@@ -1543,7 +2070,7 @@ paths:
|
|
|
1543
2070
|
- ok
|
|
1544
2071
|
additionalProperties: false
|
|
1545
2072
|
parameters:
|
|
1546
|
-
- name:
|
|
2073
|
+
- name: callSessionId
|
|
1547
2074
|
in: path
|
|
1548
2075
|
required: true
|
|
1549
2076
|
schema:
|
|
@@ -1569,7 +2096,7 @@ paths:
|
|
|
1569
2096
|
tags:
|
|
1570
2097
|
- calls
|
|
1571
2098
|
responses:
|
|
1572
|
-
"
|
|
2099
|
+
"201":
|
|
1573
2100
|
description: Successful response
|
|
1574
2101
|
content:
|
|
1575
2102
|
application/json:
|
|
@@ -1634,19 +2161,6 @@ paths:
|
|
|
1634
2161
|
responses:
|
|
1635
2162
|
"200":
|
|
1636
2163
|
description: Successful response
|
|
1637
|
-
content:
|
|
1638
|
-
application/json:
|
|
1639
|
-
schema:
|
|
1640
|
-
type: object
|
|
1641
|
-
properties:
|
|
1642
|
-
success:
|
|
1643
|
-
type: boolean
|
|
1644
|
-
channel:
|
|
1645
|
-
type: string
|
|
1646
|
-
required:
|
|
1647
|
-
- success
|
|
1648
|
-
- channel
|
|
1649
|
-
additionalProperties: false
|
|
1650
2164
|
requestBody:
|
|
1651
2165
|
required: true
|
|
1652
2166
|
content:
|
|
@@ -1792,7 +2306,7 @@ paths:
|
|
|
1792
2306
|
tags:
|
|
1793
2307
|
- channels
|
|
1794
2308
|
responses:
|
|
1795
|
-
"
|
|
2309
|
+
"204":
|
|
1796
2310
|
description: Successful response
|
|
1797
2311
|
/v1/channels/inbound:
|
|
1798
2312
|
post:
|
|
@@ -1894,6 +2408,37 @@ paths:
|
|
|
1894
2408
|
responses:
|
|
1895
2409
|
"200":
|
|
1896
2410
|
description: Successful response
|
|
2411
|
+
/v1/clients:
|
|
2412
|
+
get:
|
|
2413
|
+
operationId: clients_get
|
|
2414
|
+
summary: List connected clients
|
|
2415
|
+
description: Return all connected clients, optionally filtered by capability.
|
|
2416
|
+
tags:
|
|
2417
|
+
- clients
|
|
2418
|
+
responses:
|
|
2419
|
+
"200":
|
|
2420
|
+
description: Successful response
|
|
2421
|
+
content:
|
|
2422
|
+
application/json:
|
|
2423
|
+
schema:
|
|
2424
|
+
type: object
|
|
2425
|
+
properties:
|
|
2426
|
+
clients:
|
|
2427
|
+
type: array
|
|
2428
|
+
items:
|
|
2429
|
+
type: object
|
|
2430
|
+
properties: {}
|
|
2431
|
+
additionalProperties: {}
|
|
2432
|
+
required:
|
|
2433
|
+
- clients
|
|
2434
|
+
additionalProperties: false
|
|
2435
|
+
parameters:
|
|
2436
|
+
- name: capability
|
|
2437
|
+
in: query
|
|
2438
|
+
required: false
|
|
2439
|
+
schema:
|
|
2440
|
+
type: string
|
|
2441
|
+
description: Filter clients by a specific capability.
|
|
1897
2442
|
/v1/config:
|
|
1898
2443
|
get:
|
|
1899
2444
|
operationId: config_get
|
|
@@ -1946,6 +2491,22 @@ paths:
|
|
|
1946
2491
|
required:
|
|
1947
2492
|
- provider
|
|
1948
2493
|
additionalProperties: false
|
|
2494
|
+
/v1/config/llm/profiles/{name}:
|
|
2495
|
+
put:
|
|
2496
|
+
operationId: config_llm_profiles_by_name_put
|
|
2497
|
+
summary: Replace an inference profile
|
|
2498
|
+
description: Replace the settings-UI-managed leaves of a single llm.profiles entry while preserving non-UI leaves.
|
|
2499
|
+
tags:
|
|
2500
|
+
- config
|
|
2501
|
+
responses:
|
|
2502
|
+
"200":
|
|
2503
|
+
description: Successful response
|
|
2504
|
+
parameters:
|
|
2505
|
+
- name: name
|
|
2506
|
+
in: path
|
|
2507
|
+
required: true
|
|
2508
|
+
schema:
|
|
2509
|
+
type: string
|
|
1949
2510
|
/v1/config/platform:
|
|
1950
2511
|
get:
|
|
1951
2512
|
operationId: config_platform_get
|
|
@@ -2022,7 +2583,7 @@ paths:
|
|
|
2022
2583
|
description: Pending interaction request ID
|
|
2023
2584
|
decision:
|
|
2024
2585
|
type: string
|
|
2025
|
-
description: "One of: allow,
|
|
2586
|
+
description: "One of: allow, deny"
|
|
2026
2587
|
selectedPattern:
|
|
2027
2588
|
type: string
|
|
2028
2589
|
description: Allowlist pattern for persistent decisions
|
|
@@ -2111,6 +2672,43 @@ paths:
|
|
|
2111
2672
|
- ok
|
|
2112
2673
|
- contacts
|
|
2113
2674
|
additionalProperties: false
|
|
2675
|
+
parameters:
|
|
2676
|
+
- name: limit
|
|
2677
|
+
in: query
|
|
2678
|
+
required: false
|
|
2679
|
+
schema:
|
|
2680
|
+
type: integer
|
|
2681
|
+
description: Max contacts to return (default 50)
|
|
2682
|
+
- name: role
|
|
2683
|
+
in: query
|
|
2684
|
+
required: false
|
|
2685
|
+
schema:
|
|
2686
|
+
type: string
|
|
2687
|
+
description: Filter by role (e.g. guardian)
|
|
2688
|
+
- name: contactType
|
|
2689
|
+
in: query
|
|
2690
|
+
required: false
|
|
2691
|
+
schema:
|
|
2692
|
+
type: string
|
|
2693
|
+
description: Filter by contact type (human or assistant)
|
|
2694
|
+
- name: query
|
|
2695
|
+
in: query
|
|
2696
|
+
required: false
|
|
2697
|
+
schema:
|
|
2698
|
+
type: string
|
|
2699
|
+
description: Full-text search query
|
|
2700
|
+
- name: channelAddress
|
|
2701
|
+
in: query
|
|
2702
|
+
required: false
|
|
2703
|
+
schema:
|
|
2704
|
+
type: string
|
|
2705
|
+
description: Filter by channel address
|
|
2706
|
+
- name: channelType
|
|
2707
|
+
in: query
|
|
2708
|
+
required: false
|
|
2709
|
+
schema:
|
|
2710
|
+
type: string
|
|
2711
|
+
description: Filter by channel type
|
|
2114
2712
|
post:
|
|
2115
2713
|
operationId: contacts_post
|
|
2116
2714
|
summary: Create or update a contact
|
|
@@ -2172,7 +2770,7 @@ paths:
|
|
|
2172
2770
|
tags:
|
|
2173
2771
|
- contacts
|
|
2174
2772
|
responses:
|
|
2175
|
-
"
|
|
2773
|
+
"204":
|
|
2176
2774
|
description: Successful response
|
|
2177
2775
|
parameters:
|
|
2178
2776
|
- name: id
|
|
@@ -2217,11 +2815,11 @@ paths:
|
|
|
2217
2815
|
required: true
|
|
2218
2816
|
schema:
|
|
2219
2817
|
type: string
|
|
2220
|
-
/v1/contacts/
|
|
2221
|
-
|
|
2222
|
-
operationId:
|
|
2223
|
-
summary:
|
|
2224
|
-
description:
|
|
2818
|
+
/v1/contacts/invites:
|
|
2819
|
+
get:
|
|
2820
|
+
operationId: contacts_invites_get
|
|
2821
|
+
summary: List invites
|
|
2822
|
+
description: Return all invites, optionally filtered by sourceChannel or status.
|
|
2225
2823
|
tags:
|
|
2226
2824
|
- contacts
|
|
2227
2825
|
responses:
|
|
@@ -2234,63 +2832,13 @@ paths:
|
|
|
2234
2832
|
properties:
|
|
2235
2833
|
ok:
|
|
2236
2834
|
type: boolean
|
|
2237
|
-
|
|
2238
|
-
type:
|
|
2239
|
-
|
|
2240
|
-
|
|
2241
|
-
description: Updated guardian contact
|
|
2835
|
+
invites:
|
|
2836
|
+
type: array
|
|
2837
|
+
items: {}
|
|
2838
|
+
description: Invite objects
|
|
2242
2839
|
required:
|
|
2243
2840
|
- ok
|
|
2244
|
-
-
|
|
2245
|
-
additionalProperties: false
|
|
2246
|
-
requestBody:
|
|
2247
|
-
required: true
|
|
2248
|
-
content:
|
|
2249
|
-
application/json:
|
|
2250
|
-
schema:
|
|
2251
|
-
type: object
|
|
2252
|
-
properties:
|
|
2253
|
-
type:
|
|
2254
|
-
type: string
|
|
2255
|
-
description: Channel type, e.g. 'email'
|
|
2256
|
-
address:
|
|
2257
|
-
type: string
|
|
2258
|
-
description: Channel address, e.g. 'user@example.com'
|
|
2259
|
-
externalUserId:
|
|
2260
|
-
type: string
|
|
2261
|
-
description: External user ID for trust resolution
|
|
2262
|
-
status:
|
|
2263
|
-
description: "Channel status (default: active)"
|
|
2264
|
-
type: string
|
|
2265
|
-
required:
|
|
2266
|
-
- type
|
|
2267
|
-
- address
|
|
2268
|
-
- externalUserId
|
|
2269
|
-
additionalProperties: false
|
|
2270
|
-
/v1/contacts/invites:
|
|
2271
|
-
get:
|
|
2272
|
-
operationId: contacts_invites_get
|
|
2273
|
-
summary: List invites
|
|
2274
|
-
description: Return all invites, optionally filtered by sourceChannel or status.
|
|
2275
|
-
tags:
|
|
2276
|
-
- contacts
|
|
2277
|
-
responses:
|
|
2278
|
-
"200":
|
|
2279
|
-
description: Successful response
|
|
2280
|
-
content:
|
|
2281
|
-
application/json:
|
|
2282
|
-
schema:
|
|
2283
|
-
type: object
|
|
2284
|
-
properties:
|
|
2285
|
-
ok:
|
|
2286
|
-
type: boolean
|
|
2287
|
-
invites:
|
|
2288
|
-
type: array
|
|
2289
|
-
items: {}
|
|
2290
|
-
description: Invite objects
|
|
2291
|
-
required:
|
|
2292
|
-
- ok
|
|
2293
|
-
- invites
|
|
2841
|
+
- invites
|
|
2294
2842
|
additionalProperties: false
|
|
2295
2843
|
parameters:
|
|
2296
2844
|
- name: sourceChannel
|
|
@@ -2312,7 +2860,7 @@ paths:
|
|
|
2312
2860
|
tags:
|
|
2313
2861
|
- contacts
|
|
2314
2862
|
responses:
|
|
2315
|
-
"
|
|
2863
|
+
"201":
|
|
2316
2864
|
description: Successful response
|
|
2317
2865
|
content:
|
|
2318
2866
|
application/json:
|
|
@@ -2330,6 +2878,8 @@ paths:
|
|
|
2330
2878
|
- ok
|
|
2331
2879
|
- invite
|
|
2332
2880
|
additionalProperties: false
|
|
2881
|
+
"400":
|
|
2882
|
+
description: Invalid invite parameters
|
|
2333
2883
|
requestBody:
|
|
2334
2884
|
required: true
|
|
2335
2885
|
content:
|
|
@@ -2377,6 +2927,8 @@ paths:
|
|
|
2377
2927
|
responses:
|
|
2378
2928
|
"200":
|
|
2379
2929
|
description: Successful response
|
|
2930
|
+
"404":
|
|
2931
|
+
description: Invite not found
|
|
2380
2932
|
parameters:
|
|
2381
2933
|
- name: id
|
|
2382
2934
|
in: path
|
|
@@ -2407,6 +2959,8 @@ paths:
|
|
|
2407
2959
|
- ok
|
|
2408
2960
|
- callSid
|
|
2409
2961
|
additionalProperties: false
|
|
2962
|
+
"400":
|
|
2963
|
+
description: Invite not eligible for outbound call
|
|
2410
2964
|
parameters:
|
|
2411
2965
|
- name: id
|
|
2412
2966
|
in: path
|
|
@@ -2447,6 +3001,8 @@ paths:
|
|
|
2447
3001
|
- type
|
|
2448
3002
|
- memberId
|
|
2449
3003
|
additionalProperties: false
|
|
3004
|
+
"400":
|
|
3005
|
+
description: Invalid redemption parameters or failed redemption
|
|
2450
3006
|
requestBody:
|
|
2451
3007
|
required: true
|
|
2452
3008
|
content:
|
|
@@ -2527,6 +3083,40 @@ paths:
|
|
|
2527
3083
|
- keepId
|
|
2528
3084
|
- mergeId
|
|
2529
3085
|
additionalProperties: false
|
|
3086
|
+
/v1/contacts/search:
|
|
3087
|
+
post:
|
|
3088
|
+
operationId: contacts_search_post
|
|
3089
|
+
summary: Search contacts
|
|
3090
|
+
description: Search contacts by query, channel address, or channel type.
|
|
3091
|
+
tags:
|
|
3092
|
+
- contacts
|
|
3093
|
+
responses:
|
|
3094
|
+
"200":
|
|
3095
|
+
description: Successful response
|
|
3096
|
+
content:
|
|
3097
|
+
application/json:
|
|
3098
|
+
schema:
|
|
3099
|
+
type: array
|
|
3100
|
+
items:
|
|
3101
|
+
type: object
|
|
3102
|
+
properties: {}
|
|
3103
|
+
additionalProperties: {}
|
|
3104
|
+
requestBody:
|
|
3105
|
+
required: true
|
|
3106
|
+
content:
|
|
3107
|
+
application/json:
|
|
3108
|
+
schema:
|
|
3109
|
+
type: object
|
|
3110
|
+
properties:
|
|
3111
|
+
query:
|
|
3112
|
+
type: string
|
|
3113
|
+
channelAddress:
|
|
3114
|
+
type: string
|
|
3115
|
+
channelType:
|
|
3116
|
+
type: string
|
|
3117
|
+
limit:
|
|
3118
|
+
type: number
|
|
3119
|
+
additionalProperties: false
|
|
2530
3120
|
/v1/conversation-starters:
|
|
2531
3121
|
get:
|
|
2532
3122
|
operationId: conversationstarters_get
|
|
@@ -2583,15 +3173,46 @@ paths:
|
|
|
2583
3173
|
schema:
|
|
2584
3174
|
type: string
|
|
2585
3175
|
description: Scope ID (default "default")
|
|
3176
|
+
/v1/conversation-starters/{id}:
|
|
3177
|
+
delete:
|
|
3178
|
+
operationId: conversationstarters_by_id_delete
|
|
3179
|
+
summary: Delete conversation starter
|
|
3180
|
+
description: Remove a generated conversation starter chip from the current starter set.
|
|
3181
|
+
tags:
|
|
3182
|
+
- conversation-starters
|
|
3183
|
+
responses:
|
|
3184
|
+
"200":
|
|
3185
|
+
description: Successful response
|
|
3186
|
+
content:
|
|
3187
|
+
application/json:
|
|
3188
|
+
schema:
|
|
3189
|
+
type: object
|
|
3190
|
+
properties:
|
|
3191
|
+
deleted:
|
|
3192
|
+
type: boolean
|
|
3193
|
+
id:
|
|
3194
|
+
type: string
|
|
3195
|
+
required:
|
|
3196
|
+
- deleted
|
|
3197
|
+
- id
|
|
3198
|
+
additionalProperties: false
|
|
3199
|
+
"404":
|
|
3200
|
+
description: Conversation starter not found
|
|
3201
|
+
parameters:
|
|
3202
|
+
- name: id
|
|
3203
|
+
in: path
|
|
3204
|
+
required: true
|
|
3205
|
+
schema:
|
|
3206
|
+
type: string
|
|
2586
3207
|
/v1/conversations:
|
|
2587
3208
|
delete:
|
|
2588
3209
|
operationId: conversations_delete
|
|
2589
3210
|
summary: Clear all conversations
|
|
2590
|
-
description: Permanently delete ALL conversations, messages, and memory.
|
|
3211
|
+
description: Permanently delete ALL conversations, messages, and memory.
|
|
2591
3212
|
tags:
|
|
2592
3213
|
- conversations
|
|
2593
3214
|
responses:
|
|
2594
|
-
"
|
|
3215
|
+
"204":
|
|
2595
3216
|
description: Successful response
|
|
2596
3217
|
get:
|
|
2597
3218
|
operationId: conversations_get
|
|
@@ -2618,10 +3239,13 @@ paths:
|
|
|
2618
3239
|
type: string
|
|
2619
3240
|
conversationType:
|
|
2620
3241
|
type: string
|
|
3242
|
+
created:
|
|
3243
|
+
type: boolean
|
|
2621
3244
|
required:
|
|
2622
3245
|
- id
|
|
2623
3246
|
- conversationKey
|
|
2624
3247
|
- conversationType
|
|
3248
|
+
- created
|
|
2625
3249
|
additionalProperties: false
|
|
2626
3250
|
requestBody:
|
|
2627
3251
|
required: true
|
|
@@ -2634,11 +3258,11 @@ paths:
|
|
|
2634
3258
|
type: string
|
|
2635
3259
|
description: Idempotency key for the conversation
|
|
2636
3260
|
conversationType:
|
|
3261
|
+
description: Only standard conversations are created by this endpoint
|
|
2637
3262
|
type: string
|
|
2638
|
-
|
|
3263
|
+
const: standard
|
|
2639
3264
|
required:
|
|
2640
3265
|
- conversationKey
|
|
2641
|
-
- conversationType
|
|
2642
3266
|
additionalProperties: false
|
|
2643
3267
|
/v1/conversations/{id}:
|
|
2644
3268
|
delete:
|
|
@@ -2648,7 +3272,7 @@ paths:
|
|
|
2648
3272
|
tags:
|
|
2649
3273
|
- conversations
|
|
2650
3274
|
responses:
|
|
2651
|
-
"
|
|
3275
|
+
"204":
|
|
2652
3276
|
description: Successful response
|
|
2653
3277
|
parameters:
|
|
2654
3278
|
- name: id
|
|
@@ -2687,9 +3311,7 @@ paths:
|
|
|
2687
3311
|
post:
|
|
2688
3312
|
operationId: conversations_by_id_archive_post
|
|
2689
3313
|
summary: Archive a conversation
|
|
2690
|
-
description:
|
|
2691
|
-
Move a conversation to the archived state. Archived conversations are hidden from the default sidebar but
|
|
2692
|
-
preserved for search and recall.
|
|
3314
|
+
description: Move a conversation to the archived state.
|
|
2693
3315
|
tags:
|
|
2694
3316
|
- conversations
|
|
2695
3317
|
responses:
|
|
@@ -2709,47 +3331,19 @@ paths:
|
|
|
2709
3331
|
tags:
|
|
2710
3332
|
- conversations
|
|
2711
3333
|
responses:
|
|
2712
|
-
"
|
|
2713
|
-
description: Successful response
|
|
2714
|
-
parameters:
|
|
2715
|
-
- name: id
|
|
2716
|
-
in: path
|
|
2717
|
-
required: true
|
|
2718
|
-
schema:
|
|
2719
|
-
type: string
|
|
2720
|
-
/v1/conversations/{id}/host-access:
|
|
2721
|
-
get:
|
|
2722
|
-
operationId: conversations_by_id_hostaccess_get
|
|
2723
|
-
summary: Get conversation host access
|
|
2724
|
-
description: Return whether the conversation can use host tools.
|
|
2725
|
-
tags:
|
|
2726
|
-
- conversations
|
|
2727
|
-
responses:
|
|
2728
|
-
"200":
|
|
3334
|
+
"202":
|
|
2729
3335
|
description: Successful response
|
|
2730
|
-
content:
|
|
2731
|
-
application/json:
|
|
2732
|
-
schema:
|
|
2733
|
-
type: object
|
|
2734
|
-
properties:
|
|
2735
|
-
conversationId:
|
|
2736
|
-
type: string
|
|
2737
|
-
hostAccess:
|
|
2738
|
-
type: boolean
|
|
2739
|
-
required:
|
|
2740
|
-
- conversationId
|
|
2741
|
-
- hostAccess
|
|
2742
|
-
additionalProperties: false
|
|
2743
3336
|
parameters:
|
|
2744
3337
|
- name: id
|
|
2745
3338
|
in: path
|
|
2746
3339
|
required: true
|
|
2747
3340
|
schema:
|
|
2748
3341
|
type: string
|
|
2749
|
-
|
|
2750
|
-
|
|
2751
|
-
|
|
2752
|
-
|
|
3342
|
+
/v1/conversations/{id}/inference-profile:
|
|
3343
|
+
put:
|
|
3344
|
+
operationId: conversations_by_id_inferenceprofile_put
|
|
3345
|
+
summary: Set conversation inference profile
|
|
3346
|
+
description: Override the LLM inference profile for a single conversation.
|
|
2753
3347
|
tags:
|
|
2754
3348
|
- conversations
|
|
2755
3349
|
responses:
|
|
@@ -2762,11 +3356,13 @@ paths:
|
|
|
2762
3356
|
properties:
|
|
2763
3357
|
conversationId:
|
|
2764
3358
|
type: string
|
|
2765
|
-
|
|
2766
|
-
|
|
3359
|
+
profile:
|
|
3360
|
+
anyOf:
|
|
3361
|
+
- type: string
|
|
3362
|
+
- type: "null"
|
|
2767
3363
|
required:
|
|
2768
3364
|
- conversationId
|
|
2769
|
-
-
|
|
3365
|
+
- profile
|
|
2770
3366
|
additionalProperties: false
|
|
2771
3367
|
parameters:
|
|
2772
3368
|
- name: id
|
|
@@ -2781,10 +3377,12 @@ paths:
|
|
|
2781
3377
|
schema:
|
|
2782
3378
|
type: object
|
|
2783
3379
|
properties:
|
|
2784
|
-
|
|
2785
|
-
|
|
3380
|
+
profile:
|
|
3381
|
+
anyOf:
|
|
3382
|
+
- type: string
|
|
3383
|
+
- type: "null"
|
|
2786
3384
|
required:
|
|
2787
|
-
-
|
|
3385
|
+
- profile
|
|
2788
3386
|
additionalProperties: false
|
|
2789
3387
|
/v1/conversations/{id}/name:
|
|
2790
3388
|
patch:
|
|
@@ -2898,7 +3496,7 @@ paths:
|
|
|
2898
3496
|
tags:
|
|
2899
3497
|
- conversations
|
|
2900
3498
|
responses:
|
|
2901
|
-
"
|
|
3499
|
+
"202":
|
|
2902
3500
|
description: Successful response
|
|
2903
3501
|
parameters:
|
|
2904
3502
|
- name: id
|
|
@@ -3075,6 +3673,33 @@ paths:
|
|
|
3075
3673
|
required:
|
|
3076
3674
|
- conversationId
|
|
3077
3675
|
additionalProperties: false
|
|
3676
|
+
/v1/conversations/rename:
|
|
3677
|
+
post:
|
|
3678
|
+
operationId: conversations_rename_post
|
|
3679
|
+
summary: Rename a conversation
|
|
3680
|
+
description: Update the display title of a conversation.
|
|
3681
|
+
tags:
|
|
3682
|
+
- conversations
|
|
3683
|
+
responses:
|
|
3684
|
+
"200":
|
|
3685
|
+
description: Successful response
|
|
3686
|
+
requestBody:
|
|
3687
|
+
required: true
|
|
3688
|
+
content:
|
|
3689
|
+
application/json:
|
|
3690
|
+
schema:
|
|
3691
|
+
type: object
|
|
3692
|
+
properties:
|
|
3693
|
+
conversationId:
|
|
3694
|
+
type: string
|
|
3695
|
+
minLength: 1
|
|
3696
|
+
title:
|
|
3697
|
+
type: string
|
|
3698
|
+
minLength: 1
|
|
3699
|
+
required:
|
|
3700
|
+
- conversationId
|
|
3701
|
+
- title
|
|
3702
|
+
additionalProperties: false
|
|
3078
3703
|
/v1/conversations/reorder:
|
|
3079
3704
|
post:
|
|
3080
3705
|
operationId: conversations_reorder_post
|
|
@@ -3123,6 +3748,25 @@ paths:
|
|
|
3123
3748
|
- query
|
|
3124
3749
|
- results
|
|
3125
3750
|
additionalProperties: false
|
|
3751
|
+
parameters:
|
|
3752
|
+
- name: q
|
|
3753
|
+
in: query
|
|
3754
|
+
required: true
|
|
3755
|
+
schema:
|
|
3756
|
+
type: string
|
|
3757
|
+
description: Search query
|
|
3758
|
+
- name: limit
|
|
3759
|
+
in: query
|
|
3760
|
+
required: false
|
|
3761
|
+
schema:
|
|
3762
|
+
type: integer
|
|
3763
|
+
description: Max results
|
|
3764
|
+
- name: maxMessagesPerConversation
|
|
3765
|
+
in: query
|
|
3766
|
+
required: false
|
|
3767
|
+
schema:
|
|
3768
|
+
type: integer
|
|
3769
|
+
description: Max messages per conversation
|
|
3126
3770
|
/v1/conversations/seen:
|
|
3127
3771
|
post:
|
|
3128
3772
|
operationId: conversations_seen_post
|
|
@@ -3150,13 +3794,12 @@ paths:
|
|
|
3150
3794
|
type: string
|
|
3151
3795
|
conversationType:
|
|
3152
3796
|
type: string
|
|
3153
|
-
|
|
3154
|
-
type:
|
|
3797
|
+
inferenceProfile:
|
|
3798
|
+
type: string
|
|
3155
3799
|
required:
|
|
3156
3800
|
- conversationId
|
|
3157
3801
|
- title
|
|
3158
3802
|
- conversationType
|
|
3159
|
-
- hostAccess
|
|
3160
3803
|
additionalProperties: false
|
|
3161
3804
|
requestBody:
|
|
3162
3805
|
required: true
|
|
@@ -3179,13 +3822,13 @@ paths:
|
|
|
3179
3822
|
responses:
|
|
3180
3823
|
"200":
|
|
3181
3824
|
description: Successful response
|
|
3182
|
-
/v1/
|
|
3183
|
-
|
|
3184
|
-
operationId:
|
|
3185
|
-
summary:
|
|
3186
|
-
description:
|
|
3825
|
+
/v1/conversations/wake:
|
|
3826
|
+
post:
|
|
3827
|
+
operationId: conversations_wake_post
|
|
3828
|
+
summary: Wake a conversation
|
|
3829
|
+
description: Invoke the agent loop for a conversation with an opportunity hint.
|
|
3187
3830
|
tags:
|
|
3188
|
-
-
|
|
3831
|
+
- conversations
|
|
3189
3832
|
responses:
|
|
3190
3833
|
"200":
|
|
3191
3834
|
description: Successful response
|
|
@@ -3194,59 +3837,370 @@ paths:
|
|
|
3194
3837
|
schema:
|
|
3195
3838
|
type: object
|
|
3196
3839
|
properties:
|
|
3197
|
-
|
|
3198
|
-
type:
|
|
3199
|
-
|
|
3200
|
-
|
|
3201
|
-
|
|
3202
|
-
provider:
|
|
3203
|
-
type: object
|
|
3204
|
-
properties: {}
|
|
3205
|
-
additionalProperties: {}
|
|
3206
|
-
description: Inference provider configuration
|
|
3207
|
-
memory:
|
|
3208
|
-
type: object
|
|
3209
|
-
properties: {}
|
|
3210
|
-
additionalProperties: {}
|
|
3211
|
-
description: Conversation and memory item counts
|
|
3212
|
-
jobs:
|
|
3213
|
-
type: object
|
|
3214
|
-
properties: {}
|
|
3215
|
-
additionalProperties: {}
|
|
3216
|
-
description: Background job counts
|
|
3217
|
-
schedules:
|
|
3218
|
-
type: object
|
|
3219
|
-
properties: {}
|
|
3220
|
-
additionalProperties: {}
|
|
3221
|
-
description: Schedule counts (total, enabled)
|
|
3222
|
-
timestamp:
|
|
3840
|
+
invoked:
|
|
3841
|
+
type: boolean
|
|
3842
|
+
producedToolCalls:
|
|
3843
|
+
type: boolean
|
|
3844
|
+
reason:
|
|
3223
3845
|
type: string
|
|
3224
|
-
description: Current server timestamp (ISO 8601)
|
|
3225
3846
|
required:
|
|
3226
|
-
-
|
|
3227
|
-
-
|
|
3228
|
-
- memory
|
|
3229
|
-
- jobs
|
|
3230
|
-
- schedules
|
|
3231
|
-
- timestamp
|
|
3847
|
+
- invoked
|
|
3848
|
+
- producedToolCalls
|
|
3232
3849
|
additionalProperties: false
|
|
3233
|
-
|
|
3234
|
-
|
|
3235
|
-
|
|
3236
|
-
|
|
3237
|
-
|
|
3850
|
+
requestBody:
|
|
3851
|
+
required: true
|
|
3852
|
+
content:
|
|
3853
|
+
application/json:
|
|
3854
|
+
schema:
|
|
3855
|
+
type: object
|
|
3856
|
+
properties:
|
|
3857
|
+
conversationId:
|
|
3858
|
+
type: string
|
|
3859
|
+
minLength: 1
|
|
3860
|
+
hint:
|
|
3861
|
+
type: string
|
|
3862
|
+
minLength: 1
|
|
3863
|
+
source:
|
|
3864
|
+
default: cli
|
|
3865
|
+
type: string
|
|
3866
|
+
required:
|
|
3867
|
+
- conversationId
|
|
3868
|
+
- hint
|
|
3869
|
+
- source
|
|
3870
|
+
additionalProperties: false
|
|
3871
|
+
/v1/conversations/wipe:
|
|
3872
|
+
post:
|
|
3873
|
+
operationId: conversations_wipe_post
|
|
3874
|
+
summary: Wipe a conversation
|
|
3875
|
+
description: Permanently delete a conversation and its associated data including memory vectors.
|
|
3238
3876
|
tags:
|
|
3239
|
-
-
|
|
3877
|
+
- conversations
|
|
3240
3878
|
responses:
|
|
3241
3879
|
"200":
|
|
3242
3880
|
description: Successful response
|
|
3243
|
-
|
|
3881
|
+
content:
|
|
3882
|
+
application/json:
|
|
3883
|
+
schema:
|
|
3884
|
+
type: object
|
|
3885
|
+
properties:
|
|
3886
|
+
wiped:
|
|
3887
|
+
type: boolean
|
|
3888
|
+
unsupersededItems:
|
|
3889
|
+
type: number
|
|
3890
|
+
deletedSummaries:
|
|
3891
|
+
type: number
|
|
3892
|
+
cancelledJobs:
|
|
3893
|
+
type: number
|
|
3894
|
+
required:
|
|
3895
|
+
- wiped
|
|
3896
|
+
- unsupersededItems
|
|
3897
|
+
- deletedSummaries
|
|
3898
|
+
- cancelledJobs
|
|
3899
|
+
additionalProperties: false
|
|
3900
|
+
requestBody:
|
|
3901
|
+
required: true
|
|
3902
|
+
content:
|
|
3903
|
+
application/json:
|
|
3904
|
+
schema:
|
|
3905
|
+
type: object
|
|
3906
|
+
properties:
|
|
3907
|
+
conversationId:
|
|
3908
|
+
type: string
|
|
3909
|
+
minLength: 1
|
|
3910
|
+
required:
|
|
3911
|
+
- conversationId
|
|
3912
|
+
additionalProperties: false
|
|
3913
|
+
/v1/credentials/prompt:
|
|
3244
3914
|
post:
|
|
3245
|
-
operationId:
|
|
3246
|
-
summary:
|
|
3247
|
-
description:
|
|
3915
|
+
operationId: credentials_prompt_post
|
|
3916
|
+
summary: Prompt user for a credential
|
|
3917
|
+
description: Trigger a secure input prompt in the user's app to collect a credential value.
|
|
3248
3918
|
tags:
|
|
3249
|
-
-
|
|
3919
|
+
- credentials
|
|
3920
|
+
responses:
|
|
3921
|
+
"200":
|
|
3922
|
+
description: Successful response
|
|
3923
|
+
content:
|
|
3924
|
+
application/json:
|
|
3925
|
+
schema:
|
|
3926
|
+
type: object
|
|
3927
|
+
properties:
|
|
3928
|
+
ok:
|
|
3929
|
+
type: boolean
|
|
3930
|
+
error:
|
|
3931
|
+
type: string
|
|
3932
|
+
service:
|
|
3933
|
+
type: string
|
|
3934
|
+
field:
|
|
3935
|
+
type: string
|
|
3936
|
+
required:
|
|
3937
|
+
- ok
|
|
3938
|
+
additionalProperties: false
|
|
3939
|
+
requestBody:
|
|
3940
|
+
required: true
|
|
3941
|
+
content:
|
|
3942
|
+
application/json:
|
|
3943
|
+
schema:
|
|
3944
|
+
type: object
|
|
3945
|
+
properties:
|
|
3946
|
+
service:
|
|
3947
|
+
type: string
|
|
3948
|
+
minLength: 1
|
|
3949
|
+
field:
|
|
3950
|
+
type: string
|
|
3951
|
+
minLength: 1
|
|
3952
|
+
label:
|
|
3953
|
+
type: string
|
|
3954
|
+
minLength: 1
|
|
3955
|
+
description:
|
|
3956
|
+
type: string
|
|
3957
|
+
placeholder:
|
|
3958
|
+
type: string
|
|
3959
|
+
allowedDomains:
|
|
3960
|
+
type: array
|
|
3961
|
+
items:
|
|
3962
|
+
type: string
|
|
3963
|
+
allowedTools:
|
|
3964
|
+
type: array
|
|
3965
|
+
items:
|
|
3966
|
+
type: string
|
|
3967
|
+
injectionTemplates:
|
|
3968
|
+
type: array
|
|
3969
|
+
items:
|
|
3970
|
+
type: object
|
|
3971
|
+
properties:
|
|
3972
|
+
hostPattern:
|
|
3973
|
+
type: string
|
|
3974
|
+
minLength: 1
|
|
3975
|
+
injectionType:
|
|
3976
|
+
type: string
|
|
3977
|
+
enum:
|
|
3978
|
+
- header
|
|
3979
|
+
- query
|
|
3980
|
+
headerName:
|
|
3981
|
+
type: string
|
|
3982
|
+
valuePrefix:
|
|
3983
|
+
type: string
|
|
3984
|
+
queryParamName:
|
|
3985
|
+
type: string
|
|
3986
|
+
required:
|
|
3987
|
+
- hostPattern
|
|
3988
|
+
- injectionType
|
|
3989
|
+
additionalProperties: false
|
|
3990
|
+
required:
|
|
3991
|
+
- service
|
|
3992
|
+
- field
|
|
3993
|
+
- label
|
|
3994
|
+
additionalProperties: false
|
|
3995
|
+
/v1/debug:
|
|
3996
|
+
get:
|
|
3997
|
+
operationId: debug_get
|
|
3998
|
+
summary: Debug introspection
|
|
3999
|
+
description: "Return runtime diagnostics: uptime, provider info, memory stats, job counts, and schedule counts."
|
|
4000
|
+
tags:
|
|
4001
|
+
- debug
|
|
4002
|
+
responses:
|
|
4003
|
+
"200":
|
|
4004
|
+
description: Successful response
|
|
4005
|
+
content:
|
|
4006
|
+
application/json:
|
|
4007
|
+
schema:
|
|
4008
|
+
type: object
|
|
4009
|
+
properties:
|
|
4010
|
+
session:
|
|
4011
|
+
type: object
|
|
4012
|
+
properties: {}
|
|
4013
|
+
additionalProperties: {}
|
|
4014
|
+
description: Uptime and start time
|
|
4015
|
+
provider:
|
|
4016
|
+
type: object
|
|
4017
|
+
properties: {}
|
|
4018
|
+
additionalProperties: {}
|
|
4019
|
+
description: Inference provider configuration
|
|
4020
|
+
memory:
|
|
4021
|
+
type: object
|
|
4022
|
+
properties: {}
|
|
4023
|
+
additionalProperties: {}
|
|
4024
|
+
description: Conversation and memory item counts
|
|
4025
|
+
jobs:
|
|
4026
|
+
type: object
|
|
4027
|
+
properties: {}
|
|
4028
|
+
additionalProperties: {}
|
|
4029
|
+
description: Background job counts
|
|
4030
|
+
schedules:
|
|
4031
|
+
type: object
|
|
4032
|
+
properties: {}
|
|
4033
|
+
additionalProperties: {}
|
|
4034
|
+
description: Schedule counts (total, enabled)
|
|
4035
|
+
timestamp:
|
|
4036
|
+
type: string
|
|
4037
|
+
description: Current server timestamp (ISO 8601)
|
|
4038
|
+
required:
|
|
4039
|
+
- session
|
|
4040
|
+
- provider
|
|
4041
|
+
- memory
|
|
4042
|
+
- jobs
|
|
4043
|
+
- schedules
|
|
4044
|
+
- timestamp
|
|
4045
|
+
additionalProperties: false
|
|
4046
|
+
/v1/defer/cancel:
|
|
4047
|
+
post:
|
|
4048
|
+
operationId: defer_cancel_post
|
|
4049
|
+
summary: Cancel deferred wakes
|
|
4050
|
+
description: Cancel a specific deferred wake by ID, or all defers for a conversation.
|
|
4051
|
+
tags:
|
|
4052
|
+
- defer
|
|
4053
|
+
responses:
|
|
4054
|
+
"200":
|
|
4055
|
+
description: Successful response
|
|
4056
|
+
content:
|
|
4057
|
+
application/json:
|
|
4058
|
+
schema:
|
|
4059
|
+
type: object
|
|
4060
|
+
properties:
|
|
4061
|
+
cancelled:
|
|
4062
|
+
type: number
|
|
4063
|
+
error:
|
|
4064
|
+
type: string
|
|
4065
|
+
required:
|
|
4066
|
+
- cancelled
|
|
4067
|
+
additionalProperties: false
|
|
4068
|
+
requestBody:
|
|
4069
|
+
required: true
|
|
4070
|
+
content:
|
|
4071
|
+
application/json:
|
|
4072
|
+
schema:
|
|
4073
|
+
type: object
|
|
4074
|
+
properties:
|
|
4075
|
+
id:
|
|
4076
|
+
type: string
|
|
4077
|
+
all:
|
|
4078
|
+
type: boolean
|
|
4079
|
+
conversationId:
|
|
4080
|
+
type: string
|
|
4081
|
+
additionalProperties: false
|
|
4082
|
+
/v1/defer/create:
|
|
4083
|
+
post:
|
|
4084
|
+
operationId: defer_create_post
|
|
4085
|
+
summary: Create a deferred wake
|
|
4086
|
+
description: Schedule a future wake-up on a conversation, optionally with a delay or absolute timestamp.
|
|
4087
|
+
tags:
|
|
4088
|
+
- defer
|
|
4089
|
+
responses:
|
|
4090
|
+
"200":
|
|
4091
|
+
description: Successful response
|
|
4092
|
+
content:
|
|
4093
|
+
application/json:
|
|
4094
|
+
schema:
|
|
4095
|
+
type: object
|
|
4096
|
+
properties:
|
|
4097
|
+
id:
|
|
4098
|
+
type: string
|
|
4099
|
+
name:
|
|
4100
|
+
type: string
|
|
4101
|
+
fireAt:
|
|
4102
|
+
type: number
|
|
4103
|
+
conversationId:
|
|
4104
|
+
type: string
|
|
4105
|
+
required:
|
|
4106
|
+
- id
|
|
4107
|
+
- name
|
|
4108
|
+
- fireAt
|
|
4109
|
+
- conversationId
|
|
4110
|
+
additionalProperties: false
|
|
4111
|
+
requestBody:
|
|
4112
|
+
required: true
|
|
4113
|
+
content:
|
|
4114
|
+
application/json:
|
|
4115
|
+
schema:
|
|
4116
|
+
type: object
|
|
4117
|
+
properties:
|
|
4118
|
+
conversationId:
|
|
4119
|
+
type: string
|
|
4120
|
+
minLength: 1
|
|
4121
|
+
hint:
|
|
4122
|
+
type: string
|
|
4123
|
+
minLength: 1
|
|
4124
|
+
delaySeconds:
|
|
4125
|
+
type: number
|
|
4126
|
+
fireAt:
|
|
4127
|
+
type: number
|
|
4128
|
+
name:
|
|
4129
|
+
type: string
|
|
4130
|
+
required:
|
|
4131
|
+
- conversationId
|
|
4132
|
+
- hint
|
|
4133
|
+
additionalProperties: false
|
|
4134
|
+
/v1/defer/list:
|
|
4135
|
+
post:
|
|
4136
|
+
operationId: defer_list_post
|
|
4137
|
+
summary: List active deferred wakes
|
|
4138
|
+
description: List all active deferred wakes, optionally filtered by conversation.
|
|
4139
|
+
tags:
|
|
4140
|
+
- defer
|
|
4141
|
+
responses:
|
|
4142
|
+
"200":
|
|
4143
|
+
description: Successful response
|
|
4144
|
+
content:
|
|
4145
|
+
application/json:
|
|
4146
|
+
schema:
|
|
4147
|
+
type: object
|
|
4148
|
+
properties:
|
|
4149
|
+
defers:
|
|
4150
|
+
type: array
|
|
4151
|
+
items:
|
|
4152
|
+
type: object
|
|
4153
|
+
properties:
|
|
4154
|
+
id:
|
|
4155
|
+
type: string
|
|
4156
|
+
name:
|
|
4157
|
+
type: string
|
|
4158
|
+
hint:
|
|
4159
|
+
type: string
|
|
4160
|
+
conversationId:
|
|
4161
|
+
type: string
|
|
4162
|
+
fireAt:
|
|
4163
|
+
type: number
|
|
4164
|
+
status:
|
|
4165
|
+
type: string
|
|
4166
|
+
required:
|
|
4167
|
+
- id
|
|
4168
|
+
- name
|
|
4169
|
+
- hint
|
|
4170
|
+
- conversationId
|
|
4171
|
+
- fireAt
|
|
4172
|
+
- status
|
|
4173
|
+
additionalProperties: false
|
|
4174
|
+
required:
|
|
4175
|
+
- defers
|
|
4176
|
+
additionalProperties: false
|
|
4177
|
+
requestBody:
|
|
4178
|
+
required: true
|
|
4179
|
+
content:
|
|
4180
|
+
application/json:
|
|
4181
|
+
schema:
|
|
4182
|
+
type: object
|
|
4183
|
+
properties:
|
|
4184
|
+
conversationId:
|
|
4185
|
+
type: string
|
|
4186
|
+
additionalProperties: false
|
|
4187
|
+
/v1/diagnostics/env-vars:
|
|
4188
|
+
get:
|
|
4189
|
+
operationId: diagnostics_envvars_get
|
|
4190
|
+
summary: List safe environment variables
|
|
4191
|
+
description: Return environment variable names and values that are safe to expose (no secrets).
|
|
4192
|
+
tags:
|
|
4193
|
+
- diagnostics
|
|
4194
|
+
responses:
|
|
4195
|
+
"200":
|
|
4196
|
+
description: Successful response
|
|
4197
|
+
/v1/dictation:
|
|
4198
|
+
post:
|
|
4199
|
+
operationId: dictation_post
|
|
4200
|
+
summary: Process dictation
|
|
4201
|
+
description: Classify voice input as dictation or action, clean up text, and apply user style preferences.
|
|
4202
|
+
tags:
|
|
4203
|
+
- diagnostics
|
|
3250
4204
|
responses:
|
|
3251
4205
|
"200":
|
|
3252
4206
|
description: Successful response
|
|
@@ -3344,6 +4298,7 @@ paths:
|
|
|
3344
4298
|
properties:
|
|
3345
4299
|
success:
|
|
3346
4300
|
type: boolean
|
|
4301
|
+
const: true
|
|
3347
4302
|
surfaceId:
|
|
3348
4303
|
type: string
|
|
3349
4304
|
required:
|
|
@@ -3453,6 +4408,8 @@ paths:
|
|
|
3453
4408
|
responses:
|
|
3454
4409
|
"200":
|
|
3455
4410
|
description: Successful response
|
|
4411
|
+
"500":
|
|
4412
|
+
description: Failed to create archive
|
|
3456
4413
|
requestBody:
|
|
3457
4414
|
required: true
|
|
3458
4415
|
content:
|
|
@@ -3469,9 +4426,7 @@ paths:
|
|
|
3469
4426
|
description: Scope to a single conversation
|
|
3470
4427
|
type: string
|
|
3471
4428
|
full:
|
|
3472
|
-
description:
|
|
3473
|
-
Full export — include messages, LLM request logs, and usage events for all conversations. Use for test data
|
|
3474
|
-
debugging.
|
|
4429
|
+
description: Full export — include messages, LLM request logs, and usage events for all conversations.
|
|
3475
4430
|
type: boolean
|
|
3476
4431
|
startTime:
|
|
3477
4432
|
description: Lower bound epoch ms
|
|
@@ -3567,8 +4522,10 @@ paths:
|
|
|
3567
4522
|
tags:
|
|
3568
4523
|
- groups
|
|
3569
4524
|
responses:
|
|
3570
|
-
"
|
|
4525
|
+
"201":
|
|
3571
4526
|
description: Successful response
|
|
4527
|
+
"400":
|
|
4528
|
+
description: Missing or invalid name, or sort_position ceiling reached
|
|
3572
4529
|
requestBody:
|
|
3573
4530
|
required: true
|
|
3574
4531
|
content:
|
|
@@ -3590,8 +4547,12 @@ paths:
|
|
|
3590
4547
|
tags:
|
|
3591
4548
|
- groups
|
|
3592
4549
|
responses:
|
|
3593
|
-
"
|
|
4550
|
+
"204":
|
|
3594
4551
|
description: Successful response
|
|
4552
|
+
"403":
|
|
4553
|
+
description: System groups cannot be deleted
|
|
4554
|
+
"404":
|
|
4555
|
+
description: Group not found
|
|
3595
4556
|
parameters:
|
|
3596
4557
|
- name: groupId
|
|
3597
4558
|
in: path
|
|
@@ -3607,6 +4568,10 @@ paths:
|
|
|
3607
4568
|
responses:
|
|
3608
4569
|
"200":
|
|
3609
4570
|
description: Successful response
|
|
4571
|
+
"403":
|
|
4572
|
+
description: System group sort position cannot be changed
|
|
4573
|
+
"404":
|
|
4574
|
+
description: Group not found
|
|
3610
4575
|
parameters:
|
|
3611
4576
|
- name: groupId
|
|
3612
4577
|
in: path
|
|
@@ -3635,6 +4600,8 @@ paths:
|
|
|
3635
4600
|
responses:
|
|
3636
4601
|
"200":
|
|
3637
4602
|
description: Successful response
|
|
4603
|
+
"403":
|
|
4604
|
+
description: Cannot reorder system groups
|
|
3638
4605
|
requestBody:
|
|
3639
4606
|
required: true
|
|
3640
4607
|
content:
|
|
@@ -3740,18 +4707,6 @@ paths:
|
|
|
3740
4707
|
schema:
|
|
3741
4708
|
type: string
|
|
3742
4709
|
description: Conversation ID (required)
|
|
3743
|
-
/v1/guardian/init:
|
|
3744
|
-
post:
|
|
3745
|
-
operationId: guardian_init_post
|
|
3746
|
-
responses:
|
|
3747
|
-
"200":
|
|
3748
|
-
description: Successful response
|
|
3749
|
-
/v1/guardian/refresh:
|
|
3750
|
-
post:
|
|
3751
|
-
operationId: guardian_refresh_post
|
|
3752
|
-
responses:
|
|
3753
|
-
"200":
|
|
3754
|
-
description: Successful response
|
|
3755
4710
|
/v1/health:
|
|
3756
4711
|
get:
|
|
3757
4712
|
operationId: health_get
|
|
@@ -4071,11 +5026,21 @@ paths:
|
|
|
4071
5026
|
intervalMs:
|
|
4072
5027
|
type: number
|
|
4073
5028
|
activeHoursStart:
|
|
4074
|
-
|
|
5029
|
+
anyOf:
|
|
5030
|
+
- type: number
|
|
5031
|
+
- type: "null"
|
|
4075
5032
|
activeHoursEnd:
|
|
4076
|
-
|
|
5033
|
+
anyOf:
|
|
5034
|
+
- type: number
|
|
5035
|
+
- type: "null"
|
|
4077
5036
|
nextRunAt:
|
|
4078
|
-
|
|
5037
|
+
anyOf:
|
|
5038
|
+
- type: number
|
|
5039
|
+
- type: "null"
|
|
5040
|
+
lastRunAt:
|
|
5041
|
+
anyOf:
|
|
5042
|
+
- type: number
|
|
5043
|
+
- type: "null"
|
|
4079
5044
|
success:
|
|
4080
5045
|
type: boolean
|
|
4081
5046
|
required:
|
|
@@ -4084,6 +5049,7 @@ paths:
|
|
|
4084
5049
|
- activeHoursStart
|
|
4085
5050
|
- activeHoursEnd
|
|
4086
5051
|
- nextRunAt
|
|
5052
|
+
- lastRunAt
|
|
4087
5053
|
- success
|
|
4088
5054
|
additionalProperties: false
|
|
4089
5055
|
put:
|
|
@@ -4105,11 +5071,21 @@ paths:
|
|
|
4105
5071
|
intervalMs:
|
|
4106
5072
|
type: number
|
|
4107
5073
|
activeHoursStart:
|
|
4108
|
-
|
|
5074
|
+
anyOf:
|
|
5075
|
+
- type: number
|
|
5076
|
+
- type: "null"
|
|
4109
5077
|
activeHoursEnd:
|
|
4110
|
-
|
|
5078
|
+
anyOf:
|
|
5079
|
+
- type: number
|
|
5080
|
+
- type: "null"
|
|
4111
5081
|
nextRunAt:
|
|
4112
|
-
|
|
5082
|
+
anyOf:
|
|
5083
|
+
- type: number
|
|
5084
|
+
- type: "null"
|
|
5085
|
+
lastRunAt:
|
|
5086
|
+
anyOf:
|
|
5087
|
+
- type: number
|
|
5088
|
+
- type: "null"
|
|
4113
5089
|
success:
|
|
4114
5090
|
type: boolean
|
|
4115
5091
|
required:
|
|
@@ -4118,6 +5094,7 @@ paths:
|
|
|
4118
5094
|
- activeHoursStart
|
|
4119
5095
|
- activeHoursEnd
|
|
4120
5096
|
- nextRunAt
|
|
5097
|
+
- lastRunAt
|
|
4121
5098
|
- success
|
|
4122
5099
|
additionalProperties: false
|
|
4123
5100
|
requestBody:
|
|
@@ -4197,7 +5174,7 @@ paths:
|
|
|
4197
5174
|
required: false
|
|
4198
5175
|
schema:
|
|
4199
5176
|
type: integer
|
|
4200
|
-
description: Max runs to return (default 20)
|
|
5177
|
+
description: Max runs to return (default 20, max 100)
|
|
4201
5178
|
/v1/home/feed:
|
|
4202
5179
|
get:
|
|
4203
5180
|
operationId: home_feed_get
|
|
@@ -4508,6 +5485,10 @@ paths:
|
|
|
4508
5485
|
- author
|
|
4509
5486
|
- createdAt
|
|
4510
5487
|
additionalProperties: false
|
|
5488
|
+
"404":
|
|
5489
|
+
description: Feed item not found
|
|
5490
|
+
"500":
|
|
5491
|
+
description: Failed to persist feed item status
|
|
4511
5492
|
parameters:
|
|
4512
5493
|
- name: id
|
|
4513
5494
|
in: path
|
|
@@ -4553,6 +5534,10 @@ paths:
|
|
|
4553
5534
|
required:
|
|
4554
5535
|
- conversationId
|
|
4555
5536
|
additionalProperties: false
|
|
5537
|
+
"404":
|
|
5538
|
+
description: Feed item or action not found
|
|
5539
|
+
"500":
|
|
5540
|
+
description: Failed to create conversation
|
|
4556
5541
|
parameters:
|
|
4557
5542
|
- name: id
|
|
4558
5543
|
in: path
|
|
@@ -4682,6 +5667,8 @@ paths:
|
|
|
4682
5667
|
- assistantName
|
|
4683
5668
|
- updatedAt
|
|
4684
5669
|
additionalProperties: false
|
|
5670
|
+
"500":
|
|
5671
|
+
description: Failed to compute relationship state
|
|
4685
5672
|
/v1/host-bash-result:
|
|
4686
5673
|
post:
|
|
4687
5674
|
operationId: hostbashresult_post
|
|
@@ -4860,6 +5847,45 @@ paths:
|
|
|
4860
5847
|
required:
|
|
4861
5848
|
- requestId
|
|
4862
5849
|
additionalProperties: false
|
|
5850
|
+
/v1/host-transfer-result:
|
|
5851
|
+
post:
|
|
5852
|
+
operationId: hosttransferresult_post
|
|
5853
|
+
summary: Submit host transfer result
|
|
5854
|
+
description: Resolve a pending to_host transfer after the client has downloaded and written the file.
|
|
5855
|
+
tags:
|
|
5856
|
+
- host-transfer
|
|
5857
|
+
responses:
|
|
5858
|
+
"200":
|
|
5859
|
+
description: Successful response
|
|
5860
|
+
content:
|
|
5861
|
+
application/json:
|
|
5862
|
+
schema:
|
|
5863
|
+
type: object
|
|
5864
|
+
properties:
|
|
5865
|
+
accepted:
|
|
5866
|
+
type: boolean
|
|
5867
|
+
required:
|
|
5868
|
+
- accepted
|
|
5869
|
+
additionalProperties: false
|
|
5870
|
+
requestBody:
|
|
5871
|
+
required: true
|
|
5872
|
+
content:
|
|
5873
|
+
application/json:
|
|
5874
|
+
schema:
|
|
5875
|
+
type: object
|
|
5876
|
+
properties:
|
|
5877
|
+
requestId:
|
|
5878
|
+
type: string
|
|
5879
|
+
description: Pending transfer request ID
|
|
5880
|
+
isError:
|
|
5881
|
+
type: boolean
|
|
5882
|
+
bytesWritten:
|
|
5883
|
+
type: number
|
|
5884
|
+
errorMessage:
|
|
5885
|
+
type: string
|
|
5886
|
+
required:
|
|
5887
|
+
- requestId
|
|
5888
|
+
additionalProperties: false
|
|
4863
5889
|
/v1/identity:
|
|
4864
5890
|
get:
|
|
4865
5891
|
operationId: identity_get
|
|
@@ -4948,6 +5974,8 @@ paths:
|
|
|
4948
5974
|
type: string
|
|
4949
5975
|
localGatewayTarget:
|
|
4950
5976
|
type: string
|
|
5977
|
+
managedCallbacks:
|
|
5978
|
+
type: boolean
|
|
4951
5979
|
success:
|
|
4952
5980
|
type: boolean
|
|
4953
5981
|
required:
|
|
@@ -5000,145 +6028,183 @@ paths:
|
|
|
5000
6028
|
/v1/integrations/slack/channel/config:
|
|
5001
6029
|
delete:
|
|
5002
6030
|
operationId: integrations_slack_channel_config_delete
|
|
6031
|
+
summary: Clear Slack channel config
|
|
6032
|
+
description: Clear stored Slack channel credentials.
|
|
5003
6033
|
tags:
|
|
5004
|
-
-
|
|
6034
|
+
- integrations
|
|
5005
6035
|
responses:
|
|
5006
6036
|
"200":
|
|
5007
6037
|
description: Successful response
|
|
5008
6038
|
get:
|
|
5009
6039
|
operationId: integrations_slack_channel_config_get
|
|
6040
|
+
summary: Get Slack channel config
|
|
6041
|
+
description: Check current Slack channel configuration status.
|
|
5010
6042
|
tags:
|
|
5011
|
-
-
|
|
6043
|
+
- integrations
|
|
5012
6044
|
responses:
|
|
5013
6045
|
"200":
|
|
5014
6046
|
description: Successful response
|
|
5015
6047
|
post:
|
|
5016
6048
|
operationId: integrations_slack_channel_config_post
|
|
6049
|
+
summary: Set Slack channel config
|
|
6050
|
+
description: Validate and store Slack channel credentials.
|
|
5017
6051
|
tags:
|
|
5018
|
-
-
|
|
6052
|
+
- integrations
|
|
5019
6053
|
responses:
|
|
5020
6054
|
"200":
|
|
5021
6055
|
description: Successful response
|
|
5022
6056
|
/v1/integrations/slack/channel/oauth-install:
|
|
5023
6057
|
post:
|
|
5024
6058
|
operationId: integrations_slack_channel_oauthinstall_post
|
|
6059
|
+
summary: Run Slack OAuth install
|
|
6060
|
+
description: Run an OAuth2 loopback flow to install the Slack app and capture bot + user tokens.
|
|
5025
6061
|
tags:
|
|
5026
|
-
-
|
|
6062
|
+
- integrations
|
|
5027
6063
|
responses:
|
|
5028
6064
|
"200":
|
|
5029
6065
|
description: Successful response
|
|
5030
6066
|
/v1/integrations/telegram/commands:
|
|
5031
6067
|
post:
|
|
5032
6068
|
operationId: integrations_telegram_commands_post
|
|
6069
|
+
summary: Register Telegram commands
|
|
6070
|
+
description: Register bot commands with the Telegram API.
|
|
5033
6071
|
tags:
|
|
5034
|
-
-
|
|
6072
|
+
- integrations
|
|
5035
6073
|
responses:
|
|
5036
6074
|
"200":
|
|
5037
6075
|
description: Successful response
|
|
5038
6076
|
/v1/integrations/telegram/config:
|
|
5039
6077
|
delete:
|
|
5040
6078
|
operationId: integrations_telegram_config_delete
|
|
6079
|
+
summary: Clear Telegram config
|
|
6080
|
+
description: Clear credentials and deregister webhook.
|
|
5041
6081
|
tags:
|
|
5042
|
-
-
|
|
6082
|
+
- integrations
|
|
5043
6083
|
responses:
|
|
5044
6084
|
"200":
|
|
5045
6085
|
description: Successful response
|
|
5046
6086
|
get:
|
|
5047
6087
|
operationId: integrations_telegram_config_get
|
|
6088
|
+
summary: Get Telegram config
|
|
6089
|
+
description: Check current Telegram bot configuration status.
|
|
5048
6090
|
tags:
|
|
5049
|
-
-
|
|
6091
|
+
- integrations
|
|
5050
6092
|
responses:
|
|
5051
6093
|
"200":
|
|
5052
6094
|
description: Successful response
|
|
5053
6095
|
post:
|
|
5054
6096
|
operationId: integrations_telegram_config_post
|
|
6097
|
+
summary: Set Telegram config
|
|
6098
|
+
description: Set bot token and configure webhook.
|
|
5055
6099
|
tags:
|
|
5056
|
-
-
|
|
6100
|
+
- integrations
|
|
5057
6101
|
responses:
|
|
5058
6102
|
"200":
|
|
5059
6103
|
description: Successful response
|
|
5060
6104
|
/v1/integrations/telegram/setup:
|
|
5061
6105
|
post:
|
|
5062
6106
|
operationId: integrations_telegram_setup_post
|
|
6107
|
+
summary: Setup Telegram
|
|
6108
|
+
description: "Composite: set config + register commands."
|
|
5063
6109
|
tags:
|
|
5064
|
-
-
|
|
6110
|
+
- integrations
|
|
5065
6111
|
responses:
|
|
5066
6112
|
"200":
|
|
5067
6113
|
description: Successful response
|
|
5068
6114
|
/v1/integrations/twilio/config:
|
|
5069
6115
|
get:
|
|
5070
6116
|
operationId: integrations_twilio_config_get
|
|
6117
|
+
summary: Get Twilio config
|
|
6118
|
+
description: Return current Twilio configuration status.
|
|
5071
6119
|
tags:
|
|
5072
|
-
-
|
|
6120
|
+
- integrations
|
|
5073
6121
|
responses:
|
|
5074
6122
|
"200":
|
|
5075
6123
|
description: Successful response
|
|
5076
6124
|
/v1/integrations/twilio/credentials:
|
|
5077
6125
|
delete:
|
|
5078
6126
|
operationId: integrations_twilio_credentials_delete
|
|
6127
|
+
summary: Clear Twilio credentials
|
|
6128
|
+
description: Remove stored Twilio credentials.
|
|
5079
6129
|
tags:
|
|
5080
|
-
-
|
|
6130
|
+
- integrations
|
|
5081
6131
|
responses:
|
|
5082
6132
|
"200":
|
|
5083
6133
|
description: Successful response
|
|
5084
6134
|
post:
|
|
5085
6135
|
operationId: integrations_twilio_credentials_post
|
|
6136
|
+
summary: Set Twilio credentials
|
|
6137
|
+
description: Validate and store Twilio account SID and auth token.
|
|
5086
6138
|
tags:
|
|
5087
|
-
-
|
|
6139
|
+
- integrations
|
|
5088
6140
|
responses:
|
|
5089
6141
|
"200":
|
|
5090
6142
|
description: Successful response
|
|
5091
6143
|
/v1/integrations/twilio/numbers:
|
|
5092
6144
|
get:
|
|
5093
6145
|
operationId: integrations_twilio_numbers_get
|
|
6146
|
+
summary: List Twilio numbers
|
|
6147
|
+
description: List phone numbers on the Twilio account.
|
|
5094
6148
|
tags:
|
|
5095
|
-
-
|
|
6149
|
+
- integrations
|
|
5096
6150
|
responses:
|
|
5097
6151
|
"200":
|
|
5098
6152
|
description: Successful response
|
|
5099
6153
|
/v1/integrations/twilio/numbers/assign:
|
|
5100
6154
|
post:
|
|
5101
6155
|
operationId: integrations_twilio_numbers_assign_post
|
|
6156
|
+
summary: Assign Twilio number
|
|
6157
|
+
description: Assign an existing phone number to this assistant.
|
|
5102
6158
|
tags:
|
|
5103
|
-
-
|
|
6159
|
+
- integrations
|
|
5104
6160
|
responses:
|
|
5105
6161
|
"200":
|
|
5106
6162
|
description: Successful response
|
|
5107
6163
|
/v1/integrations/twilio/numbers/provision:
|
|
5108
6164
|
post:
|
|
5109
6165
|
operationId: integrations_twilio_numbers_provision_post
|
|
6166
|
+
summary: Provision Twilio number
|
|
6167
|
+
description: Search for and provision a new phone number.
|
|
5110
6168
|
tags:
|
|
5111
|
-
-
|
|
6169
|
+
- integrations
|
|
5112
6170
|
responses:
|
|
5113
6171
|
"200":
|
|
5114
6172
|
description: Successful response
|
|
5115
6173
|
/v1/integrations/twilio/numbers/release:
|
|
5116
6174
|
post:
|
|
5117
6175
|
operationId: integrations_twilio_numbers_release_post
|
|
6176
|
+
summary: Release Twilio number
|
|
6177
|
+
description: Release a phone number back to Twilio.
|
|
5118
6178
|
tags:
|
|
5119
|
-
-
|
|
6179
|
+
- integrations
|
|
5120
6180
|
responses:
|
|
5121
6181
|
"200":
|
|
5122
6182
|
description: Successful response
|
|
5123
6183
|
/v1/integrations/vercel/config:
|
|
5124
6184
|
delete:
|
|
5125
6185
|
operationId: integrations_vercel_config_delete
|
|
6186
|
+
summary: Delete Vercel config
|
|
6187
|
+
description: Delete the stored Vercel API token.
|
|
5126
6188
|
tags:
|
|
5127
|
-
-
|
|
6189
|
+
- integrations
|
|
5128
6190
|
responses:
|
|
5129
6191
|
"200":
|
|
5130
6192
|
description: Successful response
|
|
5131
6193
|
get:
|
|
5132
6194
|
operationId: integrations_vercel_config_get
|
|
6195
|
+
summary: Get Vercel config
|
|
6196
|
+
description: Check if a Vercel API token is stored.
|
|
5133
6197
|
tags:
|
|
5134
|
-
-
|
|
6198
|
+
- integrations
|
|
5135
6199
|
responses:
|
|
5136
6200
|
"200":
|
|
5137
6201
|
description: Successful response
|
|
5138
6202
|
post:
|
|
5139
6203
|
operationId: integrations_vercel_config_post
|
|
6204
|
+
summary: Set or delete Vercel config
|
|
6205
|
+
description: Set or delete the Vercel API token. Action is determined by the body action field.
|
|
5140
6206
|
tags:
|
|
5141
|
-
-
|
|
6207
|
+
- integrations
|
|
5142
6208
|
responses:
|
|
5143
6209
|
"200":
|
|
5144
6210
|
description: Successful response
|
|
@@ -5218,6 +6284,8 @@ paths:
|
|
|
5218
6284
|
responses:
|
|
5219
6285
|
"200":
|
|
5220
6286
|
description: Successful response
|
|
6287
|
+
"500":
|
|
6288
|
+
description: Failed to create archive
|
|
5221
6289
|
requestBody:
|
|
5222
6290
|
required: true
|
|
5223
6291
|
content:
|
|
@@ -5234,9 +6302,7 @@ paths:
|
|
|
5234
6302
|
description: Scope to a single conversation
|
|
5235
6303
|
type: string
|
|
5236
6304
|
full:
|
|
5237
|
-
description:
|
|
5238
|
-
Full export — include messages, LLM request logs, and usage events for all conversations. Use for test data
|
|
5239
|
-
debugging.
|
|
6305
|
+
description: Full export — include messages, LLM request logs, and usage events for all conversations.
|
|
5240
6306
|
type: boolean
|
|
5241
6307
|
startTime:
|
|
5242
6308
|
description: Lower bound epoch ms
|
|
@@ -5320,7 +6386,7 @@ paths:
|
|
|
5320
6386
|
tags:
|
|
5321
6387
|
- memory
|
|
5322
6388
|
responses:
|
|
5323
|
-
"
|
|
6389
|
+
"201":
|
|
5324
6390
|
description: Successful response
|
|
5325
6391
|
content:
|
|
5326
6392
|
application/json:
|
|
@@ -5335,6 +6401,8 @@ paths:
|
|
|
5335
6401
|
required:
|
|
5336
6402
|
- item
|
|
5337
6403
|
additionalProperties: false
|
|
6404
|
+
"409":
|
|
6405
|
+
description: A memory with this content already exists
|
|
5338
6406
|
requestBody:
|
|
5339
6407
|
required: true
|
|
5340
6408
|
content:
|
|
@@ -5366,18 +6434,8 @@ paths:
|
|
|
5366
6434
|
tags:
|
|
5367
6435
|
- memory
|
|
5368
6436
|
responses:
|
|
5369
|
-
"
|
|
6437
|
+
"204":
|
|
5370
6438
|
description: Successful response
|
|
5371
|
-
content:
|
|
5372
|
-
application/json:
|
|
5373
|
-
schema:
|
|
5374
|
-
type: object
|
|
5375
|
-
properties:
|
|
5376
|
-
ok:
|
|
5377
|
-
type: boolean
|
|
5378
|
-
required:
|
|
5379
|
-
- ok
|
|
5380
|
-
additionalProperties: false
|
|
5381
6439
|
parameters:
|
|
5382
6440
|
- name: id
|
|
5383
6441
|
in: path
|
|
@@ -5434,6 +6492,8 @@ paths:
|
|
|
5434
6492
|
required:
|
|
5435
6493
|
- item
|
|
5436
6494
|
additionalProperties: false
|
|
6495
|
+
"409":
|
|
6496
|
+
description: Another memory item with this content already exists
|
|
5437
6497
|
parameters:
|
|
5438
6498
|
- name: id
|
|
5439
6499
|
in: path
|
|
@@ -5458,6 +6518,75 @@ paths:
|
|
|
5458
6518
|
importance:
|
|
5459
6519
|
type: number
|
|
5460
6520
|
additionalProperties: false
|
|
6521
|
+
/v1/memory/v2/backfill:
|
|
6522
|
+
post:
|
|
6523
|
+
operationId: memory_v2_backfill_post
|
|
6524
|
+
summary: Enqueue a memory v2 backfill job
|
|
6525
|
+
description:
|
|
6526
|
+
Enqueues one of four operator-triggered backfill jobs (migrate, rebuild-edges, reembed,
|
|
6527
|
+
activation-recompute) against the memory jobs queue.
|
|
6528
|
+
tags:
|
|
6529
|
+
- memory
|
|
6530
|
+
responses:
|
|
6531
|
+
"200":
|
|
6532
|
+
description: Successful response
|
|
6533
|
+
requestBody:
|
|
6534
|
+
required: true
|
|
6535
|
+
content:
|
|
6536
|
+
application/json:
|
|
6537
|
+
schema:
|
|
6538
|
+
type: object
|
|
6539
|
+
properties:
|
|
6540
|
+
op:
|
|
6541
|
+
type: string
|
|
6542
|
+
enum:
|
|
6543
|
+
- migrate
|
|
6544
|
+
- rebuild-edges
|
|
6545
|
+
- reembed
|
|
6546
|
+
- activation-recompute
|
|
6547
|
+
force:
|
|
6548
|
+
type: boolean
|
|
6549
|
+
required:
|
|
6550
|
+
- op
|
|
6551
|
+
additionalProperties: false
|
|
6552
|
+
/v1/memory/v2/reembed-skills:
|
|
6553
|
+
post:
|
|
6554
|
+
operationId: memory_v2_reembedskills_post
|
|
6555
|
+
summary: Re-seed v2 skill entries from the current skill catalog
|
|
6556
|
+
description:
|
|
6557
|
+
Synchronously re-runs seedV2SkillEntries against the current skill catalog. Gated on memory-v2-enabled flag
|
|
6558
|
+
and config.memory.v2.enabled.
|
|
6559
|
+
tags:
|
|
6560
|
+
- memory
|
|
6561
|
+
responses:
|
|
6562
|
+
"200":
|
|
6563
|
+
description: Successful response
|
|
6564
|
+
requestBody:
|
|
6565
|
+
required: true
|
|
6566
|
+
content:
|
|
6567
|
+
application/json:
|
|
6568
|
+
schema:
|
|
6569
|
+
type: object
|
|
6570
|
+
properties: {}
|
|
6571
|
+
additionalProperties: false
|
|
6572
|
+
/v1/memory/v2/validate:
|
|
6573
|
+
post:
|
|
6574
|
+
operationId: memory_v2_validate_post
|
|
6575
|
+
summary: Validate memory v2 workspace state
|
|
6576
|
+
description: Read-only structural validation of the v2 workspace — reports orphan edges, oversized pages, and parse failures.
|
|
6577
|
+
tags:
|
|
6578
|
+
- memory
|
|
6579
|
+
responses:
|
|
6580
|
+
"200":
|
|
6581
|
+
description: Successful response
|
|
6582
|
+
requestBody:
|
|
6583
|
+
required: true
|
|
6584
|
+
content:
|
|
6585
|
+
application/json:
|
|
6586
|
+
schema:
|
|
6587
|
+
type: object
|
|
6588
|
+
properties: {}
|
|
6589
|
+
additionalProperties: false
|
|
5461
6590
|
/v1/messages:
|
|
5462
6591
|
get:
|
|
5463
6592
|
operationId: messages_get
|
|
@@ -5481,11 +6610,17 @@ paths:
|
|
|
5481
6610
|
description: Whether older messages exist beyond this page
|
|
5482
6611
|
type: boolean
|
|
5483
6612
|
oldestTimestamp:
|
|
5484
|
-
description:
|
|
5485
|
-
|
|
6613
|
+
description:
|
|
6614
|
+
Timestamp of the oldest message in this page (ms since epoch). Null when page=latest is used on an empty
|
|
6615
|
+
conversation.
|
|
6616
|
+
anyOf:
|
|
6617
|
+
- type: number
|
|
6618
|
+
- type: "null"
|
|
5486
6619
|
oldestMessageId:
|
|
5487
6620
|
description: ID of the oldest message in this page
|
|
5488
|
-
|
|
6621
|
+
anyOf:
|
|
6622
|
+
- type: string
|
|
6623
|
+
- type: "null"
|
|
5489
6624
|
required:
|
|
5490
6625
|
- messages
|
|
5491
6626
|
additionalProperties: false
|
|
@@ -5496,7 +6631,7 @@ paths:
|
|
|
5496
6631
|
tags:
|
|
5497
6632
|
- messages
|
|
5498
6633
|
responses:
|
|
5499
|
-
"
|
|
6634
|
+
"202":
|
|
5500
6635
|
description: Successful response
|
|
5501
6636
|
requestBody:
|
|
5502
6637
|
required: true
|
|
@@ -5518,6 +6653,17 @@ paths:
|
|
|
5518
6653
|
type: string
|
|
5519
6654
|
slashCommand:
|
|
5520
6655
|
type: string
|
|
6656
|
+
inferenceProfile:
|
|
6657
|
+
anyOf:
|
|
6658
|
+
- type: string
|
|
6659
|
+
- type: "null"
|
|
6660
|
+
riskThreshold:
|
|
6661
|
+
type: string
|
|
6662
|
+
enum:
|
|
6663
|
+
- none
|
|
6664
|
+
- low
|
|
6665
|
+
- medium
|
|
6666
|
+
- high
|
|
5521
6667
|
required:
|
|
5522
6668
|
- content
|
|
5523
6669
|
additionalProperties: false
|
|
@@ -5537,6 +6683,12 @@ paths:
|
|
|
5537
6683
|
required: true
|
|
5538
6684
|
schema:
|
|
5539
6685
|
type: string
|
|
6686
|
+
- name: conversationId
|
|
6687
|
+
in: query
|
|
6688
|
+
required: false
|
|
6689
|
+
schema:
|
|
6690
|
+
type: string
|
|
6691
|
+
description: Optional conversation ID filter
|
|
5540
6692
|
/v1/messages/{id}/llm-context:
|
|
5541
6693
|
get:
|
|
5542
6694
|
operationId: messages_by_id_llmcontext_get
|
|
@@ -5572,9 +6724,9 @@ paths:
|
|
|
5572
6724
|
required: true
|
|
5573
6725
|
schema:
|
|
5574
6726
|
type: string
|
|
5575
|
-
/v1/messages/{
|
|
6727
|
+
/v1/messages/{messageId}/tts:
|
|
5576
6728
|
post:
|
|
5577
|
-
operationId:
|
|
6729
|
+
operationId: messages_by_messageId_tts_post
|
|
5578
6730
|
summary: Synthesize message to speech
|
|
5579
6731
|
description: Synthesize a message's text content to audio using the configured TTS provider.
|
|
5580
6732
|
tags:
|
|
@@ -5583,7 +6735,7 @@ paths:
|
|
|
5583
6735
|
"200":
|
|
5584
6736
|
description: Successful response
|
|
5585
6737
|
parameters:
|
|
5586
|
-
- name:
|
|
6738
|
+
- name: messageId
|
|
5587
6739
|
in: path
|
|
5588
6740
|
required: true
|
|
5589
6741
|
schema:
|
|
@@ -5610,6 +6762,12 @@ paths:
|
|
|
5610
6762
|
required: true
|
|
5611
6763
|
schema:
|
|
5612
6764
|
type: string
|
|
6765
|
+
- name: conversationId
|
|
6766
|
+
in: query
|
|
6767
|
+
required: true
|
|
6768
|
+
schema:
|
|
6769
|
+
type: string
|
|
6770
|
+
description: Conversation ID (required)
|
|
5613
6771
|
/v1/migrations/export:
|
|
5614
6772
|
post:
|
|
5615
6773
|
operationId: migrations_export_post
|
|
@@ -5633,14 +6791,62 @@ paths:
|
|
|
5633
6791
|
required:
|
|
5634
6792
|
- description
|
|
5635
6793
|
additionalProperties: false
|
|
6794
|
+
/v1/migrations/export-to-gcs:
|
|
6795
|
+
post:
|
|
6796
|
+
operationId: migrations_exporttogcs_post
|
|
6797
|
+
summary: Start an async export streamed to a GCS signed URL
|
|
6798
|
+
description:
|
|
6799
|
+
Kick off a background export job that PUTs a freshly-built .vbundle archive to the supplied GCS signed URL.
|
|
6800
|
+
Returns 202 with a job_id the caller can poll via the job-status endpoint. Fails fast with 409 if another export
|
|
6801
|
+
job is already pending or running.
|
|
6802
|
+
tags:
|
|
6803
|
+
- migrations
|
|
6804
|
+
responses:
|
|
6805
|
+
"202":
|
|
6806
|
+
description: Successful response
|
|
6807
|
+
content:
|
|
6808
|
+
application/json:
|
|
6809
|
+
schema:
|
|
6810
|
+
type: object
|
|
6811
|
+
properties:
|
|
6812
|
+
job_id:
|
|
6813
|
+
type: string
|
|
6814
|
+
status:
|
|
6815
|
+
type: string
|
|
6816
|
+
const: pending
|
|
6817
|
+
type:
|
|
6818
|
+
type: string
|
|
6819
|
+
const: export
|
|
6820
|
+
required:
|
|
6821
|
+
- job_id
|
|
6822
|
+
- status
|
|
6823
|
+
- type
|
|
6824
|
+
additionalProperties: false
|
|
6825
|
+
requestBody:
|
|
6826
|
+
required: true
|
|
6827
|
+
content:
|
|
6828
|
+
application/json:
|
|
6829
|
+
schema:
|
|
6830
|
+
type: object
|
|
6831
|
+
properties:
|
|
6832
|
+
upload_url:
|
|
6833
|
+
type: string
|
|
6834
|
+
format: uri
|
|
6835
|
+
description: Signed GCS PUT URL that receives the exported bundle.
|
|
6836
|
+
description:
|
|
6837
|
+
description: Human-readable export description.
|
|
6838
|
+
type: string
|
|
6839
|
+
required:
|
|
6840
|
+
- upload_url
|
|
6841
|
+
additionalProperties: false
|
|
5636
6842
|
/v1/migrations/import:
|
|
5637
6843
|
post:
|
|
5638
6844
|
operationId: migrations_import_post
|
|
5639
6845
|
summary: Import a .vbundle archive
|
|
5640
6846
|
description:
|
|
5641
6847
|
Commit a .vbundle archive import to disk — destructive. Accepts the bundle as raw bytes
|
|
5642
|
-
(application/octet-stream), multipart/form-data, or a JSON body carrying a signed URL the daemon
|
|
5643
|
-
|
|
6848
|
+
(application/octet-stream), multipart/form-data, or a JSON body with `{ url }` carrying a signed URL the daemon
|
|
6849
|
+
fetches.
|
|
5644
6850
|
tags:
|
|
5645
6851
|
- migrations
|
|
5646
6852
|
responses:
|
|
@@ -5675,55 +6881,67 @@ paths:
|
|
|
5675
6881
|
- warnings
|
|
5676
6882
|
additionalProperties: false
|
|
5677
6883
|
"502":
|
|
5678
|
-
description:
|
|
5679
|
-
|
|
5680
|
-
|
|
6884
|
+
description: Upstream fetch failed (URL body only).
|
|
6885
|
+
requestBody:
|
|
6886
|
+
required: true
|
|
6887
|
+
content:
|
|
6888
|
+
application/json:
|
|
6889
|
+
schema:
|
|
6890
|
+
type: object
|
|
6891
|
+
properties:
|
|
6892
|
+
url:
|
|
6893
|
+
type: string
|
|
6894
|
+
format: uri
|
|
6895
|
+
description: A signed GCS URL pointing to the .vbundle archive (JSON body path only).
|
|
6896
|
+
required:
|
|
6897
|
+
- url
|
|
6898
|
+
additionalProperties: false
|
|
6899
|
+
/v1/migrations/import-from-gcs:
|
|
6900
|
+
post:
|
|
6901
|
+
operationId: migrations_importfromgcs_post
|
|
6902
|
+
summary: Start an async .vbundle import from a signed GCS URL
|
|
6903
|
+
description:
|
|
6904
|
+
Schedule a background import job that fetches the bundle at `bundle_url` and streams it through the
|
|
6905
|
+
importer. Returns 202 with a `job_id`; poll `GET /v1/migrations/jobs/{job_id}` for status. 409 if another import
|
|
6906
|
+
is already in flight.
|
|
6907
|
+
tags:
|
|
6908
|
+
- migrations
|
|
6909
|
+
responses:
|
|
6910
|
+
"202":
|
|
6911
|
+
description: Successful response
|
|
5681
6912
|
content:
|
|
5682
6913
|
application/json:
|
|
5683
6914
|
schema:
|
|
5684
6915
|
type: object
|
|
5685
6916
|
properties:
|
|
5686
|
-
|
|
5687
|
-
type: boolean
|
|
5688
|
-
reason:
|
|
6917
|
+
job_id:
|
|
5689
6918
|
type: string
|
|
5690
|
-
|
|
5691
|
-
|
|
5692
|
-
|
|
5693
|
-
|
|
6919
|
+
status:
|
|
6920
|
+
type: string
|
|
6921
|
+
const: pending
|
|
6922
|
+
type:
|
|
6923
|
+
type: string
|
|
6924
|
+
const: import
|
|
5694
6925
|
required:
|
|
5695
|
-
-
|
|
5696
|
-
-
|
|
6926
|
+
- job_id
|
|
6927
|
+
- status
|
|
6928
|
+
- type
|
|
6929
|
+
additionalProperties: false
|
|
6930
|
+
"409":
|
|
6931
|
+
description: Another import job is already pending or running.
|
|
5697
6932
|
requestBody:
|
|
5698
6933
|
required: true
|
|
5699
6934
|
content:
|
|
5700
|
-
application/octet-stream:
|
|
5701
|
-
schema:
|
|
5702
|
-
type: string
|
|
5703
|
-
format: binary
|
|
5704
|
-
description: Raw .vbundle archive bytes.
|
|
5705
|
-
multipart/form-data:
|
|
5706
|
-
schema:
|
|
5707
|
-
type: object
|
|
5708
|
-
properties:
|
|
5709
|
-
file:
|
|
5710
|
-
type: string
|
|
5711
|
-
format: binary
|
|
5712
|
-
description: The .vbundle archive uploaded as a file field.
|
|
5713
|
-
required:
|
|
5714
|
-
- file
|
|
5715
6935
|
application/json:
|
|
5716
6936
|
schema:
|
|
5717
6937
|
type: object
|
|
5718
6938
|
properties:
|
|
5719
|
-
|
|
6939
|
+
bundle_url:
|
|
5720
6940
|
type: string
|
|
5721
6941
|
format: uri
|
|
5722
|
-
description:
|
|
5723
|
-
A signed GCS URL pointing to the .vbundle archive. The daemon fetches the URL and streams the body through
|
|
5724
|
-
the importer.
|
|
5725
6942
|
required:
|
|
5726
|
-
-
|
|
6943
|
+
- bundle_url
|
|
6944
|
+
additionalProperties: false
|
|
5727
6945
|
/v1/migrations/import-preflight:
|
|
5728
6946
|
post:
|
|
5729
6947
|
operationId: migrations_importpreflight_post
|
|
@@ -5762,11 +6980,14 @@ paths:
|
|
|
5762
6980
|
- conflicts
|
|
5763
6981
|
- manifest
|
|
5764
6982
|
additionalProperties: false
|
|
5765
|
-
/v1/migrations/
|
|
5766
|
-
|
|
5767
|
-
operationId:
|
|
5768
|
-
summary:
|
|
5769
|
-
description:
|
|
6983
|
+
/v1/migrations/jobs/{job_id}:
|
|
6984
|
+
get:
|
|
6985
|
+
operationId: migrations_jobs_by_job_id_get
|
|
6986
|
+
summary: Get migration job status
|
|
6987
|
+
description:
|
|
6988
|
+
"Return the current status of an async migration job (export or import). The response discriminates on
|
|
6989
|
+
`status`: `processing` (pending or running), `complete` (with `result`), or `failed` (with `error`,
|
|
6990
|
+
`error_code`, optional `upstream_status`)."
|
|
5770
6991
|
tags:
|
|
5771
6992
|
- migrations
|
|
5772
6993
|
responses:
|
|
@@ -5775,41 +6996,126 @@ paths:
|
|
|
5775
6996
|
content:
|
|
5776
6997
|
application/json:
|
|
5777
6998
|
schema:
|
|
5778
|
-
|
|
5779
|
-
|
|
5780
|
-
|
|
5781
|
-
|
|
5782
|
-
|
|
5783
|
-
|
|
5784
|
-
|
|
5785
|
-
|
|
5786
|
-
|
|
5787
|
-
|
|
5788
|
-
|
|
5789
|
-
|
|
5790
|
-
|
|
5791
|
-
|
|
5792
|
-
|
|
5793
|
-
|
|
5794
|
-
|
|
5795
|
-
|
|
5796
|
-
|
|
5797
|
-
|
|
5798
|
-
|
|
5799
|
-
|
|
5800
|
-
|
|
5801
|
-
|
|
5802
|
-
|
|
5803
|
-
|
|
5804
|
-
|
|
5805
|
-
|
|
5806
|
-
|
|
5807
|
-
|
|
5808
|
-
|
|
5809
|
-
|
|
5810
|
-
|
|
5811
|
-
|
|
5812
|
-
|
|
6999
|
+
oneOf:
|
|
7000
|
+
- type: object
|
|
7001
|
+
properties:
|
|
7002
|
+
job_id:
|
|
7003
|
+
type: string
|
|
7004
|
+
type:
|
|
7005
|
+
type: string
|
|
7006
|
+
enum:
|
|
7007
|
+
- export
|
|
7008
|
+
- import
|
|
7009
|
+
status:
|
|
7010
|
+
type: string
|
|
7011
|
+
const: processing
|
|
7012
|
+
required:
|
|
7013
|
+
- job_id
|
|
7014
|
+
- type
|
|
7015
|
+
- status
|
|
7016
|
+
additionalProperties: false
|
|
7017
|
+
- type: object
|
|
7018
|
+
properties:
|
|
7019
|
+
job_id:
|
|
7020
|
+
type: string
|
|
7021
|
+
type:
|
|
7022
|
+
type: string
|
|
7023
|
+
enum:
|
|
7024
|
+
- export
|
|
7025
|
+
- import
|
|
7026
|
+
status:
|
|
7027
|
+
type: string
|
|
7028
|
+
const: complete
|
|
7029
|
+
result: {}
|
|
7030
|
+
required:
|
|
7031
|
+
- job_id
|
|
7032
|
+
- type
|
|
7033
|
+
- status
|
|
7034
|
+
- result
|
|
7035
|
+
additionalProperties: false
|
|
7036
|
+
- type: object
|
|
7037
|
+
properties:
|
|
7038
|
+
job_id:
|
|
7039
|
+
type: string
|
|
7040
|
+
type:
|
|
7041
|
+
type: string
|
|
7042
|
+
enum:
|
|
7043
|
+
- export
|
|
7044
|
+
- import
|
|
7045
|
+
status:
|
|
7046
|
+
type: string
|
|
7047
|
+
const: failed
|
|
7048
|
+
error:
|
|
7049
|
+
type: string
|
|
7050
|
+
error_code:
|
|
7051
|
+
type: string
|
|
7052
|
+
upstream_status:
|
|
7053
|
+
type: integer
|
|
7054
|
+
minimum: -9007199254740991
|
|
7055
|
+
maximum: 9007199254740991
|
|
7056
|
+
required:
|
|
7057
|
+
- job_id
|
|
7058
|
+
- type
|
|
7059
|
+
- status
|
|
7060
|
+
- error
|
|
7061
|
+
- error_code
|
|
7062
|
+
additionalProperties: false
|
|
7063
|
+
"404":
|
|
7064
|
+
description: No job matches the given id.
|
|
7065
|
+
parameters:
|
|
7066
|
+
- name: job_id
|
|
7067
|
+
in: path
|
|
7068
|
+
required: true
|
|
7069
|
+
schema:
|
|
7070
|
+
type: string
|
|
7071
|
+
/v1/migrations/validate:
|
|
7072
|
+
post:
|
|
7073
|
+
operationId: migrations_validate_post
|
|
7074
|
+
summary: Validate a .vbundle archive
|
|
7075
|
+
description: Upload a .vbundle archive for validation. Accepts raw binary or multipart form data.
|
|
7076
|
+
tags:
|
|
7077
|
+
- migrations
|
|
7078
|
+
responses:
|
|
7079
|
+
"200":
|
|
7080
|
+
description: Successful response
|
|
7081
|
+
content:
|
|
7082
|
+
application/json:
|
|
7083
|
+
schema:
|
|
7084
|
+
type: object
|
|
7085
|
+
properties:
|
|
7086
|
+
is_valid:
|
|
7087
|
+
type: boolean
|
|
7088
|
+
errors:
|
|
7089
|
+
type: array
|
|
7090
|
+
items: {}
|
|
7091
|
+
manifest:
|
|
7092
|
+
type: object
|
|
7093
|
+
properties: {}
|
|
7094
|
+
additionalProperties: {}
|
|
7095
|
+
required:
|
|
7096
|
+
- is_valid
|
|
7097
|
+
- errors
|
|
7098
|
+
- manifest
|
|
7099
|
+
additionalProperties: false
|
|
7100
|
+
/v1/model:
|
|
7101
|
+
get:
|
|
7102
|
+
operationId: model_get
|
|
7103
|
+
summary: Get current model config
|
|
7104
|
+
description: Return the active LLM model ID, provider, and available models.
|
|
7105
|
+
tags:
|
|
7106
|
+
- config
|
|
7107
|
+
responses:
|
|
7108
|
+
"200":
|
|
7109
|
+
description: Successful response
|
|
7110
|
+
put:
|
|
7111
|
+
operationId: model_put
|
|
7112
|
+
summary: Set LLM model
|
|
7113
|
+
description: Change the active LLM model and optionally its provider.
|
|
7114
|
+
tags:
|
|
7115
|
+
- config
|
|
7116
|
+
responses:
|
|
7117
|
+
"200":
|
|
7118
|
+
description: Successful response
|
|
5813
7119
|
requestBody:
|
|
5814
7120
|
required: true
|
|
5815
7121
|
content:
|
|
@@ -5889,26 +7195,191 @@ paths:
|
|
|
5889
7195
|
required:
|
|
5890
7196
|
- deliveryId
|
|
5891
7197
|
additionalProperties: false
|
|
7198
|
+
/v1/notifications/emit:
|
|
7199
|
+
post:
|
|
7200
|
+
operationId: notifications_emit_post
|
|
7201
|
+
summary: Emit a notification signal
|
|
7202
|
+
description: Emit a notification signal into the pipeline for routing and delivery.
|
|
7203
|
+
tags:
|
|
7204
|
+
- notifications
|
|
7205
|
+
responses:
|
|
7206
|
+
"200":
|
|
7207
|
+
description: Successful response
|
|
7208
|
+
content:
|
|
7209
|
+
application/json:
|
|
7210
|
+
schema:
|
|
7211
|
+
type: object
|
|
7212
|
+
properties:
|
|
7213
|
+
signalId:
|
|
7214
|
+
type: string
|
|
7215
|
+
dispatched:
|
|
7216
|
+
type: boolean
|
|
7217
|
+
deduplicated:
|
|
7218
|
+
type: boolean
|
|
7219
|
+
reason:
|
|
7220
|
+
type: string
|
|
7221
|
+
required:
|
|
7222
|
+
- signalId
|
|
7223
|
+
- dispatched
|
|
7224
|
+
- deduplicated
|
|
7225
|
+
- reason
|
|
7226
|
+
additionalProperties: false
|
|
7227
|
+
requestBody:
|
|
7228
|
+
required: true
|
|
7229
|
+
content:
|
|
7230
|
+
application/json:
|
|
7231
|
+
schema:
|
|
7232
|
+
type: object
|
|
7233
|
+
properties:
|
|
7234
|
+
sourceEventName:
|
|
7235
|
+
type: string
|
|
7236
|
+
minLength: 1
|
|
7237
|
+
sourceChannel:
|
|
7238
|
+
type: string
|
|
7239
|
+
enum:
|
|
7240
|
+
- assistant_tool
|
|
7241
|
+
- vellum
|
|
7242
|
+
- phone
|
|
7243
|
+
- telegram
|
|
7244
|
+
- slack
|
|
7245
|
+
- scheduler
|
|
7246
|
+
- watcher
|
|
7247
|
+
sourceContextId:
|
|
7248
|
+
type: string
|
|
7249
|
+
minLength: 1
|
|
7250
|
+
attentionHints:
|
|
7251
|
+
type: object
|
|
7252
|
+
properties:
|
|
7253
|
+
requiresAction:
|
|
7254
|
+
type: boolean
|
|
7255
|
+
urgency:
|
|
7256
|
+
type: string
|
|
7257
|
+
enum:
|
|
7258
|
+
- low
|
|
7259
|
+
- medium
|
|
7260
|
+
- high
|
|
7261
|
+
deadlineAt:
|
|
7262
|
+
type: number
|
|
7263
|
+
isAsyncBackground:
|
|
7264
|
+
type: boolean
|
|
7265
|
+
visibleInSourceNow:
|
|
7266
|
+
type: boolean
|
|
7267
|
+
required:
|
|
7268
|
+
- requiresAction
|
|
7269
|
+
- urgency
|
|
7270
|
+
- isAsyncBackground
|
|
7271
|
+
- visibleInSourceNow
|
|
7272
|
+
additionalProperties: false
|
|
7273
|
+
contextPayload:
|
|
7274
|
+
type: object
|
|
7275
|
+
propertyNames:
|
|
7276
|
+
type: string
|
|
7277
|
+
additionalProperties: {}
|
|
7278
|
+
routingIntent:
|
|
7279
|
+
type: string
|
|
7280
|
+
enum:
|
|
7281
|
+
- single_channel
|
|
7282
|
+
- multi_channel
|
|
7283
|
+
- all_channels
|
|
7284
|
+
dedupeKey:
|
|
7285
|
+
type: string
|
|
7286
|
+
throwOnError:
|
|
7287
|
+
type: boolean
|
|
7288
|
+
required:
|
|
7289
|
+
- sourceEventName
|
|
7290
|
+
- sourceChannel
|
|
7291
|
+
- sourceContextId
|
|
7292
|
+
- attentionHints
|
|
7293
|
+
additionalProperties: false
|
|
7294
|
+
/v1/notifications/events:
|
|
7295
|
+
post:
|
|
7296
|
+
operationId: notifications_events_post
|
|
7297
|
+
summary: List notification events
|
|
7298
|
+
description: List recent notification events, optionally filtered by source event name.
|
|
7299
|
+
tags:
|
|
7300
|
+
- notifications
|
|
7301
|
+
responses:
|
|
7302
|
+
"200":
|
|
7303
|
+
description: Successful response
|
|
7304
|
+
content:
|
|
7305
|
+
application/json:
|
|
7306
|
+
schema:
|
|
7307
|
+
type: array
|
|
7308
|
+
items:
|
|
7309
|
+
type: object
|
|
7310
|
+
properties:
|
|
7311
|
+
id:
|
|
7312
|
+
type: string
|
|
7313
|
+
sourceEventName:
|
|
7314
|
+
type: string
|
|
7315
|
+
sourceChannel:
|
|
7316
|
+
type: string
|
|
7317
|
+
sourceContextId:
|
|
7318
|
+
type: string
|
|
7319
|
+
urgency:
|
|
7320
|
+
type: string
|
|
7321
|
+
dedupeKey:
|
|
7322
|
+
anyOf:
|
|
7323
|
+
- type: string
|
|
7324
|
+
- type: "null"
|
|
7325
|
+
createdAt:
|
|
7326
|
+
type: string
|
|
7327
|
+
required:
|
|
7328
|
+
- id
|
|
7329
|
+
- sourceEventName
|
|
7330
|
+
- sourceChannel
|
|
7331
|
+
- sourceContextId
|
|
7332
|
+
- urgency
|
|
7333
|
+
- dedupeKey
|
|
7334
|
+
- createdAt
|
|
7335
|
+
additionalProperties: false
|
|
7336
|
+
requestBody:
|
|
7337
|
+
required: true
|
|
7338
|
+
content:
|
|
7339
|
+
application/json:
|
|
7340
|
+
schema:
|
|
7341
|
+
type: object
|
|
7342
|
+
properties:
|
|
7343
|
+
limit:
|
|
7344
|
+
type: integer
|
|
7345
|
+
exclusiveMinimum: 0
|
|
7346
|
+
maximum: 9007199254740991
|
|
7347
|
+
sourceEventName:
|
|
7348
|
+
type: string
|
|
7349
|
+
additionalProperties: false
|
|
5892
7350
|
/v1/oauth/apps:
|
|
5893
7351
|
get:
|
|
5894
7352
|
operationId: oauth_apps_get
|
|
7353
|
+
summary: List OAuth apps
|
|
7354
|
+
description: List OAuth apps filtered by provider_key.
|
|
5895
7355
|
tags:
|
|
5896
|
-
- oauth
|
|
7356
|
+
- oauth
|
|
5897
7357
|
responses:
|
|
5898
7358
|
"200":
|
|
5899
7359
|
description: Successful response
|
|
7360
|
+
parameters:
|
|
7361
|
+
- name: provider_key
|
|
7362
|
+
in: query
|
|
7363
|
+
required: true
|
|
7364
|
+
schema:
|
|
7365
|
+
type: string
|
|
7366
|
+
description: OAuth provider key to filter by
|
|
5900
7367
|
post:
|
|
5901
7368
|
operationId: oauth_apps_post
|
|
7369
|
+
summary: Create OAuth app
|
|
7370
|
+
description: Register a new OAuth app with client credentials.
|
|
5902
7371
|
tags:
|
|
5903
|
-
- oauth
|
|
7372
|
+
- oauth
|
|
5904
7373
|
responses:
|
|
5905
|
-
"
|
|
7374
|
+
"201":
|
|
5906
7375
|
description: Successful response
|
|
5907
7376
|
/v1/oauth/apps/{appId}/connect:
|
|
5908
7377
|
post:
|
|
5909
7378
|
operationId: oauth_apps_by_appId_connect_post
|
|
7379
|
+
summary: Start OAuth connect
|
|
7380
|
+
description: Start an OAuth connect flow for an app.
|
|
5910
7381
|
tags:
|
|
5911
|
-
- oauth
|
|
7382
|
+
- oauth
|
|
5912
7383
|
responses:
|
|
5913
7384
|
"200":
|
|
5914
7385
|
description: Successful response
|
|
@@ -5921,8 +7392,10 @@ paths:
|
|
|
5921
7392
|
/v1/oauth/apps/{appId}/connections:
|
|
5922
7393
|
get:
|
|
5923
7394
|
operationId: oauth_apps_by_appId_connections_get
|
|
7395
|
+
summary: List OAuth connections
|
|
7396
|
+
description: List connections for an OAuth app.
|
|
5924
7397
|
tags:
|
|
5925
|
-
- oauth
|
|
7398
|
+
- oauth
|
|
5926
7399
|
responses:
|
|
5927
7400
|
"200":
|
|
5928
7401
|
description: Successful response
|
|
@@ -5935,8 +7408,10 @@ paths:
|
|
|
5935
7408
|
/v1/oauth/apps/{id}:
|
|
5936
7409
|
delete:
|
|
5937
7410
|
operationId: oauth_apps_by_id_delete
|
|
7411
|
+
summary: Delete OAuth app
|
|
7412
|
+
description: Delete an OAuth app and disconnect all its connections.
|
|
5938
7413
|
tags:
|
|
5939
|
-
- oauth
|
|
7414
|
+
- oauth
|
|
5940
7415
|
responses:
|
|
5941
7416
|
"200":
|
|
5942
7417
|
description: Successful response
|
|
@@ -5949,8 +7424,10 @@ paths:
|
|
|
5949
7424
|
/v1/oauth/connections/{id}:
|
|
5950
7425
|
delete:
|
|
5951
7426
|
operationId: oauth_connections_by_id_delete
|
|
7427
|
+
summary: Disconnect OAuth connection
|
|
7428
|
+
description: Disconnect a single OAuth connection.
|
|
5952
7429
|
tags:
|
|
5953
|
-
- oauth
|
|
7430
|
+
- oauth
|
|
5954
7431
|
responses:
|
|
5955
7432
|
"200":
|
|
5956
7433
|
description: Successful response
|
|
@@ -5963,16 +7440,27 @@ paths:
|
|
|
5963
7440
|
/v1/oauth/providers:
|
|
5964
7441
|
get:
|
|
5965
7442
|
operationId: oauth_providers_get
|
|
7443
|
+
summary: List OAuth providers
|
|
7444
|
+
description: List all registered OAuth providers with optional filtering.
|
|
5966
7445
|
tags:
|
|
5967
|
-
- oauth
|
|
7446
|
+
- oauth
|
|
5968
7447
|
responses:
|
|
5969
7448
|
"200":
|
|
5970
7449
|
description: Successful response
|
|
7450
|
+
parameters:
|
|
7451
|
+
- name: supports_managed_mode
|
|
7452
|
+
in: query
|
|
7453
|
+
required: false
|
|
7454
|
+
schema:
|
|
7455
|
+
type: string
|
|
7456
|
+
description: Filter by managed mode support (true/false)
|
|
5971
7457
|
/v1/oauth/providers/{providerKey}:
|
|
5972
7458
|
get:
|
|
5973
7459
|
operationId: oauth_providers_by_providerKey_get
|
|
7460
|
+
summary: Get OAuth provider
|
|
7461
|
+
description: Get a single OAuth provider by key.
|
|
5974
7462
|
tags:
|
|
5975
|
-
- oauth
|
|
7463
|
+
- oauth
|
|
5976
7464
|
responses:
|
|
5977
7465
|
"200":
|
|
5978
7466
|
description: Successful response
|
|
@@ -6008,46 +7496,22 @@ paths:
|
|
|
6008
7496
|
- service
|
|
6009
7497
|
- requestedScopes
|
|
6010
7498
|
additionalProperties: false
|
|
6011
|
-
/v1/
|
|
6012
|
-
|
|
6013
|
-
operationId:
|
|
6014
|
-
summary:
|
|
6015
|
-
description:
|
|
7499
|
+
/v1/pages/{appId}:
|
|
7500
|
+
get:
|
|
7501
|
+
operationId: pages_by_appId_get
|
|
7502
|
+
summary: Serve app page
|
|
7503
|
+
description: Render and serve a shareable app page as HTML.
|
|
6016
7504
|
tags:
|
|
6017
|
-
-
|
|
7505
|
+
- apps
|
|
6018
7506
|
responses:
|
|
6019
7507
|
"200":
|
|
6020
7508
|
description: Successful response
|
|
6021
|
-
|
|
6022
|
-
|
|
6023
|
-
|
|
6024
|
-
|
|
6025
|
-
|
|
6026
|
-
|
|
6027
|
-
type: boolean
|
|
6028
|
-
required:
|
|
6029
|
-
- ok
|
|
6030
|
-
additionalProperties: false
|
|
6031
|
-
requestBody:
|
|
6032
|
-
required: true
|
|
6033
|
-
content:
|
|
6034
|
-
application/json:
|
|
6035
|
-
schema:
|
|
6036
|
-
type: object
|
|
6037
|
-
properties:
|
|
6038
|
-
pairingRequestId:
|
|
6039
|
-
type: string
|
|
6040
|
-
pairingSecret:
|
|
6041
|
-
type: string
|
|
6042
|
-
gatewayUrl:
|
|
6043
|
-
type: string
|
|
6044
|
-
localLanUrl:
|
|
6045
|
-
type: string
|
|
6046
|
-
required:
|
|
6047
|
-
- pairingRequestId
|
|
6048
|
-
- pairingSecret
|
|
6049
|
-
- gatewayUrl
|
|
6050
|
-
additionalProperties: false
|
|
7509
|
+
parameters:
|
|
7510
|
+
- name: appId
|
|
7511
|
+
in: path
|
|
7512
|
+
required: true
|
|
7513
|
+
schema:
|
|
7514
|
+
type: string
|
|
6051
7515
|
/v1/pairing/request:
|
|
6052
7516
|
post:
|
|
6053
7517
|
operationId: pairing_request_post
|
|
@@ -6340,6 +7804,50 @@ paths:
|
|
|
6340
7804
|
required: true
|
|
6341
7805
|
schema:
|
|
6342
7806
|
type: string
|
|
7807
|
+
/v1/ps:
|
|
7808
|
+
get:
|
|
7809
|
+
operationId: ps_get
|
|
7810
|
+
summary: Process status
|
|
7811
|
+
description: Returns a JSON summary of the assistant's process tree including qdrant and embed-worker status.
|
|
7812
|
+
tags:
|
|
7813
|
+
- system
|
|
7814
|
+
responses:
|
|
7815
|
+
"200":
|
|
7816
|
+
description: Successful response
|
|
7817
|
+
content:
|
|
7818
|
+
application/json:
|
|
7819
|
+
schema:
|
|
7820
|
+
type: object
|
|
7821
|
+
properties:
|
|
7822
|
+
processes:
|
|
7823
|
+
type: array
|
|
7824
|
+
items:
|
|
7825
|
+
$ref: "#/$defs/__schema0"
|
|
7826
|
+
required:
|
|
7827
|
+
- processes
|
|
7828
|
+
additionalProperties: false
|
|
7829
|
+
$defs:
|
|
7830
|
+
__schema0:
|
|
7831
|
+
type: object
|
|
7832
|
+
properties:
|
|
7833
|
+
name:
|
|
7834
|
+
type: string
|
|
7835
|
+
status:
|
|
7836
|
+
type: string
|
|
7837
|
+
enum:
|
|
7838
|
+
- running
|
|
7839
|
+
- not_running
|
|
7840
|
+
- unreachable
|
|
7841
|
+
children:
|
|
7842
|
+
type: array
|
|
7843
|
+
items:
|
|
7844
|
+
$ref: "#/$defs/__schema0"
|
|
7845
|
+
info:
|
|
7846
|
+
type: string
|
|
7847
|
+
required:
|
|
7848
|
+
- name
|
|
7849
|
+
- status
|
|
7850
|
+
additionalProperties: false
|
|
6343
7851
|
/v1/recordings/pause:
|
|
6344
7852
|
post:
|
|
6345
7853
|
operationId: recordings_pause_post
|
|
@@ -6418,7 +7926,7 @@ paths:
|
|
|
6418
7926
|
tags:
|
|
6419
7927
|
- recordings
|
|
6420
7928
|
responses:
|
|
6421
|
-
"
|
|
7929
|
+
"201":
|
|
6422
7930
|
description: Successful response
|
|
6423
7931
|
content:
|
|
6424
7932
|
application/json:
|
|
@@ -6572,6 +8080,13 @@ paths:
|
|
|
6572
8080
|
required:
|
|
6573
8081
|
- schedules
|
|
6574
8082
|
additionalProperties: false
|
|
8083
|
+
parameters:
|
|
8084
|
+
- name: include_all
|
|
8085
|
+
in: query
|
|
8086
|
+
required: false
|
|
8087
|
+
schema:
|
|
8088
|
+
type: string
|
|
8089
|
+
description: When 'true', include deferred schedules that are normally hidden.
|
|
6575
8090
|
/v1/schedules/{id}:
|
|
6576
8091
|
delete:
|
|
6577
8092
|
operationId: schedules_by_id_delete
|
|
@@ -6752,6 +8267,12 @@ paths:
|
|
|
6752
8267
|
required: true
|
|
6753
8268
|
schema:
|
|
6754
8269
|
type: string
|
|
8270
|
+
- name: limit
|
|
8271
|
+
in: query
|
|
8272
|
+
required: false
|
|
8273
|
+
schema:
|
|
8274
|
+
type: integer
|
|
8275
|
+
description: Max runs to return (default 10, max 100)
|
|
6755
8276
|
/v1/schedules/{id}/toggle:
|
|
6756
8277
|
post:
|
|
6757
8278
|
operationId: schedules_by_id_toggle_post
|
|
@@ -6846,7 +8367,7 @@ paths:
|
|
|
6846
8367
|
parameters:
|
|
6847
8368
|
- name: q
|
|
6848
8369
|
in: query
|
|
6849
|
-
required:
|
|
8370
|
+
required: true
|
|
6850
8371
|
schema:
|
|
6851
8372
|
type: string
|
|
6852
8373
|
description: Search query (required)
|
|
@@ -7404,7 +8925,7 @@ paths:
|
|
|
7404
8925
|
tags:
|
|
7405
8926
|
- skills
|
|
7406
8927
|
responses:
|
|
7407
|
-
"
|
|
8928
|
+
"201":
|
|
7408
8929
|
description: Successful response
|
|
7409
8930
|
content:
|
|
7410
8931
|
application/json:
|
|
@@ -7445,7 +8966,7 @@ paths:
|
|
|
7445
8966
|
tags:
|
|
7446
8967
|
- skills
|
|
7447
8968
|
responses:
|
|
7448
|
-
"
|
|
8969
|
+
"204":
|
|
7449
8970
|
description: Successful response
|
|
7450
8971
|
parameters:
|
|
7451
8972
|
- name: id
|
|
@@ -8249,37 +9770,97 @@ paths:
|
|
|
8249
9770
|
/v1/slack/channels:
|
|
8250
9771
|
get:
|
|
8251
9772
|
operationId: slack_channels_get
|
|
9773
|
+
summary: List Slack channels
|
|
9774
|
+
description: List Slack channels, groups, and DMs for the channel picker.
|
|
8252
9775
|
tags:
|
|
8253
|
-
-
|
|
9776
|
+
- integrations
|
|
8254
9777
|
responses:
|
|
8255
9778
|
"200":
|
|
8256
9779
|
description: Successful response
|
|
8257
9780
|
/v1/slack/share:
|
|
8258
9781
|
post:
|
|
8259
9782
|
operationId: slack_share_post
|
|
9783
|
+
summary: Share to Slack channel
|
|
9784
|
+
description: Post an app link directly to a Slack channel.
|
|
8260
9785
|
tags:
|
|
8261
|
-
-
|
|
9786
|
+
- integrations
|
|
8262
9787
|
responses:
|
|
8263
9788
|
"200":
|
|
8264
9789
|
description: Successful response
|
|
8265
|
-
/v1/stt/
|
|
8266
|
-
|
|
8267
|
-
operationId:
|
|
8268
|
-
summary:
|
|
8269
|
-
description:
|
|
8270
|
-
Transcribe base64-encoded audio to text using the configured STT provider. Provider selection is resolved
|
|
8271
|
-
globally via config.
|
|
9790
|
+
/v1/stt/providers:
|
|
9791
|
+
get:
|
|
9792
|
+
operationId: stt_providers_get
|
|
9793
|
+
summary: List STT providers
|
|
9794
|
+
description: Return the catalog of available STT providers with client-facing metadata.
|
|
8272
9795
|
tags:
|
|
8273
9796
|
- stt
|
|
8274
9797
|
responses:
|
|
8275
9798
|
"200":
|
|
8276
9799
|
description: Successful response
|
|
8277
|
-
|
|
8278
|
-
|
|
8279
|
-
|
|
8280
|
-
|
|
8281
|
-
|
|
8282
|
-
|
|
9800
|
+
content:
|
|
9801
|
+
application/json:
|
|
9802
|
+
schema:
|
|
9803
|
+
type: object
|
|
9804
|
+
properties:
|
|
9805
|
+
providers:
|
|
9806
|
+
type: array
|
|
9807
|
+
items:
|
|
9808
|
+
type: object
|
|
9809
|
+
properties:
|
|
9810
|
+
id:
|
|
9811
|
+
type: string
|
|
9812
|
+
displayName:
|
|
9813
|
+
type: string
|
|
9814
|
+
subtitle:
|
|
9815
|
+
type: string
|
|
9816
|
+
setupMode:
|
|
9817
|
+
type: string
|
|
9818
|
+
setupHint:
|
|
9819
|
+
type: string
|
|
9820
|
+
apiKeyProviderName:
|
|
9821
|
+
type: string
|
|
9822
|
+
conversationStreamingMode:
|
|
9823
|
+
type: string
|
|
9824
|
+
credentialsGuide:
|
|
9825
|
+
type: string
|
|
9826
|
+
required:
|
|
9827
|
+
- id
|
|
9828
|
+
- displayName
|
|
9829
|
+
additionalProperties: false
|
|
9830
|
+
required:
|
|
9831
|
+
- providers
|
|
9832
|
+
additionalProperties: false
|
|
9833
|
+
/v1/stt/transcribe:
|
|
9834
|
+
post:
|
|
9835
|
+
operationId: stt_transcribe_post
|
|
9836
|
+
summary: Transcribe audio to text
|
|
9837
|
+
description: Transcribe base64-encoded audio to text using the configured STT provider.
|
|
9838
|
+
tags:
|
|
9839
|
+
- stt
|
|
9840
|
+
responses:
|
|
9841
|
+
"200":
|
|
9842
|
+
description: Successful response
|
|
9843
|
+
content:
|
|
9844
|
+
application/json:
|
|
9845
|
+
schema:
|
|
9846
|
+
type: object
|
|
9847
|
+
properties:
|
|
9848
|
+
text:
|
|
9849
|
+
type: string
|
|
9850
|
+
providerId:
|
|
9851
|
+
type: string
|
|
9852
|
+
boundaryId:
|
|
9853
|
+
type: string
|
|
9854
|
+
required:
|
|
9855
|
+
- text
|
|
9856
|
+
- providerId
|
|
9857
|
+
additionalProperties: false
|
|
9858
|
+
requestBody:
|
|
9859
|
+
required: true
|
|
9860
|
+
content:
|
|
9861
|
+
application/json:
|
|
9862
|
+
schema:
|
|
9863
|
+
type: object
|
|
8283
9864
|
properties:
|
|
8284
9865
|
audioBase64:
|
|
8285
9866
|
type: string
|
|
@@ -8464,9 +10045,7 @@ paths:
|
|
|
8464
10045
|
type: boolean
|
|
8465
10046
|
conversationId:
|
|
8466
10047
|
type: string
|
|
8467
|
-
description:
|
|
8468
|
-
Id of a newly launched conversation when the action dispatched one (e.g. launch_conversation). Omitted
|
|
8469
|
-
otherwise.
|
|
10048
|
+
description: Id of a newly launched conversation when the action dispatched one. Omitted otherwise.
|
|
8470
10049
|
required:
|
|
8471
10050
|
- ok
|
|
8472
10051
|
additionalProperties: false
|
|
@@ -8578,6 +10157,378 @@ paths:
|
|
|
8578
10157
|
schema:
|
|
8579
10158
|
type: string
|
|
8580
10159
|
description: Conversation that owns the surface
|
|
10160
|
+
/v1/tasks/delete:
|
|
10161
|
+
post:
|
|
10162
|
+
operationId: tasks_delete_post
|
|
10163
|
+
summary: Delete task templates
|
|
10164
|
+
description: Delete one or more task templates by ID.
|
|
10165
|
+
tags:
|
|
10166
|
+
- tasks
|
|
10167
|
+
responses:
|
|
10168
|
+
"200":
|
|
10169
|
+
description: Successful response
|
|
10170
|
+
content:
|
|
10171
|
+
application/json:
|
|
10172
|
+
schema:
|
|
10173
|
+
type: object
|
|
10174
|
+
properties:
|
|
10175
|
+
ok:
|
|
10176
|
+
type: boolean
|
|
10177
|
+
content:
|
|
10178
|
+
type: string
|
|
10179
|
+
required:
|
|
10180
|
+
- ok
|
|
10181
|
+
- content
|
|
10182
|
+
additionalProperties: false
|
|
10183
|
+
requestBody:
|
|
10184
|
+
required: true
|
|
10185
|
+
content:
|
|
10186
|
+
application/json:
|
|
10187
|
+
schema:
|
|
10188
|
+
type: object
|
|
10189
|
+
properties:
|
|
10190
|
+
task_ids:
|
|
10191
|
+
minItems: 1
|
|
10192
|
+
type: array
|
|
10193
|
+
items:
|
|
10194
|
+
type: string
|
|
10195
|
+
minLength: 1
|
|
10196
|
+
required:
|
|
10197
|
+
- task_ids
|
|
10198
|
+
additionalProperties: false
|
|
10199
|
+
/v1/tasks/list:
|
|
10200
|
+
post:
|
|
10201
|
+
operationId: tasks_list_post
|
|
10202
|
+
summary: List task templates
|
|
10203
|
+
description: List all saved task templates.
|
|
10204
|
+
tags:
|
|
10205
|
+
- tasks
|
|
10206
|
+
responses:
|
|
10207
|
+
"200":
|
|
10208
|
+
description: Successful response
|
|
10209
|
+
content:
|
|
10210
|
+
application/json:
|
|
10211
|
+
schema:
|
|
10212
|
+
type: object
|
|
10213
|
+
properties:
|
|
10214
|
+
ok:
|
|
10215
|
+
type: boolean
|
|
10216
|
+
content:
|
|
10217
|
+
type: string
|
|
10218
|
+
required:
|
|
10219
|
+
- ok
|
|
10220
|
+
- content
|
|
10221
|
+
additionalProperties: false
|
|
10222
|
+
/v1/tasks/queue/add:
|
|
10223
|
+
post:
|
|
10224
|
+
operationId: tasks_queue_add_post
|
|
10225
|
+
summary: Add to task queue
|
|
10226
|
+
description: Add a new work item to the task queue.
|
|
10227
|
+
tags:
|
|
10228
|
+
- tasks
|
|
10229
|
+
responses:
|
|
10230
|
+
"200":
|
|
10231
|
+
description: Successful response
|
|
10232
|
+
content:
|
|
10233
|
+
application/json:
|
|
10234
|
+
schema:
|
|
10235
|
+
type: object
|
|
10236
|
+
properties:
|
|
10237
|
+
content:
|
|
10238
|
+
type: string
|
|
10239
|
+
isError:
|
|
10240
|
+
type: boolean
|
|
10241
|
+
required:
|
|
10242
|
+
- content
|
|
10243
|
+
additionalProperties: false
|
|
10244
|
+
requestBody:
|
|
10245
|
+
required: true
|
|
10246
|
+
content:
|
|
10247
|
+
application/json:
|
|
10248
|
+
schema:
|
|
10249
|
+
type: object
|
|
10250
|
+
properties:
|
|
10251
|
+
task_id:
|
|
10252
|
+
type: string
|
|
10253
|
+
task_name:
|
|
10254
|
+
type: string
|
|
10255
|
+
title:
|
|
10256
|
+
type: string
|
|
10257
|
+
execution_prompt:
|
|
10258
|
+
type: string
|
|
10259
|
+
notes:
|
|
10260
|
+
type: string
|
|
10261
|
+
priority_tier:
|
|
10262
|
+
type: number
|
|
10263
|
+
sort_index:
|
|
10264
|
+
type: number
|
|
10265
|
+
if_exists:
|
|
10266
|
+
type: string
|
|
10267
|
+
enum:
|
|
10268
|
+
- create_duplicate
|
|
10269
|
+
- reuse_existing
|
|
10270
|
+
- update_existing
|
|
10271
|
+
required_tools:
|
|
10272
|
+
type: array
|
|
10273
|
+
items:
|
|
10274
|
+
type: string
|
|
10275
|
+
additionalProperties: false
|
|
10276
|
+
/v1/tasks/queue/remove:
|
|
10277
|
+
post:
|
|
10278
|
+
operationId: tasks_queue_remove_post
|
|
10279
|
+
summary: Remove from task queue
|
|
10280
|
+
description: Remove a work item from the task queue.
|
|
10281
|
+
tags:
|
|
10282
|
+
- tasks
|
|
10283
|
+
responses:
|
|
10284
|
+
"200":
|
|
10285
|
+
description: Successful response
|
|
10286
|
+
content:
|
|
10287
|
+
application/json:
|
|
10288
|
+
schema:
|
|
10289
|
+
type: object
|
|
10290
|
+
properties:
|
|
10291
|
+
content:
|
|
10292
|
+
type: string
|
|
10293
|
+
isError:
|
|
10294
|
+
type: boolean
|
|
10295
|
+
required:
|
|
10296
|
+
- content
|
|
10297
|
+
additionalProperties: false
|
|
10298
|
+
requestBody:
|
|
10299
|
+
required: true
|
|
10300
|
+
content:
|
|
10301
|
+
application/json:
|
|
10302
|
+
schema:
|
|
10303
|
+
type: object
|
|
10304
|
+
properties:
|
|
10305
|
+
work_item_id:
|
|
10306
|
+
type: string
|
|
10307
|
+
task_id:
|
|
10308
|
+
type: string
|
|
10309
|
+
task_name:
|
|
10310
|
+
type: string
|
|
10311
|
+
title:
|
|
10312
|
+
type: string
|
|
10313
|
+
priority_tier:
|
|
10314
|
+
type: number
|
|
10315
|
+
status:
|
|
10316
|
+
type: string
|
|
10317
|
+
created_order:
|
|
10318
|
+
type: number
|
|
10319
|
+
additionalProperties: false
|
|
10320
|
+
/v1/tasks/queue/run:
|
|
10321
|
+
post:
|
|
10322
|
+
operationId: tasks_queue_run_post
|
|
10323
|
+
summary: Run next task queue item
|
|
10324
|
+
description: Pick up and execute the next work item from the queue.
|
|
10325
|
+
tags:
|
|
10326
|
+
- tasks
|
|
10327
|
+
responses:
|
|
10328
|
+
"200":
|
|
10329
|
+
description: Successful response
|
|
10330
|
+
content:
|
|
10331
|
+
application/json:
|
|
10332
|
+
schema:
|
|
10333
|
+
type: object
|
|
10334
|
+
properties:
|
|
10335
|
+
content:
|
|
10336
|
+
type: string
|
|
10337
|
+
isError:
|
|
10338
|
+
type: boolean
|
|
10339
|
+
required:
|
|
10340
|
+
- content
|
|
10341
|
+
additionalProperties: false
|
|
10342
|
+
requestBody:
|
|
10343
|
+
required: true
|
|
10344
|
+
content:
|
|
10345
|
+
application/json:
|
|
10346
|
+
schema:
|
|
10347
|
+
type: object
|
|
10348
|
+
properties:
|
|
10349
|
+
work_item_id:
|
|
10350
|
+
type: string
|
|
10351
|
+
task_name:
|
|
10352
|
+
type: string
|
|
10353
|
+
title:
|
|
10354
|
+
type: string
|
|
10355
|
+
additionalProperties: false
|
|
10356
|
+
/v1/tasks/queue/show:
|
|
10357
|
+
post:
|
|
10358
|
+
operationId: tasks_queue_show_post
|
|
10359
|
+
summary: Show task queue
|
|
10360
|
+
description: List work items in the task queue, optionally filtered by status.
|
|
10361
|
+
tags:
|
|
10362
|
+
- tasks
|
|
10363
|
+
responses:
|
|
10364
|
+
"200":
|
|
10365
|
+
description: Successful response
|
|
10366
|
+
content:
|
|
10367
|
+
application/json:
|
|
10368
|
+
schema:
|
|
10369
|
+
type: object
|
|
10370
|
+
properties:
|
|
10371
|
+
content:
|
|
10372
|
+
type: string
|
|
10373
|
+
isError:
|
|
10374
|
+
type: boolean
|
|
10375
|
+
required:
|
|
10376
|
+
- content
|
|
10377
|
+
additionalProperties: false
|
|
10378
|
+
requestBody:
|
|
10379
|
+
required: true
|
|
10380
|
+
content:
|
|
10381
|
+
application/json:
|
|
10382
|
+
schema:
|
|
10383
|
+
type: object
|
|
10384
|
+
properties:
|
|
10385
|
+
status:
|
|
10386
|
+
anyOf:
|
|
10387
|
+
- type: string
|
|
10388
|
+
- type: array
|
|
10389
|
+
items:
|
|
10390
|
+
type: string
|
|
10391
|
+
additionalProperties: false
|
|
10392
|
+
/v1/tasks/queue/update:
|
|
10393
|
+
post:
|
|
10394
|
+
operationId: tasks_queue_update_post
|
|
10395
|
+
summary: Update a task queue item
|
|
10396
|
+
description: Update an existing work item in the task queue.
|
|
10397
|
+
tags:
|
|
10398
|
+
- tasks
|
|
10399
|
+
responses:
|
|
10400
|
+
"200":
|
|
10401
|
+
description: Successful response
|
|
10402
|
+
content:
|
|
10403
|
+
application/json:
|
|
10404
|
+
schema:
|
|
10405
|
+
type: object
|
|
10406
|
+
properties:
|
|
10407
|
+
content:
|
|
10408
|
+
type: string
|
|
10409
|
+
isError:
|
|
10410
|
+
type: boolean
|
|
10411
|
+
required:
|
|
10412
|
+
- content
|
|
10413
|
+
additionalProperties: false
|
|
10414
|
+
requestBody:
|
|
10415
|
+
required: true
|
|
10416
|
+
content:
|
|
10417
|
+
application/json:
|
|
10418
|
+
schema:
|
|
10419
|
+
type: object
|
|
10420
|
+
properties:
|
|
10421
|
+
work_item_id:
|
|
10422
|
+
type: string
|
|
10423
|
+
task_id:
|
|
10424
|
+
type: string
|
|
10425
|
+
task_name:
|
|
10426
|
+
type: string
|
|
10427
|
+
title:
|
|
10428
|
+
type: string
|
|
10429
|
+
priority_tier:
|
|
10430
|
+
type: number
|
|
10431
|
+
notes:
|
|
10432
|
+
type: string
|
|
10433
|
+
status:
|
|
10434
|
+
type: string
|
|
10435
|
+
enum:
|
|
10436
|
+
- queued
|
|
10437
|
+
- running
|
|
10438
|
+
- awaiting_review
|
|
10439
|
+
- done
|
|
10440
|
+
- failed
|
|
10441
|
+
- cancelled
|
|
10442
|
+
- archived
|
|
10443
|
+
sort_index:
|
|
10444
|
+
type: number
|
|
10445
|
+
filter_priority_tier:
|
|
10446
|
+
type: number
|
|
10447
|
+
filter_status:
|
|
10448
|
+
type: string
|
|
10449
|
+
created_order:
|
|
10450
|
+
type: number
|
|
10451
|
+
additionalProperties: false
|
|
10452
|
+
/v1/tasks/run:
|
|
10453
|
+
post:
|
|
10454
|
+
operationId: tasks_run_post
|
|
10455
|
+
summary: Run a task template
|
|
10456
|
+
description: Execute a saved task template by name or ID.
|
|
10457
|
+
tags:
|
|
10458
|
+
- tasks
|
|
10459
|
+
responses:
|
|
10460
|
+
"200":
|
|
10461
|
+
description: Successful response
|
|
10462
|
+
content:
|
|
10463
|
+
application/json:
|
|
10464
|
+
schema:
|
|
10465
|
+
type: object
|
|
10466
|
+
properties:
|
|
10467
|
+
ok:
|
|
10468
|
+
type: boolean
|
|
10469
|
+
content:
|
|
10470
|
+
type: string
|
|
10471
|
+
required:
|
|
10472
|
+
- ok
|
|
10473
|
+
- content
|
|
10474
|
+
additionalProperties: false
|
|
10475
|
+
requestBody:
|
|
10476
|
+
required: true
|
|
10477
|
+
content:
|
|
10478
|
+
application/json:
|
|
10479
|
+
schema:
|
|
10480
|
+
type: object
|
|
10481
|
+
properties:
|
|
10482
|
+
task_name:
|
|
10483
|
+
type: string
|
|
10484
|
+
minLength: 1
|
|
10485
|
+
task_id:
|
|
10486
|
+
type: string
|
|
10487
|
+
minLength: 1
|
|
10488
|
+
inputs:
|
|
10489
|
+
type: object
|
|
10490
|
+
propertyNames:
|
|
10491
|
+
type: string
|
|
10492
|
+
additionalProperties:
|
|
10493
|
+
type: string
|
|
10494
|
+
additionalProperties: false
|
|
10495
|
+
/v1/tasks/save:
|
|
10496
|
+
post:
|
|
10497
|
+
operationId: tasks_save_post
|
|
10498
|
+
summary: Save a task template
|
|
10499
|
+
description: Save the current conversation as a reusable task template.
|
|
10500
|
+
tags:
|
|
10501
|
+
- tasks
|
|
10502
|
+
responses:
|
|
10503
|
+
"200":
|
|
10504
|
+
description: Successful response
|
|
10505
|
+
content:
|
|
10506
|
+
application/json:
|
|
10507
|
+
schema:
|
|
10508
|
+
type: object
|
|
10509
|
+
properties:
|
|
10510
|
+
ok:
|
|
10511
|
+
type: boolean
|
|
10512
|
+
content:
|
|
10513
|
+
type: string
|
|
10514
|
+
required:
|
|
10515
|
+
- ok
|
|
10516
|
+
- content
|
|
10517
|
+
additionalProperties: false
|
|
10518
|
+
requestBody:
|
|
10519
|
+
required: true
|
|
10520
|
+
content:
|
|
10521
|
+
application/json:
|
|
10522
|
+
schema:
|
|
10523
|
+
type: object
|
|
10524
|
+
properties:
|
|
10525
|
+
conversation_id:
|
|
10526
|
+
type: string
|
|
10527
|
+
minLength: 1
|
|
10528
|
+
title:
|
|
10529
|
+
type: string
|
|
10530
|
+
minLength: 1
|
|
10531
|
+
additionalProperties: false
|
|
8581
10532
|
/v1/telemetry/lifecycle:
|
|
8582
10533
|
post:
|
|
8583
10534
|
operationId: telemetry_lifecycle_post
|
|
@@ -8660,15 +10611,12 @@ paths:
|
|
|
8660
10611
|
additionalProperties: {}
|
|
8661
10612
|
workingDir:
|
|
8662
10613
|
type: string
|
|
8663
|
-
forcePromptSideEffects:
|
|
8664
|
-
type: boolean
|
|
8665
10614
|
isInteractive:
|
|
8666
10615
|
type: boolean
|
|
8667
10616
|
required:
|
|
8668
10617
|
- toolName
|
|
8669
10618
|
- input
|
|
8670
10619
|
- workingDir
|
|
8671
|
-
- forcePromptSideEffects
|
|
8672
10620
|
- isInteractive
|
|
8673
10621
|
additionalProperties: false
|
|
8674
10622
|
/v1/trace-events:
|
|
@@ -8712,95 +10660,75 @@ paths:
|
|
|
8712
10660
|
schema:
|
|
8713
10661
|
type: integer
|
|
8714
10662
|
description: Return events after this sequence number
|
|
8715
|
-
/v1/
|
|
8716
|
-
|
|
8717
|
-
operationId:
|
|
8718
|
-
summary:
|
|
8719
|
-
description:
|
|
10663
|
+
/v1/transfers/{transferId}/content:
|
|
10664
|
+
get:
|
|
10665
|
+
operationId: transfers_by_transferId_content_get
|
|
10666
|
+
summary: Get transfer content
|
|
10667
|
+
description: "Serve raw file bytes for a to_host transfer. Single-use: returns 404 after first consumption."
|
|
8720
10668
|
tags:
|
|
8721
|
-
-
|
|
10669
|
+
- host-transfer
|
|
8722
10670
|
responses:
|
|
8723
10671
|
"200":
|
|
8724
10672
|
description: Successful response
|
|
8725
|
-
|
|
8726
|
-
|
|
8727
|
-
|
|
8728
|
-
|
|
8729
|
-
|
|
8730
|
-
|
|
8731
|
-
|
|
8732
|
-
|
|
8733
|
-
|
|
8734
|
-
|
|
8735
|
-
|
|
8736
|
-
|
|
8737
|
-
|
|
8738
|
-
|
|
8739
|
-
|
|
8740
|
-
|
|
8741
|
-
|
|
8742
|
-
|
|
8743
|
-
|
|
8744
|
-
|
|
8745
|
-
|
|
8746
|
-
|
|
8747
|
-
description: Allowlist pattern
|
|
8748
|
-
scope:
|
|
8749
|
-
type: string
|
|
8750
|
-
description: Scope for the rule
|
|
8751
|
-
decision:
|
|
8752
|
-
type: string
|
|
8753
|
-
description: allow or deny
|
|
8754
|
-
required:
|
|
8755
|
-
- requestId
|
|
8756
|
-
- pattern
|
|
8757
|
-
- scope
|
|
8758
|
-
- decision
|
|
8759
|
-
additionalProperties: false
|
|
8760
|
-
/v1/trust-rules/manage:
|
|
10673
|
+
parameters:
|
|
10674
|
+
- name: transferId
|
|
10675
|
+
in: path
|
|
10676
|
+
required: true
|
|
10677
|
+
schema:
|
|
10678
|
+
type: string
|
|
10679
|
+
put:
|
|
10680
|
+
operationId: transfers_by_transferId_content_put
|
|
10681
|
+
summary: Put transfer content
|
|
10682
|
+
description: Receive raw file bytes for a to_sandbox transfer. Verifies SHA-256 integrity via the X-Transfer-SHA256 header.
|
|
10683
|
+
tags:
|
|
10684
|
+
- host-transfer
|
|
10685
|
+
responses:
|
|
10686
|
+
"200":
|
|
10687
|
+
description: Successful response
|
|
10688
|
+
parameters:
|
|
10689
|
+
- name: transferId
|
|
10690
|
+
in: path
|
|
10691
|
+
required: true
|
|
10692
|
+
schema:
|
|
10693
|
+
type: string
|
|
10694
|
+
/v1/trust-rules:
|
|
8761
10695
|
get:
|
|
8762
|
-
operationId:
|
|
8763
|
-
summary: List
|
|
8764
|
-
description:
|
|
10696
|
+
operationId: trustrules_get
|
|
10697
|
+
summary: List trust rules
|
|
10698
|
+
description: List trust rules, optionally filtered by tool, origin, or include_all.
|
|
8765
10699
|
tags:
|
|
8766
10700
|
- trust-rules
|
|
8767
10701
|
responses:
|
|
8768
10702
|
"200":
|
|
8769
10703
|
description: Successful response
|
|
8770
|
-
|
|
8771
|
-
|
|
8772
|
-
|
|
8773
|
-
|
|
8774
|
-
|
|
8775
|
-
|
|
8776
|
-
|
|
8777
|
-
|
|
8778
|
-
|
|
8779
|
-
|
|
8780
|
-
|
|
8781
|
-
|
|
8782
|
-
|
|
8783
|
-
|
|
8784
|
-
|
|
10704
|
+
parameters:
|
|
10705
|
+
- name: tool
|
|
10706
|
+
in: query
|
|
10707
|
+
required: false
|
|
10708
|
+
schema:
|
|
10709
|
+
type: string
|
|
10710
|
+
description: Filter by tool name
|
|
10711
|
+
- name: origin
|
|
10712
|
+
in: query
|
|
10713
|
+
required: false
|
|
10714
|
+
schema:
|
|
10715
|
+
type: string
|
|
10716
|
+
description: Filter by origin
|
|
10717
|
+
- name: include_all
|
|
10718
|
+
in: query
|
|
10719
|
+
required: false
|
|
10720
|
+
schema:
|
|
10721
|
+
type: string
|
|
10722
|
+
description: Include unmodified defaults
|
|
8785
10723
|
post:
|
|
8786
|
-
operationId:
|
|
8787
|
-
summary:
|
|
8788
|
-
description: Create a new
|
|
10724
|
+
operationId: trustrules_post
|
|
10725
|
+
summary: Create a trust rule
|
|
10726
|
+
description: Create a new trust rule with tool, pattern, risk level, and optional description.
|
|
8789
10727
|
tags:
|
|
8790
10728
|
- trust-rules
|
|
8791
10729
|
responses:
|
|
8792
10730
|
"200":
|
|
8793
10731
|
description: Successful response
|
|
8794
|
-
content:
|
|
8795
|
-
application/json:
|
|
8796
|
-
schema:
|
|
8797
|
-
type: object
|
|
8798
|
-
properties:
|
|
8799
|
-
ok:
|
|
8800
|
-
type: boolean
|
|
8801
|
-
required:
|
|
8802
|
-
- ok
|
|
8803
|
-
additionalProperties: false
|
|
8804
10732
|
requestBody:
|
|
8805
10733
|
required: true
|
|
8806
10734
|
content:
|
|
@@ -8808,29 +10736,22 @@ paths:
|
|
|
8808
10736
|
schema:
|
|
8809
10737
|
type: object
|
|
8810
10738
|
properties:
|
|
8811
|
-
|
|
10739
|
+
tool:
|
|
8812
10740
|
type: string
|
|
8813
|
-
description: Tool name
|
|
8814
10741
|
pattern:
|
|
8815
10742
|
type: string
|
|
8816
|
-
|
|
8817
|
-
scope:
|
|
10743
|
+
risk:
|
|
8818
10744
|
type: string
|
|
8819
|
-
|
|
8820
|
-
decision:
|
|
8821
|
-
type: string
|
|
8822
|
-
description: allow, deny, or ask
|
|
8823
|
-
executionTarget:
|
|
10745
|
+
description:
|
|
8824
10746
|
type: string
|
|
8825
|
-
description: Execution target
|
|
8826
10747
|
required:
|
|
8827
|
-
-
|
|
10748
|
+
- tool
|
|
8828
10749
|
- pattern
|
|
8829
|
-
-
|
|
10750
|
+
- risk
|
|
8830
10751
|
additionalProperties: false
|
|
8831
|
-
/v1/trust-rules/
|
|
10752
|
+
/v1/trust-rules/{id}:
|
|
8832
10753
|
delete:
|
|
8833
|
-
operationId:
|
|
10754
|
+
operationId: trustrules_by_id_delete
|
|
8834
10755
|
summary: Remove a trust rule
|
|
8835
10756
|
description: Delete a trust rule by ID.
|
|
8836
10757
|
tags:
|
|
@@ -8838,16 +10759,6 @@ paths:
|
|
|
8838
10759
|
responses:
|
|
8839
10760
|
"200":
|
|
8840
10761
|
description: Successful response
|
|
8841
|
-
content:
|
|
8842
|
-
application/json:
|
|
8843
|
-
schema:
|
|
8844
|
-
type: object
|
|
8845
|
-
properties:
|
|
8846
|
-
ok:
|
|
8847
|
-
type: boolean
|
|
8848
|
-
required:
|
|
8849
|
-
- ok
|
|
8850
|
-
additionalProperties: false
|
|
8851
10762
|
parameters:
|
|
8852
10763
|
- name: id
|
|
8853
10764
|
in: path
|
|
@@ -8855,11 +10766,39 @@ paths:
|
|
|
8855
10766
|
schema:
|
|
8856
10767
|
type: string
|
|
8857
10768
|
patch:
|
|
8858
|
-
operationId:
|
|
10769
|
+
operationId: trustrules_by_id_patch
|
|
8859
10770
|
summary: Update a trust rule
|
|
8860
|
-
description:
|
|
10771
|
+
description: Update the risk level or description of an existing trust rule.
|
|
10772
|
+
tags:
|
|
10773
|
+
- trust-rules
|
|
10774
|
+
responses:
|
|
10775
|
+
"200":
|
|
10776
|
+
description: Successful response
|
|
10777
|
+
parameters:
|
|
10778
|
+
- name: id
|
|
10779
|
+
in: path
|
|
10780
|
+
required: true
|
|
10781
|
+
schema:
|
|
10782
|
+
type: string
|
|
10783
|
+
requestBody:
|
|
10784
|
+
required: true
|
|
10785
|
+
content:
|
|
10786
|
+
application/json:
|
|
10787
|
+
schema:
|
|
10788
|
+
type: object
|
|
10789
|
+
properties:
|
|
10790
|
+
risk:
|
|
10791
|
+
type: string
|
|
10792
|
+
description:
|
|
10793
|
+
type: string
|
|
10794
|
+
additionalProperties: false
|
|
10795
|
+
/v1/trust-rules/suggest:
|
|
10796
|
+
post:
|
|
10797
|
+
operationId: trustrules_suggest_post
|
|
10798
|
+
summary: Suggest a trust rule
|
|
10799
|
+
description: Use an LLM to suggest a trust rule pattern, risk level, and scope for a given action.
|
|
8861
10800
|
tags:
|
|
8862
|
-
- trust
|
|
10801
|
+
- trust
|
|
8863
10802
|
responses:
|
|
8864
10803
|
"200":
|
|
8865
10804
|
description: Successful response
|
|
@@ -8868,17 +10807,46 @@ paths:
|
|
|
8868
10807
|
schema:
|
|
8869
10808
|
type: object
|
|
8870
10809
|
properties:
|
|
8871
|
-
|
|
8872
|
-
type:
|
|
10810
|
+
pattern:
|
|
10811
|
+
type: string
|
|
10812
|
+
risk:
|
|
10813
|
+
type: string
|
|
10814
|
+
scope:
|
|
10815
|
+
type: string
|
|
10816
|
+
description:
|
|
10817
|
+
type: string
|
|
10818
|
+
scopeOptions:
|
|
10819
|
+
type: array
|
|
10820
|
+
items:
|
|
10821
|
+
type: object
|
|
10822
|
+
properties:
|
|
10823
|
+
pattern:
|
|
10824
|
+
type: string
|
|
10825
|
+
label:
|
|
10826
|
+
type: string
|
|
10827
|
+
required:
|
|
10828
|
+
- pattern
|
|
10829
|
+
- label
|
|
10830
|
+
additionalProperties: false
|
|
10831
|
+
directoryScopeOptions:
|
|
10832
|
+
type: array
|
|
10833
|
+
items:
|
|
10834
|
+
type: object
|
|
10835
|
+
properties:
|
|
10836
|
+
scope:
|
|
10837
|
+
type: string
|
|
10838
|
+
label:
|
|
10839
|
+
type: string
|
|
10840
|
+
required:
|
|
10841
|
+
- scope
|
|
10842
|
+
- label
|
|
10843
|
+
additionalProperties: false
|
|
8873
10844
|
required:
|
|
8874
|
-
-
|
|
10845
|
+
- pattern
|
|
10846
|
+
- risk
|
|
10847
|
+
- description
|
|
10848
|
+
- scopeOptions
|
|
8875
10849
|
additionalProperties: false
|
|
8876
|
-
parameters:
|
|
8877
|
-
- name: id
|
|
8878
|
-
in: path
|
|
8879
|
-
required: true
|
|
8880
|
-
schema:
|
|
8881
|
-
type: string
|
|
8882
10850
|
requestBody:
|
|
8883
10851
|
required: true
|
|
8884
10852
|
content:
|
|
@@ -8888,33 +10856,70 @@ paths:
|
|
|
8888
10856
|
properties:
|
|
8889
10857
|
tool:
|
|
8890
10858
|
type: string
|
|
8891
|
-
|
|
8892
|
-
|
|
10859
|
+
minLength: 1
|
|
10860
|
+
command:
|
|
8893
10861
|
type: string
|
|
8894
|
-
|
|
8895
|
-
|
|
10862
|
+
minLength: 1
|
|
10863
|
+
riskAssessment:
|
|
10864
|
+
type: object
|
|
10865
|
+
properties:
|
|
10866
|
+
risk:
|
|
10867
|
+
type: string
|
|
10868
|
+
reasoning:
|
|
10869
|
+
type: string
|
|
10870
|
+
reasonDescription:
|
|
10871
|
+
type: string
|
|
10872
|
+
required:
|
|
10873
|
+
- risk
|
|
10874
|
+
- reasoning
|
|
10875
|
+
- reasonDescription
|
|
10876
|
+
additionalProperties: false
|
|
10877
|
+
scopeOptions:
|
|
10878
|
+
type: array
|
|
10879
|
+
items:
|
|
10880
|
+
type: object
|
|
10881
|
+
properties:
|
|
10882
|
+
pattern:
|
|
10883
|
+
type: string
|
|
10884
|
+
label:
|
|
10885
|
+
type: string
|
|
10886
|
+
required:
|
|
10887
|
+
- pattern
|
|
10888
|
+
- label
|
|
10889
|
+
additionalProperties: false
|
|
10890
|
+
directoryScopeOptions:
|
|
10891
|
+
type: array
|
|
10892
|
+
items:
|
|
10893
|
+
type: object
|
|
10894
|
+
properties:
|
|
10895
|
+
scope:
|
|
10896
|
+
type: string
|
|
10897
|
+
label:
|
|
10898
|
+
type: string
|
|
10899
|
+
required:
|
|
10900
|
+
- scope
|
|
10901
|
+
- label
|
|
10902
|
+
additionalProperties: false
|
|
10903
|
+
currentThreshold:
|
|
8896
10904
|
type: string
|
|
8897
|
-
|
|
8898
|
-
decision:
|
|
10905
|
+
intent:
|
|
8899
10906
|
type: string
|
|
8900
|
-
|
|
8901
|
-
|
|
8902
|
-
|
|
8903
|
-
description: Rule priority
|
|
10907
|
+
enum:
|
|
10908
|
+
- auto_approve
|
|
10909
|
+
- escalate
|
|
8904
10910
|
required:
|
|
8905
10911
|
- tool
|
|
8906
|
-
-
|
|
8907
|
-
-
|
|
8908
|
-
-
|
|
8909
|
-
-
|
|
10912
|
+
- command
|
|
10913
|
+
- riskAssessment
|
|
10914
|
+
- scopeOptions
|
|
10915
|
+
- currentThreshold
|
|
10916
|
+
- intent
|
|
8910
10917
|
additionalProperties: false
|
|
8911
10918
|
/v1/tts/synthesize:
|
|
8912
10919
|
post:
|
|
8913
10920
|
operationId: tts_synthesize_post
|
|
8914
10921
|
summary: Synthesize text to speech
|
|
8915
|
-
description:
|
|
8916
|
-
Synthesize arbitrary text to audio using the configured TTS provider. Provider selection is resolved
|
|
8917
|
-
globally via config — callers do not specify a provider.
|
|
10922
|
+
description: Synthesize arbitrary text to audio using the configured TTS provider.
|
|
8918
10923
|
tags:
|
|
8919
10924
|
- tts
|
|
8920
10925
|
responses:
|
|
@@ -8931,9 +10936,7 @@ paths:
|
|
|
8931
10936
|
type: string
|
|
8932
10937
|
description: Text to synthesize into speech
|
|
8933
10938
|
context:
|
|
8934
|
-
description:
|
|
8935
|
-
Optional context hint for output policy or capability selection (e.g. voice-mode). Does not affect provider
|
|
8936
|
-
selection.
|
|
10939
|
+
description: Optional context hint for output policy or capability selection.
|
|
8937
10940
|
type: string
|
|
8938
10941
|
conversationId:
|
|
8939
10942
|
description: Optional conversation ID for scoping or analytics.
|
|
@@ -8941,6 +10944,68 @@ paths:
|
|
|
8941
10944
|
required:
|
|
8942
10945
|
- text
|
|
8943
10946
|
additionalProperties: false
|
|
10947
|
+
/v1/ui/request:
|
|
10948
|
+
post:
|
|
10949
|
+
operationId: ui_request_post
|
|
10950
|
+
summary: Present an interactive UI surface
|
|
10951
|
+
description: Present an interactive UI surface to the user and await their response.
|
|
10952
|
+
tags:
|
|
10953
|
+
- ui
|
|
10954
|
+
responses:
|
|
10955
|
+
"200":
|
|
10956
|
+
description: Successful response
|
|
10957
|
+
requestBody:
|
|
10958
|
+
required: true
|
|
10959
|
+
content:
|
|
10960
|
+
application/json:
|
|
10961
|
+
schema:
|
|
10962
|
+
type: object
|
|
10963
|
+
properties:
|
|
10964
|
+
conversationId:
|
|
10965
|
+
type: string
|
|
10966
|
+
minLength: 1
|
|
10967
|
+
surfaceType:
|
|
10968
|
+
type: string
|
|
10969
|
+
enum:
|
|
10970
|
+
- confirmation
|
|
10971
|
+
- form
|
|
10972
|
+
title:
|
|
10973
|
+
type: string
|
|
10974
|
+
data:
|
|
10975
|
+
type: object
|
|
10976
|
+
propertyNames:
|
|
10977
|
+
type: string
|
|
10978
|
+
additionalProperties: {}
|
|
10979
|
+
actions:
|
|
10980
|
+
type: array
|
|
10981
|
+
items:
|
|
10982
|
+
type: object
|
|
10983
|
+
properties:
|
|
10984
|
+
id:
|
|
10985
|
+
type: string
|
|
10986
|
+
minLength: 1
|
|
10987
|
+
label:
|
|
10988
|
+
type: string
|
|
10989
|
+
minLength: 1
|
|
10990
|
+
variant:
|
|
10991
|
+
type: string
|
|
10992
|
+
enum:
|
|
10993
|
+
- primary
|
|
10994
|
+
- danger
|
|
10995
|
+
- secondary
|
|
10996
|
+
required:
|
|
10997
|
+
- id
|
|
10998
|
+
- label
|
|
10999
|
+
additionalProperties: false
|
|
11000
|
+
timeoutMs:
|
|
11001
|
+
type: integer
|
|
11002
|
+
exclusiveMinimum: 0
|
|
11003
|
+
maximum: 9007199254740991
|
|
11004
|
+
required:
|
|
11005
|
+
- conversationId
|
|
11006
|
+
- surfaceType
|
|
11007
|
+
- data
|
|
11008
|
+
additionalProperties: false
|
|
8944
11009
|
/v1/usage/breakdown:
|
|
8945
11010
|
get:
|
|
8946
11011
|
operationId: usage_breakdown_get
|
|
@@ -9057,6 +11122,196 @@ paths:
|
|
|
9057
11122
|
schema:
|
|
9058
11123
|
type: integer
|
|
9059
11124
|
description: End epoch millis (required)
|
|
11125
|
+
/v1/watchers/create:
|
|
11126
|
+
post:
|
|
11127
|
+
operationId: watchers_create_post
|
|
11128
|
+
summary: Create a watcher
|
|
11129
|
+
description: Create a new watcher with a provider and action prompt.
|
|
11130
|
+
tags:
|
|
11131
|
+
- watchers
|
|
11132
|
+
responses:
|
|
11133
|
+
"200":
|
|
11134
|
+
description: Successful response
|
|
11135
|
+
content:
|
|
11136
|
+
application/json:
|
|
11137
|
+
schema:
|
|
11138
|
+
type: object
|
|
11139
|
+
properties: {}
|
|
11140
|
+
additionalProperties: {}
|
|
11141
|
+
requestBody:
|
|
11142
|
+
required: true
|
|
11143
|
+
content:
|
|
11144
|
+
application/json:
|
|
11145
|
+
schema:
|
|
11146
|
+
type: object
|
|
11147
|
+
properties:
|
|
11148
|
+
name:
|
|
11149
|
+
type: string
|
|
11150
|
+
minLength: 1
|
|
11151
|
+
provider:
|
|
11152
|
+
type: string
|
|
11153
|
+
minLength: 1
|
|
11154
|
+
action_prompt:
|
|
11155
|
+
type: string
|
|
11156
|
+
minLength: 1
|
|
11157
|
+
poll_interval_ms:
|
|
11158
|
+
type: integer
|
|
11159
|
+
minimum: 15000
|
|
11160
|
+
maximum: 9007199254740991
|
|
11161
|
+
config:
|
|
11162
|
+
type: object
|
|
11163
|
+
propertyNames:
|
|
11164
|
+
type: string
|
|
11165
|
+
additionalProperties: {}
|
|
11166
|
+
credential_service:
|
|
11167
|
+
type: string
|
|
11168
|
+
required:
|
|
11169
|
+
- name
|
|
11170
|
+
- provider
|
|
11171
|
+
- action_prompt
|
|
11172
|
+
additionalProperties: false
|
|
11173
|
+
/v1/watchers/delete:
|
|
11174
|
+
post:
|
|
11175
|
+
operationId: watchers_delete_post
|
|
11176
|
+
summary: Delete a watcher
|
|
11177
|
+
description: Delete a watcher by ID.
|
|
11178
|
+
tags:
|
|
11179
|
+
- watchers
|
|
11180
|
+
responses:
|
|
11181
|
+
"200":
|
|
11182
|
+
description: Successful response
|
|
11183
|
+
content:
|
|
11184
|
+
application/json:
|
|
11185
|
+
schema:
|
|
11186
|
+
type: object
|
|
11187
|
+
properties: {}
|
|
11188
|
+
additionalProperties: {}
|
|
11189
|
+
requestBody:
|
|
11190
|
+
required: true
|
|
11191
|
+
content:
|
|
11192
|
+
application/json:
|
|
11193
|
+
schema:
|
|
11194
|
+
type: object
|
|
11195
|
+
properties:
|
|
11196
|
+
watcher_id:
|
|
11197
|
+
type: string
|
|
11198
|
+
minLength: 1
|
|
11199
|
+
required:
|
|
11200
|
+
- watcher_id
|
|
11201
|
+
additionalProperties: false
|
|
11202
|
+
/v1/watchers/digest:
|
|
11203
|
+
post:
|
|
11204
|
+
operationId: watchers_digest_post
|
|
11205
|
+
summary: Get watcher event digest
|
|
11206
|
+
description: Get recent watcher events, optionally filtered by watcher ID.
|
|
11207
|
+
tags:
|
|
11208
|
+
- watchers
|
|
11209
|
+
responses:
|
|
11210
|
+
"200":
|
|
11211
|
+
description: Successful response
|
|
11212
|
+
content:
|
|
11213
|
+
application/json:
|
|
11214
|
+
schema:
|
|
11215
|
+
type: object
|
|
11216
|
+
properties: {}
|
|
11217
|
+
additionalProperties: {}
|
|
11218
|
+
requestBody:
|
|
11219
|
+
required: true
|
|
11220
|
+
content:
|
|
11221
|
+
application/json:
|
|
11222
|
+
schema:
|
|
11223
|
+
type: object
|
|
11224
|
+
properties:
|
|
11225
|
+
watcher_id:
|
|
11226
|
+
type: string
|
|
11227
|
+
hours:
|
|
11228
|
+
default: 24
|
|
11229
|
+
type: number
|
|
11230
|
+
exclusiveMinimum: 0
|
|
11231
|
+
limit:
|
|
11232
|
+
default: 50
|
|
11233
|
+
type: integer
|
|
11234
|
+
exclusiveMinimum: 0
|
|
11235
|
+
maximum: 9007199254740991
|
|
11236
|
+
required:
|
|
11237
|
+
- hours
|
|
11238
|
+
- limit
|
|
11239
|
+
additionalProperties: false
|
|
11240
|
+
/v1/watchers/list:
|
|
11241
|
+
post:
|
|
11242
|
+
operationId: watchers_list_post
|
|
11243
|
+
summary: List watchers
|
|
11244
|
+
description: List all watchers, or get details for a specific watcher by ID.
|
|
11245
|
+
tags:
|
|
11246
|
+
- watchers
|
|
11247
|
+
responses:
|
|
11248
|
+
"200":
|
|
11249
|
+
description: Successful response
|
|
11250
|
+
content:
|
|
11251
|
+
application/json:
|
|
11252
|
+
schema:
|
|
11253
|
+
type: object
|
|
11254
|
+
properties: {}
|
|
11255
|
+
additionalProperties: {}
|
|
11256
|
+
requestBody:
|
|
11257
|
+
required: true
|
|
11258
|
+
content:
|
|
11259
|
+
application/json:
|
|
11260
|
+
schema:
|
|
11261
|
+
type: object
|
|
11262
|
+
properties:
|
|
11263
|
+
watcher_id:
|
|
11264
|
+
type: string
|
|
11265
|
+
enabled_only:
|
|
11266
|
+
default: false
|
|
11267
|
+
type: boolean
|
|
11268
|
+
required:
|
|
11269
|
+
- enabled_only
|
|
11270
|
+
additionalProperties: false
|
|
11271
|
+
/v1/watchers/update:
|
|
11272
|
+
post:
|
|
11273
|
+
operationId: watchers_update_post
|
|
11274
|
+
summary: Update a watcher
|
|
11275
|
+
description: Update an existing watcher's configuration.
|
|
11276
|
+
tags:
|
|
11277
|
+
- watchers
|
|
11278
|
+
responses:
|
|
11279
|
+
"200":
|
|
11280
|
+
description: Successful response
|
|
11281
|
+
content:
|
|
11282
|
+
application/json:
|
|
11283
|
+
schema:
|
|
11284
|
+
type: object
|
|
11285
|
+
properties: {}
|
|
11286
|
+
additionalProperties: {}
|
|
11287
|
+
requestBody:
|
|
11288
|
+
required: true
|
|
11289
|
+
content:
|
|
11290
|
+
application/json:
|
|
11291
|
+
schema:
|
|
11292
|
+
type: object
|
|
11293
|
+
properties:
|
|
11294
|
+
watcher_id:
|
|
11295
|
+
type: string
|
|
11296
|
+
minLength: 1
|
|
11297
|
+
name:
|
|
11298
|
+
type: string
|
|
11299
|
+
action_prompt:
|
|
11300
|
+
type: string
|
|
11301
|
+
poll_interval_ms:
|
|
11302
|
+
type: integer
|
|
11303
|
+
minimum: 15000
|
|
11304
|
+
maximum: 9007199254740991
|
|
11305
|
+
enabled:
|
|
11306
|
+
type: boolean
|
|
11307
|
+
config:
|
|
11308
|
+
type: object
|
|
11309
|
+
propertyNames:
|
|
11310
|
+
type: string
|
|
11311
|
+
additionalProperties: {}
|
|
11312
|
+
required:
|
|
11313
|
+
- watcher_id
|
|
11314
|
+
additionalProperties: false
|
|
9060
11315
|
/v1/work-items:
|
|
9061
11316
|
get:
|
|
9062
11317
|
operationId: workitems_get
|
|
@@ -9078,6 +11333,21 @@ paths:
|
|
|
9078
11333
|
required:
|
|
9079
11334
|
- items
|
|
9080
11335
|
additionalProperties: false
|
|
11336
|
+
parameters:
|
|
11337
|
+
- name: status
|
|
11338
|
+
in: query
|
|
11339
|
+
required: false
|
|
11340
|
+
schema:
|
|
11341
|
+
type: string
|
|
11342
|
+
enum:
|
|
11343
|
+
- pending
|
|
11344
|
+
- running
|
|
11345
|
+
- awaiting_review
|
|
11346
|
+
- done
|
|
11347
|
+
- failed
|
|
11348
|
+
- cancelled
|
|
11349
|
+
- archived
|
|
11350
|
+
description: Filter by work item status
|
|
9081
11351
|
/v1/work-items/{id}:
|
|
9082
11352
|
delete:
|
|
9083
11353
|
operationId: workitems_by_id_delete
|
|
@@ -9192,6 +11462,10 @@ paths:
|
|
|
9192
11462
|
responses:
|
|
9193
11463
|
"200":
|
|
9194
11464
|
description: Successful response
|
|
11465
|
+
"404":
|
|
11466
|
+
description: Work item not found
|
|
11467
|
+
"409":
|
|
11468
|
+
description: Work item is not running
|
|
9195
11469
|
parameters:
|
|
9196
11470
|
- name: id
|
|
9197
11471
|
in: path
|
|
@@ -9292,6 +11566,12 @@ paths:
|
|
|
9292
11566
|
responses:
|
|
9293
11567
|
"200":
|
|
9294
11568
|
description: Successful response
|
|
11569
|
+
"403":
|
|
11570
|
+
description: Required tool permissions not approved
|
|
11571
|
+
"404":
|
|
11572
|
+
description: Work item or associated task not found
|
|
11573
|
+
"409":
|
|
11574
|
+
description: Work item is already running or not runnable
|
|
9295
11575
|
parameters:
|
|
9296
11576
|
- name: id
|
|
9297
11577
|
in: path
|
|
@@ -9318,6 +11598,13 @@ paths:
|
|
|
9318
11598
|
responses:
|
|
9319
11599
|
"200":
|
|
9320
11600
|
description: Successful response
|
|
11601
|
+
parameters:
|
|
11602
|
+
- name: path
|
|
11603
|
+
in: query
|
|
11604
|
+
required: true
|
|
11605
|
+
schema:
|
|
11606
|
+
type: string
|
|
11607
|
+
description: File path to read
|
|
9321
11608
|
/v1/workspace/delete:
|
|
9322
11609
|
post:
|
|
9323
11610
|
operationId: workspace_delete_post
|
|
@@ -9328,6 +11615,16 @@ paths:
|
|
|
9328
11615
|
responses:
|
|
9329
11616
|
"200":
|
|
9330
11617
|
description: Successful response
|
|
11618
|
+
content:
|
|
11619
|
+
application/json:
|
|
11620
|
+
schema:
|
|
11621
|
+
type: object
|
|
11622
|
+
properties:
|
|
11623
|
+
success:
|
|
11624
|
+
type: boolean
|
|
11625
|
+
required:
|
|
11626
|
+
- success
|
|
11627
|
+
additionalProperties: false
|
|
9331
11628
|
requestBody:
|
|
9332
11629
|
required: true
|
|
9333
11630
|
content:
|
|
@@ -9403,13 +11700,15 @@ paths:
|
|
|
9403
11700
|
responses:
|
|
9404
11701
|
"200":
|
|
9405
11702
|
description: Successful response
|
|
11703
|
+
"416":
|
|
11704
|
+
description: Range Not Satisfiable
|
|
9406
11705
|
parameters:
|
|
9407
11706
|
- name: path
|
|
9408
11707
|
in: query
|
|
9409
|
-
required:
|
|
11708
|
+
required: true
|
|
9410
11709
|
schema:
|
|
9411
11710
|
type: string
|
|
9412
|
-
description: Relative file path
|
|
11711
|
+
description: Relative file path
|
|
9413
11712
|
- name: showHidden
|
|
9414
11713
|
in: query
|
|
9415
11714
|
required: false
|