@vellumai/assistant 0.4.43 → 0.4.45

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (713) hide show
  1. package/.prettierignore +4 -0
  2. package/ARCHITECTURE.md +46 -44
  3. package/README.md +15 -16
  4. package/bun.lock +10 -35
  5. package/docs/architecture/integrations.md +102 -215
  6. package/docs/architecture/keychain-broker.md +1 -1
  7. package/docs/architecture/memory.md +2 -2
  8. package/docs/architecture/scheduling.md +1 -1
  9. package/docs/architecture/security.md +11 -11
  10. package/docs/error-handling.md +1 -1
  11. package/docs/trusted-contact-access.md +3 -3
  12. package/drizzle/meta/0000_snapshot.json +34 -100
  13. package/drizzle/meta/_journal.json +1 -1
  14. package/drizzle.config.ts +4 -4
  15. package/package.json +3 -2
  16. package/scripts/capture-x-graphql.ts +237 -141
  17. package/scripts/generate-bundled-tool-registry.ts +223 -0
  18. package/src/__tests__/access-request-decision.test.ts +0 -1
  19. package/src/__tests__/actor-token-service.test.ts +23 -24
  20. package/src/__tests__/agent-loop.test.ts +0 -131
  21. package/src/__tests__/always-loaded-tools-guard.test.ts +71 -0
  22. package/src/__tests__/amazon-cdp-integration.test.ts +11 -9
  23. package/src/__tests__/approval-primitive.test.ts +0 -1
  24. package/src/__tests__/approval-routes-http.test.ts +11 -3
  25. package/src/__tests__/asset-materialize-tool.test.ts +0 -1
  26. package/src/__tests__/asset-search-tool.test.ts +0 -1
  27. package/src/__tests__/assistant-attachment-directive.test.ts +1 -1
  28. package/src/__tests__/assistant-events-sse-hardening.test.ts +0 -1
  29. package/src/__tests__/assistant-feature-flag-guardrails.test.ts +0 -2
  30. package/src/__tests__/assistant-feature-flags-integration.test.ts +70 -18
  31. package/src/__tests__/assistant-id-boundary-guard.test.ts +6 -6
  32. package/src/__tests__/attachments-store.test.ts +0 -1
  33. package/src/__tests__/avatar-e2e.test.ts +74 -115
  34. package/src/__tests__/avatar-router.test.ts +25 -62
  35. package/src/__tests__/browser-manager.test.ts +24 -0
  36. package/src/__tests__/browser-skill-baseline-tool-payload.test.ts +4 -3
  37. package/src/__tests__/browser-skill-endstate.test.ts +8 -11
  38. package/src/__tests__/btw-routes.test.ts +326 -0
  39. package/src/__tests__/bundled-asset.test.ts +1 -1
  40. package/src/__tests__/bundled-skill-retrieval-guard.test.ts +23 -9
  41. package/src/__tests__/call-controller.test.ts +0 -1
  42. package/src/__tests__/call-conversation-messages.test.ts +0 -1
  43. package/src/__tests__/call-domain.test.ts +0 -1
  44. package/src/__tests__/call-pointer-messages.test.ts +0 -1
  45. package/src/__tests__/call-recovery.test.ts +0 -1
  46. package/src/__tests__/call-routes-http.test.ts +0 -1
  47. package/src/__tests__/call-store.test.ts +0 -1
  48. package/src/__tests__/canonical-guardian-store.test.ts +0 -1
  49. package/src/__tests__/channel-approval-routes.test.ts +1 -1
  50. package/src/__tests__/channel-approvals.test.ts +1 -1
  51. package/src/__tests__/channel-delivery-store.test.ts +0 -1
  52. package/src/__tests__/channel-guardian.test.ts +5 -7
  53. package/src/__tests__/channel-retry-sweep.test.ts +0 -1
  54. package/src/__tests__/checker.test.ts +32 -36
  55. package/src/__tests__/compaction.benchmark.test.ts +16 -14
  56. package/src/__tests__/computer-use-session-lifecycle.test.ts +10 -11
  57. package/src/__tests__/computer-use-session-working-dir.test.ts +2 -6
  58. package/src/__tests__/computer-use-skill-lifecycle-cleanup.test.ts +2 -5
  59. package/src/__tests__/computer-use-tools.test.ts +35 -31
  60. package/src/__tests__/config-schema.test.ts +11 -15
  61. package/src/__tests__/config-watcher.test.ts +0 -1
  62. package/src/__tests__/confirmation-request-guardian-bridge.test.ts +0 -1
  63. package/src/__tests__/conflict-store.test.ts +0 -1
  64. package/src/__tests__/connection-policy.test.ts +4 -7
  65. package/src/__tests__/contacts-tools.test.ts +0 -1
  66. package/src/__tests__/context-memory-e2e.test.ts +2 -4
  67. package/src/__tests__/context-overflow-reducer.test.ts +2 -4
  68. package/src/__tests__/context-window-manager.test.ts +147 -60
  69. package/src/__tests__/contradiction-checker.test.ts +0 -1
  70. package/src/__tests__/conversation-attention-store.test.ts +0 -1
  71. package/src/__tests__/conversation-attention-telegram.test.ts +1 -1
  72. package/src/__tests__/conversation-pairing.test.ts +2 -2
  73. package/src/__tests__/conversation-routes-guardian-reply.test.ts +31 -7
  74. package/src/__tests__/conversation-routes-slash-commands.test.ts +381 -0
  75. package/src/__tests__/conversation-store.test.ts +0 -1
  76. package/src/__tests__/conversation-unread-route.test.ts +1 -2
  77. package/src/__tests__/credential-security-invariants.test.ts +8 -8
  78. package/src/__tests__/cross-provider-web-search.test.ts +353 -0
  79. package/src/__tests__/daemon-assistant-events.test.ts +6 -7
  80. package/src/__tests__/db-schedule-syntax-migration.test.ts +15 -3
  81. package/src/__tests__/delete-managed-skill-tool.test.ts +5 -9
  82. package/src/__tests__/deterministic-verification-control-plane.test.ts +0 -1
  83. package/src/__tests__/diagnostics-export.test.ts +189 -0
  84. package/src/__tests__/dynamic-skill-workflow-prompt.test.ts +0 -1
  85. package/src/__tests__/emit-signal-routing-intent.test.ts +3 -3
  86. package/src/__tests__/entity-extractor.test.ts +0 -1
  87. package/src/__tests__/entity-search.test.ts +0 -1
  88. package/src/__tests__/ephemeral-permissions.test.ts +2 -4
  89. package/src/__tests__/error-handler-friendly-messages.test.ts +46 -0
  90. package/src/__tests__/file-read-tool.test.ts +86 -0
  91. package/src/__tests__/followup-tools.test.ts +0 -1
  92. package/src/__tests__/frontmatter.test.ts +77 -34
  93. package/src/__tests__/gateway-only-enforcement.test.ts +0 -1
  94. package/src/__tests__/gateway-only-guard.test.ts +1 -1
  95. package/src/__tests__/guardian-action-conversation-turn.test.ts +0 -1
  96. package/src/__tests__/guardian-action-followup-executor.test.ts +0 -1
  97. package/src/__tests__/guardian-action-followup-store.test.ts +0 -1
  98. package/src/__tests__/guardian-action-grant-mint-consume.test.ts +0 -1
  99. package/src/__tests__/guardian-action-late-reply.test.ts +0 -1
  100. package/src/__tests__/guardian-action-store.test.ts +0 -1
  101. package/src/__tests__/guardian-action-sweep.test.ts +0 -1
  102. package/src/__tests__/guardian-decision-primitive-canonical.test.ts +0 -1
  103. package/src/__tests__/guardian-dispatch.test.ts +1 -2
  104. package/src/__tests__/guardian-grant-minting.test.ts +1 -1
  105. package/src/__tests__/guardian-outbound-http.test.ts +0 -1
  106. package/src/__tests__/guardian-principal-id-roundtrip.test.ts +0 -1
  107. package/src/__tests__/guardian-routing-invariants.test.ts +1 -1
  108. package/src/__tests__/guardian-routing-state.test.ts +0 -1
  109. package/src/__tests__/guardian-verification-voice-binding.test.ts +0 -1
  110. package/src/__tests__/guardian-verify-setup-skill-regression.test.ts +3 -5
  111. package/src/__tests__/handlers-user-message-approval-consumption.test.ts +28 -426
  112. package/src/__tests__/host-bash-proxy.test.ts +335 -0
  113. package/src/__tests__/host-file-proxy.test.ts +374 -0
  114. package/src/__tests__/host-shell-tool.test.ts +147 -1
  115. package/src/__tests__/http-user-message-parity.test.ts +361 -0
  116. package/src/__tests__/inbound-invite-redemption.test.ts +0 -1
  117. package/src/__tests__/integration-status.test.ts +3 -8
  118. package/src/__tests__/intent-routing.test.ts +7 -46
  119. package/src/__tests__/invite-redemption-service.test.ts +0 -1
  120. package/src/__tests__/invite-routes-http.test.ts +0 -1
  121. package/src/__tests__/llm-usage-store.test.ts +0 -1
  122. package/src/__tests__/managed-avatar-client.test.ts +101 -55
  123. package/src/__tests__/managed-skill-lifecycle.test.ts +9 -18
  124. package/src/__tests__/managed-store.test.ts +94 -21
  125. package/src/__tests__/media-reuse-story.e2e.test.ts +0 -1
  126. package/src/__tests__/memory-context-benchmark.benchmark.test.ts +2 -4
  127. package/src/__tests__/memory-lifecycle-e2e.test.ts +0 -1
  128. package/src/__tests__/memory-recall-quality.test.ts +0 -1
  129. package/src/__tests__/memory-regressions.experimental.test.ts +0 -1
  130. package/src/__tests__/memory-regressions.test.ts +0 -1
  131. package/src/__tests__/memory-retrieval.benchmark.test.ts +0 -1
  132. package/src/__tests__/memory-upsert-concurrency.test.ts +0 -1
  133. package/src/__tests__/messaging-send-tool.test.ts +35 -0
  134. package/src/__tests__/messaging-skill-split.test.ts +138 -0
  135. package/src/__tests__/migration-cross-version-compatibility.test.ts +0 -1
  136. package/src/__tests__/migration-export-http.test.ts +2 -3
  137. package/src/__tests__/migration-import-commit-http.test.ts +1 -2
  138. package/src/__tests__/migration-import-preflight-http.test.ts +1 -2
  139. package/src/__tests__/migration-validate-http.test.ts +1 -2
  140. package/src/__tests__/native-web-search.test.ts +475 -0
  141. package/src/__tests__/navigate-settings-tab.test.ts +84 -0
  142. package/src/__tests__/non-member-access-request.test.ts +0 -1
  143. package/src/__tests__/notification-broadcaster.test.ts +15 -15
  144. package/src/__tests__/notification-decision-strategy.test.ts +6 -6
  145. package/src/__tests__/notification-deep-link.test.ts +7 -7
  146. package/src/__tests__/notification-guardian-path.test.ts +2 -3
  147. package/src/__tests__/notification-telegram-adapter.test.ts +1 -1
  148. package/src/__tests__/notification-thread-candidates.test.ts +4 -4
  149. package/src/__tests__/onboarding-starter-tasks.test.ts +0 -1
  150. package/src/__tests__/onboarding-template-contract.test.ts +0 -10
  151. package/src/__tests__/playbook-execution.test.ts +0 -1
  152. package/src/__tests__/playbook-tools.test.ts +0 -1
  153. package/src/__tests__/profile-compiler.test.ts +0 -1
  154. package/src/__tests__/provider-fail-open-selection.test.ts +12 -2
  155. package/src/__tests__/provider-managed-proxy-integration.test.ts +25 -0
  156. package/src/__tests__/qdrant-collection-migration.test.ts +223 -0
  157. package/src/__tests__/recording-handler.test.ts +30 -94
  158. package/src/__tests__/registry.test.ts +28 -35
  159. package/src/__tests__/relay-server.test.ts +0 -1
  160. package/src/__tests__/ride-shotgun-handler.test.ts +4 -20
  161. package/src/__tests__/runtime-attachment-metadata.test.ts +0 -1
  162. package/src/__tests__/runtime-events-sse-parity.test.ts +3 -4
  163. package/src/__tests__/runtime-events-sse.test.ts +0 -1
  164. package/src/__tests__/sandbox-diagnostics.test.ts +0 -1
  165. package/src/__tests__/scaffold-managed-skill-tool.test.ts +30 -28
  166. package/src/__tests__/schedule-store.test.ts +441 -1
  167. package/src/__tests__/schedule-tools.test.ts +468 -7
  168. package/src/__tests__/scheduler-recurrence.test.ts +196 -23
  169. package/src/__tests__/scoped-approval-grants.test.ts +0 -1
  170. package/src/__tests__/scoped-grant-security-matrix.test.ts +0 -1
  171. package/src/__tests__/secret-prompt-log-hygiene.test.ts +6 -3
  172. package/src/__tests__/secret-response-routing.test.ts +4 -1
  173. package/src/__tests__/send-endpoint-busy.test.ts +14 -5
  174. package/src/__tests__/send-notification-tool.test.ts +0 -7
  175. package/src/__tests__/sequence-store.test.ts +0 -1
  176. package/src/__tests__/server-history-render.test.ts +1 -2
  177. package/src/__tests__/session-abort-tool-results.test.ts +0 -1
  178. package/src/__tests__/session-agent-loop.test.ts +46 -6
  179. package/src/__tests__/session-confirmation-signals.test.ts +7 -46
  180. package/src/__tests__/session-conflict-gate.test.ts +2 -6
  181. package/src/__tests__/session-error.test.ts +5 -14
  182. package/src/__tests__/session-init.benchmark.test.ts +3 -5
  183. package/src/__tests__/session-load-history-repair.test.ts +0 -1
  184. package/src/__tests__/session-media-retry.test.ts +12 -74
  185. package/src/__tests__/session-pre-run-repair.test.ts +0 -1
  186. package/src/__tests__/session-profile-injection.test.ts +2 -6
  187. package/src/__tests__/session-provider-retry-repair.test.ts +2 -6
  188. package/src/__tests__/session-queue.test.ts +94 -139
  189. package/src/__tests__/session-skill-tools.test.ts +115 -115
  190. package/src/__tests__/session-slash-known.test.ts +0 -1
  191. package/src/__tests__/session-slash-queue.test.ts +0 -1
  192. package/src/__tests__/session-slash-unknown.test.ts +0 -1
  193. package/src/__tests__/session-surfaces-task-progress.test.ts +34 -0
  194. package/src/__tests__/session-usage.test.ts +0 -1
  195. package/src/__tests__/session-workspace-cache-state.test.ts +2 -6
  196. package/src/__tests__/session-workspace-injection.test.ts +2 -6
  197. package/src/__tests__/session-workspace-tool-tracking.test.ts +2 -6
  198. package/src/__tests__/skill-feature-flags-integration.test.ts +180 -184
  199. package/src/__tests__/skill-feature-flags.test.ts +125 -18
  200. package/src/__tests__/skill-load-feature-flag.test.ts +1 -2
  201. package/src/__tests__/skill-load-tool.test.ts +194 -2
  202. package/src/__tests__/skill-projection-feature-flag.test.ts +27 -16
  203. package/src/__tests__/skill-projection.benchmark.test.ts +15 -14
  204. package/src/__tests__/skills.test.ts +14 -53
  205. package/src/__tests__/slack-channel-config.test.ts +0 -1
  206. package/src/__tests__/slack-inbound-verification.test.ts +0 -1
  207. package/src/__tests__/slack-skill.test.ts +1 -1
  208. package/src/__tests__/starter-task-flow.test.ts +9 -19
  209. package/src/__tests__/subagent-tools.test.ts +2 -2
  210. package/src/__tests__/system-prompt.test.ts +7 -7
  211. package/src/__tests__/task-compiler.test.ts +0 -1
  212. package/src/__tests__/task-management-tools.test.ts +0 -1
  213. package/src/__tests__/task-memory-cleanup.test.ts +0 -1
  214. package/src/__tests__/task-runner.test.ts +0 -1
  215. package/src/__tests__/task-scheduler.test.ts +0 -1
  216. package/src/__tests__/terminal-tools.test.ts +0 -1
  217. package/src/__tests__/test-support/computer-use-skill-harness.ts +2 -4
  218. package/src/__tests__/thread-seed-composer.test.ts +5 -5
  219. package/src/__tests__/tool-approval-handler.test.ts +0 -1
  220. package/src/__tests__/tool-execution-abort-cleanup.test.ts +0 -1
  221. package/src/__tests__/tool-execution-pipeline.benchmark.test.ts +0 -1
  222. package/src/__tests__/tool-executor.test.ts +8 -86
  223. package/src/__tests__/tool-grant-request-escalation.test.ts +0 -1
  224. package/src/__tests__/tool-notification-listener.test.ts +1 -1
  225. package/src/__tests__/tool-preview-lifecycle.test.ts +416 -0
  226. package/src/__tests__/trust-store.test.ts +84 -8
  227. package/src/__tests__/trusted-contact-approval-notifier.test.ts +0 -1
  228. package/src/__tests__/trusted-contact-inline-approval-integration.test.ts +0 -1
  229. package/src/__tests__/trusted-contact-lifecycle-notifications.test.ts +0 -1
  230. package/src/__tests__/trusted-contact-multichannel.test.ts +0 -1
  231. package/src/__tests__/trusted-contact-verification.test.ts +0 -1
  232. package/src/__tests__/twilio-provider.test.ts +0 -1
  233. package/src/__tests__/twilio-routes.test.ts +0 -1
  234. package/src/__tests__/{request-file-tool.test.ts → ui-file-upload-surface.test.ts} +11 -72
  235. package/src/__tests__/update-bulletin.test.ts +0 -1
  236. package/src/__tests__/usage-cache-backfill-migration.test.ts +0 -1
  237. package/src/__tests__/usage-routes.test.ts +0 -1
  238. package/src/__tests__/verification-control-plane-policy.test.ts +4 -4
  239. package/src/__tests__/voice-invite-redemption.test.ts +0 -1
  240. package/src/__tests__/voice-scoped-grant-consumer.test.ts +0 -1
  241. package/src/__tests__/voice-session-bridge.test.ts +9 -1
  242. package/src/__tests__/web-fetch.test.ts +57 -0
  243. package/src/__tests__/workspace-git-service.test.ts +5 -14
  244. package/src/__tests__/workspace-policy.test.ts +0 -1
  245. package/src/agent/loop.ts +22 -34
  246. package/src/bundler/bundle-signer.ts +4 -4
  247. package/src/calls/call-controller.ts +1 -1
  248. package/src/calls/relay-server.ts +1 -1
  249. package/src/calls/twilio-rest.ts +1 -1
  250. package/src/calls/voice-session-bridge.ts +3 -1
  251. package/src/cli/__tests__/notifications.test.ts +3 -4
  252. package/src/cli/commands/map.ts +2 -6
  253. package/src/cli/commands/mcp.ts +73 -15
  254. package/src/cli/commands/notifications.ts +4 -4
  255. package/src/cli/commands/sessions.ts +9 -1
  256. package/src/cli/commands/skills.ts +6 -10
  257. package/src/cli/http-client.ts +2 -3
  258. package/src/cli/main-screen.tsx +10 -10
  259. package/src/cli/program.ts +0 -4
  260. package/src/cli/reference.ts +0 -2
  261. package/src/cli.ts +15 -9
  262. package/src/config/__tests__/bundled-tool-registry-guard.test.ts +120 -0
  263. package/src/config/bundled-skills/_shared/CLI_RETRIEVAL_PATTERN.md +11 -0
  264. package/src/config/bundled-skills/app-builder/SKILL.md +6 -7
  265. package/src/config/bundled-skills/app-builder/TOOLS.json +0 -4
  266. package/src/config/bundled-skills/browser/SKILL.md +6 -1
  267. package/src/config/bundled-skills/chatgpt-import/SKILL.md +5 -1
  268. package/src/config/bundled-skills/claude-code/SKILL.md +5 -1
  269. package/src/config/bundled-skills/computer-use/SKILL.md +6 -1
  270. package/src/config/bundled-skills/computer-use/TOOLS.json +6 -69
  271. package/src/config/bundled-skills/computer-use/tools/computer-use-click.ts +10 -1
  272. package/src/config/bundled-skills/contacts/SKILL.md +10 -1
  273. package/src/config/bundled-skills/contacts/TOOLS.json +35 -0
  274. package/src/config/bundled-skills/{messaging → contacts}/tools/google-contacts.ts +9 -2
  275. package/src/config/bundled-skills/document/SKILL.md +4 -1
  276. package/src/config/bundled-skills/doordash/SKILL.md +8 -2
  277. package/src/config/bundled-skills/doordash/__tests__/doordash-session.test.ts +1 -82
  278. package/src/config/bundled-skills/doordash/doordash-cli.ts +17 -28
  279. package/src/config/bundled-skills/doordash/lib/session.ts +21 -17
  280. package/src/config/bundled-skills/doordash/lib/shared/platform.ts +4 -1
  281. package/src/config/bundled-skills/followups/SKILL.md +4 -1
  282. package/src/config/bundled-skills/gmail/SKILL.md +180 -0
  283. package/src/config/bundled-skills/gmail/TOOLS.json +506 -0
  284. package/src/config/bundled-skills/gmail/tools/gmail-archive.ts +149 -0
  285. package/src/config/bundled-skills/gmail/tools/gmail-attachments.ts +110 -0
  286. package/src/config/bundled-skills/{messaging → gmail}/tools/gmail-draft.ts +1 -1
  287. package/src/config/bundled-skills/{messaging → gmail}/tools/gmail-filters.ts +1 -1
  288. package/src/config/bundled-skills/{messaging → gmail}/tools/gmail-follow-up.ts +1 -1
  289. package/src/config/bundled-skills/{messaging → gmail}/tools/gmail-forward.ts +1 -1
  290. package/src/config/bundled-skills/gmail/tools/gmail-label.ts +50 -0
  291. package/src/config/bundled-skills/{messaging → gmail}/tools/gmail-outreach-scan.ts +8 -90
  292. package/src/config/bundled-skills/{messaging → gmail}/tools/gmail-send-draft.ts +1 -1
  293. package/src/config/bundled-skills/{messaging → gmail}/tools/gmail-sender-digest.ts +2 -2
  294. package/src/config/bundled-skills/{messaging → gmail}/tools/gmail-trash.ts +1 -1
  295. package/src/config/bundled-skills/{messaging → gmail}/tools/gmail-unsubscribe.ts +1 -1
  296. package/src/config/bundled-skills/{messaging → gmail}/tools/gmail-vacation.ts +1 -1
  297. package/src/config/bundled-skills/gmail/tools/shared.ts +47 -0
  298. package/src/config/bundled-skills/google-calendar/SKILL.md +5 -1
  299. package/src/config/bundled-skills/image-studio/SKILL.md +5 -1
  300. package/src/config/bundled-skills/knowledge-graph/SKILL.md +4 -1
  301. package/src/config/bundled-skills/media-processing/SKILL.md +7 -13
  302. package/src/config/bundled-skills/media-processing/TOOLS.json +0 -22
  303. package/src/config/bundled-skills/media-processing/tools/generate-clip.ts +12 -1
  304. package/src/config/bundled-skills/messaging/SKILL.md +23 -139
  305. package/src/config/bundled-skills/messaging/TOOLS.json +33 -1215
  306. package/src/config/bundled-skills/messaging/tools/gmail-mime-helpers.ts +42 -0
  307. package/src/config/bundled-skills/messaging/tools/messaging-send.ts +165 -2
  308. package/src/config/bundled-skills/messaging/tools/messaging-sender-digest.ts +1 -13
  309. package/src/config/bundled-skills/messaging/tools/shared.ts +81 -34
  310. package/src/config/bundled-skills/notifications/SKILL.md +5 -1
  311. package/src/config/bundled-skills/orchestration/SKILL.md +30 -0
  312. package/src/config/bundled-skills/orchestration/TOOLS.json +35 -0
  313. package/src/config/bundled-skills/{reminder/tools/reminder-cancel.ts → orchestration/tools/swarm-delegate.ts} +3 -3
  314. package/src/config/bundled-skills/phone-calls/SKILL.md +9 -1
  315. package/src/config/bundled-skills/playbooks/SKILL.md +4 -1
  316. package/src/config/bundled-skills/schedule/SKILL.md +70 -9
  317. package/src/config/bundled-skills/schedule/TOOLS.json +38 -6
  318. package/src/config/bundled-skills/screen-watch/SKILL.md +28 -0
  319. package/src/config/bundled-skills/screen-watch/TOOLS.json +35 -0
  320. package/src/config/bundled-skills/{reminder/tools/reminder-create.ts → screen-watch/tools/start-screen-watch.ts} +3 -3
  321. package/src/config/bundled-skills/sequences/SKILL.md +47 -0
  322. package/src/config/bundled-skills/sequences/TOOLS.json +340 -0
  323. package/src/config/bundled-skills/sequences/tools/sequence-update.ts +128 -0
  324. package/src/config/bundled-skills/sequences/tools/shared.ts +9 -0
  325. package/src/config/bundled-skills/settings/SKILL.md +12 -0
  326. package/src/config/bundled-skills/settings/TOOLS.json +112 -0
  327. package/src/config/bundled-skills/settings/tools/navigate-settings-tab.ts +43 -0
  328. package/src/config/bundled-skills/settings/tools/open-system-settings.ts +52 -0
  329. package/src/config/bundled-skills/{computer-use/tools/computer-use-right-click.ts → settings/tools/set-avatar.ts} +2 -6
  330. package/src/{tools/system/voice-config.ts → config/bundled-skills/settings/tools/voice-config-update.ts} +59 -96
  331. package/src/config/bundled-skills/skill-management/SKILL.md +18 -0
  332. package/src/config/bundled-skills/skill-management/TOOLS.json +90 -0
  333. package/src/config/bundled-skills/{computer-use/tools/computer-use-double-click.ts → skill-management/tools/delete-managed.ts} +2 -6
  334. package/src/config/bundled-skills/skill-management/tools/scaffold-managed.ts +12 -0
  335. package/src/config/bundled-skills/slack/SKILL.md +5 -1
  336. package/src/config/bundled-skills/subagent/SKILL.md +4 -1
  337. package/src/config/bundled-skills/tasks/SKILL.md +5 -2
  338. package/src/config/bundled-skills/transcribe/SKILL.md +4 -1
  339. package/src/config/bundled-skills/watcher/SKILL.md +4 -1
  340. package/src/config/bundled-tool-registry.ts +118 -107
  341. package/src/config/env.ts +5 -2
  342. package/src/config/feature-flag-registry.json +33 -9
  343. package/src/config/loader.ts +10 -2
  344. package/src/config/schema.ts +19 -16
  345. package/src/config/schemas/inference.ts +12 -22
  346. package/src/config/schemas/memory-storage.ts +19 -1
  347. package/src/config/schemas/platform.ts +0 -16
  348. package/src/config/skill-state.ts +11 -8
  349. package/src/config/skills.ts +83 -32
  350. package/src/context/token-estimator.ts +11 -0
  351. package/src/context/window-manager.ts +180 -151
  352. package/src/daemon/computer-use-session.ts +11 -43
  353. package/src/daemon/daemon-control.ts +4 -1
  354. package/src/daemon/handlers/config-channels.ts +5 -9
  355. package/src/daemon/handlers/config-ingress.ts +0 -4
  356. package/src/daemon/handlers/config-model.ts +7 -13
  357. package/src/daemon/handlers/config-telegram.ts +4 -8
  358. package/src/daemon/handlers/config-voice.ts +2 -5
  359. package/src/daemon/handlers/dictation.ts +2 -12
  360. package/src/daemon/handlers/identity.ts +0 -105
  361. package/src/daemon/handlers/recording.ts +3 -23
  362. package/src/daemon/handlers/session-history.ts +42 -10
  363. package/src/daemon/handlers/sessions.ts +53 -72
  364. package/src/daemon/handlers/shared.ts +7 -28
  365. package/src/daemon/handlers/skills.ts +31 -27
  366. package/src/daemon/host-bash-proxy.ts +148 -0
  367. package/src/daemon/host-file-proxy.ts +135 -0
  368. package/src/daemon/lifecycle.ts +53 -41
  369. package/src/daemon/mcp-reload-service.ts +123 -0
  370. package/src/daemon/message-protocol.ts +6 -0
  371. package/src/daemon/message-types/apps.ts +0 -25
  372. package/src/daemon/message-types/browser.ts +1 -1
  373. package/src/daemon/message-types/computer-use.ts +1 -4
  374. package/src/daemon/message-types/guardian-actions.ts +1 -1
  375. package/src/daemon/message-types/host-bash.ts +18 -0
  376. package/src/daemon/message-types/host-file.ts +44 -0
  377. package/src/daemon/message-types/integrations.ts +1 -73
  378. package/src/daemon/message-types/messages.ts +15 -0
  379. package/src/daemon/message-types/schedules.ts +11 -27
  380. package/src/daemon/message-types/sessions.ts +8 -2
  381. package/src/daemon/message-types/settings.ts +1 -1
  382. package/src/daemon/message-types/shared.ts +1 -1
  383. package/src/daemon/message-types/surfaces.ts +2 -0
  384. package/src/daemon/ride-shotgun-handler.ts +35 -43
  385. package/src/daemon/seed-files.ts +3 -27
  386. package/src/daemon/server.ts +45 -28
  387. package/src/daemon/session-agent-loop-handlers.ts +72 -9
  388. package/src/daemon/session-agent-loop.ts +97 -66
  389. package/src/daemon/session-attachments.ts +1 -1
  390. package/src/daemon/session-error.ts +17 -16
  391. package/src/daemon/session-lifecycle.ts +20 -1
  392. package/src/daemon/session-media-retry.ts +1 -15
  393. package/src/daemon/session-messaging.ts +14 -6
  394. package/src/daemon/session-process.ts +36 -7
  395. package/src/daemon/session-queue-manager.ts +62 -103
  396. package/src/daemon/session-runtime-assembly.ts +27 -7
  397. package/src/daemon/session-skill-tools.ts +12 -11
  398. package/src/daemon/session-slash.ts +7 -0
  399. package/src/daemon/session-surfaces.ts +192 -118
  400. package/src/daemon/session-tool-setup.ts +146 -6
  401. package/src/daemon/session.ts +75 -37
  402. package/src/errors.ts +0 -2
  403. package/src/export/formatter.ts +6 -0
  404. package/src/mcp/mcp-oauth-provider.ts +1 -3
  405. package/src/media/avatar-router.ts +20 -28
  406. package/src/media/avatar-types.ts +7 -14
  407. package/src/media/managed-avatar-client.ts +70 -34
  408. package/src/memory/app-store.ts +0 -18
  409. package/src/memory/conversation-title-service.ts +1 -2
  410. package/src/memory/db-init.ts +16 -0
  411. package/src/memory/embedding-backend.ts +129 -27
  412. package/src/memory/embedding-gemini.test.ts +256 -0
  413. package/src/memory/embedding-gemini.ts +47 -13
  414. package/src/memory/embedding-local.ts +14 -2
  415. package/src/memory/embedding-ollama.ts +15 -2
  416. package/src/memory/embedding-openai.ts +15 -2
  417. package/src/memory/embedding-types.test.ts +116 -0
  418. package/src/memory/embedding-types.ts +61 -0
  419. package/src/memory/fingerprint.ts +1 -1
  420. package/src/memory/indexer.ts +25 -1
  421. package/src/memory/job-handlers/embedding.test.ts +258 -0
  422. package/src/memory/job-handlers/embedding.ts +81 -1
  423. package/src/memory/job-handlers/index-maintenance.ts +35 -1
  424. package/src/memory/job-handlers/media-processing.ts +11 -1
  425. package/src/memory/job-utils.ts +21 -6
  426. package/src/memory/jobs-store.ts +5 -1
  427. package/src/memory/jobs-worker.ts +8 -0
  428. package/src/memory/message-content.ts +66 -0
  429. package/src/memory/migrations/100-core-tables.ts +1 -31
  430. package/src/memory/migrations/104-core-indexes.ts +0 -11
  431. package/src/memory/migrations/145-drop-accounts-table.ts +19 -0
  432. package/src/memory/migrations/146-schedule-oneshot-routing.ts +94 -0
  433. package/src/memory/migrations/147-migrate-reminders-to-schedules.ts +129 -0
  434. package/src/memory/migrations/148-drop-reminders-table.ts +18 -0
  435. package/src/memory/migrations/index.ts +4 -0
  436. package/src/memory/migrations/registry.ts +19 -0
  437. package/src/memory/qdrant-client.ts +158 -43
  438. package/src/memory/retriever.test.ts +0 -1
  439. package/src/memory/retriever.ts +12 -2
  440. package/src/memory/schema/infrastructure.ts +5 -37
  441. package/src/memory/search/formatting.ts +34 -9
  442. package/src/memory/search/semantic.ts +57 -2
  443. package/src/memory/search/types.ts +2 -1
  444. package/src/notifications/AGENTS.md +2 -2
  445. package/src/notifications/README.md +59 -58
  446. package/src/notifications/adapters/macos.ts +1 -1
  447. package/src/notifications/broadcaster.ts +5 -5
  448. package/src/notifications/copy-composer.ts +1 -1
  449. package/src/notifications/decision-engine.ts +2 -2
  450. package/src/notifications/destination-resolver.ts +2 -2
  451. package/src/notifications/emit-signal.ts +8 -8
  452. package/src/notifications/signal.ts +1 -1
  453. package/src/notifications/thread-seed-composer.ts +1 -1
  454. package/src/oauth/connect-orchestrator.ts +1 -1
  455. package/src/oauth/token-persistence.ts +1 -1
  456. package/src/permissions/checker.ts +12 -1
  457. package/src/permissions/defaults.ts +13 -17
  458. package/src/permissions/trust-store.ts +37 -0
  459. package/src/permissions/workspace-policy.ts +0 -1
  460. package/src/prompts/__tests__/build-cli-reference-section.test.ts +11 -0
  461. package/src/prompts/computer-use-prompt.ts +1 -1
  462. package/src/prompts/system-prompt.ts +33 -35
  463. package/src/prompts/templates/BOOTSTRAP.md +0 -3
  464. package/src/prompts/templates/SOUL.md +1 -2
  465. package/src/prompts/templates/UPDATES.md +16 -7
  466. package/src/providers/anthropic/client.ts +87 -33
  467. package/src/providers/gemini/client.ts +6 -0
  468. package/src/providers/managed-proxy/constants.ts +5 -0
  469. package/src/providers/openai/client.ts +15 -0
  470. package/src/providers/registry.ts +4 -6
  471. package/src/providers/types.ts +24 -2
  472. package/src/runtime/AGENTS.md +18 -0
  473. package/src/runtime/assistant-event-hub.ts +2 -3
  474. package/src/runtime/assistant-event.ts +4 -4
  475. package/src/runtime/auth/__tests__/context.test.ts +5 -5
  476. package/src/runtime/auth/__tests__/credential-service.test.ts +0 -1
  477. package/src/runtime/auth/__tests__/guard-tests.test.ts +3 -2
  478. package/src/runtime/auth/__tests__/{ipc-auth-context.test.ts → local-auth-context.test.ts} +21 -21
  479. package/src/runtime/auth/__tests__/route-policy.test.ts +2 -2
  480. package/src/runtime/auth/__tests__/scopes.test.ts +9 -8
  481. package/src/runtime/auth/__tests__/subject.test.ts +8 -8
  482. package/src/runtime/auth/__tests__/token-service.test.ts +0 -1
  483. package/src/runtime/auth/route-policy.ts +8 -8
  484. package/src/runtime/auth/scopes.ts +2 -1
  485. package/src/runtime/auth/subject.ts +4 -4
  486. package/src/runtime/auth/token-service.ts +1 -24
  487. package/src/runtime/auth/types.ts +3 -3
  488. package/src/runtime/guardian-action-followup-executor.ts +1 -1
  489. package/src/runtime/guardian-action-grant-minter.ts +1 -1
  490. package/src/runtime/guardian-action-service.ts +3 -3
  491. package/src/runtime/http-server.ts +15 -2
  492. package/src/runtime/http-types.ts +10 -0
  493. package/src/runtime/invite-service.ts +3 -3
  494. package/src/runtime/local-actor-identity.ts +17 -22
  495. package/src/runtime/middleware/error-handler.ts +14 -1
  496. package/src/runtime/pending-interactions.ts +21 -9
  497. package/src/runtime/routes/app-management-routes.ts +63 -67
  498. package/src/runtime/routes/approval-routes.ts +1 -3
  499. package/src/runtime/routes/brain-graph/brain-graph.html +1845 -0
  500. package/src/runtime/routes/brain-graph-routes.ts +4 -42
  501. package/src/runtime/routes/btw-routes.ts +155 -0
  502. package/src/runtime/routes/computer-use-routes.ts +77 -31
  503. package/src/runtime/routes/conversation-routes.ts +234 -47
  504. package/src/runtime/routes/diagnostics-routes.ts +154 -43
  505. package/src/runtime/routes/documents-routes.ts +2 -2
  506. package/src/runtime/routes/global-search-routes.ts +1 -1
  507. package/src/runtime/routes/host-bash-routes.ts +83 -0
  508. package/src/runtime/routes/host-file-routes.ts +79 -0
  509. package/src/runtime/routes/integrations/slack/share.ts +1 -1
  510. package/src/runtime/routes/log-export-routes.ts +120 -0
  511. package/src/runtime/routes/mcp-routes.ts +20 -0
  512. package/src/runtime/routes/migration-routes.ts +3 -3
  513. package/src/runtime/routes/pairing-routes.ts +1 -1
  514. package/src/runtime/routes/recording-routes.ts +6 -4
  515. package/src/runtime/routes/schedule-routes.ts +31 -5
  516. package/src/runtime/routes/session-management-routes.ts +2 -6
  517. package/src/runtime/routes/session-query-routes.ts +18 -15
  518. package/src/runtime/routes/settings-routes.ts +7 -351
  519. package/src/runtime/routes/skills-routes.ts +7 -6
  520. package/src/runtime/routes/subagents-routes.ts +4 -10
  521. package/src/runtime/routes/surface-action-routes.ts +3 -14
  522. package/src/runtime/routes/surface-content-routes.ts +22 -5
  523. package/src/runtime/routes/work-items-routes.ts +21 -25
  524. package/src/runtime/routes/workspace-routes.test.ts +3 -3
  525. package/src/runtime/routes/workspace-utils.ts +1 -1
  526. package/src/runtime/telegram-streaming-delivery.ts +3 -0
  527. package/src/runtime/verification-outbound-actions.ts +2 -2
  528. package/src/schedule/integration-status.ts +0 -6
  529. package/src/schedule/schedule-store.ts +234 -43
  530. package/src/schedule/scheduler.ts +73 -74
  531. package/src/security/oauth2.ts +1 -1
  532. package/src/sequence/store.ts +12 -2
  533. package/src/skills/frontmatter.ts +19 -77
  534. package/src/skills/managed-store.ts +11 -2
  535. package/src/subagent/manager.ts +5 -3
  536. package/src/tasks/ephemeral-permissions.ts +3 -5
  537. package/src/tools/AGENTS.md +37 -0
  538. package/src/tools/apps/executors.ts +0 -6
  539. package/src/tools/browser/browser-manager.ts +17 -11
  540. package/src/tools/browser/jit-auth.ts +4 -1
  541. package/src/tools/claude-code/claude-code.ts +1 -1
  542. package/src/tools/computer-use/definitions.ts +48 -60
  543. package/src/tools/document/document-tool.ts +6 -6
  544. package/src/tools/document/editor-template.ts +10 -8
  545. package/src/tools/filesystem/edit.ts +2 -1
  546. package/src/tools/filesystem/read.ts +20 -2
  547. package/src/tools/filesystem/write.ts +2 -1
  548. package/src/tools/host-filesystem/edit.ts +17 -1
  549. package/src/tools/host-filesystem/read.ts +16 -1
  550. package/src/tools/host-filesystem/write.ts +15 -1
  551. package/src/tools/host-terminal/host-shell.ts +24 -0
  552. package/src/tools/memory/definitions.ts +45 -81
  553. package/src/tools/memory/handlers.test.ts +0 -1
  554. package/src/tools/memory/handlers.ts +1 -1
  555. package/src/tools/memory/register.ts +26 -60
  556. package/src/tools/network/script-proxy/session-manager.ts +6 -8
  557. package/src/tools/network/web-fetch.ts +7 -1
  558. package/src/tools/network/web-search.ts +2 -1
  559. package/src/tools/registry.ts +23 -0
  560. package/src/tools/schedule/create.ts +113 -5
  561. package/src/tools/schedule/list.ts +57 -15
  562. package/src/tools/schedule/update.ts +73 -3
  563. package/src/tools/shared/filesystem/image-read.ts +192 -0
  564. package/src/tools/side-effects.ts +1 -7
  565. package/src/tools/skills/delete-managed.ts +27 -64
  566. package/src/tools/skills/execute.ts +54 -0
  567. package/src/tools/skills/load.ts +127 -5
  568. package/src/tools/skills/scaffold-managed.ts +93 -172
  569. package/src/tools/subagent/message.ts +0 -7
  570. package/src/tools/subagent/spawn.ts +1 -1
  571. package/src/tools/swarm/delegate.ts +0 -3
  572. package/src/tools/system/avatar-generator.ts +13 -19
  573. package/src/tools/system/request-permission.ts +2 -1
  574. package/src/tools/terminal/safe-env.ts +1 -0
  575. package/src/tools/tool-manifest.ts +41 -47
  576. package/src/tools/types.ts +6 -2
  577. package/src/tools/ui-surface/definitions.ts +0 -55
  578. package/src/util/errors.ts +12 -10
  579. package/src/workspace/git-service.ts +0 -2
  580. package/src/__tests__/account-registry.test.ts +0 -258
  581. package/src/__tests__/email-classifier.test.ts +0 -25
  582. package/src/__tests__/gmail-integration.test.ts +0 -97
  583. package/src/__tests__/handle-user-message-secret-resume.test.ts +0 -172
  584. package/src/__tests__/home-base-bootstrap.test.ts +0 -84
  585. package/src/__tests__/managed-twitter-guardrails.test.ts +0 -353
  586. package/src/__tests__/prebuilt-home-base-seed.test.ts +0 -79
  587. package/src/__tests__/recording-intent-fallback.test.ts +0 -199
  588. package/src/__tests__/recording-intent.test.ts +0 -985
  589. package/src/__tests__/recording-state-machine.test.ts +0 -1574
  590. package/src/__tests__/reminder-store.test.ts +0 -350
  591. package/src/__tests__/reminder.test.ts +0 -337
  592. package/src/__tests__/scan-result-store.test.ts +0 -121
  593. package/src/__tests__/twitter-platform-proxy-client.test.ts +0 -450
  594. package/src/__tests__/view-image-tool.test.ts +0 -241
  595. package/src/cli/commands/amazon/cart.ts +0 -513
  596. package/src/cli/commands/amazon/checkout.ts +0 -394
  597. package/src/cli/commands/amazon/client.ts +0 -513
  598. package/src/cli/commands/amazon/index.ts +0 -920
  599. package/src/cli/commands/amazon/product-details.ts +0 -145
  600. package/src/cli/commands/amazon/request-extractor.ts +0 -187
  601. package/src/cli/commands/amazon/search.ts +0 -76
  602. package/src/cli/commands/amazon/session.ts +0 -116
  603. package/src/cli/commands/twitter/__tests__/cli-error-shaping.test.ts +0 -265
  604. package/src/cli/commands/twitter/__tests__/cli-read-routing.test.ts +0 -483
  605. package/src/cli/commands/twitter/__tests__/cli-routing.test.ts +0 -412
  606. package/src/cli/commands/twitter/__tests__/oauth-client.test.ts +0 -197
  607. package/src/cli/commands/twitter/client.ts +0 -989
  608. package/src/cli/commands/twitter/index.ts +0 -1160
  609. package/src/cli/commands/twitter/oauth-client.ts +0 -94
  610. package/src/cli/commands/twitter/router.ts +0 -396
  611. package/src/cli/commands/twitter/session.ts +0 -121
  612. package/src/config/bundled-skills/agentmail/SKILL.md +0 -132
  613. package/src/config/bundled-skills/agentmail/icon.svg +0 -21
  614. package/src/config/bundled-skills/amazon/SKILL.md +0 -137
  615. package/src/config/bundled-skills/amazon/icon.svg +0 -13
  616. package/src/config/bundled-skills/api-mapping/SKILL.md +0 -78
  617. package/src/config/bundled-skills/api-mapping/icon.svg +0 -18
  618. package/src/config/bundled-skills/cli-discover/SKILL.md +0 -68
  619. package/src/config/bundled-skills/deploy-fullstack-vercel/SKILL.md +0 -179
  620. package/src/config/bundled-skills/document-writer/SKILL.md +0 -195
  621. package/src/config/bundled-skills/elevenlabs-voice/SKILL.md +0 -140
  622. package/src/config/bundled-skills/email-setup/SKILL.md +0 -68
  623. package/src/config/bundled-skills/frontend-design/SKILL.md +0 -44
  624. package/src/config/bundled-skills/frontend-design/icon.svg +0 -16
  625. package/src/config/bundled-skills/google-oauth-setup/SKILL.md +0 -452
  626. package/src/config/bundled-skills/guardian-verify-setup/SKILL.md +0 -203
  627. package/src/config/bundled-skills/influencer/SKILL.md +0 -144
  628. package/src/config/bundled-skills/influencer/scripts/client.ts +0 -1269
  629. package/src/config/bundled-skills/influencer/scripts/influencer.ts +0 -267
  630. package/src/config/bundled-skills/macos-automation/SKILL.md +0 -65
  631. package/src/config/bundled-skills/macos-automation/icon.svg +0 -12
  632. package/src/config/bundled-skills/mcp-setup/SKILL.md +0 -75
  633. package/src/config/bundled-skills/media-processing/tools/media-diagnostics.ts +0 -184
  634. package/src/config/bundled-skills/messaging/tools/gmail-archive-by-query.ts +0 -80
  635. package/src/config/bundled-skills/messaging/tools/gmail-archive.ts +0 -29
  636. package/src/config/bundled-skills/messaging/tools/gmail-batch-archive.ts +0 -56
  637. package/src/config/bundled-skills/messaging/tools/gmail-batch-label.ts +0 -34
  638. package/src/config/bundled-skills/messaging/tools/gmail-download-attachment.ts +0 -47
  639. package/src/config/bundled-skills/messaging/tools/gmail-label.ts +0 -31
  640. package/src/config/bundled-skills/messaging/tools/gmail-list-attachments.ts +0 -67
  641. package/src/config/bundled-skills/messaging/tools/gmail-send-with-attachments.ts +0 -97
  642. package/src/config/bundled-skills/messaging/tools/gmail-summarize-thread.ts +0 -87
  643. package/src/config/bundled-skills/messaging/tools/gmail-triage.ts +0 -135
  644. package/src/config/bundled-skills/messaging/tools/messaging-analyze-activity.ts +0 -24
  645. package/src/config/bundled-skills/messaging/tools/messaging-reply.ts +0 -201
  646. package/src/config/bundled-skills/messaging/tools/send-notification.ts +0 -1
  647. package/src/config/bundled-skills/messaging/tools/sequence-cancel.ts +0 -27
  648. package/src/config/bundled-skills/messaging/tools/sequence-pause.ts +0 -48
  649. package/src/config/bundled-skills/messaging/tools/sequence-resume.ts +0 -27
  650. package/src/config/bundled-skills/messaging/tools/sequence-update.ts +0 -56
  651. package/src/config/bundled-skills/notion/SKILL.md +0 -240
  652. package/src/config/bundled-skills/notion-oauth-setup/SKILL.md +0 -126
  653. package/src/config/bundled-skills/oauth-setup/SKILL.md +0 -143
  654. package/src/config/bundled-skills/public-ingress/SKILL.md +0 -258
  655. package/src/config/bundled-skills/reminder/SKILL.md +0 -79
  656. package/src/config/bundled-skills/reminder/TOOLS.json +0 -89
  657. package/src/config/bundled-skills/reminder/tools/reminder-list.ts +0 -12
  658. package/src/config/bundled-skills/restaurant-reservation/SKILL.md +0 -141
  659. package/src/config/bundled-skills/screen-recording/SKILL.md +0 -148
  660. package/src/config/bundled-skills/self-upgrade/SKILL.md +0 -69
  661. package/src/config/bundled-skills/skills-catalog/SKILL.md +0 -78
  662. package/src/config/bundled-skills/slack-app-setup/SKILL.md +0 -178
  663. package/src/config/bundled-skills/slack-digest-setup/SKILL.md +0 -163
  664. package/src/config/bundled-skills/slack-oauth-setup/SKILL.md +0 -157
  665. package/src/config/bundled-skills/start-the-day/SKILL.md +0 -70
  666. package/src/config/bundled-skills/start-the-day/icon.svg +0 -13
  667. package/src/config/bundled-skills/telegram-setup/SKILL.md +0 -105
  668. package/src/config/bundled-skills/time-based-actions/SKILL.md +0 -142
  669. package/src/config/bundled-skills/twilio-setup/SKILL.md +0 -232
  670. package/src/config/bundled-skills/twitter/SKILL.md +0 -319
  671. package/src/config/bundled-skills/twitter/icon.svg +0 -14
  672. package/src/config/bundled-skills/typescript-eval/SKILL.md +0 -60
  673. package/src/config/bundled-skills/vercel-token-setup/SKILL.md +0 -214
  674. package/src/config/bundled-skills/voice-setup/SKILL.md +0 -131
  675. package/src/config/bundled-skills/voice-setup/icon.svg +0 -20
  676. package/src/daemon/handlers/pairing.ts +0 -119
  677. package/src/daemon/handlers/session-user-message.ts +0 -961
  678. package/src/daemon/recording-executor.ts +0 -180
  679. package/src/daemon/recording-intent-fallback.ts +0 -162
  680. package/src/daemon/recording-intent.ts +0 -493
  681. package/src/home-base/app-link-store.ts +0 -78
  682. package/src/home-base/bootstrap.ts +0 -74
  683. package/src/home-base/prebuilt/brain-graph.html +0 -1483
  684. package/src/home-base/prebuilt/index.html +0 -702
  685. package/src/home-base/prebuilt/seed-metadata.json +0 -21
  686. package/src/home-base/prebuilt/seed.ts +0 -122
  687. package/src/home-base/prebuilt-home-base-updater.ts +0 -36
  688. package/src/memory/account-store.ts +0 -117
  689. package/src/messaging/activity-analyzer.ts +0 -76
  690. package/src/messaging/email-classifier.ts +0 -208
  691. package/src/messaging/index.ts +0 -2
  692. package/src/messaging/outreach-classifier.ts +0 -185
  693. package/src/messaging/thread-summarizer.ts +0 -346
  694. package/src/messaging/types.ts +0 -17
  695. package/src/tools/browser/x-auto-navigate.ts +0 -254
  696. package/src/tools/credentials/account-registry.ts +0 -144
  697. package/src/tools/filesystem/view-image.ts +0 -244
  698. package/src/tools/reminder/reminder-store.ts +0 -194
  699. package/src/tools/reminder/reminder.ts +0 -158
  700. package/src/tools/system/navigate-settings.ts +0 -74
  701. package/src/tools/system/open-system-settings.ts +0 -85
  702. package/src/tools/system/version.ts +0 -54
  703. package/src/twitter/platform-proxy-client.ts +0 -405
  704. package/src/util/cookie-session.ts +0 -98
  705. /package/src/config/bundled-skills/{messaging → gmail}/tools/scan-result-store.ts +0 -0
  706. /package/src/config/bundled-skills/{messaging → sequences}/tools/sequence-analytics.ts +0 -0
  707. /package/src/config/bundled-skills/{messaging → sequences}/tools/sequence-create.ts +0 -0
  708. /package/src/config/bundled-skills/{messaging → sequences}/tools/sequence-delete.ts +0 -0
  709. /package/src/config/bundled-skills/{messaging → sequences}/tools/sequence-enroll.ts +0 -0
  710. /package/src/config/bundled-skills/{messaging → sequences}/tools/sequence-enrollment-list.ts +0 -0
  711. /package/src/config/bundled-skills/{messaging → sequences}/tools/sequence-get.ts +0 -0
  712. /package/src/config/bundled-skills/{messaging → sequences}/tools/sequence-import.ts +0 -0
  713. /package/src/config/bundled-skills/{messaging → sequences}/tools/sequence-list.ts +0 -0
