@vellumai/assistant 0.10.7-dev.202607102035.64f07ea → 0.10.7-staging.1

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 (1539) hide show
  1. package/AGENTS.md +1 -3
  2. package/ARCHITECTURE.md +9 -9
  3. package/README.md +1 -1
  4. package/docs/architecture/memory.md +3 -1
  5. package/docs/credential-execution-service.md +96 -9
  6. package/docs/runbook-trusted-contacts.md +93 -132
  7. package/docs/trusted-contact-access.md +115 -125
  8. package/docs/workspace-tools.md +2 -4
  9. package/eslint-rules/__tests__/cli-no-daemon-internals.test.ts +360 -62
  10. package/eslint-rules/cli-no-daemon-internals.js +269 -91
  11. package/eslint.config.mjs +4 -4
  12. package/knip.json +1 -2
  13. package/node_modules/@vellumai/ces-client/node_modules/@vellumai/service-contracts/package.json +2 -1
  14. package/node_modules/@vellumai/ces-client/node_modules/@vellumai/service-contracts/src/__tests__/contracts.test.ts +2 -0
  15. package/node_modules/@vellumai/ces-client/node_modules/@vellumai/service-contracts/src/__tests__/grants.test.ts +686 -0
  16. package/node_modules/@vellumai/ces-client/node_modules/@vellumai/service-contracts/src/credential-rpc.ts +5 -3
  17. package/node_modules/@vellumai/ces-client/node_modules/@vellumai/service-contracts/src/grants.ts +184 -0
  18. package/node_modules/@vellumai/ces-client/node_modules/@vellumai/service-contracts/src/index.ts +4 -2
  19. package/node_modules/@vellumai/ces-client/node_modules/@vellumai/service-contracts/src/rendering.ts +135 -0
  20. package/node_modules/@vellumai/ces-client/node_modules/@vellumai/service-contracts/src/rpc.ts +447 -4
  21. package/node_modules/@vellumai/gateway-client/node_modules/@vellumai/service-contracts/package.json +2 -1
  22. package/node_modules/@vellumai/gateway-client/node_modules/@vellumai/service-contracts/src/__tests__/contracts.test.ts +2 -0
  23. package/node_modules/@vellumai/gateway-client/node_modules/@vellumai/service-contracts/src/__tests__/grants.test.ts +686 -0
  24. package/node_modules/@vellumai/gateway-client/node_modules/@vellumai/service-contracts/src/credential-rpc.ts +5 -3
  25. package/node_modules/@vellumai/gateway-client/node_modules/@vellumai/service-contracts/src/grants.ts +184 -0
  26. package/node_modules/@vellumai/gateway-client/node_modules/@vellumai/service-contracts/src/index.ts +4 -2
  27. package/node_modules/@vellumai/gateway-client/node_modules/@vellumai/service-contracts/src/rendering.ts +135 -0
  28. package/node_modules/@vellumai/gateway-client/node_modules/@vellumai/service-contracts/src/rpc.ts +447 -4
  29. package/node_modules/@vellumai/gateway-client/src/__tests__/invite-contract.test.ts +18 -0
  30. package/node_modules/@vellumai/gateway-client/src/__tests__/trust-verdict-contract.test.ts +6 -40
  31. package/node_modules/@vellumai/gateway-client/src/channel-permission-contract.ts +0 -13
  32. package/node_modules/@vellumai/gateway-client/src/index.ts +2 -24
  33. package/node_modules/@vellumai/gateway-client/src/invite-contract.ts +16 -146
  34. package/node_modules/@vellumai/gateway-client/src/trust-verdict-contract.ts +4 -22
  35. package/node_modules/@vellumai/service-contracts/package.json +2 -1
  36. package/node_modules/@vellumai/service-contracts/src/__tests__/contracts.test.ts +2 -0
  37. package/node_modules/@vellumai/service-contracts/src/__tests__/grants.test.ts +686 -0
  38. package/node_modules/@vellumai/service-contracts/src/credential-rpc.ts +5 -3
  39. package/node_modules/@vellumai/service-contracts/src/grants.ts +184 -0
  40. package/node_modules/@vellumai/service-contracts/src/index.ts +4 -2
  41. package/node_modules/@vellumai/service-contracts/src/rendering.ts +135 -0
  42. package/node_modules/@vellumai/service-contracts/src/rpc.ts +447 -4
  43. package/openapi.yaml +541 -1513
  44. package/package.json +5 -4
  45. package/scripts/generate-bundled-tool-registry.ts +223 -0
  46. package/scripts/memory-inspect.ts +8 -2
  47. package/scripts/test.sh +494 -0
  48. package/src/__tests__/access-request-card-view.test.ts +0 -38
  49. package/src/__tests__/activation-early-marking.test.ts +8 -1
  50. package/src/__tests__/actor-token-service.test.ts +22 -1
  51. package/src/__tests__/actor-trust-resolver-address-fallback.test.ts +255 -0
  52. package/src/__tests__/add-message-preassigned-id.test.ts +1 -1
  53. package/src/__tests__/agent-loop-callsite-precedence.test.ts +5 -0
  54. package/src/__tests__/agent-loop-compaction-events.test.ts +1 -1
  55. package/src/__tests__/agent-loop-compaction-strip.test.ts +1 -1
  56. package/src/__tests__/agent-loop-exit-reason.test.ts +1 -1
  57. package/src/__tests__/agent-loop-mutable-latest-user-message.test.ts +6 -0
  58. package/src/__tests__/agent-loop-override-profile.test.ts +5 -66
  59. package/src/__tests__/agent-loop-pushes-post-hook-prompt.test.ts +9 -1
  60. package/src/__tests__/agent-loop-regrowth-guard.test.ts +1 -1
  61. package/src/__tests__/agent-loop-sentry-hygiene.test.ts +137 -0
  62. package/src/__tests__/agent-loop-set-system-prompt.test.ts +7 -1
  63. package/src/__tests__/agent-wake-disk-pressure-callsite.test.ts +0 -1
  64. package/src/__tests__/agent-wake-override-profile.test.ts +1 -21
  65. package/src/__tests__/annotate-activity-metadata.test.ts +10 -4
  66. package/src/__tests__/annotate-risk-options.test.ts +10 -4
  67. package/src/__tests__/anthropic-error-formatting.test.ts +2 -193
  68. package/src/__tests__/anthropic-provider.test.ts +0 -58
  69. package/src/__tests__/app-bundler.test.ts +8 -0
  70. package/src/__tests__/app-conversation-ids-backfill.test.ts +8 -1
  71. package/src/__tests__/app-routes-csp.test.ts +8 -0
  72. package/src/__tests__/approval-cascade.test.ts +21 -0
  73. package/src/__tests__/approval-interception-trust-gates.test.ts +7 -0
  74. package/src/__tests__/approval-primitive.test.ts +9 -1
  75. package/src/__tests__/approval-routes-http.test.ts +16 -1
  76. package/src/__tests__/assistant-attachment-directive.test.ts +0 -1
  77. package/src/__tests__/assistant-attachments.test.ts +0 -211
  78. package/src/__tests__/assistant-event-hub-machine-name.test.ts +7 -0
  79. package/src/__tests__/assistant-events-sse-hardening.test.ts +7 -0
  80. package/src/__tests__/assistant-feature-flag-guard.test.ts +3 -3
  81. package/src/__tests__/assistant-feature-flag-guardrails.test.ts +1 -1
  82. package/src/__tests__/attachment-stored-path-annotation.test.ts +7 -0
  83. package/src/__tests__/attachment-upload-trusted-source.test.ts +7 -0
  84. package/src/__tests__/attachments-store-heic-normalize.test.ts +7 -0
  85. package/src/__tests__/attachments-store.test.ts +8 -43
  86. package/src/__tests__/attachments.test.ts +0 -77
  87. package/src/__tests__/audit-log-rotation.test.ts +9 -1
  88. package/src/__tests__/auth-fallback-events-store.test.ts +7 -0
  89. package/src/__tests__/auto-analysis-end-to-end.test.ts +621 -0
  90. package/src/__tests__/auto-analysis-prompt.test.ts +50 -0
  91. package/src/__tests__/avatar-generator.test.ts +9 -0
  92. package/src/__tests__/background-shell-host-bash.test.ts +7 -0
  93. package/src/__tests__/background-workers-disk-pressure.test.ts +3 -4
  94. package/src/__tests__/browser-fill-credential.test.ts +7 -0
  95. package/src/__tests__/browser-manager.test.ts +8 -1
  96. package/src/__tests__/btw-routes.test.ts +7 -0
  97. package/src/__tests__/build-persisted-content.test.ts +8 -0
  98. package/src/__tests__/call-constants.test.ts +1 -1
  99. package/src/__tests__/call-controller.test.ts +34 -783
  100. package/src/__tests__/call-conversation-messages.test.ts +9 -2
  101. package/src/__tests__/call-domain.test.ts +24 -7
  102. package/src/__tests__/call-pointer-message-composer.test.ts +8 -0
  103. package/src/__tests__/call-pointer-messages.test.ts +8 -1
  104. package/src/__tests__/call-recovery.test.ts +8 -1
  105. package/src/__tests__/call-routes-http.test.ts +7 -0
  106. package/src/__tests__/call-setup-flow-invite.test.ts +1 -1
  107. package/src/__tests__/call-setup-flow-midcall-trust.test.ts +97 -76
  108. package/src/__tests__/call-setup-flow-name-capture.test.ts +1 -1
  109. package/src/__tests__/call-setup-flow-verification.test.ts +1 -1
  110. package/src/__tests__/call-setup-flow.test.ts +2 -2
  111. package/src/__tests__/call-site-routing-provider.test.ts +5 -1
  112. package/src/__tests__/call-state.test.ts +8 -1
  113. package/src/__tests__/call-store.test.ts +8 -1
  114. package/src/__tests__/cancel-resolves-conversation-key.test.ts +7 -0
  115. package/src/__tests__/canonical-guardian-store.test.ts +8 -1
  116. package/src/__tests__/catalog-cache.test.ts +8 -0
  117. package/src/__tests__/catalog-files.test.ts +8 -0
  118. package/src/__tests__/catalog-install-normalize.test.ts +7 -0
  119. package/src/__tests__/ces-rpc-credential-backend.test.ts +7 -0
  120. package/src/__tests__/channel-approval-routes.test.ts +7 -0
  121. package/src/__tests__/channel-approvals.test.ts +7 -0
  122. package/src/__tests__/channel-delivery-store.test.ts +7 -0
  123. package/src/__tests__/channel-guardian.test.ts +16 -29
  124. package/src/__tests__/channel-inbound-disk-pressure.test.ts +7 -0
  125. package/src/__tests__/channel-reply-delivery.test.ts +5 -18
  126. package/src/__tests__/channel-retry-sweep.test.ts +7 -0
  127. package/src/__tests__/clawhub-files.test.ts +8 -0
  128. package/src/__tests__/clawhub.test.ts +7 -0
  129. package/src/__tests__/clear-all-lexical.test.ts +6 -0
  130. package/src/__tests__/client-os-metadata-persistence.test.ts +5 -0
  131. package/src/__tests__/compaction-direct.test.ts +0 -47
  132. package/src/__tests__/compaction-events.test.ts +29 -14
  133. package/src/__tests__/compaction-ledger-store.test.ts +7 -1
  134. package/src/__tests__/compaction-trail-store.test.ts +8 -2
  135. package/src/__tests__/compaction.benchmark.test.ts +5 -0
  136. package/src/__tests__/compactor-call-site-logging.test.ts +21 -0
  137. package/src/__tests__/compactor-low-watermark-cut.test.ts +23 -8
  138. package/src/__tests__/compactor-media-strip.test.ts +21 -0
  139. package/src/__tests__/compactor-preserved-tail-count.test.ts +21 -0
  140. package/src/__tests__/compactor-summary-call-truncation.test.ts +21 -0
  141. package/src/__tests__/compactor-web-search-strip.test.ts +25 -21
  142. package/src/__tests__/config-analysis.test.ts +83 -0
  143. package/src/__tests__/config-get-vision-flag.test.ts +6 -0
  144. package/src/__tests__/config-loader-backfill.test.ts +316 -332
  145. package/src/__tests__/config-loader-platform-defaults.test.ts +21 -0
  146. package/src/__tests__/config-schema.test.ts +30 -85
  147. package/src/__tests__/config-set-route.test.ts +6 -0
  148. package/src/__tests__/config-watcher-cleanup-throttle.test.ts +24 -12
  149. package/src/__tests__/config-watcher-skill-reseed.test.ts +8 -1
  150. package/src/__tests__/config-watcher.test.ts +12 -22
  151. package/src/__tests__/confirmation-request-guardian-bridge.test.ts +9 -1
  152. package/src/__tests__/contact-store-interaction-info.test.ts +8 -1
  153. package/src/__tests__/contact-store-user-file.test.ts +14 -1
  154. package/src/__tests__/contacts-tools.test.ts +7 -0
  155. package/src/__tests__/contacts-write.test.ts +8 -1
  156. package/src/__tests__/context-search-memory-source.test.ts +1 -0
  157. package/src/__tests__/context-search-memory-v2-source.test.ts +6 -0
  158. package/src/__tests__/context-window-manager-compact-retry.test.ts +21 -118
  159. package/src/__tests__/context-window-manager-overflow-rung.test.ts +21 -0
  160. package/src/__tests__/conversation-abort-tool-results.test.ts +5 -0
  161. package/src/__tests__/conversation-agent-loop-disk-pressure.test.ts +12 -0
  162. package/src/__tests__/conversation-agent-loop-inference-profile.test.ts +12 -5
  163. package/src/__tests__/conversation-agent-loop-overflow.test.ts +21 -45
  164. package/src/__tests__/conversation-agent-loop.test.ts +22 -74
  165. package/src/__tests__/conversation-analysis-routes.test.ts +156 -0
  166. package/src/__tests__/conversation-app-control-instantiation.test.ts +8 -20
  167. package/src/__tests__/conversation-app-control-lifecycle.test.ts +9 -0
  168. package/src/__tests__/conversation-attachments.test.ts +7 -1
  169. package/src/__tests__/conversation-attention-store.test.ts +9 -1
  170. package/src/__tests__/conversation-attention-telegram.test.ts +8 -0
  171. package/src/__tests__/conversation-clear-safety.test.ts +7 -0
  172. package/src/__tests__/conversation-confirmation-signals.test.ts +21 -0
  173. package/src/__tests__/conversation-crud-enabled-plugins.test.ts +7 -1
  174. package/src/__tests__/conversation-crud-inference-profile.test.ts +7 -1
  175. package/src/__tests__/conversation-delete-schedule-cleanup.test.ts +7 -0
  176. package/src/__tests__/conversation-disk-view-integration.test.ts +7 -0
  177. package/src/__tests__/conversation-disk-view.test.ts +7 -0
  178. package/src/__tests__/conversation-enabledplugins-route.test.ts +8 -2
  179. package/src/__tests__/conversation-error.test.ts +3 -284
  180. package/src/__tests__/conversation-fork-crud.test.ts +37 -52
  181. package/src/__tests__/conversation-fork-retrospective.test.ts +7 -486
  182. package/src/__tests__/conversation-fork-route.test.ts +7 -0
  183. package/src/__tests__/conversation-history-web-search.test.ts +17 -39
  184. package/src/__tests__/conversation-inference-profile-list.test.ts +6 -0
  185. package/src/__tests__/conversation-inference-profile-route.test.ts +5 -0
  186. package/src/__tests__/conversation-init.benchmark.test.ts +2 -6
  187. package/src/__tests__/conversation-initial-prompt.test.ts +1 -1
  188. package/src/__tests__/conversation-key-store-disk-view.test.ts +7 -0
  189. package/src/__tests__/conversation-lifecycle.test.ts +62 -108
  190. package/src/__tests__/conversation-list-source.test.ts +7 -0
  191. package/src/__tests__/conversation-load-history-repair.test.ts +53 -39
  192. package/src/__tests__/conversation-load-history-stripped.test.ts +19 -12
  193. package/src/__tests__/conversation-loop-db-lock-resilience.test.ts +8 -0
  194. package/src/__tests__/conversation-pairing.test.ts +7 -0
  195. package/src/__tests__/conversation-process-app-control-preactivation.test.ts +5 -0
  196. package/src/__tests__/conversation-process-callsite.test.ts +7 -14
  197. package/src/__tests__/conversation-provider-retry-repair.test.ts +5 -0
  198. package/src/__tests__/conversation-queue.test.ts +21 -91
  199. package/src/__tests__/conversation-routes-disk-view.test.ts +11 -0
  200. package/src/__tests__/conversation-routes-enabled-plugins.test.ts +11 -3
  201. package/src/__tests__/conversation-routes-guardian-reply.test.ts +11 -3
  202. package/src/__tests__/conversation-routes-hidden-queue.test.ts +11 -3
  203. package/src/__tests__/conversation-routes-slash-commands.test.ts +13 -24
  204. package/src/__tests__/conversation-runtime-assembly.test.ts +9 -37
  205. package/src/__tests__/conversation-skill-tools.test.ts +15 -31
  206. package/src/__tests__/conversation-slash-commands.test.ts +4 -5
  207. package/src/__tests__/conversation-slash-queue.test.ts +5 -0
  208. package/src/__tests__/conversation-slash-unknown.test.ts +5 -0
  209. package/src/__tests__/conversation-speed-override.test.ts +23 -13
  210. package/src/__tests__/conversation-starter-routes.test.ts +7 -0
  211. package/src/__tests__/conversation-store.test.ts +22 -9
  212. package/src/__tests__/conversation-surfaces-activation-emit.test.ts +8 -0
  213. package/src/__tests__/conversation-surfaces-data-persist.test.ts +2 -4
  214. package/src/__tests__/conversation-title-service.test.ts +7 -0
  215. package/src/__tests__/conversation-tool-setup-app-refresh.test.ts +19 -0
  216. package/src/__tests__/conversation-tool-setup-attribution.test.ts +8 -4
  217. package/src/__tests__/conversation-unread-route.test.ts +7 -0
  218. package/src/__tests__/conversation-usage.test.ts +8 -10
  219. package/src/__tests__/conversation-workspace-cache-state.test.ts +5 -0
  220. package/src/__tests__/conversation-workspace-injection.test.ts +5 -0
  221. package/src/__tests__/conversation-workspace-tool-tracking.test.ts +5 -0
  222. package/src/__tests__/conversations-import-system-filter.test.ts +7 -0
  223. package/src/__tests__/credential-broker-browser-fill.test.ts +9 -0
  224. package/src/__tests__/credential-broker-server-use.test.ts +9 -0
  225. package/src/__tests__/credential-execution-admin-cli.test.ts +504 -0
  226. package/src/__tests__/credential-execution-api-key-propagation.test.ts +40 -0
  227. package/src/__tests__/credential-execution-approval-bridge.test.ts +297 -0
  228. package/src/__tests__/credential-execution-client.test.ts +38 -3
  229. package/src/__tests__/credential-execution-feature-gates.test.ts +185 -0
  230. package/src/__tests__/credential-execution-managed-contract.test.ts +106 -10
  231. package/src/__tests__/credential-execution-shell-lockdown.test.ts +120 -0
  232. package/src/__tests__/credential-execution-tools.test.ts +289 -0
  233. package/src/__tests__/credential-health-service.test.ts +9 -0
  234. package/src/__tests__/credential-metadata-store.test.ts +8 -0
  235. package/src/__tests__/credential-prompt-route.test.ts +9 -80
  236. package/src/__tests__/credential-resolve.test.ts +8 -0
  237. package/src/__tests__/credential-security-invariants.test.ts +10 -3
  238. package/src/__tests__/credential-token-resolver.test.ts +9 -0
  239. package/src/__tests__/daemon-assistant-events.test.ts +9 -1
  240. package/src/__tests__/daemon-credential-client.test.ts +7 -0
  241. package/src/__tests__/db-conversation-fork-lineage-migration.test.ts +8 -1
  242. package/src/__tests__/db-conversation-inference-profile-migration.test.ts +7 -1
  243. package/src/__tests__/db-llm-request-log-provider-migration.test.ts +8 -0
  244. package/src/__tests__/db-proxy-transaction.test.ts +206 -0
  245. package/src/__tests__/db-readiness-http-gate.test.ts +7 -0
  246. package/src/__tests__/db-rename-inference-profile-snake-case-migration.test.ts +7 -1
  247. package/src/__tests__/delete-managed-skill-tool.test.ts +7 -0
  248. package/src/__tests__/delete-propagation.test.ts +7 -0
  249. package/src/__tests__/deterministic-verification-control-plane.test.ts +7 -0
  250. package/src/__tests__/device-id.test.ts +9 -1
  251. package/src/__tests__/disk-pressure-tools.test.ts +4 -0
  252. package/src/__tests__/dm-backfill.test.ts +7 -0
  253. package/src/__tests__/dm-persistence.test.ts +5 -0
  254. package/src/__tests__/docker-signing-key-bootstrap.test.ts +8 -1
  255. package/src/__tests__/edit-propagation.test.ts +8 -1
  256. package/src/__tests__/embedding-managed-proxy-selection.test.ts +8 -0
  257. package/src/__tests__/emit-signal-routing-intent.test.ts +7 -175
  258. package/src/__tests__/encrypted-store.test.ts +9 -0
  259. package/src/__tests__/event-bus.test.ts +222 -0
  260. package/src/__tests__/events-client-registration.test.ts +7 -0
  261. package/src/__tests__/events-dev-bypass-actor.test.ts +9 -2
  262. package/src/__tests__/file-write-tool.test.ts +13 -9
  263. package/src/__tests__/followup-tools.test.ts +7 -0
  264. package/src/__tests__/gateway-flag-listener.test.ts +23 -2
  265. package/src/__tests__/gemini-inline-media.test.ts +2 -2
  266. package/src/__tests__/gemini-provider.test.ts +1 -140
  267. package/src/__tests__/get-skill-detail-audit.test.ts +1 -89
  268. package/src/__tests__/graph-extraction-event-date.test.ts +9 -0
  269. package/src/__tests__/guardian-action-sweep.test.ts +7 -0
  270. package/src/__tests__/guardian-binding-drift-heal.test.ts +7 -0
  271. package/src/__tests__/guardian-card-withdrawal.test.ts +8 -0
  272. package/src/__tests__/guardian-decision-primitive-canonical.test.ts +9 -1
  273. package/src/__tests__/guardian-dispatch.test.ts +7 -0
  274. package/src/__tests__/guardian-expiry-notifier.test.ts +9 -1
  275. package/src/__tests__/guardian-outbound-http.test.ts +7 -0
  276. package/src/__tests__/guardian-principal-id-roundtrip.test.ts +8 -1
  277. package/src/__tests__/guardian-routing-invariants.test.ts +8 -0
  278. package/src/__tests__/guardian-routing-state.test.ts +9 -1
  279. package/src/__tests__/guardian-verification-voice-binding.test.ts +7 -0
  280. package/src/__tests__/handlers-skills-memory-v2-reseed.test.ts +2 -0
  281. package/src/__tests__/handlers-user-message-approval-consumption.test.ts +5 -4
  282. package/src/__tests__/headless-browser-interactions.test.ts +7 -0
  283. package/src/__tests__/headless-browser-mode.test.ts +9 -0
  284. package/src/__tests__/headless-browser-navigate.test.ts +13 -91
  285. package/src/__tests__/headless-browser-read-tools.test.ts +7 -0
  286. package/src/__tests__/headless-browser-snapshot.test.ts +7 -0
  287. package/src/__tests__/heartbeat-disk-pressure.test.ts +9 -0
  288. package/src/__tests__/host-bash-proxy.test.ts +3 -3
  289. package/src/__tests__/host-browser-proxy.test.ts +20 -15
  290. package/src/__tests__/host-cu-routes-targeted.test.ts +1 -0
  291. package/src/__tests__/host-shell-tool.test.ts +69 -5
  292. package/src/__tests__/http-conversation-lineage.test.ts +7 -0
  293. package/src/__tests__/http-user-message-parity.test.ts +7 -0
  294. package/src/__tests__/identity-routes.test.ts +9 -1
  295. package/src/__tests__/inbound-invite-redemption.test.ts +7 -0
  296. package/src/__tests__/inbound-slack-persistence.test.ts +5 -0
  297. package/src/__tests__/inbound-trust-verdict.test.ts +8 -1
  298. package/src/__tests__/inference-profile-reaper.test.ts +7 -1
  299. package/src/__tests__/inference-profile-session-handler.test.ts +6 -0
  300. package/src/__tests__/inference-profile-session-ipc.test.ts +6 -0
  301. package/src/__tests__/ingress-url-consistency.test.ts +23 -1
  302. package/src/__tests__/injection-block.test.ts +1 -0
  303. package/src/__tests__/injector-chain.test.ts +0 -17
  304. package/src/__tests__/injector-pkb-v2-silenced.test.ts +0 -8
  305. package/src/__tests__/injector-registry-order-guard.test.ts +0 -1
  306. package/src/__tests__/inline-command-runner.test.ts +7 -0
  307. package/src/__tests__/inline-skill-load-permissions.test.ts +31 -29
  308. package/src/__tests__/internal-telemetry-routes.test.ts +7 -72
  309. package/src/__tests__/introduction-card-resolver.test.ts +9 -0
  310. package/src/__tests__/invite-redeemed-ipc.test.ts +7 -0
  311. package/src/__tests__/invite-routes-http.test.ts +11 -46
  312. package/src/__tests__/job-handler-registration-guard.test.ts +1 -1
  313. package/src/__tests__/jobs-store-qdrant-breaker.test.ts +7 -0
  314. package/src/__tests__/jobs-store-upsert-debounced.test.ts +7 -0
  315. package/src/__tests__/lexical-index-dual-write.test.ts +8 -2
  316. package/src/__tests__/list-messages-attachments.test.ts +7 -0
  317. package/src/__tests__/list-messages-background-tool-completion.test.ts +7 -0
  318. package/src/__tests__/list-messages-client-message-id.test.ts +7 -0
  319. package/src/__tests__/list-messages-hidden-metadata.test.ts +7 -0
  320. package/src/__tests__/list-messages-page-latest.test.ts +7 -0
  321. package/src/__tests__/list-messages-queued.test.ts +10 -9
  322. package/src/__tests__/list-messages-tool-merge.test.ts +7 -0
  323. package/src/__tests__/llm-catalog-parity.test.ts +0 -20
  324. package/src/__tests__/llm-context-resolution.test.ts +1 -26
  325. package/src/__tests__/llm-context-route-provider.test.ts +8 -1
  326. package/src/__tests__/llm-request-log-agent-loop-exit-reason.test.ts +16 -9
  327. package/src/__tests__/llm-request-log-call-site.test.ts +12 -5
  328. package/src/__tests__/llm-request-log-source-clickhouse.test.ts +22 -1
  329. package/src/__tests__/llm-request-log-source-factory.test.ts +21 -0
  330. package/src/__tests__/llm-request-log-turn-query.test.ts +7 -0
  331. package/src/__tests__/llm-resolver.test.ts +6 -167
  332. package/src/__tests__/llm-usage-store.test.ts +7 -1
  333. package/src/__tests__/log-export-routes.test.ts +7 -0
  334. package/src/__tests__/log-export-workspace.test.ts +7 -0
  335. package/src/__tests__/managed-profile-guard.test.ts +6 -240
  336. package/src/__tests__/managed-skill-lifecycle.test.ts +7 -0
  337. package/src/__tests__/managed-store.test.ts +16 -1
  338. package/src/__tests__/mcp-auth-routes.test.ts +8 -1
  339. package/src/__tests__/mcp-config-secret-boundary.test.ts +5 -17
  340. package/src/__tests__/media-generate-image.test.ts +7 -20
  341. package/src/__tests__/media-stream-output.test.ts +71 -755
  342. package/src/__tests__/media-stream-server-integration.test.ts +60 -290
  343. package/src/__tests__/media-stream-stt-session.test.ts +13 -26
  344. package/src/__tests__/memory-jobs-worker-backoff.test.ts +7 -8
  345. package/src/__tests__/memory-jobs-worker-lanes.test.ts +7 -0
  346. package/src/__tests__/memory-recall-log-store.test.ts +7 -0
  347. package/src/__tests__/memory-upsert-concurrency.test.ts +7 -0
  348. package/src/__tests__/message-queue.test.ts +0 -40
  349. package/src/__tests__/messages-after-tiebreaker.test.ts +8 -1
  350. package/src/__tests__/messaging-send-tool.test.ts +7 -0
  351. package/src/__tests__/migration-cross-version-compatibility.test.ts +7 -0
  352. package/src/__tests__/migration-export-http.test.ts +12 -10
  353. package/src/__tests__/migration-export-streaming.test.ts +7 -0
  354. package/src/__tests__/migration-export-to-gcs.test.ts +7 -60
  355. package/src/__tests__/migration-import-commit-http.test.ts +12 -11
  356. package/src/__tests__/migration-import-from-gcs.test.ts +7 -0
  357. package/src/__tests__/migration-import-from-url.test.ts +7 -0
  358. package/src/__tests__/migration-import-preflight-http.test.ts +11 -10
  359. package/src/__tests__/migration-jobs-status.test.ts +11 -8
  360. package/src/__tests__/migration-validate-http.test.ts +8 -2
  361. package/src/__tests__/model-intents.test.ts +0 -18
  362. package/src/__tests__/mtime-cache.test.ts +9 -102
  363. package/src/__tests__/non-member-access-request.test.ts +7 -145
  364. package/src/__tests__/notification-broadcaster.test.ts +7 -0
  365. package/src/__tests__/notification-candidate-guardian-context.test.ts +8 -1
  366. package/src/__tests__/notification-decision-fallback.test.ts +7 -0
  367. package/src/__tests__/notification-decision-identity.test.ts +7 -0
  368. package/src/__tests__/notification-decision-recipient-context.test.ts +7 -0
  369. package/src/__tests__/notification-deep-link.test.ts +11 -415
  370. package/src/__tests__/notification-guardian-path.test.ts +7 -0
  371. package/src/__tests__/notification-platform-adapter.test.ts +7 -0
  372. package/src/__tests__/notification-routing-intent.test.ts +9 -1
  373. package/src/__tests__/notification-schedule-notify-dedup.test.ts +9 -1
  374. package/src/__tests__/notification-telegram-adapter.test.ts +7 -0
  375. package/src/__tests__/oauth-cli.test.ts +1 -0
  376. package/src/__tests__/oauth-connect-orchestrator.test.ts +8 -0
  377. package/src/__tests__/oauth-connect-routes.test.ts +18 -19
  378. package/src/__tests__/oauth-provider-profiles.test.ts +7 -0
  379. package/src/__tests__/oauth-provider-visibility.test.ts +7 -0
  380. package/src/__tests__/oauth-store.test.ts +7 -0
  381. package/src/__tests__/openai-provider.test.ts +0 -11
  382. package/src/__tests__/openrouter-provider-only.test.ts +5 -16
  383. package/src/__tests__/openrouter-token-estimation.test.ts +2 -2
  384. package/src/__tests__/outbound-slack-persistence.test.ts +7 -0
  385. package/src/__tests__/outlook-email-watcher.test.ts +9 -0
  386. package/src/__tests__/path-policy.test.ts +7 -0
  387. package/src/__tests__/pending-interactions-resolved-event.test.ts +4 -26
  388. package/src/__tests__/persist-unsendable-image-downscale.test.ts +4 -4
  389. package/src/__tests__/persist-unsendable-image.test.ts +3 -1
  390. package/src/__tests__/persist-user-message-set-processing-failure.test.ts +0 -41
  391. package/src/__tests__/persistence-secret-redaction.test.ts +7 -0
  392. package/src/__tests__/persona-resolver.test.ts +1 -1
  393. package/src/__tests__/personal-memory-auth-bypass.test.ts +4 -2
  394. package/src/__tests__/platform-bash-auto-approve.test.ts +10 -20
  395. package/src/__tests__/platform-callback-registration.test.ts +9 -10
  396. package/src/__tests__/platform-proxy-context.test.ts +8 -0
  397. package/src/__tests__/playbook-execution.test.ts +33 -2
  398. package/src/__tests__/playbook-tools.test.ts +7 -0
  399. package/src/__tests__/plugin-api-model-profiles.test.ts +4 -25
  400. package/src/__tests__/plugin-effective-enabled-set.test.ts +29 -29
  401. package/src/__tests__/plugin-import-boundary-guard.test.ts +25 -13
  402. package/src/__tests__/plugin-types.test.ts +1 -1
  403. package/src/__tests__/pointer-conversation-trust.test.ts +4 -2
  404. package/src/__tests__/pricing.test.ts +2 -85
  405. package/src/__tests__/process-message-background-slack.test.ts +5 -4
  406. package/src/__tests__/process-message-display-content.test.ts +10 -102
  407. package/src/__tests__/processing-flag-persist-failure.test.ts +5 -0
  408. package/src/__tests__/provider-commit-message-generator.test.ts +8 -15
  409. package/src/__tests__/provider-error-scenarios.test.ts +5 -68
  410. package/src/__tests__/provider-platform-proxy-integration.test.ts +2 -17
  411. package/src/__tests__/provider-registry-ollama.test.ts +1 -14
  412. package/src/__tests__/provider-send-message-override-profile.test.ts +5 -13
  413. package/src/__tests__/provider-streaming.benchmark.test.ts +6 -1
  414. package/src/__tests__/provider-usage-tracking.test.ts +6 -9
  415. package/src/__tests__/proxy-approval-callback.test.ts +6 -0
  416. package/src/__tests__/prune-old-conversations-job.test.ts +9 -1
  417. package/src/__tests__/prune-old-tool-invocations-job.test.ts +9 -1
  418. package/src/__tests__/public-ingress-urls.test.ts +24 -1
  419. package/src/__tests__/qdrant-collection-migration.test.ts +7 -0
  420. package/src/__tests__/qdrant-manager.test.ts +8 -0
  421. package/src/__tests__/ratelimit.test.ts +8 -1
  422. package/src/__tests__/reaction-intercept-cold-cache-warm.test.ts +141 -0
  423. package/src/__tests__/reaction-intercept-member-verdict-warm.test.ts +157 -0
  424. package/src/__tests__/reaction-persistence.test.ts +7 -0
  425. package/src/__tests__/rebuild-index-graph-nodes.test.ts +11 -0
  426. package/src/__tests__/registry.test.ts +12 -39
  427. package/src/__tests__/require-fresh-approval.test.ts +182 -47
  428. package/src/__tests__/resolve-trust-class.test.ts +1 -1
  429. package/src/__tests__/retry-openrouter-only-normalization.test.ts +5 -9
  430. package/src/__tests__/retry-thinking-adaptive-only.test.ts +5 -19
  431. package/src/__tests__/retry-thinking-tool-choice.test.ts +5 -65
  432. package/src/__tests__/retry-verbosity-normalization.test.ts +5 -9
  433. package/src/__tests__/runtime-attachment-metadata.test.ts +7 -0
  434. package/src/__tests__/runtime-events-sse-bilingual.test.ts +7 -0
  435. package/src/__tests__/runtime-events-sse-parity.test.ts +7 -0
  436. package/src/__tests__/runtime-events-sse-reconnect.test.ts +7 -0
  437. package/src/__tests__/runtime-events-sse.test.ts +7 -0
  438. package/src/__tests__/scaffold-managed-skill-tool.test.ts +9 -131
  439. package/src/__tests__/schedule-retry.test.ts +8 -0
  440. package/src/__tests__/schedule-routes-workflow-validation.test.ts +7 -0
  441. package/src/__tests__/schedule-routes.test.ts +7 -0
  442. package/src/__tests__/schedule-store.test.ts +8 -0
  443. package/src/__tests__/schedule-tools.test.ts +7 -0
  444. package/src/__tests__/scheduler-disk-pressure.test.ts +10 -0
  445. package/src/__tests__/scheduler-recurrence.test.ts +96 -19
  446. package/src/__tests__/scheduler-reuse-conversation.test.ts +88 -75
  447. package/src/__tests__/scheduler-wake.test.ts +60 -12
  448. package/src/__tests__/scheduler-worker-standdown.test.ts +8 -0
  449. package/src/__tests__/scoped-approval-grants.test.ts +9 -1
  450. package/src/__tests__/scoped-grant-security-matrix.test.ts +9 -1
  451. package/src/__tests__/secret-allowlist.test.ts +8 -1
  452. package/src/__tests__/secret-ingress-channel.test.ts +7 -0
  453. package/src/__tests__/secret-ingress-cli.test.ts +7 -0
  454. package/src/__tests__/secret-ingress-http.test.ts +11 -3
  455. package/src/__tests__/secret-prompter-channel-fallback.test.ts +9 -35
  456. package/src/__tests__/secret-response-routing.test.ts +1 -1
  457. package/src/__tests__/secret-routes-platform-proxy.test.ts +7 -0
  458. package/src/__tests__/secure-keys-managed-failover.test.ts +7 -0
  459. package/src/__tests__/secure-keys.test.ts +33 -142
  460. package/src/__tests__/send-endpoint-busy.test.ts +19 -0
  461. package/src/__tests__/sequence-store.test.ts +9 -0
  462. package/src/__tests__/server-history-render.test.ts +8 -61
  463. package/src/__tests__/service-contracts-import-guard.test.ts +9 -4
  464. package/src/__tests__/set-permission-mode.test.ts +7 -0
  465. package/src/__tests__/settings-routes.test.ts +7 -0
  466. package/src/__tests__/shell-credential-ref.test.ts +8 -0
  467. package/src/__tests__/shell-tool-proxy-mode.test.ts +7 -0
  468. package/src/__tests__/skill-memory.test.ts +85 -0
  469. package/src/__tests__/skill-projection-feature-flag.test.ts +17 -35
  470. package/src/__tests__/skill-projection.benchmark.test.ts +7 -7
  471. package/src/__tests__/skill-runtime-path.test.ts +63 -0
  472. package/src/__tests__/skill-script-runner-sandbox.test.ts +7 -0
  473. package/src/__tests__/skills-files-catalog-fallback.test.ts +7 -0
  474. package/src/__tests__/slack-channels-routes.test.ts +16 -34
  475. package/src/__tests__/slack-inbound-verification.test.ts +7 -0
  476. package/src/__tests__/slack-reaction-canonical-approval.test.ts +8 -0
  477. package/src/__tests__/slim-skill-category.test.ts +7 -0
  478. package/src/__tests__/stale-approval-dedup.test.ts +7 -0
  479. package/src/__tests__/subagent-call-site-routing.test.ts +11 -45
  480. package/src/__tests__/subagent-detail.test.ts +1 -2
  481. package/src/__tests__/subagent-fork-prompt-role.test.ts +5 -0
  482. package/src/__tests__/subagent-fork-spawn.test.ts +37 -0
  483. package/src/__tests__/subagent-spawn-and-await.test.ts +5 -0
  484. package/src/__tests__/subagent-tool-gate-mode.test.ts +7 -1
  485. package/src/__tests__/subagent-tools.test.ts +36 -77
  486. package/src/__tests__/suggestion-routes.test.ts +42 -28
  487. package/src/__tests__/task-compiler.test.ts +7 -0
  488. package/src/__tests__/task-management-tools.test.ts +7 -0
  489. package/src/__tests__/task-memory-cleanup.test.ts +18 -0
  490. package/src/__tests__/task-scheduler.test.ts +9 -40
  491. package/src/__tests__/telegram-bot-username-resolution.test.ts +8 -0
  492. package/src/__tests__/telephony-tts-guard.test.ts +26 -118
  493. package/src/__tests__/test-preload.ts +1 -11
  494. package/src/__tests__/thread-backfill.test.ts +8 -2
  495. package/src/__tests__/token-manager.test.ts +9 -0
  496. package/src/__tests__/tool-approval-handler.test.ts +88 -57
  497. package/src/__tests__/{tool-audit.test.ts → tool-audit-listener.test.ts} +255 -230
  498. package/src/__tests__/tool-domain-event-publisher.test.ts +216 -0
  499. package/src/__tests__/tool-execution-abort-cleanup.test.ts +33 -5
  500. package/src/__tests__/tool-execution-pipeline.benchmark.test.ts +8 -1
  501. package/src/__tests__/tool-executor-lifecycle-events.test.ts +411 -308
  502. package/src/__tests__/tool-executor.test.ts +26 -37
  503. package/src/__tests__/tool-grant-request-escalation.test.ts +31 -17
  504. package/src/__tests__/tool-metrics-listener.test.ts +194 -0
  505. package/src/__tests__/tool-preview-lifecycle.test.ts +8 -0
  506. package/src/__tests__/tool-profiling-listener.test.ts +219 -0
  507. package/src/__tests__/tool-result-metadata-plumbing.test.ts +8 -0
  508. package/src/__tests__/tool-start-timestamp.test.ts +10 -4
  509. package/src/__tests__/tools-get-route.test.ts +3 -75
  510. package/src/__tests__/trust-context-guards.test.ts +1 -1
  511. package/src/__tests__/trusted-contact-approval-notifier.test.ts +1 -1
  512. package/src/__tests__/trusted-contact-inline-approval-integration.test.ts +26 -9
  513. package/src/__tests__/trusted-contact-lifecycle-notifications.test.ts +7 -0
  514. package/src/__tests__/trusted-contact-multichannel.test.ts +7 -0
  515. package/src/__tests__/trusted-contact-verification.test.ts +139 -6
  516. package/src/__tests__/turn-boundary-resolution.test.ts +7 -0
  517. package/src/__tests__/turn-events-store.test.ts +7 -51
  518. package/src/__tests__/twilio-config.test.ts +7 -0
  519. package/src/__tests__/twilio-provider.test.ts +7 -0
  520. package/src/__tests__/twilio-routes-twiml.test.ts +8 -1
  521. package/src/__tests__/twilio-routes.test.ts +5 -12
  522. package/src/__tests__/twilio-validation.test.ts +7 -0
  523. package/src/__tests__/usage-attribution.test.ts +1 -91
  524. package/src/__tests__/usage-cache-backfill-migration.test.ts +7 -0
  525. package/src/__tests__/usage-routes.test.ts +8 -1
  526. package/src/__tests__/vbundle-pax-and-symlink.test.ts +7 -0
  527. package/src/__tests__/vercel-config.test.ts +7 -0
  528. package/src/__tests__/verification-control-plane-policy.test.ts +31 -60
  529. package/src/__tests__/voice-approval-resolver-relay.test.ts +9 -3
  530. package/src/__tests__/voice-config-update.test.ts +22 -1
  531. package/src/__tests__/voice-guardian-cold-cache-warm.test.ts +17 -8
  532. package/src/__tests__/voice-scoped-grant-consumer.test.ts +10 -1
  533. package/src/__tests__/voice-session-bridge-processing-wait.test.ts +7 -0
  534. package/src/__tests__/voice-session-bridge.test.ts +68 -116
  535. package/src/__tests__/workspace-migration-009-backfill-conversation-disk-view.test.ts +8 -0
  536. package/src/__tests__/workspace-migration-013-repair-conversation-disk-view.test.ts +8 -0
  537. package/src/__tests__/workspace-migration-028-recover-conversations-from-disk-view.test.ts +8 -0
  538. package/src/__tests__/workspace-tool-loader.test.ts +1 -5
  539. package/src/a2a/__tests__/e2e-a2a-channel.test.ts +10 -1
  540. package/src/a2a/__tests__/task-store.test.ts +9 -0
  541. package/src/acp/__tests__/session-manager-persistence.test.ts +8 -1
  542. package/src/acp/__tests__/session-manager-resume.test.ts +7 -0
  543. package/src/acp/__tests__/session-manager-startup.test.ts +8 -1
  544. package/src/agent/attachments.ts +0 -57
  545. package/src/agent/loop-exclusive-tool.test.ts +5 -28
  546. package/src/agent/loop.ts +63 -25
  547. package/src/api/responses/conversation-message.ts +15 -9
  548. package/src/approvals/guardian-expiry-notifier.ts +0 -6
  549. package/src/approvals/guardian-request-resolvers.ts +21 -42
  550. package/src/background-wake/wake-intent-hooks.test.ts +10 -2
  551. package/src/browser/operations.ts +477 -2
  552. package/src/calls/__tests__/call-setup-router.test.ts +321 -341
  553. package/src/calls/__tests__/channel-admission-reader.test.ts +24 -50
  554. package/src/calls/__tests__/fish-audio-client.test.ts +11 -35
  555. package/src/calls/__tests__/inbound-trust-reader.test.ts +34 -157
  556. package/src/calls/__tests__/tts-text-sanitizer.test.ts +0 -22
  557. package/src/calls/access-request-wait.ts +1 -3
  558. package/src/calls/audio-store.ts +6 -6
  559. package/src/calls/call-constants.ts +1 -1
  560. package/src/calls/call-controller.ts +64 -242
  561. package/src/calls/call-setup-flow-types.ts +2 -2
  562. package/src/calls/call-setup-flow.ts +57 -19
  563. package/src/calls/call-setup-router.ts +39 -63
  564. package/src/calls/call-speech-output.ts +39 -39
  565. package/src/calls/call-transport.ts +5 -17
  566. package/src/calls/channel-admission-reader.ts +28 -38
  567. package/src/calls/fish-audio-client.ts +52 -24
  568. package/src/calls/gateway-invite-reader.ts +19 -15
  569. package/src/calls/inbound-trust-reader.ts +25 -74
  570. package/src/calls/media-stream-audio-transcode.ts +1 -1
  571. package/src/calls/media-stream-output.ts +64 -482
  572. package/src/calls/media-stream-server.ts +83 -156
  573. package/src/calls/media-stream-stt-session.ts +0 -1
  574. package/src/calls/resolve-call-tts-provider.ts +17 -60
  575. package/src/calls/telephony-tts-capability.ts +13 -13
  576. package/src/calls/tts-text-sanitizer.ts +3 -5
  577. package/src/calls/voice-session-bridge.ts +52 -397
  578. package/src/channels/gateway-verification-sessions.ts +8 -4
  579. package/src/cli/AGENTS.md +51 -60
  580. package/src/cli/commands/__tests__/schedules.test.ts +1 -133
  581. package/src/cli/commands/attachment.ts +157 -92
  582. package/src/cli/commands/audit.ts +86 -66
  583. package/src/cli/commands/auth.ts +43 -10
  584. package/src/cli/commands/avatar.ts +250 -66
  585. package/src/cli/commands/backup.ts +276 -109
  586. package/src/cli/commands/bash.ts +75 -55
  587. package/src/cli/commands/browser.ts +352 -241
  588. package/src/cli/commands/config.ts +164 -166
  589. package/src/cli/commands/contacts.ts +22 -13
  590. package/src/cli/commands/credential-execution.ts +362 -0
  591. package/src/cli/commands/credentials.ts +28 -38
  592. package/src/cli/commands/db/repair-step-conversation-backfill.ts +10 -19
  593. package/src/cli/commands/db/repair.ts +8 -20
  594. package/src/cli/commands/default-action.ts +3 -8
  595. package/src/cli/commands/domain.ts +22 -36
  596. package/src/cli/commands/email.ts +36 -77
  597. package/src/cli/commands/inference-providers.ts +24 -117
  598. package/src/cli/commands/inference.ts +0 -6
  599. package/src/cli/commands/keys.ts +38 -27
  600. package/src/cli/commands/memory/index.ts +0 -8
  601. package/src/cli/commands/memory/memory-retrospective.ts +5 -7
  602. package/src/cli/commands/memory/memory-v2-compare-render.ts +2 -2
  603. package/src/cli/commands/oauth/shared.ts +1 -1
  604. package/src/cli/commands/oauth/status.test.ts +6 -6
  605. package/src/cli/commands/oauth/status.ts +6 -12
  606. package/src/cli/commands/oauth/token.ts +26 -1
  607. package/src/cli/commands/plugins.ts +116 -210
  608. package/src/cli/commands/schedules.ts +2 -17
  609. package/src/cli/commands/tools-run.ts +4 -4
  610. package/src/cli/commands/tools.ts +7 -23
  611. package/src/cli/commands/ui.ts +3 -2
  612. package/src/cli/commands/usage.ts +21 -59
  613. package/src/cli/lib/__tests__/diff-plugin.test.ts +5 -2
  614. package/src/cli/lib/__tests__/inspect-plugin.test.ts +1 -1
  615. package/src/cli/lib/__tests__/install-from-github.test.ts +5 -37
  616. package/src/cli/lib/__tests__/list-installed-plugins.test.ts +0 -36
  617. package/src/cli/lib/__tests__/plugin-artifact.test.ts +1 -54
  618. package/src/cli/lib/__tests__/plugin-details.test.ts +1 -137
  619. package/src/cli/lib/__tests__/plugin-marketplace.test.ts +1 -1
  620. package/src/cli/lib/__tests__/plugin-pin-history.test.ts +1 -1
  621. package/src/cli/lib/__tests__/search-plugins.test.ts +1 -1
  622. package/src/cli/lib/__tests__/uninstall-plugin.test.ts +21 -82
  623. package/src/cli/lib/__tests__/upgrade-plugin.test.ts +1 -1
  624. package/src/cli/lib/diff-plugin.ts +2 -2
  625. package/src/cli/lib/inspect-plugin.ts +2 -2
  626. package/src/cli/lib/install-from-github.ts +15 -61
  627. package/src/cli/lib/list-installed-plugins.ts +5 -39
  628. package/src/cli/lib/plugin-artifact.ts +0 -30
  629. package/src/cli/lib/plugin-details.ts +11 -51
  630. package/src/cli/lib/plugin-marketplace.ts +4 -1
  631. package/src/cli/lib/plugin-pin-history.ts +12 -27
  632. package/src/cli/lib/publish-plugin.ts +3 -3
  633. package/src/cli/lib/search-plugins.ts +6 -2
  634. package/src/cli/lib/uninstall-plugin.ts +2 -24
  635. package/src/cli/lib/upgrade-plugin.ts +22 -8
  636. package/src/cli/program.ts +2 -0
  637. package/src/cli.ts +13 -22
  638. package/src/config/__tests__/bundled-tool-registry-guard.test.ts +120 -0
  639. package/src/config/__tests__/deployment-context-defaults.test.ts +21 -0
  640. package/src/config/__tests__/loader-callsite-strip-fallback.test.ts +21 -0
  641. package/src/config/__tests__/sync-gated-profiles.test.ts +34 -27
  642. package/src/config/assistant-feature-flags.ts +1 -1
  643. package/src/config/bundled-skills/_shared/CLI_RETRIEVAL_PATTERN.md +8 -9
  644. package/src/config/bundled-skills/messaging/tools/messaging-analyze-style.ts +6 -0
  645. package/src/config/bundled-skills/phone-calls/references/CONFIG.md +2 -2
  646. package/src/config/bundled-skills/playbooks/tools/playbook-create.ts +3 -0
  647. package/src/config/bundled-skills/playbooks/tools/playbook-delete.ts +3 -0
  648. package/src/config/bundled-skills/playbooks/tools/playbook-list.ts +3 -1
  649. package/src/config/bundled-skills/playbooks/tools/playbook-update.ts +4 -0
  650. package/src/config/bundled-skills/schedule/SKILL.md +0 -17
  651. package/src/config/bundled-skills/transcribe/tools/transcribe-media.test.ts +7 -0
  652. package/src/config/bundled-tool-registry.ts +281 -0
  653. package/src/config/call-site-defaults.ts +2 -5
  654. package/src/config/env-registry.ts +0 -2
  655. package/src/config/env.ts +6 -0
  656. package/src/config/feature-flag-registry.json +48 -40
  657. package/src/config/inference-profile-validation.ts +4 -5
  658. package/src/config/llm-resolver.ts +24 -447
  659. package/src/config/loader.ts +10 -345
  660. package/src/config/schema.ts +52 -2
  661. package/src/config/schemas/__tests__/llm-request-logs.test.ts +5 -33
  662. package/src/config/schemas/analysis.ts +32 -0
  663. package/src/config/schemas/call-site-catalog.ts +6 -0
  664. package/src/config/schemas/calls.ts +0 -9
  665. package/src/config/schemas/conversations.ts +1 -1
  666. package/src/config/schemas/llm-request-logs.ts +27 -78
  667. package/src/config/schemas/llm.ts +2 -53
  668. package/src/config/schemas/memory-lifecycle.ts +6 -0
  669. package/src/config/schemas/memory.ts +1 -57
  670. package/src/config/seed-inference-profiles.ts +289 -100
  671. package/src/config/sync-gated-profiles.ts +23 -17
  672. package/src/contacts/canonical-guardian-store.ts +0 -6
  673. package/src/contacts/contact-store.ts +51 -272
  674. package/src/contacts/contacts-write.ts +22 -0
  675. package/src/contacts/guardian-contact-reader.ts +2 -3
  676. package/src/contacts/member-write-relay.ts +19 -2
  677. package/src/contacts/types.ts +1 -2
  678. package/src/context/compactor.ts +38 -230
  679. package/src/context/image-dimensions.ts +3 -25
  680. package/src/context/token-estimator.ts +7 -11
  681. package/src/conversations/__tests__/message-consolidation.test.ts +5 -6
  682. package/src/conversations/job-handlers/summarization.ts +2 -0
  683. package/src/conversations/message-consolidation.ts +112 -34
  684. package/src/credential-execution/approval-bridge.ts +320 -0
  685. package/src/credential-execution/executable-discovery.ts +144 -16
  686. package/src/credential-execution/feature-gates.ts +61 -0
  687. package/src/credential-execution/process-manager.test.ts +112 -1
  688. package/src/credential-execution/process-manager.ts +379 -13
  689. package/src/credential-execution/prompted-credential.ts +1 -1
  690. package/src/daemon/__tests__/conversation-lifecycle-auto-analyze.test.ts +449 -0
  691. package/src/daemon/__tests__/conversation-surfaces-launch.test.ts +1 -1
  692. package/src/daemon/__tests__/inference-profile-notification.test.ts +8 -0
  693. package/src/daemon/__tests__/native-web-search-metadata.test.ts +8 -0
  694. package/src/daemon/__tests__/wake-conversation-ops-completion.test.ts +6 -0
  695. package/src/daemon/__tests__/web-search-status-text.test.ts +8 -0
  696. package/src/daemon/approval-generators.ts +11 -17
  697. package/src/daemon/assistant-attachments.ts +87 -86
  698. package/src/daemon/config-watcher.ts +21 -67
  699. package/src/daemon/conversation-agent-loop-handlers.ts +29 -52
  700. package/src/daemon/conversation-agent-loop.ts +34 -136
  701. package/src/daemon/conversation-error.ts +110 -277
  702. package/src/daemon/conversation-history.ts +12 -6
  703. package/src/daemon/conversation-initial-prompt.ts +1 -1
  704. package/src/daemon/conversation-launch.ts +1 -1
  705. package/src/daemon/conversation-lifecycle.ts +22 -5
  706. package/src/daemon/conversation-media-retry.ts +2 -3
  707. package/src/daemon/conversation-messaging.ts +66 -296
  708. package/src/daemon/conversation-notifiers.ts +1 -1
  709. package/src/daemon/conversation-process.ts +12 -162
  710. package/src/daemon/conversation-queue-manager.ts +0 -12
  711. package/src/daemon/conversation-runtime-assembly.ts +53 -197
  712. package/src/daemon/conversation-skill-tools.ts +9 -27
  713. package/src/daemon/conversation-slash.ts +4 -2
  714. package/src/daemon/conversation-store.ts +13 -11
  715. package/src/daemon/conversation-surfaces.ts +176 -145
  716. package/src/daemon/conversation-tool-setup.ts +12 -18
  717. package/src/daemon/conversation-turn-finalize.ts +1 -0
  718. package/src/daemon/conversation.ts +85 -265
  719. package/src/daemon/disk-pressure-policy.ts +1 -1
  720. package/src/daemon/event-loop-watchdog.test.ts +6 -1
  721. package/src/daemon/event-loop-watchdog.ts +20 -2
  722. package/src/daemon/handlers/__tests__/config-a2a-accept.test.ts +7 -0
  723. package/src/daemon/handlers/__tests__/config-a2a-complete.test.ts +8 -1
  724. package/src/daemon/handlers/__tests__/config-a2a-invite.test.ts +8 -1
  725. package/src/daemon/handlers/__tests__/config-a2a-redeem.test.ts +8 -1
  726. package/src/daemon/handlers/__tests__/config-a2a.test.ts +8 -1
  727. package/src/daemon/handlers/config-a2a.ts +3 -0
  728. package/src/daemon/handlers/conversation-history.ts +4 -6
  729. package/src/daemon/handlers/shared.ts +79 -224
  730. package/src/daemon/handlers/skills.ts +0 -8
  731. package/src/daemon/lifecycle.ts +64 -120
  732. package/src/daemon/main.ts +5 -1
  733. package/src/daemon/message-types/conversations.ts +0 -2
  734. package/src/daemon/message-types/host-bash.ts +1 -1
  735. package/src/daemon/message-types/skills.ts +0 -6
  736. package/src/daemon/message-types/sync.ts +0 -1
  737. package/src/daemon/orphan-reaper.test.ts +6 -1
  738. package/src/daemon/pointer-conversation-trust.ts +4 -2
  739. package/src/daemon/process-message.ts +8 -82
  740. package/src/daemon/providers-setup.ts +4 -1
  741. package/src/daemon/shutdown-handlers.ts +4 -0
  742. package/src/daemon/sqlite-corruption-watchdog.test.ts +13 -0
  743. package/src/daemon/sqlite-corruption-watchdog.ts +15 -2
  744. package/src/daemon/tool-setup-types.ts +1 -1
  745. package/src/daemon/trust-context.ts +55 -5
  746. package/src/daemon/wake-conversation-ops.ts +1 -4
  747. package/src/documents/document-comments-store.test.ts +7 -1
  748. package/src/events/bus.ts +177 -0
  749. package/src/events/domain-events.ts +68 -0
  750. package/src/events/tool-audit-listener.ts +184 -0
  751. package/src/events/tool-domain-event-publisher.ts +90 -0
  752. package/src/events/tool-metrics-listener.ts +134 -0
  753. package/src/events/tool-permission-telemetry-listener.ts +44 -0
  754. package/src/{tools/tool-profiler.ts → events/tool-profiling-listener.ts} +32 -64
  755. package/src/export/__tests__/transcript-formatter.test.ts +8 -13
  756. package/src/export/formatter.ts +17 -8
  757. package/src/export/transcript-formatter.ts +40 -13
  758. package/src/heartbeat/__tests__/heartbeat-run-store.test.ts +9 -0
  759. package/src/heartbeat/__tests__/heartbeat-service.test.ts +2 -0
  760. package/src/home/__tests__/home-content-refresh.test.ts +7 -0
  761. package/src/home/__tests__/suggested-prompts.test.ts +12 -4
  762. package/src/home/conversation-starter-checkpoints.ts +5 -9
  763. package/src/home/job-handlers/conversation-starters.ts +54 -24
  764. package/src/home/suggested-prompts.ts +77 -4
  765. package/src/hooks/__tests__/hook-live-reload.test.ts +48 -62
  766. package/src/hooks/hook-loader.ts +194 -215
  767. package/src/hooks/types.ts +2 -2
  768. package/src/instrument.ts +213 -0
  769. package/src/ipc/__tests__/contacts-info-ipc.test.ts +11 -66
  770. package/src/ipc/assistant-server.ts +34 -14
  771. package/src/ipc/gateway-flag-listener.ts +25 -14
  772. package/src/ipc/routes/__tests__/contacts-mirror-ipc-routes.test.ts +17 -149
  773. package/src/ipc/routes/__tests__/invite-ipc-routes.test.ts +7 -0
  774. package/src/ipc/routes/__tests__/memory-v2-backfill.test.ts +7 -5
  775. package/src/ipc/routes/contacts-info-ipc-routes.ts +2 -5
  776. package/src/ipc/routes/contacts-mirror-ipc-routes.ts +1 -78
  777. package/src/ipc/routes/db-proxy-transaction.ts +151 -0
  778. package/src/ipc/routes/db-proxy.ts +15 -9
  779. package/src/live-voice/__tests__/live-voice-archive.test.ts +8 -1
  780. package/src/live-voice/__tests__/live-voice-integration.test.ts +0 -124
  781. package/src/live-voice/__tests__/live-voice-metrics.test.ts +0 -67
  782. package/src/live-voice/__tests__/live-voice-stt.test.ts +19 -464
  783. package/src/live-voice/__tests__/live-voice-tts-session.test.ts +4 -350
  784. package/src/live-voice/__tests__/live-voice-tts.test.ts +10 -186
  785. package/src/live-voice/__tests__/live-voice-vad.test.ts +10 -372
  786. package/src/live-voice/__tests__/protocol.test.ts +0 -2
  787. package/src/live-voice/__tests__/runtime-websocket-shell.test.ts +9 -61
  788. package/src/live-voice/live-voice-metrics.ts +0 -44
  789. package/src/live-voice/live-voice-session-manager.ts +0 -19
  790. package/src/live-voice/live-voice-session.ts +276 -1015
  791. package/src/live-voice/live-voice-tts.ts +4 -50
  792. package/src/live-voice/protocol.ts +0 -8
  793. package/src/mcp/__tests__/mcp-auth-orchestrator.test.ts +7 -3
  794. package/src/messaging/channel-binding-schema.ts +7 -15
  795. package/src/messaging/providers/a2a/__tests__/deliver.test.ts +9 -0
  796. package/src/messaging/providers/slack/__tests__/download.test.ts +8 -1
  797. package/src/messaging/providers/slack/binding-metadata.ts +0 -6
  798. package/src/messaging/providers/slack/conversation-utils.ts +4 -7
  799. package/src/messaging/providers/slack/send.test.ts +7 -0
  800. package/src/messaging/providers/slack/types.ts +0 -2
  801. package/src/messaging/providers/slack/withdraw.test.ts +6 -0
  802. package/src/messaging/providers/telegram-bot/send.test.ts +7 -0
  803. package/src/monitoring/__tests__/resource-sampler.test.ts +4 -2
  804. package/src/monitoring/__tests__/stall-capture.test.ts +1 -1
  805. package/src/monitoring/process-memory.ts +1 -6
  806. package/src/monitoring/resource-sampler.ts +69 -7
  807. package/src/monitoring/stall-capture.ts +1 -1
  808. package/src/notifications/__tests__/broadcaster.test.ts +9 -100
  809. package/src/notifications/__tests__/connected-channels.test.ts +8 -11
  810. package/src/notifications/__tests__/decision-engine.test.ts +7 -0
  811. package/src/notifications/__tests__/destination-resolver.test.ts +12 -18
  812. package/src/notifications/__tests__/deterministic-checks.test.ts +9 -1
  813. package/src/notifications/access-request-copy.ts +1 -33
  814. package/src/notifications/adapters/slack.ts +2 -7
  815. package/src/notifications/approval-card-data.ts +2 -4
  816. package/src/notifications/broadcaster.ts +67 -118
  817. package/src/notifications/copy-composer.ts +2 -6
  818. package/src/notifications/emit-signal.ts +1 -23
  819. package/src/notifications/signal.ts +4 -5
  820. package/src/notifications/types.ts +1 -1
  821. package/src/oauth/byo-connection.test.ts +10 -1
  822. package/src/oauth/connect-orchestrator.ts +1 -1
  823. package/src/oauth/connection-resolver.test.ts +7 -140
  824. package/src/oauth/connection-resolver.ts +12 -48
  825. package/src/oauth/oauth-store.ts +11 -4
  826. package/src/onboarding/__tests__/onboarding-events-store.test.ts +8 -0
  827. package/src/permissions/approval-policy.test.ts +314 -0
  828. package/src/permissions/approval-policy.ts +90 -38
  829. package/src/permissions/checker.test.ts +14 -3
  830. package/src/permissions/checker.ts +19 -95
  831. package/src/permissions/gateway-threshold-reader.test.ts +8 -0
  832. package/src/permissions/ipc-risk-types.ts +0 -2
  833. package/src/permissions/prompter.ts +3 -16
  834. package/src/permissions/secret-prompter.ts +19 -21
  835. package/src/permissions/types.ts +14 -0
  836. package/src/persistence/__tests__/conversation-queries-search.test.ts +7 -0
  837. package/src/persistence/__tests__/slow-query-log.test.ts +0 -125
  838. package/src/persistence/attachments-store.ts +26 -90
  839. package/src/persistence/auto-analysis-constants.ts +13 -4
  840. package/src/persistence/cleanup-schedule-state.ts +21 -51
  841. package/src/persistence/conversation-bootstrap.ts +3 -3
  842. package/src/persistence/conversation-crud.ts +94 -311
  843. package/src/persistence/conversation-disk-view.ts +15 -32
  844. package/src/persistence/conversation-group-migration.test.ts +8 -1
  845. package/src/persistence/conversation-key-store.ts +2 -0
  846. package/src/persistence/conversation-row-batch-delete.ts +1 -16
  847. package/src/persistence/conversation-title-service.ts +22 -59
  848. package/src/persistence/conversation-types.ts +4 -19
  849. package/src/persistence/db-async-query.ts +9 -18
  850. package/src/persistence/db-connection.ts +4 -20
  851. package/src/persistence/db-init.ts +173 -16
  852. package/src/persistence/db-maintenance.ts +6 -78
  853. package/src/persistence/embeddings/__tests__/messages-lexical-index.test.ts +7 -0
  854. package/src/persistence/embeddings/qdrant-client.ts +18 -2
  855. package/src/persistence/fork-message-copy.ts +4 -18
  856. package/src/persistence/job-handlers/__tests__/message-lexical-backfill.test.ts +7 -0
  857. package/src/persistence/job-handlers/__tests__/message-lexical-enqueue.test.ts +6 -0
  858. package/src/persistence/job-handlers/__tests__/message-lexical.test.ts +7 -0
  859. package/src/persistence/jobs-store.ts +85 -48
  860. package/src/persistence/llm-request-log-store.ts +100 -213
  861. package/src/persistence/message-content.ts +72 -33
  862. package/src/persistence/migrations/__tests__/297-move-llm-request-logs.test.ts +2 -2
  863. package/src/persistence/schema/conversations.ts +1 -25
  864. package/src/persistence/schema/guardian.ts +0 -5
  865. package/src/persistence/schema/infrastructure.ts +0 -21
  866. package/src/persistence/schema/memory-core.ts +28 -17
  867. package/src/persistence/schema/memory-graph.ts +4 -0
  868. package/src/persistence/schema/memory-injection.ts +1 -3
  869. package/src/persistence/schema/tasks.ts +1 -0
  870. package/src/persistence/slow-query-log.ts +21 -58
  871. package/src/persistence/steps.ts +0 -12
  872. package/src/platform/consent-cache.test.ts +7 -0
  873. package/src/playbooks/playbook-compiler.ts +10 -2
  874. package/src/plugin-api/index.ts +0 -79
  875. package/src/plugin-api/model-profiles.test.ts +3 -31
  876. package/src/plugin-api/model-profiles.ts +1 -3
  877. package/src/plugin-api/types.ts +3 -12
  878. package/src/plugin-api/vision-support.ts +3 -4
  879. package/src/plugins/defaults/compaction/compact.ts +0 -13
  880. package/src/plugins/defaults/compaction/window-manager.ts +43 -207
  881. package/src/plugins/defaults/image-fallback/__tests__/image-fallback.test.ts +2 -281
  882. package/src/plugins/defaults/image-fallback/hooks/post-tool-use.ts +4 -7
  883. package/src/plugins/defaults/image-fallback/hooks/user-prompt-submit.ts +12 -12
  884. package/src/plugins/defaults/image-fallback/src/caption-blocks.ts +15 -73
  885. package/src/plugins/defaults/image-fallback/src/caption-cache.ts +20 -206
  886. package/src/plugins/defaults/image-fallback/src/vision-caption.ts +3 -11
  887. package/src/plugins/defaults/image-recovery/recover.ts +23 -50
  888. package/src/plugins/defaults/index.ts +5 -29
  889. package/src/plugins/defaults/injector-order.ts +0 -1
  890. package/src/plugins/defaults/memory/__tests__/activation-session-store.test.ts +8 -1
  891. package/src/plugins/defaults/memory/__tests__/clear-stale-processing-flags.test.ts +8 -1
  892. package/src/plugins/defaults/memory/__tests__/conversation-queries.test.ts +8 -1
  893. package/src/plugins/defaults/memory/__tests__/conversation-row-batch-delete.test.ts +6 -0
  894. package/src/plugins/defaults/memory/__tests__/db-maintenance.test.ts +11 -105
  895. package/src/plugins/defaults/memory/__tests__/db-memory-attach.test.ts +18 -22
  896. package/src/plugins/defaults/memory/__tests__/embedding-cache.test.ts +6 -0
  897. package/src/plugins/defaults/memory/__tests__/find-analysis-conversation.test.ts +197 -0
  898. package/src/plugins/defaults/memory/__tests__/find-most-recent-retrospective-for.test.ts +8 -1
  899. package/src/plugins/defaults/memory/__tests__/fork-message-copy.test.ts +6 -0
  900. package/src/plugins/defaults/memory/__tests__/jobs-store-enqueue-gate.test.ts +70 -7
  901. package/src/plugins/defaults/memory/__tests__/jobs-worker-memory-disabled.test.ts +7 -0
  902. package/src/plugins/defaults/memory/__tests__/jobs-worker-pkb-schedule.test.ts +0 -7
  903. package/src/plugins/defaults/memory/__tests__/jobs-worker-v2-graph-trigger-embed.test.ts +5 -0
  904. package/src/plugins/defaults/memory/__tests__/jobs-worker-v2-schedule.test.ts +0 -7
  905. package/src/plugins/defaults/memory/__tests__/memory-retrospective-enqueue.test.ts +7 -0
  906. package/src/plugins/defaults/memory/__tests__/memory-retrospective-job.test.ts +19 -186
  907. package/src/plugins/defaults/memory/__tests__/memory-retrospective-startup-cleanup.test.ts +82 -136
  908. package/src/plugins/defaults/memory/__tests__/memory-retrospective-state.test.ts +6 -0
  909. package/src/plugins/defaults/memory/__tests__/memory-retrospective-trigger-check.test.ts +2 -217
  910. package/src/plugins/defaults/memory/__tests__/memory-v2-activation-log-store.test.ts +7 -0
  911. package/src/plugins/defaults/memory/__tests__/memory-v2-concept-frequency.test.ts +7 -0
  912. package/src/plugins/defaults/memory/__tests__/table-relocation.test.ts +0 -49
  913. package/src/plugins/defaults/memory/activation-session-store.ts +1 -1
  914. package/src/plugins/defaults/memory/anisotropy.ts +1 -1
  915. package/src/plugins/defaults/memory/config.ts +6 -155
  916. package/src/plugins/defaults/memory/context-search/agent-protocol.ts +1 -1
  917. package/src/plugins/defaults/memory/context-search/search.ts +1 -1
  918. package/src/plugins/defaults/memory/context-search/sources/conversations.ts +23 -26
  919. package/src/plugins/defaults/memory/context-search/sources/memory-v2.ts +1 -1
  920. package/src/plugins/defaults/memory/context-search/sources/memory.ts +1 -1
  921. package/src/plugins/defaults/memory/embeddings.ts +40 -8
  922. package/src/plugins/defaults/memory/filing-jobs.ts +1 -1
  923. package/src/plugins/defaults/memory/fork-conversation-memory.ts +4 -8
  924. package/src/plugins/defaults/memory/frontmatter.ts +1 -1
  925. package/src/plugins/defaults/memory/graph/__tests__/handle-remember-v2.test.ts +25 -4
  926. package/src/plugins/defaults/memory/graph/bootstrap.ts +19 -13
  927. package/src/plugins/defaults/memory/graph/capability-seed.ts +33 -62
  928. package/src/plugins/defaults/memory/graph/consolidation.ts +15 -8
  929. package/src/plugins/defaults/memory/graph/conversation-graph-memory.ts +4 -12
  930. package/src/plugins/defaults/memory/graph/decay.ts +10 -5
  931. package/src/plugins/defaults/memory/graph/extraction-job.ts +3 -2
  932. package/src/plugins/defaults/memory/graph/extraction.test.ts +9 -1
  933. package/src/plugins/defaults/memory/graph/extraction.ts +63 -144
  934. package/src/plugins/defaults/memory/graph/graph-search.test.ts +6 -0
  935. package/src/plugins/defaults/memory/graph/graph-search.ts +15 -33
  936. package/src/plugins/defaults/memory/graph/image-ref-utils.ts +3 -7
  937. package/src/plugins/defaults/memory/graph/injection.test.ts +1 -0
  938. package/src/plugins/defaults/memory/graph/injection.ts +1 -1
  939. package/src/plugins/defaults/memory/graph/narrative.ts +4 -2
  940. package/src/plugins/defaults/memory/graph/pattern-scan.ts +5 -2
  941. package/src/plugins/defaults/memory/graph/retriever.test.ts +28 -27
  942. package/src/plugins/defaults/memory/graph/retriever.ts +42 -89
  943. package/src/plugins/defaults/memory/graph/scoring.test.ts +1 -0
  944. package/src/plugins/defaults/memory/graph/store.test.ts +58 -6
  945. package/src/plugins/defaults/memory/graph/store.ts +43 -5
  946. package/src/plugins/defaults/memory/graph/tool-handlers.ts +8 -244
  947. package/src/plugins/defaults/memory/graph/tools.ts +1 -1
  948. package/src/plugins/defaults/memory/graph/types.ts +3 -0
  949. package/src/plugins/defaults/memory/hooks/init.ts +1 -1
  950. package/src/plugins/defaults/memory/hooks/user-prompt-submit.ts +10 -10
  951. package/src/plugins/defaults/memory/indexer.ts +54 -18
  952. package/src/plugins/defaults/memory/injectors.ts +8 -5
  953. package/src/plugins/defaults/memory/job-handler-registration.ts +4 -0
  954. package/src/plugins/defaults/memory/job-handlers/backfill.ts +3 -2
  955. package/src/plugins/defaults/memory/job-handlers/embedding.test.ts +8 -0
  956. package/src/plugins/defaults/memory/job-handlers/embedding.ts +15 -29
  957. package/src/plugins/defaults/memory/job-handlers/index-maintenance.ts +4 -6
  958. package/src/plugins/defaults/memory/job-handlers.ts +9 -10
  959. package/src/plugins/defaults/memory/jobs/__tests__/embed-concept-page.test.ts +7 -0
  960. package/src/plugins/defaults/memory/jobs/embed-concept-page.ts +3 -3
  961. package/src/plugins/defaults/memory/jobs/embed-pkb-file.test.ts +28 -41
  962. package/src/plugins/defaults/memory/jobs/embed-pkb-file.ts +5 -10
  963. package/src/plugins/defaults/memory/jobs-worker.ts +50 -161
  964. package/src/plugins/defaults/memory/memory-retrospective-constants.ts +7 -19
  965. package/src/plugins/defaults/memory/memory-retrospective-enqueue.ts +6 -5
  966. package/src/plugins/defaults/memory/memory-retrospective-fork-boundary.ts +20 -57
  967. package/src/plugins/defaults/memory/memory-retrospective-job.ts +79 -220
  968. package/src/plugins/defaults/memory/memory-retrospective-startup-cleanup.ts +39 -52
  969. package/src/plugins/defaults/memory/memory-retrospective-state.ts +10 -14
  970. package/src/plugins/defaults/memory/memory-retrospective-trigger-check.ts +3 -8
  971. package/src/plugins/defaults/memory/pkb/autoinject.ts +1 -1
  972. package/src/plugins/defaults/memory/pkb/context.ts +2 -2
  973. package/src/plugins/defaults/memory/pkb/pkb-index.test.ts +44 -25
  974. package/src/plugins/defaults/memory/pkb/pkb-index.ts +25 -24
  975. package/src/plugins/defaults/memory/pkb/pkb-reconcile.test.ts +34 -46
  976. package/src/plugins/defaults/memory/pkb/pkb-reconcile.ts +9 -4
  977. package/src/plugins/defaults/memory/pkb/pkb-search.test.ts +17 -5
  978. package/src/plugins/defaults/memory/pkb/pkb-search.ts +9 -2
  979. package/src/plugins/defaults/memory/pkb/types.ts +12 -1
  980. package/src/plugins/defaults/memory/pkb-schedule.ts +2 -2
  981. package/src/plugins/defaults/memory/rerank-local.ts +4 -3
  982. package/src/plugins/defaults/memory/routes/__tests__/memory-v2-simulate-route.test.ts +17 -9
  983. package/src/plugins/defaults/memory/routes/memory-eval-routes.ts +2 -2
  984. package/src/plugins/defaults/memory/routes/memory-item-routes.test.ts +9 -149
  985. package/src/plugins/defaults/memory/routes/memory-item-routes.ts +12 -147
  986. package/src/plugins/defaults/memory/routes/memory-v2-routes.ts +11 -7
  987. package/src/plugins/defaults/memory/routes/memory-v3-routes.ts +1 -1
  988. package/src/plugins/defaults/memory/startup.ts +4 -3
  989. package/src/plugins/defaults/memory/task-memory-cleanup.ts +1 -1
  990. package/src/plugins/defaults/memory/tools.test.ts +9 -1
  991. package/src/plugins/defaults/memory/tools.ts +1 -0
  992. package/src/plugins/defaults/memory/v2/__tests__/activation.test.ts +5 -0
  993. package/src/plugins/defaults/memory/v2/__tests__/backfill-jobs.test.ts +6 -0
  994. package/src/plugins/defaults/memory/v2/__tests__/cli-command-store.test.ts +6 -6
  995. package/src/plugins/defaults/memory/v2/__tests__/consolidation-job.test.ts +6 -48
  996. package/src/plugins/defaults/memory/v2/__tests__/harness-compare.test.ts +5 -0
  997. package/src/plugins/defaults/memory/v2/__tests__/harness-oracle.test.ts +5 -0
  998. package/src/plugins/defaults/memory/v2/__tests__/harness-replay-input.test.ts +5 -0
  999. package/src/plugins/defaults/memory/v2/__tests__/injection-events.test.ts +69 -61
  1000. package/src/plugins/defaults/memory/v2/__tests__/injection.test.ts +5 -0
  1001. package/src/plugins/defaults/memory/v2/__tests__/migration.test.ts +6 -0
  1002. package/src/plugins/defaults/memory/v2/__tests__/page-index.test.ts +5 -0
  1003. package/src/plugins/defaults/memory/v2/__tests__/prompts-consolidation.test.ts +0 -28
  1004. package/src/plugins/defaults/memory/v2/__tests__/qdrant.test.ts +6 -3
  1005. package/src/plugins/defaults/memory/v2/__tests__/reranker.test.ts +5 -3
  1006. package/src/plugins/defaults/memory/v2/__tests__/router.test.ts +27 -16
  1007. package/src/plugins/defaults/memory/v2/__tests__/sim.test.ts +5 -0
  1008. package/src/plugins/defaults/memory/v2/__tests__/skill-content.test.ts +1 -1
  1009. package/src/plugins/defaults/memory/v2/__tests__/skill-store.test.ts +22 -56
  1010. package/src/plugins/defaults/memory/v2/__tests__/static-context.test.ts +6 -9
  1011. package/src/plugins/defaults/memory/v2/__tests__/sweep-job.test.ts +6 -6
  1012. package/src/plugins/defaults/memory/v2/backfill-jobs.ts +16 -31
  1013. package/src/plugins/defaults/memory/v2/cli-command-content.ts +0 -78
  1014. package/src/plugins/defaults/memory/v2/cli-command-store.ts +11 -32
  1015. package/src/plugins/defaults/memory/v2/consolidation-job.ts +5 -45
  1016. package/src/plugins/defaults/memory/v2/frontmatter-sweep.ts +1 -1
  1017. package/src/plugins/defaults/memory/v2/harness/retriever.ts +8 -1
  1018. package/src/plugins/defaults/memory/v2/harness/router-retriever.ts +8 -1
  1019. package/src/plugins/defaults/memory/v2/harness/trace.ts +1 -1
  1020. package/src/plugins/defaults/memory/v2/injection-events.ts +15 -34
  1021. package/src/plugins/defaults/memory/v2/injection.ts +4 -3
  1022. package/src/plugins/defaults/memory/v2/memory-v2-startup.test.ts +5 -0
  1023. package/src/plugins/defaults/memory/v2/memory-v2-startup.ts +2 -2
  1024. package/src/plugins/defaults/memory/v2/migration.ts +1 -1
  1025. package/src/plugins/defaults/memory/v2/page-index.ts +1 -1
  1026. package/src/plugins/defaults/memory/v2/prompts/consolidation.ts +2 -6
  1027. package/src/plugins/defaults/memory/v2/prompts/router.ts +1 -1
  1028. package/src/plugins/defaults/memory/v2/qdrant.ts +2 -2
  1029. package/src/plugins/defaults/memory/v2/reranker.ts +2 -2
  1030. package/src/plugins/defaults/memory/v2/router.ts +20 -10
  1031. package/src/plugins/defaults/memory/v2/skill-content.ts +4 -23
  1032. package/src/plugins/defaults/memory/v2/skill-store.ts +43 -44
  1033. package/src/plugins/defaults/memory/v2/static-context.ts +12 -7
  1034. package/src/plugins/defaults/memory/v2/sweep-job.ts +13 -23
  1035. package/src/plugins/defaults/memory/v3/__tests__/carry-integration.test.ts +0 -19
  1036. package/src/plugins/defaults/memory/v3/__tests__/dense.test.ts +5 -0
  1037. package/src/plugins/defaults/memory/v3/__tests__/injection.test.ts +0 -17
  1038. package/src/plugins/defaults/memory/v3/__tests__/live-integration.test.ts +4 -14
  1039. package/src/plugins/defaults/memory/v3/__tests__/maintain-job.test.ts +17 -23
  1040. package/src/plugins/defaults/memory/v3/__tests__/orchestrate.test.ts +6 -20
  1041. package/src/plugins/defaults/memory/v3/__tests__/pool-select.test.ts +0 -2
  1042. package/src/plugins/defaults/memory/v3/__tests__/section-dense-store.test.ts +5 -0
  1043. package/src/plugins/defaults/memory/v3/candidate-match.ts +11 -20
  1044. package/src/plugins/defaults/memory/v3/dense.ts +1 -1
  1045. package/src/plugins/defaults/memory/v3/injector.ts +1 -1
  1046. package/src/plugins/defaults/memory/v3/learned-edges.test.ts +0 -14
  1047. package/src/plugins/defaults/memory/v3/learned-edges.ts +1 -6
  1048. package/src/plugins/defaults/memory/v3/maintain-job.ts +31 -39
  1049. package/src/plugins/defaults/memory/v3/orchestrate.ts +1 -1
  1050. package/src/plugins/defaults/memory/v3/page-content.ts +1 -1
  1051. package/src/plugins/defaults/memory/v3/pool-select.ts +3 -2
  1052. package/src/plugins/defaults/memory/v3/prune.test.ts +0 -10
  1053. package/src/plugins/defaults/memory/v3/prune.ts +1 -1
  1054. package/src/plugins/defaults/memory/v3/section-dense-store.ts +1 -1
  1055. package/src/plugins/defaults/memory/v3/selection-log-store.ts +1 -1
  1056. package/src/plugins/defaults/memory/v3/shadow-plugin.ts +25 -47
  1057. package/src/plugins/defaults/memory/v3-eval/eval-packets.ts +11 -31
  1058. package/src/plugins/defaults/memory/worker.ts +2 -2
  1059. package/src/plugins/defaults/workspace/injectors.ts +5 -116
  1060. package/src/plugins/mtime-cache.ts +105 -207
  1061. package/src/plugins/pipeline.ts +5 -195
  1062. package/src/plugins/surface-import.ts +14 -52
  1063. package/src/plugins/types.ts +15 -10
  1064. package/src/prompts/persona-resolver.ts +1 -1
  1065. package/src/prompts/system-prompt.ts +4 -2
  1066. package/src/prompts/templates/system-sections.ts +0 -12
  1067. package/src/providers/__tests__/connection-model-compat.test.ts +5 -0
  1068. package/src/providers/__tests__/count-tokens-forwarding.test.ts +21 -1
  1069. package/src/providers/__tests__/dispatch-connection-routing.test.ts +6 -12
  1070. package/src/providers/__tests__/registry-native-web-search.test.ts +3 -21
  1071. package/src/providers/__tests__/retry-callsite.test.ts +8 -207
  1072. package/src/providers/__tests__/satellite-connection-routing.test.ts +6 -12
  1073. package/src/providers/__tests__/vellum-mismatch-routing.test.ts +5 -0
  1074. package/src/providers/anthropic/client.ts +7 -109
  1075. package/src/providers/call-site-routing.ts +0 -1
  1076. package/src/providers/connection-resolution.ts +6 -192
  1077. package/src/providers/gemini/client.ts +22 -84
  1078. package/src/providers/gemini/inline-media.ts +3 -2
  1079. package/src/providers/inference/__tests__/base-url-route-validation.test.ts +0 -5
  1080. package/src/providers/inference/__tests__/codex-token-refresh.test.ts +15 -1
  1081. package/src/providers/inference/adapter-factory.ts +0 -13
  1082. package/src/providers/inference/connections.ts +10 -6
  1083. package/src/providers/model-catalog.ts +17 -337
  1084. package/src/providers/model-intents.ts +0 -6
  1085. package/src/providers/openai/__tests__/api-error-normalization.test.ts +0 -98
  1086. package/src/providers/openai/__tests__/chat-completions-provider-reasoning.test.ts +0 -112
  1087. package/src/providers/openai/api-error-normalization.ts +0 -61
  1088. package/src/providers/openai/chat-completions-provider.ts +10 -73
  1089. package/src/providers/openai/responses-provider.ts +3 -10
  1090. package/src/providers/openrouter/client.ts +39 -6
  1091. package/src/providers/platform-proxy/constants.ts +0 -4
  1092. package/src/providers/provider-availability.ts +1 -23
  1093. package/src/providers/provider-send-message.ts +3 -19
  1094. package/src/providers/registry.ts +1 -5
  1095. package/src/providers/retry.ts +29 -91
  1096. package/src/providers/speech-to-text/__tests__/resolve.test.ts +0 -31
  1097. package/src/providers/speech-to-text/deepgram-realtime.test.ts +1 -393
  1098. package/src/providers/speech-to-text/deepgram-realtime.ts +13 -213
  1099. package/src/providers/speech-to-text/resolve.ts +5 -33
  1100. package/src/providers/types.ts +24 -69
  1101. package/src/providers/vellum-model-routing.ts +0 -11
  1102. package/src/runtime/__tests__/agent-wake.test.ts +16 -232
  1103. package/src/runtime/__tests__/background-job-runner.test.ts +2 -71
  1104. package/src/runtime/__tests__/guardian-vellum-migration.test.ts +15 -5
  1105. package/src/runtime/__tests__/local-principal-trust.test.ts +6 -0
  1106. package/src/runtime/__tests__/member-verdict-cache.test.ts +15 -2
  1107. package/src/runtime/__tests__/trust-verdict-consumer.test.ts +30 -91
  1108. package/src/runtime/access-request-helper.ts +3 -75
  1109. package/src/runtime/actor-trust-resolver.ts +108 -33
  1110. package/src/runtime/agent-wake.ts +25 -45
  1111. package/src/runtime/assistant-event-hub.ts +105 -0
  1112. package/src/runtime/auth/__tests__/middleware.test.ts +10 -1
  1113. package/src/runtime/auth/__tests__/route-policy.test.ts +7 -0
  1114. package/src/runtime/auth/__tests__/token-service.test.ts +8 -1
  1115. package/src/runtime/background-job-runner.ts +2 -57
  1116. package/src/runtime/capabilities.ts +3 -3
  1117. package/src/runtime/channel-reply-delivery.ts +19 -38
  1118. package/src/runtime/channel-retry-sweep.ts +1 -1
  1119. package/src/runtime/confirmation-request-guardian-bridge.ts +3 -4
  1120. package/src/runtime/effective-capabilities.test.ts +36 -0
  1121. package/src/runtime/effective-capabilities.ts +23 -8
  1122. package/src/runtime/guardian-vellum-migration.ts +16 -12
  1123. package/src/runtime/http-router.ts +115 -2
  1124. package/src/runtime/http-server.ts +2 -11
  1125. package/src/runtime/http-types.ts +1 -1
  1126. package/src/runtime/introduction-policy.ts +0 -89
  1127. package/src/runtime/local-actor-identity.ts +50 -4
  1128. package/src/runtime/local-principal-trust.ts +1 -1
  1129. package/src/runtime/member-verdict-cache.ts +0 -0
  1130. package/src/runtime/migrations/__tests__/gcs-signed-url.test.ts +1 -51
  1131. package/src/runtime/migrations/gcs-signed-url.ts +7 -21
  1132. package/src/runtime/migrations/origin-mode.ts +11 -16
  1133. package/src/runtime/pending-interactions.ts +3 -8
  1134. package/src/runtime/routes/__tests__/acp-routes.test.ts +7 -0
  1135. package/src/runtime/routes/__tests__/backup-routes.test.ts +7 -0
  1136. package/src/runtime/routes/__tests__/bookmark-routes.test.ts +1 -0
  1137. package/src/runtime/routes/__tests__/channel-verification-revoke.test.ts +16 -0
  1138. package/src/runtime/routes/__tests__/client-routes.test.ts +7 -0
  1139. package/src/runtime/routes/__tests__/connection-routes-vs-cli-parity.test.ts +5 -4
  1140. package/src/runtime/routes/__tests__/consolidation-routes.test.ts +8 -8
  1141. package/src/runtime/routes/__tests__/contact-routes.test.ts +3 -2
  1142. package/src/runtime/routes/__tests__/content-source-routes.test.ts +7 -0
  1143. package/src/runtime/routes/__tests__/conversation-compaction-routes.test.ts +9 -31
  1144. package/src/runtime/routes/__tests__/conversation-list-routes.test.ts +7 -0
  1145. package/src/runtime/routes/__tests__/conversation-management-routes.test.ts +8 -0
  1146. package/src/runtime/routes/__tests__/conversation-query-routes.test.ts +11 -260
  1147. package/src/runtime/routes/__tests__/conversation-surface-routes.test.ts +7 -0
  1148. package/src/runtime/routes/__tests__/global-search-routes.test.ts +1 -0
  1149. package/src/runtime/routes/__tests__/inference-provider-connection-routes.test.ts +6 -219
  1150. package/src/runtime/routes/__tests__/invite-relay-routes.test.ts +15 -70
  1151. package/src/runtime/routes/__tests__/monitoring-routes.test.ts +1 -1
  1152. package/src/runtime/routes/__tests__/plugins-routes.test.ts +38 -182
  1153. package/src/runtime/routes/__tests__/retrospective-routes.test.ts +8 -1
  1154. package/src/runtime/routes/__tests__/sanity-routes.test.ts +7 -0
  1155. package/src/runtime/routes/__tests__/stt-routes.test.ts +9 -0
  1156. package/src/runtime/routes/__tests__/suggest-trust-rule-routes.test.ts +7 -0
  1157. package/src/runtime/routes/__tests__/task-routes.test.ts +2 -2
  1158. package/src/runtime/routes/__tests__/tts-routes.test.ts +7 -0
  1159. package/src/runtime/routes/__tests__/user-route-dispatcher.test.ts +9 -1
  1160. package/src/runtime/routes/__tests__/wake-conversation-routes.test.ts +7 -0
  1161. package/src/runtime/routes/acp-routes.ts +14 -20
  1162. package/src/runtime/routes/approval-routes.ts +2 -21
  1163. package/src/runtime/routes/contact-routes.ts +43 -75
  1164. package/src/runtime/routes/conversation-analysis-routes.ts +75 -0
  1165. package/src/runtime/routes/conversation-attention-routes.ts +1 -1
  1166. package/src/runtime/routes/conversation-cli-routes.ts +2 -2
  1167. package/src/runtime/routes/conversation-compaction-routes.ts +0 -5
  1168. package/src/runtime/routes/conversation-management-routes.ts +2 -147
  1169. package/src/runtime/routes/conversation-query-routes.ts +43 -378
  1170. package/src/runtime/routes/conversation-routes.ts +181 -89
  1171. package/src/runtime/routes/conversation-starter-routes.ts +23 -12
  1172. package/src/runtime/routes/credential-prompt-routes.ts +4 -48
  1173. package/src/runtime/routes/credential-routes.ts +5 -40
  1174. package/src/runtime/routes/errors.ts +0 -17
  1175. package/src/runtime/routes/events-routes.ts +39 -158
  1176. package/src/runtime/routes/guardian-approval-interception.ts +1 -1
  1177. package/src/runtime/routes/http-adapter.ts +1 -1
  1178. package/src/runtime/routes/inbound-message-handler.ts +6 -61
  1179. package/src/runtime/routes/inbound-stages/acl-enforcement.test.ts +26 -58
  1180. package/src/runtime/routes/inbound-stages/acl-enforcement.ts +87 -73
  1181. package/src/runtime/routes/inbound-stages/admission-policy.ts +1 -2
  1182. package/src/runtime/routes/inbound-stages/background-dispatch.test.ts +8 -1
  1183. package/src/runtime/routes/inbound-stages/background-dispatch.ts +2 -3
  1184. package/src/runtime/routes/inbound-stages/bootstrap-intercept.test.ts +5 -0
  1185. package/src/runtime/routes/inbound-stages/edit-intercept.ts +1 -5
  1186. package/src/runtime/routes/inbound-stages/escalation-intercept.test.ts +5 -0
  1187. package/src/runtime/routes/inbound-stages/guardian-activation-intercept.test.ts +9 -0
  1188. package/src/runtime/routes/inbound-stages/guardian-reply-intercept.test.ts +9 -0
  1189. package/src/runtime/routes/inbound-stages/reaction-intercept.ts +37 -27
  1190. package/src/runtime/routes/inbound-stages/secret-ingress-check.ts +1 -1
  1191. package/src/runtime/routes/inbound-stages/transcribe-audio.test.ts +9 -0
  1192. package/src/runtime/routes/index.ts +4 -16
  1193. package/src/runtime/routes/inference-profile-session-handler.ts +1 -2
  1194. package/src/runtime/routes/inference-provider-connection-routes.ts +1 -38
  1195. package/src/runtime/routes/inference-send-routes.ts +1 -2
  1196. package/src/runtime/routes/integrations/slack/channels.ts +4 -26
  1197. package/src/runtime/routes/internal-telemetry-routes.ts +0 -44
  1198. package/src/runtime/routes/llm-call-sites-routes.ts +1 -2
  1199. package/src/runtime/routes/migration-routes.ts +47 -94
  1200. package/src/runtime/routes/monitoring-routes.ts +1 -1
  1201. package/src/runtime/routes/notification-routes.ts +1 -1
  1202. package/src/runtime/routes/playground/__tests__/reset-circuit.test.ts +7 -0
  1203. package/src/runtime/routes/plugins-routes.ts +16 -169
  1204. package/src/runtime/routes/schedule-routes.ts +1 -38
  1205. package/src/runtime/routes/secret-routes.ts +7 -0
  1206. package/src/runtime/routes/settings-routes.ts +22 -160
  1207. package/src/runtime/routes/skills-routes.ts +0 -6
  1208. package/src/runtime/routes/subagents-routes.ts +18 -17
  1209. package/src/runtime/routes/surface-action-routes.ts +2 -4
  1210. package/src/runtime/routes/types.ts +1 -2
  1211. package/src/runtime/routes/work-items-routes.test.ts +74 -0
  1212. package/src/runtime/routes/work-items-routes.ts +881 -0
  1213. package/src/runtime/routes/workflow-routes.ts +1 -1
  1214. package/src/runtime/services/__tests__/analyze-conversation.test.ts +477 -0
  1215. package/src/runtime/services/__tests__/auto-analysis-enqueue.test.ts +386 -0
  1216. package/src/runtime/services/__tests__/auto-analysis-guard.test.ts +16 -2
  1217. package/src/runtime/services/__tests__/auto-analysis-prompt.test.ts +53 -0
  1218. package/src/runtime/services/__tests__/conversation-analyze-job.test.ts +213 -0
  1219. package/src/runtime/services/__tests__/conversation-serializer.test.ts +1 -0
  1220. package/src/runtime/services/__tests__/manual-analysis-prompt.test.ts +41 -0
  1221. package/src/runtime/services/analyze-conversation.ts +332 -0
  1222. package/src/runtime/services/auto-analysis-enqueue.ts +130 -0
  1223. package/src/runtime/services/auto-analysis-guard.ts +5 -5
  1224. package/src/runtime/services/auto-analysis-prompt.ts +55 -0
  1225. package/src/runtime/services/conversation-analyze-job.ts +53 -0
  1226. package/src/runtime/services/conversation-serializer.ts +3 -2
  1227. package/src/runtime/sync/resource-sync-events.ts +0 -4
  1228. package/src/runtime/trust-context-resolver.ts +9 -9
  1229. package/src/runtime/trust-verdict-consumer.ts +5 -46
  1230. package/src/schedule/scheduler.ts +18 -61
  1231. package/src/security/__tests__/oauth2-device-code.test.ts +60 -12
  1232. package/src/security/__tests__/provider-key-env-fallback.test.ts +10 -0
  1233. package/src/security/secret-patterns.ts +0 -3
  1234. package/src/security/secure-keys.ts +49 -222
  1235. package/src/sequence/engine.ts +6 -15
  1236. package/src/signals/user-message.ts +1 -3
  1237. package/src/skills/install-meta.ts +0 -8
  1238. package/src/skills/managed-store.ts +0 -10
  1239. package/src/skills/skill-memory.ts +44 -0
  1240. package/src/stt/types.ts +2 -33
  1241. package/src/subagent/manager.ts +6 -5
  1242. package/src/tasks/SPEC.md +17 -10
  1243. package/src/tasks/tool-sanitizer.ts +1 -3
  1244. package/src/telemetry/__tests__/watchdog-events-store.test.ts +8 -0
  1245. package/src/telemetry/skill-loaded-events-store.test.ts +8 -0
  1246. package/src/telemetry/tool-executed-events-store.test.ts +27 -19
  1247. package/src/telemetry/tool-executed-events-store.ts +5 -5
  1248. package/src/telemetry/turn-events-store.ts +0 -36
  1249. package/src/telemetry/turn-trace-store.test.ts +8 -156
  1250. package/src/telemetry/turn-trace-store.ts +4 -53
  1251. package/src/telemetry/types.ts +2 -91
  1252. package/src/telemetry/usage-telemetry-reporter.test.ts +24 -239
  1253. package/src/telemetry/usage-telemetry-reporter.ts +17 -94
  1254. package/src/telemetry/watchdog-direct-emit.test.ts +5 -0
  1255. package/src/tools/AGENTS.md +26 -0
  1256. package/src/tools/acp/spawn.test.ts +7 -0
  1257. package/src/tools/browser/browser-execution.ts +75 -99
  1258. package/src/tools/browser/cdp-client/__tests__/cdp-inspect-client.test.ts +11 -1
  1259. package/src/tools/browser/cdp-client/__tests__/local-cdp-client.test.ts +10 -0
  1260. package/src/tools/browser/network-recorder.test.ts +11 -0
  1261. package/src/tools/credential-execution/make-authenticated-request.ts +198 -0
  1262. package/src/tools/credential-execution/manage-secure-command-tool.ts +371 -0
  1263. package/src/tools/credential-execution/run-authenticated-command.ts +261 -0
  1264. package/src/tools/document/document-comment-tool.test.ts +7 -1
  1265. package/src/tools/execution-target.ts +1 -1
  1266. package/src/tools/executor.ts +275 -63
  1267. package/src/tools/filesystem/write.ts +2 -0
  1268. package/src/tools/flag-gated-tools.test.ts +76 -0
  1269. package/src/tools/host-terminal/host-shell.test.ts +7 -0
  1270. package/src/tools/host-terminal/host-shell.ts +49 -6
  1271. package/src/tools/permission-checker.ts +81 -33
  1272. package/src/tools/registry.ts +166 -261
  1273. package/src/tools/run-standalone.ts +13 -6
  1274. package/src/tools/side-effects.ts +1 -0
  1275. package/src/tools/skills/find-similar-skills.test.ts +9 -5
  1276. package/src/tools/skills/scaffold-managed.ts +4 -31
  1277. package/src/tools/skills/skill-script-runner.ts +31 -17
  1278. package/src/tools/skills/skill-tool-factory.ts +6 -2
  1279. package/src/tools/subagent/read.ts +4 -6
  1280. package/src/tools/subagent/spawn.ts +29 -28
  1281. package/src/tools/terminal/safe-env.ts +3 -8
  1282. package/src/tools/terminal/shell.test.ts +6 -0
  1283. package/src/tools/terminal/shell.ts +50 -1
  1284. package/src/tools/tool-approval-handler.ts +166 -99
  1285. package/src/tools/tool-defaults.ts +6 -2
  1286. package/src/tools/tool-manifest.ts +49 -0
  1287. package/src/tools/tool-types.ts +95 -4
  1288. package/src/tools/types.ts +140 -27
  1289. package/src/tools/workflows/manage-workflows.ts +1 -2
  1290. package/src/tools/workflows/run-workflow.test.ts +1 -6
  1291. package/src/tools/workflows/run-workflow.ts +4 -2
  1292. package/src/tools/workspace-tools/loader.ts +14 -26
  1293. package/src/tts/__tests__/provider-adapters.test.ts +22 -891
  1294. package/src/tts/__tests__/provider-catalog.test.ts +10 -43
  1295. package/src/tts/__tests__/synthesis-stream.test.ts +1 -5
  1296. package/src/tts/provider-definition.ts +7 -6
  1297. package/src/tts/providers/deepgram-provider.ts +102 -160
  1298. package/src/tts/providers/elevenlabs-provider.ts +105 -182
  1299. package/src/tts/providers/fish-audio-provider.ts +105 -72
  1300. package/src/tts/providers/xai-provider.ts +22 -131
  1301. package/src/tts/synthesis-stream.ts +5 -9
  1302. package/src/tts/synthesize-text.ts +5 -15
  1303. package/src/tts/types.ts +0 -21
  1304. package/src/usage/attribution.ts +9 -43
  1305. package/src/util/errors.ts +0 -26
  1306. package/src/util/logger.ts +68 -67
  1307. package/src/util/platform.ts +60 -19
  1308. package/src/util/pricing.ts +11 -14
  1309. package/src/util/process-tree.ts +13 -25
  1310. package/src/util/sentry-log-stream.ts +51 -0
  1311. package/src/util/sqlite-retry.ts +2 -14
  1312. package/src/util/unicode.ts +1 -1
  1313. package/src/watcher/engine.ts +2 -87
  1314. package/src/workflows/capabilities.test.ts +32 -2
  1315. package/src/workflows/capabilities.ts +25 -18
  1316. package/src/workflows/engine-integration.test.ts +7 -1
  1317. package/src/workflows/engine.test.ts +10 -2
  1318. package/src/workflows/engine.ts +1 -1
  1319. package/src/workflows/fanout-load.test.ts +1 -1
  1320. package/src/workflows/journal-store.test.ts +9 -1
  1321. package/src/workflows/leaf-runner.test.ts +6 -0
  1322. package/src/workflows/leaf-runner.ts +5 -4
  1323. package/src/workflows/library.test.ts +9 -1
  1324. package/src/workflows/run-manager.test.ts +10 -2
  1325. package/src/workflows/run-manager.ts +4 -2
  1326. package/src/workspace/adaptive-thinking-repair.ts +1 -1
  1327. package/src/workspace/migrations/028-recover-conversations-from-disk-view.ts +1 -0
  1328. package/src/workspace/migrations/097-enable-adaptive-thinking-managed-profiles.ts +1 -1
  1329. package/src/workspace/migrations/registry.ts +0 -8
  1330. package/node_modules/@vellumai/ces-client/node_modules/@vellumai/service-contracts/src/__tests__/attachment-naming.test.ts +0 -104
  1331. package/node_modules/@vellumai/ces-client/node_modules/@vellumai/service-contracts/src/attachment-naming.ts +0 -118
  1332. package/node_modules/@vellumai/gateway-client/node_modules/@vellumai/service-contracts/src/__tests__/attachment-naming.test.ts +0 -104
  1333. package/node_modules/@vellumai/gateway-client/node_modules/@vellumai/service-contracts/src/attachment-naming.ts +0 -118
  1334. package/node_modules/@vellumai/service-contracts/src/__tests__/attachment-naming.test.ts +0 -104
  1335. package/node_modules/@vellumai/service-contracts/src/attachment-naming.ts +0 -118
  1336. package/scripts/build-test-fixtures.ts +0 -105
  1337. package/scripts/test.ts +0 -597
  1338. package/src/__tests__/anthropic-gateway-shared.test.ts +0 -140
  1339. package/src/__tests__/available-skills.test.ts +0 -266
  1340. package/src/__tests__/compaction-summary-head-persisted-count.test.ts +0 -417
  1341. package/src/__tests__/compactor-fixed-boundary.test.ts +0 -334
  1342. package/src/__tests__/config-loader-validation-reset-notice.test.ts +0 -183
  1343. package/src/__tests__/conversation-message-id-uuidv7.test.ts +0 -73
  1344. package/src/__tests__/conversation-summarize-route.test.ts +0 -445
  1345. package/src/__tests__/conversation-summarize-up-to.test.ts +0 -711
  1346. package/src/__tests__/conversation-wait-for-idle.test.ts +0 -391
  1347. package/src/__tests__/credential-request-route.test.ts +0 -76
  1348. package/src/__tests__/custom-profile-ensure.test.ts +0 -232
  1349. package/src/__tests__/db-processing-resume-attempts-migration.test.ts +0 -116
  1350. package/src/__tests__/default-provider-ensure.test.ts +0 -343
  1351. package/src/__tests__/drain-requeue-on-contention.test.ts +0 -202
  1352. package/src/__tests__/dynamic-skill-background-guard.test.ts +0 -174
  1353. package/src/__tests__/ensure-conversation-exists.test.ts +0 -85
  1354. package/src/__tests__/events-tail-route.test.ts +0 -172
  1355. package/src/__tests__/helpers/set-config.ts +0 -40
  1356. package/src/__tests__/inbound-admitted-introduction-nudge.test.ts +0 -296
  1357. package/src/__tests__/injector-config-validation-reset-notice.test.ts +0 -121
  1358. package/src/__tests__/interrupted-turn-reconciler.test.ts +0 -126
  1359. package/src/__tests__/llm-request-log-clickhouse-routing.test.ts +0 -117
  1360. package/src/__tests__/llm-request-log-clickhouse-writer-guards.test.ts +0 -115
  1361. package/src/__tests__/llm-request-log-disabled-writes.test.ts +0 -72
  1362. package/src/__tests__/llm-request-log-sink-clickhouse.test.ts +0 -211
  1363. package/src/__tests__/llm-resolver-override-or-default.test.ts +0 -563
  1364. package/src/__tests__/memory-config-file-parity.test.ts +0 -187
  1365. package/src/__tests__/memory-identity-context-parity.test.ts +0 -103
  1366. package/src/__tests__/memory-jobs-worker-cleanup-cadence.test.ts +0 -296
  1367. package/src/__tests__/persist-media-references.test.ts +0 -112
  1368. package/src/__tests__/plugin-hook-pipeline-hardening.test.ts +0 -249
  1369. package/src/__tests__/plugin-import-boundary-reverse-guard.test.ts +0 -316
  1370. package/src/__tests__/request-secret-standalone-channel-gate.test.ts +0 -270
  1371. package/src/__tests__/secret-patterns.test.ts +0 -27
  1372. package/src/__tests__/slack-users-routes.test.ts +0 -148
  1373. package/src/__tests__/summarize-boundary.test.ts +0 -169
  1374. package/src/__tests__/tool-profiler.test.ts +0 -139
  1375. package/src/__tests__/turn-outcome-read.test.ts +0 -75
  1376. package/src/__tests__/vercel-ai-gateway-provider.test.ts +0 -283
  1377. package/src/__tests__/workspace-migration-126-strip-managed-profile-bodies.test.ts +0 -192
  1378. package/src/__tests__/workspace-migration-127-backfill-default-provider.test.ts +0 -277
  1379. package/src/__tests__/workspace-migration-128-repair-stale-openrouter-grok-model-ids.test.ts +0 -135
  1380. package/src/__tests__/workspace-migration-129-remove-analyze-conversation-config.test.ts +0 -190
  1381. package/src/browser/operation-meta.ts +0 -493
  1382. package/src/calls/__tests__/voice-session-bridge.test.ts +0 -884
  1383. package/src/calls/unresolved-caller-trust.ts +0 -36
  1384. package/src/channels/__tests__/gateway-invites.test.ts +0 -257
  1385. package/src/channels/gateway-invites.ts +0 -142
  1386. package/src/cli/commands/__tests__/inference-models.test.ts +0 -86
  1387. package/src/cli/commands/__tests__/inference-profiles.test.ts +0 -254
  1388. package/src/cli/commands/__tests__/inference-providers.test.ts +0 -171
  1389. package/src/cli/commands/__tests__/usage.test.ts +0 -131
  1390. package/src/cli/commands/attachment.help.ts +0 -100
  1391. package/src/cli/commands/audit.help.ts +0 -40
  1392. package/src/cli/commands/auth.help.ts +0 -46
  1393. package/src/cli/commands/avatar.help.ts +0 -236
  1394. package/src/cli/commands/backup.help.ts +0 -190
  1395. package/src/cli/commands/bash.help.ts +0 -45
  1396. package/src/cli/commands/browser.help.ts +0 -196
  1397. package/src/cli/commands/inference-callsites.ts +0 -158
  1398. package/src/cli/commands/inference-models.ts +0 -84
  1399. package/src/cli/commands/inference-profiles.ts +0 -371
  1400. package/src/cli/commands/inference-providers-default.ts +0 -89
  1401. package/src/cli/commands/memory/nodes.ts +0 -301
  1402. package/src/cli/index.help.ts +0 -31
  1403. package/src/cli/lib/__tests__/cli-output.test.ts +0 -20
  1404. package/src/cli/lib/__tests__/install-from-platform.test.ts +0 -497
  1405. package/src/cli/lib/__tests__/plugin-icon-file.test.ts +0 -142
  1406. package/src/cli/lib/cli-command-help.ts +0 -119
  1407. package/src/cli/lib/cli-output.ts +0 -55
  1408. package/src/cli/lib/fetch-like.ts +0 -11
  1409. package/src/cli/lib/install-from-platform.ts +0 -618
  1410. package/src/cli/lib/plugin-constants.ts +0 -27
  1411. package/src/cli/lib/plugin-icon-file.ts +0 -101
  1412. package/src/config/__tests__/default-profile-catalog.test.ts +0 -384
  1413. package/src/config/__tests__/default-provider.test.ts +0 -245
  1414. package/src/config/__tests__/loader-last-known-good.test.ts +0 -208
  1415. package/src/config/__tests__/loader-sparse-array-cleanup.test.ts +0 -145
  1416. package/src/config/__tests__/profile-materialization.test.ts +0 -297
  1417. package/src/config/__tests__/seed-default-provider.test.ts +0 -210
  1418. package/src/config/default-profile-catalog.ts +0 -481
  1419. package/src/config/default-profile-names.ts +0 -44
  1420. package/src/config/default-provider-resolution.ts +0 -33
  1421. package/src/config/default-provider.ts +0 -38
  1422. package/src/config/profile-materialization.ts +0 -151
  1423. package/src/config/schemas/__tests__/live-voice.test.ts +0 -108
  1424. package/src/config/schemas/live-voice.ts +0 -77
  1425. package/src/daemon/interrupted-turn-reconciler.ts +0 -134
  1426. package/src/daemon/persist-media-references.ts +0 -151
  1427. package/src/daemon/summarize-boundary.ts +0 -62
  1428. package/src/daemon/trust-context-types.ts +0 -61
  1429. package/src/home/suggested-prompts-cache.ts +0 -91
  1430. package/src/ipc/gateway-validated-call.ts +0 -32
  1431. package/src/ipc/routes/__tests__/contacts-mirror-merge-contact.test.ts +0 -197
  1432. package/src/ipc/routes/__tests__/contacts-mirror-upsert-full.test.ts +0 -368
  1433. package/src/ipc/routes/__tests__/guardian-label-ipc-routes.test.ts +0 -74
  1434. package/src/ipc/routes/guardian-label-ipc-routes.ts +0 -42
  1435. package/src/live-voice/__tests__/live-voice-credential-preflight.test.ts +0 -275
  1436. package/src/live-voice/__tests__/live-voice-session-preflight.test.ts +0 -156
  1437. package/src/live-voice/live-voice-credential-preflight.ts +0 -205
  1438. package/src/messaging/providers/slack/binding-metadata.test.ts +0 -63
  1439. package/src/monitoring/resource-sample-types.ts +0 -71
  1440. package/src/notifications/urgency.ts +0 -5
  1441. package/src/permissions/confirmation-canonical-request.ts +0 -118
  1442. package/src/permissions/secret-prompt-types.ts +0 -34
  1443. package/src/persistence/__tests__/bulk-write-gate.test.ts +0 -159
  1444. package/src/persistence/__tests__/immediate-transaction-guard.test.ts +0 -70
  1445. package/src/persistence/__tests__/message-content-file.test.ts +0 -259
  1446. package/src/persistence/bulk-write-gate.ts +0 -82
  1447. package/src/persistence/conversation-plugin-facade.ts +0 -190
  1448. package/src/persistence/embeddings/plugin-facade.ts +0 -37
  1449. package/src/persistence/llm-request-log-sink-clickhouse.ts +0 -325
  1450. package/src/persistence/llm-request-log-writer-types.ts +0 -80
  1451. package/src/persistence/message-content-file.ts +0 -297
  1452. package/src/persistence/migrations/321-canonical-guardian-request-trigger.ts +0 -27
  1453. package/src/persistence/migrations/322-add-processing-resume-attempts.ts +0 -31
  1454. package/src/persistence/migrations/323-delete-non-default-memory-scopes.test.ts +0 -148
  1455. package/src/persistence/migrations/323-delete-non-default-memory-scopes.ts +0 -35
  1456. package/src/persistence/migrations/324-message-finalized-column.ts +0 -26
  1457. package/src/persistence/migrations/325-create-config-setting-events.ts +0 -40
  1458. package/src/persistence/migrations/326-move-injection-events-to-memory-db.ts +0 -104
  1459. package/src/plugins/AGENTS.md +0 -19
  1460. package/src/plugins/__tests__/plugin-state-boundary-guard.test.ts +0 -65
  1461. package/src/plugins/defaults/image-fallback/__tests__/caption-cache-persistence.test.ts +0 -216
  1462. package/src/plugins/defaults/image-fallback/__tests__/vision-recovery.test.ts +0 -268
  1463. package/src/plugins/defaults/image-fallback/hooks/conversation-deleted.ts +0 -27
  1464. package/src/plugins/defaults/image-fallback/hooks/init.ts +0 -16
  1465. package/src/plugins/defaults/image-fallback/hooks/post-compact.ts +0 -52
  1466. package/src/plugins/defaults/image-fallback/hooks/post-model-call.ts +0 -80
  1467. package/src/plugins/defaults/image-fallback/hooks/shutdown.ts +0 -14
  1468. package/src/plugins/defaults/image-fallback/hooks/stop.ts +0 -23
  1469. package/src/plugins/defaults/image-fallback/src/recovery-state.ts +0 -49
  1470. package/src/plugins/defaults/image-fallback/src/vision-error.ts +0 -19
  1471. package/src/plugins/defaults/memory/__tests__/memory-retrospective-skill-card.test.ts +0 -926
  1472. package/src/plugins/defaults/memory/graph/tool-handlers.test.ts +0 -318
  1473. package/src/plugins/defaults/memory/graph-topology/__tests__/build-memory-graph.test.ts +0 -130
  1474. package/src/plugins/defaults/memory/graph-topology/build-memory-graph.ts +0 -303
  1475. package/src/plugins/defaults/memory/graph-topology/flag.ts +0 -14
  1476. package/src/plugins/defaults/memory/graph-topology/types.ts +0 -84
  1477. package/src/plugins/defaults/memory/host-utils.ts +0 -80
  1478. package/src/plugins/defaults/memory/identity-context.ts +0 -39
  1479. package/src/plugins/defaults/memory/logging.ts +0 -17
  1480. package/src/plugins/defaults/memory/memory-retrospective-accounting.ts +0 -143
  1481. package/src/plugins/defaults/memory/memory-retrospective-skill-card.ts +0 -448
  1482. package/src/plugins/defaults/memory/message-media.ts +0 -80
  1483. package/src/plugins/defaults/memory/paths.ts +0 -48
  1484. package/src/plugins/defaults/memory/routes/memory-graph-routes.ts +0 -71
  1485. package/src/plugins/defaults/memory/v2/harness/harness-types.ts +0 -12
  1486. package/src/providers/__tests__/preflight-resolved-config.test.ts +0 -189
  1487. package/src/providers/anthropic-gateway-shared.ts +0 -63
  1488. package/src/providers/content-block-schema.ts +0 -149
  1489. package/src/providers/inference/connection-availability.ts +0 -193
  1490. package/src/providers/media-resolve.ts +0 -193
  1491. package/src/providers/vercel-ai-gateway/client.ts +0 -142
  1492. package/src/runtime/__tests__/actor-trust-resolver.test.ts +0 -132
  1493. package/src/runtime/http-router-types.ts +0 -119
  1494. package/src/runtime/migrations/__tests__/origin-mode.test.ts +0 -62
  1495. package/src/runtime/routes/__tests__/default-provider-routes.test.ts +0 -499
  1496. package/src/runtime/routes/__tests__/inference-callsites-routes.test.ts +0 -54
  1497. package/src/runtime/routes/__tests__/inference-models-routes.test.ts +0 -54
  1498. package/src/runtime/routes/__tests__/inference-profiles-routes.test.ts +0 -403
  1499. package/src/runtime/routes/__tests__/inference-routes-registration.test.ts +0 -42
  1500. package/src/runtime/routes/__tests__/theme-routes.test.ts +0 -66
  1501. package/src/runtime/routes/canned-message-complete.ts +0 -82
  1502. package/src/runtime/routes/channel-metadata.ts +0 -49
  1503. package/src/runtime/routes/credential-request-routes.ts +0 -85
  1504. package/src/runtime/routes/default-provider-routes.ts +0 -132
  1505. package/src/runtime/routes/inbound-stages/reaction-intercept.test.ts +0 -302
  1506. package/src/runtime/routes/inference-callsites-routes.ts +0 -211
  1507. package/src/runtime/routes/inference-models-routes.ts +0 -104
  1508. package/src/runtime/routes/inference-profiles-routes.ts +0 -717
  1509. package/src/runtime/routes/integrations/slack/users.ts +0 -78
  1510. package/src/runtime/routes/llm-request-logs-access.ts +0 -19
  1511. package/src/runtime/routes/theme-routes.ts +0 -36
  1512. package/src/security/__tests__/secret-normalize.test.ts +0 -96
  1513. package/src/security/secret-normalize.ts +0 -41
  1514. package/src/skills/available-skills.ts +0 -134
  1515. package/src/telemetry/__tests__/config-setting-events-store.test.ts +0 -126
  1516. package/src/telemetry/config-setting-events-store.ts +0 -97
  1517. package/src/telemetry/tool-audit.ts +0 -285
  1518. package/src/telemetry/turn-outcome.ts +0 -116
  1519. package/src/theme/workspace-theme.test.ts +0 -269
  1520. package/src/theme/workspace-theme.ts +0 -304
  1521. package/src/tools/execution-target.test.ts +0 -31
  1522. package/src/tts/__tests__/pcm-chunk-aligner.test.ts +0 -48
  1523. package/src/tts/__tests__/pcm-sample-rates.test.ts +0 -59
  1524. package/src/tts/__tests__/speakable-segments.test.ts +0 -427
  1525. package/src/tts/pcm-chunk-aligner.ts +0 -29
  1526. package/src/tts/pcm-sample-rates.ts +0 -47
  1527. package/src/tts/providers/__tests__/xai-tts-socket.test.ts +0 -406
  1528. package/src/tts/providers/xai-tts-socket.ts +0 -311
  1529. package/src/tts/speakable-segments.ts +0 -188
  1530. package/src/tts/stream-read.ts +0 -136
  1531. package/src/util/provider-error-patterns.ts +0 -21
  1532. package/src/util/sqlite-query-label.ts +0 -51
  1533. package/src/watcher/__tests__/engine-auth-notify.test.ts +0 -316
  1534. package/src/workspace/custom-profile-ensure.ts +0 -133
  1535. package/src/workspace/default-provider-ensure.ts +0 -162
  1536. package/src/workspace/migrations/126-strip-managed-profile-bodies.ts +0 -92
  1537. package/src/workspace/migrations/127-backfill-default-provider.ts +0 -176
  1538. package/src/workspace/migrations/128-repair-stale-openrouter-grok-model-ids.ts +0 -112
  1539. package/src/workspace/migrations/129-remove-analyze-conversation-config.ts +0 -59
