@vellumai/assistant 0.8.10 → 0.8.11-staging.1
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/bun.lock +62 -1
- package/docs/workspace-tools.md +196 -0
- package/examples/plugins/echo/README.md +3 -3
- package/knip.json +1 -0
- package/openapi.yaml +460 -128
- package/package.json +2 -1
- package/scripts/build-plugin-api.ts +299 -0
- package/src/__tests__/agent-loop-callsite-precedence.test.ts +7 -0
- package/src/__tests__/agent-loop-compaction-events.test.ts +197 -0
- package/src/__tests__/agent-loop-exit-reason.test.ts +93 -96
- package/src/__tests__/agent-loop-mutable-latest-user-message.test.ts +2 -0
- package/src/__tests__/agent-loop-output-hooks.test.ts +274 -1
- package/src/__tests__/agent-loop-override-profile.test.ts +3 -0
- package/src/__tests__/agent-loop-provider-error-recording.test.ts +4 -0
- package/src/__tests__/agent-loop-thinking.test.ts +4 -0
- package/src/__tests__/agent-loop.test.ts +578 -5
- package/src/__tests__/agent-wake-disk-pressure-callsite.test.ts +0 -1
- package/src/__tests__/approval-cascade.test.ts +1 -0
- package/src/__tests__/background-workers-disk-pressure.test.ts +0 -2
- package/src/__tests__/btw-routes.test.ts +0 -1
- package/src/__tests__/build-persisted-content.test.ts +75 -1
- package/src/__tests__/catalog-install-normalize.test.ts +141 -0
- package/src/__tests__/ces-startup-timeout.test.ts +60 -0
- package/src/__tests__/compaction-events.test.ts +1 -0
- package/src/__tests__/config-managed-gemini-defaults.test.ts +2 -46
- package/src/__tests__/context-overflow-reducer.test.ts +264 -124
- package/src/__tests__/context-window-manager-overflow-rung.test.ts +351 -0
- package/src/__tests__/conversation-abort-tool-results.test.ts +1 -1
- package/src/__tests__/conversation-agent-loop-inference-profile.test.ts +13 -5
- package/src/__tests__/conversation-agent-loop-overflow.test.ts +284 -455
- package/src/__tests__/conversation-agent-loop.test.ts +131 -551
- package/src/__tests__/conversation-app-control-instantiation.test.ts +13 -0
- package/src/__tests__/conversation-confirmation-signals.test.ts +1 -0
- package/src/__tests__/conversation-fork-crud.test.ts +259 -0
- package/src/__tests__/conversation-history-web-search.test.ts +1 -1
- package/src/__tests__/conversation-lifecycle.test.ts +257 -1
- package/src/__tests__/conversation-process-callsite.test.ts +1 -0
- package/src/__tests__/conversation-provider-retry-repair.test.ts +38 -377
- package/src/__tests__/conversation-queue.test.ts +1 -39
- package/src/__tests__/conversation-runtime-assembly.test.ts +119 -8
- package/src/__tests__/conversation-skill-tools.test.ts +491 -5
- package/src/__tests__/conversation-slash-queue.test.ts +1 -1
- package/src/__tests__/conversation-slash-unknown.test.ts +1 -0
- package/src/__tests__/conversation-speed-override.test.ts +1 -0
- package/src/__tests__/conversation-store.test.ts +74 -0
- package/src/__tests__/conversation-surfaces-app-control.test.ts +4 -1
- package/src/__tests__/conversation-tool-setup-attribution.test.ts +323 -0
- package/src/__tests__/conversation-tool-setup-tools-disabled.test.ts +34 -0
- package/src/__tests__/conversation-workspace-cache-state.test.ts +1 -0
- package/src/__tests__/conversation-workspace-injection.test.ts +1 -1
- package/src/__tests__/conversation-workspace-tool-tracking.test.ts +1 -0
- package/src/__tests__/corrected-target.test.ts +93 -0
- package/src/__tests__/credential-execution-feature-gates.test.ts +3 -5
- package/src/__tests__/credential-execution-tools.test.ts +23 -11
- package/src/__tests__/credential-security-invariants.test.ts +6 -1
- package/src/__tests__/db-schedule-syntax-migration.test.ts +80 -0
- package/src/__tests__/device-id.test.ts +70 -1
- package/src/__tests__/embedding-managed-proxy-selection.test.ts +6 -40
- package/src/__tests__/empty-response-hook.test.ts +242 -66
- package/src/__tests__/external-plugin-loader.test.ts +0 -31
- package/src/__tests__/get-skill-detail-audit.test.ts +43 -1
- package/src/__tests__/guardian-routing-invariants.test.ts +91 -0
- package/src/__tests__/history-repair-hook.test.ts +228 -3
- package/src/__tests__/host-app-control-proxy.test.ts +45 -0
- package/src/__tests__/host-browser-proxy.test.ts +254 -9
- package/src/__tests__/identity-routes.test.ts +1 -0
- package/src/__tests__/image-recovery-hook.test.ts +387 -0
- package/src/__tests__/injector-chain.test.ts +5 -4
- package/src/__tests__/injector-v3-suppression.test.ts +373 -47
- package/src/__tests__/intent-routing.test.ts +7 -0
- package/src/__tests__/memory-retrieval-hook.test.ts +117 -15
- package/src/__tests__/notification-decision-strategy.test.ts +3 -3
- package/src/__tests__/oauth-store.test.ts +0 -85
- package/src/__tests__/{context-overflow-policy.test.ts → overflow-policy.test.ts} +1 -1
- package/src/__tests__/parallel-tool.benchmark.test.ts +4 -0
- package/src/__tests__/persist-unsendable-image-downscale.test.ts +29 -9
- package/src/__tests__/persist-unsendable-image.test.ts +4 -4
- package/src/__tests__/persistence-secret-redaction.test.ts +78 -0
- package/src/__tests__/plugin-bootstrap.test.ts +82 -73
- package/src/__tests__/plugin-tool-contribution.test.ts +7 -4
- package/src/__tests__/plugin-types.test.ts +0 -8
- package/src/__tests__/provider-catalog-visibility.test.ts +1 -9
- package/src/__tests__/prune-old-conversations-job.test.ts +99 -0
- package/src/__tests__/registry.test.ts +240 -1
- package/src/__tests__/require-fresh-approval.test.ts +3 -0
- package/src/__tests__/schedule-routes.test.ts +116 -1
- package/src/__tests__/schedule-store.test.ts +28 -0
- package/src/__tests__/schedule-tools.test.ts +94 -1
- package/src/__tests__/server-history-render.test.ts +39 -0
- package/src/__tests__/skill-projection-feature-flag.test.ts +13 -0
- package/src/__tests__/skill-projection.benchmark.test.ts +25 -7
- package/src/__tests__/skills.test.ts +202 -0
- package/src/__tests__/slim-skill-category.test.ts +195 -0
- package/src/__tests__/strip-memory-injections.test.ts +33 -39
- package/src/__tests__/test-support/tool-invocation-seed.ts +79 -0
- package/src/__tests__/title-generate-hook.test.ts +9 -7
- package/src/__tests__/tool-audit-listener.test.ts +264 -1
- package/src/__tests__/tool-error-hook.test.ts +4 -3
- package/src/__tests__/tool-execution-pipeline.benchmark.test.ts +1 -0
- package/src/__tests__/tool-executor-lifecycle-events.test.ts +273 -0
- package/src/__tests__/tool-result-truncate-hook.test.ts +1 -0
- package/src/__tests__/tool-start-timestamp.test.ts +218 -0
- package/src/__tests__/tools-get-route.test.ts +202 -0
- package/src/__tests__/workspace-tool-loader.test.ts +319 -0
- package/src/__tests__/workspace-tools-watcher-flag.test.ts +70 -0
- package/src/agent/loop.ts +569 -319
- package/src/api/events/tool-result.ts +9 -0
- package/src/api/events/tool-use-start.ts +7 -0
- package/src/api/index.ts +10 -0
- package/src/api/responses/conversation-message.ts +135 -27
- package/src/api/responses/memory-v3-selection-log.ts +4 -4
- package/src/approvals/guardian-request-resolvers.ts +26 -0
- package/src/browser-session/backends/host-bridge.ts +29 -0
- package/src/browser-session/index.ts +1 -0
- package/src/browser-session/types.ts +5 -1
- package/src/cli/commands/__tests__/schedules.test.ts +62 -4
- package/src/cli/commands/__tests__/skills.test.ts +53 -0
- package/src/cli/commands/channel-verification-sessions.ts +6 -6
- package/src/cli/commands/inference-providers.ts +0 -8
- package/src/cli/commands/plugins.ts +2 -2
- package/src/cli/commands/schedules.ts +27 -4
- package/src/cli/commands/skills.ts +187 -146
- package/src/cli/commands/tools.ts +106 -0
- package/src/cli/lib/__tests__/install-from-github.test.ts +256 -328
- package/src/cli/lib/__tests__/plugin-catalog-cache.test.ts +6 -2
- package/src/cli/lib/__tests__/plugin-details.test.ts +10 -16
- package/src/cli/lib/__tests__/plugin-marketplace.test.ts +2 -2
- package/src/cli/lib/__tests__/search-plugins.test.ts +145 -240
- package/src/cli/lib/install-from-github.ts +187 -117
- package/src/cli/lib/plugin-catalog-cache.ts +9 -9
- package/src/cli/lib/plugin-details.ts +38 -68
- package/src/cli/lib/plugin-marketplace.ts +42 -14
- package/src/cli/lib/search-plugins.ts +29 -129
- package/src/cli/program.ts +2 -0
- package/src/config/bundled-skills/acp/SKILL.md +1 -0
- package/src/config/bundled-skills/app-builder/SKILL.md +1 -0
- package/src/config/bundled-skills/app-control/SKILL.md +1 -0
- package/src/config/bundled-skills/computer-use/SKILL.md +1 -0
- package/src/config/bundled-skills/contacts/SKILL.md +1 -0
- package/src/config/bundled-skills/document-editor/SKILL.md +1 -0
- package/src/config/bundled-skills/followups/SKILL.md +1 -0
- package/src/config/bundled-skills/image-studio/SKILL.md +1 -0
- package/src/config/bundled-skills/media-processing/SKILL.md +1 -0
- package/src/config/bundled-skills/messaging/SKILL.md +1 -0
- package/src/config/bundled-skills/phone-calls/SKILL.md +1 -0
- package/src/config/bundled-skills/playbooks/SKILL.md +1 -0
- package/src/config/bundled-skills/schedule/SKILL.md +1 -0
- package/src/config/bundled-skills/schedule/TOOLS.json +11 -3
- package/src/config/bundled-skills/sequences/SKILL.md +1 -0
- package/src/config/bundled-skills/settings/SKILL.md +1 -0
- package/src/config/bundled-skills/skill-management/SKILL.md +101 -1
- package/src/config/bundled-skills/subagent/SKILL.md +1 -0
- package/src/config/bundled-skills/transcribe/SKILL.md +1 -0
- package/src/config/env-registry.ts +23 -0
- package/src/config/feature-flag-registry.json +17 -81
- package/src/config/loader.ts +5 -22
- package/src/config/schema.ts +2 -0
- package/src/config/schemas/__tests__/compaction-logs.test.ts +56 -0
- package/src/config/schemas/__tests__/memory-v2.test.ts +0 -1
- package/src/config/schemas/__tests__/memory-v3.test.ts +61 -1
- package/src/config/schemas/compaction-logs.ts +79 -0
- package/src/config/schemas/memory-v2.ts +0 -8
- package/src/config/schemas/memory-v3.ts +104 -33
- package/src/config/seed-inference-profiles.ts +1 -1
- package/src/config/skills.ts +117 -47
- package/src/context/compactor.ts +11 -0
- package/src/context/strip-injections.ts +38 -4
- package/src/credential-execution/feature-gates.ts +0 -21
- package/src/credential-execution/startup-timeout.ts +32 -4
- package/src/daemon/__tests__/conversation-tool-setup-exclude.test.ts +18 -0
- package/src/daemon/conversation-agent-loop-handlers.ts +140 -91
- package/src/daemon/conversation-agent-loop.ts +123 -658
- package/src/daemon/conversation-error.ts +6 -33
- package/src/daemon/conversation-lifecycle.ts +1 -1
- package/src/daemon/conversation-runtime-assembly.ts +183 -22
- package/src/daemon/conversation-skill-tools.ts +137 -8
- package/src/daemon/conversation-slash.ts +0 -14
- package/src/daemon/conversation-store.ts +2 -19
- package/src/daemon/conversation-tool-setup.ts +87 -1
- package/src/daemon/conversation.ts +119 -50
- package/src/daemon/external-plugins-bootstrap.ts +36 -95
- package/src/daemon/handlers/config-channels.ts +11 -2
- package/src/daemon/handlers/shared.ts +9 -1
- package/src/daemon/handlers/skills.ts +10 -4
- package/src/daemon/host-app-control-proxy.ts +72 -57
- package/src/daemon/host-browser-proxy.ts +117 -22
- package/src/daemon/lifecycle.ts +34 -5
- package/src/daemon/message-protocol.ts +0 -7
- package/src/daemon/message-types/schedules.ts +1 -0
- package/src/daemon/message-types/skills.ts +17 -0
- package/src/daemon/providers-setup.ts +3 -0
- package/src/daemon/server.ts +3 -3
- package/src/daemon/tool-setup-types.ts +9 -3
- package/src/daemon/trust-context.ts +23 -0
- package/src/daemon/workspace-tools-watcher.ts +324 -0
- package/src/events/tool-audit-listener.ts +78 -16
- package/src/events/tool-metrics-listener.ts +2 -5
- package/src/memory/__tests__/compaction-log-writer-clickhouse.test.ts +227 -0
- package/src/memory/__tests__/conversation-queries.test.ts +176 -0
- package/src/memory/__tests__/jobs-worker-v2-schedule.test.ts +20 -32
- package/src/memory/compaction-log-writer-clickhouse.ts +418 -0
- package/src/memory/conversation-crud.ts +134 -3
- package/src/memory/conversation-queries.ts +64 -7
- package/src/memory/db-init.ts +14 -0
- package/src/memory/embedding-backend.test.ts +130 -1
- package/src/memory/embedding-backend.ts +79 -106
- package/src/memory/embedding-gemini.ts +5 -0
- package/src/memory/graph/__tests__/conversation-graph-memory-v2-routing.test.ts +12 -0
- package/src/memory/graph/__tests__/handle-remember-v2.test.ts +19 -0
- package/src/memory/graph/conversation-graph-memory.ts +36 -25
- package/src/memory/graph/tool-handlers.ts +3 -0
- package/src/memory/job-handlers/cleanup.ts +3 -1
- package/src/memory/jobs-store.ts +0 -28
- package/src/memory/jobs-worker.ts +10 -22
- package/src/memory/memory-marker.ts +29 -0
- package/src/memory/memory-retrospective-startup-cleanup.ts +1 -1
- package/src/memory/migrations/268-add-memory-v3-selections.ts +6 -0
- package/src/memory/migrations/270-schedule-description.ts +36 -0
- package/src/memory/migrations/275-tool-invocations-add-skill-id.test.ts +81 -0
- package/src/memory/migrations/275-tool-invocations-add-skill-id.ts +20 -0
- package/src/memory/migrations/276-tool-invocations-created-at-id-index.test.ts +68 -0
- package/src/memory/migrations/276-tool-invocations-created-at-id-index.ts +20 -0
- package/src/memory/migrations/277-add-memory-v3-ever-injected.ts +29 -0
- package/src/memory/migrations/278-tool-invocations-telemetry-columns.test.ts +96 -0
- package/src/memory/migrations/278-tool-invocations-telemetry-columns.ts +39 -0
- package/src/memory/migrations/279-create-skill-loaded-events.test.ts +84 -0
- package/src/memory/migrations/279-create-skill-loaded-events.ts +26 -0
- package/src/memory/migrations/280-conversations-surfaced-at.test.ts +88 -0
- package/src/memory/migrations/280-conversations-surfaced-at.ts +24 -0
- package/src/memory/migrations/index.ts +10 -0
- package/src/memory/migrations/registry.ts +8 -0
- package/src/memory/schema/conversations.ts +16 -0
- package/src/memory/schema/infrastructure.ts +26 -0
- package/src/memory/skill-loaded-events-store.test.ts +160 -0
- package/src/memory/skill-loaded-events-store.ts +95 -0
- package/src/memory/tool-executed-events-store.test.ts +219 -0
- package/src/memory/tool-executed-events-store.ts +102 -0
- package/src/memory/tool-usage-store.ts +15 -3
- package/src/memory/v2/__tests__/consolidation-job.test.ts +117 -12
- package/src/memory/v2/__tests__/consolidation-prompt-flag-gating-guard.test.ts +189 -0
- package/src/memory/v2/__tests__/injected-block-slugs.test.ts +90 -0
- package/src/memory/v2/__tests__/page-store.test.ts +33 -0
- package/src/memory/v2/__tests__/prompts-consolidation.test.ts +88 -15
- package/src/memory/v2/activation-store.ts +50 -1
- package/src/memory/v2/consolidation-job.ts +113 -29
- package/src/memory/v2/injected-block-slugs.ts +79 -0
- package/src/memory/v2/injection.ts +6 -1
- package/src/memory/v2/prompts/consolidation.ts +414 -13
- package/src/memory/v2/router.ts +2 -28
- package/src/memory/v2/static-context.ts +1 -1
- package/src/memory/v2/types.ts +16 -0
- package/src/notifications/__tests__/copy-composer.test.ts +244 -0
- package/src/notifications/access-request-copy.ts +298 -0
- package/src/notifications/adapters/slack.ts +3 -3
- package/src/notifications/adapters/telegram.ts +2 -1
- package/src/notifications/copy-composer.ts +49 -267
- package/src/notifications/decision-engine.ts +16 -35
- package/src/notifications/home-feed-side-effect.ts +1 -6
- package/src/oauth/oauth-store.ts +0 -9
- package/src/permissions/checker.test.ts +83 -1
- package/src/permissions/checker.ts +25 -2
- package/src/permissions/gateway-threshold-reader.test.ts +182 -0
- package/src/permissions/gateway-threshold-reader.ts +80 -0
- package/src/platform/client.ts +1 -3
- package/src/platform/feature-gate.ts +3 -12
- package/src/plugin-api/constants.ts +4 -2
- package/src/plugin-api/index.ts +63 -11
- package/src/plugin-api/types.ts +236 -71
- package/src/plugins/defaults/compaction/compact.ts +66 -2
- package/src/plugins/defaults/compaction/context-overflow-reducer.ts +240 -32
- package/src/plugins/defaults/compaction/corrected-target.ts +53 -0
- package/src/{daemon/context-overflow-policy.ts → plugins/defaults/compaction/overflow-policy.ts} +1 -1
- package/src/plugins/defaults/compaction/window-manager.ts +303 -1
- package/src/plugins/defaults/empty-response/hooks/post-model-call.ts +173 -0
- package/src/plugins/defaults/empty-response/hooks/stop.ts +11 -115
- package/src/plugins/defaults/empty-response/nudge-state-store.ts +46 -0
- package/src/plugins/defaults/history-repair/hooks/post-model-call.ts +50 -0
- package/src/plugins/defaults/history-repair/hooks/stop.ts +22 -0
- package/src/plugins/defaults/history-repair/repair-state-store.ts +51 -0
- package/src/plugins/defaults/history-repair/terminal.ts +39 -2
- package/src/plugins/defaults/image-recovery/detect.ts +25 -0
- package/src/plugins/defaults/image-recovery/hooks/post-model-call.ts +73 -0
- package/src/plugins/defaults/image-recovery/hooks/stop.ts +22 -0
- package/src/plugins/defaults/image-recovery/image-recovery-state-store.ts +48 -0
- package/src/plugins/defaults/image-recovery/package.json +14 -0
- package/src/{daemon/persist-unsendable-image.ts → plugins/defaults/image-recovery/recover.ts} +67 -14
- package/src/plugins/defaults/index.ts +71 -5
- package/src/plugins/defaults/memory-retrieval/hooks/post-compact.ts +76 -112
- package/src/plugins/defaults/memory-retrieval/hooks/{user-prompt-submit-temp.ts → user-prompt-submit.ts} +83 -74
- package/src/plugins/defaults/memory-retrieval/injector-chain.ts +14 -8
- package/src/plugins/defaults/memory-retrieval/injectors.ts +2 -18
- package/src/plugins/defaults/memory-retrieval/package.json +14 -0
- package/src/plugins/defaults/memory-v3-shadow/__tests__/carry-integration.test.ts +1157 -0
- package/src/plugins/defaults/memory-v3-shadow/__tests__/injection.test.ts +683 -0
- package/src/plugins/defaults/memory-v3-shadow/__tests__/live-integration.test.ts +161 -140
- package/src/plugins/defaults/memory-v3-shadow/__tests__/maintain-job.test.ts +160 -0
- package/src/plugins/defaults/memory-v3-shadow/__tests__/orchestrate.test.ts +335 -316
- package/src/plugins/defaults/memory-v3-shadow/__tests__/pool-select.test.ts +145 -53
- package/src/plugins/defaults/memory-v3-shadow/__tests__/render-injection.test.ts +38 -1
- package/src/plugins/defaults/memory-v3-shadow/__tests__/selection-log-store.test.ts +18 -8
- package/src/plugins/defaults/memory-v3-shadow/__tests__/shadow-integration.test.ts +112 -71
- package/src/plugins/defaults/memory-v3-shadow/__tests__/shadow-plugin.test.ts +192 -51
- package/src/plugins/defaults/memory-v3-shadow/__tests__/types.test.ts +4 -16
- package/src/plugins/defaults/memory-v3-shadow/card.test.ts +173 -0
- package/src/plugins/defaults/memory-v3-shadow/card.ts +116 -0
- package/src/plugins/defaults/memory-v3-shadow/core-set.test.ts +104 -0
- package/src/plugins/defaults/memory-v3-shadow/core-set.ts +59 -0
- package/src/plugins/defaults/memory-v3-shadow/ever-injected-store.test.ts +305 -0
- package/src/plugins/defaults/memory-v3-shadow/ever-injected-store.ts +278 -0
- package/src/plugins/defaults/memory-v3-shadow/hot-set.test.ts +138 -0
- package/src/plugins/defaults/memory-v3-shadow/hot-set.ts +85 -0
- package/src/plugins/defaults/memory-v3-shadow/injector.ts +331 -24
- package/src/plugins/defaults/memory-v3-shadow/maintain-job.ts +119 -13
- package/src/plugins/defaults/memory-v3-shadow/orchestrate.ts +169 -114
- package/src/plugins/defaults/memory-v3-shadow/page-content.ts +47 -16
- package/src/plugins/defaults/memory-v3-shadow/pool-select.ts +144 -66
- package/src/plugins/defaults/memory-v3-shadow/prune.test.ts +758 -0
- package/src/plugins/defaults/memory-v3-shadow/prune.ts +471 -0
- package/src/plugins/defaults/memory-v3-shadow/render-injection.ts +68 -16
- package/src/plugins/defaults/memory-v3-shadow/selection-log-store.ts +19 -12
- package/src/plugins/defaults/memory-v3-shadow/shadow-plugin.ts +96 -43
- package/src/plugins/defaults/memory-v3-shadow/types.ts +34 -17
- package/src/plugins/defaults/title-generate/hooks/stop.ts +9 -11
- package/src/plugins/pipeline.ts +8 -5
- package/src/plugins/types.ts +5 -51
- package/src/providers/cache-control.ts +26 -0
- package/src/providers/inference/__tests__/base-url-route-validation.test.ts +1 -2
- package/src/providers/model-catalog.ts +13 -1
- package/src/providers/openai/__tests__/tool-choice-mapping.test.ts +147 -0
- package/src/providers/openai/chat-completions-provider.ts +46 -0
- package/src/providers/openai/responses-provider.ts +45 -0
- package/src/providers/registry.ts +0 -8
- package/src/runtime/__tests__/agent-wake.test.ts +0 -1
- package/src/runtime/agent-wake.ts +13 -0
- package/src/runtime/routes/__tests__/acp-routes.test.ts +151 -0
- package/src/runtime/routes/__tests__/consolidation-routes.test.ts +12 -50
- package/src/runtime/routes/__tests__/conversation-surface-routes.test.ts +322 -0
- package/src/runtime/routes/__tests__/inference-provider-connection-routes.test.ts +0 -62
- package/src/runtime/routes/__tests__/plugins-routes.test.ts +31 -11
- package/src/runtime/routes/acp-routes.test.ts +106 -0
- package/src/runtime/routes/acp-routes.ts +248 -2
- package/src/runtime/routes/browser-tabs-routes.ts +1 -1
- package/src/runtime/routes/channel-verification-routes.ts +14 -5
- package/src/runtime/routes/chatgpt-subscription-auth-routes.ts +0 -14
- package/src/runtime/routes/consolidation-routes.ts +6 -82
- package/src/runtime/routes/conversation-list-routes.ts +6 -0
- package/src/runtime/routes/conversation-management-routes.ts +71 -0
- package/src/runtime/routes/identity-routes.ts +8 -0
- package/src/runtime/routes/inbound-stages/acl-enforcement.ts +33 -34
- package/src/runtime/routes/inference-provider-connection-routes.ts +0 -45
- package/src/runtime/routes/plugins-routes.ts +34 -45
- package/src/runtime/routes/schedule-routes.ts +43 -5
- package/src/runtime/routes/settings-routes.ts +140 -15
- package/src/runtime/routes/skills-routes.ts +18 -6
- package/src/runtime/services/__tests__/conversation-serializer.test.ts +140 -0
- package/src/runtime/services/conversation-serializer.ts +38 -1
- package/src/runtime/verification-outbound-actions.ts +147 -2
- package/src/runtime/verification-templates.ts +29 -3
- package/src/schedule/schedule-store.ts +19 -0
- package/src/skills/catalog-install.ts +77 -13
- package/src/tasks/task-scheduler.ts +1 -0
- package/src/telemetry/types.ts +66 -1
- package/src/telemetry/usage-telemetry-reporter.test.ts +542 -13
- package/src/telemetry/usage-telemetry-reporter.ts +213 -20
- package/src/tools/browser/__tests__/browser-execution-acquire.test.ts +49 -2
- package/src/tools/browser/__tests__/browser-status.test.ts +29 -5
- package/src/tools/browser/browser-execution.ts +27 -9
- package/src/tools/browser/cdp-client/__tests__/factory.test.ts +380 -4
- package/src/tools/browser/cdp-client/__tests__/host-bridge-cdp-client.test.ts +107 -0
- package/src/tools/browser/cdp-client/__tests__/types.test.ts +6 -1
- package/src/tools/browser/cdp-client/factory.ts +217 -17
- package/src/tools/browser/cdp-client/host-bridge-cdp-client.ts +67 -0
- package/src/tools/browser/cdp-client/types.ts +22 -2
- package/src/tools/credential-execution/make-authenticated-request.ts +2 -1
- package/src/tools/credential-execution/manage-secure-command-tool.ts +169 -164
- package/src/tools/credential-execution/run-authenticated-command.ts +2 -1
- package/src/tools/executor.ts +39 -7
- package/src/tools/registry.ts +387 -5
- package/src/tools/schedule/create.ts +16 -0
- package/src/tools/schedule/list.ts +12 -4
- package/src/tools/schedule/update.ts +12 -0
- package/src/tools/skills/load.ts +11 -6
- package/src/tools/terminal/safe-env.ts +2 -0
- package/src/tools/types.ts +65 -9
- package/src/tools/workspace-tools/loader.ts +673 -0
- package/src/usage/attribution.ts +28 -0
- package/src/util/device-id.ts +17 -3
- package/src/util/platform.ts +16 -0
- package/tsconfig.plugin-api.json +13 -0
- package/src/__tests__/plugin-external-api.test.ts +0 -68
- package/src/__tests__/plugin-skill-contribution.test.ts +0 -355
- package/src/daemon/message-types/browser.ts +0 -10
- package/src/notifications/__tests__/emit-signal-home-feed.test.ts +0 -187
- package/src/plugins/defaults/memory-v3-shadow/__tests__/fixtures/eval-turns.json +0 -36
- package/src/plugins/defaults/memory-v3-shadow/__tests__/fixtures/live-turns.json +0 -37
- package/src/plugins/defaults/memory-v3-shadow/__tests__/working-set-eviction.test.ts +0 -106
- package/src/plugins/defaults/memory-v3-shadow/__tests__/working-set-skeleton.test.ts +0 -44
- package/src/plugins/defaults/memory-v3-shadow/working-set.ts +0 -91
- package/src/plugins/external-api.ts +0 -114
- package/src/plugins/plugin-skill-contributions.ts +0 -292
package/openapi.yaml
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
openapi: 3.1.0
|
|
4
4
|
info:
|
|
5
5
|
title: Vellum Assistant API
|
|
6
|
-
version: 0.8.
|
|
6
|
+
version: 0.8.11
|
|
7
7
|
description: Auto-generated OpenAPI specification for the Vellum Assistant runtime HTTP server.
|
|
8
8
|
servers:
|
|
9
9
|
- url: http://127.0.0.1:7821
|
|
@@ -96,8 +96,11 @@ paths:
|
|
|
96
96
|
operationId: acp_by_id_steer_post
|
|
97
97
|
summary: Steer ACP session
|
|
98
98
|
description:
|
|
99
|
-
Send a steering instruction to an ACP session. Sessions no longer in memory (completed, or lost to a
|
|
100
|
-
restart) are transparently resumed from persisted history first, when the agent supports ACP session
|
|
99
|
+
"Send a steering instruction to an ACP session. Sessions no longer in memory (completed, or lost to a
|
|
100
|
+
daemon restart) are transparently resumed from persisted history first, when the agent supports ACP session
|
|
101
|
+
loading. Resuming a terminal session re-spawns the host agent, so it requires guardian approval: the route acks
|
|
102
|
+
immediately with approvalPending=true and performs the resume in the background once approved, streaming results
|
|
103
|
+
over SSE."
|
|
101
104
|
tags:
|
|
102
105
|
- acp
|
|
103
106
|
responses:
|
|
@@ -115,6 +118,11 @@ paths:
|
|
|
115
118
|
resumed:
|
|
116
119
|
description: True when the session was resumed from persisted history before steering.
|
|
117
120
|
type: boolean
|
|
121
|
+
approvalPending:
|
|
122
|
+
description:
|
|
123
|
+
True when the steer triggered a guardian-approval-gated resume that will run asynchronously; watch SSE for
|
|
124
|
+
the outcome.
|
|
125
|
+
type: boolean
|
|
118
126
|
required:
|
|
119
127
|
- acpSessionId
|
|
120
128
|
- steered
|
|
@@ -4531,55 +4539,6 @@ paths:
|
|
|
4531
4539
|
- lastRunAt
|
|
4532
4540
|
- success
|
|
4533
4541
|
additionalProperties: false
|
|
4534
|
-
put:
|
|
4535
|
-
operationId: consolidation_config_put
|
|
4536
|
-
summary: Update consolidation config
|
|
4537
|
-
description: Update the memory v2 consolidation schedule configuration.
|
|
4538
|
-
tags:
|
|
4539
|
-
- consolidation
|
|
4540
|
-
responses:
|
|
4541
|
-
"200":
|
|
4542
|
-
description: Successful response
|
|
4543
|
-
content:
|
|
4544
|
-
application/json:
|
|
4545
|
-
schema:
|
|
4546
|
-
type: object
|
|
4547
|
-
properties:
|
|
4548
|
-
available:
|
|
4549
|
-
type: boolean
|
|
4550
|
-
enabled:
|
|
4551
|
-
type: boolean
|
|
4552
|
-
intervalMs:
|
|
4553
|
-
type: number
|
|
4554
|
-
nextRunAt:
|
|
4555
|
-
anyOf:
|
|
4556
|
-
- type: number
|
|
4557
|
-
- type: "null"
|
|
4558
|
-
lastRunAt:
|
|
4559
|
-
anyOf:
|
|
4560
|
-
- type: number
|
|
4561
|
-
- type: "null"
|
|
4562
|
-
success:
|
|
4563
|
-
type: boolean
|
|
4564
|
-
required:
|
|
4565
|
-
- available
|
|
4566
|
-
- enabled
|
|
4567
|
-
- intervalMs
|
|
4568
|
-
- nextRunAt
|
|
4569
|
-
- lastRunAt
|
|
4570
|
-
- success
|
|
4571
|
-
additionalProperties: false
|
|
4572
|
-
requestBody:
|
|
4573
|
-
required: true
|
|
4574
|
-
content:
|
|
4575
|
-
application/json:
|
|
4576
|
-
schema:
|
|
4577
|
-
type: object
|
|
4578
|
-
properties:
|
|
4579
|
-
enabled:
|
|
4580
|
-
description: Enable or disable automatic consolidation
|
|
4581
|
-
type: boolean
|
|
4582
|
-
additionalProperties: false
|
|
4583
4542
|
/v1/consolidation/run-now:
|
|
4584
4543
|
post:
|
|
4585
4544
|
operationId: consolidation_runnow_post
|
|
@@ -6012,6 +5971,8 @@ paths:
|
|
|
6012
5971
|
additionalProperties: false
|
|
6013
5972
|
archivedAt:
|
|
6014
5973
|
type: number
|
|
5974
|
+
surfacedAt:
|
|
5975
|
+
type: number
|
|
6015
5976
|
inferenceProfile:
|
|
6016
5977
|
type: string
|
|
6017
5978
|
isProcessing:
|
|
@@ -6373,6 +6334,8 @@ paths:
|
|
|
6373
6334
|
additionalProperties: false
|
|
6374
6335
|
archivedAt:
|
|
6375
6336
|
type: number
|
|
6337
|
+
surfacedAt:
|
|
6338
|
+
type: number
|
|
6376
6339
|
inferenceProfile:
|
|
6377
6340
|
type: string
|
|
6378
6341
|
isProcessing:
|
|
@@ -6571,6 +6534,8 @@ paths:
|
|
|
6571
6534
|
additionalProperties: false
|
|
6572
6535
|
archivedAt:
|
|
6573
6536
|
type: number
|
|
6537
|
+
surfacedAt:
|
|
6538
|
+
type: number
|
|
6574
6539
|
inferenceProfile:
|
|
6575
6540
|
type: string
|
|
6576
6541
|
isProcessing:
|
|
@@ -6979,6 +6944,56 @@ paths:
|
|
|
6979
6944
|
required: true
|
|
6980
6945
|
schema:
|
|
6981
6946
|
type: string
|
|
6947
|
+
/v1/conversations/{id}/surface:
|
|
6948
|
+
post:
|
|
6949
|
+
operationId: conversations_by_id_surface_post
|
|
6950
|
+
summary: Surface a conversation into Recents
|
|
6951
|
+
description:
|
|
6952
|
+
Explicitly promote a background or scheduled conversation into the default conversation listing (the
|
|
6953
|
+
Recents sidebar grouping), or demote it with surfaced=false. Conversations are never surfaced automatically.
|
|
6954
|
+
tags:
|
|
6955
|
+
- conversations
|
|
6956
|
+
responses:
|
|
6957
|
+
"200":
|
|
6958
|
+
description: Successful response
|
|
6959
|
+
content:
|
|
6960
|
+
application/json:
|
|
6961
|
+
schema:
|
|
6962
|
+
type: object
|
|
6963
|
+
properties:
|
|
6964
|
+
ok:
|
|
6965
|
+
type: boolean
|
|
6966
|
+
conversationId:
|
|
6967
|
+
type: string
|
|
6968
|
+
surfacedAt:
|
|
6969
|
+
anyOf:
|
|
6970
|
+
- type: number
|
|
6971
|
+
- type: "null"
|
|
6972
|
+
description: Epoch-ms timestamp of the promotion, or null when cleared.
|
|
6973
|
+
required:
|
|
6974
|
+
- ok
|
|
6975
|
+
- conversationId
|
|
6976
|
+
- surfacedAt
|
|
6977
|
+
additionalProperties: false
|
|
6978
|
+
parameters:
|
|
6979
|
+
- name: id
|
|
6980
|
+
in: path
|
|
6981
|
+
required: true
|
|
6982
|
+
schema:
|
|
6983
|
+
type: string
|
|
6984
|
+
requestBody:
|
|
6985
|
+
required: true
|
|
6986
|
+
content:
|
|
6987
|
+
application/json:
|
|
6988
|
+
schema:
|
|
6989
|
+
type: object
|
|
6990
|
+
properties:
|
|
6991
|
+
surfaced:
|
|
6992
|
+
type: boolean
|
|
6993
|
+
description: true to surface the conversation into Recents, false to clear the promotion.
|
|
6994
|
+
required:
|
|
6995
|
+
- surfaced
|
|
6996
|
+
additionalProperties: false
|
|
6982
6997
|
/v1/conversations/{id}/unarchive:
|
|
6983
6998
|
post:
|
|
6984
6999
|
operationId: conversations_by_id_unarchive_post
|
|
@@ -7534,6 +7549,8 @@ paths:
|
|
|
7534
7549
|
additionalProperties: false
|
|
7535
7550
|
archivedAt:
|
|
7536
7551
|
type: number
|
|
7552
|
+
surfacedAt:
|
|
7553
|
+
type: number
|
|
7537
7554
|
inferenceProfile:
|
|
7538
7555
|
type: string
|
|
7539
7556
|
isProcessing:
|
|
@@ -11174,6 +11191,14 @@ paths:
|
|
|
11174
11191
|
required:
|
|
11175
11192
|
- connected
|
|
11176
11193
|
additionalProperties: false
|
|
11194
|
+
capabilities:
|
|
11195
|
+
type: object
|
|
11196
|
+
properties:
|
|
11197
|
+
memoryOptOut:
|
|
11198
|
+
type: boolean
|
|
11199
|
+
required:
|
|
11200
|
+
- memoryOptOut
|
|
11201
|
+
additionalProperties: false
|
|
11177
11202
|
profiler:
|
|
11178
11203
|
type: object
|
|
11179
11204
|
properties:
|
|
@@ -11258,6 +11283,7 @@ paths:
|
|
|
11258
11283
|
- cpu
|
|
11259
11284
|
- migrations
|
|
11260
11285
|
- ces
|
|
11286
|
+
- capabilities
|
|
11261
11287
|
additionalProperties: false
|
|
11262
11288
|
/v1/healthz:
|
|
11263
11289
|
get:
|
|
@@ -11342,6 +11368,14 @@ paths:
|
|
|
11342
11368
|
required:
|
|
11343
11369
|
- connected
|
|
11344
11370
|
additionalProperties: false
|
|
11371
|
+
capabilities:
|
|
11372
|
+
type: object
|
|
11373
|
+
properties:
|
|
11374
|
+
memoryOptOut:
|
|
11375
|
+
type: boolean
|
|
11376
|
+
required:
|
|
11377
|
+
- memoryOptOut
|
|
11378
|
+
additionalProperties: false
|
|
11345
11379
|
profiler:
|
|
11346
11380
|
type: object
|
|
11347
11381
|
properties:
|
|
@@ -11426,6 +11460,7 @@ paths:
|
|
|
11426
11460
|
- cpu
|
|
11427
11461
|
- migrations
|
|
11428
11462
|
- ces
|
|
11463
|
+
- capabilities
|
|
11429
11464
|
additionalProperties: false
|
|
11430
11465
|
/v1/heartbeat/checklist:
|
|
11431
11466
|
get:
|
|
@@ -15937,6 +15972,8 @@ paths:
|
|
|
15937
15972
|
- assistant
|
|
15938
15973
|
content:
|
|
15939
15974
|
type: string
|
|
15975
|
+
deprecated: true
|
|
15976
|
+
description: "Deprecated: superseded by contentBlocks. Flat plain-text body (joined text segments)."
|
|
15940
15977
|
timestamp:
|
|
15941
15978
|
type: string
|
|
15942
15979
|
attachments:
|
|
@@ -16241,6 +16278,8 @@ paths:
|
|
|
16241
16278
|
- name
|
|
16242
16279
|
- input
|
|
16243
16280
|
additionalProperties: false
|
|
16281
|
+
deprecated: true
|
|
16282
|
+
description: "Deprecated: superseded by contentBlocks (the tool_use variant). Flat list of tool calls."
|
|
16244
16283
|
surfaces:
|
|
16245
16284
|
type: array
|
|
16246
16285
|
items:
|
|
@@ -16292,18 +16331,28 @@ paths:
|
|
|
16292
16331
|
- surfaceType
|
|
16293
16332
|
- data
|
|
16294
16333
|
additionalProperties: false
|
|
16334
|
+
deprecated: true
|
|
16335
|
+
description: "Deprecated: superseded by contentBlocks (the surface variant). Flat list of surfaces."
|
|
16295
16336
|
textSegments:
|
|
16296
16337
|
type: array
|
|
16297
16338
|
items:
|
|
16298
16339
|
type: string
|
|
16340
|
+
deprecated: true
|
|
16341
|
+
description: "Deprecated: superseded by contentBlocks. Text segments split by tool-call boundaries."
|
|
16299
16342
|
thinkingSegments:
|
|
16300
16343
|
type: array
|
|
16301
16344
|
items:
|
|
16302
16345
|
type: string
|
|
16346
|
+
deprecated: true
|
|
16347
|
+
description: "Deprecated: superseded by contentBlocks. Reasoning text extracted from thinking blocks."
|
|
16303
16348
|
contentOrder:
|
|
16304
16349
|
type: array
|
|
16305
16350
|
items:
|
|
16306
16351
|
type: string
|
|
16352
|
+
deprecated: true
|
|
16353
|
+
description:
|
|
16354
|
+
'Deprecated: superseded by contentBlocks. Positional "<type>:<index>" content ordering (e.g. "text:0",
|
|
16355
|
+
"thinking:1").'
|
|
16307
16356
|
contentBlocks:
|
|
16308
16357
|
type: array
|
|
16309
16358
|
items:
|
|
@@ -16326,6 +16375,10 @@ paths:
|
|
|
16326
16375
|
const: thinking
|
|
16327
16376
|
thinking:
|
|
16328
16377
|
type: string
|
|
16378
|
+
startedAt:
|
|
16379
|
+
type: number
|
|
16380
|
+
completedAt:
|
|
16381
|
+
type: number
|
|
16329
16382
|
required:
|
|
16330
16383
|
- type
|
|
16331
16384
|
- thinking
|
|
@@ -19380,15 +19433,7 @@ paths:
|
|
|
19380
19433
|
- type: "null"
|
|
19381
19434
|
description: Resolved version (installed copy first, then repo `package.json`).
|
|
19382
19435
|
source:
|
|
19383
|
-
|
|
19384
|
-
- type: object
|
|
19385
|
-
properties:
|
|
19386
|
-
kind:
|
|
19387
|
-
type: string
|
|
19388
|
-
const: first-party
|
|
19389
|
-
required:
|
|
19390
|
-
- kind
|
|
19391
|
-
additionalProperties: false
|
|
19436
|
+
anyOf:
|
|
19392
19437
|
- type: object
|
|
19393
19438
|
properties:
|
|
19394
19439
|
kind:
|
|
@@ -19408,7 +19453,9 @@ paths:
|
|
|
19408
19453
|
- repo
|
|
19409
19454
|
- ref
|
|
19410
19455
|
additionalProperties: false
|
|
19411
|
-
|
|
19456
|
+
description: "Origin of the match: a whitelisted external plugin repository."
|
|
19457
|
+
- type: "null"
|
|
19458
|
+
description: Pinned origin from the marketplace entry, or null when an installed copy has no catalog entry.
|
|
19412
19459
|
readme:
|
|
19413
19460
|
anyOf:
|
|
19414
19461
|
- type: string
|
|
@@ -19449,13 +19496,12 @@ paths:
|
|
|
19449
19496
|
operationId: plugins_install_post
|
|
19450
19497
|
summary: Install a plugin
|
|
19451
19498
|
description:
|
|
19452
|
-
"Install a plugin by name from the canonical source — a whitelisted `
|
|
19453
|
-
|
|
19454
|
-
|
|
19455
|
-
|
|
19456
|
-
|
|
19457
|
-
|
|
19458
|
-
returns 404. Sibling to `POST /v1/skills/install`."
|
|
19499
|
+
"Install a plugin by name from the canonical source — a whitelisted `plugins/marketplace.json` entry.
|
|
19500
|
+
Always resolves against the curated default git ref (no caller-supplied ref): installing from an unreviewed
|
|
19501
|
+
revision would bypass the marketplace curation boundary and let attacker-controlled code be loaded. Materializes
|
|
19502
|
+
the plugin under `<workspaceDir>/plugins/<name>/`; the assistant must be restarted to load it. Mirrors the CLI's
|
|
19503
|
+
`assistant plugins install <name>`. An already-installed name without `force` returns 409; a name that resolves
|
|
19504
|
+
to nothing returns 404. Sibling to `POST /v1/skills/install`."
|
|
19459
19505
|
tags:
|
|
19460
19506
|
- plugins
|
|
19461
19507
|
responses:
|
|
@@ -19503,7 +19549,7 @@ paths:
|
|
|
19503
19549
|
properties:
|
|
19504
19550
|
name:
|
|
19505
19551
|
type: string
|
|
19506
|
-
description: Install name to resolve against the
|
|
19552
|
+
description: Install name to resolve against the marketplace catalog.
|
|
19507
19553
|
force:
|
|
19508
19554
|
description: Overwrite an existing install in place. Defaults to false.
|
|
19509
19555
|
type: boolean
|
|
@@ -19515,9 +19561,9 @@ paths:
|
|
|
19515
19561
|
operationId: plugins_search_get
|
|
19516
19562
|
summary: Search the plugin catalog
|
|
19517
19563
|
description:
|
|
19518
|
-
List installable plugins from the
|
|
19519
|
-
|
|
19520
|
-
|
|
19564
|
+
List installable plugins from the curated `plugins/marketplace.json` catalog. The query is an ECMAScript
|
|
19565
|
+
regex matched case-insensitively against the plugin name (e.g. `memory`, `^simple`). Empty query returns every
|
|
19566
|
+
entry. Mirrors the CLI's `assistant plugins search`.
|
|
19521
19567
|
tags:
|
|
19522
19568
|
- plugins
|
|
19523
19569
|
responses:
|
|
@@ -19544,42 +19590,31 @@ paths:
|
|
|
19544
19590
|
description: Install name. Matches `assistant plugins install <name>`.
|
|
19545
19591
|
path:
|
|
19546
19592
|
type: string
|
|
19547
|
-
description:
|
|
19548
|
-
"Human-readable origin: a repo-relative path (`experimental/plugins/<name>`) for first-party plugins or a
|
|
19549
|
-
`github:owner/repo@ref` locator for external ones."
|
|
19593
|
+
description: "Human-readable origin: a `github:owner/repo@ref` locator for the external plugin."
|
|
19550
19594
|
description:
|
|
19551
19595
|
description: Short description, when known (external entries only today).
|
|
19552
19596
|
type: string
|
|
19553
19597
|
source:
|
|
19554
|
-
|
|
19555
|
-
|
|
19556
|
-
|
|
19557
|
-
|
|
19558
|
-
|
|
19559
|
-
|
|
19560
|
-
|
|
19561
|
-
|
|
19562
|
-
|
|
19563
|
-
|
|
19564
|
-
|
|
19565
|
-
|
|
19566
|
-
|
|
19567
|
-
|
|
19568
|
-
|
|
19569
|
-
|
|
19570
|
-
|
|
19571
|
-
|
|
19572
|
-
|
|
19573
|
-
|
|
19574
|
-
ref:
|
|
19575
|
-
type: string
|
|
19576
|
-
description: Pinned git ref the plugin is fetched from.
|
|
19577
|
-
required:
|
|
19578
|
-
- kind
|
|
19579
|
-
- repo
|
|
19580
|
-
- ref
|
|
19581
|
-
additionalProperties: false
|
|
19582
|
-
description: "Origin of the match: a first-party in-repo plugin or a whitelisted external one."
|
|
19598
|
+
type: object
|
|
19599
|
+
properties:
|
|
19600
|
+
kind:
|
|
19601
|
+
type: string
|
|
19602
|
+
const: github
|
|
19603
|
+
repo:
|
|
19604
|
+
type: string
|
|
19605
|
+
description: "`owner/repo` of the external plugin repository."
|
|
19606
|
+
path:
|
|
19607
|
+
description: Directory within the repo, when the plugin is not at the root.
|
|
19608
|
+
type: string
|
|
19609
|
+
ref:
|
|
19610
|
+
type: string
|
|
19611
|
+
description: Pinned git ref the plugin is fetched from.
|
|
19612
|
+
required:
|
|
19613
|
+
- kind
|
|
19614
|
+
- repo
|
|
19615
|
+
- ref
|
|
19616
|
+
additionalProperties: false
|
|
19617
|
+
description: "Origin of the match: a whitelisted external plugin repository."
|
|
19583
19618
|
required:
|
|
19584
19619
|
- name
|
|
19585
19620
|
- path
|
|
@@ -20290,9 +20325,9 @@ paths:
|
|
|
20290
20325
|
- type: number
|
|
20291
20326
|
- type: "null"
|
|
20292
20327
|
description:
|
|
20293
|
-
|
|
20294
|
-
|
|
20295
|
-
|
|
20328
|
+
type: string
|
|
20329
|
+
cadenceDescription:
|
|
20330
|
+
type: string
|
|
20296
20331
|
mode:
|
|
20297
20332
|
type: string
|
|
20298
20333
|
enum:
|
|
@@ -20342,6 +20377,7 @@ paths:
|
|
|
20342
20377
|
- createdFromConversationExists
|
|
20343
20378
|
- createdFromConversationArchivedAt
|
|
20344
20379
|
- description
|
|
20380
|
+
- cadenceDescription
|
|
20345
20381
|
- mode
|
|
20346
20382
|
- status
|
|
20347
20383
|
- routingIntent
|
|
@@ -20439,9 +20475,9 @@ paths:
|
|
|
20439
20475
|
- type: number
|
|
20440
20476
|
- type: "null"
|
|
20441
20477
|
description:
|
|
20442
|
-
|
|
20443
|
-
|
|
20444
|
-
|
|
20478
|
+
type: string
|
|
20479
|
+
cadenceDescription:
|
|
20480
|
+
type: string
|
|
20445
20481
|
mode:
|
|
20446
20482
|
type: string
|
|
20447
20483
|
enum:
|
|
@@ -20491,6 +20527,7 @@ paths:
|
|
|
20491
20527
|
- createdFromConversationExists
|
|
20492
20528
|
- createdFromConversationArchivedAt
|
|
20493
20529
|
- description
|
|
20530
|
+
- cadenceDescription
|
|
20494
20531
|
- mode
|
|
20495
20532
|
- status
|
|
20496
20533
|
- routingIntent
|
|
@@ -20512,6 +20549,9 @@ paths:
|
|
|
20512
20549
|
name:
|
|
20513
20550
|
type: string
|
|
20514
20551
|
description: Display name
|
|
20552
|
+
description:
|
|
20553
|
+
type: string
|
|
20554
|
+
description: Authored schedule description. Defaults to the schedule name when omitted for backward compatibility.
|
|
20515
20555
|
expression:
|
|
20516
20556
|
type: string
|
|
20517
20557
|
description: Cron or RRULE expression
|
|
@@ -20614,9 +20654,9 @@ paths:
|
|
|
20614
20654
|
- type: number
|
|
20615
20655
|
- type: "null"
|
|
20616
20656
|
description:
|
|
20617
|
-
|
|
20618
|
-
|
|
20619
|
-
|
|
20657
|
+
type: string
|
|
20658
|
+
cadenceDescription:
|
|
20659
|
+
type: string
|
|
20620
20660
|
mode:
|
|
20621
20661
|
type: string
|
|
20622
20662
|
enum:
|
|
@@ -20666,6 +20706,7 @@ paths:
|
|
|
20666
20706
|
- createdFromConversationExists
|
|
20667
20707
|
- createdFromConversationArchivedAt
|
|
20668
20708
|
- description
|
|
20709
|
+
- cadenceDescription
|
|
20669
20710
|
- mode
|
|
20670
20711
|
- status
|
|
20671
20712
|
- routingIntent
|
|
@@ -20762,9 +20803,9 @@ paths:
|
|
|
20762
20803
|
- type: number
|
|
20763
20804
|
- type: "null"
|
|
20764
20805
|
description:
|
|
20765
|
-
|
|
20766
|
-
|
|
20767
|
-
|
|
20806
|
+
type: string
|
|
20807
|
+
cadenceDescription:
|
|
20808
|
+
type: string
|
|
20768
20809
|
mode:
|
|
20769
20810
|
type: string
|
|
20770
20811
|
enum:
|
|
@@ -20814,6 +20855,7 @@ paths:
|
|
|
20814
20855
|
- createdFromConversationExists
|
|
20815
20856
|
- createdFromConversationArchivedAt
|
|
20816
20857
|
- description
|
|
20858
|
+
- cadenceDescription
|
|
20817
20859
|
- mode
|
|
20818
20860
|
- status
|
|
20819
20861
|
- routingIntent
|
|
@@ -20840,6 +20882,8 @@ paths:
|
|
|
20840
20882
|
properties:
|
|
20841
20883
|
name:
|
|
20842
20884
|
type: string
|
|
20885
|
+
description:
|
|
20886
|
+
type: string
|
|
20843
20887
|
expression:
|
|
20844
20888
|
type: string
|
|
20845
20889
|
timezone:
|
|
@@ -20953,9 +20997,9 @@ paths:
|
|
|
20953
20997
|
- type: number
|
|
20954
20998
|
- type: "null"
|
|
20955
20999
|
description:
|
|
20956
|
-
|
|
20957
|
-
|
|
20958
|
-
|
|
21000
|
+
type: string
|
|
21001
|
+
cadenceDescription:
|
|
21002
|
+
type: string
|
|
20959
21003
|
mode:
|
|
20960
21004
|
type: string
|
|
20961
21005
|
enum:
|
|
@@ -21005,6 +21049,7 @@ paths:
|
|
|
21005
21049
|
- createdFromConversationExists
|
|
21006
21050
|
- createdFromConversationArchivedAt
|
|
21007
21051
|
- description
|
|
21052
|
+
- cadenceDescription
|
|
21008
21053
|
- mode
|
|
21009
21054
|
- status
|
|
21010
21055
|
- routingIntent
|
|
@@ -21102,9 +21147,9 @@ paths:
|
|
|
21102
21147
|
- type: number
|
|
21103
21148
|
- type: "null"
|
|
21104
21149
|
description:
|
|
21105
|
-
|
|
21106
|
-
|
|
21107
|
-
|
|
21150
|
+
type: string
|
|
21151
|
+
cadenceDescription:
|
|
21152
|
+
type: string
|
|
21108
21153
|
mode:
|
|
21109
21154
|
type: string
|
|
21110
21155
|
enum:
|
|
@@ -21154,6 +21199,7 @@ paths:
|
|
|
21154
21199
|
- createdFromConversationExists
|
|
21155
21200
|
- createdFromConversationArchivedAt
|
|
21156
21201
|
- description
|
|
21202
|
+
- cadenceDescription
|
|
21157
21203
|
- mode
|
|
21158
21204
|
- status
|
|
21159
21205
|
- routingIntent
|
|
@@ -21340,9 +21386,9 @@ paths:
|
|
|
21340
21386
|
- type: number
|
|
21341
21387
|
- type: "null"
|
|
21342
21388
|
description:
|
|
21343
|
-
|
|
21344
|
-
|
|
21345
|
-
|
|
21389
|
+
type: string
|
|
21390
|
+
cadenceDescription:
|
|
21391
|
+
type: string
|
|
21346
21392
|
mode:
|
|
21347
21393
|
type: string
|
|
21348
21394
|
enum:
|
|
@@ -21392,6 +21438,7 @@ paths:
|
|
|
21392
21438
|
- createdFromConversationExists
|
|
21393
21439
|
- createdFromConversationArchivedAt
|
|
21394
21440
|
- description
|
|
21441
|
+
- cadenceDescription
|
|
21395
21442
|
- mode
|
|
21396
21443
|
- status
|
|
21397
21444
|
- routingIntent
|
|
@@ -22176,6 +22223,22 @@ paths:
|
|
|
22176
22223
|
- available
|
|
22177
22224
|
category:
|
|
22178
22225
|
type: string
|
|
22226
|
+
owner:
|
|
22227
|
+
type: object
|
|
22228
|
+
properties:
|
|
22229
|
+
kind:
|
|
22230
|
+
type: string
|
|
22231
|
+
enum:
|
|
22232
|
+
- skill
|
|
22233
|
+
- mcp
|
|
22234
|
+
- plugin
|
|
22235
|
+
- workspace
|
|
22236
|
+
id:
|
|
22237
|
+
type: string
|
|
22238
|
+
required:
|
|
22239
|
+
- kind
|
|
22240
|
+
- id
|
|
22241
|
+
additionalProperties: false
|
|
22179
22242
|
origin:
|
|
22180
22243
|
type: string
|
|
22181
22244
|
const: vellum
|
|
@@ -22214,6 +22277,22 @@ paths:
|
|
|
22214
22277
|
- available
|
|
22215
22278
|
category:
|
|
22216
22279
|
type: string
|
|
22280
|
+
owner:
|
|
22281
|
+
type: object
|
|
22282
|
+
properties:
|
|
22283
|
+
kind:
|
|
22284
|
+
type: string
|
|
22285
|
+
enum:
|
|
22286
|
+
- skill
|
|
22287
|
+
- mcp
|
|
22288
|
+
- plugin
|
|
22289
|
+
- workspace
|
|
22290
|
+
id:
|
|
22291
|
+
type: string
|
|
22292
|
+
required:
|
|
22293
|
+
- kind
|
|
22294
|
+
- id
|
|
22295
|
+
additionalProperties: false
|
|
22217
22296
|
origin:
|
|
22218
22297
|
type: string
|
|
22219
22298
|
const: clawhub
|
|
@@ -22272,6 +22351,22 @@ paths:
|
|
|
22272
22351
|
- available
|
|
22273
22352
|
category:
|
|
22274
22353
|
type: string
|
|
22354
|
+
owner:
|
|
22355
|
+
type: object
|
|
22356
|
+
properties:
|
|
22357
|
+
kind:
|
|
22358
|
+
type: string
|
|
22359
|
+
enum:
|
|
22360
|
+
- skill
|
|
22361
|
+
- mcp
|
|
22362
|
+
- plugin
|
|
22363
|
+
- workspace
|
|
22364
|
+
id:
|
|
22365
|
+
type: string
|
|
22366
|
+
required:
|
|
22367
|
+
- kind
|
|
22368
|
+
- id
|
|
22369
|
+
additionalProperties: false
|
|
22275
22370
|
origin:
|
|
22276
22371
|
type: string
|
|
22277
22372
|
const: skillssh
|
|
@@ -22345,6 +22440,22 @@ paths:
|
|
|
22345
22440
|
- available
|
|
22346
22441
|
category:
|
|
22347
22442
|
type: string
|
|
22443
|
+
owner:
|
|
22444
|
+
type: object
|
|
22445
|
+
properties:
|
|
22446
|
+
kind:
|
|
22447
|
+
type: string
|
|
22448
|
+
enum:
|
|
22449
|
+
- skill
|
|
22450
|
+
- mcp
|
|
22451
|
+
- plugin
|
|
22452
|
+
- workspace
|
|
22453
|
+
id:
|
|
22454
|
+
type: string
|
|
22455
|
+
required:
|
|
22456
|
+
- kind
|
|
22457
|
+
- id
|
|
22458
|
+
additionalProperties: false
|
|
22348
22459
|
origin:
|
|
22349
22460
|
type: string
|
|
22350
22461
|
const: custom
|
|
@@ -22502,6 +22613,22 @@ paths:
|
|
|
22502
22613
|
- available
|
|
22503
22614
|
category:
|
|
22504
22615
|
type: string
|
|
22616
|
+
owner:
|
|
22617
|
+
type: object
|
|
22618
|
+
properties:
|
|
22619
|
+
kind:
|
|
22620
|
+
type: string
|
|
22621
|
+
enum:
|
|
22622
|
+
- skill
|
|
22623
|
+
- mcp
|
|
22624
|
+
- plugin
|
|
22625
|
+
- workspace
|
|
22626
|
+
id:
|
|
22627
|
+
type: string
|
|
22628
|
+
required:
|
|
22629
|
+
- kind
|
|
22630
|
+
- id
|
|
22631
|
+
additionalProperties: false
|
|
22505
22632
|
origin:
|
|
22506
22633
|
type: string
|
|
22507
22634
|
const: vellum
|
|
@@ -22725,6 +22852,22 @@ paths:
|
|
|
22725
22852
|
- available
|
|
22726
22853
|
category:
|
|
22727
22854
|
type: string
|
|
22855
|
+
owner:
|
|
22856
|
+
type: object
|
|
22857
|
+
properties:
|
|
22858
|
+
kind:
|
|
22859
|
+
type: string
|
|
22860
|
+
enum:
|
|
22861
|
+
- skill
|
|
22862
|
+
- mcp
|
|
22863
|
+
- plugin
|
|
22864
|
+
- workspace
|
|
22865
|
+
id:
|
|
22866
|
+
type: string
|
|
22867
|
+
required:
|
|
22868
|
+
- kind
|
|
22869
|
+
- id
|
|
22870
|
+
additionalProperties: false
|
|
22728
22871
|
origin:
|
|
22729
22872
|
type: string
|
|
22730
22873
|
const: custom
|
|
@@ -22892,6 +23035,22 @@ paths:
|
|
|
22892
23035
|
- available
|
|
22893
23036
|
category:
|
|
22894
23037
|
type: string
|
|
23038
|
+
owner:
|
|
23039
|
+
type: object
|
|
23040
|
+
properties:
|
|
23041
|
+
kind:
|
|
23042
|
+
type: string
|
|
23043
|
+
enum:
|
|
23044
|
+
- skill
|
|
23045
|
+
- mcp
|
|
23046
|
+
- plugin
|
|
23047
|
+
- workspace
|
|
23048
|
+
id:
|
|
23049
|
+
type: string
|
|
23050
|
+
required:
|
|
23051
|
+
- kind
|
|
23052
|
+
- id
|
|
23053
|
+
additionalProperties: false
|
|
22895
23054
|
origin:
|
|
22896
23055
|
type: string
|
|
22897
23056
|
const: vellum
|
|
@@ -22930,6 +23089,22 @@ paths:
|
|
|
22930
23089
|
- available
|
|
22931
23090
|
category:
|
|
22932
23091
|
type: string
|
|
23092
|
+
owner:
|
|
23093
|
+
type: object
|
|
23094
|
+
properties:
|
|
23095
|
+
kind:
|
|
23096
|
+
type: string
|
|
23097
|
+
enum:
|
|
23098
|
+
- skill
|
|
23099
|
+
- mcp
|
|
23100
|
+
- plugin
|
|
23101
|
+
- workspace
|
|
23102
|
+
id:
|
|
23103
|
+
type: string
|
|
23104
|
+
required:
|
|
23105
|
+
- kind
|
|
23106
|
+
- id
|
|
23107
|
+
additionalProperties: false
|
|
22933
23108
|
origin:
|
|
22934
23109
|
type: string
|
|
22935
23110
|
const: clawhub
|
|
@@ -22988,6 +23163,22 @@ paths:
|
|
|
22988
23163
|
- available
|
|
22989
23164
|
category:
|
|
22990
23165
|
type: string
|
|
23166
|
+
owner:
|
|
23167
|
+
type: object
|
|
23168
|
+
properties:
|
|
23169
|
+
kind:
|
|
23170
|
+
type: string
|
|
23171
|
+
enum:
|
|
23172
|
+
- skill
|
|
23173
|
+
- mcp
|
|
23174
|
+
- plugin
|
|
23175
|
+
- workspace
|
|
23176
|
+
id:
|
|
23177
|
+
type: string
|
|
23178
|
+
required:
|
|
23179
|
+
- kind
|
|
23180
|
+
- id
|
|
23181
|
+
additionalProperties: false
|
|
22991
23182
|
origin:
|
|
22992
23183
|
type: string
|
|
22993
23184
|
const: skillssh
|
|
@@ -23061,6 +23252,22 @@ paths:
|
|
|
23061
23252
|
- available
|
|
23062
23253
|
category:
|
|
23063
23254
|
type: string
|
|
23255
|
+
owner:
|
|
23256
|
+
type: object
|
|
23257
|
+
properties:
|
|
23258
|
+
kind:
|
|
23259
|
+
type: string
|
|
23260
|
+
enum:
|
|
23261
|
+
- skill
|
|
23262
|
+
- mcp
|
|
23263
|
+
- plugin
|
|
23264
|
+
- workspace
|
|
23265
|
+
id:
|
|
23266
|
+
type: string
|
|
23267
|
+
required:
|
|
23268
|
+
- kind
|
|
23269
|
+
- id
|
|
23270
|
+
additionalProperties: false
|
|
23064
23271
|
origin:
|
|
23065
23272
|
type: string
|
|
23066
23273
|
const: custom
|
|
@@ -23409,6 +23616,22 @@ paths:
|
|
|
23409
23616
|
- available
|
|
23410
23617
|
category:
|
|
23411
23618
|
type: string
|
|
23619
|
+
owner:
|
|
23620
|
+
type: object
|
|
23621
|
+
properties:
|
|
23622
|
+
kind:
|
|
23623
|
+
type: string
|
|
23624
|
+
enum:
|
|
23625
|
+
- skill
|
|
23626
|
+
- mcp
|
|
23627
|
+
- plugin
|
|
23628
|
+
- workspace
|
|
23629
|
+
id:
|
|
23630
|
+
type: string
|
|
23631
|
+
required:
|
|
23632
|
+
- kind
|
|
23633
|
+
- id
|
|
23634
|
+
additionalProperties: false
|
|
23412
23635
|
origin:
|
|
23413
23636
|
type: string
|
|
23414
23637
|
const: vellum
|
|
@@ -23447,6 +23670,22 @@ paths:
|
|
|
23447
23670
|
- available
|
|
23448
23671
|
category:
|
|
23449
23672
|
type: string
|
|
23673
|
+
owner:
|
|
23674
|
+
type: object
|
|
23675
|
+
properties:
|
|
23676
|
+
kind:
|
|
23677
|
+
type: string
|
|
23678
|
+
enum:
|
|
23679
|
+
- skill
|
|
23680
|
+
- mcp
|
|
23681
|
+
- plugin
|
|
23682
|
+
- workspace
|
|
23683
|
+
id:
|
|
23684
|
+
type: string
|
|
23685
|
+
required:
|
|
23686
|
+
- kind
|
|
23687
|
+
- id
|
|
23688
|
+
additionalProperties: false
|
|
23450
23689
|
origin:
|
|
23451
23690
|
type: string
|
|
23452
23691
|
const: clawhub
|
|
@@ -23505,6 +23744,22 @@ paths:
|
|
|
23505
23744
|
- available
|
|
23506
23745
|
category:
|
|
23507
23746
|
type: string
|
|
23747
|
+
owner:
|
|
23748
|
+
type: object
|
|
23749
|
+
properties:
|
|
23750
|
+
kind:
|
|
23751
|
+
type: string
|
|
23752
|
+
enum:
|
|
23753
|
+
- skill
|
|
23754
|
+
- mcp
|
|
23755
|
+
- plugin
|
|
23756
|
+
- workspace
|
|
23757
|
+
id:
|
|
23758
|
+
type: string
|
|
23759
|
+
required:
|
|
23760
|
+
- kind
|
|
23761
|
+
- id
|
|
23762
|
+
additionalProperties: false
|
|
23508
23763
|
origin:
|
|
23509
23764
|
type: string
|
|
23510
23765
|
const: skillssh
|
|
@@ -23578,6 +23833,22 @@ paths:
|
|
|
23578
23833
|
- available
|
|
23579
23834
|
category:
|
|
23580
23835
|
type: string
|
|
23836
|
+
owner:
|
|
23837
|
+
type: object
|
|
23838
|
+
properties:
|
|
23839
|
+
kind:
|
|
23840
|
+
type: string
|
|
23841
|
+
enum:
|
|
23842
|
+
- skill
|
|
23843
|
+
- mcp
|
|
23844
|
+
- plugin
|
|
23845
|
+
- workspace
|
|
23846
|
+
id:
|
|
23847
|
+
type: string
|
|
23848
|
+
required:
|
|
23849
|
+
- kind
|
|
23850
|
+
- id
|
|
23851
|
+
additionalProperties: false
|
|
23581
23852
|
origin:
|
|
23582
23853
|
type: string
|
|
23583
23854
|
const: custom
|
|
@@ -24663,13 +24934,74 @@ paths:
|
|
|
24663
24934
|
/v1/tools:
|
|
24664
24935
|
get:
|
|
24665
24936
|
operationId: tools_get
|
|
24666
|
-
summary: List tools
|
|
24667
|
-
description:
|
|
24937
|
+
summary: List registered tools with metadata and schemas
|
|
24938
|
+
description:
|
|
24939
|
+
"Return registered tools. Without `conversationId`, returns every tool in the global registry; `tools`
|
|
24940
|
+
carries per-tool metadata (description, author-asserted risk level, category, and contributing source: core,
|
|
24941
|
+
skill, plugin, or MCP server) and `names`/`schemas` additionally cover skill tools whose manifests are present
|
|
24942
|
+
but not yet loaded, for the permission-simulator catalog. With `conversationId`, scopes the result to the tools
|
|
24943
|
+
available to that conversation as of its most recent turn (including skill/MCP tools registered over its
|
|
24944
|
+
lifecycle); 404 if no such conversation is active."
|
|
24668
24945
|
tags:
|
|
24669
24946
|
- tools
|
|
24670
24947
|
responses:
|
|
24671
24948
|
"200":
|
|
24672
24949
|
description: Successful response
|
|
24950
|
+
content:
|
|
24951
|
+
application/json:
|
|
24952
|
+
schema:
|
|
24953
|
+
type: object
|
|
24954
|
+
properties:
|
|
24955
|
+
names:
|
|
24956
|
+
type: array
|
|
24957
|
+
items:
|
|
24958
|
+
type: string
|
|
24959
|
+
schemas:
|
|
24960
|
+
type: object
|
|
24961
|
+
propertyNames:
|
|
24962
|
+
type: string
|
|
24963
|
+
additionalProperties:
|
|
24964
|
+
type: object
|
|
24965
|
+
propertyNames:
|
|
24966
|
+
type: string
|
|
24967
|
+
additionalProperties: {}
|
|
24968
|
+
tools:
|
|
24969
|
+
type: array
|
|
24970
|
+
items:
|
|
24971
|
+
type: object
|
|
24972
|
+
properties:
|
|
24973
|
+
name:
|
|
24974
|
+
type: string
|
|
24975
|
+
description:
|
|
24976
|
+
type: string
|
|
24977
|
+
riskLevel:
|
|
24978
|
+
type: string
|
|
24979
|
+
category:
|
|
24980
|
+
type: string
|
|
24981
|
+
source:
|
|
24982
|
+
type: string
|
|
24983
|
+
description:
|
|
24984
|
+
'Tool origin: "core" for built-ins, otherwise "<kind>:<id>" (e.g. "plugin:echo", "skill:my-skill",
|
|
24985
|
+
"mcp:server").'
|
|
24986
|
+
required:
|
|
24987
|
+
- name
|
|
24988
|
+
- description
|
|
24989
|
+
- riskLevel
|
|
24990
|
+
- category
|
|
24991
|
+
- source
|
|
24992
|
+
additionalProperties: false
|
|
24993
|
+
required:
|
|
24994
|
+
- names
|
|
24995
|
+
- schemas
|
|
24996
|
+
- tools
|
|
24997
|
+
additionalProperties: false
|
|
24998
|
+
parameters:
|
|
24999
|
+
- name: conversationId
|
|
25000
|
+
in: query
|
|
25001
|
+
required: false
|
|
25002
|
+
schema:
|
|
25003
|
+
type: string
|
|
25004
|
+
description: When set, scope the tool inventory to this conversation's most recent turn instead of the global registry.
|
|
24673
25005
|
/v1/tools/simulate-permission:
|
|
24674
25006
|
post:
|
|
24675
25007
|
operationId: tools_simulatepermission_post
|