@vellumai/assistant 0.7.2 → 0.8.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (424) hide show
  1. package/ARCHITECTURE.md +45 -29
  2. package/Dockerfile +1 -0
  3. package/__tests__/permissions/gateway-threshold-reader.test.ts +236 -9
  4. package/bun.lock +3 -0
  5. package/docs/architecture/memory.md +5 -2
  6. package/knip.json +1 -0
  7. package/node_modules/@vellumai/gateway-client/src/ipc-client.ts +13 -4
  8. package/node_modules/@vellumai/ipc-server-utils/bun.lock +24 -0
  9. package/node_modules/@vellumai/ipc-server-utils/package.json +18 -0
  10. package/node_modules/@vellumai/ipc-server-utils/src/index.ts +6 -0
  11. package/node_modules/@vellumai/ipc-server-utils/src/socket-watchdog.test.ts +430 -0
  12. package/node_modules/@vellumai/ipc-server-utils/src/socket-watchdog.ts +221 -0
  13. package/node_modules/@vellumai/ipc-server-utils/tsconfig.json +20 -0
  14. package/node_modules/@vellumai/skill-host-contracts/src/assistant-event.ts +0 -9
  15. package/node_modules/@vellumai/slack-text/src/index.test.ts +18 -35
  16. package/node_modules/@vellumai/slack-text/src/index.ts +2 -48
  17. package/openapi.yaml +470 -25
  18. package/package.json +3 -1
  19. package/src/__tests__/annotate-risk-options.test.ts +291 -0
  20. package/src/__tests__/app-control-flow.test.ts +21 -11
  21. package/src/__tests__/approval-cascade.test.ts +8 -16
  22. package/src/__tests__/approval-routes-http.test.ts +6 -0
  23. package/src/__tests__/assistant-event-hub.test.ts +48 -0
  24. package/src/__tests__/assistant-event.test.ts +0 -10
  25. package/src/__tests__/assistant-events-sse-hardening.test.ts +2 -7
  26. package/src/__tests__/assistant-feature-flags-integration.test.ts +18 -0
  27. package/src/__tests__/auto-analysis-end-to-end.test.ts +48 -0
  28. package/src/__tests__/background-workers-disk-pressure.test.ts +268 -0
  29. package/src/__tests__/call-constants.test.ts +10 -1
  30. package/src/__tests__/call-controller.test.ts +127 -0
  31. package/src/__tests__/call-conversation-messages.test.ts +8 -2
  32. package/src/__tests__/channel-inbound-disk-pressure.test.ts +537 -0
  33. package/src/__tests__/channel-readiness-service.test.ts +4 -2
  34. package/src/__tests__/cli-memory-v2-reembed-skills.test.ts +58 -28
  35. package/src/__tests__/config-loader-backfill.test.ts +379 -0
  36. package/src/__tests__/config-loader-platform-defaults.test.ts +284 -1
  37. package/src/__tests__/config-schema.test.ts +1 -0
  38. package/src/__tests__/config-watcher-cleanup-throttle.test.ts +18 -9
  39. package/src/__tests__/config-watcher.test.ts +140 -69
  40. package/src/__tests__/context-search-agent-runner.test.ts +61 -3
  41. package/src/__tests__/context-search-conversations-source.test.ts +0 -24
  42. package/src/__tests__/context-search-fanout.test.ts +0 -1
  43. package/src/__tests__/context-search-memory-source.test.ts +6 -33
  44. package/src/__tests__/context-search-memory-v2-source.test.ts +0 -2
  45. package/src/__tests__/context-search-pkb-source.test.ts +12 -7
  46. package/src/__tests__/context-search-workspace-source.test.ts +0 -1
  47. package/src/__tests__/conversation-abort-tool-results.test.ts +1 -0
  48. package/src/__tests__/conversation-agent-loop-disk-pressure.test.ts +223 -0
  49. package/src/__tests__/conversation-agent-loop-inference-profile.test.ts +1 -1
  50. package/src/__tests__/conversation-agent-loop-overflow.test.ts +1 -1
  51. package/src/__tests__/conversation-agent-loop.test.ts +457 -8
  52. package/src/__tests__/conversation-confirmation-signals.test.ts +5 -13
  53. package/src/__tests__/conversation-error.test.ts +150 -3
  54. package/src/__tests__/conversation-init.benchmark.test.ts +1 -1
  55. package/src/__tests__/conversation-process-callsite.test.ts +38 -0
  56. package/src/__tests__/conversation-provider-retry-repair.test.ts +1 -0
  57. package/src/__tests__/conversation-runtime-assembly.test.ts +74 -0
  58. package/src/__tests__/conversation-slash-unknown.test.ts +1 -0
  59. package/src/__tests__/conversation-speed-override.test.ts +0 -3
  60. package/src/__tests__/conversation-store.test.ts +0 -18
  61. package/src/__tests__/conversation-surfaces-action-delivery.test.ts +170 -9
  62. package/src/__tests__/conversation-surfaces-app-control.test.ts +15 -4
  63. package/src/__tests__/conversation-surfaces-data-persist.test.ts +476 -0
  64. package/src/__tests__/conversation-tool-setup-app-refresh.test.ts +61 -5
  65. package/src/__tests__/conversation-workspace-injection.test.ts +1 -1
  66. package/src/__tests__/conversation-workspace-tool-tracking.test.ts +1 -1
  67. package/src/__tests__/credentials-cli.test.ts +7 -0
  68. package/src/__tests__/cu-unified-flow.test.ts +176 -10
  69. package/src/__tests__/date-context.test.ts +164 -2
  70. package/src/__tests__/disk-pressure-guard.test.ts +262 -0
  71. package/src/__tests__/disk-pressure-lifecycle.test.ts +168 -0
  72. package/src/__tests__/disk-pressure-policy.test.ts +241 -0
  73. package/src/__tests__/disk-pressure-routes.test.ts +379 -0
  74. package/src/__tests__/disk-pressure-tools.test.ts +277 -0
  75. package/src/__tests__/disk-usage.test.ts +150 -0
  76. package/src/__tests__/events-client-registration.test.ts +52 -0
  77. package/src/__tests__/events-dev-bypass-actor.test.ts +162 -0
  78. package/src/__tests__/file-write-tool.test.ts +4 -10
  79. package/src/__tests__/filing-service.test.ts +2 -20
  80. package/src/__tests__/handlers-skills-memory-v2-reseed.test.ts +10 -26
  81. package/src/__tests__/heartbeat-disk-pressure.test.ts +183 -0
  82. package/src/__tests__/heartbeat-service.test.ts +260 -11
  83. package/src/__tests__/host-app-control-proxy.test.ts +195 -25
  84. package/src/__tests__/host-bash-proxy.test.ts +227 -34
  85. package/src/__tests__/host-bash-routes.test.ts +178 -13
  86. package/src/__tests__/host-cu-proxy.test.ts +210 -3
  87. package/src/__tests__/host-cu-routes-targeted.test.ts +141 -12
  88. package/src/__tests__/host-file-proxy-targeted.test.ts +48 -9
  89. package/src/__tests__/host-file-proxy.test.ts +268 -6
  90. package/src/__tests__/host-file-routes-targeted.test.ts +175 -17
  91. package/src/__tests__/host-transfer-proxy-targeted.test.ts +408 -59
  92. package/src/__tests__/host-transfer-routes-targeted.test.ts +232 -17
  93. package/src/__tests__/http-user-message-parity.test.ts +107 -1
  94. package/src/__tests__/injector-chain.test.ts +36 -16
  95. package/src/__tests__/injector-disk-pressure.test.ts +224 -0
  96. package/src/__tests__/injector-pkb-v2-silenced.test.ts +10 -7
  97. package/src/__tests__/lifecycle-memory-v2-seed.test.ts +154 -67
  98. package/src/__tests__/managed-profile-guard.test.ts +18 -0
  99. package/src/__tests__/mcp-abort-signal.test.ts +130 -0
  100. package/src/__tests__/memory-admin-recall.test.ts +3 -11
  101. package/src/__tests__/memory-retrieval-pipeline.test.ts +22 -1
  102. package/src/__tests__/normalize-onboarding.test.ts +180 -0
  103. package/src/__tests__/notification-decision-fallback.test.ts +91 -0
  104. package/src/__tests__/notification-decision-strategy.test.ts +22 -0
  105. package/src/__tests__/oauth-cli.test.ts +121 -0
  106. package/src/__tests__/oauth-connect-routes.test.ts +316 -0
  107. package/src/__tests__/oauth-provider-seed-logos.test.ts +24 -2
  108. package/src/__tests__/onboarding-persona-write.test.ts +308 -0
  109. package/src/__tests__/openai-provider.test.ts +45 -8
  110. package/src/__tests__/persist-onboarding-artifacts.test.ts +44 -64
  111. package/src/__tests__/platform-callback-registration.test.ts +21 -4
  112. package/src/__tests__/platform.test.ts +2 -1
  113. package/src/__tests__/playbook-execution.test.ts +0 -43
  114. package/src/__tests__/plugin-tool-contribution.test.ts +47 -0
  115. package/src/__tests__/prechat-onboarding-contract.test.ts +214 -27
  116. package/src/__tests__/provider-tool-name.test.ts +23 -0
  117. package/src/__tests__/relay-server.test.ts +60 -5
  118. package/src/__tests__/runtime-events-sse.test.ts +4 -8
  119. package/src/__tests__/scheduler-disk-pressure.test.ts +148 -0
  120. package/src/__tests__/secret-ingress-http.test.ts +0 -1
  121. package/src/__tests__/secret-prompt-log-hygiene.test.ts +7 -5
  122. package/src/__tests__/secret-prompter-channel-fallback.test.ts +7 -5
  123. package/src/__tests__/secret-response-routing.test.ts +7 -5
  124. package/src/__tests__/server-history-render.test.ts +82 -0
  125. package/src/__tests__/skill-include-graph.test.ts +31 -0
  126. package/src/__tests__/skill-load-tool.test.ts +44 -16
  127. package/src/__tests__/skills.test.ts +39 -0
  128. package/src/__tests__/suggestion-routes.test.ts +46 -0
  129. package/src/__tests__/tool-execution-pipeline.benchmark.test.ts +0 -42
  130. package/src/__tests__/tool-executor.test.ts +155 -0
  131. package/src/__tests__/twilio-validation.test.ts +2 -2
  132. package/src/__tests__/voice-session-bridge.test.ts +3 -0
  133. package/src/__tests__/workspace-migration-065-bump-stale-heartbeat-interval.test.ts +122 -0
  134. package/src/__tests__/workspace-migration-066-seed-heartbeat-callsite-cost-default.test.ts +285 -0
  135. package/src/__tests__/workspace-migration-068-release-notes-local-timezone.test.ts +90 -0
  136. package/src/__tests__/workspace-migration-069-seed-onboarding-threads.test.ts +120 -0
  137. package/src/__tests__/workspace-migration-071-remove-safe-storage-release-note.test.ts +206 -0
  138. package/src/__tests__/workspace-migration-safe-storage-limits-release.test.ts +78 -0
  139. package/src/agent/loop.ts +11 -0
  140. package/src/approvals/guardian-request-resolvers.ts +3 -32
  141. package/src/backup/snapshot-lock.ts +2 -27
  142. package/src/bundler/compiler-tools.ts +3 -2
  143. package/src/calls/call-constants.ts +5 -8
  144. package/src/calls/call-controller.ts +130 -67
  145. package/src/calls/call-conversation-messages.ts +46 -10
  146. package/src/calls/relay-server.ts +7 -1
  147. package/src/calls/voice-session-bridge.ts +1 -1
  148. package/src/cli/commands/__tests__/webhooks.test.ts +0 -4
  149. package/src/cli/commands/bash.ts +35 -108
  150. package/src/cli/commands/contacts.ts +64 -25
  151. package/src/cli/commands/credentials.ts +56 -0
  152. package/src/cli/commands/memory-v2.ts +11 -10
  153. package/src/cli/commands/oauth/__tests__/connect.test.ts +401 -219
  154. package/src/cli/commands/oauth/connect.ts +124 -40
  155. package/src/cli/commands/platform/__tests__/callback-routes-list.test.ts +0 -3
  156. package/src/cli/commands/platform/__tests__/connect.test.ts +7 -1
  157. package/src/cli/commands/platform/__tests__/disconnect.test.ts +7 -1
  158. package/src/cli/commands/platform/__tests__/status.test.ts +103 -6
  159. package/src/cli/commands/platform/index.ts +16 -7
  160. package/src/cli/commands/status.ts +57 -0
  161. package/src/cli/program.ts +4 -2
  162. package/src/config/assistant-feature-flags.ts +13 -3
  163. package/src/config/bundled-skills/app-builder/SKILL.md +1 -3
  164. package/src/config/bundled-skills/messaging/tools/messaging-analyze-style.ts +4 -3
  165. package/src/config/bundled-skills/phone-calls/references/TROUBLESHOOTING.md +13 -7
  166. package/src/config/bundled-skills/playbooks/tools/playbook-create.ts +2 -2
  167. package/src/config/bundled-skills/playbooks/tools/playbook-delete.ts +2 -2
  168. package/src/config/bundled-skills/playbooks/tools/playbook-list.ts +2 -2
  169. package/src/config/bundled-skills/playbooks/tools/playbook-update.ts +2 -2
  170. package/src/config/env.ts +0 -8
  171. package/src/config/feature-flag-registry.json +13 -5
  172. package/src/config/loader.ts +199 -27
  173. package/src/config/schemas/__tests__/memory-v2.test.ts +10 -5
  174. package/src/config/schemas/call-site-catalog.ts +14 -0
  175. package/src/config/schemas/channels.ts +0 -5
  176. package/src/config/schemas/heartbeat.ts +1 -1
  177. package/src/config/schemas/llm.ts +2 -0
  178. package/src/config/schemas/memory-lifecycle.ts +13 -0
  179. package/src/config/schemas/memory-v2.ts +76 -12
  180. package/src/config/schemas/platform.ts +43 -3
  181. package/src/config/schemas/services.ts +28 -0
  182. package/src/config/seed-inference-profiles.ts +230 -33
  183. package/src/contacts/contact-store.ts +0 -25
  184. package/src/daemon/__tests__/conversation-lifecycle-auto-analyze.test.ts +32 -0
  185. package/src/daemon/__tests__/conversation-tool-setup.test.ts +86 -25
  186. package/src/daemon/assistant-attachments.ts +4 -4
  187. package/src/daemon/config-watcher.ts +85 -57
  188. package/src/daemon/conversation-agent-loop-handlers.ts +38 -0
  189. package/src/daemon/conversation-agent-loop.ts +183 -43
  190. package/src/daemon/conversation-error.ts +87 -15
  191. package/src/daemon/conversation-lifecycle.ts +22 -10
  192. package/src/daemon/conversation-process.ts +8 -0
  193. package/src/daemon/conversation-runtime-assembly.ts +26 -0
  194. package/src/daemon/conversation-store.ts +2 -2
  195. package/src/daemon/conversation-surfaces.ts +211 -29
  196. package/src/daemon/conversation-tool-setup.ts +66 -19
  197. package/src/daemon/conversation.ts +18 -23
  198. package/src/daemon/date-context.ts +71 -22
  199. package/src/daemon/disk-pressure-background-gate.ts +73 -0
  200. package/src/daemon/disk-pressure-guard.ts +343 -0
  201. package/src/daemon/disk-pressure-policy.ts +163 -0
  202. package/src/daemon/handlers/shared.ts +26 -1
  203. package/src/daemon/handlers/skills.ts +3 -4
  204. package/src/daemon/host-app-control-proxy.ts +137 -41
  205. package/src/daemon/host-bash-proxy.ts +47 -22
  206. package/src/daemon/host-browser-proxy.ts +1 -1
  207. package/src/daemon/host-cu-proxy.ts +50 -4
  208. package/src/daemon/host-file-proxy.ts +44 -8
  209. package/src/daemon/host-transfer-proxy.ts +97 -6
  210. package/src/daemon/lifecycle.ts +167 -101
  211. package/src/daemon/meet-host-supervisor.ts +4 -4
  212. package/src/daemon/meet-manifest-loader.ts +0 -1
  213. package/src/daemon/memory-v2-startup.ts +66 -15
  214. package/src/daemon/message-protocol.ts +3 -0
  215. package/src/daemon/message-types/conversations.ts +4 -0
  216. package/src/daemon/message-types/disk-pressure.ts +9 -0
  217. package/src/daemon/message-types/messages.ts +22 -1
  218. package/src/daemon/profiler-run-store.ts +5 -5
  219. package/src/daemon/tool-setup-types.ts +2 -2
  220. package/src/documents/document-store.ts +119 -0
  221. package/src/filing/filing-service.ts +29 -5
  222. package/src/heartbeat/__tests__/heartbeat-feed-event.test.ts +9 -16
  223. package/src/heartbeat/__tests__/heartbeat-run-store.test.ts +36 -0
  224. package/src/heartbeat/heartbeat-run-store.ts +13 -0
  225. package/src/heartbeat/heartbeat-service.ts +205 -31
  226. package/src/home/feed-scheduler.ts +18 -0
  227. package/src/inbound/platform-callback-registration.ts +8 -15
  228. package/src/ipc/__tests__/clients-list-ipc.test.ts +169 -0
  229. package/src/ipc/assistant-server.ts +149 -38
  230. package/src/ipc/gateway-client.ts +37 -3
  231. package/src/ipc/skill-server.ts +99 -42
  232. package/src/live-voice/live-voice-archive.ts +4 -4
  233. package/src/live-voice/protocol.ts +5 -7
  234. package/src/media/image-service.ts +1 -7
  235. package/src/memory/__tests__/fixtures/memory-v2-activation-fixtures.ts +21 -13
  236. package/src/memory/__tests__/jobs-worker-v2-schedule.test.ts +34 -51
  237. package/src/memory/__tests__/memory-v2-activation-log-store.test.ts +0 -6
  238. package/src/memory/__tests__/memory-v2-concept-frequency.test.ts +272 -0
  239. package/src/memory/admin.ts +5 -9
  240. package/src/memory/context-search/agent-runner.ts +19 -2
  241. package/src/memory/context-search/sources/conversations.ts +2 -11
  242. package/src/memory/context-search/sources/memory-v2.ts +1 -16
  243. package/src/memory/context-search/sources/memory.ts +2 -3
  244. package/src/memory/context-search/sources/pkb.ts +2 -3
  245. package/src/memory/context-search/types.ts +0 -1
  246. package/src/memory/conversation-crud.ts +4 -12
  247. package/src/memory/db-init.ts +2 -0
  248. package/src/memory/embedding-runtime-manager.ts +119 -5
  249. package/src/memory/graph/__tests__/conversation-graph-memory-v2-routing.test.ts +136 -82
  250. package/src/memory/graph/__tests__/handle-remember-v2.test.ts +11 -26
  251. package/src/memory/graph/conversation-graph-memory.ts +72 -61
  252. package/src/memory/graph/extraction.ts +1 -3
  253. package/src/memory/graph/graph-search.test.ts +11 -67
  254. package/src/memory/graph/graph-search.ts +4 -24
  255. package/src/memory/graph/retriever.test.ts +12 -1
  256. package/src/memory/graph/retriever.ts +10 -15
  257. package/src/memory/graph/tool-handlers.ts +3 -4
  258. package/src/memory/graph/tools.ts +4 -4
  259. package/src/memory/indexer.ts +53 -45
  260. package/src/memory/job-handlers/backfill.ts +2 -11
  261. package/src/memory/job-handlers/cleanup.ts +43 -0
  262. package/src/memory/job-handlers/embedding.ts +6 -8
  263. package/src/memory/job-handlers/summarization.ts +2 -7
  264. package/src/memory/jobs/__tests__/embed-concept-page.test.ts +116 -0
  265. package/src/memory/jobs/embed-concept-page.ts +223 -87
  266. package/src/memory/jobs-store.ts +48 -0
  267. package/src/memory/jobs-worker.ts +85 -43
  268. package/src/memory/memory-v2-activation-log-store.ts +32 -14
  269. package/src/memory/memory-v2-concept-frequency.ts +169 -0
  270. package/src/memory/migrations/239-trace-events-created-at-index.ts +18 -0
  271. package/src/memory/migrations/index.ts +1 -0
  272. package/src/memory/pkb/pkb-search.test.ts +7 -0
  273. package/src/memory/pkb/pkb-search.ts +4 -5
  274. package/src/memory/qdrant-client.ts +3 -13
  275. package/src/memory/rerank-local.ts +374 -0
  276. package/src/memory/search/semantic.ts +10 -72
  277. package/src/memory/trace-event-store.ts +1 -17
  278. package/src/memory/v2/__tests__/activation.test.ts +346 -255
  279. package/src/memory/v2/__tests__/consolidation-job.test.ts +61 -40
  280. package/src/memory/v2/__tests__/injection.test.ts +297 -190
  281. package/src/memory/v2/__tests__/prompts-consolidation.test.ts +61 -2
  282. package/src/memory/v2/__tests__/qdrant.test.ts +326 -9
  283. package/src/memory/v2/__tests__/reranker.test.ts +338 -0
  284. package/src/memory/v2/__tests__/sim.test.ts +113 -196
  285. package/src/memory/v2/__tests__/skill-store.test.ts +71 -65
  286. package/src/memory/v2/__tests__/static-context.test.ts +77 -14
  287. package/src/memory/v2/__tests__/sweep-job.test.ts +19 -33
  288. package/src/memory/v2/activation.ts +149 -156
  289. package/src/memory/v2/consolidation-job.ts +69 -20
  290. package/src/memory/v2/injection.ts +75 -68
  291. package/src/memory/v2/page-store.ts +39 -0
  292. package/src/memory/v2/prompts/consolidation.ts +41 -1
  293. package/src/memory/v2/qdrant.ts +306 -46
  294. package/src/memory/v2/reranker.ts +177 -0
  295. package/src/memory/v2/sim.ts +77 -110
  296. package/src/memory/v2/skill-content.ts +4 -3
  297. package/src/memory/v2/skill-store.ts +82 -59
  298. package/src/memory/v2/static-context.ts +26 -8
  299. package/src/memory/v2/sweep-job.ts +5 -6
  300. package/src/memory/v2/types.ts +17 -10
  301. package/src/notifications/copy-composer.ts +47 -0
  302. package/src/notifications/decision-engine.ts +46 -0
  303. package/src/notifications/signal.ts +4 -0
  304. package/src/oauth/AGENTS.md +3 -1
  305. package/src/oauth/__tests__/oauth-connect-state.test.ts +137 -0
  306. package/src/oauth/connect-orchestrator.ts +2 -0
  307. package/src/oauth/connection-resolver.test.ts +66 -1
  308. package/src/oauth/connection-resolver.ts +55 -1
  309. package/src/oauth/oauth-connect-state.ts +77 -0
  310. package/src/oauth/seed-providers.ts +58 -1
  311. package/src/permissions/gateway-threshold-reader.ts +116 -8
  312. package/src/permissions/prompter.ts +86 -96
  313. package/src/permissions/secret-prompter.ts +31 -31
  314. package/src/plugins/defaults/injectors.ts +36 -4
  315. package/src/plugins/defaults/memory-retrieval.ts +5 -6
  316. package/src/plugins/types.ts +7 -0
  317. package/src/proactive-artifact/aux-message-injector.ts +74 -0
  318. package/src/proactive-artifact/decision.test.ts +226 -0
  319. package/src/proactive-artifact/decision.ts +165 -0
  320. package/src/proactive-artifact/index.ts +7 -0
  321. package/src/proactive-artifact/job.test.ts +914 -0
  322. package/src/proactive-artifact/job.ts +366 -0
  323. package/src/proactive-artifact/message-copy.ts +58 -0
  324. package/src/proactive-artifact/trigger-state.test.ts +277 -0
  325. package/src/proactive-artifact/trigger-state.ts +119 -0
  326. package/src/prompts/normalize-onboarding.ts +80 -0
  327. package/src/prompts/persona-resolver.ts +101 -9
  328. package/src/prompts/system-prompt.ts +21 -7
  329. package/src/prompts/templates/BOOTSTRAP.md +13 -5
  330. package/src/prompts/templates/SOUL.md +13 -28
  331. package/src/providers/__tests__/retry-callsite.test.ts +222 -1
  332. package/src/providers/model-intents.ts +7 -0
  333. package/src/providers/openrouter/client.ts +8 -0
  334. package/src/providers/retry.ts +50 -0
  335. package/src/providers/types.ts +1 -0
  336. package/src/runtime/__tests__/agent-wake.test.ts +456 -3
  337. package/src/runtime/agent-wake.ts +238 -100
  338. package/src/runtime/assistant-event-hub.ts +36 -6
  339. package/src/runtime/assistant-event.ts +0 -1
  340. package/src/runtime/auth/__tests__/route-policy.test.ts +64 -0
  341. package/src/runtime/auth/route-policy.ts +15 -1
  342. package/src/runtime/auth/same-actor.ts +216 -0
  343. package/src/runtime/channel-approvals.ts +3 -2
  344. package/src/runtime/channel-retry-sweep.ts +65 -1
  345. package/src/runtime/local-actor-identity.ts +52 -11
  346. package/src/runtime/pending-interactions.ts +27 -15
  347. package/src/runtime/routes/__tests__/client-routes.test.ts +155 -0
  348. package/src/runtime/routes/__tests__/conversation-query-routes.test.ts +0 -5
  349. package/src/runtime/routes/__tests__/heartbeat-routes.test.ts +1 -1
  350. package/src/runtime/routes/__tests__/memory-v2-routes.test.ts +147 -0
  351. package/src/runtime/routes/approval-routes.ts +7 -3
  352. package/src/runtime/routes/client-routes.ts +20 -2
  353. package/src/runtime/routes/consolidation-routes.ts +8 -9
  354. package/src/runtime/routes/contact-routes.ts +0 -25
  355. package/src/runtime/routes/conversation-query-routes.ts +44 -1
  356. package/src/runtime/routes/conversation-routes.ts +35 -26
  357. package/src/runtime/routes/debug-bash-routes.ts +165 -0
  358. package/src/runtime/routes/disk-pressure-routes.ts +121 -0
  359. package/src/runtime/routes/document-pdf-renderer.ts +6 -2
  360. package/src/runtime/routes/documents-routes.ts +2 -75
  361. package/src/runtime/routes/events-routes.ts +41 -9
  362. package/src/runtime/routes/filing-routes.ts +2 -3
  363. package/src/runtime/routes/host-bash-routes.ts +23 -3
  364. package/src/runtime/routes/host-cu-routes.ts +33 -6
  365. package/src/runtime/routes/host-file-routes.ts +32 -6
  366. package/src/runtime/routes/host-transfer-routes.ts +79 -16
  367. package/src/runtime/routes/identity-routes.ts +7 -138
  368. package/src/runtime/routes/inbound-message-handler.ts +77 -12
  369. package/src/runtime/routes/index.ts +6 -0
  370. package/src/runtime/routes/memory-item-routes.test.ts +37 -17
  371. package/src/runtime/routes/memory-item-routes.ts +5 -6
  372. package/src/runtime/routes/memory-v2-routes.ts +136 -17
  373. package/src/runtime/routes/oauth-connect-routes.ts +153 -0
  374. package/src/runtime/verification-outbound-actions.ts +4 -4
  375. package/src/schedule/run-script.ts +37 -5
  376. package/src/schedule/scheduler.ts +20 -1
  377. package/src/security/encrypted-store.ts +2 -0
  378. package/src/security/secure-keys.ts +55 -0
  379. package/src/skills/include-graph.ts +35 -13
  380. package/src/skills/remote-skill-policy.ts +4 -10
  381. package/src/subagent/index.ts +1 -7
  382. package/src/subagent/manager.ts +1 -15
  383. package/src/tasks/task-runner.ts +0 -1
  384. package/src/tasks/task-store.ts +0 -3
  385. package/src/tools/background-tool-registry.ts +17 -3
  386. package/src/tools/document/document-tool.ts +20 -0
  387. package/src/tools/executor.ts +18 -2
  388. package/src/tools/host-filesystem/edit.test.ts +151 -0
  389. package/src/tools/host-filesystem/edit.ts +43 -1
  390. package/src/tools/host-filesystem/read.test.ts +129 -0
  391. package/src/tools/host-filesystem/read.ts +43 -1
  392. package/src/tools/host-filesystem/transfer.test.ts +127 -2
  393. package/src/tools/host-filesystem/transfer.ts +56 -11
  394. package/src/tools/host-filesystem/write.test.ts +134 -0
  395. package/src/tools/host-filesystem/write.ts +43 -1
  396. package/src/tools/host-terminal/host-shell.ts +13 -6
  397. package/src/tools/mcp/mcp-tool-factory.ts +2 -1
  398. package/src/tools/memory/register.test.ts +14 -9
  399. package/src/tools/memory/register.ts +1 -2
  400. package/src/tools/permission-checker.ts +15 -0
  401. package/src/tools/provider-tool-name.ts +28 -0
  402. package/src/tools/registry.ts +30 -9
  403. package/src/tools/skills/load.ts +24 -20
  404. package/src/tools/terminal/shell.ts +9 -1
  405. package/src/tools/tool-approval-handler.ts +31 -6
  406. package/src/tools/tool-name-aliases.ts +19 -0
  407. package/src/tools/types.ts +43 -3
  408. package/src/tts/provider-catalog.ts +3 -5
  409. package/src/util/disk-usage.ts +138 -0
  410. package/src/util/platform.ts +21 -11
  411. package/src/util/process-liveness.ts +26 -0
  412. package/src/workspace/heartbeat-service.ts +19 -0
  413. package/src/workspace/migrations/065-bump-stale-heartbeat-interval.ts +60 -0
  414. package/src/workspace/migrations/066-seed-heartbeat-callsite-cost-default.ts +146 -0
  415. package/src/workspace/migrations/067-release-notes-safe-storage-limits.ts +14 -0
  416. package/src/workspace/migrations/068-release-notes-local-timezone.ts +65 -0
  417. package/src/workspace/migrations/069-seed-onboarding-threads.ts +28 -0
  418. package/src/workspace/migrations/070-memory-v2-summary-schema-rebuild.ts +31 -0
  419. package/src/workspace/migrations/071-remove-safe-storage-release-note.ts +111 -0
  420. package/src/workspace/migrations/registry.ts +14 -0
  421. package/src/__tests__/conversation-tool-setup-memory-scope.test.ts +0 -167
  422. package/src/memory/v2/__tests__/skill-qdrant.test.ts +0 -657
  423. package/src/memory/v2/skill-qdrant.ts +0 -404
  424. package/src/signals/bash.ts +0 -198