package/AGENTS.md CHANGED
@@ -2,7 +2,7 @@
2
2
 
3
3
  For error handling conventions (throw vs result objects vs null), see [docs/error-handling.md](docs/error-handling.md).
4
4
 
5
- Subdirectory-scoped rules live in local AGENTS.md files: `src/cli/`, `src/runtime/`, `src/approvals/`, `src/notifications/`, `src/plugins/`, `src/workspace/migrations/`.
5
+ Subdirectory-scoped rules live in local AGENTS.md files: `src/cli/`, `src/runtime/`, `src/approvals/`, `src/notifications/`, `src/workspace/migrations/`.
6
6
 
7
7
  ## Adding new environment variables
8
8
 
@@ -12,8 +12,6 @@ When you introduce a new env var that the assistant process needs to read at run
12
12
 
13
13
  **Default to including it.** If the var doesn't contain secrets (e.g. a URL, a feature flag, a path, a mode string), add it. Only omit it if it carries credential material (tokens, passwords, private keys) — those must stay isolated to CES.
14
14
 
15
- `CES_LOCAL_SOCKET` is intentionally included despite the socket exposing credential RPCs — assistant subprocesses are expected to reach CES. Credential protection is rules-based access control inside CES, not socket-path secrecy (see root `AGENTS.md`).
16
-
17
15
  ## Daemon startup philosophy
