@vellumai/assistant 0.4.11 → 0.4.12

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 (95) hide show
  1. package/ARCHITECTURE.md +401 -385
  2. package/package.json +1 -1
  3. package/src/__tests__/guardian-verify-setup-skill-regression.test.ts +75 -61
  4. package/src/__tests__/registry.test.ts +235 -187
  5. package/src/__tests__/secure-keys.test.ts +27 -0
  6. package/src/__tests__/session-agent-loop.test.ts +521 -256
  7. package/src/__tests__/session-surfaces-task-progress.test.ts +1 -0
  8. package/src/__tests__/session-tool-setup-app-refresh.test.ts +1 -0
  9. package/src/__tests__/session-tool-setup-memory-scope.test.ts +1 -0
  10. package/src/__tests__/session-tool-setup-side-effect-flag.test.ts +1 -0
  11. package/src/__tests__/skills.test.ts +334 -276
  12. package/src/__tests__/starter-task-flow.test.ts +7 -17
  13. package/src/agent/loop.ts +9 -2
  14. package/src/config/bundled-skills/chatgpt-import/tools/chatgpt-import.ts +449 -0
  15. package/src/config/bundled-skills/doordash/SKILL.md +171 -0
  16. package/src/config/bundled-skills/doordash/__tests__/doordash-client.test.ts +203 -0
  17. package/src/config/bundled-skills/doordash/__tests__/doordash-session.test.ts +164 -0
  18. package/src/config/bundled-skills/doordash/doordash-cli.ts +1193 -0
  19. package/src/config/bundled-skills/doordash/doordash-entry.ts +22 -0
  20. package/src/config/bundled-skills/doordash/lib/cart-queries.ts +787 -0
  21. package/src/config/bundled-skills/doordash/lib/client.ts +1071 -0
  22. package/src/config/bundled-skills/doordash/lib/order-queries.ts +85 -0
  23. package/src/config/bundled-skills/doordash/lib/queries.ts +28 -0
  24. package/src/config/bundled-skills/doordash/lib/query-extractor.ts +94 -0
  25. package/src/config/bundled-skills/doordash/lib/search-queries.ts +203 -0
  26. package/src/config/bundled-skills/doordash/lib/session.ts +93 -0
  27. package/src/config/bundled-skills/doordash/lib/shared/errors.ts +61 -0
  28. package/src/config/bundled-skills/doordash/lib/shared/ipc.ts +32 -0
  29. package/src/config/bundled-skills/doordash/lib/shared/network-recorder.ts +380 -0
  30. package/src/config/bundled-skills/doordash/lib/shared/platform.ts +35 -0
  31. package/src/config/bundled-skills/doordash/lib/shared/recording-store.ts +43 -0
  32. package/src/config/bundled-skills/doordash/lib/shared/recording-types.ts +49 -0
  33. package/src/config/bundled-skills/doordash/lib/shared/truncate.ts +6 -0
  34. package/src/config/bundled-skills/doordash/lib/store-queries.ts +246 -0
  35. package/src/config/bundled-skills/doordash/lib/types.ts +367 -0
  36. package/src/config/bundled-skills/google-calendar/SKILL.md +4 -5
  37. package/src/config/bundled-skills/google-oauth-setup/SKILL.md +41 -41
  38. package/src/config/bundled-skills/messaging/SKILL.md +59 -42
  39. package/src/config/bundled-skills/messaging/TOOLS.json +2 -2
  40. package/src/config/bundled-skills/messaging/tools/gmail-archive-by-query.ts +5 -1
  41. package/src/config/bundled-skills/messaging/tools/gmail-batch-archive.ts +11 -2
  42. package/src/config/bundled-skills/messaging/tools/gmail-sender-digest.ts +10 -3
  43. package/src/config/bundled-skills/messaging/tools/gmail-unsubscribe.ts +5 -1
  44. package/src/config/bundled-skills/messaging/tools/messaging-archive-by-sender.ts +5 -1
  45. package/src/config/bundled-skills/messaging/tools/messaging-sender-digest.ts +2 -1
  46. package/src/config/bundled-skills/notion/SKILL.md +240 -0
  47. package/src/config/bundled-skills/notion-oauth-setup/SKILL.md +127 -0
  48. package/src/config/bundled-skills/oauth-setup/SKILL.md +144 -0
  49. package/src/config/bundled-skills/phone-calls/SKILL.md +76 -45
  50. package/src/config/bundled-skills/skills-catalog/SKILL.md +32 -29
  51. package/src/config/{vellum-skills → bundled-skills}/sms-setup/SKILL.md +29 -22
  52. package/src/config/{vellum-skills → bundled-skills}/telegram-setup/SKILL.md +17 -14
  53. package/src/config/{vellum-skills → bundled-skills}/twilio-setup/SKILL.md +20 -5
  54. package/src/config/bundled-tool-registry.ts +281 -267
  55. package/src/daemon/handlers/skills.ts +334 -234
  56. package/src/daemon/ipc-contract/messages.ts +2 -0
  57. package/src/daemon/ipc-contract/surfaces.ts +2 -0
  58. package/src/daemon/lifecycle.ts +358 -221
  59. package/src/daemon/response-tier.ts +2 -0
  60. package/src/daemon/server.ts +453 -193
  61. package/src/daemon/session-agent-loop-handlers.ts +42 -2
  62. package/src/daemon/session-agent-loop.ts +3 -0
  63. package/src/daemon/session-lifecycle.ts +3 -0
  64. package/src/daemon/session-process.ts +1 -0
  65. package/src/daemon/session-surfaces.ts +22 -20
  66. package/src/daemon/session-tool-setup.ts +1 -0
  67. package/src/daemon/session.ts +5 -2
  68. package/src/messaging/outreach-classifier.ts +12 -5
  69. package/src/messaging/provider-types.ts +2 -0
  70. package/src/messaging/providers/gmail/adapter.ts +9 -3
  71. package/src/messaging/providers/gmail/client.ts +2 -0
  72. package/src/runtime/http-errors.ts +33 -20
  73. package/src/runtime/http-server.ts +706 -291
  74. package/src/runtime/http-types.ts +26 -16
  75. package/src/runtime/routes/secret-routes.ts +57 -2
  76. package/src/runtime/routes/surface-action-routes.ts +66 -0
  77. package/src/runtime/routes/trust-rules-routes.ts +140 -0
  78. package/src/security/keychain-to-encrypted-migration.ts +59 -0
  79. package/src/security/secure-keys.ts +17 -0
  80. package/src/skills/frontmatter.ts +9 -7
  81. package/src/tools/apps/executors.ts +2 -1
  82. package/src/tools/tool-manifest.ts +44 -42
  83. package/src/tools/types.ts +9 -0
  84. package/src/__tests__/skill-mirror-parity.test.ts +0 -176
  85. package/src/config/vellum-skills/catalog.json +0 -63
  86. package/src/config/vellum-skills/chatgpt-import/tools/chatgpt-import.ts +0 -295
  87. package/src/skills/vellum-catalog-remote.ts +0 -166
  88. package/src/tools/skills/vellum-catalog.ts +0 -168
  89. /package/src/config/{vellum-skills → bundled-skills}/chatgpt-import/SKILL.md +0 -0
  90. /package/src/config/{vellum-skills → bundled-skills}/chatgpt-import/TOOLS.json +0 -0
  91. /package/src/config/{vellum-skills → bundled-skills}/deploy-fullstack-vercel/SKILL.md +0 -0
  92. /package/src/config/{vellum-skills → bundled-skills}/document-writer/SKILL.md +0 -0
  93. /package/src/config/{vellum-skills → bundled-skills}/guardian-verify-setup/SKILL.md +0 -0
  94. /package/src/config/{vellum-skills → bundled-skills}/slack-oauth-setup/SKILL.md +0 -0
  95. /package/src/config/{vellum-skills → bundled-skills}/trusted-contacts/SKILL.md +0 -0
