@mycadet/assistant 0.12.9 → 0.12.10

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 (651) hide show
  1. package/Dockerfile +0 -8
  2. package/eslint-rules/__tests__/cli-no-daemon-internals.test.ts +1 -1
  3. package/openapi.yaml +62 -910
  4. package/package.json +3 -7
  5. package/scripts/build-test-fixtures.ts +1 -1
  6. package/scripts/generate-openapi.ts +22 -6
  7. package/scripts/postinstall.ts +4 -10
  8. package/scripts/run-tests.ts +0 -21
  9. package/src/__tests__/adaptive-thinking-repair.test.ts +19 -57
  10. package/src/__tests__/agent-loop.test.ts +0 -76
  11. package/src/__tests__/anthropic-provider.test.ts +6 -6
  12. package/src/__tests__/assert-not-live-db.ts +1 -1
  13. package/src/__tests__/assistant-id-boundary-guard.test.ts +3 -3
  14. package/src/__tests__/attachments-store-heic-normalize.test.ts +1 -1
  15. package/src/__tests__/attachments-store.test.ts +1 -1
  16. package/src/__tests__/audit-log-rotation.test.ts +1 -1
  17. package/src/__tests__/btw-routes.test.ts +1 -1
  18. package/src/__tests__/byok-default-profile-ensure.test.ts +21 -27
  19. package/src/__tests__/call-conversation-messages.test.ts +0 -5
  20. package/src/__tests__/call-recovery.test.ts +2 -7
  21. package/src/__tests__/call-routes-http.test.ts +0 -12
  22. package/src/__tests__/call-store.test.ts +2 -7
  23. package/src/__tests__/catalog-files.test.ts +7 -5
  24. package/src/__tests__/checker.test.ts +1 -1
  25. package/src/__tests__/cli-memory-v2-reembed-skills.test.ts +4 -4
  26. package/src/__tests__/cloud-client-verify-credential.test.ts +0 -4
  27. package/src/__tests__/cloud-credential-catalog-cli.test.ts +14 -14
  28. package/src/__tests__/cloud-profile-guard.test.ts +48 -401
  29. package/src/__tests__/compaction-events.test.ts +2 -2
  30. package/src/__tests__/config-loader-backfill.test.ts +74 -163
  31. package/src/__tests__/config-loader-cloud-defaults.test.ts +11 -11
  32. package/src/__tests__/config-loader-corrupt.test.ts +10 -10
  33. package/src/__tests__/config-loader-quarantine-notice.test.ts +7 -7
  34. package/src/__tests__/config-loader-validation-reset-notice.test.ts +11 -11
  35. package/src/__tests__/config-schema.test.ts +26 -27
  36. package/src/__tests__/config-set-route.test.ts +2 -6
  37. package/src/__tests__/conversation-agent-loop-inference-profile.test.ts +28 -300
  38. package/src/__tests__/conversation-agent-loop-overflow.test.ts +39 -246
  39. package/src/__tests__/conversation-agent-loop.test.ts +2 -58
  40. package/src/__tests__/conversation-clear-safety.test.ts +0 -30
  41. package/src/__tests__/conversation-inference-profile-route.test.ts +1 -1
  42. package/src/__tests__/conversation-queue.test.ts +1 -1
  43. package/src/__tests__/conversation-runtime-assembly.test.ts +1 -1
  44. package/src/__tests__/conversation-skill-tools.test.ts +4 -444
  45. package/src/__tests__/conversation-slash-commands.test.ts +1 -1
  46. package/src/__tests__/conversation-store.test.ts +1 -84
  47. package/src/__tests__/conversation-surface-state.test.ts +0 -16
  48. package/src/__tests__/credential-health-service.test.ts +14 -1
  49. package/src/__tests__/credential-record-retire.test.ts +1 -1
  50. package/src/__tests__/credential-record-write-through.test.ts +1 -1
  51. package/src/__tests__/credential-security-invariants.test.ts +0 -145
  52. package/src/__tests__/custom-profile-ensure.test.ts +1 -1
  53. package/src/__tests__/default-profile-catalog-fallback.test.ts +5 -15
  54. package/src/__tests__/deterministic-verification-control-plane.test.ts +0 -2
  55. package/src/__tests__/dictation-profile-store.test.ts +6 -6
  56. package/src/__tests__/disk-usage.test.ts +28 -164
  57. package/src/__tests__/docker-signing-key-bootstrap.test.ts +1 -1
  58. package/src/__tests__/embedding-cloud-proxy-selection.test.ts +1 -1
  59. package/src/__tests__/emit-event-signal.test.ts +1 -1
  60. package/src/__tests__/gateway-client-cloud-outbound.test.ts +3 -3
  61. package/src/__tests__/gateway-only-enforcement.test.ts +1 -1
  62. package/src/__tests__/guardian-dispatch.test.ts +0 -13
  63. package/src/__tests__/helpers/seed-app.ts +1 -1
  64. package/src/__tests__/host-cu-routes-targeted.test.ts +1 -1
  65. package/src/__tests__/host-shell-tool.test.ts +1 -1
  66. package/src/__tests__/identity-routes.test.ts +1 -1
  67. package/src/__tests__/inference-profile-session-handler.test.ts +1 -1
  68. package/src/__tests__/inference-profile-session-ipc.test.ts +1 -1
  69. package/src/__tests__/injector-chain.test.ts +1 -1
  70. package/src/__tests__/injector-config-quarantine-notice.test.ts +1 -1
  71. package/src/__tests__/injector-config-validation-reset-notice.test.ts +1 -1
  72. package/src/__tests__/injector-pkb-v2-silenced.test.ts +1 -1
  73. package/src/__tests__/{platform.test.ts → layout.test.ts} +1 -1
  74. package/src/__tests__/list-all-apps.test.ts +1 -1
  75. package/src/__tests__/live-workspace-guard.test.ts +2 -2
  76. package/src/__tests__/llm-resolver-override-or-default.test.ts +5 -6
  77. package/src/__tests__/llm-resolver.test.ts +7 -7
  78. package/src/__tests__/llm-schema-fallback-profile.test.ts +9 -10
  79. package/src/__tests__/llm-usage-store.test.ts +0 -495
  80. package/src/__tests__/log-export-routes.test.ts +1 -1
  81. package/src/__tests__/mcp-config-secret-boundary.test.ts +12 -53
  82. package/src/__tests__/mcp-list-plugin-servers.test.ts +1 -1
  83. package/src/__tests__/memory-config-file-parity.test.ts +1 -1
  84. package/src/__tests__/memory-v2-static-injector.test.ts +1 -1
  85. package/src/__tests__/messages-read-boundary-guard.test.ts +0 -2
  86. package/src/__tests__/notification-guardian-path.test.ts +0 -7
  87. package/src/__tests__/onboarding-persona-write.test.ts +1 -1
  88. package/src/__tests__/openai-provider.test.ts +8 -8
  89. package/src/__tests__/path-policy.test.ts +1 -1
  90. package/src/__tests__/persona-resolver.test.ts +1 -1
  91. package/src/__tests__/plugin-app-serve-routes.test.ts +1 -1
  92. package/src/__tests__/plugin-effective-enabled-set.test.ts +1 -1
  93. package/src/__tests__/plugin-import-boundary-guard.test.ts +4 -6
  94. package/src/__tests__/plugin-import-boundary-reverse-guard.test.ts +0 -3
  95. package/src/__tests__/provider-cloud-proxy-integration.test.ts +1 -5
  96. package/src/__tests__/provider-connections-backfill.test.ts +10 -10
  97. package/src/__tests__/prune-old-conversations-job.test.ts +6 -31
  98. package/src/__tests__/resolve-app.test.ts +1 -1
  99. package/src/__tests__/run-due-schedules.test.ts +1 -1
  100. package/src/__tests__/scaffold-managed-skill-tool.test.ts +0 -53
  101. package/src/__tests__/schedule-routes.test.ts +1 -1
  102. package/src/__tests__/schedule-store.test.ts +1 -1
  103. package/src/__tests__/secret-routes-cloud-proxy.test.ts +1 -1
  104. package/src/__tests__/skill-load-plugin-scope.test.ts +1 -1
  105. package/src/__tests__/surface-completion-compaction-boundary.test.ts +1 -1
  106. package/src/__tests__/tool-approval-handler.test.ts +1 -1
  107. package/src/__tests__/tool-audit.test.ts +5 -235
  108. package/src/__tests__/tool-executor-lifecycle-events.test.ts +54 -114
  109. package/src/__tests__/tools-get-route.test.ts +1 -1
  110. package/src/__tests__/turn-outcome-read.test.ts +1 -1
  111. package/src/__tests__/twilio-routes.test.ts +0 -1
  112. package/src/__tests__/usage-attribution.test.ts +0 -31
  113. package/src/__tests__/verification-control-plane-policy.test.ts +3 -10
  114. package/src/__tests__/visible-app-context.test.ts +1 -1
  115. package/src/__tests__/voice-ingress-preflight.test.ts +1 -1
  116. package/src/__tests__/workspace-git-service.test.ts +1 -1
  117. package/src/__tests__/workspace-greetings.test.ts +1 -1
  118. package/src/acp/__tests__/helpers/acp-config-stub.ts +1 -1
  119. package/src/activation/progress-store.ts +1 -1
  120. package/src/activation/turn-hooks.ts +1 -1
  121. package/src/agent/loop.ts +0 -51
  122. package/src/apps/app-store.ts +1 -1
  123. package/src/avatar/__tests__/avatar-store.test.ts +2 -172
  124. package/src/avatar/accent-backfill.ts +1 -1
  125. package/src/avatar/avatar-manifest.ts +1 -1
  126. package/src/avatar/avatar-store.ts +10 -69
  127. package/src/avatar/ensure-raster.ts +1 -1
  128. package/src/avatar/identity-avatar.ts +1 -1
  129. package/src/avatar/sync-avatar.ts +1 -1
  130. package/src/avatar/traits-png-sync.ts +1 -1
  131. package/src/bundler/compiler-tools.ts +1 -1
  132. package/src/bundler/package-resolver.ts +1 -1
  133. package/src/calls/__tests__/call-controller.test.ts +25 -27
  134. package/src/calls/active-call-lease.ts +1 -1
  135. package/src/calls/call-controller.ts +3 -3
  136. package/src/calls/call-domain.ts +4 -8
  137. package/src/calls/call-store.ts +2 -76
  138. package/src/calls/resolve-call-tts-provider.ts +3 -3
  139. package/src/calls/twilio-config.ts +3 -3
  140. package/src/calls/twilio-rest.ts +2 -2
  141. package/src/calls/voice-ingress-preflight.ts +2 -2
  142. package/src/cli/bundled-modules.ts +0 -2
  143. package/src/cli/commands/__tests__/apps.test.ts +1 -1
  144. package/src/cli/commands/__tests__/plugins.test.ts +9 -66
  145. package/src/cli/commands/__tests__/ps.test.ts +67 -0
  146. package/src/cli/commands/auth.help.ts +2 -2
  147. package/src/cli/commands/avatar.ts +1 -1
  148. package/src/cli/commands/changelog.ts +1 -1
  149. package/src/cli/commands/cloud/__tests__/subscription.test.ts +2 -2
  150. package/src/cli/commands/cloud/index.help.ts +1 -1
  151. package/src/cli/commands/cloud/index.ts +2 -2
  152. package/src/cli/commands/db/refresh.ts +1 -1
  153. package/src/cli/commands/db/repair-step-conversation-backfill.ts +1 -1
  154. package/src/cli/commands/db/repair.ts +1 -1
  155. package/src/cli/commands/db/status.ts +1 -1
  156. package/src/cli/commands/inference-profiles.ts +1 -12
  157. package/src/cli/commands/memory/__tests__/memory-v3.test.ts +1 -116
  158. package/src/cli/commands/memory/index.help.ts +1 -43
  159. package/src/cli/commands/memory/memory-v3.ts +0 -64
  160. package/src/cli/commands/plugins.ts +54 -205
  161. package/src/cli/commands/ps.ts +5 -2
  162. package/src/cli/commands/status.ts +1 -1
  163. package/src/cli/index.help.ts +0 -2
  164. package/src/cli/lib/__tests__/inspect-plugin.test.ts +36 -66
  165. package/src/cli/lib/__tests__/install-from-cloud.test.ts +1 -1
  166. package/src/cli/lib/__tests__/install-from-github.test.ts +41 -117
  167. package/src/cli/lib/__tests__/plugin-catalog-cache.test.ts +2 -185
  168. package/src/cli/lib/__tests__/plugin-catalog-resolve.test.ts +36 -66
  169. package/src/cli/lib/__tests__/plugin-catalog-visibility.test.ts +4 -6
  170. package/src/cli/lib/__tests__/plugin-details.test.ts +113 -96
  171. package/src/cli/lib/__tests__/search-plugins.test.ts +9 -16
  172. package/src/cli/lib/__tests__/uninstall-plugin.test.ts +1 -1
  173. package/src/cli/lib/__tests__/upgrade-plugin.test.ts +38 -15
  174. package/src/cli/lib/diff-plugin.ts +1 -1
  175. package/src/cli/lib/inspect-plugin.ts +13 -97
  176. package/src/cli/lib/install-from-cloud.ts +1 -1
  177. package/src/cli/lib/install-from-github.ts +75 -154
  178. package/src/cli/lib/install-plugin-dependencies.ts +1 -1
  179. package/src/cli/lib/list-installed-plugins.ts +1 -1
  180. package/src/cli/lib/open-browser.ts +1 -1
  181. package/src/cli/lib/plugin-catalog-cache.ts +8 -51
  182. package/src/cli/lib/plugin-catalog-resolve.ts +3 -22
  183. package/src/cli/lib/plugin-details.ts +5 -27
  184. package/src/cli/lib/plugin-marketplace.ts +18 -266
  185. package/src/cli/lib/search-plugins.ts +23 -43
  186. package/src/cli/lib/toggle-plugin.ts +1 -1
  187. package/src/cli/lib/uninstall-plugin.ts +1 -1
  188. package/src/cli/lib/upgrade-plugin.ts +3 -49
  189. package/src/cli/program.ts +1 -3
  190. package/src/cli.ts +1 -1
  191. package/src/cloud/client.ts +0 -6
  192. package/src/cloud/consent-cache.test.ts +22 -201
  193. package/src/cloud/consent-cache.ts +16 -111
  194. package/src/cloud/sync-identity.ts +1 -1
  195. package/src/config/__tests__/chat-settings.test.ts +1 -1
  196. package/src/config/__tests__/cloud-identity.test.ts +15 -2
  197. package/src/config/__tests__/default-plugin-skill-discovery.test.ts +1 -1
  198. package/src/config/__tests__/default-profile-catalog.test.ts +12 -51
  199. package/src/config/__tests__/deployment-context-defaults.test.ts +13 -13
  200. package/src/config/__tests__/loader-callsite-strip-fallback.test.ts +4 -4
  201. package/src/config/__tests__/loader-last-known-good.test.ts +9 -9
  202. package/src/config/__tests__/loader-sparse-array-cleanup.test.ts +7 -7
  203. package/src/config/__tests__/plugin-resident-skill-discovery.test.ts +1 -1
  204. package/src/config/__tests__/profile-materialization.test.ts +2 -4
  205. package/src/config/__tests__/sync-gated-profiles.test.ts +1 -106
  206. package/src/config/acp-agent-write.ts +1 -1
  207. package/src/config/bundled-skills/settings/tools/open-system-settings.test.ts +1 -1
  208. package/src/config/bundled-skills/settings/tools/open-system-settings.ts +1 -1
  209. package/src/config/call-site-defaults.ts +0 -6
  210. package/src/config/cloud-identity.ts +12 -5
  211. package/src/config/composer-preferences.ts +1 -1
  212. package/src/config/default-profile-catalog.ts +8 -75
  213. package/src/config/default-profile-names.ts +2 -25
  214. package/src/config/env-registry.ts +1 -14
  215. package/src/config/env.ts +8 -6
  216. package/src/config/llm-resolver.ts +1 -2
  217. package/src/config/loader.ts +13 -17
  218. package/src/config/profile-materialization.ts +1 -1
  219. package/src/config/schema.ts +1 -7
  220. package/src/config/schemas/call-site-catalog.ts +0 -7
  221. package/src/config/schemas/llm.ts +22 -27
  222. package/src/config/seed-inference-profiles.ts +16 -17
  223. package/src/config/skills.ts +2 -2
  224. package/src/config/sync-gated-profiles.ts +6 -24
  225. package/src/credential-health/credential-health-service.ts +10 -3
  226. package/src/daemon/approval-generators.ts +3 -3
  227. package/src/daemon/config-watcher.ts +2 -2
  228. package/src/daemon/conversation-agent-loop-handlers.ts +0 -18
  229. package/src/daemon/conversation-agent-loop.ts +6 -97
  230. package/src/daemon/conversation-process.ts +1 -1
  231. package/src/daemon/conversation-skill-tools.ts +4 -72
  232. package/src/daemon/conversation-store.ts +1 -1
  233. package/src/daemon/conversation-surface-state.ts +0 -33
  234. package/src/daemon/conversation-surfaces.ts +1 -86
  235. package/src/daemon/conversation-tool-setup.test.ts +1 -1
  236. package/src/daemon/conversation-tool-setup.ts +0 -23
  237. package/src/daemon/conversation.ts +3 -5
  238. package/src/daemon/daemon-control.ts +3 -3
  239. package/src/daemon/dictation-profile-store.ts +3 -3
  240. package/src/daemon/event-loop-watchdog.test.ts +2 -198
  241. package/src/daemon/event-loop-watchdog.ts +0 -185
  242. package/src/daemon/external-plugins-bootstrap.ts +1 -1
  243. package/src/daemon/first-greeting.ts +1 -1
  244. package/src/daemon/handlers/skills.ts +1 -1
  245. package/src/daemon/host-app-control-proxy.ts +1 -1
  246. package/src/daemon/host-cu-proxy.ts +2 -2
  247. package/src/daemon/identity-helpers.ts +1 -1
  248. package/src/daemon/lifecycle.ts +11 -15
  249. package/src/daemon/main.ts +1 -1
  250. package/src/daemon/now-scratchpad.ts +1 -1
  251. package/src/daemon/process-message.ts +4 -4
  252. package/src/daemon/profiler-run-store.ts +2 -2
  253. package/src/daemon/providers-setup.ts +2 -2
  254. package/src/daemon/shutdown-handlers.ts +0 -10
  255. package/src/daemon/sqlite-corruption-watchdog.test.ts +2 -142
  256. package/src/daemon/sqlite-corruption-watchdog.ts +17 -81
  257. package/src/daemon/tool-side-effects.ts +1 -1
  258. package/src/desktop/desktop-session-manager.ts +1 -1
  259. package/src/desktop/desktop-wallpaper-renderer.ts +1 -1
  260. package/src/heartbeat/heartbeat-service.ts +1 -1
  261. package/src/home/feed-writer.ts +1 -1
  262. package/src/home/home-greeting-cache.ts +1 -1
  263. package/src/home/relationship-state-writer.ts +2 -2
  264. package/src/hooks/__tests__/hook-live-reload.test.ts +1 -1
  265. package/src/hooks/hook-loader.ts +2 -2
  266. package/src/inbound/__tests__/oauth-callback-url.test.ts +2 -2
  267. package/src/inbound/oauth-callback-url.ts +3 -3
  268. package/src/ipc/__tests__/attachment-ipc.test.ts +1 -1
  269. package/src/ipc/socket-path.ts +1 -1
  270. package/src/live-voice/__tests__/live-voice-archive.test.ts +1 -1
  271. package/src/live-voice/__tests__/live-voice-vad.test.ts +1 -1
  272. package/src/live-voice/live-voice-session.ts +3 -66
  273. package/src/mcp/__tests__/effective-config.test.ts +1 -1
  274. package/src/mcp/__tests__/mcp-oauth-client-registration.test.ts +2 -2
  275. package/src/mcp/__tests__/mcp-oauth-provider.test.ts +2 -3
  276. package/src/mcp/__tests__/reload-signal-emission.test.ts +1 -1
  277. package/src/mcp/__tests__/reload-signal.test.ts +1 -1
  278. package/src/mcp/__tests__/workspace-mcp-config.test.ts +19 -21
  279. package/src/mcp/reload-signal.ts +1 -1
  280. package/src/mcp/workspace-mcp-config.ts +1 -23
  281. package/src/messaging/draft-store.ts +1 -1
  282. package/src/monitoring/__tests__/active-conversations.test.ts +1 -1
  283. package/src/monitoring/__tests__/page-cache.test.ts +1 -1
  284. package/src/monitoring/__tests__/stall-capture.test.ts +1 -1
  285. package/src/monitoring/__tests__/workspace-git-heartbeat.test.ts +1 -1
  286. package/src/monitoring/active-conversations.ts +1 -1
  287. package/src/monitoring/control.ts +1 -1
  288. package/src/monitoring/daemon-boot-time.ts +1 -1
  289. package/src/monitoring/daemon-heartbeat.ts +1 -1
  290. package/src/monitoring/page-cache.ts +1 -1
  291. package/src/monitoring/plugin-auto-update.ts +1 -7
  292. package/src/monitoring/plugin-source-watch.ts +1 -1
  293. package/src/monitoring/recovery/db.ts +1 -1
  294. package/src/monitoring/recovery/inflight-content.ts +1 -1
  295. package/src/monitoring/resource-sampler.ts +3 -14
  296. package/src/monitoring/stall-capture.ts +1 -1
  297. package/src/monitoring/worker.ts +9 -76
  298. package/src/monitoring/workspace-git-heartbeat.ts +1 -1
  299. package/src/oauth/connect-orchestrator.ts +4 -4
  300. package/src/permissions/checker.ts +1 -1
  301. package/src/permissions/workspace-policy.ts +1 -1
  302. package/src/persistence/__tests__/main-db-readonly-probe.ts +27 -52
  303. package/src/persistence/__tests__/message-content-file.test.ts +1 -1
  304. package/src/persistence/__tests__/slow-sync-log.test.ts +0 -2
  305. package/src/persistence/attachments-store.ts +1 -1
  306. package/src/persistence/conversation-crud.ts +1 -38
  307. package/src/persistence/conversation-directories.ts +1 -1
  308. package/src/persistence/conversation-types.ts +0 -8
  309. package/src/persistence/db-async-query.ts +1 -1
  310. package/src/persistence/db-connection.ts +11 -1
  311. package/src/persistence/db-init.ts +1 -1
  312. package/src/persistence/db-maintenance.ts +1 -1
  313. package/src/persistence/embeddings/__tests__/embedding-local-lifecycle.test.ts +1 -1
  314. package/src/persistence/embeddings/embedding-local.ts +4 -4
  315. package/src/persistence/embeddings/embedding-runtime-manager.ts +1 -1
  316. package/src/persistence/embeddings/qdrant-client.ts +1 -1
  317. package/src/persistence/embeddings/qdrant-manager.ts +1 -1
  318. package/src/persistence/job-handlers/__tests__/message-lexical-backfill.test.ts +1 -1
  319. package/src/persistence/job-handlers/__tests__/message-lexical-enqueue.test.ts +1 -1
  320. package/src/persistence/job-handlers/cleanup.ts +8 -17
  321. package/src/persistence/llm-usage-store.ts +2 -229
  322. package/src/persistence/message-content-file.ts +1 -1
  323. package/src/persistence/migrations/209-strip-thinking-from-consolidated.ts +1 -1
  324. package/src/persistence/migrations/222-strip-placeholder-sentinels-from-messages.ts +1 -1
  325. package/src/persistence/migrations/296-rewrite-balanced-economy-profile-pins.test.ts +1 -1
  326. package/src/persistence/migrations/306-rewrite-frontier-profile-pins.test.ts +1 -1
  327. package/src/persistence/migrations/329-move-onboarding-events-to-telemetry-db.test.ts +13 -0
  328. package/src/persistence/migrations/330-move-auth-fallback-events-to-telemetry-db.test.ts +13 -0
  329. package/src/persistence/migrations/331-move-lifecycle-events-to-telemetry-db.test.ts +13 -0
  330. package/src/persistence/migrations/332-move-skill-loaded-events-to-telemetry-db.test.ts +13 -0
  331. package/src/persistence/migrations/333-create-telemetry-events-table.test.ts +7 -4
  332. package/src/persistence/migrations/334-backfill-telemetry-events-outbox.test.ts +13 -0
  333. package/src/persistence/migrations/387-drop-telemetry-tables.ts +51 -0
  334. package/src/persistence/migrations/__tests__/327-create-flush-checkpoints.test.ts +9 -1
  335. package/src/persistence/migrations/__tests__/387-drop-telemetry-tables.test.ts +79 -0
  336. package/src/persistence/migrations/helpers/relocation.ts +1 -1
  337. package/src/persistence/migrations/run-migrations.ts +1 -1
  338. package/src/persistence/migrations/validate-migration-state.ts +1 -1
  339. package/src/persistence/raw-query.ts +1 -29
  340. package/src/persistence/slow-sync-log.ts +0 -23
  341. package/src/persistence/steps.ts +2 -0
  342. package/src/{telemetry → persistence}/tool-audit.ts +6 -121
  343. package/src/plugin-api/index.ts +1 -1
  344. package/src/plugin-api/plugin-name-env.ts +1 -1
  345. package/src/plugins/__tests__/installed-plugin-dirs.test.ts +1 -1
  346. package/src/plugins/collect-source-versions.ts +1 -1
  347. package/src/plugins/defaults/channel/package.json +1 -1
  348. package/src/plugins/defaults/cloud-hosted/package.json +1 -1
  349. package/src/plugins/defaults/compaction/package.json +1 -1
  350. package/src/plugins/defaults/documents/package.json +1 -1
  351. package/src/plugins/defaults/empty-response/package.json +1 -1
  352. package/src/plugins/defaults/exploration-drift/package.json +1 -1
  353. package/src/plugins/defaults/image-fallback/package.json +1 -1
  354. package/src/plugins/defaults/image-recovery/package.json +1 -1
  355. package/src/plugins/defaults/max-tokens-continue/package.json +1 -1
  356. package/src/plugins/defaults/memory/__tests__/db-async-query.test.ts +1 -1
  357. package/src/plugins/defaults/memory/__tests__/db-maintenance.test.ts +1 -1
  358. package/src/plugins/defaults/memory/__tests__/memory-retrospective-job.test.ts +0 -82
  359. package/src/plugins/defaults/memory/__tests__/memory-retrospective-skill-card.test.ts +0 -41
  360. package/src/plugins/defaults/memory/__tests__/memory-tier-boundary-guard.test.ts +0 -2
  361. package/src/plugins/defaults/memory/memory-retrospective-job.ts +3 -52
  362. package/src/plugins/defaults/memory/memory-retrospective-skill-card.ts +0 -18
  363. package/src/plugins/defaults/memory/package.json +1 -1
  364. package/src/plugins/defaults/memory/paths.ts +4 -4
  365. package/src/plugins/defaults/memory/src/__tests__/memory-worker-routes.test.ts +1 -1
  366. package/src/plugins/defaults/memory/src/memory-v2-routes.ts +5 -5
  367. package/src/plugins/defaults/memory/src/memory-v3-routes.ts +0 -207
  368. package/src/plugins/defaults/memory/src/memory-worker-routes.ts +1 -1
  369. package/src/plugins/defaults/memory/startup.ts +1 -22
  370. package/src/plugins/defaults/memory/v3/__tests__/orchestrate.test.ts +2 -253
  371. package/src/plugins/defaults/memory/v3/orchestrate.ts +5 -129
  372. package/src/plugins/defaults/memory/worker-control.ts +1 -1
  373. package/src/plugins/defaults/memory/worker.ts +2 -2
  374. package/src/plugins/defaults/session/package.json +1 -1
  375. package/src/plugins/defaults/surface-completion-nudge/package.json +1 -1
  376. package/src/plugins/defaults/task-progress/package.json +1 -1
  377. package/src/plugins/defaults/task-progress-nudge/package.json +1 -1
  378. package/src/plugins/defaults/title-generate/package.json +1 -1
  379. package/src/plugins/defaults/tool-error/package.json +1 -1
  380. package/src/plugins/defaults/tool-result-truncate/package.json +1 -1
  381. package/src/plugins/defaults/turn-context/package.json +1 -1
  382. package/src/plugins/defaults/workspace/injectors.ts +1 -1
  383. package/src/plugins/defaults/workspace/package.json +1 -1
  384. package/src/plugins/disabled-state.ts +1 -1
  385. package/src/plugins/ensure-plugin-api-shim.ts +1 -1
  386. package/src/plugins/ensure-shared-dep-links.ts +1 -1
  387. package/src/plugins/installed-plugin-dirs.ts +1 -1
  388. package/src/plugins/mcp-servers.ts +7 -9
  389. package/src/plugins/mtime-cache.ts +2 -2
  390. package/src/plugins/source-versions.ts +1 -1
  391. package/src/prompts/bootstrap-cleanup.ts +1 -1
  392. package/src/prompts/persona-resolver.ts +1 -1
  393. package/src/prompts/sections.ts +2 -2
  394. package/src/prompts/system-prompt.ts +10 -42
  395. package/src/prompts/templates/BOOTSTRAP-ACTIVATION-RAIL.md +0 -37
  396. package/src/providers/__tests__/cadet-connection-routing.test.ts +2 -2
  397. package/src/providers/cadet/client.ts +1 -1
  398. package/src/providers/inference/__tests__/base-url-route-validation.test.ts +1 -1
  399. package/src/providers/inference/adapter-factory.ts +1 -1
  400. package/src/providers/inference/backfill.ts +3 -10
  401. package/src/providers/inference/profile-probe.ts +1 -1
  402. package/src/providers/retry.ts +0 -2
  403. package/src/providers/types.ts +0 -7
  404. package/src/providers/usage-tracking.ts +1 -1
  405. package/src/routes/__tests__/route-host.test.ts +1 -1
  406. package/src/routes/control.ts +1 -1
  407. package/src/routes/route-host-client.ts +1 -1
  408. package/src/routes/worker.ts +2 -2
  409. package/src/runtime/agent-wake.ts +1 -1
  410. package/src/runtime/assistant-stream-state.ts +1 -1
  411. package/src/runtime/auth/token-service.ts +1 -1
  412. package/src/runtime/background-job-runner.ts +1 -1
  413. package/src/runtime/middleware/twilio-validation.ts +2 -2
  414. package/src/runtime/routes/__tests__/app-pin-routes.test.ts +1 -1
  415. package/src/runtime/routes/__tests__/apps-refresh-route.test.ts +1 -1
  416. package/src/runtime/routes/__tests__/avatar-state-routes.test.ts +3 -33
  417. package/src/runtime/routes/__tests__/cloud-credits-routes.test.ts +5 -4
  418. package/src/runtime/routes/__tests__/cloud-invoice-routes.test.ts +4 -3
  419. package/src/runtime/routes/__tests__/conversation-query-routes.test.ts +59 -287
  420. package/src/runtime/routes/__tests__/default-plugin-routes.test.ts +1 -1
  421. package/src/runtime/routes/__tests__/deprecated-route-context.test.ts +15 -62
  422. package/src/runtime/routes/__tests__/inference-profiles-routes.test.ts +105 -12
  423. package/src/runtime/routes/__tests__/ingress-status-routes.test.ts +1 -1
  424. package/src/runtime/routes/__tests__/monitoring-routes.test.ts +1 -1
  425. package/src/runtime/routes/__tests__/plugins-routes.test.ts +47 -211
  426. package/src/runtime/routes/__tests__/route-host-worker-routes.test.ts +1 -1
  427. package/src/runtime/routes/__tests__/schedule-routes-disarm-reason.test.ts +1 -1
  428. package/src/runtime/routes/__tests__/schedule-worker-routes.test.ts +1 -1
  429. package/src/runtime/routes/__tests__/user-route-dispatcher-host.test.ts +1 -1
  430. package/src/runtime/routes/__tests__/user-route-dispatcher.test.ts +1 -1
  431. package/src/runtime/routes/__tests__/user-routes-cli.test.ts +1 -1
  432. package/src/runtime/routes/__tests__/user-routes-notices.test.ts +1 -1
  433. package/src/runtime/routes/__tests__/user-routes-request.test.ts +1 -1
  434. package/src/runtime/routes/app-management-routes.ts +1 -1
  435. package/src/runtime/routes/attachment-routes.ts +1 -1
  436. package/src/runtime/routes/audit-routes.ts +1 -1
  437. package/src/runtime/routes/avatar-routes.ts +3 -10
  438. package/src/runtime/routes/cloud-routes.ts +3 -3
  439. package/src/runtime/routes/content-source-routes.ts +1 -1
  440. package/src/runtime/routes/conversation-query-routes.ts +60 -621
  441. package/src/runtime/routes/conversation-routes.ts +1 -38
  442. package/src/runtime/routes/debug-routes.ts +1 -1
  443. package/src/runtime/routes/deprecated-route-context.ts +5 -61
  444. package/src/runtime/routes/heartbeat-routes.ts +1 -1
  445. package/src/runtime/routes/identity-routes.ts +1 -1
  446. package/src/runtime/routes/index.ts +0 -6
  447. package/src/runtime/routes/inference-profile-session-handler.ts +3 -3
  448. package/src/runtime/routes/inference-profiles-routes.ts +48 -21
  449. package/src/runtime/routes/inference-provider-connection-routes.ts +0 -1
  450. package/src/runtime/routes/llm-call-sites-routes.ts +3 -3
  451. package/src/runtime/routes/log-export/__tests__/installed-inventory.test.ts +1 -1
  452. package/src/runtime/routes/log-export/__tests__/workspace-allowlist-error-contract.test.ts +1 -1
  453. package/src/runtime/routes/log-export/__tests__/workspace-allowlist.test.ts +1 -1
  454. package/src/runtime/routes/log-export/workspace-allowlist.ts +1 -1
  455. package/src/runtime/routes/log-export-routes.ts +17 -15
  456. package/src/runtime/routes/migration-rollback-routes.ts +1 -1
  457. package/src/runtime/routes/migration-routes.ts +2 -3
  458. package/src/runtime/routes/monitoring-routes.ts +2 -2
  459. package/src/runtime/routes/oauth-providers.ts +5 -5
  460. package/src/runtime/routes/plugins-routes.ts +38 -163
  461. package/src/runtime/routes/profiler-routes.ts +1 -1
  462. package/src/runtime/routes/route-host-worker-routes.ts +1 -1
  463. package/src/runtime/routes/sanity-routes.ts +1 -1
  464. package/src/runtime/routes/schedule-routes.ts +1 -1
  465. package/src/runtime/routes/schedule-worker-routes.ts +1 -1
  466. package/src/runtime/routes/settings-routes.ts +1 -1
  467. package/src/runtime/routes/sounds-config-routes.ts +1 -1
  468. package/src/runtime/routes/surface-conversation-resolver.ts +1 -7
  469. package/src/runtime/routes/user-route-dispatcher.ts +1 -3
  470. package/src/runtime/routes/user-route-import.ts +1 -1
  471. package/src/runtime/routes/user-route-resolution.ts +1 -1
  472. package/src/runtime/routes/user-routes-cli.ts +1 -1
  473. package/src/runtime/routes/workspace-commit-routes.ts +1 -1
  474. package/src/runtime/routes/workspace-greetings.ts +1 -1
  475. package/src/runtime/routes/workspace-routes.ts +1 -1
  476. package/src/runtime/routes/workspace-utils.ts +1 -1
  477. package/src/runtime/sync/resource-sync-events.ts +1 -1
  478. package/src/schedule/__tests__/plugin-schedule-declarations.test.ts +1 -1
  479. package/src/schedule/__tests__/plugin-schedule-reconciler.test.ts +1 -1
  480. package/src/schedule/plugin-schedule-availability.ts +1 -1
  481. package/src/schedule/plugin-schedule-declarations.ts +1 -1
  482. package/src/schedule/run-script.ts +1 -1
  483. package/src/schedule/scheduler.ts +1 -11
  484. package/src/schedule/worker-control.ts +1 -1
  485. package/src/schedule/worker.ts +3 -3
  486. package/src/security/oauth2.ts +2 -2
  487. package/src/security/secret-allowlist.ts +1 -1
  488. package/src/signals/cancel.ts +1 -1
  489. package/src/signals/conversation-undo.ts +1 -1
  490. package/src/signals/emit-event.ts +1 -1
  491. package/src/signals/event-stream.ts +1 -1
  492. package/src/signals/user-message.ts +1 -1
  493. package/src/skills/catalog-install.ts +2 -1
  494. package/src/skills/clawhub.ts +1 -1
  495. package/src/skills/cloud-store.ts +1 -1
  496. package/src/skills/path-classifier.ts +1 -1
  497. package/src/skills/skill-history.ts +1 -1
  498. package/src/skills/skillssh-registry.ts +1 -1
  499. package/src/skills/uninstall.ts +1 -1
  500. package/src/skills/workspace-skill-md-signature.ts +1 -1
  501. package/src/subagent/manager.ts +1 -1
  502. package/src/theme/workspace-theme.ts +1 -1
  503. package/src/tools/browser/auth-cache.ts +1 -1
  504. package/src/tools/browser/browser-manager.ts +1 -1
  505. package/src/tools/browser/runtime-check.ts +1 -1
  506. package/src/tools/executor.ts +4 -4
  507. package/src/tools/filesystem/write.ts +1 -1
  508. package/src/tools/permission-checker.ts +2 -51
  509. package/src/tools/run-standalone.ts +1 -1
  510. package/src/tools/skills/format-input-schema.ts +1 -1
  511. package/src/tools/skills/load.ts +1 -1
  512. package/src/tools/skills/scaffold-cloud.ts +0 -32
  513. package/src/tools/terminal/safe-env.ts +1 -2
  514. package/src/tools/terminal/sanitized-bash.ts +1 -1
  515. package/src/tools/terminal/shell.ts +1 -1
  516. package/src/tools/tool-approval-handler.ts +4 -1
  517. package/src/tools/workflows/manage-workflows.ts +2 -2
  518. package/src/tools/workflows/run-workflow.test.ts +1 -1
  519. package/src/tools/workspace-tools/loader.ts +1 -1
  520. package/src/tts/synthesis-stream.ts +2 -2
  521. package/src/usage/attribution.ts +1 -11
  522. package/src/util/browser.ts +1 -1
  523. package/src/util/bun-runtime.ts +2 -1
  524. package/src/util/device-id.ts +1 -1
  525. package/src/util/disk-usage.ts +4 -139
  526. package/src/util/layout.ts +3 -3
  527. package/src/util/logger.ts +1 -1
  528. package/src/util/logs-db-path.ts +1 -1
  529. package/src/util/memory-db-path.ts +1 -1
  530. package/src/util/{platform.ts → os.ts} +5 -30
  531. package/src/util/process-tree.ts +19 -0
  532. package/src/util/sqlite3-runtime.ts +1 -1
  533. package/src/util/telemetry-db-path.ts +1 -1
  534. package/src/watcher/__tests__/engine.test.ts +0 -23
  535. package/src/watcher/engine.ts +0 -7
  536. package/src/windows-compiled-cli.ts +0 -4
  537. package/src/windows-compiled-worker-entry.ts +0 -6
  538. package/src/workflows/leaf-runner.test.ts +1 -1
  539. package/src/workflows/leaf-runner.ts +1 -1
  540. package/src/workflows/library.ts +1 -1
  541. package/src/workspace/adaptive-thinking-repair.ts +5 -24
  542. package/src/workspace/byok-default-profile-ensure.ts +24 -26
  543. package/src/workspace/custom-profile-ensure.ts +2 -2
  544. package/src/workspace/git-service.ts +1 -1
  545. package/src/workspace/hatched-date.ts +1 -1
  546. package/src/workspace/migrations/038-unify-llm-callsite-configs.ts +2 -2
  547. package/src/workspace/migrations/040-seed-latency-callsite-defaults.ts +1 -1
  548. package/src/workspace/migrations/050-seed-main-agent-opus-callsite.ts +1 -1
  549. package/src/workspace/migrations/077-seed-memory-router-callsite.ts +1 -1
  550. package/src/workspace/migrations/registry.ts +0 -4
  551. package/src/workspace/turn-commit.ts +1 -1
  552. package/docs/activation-funnel-telemetry.md +0 -324
  553. package/scripts/bundled-plugin-packages.ts +0 -154
  554. package/scripts/generate-bundled-plugin-packages.ts +0 -29
  555. package/src/__tests__/activation-early-marking.test.ts +0 -114
  556. package/src/__tests__/auth-fallback-events-store.test.ts +0 -99
  557. package/src/__tests__/config-get-vision-flag.test.ts +0 -139
  558. package/src/__tests__/conversation-surfaces-activation-emit.test.ts +0 -400
  559. package/src/__tests__/internal-telemetry-routes.test.ts +0 -213
  560. package/src/__tests__/telemetry-routes.test.ts +0 -182
  561. package/src/__tests__/turn-events-store.test.ts +0 -376
  562. package/src/__tests__/ui-channel-variants.test.ts +0 -53
  563. package/src/avatar/__tests__/avatar-changed-telemetry.test.ts +0 -217
  564. package/src/avatar/avatar-changed-telemetry.ts +0 -128
  565. package/src/calls/__tests__/call-funnel-telemetry.test.ts +0 -204
  566. package/src/cli/commands/telemetry.help.ts +0 -27
  567. package/src/cli/commands/telemetry.ts +0 -83
  568. package/src/cli/lib/__tests__/local-plugin-upgrade.test.ts +0 -251
  569. package/src/cli/lib/__tests__/plugin-catalog-local.test.ts +0 -113
  570. package/src/cli/lib/__tests__/plugin-marketplace.test.ts +0 -384
  571. package/src/cli/lib/__tests__/plugin-pin-history.test.ts +0 -164
  572. package/src/cli/lib/__tests__/plugins-install-offline.test.ts +0 -228
  573. package/src/cli/lib/bundled-marketplace.json +0 -1575
  574. package/src/cli/lib/bundled-plugin-packages.json +0 -827
  575. package/src/cli/lib/bundled-plugin-packages.ts +0 -87
  576. package/src/cli/lib/plugin-catalog-local.ts +0 -94
  577. package/src/cli/lib/plugin-pin-history.ts +0 -276
  578. package/src/cloud/feature-gate.ts +0 -8
  579. package/src/config/__tests__/cloud-rehydration.test.ts +0 -180
  580. package/src/config/cloud-rehydration.ts +0 -35
  581. package/src/daemon/__tests__/auto-profile-router.test.ts +0 -380
  582. package/src/daemon/auto-profile-router.ts +0 -428
  583. package/src/live-voice/__tests__/live-voice-session-telemetry.test.ts +0 -391
  584. package/src/monitoring/__tests__/db-integrity-sample.test.ts +0 -113
  585. package/src/monitoring/__tests__/oom-kill-reporter.test.ts +0 -374
  586. package/src/monitoring/db-integrity-check.ts +0 -163
  587. package/src/monitoring/db-integrity-sample.ts +0 -176
  588. package/src/monitoring/oom-kill-reporter.ts +0 -469
  589. package/src/onboarding/__tests__/onboarding-events-store.test.ts +0 -158
  590. package/src/onboarding/onboarding-events-store.ts +0 -296
  591. package/src/persistence/__tests__/raw-query-telemetry.test.ts +0 -76
  592. package/src/persistence/lifecycle-events-store.test.ts +0 -134
  593. package/src/persistence/lifecycle-events-store.ts +0 -110
  594. package/src/plugins/defaults/memory/__tests__/activation-session-store.test.ts +0 -76
  595. package/src/plugins/defaults/memory/activation-session-store.ts +0 -50
  596. package/src/plugins/defaults/memory/src/__tests__/memory-v3-gate-stats.test.ts +0 -281
  597. package/src/runtime/routes/auto-profile-routes.ts +0 -83
  598. package/src/runtime/routes/internal-telemetry-routes.ts +0 -142
  599. package/src/runtime/routes/telemetry-routes.ts +0 -274
  600. package/src/security/auth-fallback-events-store.ts +0 -57
  601. package/src/telemetry/__tests__/activation-funnel.test.ts +0 -95
  602. package/src/telemetry/__tests__/config-setting-events-store.test.ts +0 -63
  603. package/src/telemetry/__tests__/config-setting-snapshot.test.ts +0 -143
  604. package/src/telemetry/__tests__/flush-checkpoints.test.ts +0 -56
  605. package/src/telemetry/__tests__/live-voice-funnel.test.ts +0 -174
  606. package/src/telemetry/__tests__/outbox-test-harness.ts +0 -85
  607. package/src/telemetry/__tests__/phone-call-funnel.test.ts +0 -72
  608. package/src/telemetry/__tests__/telemetry-event-fixtures.ts +0 -282
  609. package/src/telemetry/__tests__/watchdog-events-store.test.ts +0 -71
  610. package/src/telemetry/activation-funnel.ts +0 -172
  611. package/src/telemetry/config-setting-events-store.ts +0 -40
  612. package/src/telemetry/config-setting-snapshot.ts +0 -170
  613. package/src/telemetry/flush-checkpoints.ts +0 -70
  614. package/src/telemetry/live-voice-funnel.ts +0 -185
  615. package/src/telemetry/memory-corpus-size.test.ts +0 -120
  616. package/src/telemetry/memory-corpus-size.ts +0 -184
  617. package/src/telemetry/memory-tier-reporter.test.ts +0 -195
  618. package/src/telemetry/memory-tier-reporter.ts +0 -130
  619. package/src/telemetry/phone-call-funnel.ts +0 -144
  620. package/src/telemetry/skill-loaded-events-store.test.ts +0 -93
  621. package/src/telemetry/skill-loaded-events-store.ts +0 -39
  622. package/src/telemetry/telemetry-event-sources.test.ts +0 -223
  623. package/src/telemetry/telemetry-event-sources.ts +0 -597
  624. package/src/telemetry/telemetry-events-outbox.test.ts +0 -375
  625. package/src/telemetry/telemetry-events-outbox.ts +0 -237
  626. package/src/telemetry/telemetry-main-db.ts +0 -48
  627. package/src/telemetry/telemetry-wire-source.json +0 -4
  628. package/src/telemetry/telemetry-wire-validation.test.ts +0 -157
  629. package/src/telemetry/telemetry-wire-validation.ts +0 -162
  630. package/src/telemetry/telemetry-wire.generated.ts +0 -483
  631. package/src/telemetry/tool-executed-events-store.test.ts +0 -210
  632. package/src/telemetry/tool-executed-events-store.ts +0 -102
  633. package/src/telemetry/trace-collection-policy.test.ts +0 -28
  634. package/src/telemetry/trace-collection-policy.ts +0 -30
  635. package/src/telemetry/turn-events-store.ts +0 -216
  636. package/src/telemetry/turn-trace-store.test.ts +0 -884
  637. package/src/telemetry/turn-trace-store.ts +0 -399
  638. package/src/telemetry/types.test.ts +0 -38
  639. package/src/telemetry/types.ts +0 -780
  640. package/src/telemetry/usage-telemetry-reporter.test.ts +0 -3445
  641. package/src/telemetry/usage-telemetry-reporter.ts +0 -566
  642. package/src/telemetry/watchdog-direct-emit.test.ts +0 -112
  643. package/src/telemetry/watchdog-direct-emit.ts +0 -104
  644. package/src/telemetry/watchdog-events-store.ts +0 -31
  645. package/src/tools/ui-surface/channel-variants.ts +0 -52
  646. package/src/watcher/__tests__/telemetry.test.ts +0 -178
  647. package/src/watcher/telemetry.ts +0 -93
  648. package/src/workspace/migrations/097-enable-adaptive-thinking-managed-profiles.ts +0 -165
  649. package/src/workspace/migrations/104-recheck-adaptive-thinking-model-implied-anthropic.ts +0 -151
  650. /package/src/{telemetry → persistence}/tool-usage-store.ts +0 -0
  651. /package/src/{telemetry → persistence}/turn-outcome.ts +0 -0