18
16
 
19
17
  The daemon must **never** block startup due to **subsystem** failures (DB, Qdrant, plugins, feature flags, etc.). If an individual subsystem fails, log the error and continue in degraded mode so the process remains reachable for health checks and diagnostics.
package/ARCHITECTURE.md CHANGED
@@ -98,8 +98,7 @@ All HTTP API requests use a single `Authorization: Bearer <jwt>` header for auth
98
98
  | `src/runtime/auth/route-policy.ts` | Route-level scope/principal enforcement |
99
99
  | `src/runtime/routes/guardian-bootstrap-routes.ts` | `POST /v1/guardian/init` (initial JWT issuance) |
100
100
  | `src/runtime/routes/guardian-refresh-routes.ts` | `POST /v1/guardian/refresh` (token rotation) |
101
- | `src/runtime/local-actor-identity.ts` | `resolveLocalAuthContext` — synthetic local AuthContext + guardian principal lookup |
102
- | `src/runtime/local-principal-trust.ts` | `resolveLocalPrincipalTrustContext` — local-principal trust from the gateway guardian binding |
101
+ | `src/runtime/local-actor-identity.ts` | `resolveLocalGuardianContext` — deterministic local identity |
103
102
  | `src/channels/channel-verification-sessions.ts` | Guardian binding types, verification session management |
