vellum 0.2.14 → 0.3.2

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 (1060) hide show
  1. package/bin/vellum.js +2 -0
  2. package/package.json +6 -65
  3. package/.dockerignore +0 -27
  4. package/.env.example +0 -22
  5. package/Dockerfile +0 -99
  6. package/Dockerfile.sandbox +0 -5
  7. package/README.md +0 -201
  8. package/bun.lock +0 -1743
  9. package/bunfig.toml +0 -2
  10. package/docs/skills.md +0 -158
  11. package/drizzle/0000_dizzy_maggott.sql +0 -301
  12. package/drizzle/meta/0000_snapshot.json +0 -1999
  13. package/drizzle/meta/_journal.json +0 -13
  14. package/drizzle.config.ts +0 -7
  15. package/eslint.config.mjs +0 -17
  16. package/hook-templates/debug-prompt-logger/hook.json +0 -7
  17. package/hook-templates/debug-prompt-logger/run.sh +0 -68
  18. package/knip.json +0 -9
  19. package/scripts/capture-x-graphql.ts +0 -545
  20. package/scripts/ipc/check-contract-inventory.ts +0 -104
  21. package/scripts/ipc/check-swift-decoder-drift.ts +0 -164
  22. package/scripts/ipc/generate-swift.ts +0 -492
  23. package/scripts/test-filesystem-tools.sh +0 -48
  24. package/scripts/test.sh +0 -127
  25. package/src/__tests__/__snapshots__/ipc-snapshot.test.ts.snap +0 -2526
  26. package/src/__tests__/account-registry.test.ts +0 -245
  27. package/src/__tests__/active-skill-tools.test.ts +0 -378
  28. package/src/__tests__/agent-heartbeat-service.test.ts +0 -250
  29. package/src/__tests__/agent-loop-thinking.test.ts +0 -81
  30. package/src/__tests__/agent-loop.test.ts +0 -1135
  31. package/src/__tests__/anthropic-provider.test.ts +0 -778
  32. package/src/__tests__/app-builder-tool-scripts.test.ts +0 -290
  33. package/src/__tests__/app-bundler.test.ts +0 -292
  34. package/src/__tests__/app-executors.test.ts +0 -613
  35. package/src/__tests__/app-git-history.test.ts +0 -176
  36. package/src/__tests__/app-git-service.test.ts +0 -169
  37. package/src/__tests__/app-open-proxy.test.ts +0 -62
  38. package/src/__tests__/asset-materialize-tool.test.ts +0 -452
  39. package/src/__tests__/asset-search-tool.test.ts +0 -477
  40. package/src/__tests__/assistant-attachment-directive.test.ts +0 -401
  41. package/src/__tests__/assistant-attachments.test.ts +0 -437
  42. package/src/__tests__/assistant-event-hub.test.ts +0 -226
  43. package/src/__tests__/assistant-event.test.ts +0 -123
  44. package/src/__tests__/assistant-events-sse-hardening.test.ts +0 -315
  45. package/src/__tests__/attachments-store.test.ts +0 -476
  46. package/src/__tests__/attachments.test.ts +0 -134
  47. package/src/__tests__/audit-log-rotation.test.ts +0 -154
  48. package/src/__tests__/browser-fill-credential.test.ts +0 -309
  49. package/src/__tests__/browser-manager.test.ts +0 -203
  50. package/src/__tests__/browser-runtime-check.test.ts +0 -55
  51. package/src/__tests__/browser-skill-baseline-tool-payload.test.ts +0 -68
  52. package/src/__tests__/browser-skill-endstate.test.ts +0 -195
  53. package/src/__tests__/bundle-scanner.test.ts +0 -313
  54. package/src/__tests__/call-bridge.test.ts +0 -517
  55. package/src/__tests__/call-constants.test.ts +0 -40
  56. package/src/__tests__/call-domain.test.ts +0 -163
  57. package/src/__tests__/call-orchestrator.test.ts +0 -625
  58. package/src/__tests__/call-recovery.test.ts +0 -518
  59. package/src/__tests__/call-routes-http.test.ts +0 -699
  60. package/src/__tests__/call-state-machine.test.ts +0 -143
  61. package/src/__tests__/call-state.test.ts +0 -174
  62. package/src/__tests__/call-store.test.ts +0 -691
  63. package/src/__tests__/channel-approval-routes.test.ts +0 -438
  64. package/src/__tests__/channel-approval.test.ts +0 -266
  65. package/src/__tests__/channel-approvals.test.ts +0 -393
  66. package/src/__tests__/channel-delivery-store.test.ts +0 -447
  67. package/src/__tests__/checker.test.ts +0 -3519
  68. package/src/__tests__/clarification-resolver.test.ts +0 -159
  69. package/src/__tests__/classifier.test.ts +0 -67
  70. package/src/__tests__/claude-code-skill-regression.test.ts +0 -127
  71. package/src/__tests__/claude-code-tool-profiles.test.ts +0 -88
  72. package/src/__tests__/cli-discover.test.ts +0 -85
  73. package/src/__tests__/cli.test.ts +0 -26
  74. package/src/__tests__/clipboard.test.ts +0 -80
  75. package/src/__tests__/commit-guarantee.test.ts +0 -335
  76. package/src/__tests__/commit-message-enrichment-service.test.ts +0 -550
  77. package/src/__tests__/compaction.benchmark.test.ts +0 -176
  78. package/src/__tests__/computer-use-session-compaction.test.ts +0 -132
  79. package/src/__tests__/computer-use-session-lifecycle.test.ts +0 -293
  80. package/src/__tests__/computer-use-session-working-dir.test.ts +0 -117
  81. package/src/__tests__/computer-use-skill-baseline.test.ts +0 -74
  82. package/src/__tests__/computer-use-skill-endstate.test.ts +0 -89
  83. package/src/__tests__/computer-use-skill-lifecycle-cleanup.test.ts +0 -217
  84. package/src/__tests__/computer-use-skill-manifest-regression.test.ts +0 -107
  85. package/src/__tests__/computer-use-skill-proxy-bridge.test.ts +0 -54
  86. package/src/__tests__/computer-use-tools.test.ts +0 -250
  87. package/src/__tests__/config-schema.test.ts +0 -1462
  88. package/src/__tests__/conflict-intent-tokenization.test.ts +0 -141
  89. package/src/__tests__/conflict-policy.test.ts +0 -121
  90. package/src/__tests__/conflict-store.test.ts +0 -332
  91. package/src/__tests__/connection-policy.test.ts +0 -102
  92. package/src/__tests__/contacts-tools.test.ts +0 -331
  93. package/src/__tests__/context-memory-e2e.test.ts +0 -434
  94. package/src/__tests__/context-token-estimator.test.ts +0 -135
  95. package/src/__tests__/context-window-manager.test.ts +0 -376
  96. package/src/__tests__/contradiction-checker.test.ts +0 -314
  97. package/src/__tests__/conversation-store.test.ts +0 -612
  98. package/src/__tests__/credential-broker-browser-fill.test.ts +0 -517
  99. package/src/__tests__/credential-broker-server-use.test.ts +0 -554
  100. package/src/__tests__/credential-broker.test.ts +0 -167
  101. package/src/__tests__/credential-host-pattern-match.test.ts +0 -104
  102. package/src/__tests__/credential-metadata-store.test.ts +0 -779
  103. package/src/__tests__/credential-policy-validate.test.ts +0 -121
  104. package/src/__tests__/credential-resolve.test.ts +0 -328
  105. package/src/__tests__/credential-security-e2e.test.ts +0 -352
  106. package/src/__tests__/credential-security-invariants.test.ts +0 -583
  107. package/src/__tests__/credential-selection.test.ts +0 -354
  108. package/src/__tests__/credential-vault-unit.test.ts +0 -780
  109. package/src/__tests__/credential-vault.test.ts +0 -852
  110. package/src/__tests__/daemon-assistant-events.test.ts +0 -164
  111. package/src/__tests__/daemon-server-session-init.test.ts +0 -522
  112. package/src/__tests__/date-context.test.ts +0 -373
  113. package/src/__tests__/db-schedule-syntax-migration.test.ts +0 -129
  114. package/src/__tests__/delete-managed-skill-tool.test.ts +0 -97
  115. package/src/__tests__/diff.test.ts +0 -121
  116. package/src/__tests__/domain-normalize.test.ts +0 -112
  117. package/src/__tests__/domain-policy.test.ts +0 -124
  118. package/src/__tests__/doordash-client.test.ts +0 -186
  119. package/src/__tests__/doordash-session.test.ts +0 -152
  120. package/src/__tests__/dynamic-page-surface.test.ts +0 -91
  121. package/src/__tests__/dynamic-skill-workflow-prompt.test.ts +0 -132
  122. package/src/__tests__/edit-engine.test.ts +0 -180
  123. package/src/__tests__/elevenlabs-client.test.ts +0 -271
  124. package/src/__tests__/email-cli.test.ts +0 -283
  125. package/src/__tests__/encrypted-store.test.ts +0 -332
  126. package/src/__tests__/entity-extractor.test.ts +0 -190
  127. package/src/__tests__/ephemeral-permissions.test.ts +0 -362
  128. package/src/__tests__/evaluate-typescript-tool.test.ts +0 -286
  129. package/src/__tests__/event-bus.test.ts +0 -222
  130. package/src/__tests__/file-edit-tool.test.ts +0 -122
  131. package/src/__tests__/file-ops-service.test.ts +0 -330
  132. package/src/__tests__/file-read-tool.test.ts +0 -75
  133. package/src/__tests__/file-write-tool.test.ts +0 -113
  134. package/src/__tests__/filesystem-tools.test.ts +0 -579
  135. package/src/__tests__/fixtures/credential-security-fixtures.ts +0 -181
  136. package/src/__tests__/fixtures/media-reuse-fixtures.ts +0 -126
  137. package/src/__tests__/fixtures/mock-signup-server.ts +0 -387
  138. package/src/__tests__/fixtures/proxy-fixtures.ts +0 -147
  139. package/src/__tests__/followup-tools.test.ts +0 -303
  140. package/src/__tests__/forbidden-legacy-symbols.test.ts +0 -71
  141. package/src/__tests__/fuzzy-match-property.test.ts +0 -216
  142. package/src/__tests__/fuzzy-match.test.ts +0 -138
  143. package/src/__tests__/gateway-only-enforcement.test.ts +0 -546
  144. package/src/__tests__/gemini-image-service.test.ts +0 -261
  145. package/src/__tests__/gemini-provider.test.ts +0 -651
  146. package/src/__tests__/get-weather.test.ts +0 -318
  147. package/src/__tests__/gmail-integration.test.ts +0 -73
  148. package/src/__tests__/handlers-add-trust-rule-metadata.test.ts +0 -202
  149. package/src/__tests__/handlers-cu-observation-blob.test.ts +0 -352
  150. package/src/__tests__/handlers-ipc-blob-probe.test.ts +0 -191
  151. package/src/__tests__/handlers-slack-config.test.ts +0 -200
  152. package/src/__tests__/handlers-task-submit-slash.test.ts +0 -38
  153. package/src/__tests__/handlers-telegram-config.test.ts +0 -855
  154. package/src/__tests__/handlers-twitter-config.test.ts +0 -858
  155. package/src/__tests__/headless-browser-interactions.test.ts +0 -536
  156. package/src/__tests__/headless-browser-navigate.test.ts +0 -211
  157. package/src/__tests__/headless-browser-read-tools.test.ts +0 -261
  158. package/src/__tests__/headless-browser-snapshot.test.ts +0 -185
  159. package/src/__tests__/history-repair-observability.test.ts +0 -56
  160. package/src/__tests__/history-repair.test.ts +0 -510
  161. package/src/__tests__/home-base-bootstrap.test.ts +0 -82
  162. package/src/__tests__/hooks-blocking.test.ts +0 -128
  163. package/src/__tests__/hooks-cli.test.ts +0 -144
  164. package/src/__tests__/hooks-config.test.ts +0 -93
  165. package/src/__tests__/hooks-discovery.test.ts +0 -199
  166. package/src/__tests__/hooks-integration.test.ts +0 -189
  167. package/src/__tests__/hooks-manager.test.ts +0 -187
  168. package/src/__tests__/hooks-runner.test.ts +0 -182
  169. package/src/__tests__/hooks-settings.test.ts +0 -154
  170. package/src/__tests__/hooks-templates.test.ts +0 -137
  171. package/src/__tests__/hooks-ts-runner.test.ts +0 -125
  172. package/src/__tests__/hooks-watch.test.ts +0 -100
  173. package/src/__tests__/host-file-edit-tool.test.ts +0 -228
  174. package/src/__tests__/host-file-read-tool.test.ts +0 -123
  175. package/src/__tests__/host-file-write-tool.test.ts +0 -136
  176. package/src/__tests__/host-shell-tool.test.ts +0 -562
  177. package/src/__tests__/ingress-reconcile.test.ts +0 -581
  178. package/src/__tests__/ingress-url-consistency.test.ts +0 -214
  179. package/src/__tests__/intent-routing.test.ts +0 -259
  180. package/src/__tests__/ipc-blob-store.test.ts +0 -315
  181. package/src/__tests__/ipc-contract-inventory.test.ts +0 -54
  182. package/src/__tests__/ipc-contract.test.ts +0 -74
  183. package/src/__tests__/ipc-protocol.test.ts +0 -113
  184. package/src/__tests__/ipc-roundtrip.benchmark.test.ts +0 -237
  185. package/src/__tests__/ipc-snapshot.test.ts +0 -1757
  186. package/src/__tests__/ipc-validate.test.ts +0 -407
  187. package/src/__tests__/key-migration.test.ts +0 -206
  188. package/src/__tests__/keychain.test.ts +0 -258
  189. package/src/__tests__/llm-usage-store.test.ts +0 -221
  190. package/src/__tests__/managed-skill-lifecycle.test.ts +0 -257
  191. package/src/__tests__/managed-store.test.ts +0 -608
  192. package/src/__tests__/media-generate-image.test.ts +0 -238
  193. package/src/__tests__/media-reuse-story.e2e.test.ts +0 -676
  194. package/src/__tests__/media-visibility-policy.test.ts +0 -141
  195. package/src/__tests__/memory-context-benchmark.benchmark.test.ts +0 -235
  196. package/src/__tests__/memory-lifecycle-e2e.test.ts +0 -481
  197. package/src/__tests__/memory-query-builder.test.ts +0 -59
  198. package/src/__tests__/memory-recall-quality.test.ts +0 -846
  199. package/src/__tests__/memory-regressions.experimental.test.ts +0 -538
  200. package/src/__tests__/memory-regressions.test.ts +0 -4435
  201. package/src/__tests__/memory-retrieval-budget.test.ts +0 -49
  202. package/src/__tests__/memory-retrieval.benchmark.test.ts +0 -430
  203. package/src/__tests__/migration-cli-flows.test.ts +0 -169
  204. package/src/__tests__/migration-ordering.test.ts +0 -249
  205. package/src/__tests__/mock-signup-server.test.ts +0 -528
  206. package/src/__tests__/oauth-callback-registry.test.ts +0 -92
  207. package/src/__tests__/oauth2-gateway-transport.test.ts +0 -285
  208. package/src/__tests__/onboarding-starter-tasks.test.ts +0 -176
  209. package/src/__tests__/onboarding-template-contract.test.ts +0 -58
  210. package/src/__tests__/openai-provider.test.ts +0 -753
  211. package/src/__tests__/parallel-tool.benchmark.test.ts +0 -294
  212. package/src/__tests__/parser.test.ts +0 -472
  213. package/src/__tests__/path-classifier.test.ts +0 -73
  214. package/src/__tests__/path-policy.test.ts +0 -435
  215. package/src/__tests__/platform-move-helper.test.ts +0 -99
  216. package/src/__tests__/platform-socket-path.test.ts +0 -52
  217. package/src/__tests__/platform-workspace-migration.test.ts +0 -1000
  218. package/src/__tests__/platform.test.ts +0 -131
  219. package/src/__tests__/playbook-execution.test.ts +0 -502
  220. package/src/__tests__/playbook-tools.test.ts +0 -340
  221. package/src/__tests__/prebuilt-home-base-seed.test.ts +0 -75
  222. package/src/__tests__/pricing.test.ts +0 -256
  223. package/src/__tests__/profile-compiler.test.ts +0 -374
  224. package/src/__tests__/provider-commit-message-generator.test.ts +0 -342
  225. package/src/__tests__/provider-registry-ollama.test.ts +0 -16
  226. package/src/__tests__/provider-streaming.benchmark.test.ts +0 -773
  227. package/src/__tests__/proxy-approval-callback.test.ts +0 -601
  228. package/src/__tests__/public-ingress-urls.test.ts +0 -256
  229. package/src/__tests__/qdrant-manager.test.ts +0 -267
  230. package/src/__tests__/ratelimit.test.ts +0 -297
  231. package/src/__tests__/recurrence-engine-rruleset.test.ts +0 -175
  232. package/src/__tests__/recurrence-engine.test.ts +0 -78
  233. package/src/__tests__/recurrence-types.test.ts +0 -79
  234. package/src/__tests__/registry.test.ts +0 -494
  235. package/src/__tests__/relay-server.test.ts +0 -688
  236. package/src/__tests__/reminder-store.test.ts +0 -223
  237. package/src/__tests__/reminder.test.ts +0 -229
  238. package/src/__tests__/request-file-tool.test.ts +0 -158
  239. package/src/__tests__/run-orchestrator-assistant-events.test.ts +0 -222
  240. package/src/__tests__/run-orchestrator.test.ts +0 -200
  241. package/src/__tests__/runtime-attachment-metadata.test.ts +0 -189
  242. package/src/__tests__/runtime-events-sse-parity.test.ts +0 -343
  243. package/src/__tests__/runtime-events-sse.test.ts +0 -162
  244. package/src/__tests__/runtime-runs-http.test.ts +0 -433
  245. package/src/__tests__/runtime-runs.test.ts +0 -249
  246. package/src/__tests__/sandbox-diagnostics.test.ts +0 -408
  247. package/src/__tests__/sandbox-host-parity.test.ts +0 -950
  248. package/src/__tests__/scaffold-managed-skill-tool.test.ts +0 -253
  249. package/src/__tests__/schedule-store.test.ts +0 -484
  250. package/src/__tests__/schedule-tools.test.ts +0 -783
  251. package/src/__tests__/scheduler-recurrence.test.ts +0 -430
  252. package/src/__tests__/script-proxy-certs.test.ts +0 -90
  253. package/src/__tests__/script-proxy-connect-tunnel.test.ts +0 -177
  254. package/src/__tests__/script-proxy-decision-trace.test.ts +0 -156
  255. package/src/__tests__/script-proxy-http-forwarder.test.ts +0 -281
  256. package/src/__tests__/script-proxy-injection-runtime.test.ts +0 -401
  257. package/src/__tests__/script-proxy-mitm-handler.test.ts +0 -407
  258. package/src/__tests__/script-proxy-policy-runtime.test.ts +0 -287
  259. package/src/__tests__/script-proxy-policy.test.ts +0 -310
  260. package/src/__tests__/script-proxy-rewrite-specificity.test.ts +0 -135
  261. package/src/__tests__/script-proxy-router.test.ts +0 -180
  262. package/src/__tests__/script-proxy-session-manager.test.ts +0 -382
  263. package/src/__tests__/script-proxy-session-runtime.test.ts +0 -113
  264. package/src/__tests__/secret-allowlist.test.ts +0 -230
  265. package/src/__tests__/secret-ingress-handler.test.ts +0 -110
  266. package/src/__tests__/secret-onetime-send.test.ts +0 -130
  267. package/src/__tests__/secret-prompt-log-hygiene.test.ts +0 -106
  268. package/src/__tests__/secret-response-routing.test.ts +0 -93
  269. package/src/__tests__/secret-scanner-executor.test.ts +0 -348
  270. package/src/__tests__/secret-scanner.test.ts +0 -900
  271. package/src/__tests__/secure-keys.test.ts +0 -323
  272. package/src/__tests__/server-history-render.test.ts +0 -431
  273. package/src/__tests__/session-abort-tool-results.test.ts +0 -240
  274. package/src/__tests__/session-conflict-gate.test.ts +0 -1136
  275. package/src/__tests__/session-error.test.ts +0 -369
  276. package/src/__tests__/session-evictor.test.ts +0 -188
  277. package/src/__tests__/session-init.benchmark.test.ts +0 -465
  278. package/src/__tests__/session-load-history-repair.test.ts +0 -222
  279. package/src/__tests__/session-pre-run-repair.test.ts +0 -213
  280. package/src/__tests__/session-process-bridge.test.ts +0 -242
  281. package/src/__tests__/session-profile-injection.test.ts +0 -444
  282. package/src/__tests__/session-provider-retry-repair.test.ts +0 -306
  283. package/src/__tests__/session-queue.test.ts +0 -1535
  284. package/src/__tests__/session-runtime-assembly.test.ts +0 -476
  285. package/src/__tests__/session-runtime-workspace.test.ts +0 -183
  286. package/src/__tests__/session-skill-tools.test.ts +0 -2431
  287. package/src/__tests__/session-slash-known.test.ts +0 -368
  288. package/src/__tests__/session-slash-queue.test.ts +0 -288
  289. package/src/__tests__/session-slash-unknown.test.ts +0 -271
  290. package/src/__tests__/session-surfaces-task-progress.test.ts +0 -104
  291. package/src/__tests__/session-tool-setup-app-refresh.test.ts +0 -473
  292. package/src/__tests__/session-tool-setup-memory-scope.test.ts +0 -140
  293. package/src/__tests__/session-tool-setup-side-effect-flag.test.ts +0 -140
  294. package/src/__tests__/session-undo.test.ts +0 -75
  295. package/src/__tests__/session-workspace-cache-state.test.ts +0 -246
  296. package/src/__tests__/session-workspace-injection.test.ts +0 -327
  297. package/src/__tests__/session-workspace-tool-tracking.test.ts +0 -240
  298. package/src/__tests__/shared-filesystem-errors.test.ts +0 -78
  299. package/src/__tests__/shell-credential-ref.test.ts +0 -187
  300. package/src/__tests__/shell-identity.test.ts +0 -256
  301. package/src/__tests__/shell-parser-fuzz.test.ts +0 -544
  302. package/src/__tests__/shell-parser-property.test.ts +0 -433
  303. package/src/__tests__/shell-tool-proxy-mode.test.ts +0 -272
  304. package/src/__tests__/signup-e2e.test.ts +0 -353
  305. package/src/__tests__/size-guard.test.ts +0 -117
  306. package/src/__tests__/skill-include-graph.test.ts +0 -303
  307. package/src/__tests__/skill-load-tool.test.ts +0 -409
  308. package/src/__tests__/skill-projection.benchmark.test.ts +0 -338
  309. package/src/__tests__/skill-script-runner-host.test.ts +0 -489
  310. package/src/__tests__/skill-script-runner-sandbox.test.ts +0 -349
  311. package/src/__tests__/skill-script-runner.test.ts +0 -159
  312. package/src/__tests__/skill-tool-factory.test.ts +0 -252
  313. package/src/__tests__/skill-tool-manifest.test.ts +0 -658
  314. package/src/__tests__/skill-version-hash.test.ts +0 -182
  315. package/src/__tests__/skills.test.ts +0 -680
  316. package/src/__tests__/slash-commands-catalog.test.ts +0 -86
  317. package/src/__tests__/slash-commands-parser.test.ts +0 -119
  318. package/src/__tests__/slash-commands-resolver.test.ts +0 -193
  319. package/src/__tests__/slash-commands-rewrite.test.ts +0 -39
  320. package/src/__tests__/speaker-identification.test.ts +0 -52
  321. package/src/__tests__/starter-bundle.test.ts +0 -136
  322. package/src/__tests__/starter-task-flow.test.ts +0 -143
  323. package/src/__tests__/subagent-manager-notify.test.ts +0 -404
  324. package/src/__tests__/subagent-tools.test.ts +0 -801
  325. package/src/__tests__/subagent-types.test.ts +0 -78
  326. package/src/__tests__/swarm-orchestrator.test.ts +0 -428
  327. package/src/__tests__/swarm-plan-validator.test.ts +0 -330
  328. package/src/__tests__/swarm-recursion.test.ts +0 -165
  329. package/src/__tests__/swarm-router-planner.test.ts +0 -208
  330. package/src/__tests__/swarm-session-integration.test.ts +0 -274
  331. package/src/__tests__/swarm-tool.test.ts +0 -145
  332. package/src/__tests__/swarm-worker-backend.test.ts +0 -129
  333. package/src/__tests__/swarm-worker-runner.test.ts +0 -272
  334. package/src/__tests__/system-prompt.test.ts +0 -439
  335. package/src/__tests__/task-compiler.test.ts +0 -284
  336. package/src/__tests__/task-management-tools.test.ts +0 -936
  337. package/src/__tests__/task-runner.test.ts +0 -216
  338. package/src/__tests__/task-scheduler.test.ts +0 -217
  339. package/src/__tests__/task-tools.test.ts +0 -595
  340. package/src/__tests__/terminal-sandbox-docker.test.ts +0 -1064
  341. package/src/__tests__/terminal-sandbox.integration.test.ts +0 -178
  342. package/src/__tests__/terminal-sandbox.test.ts +0 -202
  343. package/src/__tests__/terminal-tools.test.ts +0 -840
  344. package/src/__tests__/test-support/browser-skill-harness.ts +0 -90
  345. package/src/__tests__/test-support/computer-use-skill-harness.ts +0 -45
  346. package/src/__tests__/tool-audit-listener.test.ts +0 -113
  347. package/src/__tests__/tool-domain-event-publisher.test.ts +0 -253
  348. package/src/__tests__/tool-execution-pipeline.benchmark.test.ts +0 -500
  349. package/src/__tests__/tool-executor-lifecycle-events.test.ts +0 -516
  350. package/src/__tests__/tool-executor-redaction.test.ts +0 -289
  351. package/src/__tests__/tool-executor-shell-integration.test.ts +0 -301
  352. package/src/__tests__/tool-executor.test.ts +0 -1989
  353. package/src/__tests__/tool-metrics-listener.test.ts +0 -225
  354. package/src/__tests__/tool-notification-listener.test.ts +0 -49
  355. package/src/__tests__/tool-permission-simulate-handler.test.ts +0 -336
  356. package/src/__tests__/tool-policy.test.ts +0 -54
  357. package/src/__tests__/tool-profiling-listener.test.ts +0 -268
  358. package/src/__tests__/tool-result-truncation.test.ts +0 -217
  359. package/src/__tests__/tool-trace-listener.test.ts +0 -226
  360. package/src/__tests__/top-level-renderer.test.ts +0 -121
  361. package/src/__tests__/top-level-scanner.test.ts +0 -141
  362. package/src/__tests__/trace-emitter.test.ts +0 -173
  363. package/src/__tests__/trust-store.test.ts +0 -1605
  364. package/src/__tests__/turn-commit.test.ts +0 -554
  365. package/src/__tests__/twilio-provider.test.ts +0 -329
  366. package/src/__tests__/twilio-routes-elevenlabs.test.ts +0 -375
  367. package/src/__tests__/twilio-routes-twiml.test.ts +0 -127
  368. package/src/__tests__/twilio-routes.test.ts +0 -577
  369. package/src/__tests__/twitter-auth-handler.test.ts +0 -667
  370. package/src/__tests__/twitter-cli-error-shaping.test.ts +0 -208
  371. package/src/__tests__/twitter-cli-routing.test.ts +0 -252
  372. package/src/__tests__/twitter-oauth-client.test.ts +0 -209
  373. package/src/__tests__/url-safety.test.ts +0 -418
  374. package/src/__tests__/view-image-tool.test.ts +0 -217
  375. package/src/__tests__/weather-skill-regression.test.ts +0 -225
  376. package/src/__tests__/web-fetch.test.ts +0 -869
  377. package/src/__tests__/web-search.test.ts +0 -584
  378. package/src/__tests__/workspace-git-service.test.ts +0 -1153
  379. package/src/__tests__/workspace-heartbeat-service.test.ts +0 -486
  380. package/src/__tests__/workspace-lifecycle.test.ts +0 -292
  381. package/src/__tests__/workspace-policy.test.ts +0 -213
  382. package/src/agent/attachments.ts +0 -35
  383. package/src/agent/loop.ts +0 -500
  384. package/src/agent/message-types.ts +0 -17
  385. package/src/agent-heartbeat/agent-heartbeat-service.ts +0 -155
  386. package/src/autonomy/autonomy-resolver.ts +0 -60
  387. package/src/autonomy/autonomy-store.ts +0 -122
  388. package/src/autonomy/disposition-mapper.ts +0 -31
  389. package/src/autonomy/index.ts +0 -11
  390. package/src/autonomy/types.ts +0 -39
  391. package/src/bundler/app-bundler.ts +0 -295
  392. package/src/bundler/bundle-scanner.ts +0 -535
  393. package/src/bundler/bundle-signer.ts +0 -124
  394. package/src/bundler/manifest.ts +0 -21
  395. package/src/bundler/signature-verifier.ts +0 -184
  396. package/src/calls/call-bridge.ts +0 -168
  397. package/src/calls/call-constants.ts +0 -48
  398. package/src/calls/call-domain.ts +0 -430
  399. package/src/calls/call-orchestrator.ts +0 -498
  400. package/src/calls/call-recovery.ts +0 -207
  401. package/src/calls/call-state-machine.ts +0 -68
  402. package/src/calls/call-state.ts +0 -87
  403. package/src/calls/call-store.ts +0 -422
  404. package/src/calls/elevenlabs-client.ts +0 -97
  405. package/src/calls/elevenlabs-config.ts +0 -31
  406. package/src/calls/relay-server.ts +0 -390
  407. package/src/calls/speaker-identification.ts +0 -213
  408. package/src/calls/twilio-config.ts +0 -45
  409. package/src/calls/twilio-provider.ts +0 -269
  410. package/src/calls/twilio-routes.ts +0 -311
  411. package/src/calls/types.ts +0 -39
  412. package/src/calls/voice-provider.ts +0 -14
  413. package/src/calls/voice-quality.ts +0 -114
  414. package/src/cli/autonomy.ts +0 -188
  415. package/src/cli/config-commands.ts +0 -334
  416. package/src/cli/contacts.ts +0 -149
  417. package/src/cli/core-commands.ts +0 -784
  418. package/src/cli/doordash.ts +0 -1055
  419. package/src/cli/email-guardrails.ts +0 -200
  420. package/src/cli/email.ts +0 -405
  421. package/src/cli/ipc-client.ts +0 -82
  422. package/src/cli/main-screen.tsx +0 -53
  423. package/src/cli/map.ts +0 -270
  424. package/src/cli/twitter.ts +0 -754
  425. package/src/cli.ts +0 -918
  426. package/src/commands/__tests__/cc-command-registry.test.ts +0 -319
  427. package/src/commands/cc-command-registry.ts +0 -209
  428. package/src/config/bundled-skills/.gitkeep +0 -0
  429. package/src/config/bundled-skills/agentmail/SKILL.md +0 -128
  430. package/src/config/bundled-skills/agentmail/icon.svg +0 -21
  431. package/src/config/bundled-skills/app-builder/SKILL.md +0 -1404
  432. package/src/config/bundled-skills/app-builder/TOOLS.json +0 -279
  433. package/src/config/bundled-skills/app-builder/icon.svg +0 -9
  434. package/src/config/bundled-skills/app-builder/tools/app-create.ts +0 -15
  435. package/src/config/bundled-skills/app-builder/tools/app-delete.ts +0 -10
  436. package/src/config/bundled-skills/app-builder/tools/app-file-edit.ts +0 -11
  437. package/src/config/bundled-skills/app-builder/tools/app-file-list.ts +0 -10
  438. package/src/config/bundled-skills/app-builder/tools/app-file-read.ts +0 -18
  439. package/src/config/bundled-skills/app-builder/tools/app-file-write.ts +0 -11
  440. package/src/config/bundled-skills/app-builder/tools/app-list.ts +0 -10
  441. package/src/config/bundled-skills/app-builder/tools/app-query.ts +0 -10
  442. package/src/config/bundled-skills/app-builder/tools/app-update.ts +0 -20
  443. package/src/config/bundled-skills/browser/SKILL.md +0 -28
  444. package/src/config/bundled-skills/browser/TOOLS.json +0 -234
  445. package/src/config/bundled-skills/browser/tools/browser-click.ts +0 -9
  446. package/src/config/bundled-skills/browser/tools/browser-close.ts +0 -9
  447. package/src/config/bundled-skills/browser/tools/browser-extract.ts +0 -9
  448. package/src/config/bundled-skills/browser/tools/browser-fill-credential.ts +0 -9
  449. package/src/config/bundled-skills/browser/tools/browser-navigate.ts +0 -9
  450. package/src/config/bundled-skills/browser/tools/browser-press-key.ts +0 -9
  451. package/src/config/bundled-skills/browser/tools/browser-screenshot.ts +0 -9
  452. package/src/config/bundled-skills/browser/tools/browser-snapshot.ts +0 -9
  453. package/src/config/bundled-skills/browser/tools/browser-type.ts +0 -9
  454. package/src/config/bundled-skills/browser/tools/browser-wait-for.ts +0 -9
  455. package/src/config/bundled-skills/claude-code/SKILL.md +0 -50
  456. package/src/config/bundled-skills/claude-code/TOOLS.json +0 -40
  457. package/src/config/bundled-skills/claude-code/tools/claude-code.ts +0 -9
  458. package/src/config/bundled-skills/computer-use/SKILL.md +0 -17
  459. package/src/config/bundled-skills/computer-use/TOOLS.json +0 -326
  460. package/src/config/bundled-skills/computer-use/tools/computer-use-click.ts +0 -9
  461. package/src/config/bundled-skills/computer-use/tools/computer-use-done.ts +0 -9
  462. package/src/config/bundled-skills/computer-use/tools/computer-use-double-click.ts +0 -9
  463. package/src/config/bundled-skills/computer-use/tools/computer-use-drag.ts +0 -9
  464. package/src/config/bundled-skills/computer-use/tools/computer-use-key.ts +0 -9
  465. package/src/config/bundled-skills/computer-use/tools/computer-use-open-app.ts +0 -9
  466. package/src/config/bundled-skills/computer-use/tools/computer-use-request-control.ts +0 -9
  467. package/src/config/bundled-skills/computer-use/tools/computer-use-respond.ts +0 -9
  468. package/src/config/bundled-skills/computer-use/tools/computer-use-right-click.ts +0 -9
  469. package/src/config/bundled-skills/computer-use/tools/computer-use-run-applescript.ts +0 -9
  470. package/src/config/bundled-skills/computer-use/tools/computer-use-scroll.ts +0 -9
  471. package/src/config/bundled-skills/computer-use/tools/computer-use-type-text.ts +0 -9
  472. package/src/config/bundled-skills/computer-use/tools/computer-use-wait.ts +0 -9
  473. package/src/config/bundled-skills/contacts/SKILL.md +0 -39
  474. package/src/config/bundled-skills/contacts/TOOLS.json +0 -122
  475. package/src/config/bundled-skills/contacts/tools/contact-merge.ts +0 -57
  476. package/src/config/bundled-skills/contacts/tools/contact-search.ts +0 -60
  477. package/src/config/bundled-skills/contacts/tools/contact-upsert.ts +0 -66
  478. package/src/config/bundled-skills/document/SKILL.md +0 -26
  479. package/src/config/bundled-skills/document/TOOLS.json +0 -53
  480. package/src/config/bundled-skills/document/tools/document-create.ts +0 -9
  481. package/src/config/bundled-skills/document/tools/document-update.ts +0 -9
  482. package/src/config/bundled-skills/doordash/SKILL.md +0 -163
  483. package/src/config/bundled-skills/followups/SKILL.md +0 -32
  484. package/src/config/bundled-skills/followups/TOOLS.json +0 -100
  485. package/src/config/bundled-skills/followups/icon.svg +0 -24
  486. package/src/config/bundled-skills/followups/tools/followup-create.ts +0 -9
  487. package/src/config/bundled-skills/followups/tools/followup-list.ts +0 -9
  488. package/src/config/bundled-skills/followups/tools/followup-resolve.ts +0 -9
  489. package/src/config/bundled-skills/google-calendar/SKILL.md +0 -51
  490. package/src/config/bundled-skills/google-calendar/TOOLS.json +0 -108
  491. package/src/config/bundled-skills/google-calendar/calendar-client.ts +0 -165
  492. package/src/config/bundled-skills/google-calendar/tools/calendar-check-availability.ts +0 -21
  493. package/src/config/bundled-skills/google-calendar/tools/calendar-create-event.ts +0 -42
  494. package/src/config/bundled-skills/google-calendar/tools/calendar-get-event.ts +0 -13
  495. package/src/config/bundled-skills/google-calendar/tools/calendar-list-events.ts +0 -30
  496. package/src/config/bundled-skills/google-calendar/tools/calendar-rsvp.ts +0 -41
  497. package/src/config/bundled-skills/google-calendar/tools/shared.ts +0 -18
  498. package/src/config/bundled-skills/google-calendar/types.ts +0 -97
  499. package/src/config/bundled-skills/image-studio/SKILL.md +0 -32
  500. package/src/config/bundled-skills/image-studio/TOOLS.json +0 -42
  501. package/src/config/bundled-skills/image-studio/tools/media-generate-image.ts +0 -115
  502. package/src/config/bundled-skills/macos-automation/SKILL.md +0 -66
  503. package/src/config/bundled-skills/messaging/SKILL.md +0 -145
  504. package/src/config/bundled-skills/messaging/TOOLS.json +0 -357
  505. package/src/config/bundled-skills/messaging/tools/gmail-archive.ts +0 -23
  506. package/src/config/bundled-skills/messaging/tools/gmail-batch-archive.ts +0 -23
  507. package/src/config/bundled-skills/messaging/tools/gmail-batch-label.ts +0 -25
  508. package/src/config/bundled-skills/messaging/tools/gmail-draft.ts +0 -26
  509. package/src/config/bundled-skills/messaging/tools/gmail-label.ts +0 -25
  510. package/src/config/bundled-skills/messaging/tools/gmail-trash.ts +0 -23
  511. package/src/config/bundled-skills/messaging/tools/gmail-unsubscribe.ts +0 -84
  512. package/src/config/bundled-skills/messaging/tools/messaging-analyze-activity.ts +0 -18
  513. package/src/config/bundled-skills/messaging/tools/messaging-analyze-style.ts +0 -125
  514. package/src/config/bundled-skills/messaging/tools/messaging-auth-test.ts +0 -16
  515. package/src/config/bundled-skills/messaging/tools/messaging-draft.ts +0 -49
  516. package/src/config/bundled-skills/messaging/tools/messaging-list-conversations.ts +0 -21
  517. package/src/config/bundled-skills/messaging/tools/messaging-mark-read.ts +0 -25
  518. package/src/config/bundled-skills/messaging/tools/messaging-read.ts +0 -28
  519. package/src/config/bundled-skills/messaging/tools/messaging-reply.ts +0 -32
  520. package/src/config/bundled-skills/messaging/tools/messaging-search.ts +0 -22
  521. package/src/config/bundled-skills/messaging/tools/messaging-send.ts +0 -31
  522. package/src/config/bundled-skills/messaging/tools/shared.ts +0 -76
  523. package/src/config/bundled-skills/messaging/tools/slack-add-reaction.ts +0 -25
  524. package/src/config/bundled-skills/messaging/tools/slack-leave-channel.ts +0 -23
  525. package/src/config/bundled-skills/phone-calls/SKILL.md +0 -522
  526. package/src/config/bundled-skills/playbooks/SKILL.md +0 -31
  527. package/src/config/bundled-skills/playbooks/TOOLS.json +0 -126
  528. package/src/config/bundled-skills/playbooks/tools/playbook-create.ts +0 -98
  529. package/src/config/bundled-skills/playbooks/tools/playbook-delete.ts +0 -54
  530. package/src/config/bundled-skills/playbooks/tools/playbook-list.ts +0 -76
  531. package/src/config/bundled-skills/playbooks/tools/playbook-update.ts +0 -113
  532. package/src/config/bundled-skills/public-ingress/SKILL.md +0 -200
  533. package/src/config/bundled-skills/reminder/SKILL.md +0 -20
  534. package/src/config/bundled-skills/reminder/TOOLS.json +0 -67
  535. package/src/config/bundled-skills/reminder/tools/reminder-cancel.ts +0 -9
  536. package/src/config/bundled-skills/reminder/tools/reminder-create.ts +0 -9
  537. package/src/config/bundled-skills/reminder/tools/reminder-list.ts +0 -9
  538. package/src/config/bundled-skills/schedule/SKILL.md +0 -74
  539. package/src/config/bundled-skills/schedule/TOOLS.json +0 -135
  540. package/src/config/bundled-skills/schedule/tools/schedule-create.ts +0 -9
  541. package/src/config/bundled-skills/schedule/tools/schedule-delete.ts +0 -9
  542. package/src/config/bundled-skills/schedule/tools/schedule-list.ts +0 -9
  543. package/src/config/bundled-skills/schedule/tools/schedule-update.ts +0 -9
  544. package/src/config/bundled-skills/self-upgrade/SKILL.md +0 -68
  545. package/src/config/bundled-skills/start-the-day/SKILL.md +0 -70
  546. package/src/config/bundled-skills/start-the-day/icon.svg +0 -13
  547. package/src/config/bundled-skills/subagent/SKILL.md +0 -25
  548. package/src/config/bundled-skills/subagent/TOOLS.json +0 -107
  549. package/src/config/bundled-skills/subagent/tools/subagent-abort.ts +0 -9
  550. package/src/config/bundled-skills/subagent/tools/subagent-message.ts +0 -9
  551. package/src/config/bundled-skills/subagent/tools/subagent-read.ts +0 -9
  552. package/src/config/bundled-skills/subagent/tools/subagent-spawn.ts +0 -9
  553. package/src/config/bundled-skills/subagent/tools/subagent-status.ts +0 -9
  554. package/src/config/bundled-skills/tasks/SKILL.md +0 -28
  555. package/src/config/bundled-skills/tasks/TOOLS.json +0 -281
  556. package/src/config/bundled-skills/tasks/tools/task-delete.ts +0 -9
  557. package/src/config/bundled-skills/tasks/tools/task-list-add.ts +0 -9
  558. package/src/config/bundled-skills/tasks/tools/task-list-remove.ts +0 -9
  559. package/src/config/bundled-skills/tasks/tools/task-list-show.ts +0 -9
  560. package/src/config/bundled-skills/tasks/tools/task-list-update.ts +0 -9
  561. package/src/config/bundled-skills/tasks/tools/task-list.ts +0 -9
  562. package/src/config/bundled-skills/tasks/tools/task-queue-run.ts +0 -9
  563. package/src/config/bundled-skills/tasks/tools/task-run.ts +0 -9
  564. package/src/config/bundled-skills/tasks/tools/task-save.ts +0 -9
  565. package/src/config/bundled-skills/transcribe/SKILL.md +0 -25
  566. package/src/config/bundled-skills/transcribe/TOOLS.json +0 -32
  567. package/src/config/bundled-skills/transcribe/tools/transcribe-media.ts +0 -370
  568. package/src/config/bundled-skills/twitter/SKILL.md +0 -220
  569. package/src/config/bundled-skills/watcher/SKILL.md +0 -27
  570. package/src/config/bundled-skills/watcher/TOOLS.json +0 -147
  571. package/src/config/bundled-skills/watcher/tools/watcher-create.ts +0 -9
  572. package/src/config/bundled-skills/watcher/tools/watcher-delete.ts +0 -9
  573. package/src/config/bundled-skills/watcher/tools/watcher-digest.ts +0 -9
  574. package/src/config/bundled-skills/watcher/tools/watcher-list.ts +0 -9
  575. package/src/config/bundled-skills/watcher/tools/watcher-update.ts +0 -9
  576. package/src/config/bundled-skills/weather/SKILL.md +0 -37
  577. package/src/config/bundled-skills/weather/TOOLS.json +0 -32
  578. package/src/config/bundled-skills/weather/icon.svg +0 -24
  579. package/src/config/bundled-skills/weather/tools/get-weather.ts +0 -9
  580. package/src/config/computer-use-prompt.ts +0 -97
  581. package/src/config/defaults.ts +0 -258
  582. package/src/config/loader.ts +0 -339
  583. package/src/config/schema.ts +0 -1415
  584. package/src/config/skill-state.ts +0 -95
  585. package/src/config/skills.ts +0 -972
  586. package/src/config/system-prompt.ts +0 -675
  587. package/src/config/templates/BOOTSTRAP.md +0 -70
  588. package/src/config/templates/IDENTITY.md +0 -25
  589. package/src/config/templates/LOOKS.md +0 -25
  590. package/src/config/templates/SOUL.md +0 -37
  591. package/src/config/templates/USER.md +0 -19
  592. package/src/config/types.ts +0 -41
  593. package/src/config/vellum-skills/deploy-fullstack-vercel/SKILL.md +0 -179
  594. package/src/config/vellum-skills/document-writer/SKILL.md +0 -195
  595. package/src/config/vellum-skills/google-oauth-setup/SKILL.md +0 -199
  596. package/src/config/vellum-skills/slack-oauth-setup/SKILL.md +0 -153
  597. package/src/config/vellum-skills/telegram-setup/SKILL.md +0 -97
  598. package/src/contacts/contact-store.ts +0 -410
  599. package/src/contacts/index.ts +0 -11
  600. package/src/contacts/types.ts +0 -28
  601. package/src/context/token-estimator.ts +0 -108
  602. package/src/context/tool-result-truncation.ts +0 -128
  603. package/src/context/window-manager.ts +0 -531
  604. package/src/daemon/assistant-attachments.ts +0 -691
  605. package/src/daemon/classifier.ts +0 -110
  606. package/src/daemon/computer-use-session.ts +0 -903
  607. package/src/daemon/connection-policy.ts +0 -41
  608. package/src/daemon/date-context.ts +0 -136
  609. package/src/daemon/handlers/apps.ts +0 -530
  610. package/src/daemon/handlers/browser.ts +0 -54
  611. package/src/daemon/handlers/computer-use.ts +0 -187
  612. package/src/daemon/handlers/config.ts +0 -1226
  613. package/src/daemon/handlers/diagnostics.ts +0 -338
  614. package/src/daemon/handlers/documents.ts +0 -173
  615. package/src/daemon/handlers/home-base.ts +0 -78
  616. package/src/daemon/handlers/identity.ts +0 -127
  617. package/src/daemon/handlers/index.ts +0 -129
  618. package/src/daemon/handlers/misc.ts +0 -331
  619. package/src/daemon/handlers/open-bundle-handler.ts +0 -80
  620. package/src/daemon/handlers/publish.ts +0 -187
  621. package/src/daemon/handlers/sessions.ts +0 -555
  622. package/src/daemon/handlers/shared.ts +0 -570
  623. package/src/daemon/handlers/signing.ts +0 -37
  624. package/src/daemon/handlers/skills.ts +0 -486
  625. package/src/daemon/handlers/subagents.ts +0 -210
  626. package/src/daemon/handlers/twitter-auth.ts +0 -198
  627. package/src/daemon/handlers/work-items.ts +0 -632
  628. package/src/daemon/handlers/workspace-files.ts +0 -75
  629. package/src/daemon/handlers.ts +0 -17
  630. package/src/daemon/history-repair.ts +0 -214
  631. package/src/daemon/ipc-blob-store.ts +0 -231
  632. package/src/daemon/ipc-contract-inventory.json +0 -491
  633. package/src/daemon/ipc-contract-inventory.ts +0 -126
  634. package/src/daemon/ipc-contract.ts +0 -2510
  635. package/src/daemon/ipc-protocol.ts +0 -75
  636. package/src/daemon/ipc-validate.ts +0 -188
  637. package/src/daemon/lifecycle.ts +0 -582
  638. package/src/daemon/main.ts +0 -21
  639. package/src/daemon/media-visibility-policy.ts +0 -57
  640. package/src/daemon/ride-shotgun-handler.ts +0 -309
  641. package/src/daemon/server.ts +0 -1213
  642. package/src/daemon/session-agent-loop.ts +0 -922
  643. package/src/daemon/session-attachments.ts +0 -196
  644. package/src/daemon/session-conflict-gate.ts +0 -184
  645. package/src/daemon/session-dynamic-profile.ts +0 -63
  646. package/src/daemon/session-error.ts +0 -290
  647. package/src/daemon/session-evictor.ts +0 -196
  648. package/src/daemon/session-history.ts +0 -437
  649. package/src/daemon/session-lifecycle.ts +0 -147
  650. package/src/daemon/session-media-retry.ts +0 -147
  651. package/src/daemon/session-memory.ts +0 -212
  652. package/src/daemon/session-messaging.ts +0 -145
  653. package/src/daemon/session-notifiers.ts +0 -193
  654. package/src/daemon/session-process.ts +0 -323
  655. package/src/daemon/session-queue-manager.ts +0 -82
  656. package/src/daemon/session-runtime-assembly.ts +0 -447
  657. package/src/daemon/session-skill-tools.ts +0 -356
  658. package/src/daemon/session-slash.ts +0 -305
  659. package/src/daemon/session-surfaces.ts +0 -702
  660. package/src/daemon/session-tool-setup.ts +0 -523
  661. package/src/daemon/session-usage.ts +0 -72
  662. package/src/daemon/session-workspace.ts +0 -19
  663. package/src/daemon/session.ts +0 -400
  664. package/src/daemon/tls-certs.ts +0 -189
  665. package/src/daemon/trace-emitter.ts +0 -82
  666. package/src/daemon/video-thumbnail.ts +0 -62
  667. package/src/daemon/watch-handler.ts +0 -274
  668. package/src/doordash/client.ts +0 -999
  669. package/src/doordash/queries.ts +0 -1311
  670. package/src/doordash/query-extractor.ts +0 -93
  671. package/src/doordash/session.ts +0 -82
  672. package/src/email/provider.ts +0 -117
  673. package/src/email/providers/agentmail.ts +0 -317
  674. package/src/email/providers/index.ts +0 -58
  675. package/src/email/service.ts +0 -303
  676. package/src/email/types.ts +0 -126
  677. package/src/events/bus.ts +0 -157
  678. package/src/events/domain-events.ts +0 -83
  679. package/src/events/index.ts +0 -18
  680. package/src/events/tool-audit-listener.ts +0 -80
  681. package/src/events/tool-domain-event-publisher.ts +0 -111
  682. package/src/events/tool-metrics-listener.ts +0 -159
  683. package/src/events/tool-notification-listener.ts +0 -17
  684. package/src/events/tool-profiling-listener.ts +0 -158
  685. package/src/events/tool-trace-listener.ts +0 -75
  686. package/src/export/formatter.ts +0 -98
  687. package/src/followups/followup-store.ts +0 -168
  688. package/src/followups/index.ts +0 -10
  689. package/src/followups/types.ts +0 -29
  690. package/src/gallery/default-gallery.ts +0 -795
  691. package/src/gallery/gallery-manifest.ts +0 -24
  692. package/src/home-base/app-link-store.ts +0 -82
  693. package/src/home-base/bootstrap.ts +0 -68
  694. package/src/home-base/prebuilt/index.html +0 -662
  695. package/src/home-base/prebuilt/seed-metadata.json +0 -21
  696. package/src/home-base/prebuilt/seed.ts +0 -112
  697. package/src/home-base/prebuilt-home-base-updater.ts +0 -30
  698. package/src/hooks/cli.ts +0 -163
  699. package/src/hooks/config.ts +0 -88
  700. package/src/hooks/discovery.ts +0 -110
  701. package/src/hooks/manager.ts +0 -124
  702. package/src/hooks/runner.ts +0 -123
  703. package/src/hooks/templates.ts +0 -52
  704. package/src/hooks/types.ts +0 -72
  705. package/src/inbound/public-ingress-urls.ts +0 -123
  706. package/src/index.ts +0 -75
  707. package/src/instrument.ts +0 -60
  708. package/src/logfire.ts +0 -99
  709. package/src/media/gemini-image-service.ts +0 -136
  710. package/src/memory/account-store.ts +0 -108
  711. package/src/memory/admin.ts +0 -211
  712. package/src/memory/app-git-service.ts +0 -295
  713. package/src/memory/app-store.ts +0 -577
  714. package/src/memory/attachments-store.ts +0 -397
  715. package/src/memory/channel-delivery-store.ts +0 -353
  716. package/src/memory/checkpoints.ts +0 -52
  717. package/src/memory/clarification-resolver.ts +0 -298
  718. package/src/memory/conflict-intent.ts +0 -157
  719. package/src/memory/conflict-policy.ts +0 -73
  720. package/src/memory/conflict-store.ts +0 -350
  721. package/src/memory/contradiction-checker.ts +0 -358
  722. package/src/memory/conversation-key-store.ts +0 -122
  723. package/src/memory/conversation-store.ts +0 -470
  724. package/src/memory/db.ts +0 -1906
  725. package/src/memory/embedding-backend.ts +0 -229
  726. package/src/memory/embedding-gemini.ts +0 -52
  727. package/src/memory/embedding-local.ts +0 -65
  728. package/src/memory/embedding-ollama.ts +0 -55
  729. package/src/memory/embedding-openai.ts +0 -25
  730. package/src/memory/entity-extractor.ts +0 -474
  731. package/src/memory/external-conversation-store.ts +0 -234
  732. package/src/memory/fingerprint.ts +0 -20
  733. package/src/memory/indexer.ts +0 -156
  734. package/src/memory/items-extractor.ts +0 -461
  735. package/src/memory/job-handlers/backfill.ts +0 -139
  736. package/src/memory/job-handlers/cleanup.ts +0 -58
  737. package/src/memory/job-handlers/conflict.ts +0 -141
  738. package/src/memory/job-handlers/embedding.ts +0 -61
  739. package/src/memory/job-handlers/extraction.ts +0 -123
  740. package/src/memory/job-handlers/index-maintenance.ts +0 -54
  741. package/src/memory/job-handlers/summarization.ts +0 -286
  742. package/src/memory/job-utils.ts +0 -170
  743. package/src/memory/jobs-store.ts +0 -401
  744. package/src/memory/jobs-worker.ts +0 -313
  745. package/src/memory/llm-request-log-store.ts +0 -45
  746. package/src/memory/llm-usage-store.ts +0 -60
  747. package/src/memory/message-content.ts +0 -54
  748. package/src/memory/profile-compiler.ts +0 -160
  749. package/src/memory/published-pages-store.ts +0 -137
  750. package/src/memory/qdrant-client.ts +0 -366
  751. package/src/memory/qdrant-manager.ts +0 -242
  752. package/src/memory/query-builder.ts +0 -45
  753. package/src/memory/retrieval-budget.ts +0 -30
  754. package/src/memory/retriever.ts +0 -653
  755. package/src/memory/runs-store.ts +0 -302
  756. package/src/memory/schema.ts +0 -608
  757. package/src/memory/search/entity.ts +0 -298
  758. package/src/memory/search/formatting.ts +0 -207
  759. package/src/memory/search/lexical.ts +0 -227
  760. package/src/memory/search/ranking.ts +0 -401
  761. package/src/memory/search/semantic.ts +0 -121
  762. package/src/memory/search/types.ts +0 -137
  763. package/src/memory/segmenter.ts +0 -68
  764. package/src/memory/shared-app-links-store.ts +0 -138
  765. package/src/memory/tool-usage-store.ts +0 -62
  766. package/src/messaging/activity-analyzer.ts +0 -76
  767. package/src/messaging/draft-store.ts +0 -88
  768. package/src/messaging/index.ts +0 -3
  769. package/src/messaging/provider-types.ts +0 -80
  770. package/src/messaging/provider.ts +0 -52
  771. package/src/messaging/providers/gmail/adapter.ts +0 -193
  772. package/src/messaging/providers/gmail/client.ts +0 -204
  773. package/src/messaging/providers/gmail/types.ts +0 -90
  774. package/src/messaging/providers/slack/adapter.ts +0 -202
  775. package/src/messaging/providers/slack/client.ts +0 -198
  776. package/src/messaging/providers/slack/types.ts +0 -119
  777. package/src/messaging/providers/telegram-bot/adapter.ts +0 -162
  778. package/src/messaging/providers/telegram-bot/client.ts +0 -104
  779. package/src/messaging/providers/telegram-bot/types.ts +0 -15
  780. package/src/messaging/registry.ts +0 -35
  781. package/src/messaging/style-analyzer.ts +0 -159
  782. package/src/messaging/thread-summarizer.ts +0 -306
  783. package/src/messaging/triage-engine.ts +0 -323
  784. package/src/messaging/types.ts +0 -55
  785. package/src/permissions/checker.ts +0 -640
  786. package/src/permissions/defaults.ts +0 -254
  787. package/src/permissions/prompter.ts +0 -98
  788. package/src/permissions/secret-prompter.ts +0 -114
  789. package/src/permissions/shell-identity.ts +0 -227
  790. package/src/permissions/trust-store.ts +0 -607
  791. package/src/permissions/types.ts +0 -43
  792. package/src/permissions/workspace-policy.ts +0 -114
  793. package/src/playbooks/index.ts +0 -2
  794. package/src/playbooks/playbook-compiler.ts +0 -90
  795. package/src/playbooks/types.ts +0 -55
  796. package/src/providers/anthropic/client.ts +0 -751
  797. package/src/providers/failover.ts +0 -129
  798. package/src/providers/fireworks/client.ts +0 -20
  799. package/src/providers/gemini/client.ts +0 -285
  800. package/src/providers/ollama/client.ts +0 -30
  801. package/src/providers/openai/client.ts +0 -337
  802. package/src/providers/openrouter/client.ts +0 -20
  803. package/src/providers/ratelimit.ts +0 -93
  804. package/src/providers/registry.ts +0 -146
  805. package/src/providers/retry.ts +0 -81
  806. package/src/providers/stream-timeout.ts +0 -38
  807. package/src/providers/types.ts +0 -109
  808. package/src/runtime/assistant-event-hub.ts +0 -157
  809. package/src/runtime/assistant-event.ts +0 -82
  810. package/src/runtime/channel-approval-parser.ts +0 -60
  811. package/src/runtime/channel-approval-types.ts +0 -71
  812. package/src/runtime/channel-approvals.ts +0 -145
  813. package/src/runtime/gateway-client.ts +0 -58
  814. package/src/runtime/http-server.ts +0 -1076
  815. package/src/runtime/http-types.ts +0 -66
  816. package/src/runtime/routes/app-routes.ts +0 -174
  817. package/src/runtime/routes/attachment-routes.ts +0 -133
  818. package/src/runtime/routes/call-routes.ts +0 -190
  819. package/src/runtime/routes/channel-routes.ts +0 -662
  820. package/src/runtime/routes/conversation-routes.ts +0 -352
  821. package/src/runtime/routes/events-routes.ts +0 -148
  822. package/src/runtime/routes/run-routes.ts +0 -257
  823. package/src/runtime/routes/secret-routes.ts +0 -76
  824. package/src/runtime/run-orchestrator.ts +0 -293
  825. package/src/schedule/recurrence-engine.ts +0 -162
  826. package/src/schedule/recurrence-types.ts +0 -67
  827. package/src/schedule/schedule-store.ts +0 -506
  828. package/src/schedule/scheduler.ts +0 -171
  829. package/src/security/encrypted-store.ts +0 -238
  830. package/src/security/keychain.ts +0 -252
  831. package/src/security/oauth-callback-registry.ts +0 -66
  832. package/src/security/oauth2.ts +0 -274
  833. package/src/security/redaction.ts +0 -89
  834. package/src/security/secret-allowlist.ts +0 -164
  835. package/src/security/secret-ingress.ts +0 -57
  836. package/src/security/secret-scanner.ts +0 -550
  837. package/src/security/secure-keys.ts +0 -180
  838. package/src/security/token-manager.ts +0 -141
  839. package/src/services/published-app-updater.ts +0 -69
  840. package/src/services/vercel-deploy.ts +0 -73
  841. package/src/skills/active-skill-tools.ts +0 -81
  842. package/src/skills/clawhub.ts +0 -414
  843. package/src/skills/include-graph.ts +0 -146
  844. package/src/skills/managed-store.ts +0 -233
  845. package/src/skills/path-classifier.ts +0 -128
  846. package/src/skills/slash-commands.ts +0 -174
  847. package/src/skills/tool-manifest.ts +0 -165
  848. package/src/skills/version-hash.ts +0 -110
  849. package/src/slack/slack-webhook.ts +0 -61
  850. package/src/subagent/index.ts +0 -19
  851. package/src/subagent/manager.ts +0 -511
  852. package/src/subagent/types.ts +0 -69
  853. package/src/swarm/backend-claude-code.ts +0 -145
  854. package/src/swarm/index.ts +0 -44
  855. package/src/swarm/limits.ts +0 -37
  856. package/src/swarm/orchestrator.ts +0 -279
  857. package/src/swarm/plan-validator.ts +0 -151
  858. package/src/swarm/router-planner.ts +0 -100
  859. package/src/swarm/router-prompts.ts +0 -36
  860. package/src/swarm/synthesizer.ts +0 -62
  861. package/src/swarm/types.ts +0 -62
  862. package/src/swarm/worker-backend.ts +0 -121
  863. package/src/swarm/worker-prompts.ts +0 -79
  864. package/src/swarm/worker-runner.ts +0 -164
  865. package/src/tasks/SPEC.md +0 -139
  866. package/src/tasks/candidate-store.ts +0 -86
  867. package/src/tasks/ephemeral-permissions.ts +0 -48
  868. package/src/tasks/task-compiler.ts +0 -199
  869. package/src/tasks/task-runner.ts +0 -90
  870. package/src/tasks/task-scheduler.ts +0 -21
  871. package/src/tasks/task-store.ts +0 -127
  872. package/src/tasks/tool-sanitizer.ts +0 -36
  873. package/src/tools/apps/definitions.ts +0 -59
  874. package/src/tools/apps/executors.ts +0 -313
  875. package/src/tools/apps/open-proxy.ts +0 -43
  876. package/src/tools/apps/registry.ts +0 -16
  877. package/src/tools/assets/materialize.ts +0 -218
  878. package/src/tools/assets/search.ts +0 -361
  879. package/src/tools/browser/__tests__/auth-cache.test.ts +0 -219
  880. package/src/tools/browser/__tests__/auth-detector.test.ts +0 -362
  881. package/src/tools/browser/__tests__/jit-auth.test.ts +0 -189
  882. package/src/tools/browser/api-map.ts +0 -293
  883. package/src/tools/browser/auth-cache.ts +0 -149
  884. package/src/tools/browser/auth-detector.ts +0 -347
  885. package/src/tools/browser/auto-navigate.ts +0 -270
  886. package/src/tools/browser/browser-execution.ts +0 -980
  887. package/src/tools/browser/browser-handoff.ts +0 -79
  888. package/src/tools/browser/browser-manager.ts +0 -715
  889. package/src/tools/browser/browser-screencast.ts +0 -217
  890. package/src/tools/browser/headless-browser.ts +0 -450
  891. package/src/tools/browser/jit-auth.ts +0 -51
  892. package/src/tools/browser/network-recorder.ts +0 -349
  893. package/src/tools/browser/network-recording-types.ts +0 -49
  894. package/src/tools/browser/recording-store.ts +0 -49
  895. package/src/tools/browser/runtime-check.ts +0 -43
  896. package/src/tools/browser/x-auto-navigate.ts +0 -207
  897. package/src/tools/calls/call-end.ts +0 -67
  898. package/src/tools/calls/call-start.ts +0 -81
  899. package/src/tools/calls/call-status.ts +0 -81
  900. package/src/tools/claude-code/claude-code.ts +0 -428
  901. package/src/tools/computer-use/definitions.ts +0 -443
  902. package/src/tools/computer-use/registry.ts +0 -22
  903. package/src/tools/computer-use/request-computer-control.ts +0 -53
  904. package/src/tools/computer-use/skill-proxy-bridge.ts +0 -28
  905. package/src/tools/credentials/account-registry.ts +0 -127
  906. package/src/tools/credentials/broker-types.ts +0 -107
  907. package/src/tools/credentials/broker.ts +0 -372
  908. package/src/tools/credentials/domain-policy.ts +0 -51
  909. package/src/tools/credentials/host-pattern-match.ts +0 -60
  910. package/src/tools/credentials/metadata-store.ts +0 -335
  911. package/src/tools/credentials/policy-types.ts +0 -52
  912. package/src/tools/credentials/policy-validate.ts +0 -80
  913. package/src/tools/credentials/resolve.ts +0 -122
  914. package/src/tools/credentials/selection.ts +0 -159
  915. package/src/tools/credentials/tool-policy.ts +0 -25
  916. package/src/tools/credentials/vault.ts +0 -657
  917. package/src/tools/document/document-tool.ts +0 -92
  918. package/src/tools/document/editor-template.ts +0 -237
  919. package/src/tools/execution-target.ts +0 -21
  920. package/src/tools/execution-timeout.ts +0 -49
  921. package/src/tools/executor.ts +0 -815
  922. package/src/tools/filesystem/edit.ts +0 -127
  923. package/src/tools/filesystem/fuzzy-match.ts +0 -202
  924. package/src/tools/filesystem/read.ts +0 -71
  925. package/src/tools/filesystem/view-image.ts +0 -199
  926. package/src/tools/filesystem/write.ts +0 -79
  927. package/src/tools/followups/followup_create.ts +0 -76
  928. package/src/tools/followups/followup_list.ts +0 -60
  929. package/src/tools/followups/followup_resolve.ts +0 -56
  930. package/src/tools/host-filesystem/edit.ts +0 -125
  931. package/src/tools/host-filesystem/read.ts +0 -80
  932. package/src/tools/host-filesystem/write.ts +0 -76
  933. package/src/tools/host-terminal/cli-discover.ts +0 -180
  934. package/src/tools/host-terminal/host-shell.ts +0 -191
  935. package/src/tools/memory/definitions.ts +0 -69
  936. package/src/tools/memory/handlers.ts +0 -246
  937. package/src/tools/memory/register.ts +0 -66
  938. package/src/tools/network/__tests__/web-search.test.ts +0 -427
  939. package/src/tools/network/domain-normalize.ts +0 -85
  940. package/src/tools/network/script-proxy/__tests__/logging.test.ts +0 -248
  941. package/src/tools/network/script-proxy/__tests__/policy.test.ts +0 -234
  942. package/src/tools/network/script-proxy/__tests__/router.test.ts +0 -76
  943. package/src/tools/network/script-proxy/certs.ts +0 -237
  944. package/src/tools/network/script-proxy/connect-tunnel.ts +0 -82
  945. package/src/tools/network/script-proxy/http-forwarder.ts +0 -151
  946. package/src/tools/network/script-proxy/index.ts +0 -28
  947. package/src/tools/network/script-proxy/logging.ts +0 -196
  948. package/src/tools/network/script-proxy/mitm-handler.ts +0 -269
  949. package/src/tools/network/script-proxy/policy.ts +0 -152
  950. package/src/tools/network/script-proxy/router.ts +0 -60
  951. package/src/tools/network/script-proxy/server.ts +0 -136
  952. package/src/tools/network/script-proxy/session-manager.ts +0 -534
  953. package/src/tools/network/script-proxy/types.ts +0 -125
  954. package/src/tools/network/url-safety.ts +0 -227
  955. package/src/tools/network/web-fetch.ts +0 -713
  956. package/src/tools/network/web-search.ts +0 -296
  957. package/src/tools/policy-context.ts +0 -29
  958. package/src/tools/registry.ts +0 -295
  959. package/src/tools/reminder/reminder-store.ts +0 -148
  960. package/src/tools/reminder/reminder.ts +0 -80
  961. package/src/tools/schedule/create.ts +0 -81
  962. package/src/tools/schedule/delete.ts +0 -28
  963. package/src/tools/schedule/list.ts +0 -69
  964. package/src/tools/schedule/update.ts +0 -97
  965. package/src/tools/shared/filesystem/edit-engine.ts +0 -56
  966. package/src/tools/shared/filesystem/errors.ts +0 -85
  967. package/src/tools/shared/filesystem/file-ops-service.ts +0 -215
  968. package/src/tools/shared/filesystem/format-diff.ts +0 -35
  969. package/src/tools/shared/filesystem/path-policy.ts +0 -125
  970. package/src/tools/shared/filesystem/size-guard.ts +0 -41
  971. package/src/tools/shared/filesystem/types.ts +0 -80
  972. package/src/tools/shared/shell-output.ts +0 -52
  973. package/src/tools/skills/delete-managed.ts +0 -60
  974. package/src/tools/skills/load.ts +0 -139
  975. package/src/tools/skills/sandbox-runner.ts +0 -279
  976. package/src/tools/skills/scaffold-managed.ts +0 -150
  977. package/src/tools/skills/script-contract.ts +0 -6
  978. package/src/tools/skills/skill-script-runner.ts +0 -86
  979. package/src/tools/skills/skill-tool-factory.ts +0 -64
  980. package/src/tools/skills/vellum-catalog.ts +0 -217
  981. package/src/tools/subagent/abort.ts +0 -33
  982. package/src/tools/subagent/message.ts +0 -39
  983. package/src/tools/subagent/read.ts +0 -67
  984. package/src/tools/subagent/spawn.ts +0 -46
  985. package/src/tools/subagent/status.ts +0 -45
  986. package/src/tools/swarm/delegate.ts +0 -183
  987. package/src/tools/system/request-permission.ts +0 -98
  988. package/src/tools/system/version.ts +0 -43
  989. package/src/tools/tasks/index.ts +0 -27
  990. package/src/tools/tasks/task-delete.ts +0 -82
  991. package/src/tools/tasks/task-list.ts +0 -44
  992. package/src/tools/tasks/task-run.ts +0 -97
  993. package/src/tools/tasks/task-save.ts +0 -47
  994. package/src/tools/tasks/work-item-enqueue.ts +0 -234
  995. package/src/tools/tasks/work-item-list.ts +0 -55
  996. package/src/tools/tasks/work-item-remove.ts +0 -60
  997. package/src/tools/tasks/work-item-run.ts +0 -78
  998. package/src/tools/tasks/work-item-update.ts +0 -114
  999. package/src/tools/terminal/backends/docker.ts +0 -372
  1000. package/src/tools/terminal/backends/native.ts +0 -190
  1001. package/src/tools/terminal/backends/types.ts +0 -26
  1002. package/src/tools/terminal/evaluate-typescript.ts +0 -275
  1003. package/src/tools/terminal/parser.ts +0 -413
  1004. package/src/tools/terminal/safe-env.ts +0 -37
  1005. package/src/tools/terminal/sandbox-diagnostics.ts +0 -149
  1006. package/src/tools/terminal/sandbox.ts +0 -44
  1007. package/src/tools/terminal/shell.ts +0 -257
  1008. package/src/tools/tool-manifest.ts +0 -198
  1009. package/src/tools/types.ts +0 -176
  1010. package/src/tools/ui-surface/definitions.ts +0 -244
  1011. package/src/tools/ui-surface/registry.ts +0 -14
  1012. package/src/tools/watch/screen-watch.ts +0 -130
  1013. package/src/tools/watch/watch-state.ts +0 -119
  1014. package/src/tools/watcher/create.ts +0 -64
  1015. package/src/tools/watcher/delete.ts +0 -27
  1016. package/src/tools/watcher/digest.ts +0 -50
  1017. package/src/tools/watcher/list.ts +0 -60
  1018. package/src/tools/watcher/update.ts +0 -56
  1019. package/src/tools/weather/service.ts +0 -551
  1020. package/src/twitter/client.ts +0 -690
  1021. package/src/twitter/oauth-client.ts +0 -102
  1022. package/src/twitter/router.ts +0 -101
  1023. package/src/twitter/session.ts +0 -91
  1024. package/src/usage/actors.ts +0 -24
  1025. package/src/usage/types.ts +0 -37
  1026. package/src/util/clipboard.ts +0 -33
  1027. package/src/util/content-id.ts +0 -16
  1028. package/src/util/debounce.ts +0 -88
  1029. package/src/util/diff.ts +0 -181
  1030. package/src/util/errors.ts +0 -129
  1031. package/src/util/logger.ts +0 -243
  1032. package/src/util/network-info.ts +0 -47
  1033. package/src/util/platform.ts +0 -632
  1034. package/src/util/pricing.ts +0 -150
  1035. package/src/util/promise-guard.ts +0 -37
  1036. package/src/util/retry.ts +0 -98
  1037. package/src/util/spinner.ts +0 -51
  1038. package/src/util/time.ts +0 -16
  1039. package/src/util/truncate.ts +0 -6
  1040. package/src/util/xml.ts +0 -4
  1041. package/src/version.ts +0 -3
  1042. package/src/watcher/constants.ts +0 -11
  1043. package/src/watcher/engine.ts +0 -199
  1044. package/src/watcher/provider-registry.ts +0 -15
  1045. package/src/watcher/provider-types.ts +0 -48
  1046. package/src/watcher/providers/gmail.ts +0 -198
  1047. package/src/watcher/providers/google-calendar.ts +0 -228
  1048. package/src/watcher/providers/slack.ts +0 -129
  1049. package/src/watcher/watcher-store.ts +0 -419
  1050. package/src/work-items/work-item-runner.ts +0 -171
  1051. package/src/work-items/work-item-store.ts +0 -325
  1052. package/src/workspace/commit-message-enrichment-service.ts +0 -284
  1053. package/src/workspace/commit-message-provider.ts +0 -95
  1054. package/src/workspace/git-service.ts +0 -857
  1055. package/src/workspace/heartbeat-service.ts +0 -345
  1056. package/src/workspace/provider-commit-message-generator.ts +0 -285
  1057. package/src/workspace/top-level-renderer.ts +0 -19
  1058. package/src/workspace/top-level-scanner.ts +0 -41
  1059. package/src/workspace/turn-commit.ts +0 -175
  1060. package/tsconfig.json +0 -21