@@ -12,341 +12,355 @@
12
12
  * Regenerate with:
13
13
  * bun run scripts/generate-bundled-tool-registry.ts
14
14
  */
15
- import type { SkillToolScript } from '../tools/skills/script-contract.js';
15
+ import type { SkillToolScript } from "../tools/skills/script-contract.js";
16
16
  // ── app-builder ──────────────────────────────────────────────────────────────
17
- import * as appCreate from './bundled-skills/app-builder/tools/app-create.js';
18
- import * as appDelete from './bundled-skills/app-builder/tools/app-delete.js';
19
- import * as appFileEdit from './bundled-skills/app-builder/tools/app-file-edit.js';
20
- import * as appFileList from './bundled-skills/app-builder/tools/app-file-list.js';
21
- import * as appFileRead from './bundled-skills/app-builder/tools/app-file-read.js';
22
- import * as appFileWrite from './bundled-skills/app-builder/tools/app-file-write.js';
23
- import * as appList from './bundled-skills/app-builder/tools/app-list.js';
24
- import * as appQuery from './bundled-skills/app-builder/tools/app-query.js';
25
- import * as appUpdate from './bundled-skills/app-builder/tools/app-update.js';
26
- import * as browserClick from './bundled-skills/browser/tools/browser-click.js';
27
- import * as browserClose from './bundled-skills/browser/tools/browser-close.js';
28
- import * as browserExtract from './bundled-skills/browser/tools/browser-extract.js';
29
- import * as browserFillCredential from './bundled-skills/browser/tools/browser-fill-credential.js';
17
+ import * as appCreate from "./bundled-skills/app-builder/tools/app-create.js";
18
+ import * as appDelete from "./bundled-skills/app-builder/tools/app-delete.js";
19
+ import * as appFileEdit from "./bundled-skills/app-builder/tools/app-file-edit.js";
20
+ import * as appFileList from "./bundled-skills/app-builder/tools/app-file-list.js";
21
+ import * as appFileRead from "./bundled-skills/app-builder/tools/app-file-read.js";
22
+ import * as appFileWrite from "./bundled-skills/app-builder/tools/app-file-write.js";
23
+ import * as appList from "./bundled-skills/app-builder/tools/app-list.js";
24
+ import * as appQuery from "./bundled-skills/app-builder/tools/app-query.js";
25
+ import * as appUpdate from "./bundled-skills/app-builder/tools/app-update.js";
26
+ import * as browserClick from "./bundled-skills/browser/tools/browser-click.js";
27
+ import * as browserClose from "./bundled-skills/browser/tools/browser-close.js";
28
+ import * as browserExtract from "./bundled-skills/browser/tools/browser-extract.js";
29
+ import * as browserFillCredential from "./bundled-skills/browser/tools/browser-fill-credential.js";
30
30
  // ── browser ──────────────────────────────────────────────────────────────────
31
- import * as browserNavigate from './bundled-skills/browser/tools/browser-navigate.js';
32
- import * as browserPressKey from './bundled-skills/browser/tools/browser-press-key.js';
33
- import * as browserScreenshot from './bundled-skills/browser/tools/browser-screenshot.js';
34
- import * as browserSnapshot from './bundled-skills/browser/tools/browser-snapshot.js';
35
- import * as browserType from './bundled-skills/browser/tools/browser-type.js';
36
- import * as browserWaitFor from './bundled-skills/browser/tools/browser-wait-for.js';
31
+ import * as browserNavigate from "./bundled-skills/browser/tools/browser-navigate.js";
32
+ import * as browserPressKey from "./bundled-skills/browser/tools/browser-press-key.js";
33
+ import * as browserScreenshot from "./bundled-skills/browser/tools/browser-screenshot.js";
34
+ import * as browserSnapshot from "./bundled-skills/browser/tools/browser-snapshot.js";
35
+ import * as browserType from "./bundled-skills/browser/tools/browser-type.js";
36
+ import * as browserWaitFor from "./bundled-skills/browser/tools/browser-wait-for.js";
37
+ // ── chatgpt-import ───────────────────────────────────────────────────────────
38
+ import * as chatgptImport_chatgptImport from "./bundled-skills/chatgpt-import/tools/chatgpt-import.js";
37
39
  // ── claude-code ──────────────────────────────────────────────────────────────
38
- import * as claudeCode from './bundled-skills/claude-code/tools/claude-code.js';
40
+ import * as claudeCode from "./bundled-skills/claude-code/tools/claude-code.js";
39
41
  // ── computer-use ─────────────────────────────────────────────────────────────
40
- import * as computerUseClick from './bundled-skills/computer-use/tools/computer-use-click.js';
41
- import * as computerUseDone from './bundled-skills/computer-use/tools/computer-use-done.js';
42
- import * as computerUseDoubleClick from './bundled-skills/computer-use/tools/computer-use-double-click.js';
43
- import * as computerUseDrag from './bundled-skills/computer-use/tools/computer-use-drag.js';
44
- import * as computerUseKey from './bundled-skills/computer-use/tools/computer-use-key.js';
45
- import * as computerUseOpenApp from './bundled-skills/computer-use/tools/computer-use-open-app.js';
46
- import * as computerUseRespond from './bundled-skills/computer-use/tools/computer-use-respond.js';
47
- import * as computerUseRightClick from './bundled-skills/computer-use/tools/computer-use-right-click.js';
48
- import * as computerUseRunApplescript from './bundled-skills/computer-use/tools/computer-use-run-applescript.js';
49
- import * as computerUseScroll from './bundled-skills/computer-use/tools/computer-use-scroll.js';
50
- import * as computerUseTypeText from './bundled-skills/computer-use/tools/computer-use-type-text.js';
51
- import * as computerUseWait from './bundled-skills/computer-use/tools/computer-use-wait.js';
52
- import * as contactMerge from './bundled-skills/contacts/tools/contact-merge.js';
53
- import * as contactSearch from './bundled-skills/contacts/tools/contact-search.js';
42
+ import * as computerUseClick from "./bundled-skills/computer-use/tools/computer-use-click.js";
43
+ import * as computerUseDone from "./bundled-skills/computer-use/tools/computer-use-done.js";
44
+ import * as computerUseDoubleClick from "./bundled-skills/computer-use/tools/computer-use-double-click.js";
45
+ import * as computerUseDrag from "./bundled-skills/computer-use/tools/computer-use-drag.js";
46
+ import * as computerUseKey from "./bundled-skills/computer-use/tools/computer-use-key.js";
47
+ import * as computerUseOpenApp from "./bundled-skills/computer-use/tools/computer-use-open-app.js";
48
+ import * as computerUseRespond from "./bundled-skills/computer-use/tools/computer-use-respond.js";
49
+ import * as computerUseRightClick from "./bundled-skills/computer-use/tools/computer-use-right-click.js";
50
+ import * as computerUseRunApplescript from "./bundled-skills/computer-use/tools/computer-use-run-applescript.js";
51
+ import * as computerUseScroll from "./bundled-skills/computer-use/tools/computer-use-scroll.js";
52
+ import * as computerUseTypeText from "./bundled-skills/computer-use/tools/computer-use-type-text.js";
53
+ import * as computerUseWait from "./bundled-skills/computer-use/tools/computer-use-wait.js";
54
+ import * as contactMerge from "./bundled-skills/contacts/tools/contact-merge.js";
55
+ import * as contactSearch from "./bundled-skills/contacts/tools/contact-search.js";
54
56
  // ── contacts ─────────────────────────────────────────────────────────────────
