@mycadet/assistant 0.12.7 → 0.12.8

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 (892) hide show
  1. package/README.md +1 -1
  2. package/docs/activation-funnel-telemetry.md +6 -6
  3. package/docs/cadet-doctor.md +7 -7
  4. package/docs/desktop-browser-cli.md +7 -7
  5. package/docs/skills.md +2 -2
  6. package/docs/voice-input-diagnostics.md +1 -1
  7. package/eslint-rules/__tests__/cli-no-daemon-internals.test.ts +2 -2
  8. package/node_modules/@mycadet/avatar-manifest/src/__tests__/notification-avatar.test.ts +1 -1
  9. package/node_modules/@mycadet/avatar-manifest/src/notification-avatar.ts +2 -2
  10. package/node_modules/@mycadet/ces-client/node_modules/@mycadet/service-contracts/package.json +1 -1
  11. package/node_modules/@mycadet/ces-client/node_modules/@mycadet/service-contracts/src/{platform-credential.ts → cloud-credential.ts} +9 -9
  12. package/node_modules/@mycadet/ces-client/node_modules/@mycadet/service-contracts/src/handles.ts +3 -3
  13. package/node_modules/@mycadet/ces-client/node_modules/@mycadet/service-contracts/src/index.ts +1 -1
  14. package/node_modules/@mycadet/ces-client/node_modules/@mycadet/service-contracts/src/ingress.ts +11 -5
  15. package/node_modules/@mycadet/ces-client/node_modules/@mycadet/service-contracts/src/remote-web-pairing.ts +1 -1
  16. package/node_modules/@mycadet/ces-client/node_modules/@mycadet/service-contracts/src/rpc.ts +14 -14
  17. package/node_modules/@mycadet/ces-client/node_modules/@mycadet/service-contracts/src/trust-rules.ts +5 -5
  18. package/node_modules/@mycadet/ces-client/src/rpc-client.ts +1 -1
  19. package/node_modules/@mycadet/credential-storage/src/oauth-runtime.ts +1 -1
  20. package/node_modules/@mycadet/credential-storage/src/static-credentials.ts +1 -1
  21. package/node_modules/@mycadet/environments/src/seeds.ts +6 -6
  22. package/node_modules/@mycadet/environments/src/shell.test.ts +1 -1
  23. package/node_modules/@mycadet/environments/src/types.ts +6 -6
  24. package/node_modules/@mycadet/gateway-client/node_modules/@mycadet/service-contracts/package.json +1 -1
  25. package/node_modules/@mycadet/gateway-client/node_modules/@mycadet/service-contracts/src/{platform-credential.ts → cloud-credential.ts} +9 -9
  26. package/node_modules/@mycadet/gateway-client/node_modules/@mycadet/service-contracts/src/handles.ts +3 -3
  27. package/node_modules/@mycadet/gateway-client/node_modules/@mycadet/service-contracts/src/index.ts +1 -1
  28. package/node_modules/@mycadet/gateway-client/node_modules/@mycadet/service-contracts/src/ingress.ts +11 -5
  29. package/node_modules/@mycadet/gateway-client/node_modules/@mycadet/service-contracts/src/remote-web-pairing.ts +1 -1
  30. package/node_modules/@mycadet/gateway-client/node_modules/@mycadet/service-contracts/src/rpc.ts +14 -14
  31. package/node_modules/@mycadet/gateway-client/node_modules/@mycadet/service-contracts/src/trust-rules.ts +5 -5
  32. package/node_modules/@mycadet/gateway-client/src/binding-strength-contract.ts +5 -5
  33. package/node_modules/@mycadet/gateway-client/src/gateway-ipc-contracts.ts +1 -1
  34. package/node_modules/@mycadet/gateway-client/src/inbound-contract.ts +2 -2
  35. package/node_modules/@mycadet/gateway-client/src/outbound-contract.ts +1 -1
  36. package/node_modules/@mycadet/service-contracts/package.json +1 -1
  37. package/node_modules/@mycadet/service-contracts/src/{platform-credential.ts → cloud-credential.ts} +9 -9
  38. package/node_modules/@mycadet/service-contracts/src/handles.ts +3 -3
  39. package/node_modules/@mycadet/service-contracts/src/index.ts +1 -1
  40. package/node_modules/@mycadet/service-contracts/src/ingress.ts +11 -5
  41. package/node_modules/@mycadet/service-contracts/src/remote-web-pairing.ts +1 -1
  42. package/node_modules/@mycadet/service-contracts/src/rpc.ts +14 -14
  43. package/node_modules/@mycadet/service-contracts/src/trust-rules.ts +5 -5
  44. package/openapi.yaml +6815 -794
  45. package/package.json +2 -2
  46. package/scripts/build-test-fixtures.ts +1 -1
  47. package/scripts/probe-skill-retrieval.ts +1 -1
  48. package/scripts/sync-llm-catalog.ts +2 -2
  49. package/scripts/voice-ttft-spike.ts +2 -2
  50. package/src/__tests__/adaptive-thinking-repair.test.ts +4 -4
  51. package/src/__tests__/agent-loop-override-profile.test.ts +4 -4
  52. package/src/__tests__/agent-loop-subagent-billing-headers.test.ts +1 -1
  53. package/src/__tests__/anthropic-provider.test.ts +2 -2
  54. package/src/__tests__/available-skills.test.ts +11 -12
  55. package/src/__tests__/avatar-identity-sync.test.ts +1 -1
  56. package/src/__tests__/byok-default-profile-ensure.test.ts +7 -7
  57. package/src/__tests__/call-domain.test.ts +1 -1
  58. package/src/__tests__/call-site-routing-connection-auto-resolve.test.ts +2 -2
  59. package/src/__tests__/catalog-files.test.ts +10 -10
  60. package/src/__tests__/catalog-install-normalize.test.ts +3 -3
  61. package/src/__tests__/channel-availability-routes.test.ts +8 -8
  62. package/src/__tests__/channel-readiness-routes.test.ts +4 -4
  63. package/src/__tests__/channel-readiness-service.test.ts +14 -14
  64. package/src/__tests__/channel-readiness-telegram-remote.test.ts +1 -1
  65. package/src/__tests__/chat-reveal-guard-priming.test.ts +5 -6
  66. package/src/__tests__/checker.test.ts +6 -6
  67. package/src/__tests__/clawhub.test.ts +1 -1
  68. package/src/__tests__/{platform-callback-registration.test.ts → cloud-callback-registration.test.ts} +66 -90
  69. package/src/__tests__/{platform-client-verify-credential.test.ts → cloud-client-verify-credential.test.ts} +14 -14
  70. package/src/__tests__/{managed-credential-catalog-cli.test.ts → cloud-credential-catalog-cli.test.ts} +41 -41
  71. package/src/__tests__/{managed-fallback-dispatch.test.ts → cloud-fallback-dispatch.test.ts} +21 -16
  72. package/src/__tests__/{managed-profile-guard.test.ts → cloud-profile-guard.test.ts} +60 -60
  73. package/src/__tests__/{platform-proxy-context.test.ts → cloud-proxy-context.test.ts} +44 -44
  74. package/src/__tests__/{managed-speech-defaults.test.ts → cloud-speech-defaults.test.ts} +41 -41
  75. package/src/__tests__/{managed-store.test.ts → cloud-store.test.ts} +99 -99
  76. package/src/__tests__/compaction-events.test.ts +7 -5
  77. package/src/__tests__/config-loader-backfill.test.ts +65 -65
  78. package/src/__tests__/config-loader-cloud-defaults.test.ts +373 -0
  79. package/src/__tests__/config-loader-corrupt.test.ts +1 -1
  80. package/src/__tests__/config-loader-validation-reset-notice.test.ts +1 -1
  81. package/src/__tests__/config-schema.test.ts +3 -3
  82. package/src/__tests__/{config-set-platform-guard.test.ts → config-set-cloud-guard.test.ts} +6 -6
  83. package/src/__tests__/config-watcher-cleanup-throttle.test.ts +0 -8
  84. package/src/__tests__/config-watcher.test.ts +1 -1
  85. package/src/__tests__/contacts-write.test.ts +1 -1
  86. package/src/__tests__/conversation-agent-loop.test.ts +2 -2
  87. package/src/__tests__/conversation-app-control-instantiation.test.ts +18 -18
  88. package/src/__tests__/conversation-error.test.ts +45 -45
  89. package/src/__tests__/conversation-inference-profile-route.test.ts +4 -4
  90. package/src/__tests__/conversation-rendered-delegation-state.test.ts +4 -4
  91. package/src/__tests__/conversation-skill-tools.test.ts +7 -8
  92. package/src/__tests__/conversation-slash.test.ts +2 -2
  93. package/src/__tests__/conversation-speed-override.test.ts +8 -10
  94. package/src/__tests__/conversation-summarize-up-to.test.ts +4 -4
  95. package/src/__tests__/conversation-surfaces-activation-emit.test.ts +1 -1
  96. package/src/__tests__/conversation-wait-for-idle.test.ts +7 -5
  97. package/src/__tests__/credential-execution-api-key-propagation.test.ts +5 -5
  98. package/src/__tests__/{credential-execution-managed-contract.test.ts → credential-execution-cloud-contract.test.ts} +24 -24
  99. package/src/__tests__/credential-health-service.test.ts +27 -41
  100. package/src/__tests__/credential-routes.test.ts +85 -165
  101. package/src/__tests__/credential-security-invariants.test.ts +6 -7
  102. package/src/__tests__/custom-profile-ensure.test.ts +1 -1
  103. package/src/__tests__/date-context.test.ts +1 -1
  104. package/src/__tests__/default-profile-catalog-fallback.test.ts +15 -15
  105. package/src/__tests__/delete-managed-skill-tool.test.ts +8 -8
  106. package/src/__tests__/discord-callback-round-trip.test.ts +1 -1
  107. package/src/__tests__/disk-usage.test.ts +3 -3
  108. package/src/__tests__/email-invite-adapter.test.ts +5 -5
  109. package/src/__tests__/{embedding-managed-proxy-selection.test.ts → embedding-cloud-proxy-selection.test.ts} +44 -43
  110. package/src/__tests__/emit-signal-routing-intent.test.ts +13 -15
  111. package/src/__tests__/events-dev-bypass-actor.test.ts +2 -2
  112. package/src/__tests__/fallback-breaker.test.ts +7 -7
  113. package/src/__tests__/feature-flag-test-helpers.ts +106 -0
  114. package/src/__tests__/gateway-flag-listener.test.ts +1 -1
  115. package/src/__tests__/gemini-image-service.test.ts +2 -2
  116. package/src/__tests__/gemini-provider.test.ts +5 -5
  117. package/src/__tests__/get-skill-detail-audit.test.ts +9 -8
  118. package/src/__tests__/guardian-verification-voice-binding.test.ts +1 -1
  119. package/src/__tests__/handlers-skills-memory-v2-reseed.test.ts +5 -5
  120. package/src/__tests__/host-cu-routes-targeted.test.ts +8 -8
  121. package/src/__tests__/image-credentials.test.ts +13 -13
  122. package/src/__tests__/inbound-admitted-introduction-nudge.test.ts +14 -6
  123. package/src/__tests__/inbound-trust-verdict.test.ts +14 -6
  124. package/src/__tests__/inference-no-mode-boot-e2e.test.ts +11 -11
  125. package/src/__tests__/inference-profile-session-handler.test.ts +7 -7
  126. package/src/__tests__/inference-profile-session-ipc.test.ts +5 -5
  127. package/src/__tests__/inference-profile-validation-jev.test.ts +1 -1
  128. package/src/__tests__/init-feature-flag-overrides.test.ts +40 -24
  129. package/src/__tests__/input-repairs.test.ts +1 -1
  130. package/src/__tests__/install-skill-routing.test.ts +10 -8
  131. package/src/__tests__/integration-status.test.ts +5 -5
  132. package/src/__tests__/internal-telemetry-routes.test.ts +3 -3
  133. package/src/__tests__/invite-routes-http.test.ts +1 -1
  134. package/src/__tests__/llm-catalog-parity.test.ts +5 -7
  135. package/src/__tests__/llm-request-log-source-clickhouse.test.ts +2 -2
  136. package/src/__tests__/llm-resolver-override-or-default.test.ts +3 -3
  137. package/src/__tests__/llm-resolver.test.ts +1 -1
  138. package/src/__tests__/llm-schema-fallback-profile.test.ts +25 -19
  139. package/src/__tests__/llm-usage-store.test.ts +1 -1
  140. package/src/__tests__/managed-skill-lifecycle.test.ts +12 -12
  141. package/src/__tests__/mcp-abort-signal.test.ts +2 -2
  142. package/src/__tests__/mcp-client-auth.test.ts +2 -2
  143. package/src/__tests__/mcp-tool-annotations-risk.test.ts +2 -2
  144. package/src/__tests__/media-generate-image.test.ts +30 -30
  145. package/src/__tests__/memory-config-file-parity.test.ts +6 -6
  146. package/src/__tests__/migration-export-to-gcs.test.ts +4 -4
  147. package/src/__tests__/migration-import-commit-http.test.ts +1 -1
  148. package/src/__tests__/mtime-cache.test.ts +2 -2
  149. package/src/__tests__/{notification-platform-adapter.test.ts → notification-cloud-adapter.test.ts} +39 -39
  150. package/src/__tests__/notification-deep-link.test.ts +40 -40
  151. package/src/__tests__/oauth-apps-routes.test.ts +3 -3
  152. package/src/__tests__/oauth-cli.test.ts +9 -9
  153. package/src/__tests__/oauth-commands-routes.test.ts +16 -16
  154. package/src/__tests__/oauth-connect-orchestrator.test.ts +2 -2
  155. package/src/__tests__/oauth-provider-serializer.test.ts +11 -11
  156. package/src/__tests__/oauth-providers-routes.test.ts +12 -12
  157. package/src/__tests__/oauth-store.test.ts +1 -1
  158. package/src/__tests__/oauth2-gateway-transport.test.ts +3 -3
  159. package/src/__tests__/onboarding-persona-write.test.ts +2 -2
  160. package/src/__tests__/openai-image-service.test.ts +2 -2
  161. package/src/__tests__/openai-responses-cutover-guard.test.ts +2 -2
  162. package/src/__tests__/openai-responses-provider.test.ts +1 -1
  163. package/src/__tests__/path-policy.test.ts +4 -4
  164. package/src/__tests__/personal-memory-auth-bypass.test.ts +1 -1
  165. package/src/__tests__/platform-bash-auto-approve.test.ts +18 -18
  166. package/src/__tests__/plugin-api-model-profiles.test.ts +1 -1
  167. package/src/__tests__/plugin-api-provider.test.ts +1 -1
  168. package/src/__tests__/plugin-api-webhook-url.test.ts +4 -5
  169. package/src/__tests__/plugin-import-boundary-guard.test.ts +8 -39
  170. package/src/__tests__/plugin-import-boundary-reverse-guard.test.ts +2 -2
  171. package/src/__tests__/{provider-platform-proxy-integration.test.ts → provider-cloud-proxy-integration.test.ts} +70 -72
  172. package/src/__tests__/provider-commit-message-generator.test.ts +1 -1
  173. package/src/__tests__/provider-connections-backfill.test.ts +9 -9
  174. package/src/__tests__/provider-error-scenarios.test.ts +8 -8
  175. package/src/__tests__/provider-registry-ollama.test.ts +1 -1
  176. package/src/__tests__/provider-send-message-override-profile.test.ts +5 -5
  177. package/src/__tests__/registry.test.ts +3 -3
  178. package/src/__tests__/requests-mock.ts +972 -0
  179. package/src/__tests__/resolve-trust-class.test.ts +1 -1
  180. package/src/__tests__/resource-pressure-guard.test.ts +6 -6
  181. package/src/__tests__/resource-pressure-routes.test.ts +5 -5
  182. package/src/__tests__/retry-fallback-escalation.test.ts +5 -5
  183. package/src/__tests__/sanitize-config-for-transfer.test.ts +1 -1
  184. package/src/__tests__/scaffold-managed-skill-tool.test.ts +97 -97
  185. package/src/__tests__/schedule-store.test.ts +1 -1
  186. package/src/__tests__/search-skills-unified.test.ts +9 -7
  187. package/src/__tests__/{secret-routes-platform-proxy.test.ts → secret-routes-cloud-proxy.test.ts} +48 -95
  188. package/src/__tests__/secret-routes-scrub.test.ts +2 -59
  189. package/src/__tests__/secure-keys.test.ts +1 -1
  190. package/src/__tests__/skill-load-plugin-scope.test.ts +2 -2
  191. package/src/__tests__/skill-load-tool.test.ts +1 -1
  192. package/src/__tests__/skill-projection-feature-flag.test.ts +0 -19
  193. package/src/__tests__/skill-projection.benchmark.test.ts +5 -7
  194. package/src/__tests__/skill-tool-factory.test.ts +1 -1
  195. package/src/__tests__/skills-file-content-endpoint.test.ts +12 -12
  196. package/src/__tests__/skills-files-catalog-fallback.test.ts +9 -9
  197. package/src/__tests__/skills.test.ts +1 -1
  198. package/src/__tests__/slim-skill-category.test.ts +11 -9
  199. package/src/__tests__/stt-stream-session.test.ts +3 -3
  200. package/src/__tests__/subagent-call-site-routing.test.ts +1 -1
  201. package/src/__tests__/subagent-disposal.test.ts +5 -5
  202. package/src/__tests__/subagent-fork-notifications.test.ts +4 -4
  203. package/src/__tests__/subagent-fork-spawn.test.ts +5 -5
  204. package/src/__tests__/subagent-manager-notify.test.ts +5 -5
  205. package/src/__tests__/subagent-tool-gate-mode.test.ts +2 -2
  206. package/src/__tests__/system-prompt.test.ts +1 -1
  207. package/src/__tests__/telegram-bot-username-resolution.test.ts +34 -52
  208. package/src/__tests__/telegram-config.test.ts +16 -16
  209. package/src/__tests__/telephony-tts-guard.test.ts +13 -13
  210. package/src/__tests__/test-preload.ts +17 -7
  211. package/src/__tests__/tool-audit.test.ts +1 -1
  212. package/src/__tests__/tool-execution-pipeline.benchmark.test.ts +7 -5
  213. package/src/__tests__/tool-executor-lifecycle-events.test.ts +1 -1
  214. package/src/__tests__/turn-events-store.test.ts +1 -1
  215. package/src/__tests__/twilio-routes.test.ts +2 -1
  216. package/src/__tests__/ui-choice-copy-surfaces.test.ts +1 -1
  217. package/src/__tests__/unified-turn-context-client-os.test.ts +1 -1
  218. package/src/__tests__/validate-input.test.ts +5 -5
  219. package/src/__tests__/verification-outbound-delivery.test.ts +1 -1
  220. package/src/__tests__/voice-config-update.test.ts +15 -15
  221. package/src/__tests__/voice-ingress-preflight.test.ts +4 -4
  222. package/src/__tests__/web-search.test.ts +340 -859
  223. package/src/__tests__/workspace-git-service.test.ts +1 -1
  224. package/src/__tests__/workspace-migration-082-backfill-managed-profile-labels.test.ts +12 -12
  225. package/src/__tests__/workspace-migration-087-memory-router-balanced-profile.test.ts +1 -1
  226. package/src/__tests__/workspace-migration-090-memory-router-cost-optimized-profile.test.ts +1 -1
  227. package/src/__tests__/workspace-migration-100-upgrade-quality-profile-to-fable-5.test.ts +1 -1
  228. package/src/__tests__/workspace-migration-103-upgrade-quality-profile-to-opus-4-8.test.ts +1 -1
  229. package/src/__tests__/workspace-migration-110-flip-balanced-profile-to-together.test.ts +1 -1
  230. package/src/__tests__/workspace-migration-113-swap-balanced-profile-to-glm-5p2.test.ts +1 -1
  231. package/src/__tests__/workspace-migration-114-swap-quality-profile-to-opus.test.ts +1 -1
  232. package/src/__tests__/workspace-migration-123-swap-quality-profile-to-fable.test.ts +1 -1
  233. package/src/__tests__/workspace-migration-125-repoint-managed-connections-to-cadet.test.ts +3 -3
  234. package/src/__tests__/workspace-migration-126-strip-managed-profile-bodies.test.ts +9 -9
  235. package/src/__tests__/workspace-migration-127-backfill-default-provider.test.ts +11 -11
  236. package/src/__tests__/workspace-migration-130-speech-mode-to-provider.test.ts +3 -3
  237. package/src/__tests__/workspace-migration-132-web-search-mode-to-provider.test.ts +6 -6
  238. package/src/__tests__/workspace-migration-133-collapse-provider-connections.test.ts +3 -3
  239. package/src/__tests__/workspace-migration-134-image-generation-mode-to-provider.test.ts +6 -6
  240. package/src/__tests__/workspace-migration-136-repair-stale-fireworks-kimi-model-id.test.ts +1 -1
  241. package/src/__tests__/workspace-migration-137-repair-retired-fireworks-minimax-model-id.test.ts +1 -1
  242. package/src/__tests__/workspace-migration-146-repair-retired-fireworks-deepseek-flash-model-id.test.ts +1 -1
  243. package/src/__tests__/workspace-migration-147-rename-colliding-backup-profile-names.test.ts +1 -1
  244. package/src/__tests__/workspace-migration-151-repair-renamed-fireworks-deepseek-pro-model-id.test.ts +1 -1
  245. package/src/__tests__/workspace-migration-152-repair-retired-fireworks-minimax-m2p7-model-id.test.ts +1 -1
  246. package/src/__tests__/workspace-migration-159-rename-colliding-jev-profile-name.test.ts +1 -1
  247. package/src/__tests__/workspace-migration-160-repair-retired-fireworks-model-ids.test.ts +1 -1
  248. package/src/__tests__/workspace-migration-161-repair-retired-fireworks-glm-5p2-model-id.test.ts +1 -1
  249. package/src/api/events/cloud-disconnected.ts +21 -0
  250. package/src/api/events/host-bash.ts +1 -1
  251. package/src/api/events/host-cu.ts +1 -1
  252. package/src/api/events/host-file.ts +1 -1
  253. package/src/api/events/notification-intent.ts +1 -1
  254. package/src/api/events/{show-platform-login.ts → show-cloud-login.ts} +3 -5
  255. package/src/api/index.ts +11 -11
  256. package/src/api/responses/home.ts +1 -1
  257. package/src/api/surfaces.ts +4 -4
  258. package/src/approvals/guardian-request-resolvers.ts +2 -2
  259. package/src/avatar/accent-backfill.ts +1 -1
  260. package/src/avatar/identity-avatar.ts +1 -1
  261. package/src/avatar/notification-avatar.test.ts +2 -2
  262. package/src/avatar/notification-avatar.ts +2 -2
  263. package/src/avatar/resvg-lazy.test.ts +1 -1
  264. package/src/avatar/resvg-lazy.ts +3 -3
  265. package/src/avatar/sync-avatar.test.ts +76 -76
  266. package/src/avatar/sync-avatar.ts +15 -15
  267. package/src/avatar/traits-png-sync.ts +1 -1
  268. package/src/background-wake/background-wake-routes.test.ts +39 -39
  269. package/src/background-wake/{platform-client.test.ts → cloud-client.test.ts} +11 -11
  270. package/src/background-wake/{platform-client.ts → cloud-client.ts} +14 -14
  271. package/src/background-wake/publisher.ts +4 -4
  272. package/src/background-wake/wake-intent-hooks.test.ts +3 -3
  273. package/src/calls/__tests__/call-controller.test.ts +2 -2
  274. package/src/calls/__tests__/voice-session-bridge.test.ts +1 -1
  275. package/src/calls/call-domain.ts +1 -1
  276. package/src/calls/resolve-call-tts-provider.ts +6 -6
  277. package/src/calls/telephony-credential-preflight.ts +3 -3
  278. package/src/calls/telephony-tts-capability.ts +5 -6
  279. package/src/calls/tts-call-strategy.ts +1 -1
  280. package/src/calls/voice-escalation-judge.ts +1 -1
  281. package/src/calls/voice-ingress-preflight.ts +4 -4
  282. package/src/cli/bundled-modules.ts +1 -1
  283. package/src/cli/commands/__tests__/apps.test.ts +18 -53
  284. package/src/cli/commands/__tests__/plugins.test.ts +13 -13
  285. package/src/cli/commands/__tests__/tts.test.ts +1 -1
  286. package/src/cli/commands/auth.help.ts +3 -3
  287. package/src/cli/commands/auth.ts +2 -4
  288. package/src/cli/commands/browser.help.ts +2 -2
  289. package/src/cli/commands/channels/index.help.ts +2 -2
  290. package/src/cli/commands/channels/index.ts +1 -1
  291. package/src/cli/commands/channels/send.ts +1 -1
  292. package/src/cli/commands/cloud/__tests__/connect.test.ts +1 -1
  293. package/src/cli/commands/cloud/__tests__/disconnect.test.ts +3 -4
  294. package/src/cli/commands/cloud/connect.ts +2 -2
  295. package/src/cli/commands/cloud/credits-format.ts +1 -1
  296. package/src/cli/commands/cloud/index.help.ts +35 -35
  297. package/src/cli/commands/config.ts +1 -1
  298. package/src/cli/commands/credentials.ts +10 -12
  299. package/src/cli/commands/domain.ts +1 -1
  300. package/src/cli/commands/email.help.ts +1 -1
  301. package/src/cli/commands/email.ts +2 -2
  302. package/src/cli/commands/gateway.help.ts +1 -1
  303. package/src/cli/commands/gateway.ts +1 -1
  304. package/src/cli/commands/image-generation.help.ts +1 -1
  305. package/src/cli/commands/inference-providers.ts +1 -1
  306. package/src/cli/commands/inference.help.ts +2 -2
  307. package/src/cli/commands/memory/index.help.ts +1 -1
  308. package/src/cli/commands/oauth/connect.test.ts +2 -2
  309. package/src/cli/commands/oauth/connect.ts +1 -1
  310. package/src/cli/commands/oauth/index.help.ts +5 -5
  311. package/src/cli/commands/oauth/providers.ts +2 -2
  312. package/src/cli/commands/oauth/shared.ts +3 -3
  313. package/src/cli/commands/plugins.help.ts +2 -3
  314. package/src/cli/commands/plugins.ts +5 -5
  315. package/src/cli/commands/roadmap.help.ts +1 -1
  316. package/src/cli/commands/telemetry.help.ts +2 -2
  317. package/src/cli/commands/telemetry.ts +2 -2
  318. package/src/cli/commands/tts.help.ts +3 -3
  319. package/src/cli/commands/webhooks.help.ts +9 -9
  320. package/src/cli/commands/webhooks.ts +1 -1
  321. package/src/cli/lib/__tests__/inspect-plugin.test.ts +8 -8
  322. package/src/cli/lib/__tests__/{install-from-platform.test.ts → install-from-cloud.test.ts} +54 -54
  323. package/src/cli/lib/__tests__/plugin-catalog-cache.test.ts +18 -18
  324. package/src/cli/lib/__tests__/{plugin-catalog-platform.test.ts → plugin-catalog-cloud.test.ts} +2 -2
  325. package/src/cli/lib/__tests__/plugin-catalog-local.test.ts +1 -1
  326. package/src/cli/lib/__tests__/plugin-catalog-resolve.test.ts +9 -9
  327. package/src/cli/lib/__tests__/plugin-details.test.ts +10 -10
  328. package/src/cli/lib/__tests__/plugins-install-offline.test.ts +24 -24
  329. package/src/cli/lib/bundled-marketplace.json +1 -1
  330. package/src/cli/lib/inspect-plugin.ts +2 -2
  331. package/src/cli/lib/{install-from-platform.ts → install-from-cloud.ts} +29 -29
  332. package/src/cli/lib/install-from-github.ts +4 -4
  333. package/src/cli/lib/plugin-catalog-cache.ts +7 -7
  334. package/src/cli/lib/{plugin-catalog-platform.ts → plugin-catalog-cloud.ts} +6 -6
  335. package/src/cli/lib/plugin-catalog-local.ts +2 -2
  336. package/src/cli/lib/publish-plugin.ts +9 -10
  337. package/src/cli/lib/search-plugins.ts +2 -2
  338. package/src/{platform → cloud}/client.test.ts +85 -86
  339. package/src/{platform → cloud}/client.ts +38 -46
  340. package/src/{platform/platform-patch-queue.test.ts → cloud/cloud-patch-queue.test.ts} +6 -9
  341. package/src/{platform/platform-patch-queue.ts → cloud/cloud-patch-queue.ts} +11 -11
  342. package/src/{platform/managed-speech.test.ts → cloud/cloud-speech.test.ts} +19 -19
  343. package/src/{platform/managed-speech.ts → cloud/cloud-speech.ts} +41 -41
  344. package/src/{platform → cloud}/consent-cache.test.ts +5 -5
  345. package/src/{platform → cloud}/consent-cache.ts +8 -8
  346. package/src/cloud/feature-gate.ts +8 -0
  347. package/src/{platform → cloud}/sync-identity.test.ts +4 -4
  348. package/src/{platform → cloud}/sync-identity.ts +6 -6
  349. package/src/config/__tests__/{platform-identity.test.ts → cloud-identity.test.ts} +54 -56
  350. package/src/config/__tests__/{platform-rehydration.test.ts → cloud-rehydration.test.ts} +47 -80
  351. package/src/config/__tests__/default-profile-catalog.test.ts +12 -12
  352. package/src/config/__tests__/default-provider.test.ts +4 -4
  353. package/src/config/__tests__/deployment-context-defaults.test.ts +23 -23
  354. package/src/config/__tests__/{jev-managed-profile.test.ts → jev-cloud-profile.test.ts} +3 -5
  355. package/src/config/__tests__/loader-callsite-strip-fallback.test.ts +2 -2
  356. package/src/config/__tests__/loader-last-known-good.test.ts +6 -6
  357. package/src/config/__tests__/loader-sparse-array-cleanup.test.ts +2 -2
  358. package/src/config/__tests__/profile-materialization.test.ts +7 -7
  359. package/src/config/__tests__/seed-default-provider.test.ts +17 -17
  360. package/src/config/__tests__/sync-gated-profiles.test.ts +20 -20
  361. package/src/config/__tests__/webhook-routing.test.ts +51 -51
  362. package/src/config/bundled-skills/computer-use/TOOLS.json +12 -12
  363. package/src/config/bundled-skills/messaging/SKILL.md +8 -8
  364. package/src/config/bundled-skills/messaging/TOOLS.json +2 -2
  365. package/src/config/bundled-skills/messaging/tools/messaging-analyze-style.ts +1 -1
  366. package/src/config/bundled-skills/messaging/tools/shared.ts +1 -1
  367. package/src/config/bundled-skills/phone-calls/references/TROUBLESHOOTING.md +2 -2
  368. package/src/config/bundled-skills/settings/TOOLS.json +3 -3
  369. package/src/config/bundled-skills/settings/tools/shared.ts +1 -1
  370. package/src/config/bundled-skills/settings/tools/voice-config-update.ts +12 -12
  371. package/src/config/bundled-skills/skill-management/SKILL.md +3 -3
  372. package/src/config/bundled-skills/skill-management/TOOLS.json +8 -8
  373. package/src/config/bundled-skills/skill-management/tools/{delete-managed.ts → delete-cloud.ts} +2 -2
  374. package/src/config/bundled-skills/skill-management/tools/{scaffold-managed.ts → scaffold-cloud.ts} +2 -2
  375. package/src/config/call-site-defaults.ts +6 -6
  376. package/src/config/{platform-identity.ts → cloud-identity.ts} +39 -42
  377. package/src/config/cloud-rehydration.ts +35 -0
  378. package/src/config/{managed-speech-defaults.ts → cloud-speech-defaults.ts} +13 -13
  379. package/src/config/default-profile-catalog.ts +36 -38
  380. package/src/config/default-profile-names.ts +11 -11
  381. package/src/config/default-provider-resolution.ts +2 -2
  382. package/src/config/default-provider.ts +1 -1
  383. package/src/config/env-registry.ts +23 -21
  384. package/src/config/env.ts +33 -46
  385. package/src/config/feature-flag-registry.json +5 -5
  386. package/src/config/inference-profile-validation.ts +1 -1
  387. package/src/config/llm-resolver.ts +9 -10
  388. package/src/config/loader.ts +33 -17
  389. package/src/config/profile-materialization.ts +8 -8
  390. package/src/config/profile-text-generation.test.ts +1 -1
  391. package/src/config/sanitize-for-transfer.ts +1 -1
  392. package/src/config/schema.ts +6 -6
  393. package/src/config/schemas/__tests__/stt.test.ts +2 -2
  394. package/src/config/schemas/call-site-catalog.ts +1 -1
  395. package/src/config/schemas/channels.ts +8 -0
  396. package/src/config/schemas/{platform.ts → cloud.ts} +7 -6
  397. package/src/config/schemas/host-browser.ts +1 -0
  398. package/src/config/schemas/ingress.ts +1 -12
  399. package/src/config/schemas/llm.ts +45 -36
  400. package/src/config/schemas/memory-lifecycle.ts +11 -1
  401. package/src/config/schemas/services.ts +4 -4
  402. package/src/config/schemas/stt.ts +3 -3
  403. package/src/config/schemas/tts.ts +10 -5
  404. package/src/config/schemas/voice.ts +1 -1
  405. package/src/config/seed-inference-profiles.ts +19 -19
  406. package/src/config/skill-state.ts +2 -2
  407. package/src/config/skills.ts +4 -4
  408. package/src/config/sync-gated-profiles.ts +8 -8
  409. package/src/config/webhook-routing.ts +19 -19
  410. package/src/contacts/contacts-write.ts +1 -1
  411. package/src/credential-execution/ces-runtime.ts +6 -6
  412. package/src/credential-execution/{managed-catalog.ts → cloud-catalog.ts} +24 -24
  413. package/src/credential-execution/prompted-credential.ts +6 -18
  414. package/src/credential-health/credential-health-service.ts +61 -76
  415. package/src/daemon/__tests__/can-spawn-subagents.test.ts +1 -1
  416. package/src/daemon/__tests__/conversation-tool-setup-exclude.test.ts +4 -4
  417. package/src/daemon/config-watcher.ts +2 -2
  418. package/src/daemon/conversation-agent-loop.ts +9 -9
  419. package/src/daemon/conversation-error.ts +36 -36
  420. package/src/daemon/conversation-skill-tools.ts +7 -7
  421. package/src/daemon/conversation-surfaces.ts +1 -1
  422. package/src/daemon/conversation-tool-setup.ts +2 -2
  423. package/src/daemon/conversation-turn-finalize.ts +1 -1
  424. package/src/daemon/conversation-workspace.ts +1 -1
  425. package/src/daemon/conversation.ts +1 -1
  426. package/src/daemon/credential-transcript-scrub.ts +21 -35
  427. package/src/daemon/daemon-readiness.ts +1 -1
  428. package/src/daemon/event-loop-watchdog.ts +2 -2
  429. package/src/daemon/handlers/config-ingress.ts +9 -9
  430. package/src/daemon/handlers/config-telegram.ts +6 -6
  431. package/src/daemon/handlers/skills.ts +20 -20
  432. package/src/daemon/host-cu-proxy.ts +1 -1
  433. package/src/daemon/lifecycle.ts +19 -19
  434. package/src/daemon/parse-actual-tokens-from-error.ts +3 -3
  435. package/src/daemon/providers-setup.ts +6 -6
  436. package/src/daemon/resource-pressure-guard-lifecycle.ts +1 -1
  437. package/src/daemon/resource-pressure-guard.ts +6 -6
  438. package/src/daemon/shutdown-handlers.ts +1 -1
  439. package/src/daemon/sqlite-corruption-watchdog.ts +3 -3
  440. package/src/daemon/trust-context.ts +1 -1
  441. package/src/desktop/desktop-automation-lease.ts +1 -1
  442. package/src/desktop/desktop-browser-endpoint.ts +2 -4
  443. package/src/desktop/desktop-computer-use-routing.test.ts +6 -6
  444. package/src/desktop/desktop-stream-bridge.test.ts +4 -4
  445. package/src/desktop/desktop-stream-bridge.ts +1 -1
  446. package/src/desktop/{virtual-desktop-platform.test.ts → virtual-desktop-cloud.test.ts} +6 -6
  447. package/src/desktop/virtual-desktop-feature.ts +7 -7
  448. package/src/email/byo-email-credential.ts +1 -1
  449. package/src/email/registered-inbox.test.ts +16 -16
  450. package/src/email/registered-inbox.ts +20 -20
  451. package/src/heartbeat/heartbeat-service.ts +1 -1
  452. package/src/hooks/hook-loader.ts +2 -2
  453. package/src/inbound/__tests__/oauth-callback-url.test.ts +2 -2
  454. package/src/inbound/__tests__/tunnel-probe.test.ts +8 -8
  455. package/src/inbound/{platform-callback-registration.ts → cloud-callback-registration.ts} +49 -60
  456. package/src/inbound/oauth-callback-url.ts +6 -6
  457. package/src/inbound/pod-webhook-claim.ts +2 -2
  458. package/src/inbound/public-ingress-urls.ts +3 -3
  459. package/src/inbound/tunnel-probe.ts +21 -15
  460. package/src/inbound/tunnel-webhooks-gate.ts +3 -3
  461. package/src/ipc/__tests__/db-readiness-ipc-gate.test.ts +1 -1
  462. package/src/ipc/__tests__/email-ipc.test.ts +8 -8
  463. package/src/ipc/gateway-client.test.ts +55 -59
  464. package/src/ipc/gateway-flag-listener.ts +3 -3
  465. package/src/ipc/routes/db-proxy.ts +1 -1
  466. package/src/live-voice/__tests__/live-activity-reporter.test.ts +2 -2
  467. package/src/live-voice/__tests__/{live-voice-managed-speech-fallback.test.ts → live-voice-cloud-speech-fallback.test.ts} +15 -15
  468. package/src/live-voice/__tests__/live-voice-credential-preflight.test.ts +7 -7
  469. package/src/live-voice/__tests__/live-voice-stt.test.ts +1 -1
  470. package/src/live-voice/live-activity-reporter.ts +7 -7
  471. package/src/live-voice/live-voice-credential-preflight.ts +6 -6
  472. package/src/live-voice/live-voice-session.ts +3 -3
  473. package/src/live-voice/live-voice-tts.ts +1 -1
  474. package/src/mcp/__tests__/mcp-oauth-client-registration.test.ts +4 -4
  475. package/src/mcp/__tests__/mcp-oauth-provider.test.ts +1 -1
  476. package/src/mcp/mcp-oauth-provider.ts +2 -2
  477. package/src/media/gemini-image-service.ts +11 -13
  478. package/src/media/image-credentials.ts +9 -9
  479. package/src/media/openai-image-service.ts +1 -1
  480. package/src/media/types.ts +3 -3
  481. package/src/messaging/providers/channel-transport.ts +1 -1
  482. package/src/messaging/providers/discord/transport.ts +1 -1
  483. package/src/messaging/providers/gmail/adapter.ts +1 -1
  484. package/src/messaging/providers/gmail/client.ts +4 -4
  485. package/src/messaging/providers/outlook/adapter.ts +1 -1
  486. package/src/messaging/providers/slack/adapter.ts +1 -1
  487. package/src/messaging/providers/slack/transport.ts +1 -1
  488. package/src/messaging/providers/telegram-bot/transport.ts +1 -1
  489. package/src/monitoring/db-integrity-check.ts +1 -1
  490. package/src/monitoring/db-integrity-sample.ts +2 -2
  491. package/src/monitoring/mount-watch.ts +1 -1
  492. package/src/monitoring/oom-kill-reporter.ts +1 -1
  493. package/src/monitoring/worker.ts +5 -5
  494. package/src/notifications/README.md +2 -2
  495. package/src/notifications/__tests__/broadcaster.test.ts +9 -9
  496. package/src/notifications/__tests__/completion-policy.test.ts +1 -1
  497. package/src/notifications/__tests__/emit-signal-pipeline-failure.test.ts +4 -4
  498. package/src/notifications/activity-failed-dedupe.ts +1 -1
  499. package/src/notifications/adapters/{platform.ts → cloud.ts} +8 -8
  500. package/src/notifications/broadcaster.ts +10 -10
  501. package/src/notifications/decision-engine.ts +1 -1
  502. package/src/notifications/destination-resolver.ts +1 -1
  503. package/src/notifications/emit-signal.ts +6 -6
  504. package/src/notifications/types.ts +2 -2
  505. package/src/oauth/__tests__/identity-verifier.test.ts +1 -1
  506. package/src/oauth/__tests__/{seed-providers-managed.test.ts → seed-providers-cloud.test.ts} +13 -13
  507. package/src/oauth/byo-connection.test.ts +2 -2
  508. package/src/oauth/{platform-connection.test.ts → cloud-connection.test.ts} +41 -43
  509. package/src/oauth/{platform-connection.ts → cloud-connection.ts} +19 -19
  510. package/src/oauth/connection-resolver.test.ts +59 -61
  511. package/src/oauth/connection-resolver.ts +22 -22
  512. package/src/oauth/connection.ts +1 -1
  513. package/src/oauth/oauth-store.ts +8 -8
  514. package/src/oauth/provider-serializer.ts +4 -4
  515. package/src/oauth/revoke.ts +1 -1
  516. package/src/oauth/seed-providers.ts +32 -32
  517. package/src/permissions/approval-provenance.ts +1 -1
  518. package/src/permissions/checker.test.ts +18 -16
  519. package/src/permissions/checker.ts +3 -3
  520. package/src/persistence/compaction-log-store-clickhouse.ts +3 -3
  521. package/src/persistence/embeddings/embedding-backend.test.ts +16 -16
  522. package/src/persistence/embeddings/embedding-backend.ts +13 -13
  523. package/src/persistence/embeddings/embedding-gemini.test.ts +9 -12
  524. package/src/persistence/embeddings/embedding-gemini.ts +11 -11
  525. package/src/persistence/embeddings/embedding-runtime-manager.ts +2 -2
  526. package/src/persistence/jobs-store.ts +1 -1
  527. package/src/persistence/lifecycle-events-store.ts +1 -1
  528. package/src/persistence/llm-request-log-sink-clickhouse.ts +3 -3
  529. package/src/persistence/llm-request-log-source-clickhouse.ts +3 -3
  530. package/src/persistence/migrations/224-oauth-providers-managed-service-is-paid.ts +1 -1
  531. package/src/persistence/migrations/296-rewrite-balanced-economy-profile-pins.test.ts +1 -1
  532. package/src/persistence/migrations/296-rewrite-balanced-economy-profile-pins.ts +2 -2
  533. package/src/persistence/migrations/306-rewrite-frontier-profile-pins.test.ts +1 -1
  534. package/src/persistence/migrations/306-rewrite-frontier-profile-pins.ts +1 -1
  535. package/src/persistence/migrations/351-schedule-skill-script-handoff.ts +1 -1
  536. package/src/persistence/migrations/361-normalize-managed-connection-rows.test.ts +3 -3
  537. package/src/persistence/migrations/361-normalize-managed-connection-rows.ts +7 -7
  538. package/src/persistence/migrations/__tests__/319-remove-legacy-managed-connections.test.ts +2 -2
  539. package/src/persistence/schema/oauth.ts +1 -1
  540. package/src/plugin-api/index.ts +4 -4
  541. package/src/plugin-api/model-profiles.test.ts +1 -1
  542. package/src/plugin-api/model-profiles.ts +1 -1
  543. package/src/plugin-api/transcription-session.ts +1 -1
  544. package/src/plugin-api/vision-support.test.ts +1 -1
  545. package/src/plugin-api/webhook-url.ts +12 -12
  546. package/src/plugins/__tests__/source-fingerprint.test.ts +1 -1
  547. package/src/plugins/defaults/{platform-hosted → cloud-hosted}/__tests__/reengage.test.ts +5 -6
  548. package/src/plugins/defaults/cloud-hosted/package.json +14 -0
  549. package/src/plugins/defaults/{platform-hosted → cloud-hosted}/routes/reengage.ts +3 -3
  550. package/src/plugins/defaults/index.ts +6 -6
  551. package/src/plugins/defaults/main.ts +5 -5
  552. package/src/plugins/defaults/memory/__tests__/memory-retrospective-job.test.ts +5 -5
  553. package/src/plugins/defaults/memory/__tests__/memory-retrospective-prompt.test.ts +1 -1
  554. package/src/plugins/defaults/memory/__tests__/memory-retrospective-provider-path.test.ts +1 -1
  555. package/src/plugins/defaults/memory/config.ts +4 -4
  556. package/src/plugins/defaults/memory/memory-retrospective-constants.ts +2 -2
  557. package/src/plugins/defaults/memory/memory-retrospective-job.ts +7 -7
  558. package/src/plugins/defaults/memory/memory-retrospective-prompt.ts +5 -5
  559. package/src/plugins/defaults/memory/memory-retrospective-skill-card.ts +2 -2
  560. package/src/plugins/defaults/memory/src/__tests__/memory-v2-routes.test.ts +1 -1
  561. package/src/plugins/defaults/memory/src/__tests__/memory-worker-routes.test.ts +1 -1
  562. package/src/plugins/defaults/memory/substrate/__tests__/boot-maintenance.test.ts +20 -20
  563. package/src/plugins/defaults/memory/substrate/__tests__/cli-command-store.test.ts +1 -1
  564. package/src/plugins/defaults/memory/substrate/__tests__/skill-store.test.ts +3 -3
  565. package/src/plugins/defaults/memory/substrate/boot-maintenance.ts +17 -17
  566. package/src/plugins/defaults/memory/substrate/cli-command-store.ts +2 -2
  567. package/src/plugins/defaults/memory/substrate/prompts/consolidation.ts +1 -1
  568. package/src/plugins/defaults/memory/substrate/skill-store.ts +4 -4
  569. package/src/plugins/defaults/memory/v3/__tests__/maintain-job.test.ts +3 -3
  570. package/src/plugins/defaults/memory/v3/__tests__/pool-select.test.ts +2 -2
  571. package/src/plugins/defaults/memory/v3/maintain-job.ts +10 -10
  572. package/src/plugins/defaults/memory/v3/orchestrate.ts +3 -3
  573. package/src/plugins/defaults/memory/worker.ts +5 -5
  574. package/src/plugins/defaults/workspace/injectors.ts +2 -2
  575. package/src/plugins/mtime-cache.ts +1 -1
  576. package/src/plugins/source-versions.ts +1 -1
  577. package/src/plugins/types.ts +1 -1
  578. package/src/prompts/__tests__/system-prompt.test.ts +1 -1
  579. package/src/prompts/normalize-onboarding.ts +1 -1
  580. package/src/prompts/persona-resolver.ts +1 -1
  581. package/src/prompts/templates/system-sections.ts +3 -3
  582. package/src/providers/__tests__/cadet-connection-routing.test.ts +7 -7
  583. package/src/providers/__tests__/cadet-mismatch-routing.test.ts +12 -12
  584. package/src/providers/__tests__/connection-model-compat.test.ts +2 -2
  585. package/src/providers/__tests__/dispatch-connection-routing.test.ts +10 -10
  586. package/src/providers/__tests__/inference.test.ts +2 -2
  587. package/src/providers/__tests__/preflight-resolved-config.test.ts +16 -16
  588. package/src/providers/__tests__/retry-callsite.test.ts +1 -1
  589. package/src/providers/__tests__/satellite-connection-routing.test.ts +4 -4
  590. package/src/providers/__tests__/search-provider-catalog.test.ts +2 -2
  591. package/src/providers/__tests__/voice-error-copy.test.ts +3 -3
  592. package/src/providers/anthropic/client.ts +1 -1
  593. package/src/providers/cadet/client.ts +1 -1
  594. package/src/providers/cadet-model-routing.test.ts +19 -19
  595. package/src/providers/cadet-model-routing.ts +23 -23
  596. package/src/providers/call-site-routing.ts +10 -10
  597. package/src/providers/{platform-proxy → cloud-proxy}/constants.ts +11 -11
  598. package/src/providers/{platform-proxy → cloud-proxy}/context.ts +26 -26
  599. package/src/providers/connection-resolution.ts +43 -43
  600. package/src/providers/fallback-breaker.ts +2 -2
  601. package/src/providers/fetch-provider-catalog.ts +3 -3
  602. package/src/providers/gemini/client.ts +5 -5
  603. package/src/providers/inference/__tests__/adapter-factory-openai-compatible.test.ts +3 -3
  604. package/src/providers/inference/__tests__/base-url-route-validation.test.ts +8 -8
  605. package/src/providers/inference/__tests__/base-url-security.test.ts +4 -4
  606. package/src/providers/inference/adapter-factory.ts +35 -35
  607. package/src/providers/inference/auth.ts +10 -10
  608. package/src/providers/inference/backfill.ts +11 -11
  609. package/src/providers/inference/connection-availability.ts +24 -24
  610. package/src/providers/inference/connections.ts +18 -20
  611. package/src/providers/inference/profile-probe.ts +4 -4
  612. package/src/providers/inference/resolve-auth.ts +8 -8
  613. package/src/providers/jev/ask.test.ts +1 -1
  614. package/src/providers/jev/ask.ts +2 -2
  615. package/src/providers/model-catalog.ts +8 -9
  616. package/src/providers/openai/__tests__/api-error-normalization.test.ts +3 -3
  617. package/src/providers/openai/api-error-normalization.ts +2 -2
  618. package/src/providers/provider-availability.ts +4 -4
  619. package/src/providers/provider-env-vars.ts +1 -1
  620. package/src/providers/provider-secret-catalog.ts +1 -1
  621. package/src/providers/registry.ts +20 -20
  622. package/src/providers/retry.ts +26 -26
  623. package/src/providers/routing-identity.ts +10 -10
  624. package/src/providers/search-provider-catalog.ts +2 -2
  625. package/src/providers/speech-to-text/__tests__/{cadet-managed-realtime.test.ts → cadet-cloud-realtime.test.ts} +3 -3
  626. package/src/providers/speech-to-text/__tests__/{cadet-managed.test.ts → cadet-cloud.test.ts} +35 -35
  627. package/src/providers/speech-to-text/__tests__/deepgram-flux-realtime.test.ts +1 -1
  628. package/src/providers/speech-to-text/__tests__/resolve.test.ts +27 -27
  629. package/src/providers/speech-to-text/{cadet-managed-flux-realtime.ts → cadet-cloud-flux-realtime.ts} +6 -8
  630. package/src/providers/speech-to-text/{cadet-managed-realtime.ts → cadet-cloud-realtime.ts} +3 -3
  631. package/src/providers/speech-to-text/{cadet-managed.ts → cadet-cloud.ts} +18 -20
  632. package/src/providers/speech-to-text/cadet-speech-relay-connection.ts +7 -7
  633. package/src/providers/speech-to-text/deepgram-flux-frames.ts +3 -3
  634. package/src/providers/speech-to-text/deepgram-flux-realtime.ts +4 -4
  635. package/src/providers/speech-to-text/provider-catalog.ts +3 -3
  636. package/src/providers/speech-to-text/resolve.ts +26 -28
  637. package/src/providers/together/client.ts +1 -1
  638. package/src/providers/types.ts +4 -4
  639. package/src/providers/voice-error-copy.ts +1 -1
  640. package/src/runtime/__tests__/desktop-stream-upgrade.test.ts +10 -10
  641. package/src/runtime/agent-wake.ts +1 -1
  642. package/src/runtime/auth/__tests__/middleware.test.ts +1 -1
  643. package/src/runtime/auth/middleware.ts +1 -1
  644. package/src/runtime/auth/scopes.ts +1 -1
  645. package/src/runtime/capabilities.ts +1 -1
  646. package/src/runtime/channel-invite-transports/discord.ts +1 -1
  647. package/src/runtime/channel-invite-transports/email.ts +2 -2
  648. package/src/runtime/channel-readiness-service.ts +15 -13
  649. package/src/runtime/channel-reply-session.test.ts +1 -1
  650. package/src/runtime/channel-reply-session.ts +1 -1
  651. package/src/runtime/http-server.ts +4 -4
  652. package/src/runtime/introduction-policy.ts +4 -4
  653. package/src/runtime/migrations/__tests__/origin-mode.test.ts +14 -14
  654. package/src/runtime/migrations/__tests__/v1-test-helpers.ts +1 -1
  655. package/src/runtime/migrations/__tests__/vbundle-import-version-compat.test.ts +2 -2
  656. package/src/runtime/migrations/__tests__/vbundle-metadata-merge-integration.test.ts +3 -4
  657. package/src/runtime/migrations/__tests__/vbundle-metadata-merge.test.ts +6 -7
  658. package/src/runtime/migrations/__tests__/vbundle-validator-v1-schema.test.ts +1 -1
  659. package/src/runtime/migrations/migration-transport.ts +3 -3
  660. package/src/runtime/migrations/origin-mode.ts +6 -9
  661. package/src/runtime/migrations/vbundle-import-policy.ts +2 -2
  662. package/src/runtime/migrations/vbundle-importer.ts +4 -4
  663. package/src/runtime/migrations/vbundle-streaming-importer.ts +6 -6
  664. package/src/runtime/migrations/vbundle-validator.ts +1 -1
  665. package/src/runtime/routes/__tests__/{platform-credits-routes.test.ts → cloud-credits-routes.test.ts} +9 -9
  666. package/src/runtime/routes/__tests__/{platform-invoice-routes.test.ts → cloud-invoice-routes.test.ts} +13 -13
  667. package/src/runtime/routes/__tests__/connection-routes-vs-cli-parity.test.ts +1 -1
  668. package/src/runtime/routes/__tests__/conversation-query-routes.test.ts +26 -25
  669. package/src/runtime/routes/__tests__/default-plugin-routes.test.ts +5 -5
  670. package/src/runtime/routes/__tests__/default-provider-routes.test.ts +10 -10
  671. package/src/runtime/routes/__tests__/inference-profiles-routes.test.ts +18 -18
  672. package/src/runtime/routes/__tests__/inference-provider-connection-routes.test.ts +18 -16
  673. package/src/runtime/routes/__tests__/inference-send-routes.test.ts +1 -1
  674. package/src/runtime/routes/__tests__/ingress-status-routes.test.ts +1 -1
  675. package/src/runtime/routes/__tests__/migration-cadet-metadata-reconcile.test.ts +5 -20
  676. package/src/runtime/routes/__tests__/migration-import-credential-filter.test.ts +19 -22
  677. package/src/runtime/routes/__tests__/oauth-proxy-routes.test.ts +27 -27
  678. package/src/runtime/routes/__tests__/plugins-routes.test.ts +5 -5
  679. package/src/runtime/routes/__tests__/ps-routes.test.ts +5 -3
  680. package/src/runtime/routes/__tests__/roadmap-routes.test.ts +15 -15
  681. package/src/runtime/routes/__tests__/webhook-routes.test.ts +31 -31
  682. package/src/runtime/routes/app-management-routes.ts +1 -1
  683. package/src/runtime/routes/attachment-routes.ts +1 -1
  684. package/src/runtime/routes/auth-routes.ts +14 -14
  685. package/src/runtime/routes/avatar-routes.ts +0 -14
  686. package/src/runtime/routes/background-wake-routes.ts +4 -4
  687. package/src/runtime/routes/channel-availability-routes.ts +4 -4
  688. package/src/runtime/routes/client-routes.ts +5 -5
  689. package/src/runtime/routes/cloud-credentials.ts +45 -0
  690. package/src/runtime/routes/{platform-routes.ts → cloud-routes.ts} +83 -116
  691. package/src/runtime/routes/conversation-compaction-routes.ts +1 -1
  692. package/src/runtime/routes/conversation-query-routes.ts +82 -282
  693. package/src/runtime/routes/credential-routes.ts +28 -30
  694. package/src/runtime/routes/default-provider-routes.ts +1 -1
  695. package/src/runtime/routes/desktop-setup-routes.test.ts +5 -5
  696. package/src/runtime/routes/desktop-setup-routes.ts +1 -1
  697. package/src/runtime/routes/domain-routes.ts +15 -21
  698. package/src/runtime/routes/email-routes.ts +13 -13
  699. package/src/runtime/routes/errors.ts +1 -1
  700. package/src/runtime/routes/gateway-status-routes.ts +1 -1
  701. package/src/runtime/routes/identity-routes.ts +3 -3
  702. package/src/runtime/routes/inbound-message-handler.ts +1 -1
  703. package/src/runtime/routes/inbound-stages/acl-enforcement.ts +1 -1
  704. package/src/runtime/routes/inbound-stages/transcribe-audio.test.ts +1 -1
  705. package/src/runtime/routes/index.ts +1 -1
  706. package/src/runtime/routes/inference-profile-availability-guard.ts +5 -5
  707. package/src/runtime/routes/inference-profiles-routes.ts +11 -11
  708. package/src/runtime/routes/inference-provider-connection-routes.ts +24 -24
  709. package/src/runtime/routes/ingress-status-routes.ts +1 -1
  710. package/src/runtime/routes/integrations/a2a.ts +2 -2
  711. package/src/runtime/routes/integrations/twilio.ts +21 -35
  712. package/src/runtime/routes/internal-telemetry-routes.ts +2 -2
  713. package/src/runtime/routes/live-voice-routes.test.ts +4 -4
  714. package/src/runtime/routes/live-voice-routes.ts +6 -6
  715. package/src/runtime/routes/migration-routes.ts +34 -40
  716. package/src/runtime/routes/oauth-commands-routes.ts +31 -31
  717. package/src/runtime/routes/oauth-providers.ts +5 -5
  718. package/src/runtime/routes/oauth-proxy-passthrough.test.ts +1 -1
  719. package/src/runtime/routes/oauth-proxy-passthrough.ts +8 -8
  720. package/src/runtime/routes/oauth-proxy-routes.ts +15 -17
  721. package/src/runtime/routes/oauth-request-hints.test.ts +1 -1
  722. package/src/runtime/routes/oauth-request-hints.ts +1 -1
  723. package/src/runtime/routes/plugins-routes.ts +9 -9
  724. package/src/runtime/routes/profiler-routes.ts +1 -1
  725. package/src/runtime/routes/ps-routes.ts +4 -0
  726. package/src/runtime/routes/roadmap-routes.ts +18 -20
  727. package/src/runtime/routes/secret-routes.ts +29 -55
  728. package/src/runtime/routes/settings-routes.ts +18 -23
  729. package/src/runtime/routes/telemetry-routes.ts +4 -4
  730. package/src/runtime/routes/tts-routes.ts +4 -4
  731. package/src/runtime/routes/user-route-resolution.ts +1 -1
  732. package/src/runtime/routes/webhook-routes.ts +18 -18
  733. package/src/runtime/routes/workflow-routes.ts +5 -5
  734. package/src/runtime/sync/resource-sync-events.ts +2 -2
  735. package/src/runtime/verification-outbound-actions.ts +4 -4
  736. package/src/schedule/integration-status.ts +6 -6
  737. package/src/schedule/run-script.ts +1 -1
  738. package/src/schedule/schedule-timezone.ts +1 -1
  739. package/src/schedule/worker.ts +5 -5
  740. package/src/security/auth-fallback-events-store.ts +1 -1
  741. package/src/security/oauth2.ts +4 -4
  742. package/src/skills/available-skills.ts +4 -4
  743. package/src/skills/catalog-files.ts +8 -8
  744. package/src/skills/catalog-install.ts +12 -12
  745. package/src/skills/categories-cache.ts +3 -3
  746. package/src/skills/clawhub.ts +1 -1
  747. package/src/skills/{platform-compatibility.test.ts → cloud-compatibility.test.ts} +7 -7
  748. package/src/skills/{platform-compatibility.ts → cloud-compatibility.ts} +2 -4
  749. package/src/skills/{managed-store.ts → cloud-store.ts} +21 -23
  750. package/src/skills/inline-command-runner.ts +1 -1
  751. package/src/skills/install-meta.ts +1 -1
  752. package/src/skills/path-classifier.ts +4 -4
  753. package/src/skills/skill-history.ts +4 -4
  754. package/src/skills/skillssh-registry.ts +1 -1
  755. package/src/stt/__tests__/daemon-batch-transcriber.test.ts +1 -1
  756. package/src/stt/daemon-batch-transcriber.ts +7 -7
  757. package/src/stt/types.ts +3 -3
  758. package/src/subagent/manager.ts +15 -15
  759. package/src/subagent/types.ts +1 -1
  760. package/src/telegram/__tests__/webhook-health.test.ts +16 -16
  761. package/src/telegram/webhook-health.ts +10 -10
  762. package/src/telemetry/__tests__/config-setting-events-store.test.ts +1 -1
  763. package/src/telemetry/__tests__/outbox-test-harness.ts +2 -2
  764. package/src/telemetry/config-setting-events-store.ts +1 -1
  765. package/src/telemetry/config-setting-snapshot.ts +1 -1
  766. package/src/telemetry/memory-corpus-size.ts +1 -1
  767. package/src/telemetry/memory-tier-reporter.test.ts +2 -2
  768. package/src/telemetry/memory-tier-reporter.ts +3 -3
  769. package/src/telemetry/telemetry-event-sources.test.ts +2 -2
  770. package/src/telemetry/telemetry-event-sources.ts +9 -9
  771. package/src/telemetry/telemetry-events-outbox.ts +2 -2
  772. package/src/telemetry/telemetry-wire-validation.test.ts +1 -1
  773. package/src/telemetry/telemetry-wire-validation.ts +3 -3
  774. package/src/telemetry/telemetry-wire.generated.ts +1 -1
  775. package/src/telemetry/tool-audit.ts +1 -1
  776. package/src/telemetry/tool-executed-events-store.test.ts +1 -1
  777. package/src/telemetry/trace-collection-policy.ts +4 -4
  778. package/src/telemetry/turn-events-store.ts +1 -1
  779. package/src/telemetry/turn-outcome.ts +1 -1
  780. package/src/telemetry/turn-trace-store.ts +2 -2
  781. package/src/telemetry/types.test.ts +1 -1
  782. package/src/telemetry/types.ts +19 -19
  783. package/src/telemetry/usage-telemetry-reporter.test.ts +42 -42
  784. package/src/telemetry/usage-telemetry-reporter.ts +17 -17
  785. package/src/telemetry/watchdog-direct-emit.test.ts +9 -9
  786. package/src/telemetry/watchdog-direct-emit.ts +10 -10
  787. package/src/tools/__tests__/side-effect-abort-guard.test.ts +2 -2
  788. package/src/tools/browser/cdp-client/factory.ts +1 -1
  789. package/src/tools/computer-use/target.ts +2 -2
  790. package/src/tools/credentials/store.ts +6 -15
  791. package/src/tools/network/__tests__/{managed-search-proxy.test.ts → cloud-search-proxy.test.ts} +20 -20
  792. package/src/tools/network/__tests__/web-search.test.ts +14 -14
  793. package/src/tools/network/{managed-search-proxy.ts → cloud-search-proxy.ts} +13 -13
  794. package/src/tools/network/web-search.ts +9 -9
  795. package/src/tools/permission-checker.ts +2 -2
  796. package/src/tools/shared/input-misuse.ts +1 -1
  797. package/src/tools/shared/input-repairs.ts +4 -4
  798. package/src/tools/skills/{delete-managed.ts → delete-cloud.ts} +4 -4
  799. package/src/tools/skills/find-similar-skills.test.ts +7 -7
  800. package/src/tools/skills/find-similar-skills.ts +15 -15
  801. package/src/tools/skills/load.ts +6 -6
  802. package/src/tools/skills/{scaffold-managed.ts → scaffold-cloud.ts} +16 -16
  803. package/src/tools/skills/skill-script-runner.ts +2 -2
  804. package/src/tools/terminal/safe-env.ts +3 -3
  805. package/src/tools/tool-types.ts +2 -2
  806. package/src/tools/types.ts +2 -2
  807. package/src/tools/ui-surface/surface-shape-docs.ts +2 -2
  808. package/src/tools/workflows/manage-workflows.ts +1 -1
  809. package/src/tools/workspace-tools/loader.ts +1 -1
  810. package/src/tts/__tests__/cadet-provider.test.ts +5 -5
  811. package/src/tts/provider-catalog.ts +1 -1
  812. package/src/tts/providers/cadet-provider.ts +23 -23
  813. package/src/tts/providers/cadet-tts-socket.ts +2 -2
  814. package/src/tts/tts-config-resolver.ts +1 -1
  815. package/src/tts/tts-voice-field.ts +3 -3
  816. package/src/usage/subagent-attribution.ts +1 -1
  817. package/src/util/__tests__/process-table.test.ts +47 -0
  818. package/src/util/canonicalize-identity.ts +1 -1
  819. package/src/util/cgroup-cpu.ts +5 -5
  820. package/src/util/cgroup-memory.ts +2 -2
  821. package/src/util/container-cpu-sampler.ts +4 -4
  822. package/src/util/disk-usage.ts +4 -4
  823. package/src/util/errors.ts +3 -3
  824. package/src/util/oom-priority.ts +1 -1
  825. package/src/util/platform.ts +5 -5
  826. package/src/util/process-table.ts +39 -5
  827. package/src/util/provider-error-patterns.ts +2 -2
  828. package/src/watch/__tests__/watch-retro.test.ts +2 -2
  829. package/src/watch/watch-retro.ts +1 -1
  830. package/src/watcher/__tests__/telemetry.test.ts +2 -2
  831. package/src/watcher/telemetry.ts +1 -1
  832. package/src/windows-compiled-cli.ts +1 -1
  833. package/src/workspace/adaptive-thinking-repair.ts +4 -4
  834. package/src/workspace/byok-default-profile-ensure.ts +7 -7
  835. package/src/workspace/git-service.ts +2 -2
  836. package/src/workspace/migrations/006-services-config.ts +1 -1
  837. package/src/workspace/migrations/040-seed-latency-callsite-defaults.ts +1 -1
  838. package/src/workspace/migrations/052-seed-default-inference-profiles.ts +1 -1
  839. package/src/workspace/migrations/063-release-notes-dynamic-model-context.ts +1 -1
  840. package/src/workspace/migrations/066-seed-heartbeat-callsite-cost-default.ts +1 -1
  841. package/src/workspace/migrations/082-backfill-managed-profile-labels.ts +4 -4
  842. package/src/workspace/migrations/087-memory-router-balanced-profile.ts +3 -3
  843. package/src/workspace/migrations/090-memory-router-cost-optimized-profile.ts +4 -4
  844. package/src/workspace/migrations/097-enable-adaptive-thinking-managed-profiles.ts +5 -5
  845. package/src/workspace/migrations/100-upgrade-quality-profile-to-fable-5.ts +4 -4
  846. package/src/workspace/migrations/101-upgrade-balanced-economy-to-minimax-m3.ts +4 -4
  847. package/src/workspace/migrations/103-upgrade-quality-profile-to-opus-4-8.ts +5 -5
  848. package/src/workspace/migrations/104-recheck-adaptive-thinking-model-implied-anthropic.ts +1 -1
  849. package/src/workspace/migrations/106-drop-collect-usage-data.ts +1 -1
  850. package/src/workspace/migrations/108-drop-balanced-economy-profile.ts +4 -4
  851. package/src/workspace/migrations/109-swap-quality-profile-to-glm-5p2.ts +11 -11
  852. package/src/workspace/migrations/110-flip-balanced-profile-to-together.ts +6 -6
  853. package/src/workspace/migrations/113-swap-balanced-profile-to-glm-5p2.ts +5 -5
  854. package/src/workspace/migrations/114-swap-quality-profile-to-opus.ts +4 -4
  855. package/src/workspace/migrations/115-drop-frontier-profile.ts +5 -5
  856. package/src/workspace/migrations/123-swap-quality-profile-to-fable.ts +5 -5
  857. package/src/workspace/migrations/125-repoint-managed-connections-to-cadet.ts +3 -3
  858. package/src/workspace/migrations/126-strip-managed-profile-bodies.ts +2 -2
  859. package/src/workspace/migrations/127-backfill-default-provider.ts +4 -4
  860. package/src/workspace/migrations/130-speech-mode-to-provider.ts +4 -4
  861. package/src/workspace/migrations/131-drop-web-fetch-mode.ts +1 -1
  862. package/src/workspace/migrations/132-web-search-mode-to-provider.ts +6 -6
  863. package/src/workspace/migrations/133-collapse-provider-connections.ts +3 -3
  864. package/src/workspace/migrations/134-image-generation-mode-to-provider.ts +4 -4
  865. package/src/workspace/migrations/136-repair-stale-fireworks-kimi-model-id.ts +2 -2
  866. package/src/workspace/migrations/137-repair-retired-fireworks-minimax-model-id.ts +2 -2
  867. package/src/workspace/migrations/139-clear-renamed-cost-profile-label.ts +2 -2
  868. package/src/workspace/migrations/141-stt-english-default-to-multilingual.ts +4 -4
  869. package/src/workspace/migrations/144-convert-stranded-subscription-openai-profiles.ts +1 -1
  870. package/src/workspace/migrations/145-collapse-profile-bindings-to-entries.ts +2 -2
  871. package/src/workspace/migrations/146-repair-retired-fireworks-deepseek-flash-model-id.ts +2 -2
  872. package/src/workspace/migrations/148-strip-unsupported-fallback-profiles.ts +2 -2
  873. package/src/workspace/migrations/150-stt-flux-provider-to-model-family.ts +1 -1
  874. package/src/workspace/migrations/151-repair-renamed-fireworks-deepseek-pro-model-id.ts +2 -2
  875. package/src/workspace/migrations/152-repair-retired-fireworks-minimax-m2p7-model-id.ts +2 -2
  876. package/src/workspace/migrations/159-rename-colliding-jev-profile-name.ts +2 -2
  877. package/src/workspace/migrations/160-repair-retired-fireworks-model-ids.ts +2 -2
  878. package/src/workspace/migrations/161-repair-retired-fireworks-glm-5p2-model-id.ts +2 -2
  879. package/src/workspace/migrations/__tests__/141-stt-english-default-to-multilingual.test.ts +1 -1
  880. package/src/workspace/migrations/__tests__/150-stt-flux-provider-to-model-family.test.ts +1 -1
  881. package/src/workspace/migrations/registry.ts +6 -6
  882. package/src/workspace/top-level-renderer.ts +1 -1
  883. package/src/workspace/turn-commit.ts +2 -2
  884. package/src/__tests__/config-loader-platform-defaults.test.ts +0 -606
  885. package/src/__tests__/mock-gateway-ipc.ts +0 -260
  886. package/src/api/events/platform-disconnected.ts +0 -21
  887. package/src/config/platform-rehydration.ts +0 -60
  888. package/src/platform/feature-gate.ts +0 -8
  889. package/src/plugins/defaults/platform-hosted/package.json +0 -14
  890. package/src/runtime/routes/platform-managed-credentials.ts +0 -50
  891. /package/src/__tests__/{gateway-client-managed-outbound.test.ts → gateway-client-cloud-outbound.test.ts} +0 -0
  892. /package/src/__tests__/{secure-keys-managed-failover.test.ts → secure-keys-cloud-failover.test.ts} +0 -0
