@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
@@ -6,7 +6,7 @@
6
6
  * - bad provider (not in the LLMProvider enum)
7
7
  * - uncataloged model without --allow-unlisted
8
8
  * - missing provider connection
9
- * - managed-profile create / update / delete rejection
9
+ * - cloud-profile create / update / delete rejection
10
10
  * - the dispatch-availability guard on create / update / set-active
11
11
  *
12
12
  * Routing-identity creates exercise the happy-path write end-to-end (through
@@ -32,13 +32,13 @@ mock.module("../../../persistence/embeddings/embedding-backend.js", () => ({
32
32
  clearEmbeddingBackendCache: () => {},
33
33
  }));
34
34
 
35
- // The availability guard judges the Cadet-managed route and the credential
35
+ // The availability guard judges the Cadet Cloud route and the credential
36
36
  // store for real; both are stood in for here so tests can pick a state.
37
37
  let managedProxyEnabled = true;
38
- mock.module("../../../providers/platform-proxy/context.js", () => ({
39
- resolveManagedProxyContext: async () => ({
38
+ mock.module("../../../providers/cloud-proxy/context.js", () => ({
39
+ resolveCloudProxyContext: async () => ({
40
40
  enabled: managedProxyEnabled,
41
- platformBaseUrl: "https://platform.example",
41
+ cloudBaseUrl: "https://platform.example",
42
42
  assistantApiKey: managedProxyEnabled ? "key" : "",
43
43
  }),
44
44
  }));
@@ -124,7 +124,7 @@ function seedKeyedConnection(provider: string): void {
124
124
  });
125
125
  }
126
126
 
127
- /** The Cadet-managed row every routing-identity profile resolves to. */
127
+ /** The Cadet Cloud row every routing-identity profile resolves to. */
128
128
  function seedCadetConnection(): void {
129
129
  seedConnection("cadet", "cadet", { type: "platform" });
130
130
  }
@@ -205,7 +205,7 @@ describe("POST inference/profiles (create) validation", () => {
205
205
  ).rejects.toBeInstanceOf(BadRequestError);
206
206
  });
207
207
 
208
- test("creates a cadet profile for a managed-routable model", async () => {
208
+ test("creates a cadet profile for a cloud-routable model", async () => {
209
209
  seedCadetConnection();
210
210
  const result = (await call("inference_profiles_create", {
211
211
  body: {
@@ -238,7 +238,7 @@ describe("POST inference/profiles (create) validation", () => {
238
238
  ).rejects.toThrow(/maxTokens/);
239
239
  });
240
240
 
241
- test("rejects a cadet profile whose model has no managed upstream", async () => {
241
+ test("rejects a cadet profile whose model has no cloud upstream", async () => {
242
242
  await expect(
243
243
  call("inference_profiles_create", {
244
244
  body: {
@@ -248,7 +248,7 @@ describe("POST inference/profiles (create) validation", () => {
248
248
  },
249
249
  }),
250
250
  ).rejects.toThrow(
251
- /"not-a-real-model" is not served by the Cadet managed route/,
251
+ /"not-a-real-model" is not served by the Cadet Cloud route/,
252
252
  );
253
253
  });
254
254
 
@@ -367,7 +367,7 @@ describe("POST inference/profiles (create) validation", () => {
367
367
  ).rejects.toThrow(/does not exist/);
368
368
  });
369
369
 
370
- test("rejects creating a managed default name", async () => {
370
+ test("rejects creating a cloud default name", async () => {
371
371
  await expect(
372
372
  call("inference_profiles_create", {
373
373
  body: {
@@ -389,7 +389,7 @@ describe("inference-profile writes are availability-aware", () => {
389
389
  model: "gemini-3.6-flash",
390
390
  };
391
391
 
392
- test("rejects a BYO provider with no connection and names the managed alternative", async () => {
392
+ test("rejects a BYO provider with no connection and names the cloud alternative", async () => {
393
393
  const promise = call("inference_profiles_create", { body: geminiBody });
394
394
  await expect(promise).rejects.toBeInstanceOf(BadRequestError);
395
395
  await expect(promise).rejects.toThrow(
@@ -402,7 +402,7 @@ describe("inference-profile writes are availability-aware", () => {
402
402
  expect(persistedProfiles()).toEqual({});
403
403
  });
404
404
 
405
- test("falls back to the credential sequence when the managed route is unusable", async () => {
405
+ test("falls back to the credential sequence when the cloud route is unusable", async () => {
406
406
  managedProxyEnabled = false;
407
407
  secureKeyResults.clear();
408
408
  const promise = call("inference_profiles_create", { body: geminiBody });
@@ -552,7 +552,7 @@ describe("inference-profile writes are availability-aware", () => {
552
552
  // ── update validation ─────────────────────────────────────────────────────────
553
553
 
554
554
  describe("PATCH inference/profiles/:name (update) validation", () => {
555
- test("rejects editing a managed default profile", async () => {
555
+ test("rejects editing a cloud default profile", async () => {
556
556
  setConfig("llm", {
557
557
  profiles: {
558
558
  balanced: {
@@ -567,7 +567,7 @@ describe("PATCH inference/profiles/:name (update) validation", () => {
567
567
  pathParams: { name: "balanced" },
568
568
  body: { effort: "low" },
569
569
  }),
570
- ).rejects.toThrow(/managed profile/);
570
+ ).rejects.toThrow(/cloud profile/);
571
571
  });
572
572
 
573
573
  test("404s an unknown profile", async () => {
@@ -583,11 +583,11 @@ describe("PATCH inference/profiles/:name (update) validation", () => {
583
583
  // ── delete protection ───────────────────────────────────────────────────────
584
584
 
585
585
  describe("DELETE inference/profiles/:name protection", () => {
586
- test("rejects deleting a managed default profile", async () => {
586
+ test("rejects deleting a cloud default profile", async () => {
587
587
  setConfig("llm", { profiles: { balanced: { source: "managed" } } });
588
588
  await expect(
589
589
  call("inference_profiles_delete", { pathParams: { name: "balanced" } }),
590
- ).rejects.toThrow(/managed profile/);
590
+ ).rejects.toThrow(/cloud profile/);
591
591
  });
592
592
 
593
593
  test("404s an unknown profile", async () => {
@@ -796,7 +796,7 @@ describe("GET inference/profiles honors the llm.default blob", () => {
796
796
  // ── active-profile setter validation (Finding 3) ──────────────────────────────
797
797
 
798
798
  describe("POST inference/profiles/:name/validate billing guards", () => {
799
- test("gives no verdict for a mix whose winning arm rides the managed route", async () => {
799
+ test("gives no verdict for a mix whose winning arm rides the cloud route", async () => {
800
800
  seedCadetConnection();
801
801
  setConfig("llm", {
802
802
  profiles: {
@@ -815,7 +815,7 @@ describe("POST inference/profiles/:name/validate billing guards", () => {
815
815
  expect(result.check).toBeNull();
816
816
  });
817
817
 
818
- test("gives no verdict when a call-site override routes the probe onto the managed identity", async () => {
818
+ test("gives no verdict when a call-site override routes the probe onto the cloud identity", async () => {
819
819
  seedCadetConnection();
820
820
  setConfig("llm", {
821
821
  profiles: {
@@ -228,7 +228,7 @@ describe("POST inference/provider-connections (create)", () => {
228
228
  ).catch((e: unknown) => e);
229
229
 
230
230
  expect(err).toBeInstanceOf(BadRequestError);
231
- expect((err as BadRequestError).message).toContain("platform");
231
+ expect((err as BadRequestError).message).toContain("Cadet Cloud");
232
232
  expect((err as BadRequestError).message).toContain("cadet");
233
233
  });
234
234
 
@@ -679,7 +679,7 @@ describe("POST inference/provider-connections (create)", () => {
679
679
  });
680
680
  });
681
681
 
682
- test("throws 400 on the reserved managed connection name", async () => {
682
+ test("throws 400 on the reserved cloud connection name", async () => {
683
683
  await expect(
684
684
  call(findHandler("inference_provider_connections_create"), {
685
685
  body: {
@@ -820,7 +820,7 @@ describe("PATCH inference/provider-connections/:name (update)", () => {
820
820
  ).catch((e: unknown) => e);
821
821
 
822
822
  expect(err).toBeInstanceOf(BadRequestError);
823
- expect((err as BadRequestError).message).toContain("platform");
823
+ expect((err as BadRequestError).message).toContain("Cadet Cloud");
824
824
  });
825
825
 
826
826
  // A persisted row whose provider and auth disagree stays editable: both the
@@ -1400,7 +1400,7 @@ describe("PATCH with label", () => {
1400
1400
 
1401
1401
  // ── Managed-connection write protection ──────────────────────────────────────
1402
1402
 
1403
- describe("Managed connection write protection", () => {
1403
+ describe("Cloud connection write protection", () => {
1404
1404
  const MANAGED_NAMES = ["cadet"] as const;
1405
1405
 
1406
1406
  describe("DELETE", () => {
@@ -1419,13 +1419,13 @@ describe("Managed connection write protection", () => {
1419
1419
 
1420
1420
  expect(err).toBeInstanceOf(BadRequestError);
1421
1421
  expect((err as BadRequestError).message).toContain(name);
1422
- expect((err as BadRequestError).message).toContain("managed");
1422
+ expect((err as BadRequestError).message).toContain("Cadet Cloud");
1423
1423
  });
1424
1424
  }
1425
1425
 
1426
1426
  test("managed protection short-circuits before reference checks", async () => {
1427
- // Even though a profile references the managed connection, the error
1428
- // should be the managed-protection 400, not the references-409.
1427
+ // Even though a profile references the cloud connection, the error
1428
+ // should be the cloud-protection 400, not the references-409.
1429
1429
  seedConnection({
1430
1430
  name: "cadet",
1431
1431
  provider: "cadet",
@@ -1443,10 +1443,10 @@ describe("Managed connection write protection", () => {
1443
1443
  ).catch((e: unknown) => e);
1444
1444
 
1445
1445
  expect(err).toBeInstanceOf(BadRequestError);
1446
- expect((err as BadRequestError).message).toContain("managed");
1446
+ expect((err as BadRequestError).message).toContain("Cadet Cloud");
1447
1447
  });
1448
1448
 
1449
- test("a user-owned row claiming the managed name stays deletable", async () => {
1449
+ test("a user-owned row claiming the cloud name stays deletable", async () => {
1450
1450
  // Boot seeding refuses to overwrite it and managed routing ignores it,
1451
1451
  // so deleting is the only way to restore the canonical row. The cadet
1452
1452
  // default resolves to this same name, and that guard must not block the
@@ -1489,7 +1489,9 @@ describe("Managed connection write protection", () => {
1489
1489
 
1490
1490
  expect(err).toBeInstanceOf(BadRequestError);
1491
1491
  expect((err as BadRequestError).message).toContain(name);
1492
- expect((err as BadRequestError).message).toContain("platform");
1492
+ expect((err as BadRequestError).message).toContain(
1493
+ "cloud-authenticated",
1494
+ );
1493
1495
  });
1494
1496
 
1495
1497
  test(`rejects auth change on ${name} from platform to none with 400`, async () => {
@@ -1525,16 +1527,16 @@ describe("Managed connection write protection", () => {
1525
1527
  pathParams: { name: "cadet" },
1526
1528
  body: {
1527
1529
  auth: { type: "platform" },
1528
- label: "Cadet-managed Anthropic",
1530
+ label: "Cadet Cloud Anthropic",
1529
1531
  },
1530
1532
  },
1531
1533
  )) as { label: string | null };
1532
- expect(result.label).toBe("Cadet-managed Anthropic");
1534
+ expect(result.label).toBe("Cadet Cloud Anthropic");
1533
1535
  });
1534
1536
  });
1535
1537
 
1536
1538
  describe("PATCH label (allowed)", () => {
1537
- test("allows relabeling a managed connection", async () => {
1539
+ test("allows relabeling a cloud connection", async () => {
1538
1540
  seedConnection({
1539
1541
  name: "cadet",
1540
1542
  provider: "cadet",
@@ -1634,7 +1636,7 @@ describe("isManaged flag on connection responses", () => {
1634
1636
  });
1635
1637
 
1636
1638
  describe("GET single", () => {
1637
- test("returns isManaged: true for a managed name", async () => {
1639
+ test("returns isManaged: true for a cloud name", async () => {
1638
1640
  seedConnection({
1639
1641
  name: "cadet",
1640
1642
  provider: "cadet",
@@ -1649,7 +1651,7 @@ describe("isManaged flag on connection responses", () => {
1649
1651
  expect(result.isManaged).toBe(true);
1650
1652
  });
1651
1653
 
1652
- test("returns isManaged: false for a user-owned row claiming a managed name", async () => {
1654
+ test("returns isManaged: false for a user-owned row claiming a cloud name", async () => {
1653
1655
  // Clients gate edit and delete on this flag, so a claiming row must
1654
1656
  // report as the ordinary connection it is or the collision cannot be
1655
1657
  // cleared from the UI.
@@ -1701,7 +1703,7 @@ describe("isManaged flag on connection responses", () => {
1701
1703
  });
1702
1704
 
1703
1705
  describe("PATCH update", () => {
1704
- test("returns isManaged: true after relabeling a managed connection", async () => {
1706
+ test("returns isManaged: true after relabeling a cloud connection", async () => {
1705
1707
  seedConnection({
1706
1708
  name: "cadet",
1707
1709
  provider: "cadet",
@@ -248,7 +248,7 @@ describe("inference_send profile usability", () => {
248
248
  );
249
249
  }
250
250
 
251
- test("rejects a disabled profile instead of running the managed default", async () => {
251
+ test("rejects a disabled profile instead of running the cloud default", async () => {
252
252
  const err = await rejection({ ...hermes, status: "disabled" });
253
253
  expect(err).toBeInstanceOf(BadRequestError);
254
254
  expect(err.message).toContain("disabled");
@@ -83,7 +83,7 @@ describe("integrations_ingress_status route", () => {
83
83
  });
84
84
  });
85
85
 
86
- test("reports unconfigured for a platform-hosted assistant", async () => {
86
+ test("reports unconfigured for a cloud-hosted assistant", async () => {
87
87
  ingressConfig = {
88
88
  ...ingressConfig,
89
89
  publicBaseUrl: "https://platform.example.com/gateway/callbacks/a-1",
@@ -2,15 +2,12 @@
2
2
  * Tests for the post-import cadet metadata reconciliation helper.
3
3
  *
4
4
  * After every bundle import, `reconcileCadetMetadataFromCes` walks the
5
- * platform-identity fields the gateway requires and, for each one that
5
+ * cadet credentials the gateway requires and, for each one that
6
6
  * CES already holds a value for, ensures `metadata.json` lists a
7
7
  * matching entry. This closes the race where a provisioning write to
8
8
  * CES completes successfully but its metadata upsert gets clobbered by
9
9
  * the import's in-place clear or atomic swap. The reconciled set covers
10
- * both the Django-provisioned fields (assistant_api_key,
11
- * platform_assistant_id, platform_base_url, webhook_secret) and the
12
- * client-injected identity fields (platform_organization_id,
13
- * platform_user_id).
10
+ * the Django-provisioned credentials (assistant_api_key, webhook_secret).
14
11
  *
15
12
  * We test the reconcile logic in isolation by mocking the secure-keys
16
13
  * and metadata-store modules — the real migration handler wires the
@@ -40,14 +37,7 @@ type MetadataRecord = {
40
37
  updatedAt: number;
41
38
  };
42
39
 
43
- const CADET_FIELDS = [
44
- "platform_base_url",
45
- "assistant_api_key",
46
- "platform_assistant_id",
47
- "platform_organization_id",
48
- "platform_user_id",
49
- "webhook_secret",
50
- ] as const;
40
+ const CADET_FIELDS = ["assistant_api_key", "webhook_secret"] as const;
51
41
 
52
42
  const upsertCalls: Array<{ service: string; field: string }> = [];
53
43
  let metadataStore: Map<string, MetadataRecord> = new Map();
@@ -143,7 +133,7 @@ describe("reconcileCadetMetadataFromCes", () => {
143
133
  test("CES holds all, metadata has 2 → only the missing ones upserted", async () => {
144
134
  seedAllInCes();
145
135
  // Pre-populate metadata for 2 of the fields.
146
- const prepopulated = ["platform_base_url", "assistant_api_key"] as const;
136
+ const prepopulated = ["assistant_api_key", "webhook_secret"] as const;
147
137
  for (const field of prepopulated) {
148
138
  metadataStore.set(`cadet:${field}`, {
149
139
  credentialId: `id-cadet:${field}`,
@@ -174,14 +164,9 @@ describe("reconcileCadetMetadataFromCes", () => {
174
164
  await reconcileCadetMetadataFromCes(sink);
175
165
 
176
166
  const reconciled = new Set(upsertCalls.map((c) => c.field));
177
- // Django-provisioned quartet.
178
- expect(reconciled).toContain("platform_base_url");
167
+ // Django-provisioned trio.
179
168
  expect(reconciled).toContain("assistant_api_key");
180
- expect(reconciled).toContain("platform_assistant_id");
181
169
  expect(reconciled).toContain("webhook_secret");
182
- // Client-injected identity fields (onboarding / teleport / transfer).
183
- expect(reconciled).toContain("platform_organization_id");
184
- expect(reconciled).toContain("platform_user_id");
185
170
  });
186
171
 
187
172
  test("CES empty → nothing upserted", async () => {
@@ -2,7 +2,7 @@
2
2
  * Tests for platform credential filtering during bundle import.
3
3
  *
4
4
  * `migration-routes.ts` pushes every bundle credential through a filter that
5
- * must exclude platform-identity (`cadet:*`) entries so they can't overwrite
5
+ * must exclude cloud-identity (`cadet:*`) entries so they can't overwrite
6
6
  * the target's own Django-provisioned identity. The filter runs against the
7
7
  * raw CES account format — `credential/{service}/{field}` — produced by
8
8
  * `credentialKey()`, which is what `listSecureKeysAsync()` returns and what
@@ -20,7 +20,7 @@
20
20
  * key format are excluded.
21
21
  * - User credentials (any other prefix) pass through unchanged.
22
22
  * - Mixed bundles correctly split platform vs user credentials.
23
- * - skippedPlatform count matches the number of excluded entries.
23
+ * - skippedCloud count matches the number of excluded entries.
24
24
  * - Regression: the prefix constant matches `credentialKey("cadet", "")`.
25
25
  */
26
26
 
@@ -98,8 +98,8 @@ function filterCredentials(
98
98
  const userCredentials = bundleCredentials.filter(
99
99
  (c) => !c.account.startsWith(PLATFORM_CREDENTIAL_PREFIX),
100
100
  );
101
- const skippedPlatform = bundleCredentials.length - userCredentials.length;
102
- return { userCredentials, skippedPlatform };
101
+ const skippedCloud = bundleCredentials.length - userCredentials.length;
102
+ return { userCredentials, skippedCloud };
103
103
  }
104
104
 
105
105
  // ---------------------------------------------------------------------------
@@ -110,10 +110,7 @@ describe("migration import credential filtering", () => {
110
110
  test("platform (cadet:*) credentials are excluded", () => {
111
111
  const cadetFields = [
112
112
  "assistant_api_key",
113
- "platform_assistant_id",
114
- "platform_base_url",
115
- "platform_organization_id",
116
- "platform_user_id",
113
+ "cloud_assistant_id",
117
114
  "webhook_secret",
118
115
  ] as const;
119
116
  const cadetPaths = cadetFields.map((f) =>
@@ -128,11 +125,11 @@ describe("migration import credential filtering", () => {
128
125
  const manifest = makeManifest(cadetPaths);
129
126
 
130
127
  const bundleCredentials = extractCredentialsFromBundle(entries, manifest);
131
- const { userCredentials, skippedPlatform } =
128
+ const { userCredentials, skippedCloud } =
132
129
  filterCredentials(bundleCredentials);
133
130
 
134
131
  expect(userCredentials).toHaveLength(0);
135
- expect(skippedPlatform).toBe(cadetFields.length);
132
+ expect(skippedCloud).toBe(cadetFields.length);
136
133
  });
137
134
 
138
135
  test("user credentials pass through unchanged", () => {
@@ -149,7 +146,7 @@ describe("migration import credential filtering", () => {
149
146
  ]);
150
147
 
151
148
  const bundleCredentials = extractCredentialsFromBundle(entries, manifest);
152
- const { userCredentials, skippedPlatform } =
149
+ const { userCredentials, skippedCloud } =
153
150
  filterCredentials(bundleCredentials);
154
151
 
155
152
  expect(userCredentials).toHaveLength(2);
@@ -161,12 +158,12 @@ describe("migration import credential filtering", () => {
161
158
  account: anthropicAccount,
162
159
  value: "sk-ant-456",
163
160
  });
164
- expect(skippedPlatform).toBe(0);
161
+ expect(skippedCloud).toBe(0);
165
162
  });
166
163
 
167
164
  test("mixed bundle with both platform and user credentials correctly splits", () => {
168
165
  const cadetApiKey = credentialKey("cadet", "assistant_api_key");
169
- const cadetUserId = credentialKey("cadet", "platform_user_id");
166
+ const cadetUserId = credentialKey("cadet", "cloud_assistant_id");
170
167
  const openaiKey = credentialKey("openai", "api_key");
171
168
  const anthropicKey = credentialKey("anthropic", "api_key");
172
169
  const githubToken = credentialKey("github", "api_token");
@@ -187,7 +184,7 @@ describe("migration import credential filtering", () => {
187
184
  ]);
188
185
 
189
186
  const bundleCredentials = extractCredentialsFromBundle(entries, manifest);
190
- const { userCredentials, skippedPlatform } =
187
+ const { userCredentials, skippedCloud } =
191
188
  filterCredentials(bundleCredentials);
192
189
 
193
190
  // Only user credentials should pass through.
@@ -201,33 +198,33 @@ describe("migration import credential filtering", () => {
201
198
  );
202
199
  expect(cadetCreds).toHaveLength(0);
203
200
 
204
- expect(skippedPlatform).toBe(2);
201
+ expect(skippedCloud).toBe(2);
205
202
  });
206
203
 
207
- test("skippedPlatform count is accurate with mixed credentials", () => {
204
+ test("skippedCloud count is accurate with mixed credentials", () => {
208
205
  const cadetApiKey = credentialKey("cadet", "assistant_api_key");
209
- const cadetBaseUrl = credentialKey("cadet", "platform_base_url");
206
+ const cadetAssistantId = credentialKey("cadet", "cloud_assistant_id");
210
207
  const cadetWebhook = credentialKey("cadet", "webhook_secret");
211
208
  const userKey = credentialKey("github", "api_token");
212
209
 
213
210
  const entries = new Map<string, VBundleTarEntry>();
214
211
  entries.set(bundlePathFor(cadetApiKey), makeTarEntry("v1"));
215
- entries.set(bundlePathFor(cadetBaseUrl), makeTarEntry("v2"));
212
+ entries.set(bundlePathFor(cadetAssistantId), makeTarEntry("v2"));
216
213
  entries.set(bundlePathFor(cadetWebhook), makeTarEntry("v3"));
217
214
  entries.set(bundlePathFor(userKey), makeTarEntry("user-val"));
218
215
 
219
216
  const manifest = makeManifest([
220
217
  bundlePathFor(cadetApiKey),
221
- bundlePathFor(cadetBaseUrl),
218
+ bundlePathFor(cadetAssistantId),
222
219
  bundlePathFor(cadetWebhook),
223
220
  bundlePathFor(userKey),
224
221
  ]);
225
222
 
226
223
  const bundleCredentials = extractCredentialsFromBundle(entries, manifest);
227
- const { userCredentials, skippedPlatform } =
224
+ const { userCredentials, skippedCloud } =
228
225
  filterCredentials(bundleCredentials);
229
226
 
230
- expect(skippedPlatform).toBe(3);
227
+ expect(skippedCloud).toBe(3);
231
228
  expect(userCredentials).toHaveLength(1);
232
229
  expect(userCredentials[0]).toEqual({
233
230
  account: userKey,
@@ -236,7 +233,7 @@ describe("migration import credential filtering", () => {
236
233
 
237
234
  // Verify total = user + skipped
238
235
  expect(bundleCredentials.length).toBe(
239
- userCredentials.length + skippedPlatform,
236
+ userCredentials.length + skippedCloud,
240
237
  );
241
238
  });
242
239
 
@@ -11,19 +11,19 @@
11
11
 
12
12
  import { beforeEach, describe, expect, mock, test } from "bun:test";
13
13
 
14
+ import type { CadetCloudClient } from "../../../cloud/client.js";
15
+ import {
16
+ CloudOAuthConnection,
17
+ CredentialRequiredError,
18
+ InsufficientBalanceError,
19
+ ProviderUnreachableError,
20
+ } from "../../../oauth/cloud-connection.js";
14
21
  import type {
15
22
  OAuthConnection,
16
23
  OAuthConnectionRequest,
17
24
  OAuthConnectionResponse,
18
25
  } from "../../../oauth/connection.js";
19
26
  import { decodeOAuthResponseBytes } from "../../../oauth/connection.js";
20
- import {
21
- CredentialRequiredError,
22
- InsufficientBalanceError,
23
- PlatformOAuthConnection,
24
- ProviderUnreachableError,
25
- } from "../../../oauth/platform-connection.js";
26
- import type { CadetPlatformClient } from "../../../platform/client.js";
27
27
  import { resolveScopeProfile } from "../../auth/scopes.js";
28
28
  import type { AuthContext } from "../../auth/types.js";
29
29
  import { routeDefinitionsToHTTPRoutes } from "../http-adapter.js";
@@ -70,29 +70,29 @@ const byoConnection: OAuthConnection = {
70
70
  };
71
71
 
72
72
  /**
73
- * A real managed connection over a stub platform, for the paths whose behavior
74
- * lives inside `PlatformOAuthConnection` rather than in the route.
73
+ * A real cloud connection over a stub platform, for the paths whose behavior
74
+ * lives inside `CloudOAuthConnection` rather than in the route.
75
75
  */
76
76
  function realManagedConnection(
77
77
  fetchImpl: (path: string, init?: RequestInit) => Promise<Response>,
78
- ): PlatformOAuthConnection {
79
- return new PlatformOAuthConnection({
78
+ ): CloudOAuthConnection {
79
+ return new CloudOAuthConnection({
80
80
  id: "conn-managed",
81
81
  provider: "stripe_link",
82
82
  externalId: "ext-1",
83
83
  accountInfo: null,
84
84
  connectionId: "platform-conn-1",
85
85
  client: {
86
- platformAssistantId: "asst-1",
86
+ cloudAssistantId: "asst-1",
87
87
  fetch: fetchImpl,
88
- } as unknown as CadetPlatformClient,
88
+ } as unknown as CadetCloudClient,
89
89
  });
90
90
  }
91
91
 
92
- /** Satisfies the route's `instanceof PlatformOAuthConnection` check. */
92
+ /** Satisfies the route's `instanceof CloudOAuthConnection` check. */
93
93
  function managedConnection(): OAuthConnection {
94
94
  return Object.assign(
95
- Object.create(PlatformOAuthConnection.prototype) as OAuthConnection,
95
+ Object.create(CloudOAuthConnection.prototype) as OAuthConnection,
96
96
  {
97
97
  id: "conn-managed",
98
98
  provider: "stripe_link",
@@ -145,15 +145,15 @@ mock.module("../../../oauth/connection-resolver.js", () => ({
145
145
 
146
146
  // Spread the real module so the rest of the import graph keeps its env
147
147
  // readers; only the two auth-bypass readings are pinned. They move
148
- // independently: DISABLE_HTTP_AUTH is set on any host, the platform-managed
148
+ // independently: DISABLE_HTTP_AUTH is set on any host, the cloud-managed
149
149
  // bypass only on a vembda pod.
150
150
  let httpAuthDisabled = false;
151
- let platformAuthBypass = false;
151
+ let cloudAuthBypass = false;
152
152
  const env = await import("../../../config/env.js");
153
153
  mock.module("../../../config/env.js", () => ({
154
154
  ...env,
155
155
  isHttpAuthDisabled: () => httpAuthDisabled,
156
- isPlatformAuthBypassActive: () => platformAuthBypass,
156
+ isCloudAuthBypassActive: () => cloudAuthBypass,
157
157
  }));
158
158
 
159
159
  const { handleOAuthProxy, ROUTES } = await import("../oauth-proxy-routes.js");
@@ -271,7 +271,7 @@ function requireCaptured(): OAuthConnectionRequest {
271
271
 
272
272
  beforeEach(() => {
273
273
  httpAuthDisabled = false;
274
- platformAuthBypass = false;
274
+ cloudAuthBypass = false;
275
275
  captured = undefined;
276
276
  upstreamBytes = undefined;
277
277
  requestError = undefined;
@@ -322,7 +322,7 @@ describe("path and query fidelity", () => {
322
322
  const req = requireCaptured();
323
323
  // Byte-exact for a provider that signs the query it receives.
324
324
  expect(req.rawQuery).toBe("?a=1&b=2&a=3&q=x%20y&flag");
325
- // The parsed form is all a managed connection can send.
325
+ // The parsed form is all a cloud connection can send.
326
326
  expect(req.query).toEqual({ a: ["1", "3"], b: "2", q: "x y", flag: "" });
327
327
  });
328
328
 
@@ -364,7 +364,7 @@ describe("method passthrough", () => {
364
364
  expect((await response.arrayBuffer()).byteLength).toBe(0);
365
365
  });
366
366
 
367
- test("rejects HEAD against a managed connection", async () => {
367
+ test("rejects HEAD against a cloud connection", async () => {
368
368
  resolution = { ...resolution, connection: managedConnection() };
369
369
 
370
370
  const response = await callProxy({ method: "HEAD" });
@@ -391,7 +391,7 @@ describe("write safety", () => {
391
391
  });
392
392
  }
393
393
 
394
- test("a managed write is not replayed after a 502", async () => {
394
+ test("a cloud write is not replayed after a 502", async () => {
395
395
  let attempts = 0;
396
396
  resolution = {
397
397
  ...resolution,
@@ -403,7 +403,7 @@ describe("write safety", () => {
403
403
 
404
404
  const response = await callProxy({ method: "POST", body: "{}" });
405
405
 
406
- // The platform answers 502 only after calling the provider, so a replay
406
+ // The cloud answers 502 only after calling the provider, so a replay
407
407
  // could land the write twice.
408
408
  expect(attempts).toBe(1);
409
409
  expect(response.status).toBe(502);
@@ -564,7 +564,7 @@ describe("header handling", () => {
564
564
  ["GET", "Stripe-Version"],
565
565
  ["GET", "X-Custom-Option"],
566
566
  ]) {
567
- test(`rejects managed ${method} with ${name} before the platform call`, async () => {
567
+ test(`rejects managed ${method} with ${name} before the cloud call`, async () => {
568
568
  let attempts = 0;
569
569
  resolution.connection = realManagedConnection(async () => {
570
570
  attempts++;
@@ -930,18 +930,18 @@ describe("grant binding", () => {
930
930
  expect(resolverCalls).toHaveLength(0);
931
931
  });
932
932
 
933
- test("a platform-managed pod skips the comparison it has no subject for", async () => {
933
+ test("a cloud-managed pod skips the comparison it has no subject for", async () => {
934
934
  // The pod's daemon discards the token and synthesizes a context, so the
935
935
  // grant's subject never reaches the handler.
936
936
  httpAuthDisabled = true;
937
- platformAuthBypass = true;
937
+ cloudAuthBypass = true;
938
938
 
939
939
  const response = await callProxy({ subject: "actor:self:dev-bypass" });
940
940
 
941
941
  expect(response.status).toBe(200);
942
942
  });
943
943
 
944
- test("DISABLE_HTTP_AUTH off a platform pod still binds the grant", async () => {
944
+ test("DISABLE_HTTP_AUTH off a cloud pod still binds the grant", async () => {
945
945
  httpAuthDisabled = true;
946
946
 
947
947
  const response = await callProxy({ subject: "actor:self:dev-bypass" });
@@ -119,7 +119,7 @@ import {
119
119
  type UpgradePluginOptions,
120
120
  } from "../../../cli/lib/upgrade-plugin.js";
121
121
 
122
- // Spy on the route logger so tests can assert that a platform-catalog outage
122
+ // Spy on the route logger so tests can assert that a cloud-catalog outage
123
123
  // is recorded before it is mapped to a client 503. The catalog fetcher and the
124
124
  // transport adapters swallow the failure otherwise (`RouteError` → wire error,
125
125
  // no capture), so the log line is the only trace an operator gets — assert it.
@@ -1626,8 +1626,8 @@ describe("POST /v1/plugins/install", () => {
1626
1626
  // The default (no-pin) path reads the same gated catalog `search`
1627
1627
  // advertises and installs from a trusted pre-resolved source — no direct
1628
1628
  // `plugins/marketplace.json` fetch (the pin/marketplace path is untouched).
1629
- const prev = process.env.CADET_DISABLE_PLATFORM;
1630
- process.env.CADET_DISABLE_PLATFORM = "true";
1629
+ const prev = process.env.CADET_DISABLE_CLOUD;
1630
+ process.env.CADET_DISABLE_CLOUD = "true";
1631
1631
  try {
1632
1632
  installSpy.mockImplementation(async (opts) => trustedInstallResult(opts));
1633
1633
 
@@ -1660,9 +1660,9 @@ describe("POST /v1/plugins/install", () => {
1660
1660
  });
1661
1661
  } finally {
1662
1662
  if (prev === undefined) {
1663
- delete process.env.CADET_DISABLE_PLATFORM;
1663
+ delete process.env.CADET_DISABLE_CLOUD;
1664
1664
  } else {
1665
- process.env.CADET_DISABLE_PLATFORM = prev;
1665
+ process.env.CADET_DISABLE_CLOUD = prev;
1666
1666
  }
1667
1667
  }
1668
1668
  });