@vellumai/assistant 0.7.1 → 0.7.3
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/ARCHITECTURE.md +48 -50
- package/Dockerfile +1 -0
- package/README.md +1 -2
- package/__tests__/permissions/gateway-threshold-reader.test.ts +9 -3
- package/bun.lock +26 -26
- package/docs/architecture/memory.md +5 -2
- package/docs/architecture/security.md +20 -0
- package/docs/plugins.md +7 -9
- package/knip.json +1 -0
- package/node_modules/@vellumai/gateway-client/src/index.ts +1 -0
- package/node_modules/@vellumai/gateway-client/src/ipc-client.ts +52 -5
- package/node_modules/@vellumai/gateway-client/src/types.ts +11 -0
- package/node_modules/@vellumai/service-contracts/package.json +2 -0
- package/node_modules/@vellumai/service-contracts/src/__tests__/contracts.test.ts +4 -0
- package/node_modules/@vellumai/service-contracts/src/__tests__/ingress.test.ts +107 -0
- package/node_modules/@vellumai/service-contracts/src/index.ts +5 -1
- package/node_modules/@vellumai/service-contracts/src/ingress.ts +24 -0
- package/node_modules/@vellumai/service-contracts/src/twilio-ingress.ts +84 -0
- package/node_modules/@vellumai/slack-text/src/index.test.ts +18 -35
- package/node_modules/@vellumai/slack-text/src/index.ts +2 -48
- package/node_modules/@vellumai/twilio-client/bun.lock +24 -0
- package/node_modules/@vellumai/twilio-client/package.json +18 -0
- package/node_modules/@vellumai/twilio-client/src/__tests__/twilio-client.test.ts +128 -0
- package/node_modules/@vellumai/twilio-client/src/index.ts +179 -0
- package/node_modules/@vellumai/twilio-client/tsconfig.json +20 -0
- package/openapi.yaml +1020 -40
- package/package.json +6 -3
- package/src/__tests__/app-builder-tool-scripts.test.ts +3 -3
- package/src/__tests__/app-bundler.test.ts +170 -1
- package/src/__tests__/app-control-flow.test.ts +384 -0
- package/src/__tests__/app-control-no-global-cgevent.test.ts +98 -0
- package/src/__tests__/app-control-tool-schemas.test.ts +621 -0
- package/src/__tests__/app-executors.test.ts +30 -43
- package/src/__tests__/approval-routes-http.test.ts +23 -6
- package/src/__tests__/assistant-event-hub-machine-name.test.ts +146 -0
- package/src/__tests__/assistant-event-hub-targeted.test.ts +257 -0
- package/src/__tests__/assistant-event-hub.test.ts +157 -2
- package/src/__tests__/assistant-feature-flags-integration.test.ts +29 -7
- package/src/__tests__/auto-analysis-end-to-end.test.ts +62 -1
- package/src/__tests__/background-shell-host-bash.test.ts +14 -15
- package/src/__tests__/background-workers-disk-pressure.test.ts +268 -0
- package/src/__tests__/bootstrap-turn-cleanup.test.ts +44 -0
- package/src/__tests__/btw-routes.test.ts +13 -4
- package/src/__tests__/call-controller.test.ts +49 -1
- package/src/__tests__/call-conversation-messages.test.ts +8 -2
- package/src/__tests__/call-domain.test.ts +0 -2
- package/src/__tests__/call-routes-http.test.ts +0 -2
- package/src/__tests__/channel-inbound-disk-pressure.test.ts +537 -0
- package/src/__tests__/channel-readiness-service.test.ts +62 -2
- package/src/__tests__/checker.test.ts +3 -4
- package/src/__tests__/config-loader-backfill.test.ts +461 -147
- package/src/__tests__/config-loader-platform-defaults.test.ts +196 -0
- package/src/__tests__/config-schema-cmd.test.ts +0 -1
- package/src/__tests__/config-schema.test.ts +1 -0
- package/src/__tests__/config-set-platform-guard.test.ts +48 -4
- package/src/__tests__/config-watcher-cleanup-throttle.test.ts +20 -11
- package/src/__tests__/config-watcher.test.ts +142 -71
- package/src/__tests__/context-search-agent-runner.test.ts +61 -3
- package/src/__tests__/context-search-conversations-source.test.ts +0 -24
- package/src/__tests__/context-search-fanout.test.ts +0 -1
- package/src/__tests__/context-search-memory-source.test.ts +3 -7
- package/src/__tests__/context-search-memory-v2-source.test.ts +0 -2
- package/src/__tests__/context-search-pkb-source.test.ts +0 -1
- package/src/__tests__/context-search-workspace-source.test.ts +0 -1
- package/src/__tests__/conversation-abort-tool-results.test.ts +6 -0
- package/src/__tests__/conversation-agent-loop-disk-pressure.test.ts +223 -0
- package/src/__tests__/conversation-agent-loop.test.ts +454 -5
- package/src/__tests__/conversation-app-control-instantiation.test.ts +392 -0
- package/src/__tests__/conversation-app-control-lifecycle.test.ts +237 -0
- package/src/__tests__/conversation-error.test.ts +150 -3
- package/src/__tests__/conversation-init.benchmark.test.ts +0 -2
- package/src/__tests__/conversation-lifecycle.test.ts +36 -0
- package/src/__tests__/conversation-process-app-control-preactivation.test.ts +283 -0
- package/src/__tests__/conversation-process-callsite.test.ts +43 -0
- package/src/__tests__/conversation-provider-retry-repair.test.ts +6 -0
- package/src/__tests__/conversation-routes-disk-view.test.ts +6 -0
- package/src/__tests__/conversation-routes-guardian-reply.test.ts +120 -72
- package/src/__tests__/conversation-routes-slash-commands.test.ts +1 -0
- package/src/__tests__/conversation-runtime-assembly.test.ts +65 -0
- package/src/__tests__/conversation-slash-commands.test.ts +0 -4
- package/src/__tests__/conversation-slash-unknown.test.ts +6 -0
- package/src/__tests__/conversation-speed-override.test.ts +0 -3
- package/src/__tests__/conversation-store.test.ts +0 -18
- package/src/__tests__/conversation-surfaces-action-delivery.test.ts +202 -0
- package/src/__tests__/conversation-surfaces-app-control.test.ts +328 -0
- package/src/__tests__/conversation-surfaces-data-persist.test.ts +404 -0
- package/src/__tests__/conversation-tool-setup-app-refresh.test.ts +2 -5
- package/src/__tests__/conversation-workspace-injection.test.ts +6 -0
- package/src/__tests__/conversation-workspace-tool-tracking.test.ts +6 -0
- package/src/__tests__/credential-execution-feature-gates.test.ts +5 -12
- package/src/__tests__/credential-execution-managed-contract.test.ts +3 -131
- package/src/__tests__/credentials-cli.test.ts +12 -12
- package/src/__tests__/cu-unified-flow.test.ts +351 -23
- package/src/__tests__/daemon-credential-client.test.ts +101 -19
- package/src/__tests__/date-context.test.ts +164 -2
- package/src/__tests__/db-schedule-syntax-migration.test.ts +2 -0
- package/src/__tests__/disk-pressure-guard.test.ts +262 -0
- package/src/__tests__/disk-pressure-lifecycle.test.ts +168 -0
- package/src/__tests__/disk-pressure-policy.test.ts +241 -0
- package/src/__tests__/disk-pressure-routes.test.ts +379 -0
- package/src/__tests__/disk-pressure-tools.test.ts +277 -0
- package/src/__tests__/disk-usage.test.ts +150 -0
- package/src/__tests__/dynamic-skill-workflow-prompt.test.ts +0 -1
- package/src/__tests__/events-client-registration.test.ts +52 -0
- package/src/__tests__/events-dev-bypass-actor.test.ts +162 -0
- package/src/__tests__/file-write-tool.test.ts +4 -10
- package/src/__tests__/filing-service.test.ts +3 -4
- package/src/__tests__/gateway-only-enforcement.test.ts +0 -1
- package/src/__tests__/guardian-verification-voice-binding.test.ts +0 -2
- package/src/__tests__/handlers-skills-memory-v2-reseed.test.ts +0 -2
- package/src/__tests__/handlers-user-message-approval-consumption.test.ts +0 -1
- package/src/__tests__/heartbeat-disk-pressure.test.ts +183 -0
- package/src/__tests__/heartbeat-service.test.ts +968 -2
- package/src/__tests__/helpers/call-route-handler.ts +7 -1
- package/src/__tests__/host-app-control-proxy.test.ts +772 -0
- package/src/__tests__/host-app-control-routes.test.ts +263 -0
- package/src/__tests__/host-bash-proxy.test.ts +439 -47
- package/src/__tests__/host-bash-routes.test.ts +459 -0
- package/src/__tests__/host-browser-proxy.test.ts +24 -22
- package/src/__tests__/host-browser-routes.test.ts +39 -13
- package/src/__tests__/host-cu-proxy.test.ts +248 -52
- package/src/__tests__/host-cu-routes-targeted.test.ts +429 -0
- package/src/__tests__/host-file-edit-tool.test.ts +47 -1
- package/src/__tests__/host-file-proxy-targeted.test.ts +378 -0
- package/src/__tests__/host-file-proxy.test.ts +301 -45
- package/src/__tests__/host-file-read-tool.test.ts +17 -0
- package/src/__tests__/host-file-routes-targeted.test.ts +420 -0
- package/src/__tests__/host-file-write-tool.test.ts +42 -1
- package/src/__tests__/host-proxy-base.test.ts +312 -0
- package/src/__tests__/host-shell-tool.test.ts +22 -4
- package/src/__tests__/host-transfer-proxy-targeted.test.ts +932 -0
- package/src/__tests__/host-transfer-proxy.test.ts +121 -22
- package/src/__tests__/host-transfer-routes-targeted.test.ts +662 -0
- package/src/__tests__/http-user-message-parity.test.ts +108 -1
- package/src/__tests__/identity-intro-cache.test.ts +29 -0
- package/src/__tests__/identity-routes.test.ts +103 -1
- package/src/__tests__/init-feature-flag-overrides.test.ts +26 -3
- package/src/__tests__/injector-chain.test.ts +18 -6
- package/src/__tests__/injector-disk-pressure.test.ts +224 -0
- package/src/__tests__/inline-command-runner.test.ts +0 -1
- package/src/__tests__/inline-skill-load-permissions.test.ts +5 -11
- package/src/__tests__/integration-status.test.ts +85 -5
- package/src/__tests__/intent-routing.test.ts +0 -1
- package/src/__tests__/jobs-store-qdrant-breaker.test.ts +95 -5
- package/src/__tests__/lifecycle-memory-v2-seed.test.ts +17 -0
- package/src/__tests__/managed-profile-guard.test.ts +18 -0
- package/src/__tests__/managed-skill-lifecycle.test.ts +0 -1
- package/src/__tests__/mcp-abort-signal.test.ts +130 -0
- package/src/__tests__/mcp-auth-routes.test.ts +197 -0
- package/src/__tests__/mcp-cli.test.ts +338 -2
- package/src/__tests__/memory-admin-recall.test.ts +3 -11
- package/src/__tests__/memory-jobs-worker-lanes.test.ts +188 -0
- package/src/__tests__/memory-retrieval-pipeline.test.ts +22 -1
- package/src/__tests__/migration-import-commit-http.test.ts +108 -2
- package/src/__tests__/mock-gateway-ipc.ts +1 -0
- package/src/__tests__/normalize-onboarding.test.ts +180 -0
- package/src/__tests__/oauth-cli.test.ts +0 -2
- package/src/__tests__/oauth-connect-routes.test.ts +316 -0
- package/src/__tests__/oauth-provider-seed-logos.test.ts +24 -2
- package/src/__tests__/oauth2-gateway-transport.test.ts +0 -1
- package/src/__tests__/onboarding-persona-write.test.ts +308 -0
- package/src/__tests__/openai-provider.test.ts +45 -8
- package/src/__tests__/persist-onboarding-artifacts.test.ts +44 -64
- package/src/__tests__/persistence-secret-redaction.test.ts +299 -0
- package/src/__tests__/platform-bash-auto-approve.test.ts +5 -9
- package/src/__tests__/platform-callback-registration.test.ts +21 -4
- package/src/__tests__/platform.test.ts +2 -1
- package/src/__tests__/playbook-execution.test.ts +0 -43
- package/src/__tests__/plugin-tool-contribution.test.ts +47 -0
- package/src/__tests__/prechat-onboarding-contract.test.ts +214 -25
- package/src/__tests__/process-message-background-slack.test.ts +2 -0
- package/src/__tests__/provider-commit-message-generator.test.ts +0 -1
- package/src/__tests__/provider-tool-name.test.ts +23 -0
- package/src/__tests__/public-ingress-urls.test.ts +97 -0
- package/src/__tests__/relay-server.test.ts +15 -4
- package/src/__tests__/require-fresh-approval.test.ts +0 -1
- package/src/__tests__/retry-backoff.test.ts +87 -0
- package/src/__tests__/runtime-events-sse.test.ts +2 -2
- package/src/__tests__/sanitize-config-for-transfer.test.ts +24 -2
- package/src/__tests__/schedule-retry.test.ts +715 -0
- package/src/__tests__/scheduler-disk-pressure.test.ts +148 -0
- package/src/__tests__/script-proxy-mitm-handler.test.ts +1 -1
- package/src/__tests__/secret-ingress-http.test.ts +1 -1
- package/src/__tests__/send-endpoint-busy.test.ts +3 -0
- package/src/__tests__/shell-tool-proxy-mode.test.ts +0 -1
- package/src/__tests__/skill-feature-flags.test.ts +43 -41
- package/src/__tests__/skill-load-feature-flag.test.ts +13 -14
- package/src/__tests__/skill-load-inline-command.test.ts +0 -51
- package/src/__tests__/skill-load-inline-includes.test.ts +0 -43
- package/src/__tests__/skill-projection.benchmark.test.ts +0 -1
- package/src/__tests__/skill-script-runner-sandbox.test.ts +0 -1
- package/src/__tests__/slack-channel-config.test.ts +9 -14
- package/src/__tests__/suggestion-routes.test.ts +46 -0
- package/src/__tests__/system-prompt-ask-mode.test.ts +0 -1
- package/src/__tests__/system-prompt.test.ts +0 -1
- package/src/__tests__/telegram-config.test.ts +0 -1
- package/src/__tests__/test-preload.ts +8 -0
- package/src/__tests__/tool-approval-handler.test.ts +3 -4
- package/src/__tests__/tool-audit-listener.test.ts +48 -0
- package/src/__tests__/tool-execute-pipeline.test.ts +0 -1
- package/src/__tests__/tool-execution-abort-cleanup.test.ts +0 -1
- package/src/__tests__/tool-executor-lifecycle-events.test.ts +0 -1
- package/src/__tests__/tool-executor.test.ts +0 -1
- package/src/__tests__/twilio-config.test.ts +3 -16
- package/src/__tests__/twilio-routes.test.ts +3 -5
- package/src/__tests__/twilio-validation.test.ts +93 -0
- package/src/__tests__/vellum-self-knowledge-inline-command.test.ts +1 -4
- package/src/__tests__/verification-control-plane-policy.test.ts +2 -4
- package/src/__tests__/voice-ingress-preflight.test.ts +19 -0
- package/src/__tests__/workspace-migration-006-services-config.test.ts +3 -2
- package/src/__tests__/workspace-migration-065-bump-stale-heartbeat-interval.test.ts +122 -0
- package/src/__tests__/workspace-migration-066-seed-heartbeat-callsite-cost-default.test.ts +285 -0
- package/src/__tests__/workspace-migration-068-release-notes-local-timezone.test.ts +90 -0
- package/src/__tests__/workspace-migration-backfill-installation-id.test.ts +1 -5
- package/src/__tests__/workspace-migration-down-functions.test.ts +8 -8
- package/src/__tests__/workspace-migration-safe-storage-limits-release.test.ts +90 -0
- package/src/__tests__/workspace-migration-unify-llm-callsite-configs.test.ts +10 -6
- package/src/approvals/guardian-decision-primitive.ts +13 -0
- package/src/approvals/guardian-request-resolvers.ts +16 -17
- package/src/backup/__tests__/paths.test.ts +0 -22
- package/src/backup/__tests__/restore.test.ts +51 -151
- package/src/backup/paths.ts +2 -18
- package/src/backup/restore.ts +107 -231
- package/src/backup/snapshot-lock.ts +2 -27
- package/src/bundler/app-bundler.ts +51 -3
- package/src/bundler/compiler-tools.ts +3 -2
- package/src/calls/call-conversation-messages.ts +46 -10
- package/src/calls/relay-server.ts +4 -44
- package/src/calls/twilio-config.ts +2 -17
- package/src/calls/twilio-rest.ts +33 -105
- package/src/calls/twilio-routes.ts +11 -12
- package/src/channels/types.ts +8 -7
- package/src/cli/commands/__tests__/backup.test.ts +6 -277
- package/src/cli/commands/__tests__/gateway.test.ts +288 -0
- package/src/cli/commands/__tests__/memory-v2.test.ts +4 -0
- package/src/cli/commands/__tests__/webhooks.test.ts +0 -5
- package/src/cli/commands/backup.ts +6 -331
- package/src/cli/commands/bash.ts +35 -108
- package/src/cli/commands/clients.ts +36 -37
- package/src/cli/commands/contacts.ts +137 -25
- package/src/cli/commands/conversations.ts +2 -5
- package/src/cli/commands/credentials.ts +71 -7
- package/src/cli/commands/domain.ts +66 -15
- package/src/cli/commands/gateway.ts +183 -0
- package/src/cli/commands/keys.ts +9 -6
- package/src/cli/commands/mcp.ts +116 -156
- package/src/cli/commands/memory-v2.ts +303 -7
- package/src/cli/commands/oauth/__tests__/connect.test.ts +437 -1
- package/src/cli/commands/oauth/connect.ts +127 -1
- package/src/cli/commands/platform/__tests__/callback-routes-list.test.ts +0 -4
- package/src/cli/commands/platform/__tests__/connect.test.ts +7 -3
- package/src/cli/commands/platform/__tests__/disconnect.test.ts +7 -3
- package/src/cli/commands/platform/__tests__/status.test.ts +116 -21
- package/src/cli/commands/platform/disconnect.ts +5 -4
- package/src/cli/commands/platform/index.ts +16 -25
- package/src/cli/commands/status.ts +57 -0
- package/src/cli/lib/daemon-credential-client.ts +110 -28
- package/src/cli/program.ts +6 -2
- package/src/config/assistant-feature-flags.ts +79 -12
- package/src/config/bundled-skills/acp/SKILL.md +6 -0
- package/src/config/bundled-skills/acp/TOOLS.json +1 -22
- package/src/config/bundled-skills/app-builder/SKILL.md +14 -109
- package/src/config/bundled-skills/app-builder/TOOLS.json +1 -28
- package/src/config/bundled-skills/app-builder/tools/app-create.ts +1 -10
- package/src/config/bundled-skills/app-control/SKILL.md +75 -0
- package/src/config/bundled-skills/app-control/TOOLS.json +299 -0
- package/src/config/bundled-skills/app-control/tools/app-control-click.ts +12 -0
- package/src/config/bundled-skills/app-control/tools/app-control-combo.ts +12 -0
- package/src/config/bundled-skills/app-control/tools/app-control-drag.ts +12 -0
- package/src/config/bundled-skills/app-control/tools/app-control-observe.ts +12 -0
- package/src/config/bundled-skills/app-control/tools/app-control-press.ts +12 -0
- package/src/config/bundled-skills/app-control/tools/app-control-sequence.ts +12 -0
- package/src/config/bundled-skills/app-control/tools/app-control-start.ts +12 -0
- package/src/config/bundled-skills/app-control/tools/app-control-stop.ts +12 -0
- package/src/config/bundled-skills/app-control/tools/app-control-type.ts +12 -0
- package/src/config/bundled-skills/computer-use/SKILL.md +6 -0
- package/src/config/bundled-skills/computer-use/TOOLS.json +67 -43
- package/src/config/bundled-skills/contacts/TOOLS.json +0 -16
- package/src/config/bundled-skills/document/TOOLS.json +0 -8
- package/src/config/bundled-skills/followups/TOOLS.json +0 -12
- package/src/config/bundled-skills/image-studio/SKILL.md +4 -0
- package/src/config/bundled-skills/image-studio/TOOLS.json +0 -4
- package/src/config/bundled-skills/media-processing/TOOLS.json +0 -24
- package/src/config/bundled-skills/messaging/TOOLS.json +0 -40
- package/src/config/bundled-skills/messaging/tools/messaging-analyze-style.ts +4 -3
- package/src/config/bundled-skills/phone-calls/TOOLS.json +0 -12
- package/src/config/bundled-skills/phone-calls/references/TROUBLESHOOTING.md +25 -4
- package/src/config/bundled-skills/playbooks/TOOLS.json +0 -16
- package/src/config/bundled-skills/playbooks/tools/playbook-create.ts +2 -2
- package/src/config/bundled-skills/playbooks/tools/playbook-delete.ts +2 -2
- package/src/config/bundled-skills/playbooks/tools/playbook-list.ts +2 -2
- package/src/config/bundled-skills/playbooks/tools/playbook-update.ts +2 -2
- package/src/config/bundled-skills/schedule/TOOLS.json +14 -14
- package/src/config/bundled-skills/sequences/TOOLS.json +0 -36
- package/src/config/bundled-skills/settings/SKILL.md +4 -0
- package/src/config/bundled-skills/settings/TOOLS.json +0 -12
- package/src/config/bundled-skills/skill-management/SKILL.md +6 -0
- package/src/config/bundled-skills/skill-management/TOOLS.json +0 -8
- package/src/config/bundled-skills/subagent/SKILL.md +6 -2
- package/src/config/bundled-skills/subagent/TOOLS.json +0 -20
- package/src/config/bundled-skills/transcribe/SKILL.md +4 -0
- package/src/config/bundled-skills/transcribe/TOOLS.json +0 -4
- package/src/config/bundled-tool-registry.ts +21 -0
- package/src/config/env-registry.ts +0 -2
- package/src/config/env.ts +19 -20
- package/src/config/feature-flag-registry.json +47 -135
- package/src/config/loader.ts +197 -104
- package/src/config/sanitize-for-transfer.ts +2 -0
- package/src/config/schemas/__tests__/memory-lifecycle.test.ts +80 -0
- package/src/config/schemas/__tests__/memory-v2.test.ts +17 -9
- package/src/config/schemas/call-site-catalog.ts +14 -0
- package/src/config/schemas/calls.ts +0 -9
- package/src/config/schemas/channels.ts +0 -5
- package/src/config/schemas/heartbeat.ts +64 -1
- package/src/config/schemas/ingress.ts +10 -6
- package/src/config/schemas/llm.ts +7 -10
- package/src/config/schemas/memory-lifecycle.ts +90 -24
- package/src/config/schemas/memory-v2.ts +121 -13
- package/src/config/schemas/platform.ts +49 -3
- package/src/config/schemas/services.ts +29 -15
- package/src/config/schemas/skills.ts +0 -6
- package/src/config/seed-inference-profiles.ts +230 -33
- package/src/contacts/contact-store.ts +0 -55
- package/src/contacts/contacts-write.ts +0 -27
- package/src/context/window-manager.ts +1 -2
- package/src/credential-execution/feature-gates.ts +10 -10
- package/src/credential-execution/process-manager.ts +12 -41
- package/src/daemon/__tests__/conversation-tool-setup.test.ts +187 -5
- package/src/daemon/assistant-attachments.ts +4 -4
- package/src/daemon/bootstrap-turn-cleanup.ts +45 -0
- package/src/daemon/config-watcher.ts +89 -60
- package/src/daemon/conversation-agent-loop-handlers.ts +27 -3
- package/src/daemon/conversation-agent-loop.ts +202 -61
- package/src/daemon/conversation-error.ts +87 -15
- package/src/daemon/conversation-lifecycle.ts +9 -4
- package/src/daemon/conversation-process.ts +24 -11
- package/src/daemon/conversation-runtime-assembly.ts +28 -2
- package/src/daemon/conversation-store.ts +2 -2
- package/src/daemon/conversation-surfaces.ts +305 -4
- package/src/daemon/conversation-tool-setup.ts +66 -62
- package/src/daemon/conversation.ts +38 -24
- package/src/daemon/date-context.ts +71 -22
- package/src/daemon/disk-pressure-background-gate.ts +73 -0
- package/src/daemon/disk-pressure-guard.ts +343 -0
- package/src/daemon/disk-pressure-policy.ts +163 -0
- package/src/daemon/doordash-steps.ts +1 -1
- package/src/daemon/handlers/shared.ts +4 -2
- package/src/daemon/handlers/skills.ts +3 -4
- package/src/daemon/host-app-control-proxy.ts +389 -0
- package/src/daemon/host-bash-proxy.ts +117 -82
- package/src/daemon/host-browser-proxy.ts +67 -82
- package/src/daemon/host-cu-proxy.ts +127 -86
- package/src/daemon/host-file-proxy.ts +129 -69
- package/src/daemon/host-proxy-base.ts +294 -0
- package/src/daemon/host-proxy-preactivation.ts +82 -0
- package/src/daemon/host-transfer-proxy.ts +338 -129
- package/src/daemon/lifecycle.ts +194 -145
- package/src/daemon/meet-host-supervisor.ts +4 -4
- package/src/daemon/meet-manifest-loader.ts +0 -1
- package/src/daemon/memory-v2-startup.ts +14 -4
- package/src/daemon/message-protocol.ts +6 -8
- package/src/daemon/message-types/contacts.ts +23 -1
- package/src/daemon/message-types/conversations.ts +15 -8
- package/src/daemon/message-types/disk-pressure.ts +9 -0
- package/src/daemon/message-types/host-app-control.ts +150 -0
- package/src/daemon/message-types/host-bash.ts +4 -0
- package/src/daemon/message-types/host-cu.ts +2 -0
- package/src/daemon/message-types/host-file.ts +4 -0
- package/src/daemon/message-types/host-transfer.ts +3 -0
- package/src/daemon/message-types/messages.ts +3 -0
- package/src/daemon/message-types/schedules.ts +8 -3
- package/src/daemon/message-types/skills.ts +2 -2
- package/src/daemon/process-message.ts +18 -1
- package/src/daemon/profiler-run-store.ts +5 -5
- package/src/daemon/shutdown-handlers.ts +0 -3
- package/src/daemon/tool-setup-types.ts +51 -0
- package/src/daemon/tool-side-effects.ts +1 -1
- package/src/documents/document-store.ts +85 -0
- package/src/events/tool-audit-listener.ts +2 -1
- package/src/filing/filing-service.ts +30 -5
- package/src/heartbeat/__tests__/heartbeat-feed-event.test.ts +24 -23
- package/src/heartbeat/__tests__/heartbeat-run-store.test.ts +252 -0
- package/src/heartbeat/heartbeat-run-store.ts +249 -0
- package/src/heartbeat/heartbeat-service.ts +459 -54
- package/src/home/__tests__/post-connect-feed.test.ts +99 -0
- package/src/home/__tests__/relationship-state-writer.test.ts +11 -9
- package/src/home/__tests__/suggested-prompts.test.ts +89 -0
- package/src/home/feed-scheduler.ts +18 -0
- package/src/home/post-connect-feed.ts +68 -0
- package/src/home/relationship-state-writer.ts +17 -92
- package/src/home/suggested-prompts.ts +46 -10
- package/src/inbound/platform-callback-registration.ts +8 -15
- package/src/inbound/public-ingress-urls.ts +32 -34
- package/src/ipc/__tests__/clients-list-ipc.test.ts +169 -0
- package/src/ipc/__tests__/route-error-envelope.test.ts +80 -0
- package/src/ipc/assistant-server.ts +70 -3
- package/src/ipc/cli-client.ts +32 -1
- package/src/ipc/gateway-client.ts +37 -3
- package/src/live-voice/live-voice-archive.ts +4 -4
- package/src/live-voice/live-voice-metrics.ts +10 -10
- package/src/live-voice/protocol.ts +5 -7
- package/src/mcp/__tests__/mcp-auth-orchestrator.test.ts +304 -0
- package/src/mcp/mcp-auth-orchestrator.ts +213 -0
- package/src/mcp/mcp-auth-state.ts +133 -0
- package/src/mcp/mcp-oauth-provider.ts +19 -0
- package/src/media/image-service.ts +1 -7
- package/src/memory/__tests__/fixtures/memory-v2-activation-fixtures.ts +21 -13
- package/src/memory/__tests__/jobs-store-job-classes.test.ts +24 -0
- package/src/memory/__tests__/jobs-worker-v2-schedule.test.ts +52 -22
- package/src/memory/__tests__/memory-v2-activation-log-store.test.ts +0 -6
- package/src/memory/__tests__/memory-v2-concept-frequency.test.ts +272 -0
- package/src/memory/__tests__/qdrant-client-sentinel.test.ts +49 -0
- package/src/memory/__tests__/sparse-tokenize.test.ts +66 -0
- package/src/memory/admin.ts +5 -9
- package/src/memory/anisotropy.test.ts +247 -0
- package/src/memory/anisotropy.ts +443 -0
- package/src/memory/auto-analysis-constants.ts +17 -0
- package/src/memory/auto-analysis-guard.ts +5 -15
- package/src/memory/canonical-guardian-store.ts +7 -7
- package/src/memory/context-search/__tests__/agent-runner-redaction.test.ts +122 -0
- package/src/memory/context-search/agent-protocol.ts +6 -6
- package/src/memory/context-search/agent-runner.ts +51 -9
- package/src/memory/context-search/sources/conversations.ts +2 -11
- package/src/memory/context-search/sources/memory-v2.ts +22 -9
- package/src/memory/context-search/sources/memory.ts +0 -1
- package/src/memory/context-search/types.ts +0 -1
- package/src/memory/conversation-crud.ts +5 -13
- package/src/memory/conversation-key-store.ts +2 -15
- package/src/memory/db-init.ts +6 -0
- package/src/memory/embedding-backend.ts +9 -21
- package/src/memory/embedding-runtime-manager.ts +119 -5
- package/src/memory/graph/__tests__/conversation-graph-memory-v2-routing.test.ts +81 -25
- package/src/memory/graph/conversation-graph-memory.ts +43 -78
- package/src/memory/graph/extraction.ts +1 -3
- package/src/memory/graph/graph-search.test.ts +10 -67
- package/src/memory/graph/graph-search.ts +9 -20
- package/src/memory/graph/retriever.test.ts +6 -0
- package/src/memory/graph/retriever.ts +34 -10
- package/src/memory/graph/tools.ts +1 -1
- package/src/memory/indexer.ts +54 -45
- package/src/memory/job-handlers/backfill.ts +2 -11
- package/src/memory/job-handlers/cleanup.ts +43 -0
- package/src/memory/job-handlers/embedding.ts +6 -8
- package/src/memory/job-handlers/summarization.ts +2 -7
- package/src/memory/jobs/__tests__/embed-concept-page.test.ts +8 -2
- package/src/memory/jobs/embed-concept-page.ts +28 -2
- package/src/memory/jobs/embed-pkb-file.test.ts +2 -2
- package/src/memory/jobs-store.ts +114 -22
- package/src/memory/jobs-worker.ts +193 -106
- package/src/memory/memory-v2-activation-log-store.ts +33 -15
- package/src/memory/memory-v2-concept-frequency.ts +169 -0
- package/src/memory/migrations/237-heartbeat-runs.ts +45 -0
- package/src/memory/migrations/238-schedule-retry-policy.ts +20 -0
- package/src/memory/migrations/239-trace-events-created-at-index.ts +18 -0
- package/src/memory/migrations/index.ts +6 -0
- package/src/memory/migrations/registry.ts +8 -0
- package/src/memory/pkb/pkb-search.test.ts +6 -0
- package/src/memory/pkb/pkb-search.ts +7 -0
- package/src/memory/qdrant-client.ts +49 -32
- package/src/memory/rerank-local.ts +374 -0
- package/src/memory/schema/infrastructure.ts +15 -0
- package/src/memory/search/semantic.ts +13 -67
- package/src/memory/sparse-tokenize.ts +49 -0
- package/src/memory/trace-event-store.ts +1 -17
- package/src/memory/v2/__tests__/activation.test.ts +387 -344
- package/src/memory/v2/__tests__/consolidation-job.test.ts +40 -8
- package/src/memory/v2/__tests__/injection.test.ts +181 -169
- package/src/memory/v2/__tests__/prompts-consolidation.test.ts +61 -2
- package/src/memory/v2/__tests__/qdrant.test.ts +16 -0
- package/src/memory/v2/__tests__/reranker.test.ts +338 -0
- package/src/memory/v2/__tests__/sim.test.ts +154 -188
- package/src/memory/v2/__tests__/skill-store.test.ts +71 -65
- package/src/memory/v2/__tests__/sparse-bm25.test.ts +292 -0
- package/src/memory/v2/__tests__/static-context.test.ts +76 -2
- package/src/memory/v2/activation.ts +213 -239
- package/src/memory/v2/consolidation-job.ts +65 -17
- package/src/memory/v2/constants.ts +7 -0
- package/src/memory/v2/injection.ts +123 -103
- package/src/memory/v2/prompts/consolidation.ts +348 -92
- package/src/memory/v2/qdrant.ts +198 -1
- package/src/memory/v2/reranker.ts +177 -0
- package/src/memory/v2/sim.ts +113 -77
- package/src/memory/v2/skill-content.ts +4 -3
- package/src/memory/v2/skill-store.ts +91 -53
- package/src/memory/v2/sparse-bm25.ts +245 -0
- package/src/memory/v2/static-context.ts +28 -5
- package/src/memory/v2/types.ts +10 -10
- package/src/messaging/providers/gmail/types.ts +0 -49
- package/src/messaging/providers/slack/adapter.ts +1 -31
- package/src/messaging/providers/slack/types.ts +0 -32
- package/src/notifications/README.md +10 -10
- package/src/notifications/broadcaster.ts +1 -1
- package/src/notifications/copy-composer.ts +13 -0
- package/src/notifications/guardian-question-mode.ts +5 -5
- package/src/notifications/signal.ts +4 -0
- package/src/oauth/AGENTS.md +3 -1
- package/src/oauth/__tests__/oauth-connect-state.test.ts +137 -0
- package/src/oauth/connect-orchestrator.ts +6 -0
- package/src/oauth/connection-resolver.test.ts +66 -1
- package/src/oauth/connection-resolver.ts +55 -1
- package/src/oauth/credential-token-resolver.ts +1 -3
- package/src/oauth/manual-token-connection.ts +0 -4
- package/src/oauth/oauth-connect-state.ts +77 -0
- package/src/oauth/seed-providers.ts +58 -1
- package/src/outbound-proxy/index.ts +1 -37
- package/src/outbound-proxy/logging.ts +1 -1
- package/src/outbound-proxy/policy.ts +6 -5
- package/src/outbound-proxy/router.ts +2 -1
- package/src/permissions/approval-policy.test.ts +6 -275
- package/src/permissions/approval-policy.ts +0 -51
- package/src/permissions/checker.test.ts +0 -1
- package/src/permissions/checker.ts +3 -17
- package/src/permissions/gateway-threshold-reader.ts +2 -0
- package/src/permissions/prompter.ts +34 -1
- package/src/permissions/secret-prompter.ts +6 -2
- package/src/plugins/defaults/injectors.ts +35 -2
- package/src/plugins/defaults/memory-retrieval.ts +5 -6
- package/src/plugins/types.ts +7 -0
- package/src/proactive-artifact/aux-message-injector.ts +74 -0
- package/src/proactive-artifact/decision.test.ts +226 -0
- package/src/proactive-artifact/decision.ts +165 -0
- package/src/proactive-artifact/index.ts +7 -0
- package/src/proactive-artifact/job.test.ts +867 -0
- package/src/proactive-artifact/job.ts +352 -0
- package/src/proactive-artifact/message-copy.ts +41 -0
- package/src/proactive-artifact/trigger-state.test.ts +277 -0
- package/src/proactive-artifact/trigger-state.ts +119 -0
- package/src/prompts/bootstrap-cleanup.ts +27 -0
- package/src/prompts/normalize-onboarding.ts +80 -0
- package/src/prompts/persona-resolver.ts +101 -9
- package/src/prompts/system-prompt.ts +23 -24
- package/src/prompts/templates/BOOTSTRAP.md +13 -5
- package/src/prompts/templates/SOUL.md +13 -1
- package/src/providers/__tests__/retry-callsite.test.ts +222 -1
- package/src/providers/model-intents.ts +7 -0
- package/src/providers/openrouter/client.ts +8 -0
- package/src/providers/retry.ts +50 -0
- package/src/providers/speech-to-text/provider-catalog.ts +7 -8
- package/src/providers/types.ts +1 -0
- package/src/runtime/__tests__/agent-wake.test.ts +456 -3
- package/src/runtime/agent-wake.ts +238 -100
- package/src/runtime/assistant-event-hub.ts +151 -99
- package/src/runtime/auth/__tests__/middleware.test.ts +11 -56
- package/src/runtime/auth/__tests__/route-policy.test.ts +64 -0
- package/src/runtime/auth/middleware.ts +0 -96
- package/src/runtime/auth/route-policy.ts +32 -0
- package/src/runtime/auth/same-actor.ts +216 -0
- package/src/runtime/btw-sidechain.ts +2 -3
- package/src/runtime/channel-invite-transport.ts +2 -48
- package/src/runtime/channel-invite-transports/email.ts +1 -1
- package/src/runtime/channel-invite-transports/slack.ts +1 -1
- package/src/runtime/channel-invite-transports/telegram.ts +1 -1
- package/src/runtime/channel-invite-transports/voice.ts +1 -1
- package/src/runtime/channel-invite-transports/whatsapp.ts +1 -1
- package/src/runtime/channel-invite-types.ts +54 -0
- package/src/runtime/channel-readiness-service.ts +32 -13
- package/src/runtime/channel-retry-sweep.ts +65 -1
- package/src/runtime/guardian-reply-router.ts +10 -0
- package/src/runtime/http-server.ts +3 -329
- package/src/runtime/http-types.ts +0 -5
- package/src/runtime/local-actor-identity.ts +52 -11
- package/src/runtime/migrations/__tests__/vbundle-import-parity.test.ts +413 -0
- package/src/runtime/migrations/__tests__/vbundle-import-policy.test.ts +260 -0
- package/src/runtime/migrations/__tests__/vbundle-import-version-compat.test.ts +189 -0
- package/src/runtime/migrations/__tests__/vbundle-streaming-importer.test.ts +153 -1
- package/src/runtime/migrations/__tests__/vbundle-symlink-importer.test.ts +451 -0
- package/src/runtime/migrations/__tests__/vbundle-symlink-streaming-importer.test.ts +0 -0
- package/src/runtime/migrations/__tests__/vbundle-symlink-streaming.test.ts +515 -0
- package/src/runtime/migrations/__tests__/vbundle-symlink-tar.test.ts +437 -0
- package/src/runtime/migrations/__tests__/vbundle-symlink-walker.test.ts +319 -0
- package/src/runtime/migrations/__tests__/vbundle-validator-v1-schema.test.ts +51 -1
- package/src/runtime/migrations/migration-transport.ts +7 -7
- package/src/runtime/migrations/vbundle-builder.ts +327 -60
- package/src/runtime/migrations/vbundle-import-analyzer.ts +4 -4
- package/src/runtime/migrations/vbundle-import-policy.ts +172 -0
- package/src/runtime/migrations/vbundle-importer.ts +245 -68
- package/src/runtime/migrations/vbundle-streaming-importer.ts +326 -35
- package/src/runtime/migrations/vbundle-streaming-validator.ts +157 -4
- package/src/runtime/migrations/vbundle-tar-stream.ts +15 -6
- package/src/runtime/migrations/vbundle-validator.ts +114 -0
- package/src/runtime/pending-interactions.ts +43 -9
- package/src/runtime/routes/__tests__/backup-routes.test.ts +22 -150
- package/src/runtime/routes/__tests__/client-routes.test.ts +155 -0
- package/src/runtime/routes/__tests__/conversation-query-routes.test.ts +98 -5
- package/src/runtime/routes/__tests__/gateway-log-routes.test.ts +242 -0
- package/src/runtime/routes/__tests__/heartbeat-routes.test.ts +112 -0
- package/src/runtime/routes/approval-interception-types.ts +13 -0
- package/src/runtime/routes/approval-strategies/guardian-text-engine-strategy.ts +1 -1
- package/src/runtime/routes/backup-routes.ts +15 -38
- package/src/runtime/routes/btw-routes.ts +14 -37
- package/src/runtime/routes/client-routes.ts +21 -2
- package/src/runtime/routes/contact-prompt-routes.ts +183 -0
- package/src/runtime/routes/contact-routes.ts +0 -25
- package/src/runtime/routes/conversation-query-routes.ts +36 -1
- package/src/runtime/routes/conversation-routes.ts +65 -39
- package/src/runtime/routes/debug-bash-routes.ts +163 -0
- package/src/runtime/routes/disk-pressure-routes.ts +121 -0
- package/src/runtime/routes/document-pdf-renderer.ts +169 -0
- package/src/runtime/routes/documents-routes.ts +32 -75
- package/src/runtime/routes/errors.ts +19 -4
- package/src/runtime/routes/events-routes.ts +38 -0
- package/src/runtime/routes/gateway-log-routes.ts +79 -0
- package/src/runtime/routes/guardian-approval-interception.ts +2 -8
- package/src/runtime/routes/heartbeat-routes.ts +103 -38
- package/src/runtime/routes/host-app-control-routes.ts +134 -0
- package/src/runtime/routes/host-bash-routes.ts +56 -6
- package/src/runtime/routes/host-browser-routes.ts +108 -13
- package/src/runtime/routes/host-cu-routes.ts +66 -9
- package/src/runtime/routes/host-file-routes.ts +54 -5
- package/src/runtime/routes/host-transfer-routes.ts +122 -19
- package/src/runtime/routes/http-adapter.ts +1 -0
- package/src/runtime/routes/identity-intro-cache.ts +30 -0
- package/src/runtime/routes/identity-routes.ts +21 -180
- package/src/runtime/routes/inbound-message-handler.ts +78 -21
- package/src/runtime/routes/inbound-stages/acl-enforcement.ts +0 -7
- package/src/runtime/routes/inbound-stages/edit-intercept.ts +0 -8
- package/src/runtime/routes/inbound-stages/guardian-reply-intercept.ts +3 -0
- package/src/runtime/routes/inbound-stages/transcribe-audio.test.ts +0 -20
- package/src/runtime/routes/inbound-stages/transcribe-audio.ts +5 -13
- package/src/runtime/routes/index.ts +14 -0
- package/src/runtime/routes/mcp-auth-routes.ts +132 -0
- package/src/runtime/routes/memory-item-routes.test.ts +41 -15
- package/src/runtime/routes/memory-item-routes.ts +10 -12
- package/src/runtime/routes/memory-v2-routes.ts +474 -1
- package/src/runtime/routes/migration-routes.ts +96 -0
- package/src/runtime/routes/oauth-connect-routes.ts +153 -0
- package/src/runtime/routes/schedule-routes.ts +7 -0
- package/src/runtime/verification-outbound-actions.ts +4 -4
- package/src/runtime/verification-templates.ts +4 -7
- package/src/schedule/integration-status.ts +66 -2
- package/src/schedule/recurrence-engine.ts +4 -1
- package/src/schedule/retry-backoff.ts +18 -0
- package/src/schedule/retry-policy.ts +82 -0
- package/src/schedule/run-script.ts +37 -5
- package/src/schedule/schedule-recovery.ts +64 -0
- package/src/schedule/schedule-store.ts +106 -2
- package/src/schedule/scheduler-types.ts +25 -0
- package/src/schedule/scheduler.ts +83 -39
- package/src/security/encrypted-store.ts +2 -0
- package/src/security/oauth-callback-registry.ts +8 -0
- package/src/security/secure-keys.ts +55 -0
- package/src/sequence/analytics.ts +5 -5
- package/src/sequence/engine.ts +1 -1
- package/src/skills/catalog-files.ts +2 -8
- package/src/skills/include-graph.ts +5 -5
- package/src/skills/remote-skill-policy.ts +10 -16
- package/src/skills/skill-file-provider.ts +1 -1
- package/src/skills/skill-file-types.ts +13 -0
- package/src/skills/skillssh-audit-types.ts +28 -0
- package/src/skills/skillssh-registry.ts +8 -21
- package/src/subagent/index.ts +1 -7
- package/src/subagent/manager.ts +1 -15
- package/src/tasks/task-runner.ts +0 -1
- package/src/tasks/task-store.ts +0 -3
- package/src/telemetry/types.ts +2 -0
- package/src/telemetry/usage-telemetry-reporter.test.ts +21 -0
- package/src/telemetry/usage-telemetry-reporter.ts +1 -0
- package/src/tools/app-control/skill-proxy-bridge.ts +28 -0
- package/src/tools/apps/executors.ts +56 -69
- package/src/tools/background-tool-registry.ts +17 -3
- package/src/tools/browser/__tests__/browser-status.test.ts +21 -18
- package/src/tools/browser/browser-execution.ts +2 -2
- package/src/tools/browser/cdp-client/__tests__/factory.test.ts +55 -4
- package/src/tools/browser/cdp-client/cdp-inspect/__tests__/ws-transport.test.ts +12 -6
- package/src/tools/browser/cdp-client/factory.ts +23 -24
- package/src/tools/browser/cdp-client/index.ts +1 -14
- package/src/tools/computer-use/definitions.ts +42 -20
- package/src/tools/executor.ts +2 -0
- package/src/tools/host-filesystem/edit.test.ts +151 -0
- package/src/tools/host-filesystem/edit.ts +68 -0
- package/src/tools/host-filesystem/read.test.ts +129 -0
- package/src/tools/host-filesystem/read.ts +68 -0
- package/src/tools/host-filesystem/transfer.test.ts +127 -2
- package/src/tools/host-filesystem/transfer.ts +78 -3
- package/src/tools/host-filesystem/write.test.ts +134 -0
- package/src/tools/host-filesystem/write.ts +68 -0
- package/src/tools/host-terminal/host-shell.ts +66 -1
- package/src/tools/mcp/mcp-tool-factory.ts +2 -1
- package/src/tools/memory/register.test.ts +12 -9
- package/src/tools/memory/register.ts +1 -2
- package/src/tools/provider-tool-name.ts +28 -0
- package/src/tools/registry.ts +30 -9
- package/src/tools/schedule/create.ts +6 -0
- package/src/tools/schedule/list.ts +2 -0
- package/src/tools/schedule/update.ts +10 -0
- package/src/tools/shared/filesystem/file-ops-service.ts +2 -0
- package/src/tools/shared/filesystem/path-policy.ts +25 -1
- package/src/tools/skills/load.ts +0 -32
- package/src/tools/terminal/shell.ts +9 -1
- package/src/tools/tool-approval-handler.ts +32 -11
- package/src/tools/types.ts +28 -2
- package/src/tts/provider-catalog.ts +3 -5
- package/src/usage/pricing.ts +1 -1
- package/src/util/disk-usage.ts +138 -0
- package/src/util/platform.ts +21 -11
- package/src/util/process-liveness.ts +26 -0
- package/src/workspace/hatched-date.ts +86 -0
- package/src/workspace/heartbeat-service.ts +19 -0
- package/src/workspace/migrations/003-seed-device-id.ts +1 -1
- package/src/workspace/migrations/006-services-config.ts +8 -5
- package/src/workspace/migrations/016-extract-feature-flags-to-protected.ts +3 -9
- package/src/workspace/migrations/021-move-signals-to-workspace.ts +4 -10
- package/src/workspace/migrations/022-move-hooks-to-workspace.ts +4 -10
- package/src/workspace/migrations/023-move-config-files-to-workspace.ts +4 -11
- package/src/workspace/migrations/024-move-runtime-files-to-workspace.ts +3 -10
- package/src/workspace/migrations/040-seed-latency-callsite-defaults.ts +3 -2
- package/src/workspace/migrations/050-seed-main-agent-opus-callsite.ts +2 -1
- package/src/workspace/migrations/059-move-pid-to-workspace.ts +3 -8
- package/src/workspace/migrations/061-move-backup-key-to-workspace.ts +3 -8
- package/src/workspace/migrations/065-bump-stale-heartbeat-interval.ts +60 -0
- package/src/workspace/migrations/066-seed-heartbeat-callsite-cost-default.ts +146 -0
- package/src/workspace/migrations/067-release-notes-safe-storage-limits.ts +72 -0
- package/src/workspace/migrations/068-release-notes-local-timezone.ts +65 -0
- package/src/workspace/migrations/AGENTS.md +1 -1
- package/src/workspace/migrations/migrate-to-workspace-volume.ts +4 -10
- package/src/workspace/migrations/registry.ts +8 -0
- package/src/workspace/migrations/utils.ts +21 -0
- package/src/__tests__/conversation-tool-setup-memory-scope.test.ts +0 -167
- package/src/__tests__/host-browser-e2e-cloud.test.ts +0 -443
- package/src/__tests__/host-browser-e2e-self-hosted-capability.test.ts +0 -226
- package/src/__tests__/host-browser-ws-events-e2e.test.ts +0 -427
- package/src/__tests__/twilio-rest.test.ts +0 -34
- package/src/backup/__tests__/backup-key.test.ts +0 -152
- package/src/backup/__tests__/backup-worker.test.ts +0 -782
- package/src/backup/__tests__/offsite-writer.test.ts +0 -641
- package/src/backup/__tests__/stream-crypt.test.ts +0 -228
- package/src/backup/backup-key.ts +0 -137
- package/src/backup/backup-worker.ts +0 -472
- package/src/backup/offsite-writer.ts +0 -222
- package/src/backup/stream-crypt.ts +0 -263
- package/src/daemon/message-types/pairing.ts +0 -58
- package/src/memory/v2/__tests__/skill-qdrant.test.ts +0 -657
- package/src/memory/v2/skill-qdrant.ts +0 -395
- package/src/outbound-proxy/config.ts +0 -20
- package/src/outbound-proxy/health.ts +0 -18
- package/src/outbound-proxy/types.ts +0 -150
- package/src/runtime/capability-tokens.ts +0 -190
- package/src/signals/bash.ts +0 -198
- package/src/signals/mcp-reload.ts +0 -18
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.7.
|
|
6
|
+
version: 0.7.3
|
|
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
|
|
@@ -2886,21 +2886,6 @@ paths:
|
|
|
2886
2886
|
- assistantMetadata
|
|
2887
2887
|
additionalProperties: false
|
|
2888
2888
|
/v1/contacts/{id}:
|
|
2889
|
-
delete:
|
|
2890
|
-
operationId: contacts_by_id_delete
|
|
2891
|
-
summary: Delete a contact
|
|
2892
|
-
description: Delete a contact by ID.
|
|
2893
|
-
tags:
|
|
2894
|
-
- contacts
|
|
2895
|
-
responses:
|
|
2896
|
-
"204":
|
|
2897
|
-
description: Successful response
|
|
2898
|
-
parameters:
|
|
2899
|
-
- name: id
|
|
2900
|
-
in: path
|
|
2901
|
-
required: true
|
|
2902
|
-
schema:
|
|
2903
|
-
type: string
|
|
2904
2889
|
get:
|
|
2905
2890
|
operationId: contacts_by_id_get
|
|
2906
2891
|
summary: Get a contact
|
|
@@ -3206,6 +3191,68 @@ paths:
|
|
|
3206
3191
|
- keepId
|
|
3207
3192
|
- mergeId
|
|
3208
3193
|
additionalProperties: false
|
|
3194
|
+
/v1/contacts/prompt:
|
|
3195
|
+
post:
|
|
3196
|
+
operationId: contacts_prompt_post
|
|
3197
|
+
summary: Prompt user to register a contact channel
|
|
3198
|
+
description:
|
|
3199
|
+
Broadcasts a contact_request to connected clients, waits for the user to submit an address via the gateway.
|
|
3200
|
+
The gateway owns the contact write and notifies the daemon via resolve_contact_prompt IPC.
|
|
3201
|
+
tags:
|
|
3202
|
+
- contacts
|
|
3203
|
+
responses:
|
|
3204
|
+
"200":
|
|
3205
|
+
description: Successful response
|
|
3206
|
+
content:
|
|
3207
|
+
application/json:
|
|
3208
|
+
schema:
|
|
3209
|
+
type: object
|
|
3210
|
+
properties:
|
|
3211
|
+
ok:
|
|
3212
|
+
type: boolean
|
|
3213
|
+
error:
|
|
3214
|
+
type: string
|
|
3215
|
+
contactId:
|
|
3216
|
+
type: string
|
|
3217
|
+
channelId:
|
|
3218
|
+
type: string
|
|
3219
|
+
channelType:
|
|
3220
|
+
type: string
|
|
3221
|
+
address:
|
|
3222
|
+
type: string
|
|
3223
|
+
required:
|
|
3224
|
+
- ok
|
|
3225
|
+
additionalProperties: false
|
|
3226
|
+
requestBody:
|
|
3227
|
+
required: true
|
|
3228
|
+
content:
|
|
3229
|
+
application/json:
|
|
3230
|
+
schema:
|
|
3231
|
+
type: object
|
|
3232
|
+
properties:
|
|
3233
|
+
channel:
|
|
3234
|
+
description: Suggested channel type hint (e.g. phone, email, telegram). Free text — not enforced.
|
|
3235
|
+
type: string
|
|
3236
|
+
placeholder:
|
|
3237
|
+
description: Placeholder text for the address input field.
|
|
3238
|
+
type: string
|
|
3239
|
+
label:
|
|
3240
|
+
description: Display label shown in the prompt UI.
|
|
3241
|
+
type: string
|
|
3242
|
+
description:
|
|
3243
|
+
description: Longer description for the prompt UI.
|
|
3244
|
+
type: string
|
|
3245
|
+
role:
|
|
3246
|
+
default: unknown
|
|
3247
|
+
description: Intended role of the contact being registered.
|
|
3248
|
+
type: string
|
|
3249
|
+
enum:
|
|
3250
|
+
- guardian
|
|
3251
|
+
- trusted-contact
|
|
3252
|
+
- unknown
|
|
3253
|
+
required:
|
|
3254
|
+
- role
|
|
3255
|
+
additionalProperties: false
|
|
3209
3256
|
/v1/contacts/search:
|
|
3210
3257
|
post:
|
|
3211
3258
|
operationId: contacts_search_post
|
|
@@ -4182,6 +4229,55 @@ paths:
|
|
|
4182
4229
|
- schedules
|
|
4183
4230
|
- timestamp
|
|
4184
4231
|
additionalProperties: false
|
|
4232
|
+
/v1/debug/bash:
|
|
4233
|
+
post:
|
|
4234
|
+
operationId: debug_bash_post
|
|
4235
|
+
summary: Execute a shell command in the assistant process
|
|
4236
|
+
description: Developer debugging tool. Requires the assistant to be running with VELLUM_DEBUG=1.
|
|
4237
|
+
tags:
|
|
4238
|
+
- debug
|
|
4239
|
+
responses:
|
|
4240
|
+
"200":
|
|
4241
|
+
description: Successful response
|
|
4242
|
+
content:
|
|
4243
|
+
application/json:
|
|
4244
|
+
schema:
|
|
4245
|
+
type: object
|
|
4246
|
+
properties:
|
|
4247
|
+
stdout:
|
|
4248
|
+
type: string
|
|
4249
|
+
stderr:
|
|
4250
|
+
type: string
|
|
4251
|
+
exitCode:
|
|
4252
|
+
anyOf:
|
|
4253
|
+
- type: number
|
|
4254
|
+
- type: "null"
|
|
4255
|
+
timedOut:
|
|
4256
|
+
type: boolean
|
|
4257
|
+
error:
|
|
4258
|
+
type: string
|
|
4259
|
+
required:
|
|
4260
|
+
- stdout
|
|
4261
|
+
- stderr
|
|
4262
|
+
- exitCode
|
|
4263
|
+
- timedOut
|
|
4264
|
+
additionalProperties: false
|
|
4265
|
+
requestBody:
|
|
4266
|
+
required: true
|
|
4267
|
+
content:
|
|
4268
|
+
application/json:
|
|
4269
|
+
schema:
|
|
4270
|
+
type: object
|
|
4271
|
+
properties:
|
|
4272
|
+
command:
|
|
4273
|
+
type: string
|
|
4274
|
+
description: Shell command to execute via bash -c
|
|
4275
|
+
timeoutMs:
|
|
4276
|
+
description: "Execution timeout in milliseconds (default: 30000)"
|
|
4277
|
+
type: number
|
|
4278
|
+
required:
|
|
4279
|
+
- command
|
|
4280
|
+
additionalProperties: false
|
|
4185
4281
|
/v1/defer/cancel:
|
|
4186
4282
|
post:
|
|
4187
4283
|
operationId: defer_cancel_post
|
|
@@ -4392,6 +4488,275 @@ paths:
|
|
|
4392
4488
|
- transcription
|
|
4393
4489
|
- context
|
|
4394
4490
|
additionalProperties: false
|
|
4491
|
+
/v1/disk-pressure/acknowledge:
|
|
4492
|
+
post:
|
|
4493
|
+
operationId: diskpressure_acknowledge_post
|
|
4494
|
+
summary: Acknowledge disk pressure
|
|
4495
|
+
description: Acknowledge the current disk pressure lock and enter cleanup mode without overriding assistant protections.
|
|
4496
|
+
tags:
|
|
4497
|
+
- disk-pressure
|
|
4498
|
+
responses:
|
|
4499
|
+
"200":
|
|
4500
|
+
description: Successful response
|
|
4501
|
+
content:
|
|
4502
|
+
application/json:
|
|
4503
|
+
schema:
|
|
4504
|
+
type: object
|
|
4505
|
+
properties:
|
|
4506
|
+
status:
|
|
4507
|
+
type: object
|
|
4508
|
+
properties:
|
|
4509
|
+
enabled:
|
|
4510
|
+
type: boolean
|
|
4511
|
+
state:
|
|
4512
|
+
type: string
|
|
4513
|
+
enum:
|
|
4514
|
+
- disabled
|
|
4515
|
+
- ok
|
|
4516
|
+
- critical
|
|
4517
|
+
- unknown
|
|
4518
|
+
locked:
|
|
4519
|
+
type: boolean
|
|
4520
|
+
acknowledged:
|
|
4521
|
+
type: boolean
|
|
4522
|
+
overrideActive:
|
|
4523
|
+
type: boolean
|
|
4524
|
+
effectivelyLocked:
|
|
4525
|
+
type: boolean
|
|
4526
|
+
lockId:
|
|
4527
|
+
anyOf:
|
|
4528
|
+
- type: string
|
|
4529
|
+
- type: "null"
|
|
4530
|
+
usagePercent:
|
|
4531
|
+
anyOf:
|
|
4532
|
+
- type: number
|
|
4533
|
+
- type: "null"
|
|
4534
|
+
thresholdPercent:
|
|
4535
|
+
type: number
|
|
4536
|
+
path:
|
|
4537
|
+
anyOf:
|
|
4538
|
+
- type: string
|
|
4539
|
+
- type: "null"
|
|
4540
|
+
lastCheckedAt:
|
|
4541
|
+
anyOf:
|
|
4542
|
+
- type: string
|
|
4543
|
+
- type: "null"
|
|
4544
|
+
blockedCapabilities:
|
|
4545
|
+
type: array
|
|
4546
|
+
items:
|
|
4547
|
+
type: string
|
|
4548
|
+
enum:
|
|
4549
|
+
- agent-turns
|
|
4550
|
+
- background-work
|
|
4551
|
+
- remote-ingress
|
|
4552
|
+
error:
|
|
4553
|
+
anyOf:
|
|
4554
|
+
- type: string
|
|
4555
|
+
- type: "null"
|
|
4556
|
+
required:
|
|
4557
|
+
- enabled
|
|
4558
|
+
- state
|
|
4559
|
+
- locked
|
|
4560
|
+
- acknowledged
|
|
4561
|
+
- overrideActive
|
|
4562
|
+
- effectivelyLocked
|
|
4563
|
+
- lockId
|
|
4564
|
+
- usagePercent
|
|
4565
|
+
- thresholdPercent
|
|
4566
|
+
- path
|
|
4567
|
+
- lastCheckedAt
|
|
4568
|
+
- blockedCapabilities
|
|
4569
|
+
- error
|
|
4570
|
+
additionalProperties: false
|
|
4571
|
+
required:
|
|
4572
|
+
- status
|
|
4573
|
+
additionalProperties: false
|
|
4574
|
+
"409":
|
|
4575
|
+
description: No active lock or lock already acknowledged.
|
|
4576
|
+
/v1/disk-pressure/override:
|
|
4577
|
+
post:
|
|
4578
|
+
operationId: diskpressure_override_post
|
|
4579
|
+
summary: Override disk pressure
|
|
4580
|
+
description: Override the current disk pressure lock only after confirming "I understand the risks".
|
|
4581
|
+
tags:
|
|
4582
|
+
- disk-pressure
|
|
4583
|
+
responses:
|
|
4584
|
+
"200":
|
|
4585
|
+
description: Successful response
|
|
4586
|
+
content:
|
|
4587
|
+
application/json:
|
|
4588
|
+
schema:
|
|
4589
|
+
type: object
|
|
4590
|
+
properties:
|
|
4591
|
+
status:
|
|
4592
|
+
type: object
|
|
4593
|
+
properties:
|
|
4594
|
+
enabled:
|
|
4595
|
+
type: boolean
|
|
4596
|
+
state:
|
|
4597
|
+
type: string
|
|
4598
|
+
enum:
|
|
4599
|
+
- disabled
|
|
4600
|
+
- ok
|
|
4601
|
+
- critical
|
|
4602
|
+
- unknown
|
|
4603
|
+
locked:
|
|
4604
|
+
type: boolean
|
|
4605
|
+
acknowledged:
|
|
4606
|
+
type: boolean
|
|
4607
|
+
overrideActive:
|
|
4608
|
+
type: boolean
|
|
4609
|
+
effectivelyLocked:
|
|
4610
|
+
type: boolean
|
|
4611
|
+
lockId:
|
|
4612
|
+
anyOf:
|
|
4613
|
+
- type: string
|
|
4614
|
+
- type: "null"
|
|
4615
|
+
usagePercent:
|
|
4616
|
+
anyOf:
|
|
4617
|
+
- type: number
|
|
4618
|
+
- type: "null"
|
|
4619
|
+
thresholdPercent:
|
|
4620
|
+
type: number
|
|
4621
|
+
path:
|
|
4622
|
+
anyOf:
|
|
4623
|
+
- type: string
|
|
4624
|
+
- type: "null"
|
|
4625
|
+
lastCheckedAt:
|
|
4626
|
+
anyOf:
|
|
4627
|
+
- type: string
|
|
4628
|
+
- type: "null"
|
|
4629
|
+
blockedCapabilities:
|
|
4630
|
+
type: array
|
|
4631
|
+
items:
|
|
4632
|
+
type: string
|
|
4633
|
+
enum:
|
|
4634
|
+
- agent-turns
|
|
4635
|
+
- background-work
|
|
4636
|
+
- remote-ingress
|
|
4637
|
+
error:
|
|
4638
|
+
anyOf:
|
|
4639
|
+
- type: string
|
|
4640
|
+
- type: "null"
|
|
4641
|
+
required:
|
|
4642
|
+
- enabled
|
|
4643
|
+
- state
|
|
4644
|
+
- locked
|
|
4645
|
+
- acknowledged
|
|
4646
|
+
- overrideActive
|
|
4647
|
+
- effectivelyLocked
|
|
4648
|
+
- lockId
|
|
4649
|
+
- usagePercent
|
|
4650
|
+
- thresholdPercent
|
|
4651
|
+
- path
|
|
4652
|
+
- lastCheckedAt
|
|
4653
|
+
- blockedCapabilities
|
|
4654
|
+
- error
|
|
4655
|
+
additionalProperties: false
|
|
4656
|
+
required:
|
|
4657
|
+
- status
|
|
4658
|
+
additionalProperties: false
|
|
4659
|
+
"400":
|
|
4660
|
+
description: Confirmation phrase is invalid.
|
|
4661
|
+
"409":
|
|
4662
|
+
description: No active lock or lock already overridden.
|
|
4663
|
+
requestBody:
|
|
4664
|
+
required: true
|
|
4665
|
+
content:
|
|
4666
|
+
application/json:
|
|
4667
|
+
schema:
|
|
4668
|
+
type: object
|
|
4669
|
+
properties:
|
|
4670
|
+
confirmation:
|
|
4671
|
+
type: string
|
|
4672
|
+
required:
|
|
4673
|
+
- confirmation
|
|
4674
|
+
additionalProperties: false
|
|
4675
|
+
/v1/disk-pressure/status:
|
|
4676
|
+
get:
|
|
4677
|
+
operationId: diskpressure_status_get
|
|
4678
|
+
summary: Get disk pressure status
|
|
4679
|
+
description:
|
|
4680
|
+
Return the current disk pressure status snapshot. When safe storage limits are disabled, returns a disabled
|
|
4681
|
+
status.
|
|
4682
|
+
tags:
|
|
4683
|
+
- disk-pressure
|
|
4684
|
+
responses:
|
|
4685
|
+
"200":
|
|
4686
|
+
description: Successful response
|
|
4687
|
+
content:
|
|
4688
|
+
application/json:
|
|
4689
|
+
schema:
|
|
4690
|
+
type: object
|
|
4691
|
+
properties:
|
|
4692
|
+
status:
|
|
4693
|
+
type: object
|
|
4694
|
+
properties:
|
|
4695
|
+
enabled:
|
|
4696
|
+
type: boolean
|
|
4697
|
+
state:
|
|
4698
|
+
type: string
|
|
4699
|
+
enum:
|
|
4700
|
+
- disabled
|
|
4701
|
+
- ok
|
|
4702
|
+
- critical
|
|
4703
|
+
- unknown
|
|
4704
|
+
locked:
|
|
4705
|
+
type: boolean
|
|
4706
|
+
acknowledged:
|
|
4707
|
+
type: boolean
|
|
4708
|
+
overrideActive:
|
|
4709
|
+
type: boolean
|
|
4710
|
+
effectivelyLocked:
|
|
4711
|
+
type: boolean
|
|
4712
|
+
lockId:
|
|
4713
|
+
anyOf:
|
|
4714
|
+
- type: string
|
|
4715
|
+
- type: "null"
|
|
4716
|
+
usagePercent:
|
|
4717
|
+
anyOf:
|
|
4718
|
+
- type: number
|
|
4719
|
+
- type: "null"
|
|
4720
|
+
thresholdPercent:
|
|
4721
|
+
type: number
|
|
4722
|
+
path:
|
|
4723
|
+
anyOf:
|
|
4724
|
+
- type: string
|
|
4725
|
+
- type: "null"
|
|
4726
|
+
lastCheckedAt:
|
|
4727
|
+
anyOf:
|
|
4728
|
+
- type: string
|
|
4729
|
+
- type: "null"
|
|
4730
|
+
blockedCapabilities:
|
|
4731
|
+
type: array
|
|
4732
|
+
items:
|
|
4733
|
+
type: string
|
|
4734
|
+
enum:
|
|
4735
|
+
- agent-turns
|
|
4736
|
+
- background-work
|
|
4737
|
+
- remote-ingress
|
|
4738
|
+
error:
|
|
4739
|
+
anyOf:
|
|
4740
|
+
- type: string
|
|
4741
|
+
- type: "null"
|
|
4742
|
+
required:
|
|
4743
|
+
- enabled
|
|
4744
|
+
- state
|
|
4745
|
+
- locked
|
|
4746
|
+
- acknowledged
|
|
4747
|
+
- overrideActive
|
|
4748
|
+
- effectivelyLocked
|
|
4749
|
+
- lockId
|
|
4750
|
+
- usagePercent
|
|
4751
|
+
- thresholdPercent
|
|
4752
|
+
- path
|
|
4753
|
+
- lastCheckedAt
|
|
4754
|
+
- blockedCapabilities
|
|
4755
|
+
- error
|
|
4756
|
+
additionalProperties: false
|
|
4757
|
+
required:
|
|
4758
|
+
- status
|
|
4759
|
+
additionalProperties: false
|
|
4395
4760
|
/v1/documents:
|
|
4396
4761
|
get:
|
|
4397
4762
|
operationId: documents_get
|
|
@@ -4520,6 +4885,22 @@ paths:
|
|
|
4520
4885
|
required: true
|
|
4521
4886
|
schema:
|
|
4522
4887
|
type: string
|
|
4888
|
+
/v1/documents/{id}/pdf:
|
|
4889
|
+
get:
|
|
4890
|
+
operationId: documents_by_id_pdf_get
|
|
4891
|
+
summary: Export a document as PDF
|
|
4892
|
+
description: Render a document to PDF and return the binary content.
|
|
4893
|
+
tags:
|
|
4894
|
+
- documents
|
|
4895
|
+
responses:
|
|
4896
|
+
"200":
|
|
4897
|
+
description: Successful response
|
|
4898
|
+
parameters:
|
|
4899
|
+
- name: id
|
|
4900
|
+
in: path
|
|
4901
|
+
required: true
|
|
4902
|
+
schema:
|
|
4903
|
+
type: string
|
|
4523
4904
|
/v1/events:
|
|
4524
4905
|
get:
|
|
4525
4906
|
operationId: events_get
|
|
@@ -4537,6 +4918,32 @@ paths:
|
|
|
4537
4918
|
schema:
|
|
4538
4919
|
type: string
|
|
4539
4920
|
description: Scope to a single conversation
|
|
4921
|
+
/v1/events/emit:
|
|
4922
|
+
post:
|
|
4923
|
+
operationId: events_emit_post
|
|
4924
|
+
summary: Emit an assistant event
|
|
4925
|
+
description:
|
|
4926
|
+
Trigger an in-process assistant event by kind. Used by the gateway after owning a write that the assistant
|
|
4927
|
+
runtime would normally emit.
|
|
4928
|
+
tags:
|
|
4929
|
+
- events
|
|
4930
|
+
responses:
|
|
4931
|
+
"204":
|
|
4932
|
+
description: Successful response
|
|
4933
|
+
requestBody:
|
|
4934
|
+
required: true
|
|
4935
|
+
content:
|
|
4936
|
+
application/json:
|
|
4937
|
+
schema:
|
|
4938
|
+
type: object
|
|
4939
|
+
properties:
|
|
4940
|
+
kind:
|
|
4941
|
+
type: string
|
|
4942
|
+
enum:
|
|
4943
|
+
- contacts_changed
|
|
4944
|
+
required:
|
|
4945
|
+
- kind
|
|
4946
|
+
additionalProperties: false
|
|
4540
4947
|
/v1/export:
|
|
4541
4948
|
post:
|
|
4542
4949
|
operationId: export_post
|
|
@@ -4647,6 +5054,35 @@ paths:
|
|
|
4647
5054
|
- success
|
|
4648
5055
|
- ran
|
|
4649
5056
|
additionalProperties: false
|
|
5057
|
+
/v1/gateway/logs/tail:
|
|
5058
|
+
get:
|
|
5059
|
+
operationId: gateway_logs_tail_get
|
|
5060
|
+
summary: Tail gateway log entries
|
|
5061
|
+
description: Return the last N structured log entries from the gateway log files.
|
|
5062
|
+
tags:
|
|
5063
|
+
- gateway-logs
|
|
5064
|
+
responses:
|
|
5065
|
+
"200":
|
|
5066
|
+
description: Successful response
|
|
5067
|
+
parameters:
|
|
5068
|
+
- name: n
|
|
5069
|
+
in: query
|
|
5070
|
+
required: false
|
|
5071
|
+
schema:
|
|
5072
|
+
type: string
|
|
5073
|
+
description: "Number of lines to return (1–1000, default: 10)"
|
|
5074
|
+
- name: level
|
|
5075
|
+
in: query
|
|
5076
|
+
required: false
|
|
5077
|
+
schema:
|
|
5078
|
+
type: string
|
|
5079
|
+
description: "Minimum pino level name (default: info)"
|
|
5080
|
+
- name: module
|
|
5081
|
+
in: query
|
|
5082
|
+
required: false
|
|
5083
|
+
schema:
|
|
5084
|
+
type: string
|
|
5085
|
+
description: Filter to exact pino module name
|
|
4650
5086
|
/v1/groups:
|
|
4651
5087
|
get:
|
|
4652
5088
|
operationId: groups_get
|
|
@@ -5175,6 +5611,14 @@ paths:
|
|
|
5175
5611
|
anyOf:
|
|
5176
5612
|
- type: number
|
|
5177
5613
|
- type: "null"
|
|
5614
|
+
cronExpression:
|
|
5615
|
+
anyOf:
|
|
5616
|
+
- type: string
|
|
5617
|
+
- type: "null"
|
|
5618
|
+
timezone:
|
|
5619
|
+
anyOf:
|
|
5620
|
+
- type: string
|
|
5621
|
+
- type: "null"
|
|
5178
5622
|
nextRunAt:
|
|
5179
5623
|
anyOf:
|
|
5180
5624
|
- type: number
|
|
@@ -5190,6 +5634,8 @@ paths:
|
|
|
5190
5634
|
- intervalMs
|
|
5191
5635
|
- activeHoursStart
|
|
5192
5636
|
- activeHoursEnd
|
|
5637
|
+
- cronExpression
|
|
5638
|
+
- timezone
|
|
5193
5639
|
- nextRunAt
|
|
5194
5640
|
- lastRunAt
|
|
5195
5641
|
- success
|
|
@@ -5220,6 +5666,14 @@ paths:
|
|
|
5220
5666
|
anyOf:
|
|
5221
5667
|
- type: number
|
|
5222
5668
|
- type: "null"
|
|
5669
|
+
cronExpression:
|
|
5670
|
+
anyOf:
|
|
5671
|
+
- type: string
|
|
5672
|
+
- type: "null"
|
|
5673
|
+
timezone:
|
|
5674
|
+
anyOf:
|
|
5675
|
+
- type: string
|
|
5676
|
+
- type: "null"
|
|
5223
5677
|
nextRunAt:
|
|
5224
5678
|
anyOf:
|
|
5225
5679
|
- type: number
|
|
@@ -5235,6 +5689,8 @@ paths:
|
|
|
5235
5689
|
- intervalMs
|
|
5236
5690
|
- activeHoursStart
|
|
5237
5691
|
- activeHoursEnd
|
|
5692
|
+
- cronExpression
|
|
5693
|
+
- timezone
|
|
5238
5694
|
- nextRunAt
|
|
5239
5695
|
- lastRunAt
|
|
5240
5696
|
- success
|
|
@@ -5247,22 +5703,31 @@ paths:
|
|
|
5247
5703
|
type: object
|
|
5248
5704
|
properties:
|
|
5249
5705
|
enabled:
|
|
5250
|
-
type: boolean
|
|
5251
5706
|
description: Enable or disable heartbeat
|
|
5707
|
+
type: boolean
|
|
5252
5708
|
intervalMs:
|
|
5253
|
-
type: number
|
|
5254
5709
|
description: Heartbeat interval in ms
|
|
5255
|
-
activeHoursStart:
|
|
5256
5710
|
type: number
|
|
5711
|
+
activeHoursStart:
|
|
5257
5712
|
description: Active hours start (0–23)
|
|
5713
|
+
anyOf:
|
|
5714
|
+
- type: number
|
|
5715
|
+
- type: "null"
|
|
5258
5716
|
activeHoursEnd:
|
|
5259
|
-
type: number
|
|
5260
5717
|
description: Active hours end (0–23)
|
|
5261
|
-
|
|
5262
|
-
|
|
5263
|
-
|
|
5264
|
-
|
|
5265
|
-
|
|
5718
|
+
anyOf:
|
|
5719
|
+
- type: number
|
|
5720
|
+
- type: "null"
|
|
5721
|
+
cronExpression:
|
|
5722
|
+
description: Cron expression for heartbeat timing, or null for fixed interval
|
|
5723
|
+
anyOf:
|
|
5724
|
+
- type: string
|
|
5725
|
+
- type: "null"
|
|
5726
|
+
timezone:
|
|
5727
|
+
description: Timezone for cron evaluation
|
|
5728
|
+
anyOf:
|
|
5729
|
+
- type: string
|
|
5730
|
+
- type: "null"
|
|
5266
5731
|
additionalProperties: false
|
|
5267
5732
|
/v1/heartbeat/run-now:
|
|
5268
5733
|
post:
|
|
@@ -5305,7 +5770,53 @@ paths:
|
|
|
5305
5770
|
properties:
|
|
5306
5771
|
runs:
|
|
5307
5772
|
type: array
|
|
5308
|
-
items:
|
|
5773
|
+
items:
|
|
5774
|
+
type: object
|
|
5775
|
+
properties:
|
|
5776
|
+
id:
|
|
5777
|
+
type: string
|
|
5778
|
+
scheduledFor:
|
|
5779
|
+
type: number
|
|
5780
|
+
startedAt:
|
|
5781
|
+
anyOf:
|
|
5782
|
+
- type: number
|
|
5783
|
+
- type: "null"
|
|
5784
|
+
finishedAt:
|
|
5785
|
+
anyOf:
|
|
5786
|
+
- type: number
|
|
5787
|
+
- type: "null"
|
|
5788
|
+
durationMs:
|
|
5789
|
+
anyOf:
|
|
5790
|
+
- type: number
|
|
5791
|
+
- type: "null"
|
|
5792
|
+
status:
|
|
5793
|
+
type: string
|
|
5794
|
+
skipReason:
|
|
5795
|
+
anyOf:
|
|
5796
|
+
- type: string
|
|
5797
|
+
- type: "null"
|
|
5798
|
+
error:
|
|
5799
|
+
anyOf:
|
|
5800
|
+
- type: string
|
|
5801
|
+
- type: "null"
|
|
5802
|
+
conversationId:
|
|
5803
|
+
anyOf:
|
|
5804
|
+
- type: string
|
|
5805
|
+
- type: "null"
|
|
5806
|
+
createdAt:
|
|
5807
|
+
type: number
|
|
5808
|
+
required:
|
|
5809
|
+
- id
|
|
5810
|
+
- scheduledFor
|
|
5811
|
+
- startedAt
|
|
5812
|
+
- finishedAt
|
|
5813
|
+
- durationMs
|
|
5814
|
+
- status
|
|
5815
|
+
- skipReason
|
|
5816
|
+
- error
|
|
5817
|
+
- conversationId
|
|
5818
|
+
- createdAt
|
|
5819
|
+
additionalProperties: false
|
|
5309
5820
|
description: Heartbeat run records
|
|
5310
5821
|
required:
|
|
5311
5822
|
- runs
|
|
@@ -5811,11 +6322,129 @@ paths:
|
|
|
5811
6322
|
additionalProperties: false
|
|
5812
6323
|
"500":
|
|
5813
6324
|
description: Failed to compute relationship state
|
|
6325
|
+
/v1/host-app-control-result:
|
|
6326
|
+
post:
|
|
6327
|
+
operationId: hostappcontrolresult_post
|
|
6328
|
+
summary: Submit host app-control result
|
|
6329
|
+
description:
|
|
6330
|
+
Resolve a pending host app-control request by requestId. Returns 200 even when no pending interaction
|
|
6331
|
+
matches (late delivery is tolerated).
|
|
6332
|
+
tags:
|
|
6333
|
+
- host
|
|
6334
|
+
responses:
|
|
6335
|
+
"200":
|
|
6336
|
+
description: Successful response
|
|
6337
|
+
content:
|
|
6338
|
+
application/json:
|
|
6339
|
+
schema:
|
|
6340
|
+
type: object
|
|
6341
|
+
properties:
|
|
6342
|
+
accepted:
|
|
6343
|
+
type: boolean
|
|
6344
|
+
required:
|
|
6345
|
+
- accepted
|
|
6346
|
+
additionalProperties: false
|
|
6347
|
+
requestBody:
|
|
6348
|
+
required: true
|
|
6349
|
+
content:
|
|
6350
|
+
application/json:
|
|
6351
|
+
schema:
|
|
6352
|
+
type: object
|
|
6353
|
+
properties:
|
|
6354
|
+
requestId:
|
|
6355
|
+
type: string
|
|
6356
|
+
description: Pending app-control request ID
|
|
6357
|
+
state:
|
|
6358
|
+
type: string
|
|
6359
|
+
enum:
|
|
6360
|
+
- running
|
|
6361
|
+
- missing
|
|
6362
|
+
- minimized
|
|
6363
|
+
description: Lifecycle state of the targeted application
|
|
6364
|
+
pngBase64:
|
|
6365
|
+
type: string
|
|
6366
|
+
description: Base64 PNG screenshot of the targeted app window
|
|
6367
|
+
windowBounds:
|
|
6368
|
+
type: object
|
|
6369
|
+
properties:
|
|
6370
|
+
x:
|
|
6371
|
+
type: number
|
|
6372
|
+
y:
|
|
6373
|
+
type: number
|
|
6374
|
+
width:
|
|
6375
|
+
type: number
|
|
6376
|
+
height:
|
|
6377
|
+
type: number
|
|
6378
|
+
required:
|
|
6379
|
+
- x
|
|
6380
|
+
- y
|
|
6381
|
+
- width
|
|
6382
|
+
- height
|
|
6383
|
+
additionalProperties: false
|
|
6384
|
+
executionResult:
|
|
6385
|
+
type: string
|
|
6386
|
+
executionError:
|
|
6387
|
+
type: string
|
|
6388
|
+
required:
|
|
6389
|
+
- requestId
|
|
6390
|
+
- state
|
|
6391
|
+
additionalProperties: false
|
|
5814
6392
|
/v1/host-bash-result:
|
|
5815
6393
|
post:
|
|
5816
|
-
operationId: hostbashresult_post
|
|
5817
|
-
summary: Submit host bash result
|
|
5818
|
-
description: Resolve a pending host bash request by requestId.
|
|
6394
|
+
operationId: hostbashresult_post
|
|
6395
|
+
summary: Submit host bash result
|
|
6396
|
+
description: Resolve a pending host bash request by requestId.
|
|
6397
|
+
tags:
|
|
6398
|
+
- host
|
|
6399
|
+
responses:
|
|
6400
|
+
"200":
|
|
6401
|
+
description: Successful response
|
|
6402
|
+
content:
|
|
6403
|
+
application/json:
|
|
6404
|
+
schema:
|
|
6405
|
+
type: object
|
|
6406
|
+
properties:
|
|
6407
|
+
accepted:
|
|
6408
|
+
type: boolean
|
|
6409
|
+
required:
|
|
6410
|
+
- accepted
|
|
6411
|
+
additionalProperties: false
|
|
6412
|
+
"400":
|
|
6413
|
+
description: x-vellum-client-id header is missing for a targeted host bash request.
|
|
6414
|
+
"403":
|
|
6415
|
+
description:
|
|
6416
|
+
Submitting client does not match the targeted client, or the submitting actor's principal does not match
|
|
6417
|
+
the target client's actor.
|
|
6418
|
+
"404":
|
|
6419
|
+
description: No pending interaction found for the given requestId.
|
|
6420
|
+
"409":
|
|
6421
|
+
description: Pending interaction exists but is of a different kind (e.g. host_file, host_cu).
|
|
6422
|
+
requestBody:
|
|
6423
|
+
required: true
|
|
6424
|
+
content:
|
|
6425
|
+
application/json:
|
|
6426
|
+
schema:
|
|
6427
|
+
type: object
|
|
6428
|
+
properties:
|
|
6429
|
+
requestId:
|
|
6430
|
+
type: string
|
|
6431
|
+
description: Pending bash request ID
|
|
6432
|
+
stdout:
|
|
6433
|
+
type: string
|
|
6434
|
+
stderr:
|
|
6435
|
+
type: string
|
|
6436
|
+
exitCode:
|
|
6437
|
+
type: number
|
|
6438
|
+
timedOut:
|
|
6439
|
+
type: boolean
|
|
6440
|
+
required:
|
|
6441
|
+
- requestId
|
|
6442
|
+
additionalProperties: false
|
|
6443
|
+
/v1/host-browser-event:
|
|
6444
|
+
post:
|
|
6445
|
+
operationId: hostbrowserevent_post
|
|
6446
|
+
summary: Forward a CDP event from the browser extension
|
|
6447
|
+
description: Publishes a chrome.debugger.onEvent firing into the runtime-side browser-session event bus.
|
|
5819
6448
|
tags:
|
|
5820
6449
|
- host
|
|
5821
6450
|
responses:
|
|
@@ -5838,19 +6467,16 @@ paths:
|
|
|
5838
6467
|
schema:
|
|
5839
6468
|
type: object
|
|
5840
6469
|
properties:
|
|
5841
|
-
|
|
5842
|
-
type: string
|
|
5843
|
-
description: Pending bash request ID
|
|
5844
|
-
stdout:
|
|
6470
|
+
method:
|
|
5845
6471
|
type: string
|
|
5846
|
-
|
|
6472
|
+
description: CDP event method name
|
|
6473
|
+
params:
|
|
6474
|
+
description: CDP event parameters
|
|
6475
|
+
cdpSessionId:
|
|
6476
|
+
description: CDP session ID (if target-scoped)
|
|
5847
6477
|
type: string
|
|
5848
|
-
exitCode:
|
|
5849
|
-
type: number
|
|
5850
|
-
timedOut:
|
|
5851
|
-
type: boolean
|
|
5852
6478
|
required:
|
|
5853
|
-
-
|
|
6479
|
+
- method
|
|
5854
6480
|
additionalProperties: false
|
|
5855
6481
|
/v1/host-browser-result:
|
|
5856
6482
|
post:
|
|
@@ -5889,6 +6515,40 @@ paths:
|
|
|
5889
6515
|
required:
|
|
5890
6516
|
- requestId
|
|
5891
6517
|
additionalProperties: false
|
|
6518
|
+
/v1/host-browser-session-invalidated:
|
|
6519
|
+
post:
|
|
6520
|
+
operationId: hostbrowsersessioninvalidated_post
|
|
6521
|
+
summary: Notify runtime that a CDP session was invalidated
|
|
6522
|
+
description: Marks the target as invalidated in the runtime-side browser session registry.
|
|
6523
|
+
tags:
|
|
6524
|
+
- host
|
|
6525
|
+
responses:
|
|
6526
|
+
"200":
|
|
6527
|
+
description: Successful response
|
|
6528
|
+
content:
|
|
6529
|
+
application/json:
|
|
6530
|
+
schema:
|
|
6531
|
+
type: object
|
|
6532
|
+
properties:
|
|
6533
|
+
accepted:
|
|
6534
|
+
type: boolean
|
|
6535
|
+
required:
|
|
6536
|
+
- accepted
|
|
6537
|
+
additionalProperties: false
|
|
6538
|
+
requestBody:
|
|
6539
|
+
required: true
|
|
6540
|
+
content:
|
|
6541
|
+
application/json:
|
|
6542
|
+
schema:
|
|
6543
|
+
type: object
|
|
6544
|
+
properties:
|
|
6545
|
+
targetId:
|
|
6546
|
+
description: CDP target that was detached
|
|
6547
|
+
type: string
|
|
6548
|
+
reason:
|
|
6549
|
+
description: Detach reason
|
|
6550
|
+
type: string
|
|
6551
|
+
additionalProperties: false
|
|
5892
6552
|
/v1/host-cu-result:
|
|
5893
6553
|
post:
|
|
5894
6554
|
operationId: hostcuresult_post
|
|
@@ -5909,6 +6569,16 @@ paths:
|
|
|
5909
6569
|
required:
|
|
5910
6570
|
- accepted
|
|
5911
6571
|
additionalProperties: false
|
|
6572
|
+
"400":
|
|
6573
|
+
description: x-vellum-client-id header is missing for a targeted host CU request.
|
|
6574
|
+
"403":
|
|
6575
|
+
description:
|
|
6576
|
+
Submitting client does not match the targeted client, or the submitting actor's principal does not match
|
|
6577
|
+
the target client's actor.
|
|
6578
|
+
"404":
|
|
6579
|
+
description: No pending interaction found for the given requestId, or the conversation/proxy no longer exists.
|
|
6580
|
+
"409":
|
|
6581
|
+
description: Pending interaction exists but is of a different kind (e.g. host_bash, host_file).
|
|
5912
6582
|
requestBody:
|
|
5913
6583
|
required: true
|
|
5914
6584
|
content:
|
|
@@ -5967,6 +6637,16 @@ paths:
|
|
|
5967
6637
|
required:
|
|
5968
6638
|
- accepted
|
|
5969
6639
|
additionalProperties: false
|
|
6640
|
+
"400":
|
|
6641
|
+
description: x-vellum-client-id header is missing for a targeted host file request.
|
|
6642
|
+
"403":
|
|
6643
|
+
description:
|
|
6644
|
+
Submitting client does not match the targeted client, or the submitting actor's principal does not match
|
|
6645
|
+
the target client's actor.
|
|
6646
|
+
"404":
|
|
6647
|
+
description: No pending interaction found for the given requestId.
|
|
6648
|
+
"409":
|
|
6649
|
+
description: Pending interaction exists but is of a different kind (e.g. host_bash, host_cu).
|
|
5970
6650
|
requestBody:
|
|
5971
6651
|
required: true
|
|
5972
6652
|
content:
|
|
@@ -6009,6 +6689,12 @@ paths:
|
|
|
6009
6689
|
required:
|
|
6010
6690
|
- accepted
|
|
6011
6691
|
additionalProperties: false
|
|
6692
|
+
"400":
|
|
6693
|
+
description: x-vellum-client-id header is missing for a targeted host transfer request.
|
|
6694
|
+
"403":
|
|
6695
|
+
description:
|
|
6696
|
+
Submitting client does not match the targeted client, or the submitting actor's principal does not match
|
|
6697
|
+
the target client's actor.
|
|
6012
6698
|
requestBody:
|
|
6013
6699
|
required: true
|
|
6014
6700
|
content:
|
|
@@ -6070,7 +6756,9 @@ paths:
|
|
|
6070
6756
|
get:
|
|
6071
6757
|
operationId: identity_intro_get
|
|
6072
6758
|
summary: Get identity intro text
|
|
6073
|
-
description:
|
|
6759
|
+
description:
|
|
6760
|
+
Returns a deterministic greeting derived from the assistant name in IDENTITY.md, falling back to
|
|
6761
|
+
LLM-generated cache.
|
|
6074
6762
|
tags:
|
|
6075
6763
|
- identity
|
|
6076
6764
|
responses:
|
|
@@ -6355,6 +7043,56 @@ paths:
|
|
|
6355
7043
|
required: true
|
|
6356
7044
|
schema:
|
|
6357
7045
|
type: string
|
|
7046
|
+
/v1/internal/mcp/auth/start:
|
|
7047
|
+
post:
|
|
7048
|
+
operationId: internal_mcp_auth_start_post
|
|
7049
|
+
summary: Start MCP OAuth flow
|
|
7050
|
+
description: Starts a daemon-owned MCP OAuth flow and returns the authorization URL for the CLI to open in the browser.
|
|
7051
|
+
tags:
|
|
7052
|
+
- internal
|
|
7053
|
+
responses:
|
|
7054
|
+
"200":
|
|
7055
|
+
description: Successful response
|
|
7056
|
+
requestBody:
|
|
7057
|
+
required: true
|
|
7058
|
+
content:
|
|
7059
|
+
application/json:
|
|
7060
|
+
schema:
|
|
7061
|
+
type: object
|
|
7062
|
+
properties:
|
|
7063
|
+
serverId:
|
|
7064
|
+
type: string
|
|
7065
|
+
required:
|
|
7066
|
+
- serverId
|
|
7067
|
+
additionalProperties: false
|
|
7068
|
+
/v1/internal/mcp/auth/status/{serverId}:
|
|
7069
|
+
get:
|
|
7070
|
+
operationId: internal_mcp_auth_status_by_serverId_get
|
|
7071
|
+
summary: Poll MCP OAuth flow status
|
|
7072
|
+
description: Returns the current status of an in-flight MCP OAuth flow (pending/complete/error).
|
|
7073
|
+
tags:
|
|
7074
|
+
- internal
|
|
7075
|
+
responses:
|
|
7076
|
+
"200":
|
|
7077
|
+
description: Successful response
|
|
7078
|
+
"404":
|
|
7079
|
+
description: No active OAuth flow for the given serverId
|
|
7080
|
+
parameters:
|
|
7081
|
+
- name: serverId
|
|
7082
|
+
in: path
|
|
7083
|
+
required: true
|
|
7084
|
+
schema:
|
|
7085
|
+
type: string
|
|
7086
|
+
/v1/internal/mcp/reload:
|
|
7087
|
+
post:
|
|
7088
|
+
operationId: internal_mcp_reload_post
|
|
7089
|
+
summary: Trigger MCP server reload
|
|
7090
|
+
description: Kicks off reloadMcpServers() async on the daemon. Returns immediately.
|
|
7091
|
+
tags:
|
|
7092
|
+
- internal
|
|
7093
|
+
responses:
|
|
7094
|
+
"200":
|
|
7095
|
+
description: Successful response
|
|
6358
7096
|
/v1/internal/oauth/callback:
|
|
6359
7097
|
post:
|
|
6360
7098
|
operationId: internal_oauth_callback_post
|
|
@@ -6383,6 +7121,61 @@ paths:
|
|
|
6383
7121
|
required:
|
|
6384
7122
|
- state
|
|
6385
7123
|
additionalProperties: false
|
|
7124
|
+
/v1/internal/oauth/connect/start:
|
|
7125
|
+
post:
|
|
7126
|
+
operationId: internal_oauth_connect_start_post
|
|
7127
|
+
summary: Start daemon-owned OAuth connect flow
|
|
7128
|
+
description: Starts an OAuth connect flow in the daemon and returns the authorization URL for the CLI to open in the browser.
|
|
7129
|
+
tags:
|
|
7130
|
+
- internal
|
|
7131
|
+
responses:
|
|
7132
|
+
"200":
|
|
7133
|
+
description: Successful response
|
|
7134
|
+
requestBody:
|
|
7135
|
+
required: true
|
|
7136
|
+
content:
|
|
7137
|
+
application/json:
|
|
7138
|
+
schema:
|
|
7139
|
+
type: object
|
|
7140
|
+
properties:
|
|
7141
|
+
service:
|
|
7142
|
+
type: string
|
|
7143
|
+
clientId:
|
|
7144
|
+
type: string
|
|
7145
|
+
clientSecret:
|
|
7146
|
+
type: string
|
|
7147
|
+
callbackTransport:
|
|
7148
|
+
type: string
|
|
7149
|
+
enum:
|
|
7150
|
+
- loopback
|
|
7151
|
+
- gateway
|
|
7152
|
+
requestedScopes:
|
|
7153
|
+
type: array
|
|
7154
|
+
items:
|
|
7155
|
+
type: string
|
|
7156
|
+
required:
|
|
7157
|
+
- service
|
|
7158
|
+
- clientId
|
|
7159
|
+
- callbackTransport
|
|
7160
|
+
additionalProperties: false
|
|
7161
|
+
/v1/internal/oauth/connect/status/{state}:
|
|
7162
|
+
get:
|
|
7163
|
+
operationId: internal_oauth_connect_status_by_state_get
|
|
7164
|
+
summary: Poll daemon OAuth connect flow status
|
|
7165
|
+
description: Returns the current status of an in-flight daemon-owned OAuth connect flow (pending/complete/error).
|
|
7166
|
+
tags:
|
|
7167
|
+
- internal
|
|
7168
|
+
responses:
|
|
7169
|
+
"200":
|
|
7170
|
+
description: Successful response
|
|
7171
|
+
"404":
|
|
7172
|
+
description: No active OAuth connect flow for the given state token
|
|
7173
|
+
parameters:
|
|
7174
|
+
- name: state
|
|
7175
|
+
in: path
|
|
7176
|
+
required: true
|
|
7177
|
+
schema:
|
|
7178
|
+
type: string
|
|
6386
7179
|
/v1/internal/twilio/connect-action:
|
|
6387
7180
|
post:
|
|
6388
7181
|
operationId: internal_twilio_connectaction_post
|
|
@@ -6717,6 +7510,153 @@ paths:
|
|
|
6717
7510
|
required:
|
|
6718
7511
|
- op
|
|
6719
7512
|
additionalProperties: false
|
|
7513
|
+
/v1/memory/v2/concept-frequency:
|
|
7514
|
+
post:
|
|
7515
|
+
operationId: memory_v2_conceptfrequency_post
|
|
7516
|
+
summary: Aggregate per-concept injection frequency from activation logs
|
|
7517
|
+
description:
|
|
7518
|
+
"Debug-only. Aggregates the existing memory_v2_activation_logs table by (slug, status) and cross-references
|
|
7519
|
+
on-disk concept pages so an operator can see which concepts get injected often, which get scored but rejected,
|
|
7520
|
+
and which on-disk pages never even surface as candidates. Optional filters: conversationId narrows to a single
|
|
7521
|
+
conversation; sinceMs restricts to logs created at-or-after the given epoch ms timestamp."
|
|
7522
|
+
tags:
|
|
7523
|
+
- memory
|
|
7524
|
+
responses:
|
|
7525
|
+
"200":
|
|
7526
|
+
description: Successful response
|
|
7527
|
+
requestBody:
|
|
7528
|
+
required: true
|
|
7529
|
+
content:
|
|
7530
|
+
application/json:
|
|
7531
|
+
schema:
|
|
7532
|
+
type: object
|
|
7533
|
+
properties:
|
|
7534
|
+
conversationId:
|
|
7535
|
+
type: string
|
|
7536
|
+
minLength: 1
|
|
7537
|
+
sinceMs:
|
|
7538
|
+
type: integer
|
|
7539
|
+
minimum: 0
|
|
7540
|
+
maximum: 9007199254740991
|
|
7541
|
+
additionalProperties: false
|
|
7542
|
+
/v1/memory/v2/concept-page:
|
|
7543
|
+
post:
|
|
7544
|
+
operationId: memory_v2_conceptpage_post
|
|
7545
|
+
summary: Read a single memory v2 concept page
|
|
7546
|
+
description:
|
|
7547
|
+
Returns the rendered (frontmatter + body) markdown for a slug. 404 when the slug has no on-disk page — the
|
|
7548
|
+
activation log inspector uses this to show what got injected.
|
|
7549
|
+
tags:
|
|
7550
|
+
- memory
|
|
7551
|
+
responses:
|
|
7552
|
+
"200":
|
|
7553
|
+
description: Successful response
|
|
7554
|
+
requestBody:
|
|
7555
|
+
required: true
|
|
7556
|
+
content:
|
|
7557
|
+
application/json:
|
|
7558
|
+
schema:
|
|
7559
|
+
type: object
|
|
7560
|
+
properties:
|
|
7561
|
+
slug:
|
|
7562
|
+
type: string
|
|
7563
|
+
minLength: 1
|
|
7564
|
+
required:
|
|
7565
|
+
- slug
|
|
7566
|
+
additionalProperties: false
|
|
7567
|
+
/v1/memory/v2/explain-similarity:
|
|
7568
|
+
post:
|
|
7569
|
+
operationId: memory_v2_explainsimilarity_post
|
|
7570
|
+
summary: Diagnose dense vs sparse similarity score distributions
|
|
7571
|
+
description:
|
|
7572
|
+
Read-only diagnostic. Embeds the supplied text(s), runs hybrid dense + sparse queries against the
|
|
7573
|
+
concept-page collection, and returns per-slug raw dense, raw sparse, normalized sparse, and fused scores plus
|
|
7574
|
+
per-channel summary stats. Used to investigate score-compression at the head of the activation distribution.
|
|
7575
|
+
tags:
|
|
7576
|
+
- memory
|
|
7577
|
+
responses:
|
|
7578
|
+
"200":
|
|
7579
|
+
description: Successful response
|
|
7580
|
+
requestBody:
|
|
7581
|
+
required: true
|
|
7582
|
+
content:
|
|
7583
|
+
application/json:
|
|
7584
|
+
schema:
|
|
7585
|
+
type: object
|
|
7586
|
+
properties:
|
|
7587
|
+
userText:
|
|
7588
|
+
type: string
|
|
7589
|
+
minLength: 1
|
|
7590
|
+
assistantText:
|
|
7591
|
+
type: string
|
|
7592
|
+
nowText:
|
|
7593
|
+
type: string
|
|
7594
|
+
top:
|
|
7595
|
+
default: 25
|
|
7596
|
+
type: integer
|
|
7597
|
+
minimum: 1
|
|
7598
|
+
maximum: 9007199254740991
|
|
7599
|
+
required:
|
|
7600
|
+
- userText
|
|
7601
|
+
- top
|
|
7602
|
+
additionalProperties: false
|
|
7603
|
+
/v1/memory/v2/fit-anisotropy:
|
|
7604
|
+
post:
|
|
7605
|
+
operationId: memory_v2_fitanisotropy_post
|
|
7606
|
+
summary: Fit the embedding anisotropy correction for memory v2
|
|
7607
|
+
description:
|
|
7608
|
+
Samples stored dense vectors from the concept-page Qdrant collection, fits a corpus mean + top-k principal
|
|
7609
|
+
components (Mu & Viswanath 'all-but-the-top'), and persists the calibration so subsequent embeds and queries
|
|
7610
|
+
apply the correction. Run `assistant memory v2 reembed` after fitting so stored vectors are written under the
|
|
7611
|
+
new calibration — until then, queries (corrected) and stored vectors (uncorrected) live in different spaces.
|
|
7612
|
+
tags:
|
|
7613
|
+
- memory
|
|
7614
|
+
responses:
|
|
7615
|
+
"200":
|
|
7616
|
+
description: Successful response
|
|
7617
|
+
requestBody:
|
|
7618
|
+
required: true
|
|
7619
|
+
content:
|
|
7620
|
+
application/json:
|
|
7621
|
+
schema:
|
|
7622
|
+
type: object
|
|
7623
|
+
properties:
|
|
7624
|
+
k:
|
|
7625
|
+
default: 1
|
|
7626
|
+
type: integer
|
|
7627
|
+
minimum: 1
|
|
7628
|
+
maximum: 16
|
|
7629
|
+
sample:
|
|
7630
|
+
default: 5000
|
|
7631
|
+
type: integer
|
|
7632
|
+
minimum: 1
|
|
7633
|
+
maximum: 100000
|
|
7634
|
+
required:
|
|
7635
|
+
- k
|
|
7636
|
+
- sample
|
|
7637
|
+
additionalProperties: false
|
|
7638
|
+
/v1/memory/v2/rebuild-corpus-stats:
|
|
7639
|
+
post:
|
|
7640
|
+
operationId: memory_v2_rebuildcorpusstats_post
|
|
7641
|
+
summary: Rebuild the BM25 corpus statistics for memory v2
|
|
7642
|
+
description:
|
|
7643
|
+
Walks every concept page on disk, recomputes the document-frequency table and average document length used
|
|
7644
|
+
by the BM25 sparse channel, and atomically swaps the in-memory stats. Run after bulk content imports or to
|
|
7645
|
+
recover from a rebuild that errored at startup. Does not reembed individual page sparse vectors — pair with
|
|
7646
|
+
`assistant memory v2 reembed` when document-side weights need refreshing.
|
|
7647
|
+
tags:
|
|
7648
|
+
- memory
|
|
7649
|
+
responses:
|
|
7650
|
+
"200":
|
|
7651
|
+
description: Successful response
|
|
7652
|
+
requestBody:
|
|
7653
|
+
required: true
|
|
7654
|
+
content:
|
|
7655
|
+
application/json:
|
|
7656
|
+
schema:
|
|
7657
|
+
type: object
|
|
7658
|
+
properties: {}
|
|
7659
|
+
additionalProperties: false
|
|
6720
7660
|
/v1/memory/v2/reembed-skills:
|
|
6721
7661
|
post:
|
|
6722
7662
|
operationId: memory_v2_reembedskills_post
|
|
@@ -6821,6 +7761,8 @@ paths:
|
|
|
6821
7761
|
type: string
|
|
6822
7762
|
slashCommand:
|
|
6823
7763
|
type: string
|
|
7764
|
+
clientTimezone:
|
|
7765
|
+
type: string
|
|
6824
7766
|
inferenceProfile:
|
|
6825
7767
|
anyOf:
|
|
6826
7768
|
- type: string
|
|
@@ -6874,6 +7816,13 @@ paths:
|
|
|
6874
7816
|
properties:
|
|
6875
7817
|
messageId:
|
|
6876
7818
|
type: string
|
|
7819
|
+
conversationKind:
|
|
7820
|
+
type: string
|
|
7821
|
+
enum:
|
|
7822
|
+
- user
|
|
7823
|
+
- background
|
|
7824
|
+
- background_memory_consolidation
|
|
7825
|
+
- scheduled
|
|
6877
7826
|
logs:
|
|
6878
7827
|
type: array
|
|
6879
7828
|
items: {}
|
|
@@ -6891,6 +7840,7 @@ paths:
|
|
|
6891
7840
|
- type: "null"
|
|
6892
7841
|
required:
|
|
6893
7842
|
- messageId
|
|
7843
|
+
- conversationKind
|
|
6894
7844
|
- logs
|
|
6895
7845
|
- memoryRecall
|
|
6896
7846
|
- memoryV2Activation
|
|
@@ -8243,6 +9193,16 @@ paths:
|
|
|
8243
9193
|
required:
|
|
8244
9194
|
- conversationId
|
|
8245
9195
|
additionalProperties: false
|
|
9196
|
+
/v1/resolve_contact_prompt:
|
|
9197
|
+
post:
|
|
9198
|
+
operationId: resolve_contact_prompt_post
|
|
9199
|
+
summary: "Gateway callback: resolve a pending contact prompt"
|
|
9200
|
+
description: Called by the gateway after it writes the contact and channel. Unblocks the waiting contacts/prompt IPC call.
|
|
9201
|
+
tags:
|
|
9202
|
+
- contacts
|
|
9203
|
+
responses:
|
|
9204
|
+
"200":
|
|
9205
|
+
description: Successful response
|
|
8246
9206
|
/v1/schedules:
|
|
8247
9207
|
get:
|
|
8248
9208
|
operationId: schedules_get
|
|
@@ -8357,6 +9317,12 @@ paths:
|
|
|
8357
9317
|
type: boolean
|
|
8358
9318
|
reuseConversation:
|
|
8359
9319
|
type: boolean
|
|
9320
|
+
maxRetries:
|
|
9321
|
+
type: number
|
|
9322
|
+
description: Maximum retry attempts
|
|
9323
|
+
retryBackoffMs:
|
|
9324
|
+
type: number
|
|
9325
|
+
description: Retry backoff in milliseconds
|
|
8360
9326
|
required:
|
|
8361
9327
|
- name
|
|
8362
9328
|
- expression
|
|
@@ -8367,6 +9333,8 @@ paths:
|
|
|
8367
9333
|
- routingIntent
|
|
8368
9334
|
- quiet
|
|
8369
9335
|
- reuseConversation
|
|
9336
|
+
- maxRetries
|
|
9337
|
+
- retryBackoffMs
|
|
8370
9338
|
additionalProperties: false
|
|
8371
9339
|
/v1/schedules/{id}/cancel:
|
|
8372
9340
|
post:
|
|
@@ -10855,6 +11823,12 @@ paths:
|
|
|
10855
11823
|
responses:
|
|
10856
11824
|
"200":
|
|
10857
11825
|
description: Successful response
|
|
11826
|
+
"400":
|
|
11827
|
+
description: x-vellum-client-id header is missing for a targeted transfer.
|
|
11828
|
+
"403":
|
|
11829
|
+
description:
|
|
11830
|
+
Submitting client does not match the targeted client, or the submitting actor's principal does not match
|
|
11831
|
+
the target client's actor.
|
|
10858
11832
|
parameters:
|
|
10859
11833
|
- name: transferId
|
|
10860
11834
|
in: path
|
|
@@ -10870,6 +11844,12 @@ paths:
|
|
|
10870
11844
|
responses:
|
|
10871
11845
|
"200":
|
|
10872
11846
|
description: Successful response
|
|
11847
|
+
"400":
|
|
11848
|
+
description: x-vellum-client-id header is missing for a targeted transfer.
|
|
11849
|
+
"403":
|
|
11850
|
+
description:
|
|
11851
|
+
Submitting client does not match the targeted client, or the submitting actor's principal does not match
|
|
11852
|
+
the target client's actor.
|
|
10873
11853
|
parameters:
|
|
10874
11854
|
- name: transferId
|
|
10875
11855
|
in: path
|