@vellumai/assistant 0.10.4 → 0.10.5-dev.202607022329.d89bf2f
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 +94 -91
- package/Dockerfile +5 -16
- package/README.md +7 -10
- package/bun.lock +0 -4
- package/docs/architecture/security.md +20 -20
- package/docs/stt-provider-onboarding.md +4 -5
- package/docs/trusted-contact-access.md +7 -7
- package/eslint-rules/cli-no-daemon-internals.js +4 -0
- package/eslint.config.mjs +7 -1
- package/knip.json +0 -1
- package/node_modules/@vellumai/gateway-client/src/__tests__/contact-read-contracts.test.ts +36 -0
- package/node_modules/@vellumai/gateway-client/src/__tests__/invite-contract.test.ts +233 -0
- package/node_modules/@vellumai/gateway-client/src/__tests__/trust-verdict-contract.test.ts +40 -0
- package/node_modules/@vellumai/gateway-client/src/gateway-ipc-contracts.ts +20 -8
- package/node_modules/@vellumai/gateway-client/src/inbound-contract.ts +10 -0
- package/node_modules/@vellumai/gateway-client/src/index.ts +33 -0
- package/node_modules/@vellumai/gateway-client/src/invite-contract.ts +216 -0
- package/node_modules/@vellumai/gateway-client/src/outbound-contract.ts +91 -0
- package/node_modules/@vellumai/gateway-client/src/trust-verdict-contract.ts +39 -3
- package/node_modules/@vellumai/service-contracts/src/__tests__/ingress.test.ts +0 -8
- package/node_modules/@vellumai/service-contracts/src/__tests__/package-boundary.test.ts +1 -5
- package/node_modules/@vellumai/service-contracts/src/twilio-ingress.ts +3 -14
- package/openapi.yaml +1073 -225
- package/package.json +1 -4
- package/scripts/test.sh +35 -13
- package/src/__tests__/access-request-seed-content-blocks.test.ts +60 -4
- package/src/__tests__/acp-session.test.ts +4 -1
- package/src/__tests__/actor-trust-resolver-address-fallback.test.ts +0 -6
- package/src/__tests__/add-message-preassigned-id.test.ts +56 -0
- package/src/__tests__/agent-loop-set-system-prompt.test.ts +139 -0
- package/src/__tests__/app-conversation-ids-backfill.test.ts +3 -0
- package/src/__tests__/app-source-watcher.test.ts +11 -0
- package/src/__tests__/approval-interception-trust-gates.test.ts +148 -3
- package/src/__tests__/assistant-attachments.test.ts +62 -4
- package/src/__tests__/assistant-id-boundary-guard.test.ts +0 -1
- package/src/__tests__/attachments-store-heic-normalize.test.ts +230 -0
- package/src/__tests__/attachments-store.test.ts +3 -0
- package/src/__tests__/background-shell-bash.test.ts +34 -0
- package/src/__tests__/background-shell-host-bash.test.ts +12 -0
- package/src/__tests__/background-tool-registry.test.ts +97 -0
- package/src/__tests__/background-tool-routes.test.ts +72 -1
- package/src/__tests__/background-workers-disk-pressure.test.ts +2 -1
- package/src/__tests__/btw-routes.test.ts +57 -3
- package/src/__tests__/call-controller.test.ts +474 -84
- package/src/__tests__/call-domain.test.ts +48 -1
- package/src/__tests__/call-pointer-messages.test.ts +57 -19
- package/src/__tests__/call-pointer-no-hardcoded-copy.guard.test.ts +2 -6
- package/src/__tests__/call-routes-http.test.ts +15 -14
- package/src/__tests__/call-setup-flow-invite.test.ts +568 -0
- package/src/__tests__/call-setup-flow-midcall-trust.test.ts +231 -0
- package/src/__tests__/call-setup-flow-name-capture.test.ts +754 -0
- package/src/__tests__/call-setup-flow-verification.test.ts +925 -0
- package/src/__tests__/call-setup-flow.test.ts +311 -0
- package/src/__tests__/cancel-resolves-conversation-key.test.ts +0 -1
- package/src/__tests__/channel-guardian.test.ts +4 -7
- package/src/__tests__/channel-readiness-service.test.ts +0 -6
- package/src/__tests__/channel-readiness-slack-remote.test.ts +0 -4
- package/src/__tests__/channel-retry-sweep.test.ts +76 -64
- package/src/__tests__/channel-setup-panel-ack.test.ts +184 -0
- package/src/__tests__/clear-all-lexical.test.ts +90 -0
- package/src/__tests__/compactor-media-strip.test.ts +177 -0
- package/src/__tests__/config-loader-backfill.test.ts +5 -5
- package/src/__tests__/config-schema.test.ts +17 -0
- package/src/__tests__/contact-store-interaction-info.test.ts +27 -70
- package/src/__tests__/contacts-relay-reads.test.ts +188 -23
- package/src/__tests__/contacts-tools.test.ts +42 -1
- package/src/__tests__/contacts-write.test.ts +181 -0
- package/src/__tests__/context-search-conversations-source.test.ts +220 -81
- package/src/__tests__/conversation-agent-loop-disk-pressure.test.ts +1 -0
- package/src/__tests__/conversation-agent-loop-inference-profile.test.ts +1 -0
- package/src/__tests__/conversation-agent-loop-overflow.test.ts +1 -0
- package/src/__tests__/conversation-agent-loop.test.ts +39 -0
- package/src/__tests__/conversation-analysis-routes.test.ts +1 -1
- package/src/__tests__/conversation-app-control-instantiation.test.ts +2 -0
- package/src/__tests__/conversation-clear-safety.test.ts +0 -1
- package/src/__tests__/conversation-crud-enabled-plugins.test.ts +60 -0
- package/src/__tests__/conversation-delete-schedule-cleanup.test.ts +0 -1
- package/src/__tests__/conversation-disk-view.test.ts +1 -0
- package/src/__tests__/conversation-enabledplugins-route.test.ts +184 -0
- package/src/__tests__/conversation-error.test.ts +0 -18
- package/src/__tests__/conversation-fork-crud.test.ts +67 -0
- package/src/__tests__/conversation-history-web-search.test.ts +7 -137
- package/src/__tests__/conversation-initial-prompt.test.ts +110 -0
- package/src/__tests__/conversation-loop-db-lock-resilience.test.ts +191 -0
- package/src/__tests__/conversation-process-callsite.test.ts +37 -0
- package/src/__tests__/conversation-queue.test.ts +149 -0
- package/src/__tests__/conversation-routes-enabled-plugins.test.ts +392 -0
- package/src/__tests__/conversation-routes-guardian-reply.test.ts +84 -0
- package/src/__tests__/conversation-routes-hidden-queue.test.ts +407 -0
- package/src/__tests__/conversation-runtime-assembly.test.ts +36 -16
- package/src/__tests__/conversation-skill-tools.test.ts +73 -0
- package/src/__tests__/conversation-wipe.test.ts +20 -5
- package/src/__tests__/credential-prompt-route.test.ts +69 -0
- package/src/__tests__/credential-security-invariants.test.ts +1 -3
- package/src/__tests__/db-drop-messages-fts.test.ts +115 -0
- package/src/__tests__/deterministic-verification-control-plane.test.ts +1 -62
- package/src/__tests__/edit-propagation.test.ts +56 -2
- package/src/__tests__/empty-state-greeting-cache.test.ts +9 -0
- package/src/__tests__/gateway-only-enforcement.test.ts +15 -110
- package/src/__tests__/guardian-expiry-notifier.test.ts +1 -0
- package/src/__tests__/guardian-question-mode.test.ts +57 -0
- package/src/__tests__/guardian-verification-voice-binding.test.ts +1 -1
- package/src/__tests__/guardian-wait-controller.test.ts +619 -0
- package/src/__tests__/handlers-skills-memory-v2-reseed.test.ts +33 -2
- package/src/__tests__/heic-fixture.ts +55 -0
- package/src/__tests__/helpers/seed-contact-channel.ts +0 -2
- package/src/__tests__/http-conversation-lineage.test.ts +6 -1
- package/src/__tests__/image-conversion.test.ts +170 -0
- package/src/__tests__/inbound-invite-redemption.test.ts +72 -341
- package/src/__tests__/introduction-card-resolver.test.ts +354 -0
- package/src/__tests__/invite-redeemed-ipc.test.ts +97 -0
- package/src/__tests__/invite-routes-http.test.ts +246 -420
- package/src/__tests__/job-handler-registration-guard.test.ts +104 -0
- package/src/__tests__/lexical-index-dual-write.test.ts +426 -0
- package/src/__tests__/lifecycle-memory-v2-seed.test.ts +2 -2
- package/src/__tests__/list-messages-attachments.test.ts +159 -0
- package/src/__tests__/list-messages-background-tool-completion.test.ts +141 -0
- package/src/__tests__/list-messages-queued.test.ts +25 -0
- package/src/__tests__/managed-store.test.ts +129 -1
- package/src/__tests__/media-stream-audio-transcode.test.ts +113 -0
- package/src/__tests__/media-stream-output.test.ts +350 -19
- package/src/__tests__/media-stream-server-integration.test.ts +943 -169
- package/src/__tests__/media-stream-stt-session.test.ts +498 -1
- package/src/__tests__/memory-jobs-worker-lanes.test.ts +2 -2
- package/src/__tests__/model-intents.test.ts +1 -1
- package/src/__tests__/mtime-cache.test.ts +19 -0
- package/src/__tests__/non-member-access-request.test.ts +349 -3
- package/src/__tests__/notification-decision-fallback.test.ts +104 -8
- package/src/__tests__/notification-decision-strategy.test.ts +57 -8
- package/src/__tests__/onboarding-template-contract.test.ts +27 -43
- package/src/__tests__/openai-provider.test.ts +33 -0
- package/src/__tests__/openai-responses-provider.test.ts +40 -0
- package/src/__tests__/persistence-layering-guard.test.ts +29 -20
- package/src/__tests__/persona-resolver.test.ts +56 -2
- package/src/__tests__/personal-memory-auth-bypass.test.ts +62 -0
- package/src/__tests__/phone.test.ts +1 -15
- package/src/__tests__/plugin-bootstrap.test.ts +25 -196
- package/src/__tests__/plugin-disabled-state.test.ts +33 -0
- package/src/__tests__/plugin-effective-enabled-set.test.ts +227 -0
- package/src/__tests__/plugin-event-hub-facade.test.ts +323 -0
- package/src/__tests__/plugin-import-boundary-guard.test.ts +156 -42
- package/src/__tests__/plugin-injector-contribution.test.ts +4 -20
- package/src/__tests__/plugin-pipeline.test.ts +63 -1
- package/src/__tests__/plugin-route-contribution.test.ts +62 -115
- package/src/__tests__/plugin-tool-contribution.test.ts +0 -22
- package/src/__tests__/plugin-types.test.ts +0 -1
- package/src/__tests__/pointer-conversation-trust.test.ts +38 -6
- package/src/__tests__/pre-model-call-sanitize.test.ts +1 -1
- package/src/__tests__/prune-old-tool-invocations-job.test.ts +97 -0
- package/src/__tests__/public-ingress-urls.test.ts +0 -48
- package/src/__tests__/qdrant-collection-migration.test.ts +145 -2
- package/src/__tests__/reaction-intercept-member-verdict-warm.test.ts +0 -1
- package/src/__tests__/resolve-trust-class.test.ts +28 -10
- package/src/__tests__/scaffold-managed-skill-tool.test.ts +137 -0
- package/src/__tests__/schedule-retry.test.ts +38 -14
- package/src/__tests__/schedule-routes-workflow-validation.test.ts +3 -3
- package/src/__tests__/schedule-routes.test.ts +14 -6
- package/src/__tests__/schedule-store.test.ts +3 -1
- package/src/__tests__/scheduler-disk-pressure.test.ts +17 -6
- package/src/__tests__/scheduler-recurrence.test.ts +57 -107
- package/src/__tests__/scheduler-reuse-conversation.test.ts +51 -46
- package/src/__tests__/scheduler-wake.test.ts +13 -23
- package/src/__tests__/scheduler-worker-standdown.test.ts +220 -0
- package/src/__tests__/secret-routes-platform-proxy.test.ts +1 -1
- package/src/__tests__/shell-observability.test.ts +1 -0
- package/src/__tests__/skill-boundary-guard.test.ts +3 -4
- package/src/__tests__/skill-load-plugin-scope.test.ts +238 -0
- package/src/__tests__/skill-projection-feature-flag.test.ts +2 -0
- package/src/__tests__/skill-script-runner-host.test.ts +53 -0
- package/src/__tests__/skill-script-runner-sandbox.test.ts +5 -2
- package/src/__tests__/skill-tool-factory.test.ts +73 -1
- package/src/__tests__/slack-app-setup-skill-regression.test.ts +37 -14
- package/src/__tests__/slack-inbound-verification.test.ts +36 -0
- package/src/__tests__/slack-notification-approval-card.test.ts +89 -2
- package/src/__tests__/slack-reaction-canonical-approval.test.ts +51 -1
- package/src/__tests__/stt-hints.test.ts +2 -256
- package/src/__tests__/subagent-allowlist-validation.test.ts +47 -0
- package/src/__tests__/subagent-call-site-routing.test.ts +72 -0
- package/src/__tests__/subagent-fork-notifications.test.ts +14 -2
- package/src/__tests__/subagent-persistence.test.ts +122 -0
- package/src/__tests__/subagent-spawn-and-await.test.ts +1 -0
- package/src/__tests__/subagent-terminal-message.test.ts +99 -0
- package/src/__tests__/subagent-tool-gate-mode.test.ts +78 -1
- package/src/__tests__/system-prompt.test.ts +17 -118
- package/src/__tests__/task-scheduler.test.ts +68 -89
- package/src/__tests__/telephony-credential-preflight.test.ts +312 -0
- package/src/__tests__/telephony-tts-guard.test.ts +538 -0
- package/src/__tests__/title-generate-hook.test.ts +16 -0
- package/src/__tests__/tool-approval-handler.test.ts +87 -1
- package/src/__tests__/tool-approval-seed-content-blocks.test.ts +45 -20
- package/src/__tests__/tool-grant-request-escalation.test.ts +39 -0
- package/src/__tests__/trust-context-guards.test.ts +21 -10
- package/src/__tests__/trusted-contact-multichannel.test.ts +4 -0
- package/src/__tests__/twilio-provider.test.ts +17 -17
- package/src/__tests__/twilio-routes-twiml.test.ts +6 -543
- package/src/__tests__/twilio-routes.test.ts +257 -387
- package/src/__tests__/twilio-validation.test.ts +1 -1
- package/src/__tests__/unified-turn-context-client-os.test.ts +45 -0
- package/src/__tests__/usage-cache-backfill-migration.test.ts +5 -0
- package/src/__tests__/voice-approval-resolver-relay.test.ts +150 -0
- package/src/__tests__/voice-ingress-preflight.test.ts +61 -0
- package/src/__tests__/voice-quality.test.ts +2 -2
- package/src/__tests__/voice-scoped-grant-consumer.test.ts +1 -7
- package/src/__tests__/voice-session-bridge-processing-wait.test.ts +27 -0
- package/src/__tests__/voice-session-bridge.test.ts +1 -10
- package/src/__tests__/workspace-git-service.test.ts +1 -1
- package/src/__tests__/workspace-migration-013-repair-conversation-disk-view.test.ts +1 -0
- package/src/__tests__/workspace-migration-118-seed-now-md.test.ts +120 -0
- package/src/__tests__/workspace-migration-120-revise-onboarding-threads.test.ts +175 -0
- package/src/__tests__/workspace-migration-121-seed-default-user-guardrails.test.ts +118 -0
- package/src/__tests__/workspace-migration-122-relocate-default-user-boundary.test.ts +119 -0
- package/src/__tests__/workspace-migration-123-swap-quality-profile-to-fable.test.ts +191 -0
- package/src/__tests__/workspace-migration-backfill-installation-id.test.ts +235 -241
- package/src/acp/__tests__/prepare-agent-env.test.ts +0 -97
- package/src/acp/__tests__/session-manager-persistence.test.ts +2 -0
- package/src/acp/__tests__/session-manager-resume.test.ts +8 -0
- package/src/acp/__tests__/session-manager-usage.test.ts +6 -0
- package/src/acp/__tests__/session-manager.test.ts +6 -0
- package/src/acp/agent-process.test.ts +116 -0
- package/src/acp/agent-process.ts +71 -0
- package/src/acp/auto-install.ts +12 -8
- package/src/acp/failure-error.test.ts +109 -0
- package/src/acp/failure-error.ts +111 -0
- package/src/acp/prepare-agent-env.ts +0 -12
- package/src/acp/resolve-agent.test.ts +6 -45
- package/src/acp/resolve-agent.ts +2 -4
- package/src/acp/session-manager.test.ts +312 -0
- package/src/acp/session-manager.ts +102 -46
- package/src/agent/ax-tree-compaction.test.ts +4 -1
- package/src/agent/image-optimize.ts +17 -127
- package/src/agent/loop.ts +45 -192
- package/src/api/events/background-tool-completed.test.ts +51 -0
- package/src/api/events/background-tool-completed.ts +29 -0
- package/src/api/events/background-tool-started.test.ts +36 -0
- package/src/api/events/background-tool-started.ts +28 -0
- package/src/api/events/conversation-error.ts +0 -1
- package/src/api/events/open-panel.ts +33 -0
- package/src/api/events/subagent-status-changed.ts +4 -1
- package/src/api/index.ts +19 -0
- package/src/api/responses/conversation-message.ts +34 -0
- package/src/approvals/guardian-decision-primitive.ts +74 -24
- package/src/approvals/guardian-request-resolvers.ts +450 -122
- package/src/apps/app-store.ts +1 -0
- package/src/apps/shared-app-links-store.ts +1 -0
- package/src/avatar/identity-avatar.ts +3 -7
- package/src/background-wake/wake-intent-hooks.test.ts +1 -1
- package/src/calls/__tests__/fish-audio-client.test.ts +73 -0
- package/src/calls/__tests__/gateway-invite-reader.test.ts +170 -0
- package/src/calls/__tests__/relay-setup-router.test.ts +126 -102
- package/src/calls/call-controller.ts +134 -48
- package/src/calls/call-domain.ts +18 -42
- package/src/calls/call-pointer-messages.ts +51 -67
- package/src/calls/call-setup-flow-types.ts +76 -0
- package/src/calls/call-setup-flow.ts +1743 -0
- package/src/calls/call-speech-output.ts +87 -23
- package/src/calls/call-store.ts +4 -0
- package/src/calls/call-transport.ts +22 -36
- package/src/calls/fish-audio-client.ts +3 -0
- package/src/calls/gateway-invite-reader.ts +98 -0
- package/src/calls/guardian-wait-controller.ts +451 -0
- package/src/calls/media-stream-audio-transcode.ts +82 -2
- package/src/calls/media-stream-output.ts +142 -36
- package/src/calls/media-stream-server.ts +297 -178
- package/src/calls/media-stream-stt-session.ts +393 -50
- package/src/calls/media-turn-detector.ts +4 -6
- package/src/calls/relay-access-wait.ts +3 -4
- package/src/calls/relay-setup-router.ts +22 -43
- package/src/calls/relay-verification.ts +17 -24
- package/src/calls/resolve-call-tts-provider.ts +96 -29
- package/src/calls/stt-hints.ts +24 -87
- package/src/calls/telephony-credential-preflight.ts +159 -0
- package/src/calls/telephony-tts-capability.ts +183 -0
- package/src/calls/tts-call-strategy.ts +18 -20
- package/src/calls/twilio-provider.ts +3 -2
- package/src/calls/twilio-routes.ts +47 -351
- package/src/calls/types.ts +5 -3
- package/src/calls/voice-ingress-preflight.ts +9 -0
- package/src/calls/voice-quality.ts +13 -18
- package/src/calls/voice-session-bridge.ts +25 -35
- package/src/channels/__tests__/types.test.ts +28 -0
- package/src/channels/channel-verification-sessions.ts +7 -2
- package/src/channels/config.ts +0 -42
- package/src/channels/slack-thread-store.ts +12 -0
- package/src/channels/types.ts +23 -0
- package/src/cli/commands/__tests__/conversations-slack.test.ts +1 -1
- package/src/cli/commands/__tests__/schedules.test.ts +83 -34
- package/src/cli/commands/__tests__/status.test.ts +42 -2
- package/src/cli/commands/contacts.ts +2 -2
- package/src/cli/commands/credentials.ts +17 -0
- package/src/cli/commands/monitoring.ts +191 -0
- package/src/cli/commands/schedules-worker.ts +175 -0
- package/src/cli/commands/schedules.ts +169 -43
- package/src/cli/commands/status.ts +12 -1
- package/src/cli/commands/tools.ts +5 -1
- package/src/cli/lib/__tests__/plugin-catalog-cache.test.ts +1 -0
- package/src/cli/lib/__tests__/search-plugins.test.ts +29 -1
- package/src/cli/lib/__tests__/toggle-plugin.test.ts +7 -0
- package/src/cli/lib/search-plugins.ts +6 -0
- package/src/cli/lib/toggle-plugin.ts +21 -2
- package/src/cli/program.ts +3 -1
- package/src/config/__tests__/deployment-context-defaults.test.ts +23 -0
- package/src/config/acp-defaults.test.ts +0 -10
- package/src/config/acp-defaults.ts +0 -6
- package/src/config/bundled-skills/acp/SKILL.md +13 -45
- package/src/config/bundled-skills/acp/TOOLS.json +3 -3
- package/src/config/bundled-skills/app-builder/SKILL.md +3 -3
- package/src/config/bundled-skills/app-builder/references/RESPONSIVE.md +9 -9
- package/src/config/bundled-skills/contacts/tools/contact-merge.ts +1 -1
- package/src/config/bundled-skills/contacts/tools/contact-search.ts +1 -1
- package/src/config/bundled-skills/phone-calls/SKILL.md +1 -1
- package/src/config/bundled-skills/phone-calls/references/CONFIG.md +9 -9
- package/src/config/bundled-skills/phone-calls/references/TROUBLESHOOTING.md +10 -7
- package/src/config/bundled-skills/skill-management/TOOLS.json +10 -0
- package/src/config/call-site-defaults.ts +0 -2
- package/src/config/feature-flag-registry.json +16 -8
- package/src/config/loader.ts +11 -0
- package/src/config/schema.ts +9 -1
- package/src/config/schemas/__tests__/memory-v2.test.ts +2 -2
- package/src/config/schemas/__tests__/memory-v3.test.ts +64 -0
- package/src/config/schemas/call-site-catalog.ts +0 -12
- package/src/config/schemas/calls.ts +8 -0
- package/src/config/schemas/elevenlabs.ts +1 -1
- package/src/config/schemas/llm.ts +0 -2
- package/src/config/schemas/memory-v2.ts +1 -1
- package/src/config/schemas/memory-v3.ts +82 -0
- package/src/config/schemas/monitoring.ts +61 -0
- package/src/config/schemas/schedules.ts +35 -0
- package/src/config/seed-inference-profiles.ts +2 -2
- package/src/config/skills-plugin-filter.test.ts +96 -0
- package/src/config/skills.ts +26 -0
- package/src/contacts/__tests__/member-write-relay.test.ts +156 -4
- package/src/contacts/canonical-guardian-store.ts +5 -0
- package/src/contacts/contact-store.ts +81 -35
- package/src/contacts/contacts-write.ts +50 -25
- package/src/contacts/member-write-relay.ts +115 -31
- package/src/contacts/types.ts +0 -8
- package/src/context/compactor.ts +29 -15
- package/src/context/outbound-sanitize.ts +202 -0
- package/src/daemon/__tests__/abort-null-controller.test.ts +167 -0
- package/src/daemon/__tests__/conversation-tool-setup-plugin-scope.test.ts +122 -0
- package/src/daemon/__tests__/embedding-reconcile.test.ts +99 -16
- package/src/daemon/__tests__/wake-conversation-ops-completion.test.ts +107 -0
- package/src/daemon/abort-watchdog.ts +7 -0
- package/src/daemon/app-source-watcher.ts +9 -0
- package/src/daemon/assistant-attachments.ts +42 -0
- package/src/daemon/conversation-agent-loop-handlers.ts +256 -147
- package/src/daemon/conversation-agent-loop.ts +61 -68
- package/src/daemon/conversation-error.ts +1 -15
- package/src/daemon/conversation-history.ts +32 -236
- package/src/daemon/conversation-initial-prompt.ts +77 -0
- package/src/daemon/conversation-lifecycle.ts +25 -1
- package/src/daemon/conversation-messaging.ts +2 -2
- package/src/daemon/conversation-plugin-scope.ts +38 -0
- package/src/daemon/conversation-process.ts +50 -14
- package/src/daemon/conversation-runtime-assembly.ts +36 -6
- package/src/daemon/conversation-skill-tools.ts +19 -3
- package/src/daemon/conversation-store.ts +3 -3
- package/src/daemon/conversation-surfaces.ts +171 -0
- package/src/daemon/conversation-tool-setup.test.ts +95 -0
- package/src/daemon/conversation-tool-setup.ts +116 -1
- package/src/daemon/conversation-turn-finalize.ts +211 -0
- package/src/daemon/conversation.ts +92 -1
- package/src/daemon/disk-pressure-policy.ts +2 -1
- package/src/daemon/event-loop-watchdog.ts +22 -6
- package/src/daemon/external-plugins-bootstrap.ts +47 -134
- package/src/daemon/handlers/__tests__/config-a2a-accept.test.ts +1 -1
- package/src/daemon/handlers/__tests__/config-a2a-complete.test.ts +26 -14
- package/src/daemon/handlers/__tests__/config-a2a-invite.test.ts +27 -14
- package/src/daemon/handlers/__tests__/config-channels.test.ts +0 -5
- package/src/daemon/handlers/config-a2a.ts +7 -14
- package/src/daemon/handlers/config-channels.ts +2 -10
- package/src/daemon/handlers/conversation-history.ts +3 -1
- package/src/daemon/handlers/conversations.ts +0 -52
- package/src/daemon/handlers/shared.ts +4 -24
- package/src/daemon/handlers/skills.ts +4 -1
- package/src/daemon/host-cu-proxy.ts +1 -1
- package/src/daemon/lifecycle.ts +59 -472
- package/src/daemon/message-protocol.ts +3 -3
- package/src/daemon/message-provenance.ts +12 -14
- package/src/daemon/message-types/background-tools.ts +28 -0
- package/src/daemon/message-types/contacts.ts +2 -10
- package/src/daemon/message-types/conversations.ts +10 -0
- package/src/daemon/message-types/integrations.ts +2 -0
- package/src/daemon/message-types/surfaces.ts +1 -0
- package/src/daemon/message-types/sync.ts +1 -0
- package/src/daemon/pointer-conversation-trust.ts +23 -9
- package/src/daemon/pointer-turn-runner.ts +174 -0
- package/src/daemon/providers-setup.ts +16 -0
- package/src/daemon/shutdown-handlers.ts +139 -47
- package/src/daemon/skill-memory-refresh.ts +2 -2
- package/src/daemon/sqlite-corruption-watchdog.test.ts +217 -0
- package/src/daemon/sqlite-corruption-watchdog.ts +155 -0
- package/src/daemon/tool-setup-types.ts +8 -0
- package/src/daemon/trust-context.ts +21 -6
- package/src/daemon/turn-latency-tracker.test.ts +93 -0
- package/src/daemon/turn-latency-tracker.ts +38 -0
- package/src/daemon/wake-conversation-ops.ts +10 -8
- package/src/documents/document-comments-store.test.ts +7 -1
- package/src/documents/document-comments-store.ts +8 -0
- package/src/documents/document-store.ts +15 -0
- package/src/export/__tests__/transcript-formatter.test.ts +11 -0
- package/src/export/transcript-formatter.ts +49 -67
- package/src/home/__tests__/feed-writer.test.ts +247 -1
- package/src/home/conversation-starter-checkpoints.ts +1 -0
- package/src/home/feed-writer.ts +61 -0
- package/src/home/job-handlers/conversation-starters.ts +1 -0
- package/src/hooks/hook-loader.ts +12 -0
- package/src/hooks/registry.ts +32 -4
- package/src/inbound/public-ingress-urls.ts +0 -17
- package/src/ipc/__tests__/contacts-info-ipc.test.ts +285 -0
- package/src/ipc/assistant-server.ts +28 -7
- package/src/ipc/routes/__tests__/contacts-mirror-apply-atomicity.test.ts +62 -0
- package/src/ipc/routes/__tests__/contacts-mirror-apply.test.ts +272 -0
- package/src/ipc/routes/__tests__/contacts-mirror-ipc-routes.test.ts +322 -0
- package/src/ipc/routes/__tests__/invite-ipc-routes.test.ts +60 -4
- package/src/ipc/routes/contacts-info-ipc-routes.ts +239 -0
- package/src/ipc/routes/contacts-mirror-ipc-routes.ts +202 -0
- package/src/ipc/routes/db-proxy.ts +5 -2
- package/src/ipc/routes/invite-ipc-routes.ts +53 -39
- package/src/jobs/worker.ts +9 -2
- package/src/live-voice/__tests__/live-voice-archive.test.ts +10 -1
- package/src/live-voice/live-voice-archive.ts +5 -0
- package/src/messaging/providers/__tests__/transport-dispatch.test.ts +22 -6
- package/src/messaging/providers/channel-transport.ts +6 -0
- package/src/messaging/providers/index.ts +3 -0
- package/src/messaging/providers/slack/api.test.ts +49 -1
- package/src/messaging/providers/slack/api.ts +110 -0
- package/src/messaging/providers/slack/send.test.ts +85 -0
- package/src/messaging/providers/slack/send.ts +100 -28
- package/src/messaging/providers/slack/transport.ts +7 -13
- package/src/messaging/providers/whatsapp/send.ts +29 -9
- package/src/monitoring/__tests__/control.test.ts +235 -0
- package/src/monitoring/__tests__/sample-ring-buffer.test.ts +96 -0
- package/src/monitoring/control.ts +105 -0
- package/src/monitoring/resource-sampler.ts +258 -0
- package/src/monitoring/sample-ring-buffer.ts +108 -0
- package/src/monitoring/worker.ts +94 -0
- package/src/notifications/README.md +1 -1
- package/src/notifications/access-request-copy.ts +94 -23
- package/src/notifications/adapters/slack.ts +89 -21
- package/src/notifications/approval-card-builder.ts +33 -18
- package/src/notifications/approval-card-data.ts +48 -15
- package/src/notifications/broadcaster.ts +25 -16
- package/src/notifications/decision-engine.ts +131 -32
- package/src/notifications/guardian-question-mode.ts +58 -10
- package/src/permissions/approval-policy.ts +8 -1
- package/src/permissions/checker.ts +2 -0
- package/src/permissions/gateway-threshold-reader.ts +7 -6
- package/src/permissions/ipc-risk-types.ts +1 -0
- package/src/permissions/secret-prompter.ts +11 -3
- package/src/permissions/types.ts +2 -2
- package/src/persistence/__tests__/conversation-queries-search.test.ts +397 -0
- package/src/persistence/__tests__/conversation-search-lexical.test.ts +103 -0
- package/src/persistence/__tests__/jobs-worker-memory-disabled.test.ts +95 -0
- package/src/persistence/__tests__/slow-query-log.test.ts +266 -0
- package/src/persistence/__tests__/slow-sync-log.test.ts +155 -0
- package/src/persistence/a2a-invite-store.ts +205 -0
- package/src/persistence/attachments-store.ts +94 -10
- package/src/persistence/checkpoints.ts +45 -0
- package/src/persistence/conversation-crud.ts +453 -260
- package/src/persistence/conversation-display-order-migration.ts +8 -2
- package/src/persistence/conversation-group-migration.test.ts +8 -0
- package/src/persistence/conversation-group-migration.ts +9 -0
- package/src/persistence/conversation-queries.ts +244 -125
- package/src/persistence/conversation-row-batch-delete.ts +9 -5
- package/src/persistence/conversation-search-lexical.ts +49 -0
- package/src/persistence/db-async-query.ts +42 -0
- package/src/persistence/db-connection.ts +13 -0
- package/src/persistence/delivery-channels.ts +0 -82
- package/src/persistence/delivery-crud.ts +27 -6
- package/src/persistence/embeddings/__tests__/embedding-identity.test.ts +18 -5
- package/src/persistence/embeddings/__tests__/messages-lexical-index.test.ts +334 -0
- package/src/persistence/embeddings/embedding-identity.ts +17 -5
- package/src/persistence/embeddings/embedding-runtime-manager.ts +31 -0
- package/src/persistence/embeddings/messages-lexical-index.ts +396 -0
- package/src/persistence/embeddings/qdrant-client.ts +81 -5
- package/src/persistence/group-crud.ts +13 -1
- package/src/persistence/job-handlers/__tests__/message-lexical-backfill.test.ts +506 -0
- package/src/persistence/job-handlers/__tests__/message-lexical-enqueue.test.ts +164 -0
- package/src/persistence/job-handlers/__tests__/message-lexical.test.ts +259 -0
- package/src/persistence/job-handlers/cleanup.ts +57 -9
- package/src/persistence/job-handlers/message-lexical-backfill.ts +187 -0
- package/src/persistence/job-handlers/message-lexical.ts +251 -0
- package/src/persistence/jobs-store.ts +102 -8
- package/src/persistence/jobs-worker.ts +68 -28
- package/src/persistence/llm-request-log-store.ts +35 -19
- package/src/persistence/llm-usage-store.ts +11 -0
- package/src/persistence/memory-lifecycle-hooks.test.ts +65 -0
- package/src/persistence/memory-lifecycle-hooks.ts +55 -1
- package/src/persistence/migrations/028-call-session-mode.ts +1 -1
- package/src/persistence/migrations/116-messages-fts.ts +8 -1
- package/src/persistence/migrations/311-create-subagents-table.ts +50 -0
- package/src/persistence/migrations/312-drop-inbox-conversation-state-table.ts +15 -0
- package/src/persistence/migrations/313-drop-messages-fts.ts +17 -0
- package/src/persistence/migrations/314-add-conversation-enabled-plugins.ts +25 -0
- package/src/persistence/migrations/315-create-a2a-invites.ts +58 -0
- package/src/persistence/migrations/316-drop-contact-channels-invite-id.ts +28 -0
- package/src/persistence/migrations/317-canonical-guardian-requester-signals.ts +24 -0
- package/src/persistence/migrations/318-drop-contact-channel-telemetry.ts +32 -0
- package/src/persistence/migrations/__tests__/315-create-a2a-invites.test.ts +161 -0
- package/src/persistence/migrations/__tests__/316-drop-contact-channels-invite-id.test.ts +156 -0
- package/src/persistence/migrations/__tests__/318-drop-contact-channel-telemetry.test.ts +134 -0
- package/src/persistence/migrations/__tests__/migration-prefix-guard.test.ts +99 -0
- package/src/persistence/raw-query.ts +50 -11
- package/src/persistence/schema/a2a.ts +14 -0
- package/src/persistence/schema/contacts.ts +0 -62
- package/src/persistence/schema/conversation-groups.ts +12 -0
- package/src/persistence/schema/conversations.ts +2 -0
- package/src/persistence/schema/documents.ts +65 -0
- package/src/persistence/schema/guardian.ts +4 -0
- package/src/persistence/schema/index.ts +4 -0
- package/src/persistence/schema/memory-injection.ts +62 -0
- package/src/persistence/schema/workflows.ts +55 -0
- package/src/persistence/slow-query-log.ts +437 -0
- package/src/persistence/slow-sync-log.ts +204 -0
- package/src/persistence/steps.ts +16 -0
- package/src/persistence/subagent-store.ts +125 -0
- package/src/persistence/worker-control.ts +45 -238
- package/src/plugin-api/event-hub-facade.ts +172 -0
- package/src/plugin-api/index.ts +9 -1
- package/src/plugin-api/types.ts +40 -9
- package/src/plugins/defaults/default-plugin-names.ts +60 -0
- package/src/plugins/defaults/index.ts +19 -29
- package/src/plugins/defaults/memory/__tests__/conversation-queries.test.ts +46 -67
- package/src/plugins/defaults/memory/__tests__/db-async-query.test.ts +36 -1
- package/src/plugins/defaults/memory/__tests__/find-most-recent-retrospective-for.test.ts +2 -4
- package/src/plugins/defaults/memory/__tests__/jobs-worker-v2-graph-trigger-embed.test.ts +2 -2
- package/src/plugins/defaults/memory/__tests__/jobs-worker-v2-schedule.test.ts +9 -0
- package/src/plugins/defaults/memory/__tests__/memory-retrospective-job.test.ts +7 -4
- package/src/plugins/defaults/memory/config.ts +11 -0
- package/src/plugins/defaults/memory/context-search/agent-runner.ts +1 -1
- package/src/plugins/defaults/memory/context-search/sources/conversations.ts +124 -113
- package/src/plugins/defaults/memory/embeddings.ts +77 -0
- package/src/plugins/defaults/memory/find-most-recent-retrospective-for.ts +66 -0
- package/src/plugins/defaults/memory/frontmatter.ts +50 -0
- package/src/plugins/defaults/memory/graph/bootstrap.test.ts +36 -10
- package/src/plugins/defaults/memory/graph/bootstrap.ts +6 -5
- package/src/plugins/defaults/memory/graph/consolidation.ts +3 -5
- package/src/plugins/defaults/memory/graph/extraction.ts +3 -6
- package/src/plugins/defaults/memory/graph/graph-search.ts +12 -23
- package/src/plugins/defaults/memory/graph/narrative.ts +3 -5
- package/src/plugins/defaults/memory/graph/pattern-scan.ts +3 -5
- package/src/plugins/defaults/memory/graph/retriever.test.ts +1 -6
- package/src/plugins/defaults/memory/graph/retriever.ts +5 -10
- package/src/plugins/defaults/memory/graph/tools.ts +1 -1
- package/src/plugins/defaults/memory/hooks/init.ts +31 -5
- package/src/plugins/defaults/memory/indexer.ts +2 -3
- package/src/plugins/defaults/memory/injectors.ts +2 -2
- package/src/plugins/defaults/memory/job-handler-registration.ts +96 -0
- package/src/plugins/defaults/memory/job-handlers/backfill.ts +4 -26
- package/src/plugins/defaults/memory/job-handlers/embedding.test.ts +6 -19
- package/src/plugins/defaults/memory/job-handlers/embedding.ts +9 -22
- package/src/plugins/defaults/memory/job-handlers/index-maintenance.ts +2 -3
- package/src/plugins/defaults/memory/job-handlers.ts +13 -12
- package/src/plugins/defaults/memory/jobs/embed-concept-page.ts +1 -1
- package/src/plugins/defaults/memory/llm-helpers.ts +76 -0
- package/src/plugins/defaults/memory/memory-retrospective-job.ts +8 -5
- package/src/plugins/defaults/memory/memory-retrospective-startup-cleanup.ts +2 -2
- package/src/plugins/defaults/memory/memory-v2-concept-frequency.ts +2 -0
- package/src/plugins/defaults/memory/persistence-hooks.ts +46 -1
- package/src/plugins/defaults/memory/pkb/pkb-index.ts +1 -5
- package/src/plugins/defaults/memory/pkb/pkb-search.ts +2 -2
- package/src/plugins/defaults/memory/routes/__tests__/memory-v2-simulate-route.test.ts +4 -6
- package/src/plugins/defaults/memory/routes/memory-item-routes.ts +1 -1
- package/src/plugins/defaults/memory/search/semantic.ts +2 -2
- package/src/plugins/defaults/memory/startup.ts +244 -0
- package/src/plugins/defaults/memory/task-memory-cleanup.ts +8 -0
- package/src/{daemon → plugins/defaults/memory/v2}/__tests__/memory-v2-startup.test.ts +6 -6
- package/src/plugins/defaults/memory/v2/__tests__/migration.test.ts +2 -13
- package/src/plugins/defaults/memory/v2/__tests__/router.test.ts +4 -5
- package/src/plugins/defaults/memory/v2/__tests__/sweep-job.test.ts +1 -8
- package/src/plugins/defaults/memory/v2/activation.ts +2 -4
- package/src/plugins/defaults/memory/v2/cli-command-store.ts +2 -4
- package/src/plugins/defaults/memory/v2/frontmatter-sweep.ts +1 -1
- package/src/{daemon → plugins/defaults/memory/v2}/memory-v2-startup.test.ts +8 -8
- package/src/{daemon → plugins/defaults/memory/v2}/memory-v2-startup.ts +20 -22
- package/src/plugins/defaults/memory/v2/migration.ts +2 -5
- package/src/plugins/defaults/memory/v2/page-store.ts +1 -1
- package/src/plugins/defaults/memory/v2/qdrant.ts +2 -3
- package/src/plugins/defaults/memory/v2/router.ts +5 -5
- package/src/plugins/defaults/memory/v2/sim.ts +2 -4
- package/src/plugins/defaults/memory/v2/skill-store.ts +2 -4
- package/src/plugins/defaults/memory/v2/sweep-job.ts +6 -6
- package/src/plugins/defaults/memory/v3/__tests__/carry-integration.test.ts +11 -9
- package/src/plugins/defaults/memory/v3/__tests__/dense.test.ts +107 -2
- package/src/plugins/defaults/memory/v3/__tests__/gate-flag.test.ts +69 -0
- package/src/plugins/defaults/memory/v3/__tests__/gate.test.ts +181 -0
- package/src/plugins/defaults/memory/v3/__tests__/live-integration.test.ts +7 -3
- package/src/plugins/defaults/memory/v3/__tests__/orchestrate.test.ts +345 -8
- package/src/plugins/defaults/memory/v3/__tests__/pool-select.test.ts +1 -4
- package/src/plugins/defaults/memory/v3/__tests__/section-needle.test.ts +64 -0
- package/src/plugins/defaults/memory/v3/__tests__/shadow-integration.test.ts +18 -13
- package/src/plugins/defaults/memory/v3/__tests__/shadow-plugin.test.ts +62 -1
- package/src/plugins/defaults/memory/v3/card.ts +1 -4
- package/src/plugins/defaults/memory/v3/dense.ts +60 -25
- package/src/plugins/defaults/memory/v3/edge.ts +1 -1
- package/src/plugins/defaults/memory/v3/gate-flag.ts +20 -0
- package/src/plugins/defaults/memory/v3/gate.ts +158 -0
- package/src/plugins/defaults/memory/v3/maintain-job.ts +2 -4
- package/src/plugins/defaults/memory/v3/orchestrate.ts +186 -25
- package/src/plugins/defaults/memory/v3/pool-select.test.ts +7 -9
- package/src/plugins/defaults/memory/v3/pool-select.ts +6 -6
- package/src/plugins/defaults/memory/v3/prune.ts +2 -2
- package/src/plugins/defaults/memory/v3/section-dense-store.ts +8 -11
- package/src/plugins/defaults/memory/v3/section-needle.ts +27 -7
- package/src/plugins/defaults/memory/v3/shadow-plugin.ts +10 -0
- package/src/plugins/defaults/memory/v3-eval/eval-packets.ts +1 -4
- package/src/plugins/defaults/title-generate/hooks/user-prompt-submit.ts +5 -0
- package/src/plugins/defaults/turn-context/injectors.ts +1 -0
- package/src/plugins/defaults/turn-context/unified-turn-context.ts +12 -0
- package/src/plugins/injector-registry.ts +13 -2
- package/src/plugins/mtime-cache.ts +36 -47
- package/src/plugins/pipeline.ts +15 -1
- package/src/plugins/types.ts +14 -23
- package/src/prompts/__tests__/system-prompt.test.ts +170 -32
- package/src/prompts/persona-resolver.ts +13 -9
- package/src/prompts/system-prompt.ts +30 -9
- package/src/prompts/templates/BOOTSTRAP.md +16 -119
- package/src/prompts/templates/SOUL.md +43 -13
- package/src/prompts/templates/system-sections.ts +32 -27
- package/src/prompts/templates/users/default.md +19 -0
- package/src/providers/__tests__/placeholder-sentinels.test.ts +56 -0
- package/src/providers/inference/__tests__/base-url-route-validation.test.ts +96 -1
- package/src/providers/model-intents.ts +2 -2
- package/src/providers/openai/chat-completions-provider.ts +14 -1
- package/src/providers/openai/responses-provider.ts +18 -0
- package/src/providers/placeholder-sentinels.ts +18 -8
- package/src/providers/retry.ts +1 -0
- package/src/providers/speech-to-text/__tests__/provider-catalog.test.ts +0 -64
- package/src/providers/speech-to-text/__tests__/resolve.test.ts +92 -79
- package/src/providers/speech-to-text/deepgram-realtime.test.ts +98 -0
- package/src/providers/speech-to-text/deepgram-realtime.ts +62 -3
- package/src/providers/speech-to-text/provider-catalog.ts +0 -89
- package/src/providers/speech-to-text/resolve.ts +55 -0
- package/src/providers/tool-progress-events.test.ts +50 -0
- package/src/providers/tool-progress-events.ts +99 -0
- package/src/providers/types.ts +1 -1
- package/src/providers/vellum-model-routing.test.ts +51 -0
- package/src/providers/vellum-model-routing.ts +84 -0
- package/src/runtime/AGENTS.md +5 -4
- package/src/runtime/__tests__/agent-wake.test.ts +158 -1
- package/src/runtime/__tests__/channel-verification-service.test.ts +2 -2
- package/src/runtime/__tests__/trust-verdict-consumer.test.ts +37 -8
- package/src/runtime/access-request-helper.ts +154 -3
- package/src/runtime/actor-trust-resolver.ts +7 -21
- package/src/runtime/agent-wake.ts +41 -1
- package/src/runtime/assistant-event.ts +86 -12
- package/src/runtime/auth/__tests__/route-policy.test.ts +31 -0
- package/src/runtime/channel-approval-types.ts +52 -2
- package/src/runtime/channel-approvals.ts +23 -8
- package/src/runtime/channel-invite-transport.ts +2 -2
- package/src/runtime/channel-invite-transports/voice.ts +1 -1
- package/src/runtime/channel-readiness-service.ts +3 -5
- package/src/runtime/channel-retry-sweep.ts +18 -24
- package/src/runtime/channel-verification-service.ts +9 -11
- package/src/runtime/finalize-event-delivery.ts +30 -16
- package/src/runtime/guardian-action-service.ts +10 -11
- package/src/runtime/guardian-reply-router.ts +122 -21
- package/src/runtime/http-server.ts +44 -101
- package/src/runtime/introduction-policy.test.ts +214 -0
- package/src/runtime/introduction-policy.ts +284 -0
- package/src/runtime/invite-service.ts +104 -361
- package/src/runtime/local-actor-identity.test.ts +38 -0
- package/src/runtime/local-actor-identity.ts +14 -0
- package/src/runtime/middleware/__tests__/rate-limiter.test.ts +22 -0
- package/src/runtime/middleware/rate-limiter.ts +30 -0
- package/src/runtime/middleware/twilio-validation.ts +5 -7
- package/src/runtime/migrations/__tests__/gcs-signed-url.test.ts +28 -0
- package/src/runtime/migrations/origin-mode.ts +6 -6
- package/src/runtime/pre-first-message-gate.ts +1 -0
- package/src/runtime/routes/__tests__/channel-verification-revoke.test.ts +6 -35
- package/src/runtime/routes/__tests__/consolidation-routes.test.ts +24 -3
- package/src/runtime/routes/__tests__/contact-routes.test.ts +80 -15
- package/src/runtime/routes/__tests__/conversation-list-routes.test.ts +7 -1
- package/src/runtime/routes/__tests__/global-search-routes.test.ts +0 -3
- package/src/runtime/routes/__tests__/home-feed-routes.test.ts +142 -1
- package/src/runtime/routes/__tests__/invite-relay-routes.test.ts +119 -30
- package/src/runtime/routes/__tests__/migration-import-allowed-hosts-env.test.ts +70 -0
- package/src/runtime/routes/__tests__/monitoring-routes.test.ts +194 -0
- package/src/runtime/routes/__tests__/plugins-routes.test.ts +755 -29
- package/src/runtime/routes/__tests__/retrospective-routes.test.ts +4 -0
- package/src/runtime/routes/__tests__/schedule-routes-create.test.ts +70 -0
- package/src/runtime/routes/__tests__/schedule-worker-routes.test.ts +161 -0
- package/src/runtime/routes/__tests__/surface-action-routes.test.ts +1 -1
- package/src/runtime/routes/__tests__/surface-content-routes.test.ts +1 -1
- package/src/runtime/routes/acp-routes.ts +15 -3
- package/src/runtime/routes/app-management-routes.ts +4 -7
- package/src/runtime/routes/approval-routes.ts +4 -0
- package/src/runtime/routes/attachment-routes.ts +54 -3
- package/src/runtime/routes/avatar-routes.ts +0 -4
- package/src/runtime/routes/background-tool-routes.ts +34 -5
- package/src/runtime/routes/btw-routes.ts +32 -4
- package/src/runtime/routes/channel-route-shared.ts +18 -14
- package/src/runtime/routes/channel-verification-routes.ts +0 -3
- package/src/runtime/routes/contact-routes.ts +298 -117
- package/src/runtime/routes/conversation-list-routes.ts +6 -0
- package/src/runtime/routes/conversation-management-routes.ts +74 -37
- package/src/runtime/routes/conversation-query-routes.ts +5 -2
- package/src/runtime/routes/conversation-routes.ts +222 -82
- package/src/runtime/routes/conversations-import-routes.ts +8 -1
- package/src/runtime/routes/credential-prompt-routes.ts +20 -5
- package/src/runtime/routes/debug-routes.ts +1 -0
- package/src/runtime/routes/documents-routes.ts +5 -2
- package/src/runtime/routes/empty-state-greeting-cache.ts +37 -10
- package/src/runtime/routes/global-search-routes.ts +2 -1
- package/src/runtime/routes/guardian-approval-interception.ts +51 -0
- package/src/runtime/routes/home-feed-routes.ts +60 -1
- package/src/runtime/routes/identity-routes.ts +4 -87
- package/src/runtime/routes/inbound-message-handler.ts +82 -41
- package/src/runtime/routes/inbound-stages/acl-enforcement.test.ts +430 -57
- package/src/runtime/routes/inbound-stages/acl-enforcement.ts +302 -572
- package/src/runtime/routes/inbound-stages/background-dispatch.test.ts +76 -270
- package/src/runtime/routes/inbound-stages/background-dispatch.ts +21 -116
- package/src/runtime/routes/inbound-stages/edit-intercept.ts +9 -1
- package/src/runtime/routes/inbound-stages/escalation-intercept.test.ts +158 -0
- package/src/runtime/routes/inbound-stages/escalation-intercept.ts +22 -1
- package/src/runtime/routes/index.ts +6 -0
- package/src/runtime/routes/inference-provider-connection-routes.ts +22 -16
- package/src/runtime/routes/internal-twilio-routes.ts +0 -15
- package/src/runtime/routes/messages-lexical-routes.ts +75 -0
- package/src/runtime/routes/migration-routes.ts +69 -6
- package/src/runtime/routes/monitoring-routes.ts +237 -0
- package/src/runtime/routes/plugins-routes.ts +329 -8
- package/src/runtime/routes/schedule-routes.ts +49 -8
- package/src/runtime/routes/schedule-worker-routes.ts +210 -0
- package/src/runtime/routes/secret-routes.ts +1 -1
- package/src/runtime/routes/surface-conversation-resolver.ts +1 -0
- package/src/runtime/services/__tests__/analyze-conversation.test.ts +54 -9
- package/src/runtime/services/__tests__/auto-analysis-enqueue.test.ts +30 -6
- package/src/runtime/services/__tests__/conversation-analyze-job.test.ts +43 -8
- package/src/runtime/services/__tests__/conversation-serializer.test.ts +20 -0
- package/src/runtime/services/analyze-conversation.ts +14 -4
- package/src/runtime/services/conversation-serializer.ts +5 -0
- package/src/runtime/slack-no-response.ts +47 -0
- package/src/runtime/slack-reply-session.test.ts +633 -0
- package/src/runtime/slack-reply-session.ts +382 -0
- package/src/runtime/slack-task-progress.ts +95 -0
- package/src/runtime/sync/resource-sync-events.ts +25 -0
- package/src/runtime/tool-grant-request-helper.ts +17 -1
- package/src/runtime/trust-class.test.ts +141 -0
- package/src/runtime/trust-class.ts +121 -0
- package/src/runtime/trust-verdict-consumer.ts +7 -6
- package/src/schedule/__tests__/run-script.test.ts +21 -0
- package/src/schedule/__tests__/worker-control.test.ts +241 -0
- package/src/schedule/run-script.ts +13 -6
- package/src/schedule/schedule-usage-store.ts +1 -0
- package/src/schedule/scheduler.ts +178 -127
- package/src/schedule/worker-control.ts +118 -0
- package/src/schedule/worker.ts +131 -0
- package/src/skills/__tests__/categories-cache.test.ts +38 -0
- package/src/skills/categories-cache.ts +40 -5
- package/src/skills/managed-store.ts +41 -6
- package/src/skills/validate-input.ts +47 -0
- package/src/stt/types.ts +5 -9
- package/src/subagent/manager.ts +267 -39
- package/src/subagent/types.ts +6 -2
- package/src/subagent/validate-allowlists.ts +65 -0
- package/src/telemetry/watchdog-direct-emit.test.ts +109 -0
- package/src/telemetry/watchdog-direct-emit.ts +89 -0
- package/src/tools/acp/list-agents.test.ts +0 -6
- package/src/tools/background-tool-registry.ts +61 -0
- package/src/tools/document/document-comment-tool.test.ts +4 -0
- package/src/tools/host-terminal/host-shell.test.ts +397 -0
- package/src/tools/host-terminal/host-shell.ts +203 -14
- package/src/tools/skills/find-similar-skills.test.ts +152 -1
- package/src/tools/skills/find-similar-skills.ts +30 -4
- package/src/tools/skills/load.ts +36 -0
- package/src/tools/skills/scaffold-managed.ts +66 -34
- package/src/tools/skills/skill-script-runner.ts +17 -0
- package/src/tools/skills/skill-tool-factory.ts +5 -1
- package/src/tools/terminal/safe-env.ts +3 -0
- package/src/tools/terminal/shell.test.ts +177 -0
- package/src/tools/terminal/shell.ts +98 -4
- package/src/tools/tool-approval-handler.ts +106 -29
- package/{node_modules/@vellumai/skill-host-contracts/src → src/tools}/tool-types.ts +16 -17
- package/src/tools/types.ts +29 -17
- package/src/tools/ui-surface/definitions.ts +3 -1
- package/src/tts/__tests__/provider-adapters.test.ts +37 -0
- package/src/tts/__tests__/provider-catalog.test.ts +21 -0
- package/src/tts/provider-catalog.ts +40 -9
- package/src/tts/providers/fish-audio-provider.ts +19 -10
- package/src/tts/types.ts +3 -4
- package/src/util/__tests__/process-tree.test.ts +10 -2
- package/src/util/__tests__/text-spacing.test.ts +53 -0
- package/src/util/cgroup-memory.ts +142 -0
- package/src/util/image-conversion.ts +281 -0
- package/src/util/phone.ts +1 -8
- package/src/util/platform.ts +33 -0
- package/src/util/process-tree.ts +10 -2
- package/src/util/text-spacing.ts +53 -0
- package/src/util/worker-process.ts +271 -0
- package/src/workflows/journal-store.ts +16 -1
- package/src/workflows/library.test.ts +35 -20
- package/src/workflows/library.ts +105 -66
- package/src/workspace/git-service.ts +1 -0
- package/src/workspace/migrations/011-backfill-installation-id.ts +83 -31
- package/src/workspace/migrations/041-backfill-google-gmail-settings-scope.ts +41 -22
- package/src/workspace/migrations/070-memory-v2-summary-schema-rebuild.ts +1 -1
- package/src/workspace/migrations/118-seed-now-md.ts +64 -0
- package/src/workspace/migrations/119-strip-persisted-memory-v3-tuning-defaults.ts +169 -0
- package/src/workspace/migrations/120-revise-onboarding-threads.ts +47 -0
- package/src/workspace/migrations/121-seed-default-user-guardrails.ts +82 -0
- package/src/workspace/migrations/122-relocate-default-user-boundary.ts +111 -0
- package/src/workspace/migrations/123-swap-quality-profile-to-fable.ts +85 -0
- package/src/workspace/migrations/__tests__/119-strip-persisted-memory-v3-tuning-defaults.test.ts +181 -0
- package/src/workspace/migrations/registry.ts +12 -0
- package/drizzle/0000_dizzy_maggott.sql +0 -301
- package/drizzle/meta/0000_snapshot.json +0 -1933
- package/drizzle/meta/_journal.json +0 -13
- package/node_modules/@vellumai/skill-host-contracts/__tests__/client.test.ts +0 -887
- package/node_modules/@vellumai/skill-host-contracts/bun.lock +0 -24
- package/node_modules/@vellumai/skill-host-contracts/package.json +0 -18
- package/node_modules/@vellumai/skill-host-contracts/src/assistant-event.ts +0 -97
- package/node_modules/@vellumai/skill-host-contracts/src/client.ts +0 -1349
- package/node_modules/@vellumai/skill-host-contracts/src/index.ts +0 -6
- package/node_modules/@vellumai/skill-host-contracts/src/runtime-mode.ts +0 -11
- package/node_modules/@vellumai/skill-host-contracts/src/server-message.ts +0 -32
- package/node_modules/@vellumai/skill-host-contracts/src/skill-host.ts +0 -333
- package/node_modules/@vellumai/skill-host-contracts/tsconfig.json +0 -20
- package/node_modules/@vellumai/skill-host-contracts/tsconfig.test.json +0 -12
- package/src/__tests__/invite-redemption-service.test.ts +0 -1180
- package/src/__tests__/invite-service-ipc.test.ts +0 -350
- package/src/__tests__/job-handler-registry-guard.test.ts +0 -125
- package/src/__tests__/regenerate-fire-and-forget-trace.test.ts +0 -203
- package/src/__tests__/relay-server.test.ts +0 -6153
- package/src/__tests__/telephony-stt-routing.test.ts +0 -329
- package/src/__tests__/voice-invite-redemption.test.ts +0 -702
- package/src/calls/relay-server.ts +0 -2463
- package/src/calls/telephony-stt-routing.ts +0 -145
- package/src/contacts/__tests__/contacts-write-revoke-relay.test.ts +0 -128
- package/src/daemon/__tests__/daemon-skill-host.test.ts +0 -273
- package/src/daemon/daemon-skill-host.ts +0 -262
- package/src/daemon/message-types/meet.ts +0 -143
- package/src/daemon/shutdown-registry.ts +0 -40
- package/src/ipc/__tests__/skill-server-bidirectional.test.ts +0 -253
- package/src/ipc/__tests__/skill-server.test.ts +0 -182
- package/src/ipc/skill-ipc-types.ts +0 -54
- package/src/ipc/skill-routes/__tests__/config.test.ts +0 -146
- package/src/ipc/skill-routes/__tests__/events-ipc.test.ts +0 -448
- package/src/ipc/skill-routes/__tests__/identity.test.ts +0 -62
- package/src/ipc/skill-routes/__tests__/log.test.ts +0 -133
- package/src/ipc/skill-routes/__tests__/memory.test.ts +0 -203
- package/src/ipc/skill-routes/__tests__/platform.test.ts +0 -111
- package/src/ipc/skill-routes/__tests__/providers.test.ts +0 -265
- package/src/ipc/skill-routes/__tests__/registries.test.ts +0 -400
- package/src/ipc/skill-routes/config.ts +0 -47
- package/src/ipc/skill-routes/events.ts +0 -147
- package/src/ipc/skill-routes/identity.ts +0 -21
- package/src/ipc/skill-routes/index.ts +0 -37
- package/src/ipc/skill-routes/log.ts +0 -40
- package/src/ipc/skill-routes/memory.ts +0 -92
- package/src/ipc/skill-routes/platform.ts +0 -39
- package/src/ipc/skill-routes/providers.ts +0 -162
- package/src/ipc/skill-routes/registries.ts +0 -338
- package/src/ipc/skill-server.ts +0 -831
- package/src/ipc/skill-socket-path.ts +0 -20
- package/src/jobs/register-job-handlers.ts +0 -74
- package/src/persistence/invite-store.ts +0 -481
- package/src/plugins/job-handler-registry.ts +0 -94
- package/src/providers/cache-control.ts +0 -26
- package/src/runtime/__tests__/runtime-mode.test.ts +0 -62
- package/src/runtime/invite-redemption-service.ts +0 -828
- package/src/runtime/invite-redemption-templates.ts +0 -46
- package/src/runtime/runtime-mode.ts +0 -40
- package/src/runtime/slack-dm-text-delivery.ts +0 -177
- package/src/util/voice-code.ts +0 -31
package/openapi.yaml
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
openapi: 3.1.0
|
|
4
4
|
info:
|
|
5
5
|
title: Vellum Assistant API
|
|
6
|
-
version: 0.10.
|
|
6
|
+
version: 0.10.5
|
|
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
|
|
@@ -2310,8 +2310,49 @@ paths:
|
|
|
2310
2310
|
- command
|
|
2311
2311
|
- startedAt
|
|
2312
2312
|
additionalProperties: false
|
|
2313
|
+
completed:
|
|
2314
|
+
type: array
|
|
2315
|
+
items:
|
|
2316
|
+
type: object
|
|
2317
|
+
properties:
|
|
2318
|
+
id:
|
|
2319
|
+
type: string
|
|
2320
|
+
toolName:
|
|
2321
|
+
type: string
|
|
2322
|
+
conversationId:
|
|
2323
|
+
type: string
|
|
2324
|
+
command:
|
|
2325
|
+
type: string
|
|
2326
|
+
startedAt:
|
|
2327
|
+
type: number
|
|
2328
|
+
status:
|
|
2329
|
+
type: string
|
|
2330
|
+
enum:
|
|
2331
|
+
- completed
|
|
2332
|
+
- failed
|
|
2333
|
+
- cancelled
|
|
2334
|
+
exitCode:
|
|
2335
|
+
anyOf:
|
|
2336
|
+
- type: number
|
|
2337
|
+
- type: "null"
|
|
2338
|
+
output:
|
|
2339
|
+
type: string
|
|
2340
|
+
completedAt:
|
|
2341
|
+
type: number
|
|
2342
|
+
required:
|
|
2343
|
+
- id
|
|
2344
|
+
- toolName
|
|
2345
|
+
- conversationId
|
|
2346
|
+
- command
|
|
2347
|
+
- startedAt
|
|
2348
|
+
- status
|
|
2349
|
+
- exitCode
|
|
2350
|
+
- output
|
|
2351
|
+
- completedAt
|
|
2352
|
+
additionalProperties: false
|
|
2313
2353
|
required:
|
|
2314
2354
|
- tools
|
|
2355
|
+
- completed
|
|
2315
2356
|
additionalProperties: false
|
|
2316
2357
|
/v1/background-tools/cancel:
|
|
2317
2358
|
post:
|
|
@@ -3359,6 +3400,9 @@ paths:
|
|
|
3359
3400
|
content:
|
|
3360
3401
|
type: string
|
|
3361
3402
|
description: User prompt content
|
|
3403
|
+
clientTimezone:
|
|
3404
|
+
description: IANA timezone reported by the active client
|
|
3405
|
+
type: string
|
|
3362
3406
|
required:
|
|
3363
3407
|
- conversationKey
|
|
3364
3408
|
- content
|
|
@@ -4027,6 +4071,8 @@ paths:
|
|
|
4027
4071
|
type: boolean
|
|
4028
4072
|
account:
|
|
4029
4073
|
type: string
|
|
4074
|
+
actorTeamId:
|
|
4075
|
+
type: string
|
|
4030
4076
|
admissionPolicy:
|
|
4031
4077
|
type: string
|
|
4032
4078
|
enum:
|
|
@@ -4087,9 +4133,17 @@ paths:
|
|
|
4087
4133
|
- type: "null"
|
|
4088
4134
|
memberDisplayName:
|
|
4089
4135
|
type: string
|
|
4136
|
+
interactionCount:
|
|
4137
|
+
type: number
|
|
4138
|
+
lastInteraction:
|
|
4139
|
+
anyOf:
|
|
4140
|
+
- type: number
|
|
4141
|
+
- type: "null"
|
|
4090
4142
|
required:
|
|
4091
4143
|
- trustClass
|
|
4092
4144
|
- canonicalSenderId
|
|
4145
|
+
emailProvider:
|
|
4146
|
+
type: string
|
|
4093
4147
|
emailSubject:
|
|
4094
4148
|
type: string
|
|
4095
4149
|
emailRecipient:
|
|
@@ -4591,6 +4645,162 @@ paths:
|
|
|
4591
4645
|
required: true
|
|
4592
4646
|
schema:
|
|
4593
4647
|
type: string
|
|
4648
|
+
requestBody:
|
|
4649
|
+
required: true
|
|
4650
|
+
content:
|
|
4651
|
+
application/json:
|
|
4652
|
+
schema:
|
|
4653
|
+
type: object
|
|
4654
|
+
properties:
|
|
4655
|
+
provider:
|
|
4656
|
+
$ref: "#/components/schemas/LLMProvider"
|
|
4657
|
+
model:
|
|
4658
|
+
type: string
|
|
4659
|
+
minLength: 1
|
|
4660
|
+
maxTokens:
|
|
4661
|
+
type: integer
|
|
4662
|
+
exclusiveMinimum: 0
|
|
4663
|
+
maximum: 9007199254740991
|
|
4664
|
+
effort:
|
|
4665
|
+
type: string
|
|
4666
|
+
enum:
|
|
4667
|
+
- none
|
|
4668
|
+
- low
|
|
4669
|
+
- medium
|
|
4670
|
+
- high
|
|
4671
|
+
- xhigh
|
|
4672
|
+
- max
|
|
4673
|
+
speed:
|
|
4674
|
+
type: string
|
|
4675
|
+
enum:
|
|
4676
|
+
- standard
|
|
4677
|
+
- fast
|
|
4678
|
+
verbosity:
|
|
4679
|
+
type: string
|
|
4680
|
+
enum:
|
|
4681
|
+
- low
|
|
4682
|
+
- medium
|
|
4683
|
+
- high
|
|
4684
|
+
temperature:
|
|
4685
|
+
anyOf:
|
|
4686
|
+
- type: number
|
|
4687
|
+
minimum: 0
|
|
4688
|
+
maximum: 2
|
|
4689
|
+
- type: "null"
|
|
4690
|
+
topP:
|
|
4691
|
+
anyOf:
|
|
4692
|
+
- type: number
|
|
4693
|
+
minimum: 0
|
|
4694
|
+
maximum: 1
|
|
4695
|
+
- type: "null"
|
|
4696
|
+
thinking:
|
|
4697
|
+
type: object
|
|
4698
|
+
properties:
|
|
4699
|
+
enabled:
|
|
4700
|
+
type: boolean
|
|
4701
|
+
streamThinking:
|
|
4702
|
+
type: boolean
|
|
4703
|
+
level:
|
|
4704
|
+
type: string
|
|
4705
|
+
enum:
|
|
4706
|
+
- minimal
|
|
4707
|
+
- low
|
|
4708
|
+
- medium
|
|
4709
|
+
- high
|
|
4710
|
+
contextWindow:
|
|
4711
|
+
type: object
|
|
4712
|
+
properties:
|
|
4713
|
+
enabled:
|
|
4714
|
+
type: boolean
|
|
4715
|
+
maxInputTokens:
|
|
4716
|
+
type: integer
|
|
4717
|
+
exclusiveMinimum: 0
|
|
4718
|
+
maximum: 9007199254740991
|
|
4719
|
+
targetBudgetRatio:
|
|
4720
|
+
type: number
|
|
4721
|
+
exclusiveMinimum: 0
|
|
4722
|
+
maximum: 1
|
|
4723
|
+
compactThreshold:
|
|
4724
|
+
type: number
|
|
4725
|
+
exclusiveMinimum: 0
|
|
4726
|
+
maximum: 1
|
|
4727
|
+
summaryBudgetRatio:
|
|
4728
|
+
type: number
|
|
4729
|
+
exclusiveMinimum: 0
|
|
4730
|
+
maximum: 1
|
|
4731
|
+
overflowRecovery:
|
|
4732
|
+
type: object
|
|
4733
|
+
properties:
|
|
4734
|
+
enabled:
|
|
4735
|
+
type: boolean
|
|
4736
|
+
safetyMarginRatio:
|
|
4737
|
+
type: number
|
|
4738
|
+
exclusiveMinimum: 0
|
|
4739
|
+
exclusiveMaximum: 1
|
|
4740
|
+
maxAttempts:
|
|
4741
|
+
type: integer
|
|
4742
|
+
exclusiveMinimum: 0
|
|
4743
|
+
maximum: 9007199254740991
|
|
4744
|
+
interactiveLatestTurnCompression:
|
|
4745
|
+
type: string
|
|
4746
|
+
enum:
|
|
4747
|
+
- truncate
|
|
4748
|
+
- summarize
|
|
4749
|
+
- drop
|
|
4750
|
+
nonInteractiveLatestTurnCompression:
|
|
4751
|
+
type: string
|
|
4752
|
+
enum:
|
|
4753
|
+
- truncate
|
|
4754
|
+
- summarize
|
|
4755
|
+
- drop
|
|
4756
|
+
openrouter:
|
|
4757
|
+
type: object
|
|
4758
|
+
properties:
|
|
4759
|
+
only:
|
|
4760
|
+
type: array
|
|
4761
|
+
items:
|
|
4762
|
+
type: string
|
|
4763
|
+
minLength: 1
|
|
4764
|
+
logitBias:
|
|
4765
|
+
type: string
|
|
4766
|
+
enum:
|
|
4767
|
+
- suppress-cjk
|
|
4768
|
+
disableCache:
|
|
4769
|
+
type: boolean
|
|
4770
|
+
source:
|
|
4771
|
+
type: string
|
|
4772
|
+
enum:
|
|
4773
|
+
- managed
|
|
4774
|
+
- user
|
|
4775
|
+
label:
|
|
4776
|
+
anyOf:
|
|
4777
|
+
- type: string
|
|
4778
|
+
minLength: 1
|
|
4779
|
+
- type: "null"
|
|
4780
|
+
description:
|
|
4781
|
+
type: string
|
|
4782
|
+
provider_connection:
|
|
4783
|
+
type: string
|
|
4784
|
+
minLength: 1
|
|
4785
|
+
status:
|
|
4786
|
+
anyOf:
|
|
4787
|
+
- $ref: "#/components/schemas/ProfileStatus"
|
|
4788
|
+
- type: "null"
|
|
4789
|
+
mix:
|
|
4790
|
+
minItems: 2
|
|
4791
|
+
type: array
|
|
4792
|
+
items:
|
|
4793
|
+
type: object
|
|
4794
|
+
properties:
|
|
4795
|
+
profile:
|
|
4796
|
+
type: string
|
|
4797
|
+
minLength: 1
|
|
4798
|
+
weight:
|
|
4799
|
+
type: number
|
|
4800
|
+
exclusiveMinimum: 0
|
|
4801
|
+
required:
|
|
4802
|
+
- profile
|
|
4803
|
+
- weight
|
|
4594
4804
|
responses:
|
|
4595
4805
|
"200":
|
|
4596
4806
|
description: Successful response
|
|
@@ -4958,7 +5168,9 @@ paths:
|
|
|
4958
5168
|
- type: number
|
|
4959
5169
|
- type: "null"
|
|
4960
5170
|
interactionCount:
|
|
4961
|
-
|
|
5171
|
+
anyOf:
|
|
5172
|
+
- type: number
|
|
5173
|
+
- type: "null"
|
|
4962
5174
|
createdAt:
|
|
4963
5175
|
type: number
|
|
4964
5176
|
updatedAt:
|
|
@@ -4999,7 +5211,9 @@ paths:
|
|
|
4999
5211
|
- type: number
|
|
5000
5212
|
- type: "null"
|
|
5001
5213
|
interactionCount:
|
|
5002
|
-
|
|
5214
|
+
anyOf:
|
|
5215
|
+
- type: number
|
|
5216
|
+
- type: "null"
|
|
5003
5217
|
lastInteraction:
|
|
5004
5218
|
anyOf:
|
|
5005
5219
|
- type: number
|
|
@@ -5118,7 +5332,9 @@ paths:
|
|
|
5118
5332
|
- type: number
|
|
5119
5333
|
- type: "null"
|
|
5120
5334
|
interactionCount:
|
|
5121
|
-
|
|
5335
|
+
anyOf:
|
|
5336
|
+
- type: number
|
|
5337
|
+
- type: "null"
|
|
5122
5338
|
createdAt:
|
|
5123
5339
|
type: number
|
|
5124
5340
|
updatedAt:
|
|
@@ -5159,7 +5375,9 @@ paths:
|
|
|
5159
5375
|
- type: number
|
|
5160
5376
|
- type: "null"
|
|
5161
5377
|
interactionCount:
|
|
5162
|
-
|
|
5378
|
+
anyOf:
|
|
5379
|
+
- type: number
|
|
5380
|
+
- type: "null"
|
|
5163
5381
|
lastInteraction:
|
|
5164
5382
|
anyOf:
|
|
5165
5383
|
- type: number
|
|
@@ -5247,7 +5465,9 @@ paths:
|
|
|
5247
5465
|
- type: number
|
|
5248
5466
|
- type: "null"
|
|
5249
5467
|
interactionCount:
|
|
5250
|
-
|
|
5468
|
+
anyOf:
|
|
5469
|
+
- type: number
|
|
5470
|
+
- type: "null"
|
|
5251
5471
|
createdAt:
|
|
5252
5472
|
type: number
|
|
5253
5473
|
updatedAt:
|
|
@@ -5288,7 +5508,9 @@ paths:
|
|
|
5288
5508
|
- type: number
|
|
5289
5509
|
- type: "null"
|
|
5290
5510
|
interactionCount:
|
|
5291
|
-
|
|
5511
|
+
anyOf:
|
|
5512
|
+
- type: number
|
|
5513
|
+
- type: "null"
|
|
5292
5514
|
lastInteraction:
|
|
5293
5515
|
anyOf:
|
|
5294
5516
|
- type: number
|
|
@@ -5414,6 +5636,9 @@ paths:
|
|
|
5414
5636
|
expectedExternalUserId:
|
|
5415
5637
|
type: string
|
|
5416
5638
|
description: Expected user ID (E.164 for phone)
|
|
5639
|
+
sourceConversationId:
|
|
5640
|
+
type: string
|
|
5641
|
+
description: Conversation the invite was created from (opaque)
|
|
5417
5642
|
required:
|
|
5418
5643
|
- contactId
|
|
5419
5644
|
responses:
|
|
@@ -5462,7 +5687,9 @@ paths:
|
|
|
5462
5687
|
post:
|
|
5463
5688
|
operationId: contacts_invites_by_id_call_post
|
|
5464
5689
|
summary: Trigger invite call
|
|
5465
|
-
description:
|
|
5690
|
+
description:
|
|
5691
|
+
"Trigger an outbound call for a phone invite. Gateway-only: the gateway validates its canonical invite row
|
|
5692
|
+
and supplies the resolved call fields in the body."
|
|
5466
5693
|
tags:
|
|
5467
5694
|
- contacts
|
|
5468
5695
|
parameters:
|
|
@@ -5471,6 +5698,28 @@ paths:
|
|
|
5471
5698
|
required: true
|
|
5472
5699
|
schema:
|
|
5473
5700
|
type: string
|
|
5701
|
+
requestBody:
|
|
5702
|
+
required: true
|
|
5703
|
+
content:
|
|
5704
|
+
application/json:
|
|
5705
|
+
schema:
|
|
5706
|
+
type: object
|
|
5707
|
+
properties:
|
|
5708
|
+
phoneNumber:
|
|
5709
|
+
type: string
|
|
5710
|
+
description: E.164 number the invite call dials (invite's bound caller)
|
|
5711
|
+
friendName:
|
|
5712
|
+
description: Invitee display name for the call greeting
|
|
5713
|
+
anyOf:
|
|
5714
|
+
- type: string
|
|
5715
|
+
- type: "null"
|
|
5716
|
+
guardianName:
|
|
5717
|
+
description: Guardian display label recorded on the invite
|
|
5718
|
+
anyOf:
|
|
5719
|
+
- type: string
|
|
5720
|
+
- type: "null"
|
|
5721
|
+
required:
|
|
5722
|
+
- phoneNumber
|
|
5474
5723
|
responses:
|
|
5475
5724
|
"200":
|
|
5476
5725
|
description: Successful response
|
|
@@ -5505,34 +5754,32 @@ paths:
|
|
|
5505
5754
|
type: object
|
|
5506
5755
|
properties:
|
|
5507
5756
|
token:
|
|
5508
|
-
type: string
|
|
5509
5757
|
description: Invite token (token-based redemption)
|
|
5510
|
-
code:
|
|
5511
5758
|
type: string
|
|
5759
|
+
code:
|
|
5512
5760
|
description: Voice code (voice-code redemption)
|
|
5513
|
-
callerExternalUserId:
|
|
5514
5761
|
type: string
|
|
5762
|
+
callerExternalUserId:
|
|
5515
5763
|
description: Caller E.164 phone (voice-code)
|
|
5516
|
-
externalUserId:
|
|
5517
5764
|
type: string
|
|
5765
|
+
externalUserId:
|
|
5518
5766
|
description: External user ID (token-based)
|
|
5519
|
-
externalChatId:
|
|
5520
5767
|
type: string
|
|
5768
|
+
externalChatId:
|
|
5521
5769
|
description: External chat ID (token-based)
|
|
5522
|
-
sourceChannel:
|
|
5523
5770
|
type: string
|
|
5771
|
+
sourceChannel:
|
|
5524
5772
|
description: Source channel (token-based)
|
|
5525
|
-
assistantId:
|
|
5526
5773
|
type: string
|
|
5774
|
+
displayName:
|
|
5775
|
+
description: Sender display name (token-based)
|
|
5776
|
+
type: string
|
|
5777
|
+
username:
|
|
5778
|
+
description: Sender username (token-based)
|
|
5779
|
+
type: string
|
|
5780
|
+
assistantId:
|
|
5527
5781
|
description: Assistant ID (voice-code)
|
|
5528
|
-
|
|
5529
|
-
- token
|
|
5530
|
-
- code
|
|
5531
|
-
- callerExternalUserId
|
|
5532
|
-
- externalUserId
|
|
5533
|
-
- externalChatId
|
|
5534
|
-
- sourceChannel
|
|
5535
|
-
- assistantId
|
|
5782
|
+
type: string
|
|
5536
5783
|
responses:
|
|
5537
5784
|
"200":
|
|
5538
5785
|
description: Successful response
|
|
@@ -5621,7 +5868,9 @@ paths:
|
|
|
5621
5868
|
- type: number
|
|
5622
5869
|
- type: "null"
|
|
5623
5870
|
interactionCount:
|
|
5624
|
-
|
|
5871
|
+
anyOf:
|
|
5872
|
+
- type: number
|
|
5873
|
+
- type: "null"
|
|
5625
5874
|
createdAt:
|
|
5626
5875
|
type: number
|
|
5627
5876
|
updatedAt:
|
|
@@ -5662,7 +5911,9 @@ paths:
|
|
|
5662
5911
|
- type: number
|
|
5663
5912
|
- type: "null"
|
|
5664
5913
|
interactionCount:
|
|
5665
|
-
|
|
5914
|
+
anyOf:
|
|
5915
|
+
- type: number
|
|
5916
|
+
- type: "null"
|
|
5666
5917
|
lastInteraction:
|
|
5667
5918
|
anyOf:
|
|
5668
5919
|
- type: number
|
|
@@ -5815,7 +6066,9 @@ paths:
|
|
|
5815
6066
|
- type: number
|
|
5816
6067
|
- type: "null"
|
|
5817
6068
|
interactionCount:
|
|
5818
|
-
|
|
6069
|
+
anyOf:
|
|
6070
|
+
- type: number
|
|
6071
|
+
- type: "null"
|
|
5819
6072
|
createdAt:
|
|
5820
6073
|
type: number
|
|
5821
6074
|
updatedAt:
|
|
@@ -5856,7 +6109,9 @@ paths:
|
|
|
5856
6109
|
- type: number
|
|
5857
6110
|
- type: "null"
|
|
5858
6111
|
interactionCount:
|
|
5859
|
-
|
|
6112
|
+
anyOf:
|
|
6113
|
+
- type: number
|
|
6114
|
+
- type: "null"
|
|
5860
6115
|
lastInteraction:
|
|
5861
6116
|
anyOf:
|
|
5862
6117
|
- type: number
|
|
@@ -6262,6 +6517,12 @@ paths:
|
|
|
6262
6517
|
type: number
|
|
6263
6518
|
inferenceProfile:
|
|
6264
6519
|
type: string
|
|
6520
|
+
enabledPlugins:
|
|
6521
|
+
anyOf:
|
|
6522
|
+
- type: array
|
|
6523
|
+
items:
|
|
6524
|
+
type: string
|
|
6525
|
+
- type: "null"
|
|
6265
6526
|
isProcessing:
|
|
6266
6527
|
type: boolean
|
|
6267
6528
|
required:
|
|
@@ -6601,6 +6862,12 @@ paths:
|
|
|
6601
6862
|
type: number
|
|
6602
6863
|
inferenceProfile:
|
|
6603
6864
|
type: string
|
|
6865
|
+
enabledPlugins:
|
|
6866
|
+
anyOf:
|
|
6867
|
+
- type: array
|
|
6868
|
+
items:
|
|
6869
|
+
type: string
|
|
6870
|
+
- type: "null"
|
|
6604
6871
|
isProcessing:
|
|
6605
6872
|
type: boolean
|
|
6606
6873
|
required:
|
|
@@ -6802,6 +7069,12 @@ paths:
|
|
|
6802
7069
|
type: number
|
|
6803
7070
|
inferenceProfile:
|
|
6804
7071
|
type: string
|
|
7072
|
+
enabledPlugins:
|
|
7073
|
+
anyOf:
|
|
7074
|
+
- type: array
|
|
7075
|
+
items:
|
|
7076
|
+
type: string
|
|
7077
|
+
- type: "null"
|
|
6805
7078
|
isProcessing:
|
|
6806
7079
|
type: boolean
|
|
6807
7080
|
required:
|
|
@@ -7003,12 +7276,62 @@ paths:
|
|
|
7003
7276
|
additionalProperties: false
|
|
7004
7277
|
required:
|
|
7005
7278
|
- conversationId
|
|
7006
|
-
- events
|
|
7279
|
+
- events
|
|
7280
|
+
additionalProperties: false
|
|
7281
|
+
"400":
|
|
7282
|
+
description: Returned when the callId is missing or refers to a call in a different conversation.
|
|
7283
|
+
"404":
|
|
7284
|
+
description: Returned when the conversation or the referenced LLM call does not exist.
|
|
7285
|
+
/v1/conversations/{id}/enabledplugins:
|
|
7286
|
+
put:
|
|
7287
|
+
operationId: conversations_by_id_enabledplugins_put
|
|
7288
|
+
summary: Set conversation enabled plugins
|
|
7289
|
+
description:
|
|
7290
|
+
Scope a single conversation to a subset of installed plugins (first-party defaults are always available).
|
|
7291
|
+
Pass null to clear the scope back to the default (all enabled plugins).
|
|
7292
|
+
tags:
|
|
7293
|
+
- conversations
|
|
7294
|
+
parameters:
|
|
7295
|
+
- name: id
|
|
7296
|
+
in: path
|
|
7297
|
+
required: true
|
|
7298
|
+
schema:
|
|
7299
|
+
type: string
|
|
7300
|
+
requestBody:
|
|
7301
|
+
required: true
|
|
7302
|
+
content:
|
|
7303
|
+
application/json:
|
|
7304
|
+
schema:
|
|
7305
|
+
type: object
|
|
7306
|
+
properties:
|
|
7307
|
+
enabledPlugins:
|
|
7308
|
+
anyOf:
|
|
7309
|
+
- type: array
|
|
7310
|
+
items:
|
|
7311
|
+
type: string
|
|
7312
|
+
- type: "null"
|
|
7313
|
+
required:
|
|
7314
|
+
- enabledPlugins
|
|
7315
|
+
responses:
|
|
7316
|
+
"200":
|
|
7317
|
+
description: Successful response
|
|
7318
|
+
content:
|
|
7319
|
+
application/json:
|
|
7320
|
+
schema:
|
|
7321
|
+
type: object
|
|
7322
|
+
properties:
|
|
7323
|
+
conversationId:
|
|
7324
|
+
type: string
|
|
7325
|
+
enabledPlugins:
|
|
7326
|
+
anyOf:
|
|
7327
|
+
- type: array
|
|
7328
|
+
items:
|
|
7329
|
+
type: string
|
|
7330
|
+
- type: "null"
|
|
7331
|
+
required:
|
|
7332
|
+
- conversationId
|
|
7333
|
+
- enabledPlugins
|
|
7007
7334
|
additionalProperties: false
|
|
7008
|
-
"400":
|
|
7009
|
-
description: Returned when the callId is missing or refers to a call in a different conversation.
|
|
7010
|
-
"404":
|
|
7011
|
-
description: Returned when the conversation or the referenced LLM call does not exist.
|
|
7012
7335
|
/v1/conversations/{id}/inference-profile:
|
|
7013
7336
|
put:
|
|
7014
7337
|
operationId: conversations_by_id_inferenceprofile_put
|
|
@@ -7213,22 +7536,6 @@ paths:
|
|
|
7213
7536
|
responses:
|
|
7214
7537
|
"200":
|
|
7215
7538
|
description: Successful response
|
|
7216
|
-
/v1/conversations/{id}/regenerate:
|
|
7217
|
-
post:
|
|
7218
|
-
operationId: conversations_by_id_regenerate_post
|
|
7219
|
-
summary: Regenerate response
|
|
7220
|
-
description: Re-run the assistant for the last user message in a conversation.
|
|
7221
|
-
tags:
|
|
7222
|
-
- conversations
|
|
7223
|
-
parameters:
|
|
7224
|
-
- name: id
|
|
7225
|
-
in: path
|
|
7226
|
-
required: true
|
|
7227
|
-
schema:
|
|
7228
|
-
type: string
|
|
7229
|
-
responses:
|
|
7230
|
-
"202":
|
|
7231
|
-
description: Successful response
|
|
7232
7539
|
/v1/conversations/{id}/slash:
|
|
7233
7540
|
post:
|
|
7234
7541
|
operationId: conversations_by_id_slash_post
|
|
@@ -7955,6 +8262,12 @@ paths:
|
|
|
7955
8262
|
type: number
|
|
7956
8263
|
inferenceProfile:
|
|
7957
8264
|
type: string
|
|
8265
|
+
enabledPlugins:
|
|
8266
|
+
anyOf:
|
|
8267
|
+
- type: array
|
|
8268
|
+
items:
|
|
8269
|
+
type: string
|
|
8270
|
+
- type: "null"
|
|
7958
8271
|
isProcessing:
|
|
7959
8272
|
type: boolean
|
|
7960
8273
|
required:
|
|
@@ -9407,6 +9720,8 @@ paths:
|
|
|
9407
9720
|
properties:
|
|
9408
9721
|
ok:
|
|
9409
9722
|
type: boolean
|
|
9723
|
+
cancelled:
|
|
9724
|
+
type: boolean
|
|
9410
9725
|
error:
|
|
9411
9726
|
type: string
|
|
9412
9727
|
service:
|
|
@@ -12653,6 +12968,68 @@ paths:
|
|
|
12653
12968
|
description: Feed item or action not found
|
|
12654
12969
|
"500":
|
|
12655
12970
|
description: Failed to create conversation
|
|
12971
|
+
/v1/home/feed/mark-all:
|
|
12972
|
+
post:
|
|
12973
|
+
operationId: home_feed_markall_post
|
|
12974
|
+
summary: Bulk update home feed item statuses
|
|
12975
|
+
description:
|
|
12976
|
+
Flip every home feed item currently at one of the `from` statuses to the single `to` status. Returns the
|
|
12977
|
+
count of items whose status actually changed (items already at `to`, or outside `from`, are left untouched).
|
|
12978
|
+
Used to implement 'Mark all as read' (from=['new'], to='seen') and 'Clear all' (from=['new','seen','acted_on'],
|
|
12979
|
+
to='dismissed').
|
|
12980
|
+
tags:
|
|
12981
|
+
- home
|
|
12982
|
+
requestBody:
|
|
12983
|
+
required: true
|
|
12984
|
+
content:
|
|
12985
|
+
application/json:
|
|
12986
|
+
schema:
|
|
12987
|
+
type: object
|
|
12988
|
+
properties:
|
|
12989
|
+
from:
|
|
12990
|
+
minItems: 1
|
|
12991
|
+
type: array
|
|
12992
|
+
items:
|
|
12993
|
+
type: string
|
|
12994
|
+
enum:
|
|
12995
|
+
- new
|
|
12996
|
+
- seen
|
|
12997
|
+
- acted_on
|
|
12998
|
+
- dismissed
|
|
12999
|
+
to:
|
|
13000
|
+
type: string
|
|
13001
|
+
enum:
|
|
13002
|
+
- new
|
|
13003
|
+
- seen
|
|
13004
|
+
- acted_on
|
|
13005
|
+
- dismissed
|
|
13006
|
+
ids:
|
|
13007
|
+
type: array
|
|
13008
|
+
items:
|
|
13009
|
+
type: string
|
|
13010
|
+
required:
|
|
13011
|
+
- from
|
|
13012
|
+
- to
|
|
13013
|
+
responses:
|
|
13014
|
+
"200":
|
|
13015
|
+
description: Successful response
|
|
13016
|
+
content:
|
|
13017
|
+
application/json:
|
|
13018
|
+
schema:
|
|
13019
|
+
type: object
|
|
13020
|
+
properties:
|
|
13021
|
+
updatedCount:
|
|
13022
|
+
type: integer
|
|
13023
|
+
minimum: 0
|
|
13024
|
+
maximum: 9007199254740991
|
|
13025
|
+
updatedAt:
|
|
13026
|
+
type: string
|
|
13027
|
+
required:
|
|
13028
|
+
- updatedCount
|
|
13029
|
+
- updatedAt
|
|
13030
|
+
additionalProperties: false
|
|
13031
|
+
"500":
|
|
13032
|
+
description: Failed to persist bulk status update
|
|
12656
13033
|
/v1/home/feed/query:
|
|
12657
13034
|
post:
|
|
12658
13035
|
operationId: home_feed_query_post
|
|
@@ -15313,16 +15690,6 @@ paths:
|
|
|
15313
15690
|
required:
|
|
15314
15691
|
- skipped
|
|
15315
15692
|
additionalProperties: false
|
|
15316
|
-
/v1/internal/twilio/connect-action:
|
|
15317
|
-
post:
|
|
15318
|
-
operationId: internal_twilio_connectaction_post
|
|
15319
|
-
summary: Internal Twilio connect-action
|
|
15320
|
-
description: Gateway-to-runtime forwarding for ConversationRelay connect-action callback.
|
|
15321
|
-
tags:
|
|
15322
|
-
- internal
|
|
15323
|
-
responses:
|
|
15324
|
-
"200":
|
|
15325
|
-
description: Successful response
|
|
15326
15693
|
/v1/internal/twilio/status:
|
|
15327
15694
|
post:
|
|
15328
15695
|
operationId: internal_twilio_status_post
|
|
@@ -17733,6 +18100,46 @@ paths:
|
|
|
17733
18100
|
required:
|
|
17734
18101
|
- acpSessionId
|
|
17735
18102
|
additionalProperties: false
|
|
18103
|
+
backgroundEventNotification:
|
|
18104
|
+
type: boolean
|
|
18105
|
+
backgroundToolCompletion:
|
|
18106
|
+
type: object
|
|
18107
|
+
properties:
|
|
18108
|
+
id:
|
|
18109
|
+
type: string
|
|
18110
|
+
toolName:
|
|
18111
|
+
type: string
|
|
18112
|
+
conversationId:
|
|
18113
|
+
type: string
|
|
18114
|
+
command:
|
|
18115
|
+
type: string
|
|
18116
|
+
startedAt:
|
|
18117
|
+
type: number
|
|
18118
|
+
status:
|
|
18119
|
+
type: string
|
|
18120
|
+
enum:
|
|
18121
|
+
- completed
|
|
18122
|
+
- failed
|
|
18123
|
+
- cancelled
|
|
18124
|
+
exitCode:
|
|
18125
|
+
anyOf:
|
|
18126
|
+
- type: number
|
|
18127
|
+
- type: "null"
|
|
18128
|
+
output:
|
|
18129
|
+
type: string
|
|
18130
|
+
completedAt:
|
|
18131
|
+
type: number
|
|
18132
|
+
required:
|
|
18133
|
+
- id
|
|
18134
|
+
- toolName
|
|
18135
|
+
- conversationId
|
|
18136
|
+
- command
|
|
18137
|
+
- startedAt
|
|
18138
|
+
- status
|
|
18139
|
+
- exitCode
|
|
18140
|
+
- output
|
|
18141
|
+
- completedAt
|
|
18142
|
+
additionalProperties: false
|
|
17736
18143
|
slackMessage:
|
|
17737
18144
|
type: object
|
|
17738
18145
|
properties:
|
|
@@ -17894,6 +18301,11 @@ paths:
|
|
|
17894
18301
|
type: string
|
|
17895
18302
|
clientTimezone:
|
|
17896
18303
|
type: string
|
|
18304
|
+
clientOs:
|
|
18305
|
+
description:
|
|
18306
|
+
Client OS surface ("web" | "ios" | "macos" | "android"), reported separately from `interface`. Drives the
|
|
18307
|
+
per-turn `client_os` context only; does not affect transport/host-proxy capabilities.
|
|
18308
|
+
type: string
|
|
17897
18309
|
clientMessageId:
|
|
17898
18310
|
type: string
|
|
17899
18311
|
description:
|
|
@@ -17904,6 +18316,17 @@ paths:
|
|
|
17904
18316
|
anyOf:
|
|
17905
18317
|
- type: string
|
|
17906
18318
|
- type: "null"
|
|
18319
|
+
enabledPlugins:
|
|
18320
|
+
description:
|
|
18321
|
+
Plugin ids that scope this conversation to a subset of installed plugins (first-party defaults are always
|
|
18322
|
+
available). When present on a message, it sets/updates the conversation's plugin scope (the web
|
|
18323
|
+
client sends it only on the first message of a new chat). null clears the scope to default (all
|
|
18324
|
+
enabled plugins); omitting the field leaves the existing scope unchanged.
|
|
18325
|
+
anyOf:
|
|
18326
|
+
- type: array
|
|
18327
|
+
items:
|
|
18328
|
+
type: string
|
|
18329
|
+
- type: "null"
|
|
17907
18330
|
riskThreshold:
|
|
17908
18331
|
type: string
|
|
17909
18332
|
enum:
|
|
@@ -17911,6 +18334,15 @@ paths:
|
|
|
17911
18334
|
- low
|
|
17912
18335
|
- medium
|
|
17913
18336
|
- high
|
|
18337
|
+
hidden:
|
|
18338
|
+
description:
|
|
18339
|
+
"When true, persist the user message but suppress it from the UI transcript (it stays in LLM-side history
|
|
18340
|
+
and still drives the turn). Used for machine signals the user never typed (proactive-greeting
|
|
18341
|
+
priming, channel-setup wizard close). Suppression covers the queued path too: a hidden send that
|
|
18342
|
+
lands mid-turn returns { queued: true, requestId } but never appears in list-messages queued
|
|
18343
|
+
snapshots, emits no echo, and does not supersede pending interactions. Honored on the standard send
|
|
18344
|
+
path only — slash-command content bypasses it."
|
|
18345
|
+
type: boolean
|
|
17914
18346
|
onboarding:
|
|
17915
18347
|
type: object
|
|
17916
18348
|
properties:
|
|
@@ -18589,6 +19021,30 @@ paths:
|
|
|
18589
19021
|
responses:
|
|
18590
19022
|
"200":
|
|
18591
19023
|
description: Successful response
|
|
19024
|
+
/v1/messages/lexical/backfill:
|
|
19025
|
+
post:
|
|
19026
|
+
operationId: messages_lexical_backfill_post
|
|
19027
|
+
summary: Enqueue a resumable backfill of messages into the lexical index
|
|
19028
|
+
description:
|
|
19029
|
+
"Enqueues the cursor-checkpointed backfill job that indexes existing messages into the Qdrant lexical
|
|
19030
|
+
(BM25-style) collection in batches. Resumable and idempotent — re-running continues from the last checkpoint.
|
|
19031
|
+
Pass `force: true` to reset the cursor and re-index from the beginning. The same backfill is also auto-enqueued
|
|
19032
|
+
once per instance on upgrade at assistant startup."
|
|
19033
|
+
tags:
|
|
19034
|
+
- memory
|
|
19035
|
+
requestBody:
|
|
19036
|
+
required: true
|
|
19037
|
+
content:
|
|
19038
|
+
application/json:
|
|
19039
|
+
schema:
|
|
19040
|
+
type: object
|
|
19041
|
+
properties:
|
|
19042
|
+
force:
|
|
19043
|
+
type: boolean
|
|
19044
|
+
additionalProperties: false
|
|
19045
|
+
responses:
|
|
19046
|
+
"200":
|
|
19047
|
+
description: Successful response
|
|
18592
19048
|
/v1/messages/queued/{id}:
|
|
18593
19049
|
delete:
|
|
18594
19050
|
operationId: messages_queued_by_id_delete
|
|
@@ -19040,6 +19496,175 @@ paths:
|
|
|
19040
19496
|
responses:
|
|
19041
19497
|
"200":
|
|
19042
19498
|
description: Successful response
|
|
19499
|
+
/v1/monitoring/start:
|
|
19500
|
+
post:
|
|
19501
|
+
operationId: monitoring_start_post
|
|
19502
|
+
summary: Start the resource monitor
|
|
19503
|
+
description: Spawns (or reuses) the resource monitor process as a child of the daemon and enables monitoring.enabled.
|
|
19504
|
+
tags:
|
|
19505
|
+
- system
|
|
19506
|
+
responses:
|
|
19507
|
+
"200":
|
|
19508
|
+
description: Successful response
|
|
19509
|
+
content:
|
|
19510
|
+
application/json:
|
|
19511
|
+
schema:
|
|
19512
|
+
type: object
|
|
19513
|
+
properties:
|
|
19514
|
+
pid:
|
|
19515
|
+
type: number
|
|
19516
|
+
alreadyRunning:
|
|
19517
|
+
type: boolean
|
|
19518
|
+
monitoringEnabled:
|
|
19519
|
+
type: boolean
|
|
19520
|
+
const: true
|
|
19521
|
+
pidPath:
|
|
19522
|
+
type: string
|
|
19523
|
+
required:
|
|
19524
|
+
- pid
|
|
19525
|
+
- alreadyRunning
|
|
19526
|
+
- monitoringEnabled
|
|
19527
|
+
- pidPath
|
|
19528
|
+
additionalProperties: false
|
|
19529
|
+
/v1/monitoring/status:
|
|
19530
|
+
get:
|
|
19531
|
+
operationId: monitoring_status_get
|
|
19532
|
+
summary: Resource monitor status
|
|
19533
|
+
description:
|
|
19534
|
+
Reports the resource monitor process state, monitoring.enabled, the forensics data directory, and the most
|
|
19535
|
+
recent persisted memory/disk sample.
|
|
19536
|
+
tags:
|
|
19537
|
+
- system
|
|
19538
|
+
responses:
|
|
19539
|
+
"200":
|
|
19540
|
+
description: Successful response
|
|
19541
|
+
content:
|
|
19542
|
+
application/json:
|
|
19543
|
+
schema:
|
|
19544
|
+
type: object
|
|
19545
|
+
properties:
|
|
19546
|
+
status:
|
|
19547
|
+
type: string
|
|
19548
|
+
enum:
|
|
19549
|
+
- running
|
|
19550
|
+
- not_running
|
|
19551
|
+
pid:
|
|
19552
|
+
type: number
|
|
19553
|
+
monitoringEnabled:
|
|
19554
|
+
type: boolean
|
|
19555
|
+
dataDir:
|
|
19556
|
+
type: string
|
|
19557
|
+
latestSample:
|
|
19558
|
+
anyOf:
|
|
19559
|
+
- type: object
|
|
19560
|
+
properties:
|
|
19561
|
+
ts:
|
|
19562
|
+
type: number
|
|
19563
|
+
memory:
|
|
19564
|
+
anyOf:
|
|
19565
|
+
- type: object
|
|
19566
|
+
properties:
|
|
19567
|
+
currentBytes:
|
|
19568
|
+
type: number
|
|
19569
|
+
limitBytes:
|
|
19570
|
+
anyOf:
|
|
19571
|
+
- type: number
|
|
19572
|
+
- type: "null"
|
|
19573
|
+
peakBytes:
|
|
19574
|
+
anyOf:
|
|
19575
|
+
- type: number
|
|
19576
|
+
- type: "null"
|
|
19577
|
+
ratio:
|
|
19578
|
+
anyOf:
|
|
19579
|
+
- type: number
|
|
19580
|
+
- type: "null"
|
|
19581
|
+
required:
|
|
19582
|
+
- currentBytes
|
|
19583
|
+
- limitBytes
|
|
19584
|
+
- peakBytes
|
|
19585
|
+
- ratio
|
|
19586
|
+
additionalProperties: false
|
|
19587
|
+
- type: "null"
|
|
19588
|
+
events:
|
|
19589
|
+
anyOf:
|
|
19590
|
+
- type: object
|
|
19591
|
+
properties:
|
|
19592
|
+
low:
|
|
19593
|
+
type: number
|
|
19594
|
+
high:
|
|
19595
|
+
type: number
|
|
19596
|
+
max:
|
|
19597
|
+
type: number
|
|
19598
|
+
oom:
|
|
19599
|
+
type: number
|
|
19600
|
+
oomKill:
|
|
19601
|
+
type: number
|
|
19602
|
+
required:
|
|
19603
|
+
- low
|
|
19604
|
+
- high
|
|
19605
|
+
- max
|
|
19606
|
+
- oom
|
|
19607
|
+
- oomKill
|
|
19608
|
+
additionalProperties: false
|
|
19609
|
+
- type: "null"
|
|
19610
|
+
disk:
|
|
19611
|
+
anyOf:
|
|
19612
|
+
- type: object
|
|
19613
|
+
properties:
|
|
19614
|
+
path:
|
|
19615
|
+
type: string
|
|
19616
|
+
usedMb:
|
|
19617
|
+
type: number
|
|
19618
|
+
totalMb:
|
|
19619
|
+
type: number
|
|
19620
|
+
freeMb:
|
|
19621
|
+
type: number
|
|
19622
|
+
required:
|
|
19623
|
+
- path
|
|
19624
|
+
- usedMb
|
|
19625
|
+
- totalMb
|
|
19626
|
+
- freeMb
|
|
19627
|
+
additionalProperties: false
|
|
19628
|
+
- type: "null"
|
|
19629
|
+
required:
|
|
19630
|
+
- ts
|
|
19631
|
+
- memory
|
|
19632
|
+
- events
|
|
19633
|
+
- disk
|
|
19634
|
+
additionalProperties: false
|
|
19635
|
+
- type: "null"
|
|
19636
|
+
required:
|
|
19637
|
+
- status
|
|
19638
|
+
- monitoringEnabled
|
|
19639
|
+
- dataDir
|
|
19640
|
+
- latestSample
|
|
19641
|
+
additionalProperties: false
|
|
19642
|
+
/v1/monitoring/stop:
|
|
19643
|
+
post:
|
|
19644
|
+
operationId: monitoring_stop_post
|
|
19645
|
+
summary: Stop the resource monitor
|
|
19646
|
+
description: Disables monitoring.enabled and SIGTERMs the resource monitor process if it is running.
|
|
19647
|
+
tags:
|
|
19648
|
+
- system
|
|
19649
|
+
responses:
|
|
19650
|
+
"200":
|
|
19651
|
+
description: Successful response
|
|
19652
|
+
content:
|
|
19653
|
+
application/json:
|
|
19654
|
+
schema:
|
|
19655
|
+
type: object
|
|
19656
|
+
properties:
|
|
19657
|
+
monitoringWasRunning:
|
|
19658
|
+
type: boolean
|
|
19659
|
+
pid:
|
|
19660
|
+
type: number
|
|
19661
|
+
monitoringEnabled:
|
|
19662
|
+
type: boolean
|
|
19663
|
+
const: false
|
|
19664
|
+
required:
|
|
19665
|
+
- monitoringWasRunning
|
|
19666
|
+
- monitoringEnabled
|
|
19667
|
+
additionalProperties: false
|
|
19043
19668
|
/v1/notification-intent-result:
|
|
19044
19669
|
post:
|
|
19045
19670
|
operationId: notificationintentresult_post
|
|
@@ -20592,7 +21217,10 @@ paths:
|
|
|
20592
21217
|
description:
|
|
20593
21218
|
Return one entry per directory under `<workspaceDir>/plugins/`, sorted alphabetically. Matches the CLI's
|
|
20594
21219
|
`assistant plugins list`. Supports `?q=<text>` for case-insensitive substring matching across plugin id, name,
|
|
20595
|
-
and description.
|
|
21220
|
+
and description. Each entry carries a `category` (marketplace slug from the Skills taxonomy, or `null` for
|
|
21221
|
+
non-marketplace installs); the response also reports `categoryCounts` (per-category totals, computed before the
|
|
21222
|
+
category filter) and `totalCount`. `?category=<slug>` filters the returned plugins by category server-side while
|
|
21223
|
+
leaving the counts unfiltered. A marketplace outage degrades `category` to `null` without failing the list.
|
|
20596
21224
|
tags:
|
|
20597
21225
|
- plugins
|
|
20598
21226
|
parameters:
|
|
@@ -20602,6 +21230,12 @@ paths:
|
|
|
20602
21230
|
schema:
|
|
20603
21231
|
type: string
|
|
20604
21232
|
description: Optional substring filter applied to plugin id, name, and description.
|
|
21233
|
+
- name: category
|
|
21234
|
+
in: query
|
|
21235
|
+
required: false
|
|
21236
|
+
schema:
|
|
21237
|
+
type: string
|
|
21238
|
+
description: Filter installed plugins by category slug (Skills taxonomy).
|
|
20605
21239
|
responses:
|
|
20606
21240
|
"200":
|
|
20607
21241
|
description: Successful response
|
|
@@ -20621,6 +21255,11 @@ paths:
|
|
|
20621
21255
|
name:
|
|
20622
21256
|
type: string
|
|
20623
21257
|
description: Display name. Equal to `id` today.
|
|
21258
|
+
enabled:
|
|
21259
|
+
type: boolean
|
|
21260
|
+
description:
|
|
21261
|
+
Whether the plugin is active in this workspace. `false` when a `.disabled` sentinel is present under its
|
|
21262
|
+
directory; `true` otherwise.
|
|
20624
21263
|
description:
|
|
20625
21264
|
anyOf:
|
|
20626
21265
|
- type: string
|
|
@@ -20639,12 +21278,30 @@ paths:
|
|
|
20639
21278
|
type: array
|
|
20640
21279
|
items:
|
|
20641
21280
|
type: string
|
|
21281
|
+
category:
|
|
21282
|
+
description:
|
|
21283
|
+
Marketplace category slug (Skills taxonomy); null when origin/category is unknown, e.g. non-marketplace
|
|
21284
|
+
installs.
|
|
21285
|
+
anyOf:
|
|
21286
|
+
- type: string
|
|
21287
|
+
- type: "null"
|
|
20642
21288
|
required:
|
|
20643
21289
|
- id
|
|
20644
21290
|
- name
|
|
21291
|
+
- enabled
|
|
20645
21292
|
- description
|
|
20646
21293
|
- version
|
|
20647
21294
|
additionalProperties: false
|
|
21295
|
+
categoryCounts:
|
|
21296
|
+
description: Installed plugins per category (before the category filter is applied).
|
|
21297
|
+
type: object
|
|
21298
|
+
propertyNames:
|
|
21299
|
+
type: string
|
|
21300
|
+
additionalProperties:
|
|
21301
|
+
type: number
|
|
21302
|
+
totalCount:
|
|
21303
|
+
description: Total installed plugins matching non-category filters.
|
|
21304
|
+
type: number
|
|
20648
21305
|
required:
|
|
20649
21306
|
- plugins
|
|
20650
21307
|
additionalProperties: false
|
|
@@ -20915,6 +21572,80 @@ paths:
|
|
|
20915
21572
|
description: The install recorded no commit or no fingerprint to re-materialize and verify a baseline from.
|
|
20916
21573
|
"503":
|
|
20917
21574
|
description: The plugin source (GitHub) was temporarily unavailable; the diff is retryable.
|
|
21575
|
+
/v1/plugins/{name}/disable:
|
|
21576
|
+
post:
|
|
21577
|
+
operationId: plugins_by_name_disable_post
|
|
21578
|
+
summary: Disable a plugin
|
|
21579
|
+
description:
|
|
21580
|
+
Disable a plugin in this workspace by dropping a `.disabled` sentinel, mirroring the CLI's `assistant
|
|
21581
|
+
plugins disable <name>`. The change is honored live at read time by every tool / injector / hook gate — no
|
|
21582
|
+
restart required. Broadcasts a `sync_changed` invalidation carrying the `plugins:list` tag so other clients
|
|
21583
|
+
refetch `GET /v1/plugins`. An already-disabled plugin returns 409; a user plugin with no directory returns 404
|
|
21584
|
+
(default plugins are stubbed on demand via the `default-` prefix); a malformed name returns 400.
|
|
21585
|
+
tags:
|
|
21586
|
+
- plugins
|
|
21587
|
+
parameters:
|
|
21588
|
+
- name: name
|
|
21589
|
+
in: path
|
|
21590
|
+
required: true
|
|
21591
|
+
schema:
|
|
21592
|
+
type: string
|
|
21593
|
+
responses:
|
|
21594
|
+
"200":
|
|
21595
|
+
description: Successful response
|
|
21596
|
+
content:
|
|
21597
|
+
application/json:
|
|
21598
|
+
schema:
|
|
21599
|
+
type: object
|
|
21600
|
+
properties:
|
|
21601
|
+
ok:
|
|
21602
|
+
type: boolean
|
|
21603
|
+
required:
|
|
21604
|
+
- ok
|
|
21605
|
+
additionalProperties: false
|
|
21606
|
+
"400":
|
|
21607
|
+
description: The plugin name failed validation (not kebab-case alphanumerics).
|
|
21608
|
+
"404":
|
|
21609
|
+
description: No plugin directory exists with the given name (user plugins must already be installed).
|
|
21610
|
+
"409":
|
|
21611
|
+
description: The plugin is already disabled.
|
|
21612
|
+
/v1/plugins/{name}/enable:
|
|
21613
|
+
post:
|
|
21614
|
+
operationId: plugins_by_name_enable_post
|
|
21615
|
+
summary: Enable a plugin
|
|
21616
|
+
description:
|
|
21617
|
+
Enable a plugin in this workspace by removing its `.disabled` sentinel, mirroring the CLI's `assistant
|
|
21618
|
+
plugins enable <name>`. The change is honored live at read time by every tool / injector / hook gate — no
|
|
21619
|
+
restart required. Broadcasts a `sync_changed` invalidation carrying the `plugins:list` tag so other clients
|
|
21620
|
+
refetch `GET /v1/plugins`. An already-enabled plugin returns 409; a name with no plugin directory returns 404
|
|
21621
|
+
(prefix a default plugin with `default-`); a malformed name returns 400.
|
|
21622
|
+
tags:
|
|
21623
|
+
- plugins
|
|
21624
|
+
parameters:
|
|
21625
|
+
- name: name
|
|
21626
|
+
in: path
|
|
21627
|
+
required: true
|
|
21628
|
+
schema:
|
|
21629
|
+
type: string
|
|
21630
|
+
responses:
|
|
21631
|
+
"200":
|
|
21632
|
+
description: Successful response
|
|
21633
|
+
content:
|
|
21634
|
+
application/json:
|
|
21635
|
+
schema:
|
|
21636
|
+
type: object
|
|
21637
|
+
properties:
|
|
21638
|
+
ok:
|
|
21639
|
+
type: boolean
|
|
21640
|
+
required:
|
|
21641
|
+
- ok
|
|
21642
|
+
additionalProperties: false
|
|
21643
|
+
"400":
|
|
21644
|
+
description: The plugin name failed validation (not kebab-case alphanumerics).
|
|
21645
|
+
"404":
|
|
21646
|
+
description: No plugin directory exists with the given name.
|
|
21647
|
+
"409":
|
|
21648
|
+
description: The plugin is already enabled.
|
|
20918
21649
|
/v1/plugins/{name}/inspect:
|
|
20919
21650
|
get:
|
|
20920
21651
|
operationId: plugins_by_name_inspect_get
|
|
@@ -21505,6 +22236,11 @@ paths:
|
|
|
21505
22236
|
description:
|
|
21506
22237
|
description: Short description, when known (external entries only today).
|
|
21507
22238
|
type: string
|
|
22239
|
+
category:
|
|
22240
|
+
anyOf:
|
|
22241
|
+
- type: string
|
|
22242
|
+
- type: "null"
|
|
22243
|
+
description: Marketplace category slug (Skills taxonomy); null when the entry declares none.
|
|
21508
22244
|
source:
|
|
21509
22245
|
type: object
|
|
21510
22246
|
properties:
|
|
@@ -21529,6 +22265,7 @@ paths:
|
|
|
21529
22265
|
required:
|
|
21530
22266
|
- name
|
|
21531
22267
|
- path
|
|
22268
|
+
- category
|
|
21532
22269
|
- source
|
|
21533
22270
|
additionalProperties: false
|
|
21534
22271
|
description: Directory matches, sorted alphabetically by name.
|
|
@@ -22442,7 +23179,7 @@ paths:
|
|
|
22442
23179
|
post:
|
|
22443
23180
|
operationId: schedules_post
|
|
22444
23181
|
summary: Create schedule
|
|
22445
|
-
description: Create a new recurring schedule
|
|
23182
|
+
description: Create a new recurring schedule (execute, script, or workflow mode).
|
|
22446
23183
|
tags:
|
|
22447
23184
|
- schedules
|
|
22448
23185
|
requestBody:
|
|
@@ -22473,172 +23210,178 @@ paths:
|
|
|
22473
23210
|
description: IANA timezone, e.g. America/New_York
|
|
22474
23211
|
enabled:
|
|
22475
23212
|
type: boolean
|
|
22476
|
-
description: Whether the schedule starts active (default true)
|
|
22477
|
-
mode:
|
|
22478
|
-
type: string
|
|
22479
|
-
description: "'execute' (default) or 'workflow' (flag-gated)"
|
|
22480
|
-
workflowName:
|
|
22481
|
-
type: string
|
|
22482
|
-
description: Saved workflow to trigger (required for workflow mode)
|
|
22483
|
-
workflowArgs:
|
|
22484
|
-
description: Args passed to the workflow run (workflow mode)
|
|
22485
|
-
|
|
22486
|
-
|
|
22487
|
-
|
|
22488
|
-
|
|
22489
|
-
|
|
22490
|
-
|
|
22491
|
-
|
|
22492
|
-
|
|
22493
|
-
|
|
22494
|
-
|
|
22495
|
-
|
|
22496
|
-
|
|
22497
|
-
|
|
22498
|
-
|
|
22499
|
-
|
|
22500
|
-
|
|
22501
|
-
|
|
22502
|
-
|
|
22503
|
-
|
|
22504
|
-
|
|
22505
|
-
|
|
22506
|
-
|
|
22507
|
-
|
|
22508
|
-
|
|
22509
|
-
|
|
22510
|
-
|
|
22511
|
-
|
|
22512
|
-
|
|
22513
|
-
|
|
22514
|
-
|
|
22515
|
-
|
|
22516
|
-
|
|
22517
|
-
|
|
22518
|
-
|
|
22519
|
-
|
|
22520
|
-
|
|
22521
|
-
|
|
22522
|
-
|
|
22523
|
-
|
|
22524
|
-
|
|
22525
|
-
|
|
22526
|
-
|
|
22527
|
-
|
|
22528
|
-
|
|
22529
|
-
|
|
22530
|
-
|
|
22531
|
-
|
|
22532
|
-
type:
|
|
22533
|
-
|
|
22534
|
-
|
|
22535
|
-
|
|
22536
|
-
|
|
22537
|
-
|
|
22538
|
-
|
|
22539
|
-
|
|
22540
|
-
|
|
22541
|
-
|
|
22542
|
-
|
|
22543
|
-
|
|
22544
|
-
|
|
22545
|
-
|
|
22546
|
-
|
|
22547
|
-
|
|
22548
|
-
type:
|
|
22549
|
-
|
|
22550
|
-
|
|
22551
|
-
|
|
22552
|
-
type:
|
|
22553
|
-
|
|
22554
|
-
|
|
22555
|
-
|
|
22556
|
-
|
|
22557
|
-
|
|
22558
|
-
|
|
22559
|
-
|
|
22560
|
-
|
|
22561
|
-
|
|
22562
|
-
|
|
22563
|
-
|
|
22564
|
-
|
|
22565
|
-
|
|
22566
|
-
type:
|
|
22567
|
-
|
|
22568
|
-
|
|
22569
|
-
|
|
22570
|
-
|
|
22571
|
-
|
|
22572
|
-
|
|
22573
|
-
|
|
22574
|
-
|
|
22575
|
-
|
|
22576
|
-
type:
|
|
22577
|
-
|
|
22578
|
-
|
|
22579
|
-
|
|
22580
|
-
|
|
22581
|
-
|
|
22582
|
-
|
|
22583
|
-
|
|
22584
|
-
|
|
22585
|
-
|
|
22586
|
-
|
|
22587
|
-
|
|
22588
|
-
|
|
22589
|
-
|
|
22590
|
-
|
|
22591
|
-
|
|
22592
|
-
|
|
22593
|
-
|
|
22594
|
-
|
|
22595
|
-
|
|
22596
|
-
|
|
22597
|
-
|
|
22598
|
-
|
|
22599
|
-
|
|
22600
|
-
|
|
22601
|
-
|
|
22602
|
-
|
|
22603
|
-
|
|
22604
|
-
|
|
22605
|
-
|
|
22606
|
-
|
|
22607
|
-
type:
|
|
22608
|
-
|
|
22609
|
-
|
|
22610
|
-
|
|
22611
|
-
|
|
22612
|
-
|
|
22613
|
-
|
|
22614
|
-
|
|
22615
|
-
|
|
22616
|
-
|
|
22617
|
-
|
|
22618
|
-
|
|
22619
|
-
|
|
22620
|
-
|
|
22621
|
-
|
|
22622
|
-
|
|
22623
|
-
|
|
22624
|
-
|
|
22625
|
-
|
|
22626
|
-
|
|
22627
|
-
|
|
22628
|
-
|
|
22629
|
-
|
|
22630
|
-
|
|
22631
|
-
|
|
22632
|
-
|
|
22633
|
-
|
|
22634
|
-
|
|
22635
|
-
|
|
22636
|
-
|
|
22637
|
-
|
|
22638
|
-
|
|
22639
|
-
|
|
23213
|
+
description: Whether the schedule starts active (default true)
|
|
23214
|
+
mode:
|
|
23215
|
+
type: string
|
|
23216
|
+
description: "'execute' (default), 'script', or 'workflow' (flag-gated)"
|
|
23217
|
+
workflowName:
|
|
23218
|
+
type: string
|
|
23219
|
+
description: Saved workflow to trigger (required for workflow mode)
|
|
23220
|
+
workflowArgs:
|
|
23221
|
+
description: Args passed to the workflow run (workflow mode)
|
|
23222
|
+
script:
|
|
23223
|
+
type: string
|
|
23224
|
+
description: Shell command run on each fire (required for script mode)
|
|
23225
|
+
timeoutMs:
|
|
23226
|
+
anyOf:
|
|
23227
|
+
- type: number
|
|
23228
|
+
- type: "null"
|
|
23229
|
+
description: Script execution timeout override in ms (script mode)
|
|
23230
|
+
inferenceProfile:
|
|
23231
|
+
anyOf:
|
|
23232
|
+
- type: string
|
|
23233
|
+
- type: "null"
|
|
23234
|
+
description:
|
|
23235
|
+
Inference profile (llm.profiles key) the schedule's runs use. Omitted or null = default, i.e. the mainAgent
|
|
23236
|
+
call-site model selection.
|
|
23237
|
+
required:
|
|
23238
|
+
- name
|
|
23239
|
+
- expression
|
|
23240
|
+
responses:
|
|
23241
|
+
"200":
|
|
23242
|
+
description: Successful response
|
|
23243
|
+
content:
|
|
23244
|
+
application/json:
|
|
23245
|
+
schema:
|
|
23246
|
+
type: object
|
|
23247
|
+
properties:
|
|
23248
|
+
schedule:
|
|
23249
|
+
type: object
|
|
23250
|
+
properties:
|
|
23251
|
+
id:
|
|
23252
|
+
type: string
|
|
23253
|
+
name:
|
|
23254
|
+
type: string
|
|
23255
|
+
enabled:
|
|
23256
|
+
type: boolean
|
|
23257
|
+
syntax:
|
|
23258
|
+
type: string
|
|
23259
|
+
enum:
|
|
23260
|
+
- cron
|
|
23261
|
+
- rrule
|
|
23262
|
+
expression:
|
|
23263
|
+
anyOf:
|
|
23264
|
+
- type: string
|
|
23265
|
+
- type: "null"
|
|
23266
|
+
cronExpression:
|
|
23267
|
+
anyOf:
|
|
23268
|
+
- type: string
|
|
23269
|
+
- type: "null"
|
|
23270
|
+
timezone:
|
|
23271
|
+
anyOf:
|
|
23272
|
+
- type: string
|
|
23273
|
+
- type: "null"
|
|
23274
|
+
message:
|
|
23275
|
+
type: string
|
|
23276
|
+
script:
|
|
23277
|
+
anyOf:
|
|
23278
|
+
- type: string
|
|
23279
|
+
- type: "null"
|
|
23280
|
+
nextRunAt:
|
|
23281
|
+
type: number
|
|
23282
|
+
lastRunAt:
|
|
23283
|
+
anyOf:
|
|
23284
|
+
- type: number
|
|
23285
|
+
- type: "null"
|
|
23286
|
+
lastStatus:
|
|
23287
|
+
anyOf:
|
|
23288
|
+
- type: string
|
|
23289
|
+
- type: "null"
|
|
23290
|
+
retryCount:
|
|
23291
|
+
type: number
|
|
23292
|
+
maxRetries:
|
|
23293
|
+
type: number
|
|
23294
|
+
retryBackoffMs:
|
|
23295
|
+
type: number
|
|
23296
|
+
timeoutMs:
|
|
23297
|
+
anyOf:
|
|
23298
|
+
- type: number
|
|
23299
|
+
- type: "null"
|
|
23300
|
+
inferenceProfile:
|
|
23301
|
+
anyOf:
|
|
23302
|
+
- type: string
|
|
23303
|
+
- type: "null"
|
|
23304
|
+
createdFromConversationId:
|
|
23305
|
+
anyOf:
|
|
23306
|
+
- type: string
|
|
23307
|
+
- type: "null"
|
|
23308
|
+
createdFromConversationExists:
|
|
23309
|
+
type: boolean
|
|
23310
|
+
createdFromConversationArchivedAt:
|
|
23311
|
+
anyOf:
|
|
23312
|
+
- type: number
|
|
23313
|
+
- type: "null"
|
|
23314
|
+
description:
|
|
23315
|
+
type: string
|
|
23316
|
+
cadenceDescription:
|
|
23317
|
+
type: string
|
|
23318
|
+
mode:
|
|
23319
|
+
type: string
|
|
23320
|
+
enum:
|
|
23321
|
+
- notify
|
|
23322
|
+
- execute
|
|
23323
|
+
- script
|
|
23324
|
+
- wake
|
|
23325
|
+
- workflow
|
|
23326
|
+
status:
|
|
23327
|
+
type: string
|
|
23328
|
+
enum:
|
|
23329
|
+
- active
|
|
23330
|
+
- firing
|
|
23331
|
+
- fired
|
|
23332
|
+
- cancelled
|
|
23333
|
+
routingIntent:
|
|
23334
|
+
type: string
|
|
23335
|
+
enum:
|
|
23336
|
+
- single_channel
|
|
23337
|
+
- multi_channel
|
|
23338
|
+
- all_channels
|
|
23339
|
+
reuseConversation:
|
|
23340
|
+
type: boolean
|
|
23341
|
+
wakeConversationId:
|
|
23342
|
+
anyOf:
|
|
23343
|
+
- type: string
|
|
23344
|
+
- type: "null"
|
|
23345
|
+
workflowName:
|
|
23346
|
+
anyOf:
|
|
23347
|
+
- type: string
|
|
23348
|
+
- type: "null"
|
|
23349
|
+
isOneShot:
|
|
23350
|
+
type: boolean
|
|
23351
|
+
required:
|
|
23352
|
+
- id
|
|
23353
|
+
- name
|
|
23354
|
+
- enabled
|
|
23355
|
+
- syntax
|
|
23356
|
+
- expression
|
|
23357
|
+
- cronExpression
|
|
23358
|
+
- timezone
|
|
23359
|
+
- message
|
|
23360
|
+
- script
|
|
23361
|
+
- nextRunAt
|
|
23362
|
+
- lastRunAt
|
|
23363
|
+
- lastStatus
|
|
23364
|
+
- retryCount
|
|
23365
|
+
- maxRetries
|
|
23366
|
+
- retryBackoffMs
|
|
23367
|
+
- timeoutMs
|
|
23368
|
+
- inferenceProfile
|
|
23369
|
+
- createdFromConversationId
|
|
23370
|
+
- createdFromConversationExists
|
|
23371
|
+
- createdFromConversationArchivedAt
|
|
23372
|
+
- description
|
|
23373
|
+
- cadenceDescription
|
|
23374
|
+
- mode
|
|
23375
|
+
- status
|
|
23376
|
+
- routingIntent
|
|
23377
|
+
- reuseConversation
|
|
23378
|
+
- wakeConversationId
|
|
23379
|
+
- workflowName
|
|
23380
|
+
- isOneShot
|
|
23381
|
+
additionalProperties: false
|
|
23382
|
+
description: The created schedule
|
|
22640
23383
|
required:
|
|
22641
|
-
-
|
|
23384
|
+
- schedule
|
|
22642
23385
|
additionalProperties: false
|
|
22643
23386
|
/v1/schedules/{id}:
|
|
22644
23387
|
delete:
|
|
@@ -23823,6 +24566,110 @@ paths:
|
|
|
23823
24566
|
required:
|
|
23824
24567
|
- summaries
|
|
23825
24568
|
additionalProperties: false
|
|
24569
|
+
/v1/schedules/worker/start:
|
|
24570
|
+
post:
|
|
24571
|
+
operationId: schedules_worker_start_post
|
|
24572
|
+
summary: Start the schedule worker
|
|
24573
|
+
description:
|
|
24574
|
+
Spawns (or reuses) the schedule worker process as a child of the daemon and enables
|
|
24575
|
+
schedules.worker.enabled, so scheduled jobs run out of process.
|
|
24576
|
+
tags:
|
|
24577
|
+
- system
|
|
24578
|
+
responses:
|
|
24579
|
+
"200":
|
|
24580
|
+
description: Successful response
|
|
24581
|
+
content:
|
|
24582
|
+
application/json:
|
|
24583
|
+
schema:
|
|
24584
|
+
type: object
|
|
24585
|
+
properties:
|
|
24586
|
+
pid:
|
|
24587
|
+
type: number
|
|
24588
|
+
alreadyRunning:
|
|
24589
|
+
type: boolean
|
|
24590
|
+
workerEnabled:
|
|
24591
|
+
type: boolean
|
|
24592
|
+
const: true
|
|
24593
|
+
pidPath:
|
|
24594
|
+
type: string
|
|
24595
|
+
required:
|
|
24596
|
+
- pid
|
|
24597
|
+
- alreadyRunning
|
|
24598
|
+
- workerEnabled
|
|
24599
|
+
- pidPath
|
|
24600
|
+
additionalProperties: false
|
|
24601
|
+
/v1/schedules/worker/status:
|
|
24602
|
+
get:
|
|
24603
|
+
operationId: schedules_worker_status_get
|
|
24604
|
+
summary: Schedule worker status
|
|
24605
|
+
description:
|
|
24606
|
+
Reports the schedule worker process state, schedules.worker.enabled, and whether the daemon's in-process
|
|
24607
|
+
scheduler is currently executing schedules.
|
|
24608
|
+
tags:
|
|
24609
|
+
- system
|
|
24610
|
+
responses:
|
|
24611
|
+
"200":
|
|
24612
|
+
description: Successful response
|
|
24613
|
+
content:
|
|
24614
|
+
application/json:
|
|
24615
|
+
schema:
|
|
24616
|
+
type: object
|
|
24617
|
+
properties:
|
|
24618
|
+
status:
|
|
24619
|
+
type: string
|
|
24620
|
+
enum:
|
|
24621
|
+
- running
|
|
24622
|
+
- not_running
|
|
24623
|
+
pid:
|
|
24624
|
+
type: number
|
|
24625
|
+
workerEnabled:
|
|
24626
|
+
type: boolean
|
|
24627
|
+
inProcessScheduler:
|
|
24628
|
+
type: object
|
|
24629
|
+
properties:
|
|
24630
|
+
status:
|
|
24631
|
+
type: string
|
|
24632
|
+
enum:
|
|
24633
|
+
- running
|
|
24634
|
+
- not_running
|
|
24635
|
+
pid:
|
|
24636
|
+
type: number
|
|
24637
|
+
required:
|
|
24638
|
+
- status
|
|
24639
|
+
additionalProperties: false
|
|
24640
|
+
required:
|
|
24641
|
+
- status
|
|
24642
|
+
- workerEnabled
|
|
24643
|
+
- inProcessScheduler
|
|
24644
|
+
additionalProperties: false
|
|
24645
|
+
/v1/schedules/worker/stop:
|
|
24646
|
+
post:
|
|
24647
|
+
operationId: schedules_worker_stop_post
|
|
24648
|
+
summary: Stop the schedule worker
|
|
24649
|
+
description:
|
|
24650
|
+
Disables schedules.worker.enabled (handing schedule execution back to the in-process scheduler) and
|
|
24651
|
+
SIGTERMs the schedule worker process if it is running.
|
|
24652
|
+
tags:
|
|
24653
|
+
- system
|
|
24654
|
+
responses:
|
|
24655
|
+
"200":
|
|
24656
|
+
description: Successful response
|
|
24657
|
+
content:
|
|
24658
|
+
application/json:
|
|
24659
|
+
schema:
|
|
24660
|
+
type: object
|
|
24661
|
+
properties:
|
|
24662
|
+
workerWasRunning:
|
|
24663
|
+
type: boolean
|
|
24664
|
+
pid:
|
|
24665
|
+
type: number
|
|
24666
|
+
workerEnabled:
|
|
24667
|
+
type: boolean
|
|
24668
|
+
const: false
|
|
24669
|
+
required:
|
|
24670
|
+
- workerWasRunning
|
|
24671
|
+
- workerEnabled
|
|
24672
|
+
additionalProperties: false
|
|
23826
24673
|
/v1/search:
|
|
23827
24674
|
get:
|
|
23828
24675
|
operationId: search_get
|
|
@@ -26786,6 +27633,7 @@ paths:
|
|
|
26786
27633
|
- completed
|
|
26787
27634
|
- failed
|
|
26788
27635
|
- aborted
|
|
27636
|
+
- interrupted
|
|
26789
27637
|
usage:
|
|
26790
27638
|
type: object
|
|
26791
27639
|
properties:
|