@vellumai/assistant 0.4.44 → 0.4.45

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (681) hide show
  1. package/.prettierignore +4 -0
  2. package/ARCHITECTURE.md +34 -31
  3. package/README.md +4 -4
  4. package/bun.lock +10 -35
  5. package/docs/architecture/integrations.md +102 -197
  6. package/docs/architecture/keychain-broker.md +1 -1
  7. package/docs/architecture/memory.md +2 -2
  8. package/docs/architecture/scheduling.md +1 -1
  9. package/docs/architecture/security.md +11 -11
  10. package/docs/error-handling.md +1 -1
  11. package/docs/trusted-contact-access.md +3 -3
  12. package/drizzle/meta/0000_snapshot.json +34 -100
  13. package/drizzle/meta/_journal.json +1 -1
  14. package/drizzle.config.ts +4 -4
  15. package/package.json +3 -2
  16. package/scripts/capture-x-graphql.ts +237 -141
  17. package/scripts/generate-bundled-tool-registry.ts +223 -0
  18. package/src/__tests__/access-request-decision.test.ts +0 -1
  19. package/src/__tests__/actor-token-service.test.ts +23 -24
  20. package/src/__tests__/agent-loop.test.ts +0 -131
  21. package/src/__tests__/always-loaded-tools-guard.test.ts +71 -0
  22. package/src/__tests__/amazon-cdp-integration.test.ts +11 -9
  23. package/src/__tests__/approval-primitive.test.ts +0 -1
  24. package/src/__tests__/approval-routes-http.test.ts +11 -1
  25. package/src/__tests__/asset-materialize-tool.test.ts +0 -1
  26. package/src/__tests__/asset-search-tool.test.ts +0 -1
  27. package/src/__tests__/assistant-attachment-directive.test.ts +1 -1
  28. package/src/__tests__/assistant-events-sse-hardening.test.ts +0 -1
  29. package/src/__tests__/assistant-feature-flag-guardrails.test.ts +0 -2
  30. package/src/__tests__/assistant-feature-flags-integration.test.ts +70 -18
  31. package/src/__tests__/assistant-id-boundary-guard.test.ts +6 -6
  32. package/src/__tests__/attachments-store.test.ts +0 -1
  33. package/src/__tests__/avatar-e2e.test.ts +74 -115
  34. package/src/__tests__/avatar-router.test.ts +25 -62
  35. package/src/__tests__/browser-manager.test.ts +24 -0
  36. package/src/__tests__/browser-skill-baseline-tool-payload.test.ts +4 -3
  37. package/src/__tests__/browser-skill-endstate.test.ts +8 -11
  38. package/src/__tests__/btw-routes.test.ts +326 -0
  39. package/src/__tests__/bundled-skill-retrieval-guard.test.ts +23 -9
  40. package/src/__tests__/call-controller.test.ts +0 -1
  41. package/src/__tests__/call-conversation-messages.test.ts +0 -1
  42. package/src/__tests__/call-domain.test.ts +0 -1
  43. package/src/__tests__/call-pointer-messages.test.ts +0 -1
  44. package/src/__tests__/call-recovery.test.ts +0 -1
  45. package/src/__tests__/call-routes-http.test.ts +0 -1
  46. package/src/__tests__/call-store.test.ts +0 -1
  47. package/src/__tests__/canonical-guardian-store.test.ts +0 -1
  48. package/src/__tests__/channel-approval-routes.test.ts +1 -1
  49. package/src/__tests__/channel-approvals.test.ts +1 -1
  50. package/src/__tests__/channel-delivery-store.test.ts +0 -1
  51. package/src/__tests__/channel-guardian.test.ts +5 -7
  52. package/src/__tests__/channel-retry-sweep.test.ts +0 -1
  53. package/src/__tests__/checker.test.ts +4 -11
  54. package/src/__tests__/compaction.benchmark.test.ts +16 -14
  55. package/src/__tests__/computer-use-session-lifecycle.test.ts +10 -11
  56. package/src/__tests__/computer-use-session-working-dir.test.ts +2 -6
  57. package/src/__tests__/computer-use-skill-lifecycle-cleanup.test.ts +2 -5
  58. package/src/__tests__/computer-use-tools.test.ts +35 -31
  59. package/src/__tests__/config-schema.test.ts +11 -15
  60. package/src/__tests__/config-watcher.test.ts +0 -1
  61. package/src/__tests__/confirmation-request-guardian-bridge.test.ts +0 -1
  62. package/src/__tests__/conflict-store.test.ts +0 -1
  63. package/src/__tests__/connection-policy.test.ts +4 -7
  64. package/src/__tests__/contacts-tools.test.ts +0 -1
  65. package/src/__tests__/context-memory-e2e.test.ts +2 -4
  66. package/src/__tests__/context-overflow-reducer.test.ts +2 -4
  67. package/src/__tests__/context-window-manager.test.ts +147 -60
  68. package/src/__tests__/contradiction-checker.test.ts +0 -1
  69. package/src/__tests__/conversation-attention-store.test.ts +0 -1
  70. package/src/__tests__/conversation-attention-telegram.test.ts +1 -1
  71. package/src/__tests__/conversation-pairing.test.ts +2 -2
  72. package/src/__tests__/conversation-routes-guardian-reply.test.ts +25 -1
  73. package/src/__tests__/conversation-routes-slash-commands.test.ts +381 -0
  74. package/src/__tests__/conversation-store.test.ts +0 -1
  75. package/src/__tests__/conversation-unread-route.test.ts +1 -2
  76. package/src/__tests__/credential-security-invariants.test.ts +7 -8
  77. package/src/__tests__/cross-provider-web-search.test.ts +353 -0
  78. package/src/__tests__/daemon-assistant-events.test.ts +6 -7
  79. package/src/__tests__/db-schedule-syntax-migration.test.ts +15 -3
  80. package/src/__tests__/delete-managed-skill-tool.test.ts +5 -9
  81. package/src/__tests__/deterministic-verification-control-plane.test.ts +0 -1
  82. package/src/__tests__/diagnostics-export.test.ts +189 -0
  83. package/src/__tests__/dynamic-skill-workflow-prompt.test.ts +0 -1
  84. package/src/__tests__/emit-signal-routing-intent.test.ts +3 -3
  85. package/src/__tests__/entity-extractor.test.ts +0 -1
  86. package/src/__tests__/entity-search.test.ts +0 -1
  87. package/src/__tests__/ephemeral-permissions.test.ts +2 -4
  88. package/src/__tests__/file-read-tool.test.ts +86 -0
  89. package/src/__tests__/followup-tools.test.ts +0 -1
  90. package/src/__tests__/frontmatter.test.ts +77 -34
  91. package/src/__tests__/gateway-only-enforcement.test.ts +0 -1
  92. package/src/__tests__/gateway-only-guard.test.ts +1 -1
  93. package/src/__tests__/guardian-action-conversation-turn.test.ts +0 -1
  94. package/src/__tests__/guardian-action-followup-executor.test.ts +0 -1
  95. package/src/__tests__/guardian-action-followup-store.test.ts +0 -1
  96. package/src/__tests__/guardian-action-grant-mint-consume.test.ts +0 -1
  97. package/src/__tests__/guardian-action-late-reply.test.ts +0 -1
  98. package/src/__tests__/guardian-action-store.test.ts +0 -1
  99. package/src/__tests__/guardian-action-sweep.test.ts +0 -1
  100. package/src/__tests__/guardian-decision-primitive-canonical.test.ts +0 -1
  101. package/src/__tests__/guardian-dispatch.test.ts +1 -2
  102. package/src/__tests__/guardian-grant-minting.test.ts +1 -1
  103. package/src/__tests__/guardian-outbound-http.test.ts +0 -1
  104. package/src/__tests__/guardian-principal-id-roundtrip.test.ts +0 -1
  105. package/src/__tests__/guardian-routing-invariants.test.ts +1 -1
  106. package/src/__tests__/guardian-routing-state.test.ts +0 -1
  107. package/src/__tests__/guardian-verification-voice-binding.test.ts +0 -1
  108. package/src/__tests__/guardian-verify-setup-skill-regression.test.ts +3 -5
  109. package/src/__tests__/handlers-user-message-approval-consumption.test.ts +28 -426
  110. package/src/__tests__/host-bash-proxy.test.ts +335 -0
  111. package/src/__tests__/host-file-proxy.test.ts +374 -0
  112. package/src/__tests__/host-shell-tool.test.ts +147 -1
  113. package/src/__tests__/http-user-message-parity.test.ts +361 -0
  114. package/src/__tests__/inbound-invite-redemption.test.ts +0 -1
  115. package/src/__tests__/integration-status.test.ts +3 -8
  116. package/src/__tests__/intent-routing.test.ts +7 -46
  117. package/src/__tests__/invite-redemption-service.test.ts +0 -1
  118. package/src/__tests__/invite-routes-http.test.ts +0 -1
  119. package/src/__tests__/llm-usage-store.test.ts +0 -1
  120. package/src/__tests__/managed-avatar-client.test.ts +101 -55
  121. package/src/__tests__/managed-skill-lifecycle.test.ts +9 -18
  122. package/src/__tests__/managed-store.test.ts +94 -21
  123. package/src/__tests__/media-reuse-story.e2e.test.ts +0 -1
  124. package/src/__tests__/memory-context-benchmark.benchmark.test.ts +2 -4
  125. package/src/__tests__/memory-lifecycle-e2e.test.ts +0 -1
  126. package/src/__tests__/memory-recall-quality.test.ts +0 -1
  127. package/src/__tests__/memory-regressions.experimental.test.ts +0 -1
  128. package/src/__tests__/memory-regressions.test.ts +0 -1
  129. package/src/__tests__/memory-retrieval.benchmark.test.ts +0 -1
  130. package/src/__tests__/memory-upsert-concurrency.test.ts +0 -1
  131. package/src/__tests__/messaging-send-tool.test.ts +35 -0
  132. package/src/__tests__/messaging-skill-split.test.ts +138 -0
  133. package/src/__tests__/migration-cross-version-compatibility.test.ts +0 -1
  134. package/src/__tests__/migration-export-http.test.ts +2 -3
  135. package/src/__tests__/migration-import-commit-http.test.ts +1 -2
  136. package/src/__tests__/migration-import-preflight-http.test.ts +1 -2
  137. package/src/__tests__/migration-validate-http.test.ts +1 -2
  138. package/src/__tests__/native-web-search.test.ts +475 -0
  139. package/src/__tests__/navigate-settings-tab.test.ts +84 -0
  140. package/src/__tests__/non-member-access-request.test.ts +0 -1
  141. package/src/__tests__/notification-broadcaster.test.ts +15 -15
  142. package/src/__tests__/notification-decision-strategy.test.ts +6 -6
  143. package/src/__tests__/notification-deep-link.test.ts +7 -7
  144. package/src/__tests__/notification-guardian-path.test.ts +2 -3
  145. package/src/__tests__/notification-telegram-adapter.test.ts +1 -1
  146. package/src/__tests__/notification-thread-candidates.test.ts +4 -4
  147. package/src/__tests__/onboarding-starter-tasks.test.ts +0 -1
  148. package/src/__tests__/playbook-execution.test.ts +0 -1
  149. package/src/__tests__/playbook-tools.test.ts +0 -1
  150. package/src/__tests__/profile-compiler.test.ts +0 -1
  151. package/src/__tests__/provider-managed-proxy-integration.test.ts +25 -0
  152. package/src/__tests__/qdrant-collection-migration.test.ts +223 -0
  153. package/src/__tests__/recording-handler.test.ts +30 -94
  154. package/src/__tests__/registry.test.ts +28 -35
  155. package/src/__tests__/relay-server.test.ts +0 -1
  156. package/src/__tests__/ride-shotgun-handler.test.ts +4 -20
  157. package/src/__tests__/runtime-attachment-metadata.test.ts +0 -1
  158. package/src/__tests__/runtime-events-sse-parity.test.ts +3 -4
  159. package/src/__tests__/runtime-events-sse.test.ts +0 -1
  160. package/src/__tests__/sandbox-diagnostics.test.ts +0 -1
  161. package/src/__tests__/scaffold-managed-skill-tool.test.ts +30 -28
  162. package/src/__tests__/schedule-store.test.ts +441 -1
  163. package/src/__tests__/schedule-tools.test.ts +468 -7
  164. package/src/__tests__/scheduler-recurrence.test.ts +196 -23
  165. package/src/__tests__/scoped-approval-grants.test.ts +0 -1
  166. package/src/__tests__/scoped-grant-security-matrix.test.ts +0 -1
  167. package/src/__tests__/secret-prompt-log-hygiene.test.ts +6 -3
  168. package/src/__tests__/secret-response-routing.test.ts +4 -1
  169. package/src/__tests__/send-endpoint-busy.test.ts +14 -2
  170. package/src/__tests__/send-notification-tool.test.ts +0 -7
  171. package/src/__tests__/sequence-store.test.ts +0 -1
  172. package/src/__tests__/server-history-render.test.ts +1 -2
  173. package/src/__tests__/session-abort-tool-results.test.ts +0 -1
  174. package/src/__tests__/session-agent-loop.test.ts +46 -6
  175. package/src/__tests__/session-confirmation-signals.test.ts +0 -1
  176. package/src/__tests__/session-conflict-gate.test.ts +2 -6
  177. package/src/__tests__/session-error.test.ts +5 -14
  178. package/src/__tests__/session-init.benchmark.test.ts +3 -5
  179. package/src/__tests__/session-load-history-repair.test.ts +0 -1
  180. package/src/__tests__/session-media-retry.test.ts +12 -74
  181. package/src/__tests__/session-pre-run-repair.test.ts +0 -1
  182. package/src/__tests__/session-profile-injection.test.ts +2 -6
  183. package/src/__tests__/session-provider-retry-repair.test.ts +2 -6
  184. package/src/__tests__/session-queue.test.ts +94 -139
  185. package/src/__tests__/session-skill-tools.test.ts +115 -115
  186. package/src/__tests__/session-slash-known.test.ts +0 -1
  187. package/src/__tests__/session-slash-queue.test.ts +0 -1
  188. package/src/__tests__/session-slash-unknown.test.ts +0 -1
  189. package/src/__tests__/session-surfaces-task-progress.test.ts +34 -0
  190. package/src/__tests__/session-usage.test.ts +0 -1
  191. package/src/__tests__/session-workspace-cache-state.test.ts +2 -6
  192. package/src/__tests__/session-workspace-injection.test.ts +2 -6
  193. package/src/__tests__/session-workspace-tool-tracking.test.ts +2 -6
  194. package/src/__tests__/skill-feature-flags-integration.test.ts +180 -184
  195. package/src/__tests__/skill-feature-flags.test.ts +125 -18
  196. package/src/__tests__/skill-load-feature-flag.test.ts +1 -2
  197. package/src/__tests__/skill-load-tool.test.ts +194 -2
  198. package/src/__tests__/skill-projection-feature-flag.test.ts +27 -16
  199. package/src/__tests__/skill-projection.benchmark.test.ts +15 -14
  200. package/src/__tests__/skills.test.ts +14 -53
  201. package/src/__tests__/slack-channel-config.test.ts +0 -1
  202. package/src/__tests__/slack-inbound-verification.test.ts +0 -1
  203. package/src/__tests__/slack-skill.test.ts +1 -1
  204. package/src/__tests__/subagent-tools.test.ts +2 -2
  205. package/src/__tests__/system-prompt.test.ts +4 -3
  206. package/src/__tests__/task-compiler.test.ts +0 -1
  207. package/src/__tests__/task-management-tools.test.ts +0 -1
  208. package/src/__tests__/task-memory-cleanup.test.ts +0 -1
  209. package/src/__tests__/task-runner.test.ts +0 -1
  210. package/src/__tests__/task-scheduler.test.ts +0 -1
  211. package/src/__tests__/terminal-tools.test.ts +0 -1
  212. package/src/__tests__/test-support/computer-use-skill-harness.ts +2 -4
  213. package/src/__tests__/thread-seed-composer.test.ts +5 -5
  214. package/src/__tests__/tool-approval-handler.test.ts +0 -1
  215. package/src/__tests__/tool-execution-abort-cleanup.test.ts +0 -1
  216. package/src/__tests__/tool-execution-pipeline.benchmark.test.ts +0 -1
  217. package/src/__tests__/tool-executor.test.ts +8 -86
  218. package/src/__tests__/tool-grant-request-escalation.test.ts +0 -1
  219. package/src/__tests__/tool-notification-listener.test.ts +1 -1
  220. package/src/__tests__/tool-preview-lifecycle.test.ts +416 -0
  221. package/src/__tests__/trust-store.test.ts +80 -4
  222. package/src/__tests__/trusted-contact-approval-notifier.test.ts +0 -1
  223. package/src/__tests__/trusted-contact-inline-approval-integration.test.ts +0 -1
  224. package/src/__tests__/trusted-contact-lifecycle-notifications.test.ts +0 -1
  225. package/src/__tests__/trusted-contact-multichannel.test.ts +0 -1
  226. package/src/__tests__/trusted-contact-verification.test.ts +0 -1
  227. package/src/__tests__/twilio-provider.test.ts +0 -1
  228. package/src/__tests__/twilio-routes.test.ts +0 -1
  229. package/src/__tests__/{request-file-tool.test.ts → ui-file-upload-surface.test.ts} +11 -72
  230. package/src/__tests__/update-bulletin.test.ts +0 -1
  231. package/src/__tests__/usage-cache-backfill-migration.test.ts +0 -1
  232. package/src/__tests__/usage-routes.test.ts +0 -1
  233. package/src/__tests__/verification-control-plane-policy.test.ts +4 -4
  234. package/src/__tests__/voice-invite-redemption.test.ts +0 -1
  235. package/src/__tests__/voice-scoped-grant-consumer.test.ts +0 -1
  236. package/src/__tests__/voice-session-bridge.test.ts +9 -1
  237. package/src/__tests__/web-fetch.test.ts +57 -0
  238. package/src/__tests__/workspace-git-service.test.ts +5 -14
  239. package/src/__tests__/workspace-policy.test.ts +0 -1
  240. package/src/agent/loop.ts +22 -34
  241. package/src/bundler/bundle-signer.ts +4 -4
  242. package/src/calls/call-controller.ts +1 -1
  243. package/src/calls/relay-server.ts +1 -1
  244. package/src/calls/twilio-rest.ts +1 -1
  245. package/src/calls/voice-session-bridge.ts +3 -1
  246. package/src/cli/__tests__/notifications.test.ts +3 -4
  247. package/src/cli/commands/map.ts +2 -6
  248. package/src/cli/commands/mcp.ts +73 -15
  249. package/src/cli/commands/notifications.ts +4 -4
  250. package/src/cli/commands/sessions.ts +9 -1
  251. package/src/cli/commands/skills.ts +6 -10
  252. package/src/cli/http-client.ts +2 -3
  253. package/src/cli/main-screen.tsx +10 -10
  254. package/src/cli/program.ts +0 -4
  255. package/src/cli/reference.ts +0 -2
  256. package/src/cli.ts +15 -9
  257. package/src/config/__tests__/bundled-tool-registry-guard.test.ts +120 -0
  258. package/src/config/bundled-skills/_shared/CLI_RETRIEVAL_PATTERN.md +11 -0
  259. package/src/config/bundled-skills/app-builder/SKILL.md +6 -1
  260. package/src/config/bundled-skills/browser/SKILL.md +6 -1
  261. package/src/config/bundled-skills/chatgpt-import/SKILL.md +5 -1
  262. package/src/config/bundled-skills/claude-code/SKILL.md +5 -1
  263. package/src/config/bundled-skills/computer-use/SKILL.md +6 -1
  264. package/src/config/bundled-skills/computer-use/TOOLS.json +6 -69
  265. package/src/config/bundled-skills/computer-use/tools/computer-use-click.ts +10 -1
  266. package/src/config/bundled-skills/contacts/SKILL.md +10 -1
  267. package/src/config/bundled-skills/contacts/TOOLS.json +35 -0
  268. package/src/config/bundled-skills/{messaging → contacts}/tools/google-contacts.ts +9 -2
  269. package/src/config/bundled-skills/document/SKILL.md +4 -1
  270. package/src/config/bundled-skills/doordash/SKILL.md +8 -1
  271. package/src/config/bundled-skills/doordash/lib/shared/platform.ts +4 -1
  272. package/src/config/bundled-skills/followups/SKILL.md +4 -1
  273. package/src/config/bundled-skills/gmail/SKILL.md +180 -0
  274. package/src/config/bundled-skills/gmail/TOOLS.json +506 -0
  275. package/src/config/bundled-skills/gmail/tools/gmail-archive.ts +149 -0
  276. package/src/config/bundled-skills/gmail/tools/gmail-attachments.ts +110 -0
  277. package/src/config/bundled-skills/{messaging → gmail}/tools/gmail-draft.ts +1 -1
  278. package/src/config/bundled-skills/{messaging → gmail}/tools/gmail-filters.ts +1 -1
  279. package/src/config/bundled-skills/{messaging → gmail}/tools/gmail-follow-up.ts +1 -1
  280. package/src/config/bundled-skills/{messaging → gmail}/tools/gmail-forward.ts +1 -1
  281. package/src/config/bundled-skills/gmail/tools/gmail-label.ts +50 -0
  282. package/src/config/bundled-skills/{messaging → gmail}/tools/gmail-outreach-scan.ts +8 -90
  283. package/src/config/bundled-skills/{messaging → gmail}/tools/gmail-send-draft.ts +1 -1
  284. package/src/config/bundled-skills/{messaging → gmail}/tools/gmail-sender-digest.ts +2 -2
  285. package/src/config/bundled-skills/{messaging → gmail}/tools/gmail-trash.ts +1 -1
  286. package/src/config/bundled-skills/{messaging → gmail}/tools/gmail-unsubscribe.ts +1 -1
  287. package/src/config/bundled-skills/{messaging → gmail}/tools/gmail-vacation.ts +1 -1
  288. package/src/config/bundled-skills/gmail/tools/shared.ts +47 -0
  289. package/src/config/bundled-skills/google-calendar/SKILL.md +5 -1
  290. package/src/config/bundled-skills/image-studio/SKILL.md +5 -1
  291. package/src/config/bundled-skills/knowledge-graph/SKILL.md +4 -1
  292. package/src/config/bundled-skills/media-processing/SKILL.md +7 -13
  293. package/src/config/bundled-skills/media-processing/TOOLS.json +0 -22
  294. package/src/config/bundled-skills/media-processing/tools/generate-clip.ts +12 -1
  295. package/src/config/bundled-skills/messaging/SKILL.md +23 -139
  296. package/src/config/bundled-skills/messaging/TOOLS.json +33 -1215
  297. package/src/config/bundled-skills/messaging/tools/gmail-mime-helpers.ts +42 -0
  298. package/src/config/bundled-skills/messaging/tools/messaging-send.ts +165 -2
  299. package/src/config/bundled-skills/messaging/tools/messaging-sender-digest.ts +1 -13
  300. package/src/config/bundled-skills/messaging/tools/shared.ts +81 -34
  301. package/src/config/bundled-skills/notifications/SKILL.md +5 -1
  302. package/src/config/bundled-skills/orchestration/SKILL.md +30 -0
  303. package/src/config/bundled-skills/orchestration/TOOLS.json +35 -0
  304. package/src/config/bundled-skills/{reminder/tools/reminder-create.ts → orchestration/tools/swarm-delegate.ts} +3 -3
  305. package/src/config/bundled-skills/phone-calls/SKILL.md +9 -1
  306. package/src/config/bundled-skills/playbooks/SKILL.md +4 -1
  307. package/src/config/bundled-skills/schedule/SKILL.md +70 -9
  308. package/src/config/bundled-skills/schedule/TOOLS.json +38 -6
  309. package/src/config/bundled-skills/screen-watch/SKILL.md +28 -0
  310. package/src/config/bundled-skills/screen-watch/TOOLS.json +35 -0
  311. package/src/config/bundled-skills/{reminder/tools/reminder-cancel.ts → screen-watch/tools/start-screen-watch.ts} +3 -3
  312. package/src/config/bundled-skills/sequences/SKILL.md +47 -0
  313. package/src/config/bundled-skills/sequences/TOOLS.json +340 -0
  314. package/src/config/bundled-skills/sequences/tools/sequence-update.ts +128 -0
  315. package/src/config/bundled-skills/sequences/tools/shared.ts +9 -0
  316. package/src/config/bundled-skills/settings/SKILL.md +12 -0
  317. package/src/config/bundled-skills/settings/TOOLS.json +112 -0
  318. package/src/config/bundled-skills/settings/tools/navigate-settings-tab.ts +43 -0
  319. package/src/config/bundled-skills/settings/tools/open-system-settings.ts +52 -0
  320. package/src/config/bundled-skills/{computer-use/tools/computer-use-right-click.ts → settings/tools/set-avatar.ts} +2 -6
  321. package/src/{tools/system/voice-config.ts → config/bundled-skills/settings/tools/voice-config-update.ts} +59 -96
  322. package/src/config/bundled-skills/skill-management/SKILL.md +18 -0
  323. package/src/config/bundled-skills/skill-management/TOOLS.json +90 -0
  324. package/src/config/bundled-skills/{computer-use/tools/computer-use-double-click.ts → skill-management/tools/delete-managed.ts} +2 -6
  325. package/src/config/bundled-skills/skill-management/tools/scaffold-managed.ts +12 -0
  326. package/src/config/bundled-skills/slack/SKILL.md +5 -1
  327. package/src/config/bundled-skills/subagent/SKILL.md +4 -1
  328. package/src/config/bundled-skills/tasks/SKILL.md +5 -2
  329. package/src/config/bundled-skills/transcribe/SKILL.md +4 -1
  330. package/src/config/bundled-skills/watcher/SKILL.md +4 -1
  331. package/src/config/bundled-tool-registry.ts +118 -107
  332. package/src/config/env.ts +5 -2
  333. package/src/config/feature-flag-registry.json +25 -9
  334. package/src/config/loader.ts +10 -2
  335. package/src/config/schema.ts +19 -16
  336. package/src/config/schemas/inference.ts +12 -22
  337. package/src/config/schemas/memory-storage.ts +19 -1
  338. package/src/config/schemas/platform.ts +0 -16
  339. package/src/config/skill-state.ts +11 -8
  340. package/src/config/skills.ts +83 -32
  341. package/src/context/token-estimator.ts +11 -0
  342. package/src/context/window-manager.ts +180 -151
  343. package/src/daemon/computer-use-session.ts +11 -43
  344. package/src/daemon/daemon-control.ts +4 -1
  345. package/src/daemon/handlers/config-channels.ts +5 -9
  346. package/src/daemon/handlers/config-ingress.ts +0 -4
  347. package/src/daemon/handlers/config-model.ts +7 -13
  348. package/src/daemon/handlers/config-telegram.ts +4 -8
  349. package/src/daemon/handlers/config-voice.ts +2 -5
  350. package/src/daemon/handlers/dictation.ts +2 -12
  351. package/src/daemon/handlers/identity.ts +0 -105
  352. package/src/daemon/handlers/recording.ts +3 -23
  353. package/src/daemon/handlers/session-history.ts +1 -1
  354. package/src/daemon/handlers/sessions.ts +53 -72
  355. package/src/daemon/handlers/shared.ts +7 -28
  356. package/src/daemon/handlers/skills.ts +31 -27
  357. package/src/daemon/host-bash-proxy.ts +148 -0
  358. package/src/daemon/host-file-proxy.ts +135 -0
  359. package/src/daemon/lifecycle.ts +49 -24
  360. package/src/daemon/mcp-reload-service.ts +123 -0
  361. package/src/daemon/message-protocol.ts +6 -0
  362. package/src/daemon/message-types/browser.ts +1 -1
  363. package/src/daemon/message-types/computer-use.ts +1 -4
  364. package/src/daemon/message-types/guardian-actions.ts +1 -1
  365. package/src/daemon/message-types/host-bash.ts +18 -0
  366. package/src/daemon/message-types/host-file.ts +44 -0
  367. package/src/daemon/message-types/integrations.ts +1 -67
  368. package/src/daemon/message-types/messages.ts +15 -0
  369. package/src/daemon/message-types/schedules.ts +11 -27
  370. package/src/daemon/message-types/sessions.ts +2 -1
  371. package/src/daemon/message-types/settings.ts +1 -1
  372. package/src/daemon/message-types/shared.ts +1 -1
  373. package/src/daemon/ride-shotgun-handler.ts +2 -42
  374. package/src/daemon/server.ts +43 -10
  375. package/src/daemon/session-agent-loop-handlers.ts +48 -7
  376. package/src/daemon/session-agent-loop.ts +97 -66
  377. package/src/daemon/session-attachments.ts +1 -1
  378. package/src/daemon/session-error.ts +17 -16
  379. package/src/daemon/session-lifecycle.ts +20 -1
  380. package/src/daemon/session-media-retry.ts +1 -15
  381. package/src/daemon/session-messaging.ts +14 -6
  382. package/src/daemon/session-process.ts +36 -7
  383. package/src/daemon/session-queue-manager.ts +62 -103
  384. package/src/daemon/session-runtime-assembly.ts +27 -0
  385. package/src/daemon/session-skill-tools.ts +12 -11
  386. package/src/daemon/session-slash.ts +7 -0
  387. package/src/daemon/session-surfaces.ts +19 -97
  388. package/src/daemon/session-tool-setup.ts +146 -6
  389. package/src/daemon/session.ts +77 -13
  390. package/src/errors.ts +0 -2
  391. package/src/export/formatter.ts +6 -0
  392. package/src/mcp/mcp-oauth-provider.ts +1 -3
  393. package/src/media/avatar-router.ts +20 -28
  394. package/src/media/avatar-types.ts +7 -14
  395. package/src/media/managed-avatar-client.ts +70 -34
  396. package/src/memory/conversation-title-service.ts +1 -2
  397. package/src/memory/db-init.ts +16 -0
  398. package/src/memory/embedding-backend.ts +129 -27
  399. package/src/memory/embedding-gemini.test.ts +256 -0
  400. package/src/memory/embedding-gemini.ts +47 -13
  401. package/src/memory/embedding-local.ts +14 -2
  402. package/src/memory/embedding-ollama.ts +15 -2
  403. package/src/memory/embedding-openai.ts +15 -2
  404. package/src/memory/embedding-types.test.ts +116 -0
  405. package/src/memory/embedding-types.ts +61 -0
  406. package/src/memory/fingerprint.ts +1 -1
  407. package/src/memory/indexer.ts +25 -1
  408. package/src/memory/job-handlers/embedding.test.ts +258 -0
  409. package/src/memory/job-handlers/embedding.ts +81 -1
  410. package/src/memory/job-handlers/index-maintenance.ts +35 -1
  411. package/src/memory/job-handlers/media-processing.ts +11 -1
  412. package/src/memory/job-utils.ts +21 -6
  413. package/src/memory/jobs-store.ts +5 -1
  414. package/src/memory/jobs-worker.ts +8 -0
  415. package/src/memory/message-content.ts +66 -0
  416. package/src/memory/migrations/100-core-tables.ts +1 -31
  417. package/src/memory/migrations/104-core-indexes.ts +0 -11
  418. package/src/memory/migrations/145-drop-accounts-table.ts +19 -0
  419. package/src/memory/migrations/146-schedule-oneshot-routing.ts +94 -0
  420. package/src/memory/migrations/147-migrate-reminders-to-schedules.ts +129 -0
  421. package/src/memory/migrations/148-drop-reminders-table.ts +18 -0
  422. package/src/memory/migrations/index.ts +4 -0
  423. package/src/memory/migrations/registry.ts +19 -0
  424. package/src/memory/qdrant-client.ts +158 -43
  425. package/src/memory/retriever.test.ts +0 -1
  426. package/src/memory/retriever.ts +12 -2
  427. package/src/memory/schema/infrastructure.ts +5 -29
  428. package/src/memory/search/formatting.ts +34 -9
  429. package/src/memory/search/semantic.ts +57 -2
  430. package/src/memory/search/types.ts +2 -1
  431. package/src/notifications/AGENTS.md +2 -2
  432. package/src/notifications/README.md +59 -58
  433. package/src/notifications/adapters/macos.ts +1 -1
  434. package/src/notifications/broadcaster.ts +5 -5
  435. package/src/notifications/copy-composer.ts +1 -1
  436. package/src/notifications/decision-engine.ts +2 -2
  437. package/src/notifications/destination-resolver.ts +2 -2
  438. package/src/notifications/emit-signal.ts +8 -8
  439. package/src/notifications/signal.ts +1 -1
  440. package/src/notifications/thread-seed-composer.ts +1 -1
  441. package/src/oauth/connect-orchestrator.ts +1 -1
  442. package/src/oauth/token-persistence.ts +1 -1
  443. package/src/permissions/checker.ts +12 -1
  444. package/src/permissions/defaults.ts +10 -14
  445. package/src/permissions/trust-store.ts +37 -0
  446. package/src/permissions/workspace-policy.ts +0 -1
  447. package/src/prompts/__tests__/build-cli-reference-section.test.ts +11 -0
  448. package/src/prompts/computer-use-prompt.ts +1 -1
  449. package/src/prompts/system-prompt.ts +29 -30
  450. package/src/prompts/templates/SOUL.md +1 -2
  451. package/src/prompts/templates/UPDATES.md +16 -7
  452. package/src/providers/anthropic/client.ts +87 -33
  453. package/src/providers/gemini/client.ts +6 -0
  454. package/src/providers/managed-proxy/constants.ts +5 -0
  455. package/src/providers/openai/client.ts +15 -0
  456. package/src/providers/registry.ts +2 -2
  457. package/src/providers/types.ts +24 -2
  458. package/src/runtime/AGENTS.md +18 -0
  459. package/src/runtime/assistant-event-hub.ts +2 -3
  460. package/src/runtime/assistant-event.ts +4 -4
  461. package/src/runtime/auth/__tests__/context.test.ts +5 -5
  462. package/src/runtime/auth/__tests__/credential-service.test.ts +0 -1
  463. package/src/runtime/auth/__tests__/guard-tests.test.ts +2 -2
  464. package/src/runtime/auth/__tests__/{ipc-auth-context.test.ts → local-auth-context.test.ts} +21 -21
  465. package/src/runtime/auth/__tests__/route-policy.test.ts +2 -2
  466. package/src/runtime/auth/__tests__/scopes.test.ts +7 -7
  467. package/src/runtime/auth/__tests__/subject.test.ts +8 -8
  468. package/src/runtime/auth/__tests__/token-service.test.ts +0 -1
  469. package/src/runtime/auth/route-policy.ts +8 -4
  470. package/src/runtime/auth/scopes.ts +1 -1
  471. package/src/runtime/auth/subject.ts +4 -4
  472. package/src/runtime/auth/token-service.ts +0 -23
  473. package/src/runtime/auth/types.ts +3 -3
  474. package/src/runtime/guardian-action-followup-executor.ts +1 -1
  475. package/src/runtime/guardian-action-grant-minter.ts +1 -1
  476. package/src/runtime/guardian-action-service.ts +3 -3
  477. package/src/runtime/http-server.ts +15 -2
  478. package/src/runtime/invite-service.ts +3 -3
  479. package/src/runtime/local-actor-identity.ts +17 -22
  480. package/src/runtime/pending-interactions.ts +21 -9
  481. package/src/runtime/routes/app-management-routes.ts +2 -3
  482. package/src/runtime/routes/approval-routes.ts +1 -3
  483. package/src/runtime/routes/btw-routes.ts +155 -0
  484. package/src/runtime/routes/computer-use-routes.ts +77 -31
  485. package/src/runtime/routes/conversation-routes.ts +230 -46
  486. package/src/runtime/routes/diagnostics-routes.ts +63 -29
  487. package/src/runtime/routes/documents-routes.ts +2 -2
  488. package/src/runtime/routes/global-search-routes.ts +1 -1
  489. package/src/runtime/routes/host-bash-routes.ts +83 -0
  490. package/src/runtime/routes/host-file-routes.ts +79 -0
  491. package/src/runtime/routes/integrations/slack/share.ts +1 -1
  492. package/src/runtime/routes/log-export-routes.ts +120 -0
  493. package/src/runtime/routes/mcp-routes.ts +20 -0
  494. package/src/runtime/routes/migration-routes.ts +3 -3
  495. package/src/runtime/routes/pairing-routes.ts +1 -1
  496. package/src/runtime/routes/recording-routes.ts +6 -4
  497. package/src/runtime/routes/schedule-routes.ts +31 -5
  498. package/src/runtime/routes/session-management-routes.ts +2 -6
  499. package/src/runtime/routes/session-query-routes.ts +18 -15
  500. package/src/runtime/routes/settings-routes.ts +7 -261
  501. package/src/runtime/routes/skills-routes.ts +7 -6
  502. package/src/runtime/routes/subagents-routes.ts +4 -10
  503. package/src/runtime/routes/surface-action-routes.ts +3 -14
  504. package/src/runtime/routes/surface-content-routes.ts +22 -5
  505. package/src/runtime/routes/work-items-routes.ts +21 -25
  506. package/src/runtime/routes/workspace-routes.test.ts +3 -3
  507. package/src/runtime/routes/workspace-utils.ts +1 -1
  508. package/src/runtime/telegram-streaming-delivery.ts +3 -0
  509. package/src/runtime/verification-outbound-actions.ts +2 -2
  510. package/src/schedule/integration-status.ts +0 -6
  511. package/src/schedule/schedule-store.ts +234 -43
  512. package/src/schedule/scheduler.ts +73 -74
  513. package/src/security/oauth2.ts +1 -1
  514. package/src/sequence/store.ts +12 -2
  515. package/src/skills/frontmatter.ts +19 -77
  516. package/src/skills/managed-store.ts +11 -2
  517. package/src/subagent/manager.ts +5 -3
  518. package/src/tasks/ephemeral-permissions.ts +3 -5
  519. package/src/tools/AGENTS.md +0 -1
  520. package/src/tools/browser/browser-manager.ts +17 -11
  521. package/src/tools/browser/jit-auth.ts +4 -1
  522. package/src/tools/claude-code/claude-code.ts +1 -1
  523. package/src/tools/computer-use/definitions.ts +48 -60
  524. package/src/tools/document/document-tool.ts +6 -6
  525. package/src/tools/filesystem/edit.ts +2 -1
  526. package/src/tools/filesystem/read.ts +20 -2
  527. package/src/tools/filesystem/write.ts +2 -1
  528. package/src/tools/host-filesystem/edit.ts +17 -1
  529. package/src/tools/host-filesystem/read.ts +16 -1
  530. package/src/tools/host-filesystem/write.ts +15 -1
  531. package/src/tools/host-terminal/host-shell.ts +24 -0
  532. package/src/tools/memory/definitions.ts +45 -81
  533. package/src/tools/memory/handlers.test.ts +0 -1
  534. package/src/tools/memory/handlers.ts +1 -1
  535. package/src/tools/memory/register.ts +26 -60
  536. package/src/tools/network/script-proxy/session-manager.ts +6 -8
  537. package/src/tools/network/web-fetch.ts +7 -1
  538. package/src/tools/network/web-search.ts +2 -1
  539. package/src/tools/registry.ts +23 -0
  540. package/src/tools/schedule/create.ts +113 -5
  541. package/src/tools/schedule/list.ts +57 -15
  542. package/src/tools/schedule/update.ts +73 -3
  543. package/src/tools/shared/filesystem/image-read.ts +192 -0
  544. package/src/tools/side-effects.ts +1 -7
  545. package/src/tools/skills/delete-managed.ts +27 -64
  546. package/src/tools/skills/execute.ts +54 -0
  547. package/src/tools/skills/load.ts +127 -5
  548. package/src/tools/skills/scaffold-managed.ts +93 -172
  549. package/src/tools/subagent/message.ts +0 -7
  550. package/src/tools/subagent/spawn.ts +1 -1
  551. package/src/tools/swarm/delegate.ts +0 -3
  552. package/src/tools/system/avatar-generator.ts +13 -19
  553. package/src/tools/system/request-permission.ts +2 -1
  554. package/src/tools/terminal/safe-env.ts +1 -0
  555. package/src/tools/tool-manifest.ts +41 -47
  556. package/src/tools/types.ts +6 -2
  557. package/src/tools/ui-surface/definitions.ts +0 -55
  558. package/src/util/errors.ts +0 -10
  559. package/src/workspace/git-service.ts +0 -2
  560. package/src/__tests__/account-registry.test.ts +0 -258
  561. package/src/__tests__/email-classifier.test.ts +0 -25
  562. package/src/__tests__/gmail-integration.test.ts +0 -97
  563. package/src/__tests__/handle-user-message-secret-resume.test.ts +0 -172
  564. package/src/__tests__/managed-twitter-guardrails.test.ts +0 -357
  565. package/src/__tests__/recording-intent-fallback.test.ts +0 -199
  566. package/src/__tests__/recording-intent.test.ts +0 -985
  567. package/src/__tests__/recording-state-machine.test.ts +0 -1574
  568. package/src/__tests__/reminder-store.test.ts +0 -350
  569. package/src/__tests__/reminder.test.ts +0 -337
  570. package/src/__tests__/scan-result-store.test.ts +0 -121
  571. package/src/__tests__/twitter-platform-proxy-client.test.ts +0 -475
  572. package/src/__tests__/view-image-tool.test.ts +0 -241
  573. package/src/cli/commands/amazon/cart.ts +0 -513
  574. package/src/cli/commands/amazon/checkout.ts +0 -394
  575. package/src/cli/commands/amazon/client.ts +0 -513
  576. package/src/cli/commands/amazon/index.ts +0 -885
  577. package/src/cli/commands/amazon/product-details.ts +0 -145
  578. package/src/cli/commands/amazon/request-extractor.ts +0 -187
  579. package/src/cli/commands/amazon/search.ts +0 -76
  580. package/src/cli/commands/amazon/session.ts +0 -108
  581. package/src/cli/commands/twitter/__tests__/cli-read-routing.test.ts +0 -345
  582. package/src/cli/commands/twitter/__tests__/cli-routing.test.ts +0 -252
  583. package/src/cli/commands/twitter/__tests__/oauth-client.test.ts +0 -151
  584. package/src/cli/commands/twitter/index.ts +0 -420
  585. package/src/cli/commands/twitter/oauth-client.ts +0 -60
  586. package/src/cli/commands/twitter/router.ts +0 -351
  587. package/src/cli/commands/twitter/types.ts +0 -30
  588. package/src/config/bundled-skills/agentmail/SKILL.md +0 -132
  589. package/src/config/bundled-skills/agentmail/icon.svg +0 -21
  590. package/src/config/bundled-skills/amazon/SKILL.md +0 -136
  591. package/src/config/bundled-skills/amazon/icon.svg +0 -13
  592. package/src/config/bundled-skills/api-mapping/SKILL.md +0 -78
  593. package/src/config/bundled-skills/api-mapping/icon.svg +0 -18
  594. package/src/config/bundled-skills/cli-discover/SKILL.md +0 -68
  595. package/src/config/bundled-skills/deploy-fullstack-vercel/SKILL.md +0 -179
  596. package/src/config/bundled-skills/document-writer/SKILL.md +0 -195
  597. package/src/config/bundled-skills/elevenlabs-voice/SKILL.md +0 -140
  598. package/src/config/bundled-skills/email-setup/SKILL.md +0 -68
  599. package/src/config/bundled-skills/frontend-design/SKILL.md +0 -44
  600. package/src/config/bundled-skills/frontend-design/icon.svg +0 -16
  601. package/src/config/bundled-skills/google-oauth-setup/SKILL.md +0 -452
  602. package/src/config/bundled-skills/guardian-verify-setup/SKILL.md +0 -203
  603. package/src/config/bundled-skills/influencer/SKILL.md +0 -144
  604. package/src/config/bundled-skills/influencer/scripts/client.ts +0 -1269
  605. package/src/config/bundled-skills/influencer/scripts/influencer.ts +0 -267
  606. package/src/config/bundled-skills/macos-automation/SKILL.md +0 -65
  607. package/src/config/bundled-skills/macos-automation/icon.svg +0 -12
  608. package/src/config/bundled-skills/mcp-setup/SKILL.md +0 -75
  609. package/src/config/bundled-skills/media-processing/tools/media-diagnostics.ts +0 -184
  610. package/src/config/bundled-skills/messaging/tools/gmail-archive-by-query.ts +0 -80
  611. package/src/config/bundled-skills/messaging/tools/gmail-archive.ts +0 -29
  612. package/src/config/bundled-skills/messaging/tools/gmail-batch-archive.ts +0 -56
  613. package/src/config/bundled-skills/messaging/tools/gmail-batch-label.ts +0 -34
  614. package/src/config/bundled-skills/messaging/tools/gmail-download-attachment.ts +0 -47
  615. package/src/config/bundled-skills/messaging/tools/gmail-label.ts +0 -31
  616. package/src/config/bundled-skills/messaging/tools/gmail-list-attachments.ts +0 -67
  617. package/src/config/bundled-skills/messaging/tools/gmail-send-with-attachments.ts +0 -97
  618. package/src/config/bundled-skills/messaging/tools/gmail-summarize-thread.ts +0 -87
  619. package/src/config/bundled-skills/messaging/tools/gmail-triage.ts +0 -135
  620. package/src/config/bundled-skills/messaging/tools/messaging-analyze-activity.ts +0 -24
  621. package/src/config/bundled-skills/messaging/tools/messaging-reply.ts +0 -201
  622. package/src/config/bundled-skills/messaging/tools/send-notification.ts +0 -1
  623. package/src/config/bundled-skills/messaging/tools/sequence-cancel.ts +0 -27
  624. package/src/config/bundled-skills/messaging/tools/sequence-pause.ts +0 -48
  625. package/src/config/bundled-skills/messaging/tools/sequence-resume.ts +0 -27
  626. package/src/config/bundled-skills/messaging/tools/sequence-update.ts +0 -56
  627. package/src/config/bundled-skills/notion/SKILL.md +0 -240
  628. package/src/config/bundled-skills/notion-oauth-setup/SKILL.md +0 -126
  629. package/src/config/bundled-skills/oauth-setup/SKILL.md +0 -143
  630. package/src/config/bundled-skills/public-ingress/SKILL.md +0 -258
  631. package/src/config/bundled-skills/reminder/SKILL.md +0 -79
  632. package/src/config/bundled-skills/reminder/TOOLS.json +0 -89
  633. package/src/config/bundled-skills/reminder/tools/reminder-list.ts +0 -12
  634. package/src/config/bundled-skills/restaurant-reservation/SKILL.md +0 -141
  635. package/src/config/bundled-skills/screen-recording/SKILL.md +0 -148
  636. package/src/config/bundled-skills/self-upgrade/SKILL.md +0 -69
  637. package/src/config/bundled-skills/skills-catalog/SKILL.md +0 -78
  638. package/src/config/bundled-skills/slack-app-setup/SKILL.md +0 -178
  639. package/src/config/bundled-skills/slack-digest-setup/SKILL.md +0 -163
  640. package/src/config/bundled-skills/slack-oauth-setup/SKILL.md +0 -157
  641. package/src/config/bundled-skills/start-the-day/SKILL.md +0 -70
  642. package/src/config/bundled-skills/start-the-day/icon.svg +0 -13
  643. package/src/config/bundled-skills/telegram-setup/SKILL.md +0 -105
  644. package/src/config/bundled-skills/time-based-actions/SKILL.md +0 -142
  645. package/src/config/bundled-skills/twilio-setup/SKILL.md +0 -232
  646. package/src/config/bundled-skills/twitter/SKILL.md +0 -206
  647. package/src/config/bundled-skills/twitter/icon.svg +0 -14
  648. package/src/config/bundled-skills/typescript-eval/SKILL.md +0 -60
  649. package/src/config/bundled-skills/vercel-token-setup/SKILL.md +0 -214
  650. package/src/config/bundled-skills/voice-setup/SKILL.md +0 -131
  651. package/src/config/bundled-skills/voice-setup/icon.svg +0 -20
  652. package/src/daemon/handlers/pairing.ts +0 -119
  653. package/src/daemon/handlers/session-user-message.ts +0 -961
  654. package/src/daemon/recording-executor.ts +0 -180
  655. package/src/daemon/recording-intent-fallback.ts +0 -162
  656. package/src/daemon/recording-intent.ts +0 -493
  657. package/src/memory/account-store.ts +0 -117
  658. package/src/messaging/activity-analyzer.ts +0 -76
  659. package/src/messaging/email-classifier.ts +0 -208
  660. package/src/messaging/index.ts +0 -2
  661. package/src/messaging/outreach-classifier.ts +0 -185
  662. package/src/messaging/thread-summarizer.ts +0 -346
  663. package/src/messaging/types.ts +0 -17
  664. package/src/tools/browser/x-auto-navigate.ts +0 -254
  665. package/src/tools/credentials/account-registry.ts +0 -144
  666. package/src/tools/filesystem/view-image.ts +0 -244
  667. package/src/tools/reminder/reminder-store.ts +0 -194
  668. package/src/tools/reminder/reminder.ts +0 -158
  669. package/src/tools/system/navigate-settings.ts +0 -74
  670. package/src/tools/system/open-system-settings.ts +0 -85
  671. package/src/tools/system/version.ts +0 -54
  672. package/src/twitter/platform-proxy-client.ts +0 -408
  673. /package/src/config/bundled-skills/{messaging → gmail}/tools/scan-result-store.ts +0 -0
  674. /package/src/config/bundled-skills/{messaging → sequences}/tools/sequence-analytics.ts +0 -0
  675. /package/src/config/bundled-skills/{messaging → sequences}/tools/sequence-create.ts +0 -0
  676. /package/src/config/bundled-skills/{messaging → sequences}/tools/sequence-delete.ts +0 -0
  677. /package/src/config/bundled-skills/{messaging → sequences}/tools/sequence-enroll.ts +0 -0
  678. /package/src/config/bundled-skills/{messaging → sequences}/tools/sequence-enrollment-list.ts +0 -0
  679. /package/src/config/bundled-skills/{messaging → sequences}/tools/sequence-get.ts +0 -0
  680. /package/src/config/bundled-skills/{messaging → sequences}/tools/sequence-import.ts +0 -0
  681. /package/src/config/bundled-skills/{messaging → sequences}/tools/sequence-list.ts +0 -0
@@ -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",
@@ -112,6 +104,30 @@
112
104
  "label": "Sentry Testing",
113
105
  "description": "Show the Sentry Testing tab in Settings for triggering test crash reports and error events",
114
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
115
131
  }
116
132
  ]
117
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
  }