55
- import * as contactUpsert from './bundled-skills/contacts/tools/contact-upsert.js';
57
+ import * as contactUpsert from "./bundled-skills/contacts/tools/contact-upsert.js";
56
58
  // ── document ─────────────────────────────────────────────────────────────────
57
- import * as documentCreate from './bundled-skills/document/tools/document-create.js';
58
- import * as documentUpdate from './bundled-skills/document/tools/document-update.js';
59
+ import * as documentCreate from "./bundled-skills/document/tools/document-create.js";
60
+ import * as documentUpdate from "./bundled-skills/document/tools/document-update.js";
59
61
  // ── followups ────────────────────────────────────────────────────────────────
60
- import * as followupCreate from './bundled-skills/followups/tools/followup-create.js';
61
- import * as followupList from './bundled-skills/followups/tools/followup-list.js';
62
- import * as followupResolve from './bundled-skills/followups/tools/followup-resolve.js';
63
- import * as calendarCheckAvailability from './bundled-skills/google-calendar/tools/calendar-check-availability.js';
64
- import * as calendarCreateEvent from './bundled-skills/google-calendar/tools/calendar-create-event.js';
65
- import * as calendarGetEvent from './bundled-skills/google-calendar/tools/calendar-get-event.js';
62
+ import * as followupCreate from "./bundled-skills/followups/tools/followup-create.js";
63
+ import * as followupList from "./bundled-skills/followups/tools/followup-list.js";
64
+ import * as followupResolve from "./bundled-skills/followups/tools/followup-resolve.js";
65
+ import * as calendarCheckAvailability from "./bundled-skills/google-calendar/tools/calendar-check-availability.js";
66
+ import * as calendarCreateEvent from "./bundled-skills/google-calendar/tools/calendar-create-event.js";
67
+ import * as calendarGetEvent from "./bundled-skills/google-calendar/tools/calendar-get-event.js";
66
68
  // ── google-calendar ──────────────────────────────────────────────────────────
67
- import * as calendarListEvents from './bundled-skills/google-calendar/tools/calendar-list-events.js';
68
- import * as calendarRsvp from './bundled-skills/google-calendar/tools/calendar-rsvp.js';
69
+ import * as calendarListEvents from "./bundled-skills/google-calendar/tools/calendar-list-events.js";
70
+ import * as calendarRsvp from "./bundled-skills/google-calendar/tools/calendar-rsvp.js";
69
71
  // ── image-studio ─────────────────────────────────────────────────────────────
70
- import * as mediaGenerateImage from './bundled-skills/image-studio/tools/media-generate-image.js';
72
+ import * as mediaGenerateImage from "./bundled-skills/image-studio/tools/media-generate-image.js";
71
73
  // ── knowledge-graph ──────────────────────────────────────────────────────────
72
- import * as graphQuery from './bundled-skills/knowledge-graph/tools/graph-query.js';
73
- import * as analyzeKeyframes from './bundled-skills/media-processing/tools/analyze-keyframes.js';
74
- import * as extractKeyframes from './bundled-skills/media-processing/tools/extract-keyframes.js';
75
- import * as generateClip from './bundled-skills/media-processing/tools/generate-clip.js';
74
+ import * as graphQuery from "./bundled-skills/knowledge-graph/tools/graph-query.js";
75
+ import * as analyzeKeyframes from "./bundled-skills/media-processing/tools/analyze-keyframes.js";
76
+ import * as extractKeyframes from "./bundled-skills/media-processing/tools/extract-keyframes.js";
77
+ import * as generateClip from "./bundled-skills/media-processing/tools/generate-clip.js";
76
78
  // ── media-processing ─────────────────────────────────────────────────────────
77
- import * as ingestMedia from './bundled-skills/media-processing/tools/ingest-media.js';
78
- import * as mediaDiagnostics from './bundled-skills/media-processing/tools/media-diagnostics.js';
79
- import * as mediaStatus from './bundled-skills/media-processing/tools/media-status.js';
80
- import * as queryMediaEvents from './bundled-skills/media-processing/tools/query-media-events.js';
81
- import * as gmailArchive from './bundled-skills/messaging/tools/gmail-archive.js';
82
- import * as gmailBatchArchive from './bundled-skills/messaging/tools/gmail-batch-archive.js';
83
- import * as gmailBatchLabel from './bundled-skills/messaging/tools/gmail-batch-label.js';
84
- import * as gmailDownloadAttachment from './bundled-skills/messaging/tools/gmail-download-attachment.js';
85
- import * as gmailDraft from './bundled-skills/messaging/tools/gmail-draft.js';
86
- import * as gmailFilters from './bundled-skills/messaging/tools/gmail-filters.js';
87
- import * as gmailFollowUp from './bundled-skills/messaging/tools/gmail-follow-up.js';
88
- import * as gmailForward from './bundled-skills/messaging/tools/gmail-forward.js';
89
- import * as gmailLabel from './bundled-skills/messaging/tools/gmail-label.js';
90
- import * as gmailListAttachments from './bundled-skills/messaging/tools/gmail-list-attachments.js';
91
- import * as gmailOutreachScan from './bundled-skills/messaging/tools/gmail-outreach-scan.js';
92
- import * as gmailSendWithAttachments from './bundled-skills/messaging/tools/gmail-send-with-attachments.js';
93
- import * as gmailSenderDigest from './bundled-skills/messaging/tools/gmail-sender-digest.js';
94
- import * as gmailSummarizeThread from './bundled-skills/messaging/tools/gmail-summarize-thread.js';
95
- import * as gmailTrash from './bundled-skills/messaging/tools/gmail-trash.js';
96
- import * as gmailTriage from './bundled-skills/messaging/tools/gmail-triage.js';
97
- import * as gmailUnsubscribe from './bundled-skills/messaging/tools/gmail-unsubscribe.js';
98
- import * as gmailVacation from './bundled-skills/messaging/tools/gmail-vacation.js';
99
- import * as googleContacts from './bundled-skills/messaging/tools/google-contacts.js';
100
- import * as messagingAnalyzeActivity from './bundled-skills/messaging/tools/messaging-analyze-activity.js';
101
- import * as messagingAnalyzeStyle from './bundled-skills/messaging/tools/messaging-analyze-style.js';
79
+ import * as ingestMedia from "./bundled-skills/media-processing/tools/ingest-media.js";
80
+ import * as mediaDiagnostics from "./bundled-skills/media-processing/tools/media-diagnostics.js";
81
+ import * as mediaStatus from "./bundled-skills/media-processing/tools/media-status.js";
82
+ import * as queryMediaEvents from "./bundled-skills/media-processing/tools/query-media-events.js";
83
+ import * as gmailArchive from "./bundled-skills/messaging/tools/gmail-archive.js";
84
+ import * as gmailBatchArchive from "./bundled-skills/messaging/tools/gmail-batch-archive.js";
85
+ import * as gmailBatchLabel from "./bundled-skills/messaging/tools/gmail-batch-label.js";
86
+ import * as gmailDownloadAttachment from "./bundled-skills/messaging/tools/gmail-download-attachment.js";
87
+ import * as gmailDraft from "./bundled-skills/messaging/tools/gmail-draft.js";
88
+ import * as gmailFilters from "./bundled-skills/messaging/tools/gmail-filters.js";
89
+ import * as gmailFollowUp from "./bundled-skills/messaging/tools/gmail-follow-up.js";
90
+ import * as gmailForward from "./bundled-skills/messaging/tools/gmail-forward.js";
91
+ import * as gmailLabel from "./bundled-skills/messaging/tools/gmail-label.js";
92
+ import * as gmailListAttachments from "./bundled-skills/messaging/tools/gmail-list-attachments.js";
93
+ import * as gmailOutreachScan from "./bundled-skills/messaging/tools/gmail-outreach-scan.js";
94
+ import * as gmailSendWithAttachments from "./bundled-skills/messaging/tools/gmail-send-with-attachments.js";
95
+ import * as gmailSenderDigest from "./bundled-skills/messaging/tools/gmail-sender-digest.js";
96
+ import * as gmailSummarizeThread from "./bundled-skills/messaging/tools/gmail-summarize-thread.js";
97
+ import * as gmailTrash from "./bundled-skills/messaging/tools/gmail-trash.js";
98
+ import * as gmailTriage from "./bundled-skills/messaging/tools/gmail-triage.js";
99
+ import * as gmailUnsubscribe from "./bundled-skills/messaging/tools/gmail-unsubscribe.js";
100
+ import * as gmailVacation from "./bundled-skills/messaging/tools/gmail-vacation.js";
101
+ import * as googleContacts from "./bundled-skills/messaging/tools/google-contacts.js";
102
+ import * as messagingAnalyzeActivity from "./bundled-skills/messaging/tools/messaging-analyze-activity.js";
103
+ import * as messagingAnalyzeStyle from "./bundled-skills/messaging/tools/messaging-analyze-style.js";
102
104
  // ── messaging ────────────────────────────────────────────────────────────────
