@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
@@ -1,4 +1,4 @@
1
- import { getManagedUpstream } from "../providers/cadet-model-routing.js";
1
+ import { getCloudUpstream } from "../providers/cadet-model-routing.js";
2
2
  import { ROUTING_IDENTITY_PROVIDERS } from "../providers/inference/auth.js";
3
3
  import {
4
4
  catalogMaxOutputTokens,
@@ -16,10 +16,10 @@ import {
16
16
  type DefaultProfileKey,
17
17
  type DefaultProfileProvider,
18
18
  FALLBACK_PROFILE_BY_KEY,
19
+ isCloudOnlyProfileKey,
19
20
  isDefaultProfileKey,
20
21
  isDefaultProfileProvider,
21
22
  isFlagGatedProfileKey,
22
- isManagedOnlyProfileKey,
23
23
  JEV_MANAGED_PROFILE_KEY,
24
24
  OS_BETA_PROFILE_KEY,
25
25
  } from "./default-profile-names.js";
@@ -44,10 +44,10 @@ import {
44
44
  * structured as an intent × provider matrix: each default profile is an
45
45
  * intent, and each provider that can serve default profiles has a concrete
46
46
  * implementation of that intent (model, token budget, effort, thinking).
47
- * The `cadet` column is the platform-managed implementation and the
47
+ * The `cadet` column is the cloud-managed implementation and the
48
48
  * `chatgpt` column is the ChatGPT-subscription implementation; the other
49
49
  * columns are the BYOK implementations resolved through `llm.default`
50
- * on off-platform installs.
50
+ * on off-cloud installs.
51
51
  *
52
52
  * Nothing materializes default bodies into workspace config: runtime readers
53
53
  * resolve profiles through `getEffectiveProfiles`/`getEffectiveProfile`
@@ -75,7 +75,7 @@ export type DefaultProfileTemplate = Omit<
75
75
  type ProfileImpls = Record<DefaultProfileKey, DefaultProfileTemplate>;
76
76
 
77
77
  /**
78
- * The `cadet` column: platform-managed implementations, stamped
78
+ * The `cadet` column: cloud-managed implementations, stamped
79
79
  * `provider: "cadet"` — dispatch derives the upstream from the model.
80
80
  * Models are pinned (never intents): the intent tables are keyed by
81
81
  * concrete dispatch providers, and the model is what selects the upstream.
@@ -140,17 +140,17 @@ const CADET_PROFILE_IMPLS: ProfileImpls = {
140
140
  },
141
141
  },
142
142
  "latency-optimized": {
143
- // The managed latency class, also what the live-voice front model runs on.
143
+ // The cloud latency class, also what the live-voice front model runs on.
144
144
  // Its leading tokens are the turn-taking verdict, so what this profile
145
145
  // optimizes is the tail of time-to-first-token rather than the median: a
146
146
  // verdict slower than `voice.frontModel.endpointDecisionTimeoutMs`
147
147
  // trips the speculative fail-open commit in live-voice-session.ts, which
148
148
  // is audible dead air.
149
149
  //
150
- // Two constraints bind the model id. Its managed credentials must be
150
+ // Two constraints bind the model id. Its cloud credentials must be
151
151
  // provisioned in every environment, and it alone selects the upstream:
152
152
  // `provider` below is the provider-agnostic managed sentinel, so
153
- // `getManagedUpstream` resolves the real upstream from the model's catalog
153
+ // `getCloudUpstream` resolves the real upstream from the model's catalog
154
154
  // owner. This model is the one live-voice TTFT drives validated.
155
155
  model: "gpt-5.6-luna",
156
156
  provider: "cadet",
@@ -172,7 +172,7 @@ const CADET_PROFILE_IMPLS: ProfileImpls = {
172
172
  };
173
173
 
174
174
  /**
175
- * The managed backup profiles, one per default profile: the route a primary's
175
+ * The cloud backup profiles, one per default profile: the route a primary's
176
176
  * `fallbackProfile` pointer names. Cadet column only: backups never
177
177
  * materialize for BYOK or chatgpt installs. Like the primaries, models are
178
178
  * pinned (never intents) and stamped `provider: "cadet"`, so dispatch
@@ -392,8 +392,8 @@ export const PROFILE_IMPLS: Record<
392
392
  >;
393
393
 
394
394
  /**
395
- * The managed Jev profile: TypeSafe's System One decision model through the
396
- * platform proxy. Managed column only, because the platform is the only
395
+ * The cloud Jev profile: TypeSafe's System One decision model through the
396
+ * cloud proxy. Managed column only, because the cloud is the only
397
397
  * route the catalog offers for it here, and never a conversation profile,
398
398
  * because `jev-latest` returns structured answers rather than chat text
399
399
  * (`supportsText: false` on the `typesafe` catalog entry). Its budget is
@@ -412,7 +412,7 @@ export const JEV_MANAGED_PROFILE_TEMPLATE: DefaultProfileTemplate = {
412
412
  };
413
413
 
414
414
  /**
415
- * The Auto profile: the managed Balanced body under its own label, so that
415
+ * The Auto profile: the cloud Balanced body under its own label, so that
416
416
  * anything dispatching the name directly runs Balanced. The per-message
417
417
  * choice among the defaults happens in the agent loop, not here (see
418
418
  * `AUTO_PROFILE_KEY`). No `fallbackProfile`: the code-owned fallback mapping
@@ -433,8 +433,8 @@ export const AUTO_PROFILE_TEMPLATE: DefaultProfileTemplate = (() => {
433
433
  })();
434
434
 
435
435
  /**
436
- * Managed profiles, i.e. the `cadet` column keyed by profile name, plus the
437
- * managed backup profiles and the managed Jev profile. Backups come after the
436
+ * Cloud profiles, i.e. the `cadet` column keyed by profile name, plus the
437
+ * managed backup profiles and the cloud Jev profile. Backups come after the
438
438
  * primaries, which is what places them after the primaries in the seeded
439
439
  * `profileOrder`: the seeder inserts missing managed keys in this record's
440
440
  * order. Keyed by the user-facing defaults only: an internal profile is
@@ -490,7 +490,7 @@ export const USER_PROFILE_TEMPLATES: Record<string, DefaultProfileTemplate> =
490
490
  );
491
491
 
492
492
  /**
493
- * Flag-gated managed profile. NOT in `MANAGED_PROFILE_TEMPLATES`, so the
493
+ * Flag-gated cloud profile. NOT in `MANAGED_PROFILE_TEMPLATES`, so the
494
494
  * unconditional boot seed never creates it. Reconciled in/out by
495
495
  * the flag-gated profile reconcile based on the `os-beta` feature flag.
496
496
  * Balanced defaults, with lower reasoning effort while the profile is in beta.
@@ -537,7 +537,7 @@ export const CODE_OWNED_PROFILE_NAMES = new Set<string>([
537
537
  JEV_MANAGED_PROFILE_KEY,
538
538
  ]);
539
539
 
540
- // All managed profiles, including the flag-gated os-beta, are invariant:
540
+ // All cloud profiles, including the flag-gated os-beta, are invariant:
541
541
  // their MANAGED-SOURCE entries are read-only to user-facing writes except
542
542
  // re-enabling a disabled one (enforced at commitConfigWrite). A user-owned
543
543
  // profile sharing one of these names is NOT locked — invariance is gated on
@@ -614,14 +614,14 @@ for (const key of DEFAULT_PROFILE_KEYS) {
614
614
  if (impl.model != null) {
615
615
  const routable =
616
616
  impl.provider === "cadet"
617
- ? getManagedUpstream(impl.model) !== null
617
+ ? getCloudUpstream(impl.model) !== null
618
618
  : impl.provider === "chatgpt"
619
619
  ? isCodexSubscriptionModel(impl.model)
620
620
  : isModelInCatalog(impl.provider, impl.model);
621
621
  if (!routable) {
622
622
  throw new Error(
623
623
  `PROFILE_IMPLS[${key}][${provider}] references model "${impl.model}" ` +
624
- `which is not ${impl.provider === "cadet" ? "served by any managed upstream" : impl.provider === "chatgpt" ? "in CODEX_SUBSCRIPTION_MODEL_IDS" : `in PROVIDER_CATALOG for provider "${impl.provider}"`}. ` +
624
+ `which is not ${impl.provider === "cadet" ? "served by any cloud upstream" : impl.provider === "chatgpt" ? "in CODEX_SUBSCRIPTION_MODEL_IDS" : `in PROVIDER_CATALOG for provider "${impl.provider}"`}. ` +
625
625
  `Update model-catalog.ts or default-profile-catalog.ts.`,
626
626
  );
627
627
  }
@@ -630,31 +630,29 @@ for (const key of DEFAULT_PROFILE_KEYS) {
630
630
  }
631
631
 
632
632
  // Backup profiles get the same eager verification as the cadet column: a
633
- // pinned model that no managed upstream serves would make the fallback route
633
+ // pinned model that no cloud upstream serves would make the fallback route
634
634
  // undispatchable exactly when it is needed. The cross-provider rule (backup
635
635
  // upstream differs from the primary's) is asserted in
636
636
  // __tests__/default-profile-catalog-fallback.test.ts.
637
637
  for (const key of BACKUP_PROFILE_KEYS) {
638
638
  const impl = BACKUP_PROFILE_IMPLS[key];
639
- if (impl.model == null || getManagedUpstream(impl.model) === null) {
639
+ if (impl.model == null || getCloudUpstream(impl.model) === null) {
640
640
  throw new Error(
641
641
  `BACKUP_PROFILE_IMPLS[${key}] references model "${impl.model ?? ""}" ` +
642
- `which is not served by any managed upstream. ` +
642
+ `which is not served by any cloud upstream. ` +
643
643
  `Update model-catalog.ts or default-profile-catalog.ts.`,
644
644
  );
645
645
  }
646
646
  }
647
647
 
648
- // The managed Jev profile pins a model the platform proxy must front, and the
648
+ // The cloud Jev profile pins a model the cloud proxy must front, and the
649
649
  // judges depend on it being the non-text TypeSafe model rather than a chat
650
650
  // model that happens to share the id.
651
- if (
652
- getManagedUpstream(JEV_MANAGED_PROFILE_TEMPLATE.model ?? "") !== "typesafe"
653
- ) {
651
+ if (getCloudUpstream(JEV_MANAGED_PROFILE_TEMPLATE.model ?? "") !== "typesafe") {
654
652
  throw new Error(
655
653
  `JEV_MANAGED_PROFILE_TEMPLATE references model "${JEV_MANAGED_PROFILE_TEMPLATE.model ?? ""}" ` +
656
- `which the managed route does not serve through typesafe. ` +
657
- `Update model-catalog.ts, platform-proxy/constants.ts, or default-profile-catalog.ts.`,
654
+ `which the cloud route does not serve through typesafe. ` +
655
+ `Update model-catalog.ts, cloud-proxy/constants.ts, or default-profile-catalog.ts.`,
658
656
  );
659
657
  }
660
658
 
@@ -706,8 +704,8 @@ function buildDefaultProfileEntries(): Record<string, ProfileEntry> {
706
704
 
707
705
  /**
708
706
  * The materialized code-default bodies keyed by profile name — the
709
- * code-owned content a managed-source workspace entry resolves to. These are
710
- * the `cadet` column (the managed implementations).
707
+ * code-owned content a cloud-source workspace entry resolves to. These are
708
+ * the `cadet` column (the cloud implementations).
711
709
  *
712
710
  * Materialized once at module load, so this is the shipped catalog. The
713
711
  * provider-aware resolvers (`resolveDefaultProfileForProvider`,
@@ -773,13 +771,13 @@ function resolveAgainstBody(
773
771
  if (body == null) {
774
772
  // A managed stub is the workspace's slot for a code-owned profile, never
775
773
  // a profile of its own, so with no body behind it there is nothing to
776
- // resolve. Only a managed-only name (a backup, the Jev profile) reaches
774
+ // resolve. Only a cloud-only name (a backup, the Jev profile) reaches
777
775
  // this branch with a stub (the default keys always have a body), and it
778
776
  // reaches it on the columns where those profiles do not exist. Resolving
779
777
  // to the stub would list a profile with no provider or model and let a
780
778
  // reference to it look valid, which is precisely what `LLMSchema` rejects
781
779
  // on those columns.
782
- if (isManagedOnlyProfileKey(name) && workspace?.source === "managed") {
780
+ if (isCloudOnlyProfileKey(name) && workspace?.source === "managed") {
783
781
  return undefined;
784
782
  }
785
783
  return workspace;
@@ -865,14 +863,14 @@ function defaultProfileBodyForProvider(
865
863
  defaultBlob: LLMDefaultConfig | undefined,
866
864
  ): ProfileEntry | undefined {
867
865
  if (!isDefaultProfileKey(name)) {
868
- // Backup profiles and the managed Jev profile exist on the managed
866
+ // Backup profiles and the cloud Jev profile exist on the cloud
869
867
  // (`cadet`) column only: under a BYOK or chatgpt default provider the
870
868
  // primaries carry no `fallbackProfile` pointers, and neither may
871
869
  // materialize, since the install may hold no credential for their
872
- // provider. A blob with no usable selection resolves to the managed
870
+ // provider. A blob with no usable selection resolves to the cloud
873
871
  // column, so it keeps them.
874
872
  if (
875
- isManagedOnlyProfileKey(name) &&
873
+ isCloudOnlyProfileKey(name) &&
876
874
  !backupProfilesResolveUnderDefaultProvider(defaultBlob)
877
875
  ) {
878
876
  return undefined;
@@ -882,7 +880,7 @@ function defaultProfileBodyForProvider(
882
880
  // The blob's `provider` is the loose provider set: only a value the intent
883
881
  // × provider matrix can implement selects a column; anything else — no
884
882
  // provider, a keyless ollama, a user-endpoint openai-compatible — resolves
885
- // to the managed column, which is what the frozen bodies carry.
883
+ // to the cloud column, which is what the frozen bodies carry.
886
884
  const provider = defaultBlob?.provider;
887
885
  if (provider == null || !isDefaultProviderChoice(provider)) {
888
886
  return CODE_DEFAULT_PROFILE_ENTRIES[name];
@@ -925,12 +923,12 @@ function clampMaxTokensToModelCap(body: ProfileEntry): ProfileEntry {
925
923
  * record all runtime readers of `llm.profiles` should consume; the raw
926
924
  * workspace record is a write-path concern.
927
925
  *
928
- * Deliberately provider-agnostic: it lists the managed backups whatever
926
+ * Deliberately provider-agnostic: it lists the cloud backups whatever
929
927
  * `llm.default` says, because it resolves names against the passed
930
928
  * catalog alone and never reads config. Internal resolution and reference
931
929
  * validation use `getEffectiveProfilesForProvider`; user-facing selectors use
932
930
  * `getUserSelectableProfilesForProvider`, which additionally removes backups
933
- * from the managed column. Keeping those views separate lets automatic
931
+ * from the cloud column. Keeping those views separate lets automatic
934
932
  * fallback resolve an internal route without offering it as a direct choice.
935
933
  */
936
934
  export function getEffectiveProfiles(
@@ -976,7 +974,7 @@ export function getEffectiveProfilesForProvider(
976
974
  continue;
977
975
  }
978
976
  // Nothing resolved, so the name must not survive from the workspace
979
- // spread above: a backup carrying only a managed stub on a column that
977
+ // spread above: a backup carrying only a cloud stub on a column that
980
978
  // has no backups would otherwise be listed as an available profile with
981
979
  // no provider or model behind it.
982
980
  delete effective[name];
@@ -27,10 +27,10 @@ export const DEFAULT_PROFILE_KEYS = [
27
27
  export type DefaultProfileKey = (typeof DEFAULT_PROFILE_KEYS)[number];
28
28
 
29
29
  /**
30
- * Stable keys of the managed backup profiles, one per default profile.
30
+ * Stable keys of the cloud backup profiles, one per default profile.
31
31
  * Deliberately NOT part of `DEFAULT_PROFILE_KEYS`: that array drives picker
32
32
  * order and the intent x provider matrix, while backups are companions of
33
- * the managed (`cadet`) column only. Each backup pins a model at a
33
+ * the cloud (`cadet`) column only. Each backup pins a model at a
34
34
  * different upstream provider than its primary, so an outage at the
35
35
  * primary's provider can be served by re-sending on the backup (see the
36
36
  * `fallbackProfile` field on `ProfileEntry`).
@@ -68,9 +68,9 @@ export function isBackupProfileKey(value: string): value is BackupProfileKey {
68
68
  }
69
69
 
70
70
  /**
71
- * Managed profile for the TypeSafe decision model (Jev). Deliberately NOT
71
+ * Cloud profile for the TypeSafe decision model (Jev). Deliberately NOT
72
72
  * part of `DEFAULT_PROFILE_KEYS`: it has no BYOK column, because the
73
- * platform serves Jev only through the managed route, and its model returns
73
+ * platform serves Jev only through the cloud route, and its model returns
74
74
  * structured answers rather than chat text, so it can never be the active
75
75
  * or conversation profile. It exists as a pin target for the call sites
76
76
  * that consume a yes/no verdict (the voice judges, the memory selector).
@@ -78,12 +78,12 @@ export function isBackupProfileKey(value: string): value is BackupProfileKey {
78
78
  export const JEV_MANAGED_PROFILE_KEY = "jev-managed";
79
79
 
80
80
  /**
81
- * Managed profile that picks one of the default profiles per message: the
81
+ * Cloud profile that picks one of the default profiles per message: the
82
82
  * agent loop asks Jev which default fits the user's latest message and runs
83
83
  * the turn on that profile (`daemon/auto-profile-router.ts`). Its own body
84
- * is the managed Balanced body, so any path that dispatches the name
84
+ * is the cloud Balanced body, so any path that dispatches the name
85
85
  * directly, or a turn on which the router is unavailable, runs Balanced.
86
- * Managed column only, because the router depends on the managed Jev route,
86
+ * Managed column only, because the router depends on the cloud Jev route,
87
87
  * and flag-gated: it exists only while the `auto-profile` feature flag has
88
88
  * reconciled it into the workspace (see `sync-gated-profiles.ts`).
89
89
  * Deliberately NOT part of `DEFAULT_PROFILE_KEYS`: it is a selection over
@@ -108,7 +108,7 @@ export const JEV_MANAGED_PROFILE_CALL_SITES = [
108
108
  ] as const;
109
109
 
110
110
  /**
111
- * Keys whose profile exists on the managed (`cadet`) column only: the
111
+ * Keys whose profile exists on the cloud (`cadet`) column only: the
112
112
  * backups, the Jev profile, and the Auto profile. Under a BYOK or ChatGPT
113
113
  * default provider these names have no body to resolve to.
114
114
  */
@@ -118,7 +118,7 @@ export const MANAGED_ONLY_PROFILE_KEYS = [
118
118
  AUTO_PROFILE_KEY,
119
119
  ] as const;
120
120
 
121
- export function isManagedOnlyProfileKey(value: string): boolean {
121
+ export function isCloudOnlyProfileKey(value: string): boolean {
122
122
  return (MANAGED_ONLY_PROFILE_KEYS as readonly string[]).includes(value);
123
123
  }
124
124
 
@@ -132,7 +132,7 @@ export function isManagedOnlyProfileKey(value: string): boolean {
132
132
  export const OS_BETA_PROFILE_KEY = "os-beta";
133
133
 
134
134
  /**
135
- * Managed profiles that resolve only while a workspace entry exists, because
135
+ * Cloud profiles that resolve only while a workspace entry exists, because
136
136
  * a feature flag reconciles that entry in and out. Never always-valid
137
137
  * reference targets: a reference to one is valid only with the entry present.
138
138
  */
@@ -147,7 +147,7 @@ export function isFlagGatedProfileKey(value: string): boolean {
147
147
 
148
148
  /**
149
149
  * The named columns of the intent × provider matrix. `cadet` is the
150
- * platform-managed column (routed through the single `cadet` connection to
150
+ * cloud column (routed through the single `cadet` connection to
151
151
  * an underlying provider per profile) and `chatgpt` is the
152
152
  * ChatGPT-subscription column (routed through the `chatgpt-subscription`
153
153
  * connection to the Codex endpoint); the rest are BYOK columns whose
@@ -1,4 +1,4 @@
1
- import { CADET_MANAGED_CONNECTION_NAME } from "../providers/cadet-model-routing.js";
1
+ import { CADET_CLOUD_CONNECTION_NAME } from "../providers/cadet-model-routing.js";
2
2
  import { CHATGPT_SUBSCRIPTION_CONNECTION_NAME } from "../providers/inference/auth.js";
3
3
  import {
4
4
  isDefaultProviderChoice,
@@ -23,7 +23,7 @@ export function resolveDefaultConnectionName(
23
23
  return dp.provider_connection;
24
24
  }
25
25
  if (provider === "cadet") {
26
- return CADET_MANAGED_CONNECTION_NAME;
26
+ return CADET_CLOUD_CONNECTION_NAME;
27
27
  }
28
28
  if (provider === "chatgpt") {
29
29
  return CHATGPT_SUBSCRIPTION_CONNECTION_NAME;
@@ -41,7 +41,7 @@ const StoredDefaultBlobSchema = z
41
41
  * `setDefaultProvider` persists into the blob. Kept separate from the stored
42
42
  * blob shape on purpose — the route rejects anything the matrix cannot
43
43
  * implement (a partial blob tolerates it and clamps at read), so a bogus
44
- * provider fails loudly here instead of silently resolving to the managed
44
+ * provider fails loudly here instead of silently resolving to the cloud
45
45
  * column.
46
46
  */
47
47
  export const DefaultProviderSelectionSchema = z.object({
@@ -54,35 +54,37 @@ export function getIsContainerized(): boolean {
54
54
  }
55
55
 
56
56
  /**
57
- * IS_PLATFORM — boolean, default: false
58
- * When true, indicates the assistant is running as a platform-managed
59
- * remote instance. Controls platform-specific behaviors like webhook
60
- * callback registration and blocking `platform disconnect`.
57
+ * IS_CLOUD — boolean, default: false
58
+ * When true, indicates the assistant is running as a Cadet Cloud-managed
59
+ * remote instance. Controls cloud-specific behaviors like webhook
60
+ * callback registration and blocking `cloud disconnect`.
61
61
  *
62
62
  * Separate from IS_CONTAINERIZED because local Docker assistants are
63
63
  * containerized (need CES sidecar, gateway trust store, etc.) but are
64
- * not platform-managed.
64
+ * not cloud-managed. Reads the legacy IS_CLOUD name as a fallback so
65
+ * deployments provisioned before the rename keep working.
65
66
  */
66
- export function getIsPlatform(): boolean {
67
- return flag("IS_PLATFORM");
67
+ export function getIsCloud(): boolean {
68
+ return flag("IS_CLOUD") || flag("IS_CLOUD");
68
69
  }
69
70
 
70
71
  /**
71
- * Whether this assistant is running as a platform-managed remote instance.
72
+ * Whether this assistant is running as a Cadet Cloud-managed remote instance.
72
73
  */
73
- export function isPlatformRemote(): boolean {
74
- return getIsPlatform();
74
+ export function isCloudRemote(): boolean {
75
+ return getIsCloud();
75
76
  }
76
77
 
77
78
  /**
78
- * CADET_DISABLE_PLATFORM — boolean, default: false
79
- * When true, all outbound platform API calls in local mode are suppressed.
80
- * The daemon, gateway, and web UI each no-op platform requests with a
81
- * debug log. Has no effect when IS_PLATFORM is true (platform-managed
82
- * instances always connect to the platform).
79
+ * CADET_DISABLE_CLOUD — boolean, default: false
80
+ * When true, all outbound cloud API calls in local mode are suppressed.
81
+ * The daemon, gateway, and web UI each no-op cloud requests with a
82
+ * debug log. Has no effect when IS_CLOUD is true (cloud-managed
83
+ * instances always connect to the cloud). Reads the legacy
84
+ * CADET_DISABLE_CLOUD name as a fallback for older deployments.
83
85
  */
84
- export function getDisablePlatform(): boolean {
85
- return flag("CADET_DISABLE_PLATFORM");
86
+ export function getDisableCloud(): boolean {
87
+ return flag("CADET_DISABLE_CLOUD") || flag("CADET_DISABLE_CLOUD");
86
88
  }
87
89
 
88
90
  /**
@@ -96,14 +98,14 @@ export function getDeviceIdOverride(): string | undefined {
96
98
  }
97
99
 
98
100
  // ── Profiler env vars ───────────────────────────────────────────────────
99
- // These are injected by the platform when running a managed assistant in
101
+ // These are injected by the cloud when running a cloud assistant in
100
102
  // profiler mode. The runtime uses them to locate, scope, and budget-limit
101
103
  // profiler output on the workspace volume.
102
104
 
103
105
  /**
104
106
  * CADET_CPU_LIMIT — string (K8s resource format), default: undefined
105
107
  * The CPU resource limit for the container (e.g. "2000m", "2").
106
- * Set by the platform StatefulSet template to the exact K8s CPU limit.
108
+ * Set by the cloud StatefulSet template to the exact K8s CPU limit.
107
109
  * Used by the health endpoint to report accurate CPU core count inside
108
110
  * gVisor sandboxes where cgroup files may expose the host node's CPUs.
109
111
  */
@@ -187,7 +189,7 @@ const KNOWN_CADET_VARS = new Set([
187
189
  "CADET_DESKTOP_APP",
188
190
  "CADET_DEV",
189
191
  "CADET_DEVICE_ID",
190
- "CADET_DISABLE_PLATFORM",
192
+ "CADET_DISABLE_CLOUD",
191
193
  "CADET_DOCS_BASE_URL",
192
194
  "CADET_ENVIRONMENT",
193
195
  "CADET_HATCHED_BY",
@@ -198,7 +200,7 @@ const KNOWN_CADET_VARS = new Set([
198
200
  "CADET_MARKETING_URL",
199
201
  "CADET_MIGRATION_EXPORT_ALLOWED_HOSTS",
200
202
  "CADET_MIGRATION_IMPORT_ALLOWED_HOSTS",
201
- "CADET_PLATFORM_URL",
203
+ "CADET_CLOUD_URL",
202
204
  "CADET_PROFILER_MAX_BYTES",
203
205
  "CADET_PROFILER_MAX_RUNS",
204
206
  "CADET_PROFILER_MIN_FREE_MB",
package/src/config/env.ts CHANGED
@@ -14,7 +14,7 @@
14
14
  */
15
15
 
16
16
  import { getLogger } from "../util/logger.js";
17
- import { checkUnrecognizedEnvVars, getIsPlatform } from "./env-registry.js";
17
+ import { checkUnrecognizedEnvVars, getIsCloud } from "./env-registry.js";
18
18
  import { getConfig } from "./loader.js";
19
19
 
20
20
  const log = getLogger("env");
@@ -91,25 +91,25 @@ export function getRuntimeHttpHost(): string {
91
91
 
92
92
  /**
93
93
  * True when HTTP API auth is disabled via DISABLE_HTTP_AUTH=true.
94
- * Used in platform-managed deployments where the platform handles auth.
94
+ * Used in cloud-managed deployments where the cloud handles auth.
95
95
  */
96
96
  export function isHttpAuthDisabled(): boolean {
97
97
  return str("DISABLE_HTTP_AUTH")?.toLowerCase() === "true";
98
98
  }
99
99
 
100
100
  /**
101
- * True when the platform-managed auth bypass is in effect: DISABLE_HTTP_AUTH
102
- * and IS_PLATFORM both set, the pair a vembda pod runs with.
101
+ * True when the cloud-managed auth bypass is in effect: DISABLE_HTTP_AUTH
102
+ * and IS_CLOUD both set, the pair a vembda pod runs with.
103
103
  *
104
104
  * The narrow reading of the bypass, for authorization decisions that must not
105
- * turn off on a host the platform does not manage. `DISABLE_HTTP_AUTH` alone
106
- * is a dev flag whose whole meaning is "the platform handles auth", so a leak
105
+ * turn off on a host the cloud does not manage. `DISABLE_HTTP_AUTH` alone
106
+ * is a dev flag whose whole meaning is "the cloud handles auth", so a leak
107
107
  * of it onto another host must not also surrender a route's policy or a
108
- * grant's binding. Mirrors `isPlatformAuthBypassActive` in
108
+ * grant's binding. Mirrors `isCloudAuthBypassActive` in
109
109
  * `gateway/src/http/middleware/auth.ts`.
110
110
  */
111
- export function isPlatformAuthBypassActive(): boolean {
112
- return isHttpAuthDisabled() && getIsPlatform();
111
+ export function isCloudAuthBypassActive(): boolean {
112
+ return isHttpAuthDisabled() && getIsCloud();
113
113
  }
114
114
 
115
115
  // ── Qdrant ───────────────────────────────────────────────────────────────────
@@ -134,25 +134,19 @@ export function getOllamaBaseUrlEnv(): string | undefined {
134
134
 
135
135
  // ── Platform ─────────────────────────────────────────────────────────────────
136
136
 
137
- let _platformBaseUrlOverride: string | undefined;
138
-
139
- export function setPlatformBaseUrl(value: string | undefined): void {
140
- _platformBaseUrlOverride = value;
141
- }
142
-
143
- export function getPlatformBaseUrl(): string {
137
+ export function getCloudBaseUrl(): string {
144
138
  let configUrl: string | undefined;
145
139
  try {
146
- const val = getConfig().platform.baseUrl;
140
+ const val = getConfig().cloud.baseUrl;
147
141
  if (val) {
148
142
  configUrl = val;
149
143
  }
150
144
  } catch {
151
145
  // Config not yet available (early bootstrap) — fall through
152
146
  }
153
- // Resolve the default platform URL from CADET_ENVIRONMENT.
147
+ // Resolve the default cloud URL from CADET_ENVIRONMENT.
154
148
  // `production`, `staging`, and `test` map to their respective hosted
155
- // platforms, `local` points at a developer's locally running platform,
149
+ // platforms, `local` points at a developer's locally running cloud,
156
150
  // and everything else (including unset) falls back to dev-platform.
157
151
  const env = str("CADET_ENVIRONMENT")?.trim();
158
152
  let defaultUrl: string;
@@ -167,12 +161,7 @@ export function getPlatformBaseUrl(): string {
167
161
  } else {
168
162
  defaultUrl = "https://dev-cloud.mycadet.ai";
169
163
  }
170
- return (
171
- configUrl ||
172
- str("CADET_PLATFORM_URL") ||
173
- _platformBaseUrlOverride ||
174
- defaultUrl
175
- );
164
+ return configUrl || str("CADET_CLOUD_URL") || defaultUrl;
176
165
  }
177
166
 
178
167
  /**
@@ -182,7 +171,7 @@ export function getPlatformBaseUrl(): string {
182
171
  */
183
172
  export function getApexDomain(): string {
184
173
  try {
185
- const url = getPlatformBaseUrl();
174
+ const url = getCloudBaseUrl();
186
175
  const host = new URL(url).hostname;
187
176
 
188
177
  if (host.endsWith("cloud.mycadet.ai")) {
@@ -207,7 +196,7 @@ export function getApexDomain(): string {
207
196
  export function getAssistantDomain(): string {
208
197
  const subdomain = (() => {
209
198
  try {
210
- return getConfig().platform?.subdomain;
199
+ return getConfig().cloud?.subdomain;
211
200
  } catch {
212
201
  return undefined;
213
202
  }
@@ -219,51 +208,49 @@ export function getAssistantDomain(): string {
219
208
  return apex;
220
209
  }
221
210
 
222
- let _platformAssistantIdOverride: string | undefined;
211
+ let _cloudAssistantIdOverride: string | undefined;
223
212
 
224
- export function setPlatformAssistantId(value: string | undefined): void {
225
- _platformAssistantIdOverride = value;
213
+ export function setCloudAssistantId(value: string | undefined): void {
214
+ _cloudAssistantIdOverride = value;
226
215
  }
227
216
 
228
217
  /**
229
- * Platform assistant ID — UUID of this assistant on the platform.
218
+ * Platform assistant ID — UUID of this assistant on the cloud.
230
219
  *
231
220
  * Resolved from the in-memory override (populated by providers-setup
232
- * rehydration via platform validate, or by secret-routes when the
221
+ * rehydration via cloud validate, or by secret-routes when the
233
222
  * platform pushes the value).
234
223
  */
235
- export function getPlatformAssistantId(): string {
236
- return _platformAssistantIdOverride ?? "";
224
+ export function getCloudAssistantId(): string {
225
+ return _cloudAssistantIdOverride ?? "";
237
226
  }
238
227
 
239
- let _platformOrganizationIdOverride: string | undefined;
228
+ let _cloudOrganizationIdOverride: string | undefined;
240
229
 
241
- export function setPlatformOrganizationId(value: string | undefined): void {
242
- _platformOrganizationIdOverride = value;
230
+ export function setCloudOrganizationId(value: string | undefined): void {
231
+ _cloudOrganizationIdOverride = value;
243
232
  }
244
233
 
245
234
  /**
246
- * PLATFORM_ORGANIZATION_ID — UUID of the organization this assistant belongs to.
235
+ * CLOUD_ORGANIZATION_ID — UUID of the organization this assistant belongs to.
247
236
  * Used for platform tagging and API calls.
248
237
  */
249
- export function getPlatformOrganizationId(): string {
250
- return (
251
- str("PLATFORM_ORGANIZATION_ID") ?? _platformOrganizationIdOverride ?? ""
252
- );
238
+ export function getCloudOrganizationId(): string {
239
+ return str("CLOUD_ORGANIZATION_ID") ?? _cloudOrganizationIdOverride ?? "";
253
240
  }
254
241
 
255
242
  let _platformUserIdOverride: string | undefined;
256
243
 
257
- export function setPlatformUserId(value: string | undefined): void {
244
+ export function setCloudUserId(value: string | undefined): void {
258
245
  _platformUserIdOverride = value;
259
246
  }
260
247
 
261
248
  /**
262
- * PLATFORM_USER_ID — UUID of the user who owns this assistant.
249
+ * CLOUD_USER_ID — UUID of the user who owns this assistant.
263
250
  * Used for telemetry and platform API calls.
264
251
  */
265
- export function getPlatformUserId(): string {
266
- return str("PLATFORM_USER_ID") ?? _platformUserIdOverride ?? "";
252
+ export function getCloudUserId(): string {
253
+ return str("CLOUD_USER_ID") ?? _platformUserIdOverride ?? "";
267
254
  }
268
255
 
269
256
  // ── Startup validation ──────────────────────────────────────────────────────
@@ -82,7 +82,7 @@
82
82
  "scope": "client",
83
83
  "key": "multi-platform-assistant",
84
84
  "label": "Multi-Platform Assistant Switcher",
85
- "description": "Enable the menu-bar assistant switcher for managing multiple platform-hosted assistants (new/switch/retire)",
85
+ "description": "Enable the menu-bar assistant switcher for managing multiple cloud-hosted assistants (new/switch/retire)",
86
86
  "defaultEnabled": false
87
87
  },
88
88
  {
@@ -138,7 +138,7 @@
138
138
  "scope": "client",
139
139
  "key": "fork-from-message",
140
140
  "label": "Internal Thread Actions (legacy key)",
141
- "description": "Legacy key for `internal-thread-actions`. The client grants the internal thread affordances when either key is enabled, so the platform may serve the gate under either name. Declared here so the flag mapper keeps the value instead of dropping it as undeclared.",
141
+ "description": "Legacy key for `internal-thread-actions`. The client grants the internal thread affordances when either key is enabled, so the cloud may serve the gate under either name. Declared here so the flag mapper keeps the value instead of dropping it as undeclared.",
142
142
  "defaultEnabled": false
143
143
  },
144
144
  {
@@ -378,7 +378,7 @@
378
378
  "scope": "client",
379
379
  "key": "push-avatar-sender",
380
380
  "label": "Push Avatar Sender",
381
- "description": "Native notifications show the assistant's avatar as the icon with the assistant's name on line one. Same key the platform reads for APNs/FCM sender blocks.",
381
+ "description": "Native notifications show the assistant's avatar as the icon with the assistant's name on line one. Same key the cloud reads for APNs/FCM sender blocks.",
382
382
  "defaultEnabled": false
383
383
  },
384
384
  {
@@ -450,7 +450,7 @@
450
450
  "scope": "assistant",
451
451
  "key": "tunnel-webhooks",
452
452
  "label": "Tunnel Webhooks",
453
- "description": "Platform pods resolve webhook callback URLs from the Tunnel-published ingress URL instead of registering platform callback routes. Falls back to platform callback registration while no tunnel URL is published.",
453
+ "description": "Cloud pods resolve webhook callback URLs from the Tunnel-published ingress URL instead of registering platform callback routes. Falls back to platform callback registration while no tunnel URL is published.",
454
454
  "defaultEnabled": false
455
455
  },
456
456
  {
@@ -483,7 +483,7 @@
483
483
  "scope": "assistant",
484
484
  "key": "assistant-desktop",
485
485
  "label": "Virtual desktop",
486
- "description": "Streams an interactive virtual desktop from a platform-hosted, containerized assistant over /v1/desktop/stream. Requires platform hosting; self-hosted assistants are excluded. Off: the virtual desktop is hidden. On: the chat header offers its viewer and controls.",
486
+ "description": "Streams an interactive virtual desktop from a cloud-hosted, containerized assistant over /v1/desktop/stream. Requires platform hosting; self-hosted assistants are excluded. Off: the virtual desktop is hidden. On: the chat header offers its viewer and controls.",
487
487
  "defaultEnabled": false
488
488
  },
489
489
  {