@vellumai/assistant 0.10.9-dev.202607162126.2d253b7 → 0.10.9-staging.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (435) hide show
  1. package/ARCHITECTURE.md +1 -1
  2. package/Dockerfile +0 -8
  3. package/docs/activation-funnel-telemetry.md +7 -13
  4. package/node_modules/@vellumai/ces-client/node_modules/@vellumai/service-contracts/package.json +0 -1
  5. package/node_modules/@vellumai/gateway-client/node_modules/@vellumai/service-contracts/package.json +0 -1
  6. package/node_modules/@vellumai/service-contracts/package.json +0 -1
  7. package/openapi.yaml +107 -523
  8. package/package.json +1 -1
  9. package/scripts/generate-openapi.ts +0 -8
  10. package/src/__tests__/activation-early-marking.test.ts +5 -6
  11. package/src/__tests__/agent-loop-override-profile.test.ts +25 -22
  12. package/src/__tests__/agent-wake-override-profile.test.ts +48 -21
  13. package/src/__tests__/app-builder-tool-scripts.test.ts +1 -0
  14. package/src/__tests__/app-bundler.test.ts +12 -4
  15. package/src/__tests__/app-executors.test.ts +49 -2
  16. package/src/__tests__/app-open-proxy.test.ts +67 -0
  17. package/src/__tests__/app-routes-csp.test.ts +146 -114
  18. package/src/__tests__/auth-fallback-events-store.test.ts +1 -8
  19. package/src/__tests__/build-persisted-content.test.ts +0 -96
  20. package/src/__tests__/bundle-scanner.test.ts +1 -27
  21. package/src/__tests__/call-controller.test.ts +0 -291
  22. package/src/__tests__/compaction.benchmark.test.ts +1 -2
  23. package/src/__tests__/compactor-image-manifest-trust.test.ts +0 -50
  24. package/src/__tests__/config-loader-backfill.test.ts +4 -9
  25. package/src/__tests__/config-schema-cmd.test.ts +11 -10
  26. package/src/__tests__/config-schema.test.ts +257 -190
  27. package/src/__tests__/conversation-agent-loop-overflow.test.ts +19 -5
  28. package/src/__tests__/conversation-agent-loop.test.ts +9 -22
  29. package/src/__tests__/conversation-error.test.ts +0 -31
  30. package/src/__tests__/conversation-load-history-repair.test.ts +0 -110
  31. package/src/__tests__/conversation-process-callsite.test.ts +19 -12
  32. package/src/__tests__/conversation-routes-slash-commands.test.ts +21 -7
  33. package/src/__tests__/conversation-summarize-route.test.ts +44 -36
  34. package/src/__tests__/conversation-surfaces-action-delivery.test.ts +0 -1
  35. package/src/__tests__/conversation-surfaces-activation-emit.test.ts +7 -7
  36. package/src/__tests__/conversation-tool-setup-app-refresh.test.ts +1 -0
  37. package/src/__tests__/conversation-tool-setup-attribution.test.ts +1 -0
  38. package/src/__tests__/conversation-usage.test.ts +12 -4
  39. package/src/__tests__/credential-routes.test.ts +0 -250
  40. package/src/__tests__/credential-security-invariants.test.ts +0 -3
  41. package/src/__tests__/db-migration-rollback.test.ts +0 -22
  42. package/src/__tests__/empty-response-hook.test.ts +1 -186
  43. package/src/__tests__/external-plugin-loader.test.ts +5 -11
  44. package/src/__tests__/heartbeat-service.test.ts +28 -0
  45. package/src/__tests__/host-shell-tool.test.ts +0 -2
  46. package/src/__tests__/inactive-tool-error-messages.test.ts +2 -2
  47. package/src/__tests__/inference-no-mode-boot-e2e.test.ts +8 -52
  48. package/src/__tests__/internal-telemetry-routes.test.ts +4 -23
  49. package/src/__tests__/invite-routes-http.test.ts +16 -12
  50. package/src/__tests__/list-all-apps.test.ts +4 -0
  51. package/src/__tests__/llm-context-resolution.test.ts +56 -32
  52. package/src/__tests__/llm-request-log-turn-query.test.ts +0 -109
  53. package/src/__tests__/llm-resolver-override-or-default.test.ts +52 -3
  54. package/src/__tests__/llm-resolver.test.ts +602 -342
  55. package/src/__tests__/llm-schema.test.ts +37 -79
  56. package/src/__tests__/max-tokens-continue-hook.test.ts +0 -19
  57. package/src/__tests__/media-stream-output.test.ts +3 -259
  58. package/src/__tests__/media-stream-server-integration.test.ts +1 -22
  59. package/src/__tests__/media-stream-stt-session.test.ts +0 -47
  60. package/src/__tests__/memory-jobs-worker-cleanup-cadence.test.ts +0 -33
  61. package/src/__tests__/memory-recall-log-store.test.ts +13 -47
  62. package/src/__tests__/mock-gateway-ipc.ts +1 -46
  63. package/src/__tests__/mtime-cache.test.ts +0 -61
  64. package/src/__tests__/navigate-settings-tab.test.ts +0 -2
  65. package/src/__tests__/normalize-onboarding.test.ts +0 -33
  66. package/src/__tests__/onboarding-persona-write.test.ts +0 -26
  67. package/src/__tests__/plugin-app-serve-routes.test.ts +14 -166
  68. package/src/__tests__/plugin-import-boundary-reverse-guard.test.ts +0 -2
  69. package/src/__tests__/post-turn-tool-result-truncation.test.ts +0 -38
  70. package/src/__tests__/provider-commit-message-generator.test.ts +20 -27
  71. package/src/__tests__/provider-platform-proxy-integration.test.ts +31 -10
  72. package/src/__tests__/provider-registry-ollama.test.ts +18 -8
  73. package/src/__tests__/provider-send-message-override-profile.test.ts +23 -23
  74. package/src/__tests__/provider-usage-tracking.test.ts +19 -9
  75. package/src/__tests__/prune-old-conversations-job.test.ts +0 -12
  76. package/src/__tests__/published-app-updater.test.ts +16 -22
  77. package/src/__tests__/registry.test.ts +16 -5
  78. package/src/__tests__/retry-openrouter-only-normalization.test.ts +23 -22
  79. package/src/__tests__/retry-thinking-adaptive-only.test.ts +48 -43
  80. package/src/__tests__/retry-thinking-tool-choice.test.ts +66 -57
  81. package/src/__tests__/retry-verbosity-normalization.test.ts +23 -24
  82. package/src/__tests__/secret-fixtures.ts +0 -9
  83. package/src/__tests__/server-history-render.test.ts +0 -28
  84. package/src/__tests__/skills.test.ts +4 -9
  85. package/src/__tests__/slack-share-routes.test.ts +1 -0
  86. package/src/__tests__/subagent-call-site-routing.test.ts +95 -69
  87. package/src/__tests__/subagent-disposal.test.ts +0 -2
  88. package/src/__tests__/subagent-fork-notifications.test.ts +0 -2
  89. package/src/__tests__/subagent-fork-spawn.test.ts +0 -2
  90. package/src/__tests__/subagent-manager-notify.test.ts +0 -2
  91. package/src/__tests__/subagent-role-registry.test.ts +0 -37
  92. package/src/__tests__/subagent-spawn-and-await.test.ts +0 -1
  93. package/src/__tests__/subagent-terminal-message.test.ts +0 -50
  94. package/src/__tests__/subagent-tool-gate-mode.test.ts +5 -78
  95. package/src/__tests__/surface-completion-nudge-hook.test.ts +0 -19
  96. package/src/__tests__/telemetry-routes.test.ts +19 -99
  97. package/src/__tests__/tool-audit.test.ts +4 -34
  98. package/src/__tests__/tool-executor-lifecycle-events.test.ts +1 -1
  99. package/src/__tests__/tool-profiler.test.ts +1 -72
  100. package/src/__tests__/tool-result-spool.test.ts +4 -49
  101. package/src/__tests__/tool-side-effects-slack-dm.test.ts +1 -0
  102. package/src/__tests__/usage-attribution.test.ts +41 -18
  103. package/src/__tests__/user-plugin-loader.test.ts +4 -4
  104. package/src/__tests__/voice-config-update.test.ts +0 -46
  105. package/src/__tests__/voice-session-bridge.test.ts +84 -216
  106. package/src/agent/loop.ts +3 -4
  107. package/src/api/index.ts +0 -6
  108. package/src/api/responses/conversation-message.ts +0 -5
  109. package/src/apps/app-store.ts +35 -25
  110. package/src/bundler/app-bundler.ts +48 -34
  111. package/src/bundler/app-compiler.ts +4 -39
  112. package/src/bundler/bundle-scanner.ts +0 -13
  113. package/src/bundler/manifest.ts +1 -1
  114. package/src/calls/__tests__/voice-session-bridge.test.ts +0 -47
  115. package/src/calls/call-constants.ts +0 -5
  116. package/src/calls/call-controller.ts +32 -100
  117. package/src/calls/call-transport.ts +0 -9
  118. package/src/calls/media-stream-output.ts +4 -107
  119. package/src/calls/media-stream-server.ts +9 -29
  120. package/src/calls/media-stream-stt-session.ts +1 -7
  121. package/src/calls/media-turn-detector.ts +1 -11
  122. package/src/calls/voice-session-bridge.ts +63 -84
  123. package/src/cli/commands/__tests__/inference-providers.test.ts +33 -270
  124. package/src/cli/commands/__tests__/notifications.test.ts +3 -24
  125. package/src/cli/commands/config.help.ts +6 -6
  126. package/src/cli/commands/credentials.help.ts +0 -13
  127. package/src/cli/commands/credentials.ts +1 -6
  128. package/src/cli/commands/email.help.ts +0 -7
  129. package/src/cli/commands/email.ts +1 -35
  130. package/src/cli/commands/inference-providers.ts +107 -168
  131. package/src/cli/commands/inference.help.ts +46 -118
  132. package/src/cli/commands/memory/index.help.ts +0 -23
  133. package/src/cli/commands/memory/nodes.ts +0 -146
  134. package/src/cli/commands/notifications.help.ts +10 -10
  135. package/src/cli/commands/oauth/connect.ts +6 -29
  136. package/src/cli/commands/oauth/index.help.ts +1 -7
  137. package/src/cli/commands/oauth/status.test.ts +3 -69
  138. package/src/cli/commands/oauth/status.ts +12 -50
  139. package/src/cli/commands/plugins.help.ts +2 -13
  140. package/src/cli/commands/plugins.ts +7 -61
  141. package/src/cli/commands/telemetry.help.ts +0 -13
  142. package/src/cli/commands/telemetry.ts +5 -45
  143. package/src/cli/lib/__tests__/plugin-catalog-local.test.ts +2 -8
  144. package/src/cli/lib/__tests__/upgrade-plugin.test.ts +9 -213
  145. package/src/cli/lib/bundled-marketplace.json +36 -93
  146. package/src/cli/lib/inspect-plugin.ts +1 -5
  147. package/src/cli/lib/install-from-github.ts +4 -68
  148. package/src/cli/lib/plugin-catalog-local.ts +2 -6
  149. package/src/cli/lib/plugin-fingerprint.ts +3 -3
  150. package/src/cli/lib/upgrade-plugin.ts +35 -236
  151. package/src/config/__tests__/default-profile-catalog.test.ts +12 -8
  152. package/src/config/__tests__/profile-materialization.test.ts +88 -1
  153. package/src/config/bundled-skills/AGENTS.md +30 -3
  154. package/src/config/bundled-skills/app-builder/SKILL.md +3 -5
  155. package/src/config/bundled-skills/app-builder/TOOLS.json +0 -23
  156. package/src/{util/mime-type.ts → config/bundled-skills/messaging/tools/gmail-mime-helpers.ts} +1 -4
  157. package/src/config/bundled-skills/messaging/tools/messaging-send.ts +1 -1
  158. package/src/config/bundled-skills/phone-calls/references/CONFIG.md +7 -7
  159. package/src/config/bundled-skills/settings/TOOLS.json +1 -3
  160. package/src/config/bundled-skills/settings/tools/navigate-settings-tab.ts +0 -2
  161. package/src/config/bundled-skills/settings/tools/voice-config-update.ts +10 -18
  162. package/src/config/bundled-skills/subagent/SKILL.md +0 -2
  163. package/src/config/bundled-skills/subagent/TOOLS.json +1 -1
  164. package/src/config/call-site-defaults.ts +3 -3
  165. package/src/config/feature-flag-registry.json +46 -14
  166. package/src/config/llm-resolver.ts +475 -88
  167. package/src/config/profile-materialization.ts +11 -11
  168. package/src/config/schema.ts +127 -93
  169. package/src/config/schemas/__tests__/live-voice.test.ts +6 -24
  170. package/src/config/schemas/__tests__/stt.test.ts +3 -6
  171. package/src/config/schemas/live-voice.ts +4 -10
  172. package/src/config/schemas/llm.ts +15 -52
  173. package/src/config/schemas/memory-lifecycle.ts +1 -1
  174. package/src/config/schemas/memory-retrospective.ts +0 -8
  175. package/src/config/schemas/memory-v2.ts +2 -2
  176. package/src/config/schemas/memory-v3.ts +1 -1
  177. package/src/config/schemas/services.ts +3 -6
  178. package/src/config/schemas/stt.ts +18 -13
  179. package/src/config/schemas/tts.ts +18 -13
  180. package/src/config/skills.ts +21 -31
  181. package/src/context/compactor.ts +7 -44
  182. package/src/context/post-turn-tool-result-truncation.ts +2 -4
  183. package/src/context/tool-result-spool.ts +5 -26
  184. package/src/conversations/__tests__/message-consolidation.test.ts +0 -48
  185. package/src/conversations/message-consolidation.ts +2 -22
  186. package/src/daemon/__tests__/conversation-tool-setup.test.ts +12 -5
  187. package/src/daemon/app-source-watcher.ts +23 -17
  188. package/src/daemon/conversation-agent-loop-handlers.ts +34 -627
  189. package/src/daemon/conversation-agent-loop.ts +30 -26
  190. package/src/daemon/conversation-error.ts +14 -36
  191. package/src/daemon/conversation-store.ts +0 -35
  192. package/src/daemon/conversation-surfaces.ts +25 -25
  193. package/src/daemon/conversation-tool-setup.ts +7 -33
  194. package/src/daemon/conversation.ts +5 -53
  195. package/src/daemon/handlers/shared.ts +2 -33
  196. package/src/daemon/lifecycle.ts +4 -4
  197. package/src/daemon/message-types/conversations.ts +17 -6
  198. package/src/daemon/providers-setup.ts +0 -8
  199. package/src/daemon/tool-setup-types.ts +1 -7
  200. package/src/daemon/wake-conversation-ops.ts +1 -10
  201. package/src/ipc/__tests__/email-ipc.test.ts +0 -90
  202. package/src/ipc/gateway-client.test.ts +0 -59
  203. package/src/ipc/gateway-client.ts +27 -70
  204. package/src/live-voice/__tests__/live-voice-events.test.ts +2 -14
  205. package/src/live-voice/__tests__/live-voice-integration.test.ts +2 -116
  206. package/src/live-voice/__tests__/live-voice-vad.test.ts +13 -804
  207. package/src/live-voice/__tests__/protocol.test.ts +0 -122
  208. package/src/live-voice/live-voice-session.ts +40 -443
  209. package/src/live-voice/protocol.ts +1 -143
  210. package/src/monitoring/__tests__/plugin-source-watch.test.ts +1 -3
  211. package/src/monitoring/plugin-source-watch.ts +62 -3
  212. package/src/notifications/README.md +1 -1
  213. package/src/onboarding/onboarding-research-events-store.test.ts +230 -0
  214. package/src/onboarding/onboarding-research-events-store.ts +104 -0
  215. package/src/permissions/checker.ts +4 -8
  216. package/src/persistence/__tests__/db-init-migrations-ok.test.ts +0 -26
  217. package/src/persistence/conversation-crud.ts +2 -80
  218. package/src/persistence/db-init.ts +3 -14
  219. package/src/persistence/job-handlers/cleanup.ts +7 -15
  220. package/src/persistence/llm-request-log-store.ts +52 -88
  221. package/src/persistence/migrations/298-move-memory-jobs-to-memory-db.ts +31 -7
  222. package/src/persistence/migrations/305-drop-contact-acl-columns.ts +2 -3
  223. package/src/persistence/migrations/326-move-injection-events-to-memory-db.ts +34 -8
  224. package/src/persistence/migrations/__tests__/run-migrations.test.ts +0 -155
  225. package/src/persistence/migrations/helpers/relocation.ts +1 -44
  226. package/src/persistence/migrations/run-migrations.ts +1 -25
  227. package/src/persistence/schema/infrastructure.ts +0 -9
  228. package/src/persistence/schema/memory-core.ts +0 -3
  229. package/src/persistence/schema/memory-injection.ts +0 -2
  230. package/src/persistence/steps.ts +0 -36
  231. package/src/platform/client.test.ts +44 -1
  232. package/src/platform/client.ts +20 -10
  233. package/src/platform/consent-cache.test.ts +23 -89
  234. package/src/platform/consent-cache.ts +33 -71
  235. package/src/plugin-api/constants.ts +0 -12
  236. package/src/plugin-api/conversation-turn.ts +14 -37
  237. package/src/plugin-api/index.ts +1 -11
  238. package/src/plugin-api/vision-support.test.ts +19 -8
  239. package/src/plugin-api/vision-support.ts +17 -26
  240. package/src/plugins/defaults/compaction/compact.ts +0 -6
  241. package/src/plugins/defaults/compaction/window-manager.ts +0 -9
  242. package/src/plugins/defaults/empty-response/hooks/post-model-call.ts +24 -18
  243. package/src/plugins/defaults/image-fallback/__tests__/caption-cache-persistence.test.ts +3 -7
  244. package/src/plugins/defaults/index.ts +1 -8
  245. package/src/plugins/defaults/max-tokens-continue/hooks/post-model-call.ts +1 -4
  246. package/src/plugins/defaults/memory/__tests__/activation-session-store.test.ts +6 -48
  247. package/src/plugins/defaults/memory/__tests__/db-memory-attach.test.ts +22 -28
  248. package/src/plugins/defaults/memory/__tests__/memory-retrospective-job.test.ts +8 -80
  249. package/src/plugins/defaults/memory/__tests__/memory-v2-activation-log-store.test.ts +25 -64
  250. package/src/plugins/defaults/memory/__tests__/memory-v2-concept-frequency.test.ts +11 -24
  251. package/src/plugins/defaults/memory/__tests__/prompt-override.test.ts +6 -70
  252. package/src/plugins/defaults/memory/__tests__/table-relocation.test.ts +0 -278
  253. package/src/plugins/defaults/memory/activation-session-store.ts +20 -27
  254. package/src/plugins/defaults/memory/context-search/sources/memory-v2.ts +9 -2
  255. package/src/plugins/defaults/memory/context-search/sources/workspace.ts +8 -1
  256. package/src/plugins/defaults/memory/graph/retriever.test.ts +6 -6
  257. package/src/plugins/defaults/memory/graph/store.ts +0 -114
  258. package/src/plugins/defaults/memory/graph/tool-handlers.ts +1 -36
  259. package/src/plugins/defaults/memory/graph/tools.ts +13 -47
  260. package/src/plugins/defaults/memory/graph-topology/build-memory-graph.ts +35 -16
  261. package/src/plugins/defaults/memory/jobs-worker.ts +1 -10
  262. package/src/plugins/defaults/memory/memory-db.ts +2 -3
  263. package/src/plugins/defaults/memory/memory-recall-log-store.ts +66 -129
  264. package/src/plugins/defaults/memory/memory-retrospective-constants.ts +0 -8
  265. package/src/plugins/defaults/memory/memory-retrospective-job.ts +122 -11
  266. package/src/plugins/defaults/memory/memory-v2-activation-log-store.ts +46 -84
  267. package/src/plugins/defaults/memory/memory-v2-concept-frequency.ts +32 -42
  268. package/src/plugins/defaults/memory/prompt-override.ts +13 -51
  269. package/src/plugins/defaults/memory/tools.test.ts +0 -34
  270. package/src/plugins/defaults/memory/tools.ts +2 -12
  271. package/src/plugins/defaults/memory/v2/__tests__/harness-compare.test.ts +15 -19
  272. package/src/plugins/defaults/memory/v2/__tests__/harness-oracle.test.ts +19 -24
  273. package/src/plugins/defaults/memory/v2/__tests__/harness-replay-input.test.ts +15 -19
  274. package/src/plugins/defaults/memory/v2/__tests__/injection.test.ts +2 -22
  275. package/src/plugins/defaults/memory/v2/__tests__/prompts-consolidation.test.ts +3 -5
  276. package/src/plugins/defaults/memory/v2/harness/oracle.ts +41 -59
  277. package/src/plugins/defaults/memory/v2/harness/replay-input.ts +25 -29
  278. package/src/plugins/defaults/memory/v2/migration.ts +16 -46
  279. package/src/plugins/defaults/memory/v2/prompts/consolidation.ts +0 -4
  280. package/src/plugins/defaults/memory/v3/__tests__/carry-integration.test.ts +15 -17
  281. package/src/plugins/defaults/memory/v3/__tests__/gate.test.ts +22 -24
  282. package/src/plugins/defaults/memory/v3/__tests__/injection.test.ts +5 -9
  283. package/src/plugins/defaults/memory/v3/__tests__/orchestrate.test.ts +10 -277
  284. package/src/plugins/defaults/memory/v3/__tests__/selection-log-store.test.ts +5 -57
  285. package/src/plugins/defaults/memory/v3/__tests__/shadow-integration.test.ts +7 -9
  286. package/src/plugins/defaults/memory/v3/__tests__/shadow-plugin.test.ts +7 -38
  287. package/src/plugins/defaults/memory/v3/hot-set.test.ts +18 -36
  288. package/src/plugins/defaults/memory/v3/hot-set.ts +14 -12
  289. package/src/plugins/defaults/memory/v3/learned-edges.test.ts +27 -47
  290. package/src/plugins/defaults/memory/v3/learned-edges.ts +14 -12
  291. package/src/plugins/defaults/memory/v3/orchestrate.ts +22 -139
  292. package/src/plugins/defaults/memory/v3/prune.test.ts +3 -10
  293. package/src/plugins/defaults/memory/v3/prune.ts +11 -17
  294. package/src/plugins/defaults/memory/v3/selection-log-store.ts +11 -23
  295. package/src/plugins/defaults/memory/v3/shadow-plugin.ts +53 -70
  296. package/src/plugins/defaults/surface-completion-nudge/hooks/post-model-call.ts +6 -9
  297. package/src/plugins/external-plugin-loader.ts +15 -15
  298. package/src/plugins/mtime-cache.ts +0 -47
  299. package/src/plugins/pipeline.ts +1 -9
  300. package/src/plugins/plugin-tree-walk.ts +24 -31
  301. package/src/plugins/source-fingerprint.ts +4 -3
  302. package/src/prompts/normalize-onboarding.ts +0 -12
  303. package/src/prompts/persona-resolver.ts +0 -8
  304. package/src/prompts/templates/BOOTSTRAP-ACTIVATION-RAIL.md +1 -1
  305. package/src/providers/__tests__/dispatch-connection-routing.test.ts +9 -6
  306. package/src/providers/__tests__/registry-native-web-search.test.ts +10 -4
  307. package/src/providers/__tests__/retry-callsite.test.ts +215 -235
  308. package/src/providers/__tests__/satellite-connection-routing.test.ts +16 -8
  309. package/src/providers/atlascloud/client.ts +49 -10
  310. package/src/providers/call-site-routing.ts +13 -26
  311. package/src/providers/connection-resolution.ts +11 -9
  312. package/src/providers/fetch-provider-catalog.ts +2 -4
  313. package/src/providers/inference/__tests__/adapter-factory-openai-compatible.test.ts +4 -29
  314. package/src/providers/inference/adapter-factory.ts +6 -27
  315. package/src/providers/inference/auth.ts +1 -29
  316. package/src/providers/inference/backfill.ts +10 -61
  317. package/src/providers/inference/connection-availability.ts +2 -3
  318. package/src/providers/inference/resolve-auth.ts +1 -9
  319. package/src/providers/model-catalog.ts +0 -37
  320. package/src/providers/openai/__tests__/api-error-normalization.test.ts +2 -24
  321. package/src/providers/retry.ts +0 -2
  322. package/src/providers/types.ts +4 -11
  323. package/src/providers/vellum-model-routing.test.ts +0 -26
  324. package/src/providers/vellum-model-routing.ts +0 -30
  325. package/src/runtime/agent-wake.ts +24 -40
  326. package/src/runtime/routes/__tests__/conversation-query-routes.test.ts +3 -88
  327. package/src/runtime/routes/__tests__/inference-provider-connection-routes.test.ts +30 -161
  328. package/src/runtime/routes/__tests__/migration-vellum-metadata-reconcile.test.ts +0 -7
  329. package/src/runtime/routes/app-management-routes.ts +45 -152
  330. package/src/runtime/routes/app-routes.ts +77 -16
  331. package/src/runtime/routes/assets/vellum-design-system.css +2236 -0
  332. package/src/runtime/routes/canned-message-complete.ts +16 -16
  333. package/src/runtime/routes/conversation-management-routes.ts +14 -17
  334. package/src/runtime/routes/conversation-query-routes.ts +6 -54
  335. package/src/runtime/routes/conversation-routes.ts +1 -24
  336. package/src/runtime/routes/credential-routes.ts +3 -116
  337. package/src/runtime/routes/email-routes.ts +1 -17
  338. package/src/runtime/routes/inference-provider-connection-routes.ts +28 -77
  339. package/src/runtime/routes/inference-send-routes.ts +1 -1
  340. package/src/runtime/routes/internal-telemetry-routes.ts +6 -7
  341. package/src/runtime/routes/plugins-routes.ts +6 -37
  342. package/src/runtime/routes/publish-routes.ts +18 -15
  343. package/src/runtime/routes/secret-routes.ts +0 -10
  344. package/src/runtime/routes/telemetry-routes.ts +45 -149
  345. package/src/security/auth-fallback-events-store.ts +6 -7
  346. package/src/security/secret-scanner.ts +1 -26
  347. package/src/services/published-app-updater.ts +11 -6
  348. package/src/subagent/manager.ts +8 -34
  349. package/src/telemetry/AGENTS.md +1 -30
  350. package/src/telemetry/__tests__/config-setting-snapshot.test.ts +0 -18
  351. package/src/telemetry/__tests__/outbox-test-harness.ts +3 -5
  352. package/src/telemetry/config-setting-snapshot.ts +10 -44
  353. package/src/telemetry/telemetry-event-sources.test.ts +30 -124
  354. package/src/telemetry/telemetry-event-sources.ts +83 -137
  355. package/src/telemetry/telemetry-events-outbox.test.ts +1 -46
  356. package/src/telemetry/telemetry-events-outbox.ts +9 -60
  357. package/src/telemetry/telemetry-wire-source.json +1 -1
  358. package/src/telemetry/telemetry-wire-validation.ts +2 -39
  359. package/src/telemetry/telemetry-wire.generated.ts +0 -8
  360. package/src/telemetry/tool-audit.ts +9 -15
  361. package/src/telemetry/tool-executed-events-store.test.ts +1 -1
  362. package/src/telemetry/types.ts +12 -45
  363. package/src/telemetry/usage-telemetry-reporter.test.ts +25 -294
  364. package/src/telemetry/usage-telemetry-reporter.ts +18 -117
  365. package/src/telemetry/watchdog-direct-emit.test.ts +3 -11
  366. package/src/telemetry/watchdog-direct-emit.ts +6 -11
  367. package/src/tools/apps/definitions.ts +73 -0
  368. package/src/tools/apps/executors.ts +36 -11
  369. package/src/tools/apps/open-proxy.ts +43 -0
  370. package/src/tools/executor.ts +1 -14
  371. package/src/tools/host-terminal/host-shell.ts +2 -6
  372. package/src/tools/network/__tests__/web-fetch-firecrawl.test.ts +1 -1
  373. package/src/tools/network/__tests__/web-fetch-metadata.test.ts +0 -25
  374. package/src/tools/network/web-fetch.ts +2 -6
  375. package/src/tools/skills/sandbox-runner.ts +2 -5
  376. package/src/tools/subagent/spawn.ts +11 -7
  377. package/src/tools/terminal/shell.ts +2 -5
  378. package/src/tools/tool-manifest.ts +2 -0
  379. package/src/tools/tool-profiler.ts +6 -37
  380. package/src/tools/ui-surface/definitions.ts +67 -23
  381. package/src/tts/provider-catalog.ts +4 -2
  382. package/src/types/onboarding-context.ts +0 -8
  383. package/src/usage/attribution.ts +112 -18
  384. package/src/util/provider-error-patterns.ts +1 -7
  385. package/src/watcher/__tests__/telemetry.test.ts +4 -17
  386. package/src/watcher/telemetry.ts +5 -5
  387. package/src/workspace/migrations/registry.ts +0 -2
  388. package/src/workspace/provider-commit-message-generator.ts +4 -6
  389. package/node_modules/@vellumai/ces-client/node_modules/@vellumai/service-contracts/src/__tests__/redacted-credential.test.ts +0 -200
  390. package/node_modules/@vellumai/ces-client/node_modules/@vellumai/service-contracts/src/redacted-credential.ts +0 -226
  391. package/node_modules/@vellumai/gateway-client/node_modules/@vellumai/service-contracts/src/__tests__/redacted-credential.test.ts +0 -200
  392. package/node_modules/@vellumai/gateway-client/node_modules/@vellumai/service-contracts/src/redacted-credential.ts +0 -226
  393. package/node_modules/@vellumai/service-contracts/src/__tests__/redacted-credential.test.ts +0 -200
  394. package/node_modules/@vellumai/service-contracts/src/redacted-credential.ts +0 -226
  395. package/src/__tests__/call-site-routing-connection-auto-resolve.test.ts +0 -165
  396. package/src/__tests__/chat-credential-redaction.test.ts +0 -1395
  397. package/src/__tests__/chat-reveal-guard-priming.test.ts +0 -791
  398. package/src/__tests__/conversation-agent-loop-fatal-cleanup.test.ts +0 -208
  399. package/src/__tests__/plugin-api-resolve-credential.test.ts +0 -140
  400. package/src/__tests__/provider-connections-backfill.test.ts +0 -138
  401. package/src/__tests__/reveal-success-registry.test.ts +0 -123
  402. package/src/__tests__/run-conversation-turn-persistence.test.ts +0 -130
  403. package/src/__tests__/ui-channel-variants.test.ts +0 -108
  404. package/src/__tests__/ui-shape-teaching.test.ts +0 -255
  405. package/src/__tests__/workspace-migration-131-drop-web-fetch-mode.test.ts +0 -120
  406. package/src/api/events/open-conversation.test.ts +0 -64
  407. package/src/api/events/open-conversation.ts +0 -33
  408. package/src/cli/commands/oauth/connect-surface-guidance.test.ts +0 -40
  409. package/src/cli/commands/oauth/connect-surface-guidance.ts +0 -54
  410. package/src/cli/commands/oauth/connect.test.ts +0 -126
  411. package/src/config/__tests__/plugin-resident-skill-discovery.test.ts +0 -137
  412. package/src/config/bundled-skills/app-builder/tools/app-open.ts +0 -32
  413. package/src/daemon/chat-credential-redaction.ts +0 -1365
  414. package/src/persistence/migrations/336-move-memory-v2-activation-logs-to-memory-db.ts +0 -90
  415. package/src/persistence/migrations/337-move-memory-recall-logs-to-memory-db.ts +0 -114
  416. package/src/persistence/migrations/338-move-memory-v3-selections-to-memory-db.ts +0 -84
  417. package/src/persistence/migrations/339-move-activation-sessions-to-memory-db.ts +0 -52
  418. package/src/plugin-api/resolve-credential.ts +0 -75
  419. package/src/plugins/collect-source-versions.ts +0 -77
  420. package/src/plugins/defaults/empty-response/hooks/user-prompt-submit.ts +0 -38
  421. package/src/plugins/defaults/empty-response/refusal-quarantine.ts +0 -99
  422. package/src/plugins/defaults/memory/__tests__/memory-log-stores-degraded.test.ts +0 -148
  423. package/src/plugins/defaults/memory/__tests__/memory-retrospective-prompt.test.ts +0 -202
  424. package/src/plugins/defaults/memory/memory-retrospective-prompt.ts +0 -216
  425. package/src/plugins/defaults/memory/path-containment.ts +0 -21
  426. package/src/plugins/plugin-execution-context.ts +0 -44
  427. package/src/providers/baseten/client.ts +0 -43
  428. package/src/providers/inference/__tests__/connection-availability-keyless.test.ts +0 -78
  429. package/src/providers/openai/api-key-validation.ts +0 -70
  430. package/src/runtime/for-chat-mint-registry.ts +0 -118
  431. package/src/runtime/reveal-nonce.ts +0 -49
  432. package/src/runtime/reveal-success-registry.ts +0 -306
  433. package/src/tools/ui-surface/channel-variants.ts +0 -101
  434. package/src/tools/ui-surface/surface-shape-docs.ts +0 -229
  435. package/src/workspace/migrations/131-drop-web-fetch-mode.ts +0 -61