104
103
 
105
104
  ### Channel-Agnostic Scoped Approval Grants
@@ -500,7 +499,7 @@ Voice invites use a short numeric code (6 digits) instead of a URL token. The gu
500
499
 
501
500
  **Call-time redemption subflow (`invite_redemption`):**
502
501
 
503
- 1. Unknown caller dials in. The media-stream server resolves trust from the gateway trust verdict (a missing/failed verdict denies fail-closed). Caller is `unknown`, no pending guardian challenge.
502
+ 1. Unknown caller dials in. The media-stream server resolves trust (gateway trust verdict first, `resolveActorTrust` fallback inside `routeSetup`). Caller is `unknown`, no pending guardian challenge.
504
503
  2. `routeSetup` asks the gateway for the active voice invite bound to the caller's phone number (`get_active_voice_invite` IPC via `calls/gateway-invite-reader.ts`; fail-soft — any gateway failure falls through to the unverified path).
505
504
  3. If an active, non-expired invite exists, the `CallSetupFlow` runs the `invite_redemption` sub-flow (collecting the code via DTMF or spoken digits) and prompts the caller with personalized copy: `Welcome <friend-name>. Please enter the 6-digit code that <guardian-name> provided you to verify your identity.`
506
505
  4. The gateway's `redeem_voice_invite` engine validates: identity match, code hash match, expiry, use count. On success, the phone channel is activated in the gateway ACL and the call transitions to the normal call flow.
