@vellumai/assistant 0.8.11 → 0.8.12-staging.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/ARCHITECTURE.md +15 -17
- package/README.md +0 -6
- package/bun.lock +6 -122
- package/node_modules/@vellumai/gateway-client/bun.lock +1 -0
- package/node_modules/@vellumai/gateway-client/package.json +3 -1
- package/node_modules/@vellumai/gateway-client/src/__tests__/gateway-client.test.ts +1 -1
- package/node_modules/@vellumai/gateway-client/src/gateway-ipc-contracts.ts +87 -0
- package/node_modules/@vellumai/gateway-client/src/index.ts +3 -5
- package/openapi.yaml +633 -4
- package/package.json +1 -3
- package/src/__tests__/adaptive-thinking-repair.test.ts +185 -0
- package/src/__tests__/agent-loop-compaction-events.test.ts +7 -6
- package/src/__tests__/anthropic-provider.test.ts +129 -0
- package/src/__tests__/background-workers-disk-pressure.test.ts +4 -1
- package/src/__tests__/btw-routes.test.ts +7 -34
- package/src/__tests__/checker.test.ts +6 -12
- package/src/__tests__/config-loader-backfill.test.ts +4 -2
- package/src/__tests__/config-loader-quarantine-notice.test.ts +167 -0
- package/src/__tests__/config-watcher.test.ts +2 -2
- package/src/__tests__/conversation-agent-loop-inference-profile.test.ts +1 -1
- package/src/__tests__/conversation-error.test.ts +2 -6
- package/src/__tests__/conversation-history-web-search.test.ts +8 -0
- package/src/__tests__/conversation-title-service.test.ts +2 -1
- package/src/__tests__/credential-security-invariants.test.ts +1 -1
- package/src/__tests__/disk-pressure-tools.test.ts +1 -1
- package/src/__tests__/exploration-drift-hook.test.ts +692 -0
- package/src/__tests__/filing-service.test.ts +8 -3
- package/src/__tests__/guardian-action-store.test.ts +0 -167
- package/src/__tests__/handlers-skills-memory-v2-reseed.test.ts +1 -1
- package/src/__tests__/heartbeat-disk-pressure.test.ts +4 -1
- package/src/__tests__/heartbeat-service.test.ts +5 -2
- package/src/__tests__/identity-intro-cache.test.ts +12 -5
- package/src/__tests__/identity-routes.test.ts +16 -57
- package/src/__tests__/injector-chain.test.ts +8 -3
- package/src/__tests__/injector-config-quarantine-notice.test.ts +115 -0
- package/src/__tests__/llm-catalog-parity.test.ts +16 -0
- package/src/__tests__/llm-usage-store.test.ts +11 -0
- package/src/__tests__/log-export-workspace.test.ts +468 -3
- package/src/__tests__/memory-v2-static-injector.test.ts +22 -0
- package/src/__tests__/model-intents.test.ts +1 -1
- package/src/__tests__/oauth-cli.test.ts +19 -8
- package/src/__tests__/openai-provider.test.ts +34 -0
- package/src/__tests__/prechat-onboarding-contract.test.ts +0 -1
- package/src/__tests__/recurrence-engine.test.ts +45 -0
- package/src/__tests__/schedule-routes.test.ts +34 -0
- package/src/__tests__/scheduler-disk-pressure.test.ts +1 -1
- package/src/__tests__/script-proxy-conversation-manager.test.ts +10 -5
- package/src/__tests__/secret-fixtures.ts +20 -0
- package/src/__tests__/skill-tool-factory.test.ts +49 -0
- package/src/__tests__/subagent-role-registry.test.ts +24 -1
- package/src/__tests__/subagent-tools.test.ts +1 -0
- package/src/__tests__/system-prompt.test.ts +109 -11
- package/src/__tests__/tool-approval-handler.test.ts +85 -0
- package/src/__tests__/tool-audit-listener.test.ts +86 -0
- package/src/__tests__/tool-error-hook.test.ts +1 -0
- package/src/__tests__/tool-result-spool.test.ts +337 -0
- package/src/__tests__/tool-result-truncate-hook.test.ts +1 -0
- package/src/__tests__/validate-input.test.ts +95 -1
- package/src/__tests__/workspace-migration-098-remove-stale-updates-bulletin-file.test.ts +65 -0
- package/src/__tests__/workspace-migration-099-disable-cache-one-shot-callsites.test.ts +139 -0
- package/src/__tests__/workspace-migration-100-upgrade-quality-profile-to-fable-5.test.ts +174 -0
- package/src/__tests__/workspace-migration-101-upgrade-balanced-economy-to-minimax-m3.test.ts +162 -0
- package/src/__tests__/workspace-release-notes-feature-flag-guard.test.ts +45 -95
- package/src/acp/__tests__/agent-process.test.ts +315 -2
- package/src/acp/__tests__/prepare-agent-env.test.ts +79 -5
- package/src/acp/agent-process.ts +163 -34
- package/src/acp/prepare-agent-env.ts +55 -15
- package/src/agent/loop.ts +81 -24
- package/src/api/events/usage-progress.ts +28 -0
- package/src/api/index.ts +6 -0
- package/src/background-wake/wake-intent-hooks.test.ts +2 -0
- package/src/bundler/app-bundler.ts +25 -42
- package/src/bundler/app-compiler.ts +8 -0
- package/src/calls/call-controller.ts +1 -1
- package/src/cli/commands/plugins.ts +248 -15
- package/src/cli/lib/__tests__/inspect-plugin.test.ts +318 -0
- package/src/cli/lib/__tests__/install-from-github.test.ts +16 -9
- package/src/cli/lib/__tests__/plugin-artifact.test.ts +183 -0
- package/src/cli/lib/__tests__/plugin-details.test.ts +158 -0
- package/src/cli/lib/__tests__/plugin-fingerprint.test.ts +245 -0
- package/src/cli/lib/__tests__/upgrade-plugin.test.ts +307 -0
- package/src/cli/lib/inspect-plugin.ts +252 -0
- package/src/cli/lib/install-from-github.ts +214 -21
- package/src/cli/lib/list-installed-plugins.ts +17 -6
- package/src/cli/lib/plugin-artifact.ts +103 -0
- package/src/cli/lib/plugin-details.ts +18 -1
- package/src/cli/lib/plugin-fingerprint.ts +197 -0
- package/src/cli/lib/upgrade-plugin.ts +225 -0
- package/src/config/bundled-skills/subagent/SKILL.md +2 -0
- package/src/config/bundled-skills/subagent/TOOLS.json +8 -2
- package/src/config/call-site-defaults.ts +13 -2
- package/src/config/feature-flag-registry.json +8 -16
- package/src/config/loader.ts +52 -59
- package/src/config/schema.ts +0 -2
- package/src/config/schemas/__tests__/memory-v2.test.ts +1 -0
- package/src/config/schemas/__tests__/memory-v3.test.ts +10 -0
- package/src/config/schemas/llm.ts +10 -0
- package/src/config/schemas/memory-v2.ts +13 -0
- package/src/config/schemas/memory-v3.ts +92 -0
- package/src/config/seed-inference-profiles.ts +4 -8
- package/src/context/post-turn-tool-result-truncation.ts +32 -18
- package/src/context/tool-result-spool.ts +104 -0
- package/src/credential-execution/feature-gates.ts +0 -1
- package/src/daemon/conversation-agent-loop-handlers.ts +41 -16
- package/src/daemon/conversation-error.ts +6 -15
- package/src/daemon/conversation.ts +9 -0
- package/src/daemon/disk-pressure-policy.ts +0 -1
- package/src/daemon/lifecycle.ts +1 -20
- package/src/daemon/message-types/conversations.ts +2 -15
- package/src/daemon/trust-context.ts +1 -1
- package/src/events/tool-audit-listener.ts +40 -9
- package/src/heartbeat/__tests__/heartbeat-service.test.ts +1 -1
- package/src/home/__tests__/home-content-refresh.test.ts +114 -0
- package/src/home/__tests__/suggested-prompts.test.ts +86 -5
- package/src/home/home-content-refresh.ts +43 -31
- package/src/home/home-greeting-cache.ts +8 -1
- package/src/home/home-greeting.ts +13 -9
- package/src/home/suggested-prompts.ts +77 -24
- package/src/ipc/routes/trust-rules.test.ts +66 -72
- package/src/media/image-credentials.ts +2 -2
- package/src/memory/__tests__/compaction-log-store-clickhouse.test.ts +432 -0
- package/src/memory/{compaction-log-writer-clickhouse.ts → compaction-log-store-clickhouse.ts} +264 -55
- package/src/memory/conversation-attention-store.ts +1 -0
- package/src/memory/conversation-bootstrap.ts +18 -9
- package/src/memory/conversation-crud.ts +12 -2
- package/src/memory/conversation-title-service.ts +53 -9
- package/src/memory/delivery-channels.ts +0 -69
- package/src/memory/graph/extraction-job.ts +0 -15
- package/src/memory/guardian-action-store.ts +1 -376
- package/src/memory/llm-usage-store.ts +5 -1
- package/src/memory/migrations/181-rename-thread-starters-checkpoints.ts +2 -2
- package/src/memory/v2/__tests__/consolidation-job.test.ts +183 -2
- package/src/memory/v2/__tests__/injection.test.ts +70 -0
- package/src/memory/v2/__tests__/static-context.test.ts +12 -0
- package/src/memory/v2/consolidation-job.ts +93 -9
- package/src/memory/v2/injection.ts +53 -0
- package/src/memory/v2/prompts/consolidation.ts +1 -0
- package/src/memory/v2/static-context.ts +13 -1
- package/src/memory/v2/sweep-job.ts +1 -1
- package/src/memory/v2/types.ts +5 -0
- package/src/plugin-api/types.ts +7 -0
- package/src/plugins/defaults/exploration-drift/hooks/post-tool-use.ts +300 -0
- package/src/plugins/defaults/exploration-drift/package.json +15 -0
- package/src/plugins/defaults/index.ts +25 -0
- package/src/plugins/defaults/memory-retrieval/injectors.ts +132 -4
- package/src/plugins/defaults/memory-v3-shadow/__tests__/card.test.ts +92 -0
- package/src/plugins/defaults/memory-v3-shadow/__tests__/carry-integration.test.ts +2 -1
- package/src/plugins/defaults/memory-v3-shadow/__tests__/fresh-set.test.ts +52 -0
- package/src/plugins/defaults/memory-v3-shadow/__tests__/injection.test.ts +1 -0
- package/src/plugins/defaults/memory-v3-shadow/__tests__/live-integration.test.ts +2 -1
- package/src/plugins/defaults/memory-v3-shadow/__tests__/orchestrate.test.ts +136 -5
- package/src/plugins/defaults/memory-v3-shadow/__tests__/pool-select.test.ts +17 -0
- package/src/plugins/defaults/memory-v3-shadow/__tests__/selection-log-store.test.ts +6 -0
- package/src/plugins/defaults/memory-v3-shadow/__tests__/shadow-integration.test.ts +5 -1
- package/src/plugins/defaults/memory-v3-shadow/__tests__/shadow-plugin.test.ts +68 -4
- package/src/plugins/defaults/memory-v3-shadow/card.ts +49 -5
- package/src/plugins/defaults/memory-v3-shadow/fresh-set.ts +59 -0
- package/src/plugins/defaults/memory-v3-shadow/injector.ts +4 -2
- package/src/plugins/defaults/memory-v3-shadow/learned-edges.test.ts +169 -0
- package/src/plugins/defaults/memory-v3-shadow/learned-edges.ts +178 -0
- package/src/plugins/defaults/memory-v3-shadow/orchestrate.ts +115 -26
- package/src/plugins/defaults/memory-v3-shadow/pool-select.ts +13 -9
- package/src/plugins/defaults/memory-v3-shadow/shadow-plugin.ts +144 -22
- package/src/plugins/defaults/memory-v3-shadow/types.ts +24 -6
- package/src/plugins/defaults/title-generate/hooks/stop.ts +13 -0
- package/src/plugins/defaults/title-generate/hooks/user-prompt-submit.ts +16 -0
- package/src/prompts/cache-boundary.ts +17 -0
- package/src/prompts/sections.ts +50 -17
- package/src/prompts/system-prompt.ts +12 -4
- package/src/prompts/templates/system-sections.ts +22 -0
- package/src/providers/__tests__/unparseable-tool-args.test.ts +53 -0
- package/src/providers/anthropic/client.ts +74 -28
- package/src/providers/gemini/client.ts +5 -1
- package/src/providers/minimax/client.ts +9 -0
- package/src/providers/model-catalog.ts +28 -0
- package/src/providers/model-intents.ts +3 -3
- package/src/providers/openai/chat-completions-provider.ts +4 -2
- package/src/providers/openai/responses-provider.ts +7 -2
- package/src/providers/retry.ts +8 -0
- package/src/providers/types.ts +11 -0
- package/src/providers/unparseable-tool-args.ts +56 -0
- package/src/runtime/AGENTS.md +6 -0
- package/src/runtime/__tests__/agent-wake.test.ts +2 -2
- package/src/runtime/agent-wake.ts +5 -5
- package/src/runtime/background-job-runner.ts +2 -2
- package/src/runtime/migrations/__tests__/vbundle-legacy-user-md.test.ts +150 -3
- package/src/runtime/migrations/vbundle-import-analyzer.ts +29 -6
- package/src/runtime/migrations/vbundle-import-policy.ts +23 -0
- package/src/runtime/migrations/vbundle-importer.ts +9 -4
- package/src/runtime/migrations/vbundle-streaming-importer.ts +8 -3
- package/src/runtime/pre-first-message-gate.ts +1 -1
- package/src/runtime/routes/__tests__/conversation-compaction-routes.test.ts +241 -0
- package/src/runtime/routes/__tests__/conversation-query-routes.test.ts +132 -0
- package/src/runtime/routes/__tests__/gateway-log-routes.test.ts +97 -185
- package/src/runtime/routes/__tests__/home-feed-routes.test.ts +17 -0
- package/src/runtime/routes/__tests__/plugins-routes.test.ts +348 -0
- package/src/runtime/routes/__tests__/task-routes.test.ts +3 -3
- package/src/runtime/routes/btw-routes.ts +0 -14
- package/src/runtime/routes/conversation-compaction-routes.ts +86 -19
- package/src/runtime/routes/conversation-list-routes.ts +77 -5
- package/src/runtime/routes/conversation-management-routes.ts +54 -0
- package/src/runtime/routes/conversation-query-routes.ts +79 -4
- package/src/runtime/routes/gateway-log-routes.ts +14 -64
- package/src/runtime/routes/home-feed-routes.ts +10 -0
- package/src/runtime/routes/identity-intro-cache.ts +1 -1
- package/src/runtime/routes/identity-routes.ts +76 -20
- package/src/runtime/routes/inbound-message-handler.ts +0 -36
- package/src/runtime/routes/log-export-routes.ts +143 -96
- package/src/runtime/routes/plugins-routes.ts +380 -0
- package/src/runtime/routes/redact-staged-export.ts +259 -0
- package/src/runtime/routes/schedule-routes.ts +19 -2
- package/src/runtime/routes/trust-rules-routes.ts +14 -67
- package/src/schedule/recurrence-engine.ts +34 -0
- package/src/schedule/scheduler.ts +1 -0
- package/src/security/redact-json.ts +61 -0
- package/src/skills/validate-input.ts +41 -1
- package/src/subagent/types.ts +26 -1
- package/src/telemetry/types.ts +15 -1
- package/src/telemetry/usage-telemetry-reporter.test.ts +6 -1
- package/src/telemetry/usage-telemetry-reporter.ts +1 -0
- package/src/tools/apps/executors.ts +1 -1
- package/src/tools/skills/skill-tool-factory.ts +19 -8
- package/src/tools/tool-approval-handler.ts +31 -0
- package/src/usage/types.ts +8 -1
- package/src/util/platform.ts +16 -0
- package/src/watcher/engine.ts +1 -0
- package/src/workspace/adaptive-thinking-repair.ts +113 -0
- package/src/workspace/migrations/097-enable-adaptive-thinking-managed-profiles.ts +70 -67
- package/src/workspace/migrations/098-remove-stale-updates-bulletin-file.ts +31 -0
- package/src/workspace/migrations/099-disable-cache-one-shot-callsites.ts +81 -0
- package/src/workspace/migrations/100-upgrade-quality-profile-to-fable-5.ts +86 -0
- package/src/workspace/migrations/101-upgrade-balanced-economy-to-minimax-m3.ts +70 -0
- package/src/workspace/migrations/registry.ts +8 -0
- package/src/__tests__/config-loader-quarantine-bulletin.test.ts +0 -202
- package/src/__tests__/conversation-starters-cadence.test.ts +0 -161
- package/src/__tests__/guardian-action-followup-executor.test.ts +0 -322
- package/src/__tests__/guardian-action-followup-store.test.ts +0 -373
- package/src/__tests__/guardian-action-late-reply.test.ts +0 -1083
- package/src/__tests__/update-bulletin-job.test.ts +0 -292
- package/src/config/schemas/updates.ts +0 -14
- package/src/memory/__tests__/compaction-log-writer-clickhouse.test.ts +0 -227
- package/src/memory/conversation-starters-cadence.ts +0 -78
- package/src/prompts/update-bulletin-job.ts +0 -180
- package/src/runtime/guardian-action-followup-executor.ts +0 -306
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.12
|
|
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
|
|
@@ -5937,6 +5937,7 @@ paths:
|
|
|
5937
5937
|
- macos_notification_view
|
|
5938
5938
|
- macos_conversation_opened
|
|
5939
5939
|
- ios_conversation_opened
|
|
5940
|
+
- web_bulk_mark_read
|
|
5940
5941
|
- telegram_inbound_message
|
|
5941
5942
|
- telegram_callback
|
|
5942
5943
|
- slack_inbound_message
|
|
@@ -6300,6 +6301,7 @@ paths:
|
|
|
6300
6301
|
- macos_notification_view
|
|
6301
6302
|
- macos_conversation_opened
|
|
6302
6303
|
- ios_conversation_opened
|
|
6304
|
+
- web_bulk_mark_read
|
|
6303
6305
|
- telegram_inbound_message
|
|
6304
6306
|
- telegram_callback
|
|
6305
6307
|
- slack_inbound_message
|
|
@@ -6500,6 +6502,7 @@ paths:
|
|
|
6500
6502
|
- macos_notification_view
|
|
6501
6503
|
- macos_conversation_opened
|
|
6502
6504
|
- ios_conversation_opened
|
|
6505
|
+
- web_bulk_mark_read
|
|
6503
6506
|
- telegram_inbound_message
|
|
6504
6507
|
- telegram_callback
|
|
6505
6508
|
- slack_inbound_message
|
|
@@ -6628,9 +6631,10 @@ paths:
|
|
|
6628
6631
|
description:
|
|
6629
6632
|
Return the chronological list of compaction events that ran in the same agent turn as the call identified
|
|
6630
6633
|
by `callId`. Turn bounds are walked from the `messages` table (real user messages — tool-result user messages
|
|
6631
|
-
are not boundaries).
|
|
6632
|
-
|
|
6633
|
-
|
|
6634
|
+
are not boundaries). Served from the first-class compaction log when `compactionLogs.destination = "clickhouse"`
|
|
6635
|
+
is configured, falling back to the legacy projection over `llm_request_logs` rows where `call_site =
|
|
6636
|
+
"compactionAgent"`. When the conversation has no other messages around the selected call, every compaction
|
|
6637
|
+
strictly before the call's `createdAt` is in scope. Drives the Inspector's Compaction tab.
|
|
6634
6638
|
tags:
|
|
6635
6639
|
- conversations
|
|
6636
6640
|
responses:
|
|
@@ -7095,6 +7099,44 @@ paths:
|
|
|
7095
7099
|
required: true
|
|
7096
7100
|
schema:
|
|
7097
7101
|
type: string
|
|
7102
|
+
/v1/conversations/archive/bulk:
|
|
7103
|
+
post:
|
|
7104
|
+
operationId: conversations_archive_bulk_post
|
|
7105
|
+
summary: Bulk archive conversations
|
|
7106
|
+
description: Archive multiple conversations in one request. Emits a single sync invalidation for the entire batch.
|
|
7107
|
+
tags:
|
|
7108
|
+
- conversations
|
|
7109
|
+
responses:
|
|
7110
|
+
"200":
|
|
7111
|
+
description: Successful response
|
|
7112
|
+
content:
|
|
7113
|
+
application/json:
|
|
7114
|
+
schema:
|
|
7115
|
+
type: object
|
|
7116
|
+
properties:
|
|
7117
|
+
ok:
|
|
7118
|
+
type: boolean
|
|
7119
|
+
archived:
|
|
7120
|
+
type: number
|
|
7121
|
+
required:
|
|
7122
|
+
- ok
|
|
7123
|
+
- archived
|
|
7124
|
+
additionalProperties: false
|
|
7125
|
+
requestBody:
|
|
7126
|
+
required: true
|
|
7127
|
+
content:
|
|
7128
|
+
application/json:
|
|
7129
|
+
schema:
|
|
7130
|
+
type: object
|
|
7131
|
+
properties:
|
|
7132
|
+
conversationIds:
|
|
7133
|
+
minItems: 1
|
|
7134
|
+
type: array
|
|
7135
|
+
items:
|
|
7136
|
+
type: string
|
|
7137
|
+
required:
|
|
7138
|
+
- conversationIds
|
|
7139
|
+
additionalProperties: false
|
|
7098
7140
|
/v1/conversations/attention:
|
|
7099
7141
|
get:
|
|
7100
7142
|
operationId: conversations_attention_get
|
|
@@ -7515,6 +7557,7 @@ paths:
|
|
|
7515
7557
|
- macos_notification_view
|
|
7516
7558
|
- macos_conversation_opened
|
|
7517
7559
|
- ios_conversation_opened
|
|
7560
|
+
- web_bulk_mark_read
|
|
7518
7561
|
- telegram_inbound_message
|
|
7519
7562
|
- telegram_callback
|
|
7520
7563
|
- slack_inbound_message
|
|
@@ -8341,6 +8384,15 @@ paths:
|
|
|
8341
8384
|
schema:
|
|
8342
8385
|
type: string
|
|
8343
8386
|
description: Internal conversation identifier.
|
|
8387
|
+
- name: view
|
|
8388
|
+
in: query
|
|
8389
|
+
required: false
|
|
8390
|
+
schema:
|
|
8391
|
+
type: string
|
|
8392
|
+
enum:
|
|
8393
|
+
- full
|
|
8394
|
+
- summary
|
|
8395
|
+
description: Response shape. 'summary' omits per-log request/response sections; defaults to 'full'.
|
|
8344
8396
|
/v1/conversations/rename:
|
|
8345
8397
|
post:
|
|
8346
8398
|
operationId: conversations_rename_post
|
|
@@ -8522,6 +8574,46 @@ paths:
|
|
|
8522
8574
|
required:
|
|
8523
8575
|
- conversationId
|
|
8524
8576
|
additionalProperties: false
|
|
8577
|
+
/v1/conversations/seen/bulk:
|
|
8578
|
+
post:
|
|
8579
|
+
operationId: conversations_seen_bulk_post
|
|
8580
|
+
summary: Bulk mark conversations as seen
|
|
8581
|
+
description:
|
|
8582
|
+
Mark multiple conversations as seen in one request. Emits a single sync invalidation for the entire batch
|
|
8583
|
+
instead of per-conversation events.
|
|
8584
|
+
tags:
|
|
8585
|
+
- conversations
|
|
8586
|
+
responses:
|
|
8587
|
+
"200":
|
|
8588
|
+
description: Successful response
|
|
8589
|
+
content:
|
|
8590
|
+
application/json:
|
|
8591
|
+
schema:
|
|
8592
|
+
type: object
|
|
8593
|
+
properties:
|
|
8594
|
+
ok:
|
|
8595
|
+
type: boolean
|
|
8596
|
+
updated:
|
|
8597
|
+
type: number
|
|
8598
|
+
required:
|
|
8599
|
+
- ok
|
|
8600
|
+
- updated
|
|
8601
|
+
additionalProperties: false
|
|
8602
|
+
requestBody:
|
|
8603
|
+
required: true
|
|
8604
|
+
content:
|
|
8605
|
+
application/json:
|
|
8606
|
+
schema:
|
|
8607
|
+
type: object
|
|
8608
|
+
properties:
|
|
8609
|
+
conversationIds:
|
|
8610
|
+
minItems: 1
|
|
8611
|
+
type: array
|
|
8612
|
+
items:
|
|
8613
|
+
type: string
|
|
8614
|
+
required:
|
|
8615
|
+
- conversationIds
|
|
8616
|
+
additionalProperties: false
|
|
8525
8617
|
/v1/conversations/switch:
|
|
8526
8618
|
post:
|
|
8527
8619
|
operationId: conversations_switch_post
|
|
@@ -12920,6 +13012,23 @@ paths:
|
|
|
12920
13012
|
- source
|
|
12921
13013
|
- refreshing
|
|
12922
13014
|
additionalProperties: false
|
|
13015
|
+
parameters:
|
|
13016
|
+
- name: localHour
|
|
13017
|
+
in: query
|
|
13018
|
+
required: false
|
|
13019
|
+
schema:
|
|
13020
|
+
type: integer
|
|
13021
|
+
minimum: 0
|
|
13022
|
+
maximum: 23
|
|
13023
|
+
description: Optional client-local hour of day used only when refreshing generated greetings.
|
|
13024
|
+
- name: localMinute
|
|
13025
|
+
in: query
|
|
13026
|
+
required: false
|
|
13027
|
+
schema:
|
|
13028
|
+
type: integer
|
|
13029
|
+
minimum: 0
|
|
13030
|
+
maximum: 59
|
|
13031
|
+
description: Optional client-local minute used only when refreshing generated greetings.
|
|
12923
13032
|
/v1/image-generation/generate:
|
|
12924
13033
|
post:
|
|
12925
13034
|
operationId: imagegeneration_generate_post
|
|
@@ -15182,6 +15291,191 @@ paths:
|
|
|
15182
15291
|
responses:
|
|
15183
15292
|
"200":
|
|
15184
15293
|
description: Successful response
|
|
15294
|
+
/v1/llm-request-logs/{id}/context:
|
|
15295
|
+
get:
|
|
15296
|
+
operationId: llmrequestlogs_by_id_context_get
|
|
15297
|
+
summary: Get normalized context for a single LLM request log
|
|
15298
|
+
description: Return the normalized summary and request/response sections for a specific log entry.
|
|
15299
|
+
tags:
|
|
15300
|
+
- messages
|
|
15301
|
+
responses:
|
|
15302
|
+
"200":
|
|
15303
|
+
description: Successful response
|
|
15304
|
+
content:
|
|
15305
|
+
application/json:
|
|
15306
|
+
schema:
|
|
15307
|
+
type: object
|
|
15308
|
+
properties:
|
|
15309
|
+
id:
|
|
15310
|
+
type: string
|
|
15311
|
+
createdAt:
|
|
15312
|
+
type: number
|
|
15313
|
+
requestPayload:
|
|
15314
|
+
type: "null"
|
|
15315
|
+
responsePayload:
|
|
15316
|
+
type: "null"
|
|
15317
|
+
provider:
|
|
15318
|
+
anyOf:
|
|
15319
|
+
- type: string
|
|
15320
|
+
- type: "null"
|
|
15321
|
+
summary:
|
|
15322
|
+
anyOf:
|
|
15323
|
+
- type: object
|
|
15324
|
+
properties:
|
|
15325
|
+
provider:
|
|
15326
|
+
anyOf:
|
|
15327
|
+
- type: string
|
|
15328
|
+
- type: "null"
|
|
15329
|
+
model:
|
|
15330
|
+
anyOf:
|
|
15331
|
+
- type: string
|
|
15332
|
+
- type: "null"
|
|
15333
|
+
status:
|
|
15334
|
+
anyOf:
|
|
15335
|
+
- type: string
|
|
15336
|
+
- type: "null"
|
|
15337
|
+
inputTokens:
|
|
15338
|
+
anyOf:
|
|
15339
|
+
- type: number
|
|
15340
|
+
- type: "null"
|
|
15341
|
+
outputTokens:
|
|
15342
|
+
anyOf:
|
|
15343
|
+
- type: number
|
|
15344
|
+
- type: "null"
|
|
15345
|
+
cacheCreationInputTokens:
|
|
15346
|
+
anyOf:
|
|
15347
|
+
- type: number
|
|
15348
|
+
- type: "null"
|
|
15349
|
+
cacheReadInputTokens:
|
|
15350
|
+
anyOf:
|
|
15351
|
+
- type: number
|
|
15352
|
+
- type: "null"
|
|
15353
|
+
stopReason:
|
|
15354
|
+
anyOf:
|
|
15355
|
+
- type: string
|
|
15356
|
+
- type: "null"
|
|
15357
|
+
requestMessageCount:
|
|
15358
|
+
anyOf:
|
|
15359
|
+
- type: number
|
|
15360
|
+
- type: "null"
|
|
15361
|
+
requestToolCount:
|
|
15362
|
+
anyOf:
|
|
15363
|
+
- type: number
|
|
15364
|
+
- type: "null"
|
|
15365
|
+
responseMessageCount:
|
|
15366
|
+
anyOf:
|
|
15367
|
+
- type: number
|
|
15368
|
+
- type: "null"
|
|
15369
|
+
responseToolCallCount:
|
|
15370
|
+
anyOf:
|
|
15371
|
+
- type: number
|
|
15372
|
+
- type: "null"
|
|
15373
|
+
responsePreview:
|
|
15374
|
+
anyOf:
|
|
15375
|
+
- type: string
|
|
15376
|
+
- type: "null"
|
|
15377
|
+
toolCallNames:
|
|
15378
|
+
anyOf:
|
|
15379
|
+
- type: array
|
|
15380
|
+
items:
|
|
15381
|
+
type: string
|
|
15382
|
+
- type: "null"
|
|
15383
|
+
estimatedCostUsd:
|
|
15384
|
+
anyOf:
|
|
15385
|
+
- type: number
|
|
15386
|
+
- type: "null"
|
|
15387
|
+
durationMs:
|
|
15388
|
+
anyOf:
|
|
15389
|
+
- type: number
|
|
15390
|
+
- type: "null"
|
|
15391
|
+
additionalProperties: false
|
|
15392
|
+
- type: "null"
|
|
15393
|
+
requestSections:
|
|
15394
|
+
anyOf:
|
|
15395
|
+
- type: array
|
|
15396
|
+
items:
|
|
15397
|
+
type: object
|
|
15398
|
+
properties:
|
|
15399
|
+
kind:
|
|
15400
|
+
type: string
|
|
15401
|
+
label:
|
|
15402
|
+
anyOf:
|
|
15403
|
+
- type: string
|
|
15404
|
+
- type: "null"
|
|
15405
|
+
role:
|
|
15406
|
+
anyOf:
|
|
15407
|
+
- type: string
|
|
15408
|
+
- type: "null"
|
|
15409
|
+
text:
|
|
15410
|
+
anyOf:
|
|
15411
|
+
- type: string
|
|
15412
|
+
- type: "null"
|
|
15413
|
+
toolName:
|
|
15414
|
+
anyOf:
|
|
15415
|
+
- type: string
|
|
15416
|
+
- type: "null"
|
|
15417
|
+
data: {}
|
|
15418
|
+
language:
|
|
15419
|
+
anyOf:
|
|
15420
|
+
- type: string
|
|
15421
|
+
- type: "null"
|
|
15422
|
+
required:
|
|
15423
|
+
- kind
|
|
15424
|
+
additionalProperties: false
|
|
15425
|
+
- type: "null"
|
|
15426
|
+
responseSections:
|
|
15427
|
+
anyOf:
|
|
15428
|
+
- type: array
|
|
15429
|
+
items:
|
|
15430
|
+
type: object
|
|
15431
|
+
properties:
|
|
15432
|
+
kind:
|
|
15433
|
+
type: string
|
|
15434
|
+
label:
|
|
15435
|
+
anyOf:
|
|
15436
|
+
- type: string
|
|
15437
|
+
- type: "null"
|
|
15438
|
+
role:
|
|
15439
|
+
anyOf:
|
|
15440
|
+
- type: string
|
|
15441
|
+
- type: "null"
|
|
15442
|
+
text:
|
|
15443
|
+
anyOf:
|
|
15444
|
+
- type: string
|
|
15445
|
+
- type: "null"
|
|
15446
|
+
toolName:
|
|
15447
|
+
anyOf:
|
|
15448
|
+
- type: string
|
|
15449
|
+
- type: "null"
|
|
15450
|
+
data: {}
|
|
15451
|
+
language:
|
|
15452
|
+
anyOf:
|
|
15453
|
+
- type: string
|
|
15454
|
+
- type: "null"
|
|
15455
|
+
required:
|
|
15456
|
+
- kind
|
|
15457
|
+
additionalProperties: false
|
|
15458
|
+
- type: "null"
|
|
15459
|
+
agentLoopExitReason:
|
|
15460
|
+
anyOf:
|
|
15461
|
+
- type: string
|
|
15462
|
+
- type: "null"
|
|
15463
|
+
callSite:
|
|
15464
|
+
anyOf:
|
|
15465
|
+
- type: string
|
|
15466
|
+
- type: "null"
|
|
15467
|
+
required:
|
|
15468
|
+
- id
|
|
15469
|
+
- createdAt
|
|
15470
|
+
- requestPayload
|
|
15471
|
+
- responsePayload
|
|
15472
|
+
additionalProperties: false
|
|
15473
|
+
parameters:
|
|
15474
|
+
- name: id
|
|
15475
|
+
in: path
|
|
15476
|
+
required: true
|
|
15477
|
+
schema:
|
|
15478
|
+
type: string
|
|
15185
15479
|
/v1/llm-request-logs/{id}/payload:
|
|
15186
15480
|
get:
|
|
15187
15481
|
operationId: llmrequestlogs_by_id_payload_get
|
|
@@ -17494,6 +17788,15 @@ paths:
|
|
|
17494
17788
|
required: true
|
|
17495
17789
|
schema:
|
|
17496
17790
|
type: string
|
|
17791
|
+
- name: view
|
|
17792
|
+
in: query
|
|
17793
|
+
required: false
|
|
17794
|
+
schema:
|
|
17795
|
+
type: string
|
|
17796
|
+
enum:
|
|
17797
|
+
- full
|
|
17798
|
+
- summary
|
|
17799
|
+
description: Response shape. 'summary' omits per-log request/response sections; defaults to 'full'.
|
|
17497
17800
|
/v1/messages/{messageId}/tts:
|
|
17498
17801
|
post:
|
|
17499
17802
|
operationId: messages_by_messageId_tts_post
|
|
@@ -19464,6 +19767,27 @@ paths:
|
|
|
19464
19767
|
ref:
|
|
19465
19768
|
type: string
|
|
19466
19769
|
description: Git ref the catalog metadata / README were resolved at.
|
|
19770
|
+
artifact:
|
|
19771
|
+
anyOf:
|
|
19772
|
+
- type: object
|
|
19773
|
+
properties:
|
|
19774
|
+
url:
|
|
19775
|
+
type: string
|
|
19776
|
+
description: HTTPS URL the prebuilt client artifact is downloaded from.
|
|
19777
|
+
sha256:
|
|
19778
|
+
type: string
|
|
19779
|
+
description: Lowercase 64-char hex SHA-256 the download is verified against.
|
|
19780
|
+
label:
|
|
19781
|
+
description: Optional human label for the download (e.g. "Download for macOS"); absent when the plugin doesn't name it.
|
|
19782
|
+
type: string
|
|
19783
|
+
required:
|
|
19784
|
+
- url
|
|
19785
|
+
- sha256
|
|
19786
|
+
additionalProperties: false
|
|
19787
|
+
- type: "null"
|
|
19788
|
+
description:
|
|
19789
|
+
Prebuilt client artifact from `package.json` `vellum.artifact`, or null when the plugin ships none or its
|
|
19790
|
+
descriptor is incomplete (e.g. a placeholder sha256).
|
|
19467
19791
|
required:
|
|
19468
19792
|
- name
|
|
19469
19793
|
- installed
|
|
@@ -19474,6 +19798,7 @@ paths:
|
|
|
19474
19798
|
- source
|
|
19475
19799
|
- readme
|
|
19476
19800
|
- ref
|
|
19801
|
+
- artifact
|
|
19477
19802
|
additionalProperties: false
|
|
19478
19803
|
"400":
|
|
19479
19804
|
description: The plugin name failed sanitization (e.g. contained slashes, dots, or uppercase letters).
|
|
@@ -19491,6 +19816,310 @@ paths:
|
|
|
19491
19816
|
schema:
|
|
19492
19817
|
type: string
|
|
19493
19818
|
description: Optional git ref to read catalog metadata / README at. Defaults to the CLI's `DEFAULT_PLUGIN_REF`.
|
|
19819
|
+
/v1/plugins/{name}/inspect:
|
|
19820
|
+
get:
|
|
19821
|
+
operationId: plugins_by_name_inspect_get
|
|
19822
|
+
summary: Inspect a plugin's install drift
|
|
19823
|
+
description:
|
|
19824
|
+
'Compare the locally installed copy of a plugin against the marketplace''s current pinned commit and report
|
|
19825
|
+
whether an upgrade is available. Returns a six-way `status` (`up-to-date`, `update-available`, `not-installed`,
|
|
19826
|
+
`not-in-marketplace`, `unknown-provenance`, `remote-unavailable`) plus the local provenance (installed commit,
|
|
19827
|
+
version, source, and any local edits vs the install-time fingerprint) and the remote pin. An unreachable
|
|
19828
|
+
marketplace for an installed plugin is not fatal — it returns 200 with `status: "remote-unavailable"`. A name
|
|
19829
|
+
that is neither installed nor in the catalog returns 404. Powers the web upgrade affordance; mirrors the CLI''s
|
|
19830
|
+
`assistant plugins inspect <name>` and `GET /v1/skills/:id/inspect`.'
|
|
19831
|
+
tags:
|
|
19832
|
+
- plugins
|
|
19833
|
+
responses:
|
|
19834
|
+
"200":
|
|
19835
|
+
description: Successful response
|
|
19836
|
+
content:
|
|
19837
|
+
application/json:
|
|
19838
|
+
schema:
|
|
19839
|
+
type: object
|
|
19840
|
+
properties:
|
|
19841
|
+
name:
|
|
19842
|
+
type: string
|
|
19843
|
+
description: Install name. Matches `assistant plugins install <name>`.
|
|
19844
|
+
installed:
|
|
19845
|
+
type: boolean
|
|
19846
|
+
description: Whether a copy is materialized under `<workspaceDir>/plugins/`.
|
|
19847
|
+
status:
|
|
19848
|
+
type: string
|
|
19849
|
+
enum:
|
|
19850
|
+
- up-to-date
|
|
19851
|
+
- update-available
|
|
19852
|
+
- not-installed
|
|
19853
|
+
- not-in-marketplace
|
|
19854
|
+
- unknown-provenance
|
|
19855
|
+
- remote-unavailable
|
|
19856
|
+
description: Drift classification between the installed copy and the marketplace pin.
|
|
19857
|
+
local:
|
|
19858
|
+
anyOf:
|
|
19859
|
+
- type: object
|
|
19860
|
+
properties:
|
|
19861
|
+
target:
|
|
19862
|
+
type: string
|
|
19863
|
+
description: Absolute path to the installed plugin directory.
|
|
19864
|
+
commit:
|
|
19865
|
+
anyOf:
|
|
19866
|
+
- type: string
|
|
19867
|
+
- type: "null"
|
|
19868
|
+
description: Resolved commit the copy was installed at; null when no provenance was recorded.
|
|
19869
|
+
version:
|
|
19870
|
+
anyOf:
|
|
19871
|
+
- type: string
|
|
19872
|
+
- type: "null"
|
|
19873
|
+
description: Installed `package.json#version`.
|
|
19874
|
+
description:
|
|
19875
|
+
anyOf:
|
|
19876
|
+
- type: string
|
|
19877
|
+
- type: "null"
|
|
19878
|
+
description: Installed `package.json#description`.
|
|
19879
|
+
installedAt:
|
|
19880
|
+
anyOf:
|
|
19881
|
+
- type: string
|
|
19882
|
+
- type: "null"
|
|
19883
|
+
description: ISO-8601 install timestamp from the sidecar; null when absent.
|
|
19884
|
+
source:
|
|
19885
|
+
anyOf:
|
|
19886
|
+
- type: object
|
|
19887
|
+
properties:
|
|
19888
|
+
kind:
|
|
19889
|
+
type: string
|
|
19890
|
+
description: Source kind. Only `github` is written today.
|
|
19891
|
+
owner:
|
|
19892
|
+
type: string
|
|
19893
|
+
repo:
|
|
19894
|
+
type: string
|
|
19895
|
+
path:
|
|
19896
|
+
description: Repo-relative directory holding the plugin root; absent = repo root.
|
|
19897
|
+
type: string
|
|
19898
|
+
ref:
|
|
19899
|
+
type: string
|
|
19900
|
+
description: Ref the install resolved through (the pinned commit SHA for marketplace installs).
|
|
19901
|
+
required:
|
|
19902
|
+
- kind
|
|
19903
|
+
- owner
|
|
19904
|
+
- repo
|
|
19905
|
+
- ref
|
|
19906
|
+
additionalProperties: false
|
|
19907
|
+
description: Source coordinates recorded in the install-time provenance sidecar.
|
|
19908
|
+
- type: "null"
|
|
19909
|
+
description: Source recorded at install time; null when no sidecar exists.
|
|
19910
|
+
localChanges:
|
|
19911
|
+
anyOf:
|
|
19912
|
+
- type: object
|
|
19913
|
+
properties:
|
|
19914
|
+
modified:
|
|
19915
|
+
type: array
|
|
19916
|
+
items:
|
|
19917
|
+
type: string
|
|
19918
|
+
description: Tracked files whose content changed since install.
|
|
19919
|
+
added:
|
|
19920
|
+
type: array
|
|
19921
|
+
items:
|
|
19922
|
+
type: string
|
|
19923
|
+
description: Files present on disk but absent from the install baseline.
|
|
19924
|
+
removed:
|
|
19925
|
+
type: array
|
|
19926
|
+
items:
|
|
19927
|
+
type: string
|
|
19928
|
+
description: Files recorded at install but missing from the on-disk copy.
|
|
19929
|
+
clean:
|
|
19930
|
+
type: boolean
|
|
19931
|
+
description: True when no files were added, removed, or modified.
|
|
19932
|
+
required:
|
|
19933
|
+
- modified
|
|
19934
|
+
- added
|
|
19935
|
+
- removed
|
|
19936
|
+
- clean
|
|
19937
|
+
additionalProperties: false
|
|
19938
|
+
description: Local-edit comparison of the on-disk tree against the install-time fingerprint.
|
|
19939
|
+
- type: "null"
|
|
19940
|
+
description:
|
|
19941
|
+
Local-edit state vs the install-time fingerprint; null when no baseline was recorded (older/manual
|
|
19942
|
+
install).
|
|
19943
|
+
issues:
|
|
19944
|
+
type: array
|
|
19945
|
+
items:
|
|
19946
|
+
type: string
|
|
19947
|
+
description: Non-fatal issues with the installed copy (e.g. malformed `package.json`).
|
|
19948
|
+
required:
|
|
19949
|
+
- target
|
|
19950
|
+
- commit
|
|
19951
|
+
- version
|
|
19952
|
+
- description
|
|
19953
|
+
- installedAt
|
|
19954
|
+
- source
|
|
19955
|
+
- localChanges
|
|
19956
|
+
- issues
|
|
19957
|
+
additionalProperties: false
|
|
19958
|
+
description: The locally installed copy of the plugin.
|
|
19959
|
+
- type: "null"
|
|
19960
|
+
description: Locally installed copy; null when the plugin is not installed.
|
|
19961
|
+
remote:
|
|
19962
|
+
anyOf:
|
|
19963
|
+
- type: object
|
|
19964
|
+
properties:
|
|
19965
|
+
repo:
|
|
19966
|
+
type: string
|
|
19967
|
+
description: "`owner/repo` of the external plugin repository."
|
|
19968
|
+
path:
|
|
19969
|
+
type: string
|
|
19970
|
+
description: Repo-relative directory holding the plugin root; `""` = repo root.
|
|
19971
|
+
commit:
|
|
19972
|
+
type: string
|
|
19973
|
+
description: Pinned commit SHA the marketplace currently resolves installs to.
|
|
19974
|
+
description:
|
|
19975
|
+
anyOf:
|
|
19976
|
+
- type: string
|
|
19977
|
+
- type: "null"
|
|
19978
|
+
homepage:
|
|
19979
|
+
anyOf:
|
|
19980
|
+
- type: string
|
|
19981
|
+
- type: "null"
|
|
19982
|
+
license:
|
|
19983
|
+
anyOf:
|
|
19984
|
+
- type: string
|
|
19985
|
+
- type: "null"
|
|
19986
|
+
category:
|
|
19987
|
+
anyOf:
|
|
19988
|
+
- type: string
|
|
19989
|
+
- type: "null"
|
|
19990
|
+
marketplaceRef:
|
|
19991
|
+
type: string
|
|
19992
|
+
description: Ref of the canonical repo the marketplace manifest was read from.
|
|
19993
|
+
required:
|
|
19994
|
+
- repo
|
|
19995
|
+
- path
|
|
19996
|
+
- commit
|
|
19997
|
+
- description
|
|
19998
|
+
- homepage
|
|
19999
|
+
- license
|
|
20000
|
+
- category
|
|
20001
|
+
- marketplaceRef
|
|
20002
|
+
additionalProperties: false
|
|
20003
|
+
description: The marketplace's current pin and advertised metadata.
|
|
20004
|
+
- type: "null"
|
|
20005
|
+
description: Marketplace pin + metadata; null when no entry claims the name or it was unreachable.
|
|
20006
|
+
remoteError:
|
|
20007
|
+
anyOf:
|
|
20008
|
+
- type: string
|
|
20009
|
+
- type: "null"
|
|
20010
|
+
description: Marketplace fetch error message, when the catalog could not be read.
|
|
20011
|
+
required:
|
|
20012
|
+
- name
|
|
20013
|
+
- installed
|
|
20014
|
+
- status
|
|
20015
|
+
- local
|
|
20016
|
+
- remote
|
|
20017
|
+
- remoteError
|
|
20018
|
+
additionalProperties: false
|
|
20019
|
+
"400":
|
|
20020
|
+
description: The plugin name failed sanitization (e.g. contained slashes, dots, or uppercase letters).
|
|
20021
|
+
"404":
|
|
20022
|
+
description: No installed copy and no catalog entry claims the given name.
|
|
20023
|
+
parameters:
|
|
20024
|
+
- name: name
|
|
20025
|
+
in: path
|
|
20026
|
+
required: true
|
|
20027
|
+
schema:
|
|
20028
|
+
type: string
|
|
20029
|
+
/v1/plugins/{name}/upgrade:
|
|
20030
|
+
post:
|
|
20031
|
+
operationId: plugins_by_name_upgrade_post
|
|
20032
|
+
summary: Upgrade a plugin to the marketplace pin
|
|
20033
|
+
description:
|
|
20034
|
+
'Move an installed plugin to the marketplace''s current pinned commit, re-materializing it under
|
|
20035
|
+
`<workspaceDir>/plugins/<name>/`. Always resolves against the curated marketplace pin (no caller-supplied ref),
|
|
20036
|
+
mirroring `plugins install`''s curation boundary. A no-op (`outcome: "already-up-to-date"`) when the installed
|
|
20037
|
+
commit already equals the pin; pass `dryRun` to preview the move (`outcome: "would-upgrade"`) without touching
|
|
20038
|
+
the install. Installs lacking provenance are re-pinned to the current SHA. The assistant must be restarted to
|
|
20039
|
+
load the upgraded code. This does not gate on local edits — callers should consult `GET
|
|
20040
|
+
/v1/plugins/:name/inspect` (`local.localChanges`) first and confirm before overwriting. Mirrors the CLI''s
|
|
20041
|
+
`assistant plugins upgrade <name>`.'
|
|
20042
|
+
tags:
|
|
20043
|
+
- plugins
|
|
20044
|
+
responses:
|
|
20045
|
+
"200":
|
|
20046
|
+
description: Successful response
|
|
20047
|
+
content:
|
|
20048
|
+
application/json:
|
|
20049
|
+
schema:
|
|
20050
|
+
type: object
|
|
20051
|
+
properties:
|
|
20052
|
+
name:
|
|
20053
|
+
type: string
|
|
20054
|
+
description: Install name that was (or would be) upgraded.
|
|
20055
|
+
outcome:
|
|
20056
|
+
type: string
|
|
20057
|
+
enum:
|
|
20058
|
+
- upgraded
|
|
20059
|
+
- already-up-to-date
|
|
20060
|
+
- would-upgrade
|
|
20061
|
+
description:
|
|
20062
|
+
"`upgraded` moved the install to the pin; `already-up-to-date` was a no-op; `would-upgrade` is a dry-run
|
|
20063
|
+
that found drift."
|
|
20064
|
+
fromCommit:
|
|
20065
|
+
anyOf:
|
|
20066
|
+
- type: string
|
|
20067
|
+
- type: "null"
|
|
20068
|
+
description: Installed commit before the upgrade; null when no provenance was recorded.
|
|
20069
|
+
toCommit:
|
|
20070
|
+
type: string
|
|
20071
|
+
description: Marketplace-pinned commit the install was (or would be) moved to.
|
|
20072
|
+
target:
|
|
20073
|
+
type: string
|
|
20074
|
+
description: Absolute path to the installed plugin directory on the host.
|
|
20075
|
+
fileCount:
|
|
20076
|
+
anyOf:
|
|
20077
|
+
- type: number
|
|
20078
|
+
- type: "null"
|
|
20079
|
+
description: Files materialized by the upgrade; null for a no-op or dry run.
|
|
20080
|
+
dryRun:
|
|
20081
|
+
type: boolean
|
|
20082
|
+
description: Whether this was a dry run (no changes made).
|
|
20083
|
+
provenanceWasUnknown:
|
|
20084
|
+
type: boolean
|
|
20085
|
+
description:
|
|
20086
|
+
Whether the install lacked resolvable provenance before the upgrade; such installs are re-pinned to record
|
|
20087
|
+
it going forward.
|
|
20088
|
+
required:
|
|
20089
|
+
- name
|
|
20090
|
+
- outcome
|
|
20091
|
+
- fromCommit
|
|
20092
|
+
- toCommit
|
|
20093
|
+
- target
|
|
20094
|
+
- fileCount
|
|
20095
|
+
- dryRun
|
|
20096
|
+
- provenanceWasUnknown
|
|
20097
|
+
additionalProperties: false
|
|
20098
|
+
"400":
|
|
20099
|
+
description: The plugin name failed sanitization (e.g. contained slashes, dots, or uppercase letters).
|
|
20100
|
+
"404":
|
|
20101
|
+
description: No copy of the plugin is installed, or its source resolves to nothing.
|
|
20102
|
+
"409":
|
|
20103
|
+
description: The install exists but has no marketplace entry to advance to.
|
|
20104
|
+
"503":
|
|
20105
|
+
description: The plugin source (GitHub) was temporarily unavailable; the upgrade is retryable.
|
|
20106
|
+
parameters:
|
|
20107
|
+
- name: name
|
|
20108
|
+
in: path
|
|
20109
|
+
required: true
|
|
20110
|
+
schema:
|
|
20111
|
+
type: string
|
|
20112
|
+
requestBody:
|
|
20113
|
+
required: true
|
|
20114
|
+
content:
|
|
20115
|
+
application/json:
|
|
20116
|
+
schema:
|
|
20117
|
+
type: object
|
|
20118
|
+
properties:
|
|
20119
|
+
dryRun:
|
|
20120
|
+
description: Report what would change without modifying the install. Defaults to false.
|
|
20121
|
+
type: boolean
|
|
20122
|
+
additionalProperties: false
|
|
19494
20123
|
/v1/plugins/install:
|
|
19495
20124
|
post:
|
|
19496
20125
|
operationId: plugins_install_post
|