@vellumai/assistant 0.4.44 → 0.4.45

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 (681) hide show
  1. package/.prettierignore +4 -0
  2. package/ARCHITECTURE.md +34 -31
  3. package/README.md +4 -4
  4. package/bun.lock +10 -35
  5. package/docs/architecture/integrations.md +102 -197
  6. package/docs/architecture/keychain-broker.md +1 -1
  7. package/docs/architecture/memory.md +2 -2
  8. package/docs/architecture/scheduling.md +1 -1
  9. package/docs/architecture/security.md +11 -11
  10. package/docs/error-handling.md +1 -1
  11. package/docs/trusted-contact-access.md +3 -3
  12. package/drizzle/meta/0000_snapshot.json +34 -100
  13. package/drizzle/meta/_journal.json +1 -1
  14. package/drizzle.config.ts +4 -4
  15. package/package.json +3 -2
  16. package/scripts/capture-x-graphql.ts +237 -141
  17. package/scripts/generate-bundled-tool-registry.ts +223 -0
  18. package/src/__tests__/access-request-decision.test.ts +0 -1
  19. package/src/__tests__/actor-token-service.test.ts +23 -24
  20. package/src/__tests__/agent-loop.test.ts +0 -131
  21. package/src/__tests__/always-loaded-tools-guard.test.ts +71 -0
  22. package/src/__tests__/amazon-cdp-integration.test.ts +11 -9
  23. package/src/__tests__/approval-primitive.test.ts +0 -1
  24. package/src/__tests__/approval-routes-http.test.ts +11 -1
  25. package/src/__tests__/asset-materialize-tool.test.ts +0 -1
  26. package/src/__tests__/asset-search-tool.test.ts +0 -1
  27. package/src/__tests__/assistant-attachment-directive.test.ts +1 -1
  28. package/src/__tests__/assistant-events-sse-hardening.test.ts +0 -1
  29. package/src/__tests__/assistant-feature-flag-guardrails.test.ts +0 -2
  30. package/src/__tests__/assistant-feature-flags-integration.test.ts +70 -18
  31. package/src/__tests__/assistant-id-boundary-guard.test.ts +6 -6
  32. package/src/__tests__/attachments-store.test.ts +0 -1
  33. package/src/__tests__/avatar-e2e.test.ts +74 -115
  34. package/src/__tests__/avatar-router.test.ts +25 -62
  35. package/src/__tests__/browser-manager.test.ts +24 -0
  36. package/src/__tests__/browser-skill-baseline-tool-payload.test.ts +4 -3
  37. package/src/__tests__/browser-skill-endstate.test.ts +8 -11
  38. package/src/__tests__/btw-routes.test.ts +326 -0
  39. package/src/__tests__/bundled-skill-retrieval-guard.test.ts +23 -9
  40. package/src/__tests__/call-controller.test.ts +0 -1
  41. package/src/__tests__/call-conversation-messages.test.ts +0 -1
  42. package/src/__tests__/call-domain.test.ts +0 -1
  43. package/src/__tests__/call-pointer-messages.test.ts +0 -1
  44. package/src/__tests__/call-recovery.test.ts +0 -1
  45. package/src/__tests__/call-routes-http.test.ts +0 -1
  46. package/src/__tests__/call-store.test.ts +0 -1
  47. package/src/__tests__/canonical-guardian-store.test.ts +0 -1
  48. package/src/__tests__/channel-approval-routes.test.ts +1 -1
  49. package/src/__tests__/channel-approvals.test.ts +1 -1
  50. package/src/__tests__/channel-delivery-store.test.ts +0 -1
  51. package/src/__tests__/channel-guardian.test.ts +5 -7
  52. package/src/__tests__/channel-retry-sweep.test.ts +0 -1
  53. package/src/__tests__/checker.test.ts +4 -11
  54. package/src/__tests__/compaction.benchmark.test.ts +16 -14
  55. package/src/__tests__/computer-use-session-lifecycle.test.ts +10 -11
  56. package/src/__tests__/computer-use-session-working-dir.test.ts +2 -6
  57. package/src/__tests__/computer-use-skill-lifecycle-cleanup.test.ts +2 -5
  58. package/src/__tests__/computer-use-tools.test.ts +35 -31
  59. package/src/__tests__/config-schema.test.ts +11 -15
  60. package/src/__tests__/config-watcher.test.ts +0 -1
  61. package/src/__tests__/confirmation-request-guardian-bridge.test.ts +0 -1
  62. package/src/__tests__/conflict-store.test.ts +0 -1
  63. package/src/__tests__/connection-policy.test.ts +4 -7
  64. package/src/__tests__/contacts-tools.test.ts +0 -1
  65. package/src/__tests__/context-memory-e2e.test.ts +2 -4
  66. package/src/__tests__/context-overflow-reducer.test.ts +2 -4
  67. package/src/__tests__/context-window-manager.test.ts +147 -60
  68. package/src/__tests__/contradiction-checker.test.ts +0 -1
  69. package/src/__tests__/conversation-attention-store.test.ts +0 -1
  70. package/src/__tests__/conversation-attention-telegram.test.ts +1 -1
  71. package/src/__tests__/conversation-pairing.test.ts +2 -2
  72. package/src/__tests__/conversation-routes-guardian-reply.test.ts +25 -1
  73. package/src/__tests__/conversation-routes-slash-commands.test.ts +381 -0
  74. package/src/__tests__/conversation-store.test.ts +0 -1
  75. package/src/__tests__/conversation-unread-route.test.ts +1 -2
  76. package/src/__tests__/credential-security-invariants.test.ts +7 -8
  77. package/src/__tests__/cross-provider-web-search.test.ts +353 -0
  78. package/src/__tests__/daemon-assistant-events.test.ts +6 -7
  79. package/src/__tests__/db-schedule-syntax-migration.test.ts +15 -3
  80. package/src/__tests__/delete-managed-skill-tool.test.ts +5 -9
  81. package/src/__tests__/deterministic-verification-control-plane.test.ts +0 -1
  82. package/src/__tests__/diagnostics-export.test.ts +189 -0
  83. package/src/__tests__/dynamic-skill-workflow-prompt.test.ts +0 -1
  84. package/src/__tests__/emit-signal-routing-intent.test.ts +3 -3
  85. package/src/__tests__/entity-extractor.test.ts +0 -1
  86. package/src/__tests__/entity-search.test.ts +0 -1
  87. package/src/__tests__/ephemeral-permissions.test.ts +2 -4
  88. package/src/__tests__/file-read-tool.test.ts +86 -0
  89. package/src/__tests__/followup-tools.test.ts +0 -1
  90. package/src/__tests__/frontmatter.test.ts +77 -34
  91. package/src/__tests__/gateway-only-enforcement.test.ts +0 -1
  92. package/src/__tests__/gateway-only-guard.test.ts +1 -1
  93. package/src/__tests__/guardian-action-conversation-turn.test.ts +0 -1
  94. package/src/__tests__/guardian-action-followup-executor.test.ts +0 -1
  95. package/src/__tests__/guardian-action-followup-store.test.ts +0 -1
  96. package/src/__tests__/guardian-action-grant-mint-consume.test.ts +0 -1
  97. package/src/__tests__/guardian-action-late-reply.test.ts +0 -1
  98. package/src/__tests__/guardian-action-store.test.ts +0 -1
  99. package/src/__tests__/guardian-action-sweep.test.ts +0 -1
  100. package/src/__tests__/guardian-decision-primitive-canonical.test.ts +0 -1
  101. package/src/__tests__/guardian-dispatch.test.ts +1 -2
  102. package/src/__tests__/guardian-grant-minting.test.ts +1 -1
  103. package/src/__tests__/guardian-outbound-http.test.ts +0 -1
  104. package/src/__tests__/guardian-principal-id-roundtrip.test.ts +0 -1
  105. package/src/__tests__/guardian-routing-invariants.test.ts +1 -1
  106. package/src/__tests__/guardian-routing-state.test.ts +0 -1
  107. package/src/__tests__/guardian-verification-voice-binding.test.ts +0 -1
  108. package/src/__tests__/guardian-verify-setup-skill-regression.test.ts +3 -5
  109. package/src/__tests__/handlers-user-message-approval-consumption.test.ts +28 -426
  110. package/src/__tests__/host-bash-proxy.test.ts +335 -0
  111. package/src/__tests__/host-file-proxy.test.ts +374 -0
  112. package/src/__tests__/host-shell-tool.test.ts +147 -1
  113. package/src/__tests__/http-user-message-parity.test.ts +361 -0
  114. package/src/__tests__/inbound-invite-redemption.test.ts +0 -1
  115. package/src/__tests__/integration-status.test.ts +3 -8
  116. package/src/__tests__/intent-routing.test.ts +7 -46
  117. package/src/__tests__/invite-redemption-service.test.ts +0 -1
  118. package/src/__tests__/invite-routes-http.test.ts +0 -1
  119. package/src/__tests__/llm-usage-store.test.ts +0 -1
  120. package/src/__tests__/managed-avatar-client.test.ts +101 -55
  121. package/src/__tests__/managed-skill-lifecycle.test.ts +9 -18
  122. package/src/__tests__/managed-store.test.ts +94 -21
  123. package/src/__tests__/media-reuse-story.e2e.test.ts +0 -1
  124. package/src/__tests__/memory-context-benchmark.benchmark.test.ts +2 -4
  125. package/src/__tests__/memory-lifecycle-e2e.test.ts +0 -1
  126. package/src/__tests__/memory-recall-quality.test.ts +0 -1
  127. package/src/__tests__/memory-regressions.experimental.test.ts +0 -1
  128. package/src/__tests__/memory-regressions.test.ts +0 -1
  129. package/src/__tests__/memory-retrieval.benchmark.test.ts +0 -1
  130. package/src/__tests__/memory-upsert-concurrency.test.ts +0 -1
  131. package/src/__tests__/messaging-send-tool.test.ts +35 -0
  132. package/src/__tests__/messaging-skill-split.test.ts +138 -0
  133. package/src/__tests__/migration-cross-version-compatibility.test.ts +0 -1
  134. package/src/__tests__/migration-export-http.test.ts +2 -3
  135. package/src/__tests__/migration-import-commit-http.test.ts +1 -2
  136. package/src/__tests__/migration-import-preflight-http.test.ts +1 -2
  137. package/src/__tests__/migration-validate-http.test.ts +1 -2
  138. package/src/__tests__/native-web-search.test.ts +475 -0
  139. package/src/__tests__/navigate-settings-tab.test.ts +84 -0
  140. package/src/__tests__/non-member-access-request.test.ts +0 -1
  141. package/src/__tests__/notification-broadcaster.test.ts +15 -15
  142. package/src/__tests__/notification-decision-strategy.test.ts +6 -6
  143. package/src/__tests__/notification-deep-link.test.ts +7 -7
  144. package/src/__tests__/notification-guardian-path.test.ts +2 -3
  145. package/src/__tests__/notification-telegram-adapter.test.ts +1 -1
  146. package/src/__tests__/notification-thread-candidates.test.ts +4 -4
  147. package/src/__tests__/onboarding-starter-tasks.test.ts +0 -1
  148. package/src/__tests__/playbook-execution.test.ts +0 -1
  149. package/src/__tests__/playbook-tools.test.ts +0 -1
  150. package/src/__tests__/profile-compiler.test.ts +0 -1
  151. package/src/__tests__/provider-managed-proxy-integration.test.ts +25 -0
  152. package/src/__tests__/qdrant-collection-migration.test.ts +223 -0
  153. package/src/__tests__/recording-handler.test.ts +30 -94
  154. package/src/__tests__/registry.test.ts +28 -35
  155. package/src/__tests__/relay-server.test.ts +0 -1
  156. package/src/__tests__/ride-shotgun-handler.test.ts +4 -20
  157. package/src/__tests__/runtime-attachment-metadata.test.ts +0 -1
  158. package/src/__tests__/runtime-events-sse-parity.test.ts +3 -4
  159. package/src/__tests__/runtime-events-sse.test.ts +0 -1
  160. package/src/__tests__/sandbox-diagnostics.test.ts +0 -1
  161. package/src/__tests__/scaffold-managed-skill-tool.test.ts +30 -28
  162. package/src/__tests__/schedule-store.test.ts +441 -1
  163. package/src/__tests__/schedule-tools.test.ts +468 -7
  164. package/src/__tests__/scheduler-recurrence.test.ts +196 -23
  165. package/src/__tests__/scoped-approval-grants.test.ts +0 -1
  166. package/src/__tests__/scoped-grant-security-matrix.test.ts +0 -1
  167. package/src/__tests__/secret-prompt-log-hygiene.test.ts +6 -3
  168. package/src/__tests__/secret-response-routing.test.ts +4 -1
  169. package/src/__tests__/send-endpoint-busy.test.ts +14 -2
  170. package/src/__tests__/send-notification-tool.test.ts +0 -7
  171. package/src/__tests__/sequence-store.test.ts +0 -1
  172. package/src/__tests__/server-history-render.test.ts +1 -2
  173. package/src/__tests__/session-abort-tool-results.test.ts +0 -1
  174. package/src/__tests__/session-agent-loop.test.ts +46 -6
  175. package/src/__tests__/session-confirmation-signals.test.ts +0 -1
  176. package/src/__tests__/session-conflict-gate.test.ts +2 -6
  177. package/src/__tests__/session-error.test.ts +5 -14
  178. package/src/__tests__/session-init.benchmark.test.ts +3 -5
  179. package/src/__tests__/session-load-history-repair.test.ts +0 -1
  180. package/src/__tests__/session-media-retry.test.ts +12 -74
  181. package/src/__tests__/session-pre-run-repair.test.ts +0 -1
  182. package/src/__tests__/session-profile-injection.test.ts +2 -6
  183. package/src/__tests__/session-provider-retry-repair.test.ts +2 -6
  184. package/src/__tests__/session-queue.test.ts +94 -139
  185. package/src/__tests__/session-skill-tools.test.ts +115 -115
  186. package/src/__tests__/session-slash-known.test.ts +0 -1
  187. package/src/__tests__/session-slash-queue.test.ts +0 -1
  188. package/src/__tests__/session-slash-unknown.test.ts +0 -1
  189. package/src/__tests__/session-surfaces-task-progress.test.ts +34 -0
  190. package/src/__tests__/session-usage.test.ts +0 -1
  191. package/src/__tests__/session-workspace-cache-state.test.ts +2 -6
  192. package/src/__tests__/session-workspace-injection.test.ts +2 -6
  193. package/src/__tests__/session-workspace-tool-tracking.test.ts +2 -6
  194. package/src/__tests__/skill-feature-flags-integration.test.ts +180 -184
  195. package/src/__tests__/skill-feature-flags.test.ts +125 -18
  196. package/src/__tests__/skill-load-feature-flag.test.ts +1 -2
  197. package/src/__tests__/skill-load-tool.test.ts +194 -2
  198. package/src/__tests__/skill-projection-feature-flag.test.ts +27 -16
  199. package/src/__tests__/skill-projection.benchmark.test.ts +15 -14
  200. package/src/__tests__/skills.test.ts +14 -53
  201. package/src/__tests__/slack-channel-config.test.ts +0 -1
  202. package/src/__tests__/slack-inbound-verification.test.ts +0 -1
  203. package/src/__tests__/slack-skill.test.ts +1 -1
  204. package/src/__tests__/subagent-tools.test.ts +2 -2
  205. package/src/__tests__/system-prompt.test.ts +4 -3
  206. package/src/__tests__/task-compiler.test.ts +0 -1
  207. package/src/__tests__/task-management-tools.test.ts +0 -1
  208. package/src/__tests__/task-memory-cleanup.test.ts +0 -1
  209. package/src/__tests__/task-runner.test.ts +0 -1
  210. package/src/__tests__/task-scheduler.test.ts +0 -1
  211. package/src/__tests__/terminal-tools.test.ts +0 -1
  212. package/src/__tests__/test-support/computer-use-skill-harness.ts +2 -4
  213. package/src/__tests__/thread-seed-composer.test.ts +5 -5
  214. package/src/__tests__/tool-approval-handler.test.ts +0 -1
  215. package/src/__tests__/tool-execution-abort-cleanup.test.ts +0 -1
  216. package/src/__tests__/tool-execution-pipeline.benchmark.test.ts +0 -1
  217. package/src/__tests__/tool-executor.test.ts +8 -86
  218. package/src/__tests__/tool-grant-request-escalation.test.ts +0 -1
  219. package/src/__tests__/tool-notification-listener.test.ts +1 -1
  220. package/src/__tests__/tool-preview-lifecycle.test.ts +416 -0
  221. package/src/__tests__/trust-store.test.ts +80 -4
  222. package/src/__tests__/trusted-contact-approval-notifier.test.ts +0 -1
  223. package/src/__tests__/trusted-contact-inline-approval-integration.test.ts +0 -1
  224. package/src/__tests__/trusted-contact-lifecycle-notifications.test.ts +0 -1
  225. package/src/__tests__/trusted-contact-multichannel.test.ts +0 -1
  226. package/src/__tests__/trusted-contact-verification.test.ts +0 -1
  227. package/src/__tests__/twilio-provider.test.ts +0 -1
  228. package/src/__tests__/twilio-routes.test.ts +0 -1
  229. package/src/__tests__/{request-file-tool.test.ts → ui-file-upload-surface.test.ts} +11 -72
  230. package/src/__tests__/update-bulletin.test.ts +0 -1
  231. package/src/__tests__/usage-cache-backfill-migration.test.ts +0 -1
  232. package/src/__tests__/usage-routes.test.ts +0 -1
  233. package/src/__tests__/verification-control-plane-policy.test.ts +4 -4
  234. package/src/__tests__/voice-invite-redemption.test.ts +0 -1
  235. package/src/__tests__/voice-scoped-grant-consumer.test.ts +0 -1
  236. package/src/__tests__/voice-session-bridge.test.ts +9 -1
  237. package/src/__tests__/web-fetch.test.ts +57 -0
  238. package/src/__tests__/workspace-git-service.test.ts +5 -14
  239. package/src/__tests__/workspace-policy.test.ts +0 -1
  240. package/src/agent/loop.ts +22 -34
  241. package/src/bundler/bundle-signer.ts +4 -4
  242. package/src/calls/call-controller.ts +1 -1
  243. package/src/calls/relay-server.ts +1 -1
  244. package/src/calls/twilio-rest.ts +1 -1
  245. package/src/calls/voice-session-bridge.ts +3 -1
  246. package/src/cli/__tests__/notifications.test.ts +3 -4
  247. package/src/cli/commands/map.ts +2 -6
  248. package/src/cli/commands/mcp.ts +73 -15
  249. package/src/cli/commands/notifications.ts +4 -4
  250. package/src/cli/commands/sessions.ts +9 -1
  251. package/src/cli/commands/skills.ts +6 -10
  252. package/src/cli/http-client.ts +2 -3
  253. package/src/cli/main-screen.tsx +10 -10
  254. package/src/cli/program.ts +0 -4
  255. package/src/cli/reference.ts +0 -2
  256. package/src/cli.ts +15 -9
  257. package/src/config/__tests__/bundled-tool-registry-guard.test.ts +120 -0
  258. package/src/config/bundled-skills/_shared/CLI_RETRIEVAL_PATTERN.md +11 -0
  259. package/src/config/bundled-skills/app-builder/SKILL.md +6 -1
  260. package/src/config/bundled-skills/browser/SKILL.md +6 -1
  261. package/src/config/bundled-skills/chatgpt-import/SKILL.md +5 -1
  262. package/src/config/bundled-skills/claude-code/SKILL.md +5 -1
  263. package/src/config/bundled-skills/computer-use/SKILL.md +6 -1
  264. package/src/config/bundled-skills/computer-use/TOOLS.json +6 -69
  265. package/src/config/bundled-skills/computer-use/tools/computer-use-click.ts +10 -1
  266. package/src/config/bundled-skills/contacts/SKILL.md +10 -1
  267. package/src/config/bundled-skills/contacts/TOOLS.json +35 -0
  268. package/src/config/bundled-skills/{messaging → contacts}/tools/google-contacts.ts +9 -2
  269. package/src/config/bundled-skills/document/SKILL.md +4 -1
  270. package/src/config/bundled-skills/doordash/SKILL.md +8 -1
  271. package/src/config/bundled-skills/doordash/lib/shared/platform.ts +4 -1
  272. package/src/config/bundled-skills/followups/SKILL.md +4 -1
  273. package/src/config/bundled-skills/gmail/SKILL.md +180 -0
  274. package/src/config/bundled-skills/gmail/TOOLS.json +506 -0
  275. package/src/config/bundled-skills/gmail/tools/gmail-archive.ts +149 -0
  276. package/src/config/bundled-skills/gmail/tools/gmail-attachments.ts +110 -0
  277. package/src/config/bundled-skills/{messaging → gmail}/tools/gmail-draft.ts +1 -1
  278. package/src/config/bundled-skills/{messaging → gmail}/tools/gmail-filters.ts +1 -1
  279. package/src/config/bundled-skills/{messaging → gmail}/tools/gmail-follow-up.ts +1 -1
  280. package/src/config/bundled-skills/{messaging → gmail}/tools/gmail-forward.ts +1 -1
  281. package/src/config/bundled-skills/gmail/tools/gmail-label.ts +50 -0
  282. package/src/config/bundled-skills/{messaging → gmail}/tools/gmail-outreach-scan.ts +8 -90
  283. package/src/config/bundled-skills/{messaging → gmail}/tools/gmail-send-draft.ts +1 -1
  284. package/src/config/bundled-skills/{messaging → gmail}/tools/gmail-sender-digest.ts +2 -2
  285. package/src/config/bundled-skills/{messaging → gmail}/tools/gmail-trash.ts +1 -1
  286. package/src/config/bundled-skills/{messaging → gmail}/tools/gmail-unsubscribe.ts +1 -1
  287. package/src/config/bundled-skills/{messaging → gmail}/tools/gmail-vacation.ts +1 -1
  288. package/src/config/bundled-skills/gmail/tools/shared.ts +47 -0
  289. package/src/config/bundled-skills/google-calendar/SKILL.md +5 -1
  290. package/src/config/bundled-skills/image-studio/SKILL.md +5 -1
  291. package/src/config/bundled-skills/knowledge-graph/SKILL.md +4 -1
  292. package/src/config/bundled-skills/media-processing/SKILL.md +7 -13
  293. package/src/config/bundled-skills/media-processing/TOOLS.json +0 -22
  294. package/src/config/bundled-skills/media-processing/tools/generate-clip.ts +12 -1
  295. package/src/config/bundled-skills/messaging/SKILL.md +23 -139
  296. package/src/config/bundled-skills/messaging/TOOLS.json +33 -1215
  297. package/src/config/bundled-skills/messaging/tools/gmail-mime-helpers.ts +42 -0
  298. package/src/config/bundled-skills/messaging/tools/messaging-send.ts +165 -2
  299. package/src/config/bundled-skills/messaging/tools/messaging-sender-digest.ts +1 -13
  300. package/src/config/bundled-skills/messaging/tools/shared.ts +81 -34
  301. package/src/config/bundled-skills/notifications/SKILL.md +5 -1
  302. package/src/config/bundled-skills/orchestration/SKILL.md +30 -0
  303. package/src/config/bundled-skills/orchestration/TOOLS.json +35 -0
  304. package/src/config/bundled-skills/{reminder/tools/reminder-create.ts → orchestration/tools/swarm-delegate.ts} +3 -3
  305. package/src/config/bundled-skills/phone-calls/SKILL.md +9 -1
  306. package/src/config/bundled-skills/playbooks/SKILL.md +4 -1
  307. package/src/config/bundled-skills/schedule/SKILL.md +70 -9
  308. package/src/config/bundled-skills/schedule/TOOLS.json +38 -6
  309. package/src/config/bundled-skills/screen-watch/SKILL.md +28 -0
  310. package/src/config/bundled-skills/screen-watch/TOOLS.json +35 -0
  311. package/src/config/bundled-skills/{reminder/tools/reminder-cancel.ts → screen-watch/tools/start-screen-watch.ts} +3 -3
  312. package/src/config/bundled-skills/sequences/SKILL.md +47 -0
  313. package/src/config/bundled-skills/sequences/TOOLS.json +340 -0
  314. package/src/config/bundled-skills/sequences/tools/sequence-update.ts +128 -0
  315. package/src/config/bundled-skills/sequences/tools/shared.ts +9 -0
  316. package/src/config/bundled-skills/settings/SKILL.md +12 -0
  317. package/src/config/bundled-skills/settings/TOOLS.json +112 -0
  318. package/src/config/bundled-skills/settings/tools/navigate-settings-tab.ts +43 -0
  319. package/src/config/bundled-skills/settings/tools/open-system-settings.ts +52 -0
  320. package/src/config/bundled-skills/{computer-use/tools/computer-use-right-click.ts → settings/tools/set-avatar.ts} +2 -6
  321. package/src/{tools/system/voice-config.ts → config/bundled-skills/settings/tools/voice-config-update.ts} +59 -96
  322. package/src/config/bundled-skills/skill-management/SKILL.md +18 -0
  323. package/src/config/bundled-skills/skill-management/TOOLS.json +90 -0
  324. package/src/config/bundled-skills/{computer-use/tools/computer-use-double-click.ts → skill-management/tools/delete-managed.ts} +2 -6
  325. package/src/config/bundled-skills/skill-management/tools/scaffold-managed.ts +12 -0
  326. package/src/config/bundled-skills/slack/SKILL.md +5 -1
  327. package/src/config/bundled-skills/subagent/SKILL.md +4 -1
  328. package/src/config/bundled-skills/tasks/SKILL.md +5 -2
  329. package/src/config/bundled-skills/transcribe/SKILL.md +4 -1
  330. package/src/config/bundled-skills/watcher/SKILL.md +4 -1
  331. package/src/config/bundled-tool-registry.ts +118 -107
  332. package/src/config/env.ts +5 -2
  333. package/src/config/feature-flag-registry.json +25 -9
  334. package/src/config/loader.ts +10 -2
  335. package/src/config/schema.ts +19 -16
  336. package/src/config/schemas/inference.ts +12 -22
  337. package/src/config/schemas/memory-storage.ts +19 -1
  338. package/src/config/schemas/platform.ts +0 -16
  339. package/src/config/skill-state.ts +11 -8
  340. package/src/config/skills.ts +83 -32
  341. package/src/context/token-estimator.ts +11 -0
  342. package/src/context/window-manager.ts +180 -151
  343. package/src/daemon/computer-use-session.ts +11 -43
  344. package/src/daemon/daemon-control.ts +4 -1
  345. package/src/daemon/handlers/config-channels.ts +5 -9
  346. package/src/daemon/handlers/config-ingress.ts +0 -4
  347. package/src/daemon/handlers/config-model.ts +7 -13
  348. package/src/daemon/handlers/config-telegram.ts +4 -8
  349. package/src/daemon/handlers/config-voice.ts +2 -5
  350. package/src/daemon/handlers/dictation.ts +2 -12
  351. package/src/daemon/handlers/identity.ts +0 -105
  352. package/src/daemon/handlers/recording.ts +3 -23
  353. package/src/daemon/handlers/session-history.ts +1 -1
  354. package/src/daemon/handlers/sessions.ts +53 -72
  355. package/src/daemon/handlers/shared.ts +7 -28
  356. package/src/daemon/handlers/skills.ts +31 -27
  357. package/src/daemon/host-bash-proxy.ts +148 -0
  358. package/src/daemon/host-file-proxy.ts +135 -0
  359. package/src/daemon/lifecycle.ts +49 -24
  360. package/src/daemon/mcp-reload-service.ts +123 -0
  361. package/src/daemon/message-protocol.ts +6 -0
  362. package/src/daemon/message-types/browser.ts +1 -1
  363. package/src/daemon/message-types/computer-use.ts +1 -4
  364. package/src/daemon/message-types/guardian-actions.ts +1 -1
  365. package/src/daemon/message-types/host-bash.ts +18 -0
  366. package/src/daemon/message-types/host-file.ts +44 -0
  367. package/src/daemon/message-types/integrations.ts +1 -67
  368. package/src/daemon/message-types/messages.ts +15 -0
  369. package/src/daemon/message-types/schedules.ts +11 -27
  370. package/src/daemon/message-types/sessions.ts +2 -1
  371. package/src/daemon/message-types/settings.ts +1 -1
  372. package/src/daemon/message-types/shared.ts +1 -1
  373. package/src/daemon/ride-shotgun-handler.ts +2 -42
  374. package/src/daemon/server.ts +43 -10
  375. package/src/daemon/session-agent-loop-handlers.ts +48 -7
  376. package/src/daemon/session-agent-loop.ts +97 -66
  377. package/src/daemon/session-attachments.ts +1 -1
  378. package/src/daemon/session-error.ts +17 -16
  379. package/src/daemon/session-lifecycle.ts +20 -1
  380. package/src/daemon/session-media-retry.ts +1 -15
  381. package/src/daemon/session-messaging.ts +14 -6
  382. package/src/daemon/session-process.ts +36 -7
  383. package/src/daemon/session-queue-manager.ts +62 -103
  384. package/src/daemon/session-runtime-assembly.ts +27 -0
  385. package/src/daemon/session-skill-tools.ts +12 -11
  386. package/src/daemon/session-slash.ts +7 -0
  387. package/src/daemon/session-surfaces.ts +19 -97
  388. package/src/daemon/session-tool-setup.ts +146 -6
  389. package/src/daemon/session.ts +77 -13
  390. package/src/errors.ts +0 -2
  391. package/src/export/formatter.ts +6 -0
  392. package/src/mcp/mcp-oauth-provider.ts +1 -3
  393. package/src/media/avatar-router.ts +20 -28
  394. package/src/media/avatar-types.ts +7 -14
  395. package/src/media/managed-avatar-client.ts +70 -34
  396. package/src/memory/conversation-title-service.ts +1 -2
  397. package/src/memory/db-init.ts +16 -0
  398. package/src/memory/embedding-backend.ts +129 -27
  399. package/src/memory/embedding-gemini.test.ts +256 -0
  400. package/src/memory/embedding-gemini.ts +47 -13
  401. package/src/memory/embedding-local.ts +14 -2
  402. package/src/memory/embedding-ollama.ts +15 -2
  403. package/src/memory/embedding-openai.ts +15 -2
  404. package/src/memory/embedding-types.test.ts +116 -0
  405. package/src/memory/embedding-types.ts +61 -0
  406. package/src/memory/fingerprint.ts +1 -1
  407. package/src/memory/indexer.ts +25 -1
  408. package/src/memory/job-handlers/embedding.test.ts +258 -0
  409. package/src/memory/job-handlers/embedding.ts +81 -1
  410. package/src/memory/job-handlers/index-maintenance.ts +35 -1
  411. package/src/memory/job-handlers/media-processing.ts +11 -1
  412. package/src/memory/job-utils.ts +21 -6
  413. package/src/memory/jobs-store.ts +5 -1
  414. package/src/memory/jobs-worker.ts +8 -0
  415. package/src/memory/message-content.ts +66 -0
  416. package/src/memory/migrations/100-core-tables.ts +1 -31
  417. package/src/memory/migrations/104-core-indexes.ts +0 -11
  418. package/src/memory/migrations/145-drop-accounts-table.ts +19 -0
  419. package/src/memory/migrations/146-schedule-oneshot-routing.ts +94 -0
  420. package/src/memory/migrations/147-migrate-reminders-to-schedules.ts +129 -0
  421. package/src/memory/migrations/148-drop-reminders-table.ts +18 -0
  422. package/src/memory/migrations/index.ts +4 -0
  423. package/src/memory/migrations/registry.ts +19 -0
  424. package/src/memory/qdrant-client.ts +158 -43
  425. package/src/memory/retriever.test.ts +0 -1
  426. package/src/memory/retriever.ts +12 -2
  427. package/src/memory/schema/infrastructure.ts +5 -29
  428. package/src/memory/search/formatting.ts +34 -9
  429. package/src/memory/search/semantic.ts +57 -2
  430. package/src/memory/search/types.ts +2 -1
  431. package/src/notifications/AGENTS.md +2 -2
  432. package/src/notifications/README.md +59 -58
  433. package/src/notifications/adapters/macos.ts +1 -1
  434. package/src/notifications/broadcaster.ts +5 -5
  435. package/src/notifications/copy-composer.ts +1 -1
  436. package/src/notifications/decision-engine.ts +2 -2
  437. package/src/notifications/destination-resolver.ts +2 -2
  438. package/src/notifications/emit-signal.ts +8 -8
  439. package/src/notifications/signal.ts +1 -1
  440. package/src/notifications/thread-seed-composer.ts +1 -1
  441. package/src/oauth/connect-orchestrator.ts +1 -1
  442. package/src/oauth/token-persistence.ts +1 -1
  443. package/src/permissions/checker.ts +12 -1
  444. package/src/permissions/defaults.ts +10 -14
  445. package/src/permissions/trust-store.ts +37 -0
  446. package/src/permissions/workspace-policy.ts +0 -1
  447. package/src/prompts/__tests__/build-cli-reference-section.test.ts +11 -0
  448. package/src/prompts/computer-use-prompt.ts +1 -1
  449. package/src/prompts/system-prompt.ts +29 -30
  450. package/src/prompts/templates/SOUL.md +1 -2
  451. package/src/prompts/templates/UPDATES.md +16 -7
  452. package/src/providers/anthropic/client.ts +87 -33
  453. package/src/providers/gemini/client.ts +6 -0
  454. package/src/providers/managed-proxy/constants.ts +5 -0
  455. package/src/providers/openai/client.ts +15 -0
  456. package/src/providers/registry.ts +2 -2
  457. package/src/providers/types.ts +24 -2
  458. package/src/runtime/AGENTS.md +18 -0
  459. package/src/runtime/assistant-event-hub.ts +2 -3
  460. package/src/runtime/assistant-event.ts +4 -4
  461. package/src/runtime/auth/__tests__/context.test.ts +5 -5
  462. package/src/runtime/auth/__tests__/credential-service.test.ts +0 -1
  463. package/src/runtime/auth/__tests__/guard-tests.test.ts +2 -2
  464. package/src/runtime/auth/__tests__/{ipc-auth-context.test.ts → local-auth-context.test.ts} +21 -21
  465. package/src/runtime/auth/__tests__/route-policy.test.ts +2 -2
  466. package/src/runtime/auth/__tests__/scopes.test.ts +7 -7
  467. package/src/runtime/auth/__tests__/subject.test.ts +8 -8
  468. package/src/runtime/auth/__tests__/token-service.test.ts +0 -1
  469. package/src/runtime/auth/route-policy.ts +8 -4
  470. package/src/runtime/auth/scopes.ts +1 -1
  471. package/src/runtime/auth/subject.ts +4 -4
  472. package/src/runtime/auth/token-service.ts +0 -23
  473. package/src/runtime/auth/types.ts +3 -3
  474. package/src/runtime/guardian-action-followup-executor.ts +1 -1
  475. package/src/runtime/guardian-action-grant-minter.ts +1 -1
  476. package/src/runtime/guardian-action-service.ts +3 -3
  477. package/src/runtime/http-server.ts +15 -2
  478. package/src/runtime/invite-service.ts +3 -3
  479. package/src/runtime/local-actor-identity.ts +17 -22
  480. package/src/runtime/pending-interactions.ts +21 -9
  481. package/src/runtime/routes/app-management-routes.ts +2 -3
  482. package/src/runtime/routes/approval-routes.ts +1 -3
  483. package/src/runtime/routes/btw-routes.ts +155 -0
  484. package/src/runtime/routes/computer-use-routes.ts +77 -31
  485. package/src/runtime/routes/conversation-routes.ts +230 -46
  486. package/src/runtime/routes/diagnostics-routes.ts +63 -29
  487. package/src/runtime/routes/documents-routes.ts +2 -2
  488. package/src/runtime/routes/global-search-routes.ts +1 -1
  489. package/src/runtime/routes/host-bash-routes.ts +83 -0
  490. package/src/runtime/routes/host-file-routes.ts +79 -0
  491. package/src/runtime/routes/integrations/slack/share.ts +1 -1
  492. package/src/runtime/routes/log-export-routes.ts +120 -0
  493. package/src/runtime/routes/mcp-routes.ts +20 -0
  494. package/src/runtime/routes/migration-routes.ts +3 -3
  495. package/src/runtime/routes/pairing-routes.ts +1 -1
  496. package/src/runtime/routes/recording-routes.ts +6 -4
  497. package/src/runtime/routes/schedule-routes.ts +31 -5
  498. package/src/runtime/routes/session-management-routes.ts +2 -6
  499. package/src/runtime/routes/session-query-routes.ts +18 -15
  500. package/src/runtime/routes/settings-routes.ts +7 -261
  501. package/src/runtime/routes/skills-routes.ts +7 -6
  502. package/src/runtime/routes/subagents-routes.ts +4 -10
  503. package/src/runtime/routes/surface-action-routes.ts +3 -14
  504. package/src/runtime/routes/surface-content-routes.ts +22 -5
  505. package/src/runtime/routes/work-items-routes.ts +21 -25
  506. package/src/runtime/routes/workspace-routes.test.ts +3 -3
  507. package/src/runtime/routes/workspace-utils.ts +1 -1
  508. package/src/runtime/telegram-streaming-delivery.ts +3 -0
  509. package/src/runtime/verification-outbound-actions.ts +2 -2
  510. package/src/schedule/integration-status.ts +0 -6
  511. package/src/schedule/schedule-store.ts +234 -43
  512. package/src/schedule/scheduler.ts +73 -74
  513. package/src/security/oauth2.ts +1 -1
  514. package/src/sequence/store.ts +12 -2
  515. package/src/skills/frontmatter.ts +19 -77
  516. package/src/skills/managed-store.ts +11 -2
  517. package/src/subagent/manager.ts +5 -3
  518. package/src/tasks/ephemeral-permissions.ts +3 -5
  519. package/src/tools/AGENTS.md +0 -1
  520. package/src/tools/browser/browser-manager.ts +17 -11
  521. package/src/tools/browser/jit-auth.ts +4 -1
  522. package/src/tools/claude-code/claude-code.ts +1 -1
  523. package/src/tools/computer-use/definitions.ts +48 -60
  524. package/src/tools/document/document-tool.ts +6 -6
  525. package/src/tools/filesystem/edit.ts +2 -1
  526. package/src/tools/filesystem/read.ts +20 -2
  527. package/src/tools/filesystem/write.ts +2 -1
  528. package/src/tools/host-filesystem/edit.ts +17 -1
  529. package/src/tools/host-filesystem/read.ts +16 -1
  530. package/src/tools/host-filesystem/write.ts +15 -1
  531. package/src/tools/host-terminal/host-shell.ts +24 -0
  532. package/src/tools/memory/definitions.ts +45 -81
  533. package/src/tools/memory/handlers.test.ts +0 -1
  534. package/src/tools/memory/handlers.ts +1 -1
  535. package/src/tools/memory/register.ts +26 -60
  536. package/src/tools/network/script-proxy/session-manager.ts +6 -8
  537. package/src/tools/network/web-fetch.ts +7 -1
  538. package/src/tools/network/web-search.ts +2 -1
  539. package/src/tools/registry.ts +23 -0
  540. package/src/tools/schedule/create.ts +113 -5
  541. package/src/tools/schedule/list.ts +57 -15
  542. package/src/tools/schedule/update.ts +73 -3
  543. package/src/tools/shared/filesystem/image-read.ts +192 -0
  544. package/src/tools/side-effects.ts +1 -7
  545. package/src/tools/skills/delete-managed.ts +27 -64
  546. package/src/tools/skills/execute.ts +54 -0
  547. package/src/tools/skills/load.ts +127 -5
  548. package/src/tools/skills/scaffold-managed.ts +93 -172
  549. package/src/tools/subagent/message.ts +0 -7
  550. package/src/tools/subagent/spawn.ts +1 -1
  551. package/src/tools/swarm/delegate.ts +0 -3
  552. package/src/tools/system/avatar-generator.ts +13 -19
  553. package/src/tools/system/request-permission.ts +2 -1
  554. package/src/tools/terminal/safe-env.ts +1 -0
  555. package/src/tools/tool-manifest.ts +41 -47
  556. package/src/tools/types.ts +6 -2
  557. package/src/tools/ui-surface/definitions.ts +0 -55
  558. package/src/util/errors.ts +0 -10
  559. package/src/workspace/git-service.ts +0 -2
  560. package/src/__tests__/account-registry.test.ts +0 -258
  561. package/src/__tests__/email-classifier.test.ts +0 -25
  562. package/src/__tests__/gmail-integration.test.ts +0 -97
  563. package/src/__tests__/handle-user-message-secret-resume.test.ts +0 -172
  564. package/src/__tests__/managed-twitter-guardrails.test.ts +0 -357
  565. package/src/__tests__/recording-intent-fallback.test.ts +0 -199
  566. package/src/__tests__/recording-intent.test.ts +0 -985
  567. package/src/__tests__/recording-state-machine.test.ts +0 -1574
  568. package/src/__tests__/reminder-store.test.ts +0 -350
  569. package/src/__tests__/reminder.test.ts +0 -337
  570. package/src/__tests__/scan-result-store.test.ts +0 -121
  571. package/src/__tests__/twitter-platform-proxy-client.test.ts +0 -475
  572. package/src/__tests__/view-image-tool.test.ts +0 -241
  573. package/src/cli/commands/amazon/cart.ts +0 -513
  574. package/src/cli/commands/amazon/checkout.ts +0 -394
  575. package/src/cli/commands/amazon/client.ts +0 -513
  576. package/src/cli/commands/amazon/index.ts +0 -885
  577. package/src/cli/commands/amazon/product-details.ts +0 -145
  578. package/src/cli/commands/amazon/request-extractor.ts +0 -187
  579. package/src/cli/commands/amazon/search.ts +0 -76
  580. package/src/cli/commands/amazon/session.ts +0 -108
  581. package/src/cli/commands/twitter/__tests__/cli-read-routing.test.ts +0 -345
  582. package/src/cli/commands/twitter/__tests__/cli-routing.test.ts +0 -252
  583. package/src/cli/commands/twitter/__tests__/oauth-client.test.ts +0 -151
  584. package/src/cli/commands/twitter/index.ts +0 -420
  585. package/src/cli/commands/twitter/oauth-client.ts +0 -60
  586. package/src/cli/commands/twitter/router.ts +0 -351
  587. package/src/cli/commands/twitter/types.ts +0 -30
  588. package/src/config/bundled-skills/agentmail/SKILL.md +0 -132
  589. package/src/config/bundled-skills/agentmail/icon.svg +0 -21
  590. package/src/config/bundled-skills/amazon/SKILL.md +0 -136
  591. package/src/config/bundled-skills/amazon/icon.svg +0 -13
  592. package/src/config/bundled-skills/api-mapping/SKILL.md +0 -78
  593. package/src/config/bundled-skills/api-mapping/icon.svg +0 -18
  594. package/src/config/bundled-skills/cli-discover/SKILL.md +0 -68
  595. package/src/config/bundled-skills/deploy-fullstack-vercel/SKILL.md +0 -179
  596. package/src/config/bundled-skills/document-writer/SKILL.md +0 -195
  597. package/src/config/bundled-skills/elevenlabs-voice/SKILL.md +0 -140
  598. package/src/config/bundled-skills/email-setup/SKILL.md +0 -68
  599. package/src/config/bundled-skills/frontend-design/SKILL.md +0 -44
  600. package/src/config/bundled-skills/frontend-design/icon.svg +0 -16
  601. package/src/config/bundled-skills/google-oauth-setup/SKILL.md +0 -452
  602. package/src/config/bundled-skills/guardian-verify-setup/SKILL.md +0 -203
  603. package/src/config/bundled-skills/influencer/SKILL.md +0 -144
  604. package/src/config/bundled-skills/influencer/scripts/client.ts +0 -1269
  605. package/src/config/bundled-skills/influencer/scripts/influencer.ts +0 -267
  606. package/src/config/bundled-skills/macos-automation/SKILL.md +0 -65
  607. package/src/config/bundled-skills/macos-automation/icon.svg +0 -12
  608. package/src/config/bundled-skills/mcp-setup/SKILL.md +0 -75
  609. package/src/config/bundled-skills/media-processing/tools/media-diagnostics.ts +0 -184
  610. package/src/config/bundled-skills/messaging/tools/gmail-archive-by-query.ts +0 -80
  611. package/src/config/bundled-skills/messaging/tools/gmail-archive.ts +0 -29
  612. package/src/config/bundled-skills/messaging/tools/gmail-batch-archive.ts +0 -56
  613. package/src/config/bundled-skills/messaging/tools/gmail-batch-label.ts +0 -34
  614. package/src/config/bundled-skills/messaging/tools/gmail-download-attachment.ts +0 -47
  615. package/src/config/bundled-skills/messaging/tools/gmail-label.ts +0 -31
  616. package/src/config/bundled-skills/messaging/tools/gmail-list-attachments.ts +0 -67
  617. package/src/config/bundled-skills/messaging/tools/gmail-send-with-attachments.ts +0 -97
  618. package/src/config/bundled-skills/messaging/tools/gmail-summarize-thread.ts +0 -87
  619. package/src/config/bundled-skills/messaging/tools/gmail-triage.ts +0 -135
  620. package/src/config/bundled-skills/messaging/tools/messaging-analyze-activity.ts +0 -24
  621. package/src/config/bundled-skills/messaging/tools/messaging-reply.ts +0 -201
  622. package/src/config/bundled-skills/messaging/tools/send-notification.ts +0 -1
  623. package/src/config/bundled-skills/messaging/tools/sequence-cancel.ts +0 -27
  624. package/src/config/bundled-skills/messaging/tools/sequence-pause.ts +0 -48
  625. package/src/config/bundled-skills/messaging/tools/sequence-resume.ts +0 -27
  626. package/src/config/bundled-skills/messaging/tools/sequence-update.ts +0 -56
  627. package/src/config/bundled-skills/notion/SKILL.md +0 -240
  628. package/src/config/bundled-skills/notion-oauth-setup/SKILL.md +0 -126
  629. package/src/config/bundled-skills/oauth-setup/SKILL.md +0 -143
  630. package/src/config/bundled-skills/public-ingress/SKILL.md +0 -258
  631. package/src/config/bundled-skills/reminder/SKILL.md +0 -79
  632. package/src/config/bundled-skills/reminder/TOOLS.json +0 -89
  633. package/src/config/bundled-skills/reminder/tools/reminder-list.ts +0 -12
  634. package/src/config/bundled-skills/restaurant-reservation/SKILL.md +0 -141
  635. package/src/config/bundled-skills/screen-recording/SKILL.md +0 -148
  636. package/src/config/bundled-skills/self-upgrade/SKILL.md +0 -69
  637. package/src/config/bundled-skills/skills-catalog/SKILL.md +0 -78
  638. package/src/config/bundled-skills/slack-app-setup/SKILL.md +0 -178
  639. package/src/config/bundled-skills/slack-digest-setup/SKILL.md +0 -163
  640. package/src/config/bundled-skills/slack-oauth-setup/SKILL.md +0 -157
  641. package/src/config/bundled-skills/start-the-day/SKILL.md +0 -70
  642. package/src/config/bundled-skills/start-the-day/icon.svg +0 -13
  643. package/src/config/bundled-skills/telegram-setup/SKILL.md +0 -105
  644. package/src/config/bundled-skills/time-based-actions/SKILL.md +0 -142
  645. package/src/config/bundled-skills/twilio-setup/SKILL.md +0 -232
  646. package/src/config/bundled-skills/twitter/SKILL.md +0 -206
  647. package/src/config/bundled-skills/twitter/icon.svg +0 -14
  648. package/src/config/bundled-skills/typescript-eval/SKILL.md +0 -60
  649. package/src/config/bundled-skills/vercel-token-setup/SKILL.md +0 -214
  650. package/src/config/bundled-skills/voice-setup/SKILL.md +0 -131
  651. package/src/config/bundled-skills/voice-setup/icon.svg +0 -20
  652. package/src/daemon/handlers/pairing.ts +0 -119
  653. package/src/daemon/handlers/session-user-message.ts +0 -961
  654. package/src/daemon/recording-executor.ts +0 -180
  655. package/src/daemon/recording-intent-fallback.ts +0 -162
  656. package/src/daemon/recording-intent.ts +0 -493
  657. package/src/memory/account-store.ts +0 -117
  658. package/src/messaging/activity-analyzer.ts +0 -76
  659. package/src/messaging/email-classifier.ts +0 -208
  660. package/src/messaging/index.ts +0 -2
  661. package/src/messaging/outreach-classifier.ts +0 -185
  662. package/src/messaging/thread-summarizer.ts +0 -346
  663. package/src/messaging/types.ts +0 -17
  664. package/src/tools/browser/x-auto-navigate.ts +0 -254
  665. package/src/tools/credentials/account-registry.ts +0 -144
  666. package/src/tools/filesystem/view-image.ts +0 -244
  667. package/src/tools/reminder/reminder-store.ts +0 -194
  668. package/src/tools/reminder/reminder.ts +0 -158
  669. package/src/tools/system/navigate-settings.ts +0 -74
  670. package/src/tools/system/open-system-settings.ts +0 -85
  671. package/src/tools/system/version.ts +0 -54
  672. package/src/twitter/platform-proxy-client.ts +0 -408
  673. /package/src/config/bundled-skills/{messaging → gmail}/tools/scan-result-store.ts +0 -0
  674. /package/src/config/bundled-skills/{messaging → sequences}/tools/sequence-analytics.ts +0 -0
  675. /package/src/config/bundled-skills/{messaging → sequences}/tools/sequence-create.ts +0 -0
  676. /package/src/config/bundled-skills/{messaging → sequences}/tools/sequence-delete.ts +0 -0
  677. /package/src/config/bundled-skills/{messaging → sequences}/tools/sequence-enroll.ts +0 -0
  678. /package/src/config/bundled-skills/{messaging → sequences}/tools/sequence-enrollment-list.ts +0 -0
  679. /package/src/config/bundled-skills/{messaging → sequences}/tools/sequence-get.ts +0 -0
  680. /package/src/config/bundled-skills/{messaging → sequences}/tools/sequence-import.ts +0 -0
  681. /package/src/config/bundled-skills/{messaging → sequences}/tools/sequence-list.ts +0 -0