@@ -537,7 +536,7 @@ The voice inbound security model determines how unknown callers are handled when
537
536
  Unknown caller dials in
538
537
  |
539
538
  v
540
- gateway trust verdict → trustClass
539
+ resolveActorTrust() → trustClass
541
540
  |
542
541
  ├── guardian / trusted_contact → normal call flow
543
542
  ├── blocked → immediate denial + disconnect
@@ -593,7 +592,7 @@ All guardian decisions for voice access requests flow through:
593
592
  | `src/runtime/access-request-helper.ts` | Creates canonical access request and notifies guardian |
594
593
  | `src/approvals/guardian-decision-primitive.ts` | `applyCanonicalGuardianDecision` — unified decision primitive |
595
594
  | `src/approvals/guardian-request-resolvers.ts` | `access_request` resolver — voice direct activation, text-channel verification session |
596
- | `src/runtime/trust-verdict-consumer.ts` | Gateway verdict → caller trust classification (`actorTrustContextFromVerdict`) |
595
+ | `src/runtime/actor-trust-resolver.ts` | `resolveActorTrust` — caller trust classification |
597
596
  | `src/contacts/canonical-guardian-store.ts` | Canonical request persistence and CAS resolution |
598
597
 
599
598
  ### Speech-to-Text (STT) Boundaries