103
- import * as messagingAuthTest from './bundled-skills/messaging/tools/messaging-auth-test.js';
104
- import * as messagingDraft from './bundled-skills/messaging/tools/messaging-draft.js';
105
- import * as messagingListConversations from './bundled-skills/messaging/tools/messaging-list-conversations.js';
106
- import * as messagingMarkRead from './bundled-skills/messaging/tools/messaging-mark-read.js';
107
- import * as messagingRead from './bundled-skills/messaging/tools/messaging-read.js';
108
- import * as messagingReply from './bundled-skills/messaging/tools/messaging-reply.js';
109
- import * as messagingSearch from './bundled-skills/messaging/tools/messaging-search.js';
110
- import * as messagingSend from './bundled-skills/messaging/tools/messaging-send.js';
111
- import * as sequenceAnalytics from './bundled-skills/messaging/tools/sequence-analytics.js';
112
- import * as sequenceCancel from './bundled-skills/messaging/tools/sequence-cancel.js';
113
- import * as sequenceCreate from './bundled-skills/messaging/tools/sequence-create.js';
114
- import * as sequenceDelete from './bundled-skills/messaging/tools/sequence-delete.js';
115
- import * as sequenceEnroll from './bundled-skills/messaging/tools/sequence-enroll.js';
116
- import * as sequenceEnrollmentList from './bundled-skills/messaging/tools/sequence-enrollment-list.js';
117
- import * as sequenceGet from './bundled-skills/messaging/tools/sequence-get.js';
118
- import * as sequenceImport from './bundled-skills/messaging/tools/sequence-import.js';
119
- import * as sequenceList from './bundled-skills/messaging/tools/sequence-list.js';
120
- import * as sequencePause from './bundled-skills/messaging/tools/sequence-pause.js';
121
- import * as sequenceResume from './bundled-skills/messaging/tools/sequence-resume.js';
122
- import * as sequenceUpdate from './bundled-skills/messaging/tools/sequence-update.js';
123
- import * as slackAddReaction from './bundled-skills/messaging/tools/slack-add-reaction.js';
124
- import * as slackLeaveChannel from './bundled-skills/messaging/tools/slack-leave-channel.js';
105
+ import * as messagingAuthTest from "./bundled-skills/messaging/tools/messaging-auth-test.js";
106
+ import * as messagingDraft from "./bundled-skills/messaging/tools/messaging-draft.js";
107
+ import * as messagingListConversations from "./bundled-skills/messaging/tools/messaging-list-conversations.js";
108
+ import * as messagingMarkRead from "./bundled-skills/messaging/tools/messaging-mark-read.js";
109
+ import * as messagingRead from "./bundled-skills/messaging/tools/messaging-read.js";
110
+ import * as messagingReply from "./bundled-skills/messaging/tools/messaging-reply.js";
111
+ import * as messagingSearch from "./bundled-skills/messaging/tools/messaging-search.js";
112
+ import * as messagingSend from "./bundled-skills/messaging/tools/messaging-send.js";
113
+ import * as sequenceAnalytics from "./bundled-skills/messaging/tools/sequence-analytics.js";
114
+ import * as sequenceCancel from "./bundled-skills/messaging/tools/sequence-cancel.js";
115
+ import * as sequenceCreate from "./bundled-skills/messaging/tools/sequence-create.js";
116
+ import * as sequenceDelete from "./bundled-skills/messaging/tools/sequence-delete.js";
117
+ import * as sequenceEnroll from "./bundled-skills/messaging/tools/sequence-enroll.js";
118
+ import * as sequenceEnrollmentList from "./bundled-skills/messaging/tools/sequence-enrollment-list.js";
119
+ import * as sequenceGet from "./bundled-skills/messaging/tools/sequence-get.js";
120
+ import * as sequenceImport from "./bundled-skills/messaging/tools/sequence-import.js";
121
+ import * as sequenceList from "./bundled-skills/messaging/tools/sequence-list.js";
122
+ import * as sequencePause from "./bundled-skills/messaging/tools/sequence-pause.js";
123
+ import * as sequenceResume from "./bundled-skills/messaging/tools/sequence-resume.js";
124
+ import * as sequenceUpdate from "./bundled-skills/messaging/tools/sequence-update.js";
125
+ import * as slackAddReaction from "./bundled-skills/messaging/tools/slack-add-reaction.js";
126
+ import * as slackLeaveChannel from "./bundled-skills/messaging/tools/slack-leave-channel.js";
125
127
  // ── notifications ───────────────────────────────────────────────────────────
126
- import * as sendNotification from './bundled-skills/notifications/tools/send-notification.js';
128
+ import * as sendNotification from "./bundled-skills/notifications/tools/send-notification.js";
127
129
  // ── phone-calls ─────────────────────────────────────────────────────────────
