@mycadet/assistant 0.12.9 → 0.12.11

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 (658) hide show
  1. package/Dockerfile +0 -8
  2. package/eslint-rules/__tests__/cli-no-daemon-internals.test.ts +1 -1
  3. package/node_modules/@mycadet/ces-client/node_modules/@mycadet/service-contracts/src/__tests__/ingress.test.ts +8 -8
  4. package/node_modules/@mycadet/ces-client/node_modules/@mycadet/service-contracts/src/ingress.ts +1 -1
  5. package/node_modules/@mycadet/ces-client/src/http-credentials.ts +18 -1
  6. package/node_modules/@mycadet/gateway-client/node_modules/@mycadet/service-contracts/src/__tests__/ingress.test.ts +8 -8
  7. package/node_modules/@mycadet/gateway-client/node_modules/@mycadet/service-contracts/src/ingress.ts +1 -1
  8. package/node_modules/@mycadet/service-contracts/src/__tests__/ingress.test.ts +8 -8
  9. package/node_modules/@mycadet/service-contracts/src/ingress.ts +1 -1
  10. package/openapi.yaml +62 -910
  11. package/package.json +3 -7
  12. package/scripts/build-test-fixtures.ts +1 -1
  13. package/scripts/generate-openapi.ts +22 -6
  14. package/scripts/postinstall.ts +4 -10
  15. package/scripts/run-tests.ts +0 -21
  16. package/src/__tests__/adaptive-thinking-repair.test.ts +19 -57
  17. package/src/__tests__/agent-loop.test.ts +0 -76
  18. package/src/__tests__/anthropic-provider.test.ts +6 -6
  19. package/src/__tests__/assert-not-live-db.ts +1 -1
  20. package/src/__tests__/assistant-id-boundary-guard.test.ts +3 -3
  21. package/src/__tests__/attachments-store-heic-normalize.test.ts +1 -1
  22. package/src/__tests__/attachments-store.test.ts +1 -1
  23. package/src/__tests__/audit-log-rotation.test.ts +1 -1
  24. package/src/__tests__/btw-routes.test.ts +1 -1
  25. package/src/__tests__/byok-default-profile-ensure.test.ts +21 -27
  26. package/src/__tests__/call-conversation-messages.test.ts +0 -5
  27. package/src/__tests__/call-recovery.test.ts +2 -7
  28. package/src/__tests__/call-routes-http.test.ts +0 -12
  29. package/src/__tests__/call-store.test.ts +2 -7
  30. package/src/__tests__/catalog-files.test.ts +7 -5
  31. package/src/__tests__/checker.test.ts +1 -1
  32. package/src/__tests__/cli-memory-v2-reembed-skills.test.ts +4 -4
  33. package/src/__tests__/cloud-client-verify-credential.test.ts +0 -4
  34. package/src/__tests__/cloud-credential-catalog-cli.test.ts +14 -14
  35. package/src/__tests__/cloud-profile-guard.test.ts +87 -404
  36. package/src/__tests__/compaction-events.test.ts +2 -2
  37. package/src/__tests__/config-loader-backfill.test.ts +74 -163
  38. package/src/__tests__/config-loader-cloud-defaults.test.ts +11 -11
  39. package/src/__tests__/config-loader-corrupt.test.ts +10 -10
  40. package/src/__tests__/config-loader-quarantine-notice.test.ts +7 -7
  41. package/src/__tests__/config-loader-validation-reset-notice.test.ts +11 -11
  42. package/src/__tests__/config-schema.test.ts +26 -27
  43. package/src/__tests__/config-set-route.test.ts +2 -6
  44. package/src/__tests__/conversation-agent-loop-inference-profile.test.ts +28 -300
  45. package/src/__tests__/conversation-agent-loop-overflow.test.ts +39 -246
  46. package/src/__tests__/conversation-agent-loop.test.ts +2 -58
  47. package/src/__tests__/conversation-clear-safety.test.ts +0 -30
  48. package/src/__tests__/conversation-inference-profile-route.test.ts +1 -1
  49. package/src/__tests__/conversation-queue.test.ts +1 -1
  50. package/src/__tests__/conversation-runtime-assembly.test.ts +1 -1
  51. package/src/__tests__/conversation-skill-tools.test.ts +4 -444
  52. package/src/__tests__/conversation-slash-commands.test.ts +1 -1
  53. package/src/__tests__/conversation-store.test.ts +1 -84
  54. package/src/__tests__/conversation-surface-state.test.ts +0 -16
  55. package/src/__tests__/credential-health-service.test.ts +14 -1
  56. package/src/__tests__/credential-record-retire.test.ts +1 -1
  57. package/src/__tests__/credential-record-write-through.test.ts +1 -1
  58. package/src/__tests__/credential-security-invariants.test.ts +0 -145
  59. package/src/__tests__/custom-profile-ensure.test.ts +1 -1
  60. package/src/__tests__/default-profile-catalog-fallback.test.ts +5 -15
  61. package/src/__tests__/deterministic-verification-control-plane.test.ts +0 -2
  62. package/src/__tests__/dictation-profile-store.test.ts +6 -6
  63. package/src/__tests__/disk-usage.test.ts +28 -164
  64. package/src/__tests__/docker-signing-key-bootstrap.test.ts +1 -1
  65. package/src/__tests__/embedding-cloud-proxy-selection.test.ts +1 -1
  66. package/src/__tests__/emit-event-signal.test.ts +1 -1
  67. package/src/__tests__/gateway-client-cloud-outbound.test.ts +3 -3
  68. package/src/__tests__/gateway-only-enforcement.test.ts +1 -1
  69. package/src/__tests__/guardian-dispatch.test.ts +0 -13
  70. package/src/__tests__/helpers/seed-app.ts +1 -1
  71. package/src/__tests__/host-cu-routes-targeted.test.ts +1 -1
  72. package/src/__tests__/host-shell-tool.test.ts +1 -1
  73. package/src/__tests__/identity-routes.test.ts +1 -1
  74. package/src/__tests__/inference-profile-session-handler.test.ts +1 -1
  75. package/src/__tests__/inference-profile-session-ipc.test.ts +1 -1
  76. package/src/__tests__/injector-chain.test.ts +1 -1
  77. package/src/__tests__/injector-config-quarantine-notice.test.ts +1 -1
  78. package/src/__tests__/injector-config-validation-reset-notice.test.ts +1 -1
  79. package/src/__tests__/injector-pkb-v2-silenced.test.ts +1 -1
  80. package/src/__tests__/{platform.test.ts → layout.test.ts} +1 -1
  81. package/src/__tests__/list-all-apps.test.ts +1 -1
  82. package/src/__tests__/live-workspace-guard.test.ts +2 -2
  83. package/src/__tests__/llm-resolver-override-or-default.test.ts +5 -6
  84. package/src/__tests__/llm-resolver.test.ts +7 -7
  85. package/src/__tests__/llm-schema-fallback-profile.test.ts +9 -10
  86. package/src/__tests__/llm-usage-store.test.ts +0 -495
  87. package/src/__tests__/log-export-routes.test.ts +1 -1
  88. package/src/__tests__/mcp-config-secret-boundary.test.ts +12 -53
  89. package/src/__tests__/mcp-list-plugin-servers.test.ts +1 -1
  90. package/src/__tests__/memory-config-file-parity.test.ts +1 -1
  91. package/src/__tests__/memory-v2-static-injector.test.ts +1 -1
  92. package/src/__tests__/messages-read-boundary-guard.test.ts +0 -2
  93. package/src/__tests__/notification-guardian-path.test.ts +0 -7
  94. package/src/__tests__/onboarding-persona-write.test.ts +1 -1
  95. package/src/__tests__/openai-provider.test.ts +8 -8
  96. package/src/__tests__/path-policy.test.ts +1 -1
  97. package/src/__tests__/persona-resolver.test.ts +1 -1
  98. package/src/__tests__/plugin-app-serve-routes.test.ts +1 -1
  99. package/src/__tests__/plugin-effective-enabled-set.test.ts +1 -1
  100. package/src/__tests__/plugin-import-boundary-guard.test.ts +4 -6
  101. package/src/__tests__/plugin-import-boundary-reverse-guard.test.ts +0 -3
  102. package/src/__tests__/provider-cloud-proxy-integration.test.ts +1 -5
  103. package/src/__tests__/provider-connections-backfill.test.ts +10 -10
  104. package/src/__tests__/prune-old-conversations-job.test.ts +6 -31
  105. package/src/__tests__/resolve-app.test.ts +1 -1
  106. package/src/__tests__/run-due-schedules.test.ts +1 -1
  107. package/src/__tests__/scaffold-managed-skill-tool.test.ts +0 -53
  108. package/src/__tests__/schedule-routes.test.ts +1 -1
  109. package/src/__tests__/schedule-store.test.ts +1 -1
  110. package/src/__tests__/secret-routes-cloud-proxy.test.ts +1 -1
  111. package/src/__tests__/skill-load-plugin-scope.test.ts +1 -1
  112. package/src/__tests__/surface-completion-compaction-boundary.test.ts +1 -1
  113. package/src/__tests__/tool-approval-handler.test.ts +1 -1
  114. package/src/__tests__/tool-audit.test.ts +5 -235
  115. package/src/__tests__/tool-executor-lifecycle-events.test.ts +54 -114
  116. package/src/__tests__/tools-get-route.test.ts +1 -1
  117. package/src/__tests__/turn-outcome-read.test.ts +1 -1
  118. package/src/__tests__/twilio-routes.test.ts +0 -1
  119. package/src/__tests__/usage-attribution.test.ts +0 -31
  120. package/src/__tests__/verification-control-plane-policy.test.ts +3 -10
  121. package/src/__tests__/visible-app-context.test.ts +1 -1
  122. package/src/__tests__/voice-ingress-preflight.test.ts +1 -1
  123. package/src/__tests__/workspace-git-service.test.ts +1 -1
  124. package/src/__tests__/workspace-greetings.test.ts +1 -1
  125. package/src/acp/__tests__/helpers/acp-config-stub.ts +1 -1
  126. package/src/activation/progress-store.ts +1 -1
  127. package/src/activation/turn-hooks.ts +1 -1
  128. package/src/agent/loop.ts +0 -51
  129. package/src/apps/app-store.ts +1 -1
  130. package/src/avatar/__tests__/avatar-store.test.ts +2 -172
  131. package/src/avatar/accent-backfill.ts +1 -1
  132. package/src/avatar/avatar-manifest.ts +1 -1
  133. package/src/avatar/avatar-store.ts +10 -69
  134. package/src/avatar/ensure-raster.ts +1 -1
  135. package/src/avatar/identity-avatar.ts +1 -1
  136. package/src/avatar/sync-avatar.ts +1 -1
  137. package/src/avatar/traits-png-sync.ts +1 -1
  138. package/src/bundler/compiler-tools.ts +1 -1
  139. package/src/bundler/package-resolver.ts +1 -1
  140. package/src/calls/__tests__/call-controller.test.ts +25 -27
  141. package/src/calls/active-call-lease.ts +1 -1
  142. package/src/calls/call-controller.ts +3 -3
  143. package/src/calls/call-domain.ts +4 -8
  144. package/src/calls/call-store.ts +2 -76
  145. package/src/calls/resolve-call-tts-provider.ts +3 -3
  146. package/src/calls/twilio-config.ts +3 -3
  147. package/src/calls/twilio-rest.ts +2 -2
  148. package/src/calls/voice-ingress-preflight.ts +2 -2
  149. package/src/cli/bundled-modules.ts +0 -2
  150. package/src/cli/commands/__tests__/apps.test.ts +1 -1
  151. package/src/cli/commands/__tests__/plugins.test.ts +9 -66
  152. package/src/cli/commands/__tests__/ps.test.ts +67 -0
  153. package/src/cli/commands/auth.help.ts +2 -2
  154. package/src/cli/commands/avatar.ts +1 -1
  155. package/src/cli/commands/changelog.ts +1 -1
  156. package/src/cli/commands/cloud/__tests__/subscription.test.ts +2 -2
  157. package/src/cli/commands/cloud/index.help.ts +1 -1
  158. package/src/cli/commands/cloud/index.ts +2 -2
  159. package/src/cli/commands/db/refresh.ts +1 -1
  160. package/src/cli/commands/db/repair-step-conversation-backfill.ts +1 -1
  161. package/src/cli/commands/db/repair.ts +1 -1
  162. package/src/cli/commands/db/status.ts +1 -1
  163. package/src/cli/commands/inference-profiles.ts +1 -12
  164. package/src/cli/commands/memory/__tests__/memory-v3.test.ts +1 -116
  165. package/src/cli/commands/memory/index.help.ts +1 -43
  166. package/src/cli/commands/memory/memory-v3.ts +0 -64
  167. package/src/cli/commands/plugins.ts +54 -205
  168. package/src/cli/commands/ps.ts +5 -2
  169. package/src/cli/commands/status.ts +1 -1
  170. package/src/cli/index.help.ts +0 -2
  171. package/src/cli/lib/__tests__/inspect-plugin.test.ts +36 -66
  172. package/src/cli/lib/__tests__/install-from-cloud.test.ts +1 -1
  173. package/src/cli/lib/__tests__/install-from-github.test.ts +41 -117
  174. package/src/cli/lib/__tests__/plugin-catalog-cache.test.ts +2 -185
  175. package/src/cli/lib/__tests__/plugin-catalog-resolve.test.ts +36 -66
  176. package/src/cli/lib/__tests__/plugin-catalog-visibility.test.ts +4 -6
  177. package/src/cli/lib/__tests__/plugin-details.test.ts +113 -96
  178. package/src/cli/lib/__tests__/search-plugins.test.ts +9 -16
  179. package/src/cli/lib/__tests__/uninstall-plugin.test.ts +1 -1
  180. package/src/cli/lib/__tests__/upgrade-plugin.test.ts +38 -15
  181. package/src/cli/lib/diff-plugin.ts +1 -1
  182. package/src/cli/lib/inspect-plugin.ts +13 -97
  183. package/src/cli/lib/install-from-cloud.ts +1 -1
  184. package/src/cli/lib/install-from-github.ts +75 -154
  185. package/src/cli/lib/install-plugin-dependencies.ts +1 -1
  186. package/src/cli/lib/list-installed-plugins.ts +1 -1
  187. package/src/cli/lib/open-browser.ts +1 -1
  188. package/src/cli/lib/plugin-catalog-cache.ts +8 -51
  189. package/src/cli/lib/plugin-catalog-resolve.ts +3 -22
  190. package/src/cli/lib/plugin-details.ts +5 -27
  191. package/src/cli/lib/plugin-marketplace.ts +18 -266
  192. package/src/cli/lib/search-plugins.ts +23 -43
  193. package/src/cli/lib/toggle-plugin.ts +1 -1
  194. package/src/cli/lib/uninstall-plugin.ts +1 -1
  195. package/src/cli/lib/upgrade-plugin.ts +3 -49
  196. package/src/cli/program.ts +1 -3
  197. package/src/cli.ts +1 -1
  198. package/src/cloud/client.ts +0 -6
  199. package/src/cloud/consent-cache.test.ts +22 -201
  200. package/src/cloud/consent-cache.ts +16 -111
  201. package/src/cloud/sync-identity.ts +1 -1
  202. package/src/config/__tests__/chat-settings.test.ts +1 -1
  203. package/src/config/__tests__/cloud-identity.test.ts +15 -2
  204. package/src/config/__tests__/default-plugin-skill-discovery.test.ts +1 -1
  205. package/src/config/__tests__/default-profile-catalog.test.ts +12 -51
  206. package/src/config/__tests__/deployment-context-defaults.test.ts +13 -13
  207. package/src/config/__tests__/loader-callsite-strip-fallback.test.ts +4 -4
  208. package/src/config/__tests__/loader-last-known-good.test.ts +9 -9
  209. package/src/config/__tests__/loader-sparse-array-cleanup.test.ts +7 -7
  210. package/src/config/__tests__/plugin-resident-skill-discovery.test.ts +1 -1
  211. package/src/config/__tests__/profile-materialization.test.ts +2 -4
  212. package/src/config/__tests__/sync-gated-profiles.test.ts +1 -106
  213. package/src/config/acp-agent-write.ts +1 -1
  214. package/src/config/bundled-skills/settings/tools/open-system-settings.test.ts +1 -1
  215. package/src/config/bundled-skills/settings/tools/open-system-settings.ts +1 -1
  216. package/src/config/call-site-defaults.ts +0 -6
  217. package/src/config/cloud-identity.ts +12 -5
  218. package/src/config/composer-preferences.ts +1 -1
  219. package/src/config/default-profile-catalog.ts +8 -75
  220. package/src/config/default-profile-names.ts +2 -25
  221. package/src/config/env-registry.ts +1 -14
  222. package/src/config/env.ts +8 -6
  223. package/src/config/llm-resolver.ts +1 -2
  224. package/src/config/loader.ts +13 -17
  225. package/src/config/profile-materialization.ts +1 -1
  226. package/src/config/schema.ts +1 -7
  227. package/src/config/schemas/call-site-catalog.ts +0 -7
  228. package/src/config/schemas/llm.ts +25 -32
  229. package/src/config/seed-inference-profiles.ts +16 -17
  230. package/src/config/skills.ts +2 -2
  231. package/src/config/sync-gated-profiles.ts +6 -24
  232. package/src/credential-health/credential-health-service.ts +10 -3
  233. package/src/daemon/approval-generators.ts +3 -3
  234. package/src/daemon/config-watcher.ts +2 -2
  235. package/src/daemon/conversation-agent-loop-handlers.ts +0 -18
  236. package/src/daemon/conversation-agent-loop.ts +6 -97
  237. package/src/daemon/conversation-process.ts +1 -1
  238. package/src/daemon/conversation-skill-tools.ts +4 -72
  239. package/src/daemon/conversation-store.ts +1 -1
  240. package/src/daemon/conversation-surface-state.ts +0 -33
  241. package/src/daemon/conversation-surfaces.ts +1 -86
  242. package/src/daemon/conversation-tool-setup.test.ts +1 -1
  243. package/src/daemon/conversation-tool-setup.ts +0 -23
  244. package/src/daemon/conversation.ts +3 -5
  245. package/src/daemon/daemon-control.ts +3 -3
  246. package/src/daemon/dictation-profile-store.ts +3 -3
  247. package/src/daemon/event-loop-watchdog.test.ts +2 -198
  248. package/src/daemon/event-loop-watchdog.ts +0 -185
  249. package/src/daemon/external-plugins-bootstrap.ts +1 -1
  250. package/src/daemon/first-greeting.ts +1 -1
  251. package/src/daemon/handlers/skills.ts +1 -1
  252. package/src/daemon/host-app-control-proxy.ts +1 -1
  253. package/src/daemon/host-cu-proxy.ts +2 -2
  254. package/src/daemon/identity-helpers.ts +1 -1
  255. package/src/daemon/lifecycle.ts +11 -15
  256. package/src/daemon/main.ts +1 -1
  257. package/src/daemon/now-scratchpad.ts +1 -1
  258. package/src/daemon/process-message.ts +4 -4
  259. package/src/daemon/profiler-run-store.ts +2 -2
  260. package/src/daemon/providers-setup.ts +2 -2
  261. package/src/daemon/shutdown-handlers.ts +0 -10
  262. package/src/daemon/sqlite-corruption-watchdog.test.ts +2 -142
  263. package/src/daemon/sqlite-corruption-watchdog.ts +17 -81
  264. package/src/daemon/tool-side-effects.ts +1 -1
  265. package/src/desktop/desktop-session-manager.ts +1 -1
  266. package/src/desktop/desktop-wallpaper-renderer.ts +1 -1
  267. package/src/heartbeat/heartbeat-service.ts +1 -1
  268. package/src/home/feed-writer.ts +1 -1
  269. package/src/home/home-greeting-cache.ts +1 -1
  270. package/src/home/relationship-state-writer.ts +2 -2
  271. package/src/hooks/__tests__/hook-live-reload.test.ts +1 -1
  272. package/src/hooks/hook-loader.ts +2 -2
  273. package/src/inbound/__tests__/oauth-callback-url.test.ts +2 -2
  274. package/src/inbound/oauth-callback-url.ts +3 -3
  275. package/src/ipc/__tests__/attachment-ipc.test.ts +1 -1
  276. package/src/ipc/socket-path.ts +1 -1
  277. package/src/live-voice/__tests__/live-voice-archive.test.ts +1 -1
  278. package/src/live-voice/__tests__/live-voice-vad.test.ts +1 -1
  279. package/src/live-voice/live-voice-session.ts +3 -66
  280. package/src/mcp/__tests__/effective-config.test.ts +1 -1
  281. package/src/mcp/__tests__/mcp-oauth-client-registration.test.ts +2 -2
  282. package/src/mcp/__tests__/mcp-oauth-provider.test.ts +2 -3
  283. package/src/mcp/__tests__/reload-signal-emission.test.ts +1 -1
  284. package/src/mcp/__tests__/reload-signal.test.ts +1 -1
  285. package/src/mcp/__tests__/workspace-mcp-config.test.ts +19 -21
  286. package/src/mcp/reload-signal.ts +1 -1
  287. package/src/mcp/workspace-mcp-config.ts +1 -23
  288. package/src/messaging/draft-store.ts +1 -1
  289. package/src/monitoring/__tests__/active-conversations.test.ts +1 -1
  290. package/src/monitoring/__tests__/page-cache.test.ts +1 -1
  291. package/src/monitoring/__tests__/stall-capture.test.ts +1 -1
  292. package/src/monitoring/__tests__/workspace-git-heartbeat.test.ts +1 -1
  293. package/src/monitoring/active-conversations.ts +1 -1
  294. package/src/monitoring/control.ts +1 -1
  295. package/src/monitoring/daemon-boot-time.ts +1 -1
  296. package/src/monitoring/daemon-heartbeat.ts +1 -1
  297. package/src/monitoring/page-cache.ts +1 -1
  298. package/src/monitoring/plugin-auto-update.ts +1 -7
  299. package/src/monitoring/plugin-source-watch.ts +1 -1
  300. package/src/monitoring/recovery/db.ts +1 -1
  301. package/src/monitoring/recovery/inflight-content.ts +1 -1
  302. package/src/monitoring/resource-sampler.ts +3 -14
  303. package/src/monitoring/stall-capture.ts +1 -1
  304. package/src/monitoring/worker.ts +9 -76
  305. package/src/monitoring/workspace-git-heartbeat.ts +1 -1
  306. package/src/oauth/connect-orchestrator.ts +4 -4
  307. package/src/permissions/checker.ts +1 -1
  308. package/src/permissions/workspace-policy.ts +1 -1
  309. package/src/persistence/__tests__/main-db-readonly-probe.ts +27 -52
  310. package/src/persistence/__tests__/message-content-file.test.ts +1 -1
  311. package/src/persistence/__tests__/slow-sync-log.test.ts +0 -2
  312. package/src/persistence/attachments-store.ts +1 -1
  313. package/src/persistence/conversation-crud.ts +1 -38
  314. package/src/persistence/conversation-directories.ts +1 -1
  315. package/src/persistence/conversation-types.ts +0 -8
  316. package/src/persistence/db-async-query.ts +1 -1
  317. package/src/persistence/db-connection.ts +11 -1
  318. package/src/persistence/db-init.ts +1 -1
  319. package/src/persistence/db-maintenance.ts +1 -1
  320. package/src/persistence/embeddings/__tests__/embedding-local-lifecycle.test.ts +1 -1
  321. package/src/persistence/embeddings/embedding-local.ts +4 -4
  322. package/src/persistence/embeddings/embedding-runtime-manager.ts +1 -1
  323. package/src/persistence/embeddings/qdrant-client.ts +1 -1
  324. package/src/persistence/embeddings/qdrant-manager.ts +1 -1
  325. package/src/persistence/job-handlers/__tests__/message-lexical-backfill.test.ts +1 -1
  326. package/src/persistence/job-handlers/__tests__/message-lexical-enqueue.test.ts +1 -1
  327. package/src/persistence/job-handlers/cleanup.ts +8 -17
  328. package/src/persistence/llm-usage-store.ts +2 -229
  329. package/src/persistence/message-content-file.ts +1 -1
  330. package/src/persistence/migrations/209-strip-thinking-from-consolidated.ts +1 -1
  331. package/src/persistence/migrations/222-strip-placeholder-sentinels-from-messages.ts +1 -1
  332. package/src/persistence/migrations/296-rewrite-balanced-economy-profile-pins.test.ts +1 -1
  333. package/src/persistence/migrations/306-rewrite-frontier-profile-pins.test.ts +1 -1
  334. package/src/persistence/migrations/329-move-onboarding-events-to-telemetry-db.test.ts +13 -0
  335. package/src/persistence/migrations/330-move-auth-fallback-events-to-telemetry-db.test.ts +13 -0
  336. package/src/persistence/migrations/331-move-lifecycle-events-to-telemetry-db.test.ts +13 -0
  337. package/src/persistence/migrations/332-move-skill-loaded-events-to-telemetry-db.test.ts +13 -0
  338. package/src/persistence/migrations/333-create-telemetry-events-table.test.ts +7 -4
  339. package/src/persistence/migrations/334-backfill-telemetry-events-outbox.test.ts +13 -0
  340. package/src/persistence/migrations/387-drop-telemetry-tables.ts +51 -0
  341. package/src/persistence/migrations/__tests__/327-create-flush-checkpoints.test.ts +9 -1
  342. package/src/persistence/migrations/__tests__/387-drop-telemetry-tables.test.ts +79 -0
  343. package/src/persistence/migrations/helpers/relocation.ts +1 -1
  344. package/src/persistence/migrations/run-migrations.ts +1 -1
  345. package/src/persistence/migrations/validate-migration-state.ts +1 -1
  346. package/src/persistence/raw-query.ts +1 -29
  347. package/src/persistence/slow-sync-log.ts +0 -23
  348. package/src/persistence/steps.ts +2 -0
  349. package/src/{telemetry → persistence}/tool-audit.ts +6 -121
  350. package/src/plugin-api/index.ts +1 -1
  351. package/src/plugin-api/plugin-name-env.ts +1 -1
  352. package/src/plugins/__tests__/installed-plugin-dirs.test.ts +1 -1
  353. package/src/plugins/collect-source-versions.ts +1 -1
  354. package/src/plugins/defaults/channel/package.json +1 -1
  355. package/src/plugins/defaults/cloud-hosted/package.json +1 -1
  356. package/src/plugins/defaults/compaction/package.json +1 -1
  357. package/src/plugins/defaults/documents/package.json +1 -1
  358. package/src/plugins/defaults/empty-response/package.json +1 -1
  359. package/src/plugins/defaults/exploration-drift/package.json +1 -1
  360. package/src/plugins/defaults/image-fallback/package.json +1 -1
  361. package/src/plugins/defaults/image-recovery/package.json +1 -1
  362. package/src/plugins/defaults/max-tokens-continue/package.json +1 -1
  363. package/src/plugins/defaults/memory/__tests__/db-async-query.test.ts +1 -1
  364. package/src/plugins/defaults/memory/__tests__/db-maintenance.test.ts +1 -1
  365. package/src/plugins/defaults/memory/__tests__/memory-retrospective-job.test.ts +0 -82
  366. package/src/plugins/defaults/memory/__tests__/memory-retrospective-skill-card.test.ts +0 -41
  367. package/src/plugins/defaults/memory/__tests__/memory-tier-boundary-guard.test.ts +0 -2
  368. package/src/plugins/defaults/memory/memory-retrospective-job.ts +3 -52
  369. package/src/plugins/defaults/memory/memory-retrospective-skill-card.ts +0 -18
  370. package/src/plugins/defaults/memory/package.json +1 -1
  371. package/src/plugins/defaults/memory/paths.ts +4 -4
  372. package/src/plugins/defaults/memory/src/__tests__/memory-worker-routes.test.ts +1 -1
  373. package/src/plugins/defaults/memory/src/memory-v2-routes.ts +5 -5
  374. package/src/plugins/defaults/memory/src/memory-v3-routes.ts +0 -207
  375. package/src/plugins/defaults/memory/src/memory-worker-routes.ts +1 -1
  376. package/src/plugins/defaults/memory/startup.ts +1 -22
  377. package/src/plugins/defaults/memory/v3/__tests__/orchestrate.test.ts +2 -253
  378. package/src/plugins/defaults/memory/v3/orchestrate.ts +5 -129
  379. package/src/plugins/defaults/memory/worker-control.ts +1 -1
  380. package/src/plugins/defaults/memory/worker.ts +2 -2
  381. package/src/plugins/defaults/session/package.json +1 -1
  382. package/src/plugins/defaults/surface-completion-nudge/package.json +1 -1
  383. package/src/plugins/defaults/task-progress/package.json +1 -1
  384. package/src/plugins/defaults/task-progress-nudge/package.json +1 -1
  385. package/src/plugins/defaults/title-generate/package.json +1 -1
  386. package/src/plugins/defaults/tool-error/package.json +1 -1
  387. package/src/plugins/defaults/tool-result-truncate/package.json +1 -1
  388. package/src/plugins/defaults/turn-context/package.json +1 -1
  389. package/src/plugins/defaults/workspace/injectors.ts +1 -1
  390. package/src/plugins/defaults/workspace/package.json +1 -1
  391. package/src/plugins/disabled-state.ts +1 -1
  392. package/src/plugins/ensure-plugin-api-shim.ts +1 -1
  393. package/src/plugins/ensure-shared-dep-links.ts +1 -1
  394. package/src/plugins/installed-plugin-dirs.ts +1 -1
  395. package/src/plugins/mcp-servers.ts +7 -9
  396. package/src/plugins/mtime-cache.ts +2 -2
  397. package/src/plugins/source-versions.ts +1 -1
  398. package/src/prompts/bootstrap-cleanup.ts +1 -1
  399. package/src/prompts/persona-resolver.ts +1 -1
  400. package/src/prompts/sections.ts +2 -2
  401. package/src/prompts/system-prompt.ts +10 -42
  402. package/src/prompts/templates/BOOTSTRAP-ACTIVATION-RAIL.md +0 -37
  403. package/src/providers/__tests__/cadet-connection-routing.test.ts +2 -2
  404. package/src/providers/cadet/client.ts +1 -1
  405. package/src/providers/inference/__tests__/base-url-route-validation.test.ts +1 -1
  406. package/src/providers/inference/adapter-factory.ts +1 -1
  407. package/src/providers/inference/backfill.ts +3 -10
  408. package/src/providers/inference/profile-probe.ts +1 -1
  409. package/src/providers/retry.ts +0 -2
  410. package/src/providers/types.ts +0 -7
  411. package/src/providers/usage-tracking.ts +1 -1
  412. package/src/routes/__tests__/route-host.test.ts +1 -1
  413. package/src/routes/control.ts +1 -1
  414. package/src/routes/route-host-client.ts +1 -1
  415. package/src/routes/worker.ts +2 -2
  416. package/src/runtime/agent-wake.ts +1 -1
  417. package/src/runtime/assistant-stream-state.ts +1 -1
  418. package/src/runtime/auth/token-service.ts +1 -1
  419. package/src/runtime/background-job-runner.ts +1 -1
  420. package/src/runtime/middleware/twilio-validation.ts +2 -2
  421. package/src/runtime/routes/__tests__/app-pin-routes.test.ts +1 -1
  422. package/src/runtime/routes/__tests__/apps-refresh-route.test.ts +1 -1
  423. package/src/runtime/routes/__tests__/avatar-state-routes.test.ts +3 -33
  424. package/src/runtime/routes/__tests__/cloud-credits-routes.test.ts +5 -4
  425. package/src/runtime/routes/__tests__/cloud-invoice-routes.test.ts +4 -3
  426. package/src/runtime/routes/__tests__/conversation-query-routes.test.ts +72 -298
  427. package/src/runtime/routes/__tests__/default-plugin-routes.test.ts +1 -1
  428. package/src/runtime/routes/__tests__/deprecated-route-context.test.ts +15 -62
  429. package/src/runtime/routes/__tests__/inference-profiles-routes.test.ts +105 -12
  430. package/src/runtime/routes/__tests__/ingress-status-routes.test.ts +1 -1
  431. package/src/runtime/routes/__tests__/monitoring-routes.test.ts +1 -1
  432. package/src/runtime/routes/__tests__/plugins-routes.test.ts +47 -211
  433. package/src/runtime/routes/__tests__/route-host-worker-routes.test.ts +1 -1
  434. package/src/runtime/routes/__tests__/schedule-routes-disarm-reason.test.ts +1 -1
  435. package/src/runtime/routes/__tests__/schedule-worker-routes.test.ts +1 -1
  436. package/src/runtime/routes/__tests__/user-route-dispatcher-host.test.ts +1 -1
  437. package/src/runtime/routes/__tests__/user-route-dispatcher.test.ts +1 -1
  438. package/src/runtime/routes/__tests__/user-routes-cli.test.ts +1 -1
  439. package/src/runtime/routes/__tests__/user-routes-notices.test.ts +1 -1
  440. package/src/runtime/routes/__tests__/user-routes-request.test.ts +1 -1
  441. package/src/runtime/routes/app-management-routes.ts +1 -1
  442. package/src/runtime/routes/attachment-routes.ts +1 -1
  443. package/src/runtime/routes/audit-routes.ts +1 -1
  444. package/src/runtime/routes/avatar-routes.ts +3 -10
  445. package/src/runtime/routes/cloud-routes.ts +3 -3
  446. package/src/runtime/routes/content-source-routes.ts +1 -1
  447. package/src/runtime/routes/conversation-query-routes.ts +49 -706
  448. package/src/runtime/routes/conversation-routes.ts +1 -38
  449. package/src/runtime/routes/debug-routes.ts +1 -1
  450. package/src/runtime/routes/deprecated-route-context.ts +5 -61
  451. package/src/runtime/routes/heartbeat-routes.ts +1 -1
  452. package/src/runtime/routes/identity-routes.ts +1 -1
  453. package/src/runtime/routes/index.ts +0 -6
  454. package/src/runtime/routes/inference-profile-session-handler.ts +3 -3
  455. package/src/runtime/routes/inference-profiles-routes.ts +48 -21
  456. package/src/runtime/routes/inference-provider-connection-routes.ts +0 -1
  457. package/src/runtime/routes/llm-call-sites-routes.ts +3 -3
  458. package/src/runtime/routes/log-export/__tests__/installed-inventory.test.ts +1 -1
  459. package/src/runtime/routes/log-export/__tests__/workspace-allowlist-error-contract.test.ts +1 -1
  460. package/src/runtime/routes/log-export/__tests__/workspace-allowlist.test.ts +1 -1
  461. package/src/runtime/routes/log-export/workspace-allowlist.ts +1 -1
  462. package/src/runtime/routes/log-export-routes.ts +17 -15
  463. package/src/runtime/routes/migration-rollback-routes.ts +1 -1
  464. package/src/runtime/routes/migration-routes.ts +2 -3
  465. package/src/runtime/routes/monitoring-routes.ts +2 -2
  466. package/src/runtime/routes/oauth-providers.ts +5 -5
  467. package/src/runtime/routes/plugins-routes.ts +38 -163
  468. package/src/runtime/routes/profiler-routes.ts +1 -1
  469. package/src/runtime/routes/route-host-worker-routes.ts +1 -1
  470. package/src/runtime/routes/sanity-routes.ts +1 -1
  471. package/src/runtime/routes/schedule-routes.ts +1 -1
  472. package/src/runtime/routes/schedule-worker-routes.ts +1 -1
  473. package/src/runtime/routes/settings-routes.ts +1 -1
  474. package/src/runtime/routes/sounds-config-routes.ts +1 -1
  475. package/src/runtime/routes/surface-conversation-resolver.ts +1 -7
  476. package/src/runtime/routes/user-route-dispatcher.ts +1 -3
  477. package/src/runtime/routes/user-route-import.ts +1 -1
  478. package/src/runtime/routes/user-route-resolution.ts +1 -1
  479. package/src/runtime/routes/user-routes-cli.ts +1 -1
  480. package/src/runtime/routes/workspace-commit-routes.ts +1 -1
  481. package/src/runtime/routes/workspace-greetings.ts +1 -1
  482. package/src/runtime/routes/workspace-routes.ts +1 -1
  483. package/src/runtime/routes/workspace-utils.ts +1 -1
  484. package/src/runtime/sync/resource-sync-events.ts +1 -1
  485. package/src/schedule/__tests__/plugin-schedule-declarations.test.ts +1 -1
  486. package/src/schedule/__tests__/plugin-schedule-reconciler.test.ts +1 -1
  487. package/src/schedule/plugin-schedule-availability.ts +1 -1
  488. package/src/schedule/plugin-schedule-declarations.ts +1 -1
  489. package/src/schedule/run-script.ts +1 -1
  490. package/src/schedule/scheduler.ts +1 -11
  491. package/src/schedule/worker-control.ts +1 -1
  492. package/src/schedule/worker.ts +3 -3
  493. package/src/security/oauth2.ts +2 -2
  494. package/src/security/secret-allowlist.ts +1 -1
  495. package/src/signals/cancel.ts +1 -1
  496. package/src/signals/conversation-undo.ts +1 -1
  497. package/src/signals/emit-event.ts +1 -1
  498. package/src/signals/event-stream.ts +1 -1
  499. package/src/signals/user-message.ts +1 -1
  500. package/src/skills/catalog-install.ts +2 -1
  501. package/src/skills/clawhub.ts +1 -1
  502. package/src/skills/cloud-store.ts +1 -1
  503. package/src/skills/path-classifier.ts +1 -1
  504. package/src/skills/skill-history.ts +1 -1
  505. package/src/skills/skillssh-registry.ts +1 -1
  506. package/src/skills/uninstall.ts +1 -1
  507. package/src/skills/workspace-skill-md-signature.ts +1 -1
  508. package/src/subagent/manager.ts +1 -1
  509. package/src/theme/workspace-theme.ts +1 -1
  510. package/src/tools/browser/auth-cache.ts +1 -1
  511. package/src/tools/browser/browser-manager.ts +1 -1
  512. package/src/tools/browser/runtime-check.ts +1 -1
  513. package/src/tools/executor.ts +4 -4
  514. package/src/tools/filesystem/write.ts +1 -1
  515. package/src/tools/permission-checker.ts +2 -51
  516. package/src/tools/run-standalone.ts +1 -1
  517. package/src/tools/skills/format-input-schema.ts +1 -1
  518. package/src/tools/skills/load.ts +1 -1
  519. package/src/tools/skills/scaffold-cloud.ts +0 -32
  520. package/src/tools/terminal/safe-env.ts +1 -2
  521. package/src/tools/terminal/sanitized-bash.ts +1 -1
  522. package/src/tools/terminal/shell.ts +1 -1
  523. package/src/tools/tool-approval-handler.ts +4 -1
  524. package/src/tools/workflows/manage-workflows.ts +2 -2
  525. package/src/tools/workflows/run-workflow.test.ts +1 -1
  526. package/src/tools/workspace-tools/loader.ts +1 -1
  527. package/src/tts/synthesis-stream.ts +2 -2
  528. package/src/usage/attribution.ts +1 -11
  529. package/src/util/browser.ts +1 -1
  530. package/src/util/bun-runtime.ts +2 -1
  531. package/src/util/device-id.ts +1 -1
  532. package/src/util/disk-usage.ts +4 -139
  533. package/src/util/layout.ts +3 -3
  534. package/src/util/logger.ts +1 -1
  535. package/src/util/logs-db-path.ts +1 -1
  536. package/src/util/memory-db-path.ts +1 -1
  537. package/src/util/{platform.ts → os.ts} +5 -30
  538. package/src/util/process-tree.ts +19 -0
  539. package/src/util/sqlite3-runtime.ts +1 -1
  540. package/src/util/telemetry-db-path.ts +1 -1
  541. package/src/watcher/__tests__/engine.test.ts +0 -23
  542. package/src/watcher/engine.ts +0 -7
  543. package/src/windows-compiled-cli.ts +0 -4
  544. package/src/windows-compiled-worker-entry.ts +0 -6
  545. package/src/workflows/leaf-runner.test.ts +1 -1
  546. package/src/workflows/leaf-runner.ts +1 -1
  547. package/src/workflows/library.ts +1 -1
  548. package/src/workspace/adaptive-thinking-repair.ts +5 -24
  549. package/src/workspace/byok-default-profile-ensure.ts +24 -26
  550. package/src/workspace/custom-profile-ensure.ts +2 -2
  551. package/src/workspace/git-service.ts +1 -1
  552. package/src/workspace/hatched-date.ts +1 -1
  553. package/src/workspace/migrations/038-unify-llm-callsite-configs.ts +2 -2
  554. package/src/workspace/migrations/040-seed-latency-callsite-defaults.ts +1 -1
  555. package/src/workspace/migrations/050-seed-main-agent-opus-callsite.ts +1 -1
  556. package/src/workspace/migrations/077-seed-memory-router-callsite.ts +1 -1
  557. package/src/workspace/migrations/registry.ts +0 -4
  558. package/src/workspace/turn-commit.ts +1 -1
  559. package/docs/activation-funnel-telemetry.md +0 -324
  560. package/scripts/bundled-plugin-packages.ts +0 -154
  561. package/scripts/generate-bundled-plugin-packages.ts +0 -29
  562. package/src/__tests__/activation-early-marking.test.ts +0 -114
  563. package/src/__tests__/auth-fallback-events-store.test.ts +0 -99
  564. package/src/__tests__/config-get-vision-flag.test.ts +0 -139
  565. package/src/__tests__/conversation-surfaces-activation-emit.test.ts +0 -400
  566. package/src/__tests__/internal-telemetry-routes.test.ts +0 -213
  567. package/src/__tests__/telemetry-routes.test.ts +0 -182
  568. package/src/__tests__/turn-events-store.test.ts +0 -376
  569. package/src/__tests__/ui-channel-variants.test.ts +0 -53
  570. package/src/avatar/__tests__/avatar-changed-telemetry.test.ts +0 -217
  571. package/src/avatar/avatar-changed-telemetry.ts +0 -128
  572. package/src/calls/__tests__/call-funnel-telemetry.test.ts +0 -204
  573. package/src/cli/commands/telemetry.help.ts +0 -27
  574. package/src/cli/commands/telemetry.ts +0 -83
  575. package/src/cli/lib/__tests__/local-plugin-upgrade.test.ts +0 -251
  576. package/src/cli/lib/__tests__/plugin-catalog-local.test.ts +0 -113
  577. package/src/cli/lib/__tests__/plugin-marketplace.test.ts +0 -384
  578. package/src/cli/lib/__tests__/plugin-pin-history.test.ts +0 -164
  579. package/src/cli/lib/__tests__/plugins-install-offline.test.ts +0 -228
  580. package/src/cli/lib/bundled-marketplace.json +0 -1575
  581. package/src/cli/lib/bundled-plugin-packages.json +0 -827
  582. package/src/cli/lib/bundled-plugin-packages.ts +0 -87
  583. package/src/cli/lib/plugin-catalog-local.ts +0 -94
  584. package/src/cli/lib/plugin-pin-history.ts +0 -276
  585. package/src/cloud/feature-gate.ts +0 -8
  586. package/src/config/__tests__/cloud-rehydration.test.ts +0 -180
  587. package/src/config/cloud-rehydration.ts +0 -35
  588. package/src/daemon/__tests__/auto-profile-router.test.ts +0 -380
  589. package/src/daemon/auto-profile-router.ts +0 -428
  590. package/src/live-voice/__tests__/live-voice-session-telemetry.test.ts +0 -391
  591. package/src/monitoring/__tests__/db-integrity-sample.test.ts +0 -113
  592. package/src/monitoring/__tests__/oom-kill-reporter.test.ts +0 -374
  593. package/src/monitoring/db-integrity-check.ts +0 -163
  594. package/src/monitoring/db-integrity-sample.ts +0 -176
  595. package/src/monitoring/oom-kill-reporter.ts +0 -469
  596. package/src/onboarding/__tests__/onboarding-events-store.test.ts +0 -158
  597. package/src/onboarding/onboarding-events-store.ts +0 -296
  598. package/src/persistence/__tests__/raw-query-telemetry.test.ts +0 -76
  599. package/src/persistence/lifecycle-events-store.test.ts +0 -134
  600. package/src/persistence/lifecycle-events-store.ts +0 -110
  601. package/src/plugins/defaults/memory/__tests__/activation-session-store.test.ts +0 -76
  602. package/src/plugins/defaults/memory/activation-session-store.ts +0 -50
  603. package/src/plugins/defaults/memory/src/__tests__/memory-v3-gate-stats.test.ts +0 -281
  604. package/src/runtime/routes/auto-profile-routes.ts +0 -83
  605. package/src/runtime/routes/internal-telemetry-routes.ts +0 -142
  606. package/src/runtime/routes/telemetry-routes.ts +0 -274
  607. package/src/security/auth-fallback-events-store.ts +0 -57
  608. package/src/telemetry/__tests__/activation-funnel.test.ts +0 -95
  609. package/src/telemetry/__tests__/config-setting-events-store.test.ts +0 -63
  610. package/src/telemetry/__tests__/config-setting-snapshot.test.ts +0 -143
  611. package/src/telemetry/__tests__/flush-checkpoints.test.ts +0 -56
  612. package/src/telemetry/__tests__/live-voice-funnel.test.ts +0 -174
  613. package/src/telemetry/__tests__/outbox-test-harness.ts +0 -85
  614. package/src/telemetry/__tests__/phone-call-funnel.test.ts +0 -72
  615. package/src/telemetry/__tests__/telemetry-event-fixtures.ts +0 -282
  616. package/src/telemetry/__tests__/watchdog-events-store.test.ts +0 -71
  617. package/src/telemetry/activation-funnel.ts +0 -172
  618. package/src/telemetry/config-setting-events-store.ts +0 -40
  619. package/src/telemetry/config-setting-snapshot.ts +0 -170
  620. package/src/telemetry/flush-checkpoints.ts +0 -70
  621. package/src/telemetry/live-voice-funnel.ts +0 -185
  622. package/src/telemetry/memory-corpus-size.test.ts +0 -120
  623. package/src/telemetry/memory-corpus-size.ts +0 -184
  624. package/src/telemetry/memory-tier-reporter.test.ts +0 -195
  625. package/src/telemetry/memory-tier-reporter.ts +0 -130
  626. package/src/telemetry/phone-call-funnel.ts +0 -144
  627. package/src/telemetry/skill-loaded-events-store.test.ts +0 -93
  628. package/src/telemetry/skill-loaded-events-store.ts +0 -39
  629. package/src/telemetry/telemetry-event-sources.test.ts +0 -223
  630. package/src/telemetry/telemetry-event-sources.ts +0 -597
  631. package/src/telemetry/telemetry-events-outbox.test.ts +0 -375
  632. package/src/telemetry/telemetry-events-outbox.ts +0 -237
  633. package/src/telemetry/telemetry-main-db.ts +0 -48
  634. package/src/telemetry/telemetry-wire-source.json +0 -4
  635. package/src/telemetry/telemetry-wire-validation.test.ts +0 -157
  636. package/src/telemetry/telemetry-wire-validation.ts +0 -162
  637. package/src/telemetry/telemetry-wire.generated.ts +0 -483
  638. package/src/telemetry/tool-executed-events-store.test.ts +0 -210
  639. package/src/telemetry/tool-executed-events-store.ts +0 -102
  640. package/src/telemetry/trace-collection-policy.test.ts +0 -28
  641. package/src/telemetry/trace-collection-policy.ts +0 -30
  642. package/src/telemetry/turn-events-store.ts +0 -216
  643. package/src/telemetry/turn-trace-store.test.ts +0 -884
  644. package/src/telemetry/turn-trace-store.ts +0 -399
  645. package/src/telemetry/types.test.ts +0 -38
  646. package/src/telemetry/types.ts +0 -780
  647. package/src/telemetry/usage-telemetry-reporter.test.ts +0 -3445
  648. package/src/telemetry/usage-telemetry-reporter.ts +0 -566
  649. package/src/telemetry/watchdog-direct-emit.test.ts +0 -112
  650. package/src/telemetry/watchdog-direct-emit.ts +0 -104
  651. package/src/telemetry/watchdog-events-store.ts +0 -31
  652. package/src/tools/ui-surface/channel-variants.ts +0 -52
  653. package/src/watcher/__tests__/telemetry.test.ts +0 -178
  654. package/src/watcher/telemetry.ts +0 -93
  655. package/src/workspace/migrations/097-enable-adaptive-thinking-managed-profiles.ts +0 -165
  656. package/src/workspace/migrations/104-recheck-adaptive-thinking-model-implied-anthropic.ts +0 -151
  657. /package/src/{telemetry → persistence}/tool-usage-store.ts +0 -0
  658. /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 },