@mycadet/assistant 0.12.7 → 0.12.9

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 (904) 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 +2 -2
  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/package.json +1 -1
  19. package/node_modules/@mycadet/ces-client/src/__tests__/ces-client.test.ts +14 -14
  20. package/node_modules/@mycadet/ces-client/src/rpc-client.ts +1 -1
  21. package/node_modules/@mycadet/credential-storage/src/oauth-runtime.ts +1 -1
  22. package/node_modules/@mycadet/credential-storage/src/static-credentials.ts +1 -1
  23. package/node_modules/@mycadet/environments/src/seeds.ts +6 -6
  24. package/node_modules/@mycadet/environments/src/shell.test.ts +1 -1
  25. package/node_modules/@mycadet/environments/src/types.ts +6 -6
  26. package/node_modules/@mycadet/gateway-client/node_modules/@mycadet/service-contracts/package.json +2 -2
  27. package/node_modules/@mycadet/gateway-client/node_modules/@mycadet/service-contracts/src/{platform-credential.ts → cloud-credential.ts} +9 -9
  28. package/node_modules/@mycadet/gateway-client/node_modules/@mycadet/service-contracts/src/handles.ts +3 -3
  29. package/node_modules/@mycadet/gateway-client/node_modules/@mycadet/service-contracts/src/index.ts +1 -1
  30. package/node_modules/@mycadet/gateway-client/node_modules/@mycadet/service-contracts/src/ingress.ts +11 -5
  31. package/node_modules/@mycadet/gateway-client/node_modules/@mycadet/service-contracts/src/remote-web-pairing.ts +1 -1
  32. package/node_modules/@mycadet/gateway-client/node_modules/@mycadet/service-contracts/src/rpc.ts +14 -14
  33. package/node_modules/@mycadet/gateway-client/node_modules/@mycadet/service-contracts/src/trust-rules.ts +5 -5
  34. package/node_modules/@mycadet/gateway-client/src/binding-strength-contract.ts +5 -5
  35. package/node_modules/@mycadet/gateway-client/src/gateway-ipc-contracts.ts +1 -1
  36. package/node_modules/@mycadet/gateway-client/src/inbound-contract.ts +2 -2
  37. package/node_modules/@mycadet/gateway-client/src/outbound-contract.ts +1 -1
  38. package/node_modules/@mycadet/service-contracts/package.json +2 -2
  39. package/node_modules/@mycadet/service-contracts/src/{platform-credential.ts → cloud-credential.ts} +9 -9
  40. package/node_modules/@mycadet/service-contracts/src/handles.ts +3 -3
  41. package/node_modules/@mycadet/service-contracts/src/index.ts +1 -1
  42. package/node_modules/@mycadet/service-contracts/src/ingress.ts +11 -5
  43. package/node_modules/@mycadet/service-contracts/src/remote-web-pairing.ts +1 -1
  44. package/node_modules/@mycadet/service-contracts/src/rpc.ts +14 -14
  45. package/node_modules/@mycadet/service-contracts/src/trust-rules.ts +5 -5
  46. package/openapi.yaml +6804 -799
  47. package/package.json +2 -2
  48. package/scripts/build-test-fixtures.ts +1 -1
  49. package/scripts/probe-skill-retrieval.ts +1 -1
  50. package/scripts/sync-llm-catalog.ts +2 -2
  51. package/scripts/voice-ttft-spike.ts +2 -2
  52. package/src/__tests__/adaptive-thinking-repair.test.ts +4 -4
  53. package/src/__tests__/agent-loop-override-profile.test.ts +4 -4
  54. package/src/__tests__/agent-loop-subagent-billing-headers.test.ts +1 -1
  55. package/src/__tests__/anthropic-provider.test.ts +2 -2
  56. package/src/__tests__/available-skills.test.ts +11 -12
  57. package/src/__tests__/avatar-identity-sync.test.ts +1 -1
  58. package/src/__tests__/byok-default-profile-ensure.test.ts +7 -7
  59. package/src/__tests__/call-domain.test.ts +1 -1
  60. package/src/__tests__/call-site-routing-connection-auto-resolve.test.ts +2 -2
  61. package/src/__tests__/catalog-files.test.ts +10 -10
  62. package/src/__tests__/catalog-install-normalize.test.ts +3 -3
  63. package/src/__tests__/channel-availability-routes.test.ts +8 -8
  64. package/src/__tests__/channel-readiness-routes.test.ts +4 -4
  65. package/src/__tests__/channel-readiness-service.test.ts +14 -14
  66. package/src/__tests__/channel-readiness-telegram-remote.test.ts +1 -1
  67. package/src/__tests__/chat-reveal-guard-priming.test.ts +5 -6
  68. package/src/__tests__/checker.test.ts +6 -6
  69. package/src/__tests__/clawhub.test.ts +1 -1
  70. package/src/__tests__/{platform-callback-registration.test.ts → cloud-callback-registration.test.ts} +66 -90
  71. package/src/__tests__/{platform-client-verify-credential.test.ts → cloud-client-verify-credential.test.ts} +14 -14
  72. package/src/__tests__/{managed-credential-catalog-cli.test.ts → cloud-credential-catalog-cli.test.ts} +41 -41
  73. package/src/__tests__/{managed-fallback-dispatch.test.ts → cloud-fallback-dispatch.test.ts} +21 -16
  74. package/src/__tests__/{managed-profile-guard.test.ts → cloud-profile-guard.test.ts} +77 -75
  75. package/src/__tests__/{platform-proxy-context.test.ts → cloud-proxy-context.test.ts} +44 -44
  76. package/src/__tests__/{managed-speech-defaults.test.ts → cloud-speech-defaults.test.ts} +41 -41
  77. package/src/__tests__/{managed-store.test.ts → cloud-store.test.ts} +99 -99
  78. package/src/__tests__/compaction-events.test.ts +7 -5
  79. package/src/__tests__/config-loader-backfill.test.ts +65 -65
  80. package/src/__tests__/config-loader-cloud-defaults.test.ts +373 -0
  81. package/src/__tests__/config-loader-corrupt.test.ts +1 -1
  82. package/src/__tests__/config-loader-validation-reset-notice.test.ts +1 -1
  83. package/src/__tests__/config-schema.test.ts +3 -3
  84. package/src/__tests__/{config-set-platform-guard.test.ts → config-set-cloud-guard.test.ts} +6 -6
  85. package/src/__tests__/config-set-route.test.ts +12 -8
  86. package/src/__tests__/config-watcher-cleanup-throttle.test.ts +0 -8
  87. package/src/__tests__/config-watcher.test.ts +1 -1
  88. package/src/__tests__/contacts-write.test.ts +1 -1
  89. package/src/__tests__/conversation-agent-loop.test.ts +2 -2
  90. package/src/__tests__/conversation-app-control-instantiation.test.ts +18 -18
  91. package/src/__tests__/conversation-error.test.ts +45 -45
  92. package/src/__tests__/conversation-inference-profile-route.test.ts +4 -4
  93. package/src/__tests__/conversation-rendered-delegation-state.test.ts +4 -4
  94. package/src/__tests__/conversation-skill-tools.test.ts +7 -8
  95. package/src/__tests__/conversation-slash.test.ts +2 -2
  96. package/src/__tests__/conversation-speed-override.test.ts +8 -10
  97. package/src/__tests__/conversation-summarize-up-to.test.ts +4 -4
  98. package/src/__tests__/conversation-surfaces-activation-emit.test.ts +1 -1
  99. package/src/__tests__/conversation-wait-for-idle.test.ts +7 -5
  100. package/src/__tests__/credential-execution-api-key-propagation.test.ts +5 -5
  101. package/src/__tests__/{credential-execution-managed-contract.test.ts → credential-execution-cloud-contract.test.ts} +24 -24
  102. package/src/__tests__/credential-health-service.test.ts +28 -40
  103. package/src/__tests__/credential-routes.test.ts +85 -165
  104. package/src/__tests__/credential-security-invariants.test.ts +6 -7
  105. package/src/__tests__/custom-profile-ensure.test.ts +1 -1
  106. package/src/__tests__/date-context.test.ts +1 -1
  107. package/src/__tests__/default-profile-catalog-fallback.test.ts +15 -15
  108. package/src/__tests__/delete-managed-skill-tool.test.ts +8 -8
  109. package/src/__tests__/discord-callback-round-trip.test.ts +1 -1
  110. package/src/__tests__/disk-usage.test.ts +3 -3
  111. package/src/__tests__/email-invite-adapter.test.ts +5 -5
  112. package/src/__tests__/{embedding-managed-proxy-selection.test.ts → embedding-cloud-proxy-selection.test.ts} +44 -43
  113. package/src/__tests__/emit-signal-routing-intent.test.ts +13 -15
  114. package/src/__tests__/events-dev-bypass-actor.test.ts +2 -2
  115. package/src/__tests__/fallback-breaker.test.ts +7 -7
  116. package/src/__tests__/feature-flag-test-helpers.ts +106 -0
  117. package/src/__tests__/gateway-flag-listener.test.ts +1 -1
  118. package/src/__tests__/gemini-image-service.test.ts +2 -2
  119. package/src/__tests__/gemini-provider.test.ts +5 -5
  120. package/src/__tests__/get-skill-detail-audit.test.ts +134 -288
  121. package/src/__tests__/guardian-verification-voice-binding.test.ts +1 -1
  122. package/src/__tests__/handlers-skills-memory-v2-reseed.test.ts +5 -5
  123. package/src/__tests__/host-cu-routes-targeted.test.ts +8 -8
  124. package/src/__tests__/image-credentials.test.ts +13 -13
  125. package/src/__tests__/inbound-admitted-introduction-nudge.test.ts +14 -6
  126. package/src/__tests__/inbound-trust-verdict.test.ts +14 -6
  127. package/src/__tests__/inference-no-mode-boot-e2e.test.ts +11 -11
  128. package/src/__tests__/inference-profile-session-handler.test.ts +7 -7
  129. package/src/__tests__/inference-profile-session-ipc.test.ts +5 -5
  130. package/src/__tests__/inference-profile-validation-jev.test.ts +1 -1
  131. package/src/__tests__/init-feature-flag-overrides.test.ts +40 -24
  132. package/src/__tests__/input-repairs.test.ts +1 -1
  133. package/src/__tests__/install-skill-routing.test.ts +10 -8
  134. package/src/__tests__/integration-status.test.ts +5 -5
  135. package/src/__tests__/internal-telemetry-routes.test.ts +3 -3
  136. package/src/__tests__/invite-routes-http.test.ts +1 -1
  137. package/src/__tests__/llm-catalog-parity.test.ts +5 -7
  138. package/src/__tests__/llm-request-log-source-clickhouse.test.ts +2 -2
  139. package/src/__tests__/llm-resolver-override-or-default.test.ts +3 -3
  140. package/src/__tests__/llm-resolver.test.ts +1 -1
  141. package/src/__tests__/llm-schema-fallback-profile.test.ts +25 -19
  142. package/src/__tests__/llm-usage-store.test.ts +1 -1
  143. package/src/__tests__/managed-skill-lifecycle.test.ts +12 -12
  144. package/src/__tests__/mcp-abort-signal.test.ts +1 -2
  145. package/src/__tests__/mcp-client-auth.test.ts +1 -2
  146. package/src/__tests__/mcp-config-secret-boundary.test.ts +44 -40
  147. package/src/__tests__/mcp-tool-annotations-risk.test.ts +1 -2
  148. package/src/__tests__/media-generate-image.test.ts +30 -30
  149. package/src/__tests__/memory-config-file-parity.test.ts +6 -6
  150. package/src/__tests__/migration-export-to-gcs.test.ts +4 -4
  151. package/src/__tests__/migration-import-commit-http.test.ts +1 -1
  152. package/src/__tests__/mtime-cache.test.ts +2 -2
  153. package/src/__tests__/{notification-platform-adapter.test.ts → notification-cloud-adapter.test.ts} +39 -39
  154. package/src/__tests__/notification-deep-link.test.ts +40 -40
  155. package/src/__tests__/oauth-apps-routes.test.ts +3 -3
  156. package/src/__tests__/oauth-cli.test.ts +9 -9
  157. package/src/__tests__/oauth-commands-routes.test.ts +16 -16
  158. package/src/__tests__/oauth-connect-orchestrator.test.ts +2 -2
  159. package/src/__tests__/oauth-provider-serializer.test.ts +11 -11
  160. package/src/__tests__/oauth-providers-routes.test.ts +12 -12
  161. package/src/__tests__/oauth-store.test.ts +1 -1
  162. package/src/__tests__/oauth2-gateway-transport.test.ts +3 -3
  163. package/src/__tests__/onboarding-persona-write.test.ts +2 -2
  164. package/src/__tests__/openai-image-service.test.ts +2 -2
  165. package/src/__tests__/openai-responses-cutover-guard.test.ts +2 -2
  166. package/src/__tests__/openai-responses-provider.test.ts +1 -1
  167. package/src/__tests__/path-policy.test.ts +4 -4
  168. package/src/__tests__/personal-memory-auth-bypass.test.ts +1 -1
  169. package/src/__tests__/platform-bash-auto-approve.test.ts +18 -18
  170. package/src/__tests__/plugin-api-model-profiles.test.ts +1 -1
  171. package/src/__tests__/plugin-api-provider.test.ts +1 -1
  172. package/src/__tests__/plugin-api-store-credential.test.ts +4 -1
  173. package/src/__tests__/plugin-api-webhook-url.test.ts +4 -5
  174. package/src/__tests__/plugin-import-boundary-guard.test.ts +8 -39
  175. package/src/__tests__/plugin-import-boundary-reverse-guard.test.ts +2 -2
  176. package/src/__tests__/{provider-platform-proxy-integration.test.ts → provider-cloud-proxy-integration.test.ts} +70 -72
  177. package/src/__tests__/provider-commit-message-generator.test.ts +1 -1
  178. package/src/__tests__/provider-connections-backfill.test.ts +9 -9
  179. package/src/__tests__/provider-error-scenarios.test.ts +8 -8
  180. package/src/__tests__/provider-registry-ollama.test.ts +1 -1
  181. package/src/__tests__/provider-send-message-override-profile.test.ts +5 -5
  182. package/src/__tests__/registry.test.ts +3 -3
  183. package/src/__tests__/requests-mock.ts +972 -0
  184. package/src/__tests__/resolve-trust-class.test.ts +1 -1
  185. package/src/__tests__/resource-pressure-guard.test.ts +6 -6
  186. package/src/__tests__/resource-pressure-routes.test.ts +5 -5
  187. package/src/__tests__/retry-fallback-escalation.test.ts +5 -5
  188. package/src/__tests__/sanitize-config-for-transfer.test.ts +1 -1
  189. package/src/__tests__/scaffold-managed-skill-tool.test.ts +97 -97
  190. package/src/__tests__/schedule-store.test.ts +1 -1
  191. package/src/__tests__/search-skills-unified.test.ts +9 -7
  192. package/src/__tests__/{secret-routes-platform-proxy.test.ts → secret-routes-cloud-proxy.test.ts} +48 -95
  193. package/src/__tests__/secret-routes-scrub.test.ts +2 -59
  194. package/src/__tests__/secure-keys.test.ts +1 -1
  195. package/src/__tests__/skill-load-plugin-scope.test.ts +2 -2
  196. package/src/__tests__/skill-load-tool.test.ts +1 -1
  197. package/src/__tests__/skill-projection-feature-flag.test.ts +0 -19
  198. package/src/__tests__/skill-projection.benchmark.test.ts +5 -7
  199. package/src/__tests__/skill-tool-factory.test.ts +1 -1
  200. package/src/__tests__/skills-file-content-endpoint.test.ts +222 -536
  201. package/src/__tests__/skills-files-catalog-fallback.test.ts +259 -577
  202. package/src/__tests__/skills.test.ts +1 -1
  203. package/src/__tests__/slim-skill-category.test.ts +11 -9
  204. package/src/__tests__/stt-stream-session.test.ts +3 -3
  205. package/src/__tests__/subagent-call-site-routing.test.ts +1 -1
  206. package/src/__tests__/subagent-disposal.test.ts +5 -5
  207. package/src/__tests__/subagent-fork-notifications.test.ts +4 -4
  208. package/src/__tests__/subagent-fork-spawn.test.ts +5 -5
  209. package/src/__tests__/subagent-manager-notify.test.ts +5 -5
  210. package/src/__tests__/subagent-tool-gate-mode.test.ts +2 -2
  211. package/src/__tests__/system-prompt.test.ts +1 -1
  212. package/src/__tests__/telegram-bot-username-resolution.test.ts +34 -52
  213. package/src/__tests__/telegram-config.test.ts +16 -16
  214. package/src/__tests__/telephony-tts-guard.test.ts +13 -13
  215. package/src/__tests__/test-preload.ts +17 -7
  216. package/src/__tests__/tool-audit.test.ts +1 -1
  217. package/src/__tests__/tool-execution-pipeline.benchmark.test.ts +7 -5
  218. package/src/__tests__/tool-executor-lifecycle-events.test.ts +1 -1
  219. package/src/__tests__/turn-events-store.test.ts +1 -1
  220. package/src/__tests__/twilio-routes.test.ts +2 -1
  221. package/src/__tests__/ui-choice-copy-surfaces.test.ts +1 -1
  222. package/src/__tests__/unified-turn-context-client-os.test.ts +1 -1
  223. package/src/__tests__/validate-input.test.ts +5 -5
  224. package/src/__tests__/verification-outbound-delivery.test.ts +1 -1
  225. package/src/__tests__/voice-config-update.test.ts +15 -15
  226. package/src/__tests__/voice-ingress-preflight.test.ts +4 -4
  227. package/src/__tests__/web-search.test.ts +340 -859
  228. package/src/__tests__/workspace-git-service.test.ts +1 -1
  229. package/src/__tests__/workspace-migration-082-backfill-managed-profile-labels.test.ts +12 -12
  230. package/src/__tests__/workspace-migration-087-memory-router-balanced-profile.test.ts +1 -1
  231. package/src/__tests__/workspace-migration-090-memory-router-cost-optimized-profile.test.ts +1 -1
  232. package/src/__tests__/workspace-migration-100-upgrade-quality-profile-to-fable-5.test.ts +1 -1
  233. package/src/__tests__/workspace-migration-103-upgrade-quality-profile-to-opus-4-8.test.ts +1 -1
  234. package/src/__tests__/workspace-migration-110-flip-balanced-profile-to-together.test.ts +1 -1
  235. package/src/__tests__/workspace-migration-113-swap-balanced-profile-to-glm-5p2.test.ts +1 -1
  236. package/src/__tests__/workspace-migration-114-swap-quality-profile-to-opus.test.ts +1 -1
  237. package/src/__tests__/workspace-migration-123-swap-quality-profile-to-fable.test.ts +1 -1
  238. package/src/__tests__/workspace-migration-125-repoint-managed-connections-to-cadet.test.ts +3 -3
  239. package/src/__tests__/workspace-migration-126-strip-managed-profile-bodies.test.ts +9 -9
  240. package/src/__tests__/workspace-migration-127-backfill-default-provider.test.ts +11 -11
  241. package/src/__tests__/workspace-migration-130-speech-mode-to-provider.test.ts +3 -3
  242. package/src/__tests__/workspace-migration-132-web-search-mode-to-provider.test.ts +6 -6
  243. package/src/__tests__/workspace-migration-133-collapse-provider-connections.test.ts +3 -3
  244. package/src/__tests__/workspace-migration-134-image-generation-mode-to-provider.test.ts +6 -6
  245. package/src/__tests__/workspace-migration-136-repair-stale-fireworks-kimi-model-id.test.ts +1 -1
  246. package/src/__tests__/workspace-migration-137-repair-retired-fireworks-minimax-model-id.test.ts +1 -1
  247. package/src/__tests__/workspace-migration-146-repair-retired-fireworks-deepseek-flash-model-id.test.ts +1 -1
  248. package/src/__tests__/workspace-migration-147-rename-colliding-backup-profile-names.test.ts +1 -1
  249. package/src/__tests__/workspace-migration-151-repair-renamed-fireworks-deepseek-pro-model-id.test.ts +1 -1
  250. package/src/__tests__/workspace-migration-152-repair-retired-fireworks-minimax-m2p7-model-id.test.ts +1 -1
  251. package/src/__tests__/workspace-migration-159-rename-colliding-jev-profile-name.test.ts +1 -1
  252. package/src/__tests__/workspace-migration-160-repair-retired-fireworks-model-ids.test.ts +1 -1
  253. package/src/__tests__/workspace-migration-161-repair-retired-fireworks-glm-5p2-model-id.test.ts +1 -1
  254. package/src/api/events/cloud-disconnected.ts +21 -0
  255. package/src/api/events/host-bash.ts +1 -1
  256. package/src/api/events/host-cu.ts +1 -1
  257. package/src/api/events/host-file.ts +1 -1
  258. package/src/api/events/notification-intent.ts +1 -1
  259. package/src/api/events/show-cloud-login.ts +18 -0
  260. package/src/api/index.ts +11 -11
  261. package/src/api/responses/home.ts +1 -1
  262. package/src/api/surfaces.ts +4 -4
  263. package/src/approvals/guardian-request-resolvers.ts +2 -2
  264. package/src/avatar/accent-backfill.ts +1 -1
  265. package/src/avatar/identity-avatar.ts +1 -1
  266. package/src/avatar/notification-avatar.test.ts +2 -2
  267. package/src/avatar/notification-avatar.ts +2 -2
  268. package/src/avatar/resvg-lazy.test.ts +1 -1
  269. package/src/avatar/resvg-lazy.ts +3 -3
  270. package/src/avatar/sync-avatar.test.ts +76 -76
  271. package/src/avatar/sync-avatar.ts +15 -15
  272. package/src/avatar/traits-png-sync.ts +1 -1
  273. package/src/background-wake/background-wake-routes.test.ts +39 -39
  274. package/src/background-wake/{platform-client.test.ts → cloud-client.test.ts} +11 -11
  275. package/src/background-wake/{platform-client.ts → cloud-client.ts} +14 -14
  276. package/src/background-wake/publisher.ts +4 -4
  277. package/src/background-wake/wake-intent-hooks.test.ts +3 -3
  278. package/src/calls/__tests__/call-controller.test.ts +2 -2
  279. package/src/calls/__tests__/voice-session-bridge.test.ts +1 -1
  280. package/src/calls/call-domain.ts +1 -1
  281. package/src/calls/resolve-call-tts-provider.ts +6 -6
  282. package/src/calls/telephony-credential-preflight.ts +3 -3
  283. package/src/calls/telephony-tts-capability.ts +5 -6
  284. package/src/calls/tts-call-strategy.ts +1 -1
  285. package/src/calls/voice-escalation-judge.ts +1 -1
  286. package/src/calls/voice-ingress-preflight.ts +4 -4
  287. package/src/cli/bundled-modules.ts +1 -1
  288. package/src/cli/commands/__tests__/apps.test.ts +18 -53
  289. package/src/cli/commands/__tests__/plugins.test.ts +13 -13
  290. package/src/cli/commands/__tests__/tts.test.ts +1 -1
  291. package/src/cli/commands/auth.help.ts +3 -3
  292. package/src/cli/commands/auth.ts +2 -4
  293. package/src/cli/commands/browser.help.ts +2 -2
  294. package/src/cli/commands/channels/index.help.ts +2 -2
  295. package/src/cli/commands/channels/index.ts +1 -1
  296. package/src/cli/commands/channels/send.ts +1 -1
  297. package/src/cli/commands/cloud/__tests__/callback-routes-list.test.ts +2 -2
  298. package/src/cli/commands/cloud/__tests__/connect.test.ts +1 -1
  299. package/src/cli/commands/cloud/__tests__/disconnect.test.ts +3 -4
  300. package/src/cli/commands/cloud/connect.ts +2 -2
  301. package/src/cli/commands/cloud/credits-format.ts +1 -1
  302. package/src/cli/commands/cloud/index.help.ts +35 -35
  303. package/src/cli/commands/cloud/index.ts +1 -1
  304. package/src/cli/commands/config.ts +2 -2
  305. package/src/cli/commands/credentials.ts +10 -12
  306. package/src/cli/commands/domain.ts +1 -1
  307. package/src/cli/commands/email.help.ts +1 -1
  308. package/src/cli/commands/email.ts +2 -2
  309. package/src/cli/commands/gateway.help.ts +1 -1
  310. package/src/cli/commands/gateway.ts +1 -1
  311. package/src/cli/commands/image-generation.help.ts +1 -1
  312. package/src/cli/commands/inference-providers.ts +1 -1
  313. package/src/cli/commands/inference.help.ts +2 -2
  314. package/src/cli/commands/memory/index.help.ts +1 -1
  315. package/src/cli/commands/oauth/connect.test.ts +2 -2
  316. package/src/cli/commands/oauth/connect.ts +1 -1
  317. package/src/cli/commands/oauth/index.help.ts +5 -5
  318. package/src/cli/commands/oauth/providers.ts +2 -2
  319. package/src/cli/commands/oauth/shared.ts +3 -3
  320. package/src/cli/commands/plugins.help.ts +2 -3
  321. package/src/cli/commands/plugins.ts +5 -5
  322. package/src/cli/commands/roadmap.help.ts +1 -1
  323. package/src/cli/commands/telemetry.help.ts +2 -2
  324. package/src/cli/commands/telemetry.ts +2 -2
  325. package/src/cli/commands/tts.help.ts +3 -3
  326. package/src/cli/commands/webhooks.help.ts +9 -9
  327. package/src/cli/commands/webhooks.ts +1 -1
  328. package/src/cli/lib/__tests__/inspect-plugin.test.ts +8 -8
  329. package/src/cli/lib/__tests__/{install-from-platform.test.ts → install-from-cloud.test.ts} +54 -54
  330. package/src/cli/lib/__tests__/plugin-catalog-cache.test.ts +18 -18
  331. package/src/cli/lib/__tests__/{plugin-catalog-platform.test.ts → plugin-catalog-cloud.test.ts} +2 -2
  332. package/src/cli/lib/__tests__/plugin-catalog-local.test.ts +1 -1
  333. package/src/cli/lib/__tests__/plugin-catalog-resolve.test.ts +9 -9
  334. package/src/cli/lib/__tests__/plugin-details.test.ts +10 -10
  335. package/src/cli/lib/__tests__/plugins-install-offline.test.ts +24 -24
  336. package/src/cli/lib/bundled-marketplace.json +1 -1
  337. package/src/cli/lib/inspect-plugin.ts +2 -2
  338. package/src/cli/lib/{install-from-platform.ts → install-from-cloud.ts} +29 -29
  339. package/src/cli/lib/install-from-github.ts +4 -4
  340. package/src/cli/lib/plugin-catalog-cache.ts +7 -7
  341. package/src/cli/lib/{plugin-catalog-platform.ts → plugin-catalog-cloud.ts} +6 -6
  342. package/src/cli/lib/plugin-catalog-local.ts +2 -2
  343. package/src/cli/lib/publish-plugin.ts +9 -10
  344. package/src/cli/lib/search-plugins.ts +2 -2
  345. package/src/{platform → cloud}/client.test.ts +85 -86
  346. package/src/{platform → cloud}/client.ts +38 -46
  347. package/src/{platform/platform-patch-queue.test.ts → cloud/cloud-patch-queue.test.ts} +6 -9
  348. package/src/{platform/platform-patch-queue.ts → cloud/cloud-patch-queue.ts} +11 -11
  349. package/src/{platform/managed-speech.test.ts → cloud/cloud-speech.test.ts} +19 -19
  350. package/src/{platform/managed-speech.ts → cloud/cloud-speech.ts} +41 -41
  351. package/src/{platform → cloud}/consent-cache.test.ts +5 -5
  352. package/src/{platform → cloud}/consent-cache.ts +8 -8
  353. package/src/cloud/feature-gate.ts +8 -0
  354. package/src/{platform → cloud}/sync-identity.test.ts +4 -4
  355. package/src/{platform → cloud}/sync-identity.ts +6 -6
  356. package/src/config/__tests__/{platform-identity.test.ts → cloud-identity.test.ts} +54 -56
  357. package/src/config/__tests__/{platform-rehydration.test.ts → cloud-rehydration.test.ts} +47 -80
  358. package/src/config/__tests__/default-profile-catalog.test.ts +12 -12
  359. package/src/config/__tests__/default-provider.test.ts +4 -4
  360. package/src/config/__tests__/deployment-context-defaults.test.ts +23 -23
  361. package/src/config/__tests__/{jev-managed-profile.test.ts → jev-cloud-profile.test.ts} +3 -5
  362. package/src/config/__tests__/loader-callsite-strip-fallback.test.ts +2 -2
  363. package/src/config/__tests__/loader-last-known-good.test.ts +6 -6
  364. package/src/config/__tests__/loader-sparse-array-cleanup.test.ts +2 -2
  365. package/src/config/__tests__/profile-materialization.test.ts +7 -7
  366. package/src/config/__tests__/seed-default-provider.test.ts +17 -17
  367. package/src/config/__tests__/substrate-twin-shadowing.test.ts +36 -26
  368. package/src/config/__tests__/sync-gated-profiles.test.ts +20 -20
  369. package/src/config/__tests__/webhook-routing.test.ts +51 -51
  370. package/src/config/bundled-skills/computer-use/TOOLS.json +12 -12
  371. package/src/config/bundled-skills/messaging/SKILL.md +8 -8
  372. package/src/config/bundled-skills/messaging/TOOLS.json +2 -2
  373. package/src/config/bundled-skills/messaging/tools/messaging-analyze-style.ts +1 -1
  374. package/src/config/bundled-skills/messaging/tools/shared.ts +1 -1
  375. package/src/config/bundled-skills/phone-calls/references/TROUBLESHOOTING.md +2 -2
  376. package/src/config/bundled-skills/settings/TOOLS.json +3 -3
  377. package/src/config/bundled-skills/settings/tools/shared.ts +1 -1
  378. package/src/config/bundled-skills/settings/tools/voice-config-update.ts +12 -12
  379. package/src/config/bundled-skills/skill-management/SKILL.md +3 -3
  380. package/src/config/bundled-skills/skill-management/TOOLS.json +8 -8
  381. package/src/config/bundled-skills/skill-management/tools/{delete-managed.ts → delete-cloud.ts} +2 -2
  382. package/src/config/bundled-skills/skill-management/tools/{scaffold-managed.ts → scaffold-cloud.ts} +2 -2
  383. package/src/config/call-site-defaults.ts +6 -6
  384. package/src/config/{platform-identity.ts → cloud-identity.ts} +39 -42
  385. package/src/config/cloud-rehydration.ts +35 -0
  386. package/src/config/{managed-speech-defaults.ts → cloud-speech-defaults.ts} +13 -13
  387. package/src/config/default-profile-catalog.ts +36 -38
  388. package/src/config/default-profile-names.ts +11 -11
  389. package/src/config/default-provider-resolution.ts +2 -2
  390. package/src/config/default-provider.ts +1 -1
  391. package/src/config/env-registry.ts +21 -26
  392. package/src/config/env.ts +33 -46
  393. package/src/config/feature-flag-registry.json +5 -5
  394. package/src/config/inference-profile-validation.ts +1 -1
  395. package/src/config/llm-resolver.ts +9 -10
  396. package/src/config/loader.ts +33 -17
  397. package/src/config/profile-materialization.ts +8 -8
  398. package/src/config/profile-text-generation.test.ts +1 -1
  399. package/src/config/sanitize-for-transfer.ts +1 -1
  400. package/src/config/schema.ts +6 -6
  401. package/src/config/schemas/__tests__/stt.test.ts +2 -2
  402. package/src/config/schemas/call-site-catalog.ts +1 -1
  403. package/src/config/schemas/channels.ts +8 -0
  404. package/src/config/schemas/{platform.ts → cloud.ts} +7 -6
  405. package/src/config/schemas/host-browser.ts +1 -0
  406. package/src/config/schemas/ingress.ts +29 -10
  407. package/src/config/schemas/llm.ts +36 -36
  408. package/src/config/schemas/memory-lifecycle.ts +11 -1
  409. package/src/config/schemas/services.ts +4 -4
  410. package/src/config/schemas/stt.ts +3 -3
  411. package/src/config/schemas/tts.ts +10 -5
  412. package/src/config/schemas/voice.ts +1 -1
  413. package/src/config/seed-inference-profiles.ts +19 -19
  414. package/src/config/skill-state.ts +2 -2
  415. package/src/config/skills.ts +4 -4
  416. package/src/config/substrate-twin-shadowing.ts +12 -17
  417. package/src/config/sync-gated-profiles.ts +8 -9
  418. package/src/config/webhook-routing.ts +19 -19
  419. package/src/contacts/contacts-write.ts +1 -1
  420. package/src/credential-execution/ces-runtime.ts +6 -6
  421. package/src/credential-execution/{managed-catalog.ts → cloud-catalog.ts} +24 -24
  422. package/src/credential-execution/prompted-credential.ts +2 -23
  423. package/src/credential-health/credential-health-service.ts +59 -70
  424. package/src/daemon/__tests__/can-spawn-subagents.test.ts +1 -1
  425. package/src/daemon/__tests__/conversation-tool-setup-exclude.test.ts +4 -4
  426. package/src/daemon/config-watcher.ts +2 -2
  427. package/src/daemon/conversation-agent-loop.ts +9 -9
  428. package/src/daemon/conversation-error.ts +36 -36
  429. package/src/daemon/conversation-skill-tools.ts +7 -7
  430. package/src/daemon/conversation-surfaces.ts +1 -1
  431. package/src/daemon/conversation-tool-setup.ts +2 -2
  432. package/src/daemon/conversation-turn-finalize.ts +1 -1
  433. package/src/daemon/conversation-workspace.ts +1 -1
  434. package/src/daemon/conversation.ts +1 -1
  435. package/src/daemon/credential-transcript-scrub.ts +32 -35
  436. package/src/daemon/daemon-readiness.ts +1 -1
  437. package/src/daemon/event-loop-watchdog.ts +2 -2
  438. package/src/daemon/handlers/config-ingress.ts +9 -9
  439. package/src/daemon/handlers/config-telegram.ts +6 -6
  440. package/src/daemon/handlers/skills.ts +20 -20
  441. package/src/daemon/host-cu-proxy.ts +1 -1
  442. package/src/daemon/lifecycle.ts +19 -19
  443. package/src/daemon/parse-actual-tokens-from-error.ts +3 -3
  444. package/src/daemon/providers-setup.ts +6 -6
  445. package/src/daemon/resource-pressure-guard-lifecycle.ts +1 -1
  446. package/src/daemon/resource-pressure-guard.ts +6 -6
  447. package/src/daemon/shutdown-handlers.ts +1 -1
  448. package/src/daemon/sqlite-corruption-watchdog.ts +3 -3
  449. package/src/daemon/trust-context.ts +1 -1
  450. package/src/desktop/desktop-automation-lease.ts +1 -1
  451. package/src/desktop/desktop-browser-endpoint.ts +2 -4
  452. package/src/desktop/desktop-computer-use-routing.test.ts +6 -6
  453. package/src/desktop/desktop-stream-bridge.test.ts +4 -4
  454. package/src/desktop/desktop-stream-bridge.ts +1 -1
  455. package/src/desktop/{virtual-desktop-platform.test.ts → virtual-desktop-cloud.test.ts} +6 -6
  456. package/src/desktop/virtual-desktop-feature.ts +7 -7
  457. package/src/email/byo-email-credential.ts +1 -1
  458. package/src/email/registered-inbox.test.ts +16 -16
  459. package/src/email/registered-inbox.ts +20 -20
  460. package/src/heartbeat/heartbeat-service.ts +1 -1
  461. package/src/hooks/hook-loader.ts +2 -2
  462. package/src/inbound/__tests__/oauth-callback-url.test.ts +2 -2
  463. package/src/inbound/__tests__/tunnel-probe.test.ts +8 -8
  464. package/src/inbound/{platform-callback-registration.ts → cloud-callback-registration.ts} +49 -60
  465. package/src/inbound/oauth-callback-url.ts +6 -6
  466. package/src/inbound/pod-webhook-claim.ts +2 -2
  467. package/src/inbound/public-ingress-urls.ts +3 -3
  468. package/src/inbound/tunnel-probe.ts +21 -15
  469. package/src/inbound/tunnel-webhooks-gate.ts +3 -3
  470. package/src/ipc/__tests__/db-readiness-ipc-gate.test.ts +1 -1
  471. package/src/ipc/__tests__/email-ipc.test.ts +8 -8
  472. package/src/ipc/gateway-client.test.ts +55 -59
  473. package/src/ipc/gateway-flag-listener.ts +3 -3
  474. package/src/ipc/routes/db-proxy.ts +1 -1
  475. package/src/live-voice/__tests__/live-activity-reporter.test.ts +2 -2
  476. package/src/live-voice/__tests__/{live-voice-managed-speech-fallback.test.ts → live-voice-cloud-speech-fallback.test.ts} +15 -15
  477. package/src/live-voice/__tests__/live-voice-credential-preflight.test.ts +7 -7
  478. package/src/live-voice/__tests__/live-voice-stt.test.ts +1 -1
  479. package/src/live-voice/live-activity-reporter.ts +7 -7
  480. package/src/live-voice/live-voice-credential-preflight.ts +6 -6
  481. package/src/live-voice/live-voice-session.ts +3 -3
  482. package/src/live-voice/live-voice-tts.ts +1 -1
  483. package/src/mcp/__tests__/mcp-oauth-client-registration.test.ts +4 -4
  484. package/src/mcp/__tests__/mcp-oauth-provider.test.ts +1 -1
  485. package/src/mcp/mcp-oauth-provider.ts +2 -2
  486. package/src/media/gemini-image-service.ts +11 -13
  487. package/src/media/image-credentials.ts +9 -9
  488. package/src/media/openai-image-service.ts +1 -1
  489. package/src/media/types.ts +3 -3
  490. package/src/messaging/providers/channel-transport.ts +1 -1
  491. package/src/messaging/providers/discord/transport.ts +1 -1
  492. package/src/messaging/providers/gmail/adapter.ts +1 -1
  493. package/src/messaging/providers/gmail/client.ts +4 -4
  494. package/src/messaging/providers/outlook/adapter.ts +1 -1
  495. package/src/messaging/providers/slack/adapter.ts +1 -1
  496. package/src/messaging/providers/slack/transport.ts +1 -1
  497. package/src/messaging/providers/telegram-bot/transport.ts +1 -1
  498. package/src/monitoring/db-integrity-check.ts +1 -1
  499. package/src/monitoring/db-integrity-sample.ts +2 -2
  500. package/src/monitoring/mount-watch.ts +1 -1
  501. package/src/monitoring/oom-kill-reporter.ts +1 -1
  502. package/src/monitoring/worker.ts +5 -5
  503. package/src/notifications/README.md +2 -2
  504. package/src/notifications/__tests__/broadcaster.test.ts +9 -9
  505. package/src/notifications/__tests__/completion-policy.test.ts +1 -1
  506. package/src/notifications/__tests__/emit-signal-pipeline-failure.test.ts +4 -4
  507. package/src/notifications/activity-failed-dedupe.ts +1 -1
  508. package/src/notifications/adapters/{platform.ts → cloud.ts} +8 -8
  509. package/src/notifications/broadcaster.ts +10 -10
  510. package/src/notifications/decision-engine.ts +1 -1
  511. package/src/notifications/destination-resolver.ts +1 -1
  512. package/src/notifications/emit-signal.ts +6 -6
  513. package/src/notifications/types.ts +2 -2
  514. package/src/oauth/__tests__/identity-verifier.test.ts +1 -1
  515. package/src/oauth/__tests__/{seed-providers-managed.test.ts → seed-providers-cloud.test.ts} +13 -13
  516. package/src/oauth/byo-connection.test.ts +2 -2
  517. package/src/oauth/{platform-connection.test.ts → cloud-connection.test.ts} +41 -43
  518. package/src/oauth/{platform-connection.ts → cloud-connection.ts} +19 -19
  519. package/src/oauth/connection-resolver.test.ts +59 -61
  520. package/src/oauth/connection-resolver.ts +22 -22
  521. package/src/oauth/connection.ts +1 -1
  522. package/src/oauth/oauth-store.ts +8 -8
  523. package/src/oauth/provider-serializer.ts +4 -4
  524. package/src/oauth/revoke.ts +1 -1
  525. package/src/oauth/seed-providers.ts +32 -32
  526. package/src/permissions/approval-provenance.ts +1 -1
  527. package/src/permissions/checker.test.ts +18 -16
  528. package/src/permissions/checker.ts +3 -3
  529. package/src/persistence/compaction-log-store-clickhouse.ts +3 -3
  530. package/src/persistence/embeddings/embedding-backend.test.ts +16 -16
  531. package/src/persistence/embeddings/embedding-backend.ts +13 -13
  532. package/src/persistence/embeddings/embedding-gemini.test.ts +9 -12
  533. package/src/persistence/embeddings/embedding-gemini.ts +11 -11
  534. package/src/persistence/embeddings/embedding-runtime-manager.ts +2 -2
  535. package/src/persistence/jobs-store.ts +1 -1
  536. package/src/persistence/lifecycle-events-store.ts +1 -1
  537. package/src/persistence/llm-request-log-sink-clickhouse.ts +3 -3
  538. package/src/persistence/llm-request-log-source-clickhouse.ts +3 -3
  539. package/src/persistence/migrations/224-oauth-providers-managed-service-is-paid.ts +1 -1
  540. package/src/persistence/migrations/296-rewrite-balanced-economy-profile-pins.test.ts +1 -1
  541. package/src/persistence/migrations/296-rewrite-balanced-economy-profile-pins.ts +2 -2
  542. package/src/persistence/migrations/306-rewrite-frontier-profile-pins.test.ts +1 -1
  543. package/src/persistence/migrations/306-rewrite-frontier-profile-pins.ts +1 -1
  544. package/src/persistence/migrations/351-schedule-skill-script-handoff.ts +1 -1
  545. package/src/persistence/migrations/361-normalize-managed-connection-rows.test.ts +3 -3
  546. package/src/persistence/migrations/361-normalize-managed-connection-rows.ts +7 -7
  547. package/src/persistence/migrations/__tests__/319-remove-legacy-managed-connections.test.ts +2 -2
  548. package/src/persistence/schema/oauth.ts +1 -1
  549. package/src/plugin-api/index.ts +4 -4
  550. package/src/plugin-api/model-profiles.test.ts +1 -1
  551. package/src/plugin-api/model-profiles.ts +1 -1
  552. package/src/plugin-api/transcription-session.ts +1 -1
  553. package/src/plugin-api/vision-support.test.ts +1 -1
  554. package/src/plugin-api/webhook-url.ts +12 -12
  555. package/src/plugins/__tests__/source-fingerprint.test.ts +1 -1
  556. package/src/plugins/defaults/{platform-hosted → cloud-hosted}/__tests__/reengage.test.ts +5 -6
  557. package/src/plugins/defaults/cloud-hosted/package.json +14 -0
  558. package/src/plugins/defaults/{platform-hosted → cloud-hosted}/routes/reengage.ts +3 -3
  559. package/src/plugins/defaults/index.ts +6 -6
  560. package/src/plugins/defaults/main.ts +5 -5
  561. package/src/plugins/defaults/memory/__tests__/memory-retrospective-job.test.ts +5 -5
  562. package/src/plugins/defaults/memory/__tests__/memory-retrospective-prompt.test.ts +1 -1
  563. package/src/plugins/defaults/memory/__tests__/memory-retrospective-provider-path.test.ts +1 -1
  564. package/src/plugins/defaults/memory/__tests__/memory-tier-boundary-guard.test.ts +5 -0
  565. package/src/plugins/defaults/memory/config.ts +4 -4
  566. package/src/plugins/defaults/memory/memory-retrospective-constants.ts +2 -2
  567. package/src/plugins/defaults/memory/memory-retrospective-job.ts +7 -7
  568. package/src/plugins/defaults/memory/memory-retrospective-prompt.ts +5 -5
  569. package/src/plugins/defaults/memory/memory-retrospective-skill-card.ts +2 -2
  570. package/src/plugins/defaults/memory/src/__tests__/memory-v2-routes.test.ts +1 -1
  571. package/src/plugins/defaults/memory/src/__tests__/memory-worker-routes.test.ts +1 -1
  572. package/src/plugins/defaults/memory/substrate/__tests__/boot-maintenance.test.ts +20 -20
  573. package/src/plugins/defaults/memory/substrate/__tests__/cli-command-store.test.ts +1 -1
  574. package/src/plugins/defaults/memory/substrate/__tests__/skill-store.test.ts +3 -3
  575. package/src/plugins/defaults/memory/substrate/boot-maintenance.ts +17 -17
  576. package/src/plugins/defaults/memory/substrate/cli-command-store.ts +2 -2
  577. package/src/plugins/defaults/memory/substrate/prompts/consolidation.ts +1 -1
  578. package/src/plugins/defaults/memory/substrate/skill-store.ts +4 -4
  579. package/src/plugins/defaults/memory/v3/__tests__/maintain-job.test.ts +3 -3
  580. package/src/plugins/defaults/memory/v3/__tests__/pool-select.test.ts +2 -2
  581. package/src/plugins/defaults/memory/v3/maintain-job.ts +10 -10
  582. package/src/plugins/defaults/memory/v3/orchestrate.ts +3 -3
  583. package/src/plugins/defaults/memory/worker.ts +5 -5
  584. package/src/plugins/defaults/workspace/injectors.ts +2 -2
  585. package/src/plugins/mtime-cache.ts +1 -1
  586. package/src/plugins/source-versions.ts +1 -1
  587. package/src/plugins/types.ts +1 -1
  588. package/src/prompts/__tests__/system-prompt.test.ts +1 -1
  589. package/src/prompts/normalize-onboarding.ts +1 -1
  590. package/src/prompts/persona-resolver.ts +1 -1
  591. package/src/prompts/templates/system-sections.ts +3 -3
  592. package/src/providers/__tests__/cadet-connection-routing.test.ts +7 -7
  593. package/src/providers/__tests__/cadet-mismatch-routing.test.ts +12 -12
  594. package/src/providers/__tests__/connection-model-compat.test.ts +2 -2
  595. package/src/providers/__tests__/dispatch-connection-routing.test.ts +10 -10
  596. package/src/providers/__tests__/inference.test.ts +2 -2
  597. package/src/providers/__tests__/preflight-resolved-config.test.ts +16 -16
  598. package/src/providers/__tests__/retry-callsite.test.ts +1 -1
  599. package/src/providers/__tests__/satellite-connection-routing.test.ts +4 -4
  600. package/src/providers/__tests__/search-provider-catalog.test.ts +2 -2
  601. package/src/providers/__tests__/voice-error-copy.test.ts +3 -3
  602. package/src/providers/anthropic/client.ts +1 -1
  603. package/src/providers/cadet/client.ts +1 -1
  604. package/src/providers/cadet-model-routing.test.ts +19 -19
  605. package/src/providers/cadet-model-routing.ts +23 -23
  606. package/src/providers/call-site-routing.ts +10 -10
  607. package/src/providers/{platform-proxy → cloud-proxy}/constants.ts +11 -11
  608. package/src/providers/{platform-proxy → cloud-proxy}/context.ts +26 -26
  609. package/src/providers/connection-resolution.ts +43 -43
  610. package/src/providers/fallback-breaker.ts +2 -2
  611. package/src/providers/fetch-provider-catalog.ts +3 -3
  612. package/src/providers/gemini/client.ts +5 -5
  613. package/src/providers/inference/__tests__/adapter-factory-openai-compatible.test.ts +3 -3
  614. package/src/providers/inference/__tests__/base-url-route-validation.test.ts +8 -8
  615. package/src/providers/inference/__tests__/base-url-security.test.ts +4 -4
  616. package/src/providers/inference/adapter-factory.ts +35 -35
  617. package/src/providers/inference/auth.ts +10 -10
  618. package/src/providers/inference/backfill.ts +11 -11
  619. package/src/providers/inference/connection-availability.ts +24 -24
  620. package/src/providers/inference/connections.ts +18 -20
  621. package/src/providers/inference/profile-probe.ts +4 -4
  622. package/src/providers/inference/resolve-auth.ts +8 -8
  623. package/src/providers/jev/ask.test.ts +1 -1
  624. package/src/providers/jev/ask.ts +2 -2
  625. package/src/providers/model-catalog.ts +8 -9
  626. package/src/providers/openai/__tests__/api-error-normalization.test.ts +3 -3
  627. package/src/providers/openai/api-error-normalization.ts +2 -2
  628. package/src/providers/provider-availability.ts +4 -4
  629. package/src/providers/provider-env-vars.ts +1 -1
  630. package/src/providers/provider-secret-catalog.ts +1 -1
  631. package/src/providers/registry.ts +20 -20
  632. package/src/providers/retry.ts +26 -26
  633. package/src/providers/routing-identity.ts +10 -10
  634. package/src/providers/search-provider-catalog.ts +2 -2
  635. package/src/providers/speech-to-text/__tests__/{cadet-managed-realtime.test.ts → cadet-cloud-realtime.test.ts} +3 -3
  636. package/src/providers/speech-to-text/__tests__/{cadet-managed.test.ts → cadet-cloud.test.ts} +35 -35
  637. package/src/providers/speech-to-text/__tests__/deepgram-flux-realtime.test.ts +1 -1
  638. package/src/providers/speech-to-text/__tests__/resolve.test.ts +27 -27
  639. package/src/providers/speech-to-text/{cadet-managed-flux-realtime.ts → cadet-cloud-flux-realtime.ts} +6 -8
  640. package/src/providers/speech-to-text/{cadet-managed-realtime.ts → cadet-cloud-realtime.ts} +3 -3
  641. package/src/providers/speech-to-text/{cadet-managed.ts → cadet-cloud.ts} +18 -20
  642. package/src/providers/speech-to-text/cadet-speech-relay-connection.ts +7 -7
  643. package/src/providers/speech-to-text/deepgram-flux-frames.ts +3 -3
  644. package/src/providers/speech-to-text/deepgram-flux-realtime.ts +4 -4
  645. package/src/providers/speech-to-text/provider-catalog.ts +3 -3
  646. package/src/providers/speech-to-text/resolve.ts +26 -28
  647. package/src/providers/together/client.ts +1 -1
  648. package/src/providers/types.ts +4 -4
  649. package/src/providers/voice-error-copy.ts +1 -1
  650. package/src/runtime/__tests__/desktop-stream-upgrade.test.ts +10 -10
  651. package/src/runtime/agent-wake.ts +1 -1
  652. package/src/runtime/auth/__tests__/middleware.test.ts +1 -1
  653. package/src/runtime/auth/middleware.ts +1 -1
  654. package/src/runtime/auth/scopes.ts +1 -1
  655. package/src/runtime/capabilities.ts +1 -1
  656. package/src/runtime/channel-invite-transports/discord.ts +1 -1
  657. package/src/runtime/channel-invite-transports/email.ts +2 -2
  658. package/src/runtime/channel-readiness-service.ts +15 -13
  659. package/src/runtime/channel-reply-session.test.ts +1 -1
  660. package/src/runtime/channel-reply-session.ts +1 -1
  661. package/src/runtime/http-server.ts +4 -4
  662. package/src/runtime/introduction-policy.ts +4 -4
  663. package/src/runtime/migrations/__tests__/origin-mode.test.ts +14 -14
  664. package/src/runtime/migrations/__tests__/v1-test-helpers.ts +1 -1
  665. package/src/runtime/migrations/__tests__/vbundle-import-version-compat.test.ts +2 -2
  666. package/src/runtime/migrations/__tests__/vbundle-metadata-merge-integration.test.ts +3 -4
  667. package/src/runtime/migrations/__tests__/vbundle-metadata-merge.test.ts +6 -7
  668. package/src/runtime/migrations/__tests__/vbundle-validator-v1-schema.test.ts +1 -1
  669. package/src/runtime/migrations/migration-transport.ts +3 -3
  670. package/src/runtime/migrations/origin-mode.ts +6 -9
  671. package/src/runtime/migrations/vbundle-import-policy.ts +2 -2
  672. package/src/runtime/migrations/vbundle-importer.ts +4 -4
  673. package/src/runtime/migrations/vbundle-streaming-importer.ts +6 -6
  674. package/src/runtime/migrations/vbundle-validator.ts +1 -1
  675. package/src/runtime/routes/__tests__/{platform-credits-routes.test.ts → cloud-credits-routes.test.ts} +9 -9
  676. package/src/runtime/routes/__tests__/{platform-invoice-routes.test.ts → cloud-invoice-routes.test.ts} +13 -13
  677. package/src/runtime/routes/__tests__/connection-routes-vs-cli-parity.test.ts +1 -1
  678. package/src/runtime/routes/__tests__/conversation-query-routes.test.ts +126 -82
  679. package/src/runtime/routes/__tests__/default-plugin-routes.test.ts +5 -5
  680. package/src/runtime/routes/__tests__/default-provider-routes.test.ts +10 -10
  681. package/src/runtime/routes/__tests__/inference-profiles-routes.test.ts +18 -18
  682. package/src/runtime/routes/__tests__/inference-provider-connection-routes.test.ts +18 -16
  683. package/src/runtime/routes/__tests__/inference-send-routes.test.ts +1 -1
  684. package/src/runtime/routes/__tests__/ingress-status-routes.test.ts +1 -1
  685. package/src/runtime/routes/__tests__/migration-cadet-metadata-reconcile.test.ts +5 -20
  686. package/src/runtime/routes/__tests__/migration-import-credential-filter.test.ts +19 -22
  687. package/src/runtime/routes/__tests__/oauth-proxy-routes.test.ts +27 -27
  688. package/src/runtime/routes/__tests__/plugins-routes.test.ts +5 -5
  689. package/src/runtime/routes/__tests__/ps-routes.test.ts +5 -3
  690. package/src/runtime/routes/__tests__/roadmap-routes.test.ts +15 -15
  691. package/src/runtime/routes/__tests__/webhook-routes.test.ts +31 -31
  692. package/src/runtime/routes/app-management-routes.ts +1 -1
  693. package/src/runtime/routes/attachment-routes.ts +1 -1
  694. package/src/runtime/routes/auth-routes.ts +14 -14
  695. package/src/runtime/routes/avatar-routes.ts +0 -14
  696. package/src/runtime/routes/background-wake-routes.ts +4 -4
  697. package/src/runtime/routes/channel-availability-routes.ts +4 -4
  698. package/src/runtime/routes/client-routes.ts +5 -5
  699. package/src/runtime/routes/cloud-credentials.ts +45 -0
  700. package/src/runtime/routes/{platform-routes.ts → cloud-routes.ts} +86 -119
  701. package/src/runtime/routes/conversation-compaction-routes.ts +1 -1
  702. package/src/runtime/routes/conversation-query-routes.ts +345 -667
  703. package/src/runtime/routes/credential-routes.ts +28 -30
  704. package/src/runtime/routes/default-provider-routes.ts +1 -1
  705. package/src/runtime/routes/desktop-setup-routes.test.ts +5 -5
  706. package/src/runtime/routes/desktop-setup-routes.ts +1 -1
  707. package/src/runtime/routes/domain-routes.ts +15 -21
  708. package/src/runtime/routes/email-routes.ts +13 -13
  709. package/src/runtime/routes/errors.ts +1 -1
  710. package/src/runtime/routes/gateway-status-routes.ts +1 -1
  711. package/src/runtime/routes/identity-routes.ts +3 -3
  712. package/src/runtime/routes/inbound-message-handler.ts +1 -1
  713. package/src/runtime/routes/inbound-stages/acl-enforcement.ts +1 -1
  714. package/src/runtime/routes/inbound-stages/transcribe-audio.test.ts +1 -1
  715. package/src/runtime/routes/index.ts +1 -1
  716. package/src/runtime/routes/inference-profile-availability-guard.ts +5 -5
  717. package/src/runtime/routes/inference-profiles-routes.ts +11 -11
  718. package/src/runtime/routes/inference-provider-connection-routes.ts +24 -24
  719. package/src/runtime/routes/ingress-status-routes.ts +1 -1
  720. package/src/runtime/routes/integrations/a2a.ts +2 -2
  721. package/src/runtime/routes/integrations/twilio.ts +21 -35
  722. package/src/runtime/routes/internal-telemetry-routes.ts +2 -2
  723. package/src/runtime/routes/live-voice-routes.test.ts +4 -4
  724. package/src/runtime/routes/live-voice-routes.ts +6 -6
  725. package/src/runtime/routes/migration-routes.ts +34 -40
  726. package/src/runtime/routes/oauth-commands-routes.ts +31 -31
  727. package/src/runtime/routes/oauth-providers.ts +5 -5
  728. package/src/runtime/routes/oauth-proxy-passthrough.test.ts +1 -1
  729. package/src/runtime/routes/oauth-proxy-passthrough.ts +8 -8
  730. package/src/runtime/routes/oauth-proxy-routes.ts +15 -17
  731. package/src/runtime/routes/oauth-request-hints.test.ts +1 -1
  732. package/src/runtime/routes/oauth-request-hints.ts +1 -1
  733. package/src/runtime/routes/plugins-routes.ts +9 -9
  734. package/src/runtime/routes/profiler-routes.ts +1 -1
  735. package/src/runtime/routes/ps-routes.ts +4 -0
  736. package/src/runtime/routes/roadmap-routes.ts +18 -20
  737. package/src/runtime/routes/secret-routes.ts +20 -61
  738. package/src/runtime/routes/settings-routes.ts +18 -23
  739. package/src/runtime/routes/telemetry-routes.ts +4 -4
  740. package/src/runtime/routes/tts-routes.ts +4 -4
  741. package/src/runtime/routes/user-route-resolution.ts +1 -1
  742. package/src/runtime/routes/webhook-routes.ts +18 -18
  743. package/src/runtime/routes/workflow-routes.ts +5 -5
  744. package/src/runtime/sync/resource-sync-events.ts +2 -2
  745. package/src/runtime/verification-outbound-actions.ts +4 -4
  746. package/src/schedule/integration-status.ts +6 -6
  747. package/src/schedule/run-script.ts +1 -1
  748. package/src/schedule/schedule-timezone.ts +1 -1
  749. package/src/schedule/worker.ts +5 -5
  750. package/src/security/auth-fallback-events-store.ts +1 -1
  751. package/src/security/oauth2.ts +4 -4
  752. package/src/skills/available-skills.ts +4 -4
  753. package/src/skills/catalog-files.ts +8 -8
  754. package/src/skills/catalog-install.ts +12 -12
  755. package/src/skills/categories-cache.ts +3 -3
  756. package/src/skills/clawhub.ts +1 -1
  757. package/src/skills/{platform-compatibility.test.ts → cloud-compatibility.test.ts} +7 -7
  758. package/src/skills/{platform-compatibility.ts → cloud-compatibility.ts} +2 -4
  759. package/src/skills/{managed-store.ts → cloud-store.ts} +21 -23
  760. package/src/skills/inline-command-runner.ts +1 -1
  761. package/src/skills/install-meta.ts +1 -1
  762. package/src/skills/path-classifier.ts +4 -4
  763. package/src/skills/skill-history.ts +4 -4
  764. package/src/skills/skillssh-registry.ts +1 -1
  765. package/src/stt/__tests__/daemon-batch-transcriber.test.ts +1 -1
  766. package/src/stt/daemon-batch-transcriber.ts +7 -7
  767. package/src/stt/types.ts +3 -3
  768. package/src/subagent/manager.ts +15 -15
  769. package/src/subagent/types.ts +1 -1
  770. package/src/telegram/__tests__/webhook-health.test.ts +16 -16
  771. package/src/telegram/webhook-health.ts +10 -10
  772. package/src/telemetry/__tests__/config-setting-events-store.test.ts +1 -1
  773. package/src/telemetry/__tests__/outbox-test-harness.ts +2 -2
  774. package/src/telemetry/config-setting-events-store.ts +1 -1
  775. package/src/telemetry/config-setting-snapshot.ts +1 -1
  776. package/src/telemetry/memory-corpus-size.ts +1 -1
  777. package/src/telemetry/memory-tier-reporter.test.ts +2 -2
  778. package/src/telemetry/memory-tier-reporter.ts +3 -3
  779. package/src/telemetry/telemetry-event-sources.test.ts +2 -2
  780. package/src/telemetry/telemetry-event-sources.ts +9 -9
  781. package/src/telemetry/telemetry-events-outbox.ts +2 -2
  782. package/src/telemetry/telemetry-wire-validation.test.ts +1 -1
  783. package/src/telemetry/telemetry-wire-validation.ts +3 -3
  784. package/src/telemetry/telemetry-wire.generated.ts +1 -1
  785. package/src/telemetry/tool-audit.ts +1 -1
  786. package/src/telemetry/tool-executed-events-store.test.ts +1 -1
  787. package/src/telemetry/trace-collection-policy.ts +4 -4
  788. package/src/telemetry/turn-events-store.ts +1 -1
  789. package/src/telemetry/turn-outcome.ts +1 -1
  790. package/src/telemetry/turn-trace-store.ts +2 -2
  791. package/src/telemetry/types.test.ts +1 -1
  792. package/src/telemetry/types.ts +19 -19
  793. package/src/telemetry/usage-telemetry-reporter.test.ts +42 -42
  794. package/src/telemetry/usage-telemetry-reporter.ts +17 -17
  795. package/src/telemetry/watchdog-direct-emit.test.ts +9 -9
  796. package/src/telemetry/watchdog-direct-emit.ts +10 -10
  797. package/src/tools/__tests__/side-effect-abort-guard.test.ts +2 -2
  798. package/src/tools/browser/cdp-client/factory.ts +1 -1
  799. package/src/tools/computer-use/target.ts +2 -2
  800. package/src/tools/credentials/store.ts +2 -20
  801. package/src/tools/network/__tests__/{managed-search-proxy.test.ts → cloud-search-proxy.test.ts} +20 -20
  802. package/src/tools/network/__tests__/web-search.test.ts +14 -14
  803. package/src/tools/network/{managed-search-proxy.ts → cloud-search-proxy.ts} +13 -13
  804. package/src/tools/network/web-search.ts +9 -9
  805. package/src/tools/permission-checker.ts +2 -2
  806. package/src/tools/shared/input-misuse.ts +1 -1
  807. package/src/tools/shared/input-repairs.ts +4 -4
  808. package/src/tools/skills/{delete-managed.ts → delete-cloud.ts} +4 -4
  809. package/src/tools/skills/find-similar-skills.test.ts +7 -7
  810. package/src/tools/skills/find-similar-skills.ts +15 -15
  811. package/src/tools/skills/load.ts +6 -6
  812. package/src/tools/skills/{scaffold-managed.ts → scaffold-cloud.ts} +16 -16
  813. package/src/tools/skills/skill-script-runner.ts +2 -2
  814. package/src/tools/terminal/safe-env.ts +3 -3
  815. package/src/tools/tool-types.ts +2 -2
  816. package/src/tools/types.ts +2 -2
  817. package/src/tools/ui-surface/surface-shape-docs.ts +2 -2
  818. package/src/tools/workflows/manage-workflows.ts +1 -1
  819. package/src/tools/workspace-tools/loader.ts +1 -1
  820. package/src/tts/__tests__/cadet-provider.test.ts +5 -5
  821. package/src/tts/provider-catalog.ts +1 -1
  822. package/src/tts/providers/cadet-provider.ts +23 -23
  823. package/src/tts/providers/cadet-tts-socket.ts +2 -2
  824. package/src/tts/tts-config-resolver.ts +1 -1
  825. package/src/tts/tts-voice-field.ts +3 -3
  826. package/src/usage/subagent-attribution.ts +1 -1
  827. package/src/util/__tests__/process-table.test.ts +47 -0
  828. package/src/util/canonicalize-identity.ts +1 -1
  829. package/src/util/cgroup-cpu.ts +5 -5
  830. package/src/util/cgroup-memory.ts +2 -2
  831. package/src/util/container-cpu-sampler.ts +4 -4
  832. package/src/util/disk-usage.ts +4 -4
  833. package/src/util/errors.ts +3 -3
  834. package/src/util/layout.ts +479 -0
  835. package/src/util/oom-priority.ts +1 -1
  836. package/src/util/platform.ts +12 -468
  837. package/src/util/process-table.ts +39 -5
  838. package/src/util/provider-error-patterns.ts +2 -2
  839. package/src/watch/__tests__/watch-retro.test.ts +2 -2
  840. package/src/watch/watch-retro.ts +1 -1
  841. package/src/watcher/__tests__/telemetry.test.ts +2 -2
  842. package/src/watcher/telemetry.ts +1 -1
  843. package/src/windows-compiled-cli.ts +1 -1
  844. package/src/workspace/adaptive-thinking-repair.ts +4 -4
  845. package/src/workspace/byok-default-profile-ensure.ts +7 -7
  846. package/src/workspace/git-service.ts +2 -2
  847. package/src/workspace/migrations/006-services-config.ts +1 -1
  848. package/src/workspace/migrations/040-seed-latency-callsite-defaults.ts +1 -1
  849. package/src/workspace/migrations/052-seed-default-inference-profiles.ts +1 -1
  850. package/src/workspace/migrations/063-release-notes-dynamic-model-context.ts +1 -1
  851. package/src/workspace/migrations/066-seed-heartbeat-callsite-cost-default.ts +1 -1
  852. package/src/workspace/migrations/082-backfill-managed-profile-labels.ts +4 -4
  853. package/src/workspace/migrations/087-memory-router-balanced-profile.ts +3 -3
  854. package/src/workspace/migrations/090-memory-router-cost-optimized-profile.ts +4 -4
  855. package/src/workspace/migrations/097-enable-adaptive-thinking-managed-profiles.ts +5 -5
  856. package/src/workspace/migrations/100-upgrade-quality-profile-to-fable-5.ts +4 -4
  857. package/src/workspace/migrations/101-upgrade-balanced-economy-to-minimax-m3.ts +4 -4
  858. package/src/workspace/migrations/103-upgrade-quality-profile-to-opus-4-8.ts +5 -5
  859. package/src/workspace/migrations/104-recheck-adaptive-thinking-model-implied-anthropic.ts +1 -1
  860. package/src/workspace/migrations/106-drop-collect-usage-data.ts +1 -1
  861. package/src/workspace/migrations/108-drop-balanced-economy-profile.ts +4 -4
  862. package/src/workspace/migrations/109-swap-quality-profile-to-glm-5p2.ts +11 -11
  863. package/src/workspace/migrations/110-flip-balanced-profile-to-together.ts +6 -6
  864. package/src/workspace/migrations/113-swap-balanced-profile-to-glm-5p2.ts +5 -5
  865. package/src/workspace/migrations/114-swap-quality-profile-to-opus.ts +4 -4
  866. package/src/workspace/migrations/115-drop-frontier-profile.ts +5 -5
  867. package/src/workspace/migrations/123-swap-quality-profile-to-fable.ts +5 -5
  868. package/src/workspace/migrations/125-repoint-managed-connections-to-cadet.ts +3 -3
  869. package/src/workspace/migrations/126-strip-managed-profile-bodies.ts +2 -2
  870. package/src/workspace/migrations/127-backfill-default-provider.ts +6 -6
  871. package/src/workspace/migrations/130-speech-mode-to-provider.ts +4 -4
  872. package/src/workspace/migrations/131-drop-web-fetch-mode.ts +1 -1
  873. package/src/workspace/migrations/132-web-search-mode-to-provider.ts +6 -6
  874. package/src/workspace/migrations/133-collapse-provider-connections.ts +3 -3
  875. package/src/workspace/migrations/134-image-generation-mode-to-provider.ts +4 -4
  876. package/src/workspace/migrations/136-repair-stale-fireworks-kimi-model-id.ts +2 -2
  877. package/src/workspace/migrations/137-repair-retired-fireworks-minimax-model-id.ts +2 -2
  878. package/src/workspace/migrations/139-clear-renamed-cost-profile-label.ts +2 -2
  879. package/src/workspace/migrations/141-stt-english-default-to-multilingual.ts +4 -4
  880. package/src/workspace/migrations/144-convert-stranded-subscription-openai-profiles.ts +1 -1
  881. package/src/workspace/migrations/145-collapse-profile-bindings-to-entries.ts +2 -2
  882. package/src/workspace/migrations/146-repair-retired-fireworks-deepseek-flash-model-id.ts +2 -2
  883. package/src/workspace/migrations/148-strip-unsupported-fallback-profiles.ts +2 -2
  884. package/src/workspace/migrations/150-stt-flux-provider-to-model-family.ts +1 -1
  885. package/src/workspace/migrations/151-repair-renamed-fireworks-deepseek-pro-model-id.ts +2 -2
  886. package/src/workspace/migrations/152-repair-retired-fireworks-minimax-m2p7-model-id.ts +2 -2
  887. package/src/workspace/migrations/159-rename-colliding-jev-profile-name.ts +2 -2
  888. package/src/workspace/migrations/160-repair-retired-fireworks-model-ids.ts +2 -2
  889. package/src/workspace/migrations/161-repair-retired-fireworks-glm-5p2-model-id.ts +2 -2
  890. package/src/workspace/migrations/__tests__/141-stt-english-default-to-multilingual.test.ts +1 -1
  891. package/src/workspace/migrations/__tests__/150-stt-flux-provider-to-model-family.test.ts +1 -1
  892. package/src/workspace/migrations/registry.ts +6 -6
  893. package/src/workspace/top-level-renderer.ts +1 -1
  894. package/src/workspace/turn-commit.ts +2 -2
  895. package/src/__tests__/config-loader-platform-defaults.test.ts +0 -606
  896. package/src/__tests__/mock-gateway-ipc.ts +0 -260
  897. package/src/api/events/platform-disconnected.ts +0 -21
  898. package/src/api/events/show-platform-login.ts +0 -20
  899. package/src/config/platform-rehydration.ts +0 -60
  900. package/src/platform/feature-gate.ts +0 -8
  901. package/src/plugins/defaults/platform-hosted/package.json +0 -14
  902. package/src/runtime/routes/platform-managed-credentials.ts +0 -50
  903. /package/src/__tests__/{gateway-client-managed-outbound.test.ts → gateway-client-cloud-outbound.test.ts} +0 -0
  904. /package/src/__tests__/{secure-keys-managed-failover.test.ts → secure-keys-cloud-failover.test.ts} +0 -0
