vellum 0.2.13 → 0.3.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/bin/vellum.js +2 -0
- package/package.json +6 -65
- package/.dockerignore +0 -27
- package/.env.example +0 -22
- package/Dockerfile +0 -99
- package/Dockerfile.sandbox +0 -5
- package/README.md +0 -169
- package/bun.lock +0 -1743
- package/bunfig.toml +0 -2
- package/docs/skills.md +0 -158
- package/drizzle/0000_dizzy_maggott.sql +0 -301
- package/drizzle/meta/0000_snapshot.json +0 -1999
- package/drizzle/meta/_journal.json +0 -13
- package/drizzle.config.ts +0 -7
- package/eslint.config.mjs +0 -17
- package/hook-templates/debug-prompt-logger/hook.json +0 -7
- package/hook-templates/debug-prompt-logger/run.sh +0 -68
- package/knip.json +0 -9
- package/scripts/capture-x-graphql.ts +0 -545
- package/scripts/ipc/check-contract-inventory.ts +0 -104
- package/scripts/ipc/check-swift-decoder-drift.ts +0 -164
- package/scripts/ipc/generate-swift.ts +0 -492
- package/scripts/test-filesystem-tools.sh +0 -48
- package/scripts/test.sh +0 -127
- package/src/__tests__/__snapshots__/ipc-snapshot.test.ts.snap +0 -2316
- package/src/__tests__/account-registry.test.ts +0 -245
- package/src/__tests__/active-skill-tools.test.ts +0 -378
- package/src/__tests__/agent-heartbeat-service.test.ts +0 -250
- package/src/__tests__/agent-loop-thinking.test.ts +0 -81
- package/src/__tests__/agent-loop.test.ts +0 -1135
- package/src/__tests__/anthropic-provider.test.ts +0 -778
- package/src/__tests__/app-builder-tool-scripts.test.ts +0 -290
- package/src/__tests__/app-bundler.test.ts +0 -292
- package/src/__tests__/app-executors.test.ts +0 -613
- package/src/__tests__/app-open-proxy.test.ts +0 -62
- package/src/__tests__/asset-materialize-tool.test.ts +0 -452
- package/src/__tests__/asset-search-tool.test.ts +0 -477
- package/src/__tests__/assistant-attachment-directive.test.ts +0 -401
- package/src/__tests__/assistant-attachments.test.ts +0 -437
- package/src/__tests__/assistant-event-hub.test.ts +0 -226
- package/src/__tests__/assistant-event.test.ts +0 -123
- package/src/__tests__/attachments-store.test.ts +0 -476
- package/src/__tests__/attachments.test.ts +0 -134
- package/src/__tests__/audit-log-rotation.test.ts +0 -154
- package/src/__tests__/browser-fill-credential.test.ts +0 -309
- package/src/__tests__/browser-manager.test.ts +0 -203
- package/src/__tests__/browser-runtime-check.test.ts +0 -55
- package/src/__tests__/browser-skill-baseline-tool-payload.test.ts +0 -68
- package/src/__tests__/browser-skill-endstate.test.ts +0 -195
- package/src/__tests__/bundle-scanner.test.ts +0 -313
- package/src/__tests__/call-bridge.test.ts +0 -425
- package/src/__tests__/call-constants.test.ts +0 -40
- package/src/__tests__/call-orchestrator.test.ts +0 -512
- package/src/__tests__/call-recovery.test.ts +0 -518
- package/src/__tests__/call-routes-http.test.ts +0 -459
- package/src/__tests__/call-state-machine.test.ts +0 -143
- package/src/__tests__/call-state.test.ts +0 -174
- package/src/__tests__/call-store.test.ts +0 -691
- package/src/__tests__/checker.test.ts +0 -3960
- package/src/__tests__/clarification-resolver.test.ts +0 -159
- package/src/__tests__/classifier.test.ts +0 -67
- package/src/__tests__/claude-code-skill-regression.test.ts +0 -127
- package/src/__tests__/claude-code-tool-profiles.test.ts +0 -88
- package/src/__tests__/cli-discover.test.ts +0 -85
- package/src/__tests__/cli.test.ts +0 -81
- package/src/__tests__/clipboard.test.ts +0 -80
- package/src/__tests__/commit-guarantee.test.ts +0 -335
- package/src/__tests__/commit-message-enrichment-service.test.ts +0 -550
- package/src/__tests__/compaction.benchmark.test.ts +0 -176
- package/src/__tests__/computer-use-session-compaction.test.ts +0 -132
- package/src/__tests__/computer-use-session-lifecycle.test.ts +0 -293
- package/src/__tests__/computer-use-session-working-dir.test.ts +0 -117
- package/src/__tests__/computer-use-skill-baseline.test.ts +0 -74
- package/src/__tests__/computer-use-skill-endstate.test.ts +0 -89
- package/src/__tests__/computer-use-skill-lifecycle-cleanup.test.ts +0 -217
- package/src/__tests__/computer-use-skill-manifest-regression.test.ts +0 -107
- package/src/__tests__/computer-use-skill-proxy-bridge.test.ts +0 -54
- package/src/__tests__/computer-use-tools.test.ts +0 -250
- package/src/__tests__/config-schema.test.ts +0 -1343
- package/src/__tests__/conflict-store.test.ts +0 -330
- package/src/__tests__/connection-policy.test.ts +0 -102
- package/src/__tests__/contacts-tools.test.ts +0 -331
- package/src/__tests__/context-memory-e2e.test.ts +0 -434
- package/src/__tests__/context-token-estimator.test.ts +0 -135
- package/src/__tests__/context-window-manager.test.ts +0 -376
- package/src/__tests__/contradiction-checker.test.ts +0 -216
- package/src/__tests__/conversation-store.test.ts +0 -612
- package/src/__tests__/credential-broker-browser-fill.test.ts +0 -517
- package/src/__tests__/credential-broker-server-use.test.ts +0 -554
- package/src/__tests__/credential-broker.test.ts +0 -167
- package/src/__tests__/credential-host-pattern-match.test.ts +0 -104
- package/src/__tests__/credential-metadata-store.test.ts +0 -779
- package/src/__tests__/credential-policy-validate.test.ts +0 -121
- package/src/__tests__/credential-resolve.test.ts +0 -328
- package/src/__tests__/credential-security-e2e.test.ts +0 -352
- package/src/__tests__/credential-security-invariants.test.ts +0 -567
- package/src/__tests__/credential-selection.test.ts +0 -354
- package/src/__tests__/credential-vault.test.ts +0 -852
- package/src/__tests__/daemon-assistant-events.test.ts +0 -164
- package/src/__tests__/daemon-server-session-init.test.ts +0 -522
- package/src/__tests__/date-context.test.ts +0 -373
- package/src/__tests__/db-schedule-syntax-migration.test.ts +0 -129
- package/src/__tests__/delete-managed-skill-tool.test.ts +0 -97
- package/src/__tests__/diff.test.ts +0 -121
- package/src/__tests__/domain-normalize.test.ts +0 -112
- package/src/__tests__/domain-policy.test.ts +0 -124
- package/src/__tests__/doordash-client.test.ts +0 -186
- package/src/__tests__/doordash-session.test.ts +0 -152
- package/src/__tests__/dynamic-page-surface.test.ts +0 -91
- package/src/__tests__/dynamic-skill-workflow-prompt.test.ts +0 -132
- package/src/__tests__/edit-engine.test.ts +0 -180
- package/src/__tests__/elevenlabs-client.test.ts +0 -209
- package/src/__tests__/email-cli.test.ts +0 -283
- package/src/__tests__/encrypted-store.test.ts +0 -332
- package/src/__tests__/entity-extractor.test.ts +0 -190
- package/src/__tests__/ephemeral-permissions.test.ts +0 -312
- package/src/__tests__/evaluate-typescript-tool.test.ts +0 -286
- package/src/__tests__/event-bus.test.ts +0 -222
- package/src/__tests__/file-edit-tool.test.ts +0 -122
- package/src/__tests__/file-ops-service.test.ts +0 -330
- package/src/__tests__/file-read-tool.test.ts +0 -75
- package/src/__tests__/file-write-tool.test.ts +0 -113
- package/src/__tests__/fixtures/credential-security-fixtures.ts +0 -181
- package/src/__tests__/fixtures/media-reuse-fixtures.ts +0 -126
- package/src/__tests__/fixtures/mock-signup-server.ts +0 -387
- package/src/__tests__/fixtures/proxy-fixtures.ts +0 -147
- package/src/__tests__/followup-tools.test.ts +0 -303
- package/src/__tests__/forbidden-legacy-symbols.test.ts +0 -71
- package/src/__tests__/fuzzy-match-property.test.ts +0 -216
- package/src/__tests__/fuzzy-match.test.ts +0 -138
- package/src/__tests__/gateway-only-enforcement.test.ts +0 -436
- package/src/__tests__/gemini-image-service.test.ts +0 -261
- package/src/__tests__/gemini-provider.test.ts +0 -651
- package/src/__tests__/get-weather.test.ts +0 -318
- package/src/__tests__/gmail-integration.test.ts +0 -73
- package/src/__tests__/handlers-cu-observation-blob.test.ts +0 -351
- package/src/__tests__/handlers-ipc-blob-probe.test.ts +0 -190
- package/src/__tests__/handlers-slack-config.test.ts +0 -199
- package/src/__tests__/handlers-task-submit-slash.test.ts +0 -38
- package/src/__tests__/handlers-twitter-config.test.ts +0 -718
- package/src/__tests__/headless-browser-interactions.test.ts +0 -536
- package/src/__tests__/headless-browser-navigate.test.ts +0 -211
- package/src/__tests__/headless-browser-read-tools.test.ts +0 -261
- package/src/__tests__/headless-browser-snapshot.test.ts +0 -185
- package/src/__tests__/history-repair-observability.test.ts +0 -56
- package/src/__tests__/history-repair.test.ts +0 -510
- package/src/__tests__/home-base-bootstrap.test.ts +0 -82
- package/src/__tests__/hooks-blocking.test.ts +0 -128
- package/src/__tests__/hooks-cli.test.ts +0 -144
- package/src/__tests__/hooks-config.test.ts +0 -93
- package/src/__tests__/hooks-discovery.test.ts +0 -199
- package/src/__tests__/hooks-integration.test.ts +0 -189
- package/src/__tests__/hooks-manager.test.ts +0 -187
- package/src/__tests__/hooks-runner.test.ts +0 -178
- package/src/__tests__/hooks-settings.test.ts +0 -154
- package/src/__tests__/hooks-templates.test.ts +0 -137
- package/src/__tests__/hooks-ts-runner.test.ts +0 -125
- package/src/__tests__/hooks-watch.test.ts +0 -100
- package/src/__tests__/host-file-edit-tool.test.ts +0 -104
- package/src/__tests__/host-file-read-tool.test.ts +0 -61
- package/src/__tests__/host-file-write-tool.test.ts +0 -77
- package/src/__tests__/host-shell-tool.test.ts +0 -311
- package/src/__tests__/ingress-url-consistency.test.ts +0 -214
- package/src/__tests__/intent-routing.test.ts +0 -259
- package/src/__tests__/ipc-blob-store.test.ts +0 -315
- package/src/__tests__/ipc-contract-inventory.test.ts +0 -54
- package/src/__tests__/ipc-contract.test.ts +0 -74
- package/src/__tests__/ipc-protocol.test.ts +0 -113
- package/src/__tests__/ipc-roundtrip.benchmark.test.ts +0 -237
- package/src/__tests__/ipc-snapshot.test.ts +0 -1698
- package/src/__tests__/ipc-validate.test.ts +0 -357
- package/src/__tests__/key-migration.test.ts +0 -183
- package/src/__tests__/keychain.test.ts +0 -258
- package/src/__tests__/llm-usage-store.test.ts +0 -221
- package/src/__tests__/managed-skill-lifecycle.test.ts +0 -257
- package/src/__tests__/managed-store.test.ts +0 -608
- package/src/__tests__/media-generate-image.test.ts +0 -238
- package/src/__tests__/media-reuse-story.e2e.test.ts +0 -676
- package/src/__tests__/media-visibility-policy.test.ts +0 -141
- package/src/__tests__/memory-context-benchmark.benchmark.test.ts +0 -235
- package/src/__tests__/memory-lifecycle-e2e.test.ts +0 -481
- package/src/__tests__/memory-query-builder.test.ts +0 -59
- package/src/__tests__/memory-recall-quality.test.ts +0 -846
- package/src/__tests__/memory-regressions.experimental.test.ts +0 -538
- package/src/__tests__/memory-regressions.test.ts +0 -4336
- package/src/__tests__/memory-retrieval-budget.test.ts +0 -49
- package/src/__tests__/memory-retrieval.benchmark.test.ts +0 -430
- package/src/__tests__/migration-cli-flows.test.ts +0 -169
- package/src/__tests__/migration-ordering.test.ts +0 -249
- package/src/__tests__/mock-signup-server.test.ts +0 -528
- package/src/__tests__/oauth-callback-registry.test.ts +0 -85
- package/src/__tests__/oauth2-gateway-transport.test.ts +0 -285
- package/src/__tests__/onboarding-starter-tasks.test.ts +0 -176
- package/src/__tests__/onboarding-template-contract.test.ts +0 -58
- package/src/__tests__/openai-provider.test.ts +0 -753
- package/src/__tests__/parallel-tool.benchmark.test.ts +0 -294
- package/src/__tests__/parser.test.ts +0 -472
- package/src/__tests__/path-classifier.test.ts +0 -73
- package/src/__tests__/path-policy.test.ts +0 -435
- package/src/__tests__/platform-move-helper.test.ts +0 -99
- package/src/__tests__/platform-socket-path.test.ts +0 -52
- package/src/__tests__/platform-workspace-migration.test.ts +0 -1000
- package/src/__tests__/platform.test.ts +0 -131
- package/src/__tests__/playbook-tools.test.ts +0 -342
- package/src/__tests__/prebuilt-home-base-seed.test.ts +0 -75
- package/src/__tests__/pricing.test.ts +0 -256
- package/src/__tests__/profile-compiler.test.ts +0 -374
- package/src/__tests__/provider-commit-message-generator.test.ts +0 -342
- package/src/__tests__/provider-registry-ollama.test.ts +0 -16
- package/src/__tests__/provider-streaming.benchmark.test.ts +0 -773
- package/src/__tests__/proxy-approval-callback.test.ts +0 -601
- package/src/__tests__/public-ingress-urls.test.ts +0 -222
- package/src/__tests__/ratelimit.test.ts +0 -297
- package/src/__tests__/recurrence-engine-rruleset.test.ts +0 -78
- package/src/__tests__/recurrence-engine.test.ts +0 -69
- package/src/__tests__/recurrence-types.test.ts +0 -71
- package/src/__tests__/registry.test.ts +0 -494
- package/src/__tests__/relay-server.test.ts +0 -688
- package/src/__tests__/reminder-store.test.ts +0 -223
- package/src/__tests__/reminder.test.ts +0 -229
- package/src/__tests__/request-file-tool.test.ts +0 -158
- package/src/__tests__/run-orchestrator-assistant-events.test.ts +0 -222
- package/src/__tests__/run-orchestrator.test.ts +0 -200
- package/src/__tests__/runtime-attachment-metadata.test.ts +0 -189
- package/src/__tests__/runtime-events-sse-parity.test.ts +0 -343
- package/src/__tests__/runtime-events-sse.test.ts +0 -162
- package/src/__tests__/runtime-runs-http.test.ts +0 -433
- package/src/__tests__/runtime-runs.test.ts +0 -273
- package/src/__tests__/sandbox-diagnostics.test.ts +0 -408
- package/src/__tests__/sandbox-host-parity.test.ts +0 -950
- package/src/__tests__/scaffold-managed-skill-tool.test.ts +0 -253
- package/src/__tests__/schedule-store.test.ts +0 -482
- package/src/__tests__/schedule-tools.test.ts +0 -700
- package/src/__tests__/scheduler-recurrence.test.ts +0 -329
- package/src/__tests__/script-proxy-certs.test.ts +0 -90
- package/src/__tests__/script-proxy-connect-tunnel.test.ts +0 -177
- package/src/__tests__/script-proxy-decision-trace.test.ts +0 -156
- package/src/__tests__/script-proxy-http-forwarder.test.ts +0 -281
- package/src/__tests__/script-proxy-injection-runtime.test.ts +0 -401
- package/src/__tests__/script-proxy-mitm-handler.test.ts +0 -407
- package/src/__tests__/script-proxy-policy-runtime.test.ts +0 -287
- package/src/__tests__/script-proxy-policy.test.ts +0 -310
- package/src/__tests__/script-proxy-rewrite-specificity.test.ts +0 -135
- package/src/__tests__/script-proxy-router.test.ts +0 -180
- package/src/__tests__/script-proxy-session-manager.test.ts +0 -382
- package/src/__tests__/script-proxy-session-runtime.test.ts +0 -113
- package/src/__tests__/secret-allowlist.test.ts +0 -229
- package/src/__tests__/secret-ingress-handler.test.ts +0 -99
- package/src/__tests__/secret-onetime-send.test.ts +0 -130
- package/src/__tests__/secret-prompt-log-hygiene.test.ts +0 -106
- package/src/__tests__/secret-response-routing.test.ts +0 -93
- package/src/__tests__/secret-scanner-executor.test.ts +0 -348
- package/src/__tests__/secret-scanner.test.ts +0 -857
- package/src/__tests__/secure-keys.test.ts +0 -323
- package/src/__tests__/server-history-render.test.ts +0 -431
- package/src/__tests__/session-abort-tool-results.test.ts +0 -240
- package/src/__tests__/session-conflict-gate.test.ts +0 -700
- package/src/__tests__/session-error.test.ts +0 -369
- package/src/__tests__/session-evictor.test.ts +0 -188
- package/src/__tests__/session-init.benchmark.test.ts +0 -462
- package/src/__tests__/session-load-history-repair.test.ts +0 -222
- package/src/__tests__/session-pre-run-repair.test.ts +0 -213
- package/src/__tests__/session-profile-injection.test.ts +0 -444
- package/src/__tests__/session-provider-retry-repair.test.ts +0 -306
- package/src/__tests__/session-queue.test.ts +0 -1535
- package/src/__tests__/session-runtime-assembly.test.ts +0 -476
- package/src/__tests__/session-runtime-workspace.test.ts +0 -183
- package/src/__tests__/session-skill-tools.test.ts +0 -2431
- package/src/__tests__/session-slash-known.test.ts +0 -368
- package/src/__tests__/session-slash-queue.test.ts +0 -288
- package/src/__tests__/session-slash-unknown.test.ts +0 -271
- package/src/__tests__/session-surfaces-task-progress.test.ts +0 -104
- package/src/__tests__/session-tool-setup-app-refresh.test.ts +0 -473
- package/src/__tests__/session-tool-setup-memory-scope.test.ts +0 -140
- package/src/__tests__/session-tool-setup-side-effect-flag.test.ts +0 -140
- package/src/__tests__/session-undo.test.ts +0 -75
- package/src/__tests__/session-workspace-cache-state.test.ts +0 -246
- package/src/__tests__/session-workspace-injection.test.ts +0 -327
- package/src/__tests__/session-workspace-tool-tracking.test.ts +0 -240
- package/src/__tests__/shared-filesystem-errors.test.ts +0 -78
- package/src/__tests__/shell-credential-ref.test.ts +0 -187
- package/src/__tests__/shell-parser-fuzz.test.ts +0 -544
- package/src/__tests__/shell-parser-property.test.ts +0 -433
- package/src/__tests__/shell-tool-proxy-mode.test.ts +0 -272
- package/src/__tests__/signup-e2e.test.ts +0 -353
- package/src/__tests__/size-guard.test.ts +0 -117
- package/src/__tests__/skill-include-graph.test.ts +0 -303
- package/src/__tests__/skill-load-tool.test.ts +0 -409
- package/src/__tests__/skill-projection.benchmark.test.ts +0 -328
- package/src/__tests__/skill-script-runner-host.test.ts +0 -489
- package/src/__tests__/skill-script-runner-sandbox.test.ts +0 -349
- package/src/__tests__/skill-script-runner.test.ts +0 -159
- package/src/__tests__/skill-tool-factory.test.ts +0 -252
- package/src/__tests__/skill-tool-manifest.test.ts +0 -658
- package/src/__tests__/skill-version-hash.test.ts +0 -182
- package/src/__tests__/skills.test.ts +0 -680
- package/src/__tests__/slash-commands-catalog.test.ts +0 -86
- package/src/__tests__/slash-commands-parser.test.ts +0 -119
- package/src/__tests__/slash-commands-resolver.test.ts +0 -193
- package/src/__tests__/slash-commands-rewrite.test.ts +0 -39
- package/src/__tests__/speaker-identification.test.ts +0 -52
- package/src/__tests__/starter-bundle.test.ts +0 -136
- package/src/__tests__/starter-task-flow.test.ts +0 -143
- package/src/__tests__/subagent-manager-notify.test.ts +0 -404
- package/src/__tests__/subagent-tools.test.ts +0 -218
- package/src/__tests__/subagent-types.test.ts +0 -78
- package/src/__tests__/swarm-orchestrator.test.ts +0 -428
- package/src/__tests__/swarm-plan-validator.test.ts +0 -330
- package/src/__tests__/swarm-recursion.test.ts +0 -165
- package/src/__tests__/swarm-router-planner.test.ts +0 -208
- package/src/__tests__/swarm-session-integration.test.ts +0 -274
- package/src/__tests__/swarm-tool.test.ts +0 -145
- package/src/__tests__/swarm-worker-backend.test.ts +0 -129
- package/src/__tests__/swarm-worker-runner.test.ts +0 -272
- package/src/__tests__/system-prompt.test.ts +0 -439
- package/src/__tests__/task-compiler.test.ts +0 -284
- package/src/__tests__/task-runner.test.ts +0 -216
- package/src/__tests__/task-scheduler.test.ts +0 -217
- package/src/__tests__/task-tools.test.ts +0 -595
- package/src/__tests__/terminal-sandbox-docker.test.ts +0 -1064
- package/src/__tests__/terminal-sandbox.integration.test.ts +0 -178
- package/src/__tests__/terminal-sandbox.test.ts +0 -202
- package/src/__tests__/test-support/browser-skill-harness.ts +0 -90
- package/src/__tests__/test-support/computer-use-skill-harness.ts +0 -45
- package/src/__tests__/tool-audit-listener.test.ts +0 -113
- package/src/__tests__/tool-domain-event-publisher.test.ts +0 -253
- package/src/__tests__/tool-execution-pipeline.benchmark.test.ts +0 -500
- package/src/__tests__/tool-executor-lifecycle-events.test.ts +0 -516
- package/src/__tests__/tool-executor-redaction.test.ts +0 -289
- package/src/__tests__/tool-executor.test.ts +0 -2055
- package/src/__tests__/tool-metrics-listener.test.ts +0 -225
- package/src/__tests__/tool-notification-listener.test.ts +0 -49
- package/src/__tests__/tool-policy.test.ts +0 -54
- package/src/__tests__/tool-profiling-listener.test.ts +0 -268
- package/src/__tests__/tool-result-truncation.test.ts +0 -217
- package/src/__tests__/tool-trace-listener.test.ts +0 -226
- package/src/__tests__/top-level-renderer.test.ts +0 -121
- package/src/__tests__/top-level-scanner.test.ts +0 -141
- package/src/__tests__/trace-emitter.test.ts +0 -173
- package/src/__tests__/trust-store.test.ts +0 -2031
- package/src/__tests__/turn-commit.test.ts +0 -554
- package/src/__tests__/twilio-provider.test.ts +0 -179
- package/src/__tests__/twilio-routes-twiml.test.ts +0 -127
- package/src/__tests__/twilio-routes.test.ts +0 -822
- package/src/__tests__/twitter-auth-handler.test.ts +0 -666
- package/src/__tests__/url-safety.test.ts +0 -418
- package/src/__tests__/view-image-tool.test.ts +0 -217
- package/src/__tests__/weather-skill-regression.test.ts +0 -225
- package/src/__tests__/web-fetch.test.ts +0 -869
- package/src/__tests__/web-search.test.ts +0 -584
- package/src/__tests__/workspace-git-service.test.ts +0 -1153
- package/src/__tests__/workspace-heartbeat-service.test.ts +0 -486
- package/src/__tests__/workspace-lifecycle.test.ts +0 -292
- package/src/agent/attachments.ts +0 -35
- package/src/agent/loop.ts +0 -500
- package/src/agent/message-types.ts +0 -17
- package/src/agent-heartbeat/agent-heartbeat-service.ts +0 -155
- package/src/autonomy/autonomy-resolver.ts +0 -60
- package/src/autonomy/autonomy-store.ts +0 -122
- package/src/autonomy/disposition-mapper.ts +0 -31
- package/src/autonomy/index.ts +0 -11
- package/src/autonomy/types.ts +0 -39
- package/src/bundler/app-bundler.ts +0 -295
- package/src/bundler/bundle-scanner.ts +0 -535
- package/src/bundler/bundle-signer.ts +0 -124
- package/src/bundler/manifest.ts +0 -21
- package/src/bundler/signature-verifier.ts +0 -184
- package/src/calls/call-bridge.ts +0 -95
- package/src/calls/call-constants.ts +0 -48
- package/src/calls/call-domain.ts +0 -278
- package/src/calls/call-orchestrator.ts +0 -412
- package/src/calls/call-recovery.ts +0 -207
- package/src/calls/call-state-machine.ts +0 -68
- package/src/calls/call-state.ts +0 -87
- package/src/calls/call-store.ts +0 -416
- package/src/calls/elevenlabs-client.ts +0 -89
- package/src/calls/elevenlabs-config.ts +0 -29
- package/src/calls/relay-server.ts +0 -390
- package/src/calls/speaker-identification.ts +0 -213
- package/src/calls/twilio-config.ts +0 -45
- package/src/calls/twilio-provider.ts +0 -178
- package/src/calls/twilio-routes.ts +0 -316
- package/src/calls/types.ts +0 -37
- package/src/calls/voice-provider.ts +0 -14
- package/src/calls/voice-quality.ts +0 -92
- package/src/cli/autonomy.ts +0 -188
- package/src/cli/config-commands.ts +0 -334
- package/src/cli/contacts.ts +0 -149
- package/src/cli/core-commands.ts +0 -784
- package/src/cli/doordash.ts +0 -1055
- package/src/cli/email-guardrails.ts +0 -200
- package/src/cli/email.ts +0 -405
- package/src/cli/ipc-client.ts +0 -82
- package/src/cli/main-screen.tsx +0 -53
- package/src/cli/map.ts +0 -270
- package/src/cli/twitter.ts +0 -575
- package/src/cli.ts +0 -937
- package/src/commands/__tests__/cc-command-registry.test.ts +0 -319
- package/src/commands/cc-command-registry.ts +0 -209
- package/src/config/bundled-skills/.gitkeep +0 -0
- package/src/config/bundled-skills/agentmail/SKILL.md +0 -128
- package/src/config/bundled-skills/agentmail/icon.svg +0 -21
- package/src/config/bundled-skills/app-builder/SKILL.md +0 -1404
- package/src/config/bundled-skills/app-builder/TOOLS.json +0 -279
- package/src/config/bundled-skills/app-builder/icon.svg +0 -9
- package/src/config/bundled-skills/app-builder/tools/app-create.ts +0 -15
- package/src/config/bundled-skills/app-builder/tools/app-delete.ts +0 -10
- package/src/config/bundled-skills/app-builder/tools/app-file-edit.ts +0 -11
- package/src/config/bundled-skills/app-builder/tools/app-file-list.ts +0 -10
- package/src/config/bundled-skills/app-builder/tools/app-file-read.ts +0 -18
- package/src/config/bundled-skills/app-builder/tools/app-file-write.ts +0 -11
- package/src/config/bundled-skills/app-builder/tools/app-list.ts +0 -10
- package/src/config/bundled-skills/app-builder/tools/app-query.ts +0 -10
- package/src/config/bundled-skills/app-builder/tools/app-update.ts +0 -20
- package/src/config/bundled-skills/browser/SKILL.md +0 -28
- package/src/config/bundled-skills/browser/TOOLS.json +0 -234
- package/src/config/bundled-skills/browser/tools/browser-click.ts +0 -9
- package/src/config/bundled-skills/browser/tools/browser-close.ts +0 -9
- package/src/config/bundled-skills/browser/tools/browser-extract.ts +0 -9
- package/src/config/bundled-skills/browser/tools/browser-fill-credential.ts +0 -9
- package/src/config/bundled-skills/browser/tools/browser-navigate.ts +0 -9
- package/src/config/bundled-skills/browser/tools/browser-press-key.ts +0 -9
- package/src/config/bundled-skills/browser/tools/browser-screenshot.ts +0 -9
- package/src/config/bundled-skills/browser/tools/browser-snapshot.ts +0 -9
- package/src/config/bundled-skills/browser/tools/browser-type.ts +0 -9
- package/src/config/bundled-skills/browser/tools/browser-wait-for.ts +0 -9
- package/src/config/bundled-skills/claude-code/SKILL.md +0 -50
- package/src/config/bundled-skills/claude-code/TOOLS.json +0 -40
- package/src/config/bundled-skills/claude-code/tools/claude-code.ts +0 -9
- package/src/config/bundled-skills/computer-use/SKILL.md +0 -17
- package/src/config/bundled-skills/computer-use/TOOLS.json +0 -326
- package/src/config/bundled-skills/computer-use/tools/computer-use-click.ts +0 -9
- package/src/config/bundled-skills/computer-use/tools/computer-use-done.ts +0 -9
- package/src/config/bundled-skills/computer-use/tools/computer-use-double-click.ts +0 -9
- package/src/config/bundled-skills/computer-use/tools/computer-use-drag.ts +0 -9
- package/src/config/bundled-skills/computer-use/tools/computer-use-key.ts +0 -9
- package/src/config/bundled-skills/computer-use/tools/computer-use-open-app.ts +0 -9
- package/src/config/bundled-skills/computer-use/tools/computer-use-request-control.ts +0 -9
- package/src/config/bundled-skills/computer-use/tools/computer-use-respond.ts +0 -9
- package/src/config/bundled-skills/computer-use/tools/computer-use-right-click.ts +0 -9
- package/src/config/bundled-skills/computer-use/tools/computer-use-run-applescript.ts +0 -9
- package/src/config/bundled-skills/computer-use/tools/computer-use-scroll.ts +0 -9
- package/src/config/bundled-skills/computer-use/tools/computer-use-type-text.ts +0 -9
- package/src/config/bundled-skills/computer-use/tools/computer-use-wait.ts +0 -9
- package/src/config/bundled-skills/contacts/SKILL.md +0 -39
- package/src/config/bundled-skills/contacts/TOOLS.json +0 -122
- package/src/config/bundled-skills/contacts/tools/contact-merge.ts +0 -9
- package/src/config/bundled-skills/contacts/tools/contact-search.ts +0 -9
- package/src/config/bundled-skills/contacts/tools/contact-upsert.ts +0 -9
- package/src/config/bundled-skills/document/SKILL.md +0 -26
- package/src/config/bundled-skills/document/TOOLS.json +0 -53
- package/src/config/bundled-skills/document/tools/document-create.ts +0 -9
- package/src/config/bundled-skills/document/tools/document-update.ts +0 -9
- package/src/config/bundled-skills/doordash/SKILL.md +0 -163
- package/src/config/bundled-skills/followups/SKILL.md +0 -32
- package/src/config/bundled-skills/followups/TOOLS.json +0 -100
- package/src/config/bundled-skills/followups/icon.svg +0 -24
- package/src/config/bundled-skills/followups/tools/followup-create.ts +0 -9
- package/src/config/bundled-skills/followups/tools/followup-list.ts +0 -9
- package/src/config/bundled-skills/followups/tools/followup-resolve.ts +0 -9
- package/src/config/bundled-skills/google-calendar/SKILL.md +0 -51
- package/src/config/bundled-skills/google-calendar/TOOLS.json +0 -108
- package/src/config/bundled-skills/google-calendar/calendar-client.ts +0 -165
- package/src/config/bundled-skills/google-calendar/tools/calendar-check-availability.ts +0 -21
- package/src/config/bundled-skills/google-calendar/tools/calendar-create-event.ts +0 -42
- package/src/config/bundled-skills/google-calendar/tools/calendar-get-event.ts +0 -13
- package/src/config/bundled-skills/google-calendar/tools/calendar-list-events.ts +0 -30
- package/src/config/bundled-skills/google-calendar/tools/calendar-rsvp.ts +0 -41
- package/src/config/bundled-skills/google-calendar/tools/shared.ts +0 -18
- package/src/config/bundled-skills/google-calendar/types.ts +0 -97
- package/src/config/bundled-skills/image-studio/SKILL.md +0 -32
- package/src/config/bundled-skills/image-studio/TOOLS.json +0 -42
- package/src/config/bundled-skills/image-studio/tools/media-generate-image.ts +0 -115
- package/src/config/bundled-skills/macos-automation/SKILL.md +0 -66
- package/src/config/bundled-skills/messaging/SKILL.md +0 -130
- package/src/config/bundled-skills/messaging/TOOLS.json +0 -357
- package/src/config/bundled-skills/messaging/tools/gmail-archive.ts +0 -23
- package/src/config/bundled-skills/messaging/tools/gmail-batch-archive.ts +0 -23
- package/src/config/bundled-skills/messaging/tools/gmail-batch-label.ts +0 -25
- package/src/config/bundled-skills/messaging/tools/gmail-draft.ts +0 -26
- package/src/config/bundled-skills/messaging/tools/gmail-label.ts +0 -25
- package/src/config/bundled-skills/messaging/tools/gmail-trash.ts +0 -23
- package/src/config/bundled-skills/messaging/tools/gmail-unsubscribe.ts +0 -84
- package/src/config/bundled-skills/messaging/tools/messaging-analyze-activity.ts +0 -18
- package/src/config/bundled-skills/messaging/tools/messaging-analyze-style.ts +0 -125
- package/src/config/bundled-skills/messaging/tools/messaging-auth-test.ts +0 -16
- package/src/config/bundled-skills/messaging/tools/messaging-draft.ts +0 -49
- package/src/config/bundled-skills/messaging/tools/messaging-list-conversations.ts +0 -21
- package/src/config/bundled-skills/messaging/tools/messaging-mark-read.ts +0 -25
- package/src/config/bundled-skills/messaging/tools/messaging-read.ts +0 -28
- package/src/config/bundled-skills/messaging/tools/messaging-reply.ts +0 -29
- package/src/config/bundled-skills/messaging/tools/messaging-search.ts +0 -22
- package/src/config/bundled-skills/messaging/tools/messaging-send.ts +0 -27
- package/src/config/bundled-skills/messaging/tools/shared.ts +0 -71
- package/src/config/bundled-skills/messaging/tools/slack-add-reaction.ts +0 -25
- package/src/config/bundled-skills/messaging/tools/slack-leave-channel.ts +0 -23
- package/src/config/bundled-skills/phone-calls/SKILL.md +0 -414
- package/src/config/bundled-skills/playbooks/SKILL.md +0 -31
- package/src/config/bundled-skills/playbooks/TOOLS.json +0 -126
- package/src/config/bundled-skills/playbooks/tools/playbook-create.ts +0 -9
- package/src/config/bundled-skills/playbooks/tools/playbook-delete.ts +0 -9
- package/src/config/bundled-skills/playbooks/tools/playbook-list.ts +0 -9
- package/src/config/bundled-skills/playbooks/tools/playbook-update.ts +0 -9
- package/src/config/bundled-skills/public-ingress/SKILL.md +0 -183
- package/src/config/bundled-skills/reminder/SKILL.md +0 -20
- package/src/config/bundled-skills/reminder/TOOLS.json +0 -67
- package/src/config/bundled-skills/reminder/tools/reminder-cancel.ts +0 -9
- package/src/config/bundled-skills/reminder/tools/reminder-create.ts +0 -9
- package/src/config/bundled-skills/reminder/tools/reminder-list.ts +0 -9
- package/src/config/bundled-skills/schedule/SKILL.md +0 -74
- package/src/config/bundled-skills/schedule/TOOLS.json +0 -135
- package/src/config/bundled-skills/schedule/tools/schedule-create.ts +0 -9
- package/src/config/bundled-skills/schedule/tools/schedule-delete.ts +0 -9
- package/src/config/bundled-skills/schedule/tools/schedule-list.ts +0 -9
- package/src/config/bundled-skills/schedule/tools/schedule-update.ts +0 -9
- package/src/config/bundled-skills/self-upgrade/SKILL.md +0 -68
- package/src/config/bundled-skills/start-the-day/SKILL.md +0 -70
- package/src/config/bundled-skills/start-the-day/icon.svg +0 -13
- package/src/config/bundled-skills/subagent/SKILL.md +0 -25
- package/src/config/bundled-skills/subagent/TOOLS.json +0 -107
- package/src/config/bundled-skills/subagent/tools/subagent-abort.ts +0 -9
- package/src/config/bundled-skills/subagent/tools/subagent-message.ts +0 -9
- package/src/config/bundled-skills/subagent/tools/subagent-read.ts +0 -9
- package/src/config/bundled-skills/subagent/tools/subagent-spawn.ts +0 -9
- package/src/config/bundled-skills/subagent/tools/subagent-status.ts +0 -9
- package/src/config/bundled-skills/tasks/SKILL.md +0 -28
- package/src/config/bundled-skills/tasks/TOOLS.json +0 -281
- package/src/config/bundled-skills/tasks/tools/task-delete.ts +0 -9
- package/src/config/bundled-skills/tasks/tools/task-list-add.ts +0 -9
- package/src/config/bundled-skills/tasks/tools/task-list-remove.ts +0 -9
- package/src/config/bundled-skills/tasks/tools/task-list-show.ts +0 -9
- package/src/config/bundled-skills/tasks/tools/task-list-update.ts +0 -9
- package/src/config/bundled-skills/tasks/tools/task-list.ts +0 -9
- package/src/config/bundled-skills/tasks/tools/task-queue-run.ts +0 -9
- package/src/config/bundled-skills/tasks/tools/task-run.ts +0 -9
- package/src/config/bundled-skills/tasks/tools/task-save.ts +0 -9
- package/src/config/bundled-skills/transcribe/SKILL.md +0 -25
- package/src/config/bundled-skills/transcribe/TOOLS.json +0 -32
- package/src/config/bundled-skills/transcribe/tools/transcribe-media.ts +0 -370
- package/src/config/bundled-skills/twitter/SKILL.md +0 -134
- package/src/config/bundled-skills/watcher/SKILL.md +0 -27
- package/src/config/bundled-skills/watcher/TOOLS.json +0 -147
- package/src/config/bundled-skills/watcher/tools/watcher-create.ts +0 -9
- package/src/config/bundled-skills/watcher/tools/watcher-delete.ts +0 -9
- package/src/config/bundled-skills/watcher/tools/watcher-digest.ts +0 -9
- package/src/config/bundled-skills/watcher/tools/watcher-list.ts +0 -9
- package/src/config/bundled-skills/watcher/tools/watcher-update.ts +0 -9
- package/src/config/bundled-skills/weather/SKILL.md +0 -37
- package/src/config/bundled-skills/weather/TOOLS.json +0 -32
- package/src/config/bundled-skills/weather/icon.svg +0 -24
- package/src/config/bundled-skills/weather/tools/get-weather.ts +0 -9
- package/src/config/computer-use-prompt.ts +0 -97
- package/src/config/defaults.ts +0 -252
- package/src/config/loader.ts +0 -339
- package/src/config/schema.ts +0 -1356
- package/src/config/skill-state.ts +0 -95
- package/src/config/skills.ts +0 -972
- package/src/config/system-prompt.ts +0 -675
- package/src/config/templates/BOOTSTRAP.md +0 -70
- package/src/config/templates/IDENTITY.md +0 -25
- package/src/config/templates/LOOKS.md +0 -25
- package/src/config/templates/SOUL.md +0 -37
- package/src/config/templates/USER.md +0 -19
- package/src/config/types.ts +0 -40
- package/src/config/vellum-skills/deploy-fullstack-vercel/SKILL.md +0 -179
- package/src/config/vellum-skills/document-writer/SKILL.md +0 -195
- package/src/config/vellum-skills/google-oauth-setup/SKILL.md +0 -199
- package/src/config/vellum-skills/slack-oauth-setup/SKILL.md +0 -153
- package/src/config/vellum-skills/telegram-setup/SKILL.md +0 -102
- package/src/contacts/contact-store.ts +0 -410
- package/src/contacts/index.ts +0 -11
- package/src/contacts/types.ts +0 -28
- package/src/context/token-estimator.ts +0 -108
- package/src/context/tool-result-truncation.ts +0 -128
- package/src/context/window-manager.ts +0 -531
- package/src/daemon/assistant-attachments.ts +0 -689
- package/src/daemon/classifier.ts +0 -110
- package/src/daemon/computer-use-session.ts +0 -903
- package/src/daemon/connection-policy.ts +0 -41
- package/src/daemon/date-context.ts +0 -136
- package/src/daemon/handlers/apps.ts +0 -461
- package/src/daemon/handlers/browser.ts +0 -54
- package/src/daemon/handlers/computer-use.ts +0 -187
- package/src/daemon/handlers/config.ts +0 -707
- package/src/daemon/handlers/diagnostics.ts +0 -338
- package/src/daemon/handlers/documents.ts +0 -173
- package/src/daemon/handlers/home-base.ts +0 -78
- package/src/daemon/handlers/identity.ts +0 -127
- package/src/daemon/handlers/index.ts +0 -128
- package/src/daemon/handlers/misc.ts +0 -331
- package/src/daemon/handlers/open-bundle-handler.ts +0 -80
- package/src/daemon/handlers/publish.ts +0 -187
- package/src/daemon/handlers/sessions.ts +0 -539
- package/src/daemon/handlers/shared.ts +0 -569
- package/src/daemon/handlers/signing.ts +0 -37
- package/src/daemon/handlers/skills.ts +0 -501
- package/src/daemon/handlers/subagents.ts +0 -210
- package/src/daemon/handlers/twitter-auth.ts +0 -198
- package/src/daemon/handlers/work-items.ts +0 -632
- package/src/daemon/handlers/workspace-files.ts +0 -75
- package/src/daemon/handlers.ts +0 -17
- package/src/daemon/history-repair.ts +0 -214
- package/src/daemon/ipc-blob-store.ts +0 -231
- package/src/daemon/ipc-contract-inventory.json +0 -463
- package/src/daemon/ipc-contract-inventory.ts +0 -126
- package/src/daemon/ipc-contract.ts +0 -2352
- package/src/daemon/ipc-protocol.ts +0 -75
- package/src/daemon/ipc-validate.ts +0 -171
- package/src/daemon/lifecycle.ts +0 -580
- package/src/daemon/main.ts +0 -21
- package/src/daemon/media-visibility-policy.ts +0 -57
- package/src/daemon/ride-shotgun-handler.ts +0 -309
- package/src/daemon/server.ts +0 -1207
- package/src/daemon/session-agent-loop.ts +0 -922
- package/src/daemon/session-attachments.ts +0 -196
- package/src/daemon/session-conflict-gate.ts +0 -128
- package/src/daemon/session-dynamic-profile.ts +0 -63
- package/src/daemon/session-error.ts +0 -290
- package/src/daemon/session-evictor.ts +0 -196
- package/src/daemon/session-history.ts +0 -437
- package/src/daemon/session-lifecycle.ts +0 -147
- package/src/daemon/session-media-retry.ts +0 -147
- package/src/daemon/session-memory.ts +0 -212
- package/src/daemon/session-messaging.ts +0 -145
- package/src/daemon/session-notifiers.ts +0 -193
- package/src/daemon/session-process.ts +0 -264
- package/src/daemon/session-queue-manager.ts +0 -82
- package/src/daemon/session-runtime-assembly.ts +0 -447
- package/src/daemon/session-skill-tools.ts +0 -356
- package/src/daemon/session-slash.ts +0 -305
- package/src/daemon/session-surfaces.ts +0 -702
- package/src/daemon/session-tool-setup.ts +0 -524
- package/src/daemon/session-usage.ts +0 -72
- package/src/daemon/session-workspace.ts +0 -19
- package/src/daemon/session.ts +0 -400
- package/src/daemon/trace-emitter.ts +0 -82
- package/src/daemon/video-thumbnail.ts +0 -60
- package/src/daemon/watch-handler.ts +0 -274
- package/src/doordash/client.ts +0 -999
- package/src/doordash/queries.ts +0 -1311
- package/src/doordash/query-extractor.ts +0 -93
- package/src/doordash/session.ts +0 -82
- package/src/email/provider.ts +0 -117
- package/src/email/providers/agentmail.ts +0 -317
- package/src/email/providers/index.ts +0 -58
- package/src/email/service.ts +0 -303
- package/src/email/types.ts +0 -126
- package/src/events/bus.ts +0 -157
- package/src/events/domain-events.ts +0 -83
- package/src/events/index.ts +0 -18
- package/src/events/tool-audit-listener.ts +0 -80
- package/src/events/tool-domain-event-publisher.ts +0 -111
- package/src/events/tool-metrics-listener.ts +0 -159
- package/src/events/tool-notification-listener.ts +0 -17
- package/src/events/tool-profiling-listener.ts +0 -158
- package/src/events/tool-trace-listener.ts +0 -75
- package/src/export/formatter.ts +0 -98
- package/src/followups/followup-store.ts +0 -168
- package/src/followups/index.ts +0 -10
- package/src/followups/types.ts +0 -29
- package/src/gallery/default-gallery.ts +0 -795
- package/src/gallery/gallery-manifest.ts +0 -24
- package/src/home-base/app-link-store.ts +0 -82
- package/src/home-base/bootstrap.ts +0 -68
- package/src/home-base/prebuilt/index.html +0 -662
- package/src/home-base/prebuilt/seed-metadata.json +0 -21
- package/src/home-base/prebuilt/seed.ts +0 -112
- package/src/home-base/prebuilt-home-base-updater.ts +0 -30
- package/src/hooks/cli.ts +0 -163
- package/src/hooks/config.ts +0 -88
- package/src/hooks/discovery.ts +0 -110
- package/src/hooks/manager.ts +0 -128
- package/src/hooks/runner.ts +0 -123
- package/src/hooks/templates.ts +0 -52
- package/src/hooks/types.ts +0 -72
- package/src/inbound/public-ingress-urls.ts +0 -123
- package/src/index.ts +0 -75
- package/src/instrument.ts +0 -60
- package/src/logfire.ts +0 -99
- package/src/media/gemini-image-service.ts +0 -136
- package/src/memory/account-store.ts +0 -108
- package/src/memory/admin.ts +0 -211
- package/src/memory/app-store.ts +0 -556
- package/src/memory/attachments-store.ts +0 -397
- package/src/memory/channel-delivery-store.ts +0 -353
- package/src/memory/checkpoints.ts +0 -52
- package/src/memory/clarification-resolver.ts +0 -298
- package/src/memory/conflict-intent.ts +0 -114
- package/src/memory/conflict-store.ts +0 -342
- package/src/memory/contradiction-checker.ts +0 -330
- package/src/memory/conversation-key-store.ts +0 -107
- package/src/memory/conversation-store.ts +0 -470
- package/src/memory/db.ts +0 -1825
- package/src/memory/embedding-backend.ts +0 -229
- package/src/memory/embedding-gemini.ts +0 -52
- package/src/memory/embedding-local.ts +0 -75
- package/src/memory/embedding-ollama.ts +0 -55
- package/src/memory/embedding-openai.ts +0 -25
- package/src/memory/entity-extractor.ts +0 -474
- package/src/memory/fingerprint.ts +0 -20
- package/src/memory/indexer.ts +0 -156
- package/src/memory/items-extractor.ts +0 -461
- package/src/memory/job-handlers/backfill.ts +0 -139
- package/src/memory/job-handlers/cleanup.ts +0 -58
- package/src/memory/job-handlers/conflict.ts +0 -121
- package/src/memory/job-handlers/embedding.ts +0 -61
- package/src/memory/job-handlers/extraction.ts +0 -123
- package/src/memory/job-handlers/index-maintenance.ts +0 -54
- package/src/memory/job-handlers/summarization.ts +0 -286
- package/src/memory/job-utils.ts +0 -170
- package/src/memory/jobs-store.ts +0 -401
- package/src/memory/jobs-worker.ts +0 -274
- package/src/memory/llm-request-log-store.ts +0 -45
- package/src/memory/llm-usage-store.ts +0 -60
- package/src/memory/message-content.ts +0 -54
- package/src/memory/profile-compiler.ts +0 -160
- package/src/memory/published-pages-store.ts +0 -137
- package/src/memory/qdrant-client.ts +0 -366
- package/src/memory/qdrant-manager.ts +0 -242
- package/src/memory/query-builder.ts +0 -45
- package/src/memory/retrieval-budget.ts +0 -30
- package/src/memory/retriever.ts +0 -653
- package/src/memory/runs-store.ts +0 -255
- package/src/memory/schema.ts +0 -588
- package/src/memory/search/entity.ts +0 -298
- package/src/memory/search/formatting.ts +0 -207
- package/src/memory/search/lexical.ts +0 -227
- package/src/memory/search/ranking.ts +0 -401
- package/src/memory/search/semantic.ts +0 -121
- package/src/memory/search/types.ts +0 -137
- package/src/memory/segmenter.ts +0 -68
- package/src/memory/shared-app-links-store.ts +0 -138
- package/src/memory/tool-usage-store.ts +0 -62
- package/src/messaging/activity-analyzer.ts +0 -76
- package/src/messaging/draft-store.ts +0 -88
- package/src/messaging/index.ts +0 -3
- package/src/messaging/provider-types.ts +0 -80
- package/src/messaging/provider.ts +0 -43
- package/src/messaging/providers/gmail/adapter.ts +0 -193
- package/src/messaging/providers/gmail/client.ts +0 -204
- package/src/messaging/providers/gmail/types.ts +0 -90
- package/src/messaging/providers/slack/adapter.ts +0 -202
- package/src/messaging/providers/slack/client.ts +0 -198
- package/src/messaging/providers/slack/types.ts +0 -119
- package/src/messaging/registry.ts +0 -34
- package/src/messaging/style-analyzer.ts +0 -159
- package/src/messaging/thread-summarizer.ts +0 -306
- package/src/messaging/triage-engine.ts +0 -323
- package/src/messaging/types.ts +0 -55
- package/src/permissions/checker.ts +0 -636
- package/src/permissions/defaults.ts +0 -254
- package/src/permissions/prompter.ts +0 -102
- package/src/permissions/secret-prompter.ts +0 -114
- package/src/permissions/trust-store.ts +0 -584
- package/src/permissions/types.ts +0 -62
- package/src/playbooks/index.ts +0 -2
- package/src/playbooks/playbook-compiler.ts +0 -90
- package/src/playbooks/types.ts +0 -55
- package/src/providers/anthropic/client.ts +0 -751
- package/src/providers/failover.ts +0 -129
- package/src/providers/fireworks/client.ts +0 -20
- package/src/providers/gemini/client.ts +0 -285
- package/src/providers/ollama/client.ts +0 -30
- package/src/providers/openai/client.ts +0 -337
- package/src/providers/openrouter/client.ts +0 -20
- package/src/providers/ratelimit.ts +0 -93
- package/src/providers/registry.ts +0 -146
- package/src/providers/retry.ts +0 -106
- package/src/providers/stream-timeout.ts +0 -38
- package/src/providers/types.ts +0 -109
- package/src/runtime/assistant-event-hub.ts +0 -120
- package/src/runtime/assistant-event.ts +0 -82
- package/src/runtime/gateway-client.ts +0 -42
- package/src/runtime/http-server.ts +0 -1056
- package/src/runtime/http-types.ts +0 -66
- package/src/runtime/routes/app-routes.ts +0 -174
- package/src/runtime/routes/attachment-routes.ts +0 -133
- package/src/runtime/routes/call-routes.ts +0 -140
- package/src/runtime/routes/channel-routes.ts +0 -382
- package/src/runtime/routes/conversation-routes.ts +0 -352
- package/src/runtime/routes/events-routes.ts +0 -79
- package/src/runtime/routes/run-routes.ts +0 -262
- package/src/runtime/routes/secret-routes.ts +0 -76
- package/src/runtime/run-orchestrator.ts +0 -296
- package/src/schedule/recurrence-engine.ts +0 -138
- package/src/schedule/recurrence-types.ts +0 -67
- package/src/schedule/schedule-store.ts +0 -497
- package/src/schedule/scheduler.ts +0 -171
- package/src/security/encrypted-store.ts +0 -238
- package/src/security/keychain.ts +0 -252
- package/src/security/oauth-callback-registry.ts +0 -66
- package/src/security/oauth2.ts +0 -274
- package/src/security/redaction.ts +0 -89
- package/src/security/secret-allowlist.ts +0 -164
- package/src/security/secret-ingress.ts +0 -57
- package/src/security/secret-scanner.ts +0 -543
- package/src/security/secure-keys.ts +0 -180
- package/src/security/token-manager.ts +0 -141
- package/src/services/published-app-updater.ts +0 -69
- package/src/services/vercel-deploy.ts +0 -73
- package/src/skills/active-skill-tools.ts +0 -81
- package/src/skills/clawhub.ts +0 -414
- package/src/skills/include-graph.ts +0 -146
- package/src/skills/managed-store.ts +0 -233
- package/src/skills/path-classifier.ts +0 -128
- package/src/skills/slash-commands.ts +0 -174
- package/src/skills/tool-manifest.ts +0 -165
- package/src/skills/version-hash.ts +0 -110
- package/src/slack/slack-webhook.ts +0 -61
- package/src/subagent/index.ts +0 -19
- package/src/subagent/manager.ts +0 -511
- package/src/subagent/types.ts +0 -69
- package/src/swarm/backend-claude-code.ts +0 -145
- package/src/swarm/index.ts +0 -44
- package/src/swarm/limits.ts +0 -37
- package/src/swarm/orchestrator.ts +0 -279
- package/src/swarm/plan-validator.ts +0 -151
- package/src/swarm/router-planner.ts +0 -100
- package/src/swarm/router-prompts.ts +0 -36
- package/src/swarm/synthesizer.ts +0 -62
- package/src/swarm/types.ts +0 -62
- package/src/swarm/worker-backend.ts +0 -121
- package/src/swarm/worker-prompts.ts +0 -79
- package/src/swarm/worker-runner.ts +0 -164
- package/src/tasks/SPEC.md +0 -139
- package/src/tasks/candidate-store.ts +0 -86
- package/src/tasks/ephemeral-permissions.ts +0 -50
- package/src/tasks/task-compiler.ts +0 -199
- package/src/tasks/task-runner.ts +0 -90
- package/src/tasks/task-scheduler.ts +0 -20
- package/src/tasks/task-store.ts +0 -127
- package/src/tasks/tool-sanitizer.ts +0 -36
- package/src/tools/apps/definitions.ts +0 -59
- package/src/tools/apps/executors.ts +0 -313
- package/src/tools/apps/open-proxy.ts +0 -43
- package/src/tools/apps/registry.ts +0 -16
- package/src/tools/assets/materialize.ts +0 -218
- package/src/tools/assets/search.ts +0 -361
- package/src/tools/browser/__tests__/auth-cache.test.ts +0 -219
- package/src/tools/browser/__tests__/auth-detector.test.ts +0 -362
- package/src/tools/browser/__tests__/jit-auth.test.ts +0 -189
- package/src/tools/browser/api-map.ts +0 -293
- package/src/tools/browser/auth-cache.ts +0 -149
- package/src/tools/browser/auth-detector.ts +0 -347
- package/src/tools/browser/auto-navigate.ts +0 -270
- package/src/tools/browser/browser-execution.ts +0 -980
- package/src/tools/browser/browser-handoff.ts +0 -79
- package/src/tools/browser/browser-manager.ts +0 -715
- package/src/tools/browser/browser-screencast.ts +0 -217
- package/src/tools/browser/headless-browser.ts +0 -450
- package/src/tools/browser/jit-auth.ts +0 -51
- package/src/tools/browser/network-recorder.ts +0 -349
- package/src/tools/browser/network-recording-types.ts +0 -49
- package/src/tools/browser/recording-store.ts +0 -49
- package/src/tools/browser/runtime-check.ts +0 -43
- package/src/tools/browser/x-auto-navigate.ts +0 -207
- package/src/tools/calls/call-end.ts +0 -67
- package/src/tools/calls/call-start.ts +0 -73
- package/src/tools/calls/call-status.ts +0 -81
- package/src/tools/claude-code/claude-code.ts +0 -428
- package/src/tools/computer-use/definitions.ts +0 -443
- package/src/tools/computer-use/registry.ts +0 -22
- package/src/tools/computer-use/request-computer-control.ts +0 -53
- package/src/tools/computer-use/skill-proxy-bridge.ts +0 -28
- package/src/tools/contacts/contact-merge.ts +0 -55
- package/src/tools/contacts/contact-search.ts +0 -58
- package/src/tools/contacts/contact-upsert.ts +0 -64
- package/src/tools/credentials/account-registry.ts +0 -127
- package/src/tools/credentials/broker-types.ts +0 -107
- package/src/tools/credentials/broker.ts +0 -372
- package/src/tools/credentials/domain-policy.ts +0 -51
- package/src/tools/credentials/host-pattern-match.ts +0 -60
- package/src/tools/credentials/metadata-store.ts +0 -335
- package/src/tools/credentials/policy-types.ts +0 -52
- package/src/tools/credentials/policy-validate.ts +0 -80
- package/src/tools/credentials/resolve.ts +0 -122
- package/src/tools/credentials/selection.ts +0 -159
- package/src/tools/credentials/tool-policy.ts +0 -25
- package/src/tools/credentials/vault.ts +0 -657
- package/src/tools/document/document-tool.ts +0 -92
- package/src/tools/document/editor-template.ts +0 -237
- package/src/tools/executor.ts +0 -944
- package/src/tools/filesystem/edit.ts +0 -127
- package/src/tools/filesystem/fuzzy-match.ts +0 -202
- package/src/tools/filesystem/read.ts +0 -71
- package/src/tools/filesystem/view-image.ts +0 -199
- package/src/tools/filesystem/write.ts +0 -79
- package/src/tools/followups/followup_create.ts +0 -76
- package/src/tools/followups/followup_list.ts +0 -60
- package/src/tools/followups/followup_resolve.ts +0 -56
- package/src/tools/host-filesystem/edit.ts +0 -125
- package/src/tools/host-filesystem/read.ts +0 -80
- package/src/tools/host-filesystem/write.ts +0 -76
- package/src/tools/host-terminal/cli-discover.ts +0 -180
- package/src/tools/host-terminal/host-shell.ts +0 -191
- package/src/tools/memory/definitions.ts +0 -69
- package/src/tools/memory/handlers.ts +0 -246
- package/src/tools/memory/register.ts +0 -66
- package/src/tools/network/__tests__/web-search.test.ts +0 -427
- package/src/tools/network/domain-normalize.ts +0 -85
- package/src/tools/network/script-proxy/__tests__/logging.test.ts +0 -248
- package/src/tools/network/script-proxy/__tests__/policy.test.ts +0 -234
- package/src/tools/network/script-proxy/__tests__/router.test.ts +0 -76
- package/src/tools/network/script-proxy/certs.ts +0 -237
- package/src/tools/network/script-proxy/connect-tunnel.ts +0 -82
- package/src/tools/network/script-proxy/http-forwarder.ts +0 -151
- package/src/tools/network/script-proxy/index.ts +0 -28
- package/src/tools/network/script-proxy/logging.ts +0 -196
- package/src/tools/network/script-proxy/mitm-handler.ts +0 -269
- package/src/tools/network/script-proxy/policy.ts +0 -152
- package/src/tools/network/script-proxy/router.ts +0 -60
- package/src/tools/network/script-proxy/server.ts +0 -136
- package/src/tools/network/script-proxy/session-manager.ts +0 -534
- package/src/tools/network/script-proxy/types.ts +0 -125
- package/src/tools/network/url-safety.ts +0 -227
- package/src/tools/network/web-fetch.ts +0 -713
- package/src/tools/network/web-search.ts +0 -319
- package/src/tools/playbooks/index.ts +0 -4
- package/src/tools/playbooks/playbook-create.ts +0 -96
- package/src/tools/playbooks/playbook-delete.ts +0 -52
- package/src/tools/playbooks/playbook-list.ts +0 -74
- package/src/tools/playbooks/playbook-update.ts +0 -111
- package/src/tools/registry.ts +0 -295
- package/src/tools/reminder/reminder-store.ts +0 -148
- package/src/tools/reminder/reminder.ts +0 -80
- package/src/tools/schedule/create.ts +0 -81
- package/src/tools/schedule/delete.ts +0 -28
- package/src/tools/schedule/list.ts +0 -69
- package/src/tools/schedule/update.ts +0 -90
- package/src/tools/shared/filesystem/edit-engine.ts +0 -56
- package/src/tools/shared/filesystem/errors.ts +0 -85
- package/src/tools/shared/filesystem/file-ops-service.ts +0 -215
- package/src/tools/shared/filesystem/format-diff.ts +0 -35
- package/src/tools/shared/filesystem/path-policy.ts +0 -125
- package/src/tools/shared/filesystem/size-guard.ts +0 -41
- package/src/tools/shared/filesystem/types.ts +0 -80
- package/src/tools/shared/shell-output.ts +0 -52
- package/src/tools/skills/delete-managed.ts +0 -60
- package/src/tools/skills/load.ts +0 -139
- package/src/tools/skills/sandbox-runner.ts +0 -279
- package/src/tools/skills/scaffold-managed.ts +0 -150
- package/src/tools/skills/script-contract.ts +0 -6
- package/src/tools/skills/skill-script-runner.ts +0 -86
- package/src/tools/skills/skill-tool-factory.ts +0 -64
- package/src/tools/skills/vellum-catalog.ts +0 -217
- package/src/tools/subagent/abort.ts +0 -33
- package/src/tools/subagent/message.ts +0 -39
- package/src/tools/subagent/read.ts +0 -67
- package/src/tools/subagent/spawn.ts +0 -46
- package/src/tools/subagent/status.ts +0 -45
- package/src/tools/swarm/delegate.ts +0 -183
- package/src/tools/system/request-permission.ts +0 -98
- package/src/tools/system/version.ts +0 -43
- package/src/tools/tasks/index.ts +0 -27
- package/src/tools/tasks/task-delete.ts +0 -82
- package/src/tools/tasks/task-list.ts +0 -44
- package/src/tools/tasks/task-run.ts +0 -97
- package/src/tools/tasks/task-save.ts +0 -47
- package/src/tools/tasks/work-item-enqueue.ts +0 -234
- package/src/tools/tasks/work-item-list.ts +0 -55
- package/src/tools/tasks/work-item-remove.ts +0 -60
- package/src/tools/tasks/work-item-run.ts +0 -78
- package/src/tools/tasks/work-item-update.ts +0 -114
- package/src/tools/terminal/backends/docker.ts +0 -372
- package/src/tools/terminal/backends/native.ts +0 -190
- package/src/tools/terminal/backends/types.ts +0 -26
- package/src/tools/terminal/evaluate-typescript.ts +0 -275
- package/src/tools/terminal/parser.ts +0 -415
- package/src/tools/terminal/safe-env.ts +0 -37
- package/src/tools/terminal/sandbox-diagnostics.ts +0 -149
- package/src/tools/terminal/sandbox.ts +0 -44
- package/src/tools/terminal/shell.ts +0 -257
- package/src/tools/tool-manifest.ts +0 -198
- package/src/tools/types.ts +0 -183
- package/src/tools/ui-surface/definitions.ts +0 -244
- package/src/tools/ui-surface/registry.ts +0 -14
- package/src/tools/watch/screen-watch.ts +0 -130
- package/src/tools/watch/watch-state.ts +0 -119
- package/src/tools/watcher/create.ts +0 -64
- package/src/tools/watcher/delete.ts +0 -27
- package/src/tools/watcher/digest.ts +0 -50
- package/src/tools/watcher/list.ts +0 -60
- package/src/tools/watcher/update.ts +0 -56
- package/src/tools/weather/service.ts +0 -551
- package/src/twitter/client.ts +0 -690
- package/src/twitter/session.ts +0 -91
- package/src/usage/actors.ts +0 -24
- package/src/usage/types.ts +0 -37
- package/src/util/clipboard.ts +0 -33
- package/src/util/content-id.ts +0 -16
- package/src/util/diff.ts +0 -181
- package/src/util/errors.ts +0 -129
- package/src/util/logger.ts +0 -243
- package/src/util/platform.ts +0 -607
- package/src/util/pricing.ts +0 -150
- package/src/util/spinner.ts +0 -51
- package/src/util/time.ts +0 -16
- package/src/util/truncate.ts +0 -6
- package/src/util/xml.ts +0 -4
- package/src/version.ts +0 -3
- package/src/watcher/constants.ts +0 -11
- package/src/watcher/engine.ts +0 -199
- package/src/watcher/provider-registry.ts +0 -15
- package/src/watcher/provider-types.ts +0 -48
- package/src/watcher/providers/gmail.ts +0 -198
- package/src/watcher/providers/google-calendar.ts +0 -228
- package/src/watcher/providers/slack.ts +0 -129
- package/src/watcher/watcher-store.ts +0 -419
- package/src/work-items/work-item-runner.ts +0 -171
- package/src/work-items/work-item-store.ts +0 -325
- package/src/workspace/commit-message-enrichment-service.ts +0 -284
- package/src/workspace/commit-message-provider.ts +0 -95
- package/src/workspace/git-service.ts +0 -840
- package/src/workspace/heartbeat-service.ts +0 -345
- package/src/workspace/provider-commit-message-generator.ts +0 -285
- package/src/workspace/top-level-renderer.ts +0 -19
- package/src/workspace/top-level-scanner.ts +0 -41
- package/src/workspace/turn-commit.ts +0 -175
- package/tsconfig.json +0 -21
|
@@ -1,66 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: "macOS Automation"
|
|
3
|
-
description: "Automate native macOS apps and system interactions via osascript (AppleScript)"
|
|
4
|
-
user-invocable: false
|
|
5
|
-
disable-model-invocation: false
|
|
6
|
-
metadata: {"vellum": {"emoji": "🍎", "os": ["darwin"]}}
|
|
7
|
-
---
|
|
8
|
-
|
|
9
|
-
Use this skill to interact with native macOS apps and system-level features via `osascript` (AppleScript) through `host_bash`. Always prefer osascript over browser automation or computer-use for anything involving a native macOS app.
|
|
10
|
-
|
|
11
|
-
## Supported Apps
|
|
12
|
-
|
|
13
|
-
**Communication:** Messages, Mail, Microsoft Outlook, FaceTime
|
|
14
|
-
**Contacts & Calendar:** Contacts, Calendar, Reminders
|
|
15
|
-
**Notes & Writing:** Notes, TextEdit, Pages, BBEdit, CotEditor
|
|
16
|
-
**Files:** Finder, Path Finder
|
|
17
|
-
**Browsers:** Safari, Google Chrome
|
|
18
|
-
**Music & Media:** Music (iTunes), Spotify, VLC, Podcasts, TV
|
|
19
|
-
**Productivity:** OmniFocus, Things 3, OmniOutliner, OmniPlan, OmniGraffle
|
|
20
|
-
**Office:** Microsoft Word, Microsoft Excel, Numbers, Keynote
|
|
21
|
-
**Developer tools:** Xcode, Terminal, iTerm2, Script Editor
|
|
22
|
-
**System:** System Events (UI scripting for any app), System Settings
|
|
23
|
-
**Automation:** Keyboard Maestro, Alfred, Automator
|
|
24
|
-
**Creative:** Adobe Photoshop, Final Cut Pro
|
|
25
|
-
|
|
26
|
-
For any unlisted app, check scriptability first:
|
|
27
|
-
```bash
|
|
28
|
-
osascript -e 'tell application "AppName" to get name'
|
|
29
|
-
```
|
|
30
|
-
|
|
31
|
-
## Examples
|
|
32
|
-
|
|
33
|
-
```bash
|
|
34
|
-
# Send an iMessage
|
|
35
|
-
osascript -e 'tell application "Messages" to send "Hello!" to buddy "user@example.com"'
|
|
36
|
-
|
|
37
|
-
# Look up a contact
|
|
38
|
-
osascript -e 'tell application "Contacts" to get {name, phones} of every person whose name contains "Marina"'
|
|
39
|
-
|
|
40
|
-
# Read upcoming calendar events
|
|
41
|
-
osascript -e 'tell application "Calendar" to get summary of every event of calendar "Home" whose start date > (current date)'
|
|
42
|
-
|
|
43
|
-
# Create a reminder
|
|
44
|
-
osascript -e 'tell application "Reminders" to make new reminder with properties {name:"Buy milk", due date:((current date) + 1 * hours)}'
|
|
45
|
-
|
|
46
|
-
# Send an email
|
|
47
|
-
osascript -e 'tell application "Mail" to send (make new outgoing message with properties {subject:"Hi", content:"Hello", visible:true})'
|
|
48
|
-
|
|
49
|
-
# Create a note
|
|
50
|
-
osascript -e 'tell application "Notes" to make new note at folder "Notes" with properties {body:"My note"}'
|
|
51
|
-
|
|
52
|
-
# Open a URL in Safari
|
|
53
|
-
osascript -e 'tell application "Safari" to open location "https://example.com"'
|
|
54
|
-
|
|
55
|
-
# Play/pause Music
|
|
56
|
-
osascript -e 'tell application "Music" to playpause'
|
|
57
|
-
|
|
58
|
-
# Display a system notification
|
|
59
|
-
osascript -e 'display notification "Done!" with title "Vellum"'
|
|
60
|
-
```
|
|
61
|
-
|
|
62
|
-
## Tips
|
|
63
|
-
|
|
64
|
-
- For multi-line scripts, write them to a `.applescript` file and run with `osascript path/to/script.applescript`
|
|
65
|
-
- Use `System Events` for UI scripting apps that don't have their own AppleScript dictionary
|
|
66
|
-
- AppleScript permissions are gated by macOS TCC — if a command fails with a permission error, use `request_system_permission` to prompt the user
|
|
@@ -1,130 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: "Messaging"
|
|
3
|
-
description: "Read, search, send, and manage messages across Slack, Gmail, Telegram, and other platforms"
|
|
4
|
-
user-invocable: true
|
|
5
|
-
metadata: {"vellum": {"emoji": "💬"}}
|
|
6
|
-
---
|
|
7
|
-
|
|
8
|
-
You are a unified messaging assistant with access to multiple platforms (Slack, Gmail, Telegram, and more). Use the messaging tools to help users read, search, organize, draft, and send messages across all connected platforms.
|
|
9
|
-
|
|
10
|
-
## Connection Setup
|
|
11
|
-
|
|
12
|
-
Before using any messaging tool, verify that the platform is connected by calling `messaging_auth_test` with the appropriate `platform` parameter. If the call fails with a token/authorization error, follow the steps below.
|
|
13
|
-
|
|
14
|
-
### Public Ingress (required for all platforms)
|
|
15
|
-
|
|
16
|
-
Gmail, Slack, and Telegram setup all require a publicly reachable URL for OAuth callbacks or webhook delivery. The **public-ingress** skill handles ngrok tunnel setup and persists the URL as `ingress.publicBaseUrl`. Each setup skill below declares `public-ingress` as a dependency and will prompt you to run it if `ingress.publicBaseUrl` is not configured.
|
|
17
|
-
|
|
18
|
-
### Gmail
|
|
19
|
-
1. **Try connecting directly first.** Call `credential_store` with `action: "oauth2_connect"` and `service: "gmail"`. The tool auto-fills Google's OAuth endpoints and looks up any previously stored client credentials — so this single call may be all that's needed.
|
|
20
|
-
2. **If it fails because no client_id is found:** The user needs to create Google Cloud OAuth credentials first. Install and load the **google-oauth-setup** skill (which depends on **public-ingress** for the redirect URI):
|
|
21
|
-
- Call `vellum_skills_catalog` with `action: "install"` and `skill_id: "google-oauth-setup"`.
|
|
22
|
-
- Then call `skill_load` with `skill: "google-oauth-setup"`.
|
|
23
|
-
- Tell the user: *"Gmail isn't connected yet. I've loaded a setup guide that will walk you through creating Google credentials and connecting your account."*
|
|
24
|
-
3. **If the user provides a client_id directly in chat:** Call `credential_store` with `action: "oauth2_connect"`, `service: "gmail"`, and `client_id: "<their value>"`. Include `client_secret` too if they provide one. Everything else is auto-filled.
|
|
25
|
-
|
|
26
|
-
### Slack
|
|
27
|
-
1. **Try connecting directly first.** Call `credential_store` with `action: "oauth2_connect"` and `service: "slack"`. The tool auto-fills Slack's OAuth endpoints and looks up any previously stored client credentials.
|
|
28
|
-
2. **If it fails because no client_id is found:** The user needs to create a Slack App first. Install and load the **slack-oauth-setup** skill (which depends on **public-ingress** for the redirect URI):
|
|
29
|
-
- Call `vellum_skills_catalog` with `action: "install"` and `skill_id: "slack-oauth-setup"`.
|
|
30
|
-
- Then call `skill_load` with `skill: "slack-oauth-setup"`.
|
|
31
|
-
- Tell the user: *"Slack isn't connected yet. I've loaded a setup guide that will walk you through creating a Slack App and connecting your workspace."*
|
|
32
|
-
3. **If the user provides client_id and client_secret directly in chat:** Call `credential_store` with `action: "oauth2_connect"`, `service: "slack"`, `client_id`, and `client_secret`. Everything else is auto-filled. Note: Slack always requires a client_secret.
|
|
33
|
-
|
|
34
|
-
### Telegram
|
|
35
|
-
Telegram uses a bot token (not OAuth). Install and load the **telegram-setup** skill (which depends on **public-ingress** for the webhook URL) which automates the full setup:
|
|
36
|
-
- Call `vellum_skills_catalog` with `action: "install"` and `skill_id: "telegram-setup"`.
|
|
37
|
-
- Then call `skill_load` with `skill: "telegram-setup"`.
|
|
38
|
-
- Tell the user: *"I've loaded a setup guide for Telegram. It will walk you through connecting a Telegram bot to your assistant."*
|
|
39
|
-
|
|
40
|
-
The telegram-setup skill handles: verifying the bot token from @BotFather, generating a webhook secret, registering the webhook with Telegram, registering bot commands, and storing credentials securely.
|
|
41
|
-
|
|
42
|
-
## Platform Selection
|
|
43
|
-
|
|
44
|
-
- If the user specifies a platform (e.g., "check my Slack"), pass it as the `platform` parameter.
|
|
45
|
-
- If only one platform is connected, it is auto-selected.
|
|
46
|
-
- If multiple platforms are connected and the user doesn't specify, ask which platform they mean — or search across all of them.
|
|
47
|
-
|
|
48
|
-
## Capabilities
|
|
49
|
-
|
|
50
|
-
### Universal (all platforms)
|
|
51
|
-
- **Auth Test**: Verify connection and show account info
|
|
52
|
-
- **List Conversations**: Show channels, inboxes, DMs with unread counts
|
|
53
|
-
- **Read Messages**: Read message history from a conversation
|
|
54
|
-
- **Search**: Search messages with platform-appropriate query syntax
|
|
55
|
-
- **Send**: Send a message (high risk — requires user approval)
|
|
56
|
-
- **Reply**: Reply in a thread (medium risk)
|
|
57
|
-
- **Mark Read**: Mark conversation as read
|
|
58
|
-
|
|
59
|
-
### Slack-specific
|
|
60
|
-
- **Add Reaction**: Add an emoji reaction to a message
|
|
61
|
-
- **Leave Channel**: Leave a Slack channel
|
|
62
|
-
|
|
63
|
-
### Gmail-specific
|
|
64
|
-
- **Archive**: Remove message from inbox
|
|
65
|
-
- **Label**: Add/remove labels
|
|
66
|
-
- **Trash**: Move to trash
|
|
67
|
-
- **Unsubscribe**: Unsubscribe via List-Unsubscribe header
|
|
68
|
-
- **Draft (native)**: Create a draft in Gmail's Drafts folder
|
|
69
|
-
|
|
70
|
-
## Slack Search Syntax
|
|
71
|
-
|
|
72
|
-
When searching Slack, the query is passed directly to Slack's search API:
|
|
73
|
-
|
|
74
|
-
| Operator | Example | What it finds |
|
|
75
|
-
|---|---|---|
|
|
76
|
-
| `from:` | `from:@alice` | Messages from a specific user |
|
|
77
|
-
| `in:` | `in:#general` | Messages in a specific channel |
|
|
78
|
-
| `has:` | `has:link` | Messages containing links |
|
|
79
|
-
| `before:` | `before:2024-01-01` | Messages before a date |
|
|
80
|
-
| `after:` | `after:2024-01-01` | Messages after a date |
|
|
81
|
-
| `has:reaction` | `has:reaction` | Messages with reactions |
|
|
82
|
-
| `has:star` | `has:star` | Starred messages |
|
|
83
|
-
|
|
84
|
-
## Gmail Search Syntax
|
|
85
|
-
|
|
86
|
-
When searching Gmail, the query uses Gmail's search operators:
|
|
87
|
-
|
|
88
|
-
| Operator | Example | What it finds |
|
|
89
|
-
|---|---|---|
|
|
90
|
-
| `from:` | `from:alice@example.com` | Messages from a specific sender |
|
|
91
|
-
| `to:` | `to:bob@example.com` | Messages sent to a recipient |
|
|
92
|
-
| `subject:` | `subject:meeting` | Messages with a word in the subject |
|
|
93
|
-
| `newer_than:` | `newer_than:7d` | Messages from the last 7 days |
|
|
94
|
-
| `older_than:` | `older_than:30d` | Messages older than 30 days |
|
|
95
|
-
| `is:unread` | `is:unread` | Unread messages |
|
|
96
|
-
| `has:attachment` | `has:attachment` | Messages with attachments |
|
|
97
|
-
| `label:` | `label:work` | Messages with a specific label |
|
|
98
|
-
|
|
99
|
-
## Drafting vs Sending
|
|
100
|
-
|
|
101
|
-
- Default to drafting (local draft or Gmail native draft) when the user wants to compose.
|
|
102
|
-
- Only send when the user explicitly requests it.
|
|
103
|
-
- When uncertain, always default to drafting.
|
|
104
|
-
|
|
105
|
-
## Personalized Drafting
|
|
106
|
-
|
|
107
|
-
When drafting messages, check your `<dynamic-user-profile>` for style items (e.g., "writing style: tone"). If present, match the user's natural voice.
|
|
108
|
-
|
|
109
|
-
If no style items exist and the user asks you to draft a message, suggest running `messaging_analyze_style`:
|
|
110
|
-
|
|
111
|
-
> "I can analyze your sent messages to learn your writing style so drafts sound like you. Want me to do that?"
|
|
112
|
-
|
|
113
|
-
## Confidence Scores
|
|
114
|
-
|
|
115
|
-
Medium and high risk tools require a confidence score between 0 and 1:
|
|
116
|
-
|
|
117
|
-
- **0.9-1.0**: User explicitly requested this exact action
|
|
118
|
-
- **0.7-0.8**: Action is strongly implied by context
|
|
119
|
-
- **0.5-0.6**: Reasonable inference but some ambiguity
|
|
120
|
-
- **Below 0.5**: Ask the user to confirm before proceeding
|
|
121
|
-
|
|
122
|
-
## Activity Analysis
|
|
123
|
-
|
|
124
|
-
Use `messaging_analyze_activity` to classify channels or conversations by activity level (high, medium, low, dead). Useful for decluttering — suggest leaving dead channels or archiving old emails.
|
|
125
|
-
|
|
126
|
-
## Batch Operations
|
|
127
|
-
|
|
128
|
-
- Gmail batch tools (`gmail_batch_archive`, `gmail_batch_label`) accept arrays of message IDs.
|
|
129
|
-
- First search or list messages to collect IDs, then apply batch actions.
|
|
130
|
-
- Always confirm with the user before batch operations on large numbers of messages.
|
|
@@ -1,357 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"version": 1,
|
|
3
|
-
"tools": [
|
|
4
|
-
{
|
|
5
|
-
"name": "messaging_auth_test",
|
|
6
|
-
"description": "Verify that a messaging platform is connected and show account info.",
|
|
7
|
-
"category": "messaging",
|
|
8
|
-
"risk": "low",
|
|
9
|
-
"input_schema": {
|
|
10
|
-
"type": "object",
|
|
11
|
-
"properties": {
|
|
12
|
-
"platform": { "type": "string", "description": "Platform to test (e.g. \"slack\", \"gmail\"). Auto-detected if only one is connected." }
|
|
13
|
-
}
|
|
14
|
-
},
|
|
15
|
-
"executor": "tools/messaging-auth-test.ts",
|
|
16
|
-
"execution_target": "host"
|
|
17
|
-
},
|
|
18
|
-
{
|
|
19
|
-
"name": "messaging_list_conversations",
|
|
20
|
-
"description": "List channels, inboxes, DMs, or groups with unread counts.",
|
|
21
|
-
"category": "messaging",
|
|
22
|
-
"risk": "low",
|
|
23
|
-
"input_schema": {
|
|
24
|
-
"type": "object",
|
|
25
|
-
"properties": {
|
|
26
|
-
"platform": { "type": "string", "description": "Platform (e.g. \"slack\", \"gmail\"). Auto-detected if only one is connected." },
|
|
27
|
-
"types": {
|
|
28
|
-
"type": "array",
|
|
29
|
-
"items": { "type": "string", "enum": ["channel", "dm", "group", "inbox"] },
|
|
30
|
-
"description": "Filter by conversation type"
|
|
31
|
-
},
|
|
32
|
-
"limit": { "type": "number", "description": "Maximum number of conversations to return (default 200)" }
|
|
33
|
-
}
|
|
34
|
-
},
|
|
35
|
-
"executor": "tools/messaging-list-conversations.ts",
|
|
36
|
-
"execution_target": "host"
|
|
37
|
-
},
|
|
38
|
-
{
|
|
39
|
-
"name": "messaging_read",
|
|
40
|
-
"description": "Read message history from a conversation. Optionally read a specific thread.",
|
|
41
|
-
"category": "messaging",
|
|
42
|
-
"risk": "low",
|
|
43
|
-
"input_schema": {
|
|
44
|
-
"type": "object",
|
|
45
|
-
"properties": {
|
|
46
|
-
"platform": { "type": "string", "description": "Platform (e.g. \"slack\", \"gmail\"). Auto-detected if only one is connected." },
|
|
47
|
-
"conversation_id": { "type": "string", "description": "Conversation/channel/label ID to read from" },
|
|
48
|
-
"thread_id": { "type": "string", "description": "Thread ID to read replies from (optional)" },
|
|
49
|
-
"limit": { "type": "number", "description": "Maximum number of messages to return (default 50)" }
|
|
50
|
-
},
|
|
51
|
-
"required": ["conversation_id"]
|
|
52
|
-
},
|
|
53
|
-
"executor": "tools/messaging-read.ts",
|
|
54
|
-
"execution_target": "host"
|
|
55
|
-
},
|
|
56
|
-
{
|
|
57
|
-
"name": "messaging_search",
|
|
58
|
-
"description": "Search messages across a platform using its native query syntax.",
|
|
59
|
-
"category": "messaging",
|
|
60
|
-
"risk": "low",
|
|
61
|
-
"input_schema": {
|
|
62
|
-
"type": "object",
|
|
63
|
-
"properties": {
|
|
64
|
-
"platform": { "type": "string", "description": "Platform (e.g. \"slack\", \"gmail\"). Auto-detected if only one is connected." },
|
|
65
|
-
"query": { "type": "string", "description": "Search query using the platform's native syntax" },
|
|
66
|
-
"max_results": { "type": "number", "description": "Maximum number of results to return (default 20)" }
|
|
67
|
-
},
|
|
68
|
-
"required": ["query"]
|
|
69
|
-
},
|
|
70
|
-
"executor": "tools/messaging-search.ts",
|
|
71
|
-
"execution_target": "host"
|
|
72
|
-
},
|
|
73
|
-
{
|
|
74
|
-
"name": "messaging_send",
|
|
75
|
-
"description": "Send a message on a platform. This is a high-risk action that always requires user approval. Include a confidence score (0-1).",
|
|
76
|
-
"category": "messaging",
|
|
77
|
-
"risk": "high",
|
|
78
|
-
"input_schema": {
|
|
79
|
-
"type": "object",
|
|
80
|
-
"properties": {
|
|
81
|
-
"platform": { "type": "string", "description": "Platform (e.g. \"slack\", \"gmail\"). Auto-detected if only one is connected." },
|
|
82
|
-
"conversation_id": { "type": "string", "description": "Channel ID, email address, or conversation ID to send to" },
|
|
83
|
-
"text": { "type": "string", "description": "Message text to send" },
|
|
84
|
-
"subject": { "type": "string", "description": "Email subject line (Gmail only)" },
|
|
85
|
-
"in_reply_to": { "type": "string", "description": "Message-ID header for replies (Gmail only)" },
|
|
86
|
-
"confidence": { "type": "number", "description": "Confidence score (0-1) for this action" }
|
|
87
|
-
},
|
|
88
|
-
"required": ["conversation_id", "text", "confidence"]
|
|
89
|
-
},
|
|
90
|
-
"executor": "tools/messaging-send.ts",
|
|
91
|
-
"execution_target": "host"
|
|
92
|
-
},
|
|
93
|
-
{
|
|
94
|
-
"name": "messaging_reply",
|
|
95
|
-
"description": "Reply in a thread. Medium-risk action. Include a confidence score (0-1).",
|
|
96
|
-
"category": "messaging",
|
|
97
|
-
"risk": "medium",
|
|
98
|
-
"input_schema": {
|
|
99
|
-
"type": "object",
|
|
100
|
-
"properties": {
|
|
101
|
-
"platform": { "type": "string", "description": "Platform (e.g. \"slack\", \"gmail\"). Auto-detected if only one is connected." },
|
|
102
|
-
"conversation_id": { "type": "string", "description": "Channel ID or conversation ID" },
|
|
103
|
-
"thread_id": { "type": "string", "description": "Thread ID to reply to" },
|
|
104
|
-
"text": { "type": "string", "description": "Reply text" },
|
|
105
|
-
"confidence": { "type": "number", "description": "Confidence score (0-1) for this action" }
|
|
106
|
-
},
|
|
107
|
-
"required": ["conversation_id", "thread_id", "text", "confidence"]
|
|
108
|
-
},
|
|
109
|
-
"executor": "tools/messaging-reply.ts",
|
|
110
|
-
"execution_target": "host"
|
|
111
|
-
},
|
|
112
|
-
{
|
|
113
|
-
"name": "messaging_mark_read",
|
|
114
|
-
"description": "Mark a conversation or message as read.",
|
|
115
|
-
"category": "messaging",
|
|
116
|
-
"risk": "low",
|
|
117
|
-
"input_schema": {
|
|
118
|
-
"type": "object",
|
|
119
|
-
"properties": {
|
|
120
|
-
"platform": { "type": "string", "description": "Platform (e.g. \"slack\", \"gmail\"). Auto-detected if only one is connected." },
|
|
121
|
-
"conversation_id": { "type": "string", "description": "Conversation/channel ID" },
|
|
122
|
-
"message_id": { "type": "string", "description": "Specific message ID to mark as read (optional)" }
|
|
123
|
-
},
|
|
124
|
-
"required": ["conversation_id"]
|
|
125
|
-
},
|
|
126
|
-
"executor": "tools/messaging-mark-read.ts",
|
|
127
|
-
"execution_target": "host"
|
|
128
|
-
},
|
|
129
|
-
{
|
|
130
|
-
"name": "slack_add_reaction",
|
|
131
|
-
"description": "Add an emoji reaction to a Slack message. Include a confidence score (0-1).",
|
|
132
|
-
"category": "messaging",
|
|
133
|
-
"risk": "medium",
|
|
134
|
-
"input_schema": {
|
|
135
|
-
"type": "object",
|
|
136
|
-
"properties": {
|
|
137
|
-
"channel": { "type": "string", "description": "Slack channel ID" },
|
|
138
|
-
"timestamp": { "type": "string", "description": "Message timestamp (ts)" },
|
|
139
|
-
"emoji": { "type": "string", "description": "Emoji name without colons (e.g. \"thumbsup\")" },
|
|
140
|
-
"confidence": { "type": "number", "description": "Confidence score (0-1) for this action" }
|
|
141
|
-
},
|
|
142
|
-
"required": ["channel", "timestamp", "emoji", "confidence"]
|
|
143
|
-
},
|
|
144
|
-
"executor": "tools/slack-add-reaction.ts",
|
|
145
|
-
"execution_target": "host"
|
|
146
|
-
},
|
|
147
|
-
{
|
|
148
|
-
"name": "slack_leave_channel",
|
|
149
|
-
"description": "Leave a Slack channel. Include a confidence score (0-1).",
|
|
150
|
-
"category": "messaging",
|
|
151
|
-
"risk": "medium",
|
|
152
|
-
"input_schema": {
|
|
153
|
-
"type": "object",
|
|
154
|
-
"properties": {
|
|
155
|
-
"channel": { "type": "string", "description": "Slack channel ID to leave" },
|
|
156
|
-
"confidence": { "type": "number", "description": "Confidence score (0-1) for this action" }
|
|
157
|
-
},
|
|
158
|
-
"required": ["channel", "confidence"]
|
|
159
|
-
},
|
|
160
|
-
"executor": "tools/slack-leave-channel.ts",
|
|
161
|
-
"execution_target": "host"
|
|
162
|
-
},
|
|
163
|
-
{
|
|
164
|
-
"name": "messaging_analyze_activity",
|
|
165
|
-
"description": "Analyze channel or conversation activity levels. Groups conversations as high/medium/low/dead activity.",
|
|
166
|
-
"category": "messaging",
|
|
167
|
-
"risk": "low",
|
|
168
|
-
"input_schema": {
|
|
169
|
-
"type": "object",
|
|
170
|
-
"properties": {
|
|
171
|
-
"platform": { "type": "string", "description": "Platform (e.g. \"slack\", \"gmail\"). Auto-detected if only one is connected." }
|
|
172
|
-
}
|
|
173
|
-
},
|
|
174
|
-
"executor": "tools/messaging-analyze-activity.ts",
|
|
175
|
-
"execution_target": "host"
|
|
176
|
-
},
|
|
177
|
-
{
|
|
178
|
-
"name": "messaging_analyze_style",
|
|
179
|
-
"description": "Analyze sent messages to extract personal writing style patterns. Saves style characteristics to memory for personalized drafting. Run once to enable style-aware message composition.",
|
|
180
|
-
"category": "messaging",
|
|
181
|
-
"risk": "low",
|
|
182
|
-
"input_schema": {
|
|
183
|
-
"type": "object",
|
|
184
|
-
"properties": {
|
|
185
|
-
"platform": { "type": "string", "description": "Platform (e.g. \"slack\", \"gmail\"). Auto-detected if only one is connected." },
|
|
186
|
-
"max_messages": { "type": "number", "description": "Max sent messages to analyze (default 50, max 100)" },
|
|
187
|
-
"query_filter": { "type": "string", "description": "Optional search filter (e.g. 'to:alice@example.com' for Gmail, 'from:@me' for Slack)" }
|
|
188
|
-
}
|
|
189
|
-
},
|
|
190
|
-
"executor": "tools/messaging-analyze-style.ts",
|
|
191
|
-
"execution_target": "host"
|
|
192
|
-
},
|
|
193
|
-
{
|
|
194
|
-
"name": "messaging_draft",
|
|
195
|
-
"description": "Create, list, or delete local drafts for any platform.",
|
|
196
|
-
"category": "messaging",
|
|
197
|
-
"risk": "low",
|
|
198
|
-
"input_schema": {
|
|
199
|
-
"type": "object",
|
|
200
|
-
"properties": {
|
|
201
|
-
"action": { "type": "string", "enum": ["create", "list", "delete"], "description": "Draft operation" },
|
|
202
|
-
"platform": { "type": "string", "description": "Platform (e.g. \"slack\", \"gmail\"). Required for create/list." },
|
|
203
|
-
"conversation_id": { "type": "string", "description": "Target conversation/channel ID (for create)" },
|
|
204
|
-
"text": { "type": "string", "description": "Draft text (for create)" },
|
|
205
|
-
"thread_id": { "type": "string", "description": "Thread ID (for create, optional)" },
|
|
206
|
-
"subject": { "type": "string", "description": "Email subject (for create, Gmail only)" },
|
|
207
|
-
"draft_id": { "type": "string", "description": "Draft ID (for delete)" }
|
|
208
|
-
},
|
|
209
|
-
"required": ["action"]
|
|
210
|
-
},
|
|
211
|
-
"executor": "tools/messaging-draft.ts",
|
|
212
|
-
"execution_target": "host"
|
|
213
|
-
},
|
|
214
|
-
{
|
|
215
|
-
"name": "gmail_archive",
|
|
216
|
-
"description": "Archive a Gmail message (remove from inbox). Include a confidence score (0-1).",
|
|
217
|
-
"category": "messaging",
|
|
218
|
-
"risk": "medium",
|
|
219
|
-
"input_schema": {
|
|
220
|
-
"type": "object",
|
|
221
|
-
"properties": {
|
|
222
|
-
"message_id": { "type": "string", "description": "Gmail message ID to archive" },
|
|
223
|
-
"confidence": { "type": "number", "description": "Confidence score (0-1) for this action" }
|
|
224
|
-
},
|
|
225
|
-
"required": ["message_id", "confidence"]
|
|
226
|
-
},
|
|
227
|
-
"executor": "tools/gmail-archive.ts",
|
|
228
|
-
"execution_target": "host"
|
|
229
|
-
},
|
|
230
|
-
{
|
|
231
|
-
"name": "gmail_batch_archive",
|
|
232
|
-
"description": "Archive multiple Gmail messages at once. Include a confidence score (0-1).",
|
|
233
|
-
"category": "messaging",
|
|
234
|
-
"risk": "medium",
|
|
235
|
-
"input_schema": {
|
|
236
|
-
"type": "object",
|
|
237
|
-
"properties": {
|
|
238
|
-
"message_ids": {
|
|
239
|
-
"type": "array",
|
|
240
|
-
"items": { "type": "string" },
|
|
241
|
-
"description": "Gmail message IDs to archive"
|
|
242
|
-
},
|
|
243
|
-
"confidence": { "type": "number", "description": "Confidence score (0-1) for this action" }
|
|
244
|
-
},
|
|
245
|
-
"required": ["message_ids", "confidence"]
|
|
246
|
-
},
|
|
247
|
-
"executor": "tools/gmail-batch-archive.ts",
|
|
248
|
-
"execution_target": "host"
|
|
249
|
-
},
|
|
250
|
-
{
|
|
251
|
-
"name": "gmail_label",
|
|
252
|
-
"description": "Add or remove labels on a Gmail message. Include a confidence score (0-1).",
|
|
253
|
-
"category": "messaging",
|
|
254
|
-
"risk": "medium",
|
|
255
|
-
"input_schema": {
|
|
256
|
-
"type": "object",
|
|
257
|
-
"properties": {
|
|
258
|
-
"message_id": { "type": "string", "description": "Gmail message ID" },
|
|
259
|
-
"add_label_ids": {
|
|
260
|
-
"type": "array",
|
|
261
|
-
"items": { "type": "string" },
|
|
262
|
-
"description": "Label IDs to add"
|
|
263
|
-
},
|
|
264
|
-
"remove_label_ids": {
|
|
265
|
-
"type": "array",
|
|
266
|
-
"items": { "type": "string" },
|
|
267
|
-
"description": "Label IDs to remove"
|
|
268
|
-
},
|
|
269
|
-
"confidence": { "type": "number", "description": "Confidence score (0-1) for this action" }
|
|
270
|
-
},
|
|
271
|
-
"required": ["message_id", "confidence"]
|
|
272
|
-
},
|
|
273
|
-
"executor": "tools/gmail-label.ts",
|
|
274
|
-
"execution_target": "host"
|
|
275
|
-
},
|
|
276
|
-
{
|
|
277
|
-
"name": "gmail_batch_label",
|
|
278
|
-
"description": "Add or remove labels on multiple Gmail messages. Include a confidence score (0-1).",
|
|
279
|
-
"category": "messaging",
|
|
280
|
-
"risk": "medium",
|
|
281
|
-
"input_schema": {
|
|
282
|
-
"type": "object",
|
|
283
|
-
"properties": {
|
|
284
|
-
"message_ids": {
|
|
285
|
-
"type": "array",
|
|
286
|
-
"items": { "type": "string" },
|
|
287
|
-
"description": "Gmail message IDs"
|
|
288
|
-
},
|
|
289
|
-
"add_label_ids": {
|
|
290
|
-
"type": "array",
|
|
291
|
-
"items": { "type": "string" },
|
|
292
|
-
"description": "Label IDs to add"
|
|
293
|
-
},
|
|
294
|
-
"remove_label_ids": {
|
|
295
|
-
"type": "array",
|
|
296
|
-
"items": { "type": "string" },
|
|
297
|
-
"description": "Label IDs to remove"
|
|
298
|
-
},
|
|
299
|
-
"confidence": { "type": "number", "description": "Confidence score (0-1) for this action" }
|
|
300
|
-
},
|
|
301
|
-
"required": ["message_ids", "confidence"]
|
|
302
|
-
},
|
|
303
|
-
"executor": "tools/gmail-batch-label.ts",
|
|
304
|
-
"execution_target": "host"
|
|
305
|
-
},
|
|
306
|
-
{
|
|
307
|
-
"name": "gmail_trash",
|
|
308
|
-
"description": "Move a Gmail message to trash. Include a confidence score (0-1).",
|
|
309
|
-
"category": "messaging",
|
|
310
|
-
"risk": "medium",
|
|
311
|
-
"input_schema": {
|
|
312
|
-
"type": "object",
|
|
313
|
-
"properties": {
|
|
314
|
-
"message_id": { "type": "string", "description": "Gmail message ID to trash" },
|
|
315
|
-
"confidence": { "type": "number", "description": "Confidence score (0-1) for this action" }
|
|
316
|
-
},
|
|
317
|
-
"required": ["message_id", "confidence"]
|
|
318
|
-
},
|
|
319
|
-
"executor": "tools/gmail-trash.ts",
|
|
320
|
-
"execution_target": "host"
|
|
321
|
-
},
|
|
322
|
-
{
|
|
323
|
-
"name": "gmail_unsubscribe",
|
|
324
|
-
"description": "Unsubscribe from a mailing list by following the List-Unsubscribe header. Include a confidence score (0-1).",
|
|
325
|
-
"category": "messaging",
|
|
326
|
-
"risk": "medium",
|
|
327
|
-
"input_schema": {
|
|
328
|
-
"type": "object",
|
|
329
|
-
"properties": {
|
|
330
|
-
"message_id": { "type": "string", "description": "A Gmail message ID from the mailing list to unsubscribe from" },
|
|
331
|
-
"confidence": { "type": "number", "description": "Confidence score (0-1) for this action" }
|
|
332
|
-
},
|
|
333
|
-
"required": ["message_id", "confidence"]
|
|
334
|
-
},
|
|
335
|
-
"executor": "tools/gmail-unsubscribe.ts",
|
|
336
|
-
"execution_target": "host"
|
|
337
|
-
},
|
|
338
|
-
{
|
|
339
|
-
"name": "gmail_draft",
|
|
340
|
-
"description": "Create a draft email in Gmail. The draft will appear in Gmail Drafts for user review.",
|
|
341
|
-
"category": "messaging",
|
|
342
|
-
"risk": "low",
|
|
343
|
-
"input_schema": {
|
|
344
|
-
"type": "object",
|
|
345
|
-
"properties": {
|
|
346
|
-
"to": { "type": "string", "description": "Recipient email address" },
|
|
347
|
-
"subject": { "type": "string", "description": "Email subject line" },
|
|
348
|
-
"body": { "type": "string", "description": "Email body (plain text)" },
|
|
349
|
-
"in_reply_to": { "type": "string", "description": "Message-ID header of the email being replied to" }
|
|
350
|
-
},
|
|
351
|
-
"required": ["to", "subject", "body"]
|
|
352
|
-
},
|
|
353
|
-
"executor": "tools/gmail-draft.ts",
|
|
354
|
-
"execution_target": "host"
|
|
355
|
-
}
|
|
356
|
-
]
|
|
357
|
-
}
|
|
@@ -1,23 +0,0 @@
|
|
|
1
|
-
import type { ToolContext, ToolExecutionResult } from '../../../../tools/types.js';
|
|
2
|
-
import { withValidToken } from '../../../../security/token-manager.js';
|
|
3
|
-
import { getMessagingProvider } from '../../../../messaging/registry.js';
|
|
4
|
-
import { modifyMessage } from '../../../../messaging/providers/gmail/client.js';
|
|
5
|
-
import { ok, err } from './shared.js';
|
|
6
|
-
|
|
7
|
-
export async function run(input: Record<string, unknown>, _context: ToolContext): Promise<ToolExecutionResult> {
|
|
8
|
-
const messageId = input.message_id as string;
|
|
9
|
-
|
|
10
|
-
if (!messageId) {
|
|
11
|
-
return err('message_id is required.');
|
|
12
|
-
}
|
|
13
|
-
|
|
14
|
-
try {
|
|
15
|
-
const provider = getMessagingProvider('gmail');
|
|
16
|
-
return withValidToken(provider.credentialService, async (token) => {
|
|
17
|
-
await modifyMessage(token, messageId, { removeLabelIds: ['INBOX'] });
|
|
18
|
-
return ok('Message archived.');
|
|
19
|
-
});
|
|
20
|
-
} catch (e) {
|
|
21
|
-
return err(e instanceof Error ? e.message : String(e));
|
|
22
|
-
}
|
|
23
|
-
}
|
|
@@ -1,23 +0,0 @@
|
|
|
1
|
-
import type { ToolContext, ToolExecutionResult } from '../../../../tools/types.js';
|
|
2
|
-
import { withValidToken } from '../../../../security/token-manager.js';
|
|
3
|
-
import { getMessagingProvider } from '../../../../messaging/registry.js';
|
|
4
|
-
import { batchModifyMessages } from '../../../../messaging/providers/gmail/client.js';
|
|
5
|
-
import { ok, err } from './shared.js';
|
|
6
|
-
|
|
7
|
-
export async function run(input: Record<string, unknown>, _context: ToolContext): Promise<ToolExecutionResult> {
|
|
8
|
-
const messageIds = input.message_ids as string[];
|
|
9
|
-
|
|
10
|
-
if (!messageIds?.length) {
|
|
11
|
-
return err('message_ids is required and must not be empty.');
|
|
12
|
-
}
|
|
13
|
-
|
|
14
|
-
try {
|
|
15
|
-
const provider = getMessagingProvider('gmail');
|
|
16
|
-
return withValidToken(provider.credentialService, async (token) => {
|
|
17
|
-
await batchModifyMessages(token, messageIds, { removeLabelIds: ['INBOX'] });
|
|
18
|
-
return ok(`Archived ${messageIds.length} message(s).`);
|
|
19
|
-
});
|
|
20
|
-
} catch (e) {
|
|
21
|
-
return err(e instanceof Error ? e.message : String(e));
|
|
22
|
-
}
|
|
23
|
-
}
|
|
@@ -1,25 +0,0 @@
|
|
|
1
|
-
import type { ToolContext, ToolExecutionResult } from '../../../../tools/types.js';
|
|
2
|
-
import { withValidToken } from '../../../../security/token-manager.js';
|
|
3
|
-
import { getMessagingProvider } from '../../../../messaging/registry.js';
|
|
4
|
-
import { batchModifyMessages } from '../../../../messaging/providers/gmail/client.js';
|
|
5
|
-
import { ok, err } from './shared.js';
|
|
6
|
-
|
|
7
|
-
export async function run(input: Record<string, unknown>, _context: ToolContext): Promise<ToolExecutionResult> {
|
|
8
|
-
const messageIds = input.message_ids as string[];
|
|
9
|
-
const addLabelIds = input.add_label_ids as string[] | undefined;
|
|
10
|
-
const removeLabelIds = input.remove_label_ids as string[] | undefined;
|
|
11
|
-
|
|
12
|
-
if (!messageIds?.length) {
|
|
13
|
-
return err('message_ids is required and must not be empty.');
|
|
14
|
-
}
|
|
15
|
-
|
|
16
|
-
try {
|
|
17
|
-
const provider = getMessagingProvider('gmail');
|
|
18
|
-
return withValidToken(provider.credentialService, async (token) => {
|
|
19
|
-
await batchModifyMessages(token, messageIds, { addLabelIds, removeLabelIds });
|
|
20
|
-
return ok(`Labels updated on ${messageIds.length} message(s).`);
|
|
21
|
-
});
|
|
22
|
-
} catch (e) {
|
|
23
|
-
return err(e instanceof Error ? e.message : String(e));
|
|
24
|
-
}
|
|
25
|
-
}
|
|
@@ -1,26 +0,0 @@
|
|
|
1
|
-
import type { ToolContext, ToolExecutionResult } from '../../../../tools/types.js';
|
|
2
|
-
import { withValidToken } from '../../../../security/token-manager.js';
|
|
3
|
-
import { getMessagingProvider } from '../../../../messaging/registry.js';
|
|
4
|
-
import { createDraft } from '../../../../messaging/providers/gmail/client.js';
|
|
5
|
-
import { ok, err } from './shared.js';
|
|
6
|
-
|
|
7
|
-
export async function run(input: Record<string, unknown>, _context: ToolContext): Promise<ToolExecutionResult> {
|
|
8
|
-
const to = input.to as string;
|
|
9
|
-
const subject = input.subject as string;
|
|
10
|
-
const body = input.body as string;
|
|
11
|
-
const inReplyTo = input.in_reply_to as string | undefined;
|
|
12
|
-
|
|
13
|
-
if (!to) return err('to is required.');
|
|
14
|
-
if (!subject) return err('subject is required.');
|
|
15
|
-
if (!body) return err('body is required.');
|
|
16
|
-
|
|
17
|
-
try {
|
|
18
|
-
const provider = getMessagingProvider('gmail');
|
|
19
|
-
return withValidToken(provider.credentialService, async (token) => {
|
|
20
|
-
const draft = await createDraft(token, to, subject, body, inReplyTo);
|
|
21
|
-
return ok(`Draft created (ID: ${draft.id}). It will appear in your Gmail Drafts.`);
|
|
22
|
-
});
|
|
23
|
-
} catch (e) {
|
|
24
|
-
return err(e instanceof Error ? e.message : String(e));
|
|
25
|
-
}
|
|
26
|
-
}
|