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,26 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: "Document"
|
|
3
|
-
description: "Write, draft, or compose long-form text (blog posts, articles, essays, reports, guides). Use when the user says write, draft, compose, or create a blog/article/essay."
|
|
4
|
-
metadata: {"vellum": {"emoji": "📄"}}
|
|
5
|
-
---
|
|
6
|
-
|
|
7
|
-
Create and edit long-form documents using the built-in rich text editor. Documents open in workspace mode with chat docked to the side.
|
|
8
|
-
|
|
9
|
-
## Tools
|
|
10
|
-
|
|
11
|
-
- **document_create** — Opens a new document editor with an optional title and initial Markdown content. Returns a `surface_id` for subsequent updates.
|
|
12
|
-
- **document_update** — Updates content in an open document editor by `surface_id`. Supports `replace` (overwrite) and `append` (add to end) modes.
|
|
13
|
-
|
|
14
|
-
## Workflow
|
|
15
|
-
|
|
16
|
-
1. **Create the document**: Call `document_create` with a title (inferred from the request). Call the tool immediately, not after conversational preamble.
|
|
17
|
-
2. **Write content in Markdown**: Use proper structure (`#` for titles, `##` for sections), **bold**, *italic*, code blocks, tables, lists, blockquotes as appropriate.
|
|
18
|
-
3. **CRITICAL — Stream content in chunks**: Call `document_update` MULTIPLE times, not just once. Break content into logical chunks (paragraphs, sections, or every 200-300 words). Call `document_update` with `mode: "append"` for EACH chunk separately. The user experiences real-time content appearing as you write.
|
|
19
|
-
4. **Respond to edits**: When the user requests changes via the docked chat, use `document_update` with `replace` for full rewrites or `append` for additions.
|
|
20
|
-
|
|
21
|
-
## Usage Notes
|
|
22
|
-
|
|
23
|
-
- The `mode` parameter on `document_update` defaults to `append`.
|
|
24
|
-
- Documents are automatically saved and accessible via the Generated panel.
|
|
25
|
-
- Users can manually edit documents at any time.
|
|
26
|
-
- Write in clear, engaging prose. Use active voice, vary sentence structure, and break content into logical sections with descriptive headings.
|
|
@@ -1,53 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"version": 1,
|
|
3
|
-
"tools": [
|
|
4
|
-
{
|
|
5
|
-
"name": "document_create",
|
|
6
|
-
"description": "Create a new long-form document with a rich text editor. Use this when the user asks to write a blog post, article, or any long-form content. The editor opens in workspace mode with chat docked to the side.",
|
|
7
|
-
"category": "document",
|
|
8
|
-
"risk": "low",
|
|
9
|
-
"input_schema": {
|
|
10
|
-
"type": "object",
|
|
11
|
-
"properties": {
|
|
12
|
-
"title": {
|
|
13
|
-
"type": "string",
|
|
14
|
-
"description": "Initial title for the document (optional, can be updated later)"
|
|
15
|
-
},
|
|
16
|
-
"initial_content": {
|
|
17
|
-
"type": "string",
|
|
18
|
-
"description": "Initial Markdown content to populate the editor (optional)"
|
|
19
|
-
}
|
|
20
|
-
}
|
|
21
|
-
},
|
|
22
|
-
"executor": "tools/document-create.ts",
|
|
23
|
-
"execution_target": "host"
|
|
24
|
-
},
|
|
25
|
-
{
|
|
26
|
-
"name": "document_update",
|
|
27
|
-
"description": "Update content in an open document editor. Use this to stream generated content or apply edits.",
|
|
28
|
-
"category": "document",
|
|
29
|
-
"risk": "low",
|
|
30
|
-
"input_schema": {
|
|
31
|
-
"type": "object",
|
|
32
|
-
"properties": {
|
|
33
|
-
"surface_id": {
|
|
34
|
-
"type": "string",
|
|
35
|
-
"description": "The ID of the document surface to update"
|
|
36
|
-
},
|
|
37
|
-
"content": {
|
|
38
|
-
"type": "string",
|
|
39
|
-
"description": "Markdown content to set or append"
|
|
40
|
-
},
|
|
41
|
-
"mode": {
|
|
42
|
-
"type": "string",
|
|
43
|
-
"enum": ["replace", "append"],
|
|
44
|
-
"description": "Whether to replace all content or append to the end. Defaults to append."
|
|
45
|
-
}
|
|
46
|
-
},
|
|
47
|
-
"required": ["surface_id", "content"]
|
|
48
|
-
},
|
|
49
|
-
"executor": "tools/document-update.ts",
|
|
50
|
-
"execution_target": "host"
|
|
51
|
-
}
|
|
52
|
-
]
|
|
53
|
-
}
|
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
import type { ToolContext, ToolExecutionResult } from '../../../../tools/types.js';
|
|
2
|
-
import { executeDocumentCreate } from '../../../../tools/document/document-tool.js';
|
|
3
|
-
|
|
4
|
-
export async function run(
|
|
5
|
-
input: Record<string, unknown>,
|
|
6
|
-
context: ToolContext,
|
|
7
|
-
): Promise<ToolExecutionResult> {
|
|
8
|
-
return executeDocumentCreate(input, context);
|
|
9
|
-
}
|
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
import type { ToolContext, ToolExecutionResult } from '../../../../tools/types.js';
|
|
2
|
-
import { executeDocumentUpdate } from '../../../../tools/document/document-tool.js';
|
|
3
|
-
|
|
4
|
-
export async function run(
|
|
5
|
-
input: Record<string, unknown>,
|
|
6
|
-
context: ToolContext,
|
|
7
|
-
): Promise<ToolExecutionResult> {
|
|
8
|
-
return executeDocumentUpdate(input, context);
|
|
9
|
-
}
|
|
@@ -1,163 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: "DoorDash"
|
|
3
|
-
description: "Order food, groceries, and convenience items from DoorDash using the built-in CLI integration"
|
|
4
|
-
user-invocable: true
|
|
5
|
-
metadata: {"vellum": {"emoji": "\uD83C\uDF55"}}
|
|
6
|
-
---
|
|
7
|
-
|
|
8
|
-
You can order food from DoorDash for the user using the `vellum doordash` CLI.
|
|
9
|
-
|
|
10
|
-
## CLI Setup
|
|
11
|
-
|
|
12
|
-
**IMPORTANT: Always use `host_bash` (not `bash`) for all `vellum doordash` commands.** The DoorDash CLI needs host access for Chrome CDP, session cookies, and the `vellum` binary — none of which are available inside the sandbox.
|
|
13
|
-
|
|
14
|
-
`vellum doordash` is a built-in subcommand of the Vellum assistant CLI — it is NOT a separate tool you need to find or install. It should already be on your PATH. If `vellum` is not found, prepend `PATH="$HOME/.local/bin:$PATH"` to the command. Do NOT search for the binary, inspect wrapper scripts, or try to discover how the CLI works. Just run the commands as documented below.
|
|
15
|
-
|
|
16
|
-
## Task Progress Widget
|
|
17
|
-
|
|
18
|
-
A task progress card is shown automatically when you run your first `vellum doordash` command. Its surface ID is `doordash-progress`. As each step completes, call `ui_update` with surface ID `doordash-progress` to update step statuses. Update `data.templateData.steps` — set completed steps to `"status": "completed"` with a `"detail"` string, the current step to `"status": "in_progress"`, and future steps to `"status": "pending"`. Adapt the steps to the actual flow (e.g. skip "Search restaurants" if the user named a specific store).
|
|
19
|
-
|
|
20
|
-
## Typical Flow
|
|
21
|
-
|
|
22
|
-
When the user asks you to order food (e.g. "Order pizza from Andiamo's"):
|
|
23
|
-
|
|
24
|
-
1. **Check session** — run `vellum doordash status --json`. If `loggedIn` is false or the session is expired, tell the user: "A Chrome window will open to the DoorDash login page. Please sign in there — I'll detect your login automatically and minimize the window." Then run `vellum doordash refresh --json`. This starts a Ride Shotgun learn session that records your login and auto-stops once it detects you've signed in. The session is imported automatically. **This command blocks until login is complete — just wait for it.**
|
|
25
|
-
|
|
26
|
-
Keep the DoorDash Chrome window open in the background — it's needed for API requests.
|
|
27
|
-
|
|
28
|
-
2. **Search** — run `vellum doordash search "<query>" --json` to find matching restaurants. Present the top results to the user with name, rating, and delivery info. If the user named a specific restaurant, pick the best match. If ambiguous, ask.
|
|
29
|
-
|
|
30
|
-
3. **Browse menu** — run `vellum doordash menu <storeId> --json` to get the menu. Show the user the categories and items with prices. If the user already said what they want (e.g. "pepperoni pizza"), find the matching item(s). **For convenience/pharmacy stores** (CVS, Duane Reade, Walgreens etc.), the response will have `isRetail: true` and empty items — use `store-search` instead (see step 3b).
|
|
31
|
-
|
|
32
|
-
3b. **Search within a retail store** — for convenience/pharmacy stores, run `vellum doordash store-search <storeId> "<query>" --json` to find specific products. This returns items with IDs, prices, and menuIds that can be added to cart directly.
|
|
33
|
-
|
|
34
|
-
4. **Get item details** (if needed) — run `vellum doordash item <storeId> <itemId> --json` to see options/customizations. The response includes:
|
|
35
|
-
- `options`: each option group has `minSelections`/`maxSelections` indicating how many choices are required
|
|
36
|
-
- Each choice has `unitAmount` (price impact in cents), `defaultQuantity`, and possibly `nestedOptions` (sub-choices like milk type within a size selection)
|
|
37
|
-
- `specialInstructionsConfig`: whether special instructions are accepted, max length, and placeholder text
|
|
38
|
-
|
|
39
|
-
If the item has required options (like size or toppings), construct the `nestedOptions` JSON from the option/choice IDs and pass it via `--options`. Ask the user for preferences or pick sensible defaults.
|
|
40
|
-
|
|
41
|
-
5. **Add to cart** — run `vellum doordash cart add --store-id <id> --menu-id <id> --item-id <id> --item-name "<name>" --unit-price <cents> [--options '<json>'] [--special-instructions "<text>"] --json`. For subsequent items at the same store, pass `--cart-id <id>` from the first add response. Use `--special-instructions` for requests like "extra hot", "no ice", etc. Use `--options` to pass customization choices (see Customization Options below).
|
|
42
|
-
|
|
43
|
-
6. **Review cart** — run `vellum doordash cart view <cartId> --json` and show the user what's in their cart with prices. Ask if they want to add anything else or proceed.
|
|
44
|
-
|
|
45
|
-
7. **Checkout** — run `vellum doordash checkout <cartId> --json` to get delivery options. Present them to the user.
|
|
46
|
-
|
|
47
|
-
8. **Payment methods** — run `vellum doordash payment-methods --json` to see saved cards. Show the user which card will be used (the default one).
|
|
48
|
-
|
|
49
|
-
9. **Place order** — after the user explicitly confirms, run `vellum doordash order place --cart-id <id> --store-id <id> --total <cents> [--tip <cents>] [--dropoff-option <id>] --json`. The command auto-selects the default payment method if `--payment-uuid` is not provided. The response contains `orderUuid` on success.
|
|
50
|
-
|
|
51
|
-
## Important Behavior
|
|
52
|
-
|
|
53
|
-
- **Always confirm before checkout.** Never place an order without explicit user approval.
|
|
54
|
-
- **Be proactive.** If the user says "order pizza from Andiamo's", don't ask clarifying questions upfront — search, find the store, show the menu, and suggest items. Only ask when you need a choice the user hasn't specified.
|
|
55
|
-
- **Handle expired sessions gracefully.** If any command returns `"error": "session_expired"`, run `vellum doordash refresh --json` to re-capture the session.
|
|
56
|
-
- **Show prices.** Always show prices when presenting items or the cart summary.
|
|
57
|
-
- **Use `--json` flag** on all commands for reliable parsing.
|
|
58
|
-
- **Do NOT use the browser skill.** All DoorDash interaction goes through the CLI, not browser automation.
|
|
59
|
-
- **Rate limiting.** DoorDash rate-limits rapid sequential requests. When adding multiple items (e.g. a team order), wait 8–10 seconds between `cart add` calls. If you get a 403 error, wait 15–20 seconds and retry. For large orders (5+ items), consider running `vellum doordash refresh --json` midway through if you hit repeated 403s.
|
|
60
|
-
- **Special instructions are unreliable.** Some merchants disable special instructions entirely. Always prefer `--options` for customizations (size, milk type, etc.). Only use `--special-instructions` for free-text requests that aren't covered by the item's option groups. If the merchant rejects special instructions, drop them and proceed without.
|
|
61
|
-
- **Customization fallback.** If `cart add` with `--options` fails, or if the item details show options that are hard to construct (deeply nested, unusual format), proactively offer to use `cart learn` so the user can customize the item visually in the browser. Don't silently drop customizations — tell the user what happened and offer alternatives.
|
|
62
|
-
- **Always-allow tip.** At the start of an ordering flow, suggest the user enable "always allow" for `vellum doordash` commands: "Tip: You can type 'a' to always allow `vellum doordash` commands for this session so you won't be prompted each time."
|
|
63
|
-
- **Error attribution.** When errors occur, assume it's more likely a bug in our query/parsing than a DoorDash API change. Suggest running `vellum doordash record` to capture fresh queries before assuming the schema changed.
|
|
64
|
-
|
|
65
|
-
## Customization Options
|
|
66
|
-
|
|
67
|
-
Many items (especially coffee, boba, sandwiches) have required customization options like size, milk type, or toppings. Here's how to handle them:
|
|
68
|
-
|
|
69
|
-
### Constructing nestedOptions JSON
|
|
70
|
-
|
|
71
|
-
1. Run `vellum doordash item <storeId> <itemId> --json` to get the item's option groups
|
|
72
|
-
2. Each option group has `id`, `name`, `required`, `minSelections`, `maxSelections`, and `choices`
|
|
73
|
-
3. Build a JSON array of selections matching the DoorDash format:
|
|
74
|
-
|
|
75
|
-
```json
|
|
76
|
-
[
|
|
77
|
-
{
|
|
78
|
-
"optionId": "<option-group-id>",
|
|
79
|
-
"optionChoiceId": "<choice-id>",
|
|
80
|
-
"quantity": 1,
|
|
81
|
-
"nestedOptions": []
|
|
82
|
-
}
|
|
83
|
-
]
|
|
84
|
-
```
|
|
85
|
-
|
|
86
|
-
For choices with nested sub-options (e.g., selecting "Oat Milk" under the "Milk" option within a size), add them to the `nestedOptions` array of the parent choice.
|
|
87
|
-
|
|
88
|
-
4. Pass the JSON string to `cart add --options '<json>'`
|
|
89
|
-
|
|
90
|
-
### Special Instructions
|
|
91
|
-
|
|
92
|
-
Use `--special-instructions` on `cart add` for free-text requests like "extra hot", "no ice", "light foam". The `item` command response includes `specialInstructionsConfig` with the max length and whether instructions are supported.
|
|
93
|
-
|
|
94
|
-
**Warning:** Some merchants disable special instructions entirely. If `specialInstructionsConfig.isEnabled` is false, or if the add-to-cart call returns an error about special requests, drop the instructions and retry without them. Always prefer `--options` for customizations — special instructions are a last resort for requests not covered by the item's option groups.
|
|
95
|
-
|
|
96
|
-
### Learning Customizations via Ride Shotgun
|
|
97
|
-
|
|
98
|
-
For complex items where constructing the JSON manually is difficult, use `cart learn`:
|
|
99
|
-
|
|
100
|
-
1. Run `vellum doordash cart learn --json`
|
|
101
|
-
2. A Chrome window opens — navigate to the item, customize it visually, and click "Add to Cart"
|
|
102
|
-
3. The command auto-detects the `updateCartItem` operation and extracts the exact `nestedOptions` and `specialInstructions`
|
|
103
|
-
4. Use the extracted options directly with `cart add --options '<json>'`
|
|
104
|
-
|
|
105
|
-
You can also extract options from an existing recording with `vellum doordash inspect <recordingId> --extract-options --json`.
|
|
106
|
-
|
|
107
|
-
### Coffee Order Example
|
|
108
|
-
|
|
109
|
-
**User**: "Order a large oat milk latte with an extra shot from Blue Bottle"
|
|
110
|
-
|
|
111
|
-
1. `vellum doordash search "Blue Bottle" --json` -> finds store
|
|
112
|
-
2. `vellum doordash menu <storeId> --json` -> finds "Latte" item
|
|
113
|
-
3. `vellum doordash item <storeId> <latteItemId> --json` -> returns options:
|
|
114
|
-
- Size (required, min:1, max:1): Small (id:101), Medium (id:102), Large (id:103, +$1.00)
|
|
115
|
-
- Milk (required, min:1, max:1): Whole (id:201), Oat (id:202, +$0.70), Almond (id:203, +$0.70)
|
|
116
|
-
- Extras (optional, min:0, max:5): Extra Shot (id:301, +$0.90), Vanilla Syrup (id:302, +$0.60)
|
|
117
|
-
4. Construct options JSON and add to cart:
|
|
118
|
-
```
|
|
119
|
-
vellum doordash cart add --store-id <id> --menu-id <id> --item-id <id> --item-name "Latte" --unit-price 550 --options '[{"optionId":"size-group-id","optionChoiceId":"103","quantity":1,"nestedOptions":[]},{"optionId":"milk-group-id","optionChoiceId":"202","quantity":1,"nestedOptions":[]},{"optionId":"extras-group-id","optionChoiceId":"301","quantity":1,"nestedOptions":[]}]' --special-instructions "Extra hot" --json
|
|
120
|
-
```
|
|
121
|
-
|
|
122
|
-
## Command Reference
|
|
123
|
-
|
|
124
|
-
```
|
|
125
|
-
vellum doordash status --json # Check if logged in
|
|
126
|
-
vellum doordash refresh --json # Capture fresh session via Ride Shotgun (auto-stops after login)
|
|
127
|
-
vellum doordash login --recording <path> # Import session from a recording file manually
|
|
128
|
-
vellum doordash logout --json # Clear session
|
|
129
|
-
vellum doordash search "<query>" --json # Search restaurants
|
|
130
|
-
vellum doordash menu <storeId> --json # Get store menu (auto-detects retail stores)
|
|
131
|
-
vellum doordash store-search <storeId> "<query>" --json # Search items within a convenience/pharmacy store
|
|
132
|
-
vellum doordash item <storeId> <itemId> --json # Get item details + options
|
|
133
|
-
vellum doordash cart add --store-id <id> --menu-id <id> --item-id <id> --item-name "<name>" --unit-price <cents> [--quantity <n>] [--cart-id <id>] [--options '<json>'] [--special-instructions "<text>"] --json
|
|
134
|
-
vellum doordash cart remove --cart-id <id> --item-id <orderItemId> --json
|
|
135
|
-
vellum doordash cart view <cartId> --json
|
|
136
|
-
vellum doordash cart list [--store-id <id>] --json
|
|
137
|
-
vellum doordash cart learn --json # Learn customization options by recording browser interaction
|
|
138
|
-
vellum doordash inspect <recordingId> --extract-options --json # Extract nestedOptions from a recording
|
|
139
|
-
vellum doordash checkout <cartId> [--address-id <id>] --json
|
|
140
|
-
vellum doordash payment-methods --json # List saved payment methods
|
|
141
|
-
vellum doordash order place --cart-id <id> --store-id <id> --total <cents> [--tip <cents>] [--delivery-option <type>] [--dropoff-option <id>] [--payment-uuid <uuid>] --json
|
|
142
|
-
```
|
|
143
|
-
|
|
144
|
-
## Example Interaction
|
|
145
|
-
|
|
146
|
-
**User**: "Order a pepperoni pizza from Andiamo's"
|
|
147
|
-
|
|
148
|
-
1. `vellum doordash status --json` -> logged in
|
|
149
|
-
2. `vellum doordash search "Andiamo's" --json` -> finds store 22926474
|
|
150
|
-
3. `vellum doordash menu 22926474 --json` -> finds "Pepperoni Pizza Pie" (item 2956709006, $28.00)
|
|
151
|
-
4. Tell user: "I found Pepperoni Pizza Pie at Andiamo's for $28.00. Adding it to your cart."
|
|
152
|
-
5. `vellum doordash cart add --store-id 22926474 --menu-id 12847574 --item-id 2956709006 --item-name "Pepperoni Pizza Pie" --unit-price 2800 --json`
|
|
153
|
-
6. `vellum doordash cart view <cartId> --json` -> show summary
|
|
154
|
-
7. "Your cart has 1x Pepperoni Pizza Pie ($28.00), total $28.00. Ready to check out?"
|
|
155
|
-
|
|
156
|
-
**User**: "I need Tylenol from CVS"
|
|
157
|
-
|
|
158
|
-
1. `vellum doordash status --json` -> logged in
|
|
159
|
-
2. `vellum doordash search "CVS" --json` -> finds store 1231787
|
|
160
|
-
3. `vellum doordash menu 1231787 --json` -> isRetail: true, categories but no items
|
|
161
|
-
4. `vellum doordash store-search 1231787 "tylenol" --json` -> finds results
|
|
162
|
-
5. Show top results: "Tylenol Extra Strength Gelcaps (24 ct) - $8.79, Tylenol Extra Strength Caplets (100 ct) - $13.49..."
|
|
163
|
-
6. User picks one -> add to cart with the item's `id`, `menuId`, and `unitAmount`
|
|
@@ -1,32 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: "Followups"
|
|
3
|
-
description: "Track sent messages awaiting responses across communication channels"
|
|
4
|
-
metadata: {"vellum": {"emoji": "\ud83d\udce8"}}
|
|
5
|
-
---
|
|
6
|
-
|
|
7
|
-
Track messages sent on external channels (email, Slack, WhatsApp, etc.) that are awaiting a response.
|
|
8
|
-
|
|
9
|
-
## Lifecycle
|
|
10
|
-
|
|
11
|
-
Each follow-up moves through these states:
|
|
12
|
-
|
|
13
|
-
- **pending** -- waiting for a response
|
|
14
|
-
- **overdue** -- past the expected response deadline with no reply
|
|
15
|
-
- **nudged** -- a reminder was sent after becoming overdue
|
|
16
|
-
- **resolved** -- a response was received or the follow-up was manually closed
|
|
17
|
-
|
|
18
|
-
## Auto-Deadline
|
|
19
|
-
|
|
20
|
-
When `expected_response_hours` is set, the follow-up automatically becomes overdue after that window. If a `contact_id` is provided, the contact's importance score can inform grace period decisions.
|
|
21
|
-
|
|
22
|
-
## Resolution
|
|
23
|
-
|
|
24
|
-
Follow-ups can be resolved in two ways:
|
|
25
|
-
1. **By ID** -- resolve a specific follow-up directly
|
|
26
|
-
2. **By thread** -- provide channel + thread_id to auto-resolve all matching pending follow-ups (useful when a response arrives on a thread)
|
|
27
|
-
|
|
28
|
-
## Tips
|
|
29
|
-
|
|
30
|
-
- Use `followup_list` with `overdue_only: true` to find conversations that need attention.
|
|
31
|
-
- Attach a `reminder_schedule_id` to link a recurring reminder schedule to a follow-up.
|
|
32
|
-
- Filter by channel, status, or contact to narrow results.
|
|
@@ -1,100 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"version": 1,
|
|
3
|
-
"tools": [
|
|
4
|
-
{
|
|
5
|
-
"name": "followup_create",
|
|
6
|
-
"description": "Create a follow-up tracker for a sent message. Tracks conversations awaiting a response across channels (email, Slack, WhatsApp, etc.).",
|
|
7
|
-
"category": "followups",
|
|
8
|
-
"risk": "low",
|
|
9
|
-
"input_schema": {
|
|
10
|
-
"type": "object",
|
|
11
|
-
"properties": {
|
|
12
|
-
"channel": {
|
|
13
|
-
"type": "string",
|
|
14
|
-
"description": "Communication channel (e.g. email, slack, whatsapp)"
|
|
15
|
-
},
|
|
16
|
-
"thread_id": {
|
|
17
|
-
"type": "string",
|
|
18
|
-
"description": "External thread or conversation identifier on that channel"
|
|
19
|
-
},
|
|
20
|
-
"contact_id": {
|
|
21
|
-
"type": "string",
|
|
22
|
-
"description": "Optional contact ID from the contact graph. Used for grace period context."
|
|
23
|
-
},
|
|
24
|
-
"expected_response_hours": {
|
|
25
|
-
"type": "number",
|
|
26
|
-
"description": "Hours to wait for a response before marking as overdue. If omitted, no deadline is set."
|
|
27
|
-
},
|
|
28
|
-
"reminder_schedule_id": {
|
|
29
|
-
"type": "string",
|
|
30
|
-
"description": "Optional recurrence schedule ID to fire a reminder when overdue"
|
|
31
|
-
},
|
|
32
|
-
"reminder_cron_id": {
|
|
33
|
-
"type": "string",
|
|
34
|
-
"description": "Deprecated alias for reminder_schedule_id. Use reminder_schedule_id instead."
|
|
35
|
-
}
|
|
36
|
-
},
|
|
37
|
-
"required": ["channel", "thread_id"]
|
|
38
|
-
},
|
|
39
|
-
"executor": "tools/followup-create.ts",
|
|
40
|
-
"execution_target": "host"
|
|
41
|
-
},
|
|
42
|
-
{
|
|
43
|
-
"name": "followup_list",
|
|
44
|
-
"description": "List follow-ups with optional filters by status, channel, or contact. Can also show only overdue follow-ups.",
|
|
45
|
-
"category": "followups",
|
|
46
|
-
"risk": "low",
|
|
47
|
-
"input_schema": {
|
|
48
|
-
"type": "object",
|
|
49
|
-
"properties": {
|
|
50
|
-
"status": {
|
|
51
|
-
"type": "string",
|
|
52
|
-
"enum": ["pending", "resolved", "overdue", "nudged"],
|
|
53
|
-
"description": "Filter by status (pending, resolved, overdue, nudged)"
|
|
54
|
-
},
|
|
55
|
-
"channel": {
|
|
56
|
-
"type": "string",
|
|
57
|
-
"description": "Filter by communication channel (e.g. email, slack)"
|
|
58
|
-
},
|
|
59
|
-
"contact_id": {
|
|
60
|
-
"type": "string",
|
|
61
|
-
"description": "Filter by contact ID"
|
|
62
|
-
},
|
|
63
|
-
"overdue_only": {
|
|
64
|
-
"type": "boolean",
|
|
65
|
-
"description": "When true, return only pending follow-ups past their expected response deadline"
|
|
66
|
-
}
|
|
67
|
-
},
|
|
68
|
-
"required": []
|
|
69
|
-
},
|
|
70
|
-
"executor": "tools/followup-list.ts",
|
|
71
|
-
"execution_target": "host"
|
|
72
|
-
},
|
|
73
|
-
{
|
|
74
|
-
"name": "followup_resolve",
|
|
75
|
-
"description": "Manually resolve a follow-up by ID, or auto-resolve by channel + thread ID when a response is received.",
|
|
76
|
-
"category": "followups",
|
|
77
|
-
"risk": "low",
|
|
78
|
-
"input_schema": {
|
|
79
|
-
"type": "object",
|
|
80
|
-
"properties": {
|
|
81
|
-
"id": {
|
|
82
|
-
"type": "string",
|
|
83
|
-
"description": "Follow-up ID to resolve directly"
|
|
84
|
-
},
|
|
85
|
-
"channel": {
|
|
86
|
-
"type": "string",
|
|
87
|
-
"description": "Channel to match (used with thread_id for auto-resolution)"
|
|
88
|
-
},
|
|
89
|
-
"thread_id": {
|
|
90
|
-
"type": "string",
|
|
91
|
-
"description": "Thread ID to match (used with channel for auto-resolution)"
|
|
92
|
-
}
|
|
93
|
-
},
|
|
94
|
-
"required": []
|
|
95
|
-
},
|
|
96
|
-
"executor": "tools/followup-resolve.ts",
|
|
97
|
-
"execution_target": "host"
|
|
98
|
-
}
|
|
99
|
-
]
|
|
100
|
-
}
|
|
@@ -1,24 +0,0 @@
|
|
|
1
|
-
<svg viewBox="0 0 16 16" xmlns="http://www.w3.org/2000/svg">
|
|
2
|
-
<rect width="16" height="16" fill="#f5f5f5"/>
|
|
3
|
-
|
|
4
|
-
<!-- Envelope body -->
|
|
5
|
-
<rect x="2" y="4" width="12" height="8" fill="#4a90e2" stroke="#2c5aa0" stroke-width="1"/>
|
|
6
|
-
|
|
7
|
-
<!-- Envelope flap -->
|
|
8
|
-
<polygon points="2,4 8,8 14,4" fill="#357abd"/>
|
|
9
|
-
|
|
10
|
-
<!-- Paper/message inside -->
|
|
11
|
-
<rect x="3" y="6" width="10" height="5" fill="#ffffff"/>
|
|
12
|
-
|
|
13
|
-
<!-- Lines on paper -->
|
|
14
|
-
<line x1="4" y1="7" x2="12" y2="7" stroke="#d0d0d0" stroke-width="1"/>
|
|
15
|
-
<line x1="4" y1="8.5" x2="12" y2="8.5" stroke="#d0d0d0" stroke-width="1"/>
|
|
16
|
-
<line x1="4" y1="10" x2="10" y2="10" stroke="#d0d0d0" stroke-width="1"/>
|
|
17
|
-
|
|
18
|
-
<!-- Clock overlay (top right) -->
|
|
19
|
-
<circle cx="11" cy="3" r="2.5" fill="#ff6b6b" stroke="#c92a2a" stroke-width="0.5"/>
|
|
20
|
-
|
|
21
|
-
<!-- Clock hands -->
|
|
22
|
-
<line x1="11" y1="1.5" x2="11" y2="2.2" stroke="#ffffff" stroke-width="0.8" stroke-linecap="round"/>
|
|
23
|
-
<line x1="12.2" y1="3" x2="11.7" y2="3" stroke="#ffffff" stroke-width="0.8" stroke-linecap="round"/>
|
|
24
|
-
</svg>
|
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
import type { ToolContext, ToolExecutionResult } from '../../../../tools/types.js';
|
|
2
|
-
import { executeFollowupCreate } from '../../../../tools/followups/followup_create.js';
|
|
3
|
-
|
|
4
|
-
export async function run(
|
|
5
|
-
input: Record<string, unknown>,
|
|
6
|
-
context: ToolContext,
|
|
7
|
-
): Promise<ToolExecutionResult> {
|
|
8
|
-
return executeFollowupCreate(input, context);
|
|
9
|
-
}
|
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
import type { ToolContext, ToolExecutionResult } from '../../../../tools/types.js';
|
|
2
|
-
import { executeFollowupList } from '../../../../tools/followups/followup_list.js';
|
|
3
|
-
|
|
4
|
-
export async function run(
|
|
5
|
-
input: Record<string, unknown>,
|
|
6
|
-
context: ToolContext,
|
|
7
|
-
): Promise<ToolExecutionResult> {
|
|
8
|
-
return executeFollowupList(input, context);
|
|
9
|
-
}
|
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
import type { ToolContext, ToolExecutionResult } from '../../../../tools/types.js';
|
|
2
|
-
import { executeFollowupResolve } from '../../../../tools/followups/followup_resolve.js';
|
|
3
|
-
|
|
4
|
-
export async function run(
|
|
5
|
-
input: Record<string, unknown>,
|
|
6
|
-
context: ToolContext,
|
|
7
|
-
): Promise<ToolExecutionResult> {
|
|
8
|
-
return executeFollowupResolve(input, context);
|
|
9
|
-
}
|
|
@@ -1,51 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: "Google Calendar"
|
|
3
|
-
description: "View, create, and manage Google Calendar events and check availability"
|
|
4
|
-
user-invocable: true
|
|
5
|
-
metadata: {"vellum": {"emoji": "📅"}}
|
|
6
|
-
---
|
|
7
|
-
|
|
8
|
-
You are a Google Calendar assistant with full access to the user's calendar. Use the Calendar tools to help them view, create, and manage events.
|
|
9
|
-
|
|
10
|
-
## Connection Setup
|
|
11
|
-
|
|
12
|
-
Before using any Calendar tool, verify that Google Calendar is connected by attempting a lightweight call (e.g., `calendar_list_events` with a narrow date range). If the call fails with a token/authorization error:
|
|
13
|
-
|
|
14
|
-
1. **Do NOT call `credential_store oauth2_connect` yourself.** You do not have valid OAuth client credentials, and fabricating a client_id will cause a "401: invalid_client" error from Google.
|
|
15
|
-
2. Instead, install and load the **google-oauth-setup** skill, which walks the user through creating real credentials in Google Cloud Console:
|
|
16
|
-
- Call `vellum_skills_catalog` with `action: "install"` and `skill_id: "google-oauth-setup"`.
|
|
17
|
-
- Then call `vellum_skills_catalog` with `action: "load"` and `skill_id: "google-oauth-setup"`.
|
|
18
|
-
3. Tell the user: *"Google Calendar isn't connected yet. I've loaded a setup guide that will walk you through connecting your Google account — it only takes a couple of minutes."*
|
|
19
|
-
|
|
20
|
-
## Capabilities
|
|
21
|
-
|
|
22
|
-
- **List Events**: View upcoming events from any calendar within a date range.
|
|
23
|
-
- **Get Event**: Read full details of a specific calendar event.
|
|
24
|
-
- **Create Event**: Create new events with attendees, location, and description.
|
|
25
|
-
- **Check Availability**: Find free/busy times across calendars to identify open slots for scheduling.
|
|
26
|
-
- **RSVP**: Respond to event invitations (accepted, declined, tentative).
|
|
27
|
-
|
|
28
|
-
## Scheduling Playbook
|
|
29
|
-
|
|
30
|
-
When the user wants to schedule something:
|
|
31
|
-
|
|
32
|
-
1. **Always check availability first** before proposing times. Use `calendar_check_availability` to find free slots.
|
|
33
|
-
2. Propose 2-3 available time options to the user.
|
|
34
|
-
3. Once the user picks a time, create the event with `calendar_create_event`.
|
|
35
|
-
4. If adding other attendees, mention that they'll receive an invitation email.
|
|
36
|
-
|
|
37
|
-
## Date & Time Handling
|
|
38
|
-
|
|
39
|
-
- Always ask the user for their timezone if it's not already known from context or their profile.
|
|
40
|
-
- Use ISO 8601 format for dates and times (e.g., `2024-01-15T09:00:00-05:00`).
|
|
41
|
-
- For all-day events, use date-only format (e.g., `2024-01-15`).
|
|
42
|
-
- When listing events, display times in the user's local timezone.
|
|
43
|
-
|
|
44
|
-
## Confidence Scores
|
|
45
|
-
|
|
46
|
-
Medium-risk tools (create event, RSVP) require a confidence score between 0 and 1. Set this based on how certain you are the action matches the user's intent:
|
|
47
|
-
|
|
48
|
-
- **0.9-1.0**: User explicitly requested this exact action
|
|
49
|
-
- **0.7-0.8**: Action is strongly implied by context
|
|
50
|
-
- **0.5-0.6**: Reasonable inference but some ambiguity
|
|
51
|
-
- **Below 0.5**: Ask the user to confirm before proceeding
|
|
@@ -1,108 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"version": 1,
|
|
3
|
-
"tools": [
|
|
4
|
-
{
|
|
5
|
-
"name": "calendar_list_events",
|
|
6
|
-
"description": "List upcoming calendar events within a date range. Returns event summaries, times, and metadata.",
|
|
7
|
-
"category": "calendar",
|
|
8
|
-
"risk": "low",
|
|
9
|
-
"input_schema": {
|
|
10
|
-
"type": "object",
|
|
11
|
-
"properties": {
|
|
12
|
-
"calendar_id": { "type": "string", "description": "Calendar ID to query (default \"primary\")" },
|
|
13
|
-
"time_min": { "type": "string", "description": "Start of time range in ISO 8601 format (e.g. \"2024-01-15T00:00:00Z\"). Defaults to now." },
|
|
14
|
-
"time_max": { "type": "string", "description": "End of time range in ISO 8601 format (e.g. \"2024-01-22T00:00:00Z\"). Defaults to 7 days from now." },
|
|
15
|
-
"max_results": { "type": "number", "description": "Maximum number of events to return (default 25, max 250)" },
|
|
16
|
-
"query": { "type": "string", "description": "Free text search terms to filter events" },
|
|
17
|
-
"single_events": { "type": "boolean", "description": "Whether to expand recurring events into individual instances (default true)" },
|
|
18
|
-
"order_by": { "type": "string", "enum": ["startTime", "updated"], "description": "Sort order (default \"startTime\"). Only valid when single_events is true." }
|
|
19
|
-
}
|
|
20
|
-
},
|
|
21
|
-
"executor": "tools/calendar-list-events.ts",
|
|
22
|
-
"execution_target": "host"
|
|
23
|
-
},
|
|
24
|
-
{
|
|
25
|
-
"name": "calendar_get_event",
|
|
26
|
-
"description": "Get the full details of a single calendar event by its ID.",
|
|
27
|
-
"category": "calendar",
|
|
28
|
-
"risk": "low",
|
|
29
|
-
"input_schema": {
|
|
30
|
-
"type": "object",
|
|
31
|
-
"properties": {
|
|
32
|
-
"event_id": { "type": "string", "description": "The calendar event ID" },
|
|
33
|
-
"calendar_id": { "type": "string", "description": "Calendar ID (default \"primary\")" }
|
|
34
|
-
},
|
|
35
|
-
"required": ["event_id"]
|
|
36
|
-
},
|
|
37
|
-
"executor": "tools/calendar-get-event.ts",
|
|
38
|
-
"execution_target": "host"
|
|
39
|
-
},
|
|
40
|
-
{
|
|
41
|
-
"name": "calendar_create_event",
|
|
42
|
-
"description": "Create a new calendar event. Include a confidence score (0-1) indicating how certain you are this action is correct.",
|
|
43
|
-
"category": "calendar",
|
|
44
|
-
"risk": "medium",
|
|
45
|
-
"input_schema": {
|
|
46
|
-
"type": "object",
|
|
47
|
-
"properties": {
|
|
48
|
-
"summary": { "type": "string", "description": "Event title" },
|
|
49
|
-
"start": { "type": "string", "description": "Start time in ISO 8601 format (e.g. \"2024-01-15T09:00:00-05:00\") or date for all-day events (\"2024-01-15\")" },
|
|
50
|
-
"end": { "type": "string", "description": "End time in ISO 8601 format or date for all-day events" },
|
|
51
|
-
"description": { "type": "string", "description": "Event description or notes" },
|
|
52
|
-
"location": { "type": "string", "description": "Event location" },
|
|
53
|
-
"attendees": {
|
|
54
|
-
"type": "array",
|
|
55
|
-
"items": { "type": "string" },
|
|
56
|
-
"description": "Email addresses of attendees to invite"
|
|
57
|
-
},
|
|
58
|
-
"timezone": { "type": "string", "description": "IANA timezone (e.g. \"America/New_York\"). Required when start/end don't include timezone offset." },
|
|
59
|
-
"calendar_id": { "type": "string", "description": "Calendar ID (default \"primary\")" },
|
|
60
|
-
"confidence": { "type": "number", "description": "Confidence score (0-1) for this action" }
|
|
61
|
-
},
|
|
62
|
-
"required": ["summary", "start", "end", "confidence"]
|
|
63
|
-
},
|
|
64
|
-
"executor": "tools/calendar-create-event.ts",
|
|
65
|
-
"execution_target": "host"
|
|
66
|
-
},
|
|
67
|
-
{
|
|
68
|
-
"name": "calendar_check_availability",
|
|
69
|
-
"description": "Check free/busy status across one or more calendars to find available time slots.",
|
|
70
|
-
"category": "calendar",
|
|
71
|
-
"risk": "low",
|
|
72
|
-
"input_schema": {
|
|
73
|
-
"type": "object",
|
|
74
|
-
"properties": {
|
|
75
|
-
"time_min": { "type": "string", "description": "Start of time range in ISO 8601 format" },
|
|
76
|
-
"time_max": { "type": "string", "description": "End of time range in ISO 8601 format" },
|
|
77
|
-
"calendar_ids": {
|
|
78
|
-
"type": "array",
|
|
79
|
-
"items": { "type": "string" },
|
|
80
|
-
"description": "Calendar IDs to check (default [\"primary\"])"
|
|
81
|
-
},
|
|
82
|
-
"timezone": { "type": "string", "description": "IANA timezone for interpreting results (e.g. \"America/New_York\")" }
|
|
83
|
-
},
|
|
84
|
-
"required": ["time_min", "time_max"]
|
|
85
|
-
},
|
|
86
|
-
"executor": "tools/calendar-check-availability.ts",
|
|
87
|
-
"execution_target": "host"
|
|
88
|
-
},
|
|
89
|
-
{
|
|
90
|
-
"name": "calendar_rsvp",
|
|
91
|
-
"description": "Respond to a calendar event invitation (accept, decline, or tentative). Include a confidence score (0-1).",
|
|
92
|
-
"category": "calendar",
|
|
93
|
-
"risk": "medium",
|
|
94
|
-
"input_schema": {
|
|
95
|
-
"type": "object",
|
|
96
|
-
"properties": {
|
|
97
|
-
"event_id": { "type": "string", "description": "The calendar event ID" },
|
|
98
|
-
"response": { "type": "string", "enum": ["accepted", "declined", "tentative"], "description": "RSVP response" },
|
|
99
|
-
"calendar_id": { "type": "string", "description": "Calendar ID (default \"primary\")" },
|
|
100
|
-
"confidence": { "type": "number", "description": "Confidence score (0-1) for this action" }
|
|
101
|
-
},
|
|
102
|
-
"required": ["event_id", "response", "confidence"]
|
|
103
|
-
},
|
|
104
|
-
"executor": "tools/calendar-rsvp.ts",
|
|
105
|
-
"execution_target": "host"
|
|
106
|
-
}
|
|
107
|
-
]
|
|
108
|
-
}
|