@@ -1,4 +1,4 @@
1
- import { forwardComputerUseProxyTool } from "../../../../tools/computer-use/skill-proxy-bridge.js";
1
+ import { executeDeleteManagedSkill } from "../../../../tools/skills/delete-managed.js";
2
2
  import type {
3
3
  ToolContext,
4
4
  ToolExecutionResult,
@@ -8,9 +8,5 @@ export async function run(
8
8
  input: Record<string, unknown>,
9
9
  context: ToolContext,
10
10
  ): Promise<ToolExecutionResult> {
11
- return forwardComputerUseProxyTool(
12
- "computer_use_double_click",
13
- input,
14
- context,
15
- );
11
+ return executeDeleteManagedSkill(input, context);
16
12
  }
@@ -0,0 +1,12 @@
1
+ import { executeScaffoldManagedSkill } from "../../../../tools/skills/scaffold-managed.js";
2
+ import type {
3
+ ToolContext,
4
+ ToolExecutionResult,
5
+ } from "../../../../tools/types.js";
6
+
7
+ export async function run(
8
+ input: Record<string, unknown>,
9
+ context: ToolContext,
10
+ ): Promise<ToolExecutionResult> {
11
+ return executeScaffoldManagedSkill(input, context);
12
+ }
@@ -2,7 +2,11 @@
2
2
  name: slack
3
3
  description: Scan channels, summarize threads, and manage Slack with privacy guardrails
4
4
  compatibility: "Designed for Vellum personal assistants"
5
- metadata: {"emoji":"💬","vellum":{"display-name":"Slack","user-invocable":true}}
5
+ metadata:
6
+ emoji: "💬"
7
+ vellum:
8
+ display-name: "Slack"
9
+ user-invocable: true
6
10
  ---
7
11
 
8
12
  You are a Slack assistant that helps users stay on top of their Slack workspace. Use the slack tools for channel scanning, thread summarization, and Slack-specific operations.
@@ -2,7 +2,10 @@
2
2
  name: subagent
3
3
  description: Spawn and manage autonomous background agents for parallel work
4
4
  compatibility: "Designed for Vellum personal assistants"
5
- metadata: {"emoji":"🤖","vellum":{"display-name":"Subagent"}}
5
+ metadata:
6
+ emoji: "🤖"
7
+ vellum:
8
+ display-name: "Subagent"
6
9
  ---
7
10
 
8
11
  Subagent orchestration -- spawn background agents to work on tasks in parallel.
@@ -2,7 +2,10 @@
2
2
  name: tasks
3
3
  description: Two-layer task system with reusable templates and a prioritized work queue
4
4
  compatibility: "Designed for Vellum personal assistants"
5
- metadata: {"emoji":"✅","vellum":{"display-name":"Tasks"}}
5
+ metadata:
6
+ emoji: "✅"
7
+ vellum:
8
+ display-name: "Tasks"
6
9
  ---
7
10
 
8
11
  Two-layer task system: **task templates** (reusable definitions with input placeholders) and **work items** (instances in the Task Queue with priority tiers and status tracking).
@@ -23,7 +26,7 @@ Use `task_list_add` to enqueue items (ad-hoc or from a template), `task_list_sho
23
26
 
24
27
  ## Tips
25
28
 
26
- - When the user says "add to my tasks" or "add to my queue", use `task_list_add` (NOT schedule_create or reminder_create).
29
+ - When the user says "add to my tasks" or "add to my queue", use `task_list_add` (NOT schedule_create).
27
30
  - Use `task_save` only when the user wants to capture a conversation pattern as a reusable template.
28
31
  - `task_list` shows saved templates; `task_list_show` shows the active work queue.
29
32
  - **Always specify `required_tools`** when calling `task_list_add`. Think about what tools the task will need at execution time and list them explicitly (e.g. `["host_bash"]` for shell commands, `["host_file_read", "host_file_write"]` for file operations, `["web_search", "web_fetch"]` for web lookups). The user must approve these tools before the task can run — omitting them forces a fallback to all tools, which is noisy and may miss non-standard tools the task actually needs.
@@ -2,7 +2,10 @@
2
2
  name: transcribe
3
3
  description: Transcribe audio and video files using Whisper (cloud API or local)
4
4
  compatibility: "Designed for Vellum personal assistants"
5
- metadata: {"emoji":"🎙️","vellum":{"display-name":"Transcribe"}}
5
+ metadata:
6
+ emoji: "🎙️"
7
+ vellum:
8
+ display-name: "Transcribe"
6
9
  ---
7
10
 
8
11
  Transcribe audio and video files using OpenAI's Whisper model — either via the cloud API or locally via whisper.cpp.
@@ -2,7 +2,10 @@
2
2
  name: watcher
3
3
  description: Polling watcher system for monitoring external sources
4
4
  compatibility: "Designed for Vellum personal assistants"
5
- metadata: {"emoji":"👀","vellum":{"display-name":"Watcher"}}
5
+ metadata:
6
+ emoji: "👀"
7
+ vellum:
8
+ display-name: "Watcher"
6
9
  ---
7
10
 
8
11
  Create and manage watchers that poll external services for events and process them with an action prompt.
@@ -13,7 +13,7 @@
13
13
  * bun run scripts/generate-bundled-tool-registry.ts
14
14
  */
15
15
  import type { SkillToolScript } from "../tools/skills/script-contract.js";
16
- // ── app-builder ──────────────────────────────────────────────────────────────
16
+ // ── app-builder ────────────────────────────────────────────────────────────────
17
17
  import * as appCreate from "./bundled-skills/app-builder/tools/app-create.js";
18
18
  import * as appDelete from "./bundled-skills/app-builder/tools/app-delete.js";
19
19
  import * as appFileEdit from "./bundled-skills/app-builder/tools/app-file-edit.js";
@@ -24,140 +24,144 @@ import * as appGenerateIcon from "./bundled-skills/app-builder/tools/app-generat
24
24
  import * as appList from "./bundled-skills/app-builder/tools/app-list.js";
25
25
  import * as appQuery from "./bundled-skills/app-builder/tools/app-query.js";
26
26
  import * as appUpdate from "./bundled-skills/app-builder/tools/app-update.js";
27
+ // ── browser ────────────────────────────────────────────────────────────────────
27
28
  import * as browserClick from "./bundled-skills/browser/tools/browser-click.js";
28
29
  import * as browserClose from "./bundled-skills/browser/tools/browser-close.js";
29
30
  import * as browserExtract from "./bundled-skills/browser/tools/browser-extract.js";
30
31
  import * as browserFillCredential from "./bundled-skills/browser/tools/browser-fill-credential.js";
31
- // ── browser ──────────────────────────────────────────────────────────────────
32
+ import * as browserHover from "./bundled-skills/browser/tools/browser-hover.js";
32
33
  import * as browserNavigate from "./bundled-skills/browser/tools/browser-navigate.js";
33
34
  import * as browserPressKey from "./bundled-skills/browser/tools/browser-press-key.js";
34
35
  import * as browserScreenshot from "./bundled-skills/browser/tools/browser-screenshot.js";
36
+ import * as browserScroll from "./bundled-skills/browser/tools/browser-scroll.js";
37
+ import * as browserSelectOption from "./bundled-skills/browser/tools/browser-select-option.js";
35
38
  import * as browserSnapshot from "./bundled-skills/browser/tools/browser-snapshot.js";
36
39
  import * as browserType from "./bundled-skills/browser/tools/browser-type.js";
37
40
  import * as browserWaitFor from "./bundled-skills/browser/tools/browser-wait-for.js";
38
- // ── chatgpt-import ───────────────────────────────────────────────────────────
39
- import * as chatgptImport_chatgptImport from "./bundled-skills/chatgpt-import/tools/chatgpt-import.js";
40
- // ── claude-code ──────────────────────────────────────────────────────────────
41
+ import * as browserWaitForDownload from "./bundled-skills/browser/tools/browser-wait-for-download.js";
42
+ // ── chatgpt-import ─────────────────────────────────────────────────────────────
43
+ import * as chatgptImport from "./bundled-skills/chatgpt-import/tools/chatgpt-import.js";
44
+ // ── claude-code ────────────────────────────────────────────────────────────────
41
45
  import * as claudeCode from "./bundled-skills/claude-code/tools/claude-code.js";
42
- // ── computer-use ─────────────────────────────────────────────────────────────
46
+ // ── computer-use ───────────────────────────────────────────────────────────────
43
47
  import * as computerUseClick from "./bundled-skills/computer-use/tools/computer-use-click.js";
44
48
  import * as computerUseDone from "./bundled-skills/computer-use/tools/computer-use-done.js";
45
- import * as computerUseDoubleClick from "./bundled-skills/computer-use/tools/computer-use-double-click.js";
46
49
  import * as computerUseDrag from "./bundled-skills/computer-use/tools/computer-use-drag.js";
47
50
  import * as computerUseKey from "./bundled-skills/computer-use/tools/computer-use-key.js";
48
51
  import * as computerUseOpenApp from "./bundled-skills/computer-use/tools/computer-use-open-app.js";
49
52
  import * as computerUseRespond from "./bundled-skills/computer-use/tools/computer-use-respond.js";
50
- import * as computerUseRightClick from "./bundled-skills/computer-use/tools/computer-use-right-click.js";
51
53
  import * as computerUseRunApplescript from "./bundled-skills/computer-use/tools/computer-use-run-applescript.js";
52
54
  import * as computerUseScroll from "./bundled-skills/computer-use/tools/computer-use-scroll.js";
53
55
  import * as computerUseTypeText from "./bundled-skills/computer-use/tools/computer-use-type-text.js";
54
56
  import * as computerUseWait from "./bundled-skills/computer-use/tools/computer-use-wait.js";
57
+ // ── contacts ───────────────────────────────────────────────────────────────────
55
58
  import * as contactMerge from "./bundled-skills/contacts/tools/contact-merge.js";
56
59
  import * as contactSearch from "./bundled-skills/contacts/tools/contact-search.js";
57
- // ── contacts ─────────────────────────────────────────────────────────────────
58
60
  import * as contactUpsert from "./bundled-skills/contacts/tools/contact-upsert.js";
59
- // ── document ─────────────────────────────────────────────────────────────────
61
+ import * as googleContacts from "./bundled-skills/contacts/tools/google-contacts.js";
62
+ // ── document ───────────────────────────────────────────────────────────────────
60
63
  import * as documentCreate from "./bundled-skills/document/tools/document-create.js";
61
64
  import * as documentUpdate from "./bundled-skills/document/tools/document-update.js";
62
- // ── followups ────────────────────────────────────────────────────────────────
65
+ // ── followups ──────────────────────────────────────────────────────────────────
63
66
  import * as followupCreate from "./bundled-skills/followups/tools/followup-create.js";
64
67
  import * as followupList from "./bundled-skills/followups/tools/followup-list.js";
65
68
  import * as followupResolve from "./bundled-skills/followups/tools/followup-resolve.js";
69
+ // ── gmail ──────────────────────────────────────────────────────────────────────
70
+ import * as gmailArchive from "./bundled-skills/gmail/tools/gmail-archive.js";
71
+ import * as gmailAttachments from "./bundled-skills/gmail/tools/gmail-attachments.js";
72
+ import * as gmailDraft from "./bundled-skills/gmail/tools/gmail-draft.js";
73
+ import * as gmailFilters from "./bundled-skills/gmail/tools/gmail-filters.js";
74
+ import * as gmailFollowUp from "./bundled-skills/gmail/tools/gmail-follow-up.js";
75
+ import * as gmailForward from "./bundled-skills/gmail/tools/gmail-forward.js";
76
+ import * as gmailLabel from "./bundled-skills/gmail/tools/gmail-label.js";
77
+ import * as gmailOutreachScan from "./bundled-skills/gmail/tools/gmail-outreach-scan.js";
78
+ import * as gmailSendDraft from "./bundled-skills/gmail/tools/gmail-send-draft.js";
79
+ import * as gmailSenderDigest from "./bundled-skills/gmail/tools/gmail-sender-digest.js";
80
+ import * as gmailTrash from "./bundled-skills/gmail/tools/gmail-trash.js";
81
+ import * as gmailUnsubscribe from "./bundled-skills/gmail/tools/gmail-unsubscribe.js";
82
+ import * as gmailVacation from "./bundled-skills/gmail/tools/gmail-vacation.js";
83
+ // ── google-calendar ────────────────────────────────────────────────────────────
66
84
  import * as calendarCheckAvailability from "./bundled-skills/google-calendar/tools/calendar-check-availability.js";
67
85
  import * as calendarCreateEvent from "./bundled-skills/google-calendar/tools/calendar-create-event.js";
68
86
  import * as calendarGetEvent from "./bundled-skills/google-calendar/tools/calendar-get-event.js";
69
- // ── google-calendar ──────────────────────────────────────────────────────────
70
87
  import * as calendarListEvents from "./bundled-skills/google-calendar/tools/calendar-list-events.js";
71
88
  import * as calendarRsvp from "./bundled-skills/google-calendar/tools/calendar-rsvp.js";
72
- // ── image-studio ─────────────────────────────────────────────────────────────
89
+ // ── image-studio ───────────────────────────────────────────────────────────────
73
90
  import * as mediaGenerateImage from "./bundled-skills/image-studio/tools/media-generate-image.js";
74
- // ── knowledge-graph ──────────────────────────────────────────────────────────
91
+ // ── knowledge-graph ────────────────────────────────────────────────────────────
75
92
  import * as graphQuery from "./bundled-skills/knowledge-graph/tools/graph-query.js";
93
+ // ── media-processing ───────────────────────────────────────────────────────────
76
94
  import * as analyzeKeyframes from "./bundled-skills/media-processing/tools/analyze-keyframes.js";
77
95
  import * as extractKeyframes from "./bundled-skills/media-processing/tools/extract-keyframes.js";
78
96
  import * as generateClip from "./bundled-skills/media-processing/tools/generate-clip.js";
79
- // ── media-processing ─────────────────────────────────────────────────────────
80
97
  import * as ingestMedia from "./bundled-skills/media-processing/tools/ingest-media.js";
81
- import * as mediaDiagnostics from "./bundled-skills/media-processing/tools/media-diagnostics.js";
82
98
  import * as mediaStatus from "./bundled-skills/media-processing/tools/media-status.js";
83
99
  import * as queryMediaEvents from "./bundled-skills/media-processing/tools/query-media-events.js";
84
- import * as gmailArchive from "./bundled-skills/messaging/tools/gmail-archive.js";
85
- import * as gmailBatchArchive from "./bundled-skills/messaging/tools/gmail-batch-archive.js";
86
- import * as gmailBatchLabel from "./bundled-skills/messaging/tools/gmail-batch-label.js";
87
- import * as gmailDownloadAttachment from "./bundled-skills/messaging/tools/gmail-download-attachment.js";
88
- import * as gmailDraft from "./bundled-skills/messaging/tools/gmail-draft.js";
89
- import * as gmailFilters from "./bundled-skills/messaging/tools/gmail-filters.js";
90
- import * as gmailFollowUp from "./bundled-skills/messaging/tools/gmail-follow-up.js";
91
- import * as gmailForward from "./bundled-skills/messaging/tools/gmail-forward.js";
92
- import * as gmailLabel from "./bundled-skills/messaging/tools/gmail-label.js";
93
- import * as gmailListAttachments from "./bundled-skills/messaging/tools/gmail-list-attachments.js";
94
- import * as gmailOutreachScan from "./bundled-skills/messaging/tools/gmail-outreach-scan.js";
95
- import * as gmailSendDraft from "./bundled-skills/messaging/tools/gmail-send-draft.js";
96
- import * as gmailSendWithAttachments from "./bundled-skills/messaging/tools/gmail-send-with-attachments.js";
97
- import * as gmailSenderDigest from "./bundled-skills/messaging/tools/gmail-sender-digest.js";
98
- import * as gmailSummarizeThread from "./bundled-skills/messaging/tools/gmail-summarize-thread.js";
99
- import * as gmailTrash from "./bundled-skills/messaging/tools/gmail-trash.js";
100
- import * as gmailTriage from "./bundled-skills/messaging/tools/gmail-triage.js";
101
- import * as gmailUnsubscribe from "./bundled-skills/messaging/tools/gmail-unsubscribe.js";
102
- import * as gmailVacation from "./bundled-skills/messaging/tools/gmail-vacation.js";
103
- import * as googleContacts from "./bundled-skills/messaging/tools/google-contacts.js";
104
- import * as messagingAnalyzeActivity from "./bundled-skills/messaging/tools/messaging-analyze-activity.js";
100
+ // ── messaging ──────────────────────────────────────────────────────────────────
105
101
  import * as messagingAnalyzeStyle from "./bundled-skills/messaging/tools/messaging-analyze-style.js";
106
- // ── messaging ────────────────────────────────────────────────────────────────
102
+ import * as messagingArchiveBySender from "./bundled-skills/messaging/tools/messaging-archive-by-sender.js";
107
103
  import * as messagingAuthTest from "./bundled-skills/messaging/tools/messaging-auth-test.js";
108
104
  import * as messagingDraft from "./bundled-skills/messaging/tools/messaging-draft.js";
109
105
  import * as messagingListConversations from "./bundled-skills/messaging/tools/messaging-list-conversations.js";
110
106
  import * as messagingMarkRead from "./bundled-skills/messaging/tools/messaging-mark-read.js";
111
107
  import * as messagingRead from "./bundled-skills/messaging/tools/messaging-read.js";
112
- import * as messagingReply from "./bundled-skills/messaging/tools/messaging-reply.js";
113
108
  import * as messagingSearch from "./bundled-skills/messaging/tools/messaging-search.js";
114
109
  import * as messagingSend from "./bundled-skills/messaging/tools/messaging-send.js";
115
- import * as sequenceAnalytics from "./bundled-skills/messaging/tools/sequence-analytics.js";
116
- import * as sequenceCancel from "./bundled-skills/messaging/tools/sequence-cancel.js";
117
- import * as sequenceCreate from "./bundled-skills/messaging/tools/sequence-create.js";
118
- import * as sequenceDelete from "./bundled-skills/messaging/tools/sequence-delete.js";
119
- import * as sequenceEnroll from "./bundled-skills/messaging/tools/sequence-enroll.js";
120
- import * as sequenceEnrollmentList from "./bundled-skills/messaging/tools/sequence-enrollment-list.js";
121
- import * as sequenceGet from "./bundled-skills/messaging/tools/sequence-get.js";
122
- import * as sequenceImport from "./bundled-skills/messaging/tools/sequence-import.js";
123
- import * as sequenceList from "./bundled-skills/messaging/tools/sequence-list.js";
124
- import * as sequencePause from "./bundled-skills/messaging/tools/sequence-pause.js";
125
- import * as sequenceResume from "./bundled-skills/messaging/tools/sequence-resume.js";
126
- import * as sequenceUpdate from "./bundled-skills/messaging/tools/sequence-update.js";
127
- // ── notifications ───────────────────────────────────────────────────────────
110
+ import * as messagingSenderDigest from "./bundled-skills/messaging/tools/messaging-sender-digest.js";
111
+ // ── notifications ──────────────────────────────────────────────────────────────
128
112
  import * as sendNotification from "./bundled-skills/notifications/tools/send-notification.js";
129
- // ── phone-calls ─────────────────────────────────────────────────────────────
113
+ // ── orchestration ──────────────────────────────────────────────────────────────
114
+ import * as swarmDelegate from "./bundled-skills/orchestration/tools/swarm-delegate.js";
115
+ // ── phone-calls ────────────────────────────────────────────────────────────────
130
116
  import * as callEnd from "./bundled-skills/phone-calls/tools/call-end.js";
131
117
  import * as callStart from "./bundled-skills/phone-calls/tools/call-start.js";
132
118
  import * as callStatus from "./bundled-skills/phone-calls/tools/call-status.js";
133
- // ── playbooks ────────────────────────────────────────────────────────────────
119
+ // ── playbooks ──────────────────────────────────────────────────────────────────
134
120
  import * as playbookCreate from "./bundled-skills/playbooks/tools/playbook-create.js";
135
121
  import * as playbookDelete from "./bundled-skills/playbooks/tools/playbook-delete.js";
136
122
  import * as playbookList from "./bundled-skills/playbooks/tools/playbook-list.js";
137
123
  import * as playbookUpdate from "./bundled-skills/playbooks/tools/playbook-update.js";
138
- import * as reminderCancel from "./bundled-skills/reminder/tools/reminder-cancel.js";
139
- // ── reminder ─────────────────────────────────────────────────────────────────
140
- import * as reminderCreate from "./bundled-skills/reminder/tools/reminder-create.js";
141
- import * as reminderList from "./bundled-skills/reminder/tools/reminder-list.js";
142
- // ── schedule ─────────────────────────────────────────────────────────────────
124
+ // ── schedule ───────────────────────────────────────────────────────────────────
143
125
  import * as scheduleCreate from "./bundled-skills/schedule/tools/schedule-create.js";
144
126
  import * as scheduleDelete from "./bundled-skills/schedule/tools/schedule-delete.js";
145
127
  import * as scheduleList from "./bundled-skills/schedule/tools/schedule-list.js";
146
128
  import * as scheduleUpdate from "./bundled-skills/schedule/tools/schedule-update.js";
147
- // ── slack ────────────────────────────────────────────────────────────────────
129
+ // ── screen-watch ───────────────────────────────────────────────────────────────
130
+ import * as startScreenWatch from "./bundled-skills/screen-watch/tools/start-screen-watch.js";
131
+ // ── sequences ──────────────────────────────────────────────────────────────────
132
+ import * as sequenceAnalytics from "./bundled-skills/sequences/tools/sequence-analytics.js";
133
+ import * as sequenceCreate from "./bundled-skills/sequences/tools/sequence-create.js";
134
+ import * as sequenceDelete from "./bundled-skills/sequences/tools/sequence-delete.js";
135
+ import * as sequenceEnroll from "./bundled-skills/sequences/tools/sequence-enroll.js";
136
+ import * as sequenceEnrollmentList from "./bundled-skills/sequences/tools/sequence-enrollment-list.js";
137
+ import * as sequenceGet from "./bundled-skills/sequences/tools/sequence-get.js";
138
+ import * as sequenceImport from "./bundled-skills/sequences/tools/sequence-import.js";
139
+ import * as sequenceList from "./bundled-skills/sequences/tools/sequence-list.js";
140
+ import * as sequenceUpdate from "./bundled-skills/sequences/tools/sequence-update.js";
141
+ // ── settings ───────────────────────────────────────────────────────────────────
142
+ import * as navigateSettingsTab from "./bundled-skills/settings/tools/navigate-settings-tab.js";
143
+ import * as openSystemSettings from "./bundled-skills/settings/tools/open-system-settings.js";
144
+ import * as setAvatar from "./bundled-skills/settings/tools/set-avatar.js";
145
+ import * as voiceConfigUpdate from "./bundled-skills/settings/tools/voice-config-update.js";
146
+ // ── skill-management ───────────────────────────────────────────────────────────
147
+ import * as deleteManaged from "./bundled-skills/skill-management/tools/delete-managed.js";
148
+ import * as scaffoldManaged from "./bundled-skills/skill-management/tools/scaffold-managed.js";
149
+ // ── slack ──────────────────────────────────────────────────────────────────────
148
150
  import * as slackAddReaction from "./bundled-skills/slack/tools/slack-add-reaction.js";
149
151
  import * as slackChannelDetails from "./bundled-skills/slack/tools/slack-channel-details.js";
150
152
  import * as slackChannelPermissions from "./bundled-skills/slack/tools/slack-channel-permissions.js";
151
153
  import * as slackConfigureChannels from "./bundled-skills/slack/tools/slack-configure-channels.js";
152
154
  import * as slackDeleteMessage from "./bundled-skills/slack/tools/slack-delete-message.js";
155
+ import * as slackEditMessage from "./bundled-skills/slack/tools/slack-edit-message.js";
153
156
  import * as slackLeaveChannel from "./bundled-skills/slack/tools/slack-leave-channel.js";
154
157
  import * as slackScanDigest from "./bundled-skills/slack/tools/slack-scan-digest.js";
158
+ // ── subagent ───────────────────────────────────────────────────────────────────
155
159
  import * as subagentAbort from "./bundled-skills/subagent/tools/subagent-abort.js";
156
160
  import * as subagentMessage from "./bundled-skills/subagent/tools/subagent-message.js";
157
161
  import * as subagentRead from "./bundled-skills/subagent/tools/subagent-read.js";
158
- // ── subagent ─────────────────────────────────────────────────────────────────
159
162
  import * as subagentSpawn from "./bundled-skills/subagent/tools/subagent-spawn.js";
160
163
  import * as subagentStatus from "./bundled-skills/subagent/tools/subagent-status.js";
164
+ // ── tasks ──────────────────────────────────────────────────────────────────────
161
165
  import * as taskDelete from "./bundled-skills/tasks/tools/task-delete.js";
162
166
  import * as taskList from "./bundled-skills/tasks/tools/task-list.js";
163
167
  import * as taskListAdd from "./bundled-skills/tasks/tools/task-list-add.js";
@@ -166,11 +170,10 @@ import * as taskListShow from "./bundled-skills/tasks/tools/task-list-show.js";
166
170
  import * as taskListUpdate from "./bundled-skills/tasks/tools/task-list-update.js";
167
171
  import * as taskQueueRun from "./bundled-skills/tasks/tools/task-queue-run.js";
168
172
  import * as taskRun from "./bundled-skills/tasks/tools/task-run.js";
169
- // ── tasks ────────────────────────────────────────────────────────────────────
170
173
  import * as taskSave from "./bundled-skills/tasks/tools/task-save.js";
171
- // ── transcribe ───────────────────────────────────────────────────────────────
174
+ // ── transcribe ─────────────────────────────────────────────────────────────────
172
175
  import * as transcribeMedia from "./bundled-skills/transcribe/tools/transcribe-media.js";
173
- // ── watcher ──────────────────────────────────────────────────────────────────
176
+ // ── watcher ────────────────────────────────────────────────────────────────────
174
177
  import * as watcherCreate from "./bundled-skills/watcher/tools/watcher-create.js";
175
178
  import * as watcherDelete from "./bundled-skills/watcher/tools/watcher-delete.js";
176
179
  import * as watcherDigest from "./bundled-skills/watcher/tools/watcher-digest.js";
@@ -201,20 +204,22 @@ export const bundledToolRegistry = new Map<string, SkillToolScript>([
201
204
  ["browser:tools/browser-click.ts", browserClick],
202
205
  ["browser:tools/browser-type.ts", browserType],
203
206
  ["browser:tools/browser-press-key.ts", browserPressKey],
207
+ ["browser:tools/browser-scroll.ts", browserScroll],
208
+ ["browser:tools/browser-select-option.ts", browserSelectOption],
209
+ ["browser:tools/browser-hover.ts", browserHover],
204
210
  ["browser:tools/browser-wait-for.ts", browserWaitFor],
205
211
  ["browser:tools/browser-extract.ts", browserExtract],
212
+ ["browser:tools/browser-wait-for-download.ts", browserWaitForDownload],
206
213
  ["browser:tools/browser-fill-credential.ts", browserFillCredential],
207
214
 
208
215
  // chatgpt-import
209
- ["chatgpt-import:tools/chatgpt-import.ts", chatgptImport_chatgptImport],
216
+ ["chatgpt-import:tools/chatgpt-import.ts", chatgptImport],
210
217
 
211
218
  // claude-code
212
219
  ["claude-code:tools/claude-code.ts", claudeCode],
213
220
 
214
221
  // computer-use
215
222
  ["computer-use:tools/computer-use-click.ts", computerUseClick],
216
- ["computer-use:tools/computer-use-double-click.ts", computerUseDoubleClick],
217
- ["computer-use:tools/computer-use-right-click.ts", computerUseRightClick],
218
223
  ["computer-use:tools/computer-use-type-text.ts", computerUseTypeText],
219
224
  ["computer-use:tools/computer-use-key.ts", computerUseKey],
220
225
  ["computer-use:tools/computer-use-scroll.ts", computerUseScroll],
@@ -232,6 +237,7 @@ export const bundledToolRegistry = new Map<string, SkillToolScript>([
232
237
  ["contacts:tools/contact-upsert.ts", contactUpsert],
233
238
  ["contacts:tools/contact-search.ts", contactSearch],
234
239
  ["contacts:tools/contact-merge.ts", contactMerge],
240
+ ["contacts:tools/google-contacts.ts", googleContacts],
235
241
 
236
242
  // document
237
243
  ["document:tools/document-create.ts", documentCreate],
@@ -242,6 +248,21 @@ export const bundledToolRegistry = new Map<string, SkillToolScript>([
242
248
  ["followups:tools/followup-list.ts", followupList],
243
249
  ["followups:tools/followup-resolve.ts", followupResolve],
244
250
 
251
+ // gmail
252
+ ["gmail:tools/gmail-archive.ts", gmailArchive],
253
+ ["gmail:tools/gmail-label.ts", gmailLabel],
254
+ ["gmail:tools/gmail-trash.ts", gmailTrash],
255
+ ["gmail:tools/gmail-unsubscribe.ts", gmailUnsubscribe],
256
+ ["gmail:tools/gmail-draft.ts", gmailDraft],
257
+ ["gmail:tools/gmail-send-draft.ts", gmailSendDraft],
258
+ ["gmail:tools/gmail-attachments.ts", gmailAttachments],
259
+ ["gmail:tools/gmail-forward.ts", gmailForward],
260
+ ["gmail:tools/gmail-follow-up.ts", gmailFollowUp],
261
+ ["gmail:tools/gmail-filters.ts", gmailFilters],
262
+ ["gmail:tools/gmail-vacation.ts", gmailVacation],
263
+ ["gmail:tools/gmail-sender-digest.ts", gmailSenderDigest],
264
+ ["gmail:tools/gmail-outreach-scan.ts", gmailOutreachScan],
265
+
245
266
  // google-calendar
246
267
  ["google-calendar:tools/calendar-list-events.ts", calendarListEvents],
247
268
  ["google-calendar:tools/calendar-get-event.ts", calendarGetEvent],
@@ -265,7 +286,6 @@ export const bundledToolRegistry = new Map<string, SkillToolScript>([
265
286
  ["media-processing:tools/analyze-keyframes.ts", analyzeKeyframes],
266
287
  ["media-processing:tools/query-media-events.ts", queryMediaEvents],
267
288
  ["media-processing:tools/generate-clip.ts", generateClip],
268
- ["media-processing:tools/media-diagnostics.ts", mediaDiagnostics],
269
289
 
270
290
  // messaging
271
291
  ["messaging:tools/messaging-auth-test.ts", messagingAuthTest],
@@ -276,47 +296,18 @@ export const bundledToolRegistry = new Map<string, SkillToolScript>([
276
296
  ["messaging:tools/messaging-read.ts", messagingRead],
277
297
  ["messaging:tools/messaging-search.ts", messagingSearch],
278
298
  ["messaging:tools/messaging-send.ts", messagingSend],
279
- ["messaging:tools/messaging-reply.ts", messagingReply],
280
299
  ["messaging:tools/messaging-mark-read.ts", messagingMarkRead],
281
- ["messaging:tools/messaging-analyze-activity.ts", messagingAnalyzeActivity],
282
300
  ["messaging:tools/messaging-analyze-style.ts", messagingAnalyzeStyle],
283
301
  ["messaging:tools/messaging-draft.ts", messagingDraft],
284
- ["messaging:tools/gmail-archive.ts", gmailArchive],
285
- ["messaging:tools/gmail-batch-archive.ts", gmailBatchArchive],
286
- ["messaging:tools/gmail-label.ts", gmailLabel],
287
- ["messaging:tools/gmail-batch-label.ts", gmailBatchLabel],
288
- ["messaging:tools/gmail-trash.ts", gmailTrash],
289
- ["messaging:tools/gmail-unsubscribe.ts", gmailUnsubscribe],
290
- ["messaging:tools/gmail-draft.ts", gmailDraft],
291
- ["messaging:tools/gmail-send-draft.ts", gmailSendDraft],
292
- ["messaging:tools/gmail-list-attachments.ts", gmailListAttachments],
293
- ["messaging:tools/gmail-download-attachment.ts", gmailDownloadAttachment],
294
- ["messaging:tools/gmail-send-with-attachments.ts", gmailSendWithAttachments],
295
- ["messaging:tools/gmail-forward.ts", gmailForward],
296
- ["messaging:tools/gmail-summarize-thread.ts", gmailSummarizeThread],
297
- ["messaging:tools/gmail-follow-up.ts", gmailFollowUp],
298
- ["messaging:tools/gmail-triage.ts", gmailTriage],
299
- ["messaging:tools/gmail-filters.ts", gmailFilters],
300
- ["messaging:tools/gmail-vacation.ts", gmailVacation],
301
- ["messaging:tools/gmail-sender-digest.ts", gmailSenderDigest],
302
- ["messaging:tools/gmail-outreach-scan.ts", gmailOutreachScan],
303
- ["messaging:tools/google-contacts.ts", googleContacts],
304
- ["messaging:tools/sequence-create.ts", sequenceCreate],
305
- ["messaging:tools/sequence-list.ts", sequenceList],
306
- ["messaging:tools/sequence-get.ts", sequenceGet],
307
- ["messaging:tools/sequence-update.ts", sequenceUpdate],
308
- ["messaging:tools/sequence-delete.ts", sequenceDelete],
309
- ["messaging:tools/sequence-enroll.ts", sequenceEnroll],
310
- ["messaging:tools/sequence-enrollment-list.ts", sequenceEnrollmentList],
311
- ["messaging:tools/sequence-pause.ts", sequencePause],
312
- ["messaging:tools/sequence-resume.ts", sequenceResume],
313
- ["messaging:tools/sequence-cancel.ts", sequenceCancel],
314
- ["messaging:tools/sequence-import.ts", sequenceImport],
315
- ["messaging:tools/sequence-analytics.ts", sequenceAnalytics],
302
+ ["messaging:tools/messaging-sender-digest.ts", messagingSenderDigest],
303
+ ["messaging:tools/messaging-archive-by-sender.ts", messagingArchiveBySender],
316
304
 
317
305
  // notifications
318
306
  ["notifications:tools/send-notification.ts", sendNotification],
319
307
 
308
+ // orchestration
309
+ ["orchestration:tools/swarm-delegate.ts", swarmDelegate],
310
+
320
311
  // phone-calls
321
312
  ["phone-calls:tools/call-start.ts", callStart],
322
313
  ["phone-calls:tools/call-status.ts", callStatus],
@@ -328,23 +319,43 @@ export const bundledToolRegistry = new Map<string, SkillToolScript>([
328
319
  ["playbooks:tools/playbook-update.ts", playbookUpdate],
329
320
  ["playbooks:tools/playbook-delete.ts", playbookDelete],
330
321
 
331
- // reminder
332
- ["reminder:tools/reminder-create.ts", reminderCreate],
333
- ["reminder:tools/reminder-list.ts", reminderList],
334
- ["reminder:tools/reminder-cancel.ts", reminderCancel],
335
-
336
322
  // schedule
337
323
  ["schedule:tools/schedule-create.ts", scheduleCreate],
338
324
  ["schedule:tools/schedule-list.ts", scheduleList],
339
325
  ["schedule:tools/schedule-update.ts", scheduleUpdate],
340
326
  ["schedule:tools/schedule-delete.ts", scheduleDelete],
341
327
 
328
+ // screen-watch
329
+ ["screen-watch:tools/start-screen-watch.ts", startScreenWatch],
330
+
331
+ // sequences
332
+ ["sequences:tools/sequence-create.ts", sequenceCreate],
333
+ ["sequences:tools/sequence-list.ts", sequenceList],
334
+ ["sequences:tools/sequence-get.ts", sequenceGet],
335
+ ["sequences:tools/sequence-update.ts", sequenceUpdate],
336
+ ["sequences:tools/sequence-delete.ts", sequenceDelete],
337
+ ["sequences:tools/sequence-enroll.ts", sequenceEnroll],
338
+ ["sequences:tools/sequence-enrollment-list.ts", sequenceEnrollmentList],
339
+ ["sequences:tools/sequence-import.ts", sequenceImport],
340
+ ["sequences:tools/sequence-analytics.ts", sequenceAnalytics],
341
+
342
+ // settings
343
+ ["settings:tools/voice-config-update.ts", voiceConfigUpdate],
344
+ ["settings:tools/set-avatar.ts", setAvatar],
345
+ ["settings:tools/open-system-settings.ts", openSystemSettings],
346
+ ["settings:tools/navigate-settings-tab.ts", navigateSettingsTab],
347
+
348
+ // skill-management
349
+ ["skill-management:tools/scaffold-managed.ts", scaffoldManaged],
350
+ ["skill-management:tools/delete-managed.ts", deleteManaged],
351
+
342
352
  // slack
343
353
  ["slack:tools/slack-scan-digest.ts", slackScanDigest],
344
354
  ["slack:tools/slack-channel-details.ts", slackChannelDetails],
345
355
  ["slack:tools/slack-configure-channels.ts", slackConfigureChannels],
346
356
  ["slack:tools/slack-add-reaction.ts", slackAddReaction],
347
357
  ["slack:tools/slack-delete-message.ts", slackDeleteMessage],
358
+ ["slack:tools/slack-edit-message.ts", slackEditMessage],
348
359
  ["slack:tools/slack-leave-channel.ts", slackLeaveChannel],
349
360
  ["slack:tools/slack-channel-permissions.ts", slackChannelPermissions],
350
361
 
package/src/config/env.ts CHANGED
@@ -148,8 +148,11 @@ export function isMonitoringEnabled(): boolean {
148
148
  return getEnableMonitoring();
149
149
  }
150
150
 
151
- export function getSentryDsn(): string | undefined {
152
- return str("SENTRY_DSN");
151
+ const DEFAULT_SENTRY_DSN =
152
+ "https://db2d38a082e4ee35eeaea08c44b376ec@o4504590528675840.ingest.us.sentry.io/4510874712276992";
153
+
154
+ export function getSentryDsn(): string {
155
+ return str("SENTRY_DSN") ?? DEFAULT_SENTRY_DSN;
153
156
  }
154
157
 
155
158
  // ── Qdrant ───────────────────────────────────────────────────────────────────
@@ -25,14 +25,6 @@
25
25
  "description": "Enable browser skill prerequisites section in the system prompt",
26
26
  "defaultEnabled": true
27
27
  },
28
- {
29
- "id": "twitter",
30
- "scope": "assistant",
31
- "key": "feature_flags.twitter.enabled",
32
- "label": "Twitter",
33
- "description": "Enable X (Twitter) skill section in the system prompt",
34
- "defaultEnabled": false
35
- },
36
28
  {
37
29
  "id": "messaging",
38
30
  "scope": "assistant",
@@ -63,7 +55,7 @@
63
55
  "key": "feature_flags.collect-usage-data.enabled",
64
56
  "label": "Collect usage data",
65
57
  "description": "Send crash reports and error diagnostics to help improve the app",
66
- "defaultEnabled": false
58
+ "defaultEnabled": true
67
59
  },
68
60
  {
69
61
  "id": "user-hosted-enabled",
@@ -104,6 +96,38 @@
104
96
  "label": "App Builder Multi-file",
105
97
  "description": "Enable multi-file TSX app creation with esbuild compilation instead of single-HTML apps",
106
98
  "defaultEnabled": false
99
+ },
100
+ {
101
+ "id": "sentry-testing",
102
+ "scope": "macos",
103
+ "key": "sentry_testing_enabled",
104
+ "label": "Sentry Testing",
105
+ "description": "Show the Sentry Testing tab in Settings for triggering test crash reports and error events",
106
+ "defaultEnabled": false
107
+ },
108
+ {
109
+ "id": "gmail",
110
+ "scope": "assistant",
111
+ "key": "feature_flags.gmail.enabled",
112
+ "label": "Gmail",
113
+ "description": "Enable Gmail management skill (archive, label, declutter)",
114
+ "defaultEnabled": true
115
+ },
116
+ {
117
+ "id": "sequences",
118
+ "scope": "assistant",
119
+ "key": "feature_flags.sequences.enabled",
120
+ "label": "Email Sequences",
121
+ "description": "Enable email sequence management skill",
122
+ "defaultEnabled": true
123
+ },
124
+ {
125
+ "id": "settings-developer-nav",
126
+ "scope": "assistant",
127
+ "key": "feature_flags.settings-developer-nav.enabled",
128
+ "label": "Settings Developer Nav",
129
+ "description": "Control Developer nav visibility in macOS settings",
130
+ "defaultEnabled": true
107
131
  }
108
132
  ]
109
133
  }
@@ -180,8 +180,16 @@ function backfillConfigDefaults(
180
180
  return;
181
181
  }
182
182
 
183
- if (deepMergeMissing(raw as Record<string, unknown>, fullDefaults)) {
184
- writeFileSync(configPath, JSON.stringify(raw, null, 2) + "\n");
183
+ deepMergeMissing(raw as Record<string, unknown>, fullDefaults);
184
+ // Compare serialized JSON to decide whether a write is needed.
185
+ // deepMergeMissing can report false-positive mutations (e.g. setting a key
186
+ // to a value identical to what was already there), so comparing the final
187
+ // JSON avoids a hot-loop where writing triggers the config-watcher which
188
+ // reloads and backfills again endlessly.
189
+ const newJson = JSON.stringify(raw, null, 2) + "\n";
190
+ const existingJson = readFileSync(configPath, "utf-8");
191
+ if (newJson !== existingJson) {
192
+ writeFileSync(configPath, newJson);
185
193
  log.info("Backfilled missing config defaults in %s", configPath);
186
194
  }
187
195
  }