@@ -1,1757 +0,0 @@
1
- import { describe, test, expect } from 'bun:test';
2
- import { serialize } from '../daemon/ipc-protocol.js';
3
- import type {
4
- ClientMessage,
5
- ServerMessage,
6
- } from '../daemon/ipc-protocol.js';
7
-
8
- /**
9
- * Snapshot tests for every IPC message type.
10
- * If any field is added, removed, or renamed, these tests will fail,
11
- * catching accidental protocol changes.
12
- */
13
-
14
- // ---------------------------------------------------------------------------
15
- // Client → Server messages
16
- // ---------------------------------------------------------------------------
17
-
18
- type ClientMessageType = ClientMessage['type'];
19
- const clientMessages: Record<ClientMessageType, ClientMessage> = {
20
- auth: {
21
- type: 'auth',
22
- token: 'abc123def456',
23
- },
24
- user_message: {
25
- type: 'user_message',
26
- sessionId: 'sess-001',
27
- content: 'Hello, assistant!',
28
- },
29
- confirmation_response: {
30
- type: 'confirmation_response',
31
- requestId: 'req-001',
32
- decision: 'allow',
33
- selectedPattern: 'bash:npm *',
34
- selectedScope: '/projects/my-app',
35
- },
36
- session_list: {
37
- type: 'session_list',
38
- },
39
- session_create: {
40
- type: 'session_create',
41
- title: 'New session',
42
- correlationId: 'corr-001',
43
- transport: {
44
- channelId: 'desktop',
45
- hints: ['dashboard-capable'],
46
- uxBrief: 'Prefer dashboard-first onboarding.',
47
- },
48
- threadType: 'standard',
49
- },
50
- session_switch: {
51
- type: 'session_switch',
52
- sessionId: 'sess-002',
53
- },
54
- ping: {
55
- type: 'ping',
56
- },
57
- cancel: {
58
- type: 'cancel',
59
- },
60
- delete_queued_message: {
61
- type: 'delete_queued_message',
62
- sessionId: 'sess-001',
63
- requestId: 'req-001',
64
- },
65
- model_get: {
66
- type: 'model_get',
67
- },
68
- model_set: {
69
- type: 'model_set',
70
- model: 'claude-opus-4-6',
71
- },
72
- image_gen_model_set: {
73
- type: 'image_gen_model_set',
74
- model: 'gemini-2.5-flash-image',
75
- },
76
- history_request: {
77
- type: 'history_request',
78
- sessionId: 'sess-001',
79
- },
80
- undo: {
81
- type: 'undo',
82
- sessionId: 'sess-001',
83
- },
84
- regenerate: {
85
- type: 'regenerate',
86
- sessionId: 'sess-001',
87
- },
88
- usage_request: {
89
- type: 'usage_request',
90
- sessionId: 'sess-001',
91
- },
92
- sandbox_set: {
93
- type: 'sandbox_set',
94
- enabled: true,
95
- },
96
- cu_session_create: {
97
- type: 'cu_session_create',
98
- sessionId: 'cu-sess-001',
99
- task: 'Open Safari and search for weather',
100
- screenWidth: 1920,
101
- screenHeight: 1080,
102
- },
103
- cu_session_abort: {
104
- type: 'cu_session_abort',
105
- sessionId: 'cu-sess-001',
106
- },
107
- cu_observation: {
108
- type: 'cu_observation',
109
- sessionId: 'cu-sess-001',
110
- axTree: '<ax-tree>...</ax-tree>',
111
- axDiff: '+ new element',
112
- secondaryWindows: 'Finder, Terminal',
113
- screenshot: 'base64-screenshot-data',
114
- screenshotWidthPx: 1280,
115
- screenshotHeightPx: 720,
116
- screenWidthPt: 1920,
117
- screenHeightPt: 1080,
118
- coordinateOrigin: 'top_left',
119
- captureDisplayId: 69734112,
120
- executionResult: 'click completed',
121
- },
122
- ride_shotgun_start: {
123
- type: 'ride_shotgun_start',
124
- durationSeconds: 300,
125
- intervalSeconds: 10,
126
- },
127
- ride_shotgun_stop: {
128
- type: 'ride_shotgun_stop',
129
- watchId: 'watch-001',
130
- },
131
- watch_observation: {
132
- type: 'watch_observation',
133
- watchId: 'watch-001',
134
- sessionId: 'sess-001',
135
- ocrText: 'Screen text captured during watch',
136
- appName: 'Xcode',
137
- windowTitle: 'Project.swift',
138
- bundleIdentifier: 'com.apple.dt.Xcode',
139
- timestamp: 1700000000,
140
- captureIndex: 0,
141
- totalExpected: 10,
142
- },
143
- task_submit: {
144
- type: 'task_submit',
145
- task: 'Open Safari and search for weather',
146
- screenWidth: 1920,
147
- screenHeight: 1080,
148
- },
149
- ui_surface_action: {
150
- type: 'ui_surface_action',
151
- sessionId: 'sess-001',
152
- surfaceId: 'surface-001',
153
- actionId: 'btn-ok',
154
- data: { selectedItem: 'item-1' },
155
- },
156
- app_data_request: {
157
- type: 'app_data_request',
158
- surfaceId: 'surface-001',
159
- callId: 'call-001',
160
- method: 'query',
161
- appId: 'app-001',
162
- },
163
- skills_list: {
164
- type: 'skills_list',
165
- },
166
- skill_detail: {
167
- type: 'skill_detail',
168
- skillId: 'my-skill',
169
- },
170
- skills_enable: {
171
- type: 'skills_enable',
172
- name: 'my-skill',
173
- },
174
- skills_disable: {
175
- type: 'skills_disable',
176
- name: 'my-skill',
177
- },
178
- skills_configure: {
179
- type: 'skills_configure',
180
- name: 'my-skill',
181
- env: { API_KEY: 'test-key' },
182
- apiKey: 'sk-test',
183
- config: { verbose: true },
184
- },
185
- skills_install: {
186
- type: 'skills_install',
187
- slug: 'clawhub/my-skill',
188
- version: '1.0.0',
189
- },
190
- skills_uninstall: {
191
- type: 'skills_uninstall',
192
- name: 'my-skill',
193
- },
194
- skills_update: {
195
- type: 'skills_update',
196
- name: 'my-skill',
197
- },
198
- skills_check_updates: {
199
- type: 'skills_check_updates',
200
- },
201
- skills_search: {
202
- type: 'skills_search',
203
- query: 'weather',
204
- },
205
- skills_inspect: {
206
- type: 'skills_inspect',
207
- slug: 'clawhub/my-skill',
208
- },
209
- suggestion_request: {
210
- type: 'suggestion_request',
211
- sessionId: 'sess-001',
212
- requestId: 'req-suggest-001',
213
- },
214
- add_trust_rule: {
215
- type: 'add_trust_rule',
216
- toolName: 'bash',
217
- pattern: 'git *',
218
- scope: '/projects/my-app',
219
- decision: 'allow',
220
- allowHighRisk: true,
221
- executionTarget: 'host',
222
- },
223
- trust_rules_list: {
224
- type: 'trust_rules_list',
225
- },
226
- remove_trust_rule: {
227
- type: 'remove_trust_rule',
228
- id: 'rule-001',
229
- },
230
- update_trust_rule: {
231
- type: 'update_trust_rule',
232
- id: 'rule-001',
233
- tool: 'bash',
234
- pattern: 'git push *',
235
- scope: '/projects/my-app',
236
- decision: 'allow',
237
- priority: 50,
238
- },
239
- schedules_list: {
240
- type: 'schedules_list',
241
- },
242
- schedule_toggle: {
243
- type: 'schedule_toggle',
244
- id: 'sched-001',
245
- enabled: false,
246
- },
247
- schedule_remove: {
248
- type: 'schedule_remove',
249
- id: 'sched-001',
250
- },
251
- reminders_list: {
252
- type: 'reminders_list',
253
- },
254
- reminder_cancel: {
255
- type: 'reminder_cancel',
256
- id: 'rem-001',
257
- },
258
- bundle_app: {
259
- type: 'bundle_app',
260
- appId: 'app-001',
261
- },
262
- app_open_request: {
263
- type: 'app_open_request',
264
- appId: 'app-001',
265
- },
266
- apps_list: {
267
- type: 'apps_list',
268
- },
269
- home_base_get: {
270
- type: 'home_base_get',
271
- ensureLinked: true,
272
- },
273
- shared_apps_list: {
274
- type: 'shared_apps_list',
275
- },
276
- shared_app_delete: {
277
- type: 'shared_app_delete',
278
- uuid: 'abc-123-def',
279
- },
280
- fork_shared_app: {
281
- type: 'fork_shared_app',
282
- uuid: 'abc-123-def',
283
- },
284
- open_bundle: {
285
- type: 'open_bundle',
286
- filePath: '/tmp/My_App.vellumapp',
287
- },
288
- sign_bundle_payload_response: {
289
- type: 'sign_bundle_payload_response',
290
- requestId: 'req-sign-001',
291
- signature: 'dGVzdC1zaWduYXR1cmU=',
292
- keyId: 'abc123',
293
- publicKey: 'dGVzdA==',
294
- },
295
- get_signing_identity_response: {
296
- type: 'get_signing_identity_response',
297
- requestId: 'req-identity-001',
298
- keyId: 'abc123',
299
- publicKey: 'dGVzdA==',
300
- },
301
- secret_response: {
302
- type: 'secret_response',
303
- requestId: 'req-secret-001',
304
- value: 'ghp_test_token_value',
305
- delivery: 'store',
306
- },
307
- sessions_clear: {
308
- type: 'sessions_clear',
309
- },
310
- ipc_blob_probe: {
311
- type: 'ipc_blob_probe',
312
- probeId: 'aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee',
313
- nonceSha256: 'e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855',
314
- },
315
- gallery_list: {
316
- type: 'gallery_list',
317
- },
318
- gallery_install: {
319
- type: 'gallery_install',
320
- galleryAppId: 'gallery-focus-timer',
321
- },
322
- app_update_preview: {
323
- type: 'app_update_preview',
324
- appId: 'app-001',
325
- preview: 'base64-png-data',
326
- },
327
- app_preview_request: {
328
- type: 'app_preview_request',
329
- appId: 'app-001',
330
- },
331
- app_history_request: {
332
- type: 'app_history_request',
333
- appId: 'app-001',
334
- limit: 25,
335
- },
336
- app_diff_request: {
337
- type: 'app_diff_request',
338
- appId: 'app-001',
339
- fromCommit: 'abc123def456',
340
- toCommit: '789abc123def',
341
- },
342
- app_file_at_version_request: {
343
- type: 'app_file_at_version_request',
344
- appId: 'app-001',
345
- path: 'index.html',
346
- commitHash: 'abc123def456',
347
- },
348
- app_restore_request: {
349
- type: 'app_restore_request',
350
- appId: 'app-001',
351
- commitHash: 'abc123def456',
352
- },
353
- share_app_cloud: {
354
- type: 'share_app_cloud',
355
- appId: 'app-001',
356
- },
357
- share_to_slack: {
358
- type: 'share_to_slack',
359
- appId: 'app-001',
360
- },
361
- slack_webhook_config: {
362
- type: 'slack_webhook_config',
363
- action: 'get',
364
- },
365
- ingress_config: {
366
- type: 'ingress_config',
367
- action: 'get',
368
- },
369
- vercel_api_config: {
370
- type: 'vercel_api_config',
371
- action: 'get',
372
- },
373
- twitter_integration_config: {
374
- type: 'twitter_integration_config',
375
- action: 'get',
376
- },
377
- telegram_config: {
378
- type: 'telegram_config',
379
- action: 'get',
380
- },
381
- twitter_auth_start: {
382
- type: 'twitter_auth_start',
383
- },
384
- twitter_auth_status: {
385
- type: 'twitter_auth_status',
386
- },
387
- link_open_request: {
388
- type: 'link_open_request',
389
- url: 'https://example.com',
390
- },
391
- ui_surface_undo: {
392
- type: 'ui_surface_undo',
393
- sessionId: 'sess-001',
394
- surfaceId: 'surface-001',
395
- },
396
- publish_page: {
397
- type: 'publish_page',
398
- html: '<html><body>Hello</body></html>',
399
- },
400
- unpublish_page: {
401
- type: 'unpublish_page',
402
- deploymentId: 'dpl-001',
403
- },
404
- diagnostics_export_request: {
405
- type: 'diagnostics_export_request',
406
- conversationId: 'conv-001',
407
- anchorMessageId: 'msg-042',
408
- },
409
- accept_starter_bundle: {
410
- type: 'accept_starter_bundle',
411
- },
412
- env_vars_request: {
413
- type: 'env_vars_request',
414
- },
415
- integration_list: {
416
- type: 'integration_list',
417
- },
418
- integration_connect: {
419
- type: 'integration_connect',
420
- integrationId: 'gmail',
421
- },
422
- integration_disconnect: {
423
- type: 'integration_disconnect',
424
- integrationId: 'gmail',
425
- },
426
- browser_cdp_response: {
427
- type: 'browser_cdp_response',
428
- sessionId: 'test-session',
429
- success: true,
430
- },
431
- browser_user_click: {
432
- type: 'browser_user_click',
433
- sessionId: 'test-session',
434
- surfaceId: 'test-surface',
435
- x: 100,
436
- y: 200,
437
- },
438
- browser_user_scroll: {
439
- type: 'browser_user_scroll',
440
- sessionId: 'test-session',
441
- surfaceId: 'test-surface',
442
- deltaX: 0,
443
- deltaY: -100,
444
- x: 100,
445
- y: 200,
446
- },
447
- browser_user_keypress: {
448
- type: 'browser_user_keypress',
449
- sessionId: 'test-session',
450
- surfaceId: 'test-surface',
451
- key: 'Enter',
452
- },
453
- browser_interactive_mode: {
454
- type: 'browser_interactive_mode',
455
- sessionId: 'test-session',
456
- surfaceId: 'test-surface',
457
- enabled: true,
458
- },
459
- work_items_list: {
460
- type: 'work_items_list',
461
- status: 'queued',
462
- },
463
- work_item_get: {
464
- type: 'work_item_get',
465
- id: 'wi-001',
466
- },
467
- work_item_update: {
468
- type: 'work_item_update',
469
- id: 'wi-001',
470
- title: 'Updated title',
471
- status: 'running',
472
- },
473
- work_item_complete: {
474
- type: 'work_item_complete',
475
- id: 'wi-001',
476
- },
477
- work_item_delete: {
478
- type: 'work_item_delete',
479
- id: 'wi-001',
480
- },
481
- work_item_run_task: {
482
- type: 'work_item_run_task',
483
- id: 'wi-001',
484
- },
485
- work_item_output: {
486
- type: 'work_item_output',
487
- id: 'wi-001',
488
- },
489
- work_item_preflight: {
490
- type: 'work_item_preflight',
491
- id: 'wi-001',
492
- },
493
- work_item_approve_permissions: {
494
- type: 'work_item_approve_permissions',
495
- id: 'wi-001',
496
- approvedTools: ['bash', 'file_write'],
497
- },
498
- work_item_cancel: {
499
- type: 'work_item_cancel',
500
- id: 'wi-001',
501
- },
502
- document_save: {
503
- type: 'document_save',
504
- surfaceId: 'doc-001',
505
- conversationId: 'conv-001',
506
- title: 'My Document',
507
- content: '# Hello',
508
- wordCount: 1,
509
- },
510
- document_load: {
511
- type: 'document_load',
512
- surfaceId: 'doc-001',
513
- },
514
- document_list: {
515
- type: 'document_list',
516
- conversationId: 'conv-001',
517
- },
518
- subagent_abort: {
519
- type: 'subagent_abort',
520
- subagentId: 'sub-001',
521
- },
522
- subagent_status: {
523
- type: 'subagent_status',
524
- subagentId: 'sub-001',
525
- },
526
- subagent_message: {
527
- type: 'subagent_message',
528
- subagentId: 'sub-001',
529
- content: 'Hello subagent',
530
- },
531
- subagent_detail_request: {
532
- type: 'subagent_detail_request',
533
- subagentId: 'sub-001',
534
- conversationId: 'conv-001',
535
- },
536
- workspace_files_list: {
537
- type: 'workspace_files_list',
538
- },
539
- workspace_file_read: {
540
- type: 'workspace_file_read',
541
- path: 'IDENTITY.md',
542
- },
543
- identity_get: {
544
- type: 'identity_get',
545
- },
546
- tool_permission_simulate: {
547
- type: 'tool_permission_simulate',
548
- toolName: 'bash',
549
- input: { command: 'rm -rf /tmp/test' },
550
- workingDir: '/projects/my-app',
551
- isInteractive: true,
552
- forcePromptSideEffects: false,
553
- },
554
- tool_names_list: {
555
- type: 'tool_names_list',
556
- },
557
- };
558
-
559
- // ---------------------------------------------------------------------------
560
- // Server → Client messages
561
- // ---------------------------------------------------------------------------
562
-
563
- type ServerMessageType = ServerMessage['type'];
564
- const serverMessages: Record<ServerMessageType, ServerMessage> = {
565
- auth_result: {
566
- type: 'auth_result',
567
- success: true,
568
- },
569
- user_message_echo: {
570
- type: 'user_message_echo',
571
- text: 'Check the weather for me',
572
- sessionId: 'sess-001',
573
- },
574
- assistant_text_delta: {
575
- type: 'assistant_text_delta',
576
- text: 'Here is some output',
577
- sessionId: 'sess-001',
578
- },
579
- assistant_thinking_delta: {
580
- type: 'assistant_thinking_delta',
581
- thinking: 'Let me consider this...',
582
- },
583
- tool_use_start: {
584
- type: 'tool_use_start',
585
- toolName: 'bash',
586
- input: { command: 'ls -la' },
587
- },
588
- tool_output_chunk: {
589
- type: 'tool_output_chunk',
590
- chunk: 'file1.ts\nfile2.ts\n',
591
- },
592
- tool_input_delta: {
593
- type: 'tool_input_delta',
594
- toolName: 'app_create',
595
- content: '{"html": "<div>Hello</div>"}',
596
- sessionId: 'sess-001',
597
- },
598
- tool_result: {
599
- type: 'tool_result',
600
- toolName: 'bash',
601
- result: 'Command completed successfully',
602
- isError: false,
603
- diff: {
604
- filePath: '/tmp/test.ts',
605
- oldContent: 'const x = 1;',
606
- newContent: 'const x = 2;',
607
- isNewFile: false,
608
- },
609
- status: 'success',
610
- },
611
- secret_request: {
612
- type: 'secret_request',
613
- requestId: 'req-secret-001',
614
- service: 'github',
615
- field: 'token',
616
- label: 'GitHub Personal Access Token',
617
- description: 'Needed to push changes',
618
- placeholder: 'ghp_xxxxxxxxxxxx',
619
- sessionId: 'sess-001',
620
- purpose: 'Push code changes to GitHub',
621
- allowedTools: ['browser_fill_credential'],
622
- allowedDomains: ['github.com'],
623
- allowOneTimeSend: false,
624
- },
625
- confirmation_request: {
626
- type: 'confirmation_request',
627
- requestId: 'req-002',
628
- toolName: 'bash',
629
- input: { command: 'rm -rf /tmp/test' },
630
- riskLevel: 'high',
631
- executionTarget: 'sandbox',
632
- allowlistOptions: [
633
- { label: 'Allow rm commands', description: 'Allow rm commands', pattern: 'bash:rm *' },
634
- ],
635
- scopeOptions: [
636
- { label: 'In /tmp', scope: '/tmp' },
637
- ],
638
- diff: {
639
- filePath: '/tmp/test.ts',
640
- oldContent: 'old',
641
- newContent: 'new',
642
- isNewFile: false,
643
- },
644
- sandboxed: false,
645
- sessionId: 'sess-001',
646
- },
647
- message_complete: {
648
- type: 'message_complete',
649
- sessionId: 'sess-001',
650
- attachments: [
651
- { filename: 'chart.png', mimeType: 'image/png', data: 'iVBORw0K' },
652
- ],
653
- },
654
- session_info: {
655
- type: 'session_info',
656
- sessionId: 'sess-001',
657
- title: 'My session',
658
- correlationId: 'corr-001',
659
- threadType: 'standard',
660
- },
661
- session_list_response: {
662
- type: 'session_list_response',
663
- sessions: [
664
- { id: 'sess-001', title: 'First session', updatedAt: 1700000000, threadType: 'standard' },
665
- { id: 'sess-002', title: 'Second session', updatedAt: 1700001000, threadType: 'standard' },
666
- ],
667
- },
668
- sessions_clear_response: {
669
- type: 'sessions_clear_response',
670
- cleared: 3,
671
- },
672
- error: {
673
- type: 'error',
674
- message: 'Something went wrong',
675
- },
676
- pong: {
677
- type: 'pong',
678
- },
679
- daemon_status: {
680
- type: 'daemon_status',
681
- httpPort: 7821,
682
- },
683
- generation_cancelled: {
684
- type: 'generation_cancelled',
685
- },
686
- generation_handoff: {
687
- type: 'generation_handoff',
688
- sessionId: 'sess-001',
689
- requestId: 'req-handoff-001',
690
- queuedCount: 2,
691
- attachments: [
692
- { filename: 'report.pdf', mimeType: 'application/pdf', data: 'JVBER' },
693
- ],
694
- },
695
- model_info: {
696
- type: 'model_info',
697
- model: 'claude-opus-4-6',
698
- provider: 'anthropic',
699
- },
700
- history_response: {
701
- type: 'history_response',
702
- sessionId: 'sess-history-001',
703
- messages: [
704
- { role: 'user', text: 'Hello', timestamp: 1700000000 },
705
- {
706
- role: 'assistant',
707
- text: 'Hi there!',
708
- timestamp: 1700000001,
709
- attachments: [
710
- { filename: 'result.png', mimeType: 'image/png', data: 'iVBORw0K' },
711
- ],
712
- },
713
- ],
714
- },
715
- undo_complete: {
716
- type: 'undo_complete',
717
- removedCount: 2,
718
- sessionId: 'session-abc',
719
- },
720
- usage_update: {
721
- type: 'usage_update',
722
- inputTokens: 150,
723
- outputTokens: 50,
724
- totalInputTokens: 1500,
725
- totalOutputTokens: 500,
726
- estimatedCost: 0.025,
727
- model: 'claude-opus-4-6',
728
- },
729
- usage_response: {
730
- type: 'usage_response',
731
- totalInputTokens: 1500,
732
- totalOutputTokens: 500,
733
- estimatedCost: 0.025,
734
- model: 'claude-opus-4-6',
735
- },
736
- context_compacted: {
737
- type: 'context_compacted',
738
- previousEstimatedInputTokens: 220000,
739
- estimatedInputTokens: 108000,
740
- maxInputTokens: 180000,
741
- thresholdTokens: 144000,
742
- compactedMessages: 56,
743
- summaryCalls: 3,
744
- summaryInputTokens: 4200,
745
- summaryOutputTokens: 900,
746
- summaryModel: 'claude-opus-4-6',
747
- },
748
- secret_detected: {
749
- type: 'secret_detected',
750
- toolName: 'bash',
751
- matches: [
752
- { type: 'api_key', redactedValue: 'sk-****abcd' },
753
- ],
754
- action: 'redact',
755
- },
756
- memory_recalled: {
757
- type: 'memory_recalled',
758
- provider: 'openai',
759
- model: 'text-embedding-3-small',
760
- lexicalHits: 12,
761
- semanticHits: 8,
762
- recencyHits: 6,
763
- entityHits: 3,
764
- relationSeedEntityCount: 2,
765
- relationTraversedEdgeCount: 5,
766
- relationNeighborEntityCount: 3,
767
- relationExpandedItemCount: 4,
768
- earlyTerminated: false,
769
- mergedCount: 18,
770
- selectedCount: 10,
771
- rerankApplied: false,
772
- injectedTokens: 480,
773
- latencyMs: 55,
774
- topCandidates: [
775
- { key: 'segment:seg-1', type: 'segment', kind: 'fact', finalScore: 0.85, lexical: 0.9, semantic: 0.7, recency: 0.3 },
776
- { key: 'item:item-1', type: 'item', kind: 'preference', finalScore: 0.72, lexical: 0.6, semantic: 0.8, recency: 0.1 },
777
- ],
778
- },
779
- memory_status: {
780
- type: 'memory_status',
781
- enabled: true,
782
- degraded: false,
783
- provider: 'openai',
784
- model: 'text-embedding-3-small',
785
- conflictsPending: 2,
786
- conflictsResolved: 7,
787
- oldestPendingConflictAgeMs: 90_000,
788
- cleanupResolvedJobsPending: 1,
789
- cleanupSupersededJobsPending: 0,
790
- cleanupResolvedJobsCompleted24h: 12,
791
- cleanupSupersededJobsCompleted24h: 8,
792
- },
793
- cu_action: {
794
- type: 'cu_action',
795
- sessionId: 'cu-sess-001',
796
- toolName: 'click',
797
- input: { x: 100, y: 200 },
798
- reasoning: 'Clicking the search button',
799
- stepNumber: 1,
800
- },
801
- cu_complete: {
802
- type: 'cu_complete',
803
- sessionId: 'cu-sess-001',
804
- summary: 'Successfully opened Safari and searched for weather',
805
- stepCount: 5,
806
- },
807
- cu_error: {
808
- type: 'cu_error',
809
- sessionId: 'cu-sess-001',
810
- message: 'Session timed out after 30 steps',
811
- },
812
- task_routed: {
813
- type: 'task_routed',
814
- sessionId: 'sess-routed-001',
815
- interactionType: 'computer_use',
816
- },
817
- ride_shotgun_result: {
818
- type: 'ride_shotgun_result',
819
- sessionId: 'sess-shotgun-001',
820
- watchId: 'watch-shotgun-001',
821
- summary: 'User was debugging a test failure',
822
- observationCount: 5,
823
- },
824
- ui_surface_show: {
825
- type: 'ui_surface_show',
826
- sessionId: 'sess-001',
827
- surfaceId: 'surface-001',
828
- surfaceType: 'card',
829
- title: 'Status Update',
830
- data: { title: 'Build Complete', body: 'All tests passed.' },
831
- actions: [{ id: 'dismiss', label: 'OK', style: 'primary' }],
832
- },
833
- ui_surface_update: {
834
- type: 'ui_surface_update',
835
- sessionId: 'sess-001',
836
- surfaceId: 'surface-001',
837
- data: { body: 'Updated body text.' },
838
- },
839
- ui_surface_dismiss: {
840
- type: 'ui_surface_dismiss',
841
- sessionId: 'sess-001',
842
- surfaceId: 'surface-001',
843
- },
844
- ui_surface_complete: {
845
- type: 'ui_surface_complete',
846
- sessionId: 'sess-001',
847
- surfaceId: 'surface-001',
848
- summary: 'Confirmed',
849
- },
850
- app_data_response: {
851
- type: 'app_data_response',
852
- surfaceId: 'surface-001',
853
- callId: 'call-001',
854
- success: true,
855
- result: [{ id: 'rec-001', appId: 'app-001', data: { name: 'Test' }, createdAt: 1700000000, updatedAt: 1700000000 }],
856
- },
857
- skills_list_response: {
858
- type: 'skills_list_response',
859
- skills: [
860
- {
861
- id: 'my-skill',
862
- name: 'My Skill',
863
- description: 'A test skill',
864
- emoji: '🔧',
865
- source: 'bundled',
866
- state: 'enabled',
867
- degraded: false,
868
- updateAvailable: false,
869
- userInvocable: true,
870
- },
871
- ],
872
- },
873
- skills_state_changed: {
874
- type: 'skills_state_changed',
875
- name: 'my-skill',
876
- state: 'enabled',
877
- },
878
- skills_operation_response: {
879
- type: 'skills_operation_response',
880
- operation: 'enable',
881
- success: true,
882
- },
883
- skill_detail_response: {
884
- type: 'skill_detail_response',
885
- skillId: 'my-skill',
886
- body: '# Skill content\n\nDo the thing.',
887
- },
888
- skills_inspect_response: {
889
- type: 'skills_inspect_response',
890
- slug: 'clawhub/my-skill',
891
- data: {
892
- skill: { slug: 'clawhub/my-skill', displayName: 'My Skill', summary: 'A test skill' },
893
- owner: { handle: 'clawhub', displayName: 'ClaWHub' },
894
- stats: { stars: 42, installs: 1000, downloads: 5000, versions: 3 },
895
- createdAt: 1700000000,
896
- updatedAt: 1700001000,
897
- latestVersion: { version: '1.2.0', changelog: 'Bug fixes' },
898
- files: [{ path: 'SKILL.md', size: 1024 }],
899
- skillMdContent: '# My Skill\n\nDoes things.',
900
- },
901
- },
902
- suggestion_response: {
903
- type: 'suggestion_response',
904
- requestId: 'req-suggest-001',
905
- suggestion: 'Tell me more about that',
906
- source: 'llm',
907
- },
908
- message_queued: {
909
- type: 'message_queued',
910
- sessionId: 'sess-001',
911
- requestId: 'req-queue-001',
912
- position: 1,
913
- },
914
- message_dequeued: {
915
- type: 'message_dequeued',
916
- sessionId: 'sess-001',
917
- requestId: 'req-queue-001',
918
- },
919
- message_queued_deleted: {
920
- type: 'message_queued_deleted',
921
- sessionId: 'sess-001',
922
- requestId: 'req-queue-001',
923
- },
924
- reminder_fired: {
925
- type: 'reminder_fired',
926
- reminderId: 'rem-001',
927
- label: 'Call Sidd',
928
- message: 'Remember to call Sidd about the project',
929
- },
930
- schedule_complete: {
931
- type: 'schedule_complete',
932
- scheduleId: 'sched-001',
933
- name: 'Daily backup',
934
- },
935
- watcher_notification: {
936
- type: 'watcher_notification',
937
- title: 'Watcher disabled: My Gmail',
938
- body: 'Disabled after 5 consecutive errors.',
939
- },
940
- watcher_escalation: {
941
- type: 'watcher_escalation',
942
- title: 'Urgent email from Alice',
943
- body: 'Meeting rescheduled to 3pm today.',
944
- },
945
- agent_heartbeat_alert: {
946
- type: 'agent_heartbeat_alert',
947
- title: 'Agent heartbeat stalled',
948
- body: 'No activity detected in the last 60 minutes.',
949
- },
950
- watch_started: {
951
- type: 'watch_started',
952
- sessionId: 'sess-001',
953
- watchId: 'watch-001',
954
- durationSeconds: 300,
955
- intervalSeconds: 5,
956
- },
957
- watch_complete_request: {
958
- type: 'watch_complete_request',
959
- sessionId: 'sess-001',
960
- watchId: 'watch-001',
961
- },
962
- trust_rules_list_response: {
963
- type: 'trust_rules_list_response',
964
- rules: [
965
- {
966
- id: 'rule-001',
967
- tool: 'bash',
968
- pattern: 'git *',
969
- scope: '/projects/my-app',
970
- decision: 'allow',
971
- priority: 100,
972
- createdAt: 1700000000,
973
- },
974
- ],
975
- },
976
- schedules_list_response: {
977
- type: 'schedules_list_response',
978
- schedules: [
979
- {
980
- id: 'sched-001',
981
- name: 'Daily standup reminder',
982
- enabled: true,
983
- syntax: 'cron',
984
- expression: '0 9 * * 1-5',
985
- cronExpression: '0 9 * * 1-5',
986
- timezone: 'America/Los_Angeles',
987
- message: 'Remind me about the standup',
988
- nextRunAt: 1700100000000,
989
- lastRunAt: 1700000000000,
990
- lastStatus: 'ok',
991
- description: 'Every weekday at 9:00 AM',
992
- },
993
- ],
994
- },
995
- reminders_list_response: {
996
- type: 'reminders_list_response',
997
- reminders: [
998
- {
999
- id: 'rem-001',
1000
- label: 'Call Sidd',
1001
- message: 'Remember to call Sidd about the project',
1002
- fireAt: 1700100000000,
1003
- mode: 'notify',
1004
- status: 'pending',
1005
- firedAt: null,
1006
- createdAt: 1700000000000,
1007
- },
1008
- ],
1009
- },
1010
- bundle_app_response: {
1011
- type: 'bundle_app_response',
1012
- bundlePath: '/tmp/My_App-abc12345.vellumapp',
1013
- manifest: {
1014
- format_version: 1,
1015
- name: 'My App',
1016
- description: 'A test app',
1017
- created_at: '2026-01-01T00:00:00.000Z',
1018
- created_by: 'vellum-assistant/0.1.6',
1019
- entry: 'index.html',
1020
- capabilities: [],
1021
- version: '1.0.0',
1022
- content_id: 'a1b2c3d4e5f6a7b8',
1023
- },
1024
- },
1025
- apps_list_response: {
1026
- type: 'apps_list_response',
1027
- apps: [
1028
- {
1029
- id: 'app-001',
1030
- name: 'My App',
1031
- description: 'A test app',
1032
- icon: '\u{1F4F1}',
1033
- preview: 'iVBORw0KGgoAAAANSUhEUg==',
1034
- createdAt: 1700000000,
1035
- version: '1.0.0',
1036
- contentId: 'a1b2c3d4e5f6a7b8',
1037
- },
1038
- ],
1039
- },
1040
- home_base_get_response: {
1041
- type: 'home_base_get_response',
1042
- homeBase: {
1043
- appId: 'home-base-001',
1044
- source: 'prebuilt_seed',
1045
- starterTasks: [
1046
- 'Change the look and feel',
1047
- 'Research something for me about X',
1048
- 'Turn it into a webpage or interactive UI',
1049
- ],
1050
- onboardingTasks: [
1051
- 'Make it mine',
1052
- 'Enable voice mode',
1053
- 'Enable computer control',
1054
- 'Try ambient mode',
1055
- ],
1056
- preview: {
1057
- title: 'Home Base',
1058
- subtitle: 'Dashboard',
1059
- description: 'Prebuilt onboarding + starter task canvas',
1060
- icon: '\u{1F3E0}',
1061
- metrics: [
1062
- { label: 'Starter tasks', value: '3' },
1063
- { label: 'Onboarding tasks', value: '4' },
1064
- ],
1065
- },
1066
- },
1067
- },
1068
- shared_apps_list_response: {
1069
- type: 'shared_apps_list_response',
1070
- apps: [
1071
- {
1072
- uuid: 'abc-123-def',
1073
- name: 'Shared App',
1074
- description: 'A shared app',
1075
- icon: '\u{1F4F1}',
1076
- preview: 'iVBORw0KGgoAAAANSUhEUg==',
1077
- entry: 'index.html',
1078
- trustTier: 'signed',
1079
- signerDisplayName: 'Test User',
1080
- bundleSizeBytes: 4096,
1081
- installedAt: '2026-01-15T00:00:00Z',
1082
- version: '1.2.0',
1083
- contentId: 'abcdef0123456789',
1084
- updateAvailable: true,
1085
- },
1086
- ],
1087
- },
1088
- shared_app_delete_response: {
1089
- type: 'shared_app_delete_response',
1090
- success: true,
1091
- },
1092
- fork_shared_app_response: {
1093
- type: 'fork_shared_app_response',
1094
- success: true,
1095
- appId: 'new-app-id',
1096
- name: 'My App (Fork)',
1097
- },
1098
- open_bundle_response: {
1099
- type: 'open_bundle_response',
1100
- manifest: {
1101
- format_version: 1,
1102
- name: 'My App',
1103
- description: 'A test app',
1104
- created_at: '2026-01-01T00:00:00.000Z',
1105
- created_by: 'vellum-assistant/0.1.6',
1106
- entry: 'index.html',
1107
- capabilities: [],
1108
- },
1109
- scanResult: {
1110
- passed: true,
1111
- blocked: [],
1112
- warnings: ['Use of fetch() detected'],
1113
- },
1114
- signatureResult: {
1115
- trustTier: 'signed',
1116
- signerKeyId: 'key-001',
1117
- signerDisplayName: 'Test Signer',
1118
- signerAccount: 'test@example.com',
1119
- },
1120
- bundleSizeBytes: 4096,
1121
- },
1122
- sign_bundle_payload: {
1123
- type: 'sign_bundle_payload',
1124
- requestId: 'req-sign-001',
1125
- payload: '{"content_hashes":{},"manifest":{}}',
1126
- },
1127
- get_signing_identity: {
1128
- type: 'get_signing_identity',
1129
- requestId: 'req-identity-001',
1130
- },
1131
- session_error: {
1132
- type: 'session_error',
1133
- sessionId: 'sess-001',
1134
- code: 'PROVIDER_NETWORK',
1135
- userMessage: 'Unable to reach the AI provider. Please try again.',
1136
- retryable: true,
1137
- debugDetails: 'ETIMEDOUT after 30000ms',
1138
- },
1139
- trace_event: {
1140
- type: 'trace_event',
1141
- eventId: 'evt-001',
1142
- sessionId: 'sess-001',
1143
- requestId: 'req-001',
1144
- timestampMs: 1700000000000,
1145
- sequence: 1,
1146
- kind: 'tool_started',
1147
- status: 'info',
1148
- summary: 'Running bash: ls -la',
1149
- attributes: { toolName: 'bash', command: 'ls -la', riskLevel: 'low', sandboxed: true },
1150
- },
1151
- ipc_blob_probe_result: {
1152
- type: 'ipc_blob_probe_result',
1153
- probeId: 'aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee',
1154
- ok: true,
1155
- observedNonceSha256: 'e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855',
1156
- },
1157
- gallery_list_response: {
1158
- type: 'gallery_list_response',
1159
- gallery: {
1160
- version: 1,
1161
- updatedAt: '2026-02-15T00:00:00Z',
1162
- categories: [{ id: 'productivity', name: 'Productivity', icon: '\u{1F4CB}' }],
1163
- apps: [],
1164
- },
1165
- },
1166
- gallery_install_response: {
1167
- type: 'gallery_install_response',
1168
- success: true,
1169
- appId: 'app-new-001',
1170
- name: 'Focus Timer',
1171
- },
1172
- share_app_cloud_response: {
1173
- type: 'share_app_cloud_response',
1174
- success: true,
1175
- shareToken: 'abc123def456',
1176
- shareUrl: 'http://localhost:7821/v1/apps/shared/abc123def456',
1177
- },
1178
- share_to_slack_response: {
1179
- type: 'share_to_slack_response',
1180
- success: true,
1181
- },
1182
- slack_webhook_config_response: {
1183
- type: 'slack_webhook_config_response',
1184
- webhookUrl: 'https://hooks.slack.com/services/T00/B00/xxx',
1185
- success: true,
1186
- },
1187
- ingress_config_response: {
1188
- type: 'ingress_config_response',
1189
- enabled: true,
1190
- publicBaseUrl: 'https://example.com',
1191
- localGatewayTarget: 'http://127.0.0.1:7830',
1192
- success: true,
1193
- },
1194
- vercel_api_config_response: {
1195
- type: 'vercel_api_config_response',
1196
- hasToken: true,
1197
- success: true,
1198
- },
1199
- twitter_integration_config_response: {
1200
- type: 'twitter_integration_config_response',
1201
- success: true,
1202
- mode: 'local_byo',
1203
- managedAvailable: false,
1204
- localClientConfigured: true,
1205
- connected: false,
1206
- },
1207
- telegram_config_response: {
1208
- type: 'telegram_config_response',
1209
- success: true,
1210
- hasBotToken: true,
1211
- botUsername: 'my_test_bot',
1212
- connected: true,
1213
- hasWebhookSecret: true,
1214
- },
1215
- twitter_auth_result: {
1216
- type: 'twitter_auth_result',
1217
- success: true,
1218
- accountInfo: '@vellum_test',
1219
- },
1220
- twitter_auth_status_response: {
1221
- type: 'twitter_auth_status_response',
1222
- connected: true,
1223
- accountInfo: '@vellum_test',
1224
- mode: 'local_byo',
1225
- },
1226
- open_url: {
1227
- type: 'open_url',
1228
- url: 'https://example.com',
1229
- title: 'Example',
1230
- },
1231
- app_update_preview_response: {
1232
- type: 'app_update_preview_response',
1233
- success: true,
1234
- appId: 'app-001',
1235
- },
1236
- app_preview_response: {
1237
- type: 'app_preview_response',
1238
- appId: 'app-001',
1239
- preview: 'base64-png-data',
1240
- },
1241
- app_history_response: {
1242
- type: 'app_history_response',
1243
- appId: 'app-001',
1244
- versions: [
1245
- {
1246
- commitHash: 'abc123def456',
1247
- message: 'Initial app commit',
1248
- timestamp: 1700000000,
1249
- },
1250
- {
1251
- commitHash: '789abc123def',
1252
- message: 'Update landing page',
1253
- timestamp: 1700001000,
1254
- },
1255
- ],
1256
- },
1257
- app_diff_response: {
1258
- type: 'app_diff_response',
1259
- appId: 'app-001',
1260
- diff: 'diff --git a/index.html b/index.html',
1261
- },
1262
- app_file_at_version_response: {
1263
- type: 'app_file_at_version_response',
1264
- appId: 'app-001',
1265
- path: 'index.html',
1266
- content: '<html><body>Hello</body></html>',
1267
- },
1268
- app_restore_response: {
1269
- type: 'app_restore_response',
1270
- success: true,
1271
- },
1272
- ui_surface_undo_result: {
1273
- type: 'ui_surface_undo_result',
1274
- sessionId: 'sess-001',
1275
- surfaceId: 'surface-001',
1276
- success: true,
1277
- remainingUndos: 3,
1278
- },
1279
- publish_page_response: {
1280
- type: 'publish_page_response',
1281
- success: true,
1282
- publicUrl: 'https://example.vercel.app',
1283
- deploymentId: 'dpl-001',
1284
- },
1285
- unpublish_page_response: {
1286
- type: 'unpublish_page_response',
1287
- success: true,
1288
- },
1289
- app_files_changed: {
1290
- type: 'app_files_changed',
1291
- appId: 'app-001',
1292
- },
1293
- browser_frame: {
1294
- type: 'browser_frame',
1295
- sessionId: 'sess-001',
1296
- surfaceId: 'surface-001',
1297
- frame: 'base64-jpeg-data',
1298
- metadata: { offsetTop: 0, pageScaleFactor: 1, scrollOffsetX: 0, scrollOffsetY: 0, timestamp: 1700000000 },
1299
- },
1300
- diagnostics_export_response: {
1301
- type: 'diagnostics_export_response',
1302
- success: true,
1303
- filePath: '/tmp/diagnostics-conv-001.zip',
1304
- },
1305
- accept_starter_bundle_response: {
1306
- type: 'accept_starter_bundle_response',
1307
- accepted: true,
1308
- rulesAdded: 5,
1309
- alreadyAccepted: false,
1310
- },
1311
- env_vars_response: {
1312
- type: 'env_vars_response',
1313
- vars: { HOME: '/Users/test', PATH: '/usr/bin' },
1314
- },
1315
- integration_list_response: {
1316
- type: 'integration_list_response',
1317
- integrations: [
1318
- { id: 'gmail', connected: false },
1319
- ],
1320
- },
1321
- integration_connect_result: {
1322
- type: 'integration_connect_result',
1323
- integrationId: 'gmail',
1324
- success: true,
1325
- },
1326
- browser_cdp_request: {
1327
- type: 'browser_cdp_request',
1328
- sessionId: 'test-session',
1329
- },
1330
- browser_interactive_mode_changed: {
1331
- type: 'browser_interactive_mode_changed',
1332
- sessionId: 'test-session',
1333
- surfaceId: 'test-surface',
1334
- enabled: true,
1335
- },
1336
- browser_handoff_request: {
1337
- type: 'browser_handoff_request',
1338
- sessionId: 'test-session',
1339
- surfaceId: 'test-surface',
1340
- reason: 'auth' as const,
1341
- message: 'Login required',
1342
- },
1343
- document_editor_show: {
1344
- type: 'document_editor_show',
1345
- sessionId: 'sess-001',
1346
- surfaceId: 'doc-001',
1347
- title: 'My Document',
1348
- initialContent: '# Hello World',
1349
- },
1350
- document_editor_update: {
1351
- type: 'document_editor_update',
1352
- sessionId: 'sess-001',
1353
- surfaceId: 'doc-001',
1354
- markdown: '# Updated Content',
1355
- mode: 'replace',
1356
- },
1357
- document_save_response: {
1358
- type: 'document_save_response',
1359
- surfaceId: 'doc-001',
1360
- success: true,
1361
- },
1362
- document_load_response: {
1363
- type: 'document_load_response',
1364
- surfaceId: 'doc-001',
1365
- conversationId: 'conv-001',
1366
- title: 'My Document',
1367
- content: '# Hello',
1368
- wordCount: 1,
1369
- createdAt: 1700000000,
1370
- updatedAt: 1700001000,
1371
- success: true,
1372
- },
1373
- document_list_response: {
1374
- type: 'document_list_response',
1375
- documents: [
1376
- {
1377
- surfaceId: 'doc-001',
1378
- conversationId: 'conv-001',
1379
- title: 'My Document',
1380
- wordCount: 100,
1381
- createdAt: 1700000000,
1382
- updatedAt: 1700001000,
1383
- },
1384
- ],
1385
- },
1386
- work_items_list_response: {
1387
- type: 'work_items_list_response',
1388
- items: [
1389
- {
1390
- id: 'wi-001',
1391
- taskId: 'task-001',
1392
- title: 'Process report',
1393
- notes: null,
1394
- status: 'queued',
1395
- priorityTier: 1,
1396
- sortIndex: null,
1397
- lastRunId: null,
1398
- lastRunConversationId: null,
1399
- lastRunStatus: null,
1400
- sourceType: null,
1401
- sourceId: null,
1402
- createdAt: 1700000000,
1403
- updatedAt: 1700000000,
1404
- },
1405
- ],
1406
- },
1407
- work_item_get_response: {
1408
- type: 'work_item_get_response',
1409
- item: {
1410
- id: 'wi-001',
1411
- taskId: 'task-001',
1412
- title: 'Process report',
1413
- notes: null,
1414
- status: 'queued',
1415
- priorityTier: 1,
1416
- sortIndex: null,
1417
- lastRunId: null,
1418
- lastRunConversationId: null,
1419
- lastRunStatus: null,
1420
- sourceType: null,
1421
- sourceId: null,
1422
- createdAt: 1700000000,
1423
- updatedAt: 1700000000,
1424
- },
1425
- },
1426
- work_item_update_response: {
1427
- type: 'work_item_update_response',
1428
- item: {
1429
- id: 'wi-001',
1430
- taskId: 'task-001',
1431
- title: 'Updated title',
1432
- notes: null,
1433
- status: 'running',
1434
- priorityTier: 1,
1435
- sortIndex: null,
1436
- lastRunId: null,
1437
- lastRunConversationId: null,
1438
- lastRunStatus: null,
1439
- sourceType: null,
1440
- sourceId: null,
1441
- createdAt: 1700000000,
1442
- updatedAt: 1700001000,
1443
- },
1444
- },
1445
- work_item_delete_response: {
1446
- type: 'work_item_delete_response',
1447
- id: 'wi-001',
1448
- success: true,
1449
- },
1450
- work_item_run_task_response: {
1451
- type: 'work_item_run_task_response',
1452
- id: 'wi-001',
1453
- lastRunId: 'run-001',
1454
- success: true,
1455
- },
1456
- work_item_output_response: {
1457
- type: 'work_item_output_response',
1458
- id: 'wi-001',
1459
- success: true,
1460
- output: {
1461
- title: 'Process report',
1462
- status: 'completed',
1463
- runId: 'run-001',
1464
- conversationId: 'conv-001',
1465
- completedAt: 1700002000,
1466
- summary: 'Report processed successfully.',
1467
- highlights: ['- Key finding 1', '- Key finding 2'],
1468
- },
1469
- },
1470
- work_item_preflight_response: {
1471
- type: 'work_item_preflight_response',
1472
- id: 'wi-001',
1473
- success: true,
1474
- permissions: [
1475
- { tool: 'bash', description: 'Run shell commands', riskLevel: 'medium', currentDecision: 'prompt' },
1476
- ],
1477
- },
1478
- work_item_approve_permissions_response: {
1479
- type: 'work_item_approve_permissions_response',
1480
- id: 'wi-001',
1481
- success: true,
1482
- },
1483
- work_item_cancel_response: {
1484
- type: 'work_item_cancel_response',
1485
- id: 'wi-001',
1486
- success: true,
1487
- },
1488
- work_item_status_changed: {
1489
- type: 'work_item_status_changed',
1490
- item: {
1491
- id: 'wi-001',
1492
- taskId: 'task-001',
1493
- title: 'Process report',
1494
- status: 'awaiting_review',
1495
- lastRunId: 'run-001',
1496
- lastRunConversationId: 'conv-001',
1497
- lastRunStatus: 'completed',
1498
- updatedAt: 1700001000,
1499
- },
1500
- },
1501
- tasks_changed: {
1502
- type: 'tasks_changed',
1503
- },
1504
- open_tasks_window: {
1505
- type: 'open_tasks_window',
1506
- },
1507
- task_run_thread_created: {
1508
- type: 'task_run_thread_created',
1509
- conversationId: 'conv-task-run-001',
1510
- workItemId: 'wi-001',
1511
- title: 'Process report',
1512
- },
1513
- subagent_spawned: {
1514
- type: 'subagent_spawned',
1515
- subagentId: 'sub-001',
1516
- parentSessionId: 'sess-001',
1517
- label: 'Research Agent',
1518
- objective: 'Find relevant documentation',
1519
- },
1520
- subagent_status_changed: {
1521
- type: 'subagent_status_changed',
1522
- subagentId: 'sub-001',
1523
- status: 'completed',
1524
- },
1525
- subagent_event: {
1526
- type: 'subagent_event',
1527
- subagentId: 'sub-001',
1528
- event: {
1529
- type: 'assistant_text_delta',
1530
- text: 'Searching for docs...',
1531
- sessionId: 'sub-sess-001',
1532
- },
1533
- },
1534
- subagent_detail_response: {
1535
- type: 'subagent_detail_response',
1536
- subagentId: 'sub-001',
1537
- objective: 'Search for documentation',
1538
- events: [
1539
- {
1540
- type: 'tool_use',
1541
- content: 'Reading file...',
1542
- toolName: 'read_file',
1543
- isError: false,
1544
- },
1545
- ],
1546
- },
1547
- workspace_files_list_response: {
1548
- type: 'workspace_files_list_response',
1549
- files: [
1550
- { path: 'IDENTITY.md', name: 'IDENTITY.md', exists: true },
1551
- ],
1552
- },
1553
- workspace_file_read_response: {
1554
- type: 'workspace_file_read_response',
1555
- path: 'IDENTITY.md',
1556
- content: '# My Identity',
1557
- },
1558
- identity_get_response: {
1559
- type: 'identity_get_response',
1560
- found: true,
1561
- name: 'Vex',
1562
- role: 'AI assistant',
1563
- personality: 'Friendly',
1564
- emoji: '✨',
1565
- home: '~/workspace',
1566
- },
1567
- tool_permission_simulate_response: {
1568
- type: 'tool_permission_simulate_response',
1569
- success: true,
1570
- decision: 'prompt',
1571
- riskLevel: 'high',
1572
- reason: 'No matching trust rule; tool requires approval',
1573
- promptPayload: {
1574
- allowlistOptions: [
1575
- { label: 'Allow rm commands', description: 'Allow rm commands', pattern: 'bash:rm *' },
1576
- ],
1577
- scopeOptions: [
1578
- { label: 'In /projects/my-app', scope: '/projects/my-app' },
1579
- ],
1580
- persistentDecisionsAllowed: true,
1581
- },
1582
- executionTarget: 'host',
1583
- matchedRuleId: undefined,
1584
- },
1585
- tool_names_list_response: {
1586
- type: 'tool_names_list_response',
1587
- names: ['bash', 'file_read', 'file_write'],
1588
- },
1589
- };
1590
-
1591
- // ---------------------------------------------------------------------------
1592
- // Tests
1593
- // ---------------------------------------------------------------------------
1594
-
1595
- describe('IPC message snapshots', () => {
1596
- describe('ClientMessage types', () => {
1597
- for (const [name, msg] of Object.entries(clientMessages)) {
1598
- test(`${name} serializes to expected JSON`, () => {
1599
- const serialized = serialize(msg);
1600
- // serialize appends a newline; strip it for the snapshot comparison
1601
- const json = JSON.parse(serialized);
1602
- expect(json).toMatchSnapshot();
1603
- });
1604
- }
1605
- });
1606
-
1607
- describe('ServerMessage types', () => {
1608
- for (const [name, msg] of Object.entries(serverMessages)) {
1609
- test(`${name} serializes to expected JSON`, () => {
1610
- const serialized = serialize(msg);
1611
- const json = JSON.parse(serialized);
1612
- expect(json).toMatchSnapshot();
1613
- });
1614
- }
1615
- });
1616
-
1617
- test('round-trip: serialize then parse matches original for all ClientMessages', () => {
1618
- for (const msg of Object.values(clientMessages)) {
1619
- const serialized = serialize(msg);
1620
- const parsed = JSON.parse(serialized.trimEnd());
1621
- expect(parsed).toEqual(msg);
1622
- }
1623
- });
1624
-
1625
- test('round-trip: serialize then parse matches original for all ServerMessages', () => {
1626
- for (const msg of Object.values(serverMessages)) {
1627
- const serialized = serialize(msg);
1628
- const parsed = JSON.parse(serialized.trimEnd());
1629
- expect(parsed).toEqual(msg);
1630
- }
1631
- });
1632
-
1633
- // -----------------------------------------------------------------------
1634
- // Baseline characterization — freeze credential IPC contract before hardening
1635
- // -----------------------------------------------------------------------
1636
- describe('credential IPC baselines', () => {
1637
- test('secret_request includes policy context fields', () => {
1638
- // After PR 10: secret_request now includes policy context fields
1639
- // for purpose, allowedTools, allowedDomains, and allowOneTimeSend.
1640
- const req = serverMessages.secret_request;
1641
- const keys = Object.keys(req).sort();
1642
- expect(keys).toEqual([
1643
- 'allowOneTimeSend',
1644
- 'allowedDomains',
1645
- 'allowedTools',
1646
- 'description',
1647
- 'field',
1648
- 'label',
1649
- 'placeholder',
1650
- 'purpose',
1651
- 'requestId',
1652
- 'service',
1653
- 'sessionId',
1654
- 'type',
1655
- ]);
1656
- });
1657
-
1658
- test('secret_response has no audit or provenance fields', () => {
1659
- // The current secret_response includes: type, requestId, value?, delivery?.
1660
- // It has NO provenance, audit-id, or encrypted-handle fields.
1661
- const resp = clientMessages.secret_response;
1662
- const keys = Object.keys(resp).sort();
1663
- expect(keys).toEqual(['delivery', 'requestId', 'type', 'value']);
1664
- });
1665
-
1666
- test('secret_request round-trips with all optional fields populated', () => {
1667
- const req = serverMessages.secret_request;
1668
- const serialized = serialize(req);
1669
- const parsed = JSON.parse(serialized.trimEnd());
1670
- expect(parsed).toEqual(req);
1671
- // Verify the optional fields are present in the fixture
1672
- expect(parsed.description).toBeDefined();
1673
- expect(parsed.placeholder).toBeDefined();
1674
- expect(parsed.sessionId).toBeDefined();
1675
- });
1676
-
1677
- test('secret_response round-trips with value present', () => {
1678
- const resp = clientMessages.secret_response;
1679
- const serialized = serialize(resp);
1680
- const parsed = JSON.parse(serialized.trimEnd());
1681
- expect(parsed).toEqual(resp);
1682
- expect(parsed.value).toBe('ghp_test_token_value');
1683
- });
1684
-
1685
- test('secret_response round-trips with value absent (user cancelled)', () => {
1686
- const cancelled: typeof clientMessages.secret_response = {
1687
- type: 'secret_response',
1688
- requestId: 'req-cancel-001',
1689
- delivery: 'store',
1690
- // value intentionally omitted — user cancelled the prompt
1691
- };
1692
- const serialized = serialize(cancelled);
1693
- const parsed = JSON.parse(serialized.trimEnd());
1694
- expect(parsed.type).toBe('secret_response');
1695
- expect(parsed.requestId).toBe('req-cancel-001');
1696
- expect(parsed.value).toBeUndefined();
1697
- });
1698
- });
1699
-
1700
- // Baseline assertions for error-related message contracts.
1701
- // These document the current shape before error handling modernization.
1702
- describe('error message baselines', () => {
1703
- test('error message has exactly type and message fields', () => {
1704
- const keys = Object.keys(serverMessages.error).sort();
1705
- expect(keys).toEqual(['message', 'type']);
1706
- });
1707
-
1708
- test('cu_error message has exactly type, sessionId, and message fields', () => {
1709
- const keys = Object.keys(serverMessages.cu_error).sort();
1710
- expect(keys).toEqual(['message', 'sessionId', 'type']);
1711
- });
1712
-
1713
- test('tool_result isError field is optional boolean', () => {
1714
- const withError = { ...serverMessages.tool_result, isError: true };
1715
- const withoutError = { ...serverMessages.tool_result };
1716
- delete (withoutError as Record<string, unknown>).isError;
1717
-
1718
- // Both shapes must round-trip cleanly
1719
- expect(JSON.parse(serialize(withError).trimEnd()).isError).toBe(true);
1720
- const parsed = JSON.parse(serialize(withoutError).trimEnd());
1721
- expect(parsed.isError).toBeUndefined();
1722
- });
1723
-
1724
- test('generation_cancelled has type field and optional sessionId', () => {
1725
- const cancelled = serverMessages.generation_cancelled;
1726
- expect(cancelled.type).toBe('generation_cancelled');
1727
- });
1728
-
1729
- test('message_complete has type field and optional sessionId', () => {
1730
- const complete = serverMessages.message_complete;
1731
- expect(complete.type).toBe('message_complete');
1732
- });
1733
- });
1734
-
1735
- // Baseline: session contract includes threadType metadata
1736
- describe('thread type baselines', () => {
1737
- test('session_create request includes threadType field', () => {
1738
- const req = clientMessages.session_create;
1739
- expect('threadType' in req).toBe(true);
1740
- expect((req as unknown as Record<string, unknown>).threadType).toBe('standard');
1741
- });
1742
-
1743
- test('session_info response includes threadType field', () => {
1744
- const info = serverMessages.session_info;
1745
- expect('threadType' in info).toBe(true);
1746
- expect((info as unknown as Record<string, unknown>).threadType).toBe('standard');
1747
- });
1748
-
1749
- test('session_list_response sessions include threadType field', () => {
1750
- const list = serverMessages.session_list_response as unknown as { sessions: Array<Record<string, unknown>> };
1751
- for (const s of list.sessions) {
1752
- expect('threadType' in s).toBe(true);
1753
- expect(s.threadType).toBe('standard');
1754
- }
1755
- });
1756
- });
1757
- });