package/openapi.yaml CHANGED
@@ -3,7 +3,7 @@
3
3
  openapi: 3.1.0
4
4
  info:
5
5
  title: Vellum Assistant API
6
- version: 0.10.9
6
+ version: 0.10.8
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
@@ -834,14 +834,11 @@ paths:
834
834
  type: string
835
835
  html:
836
836
  type: string
837
- origin:
838
- type: string
839
837
  required:
840
838
  - appId
841
839
  - dirName
842
840
  - name
843
841
  - html
844
- - origin
845
842
  additionalProperties: false
846
843
  /v1/apps/{id}/preview:
847
844
  get:
@@ -9546,9 +9543,7 @@ paths:
9546
9543
  post:
9547
9544
  operationId: credentials_reveal_post
9548
9545
  summary: Reveal a credential's plaintext value
9549
- description:
9550
- Return the raw plaintext value of a stored credential. Blocked in untrusted shell mode. With forChat,
9551
- returns a chat-safe redaction sentinel instead of the plaintext.
9546
+ description: Return the raw plaintext value of a stored credential. Blocked in untrusted shell mode.
9552
9547
  tags:
9553
9548
  - credentials
9554
9549
  requestBody:
@@ -9567,17 +9562,6 @@ paths:
9567
9562
  id:
9568
9563
  description: Credential UUID for lookup by ID
9569
9564
  type: string
9570
- forChat:
9571
- description:
9572
- Return the credential's redaction sentinel (renders as a click-to-reveal chip in chat) instead of the
9573
- plaintext. Requires the chat-credential-reveal feature flag.
9574
- type: boolean
9575
- revealNonce:
9576
- description:
9577
- Conversation-bound reveal nonce from the tool-shell environment. Scopes any recorded chat-redaction
9578
- authority (plaintext proof or forChat mint) to the conversation whose tool executed this reveal;
9579
- without it the reveal succeeds but records no authority.
9580
- type: string
9581
9565
  responses:
9582
9566
  "200":
9583
9567
  description: Successful response
@@ -9588,7 +9572,7 @@ paths:
9588
9572
  properties:
9589
9573
  value:
9590
9574
  type: string
9591
- description: The plaintext credential value (or its redaction sentinel when forChat is set)
9575
+ description: The plaintext credential value
9592
9576
  required:
9593
9577
  - value
9594
9578
  additionalProperties: false
@@ -11189,23 +11173,6 @@ paths:
11189
11173
  type: array
11190
11174
  items:
11191
11175
  type: string
11192
- attachments:
11193
- description: File attachments
11194
- type: array
11195
- items:
11196
- type: object
11197
- properties:
11198
- filename:
11199
- type: string
11200
- content_type:
11201
- type: string
11202
- content:
11203
- type: string
11204
- description: Base64-encoded file content
11205
- required:
11206
- - filename
11207
- - content_type
11208
- - content
11209
11176
  reply_to:
11210
11177
  description: Reply-to email ID
11211
11178
  type: string
@@ -14091,7 +14058,7 @@ paths:
14091
14058
  type: string
14092
14059
  description:
14093
14060
  "Filter by provider id. One of: anthropic, openai, gemini, ollama, fireworks, together, openrouter,
14094
- vercel-ai-gateway, openai-compatible, minimax, atlascloud, baseten"
14061
+ vercel-ai-gateway, openai-compatible, minimax, atlascloud"
14095
14062
  responses:
14096
14063
  "200":
14097
14064
  description: Successful response
@@ -14322,7 +14289,7 @@ paths:
14322
14289
  type: string
14323
14290
  description:
14324
14291
  "Filter by provider. One of: anthropic, openai, gemini, ollama, fireworks, together, openrouter,
14325
- vercel-ai-gateway, openai-compatible, minimax, atlascloud, baseten, vellum"
14292
+ vercel-ai-gateway, openai-compatible, minimax, atlascloud, vellum"
14326
14293
  responses:
14327
14294
  "200":
14328
14295
  description: Successful response
@@ -14341,10 +14308,7 @@ paths:
14341
14308
  post:
14342
14309
  operationId: inference_providerconnections_post
14343
14310
  summary: Create a provider connection
14344
- description:
14345
- Create a new named provider connection. When auth is omitted it is derived from the provider (keyless
14346
- providers get none, vellum gets platform, everything else needs credential for api_key auth). Fails with 409 if
14347
- a connection with this name already exists.
14311
+ description: Create a new named provider connection. Fails with 409 if a connection with this name already exists.
14348
14312
  tags:
14349
14313
  - inference
14350
14314
  requestBody:
@@ -14361,9 +14325,6 @@ paths:
14361
14325
  $ref: "#/components/schemas/ConnectionProvider"
14362
14326
  auth:
14363
14327
  $ref: "#/components/schemas/Auth"
14364
- credential:
14365
- type: string
14366
- minLength: 1
14367
14328
  label:
14368
14329
  type: string
14369
14330
  minLength: 1
@@ -14381,6 +14342,7 @@ paths:
14381
14342
  required:
14382
14343
  - name
14383
14344
  - provider
14345
+ - auth
14384
14346
  responses:
14385
14347
  "201":
14386
14348
  description: Successful response
@@ -14452,8 +14414,7 @@ paths:
14452
14414
  operationId: inference_providerconnections_by_name_patch
14453
14415
  summary: Update a provider connection
14454
14416
  description:
14455
- Update an existing connection. Cannot rename or change the provider. Omitting auth keeps the stored auth;
14456
- passing credential alone rotates the key via provider-derived api_key auth. For the Vellum-managed connection
14417
+ Update an existing connection. Cannot rename or change the provider. For the Vellum-managed connection
14457
14418
  (vellum) the auth is locked to platform; label remains editable.
14458
14419
  tags:
14459
14420
  - inference
@@ -14472,9 +14433,6 @@ paths:
14472
14433
  properties:
14473
14434
  auth:
14474
14435
  $ref: "#/components/schemas/Auth"
14475
- credential:
14476
- type: string
14477
- minLength: 1
14478
14436
  label:
14479
14437
  anyOf:
14480
14438
  - type: string
@@ -14491,6 +14449,8 @@ paths:
14491
14449
  items:
14492
14450
  $ref: "#/components/schemas/ConnectionModel"
14493
14451
  - type: "null"
14452
+ required:
14453
+ - auth
14494
14454
  responses:
14495
14455
  "200":
14496
14456
  description: Successful response
@@ -18799,8 +18759,6 @@ paths:
18799
18759
  - output
18800
18760
  - completedAt
18801
18761
  additionalProperties: false
18802
- systemCard:
18803
- type: boolean
18804
18762
  slackMessage:
18805
18763
  type: object
18806
18764
  properties:
@@ -19047,13 +19005,6 @@ paths:
19047
19005
  type: array
19048
19006
  items:
19049
19007
  type: string
19050
- researchFindings:
19051
- description:
19052
- Findings from pre-chat onboarding research that the user explicitly kept on the results screen. Written
19053
- into the persona's onboarding section so the first turn can reference them.
19054
- type: array
19055
- items:
19056
- type: string
19057
19008
  title:
19058
19009
  description:
19059
19010
  Explicit title for the conversation minted on this first message. Persisted as a user-set title (never
@@ -22866,24 +22817,20 @@ paths:
22866
22817
  /v1/plugins/{name}/upgrade:
22867
22818
  post:
22868
22819
  operationId: plugins_by_name_upgrade_post
22869
- summary: Upgrade a plugin to its source's current revision
22820
+ summary: Upgrade a plugin to the marketplace pin
22870
22821
  description:
22871
- 'Move an installed plugin to its source''s current revision, re-materializing it under
22872
- `<workspaceDir>/plugins/<name>/`. A marketplace plugin advances to the curated pin; a plugin installed directly
22873
- from a GitHub URL (untrusted, not in the marketplace) advances to whatever its recorded ref now resolves to — a
22874
- pinned SHA is immutable (a no-op), a branch/tag/HEAD moves as upstream does — re-materialized verbatim with no
22875
- curated adapter overlay, exactly as the original untrusted install was. The target ref is never taken from the
22876
- request (no caller-supplied ref), mirroring `plugins install`''s curation boundary. A no-op (`outcome:
22877
- "already-up-to-date"`) when the installed commit already equals the target; pass `dryRun` to preview the move
22878
- (`outcome: "would-upgrade"`) without touching the install. Installs lacking provenance are re-pinned to the
22879
- current SHA. The upgraded code is picked up live on the next read (no restart required). `strategy` controls how
22880
- local edits are reconciled: `overwrite` (default) discards them and re-installs the target wholesale;
22881
- `ours`/`theirs`/`assistant` perform a three-way merge against the re-materialized install commit, carrying
22882
- non-conflicting edits from both sides forward and resolving conflicting hunks toward the local edit (`ours`) or
22883
- the target (`theirs`), or writing git conflict markers into the file and reporting them in
22884
- `conflicts`/`binaryConflicts` for the assistant to resolve (`assistant`). A merge strategy whose install-time
22885
- baseline cannot be reconstructed returns 409. Mirrors the CLI''s `assistant plugins upgrade <name> [--strategy
22886
- <s>]`.'
22822
+ 'Move an installed plugin to the marketplace''s current pinned commit, re-materializing it under
22823
+ `<workspaceDir>/plugins/<name>/`. Always resolves against the curated marketplace pin (no caller-supplied ref),
22824
+ mirroring `plugins install`''s curation boundary. A no-op (`outcome: "already-up-to-date"`) when the installed
22825
+ commit already equals the pin; pass `dryRun` to preview the move (`outcome: "would-upgrade"`) without touching
22826
+ the install. Installs lacking provenance are re-pinned to the current SHA. The upgraded code is picked up live
22827
+ on the next read (no restart required). `strategy` controls how local edits are reconciled: `overwrite`
22828
+ (default) discards them and re-installs the pin wholesale; `ours`/`theirs`/`assistant` perform a three-way merge
22829
+ against the re-materialized install commit, carrying non-conflicting edits from both sides forward and resolving
22830
+ conflicting hunks toward the local edit (`ours`) or the pin (`theirs`), or writing git conflict markers into the
22831
+ file and reporting them in `conflicts`/`binaryConflicts` for the assistant to resolve (`assistant`). A merge
22832
+ strategy whose install-time baseline cannot be reconstructed returns 409. Mirrors the CLI''s `assistant plugins
22833
+ upgrade <name> [--strategy <s>]`.'
22887
22834
  tags:
22888
22835
  - plugins
22889
22836
  parameters:
@@ -23012,8 +22959,8 @@ paths:
23012
22959
  description: No copy of the plugin is installed, or its source resolves to nothing.
23013
22960
  "409":
23014
22961
  description:
23015
- The install has neither a marketplace entry nor a recorded GitHub source to advance to, or a merge strategy
23016
- was requested whose install-time baseline cannot be reconstructed.
22962
+ The install exists but has no marketplace entry to advance to, or a merge strategy was requested whose
22963
+ install-time baseline cannot be reconstructed.
23017
22964
  "503":
23018
22965
  description: The plugin source (GitHub) was temporarily unavailable; the upgrade is retryable.
23019
22966
  /v1/plugins/{name}/versions:
@@ -29059,20 +29006,8 @@ paths:
29059
29006
  flushed:
29060
29007
  type: boolean
29061
29008
  const: true
29062
- sent:
29063
- type: number
29064
- description: Events POSTed to the platform
29065
- persisted:
29066
- type: number
29067
- description: Events the platform confirmed written
29068
- dropped:
29069
- type: number
29070
- description: Events that did not land (sent - persisted)
29071
29009
  required:
29072
29010
  - flushed
29073
- - sent
29074
- - persisted
29075
- - dropped
29076
29011
  additionalProperties: false
29077
29012
  - type: object
29078
29013
  properties:
@@ -29085,16 +29020,11 @@ paths:
29085
29020
  - flushed
29086
29021
  - reason
29087
29022
  additionalProperties: false
29088
- /v1/telemetry/ingest:
29023
+ /v1/telemetry/lifecycle:
29089
29024
  post:
29090
- operationId: telemetry_ingest_post
29091
- summary: Record an outbox-backed telemetry event
29092
- description:
29093
- Record any outbox-backed telemetry event by its wire `type` + `fields`. For events a client observes and
29094
- the daemon can't detect on its own (e.g. onboarding_research). The type must be an outbox-backed event — the
29095
- watermark types (turn, llm_usage, tool_executed) have no variant — and the payload must pass the platform wire
29096
- schema. Gated on share_analytics consent like every other outbox-backed event; the platform re-checks the
29097
- owner's consent server-side at ingest.
29025
+ operationId: telemetry_lifecycle_post
29026
+ summary: Record lifecycle event
29027
+ description: Record a telemetry lifecycle event (app_open, hatch).
29098
29028
  tags:
29099
29029
  - telemetry
29100
29030
  requestBody:
@@ -29102,403 +29032,13 @@ paths:
29102
29032
  content:
29103
29033
  application/json:
29104
29034
  schema:
29105
- oneOf:
29106
- - type: object
29107
- properties:
29108
- type:
29109
- type: string
29110
- const: lifecycle
29111
- fields:
29112
- type: object
29113
- properties:
29114
- event_name:
29115
- type: string
29116
- minLength: 1
29117
- maxLength: 64
29118
- required:
29119
- - event_name
29120
- description:
29121
- Wire event fields, excluding the daemon-stamped base fields (type, daemon_event_id, recorded_at,
29122
- assistant_version).
29123
- daemon_event_id:
29124
- description:
29125
- "Optional collapse key: rows sharing an id collapse downstream (e.g. a retried report). Defaults to a fresh
29126
- per-row id."
29127
- type: string
29128
- minLength: 1
29129
- maxLength: 128
29130
- required:
29131
- - type
29132
- - fields
29133
- - type: object
29134
- properties:
29135
- type:
29136
- type: string
29137
- const: onboarding
29138
- fields:
29139
- type: object
29140
- properties:
29141
- screen:
29142
- type: string
29143
- minLength: 1
29144
- maxLength: 64
29145
- tools:
29146
- type: array
29147
- items:
29148
- type: string
29149
- minLength: 1
29150
- maxLength: 128
29151
- tasks:
29152
- type: array
29153
- items:
29154
- type: string
29155
- minLength: 1
29156
- maxLength: 128
29157
- tone:
29158
- type: string
29159
- minLength: 1
29160
- maxLength: 64
29161
- google_connected:
29162
- type: boolean
29163
- google_scopes:
29164
- type: array
29165
- items:
29166
- type: string
29167
- minLength: 1
29168
- maxLength: 256
29169
- ab_variant:
29170
- type: string
29171
- minLength: 1
29172
- maxLength: 64
29173
- session_id:
29174
- type: string
29175
- minLength: 1
29176
- maxLength: 128
29177
- step_name:
29178
- type: string
29179
- minLength: 1
29180
- maxLength: 128
29181
- step_index:
29182
- type: integer
29183
- minimum: 0
29184
- maximum: 9007199254740991
29185
- completed_at:
29186
- type: string
29187
- minLength: 1
29188
- maxLength: 64
29189
- funnel_version:
29190
- type: string
29191
- minLength: 1
29192
- maxLength: 128
29193
- user_id:
29194
- anyOf:
29195
- - type: string
29196
- minLength: 1
29197
- maxLength: 64
29198
- - type: "null"
29199
- outcome:
29200
- type: string
29201
- minLength: 1
29202
- maxLength: 32
29203
- description:
29204
- Wire event fields, excluding the daemon-stamped base fields (type, daemon_event_id, recorded_at,
29205
- assistant_version).
29206
- daemon_event_id:
29207
- description:
29208
- "Optional collapse key: rows sharing an id collapse downstream (e.g. a retried report). Defaults to a fresh
29209
- per-row id."
29210
- type: string
29211
- minLength: 1
29212
- maxLength: 128
29213
- required:
29214
- - type
29215
- - fields
29216
- - type: object
29217
- properties:
29218
- type:
29219
- type: string
29220
- const: auth_fallback
29221
- fields:
29222
- type: object
29223
- properties:
29224
- guard:
29225
- type: string
29226
- minLength: 1
29227
- maxLength: 64
29228
- failure_kind:
29229
- type: string
29230
- minLength: 1
29231
- maxLength: 64
29232
- path:
29233
- type: string
29234
- minLength: 1
29235
- maxLength: 2048
29236
- count:
29237
- type: integer
29238
- minimum: 0
29239
- maximum: 9007199254740991
29240
- window_start:
29241
- type: integer
29242
- minimum: 0
29243
- maximum: 9007199254740991
29244
- window_end:
29245
- type: integer
29246
- minimum: 0
29247
- maximum: 9007199254740991
29248
- required:
29249
- - guard
29250
- - failure_kind
29251
- - path
29252
- - count
29253
- - window_start
29254
- - window_end
29255
- description:
29256
- Wire event fields, excluding the daemon-stamped base fields (type, daemon_event_id, recorded_at,
29257
- assistant_version).
29258
- daemon_event_id:
29259
- description:
29260
- "Optional collapse key: rows sharing an id collapse downstream (e.g. a retried report). Defaults to a fresh
29261
- per-row id."
29262
- type: string
29263
- minLength: 1
29264
- maxLength: 128
29265
- required:
29266
- - type
29267
- - fields
29268
- - type: object
29269
- properties:
29270
- type:
29271
- type: string
29272
- const: skill_loaded
29273
- fields:
29274
- type: object
29275
- properties:
29276
- provider:
29277
- anyOf:
29278
- - type: string
29279
- minLength: 1
29280
- maxLength: 64
29281
- - type: "null"
29282
- model:
29283
- anyOf:
29284
- - type: string
29285
- minLength: 1
29286
- maxLength: 128
29287
- - type: "null"
29288
- inference_profile:
29289
- anyOf:
29290
- - type: string
29291
- minLength: 1
29292
- maxLength: 255
29293
- - type: "null"
29294
- inference_profile_source:
29295
- anyOf:
29296
- - type: string
29297
- minLength: 1
29298
- maxLength: 255
29299
- - type: "null"
29300
- skill_name:
29301
- type: string
29302
- minLength: 1
29303
- maxLength: 255
29304
- skill_updated_at:
29305
- anyOf:
29306
- - type: string
29307
- minLength: 1
29308
- maxLength: 64
29309
- - type: "null"
29310
- conversation_id:
29311
- anyOf:
29312
- - type: string
29313
- minLength: 1
29314
- maxLength: 128
29315
- - type: "null"
29316
- required:
29317
- - skill_name
29318
- description:
29319
- Wire event fields, excluding the daemon-stamped base fields (type, daemon_event_id, recorded_at,
29320
- assistant_version).
29321
- daemon_event_id:
29322
- description:
29323
- "Optional collapse key: rows sharing an id collapse downstream (e.g. a retried report). Defaults to a fresh
29324
- per-row id."
29325
- type: string
29326
- minLength: 1
29327
- maxLength: 128
29328
- required:
29329
- - type
29330
- - fields
29331
- - type: object
29332
- properties:
29333
- type:
29334
- type: string
29335
- const: watchdog
29336
- fields:
29337
- type: object
29338
- properties:
29339
- check_name:
29340
- type: string
29341
- minLength: 1
29342
- maxLength: 128
29343
- value:
29344
- anyOf:
29345
- - type: number
29346
- - type: "null"
29347
- detail:
29348
- anyOf:
29349
- - $ref: "#/components/schemas/TelemetryJsonValue"
29350
- - type: "null"
29351
- required:
29352
- - check_name
29353
- description:
29354
- Wire event fields, excluding the daemon-stamped base fields (type, daemon_event_id, recorded_at,
29355
- assistant_version).
29356
- daemon_event_id:
29357
- description:
29358
- "Optional collapse key: rows sharing an id collapse downstream (e.g. a retried report). Defaults to a fresh
29359
- per-row id."
29360
- type: string
29361
- minLength: 1
29362
- maxLength: 128
29363
- required:
29364
- - type
29365
- - fields
29366
- - type: object
29367
- properties:
29368
- type:
29369
- type: string
29370
- const: config_setting
29371
- fields:
29372
- type: object
29373
- properties:
29374
- config_key:
29375
- type: string
29376
- minLength: 1
29377
- maxLength: 128
29378
- config_value:
29379
- type: string
29380
- minLength: 1
29381
- maxLength: 256
29382
- required:
29383
- - config_key
29384
- - config_value
29385
- description:
29386
- Wire event fields, excluding the daemon-stamped base fields (type, daemon_event_id, recorded_at,
29387
- assistant_version).
29388
- daemon_event_id:
29389
- description:
29390
- "Optional collapse key: rows sharing an id collapse downstream (e.g. a retried report). Defaults to a fresh
29391
- per-row id."
29392
- type: string
29393
- minLength: 1
29394
- maxLength: 128
29395
- required:
29396
- - type
29397
- - fields
29398
- - type: object
29399
- properties:
29400
- type:
29401
- type: string
29402
- const: onboarding_research
29403
- fields:
29404
- type: object
29405
- properties:
29406
- conversation_id:
29407
- anyOf:
29408
- - type: string
29409
- minLength: 1
29410
- maxLength: 64
29411
- - type: "null"
29412
- status:
29413
- type: string
29414
- minLength: 1
29415
- maxLength: 32
29416
- self_reported_occupation:
29417
- anyOf:
29418
- - type: string
29419
- maxLength: 256
29420
- - type: "null"
29421
- self_reported_hobbies:
29422
- maxItems: 32
29423
- type: array
29424
- items:
29425
- type: string
29426
- minLength: 1
29427
- maxLength: 128
29428
- self_reported_timezone:
29429
- anyOf:
29430
- - type: string
29431
- maxLength: 64
29432
- - type: "null"
29433
- claims:
29434
- maxItems: 20
29435
- type: array
29436
- items:
29437
- $ref: "#/components/schemas/TelemetryJsonValue"
29438
- claim_count:
29439
- type: integer
29440
- minimum: 0
29441
- maximum: 9007199254740991
29442
- claims_confident:
29443
- type: integer
29444
- minimum: 0
29445
- maximum: 9007199254740991
29446
- claims_maybe:
29447
- type: integer
29448
- minimum: 0
29449
- maximum: 9007199254740991
29450
- claims_guessing:
29451
- type: integer
29452
- minimum: 0
29453
- maximum: 9007199254740991
29454
- suggestions:
29455
- maxItems: 20
29456
- type: array
29457
- items:
29458
- $ref: "#/components/schemas/TelemetryJsonValue"
29459
- suggestion_count:
29460
- type: integer
29461
- minimum: 0
29462
- maximum: 9007199254740991
29463
- plugins:
29464
- maxItems: 20
29465
- type: array
29466
- items:
29467
- type: string
29468
- minLength: 1
29469
- maxLength: 128
29470
- installed_plugins:
29471
- maxItems: 20
29472
- type: array
29473
- items:
29474
- type: string
29475
- minLength: 1
29476
- maxLength: 128
29477
- required:
29478
- - status
29479
- - claims
29480
- - claim_count
29481
- - claims_confident
29482
- - claims_maybe
29483
- - claims_guessing
29484
- - suggestions
29485
- - suggestion_count
29486
- - plugins
29487
- - installed_plugins
29488
- description:
29489
- Wire event fields, excluding the daemon-stamped base fields (type, daemon_event_id, recorded_at,
29490
- assistant_version).
29491
- daemon_event_id:
29492
- description:
29493
- "Optional collapse key: rows sharing an id collapse downstream (e.g. a retried report). Defaults to a fresh
29494
- per-row id."
29495
- type: string
29496
- minLength: 1
29497
- maxLength: 128
29498
- required:
29499
- - type
29500
- - fields
29501
29035
  type: object
29036
+ properties:
29037
+ event_name:
29038
+ type: string
29039
+ description: "Event name: app_open or hatch"
29040
+ required:
29041
+ - event_name
29502
29042
  responses:
29503
29043
  "200":
29504
29044
  description: Successful response
@@ -29511,23 +29051,30 @@ paths:
29511
29051
  id:
29512
29052
  type: string
29513
29053
  description: Event ID
29054
+ event_name:
29055
+ type: string
29514
29056
  required:
29515
29057
  - id
29058
+ - event_name
29516
29059
  additionalProperties: false
29517
29060
  - type: object
29518
29061
  properties:
29519
29062
  skipped:
29520
29063
  type: boolean
29521
29064
  const: true
29522
- description: "Event skipped: usage data collection is disabled or the telemetry database is unavailable"
29065
+ description: Event skipped due to usage data collection being disabled
29523
29066
  required:
29524
29067
  - skipped
29525
29068
  additionalProperties: false
29526
- /v1/telemetry/lifecycle:
29069
+ /v1/telemetry/onboarding-research:
29527
29070
  post:
29528
- operationId: telemetry_lifecycle_post
29529
- summary: Record lifecycle event
29530
- description: Record a telemetry lifecycle event (app_open, hatch).
29071
+ operationId: telemetry_onboardingresearch_post
29072
+ summary: Record onboarding-research event
29073
+ description:
29074
+ 'Record the settled result of an onboarding "research me" web-search turn (claims, suggestions, and
29075
+ plugin picks). Client-orchestrated: the web client reports this once it has observed the turn complete. Gated on
29076
+ share_diagnostics consent (in addition to share_analytics) since the payload carries the model''s raw inferred
29077
+ claims about the user.'
29531
29078
  tags:
29532
29079
  - telemetry
29533
29080
  requestBody:
@@ -29537,11 +29084,63 @@ paths:
29537
29084
  schema:
29538
29085
  type: object
29539
29086
  properties:
29540
- event_name:
29087
+ conversation_id:
29088
+ anyOf:
29089
+ - type: string
29090
+ - type: "null"
29091
+ status:
29541
29092
  type: string
29542
- description: "Event name: app_open or hatch"
29093
+ enum:
29094
+ - done
29095
+ - error
29096
+ claims:
29097
+ type: array
29098
+ items:
29099
+ type: object
29100
+ properties:
29101
+ claim:
29102
+ type: string
29103
+ confidence:
29104
+ type: string
29105
+ enum:
29106
+ - confident
29107
+ - maybe
29108
+ - guessing
29109
+ sources:
29110
+ type: array
29111
+ items:
29112
+ type: string
29113
+ required:
29114
+ - claim
29115
+ - confidence
29116
+ - sources
29117
+ suggestions:
29118
+ type: array
29119
+ items:
29120
+ type: object
29121
+ properties:
29122
+ suggestion:
29123
+ type: string
29124
+ prompt:
29125
+ type: string
29126
+ required:
29127
+ - suggestion
29128
+ - prompt
29129
+ plugins:
29130
+ type: array
29131
+ items:
29132
+ type: string
29133
+ installed_plugins:
29134
+ type: array
29135
+ items:
29136
+ type: string
29543
29137
  required:
29544
- - event_name
29138
+ - conversation_id
29139
+ - status
29140
+ - claims
29141
+ - suggestions
29142
+ - plugins
29143
+ - installed_plugins
29545
29144
  responses:
29546
29145
  "200":
29547
29146
  description: Successful response
@@ -29554,18 +29153,15 @@ paths:
29554
29153
  id:
29555
29154
  type: string
29556
29155
  description: Event ID
29557
- event_name:
29558
- type: string
29559
29156
  required:
29560
29157
  - id
29561
- - event_name
29562
29158
  additionalProperties: false
29563
29159
  - type: object
29564
29160
  properties:
29565
29161
  skipped:
29566
29162
  type: boolean
29567
29163
  const: true
29568
- description: Event skipped due to usage data collection being disabled
29164
+ description: "Event skipped: usage data collection or diagnostics consent is disabled/ineligible"
29569
29165
  required:
29570
29166
  - skipped
29571
29167
  additionalProperties: false
@@ -31944,6 +31540,8 @@ components:
31944
31540
  anyOf:
31945
31541
  - type: object
31946
31542
  properties:
31543
+ mode:
31544
+ $ref: "#/components/schemas/ServiceMode"
31947
31545
  provider:
31948
31546
  type: string
31949
31547
  additionalProperties: {}
@@ -31980,7 +31578,6 @@ components:
31980
31578
  - minimax
31981
31579
  - atlascloud
31982
31580
  - together
31983
- - baseten
31984
31581
  ProfilePatchEntry:
31985
31582
  type: object
31986
31583
  properties:
@@ -32357,7 +31954,6 @@ components:
32357
31954
  - openai-compatible
32358
31955
  - minimax
32359
31956
  - atlascloud
32360
- - baseten
32361
31957
  - vellum
32362
31958
  Auth:
32363
31959
  oneOf:
@@ -32420,20 +32016,6 @@ components:
32420
32016
  minLength: 1
32421
32017
  required:
32422
32018
  - id
32423
- TelemetryJsonValue:
32424
- anyOf:
32425
- - type: string
32426
- - type: number
32427
- - type: boolean
32428
- - type: "null"
32429
- - type: array
32430
- items:
32431
- $ref: "#/components/schemas/TelemetryJsonValue"
32432
- - type: object
32433
- propertyNames:
32434
- type: string
32435
- additionalProperties:
32436
- $ref: "#/components/schemas/TelemetryJsonValue"
32437
32019
  ConfigGetResponse:
32438
32020
  type: object
32439
32021
  properties:
@@ -32756,6 +32338,8 @@ components:
32756
32338
  web-fetch:
32757
32339
  type: object
32758
32340
  properties:
32341
+ mode:
32342
+ $ref: "#/components/schemas/ServiceMode"
32759
32343
  provider:
32760
32344
  type: string
32761
32345
  additionalProperties: {}