package/openapi.yaml CHANGED
@@ -3,7 +3,7 @@
3
3
  openapi: 3.0.0
4
4
  info:
5
5
  title: Vellum Assistant API
6
- version: 0.7.2
6
+ version: 0.8.0
7
7
  description: Auto-generated OpenAPI specification for the Vellum Assistant runtime HTTP server.
8
8
  servers:
9
9
  - url: http://127.0.0.1:7821
@@ -2886,21 +2886,6 @@ paths:
2886
2886
  - assistantMetadata
2887
2887
  additionalProperties: false
2888
2888
  /v1/contacts/{id}:
2889
- delete:
2890
- operationId: contacts_by_id_delete
2891
- summary: Delete a contact
2892
- description: Delete a contact by ID.
2893
- tags:
2894
- - contacts
2895
- responses:
2896
- "204":
2897
- description: Successful response
2898
- parameters:
2899
- - name: id
2900
- in: path
2901
- required: true
2902
- schema:
2903
- type: string
2904
2889
  get:
2905
2890
  operationId: contacts_by_id_get
2906
2891
  summary: Get a contact
@@ -4244,6 +4229,55 @@ paths:
4244
4229
  - schedules
4245
4230
  - timestamp
4246
4231
  additionalProperties: false
4232
+ /v1/debug/bash:
4233
+ post:
4234
+ operationId: debug_bash_post
4235
+ summary: Execute a shell command in the assistant process
4236
+ description: Developer debugging tool. Requires the assistant to be running with VELLUM_DEBUG=1.
4237
+ tags:
4238
+ - debug
4239
+ responses:
4240
+ "200":
4241
+ description: Successful response
4242
+ content:
4243
+ application/json:
4244
+ schema:
4245
+ type: object
4246
+ properties:
4247
+ stdout:
4248
+ type: string
4249
+ stderr:
4250
+ type: string
4251
+ exitCode:
4252
+ anyOf:
4253
+ - type: number
4254
+ - type: "null"
4255
+ timedOut:
4256
+ type: boolean
4257
+ error:
4258
+ type: string
4259
+ required:
4260
+ - stdout
4261
+ - stderr
4262
+ - exitCode
4263
+ - timedOut
4264
+ additionalProperties: false
4265
+ requestBody:
4266
+ required: true
4267
+ content:
4268
+ application/json:
4269
+ schema:
4270
+ type: object
4271
+ properties:
4272
+ command:
4273
+ type: string
4274
+ description: Shell command to execute via bash -c
4275
+ timeoutMs:
4276
+ description: "Execution timeout in milliseconds (default: 30000)"
4277
+ type: number
4278
+ required:
4279
+ - command
4280
+ additionalProperties: false
4247
4281
  /v1/defer/cancel:
4248
4282
  post:
4249
4283
  operationId: defer_cancel_post
@@ -4454,6 +4488,275 @@ paths:
4454
4488
  - transcription
4455
4489
  - context
4456
4490
  additionalProperties: false
4491
+ /v1/disk-pressure/acknowledge:
4492
+ post:
4493
+ operationId: diskpressure_acknowledge_post
4494
+ summary: Acknowledge disk pressure
4495
+ description: Acknowledge the current disk pressure lock and enter cleanup mode without overriding assistant protections.
4496
+ tags:
4497
+ - disk-pressure
4498
+ responses:
4499
+ "200":
4500
+ description: Successful response
4501
+ content:
4502
+ application/json:
4503
+ schema:
4504
+ type: object
4505
+ properties:
4506
+ status:
4507
+ type: object
4508
+ properties:
4509
+ enabled:
4510
+ type: boolean
4511
+ state:
4512
+ type: string
4513
+ enum:
4514
+ - disabled
4515
+ - ok
4516
+ - critical
4517
+ - unknown
4518
+ locked:
4519
+ type: boolean
4520
+ acknowledged:
4521
+ type: boolean
4522
+ overrideActive:
4523
+ type: boolean
4524
+ effectivelyLocked:
4525
+ type: boolean
4526
+ lockId:
4527
+ anyOf:
4528
+ - type: string
4529
+ - type: "null"
4530
+ usagePercent:
4531
+ anyOf:
4532
+ - type: number
4533
+ - type: "null"
4534
+ thresholdPercent:
4535
+ type: number
4536
+ path:
4537
+ anyOf:
4538
+ - type: string
4539
+ - type: "null"
4540
+ lastCheckedAt:
4541
+ anyOf:
4542
+ - type: string
4543
+ - type: "null"
4544
+ blockedCapabilities:
4545
+ type: array
4546
+ items:
4547
+ type: string
4548
+ enum:
4549
+ - agent-turns
4550
+ - background-work
4551
+ - remote-ingress
4552
+ error:
4553
+ anyOf:
4554
+ - type: string
4555
+ - type: "null"
4556
+ required:
4557
+ - enabled
4558
+ - state
4559
+ - locked
4560
+ - acknowledged
4561
+ - overrideActive
4562
+ - effectivelyLocked
4563
+ - lockId
4564
+ - usagePercent
4565
+ - thresholdPercent
4566
+ - path
4567
+ - lastCheckedAt
4568
+ - blockedCapabilities
4569
+ - error
4570
+ additionalProperties: false
4571
+ required:
4572
+ - status
4573
+ additionalProperties: false
4574
+ "409":
4575
+ description: No active lock or lock already acknowledged.
4576
+ /v1/disk-pressure/override:
4577
+ post:
4578
+ operationId: diskpressure_override_post
4579
+ summary: Override disk pressure
4580
+ description: Override the current disk pressure lock only after confirming "I understand the risks".
4581
+ tags:
4582
+ - disk-pressure
4583
+ responses:
4584
+ "200":
4585
+ description: Successful response
4586
+ content:
4587
+ application/json:
4588
+ schema:
4589
+ type: object
4590
+ properties:
4591
+ status:
4592
+ type: object
4593
+ properties:
4594
+ enabled:
4595
+ type: boolean
4596
+ state:
4597
+ type: string
4598
+ enum:
4599
+ - disabled
4600
+ - ok
4601
+ - critical
4602
+ - unknown
4603
+ locked:
4604
+ type: boolean
4605
+ acknowledged:
4606
+ type: boolean
4607
+ overrideActive:
4608
+ type: boolean
4609
+ effectivelyLocked:
4610
+ type: boolean
4611
+ lockId:
4612
+ anyOf:
4613
+ - type: string
4614
+ - type: "null"
4615
+ usagePercent:
4616
+ anyOf:
4617
+ - type: number
4618
+ - type: "null"
4619
+ thresholdPercent:
4620
+ type: number
4621
+ path:
4622
+ anyOf:
4623
+ - type: string
4624
+ - type: "null"
4625
+ lastCheckedAt:
4626
+ anyOf:
4627
+ - type: string
4628
+ - type: "null"
4629
+ blockedCapabilities:
4630
+ type: array
4631
+ items:
4632
+ type: string
4633
+ enum:
4634
+ - agent-turns
4635
+ - background-work
4636
+ - remote-ingress
4637
+ error:
4638
+ anyOf:
4639
+ - type: string
4640
+ - type: "null"
4641
+ required:
4642
+ - enabled
4643
+ - state
4644
+ - locked
4645
+ - acknowledged
4646
+ - overrideActive
4647
+ - effectivelyLocked
4648
+ - lockId
4649
+ - usagePercent
4650
+ - thresholdPercent
4651
+ - path
4652
+ - lastCheckedAt
4653
+ - blockedCapabilities
4654
+ - error
4655
+ additionalProperties: false
4656
+ required:
4657
+ - status
4658
+ additionalProperties: false
4659
+ "400":
4660
+ description: Confirmation phrase is invalid.
4661
+ "409":
4662
+ description: No active lock or lock already overridden.
4663
+ requestBody:
4664
+ required: true
4665
+ content:
4666
+ application/json:
4667
+ schema:
4668
+ type: object
4669
+ properties:
4670
+ confirmation:
4671
+ type: string
4672
+ required:
4673
+ - confirmation
4674
+ additionalProperties: false
4675
+ /v1/disk-pressure/status:
4676
+ get:
4677
+ operationId: diskpressure_status_get
4678
+ summary: Get disk pressure status
4679
+ description:
4680
+ Return the current disk pressure status snapshot. When safe storage limits are disabled, returns a disabled
4681
+ status.
4682
+ tags:
4683
+ - disk-pressure
4684
+ responses:
4685
+ "200":
4686
+ description: Successful response
4687
+ content:
4688
+ application/json:
4689
+ schema:
4690
+ type: object
4691
+ properties:
4692
+ status:
4693
+ type: object
4694
+ properties:
4695
+ enabled:
4696
+ type: boolean
4697
+ state:
4698
+ type: string
4699
+ enum:
4700
+ - disabled
4701
+ - ok
4702
+ - critical
4703
+ - unknown
4704
+ locked:
4705
+ type: boolean
4706
+ acknowledged:
4707
+ type: boolean
4708
+ overrideActive:
4709
+ type: boolean
4710
+ effectivelyLocked:
4711
+ type: boolean
4712
+ lockId:
4713
+ anyOf:
4714
+ - type: string
4715
+ - type: "null"
4716
+ usagePercent:
4717
+ anyOf:
4718
+ - type: number
4719
+ - type: "null"
4720
+ thresholdPercent:
4721
+ type: number
4722
+ path:
4723
+ anyOf:
4724
+ - type: string
4725
+ - type: "null"
4726
+ lastCheckedAt:
4727
+ anyOf:
4728
+ - type: string
4729
+ - type: "null"
4730
+ blockedCapabilities:
4731
+ type: array
4732
+ items:
4733
+ type: string
4734
+ enum:
4735
+ - agent-turns
4736
+ - background-work
4737
+ - remote-ingress
4738
+ error:
4739
+ anyOf:
4740
+ - type: string
4741
+ - type: "null"
4742
+ required:
4743
+ - enabled
4744
+ - state
4745
+ - locked
4746
+ - acknowledged
4747
+ - overrideActive
4748
+ - effectivelyLocked
4749
+ - lockId
4750
+ - usagePercent
4751
+ - thresholdPercent
4752
+ - path
4753
+ - lastCheckedAt
4754
+ - blockedCapabilities
4755
+ - error
4756
+ additionalProperties: false
4757
+ required:
4758
+ - status
4759
+ additionalProperties: false
4457
4760
  /v1/documents:
4458
4761
  get:
4459
4762
  operationId: documents_get
@@ -4615,6 +4918,32 @@ paths:
4615
4918
  schema:
4616
4919
  type: string
4617
4920
  description: Scope to a single conversation
4921
+ /v1/events/emit:
4922
+ post:
4923
+ operationId: events_emit_post
4924
+ summary: Emit an assistant event
4925
+ description:
4926
+ Trigger an in-process assistant event by kind. Used by the gateway after owning a write that the assistant
4927
+ runtime would normally emit.
4928
+ tags:
4929
+ - events
4930
+ responses:
4931
+ "204":
4932
+ description: Successful response
4933
+ requestBody:
4934
+ required: true
4935
+ content:
4936
+ application/json:
4937
+ schema:
4938
+ type: object
4939
+ properties:
4940
+ kind:
4941
+ type: string
4942
+ enum:
4943
+ - contacts_changed
4944
+ required:
4945
+ - kind
4946
+ additionalProperties: false
4618
4947
  /v1/export:
4619
4948
  post:
4620
4949
  operationId: export_post
@@ -6083,7 +6412,9 @@ paths:
6083
6412
  "400":
6084
6413
  description: x-vellum-client-id header is missing for a targeted host bash request.
6085
6414
  "403":
6086
- description: Submitting client does not match the targeted client for this request.
6415
+ description:
6416
+ Submitting client does not match the targeted client, or the submitting actor's principal does not match
6417
+ the target client's actor.
6087
6418
  "404":