128
- import * as callEnd from './bundled-skills/phone-calls/tools/call-end.js';
129
- import * as callStart from './bundled-skills/phone-calls/tools/call-start.js';
130
- import * as callStatus from './bundled-skills/phone-calls/tools/call-status.js';
130
+ import * as callEnd from "./bundled-skills/phone-calls/tools/call-end.js";
131
+ import * as callStart from "./bundled-skills/phone-calls/tools/call-start.js";
132
+ import * as callStatus from "./bundled-skills/phone-calls/tools/call-status.js";
131
133
  // ── playbooks ────────────────────────────────────────────────────────────────
132
- import * as playbookCreate from './bundled-skills/playbooks/tools/playbook-create.js';
133
- import * as playbookDelete from './bundled-skills/playbooks/tools/playbook-delete.js';
134
- import * as playbookList from './bundled-skills/playbooks/tools/playbook-list.js';
135
- import * as playbookUpdate from './bundled-skills/playbooks/tools/playbook-update.js';
136
- import * as reminderCancel from './bundled-skills/reminder/tools/reminder-cancel.js';
134
+ import * as playbookCreate from "./bundled-skills/playbooks/tools/playbook-create.js";
135
+ import * as playbookDelete from "./bundled-skills/playbooks/tools/playbook-delete.js";
136
+ import * as playbookList from "./bundled-skills/playbooks/tools/playbook-list.js";
137
+ import * as playbookUpdate from "./bundled-skills/playbooks/tools/playbook-update.js";
138
+ import * as reminderCancel from "./bundled-skills/reminder/tools/reminder-cancel.js";
137
139
  // ── reminder ─────────────────────────────────────────────────────────────────
138
- import * as reminderCreate from './bundled-skills/reminder/tools/reminder-create.js';
139
- import * as reminderList from './bundled-skills/reminder/tools/reminder-list.js';
140
+ import * as reminderCreate from "./bundled-skills/reminder/tools/reminder-create.js";
141
+ import * as reminderList from "./bundled-skills/reminder/tools/reminder-list.js";
140
142
  // ── schedule ─────────────────────────────────────────────────────────────────
141
- import * as scheduleCreate from './bundled-skills/schedule/tools/schedule-create.js';
142
- import * as scheduleDelete from './bundled-skills/schedule/tools/schedule-delete.js';
143
- import * as scheduleList from './bundled-skills/schedule/tools/schedule-list.js';
144
- import * as scheduleUpdate from './bundled-skills/schedule/tools/schedule-update.js';
145
- import * as subagentAbort from './bundled-skills/subagent/tools/subagent-abort.js';
146
- import * as subagentMessage from './bundled-skills/subagent/tools/subagent-message.js';
147
- import * as subagentRead from './bundled-skills/subagent/tools/subagent-read.js';
143
+ import * as scheduleCreate from "./bundled-skills/schedule/tools/schedule-create.js";
144
+ import * as scheduleDelete from "./bundled-skills/schedule/tools/schedule-delete.js";
145
+ import * as scheduleList from "./bundled-skills/schedule/tools/schedule-list.js";
146
+ import * as scheduleUpdate from "./bundled-skills/schedule/tools/schedule-update.js";
147
+ import * as subagentAbort from "./bundled-skills/subagent/tools/subagent-abort.js";
148
+ import * as subagentMessage from "./bundled-skills/subagent/tools/subagent-message.js";
149
+ import * as subagentRead from "./bundled-skills/subagent/tools/subagent-read.js";
148
150
  // ── subagent ─────────────────────────────────────────────────────────────────
149
- import * as subagentSpawn from './bundled-skills/subagent/tools/subagent-spawn.js';
150
- import * as subagentStatus from './bundled-skills/subagent/tools/subagent-status.js';
151
- import * as taskDelete from './bundled-skills/tasks/tools/task-delete.js';
152
- import * as taskList from './bundled-skills/tasks/tools/task-list.js';
153
- import * as taskListAdd from './bundled-skills/tasks/tools/task-list-add.js';
154
- import * as taskListRemove from './bundled-skills/tasks/tools/task-list-remove.js';
155
- import * as taskListShow from './bundled-skills/tasks/tools/task-list-show.js';
156
- import * as taskListUpdate from './bundled-skills/tasks/tools/task-list-update.js';
157
- import * as taskQueueRun from './bundled-skills/tasks/tools/task-queue-run.js';
158
- import * as taskRun from './bundled-skills/tasks/tools/task-run.js';
151
+ import * as subagentSpawn from "./bundled-skills/subagent/tools/subagent-spawn.js";
152
+ import * as subagentStatus from "./bundled-skills/subagent/tools/subagent-status.js";
153
+ import * as taskDelete from "./bundled-skills/tasks/tools/task-delete.js";
154
+ import * as taskList from "./bundled-skills/tasks/tools/task-list.js";
155
+ import * as taskListAdd from "./bundled-skills/tasks/tools/task-list-add.js";
156
+ import * as taskListRemove from "./bundled-skills/tasks/tools/task-list-remove.js";
157
+ import * as taskListShow from "./bundled-skills/tasks/tools/task-list-show.js";
158
+ import * as taskListUpdate from "./bundled-skills/tasks/tools/task-list-update.js";
159
+ import * as taskQueueRun from "./bundled-skills/tasks/tools/task-queue-run.js";
160
+ import * as taskRun from "./bundled-skills/tasks/tools/task-run.js";
159
161
  // ── tasks ────────────────────────────────────────────────────────────────────
160
- import * as taskSave from './bundled-skills/tasks/tools/task-save.js';
162
+ import * as taskSave from "./bundled-skills/tasks/tools/task-save.js";
161
163
  // ── transcribe ───────────────────────────────────────────────────────────────
162
- import * as transcribeMedia from './bundled-skills/transcribe/tools/transcribe-media.js';
164
+ import * as transcribeMedia from "./bundled-skills/transcribe/tools/transcribe-media.js";
163
165
  // ── watcher ──────────────────────────────────────────────────────────────────
164
- import * as watcherCreate from './bundled-skills/watcher/tools/watcher-create.js';
165
- import * as watcherDelete from './bundled-skills/watcher/tools/watcher-delete.js';
166
- import * as watcherDigest from './bundled-skills/watcher/tools/watcher-digest.js';
167
- import * as watcherList from './bundled-skills/watcher/tools/watcher-list.js';
168
- import * as watcherUpdate from './bundled-skills/watcher/tools/watcher-update.js';
166
+ import * as watcherCreate from "./bundled-skills/watcher/tools/watcher-create.js";
167
+ import * as watcherDelete from "./bundled-skills/watcher/tools/watcher-delete.js";
168
+ import * as watcherDigest from "./bundled-skills/watcher/tools/watcher-digest.js";
169
+ import * as watcherList from "./bundled-skills/watcher/tools/watcher-list.js";
170
+ import * as watcherUpdate from "./bundled-skills/watcher/tools/watcher-update.js";
169
171
  // ── weather ──────────────────────────────────────────────────────────────────
170
- import * as getWeather from './bundled-skills/weather/tools/get-weather.js';
172
+ import * as getWeather from "./bundled-skills/weather/tools/get-weather.js";
171
173
 
172
174
  // ─── Registry ────────────────────────────────────────────────────────────────
173
175
 
174
176
  /** Key format: `skillDirBasename:executorPath` (e.g. `schedule:tools/schedule-list.ts`). */