@@ -735,7 +734,7 @@ The assistant-side live voice module is intentionally bounded under `src/live-vo
735
734
 
736
735
  Live voice STT uses the same `resolveStreamingTranscriber()` path as conversation streaming. For V1 latency-sensitive behavior, the selected `services.stt.provider` must resolve to a `daemon-streaming` transcriber whose catalog entry has `conversationStreamingMode: "realtime-ws"` and usable credentials. Providers that only support batch or incremental-batch transcription remain valid for other voice surfaces, but do not satisfy live voice's streaming STT requirement.
737
736
 
738
- Live voice TTS uses `streamLiveVoiceTtsAudio()` and the configured `services.tts.provider`. The selected provider must be registered, catalog-compatible, and expose `capabilities.supportsStreaming` plus `synthesizeStream()`. Providers whose catalog entry advertises `supportsStreaming` (currently all four catalog providers: ElevenLabs, Fish Audio, Deepgram, and xAI) satisfy this requirement; a buffered-only provider would remain available for buffered message playback or other supported surfaces, but live voice reports a TTS error instead of silently falling back to buffered playback.
737
+ Live voice TTS uses `streamLiveVoiceTtsAudio()` and the configured `services.tts.provider`. The selected provider must be registered, catalog-compatible, and expose `capabilities.supportsStreaming` plus `synthesizeStream()`. Fish Audio is the current catalog provider with streaming synthesis support; non-streaming providers remain available for buffered message playback or other supported surfaces, but live voice reports a TTS error instead of silently falling back to buffered playback.
739
738
 
740
739
  V1 is local/gateway-scoped. Managed/cloud WebSocket proxy support, cross-region routing, and p50/p95 latency guarantees are out of scope for this version. Metrics frames expose timing data for measurement, but the architecture does not promise a hard latency SLO.
741
740
 
@@ -786,7 +785,7 @@ Conversation starters follow the same pattern via `GET /v1/conversation-starters
786
785
 