@@ -2,27 +2,26 @@ import { afterEach, beforeEach, describe, expect, test } from "bun:test";
2
2
 
3
3
  import { useMemorySecureKeys } from "../../__tests__/helpers/secure-keys.js";
4
4
  import {
5
- getPlatformBaseUrl,
6
- setPlatformAssistantId,
7
- setPlatformBaseUrl,
8
- setPlatformOrganizationId,
9
- setPlatformUserId,
5
+ getCloudBaseUrl,
6
+ setCloudAssistantId,
7
+ setCloudOrganizationId,
8
+ setCloudUserId,
10
9
  } from "../env.js";
11
10
 
12
11
  useMemorySecureKeys();
13
12
  const {
14
- _resetPlatformIdentityEnsureForTests,
15
- fetchPlatformIdentityIds,
16
- PLATFORM_IDENTITY_VALIDATE_PATH,
17
- resolvePlatformAssistantId,
18
- } = await import("../platform-identity.js");
13
+ _resetCloudIdentityEnsureForTests,
14
+ fetchCloudIdentityIds,
15
+ CLOUD_IDENTITY_VALIDATE_PATH,
16
+ resolveCloudAssistantId,
17
+ } = await import("../cloud-identity.js");
19
18
 
20
19
  const BASE_URL = "https://cloud.mycadet.ai";
