vellum 0.0.16 → 0.2.0
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/.dockerignore +27 -0
- package/.env.example +22 -0
- package/Dockerfile +99 -0
- package/Dockerfile.sandbox +5 -0
- package/README.md +150 -3
- package/bun.lock +1768 -0
- package/bunfig.toml +2 -0
- package/docs/skills.md +158 -0
- package/drizzle/0000_dizzy_maggott.sql +301 -0
- package/drizzle/meta/0000_snapshot.json +1999 -0
- package/drizzle/meta/_journal.json +13 -0
- package/drizzle.config.ts +7 -0
- package/eslint.config.mjs +17 -0
- package/hook-templates/debug-prompt-logger/hook.json +7 -0
- package/hook-templates/debug-prompt-logger/run.sh +68 -0
- package/knip.json +9 -0
- package/package.json +60 -10
- package/scripts/ipc/check-contract-inventory.ts +104 -0
- package/scripts/ipc/check-swift-decoder-drift.ts +163 -0
- package/scripts/ipc/generate-swift.ts +492 -0
- package/scripts/test-filesystem-tools.sh +48 -0
- package/scripts/test.sh +122 -0
- package/src/__tests__/__snapshots__/ipc-snapshot.test.ts.snap +2079 -0
- package/src/__tests__/account-registry.test.ts +244 -0
- package/src/__tests__/active-skill-tools.test.ts +378 -0
- package/src/__tests__/agent-loop-thinking.test.ts +81 -0
- package/src/__tests__/agent-loop.test.ts +1135 -0
- package/src/__tests__/anthropic-provider.test.ts +778 -0
- package/src/__tests__/app-builder-tool-scripts.test.ts +290 -0
- package/src/__tests__/app-bundler.test.ts +313 -0
- package/src/__tests__/app-executors.test.ts +613 -0
- package/src/__tests__/app-open-proxy.test.ts +62 -0
- package/src/__tests__/asset-materialize-tool.test.ts +451 -0
- package/src/__tests__/asset-search-tool.test.ts +476 -0
- package/src/__tests__/assistant-attachment-directive.test.ts +401 -0
- package/src/__tests__/assistant-attachments.test.ts +437 -0
- package/src/__tests__/assistant-event-hub.test.ts +226 -0
- package/src/__tests__/assistant-event.test.ts +123 -0
- package/src/__tests__/attachments-store.test.ts +547 -0
- package/src/__tests__/attachments.test.ts +134 -0
- package/src/__tests__/audit-log-rotation.test.ts +154 -0
- package/src/__tests__/browser-fill-credential.test.ts +309 -0
- package/src/__tests__/browser-manager.test.ts +203 -0
- package/src/__tests__/browser-runtime-check.test.ts +55 -0
- package/src/__tests__/browser-skill-baseline-tool-payload.test.ts +67 -0
- package/src/__tests__/browser-skill-endstate.test.ts +198 -0
- package/src/__tests__/bundle-scanner.test.ts +313 -0
- package/src/__tests__/checker.test.ts +3856 -0
- package/src/__tests__/clarification-resolver.test.ts +159 -0
- package/src/__tests__/classifier.test.ts +67 -0
- package/src/__tests__/claude-code-skill-regression.test.ts +127 -0
- package/src/__tests__/claude-code-tool-profiles.test.ts +88 -0
- package/src/__tests__/cli-discover.test.ts +85 -0
- package/src/__tests__/cli.test.ts +81 -0
- package/src/__tests__/clipboard.test.ts +80 -0
- package/src/__tests__/commit-guarantee.test.ts +335 -0
- package/src/__tests__/computer-use-session-compaction.test.ts +132 -0
- package/src/__tests__/computer-use-session-lifecycle.test.ts +293 -0
- package/src/__tests__/computer-use-session-working-dir.test.ts +117 -0
- package/src/__tests__/computer-use-skill-baseline.test.ts +74 -0
- package/src/__tests__/computer-use-skill-endstate.test.ts +89 -0
- package/src/__tests__/computer-use-skill-lifecycle-cleanup.test.ts +217 -0
- package/src/__tests__/computer-use-skill-manifest-regression.test.ts +107 -0
- package/src/__tests__/computer-use-skill-proxy-bridge.test.ts +54 -0
- package/src/__tests__/config-schema.test.ts +720 -0
- package/src/__tests__/conflict-store.test.ts +329 -0
- package/src/__tests__/connection-policy.test.ts +102 -0
- package/src/__tests__/context-memory-e2e.test.ts +434 -0
- package/src/__tests__/context-token-estimator.test.ts +135 -0
- package/src/__tests__/context-window-manager.test.ts +376 -0
- package/src/__tests__/contradiction-checker.test.ts +216 -0
- package/src/__tests__/conversation-store.test.ts +614 -0
- package/src/__tests__/credential-broker-browser-fill.test.ts +517 -0
- package/src/__tests__/credential-broker-server-use.test.ts +554 -0
- package/src/__tests__/credential-broker.test.ts +167 -0
- package/src/__tests__/credential-host-pattern-match.test.ts +104 -0
- package/src/__tests__/credential-metadata-store.test.ts +779 -0
- package/src/__tests__/credential-policy-validate.test.ts +121 -0
- package/src/__tests__/credential-resolve.test.ts +328 -0
- package/src/__tests__/credential-security-e2e.test.ts +352 -0
- package/src/__tests__/credential-security-invariants.test.ts +563 -0
- package/src/__tests__/credential-selection.test.ts +354 -0
- package/src/__tests__/credential-vault.test.ts +852 -0
- package/src/__tests__/daemon-assistant-events.test.ts +164 -0
- package/src/__tests__/daemon-server-session-init.test.ts +522 -0
- package/src/__tests__/delete-managed-skill-tool.test.ts +97 -0
- package/src/__tests__/diff.test.ts +121 -0
- package/src/__tests__/domain-normalize.test.ts +112 -0
- package/src/__tests__/domain-policy.test.ts +124 -0
- package/src/__tests__/doordash-client.test.ts +186 -0
- package/src/__tests__/doordash-session.test.ts +143 -0
- package/src/__tests__/dynamic-page-surface.test.ts +91 -0
- package/src/__tests__/dynamic-skill-workflow-prompt.test.ts +132 -0
- package/src/__tests__/edit-engine.test.ts +180 -0
- package/src/__tests__/email-cli.test.ts +283 -0
- package/src/__tests__/encrypted-store.test.ts +332 -0
- package/src/__tests__/entity-extractor.test.ts +190 -0
- package/src/__tests__/ephemeral-permissions.test.ts +312 -0
- package/src/__tests__/evaluate-typescript-tool.test.ts +286 -0
- package/src/__tests__/event-bus.test.ts +222 -0
- package/src/__tests__/file-edit-tool.test.ts +122 -0
- package/src/__tests__/file-ops-service.test.ts +330 -0
- package/src/__tests__/file-read-tool.test.ts +75 -0
- package/src/__tests__/file-write-tool.test.ts +113 -0
- package/src/__tests__/fixtures/credential-security-fixtures.ts +181 -0
- package/src/__tests__/fixtures/media-reuse-fixtures.ts +126 -0
- package/src/__tests__/fixtures/mock-signup-server.ts +387 -0
- package/src/__tests__/fixtures/proxy-fixtures.ts +147 -0
- package/src/__tests__/fuzzy-match-property.test.ts +216 -0
- package/src/__tests__/fuzzy-match.test.ts +138 -0
- package/src/__tests__/gemini-image-service.test.ts +261 -0
- package/src/__tests__/gemini-provider.test.ts +651 -0
- package/src/__tests__/get-weather.test.ts +318 -0
- package/src/__tests__/gmail-integration.test.ts +73 -0
- package/src/__tests__/handlers-cu-observation-blob.test.ts +351 -0
- package/src/__tests__/handlers-ipc-blob-probe.test.ts +190 -0
- package/src/__tests__/handlers-slack-config.test.ts +199 -0
- package/src/__tests__/handlers-task-submit-slash.test.ts +38 -0
- package/src/__tests__/headless-browser-interactions.test.ts +536 -0
- package/src/__tests__/headless-browser-navigate.test.ts +211 -0
- package/src/__tests__/headless-browser-read-tools.test.ts +261 -0
- package/src/__tests__/headless-browser-snapshot.test.ts +185 -0
- package/src/__tests__/history-repair-observability.test.ts +56 -0
- package/src/__tests__/history-repair.test.ts +510 -0
- package/src/__tests__/home-base-bootstrap.test.ts +77 -0
- package/src/__tests__/hooks-blocking.test.ts +128 -0
- package/src/__tests__/hooks-cli.test.ts +144 -0
- package/src/__tests__/hooks-config.test.ts +93 -0
- package/src/__tests__/hooks-discovery.test.ts +199 -0
- package/src/__tests__/hooks-integration.test.ts +189 -0
- package/src/__tests__/hooks-manager.test.ts +187 -0
- package/src/__tests__/hooks-runner.test.ts +178 -0
- package/src/__tests__/hooks-settings.test.ts +154 -0
- package/src/__tests__/hooks-templates.test.ts +137 -0
- package/src/__tests__/hooks-ts-runner.test.ts +125 -0
- package/src/__tests__/hooks-watch.test.ts +100 -0
- package/src/__tests__/host-file-edit-tool.test.ts +104 -0
- package/src/__tests__/host-file-read-tool.test.ts +61 -0
- package/src/__tests__/host-file-write-tool.test.ts +77 -0
- package/src/__tests__/host-shell-tool.test.ts +311 -0
- package/src/__tests__/intent-routing.test.ts +255 -0
- package/src/__tests__/ipc-blob-store.test.ts +315 -0
- package/src/__tests__/ipc-contract-inventory.test.ts +54 -0
- package/src/__tests__/ipc-contract.test.ts +74 -0
- package/src/__tests__/ipc-protocol.test.ts +113 -0
- package/src/__tests__/ipc-snapshot.test.ts +1560 -0
- package/src/__tests__/ipc-validate.test.ts +357 -0
- package/src/__tests__/key-migration.test.ts +183 -0
- package/src/__tests__/keychain.test.ts +258 -0
- package/src/__tests__/llm-usage-store.test.ts +226 -0
- package/src/__tests__/managed-skill-lifecycle.test.ts +257 -0
- package/src/__tests__/managed-store.test.ts +608 -0
- package/src/__tests__/media-generate-image.test.ts +238 -0
- package/src/__tests__/media-reuse-story.e2e.test.ts +676 -0
- package/src/__tests__/media-visibility-policy.test.ts +141 -0
- package/src/__tests__/memory-context-benchmark.test.ts +235 -0
- package/src/__tests__/memory-lifecycle-e2e.test.ts +481 -0
- package/src/__tests__/memory-query-builder.test.ts +59 -0
- package/src/__tests__/memory-recall-quality.test.ts +846 -0
- package/src/__tests__/memory-regressions.experimental.test.ts +538 -0
- package/src/__tests__/memory-regressions.test.ts +4238 -0
- package/src/__tests__/memory-retrieval-budget.test.ts +49 -0
- package/src/__tests__/migration-cli-flows.test.ts +169 -0
- package/src/__tests__/migration-ordering.test.ts +249 -0
- package/src/__tests__/mock-signup-server.test.ts +528 -0
- package/src/__tests__/onboarding-starter-tasks.test.ts +166 -0
- package/src/__tests__/onboarding-template-contract.test.ts +58 -0
- package/src/__tests__/openai-provider.test.ts +753 -0
- package/src/__tests__/parser.test.ts +472 -0
- package/src/__tests__/path-classifier.test.ts +73 -0
- package/src/__tests__/path-policy.test.ts +435 -0
- package/src/__tests__/platform-move-helper.test.ts +99 -0
- package/src/__tests__/platform-socket-path.test.ts +52 -0
- package/src/__tests__/platform-workspace-migration.test.ts +1000 -0
- package/src/__tests__/platform.test.ts +131 -0
- package/src/__tests__/prebuilt-home-base-seed.test.ts +71 -0
- package/src/__tests__/pricing.test.ts +256 -0
- package/src/__tests__/profile-compiler.test.ts +373 -0
- package/src/__tests__/provider-registry-ollama.test.ts +16 -0
- package/src/__tests__/proxy-approval-callback.test.ts +601 -0
- package/src/__tests__/ratelimit.test.ts +297 -0
- package/src/__tests__/registry.test.ts +487 -0
- package/src/__tests__/reminder-store.test.ts +220 -0
- package/src/__tests__/reminder.test.ts +263 -0
- package/src/__tests__/request-file-tool.test.ts +158 -0
- package/src/__tests__/run-orchestrator.test.ts +200 -0
- package/src/__tests__/runtime-attachment-metadata.test.ts +190 -0
- package/src/__tests__/runtime-runs-http.test.ts +451 -0
- package/src/__tests__/runtime-runs.test.ts +273 -0
- package/src/__tests__/sandbox-diagnostics.test.ts +408 -0
- package/src/__tests__/sandbox-host-parity.test.ts +950 -0
- package/src/__tests__/scaffold-managed-skill-tool.test.ts +253 -0
- package/src/__tests__/script-proxy-certs.test.ts +90 -0
- package/src/__tests__/script-proxy-connect-tunnel.test.ts +177 -0
- package/src/__tests__/script-proxy-decision-trace.test.ts +156 -0
- package/src/__tests__/script-proxy-http-forwarder.test.ts +281 -0
- package/src/__tests__/script-proxy-injection-runtime.test.ts +401 -0
- package/src/__tests__/script-proxy-mitm-handler.test.ts +407 -0
- package/src/__tests__/script-proxy-policy-runtime.test.ts +287 -0
- package/src/__tests__/script-proxy-policy.test.ts +310 -0
- package/src/__tests__/script-proxy-rewrite-specificity.test.ts +135 -0
- package/src/__tests__/script-proxy-router.test.ts +180 -0
- package/src/__tests__/script-proxy-session-manager.test.ts +382 -0
- package/src/__tests__/script-proxy-session-runtime.test.ts +113 -0
- package/src/__tests__/secret-allowlist.test.ts +229 -0
- package/src/__tests__/secret-ingress-handler.test.ts +99 -0
- package/src/__tests__/secret-onetime-send.test.ts +130 -0
- package/src/__tests__/secret-prompt-log-hygiene.test.ts +106 -0
- package/src/__tests__/secret-response-routing.test.ts +93 -0
- package/src/__tests__/secret-scanner-executor.test.ts +348 -0
- package/src/__tests__/secret-scanner.test.ts +857 -0
- package/src/__tests__/secure-keys.test.ts +323 -0
- package/src/__tests__/server-history-render.test.ts +430 -0
- package/src/__tests__/session-abort-tool-results.test.ts +240 -0
- package/src/__tests__/session-conflict-gate.test.ts +697 -0
- package/src/__tests__/session-error.test.ts +341 -0
- package/src/__tests__/session-evictor.test.ts +188 -0
- package/src/__tests__/session-load-history-repair.test.ts +222 -0
- package/src/__tests__/session-pre-run-repair.test.ts +213 -0
- package/src/__tests__/session-profile-injection.test.ts +444 -0
- package/src/__tests__/session-provider-retry-repair.test.ts +306 -0
- package/src/__tests__/session-queue.test.ts +1462 -0
- package/src/__tests__/session-runtime-assembly.test.ts +315 -0
- package/src/__tests__/session-runtime-workspace.test.ts +183 -0
- package/src/__tests__/session-skill-tools.test.ts +2431 -0
- package/src/__tests__/session-slash-known.test.ts +368 -0
- package/src/__tests__/session-slash-queue.test.ts +288 -0
- package/src/__tests__/session-slash-unknown.test.ts +271 -0
- package/src/__tests__/session-tool-setup-app-refresh.test.ts +473 -0
- package/src/__tests__/session-tool-setup-memory-scope.test.ts +140 -0
- package/src/__tests__/session-tool-setup-side-effect-flag.test.ts +140 -0
- package/src/__tests__/session-undo.test.ts +75 -0
- package/src/__tests__/session-workspace-cache-state.test.ts +246 -0
- package/src/__tests__/session-workspace-injection.test.ts +327 -0
- package/src/__tests__/session-workspace-tool-tracking.test.ts +240 -0
- package/src/__tests__/shared-filesystem-errors.test.ts +78 -0
- package/src/__tests__/shell-credential-ref.test.ts +187 -0
- package/src/__tests__/shell-parser-fuzz.test.ts +544 -0
- package/src/__tests__/shell-parser-property.test.ts +433 -0
- package/src/__tests__/shell-tool-proxy-mode.test.ts +272 -0
- package/src/__tests__/signup-e2e.test.ts +352 -0
- package/src/__tests__/size-guard.test.ts +117 -0
- package/src/__tests__/skill-include-graph.test.ts +303 -0
- package/src/__tests__/skill-load-tool.test.ts +409 -0
- package/src/__tests__/skill-script-runner-host.test.ts +489 -0
- package/src/__tests__/skill-script-runner-sandbox.test.ts +349 -0
- package/src/__tests__/skill-tool-factory.test.ts +252 -0
- package/src/__tests__/skill-tool-manifest.test.ts +658 -0
- package/src/__tests__/skill-version-hash.test.ts +182 -0
- package/src/__tests__/skills.test.ts +597 -0
- package/src/__tests__/slash-commands-catalog.test.ts +86 -0
- package/src/__tests__/slash-commands-parser.test.ts +119 -0
- package/src/__tests__/slash-commands-resolver.test.ts +193 -0
- package/src/__tests__/slash-commands-rewrite.test.ts +39 -0
- package/src/__tests__/starter-bundle.test.ts +136 -0
- package/src/__tests__/starter-task-flow.test.ts +143 -0
- package/src/__tests__/subagent-manager-notify.test.ts +372 -0
- package/src/__tests__/subagent-tools.test.ts +118 -0
- package/src/__tests__/subagent-types.test.ts +78 -0
- package/src/__tests__/swarm-orchestrator.test.ts +428 -0
- package/src/__tests__/swarm-plan-validator.test.ts +330 -0
- package/src/__tests__/swarm-recursion.test.ts +165 -0
- package/src/__tests__/swarm-router-planner.test.ts +208 -0
- package/src/__tests__/swarm-session-integration.test.ts +274 -0
- package/src/__tests__/swarm-tool.test.ts +145 -0
- package/src/__tests__/swarm-worker-backend.test.ts +129 -0
- package/src/__tests__/swarm-worker-runner.test.ts +272 -0
- package/src/__tests__/system-prompt.test.ts +461 -0
- package/src/__tests__/task-compiler.test.ts +283 -0
- package/src/__tests__/task-runner.test.ts +215 -0
- package/src/__tests__/task-scheduler.test.ts +216 -0
- package/src/__tests__/task-tools.test.ts +602 -0
- package/src/__tests__/terminal-sandbox-docker.test.ts +1064 -0
- package/src/__tests__/terminal-sandbox.integration.test.ts +178 -0
- package/src/__tests__/terminal-sandbox.test.ts +202 -0
- package/src/__tests__/test-support/browser-skill-harness.ts +90 -0
- package/src/__tests__/test-support/computer-use-skill-harness.ts +45 -0
- package/src/__tests__/tool-audit-listener.test.ts +112 -0
- package/src/__tests__/tool-domain-event-publisher.test.ts +251 -0
- package/src/__tests__/tool-executor-lifecycle-events.test.ts +516 -0
- package/src/__tests__/tool-executor-redaction.test.ts +289 -0
- package/src/__tests__/tool-executor.test.ts +1971 -0
- package/src/__tests__/tool-metrics-listener.test.ts +225 -0
- package/src/__tests__/tool-notification-listener.test.ts +49 -0
- package/src/__tests__/tool-policy.test.ts +54 -0
- package/src/__tests__/tool-profiling-listener.test.ts +268 -0
- package/src/__tests__/tool-result-truncation.test.ts +217 -0
- package/src/__tests__/tool-trace-listener.test.ts +226 -0
- package/src/__tests__/top-level-renderer.test.ts +121 -0
- package/src/__tests__/top-level-scanner.test.ts +141 -0
- package/src/__tests__/trace-emitter.test.ts +173 -0
- package/src/__tests__/trust-store.test.ts +2030 -0
- package/src/__tests__/turn-commit.test.ts +219 -0
- package/src/__tests__/url-safety.test.ts +418 -0
- package/src/__tests__/weather-skill-regression.test.ts +225 -0
- package/src/__tests__/web-fetch.test.ts +869 -0
- package/src/__tests__/web-search.test.ts +584 -0
- package/src/__tests__/workspace-git-service.test.ts +750 -0
- package/src/__tests__/workspace-heartbeat-service.test.ts +347 -0
- package/src/__tests__/workspace-lifecycle.test.ts +292 -0
- package/src/agent/attachments.ts +35 -0
- package/src/agent/loop.ts +500 -0
- package/src/agent/message-types.ts +17 -0
- package/src/autonomy/autonomy-resolver.ts +60 -0
- package/src/autonomy/autonomy-store.ts +122 -0
- package/src/autonomy/disposition-mapper.ts +31 -0
- package/src/autonomy/index.ts +11 -0
- package/src/autonomy/types.ts +39 -0
- package/src/bundler/app-bundler.ts +274 -0
- package/src/bundler/bundle-scanner.ts +535 -0
- package/src/bundler/bundle-signer.ts +124 -0
- package/src/bundler/manifest.ts +21 -0
- package/src/bundler/signature-verifier.ts +184 -0
- package/src/cli/autonomy.ts +188 -0
- package/src/cli/contacts.ts +149 -0
- package/src/cli/doordash.ts +824 -0
- package/src/cli/email-guardrails.ts +200 -0
- package/src/cli/email.ts +405 -0
- package/src/cli/main-screen.tsx +155 -0
- package/src/cli.ts +935 -0
- package/src/config/bundled-skills/.gitkeep +0 -0
- package/src/config/bundled-skills/agentmail/SKILL.md +128 -0
- package/src/config/bundled-skills/agentmail/icon.svg +21 -0
- package/src/config/bundled-skills/app-builder/SKILL.md +1348 -0
- package/src/config/bundled-skills/app-builder/TOOLS.json +279 -0
- package/src/config/bundled-skills/app-builder/icon.svg +9 -0
- package/src/config/bundled-skills/app-builder/tools/app-create.ts +15 -0
- package/src/config/bundled-skills/app-builder/tools/app-delete.ts +10 -0
- package/src/config/bundled-skills/app-builder/tools/app-file-edit.ts +11 -0
- package/src/config/bundled-skills/app-builder/tools/app-file-list.ts +10 -0
- package/src/config/bundled-skills/app-builder/tools/app-file-read.ts +18 -0
- package/src/config/bundled-skills/app-builder/tools/app-file-write.ts +11 -0
- package/src/config/bundled-skills/app-builder/tools/app-list.ts +10 -0
- package/src/config/bundled-skills/app-builder/tools/app-query.ts +10 -0
- package/src/config/bundled-skills/app-builder/tools/app-update.ts +20 -0
- package/src/config/bundled-skills/browser/SKILL.md +28 -0
- package/src/config/bundled-skills/browser/TOOLS.json +234 -0
- package/src/config/bundled-skills/browser/tools/browser-click.ts +9 -0
- package/src/config/bundled-skills/browser/tools/browser-close.ts +9 -0
- package/src/config/bundled-skills/browser/tools/browser-extract.ts +9 -0
- package/src/config/bundled-skills/browser/tools/browser-fill-credential.ts +9 -0
- package/src/config/bundled-skills/browser/tools/browser-navigate.ts +9 -0
- package/src/config/bundled-skills/browser/tools/browser-press-key.ts +9 -0
- package/src/config/bundled-skills/browser/tools/browser-screenshot.ts +9 -0
- package/src/config/bundled-skills/browser/tools/browser-snapshot.ts +9 -0
- package/src/config/bundled-skills/browser/tools/browser-type.ts +9 -0
- package/src/config/bundled-skills/browser/tools/browser-wait-for.ts +9 -0
- package/src/config/bundled-skills/claude-code/SKILL.md +50 -0
- package/src/config/bundled-skills/claude-code/TOOLS.json +40 -0
- package/src/config/bundled-skills/claude-code/tools/claude-code.ts +9 -0
- package/src/config/bundled-skills/computer-use/SKILL.md +17 -0
- package/src/config/bundled-skills/computer-use/TOOLS.json +326 -0
- package/src/config/bundled-skills/computer-use/tools/computer-use-click.ts +9 -0
- package/src/config/bundled-skills/computer-use/tools/computer-use-done.ts +9 -0
- package/src/config/bundled-skills/computer-use/tools/computer-use-double-click.ts +9 -0
- package/src/config/bundled-skills/computer-use/tools/computer-use-drag.ts +9 -0
- package/src/config/bundled-skills/computer-use/tools/computer-use-key.ts +9 -0
- package/src/config/bundled-skills/computer-use/tools/computer-use-open-app.ts +9 -0
- package/src/config/bundled-skills/computer-use/tools/computer-use-request-control.ts +9 -0
- package/src/config/bundled-skills/computer-use/tools/computer-use-respond.ts +9 -0
- package/src/config/bundled-skills/computer-use/tools/computer-use-right-click.ts +9 -0
- package/src/config/bundled-skills/computer-use/tools/computer-use-run-applescript.ts +9 -0
- package/src/config/bundled-skills/computer-use/tools/computer-use-scroll.ts +9 -0
- package/src/config/bundled-skills/computer-use/tools/computer-use-type-text.ts +9 -0
- package/src/config/bundled-skills/computer-use/tools/computer-use-wait.ts +9 -0
- package/src/config/bundled-skills/google-calendar/SKILL.md +51 -0
- package/src/config/bundled-skills/google-calendar/TOOLS.json +108 -0
- package/src/config/bundled-skills/google-calendar/calendar-client.ts +165 -0
- package/src/config/bundled-skills/google-calendar/tools/calendar-check-availability.ts +21 -0
- package/src/config/bundled-skills/google-calendar/tools/calendar-create-event.ts +42 -0
- package/src/config/bundled-skills/google-calendar/tools/calendar-get-event.ts +13 -0
- package/src/config/bundled-skills/google-calendar/tools/calendar-list-events.ts +30 -0
- package/src/config/bundled-skills/google-calendar/tools/calendar-rsvp.ts +41 -0
- package/src/config/bundled-skills/google-calendar/tools/shared.ts +18 -0
- package/src/config/bundled-skills/google-calendar/types.ts +97 -0
- package/src/config/bundled-skills/image-studio/SKILL.md +32 -0
- package/src/config/bundled-skills/image-studio/TOOLS.json +42 -0
- package/src/config/bundled-skills/image-studio/tools/media-generate-image.ts +137 -0
- package/src/config/bundled-skills/messaging/SKILL.md +126 -0
- package/src/config/bundled-skills/messaging/TOOLS.json +357 -0
- package/src/config/bundled-skills/messaging/tools/gmail-archive.ts +23 -0
- package/src/config/bundled-skills/messaging/tools/gmail-batch-archive.ts +23 -0
- package/src/config/bundled-skills/messaging/tools/gmail-batch-label.ts +25 -0
- package/src/config/bundled-skills/messaging/tools/gmail-draft.ts +26 -0
- package/src/config/bundled-skills/messaging/tools/gmail-label.ts +25 -0
- package/src/config/bundled-skills/messaging/tools/gmail-trash.ts +23 -0
- package/src/config/bundled-skills/messaging/tools/gmail-unsubscribe.ts +84 -0
- package/src/config/bundled-skills/messaging/tools/messaging-analyze-activity.ts +18 -0
- package/src/config/bundled-skills/messaging/tools/messaging-analyze-style.ts +124 -0
- package/src/config/bundled-skills/messaging/tools/messaging-auth-test.ts +16 -0
- package/src/config/bundled-skills/messaging/tools/messaging-draft.ts +49 -0
- package/src/config/bundled-skills/messaging/tools/messaging-list-conversations.ts +21 -0
- package/src/config/bundled-skills/messaging/tools/messaging-mark-read.ts +25 -0
- package/src/config/bundled-skills/messaging/tools/messaging-read.ts +28 -0
- package/src/config/bundled-skills/messaging/tools/messaging-reply.ts +29 -0
- package/src/config/bundled-skills/messaging/tools/messaging-search.ts +22 -0
- package/src/config/bundled-skills/messaging/tools/messaging-send.ts +27 -0
- package/src/config/bundled-skills/messaging/tools/shared.ts +71 -0
- package/src/config/bundled-skills/messaging/tools/slack-add-reaction.ts +25 -0
- package/src/config/bundled-skills/messaging/tools/slack-leave-channel.ts +23 -0
- package/src/config/bundled-skills/self-upgrade/SKILL.md +74 -0
- package/src/config/bundled-skills/start-the-day/SKILL.md +70 -0
- package/src/config/bundled-skills/start-the-day/icon.svg +13 -0
- package/src/config/bundled-skills/weather/SKILL.md +37 -0
- package/src/config/bundled-skills/weather/TOOLS.json +32 -0
- package/src/config/bundled-skills/weather/icon.svg +24 -0
- package/src/config/bundled-skills/weather/tools/get-weather.ts +9 -0
- package/src/config/computer-use-prompt.ts +97 -0
- package/src/config/defaults.ts +186 -0
- package/src/config/loader.ts +336 -0
- package/src/config/schema.ts +1004 -0
- package/src/config/skill-state.ts +95 -0
- package/src/config/skills.ts +972 -0
- package/src/config/system-prompt.ts +927 -0
- package/src/config/templates/BOOTSTRAP.md +70 -0
- package/src/config/templates/IDENTITY.md +18 -0
- package/src/config/templates/LOOKS.md +25 -0
- package/src/config/templates/SOUL.md +37 -0
- package/src/config/templates/USER.md +19 -0
- package/src/config/types.ts +32 -0
- package/src/config/vellum-skills/deploy-fullstack-vercel/SKILL.md +179 -0
- package/src/config/vellum-skills/document-writer/SKILL.md +195 -0
- package/src/config/vellum-skills/google-oauth-setup/SKILL.md +194 -0
- package/src/config/vellum-skills/slack-oauth-setup/SKILL.md +147 -0
- package/src/config/vellum-skills/telegram-setup/SKILL.md +105 -0
- package/src/contacts/contact-store.ts +410 -0
- package/src/contacts/index.ts +11 -0
- package/src/contacts/types.ts +28 -0
- package/src/context/token-estimator.ts +108 -0
- package/src/context/tool-result-truncation.ts +128 -0
- package/src/context/window-manager.ts +531 -0
- package/src/daemon/assistant-attachments.ts +679 -0
- package/src/daemon/classifier.ts +108 -0
- package/src/daemon/computer-use-session.ts +900 -0
- package/src/daemon/connection-policy.ts +41 -0
- package/src/daemon/handlers/apps.ts +446 -0
- package/src/daemon/handlers/computer-use.ts +181 -0
- package/src/daemon/handlers/config.ts +434 -0
- package/src/daemon/handlers/diagnostics.ts +334 -0
- package/src/daemon/handlers/documents.ts +184 -0
- package/src/daemon/handlers/home-base.ts +73 -0
- package/src/daemon/handlers/index.ts +355 -0
- package/src/daemon/handlers/misc.ts +323 -0
- package/src/daemon/handlers/open-bundle-handler.ts +80 -0
- package/src/daemon/handlers/publish.ts +182 -0
- package/src/daemon/handlers/sessions.ts +486 -0
- package/src/daemon/handlers/shared.ts +533 -0
- package/src/daemon/handlers/skills.ts +487 -0
- package/src/daemon/handlers/subagents.ts +122 -0
- package/src/daemon/handlers/work-items.ts +176 -0
- package/src/daemon/handlers.ts +17 -0
- package/src/daemon/history-repair.ts +214 -0
- package/src/daemon/ipc-blob-store.ts +231 -0
- package/src/daemon/ipc-contract-inventory.json +407 -0
- package/src/daemon/ipc-contract-inventory.ts +126 -0
- package/src/daemon/ipc-contract.ts +2102 -0
- package/src/daemon/ipc-protocol.ts +70 -0
- package/src/daemon/ipc-validate.ts +171 -0
- package/src/daemon/lifecycle.ts +503 -0
- package/src/daemon/main.ts +15 -0
- package/src/daemon/media-visibility-policy.ts +57 -0
- package/src/daemon/ride-shotgun-handler.ts +244 -0
- package/src/daemon/server.ts +1085 -0
- package/src/daemon/session-attachments.ts +173 -0
- package/src/daemon/session-conflict-gate.ts +219 -0
- package/src/daemon/session-dynamic-profile.ts +63 -0
- package/src/daemon/session-error.ts +269 -0
- package/src/daemon/session-evictor.ts +196 -0
- package/src/daemon/session-history.ts +437 -0
- package/src/daemon/session-memory.ts +212 -0
- package/src/daemon/session-process.ts +264 -0
- package/src/daemon/session-queue-manager.ts +81 -0
- package/src/daemon/session-runtime-assembly.ts +395 -0
- package/src/daemon/session-skill-tools.ts +237 -0
- package/src/daemon/session-slash.ts +302 -0
- package/src/daemon/session-surfaces.ts +624 -0
- package/src/daemon/session-tool-setup.ts +286 -0
- package/src/daemon/session-usage.ts +74 -0
- package/src/daemon/session-workspace.ts +19 -0
- package/src/daemon/session.ts +1651 -0
- package/src/daemon/trace-emitter.ts +82 -0
- package/src/daemon/watch-handler.ts +274 -0
- package/src/doordash/client.ts +905 -0
- package/src/doordash/queries.ts +1312 -0
- package/src/doordash/query-extractor.ts +93 -0
- package/src/doordash/session.ts +82 -0
- package/src/email/provider.ts +117 -0
- package/src/email/providers/agentmail.ts +317 -0
- package/src/email/providers/index.ts +58 -0
- package/src/email/service.ts +303 -0
- package/src/email/types.ts +126 -0
- package/src/events/bus.ts +157 -0
- package/src/events/domain-events.ts +83 -0
- package/src/events/index.ts +18 -0
- package/src/events/tool-audit-listener.ts +80 -0
- package/src/events/tool-domain-event-publisher.ts +111 -0
- package/src/events/tool-metrics-listener.ts +159 -0
- package/src/events/tool-notification-listener.ts +17 -0
- package/src/events/tool-profiling-listener.ts +158 -0
- package/src/events/tool-trace-listener.ts +75 -0
- package/src/export/formatter.ts +96 -0
- package/src/followups/followup-store.ts +166 -0
- package/src/followups/index.ts +10 -0
- package/src/followups/types.ts +23 -0
- package/src/gallery/default-gallery.ts +795 -0
- package/src/gallery/gallery-manifest.ts +24 -0
- package/src/home-base/app-link-store.ts +82 -0
- package/src/home-base/bootstrap.ts +66 -0
- package/src/home-base/prebuilt/index.html +662 -0
- package/src/home-base/prebuilt/seed-metadata.json +21 -0
- package/src/home-base/prebuilt/seed.ts +101 -0
- package/src/home-base/prebuilt-home-base-updater.ts +30 -0
- package/src/hooks/cli.ts +163 -0
- package/src/hooks/config.ts +88 -0
- package/src/hooks/discovery.ts +110 -0
- package/src/hooks/manager.ts +128 -0
- package/src/hooks/runner.ts +123 -0
- package/src/hooks/templates.ts +52 -0
- package/src/hooks/types.ts +72 -0
- package/src/index.ts +1194 -0
- package/src/instrument.ts +60 -0
- package/src/logfire.ts +99 -0
- package/src/media/gemini-image-service.ts +136 -0
- package/src/memory/account-store.ts +108 -0
- package/src/memory/admin.ts +211 -0
- package/src/memory/app-store.ts +556 -0
- package/src/memory/attachments-store.ts +453 -0
- package/src/memory/channel-delivery-store.ts +368 -0
- package/src/memory/checkpoints.ts +52 -0
- package/src/memory/clarification-resolver.ts +297 -0
- package/src/memory/conflict-store.ts +342 -0
- package/src/memory/contradiction-checker.ts +329 -0
- package/src/memory/conversation-key-store.ts +127 -0
- package/src/memory/conversation-store.ts +469 -0
- package/src/memory/db.ts +1105 -0
- package/src/memory/embedding-backend.ts +229 -0
- package/src/memory/embedding-gemini.ts +52 -0
- package/src/memory/embedding-local.ts +75 -0
- package/src/memory/embedding-ollama.ts +55 -0
- package/src/memory/embedding-openai.ts +25 -0
- package/src/memory/entity-extractor.ts +471 -0
- package/src/memory/fingerprint.ts +20 -0
- package/src/memory/indexer.ts +156 -0
- package/src/memory/items-extractor.ts +460 -0
- package/src/memory/job-handlers/backfill.ts +139 -0
- package/src/memory/job-handlers/cleanup.ts +58 -0
- package/src/memory/job-handlers/conflict.ts +99 -0
- package/src/memory/job-handlers/embedding.ts +61 -0
- package/src/memory/job-handlers/extraction.ts +123 -0
- package/src/memory/job-handlers/index-maintenance.ts +54 -0
- package/src/memory/job-handlers/summarization.ts +286 -0
- package/src/memory/job-utils.ts +170 -0
- package/src/memory/jobs-store.ts +400 -0
- package/src/memory/jobs-worker.ts +274 -0
- package/src/memory/llm-request-log-store.ts +45 -0
- package/src/memory/llm-usage-store.ts +62 -0
- package/src/memory/message-content.ts +54 -0
- package/src/memory/profile-compiler.ts +160 -0
- package/src/memory/published-pages-store.ts +137 -0
- package/src/memory/qdrant-client.ts +366 -0
- package/src/memory/qdrant-manager.ts +242 -0
- package/src/memory/query-builder.ts +45 -0
- package/src/memory/retrieval-budget.ts +30 -0
- package/src/memory/retriever.ts +653 -0
- package/src/memory/runs-store.ts +211 -0
- package/src/memory/schema.ts +529 -0
- package/src/memory/search/entity.ts +298 -0
- package/src/memory/search/formatting.ts +207 -0
- package/src/memory/search/lexical.ts +227 -0
- package/src/memory/search/ranking.ts +401 -0
- package/src/memory/search/semantic.ts +121 -0
- package/src/memory/search/types.ts +137 -0
- package/src/memory/segmenter.ts +68 -0
- package/src/memory/shared-app-links-store.ts +138 -0
- package/src/memory/tool-usage-store.ts +62 -0
- package/src/messaging/activity-analyzer.ts +76 -0
- package/src/messaging/draft-store.ts +88 -0
- package/src/messaging/index.ts +3 -0
- package/src/messaging/provider-types.ts +80 -0
- package/src/messaging/provider.ts +43 -0
- package/src/messaging/providers/gmail/adapter.ts +193 -0
- package/src/messaging/providers/gmail/client.ts +204 -0
- package/src/messaging/providers/gmail/types.ts +90 -0
- package/src/messaging/providers/slack/adapter.ts +202 -0
- package/src/messaging/providers/slack/client.ts +198 -0
- package/src/messaging/providers/slack/types.ts +119 -0
- package/src/messaging/registry.ts +34 -0
- package/src/messaging/style-analyzer.ts +158 -0
- package/src/messaging/thread-summarizer.ts +310 -0
- package/src/messaging/triage-engine.ts +321 -0
- package/src/messaging/types.ts +55 -0
- package/src/permissions/checker.ts +636 -0
- package/src/permissions/defaults.ts +243 -0
- package/src/permissions/prompter.ts +102 -0
- package/src/permissions/secret-prompter.ts +114 -0
- package/src/permissions/trust-store.ts +584 -0
- package/src/permissions/types.ts +62 -0
- package/src/playbooks/index.ts +2 -0
- package/src/playbooks/playbook-compiler.ts +90 -0
- package/src/playbooks/types.ts +55 -0
- package/src/providers/anthropic/client.ts +751 -0
- package/src/providers/failover.ts +129 -0
- package/src/providers/fireworks/client.ts +20 -0
- package/src/providers/gemini/client.ts +285 -0
- package/src/providers/ollama/client.ts +30 -0
- package/src/providers/openai/client.ts +337 -0
- package/src/providers/ratelimit.ts +93 -0
- package/src/providers/registry.ts +138 -0
- package/src/providers/retry.ts +106 -0
- package/src/providers/stream-timeout.ts +38 -0
- package/src/providers/types.ts +109 -0
- package/src/runtime/assistant-event-hub.ts +120 -0
- package/src/runtime/assistant-event.ts +82 -0
- package/src/runtime/http-server.ts +478 -0
- package/src/runtime/http-types.ts +68 -0
- package/src/runtime/routes/app-routes.ts +174 -0
- package/src/runtime/routes/attachment-routes.ts +134 -0
- package/src/runtime/routes/channel-routes.ts +342 -0
- package/src/runtime/routes/conversation-routes.ts +349 -0
- package/src/runtime/routes/run-routes.ts +223 -0
- package/src/runtime/routes/secret-routes.ts +76 -0
- package/src/runtime/run-orchestrator.ts +206 -0
- package/src/schedule/schedule-store.ts +452 -0
- package/src/schedule/scheduler.ts +168 -0
- package/src/security/encrypted-store.ts +238 -0
- package/src/security/keychain.ts +252 -0
- package/src/security/oauth2.ts +241 -0
- package/src/security/redaction.ts +89 -0
- package/src/security/secret-allowlist.ts +118 -0
- package/src/security/secret-ingress.ts +57 -0
- package/src/security/secret-scanner.ts +543 -0
- package/src/security/secure-keys.ts +180 -0
- package/src/security/token-manager.ts +141 -0
- package/src/services/published-app-updater.ts +69 -0
- package/src/services/vercel-deploy.ts +73 -0
- package/src/skills/active-skill-tools.ts +81 -0
- package/src/skills/clawhub.ts +414 -0
- package/src/skills/include-graph.ts +146 -0
- package/src/skills/managed-store.ts +233 -0
- package/src/skills/path-classifier.ts +128 -0
- package/src/skills/slash-commands.ts +174 -0
- package/src/skills/tool-manifest.ts +165 -0
- package/src/skills/version-hash.ts +110 -0
- package/src/slack/slack-webhook.ts +61 -0
- package/src/subagent/index.ts +19 -0
- package/src/subagent/manager.ts +477 -0
- package/src/subagent/types.ts +69 -0
- package/src/swarm/backend-claude-code.ts +90 -0
- package/src/swarm/index.ts +44 -0
- package/src/swarm/limits.ts +37 -0
- package/src/swarm/orchestrator.ts +279 -0
- package/src/swarm/plan-validator.ts +151 -0
- package/src/swarm/router-planner.ts +100 -0
- package/src/swarm/router-prompts.ts +36 -0
- package/src/swarm/synthesizer.ts +62 -0
- package/src/swarm/types.ts +62 -0
- package/src/swarm/worker-backend.ts +121 -0
- package/src/swarm/worker-prompts.ts +78 -0
- package/src/swarm/worker-runner.ts +164 -0
- package/src/tasks/SPEC.md +133 -0
- package/src/tasks/candidate-store.ts +86 -0
- package/src/tasks/ephemeral-permissions.ts +41 -0
- package/src/tasks/task-compiler.ts +198 -0
- package/src/tasks/task-runner.ts +85 -0
- package/src/tasks/task-scheduler.ts +20 -0
- package/src/tasks/task-store.ts +127 -0
- package/src/tools/apps/definitions.ts +59 -0
- package/src/tools/apps/executors.ts +313 -0
- package/src/tools/apps/open-proxy.ts +43 -0
- package/src/tools/apps/registry.ts +16 -0
- package/src/tools/assets/materialize.ts +218 -0
- package/src/tools/assets/search.ts +396 -0
- package/src/tools/browser/__tests__/auth-cache.test.ts +219 -0
- package/src/tools/browser/__tests__/auth-detector.test.ts +362 -0
- package/src/tools/browser/__tests__/jit-auth.test.ts +189 -0
- package/src/tools/browser/auth-cache.ts +149 -0
- package/src/tools/browser/auth-detector.ts +347 -0
- package/src/tools/browser/browser-execution.ts +979 -0
- package/src/tools/browser/browser-handoff.ts +79 -0
- package/src/tools/browser/browser-manager.ts +715 -0
- package/src/tools/browser/browser-screencast.ts +217 -0
- package/src/tools/browser/headless-browser.ts +450 -0
- package/src/tools/browser/jit-auth.ts +51 -0
- package/src/tools/browser/network-recorder.ts +348 -0
- package/src/tools/browser/network-recording-types.ts +49 -0
- package/src/tools/browser/recording-store.ts +49 -0
- package/src/tools/browser/runtime-check.ts +43 -0
- package/src/tools/claude-code/claude-code.ts +232 -0
- package/src/tools/computer-use/definitions.ts +443 -0
- package/src/tools/computer-use/registry.ts +22 -0
- package/src/tools/computer-use/request-computer-control.ts +53 -0
- package/src/tools/computer-use/skill-proxy-bridge.ts +28 -0
- package/src/tools/contacts/contact-merge.ts +87 -0
- package/src/tools/contacts/contact-search.ts +102 -0
- package/src/tools/contacts/contact-upsert.ts +137 -0
- package/src/tools/contacts/index.ts +4 -0
- package/src/tools/credentials/account-registry.ts +127 -0
- package/src/tools/credentials/broker-types.ts +107 -0
- package/src/tools/credentials/broker.ts +372 -0
- package/src/tools/credentials/domain-policy.ts +51 -0
- package/src/tools/credentials/host-pattern-match.ts +60 -0
- package/src/tools/credentials/metadata-store.ts +335 -0
- package/src/tools/credentials/policy-types.ts +52 -0
- package/src/tools/credentials/policy-validate.ts +80 -0
- package/src/tools/credentials/resolve.ts +122 -0
- package/src/tools/credentials/selection.ts +159 -0
- package/src/tools/credentials/tool-policy.ts +25 -0
- package/src/tools/credentials/vault.ts +641 -0
- package/src/tools/document/document-tool.ts +165 -0
- package/src/tools/document/editor-template.ts +237 -0
- package/src/tools/document/index.ts +5 -0
- package/src/tools/executor.ts +825 -0
- package/src/tools/filesystem/edit.ts +127 -0
- package/src/tools/filesystem/fuzzy-match.ts +202 -0
- package/src/tools/filesystem/read.ts +71 -0
- package/src/tools/filesystem/view-image.ts +199 -0
- package/src/tools/filesystem/write.ts +79 -0
- package/src/tools/followups/followup_create.ts +118 -0
- package/src/tools/followups/followup_list.ts +100 -0
- package/src/tools/followups/followup_resolve.ts +91 -0
- package/src/tools/followups/index.ts +3 -0
- package/src/tools/host-filesystem/edit.ts +125 -0
- package/src/tools/host-filesystem/read.ts +80 -0
- package/src/tools/host-filesystem/write.ts +76 -0
- package/src/tools/host-terminal/cli-discover.ts +179 -0
- package/src/tools/host-terminal/host-shell.ts +181 -0
- package/src/tools/memory/definitions.ts +69 -0
- package/src/tools/memory/handlers.ts +245 -0
- package/src/tools/memory/register.ts +66 -0
- package/src/tools/network/domain-normalize.ts +85 -0
- package/src/tools/network/script-proxy/certs.ts +237 -0
- package/src/tools/network/script-proxy/connect-tunnel.ts +82 -0
- package/src/tools/network/script-proxy/http-forwarder.ts +151 -0
- package/src/tools/network/script-proxy/index.ts +28 -0
- package/src/tools/network/script-proxy/logging.ts +196 -0
- package/src/tools/network/script-proxy/mitm-handler.ts +269 -0
- package/src/tools/network/script-proxy/policy.ts +152 -0
- package/src/tools/network/script-proxy/router.ts +60 -0
- package/src/tools/network/script-proxy/server.ts +136 -0
- package/src/tools/network/script-proxy/session-manager.ts +534 -0
- package/src/tools/network/script-proxy/types.ts +125 -0
- package/src/tools/network/url-safety.ts +227 -0
- package/src/tools/network/web-fetch.ts +701 -0
- package/src/tools/network/web-search.ts +319 -0
- package/src/tools/playbooks/index.ts +5 -0
- package/src/tools/playbooks/playbook-create.ts +140 -0
- package/src/tools/playbooks/playbook-delete.ts +76 -0
- package/src/tools/playbooks/playbook-list.ts +101 -0
- package/src/tools/playbooks/playbook-update.ts +159 -0
- package/src/tools/registry.ts +297 -0
- package/src/tools/reminder/reminder-store.ts +148 -0
- package/src/tools/reminder/reminder.ts +153 -0
- package/src/tools/schedule/create.ts +86 -0
- package/src/tools/schedule/delete.ts +54 -0
- package/src/tools/schedule/list.ts +88 -0
- package/src/tools/schedule/update.ts +97 -0
- package/src/tools/shared/filesystem/edit-engine.ts +56 -0
- package/src/tools/shared/filesystem/errors.ts +85 -0
- package/src/tools/shared/filesystem/file-ops-service.ts +215 -0
- package/src/tools/shared/filesystem/format-diff.ts +35 -0
- package/src/tools/shared/filesystem/path-policy.ts +125 -0
- package/src/tools/shared/filesystem/size-guard.ts +41 -0
- package/src/tools/shared/filesystem/types.ts +80 -0
- package/src/tools/shared/shell-output.ts +52 -0
- package/src/tools/skills/delete-managed.ts +60 -0
- package/src/tools/skills/load.ts +139 -0
- package/src/tools/skills/sandbox-runner.ts +279 -0
- package/src/tools/skills/scaffold-managed.ts +150 -0
- package/src/tools/skills/script-contract.ts +6 -0
- package/src/tools/skills/skill-script-runner.ts +86 -0
- package/src/tools/skills/skill-tool-factory.ts +64 -0
- package/src/tools/skills/vellum-catalog.ts +217 -0
- package/src/tools/subagent/abort.ts +62 -0
- package/src/tools/subagent/index.ts +5 -0
- package/src/tools/subagent/message.ts +72 -0
- package/src/tools/subagent/read.ts +98 -0
- package/src/tools/subagent/spawn.ts +85 -0
- package/src/tools/subagent/status.ts +74 -0
- package/src/tools/swarm/delegate.ts +182 -0
- package/src/tools/system/request-permission.ts +98 -0
- package/src/tools/tasks/index.ts +25 -0
- package/src/tools/tasks/task-delete.ts +69 -0
- package/src/tools/tasks/task-list.ts +65 -0
- package/src/tools/tasks/task-run.ts +125 -0
- package/src/tools/tasks/task-save.ts +79 -0
- package/src/tools/tasks/work-item-enqueue.ts +176 -0
- package/src/tools/tasks/work-item-list.ts +86 -0
- package/src/tools/terminal/backends/docker.ts +372 -0
- package/src/tools/terminal/backends/native.ts +188 -0
- package/src/tools/terminal/backends/types.ts +26 -0
- package/src/tools/terminal/evaluate-typescript.ts +275 -0
- package/src/tools/terminal/parser.ts +393 -0
- package/src/tools/terminal/safe-env.ts +37 -0
- package/src/tools/terminal/sandbox-diagnostics.ts +149 -0
- package/src/tools/terminal/sandbox.ts +44 -0
- package/src/tools/terminal/shell.ts +257 -0
- package/src/tools/tool-manifest.ts +250 -0
- package/src/tools/types.ts +177 -0
- package/src/tools/ui-surface/definitions.ts +232 -0
- package/src/tools/ui-surface/registry.ts +14 -0
- package/src/tools/watch/screen-watch.ts +128 -0
- package/src/tools/watch/watch-state.ts +119 -0
- package/src/tools/watcher/create.ts +110 -0
- package/src/tools/watcher/delete.ts +53 -0
- package/src/tools/watcher/digest.ts +84 -0
- package/src/tools/watcher/list.ts +90 -0
- package/src/tools/watcher/update.ts +102 -0
- package/src/tools/weather/service.ts +551 -0
- package/src/usage/actors.ts +24 -0
- package/src/usage/types.ts +38 -0
- package/src/util/clipboard.ts +33 -0
- package/src/util/content-id.ts +16 -0
- package/src/util/diff.ts +181 -0
- package/src/util/errors.ts +129 -0
- package/src/util/logger.ts +243 -0
- package/src/util/platform.ts +607 -0
- package/src/util/pricing.ts +150 -0
- package/src/util/spinner.ts +51 -0
- package/src/util/time.ts +16 -0
- package/src/util/xml.ts +4 -0
- package/src/version.ts +3 -0
- package/src/watcher/constants.ts +11 -0
- package/src/watcher/engine.ts +199 -0
- package/src/watcher/provider-registry.ts +15 -0
- package/src/watcher/provider-types.ts +48 -0
- package/src/watcher/providers/gmail.ts +198 -0
- package/src/watcher/providers/google-calendar.ts +228 -0
- package/src/watcher/providers/slack.ts +128 -0
- package/src/watcher/watcher-store.ts +418 -0
- package/src/work-items/work-item-store.ts +91 -0
- package/src/workspace/git-service.ts +620 -0
- package/src/workspace/heartbeat-service.ts +288 -0
- package/src/workspace/top-level-renderer.ts +19 -0
- package/src/workspace/top-level-scanner.ts +41 -0
- package/src/workspace/turn-commit.ts +122 -0
- package/tsconfig.json +21 -0
- package/LICENSE +0 -674
- package/dist/cli.js +0 -569
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: "Start the Day"
|
|
3
|
+
description: "Get a personalized daily briefing with weather, news, and actionable insights"
|
|
4
|
+
user-invocable: true
|
|
5
|
+
metadata: {"vellum": {"emoji": "🌅"}}
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
You are a personal daily briefing assistant. When the user invokes this skill, generate a concise, actionable briefing tailored to the current moment.
|
|
9
|
+
|
|
10
|
+
## Briefing Structure
|
|
11
|
+
|
|
12
|
+
Build the briefing in sections. Use what you know about the user and their context to decide which sections are relevant. Don't include sections you have nothing useful to say about.
|
|
13
|
+
|
|
14
|
+
### 1. Weather & Conditions
|
|
15
|
+
|
|
16
|
+
Check the user's location (from system context or ask once) and provide:
|
|
17
|
+
- Current conditions and temperature
|
|
18
|
+
- High/low for the day
|
|
19
|
+
- Notable weather (rain, extreme temps, wind) — only if it affects plans
|
|
20
|
+
|
|
21
|
+
### 2. Top Headlines
|
|
22
|
+
|
|
23
|
+
Summarize 3-5 notable news items. Prioritize:
|
|
24
|
+
- Stories relevant to the user's interests or industry
|
|
25
|
+
- Major world events
|
|
26
|
+
- Tech/product launches if relevant
|
|
27
|
+
- Keep each to one sentence
|
|
28
|
+
|
|
29
|
+
### 3. Calendar & Meetings
|
|
30
|
+
|
|
31
|
+
If you have access to calendar context:
|
|
32
|
+
- List today's meetings with times
|
|
33
|
+
- Flag any prep needed (documents to review, talking points)
|
|
34
|
+
- Note gaps that could be used for focused work
|
|
35
|
+
|
|
36
|
+
### 4. Email & Messages
|
|
37
|
+
|
|
38
|
+
If you have access to communication context:
|
|
39
|
+
- Summarize unread messages that need responses
|
|
40
|
+
- Draft quick replies for straightforward ones — present them for review
|
|
41
|
+
- Flag anything urgent or time-sensitive
|
|
42
|
+
|
|
43
|
+
### 5. Tasks & Priorities
|
|
44
|
+
|
|
45
|
+
If you have context on the user's work:
|
|
46
|
+
- Surface top 3 priorities for the day
|
|
47
|
+
- Note any deadlines approaching
|
|
48
|
+
- Suggest one thing to tackle first
|
|
49
|
+
|
|
50
|
+
### 6. Something Interesting
|
|
51
|
+
|
|
52
|
+
End with one of:
|
|
53
|
+
- An interesting fact or quote
|
|
54
|
+
- A relevant article worth reading later
|
|
55
|
+
- A tip related to something the user is working on
|
|
56
|
+
|
|
57
|
+
## Tone
|
|
58
|
+
|
|
59
|
+
- Concise and scannable — use bullet points, not paragraphs
|
|
60
|
+
- Conversational but efficient — like a sharp executive assistant
|
|
61
|
+
- Don't pad with filler — if you only have 2 useful sections, give 2 sections
|
|
62
|
+
- Time-aware: morning briefings differ from afternoon check-ins
|
|
63
|
+
|
|
64
|
+
## Adaptation Over Time
|
|
65
|
+
|
|
66
|
+
As you learn more about the user:
|
|
67
|
+
- Weight news toward their interests and industry
|
|
68
|
+
- Remember their schedule patterns (e.g. "you usually have standup at 10")
|
|
69
|
+
- Track recurring tasks and deadlines
|
|
70
|
+
- Get more specific and less generic with each use
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
<svg viewBox="0 0 16 16" xmlns="http://www.w3.org/2000/svg">
|
|
2
|
+
<rect x="0" y="0" width="16" height="16" fill="#1a1a2e"/>
|
|
3
|
+
<rect x="2" y="2" width="12" height="12" fill="#16213e"/>
|
|
4
|
+
<rect x="3" y="3" width="10" height="10" fill="#0f3460"/>
|
|
5
|
+
<rect x="4" y="4" width="8" height="2" fill="#e94560"/>
|
|
6
|
+
<rect x="4" y="7" width="8" height="1" fill="#ffd700"/>
|
|
7
|
+
<rect x="4" y="9" width="8" height="1" fill="#ffd700"/>
|
|
8
|
+
<rect x="4" y="11" width="8" height="1" fill="#ffd700"/>
|
|
9
|
+
<rect x="2" y="2" width="1" height="12" fill="#16a085"/>
|
|
10
|
+
<rect x="13" y="2" width="1" height="12" fill="#16a085"/>
|
|
11
|
+
<rect x="7" y="1" width="2" height="1" fill="#ffd700"/>
|
|
12
|
+
<rect x="6" y="0" width="4" height="1" fill="#e94560"/>
|
|
13
|
+
</svg>
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: "Weather"
|
|
3
|
+
description: "Get current weather conditions and forecasts for any location"
|
|
4
|
+
user-invocable: true
|
|
5
|
+
metadata: {"vellum": {"emoji": "\ud83c\udf24\ufe0f"}}
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
You are a weather assistant. When the user asks about weather, use the `get_weather` tool to fetch current conditions and forecasts for the requested location.
|
|
9
|
+
|
|
10
|
+
## Usage
|
|
11
|
+
|
|
12
|
+
- **Current conditions**: "What's the weather in San Francisco?"
|
|
13
|
+
- **Multi-day forecast**: "Give me a 7-day forecast for Tokyo"
|
|
14
|
+
- **Specific units**: "Weather in London in celsius"
|
|
15
|
+
|
|
16
|
+
## Understanding the Output
|
|
17
|
+
|
|
18
|
+
The tool returns:
|
|
19
|
+
- **Current conditions** — temperature, feels-like temperature, humidity, wind speed and direction, and a description of conditions (e.g. "Partly cloudy")
|
|
20
|
+
- **Hourly forecast** — next 24 hours of temperature and conditions
|
|
21
|
+
- **Daily forecast** — high/low temperatures, precipitation probability, and conditions for each day
|
|
22
|
+
|
|
23
|
+
## Temperature Units
|
|
24
|
+
|
|
25
|
+
- Default unit is Fahrenheit. The user can request Celsius by saying "in celsius" or by specifying `units: "celsius"`.
|
|
26
|
+
- The rendered weather card includes a toggle to switch between units without re-fetching.
|
|
27
|
+
|
|
28
|
+
## Forecast Days
|
|
29
|
+
|
|
30
|
+
- Default is 10 days. The user can request anywhere from 1 to 16 days.
|
|
31
|
+
- Use fewer days when the user asks about "today" or "this weekend" — 1-3 days is sufficient.
|
|
32
|
+
- Use more days when the user asks for an extended or long-range forecast.
|
|
33
|
+
|
|
34
|
+
## Tips
|
|
35
|
+
|
|
36
|
+
- If the user provides an ambiguous location (e.g. "Springfield"), the geocoding API picks the most prominent match. If the result seems wrong, suggest the user be more specific (e.g. "Springfield, IL").
|
|
37
|
+
- The tool auto-renders a rich weather card with hourly and daily forecasts — you don't need to reformat the data as text unless the user explicitly asks for a text summary.
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 1,
|
|
3
|
+
"tools": [
|
|
4
|
+
{
|
|
5
|
+
"name": "get_weather",
|
|
6
|
+
"description": "Get current weather conditions and forecast for a location",
|
|
7
|
+
"category": "weather",
|
|
8
|
+
"risk": "low",
|
|
9
|
+
"input_schema": {
|
|
10
|
+
"type": "object",
|
|
11
|
+
"properties": {
|
|
12
|
+
"location": {
|
|
13
|
+
"type": "string",
|
|
14
|
+
"description": "The location to get weather for (city name, address, etc.)"
|
|
15
|
+
},
|
|
16
|
+
"units": {
|
|
17
|
+
"type": "string",
|
|
18
|
+
"enum": ["celsius", "fahrenheit"],
|
|
19
|
+
"description": "Temperature units to use (default: fahrenheit)"
|
|
20
|
+
},
|
|
21
|
+
"days": {
|
|
22
|
+
"type": "number",
|
|
23
|
+
"description": "Number of forecast days to return (1-16, default: 10)"
|
|
24
|
+
}
|
|
25
|
+
},
|
|
26
|
+
"required": ["location"]
|
|
27
|
+
},
|
|
28
|
+
"executor": "tools/get-weather.ts",
|
|
29
|
+
"execution_target": "host"
|
|
30
|
+
}
|
|
31
|
+
]
|
|
32
|
+
}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
<svg viewBox="0 0 16 16" xmlns="http://www.w3.org/2000/svg">
|
|
2
|
+
<rect x="0" y="0" width="16" height="16" fill="#87CEEB"/>
|
|
3
|
+
<rect x="3" y="2" width="10" height="1" fill="#FFFFFF"/>
|
|
4
|
+
<rect x="2" y="3" width="12" height="1" fill="#FFFFFF"/>
|
|
5
|
+
<rect x="1" y="4" width="14" height="2" fill="#FFFFFF"/>
|
|
6
|
+
<rect x="2" y="6" width="12" height="1" fill="#FFFFFF"/>
|
|
7
|
+
<rect x="3" y="7" width="10" height="1" fill="#FFFFFF"/>
|
|
8
|
+
<rect x="4" y="8" width="8" height="1" fill="#87CEEB"/>
|
|
9
|
+
<rect x="2" y="9" width="3" height="1" fill="#4A90E2"/>
|
|
10
|
+
<rect x="6" y="9" width="1" height="1" fill="#4A90E2"/>
|
|
11
|
+
<rect x="9" y="9" width="1" height="1" fill="#4A90E2"/>
|
|
12
|
+
<rect x="12" y="9" width="2" height="1" fill="#4A90E2"/>
|
|
13
|
+
<rect x="1" y="10" width="4" height="1" fill="#4A90E2"/>
|
|
14
|
+
<rect x="6" y="10" width="1" height="1" fill="#4A90E2"/>
|
|
15
|
+
<rect x="9" y="10" width="1" height="1" fill="#4A90E2"/>
|
|
16
|
+
<rect x="12" y="10" width="3" height="1" fill="#4A90E2"/>
|
|
17
|
+
<rect x="2" y="11" width="3" height="1" fill="#4A90E2"/>
|
|
18
|
+
<rect x="6" y="11" width="1" height="1" fill="#4A90E2"/>
|
|
19
|
+
<rect x="9" y="11" width="1" height="1" fill="#4A90E2"/>
|
|
20
|
+
<rect x="12" y="11" width="2" height="1" fill="#4A90E2"/>
|
|
21
|
+
<rect x="3" y="12" width="2" height="1" fill="#4A90E2"/>
|
|
22
|
+
<rect x="7" y="12" width="1" height="1" fill="#4A90E2"/>
|
|
23
|
+
<rect x="11" y="12" width="2" height="1" fill="#4A90E2"/>
|
|
24
|
+
</svg>
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import type { ToolContext, ToolExecutionResult } from '../../../../tools/types.js';
|
|
2
|
+
import { executeGetWeather } from '../../../../tools/weather/service.js';
|
|
3
|
+
|
|
4
|
+
export async function run(
|
|
5
|
+
input: Record<string, unknown>,
|
|
6
|
+
context: ToolContext,
|
|
7
|
+
): Promise<ToolExecutionResult> {
|
|
8
|
+
return executeGetWeather(input, globalThis.fetch, context.proxyToolResolver);
|
|
9
|
+
}
|
|
@@ -0,0 +1,97 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* System prompt for the computer-use agent, ported from
|
|
3
|
+
* clients/macos/vellum-assistant/Inference/AnthropicProvider.swift
|
|
4
|
+
*/
|
|
5
|
+
|
|
6
|
+
function currentDateString(): string {
|
|
7
|
+
return new Date().toLocaleString('en-US', {
|
|
8
|
+
weekday: 'long',
|
|
9
|
+
year: 'numeric',
|
|
10
|
+
month: 'long',
|
|
11
|
+
day: 'numeric',
|
|
12
|
+
hour: 'numeric',
|
|
13
|
+
minute: '2-digit',
|
|
14
|
+
hour12: true,
|
|
15
|
+
});
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
export function buildComputerUseSystemPrompt(
|
|
19
|
+
screenWidth: number,
|
|
20
|
+
screenHeight: number,
|
|
21
|
+
): string {
|
|
22
|
+
const dateStr = currentDateString();
|
|
23
|
+
|
|
24
|
+
return `You are vellum-assistant's computer use agent. You control the user's Mac to accomplish tasks.
|
|
25
|
+
|
|
26
|
+
The screen is ${screenWidth}\u00d7${screenHeight} pixels.
|
|
27
|
+
|
|
28
|
+
ACTION EXECUTION HIERARCHY:
|
|
29
|
+
Not all actions require the same execution method. Always prefer the least invasive, most reliable approach. Foreground computer use (clicking, typing, scrolling) takes over the user's cursor and keyboard — it is disruptive and should be your LAST resort, not your first instinct.
|
|
30
|
+
|
|
31
|
+
BEST → computer_use_respond / ui_show — Answer directly or render a UI surface. No computer control needed.
|
|
32
|
+
GOOD → computer_use_run_applescript — Tell the app to do something through its automation interface. No cursor movement. User keeps working.
|
|
33
|
+
LAST → computer_use_click / computer_use_type_text / computer_use_key / computer_use_scroll / computer_use_drag — Foreground computer use. Takes over cursor + keyboard. Use only when AppleScript cannot accomplish the task.
|
|
34
|
+
|
|
35
|
+
Before every action, ask yourself: "Can I do this with AppleScript or a direct response instead of moving the cursor?" If yes, do that instead.
|
|
36
|
+
|
|
37
|
+
You will receive the current screen state as an accessibility tree. Each interactive element has an [ID] number like [3] or [17]. Use these IDs with element_id to target elements \u2014 this is much more reliable than pixel coordinates.
|
|
38
|
+
|
|
39
|
+
YOUR AVAILABLE TOOLS ARE: computer_use_click, computer_use_double_click, computer_use_right_click, computer_use_type_text, computer_use_key, computer_use_scroll, computer_use_drag, computer_use_wait, computer_use_open_app, computer_use_run_applescript, computer_use_done, computer_use_respond, ui_show, ui_update, ui_dismiss.
|
|
40
|
+
You MUST only call one tool per turn.
|
|
41
|
+
|
|
42
|
+
UI SURFACES: When the user asks you to build, create, or display something (an app, dashboard, tracker, etc.), use ui_show with surface_type "dynamic_page" to render custom HTML directly instead of trying to build it with computer-use tools. This is your primary way to create visual applications for the user. After calling ui_show, call computer_use_done immediately — the surface is already displayed to the user.
|
|
43
|
+
|
|
44
|
+
RULES:
|
|
45
|
+
- Call exactly one tool per turn. After each action, you'll receive the updated screen state.
|
|
46
|
+
- ALWAYS use element_id to target elements from the accessibility tree. Only fall back to x,y coordinates if no tree is available.
|
|
47
|
+
- If the accessibility tree already shows you're in the correct app, do NOT call computer_use_open_app again \u2014 proceed directly with your intended interaction (e.g., click an element, use a keyboard shortcut).
|
|
48
|
+
- Use the computer_use_wait tool when you need to pause for UI to update (e.g. after clicking a button that loads content).
|
|
49
|
+
- FORM FIELD WORKFLOW: To fill a text field, first click it (by element_id) to focus it, then call computer_use_type_text. If a field already shows "FOCUSED", skip the click and type immediately.
|
|
50
|
+
- After typing, verify in the next turn that the text appeared correctly.
|
|
51
|
+
- If something unexpected happens, adapt your approach.
|
|
52
|
+
- If you're stuck (same state after 3+ actions), try a different approach or call computer_use_done with an explanation.
|
|
53
|
+
- NEVER type passwords, credit card numbers, SSNs, or other sensitive data.
|
|
54
|
+
- When you must use foreground computer use, prefer keyboard shortcuts (cmd+c, cmd+v) over menu navigation.
|
|
55
|
+
- When the task is complete, call the computer_use_done tool with a summary.
|
|
56
|
+
- You may receive a "CHANGES SINCE LAST ACTION" section that summarizes what changed in the UI. Use this to confirm your action worked or to adapt.
|
|
57
|
+
- You may see "OTHER VISIBLE WINDOWS" showing elements from other apps. Use this for cross-app tasks (e.g., "copy from Safari, paste into Notes").
|
|
58
|
+
- For drag operations (moving files, resizing, sliders), use the computer_use_drag tool with source and destination element_ids or coordinates.
|
|
59
|
+
|
|
60
|
+
MULTI-STEP WORKFLOWS:
|
|
61
|
+
- When a task involves multiple apps (e.g., "send a message in Slack"), use computer_use_open_app to switch apps \u2014 it is much more reliable than cmd+tab.
|
|
62
|
+
- After switching apps with computer_use_open_app, wait one turn for the UI to update before interacting with the new app's elements.
|
|
63
|
+
- Break cross-app tasks into phases: (1) computer_use_open_app to switch, (2) wait for UI, (3) interact with the app.
|
|
64
|
+
|
|
65
|
+
APP-SPECIFIC TIPS:
|
|
66
|
+
- Slack: Use cmd+k to quickly jump to a channel or DM by name.
|
|
67
|
+
- Safari / Chrome: Use cmd+l to focus the address bar.
|
|
68
|
+
- VS Code: Use cmd+shift+p to open the command palette.
|
|
69
|
+
- Finder: Use cmd+shift+g for "Go to Folder".
|
|
70
|
+
- Messages: Click the search bar or use cmd+n for a new message.
|
|
71
|
+
|
|
72
|
+
VERIFICATION CODES:
|
|
73
|
+
When a signup or login flow requires a verification code (email, SMS, or authenticator):
|
|
74
|
+
1. Use ui_show with surface_type "form" to ask the user:
|
|
75
|
+
ui_show({ surface_type: "form", title: "Verification Code", data: { fields: [{ id: "code", type: "text", label: "Enter the verification code", required: true }] } })
|
|
76
|
+
2. Wait for the user's response
|
|
77
|
+
3. Type the code into the appropriate field
|
|
78
|
+
|
|
79
|
+
CAPTCHA HANDLING:
|
|
80
|
+
When you see a CAPTCHA or "verify you are human" challenge on the screen:
|
|
81
|
+
1. Use ui_show with surface_type "card" and await_action: true to inform the user:
|
|
82
|
+
ui_show({ surface_type: "card", title: "CAPTCHA Detected", data: { body: "A CAPTCHA appeared. Please solve it in your browser." }, actions: [{ id: "done", label: "Done", style: "primary" }], await_action: true })
|
|
83
|
+
2. Wait for the user to respond
|
|
84
|
+
3. Refresh the page and continue
|
|
85
|
+
|
|
86
|
+
APPLESCRIPT (PREFERRED over clicking/typing):
|
|
87
|
+
- ALWAYS prefer computer_use_run_applescript over computer_use_click/computer_use_type_text when possible \u2014 it does not move the cursor or take over the keyboard.
|
|
88
|
+
- Use it for: setting a browser URL, navigating Finder to a path, querying app state, clicking menus, opening files, sending messages, and any action an app exposes via its scripting dictionary.
|
|
89
|
+
- The script result (if any) is returned to you so you can reason about it.
|
|
90
|
+
- NEVER use "do shell script" inside AppleScript \u2014 it is blocked for security.
|
|
91
|
+
- Keep scripts short and focused on a single operation.
|
|
92
|
+
- Examples of good use: \`tell application "Safari" to set URL of current tab of front window to "https://example.com"\`, \`tell application "Finder" to open POSIX file "/Users/me/Documents"\`.
|
|
93
|
+
|
|
94
|
+
Today is ${dateStr}.
|
|
95
|
+
|
|
96
|
+
If the user is asking a question about their schedule or meetings, use the \`computer_use_respond\` tool to answer directly. Do NOT use computer-control tools to open the Calendar app.`;
|
|
97
|
+
}
|
|
@@ -0,0 +1,186 @@
|
|
|
1
|
+
import { getDataDir } from '../util/platform.js';
|
|
2
|
+
import type { AssistantConfig } from './types.js';
|
|
3
|
+
|
|
4
|
+
export const DEFAULT_CONFIG: AssistantConfig = {
|
|
5
|
+
provider: 'anthropic',
|
|
6
|
+
model: 'claude-opus-4-6', // alias: claude-opus-4
|
|
7
|
+
apiKeys: {},
|
|
8
|
+
webSearchProvider: 'perplexity',
|
|
9
|
+
providerOrder: [],
|
|
10
|
+
maxTokens: 64000,
|
|
11
|
+
thinking: {
|
|
12
|
+
enabled: false,
|
|
13
|
+
budgetTokens: 10000,
|
|
14
|
+
},
|
|
15
|
+
contextWindow: {
|
|
16
|
+
enabled: true,
|
|
17
|
+
maxInputTokens: 180000,
|
|
18
|
+
targetInputTokens: 110000,
|
|
19
|
+
compactThreshold: 0.8,
|
|
20
|
+
preserveRecentUserTurns: 8,
|
|
21
|
+
summaryMaxTokens: 1200,
|
|
22
|
+
chunkTokens: 12000,
|
|
23
|
+
},
|
|
24
|
+
memory: {
|
|
25
|
+
enabled: true,
|
|
26
|
+
embeddings: {
|
|
27
|
+
required: true,
|
|
28
|
+
provider: 'auto',
|
|
29
|
+
localModel: 'Xenova/bge-small-en-v1.5',
|
|
30
|
+
openaiModel: 'text-embedding-3-small',
|
|
31
|
+
geminiModel: 'gemini-embedding-001',
|
|
32
|
+
ollamaModel: 'nomic-embed-text',
|
|
33
|
+
},
|
|
34
|
+
qdrant: {
|
|
35
|
+
url: 'http://127.0.0.1:6333',
|
|
36
|
+
collection: 'memory',
|
|
37
|
+
vectorSize: 384,
|
|
38
|
+
onDisk: true,
|
|
39
|
+
quantization: 'scalar',
|
|
40
|
+
},
|
|
41
|
+
retrieval: {
|
|
42
|
+
lexicalTopK: 80,
|
|
43
|
+
semanticTopK: 40,
|
|
44
|
+
maxInjectTokens: 10000,
|
|
45
|
+
injectionFormat: 'markdown' as const,
|
|
46
|
+
injectionStrategy: 'prepend_user_block' as const,
|
|
47
|
+
reranking: {
|
|
48
|
+
enabled: true,
|
|
49
|
+
model: 'claude-haiku-4-5-20251001',
|
|
50
|
+
topK: 20,
|
|
51
|
+
},
|
|
52
|
+
freshness: {
|
|
53
|
+
enabled: true,
|
|
54
|
+
maxAgeDays: { fact: 0, preference: 0, behavior: 90, event: 30, opinion: 60 },
|
|
55
|
+
staleDecay: 0.5,
|
|
56
|
+
reinforcementShieldDays: 7,
|
|
57
|
+
},
|
|
58
|
+
scopePolicy: 'allow_global_fallback' as const,
|
|
59
|
+
dynamicBudget: {
|
|
60
|
+
enabled: true,
|
|
61
|
+
minInjectTokens: 1200,
|
|
62
|
+
maxInjectTokens: 10000,
|
|
63
|
+
targetHeadroomTokens: 10000,
|
|
64
|
+
},
|
|
65
|
+
earlyTermination: {
|
|
66
|
+
enabled: true,
|
|
67
|
+
minCandidates: 20,
|
|
68
|
+
minHighConfidence: 10,
|
|
69
|
+
confidenceThreshold: 0.7,
|
|
70
|
+
},
|
|
71
|
+
},
|
|
72
|
+
segmentation: {
|
|
73
|
+
targetTokens: 450,
|
|
74
|
+
overlapTokens: 60,
|
|
75
|
+
},
|
|
76
|
+
jobs: {
|
|
77
|
+
workerConcurrency: 2,
|
|
78
|
+
},
|
|
79
|
+
retention: {
|
|
80
|
+
keepRawForever: true,
|
|
81
|
+
},
|
|
82
|
+
cleanup: {
|
|
83
|
+
enabled: true,
|
|
84
|
+
enqueueIntervalMs: 6 * 60 * 60 * 1000,
|
|
85
|
+
resolvedConflictRetentionMs: 30 * 24 * 60 * 60 * 1000,
|
|
86
|
+
supersededItemRetentionMs: 30 * 24 * 60 * 60 * 1000,
|
|
87
|
+
},
|
|
88
|
+
extraction: {
|
|
89
|
+
useLLM: true,
|
|
90
|
+
model: 'claude-haiku-4-5-20251001',
|
|
91
|
+
extractFromAssistant: true,
|
|
92
|
+
},
|
|
93
|
+
summarization: {
|
|
94
|
+
useLLM: true,
|
|
95
|
+
model: 'claude-haiku-4-5-20251001',
|
|
96
|
+
},
|
|
97
|
+
entity: {
|
|
98
|
+
enabled: true,
|
|
99
|
+
model: 'claude-haiku-4-5-20251001',
|
|
100
|
+
extractRelations: {
|
|
101
|
+
enabled: true,
|
|
102
|
+
backfillBatchSize: 200,
|
|
103
|
+
},
|
|
104
|
+
relationRetrieval: {
|
|
105
|
+
enabled: true,
|
|
106
|
+
maxSeedEntities: 8,
|
|
107
|
+
maxNeighborEntities: 20,
|
|
108
|
+
maxEdges: 40,
|
|
109
|
+
neighborScoreMultiplier: 0.7,
|
|
110
|
+
maxDepth: 3,
|
|
111
|
+
},
|
|
112
|
+
},
|
|
113
|
+
conflicts: {
|
|
114
|
+
enabled: true,
|
|
115
|
+
gateMode: 'soft',
|
|
116
|
+
reaskCooldownTurns: 3,
|
|
117
|
+
resolverLlmTimeoutMs: 12000,
|
|
118
|
+
relevanceThreshold: 0.3,
|
|
119
|
+
},
|
|
120
|
+
profile: {
|
|
121
|
+
enabled: true,
|
|
122
|
+
maxInjectTokens: 800,
|
|
123
|
+
},
|
|
124
|
+
},
|
|
125
|
+
dataDir: getDataDir(),
|
|
126
|
+
timeouts: {
|
|
127
|
+
shellDefaultTimeoutSec: 120,
|
|
128
|
+
shellMaxTimeoutSec: 600,
|
|
129
|
+
permissionTimeoutSec: 300,
|
|
130
|
+
toolExecutionTimeoutSec: 120,
|
|
131
|
+
providerStreamTimeoutSec: 300,
|
|
132
|
+
},
|
|
133
|
+
sandbox: {
|
|
134
|
+
enabled: true,
|
|
135
|
+
// SANDBOX M11 cutover: Docker is now the default backend. It provides
|
|
136
|
+
// stronger container-level isolation via ephemeral containers. Docker
|
|
137
|
+
// Desktop/Engine must be installed and running. Users without Docker can
|
|
138
|
+
// opt into the native backend via `sandbox.backend = "native"`.
|
|
139
|
+
backend: 'docker',
|
|
140
|
+
docker: {
|
|
141
|
+
image: 'vellum-sandbox:latest',
|
|
142
|
+
shell: 'bash',
|
|
143
|
+
cpus: 1,
|
|
144
|
+
memoryMb: 512,
|
|
145
|
+
pidsLimit: 256,
|
|
146
|
+
network: 'none' as const,
|
|
147
|
+
},
|
|
148
|
+
},
|
|
149
|
+
rateLimit: {
|
|
150
|
+
maxRequestsPerMinute: 0,
|
|
151
|
+
maxTokensPerSession: 0,
|
|
152
|
+
},
|
|
153
|
+
secretDetection: {
|
|
154
|
+
enabled: true,
|
|
155
|
+
action: 'redact',
|
|
156
|
+
entropyThreshold: 4.0,
|
|
157
|
+
allowOneTimeSend: false,
|
|
158
|
+
blockIngress: true,
|
|
159
|
+
},
|
|
160
|
+
permissions: {
|
|
161
|
+
mode: 'strict',
|
|
162
|
+
},
|
|
163
|
+
auditLog: {
|
|
164
|
+
retentionDays: 0,
|
|
165
|
+
},
|
|
166
|
+
logFile: {
|
|
167
|
+
dir: undefined,
|
|
168
|
+
retentionDays: 30,
|
|
169
|
+
},
|
|
170
|
+
pricingOverrides: [],
|
|
171
|
+
swarm: {
|
|
172
|
+
enabled: true,
|
|
173
|
+
maxWorkers: 3,
|
|
174
|
+
maxTasks: 8,
|
|
175
|
+
maxRetriesPerTask: 1,
|
|
176
|
+
workerTimeoutSec: 900,
|
|
177
|
+
plannerModel: 'claude-haiku-4-5-20251001',
|
|
178
|
+
synthesizerModel: 'claude-sonnet-4-6',
|
|
179
|
+
},
|
|
180
|
+
skills: {
|
|
181
|
+
entries: {},
|
|
182
|
+
load: { extraDirs: [], watch: true, watchDebounceMs: 250 },
|
|
183
|
+
install: { nodeManager: 'npm' },
|
|
184
|
+
allowBundled: null,
|
|
185
|
+
},
|
|
186
|
+
};
|