787
786
  The assistant feature-flag resolver (`src/config/assistant-feature-flags.ts`) is the canonical module for determining whether an assistant feature flag is enabled. It loads default values from the unified registry at `meta/feature-flags/feature-flag-registry.json` (bundled copy at `src/config/feature-flag-registry.json`) and resolves the effective state for each declared assistant-scope flag. Assistant feature flags are declaration-driven assistant-scoped booleans that can gate any assistant behavior; skill availability is one consumer.
788
787
 
789
- **Canonical key format:** Simple kebab-case (e.g., `contacts`, `voice-mode`).
788
+ **Canonical key format:** Simple kebab-case (e.g., `contacts`, `ces-tools`).
790
789
 
791
790
  **Resolution priority** (highest wins):
792
791
 
@@ -814,7 +813,7 @@ The assistant feature-flag resolver (`src/config/assistant-feature-flags.ts`) is
814
813
 
815
814
  All six enforcement points derive the flag key via `skillFlagKey(skill)` — which returns `undefined` for ungated skills, short-circuiting the check — and then call `isAssistantFeatureFlagEnabled(flagKey, config)` for consistency.
816
815
 
817
- **Migration path:** The legacy `skills.<id>.enabled` and `feature_flags.<id>.enabled` key formats are no longer supported. All code must use simple kebab-case keys (e.g., `contacts`, `voice-mode`). Guard tests enforce canonical key usage and declaration coverage for literal key references in the unified registry.
816
+ **Migration path:** The legacy `skills.<id>.enabled` and `feature_flags.<id>.enabled` key formats are no longer supported. All code must use simple kebab-case keys (e.g., `contacts`, `ces-tools`). Guard tests enforce canonical key usage and declaration coverage for literal key references in the unified registry.
818
817
 
