@vellumai/assistant 0.8.5 → 0.8.6
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/AGENTS.md +33 -1
- package/ARCHITECTURE.md +1 -1
- package/bunfig.toml +6 -1
- package/docs/credential-execution-service.md +6 -6
- package/docs/plugins.md +4 -3
- package/node_modules/@vellumai/skill-host-contracts/src/client.ts +12 -13
- package/node_modules/@vellumai/skill-host-contracts/src/skill-host.ts +4 -1
- package/node_modules/@vellumai/skill-host-contracts/src/tool-types.ts +16 -14
- package/openapi.yaml +1900 -166
- package/package.json +1 -1
- package/src/__tests__/actor-token-service.test.ts +3 -2
- package/src/__tests__/agent-loop-exit-reason.test.ts +102 -9
- package/src/__tests__/agent-loop-override-profile.test.ts +2 -1
- package/src/__tests__/agent-wake-disk-pressure-callsite.test.ts +1 -0
- package/src/__tests__/agent-wake-override-profile.test.ts +1 -0
- package/src/__tests__/always-loaded-tools-guard.test.ts +2 -2
- package/src/__tests__/annotate-risk-options.test.ts +1 -0
- package/src/__tests__/approval-cascade.test.ts +1 -0
- package/src/__tests__/approval-routes-http.test.ts +9 -13
- package/src/__tests__/assert-not-live-db.ts +79 -0
- package/src/__tests__/assistant-feature-flags-integration.test.ts +9 -25
- package/src/__tests__/audit-log-rotation.test.ts +2 -2
- package/src/__tests__/auto-analysis-end-to-end.test.ts +6 -6
- package/src/__tests__/background-workers-disk-pressure.test.ts +5 -8
- package/src/__tests__/browser-skill-endstate.test.ts +3 -3
- package/src/__tests__/btw-routes.test.ts +3 -2
- package/src/__tests__/call-controller.test.ts +3 -2
- package/src/__tests__/channel-approval-routes.test.ts +3 -2
- package/src/__tests__/channel-guardian.test.ts +3 -2
- package/src/__tests__/channel-readiness-slack-remote.test.ts +175 -0
- package/src/__tests__/channel-reply-delivery.test.ts +35 -0
- package/src/__tests__/channel-retry-sweep.test.ts +320 -3
- package/src/__tests__/checker.test.ts +12 -12
- package/src/__tests__/compaction-events.test.ts +1 -0
- package/src/__tests__/compaction-trail-store.test.ts +264 -0
- package/src/__tests__/compactor-call-site-logging.test.ts +1 -0
- package/src/__tests__/compactor-preserved-tail-count.test.ts +1 -0
- package/src/__tests__/computer-use-skill-manifest-regression.test.ts +7 -5
- package/src/__tests__/computer-use-tools.test.ts +12 -14
- package/src/__tests__/config-loader-backfill.test.ts +13 -28
- package/src/__tests__/config-loader-corrupt.test.ts +5 -5
- package/src/__tests__/config-loader-platform-defaults.test.ts +93 -26
- package/src/__tests__/config-loader-quarantine-bulletin.test.ts +3 -3
- package/src/__tests__/config-managed-gemini-defaults.test.ts +3 -4
- package/src/__tests__/config-schema.test.ts +10 -10
- package/src/__tests__/connection-model-compat.test.ts +83 -0
- package/src/__tests__/contacts-tools.test.ts +3 -2
- package/src/__tests__/context-token-estimator.test.ts +22 -0
- package/src/__tests__/conversation-abort-tool-results.test.ts +5 -0
- package/src/__tests__/conversation-agent-loop-disk-pressure.test.ts +1 -0
- package/src/__tests__/conversation-agent-loop-handlers-max-tokens.test.ts +55 -0
- package/src/__tests__/conversation-agent-loop-inference-profile.test.ts +1 -0
- package/src/__tests__/conversation-agent-loop-overflow.test.ts +34 -0
- package/src/__tests__/conversation-agent-loop.test.ts +488 -2
- package/src/__tests__/conversation-analysis-routes.test.ts +1 -0
- package/src/__tests__/conversation-app-control-instantiation.test.ts +29 -19
- package/src/__tests__/conversation-app-control-lifecycle.test.ts +1 -0
- package/src/__tests__/conversation-attention-store.test.ts +101 -0
- package/src/__tests__/conversation-attention-telegram.test.ts +3 -2
- package/src/__tests__/conversation-confirmation-signals.test.ts +1 -0
- package/src/__tests__/conversation-error.test.ts +30 -0
- package/src/__tests__/conversation-fork-crud.test.ts +69 -8
- package/src/__tests__/conversation-fork-route.test.ts +3 -2
- package/src/__tests__/conversation-history-web-search.test.ts +1 -0
- package/src/__tests__/conversation-inference-profile-list.test.ts +3 -2
- package/src/__tests__/conversation-inference-profile-route.test.ts +3 -2
- package/src/__tests__/conversation-lifecycle.test.ts +1 -0
- package/src/__tests__/conversation-list-source.test.ts +3 -2
- package/src/__tests__/conversation-load-history-repair.test.ts +2 -1
- package/src/__tests__/conversation-load-history-stripped.test.ts +1 -0
- package/src/__tests__/conversation-pairing.test.ts +53 -0
- package/src/__tests__/conversation-process-app-control-preactivation.test.ts +26 -7
- package/src/__tests__/conversation-process-callsite.test.ts +1 -0
- package/src/__tests__/conversation-provider-retry-repair.test.ts +5 -0
- package/src/__tests__/conversation-queue.test.ts +333 -291
- package/src/__tests__/conversation-routes-disk-view.test.ts +3 -18
- package/src/__tests__/conversation-routes-guardian-reply.test.ts +33 -8
- package/src/__tests__/conversation-routes-slash-commands.test.ts +33 -2
- package/src/__tests__/conversation-runtime-assembly.test.ts +78 -0
- package/src/__tests__/conversation-skill-tools.test.ts +38 -142
- package/src/__tests__/conversation-slash-queue.test.ts +84 -32
- package/src/__tests__/conversation-slash-unknown.test.ts +5 -0
- package/src/__tests__/conversation-speed-override.test.ts +1 -0
- package/src/__tests__/conversation-surfaces-action-delivery.test.ts +46 -0
- package/src/__tests__/conversation-surfaces-data-persist.test.ts +1 -0
- package/src/__tests__/conversation-surfaces-standalone-payloads.test.ts +6 -3
- package/src/__tests__/conversation-surfaces-standalone.test.ts +6 -3
- package/src/__tests__/conversation-surfaces-state-update.test.ts +3 -3
- package/src/__tests__/conversation-surfaces-table-action.test.ts +7 -17
- package/src/__tests__/conversation-sync-tags.test.ts +128 -12
- package/src/__tests__/conversation-title-service.test.ts +1 -0
- package/src/__tests__/conversation-tool-setup-app-refresh.test.ts +30 -0
- package/src/__tests__/conversation-usage.test.ts +1 -0
- package/src/__tests__/conversation-workspace-cache-state.test.ts +1 -0
- package/src/__tests__/conversation-workspace-injection.test.ts +5 -0
- package/src/__tests__/conversation-workspace-tool-tracking.test.ts +5 -0
- package/src/__tests__/credential-broker-browser-fill.test.ts +3 -3
- package/src/__tests__/credential-broker-server-use.test.ts +5 -5
- package/src/__tests__/credential-execution-client.test.ts +72 -1
- package/src/__tests__/credential-execution-feature-gates.test.ts +10 -12
- package/src/__tests__/credential-health-service.test.ts +252 -3
- package/src/__tests__/credential-security-invariants.test.ts +5 -5
- package/src/__tests__/credential-vault-unit.test.ts +19 -19
- package/src/__tests__/credential-vault.test.ts +5 -5
- package/src/__tests__/cross-provider-web-search.test.ts +56 -2
- package/src/__tests__/db-connection-isolation.test.ts +7 -6
- package/src/__tests__/db-conversation-fork-lineage-migration.test.ts +8 -10
- package/src/__tests__/db-conversation-inference-profile-migration.test.ts +7 -10
- package/src/__tests__/db-llm-request-log-provider-migration.test.ts +9 -15
- package/src/__tests__/db-test-helpers.ts +58 -0
- package/src/__tests__/disk-pressure-guard.test.ts +58 -41
- package/src/__tests__/disk-pressure-lifecycle.test.ts +13 -10
- package/src/__tests__/disk-pressure-routes.test.ts +0 -33
- package/src/__tests__/disk-pressure-tools.test.ts +0 -4
- package/src/__tests__/dm-persistence.test.ts +26 -40
- package/src/__tests__/document-create-dedupe.test.ts +189 -0
- package/src/__tests__/document-find-replace.test.ts +3 -2
- package/src/__tests__/document-tool-security.test.ts +81 -2
- package/src/__tests__/dynamic-skill-workflow-prompt.test.ts +5 -4
- package/src/__tests__/encrypted-store-test-helpers.ts +56 -0
- package/src/__tests__/encrypted-store.test.ts +11 -9
- package/src/__tests__/feature-flag-test-helpers.ts +53 -0
- package/src/__tests__/filing-service.test.ts +1 -0
- package/src/__tests__/first-greeting.test.ts +62 -12
- package/src/__tests__/gateway-flag-listener.test.ts +0 -1
- package/src/__tests__/gemini-provider.test.ts +26 -0
- package/src/__tests__/guardian-action-sweep.test.ts +3 -2
- package/src/__tests__/guardian-outbound-http.test.ts +3 -2
- package/src/__tests__/handlers-skills-memory-v2-reseed.test.ts +48 -3
- package/src/__tests__/handlers-user-message-approval-consumption.test.ts +1 -0
- package/src/__tests__/heartbeat-disk-pressure.test.ts +1 -0
- package/src/__tests__/heartbeat-service.test.ts +1 -0
- package/src/__tests__/helpers/mock-logger.ts +26 -0
- package/src/__tests__/host-bash-routes.test.ts +1 -0
- package/src/__tests__/host-cu-routes-targeted.test.ts +1 -0
- package/src/__tests__/host-file-routes-targeted.test.ts +1 -0
- package/src/__tests__/host-shell-tool.test.ts +5 -4
- package/src/__tests__/host-transfer-routes-targeted.test.ts +1 -0
- package/src/__tests__/http-conversation-lineage.test.ts +3 -2
- package/src/__tests__/http-user-message-parity.test.ts +29 -7
- package/src/__tests__/identity-intro-cache.test.ts +133 -22
- package/src/__tests__/inbound-slack-persistence.test.ts +44 -72
- package/src/__tests__/inference-profile-reaper.test.ts +3 -2
- package/src/__tests__/inference-profile-session-ipc.test.ts +3 -2
- package/src/__tests__/injector-disk-pressure.test.ts +3 -17
- package/src/__tests__/inline-skill-load-permissions.test.ts +4 -4
- package/src/__tests__/list-messages-hidden-metadata.test.ts +80 -0
- package/src/__tests__/llm-context-normalization.test.ts +42 -0
- package/src/__tests__/llm-resolver.test.ts +331 -0
- package/src/__tests__/llm-schema.test.ts +1 -1
- package/src/__tests__/manual-token-reconciliation.test.ts +76 -1
- package/src/__tests__/mcp-abort-signal.test.ts +14 -0
- package/src/__tests__/mcp-client-auth.test.ts +14 -0
- package/src/__tests__/messaging-send-tool.test.ts +1 -0
- package/src/__tests__/migration-import-from-url.test.ts +3 -3
- package/src/__tests__/mock-gateway-ipc.ts +18 -2
- package/src/__tests__/model-intents.test.ts +3 -3
- package/src/__tests__/native-web-search.test.ts +30 -2
- package/src/__tests__/notification-deep-link.test.ts +62 -0
- package/src/__tests__/oauth-commands-routes.test.ts +37 -0
- package/src/__tests__/oauth-provider-visibility.test.ts +8 -8
- package/src/__tests__/oauth-store.test.ts +3 -2
- package/src/__tests__/onboarding-template-contract.test.ts +3 -2
- package/src/__tests__/openai-provider.test.ts +8 -9
- package/src/__tests__/openai-responses-provider.test.ts +70 -10
- package/src/__tests__/openrouter-provider-only.test.ts +27 -5
- package/src/__tests__/outbound-slack-persistence.test.ts +46 -1
- package/src/__tests__/persistence-pipeline.test.ts +139 -1
- package/src/__tests__/persistence-secret-redaction.test.ts +83 -12
- package/src/__tests__/plugin-bootstrap.test.ts +9 -11
- package/src/__tests__/plugin-tool-contribution.test.ts +41 -38
- package/src/__tests__/process-message-background-slack.test.ts +21 -16
- package/src/__tests__/process-message-display-content.test.ts +19 -22
- package/src/__tests__/provider-catalog-visibility.test.ts +9 -9
- package/src/__tests__/provider-platform-proxy-integration.test.ts +216 -4
- package/src/__tests__/provider-registry-ollama.test.ts +45 -22
- package/src/__tests__/recording-handler.test.ts +1 -0
- package/src/__tests__/regenerate-fire-and-forget-trace.test.ts +1 -0
- package/src/__tests__/registry.test.ts +82 -76
- package/src/__tests__/relay-server.test.ts +10 -10
- package/src/__tests__/runtime-attachment-metadata.test.ts +3 -2
- package/src/__tests__/schedule-store.test.ts +16 -1
- package/src/__tests__/scheduler-reuse-conversation.test.ts +48 -3
- package/src/__tests__/secret-ingress-http.test.ts +5 -1
- package/src/__tests__/secure-keys.test.ts +3 -3
- package/src/__tests__/send-endpoint-busy.test.ts +81 -42
- package/src/__tests__/server-history-render.test.ts +4 -1
- package/src/__tests__/skill-feature-flags-integration.test.ts +8 -10
- package/src/__tests__/skill-feature-flags.test.ts +14 -16
- package/src/__tests__/skill-load-feature-flag.test.ts +5 -5
- package/src/__tests__/skill-projection-feature-flag.test.ts +44 -30
- package/src/__tests__/skill-projection.benchmark.test.ts +5 -7
- package/src/__tests__/skill-tool-factory.test.ts +96 -95
- package/src/__tests__/slack-channel-config.test.ts +3 -3
- package/src/__tests__/subagent-call-site-routing.test.ts +11 -3
- package/src/__tests__/subagent-disposal.test.ts +27 -8
- package/src/__tests__/subagent-fork-notifications.test.ts +24 -9
- package/src/__tests__/subagent-fork-spawn.test.ts +13 -4
- package/src/__tests__/subagent-manager-notify.test.ts +20 -8
- package/src/__tests__/subagent-notify-parent.test.ts +5 -4
- package/src/__tests__/subagent-spawn-tool-fork.test.ts +58 -0
- package/src/__tests__/subagent-tools.test.ts +2 -1
- package/src/__tests__/suggestion-routes.test.ts +1 -0
- package/src/__tests__/system-prompt.test.ts +38 -0
- package/src/__tests__/test-preload-verifier.ts +68 -0
- package/src/__tests__/test-preload.ts +32 -39
- package/src/__tests__/tool-executor-lifecycle-events.test.ts +20 -7
- package/src/__tests__/tool-executor.test.ts +55 -10
- package/src/__tests__/tool-preview-lifecycle.test.ts +1 -0
- package/src/__tests__/tool-result-metadata-plumbing.test.ts +1 -0
- package/src/__tests__/twilio-routes.test.ts +3 -2
- package/src/__tests__/validate-input.test.ts +381 -0
- package/src/__tests__/verification-control-plane-policy.test.ts +1 -0
- package/src/__tests__/voice-scoped-grant-consumer.test.ts +2 -1
- package/src/__tests__/voice-session-bridge.test.ts +37 -28
- package/src/__tests__/workspace-migration-090-memory-router-cost-optimized-profile.test.ts +326 -0
- package/src/__tests__/workspace-migration-091-retighten-migration-onboarding-thread.test.ts +166 -0
- package/src/acp/session-manager.ts +5 -6
- package/src/agent/loop.ts +80 -0
- package/src/api/README.md +124 -2
- package/src/api/constants/call-sites.ts +27 -0
- package/src/api/events/assistant-outbound-attachment.ts +51 -0
- package/src/api/events/assistant-text-delta.ts +32 -0
- package/src/api/events/assistant-turn-start.ts +33 -0
- package/src/api/events/document-comment-created.ts +48 -0
- package/src/api/events/document-comment-deleted.ts +24 -0
- package/src/api/events/document-comment-reopened.ts +25 -0
- package/src/api/events/document-comment-resolved.ts +27 -0
- package/src/api/events/generation-cancelled.ts +24 -0
- package/src/api/events/generation-handoff.ts +41 -0
- package/src/api/events/message-complete.ts +42 -0
- package/src/api/events/open-url.ts +30 -0
- package/src/{events → api/events}/relationship-state-updated.ts +3 -3
- package/src/api/events/tool-use-start.ts +32 -0
- package/src/api/index.ts +128 -3
- package/src/api/responses/llm-context-response.ts +39 -0
- package/src/api/responses/llm-request-log-entry.ts +93 -0
- package/src/api/responses/memory-recall-log.ts +65 -0
- package/src/api/responses/memory-v2-activation-log.ts +78 -0
- package/src/background-wake/background-wake-routes.test.ts +687 -52
- package/src/background-wake/platform-client.test.ts +308 -0
- package/src/background-wake/platform-client.ts +167 -0
- package/src/background-wake/publisher.ts +91 -0
- package/src/background-wake/runtime-registry.ts +2 -2
- package/src/background-wake/wake-intent-hooks.test.ts +282 -0
- package/src/calls/guardian-dispatch.ts +1 -0
- package/src/calls/voice-session-bridge.ts +4 -4
- package/src/cli/commands/__tests__/conversations-slack.test.ts +16 -0
- package/src/cli/commands/__tests__/notifications.test.ts +184 -40
- package/src/cli/commands/channels/__tests__/channels.test.ts +143 -0
- package/src/cli/commands/channels/index.ts +229 -0
- package/src/cli/commands/memory-v3-render.ts +147 -0
- package/src/cli/commands/memory-v3.ts +255 -4
- package/src/cli/commands/notifications.ts +365 -55
- package/src/cli/lib/open-browser.ts +7 -2
- package/src/cli/program.ts +2 -0
- package/src/config/assistant-feature-flags.ts +23 -42
- package/src/config/bundled-skills/document-editor/SKILL.md +5 -1
- package/src/config/bundled-skills/schedule/SKILL.md +1 -1
- package/src/config/bundled-skills/schedule/TOOLS.json +2 -2
- package/src/config/bundled-skills/settings/tools/open-system-settings.ts +1 -0
- package/src/config/call-site-defaults.ts +1 -1
- package/src/config/feature-flag-cache.ts +86 -0
- package/src/config/feature-flag-registry.json +17 -17
- package/src/config/llm-context-resolution.ts +10 -1
- package/src/config/llm-resolver.ts +121 -15
- package/src/config/loader.ts +4 -5
- package/src/config/schemas/__tests__/memory-v2.test.ts +15 -0
- package/src/config/schemas/heartbeat.ts +1 -1
- package/src/config/schemas/llm.ts +90 -1
- package/src/config/schemas/memory-v2.ts +26 -0
- package/src/config/schemas/services.ts +6 -2
- package/src/config/seed-inference-profiles.ts +36 -16
- package/src/context/token-estimator.ts +10 -5
- package/src/credential-execution/executable-discovery.ts +40 -0
- package/src/credential-execution/process-manager.ts +6 -2
- package/src/credential-health/credential-health-service.ts +125 -40
- package/src/daemon/__tests__/conversation-lifecycle-auto-analyze.test.ts +3 -6
- package/src/daemon/__tests__/conversation-surfaces-launch.test.ts +13 -15
- package/src/daemon/__tests__/conversation-tool-setup-exclude.test.ts +1 -2
- package/src/daemon/__tests__/daemon-skill-host.test.ts +2 -0
- package/src/daemon/__tests__/meet-manifest-loader.test.ts +25 -12
- package/src/daemon/__tests__/native-web-search-metadata.test.ts +1 -0
- package/src/daemon/__tests__/switch-inference-profile-tool.test.ts +107 -0
- package/src/daemon/__tests__/web-search-status-text.test.ts +1 -0
- package/src/daemon/conversation-agent-loop-handlers.ts +389 -68
- package/src/daemon/conversation-agent-loop.ts +132 -28
- package/src/daemon/conversation-error.ts +33 -5
- package/src/daemon/conversation-messaging.ts +84 -43
- package/src/daemon/conversation-process.ts +74 -37
- package/src/daemon/conversation-runtime-assembly.ts +29 -9
- package/src/daemon/conversation-skill-tools.ts +14 -30
- package/src/daemon/conversation-surfaces.ts +69 -34
- package/src/daemon/conversation-tool-setup.ts +33 -48
- package/src/daemon/conversation.ts +26 -46
- package/src/daemon/daemon-control.ts +1 -1
- package/src/daemon/daemon-skill-host.ts +9 -2
- package/src/daemon/disk-pressure-guard.ts +27 -29
- package/src/daemon/first-greeting.ts +31 -13
- package/src/daemon/handlers/shared.ts +6 -1
- package/src/daemon/lifecycle.ts +12 -12
- package/src/daemon/mcp-reload-service.ts +1 -1
- package/src/daemon/meet-manifest-loader.ts +10 -17
- package/src/daemon/message-types/conversations.ts +20 -22
- package/src/daemon/message-types/document-comments.ts +8 -44
- package/src/daemon/message-types/home.ts +2 -2
- package/src/daemon/message-types/integrations.ts +2 -7
- package/src/daemon/message-types/messages.ts +23 -38
- package/src/daemon/message-types/subagents.ts +6 -0
- package/src/daemon/process-message.ts +9 -9
- package/src/daemon/providers-setup.ts +1 -1
- package/src/daemon/server.ts +16 -0
- package/src/daemon/switch-inference-profile-tool.ts +13 -3
- package/src/daemon/tool-setup-types.ts +0 -6
- package/src/daemon/wake-target-adapter.ts +10 -0
- package/src/documents/document-store.ts +38 -0
- package/src/export/__tests__/transcript-formatter.test.ts +1 -0
- package/src/heartbeat/__tests__/heartbeat-service.test.ts +29 -0
- package/src/heartbeat/heartbeat-service.ts +63 -0
- package/src/home/__tests__/feed-writer.test.ts +161 -0
- package/src/home/__tests__/post-connect-feed.test.ts +1 -0
- package/src/home/__tests__/suggested-prompts.test.ts +55 -59
- package/src/home/feed-writer.ts +146 -7
- package/src/home/suggested-prompts.ts +27 -145
- package/src/ipc/__tests__/cli-ipc.test.ts +1 -0
- package/src/ipc/gateway-client.test.ts +4 -1
- package/src/ipc/skill-routes/__tests__/memory.test.ts +1 -0
- package/src/ipc/skill-routes/__tests__/registries.test.ts +36 -7
- package/src/ipc/skill-routes/memory.ts +4 -3
- package/src/ipc/skill-routes/registries.ts +28 -29
- package/src/memory/__tests__/jobs-store-enqueue-gate.test.ts +1 -0
- package/src/memory/__tests__/jobs-worker-v2-schedule.test.ts +26 -5
- package/src/memory/__tests__/memory-retrospective-enqueue.test.ts +1 -0
- package/src/memory/__tests__/memory-retrospective-job.test.ts +1 -0
- package/src/memory/__tests__/memory-retrospective-startup-cleanup.test.ts +1 -0
- package/src/memory/__tests__/memory-v2-activation-log-store.test.ts +31 -0
- package/src/memory/conversation-attention-store.ts +17 -3
- package/src/memory/conversation-crud.ts +352 -112
- package/src/memory/db-connection.ts +29 -19
- package/src/memory/db-init.ts +4 -0
- package/src/memory/db-singleton.ts +77 -0
- package/src/memory/delivery-channels.ts +82 -0
- package/src/memory/graph/__tests__/conversation-graph-memory-v2-routing.test.ts +2 -4
- package/src/memory/graph/retriever.test.ts +3 -3
- package/src/memory/job-handlers/embedding.test.ts +3 -2
- package/src/memory/jobs/__tests__/embed-concept-page.test.ts +5 -2
- package/src/memory/jobs-worker.ts +12 -1
- package/src/memory/llm-request-log-source-clickhouse.ts +80 -0
- package/src/memory/llm-request-log-source-local.ts +24 -0
- package/src/memory/llm-request-log-source.ts +31 -0
- package/src/memory/llm-request-log-store.ts +188 -3
- package/src/memory/memory-v2-activation-log-store.ts +95 -1
- package/src/memory/migrations/265-drop-provider-connection-status.ts +26 -0
- package/src/memory/migrations/266-messages-client-message-id.ts +43 -0
- package/src/memory/migrations/index.ts +2 -0
- package/src/memory/schema/conversations.ts +9 -1
- package/src/memory/schema/inference.ts +0 -1
- package/src/memory/v2/__tests__/backfill-jobs.test.ts +5 -2
- package/src/memory/v2/__tests__/harness-metrics.test.ts +9 -0
- package/src/memory/v2/__tests__/harness-replay-input.test.ts +9 -4
- package/src/memory/v2/__tests__/harness-runner.test.ts +26 -0
- package/src/memory/v2/__tests__/sweep-job.test.ts +6 -3
- package/src/memory/v2/harness/metrics.ts +5 -1
- package/src/memory/v2/harness/replay-input.ts +19 -3
- package/src/memory/v2/harness/runner.ts +6 -0
- package/src/memory/v2/harness/trace.ts +6 -0
- package/src/memory/v3/__tests__/consolidation-job.test.ts +2 -4
- package/src/memory/v3/__tests__/coretrieval-seed.test.ts +270 -0
- package/src/memory/v3/__tests__/edges.test.ts +144 -1
- package/src/memory/v3/__tests__/filter.test.ts +48 -0
- package/src/memory/v3/__tests__/gate.test.ts +96 -33
- package/src/memory/v3/__tests__/index-composition.test.ts +58 -0
- package/src/memory/v3/__tests__/loop.test.ts +250 -5
- package/src/memory/v3/__tests__/scouts.test.ts +49 -0
- package/src/memory/v3/__tests__/shadow-diff.test.ts +225 -0
- package/src/memory/v3/__tests__/shadow-middleware.test.ts +88 -2
- package/src/memory/v3/__tests__/traversal.test.ts +39 -0
- package/src/memory/v3/__tests__/tree-walk.test.ts +77 -0
- package/src/memory/v3/__tests__/validate.test.ts +32 -0
- package/src/memory/v3/coretrieval-seed.ts +240 -0
- package/src/memory/v3/edges.ts +58 -21
- package/src/memory/v3/filter.ts +27 -22
- package/src/memory/v3/gate.ts +51 -36
- package/src/memory/v3/index-composition.ts +18 -5
- package/src/memory/v3/loop.ts +65 -17
- package/src/memory/v3/scouts.ts +15 -4
- package/src/memory/v3/shadow-diff.ts +287 -0
- package/src/memory/v3/shadow-middleware.ts +44 -2
- package/src/memory/v3/traversal.ts +6 -1
- package/src/memory/v3/tree-walk.ts +6 -1
- package/src/memory/v3/validate.ts +56 -33
- package/src/notifications/__tests__/emit-signal-home-feed.test.ts +1 -0
- package/src/notifications/__tests__/home-feed-side-effect.test.ts +1 -0
- package/src/notifications/adapters/slack.ts +45 -11
- package/src/notifications/broadcaster.ts +114 -63
- package/src/notifications/conversation-pairing.ts +23 -3
- package/src/notifications/decisions-store.ts +32 -1
- package/src/notifications/deliveries-store.ts +45 -0
- package/src/notifications/edit-notification.ts +201 -0
- package/src/notifications/emit-signal.ts +11 -1
- package/src/notifications/signal.ts +10 -0
- package/src/notifications/types.ts +37 -0
- package/src/oauth/byo-connection.test.ts +67 -3
- package/src/oauth/byo-connection.ts +32 -5
- package/src/oauth/connect-orchestrator.ts +9 -0
- package/src/oauth/connection-resolver.test.ts +76 -0
- package/src/oauth/connection-resolver.ts +49 -10
- package/src/oauth/manual-token-connection.ts +51 -3
- package/src/oauth/seed-providers.ts +3 -0
- package/src/permissions/approval-policy.test.ts +19 -5
- package/src/permissions/approval-policy.ts +14 -3
- package/src/permissions/checker.ts +21 -8
- package/src/platform/client.test.ts +24 -1
- package/src/platform/client.ts +8 -0
- package/src/platform/feature-gate.ts +15 -0
- package/src/plugins/defaults/injectors.ts +2 -8
- package/src/plugins/defaults/persistence.ts +25 -6
- package/src/plugins/types.ts +57 -13
- package/src/proactive-artifact/job.test.ts +1 -0
- package/src/prompts/__tests__/system-prompt.test.ts +4 -4
- package/src/prompts/system-prompt.ts +38 -40
- package/src/prompts/template-detection.ts +10 -4
- package/src/prompts/templates/BOOTSTRAP.md +7 -11
- package/src/prompts/templates/IDENTITY.md +0 -2
- package/src/providers/__tests__/connection-model-compat.test.ts +3 -4
- package/src/providers/__tests__/registry-native-web-search.test.ts +122 -0
- package/src/providers/call-site-routing.ts +33 -9
- package/src/providers/connection-model-compat.ts +23 -0
- package/src/providers/connection-resolution.ts +39 -20
- package/src/providers/fireworks/client.ts +1 -0
- package/src/providers/gemini/client.ts +24 -3
- package/src/providers/inference/__tests__/adapter-factory-openai-compatible.test.ts +0 -2
- package/src/providers/inference/__tests__/base-url-security.test.ts +2 -3
- package/src/providers/inference/__tests__/{connections-status-label.test.ts → connections-label.test.ts} +12 -111
- package/src/providers/inference/auth.ts +0 -8
- package/src/providers/inference/connections.ts +3 -66
- package/src/providers/inference/resolve-auth.ts +2 -3
- package/src/providers/model-catalog.ts +35 -1
- package/src/providers/model-intents.ts +3 -3
- package/src/providers/openai/__tests__/api-error-detail.test.ts +120 -0
- package/src/providers/openai/__tests__/chat-completions-provider-reasoning.test.ts +157 -5
- package/src/providers/openai/chat-completions-provider.ts +110 -12
- package/src/providers/openai/codex-models.ts +2 -0
- package/src/providers/openai/responses-provider.ts +53 -53
- package/src/providers/openrouter/client.ts +13 -8
- package/src/providers/provider-send-message.ts +18 -9
- package/src/providers/registry.ts +48 -8
- package/src/providers/retry.ts +16 -4
- package/src/providers/search-provider-catalog.ts +17 -9
- package/src/providers/types.ts +9 -0
- package/src/runtime/__tests__/agent-wake.test.ts +1 -0
- package/src/runtime/__tests__/background-job-runner.test.ts +1 -0
- package/src/runtime/access-request-helper.ts +1 -0
- package/src/runtime/auth/route-policy.ts +10 -0
- package/src/runtime/channel-readiness-service.ts +68 -0
- package/src/runtime/channel-reply-delivery.ts +23 -0
- package/src/runtime/channel-retry-sweep.ts +47 -14
- package/src/runtime/confirmation-request-guardian-bridge.ts +1 -1
- package/src/runtime/migrations/vbundle-builder.ts +3 -2
- package/src/runtime/routes/__tests__/bookmark-routes.test.ts +1 -0
- package/src/runtime/routes/__tests__/conversation-compaction-routes.test.ts +406 -0
- package/src/runtime/routes/__tests__/conversation-query-routes.test.ts +98 -0
- package/src/runtime/routes/__tests__/heartbeat-routes.test.ts +1 -1
- package/src/runtime/routes/__tests__/home-feed-routes.test.ts +209 -1
- package/src/runtime/routes/__tests__/inference-provider-connection-routes.test.ts +13 -50
- package/src/runtime/routes/__tests__/memory-v2-simulate-route.test.ts +51 -3
- package/src/runtime/routes/__tests__/memory-v3-simulate-params.test.ts +35 -0
- package/src/runtime/routes/__tests__/slack-channel-routes.test.ts +3 -2
- package/src/runtime/routes/__tests__/surface-content-routes.test.ts +294 -0
- package/src/runtime/routes/__tests__/task-routes.test.ts +48 -3
- package/src/runtime/routes/acp-routes-list.test.ts +3 -0
- package/src/runtime/routes/app-management-routes.ts +111 -4
- package/src/runtime/routes/background-wake-routes.ts +188 -20
- package/src/runtime/routes/btw-routes.ts +4 -4
- package/src/runtime/routes/conversation-analysis-routes.ts +6 -0
- package/src/runtime/routes/conversation-compaction-routes.ts +263 -0
- package/src/runtime/routes/conversation-list-routes.ts +147 -0
- package/src/runtime/routes/conversation-management-routes.ts +39 -14
- package/src/runtime/routes/conversation-query-routes.ts +60 -10
- package/src/runtime/routes/conversation-routes.ts +186 -140
- package/src/runtime/routes/conversations-import-routes.ts +19 -6
- package/src/runtime/routes/documents-routes.ts +10 -1
- package/src/runtime/routes/group-routes.ts +11 -0
- package/src/runtime/routes/home-feed-routes.ts +129 -0
- package/src/runtime/routes/identity-intro-cache.ts +61 -16
- package/src/runtime/routes/identity-routes.ts +30 -9
- package/src/runtime/routes/inbound-stages/background-dispatch.test.ts +530 -6
- package/src/runtime/routes/inbound-stages/background-dispatch.ts +57 -8
- package/src/runtime/routes/index.ts +2 -0
- package/src/runtime/routes/inference-provider-connection-routes.ts +5 -26
- package/src/runtime/routes/integrations/vercel.ts +15 -0
- package/src/runtime/routes/llm-context-normalization.ts +7 -2
- package/src/runtime/routes/memory-v3-routes.ts +160 -2
- package/src/runtime/routes/migration-routes.ts +20 -13
- package/src/runtime/routes/notification-routes.ts +63 -1
- package/src/runtime/routes/oauth-commands-routes.ts +6 -1
- package/src/runtime/routes/surface-action-routes.ts +1 -38
- package/src/runtime/routes/surface-content-routes.ts +12 -5
- package/src/runtime/routes/surface-conversation-resolver.ts +65 -0
- package/src/runtime/routes/wipe-conversation-routes.ts +3 -0
- package/src/runtime/services/__tests__/analyze-conversation.test.ts +2 -0
- package/src/runtime/slack-dm-text-delivery.ts +177 -0
- package/src/runtime/sync/resource-sync-events.ts +1 -1
- package/src/runtime/tool-grant-request-helper.ts +1 -0
- package/src/schedule/schedule-store.ts +8 -1
- package/src/schedule/scheduler.ts +111 -15
- package/src/security/__tests__/provider-key-env-fallback.test.ts +3 -3
- package/src/security/encrypted-store.ts +7 -16
- package/src/security/store-path-override.ts +61 -0
- package/src/signals/user-message.ts +5 -8
- package/src/skills/validate-input.ts +177 -0
- package/src/subagent/manager.ts +13 -13
- package/src/subagent/types.ts +6 -0
- package/src/tasks/tool-sanitizer.ts +2 -2
- package/src/tools/apps/definitions.ts +35 -21
- package/src/tools/browser/__tests__/browser-execution-acquire.test.ts +2 -8
- package/src/tools/computer-use/definitions.ts +268 -266
- package/src/tools/document/document-tool.ts +131 -8
- package/src/tools/execution-target.ts +2 -5
- package/src/tools/executor.ts +18 -55
- package/src/tools/host-filesystem/edit.test.ts +1 -0
- package/src/tools/host-filesystem/read.test.ts +1 -0
- package/src/tools/host-filesystem/transfer.test.ts +31 -6
- package/src/tools/host-filesystem/write.test.ts +1 -0
- package/src/tools/mcp/mcp-tool-factory.ts +0 -2
- package/src/tools/network/__tests__/managed-search-proxy.test.ts +282 -0
- package/src/tools/network/__tests__/web-search.test.ts +211 -3
- package/src/tools/network/managed-search-proxy.ts +183 -0
- package/src/tools/network/web-search.ts +199 -44
- package/src/tools/policy-context.ts +3 -1
- package/src/tools/registry.ts +146 -103
- package/src/tools/schedule/create.ts +1 -1
- package/src/tools/skills/skill-tool-factory.ts +17 -36
- package/src/tools/subagent/spawn.ts +3 -0
- package/src/tools/tool-approval-handler.ts +10 -4
- package/src/tools/tool-name-aliases.ts +72 -14
- package/src/tools/types.ts +17 -15
- package/src/tools/ui-surface/definitions.ts +98 -86
- package/src/types/onboarding-context.ts +6 -0
- package/src/usage/attribution.ts +32 -1
- package/src/util/browser.ts +7 -2
- package/src/workspace/migrations/090-memory-router-cost-optimized-profile.ts +109 -0
- package/src/workspace/migrations/091-retighten-migration-onboarding-thread.ts +41 -0
- package/src/workspace/migrations/registry.ts +4 -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.6
|
|
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
|
|
@@ -460,8 +460,30 @@ paths:
|
|
|
460
460
|
properties:
|
|
461
461
|
apps:
|
|
462
462
|
type: array
|
|
463
|
-
items:
|
|
464
|
-
|
|
463
|
+
items:
|
|
464
|
+
type: object
|
|
465
|
+
properties:
|
|
466
|
+
id:
|
|
467
|
+
type: string
|
|
468
|
+
name:
|
|
469
|
+
type: string
|
|
470
|
+
description:
|
|
471
|
+
type: string
|
|
472
|
+
icon:
|
|
473
|
+
type: string
|
|
474
|
+
createdAt:
|
|
475
|
+
type: number
|
|
476
|
+
version:
|
|
477
|
+
type: string
|
|
478
|
+
contentId:
|
|
479
|
+
type: string
|
|
480
|
+
required:
|
|
481
|
+
- id
|
|
482
|
+
- name
|
|
483
|
+
- createdAt
|
|
484
|
+
- version
|
|
485
|
+
- contentId
|
|
486
|
+
additionalProperties: false
|
|
465
487
|
required:
|
|
466
488
|
- apps
|
|
467
489
|
additionalProperties: false
|
|
@@ -540,6 +562,18 @@ paths:
|
|
|
540
562
|
responses:
|
|
541
563
|
"200":
|
|
542
564
|
description: Successful response
|
|
565
|
+
content:
|
|
566
|
+
application/json:
|
|
567
|
+
schema:
|
|
568
|
+
type: object
|
|
569
|
+
properties:
|
|
570
|
+
success:
|
|
571
|
+
type: boolean
|
|
572
|
+
result: {}
|
|
573
|
+
required:
|
|
574
|
+
- success
|
|
575
|
+
- result
|
|
576
|
+
additionalProperties: false
|
|
543
577
|
parameters:
|
|
544
578
|
- name: id
|
|
545
579
|
in: path
|
|
@@ -560,6 +594,18 @@ paths:
|
|
|
560
594
|
responses:
|
|
561
595
|
"200":
|
|
562
596
|
description: Successful response
|
|
597
|
+
content:
|
|
598
|
+
application/json:
|
|
599
|
+
schema:
|
|
600
|
+
type: object
|
|
601
|
+
properties:
|
|
602
|
+
success:
|
|
603
|
+
type: boolean
|
|
604
|
+
result: {}
|
|
605
|
+
required:
|
|
606
|
+
- success
|
|
607
|
+
- result
|
|
608
|
+
additionalProperties: false
|
|
563
609
|
parameters:
|
|
564
610
|
- name: id
|
|
565
611
|
in: path
|
|
@@ -597,6 +643,16 @@ paths:
|
|
|
597
643
|
responses:
|
|
598
644
|
"200":
|
|
599
645
|
description: Successful response
|
|
646
|
+
content:
|
|
647
|
+
application/json:
|
|
648
|
+
schema:
|
|
649
|
+
type: object
|
|
650
|
+
properties:
|
|
651
|
+
success:
|
|
652
|
+
type: boolean
|
|
653
|
+
required:
|
|
654
|
+
- success
|
|
655
|
+
additionalProperties: false
|
|
600
656
|
parameters:
|
|
601
657
|
- name: id
|
|
602
658
|
in: path
|
|
@@ -613,6 +669,19 @@ paths:
|
|
|
613
669
|
responses:
|
|
614
670
|
"200":
|
|
615
671
|
description: Successful response
|
|
672
|
+
content:
|
|
673
|
+
application/json:
|
|
674
|
+
schema:
|
|
675
|
+
type: object
|
|
676
|
+
properties:
|
|
677
|
+
appId:
|
|
678
|
+
type: string
|
|
679
|
+
diff:
|
|
680
|
+
type: string
|
|
681
|
+
required:
|
|
682
|
+
- appId
|
|
683
|
+
- diff
|
|
684
|
+
additionalProperties: false
|
|
616
685
|
parameters:
|
|
617
686
|
- name: id
|
|
618
687
|
in: path
|
|
@@ -648,7 +717,20 @@ paths:
|
|
|
648
717
|
type: string
|
|
649
718
|
versions:
|
|
650
719
|
type: array
|
|
651
|
-
items:
|
|
720
|
+
items:
|
|
721
|
+
type: object
|
|
722
|
+
properties:
|
|
723
|
+
commitHash:
|
|
724
|
+
type: string
|
|
725
|
+
message:
|
|
726
|
+
type: string
|
|
727
|
+
timestamp:
|
|
728
|
+
type: number
|
|
729
|
+
required:
|
|
730
|
+
- commitHash
|
|
731
|
+
- message
|
|
732
|
+
- timestamp
|
|
733
|
+
additionalProperties: false
|
|
652
734
|
required:
|
|
653
735
|
- appId
|
|
654
736
|
- versions
|
|
@@ -709,6 +791,21 @@ paths:
|
|
|
709
791
|
responses:
|
|
710
792
|
"200":
|
|
711
793
|
description: Successful response
|
|
794
|
+
content:
|
|
795
|
+
application/json:
|
|
796
|
+
schema:
|
|
797
|
+
type: object
|
|
798
|
+
properties:
|
|
799
|
+
appId:
|
|
800
|
+
type: string
|
|
801
|
+
preview:
|
|
802
|
+
anyOf:
|
|
803
|
+
- type: string
|
|
804
|
+
- type: "null"
|
|
805
|
+
required:
|
|
806
|
+
- appId
|
|
807
|
+
- preview
|
|
808
|
+
additionalProperties: false
|
|
712
809
|
parameters:
|
|
713
810
|
- name: id
|
|
714
811
|
in: path
|
|
@@ -724,6 +821,19 @@ paths:
|
|
|
724
821
|
responses:
|
|
725
822
|
"200":
|
|
726
823
|
description: Successful response
|
|
824
|
+
content:
|
|
825
|
+
application/json:
|
|
826
|
+
schema:
|
|
827
|
+
type: object
|
|
828
|
+
properties:
|
|
829
|
+
success:
|
|
830
|
+
type: boolean
|
|
831
|
+
appId:
|
|
832
|
+
type: string
|
|
833
|
+
required:
|
|
834
|
+
- success
|
|
835
|
+
- appId
|
|
836
|
+
additionalProperties: false
|
|
727
837
|
parameters:
|
|
728
838
|
- name: id
|
|
729
839
|
in: path
|
|
@@ -819,6 +929,16 @@ paths:
|
|
|
819
929
|
responses:
|
|
820
930
|
"200":
|
|
821
931
|
description: Successful response
|
|
932
|
+
content:
|
|
933
|
+
application/json:
|
|
934
|
+
schema:
|
|
935
|
+
type: object
|
|
936
|
+
properties:
|
|
937
|
+
success:
|
|
938
|
+
type: boolean
|
|
939
|
+
required:
|
|
940
|
+
- success
|
|
941
|
+
additionalProperties: false
|
|
822
942
|
parameters:
|
|
823
943
|
- name: id
|
|
824
944
|
in: path
|
|
@@ -907,6 +1027,23 @@ paths:
|
|
|
907
1027
|
responses:
|
|
908
1028
|
"200":
|
|
909
1029
|
description: Successful response
|
|
1030
|
+
content:
|
|
1031
|
+
application/json:
|
|
1032
|
+
schema:
|
|
1033
|
+
type: object
|
|
1034
|
+
properties:
|
|
1035
|
+
success:
|
|
1036
|
+
type: boolean
|
|
1037
|
+
const: true
|
|
1038
|
+
appId:
|
|
1039
|
+
type: string
|
|
1040
|
+
name:
|
|
1041
|
+
type: string
|
|
1042
|
+
required:
|
|
1043
|
+
- success
|
|
1044
|
+
- appId
|
|
1045
|
+
- name
|
|
1046
|
+
additionalProperties: false
|
|
910
1047
|
requestBody:
|
|
911
1048
|
required: true
|
|
912
1049
|
content:
|
|
@@ -936,9 +1073,61 @@ paths:
|
|
|
936
1073
|
type: object
|
|
937
1074
|
properties:
|
|
938
1075
|
gallery:
|
|
939
|
-
type:
|
|
940
|
-
|
|
941
|
-
|
|
1076
|
+
type: object
|
|
1077
|
+
properties:
|
|
1078
|
+
version:
|
|
1079
|
+
type: number
|
|
1080
|
+
updatedAt:
|
|
1081
|
+
type: string
|
|
1082
|
+
categories:
|
|
1083
|
+
type: array
|
|
1084
|
+
items:
|
|
1085
|
+
type: object
|
|
1086
|
+
properties:
|
|
1087
|
+
id:
|
|
1088
|
+
type: string
|
|
1089
|
+
name:
|
|
1090
|
+
type: string
|
|
1091
|
+
icon:
|
|
1092
|
+
type: string
|
|
1093
|
+
required:
|
|
1094
|
+
- id
|
|
1095
|
+
- name
|
|
1096
|
+
- icon
|
|
1097
|
+
additionalProperties: false
|
|
1098
|
+
apps:
|
|
1099
|
+
type: array
|
|
1100
|
+
items:
|
|
1101
|
+
type: object
|
|
1102
|
+
properties:
|
|
1103
|
+
id:
|
|
1104
|
+
type: string
|
|
1105
|
+
name:
|
|
1106
|
+
type: string
|
|
1107
|
+
description:
|
|
1108
|
+
type: string
|
|
1109
|
+
icon:
|
|
1110
|
+
type: string
|
|
1111
|
+
category:
|
|
1112
|
+
type: string
|
|
1113
|
+
version:
|
|
1114
|
+
type: string
|
|
1115
|
+
featured:
|
|
1116
|
+
type: boolean
|
|
1117
|
+
required:
|
|
1118
|
+
- id
|
|
1119
|
+
- name
|
|
1120
|
+
- description
|
|
1121
|
+
- icon
|
|
1122
|
+
- category
|
|
1123
|
+
- version
|
|
1124
|
+
additionalProperties: false
|
|
1125
|
+
required:
|
|
1126
|
+
- version
|
|
1127
|
+
- updatedAt
|
|
1128
|
+
- categories
|
|
1129
|
+
- apps
|
|
1130
|
+
additionalProperties: false
|
|
942
1131
|
required:
|
|
943
1132
|
- gallery
|
|
944
1133
|
additionalProperties: false
|
|
@@ -952,6 +1141,23 @@ paths:
|
|
|
952
1141
|
responses:
|
|
953
1142
|
"200":
|
|
954
1143
|
description: Successful response
|
|
1144
|
+
content:
|
|
1145
|
+
application/json:
|
|
1146
|
+
schema:
|
|
1147
|
+
type: object
|
|
1148
|
+
properties:
|
|
1149
|
+
success:
|
|
1150
|
+
type: boolean
|
|
1151
|
+
const: true
|
|
1152
|
+
appId:
|
|
1153
|
+
type: string
|
|
1154
|
+
name:
|
|
1155
|
+
type: string
|
|
1156
|
+
required:
|
|
1157
|
+
- success
|
|
1158
|
+
- appId
|
|
1159
|
+
- name
|
|
1160
|
+
additionalProperties: false
|
|
955
1161
|
requestBody:
|
|
956
1162
|
required: true
|
|
957
1163
|
content:
|
|
@@ -1034,6 +1240,55 @@ paths:
|
|
|
1034
1240
|
responses:
|
|
1035
1241
|
"200":
|
|
1036
1242
|
description: Successful response
|
|
1243
|
+
content:
|
|
1244
|
+
application/json:
|
|
1245
|
+
schema:
|
|
1246
|
+
type: object
|
|
1247
|
+
properties:
|
|
1248
|
+
manifest:
|
|
1249
|
+
type: object
|
|
1250
|
+
properties: {}
|
|
1251
|
+
additionalProperties: {}
|
|
1252
|
+
scanResult:
|
|
1253
|
+
type: object
|
|
1254
|
+
properties:
|
|
1255
|
+
passed:
|
|
1256
|
+
type: boolean
|
|
1257
|
+
blocked:
|
|
1258
|
+
type: array
|
|
1259
|
+
items:
|
|
1260
|
+
type: string
|
|
1261
|
+
warnings:
|
|
1262
|
+
type: array
|
|
1263
|
+
items:
|
|
1264
|
+
type: string
|
|
1265
|
+
required:
|
|
1266
|
+
- passed
|
|
1267
|
+
- blocked
|
|
1268
|
+
- warnings
|
|
1269
|
+
additionalProperties: false
|
|
1270
|
+
signatureResult:
|
|
1271
|
+
type: object
|
|
1272
|
+
properties:
|
|
1273
|
+
trustTier:
|
|
1274
|
+
type: string
|
|
1275
|
+
signerKeyId:
|
|
1276
|
+
type: string
|
|
1277
|
+
signerDisplayName:
|
|
1278
|
+
type: string
|
|
1279
|
+
signerAccount:
|
|
1280
|
+
type: string
|
|
1281
|
+
required:
|
|
1282
|
+
- trustTier
|
|
1283
|
+
additionalProperties: false
|
|
1284
|
+
bundleSizeBytes:
|
|
1285
|
+
type: number
|
|
1286
|
+
required:
|
|
1287
|
+
- manifest
|
|
1288
|
+
- scanResult
|
|
1289
|
+
- signatureResult
|
|
1290
|
+
- bundleSizeBytes
|
|
1291
|
+
additionalProperties: false
|
|
1037
1292
|
requestBody:
|
|
1038
1293
|
required: true
|
|
1039
1294
|
content:
|
|
@@ -1090,27 +1345,62 @@ paths:
|
|
|
1090
1345
|
properties:
|
|
1091
1346
|
apps:
|
|
1092
1347
|
type: array
|
|
1093
|
-
items:
|
|
1094
|
-
|
|
1095
|
-
|
|
1096
|
-
|
|
1097
|
-
|
|
1098
|
-
|
|
1099
|
-
|
|
1100
|
-
|
|
1101
|
-
|
|
1102
|
-
|
|
1103
|
-
|
|
1104
|
-
|
|
1105
|
-
|
|
1106
|
-
|
|
1107
|
-
|
|
1108
|
-
|
|
1109
|
-
|
|
1110
|
-
|
|
1111
|
-
|
|
1112
|
-
|
|
1113
|
-
|
|
1348
|
+
items:
|
|
1349
|
+
type: object
|
|
1350
|
+
properties:
|
|
1351
|
+
uuid:
|
|
1352
|
+
type: string
|
|
1353
|
+
name:
|
|
1354
|
+
type: string
|
|
1355
|
+
description:
|
|
1356
|
+
type: string
|
|
1357
|
+
icon:
|
|
1358
|
+
type: string
|
|
1359
|
+
preview:
|
|
1360
|
+
type: string
|
|
1361
|
+
entry:
|
|
1362
|
+
type: string
|
|
1363
|
+
trustTier:
|
|
1364
|
+
type: string
|
|
1365
|
+
signerDisplayName:
|
|
1366
|
+
type: string
|
|
1367
|
+
bundleSizeBytes:
|
|
1368
|
+
type: number
|
|
1369
|
+
installedAt:
|
|
1370
|
+
type: string
|
|
1371
|
+
version:
|
|
1372
|
+
type: string
|
|
1373
|
+
contentId:
|
|
1374
|
+
type: string
|
|
1375
|
+
updateAvailable:
|
|
1376
|
+
type: boolean
|
|
1377
|
+
required:
|
|
1378
|
+
- uuid
|
|
1379
|
+
- name
|
|
1380
|
+
- entry
|
|
1381
|
+
- trustTier
|
|
1382
|
+
- bundleSizeBytes
|
|
1383
|
+
- installedAt
|
|
1384
|
+
additionalProperties: false
|
|
1385
|
+
required:
|
|
1386
|
+
- apps
|
|
1387
|
+
additionalProperties: false
|
|
1388
|
+
/v1/apps/shared/{token}:
|
|
1389
|
+
delete:
|
|
1390
|
+
operationId: apps_shared_by_token_delete
|
|
1391
|
+
summary: Delete shared app
|
|
1392
|
+
description: Remove a shared app link.
|
|
1393
|
+
tags:
|
|
1394
|
+
- apps
|
|
1395
|
+
responses:
|
|
1396
|
+
"200":
|
|
1397
|
+
description: Successful response
|
|
1398
|
+
content:
|
|
1399
|
+
application/json:
|
|
1400
|
+
schema:
|
|
1401
|
+
type: object
|
|
1402
|
+
properties:
|
|
1403
|
+
success:
|
|
1114
1404
|
type: boolean
|
|
1115
1405
|
required:
|
|
1116
1406
|
- success
|
|
@@ -1181,6 +1471,22 @@ paths:
|
|
|
1181
1471
|
responses:
|
|
1182
1472
|
"200":
|
|
1183
1473
|
description: Successful response
|
|
1474
|
+
content:
|
|
1475
|
+
application/json:
|
|
1476
|
+
schema:
|
|
1477
|
+
type: object
|
|
1478
|
+
properties:
|
|
1479
|
+
signed:
|
|
1480
|
+
type: boolean
|
|
1481
|
+
signatureJson:
|
|
1482
|
+
type: object
|
|
1483
|
+
properties: {}
|
|
1484
|
+
additionalProperties: {}
|
|
1485
|
+
payload:
|
|
1486
|
+
type: string
|
|
1487
|
+
message:
|
|
1488
|
+
type: string
|
|
1489
|
+
additionalProperties: false
|
|
1184
1490
|
requestBody:
|
|
1185
1491
|
required: true
|
|
1186
1492
|
content:
|
|
@@ -1210,6 +1516,16 @@ paths:
|
|
|
1210
1516
|
responses:
|
|
1211
1517
|
"200":
|
|
1212
1518
|
description: Successful response
|
|
1519
|
+
content:
|
|
1520
|
+
application/json:
|
|
1521
|
+
schema:
|
|
1522
|
+
type: object
|
|
1523
|
+
properties:
|
|
1524
|
+
message:
|
|
1525
|
+
type: string
|
|
1526
|
+
required:
|
|
1527
|
+
- message
|
|
1528
|
+
additionalProperties: false
|
|
1213
1529
|
/v1/attachments:
|
|
1214
1530
|
delete:
|
|
1215
1531
|
operationId: attachments_delete
|
|
@@ -1838,6 +2154,8 @@ paths:
|
|
|
1838
2154
|
schema:
|
|
1839
2155
|
type: object
|
|
1840
2156
|
properties:
|
|
2157
|
+
accepted:
|
|
2158
|
+
type: boolean
|
|
1841
2159
|
leaseId:
|
|
1842
2160
|
type: string
|
|
1843
2161
|
reason:
|
|
@@ -1848,60 +2166,13 @@ paths:
|
|
|
1848
2166
|
type: number
|
|
1849
2167
|
deadlineAt:
|
|
1850
2168
|
type: number
|
|
1851
|
-
counts:
|
|
1852
|
-
type: object
|
|
1853
|
-
properties:
|
|
1854
|
-
heartbeat:
|
|
1855
|
-
type: number
|
|
1856
|
-
scheduler:
|
|
1857
|
-
type: number
|
|
1858
|
-
total:
|
|
1859
|
-
type: number
|
|
1860
|
-
required:
|
|
1861
|
-
- heartbeat
|
|
1862
|
-
- scheduler
|
|
1863
|
-
- total
|
|
1864
|
-
additionalProperties: false
|
|
1865
|
-
nextIntent:
|
|
1866
|
-
anyOf:
|
|
1867
|
-
- type: object
|
|
1868
|
-
properties:
|
|
1869
|
-
nextWakeAt:
|
|
1870
|
-
type: number
|
|
1871
|
-
actualNextDueAt:
|
|
1872
|
-
type: number
|
|
1873
|
-
reason:
|
|
1874
|
-
type: string
|
|
1875
|
-
enum:
|
|
1876
|
-
- heartbeat
|
|
1877
|
-
- schedule
|
|
1878
|
-
- mixed
|
|
1879
|
-
sourceGeneration:
|
|
1880
|
-
type: string
|
|
1881
|
-
computedAt:
|
|
1882
|
-
type: number
|
|
1883
|
-
sourcePayload:
|
|
1884
|
-
type: object
|
|
1885
|
-
propertyNames:
|
|
1886
|
-
type: string
|
|
1887
|
-
additionalProperties: {}
|
|
1888
|
-
required:
|
|
1889
|
-
- nextWakeAt
|
|
1890
|
-
- actualNextDueAt
|
|
1891
|
-
- reason
|
|
1892
|
-
- sourceGeneration
|
|
1893
|
-
- computedAt
|
|
1894
|
-
- sourcePayload
|
|
1895
|
-
additionalProperties: false
|
|
1896
|
-
- type: "null"
|
|
1897
2169
|
required:
|
|
2170
|
+
- accepted
|
|
1898
2171
|
- leaseId
|
|
1899
2172
|
- reason
|
|
1900
2173
|
- sourceGeneration
|
|
1901
2174
|
- startedAt
|
|
1902
2175
|
- deadlineAt
|
|
1903
|
-
- counts
|
|
1904
|
-
- nextIntent
|
|
1905
2176
|
additionalProperties: false
|
|
1906
2177
|
requestBody:
|
|
1907
2178
|
required: true
|
|
@@ -4679,6 +4950,233 @@ paths:
|
|
|
4679
4950
|
responses:
|
|
4680
4951
|
"200":
|
|
4681
4952
|
description: Successful response
|
|
4953
|
+
content:
|
|
4954
|
+
application/json:
|
|
4955
|
+
schema:
|
|
4956
|
+
type: object
|
|
4957
|
+
properties:
|
|
4958
|
+
conversations:
|
|
4959
|
+
type: array
|
|
4960
|
+
items:
|
|
4961
|
+
type: object
|
|
4962
|
+
properties:
|
|
4963
|
+
id:
|
|
4964
|
+
type: string
|
|
4965
|
+
title:
|
|
4966
|
+
type: string
|
|
4967
|
+
createdAt:
|
|
4968
|
+
type: number
|
|
4969
|
+
updatedAt:
|
|
4970
|
+
type: number
|
|
4971
|
+
lastMessageAt:
|
|
4972
|
+
anyOf:
|
|
4973
|
+
- type: number
|
|
4974
|
+
- type: "null"
|
|
4975
|
+
conversationType:
|
|
4976
|
+
type: string
|
|
4977
|
+
enum:
|
|
4978
|
+
- standard
|
|
4979
|
+
- background
|
|
4980
|
+
- scheduled
|
|
4981
|
+
source:
|
|
4982
|
+
type: string
|
|
4983
|
+
scheduleJobId:
|
|
4984
|
+
type: string
|
|
4985
|
+
channelBinding:
|
|
4986
|
+
type: object
|
|
4987
|
+
properties:
|
|
4988
|
+
sourceChannel:
|
|
4989
|
+
type: string
|
|
4990
|
+
externalChatId:
|
|
4991
|
+
type: string
|
|
4992
|
+
externalChatName:
|
|
4993
|
+
type: string
|
|
4994
|
+
externalThreadId:
|
|
4995
|
+
type: string
|
|
4996
|
+
externalUserId:
|
|
4997
|
+
anyOf:
|
|
4998
|
+
- type: string
|
|
4999
|
+
- type: "null"
|
|
5000
|
+
displayName:
|
|
5001
|
+
anyOf:
|
|
5002
|
+
- type: string
|
|
5003
|
+
- type: "null"
|
|
5004
|
+
username:
|
|
5005
|
+
anyOf:
|
|
5006
|
+
- type: string
|
|
5007
|
+
- type: "null"
|
|
5008
|
+
slackThread:
|
|
5009
|
+
type: object
|
|
5010
|
+
properties:
|
|
5011
|
+
channelId:
|
|
5012
|
+
type: string
|
|
5013
|
+
threadTs:
|
|
5014
|
+
type: string
|
|
5015
|
+
link:
|
|
5016
|
+
type: object
|
|
5017
|
+
properties:
|
|
5018
|
+
appUrl:
|
|
5019
|
+
type: string
|
|
5020
|
+
webUrl:
|
|
5021
|
+
type: string
|
|
5022
|
+
additionalProperties: false
|
|
5023
|
+
required:
|
|
5024
|
+
- channelId
|
|
5025
|
+
- threadTs
|
|
5026
|
+
additionalProperties: false
|
|
5027
|
+
slackChannel:
|
|
5028
|
+
type: object
|
|
5029
|
+
properties:
|
|
5030
|
+
channelId:
|
|
5031
|
+
type: string
|
|
5032
|
+
name:
|
|
5033
|
+
type: string
|
|
5034
|
+
link:
|
|
5035
|
+
type: object
|
|
5036
|
+
properties:
|
|
5037
|
+
webUrl:
|
|
5038
|
+
type: string
|
|
5039
|
+
required:
|
|
5040
|
+
- webUrl
|
|
5041
|
+
additionalProperties: false
|
|
5042
|
+
required:
|
|
5043
|
+
- channelId
|
|
5044
|
+
additionalProperties: false
|
|
5045
|
+
required:
|
|
5046
|
+
- sourceChannel
|
|
5047
|
+
- externalChatId
|
|
5048
|
+
- externalUserId
|
|
5049
|
+
- displayName
|
|
5050
|
+
- username
|
|
5051
|
+
additionalProperties: false
|
|
5052
|
+
conversationOriginChannel:
|
|
5053
|
+
anyOf:
|
|
5054
|
+
- type: string
|
|
5055
|
+
enum:
|
|
5056
|
+
- telegram
|
|
5057
|
+
- phone
|
|
5058
|
+
- vellum
|
|
5059
|
+
- whatsapp
|
|
5060
|
+
- slack
|
|
5061
|
+
- email
|
|
5062
|
+
- platform
|
|
5063
|
+
- a2a
|
|
5064
|
+
- type: "null"
|
|
5065
|
+
assistantAttention:
|
|
5066
|
+
type: object
|
|
5067
|
+
properties:
|
|
5068
|
+
hasUnseenLatestAssistantMessage:
|
|
5069
|
+
type: boolean
|
|
5070
|
+
latestAssistantMessageAt:
|
|
5071
|
+
type: number
|
|
5072
|
+
lastSeenAssistantMessageAt:
|
|
5073
|
+
type: number
|
|
5074
|
+
lastSeenConfidence:
|
|
5075
|
+
type: string
|
|
5076
|
+
enum:
|
|
5077
|
+
- explicit
|
|
5078
|
+
- inferred
|
|
5079
|
+
lastSeenSignalType:
|
|
5080
|
+
type: string
|
|
5081
|
+
enum:
|
|
5082
|
+
- macos_notification_view
|
|
5083
|
+
- macos_conversation_opened
|
|
5084
|
+
- ios_conversation_opened
|
|
5085
|
+
- telegram_inbound_message
|
|
5086
|
+
- telegram_callback
|
|
5087
|
+
- slack_inbound_message
|
|
5088
|
+
- slack_callback
|
|
5089
|
+
required:
|
|
5090
|
+
- hasUnseenLatestAssistantMessage
|
|
5091
|
+
additionalProperties: false
|
|
5092
|
+
isPinned:
|
|
5093
|
+
type: boolean
|
|
5094
|
+
const: true
|
|
5095
|
+
displayOrder:
|
|
5096
|
+
anyOf:
|
|
5097
|
+
- type: number
|
|
5098
|
+
- type: "null"
|
|
5099
|
+
groupId:
|
|
5100
|
+
anyOf:
|
|
5101
|
+
- type: string
|
|
5102
|
+
- type: "null"
|
|
5103
|
+
forkParent:
|
|
5104
|
+
type: object
|
|
5105
|
+
properties:
|
|
5106
|
+
conversationId:
|
|
5107
|
+
type: string
|
|
5108
|
+
messageId:
|
|
5109
|
+
type: string
|
|
5110
|
+
title:
|
|
5111
|
+
type: string
|
|
5112
|
+
required:
|
|
5113
|
+
- conversationId
|
|
5114
|
+
- messageId
|
|
5115
|
+
- title
|
|
5116
|
+
additionalProperties: false
|
|
5117
|
+
archivedAt:
|
|
5118
|
+
type: number
|
|
5119
|
+
inferenceProfile:
|
|
5120
|
+
type: string
|
|
5121
|
+
required:
|
|
5122
|
+
- id
|
|
5123
|
+
- title
|
|
5124
|
+
- createdAt
|
|
5125
|
+
- updatedAt
|
|
5126
|
+
- lastMessageAt
|
|
5127
|
+
- conversationType
|
|
5128
|
+
- source
|
|
5129
|
+
- groupId
|
|
5130
|
+
additionalProperties: false
|
|
5131
|
+
nextOffset:
|
|
5132
|
+
type: number
|
|
5133
|
+
hasMore:
|
|
5134
|
+
type: boolean
|
|
5135
|
+
groups:
|
|
5136
|
+
type: array
|
|
5137
|
+
items:
|
|
5138
|
+
type: object
|
|
5139
|
+
properties:
|
|
5140
|
+
id:
|
|
5141
|
+
type: string
|
|
5142
|
+
name:
|
|
5143
|
+
type: string
|
|
5144
|
+
sortPosition:
|
|
5145
|
+
type: number
|
|
5146
|
+
isSystemGroup:
|
|
5147
|
+
type: boolean
|
|
5148
|
+
required:
|
|
5149
|
+
- id
|
|
5150
|
+
- name
|
|
5151
|
+
- sortPosition
|
|
5152
|
+
- isSystemGroup
|
|
5153
|
+
additionalProperties: false
|
|
5154
|
+
required:
|
|
5155
|
+
- conversations
|
|
5156
|
+
- nextOffset
|
|
5157
|
+
- hasMore
|
|
5158
|
+
additionalProperties: false
|
|
5159
|
+
parameters:
|
|
5160
|
+
- name: limit
|
|
5161
|
+
in: query
|
|
5162
|
+
required: false
|
|
5163
|
+
schema:
|
|
5164
|
+
type: integer
|
|
5165
|
+
description: Maximum number of conversations to return (default 50).
|
|
5166
|
+
- name: offset
|
|
5167
|
+
in: query
|
|
5168
|
+
required: false
|
|
5169
|
+
schema:
|
|
5170
|
+
type: integer
|
|
5171
|
+
description: Number of conversations to skip (default 0).
|
|
5172
|
+
- name: conversationType
|
|
5173
|
+
in: query
|
|
5174
|
+
required: false
|
|
5175
|
+
schema:
|
|
5176
|
+
type: string
|
|
5177
|
+
enum:
|
|
5178
|
+
- background
|
|
5179
|
+
description: Filter by conversation type. Pass "background" to list only background/scheduled conversations.
|
|
4682
5180
|
post:
|
|
4683
5181
|
operationId: conversations_post
|
|
4684
5182
|
summary: Create a conversation
|
|
@@ -4797,6 +5295,185 @@ paths:
|
|
|
4797
5295
|
responses:
|
|
4798
5296
|
"200":
|
|
4799
5297
|
description: Successful response
|
|
5298
|
+
content:
|
|
5299
|
+
application/json:
|
|
5300
|
+
schema:
|
|
5301
|
+
type: object
|
|
5302
|
+
properties:
|
|
5303
|
+
conversation:
|
|
5304
|
+
type: object
|
|
5305
|
+
properties:
|
|
5306
|
+
id:
|
|
5307
|
+
type: string
|
|
5308
|
+
title:
|
|
5309
|
+
type: string
|
|
5310
|
+
createdAt:
|
|
5311
|
+
type: number
|
|
5312
|
+
updatedAt:
|
|
5313
|
+
type: number
|
|
5314
|
+
lastMessageAt:
|
|
5315
|
+
anyOf:
|
|
5316
|
+
- type: number
|
|
5317
|
+
- type: "null"
|
|
5318
|
+
conversationType:
|
|
5319
|
+
type: string
|
|
5320
|
+
enum:
|
|
5321
|
+
- standard
|
|
5322
|
+
- background
|
|
5323
|
+
- scheduled
|
|
5324
|
+
source:
|
|
5325
|
+
type: string
|
|
5326
|
+
scheduleJobId:
|
|
5327
|
+
type: string
|
|
5328
|
+
channelBinding:
|
|
5329
|
+
type: object
|
|
5330
|
+
properties:
|
|
5331
|
+
sourceChannel:
|
|
5332
|
+
type: string
|
|
5333
|
+
externalChatId:
|
|
5334
|
+
type: string
|
|
5335
|
+
externalChatName:
|
|
5336
|
+
type: string
|
|
5337
|
+
externalThreadId:
|
|
5338
|
+
type: string
|
|
5339
|
+
externalUserId:
|
|
5340
|
+
anyOf:
|
|
5341
|
+
- type: string
|
|
5342
|
+
- type: "null"
|
|
5343
|
+
displayName:
|
|
5344
|
+
anyOf:
|
|
5345
|
+
- type: string
|
|
5346
|
+
- type: "null"
|
|
5347
|
+
username:
|
|
5348
|
+
anyOf:
|
|
5349
|
+
- type: string
|
|
5350
|
+
- type: "null"
|
|
5351
|
+
slackThread:
|
|
5352
|
+
type: object
|
|
5353
|
+
properties:
|
|
5354
|
+
channelId:
|
|
5355
|
+
type: string
|
|
5356
|
+
threadTs:
|
|
5357
|
+
type: string
|
|
5358
|
+
link:
|
|
5359
|
+
type: object
|
|
5360
|
+
properties:
|
|
5361
|
+
appUrl:
|
|
5362
|
+
type: string
|
|
5363
|
+
webUrl:
|
|
5364
|
+
type: string
|
|
5365
|
+
additionalProperties: false
|
|
5366
|
+
required:
|
|
5367
|
+
- channelId
|
|
5368
|
+
- threadTs
|
|
5369
|
+
additionalProperties: false
|
|
5370
|
+
slackChannel:
|
|
5371
|
+
type: object
|
|
5372
|
+
properties:
|
|
5373
|
+
channelId:
|
|
5374
|
+
type: string
|
|
5375
|
+
name:
|
|
5376
|
+
type: string
|
|
5377
|
+
link:
|
|
5378
|
+
type: object
|
|
5379
|
+
properties:
|
|
5380
|
+
webUrl:
|
|
5381
|
+
type: string
|
|
5382
|
+
required:
|
|
5383
|
+
- webUrl
|
|
5384
|
+
additionalProperties: false
|
|
5385
|
+
required:
|
|
5386
|
+
- channelId
|
|
5387
|
+
additionalProperties: false
|
|
5388
|
+
required:
|
|
5389
|
+
- sourceChannel
|
|
5390
|
+
- externalChatId
|
|
5391
|
+
- externalUserId
|
|
5392
|
+
- displayName
|
|
5393
|
+
- username
|
|
5394
|
+
additionalProperties: false
|
|
5395
|
+
conversationOriginChannel:
|
|
5396
|
+
anyOf:
|
|
5397
|
+
- type: string
|
|
5398
|
+
enum:
|
|
5399
|
+
- telegram
|
|
5400
|
+
- phone
|
|
5401
|
+
- vellum
|
|
5402
|
+
- whatsapp
|
|
5403
|
+
- slack
|
|
5404
|
+
- email
|
|
5405
|
+
- platform
|
|
5406
|
+
- a2a
|
|
5407
|
+
- type: "null"
|
|
5408
|
+
assistantAttention:
|
|
5409
|
+
type: object
|
|
5410
|
+
properties:
|
|
5411
|
+
hasUnseenLatestAssistantMessage:
|
|
5412
|
+
type: boolean
|
|
5413
|
+
latestAssistantMessageAt:
|
|
5414
|
+
type: number
|
|
5415
|
+
lastSeenAssistantMessageAt:
|
|
5416
|
+
type: number
|
|
5417
|
+
lastSeenConfidence:
|
|
5418
|
+
type: string
|
|
5419
|
+
enum:
|
|
5420
|
+
- explicit
|
|
5421
|
+
- inferred
|
|
5422
|
+
lastSeenSignalType:
|
|
5423
|
+
type: string
|
|
5424
|
+
enum:
|
|
5425
|
+
- macos_notification_view
|
|
5426
|
+
- macos_conversation_opened
|
|
5427
|
+
- ios_conversation_opened
|
|
5428
|
+
- telegram_inbound_message
|
|
5429
|
+
- telegram_callback
|
|
5430
|
+
- slack_inbound_message
|
|
5431
|
+
- slack_callback
|
|
5432
|
+
required:
|
|
5433
|
+
- hasUnseenLatestAssistantMessage
|
|
5434
|
+
additionalProperties: false
|
|
5435
|
+
isPinned:
|
|
5436
|
+
type: boolean
|
|
5437
|
+
const: true
|
|
5438
|
+
displayOrder:
|
|
5439
|
+
anyOf:
|
|
5440
|
+
- type: number
|
|
5441
|
+
- type: "null"
|
|
5442
|
+
groupId:
|
|
5443
|
+
anyOf:
|
|
5444
|
+
- type: string
|
|
5445
|
+
- type: "null"
|
|
5446
|
+
forkParent:
|
|
5447
|
+
type: object
|
|
5448
|
+
properties:
|
|
5449
|
+
conversationId:
|
|
5450
|
+
type: string
|
|
5451
|
+
messageId:
|
|
5452
|
+
type: string
|
|
5453
|
+
title:
|
|
5454
|
+
type: string
|
|
5455
|
+
required:
|
|
5456
|
+
- conversationId
|
|
5457
|
+
- messageId
|
|
5458
|
+
- title
|
|
5459
|
+
additionalProperties: false
|
|
5460
|
+
archivedAt:
|
|
5461
|
+
type: number
|
|
5462
|
+
inferenceProfile:
|
|
5463
|
+
type: string
|
|
5464
|
+
required:
|
|
5465
|
+
- id
|
|
5466
|
+
- title
|
|
5467
|
+
- createdAt
|
|
5468
|
+
- updatedAt
|
|
5469
|
+
- lastMessageAt
|
|
5470
|
+
- conversationType
|
|
5471
|
+
- source
|
|
5472
|
+
- groupId
|
|
5473
|
+
additionalProperties: false
|
|
5474
|
+
required:
|
|
5475
|
+
- conversation
|
|
5476
|
+
additionalProperties: false
|
|
4800
5477
|
parameters:
|
|
4801
5478
|
- name: id
|
|
4802
5479
|
in: path
|
|
@@ -4813,6 +5490,185 @@ paths:
|
|
|
4813
5490
|
responses:
|
|
4814
5491
|
"200":
|
|
4815
5492
|
description: Successful response
|
|
5493
|
+
content:
|
|
5494
|
+
application/json:
|
|
5495
|
+
schema:
|
|
5496
|
+
type: object
|
|
5497
|
+
properties:
|
|
5498
|
+
conversation:
|
|
5499
|
+
type: object
|
|
5500
|
+
properties:
|
|
5501
|
+
id:
|
|
5502
|
+
type: string
|
|
5503
|
+
title:
|
|
5504
|
+
type: string
|
|
5505
|
+
createdAt:
|
|
5506
|
+
type: number
|
|
5507
|
+
updatedAt:
|
|
5508
|
+
type: number
|
|
5509
|
+
lastMessageAt:
|
|
5510
|
+
anyOf:
|
|
5511
|
+
- type: number
|
|
5512
|
+
- type: "null"
|
|
5513
|
+
conversationType:
|
|
5514
|
+
type: string
|
|
5515
|
+
enum:
|
|
5516
|
+
- standard
|
|
5517
|
+
- background
|
|
5518
|
+
- scheduled
|
|
5519
|
+
source:
|
|
5520
|
+
type: string
|
|
5521
|
+
scheduleJobId:
|
|
5522
|
+
type: string
|
|
5523
|
+
channelBinding:
|
|
5524
|
+
type: object
|
|
5525
|
+
properties:
|
|
5526
|
+
sourceChannel:
|
|
5527
|
+
type: string
|
|
5528
|
+
externalChatId:
|
|
5529
|
+
type: string
|
|
5530
|
+
externalChatName:
|
|
5531
|
+
type: string
|
|
5532
|
+
externalThreadId:
|
|
5533
|
+
type: string
|
|
5534
|
+
externalUserId:
|
|
5535
|
+
anyOf:
|
|
5536
|
+
- type: string
|
|
5537
|
+
- type: "null"
|
|
5538
|
+
displayName:
|
|
5539
|
+
anyOf:
|
|
5540
|
+
- type: string
|
|
5541
|
+
- type: "null"
|
|
5542
|
+
username:
|
|
5543
|
+
anyOf:
|
|
5544
|
+
- type: string
|
|
5545
|
+
- type: "null"
|
|
5546
|
+
slackThread:
|
|
5547
|
+
type: object
|
|
5548
|
+
properties:
|
|
5549
|
+
channelId:
|
|
5550
|
+
type: string
|
|
5551
|
+
threadTs:
|
|
5552
|
+
type: string
|
|
5553
|
+
link:
|
|
5554
|
+
type: object
|
|
5555
|
+
properties:
|
|
5556
|
+
appUrl:
|
|
5557
|
+
type: string
|
|
5558
|
+
webUrl:
|
|
5559
|
+
type: string
|
|
5560
|
+
additionalProperties: false
|
|
5561
|
+
required:
|
|
5562
|
+
- channelId
|
|
5563
|
+
- threadTs
|
|
5564
|
+
additionalProperties: false
|
|
5565
|
+
slackChannel:
|
|
5566
|
+
type: object
|
|
5567
|
+
properties:
|
|
5568
|
+
channelId:
|
|
5569
|
+
type: string
|
|
5570
|
+
name:
|
|
5571
|
+
type: string
|
|
5572
|
+
link:
|
|
5573
|
+
type: object
|
|
5574
|
+
properties:
|
|
5575
|
+
webUrl:
|
|
5576
|
+
type: string
|
|
5577
|
+
required:
|
|
5578
|
+
- webUrl
|
|
5579
|
+
additionalProperties: false
|
|
5580
|
+
required:
|
|
5581
|
+
- channelId
|
|
5582
|
+
additionalProperties: false
|
|
5583
|
+
required:
|
|
5584
|
+
- sourceChannel
|
|
5585
|
+
- externalChatId
|
|
5586
|
+
- externalUserId
|
|
5587
|
+
- displayName
|
|
5588
|
+
- username
|
|
5589
|
+
additionalProperties: false
|
|
5590
|
+
conversationOriginChannel:
|
|
5591
|
+
anyOf:
|
|
5592
|
+
- type: string
|
|
5593
|
+
enum:
|
|
5594
|
+
- telegram
|
|
5595
|
+
- phone
|
|
5596
|
+
- vellum
|
|
5597
|
+
- whatsapp
|
|
5598
|
+
- slack
|
|
5599
|
+
- email
|
|
5600
|
+
- platform
|
|
5601
|
+
- a2a
|
|
5602
|
+
- type: "null"
|
|
5603
|
+
assistantAttention:
|
|
5604
|
+
type: object
|
|
5605
|
+
properties:
|
|
5606
|
+
hasUnseenLatestAssistantMessage:
|
|
5607
|
+
type: boolean
|
|
5608
|
+
latestAssistantMessageAt:
|
|
5609
|
+
type: number
|
|
5610
|
+
lastSeenAssistantMessageAt:
|
|
5611
|
+
type: number
|
|
5612
|
+
lastSeenConfidence:
|
|
5613
|
+
type: string
|
|
5614
|
+
enum:
|
|
5615
|
+
- explicit
|
|
5616
|
+
- inferred
|
|
5617
|
+
lastSeenSignalType:
|
|
5618
|
+
type: string
|
|
5619
|
+
enum:
|
|
5620
|
+
- macos_notification_view
|
|
5621
|
+
- macos_conversation_opened
|
|
5622
|
+
- ios_conversation_opened
|
|
5623
|
+
- telegram_inbound_message
|
|
5624
|
+
- telegram_callback
|
|
5625
|
+
- slack_inbound_message
|
|
5626
|
+
- slack_callback
|
|
5627
|
+
required:
|
|
5628
|
+
- hasUnseenLatestAssistantMessage
|
|
5629
|
+
additionalProperties: false
|
|
5630
|
+
isPinned:
|
|
5631
|
+
type: boolean
|
|
5632
|
+
const: true
|
|
5633
|
+
displayOrder:
|
|
5634
|
+
anyOf:
|
|
5635
|
+
- type: number
|
|
5636
|
+
- type: "null"
|
|
5637
|
+
groupId:
|
|
5638
|
+
anyOf:
|
|
5639
|
+
- type: string
|
|
5640
|
+
- type: "null"
|
|
5641
|
+
forkParent:
|
|
5642
|
+
type: object
|
|
5643
|
+
properties:
|
|
5644
|
+
conversationId:
|
|
5645
|
+
type: string
|
|
5646
|
+
messageId:
|
|
5647
|
+
type: string
|
|
5648
|
+
title:
|
|
5649
|
+
type: string
|
|
5650
|
+
required:
|
|
5651
|
+
- conversationId
|
|
5652
|
+
- messageId
|
|
5653
|
+
- title
|
|
5654
|
+
additionalProperties: false
|
|
5655
|
+
archivedAt:
|
|
5656
|
+
type: number
|
|
5657
|
+
inferenceProfile:
|
|
5658
|
+
type: string
|
|
5659
|
+
required:
|
|
5660
|
+
- id
|
|
5661
|
+
- title
|
|
5662
|
+
- createdAt
|
|
5663
|
+
- updatedAt
|
|
5664
|
+
- lastMessageAt
|
|
5665
|
+
- conversationType
|
|
5666
|
+
- source
|
|
5667
|
+
- groupId
|
|
5668
|
+
additionalProperties: false
|
|
5669
|
+
required:
|
|
5670
|
+
- conversation
|
|
5671
|
+
additionalProperties: false
|
|
4816
5672
|
parameters:
|
|
4817
5673
|
- name: id
|
|
4818
5674
|
in: path
|
|
@@ -4829,6 +5685,19 @@ paths:
|
|
|
4829
5685
|
responses:
|
|
4830
5686
|
"200":
|
|
4831
5687
|
description: Successful response
|
|
5688
|
+
content:
|
|
5689
|
+
application/json:
|
|
5690
|
+
schema:
|
|
5691
|
+
type: object
|
|
5692
|
+
properties:
|
|
5693
|
+
ok:
|
|
5694
|
+
type: boolean
|
|
5695
|
+
conversationId:
|
|
5696
|
+
type: string
|
|
5697
|
+
required:
|
|
5698
|
+
- ok
|
|
5699
|
+
- conversationId
|
|
5700
|
+
additionalProperties: false
|
|
4832
5701
|
parameters:
|
|
4833
5702
|
- name: id
|
|
4834
5703
|
in: path
|
|
@@ -4857,16 +5726,115 @@ paths:
|
|
|
4857
5726
|
conversationId:
|
|
4858
5727
|
type: string
|
|
4859
5728
|
required:
|
|
4860
|
-
- ok
|
|
4861
|
-
- cancelled
|
|
5729
|
+
- ok
|
|
5730
|
+
- cancelled
|
|
5731
|
+
- conversationId
|
|
5732
|
+
additionalProperties: false
|
|
5733
|
+
parameters:
|
|
5734
|
+
- name: id
|
|
5735
|
+
in: path
|
|
5736
|
+
required: true
|
|
5737
|
+
schema:
|
|
5738
|
+
type: string
|
|
5739
|
+
/v1/conversations/{id}/compaction:
|
|
5740
|
+
get:
|
|
5741
|
+
operationId: conversations_by_id_compaction_get
|
|
5742
|
+
summary: Get the compaction trail leading up to an LLM call
|
|
5743
|
+
description:
|
|
5744
|
+
Return the chronological list of compaction events that ran in this conversation in the open window between
|
|
5745
|
+
the previous non-`compactionAgent` LLM call and the call identified by `callId`. Projected from
|
|
5746
|
+
`llm_request_logs` rows where `call_site = "compactionAgent"`. When the selected call is the first real call in
|
|
5747
|
+
the conversation, every preceding compaction is in scope. Drives the Inspector's Compaction tab.
|
|
5748
|
+
tags:
|
|
5749
|
+
- conversations
|
|
5750
|
+
responses:
|
|
5751
|
+
"200":
|
|
5752
|
+
description: Successful response
|
|
5753
|
+
content:
|
|
5754
|
+
application/json:
|
|
5755
|
+
schema:
|
|
5756
|
+
type: object
|
|
5757
|
+
properties:
|
|
5758
|
+
conversationId:
|
|
5759
|
+
type: string
|
|
5760
|
+
events:
|
|
5761
|
+
type: array
|
|
5762
|
+
items:
|
|
5763
|
+
type: object
|
|
5764
|
+
properties:
|
|
5765
|
+
id:
|
|
5766
|
+
type: string
|
|
5767
|
+
createdAt:
|
|
5768
|
+
type: number
|
|
5769
|
+
model:
|
|
5770
|
+
anyOf:
|
|
5771
|
+
- type: string
|
|
5772
|
+
- type: "null"
|
|
5773
|
+
provider:
|
|
5774
|
+
anyOf:
|
|
5775
|
+
- type: string
|
|
5776
|
+
- type: "null"
|
|
5777
|
+
inputTokens:
|
|
5778
|
+
anyOf:
|
|
5779
|
+
- type: number
|
|
5780
|
+
- type: "null"
|
|
5781
|
+
outputTokens:
|
|
5782
|
+
anyOf:
|
|
5783
|
+
- type: number
|
|
5784
|
+
- type: "null"
|
|
5785
|
+
durationMs:
|
|
5786
|
+
anyOf:
|
|
5787
|
+
- type: number
|
|
5788
|
+
- type: "null"
|
|
5789
|
+
responsePreview:
|
|
5790
|
+
anyOf:
|
|
5791
|
+
- type: string
|
|
5792
|
+
- type: "null"
|
|
5793
|
+
requestMessageCount:
|
|
5794
|
+
anyOf:
|
|
5795
|
+
- type: number
|
|
5796
|
+
- type: "null"
|
|
5797
|
+
stopReason:
|
|
5798
|
+
anyOf:
|
|
5799
|
+
- type: string
|
|
5800
|
+
- type: "null"
|
|
5801
|
+
estimatedCostUsd:
|
|
5802
|
+
anyOf:
|
|
5803
|
+
- type: number
|
|
5804
|
+
- type: "null"
|
|
5805
|
+
required:
|
|
5806
|
+
- id
|
|
5807
|
+
- createdAt
|
|
5808
|
+
- model
|
|
5809
|
+
- provider
|
|
5810
|
+
- inputTokens
|
|
5811
|
+
- outputTokens
|
|
5812
|
+
- durationMs
|
|
5813
|
+
- responsePreview
|
|
5814
|
+
- requestMessageCount
|
|
5815
|
+
- stopReason
|
|
5816
|
+
- estimatedCostUsd
|
|
5817
|
+
additionalProperties: false
|
|
5818
|
+
required:
|
|
4862
5819
|
- conversationId
|
|
5820
|
+
- events
|
|
4863
5821
|
additionalProperties: false
|
|
5822
|
+
"400":
|
|
5823
|
+
description: Returned when the callId is missing or refers to a call in a different conversation.
|
|
5824
|
+
"404":
|
|
5825
|
+
description: Returned when the conversation or the referenced LLM call does not exist.
|
|
4864
5826
|
parameters:
|
|
4865
5827
|
- name: id
|
|
4866
5828
|
in: path
|
|
4867
5829
|
required: true
|
|
4868
5830
|
schema:
|
|
4869
5831
|
type: string
|
|
5832
|
+
- name: callId
|
|
5833
|
+
in: query
|
|
5834
|
+
required: true
|
|
5835
|
+
schema:
|
|
5836
|
+
type: string
|
|
5837
|
+
description: ID of the selected LLM call from the rail. Defines the chronological cutoff for the trail.
|
|
4870
5838
|
/v1/conversations/{id}/inference-profile:
|
|
4871
5839
|
put:
|
|
4872
5840
|
operationId: conversations_by_id_inferenceprofile_put
|
|
@@ -4970,6 +5938,16 @@ paths:
|
|
|
4970
5938
|
responses:
|
|
4971
5939
|
"200":
|
|
4972
5940
|
description: Successful response
|
|
5941
|
+
content:
|
|
5942
|
+
application/json:
|
|
5943
|
+
schema:
|
|
5944
|
+
type: object
|
|
5945
|
+
properties:
|
|
5946
|
+
ok:
|
|
5947
|
+
type: boolean
|
|
5948
|
+
required:
|
|
5949
|
+
- ok
|
|
5950
|
+
additionalProperties: false
|
|
4973
5951
|
parameters:
|
|
4974
5952
|
- name: id
|
|
4975
5953
|
in: path
|
|
@@ -5090,6 +6068,19 @@ paths:
|
|
|
5090
6068
|
responses:
|
|
5091
6069
|
"200":
|
|
5092
6070
|
description: Successful response
|
|
6071
|
+
content:
|
|
6072
|
+
application/json:
|
|
6073
|
+
schema:
|
|
6074
|
+
type: object
|
|
6075
|
+
properties:
|
|
6076
|
+
ok:
|
|
6077
|
+
type: boolean
|
|
6078
|
+
conversationId:
|
|
6079
|
+
type: string
|
|
6080
|
+
required:
|
|
6081
|
+
- ok
|
|
6082
|
+
- conversationId
|
|
6083
|
+
additionalProperties: false
|
|
5093
6084
|
parameters:
|
|
5094
6085
|
- name: id
|
|
5095
6086
|
in: path
|
|
@@ -5455,6 +6446,185 @@ paths:
|
|
|
5455
6446
|
responses:
|
|
5456
6447
|
"200":
|
|
5457
6448
|
description: Successful response
|
|
6449
|
+
content:
|
|
6450
|
+
application/json:
|
|
6451
|
+
schema:
|
|
6452
|
+
type: object
|
|
6453
|
+
properties:
|
|
6454
|
+
conversation:
|
|
6455
|
+
type: object
|
|
6456
|
+
properties:
|
|
6457
|
+
id:
|
|
6458
|
+
type: string
|
|
6459
|
+
title:
|
|
6460
|
+
type: string
|
|
6461
|
+
createdAt:
|
|
6462
|
+
type: number
|
|
6463
|
+
updatedAt:
|
|
6464
|
+
type: number
|
|
6465
|
+
lastMessageAt:
|
|
6466
|
+
anyOf:
|
|
6467
|
+
- type: number
|
|
6468
|
+
- type: "null"
|
|
6469
|
+
conversationType:
|
|
6470
|
+
type: string
|
|
6471
|
+
enum:
|
|
6472
|
+
- standard
|
|
6473
|
+
- background
|
|
6474
|
+
- scheduled
|
|
6475
|
+
source:
|
|
6476
|
+
type: string
|
|
6477
|
+
scheduleJobId:
|
|
6478
|
+
type: string
|
|
6479
|
+
channelBinding:
|
|
6480
|
+
type: object
|
|
6481
|
+
properties:
|
|
6482
|
+
sourceChannel:
|
|
6483
|
+
type: string
|
|
6484
|
+
externalChatId:
|
|
6485
|
+
type: string
|
|
6486
|
+
externalChatName:
|
|
6487
|
+
type: string
|
|
6488
|
+
externalThreadId:
|
|
6489
|
+
type: string
|
|
6490
|
+
externalUserId:
|
|
6491
|
+
anyOf:
|
|
6492
|
+
- type: string
|
|
6493
|
+
- type: "null"
|
|
6494
|
+
displayName:
|
|
6495
|
+
anyOf:
|
|
6496
|
+
- type: string
|
|
6497
|
+
- type: "null"
|
|
6498
|
+
username:
|
|
6499
|
+
anyOf:
|
|
6500
|
+
- type: string
|
|
6501
|
+
- type: "null"
|
|
6502
|
+
slackThread:
|
|
6503
|
+
type: object
|
|
6504
|
+
properties:
|
|
6505
|
+
channelId:
|
|
6506
|
+
type: string
|
|
6507
|
+
threadTs:
|
|
6508
|
+
type: string
|
|
6509
|
+
link:
|
|
6510
|
+
type: object
|
|
6511
|
+
properties:
|
|
6512
|
+
appUrl:
|
|
6513
|
+
type: string
|
|
6514
|
+
webUrl:
|
|
6515
|
+
type: string
|
|
6516
|
+
additionalProperties: false
|
|
6517
|
+
required:
|
|
6518
|
+
- channelId
|
|
6519
|
+
- threadTs
|
|
6520
|
+
additionalProperties: false
|
|
6521
|
+
slackChannel:
|
|
6522
|
+
type: object
|
|
6523
|
+
properties:
|
|
6524
|
+
channelId:
|
|
6525
|
+
type: string
|
|
6526
|
+
name:
|
|
6527
|
+
type: string
|
|
6528
|
+
link:
|
|
6529
|
+
type: object
|
|
6530
|
+
properties:
|
|
6531
|
+
webUrl:
|
|
6532
|
+
type: string
|
|
6533
|
+
required:
|
|
6534
|
+
- webUrl
|
|
6535
|
+
additionalProperties: false
|
|
6536
|
+
required:
|
|
6537
|
+
- channelId
|
|
6538
|
+
additionalProperties: false
|
|
6539
|
+
required:
|
|
6540
|
+
- sourceChannel
|
|
6541
|
+
- externalChatId
|
|
6542
|
+
- externalUserId
|
|
6543
|
+
- displayName
|
|
6544
|
+
- username
|
|
6545
|
+
additionalProperties: false
|
|
6546
|
+
conversationOriginChannel:
|
|
6547
|
+
anyOf:
|
|
6548
|
+
- type: string
|
|
6549
|
+
enum:
|
|
6550
|
+
- telegram
|
|
6551
|
+
- phone
|
|
6552
|
+
- vellum
|
|
6553
|
+
- whatsapp
|
|
6554
|
+
- slack
|
|
6555
|
+
- email
|
|
6556
|
+
- platform
|
|
6557
|
+
- a2a
|
|
6558
|
+
- type: "null"
|
|
6559
|
+
assistantAttention:
|
|
6560
|
+
type: object
|
|
6561
|
+
properties:
|
|
6562
|
+
hasUnseenLatestAssistantMessage:
|
|
6563
|
+
type: boolean
|
|
6564
|
+
latestAssistantMessageAt:
|
|
6565
|
+
type: number
|
|
6566
|
+
lastSeenAssistantMessageAt:
|
|
6567
|
+
type: number
|
|
6568
|
+
lastSeenConfidence:
|
|
6569
|
+
type: string
|
|
6570
|
+
enum:
|
|
6571
|
+
- explicit
|
|
6572
|
+
- inferred
|
|
6573
|
+
lastSeenSignalType:
|
|
6574
|
+
type: string
|
|
6575
|
+
enum:
|
|
6576
|
+
- macos_notification_view
|
|
6577
|
+
- macos_conversation_opened
|
|
6578
|
+
- ios_conversation_opened
|
|
6579
|
+
- telegram_inbound_message
|
|
6580
|
+
- telegram_callback
|
|
6581
|
+
- slack_inbound_message
|
|
6582
|
+
- slack_callback
|
|
6583
|
+
required:
|
|
6584
|
+
- hasUnseenLatestAssistantMessage
|
|
6585
|
+
additionalProperties: false
|
|
6586
|
+
isPinned:
|
|
6587
|
+
type: boolean
|
|
6588
|
+
const: true
|
|
6589
|
+
displayOrder:
|
|
6590
|
+
anyOf:
|
|
6591
|
+
- type: number
|
|
6592
|
+
- type: "null"
|
|
6593
|
+
groupId:
|
|
6594
|
+
anyOf:
|
|
6595
|
+
- type: string
|
|
6596
|
+
- type: "null"
|
|
6597
|
+
forkParent:
|
|
6598
|
+
type: object
|
|
6599
|
+
properties:
|
|
6600
|
+
conversationId:
|
|
6601
|
+
type: string
|
|
6602
|
+
messageId:
|
|
6603
|
+
type: string
|
|
6604
|
+
title:
|
|
6605
|
+
type: string
|
|
6606
|
+
required:
|
|
6607
|
+
- conversationId
|
|
6608
|
+
- messageId
|
|
6609
|
+
- title
|
|
6610
|
+
additionalProperties: false
|
|
6611
|
+
archivedAt:
|
|
6612
|
+
type: number
|
|
6613
|
+
inferenceProfile:
|
|
6614
|
+
type: string
|
|
6615
|
+
required:
|
|
6616
|
+
- id
|
|
6617
|
+
- title
|
|
6618
|
+
- createdAt
|
|
6619
|
+
- updatedAt
|
|
6620
|
+
- lastMessageAt
|
|
6621
|
+
- conversationType
|
|
6622
|
+
- source
|
|
6623
|
+
- groupId
|
|
6624
|
+
additionalProperties: false
|
|
6625
|
+
required:
|
|
6626
|
+
- conversation
|
|
6627
|
+
additionalProperties: false
|
|
5458
6628
|
requestBody:
|
|
5459
6629
|
required: true
|
|
5460
6630
|
content:
|
|
@@ -5875,6 +7045,16 @@ paths:
|
|
|
5875
7045
|
responses:
|
|
5876
7046
|
"200":
|
|
5877
7047
|
description: Successful response
|
|
7048
|
+
content:
|
|
7049
|
+
application/json:
|
|
7050
|
+
schema:
|
|
7051
|
+
type: object
|
|
7052
|
+
properties:
|
|
7053
|
+
ok:
|
|
7054
|
+
type: boolean
|
|
7055
|
+
required:
|
|
7056
|
+
- ok
|
|
7057
|
+
additionalProperties: false
|
|
5878
7058
|
requestBody:
|
|
5879
7059
|
required: true
|
|
5880
7060
|
content:
|
|
@@ -5884,8 +7064,22 @@ paths:
|
|
|
5884
7064
|
properties:
|
|
5885
7065
|
updates:
|
|
5886
7066
|
type: array
|
|
5887
|
-
items:
|
|
5888
|
-
|
|
7067
|
+
items:
|
|
7068
|
+
type: object
|
|
7069
|
+
properties:
|
|
7070
|
+
conversationId:
|
|
7071
|
+
type: string
|
|
7072
|
+
displayOrder:
|
|
7073
|
+
type: number
|
|
7074
|
+
isPinned:
|
|
7075
|
+
type: boolean
|
|
7076
|
+
groupId:
|
|
7077
|
+
anyOf:
|
|
7078
|
+
- type: string
|
|
7079
|
+
- type: "null"
|
|
7080
|
+
required:
|
|
7081
|
+
- conversationId
|
|
7082
|
+
additionalProperties: false
|
|
5889
7083
|
required:
|
|
5890
7084
|
- updates
|
|
5891
7085
|
additionalProperties: false
|
|
@@ -5942,6 +7136,48 @@ paths:
|
|
|
5942
7136
|
responses:
|
|
5943
7137
|
"200":
|
|
5944
7138
|
description: Successful response
|
|
7139
|
+
content:
|
|
7140
|
+
application/json:
|
|
7141
|
+
schema:
|
|
7142
|
+
type: object
|
|
7143
|
+
properties:
|
|
7144
|
+
ok:
|
|
7145
|
+
type: boolean
|
|
7146
|
+
required:
|
|
7147
|
+
- ok
|
|
7148
|
+
additionalProperties: false
|
|
7149
|
+
requestBody:
|
|
7150
|
+
required: true
|
|
7151
|
+
content:
|
|
7152
|
+
application/json:
|
|
7153
|
+
schema:
|
|
7154
|
+
type: object
|
|
7155
|
+
properties:
|
|
7156
|
+
conversationId:
|
|
7157
|
+
type: string
|
|
7158
|
+
sourceChannel:
|
|
7159
|
+
type: string
|
|
7160
|
+
signalType:
|
|
7161
|
+
type: string
|
|
7162
|
+
confidence:
|
|
7163
|
+
type: string
|
|
7164
|
+
enum:
|
|
7165
|
+
- explicit
|
|
7166
|
+
- inferred
|
|
7167
|
+
source:
|
|
7168
|
+
type: string
|
|
7169
|
+
evidenceText:
|
|
7170
|
+
type: string
|
|
7171
|
+
metadata:
|
|
7172
|
+
type: object
|
|
7173
|
+
propertyNames:
|
|
7174
|
+
type: string
|
|
7175
|
+
additionalProperties: {}
|
|
7176
|
+
observedAt:
|
|
7177
|
+
type: number
|
|
7178
|
+
required:
|
|
7179
|
+
- conversationId
|
|
7180
|
+
additionalProperties: false
|
|
5945
7181
|
/v1/conversations/switch:
|
|
5946
7182
|
post:
|
|
5947
7183
|
operationId: conversations_switch_post
|
|
@@ -5995,6 +7231,28 @@ paths:
|
|
|
5995
7231
|
responses:
|
|
5996
7232
|
"200":
|
|
5997
7233
|
description: Successful response
|
|
7234
|
+
content:
|
|
7235
|
+
application/json:
|
|
7236
|
+
schema:
|
|
7237
|
+
type: object
|
|
7238
|
+
properties:
|
|
7239
|
+
ok:
|
|
7240
|
+
type: boolean
|
|
7241
|
+
required:
|
|
7242
|
+
- ok
|
|
7243
|
+
additionalProperties: false
|
|
7244
|
+
requestBody:
|
|
7245
|
+
required: true
|
|
7246
|
+
content:
|
|
7247
|
+
application/json:
|
|
7248
|
+
schema:
|
|
7249
|
+
type: object
|
|
7250
|
+
properties:
|
|
7251
|
+
conversationId:
|
|
7252
|
+
type: string
|
|
7253
|
+
required:
|
|
7254
|
+
- conversationId
|
|
7255
|
+
additionalProperties: false
|
|
5998
7256
|
/v1/conversations/wake:
|
|
5999
7257
|
post:
|
|
6000
7258
|
operationId: conversations_wake_post
|
|
@@ -7008,8 +8266,29 @@ paths:
|
|
|
7008
8266
|
properties:
|
|
7009
8267
|
documents:
|
|
7010
8268
|
type: array
|
|
7011
|
-
items:
|
|
7012
|
-
|
|
8269
|
+
items:
|
|
8270
|
+
type: object
|
|
8271
|
+
properties:
|
|
8272
|
+
surfaceId:
|
|
8273
|
+
type: string
|
|
8274
|
+
conversationId:
|
|
8275
|
+
type: string
|
|
8276
|
+
title:
|
|
8277
|
+
type: string
|
|
8278
|
+
wordCount:
|
|
8279
|
+
type: number
|
|
8280
|
+
createdAt:
|
|
8281
|
+
type: number
|
|
8282
|
+
updatedAt:
|
|
8283
|
+
type: number
|
|
8284
|
+
required:
|
|
8285
|
+
- surfaceId
|
|
8286
|
+
- conversationId
|
|
8287
|
+
- title
|
|
8288
|
+
- wordCount
|
|
8289
|
+
- createdAt
|
|
8290
|
+
- updatedAt
|
|
8291
|
+
additionalProperties: false
|
|
7013
8292
|
required:
|
|
7014
8293
|
- documents
|
|
7015
8294
|
additionalProperties: false
|
|
@@ -7934,6 +9213,33 @@ paths:
|
|
|
7934
9213
|
responses:
|
|
7935
9214
|
"200":
|
|
7936
9215
|
description: Successful response
|
|
9216
|
+
content:
|
|
9217
|
+
application/json:
|
|
9218
|
+
schema:
|
|
9219
|
+
type: object
|
|
9220
|
+
properties:
|
|
9221
|
+
groups:
|
|
9222
|
+
type: array
|
|
9223
|
+
items:
|
|
9224
|
+
type: object
|
|
9225
|
+
properties:
|
|
9226
|
+
id:
|
|
9227
|
+
type: string
|
|
9228
|
+
name:
|
|
9229
|
+
type: string
|
|
9230
|
+
sortPosition:
|
|
9231
|
+
type: number
|
|
9232
|
+
isSystemGroup:
|
|
9233
|
+
type: boolean
|
|
9234
|
+
required:
|
|
9235
|
+
- id
|
|
9236
|
+
- name
|
|
9237
|
+
- sortPosition
|
|
9238
|
+
- isSystemGroup
|
|
9239
|
+
additionalProperties: false
|
|
9240
|
+
required:
|
|
9241
|
+
- groups
|
|
9242
|
+
additionalProperties: false
|
|
7937
9243
|
post:
|
|
7938
9244
|
operationId: groups_post
|
|
7939
9245
|
summary: Create group
|
|
@@ -7943,6 +9249,25 @@ paths:
|
|
|
7943
9249
|
responses:
|
|
7944
9250
|
"201":
|
|
7945
9251
|
description: Successful response
|
|
9252
|
+
content:
|
|
9253
|
+
application/json:
|
|
9254
|
+
schema:
|
|
9255
|
+
type: object
|
|
9256
|
+
properties:
|
|
9257
|
+
id:
|
|
9258
|
+
type: string
|
|
9259
|
+
name:
|
|
9260
|
+
type: string
|
|
9261
|
+
sortPosition:
|
|
9262
|
+
type: number
|
|
9263
|
+
isSystemGroup:
|
|
9264
|
+
type: boolean
|
|
9265
|
+
required:
|
|
9266
|
+
- id
|
|
9267
|
+
- name
|
|
9268
|
+
- sortPosition
|
|
9269
|
+
- isSystemGroup
|
|
9270
|
+
additionalProperties: false
|
|
7946
9271
|
"400":
|
|
7947
9272
|
description: Missing or invalid name, or sort_position ceiling reached
|
|
7948
9273
|
requestBody:
|
|
@@ -7987,6 +9312,25 @@ paths:
|
|
|
7987
9312
|
responses:
|
|
7988
9313
|
"200":
|
|
7989
9314
|
description: Successful response
|
|
9315
|
+
content:
|
|
9316
|
+
application/json:
|
|
9317
|
+
schema:
|
|
9318
|
+
type: object
|
|
9319
|
+
properties:
|
|
9320
|
+
id:
|
|
9321
|
+
type: string
|
|
9322
|
+
name:
|
|
9323
|
+
type: string
|
|
9324
|
+
sortPosition:
|
|
9325
|
+
type: number
|
|
9326
|
+
isSystemGroup:
|
|
9327
|
+
type: boolean
|
|
9328
|
+
required:
|
|
9329
|
+
- id
|
|
9330
|
+
- name
|
|
9331
|
+
- sortPosition
|
|
9332
|
+
- isSystemGroup
|
|
9333
|
+
additionalProperties: false
|
|
7990
9334
|
"403":
|
|
7991
9335
|
description: System group sort position cannot be changed
|
|
7992
9336
|
"404":
|
|
@@ -8019,6 +9363,16 @@ paths:
|
|
|
8019
9363
|
responses:
|
|
8020
9364
|
"200":
|
|
8021
9365
|
description: Successful response
|
|
9366
|
+
content:
|
|
9367
|
+
application/json:
|
|
9368
|
+
schema:
|
|
9369
|
+
type: object
|
|
9370
|
+
properties:
|
|
9371
|
+
ok:
|
|
9372
|
+
type: boolean
|
|
9373
|
+
required:
|
|
9374
|
+
- ok
|
|
9375
|
+
additionalProperties: false
|
|
8022
9376
|
"403":
|
|
8023
9377
|
description: Cannot reorder system groups
|
|
8024
9378
|
requestBody:
|
|
@@ -8986,51 +10340,242 @@ paths:
|
|
|
8986
10340
|
properties:
|
|
8987
10341
|
status:
|
|
8988
10342
|
type: string
|
|
8989
|
-
enum:
|
|
8990
|
-
- new
|
|
8991
|
-
- seen
|
|
8992
|
-
- acted_on
|
|
8993
|
-
- dismissed
|
|
8994
|
-
required:
|
|
8995
|
-
- status
|
|
10343
|
+
enum:
|
|
10344
|
+
- new
|
|
10345
|
+
- seen
|
|
10346
|
+
- acted_on
|
|
10347
|
+
- dismissed
|
|
10348
|
+
required:
|
|
10349
|
+
- status
|
|
10350
|
+
additionalProperties: false
|
|
10351
|
+
/v1/home/feed/{id}/actions/{actionId}:
|
|
10352
|
+
post:
|
|
10353
|
+
operationId: home_feed_by_id_actions_by_actionId_post
|
|
10354
|
+
summary: Trigger home feed action
|
|
10355
|
+
description:
|
|
10356
|
+
Create a new conversation pre-seeded with the action's prompt as the first user message. Returns the new
|
|
10357
|
+
`conversationId`.
|
|
10358
|
+
tags:
|
|
10359
|
+
- home
|
|
10360
|
+
responses:
|
|
10361
|
+
"200":
|
|
10362
|
+
description: Successful response
|
|
10363
|
+
content:
|
|
10364
|
+
application/json:
|
|
10365
|
+
schema:
|
|
10366
|
+
type: object
|
|
10367
|
+
properties:
|
|
10368
|
+
conversationId:
|
|
10369
|
+
type: string
|
|
10370
|
+
required:
|
|
10371
|
+
- conversationId
|
|
10372
|
+
additionalProperties: false
|
|
10373
|
+
"404":
|
|
10374
|
+
description: Feed item or action not found
|
|
10375
|
+
"500":
|
|
10376
|
+
description: Failed to create conversation
|
|
10377
|
+
parameters:
|
|
10378
|
+
- name: id
|
|
10379
|
+
in: path
|
|
10380
|
+
required: true
|
|
10381
|
+
schema:
|
|
10382
|
+
type: string
|
|
10383
|
+
- name: actionId
|
|
10384
|
+
in: path
|
|
10385
|
+
required: true
|
|
10386
|
+
schema:
|
|
10387
|
+
type: string
|
|
10388
|
+
/v1/home/feed/query:
|
|
10389
|
+
post:
|
|
10390
|
+
operationId: home_feed_query_post
|
|
10391
|
+
summary: List home feed items with filters
|
|
10392
|
+
description:
|
|
10393
|
+
Return home feed items filtered by status, urgency, category, conversation, and date range. Defaults to
|
|
10394
|
+
excluding dismissed items. Used by the assistant CLI to inspect what notifications have been surfaced to the
|
|
10395
|
+
user.
|
|
10396
|
+
tags:
|
|
10397
|
+
- home
|
|
10398
|
+
responses:
|
|
10399
|
+
"200":
|
|
10400
|
+
description: Successful response
|
|
10401
|
+
content:
|
|
10402
|
+
application/json:
|
|
10403
|
+
schema:
|
|
10404
|
+
type: object
|
|
10405
|
+
properties:
|
|
10406
|
+
items:
|
|
10407
|
+
type: array
|
|
10408
|
+
items:
|
|
10409
|
+
type: object
|
|
10410
|
+
properties:
|
|
10411
|
+
id:
|
|
10412
|
+
type: string
|
|
10413
|
+
type:
|
|
10414
|
+
type: string
|
|
10415
|
+
const: notification
|
|
10416
|
+
priority:
|
|
10417
|
+
type: integer
|
|
10418
|
+
minimum: 0
|
|
10419
|
+
maximum: 100
|
|
10420
|
+
title:
|
|
10421
|
+
type: string
|
|
10422
|
+
summary:
|
|
10423
|
+
type: string
|
|
10424
|
+
timestamp:
|
|
10425
|
+
type: string
|
|
10426
|
+
status:
|
|
10427
|
+
default: new
|
|
10428
|
+
type: string
|
|
10429
|
+
enum:
|
|
10430
|
+
- new
|
|
10431
|
+
- seen
|
|
10432
|
+
- acted_on
|
|
10433
|
+
- dismissed
|
|
10434
|
+
expiresAt:
|
|
10435
|
+
type: string
|
|
10436
|
+
actions:
|
|
10437
|
+
type: array
|
|
10438
|
+
items:
|
|
10439
|
+
type: object
|
|
10440
|
+
properties:
|
|
10441
|
+
id:
|
|
10442
|
+
type: string
|
|
10443
|
+
label:
|
|
10444
|
+
type: string
|
|
10445
|
+
prompt:
|
|
10446
|
+
type: string
|
|
10447
|
+
required:
|
|
10448
|
+
- id
|
|
10449
|
+
- label
|
|
10450
|
+
- prompt
|
|
10451
|
+
additionalProperties: false
|
|
10452
|
+
urgency:
|
|
10453
|
+
type: string
|
|
10454
|
+
enum:
|
|
10455
|
+
- low
|
|
10456
|
+
- medium
|
|
10457
|
+
- high
|
|
10458
|
+
- critical
|
|
10459
|
+
conversationId:
|
|
10460
|
+
type: string
|
|
10461
|
+
detailPanel:
|
|
10462
|
+
type: object
|
|
10463
|
+
properties:
|
|
10464
|
+
kind:
|
|
10465
|
+
type: string
|
|
10466
|
+
enum:
|
|
10467
|
+
- emailDraft
|
|
10468
|
+
- documentPreview
|
|
10469
|
+
- permissionChat
|
|
10470
|
+
- paymentAuth
|
|
10471
|
+
- toolPermission
|
|
10472
|
+
- updatesList
|
|
10473
|
+
required:
|
|
10474
|
+
- kind
|
|
10475
|
+
additionalProperties: false
|
|
10476
|
+
category:
|
|
10477
|
+
type: string
|
|
10478
|
+
enum:
|
|
10479
|
+
- security
|
|
10480
|
+
- scheduling
|
|
10481
|
+
- background
|
|
10482
|
+
- email
|
|
10483
|
+
- system
|
|
10484
|
+
noteworthy:
|
|
10485
|
+
type: boolean
|
|
10486
|
+
fromAssistant:
|
|
10487
|
+
type: boolean
|
|
10488
|
+
metadata:
|
|
10489
|
+
type: object
|
|
10490
|
+
propertyNames:
|
|
10491
|
+
type: string
|
|
10492
|
+
additionalProperties: {}
|
|
10493
|
+
createdAt:
|
|
10494
|
+
type: string
|
|
10495
|
+
required:
|
|
10496
|
+
- id
|
|
10497
|
+
- type
|
|
10498
|
+
- priority
|
|
10499
|
+
- summary
|
|
10500
|
+
- timestamp
|
|
10501
|
+
- status
|
|
10502
|
+
- createdAt
|
|
10503
|
+
additionalProperties: false
|
|
10504
|
+
total:
|
|
10505
|
+
type: integer
|
|
10506
|
+
minimum: 0
|
|
10507
|
+
maximum: 9007199254740991
|
|
10508
|
+
returned:
|
|
10509
|
+
type: integer
|
|
10510
|
+
minimum: 0
|
|
10511
|
+
maximum: 9007199254740991
|
|
10512
|
+
hasMore:
|
|
10513
|
+
type: boolean
|
|
10514
|
+
updatedAt:
|
|
10515
|
+
type: string
|
|
10516
|
+
required:
|
|
10517
|
+
- items
|
|
10518
|
+
- total
|
|
10519
|
+
- returned
|
|
10520
|
+
- hasMore
|
|
10521
|
+
- updatedAt
|
|
10522
|
+
additionalProperties: false
|
|
10523
|
+
requestBody:
|
|
10524
|
+
required: true
|
|
10525
|
+
content:
|
|
10526
|
+
application/json:
|
|
10527
|
+
schema:
|
|
10528
|
+
type: object
|
|
10529
|
+
properties:
|
|
10530
|
+
includeDismissed:
|
|
10531
|
+
type: boolean
|
|
10532
|
+
statuses:
|
|
10533
|
+
type: array
|
|
10534
|
+
items:
|
|
10535
|
+
type: string
|
|
10536
|
+
enum:
|
|
10537
|
+
- new
|
|
10538
|
+
- seen
|
|
10539
|
+
- acted_on
|
|
10540
|
+
- dismissed
|
|
10541
|
+
before:
|
|
10542
|
+
type: string
|
|
10543
|
+
after:
|
|
10544
|
+
type: string
|
|
10545
|
+
urgencies:
|
|
10546
|
+
type: array
|
|
10547
|
+
items:
|
|
10548
|
+
type: string
|
|
10549
|
+
enum:
|
|
10550
|
+
- low
|
|
10551
|
+
- medium
|
|
10552
|
+
- high
|
|
10553
|
+
- critical
|
|
10554
|
+
categories:
|
|
10555
|
+
type: array
|
|
10556
|
+
items:
|
|
10557
|
+
type: string
|
|
10558
|
+
enum:
|
|
10559
|
+
- security
|
|
10560
|
+
- scheduling
|
|
10561
|
+
- background
|
|
10562
|
+
- email
|
|
10563
|
+
- system
|
|
10564
|
+
conversationId:
|
|
10565
|
+
type: string
|
|
10566
|
+
fromAssistant:
|
|
10567
|
+
type: boolean
|
|
10568
|
+
noteworthy:
|
|
10569
|
+
type: boolean
|
|
10570
|
+
limit:
|
|
10571
|
+
type: integer
|
|
10572
|
+
exclusiveMinimum: 0
|
|
10573
|
+
maximum: 200
|
|
10574
|
+
offset:
|
|
10575
|
+
type: integer
|
|
10576
|
+
minimum: 0
|
|
10577
|
+
maximum: 9007199254740991
|
|
8996
10578
|
additionalProperties: false
|
|
8997
|
-
/v1/home/feed/{id}/actions/{actionId}:
|
|
8998
|
-
post:
|
|
8999
|
-
operationId: home_feed_by_id_actions_by_actionId_post
|
|
9000
|
-
summary: Trigger home feed action
|
|
9001
|
-
description:
|
|
9002
|
-
Create a new conversation pre-seeded with the action's prompt as the first user message. Returns the new
|
|
9003
|
-
`conversationId`.
|
|
9004
|
-
tags:
|
|
9005
|
-
- home
|
|
9006
|
-
responses:
|
|
9007
|
-
"200":
|
|
9008
|
-
description: Successful response
|
|
9009
|
-
content:
|
|
9010
|
-
application/json:
|
|
9011
|
-
schema:
|
|
9012
|
-
type: object
|
|
9013
|
-
properties:
|
|
9014
|
-
conversationId:
|
|
9015
|
-
type: string
|
|
9016
|
-
required:
|
|
9017
|
-
- conversationId
|
|
9018
|
-
additionalProperties: false
|
|
9019
|
-
"404":
|
|
9020
|
-
description: Feed item or action not found
|
|
9021
|
-
"500":
|
|
9022
|
-
description: Failed to create conversation
|
|
9023
|
-
parameters:
|
|
9024
|
-
- name: id
|
|
9025
|
-
in: path
|
|
9026
|
-
required: true
|
|
9027
|
-
schema:
|
|
9028
|
-
type: string
|
|
9029
|
-
- name: actionId
|
|
9030
|
-
in: path
|
|
9031
|
-
required: true
|
|
9032
|
-
schema:
|
|
9033
|
-
type: string
|
|
9034
10579
|
/v1/home/state:
|
|
9035
10580
|
get:
|
|
9036
10581
|
operationId: home_state_get
|
|
@@ -9603,10 +11148,8 @@ paths:
|
|
|
9603
11148
|
/v1/identity/intro:
|
|
9604
11149
|
get:
|
|
9605
11150
|
operationId: identity_intro_get
|
|
9606
|
-
summary: Get identity
|
|
9607
|
-
description:
|
|
9608
|
-
Returns a deterministic greeting derived from the assistant name in IDENTITY.md, falling back to
|
|
9609
|
-
LLM-generated cache.
|
|
11151
|
+
summary: Get identity greetings
|
|
11152
|
+
description: Returns an array of greetings sourced from SOUL.md, LLM cache, or static fallbacks.
|
|
9610
11153
|
tags:
|
|
9611
11154
|
- identity
|
|
9612
11155
|
responses:
|
|
@@ -9617,9 +11160,14 @@ paths:
|
|
|
9617
11160
|
schema:
|
|
9618
11161
|
type: object
|
|
9619
11162
|
properties:
|
|
11163
|
+
greetings:
|
|
11164
|
+
type: array
|
|
11165
|
+
items:
|
|
11166
|
+
type: string
|
|
9620
11167
|
text:
|
|
9621
11168
|
type: string
|
|
9622
11169
|
required:
|
|
11170
|
+
- greetings
|
|
9623
11171
|
- text
|
|
9624
11172
|
additionalProperties: false
|
|
9625
11173
|
/v1/image-generation/generate:
|
|
@@ -9782,11 +11330,6 @@ paths:
|
|
|
9782
11330
|
- type
|
|
9783
11331
|
- credential
|
|
9784
11332
|
additionalProperties: false
|
|
9785
|
-
status:
|
|
9786
|
-
type: string
|
|
9787
|
-
enum:
|
|
9788
|
-
- active
|
|
9789
|
-
- disabled
|
|
9790
11333
|
label:
|
|
9791
11334
|
anyOf:
|
|
9792
11335
|
- type: string
|
|
@@ -9827,7 +11370,6 @@ paths:
|
|
|
9827
11370
|
- name
|
|
9828
11371
|
- provider
|
|
9829
11372
|
- auth
|
|
9830
|
-
- status
|
|
9831
11373
|
- label
|
|
9832
11374
|
- baseUrl
|
|
9833
11375
|
- models
|
|
@@ -9929,11 +11471,6 @@ paths:
|
|
|
9929
11471
|
- type
|
|
9930
11472
|
- credential
|
|
9931
11473
|
additionalProperties: false
|
|
9932
|
-
status:
|
|
9933
|
-
type: string
|
|
9934
|
-
enum:
|
|
9935
|
-
- active
|
|
9936
|
-
- disabled
|
|
9937
11474
|
label:
|
|
9938
11475
|
anyOf:
|
|
9939
11476
|
- type: string
|
|
@@ -9974,7 +11511,6 @@ paths:
|
|
|
9974
11511
|
- name
|
|
9975
11512
|
- provider
|
|
9976
11513
|
- auth
|
|
9977
|
-
- status
|
|
9978
11514
|
- label
|
|
9979
11515
|
- baseUrl
|
|
9980
11516
|
- models
|
|
@@ -10064,11 +11600,6 @@ paths:
|
|
|
10064
11600
|
label:
|
|
10065
11601
|
type: string
|
|
10066
11602
|
minLength: 1
|
|
10067
|
-
status:
|
|
10068
|
-
type: string
|
|
10069
|
-
enum:
|
|
10070
|
-
- active
|
|
10071
|
-
- disabled
|
|
10072
11603
|
base_url:
|
|
10073
11604
|
anyOf:
|
|
10074
11605
|
- type: string
|
|
@@ -10213,11 +11744,6 @@ paths:
|
|
|
10213
11744
|
- type
|
|
10214
11745
|
- credential
|
|
10215
11746
|
additionalProperties: false
|
|
10216
|
-
status:
|
|
10217
|
-
type: string
|
|
10218
|
-
enum:
|
|
10219
|
-
- active
|
|
10220
|
-
- disabled
|
|
10221
11747
|
label:
|
|
10222
11748
|
anyOf:
|
|
10223
11749
|
- type: string
|
|
@@ -10258,7 +11784,6 @@ paths:
|
|
|
10258
11784
|
- name
|
|
10259
11785
|
- provider
|
|
10260
11786
|
- auth
|
|
10261
|
-
- status
|
|
10262
11787
|
- label
|
|
10263
11788
|
- baseUrl
|
|
10264
11789
|
- models
|
|
@@ -10279,8 +11804,7 @@ paths:
|
|
|
10279
11804
|
summary: Update a provider connection
|
|
10280
11805
|
description:
|
|
10281
11806
|
Update an existing connection. Cannot rename or change the provider. For managed connections
|
|
10282
|
-
(anthropic-managed, openai-managed, gemini-managed) the auth is locked to platform; label
|
|
10283
|
-
editable.
|
|
11807
|
+
(anthropic-managed, openai-managed, gemini-managed) the auth is locked to platform; label remains editable.
|
|
10284
11808
|
tags:
|
|
10285
11809
|
- inference
|
|
10286
11810
|
responses:
|
|
@@ -10359,11 +11883,6 @@ paths:
|
|
|
10359
11883
|
- type
|
|
10360
11884
|
- credential
|
|
10361
11885
|
additionalProperties: false
|
|
10362
|
-
status:
|
|
10363
|
-
type: string
|
|
10364
|
-
enum:
|
|
10365
|
-
- active
|
|
10366
|
-
- disabled
|
|
10367
11886
|
label:
|
|
10368
11887
|
anyOf:
|
|
10369
11888
|
- type: string
|
|
@@ -10404,7 +11923,6 @@ paths:
|
|
|
10404
11923
|
- name
|
|
10405
11924
|
- provider
|
|
10406
11925
|
- auth
|
|
10407
|
-
- status
|
|
10408
11926
|
- label
|
|
10409
11927
|
- baseUrl
|
|
10410
11928
|
- models
|
|
@@ -10483,11 +12001,6 @@ paths:
|
|
|
10483
12001
|
- type
|
|
10484
12002
|
- credential
|
|
10485
12003
|
additionalProperties: false
|
|
10486
|
-
status:
|
|
10487
|
-
type: string
|
|
10488
|
-
enum:
|
|
10489
|
-
- active
|
|
10490
|
-
- disabled
|
|
10491
12004
|
label:
|
|
10492
12005
|
anyOf:
|
|
10493
12006
|
- type: string
|
|
@@ -10883,6 +12396,21 @@ paths:
|
|
|
10883
12396
|
responses:
|
|
10884
12397
|
"200":
|
|
10885
12398
|
description: Successful response
|
|
12399
|
+
content:
|
|
12400
|
+
application/json:
|
|
12401
|
+
schema:
|
|
12402
|
+
type: object
|
|
12403
|
+
properties:
|
|
12404
|
+
hasToken:
|
|
12405
|
+
type: boolean
|
|
12406
|
+
success:
|
|
12407
|
+
type: boolean
|
|
12408
|
+
error:
|
|
12409
|
+
type: string
|
|
12410
|
+
required:
|
|
12411
|
+
- hasToken
|
|
12412
|
+
- success
|
|
12413
|
+
additionalProperties: false
|
|
10886
12414
|
get:
|
|
10887
12415
|
operationId: integrations_vercel_config_get
|
|
10888
12416
|
summary: Get Vercel config
|
|
@@ -10892,6 +12420,21 @@ paths:
|
|
|
10892
12420
|
responses:
|
|
10893
12421
|
"200":
|
|
10894
12422
|
description: Successful response
|
|
12423
|
+
content:
|
|
12424
|
+
application/json:
|
|
12425
|
+
schema:
|
|
12426
|
+
type: object
|
|
12427
|
+
properties:
|
|
12428
|
+
hasToken:
|
|
12429
|
+
type: boolean
|
|
12430
|
+
success:
|
|
12431
|
+
type: boolean
|
|
12432
|
+
error:
|
|
12433
|
+
type: string
|
|
12434
|
+
required:
|
|
12435
|
+
- hasToken
|
|
12436
|
+
- success
|
|
12437
|
+
additionalProperties: false
|
|
10895
12438
|
post:
|
|
10896
12439
|
operationId: integrations_vercel_config_post
|
|
10897
12440
|
summary: Set or delete Vercel config
|
|
@@ -10901,6 +12444,37 @@ paths:
|
|
|
10901
12444
|
responses:
|
|
10902
12445
|
"200":
|
|
10903
12446
|
description: Successful response
|
|
12447
|
+
content:
|
|
12448
|
+
application/json:
|
|
12449
|
+
schema:
|
|
12450
|
+
type: object
|
|
12451
|
+
properties:
|
|
12452
|
+
hasToken:
|
|
12453
|
+
type: boolean
|
|
12454
|
+
success:
|
|
12455
|
+
type: boolean
|
|
12456
|
+
error:
|
|
12457
|
+
type: string
|
|
12458
|
+
required:
|
|
12459
|
+
- hasToken
|
|
12460
|
+
- success
|
|
12461
|
+
additionalProperties: false
|
|
12462
|
+
requestBody:
|
|
12463
|
+
required: true
|
|
12464
|
+
content:
|
|
12465
|
+
application/json:
|
|
12466
|
+
schema:
|
|
12467
|
+
type: object
|
|
12468
|
+
properties:
|
|
12469
|
+
action:
|
|
12470
|
+
type: string
|
|
12471
|
+
enum:
|
|
12472
|
+
- get
|
|
12473
|
+
- set
|
|
12474
|
+
- delete
|
|
12475
|
+
apiToken:
|
|
12476
|
+
type: string
|
|
12477
|
+
additionalProperties: false
|
|
10904
12478
|
/v1/internal/mcp/add:
|
|
10905
12479
|
post:
|
|
10906
12480
|
operationId: internal_mcp_add_post
|
|
@@ -11707,6 +13281,79 @@ paths:
|
|
|
11707
13281
|
type: object
|
|
11708
13282
|
properties: {}
|
|
11709
13283
|
additionalProperties: false
|
|
13284
|
+
/v1/memory/v3/seed-edges:
|
|
13285
|
+
post:
|
|
13286
|
+
operationId: memory_v3_seededges_post
|
|
13287
|
+
summary: Seed the learned co-retrieval edge graph from v2 router history
|
|
13288
|
+
description:
|
|
13289
|
+
Builds an NPMI-scored co-retrieval graph from the v2 router's per-turn selections
|
|
13290
|
+
(memory_v2_activation_logs, status='injected') and persists it into memory_v3_auto_edges, warm-starting the
|
|
13291
|
+
learned edge graph that the v3 edge-expansion lane merges with curated edges when
|
|
13292
|
+
memory.v3.edges.learnedAdjacencyThreshold > 0. NPMI plus a min co-occurrence floor and an always-on frequency
|
|
13293
|
+
ceiling keep the neighborhoods associative rather than base-rate noise. Idempotent (upserts to a flat seed
|
|
13294
|
+
weight). Runs no LLM; the only write among the v3 routes.
|
|
13295
|
+
tags:
|
|
13296
|
+
- memory
|
|
13297
|
+
responses:
|
|
13298
|
+
"200":
|
|
13299
|
+
description: Successful response
|
|
13300
|
+
requestBody:
|
|
13301
|
+
required: true
|
|
13302
|
+
content:
|
|
13303
|
+
application/json:
|
|
13304
|
+
schema:
|
|
13305
|
+
type: object
|
|
13306
|
+
properties:
|
|
13307
|
+
minCount:
|
|
13308
|
+
type: integer
|
|
13309
|
+
exclusiveMinimum: 0
|
|
13310
|
+
maximum: 9007199254740991
|
|
13311
|
+
topK:
|
|
13312
|
+
type: integer
|
|
13313
|
+
exclusiveMinimum: 0
|
|
13314
|
+
maximum: 9007199254740991
|
|
13315
|
+
maxNeighborFreqRatio:
|
|
13316
|
+
type: number
|
|
13317
|
+
exclusiveMinimum: 0
|
|
13318
|
+
maximum: 1
|
|
13319
|
+
seedWeight:
|
|
13320
|
+
type: number
|
|
13321
|
+
exclusiveMinimum: 0
|
|
13322
|
+
additionalProperties: false
|
|
13323
|
+
/v1/memory/v3/shadow-diff:
|
|
13324
|
+
post:
|
|
13325
|
+
operationId: memory_v3_shadowdiff_post
|
|
13326
|
+
summary: Diff v3 shadow selections against live v2 router selections (read-only)
|
|
13327
|
+
description:
|
|
13328
|
+
Compares the v3 shadow-mode selections against the live v2 router selections turn-for-turn, from the memory
|
|
13329
|
+
activation log. Pairs each v3_shadow row with the nearest v2 router row in the same conversation (by timestamp,
|
|
13330
|
+
within a tolerance — the turn columns use different counters), then reports per-turn and aggregate overlap, what
|
|
13331
|
+
v3 surfaced that v2 did not, and what v2 had that v3 dropped, broken down by v3 provenance lane. The v2
|
|
13332
|
+
comparand is the router's fresh per-turn pick (status='injected'), not its accumulated in-context set. Requires
|
|
13333
|
+
that v3 shadow mode has been running so v3_shadow rows exist; the route runs no LLM and writes nothing.
|
|
13334
|
+
tags:
|
|
13335
|
+
- memory
|
|
13336
|
+
responses:
|
|
13337
|
+
"200":
|
|
13338
|
+
description: Successful response
|
|
13339
|
+
requestBody:
|
|
13340
|
+
required: true
|
|
13341
|
+
content:
|
|
13342
|
+
application/json:
|
|
13343
|
+
schema:
|
|
13344
|
+
type: object
|
|
13345
|
+
properties:
|
|
13346
|
+
sinceDays:
|
|
13347
|
+
type: number
|
|
13348
|
+
exclusiveMinimum: 0
|
|
13349
|
+
toleranceSec:
|
|
13350
|
+
type: number
|
|
13351
|
+
exclusiveMinimum: 0
|
|
13352
|
+
limit:
|
|
13353
|
+
type: integer
|
|
13354
|
+
exclusiveMinimum: 0
|
|
13355
|
+
maximum: 9007199254740991
|
|
13356
|
+
additionalProperties: false
|
|
11710
13357
|
/v1/memory/v3/simulate:
|
|
11711
13358
|
post:
|
|
11712
13359
|
operationId: memory_v3_simulate_post
|
|
@@ -11740,6 +13387,7 @@ paths:
|
|
|
11740
13387
|
exclusiveMinimum: 0
|
|
11741
13388
|
maximum: 9007199254740991
|
|
11742
13389
|
lanes:
|
|
13390
|
+
minItems: 1
|
|
11743
13391
|
type: array
|
|
11744
13392
|
items:
|
|
11745
13393
|
type: string
|
|
@@ -12424,6 +14072,92 @@ paths:
|
|
|
12424
14072
|
required:
|
|
12425
14073
|
- deliveryId
|
|
12426
14074
|
additionalProperties: false
|
|
14075
|
+
/v1/notifications/edit:
|
|
14076
|
+
post:
|
|
14077
|
+
operationId: notifications_edit_post
|
|
14078
|
+
summary: Edit an already-sent notification
|
|
14079
|
+
description:
|
|
14080
|
+
Patch the home-feed entry for a notification and, where supported (Slack today), update the delivered
|
|
14081
|
+
message in place.
|
|
14082
|
+
tags:
|
|
14083
|
+
- notifications
|
|
14084
|
+
responses:
|
|
14085
|
+
"200":
|
|
14086
|
+
description: Successful response
|
|
14087
|
+
content:
|
|
14088
|
+
application/json:
|
|
14089
|
+
schema:
|
|
14090
|
+
type: object
|
|
14091
|
+
properties:
|
|
14092
|
+
ok:
|
|
14093
|
+
type: boolean
|
|
14094
|
+
feedItem:
|
|
14095
|
+
type: object
|
|
14096
|
+
propertyNames:
|
|
14097
|
+
type: string
|
|
14098
|
+
additionalProperties: {}
|
|
14099
|
+
channels:
|
|
14100
|
+
type: array
|
|
14101
|
+
items:
|
|
14102
|
+
type: object
|
|
14103
|
+
properties:
|
|
14104
|
+
channel:
|
|
14105
|
+
type: string
|
|
14106
|
+
deliveryId:
|
|
14107
|
+
type: string
|
|
14108
|
+
outcome:
|
|
14109
|
+
type: string
|
|
14110
|
+
enum:
|
|
14111
|
+
- updated
|
|
14112
|
+
- unsupported
|
|
14113
|
+
- skipped
|
|
14114
|
+
- failed
|
|
14115
|
+
reason:
|
|
14116
|
+
type: string
|
|
14117
|
+
required:
|
|
14118
|
+
- channel
|
|
14119
|
+
- deliveryId
|
|
14120
|
+
- outcome
|
|
14121
|
+
additionalProperties: false
|
|
14122
|
+
required:
|
|
14123
|
+
- ok
|
|
14124
|
+
- feedItem
|
|
14125
|
+
- channels
|
|
14126
|
+
additionalProperties: false
|
|
14127
|
+
"404":
|
|
14128
|
+
description: No notification found for the supplied id
|
|
14129
|
+
requestBody:
|
|
14130
|
+
required: true
|
|
14131
|
+
content:
|
|
14132
|
+
application/json:
|
|
14133
|
+
schema:
|
|
14134
|
+
type: object
|
|
14135
|
+
properties:
|
|
14136
|
+
id:
|
|
14137
|
+
type: string
|
|
14138
|
+
minLength: 1
|
|
14139
|
+
description: Feed item id (notif:<uuid>) or bare uuid
|
|
14140
|
+
title:
|
|
14141
|
+
type: string
|
|
14142
|
+
body:
|
|
14143
|
+
type: string
|
|
14144
|
+
urgency:
|
|
14145
|
+
type: string
|
|
14146
|
+
enum:
|
|
14147
|
+
- low
|
|
14148
|
+
- medium
|
|
14149
|
+
- high
|
|
14150
|
+
- critical
|
|
14151
|
+
status:
|
|
14152
|
+
type: string
|
|
14153
|
+
enum:
|
|
14154
|
+
- new
|
|
14155
|
+
- seen
|
|
14156
|
+
- acted_on
|
|
14157
|
+
- dismissed
|
|
14158
|
+
required:
|
|
14159
|
+
- id
|
|
14160
|
+
additionalProperties: false
|
|
12427
14161
|
/v1/notifications/emit:
|
|
12428
14162
|
post:
|
|
12429
14163
|
operationId: notifications_emit_post
|