@vellumai/assistant 0.11.6 → 0.11.7-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 +31 -19
- package/Dockerfile +1 -0
- package/docs/architecture/security.md +3 -3
- package/docs/flux-turn-detection-spike.md +8 -7
- package/docs/runbook-trusted-contacts.md +14 -0
- package/docs/stt-provider-onboarding.md +8 -4
- package/knip.json +1 -0
- package/node_modules/@vellumai/avatar-manifest/package.json +18 -0
- package/node_modules/@vellumai/avatar-manifest/src/__tests__/manifest.test.ts +173 -0
- package/node_modules/@vellumai/avatar-manifest/src/__tests__/read.test.ts +114 -0
- package/node_modules/@vellumai/avatar-manifest/src/index.ts +29 -0
- package/node_modules/@vellumai/avatar-manifest/src/layout.ts +18 -0
- package/node_modules/@vellumai/avatar-manifest/src/manifest.ts +156 -0
- package/node_modules/@vellumai/avatar-manifest/src/read.ts +109 -0
- package/node_modules/@vellumai/avatar-manifest/tsconfig.json +20 -0
- package/node_modules/@vellumai/ces-client/node_modules/@vellumai/service-contracts/src/__tests__/ingress.test.ts +37 -0
- package/node_modules/@vellumai/ces-client/node_modules/@vellumai/service-contracts/src/__tests__/remote-web-pairing.test.ts +389 -0
- package/node_modules/@vellumai/ces-client/node_modules/@vellumai/service-contracts/src/ingress.ts +22 -0
- package/node_modules/@vellumai/ces-client/node_modules/@vellumai/service-contracts/src/remote-web-pairing.ts +508 -18
- package/node_modules/@vellumai/ces-client/node_modules/@vellumai/service-contracts/src/rpc.ts +174 -0
- package/node_modules/@vellumai/ces-client/src/http-credentials.ts +161 -0
- package/node_modules/@vellumai/ces-client/src/index.ts +1 -0
- package/node_modules/@vellumai/environments/package.json +2 -1
- package/node_modules/@vellumai/environments/src/shell.test.ts +56 -0
- package/node_modules/@vellumai/environments/src/shell.ts +65 -0
- package/node_modules/@vellumai/gateway-client/node_modules/@vellumai/service-contracts/src/__tests__/ingress.test.ts +37 -0
- package/node_modules/@vellumai/gateway-client/node_modules/@vellumai/service-contracts/src/__tests__/remote-web-pairing.test.ts +389 -0
- package/node_modules/@vellumai/gateway-client/node_modules/@vellumai/service-contracts/src/ingress.ts +22 -0
- package/node_modules/@vellumai/gateway-client/node_modules/@vellumai/service-contracts/src/remote-web-pairing.ts +508 -18
- package/node_modules/@vellumai/gateway-client/node_modules/@vellumai/service-contracts/src/rpc.ts +174 -0
- package/node_modules/@vellumai/gateway-client/src/__tests__/contact-read-contracts.test.ts +32 -0
- package/node_modules/@vellumai/gateway-client/src/__tests__/gateway-client.test.ts +1 -0
- package/node_modules/@vellumai/gateway-client/src/__tests__/inbound-event-kind.test.ts +82 -0
- package/node_modules/@vellumai/gateway-client/src/__tests__/plugin-admission-denied-contract.test.ts +56 -0
- package/node_modules/@vellumai/gateway-client/src/__tests__/trust-verdict-contract.test.ts +18 -0
- package/node_modules/@vellumai/gateway-client/src/admission-policy-contract.ts +5 -11
- package/node_modules/@vellumai/gateway-client/src/channel-permission-contract.ts +3 -1
- package/node_modules/@vellumai/gateway-client/src/gateway-ipc-contracts.ts +9 -0
- package/node_modules/@vellumai/gateway-client/src/inbound-contract.ts +4 -0
- package/node_modules/@vellumai/gateway-client/src/inbound-event-kind.ts +75 -0
- package/node_modules/@vellumai/gateway-client/src/index.ts +17 -0
- package/node_modules/@vellumai/gateway-client/src/outbound-contract.ts +8 -0
- package/node_modules/@vellumai/gateway-client/src/plugin-admission-denied-contract.ts +47 -0
- package/node_modules/@vellumai/gateway-client/src/trust-verdict-contract.ts +11 -0
- package/node_modules/@vellumai/service-contracts/src/__tests__/ingress.test.ts +37 -0
- package/node_modules/@vellumai/service-contracts/src/__tests__/remote-web-pairing.test.ts +389 -0
- package/node_modules/@vellumai/service-contracts/src/ingress.ts +22 -0
- package/node_modules/@vellumai/service-contracts/src/remote-web-pairing.ts +508 -18
- package/node_modules/@vellumai/service-contracts/src/rpc.ts +174 -0
- package/openapi.yaml +419 -55
- package/package.json +4 -1
- package/scripts/sync-llm-catalog.ts +6 -0
- package/src/__tests__/approval-card-edit-inbound-handoff.test.ts +199 -0
- package/src/__tests__/approval-card-edit.test.ts +153 -0
- package/src/__tests__/attachments-store-heic-normalize.test.ts +1 -1
- package/src/__tests__/available-skills.test.ts +54 -0
- package/src/__tests__/avatar-identity-sync.test.ts +5 -1
- package/src/__tests__/catalog-install-normalize.test.ts +9 -1
- package/src/__tests__/channel-policy.test.ts +1 -3
- package/src/__tests__/channel-readiness-discord.test.ts +9 -70
- package/src/__tests__/compactor-call-site-logging.test.ts +61 -0
- package/src/__tests__/config-loader-backfill.test.ts +69 -0
- package/src/__tests__/config-schema.test.ts +2 -3
- package/src/__tests__/conversation-agent-loop.test.ts +238 -0
- package/src/__tests__/conversation-attachments.test.ts +0 -1
- package/src/__tests__/conversation-error.test.ts +44 -0
- package/src/__tests__/conversation-evictor.test.ts +19 -0
- package/src/__tests__/conversation-fork-referential.test.ts +73 -63
- package/src/__tests__/conversation-fork-retrospective.test.ts +99 -74
- package/src/__tests__/conversation-runtime-assembly.test.ts +23 -0
- package/src/__tests__/conversation-slash.test.ts +9 -0
- package/src/__tests__/conversation-title-service.test.ts +97 -0
- package/src/__tests__/conversation-tool-setup-attribution.test.ts +16 -0
- package/src/__tests__/credential-broker-server-use.test.ts +0 -218
- package/src/__tests__/credential-broker.test.ts +43 -420
- package/src/__tests__/credential-record-write-through.test.ts +78 -0
- package/src/__tests__/credential-routes.test.ts +17 -1
- package/src/__tests__/credential-security-invariants.test.ts +8 -9
- package/src/__tests__/default-profile-catalog-fallback.test.ts +289 -0
- package/src/__tests__/delete-propagation.test.ts +92 -2
- package/src/__tests__/discord-callback-round-trip.test.ts +93 -0
- package/src/__tests__/discord-channel-config.test.ts +237 -0
- package/src/__tests__/edit-propagation.test.ts +42 -2
- package/src/__tests__/evict-conversations-for-reload.test.ts +51 -1
- package/src/__tests__/fallback-breaker.test.ts +1335 -0
- package/src/__tests__/gateway-threshold-reader-mock.ts +6 -0
- package/src/__tests__/guardian-card-withdrawal.test.ts +30 -0
- package/src/__tests__/handlers-user-message-approval-consumption.test.ts +0 -2
- package/src/__tests__/image-conversion.test.ts +38 -4
- package/src/__tests__/install-skill-routing.test.ts +25 -0
- package/src/__tests__/llm-catalog-parity.test.ts +4 -0
- package/src/__tests__/llm-resolver.test.ts +74 -0
- package/src/__tests__/llm-schema-fallback-profile.test.ts +359 -0
- package/src/__tests__/managed-fallback-dispatch.test.ts +430 -0
- package/src/__tests__/managed-profile-guard.test.ts +28 -0
- package/src/__tests__/managed-speech-defaults.test.ts +196 -1
- package/src/__tests__/mcp-cli.test.ts +23 -1
- package/src/__tests__/mcp-tool-annotations-risk.test.ts +43 -34
- package/src/__tests__/media-stream-stt-session.test.ts +2 -0
- package/src/__tests__/notification-decision-fallback.test.ts +106 -0
- package/src/__tests__/notification-discord-adapter.test.ts +162 -0
- package/src/__tests__/oauth-connect-orchestrator.test.ts +95 -0
- package/src/__tests__/persist-unsendable-image-downscale.test.ts +6 -8
- package/src/__tests__/persist-unsendable-image.test.ts +3 -3
- package/src/__tests__/platform.test.ts +19 -1
- package/src/__tests__/plugin-import-boundary-guard.test.ts +5 -1
- package/src/__tests__/provider-catalog-visibility.test.ts +17 -0
- package/src/__tests__/provider-platform-proxy-integration.test.ts +8 -1
- package/src/__tests__/provider-usage-tracking.test.ts +56 -0
- package/src/__tests__/require-fresh-approval.test.ts +5 -2
- package/src/__tests__/retry-fallback-escalation.test.ts +1093 -0
- package/src/__tests__/schedule-retry.test.ts +183 -4
- package/src/__tests__/scheduler-reuse-conversation.test.ts +6 -6
- package/src/__tests__/secret-routes-platform-proxy.test.ts +55 -0
- package/src/__tests__/skill-load-tool.test.ts +34 -0
- package/src/__tests__/skill-tool-factory.test.ts +6 -1
- package/src/__tests__/skill-tool-manifest.test.ts +20 -0
- package/src/__tests__/skills.test.ts +25 -0
- package/src/__tests__/subagent-manager-notify.test.ts +38 -0
- package/src/__tests__/terminal-tools.test.ts +2 -0
- package/src/__tests__/tool-approval-handler.test.ts +146 -2
- package/src/__tests__/tool-approval-seed-content-blocks.test.ts +108 -2
- package/src/__tests__/tool-audit.test.ts +111 -40
- package/src/__tests__/tool-executor-lifecycle-events.test.ts +228 -18
- package/src/__tests__/ui-shape-teaching.test.ts +1 -1
- package/src/__tests__/verification-control-plane-policy.test.ts +6 -2
- package/src/__tests__/voice-config-update.test.ts +43 -0
- package/src/__tests__/workspace-migration-147-rename-colliding-backup-profile-names.test.ts +480 -0
- package/src/__tests__/workspace-migration-148-strip-unsupported-fallback-profiles.test.ts +167 -0
- package/src/__tests__/workspace-migration-149-repoint-backup-profile-selections.test.ts +144 -0
- package/src/agent/loop.ts +31 -2
- package/src/approvals/guardian-card-withdrawal.ts +22 -0
- package/src/avatar/__tests__/ensure-raster.test.ts +291 -0
- package/src/avatar/avatar-manifest.ts +48 -100
- package/src/avatar/avatar-store.ts +7 -7
- package/src/avatar/ensure-raster.ts +146 -0
- package/src/avatar/resvg-lazy.test.ts +0 -1
- package/src/avatar/traits-png-sync.ts +9 -10
- package/src/background-wake/wake-intent-hooks.test.ts +0 -1
- package/src/backup/__tests__/paths.test.ts +6 -2
- package/src/backup/paths.ts +6 -4
- package/src/bundler/app-compiler.ts +2 -2
- package/src/bundler/compiler-tools.test.ts +36 -0
- package/src/bundler/compiler-tools.ts +54 -18
- package/src/calls/__tests__/telephony-synthesis-language.test.ts +81 -0
- package/src/calls/__tests__/voice-session-bridge.test.ts +57 -0
- package/src/calls/media-stream-stt-session.ts +2 -1
- package/src/calls/telephony-synthesis-language.ts +13 -5
- package/src/calls/voice-session-bridge.ts +19 -4
- package/src/channels/config.ts +23 -12
- package/src/cli/AGENTS.md +3 -1
- package/src/cli/commands/backup.help.ts +10 -13
- package/src/cli/commands/contacts.help.ts +16 -4
- package/src/cli/commands/contacts.ts +5 -1
- package/src/cli/commands/credentials.help.ts +1 -1
- package/src/cli/commands/inference-providers.ts +18 -53
- package/src/cli/commands/mcp.help.ts +6 -5
- package/src/cli/commands/mcp.ts +1 -1
- package/src/cli/commands/memory/memory-retrospective.ts +1 -0
- package/src/cli/commands/stt.help.ts +2 -2
- package/src/config/__tests__/backup-schema.test.ts +1 -1
- package/src/config/__tests__/default-profile-catalog.test.ts +83 -2
- package/src/config/__tests__/loader-sparse-array-cleanup.test.ts +1 -1
- package/src/config/__tests__/memory-retrospective-schema.test.ts +12 -15
- package/src/config/bundled-skills/computer-use/SKILL.md +6 -6
- package/src/config/bundled-skills/computer-use/TOOLS.json +9 -6
- package/src/config/bundled-skills/media-processing/services/audio-transcribe.ts +3 -1
- package/src/config/bundled-skills/media-processing/services/preprocess.ts +1 -1
- package/src/config/bundled-skills/phone-calls/SKILL.md +1 -1
- package/src/config/bundled-skills/phone-calls/references/CONFIG.md +16 -15
- package/src/config/bundled-skills/phone-calls/references/TROUBLESHOOTING.md +2 -1
- package/src/config/bundled-skills/settings/TOOLS.json +11 -5
- package/src/config/bundled-skills/settings/tools/open-system-settings.test.ts +85 -0
- package/src/config/bundled-skills/settings/tools/open-system-settings.ts +33 -8
- package/src/config/bundled-skills/settings/tools/voice-config-update.ts +54 -3
- package/src/config/bundled-skills/transcribe/tools/transcribe-media.ts +1 -1
- package/src/config/default-profile-catalog.ts +195 -10
- package/src/config/default-profile-names.ts +41 -0
- package/src/config/feature-flag-registry.json +34 -2
- package/src/config/inference-profile-validation.ts +11 -2
- package/src/config/llm-resolver.ts +25 -0
- package/src/config/loader.ts +3 -0
- package/src/config/managed-speech-defaults.ts +160 -10
- package/src/config/schema.ts +2 -0
- package/src/config/schemas/__tests__/live-voice.test.ts +7 -6
- package/src/config/schemas/__tests__/stt.test.ts +94 -0
- package/src/config/schemas/backup.ts +1 -1
- package/src/config/schemas/channels.ts +32 -0
- package/src/config/schemas/live-voice.ts +13 -4
- package/src/config/schemas/llm.ts +263 -15
- package/src/config/schemas/mcp.ts +10 -2
- package/src/config/schemas/memory-retrospective.ts +1 -19
- package/src/config/schemas/services.ts +24 -0
- package/src/config/schemas/stt.ts +128 -5
- package/src/config/seed-inference-profiles.ts +32 -3
- package/src/config/skill-state.ts +5 -0
- package/src/config/skills.ts +21 -0
- package/src/contacts/notify-contacts-changed.ts +5 -2
- package/src/context/compactor.ts +74 -1
- package/src/daemon/__tests__/conversation-tool-setup.test.ts +138 -1
- package/src/daemon/config-watcher.ts +2 -1
- package/src/daemon/conversation-agent-loop-handlers.ts +27 -0
- package/src/daemon/conversation-agent-loop.ts +86 -10
- package/src/daemon/conversation-error.ts +25 -0
- package/src/daemon/conversation-evictor.ts +2 -4
- package/src/daemon/conversation-runtime-assembly.ts +19 -7
- package/src/daemon/conversation-skill-tools.ts +5 -1
- package/src/daemon/conversation-slash.ts +2 -2
- package/src/daemon/conversation-store.ts +8 -1
- package/src/daemon/conversation-tool-setup.ts +37 -0
- package/src/daemon/conversation.ts +0 -4
- package/src/daemon/handlers/channel-config-result.ts +30 -0
- package/src/daemon/handlers/config-discord-channel.ts +301 -0
- package/src/daemon/handlers/config-ingress.ts +9 -0
- package/src/daemon/handlers/config-slack-channel.ts +13 -15
- package/src/daemon/handlers/config-telegram.ts +2 -5
- package/src/daemon/handlers/conversations.ts +0 -2
- package/src/daemon/handlers/skills.ts +25 -7
- package/src/daemon/lifecycle.ts +3 -1
- package/src/daemon/message-types/messages.ts +0 -2
- package/src/daemon/tool-setup-types.ts +5 -3
- package/src/daemon/trust-context-types.test.ts +33 -0
- package/src/heartbeat/__tests__/heartbeat-service.test.ts +0 -1
- package/src/live-voice/__tests__/live-voice-flux-turn-end.test.ts +58 -4
- package/src/live-voice/__tests__/live-voice-managed-speech-fallback.test.ts +8 -3
- package/src/live-voice/__tests__/live-voice-session-manager.test.ts +73 -11
- package/src/live-voice/__tests__/live-voice-session-preflight.test.ts +148 -2
- package/src/live-voice/__tests__/live-voice-session-telemetry.test.ts +64 -0
- package/src/live-voice/__tests__/live-voice-stt.test.ts +3 -0
- package/src/live-voice/__tests__/live-voice-text-turn.test.ts +391 -0
- package/src/live-voice/__tests__/protocol.test.ts +224 -0
- package/src/live-voice/live-voice-credential-preflight.ts +5 -1
- package/src/live-voice/live-voice-session-manager.ts +39 -2
- package/src/live-voice/live-voice-session.ts +224 -9
- package/src/live-voice/protocol.ts +187 -1
- package/src/messaging/providers/discord/api.ts +2 -1
- package/src/messaging/providers/discord/withdraw.ts +62 -0
- package/src/messaging/read-provider-metadata.ts +32 -0
- package/src/monitoring/__tests__/file-descriptors.test.ts +32 -0
- package/src/monitoring/__tests__/process-memory.test.ts +34 -1
- package/src/monitoring/db-integrity-sample.ts +1 -0
- package/src/monitoring/file-descriptors.ts +39 -6
- package/src/monitoring/process-memory.ts +37 -5
- package/src/monitoring/resource-sampler.ts +25 -8
- package/src/notifications/__tests__/activity-failed-dedupe.test.ts +161 -0
- package/src/notifications/__tests__/background-failure-signal.test.ts +107 -0
- package/src/notifications/__tests__/connected-channels.test.ts +12 -0
- package/src/notifications/__tests__/copy-composer.test.ts +83 -0
- package/src/notifications/__tests__/destination-resolver.test.ts +38 -0
- package/src/notifications/activity-failed-dedupe.ts +95 -0
- package/src/notifications/adapters/discord.ts +132 -0
- package/src/notifications/adapters/shared.ts +16 -0
- package/src/notifications/adapters/slack.ts +6 -1
- package/src/notifications/adapters/telegram.ts +5 -8
- package/src/notifications/approval-card-data.ts +94 -1
- package/src/notifications/background-failure-signal.ts +116 -0
- package/src/notifications/broadcaster.ts +3 -9
- package/src/notifications/copy-composer.ts +41 -8
- package/src/notifications/decision-engine.ts +55 -0
- package/src/notifications/destination-resolver.ts +45 -5
- package/src/notifications/emit-signal.ts +19 -5
- package/src/notifications/guardian-question-mode.ts +57 -0
- package/src/notifications/types.ts +2 -8
- package/src/oauth/__tests__/seed-providers-managed.test.ts +18 -0
- package/src/oauth/connect-orchestrator.ts +16 -0
- package/src/oauth/seed-providers.ts +262 -0
- package/src/permissions/checker.test.ts +21 -0
- package/src/permissions/checker.ts +6 -0
- package/src/permissions/gateway-threshold-reader.test.ts +184 -0
- package/src/permissions/gateway-threshold-reader.ts +144 -10
- package/src/permissions/prompter.ts +0 -6
- package/src/permissions/types.ts +5 -4
- package/src/persistence/__tests__/bulk-write-gate.test.ts +0 -38
- package/src/persistence/bulk-write-gate.ts +9 -10
- package/src/persistence/conversation-crud.ts +88 -134
- package/src/persistence/conversation-title-service.ts +43 -29
- package/src/persistence/embeddings/embedding-local.ts +14 -85
- package/src/persistence/embeddings/embedding-runtime-manager.ts +1 -0
- package/src/persistence/lifecycle-events-store.test.ts +50 -0
- package/src/persistence/lifecycle-events-store.ts +75 -5
- package/src/platform/platform-patch-queue.test.ts +368 -0
- package/src/platform/platform-patch-queue.ts +190 -0
- package/src/platform/sync-avatar.test.ts +527 -0
- package/src/platform/sync-avatar.ts +209 -0
- package/src/platform/sync-identity.test.ts +75 -0
- package/src/platform/sync-identity.ts +17 -110
- package/src/plugin-api/model-profiles.test.ts +2 -2
- package/src/plugin-api/model-profiles.ts +7 -7
- package/src/plugin-api/transcription-session.ts +1 -1
- package/src/plugins/defaults/compaction/window-manager.ts +4 -0
- package/src/plugins/defaults/image-recovery/recover.ts +2 -2
- package/src/plugins/defaults/memory/__tests__/memory-retrospective-job.test.ts +133 -34
- package/src/plugins/defaults/memory/__tests__/memory-retrospective-prompt.test.ts +21 -31
- package/src/plugins/defaults/memory/__tests__/memory-retrospective-provider-path.test.ts +13 -9
- package/src/plugins/defaults/memory/__tests__/memory-retrospective-wake-chain.test.ts +31 -4
- package/src/plugins/defaults/memory/memory-retrospective-constants.ts +0 -11
- package/src/plugins/defaults/memory/memory-retrospective-fork-boundary.ts +27 -13
- package/src/plugins/defaults/memory/memory-retrospective-job.ts +183 -113
- package/src/plugins/defaults/memory/memory-retrospective-prompt.ts +13 -13
- package/src/plugins/defaults/memory/src/memory-v2-routes.ts +2 -2
- package/src/plugins/defaults/memory/substrate/__tests__/consolidation-job.test.ts +1 -1
- package/src/plugins/defaults/memory/substrate/consolidation-job.ts +4 -2
- package/src/plugins/defaults/memory/substrate/sweep-job.ts +9 -42
- package/src/plugins/defaults/memory/v2/rerank-local.ts +1 -0
- package/src/plugins/defaults/memory/worker.ts +7 -0
- package/src/providers/__tests__/provider-secret-catalog.test.ts +1 -0
- package/src/providers/__tests__/retry-callsite.test.ts +55 -0
- package/src/providers/__tests__/vellum-connection-routing.test.ts +21 -3
- package/src/providers/connection-resolution.ts +2 -17
- package/src/providers/fallback-breaker.ts +389 -0
- package/src/providers/inference/__tests__/adapter-factory-opencode.test.ts +92 -0
- package/src/providers/inference/__tests__/base-url-route-validation.test.ts +16 -0
- package/src/providers/inference/__tests__/base-url-security.test.ts +12 -0
- package/src/providers/inference/adapter-factory.ts +246 -3
- package/src/providers/inference/auth.ts +15 -14
- package/src/providers/inference/chatgpt-subscription-auth.ts +70 -0
- package/src/providers/inference/chatgpt-subscription-credentials.ts +84 -0
- package/src/providers/inference/resolve-auth.ts +1 -1
- package/src/providers/media-resolve.ts +2 -3
- package/src/providers/model-catalog.ts +100 -0
- package/src/providers/openai/__tests__/api-error-normalization.test.ts +22 -0
- package/src/providers/openai/__tests__/chat-template-flatten.test.ts +198 -0
- package/src/providers/openai/api-error-normalization.ts +13 -0
- package/src/providers/openai/chat-completions-provider.ts +84 -0
- package/src/providers/opencode/client.test.ts +150 -0
- package/src/providers/opencode/client.ts +61 -0
- package/src/providers/platform-proxy/constants.ts +5 -0
- package/src/providers/provider-resolvability.ts +20 -0
- package/src/providers/provider-secret-catalog.ts +3 -2
- package/src/providers/retry.ts +956 -68
- package/src/providers/speech-to-text/__tests__/deepgram-flux-frames.test.ts +42 -0
- package/src/providers/speech-to-text/__tests__/deepgram-flux-realtime.test.ts +136 -0
- package/src/providers/speech-to-text/__tests__/provider-catalog.test.ts +120 -0
- package/src/providers/speech-to-text/__tests__/resolve.test.ts +316 -12
- package/src/providers/speech-to-text/deepgram-flux-frames.ts +83 -3
- package/src/providers/speech-to-text/deepgram-flux-realtime.ts +132 -4
- package/src/providers/speech-to-text/provider-catalog.ts +191 -3
- package/src/providers/speech-to-text/resolve.ts +132 -24
- package/src/providers/speech-to-text/vellum-managed-flux-realtime.ts +296 -0
- package/src/providers/types.ts +39 -0
- package/src/providers/usage-tracking.ts +12 -1
- package/src/providers/vellum/client.ts +29 -0
- package/src/providers/vellum-model-routing.test.ts +2 -0
- package/src/providers/vellum-model-routing.ts +3 -3
- package/src/runtime/AGENTS.md +1 -2
- package/src/runtime/__tests__/agent-wake.test.ts +105 -3
- package/src/runtime/__tests__/background-job-runner.test.ts +89 -3
- package/src/runtime/agent-wake.ts +44 -5
- package/src/runtime/background-job-runner.ts +68 -50
- package/src/runtime/channel-readiness-service.ts +0 -39
- package/src/runtime/http-server.ts +12 -4
- package/src/runtime/routes/__tests__/avatar-state-routes.test.ts +18 -18
- package/src/runtime/routes/__tests__/backup-routes.test.ts +9 -5
- package/src/runtime/routes/__tests__/chatgpt-subscription-auth-routes.test.ts +372 -0
- package/src/runtime/routes/__tests__/contact-routes.test.ts +7 -0
- package/src/runtime/routes/__tests__/conversation-query-routes.test.ts +96 -0
- package/src/runtime/routes/__tests__/inference-profiles-routes.test.ts +37 -0
- package/src/runtime/routes/__tests__/ingress-status-routes.test.ts +2 -1
- package/src/runtime/routes/__tests__/mcp-add-default-risk.test.ts +87 -0
- package/src/runtime/routes/acp-claude-auth-routes.ts +25 -54
- package/src/runtime/routes/approval-routes.ts +0 -12
- package/src/runtime/routes/avatar-routes.ts +17 -30
- package/src/runtime/routes/backup-routes.ts +2 -2
- package/src/runtime/routes/chatgpt-subscription-auth-routes.ts +296 -113
- package/src/runtime/routes/contact-prompt-routes.ts +65 -6
- package/src/runtime/routes/contact-routes.ts +20 -15
- package/src/runtime/routes/conversation-query-routes.ts +98 -10
- package/src/runtime/routes/conversation-routes.ts +2 -2
- package/src/runtime/routes/credential-routes.ts +2 -1
- package/src/runtime/routes/guardian-approval-interception.ts +12 -9
- package/src/runtime/routes/inbound-message-handler.ts +47 -48
- package/src/runtime/routes/inbound-stages/acl-enforcement.ts +18 -13
- package/src/runtime/routes/inbound-stages/admission-policy.ts +2 -2
- package/src/runtime/routes/inbound-stages/edit-intercept.ts +20 -2
- package/src/runtime/routes/inbound-stages/reaction-intercept.ts +9 -8
- package/src/runtime/routes/inbound-stages/transcribe-audio.ts +1 -1
- package/src/runtime/routes/index.ts +2 -0
- package/src/runtime/routes/inference-profile-session-handler.ts +2 -2
- package/src/runtime/routes/inference-profiles-routes.ts +12 -7
- package/src/runtime/routes/inference-provider-connection-routes.ts +2 -2
- package/src/runtime/routes/inference-send-routes.ts +2 -2
- package/src/runtime/routes/ingress-status-routes.ts +2 -2
- package/src/runtime/routes/integrations/discord.ts +119 -0
- package/src/runtime/routes/llm-call-sites-routes.ts +2 -2
- package/src/runtime/routes/mcp-auth-routes.ts +12 -6
- package/src/runtime/routes/migration-routes.ts +3 -1
- package/src/runtime/routes/oauth-pending-flows.ts +136 -0
- package/src/runtime/routes/secret-routes.ts +7 -0
- package/src/runtime/routes/stt-routes.ts +38 -6
- package/src/runtime/routes/wake-conversation-routes.ts +8 -1
- package/src/runtime/routes/watch-routes.ts +9 -5
- package/src/runtime/sync/resource-sync-events.ts +2 -0
- package/src/runtime/trust-verdict-consumer.ts +3 -3
- package/src/schedule/__tests__/worker-feature-flags.test.ts +58 -0
- package/src/schedule/retry-policy.ts +8 -8
- package/src/schedule/run-script.ts +14 -23
- package/src/schedule/schedule-recovery.ts +0 -1
- package/src/schedule/scheduler.ts +89 -51
- package/src/schedule/worker.ts +57 -0
- package/src/security/__tests__/openai-device-auth.test.ts +355 -0
- package/src/security/ces-rpc-record-backend.ts +123 -0
- package/src/security/oauth2.ts +7 -0
- package/src/security/openai-device-auth.ts +364 -0
- package/src/security/secure-keys.ts +15 -0
- package/src/skills/available-skills.ts +10 -1
- package/src/skills/catalog-install.ts +19 -1
- package/src/skills/inline-command-runner.ts +6 -2
- package/src/skills/platform-compatibility.test.ts +49 -0
- package/src/skills/platform-compatibility.ts +65 -0
- package/src/skills/tool-manifest.ts +20 -0
- package/src/stt/__tests__/roles.test.ts +152 -0
- package/src/stt/daemon-batch-transcriber.ts +4 -1
- package/src/stt/roles.ts +180 -0
- package/src/stt/stt-stream-session.ts +3 -2
- package/src/stt/types.ts +33 -3
- package/src/subagent/manager.ts +12 -0
- package/src/telemetry/__tests__/live-voice-funnel.test.ts +34 -0
- package/src/telemetry/live-voice-funnel.ts +12 -2
- package/src/telemetry/telemetry-wire.generated.ts +6 -0
- package/src/telemetry/tool-audit.ts +83 -30
- package/src/telemetry/tool-executed-events-store.test.ts +0 -1
- package/src/telemetry/turn-outcome.ts +75 -4
- package/src/tools/client-os.ts +115 -0
- package/src/tools/computer-use/definitions.ts +11 -7
- package/src/tools/computer-use/skill-proxy-bridge.ts +2 -2
- package/src/tools/credentials/broker-types.ts +0 -71
- package/src/tools/credentials/broker.ts +6 -201
- package/src/tools/credentials/metadata-store.ts +65 -16
- package/src/tools/credentials/store.ts +2 -0
- package/src/tools/executor.ts +2 -8
- package/src/tools/host-shell.test.ts +75 -0
- package/src/tools/host-shell.ts +24 -0
- package/src/tools/host-terminal/host-shell.ts +15 -44
- package/src/tools/mcp/mcp-tool-factory.ts +44 -9
- package/src/tools/permission-checker.ts +73 -21
- package/src/tools/policy-context.ts +1 -0
- package/src/tools/shared/filesystem/image-read.ts +1 -1
- package/src/tools/skills/find-similar-skills.ts +10 -2
- package/src/tools/skills/load.ts +41 -6
- package/src/tools/skills/sandbox-runner.ts +8 -16
- package/src/tools/skills/skill-tool-factory.ts +1 -0
- package/src/tools/terminal/__tests__/safe-env.test.ts +64 -1
- package/src/tools/terminal/safe-env.ts +39 -9
- package/src/tools/terminal/shell.ts +12 -31
- package/src/tools/tool-approval-handler.ts +64 -10
- package/src/tools/tool-types.ts +10 -0
- package/src/tools/types.ts +19 -3
- package/src/tools/ui-surface/surface-shape-docs.ts +4 -3
- package/src/tools/workflows/manage-workflows.ts +2 -2
- package/src/tools/workflows/run-workflow.test.ts +2 -1
- package/src/util/__tests__/file-use.test.ts +61 -0
- package/src/util/__tests__/process-table.test.ts +66 -0
- package/src/util/__tests__/process-tree.test.ts +46 -0
- package/src/util/errors.ts +1 -0
- package/src/util/file-use.ts +91 -0
- package/src/util/host-process.test.ts +17 -0
- package/src/util/host-process.ts +75 -0
- package/src/util/image-conversion.ts +39 -7
- package/src/util/platform.ts +32 -13
- package/src/util/process-table.ts +249 -0
- package/src/util/process-tree.ts +85 -129
- package/src/util/provider-error-patterns.ts +20 -0
- package/src/util/spawn.ts +9 -2
- package/src/watch/__tests__/watch-retro.test.ts +48 -1
- package/src/watch/watch-retro.ts +46 -4
- package/src/workspace/git-service.ts +4 -14
- package/src/workspace/migrations/147-rename-colliding-backup-profile-names.ts +360 -0
- package/src/workspace/migrations/148-strip-unsupported-fallback-profiles.ts +117 -0
- package/src/workspace/migrations/149-repoint-backup-profile-selections.ts +204 -0
- package/src/workspace/migrations/150-stt-flux-provider-to-model-family.ts +139 -0
- package/src/workspace/migrations/__tests__/150-stt-flux-provider-to-model-family.test.ts +160 -0
- package/src/workspace/migrations/registry.ts +8 -0
- package/src/__tests__/permission-types.test.ts +0 -17
- package/src/channels/gateway-discord-admission.ts +0 -32
- package/src/persistence/fork-message-copy.ts +0 -239
- package/src/plugins/defaults/memory/__tests__/fork-message-copy.test.ts +0 -221
- package/src/security/__tests__/oauth2-device-code.test.ts +0 -431
- package/src/security/oauth2-device-code.ts +0 -312
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.11.
|
|
6
|
+
version: 0.11.7
|
|
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
|
|
@@ -2766,8 +2766,8 @@ paths:
|
|
|
2766
2766
|
operationId: backup_destinations_get
|
|
2767
2767
|
summary: List configured offsite backup destinations
|
|
2768
2768
|
description:
|
|
2769
|
-
Returns the current offsite destinations array
|
|
2770
|
-
|
|
2769
|
+
Returns the current offsite destinations array. When no explicit array is configured, macOS materializes
|
|
2770
|
+
its encrypted iCloud Drive default while Windows and Linux return no implicit destination.
|
|
2771
2771
|
tags:
|
|
2772
2772
|
- backups
|
|
2773
2773
|
responses:
|
|
@@ -2799,8 +2799,8 @@ paths:
|
|
|
2799
2799
|
operationId: backup_destinations_add_post
|
|
2800
2800
|
summary: Add an offsite backup destination
|
|
2801
2801
|
description:
|
|
2802
|
-
Appends a new destination. Materializes the
|
|
2803
|
-
if the path already exists.
|
|
2802
|
+
Appends a new destination. Materializes the platform default first if destinations is currently null.
|
|
2803
|
+
Errors if the path already exists.
|
|
2804
2804
|
tags:
|
|
2805
2805
|
- backups
|
|
2806
2806
|
requestBody:
|
|
@@ -4190,6 +4190,14 @@ paths:
|
|
|
4190
4190
|
type: string
|
|
4191
4191
|
content:
|
|
4192
4192
|
type: string
|
|
4193
|
+
eventKind:
|
|
4194
|
+
type: string
|
|
4195
|
+
enum:
|
|
4196
|
+
- message
|
|
4197
|
+
- edit
|
|
4198
|
+
- delete
|
|
4199
|
+
- reaction
|
|
4200
|
+
- button
|
|
4193
4201
|
isEdit:
|
|
4194
4202
|
type: boolean
|
|
4195
4203
|
callbackQueryId:
|
|
@@ -4342,6 +4350,15 @@ paths:
|
|
|
4342
4350
|
- type: "null"
|
|
4343
4351
|
memberDisplayName:
|
|
4344
4352
|
type: string
|
|
4353
|
+
autoApproveThreshold:
|
|
4354
|
+
anyOf:
|
|
4355
|
+
- type: string
|
|
4356
|
+
enum:
|
|
4357
|
+
- none
|
|
4358
|
+
- low
|
|
4359
|
+
- medium
|
|
4360
|
+
- high
|
|
4361
|
+
- type: "null"
|
|
4345
4362
|
interactionCount:
|
|
4346
4363
|
type: number
|
|
4347
4364
|
hasInterceptableVerificationSession:
|
|
@@ -5223,6 +5240,10 @@ paths:
|
|
|
5223
5240
|
required:
|
|
5224
5241
|
- profile
|
|
5225
5242
|
- weight
|
|
5243
|
+
fallbackProfile:
|
|
5244
|
+
readOnly: true
|
|
5245
|
+
type: string
|
|
5246
|
+
minLength: 1
|
|
5226
5247
|
responses:
|
|
5227
5248
|
"200":
|
|
5228
5249
|
description: Successful response
|
|
@@ -5320,12 +5341,6 @@ paths:
|
|
|
5320
5341
|
decision:
|
|
5321
5342
|
type: string
|
|
5322
5343
|
description: "One of: allow, deny"
|
|
5323
|
-
selectedPattern:
|
|
5324
|
-
type: string
|
|
5325
|
-
description: Allowlist pattern for persistent decisions
|
|
5326
|
-
selectedScope:
|
|
5327
|
-
type: string
|
|
5328
|
-
description: Scope for persistent decisions
|
|
5329
5344
|
required:
|
|
5330
5345
|
- requestId
|
|
5331
5346
|
- decision
|
|
@@ -5524,6 +5539,38 @@ paths:
|
|
|
5524
5539
|
- runs
|
|
5525
5540
|
- nextCursor
|
|
5526
5541
|
additionalProperties: false
|
|
5542
|
+
/v1/contact_prompt_flags:
|
|
5543
|
+
post:
|
|
5544
|
+
operationId: contact_prompt_flags_post
|
|
5545
|
+
summary: Read flags for a pending contact prompt
|
|
5546
|
+
description: Returns whether the pending prompt asked the gateway to mark the submitted channel verified.
|
|
5547
|
+
tags:
|
|
5548
|
+
- contacts
|
|
5549
|
+
requestBody:
|
|
5550
|
+
required: true
|
|
5551
|
+
content:
|
|
5552
|
+
application/json:
|
|
5553
|
+
schema:
|
|
5554
|
+
type: object
|
|
5555
|
+
properties:
|
|
5556
|
+
requestId:
|
|
5557
|
+
type: string
|
|
5558
|
+
description: The pending contact_request id.
|
|
5559
|
+
required:
|
|
5560
|
+
- requestId
|
|
5561
|
+
responses:
|
|
5562
|
+
"200":
|
|
5563
|
+
description: Successful response
|
|
5564
|
+
content:
|
|
5565
|
+
application/json:
|
|
5566
|
+
schema:
|
|
5567
|
+
type: object
|
|
5568
|
+
properties:
|
|
5569
|
+
verify:
|
|
5570
|
+
type: boolean
|
|
5571
|
+
required:
|
|
5572
|
+
- verify
|
|
5573
|
+
additionalProperties: false
|
|
5527
5574
|
/v1/contact-channels/{contactChannelId}:
|
|
5528
5575
|
patch:
|
|
5529
5576
|
operationId: contactchannels_by_contactChannelId_patch
|
|
@@ -5593,6 +5640,15 @@ paths:
|
|
|
5593
5640
|
anyOf:
|
|
5594
5641
|
- type: number
|
|
5595
5642
|
- type: "null"
|
|
5643
|
+
autoApproveThreshold:
|
|
5644
|
+
anyOf:
|
|
5645
|
+
- type: string
|
|
5646
|
+
enum:
|
|
5647
|
+
- none
|
|
5648
|
+
- low
|
|
5649
|
+
- medium
|
|
5650
|
+
- high
|
|
5651
|
+
- type: "null"
|
|
5596
5652
|
createdAt:
|
|
5597
5653
|
type: number
|
|
5598
5654
|
updatedAt:
|
|
@@ -5757,6 +5813,15 @@ paths:
|
|
|
5757
5813
|
anyOf:
|
|
5758
5814
|
- type: number
|
|
5759
5815
|
- type: "null"
|
|
5816
|
+
autoApproveThreshold:
|
|
5817
|
+
anyOf:
|
|
5818
|
+
- type: string
|
|
5819
|
+
enum:
|
|
5820
|
+
- none
|
|
5821
|
+
- low
|
|
5822
|
+
- medium
|
|
5823
|
+
- high
|
|
5824
|
+
- type: "null"
|
|
5760
5825
|
createdAt:
|
|
5761
5826
|
type: number
|
|
5762
5827
|
updatedAt:
|
|
@@ -5890,6 +5955,15 @@ paths:
|
|
|
5890
5955
|
anyOf:
|
|
5891
5956
|
- type: number
|
|
5892
5957
|
- type: "null"
|
|
5958
|
+
autoApproveThreshold:
|
|
5959
|
+
anyOf:
|
|
5960
|
+
- type: string
|
|
5961
|
+
enum:
|
|
5962
|
+
- none
|
|
5963
|
+
- low
|
|
5964
|
+
- medium
|
|
5965
|
+
- high
|
|
5966
|
+
- type: "null"
|
|
5893
5967
|
createdAt:
|
|
5894
5968
|
type: number
|
|
5895
5969
|
updatedAt:
|
|
@@ -6294,6 +6368,15 @@ paths:
|
|
|
6294
6368
|
anyOf:
|
|
6295
6369
|
- type: number
|
|
6296
6370
|
- type: "null"
|
|
6371
|
+
autoApproveThreshold:
|
|
6372
|
+
anyOf:
|
|
6373
|
+
- type: string
|
|
6374
|
+
enum:
|
|
6375
|
+
- none
|
|
6376
|
+
- low
|
|
6377
|
+
- medium
|
|
6378
|
+
- high
|
|
6379
|
+
- type: "null"
|
|
6297
6380
|
createdAt:
|
|
6298
6381
|
type: number
|
|
6299
6382
|
updatedAt:
|
|
@@ -6412,6 +6495,9 @@ paths:
|
|
|
6412
6495
|
- guardian
|
|
6413
6496
|
- trusted-contact
|
|
6414
6497
|
- unknown
|
|
6498
|
+
verify:
|
|
6499
|
+
description: When true, submitting the address also marks the channel verified. Same attest as Contacts Verify me.
|
|
6500
|
+
type: boolean
|
|
6415
6501
|
responses:
|
|
6416
6502
|
"200":
|
|
6417
6503
|
description: Successful response
|
|
@@ -6493,6 +6579,15 @@ paths:
|
|
|
6493
6579
|
anyOf:
|
|
6494
6580
|
- type: number
|
|
6495
6581
|
- type: "null"
|
|
6582
|
+
autoApproveThreshold:
|
|
6583
|
+
anyOf:
|
|
6584
|
+
- type: string
|
|
6585
|
+
enum:
|
|
6586
|
+
- none
|
|
6587
|
+
- low
|
|
6588
|
+
- medium
|
|
6589
|
+
- high
|
|
6590
|
+
- type: "null"
|
|
6496
6591
|
createdAt:
|
|
6497
6592
|
type: number
|
|
6498
6593
|
updatedAt:
|
|
@@ -14830,6 +14925,110 @@ paths:
|
|
|
14830
14925
|
required:
|
|
14831
14926
|
- ok
|
|
14832
14927
|
additionalProperties: false
|
|
14928
|
+
/v1/inference/chatgpt-subscription/device-auth:
|
|
14929
|
+
post:
|
|
14930
|
+
operationId: inference_chatgptsubscription_deviceauth_post
|
|
14931
|
+
summary: Start ChatGPT subscription device-code sign-in
|
|
14932
|
+
description:
|
|
14933
|
+
Mint a short user code the user types at OpenAI's device page, and start a background poll that stores the
|
|
14934
|
+
tokens and upserts the provider connection once the sign-in is approved. Returns immediately; poll
|
|
14935
|
+
`.../device-auth/status/{state}` for the outcome. The account must have device-code authorization for Codex
|
|
14936
|
+
enabled in its ChatGPT security settings.
|
|
14937
|
+
tags:
|
|
14938
|
+
- inference
|
|
14939
|
+
responses:
|
|
14940
|
+
"200":
|
|
14941
|
+
description: Successful response
|
|
14942
|
+
content:
|
|
14943
|
+
application/json:
|
|
14944
|
+
schema:
|
|
14945
|
+
type: object
|
|
14946
|
+
properties:
|
|
14947
|
+
state:
|
|
14948
|
+
type: string
|
|
14949
|
+
user_code:
|
|
14950
|
+
type: string
|
|
14951
|
+
verification_url:
|
|
14952
|
+
type: string
|
|
14953
|
+
expires_at:
|
|
14954
|
+
type: string
|
|
14955
|
+
interval_seconds:
|
|
14956
|
+
type: number
|
|
14957
|
+
required:
|
|
14958
|
+
- state
|
|
14959
|
+
- user_code
|
|
14960
|
+
- verification_url
|
|
14961
|
+
- expires_at
|
|
14962
|
+
- interval_seconds
|
|
14963
|
+
additionalProperties: false
|
|
14964
|
+
/v1/inference/chatgpt-subscription/device-auth/{state}:
|
|
14965
|
+
delete:
|
|
14966
|
+
operationId: inference_chatgptsubscription_deviceauth_by_state_delete
|
|
14967
|
+
summary: Cancel a ChatGPT subscription device-code sign-in
|
|
14968
|
+
description:
|
|
14969
|
+
Stop the background poll for a device-code sign-in the user walked away from, and mark the flow `error`
|
|
14970
|
+
with code `aborted`. A flow that already settled is left as it is. 404s an unknown state.
|
|
14971
|
+
tags:
|
|
14972
|
+
- inference
|
|
14973
|
+
parameters:
|
|
14974
|
+
- name: state
|
|
14975
|
+
in: path
|
|
14976
|
+
required: true
|
|
14977
|
+
schema:
|
|
14978
|
+
type: string
|
|
14979
|
+
responses:
|
|
14980
|
+
"200":
|
|
14981
|
+
description: Successful response
|
|
14982
|
+
content:
|
|
14983
|
+
application/json:
|
|
14984
|
+
schema:
|
|
14985
|
+
type: object
|
|
14986
|
+
properties:
|
|
14987
|
+
cancelled:
|
|
14988
|
+
type: boolean
|
|
14989
|
+
required:
|
|
14990
|
+
- cancelled
|
|
14991
|
+
additionalProperties: false
|
|
14992
|
+
"404":
|
|
14993
|
+
description: No active device sign-in for the given state
|
|
14994
|
+
/v1/inference/chatgpt-subscription/device-auth/status/{state}:
|
|
14995
|
+
get:
|
|
14996
|
+
operationId: inference_chatgptsubscription_deviceauth_status_by_state_get
|
|
14997
|
+
summary: Poll ChatGPT subscription device-code sign-in status
|
|
14998
|
+
description:
|
|
14999
|
+
Returns the current status of an in-flight device-code sign-in (pending/connected/error) so the client
|
|
15000
|
+
knows when the tokens have landed. A failure carries OpenAI's error code in `error_code`.
|
|
15001
|
+
tags:
|
|
15002
|
+
- inference
|
|
15003
|
+
parameters:
|
|
15004
|
+
- name: state
|
|
15005
|
+
in: path
|
|
15006
|
+
required: true
|
|
15007
|
+
schema:
|
|
15008
|
+
type: string
|
|
15009
|
+
responses:
|
|
15010
|
+
"200":
|
|
15011
|
+
description: Successful response
|
|
15012
|
+
content:
|
|
15013
|
+
application/json:
|
|
15014
|
+
schema:
|
|
15015
|
+
type: object
|
|
15016
|
+
properties:
|
|
15017
|
+
status:
|
|
15018
|
+
type: string
|
|
15019
|
+
enum:
|
|
15020
|
+
- pending
|
|
15021
|
+
- connected
|
|
15022
|
+
- error
|
|
15023
|
+
error:
|
|
15024
|
+
type: string
|
|
15025
|
+
error_code:
|
|
15026
|
+
type: string
|
|
15027
|
+
required:
|
|
15028
|
+
- status
|
|
15029
|
+
additionalProperties: false
|
|
15030
|
+
"404":
|
|
15031
|
+
description: No active device sign-in for the given state
|
|
14833
15032
|
/v1/inference/models:
|
|
14834
15033
|
get:
|
|
14835
15034
|
operationId: inference_models_get
|
|
@@ -14847,7 +15046,7 @@ paths:
|
|
|
14847
15046
|
type: string
|
|
14848
15047
|
description:
|
|
14849
15048
|
"Filter by provider id. One of: anthropic, openai, gemini, ollama, fireworks, together, openrouter,
|
|
14850
|
-
vercel-ai-gateway, litellm, openai-compatible, minimax, atlascloud, baseten, poolside"
|
|
15049
|
+
vercel-ai-gateway, litellm, opencode, openai-compatible, minimax, atlascloud, baseten, poolside, vellum"
|
|
14851
15050
|
responses:
|
|
14852
15051
|
"200":
|
|
14853
15052
|
description: Successful response
|
|
@@ -14988,8 +15187,8 @@ paths:
|
|
|
14988
15187
|
description: Profile not found
|
|
14989
15188
|
"409":
|
|
14990
15189
|
description:
|
|
14991
|
-
Profile is still referenced by activeProfile, advisorProfile, a call site, a default-tier override,
|
|
14992
|
-
|
|
15190
|
+
Profile is still referenced by activeProfile, advisorProfile, a call site, a default-tier override, a mix
|
|
15191
|
+
arm, or another profile's fallbackProfile
|
|
14993
15192
|
get:
|
|
14994
15193
|
operationId: inference_profiles_by_name_get
|
|
14995
15194
|
summary: Get an effective inference profile
|
|
@@ -15119,7 +15318,8 @@ paths:
|
|
|
15119
15318
|
type: string
|
|
15120
15319
|
description:
|
|
15121
15320
|
"Filter by provider. One of: anthropic, openai, gemini, ollama, fireworks, together, openrouter,
|
|
15122
|
-
vercel-ai-gateway, litellm, openai-compatible, minimax, atlascloud, baseten, poolside, vellum,
|
|
15321
|
+
vercel-ai-gateway, litellm, opencode, openai-compatible, minimax, atlascloud, baseten, poolside, vellum,
|
|
15322
|
+
chatgpt"
|
|
15123
15323
|
responses:
|
|
15124
15324
|
"200":
|
|
15125
15325
|
description: Successful response
|
|
@@ -15589,6 +15789,129 @@ paths:
|
|
|
15589
15789
|
required:
|
|
15590
15790
|
- success
|
|
15591
15791
|
additionalProperties: false
|
|
15792
|
+
/v1/integrations/discord/config:
|
|
15793
|
+
delete:
|
|
15794
|
+
operationId: integrations_discord_config_delete
|
|
15795
|
+
summary: Clear Discord config
|
|
15796
|
+
description:
|
|
15797
|
+
Clear the stored Discord bot token, which disconnects the bot on the gateway's next watcher tick. Room
|
|
15798
|
+
choices are left alone.
|
|
15799
|
+
tags:
|
|
15800
|
+
- integrations
|
|
15801
|
+
responses:
|
|
15802
|
+
"200":
|
|
15803
|
+
description: Successful response
|
|
15804
|
+
content:
|
|
15805
|
+
application/json:
|
|
15806
|
+
schema:
|
|
15807
|
+
type: object
|
|
15808
|
+
properties:
|
|
15809
|
+
success:
|
|
15810
|
+
type: boolean
|
|
15811
|
+
hasBotToken:
|
|
15812
|
+
type: boolean
|
|
15813
|
+
connected:
|
|
15814
|
+
type: boolean
|
|
15815
|
+
error:
|
|
15816
|
+
type: string
|
|
15817
|
+
botUserId:
|
|
15818
|
+
type: string
|
|
15819
|
+
botUsername:
|
|
15820
|
+
type: string
|
|
15821
|
+
applicationId:
|
|
15822
|
+
type: string
|
|
15823
|
+
inviteUrl:
|
|
15824
|
+
type: string
|
|
15825
|
+
required:
|
|
15826
|
+
- success
|
|
15827
|
+
- hasBotToken
|
|
15828
|
+
- connected
|
|
15829
|
+
additionalProperties: false
|
|
15830
|
+
get:
|
|
15831
|
+
operationId: integrations_discord_config_get
|
|
15832
|
+
summary: Get Discord config
|
|
15833
|
+
description: Check whether a Discord bot token is configured.
|
|
15834
|
+
tags:
|
|
15835
|
+
- integrations
|
|
15836
|
+
responses:
|
|
15837
|
+
"200":
|
|
15838
|
+
description: Successful response
|
|
15839
|
+
content:
|
|
15840
|
+
application/json:
|
|
15841
|
+
schema:
|
|
15842
|
+
type: object
|
|
15843
|
+
properties:
|
|
15844
|
+
success:
|
|
15845
|
+
type: boolean
|
|
15846
|
+
hasBotToken:
|
|
15847
|
+
type: boolean
|
|
15848
|
+
connected:
|
|
15849
|
+
type: boolean
|
|
15850
|
+
error:
|
|
15851
|
+
type: string
|
|
15852
|
+
botUserId:
|
|
15853
|
+
type: string
|
|
15854
|
+
botUsername:
|
|
15855
|
+
type: string
|
|
15856
|
+
applicationId:
|
|
15857
|
+
type: string
|
|
15858
|
+
inviteUrl:
|
|
15859
|
+
type: string
|
|
15860
|
+
required:
|
|
15861
|
+
- success
|
|
15862
|
+
- hasBotToken
|
|
15863
|
+
- connected
|
|
15864
|
+
additionalProperties: false
|
|
15865
|
+
post:
|
|
15866
|
+
operationId: integrations_discord_config_post
|
|
15867
|
+
summary: Set Discord config
|
|
15868
|
+
description:
|
|
15869
|
+
"Validate a Discord bot token and store it. Storing it is what connects the bot: the gateway's Discord
|
|
15870
|
+
client is credential-gated and starts on the watcher's next tick."
|
|
15871
|
+
tags:
|
|
15872
|
+
- integrations
|
|
15873
|
+
requestBody:
|
|
15874
|
+
required: true
|
|
15875
|
+
content:
|
|
15876
|
+
application/json:
|
|
15877
|
+
schema:
|
|
15878
|
+
type: object
|
|
15879
|
+
properties:
|
|
15880
|
+
botToken:
|
|
15881
|
+
type: string
|
|
15882
|
+
minLength: 1
|
|
15883
|
+
description: Discord bot token
|
|
15884
|
+
required:
|
|
15885
|
+
- botToken
|
|
15886
|
+
responses:
|
|
15887
|
+
"200":
|
|
15888
|
+
description: Successful response
|
|
15889
|
+
content:
|
|
15890
|
+
application/json:
|
|
15891
|
+
schema:
|
|
15892
|
+
type: object
|
|
15893
|
+
properties:
|
|
15894
|
+
success:
|
|
15895
|
+
type: boolean
|
|
15896
|
+
hasBotToken:
|
|
15897
|
+
type: boolean
|
|
15898
|
+
connected:
|
|
15899
|
+
type: boolean
|
|
15900
|
+
error:
|
|
15901
|
+
type: string
|
|
15902
|
+
botUserId:
|
|
15903
|
+
type: string
|
|
15904
|
+
botUsername:
|
|
15905
|
+
type: string
|
|
15906
|
+
applicationId:
|
|
15907
|
+
type: string
|
|
15908
|
+
inviteUrl:
|
|
15909
|
+
type: string
|
|
15910
|
+
required:
|
|
15911
|
+
- success
|
|
15912
|
+
- hasBotToken
|
|
15913
|
+
- connected
|
|
15914
|
+
additionalProperties: false
|
|
15592
15915
|
/v1/integrations/ingress/config:
|
|
15593
15916
|
get:
|
|
15594
15917
|
operationId: integrations_ingress_config_get
|
|
@@ -15748,12 +16071,14 @@ paths:
|
|
|
15748
16071
|
type: boolean
|
|
15749
16072
|
hasBotToken:
|
|
15750
16073
|
type: boolean
|
|
16074
|
+
connected:
|
|
16075
|
+
type: boolean
|
|
16076
|
+
error:
|
|
16077
|
+
type: string
|
|
15751
16078
|
hasAppToken:
|
|
15752
16079
|
type: boolean
|
|
15753
16080
|
hasUserToken:
|
|
15754
16081
|
type: boolean
|
|
15755
|
-
connected:
|
|
15756
|
-
type: boolean
|
|
15757
16082
|
teamId:
|
|
15758
16083
|
type: string
|
|
15759
16084
|
teamName:
|
|
@@ -15769,16 +16094,14 @@ paths:
|
|
|
15769
16094
|
enum:
|
|
15770
16095
|
- mention_only
|
|
15771
16096
|
- mention_then_thread
|
|
15772
|
-
error:
|
|
15773
|
-
type: string
|
|
15774
16097
|
warning:
|
|
15775
16098
|
type: string
|
|
15776
16099
|
required:
|
|
15777
16100
|
- success
|
|
15778
16101
|
- hasBotToken
|
|
16102
|
+
- connected
|
|
15779
16103
|
- hasAppToken
|
|
15780
16104
|
- hasUserToken
|
|
15781
|
-
- connected
|
|
15782
16105
|
- threadMode
|
|
15783
16106
|
additionalProperties: false
|
|
15784
16107
|
get:
|
|
@@ -15799,12 +16122,14 @@ paths:
|
|
|
15799
16122
|
type: boolean
|
|
15800
16123
|
hasBotToken:
|
|
15801
16124
|
type: boolean
|
|
16125
|
+
connected:
|
|
16126
|
+
type: boolean
|
|
16127
|
+
error:
|
|
16128
|
+
type: string
|
|
15802
16129
|
hasAppToken:
|
|
15803
16130
|
type: boolean
|
|
15804
16131
|
hasUserToken:
|
|
15805
16132
|
type: boolean
|
|
15806
|
-
connected:
|
|
15807
|
-
type: boolean
|
|
15808
16133
|
teamId:
|
|
15809
16134
|
type: string
|
|
15810
16135
|
teamName:
|
|
@@ -15820,16 +16145,14 @@ paths:
|
|
|
15820
16145
|
enum:
|
|
15821
16146
|
- mention_only
|
|
15822
16147
|
- mention_then_thread
|
|
15823
|
-
error:
|
|
15824
|
-
type: string
|
|
15825
16148
|
warning:
|
|
15826
16149
|
type: string
|
|
15827
16150
|
required:
|
|
15828
16151
|
- success
|
|
15829
16152
|
- hasBotToken
|
|
16153
|
+
- connected
|
|
15830
16154
|
- hasAppToken
|
|
15831
16155
|
- hasUserToken
|
|
15832
|
-
- connected
|
|
15833
16156
|
- threadMode
|
|
15834
16157
|
additionalProperties: false
|
|
15835
16158
|
patch:
|
|
@@ -15863,12 +16186,14 @@ paths:
|
|
|
15863
16186
|
type: boolean
|
|
15864
16187
|
hasBotToken:
|
|
15865
16188
|
type: boolean
|
|
16189
|
+
connected:
|
|
16190
|
+
type: boolean
|
|
16191
|
+
error:
|
|
16192
|
+
type: string
|
|
15866
16193
|
hasAppToken:
|
|
15867
16194
|
type: boolean
|
|
15868
16195
|
hasUserToken:
|
|
15869
16196
|
type: boolean
|
|
15870
|
-
connected:
|
|
15871
|
-
type: boolean
|
|
15872
16197
|
teamId:
|
|
15873
16198
|
type: string
|
|
15874
16199
|
teamName:
|
|
@@ -15884,16 +16209,14 @@ paths:
|
|
|
15884
16209
|
enum:
|
|
15885
16210
|
- mention_only
|
|
15886
16211
|
- mention_then_thread
|
|
15887
|
-
error:
|
|
15888
|
-
type: string
|
|
15889
16212
|
warning:
|
|
15890
16213
|
type: string
|
|
15891
16214
|
required:
|
|
15892
16215
|
- success
|
|
15893
16216
|
- hasBotToken
|
|
16217
|
+
- connected
|
|
15894
16218
|
- hasAppToken
|
|
15895
16219
|
- hasUserToken
|
|
15896
|
-
- connected
|
|
15897
16220
|
- threadMode
|
|
15898
16221
|
additionalProperties: false
|
|
15899
16222
|
post:
|
|
@@ -15930,12 +16253,14 @@ paths:
|
|
|
15930
16253
|
type: boolean
|
|
15931
16254
|
hasBotToken:
|
|
15932
16255
|
type: boolean
|
|
16256
|
+
connected:
|
|
16257
|
+
type: boolean
|
|
16258
|
+
error:
|
|
16259
|
+
type: string
|
|
15933
16260
|
hasAppToken:
|
|
15934
16261
|
type: boolean
|
|
15935
16262
|
hasUserToken:
|
|
15936
16263
|
type: boolean
|
|
15937
|
-
connected:
|
|
15938
|
-
type: boolean
|
|
15939
16264
|
teamId:
|
|
15940
16265
|
type: string
|
|
15941
16266
|
teamName:
|
|
@@ -15951,16 +16276,14 @@ paths:
|
|
|
15951
16276
|
enum:
|
|
15952
16277
|
- mention_only
|
|
15953
16278
|
- mention_then_thread
|
|
15954
|
-
error:
|
|
15955
|
-
type: string
|
|
15956
16279
|
warning:
|
|
15957
16280
|
type: string
|
|
15958
16281
|
required:
|
|
15959
16282
|
- success
|
|
15960
16283
|
- hasBotToken
|
|
16284
|
+
- connected
|
|
15961
16285
|
- hasAppToken
|
|
15962
16286
|
- hasUserToken
|
|
15963
|
-
- connected
|
|
15964
16287
|
- threadMode
|
|
15965
16288
|
additionalProperties: false
|
|
15966
16289
|
/v1/integrations/telegram/commands:
|
|
@@ -15982,18 +16305,18 @@ paths:
|
|
|
15982
16305
|
type: boolean
|
|
15983
16306
|
hasBotToken:
|
|
15984
16307
|
type: boolean
|
|
16308
|
+
connected:
|
|
16309
|
+
type: boolean
|
|
16310
|
+
error:
|
|
16311
|
+
type: string
|
|
15985
16312
|
botId:
|
|
15986
16313
|
type: string
|
|
15987
16314
|
botUsername:
|
|
15988
16315
|
type: string
|
|
15989
|
-
connected:
|
|
15990
|
-
type: boolean
|
|
15991
16316
|
hasWebhookSecret:
|
|
15992
16317
|
type: boolean
|
|
15993
16318
|
lastError:
|
|
15994
16319
|
type: string
|
|
15995
|
-
error:
|
|
15996
|
-
type: string
|
|
15997
16320
|
commandsRegistered:
|
|
15998
16321
|
type: array
|
|
15999
16322
|
items:
|
|
@@ -16025,18 +16348,18 @@ paths:
|
|
|
16025
16348
|
type: boolean
|
|
16026
16349
|
hasBotToken:
|
|
16027
16350
|
type: boolean
|
|
16351
|
+
connected:
|
|
16352
|
+
type: boolean
|
|
16353
|
+
error:
|
|
16354
|
+
type: string
|
|
16028
16355
|
botId:
|
|
16029
16356
|
type: string
|
|
16030
16357
|
botUsername:
|
|
16031
16358
|
type: string
|
|
16032
|
-
connected:
|
|
16033
|
-
type: boolean
|
|
16034
16359
|
hasWebhookSecret:
|
|
16035
16360
|
type: boolean
|
|
16036
16361
|
lastError:
|
|
16037
16362
|
type: string
|
|
16038
|
-
error:
|
|
16039
|
-
type: string
|
|
16040
16363
|
commandsRegistered:
|
|
16041
16364
|
type: array
|
|
16042
16365
|
items:
|
|
@@ -16067,18 +16390,18 @@ paths:
|
|
|
16067
16390
|
type: boolean
|
|
16068
16391
|
hasBotToken:
|
|
16069
16392
|
type: boolean
|
|
16393
|
+
connected:
|
|
16394
|
+
type: boolean
|
|
16395
|
+
error:
|
|
16396
|
+
type: string
|
|
16070
16397
|
botId:
|
|
16071
16398
|
type: string
|
|
16072
16399
|
botUsername:
|
|
16073
16400
|
type: string
|
|
16074
|
-
connected:
|
|
16075
|
-
type: boolean
|
|
16076
16401
|
hasWebhookSecret:
|
|
16077
16402
|
type: boolean
|
|
16078
16403
|
lastError:
|
|
16079
16404
|
type: string
|
|
16080
|
-
error:
|
|
16081
|
-
type: string
|
|
16082
16405
|
commandsRegistered:
|
|
16083
16406
|
type: array
|
|
16084
16407
|
items:
|
|
@@ -16121,18 +16444,18 @@ paths:
|
|
|
16121
16444
|
type: boolean
|
|
16122
16445
|
hasBotToken:
|
|
16123
16446
|
type: boolean
|
|
16447
|
+
connected:
|
|
16448
|
+
type: boolean
|
|
16449
|
+
error:
|
|
16450
|
+
type: string
|
|
16124
16451
|
botId:
|
|
16125
16452
|
type: string
|
|
16126
16453
|
botUsername:
|
|
16127
16454
|
type: string
|
|
16128
|
-
connected:
|
|
16129
|
-
type: boolean
|
|
16130
16455
|
hasWebhookSecret:
|
|
16131
16456
|
type: boolean
|
|
16132
16457
|
lastError:
|
|
16133
16458
|
type: string
|
|
16134
|
-
error:
|
|
16135
|
-
type: string
|
|
16136
16459
|
commandsRegistered:
|
|
16137
16460
|
type: array
|
|
16138
16461
|
items:
|
|
@@ -16164,18 +16487,18 @@ paths:
|
|
|
16164
16487
|
type: boolean
|
|
16165
16488
|
hasBotToken:
|
|
16166
16489
|
type: boolean
|
|
16490
|
+
connected:
|
|
16491
|
+
type: boolean
|
|
16492
|
+
error:
|
|
16493
|
+
type: string
|
|
16167
16494
|
botId:
|
|
16168
16495
|
type: string
|
|
16169
16496
|
botUsername:
|
|
16170
16497
|
type: string
|
|
16171
|
-
connected:
|
|
16172
|
-
type: boolean
|
|
16173
16498
|
hasWebhookSecret:
|
|
16174
16499
|
type: boolean
|
|
16175
16500
|
lastError:
|
|
16176
16501
|
type: string
|
|
16177
|
-
error:
|
|
16178
|
-
type: string
|
|
16179
16502
|
commandsRegistered:
|
|
16180
16503
|
type: array
|
|
16181
16504
|
items:
|
|
@@ -31044,6 +31367,16 @@ paths:
|
|
|
31044
31367
|
enum:
|
|
31045
31368
|
- manual
|
|
31046
31369
|
- auto
|
|
31370
|
+
modelFamilies:
|
|
31371
|
+
type: array
|
|
31372
|
+
items:
|
|
31373
|
+
type: string
|
|
31374
|
+
baseModelFamily:
|
|
31375
|
+
type: string
|
|
31376
|
+
turnDetectionLanguages:
|
|
31377
|
+
type: array
|
|
31378
|
+
items:
|
|
31379
|
+
type: string
|
|
31047
31380
|
credentialsGuide:
|
|
31048
31381
|
type: string
|
|
31049
31382
|
required:
|
|
@@ -31662,6 +31995,26 @@ paths:
|
|
|
31662
31995
|
type: string
|
|
31663
31996
|
minLength: 1
|
|
31664
31997
|
maxLength: 64
|
|
31998
|
+
tool_name:
|
|
31999
|
+
type: string
|
|
32000
|
+
minLength: 1
|
|
32001
|
+
maxLength: 255
|
|
32002
|
+
risk_level:
|
|
32003
|
+
type: string
|
|
32004
|
+
minLength: 1
|
|
32005
|
+
maxLength: 32
|
|
32006
|
+
risk_threshold:
|
|
32007
|
+
type: string
|
|
32008
|
+
minLength: 1
|
|
32009
|
+
maxLength: 32
|
|
32010
|
+
surface:
|
|
32011
|
+
type: string
|
|
32012
|
+
minLength: 1
|
|
32013
|
+
maxLength: 64
|
|
32014
|
+
conversation_id:
|
|
32015
|
+
type: string
|
|
32016
|
+
minLength: 1
|
|
32017
|
+
maxLength: 128
|
|
31665
32018
|
required:
|
|
31666
32019
|
- event_name
|
|
31667
32020
|
description:
|
|
@@ -34758,6 +35111,12 @@ components:
|
|
|
34758
35111
|
- profile
|
|
34759
35112
|
- weight
|
|
34760
35113
|
- type: "null"
|
|
35114
|
+
fallbackProfile:
|
|
35115
|
+
anyOf:
|
|
35116
|
+
- readOnly: true
|
|
35117
|
+
type: string
|
|
35118
|
+
minLength: 1
|
|
35119
|
+
- type: "null"
|
|
34761
35120
|
additionalProperties: {}
|
|
34762
35121
|
ProfileStatus:
|
|
34763
35122
|
type: string
|
|
@@ -34942,6 +35301,7 @@ components:
|
|
|
34942
35301
|
- openrouter
|
|
34943
35302
|
- vercel-ai-gateway
|
|
34944
35303
|
- litellm
|
|
35304
|
+
- opencode
|
|
34945
35305
|
- openai-compatible
|
|
34946
35306
|
- minimax
|
|
34947
35307
|
- atlascloud
|
|
@@ -35529,6 +35889,10 @@ components:
|
|
|
35529
35889
|
- profile
|
|
35530
35890
|
- weight
|
|
35531
35891
|
additionalProperties: false
|
|
35892
|
+
fallbackProfile:
|
|
35893
|
+
readOnly: true
|
|
35894
|
+
type: string
|
|
35895
|
+
minLength: 1
|
|
35532
35896
|
supportsVision:
|
|
35533
35897
|
type: boolean
|
|
35534
35898
|
invariant:
|