6088
6419
  description: No pending interaction found for the given requestId.
6089
6420
  "409":
@@ -6241,7 +6572,9 @@ paths:
6241
6572
  "400":
6242
6573
  description: x-vellum-client-id header is missing for a targeted host CU request.
6243
6574
  "403":
6244
- description: Submitting client does not match the targeted client for this request.
6575
+ description:
6576
+ Submitting client does not match the targeted client, or the submitting actor's principal does not match
6577
+ the target client's actor.
6245
6578
  "404":
6246
6579
  description: No pending interaction found for the given requestId, or the conversation/proxy no longer exists.
6247
6580
  "409":
@@ -6307,7 +6640,9 @@ paths:
6307
6640
  "400":
6308
6641
  description: x-vellum-client-id header is missing for a targeted host file request.
6309
6642
  "403":
6310
- description: Submitting client does not match the targeted client for this request.
6643
+ description:
6644
+ Submitting client does not match the targeted client, or the submitting actor's principal does not match
6645
+ the target client's actor.
6311
6646
  "404":
6312
6647
  description: No pending interaction found for the given requestId.
6313
6648
  "409":
@@ -6357,7 +6692,9 @@ paths:
6357
6692
  "400":
6358
6693
  description: x-vellum-client-id header is missing for a targeted host transfer request.
