@vellumai/assistant 0.12.2 → 0.12.3-dev.202609220419.f870d95

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.
Files changed (821) hide show
  1. package/.env.example +2 -0
  2. package/AGENTS.md +1 -1
  3. package/ARCHITECTURE.md +43 -29
  4. package/Dockerfile +70 -0
  5. package/README.md +12 -12
  6. package/docker/mousepad/90-vellum.gschema.override +4 -0
  7. package/docs/architecture/integrations.md +7 -0
  8. package/docs/architecture/memory.md +17 -2
  9. package/docs/architecture/security.md +10 -5
  10. package/docs/architecture/turn-actor.md +2 -0
  11. package/docs/credential-execution-service.md +1 -1
  12. package/docs/desktop-browser-cli.md +50 -5
  13. package/docs/live-voice-task-outcomes.md +100 -0
  14. package/docs/mode-sessions.md +183 -0
  15. package/docs/voice-input-diagnostics.md +58 -0
  16. package/node_modules/@vellumai/ces-client/node_modules/@vellumai/service-contracts/package.json +2 -1
  17. package/node_modules/@vellumai/ces-client/node_modules/@vellumai/service-contracts/src/__tests__/secret-detection.test.ts +1 -0
  18. package/node_modules/@vellumai/ces-client/node_modules/@vellumai/service-contracts/src/index.ts +1 -0
  19. package/node_modules/@vellumai/ces-client/node_modules/@vellumai/service-contracts/src/integration-categories.ts +36 -0
  20. package/node_modules/@vellumai/ces-client/node_modules/@vellumai/service-contracts/src/secret-detection.ts +4 -1
  21. package/node_modules/@vellumai/environments/src/shell.test.ts +21 -0
  22. package/node_modules/@vellumai/environments/src/shell.ts +24 -0
  23. package/node_modules/@vellumai/gateway-client/node_modules/@vellumai/service-contracts/package.json +2 -1
  24. package/node_modules/@vellumai/gateway-client/node_modules/@vellumai/service-contracts/src/__tests__/secret-detection.test.ts +1 -0
  25. package/node_modules/@vellumai/gateway-client/node_modules/@vellumai/service-contracts/src/index.ts +1 -0
  26. package/node_modules/@vellumai/gateway-client/node_modules/@vellumai/service-contracts/src/integration-categories.ts +36 -0
  27. package/node_modules/@vellumai/gateway-client/node_modules/@vellumai/service-contracts/src/secret-detection.ts +4 -1
  28. package/node_modules/@vellumai/gateway-client/src/gateway-ipc-contracts.ts +20 -0
  29. package/node_modules/@vellumai/gateway-client/src/inbound-contract.ts +8 -2
  30. package/node_modules/@vellumai/gateway-client/src/index.ts +4 -1
  31. package/node_modules/@vellumai/gateway-client/src/outbound-contract.ts +38 -7
  32. package/node_modules/@vellumai/gateway-client/src/trust-verdict-contract.ts +5 -6
  33. package/node_modules/@vellumai/service-contracts/package.json +2 -1
  34. package/node_modules/@vellumai/service-contracts/src/__tests__/secret-detection.test.ts +1 -0
  35. package/node_modules/@vellumai/service-contracts/src/index.ts +1 -0
  36. package/node_modules/@vellumai/service-contracts/src/integration-categories.ts +36 -0
  37. package/node_modules/@vellumai/service-contracts/src/secret-detection.ts +4 -1
  38. package/node_modules/@vellumai/slack-text/src/index.ts +4 -8
  39. package/openapi.yaml +721 -17
  40. package/package.json +1 -1
  41. package/scripts/smoke-desktop-browser-cli.ts +11 -26
  42. package/scripts/smoke-desktop-window-theme.ts +2 -3
  43. package/scripts/sync-llm-catalog.ts +3 -0
  44. package/scripts/voice-ttft-spike.ts +2 -2
  45. package/src/__tests__/agent-loop-output-hooks.test.ts +150 -1
  46. package/src/__tests__/agent-loop-provider-error-recording.test.ts +87 -19
  47. package/src/__tests__/agent-loop.test.ts +259 -0
  48. package/src/__tests__/agent-wake-delegation-prompt.test.ts +64 -2
  49. package/src/__tests__/annotate-activity-metadata.test.ts +3 -1
  50. package/src/__tests__/annotate-risk-options.test.ts +2 -0
  51. package/src/__tests__/answered-question-persistence.test.ts +2 -0
  52. package/src/__tests__/anthropic-gateway-shared.test.ts +22 -0
  53. package/src/__tests__/anthropic-provider.test.ts +55 -0
  54. package/src/__tests__/approval-interception-trust-gates.test.ts +40 -0
  55. package/src/__tests__/approval-message-composer.test.ts +1 -118
  56. package/src/__tests__/approval-routes-http.test.ts +7 -2
  57. package/src/__tests__/assistant-event-hub-connection-history.test.ts +111 -0
  58. package/src/__tests__/assistant-event-hub-targeted.test.ts +50 -0
  59. package/src/__tests__/assistant-event-targeting.test.ts +186 -0
  60. package/src/__tests__/assistant-stream-state.test.ts +29 -9
  61. package/src/__tests__/attachments-store.test.ts +22 -3
  62. package/src/__tests__/browser-fill-credential.test.ts +11 -22
  63. package/src/__tests__/btw-routes.test.ts +4 -1
  64. package/src/__tests__/build-persisted-content.test.ts +1 -1
  65. package/src/__tests__/call-conversation-messages.test.ts +5 -0
  66. package/src/__tests__/call-recovery.test.ts +7 -2
  67. package/src/__tests__/call-routes-http.test.ts +16 -2
  68. package/src/__tests__/call-store.test.ts +7 -2
  69. package/src/__tests__/channel-approval.test.ts +9 -14
  70. package/src/__tests__/channel-reply-delivery.test.ts +56 -0
  71. package/src/__tests__/channel-retry-sweep.test.ts +9 -0
  72. package/src/__tests__/chat-credential-redaction.test.ts +23 -0
  73. package/src/__tests__/chat-reveal-guard-priming.test.ts +2 -0
  74. package/src/__tests__/checker.test.ts +11 -3
  75. package/src/__tests__/client-os-metadata-persistence.test.ts +35 -1
  76. package/src/__tests__/computer-use-screenshot-attachments.test.ts +411 -0
  77. package/src/__tests__/computer-use-screenshot-selection.test.ts +50 -0
  78. package/src/__tests__/computer-use-skill-manifest-regression.test.ts +0 -25
  79. package/src/__tests__/computer-use-tools.test.ts +1 -233
  80. package/src/__tests__/config-model-image-provider.test.ts +39 -0
  81. package/src/__tests__/config-schema.test.ts +16 -0
  82. package/src/__tests__/config-watcher.test.ts +24 -0
  83. package/src/__tests__/context-search-agent-runner.test.ts +260 -1
  84. package/src/__tests__/context-search-fanout.test.ts +1 -1
  85. package/src/__tests__/context-search-types.test.ts +7 -7
  86. package/src/__tests__/conversation-agent-loop-disk-pressure.test.ts +8 -2
  87. package/src/__tests__/conversation-agent-loop-fatal-cleanup.test.ts +2 -0
  88. package/src/__tests__/conversation-agent-loop-inference-profile.test.ts +2 -0
  89. package/src/__tests__/conversation-agent-loop-overflow.test.ts +2 -0
  90. package/src/__tests__/conversation-agent-loop.test.ts +797 -16
  91. package/src/__tests__/conversation-app-control-lifecycle.test.ts +53 -1
  92. package/src/__tests__/conversation-attachments.test.ts +106 -0
  93. package/src/__tests__/conversation-evictor.test.ts +62 -37
  94. package/src/__tests__/conversation-fork-crud.test.ts +191 -0
  95. package/src/__tests__/conversation-history-boundary-repair-failure.test.ts +174 -0
  96. package/src/__tests__/conversation-loop-db-lock-resilience.test.ts +2 -0
  97. package/src/__tests__/conversation-process-app-control-preactivation.test.ts +2 -0
  98. package/src/__tests__/conversation-rendered-delegation-state.test.ts +276 -0
  99. package/src/__tests__/conversation-resurface-done.test.ts +289 -0
  100. package/src/__tests__/conversation-retry-route.test.ts +22 -0
  101. package/src/__tests__/conversation-routes-disk-view.test.ts +2 -0
  102. package/src/__tests__/conversation-routes-enabled-plugins.test.ts +2 -0
  103. package/src/__tests__/conversation-routes-guardian-reply.test.ts +10 -0
  104. package/src/__tests__/conversation-routes-hidden-queue.test.ts +2 -0
  105. package/src/__tests__/conversation-routes-slash-commands.test.ts +2 -0
  106. package/src/__tests__/conversation-runtime-assembly.test.ts +29 -0
  107. package/src/__tests__/conversation-surface-snapshots.test.ts +543 -0
  108. package/src/__tests__/conversation-surfaces-action-delivery.test.ts +151 -0
  109. package/src/__tests__/conversation-surfaces-point-at-budget.test.ts +63 -1
  110. package/src/__tests__/conversation-tool-setup-attribution.test.ts +23 -0
  111. package/src/__tests__/conversation-undo.test.ts +61 -0
  112. package/src/__tests__/credential-execution-client.test.ts +72 -55
  113. package/src/__tests__/credential-prompt-route.test.ts +35 -3
  114. package/src/__tests__/cu-unified-flow.test.ts +82 -1
  115. package/src/__tests__/db-conversation-tool-surface.test.ts +221 -0
  116. package/src/__tests__/db-mode-sessions-migration.test.ts +175 -0
  117. package/src/__tests__/deterministic-verification-control-plane.test.ts +2 -0
  118. package/src/__tests__/dm-backfill.test.ts +91 -1
  119. package/src/__tests__/document-create-route.test.ts +88 -0
  120. package/src/__tests__/document-sync-tags.test.ts +27 -0
  121. package/src/__tests__/emit-signal-routing-intent.test.ts +142 -2
  122. package/src/__tests__/events-tail-route.test.ts +58 -0
  123. package/src/__tests__/evict-conversations-for-reload.test.ts +57 -8
  124. package/src/__tests__/gemini-provider.test.ts +31 -0
  125. package/src/__tests__/guardian-action-sweep.test.ts +16 -0
  126. package/src/__tests__/guardian-dispatch.test.ts +13 -0
  127. package/src/__tests__/headless-browser-interactions.test.ts +64 -20
  128. package/src/__tests__/heartbeat-service.test.ts +2 -59
  129. package/src/__tests__/helpers/mock-conversation.ts +21 -0
  130. package/src/__tests__/helpers/native-web-search-harness.ts +2 -0
  131. package/src/__tests__/helpers/verification-sessions-ipc-sim.ts +5 -0
  132. package/src/__tests__/history-repair.test.ts +53 -0
  133. package/src/__tests__/host-cu-proxy.test.ts +46 -2
  134. package/src/__tests__/http-user-message-parity.test.ts +2 -0
  135. package/src/__tests__/image-credentials.test.ts +49 -0
  136. package/src/__tests__/image-service-dispatcher.test.ts +45 -0
  137. package/src/__tests__/inference-profile-session-handler.test.ts +26 -0
  138. package/src/__tests__/interrupt-on-send.test.ts +57 -43
  139. package/src/__tests__/interrupt-turn-note.test.ts +5 -6
  140. package/src/__tests__/list-messages-tool-merge.test.ts +85 -1
  141. package/src/__tests__/llm-catalog-parity.test.ts +27 -4
  142. package/src/__tests__/media-generate-image.test.ts +49 -1
  143. package/src/__tests__/message-provenance-contact-id.test.ts +69 -0
  144. package/src/__tests__/migration-export-to-gcs.test.ts +142 -0
  145. package/src/__tests__/mode-session-history.test.ts +245 -0
  146. package/src/__tests__/mode-session-recovery.test.ts +222 -0
  147. package/src/__tests__/mode-session-wire.test.ts +141 -0
  148. package/src/__tests__/notification-guardian-path.test.ts +7 -0
  149. package/src/__tests__/notification-telegram-adapter.test.ts +2 -2
  150. package/src/__tests__/notification-vellum-adapter.test.ts +34 -0
  151. package/src/__tests__/oauth-apps-routes.test.ts +1 -0
  152. package/src/__tests__/oauth-commands-routes.test.ts +114 -101
  153. package/src/__tests__/oauth-connect-orchestrator.test.ts +2 -0
  154. package/src/__tests__/oauth-provider-serializer.test.ts +13 -0
  155. package/src/__tests__/oauth-providers-routes.test.ts +3 -0
  156. package/src/__tests__/outbound-slack-persistence.test.ts +2 -0
  157. package/src/__tests__/persist-media-references.test.ts +50 -0
  158. package/src/__tests__/persistence-secret-redaction.test.ts +2 -0
  159. package/src/__tests__/plugin-api-provider.test.ts +5 -0
  160. package/src/__tests__/plugin-api-resolve-credential.test.ts +97 -0
  161. package/src/__tests__/plugin-import-boundary-guard.test.ts +9 -1
  162. package/src/__tests__/process-message-display-content.test.ts +56 -0
  163. package/src/__tests__/provider-error-scenarios.test.ts +46 -0
  164. package/src/__tests__/provider-platform-proxy-integration.test.ts +45 -15
  165. package/src/__tests__/reaction-persistence.test.ts +5 -0
  166. package/src/__tests__/request-secret-standalone-channel-gate.test.ts +25 -9
  167. package/src/__tests__/retry-fallback-escalation.test.ts +22 -0
  168. package/src/__tests__/run-conversation-turn-persistence.test.ts +138 -1
  169. package/src/__tests__/runtime-attachment-metadata.test.ts +4 -2
  170. package/src/__tests__/runtime-events-sse-reconnect.test.ts +1 -1
  171. package/src/__tests__/schedule-routes.test.ts +20 -0
  172. package/src/__tests__/scheduler-result-notification.test.ts +23 -4
  173. package/src/__tests__/script-proxy-certs.test.ts +1 -1
  174. package/src/__tests__/scripted-turn-metadata-persistence.test.ts +73 -0
  175. package/src/__tests__/secret-ingress-http.test.ts +2 -0
  176. package/src/__tests__/secret-routes-platform-proxy.test.ts +87 -31
  177. package/src/__tests__/secret-routes-scrub.test.ts +22 -27
  178. package/src/__tests__/secret-scanner.test.ts +20 -0
  179. package/src/__tests__/secure-keys-managed-failover.test.ts +8 -0
  180. package/src/__tests__/secure-keys.test.ts +50 -4
  181. package/src/__tests__/send-endpoint-busy.test.ts +167 -3
  182. package/src/__tests__/server-history-render.test.ts +91 -1
  183. package/src/__tests__/server-tool-pairing.test.ts +107 -0
  184. package/src/__tests__/settings-routes.test.ts +50 -1
  185. package/src/__tests__/skill-script-runner-sandbox.test.ts +32 -0
  186. package/src/__tests__/skills.test.ts +5 -4
  187. package/src/__tests__/steer-on-enqueue-question.test.ts +265 -34
  188. package/src/__tests__/subagent-fork-notifications.test.ts +1 -2
  189. package/src/__tests__/subagent-manager-notify.test.ts +1 -2
  190. package/src/__tests__/subagent-notify-parent.test.ts +146 -39
  191. package/src/__tests__/subagent-notify-stale-rebuild.test.ts +2 -4
  192. package/src/__tests__/subagent-tool-gate-mode.test.ts +226 -0
  193. package/src/__tests__/surface-completion-in-flight-snapshot.test.ts +2 -0
  194. package/src/__tests__/terminal-tools.test.ts +8 -0
  195. package/src/__tests__/thread-backfill.test.ts +53 -0
  196. package/src/__tests__/tool-preview-lifecycle.test.ts +2 -0
  197. package/src/__tests__/tool-result-follow-up.test.ts +99 -0
  198. package/src/__tests__/tool-result-metadata-plumbing.test.ts +66 -1
  199. package/src/__tests__/tool-start-timestamp.test.ts +2 -0
  200. package/src/__tests__/twilio-routes.test.ts +1 -0
  201. package/src/__tests__/unicode.test.ts +36 -0
  202. package/src/__tests__/web-search-backend-failure.test.ts +1 -1
  203. package/src/activation/progress-store.test.ts +12 -7
  204. package/src/agent/loop.ts +136 -53
  205. package/src/agent/tool-result-follow-up.ts +70 -0
  206. package/src/api/attachment-provenance.test.ts +68 -0
  207. package/src/api/computer-use-tool.test.ts +55 -0
  208. package/src/api/computer-use-tool.ts +27 -0
  209. package/src/api/events/assistant-outbound-attachment.ts +3 -0
  210. package/src/api/events/assistant-turn-start.ts +3 -0
  211. package/src/api/events/desktop-activity-changed.ts +10 -0
  212. package/src/api/events/generation-handoff.ts +2 -0
  213. package/src/api/events/message-complete.ts +2 -0
  214. package/src/api/events/notification-conversation-created.ts +14 -16
  215. package/src/api/events/notification-intent.ts +4 -2
  216. package/src/api/events/question-request.ts +1 -0
  217. package/src/api/events/tool-result.ts +85 -0
  218. package/src/api/events/tool-use-start.ts +3 -0
  219. package/src/api/events/user-message-echo.ts +3 -0
  220. package/src/api/index.ts +42 -6
  221. package/src/api/mode-session.test.ts +131 -0
  222. package/src/api/mode-session.ts +148 -0
  223. package/src/api/remember-tool.ts +15 -0
  224. package/src/api/responses/conversation-message.ts +9 -0
  225. package/src/approvals/AGENTS.md +4 -2
  226. package/src/approvals/approval-primitive.ts +5 -2
  227. package/src/approvals/scoped-approval-grants.ts +6 -2
  228. package/src/browser/__tests__/operations.test.ts +29 -0
  229. package/src/browser/operation-meta.ts +2 -1
  230. package/src/browser/operations.ts +29 -0
  231. package/src/browser/virtual-desktop-target.ts +2 -9
  232. package/src/bundler/bundle-signer.ts +1 -3
  233. package/src/calls/__tests__/barge-in-guard.test.ts +3 -0
  234. package/src/calls/__tests__/call-controller.test.ts +94 -0
  235. package/src/calls/__tests__/call-funnel-telemetry.test.ts +204 -0
  236. package/src/calls/__tests__/voice-control-protocol.test.ts +15 -0
  237. package/src/calls/__tests__/voice-escalation-judge.test.ts +209 -0
  238. package/src/calls/__tests__/voice-leg-coordinator.test.ts +168 -0
  239. package/src/{live-voice/__tests__/live-voice-metrics.test.ts → calls/__tests__/voice-metrics.test.ts} +32 -38
  240. package/src/calls/__tests__/voice-session-bridge.test.ts +576 -122
  241. package/src/calls/barge-in-guard.ts +5 -0
  242. package/src/calls/call-controller.ts +196 -1
  243. package/src/calls/call-domain.ts +4 -0
  244. package/src/calls/call-store.ts +87 -2
  245. package/src/calls/guardian-action-sweep.ts +22 -8
  246. package/src/calls/media-stream-audio-transcode.ts +1 -3
  247. package/src/calls/typesafe-noul.ts +156 -0
  248. package/src/calls/voice-control-protocol.ts +6 -0
  249. package/src/calls/voice-escalation-judge.ts +145 -0
  250. package/src/calls/voice-escalation-target.ts +10 -0
  251. package/src/calls/voice-leg-coordinator.ts +121 -3
  252. package/src/{live-voice/live-voice-metrics.ts → calls/voice-metrics.ts} +94 -87
  253. package/src/calls/voice-session-bridge.ts +256 -112
  254. package/src/calls/voice-triage-escalate.ts +7 -0
  255. package/src/cli/__tests__/roadmap-cli.test.ts +4 -41
  256. package/src/cli/commands/__tests__/cli-test-harness.ts +21 -3
  257. package/src/cli/commands/__tests__/notifications.test.ts +35 -10
  258. package/src/cli/commands/__tests__/plugins.test.ts +20 -1
  259. package/src/cli/commands/__tests__/schedules.test.ts +14 -0
  260. package/src/cli/commands/bash.help.ts +4 -3
  261. package/src/cli/commands/browser.help.ts +9 -6
  262. package/src/cli/commands/browser.ts +0 -1
  263. package/src/cli/commands/channel-verification-sessions.help.ts +12 -2
  264. package/src/cli/commands/clients.help.ts +46 -0
  265. package/src/cli/commands/clients.ts +116 -0
  266. package/src/cli/commands/credentials.help.ts +9 -4
  267. package/src/cli/commands/notifications.help.ts +16 -2
  268. package/src/cli/commands/notifications.ts +30 -8
  269. package/src/cli/commands/oauth/index.help.ts +10 -0
  270. package/src/cli/commands/oauth/providers.ts +12 -0
  271. package/src/cli/commands/oauth/request.test.ts +179 -2
  272. package/src/cli/commands/oauth/request.ts +41 -10
  273. package/src/cli/commands/plugins.ts +12 -5
  274. package/src/cli/commands/roadmap.help.ts +18 -21
  275. package/src/cli/commands/roadmap.ts +4 -21
  276. package/src/cli/commands/schedules.ts +2 -0
  277. package/src/cli/lib/__tests__/inspect-plugin.test.ts +54 -0
  278. package/src/cli/lib/__tests__/install-from-github.test.ts +41 -0
  279. package/src/cli/lib/__tests__/list-installed-plugins.test.ts +5 -2
  280. package/src/cli/lib/__tests__/local-plugin-upgrade.test.ts +133 -51
  281. package/src/cli/lib/__tests__/plugin-catalog-cache.test.ts +8 -2
  282. package/src/cli/lib/bundled-marketplace.json +906 -1
  283. package/src/cli/lib/bundled-plugin-packages.json +783 -1
  284. package/src/cli/lib/inspect-plugin.ts +11 -4
  285. package/src/cli/lib/plugin-marketplace.ts +8 -0
  286. package/src/cli/lib/publish-plugin.ts +1 -2
  287. package/src/cli/lib/upgrade-plugin.ts +19 -11
  288. package/src/cli/output.ts +18 -4
  289. package/src/config/__tests__/default-provider.test.ts +6 -0
  290. package/src/config/__tests__/memory-retrospective-schema.test.ts +14 -1
  291. package/src/config/bundled-skills/computer-use/SKILL.md +1 -1
  292. package/src/config/bundled-skills/computer-use/TOOLS.json +89 -1
  293. package/src/config/bundled-skills/image-studio/SKILL.md +17 -2
  294. package/src/config/bundled-skills/image-studio/tools/media-generate-image.ts +7 -11
  295. package/src/config/bundled-skills/schedule/SKILL.md +6 -6
  296. package/src/config/bundled-skills/sequences/TOOLS.json +1 -5
  297. package/src/config/call-site-defaults.ts +9 -0
  298. package/src/config/feature-flag-registry.json +24 -8
  299. package/src/config/loader.ts +9 -17
  300. package/src/config/platform-identity.ts +8 -8
  301. package/src/config/profile-text-generation.test.ts +51 -0
  302. package/src/config/profile-text-generation.ts +51 -0
  303. package/src/config/schemas/__tests__/memory-v3.test.ts +12 -0
  304. package/src/config/schemas/__tests__/tools.test.ts +31 -0
  305. package/src/config/schemas/call-site-catalog.ts +14 -0
  306. package/src/config/schemas/channels.ts +0 -18
  307. package/src/config/schemas/llm.ts +9 -2
  308. package/src/config/schemas/mcp.ts +6 -1
  309. package/src/config/schemas/memory-retrospective.ts +11 -2
  310. package/src/config/schemas/memory-v3.ts +12 -0
  311. package/src/config/schemas/services.ts +15 -6
  312. package/src/config/schemas/tools.ts +10 -0
  313. package/src/config/session-groups-gate.ts +21 -0
  314. package/src/config/sidebar-done-gate.ts +27 -0
  315. package/src/config/skills.ts +2 -6
  316. package/src/conversations/__tests__/message-consolidation.test.ts +149 -0
  317. package/src/conversations/message-consolidation.ts +102 -5
  318. package/src/credential-execution/ces-connect.test.ts +69 -0
  319. package/src/credential-execution/ces-connect.ts +115 -0
  320. package/src/credential-execution/ces-runtime.ts +55 -93
  321. package/src/credential-execution/executable-discovery.ts +34 -142
  322. package/src/credential-execution/process-manager.test.ts +20 -24
  323. package/src/credential-execution/process-manager.ts +24 -19
  324. package/src/daemon/__tests__/conversation-surfaces-launch.test.ts +10 -1
  325. package/src/daemon/__tests__/conversation-tool-setup.test.ts +43 -0
  326. package/src/daemon/__tests__/inference-profile-notification.test.ts +2 -0
  327. package/src/daemon/__tests__/turn-tail-deleted-conversation.test.ts +36 -0
  328. package/src/daemon/assistant-attachments.ts +20 -12
  329. package/src/daemon/browser-mode-session.test.ts +402 -0
  330. package/src/daemon/browser-mode-session.ts +186 -0
  331. package/src/daemon/chat-credential-redaction.ts +16 -1
  332. package/src/daemon/computer-use-mode-session.test.ts +210 -0
  333. package/src/daemon/computer-use-mode-session.ts +105 -0
  334. package/src/daemon/config-watcher.ts +10 -0
  335. package/src/daemon/conversation-agent-loop-handlers.ts +132 -13
  336. package/src/daemon/conversation-agent-loop.ts +231 -25
  337. package/src/daemon/conversation-attachments.ts +93 -12
  338. package/src/daemon/conversation-evictor.ts +5 -24
  339. package/src/daemon/conversation-history.ts +10 -0
  340. package/src/daemon/conversation-interrupt-repair.ts +4 -43
  341. package/src/daemon/conversation-interrupt.ts +7 -11
  342. package/src/daemon/conversation-messaging.ts +58 -5
  343. package/src/daemon/conversation-mode-session.test.ts +1667 -0
  344. package/src/daemon/conversation-mode-session.ts +1008 -0
  345. package/src/daemon/conversation-process.ts +5 -0
  346. package/src/daemon/conversation-runtime-assembly.ts +10 -20
  347. package/src/daemon/conversation-skill-tools.ts +1 -0
  348. package/src/daemon/conversation-store.ts +4 -4
  349. package/src/daemon/conversation-surface-snapshots.ts +135 -0
  350. package/src/daemon/conversation-surfaces.ts +113 -5
  351. package/src/daemon/conversation-tool-setup.ts +79 -6
  352. package/src/daemon/conversation-turn-finalize.ts +38 -13
  353. package/src/daemon/conversation.ts +215 -58
  354. package/src/daemon/daemon-control.ts +3 -7
  355. package/src/daemon/handlers/__tests__/conversation-history-search.test.ts +61 -0
  356. package/src/daemon/handlers/config-channels.ts +3 -1
  357. package/src/daemon/handlers/config-model.ts +7 -5
  358. package/src/daemon/handlers/conversation-history.ts +11 -1
  359. package/src/daemon/handlers/conversations.ts +118 -10
  360. package/src/daemon/handlers/shared.ts +55 -16
  361. package/src/daemon/host-cu-proxy.ts +51 -22
  362. package/src/daemon/lifecycle.ts +30 -13
  363. package/src/daemon/mcp-reload-service.ts +1 -1
  364. package/src/daemon/message-protocol.ts +0 -1
  365. package/src/daemon/message-provenance.ts +28 -4
  366. package/src/daemon/message-types/shared.ts +1 -0
  367. package/src/daemon/mode-session-startup-recovery.ts +23 -0
  368. package/src/daemon/mode-session-tracking.ts +54 -0
  369. package/src/daemon/orphan-reaper.ts +4 -3
  370. package/src/daemon/persist-media-references.ts +20 -3
  371. package/src/daemon/process-message.ts +13 -4
  372. package/src/daemon/tool-setup-types.ts +6 -0
  373. package/src/daemon/virtual-desktop-context.ts +21 -0
  374. package/src/daemon/wake-conversation-ops.ts +50 -15
  375. package/src/desktop/__tests__/fake-desktop.ts +1 -0
  376. package/src/desktop/desktop-accessibility-script.ts +88 -0
  377. package/src/desktop/desktop-accessibility.test.ts +160 -0
  378. package/src/desktop/desktop-accessibility.ts +169 -0
  379. package/src/desktop/desktop-automation-lease.test.ts +302 -64
  380. package/src/desktop/desktop-automation-lease.ts +129 -54
  381. package/src/desktop/desktop-browser-endpoint.ts +5 -0
  382. package/src/desktop/desktop-computer-use-routing.test.ts +330 -0
  383. package/src/desktop/desktop-computer-use.test.ts +449 -0
  384. package/src/desktop/desktop-computer-use.ts +502 -0
  385. package/src/desktop/desktop-dependencies.ts +47 -293
  386. package/src/desktop/desktop-display.ts +2 -2
  387. package/src/desktop/desktop-help.ts +15 -0
  388. package/src/desktop/desktop-panel-config.test.ts +13 -3
  389. package/src/desktop/desktop-panel-config.ts +109 -15
  390. package/src/desktop/desktop-session-manager.test.ts +69 -21
  391. package/src/desktop/desktop-session-manager.ts +76 -22
  392. package/src/desktop/desktop-stream-bridge.test.ts +76 -132
  393. package/src/desktop/desktop-stream-bridge.ts +9 -11
  394. package/src/desktop/desktop-wallpaper-renderer.ts +132 -0
  395. package/src/desktop/desktop-wallpaper-worker.ts +17 -0
  396. package/src/desktop/desktop-wallpaper.test.ts +48 -7
  397. package/src/desktop/desktop-wallpaper.ts +34 -102
  398. package/src/desktop/desktop-window-theme.ts +5 -25
  399. package/src/desktop/virtual-desktop-feature.ts +53 -3
  400. package/src/desktop/virtual-desktop-platform.test.ts +5 -9
  401. package/src/documents/document-store.ts +23 -0
  402. package/src/heartbeat/__tests__/heartbeat-service.test.ts +22 -26
  403. package/src/heartbeat/heartbeat-service.ts +5 -33
  404. package/src/ipc/__tests__/browser-ipc.test.ts +215 -6
  405. package/src/ipc/assistant-server.ts +2 -0
  406. package/src/ipc/routes/__tests__/channel-reply-ipc-routes.test.ts +111 -0
  407. package/src/ipc/routes/__tests__/conversation-sync-ipc-routes.test.ts +49 -1
  408. package/src/ipc/routes/channel-reply-ipc-routes.ts +73 -0
  409. package/src/ipc/routes/conversation-sync-ipc-routes.ts +38 -2
  410. package/src/live-voice/__tests__/continuation-judge.test.ts +151 -0
  411. package/src/live-voice/__tests__/live-activity-reporter.test.ts +154 -15
  412. package/src/live-voice/__tests__/live-voice-flux-turn-end.test.ts +743 -31
  413. package/src/live-voice/__tests__/live-voice-look-follow-up.test.ts +191 -10
  414. package/src/live-voice/__tests__/live-voice-session-groups-gate.test.ts +87 -0
  415. package/src/live-voice/__tests__/live-voice-session-manager.test.ts +5 -1
  416. package/src/live-voice/__tests__/live-voice-sight-frame-echo.test.ts +41 -0
  417. package/src/live-voice/__tests__/live-voice-sight-frame.test.ts +1017 -9
  418. package/src/live-voice/__tests__/live-voice-triage-escalate.test.ts +224 -1
  419. package/src/live-voice/__tests__/live-voice-tts-session.test.ts +101 -0
  420. package/src/live-voice/__tests__/live-voice-tts.test.ts +44 -0
  421. package/src/live-voice/__tests__/live-voice-vad.test.ts +939 -75
  422. package/src/live-voice/__tests__/microphone-idle-gate.test.ts +87 -0
  423. package/src/live-voice/__tests__/session-controls.test.ts +23 -0
  424. package/src/live-voice/__tests__/task-outcomes.test.ts +117 -0
  425. package/src/live-voice/__tests__/voice-input-diagnostics.test.ts +117 -0
  426. package/src/live-voice/camera-mode-session.test.ts +265 -0
  427. package/src/live-voice/camera-mode-session.ts +277 -0
  428. package/src/live-voice/continuation-judge.ts +123 -0
  429. package/src/live-voice/live-activity-reporter.ts +115 -6
  430. package/src/live-voice/live-voice-manager.ts +36 -1
  431. package/src/live-voice/live-voice-photo.ts +88 -7
  432. package/src/live-voice/live-voice-session-manager.ts +15 -0
  433. package/src/live-voice/live-voice-session.ts +1443 -747
  434. package/src/live-voice/live-voice-tts.ts +22 -4
  435. package/src/live-voice/microphone-idle-gate.ts +56 -0
  436. package/src/live-voice/protocol.ts +171 -4
  437. package/src/live-voice/session-controls.ts +11 -3
  438. package/src/live-voice/task-outcomes.ts +131 -0
  439. package/src/live-voice/voice-input-diagnostics.ts +117 -0
  440. package/src/mcp/__tests__/manager-tool-caps.test.ts +156 -0
  441. package/src/mcp/__tests__/startup.test.ts +30 -7
  442. package/src/mcp/__tests__/tool-caps.test.ts +134 -0
  443. package/src/mcp/manager.ts +171 -101
  444. package/src/mcp/startup.ts +33 -13
  445. package/src/mcp/tool-caps.ts +184 -0
  446. package/src/media/__tests__/image-models.test.ts +58 -0
  447. package/src/media/image-credentials.ts +5 -0
  448. package/src/media/image-models.ts +52 -0
  449. package/src/media/image-service.ts +8 -0
  450. package/src/media/openrouter-image-service.test.ts +133 -0
  451. package/src/media/openrouter-image-service.ts +153 -0
  452. package/src/media/types.ts +1 -1
  453. package/src/messaging/provider-message-metadata.ts +3 -3
  454. package/src/messaging/providers/__tests__/transport-dispatch.test.ts +65 -11
  455. package/src/messaging/providers/discord/send.ts +4 -17
  456. package/src/messaging/providers/discord/transport.ts +2 -2
  457. package/src/messaging/providers/outlook/client.ts +16 -22
  458. package/src/messaging/providers/telegram-bot/send.test.ts +236 -1
  459. package/src/messaging/providers/telegram-bot/send.ts +10 -7
  460. package/src/messaging/providers/telegram-bot/transport.ts +3 -10
  461. package/src/messaging/providers/whatsapp/send.test.ts +169 -4
  462. package/src/monitoring/__tests__/control.test.ts +17 -5
  463. package/src/monitoring/control.ts +15 -5
  464. package/src/notifications/AGENTS.md +1 -1
  465. package/src/notifications/README.md +83 -99
  466. package/src/notifications/__tests__/broadcaster.test.ts +1 -1
  467. package/src/notifications/__tests__/channel-allowlist.test.ts +39 -0
  468. package/src/notifications/__tests__/copy-composer.test.ts +71 -1
  469. package/src/notifications/__tests__/decision-engine.test.ts +79 -2
  470. package/src/notifications/__tests__/deterministic-checks.test.ts +10 -10
  471. package/src/notifications/__tests__/home-feed-side-effect.test.ts +93 -4
  472. package/src/notifications/__tests__/notification-utils.test.ts +18 -0
  473. package/src/notifications/adapters/macos.ts +37 -46
  474. package/src/notifications/broadcaster.ts +5 -6
  475. package/src/notifications/channel-allowlist.ts +44 -0
  476. package/src/notifications/copy-composer.ts +11 -26
  477. package/src/notifications/decision-engine.ts +24 -14
  478. package/src/notifications/deterministic-checks.ts +1 -1
  479. package/src/notifications/emit-signal.ts +123 -37
  480. package/src/notifications/home-feed-side-effect.ts +9 -7
  481. package/src/notifications/notification-utils.ts +19 -0
  482. package/src/notifications/schedule-result-producer.ts +4 -6
  483. package/src/notifications/signal.ts +4 -19
  484. package/src/notifications/types.ts +15 -0
  485. package/src/oauth/AGENTS.md +2 -0
  486. package/src/oauth/__tests__/identity-verifier.test.ts +36 -1
  487. package/src/oauth/connection-resolver.ts +1 -2
  488. package/src/oauth/identity-verifier.ts +24 -0
  489. package/src/oauth/oauth-store.ts +12 -4
  490. package/src/oauth/provider-serializer.ts +8 -0
  491. package/src/oauth/seed-providers.ts +42 -0
  492. package/src/onboarding/onboarding-events-store.ts +99 -12
  493. package/src/permissions/confirmation-guardian-request.test.ts +16 -0
  494. package/src/permissions/confirmation-guardian-request.ts +2 -3
  495. package/src/permissions/question-prompter.test.ts +31 -0
  496. package/src/permissions/question-prompter.ts +16 -4
  497. package/src/persistence/__tests__/client-connection-events-store.test.ts +322 -0
  498. package/src/persistence/attachments-store.ts +84 -44
  499. package/src/persistence/client-connection-events-store.ts +377 -0
  500. package/src/persistence/conversation-crud.ts +280 -29
  501. package/src/persistence/conversation-mode-sessions.test.ts +424 -0
  502. package/src/persistence/conversation-mode-sessions.ts +460 -0
  503. package/src/persistence/conversation-plugin-facade.ts +30 -0
  504. package/src/persistence/conversation-queries.ts +54 -22
  505. package/src/persistence/conversation-tool-surface.ts +135 -0
  506. package/src/persistence/conversation-types.test.ts +32 -0
  507. package/src/persistence/conversation-types.ts +26 -4
  508. package/src/persistence/embeddings/__tests__/embedding-local-lifecycle.test.ts +157 -32
  509. package/src/persistence/embeddings/embedding-backend-shutdown.test.ts +47 -0
  510. package/src/persistence/embeddings/embedding-backend.ts +23 -41
  511. package/src/persistence/embeddings/embedding-gemini.test.ts +17 -0
  512. package/src/persistence/embeddings/embedding-gemini.ts +3 -1
  513. package/src/persistence/embeddings/embedding-local.ts +72 -17
  514. package/src/persistence/embeddings/embedding-types.ts +0 -19
  515. package/src/persistence/llm-usage-store.ts +3 -9
  516. package/src/persistence/message-metadata.ts +25 -0
  517. package/src/persistence/migrations/378-create-conversation-tool-surfaces.test.ts +78 -0
  518. package/src/persistence/migrations/378-create-conversation-tool-surfaces.ts +29 -0
  519. package/src/persistence/migrations/379-oauth-providers-response-ok-field.test.ts +92 -0
  520. package/src/persistence/migrations/379-oauth-providers-response-ok-field.ts +32 -0
  521. package/src/persistence/migrations/380-conversation-tool-surfaces-delegate-independent-tasks.test.ts +90 -0
  522. package/src/persistence/migrations/380-conversation-tool-surfaces-delegate-independent-tasks.ts +34 -0
  523. package/src/persistence/migrations/381-create-conversation-mode-sessions.ts +41 -0
  524. package/src/persistence/migrations/382-create-client-connection-events.ts +40 -0
  525. package/src/persistence/migrations/__tests__/382-create-client-connection-events.test.ts +56 -0
  526. package/src/persistence/schema/conversation-tool-surfaces.ts +32 -0
  527. package/src/persistence/schema/conversations.ts +67 -0
  528. package/src/persistence/schema/index.ts +1 -0
  529. package/src/persistence/schema/infrastructure.ts +29 -0
  530. package/src/persistence/schema/oauth.ts +1 -0
  531. package/src/persistence/steps.ts +41 -3
  532. package/src/plugin-api/__tests__/plugin-name-env.test.ts +249 -0
  533. package/src/plugin-api/conversation-turn.ts +31 -7
  534. package/src/plugin-api/effective-context-window.ts +33 -0
  535. package/src/plugin-api/index.ts +35 -6
  536. package/src/plugin-api/plugin-channel-turn-trust.test.ts +133 -0
  537. package/src/plugin-api/plugin-channel-turn-trust.ts +71 -0
  538. package/src/plugin-api/plugin-name-env.ts +125 -0
  539. package/src/plugin-api/resolve-credential.ts +79 -20
  540. package/src/plugin-api/vision-support.test.ts +22 -0
  541. package/src/plugin-api/vision-support.ts +17 -5
  542. package/src/plugins/__tests__/active-plugin-env.test.ts +136 -0
  543. package/src/plugins/active-plugin-env.ts +51 -0
  544. package/src/plugins/defaults/index.ts +24 -0
  545. package/src/plugins/defaults/memory/AGENTS.md +39 -5
  546. package/src/plugins/defaults/memory/__tests__/archive-removal-framing.test.ts +64 -0
  547. package/src/plugins/defaults/memory/__tests__/buffer-file.test.ts +365 -0
  548. package/src/plugins/defaults/memory/__tests__/buffer-format.test.ts +43 -0
  549. package/src/plugins/defaults/memory/__tests__/conversation-memory-purge.test.ts +1 -0
  550. package/src/plugins/defaults/memory/__tests__/db-memory-attach.test.ts +2 -0
  551. package/src/plugins/defaults/memory/__tests__/fixtures/buffer-appender.ts +17 -0
  552. package/src/plugins/defaults/memory/__tests__/memory-retrospective-job.test.ts +74 -0
  553. package/src/plugins/defaults/memory/__tests__/memory-retrospective-skill-card.test.ts +2 -0
  554. package/src/plugins/defaults/memory/__tests__/memory-run-evidence.test.ts +161 -0
  555. package/src/plugins/defaults/memory/__tests__/relocated-memory-test-rows.ts +10 -0
  556. package/src/plugins/defaults/memory/__tests__/worker-control.test.ts +19 -6
  557. package/src/plugins/defaults/memory/buffer-file.ts +354 -0
  558. package/src/plugins/defaults/memory/buffer-format.ts +40 -0
  559. package/src/plugins/defaults/memory/context-search/agent-protocol.ts +9 -12
  560. package/src/plugins/defaults/memory/context-search/agent-runner.ts +77 -22
  561. package/src/plugins/defaults/memory/context-search/format.ts +53 -8
  562. package/src/plugins/defaults/memory/context-search/limits.ts +10 -12
  563. package/src/plugins/defaults/memory/context-search/recall-input.ts +38 -0
  564. package/src/plugins/defaults/memory/context-search/search.ts +8 -14
  565. package/src/plugins/defaults/memory/context-search/sources/conversations.ts +1 -0
  566. package/src/plugins/defaults/memory/context-search/sources/memory-v2.ts +2 -1
  567. package/src/plugins/defaults/memory/context-search/sources/workspace.ts +2 -1
  568. package/src/plugins/defaults/memory/context-search/types.ts +1 -11
  569. package/src/plugins/defaults/memory/conversation-memory-purge.ts +4 -0
  570. package/src/plugins/defaults/memory/graph/__tests__/handle-remember-v2.test.ts +11 -4
  571. package/src/plugins/defaults/memory/graph/capability-seed.ts +1 -2
  572. package/src/plugins/defaults/memory/graph/tool-handlers.ts +13 -63
  573. package/src/plugins/defaults/memory/graph/tools.ts +35 -64
  574. package/src/plugins/defaults/memory/host-utils.ts +0 -10
  575. package/src/plugins/defaults/memory/injectors.ts +4 -3
  576. package/src/plugins/defaults/memory/memory-retrospective-job.ts +72 -183
  577. package/src/plugins/defaults/memory/memory-retrospective-skill-card.ts +5 -0
  578. package/src/plugins/defaults/memory/memory-run-evidence.ts +213 -0
  579. package/src/plugins/defaults/memory/src/memory-eval-routes.ts +2 -3
  580. package/src/plugins/defaults/memory/src/memory-item-routes.test.ts +6 -1
  581. package/src/plugins/defaults/memory/src/memory-item-routes.ts +2 -1
  582. package/src/plugins/defaults/memory/substrate/__tests__/consolidation-job.test.ts +407 -99
  583. package/src/plugins/defaults/memory/substrate/__tests__/consolidation-prompt-flag-gating-guard.test.ts +10 -0
  584. package/src/plugins/defaults/memory/substrate/__tests__/prompts-consolidation.test.ts +107 -7
  585. package/src/plugins/defaults/memory/substrate/consolidation-job.ts +307 -86
  586. package/src/plugins/defaults/memory/substrate/consolidation-tool-surface.ts +34 -0
  587. package/src/plugins/defaults/memory/substrate/page-index.ts +2 -1
  588. package/src/plugins/defaults/memory/substrate/prompts/consolidation.ts +91 -51
  589. package/src/plugins/defaults/memory/substrate/sweep-job.ts +1 -1
  590. package/src/plugins/defaults/memory/tools.test.ts +124 -9
  591. package/src/plugins/defaults/memory/tools.ts +38 -11
  592. package/src/plugins/defaults/memory/v1/graph/consolidation.ts +2 -2
  593. package/src/plugins/defaults/memory/v1/graph/extraction.ts +2 -1
  594. package/src/plugins/defaults/memory/v1/graph/retriever.ts +1 -1
  595. package/src/plugins/defaults/memory/v2/__tests__/migration.test.ts +5 -0
  596. package/src/plugins/defaults/memory/v2/__tests__/reranker.test.ts +5 -2
  597. package/src/plugins/defaults/memory/v2/reranker.ts +2 -1
  598. package/src/plugins/defaults/memory/v3/__tests__/injection.test.ts +81 -1
  599. package/src/plugins/defaults/memory/v3/__tests__/orchestrate.test.ts +87 -0
  600. package/src/plugins/defaults/memory/v3/__tests__/plugin-schema.test.ts +12 -0
  601. package/src/plugins/defaults/memory/v3/__tests__/pool-log-store.test.ts +332 -15
  602. package/src/plugins/defaults/memory/v3/__tests__/pool-select.test.ts +626 -27
  603. package/src/plugins/defaults/memory/v3/__tests__/shadow-plugin.test.ts +148 -28
  604. package/src/plugins/defaults/memory/v3/card.ts +2 -1
  605. package/src/plugins/defaults/memory/v3/injector.ts +212 -178
  606. package/src/plugins/defaults/memory/v3/orchestrate.ts +159 -32
  607. package/src/plugins/defaults/memory/v3/plugin-schema.ts +54 -4
  608. package/src/plugins/defaults/memory/v3/pool-log-store.ts +275 -37
  609. package/src/plugins/defaults/memory/v3/pool-select.test.ts +47 -5
  610. package/src/plugins/defaults/memory/v3/pool-select.ts +710 -59
  611. package/src/plugins/defaults/memory/v3/sections.ts +2 -1
  612. package/src/plugins/defaults/memory/v3/shadow-plugin.ts +41 -14
  613. package/src/plugins/defaults/memory/worker-control.ts +15 -5
  614. package/src/plugins/defaults/task-progress/__tests__/registration.test.ts +70 -0
  615. package/src/plugins/defaults/task-progress/__tests__/task-progress-context.test.ts +380 -0
  616. package/src/plugins/defaults/task-progress/hooks/post-compact.ts +19 -0
  617. package/src/plugins/defaults/task-progress/hooks/user-prompt-submit.ts +24 -0
  618. package/src/plugins/defaults/task-progress/package.json +14 -0
  619. package/src/plugins/defaults/task-progress/src/apply-task-progress-context.ts +93 -0
  620. package/src/plugins/defaults/task-progress/src/format-task-progress-context.ts +67 -0
  621. package/src/plugins/defaults/tool-error/hooks/post-tool-use.ts +4 -1
  622. package/src/plugins/defaults/tool-result-truncate/terminal.ts +1 -46
  623. package/src/prompts/__tests__/parallel-tasks-section.test.ts +25 -0
  624. package/src/prompts/delegation-gate.ts +57 -0
  625. package/src/prompts/system-prompt.ts +14 -32
  626. package/src/providers/__tests__/context-overflow-error.test.ts +10 -0
  627. package/src/providers/__tests__/search-provider-catalog.test.ts +18 -0
  628. package/src/providers/anthropic/client.ts +10 -1
  629. package/src/providers/anthropic-gateway-shared.ts +6 -0
  630. package/src/providers/fetch-provider-catalog.ts +11 -0
  631. package/src/providers/gemini/client.ts +41 -8
  632. package/src/providers/inference/adapter-factory.ts +6 -0
  633. package/src/providers/jev/client.test.ts +270 -0
  634. package/src/providers/jev/client.ts +534 -0
  635. package/src/providers/malformed-tool-call.ts +55 -0
  636. package/src/providers/model-catalog.ts +59 -3
  637. package/src/providers/openai/__tests__/chat-completions-extra-body.test.ts +94 -1
  638. package/src/providers/openai/__tests__/chat-completions-malformed-tool-call.test.ts +105 -0
  639. package/src/providers/openai/__tests__/chat-completions-provider-reasoning.test.ts +106 -1
  640. package/src/providers/openai/__tests__/chat-template-flatten.test.ts +24 -0
  641. package/src/providers/openai/__tests__/google-thought-signature.test.ts +1 -2
  642. package/src/providers/openai/chat-completions-provider.ts +130 -29
  643. package/src/providers/openai/google-thought-signature.ts +0 -6
  644. package/src/providers/openai/responses-provider.ts +23 -1
  645. package/src/providers/platform-proxy/constants.ts +5 -0
  646. package/src/providers/ratelimit.ts +1 -3
  647. package/src/providers/retry.ts +68 -36
  648. package/src/providers/search-provider-catalog.ts +24 -0
  649. package/src/providers/server-tool-pairing.ts +16 -7
  650. package/src/providers/speech-to-text/__tests__/deepgram-flux-frames.test.ts +24 -0
  651. package/src/providers/speech-to-text/__tests__/deepgram-flux-realtime.test.ts +7 -1
  652. package/src/providers/speech-to-text/__tests__/vellum-managed-realtime.test.ts +50 -1
  653. package/src/providers/speech-to-text/deepgram-flux-frames.ts +11 -0
  654. package/src/providers/speech-to-text/vellum-managed-flux-realtime.ts +13 -0
  655. package/src/providers/types.ts +5 -0
  656. package/src/providers/vellum-model-routing.test.ts +1 -0
  657. package/src/routes/control.ts +7 -5
  658. package/src/runtime/AGENTS.md +6 -4
  659. package/src/runtime/__tests__/agent-wake-archived-gate.test.ts +90 -0
  660. package/src/runtime/__tests__/agent-wake.test.ts +94 -1
  661. package/src/runtime/__tests__/question-resolution.test.ts +32 -0
  662. package/src/runtime/actor-trust-resolver.ts +3 -3
  663. package/src/runtime/agent-wake.ts +41 -7
  664. package/src/runtime/approval-message-composer.ts +3 -69
  665. package/src/runtime/assistant-event-hub.ts +73 -75
  666. package/src/runtime/assistant-event-publish-options.ts +7 -0
  667. package/src/runtime/assistant-event-targeting.ts +79 -0
  668. package/src/runtime/assistant-stream-state.ts +13 -100
  669. package/src/runtime/auth/__tests__/middleware.test.ts +138 -0
  670. package/src/runtime/auth/middleware.ts +15 -11
  671. package/src/runtime/background-job-runner.ts +5 -5
  672. package/src/runtime/channel-retry-sweep.ts +1 -0
  673. package/src/runtime/guardian-action-message-composer.ts +8 -161
  674. package/src/runtime/guardian-action-service.ts +2 -17
  675. package/src/runtime/guardian-reply-router.ts +29 -40
  676. package/src/runtime/http-server.ts +2 -2
  677. package/src/runtime/http-types.ts +6 -0
  678. package/src/runtime/message-composer-types.ts +3 -61
  679. package/src/runtime/middleware/auth.ts +7 -1
  680. package/src/runtime/migrations/__tests__/vbundle-import-parity.test.ts +67 -1
  681. package/src/runtime/migrations/__tests__/vbundle-import-policy.test.ts +89 -0
  682. package/src/runtime/migrations/vbundle-builder.ts +24 -1
  683. package/src/runtime/migrations/vbundle-import-analyzer.ts +13 -4
  684. package/src/runtime/migrations/vbundle-import-policy.ts +43 -11
  685. package/src/runtime/migrations/vbundle-importer.ts +4 -1
  686. package/src/runtime/migrations/vbundle-streaming-importer.ts +4 -1
  687. package/src/runtime/migrations/vbundle-validator.ts +1 -0
  688. package/src/runtime/pending-interactions-mode-session.test.ts +62 -0
  689. package/src/runtime/pending-interactions.ts +37 -8
  690. package/src/runtime/question-resolution.ts +54 -8
  691. package/src/runtime/routes/__tests__/client-history-routes.test.ts +104 -0
  692. package/src/runtime/routes/__tests__/conversation-list-routes.test.ts +146 -0
  693. package/src/runtime/routes/__tests__/global-search-routes.test.ts +74 -1
  694. package/src/runtime/routes/__tests__/image-generation-routes.test.ts +97 -0
  695. package/src/runtime/routes/__tests__/inference-profiles-routes.test.ts +24 -2
  696. package/src/runtime/routes/__tests__/roadmap-routes.test.ts +29 -6
  697. package/src/runtime/routes/browser-context.ts +31 -11
  698. package/src/runtime/routes/browser-routes.ts +43 -4
  699. package/src/runtime/routes/btw-routes.ts +9 -4
  700. package/src/runtime/routes/channel-route-shared.ts +1 -9
  701. package/src/runtime/routes/client-routes.ts +108 -0
  702. package/src/runtime/routes/conversation-list-routes.ts +16 -14
  703. package/src/runtime/routes/conversation-management-routes.ts +4 -1
  704. package/src/runtime/routes/conversation-query-routes.ts +4 -0
  705. package/src/runtime/routes/conversation-routes.ts +125 -14
  706. package/src/runtime/routes/credential-prompt-routes.ts +4 -3
  707. package/src/runtime/routes/credential-routes.ts +1 -2
  708. package/src/runtime/routes/desktop-setup-routes.test.ts +9 -18
  709. package/src/runtime/routes/desktop-setup-routes.ts +8 -7
  710. package/src/runtime/routes/documents-routes.ts +51 -0
  711. package/src/runtime/routes/email-routes.ts +3 -7
  712. package/src/runtime/routes/events-routes.ts +75 -54
  713. package/src/runtime/routes/global-search-routes.ts +22 -7
  714. package/src/runtime/routes/guardian-approval-interception.ts +24 -0
  715. package/src/runtime/routes/identity-routes.ts +1 -5
  716. package/src/runtime/routes/image-generation-routes.ts +8 -14
  717. package/src/runtime/routes/inbound-message-handler.ts +37 -41
  718. package/src/runtime/routes/inbound-stages/backfill-sender-provenance.test.ts +168 -0
  719. package/src/runtime/routes/inbound-stages/backfill-sender-provenance.ts +96 -0
  720. package/src/runtime/routes/inbound-stages/background-dispatch.test.ts +39 -10
  721. package/src/runtime/routes/inbound-stages/background-dispatch.ts +9 -9
  722. package/src/runtime/routes/inbound-stages/reaction-intercept.ts +2 -0
  723. package/src/runtime/routes/inference-profile-session-handler.ts +11 -1
  724. package/src/runtime/routes/inference-profiles-routes.ts +9 -0
  725. package/src/runtime/routes/llm-context-normalization.ts +1 -7
  726. package/src/runtime/routes/migration-routes.ts +73 -2
  727. package/src/runtime/routes/notification-routes.ts +10 -0
  728. package/src/runtime/routes/oauth-commands-routes.ts +57 -54
  729. package/src/runtime/routes/oauth-providers.ts +11 -0
  730. package/src/runtime/routes/oauth-request-hints.test.ts +246 -0
  731. package/src/runtime/routes/oauth-request-hints.ts +149 -0
  732. package/src/runtime/routes/plugins-routes.ts +6 -0
  733. package/src/runtime/routes/roadmap-routes.ts +47 -8
  734. package/src/runtime/routes/schedule-routes.ts +2 -0
  735. package/src/runtime/routes/secret-routes.ts +99 -119
  736. package/src/runtime/routes/settings-routes.ts +10 -4
  737. package/src/runtime/routes/watcher-routes.ts +1 -3
  738. package/src/runtime/sync/documents-sidecar-publish.test.ts +50 -4
  739. package/src/runtime/sync/resource-sync-events.ts +11 -0
  740. package/src/runtime/sync/worker-daemon-notify.test.ts +30 -0
  741. package/src/runtime/sync/worker-daemon-notify.ts +44 -0
  742. package/src/runtime/trust-class.test.ts +7 -6
  743. package/src/runtime/trust-class.ts +9 -17
  744. package/src/runtime/verification-outbound-actions.ts +2 -2
  745. package/src/schedule/__tests__/worker-control.test.ts +36 -5
  746. package/src/schedule/__tests__/worker-mcp-bootstrap.test.ts +107 -0
  747. package/src/schedule/__tests__/worker-mcp-readiness.test.ts +173 -0
  748. package/src/schedule/__tests__/worker-mcp-tools.test.ts +13 -47
  749. package/src/schedule/run-script.ts +2 -2
  750. package/src/schedule/scheduler.ts +47 -11
  751. package/src/schedule/tool-surface-readiness.ts +65 -0
  752. package/src/schedule/worker-control.ts +15 -5
  753. package/src/schedule/worker-mcp.ts +85 -0
  754. package/src/schedule/worker.ts +9 -31
  755. package/src/security/secure-keys.ts +74 -112
  756. package/src/skills/clawhub.ts +3 -8
  757. package/src/skills/managed-store.ts +1 -5
  758. package/src/stt/types.ts +4 -0
  759. package/src/subagent/notify.ts +54 -34
  760. package/src/subagent/parent-notification.ts +6 -0
  761. package/src/telemetry/__tests__/phone-call-funnel.test.ts +72 -0
  762. package/src/telemetry/phone-call-funnel.ts +144 -0
  763. package/src/tools/__tests__/tool-schema-root-combinator-guard.test.ts +81 -0
  764. package/src/tools/ask-question/ask-question-tool.test.ts +205 -5
  765. package/src/tools/ask-question/ask-question-tool.ts +131 -22
  766. package/src/tools/browser/browser-execution.ts +29 -60
  767. package/src/tools/browser/cdp-client/__tests__/cdp-dom-helpers.test.ts +561 -39
  768. package/src/tools/browser/cdp-client/cdp-dom-helpers.ts +435 -39
  769. package/src/tools/browser/cdp-client/cdp-inspect-client.ts +1 -8
  770. package/src/tools/client-os.ts +15 -0
  771. package/src/tools/computer-use/skill-proxy-bridge.ts +1 -1
  772. package/src/tools/computer-use/target.ts +42 -0
  773. package/src/tools/document/document-tool.ts +13 -18
  774. package/src/tools/execution-target.ts +14 -16
  775. package/src/tools/host-terminal/host-shell.ts +16 -7
  776. package/src/tools/network/__tests__/web-fetch-tinyfish.test.ts +250 -0
  777. package/src/tools/network/__tests__/web-search.test.ts +203 -0
  778. package/src/tools/network/web-fetch.ts +274 -7
  779. package/src/tools/network/web-search.ts +468 -6
  780. package/src/tools/permission-checker.ts +3 -3
  781. package/src/tools/policy-context.ts +3 -1
  782. package/src/tools/shared/filesystem/file-ops-service.ts +1 -31
  783. package/src/tools/shared/shell-output.test.ts +10 -0
  784. package/src/tools/shared/shell-output.ts +14 -2
  785. package/src/tools/skills/load.ts +2 -1
  786. package/src/tools/skills/sandbox-runner.ts +24 -4
  787. package/src/tools/skills/scaffold-managed.ts +2 -1
  788. package/src/tools/skills/skill-script-runner.ts +7 -0
  789. package/src/tools/skills/skill-tool-factory.ts +15 -1
  790. package/src/tools/terminal/__tests__/safe-env.test.ts +44 -4
  791. package/src/tools/terminal/__tests__/sanitized-bash.test.ts +0 -14
  792. package/src/tools/terminal/safe-env.ts +39 -24
  793. package/src/tools/terminal/sanitized-bash.ts +15 -2
  794. package/src/tools/terminal/shell-launch.test.ts +162 -0
  795. package/src/tools/terminal/shell.test.ts +29 -0
  796. package/src/tools/terminal/shell.ts +15 -7
  797. package/src/tools/tool-approval-handler.ts +5 -1
  798. package/src/tools/tool-types.ts +3 -3
  799. package/src/tools/types.ts +8 -2
  800. package/src/util/__tests__/worker-process-command.test.ts +5 -4
  801. package/src/util/abort-reasons.ts +18 -26
  802. package/src/util/browser-human-verification.ts +14 -0
  803. package/src/util/canonicalize-identity.test.ts +21 -0
  804. package/src/util/canonicalize-identity.ts +16 -0
  805. package/src/util/errors.ts +13 -3
  806. package/src/util/host-process.test.ts +17 -1
  807. package/src/util/host-process.ts +24 -0
  808. package/src/util/provider-error-patterns.ts +3 -0
  809. package/src/util/unicode.ts +29 -0
  810. package/src/util/worker-pipe.test.ts +100 -0
  811. package/src/util/worker-pipe.ts +44 -0
  812. package/src/util/worker-process.ts +77 -35
  813. package/src/workspace/migrations/157-add-desktop-files-launcher.ts +94 -0
  814. package/src/workspace/migrations/__tests__/156-extract-workspace-mcp-json.test.ts +4 -10
  815. package/src/workspace/migrations/__tests__/157-add-desktop-files-launcher.test.ts +113 -0
  816. package/src/workspace/migrations/registry.ts +2 -0
  817. package/src/__tests__/computer-use-window-schema.test.ts +0 -24
  818. package/src/api/events/heartbeat-alert.ts +0 -20
  819. package/src/daemon/message-types/web-activity.ts +0 -65
  820. package/src/desktop/desktop-dependencies.test.ts +0 -131
  821. package/src/tools/computer-use/definitions.ts +0 -607
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.12.2
6
+ version: 0.12.3
7
7
  description: Auto-generated OpenAPI specification for the Vellum Assistant runtime HTTP server.