@@ -32,11 +32,8 @@ mock.module("../config/loader.js", () => ({
32
32
  contextWindow: {
33
33
  enabled: true,
34
34
  maxInputTokens: 180000,
35
- targetInputTokens: 110000,
36
- compactThreshold: 0.8,
37
- preserveRecentUserTurns: 8,
38
- summaryMaxTokens: 1200,
39
- chunkTokens: 12000,
35
+ targetBudgetRatio: 0.30,
36
+ compactThreshold: 0.8, summaryBudgetRatio: 0.05,
40
37
  },
41
38
  }),
42
39
  invalidateConfigCache: noop,
@@ -153,8 +150,8 @@ mock.module("node:fs", () => {
153
150
  import {
154
151
  __resetRecordingState,
155
152
  handleRecordingStart,
153
+ handleRecordingStatusCore,
156
154
  handleRecordingStop,
157
- recordingHandlers,
158
155
  } from "../daemon/handlers/recording.js";
159
156
  import type { HandlerContext } from "../daemon/handlers/shared.js";
160
157
  import type { RecordingStatus } from "../daemon/message-types/computer-use.js";
@@ -206,15 +203,11 @@ describe("handleRecordingStart", () => {
206
203
  mockFileSize = 1024;
207
204
  });
208
205
 
209
- test("sends recording_start IPC and returns a UUID", () => {
206
+ test("sends recording_start event and returns a UUID", () => {
210
207
  const { ctx, sent } = createCtx();
211
208
  const conversationId = "conv-1";
212
209
 
213
- const recordingId = handleRecordingStart(
214
- conversationId,
215
- undefined,
216
- ctx,
217
- );
210
+ const recordingId = handleRecordingStart(conversationId, undefined, ctx);
218
211
 
219
212
  expect(recordingId).not.toBeNull();
220
213
  // UUID v4 format
@@ -256,19 +249,11 @@ describe("handleRecordingStart", () => {
256
249
  test("returns null when a different conversation already has an active recording (global guard)", () => {
257
250
  const { ctx, sent } = createCtx();
258
251
 
259
- const id1 = handleRecordingStart(
260
- "conv-global-a",
261
- undefined,
262
- ctx,
263
- );
252
+ const id1 = handleRecordingStart("conv-global-a", undefined, ctx);
264
253
  expect(id1).toBeTruthy();
265
254
 
266
255
  // A second start from a different conversation should be rejected
267
- const id2 = handleRecordingStart(
268
- "conv-global-b",
269
- undefined,
270
- ctx,
271
- );
256
+ const id2 = handleRecordingStart("conv-global-b", undefined, ctx);
272
257
  expect(id2).toBeNull();
273
258
 
274
259
  // Only the first call sends recording_start
@@ -294,11 +279,7 @@ describe("handleRecordingStop", () => {
294
279
  const conversationId = "conv-stop-1";
295
280
 
296
281
  // Start a recording first
297
- const recordingId = handleRecordingStart(
298
- conversationId,
299
- undefined,
300
- ctx,
301
- );
282
+ const recordingId = handleRecordingStart(conversationId, undefined, ctx);
302
283
  expect(recordingId).not.toBeNull();
303
284
  sent.length = 0; // Clear the start message
304
285
 
@@ -353,7 +334,7 @@ describe("handleRecordingStop", () => {
353
334
  });
354
335
  });
355
336
 
356
- describe("recordingHandlers.recording_status", () => {
337
+ describe("handleRecordingStatusCore", () => {
357
338
  beforeEach(() => {
358
339
  __resetRecordingState();
359
340
  mockMessages.length = 0;
@@ -368,11 +349,7 @@ describe("recordingHandlers.recording_status", () => {
368
349
  const { ctx } = createCtx();
369
350
  const conversationId = "conv-status-1";
370
351
 
371
- const recordingId = handleRecordingStart(
372
- conversationId,
373
- undefined,
374
- ctx,
375
- );
352
+ const recordingId = handleRecordingStart(conversationId, undefined, ctx);
376
353
  expect(recordingId).not.toBeNull();
377
354
 
378
355
  const statusMsg: RecordingStatus = {
@@ -382,7 +359,7 @@ describe("recordingHandlers.recording_status", () => {
382
359
  };
383
360
 
384
361
  // Should not throw
385
- await recordingHandlers.recording_status(statusMsg, ctx);
362
+ await handleRecordingStatusCore(statusMsg, ctx);
386
363
  });
387
364
 
388
365
  test("handles stopped status with file — creates attachment and notifies client", async () => {
@@ -391,11 +368,7 @@ describe("recordingHandlers.recording_status", () => {
391
368
 
392
369
  // Bind socket
393
370
 
394
- const recordingId = handleRecordingStart(
395
- conversationId,
396
- undefined,
397
- ctx,
398
- );
371
+ const recordingId = handleRecordingStart(conversationId, undefined, ctx);
399
372
  expect(recordingId).not.toBeNull();
400
373
  sent.length = 0;
401
374
 
@@ -414,7 +387,7 @@ describe("recordingHandlers.recording_status", () => {
414
387
  durationMs: 5000,
415
388
  };
416
389
 
417
- await recordingHandlers.recording_status(statusMsg, ctx);
390
+ await handleRecordingStatusCore(statusMsg, ctx);
418
391
 
419
392
  // Should have sent assistant_text_delta and message_complete
420
393
  const textDeltas = sent.filter((m) => m.type === "assistant_text_delta");
@@ -442,12 +415,7 @@ describe("recordingHandlers.recording_status", () => {
442
415
  const { ctx, sent } = createCtx();
443
416
  const conversationId = "conv-status-no-msg";
444
417
 
445
-
446
- const recordingId = handleRecordingStart(
447
- conversationId,
448
- undefined,
449
- ctx,
450
- );
418
+ const recordingId = handleRecordingStart(conversationId, undefined, ctx);
451
419
  expect(recordingId).not.toBeNull();
452
420
  sent.length = 0;
453
421
 
@@ -461,7 +429,7 @@ describe("recordingHandlers.recording_status", () => {
461
429
  durationMs: 3000,
462
430
  };
463
431
 
464
- await recordingHandlers.recording_status(statusMsg, ctx);
432
+ await handleRecordingStatusCore(statusMsg, ctx);
465
433
 
466
434
  // An assistant message should have been created via addMessage mock
467
435
  expect(mockMessages.length).toBeGreaterThanOrEqual(1);
@@ -475,11 +443,7 @@ describe("recordingHandlers.recording_status", () => {
475
443
 
476
444
  mockFileExists = false;
477
445
 
478
- const recordingId = handleRecordingStart(
479
- conversationId,
480
- undefined,
481
- ctx,
482
- );
446
+ const recordingId = handleRecordingStart(conversationId, undefined, ctx);
483
447
  expect(recordingId).not.toBeNull();
484
448
  sent.length = 0;
485
449
 
@@ -492,7 +456,7 @@ describe("recordingHandlers.recording_status", () => {
492
456
  };
493
457
 
494
458
  // Should not throw — the handler logs the error and notifies the client
495
- await recordingHandlers.recording_status(statusMsg, ctx);
459
+ await handleRecordingStatusCore(statusMsg, ctx);
496
460
 
497
461
  // No attachment should have been created
498
462
  expect(mockAttachments.length).toBe(0);
@@ -514,11 +478,7 @@ describe("recordingHandlers.recording_status", () => {
514
478
  mockFileExists = true;
515
479
  mockFileSize = 0;
516
480
 
517
- const recordingId = handleRecordingStart(
518
- conversationId,
519
- undefined,
520
- ctx,
521
- );
481
+ const recordingId = handleRecordingStart(conversationId, undefined, ctx);
522
482
  expect(recordingId).not.toBeNull();
523
483
  sent.length = 0;
524
484
 
@@ -530,7 +490,7 @@ describe("recordingHandlers.recording_status", () => {
530
490
  durationMs: 2000,
531
491
  };
532
492
 
533
- await recordingHandlers.recording_status(statusMsg, ctx);
493
+ await handleRecordingStatusCore(statusMsg, ctx);
534
494
 
535
495
  // No attachment should have been created for a zero-length file
536
496
  expect(mockAttachments.length).toBe(0);
@@ -559,11 +519,7 @@ describe("recordingHandlers.recording_status", () => {
559
519
  mockFileExists = true;
560
520
  mockFileSize = 4096;
561
521
 
562
- const recordingId = handleRecordingStart(
563
- conversationId,
564
- undefined,
565
- ctx,
566
- );
522
+ const recordingId = handleRecordingStart(conversationId, undefined, ctx);
567
523
  expect(recordingId).not.toBeNull();
568
524
  sent.length = 0;
569
525
 
@@ -575,7 +531,7 @@ describe("recordingHandlers.recording_status", () => {
575
531
  durationMs: 5000,
576
532
  };
577
533
 
578
- await recordingHandlers.recording_status(statusMsg, ctx);
534
+ await handleRecordingStatusCore(statusMsg, ctx);
579
535
 
580
536
  // Attachment should have been created
581
537
  expect(mockAttachments.length).toBe(1);
@@ -600,11 +556,7 @@ describe("recordingHandlers.recording_status", () => {
600
556
  mockFileExists = true;
601
557
  mockFileSize = 4096;
602
558
 
603
- const recordingId = handleRecordingStart(
604
- conversationId,
605
- undefined,
606
- ctx,
607
- );
559
+ const recordingId = handleRecordingStart(conversationId, undefined, ctx);
608
560
  expect(recordingId).not.toBeNull();
609
561
  sent.length = 0;
610
562
 
@@ -616,7 +568,7 @@ describe("recordingHandlers.recording_status", () => {
616
568
  durationMs: 5000,
617
569
  };
618
570
 
619
- await recordingHandlers.recording_status(statusMsg, ctx);
571
+ await handleRecordingStatusCore(statusMsg, ctx);
620
572
 
621
573
  // No attachment should have been created — path is outside allowlist
622
574
  expect(mockAttachments.length).toBe(0);
@@ -637,12 +589,7 @@ describe("recordingHandlers.recording_status", () => {
637
589
  const { ctx, sent } = createCtx();
638
590
  const conversationId = "conv-status-fail-final";
639
591
 
640
-
641
- const recordingId = handleRecordingStart(
642
- conversationId,
643
- undefined,
644
- ctx,
645
- );
592
+ const recordingId = handleRecordingStart(conversationId, undefined, ctx);
646
593
  expect(recordingId).not.toBeNull();
647
594
  sent.length = 0;
648
595
 
@@ -654,7 +601,7 @@ describe("recordingHandlers.recording_status", () => {
654
601
  error: "Video writer finished with non-completed status 3",
655
602
  };
656
603
 
657
- await recordingHandlers.recording_status(statusMsg, ctx);
604
+ await handleRecordingStatusCore(statusMsg, ctx);
658
605
 
659
606
  // No attachment should have been created
660
607
  expect(mockAttachments.length).toBe(0);
@@ -676,12 +623,7 @@ describe("recordingHandlers.recording_status", () => {
676
623
  const { ctx, sent } = createCtx();
677
624
  const conversationId = "conv-status-failed";
678
625
 
679
-
680
- const recordingId = handleRecordingStart(
681
- conversationId,
682
- undefined,
683
- ctx,
684
- );
626
+ const recordingId = handleRecordingStart(conversationId, undefined, ctx);
685
627
  expect(recordingId).not.toBeNull();
686
628
  sent.length = 0;
687
629
 
@@ -692,7 +634,7 @@ describe("recordingHandlers.recording_status", () => {
692
634
  error: "Permission denied",
693
635
  };
694
636
 
695
- await recordingHandlers.recording_status(statusMsg, ctx);
637
+ await handleRecordingStatusCore(statusMsg, ctx);
696
638
 
697
639
  // Should send error notification
698
640
  const textDeltas = sent.filter((m) => m.type === "assistant_text_delta");
@@ -708,12 +650,7 @@ describe("recordingHandlers.recording_status", () => {
708
650
  const { ctx, sent } = createCtx();
709
651
  const conversationId = "conv-status-failed-no-err";
710
652
 
711
-
712
- const recordingId = handleRecordingStart(
713
- conversationId,
714
- undefined,
715
- ctx,
716
- );
653
+ const recordingId = handleRecordingStart(conversationId, undefined, ctx);
717
654
  expect(recordingId).not.toBeNull();
718
655
  sent.length = 0;
719
656
 
@@ -723,7 +660,7 @@ describe("recordingHandlers.recording_status", () => {
723
660
  status: "failed",
724
661
  };
725
662
 
726
- await recordingHandlers.recording_status(statusMsg, ctx);
663
+ await handleRecordingStatusCore(statusMsg, ctx);
727
664
 
728
665
  const textDeltas = sent.filter((m) => m.type === "assistant_text_delta");
729
666
  expect(textDeltas.length).toBeGreaterThanOrEqual(1);
@@ -734,7 +671,6 @@ describe("recordingHandlers.recording_status", () => {
734
671
  const { ctx, sent } = createCtx();
735
672
  const conversationId = "conv-fallback";
736
673
 
737
-
738
674
  // Send a recording_status directly with attachToConversationId
739
675
  // without having started a recording through handleRecordingStart
740
676
  const statusMsg: RecordingStatus = {
@@ -746,7 +682,7 @@ describe("recordingHandlers.recording_status", () => {
746
682
  };
747
683
 
748
684
  // Should not throw — uses attachToConversationId as fallback
749
- await recordingHandlers.recording_status(statusMsg, ctx);
685
+ await handleRecordingStatusCore(statusMsg, ctx);
750
686
 
751
687
  const textDeltas = sent.filter((m) => m.type === "assistant_text_delta");
752
688
  expect(textDeltas.length).toBeGreaterThanOrEqual(1);
@@ -128,33 +128,24 @@ describe("tool registry host tools", () => {
128
128
  });
129
129
 
130
130
  describe("tool registry dynamic-tools tools", () => {
131
- test("registers scaffold, delete, and skill_load tools", async () => {
131
+ test("registers skill_load tool", async () => {
132
132
  await initializeTools();
133
133
 
134
- const dynamicToolNames = [
135
- "scaffold_managed_skill",
136
- "delete_managed_skill",
137
- "skill_load",
138
- ] as const;
139
-
140
- for (const toolName of dynamicToolNames) {
141
- const tool = getTool(toolName);
142
- expect(tool).toBeDefined();
143
- }
134
+ const tool = getTool("skill_load");
135
+ expect(tool).toBeDefined();
144
136
 
145
137
  const definitionNames = getAllToolDefinitions().map((def) => def.name);
146
- for (const toolName of dynamicToolNames) {
147
- expect(definitionNames).toContain(toolName);
148
- }
138
+ expect(definitionNames).toContain("skill_load");
149
139
  });
150
140
 
151
- test("scaffold and delete are registered as High risk", async () => {
141
+ test("scaffold and delete are NOT in the core tool registry (moved to bundled skill)", async () => {
152
142
  await initializeTools();
153
- for (const name of ["scaffold_managed_skill", "delete_managed_skill"]) {
154
- const tool = getTool(name);
155
- expect(tool).toBeDefined();
156
- expect(tool?.defaultRiskLevel).toBe(RiskLevel.High);
157
- }
143
+ // scaffold_managed_skill and delete_managed_skill moved to the
144
+ // skill-management bundled skill — they are no longer registered as core
145
+ // tools. Their High risk classification is handled by classifyRisk() in
146
+ // checker.ts so security behavior is preserved.
147
+ expect(getTool("scaffold_managed_skill")).toBeUndefined();
148
+ expect(getTool("delete_managed_skill")).toBeUndefined();
158
149
  });
159
150
 
160
151
  test("skill_load is registered as Low risk", async () => {
@@ -176,29 +167,30 @@ describe("tool manifest", () => {
176
167
  });
177
168
 
178
169
  test("manifest declares expected core lazy tools", () => {
179
- // bash and swarm_delegate moved from lazy to eager registration
170
+ // bash moved from lazy to eager registration
171
+ // swarm_delegate moved to the orchestration bundled skill
180
172
  const lazyNames = new Set(lazyTools.map((t) => t.name));
181
173
  expect(lazyNames.has("bash")).toBe(false);
182
174
  expect(lazyNames.has("evaluate_typescript_code")).toBe(false);
183
175
  expect(lazyNames.has("claude_code")).toBe(false);
184
176
  expect(lazyNames.has("swarm_delegate")).toBe(false);
185
- // Verify they are in eager tools instead
177
+ // bash is in eager tools; swarm_delegate is now a bundled skill tool
186
178
  expect(eagerModuleToolNames).toContain("bash");
187
- expect(eagerModuleToolNames).toContain("swarm_delegate");
179
+ expect(eagerModuleToolNames).not.toContain("swarm_delegate");
180
+ expect(eagerModuleToolNames).not.toContain("version");
188
181
  });
189
182
 
190
183
  test("eager module tool names list contains expected count", () => {
191
- expect(eagerModuleToolNames.length).toBe(15);
184
+ expect(eagerModuleToolNames.length).toBe(11);
192
185
  });
193
186
 
194
- test("explicit tools list includes memory, credential, and watch tools", () => {
187
+ test("explicit tools list includes memory and credential tools", () => {
195
188
  const names = explicitTools.map((t) => t.name);
196
189
  expect(names).toContain("memory_recall");
197
- expect(names).toContain("memory_save");
198
- expect(names).toContain("memory_update");
190
+ expect(names).toContain("memory_manage");
199
191
  expect(names).toContain("credential_store");
200
- expect(names).toContain("account_manage");
201
- expect(names).toContain("start_screen_watch");
192
+ // start_screen_watch moved to the screen-watch bundled skill
193
+ expect(names).not.toContain("start_screen_watch");
202
194
  });
203
195
 
204
196
  test("registered tool count is at least eager + lazy + host", async () => {
@@ -211,6 +203,11 @@ describe("tool manifest", () => {
211
203
  });
212
204
 
213
205
  describe("baseline characterization: hardcoded tool loading", () => {
206
+ test("version is NOT registered in the global registry after initializeTools()", async () => {
207
+ await initializeTools();
208
+ expect(getTool("version")).toBeUndefined();
209
+ });
210
+
214
211
  test("gmail tools are NOT registered in the global registry after initializeTools()", async () => {
215
212
  await initializeTools();
216
213
  const allTools = getAllTools();
@@ -223,9 +220,7 @@ describe("baseline characterization: hardcoded tool loading", () => {
223
220
  "gmail_mark_read",
224
221
  "gmail_draft",
225
222
  "gmail_archive",
226
- "gmail_batch_archive",
227
223
  "gmail_label",
228
- "gmail_batch_label",
229
224
  "gmail_trash",
230
225
  "gmail_send",
231
226
  "gmail_unsubscribe",
@@ -243,9 +238,7 @@ describe("baseline characterization: hardcoded tool loading", () => {
243
238
  "gmail_mark_read",
244
239
  "gmail_draft",
245
240
  "gmail_archive",
246
- "gmail_batch_archive",
247
241
  "gmail_label",
248
- "gmail_batch_label",
249
242
  "gmail_trash",
250
243
  "gmail_send",
251
244
  "gmail_unsubscribe",
@@ -517,7 +510,7 @@ describe("computer-use registration split", () => {
517
510
  // Start each test from a completely empty registry so assertions are
518
511
  // non-vacuous — the split functions must actually register tools.
519
512
 
520
- test("registerComputerUseActionTools registers all 12 CU action tools and nothing else", async () => {
513
+ test("registerComputerUseActionTools registers all 10 CU action tools and nothing else", async () => {
521
514
  const { registerComputerUseActionTools } =
522
515
  await import("../tools/computer-use/registry.js");
523
516
 
@@ -527,7 +520,7 @@ describe("computer-use registration split", () => {
527
520
  registerComputerUseActionTools();
528
521
 
529
522
  const registered = getAllTools();
530
- expect(registered).toHaveLength(12);
523
+ expect(registered).toHaveLength(10);
531
524
  expect(registered.every((t) => t.name.startsWith("computer_use_"))).toBe(
532
525
  true,
533
526
  );
@@ -40,7 +40,6 @@ mock.module("../util/platform.js", () => ({
40
40
  isMacOS: () => process.platform === "darwin",
41
41
  isLinux: () => process.platform === "linux",
42
42
  isWindows: () => process.platform === "win32",
43
- getSocketPath: () => join(testDir, "test.sock"),
44
43
  getPidPath: () => join(testDir, "test.pid"),
45
44
  getDbPath: () => join(testDir, "test.db"),
46
45
  getLogPath: () => join(testDir, "test.log"),
@@ -73,10 +73,6 @@ mock.module("../tools/browser/auto-navigate.js", () => ({
73
73
  autoNavigate: async () => [],
74
74
  }));
75
75
 
76
- mock.module("../tools/browser/x-auto-navigate.js", () => ({
77
- navigateXPages: async () => [],
78
- }));
79
-
80
76
  mock.module("../util/logger.js", () => ({
81
77
  getLogger: () => ({
82
78
  info: () => {},
@@ -248,10 +244,7 @@ describe("ride-shotgun-handler", () => {
248
244
 
249
245
  // Find the session and stop it
250
246
  const watchId = [...watchSessions.keys()][0]!;
251
- await handleRideShotgunStop(
252
- { type: "ride_shotgun_stop", watchId },
253
- ctx,
254
- );
247
+ await handleRideShotgunStop({ type: "ride_shotgun_stop", watchId }, ctx);
255
248
 
256
249
  expect(mockMinimizeCalled).toBe(true);
257
250
  expect(mockMinimizeBaseUrl).toBe("http://localhost:9222");
@@ -282,10 +275,7 @@ describe("ride-shotgun-handler", () => {
282
275
 
283
276
  // Find the session and stop it
284
277
  const watchId = [...watchSessions.keys()][0]!;
285
- await handleRideShotgunStop(
286
- { type: "ride_shotgun_stop", watchId },
287
- ctx,
288
- );
278
+ await handleRideShotgunStop({ type: "ride_shotgun_stop", watchId }, ctx);
289
279
 
290
280
  expect(mockMinimizeCalled).toBe(false);
291
281
  });
@@ -311,10 +301,7 @@ describe("ride-shotgun-handler", () => {
311
301
 
312
302
  // Clean up
313
303
  const watchId = [...watchSessions.keys()][0]!;
314
- await handleRideShotgunStop(
315
- { type: "ride_shotgun_stop", watchId },
316
- ctx,
317
- );
304
+ await handleRideShotgunStop({ type: "ride_shotgun_stop", watchId }, ctx);
318
305
  });
319
306
 
320
307
  test("sends watch_started message with session IDs", async () => {
@@ -342,10 +329,7 @@ describe("ride-shotgun-handler", () => {
342
329
 
343
330
  // Clean up
344
331
  const watchId = startMsg.watchId;
345
- await handleRideShotgunStop(
346
- { type: "ride_shotgun_stop", watchId },
347
- ctx,
348
- );
332
+ await handleRideShotgunStop({ type: "ride_shotgun_stop", watchId }, ctx);
349
333
  });
350
334
 
351
335
  test("sends ride_shotgun_error when ensureChromeWithCdp fails", async () => {
@@ -22,7 +22,6 @@ mock.module("../util/platform.js", () => ({
22
22
  isMacOS: () => process.platform === "darwin",
23
23
  isLinux: () => process.platform === "linux",
24
24
  isWindows: () => process.platform === "win32",
25
- getSocketPath: () => join(testDir, "test.sock"),
26
25
  getPidPath: () => join(testDir, "test.pid"),
27
26
  getDbPath: () => join(testDir, "test.db"),
28
27
  getLogPath: () => join(testDir, "test.log"),
@@ -1,7 +1,7 @@
1
1
  /**
2
- * IPC parity tests for the SSE assistant-events endpoint.
2
+ * HTTP parity tests for the SSE assistant-events endpoint.
3
3
  *
4
- * Asserts that every streaming/delta IPC ServerMessage type is preserved
4
+ * Asserts that every streaming/delta ServerMessage type is preserved
5
5
  * exactly — field-for-field — when delivered through the SSE route.
6
6
  *
7
7
  * Message types covered:
@@ -30,7 +30,6 @@ mock.module("../util/platform.js", () => ({
30
30
  isMacOS: () => process.platform === "darwin",
31
31
  isLinux: () => process.platform === "linux",
32
32
  isWindows: () => process.platform === "win32",
33
- getSocketPath: () => join(testDir, "test.sock"),
34
33
  getPidPath: () => join(testDir, "test.pid"),
35
34
  getDbPath: () => join(testDir, "test.db"),
36
35
  getLogPath: () => join(testDir, "test.log"),
@@ -125,7 +124,7 @@ async function publishAndReadFrame(
125
124
  // Tests
126
125
  // ---------------------------------------------------------------------------
127
126
 
128
- describe("SSE IPC parity — streaming/delta message types", () => {
127
+ describe("SSE HTTP parity — streaming/delta message types", () => {
129
128
  beforeEach(() => {
130
129
  const db = getDb();
131
130
  db.run("DELETE FROM conversation_keys");
@@ -21,7 +21,6 @@ mock.module("../util/platform.js", () => ({
21
21
  isMacOS: () => process.platform === "darwin",
22
22
  isLinux: () => process.platform === "linux",
23
23
  isWindows: () => process.platform === "win32",
24
- getSocketPath: () => join(testDir, "test.sock"),
25
24
  getPidPath: () => join(testDir, "test.pid"),
26
25
  getDbPath: () => join(testDir, "test.db"),
27
26
  getLogPath: () => join(testDir, "test.log"),
@@ -19,7 +19,6 @@ mock.module("../util/platform.js", () => ({
19
19
  isLinux: () => mockIsLinux,
20
20
  getRootDir: () => "/tmp/vellum-test",
21
21
  getDataDir: () => "/tmp/vellum-test/data",
22
- getSocketPath: () => "/tmp/vellum-test/vellum.sock",
23
22
  getDbPath: () => "/tmp/vellum-test/data/db/assistant.db",
24
23
  getLogPath: () => "/tmp/vellum-test/data/logs/daemon.log",
25
24
  getSandboxRootDir: () => "/tmp/vellum-test/sandbox",