175
177
  export const bundledToolRegistry = new Map<string, SkillToolScript>([
176
178
  // app-builder
177
- ['app-builder:tools/app-create.ts', appCreate],
178
- ['app-builder:tools/app-list.ts', appList],
179
- ['app-builder:tools/app-query.ts', appQuery],
180
- ['app-builder:tools/app-update.ts', appUpdate],
181
- ['app-builder:tools/app-delete.ts', appDelete],
182
- ['app-builder:tools/app-file-list.ts', appFileList],
183
- ['app-builder:tools/app-file-read.ts', appFileRead],
184
- ['app-builder:tools/app-file-edit.ts', appFileEdit],
185
- ['app-builder:tools/app-file-write.ts', appFileWrite],
179
+ ["app-builder:tools/app-create.ts", appCreate],
180
+ ["app-builder:tools/app-list.ts", appList],
181
+ ["app-builder:tools/app-query.ts", appQuery],
182
+ ["app-builder:tools/app-update.ts", appUpdate],
183
+ ["app-builder:tools/app-delete.ts", appDelete],
184
+ ["app-builder:tools/app-file-list.ts", appFileList],
185
+ ["app-builder:tools/app-file-read.ts", appFileRead],
186
+ ["app-builder:tools/app-file-edit.ts", appFileEdit],
187
+ ["app-builder:tools/app-file-write.ts", appFileWrite],
186
188
 
187
189
  // browser
188
- ['browser:tools/browser-navigate.ts', browserNavigate],
189
- ['browser:tools/browser-snapshot.ts', browserSnapshot],
190
- ['browser:tools/browser-screenshot.ts', browserScreenshot],
191
- ['browser:tools/browser-close.ts', browserClose],
192
- ['browser:tools/browser-click.ts', browserClick],
193
- ['browser:tools/browser-type.ts', browserType],
194
- ['browser:tools/browser-press-key.ts', browserPressKey],
195
- ['browser:tools/browser-wait-for.ts', browserWaitFor],
196
- ['browser:tools/browser-extract.ts', browserExtract],
197
- ['browser:tools/browser-fill-credential.ts', browserFillCredential],
190
+ ["browser:tools/browser-navigate.ts", browserNavigate],
191
+ ["browser:tools/browser-snapshot.ts", browserSnapshot],
192
+ ["browser:tools/browser-screenshot.ts", browserScreenshot],
193
+ ["browser:tools/browser-close.ts", browserClose],
194
+ ["browser:tools/browser-click.ts", browserClick],
195
+ ["browser:tools/browser-type.ts", browserType],
196
+ ["browser:tools/browser-press-key.ts", browserPressKey],
197
+ ["browser:tools/browser-wait-for.ts", browserWaitFor],
198
+ ["browser:tools/browser-extract.ts", browserExtract],
199
+ ["browser:tools/browser-fill-credential.ts", browserFillCredential],
200
+
201
+ // chatgpt-import
202
+ ["chatgpt-import:tools/chatgpt-import.ts", chatgptImport_chatgptImport],
198
203
 
199
204
  // claude-code
200
- ['claude-code:tools/claude-code.ts', claudeCode],
205
+ ["claude-code:tools/claude-code.ts", claudeCode],
201
206
 
202
207
  // computer-use
203
- ['computer-use:tools/computer-use-click.ts', computerUseClick],
204
- ['computer-use:tools/computer-use-double-click.ts', computerUseDoubleClick],
205
- ['computer-use:tools/computer-use-right-click.ts', computerUseRightClick],
206
- ['computer-use:tools/computer-use-type-text.ts', computerUseTypeText],
207
- ['computer-use:tools/computer-use-key.ts', computerUseKey],
208
- ['computer-use:tools/computer-use-scroll.ts', computerUseScroll],
209
- ['computer-use:tools/computer-use-drag.ts', computerUseDrag],
210
- ['computer-use:tools/computer-use-wait.ts', computerUseWait],
211
- ['computer-use:tools/computer-use-open-app.ts', computerUseOpenApp],
212
- ['computer-use:tools/computer-use-run-applescript.ts', computerUseRunApplescript],
213
- ['computer-use:tools/computer-use-done.ts', computerUseDone],
214
- ['computer-use:tools/computer-use-respond.ts', computerUseRespond],
208
+ ["computer-use:tools/computer-use-click.ts", computerUseClick],
209
+ ["computer-use:tools/computer-use-double-click.ts", computerUseDoubleClick],
210
+ ["computer-use:tools/computer-use-right-click.ts", computerUseRightClick],
211
+ ["computer-use:tools/computer-use-type-text.ts", computerUseTypeText],
212
+ ["computer-use:tools/computer-use-key.ts", computerUseKey],
213
+ ["computer-use:tools/computer-use-scroll.ts", computerUseScroll],
214
+ ["computer-use:tools/computer-use-drag.ts", computerUseDrag],
215
+ ["computer-use:tools/computer-use-wait.ts", computerUseWait],
216
+ ["computer-use:tools/computer-use-open-app.ts", computerUseOpenApp],
217
+ [
218
+ "computer-use:tools/computer-use-run-applescript.ts",
219
+ computerUseRunApplescript,
220
+ ],
221
+ ["computer-use:tools/computer-use-done.ts", computerUseDone],
222
+ ["computer-use:tools/computer-use-respond.ts", computerUseRespond],
215
223
 
216
224
  // contacts
217
- ['contacts:tools/contact-upsert.ts', contactUpsert],
218
- ['contacts:tools/contact-search.ts', contactSearch],
219
- ['contacts:tools/contact-merge.ts', contactMerge],
225
+ ["contacts:tools/contact-upsert.ts", contactUpsert],
226
+ ["contacts:tools/contact-search.ts", contactSearch],
227
+ ["contacts:tools/contact-merge.ts", contactMerge],
220
228
 
221
229
  // document
222
- ['document:tools/document-create.ts', documentCreate],
223
- ['document:tools/document-update.ts', documentUpdate],
230
+ ["document:tools/document-create.ts", documentCreate],
231
+ ["document:tools/document-update.ts", documentUpdate],
224
232
 
225
233
  // followups
226
- ['followups:tools/followup-create.ts', followupCreate],
227
- ['followups:tools/followup-list.ts', followupList],
228
- ['followups:tools/followup-resolve.ts', followupResolve],
234
+ ["followups:tools/followup-create.ts", followupCreate],
235
+ ["followups:tools/followup-list.ts", followupList],
236
+ ["followups:tools/followup-resolve.ts", followupResolve],
229
237
 
230
238
  // google-calendar
231
- ['google-calendar:tools/calendar-list-events.ts', calendarListEvents],
232
- ['google-calendar:tools/calendar-get-event.ts', calendarGetEvent],
233
- ['google-calendar:tools/calendar-create-event.ts', calendarCreateEvent],
234
- ['google-calendar:tools/calendar-check-availability.ts', calendarCheckAvailability],
235
- ['google-calendar:tools/calendar-rsvp.ts', calendarRsvp],
239
+ ["google-calendar:tools/calendar-list-events.ts", calendarListEvents],
240
+ ["google-calendar:tools/calendar-get-event.ts", calendarGetEvent],
241
+ ["google-calendar:tools/calendar-create-event.ts", calendarCreateEvent],
242
+ [
243
+ "google-calendar:tools/calendar-check-availability.ts",
244
+ calendarCheckAvailability,
245
+ ],
246
+ ["google-calendar:tools/calendar-rsvp.ts", calendarRsvp],
236
247
 
237
248
  // image-studio
238
- ['image-studio:tools/media-generate-image.ts', mediaGenerateImage],
249
+ ["image-studio:tools/media-generate-image.ts", mediaGenerateImage],
239
250
 
240
251
  // knowledge-graph
241
- ['knowledge-graph:tools/graph-query.ts', graphQuery],
252
+ ["knowledge-graph:tools/graph-query.ts", graphQuery],
242
253
 
243
254
  // media-processing
244
- ['media-processing:tools/ingest-media.ts', ingestMedia],
245
- ['media-processing:tools/media-status.ts', mediaStatus],
246
- ['media-processing:tools/extract-keyframes.ts', extractKeyframes],
247
- ['media-processing:tools/analyze-keyframes.ts', analyzeKeyframes],
248
- ['media-processing:tools/query-media-events.ts', queryMediaEvents],
249
- ['media-processing:tools/generate-clip.ts', generateClip],
250
- ['media-processing:tools/media-diagnostics.ts', mediaDiagnostics],
255
+ ["media-processing:tools/ingest-media.ts", ingestMedia],
256
+ ["media-processing:tools/media-status.ts", mediaStatus],
257
+ ["media-processing:tools/extract-keyframes.ts", extractKeyframes],
258
+ ["media-processing:tools/analyze-keyframes.ts", analyzeKeyframes],
259
+ ["media-processing:tools/query-media-events.ts", queryMediaEvents],
260
+ ["media-processing:tools/generate-clip.ts", generateClip],
261
+ ["media-processing:tools/media-diagnostics.ts", mediaDiagnostics],
251
262
 
252
263
  // messaging
253
- ['messaging:tools/messaging-auth-test.ts', messagingAuthTest],
254
- ['messaging:tools/messaging-list-conversations.ts', messagingListConversations],
255
- ['messaging:tools/messaging-read.ts', messagingRead],
256
- ['messaging:tools/messaging-search.ts', messagingSearch],
257
- ['messaging:tools/messaging-send.ts', messagingSend],
258
- ['messaging:tools/messaging-reply.ts', messagingReply],
259
- ['messaging:tools/messaging-mark-read.ts', messagingMarkRead],
260
- ['messaging:tools/slack-add-reaction.ts', slackAddReaction],
261
- ['messaging:tools/slack-leave-channel.ts', slackLeaveChannel],
262
- ['messaging:tools/messaging-analyze-activity.ts', messagingAnalyzeActivity],
263
- ['messaging:tools/messaging-analyze-style.ts', messagingAnalyzeStyle],
264
- ['messaging:tools/messaging-draft.ts', messagingDraft],
265
- ['messaging:tools/gmail-archive.ts', gmailArchive],
266
- ['messaging:tools/gmail-batch-archive.ts', gmailBatchArchive],
267
- ['messaging:tools/gmail-label.ts', gmailLabel],
268
- ['messaging:tools/gmail-batch-label.ts', gmailBatchLabel],
269
- ['messaging:tools/gmail-trash.ts', gmailTrash],
270
- ['messaging:tools/gmail-unsubscribe.ts', gmailUnsubscribe],
271
- ['messaging:tools/gmail-draft.ts', gmailDraft],
272
- ['messaging:tools/gmail-list-attachments.ts', gmailListAttachments],
273
- ['messaging:tools/gmail-download-attachment.ts', gmailDownloadAttachment],
274
- ['messaging:tools/gmail-send-with-attachments.ts', gmailSendWithAttachments],
275
- ['messaging:tools/gmail-forward.ts', gmailForward],
276
- ['messaging:tools/gmail-summarize-thread.ts', gmailSummarizeThread],
277
- ['messaging:tools/gmail-follow-up.ts', gmailFollowUp],
278
- ['messaging:tools/gmail-triage.ts', gmailTriage],
279
- ['messaging:tools/gmail-filters.ts', gmailFilters],
280
- ['messaging:tools/gmail-vacation.ts', gmailVacation],
281
- ['messaging:tools/gmail-sender-digest.ts', gmailSenderDigest],
282
- ['messaging:tools/gmail-outreach-scan.ts', gmailOutreachScan],
283
- ['messaging:tools/google-contacts.ts', googleContacts],
284
- ['messaging:tools/sequence-create.ts', sequenceCreate],
285
- ['messaging:tools/sequence-list.ts', sequenceList],
286
- ['messaging:tools/sequence-get.ts', sequenceGet],
287
- ['messaging:tools/sequence-update.ts', sequenceUpdate],
288
- ['messaging:tools/sequence-delete.ts', sequenceDelete],
289
- ['messaging:tools/sequence-enroll.ts', sequenceEnroll],
290
- ['messaging:tools/sequence-enrollment-list.ts', sequenceEnrollmentList],
291
- ['messaging:tools/sequence-pause.ts', sequencePause],
292
- ['messaging:tools/sequence-resume.ts', sequenceResume],
293
- ['messaging:tools/sequence-cancel.ts', sequenceCancel],
294
- ['messaging:tools/sequence-import.ts', sequenceImport],
295
- ['messaging:tools/sequence-analytics.ts', sequenceAnalytics],
264
+ ["messaging:tools/messaging-auth-test.ts", messagingAuthTest],
265
+ [
266
+ "messaging:tools/messaging-list-conversations.ts",
267
+ messagingListConversations,
268
+ ],
269
+ ["messaging:tools/messaging-read.ts", messagingRead],
270
+ ["messaging:tools/messaging-search.ts", messagingSearch],
271
+ ["messaging:tools/messaging-send.ts", messagingSend],
272
+ ["messaging:tools/messaging-reply.ts", messagingReply],
273
+ ["messaging:tools/messaging-mark-read.ts", messagingMarkRead],
274
+ ["messaging:tools/slack-add-reaction.ts", slackAddReaction],
275
+ ["messaging:tools/slack-leave-channel.ts", slackLeaveChannel],
276
+ ["messaging:tools/messaging-analyze-activity.ts", messagingAnalyzeActivity],
277
+ ["messaging:tools/messaging-analyze-style.ts", messagingAnalyzeStyle],
278
+ ["messaging:tools/messaging-draft.ts", messagingDraft],
279
+ ["messaging:tools/gmail-archive.ts", gmailArchive],
280
+ ["messaging:tools/gmail-batch-archive.ts", gmailBatchArchive],
281
+ ["messaging:tools/gmail-label.ts", gmailLabel],
282
+ ["messaging:tools/gmail-batch-label.ts", gmailBatchLabel],
283
+ ["messaging:tools/gmail-trash.ts", gmailTrash],
284
+ ["messaging:tools/gmail-unsubscribe.ts", gmailUnsubscribe],
285
+ ["messaging:tools/gmail-draft.ts", gmailDraft],
286
+ ["messaging:tools/gmail-list-attachments.ts", gmailListAttachments],
287
+ ["messaging:tools/gmail-download-attachment.ts", gmailDownloadAttachment],
288
+ ["messaging:tools/gmail-send-with-attachments.ts", gmailSendWithAttachments],
289
+ ["messaging:tools/gmail-forward.ts", gmailForward],
290
+ ["messaging:tools/gmail-summarize-thread.ts", gmailSummarizeThread],
291
+ ["messaging:tools/gmail-follow-up.ts", gmailFollowUp],
292
+ ["messaging:tools/gmail-triage.ts", gmailTriage],
293
+ ["messaging:tools/gmail-filters.ts", gmailFilters],
294
+ ["messaging:tools/gmail-vacation.ts", gmailVacation],
295
+ ["messaging:tools/gmail-sender-digest.ts", gmailSenderDigest],
296
+ ["messaging:tools/gmail-outreach-scan.ts", gmailOutreachScan],
297
+ ["messaging:tools/google-contacts.ts", googleContacts],
298
+ ["messaging:tools/sequence-create.ts", sequenceCreate],
299
+ ["messaging:tools/sequence-list.ts", sequenceList],
300
+ ["messaging:tools/sequence-get.ts", sequenceGet],
301
+ ["messaging:tools/sequence-update.ts", sequenceUpdate],
302
+ ["messaging:tools/sequence-delete.ts", sequenceDelete],
303
+ ["messaging:tools/sequence-enroll.ts", sequenceEnroll],
304
+ ["messaging:tools/sequence-enrollment-list.ts", sequenceEnrollmentList],
305
+ ["messaging:tools/sequence-pause.ts", sequencePause],
306
+ ["messaging:tools/sequence-resume.ts", sequenceResume],
307
+ ["messaging:tools/sequence-cancel.ts", sequenceCancel],
308
+ ["messaging:tools/sequence-import.ts", sequenceImport],
309
+ ["messaging:tools/sequence-analytics.ts", sequenceAnalytics],
296
310
 
297
311
  // notifications
298
- ['notifications:tools/send-notification.ts', sendNotification],
312
+ ["notifications:tools/send-notification.ts", sendNotification],
299
313
 
300
314
  // phone-calls
301
- ['phone-calls:tools/call-start.ts', callStart],
302
- ['phone-calls:tools/call-status.ts', callStatus],
303
- ['phone-calls:tools/call-end.ts', callEnd],
315
+ ["phone-calls:tools/call-start.ts", callStart],
316
+ ["phone-calls:tools/call-status.ts", callStatus],
317
+ ["phone-calls:tools/call-end.ts", callEnd],
304
318
 
305
319
  // playbooks
306
- ['playbooks:tools/playbook-create.ts', playbookCreate],
307
- ['playbooks:tools/playbook-list.ts', playbookList],
308
- ['playbooks:tools/playbook-update.ts', playbookUpdate],
309
- ['playbooks:tools/playbook-delete.ts', playbookDelete],
320
+ ["playbooks:tools/playbook-create.ts", playbookCreate],
321
+ ["playbooks:tools/playbook-list.ts", playbookList],
322
+ ["playbooks:tools/playbook-update.ts", playbookUpdate],
323
+ ["playbooks:tools/playbook-delete.ts", playbookDelete],
310
324
 
311
325
  // reminder
312
- ['reminder:tools/reminder-create.ts', reminderCreate],
313
- ['reminder:tools/reminder-list.ts', reminderList],
314
- ['reminder:tools/reminder-cancel.ts', reminderCancel],
326
+ ["reminder:tools/reminder-create.ts", reminderCreate],
327
+ ["reminder:tools/reminder-list.ts", reminderList],
328
+ ["reminder:tools/reminder-cancel.ts", reminderCancel],
315
329
 
316
330
  // schedule
317
- ['schedule:tools/schedule-create.ts', scheduleCreate],
318
- ['schedule:tools/schedule-list.ts', scheduleList],
319
- ['schedule:tools/schedule-update.ts', scheduleUpdate],
320
- ['schedule:tools/schedule-delete.ts', scheduleDelete],
331
+ ["schedule:tools/schedule-create.ts", scheduleCreate],
332
+ ["schedule:tools/schedule-list.ts", scheduleList],
333
+ ["schedule:tools/schedule-update.ts", scheduleUpdate],
334
+ ["schedule:tools/schedule-delete.ts", scheduleDelete],
321
335
 
322
336
  // subagent
323
- ['subagent:tools/subagent-spawn.ts', subagentSpawn],
324
- ['subagent:tools/subagent-status.ts', subagentStatus],
325
- ['subagent:tools/subagent-abort.ts', subagentAbort],
326
- ['subagent:tools/subagent-message.ts', subagentMessage],
327
- ['subagent:tools/subagent-read.ts', subagentRead],
337
+ ["subagent:tools/subagent-spawn.ts", subagentSpawn],
338
+ ["subagent:tools/subagent-status.ts", subagentStatus],
339
+ ["subagent:tools/subagent-abort.ts", subagentAbort],
340
+ ["subagent:tools/subagent-message.ts", subagentMessage],
341
+ ["subagent:tools/subagent-read.ts", subagentRead],
328
342
 
329
343
  // tasks
330
- ['tasks:tools/task-save.ts', taskSave],
331
- ['tasks:tools/task-run.ts', taskRun],
332
- ['tasks:tools/task-list.ts', taskList],
333
- ['tasks:tools/task-delete.ts', taskDelete],
334
- ['tasks:tools/task-list-show.ts', taskListShow],
335
- ['tasks:tools/task-list-add.ts', taskListAdd],
336
- ['tasks:tools/task-list-update.ts', taskListUpdate],
337
- ['tasks:tools/task-list-remove.ts', taskListRemove],
338
- ['tasks:tools/task-queue-run.ts', taskQueueRun],
344
+ ["tasks:tools/task-save.ts", taskSave],
345
+ ["tasks:tools/task-run.ts", taskRun],
346
+ ["tasks:tools/task-list.ts", taskList],
347
+ ["tasks:tools/task-delete.ts", taskDelete],
348
+ ["tasks:tools/task-list-show.ts", taskListShow],
349
+ ["tasks:tools/task-list-add.ts", taskListAdd],
350
+ ["tasks:tools/task-list-update.ts", taskListUpdate],
351
+ ["tasks:tools/task-list-remove.ts", taskListRemove],
352
+ ["tasks:tools/task-queue-run.ts", taskQueueRun],
339
353
 
340
354
  // transcribe
341
- ['transcribe:tools/transcribe-media.ts', transcribeMedia],
355
+ ["transcribe:tools/transcribe-media.ts", transcribeMedia],
342
356
 
343
357
  // watcher
344
- ['watcher:tools/watcher-create.ts', watcherCreate],
345
- ['watcher:tools/watcher-list.ts', watcherList],
346
- ['watcher:tools/watcher-update.ts', watcherUpdate],
347
- ['watcher:tools/watcher-delete.ts', watcherDelete],
348
- ['watcher:tools/watcher-digest.ts', watcherDigest],
358
+ ["watcher:tools/watcher-create.ts", watcherCreate],
359
+ ["watcher:tools/watcher-list.ts", watcherList],
360
+ ["watcher:tools/watcher-update.ts", watcherUpdate],
361
+ ["watcher:tools/watcher-delete.ts", watcherDelete],
362
+ ["watcher:tools/watcher-digest.ts", watcherDigest],
349
363
 
350
364
  // weather
351
- ['weather:tools/get-weather.ts', getWeather],
365
+ ["weather:tools/get-weather.ts", getWeather],
352
366
  ]);