8
8
  servers:
9
9
  - url: http://127.0.0.1:7821
@@ -5042,7 +5042,7 @@ paths:
5042
5042
  type: string
5043
5043
  required:
5044
5044
  - type
5045
- slackBotMentioned:
5045
+ botMentioned:
5046
5046
  type: boolean
5047
5047
  slackEditedTs:
5048
5048
  type: string
@@ -5647,6 +5647,64 @@ paths:
5647
5647
  required:
5648
5648
  - disconnected
5649
5649
  additionalProperties: false
5650
+ /v1/clients/history:
5651
+ get:
5652
+ operationId: clients_history_get
5653
+ summary: List client connection history
5654
+ description:
5655
+ Return persisted client subscribe/dispose events and coalesced sessions. Reconnects shorter than 60 seconds
5656
+ are flaps, not outages.
5657
+ tags:
5658
+ - clients
5659
+ parameters:
5660
+ - name: clientId
5661
+ in: query
5662
+ required: false
5663
+ schema:
5664
+ type: string
5665
+ description: Restrict history to one client UUID.
5666
+ - name: interfaceId
5667
+ in: query
5668
+ required: false
5669
+ schema:
5670
+ type: string
5671
+ description: Restrict history to one interface (e.g. chrome-extension).
5672
+ - name: since
5673
+ in: query
5674
+ required: false
5675
+ schema:
5676
+ type: string
5677
+ description: ISO-8601 or epoch-ms lower bound. Sessions already open at this time are included.
5678
+ - name: limit
5679
+ in: query
5680
+ required: false
5681
+ schema:
5682
+ type: string
5683
+ description: Max coalesced sessions to return (1-500, default 50).
5684
+ responses:
5685
+ "200":
5686
+ description: Successful response
5687
+ content:
5688
+ application/json:
5689
+ schema:
5690
+ type: object
5691
+ properties:
5692
+ sessions:
5693
+ type: array
5694
+ items:
5695
+ type: object
5696
+ properties: {}
5697
+ additionalProperties: {}
5698
+ events:
5699
+ type: array
5700
+ items:
5701
+ type: object
5702
+ properties: {}
5703
+ additionalProperties: {}
5704
+ required:
5705
+ - sessions
5706
+ - events
5707
+ additionalProperties: false
5650
5708
  /v1/clients/presence:
5651
5709
  post:
5652
5710
  operationId: clients_presence_post
@@ -7927,9 +7985,13 @@ paths:
7927
7985
  enum:
7928
7986
  - background
7929
7987
  - scheduled
7988
+ - all
7930
7989
  description:
7931
7990
  Filter by conversation type. Pass "background" to list background and scheduled conversations together (the
7932
- back-compat umbrella), or "scheduled" to list only scheduled conversations.
7991
+ back-compat umbrella), "scheduled" to list only scheduled conversations, or "all" for the union of the
7992
+ standard listing and that umbrella, so one paginated cursor spans every type. Combine "all" with
7993
+ archiveStatus=all for a whole-history read; rows are recency-ordered (COALESCE(last_message_at, updated_at)
7994
+ descending) like every other list read, and pinned rows are never appended to it.
7933
7995
  - name: archiveStatus
7934
7996
  in: query
7935
7997
  required: false
@@ -11941,6 +12003,8 @@ paths:
11941
12003
  - ready
11942
12004
  - failed
11943
12005
  - unsupported
12006
+ automationActive:
12007
+ type: boolean
11944
12008
  stage:
11945
12009
  type: string
11946
12010
  enum:
@@ -11952,7 +12016,7 @@ paths:
11952
12016
  additionalProperties: false
