@vellumai/assistant 0.8.2 → 0.8.4
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 +11 -12
- package/docker-entrypoint.sh +13 -2
- package/docker-init-apt-root.sh +79 -6
- package/node_modules/@vellumai/gateway-client/src/types.ts +2 -0
- package/openapi.yaml +945 -36
- package/package.json +1 -1
- package/src/__tests__/agent-loop-exit-reason.test.ts +271 -0
- package/src/__tests__/agent-loop-override-profile.test.ts +1 -1
- package/src/__tests__/agent-loop-provider-error-recording.test.ts +195 -0
- package/src/__tests__/agent-loop.test.ts +88 -3
- package/src/__tests__/anthropic-provider.test.ts +272 -0
- package/src/__tests__/approval-cascade.test.ts +1 -1
- package/src/__tests__/background-workers-disk-pressure.test.ts +2 -1
- package/src/__tests__/channel-delivery-store.test.ts +193 -0
- package/src/__tests__/channel-reply-delivery.test.ts +284 -5
- package/src/__tests__/channel-retry-sweep.test.ts +274 -1
- package/src/__tests__/compaction-events.test.ts +1 -1
- package/src/__tests__/compactor-preserved-tail-count.test.ts +110 -0
- package/src/__tests__/compactor-tail-resolution.test.ts +107 -1
- package/src/__tests__/config-get-vision-flag.test.ts +136 -0
- package/src/__tests__/config-loader-backfill.test.ts +115 -18
- package/src/__tests__/config-watcher.test.ts +1 -1
- package/src/__tests__/context-token-estimator.test.ts +112 -57
- package/src/__tests__/conversation-abort-tool-results.test.ts +1 -1
- package/src/__tests__/conversation-agent-loop-inference-profile.test.ts +54 -3
- package/src/__tests__/conversation-agent-loop-overflow.test.ts +31 -6
- package/src/__tests__/conversation-agent-loop.test.ts +77 -3
- package/src/__tests__/conversation-app-control-lifecycle.test.ts +1 -1
- package/src/__tests__/conversation-clean-command.test.ts +137 -0
- package/src/__tests__/conversation-confirmation-signals.test.ts +1 -1
- package/src/__tests__/conversation-fork-crud.test.ts +161 -0
- package/src/__tests__/conversation-lifecycle.test.ts +1 -1
- package/src/__tests__/conversation-load-cleaned-at.test.ts +279 -0
- package/src/__tests__/conversation-load-history-repair.test.ts +1 -1
- package/src/__tests__/conversation-media-retry.test.ts +19 -8
- package/src/__tests__/conversation-pairing.test.ts +2 -2
- package/src/__tests__/conversation-process-callsite.test.ts +1 -1
- package/src/__tests__/conversation-provider-retry-repair.test.ts +1 -1
- package/src/__tests__/conversation-queue.test.ts +1 -1
- package/src/__tests__/conversation-runtime-assembly.test.ts +290 -85
- package/src/__tests__/conversation-seed-composer.test.ts +66 -4
- package/src/__tests__/conversation-slash-commands.test.ts +36 -8
- package/src/__tests__/conversation-slash-queue.test.ts +1 -1
- package/src/__tests__/conversation-slash-unknown.test.ts +1 -1
- package/src/__tests__/conversation-speed-override.test.ts +1 -1
- package/src/__tests__/conversation-surfaces-task-progress.test.ts +220 -0
- package/src/__tests__/conversation-workspace-cache-state.test.ts +1 -1
- package/src/__tests__/conversation-workspace-injection.test.ts +5 -1
- package/src/__tests__/conversation-workspace-tool-tracking.test.ts +5 -1
- package/src/__tests__/credential-security-invariants.test.ts +6 -0
- package/src/__tests__/cu-unified-flow.test.ts +10 -1
- package/src/__tests__/date-context.test.ts +45 -0
- package/src/__tests__/dm-backfill.test.ts +64 -0
- package/src/__tests__/dm-persistence.test.ts +33 -0
- package/src/__tests__/document-find-replace.test.ts +501 -0
- package/src/__tests__/external-plugin-loader.test.ts +91 -19
- package/src/__tests__/first-greeting.test.ts +23 -2
- package/src/__tests__/guardian-action-no-hardcoded-copy.test.ts +0 -1
- package/src/__tests__/guardian-dispatch.test.ts +1 -0
- package/src/__tests__/headless-browser-navigate.test.ts +172 -0
- package/src/__tests__/heartbeat-service.test.ts +24 -164
- package/src/__tests__/helpers/channel-test-adapter.ts +0 -2
- package/src/__tests__/host-app-control-proxy.test.ts +241 -0
- package/src/__tests__/host-bash-proxy.test.ts +6 -0
- package/src/__tests__/host-browser-proxy.test.ts +10 -0
- package/src/__tests__/host-cu-proxy.test.ts +8 -1
- package/src/__tests__/host-file-proxy.test.ts +8 -1
- package/src/__tests__/host-proxy-preactivation.test.ts +200 -13
- package/src/__tests__/host-transfer-proxy.test.ts +8 -1
- package/src/__tests__/identity-routes.test.ts +57 -0
- package/src/__tests__/inbound-slack-persistence.test.ts +3 -0
- package/src/__tests__/injector-background-turn.test.ts +153 -0
- package/src/__tests__/injector-chain.test.ts +7 -0
- package/src/__tests__/injector-document-comments.test.ts +378 -0
- package/src/__tests__/injector-pkb-v2-silenced.test.ts +4 -25
- package/src/__tests__/lifecycle-memory-v2-seed.test.ts +9 -2
- package/src/__tests__/list-messages-attachments.test.ts +21 -17
- package/src/__tests__/list-messages-hidden-metadata.test.ts +217 -0
- package/src/__tests__/list-messages-page-latest.test.ts +130 -14
- package/src/__tests__/list-messages-tool-merge.test.ts +17 -16
- package/src/__tests__/llm-callsite-catalog.test.ts +25 -0
- package/src/__tests__/llm-catalog-parity.test.ts +3 -0
- package/src/__tests__/llm-context-normalization.test.ts +0 -2
- package/src/__tests__/llm-request-log-agent-loop-exit-reason.test.ts +116 -0
- package/src/__tests__/llm-request-log-error-payload.test.ts +138 -0
- package/src/__tests__/llm-request-log-source-clickhouse.test.ts +2 -0
- package/src/__tests__/llm-resolver.test.ts +340 -3
- package/src/__tests__/log-export-routes.test.ts +99 -2
- package/src/__tests__/managed-profile-guard.test.ts +10 -0
- package/src/__tests__/message-queue-steer.test.ts +114 -0
- package/src/__tests__/notification-decision-fallback.test.ts +0 -91
- package/src/__tests__/notification-decision-strategy.test.ts +14 -31
- package/src/__tests__/notification-deep-link.test.ts +15 -0
- package/src/__tests__/notification-guardian-path.test.ts +1 -2
- package/src/__tests__/notification-platform-adapter.test.ts +5 -4
- package/src/__tests__/notification-telegram-adapter.test.ts +1 -0
- package/src/__tests__/notification-vellum-adapter.test.ts +113 -0
- package/src/__tests__/openai-provider.test.ts +323 -3
- package/src/__tests__/openai-responses-cutover-guard.test.ts +3 -3
- package/src/__tests__/openai-responses-provider.test.ts +4 -4
- package/src/__tests__/openrouter-provider-only.test.ts +51 -3
- package/src/__tests__/openrouter-token-estimation.test.ts +34 -25
- package/src/__tests__/outbound-slack-persistence.test.ts +187 -20
- package/src/__tests__/pending-interactions-resolved-event.test.ts +190 -0
- package/src/__tests__/platform-proxy-context.test.ts +6 -1
- package/src/__tests__/platform.test.ts +0 -3
- package/src/__tests__/plugin-source-watcher.test.ts +302 -0
- package/src/__tests__/plugin-tool-contribution.test.ts +3 -3
- package/src/__tests__/plugin-types.test.ts +2 -2
- package/src/__tests__/process-message-background-slack.test.ts +1 -51
- package/src/__tests__/process-message-display-content.test.ts +21 -16
- package/src/__tests__/provider-catalog-visibility.test.ts +16 -0
- package/src/__tests__/provider-platform-proxy-integration.test.ts +27 -25
- package/src/__tests__/secret-routes-platform-proxy.test.ts +1 -1
- package/src/__tests__/server-history-render.test.ts +83 -4
- package/src/__tests__/steer-tool-repair.test.ts +249 -0
- package/src/__tests__/system-prompt.test.ts +57 -101
- package/src/__tests__/terminal-tools.test.ts +11 -1
- package/src/__tests__/thinking-block-replay.test.ts +113 -0
- package/src/__tests__/thread-backfill.test.ts +370 -22
- package/src/__tests__/tool-executor.test.ts +90 -1
- package/src/__tests__/tool-result-metadata-plumbing.test.ts +167 -0
- package/src/__tests__/twilio-routes.test.ts +1 -1
- package/src/__tests__/web-fetch.test.ts +2 -2
- package/src/__tests__/workspace-git-service.test.ts +88 -5
- package/src/__tests__/workspace-migration-087-memory-router-balanced-profile.test.ts +228 -0
- package/src/__tests__/workspace-migration-088-deprecate-background-conversation-override.test.ts +158 -0
- package/src/a2a/__tests__/agent-card.test.ts +98 -0
- package/src/a2a/__tests__/e2e-a2a-channel.test.ts +597 -0
- package/src/a2a/__tests__/protocol-helpers.test.ts +113 -0
- package/src/a2a/__tests__/task-store.test.ts +246 -0
- package/src/a2a/agent-card.ts +58 -0
- package/src/a2a/feature-gate.ts +8 -0
- package/src/a2a/protocol-constants.ts +21 -0
- package/src/a2a/protocol-errors.ts +50 -0
- package/src/a2a/protocol-types.ts +162 -0
- package/src/a2a/task-store.ts +168 -0
- package/src/agent/attachments.ts +1 -0
- package/src/agent/loop.ts +208 -22
- package/src/background-wake/next-wake.test.ts +289 -0
- package/src/background-wake/next-wake.ts +172 -0
- package/src/browser/operations.ts +15 -0
- package/src/channels/config.ts +9 -0
- package/src/channels/types.ts +14 -0
- package/src/cli/commands/__tests__/conversations-slack.test.ts +572 -0
- package/src/cli/commands/__tests__/memory-v2.test.ts +9 -12
- package/src/cli/{__tests__ → commands/__tests__}/notifications.test.ts +201 -28
- package/src/cli/commands/__tests__/schedules.test.ts +469 -0
- package/src/cli/commands/conversations.ts +128 -1
- package/src/cli/commands/inference-providers.ts +147 -1
- package/src/cli/commands/memory-v2.ts +308 -0
- package/src/cli/commands/notifications.ts +89 -37
- package/src/cli/commands/plugins.ts +67 -0
- package/src/cli/commands/schedules.ts +297 -5
- package/src/cli/lib/__tests__/search-plugins.test.ts +261 -0
- package/src/cli/lib/install-from-github.ts +8 -9
- package/src/cli/lib/search-plugins.ts +163 -0
- package/src/cli/program.ts +14 -0
- package/src/cli/utils/conversation-id.ts +17 -5
- package/src/config/assistant-feature-flags.ts +24 -54
- package/src/config/bundled-skills/app-builder/SKILL.md +117 -1
- package/src/config/bundled-skills/document-editor/SKILL.md +115 -0
- package/src/config/bundled-skills/document-editor/TOOLS.json +240 -0
- package/src/config/bundled-skills/document-editor/tools/comment-list.ts +12 -0
- package/src/config/bundled-skills/document-editor/tools/comment-reply.ts +12 -0
- package/src/config/bundled-skills/document-editor/tools/comment-resolve.ts +12 -0
- package/src/config/bundled-skills/document-editor/tools/document-find.ts +12 -0
- package/src/config/bundled-skills/document-editor/tools/document-replace-text.ts +12 -0
- package/src/config/bundled-skills/media-processing/SKILL.md +8 -0
- package/src/config/bundled-skills/phone-calls/SKILL.md +1 -1
- package/src/config/bundled-skills/schedule/SKILL.md +8 -0
- package/src/config/bundled-tool-registry.ts +22 -12
- package/src/config/call-site-defaults.ts +124 -0
- package/src/config/feature-flag-registry.json +111 -23
- package/src/config/llm-resolver.ts +66 -1
- package/src/config/schema.ts +2 -0
- package/src/config/schemas/__tests__/memory-v2.test.ts +7 -3
- package/src/config/schemas/call-site-catalog.ts +21 -0
- package/src/config/schemas/channels.ts +9 -0
- package/src/config/schemas/conversations.ts +10 -0
- package/src/config/schemas/heartbeat.ts +14 -0
- package/src/config/schemas/llm.ts +4 -3
- package/src/config/schemas/memory-retrospective.ts +1 -1
- package/src/config/schemas/memory-v2.ts +51 -4
- package/src/config/schemas/memory.ts +3 -1
- package/src/config/seed-inference-profiles.ts +99 -29
- package/src/context/compactor.ts +80 -13
- package/src/context/token-estimator.ts +72 -31
- package/src/context/window-manager.ts +25 -0
- package/src/credential-health/credential-health-service.ts +34 -19
- package/src/daemon/__tests__/conversation-lifecycle-auto-analyze.test.ts +3 -22
- package/src/daemon/__tests__/conversation-tool-setup.test.ts +66 -6
- package/src/daemon/__tests__/native-web-search-metadata.test.ts +357 -0
- package/src/daemon/__tests__/web-search-status-text.test.ts +287 -0
- package/src/daemon/conversation-agent-loop-handlers.ts +231 -23
- package/src/daemon/conversation-agent-loop.ts +252 -56
- package/src/daemon/conversation-lifecycle.ts +142 -116
- package/src/daemon/conversation-messaging.ts +3 -0
- package/src/daemon/conversation-process.ts +273 -0
- package/src/daemon/conversation-queue-manager.ts +14 -0
- package/src/daemon/conversation-runtime-assembly.ts +144 -75
- package/src/daemon/conversation-slash.ts +37 -5
- package/src/daemon/conversation-surfaces.ts +45 -2
- package/src/daemon/conversation-tool-setup.ts +7 -0
- package/src/daemon/conversation.ts +42 -12
- package/src/daemon/date-context.ts +40 -0
- package/src/daemon/first-greeting.ts +10 -0
- package/src/daemon/guardian-action-generators.ts +1 -125
- package/src/daemon/handlers/__tests__/config-a2a-accept.test.ts +498 -0
- package/src/daemon/handlers/__tests__/config-a2a-complete.test.ts +248 -0
- package/src/daemon/handlers/__tests__/config-a2a-invite.test.ts +154 -0
- package/src/daemon/handlers/__tests__/config-a2a-redeem.test.ts +133 -0
- package/src/daemon/handlers/__tests__/config-a2a.test.ts +95 -0
- package/src/daemon/handlers/config-a2a.ts +449 -0
- package/src/daemon/handlers/config-model.test.ts +1 -0
- package/src/daemon/handlers/conversations.ts +80 -0
- package/src/daemon/handlers/shared.ts +92 -29
- package/src/daemon/host-app-control-proxy.ts +69 -18
- package/src/daemon/host-bash-proxy.ts +1 -1
- package/src/daemon/host-cu-proxy.ts +1 -1
- package/src/daemon/host-file-proxy.ts +1 -1
- package/src/daemon/host-proxy-preactivation.ts +85 -18
- package/src/daemon/host-transfer-proxy.ts +1 -1
- package/src/daemon/lifecycle.ts +67 -65
- package/src/daemon/memory-v2-startup.ts +49 -13
- package/src/daemon/message-protocol.ts +4 -0
- package/src/daemon/message-types/conversations.ts +8 -0
- package/src/daemon/message-types/document-comments.ts +50 -0
- package/src/daemon/message-types/messages.ts +68 -1
- package/src/daemon/message-types/notifications.ts +21 -0
- package/src/daemon/message-types/surfaces.ts +3 -1
- package/src/daemon/message-types/web-activity.ts +57 -0
- package/src/daemon/pkb-reminder-builder.test.ts +10 -53
- package/src/daemon/pkb-reminder-builder.ts +4 -19
- package/src/daemon/plugin-source-watcher.ts +135 -3
- package/src/daemon/process-message.ts +72 -12
- package/src/daemon/query-complexity-router.ts +75 -0
- package/src/daemon/skill-memory-refresh.ts +5 -1
- package/src/daemon/trust-context.ts +6 -0
- package/src/daemon/wake-target-adapter.ts +2 -0
- package/src/documents/document-comments-store.test.ts +338 -0
- package/src/documents/document-comments-store.ts +237 -0
- package/src/documents/document-store.ts +202 -0
- package/src/export/__tests__/transcript-formatter.test.ts +121 -0
- package/src/export/transcript-formatter.ts +54 -20
- package/src/heartbeat/__tests__/heartbeat-service.test.ts +44 -1
- package/src/heartbeat/heartbeat-service.ts +35 -191
- package/src/home/__tests__/feed-types.test.ts +40 -0
- package/src/home/__tests__/suggested-prompts.test.ts +33 -2
- package/src/home/feed-types.ts +20 -3
- package/src/home/home-content-refresh.ts +52 -0
- package/src/home/home-greeting-cache.ts +69 -0
- package/src/home/home-greeting.ts +94 -0
- package/src/home/suggested-prompts.ts +177 -9
- package/src/ipc/cli-client.ts +147 -45
- package/src/memory/__tests__/conversation-queries.test.ts +220 -0
- package/src/memory/__tests__/jobs-worker-v2-schedule.test.ts +135 -2
- package/src/memory/__tests__/memory-retrospective-enqueue.test.ts +2 -50
- package/src/memory/__tests__/memory-retrospective-job.test.ts +407 -10
- package/src/memory/conversation-crud.ts +133 -43
- package/src/memory/conversation-queries.ts +87 -1
- package/src/memory/conversation-title-service.ts +26 -4
- package/src/memory/db-init.ts +22 -0
- package/src/memory/delivery-crud.ts +41 -0
- package/src/memory/delivery-status.ts +141 -15
- package/src/memory/external-conversation-store.ts +32 -1
- package/src/memory/graph/__tests__/conversation-graph-memory-v2-routing.test.ts +84 -3
- package/src/memory/graph/conversation-graph-memory.ts +18 -6
- package/src/memory/graph/tools.ts +6 -37
- package/src/memory/invite-store.ts +53 -0
- package/src/memory/jobs-worker.ts +21 -1
- package/src/memory/llm-request-log-source-clickhouse.ts +7 -2
- package/src/memory/llm-request-log-store.ts +92 -1
- package/src/memory/memory-retrospective-constants.ts +28 -0
- package/src/memory/memory-retrospective-enqueue.ts +4 -22
- package/src/memory/memory-retrospective-job.ts +438 -21
- package/src/memory/memory-retrospective-startup-cleanup.ts +3 -3
- package/src/memory/memory-v2-activation-log-store.ts +26 -8
- package/src/memory/migrations/100-core-tables.ts +1 -0
- package/src/memory/migrations/109-external-conversation-bindings.ts +1 -0
- package/src/memory/migrations/250-provider-connection-base-url-and-models.ts +28 -0
- package/src/memory/migrations/251-a2a-tasks.ts +49 -0
- package/src/memory/migrations/252-llm-request-log-agent-loop-exit-reason.ts +32 -0
- package/src/memory/migrations/253-conversation-last-notified-profile.ts +15 -0
- package/src/memory/migrations/253-document-comments.ts +47 -0
- package/src/memory/migrations/254-external-conversation-binding-chat-name.ts +43 -0
- package/src/memory/migrations/255-channel-inbound-delivery-attempts.ts +24 -0
- package/src/memory/migrations/256-memory-v2-injection-events.ts +113 -0
- package/src/memory/migrations/257-strip-base-url-non-openai-compatible.ts +22 -0
- package/src/memory/migrations/258-onboarding-events-prior-assistants.ts +13 -0
- package/src/memory/migrations/259-conversation-cleaned-at.ts +33 -0
- package/src/memory/migrations/index.ts +20 -0
- package/src/memory/migrations/registry.ts +33 -0
- package/src/memory/onboarding-events-store.ts +7 -0
- package/src/memory/schema/a2a.ts +15 -0
- package/src/memory/schema/calls.ts +1 -0
- package/src/memory/schema/conversations.ts +3 -0
- package/src/memory/schema/index.ts +1 -0
- package/src/memory/schema/inference.ts +2 -0
- package/src/memory/schema/infrastructure.ts +2 -0
- package/src/memory/v2/__tests__/activation-store.test.ts +25 -23
- package/src/memory/v2/__tests__/cli-command-store.test.ts +404 -0
- package/src/memory/v2/__tests__/frontmatter-sweep.test.ts +25 -4
- package/src/memory/v2/__tests__/injection-events.test.ts +318 -0
- package/src/memory/v2/__tests__/injection.test.ts +221 -17
- package/src/memory/v2/__tests__/page-index.test.ts +365 -1
- package/src/memory/v2/__tests__/router.test.ts +489 -1
- package/src/memory/v2/__tests__/static-context.test.ts +12 -1
- package/src/memory/v2/activation-store.ts +14 -16
- package/src/memory/v2/cli-command-content.ts +19 -0
- package/src/memory/v2/cli-command-store.ts +304 -0
- package/src/memory/v2/consolidation-job.ts +14 -0
- package/src/memory/v2/frontmatter-sweep.ts +7 -1
- package/src/memory/v2/injection-events.ts +101 -0
- package/src/memory/v2/injection.ts +69 -29
- package/src/memory/v2/page-index.ts +246 -19
- package/src/memory/v2/page-store.ts +18 -0
- package/src/memory/v2/router.ts +209 -55
- package/src/memory/v2/static-context.ts +4 -4
- package/src/memory/v2/types.ts +23 -0
- package/src/messaging/providers/a2a/__tests__/deliver.test.ts +274 -0
- package/src/messaging/providers/a2a/deliver.ts +156 -0
- package/src/messaging/providers/gmail/client.ts +9 -2
- package/src/messaging/providers/index.ts +18 -3
- package/src/messaging/providers/slack/__tests__/adapter-mention-rendering.test.ts +329 -3
- package/src/messaging/providers/slack/__tests__/adapter-token-routing.test.ts +34 -1
- package/src/messaging/providers/slack/adapter.ts +178 -25
- package/src/messaging/providers/slack/api.test.ts +54 -0
- package/src/messaging/providers/slack/api.ts +119 -3
- package/src/messaging/providers/slack/client.ts +12 -0
- package/src/messaging/providers/slack/deep-link.ts +20 -1
- package/src/messaging/providers/slack/message-metadata.test.ts +48 -0
- package/src/messaging/providers/slack/message-metadata.ts +156 -0
- package/src/messaging/providers/slack/render-transcript.test.ts +107 -75
- package/src/messaging/providers/slack/render-transcript.ts +176 -49
- package/src/messaging/providers/slack/send.test.ts +77 -0
- package/src/messaging/providers/slack/send.ts +8 -2
- package/src/messaging/providers/slack/types.ts +14 -0
- package/src/notifications/__tests__/broadcaster.test.ts +203 -0
- package/src/notifications/__tests__/decision-engine.test.ts +283 -0
- package/src/notifications/__tests__/deterministic-checks.test.ts +286 -0
- package/src/notifications/__tests__/emit-signal-home-feed.test.ts +5 -1
- package/src/notifications/__tests__/home-feed-side-effect.test.ts +521 -36
- package/src/notifications/adapters/macos.ts +12 -2
- package/src/notifications/broadcaster.ts +29 -4
- package/src/notifications/conversation-seed-composer.ts +14 -2
- package/src/notifications/copy-composer.ts +17 -64
- package/src/notifications/decision-engine.ts +111 -44
- package/src/notifications/deferred-emit.ts +135 -0
- package/src/notifications/deterministic-checks.ts +96 -0
- package/src/notifications/emit-signal.ts +10 -1
- package/src/notifications/home-feed-side-effect.ts +136 -27
- package/src/notifications/signal.ts +0 -4
- package/src/notifications/types.ts +8 -0
- package/src/oauth/connect-orchestrator.ts +3 -0
- package/src/oauth/credential-token-resolver.ts +2 -0
- package/src/oauth/manual-token-connection.ts +19 -0
- package/src/oauth/oauth-store.ts +12 -0
- package/src/oauth/platform-connection.test.ts +43 -3
- package/src/oauth/platform-connection.ts +13 -4
- package/src/oauth/seed-providers.ts +22 -0
- package/src/permissions/prompter.ts +5 -2
- package/src/permissions/secret-prompter.ts +4 -1
- package/src/plugins/defaults/injectors.ts +118 -26
- package/src/plugins/external-plugin-loader.ts +82 -10
- package/src/plugins/types.ts +16 -7
- package/src/prompts/__tests__/system-prompt.test.ts +44 -45
- package/src/prompts/__tests__/task-progress-hint-section.test.ts +4 -8
- package/src/prompts/normalize-onboarding.ts +40 -0
- package/src/prompts/sections.ts +32 -14
- package/src/prompts/system-prompt.ts +105 -76
- package/src/prompts/template-detection.ts +37 -0
- package/src/prompts/templates/BOOTSTRAP-CONTENT-AUTOMATION.md +141 -0
- package/src/prompts/templates/BOOTSTRAP.md +13 -5
- package/src/prompts/templates/VOICE.md +3 -0
- package/src/prompts/templates/system-sections.ts +51 -10
- package/src/providers/__tests__/inference.test.ts +2 -0
- package/src/providers/anthropic/client.ts +132 -5
- package/src/providers/call-site-routing.ts +24 -6
- package/src/providers/connection-resolution.ts +63 -13
- package/src/providers/fireworks/client.ts +20 -2
- package/src/providers/inference/__tests__/adapter-factory-openai-compatible.test.ts +74 -0
- package/src/providers/inference/__tests__/base-url-route-validation.test.ts +342 -0
- package/src/providers/inference/__tests__/base-url-security.test.ts +189 -0
- package/src/providers/inference/__tests__/codex-token-refresh.test.ts +254 -0
- package/src/providers/inference/__tests__/connections-openai-compatible.test.ts +175 -0
- package/src/providers/inference/__tests__/connections-status-label.test.ts +15 -0
- package/src/providers/inference/adapter-factory.ts +24 -21
- package/src/providers/inference/auth.ts +15 -3
- package/src/providers/inference/backfill.ts +14 -1
- package/src/providers/inference/codex-token-refresh.ts +128 -0
- package/src/providers/inference/connections.ts +85 -5
- package/src/providers/inference/resolve-auth.ts +50 -5
- package/src/providers/model-catalog.ts +244 -242
- package/src/providers/model-intents.ts +3 -3
- package/src/providers/openai/__tests__/chat-completions-provider-reasoning.test.ts +235 -0
- package/src/providers/openai/chat-completions-provider.ts +215 -25
- package/src/providers/openai/responses-provider.ts +9 -3
- package/src/providers/openrouter/client.ts +46 -4
- package/src/providers/platform-proxy/constants.ts +3 -4
- package/src/providers/provider-catalog-visibility.ts +3 -1
- package/src/providers/provider-send-message.ts +27 -12
- package/src/providers/registry.ts +30 -1
- package/src/providers/types.ts +25 -0
- package/src/runtime/__tests__/agent-wake.test.ts +214 -0
- package/src/runtime/__tests__/background-job-runner.test.ts +128 -0
- package/src/runtime/agent-wake.ts +212 -57
- package/src/runtime/auth/route-policy.ts +20 -3
- package/src/runtime/background-job-runner.ts +26 -0
- package/src/runtime/channel-reply-delivery.ts +182 -47
- package/src/runtime/channel-retry-sweep.ts +141 -16
- package/src/runtime/http-server.ts +7 -16
- package/src/runtime/http-types.ts +7 -51
- package/src/runtime/pending-interactions.ts +51 -8
- package/src/runtime/routes/__tests__/consolidation-routes.test.ts +258 -0
- package/src/runtime/routes/__tests__/content-source-routes.test.ts +162 -0
- package/src/runtime/routes/__tests__/conversation-query-routes.test.ts +121 -5
- package/src/runtime/routes/__tests__/inference-provider-connection-routes.test.ts +275 -44
- package/src/runtime/routes/__tests__/llm-call-sites-routes.test.ts +12 -0
- package/src/runtime/routes/__tests__/memory-v2-routes.test.ts +14 -0
- package/src/runtime/routes/__tests__/memory-v2-simulate-route.test.ts +271 -0
- package/src/runtime/routes/__tests__/sanity-routes.test.ts +280 -0
- package/src/runtime/routes/__tests__/slack-channel-routes.test.ts +266 -0
- package/src/runtime/routes/approval-routes.ts +4 -1
- package/src/runtime/routes/channel-availability-routes.ts +5 -0
- package/src/runtime/routes/chatgpt-subscription-auth-routes.ts +246 -0
- package/src/runtime/routes/consolidation-routes.ts +100 -0
- package/src/runtime/routes/content-source-routes.ts +78 -0
- package/src/runtime/routes/conversation-cli-routes.ts +146 -1
- package/src/runtime/routes/conversation-query-routes.ts +130 -12
- package/src/runtime/routes/conversation-routes.ts +288 -76
- package/src/runtime/routes/document-comments-routes.ts +287 -0
- package/src/runtime/routes/documents-routes.ts +33 -0
- package/src/runtime/routes/home-feed-routes.ts +6 -3
- package/src/runtime/routes/host-app-control-routes.ts +1 -1
- package/src/runtime/routes/host-browser-routes.ts +8 -1
- package/src/runtime/routes/identity-routes.ts +21 -0
- package/src/runtime/routes/inbound-message-handler.ts +288 -58
- package/src/runtime/routes/inbound-stages/background-dispatch.test.ts +365 -6
- package/src/runtime/routes/inbound-stages/background-dispatch.ts +283 -82
- package/src/runtime/routes/index.ts +14 -4
- package/src/runtime/routes/inference-provider-connection-routes.ts +192 -3
- package/src/runtime/routes/integrations/a2a.ts +294 -0
- package/src/runtime/routes/llm-call-sites-routes.ts +11 -1
- package/src/runtime/routes/log-export-routes.ts +39 -0
- package/src/runtime/routes/memory-v2-routes.ts +217 -0
- package/src/runtime/routes/notification-routes.ts +19 -2
- package/src/runtime/routes/question-routes.ts +4 -1
- package/src/runtime/routes/sanity-routes.ts +159 -0
- package/src/runtime/routes/slack-channel-routes.ts +187 -0
- package/src/runtime/routes/subagents-routes.ts +41 -0
- package/src/runtime/services/conversation-serializer.ts +30 -4
- package/src/schedule/integration-status.ts +3 -1
- package/src/security/__tests__/oauth2-device-code.test.ts +479 -0
- package/src/security/oauth2-device-code.ts +307 -0
- package/src/security/oauth2.ts +26 -9
- package/src/security/secure-keys.ts +5 -0
- package/src/skills/catalog-install.ts +6 -2
- package/src/subagent/manager.ts +2 -0
- package/src/tools/browser/__tests__/pinned-tabs.test.ts +80 -0
- package/src/tools/browser/browser-execution.ts +93 -0
- package/src/tools/browser/cdp-client/__tests__/factory.test.ts +28 -0
- package/src/tools/browser/cdp-client/__tests__/types.test.ts +1 -0
- package/src/tools/browser/cdp-client/cdp-inspect-client.ts +10 -0
- package/src/tools/browser/cdp-client/extension-cdp-client.ts +15 -1
- package/src/tools/browser/cdp-client/factory.ts +87 -3
- package/src/tools/browser/cdp-client/local-cdp-client.ts +9 -0
- package/src/tools/browser/cdp-client/types.ts +36 -0
- package/src/tools/browser/pinned-tabs.ts +90 -0
- package/src/tools/document/document-comment-tool.test.ts +379 -0
- package/src/tools/document/document-comment-tool.ts +156 -0
- package/src/tools/document/document-tool.ts +128 -2
- package/src/tools/memory/register.ts +1 -9
- package/src/tools/network/__tests__/web-fetch-metadata.test.ts +229 -0
- package/src/tools/network/__tests__/web-search-metadata.test.ts +346 -0
- package/src/tools/network/domain-normalize.ts +17 -0
- package/src/tools/network/web-fetch.ts +213 -64
- package/src/tools/network/web-search.ts +191 -66
- package/src/tools/registry.ts +2 -2
- package/src/tools/terminal/safe-env.ts +3 -2
- package/src/tools/tool-approval-handler.ts +19 -12
- package/src/tools/types.ts +41 -2
- package/src/tools/ui-surface/definitions.ts +3 -1
- package/src/types/onboarding-context.ts +4 -0
- package/src/util/__tests__/favicon.test.ts +84 -0
- package/src/util/favicon.ts +40 -0
- package/src/util/platform.ts +0 -5
- package/src/workspace/git-service.ts +75 -4
- package/src/workspace/migrations/087-memory-router-balanced-profile.ts +91 -0
- package/src/workspace/migrations/088-deprecate-background-conversation-override.ts +103 -0
- package/src/workspace/migrations/registry.ts +4 -0
- package/src/__tests__/guardian-action-conversation-turn.test.ts +0 -441
- package/src/config/bundled-skills/document/SKILL.md +0 -54
- package/src/config/bundled-skills/document/TOOLS.json +0 -106
- package/src/daemon/seed-files.ts +0 -18
- package/src/memory/graph/__tests__/remember-description.test.ts +0 -55
- package/src/runtime/guardian-action-conversation-turn.ts +0 -99
- package/src/runtime/routes/interface-routes.ts +0 -43
- /package/src/config/bundled-skills/{document → document-editor}/tools/document-create.ts +0 -0
- /package/src/config/bundled-skills/{document → document-editor}/tools/document-delete.ts +0 -0
- /package/src/config/bundled-skills/{document → document-editor}/tools/document-list.ts +0 -0
- /package/src/config/bundled-skills/{document → document-editor}/tools/document-read.ts +0 -0
- /package/src/config/bundled-skills/{document → document-editor}/tools/document-update.ts +0 -0
package/openapi.yaml
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
openapi: 3.0.0
|
|
4
4
|
info:
|
|
5
5
|
title: Vellum Assistant API
|
|
6
|
-
version: 0.8.
|
|
6
|
+
version: 0.8.4
|
|
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
|
|
@@ -3108,6 +3108,7 @@ paths:
|
|
|
3108
3108
|
- slack
|
|
3109
3109
|
- email
|
|
3110
3110
|
- platform
|
|
3111
|
+
- a2a
|
|
3111
3112
|
label:
|
|
3112
3113
|
type: string
|
|
3113
3114
|
subtitle:
|
|
@@ -3614,6 +3615,95 @@ paths:
|
|
|
3614
3615
|
- ran
|
|
3615
3616
|
- jobId
|
|
3616
3617
|
additionalProperties: false
|
|
3618
|
+
/v1/consolidation/runs:
|
|
3619
|
+
get:
|
|
3620
|
+
operationId: consolidation_runs_get
|
|
3621
|
+
summary: List consolidation runs
|
|
3622
|
+
description:
|
|
3623
|
+
"Return recent memory v2 consolidation conversations as run records. Each consolidation dispatch creates
|
|
3624
|
+
exactly one background conversation tagged with `source = memory_v2_consolidation`; that conversation IS the
|
|
3625
|
+
run. Synthetic fields: `id` mirrors `conversationId` (no separate run row exists), `scheduledFor` and
|
|
3626
|
+
`startedAt` both equal `conversation.createdAt` (no separate schedule timestamp), `finishedAt` is the
|
|
3627
|
+
`createdAt` of the latest assistant message in the conversation (NOT `conversation.lastMessageAt`, which the
|
|
3628
|
+
kickoff user prompt bumps before the agent runs). `status` is `'ok'` when the conversation has at least one
|
|
3629
|
+
assistant message — i.e. positive evidence the agent emitted output — otherwise `'running'`. This is a weaker
|
|
3630
|
+
signal than heartbeat's `'ok'`: without a dedicated runs table we cannot distinguish 'ran cleanly' from 'crashed
|
|
3631
|
+
after emitting at least one assistant message'. `skipReason` and `error` are always null — skipped runs (lock
|
|
3632
|
+
held, disabled, empty buffer) never create a conversation, and run failure detail is not stored on the
|
|
3633
|
+
conversation row. Shape mirrors `heartbeat/runs` so the schedules settings UI can reuse its run-row component."
|
|
3634
|
+
tags:
|
|
3635
|
+
- consolidation
|
|
3636
|
+
responses:
|
|
3637
|
+
"200":
|
|
3638
|
+
description: Successful response
|
|
3639
|
+
content:
|
|
3640
|
+
application/json:
|
|
3641
|
+
schema:
|
|
3642
|
+
type: object
|
|
3643
|
+
properties:
|
|
3644
|
+
runs:
|
|
3645
|
+
type: array
|
|
3646
|
+
items:
|
|
3647
|
+
type: object
|
|
3648
|
+
properties:
|
|
3649
|
+
id:
|
|
3650
|
+
type: string
|
|
3651
|
+
scheduledFor:
|
|
3652
|
+
type: number
|
|
3653
|
+
startedAt:
|
|
3654
|
+
anyOf:
|
|
3655
|
+
- type: number
|
|
3656
|
+
- type: "null"
|
|
3657
|
+
finishedAt:
|
|
3658
|
+
anyOf:
|
|
3659
|
+
- type: number
|
|
3660
|
+
- type: "null"
|
|
3661
|
+
durationMs:
|
|
3662
|
+
anyOf:
|
|
3663
|
+
- type: number
|
|
3664
|
+
- type: "null"
|
|
3665
|
+
status:
|
|
3666
|
+
type: string
|
|
3667
|
+
enum:
|
|
3668
|
+
- ok
|
|
3669
|
+
- running
|
|
3670
|
+
skipReason:
|
|
3671
|
+
anyOf:
|
|
3672
|
+
- type: string
|
|
3673
|
+
- type: "null"
|
|
3674
|
+
error:
|
|
3675
|
+
anyOf:
|
|
3676
|
+
- type: string
|
|
3677
|
+
- type: "null"
|
|
3678
|
+
conversationId:
|
|
3679
|
+
anyOf:
|
|
3680
|
+
- type: string
|
|
3681
|
+
- type: "null"
|
|
3682
|
+
createdAt:
|
|
3683
|
+
type: number
|
|
3684
|
+
required:
|
|
3685
|
+
- id
|
|
3686
|
+
- scheduledFor
|
|
3687
|
+
- startedAt
|
|
3688
|
+
- finishedAt
|
|
3689
|
+
- durationMs
|
|
3690
|
+
- status
|
|
3691
|
+
- skipReason
|
|
3692
|
+
- error
|
|
3693
|
+
- conversationId
|
|
3694
|
+
- createdAt
|
|
3695
|
+
additionalProperties: false
|
|
3696
|
+
description: Consolidation run records
|
|
3697
|
+
required:
|
|
3698
|
+
- runs
|
|
3699
|
+
additionalProperties: false
|
|
3700
|
+
parameters:
|
|
3701
|
+
- name: limit
|
|
3702
|
+
in: query
|
|
3703
|
+
required: false
|
|
3704
|
+
schema:
|
|
3705
|
+
type: integer
|
|
3706
|
+
description: Max runs to return (default 20, max 100)
|
|
3617
3707
|
/v1/contact-channels/{contactChannelId}:
|
|
3618
3708
|
patch:
|
|
3619
3709
|
operationId: contactchannels_by_contactChannelId_patch
|
|
@@ -4129,6 +4219,27 @@ paths:
|
|
|
4129
4219
|
limit:
|
|
4130
4220
|
type: number
|
|
4131
4221
|
additionalProperties: false
|
|
4222
|
+
/v1/content-source:
|
|
4223
|
+
post:
|
|
4224
|
+
operationId: contentsource_post
|
|
4225
|
+
summary: Validate and persist a content source URL
|
|
4226
|
+
tags:
|
|
4227
|
+
- content-source
|
|
4228
|
+
responses:
|
|
4229
|
+
"200":
|
|
4230
|
+
description: Successful response
|
|
4231
|
+
requestBody:
|
|
4232
|
+
required: true
|
|
4233
|
+
content:
|
|
4234
|
+
application/json:
|
|
4235
|
+
schema:
|
|
4236
|
+
type: object
|
|
4237
|
+
properties:
|
|
4238
|
+
url:
|
|
4239
|
+
type: string
|
|
4240
|
+
required:
|
|
4241
|
+
- url
|
|
4242
|
+
additionalProperties: false
|
|
4132
4243
|
/v1/conversation-starters:
|
|
4133
4244
|
get:
|
|
4134
4245
|
operationId: conversationstarters_get
|
|
@@ -4280,6 +4391,51 @@ paths:
|
|
|
4280
4391
|
required:
|
|
4281
4392
|
- conversationKey
|
|
4282
4393
|
additionalProperties: false
|
|
4394
|
+
/v1/conversations/{conversationId}/slack-channel/resolve:
|
|
4395
|
+
post:
|
|
4396
|
+
operationId: conversations_by_conversationId_slackchannel_resolve_post
|
|
4397
|
+
summary: Resolve Slack channel name
|
|
4398
|
+
description: Resolve and persist a friendly Slack channel name for an external conversation binding.
|
|
4399
|
+
tags:
|
|
4400
|
+
- conversations
|
|
4401
|
+
- slack
|
|
4402
|
+
responses:
|
|
4403
|
+
"200":
|
|
4404
|
+
description: Successful response
|
|
4405
|
+
content:
|
|
4406
|
+
application/json:
|
|
4407
|
+
schema:
|
|
4408
|
+
type: object
|
|
4409
|
+
properties:
|
|
4410
|
+
channelId:
|
|
4411
|
+
type: string
|
|
4412
|
+
channelName:
|
|
4413
|
+
type: string
|
|
4414
|
+
cached:
|
|
4415
|
+
type: boolean
|
|
4416
|
+
resolved:
|
|
4417
|
+
type: boolean
|
|
4418
|
+
reason:
|
|
4419
|
+
type: string
|
|
4420
|
+
enum:
|
|
4421
|
+
- auth
|
|
4422
|
+
- dm
|
|
4423
|
+
- no_name
|
|
4424
|
+
- not_found
|
|
4425
|
+
- permission
|
|
4426
|
+
- rate_limit
|
|
4427
|
+
- slack_error
|
|
4428
|
+
required:
|
|
4429
|
+
- channelId
|
|
4430
|
+
- cached
|
|
4431
|
+
- resolved
|
|
4432
|
+
additionalProperties: false
|
|
4433
|
+
parameters:
|
|
4434
|
+
- name: conversationId
|
|
4435
|
+
in: path
|
|
4436
|
+
required: true
|
|
4437
|
+
schema:
|
|
4438
|
+
type: string
|
|
4283
4439
|
/v1/conversations/{id}:
|
|
4284
4440
|
delete:
|
|
4285
4441
|
operationId: conversations_by_id_delete
|
|
@@ -4902,6 +5058,57 @@ paths:
|
|
|
4902
5058
|
includeArchived:
|
|
4903
5059
|
type: boolean
|
|
4904
5060
|
additionalProperties: false
|
|
5061
|
+
/v1/conversations/cli/slack/detach:
|
|
5062
|
+
post:
|
|
5063
|
+
operationId: conversations_cli_slack_detach_post
|
|
5064
|
+
summary: Detach the assistant from a Slack thread (CLI)
|
|
5065
|
+
description: Stops Slack active-thread listening for a Slack thread. The CLI resolves current conversation defaults.
|
|
5066
|
+
tags:
|
|
5067
|
+
- conversations
|
|
5068
|
+
responses:
|
|
5069
|
+
"200":
|
|
5070
|
+
description: Successful response
|
|
5071
|
+
content:
|
|
5072
|
+
application/json:
|
|
5073
|
+
schema:
|
|
5074
|
+
type: object
|
|
5075
|
+
properties:
|
|
5076
|
+
detached:
|
|
5077
|
+
type: boolean
|
|
5078
|
+
channelId:
|
|
5079
|
+
type: string
|
|
5080
|
+
threadTs:
|
|
5081
|
+
type: string
|
|
5082
|
+
source:
|
|
5083
|
+
type: string
|
|
5084
|
+
enum:
|
|
5085
|
+
- explicit
|
|
5086
|
+
- conversation_binding
|
|
5087
|
+
conversationId:
|
|
5088
|
+
type: string
|
|
5089
|
+
required:
|
|
5090
|
+
- detached
|
|
5091
|
+
- channelId
|
|
5092
|
+
- threadTs
|
|
5093
|
+
- source
|
|
5094
|
+
additionalProperties: false
|
|
5095
|
+
requestBody:
|
|
5096
|
+
required: true
|
|
5097
|
+
content:
|
|
5098
|
+
application/json:
|
|
5099
|
+
schema:
|
|
5100
|
+
type: object
|
|
5101
|
+
properties:
|
|
5102
|
+
conversationId:
|
|
5103
|
+
type: string
|
|
5104
|
+
minLength: 1
|
|
5105
|
+
channelId:
|
|
5106
|
+
type: string
|
|
5107
|
+
minLength: 1
|
|
5108
|
+
threadTs:
|
|
5109
|
+
type: string
|
|
5110
|
+
minLength: 1
|
|
5111
|
+
additionalProperties: false
|
|
4905
5112
|
/v1/conversations/fork:
|
|
4906
5113
|
post:
|
|
4907
5114
|
operationId: conversations_fork_post
|
|
@@ -6503,6 +6710,268 @@ paths:
|
|
|
6503
6710
|
required: true
|
|
6504
6711
|
schema:
|
|
6505
6712
|
type: string
|
|
6713
|
+
/v1/documents/{id}/comments:
|
|
6714
|
+
get:
|
|
6715
|
+
operationId: documents_by_id_comments_get
|
|
6716
|
+
summary: List comments for a document
|
|
6717
|
+
description: Return comments for a document, optionally filtered by status.
|
|
6718
|
+
tags:
|
|
6719
|
+
- documents
|
|
6720
|
+
responses:
|
|
6721
|
+
"200":
|
|
6722
|
+
description: Successful response
|
|
6723
|
+
content:
|
|
6724
|
+
application/json:
|
|
6725
|
+
schema:
|
|
6726
|
+
type: object
|
|
6727
|
+
properties:
|
|
6728
|
+
comments:
|
|
6729
|
+
type: array
|
|
6730
|
+
items: {}
|
|
6731
|
+
description: Comment records
|
|
6732
|
+
required:
|
|
6733
|
+
- comments
|
|
6734
|
+
additionalProperties: false
|
|
6735
|
+
parameters:
|
|
6736
|
+
- name: id
|
|
6737
|
+
in: path
|
|
6738
|
+
required: true
|
|
6739
|
+
schema:
|
|
6740
|
+
type: string
|
|
6741
|
+
- name: status
|
|
6742
|
+
in: query
|
|
6743
|
+
required: false
|
|
6744
|
+
schema:
|
|
6745
|
+
type: string
|
|
6746
|
+
enum:
|
|
6747
|
+
- open
|
|
6748
|
+
- resolved
|
|
6749
|
+
- all
|
|
6750
|
+
description: "Filter by comment status (default: all)"
|
|
6751
|
+
post:
|
|
6752
|
+
operationId: documents_by_id_comments_post
|
|
6753
|
+
summary: Create a comment on a document
|
|
6754
|
+
description: Add a new comment to a document.
|
|
6755
|
+
tags:
|
|
6756
|
+
- documents
|
|
6757
|
+
responses:
|
|
6758
|
+
"200":
|
|
6759
|
+
description: Successful response
|
|
6760
|
+
content:
|
|
6761
|
+
application/json:
|
|
6762
|
+
schema:
|
|
6763
|
+
type: object
|
|
6764
|
+
properties:
|
|
6765
|
+
id:
|
|
6766
|
+
type: string
|
|
6767
|
+
surfaceId:
|
|
6768
|
+
type: string
|
|
6769
|
+
conversationId:
|
|
6770
|
+
type: string
|
|
6771
|
+
author:
|
|
6772
|
+
type: string
|
|
6773
|
+
content:
|
|
6774
|
+
type: string
|
|
6775
|
+
status:
|
|
6776
|
+
type: string
|
|
6777
|
+
createdAt:
|
|
6778
|
+
type: number
|
|
6779
|
+
updatedAt:
|
|
6780
|
+
type: number
|
|
6781
|
+
required:
|
|
6782
|
+
- id
|
|
6783
|
+
- surfaceId
|
|
6784
|
+
- conversationId
|
|
6785
|
+
- author
|
|
6786
|
+
- content
|
|
6787
|
+
- status
|
|
6788
|
+
- createdAt
|
|
6789
|
+
- updatedAt
|
|
6790
|
+
additionalProperties: false
|
|
6791
|
+
parameters:
|
|
6792
|
+
- name: id
|
|
6793
|
+
in: path
|
|
6794
|
+
required: true
|
|
6795
|
+
schema:
|
|
6796
|
+
type: string
|
|
6797
|
+
requestBody:
|
|
6798
|
+
required: true
|
|
6799
|
+
content:
|
|
6800
|
+
application/json:
|
|
6801
|
+
schema:
|
|
6802
|
+
type: object
|
|
6803
|
+
properties:
|
|
6804
|
+
content:
|
|
6805
|
+
type: string
|
|
6806
|
+
minLength: 1
|
|
6807
|
+
description: Comment text content
|
|
6808
|
+
author:
|
|
6809
|
+
default: user
|
|
6810
|
+
description: Comment author
|
|
6811
|
+
type: string
|
|
6812
|
+
const: user
|
|
6813
|
+
anchorStart:
|
|
6814
|
+
description: Selection start offset
|
|
6815
|
+
anyOf:
|
|
6816
|
+
- type: number
|
|
6817
|
+
- type: "null"
|
|
6818
|
+
anchorEnd:
|
|
6819
|
+
description: Selection end offset
|
|
6820
|
+
anyOf:
|
|
6821
|
+
- type: number
|
|
6822
|
+
- type: "null"
|
|
6823
|
+
anchorText:
|
|
6824
|
+
description: Anchored text snippet
|
|
6825
|
+
anyOf:
|
|
6826
|
+
- type: string
|
|
6827
|
+
- type: "null"
|
|
6828
|
+
parentCommentId:
|
|
6829
|
+
description: Parent comment ID for replies
|
|
6830
|
+
anyOf:
|
|
6831
|
+
- type: string
|
|
6832
|
+
- type: "null"
|
|
6833
|
+
conversationId:
|
|
6834
|
+
type: string
|
|
6835
|
+
description: Owning conversation ID
|
|
6836
|
+
required:
|
|
6837
|
+
- content
|
|
6838
|
+
- conversationId
|
|
6839
|
+
additionalProperties: false
|
|
6840
|
+
/v1/documents/{id}/comments/{commentId}:
|
|
6841
|
+
delete:
|
|
6842
|
+
operationId: documents_by_id_comments_by_commentId_delete
|
|
6843
|
+
summary: Delete a document comment
|
|
6844
|
+
description: Permanently delete a comment.
|
|
6845
|
+
tags:
|
|
6846
|
+
- documents
|
|
6847
|
+
responses:
|
|
6848
|
+
"200":
|
|
6849
|
+
description: Successful response
|
|
6850
|
+
content:
|
|
6851
|
+
application/json:
|
|
6852
|
+
schema:
|
|
6853
|
+
type: object
|
|
6854
|
+
properties:
|
|
6855
|
+
success:
|
|
6856
|
+
type: boolean
|
|
6857
|
+
const: true
|
|
6858
|
+
required:
|
|
6859
|
+
- success
|
|
6860
|
+
additionalProperties: false
|
|
6861
|
+
parameters:
|
|
6862
|
+
- name: id
|
|
6863
|
+
in: path
|
|
6864
|
+
required: true
|
|
6865
|
+
schema:
|
|
6866
|
+
type: string
|
|
6867
|
+
- name: commentId
|
|
6868
|
+
in: path
|
|
6869
|
+
required: true
|
|
6870
|
+
schema:
|
|
6871
|
+
type: string
|
|
6872
|
+
patch:
|
|
6873
|
+
operationId: documents_by_id_comments_by_commentId_patch
|
|
6874
|
+
summary: Update a document comment
|
|
6875
|
+
description: Update the status or content of a comment.
|
|
6876
|
+
tags:
|
|
6877
|
+
- documents
|
|
6878
|
+
responses:
|
|
6879
|
+
"200":
|
|
6880
|
+
description: Successful response
|
|
6881
|
+
content:
|
|
6882
|
+
application/json:
|
|
6883
|
+
schema:
|
|
6884
|
+
type: object
|
|
6885
|
+
properties:
|
|
6886
|
+
id:
|
|
6887
|
+
type: string
|
|
6888
|
+
surfaceId:
|
|
6889
|
+
type: string
|
|
6890
|
+
content:
|
|
6891
|
+
type: string
|
|
6892
|
+
status:
|
|
6893
|
+
type: string
|
|
6894
|
+
updatedAt:
|
|
6895
|
+
type: number
|
|
6896
|
+
required:
|
|
6897
|
+
- id
|
|
6898
|
+
- surfaceId
|
|
6899
|
+
- content
|
|
6900
|
+
- status
|
|
6901
|
+
- updatedAt
|
|
6902
|
+
additionalProperties: false
|
|
6903
|
+
parameters:
|
|
6904
|
+
- name: id
|
|
6905
|
+
in: path
|
|
6906
|
+
required: true
|
|
6907
|
+
schema:
|
|
6908
|
+
type: string
|
|
6909
|
+
- name: commentId
|
|
6910
|
+
in: path
|
|
6911
|
+
required: true
|
|
6912
|
+
schema:
|
|
6913
|
+
type: string
|
|
6914
|
+
requestBody:
|
|
6915
|
+
required: true
|
|
6916
|
+
content:
|
|
6917
|
+
application/json:
|
|
6918
|
+
schema:
|
|
6919
|
+
type: object
|
|
6920
|
+
properties:
|
|
6921
|
+
status:
|
|
6922
|
+
description: New comment status
|
|
6923
|
+
type: string
|
|
6924
|
+
enum:
|
|
6925
|
+
- open
|
|
6926
|
+
- resolved
|
|
6927
|
+
content:
|
|
6928
|
+
description: Updated comment text
|
|
6929
|
+
type: string
|
|
6930
|
+
minLength: 1
|
|
6931
|
+
resolvedBy:
|
|
6932
|
+
description: Who resolved the comment
|
|
6933
|
+
type: string
|
|
6934
|
+
additionalProperties: false
|
|
6935
|
+
/v1/documents/{id}/conversations:
|
|
6936
|
+
post:
|
|
6937
|
+
operationId: documents_by_id_conversations_post
|
|
6938
|
+
summary: Link a document to a conversation
|
|
6939
|
+
description: Associate a document with a conversation so the assistant sees it as context.
|
|
6940
|
+
tags:
|
|
6941
|
+
- documents
|
|
6942
|
+
responses:
|
|
6943
|
+
"200":
|
|
6944
|
+
description: Successful response
|
|
6945
|
+
content:
|
|
6946
|
+
application/json:
|
|
6947
|
+
schema:
|
|
6948
|
+
type: object
|
|
6949
|
+
properties:
|
|
6950
|
+
success:
|
|
6951
|
+
type: boolean
|
|
6952
|
+
const: true
|
|
6953
|
+
required:
|
|
6954
|
+
- success
|
|
6955
|
+
additionalProperties: false
|
|
6956
|
+
parameters:
|
|
6957
|
+
- name: id
|
|
6958
|
+
in: path
|
|
6959
|
+
required: true
|
|
6960
|
+
schema:
|
|
6961
|
+
type: string
|
|
6962
|
+
requestBody:
|
|
6963
|
+
required: true
|
|
6964
|
+
content:
|
|
6965
|
+
application/json:
|
|
6966
|
+
schema:
|
|
6967
|
+
type: object
|
|
6968
|
+
properties:
|
|
6969
|
+
conversationId:
|
|
6970
|
+
type: string
|
|
6971
|
+
description: Conversation to link
|
|
6972
|
+
required:
|
|
6973
|
+
- conversationId
|
|
6974
|
+
additionalProperties: false
|
|
6506
6975
|
/v1/documents/{id}/pdf:
|
|
6507
6976
|
get:
|
|
6508
6977
|
operationId: documents_by_id_pdf_get
|
|
@@ -7268,6 +7737,14 @@ paths:
|
|
|
7268
7737
|
type: object
|
|
7269
7738
|
properties: {}
|
|
7270
7739
|
additionalProperties: {}
|
|
7740
|
+
ces:
|
|
7741
|
+
type: object
|
|
7742
|
+
properties:
|
|
7743
|
+
connected:
|
|
7744
|
+
type: boolean
|
|
7745
|
+
required:
|
|
7746
|
+
- connected
|
|
7747
|
+
additionalProperties: false
|
|
7271
7748
|
profiler:
|
|
7272
7749
|
type: object
|
|
7273
7750
|
properties:
|
|
@@ -7351,6 +7828,7 @@ paths:
|
|
|
7351
7828
|
- memory
|
|
7352
7829
|
- cpu
|
|
7353
7830
|
- migrations
|
|
7831
|
+
- ces
|
|
7354
7832
|
additionalProperties: false
|
|
7355
7833
|
/v1/healthz:
|
|
7356
7834
|
get:
|
|
@@ -7389,6 +7867,14 @@ paths:
|
|
|
7389
7867
|
type: object
|
|
7390
7868
|
properties: {}
|
|
7391
7869
|
additionalProperties: {}
|
|
7870
|
+
ces:
|
|
7871
|
+
type: object
|
|
7872
|
+
properties:
|
|
7873
|
+
connected:
|
|
7874
|
+
type: boolean
|
|
7875
|
+
required:
|
|
7876
|
+
- connected
|
|
7877
|
+
additionalProperties: false
|
|
7392
7878
|
profiler:
|
|
7393
7879
|
type: object
|
|
7394
7880
|
properties:
|
|
@@ -7472,6 +7958,7 @@ paths:
|
|
|
7472
7958
|
- memory
|
|
7473
7959
|
- cpu
|
|
7474
7960
|
- migrations
|
|
7961
|
+
- ces
|
|
7475
7962
|
additionalProperties: false
|
|
7476
7963
|
/v1/heartbeat/checklist:
|
|
7477
7964
|
get:
|
|
@@ -7869,6 +8356,10 @@ paths:
|
|
|
7869
8356
|
- background
|
|
7870
8357
|
- email
|
|
7871
8358
|
- system
|
|
8359
|
+
noteworthy:
|
|
8360
|
+
type: boolean
|
|
8361
|
+
fromAssistant:
|
|
8362
|
+
type: boolean
|
|
7872
8363
|
metadata:
|
|
7873
8364
|
type: object
|
|
7874
8365
|
propertyNames:
|
|
@@ -7880,7 +8371,6 @@ paths:
|
|
|
7880
8371
|
- id
|
|
7881
8372
|
- type
|
|
7882
8373
|
- priority
|
|
7883
|
-
- title
|
|
7884
8374
|
- summary
|
|
7885
8375
|
- timestamp
|
|
7886
8376
|
- status
|
|
@@ -8031,6 +8521,10 @@ paths:
|
|
|
8031
8521
|
- background
|
|
8032
8522
|
- email
|
|
8033
8523
|
- system
|
|
8524
|
+
noteworthy:
|
|
8525
|
+
type: boolean
|
|
8526
|
+
fromAssistant:
|
|
8527
|
+
type: boolean
|
|
8034
8528
|
metadata:
|
|
8035
8529
|
type: object
|
|
8036
8530
|
propertyNames:
|
|
@@ -8042,7 +8536,6 @@ paths:
|
|
|
8042
8536
|
- id
|
|
8043
8537
|
- type
|
|
8044
8538
|
- priority
|
|
8045
|
-
- title
|
|
8046
8539
|
- summary
|
|
8047
8540
|
- timestamp
|
|
8048
8541
|
- status
|
|
@@ -8710,6 +9203,68 @@ paths:
|
|
|
8710
9203
|
responses:
|
|
8711
9204
|
"200":
|
|
8712
9205
|
description: Successful response
|
|
9206
|
+
/v1/inference/chatgpt-subscription/auth:
|
|
9207
|
+
post:
|
|
9208
|
+
operationId: inference_chatgptsubscription_auth_post
|
|
9209
|
+
summary: Start ChatGPT subscription OAuth PKCE flow
|
|
9210
|
+
description:
|
|
9211
|
+
Generate a PKCE authorize URL for ChatGPT subscription auth. Returns the URL and state for the client to
|
|
9212
|
+
open in a browser.
|
|
9213
|
+
tags:
|
|
9214
|
+
- inference
|
|
9215
|
+
responses:
|
|
9216
|
+
"200":
|
|
9217
|
+
description: Successful response
|
|
9218
|
+
content:
|
|
9219
|
+
application/json:
|
|
9220
|
+
schema:
|
|
9221
|
+
type: object
|
|
9222
|
+
properties:
|
|
9223
|
+
authorize_url:
|
|
9224
|
+
type: string
|
|
9225
|
+
state:
|
|
9226
|
+
type: string
|
|
9227
|
+
required:
|
|
9228
|
+
- authorize_url
|
|
9229
|
+
- state
|
|
9230
|
+
additionalProperties: false
|
|
9231
|
+
/v1/inference/chatgpt-subscription/auth/exchange:
|
|
9232
|
+
post:
|
|
9233
|
+
operationId: inference_chatgptsubscription_auth_exchange_post
|
|
9234
|
+
summary: Exchange ChatGPT subscription OAuth authorization code
|
|
9235
|
+
description:
|
|
9236
|
+
Accept an authorization code and state from the OAuth redirect, exchange it for tokens, store them in CES,
|
|
9237
|
+
and upsert the provider connection.
|
|
9238
|
+
tags:
|
|
9239
|
+
- inference
|
|
9240
|
+
responses:
|
|
9241
|
+
"200":
|
|
9242
|
+
description: Successful response
|
|
9243
|
+
content:
|
|
9244
|
+
application/json:
|
|
9245
|
+
schema:
|
|
9246
|
+
type: object
|
|
9247
|
+
properties:
|
|
9248
|
+
ok:
|
|
9249
|
+
type: boolean
|
|
9250
|
+
required:
|
|
9251
|
+
- ok
|
|
9252
|
+
additionalProperties: false
|
|
9253
|
+
requestBody:
|
|
9254
|
+
required: true
|
|
9255
|
+
content:
|
|
9256
|
+
application/json:
|
|
9257
|
+
schema:
|
|
9258
|
+
type: object
|
|
9259
|
+
properties:
|
|
9260
|
+
code:
|
|
9261
|
+
type: string
|
|
9262
|
+
state:
|
|
9263
|
+
type: string
|
|
9264
|
+
required:
|
|
9265
|
+
- code
|
|
9266
|
+
- state
|
|
9267
|
+
additionalProperties: false
|
|
8713
9268
|
/v1/inference/provider-connections:
|
|
8714
9269
|
get:
|
|
8715
9270
|
operationId: inference_providerconnections_get
|
|
@@ -8742,9 +9297,7 @@ paths:
|
|
|
8742
9297
|
- ollama
|
|
8743
9298
|
- fireworks
|
|
8744
9299
|
- openrouter
|
|
8745
|
-
-
|
|
8746
|
-
- deepseek
|
|
8747
|
-
- minimax
|
|
9300
|
+
- openai-compatible
|
|
8748
9301
|
auth:
|
|
8749
9302
|
oneOf:
|
|
8750
9303
|
- type: object
|
|
@@ -8809,6 +9362,27 @@ paths:
|
|
|
8809
9362
|
- type: string
|
|
8810
9363
|
minLength: 1
|
|
8811
9364
|
- type: "null"
|
|
9365
|
+
baseUrl:
|
|
9366
|
+
anyOf:
|
|
9367
|
+
- type: string
|
|
9368
|
+
format: uri
|
|
9369
|
+
- type: "null"
|
|
9370
|
+
models:
|
|
9371
|
+
anyOf:
|
|
9372
|
+
- type: array
|
|
9373
|
+
items:
|
|
9374
|
+
type: object
|
|
9375
|
+
properties:
|
|
9376
|
+
id:
|
|
9377
|
+
type: string
|
|
9378
|
+
minLength: 1
|
|
9379
|
+
displayName:
|
|
9380
|
+
type: string
|
|
9381
|
+
minLength: 1
|
|
9382
|
+
required:
|
|
9383
|
+
- id
|
|
9384
|
+
additionalProperties: false
|
|
9385
|
+
- type: "null"
|
|
8812
9386
|
createdAt:
|
|
8813
9387
|
type: integer
|
|
8814
9388
|
minimum: -9007199254740991
|
|
@@ -8825,6 +9399,8 @@ paths:
|
|
|
8825
9399
|
- auth
|
|
8826
9400
|
- status
|
|
8827
9401
|
- label
|
|
9402
|
+
- baseUrl
|
|
9403
|
+
- models
|
|
8828
9404
|
- createdAt
|
|
8829
9405
|
- updatedAt
|
|
8830
9406
|
- isManaged
|
|
@@ -8838,9 +9414,7 @@ paths:
|
|
|
8838
9414
|
required: false
|
|
8839
9415
|
schema:
|
|
8840
9416
|
type: string
|
|
8841
|
-
description:
|
|
8842
|
-
"Filter by provider. One of: anthropic, openai, gemini, ollama, fireworks, openrouter, zai, deepseek,
|
|
8843
|
-
minimax"
|
|
9417
|
+
description: "Filter by provider. One of: anthropic, openai, gemini, ollama, fireworks, openrouter, openai-compatible"
|
|
8844
9418
|
post:
|
|
8845
9419
|
operationId: inference_providerconnections_post
|
|
8846
9420
|
summary: Create a provider connection
|
|
@@ -8867,9 +9441,7 @@ paths:
|
|
|
8867
9441
|
- ollama
|
|
8868
9442
|
- fireworks
|
|
8869
9443
|
- openrouter
|
|
8870
|
-
-
|
|
8871
|
-
- deepseek
|
|
8872
|
-
- minimax
|
|
9444
|
+
- openai-compatible
|
|
8873
9445
|
auth:
|
|
8874
9446
|
oneOf:
|
|
8875
9447
|
- type: object
|
|
@@ -8934,6 +9506,27 @@ paths:
|
|
|
8934
9506
|
- type: string
|
|
8935
9507
|
minLength: 1
|
|
8936
9508
|
- type: "null"
|
|
9509
|
+
baseUrl:
|
|
9510
|
+
anyOf:
|
|
9511
|
+
- type: string
|
|
9512
|
+
format: uri
|
|
9513
|
+
- type: "null"
|
|
9514
|
+
models:
|
|
9515
|
+
anyOf:
|
|
9516
|
+
- type: array
|
|
9517
|
+
items:
|
|
9518
|
+
type: object
|
|
9519
|
+
properties:
|
|
9520
|
+
id:
|
|
9521
|
+
type: string
|
|
9522
|
+
minLength: 1
|
|
9523
|
+
displayName:
|
|
9524
|
+
type: string
|
|
9525
|
+
minLength: 1
|
|
9526
|
+
required:
|
|
9527
|
+
- id
|
|
9528
|
+
additionalProperties: false
|
|
9529
|
+
- type: "null"
|
|
8937
9530
|
createdAt:
|
|
8938
9531
|
type: integer
|
|
8939
9532
|
minimum: -9007199254740991
|
|
@@ -8950,6 +9543,8 @@ paths:
|
|
|
8950
9543
|
- auth
|
|
8951
9544
|
- status
|
|
8952
9545
|
- label
|
|
9546
|
+
- baseUrl
|
|
9547
|
+
- models
|
|
8953
9548
|
- createdAt
|
|
8954
9549
|
- updatedAt
|
|
8955
9550
|
- isManaged
|
|
@@ -8977,9 +9572,7 @@ paths:
|
|
|
8977
9572
|
- ollama
|
|
8978
9573
|
- fireworks
|
|
8979
9574
|
- openrouter
|
|
8980
|
-
-
|
|
8981
|
-
- deepseek
|
|
8982
|
-
- minimax
|
|
9575
|
+
- openai-compatible
|
|
8983
9576
|
auth:
|
|
8984
9577
|
oneOf:
|
|
8985
9578
|
- type: object
|
|
@@ -9042,6 +9635,27 @@ paths:
|
|
|
9042
9635
|
enum:
|
|
9043
9636
|
- active
|
|
9044
9637
|
- disabled
|
|
9638
|
+
base_url:
|
|
9639
|
+
anyOf:
|
|
9640
|
+
- type: string
|
|
9641
|
+
format: uri
|
|
9642
|
+
- type: "null"
|
|
9643
|
+
models:
|
|
9644
|
+
anyOf:
|
|
9645
|
+
- type: array
|
|
9646
|
+
items:
|
|
9647
|
+
type: object
|
|
9648
|
+
properties:
|
|
9649
|
+
id:
|
|
9650
|
+
type: string
|
|
9651
|
+
minLength: 1
|
|
9652
|
+
displayName:
|
|
9653
|
+
type: string
|
|
9654
|
+
minLength: 1
|
|
9655
|
+
required:
|
|
9656
|
+
- id
|
|
9657
|
+
additionalProperties: false
|
|
9658
|
+
- type: "null"
|
|
9045
9659
|
required:
|
|
9046
9660
|
- name
|
|
9047
9661
|
- provider
|
|
@@ -9109,9 +9723,7 @@ paths:
|
|
|
9109
9723
|
- ollama
|
|
9110
9724
|
- fireworks
|
|
9111
9725
|
- openrouter
|
|
9112
|
-
-
|
|
9113
|
-
- deepseek
|
|
9114
|
-
- minimax
|
|
9726
|
+
- openai-compatible
|
|
9115
9727
|
auth:
|
|
9116
9728
|
oneOf:
|
|
9117
9729
|
- type: object
|
|
@@ -9176,6 +9788,27 @@ paths:
|
|
|
9176
9788
|
- type: string
|
|
9177
9789
|
minLength: 1
|
|
9178
9790
|
- type: "null"
|
|
9791
|
+
baseUrl:
|
|
9792
|
+
anyOf:
|
|
9793
|
+
- type: string
|
|
9794
|
+
format: uri
|
|
9795
|
+
- type: "null"
|
|
9796
|
+
models:
|
|
9797
|
+
anyOf:
|
|
9798
|
+
- type: array
|
|
9799
|
+
items:
|
|
9800
|
+
type: object
|
|
9801
|
+
properties:
|
|
9802
|
+
id:
|
|
9803
|
+
type: string
|
|
9804
|
+
minLength: 1
|
|
9805
|
+
displayName:
|
|
9806
|
+
type: string
|
|
9807
|
+
minLength: 1
|
|
9808
|
+
required:
|
|
9809
|
+
- id
|
|
9810
|
+
additionalProperties: false
|
|
9811
|
+
- type: "null"
|
|
9179
9812
|
createdAt:
|
|
9180
9813
|
type: integer
|
|
9181
9814
|
minimum: -9007199254740991
|
|
@@ -9192,6 +9825,8 @@ paths:
|
|
|
9192
9825
|
- auth
|
|
9193
9826
|
- status
|
|
9194
9827
|
- label
|
|
9828
|
+
- baseUrl
|
|
9829
|
+
- models
|
|
9195
9830
|
- createdAt
|
|
9196
9831
|
- updatedAt
|
|
9197
9832
|
- isManaged
|
|
@@ -9233,9 +9868,7 @@ paths:
|
|
|
9233
9868
|
- ollama
|
|
9234
9869
|
- fireworks
|
|
9235
9870
|
- openrouter
|
|
9236
|
-
-
|
|
9237
|
-
- deepseek
|
|
9238
|
-
- minimax
|
|
9871
|
+
- openai-compatible
|
|
9239
9872
|
auth:
|
|
9240
9873
|
oneOf:
|
|
9241
9874
|
- type: object
|
|
@@ -9300,6 +9933,27 @@ paths:
|
|
|
9300
9933
|
- type: string
|
|
9301
9934
|
minLength: 1
|
|
9302
9935
|
- type: "null"
|
|
9936
|
+
baseUrl:
|
|
9937
|
+
anyOf:
|
|
9938
|
+
- type: string
|
|
9939
|
+
format: uri
|
|
9940
|
+
- type: "null"
|
|
9941
|
+
models:
|
|
9942
|
+
anyOf:
|
|
9943
|
+
- type: array
|
|
9944
|
+
items:
|
|
9945
|
+
type: object
|
|
9946
|
+
properties:
|
|
9947
|
+
id:
|
|
9948
|
+
type: string
|
|
9949
|
+
minLength: 1
|
|
9950
|
+
displayName:
|
|
9951
|
+
type: string
|
|
9952
|
+
minLength: 1
|
|
9953
|
+
required:
|
|
9954
|
+
- id
|
|
9955
|
+
additionalProperties: false
|
|
9956
|
+
- type: "null"
|
|
9303
9957
|
createdAt:
|
|
9304
9958
|
type: integer
|
|
9305
9959
|
minimum: -9007199254740991
|
|
@@ -9316,6 +9970,8 @@ paths:
|
|
|
9316
9970
|
- auth
|
|
9317
9971
|
- status
|
|
9318
9972
|
- label
|
|
9973
|
+
- baseUrl
|
|
9974
|
+
- models
|
|
9319
9975
|
- createdAt
|
|
9320
9976
|
- updatedAt
|
|
9321
9977
|
- isManaged
|
|
@@ -9401,6 +10057,27 @@ paths:
|
|
|
9401
10057
|
- type: string
|
|
9402
10058
|
minLength: 1
|
|
9403
10059
|
- type: "null"
|
|
10060
|
+
base_url:
|
|
10061
|
+
anyOf:
|
|
10062
|
+
- type: string
|
|
10063
|
+
format: uri
|
|
10064
|
+
- type: "null"
|
|
10065
|
+
models:
|
|
10066
|
+
anyOf:
|
|
10067
|
+
- type: array
|
|
10068
|
+
items:
|
|
10069
|
+
type: object
|
|
10070
|
+
properties:
|
|
10071
|
+
id:
|
|
10072
|
+
type: string
|
|
10073
|
+
minLength: 1
|
|
10074
|
+
displayName:
|
|
10075
|
+
type: string
|
|
10076
|
+
minLength: 1
|
|
10077
|
+
required:
|
|
10078
|
+
- id
|
|
10079
|
+
additionalProperties: false
|
|
10080
|
+
- type: "null"
|
|
9404
10081
|
required:
|
|
9405
10082
|
- auth
|
|
9406
10083
|
additionalProperties: false
|
|
@@ -9464,6 +10141,76 @@ paths:
|
|
|
9464
10141
|
required:
|
|
9465
10142
|
- message
|
|
9466
10143
|
additionalProperties: false
|
|
10144
|
+
/v1/integrations/a2a/config:
|
|
10145
|
+
delete:
|
|
10146
|
+
operationId: integrations_a2a_config_delete
|
|
10147
|
+
summary: Disable A2A channel
|
|
10148
|
+
description: Disable the A2A channel.
|
|
10149
|
+
tags:
|
|
10150
|
+
- integrations
|
|
10151
|
+
responses:
|
|
10152
|
+
"200":
|
|
10153
|
+
description: Successful response
|
|
10154
|
+
get:
|
|
10155
|
+
operationId: integrations_a2a_config_get
|
|
10156
|
+
summary: Get A2A config
|
|
10157
|
+
description: Check current A2A channel configuration status.
|
|
10158
|
+
tags:
|
|
10159
|
+
- integrations
|
|
10160
|
+
responses:
|
|
10161
|
+
"200":
|
|
10162
|
+
description: Successful response
|
|
10163
|
+
post:
|
|
10164
|
+
operationId: integrations_a2a_config_post
|
|
10165
|
+
summary: Enable A2A channel
|
|
10166
|
+
description: Enable the A2A channel for inter-assistant communication.
|
|
10167
|
+
tags:
|
|
10168
|
+
- integrations
|
|
10169
|
+
responses:
|
|
10170
|
+
"200":
|
|
10171
|
+
description: Successful response
|
|
10172
|
+
/v1/integrations/a2a/invite:
|
|
10173
|
+
post:
|
|
10174
|
+
operationId: integrations_a2a_invite_post
|
|
10175
|
+
summary: Create A2A invite
|
|
10176
|
+
description: Create a shareable A2A invite token for link-based contact creation.
|
|
10177
|
+
tags:
|
|
10178
|
+
- integrations
|
|
10179
|
+
responses:
|
|
10180
|
+
"200":
|
|
10181
|
+
description: Successful response
|
|
10182
|
+
/v1/integrations/a2a/invite/accept:
|
|
10183
|
+
post:
|
|
10184
|
+
operationId: integrations_a2a_invite_accept_post
|
|
10185
|
+
summary: Accept A2A invite (self-hosted broker)
|
|
10186
|
+
description:
|
|
10187
|
+
Orchestrate cross-daemon invite acceptance for self-hosted deployments. Calls the sender's invite/complete,
|
|
10188
|
+
then creates a local contact via invite/redeem.
|
|
10189
|
+
tags:
|
|
10190
|
+
- integrations
|
|
10191
|
+
responses:
|
|
10192
|
+
"200":
|
|
10193
|
+
description: Successful response
|
|
10194
|
+
/v1/integrations/a2a/invite/complete:
|
|
10195
|
+
post:
|
|
10196
|
+
operationId: integrations_a2a_invite_complete_post
|
|
10197
|
+
summary: Complete A2A invite (sender side)
|
|
10198
|
+
description: Called by the platform to finalize the sender side of a link-based A2A connection.
|
|
10199
|
+
tags:
|
|
10200
|
+
- integrations
|
|
10201
|
+
responses:
|
|
10202
|
+
"200":
|
|
10203
|
+
description: Successful response
|
|
10204
|
+
/v1/integrations/a2a/invite/redeem:
|
|
10205
|
+
post:
|
|
10206
|
+
operationId: integrations_a2a_invite_redeem_post
|
|
10207
|
+
summary: Redeem A2A invite (receiver side)
|
|
10208
|
+
description: Called by the platform to create a trusted contact on the receiver side of a link-based A2A connection.
|
|
10209
|
+
tags:
|
|
10210
|
+
- integrations
|
|
10211
|
+
responses:
|
|
10212
|
+
"200":
|
|
10213
|
+
description: Successful response
|
|
9467
10214
|
/v1/integrations/ingress/config:
|
|
9468
10215
|
get:
|
|
9469
10216
|
operationId: integrations_ingress_config_get
|
|
@@ -9718,21 +10465,6 @@ paths:
|
|
|
9718
10465
|
responses:
|
|
9719
10466
|
"200":
|
|
9720
10467
|
description: Successful response
|
|
9721
|
-
/v1/interfaces/{path}:
|
|
9722
|
-
get:
|
|
9723
|
-
operationId: interfaces_by_path_get
|
|
9724
|
-
summary: Serve an interface definition file
|
|
9725
|
-
tags:
|
|
9726
|
-
- interfaces
|
|
9727
|
-
responses:
|
|
9728
|
-
"200":
|
|
9729
|
-
description: Successful response
|
|
9730
|
-
parameters:
|
|
9731
|
-
- name: path
|
|
9732
|
-
in: path
|
|
9733
|
-
required: true
|
|
9734
|
-
schema:
|
|
9735
|
-
type: string
|
|
9736
10468
|
/v1/internal/mcp/add:
|
|
9737
10469
|
post:
|
|
9738
10470
|
operationId: internal_mcp_add_post
|
|
@@ -10322,6 +11054,28 @@ paths:
|
|
|
10322
11054
|
required:
|
|
10323
11055
|
- slug
|
|
10324
11056
|
additionalProperties: false
|
|
11057
|
+
/v1/memory/v2/ema-scores:
|
|
11058
|
+
post:
|
|
11059
|
+
operationId: memory_v2_emascores_post
|
|
11060
|
+
summary: List every concept page with its injection-frequency EMA score
|
|
11061
|
+
description:
|
|
11062
|
+
Computes the time-decayed injection frequency (3-day half-life) for every entry in the current page index
|
|
11063
|
+
by reading memory_v2_injection_events. Returns entries sorted by score descending then slug ASCII, including
|
|
11064
|
+
zero-score pages so callers can decide whether to filter. Read-only; tier 2 of the v4 router uses the same
|
|
11065
|
+
computation to pick its top-M.
|
|
11066
|
+
tags:
|
|
11067
|
+
- memory
|
|
11068
|
+
responses:
|
|
11069
|
+
"200":
|
|
11070
|
+
description: Successful response
|
|
11071
|
+
requestBody:
|
|
11072
|
+
required: true
|
|
11073
|
+
content:
|
|
11074
|
+
application/json:
|
|
11075
|
+
schema:
|
|
11076
|
+
type: object
|
|
11077
|
+
properties: {}
|
|
11078
|
+
additionalProperties: false
|
|
10325
11079
|
/v1/memory/v2/list-concept-pages:
|
|
10326
11080
|
post:
|
|
10327
11081
|
operationId: memory_v2_listconceptpages_post
|
|
@@ -10360,6 +11114,55 @@ paths:
|
|
|
10360
11114
|
type: object
|
|
10361
11115
|
properties: {}
|
|
10362
11116
|
additionalProperties: false
|
|
11117
|
+
/v1/memory/v2/simulate-router:
|
|
11118
|
+
post:
|
|
11119
|
+
operationId: memory_v2_simulaterouter_post
|
|
11120
|
+
summary: Dry-run the v4 router with config overrides (read-only)
|
|
11121
|
+
description:
|
|
11122
|
+
Runs the memory router against the live page index + EMA scores with optional tier_size / batch_size
|
|
11123
|
+
overrides, without recording an injection event or writing an activation log. Returns the slugs that would have
|
|
11124
|
+
been selected, per-slug tier provenance, EMA scores, and the effective router config so operators can validate
|
|
11125
|
+
knob changes before flipping them in workspace config.
|
|
11126
|
+
tags:
|
|
11127
|
+
- memory
|
|
11128
|
+
responses:
|
|
11129
|
+
"200":
|
|
11130
|
+
description: Successful response
|
|
11131
|
+
requestBody:
|
|
11132
|
+
required: true
|
|
11133
|
+
content:
|
|
11134
|
+
application/json:
|
|
11135
|
+
schema:
|
|
11136
|
+
type: object
|
|
11137
|
+
properties:
|
|
11138
|
+
query:
|
|
11139
|
+
type: string
|
|
11140
|
+
minLength: 1
|
|
11141
|
+
configOverrides:
|
|
11142
|
+
type: object
|
|
11143
|
+
properties:
|
|
11144
|
+
tier1_size:
|
|
11145
|
+
anyOf:
|
|
11146
|
+
- type: integer
|
|
11147
|
+
minimum: 1
|
|
11148
|
+
maximum: 9007199254740991
|
|
11149
|
+
- type: "null"
|
|
11150
|
+
tier2_size:
|
|
11151
|
+
anyOf:
|
|
11152
|
+
- type: integer
|
|
11153
|
+
minimum: 1
|
|
11154
|
+
maximum: 9007199254740991
|
|
11155
|
+
- type: "null"
|
|
11156
|
+
batch_size:
|
|
11157
|
+
anyOf:
|
|
11158
|
+
- type: integer
|
|
11159
|
+
minimum: 1
|
|
11160
|
+
maximum: 9007199254740991
|
|
11161
|
+
- type: "null"
|
|
11162
|
+
additionalProperties: false
|
|
11163
|
+
required:
|
|
11164
|
+
- query
|
|
11165
|
+
additionalProperties: false
|
|
10363
11166
|
/v1/memory/v2/validate:
|
|
10364
11167
|
post:
|
|
10365
11168
|
operationId: memory_v2_validate_post
|
|
@@ -10585,6 +11388,28 @@ paths:
|
|
|
10585
11388
|
schema:
|
|
10586
11389
|
type: string
|
|
10587
11390
|
description: Conversation ID (required)
|
|
11391
|
+
/v1/messages/queued/{id}/steer:
|
|
11392
|
+
post:
|
|
11393
|
+
operationId: messages_queued_by_id_steer_post
|
|
11394
|
+
summary: Steer to a queued message
|
|
11395
|
+
description: Promote a queued message to the head of the queue and abort the current generation so it is processed next.
|
|
11396
|
+
tags:
|
|
11397
|
+
- messages
|
|
11398
|
+
responses:
|
|
11399
|
+
"200":
|
|
11400
|
+
description: Successful response
|
|
11401
|
+
parameters:
|
|
11402
|
+
- name: id
|
|
11403
|
+
in: path
|
|
11404
|
+
required: true
|
|
11405
|
+
schema:
|
|
11406
|
+
type: string
|
|
11407
|
+
- name: conversationId
|
|
11408
|
+
in: query
|
|
11409
|
+
required: true
|
|
11410
|
+
schema:
|
|
11411
|
+
type: string
|
|
11412
|
+
description: Conversation ID (required)
|
|
10588
11413
|
/v1/migrations/export:
|
|
10589
11414
|
post:
|
|
10590
11415
|
operationId: migrations_export_post
|
|
@@ -11085,6 +11910,8 @@ paths:
|
|
|
11085
11910
|
type: string
|
|
11086
11911
|
throwOnError:
|
|
11087
11912
|
type: boolean
|
|
11913
|
+
originatingConversationId:
|
|
11914
|
+
type: string
|
|
11088
11915
|
required:
|
|
11089
11916
|
- sourceEventName
|
|
11090
11917
|
- sourceChannel
|
|
@@ -12256,6 +13083,49 @@ paths:
|
|
|
12256
13083
|
responses:
|
|
12257
13084
|
"200":
|
|
12258
13085
|
description: Successful response
|
|
13086
|
+
/v1/sanity/connect:
|
|
13087
|
+
post:
|
|
13088
|
+
operationId: sanity_connect_post
|
|
13089
|
+
summary: Finalise Sanity connection and write sidecar file
|
|
13090
|
+
tags:
|
|
13091
|
+
- sanity
|
|
13092
|
+
responses:
|
|
13093
|
+
"200":
|
|
13094
|
+
description: Successful response
|
|
13095
|
+
requestBody:
|
|
13096
|
+
required: true
|
|
13097
|
+
content:
|
|
13098
|
+
application/json:
|
|
13099
|
+
schema:
|
|
13100
|
+
type: object
|
|
13101
|
+
properties:
|
|
13102
|
+
projectId:
|
|
13103
|
+
type: string
|
|
13104
|
+
dataset:
|
|
13105
|
+
type: string
|
|
13106
|
+
required:
|
|
13107
|
+
- projectId
|
|
13108
|
+
- dataset
|
|
13109
|
+
additionalProperties: false
|
|
13110
|
+
/v1/sanity/discover:
|
|
13111
|
+
post:
|
|
13112
|
+
operationId: sanity_discover_post
|
|
13113
|
+
summary: Discover Sanity projects and datasets using the stored API token
|
|
13114
|
+
tags:
|
|
13115
|
+
- sanity
|
|
13116
|
+
responses:
|
|
13117
|
+
"200":
|
|
13118
|
+
description: Successful response
|
|
13119
|
+
requestBody:
|
|
13120
|
+
required: true
|
|
13121
|
+
content:
|
|
13122
|
+
application/json:
|
|
13123
|
+
schema:
|
|
13124
|
+
type: object
|
|
13125
|
+
properties:
|
|
13126
|
+
projectId:
|
|
13127
|
+
type: string
|
|
13128
|
+
additionalProperties: false
|
|
12259
13129
|
/v1/schedules:
|
|
12260
13130
|
get:
|
|
12261
13131
|
operationId: schedules_get
|
|
@@ -14512,6 +15382,45 @@ paths:
|
|
|
14512
15382
|
- conversationId
|
|
14513
15383
|
- content
|
|
14514
15384
|
additionalProperties: false
|
|
15385
|
+
/v1/subagents/reconcile:
|
|
15386
|
+
get:
|
|
15387
|
+
operationId: subagents_reconcile_get
|
|
15388
|
+
summary: Reconcile subagent live status
|
|
15389
|
+
description:
|
|
15390
|
+
Returns the live in-memory status of all subagents known to the daemon for a given parent conversation.
|
|
15391
|
+
Subagents not in the response are orphaned.
|
|
15392
|
+
tags:
|
|
15393
|
+
- subagents
|
|
15394
|
+
responses:
|
|
15395
|
+
"200":
|
|
15396
|
+
description: Successful response
|
|
15397
|
+
content:
|
|
15398
|
+
application/json:
|
|
15399
|
+
schema:
|
|
15400
|
+
type: object
|
|
15401
|
+
properties:
|
|
15402
|
+
subagents:
|
|
15403
|
+
type: object
|
|
15404
|
+
propertyNames:
|
|
15405
|
+
type: string
|
|
15406
|
+
additionalProperties:
|
|
15407
|
+
type: object
|
|
15408
|
+
properties:
|
|
15409
|
+
status:
|
|
15410
|
+
type: string
|
|
15411
|
+
required:
|
|
15412
|
+
- status
|
|
15413
|
+
additionalProperties: false
|
|
15414
|
+
required:
|
|
15415
|
+
- subagents
|
|
15416
|
+
additionalProperties: false
|
|
15417
|
+
parameters:
|
|
15418
|
+
- name: parentConversationId
|
|
15419
|
+
in: query
|
|
15420
|
+
required: false
|
|
15421
|
+
schema:
|
|
15422
|
+
type: string
|
|
15423
|
+
description: Parent conversation ID
|
|
14515
15424
|
/v1/suggestion:
|
|
14516
15425
|
get:
|
|
14517
15426
|
operationId: suggestion_get
|