21
20
  const ASSISTANT_ID = "11111111-2222-4333-8444-555555555555";
22
21
  const ORG_ID = "22222222-3333-4444-8555-666666666666";
23
22
  const USER_ID = "33333333-4444-4555-8666-777777777777";
24
23
 
25
- describe("fetchPlatformIdentityIds", () => {
24
+ describe("fetchCloudIdentityIds", () => {
26
25
  const originalFetch = globalThis.fetch;
27
26
  const fetchCalls: Array<{ url: string; init?: RequestInit }> = [];
28
27
  let fetchImpl: (
@@ -61,14 +60,14 @@ describe("fetchPlatformIdentityIds", () => {
61
60
  );
62
61
 
63
62
  await expect(
64
- fetchPlatformIdentityIds(BASE_URL, "assistant-key"),
63
+ fetchCloudIdentityIds(BASE_URL, "assistant-key"),
65
64
  ).resolves.toEqual({
66
65
  assistantId: ASSISTANT_ID,
67
66
  organizationId: ORG_ID,
68
67
  userId: USER_ID,
69
68
  });
70
69
  expect(fetchCalls[0]?.url).toBe(
71
- `${BASE_URL}${PLATFORM_IDENTITY_VALIDATE_PATH}`,
70
+ `${BASE_URL}${CLOUD_IDENTITY_VALIDATE_PATH}`,
72
71
  );
73
72
  expect(fetchCalls[0]?.init?.method).toBe("POST");
74
73
  const headers = new Headers(fetchCalls[0]?.init?.headers);
@@ -86,16 +85,16 @@ describe("fetchPlatformIdentityIds", () => {
86
85
  { status: 200 },
87
86
  );
88
87
 
89
- await fetchPlatformIdentityIds(`${BASE_URL}/`, "assistant-key");
88
+ await fetchCloudIdentityIds(`${BASE_URL}/`, "assistant-key");
90
89
  expect(fetchCalls[0]?.url).toBe(
91
- `${BASE_URL}${PLATFORM_IDENTITY_VALIDATE_PATH}`,
90
+ `${BASE_URL}${CLOUD_IDENTITY_VALIDATE_PATH}`,
92
91
  );
93
92
  });
94
93
 
95
94
  test("returns null on 401 without throwing", async () => {
96
95
  fetchImpl = async () => new Response("no", { status: 401 });
97
96
  await expect(
98
- fetchPlatformIdentityIds(BASE_URL, "assistant-key"),
97
+ fetchCloudIdentityIds(BASE_URL, "assistant-key"),
99
98
  ).resolves.toBeNull();
100
99
  });
101
100
 
@@ -104,15 +103,15 @@ describe("fetchPlatformIdentityIds", () => {
104
103
  throw new Error("network down");
105
104
  };
106
105
  await expect(
107
- fetchPlatformIdentityIds(BASE_URL, "assistant-key"),
106
+ fetchCloudIdentityIds(BASE_URL, "assistant-key"),
108
107
  ).resolves.toBeNull();
109
108
  });
110
109
  });
111
110
 
112
- describe("resolvePlatformAssistantId", () => {
111
+ describe("resolveCloudAssistantId", () => {
113
112
  const originalFetch = globalThis.fetch;
114
113
  const originalAssistantApiKeyEnv = process.env.ASSISTANT_API_KEY;
115
- const originalPlatformUrlEnv = process.env.CADET_PLATFORM_URL;
114
+ const originalCloudUrlEnv = process.env.CADET_CLOUD_URL;
116
115
  const fetchCalls: Array<{ url: string; init?: RequestInit }> = [];
117
116
  let fetchImpl: (
118
117
  input: RequestInfo | URL,
@@ -132,11 +131,11 @@ describe("resolvePlatformAssistantId", () => {
132
131
  return fetchImpl(input, init);
133
132
  }) as unknown as typeof fetch;
134
133
  delete process.env.ASSISTANT_API_KEY;
135
- setPlatformBaseUrl(undefined);
136
- setPlatformAssistantId(undefined);
137
- setPlatformOrganizationId(undefined);
138
- setPlatformUserId(undefined);
139
- _resetPlatformIdentityEnsureForTests();
134
+ delete process.env.CADET_CLOUD_URL;
135
+ setCloudAssistantId(undefined);
136
+ setCloudOrganizationId(undefined);
137
+ setCloudUserId(undefined);
138
+ _resetCloudIdentityEnsureForTests();
140
139
  });
141
140
 
142
141
  afterEach(() => {
@@ -146,33 +145,32 @@ describe("resolvePlatformAssistantId", () => {
146
145
  } else {
147
146
  process.env.ASSISTANT_API_KEY = originalAssistantApiKeyEnv;
148
147
  }
149
- if (originalPlatformUrlEnv === undefined) {
150
- delete process.env.CADET_PLATFORM_URL;
148
+ if (originalCloudUrlEnv === undefined) {
149
+ delete process.env.CADET_CLOUD_URL;
151
150
  } else {
152
- process.env.CADET_PLATFORM_URL = originalPlatformUrlEnv;
151
+ process.env.CADET_CLOUD_URL = originalCloudUrlEnv;
153
152
  }
154
- setPlatformBaseUrl(undefined);
155
- setPlatformAssistantId(undefined);
156
- setPlatformOrganizationId(undefined);
157
- setPlatformUserId(undefined);
158
- _resetPlatformIdentityEnsureForTests();
153
+ setCloudAssistantId(undefined);
154
+ setCloudOrganizationId(undefined);
155
+ setCloudUserId(undefined);
156
+ _resetCloudIdentityEnsureForTests();
159
157
  });
160
158
 
161
159
  test("returns the in-memory override without calling validate", async () => {
162
- setPlatformAssistantId(ASSISTANT_ID);
160
+ setCloudAssistantId(ASSISTANT_ID);
163
161
  process.env.ASSISTANT_API_KEY = "assistant-key";
164
- await expect(resolvePlatformAssistantId()).resolves.toBe(ASSISTANT_ID);
162
+ await expect(resolveCloudAssistantId()).resolves.toBe(ASSISTANT_ID);
165
163
  expect(fetchCalls).toHaveLength(0);
166
164
  });
167
165
 
168
166
  test("returns empty when the in-memory override is unset and there is no API key", async () => {
169
- await expect(resolvePlatformAssistantId()).resolves.toBe("");
167
+ await expect(resolveCloudAssistantId()).resolves.toBe("");
170
168
  expect(fetchCalls).toHaveLength(0);
171
169
  });
172
170
 
173
171
  test("loads ids from validate when the in-memory override is empty", async () => {
174
172
  process.env.ASSISTANT_API_KEY = "assistant-key";
175
- setPlatformBaseUrl(BASE_URL);
173
+ process.env.CADET_CLOUD_URL = BASE_URL;
176
174
  fetchImpl = async () =>
177
175
  new Response(
178
176
  JSON.stringify({
@@ -183,29 +181,29 @@ describe("resolvePlatformAssistantId", () => {
183
181
  { status: 200 },
184
182
  );
185
183
 
186
- await expect(resolvePlatformAssistantId()).resolves.toBe(ASSISTANT_ID);
184
+ await expect(resolveCloudAssistantId()).resolves.toBe(ASSISTANT_ID);
187
185
  expect(fetchCalls).toHaveLength(1);
188
186
  expect(fetchCalls[0]?.url).toBe(
189
- `${getPlatformBaseUrl().replace(/\/+$/, "")}${PLATFORM_IDENTITY_VALIDATE_PATH}`,
187
+ `${getCloudBaseUrl().replace(/\/+$/, "")}${CLOUD_IDENTITY_VALIDATE_PATH}`,
190
188
  );
191
189
  });
192
190
 
193
191
  test("does not retry validate during the cooldown after a failure", async () => {
194
192
  process.env.ASSISTANT_API_KEY = "assistant-key";
195
- setPlatformBaseUrl(BASE_URL);
193
+ process.env.CADET_CLOUD_URL = BASE_URL;
196
194
  fetchImpl = async () => new Response("down", { status: 503 });
197
195
 
198
- await expect(resolvePlatformAssistantId()).resolves.toBe("");
199
- await expect(resolvePlatformAssistantId()).resolves.toBe("");
196
+ await expect(resolveCloudAssistantId()).resolves.toBe("");
197
+ await expect(resolveCloudAssistantId()).resolves.toBe("");
200
198
  expect(fetchCalls).toHaveLength(1);
201
199
  });
202
200
 
203
201
  test("retries validate inside the cooldown once a different API key is stored", async () => {
204
202
  process.env.ASSISTANT_API_KEY = "rejected-key";
205
- setPlatformBaseUrl(BASE_URL);
203
+ process.env.CADET_CLOUD_URL = BASE_URL;
206
204
  fetchImpl = async () => new Response("no", { status: 401 });
207
205
 
208
- await expect(resolvePlatformAssistantId()).resolves.toBe("");
206
+ await expect(resolveCloudAssistantId()).resolves.toBe("");
209
207
  expect(fetchCalls).toHaveLength(1);
210
208
 
211
209
  process.env.ASSISTANT_API_KEY = "replacement-key";
@@ -219,7 +217,7 @@ describe("resolvePlatformAssistantId", () => {
219
217
  { status: 200 },
220
218
  );
221
219
 
222
- await expect(resolvePlatformAssistantId()).resolves.toBe(ASSISTANT_ID);
220
+ await expect(resolveCloudAssistantId()).resolves.toBe(ASSISTANT_ID);
223
221
  expect(fetchCalls).toHaveLength(2);
224
222
  const headers = new Headers(fetchCalls[1]?.init?.headers);
225
223
  expect(headers.get("Authorization")).toBe("Api-Key replacement-key");
@@ -229,13 +227,13 @@ describe("resolvePlatformAssistantId", () => {
229
227
  process.env.ASSISTANT_API_KEY = "assistant-key";
230
228
  // The environment URL outranks the in-memory override (and the test
231
229
  // preload sets one), so the base URL is changed through the environment.
232
- process.env.CADET_PLATFORM_URL = "https://old.example.com";
230
+ process.env.CADET_CLOUD_URL = "https://old.example.com";
233
231
  fetchImpl = async () => new Response("no", { status: 401 });
234
232
 
235
- await expect(resolvePlatformAssistantId()).resolves.toBe("");
233
+ await expect(resolveCloudAssistantId()).resolves.toBe("");
236
234
  expect(fetchCalls).toHaveLength(1);
237
235
 
238
- process.env.CADET_PLATFORM_URL = BASE_URL;
236
+ process.env.CADET_CLOUD_URL = BASE_URL;
239
237
  fetchImpl = async () =>
240
238
  new Response(
241
239
  JSON.stringify({
@@ -246,20 +244,20 @@ describe("resolvePlatformAssistantId", () => {
246
244
  { status: 200 },
247
245
  );
248
246
 
249
- await expect(resolvePlatformAssistantId()).resolves.toBe(ASSISTANT_ID);
247
+ await expect(resolveCloudAssistantId()).resolves.toBe(ASSISTANT_ID);
250
248
  expect(fetchCalls).toHaveLength(2);
251
249
  expect(fetchCalls[1]?.url).toBe(
252
- `${BASE_URL}${PLATFORM_IDENTITY_VALIDATE_PATH}`,
250
+ `${BASE_URL}${CLOUD_IDENTITY_VALIDATE_PATH}`,
253
251
  );
254
252
  });
255
253
 
256
254
  test("retries validate after a failed attempt once the cooldown is cleared", async () => {
257
255
  process.env.ASSISTANT_API_KEY = "assistant-key";
258
- setPlatformBaseUrl(BASE_URL);
256
+ process.env.CADET_CLOUD_URL = BASE_URL;
259
257
  fetchImpl = async () => new Response("down", { status: 503 });
260
258
 
261
- await expect(resolvePlatformAssistantId()).resolves.toBe("");
262
- _resetPlatformIdentityEnsureForTests();
259
+ await expect(resolveCloudAssistantId()).resolves.toBe("");
260
+ _resetCloudIdentityEnsureForTests();
263
261
  fetchImpl = async () =>
264
262
  new Response(
265
263
  JSON.stringify({
@@ -270,13 +268,13 @@ describe("resolvePlatformAssistantId", () => {
270
268
  { status: 200 },
271
269
  );
272
270
 
273
- await expect(resolvePlatformAssistantId()).resolves.toBe(ASSISTANT_ID);
271
+ await expect(resolveCloudAssistantId()).resolves.toBe(ASSISTANT_ID);
274
272
  expect(fetchCalls).toHaveLength(2);
275
273
  });
276
274
 
277
275
  test("concurrent resolves share one in-flight validate", async () => {
278
276
  process.env.ASSISTANT_API_KEY = "assistant-key";
279
- setPlatformBaseUrl(BASE_URL);
277
+ process.env.CADET_CLOUD_URL = BASE_URL;
280
278
  let release!: (value: Response) => void;
281
279
  let notifyFetchStarted!: () => void;
282
280
  const fetchStarted = new Promise<void>((resolve) => {
@@ -289,8 +287,8 @@ describe("resolvePlatformAssistantId", () => {
289
287
  });
290
288
  };
291
289
 
292
- const first = resolvePlatformAssistantId();
293
- const second = resolvePlatformAssistantId();
290
+ const first = resolveCloudAssistantId();
291
+ const second = resolveCloudAssistantId();
294
292
  await fetchStarted;
295
293
  expect(fetchCalls).toHaveLength(1);
296
294
  release(
@@ -18,29 +18,26 @@ mock.module("../../security/secure-keys.js", () => ({
18
18
  }));
19
19
 
20
20
  const {
21
- getPlatformAssistantId,
22
- getPlatformBaseUrl,
23
- getPlatformOrganizationId,
24
- getPlatformUserId,
25
- setPlatformAssistantId,
26
- setPlatformBaseUrl,
27
- setPlatformOrganizationId,
28
- setPlatformUserId,
21
+ getCloudAssistantId,
22
+ getCloudOrganizationId,
23
+ getCloudUserId,
24
+ setCloudAssistantId,
25
+ setCloudOrganizationId,
26
+ setCloudUserId,
29
27
  } = await import("../env.js");
30
- const { _resetPlatformIdentityEnsureForTests } =
31
- await import("../platform-identity.js");
32
- const { rehydratePlatformCredentials } =
33
- await import("../platform-rehydration.js");
28
+ const { _resetCloudIdentityEnsureForTests } =
29
+ await import("../cloud-identity.js");
30
+ const { rehydrateCloudCredentials } = await import("../cloud-rehydration.js");
34
31
 
35
32
  const PROD_URL = "https://cloud.mycadet.ai";
36
33
  const ASSISTANT_ID = "11111111-2222-4333-8444-555555555555";
37
34
  const ORG_ID = "22222222-3333-4444-8555-666666666666";
38
35
  const USER_ID = "33333333-4444-4555-8666-777777777777";
39
36
 
40
- describe("rehydratePlatformCredentials", () => {
41
- const originalPlatformUrlEnv = process.env.CADET_PLATFORM_URL;
42
- const originalOrgEnv = process.env.PLATFORM_ORGANIZATION_ID;
43
- const originalUserEnv = process.env.PLATFORM_USER_ID;
37
+ describe("rehydrateCloudCredentials", () => {
38
+ const originalCloudUrlEnv = process.env.CADET_CLOUD_URL;
39
+ const originalOrgEnv = process.env.CLOUD_ORGANIZATION_ID;
40
+ const originalUserEnv = process.env.CLOUD_USER_ID;
44
41
  const originalAssistantApiKeyEnv = process.env.ASSISTANT_API_KEY;
45
42
  const originalFetch = globalThis.fetch;
46
43
  const fetchCalls: Array<{ url: string; init?: RequestInit }> = [];
@@ -65,87 +62,61 @@ describe("rehydratePlatformCredentials", () => {
65
62
  }) as unknown as typeof fetch;
66
63
  // Env vars take precedence over the rehydrated overrides for some fields;
67
64
  // clear them so the credential-store values are what we observe.
68
- delete process.env.CADET_PLATFORM_URL;
69
- delete process.env.PLATFORM_ORGANIZATION_ID;
70
- delete process.env.PLATFORM_USER_ID;
65
+ delete process.env.CADET_CLOUD_URL;
66
+ delete process.env.CLOUD_ORGANIZATION_ID;
67
+ delete process.env.CLOUD_USER_ID;
71
68
  delete process.env.ASSISTANT_API_KEY;
72
69
  // Reset in-memory overrides between tests.
73
- setPlatformBaseUrl(undefined);
74
- setPlatformAssistantId(undefined);
75
- setPlatformOrganizationId(undefined);
76
- setPlatformUserId(undefined);
77
- _resetPlatformIdentityEnsureForTests();
70
+ setCloudAssistantId(undefined);
71
+ setCloudOrganizationId(undefined);
72
+ setCloudUserId(undefined);
73
+ _resetCloudIdentityEnsureForTests();
78
74
  });
79
75
 
80
76
  afterEach(() => {
81
77
  globalThis.fetch = originalFetch;
82
- if (originalPlatformUrlEnv === undefined) {
83
- delete process.env.CADET_PLATFORM_URL;
78
+ if (originalCloudUrlEnv === undefined) {
79
+ delete process.env.CADET_CLOUD_URL;
84
80
  } else {
85
- process.env.CADET_PLATFORM_URL = originalPlatformUrlEnv;
81
+ process.env.CADET_CLOUD_URL = originalCloudUrlEnv;
86
82
  }
87
83
  if (originalOrgEnv === undefined) {
88
84
  delete process.env.PLATFORM_ORGANIZATION_ID;
89
85
  } else {
90
- process.env.PLATFORM_ORGANIZATION_ID = originalOrgEnv;
86
+ process.env.CLOUD_ORGANIZATION_ID = originalOrgEnv;
91
87
  }
92
88
  if (originalUserEnv === undefined) {
93
89
  delete process.env.PLATFORM_USER_ID;
94
90
  } else {
95
- process.env.PLATFORM_USER_ID = originalUserEnv;
91
+ process.env.CLOUD_USER_ID = originalUserEnv;
96
92
  }
97
93
  if (originalAssistantApiKeyEnv === undefined) {
98
94
  delete process.env.ASSISTANT_API_KEY;
99
95
  } else {
100
96
  process.env.ASSISTANT_API_KEY = originalAssistantApiKeyEnv;
101
97
  }
102
- setPlatformBaseUrl(undefined);
103
- setPlatformAssistantId(undefined);
104
- setPlatformOrganizationId(undefined);
105
- setPlatformUserId(undefined);
106
- });
107
-
108
- test("rehydrates the platform base URL from the credential store", async () => {
109
- mockSecureKeys[credentialKey("cadet", "platform_base_url")] = PROD_URL;
110
- mockSecureKeys[credentialKey("cadet", "platform_assistant_id")] =
111
- ASSISTANT_ID;
112
- mockSecureKeys[credentialKey("cadet", "platform_organization_id")] = ORG_ID;
113
- mockSecureKeys[credentialKey("cadet", "platform_user_id")] = USER_ID;
114
-
115
- await rehydratePlatformCredentials();
116
-
117
- expect(getPlatformBaseUrl()).toBe(PROD_URL);
118
- expect(getPlatformAssistantId()).toBe("");
119
- expect(getPlatformOrganizationId()).toBe("");
120
- expect(getPlatformUserId()).toBe("");
121
- });
122
-
123
- test("trims stored values before applying them", async () => {
124
- mockSecureKeys[credentialKey("cadet", "platform_base_url")] =
125
- ` ${PROD_URL} `;
126
-
127
- await rehydratePlatformCredentials();
128
-
129
- expect(getPlatformBaseUrl()).toBe(PROD_URL);
98
+ setCloudAssistantId(undefined);
99
+ setCloudOrganizationId(undefined);
100
+ setCloudUserId(undefined);
130
101
  });
131
102
 
132
103
  test("leaves overrides untouched when nothing is stored", async () => {
133
- await rehydratePlatformCredentials();
104
+ await rehydrateCloudCredentials();
134
105
 
135
- expect(getPlatformAssistantId()).toBe("");
136
- expect(getPlatformOrganizationId()).toBe("");
137
- expect(getPlatformUserId()).toBe("");
106
+ expect(getCloudAssistantId()).toBe("");
107
+ expect(getCloudOrganizationId()).toBe("");
108
+ expect(getCloudUserId()).toBe("");
138
109
  });
139
110
 
140
111
  test("a credential-store read failure does not throw", async () => {
141
- throwForKey = credentialKey("cadet", "platform_base_url");
112
+ throwForKey = credentialKey("cadet", "assistant_api_key");
142
113
 
143
- await expect(rehydratePlatformCredentials()).resolves.toBeUndefined();
144
- expect(getPlatformAssistantId()).toBe("");
114
+ await expect(rehydrateCloudCredentials()).resolves.toBeUndefined();
115
+ expect(getCloudAssistantId()).toBe("");
145
116
  });
146
117
 
147
- test("trades the assistant API key for ids via platform validate", async () => {
148
- mockSecureKeys[credentialKey("cadet", "platform_base_url")] = PROD_URL;
118
+ test("trades the assistant API key for ids via cloud validate", async () => {
119
+ process.env.CADET_CLOUD_URL = PROD_URL;
149
120
  mockSecureKeys[credentialKey("cadet", "assistant_api_key")] =
150
121
  "assistant-key";
151
122
  fetchImpl = async () =>
@@ -158,7 +129,7 @@ describe("rehydratePlatformCredentials", () => {
158
129
  { status: 200 },
159
130
  );
160
131
 
161
- await rehydratePlatformCredentials();
132
+ await rehydrateCloudCredentials();
162
133
 
163
134
  expect(fetchCalls).toHaveLength(1);
164
135
  expect(fetchCalls[0]?.url).toBe(
@@ -166,13 +137,12 @@ describe("rehydratePlatformCredentials", () => {
166
137
  );
167
138
  const headers = new Headers(fetchCalls[0]?.init?.headers);
168
139
  expect(headers.get("Authorization")).toBe("Api-Key assistant-key");
169
- expect(getPlatformAssistantId()).toBe(ASSISTANT_ID);
170
- expect(getPlatformOrganizationId()).toBe(ORG_ID);
171
- expect(getPlatformUserId()).toBe(USER_ID);
140
+ expect(getCloudAssistantId()).toBe(ASSISTANT_ID);
141
+ expect(getCloudOrganizationId()).toBe(ORG_ID);
142
+ expect(getCloudUserId()).toBe(USER_ID);
172
143
  });
173
144
 
174
145
  test("validate ids are used when the vault also has a copy", async () => {
175
- mockSecureKeys[credentialKey("cadet", "platform_base_url")] = PROD_URL;
176
146
  mockSecureKeys[credentialKey("cadet", "assistant_api_key")] =
177
147
  "assistant-key";
178
148
  mockSecureKeys[credentialKey("cadet", "platform_assistant_id")] =
@@ -187,27 +157,24 @@ describe("rehydratePlatformCredentials", () => {
187
157
  { status: 200 },
188
158
  );
189
159
 
190
- await rehydratePlatformCredentials();
160
+ await rehydrateCloudCredentials();
191
161
 
192
- expect(getPlatformAssistantId()).toBe(ASSISTANT_ID);
162
+ expect(getCloudAssistantId()).toBe(ASSISTANT_ID);
193
163
  });
194
164
 
195
165
  test("does not populate ids from the vault when validate is unreachable", async () => {
196
- mockSecureKeys[credentialKey("cadet", "platform_base_url")] = PROD_URL;
197
166
  mockSecureKeys[credentialKey("cadet", "assistant_api_key")] =
198
167
  "assistant-key";
199
168
  mockSecureKeys[credentialKey("cadet", "platform_assistant_id")] =
200
169
  ASSISTANT_ID;
201
- mockSecureKeys[credentialKey("cadet", "platform_organization_id")] = ORG_ID;
202
- mockSecureKeys[credentialKey("cadet", "platform_user_id")] = USER_ID;
203
170
  fetchImpl = async () => {
204
171
  throw new Error("network down");
205
172
  };
206
173
 
207
- await rehydratePlatformCredentials();
174
+ await rehydrateCloudCredentials();
208
175
 
209
- expect(getPlatformAssistantId()).toBe("");
210
- expect(getPlatformOrganizationId()).toBe("");
211
- expect(getPlatformUserId()).toBe("");
176
+ expect(getCloudAssistantId()).toBe("");
177
+ expect(getCloudOrganizationId()).toBe("");
178
+ expect(getCloudUserId()).toBe("");
212
179
  });
213
180
  });
@@ -52,7 +52,7 @@ describe("getEffectiveProfiles", () => {
52
52
  }
53
53
  });
54
54
 
55
- test("every cadet-column body translates to a managed dispatch target", () => {
55
+ test("every cadet-column body translates to a cloud dispatch target", () => {
56
56
  for (const key of [...DEFAULT_PROFILE_KEYS, OS_BETA_PROFILE_KEY]) {
57
57
  const body = CODE_DEFAULT_PROFILE_ENTRIES[key];
58
58
  const identity = resolveRoutingIdentity(body.provider, body.model);
@@ -61,7 +61,7 @@ describe("getEffectiveProfiles", () => {
61
61
  }
62
62
  });
63
63
 
64
- test("the managed Jev profile routes jev-latest through TypeSafe and is managed-only", () => {
64
+ test("the cloud Jev profile routes jev-latest through TypeSafe and is managed-only", () => {
65
65
  const jev = CODE_DEFAULT_PROFILE_ENTRIES["jev-managed"];
66
66
  expect(jev.model).toBe("jev-latest");
67
67
  expect(jev.provider_connection).toBeUndefined();
@@ -80,7 +80,7 @@ describe("getEffectiveProfiles", () => {
80
80
  ).toBeUndefined();
81
81
  });
82
82
 
83
- test("the Auto profile is the managed Balanced body relabeled, managed-only, and flag-gated", () => {
83
+ test("the Auto profile is the cloud Balanced body relabeled, managed-only, and flag-gated", () => {
84
84
  const auto = CODE_DEFAULT_PROFILE_ENTRIES.auto;
85
85
  const balanced = CODE_DEFAULT_PROFILE_ENTRIES.balanced;
86
86
  expect(auto.label).toBe("Auto");
@@ -109,7 +109,7 @@ describe("getEffectiveProfiles", () => {
109
109
  ).toContain("auto");
110
110
  });
111
111
 
112
- test("the conversation view drops the managed Jev profile but keeps it selectable for call sites", () => {
112
+ test("the conversation view drops the cloud Jev profile but keeps it selectable for call sites", () => {
113
113
  expect(
114
114
  Object.keys(getConversationProfilesForProvider(undefined)),
115
115
  ).not.toContain("jev-managed");
@@ -121,7 +121,7 @@ describe("getEffectiveProfiles", () => {
121
121
  ).toContain("balanced");
122
122
  });
123
123
 
124
- test("the managed Balanced profile routes GLM 5.3 Flash through Fireworks", () => {
124
+ test("the cloud Balanced profile routes GLM 5.3 Flash through Fireworks", () => {
125
125
  const balanced = CODE_DEFAULT_PROFILE_ENTRIES.balanced;
126
126
  expect(balanced.model).toBe("accounts/fireworks/models/glm-5p3-flash");
127
127
  expect(resolveRoutingIdentity(balanced.provider, balanced.model)).toEqual({
@@ -130,7 +130,7 @@ describe("getEffectiveProfiles", () => {
130
130
  });
131
131
  });
132
132
 
133
- test("the managed Quality profile routes GPT-5.6 Sol through OpenAI", () => {
133
+ test("the cloud Quality profile routes GPT-5.6 Sol through OpenAI", () => {
134
134
  const quality = CODE_DEFAULT_PROFILE_ENTRIES["quality-optimized"];
135
135
  expect(quality.model).toBe("gpt-5.6-sol");
136
136
  expect(resolveRoutingIdentity(quality.provider, quality.model)).toEqual({
@@ -150,7 +150,7 @@ describe("getEffectiveProfiles", () => {
150
150
  expect(getEffectiveProfile({}, OS_BETA_PROFILE_KEY)).toBeUndefined();
151
151
  });
152
152
 
153
- test("a managed-source entry resolves to the code body with only label/status/topP from disk", () => {
153
+ test("a cloud-source entry resolves to the code body with only label/status/topP from disk", () => {
154
154
  const workspace: Record<string, ProfileEntry> = {
155
155
  balanced: {
156
156
  source: "managed",
@@ -355,7 +355,7 @@ describe("resolver integration", () => {
355
355
  ).not.toThrow();
356
356
  });
357
357
 
358
- test("a user profile cannot shadow a managed backup profile", () => {
358
+ test("a user profile cannot shadow a cloud backup profile", () => {
359
359
  // Every backup is code-owned for the same reason `latency-optimized` is:
360
360
  // a backup earns its place by pinning a different upstream than the
361
361
  // primary it backs, and a user shadow can repoint it at the primary's
@@ -381,7 +381,7 @@ describe("resolver integration", () => {
381
381
  expect(effective?.model).not.toBe("claude-opus-4-6");
382
382
  expect(String(effective?.provider)).toBe("cadet");
383
383
  expect(effective?.provider_connection).toBeUndefined();
384
- // Resolution through the managed column agrees with the listing.
384
+ // Resolution through the cloud column agrees with the listing.
385
385
  const resolved = resolveDefaultProfileForProvider(llm.profiles, key, {
386
386
  provider: "cadet",
387
387
  });
@@ -450,7 +450,7 @@ describe("schema validation", () => {
450
450
  // User-endpoint and keyless providers have no code-resolvable default
451
451
  // profile implementation. The blob is a partial fragment (stripping the
452
452
  // provider would drop the blob's other fields), so they stay on disk and
453
- // the read clamps them to null — resolution treats that as the managed
453
+ // the read clamps them to null — resolution treats that as the cloud
454
454
  // column.
455
455
  for (const provider of ["openai-compatible", "ollama"]) {
456
456
  const blobProvider = LLMSchema.parse({ default: { provider } }).default
@@ -569,7 +569,7 @@ describe("resolveDefaultProfileForProvider", () => {
569
569
  expect(entry?.model).toBe(resolveModelIntent("anthropic", "balanced"));
570
570
  });
571
571
 
572
- test("the cadet column keeps its underlying dispatch provider and managed connection", () => {
572
+ test("the cadet column keeps its underlying dispatch provider and cloud connection", () => {
573
573
  const entry = resolveDefaultProfileForProvider(
574
574
  undefined,
575
575
  "balanced",
@@ -631,7 +631,7 @@ describe("resolveDefaultProfileForProvider", () => {
631
631
  }
632
632
  });
633
633
 
634
- test("a managed-source stub contributes only label/status/topP over the provider-resolved body", () => {
634
+ test("a cloud-source stub contributes only label/status/topP over the provider-resolved body", () => {
635
635
  const workspace: Record<string, ProfileEntry> = {
636
636
  balanced: {
637
637
  source: "managed",
@@ -39,7 +39,7 @@ afterAll(() => {
39
39
  mock.restore();
40
40
  });
41
41
 
42
- import { CADET_MANAGED_CONNECTION_NAME } from "../../providers/cadet-model-routing.js";
42
+ import { CADET_CLOUD_CONNECTION_NAME } from "../../providers/cadet-model-routing.js";
43
43
  import {
44
44
  DefaultProviderSelectionSchema,
45
45
  resolveDefaultConnectionName,
@@ -106,7 +106,7 @@ describe("LLMSchema.default (the base blob)", () => {
106
106
  // The blob is a partial fragment with no `.catch`: a provider with no
107
107
  // matrix column stays on disk (stripping it would drop the blob's other
108
108
  // fields), and the READ clamps it to null — resolution treats that as the
109
- // managed column.
109
+ // cloud column.
110
110
  test("a blob whose provider has no matrix column survives parse and clamps", () => {
111
111
  const parsed = LLMSchema.parse({
112
112
  default: { provider: "openai-compatible", model: "gpt-x" },
@@ -161,9 +161,9 @@ describe("resolveDefaultConnectionName", () => {
161
161
  ).toBe("my-connection");
162
162
  });
163
163
 
164
- test("cadet resolves to the managed connection name", () => {
164
+ test("cadet resolves to the cloud connection name", () => {
165
165
  expect(resolveDefaultConnectionName({ provider: "cadet" })).toBe(
166
- CADET_MANAGED_CONNECTION_NAME,
166
+ CADET_CLOUD_CONNECTION_NAME,
167
167
  );
168
168
  });
169
169