819
818
  **Key source files:**
820
819
 
@@ -857,10 +856,11 @@ graph LR
857
856
 
858
857
  subgraph "$VELLUM_WORKSPACE_DIR/data/db/assistant.db (SQLite + WAL)"
859
858
  direction TB
860
- CONV["conversations<br/>───────────────<br/>id, title, timestamps<br/>token counts, estimated cost<br/>context_summary (compaction)<br/>conversation_type: 'standard' | 'background' | 'scheduled'"]
859
+ CONV["conversations<br/>───────────────<br/>id, title, timestamps<br/>token counts, estimated cost<br/>context_summary (compaction)<br/>conversation_type: 'standard' | 'background' | 'scheduled'<br/>memory_scope_id: 'default' | '_pkb_workspace' | 'subagent:&lt;id&gt;'"]
861
860
  MSG["messages<br/>───────────────<br/>id, conversation_id (FK)<br/>role: user | assistant<br/>content: JSON array<br/>created_at"]
862
861
  TOOL["tool_invocations<br/>───────────────<br/>tool_name, input, result<br/>decision, risk_level<br/>duration_ms"]
863
862
  SEG["memory_segments<br/>───────────────<br/>Text chunks for retrieval<br/>Linked to messages<br/>token_estimate per segment"]
863
+ ITEMS["memory_items<br/>───────────────<br/>Extracted facts/entities<br/>kind, subject, statement<br/>confidence, fingerprint (dedup)<br/>verification_state, scope_id<br/>first/last seen timestamps"]
864
864
  SUM["memory_summaries<br/>───────────────<br/>scope: conversation | weekly<br/>Compressed history for context<br/>window management"]
865
865
  EMB["memory_embeddings<br/>───────────────<br/>target: segment | item | summary<br/>provider + model metadata<br/>vector_json (float array)<br/>Powers semantic search"]
866
866
  JOBS["memory_jobs<br/>───────────────<br/>Async task queue<br/>Types: embed, extract,<br/>summarize, backfill, cleanup<br/>Status: pending → running →<br/>completed | failed"]
package/README.md CHANGED
@@ -252,7 +252,7 @@ The channel guardian service generates verification challenge instructions with
252
252
  The vellum channel (macOS) uses JWTs to bind guardian identity to HTTP requests. This enables identity-based authentication for the local desktop channel, paralleling how external channels (Telegram) use `actorExternalId` for guardian identity. The CLI authenticates using its bearer token obtained during `hatch`.
253
253
 
254
254
  - **Bootstrap**: After hatch, the macOS client calls `POST /v1/guardian/init` with `{ platform, deviceId }`. Returns `{ guardianPrincipalId, accessToken, accessTokenExpiresAt, refreshToken, refreshTokenExpiresAt, refreshAfter, isNew }`. The endpoint is idempotent -- repeated calls with the same device return the same principal but mint fresh credentials. The CLI does not bootstrap separately; it uses the bearer token minted during `hatch`.
255
- - **Local identity**: Local connections get a server-side synthetic `AuthContext` via `resolveLocalAuthContext()` (`runtime/local-actor-identity.ts`) without requiring a JWT; trust derives from the gateway guardian binding via `resolveLocalPrincipalTrustContext()` (`runtime/local-principal-trust.ts`), failing closed to unknown.
255
+ - **Local identity**: Local connections resolve identity server-side via `resolveLocalGuardianContext()` without requiring a JWT.
256
256
  - **HTTP enforcement**: All vellum HTTP routes require a valid JWT via the `Authorization: Bearer <jwt>` header. The JWT carries identity claims (`sub` with principal type and ID) and scope permissions. Route-level enforcement in `route-policy.ts` checks scopes and principal types.
257
257
  - **Startup migration**: On gateway start, `ensureVellumGuardianBinding()` in `gateway/src/auth/guardian-bootstrap.ts` backfills a vellum guardian binding for existing installations so the identity system works without requiring a manual bootstrap step.
258
258
 
@@ -155,6 +155,7 @@ graph TB
155
155
  EMBED_Q["Generate dense + sparse<br/>query embeddings"]
156
156
  HYBRID["Hybrid Search<br/>dense + sparse RRF on Qdrant"]
157
157
  MERGE["Merge + Deduplicate<br/>weighted score combination"]
158
+ SCOPE["Scope Filter<br/>scope_id filtering<br/>(strict | global_fallback)<br/>Subagents: own scope + 'default'"]
158
159
  TIER["Tier Classification<br/>score > 0.8 → tier 1<br/>score > 0.6 → tier 2<br/>below → dropped"]
159
160
  STALE["Staleness Computation<br/>kind-specific lifetimes<br/>+ reinforcement from<br/>source conversation count"]
160
161
  DEMOTE["Stale Demotion<br/>very_stale tier 1 → tier 2"]
@@ -214,7 +215,8 @@ graph TB
214
215
  EMBED_Q --> SPARSE_GEN
215
216
  EMBED_Q --> HYBRID
216
217
  HYBRID --> RRF
217
- HYBRID --> MERGE
218
+ HYBRID --> SCOPE
219
+ SCOPE --> MERGE
218
220
  MERGE --> TIER
219
221
  TIER --> STALE
220
222
  STALE --> DEMOTE
@@ -34,15 +34,23 @@ For local single-user and development deployments, the assistant spawns CES as a
34
34
 
35
35
  For managed multi-tenant deployments, CES runs as a sidecar container in the same pod. Communication occurs over a **bootstrap Unix socket** mounted at a well-known path in a shared `emptyDir` volume. The sidecar starts independently and the assistant connects to the socket on startup.
36
36
 
37
- ## CES RPC Operations
37
+ ## CES Tools
38
38
 
39
- CES implements three credential-execution RPC operations. Credential values are materialized only inside the CES process (`credential-executor/` package); a caller sends credential handles and receives sanitized results, never plaintext secret material.
39
+ CES exposes exactly three tools to the assistant, registered as a **deliberate exception** to the skill-first tool direction (see `AGENTS.md` and `assistant/src/tools/AGENTS.md`). These tools are not skills because they require hard process-boundary isolation that skill scripts cannot provide.
40
40
 
41
- | Operation | Purpose |
42
- | ---------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
43
- | `run_authenticated_command` | Execute a shell command with credential environment variables injected by CES. The credential values are set in the CES process environment only — never transmitted to the caller. |
44
- | `make_authenticated_request` | Execute an HTTP request with credential-bearing headers/auth injected by CES. CES performs the HTTP call and returns the response body and status to the caller. |
45
- | `manage_secure_command_tool` | Register and manage secure command tool bundles in the CES toolstore. Handles bundle lifecycle (registration, unregistration) for manifest-driven credential-bearing commands. |
41
+ | Tool | Purpose |
42
+ | ---------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
43
+ | `run_authenticated_command` | Execute a shell command with credential environment variables injected by CES. The credential values are set in the CES process environment only — never transmitted to the assistant. |
44
+ | `make_authenticated_request` | Execute an HTTP request with credential-bearing headers/auth injected by CES. CES performs the HTTP call and returns the response body and status to the assistant. |
45
+ | `manage_secure_command_tool` | Register and manage secure command tool bundles in the CES toolstore. Handles bundle lifecycle (registration, unregistration) for manifest-driven credential-bearing commands. |
46
+
47
+ ### Tool registration
48
+
49
+ CES tools use the standard `class ... implements Tool` registration pattern. These are justified exceptions to the general preference for skills because:
50
+
51
+ - The security boundary requires that credential materialization happens in a separate process
52
+ - Skill scripts run inside the assistant process and cannot enforce the hard isolation invariant
53
+ - The tools are thin RPC stubs; the actual logic lives in the `credential-executor/` package
46
54
 
47
55
  ## Locked Decisions
48
56
 
@@ -217,13 +225,47 @@ These invariants are enforced by guard tests and code review:
217
225
 
218
226
  1. **No cross-package source imports**: `assistant/` must not import from `credential-executor/` and vice versa. Communication is RPC only. Shared types flow through `packages/` only.
219
227
  2. **No credential values in assistant process memory**: The assistant sends credential handles (not values) to CES. CES materializes and uses them internally.
220
- 3. **Credential-bearing execution goes through CES RPC**: operations that must materialize a credential run inside the CES process across the hard process boundary. All other credential use continues through the existing broker for local deployments.
228
+ 3. **CES tools justify tool registrations over skills** for credential-bearing execution because of the hard process-boundary isolation requirement. All other credential use continues through the existing broker for local deployments.
221
229
  4. **Grants and audit logs are CES-internal**: The assistant cannot read CES grant tables or audit logs directly. CES exposes grant status and audit summaries via RPC responses.
222
230
  5. **No generic authenticated HTTP clients in secure commands**: `curl`, `wget`, `httpie`, interpreters, and shell trampolines are structurally denied as secure command entrypoints. This is checked at manifest validation and re-checked at execution time.
223
231
  6. **Managed CES container runs as non-root**: The CES Docker image runs as `uid 1001` (user `ces`). The CES data volume is owned by this user.
224
232
  7. **Single active bootstrap connection**: In managed mode, CES accepts one connection on the bootstrap socket and unlinks the socket path while that connection is live, so no second process can connect concurrently. CES is a long-lived sidecar: when the active session ends (the assistant disconnects or its container restarts), CES re-binds the socket and awaits the assistant's reconnection rather than shutting down. At most one connection is ever active; the sidecar only exits on SIGTERM/SIGINT.
225
233
 
226
- ## Guarantees by deployment mode
234
+ ## Rollout
235
+
236
+ CES is rolled out incrementally via feature flags, all defaulting to `false` (off). The flags are ordered to allow progressive enablement without user-facing disruption.
237
+
238
+ ### Feature flag order
239
+
240
+ Enable flags in this order. Each flag is safe to enable independently, but later flags depend on earlier ones being on for meaningful behavior.
241
+
242
+ | Order | Flag | Gate | Safe to enable alone? |
243
+ | ----- | --------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------- |
244
+ | 1 | `ces-tools` | Register CES tools (`run_authenticated_command`, `make_authenticated_request`, `manage_secure_command_tool`) in the agent loop | Yes — tools register but are not invoked unless the agent discovers credentials that require CES |
245
+ | 2 | `ces-shell-lockdown` | Enforce shell lockdown for untrusted agents with CES-active credentials; direct shell access to credentialed services is denied | Yes — only activates when CES credentials are present |
246
+ | 3 | `ces-secure-install` | Route tool/command installation through CES secure bundle pipeline instead of direct shell | Yes — falls back to standard install if CES is unavailable |
247
+ | 4 | `ces-grant-audit` | Gate CLI execution of grant listing, grant revocation, and audit inspection commands (commands are always registered but check the flag at runtime) | Yes — read-only inspection surfaces |
248
+ | 5 | `ces-managed-sidecar` | Use managed sidecar transport (Unix socket) instead of local child-process transport | **No** — requires the CES sidecar container to be present in the pod template. Only enable after the sidecar image is deployed. |
249
+
250
+ ### Dark-launching the managed sidecar
251
+
252
+ To dark-launch CES in managed deployments without user impact:
253
+
254
+ 1. **Deploy the CES container image** via the `credential_executor_image` field in `POST /v1/internal/assistant-image-releases/`. The warm-pool manager picks it up and includes it in pod templates. The CES container starts, binds its bootstrap socket and health port (8090), but does nothing until an assistant connects.
255
+
256
+ 2. **Verify sidecar health** using kubelet probes: `/healthz` (liveness, returns `{"status": "ok"}`) and `/readyz` (readiness, always returns 200; includes `rpcConnected` field for observability).
257
+
258
+ 3. **Enable `ces-tools`** first on a test cohort. The assistant spawns a local CES child process and registers tools. Verify tool registration, grant creation, and audit logging work end-to-end without affecting existing workflows.
259
+
260
+ 4. **Enable `ces-managed-sidecar`** on the same cohort. The assistant switches from child-process transport to the bootstrap Unix socket. CES `/readyz` always returns 200 with `{"status": "ok", "rpcConnected": <boolean>}`; check the `rpcConnected` field to verify the assistant has connected.
261
+
262
+ 5. **Progressive rollout**: Widen the cohort by enabling flags on more assistants. Monitor for grant failures, materializer errors, and egress proxy issues.
263
+
264
+ ### Local deployment rollout
265
+
266
+ Local deployments do not require image changes. Enabling `ces-tools` causes the assistant to spawn CES as a child process automatically. The remaining flags can be enabled in any order.
267
+
268
+ ### Guarantees by deployment mode
227
269
 
228
270
  | Guarantee | Local | Managed |
229
271
  | ------------------------------------------ | ----------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------ |
@@ -234,6 +276,51 @@ These invariants are enforced by guard tests and code review:
234
276
  | Secret scrubbing in HTTP responses | Defense-in-depth only | Defense-in-depth only |
235
277
  | `host_bash` restriction | Policy-only (trust rules can deny, but the tool exists) | Policy-only (same; managed deployments should deny `host_bash` for untrusted agents) |
236
278
 
279
+ ## Rollback
280
+
281
+ ### Disabling CES entirely
282
+
283
+ Turn off all CES feature flags. The assistant stops registering CES tools and reverts to the pre-CES credential broker for all credential operations. No data migration is needed — CES grant and audit state is CES-private and does not affect the assistant's own tables.
284
+
285
+ Flag disable order:
286
+
287
+ > **Important — managed deployments**: In managed containers, the assistant image does not ship the `credential-executor` binary, so local CES transport is unavailable. Disabling `ces-managed-sidecar` while `ces-tools` is still enabled will break credentialed tool execution because the assistant cannot fall back to local discovery. Always disable `ces-tools` before `ces-managed-sidecar` in managed deployments.
288
+
289
+ **Local deployments** (reverse of enable order):
290
+
291
+ 1. `ces-managed-sidecar` — assistant reverts to local child-process transport
292
+ 2. `ces-grant-audit` — inspection surfaces disappear
293
+ 3. `ces-secure-install` — tool installation reverts to direct shell
294
+ 4. `ces-shell-lockdown` — shell lockdown is lifted
295
+ 5. `ces-tools` — CES tools are unregistered from the agent loop
296
+
297
+ **Managed deployments** (`ces-tools` must be disabled before the sidecar):
298
+
299
+ 1. `ces-grant-audit` — inspection surfaces disappear
300
+ 2. `ces-secure-install` — tool installation reverts to direct shell
301
+ 3. `ces-shell-lockdown` — shell lockdown is lifted
302
+ 4. `ces-tools` — CES tools are unregistered; assistant reverts to the pre-CES credential broker
303
+ 5. `ces-managed-sidecar` — sidecar transport is deactivated (safe now that no CES tools are registered)
304
+
305
+ ### Removing the managed sidecar
306
+
307
+ If the CES sidecar container causes pod scheduling issues or resource pressure:
308
+
309
+ 1. Disable `ces-tools` on all assistants first (prevents the assistant from attempting CES calls).
310
+ 2. Disable `ces-managed-sidecar` on all assistants.
311
+ 3. Remove the CES container and its volume mounts from the pod template in vembda.
312
+ 4. CES grant/audit data on the `/ces-data` volume is orphaned and can be cleaned up at convenience.
313
+
314
+ The assistant reverts to the pre-CES credential broker once `ces-tools` is disabled.
315
+
316
+ ### Partial rollback
317
+
318
+ Individual flags can be disabled independently:
319
+
320
+ - Disabling `ces-shell-lockdown` alone re-allows direct shell access to credentialed services while keeping CES tools available.
321
+ - Disabling `ces-grant-audit` alone removes inspection surfaces without affecting CES execution.
322
+ - Disabling `ces-secure-install` alone reverts tool installation to direct shell without affecting CES command execution.
323
+
237
324
  ## Residual Risks
238
325
 
239
326
  Risks that are acknowledged and accepted for v1, documented here so they are explicit rather than implied.