@vellumai/assistant 0.4.11 → 0.4.13

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