@@ -81,7 +81,6 @@ function eraHatchBody(
81
81
  ) as Record<string, unknown>;
82
82
  return {
83
83
  ...body,
84
- source: "managed",
85
84
  label: `${body.label} (Custom Provider)`,
86
85
  model,
87
86
  };
@@ -107,17 +106,17 @@ function uneditedByokConfig(): Record<string, unknown> {
107
106
  },
108
107
  profiles: {
109
108
  balanced: {
110
- source: "managed",
109
+ provider: "cadet",
111
110
  status: "disabled",
112
111
  label: "Balanced (Managed)",
113
112
  },
114
113
  "quality-optimized": {
115
- source: "managed",
114
+ provider: "cadet",
116
115
  status: "disabled",
117
116
  label: "Quality (Managed)",
118
117
  },
119
118
  "cost-optimized": {
120
- source: "managed",
119
+ provider: "cadet",
121
120
  status: "disabled",
122
121
  label: "Speed (Managed)",
123
122
  },
@@ -125,7 +124,6 @@ function uneditedByokConfig(): Record<string, unknown> {
125
124
  "custom-quality-optimized": hatchBody("quality-optimized", "anthropic"),
126
125
  "custom-cost-optimized": hatchBody("cost-optimized", "anthropic"),
127
126
  "my-mix": {
128
- source: "user",
129
127
  label: "My Mix",
130
128
  mix: [
131
129
  { profile: "custom-balanced", weight: 1 },
@@ -198,7 +196,6 @@ describe("ensureByokDefaultProfiles", () => {
198
196
  "balanced",
199
197
  { provider: "anthropic" },
200
198
  );
201
- expect(resolved?.source).toBe("managed");
202
199
  expect(resolved?.status).toBeUndefined();
203
200
  expect(resolved?.provider).toBe("anthropic");
204
201
  expect(resolved?.provider_connection).toBe("anthropic-personal");
@@ -417,7 +414,7 @@ describe("ensureByokDefaultProfiles", () => {
417
414
  expectSecondRunNoop();
418
415
  });
419
416
 
420
- test("stubs carrying the migration-097 thinking stamp are deleted (real-world shape)", () => {
417
+ test("stubs carrying the repair thinking stamp are deleted (real-world shape)", () => {
421
418
  const config = uneditedByokConfig();
422
419
  const profs = (config.llm as Record<string, unknown>).profiles as Record<
423
420
  string,
@@ -508,7 +505,7 @@ describe("ensureByokDefaultProfiles", () => {
508
505
 
509
506
  expect(profiles()["custom-balanced"]).toBeUndefined();
510
507
  expect(profiles().balanced).toEqual({
511
- source: "managed",
508
+ provider: "cadet",
512
509
  label: "My Balanced",
513
510
  });
514
511
  expect(llm().activeProfile).toBe("balanced");
@@ -558,7 +555,7 @@ describe("ensureByokDefaultProfiles", () => {
558
555
 
559
556
  expect(profiles()["custom-balanced"]).toBeUndefined();
560
557
  expect(profiles().balanced).toEqual({
561
- source: "managed",
558
+ provider: "cadet",
562
559
  status: "disabled",
563
560
  });
564
561
  expectSecondRunNoop();
@@ -572,7 +569,7 @@ describe("ensureByokDefaultProfiles", () => {
572
569
  default: { provider: "anthropic" },
573
570
  profiles: {
574
571
  "quality-optimized": {
575
- source: "managed",
572
+ provider: "cadet",
576
573
  status: "active",
577
574
  label: "Quality (Managed)",
578
575
  },
@@ -588,13 +585,13 @@ describe("ensureByokDefaultProfiles", () => {
588
585
 
589
586
  test("a label-only hatch stub with no status key is deleted", () => {
590
587
  // Installs that predate #30367's status seeding got only the label
591
- // rewrite, and migration 126 thinned them to { source, label }.
588
+ // rewrite: thin provider-marked stubs with no status key.
592
589
  writeConfig({
593
590
  llm: {
594
591
  default: { provider: "anthropic" },
595
592
  profiles: {
596
- balanced: { source: "managed", label: "Balanced (Managed)" },
597
- "cost-optimized": { source: "managed", label: "Speed (Managed)" },
593
+ balanced: { provider: "cadet", label: "Balanced (Managed)" },
594
+ "cost-optimized": { provider: "cadet", label: "Speed (Managed)" },
598
595
  },
599
596
  },
600
597
  });
@@ -610,7 +607,7 @@ describe("ensureByokDefaultProfiles", () => {
610
607
  const config = uneditedByokConfig();
611
608
  const profileMap = (config.llm as Record<string, unknown>)
612
609
  .profiles as Record<string, Record<string, unknown>>;
613
- profileMap.balanced = { source: "managed", label: "Balanced (Managed)" };
610
+ profileMap.balanced = { provider: "cadet", label: "Balanced (Managed)" };
614
611
  profileMap["custom-balanced"] = {
615
612
  ...profileMap["custom-balanced"],
616
613
  status: "disabled",
@@ -621,7 +618,7 @@ describe("ensureByokDefaultProfiles", () => {
621
618
 
622
619
  expect(profiles()["custom-balanced"]).toBeUndefined();
623
620
  expect(profiles().balanced).toEqual({
624
- source: "managed",
621
+ provider: "cadet",
625
622
  status: "disabled",
626
623
  });
627
624
  expectSecondRunNoop();
@@ -641,7 +638,7 @@ describe("ensureByokDefaultProfiles", () => {
641
638
 
642
639
  expect(profiles()["custom-quality-optimized"]).toBeUndefined();
643
640
  expect(profiles()["quality-optimized"]).toEqual({
644
- source: "managed",
641
+ provider: "cadet",
645
642
  status: "disabled",
646
643
  });
647
644
  // The advisor pointed at the now-disabled default, so the same write
@@ -691,7 +688,6 @@ describe("ensureByokDefaultProfiles", () => {
691
688
  activeProfile: "custom-cost-optimized",
692
689
  profiles: {
693
690
  "custom-cost-optimized": {
694
- source: "user",
695
691
  label: "Speed",
696
692
  description: "Fastest responses at lower cost",
697
693
  maxTokens: 8192,
@@ -769,7 +765,6 @@ describe("ensureByokDefaultProfiles", () => {
769
765
  "balanced",
770
766
  { provider: "cadet" },
771
767
  );
772
- expect(resolved?.source).toBe("managed");
773
768
  expect(resolved?.status).toBeUndefined();
774
769
  expectSecondRunNoop();
775
770
  });
@@ -838,7 +833,6 @@ describe("ensureByokDefaultProfiles", () => {
838
833
  },
839
834
  profiles: {
840
835
  balanced: {
841
- source: "user",
842
836
  provider: "openai",
843
837
  model: "gpt-5.4",
844
838
  },
@@ -883,19 +877,19 @@ describe("ensureByokDefaultProfiles", () => {
883
877
  },
884
878
  profiles: {
885
879
  balanced: {
886
- source: "managed",
880
+ provider: "cadet",
887
881
  status: "active",
888
882
  label: "Balanced (Managed)",
889
883
  thinking: { enabled: true, streamThinking: true },
890
884
  },
891
885
  "quality-optimized": {
892
- source: "managed",
886
+ provider: "cadet",
893
887
  status: "active",
894
888
  label: "Quality (Managed)",
895
889
  thinking: { enabled: true, streamThinking: true },
896
890
  },
897
891
  "cost-optimized": {
898
- source: "managed",
892
+ provider: "cadet",
899
893
  status: "active",
900
894
  label: "Speed (Managed)",
901
895
  },
@@ -909,7 +903,7 @@ describe("ensureByokDefaultProfiles", () => {
909
903
  ),
910
904
  "custom-cost-optimized": hatchBody("cost-optimized", "anthropic"),
911
905
  "os-beta": {
912
- source: "managed",
906
+ provider: "cadet",
913
907
  status: "active",
914
908
  label: "OS Beta (Managed)",
915
909
  },
@@ -953,7 +947,7 @@ describe("ensureByokDefaultProfiles", () => {
953
947
  expectSecondRunNoop();
954
948
  });
955
949
 
956
- test("a cloud-source default entry with body keys is left alone", () => {
950
+ test("a cadet-provider default entry with body keys is left alone", () => {
957
951
  writeConfig({
958
952
  llm: {
959
953
  default: {
@@ -961,7 +955,7 @@ describe("ensureByokDefaultProfiles", () => {
961
955
  },
962
956
  profiles: {
963
957
  balanced: {
964
- source: "managed",
958
+ provider: "cadet",
965
959
  status: "disabled",
966
960
  label: "Balanced (Managed)",
967
961
  model: "gpt-5.4",
@@ -1093,7 +1087,7 @@ describe("ensureByokDefaultProfiles", () => {
1093
1087
  const profileMap = (config.llm as Record<string, unknown>)
1094
1088
  .profiles as Record<string, Record<string, unknown>>;
1095
1089
  profileMap["quality-optimized"] = {
1096
- source: "managed",
1090
+ provider: "cadet",
1097
1091
  status: "active",
1098
1092
  label: "Quality (Managed)",
1099
1093
  };
@@ -1107,7 +1101,7 @@ describe("ensureByokDefaultProfiles", () => {
1107
1101
 
1108
1102
  expect(profiles()["custom-quality-optimized"]).toBeUndefined();
1109
1103
  expect(profiles()["quality-optimized"]).toEqual({
1110
- source: "managed",
1104
+ provider: "cadet",
1111
1105
  status: "disabled",
1112
1106
  });
1113
1107
  expectSecondRunNoop();
@@ -102,7 +102,6 @@ describe("call-conversation-messages", () => {
102
102
  const conversationId = "conv-call-msg-failed";
103
103
  ensureConversation(conversationId);
104
104
  const session = createCallSession({
105
- direction: "inbound",
106
105
  conversationId,
107
106
  provider: "twilio",
108
107
  fromNumber: "+15550001111",
@@ -123,7 +122,6 @@ describe("call-conversation-messages", () => {
123
122
  const conversationId = "conv-call-msg-cancelled";
124
123
  ensureConversation(conversationId);
125
124
  const session = createCallSession({
126
- direction: "inbound",
127
125
  conversationId,
128
126
  provider: "twilio",
129
127
  fromNumber: "+15550001111",
@@ -144,7 +142,6 @@ describe("call-conversation-messages", () => {
144
142
  const conversationId = "conv-call-msg-completed";
145
143
  ensureConversation(conversationId);
146
144
  const session = createCallSession({
147
- direction: "inbound",
148
145
  conversationId,
149
146
  provider: "twilio",
150
147
  fromNumber: "+15550001111",
@@ -174,7 +171,6 @@ describe("call-conversation-messages", () => {
174
171
  const conversationId = "conv-call-msg-fallback";
175
172
  ensureConversation(conversationId);
176
173
  const session = createCallSession({
177
- direction: "inbound",
178
174
  conversationId,
179
175
  provider: "twilio",
180
176
  fromNumber: "+12025550101",
@@ -212,7 +208,6 @@ describe("call-conversation-messages", () => {
212
208
  const conversationId = "conv-call-msg-schema";
213
209
  ensureConversation(conversationId);
214
210
  const session = createCallSession({
215
- direction: "inbound",
216
211
  conversationId,
217
212
  provider: "twilio",
218
213
  fromNumber: "+12025550101",
@@ -54,14 +54,9 @@ function resetTables() {
54
54
  ensuredConvIds = new Set();
55
55
  }
56
56
 
57
- function createTestCallSession(
58
- opts: Omit<Parameters<typeof createCallSession>[0], "direction"> & {
59
- direction?: Parameters<typeof createCallSession>[0]["direction"];
60
- },
61
- ) {
57
+ function createTestCallSession(opts: Parameters<typeof createCallSession>[0]) {
62
58
  ensureConversation(opts.conversationId);
63
- // Direction only shapes the funnel stamp; these suites test other things.
64
- return createCallSession({ direction: "inbound", ...opts });
59
+ return createCallSession({ ...opts });
65
60
  }
66
61
 
67
62
  /** Backdate a session's createdAt so it appears older than the grace period. */
@@ -327,7 +327,6 @@ describe("runtime call routes — HTTP layer", () => {
327
327
  ensureConversation("conv-get-1");
328
328
 
329
329
  const session = createCallSession({
330
- direction: "outbound",
331
330
  conversationId: "conv-get-1",
332
331
  provider: "twilio",
333
332
  fromNumber: "+15550001111",
@@ -379,7 +378,6 @@ describe("runtime call routes — HTTP layer", () => {
379
378
  ensureConversation("conv-cancel-1");
380
379
 
381
380
  const session = createCallSession({
382
- direction: "inbound",
383
381
  conversationId: "conv-cancel-1",
384
382
  provider: "twilio",
385
383
  fromNumber: "+15550001111",
@@ -409,7 +407,6 @@ describe("runtime call routes — HTTP layer", () => {
409
407
  ensureConversation("conv-cancel-2");
410
408
 
411
409
  const session = createCallSession({
412
- direction: "inbound",
413
410
  conversationId: "conv-cancel-2",
414
411
  provider: "twilio",
415
412
  fromNumber: "+15550001111",
@@ -450,7 +447,6 @@ describe("runtime call routes — HTTP layer", () => {
450
447
  ensureConversation("conv-answer-badjson");
451
448
 
452
449
  const session = createCallSession({
453
- direction: "inbound",
454
450
  conversationId: "conv-answer-badjson",
455
451
  provider: "twilio",
456
452
  fromNumber: "+15550001111",
@@ -473,7 +469,6 @@ describe("runtime call routes — HTTP layer", () => {
473
469
  ensureConversation("conv-answer-1");
474
470
 
475
471
  const session = createCallSession({
476
- direction: "inbound",
477
472
  conversationId: "conv-answer-1",
478
473
  provider: "twilio",
479
474
  fromNumber: "+15550001111",
@@ -500,7 +495,6 @@ describe("runtime call routes — HTTP layer", () => {
500
495
  ensureConversation("conv-answer-2");
501
496
 
502
497
  const session = createCallSession({
503
- direction: "inbound",
504
498
  conversationId: "conv-answer-2",
505
499
  provider: "twilio",
506
500
  fromNumber: "+15550001111",
@@ -523,7 +517,6 @@ describe("runtime call routes — HTTP layer", () => {
523
517
  ensureConversation("conv-answer-3");
524
518
 
525
519
  const session = createCallSession({
526
- direction: "inbound",
527
520
  conversationId: "conv-answer-3",
528
521
  provider: "twilio",
529
522
  fromNumber: "+15550001111",
@@ -555,7 +548,6 @@ describe("runtime call routes — HTTP layer", () => {
555
548
  ensureConversation("conv-instr-badjson");
556
549
 
557
550
  const session = createCallSession({
558
- direction: "inbound",
559
551
  conversationId: "conv-instr-badjson",
560
552
  provider: "twilio",
561
553
  fromNumber: "+15550001111",
@@ -578,7 +570,6 @@ describe("runtime call routes — HTTP layer", () => {
578
570
  ensureConversation("conv-instr-empty");
579
571
 
580
572
  const session = createCallSession({
581
- direction: "inbound",
582
573
  conversationId: "conv-instr-empty",
583
574
  provider: "twilio",
584
575
  fromNumber: "+15550001111",
@@ -605,7 +596,6 @@ describe("runtime call routes — HTTP layer", () => {
605
596
  ensureConversation("conv-instr-missing");
606
597
 
607
598
  const session = createCallSession({
608
- direction: "inbound",
609
599
  conversationId: "conv-instr-missing",
610
600
  provider: "twilio",
611
601
  fromNumber: "+15550001111",
@@ -650,7 +640,6 @@ describe("runtime call routes — HTTP layer", () => {
650
640
  ensureConversation("conv-instr-ended");
651
641
 
652
642
  const session = createCallSession({
653
- direction: "inbound",
654
643
  conversationId: "conv-instr-ended",
655
644
  provider: "twilio",
656
645
  fromNumber: "+15550001111",
@@ -679,7 +668,6 @@ describe("runtime call routes — HTTP layer", () => {
679
668
  ensureConversation("conv-instr-no-orch");
680
669
 
681
670
  const session = createCallSession({
682
- direction: "inbound",
683
671
  conversationId: "conv-instr-no-orch",
684
672
  provider: "twilio",
685
673
  fromNumber: "+15550001111",
@@ -53,14 +53,9 @@ function resetTables() {
53
53
  }
54
54
 
55
55
  /** Wrapper that ensures the FK conversation row exists before creating a session. */
56
- function createTestCallSession(
57
- opts: Omit<Parameters<typeof createCallSession>[0], "direction"> & {
58
- direction?: Parameters<typeof createCallSession>[0]["direction"];
59
- },
60
- ) {
56
+ function createTestCallSession(opts: Parameters<typeof createCallSession>[0]) {
61
57
  ensureConversation(opts.conversationId);
62
- // Direction only shapes the funnel stamp; these suites test other things.
63
- return createCallSession({ direction: "inbound", ...opts });
58
+ return createCallSession({ ...opts });
64
59
  }
65
60
 
66
61
  describe("call-store", () => {
@@ -152,7 +152,7 @@ beforeEach(() => {
152
152
  fetchCalls = [];
153
153
  mockCatalog = [];
154
154
  mockRepoSkillsDir = undefined;
155
- mockCloudBaseUrl = "https://platform.test";
155
+ mockCloudBaseUrl = "https://test-cloud.mycadet.ai";
156
156
  });
157
157
 
158
158
  afterEach(() => {
@@ -314,7 +314,7 @@ describe("readCatalogSkillFiles (dev mode)", () => {
314
314
  // called against the preview endpoint.
315
315
  expect(fetchCalls.length).toBe(1);
316
316
  expect(fetchCalls[0]!.url).toBe(
317
- "https://platform.test/v1/skills/my-skill/files/",
317
+ "https://test-cloud.mycadet.ai/v1/skills/my-skill/files/",
318
318
  );
319
319
  });
320
320
 
@@ -354,7 +354,9 @@ describe("readCatalogSkillFiles (dev mode)", () => {
354
354
  expect(fetchCalls.length).toBe(1);
355
355
  const url = fetchCalls[0]!.url;
356
356
  expect(
357
- url.startsWith("https://platform.test/v1/skills/my-skill/files/content/"),
357
+ url.startsWith(
358
+ "https://test-cloud.mycadet.ai/v1/skills/my-skill/files/content/",
359
+ ),
358
360
  ).toBe(true);
359
361
  });
360
362
 
@@ -430,7 +432,7 @@ describe("readCatalogSkillFiles (platform mode)", () => {
430
432
  // URL + headers
431
433
  expect(fetchCalls.length).toBe(1);
432
434
  expect(fetchCalls[0]!.url).toBe(
433
- "https://platform.test/v1/skills/remote-skill/files/",
435
+ "https://test-cloud.mycadet.ai/v1/skills/remote-skill/files/",
434
436
  );
435
437
  const headers = (fetchCalls[0]!.init?.headers ?? {}) as Record<
436
438
  string,
@@ -734,7 +736,7 @@ describe("readCatalogSkillFileContent (platform mode)", () => {
734
736
  const url = fetchCalls[0]!.url;
735
737
  expect(
736
738
  url.startsWith(
737
- "https://platform.test/v1/skills/remote-skill/files/content/",
739
+ "https://test-cloud.mycadet.ai/v1/skills/remote-skill/files/content/",
738
740
  ),
739
741
  ).toBe(true);
740
742
  expect(url).toContain("path=SKILL.md");
@@ -74,7 +74,7 @@ import { _clearGlobalCacheForTesting } from "../permissions/gateway-threshold-re
74
74
  import { RiskLevel } from "../permissions/types.js";
75
75
  import { registerSkillTools, registerTool } from "../tools/registry.js";
76
76
  import type { Tool } from "../tools/types.js";
77
- import * as platformModule from "../util/platform.js";
77
+ import * as platformModule from "../util/layout.js";
78
78
 
79
79
  /** Default gateway thresholds matching the old config fallback defaults. */
80
80
  const DEFAULT_GATEWAY_THRESHOLDS = {
@@ -4,7 +4,7 @@
4
4
  *
5
5
  * The CLI half mocks `cliIpcCall` and asserts the subcommand dispatches
6
6
  * to `memory_v2_reembed_skills` with an empty body. The route half uses
7
- * the real `loadConfig` — `memory.v2.enabled` is toggled via a per-test
7
+ * the real `getConfig` — `memory.v2.enabled` is toggled via a per-test
8
8
  * `config.json` fixture in the temp workspace. We mock only
9
9
  * `seedV2SkillEntries` so we can assert it was invoked without actually
10
10
  * embedding skills.
@@ -17,10 +17,10 @@ import { afterEach, beforeEach, describe, expect, mock, test } from "bun:test";
17
17
  import { Command } from "commander";
18
18
 
19
19
  import { invalidateConfigCache } from "../config/loader.js";
20
- import { getWorkspaceDir } from "../util/platform.js";
20
+ import { getWorkspaceDir } from "../util/layout.js";
21
21
 
22
22
  // ---------------------------------------------------------------------------
23
- // Module-level mocks — kept minimal. `loadConfig` and `getLogger` use their
23
+ // Module-level mocks — kept minimal. `getConfig` and `getLogger` use their
24
24
  // real implementations because we have first-class test hooks (a per-test
25
25
  // workspace `config.json` for config) that exercise the same code paths
26
26
  // the route handler runs in production.
@@ -106,7 +106,7 @@ async function runCommand(args: string[]): Promise<{ exitCode: number }> {
106
106
 
107
107
  /**
108
108
  * Override `memory.v2.enabled` (and any other config paths) by writing a
109
- * workspace `config.json` that the real `loadConfig` will pick up.
109
+ * workspace `config.json` that the real `getConfig` will pick up.
110
110
  */
111
111
  function writeWorkspaceConfig(json: Record<string, unknown>): void {
112
112
  const workspace = getWorkspaceDir();
@@ -9,10 +9,6 @@ let fetchImpl: (
9
9
  ) => Promise<Response> = async () => new Response("{}", { status: 200 });
10
10
  const fetchCalls: Array<{ url: string; init?: RequestInit }> = [];
11
11
 
12
- mock.module("../cloud/feature-gate.js", () => ({
13
- areCloudFeaturesEnabled: () => true,
14
- }));
15
-
16
12
  mock.module("../providers/cloud-proxy/context.js", () => ({
17
13
  resolveCloudProxyContext: async () => ({
18
14
  enabled: true,
@@ -89,7 +89,7 @@ describe("fetchCloudCatalog", () => {
89
89
  });
90
90
 
91
91
  test("returns empty descriptors when API key is missing", async () => {
92
- mockCloudBaseUrl = "https://platform.example.com";
92
+ mockCloudBaseUrl = "https://test-cloud.mycadet.ai";
93
93
  secureKeys.delete(ASSISTANT_API_KEY);
94
94
 
95
95
  const result = await fetchCloudCatalog();
@@ -98,7 +98,7 @@ describe("fetchCloudCatalog", () => {
98
98
  });
99
99
 
100
100
  test("returns empty descriptors when assistant ID is missing", async () => {
101
- mockCloudBaseUrl = "https://platform.example.com";
101
+ mockCloudBaseUrl = "https://test-cloud.mycadet.ai";
102
102
  secureKeys.set(ASSISTANT_API_KEY, "sk-test-key");
103
103
  mockCloudAssistantId = "";
104
104
 
@@ -108,12 +108,12 @@ describe("fetchCloudCatalog", () => {
108
108
  });
109
109
 
110
110
  test("parses platform catalog response into descriptors with correct handles", async () => {
111
- mockCloudBaseUrl = "https://platform.example.com";
111
+ mockCloudBaseUrl = "https://test-cloud.mycadet.ai";
112
112
  secureKeys.set(ASSISTANT_API_KEY, "sk-test-key");
113
113
  mockCloudAssistantId = "ast-uuid-1234";
114
114
 
115
115
  mockFetchResponses.set(
116
- "https://platform.example.com/v1/assistants/ast-uuid-1234/oauth/managed/catalog/",
116
+ "https://test-cloud.mycadet.ai/v1/assistants/ast-uuid-1234/oauth/managed/catalog/",
117
117
  {
118
118
  status: 200,
119
119
  body: [
@@ -156,12 +156,12 @@ describe("fetchCloudCatalog", () => {
156
156
  });
157
157
 
158
158
  test("handles empty connections list from platform", async () => {
159
- mockCloudBaseUrl = "https://platform.example.com";
159
+ mockCloudBaseUrl = "https://test-cloud.mycadet.ai";
160
160
  secureKeys.set(ASSISTANT_API_KEY, "sk-test-key");
161
161
  mockCloudAssistantId = "ast-uuid-1234";
162
162
 
163
163
  mockFetchResponses.set(
164
- "https://platform.example.com/v1/assistants/ast-uuid-1234/oauth/managed/catalog/",
164
+ "https://test-cloud.mycadet.ai/v1/assistants/ast-uuid-1234/oauth/managed/catalog/",
165
165
  {
166
166
  status: 200,
167
167
  body: [],
@@ -174,12 +174,12 @@ describe("fetchCloudCatalog", () => {
174
174
  });
175
175
 
176
176
  test("handles platform returning HTTP error gracefully", async () => {
177
- mockCloudBaseUrl = "https://platform.example.com";
177
+ mockCloudBaseUrl = "https://test-cloud.mycadet.ai";
178
178
  secureKeys.set(ASSISTANT_API_KEY, "sk-test-key");
179
179
  mockCloudAssistantId = "ast-uuid-1234";
180
180
 
181
181
  mockFetchResponses.set(
182
- "https://platform.example.com/v1/assistants/ast-uuid-1234/oauth/managed/catalog/",
182
+ "https://test-cloud.mycadet.ai/v1/assistants/ast-uuid-1234/oauth/managed/catalog/",
183
183
  {
184
184
  status: 500,
185
185
  body: { detail: "Internal server error" },
@@ -193,12 +193,12 @@ describe("fetchCloudCatalog", () => {
193
193
  });
194
194
 
195
195
  test("handles platform returning unexpected format gracefully", async () => {
196
- mockCloudBaseUrl = "https://platform.example.com";
196
+ mockCloudBaseUrl = "https://test-cloud.mycadet.ai";
197
197
  secureKeys.set(ASSISTANT_API_KEY, "sk-test-key");
198
198
  mockCloudAssistantId = "ast-uuid-1234";
199
199
 
200
200
  mockFetchResponses.set(
201
- "https://platform.example.com/v1/assistants/ast-uuid-1234/oauth/managed/catalog/",
201
+ "https://test-cloud.mycadet.ai/v1/assistants/ast-uuid-1234/oauth/managed/catalog/",
202
202
  {
203
203
  status: 200,
204
204
  body: { unexpected: "shape" },
@@ -211,12 +211,12 @@ describe("fetchCloudCatalog", () => {
211
211
  });
212
212
 
213
213
  test("defaults missing optional fields in catalog entries", async () => {
214
- mockCloudBaseUrl = "https://platform.example.com";
214
+ mockCloudBaseUrl = "https://test-cloud.mycadet.ai";
215
215
  secureKeys.set(ASSISTANT_API_KEY, "sk-test-key");
216
216
  mockCloudAssistantId = "ast-uuid-1234";
217
217
 
218
218
  mockFetchResponses.set(
219
- "https://platform.example.com/v1/assistants/ast-uuid-1234/oauth/managed/catalog/",
219
+ "https://test-cloud.mycadet.ai/v1/assistants/ast-uuid-1234/oauth/managed/catalog/",
220
220
  {
221
221
  status: 200,
222
222
  body: [
@@ -242,7 +242,7 @@ describe("fetchCloudCatalog", () => {
242
242
  });
243
243
 
244
244
  test("error messages never contain sensitive details", async () => {
245
- mockCloudBaseUrl = "https://platform.example.com";
245
+ mockCloudBaseUrl = "https://test-cloud.mycadet.ai";
246
246
  secureKeys.set(ASSISTANT_API_KEY, "sk-super-secret-key-12345");
247
247
  mockCloudAssistantId = "ast-uuid-1234";
248
248
 
@@ -251,7 +251,7 @@ describe("fetchCloudCatalog", () => {
251
251
  const errorFetch: typeof fetch = Object.assign(
252
252
  async () => {
253
253
  throw new Error(
254
- "Connect failed to https://platform.example.com/v1/assistants/ast-uuid-1234/oauth/managed/catalog/ with Bearer sk-super-secret-key-12345",
254
+ "Connect failed to https://test-cloud.mycadet.ai/v1/assistants/ast-uuid-1234/oauth/managed/catalog/ with Bearer sk-super-secret-key-12345",
255
255
  );
256
256
  },
257
257
  { preconnect: savedFetch.preconnect },