@@ -35,10 +35,10 @@ import { AtlasCloudProvider } from "../atlascloud/client.js";
35
35
  import { BasetenProvider } from "../baseten/client.js";
36
36
  import { CadetProvider } from "../cadet/client.js";
37
37
  import {
38
- CADET_MANAGED_PROVIDER,
39
- getManagedUpstream,
40
- isCadetManagedConnection,
41
- MANAGED_ROUTABLE_PROVIDERS,
38
+ CADET_CLOUD_PROVIDER,
39
+ CLOUD_ROUTABLE_PROVIDERS,
40
+ getCloudUpstream,
41
+ isCadetCloudConnection,
42
42
  } from "../cadet-model-routing.js";
43
43
  import { FireworksProvider } from "../fireworks/client.js";
44
44
  import { GeminiProvider } from "../gemini/client.js";
@@ -70,7 +70,7 @@ export interface AdapterCreateOpts {
70
70
  apiKey: string;
71
71
  model: string;
72
72
  streamTimeoutMs: number;
73
- /** Set when an explicit base URL override or managed proxy is in play. */
73
+ /** Set when an explicit base URL override or cloud proxy is in play. */
74
74
  baseURL?: string;
75
75
  /** Forwarded to providers that wire native provider-side web search. */
76
76
  useNativeWebSearch: boolean;
@@ -126,8 +126,8 @@ const ADAPTER_FACTORIES: Record<string, AdapterFactory> = {
126
126
  gemini: ({ apiKey, model, streamTimeoutMs, baseURL }) =>
127
127
  new GeminiProvider(apiKey, model, {
128
128
  streamTimeoutMs,
129
- // Gemini routes managed proxies through `managedBaseUrl`, not `baseURL`.
130
- ...(baseURL ? { managedBaseUrl: baseURL } : {}),
129
+ // Gemini routes managed proxies through `cloudBaseUrl`, not `baseURL`.
130
+ ...(baseURL ? { cloudBaseUrl: baseURL } : {}),
131
131
  }),
132
132
  ollama: ({ apiKey, model, streamTimeoutMs, baseURL }) =>
133
133
  new OllamaProvider(model, {
@@ -280,7 +280,7 @@ export function createAdapterFromConnection(
280
280
  useNativeWebSearch?: boolean;
281
281
  /**
282
282
  * Effective upstream provider to build the adapter for. Defaults to
283
- * `connection.provider`. The provider-agnostic Cadet-managed connection
283
+ * `connection.provider`. The provider-agnostic Cadet Cloud connection
284
284
  * passes the resolved profile's provider here, since its own row carries
285
285
  * only the `cadet` sentinel.
286
286
  */
@@ -294,7 +294,7 @@ export function createAdapterFromConnection(
294
294
  }
295
295
 
296
296
  /**
297
- * Re-read the managed credential after an auth rejection and rebuild the
297
+ * Re-read the cloud credential after an auth rejection and rebuild the
298
298
  * adapter around it, so a key rotated out-of-band is picked up without a
299
299
  * restart. Returns `null` when the store hands back the same credential
300
300
  * that just failed — otherwise a proxy 401 from any other cause (platform
@@ -338,7 +338,7 @@ export function createAdapterFromConnection(
338
338
  * (call site consumed, wire params resolved from the backup profile, usage
339
339
  * attribution headers stamped). A second `RetryProvider` in between would
340
340
  * re-normalize that call-site-less config and strip those headers, leaving
341
- * degraded traffic unattributed on the platform's billing events.
341
+ * degraded traffic unattributed on the cloud's billing events.
342
342
  *
343
343
  * Never throws: a broken backup lookup must surface the original provider
344
344
  * error, not a new one.
@@ -378,7 +378,7 @@ export function createAdapterFromConnection(
378
378
  }
379
379
  const overrideProfile = expectedFallback;
380
380
  // Resolved the provider-aware way the runtime resolver resolves every
381
- // profile name: the backups are companions of the managed column and
381
+ // profile name: the backups are companions of the cloud column and
382
382
  // must not materialize under a BYOK or ChatGPT default provider.
383
383
  const backup = resolveDefaultProfileForProvider(
384
384
  llm.profiles,
@@ -412,21 +412,21 @@ export function createAdapterFromConnection(
412
412
  }
413
413
  // The model the adapter serves must be the model the fallback send
414
414
  // carries, so it comes from the same forced-profile resolution.
415
- // This callback authenticates the backup with the managed connection
415
+ // This callback authenticates the backup with the cloud connection
416
416
  // it was built for, so it can only serve a backup that routes through
417
- // the managed column. Refusing any other route keeps managed billing
417
+ // the cloud column. Refusing any other route keeps managed billing
418
418
  // and credentials from being applied to user-owned traffic.
419
419
  // Keyed on the connection, not the provider: a call-site fragment that
420
- // pins a concrete upstream over a managed winner keeps the managed
420
+ // pins a concrete upstream over a cloud winner keeps the cloud
421
421
  // routing and is stamped with this connection's name by the resolver
422
422
  // (see `llm-resolver.ts`), so a concrete `provider` here is still
423
423
  // managed traffic. Only a profile that names a different connection,
424
- // or a concrete provider carrying no managed connection at all (a BYOK
424
+ // or a concrete provider carrying no cloud connection at all (a BYOK
425
425
  // winner), routes somewhere this callback cannot authenticate.
426
426
  const backupConnection = resolvedBackup.provider_connection;
427
427
  const routesThroughThisConnection =
428
428
  backupConnection === undefined
429
- ? resolvedBackup.provider === CADET_MANAGED_PROVIDER
429
+ ? resolvedBackup.provider === CADET_CLOUD_PROVIDER
430
430
  : backupConnection === connection.name;
431
431
  if (!routesThroughThisConnection) {
432
432
  log.warn(
@@ -436,7 +436,7 @@ export function createAdapterFromConnection(
436
436
  backupProvider: resolvedBackup.provider,
437
437
  backupConnection,
438
438
  },
439
- "Backup profile routes outside the managed connection; keeping the original error",
439
+ "Backup profile routes outside the cloud connection; keeping the original error",
440
440
  );
441
441
  return null;
442
442
  }
@@ -448,15 +448,15 @@ export function createAdapterFromConnection(
448
448
  // and the `isCadet && !expectedProvider` branch). Deriving it from the
449
449
  // model here regardless would send a provider-pinned call-site fragment
450
450
  // to a different upstream than a primary send of the same resolution,
451
- // and would refuse a managed model the catalog does not list yet even
452
- // though normal dispatch serves it. A provider the managed proxy cannot
451
+ // and would refuse a cloud model the catalog does not list yet even
452
+ // though normal dispatch serves it. A provider the cloud proxy cannot
453
453
  // front (a non-routable id, or another routing identity such as
454
454
  // `chatgpt`) is refused rather than routed.
455
455
  const declaredProvider = resolvedBackup.provider;
456
456
  const upstream =
457
- declaredProvider === CADET_MANAGED_PROVIDER
458
- ? getManagedUpstream(resolvedBackup.model)
459
- : MANAGED_ROUTABLE_PROVIDERS.has(declaredProvider)
457
+ declaredProvider === CADET_CLOUD_PROVIDER
458
+ ? getCloudUpstream(resolvedBackup.model)
459
+ : CLOUD_ROUTABLE_PROVIDERS.has(declaredProvider)
460
460
  ? declaredProvider
461
461
  : null;
462
462
  if (upstream === null) {
@@ -467,11 +467,11 @@ export function createAdapterFromConnection(
467
467
  backupProvider: declaredProvider,
468
468
  backupModel: resolvedBackup.model,
469
469
  },
470
- "Backup profile does not resolve to a managed upstream; keeping the original error",
470
+ "Backup profile does not resolve to a cloud upstream; keeping the original error",
471
471
  );
472
472
  return null;
473
473
  }
474
- // Re-resolve auth for the BACKUP upstream: the managed proxy's base URL
474
+ // Re-resolve auth for the BACKUP upstream: the cloud proxy's base URL
475
475
  // is per-upstream, so the primary's resolved auth cannot be reused.
476
476
  const backupAuth = await resolveAuth(
477
477
  effectiveConnectionAuth(connection),
@@ -495,7 +495,7 @@ export function createAdapterFromConnection(
495
495
  return {
496
496
  provider: backupAdapter,
497
497
  overrideProfile,
498
- // Always true: this callback is wired only on the managed proxy, so
498
+ // Always true: this callback is wired only on the cloud proxy, so
499
499
  // the backup route runs through it too and its `X-Cadet-*` billing
500
500
  // metadata reaches our own backend, never a third party.
501
501
  forwardUsageAttributionHeaders: true,
@@ -511,17 +511,17 @@ export function createAdapterFromConnection(
511
511
  }
512
512
 
513
513
  // Usage-attribution headers (`X-Cadet-*`) are only meaningful when the
514
- // request is routed through the Cadet-managed proxy. They carry billing
514
+ // request is routed through the Cadet Cloud proxy. They carry billing
515
515
  // metadata for our own backend. Forwarding them to a third-party endpoint
516
- // would leak internal Cadet metadata, so gate on the managed connection
516
+ // would leak internal Cadet metadata, so gate on the cloud connection
517
517
  // identity, the only route that flows through our proxy.
518
- const isManagedProxy = isCadetManagedConnection(connection);
518
+ const isCloudProxy = isCadetCloudConnection(connection);
519
519
  const effectiveAuth = effectiveConnectionAuth(connection);
520
520
  const tracked = new UsageTrackingProvider(
521
521
  new RetryProvider(adapter, {
522
- forwardUsageAttributionHeaders: isManagedProxy,
523
- credentialSource: isManagedProxy
524
- ? "cadet-managed"
522
+ forwardUsageAttributionHeaders: isCloudProxy,
523
+ credentialSource: isCloudProxy
524
+ ? "cadet-cloud"
525
525
  : effectiveAuth.type === "api_key"
526
526
  ? "byok"
527
527
  : effectiveAuth.type === "oauth_subscription"
@@ -530,11 +530,11 @@ export function createAdapterFromConnection(
530
530
  ? "no-auth"
531
531
  : undefined,
532
532
  connectionName: connection.name,
533
- // Both escalations are managed-route only. A BYOK, oauth-subscription,
533
+ // Both escalations are cloud-route only. A BYOK, oauth-subscription,
534
534
  // or no-auth connection must never fall back: the install may hold no
535
- // credential for the backup profile's provider, and only the managed
535
+ // credential for the backup profile's provider, and only the cloud
536
536
  // column carries `fallbackProfile` pointers in the first place.
537
- ...(isManagedProxy
537
+ ...(isCloudProxy
538
538
  ? {
539
539
  refreshCredentialProvider: makeCredentialRefresher(),
540
540
  resolveFallbackRoute: makeFallbackRouteResolver(),
@@ -569,7 +569,7 @@ function buildConnectionAdapter(
569
569
  // only when the caller names an upstream, including Cadet-hosted GPU
570
570
  // models whose catalog id is also `cadet`.
571
571
  if (
572
- connection.provider === CADET_MANAGED_PROVIDER &&
572
+ connection.provider === CADET_CLOUD_PROVIDER &&
573
573
  opts.provider === undefined
574
574
  ) {
575
575
  return null;
@@ -1,6 +1,6 @@
1
1
  import { z } from "zod";
2
2
 
3
- import { CADET_MANAGED_PROVIDER } from "../cadet-model-routing.js";
3
+ import { CADET_CLOUD_PROVIDER } from "../cadet-model-routing.js";
4
4
  import { PROVIDER_CATALOG } from "../model-catalog.js";
5
5
 
6
6
  // ---------------------------------------------------------------------------
@@ -12,7 +12,7 @@ import { PROVIDER_CATALOG } from "../model-catalog.js";
12
12
  *
13
13
  * Runtime-supported variants:
14
14
  * - api_key: look up `credential` in vault, inject as bearer/provider header.
15
- * - platform: route via Cadet managed proxy; no client-side credential.
15
+ * - platform: route via Cadet Cloud proxy; no client-side credential.
16
16
  * - none: no auth (e.g. Ollama running locally).
17
17
  * - oauth_subscription: OAuth-based subscription auth (e.g. ChatGPT Codex).
18
18
  * - service_account: Google service-account JSON key (Vertex AI); signs a
@@ -46,8 +46,8 @@ export type Auth = z.infer<typeof AuthSchema>;
46
46
  /**
47
47
  * Derive the auth configuration a provider implies when a client omits an
48
48
  * explicit `auth` object: keyless catalog providers (`setupMode: "keyless"`,
49
- * e.g. ollama) need none, the Cadet-managed sentinel routes via the
50
- * platform proxy, and every other provider authenticates by API key. Returns
49
+ * e.g. ollama) need none, the Cadet Cloud sentinel routes via the
50
+ * cloud proxy, and every other provider authenticates by API key. Returns
51
51
  * null when an API key is required but no credential was supplied, so route
52
52
  * handlers can reject with a 400. `oauth_subscription` is never derived —
53
53
  * the ChatGPT PKCE routes own that connection.
@@ -56,7 +56,7 @@ export function deriveAuthForProvider(
56
56
  provider: string,
57
57
  credential?: string,
58
58
  ): Auth | null {
59
- if (provider === CADET_MANAGED_PROVIDER) {
59
+ if (provider === CADET_CLOUD_PROVIDER) {
60
60
  return { type: "platform" };
61
61
  }
62
62
  const entry = PROVIDER_CATALOG.find((p) => p.id === provider);
@@ -75,14 +75,14 @@ export function deriveAuthForProvider(
75
75
  * The auth a connection dispatches with. The stored auth object is
76
76
  * authoritative only where it carries a payload (an api_key credential ref,
77
77
  * the oauth_subscription marker, a deliberately keyed keyless provider);
78
- * the cadet provider IS the managed route, so its auth derives from the
78
+ * the cadet provider IS the cloud route, so its auth derives from the
79
79
  * provider and the stored value can never mislead dispatch.
80
80
  */
81
81
  export function effectiveConnectionAuth(connection: {
82
82
  provider: string;
83
83
  auth: Auth;
84
84
  }): Auth {
85
- return connection.provider === CADET_MANAGED_PROVIDER
85
+ return connection.provider === CADET_CLOUD_PROVIDER
86
86
  ? { type: "platform" }
87
87
  : connection.auth;
88
88
  }
@@ -119,11 +119,11 @@ export type ResolvedAuth =
119
119
  export const VALID_CONNECTION_PROVIDERS: readonly string[] = [
120
120
  ...new Set([
121
121
  ...PROVIDER_CATALOG.map((p) => p.id),
122
- // The provider-agnostic Cadet-managed connection stores this sentinel in
122
+ // The provider-agnostic Cadet Cloud connection stores this sentinel in
123
123
  // its `provider` column. The same id owns Cadet-hosted GPU models in the
124
124
  // catalog. Keep it allowlisted explicitly so a future catalog rename
125
125
  // cannot drop persisted `cadet` rows from the DB loaders.
126
- CADET_MANAGED_PROVIDER,
126
+ CADET_CLOUD_PROVIDER,
127
127
  // The ChatGPT-subscription row stores the "chatgpt" routing identity in
128
128
  // its `provider` column: the row IS the subscription route (auth
129
129
  // modality = provider identity), and dispatch derives the openai
@@ -233,7 +233,7 @@ export const ProviderConnectionSchema = z
233
233
  createdAt: z.number().int(),
234
234
  updatedAt: z.number().int(),
235
235
  /**
236
- * Whether this row is the Cadet-managed connection (`cadet`). Derived from
236
+ * Whether this row is the Cadet Cloud connection (`cadet`). Derived from
237
237
  * `MANAGED_CONNECTION_NAMES` in `connections.ts` at serialize time; the
238
238
  * DB column does not exist. Clients use this to render the read-only
239
239
  * "Cadet" badge + view-only editor and to disable the delete affordance
@@ -18,18 +18,19 @@
18
18
  */
19
19
 
20
20
  import { MANAGED_PROFILE_NAMES } from "../../config/default-profile-catalog.js";
21
+ import { getIsCloud } from "../../config/env-registry.js";
21
22
  import { loadRawConfig, saveRawConfig } from "../../config/loader.js";
22
23
  import type { DrizzleDb } from "../../persistence/db-connection.js";
23
24
  import { credentialKey } from "../../security/credential-key.js";
24
25
  import { getLogger } from "../../util/logger.js";
25
- import { MANAGED_ROUTABLE_PROVIDERS } from "../cadet-model-routing.js";
26
+ import { CLOUD_ROUTABLE_PROVIDERS } from "../cadet-model-routing.js";
26
27
  import { isConnectionCompatibleWithModel } from "../connection-model-compat.js";
27
28
  import {
28
29
  PROVIDERS_REQUIRING_BASE_URL_AND_MODELS,
29
30
  ROUTING_IDENTITY_PROVIDERS,
30
31
  } from "./auth.js";
31
32
  import {
32
- CADET_MANAGED_CONNECTION_NAME,
33
+ CADET_CLOUD_CONNECTION_NAME,
33
34
  createConnection,
34
35
  getConnection,
35
36
  listConnections,
@@ -73,9 +74,8 @@ function backfillConfigProfiles(db: DrizzleDb): void {
73
74
  return;
74
75
  }
75
76
 
76
- const isPlatform =
77
- process.env.IS_PLATFORM === "true" || process.env.IS_PLATFORM === "1";
78
- const globalMode = isPlatform ? "managed" : "your-own";
77
+ const isCloud = getIsCloud();
78
+ const globalMode = isCloud ? "managed" : "your-own";
79
79
 
80
80
  let changed = false;
81
81
 
@@ -200,14 +200,14 @@ function ensureProviderConnection(
200
200
  // For user-owned entries, an existing connection for the entry's provider
201
201
  // wins over the mode-derived default. Only user-brought connections can
202
202
  // match — the canonical `cadet` row carries the `cadet` sentinel
203
- // provider, never a concrete upstream. Without this, the managed branch
203
+ // provider, never a concrete upstream. Without this, the cloud branch
204
204
  // would silently switch a connection-less BYOK-intent profile onto the
205
- // billed managed connection, and the your-own branch would create a
205
+ // billed cloud connection, and the your-own branch would create a
206
206
  // parallel `-personal` row (pointing at an empty credential slot) when a
207
207
  // custom-named connection already exists.
208
208
  //
209
- // Managed-owned entries are excluded: a managed preset must stay on the
210
- // platform-managed route, not start dispatching against a key the user
209
+ // Managed-owned entries are excluded: a cloud preset must stay on the
210
+ // cloud route, not start dispatching against a key the user
211
211
  // brought for their own profiles. Managed-owned means `source: "managed"`
212
212
  // or a canonical managed name without an explicit `source: "user"` —
213
213
  // legacy seeders wrote canonical entries source-less, and only an explicit
@@ -228,12 +228,12 @@ function ensureProviderConnection(
228
228
  connectionName = existingForProvider.name;
229
229
  } else if (
230
230
  globalMode === "managed" &&
231
- MANAGED_ROUTABLE_PROVIDERS.has(provider)
231
+ CLOUD_ROUTABLE_PROVIDERS.has(provider)
232
232
  ) {
233
233
  // All managed-routable providers share the single provider-agnostic
234
234
  // `cadet` connection; the upstream is recovered per-request from the
235
235
  // profile's `provider` field.
236
- connectionName = CADET_MANAGED_CONNECTION_NAME;
236
+ connectionName = CADET_CLOUD_CONNECTION_NAME;
237
237
  } else {
238
238
  // "your-own" path (or provider not managed-supported): ensure a
239
239
  // personal connection exists. Ollama is keyless, so it gets
@@ -20,11 +20,12 @@ import { getDb } from "../../persistence/db-connection.js";
20
20
  import { credentialKey } from "../../security/credential-key.js";
21
21
  import { getSecureKeyResultAsync } from "../../security/secure-keys.js";
22
22
  import {
23
- CADET_MANAGED_CONNECTION_NAME,
24
- CADET_MANAGED_PROVIDER,
25
- isCadetManagedConnection,
26
- MANAGED_ROUTABLE_PROVIDERS,
23
+ CADET_CLOUD_CONNECTION_NAME,
24
+ CADET_CLOUD_PROVIDER,
25
+ CLOUD_ROUTABLE_PROVIDERS,
26
+ isCadetCloudConnection,
27
27
  } from "../cadet-model-routing.js";
28
+ import { resolveCloudProxyContext } from "../cloud-proxy/context.js";
28
29
  import {
29
30
  describeSubscriptionModelIncompatibility,
30
31
  isConnectionCompatibleWithModel,
@@ -34,7 +35,6 @@ import {
34
35
  resolveEntryConnectionName,
35
36
  } from "../connection-resolution.js";
36
37
  import { PROVIDER_CATALOG } from "../model-catalog.js";
37
- import { resolveManagedProxyContext } from "../platform-proxy/context.js";
38
38
  import {
39
39
  ConnectionResolutionError,
40
40
  resolveRoutingIdentity,
@@ -70,17 +70,17 @@ export interface ConnectionAvailability {
70
70
  const SETTINGS_HINT = "in Settings → Models & Services";
71
71
 
72
72
  /**
73
- * Availability of the Cadet-managed platform proxy: signed in and reachable.
73
+ * Availability of the Cadet Cloud cloud proxy: signed in and reachable.
74
74
  */
75
75
  export async function cadetConnectionAvailability(): Promise<ConnectionAvailability> {
76
- const ctx = await resolveManagedProxyContext();
76
+ const ctx = await resolveCloudProxyContext();
77
77
  if (ctx.enabled) {
78
78
  return { status: "ok" };
79
79
  }
80
- if (!ctx.platformBaseUrl) {
80
+ if (!ctx.cloudBaseUrl) {
81
81
  return {
82
82
  status: "cadet_unauthenticated",
83
- message: "Not signed in to Cadet — the platform URL is not configured.",
83
+ message: "Not signed in to Cadet — the cloud URL is not configured.",
84
84
  };
85
85
  }
86
86
  // The context collapses an unreachable credential read into "no key";
@@ -101,17 +101,17 @@ export async function cadetConnectionAvailability(): Promise<ConnectionAvailabil
101
101
  return {
102
102
  status: "cadet_unauthenticated",
103
103
  message:
104
- "Not signed in to Cadet — no assistant API key is stored. Log in to use Cadet-managed inference.",
104
+ "Not signed in to Cadet — no assistant API key is stored. Log in to use Cadet Cloud inference.",
105
105
  };
106
106
  }
107
107
 
108
- function cadetManagedMismatch(
108
+ function cadetCloudMismatch(
109
109
  resolvedConnectionName: string,
110
110
  provider: string,
111
111
  ): ConnectionAvailability {
112
112
  return {
113
113
  status: "provider_mismatch",
114
- message: `Connection "${resolvedConnectionName}" is the Cadet-managed connection, which cannot serve provider "${provider}". Pick a connection for "${provider}" ${SETTINGS_HINT}.`,
114
+ message: `Connection "${resolvedConnectionName}" is the Cadet Cloud connection, which cannot serve provider "${provider}". Pick a connection for "${provider}" ${SETTINGS_HINT}.`,
115
115
  };
116
116
  }
117
117
 
@@ -146,23 +146,23 @@ export async function computeConnectionAvailability(
146
146
  }
147
147
 
148
148
  // Mirror the dispatch-time provider check (`tryResolveProviderForConnectionName`):
149
- // the provider-agnostic Cadet-managed connection routes managed-routable
150
- // providers via platform auth; any other provider mismatch fails there, so
149
+ // the provider-agnostic Cadet Cloud connection routes managed-routable
150
+ // providers via cloud auth; any other provider mismatch fails there, so
151
151
  // usable credentials must not read as ok.
152
- if (isCadetManagedConnection(connection)) {
152
+ if (isCadetCloudConnection(connection)) {
153
153
  if (
154
- provider === CADET_MANAGED_PROVIDER ||
155
- MANAGED_ROUTABLE_PROVIDERS.has(provider)
154
+ provider === CADET_CLOUD_PROVIDER ||
155
+ CLOUD_ROUTABLE_PROVIDERS.has(provider)
156
156
  ) {
157
157
  return cadetConnectionAvailability();
158
158
  }
159
- return cadetManagedMismatch(resolvedConnectionName, provider);
159
+ return cadetCloudMismatch(resolvedConnectionName, provider);
160
160
  }
161
161
  // Everything routed through the canonical name dispatches on platform auth,
162
- // never on a claiming row's credentials, so the platform's own status is the
163
- // answer. Scoped to that name: a managed default explicitly pinned to some
162
+ // never on a claiming row's credentials, so the cloud's own status is the
163
+ // answer. Scoped to that name: a cloud default explicitly pinned to some
164
164
  // other row is a real misconfiguration and still reads as a mismatch below.
165
- if (resolvedConnectionName === CADET_MANAGED_CONNECTION_NAME) {
165
+ if (resolvedConnectionName === CADET_CLOUD_CONNECTION_NAME) {
166
166
  return cadetConnectionAvailability();
167
167
  }
168
168
  // The ChatGPT-subscription row stores the "chatgpt" identity while its
@@ -228,10 +228,10 @@ export async function computeConnectionAvailability(
228
228
  };
229
229
  }
230
230
  case "platform":
231
- // The managed proxy only serves managed-routable upstreams
232
- // (`resolveAuth` → `buildManagedBaseUrl` has no proxy path for the
231
+ // The cloud proxy only serves managed-routable upstreams
232
+ // (`resolveAuth` → `buildCloudBaseUrl` has no proxy path for the
233
233
  // rest), so platform auth on e.g. openrouter can never dispatch.
234
- if (MANAGED_ROUTABLE_PROVIDERS.has(provider)) {
234
+ if (CLOUD_ROUTABLE_PROVIDERS.has(provider)) {
235
235
  return cadetConnectionAvailability();
236
236
  }
237
237
  return {
@@ -6,13 +6,13 @@ import { providerConnections } from "../../persistence/schema/inference.js";
6
6
  import { normalizeCredentialRef } from "../../security/credential-key.js";
7
7
  import { getLogger } from "../../util/logger.js";
8
8
  import {
9
- CADET_MANAGED_CONNECTION_NAME,
10
- CADET_MANAGED_PROVIDER,
11
- isCadetManagedConnection,
9
+ CADET_CLOUD_CONNECTION_NAME,
10
+ CADET_CLOUD_PROVIDER,
11
+ isCadetCloudConnection,
12
12
  } from "../cadet-model-routing.js";
13
13
  import { clearConnectionProviderCache } from "../registry.js";
14
14
 
15
- export { CADET_MANAGED_CONNECTION_NAME };
15
+ export { CADET_CLOUD_CONNECTION_NAME };
16
16
  import {
17
17
  type Auth,
18
18
  AuthSchema,
@@ -28,20 +28,18 @@ import {
28
28
  const log = getLogger("providers/inference/connections");
29
29
 
30
30
  /**
31
- * Whether a row is one of the managed connections, judged by the row and not
31
+ * Whether a row is one of the cloud connections, judged by the row and not
32
32
  * by its name alone. Boot seeding leaves a user-owned row claiming a canonical
33
33
  * name in place, and that row is an ordinary connection: routing ignores it,
34
34
  * the route layer lets it be edited and deleted, and clients must render it
35
35
  * that way or the collision becomes unrecoverable from the UI.
36
36
  */
37
- function isManagedRow(row: {
37
+ function isCloudRow(row: {
38
38
  name: string;
39
39
  provider: string;
40
40
  auth: { type: string };
41
41
  }): boolean {
42
- return (
43
- MANAGED_CONNECTION_NAMES.has(row.name) && isCadetManagedConnection(row)
44
- );
42
+ return MANAGED_CONNECTION_NAMES.has(row.name) && isCadetCloudConnection(row);
45
43
  }
46
44
 
47
45
  // ---------------------------------------------------------------------------
@@ -110,7 +108,7 @@ export function listConnections(
110
108
  label: row.label ?? null,
111
109
  baseUrl: row.baseUrl ?? null,
112
110
  models: parseModelsColumn(row.models),
113
- isManaged: isManagedRow({ ...row, provider: provider.data, auth }),
111
+ isManaged: isCloudRow({ ...row, provider: provider.data, auth }),
114
112
  },
115
113
  ];
116
114
  });
@@ -144,7 +142,7 @@ export function getConnection(
144
142
  label: row.label ?? null,
145
143
  baseUrl: row.baseUrl ?? null,
146
144
  models: parseModelsColumn(row.models),
147
- isManaged: isManagedRow({ ...row, provider: provider.data, auth }),
145
+ isManaged: isCloudRow({ ...row, provider: provider.data, auth }),
148
146
  };
149
147
  }
150
148
 
@@ -265,7 +263,7 @@ export function createConnection(
265
263
  models,
266
264
  createdAt: now,
267
265
  updatedAt: now,
268
- isManaged: isManagedRow({ name: input.name, provider, auth }),
266
+ isManaged: isCloudRow({ name: input.name, provider, auth }),
269
267
  },
270
268
  };
271
269
  }
@@ -353,7 +351,7 @@ export function updateConnection(
353
351
  baseUrl: nextBaseUrl,
354
352
  models: nextModels,
355
353
  updatedAt: now,
356
- isManaged: isManagedRow({ name, provider: nextProvider, auth }),
354
+ isManaged: isCloudRow({ name, provider: nextProvider, auth }),
357
355
  },
358
356
  };
359
357
  }
@@ -427,15 +425,15 @@ const CANONICAL_CONNECTIONS: Array<{
427
425
  label: string;
428
426
  }> = [
429
427
  {
430
- name: CADET_MANAGED_CONNECTION_NAME,
431
- provider: CADET_MANAGED_PROVIDER,
428
+ name: CADET_CLOUD_CONNECTION_NAME,
429
+ provider: CADET_CLOUD_PROVIDER,
432
430
  auth: { type: "platform" },
433
431
  label: "Cadet",
434
432
  },
435
433
  ];
436
434
 
437
435
  /**
438
- * The Cadet-managed connection as boot seeding defines it, built without a DB
436
+ * The Cadet Cloud connection as boot seeding defines it, built without a DB
439
437
  * read. Dispatch uses this when the `cadet` name is occupied by a user-owned
440
438
  * row: seeding refuses to overwrite such a row, so the canonical row can be
441
439
  * absent from the DB while managed routing still has to work. Platform auth
@@ -458,15 +456,15 @@ export function canonicalCadetConnection(): ProviderConnection {
458
456
  }
459
457
 
460
458
  /**
461
- * Names of the canonical Cadet-managed connections. Seeded on every daemon
462
- * boot via `seedCanonicalConnections` and representing the platform-managed
459
+ * Names of the canonical Cadet Cloud connections. Seeded on every daemon
460
+ * boot via `seedCanonicalConnections` and representing the cloud-managed
463
461
  * inference route. They are write-protected at the route layer:
464
462
  * - DELETE is blocked outright (would resurrect on next boot anyway, but
465
463
  * blocking prevents a confusing delete → re-appear loop).
466
464
  * - PATCH that changes `auth` is blocked (auth is locked to `{type:"platform"}`
467
465
  * so any other value would be reverted on the next boot upsert).
468
466
  * - PATCH that changes `label` is allowed — users may legitimately relabel the
469
- * managed connection. `label` is seeded on initial INSERT and backfilled when
467
+ * cloud connection. `label` is seeded on initial INSERT and backfilled when
470
468
  * null on subsequent boots so pre-seed installs pick up the default; a non-null
471
469
  * user-customized label is preserved (see `seedCanonicalConnections`).
472
470
  *
@@ -495,7 +493,7 @@ export function seedCanonicalConnections(db: DrizzleDb): void {
495
493
  // canonical name. `cadet` was not a reserved name before consolidation, so
496
494
  // an install may already have a BYOK connection keyed `cadet` (with a real
497
495
  // provider + api_key auth). Upserting it here would silently rewrite it to
498
- // the platform-auth sentinel and make it managed/write-protected, breaking
496
+ // the cloud-auth sentinel and make it managed/write-protected, breaking
499
497
  // any profile that references the user's connection. Only seed/refresh when
500
498
  // the row is absent or already our sentinel (same provider).
501
499
  const existing = db
@@ -119,7 +119,7 @@ function checkMessage(check: {
119
119
  /**
120
120
  * Probe a saved profile with one minimal request. Returns `null` when there
121
121
  * is no verdict to give: the profile does not exist or is disabled, it rides
122
- * a managed or routing-identity route (probing would bill managed credits),
122
+ * a cloud or routing-identity route (probing would bill managed credits),
123
123
  * or the probe timed out without an answer.
124
124
  */
125
125
  export async function probeInferenceProfile(
@@ -164,7 +164,7 @@ export async function probeInferenceProfile(
164
164
  // Billing guards run on the fully resolved call-site config — the same
165
165
  // composition dispatch consumes (mix arm expanded, call-site overrides
166
166
  // applied) — so neither a mix nor an `llm.callSites.inference` provider
167
- // tweak can route the probe onto a managed or platform-billed path the
167
+ // tweak can route the probe onto a cloud or platform-billed path the
168
168
  // stored entry hid. Same seed as the dispatch below, so the judged arm is
169
169
  // the dispatched arm.
170
170
  const resolved = resolveCallSiteConfig("inference", llm, {
@@ -184,7 +184,7 @@ export async function probeInferenceProfile(
184
184
  return null;
185
185
  }
186
186
  // A legacy profile can declare a concrete provider while staying bound to
187
- // a platform-billed connection row; the row's auth is the billing fact, so
187
+ // a cloud-billed connection row; the row's auth is the billing fact, so
188
188
  // it gates the probe too.
189
189
  const boundRow = connection ? getConnection(getDb(), connection) : null;
190
190
  if (boundRow?.auth.type === "platform") {
@@ -213,7 +213,7 @@ export async function probeInferenceProfile(
213
213
  // getConfiguredProvider, so only the stamped attribution names the row
214
214
  // this request would sign with.
215
215
  const route = providerInstance.routeAttribution;
216
- if (route?.isManagedRoute) {
216
+ if (route?.isCloudRoute) {
217
217
  return null;
218
218
  }
219
219
  const routedRow = route?.connectionName
@@ -3,7 +3,7 @@
3
3
  *
4
4
  * Resolution rules:
5
5
  * - api_key → fetch credential from vault → inject as bearer header
6
- * - platform → build managed proxy URL and fetch the platform API key
6
+ * - platform → build cloud proxy URL and fetch the cloud API key
7
7
  * - none → pass through with no auth headers
8
8
  * - oauth_subscription → fetch OAuth token from vault (with auto-refresh) → inject as bearer header
9
9
  * - service_account → sign JWT and exchange for bearer token at token_uri (Google Vertex AI)
@@ -12,9 +12,9 @@
12
12
  import { getSecureKeyAsync } from "../../security/secure-keys.js";
13
13
  import { getLogger } from "../../util/logger.js";
14
14
  import {
15
- buildManagedBaseUrl,
16
- resolveManagedProxyContext,
17
- } from "../platform-proxy/context.js";
15
+ buildCloudBaseUrl,
16
+ resolveCloudProxyContext,
17
+ } from "../cloud-proxy/context.js";
18
18
  import {
19
19
  type Auth,
20
20
  PROVIDERS_ALLOWING_CUSTOM_BASE_URL,
@@ -68,17 +68,17 @@ export async function resolveAuth(
68
68
  }
69
69
 
70
70
  case "platform": {
71
- const managedBaseUrl = await buildManagedBaseUrl(provider);
72
- if (!managedBaseUrl) {
71
+ const cloudBaseUrl = await buildCloudBaseUrl(provider);
72
+ if (!cloudBaseUrl) {
73
73
  return { ok: false, error: { code: "platform_unavailable" } };
74
74
  }
75
- const ctx = await resolveManagedProxyContext();
75
+ const ctx = await resolveCloudProxyContext();
76
76
  return {
77
77
  ok: true,
78
78
  resolved: {
79
79
  kind: "header",
80
80
  headers: { Authorization: `Bearer ${ctx.assistantApiKey}` },
81
- baseUrl: managedBaseUrl,
81
+ baseUrl: cloudBaseUrl,
82
82
  },
83
83
  };
84
84
  }