6359
6694
  "403":
6360
- description: Submitting client does not match the targeted client for this transfer.
6695
+ description:
6696
+ Submitting client does not match the targeted client, or the submitting actor's principal does not match
6697
+ the target client's actor.
6361
6698
  requestBody:
6362
6699
  required: true
6363
6700
  content:
@@ -6784,6 +7121,61 @@ paths:
6784
7121
  required:
6785
7122
  - state
6786
7123
  additionalProperties: false
7124
+ /v1/internal/oauth/connect/start:
7125
+ post:
7126
+ operationId: internal_oauth_connect_start_post
7127
+ summary: Start daemon-owned OAuth connect flow
7128
+ description: Starts an OAuth connect flow in the daemon and returns the authorization URL for the CLI to open in the browser.
7129
+ tags:
7130
+ - internal
7131
+ responses:
7132
+ "200":
7133
+ description: Successful response
7134
+ requestBody:
7135
+ required: true
7136
+ content:
7137
+ application/json:
7138
+ schema:
7139
+ type: object
7140
+ properties:
7141
+ service:
7142
+ type: string
7143
+ clientId:
7144
+ type: string
7145
+ clientSecret:
7146
+ type: string
7147
+ callbackTransport:
7148
+ type: string
7149
+ enum:
7150
+ - loopback
7151
+ - gateway
7152
+ requestedScopes:
7153
+ type: array
7154
+ items:
7155
+ type: string
7156
+ required:
7157
+ - service
7158
+ - clientId
7159
+ - callbackTransport
7160
+ additionalProperties: false
7161
+ /v1/internal/oauth/connect/status/{state}:
7162
+ get:
7163
+ operationId: internal_oauth_connect_status_by_state_get
7164
+ summary: Poll daemon OAuth connect flow status
7165
+ description: Returns the current status of an in-flight daemon-owned OAuth connect flow (pending/complete/error).
7166
+ tags:
7167
+ - internal
7168
+ responses:
7169
+ "200":
7170
+ description: Successful response
7171
+ "404":
7172
+ description: No active OAuth connect flow for the given state token
7173
+ parameters:
7174
+ - name: state
7175
+ in: path
7176
+ required: true
7177
+ schema:
7178
+ type: string
6787
7179
  /v1/internal/twilio/connect-action:
6788
7180
  post:
6789
7181
  operationId: internal_twilio_connectaction_post
@@ -7118,6 +7510,35 @@ paths:
7118
7510
  required:
7119
7511
  - op
7120
7512
  additionalProperties: false
7513
+ /v1/memory/v2/concept-frequency:
7514
+ post:
7515
+ operationId: memory_v2_conceptfrequency_post
7516
+ summary: Aggregate per-concept injection frequency from activation logs
7517
+ description:
7518
+ "Debug-only. Aggregates the existing memory_v2_activation_logs table by (slug, status) and cross-references
7519
+ on-disk concept pages so an operator can see which concepts get injected often, which get scored but rejected,
7520
+ and which on-disk pages never even surface as candidates. Optional filters: conversationId narrows to a single
7521
+ conversation; sinceMs restricts to logs created at-or-after the given epoch ms timestamp."
7522
+ tags:
7523
+ - memory
7524
+ responses:
7525
+ "200":
7526
+ description: Successful response
7527
+ requestBody:
7528
+ required: true
7529
+ content:
7530
+ application/json:
7531
+ schema:
7532
+ type: object
7533
+ properties:
7534
+ conversationId:
7535
+ type: string
7536
+ minLength: 1
7537
+ sinceMs:
7538
+ type: integer
7539
+ minimum: 0
7540
+ maximum: 9007199254740991
7541
+ additionalProperties: false
7121
7542
  /v1/memory/v2/concept-page:
7122
7543
  post:
7123
7544
  operationId: memory_v2_conceptpage_post
@@ -7214,6 +7635,26 @@ paths:
7214
7635
  - k
7215
7636
  - sample
7216
7637
  additionalProperties: false
7638
+ /v1/memory/v2/list-concept-pages:
7639
+ post:
7640
+ operationId: memory_v2_listconceptpages_post
7641
+ summary: List all memory v2 concept pages with metadata
7642
+ description:
7643
+ Returns slugs, body sizes, edge counts, and last-modified timestamps for every concept page on disk.
7644
+ Read-only; used by the desktop About → Memories surface to render a browse-able list.
7645
+ tags:
7646
+ - memory
7647
+ responses:
7648
+ "200":
7649
+ description: Successful response
7650
+ requestBody:
7651
+ required: true
7652
+ content:
7653
+ application/json:
7654
+ schema:
7655
+ type: object
7656
+ properties: {}
7657
+ additionalProperties: false
7217
7658
  /v1/memory/v2/rebuild-corpus-stats:
7218
7659
  post:
7219
7660
  operationId: memory_v2_rebuildcorpusstats_post
@@ -7240,9 +7681,7 @@ paths:
7240
7681
  post:
7241
7682
  operationId: memory_v2_reembedskills_post
7242
7683
  summary: Re-seed v2 skill entries from the current skill catalog
7243
- description:
7244
- Synchronously re-runs seedV2SkillEntries against the current skill catalog. Gated on memory-v2-enabled flag
7245
- and config.memory.v2.enabled.
7684
+ description: Synchronously re-runs seedV2SkillEntries against the current skill catalog. Gated on config.memory.v2.enabled.
7246
7685
  tags:
7247
7686
  - memory
7248
7687
  responses:
@@ -7340,6 +7779,8 @@ paths:
7340
7779
  type: string
7341
7780
  slashCommand:
7342
7781
  type: string
7782
+ clientTimezone:
7783
+ type: string
7343
7784
  inferenceProfile:
7344
7785
  anyOf:
7345
7786
  - type: string
@@ -11403,7 +11844,9 @@ paths:
11403
11844
  "400":
11404
11845
  description: x-vellum-client-id header is missing for a targeted transfer.
11405
11846
  "403":
11406
- description: Submitting client does not match the targeted client for this transfer.
11847
+ description:
11848
+ Submitting client does not match the targeted client, or the submitting actor's principal does not match
11849
+ the target client's actor.
11407
11850
  parameters:
11408
11851
  - name: transferId
11409
11852
  in: path
@@ -11422,7 +11865,9 @@ paths:
11422
11865
  "400":
11423
11866
  description: x-vellum-client-id header is missing for a targeted transfer.
11424
11867
  "403":
11425
- description: Submitting client does not match the targeted client for this transfer.
11868
+ description:
11869
+ Submitting client does not match the targeted client, or the submitting actor's principal does not match
11870
+ the target client's actor.
11426
11871
  parameters:
11427
11872
  - name: transferId
11428
11873
  in: path
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@vellumai/assistant",
3
- "version": "0.7.2",
3
+ "version": "0.8.0",
4
4
  "license": "MIT",
5
5
  "type": "module",
6
6
  "exports": {
@@ -44,6 +44,7 @@
44
44
  "@vellumai/credential-storage": "file:../packages/credential-storage",
45
45
  "@vellumai/egress-proxy": "file:../packages/egress-proxy",
46
46
  "@vellumai/gateway-client": "file:../packages/gateway-client",
47
+ "@vellumai/ipc-server-utils": "file:../packages/ipc-server-utils",
47
48
  "@vellumai/service-contracts": "file:../packages/service-contracts",
48
49
  "@vellumai/skill-host-contracts": "file:../packages/skill-host-contracts",
49
50
  "@vellumai/slack-text": "file:../packages/slack-text",
@@ -78,6 +79,7 @@
78
79
  "@vellumai/service-contracts",
79
80
  "@vellumai/egress-proxy",
80
81
  "@vellumai/gateway-client",
82
+ "@vellumai/ipc-server-utils",
81
83
  "@vellumai/skill-host-contracts",
82
84
  "@vellumai/slack-text",
83
85
  "@vellumai/twilio-client"