11953
12017
  post:
11954
12018
  operationId: desktop_setup_post
11955
- summary: Install virtual desktop components
12019
+ summary: Check virtual desktop readiness (legacy POST)
11956
12020
  tags:
11957
12021
  - desktop
11958
12022
  responses:
@@ -11971,6 +12035,8 @@ paths:
11971
12035
  - ready
11972
12036
  - failed
11973
12037
  - unsupported
12038
+ automationActive:
12039
+ type: boolean
11974
12040
  stage:
11975
12041
  type: string
11976
12042
  enum:
@@ -12887,6 +12953,62 @@ paths:
12887
12953
  schema:
12888
12954
  type: string
12889
12955
  format: binary
12956
+ /v1/documents/create:
12957
+ post:
12958
+ operationId: documents_create_post
12959
+ summary: Create a document
12960
+ description: Create an empty document owned by a conversation and return it with its new surface ID.
12961
+ tags:
12962
+ - documents
12963
+ requestBody:
12964
+ required: true
12965
+ content:
12966
+ application/json:
12967
+ schema:
12968
+ type: object
12969
+ properties:
12970
+ conversationId:
12971
+ type: string
12972
+ description: Owning conversation
12973
+ title:
12974
+ description: Document title. Defaults to "Untitled Document".
12975
+ type: string
12976
+ required:
12977
+ - conversationId
12978
+ responses:
12979
+ "200":
12980
+ description: Successful response
12981
+ content:
12982
+ application/json:
12983
+ schema:
12984
+ type: object
12985
+ properties:
12986
+ success:
12987
+ type: boolean
12988
+ surfaceId:
12989
+ type: string
12990
+ conversationId:
12991
+ type: string
12992
+ title:
12993
+ type: string
12994
+ content:
12995
+ type: string
12996
+ wordCount:
12997
+ type: number
12998
+ createdAt:
12999
+ type: number
13000
+ updatedAt:
13001
+ type: number
13002
+ required:
13003
+ - success
13004
+ - surfaceId
13005
+ - conversationId
13006
+ - title
13007
+ - content
13008
+ - wordCount
13009
+ - createdAt
13010
+ - updatedAt
13011
+ additionalProperties: false
12890
13012
  /v1/domain/register:
12891
13013
  post:
12892
13014
  operationId: domain_register_post
@@ -16213,7 +16335,7 @@ paths:
16213
16335
  post:
16214
16336
  operationId: imagegeneration_generate_post
16215
16337
  summary: Generate or edit images using AI
16216
- description: Calls the configured image-generation provider (Gemini or OpenAI) to produce one or more images.
16338
+ description: Calls the configured image-generation provider (Gemini, OpenAI, or OpenRouter) to produce one or more images.
16217
16339
  tags:
16218
16340
  - image-generation
16219
16341
  requestBody:
@@ -16552,7 +16674,8 @@ paths:
16552
16674
  type: string
16553
16675
  description:
16554
16676
  "Filter by provider id. One of: anthropic, openai, gemini, ollama, fireworks, together, openrouter,
16555
- vercel-ai-gateway, litellm, opencode, openai-compatible, minimax, atlascloud, baseten, poolside, vellum"
16677
+ vercel-ai-gateway, litellm, opencode, openai-compatible, minimax, atlascloud, baseten, poolside, typesafe,
16678
+ vellum"
16556
16679
  responses:
16557
16680
  "200":
16558
16681
  description: Successful response
@@ -16824,8 +16947,8 @@ paths:
16824
16947
  type: string
16825
16948
  description:
16826
16949
  "Filter by provider. One of: anthropic, openai, gemini, ollama, fireworks, together, openrouter,
16827
- vercel-ai-gateway, litellm, opencode, openai-compatible, minimax, atlascloud, baseten, poolside, vellum,
16828
- chatgpt"
16950
+ vercel-ai-gateway, litellm, opencode, openai-compatible, minimax, atlascloud, baseten, poolside, typesafe,
16951
+ vellum, chatgpt"
16829
16952
  responses:
16830
16953
  "200":
16831
16954
  description: Successful response
@@ -20939,6 +21062,12 @@ paths:
20939
21062
  schema:
20940
21063
  type: integer
20941
21064
  description: Maximum number of messages to return.
21065
+ - name: modeSessionIds
21066
+ in: query
21067
+ required: false
21068
+ schema:
21069
+ type: string
21070
+ description: Comma-separated mode-session IDs to include with summaries for loaded active groups outside this page.
20942
21071
  responses:
20943
21072
  "200":
20944
21073
  description: Successful response
@@ -20954,6 +21083,38 @@ paths:
20954
21083
  properties:
20955
21084
  id:
20956
21085
  type: string
21086
+ modeSession:
21087
+ type: object
21088
+ properties:
21089
+ mode:
21090
+ type: string
21091
+ enum:
21092
+ - computer_use
21093
+ - browser
21094
+ - live_vision
21095
+ - ambient
21096
+ id:
21097
+ type: string
21098
+ minLength: 1
21099
+ required:
21100
+ - mode
21101
+ - id
21102
+ additionalProperties: false
21103
+ modeSessionActivity:
21104
+ type: object
21105
+ properties:
21106
+ firstAt:
21107
+ type: integer
21108
+ minimum: 0
21109
+ maximum: 8640000000000000
21110
+ lastAt:
21111
+ type: integer
21112
+ minimum: 0
21113
+ maximum: 8640000000000000
21114
+ required:
21115
+ - firstAt
21116
+ - lastAt
21117
+ additionalProperties: false
20957
21118
  mergedMessageIds:
20958
21119
  type: array
20959
21120
  items:
@@ -20988,6 +21149,8 @@ paths:
20988
21149
  type: string
20989
21150
  fileBacked:
20990
21151
  type: boolean
21152
+ computerUseScreenshot:
21153
+ type: boolean
20991
21154
  required:
20992
21155
  - id
20993
21156
  - filename
@@ -21113,6 +21276,8 @@ paths:
21113
21276
  - keenable
21114
21277
  - firecrawl
21115
21278
  - fastcrw
21279
+ - searxng
21280
+ - tinyfish
21116
21281
  resultCount:
21117
21282
  type: number
21118
21283
  durationMs:
@@ -21166,6 +21331,7 @@ paths:
21166
21331
  - default
21167
21332
  - firecrawl
21168
21333
  - fastcrw
21334
+ - tinyfish
21169
21335
  status:
21170
21336
  type: number
21171
21337
  contentType:
@@ -21201,6 +21367,100 @@ paths:
21201
21367
  - redirectCount
21202
21368
  - durationMs
21203
21369
  additionalProperties: false
21370
+ recall:
21371
+ type: object
21372
+ properties:
21373
+ query:
21374
+ type: string
21375
+ depth:
21376
+ type: string
21377
+ enum:
21378
+ - fast
21379
+ - standard
21380
+ - deep
21381
+ sources:
21382
+ type: array
21383
+ items:
21384
+ type: string
21385
+ enum:
21386
+ - memory
21387
+ - conversations
21388
+ - workspace
21389
+ answer:
21390
+ type: string
21391
+ evidence:
21392
+ type: array
21393
+ items:
21394
+ type: object
21395
+ properties:
21396
+ source:
21397
+ type: string
21398
+ enum:
21399
+ - memory
21400
+ - conversations
21401
+ - workspace
21402
+ title:
21403
+ type: string
21404
+ locator:
21405
+ type: string
21406
+ excerpt:
21407
+ type: string
21408
+ timestampMs:
21409
+ type: number
21410
+ path:
21411
+ type: string
21412
+ conversationId:
21413
+ type: string
21414
+ messageId:
21415
+ type: string
21416
+ required:
21417
+ - source
21418
+ - title
21419
+ - locator
21420
+ - excerpt
21421
+ additionalProperties: false
21422
+ searchedSources:
21423
+ type: array
21424
+ items:
21425
+ type: object
21426
+ properties:
21427
+ source:
21428
+ type: string
21429
+ enum:
21430
+ - memory
21431
+ - conversations
21432
+ - workspace
21433
+ status:
21434
+ type: string
21435
+ enum:
21436
+ - searched
21437
+ - degraded
21438
+ evidenceCount:
21439
+ type: number
21440
+ error:
21441
+ type: string
21442
+ required:
21443
+ - source
21444
+ - status
21445
+ - evidenceCount
21446
+ additionalProperties: false
21447
+ required:
21448
+ - query
21449
+ - depth
21450
+ - sources
21451
+ - evidence
21452
+ - searchedSources
21453
+ additionalProperties: false
21454
+ remember:
21455
+ type: object
21456
+ properties:
21457
+ facts:
21458
+ type: array
21459
+ items:
21460
+ type: string
21461
+ required:
21462
+ - facts
21463
+ additionalProperties: false
21204
21464
  additionalProperties: false
21205
21465
  scopeOptions:
21206
21466
  type: array
@@ -21315,6 +21575,9 @@ paths:
21315
21575
  additionalProperties: false
21316
21576
  freeTextPlaceholder:
21317
21577
  type: string
21578
+ presentation:
21579
+ type: string
21580
+ const: virtual_desktop
21318
21581
  required:
21319
21582
  - id
21320
21583
  - question
@@ -21357,6 +21620,9 @@ paths:
21357
21620
  additionalProperties: false
21358
21621
  freeTextPlaceholder:
21359
21622
  type: string
21623
+ presentation:
21624
+ type: string
21625
+ const: virtual_desktop
21360
21626
  required:
21361
21627
  - id
21362
21628
  - question
@@ -21624,6 +21890,8 @@ paths:
21624
21890
  - keenable
21625
21891
  - firecrawl
21626
21892
  - fastcrw
21893
+ - searxng
21894
+ - tinyfish
21627
21895
  resultCount:
21628
21896
  type: number
21629
21897
  durationMs:
@@ -21677,6 +21945,7 @@ paths:
21677
21945
  - default
21678
21946
  - firecrawl
21679
21947
  - fastcrw
21948
+ - tinyfish
21680
21949
  status:
21681
21950
  type: number
21682
21951
  contentType:
@@ -21712,6 +21981,100 @@ paths:
21712
21981
  - redirectCount
21713
21982
  - durationMs
21714
21983
  additionalProperties: false
21984
+ recall:
21985
+ type: object
21986
+ properties:
21987
+ query:
21988
+ type: string
21989
+ depth:
21990
+ type: string
21991
+ enum:
21992
+ - fast
21993
+ - standard
21994
+ - deep
21995
+ sources:
21996
+ type: array
21997
+ items:
21998
+ type: string
21999
+ enum:
22000
+ - memory
22001
+ - conversations
22002
+ - workspace
22003
+ answer:
22004
+ type: string
22005
+ evidence:
22006
+ type: array
22007
+ items:
22008
+ type: object
22009
+ properties:
22010
+ source:
22011
+ type: string
22012
+ enum:
22013
+ - memory
22014
+ - conversations
22015
+ - workspace
22016
+ title:
22017
+ type: string
22018
+ locator:
22019
+ type: string
22020
+ excerpt:
22021
+ type: string
22022
+ timestampMs:
22023
+ type: number
22024
+ path:
22025
+ type: string
22026
+ conversationId:
22027
+ type: string
22028
+ messageId:
22029
+ type: string
22030
+ required:
22031
+ - source
22032
+ - title
22033
+ - locator
22034
+ - excerpt
22035
+ additionalProperties: false
22036
+ searchedSources:
22037
+ type: array
22038
+ items:
22039
+ type: object
22040
+ properties:
22041
+ source:
22042
+ type: string
22043
+ enum:
22044
+ - memory
22045
+ - conversations
22046
+ - workspace
22047
+ status:
22048
+ type: string
22049
+ enum:
22050
+ - searched
22051
+ - degraded
22052
+ evidenceCount:
22053
+ type: number
22054
+ error:
22055
+ type: string
22056
+ required:
22057
+ - source
22058
+ - status
22059
+ - evidenceCount
22060
+ additionalProperties: false
22061
+ required:
22062
+ - query
22063
+ - depth
22064
+ - sources
22065
+ - evidence
22066
+ - searchedSources
22067
+ additionalProperties: false
22068
+ remember:
22069
+ type: object
22070
+ properties:
22071
+ facts:
22072
+ type: array
22073
+ items:
22074
+ type: string
22075
+ required:
22076
+ - facts
22077
+ additionalProperties: false
21715
22078
  additionalProperties: false
21716
22079
  scopeOptions:
21717
22080
  type: array
@@ -21826,6 +22189,9 @@ paths:
21826
22189
  additionalProperties: false
21827
22190
  freeTextPlaceholder:
21828
22191
  type: string
22192
+ presentation:
22193
+ type: string
22194
+ const: virtual_desktop
21829
22195
  required:
21830
22196
  - id
21831
22197
  - question
@@ -21868,6 +22234,9 @@ paths:
21868
22234
  additionalProperties: false
21869
22235
  freeTextPlaceholder:
21870
22236
  type: string
22237
+ presentation:
22238
+ type: string
22239
+ const: virtual_desktop
21871
22240
  required:
21872
22241
  - id
21873
22242
  - question
@@ -21995,6 +22364,8 @@ paths:
21995
22364
  type: string
21996
22365
  fileBacked:
21997
22366
  type: boolean
22367
+ computerUseScreenshot:
22368
+ type: boolean
21998
22369
  required:
21999
22370
  - id
22000
22371
  - filename
@@ -22254,6 +22625,223 @@ paths:
22254
22625
  locally but the server reports `processing: false`, the turn has ended (or died) and the UI should
22255
22626
  stop waiting rather than spin indefinitely. Absent on older daemons that predate this field."
22256
22627
  type: boolean
22628
+ modeSessions:
22629
+ description: Conversation-owned mode-session summaries referenced by this page or explicitly requested by ID.
22630
+ type: array
22631
+ items:
22632
+ type: object
22633
+ properties:
22634
+ summary:
22635
+ oneOf:
22636
+ - type: object
22637
+ properties:
22638
+ id:
22639
+ type: string
22640
+ minLength: 1
22641
+ conversationId:
22642
+ type: string
22643
+ minLength: 1
22644
+ mode:
22645
+ type: string
22646
+ enum:
22647
+ - computer_use
22648
+ - browser
22649
+ - live_vision
22650
+ - ambient
22651
+ sourceStartedAt:
22652
+ type: integer
22653
+ minimum: 0
22654
+ maximum: 9007199254740991
22655
+ firstIncludedAt:
22656
+ anyOf:
22657
+ - type: integer
22658
+ minimum: 0
22659
+ maximum: 9007199254740991
22660
+ - type: "null"
22661
+ firstIncludedMessageId:
22662
+ anyOf:
22663
+ - type: string
22664
+ minLength: 1
22665
+ - type: "null"
22666
+ lastActivityAt:
22667
+ type: integer
22668
+ minimum: 0
22669
+ maximum: 9007199254740991
22670
+ lastOwnedMessageId:
22671
+ anyOf:
22672
+ - type: string
22673
+ minLength: 1
22674
+ - type: "null"
22675
+ revision:
22676
+ type: integer
22677
+ exclusiveMinimum: 0
22678
+ maximum: 9007199254740991
22679
+ status:
22680
+ type: string
22681
+ const: active
22682
+ endedAt:
22683
+ type: "null"
22684
+ endReason:
22685
+ type: "null"
22686
+ required:
22687
+ - id
22688
+ - conversationId
22689
+ - mode
22690
+ - sourceStartedAt
22691
+ - firstIncludedAt
22692
+ - firstIncludedMessageId
22693
+ - lastActivityAt
22694
+ - lastOwnedMessageId
22695
+ - revision
22696
+ - status
22697
+ - endedAt
22698
+ - endReason
22699
+ additionalProperties: false
22700
+ - type: object
22701
+ properties:
22702
+ id:
22703
+ type: string
22704
+ minLength: 1
22705
+ conversationId:
22706
+ type: string
22707
+ minLength: 1
22708
+ mode:
22709
+ type: string
22710
+ enum:
22711
+ - computer_use
22712
+ - browser
22713
+ - live_vision
22714
+ - ambient
22715
+ sourceStartedAt:
22716
+ type: integer
22717
+ minimum: 0
22718
+ maximum: 9007199254740991
22719
+ firstIncludedAt:
22720
+ anyOf:
22721
+ - type: integer
22722
+ minimum: 0
22723
+ maximum: 9007199254740991
22724
+ - type: "null"
22725
+ firstIncludedMessageId:
22726
+ anyOf:
22727
+ - type: string
22728
+ minLength: 1
22729
+ - type: "null"
22730
+ lastActivityAt:
22731
+ type: integer
22732
+ minimum: 0
22733
+ maximum: 9007199254740991
22734
+ lastOwnedMessageId:
22735
+ anyOf:
22736
+ - type: string
22737
+ minLength: 1
22738
+ - type: "null"
22739
+ revision:
22740
+ type: integer
22741
+ exclusiveMinimum: 0
22742
+ maximum: 9007199254740991
22743
+ status:
22744
+ type: string
22745
+ const: completed
22746
+ endedAt:
22747
+ type: integer
22748
+ minimum: 0
22749
+ maximum: 9007199254740991
22750
+ endReason:
22751
+ type: string
22752
+ minLength: 1
22753
+ required:
22754
+ - id
22755
+ - conversationId
22756
+ - mode
22757
+ - sourceStartedAt
22758
+ - firstIncludedAt
22759
+ - firstIncludedMessageId
22760
+ - lastActivityAt
22761
+ - lastOwnedMessageId
22762
+ - revision
22763
+ - status
22764
+ - endedAt
22765
+ - endReason
22766
+ additionalProperties: false
22767
+ - type: object
22768
+ properties:
22769
+ id:
22770
+ type: string
22771
+ minLength: 1
22772
+ conversationId:
22773
+ type: string
22774
+ minLength: 1
22775
+ mode:
22776
+ type: string
22777
+ enum:
22778
+ - computer_use
22779
+ - browser
22780
+ - live_vision
22781
+ - ambient
22782
+ sourceStartedAt:
22783
+ type: integer
22784
+ minimum: 0
22785
+ maximum: 9007199254740991
22786
+ firstIncludedAt:
22787
+ anyOf:
22788
+ - type: integer
22789
+ minimum: 0
22790
+ maximum: 9007199254740991
22791
+ - type: "null"
22792
+ firstIncludedMessageId:
22793
+ anyOf:
22794
+ - type: string
22795
+ minLength: 1
22796
+ - type: "null"
22797
+ lastActivityAt:
22798
+ type: integer
22799
+ minimum: 0
22800
+ maximum: 9007199254740991
22801
+ lastOwnedMessageId:
22802
+ anyOf:
22803
+ - type: string
22804
+ minLength: 1
22805
+ - type: "null"
22806
+ revision:
22807
+ type: integer
22808
+ exclusiveMinimum: 0
22809
+ maximum: 9007199254740991
22810
+ status:
22811
+ type: string
22812
+ const: interrupted
22813
+ endedAt:
22814
+ anyOf:
22815
+ - type: integer
22816
+ minimum: 0
22817
+ maximum: 9007199254740991
22818
+ - type: "null"
22819
+ endReason:
22820
+ type: string
22821
+ minLength: 1
22822
+ required:
22823
+ - id
22824
+ - conversationId
22825
+ - mode
22826
+ - sourceStartedAt
22827
+ - firstIncludedAt
22828
+ - firstIncludedMessageId
22829
+ - lastActivityAt
22830
+ - lastOwnedMessageId
22831
+ - revision
22832
+ - status
22833
+ - endedAt
22834
+ - endReason
22835
+ additionalProperties: false
22836
+ type: object
22837
+ runtimeState:
22838
+ type: string
22839
+ enum:
22840
+ - waiting
22841
+ - finishing
22842
+ required:
22843
+ - summary
22844
+ additionalProperties: false
22257
22845
  required:
22258
22846
  - messages
22259
22847
  additionalProperties: false
@@ -23213,6 +23801,14 @@ paths:
23213
23801
  description:
23214
23802
  description: Human-readable export description.
23215
23803
  type: string
23804
+ profile:
23805
+ description:
23806
+ "Export profile. 'migration' (default) builds a teleport bundle. 'debug' builds a bundle for Vellum staff
23807
+ to open on a debug clone: no credentials, plus the gateway's database and logs under gateway/."
23808
+ type: string
23809
+ enum:
23810
+ - migration
23811
+ - debug
23216
23812
  required:
23217
23813
  - upload_url
23218
23814
  responses:
@@ -24368,11 +24964,58 @@ paths:
24368
24964
  type: boolean
24369
24965
  reason:
24370
24966
  type: string
24967
+ selectedChannels:
24968
+ type: array
24969
+ items:
24970
+ type: string
24971
+ deliveryResults:
24972
+ type: array
24973
+ items:
24974
+ type: object
24975
+ properties:
24976
+ channel:
24977
+ type: string
24978
+ destination:
24979
+ type: string
24980
+ status:
24981
+ type: string
24982
+ enum:
24983
+ - pending
24984
+ - sent
24985
+ - failed
24986
+ - skipped
24987
+ errorCode:
24988
+ type: string
24989
+ errorMessage:
24990
+ type: string
24991
+ sentAt:
24992
+ type: number
24993
+ conversationId:
24994
+ type: string
24995
+ messageId:
24996
+ type: string
24997
+ conversationStrategy:
24998
+ type: string
24999
+ required:
25000
+ - channel
25001
+ - destination
25002
+ - status
25003
+ additionalProperties: false
25004
+ receiptClass:
25005
+ type: string
25006
+ enum:
25007
+ - provider_accepted
25008
+ - gateway_accepted
25009
+ - client_os_posted
25010
+ - unknown
24371
25011
  required:
24372
25012
  - signalId
24373
25013
  - dispatched
24374
25014
  - deduplicated
24375
25015
  - reason
25016
+ - selectedChannels
25017
+ - deliveryResults
25018
+ - receiptClass
24376
25019
  additionalProperties: false
24377
25020
  /v1/notifications/events:
24378
25021
  post:
@@ -24487,6 +25130,22 @@ paths:
24487
25130
  anyOf:
24488
25131
  - type: string
24489
25132
  - type: "null"
25133
+ category:
25134
+ anyOf:
25135
+ - type: string
25136
+ enum:
25137
+ - productivity
25138
+ - communication
25139
+ - meetings
25140
+ - sales
25141
+ - marketing
25142
+ - finance
25143
+ - commerce
25144
+ - engineering
25145
+ - knowledge
25146
+ - recruiting
25147
+ - type: "null"
25148
+ description: Where the integrations catalog files the provider; null for a provider without a seed entry.
24490
25149
  tenant_host:
24491
25150
  anyOf:
24492
25151
  - type: object
@@ -24519,6 +25178,7 @@ paths:
24519
25178
  - supports_managed_mode
24520
25179
  - managed_service_is_paid
24521
25180
  - feature_flag
25181
+ - category
24522
25182
  - tenant_host
24523
25183
  - acts_as
24524
25184
  additionalProperties: false
@@ -25038,6 +25698,22 @@ paths:
25038
25698
  anyOf:
25039
25699
  - type: string
25040
25700
  - type: "null"
25701
+ category:
25702
+ anyOf:
25703
+ - type: string
25704
+ enum:
25705
+ - productivity
25706
+ - communication
25707
+ - meetings
25708
+ - sales
25709
+ - marketing
25710
+ - finance
25711
+ - commerce
25712
+ - engineering
25713
+ - knowledge
25714
+ - recruiting
25715
+ - type: "null"
25716
+ description: Where the integrations catalog files the provider; null for a provider without a seed entry.
25041
25717
  tenant_host:
25042
25718
  anyOf:
25043
25719
  - type: object
@@ -25070,6 +25746,7 @@ paths:
25070
25746
  - supports_managed_mode
25071
25747
  - managed_service_is_paid
25072
25748
  - feature_flag
25749
+ - category
25073
25750
  - tenant_host
25074
25751
  - acts_as
25075
25752
  additionalProperties: false
@@ -25719,6 +26396,9 @@ paths:
25719
26396
  additionalProperties: false
25720
26397
  freeTextPlaceholder:
25721
26398
  type: string
26399
+ presentation:
26400
+ type: string
26401
+ const: virtual_desktop
25722
26402
  required:
25723
26403
  - id
25724
26404
  - question
@@ -27632,6 +28312,11 @@ paths:
27632
28312
  type: string
27633
28313
  oauthProvider:
27634
28314
  type: string
28315
+ category:
28316
+ description:
28317
+ "Where the integrations catalog files the entry: a slug from the shared integration-category vocabulary,
28318
+ passed through as the catalog declares it."
28319
+ type: string
27635
28320
  required:
27636
28321
  - kind
27637
28322
  - displayName
@@ -28787,8 +29472,8 @@ paths:
28787
29472
  operationId: roadmap_by_slug_patch
28788
29473
  summary: Update a roadmap item
28789
29474
  description:
28790
- Updates a roadmap item. At least one field is required; the roadmap service decides which items this
28791
- assistant may edit.
29475
+ Updates the title or description of a roadmap item this assistant filed, while the item is still open.
29476
+ Status and tags are set by Vellum staff.
28792
29477
  tags:
28793
29478
  - roadmap
28794
29479
  parameters:
@@ -28808,13 +29493,7 @@ paths:
28808
29493
  type: string
28809
29494
  description:
28810
29495
  type: string
28811
- status:
28812
- type: string
28813
- tags:
28814
- description: Tag slugs
28815
- type: array
28816
- items:
28817
- type: string
29496
+ additionalProperties: false
28818
29497
  responses:
28819
29498
  "200":
28820
29499
  description: Successful response
@@ -29134,6 +29813,8 @@ paths:
29134
29813
  - single_channel
29135
29814
  - multi_channel
29136
29815
  - all_channels
29816
+ quiet:
29817
+ type: boolean
29137
29818
  reuseConversation:
29138
29819
  type: boolean
29139
29820
  wakeConversationId:
@@ -29203,6 +29884,7 @@ paths:
29203
29884
  - mode
29204
29885
  - status
29205
29886
  - routingIntent
29887
+ - quiet
29206
29888
  - reuseConversation
29207
29889
  - wakeConversationId
29208
29890
  - workflowName
@@ -29382,6 +30064,8 @@ paths:
29382
30064
  - single_channel
29383
30065
  - multi_channel
29384
30066
  - all_channels
30067
+ quiet:
30068
+ type: boolean
29385
30069
  reuseConversation:
29386
30070
  type: boolean
29387
30071
  wakeConversationId:
@@ -29451,6 +30135,7 @@ paths:
29451
30135
  - mode
29452
30136
  - status
29453
30137
  - routingIntent
30138
+ - quiet
29454
30139
  - reuseConversation
29455
30140
  - wakeConversationId
29456
30141
  - workflowName
@@ -29582,6 +30267,8 @@ paths:
29582
30267
  - single_channel
29583
30268
  - multi_channel
29584
30269
  - all_channels
30270
+ quiet:
30271
+ type: boolean
29585
30272
  reuseConversation:
29586
30273
  type: boolean
29587
30274
  wakeConversationId:
@@ -29651,6 +30338,7 @@ paths:
29651
30338
  - mode
29652
30339
  - status
29653
30340
  - routingIntent
30341
+ - quiet
29654
30342
  - reuseConversation
29655
30343
  - wakeConversationId
29656
30344
  - workflowName
@@ -29779,6 +30467,8 @@ paths:
29779
30467
  - single_channel
29780
30468
  - multi_channel
29781
30469
  - all_channels
30470
+ quiet:
30471
+ type: boolean
29782
30472
  reuseConversation:
29783
30473
  type: boolean
29784
30474
  wakeConversationId:
@@ -29848,6 +30538,7 @@ paths:
29848
30538
  - mode
29849
30539
  - status
29850
30540
  - routingIntent
30541
+ - quiet
29851
30542
  - reuseConversation
29852
30543
  - wakeConversationId
29853
30544
  - workflowName
@@ -30036,6 +30727,8 @@ paths:
30036
30727
  - single_channel
30037
30728
  - multi_channel
30038
30729
  - all_channels
30730
+ quiet:
30731
+ type: boolean
30039
30732
  reuseConversation:
30040
30733
  type: boolean
30041
30734
  wakeConversationId:
@@ -30105,6 +30798,7 @@ paths:
30105
30798
  - mode
30106
30799
  - status
30107
30800
  - routingIntent
30801
+ - quiet
30108
30802
  - reuseConversation
30109
30803
  - wakeConversationId
30110
30804
  - workflowName
@@ -30236,6 +30930,8 @@ paths:
30236
30930
  - single_channel
30237
30931
  - multi_channel
30238
30932
  - all_channels
30933
+ quiet:
30934
+ type: boolean
30239
30935
  reuseConversation:
30240
30936
  type: boolean
30241
30937
  wakeConversationId:
@@ -30305,6 +31001,7 @@ paths:
30305
31001
  - mode
30306
31002
  - status
30307
31003
  - routingIntent
31004
+ - quiet
30308
31005
  - reuseConversation
30309
31006
  - wakeConversationId
30310
31007
  - workflowName
@@ -30439,6 +31136,8 @@ paths:
30439
31136
  - single_channel
30440
31137
  - multi_channel
30441
31138
  - all_channels
31139
+ quiet:
31140
+ type: boolean
30442
31141
  reuseConversation:
30443
31142
  type: boolean
30444
31143
  wakeConversationId:
@@ -30508,6 +31207,7 @@ paths:
30508
31207
  - mode
30509
31208
  - status
30510
31209
  - routingIntent
31210
+ - quiet
30511
31211
  - reuseConversation
30512
31212
  - wakeConversationId
30513
31213
  - workflowName
@@ -30778,6 +31478,8 @@ paths:
30778
31478
  - single_channel
30779
31479
  - multi_channel
30780
31480
  - all_channels
31481
+ quiet:
31482
+ type: boolean
30781
31483
  reuseConversation:
30782
31484
  type: boolean
30783
31485
  wakeConversationId:
@@ -30847,6 +31549,7 @@ paths:
30847
31549
  - mode
30848
31550
  - status
30849
31551
  - routingIntent
31552
+ - quiet
30850
31553
  - reuseConversation
30851
31554
  - wakeConversationId
30852
31555
  - workflowName
@@ -38352,6 +39055,7 @@ components:
38352
39055
  - atlascloud
38353
39056
  - baseten
38354
39057
  - poolside
39058
+ - typesafe
38355
39059
  - vellum
38356
39060
  - chatgpt
38357
39061
  Auth: