@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
@@ -42,7 +42,7 @@ const SLACK_PROVIDER_INJECTION_TEMPLATES: NonNullable<
42
42
  * every startup. Only Cadet implementation fields (authorizeUrl, tokenExchangeUrl,
43
43
  * refreshUrl, tokenEndpointAuthMethod, userinfoUrl, authorizeParams,
44
44
  * pingUrl, pingMethod, pingHeaders, pingBody, revokeUrl, revokeBodyTemplate,
45
- * managedServiceConfigKey, managedServiceIsPaid,
45
+ * cloudServiceConfigKey, managedServiceIsPaid,
46
46
  * loopbackPort, injectionTemplates, appType, setupNotes,
47
47
  * identityUrl, identityMethod, identityHeaders, identityBody,
48
48
  * identityResponsePaths, identityFormat, identityOkField, featureFlag,
@@ -76,7 +76,7 @@ export const PROVIDER_SEED_DATA: Record<
76
76
  availableScopes?: AvailableScopes;
77
77
  scopeSeparator?: string;
78
78
  authorizeParams?: Record<string, string>;
79
- managedServiceConfigKey?: string;
79
+ cloudServiceConfigKey?: string;
80
80
  managedServiceIsPaid?: boolean;
81
81
  displayLabel: string;
82
82
  description: string;
@@ -96,8 +96,8 @@ export const PROVIDER_SEED_DATA: Record<
96
96
  setupNotes?: string[];
97
97
  /**
98
98
  * Per-tenant providers only: the host the user supplies at connect time,
99
- * which the platform substitutes into `{tenant_host}` URL placeholders.
100
- * `pattern` mirrors the platform registry's validation so clients can
99
+ * which the cloud substitutes into `{tenant_host}` URL placeholders.
100
+ * `pattern` mirrors the cloud registry's validation so clients can
101
101
  * reject a malformed host before the request leaves the browser.
102
102
  */
103
103
  tenantHost?: { pattern: string; label: string; placeholder: string };
@@ -155,7 +155,7 @@ export const PROVIDER_SEED_DATA: Record<
155
155
  "https://developers.google.com/identity/protocols/oauth2/scopes",
156
156
  authorizeParams: { access_type: "offline", prompt: "consent" },
157
157
  loopbackPort: 17321,
158
- managedServiceConfigKey: "google-oauth",
158
+ cloudServiceConfigKey: "google-oauth",
159
159
  injectionTemplates: [
160
160
  {
161
161
  hostPattern: "gmail.googleapis.com",
@@ -292,7 +292,7 @@ export const PROVIDER_SEED_DATA: Record<
292
292
  authorizeParams: { owner: "user" },
293
293
  tokenEndpointAuthMethod: "client_secret_basic",
294
294
  tokenExchangeBodyFormat: "json",
295
- managedServiceConfigKey: "notion-oauth",
295
+ cloudServiceConfigKey: "notion-oauth",
296
296
  loopbackPort: 17323,
297
297
  injectionTemplates: [
298
298
  {
@@ -335,7 +335,7 @@ export const PROVIDER_SEED_DATA: Record<
335
335
  "https://developer.x.com/en/docs/authentication/oauth-2-0/authorization-code",
336
336
  tokenEndpointAuthMethod: "client_secret_basic",
337
337
  loopbackPort: 17335,
338
- managedServiceConfigKey: "twitter-oauth",
338
+ cloudServiceConfigKey: "twitter-oauth",
339
339
  managedServiceIsPaid: true,
340
340
  injectionTemplates: [
341
341
  {
@@ -372,7 +372,7 @@ export const PROVIDER_SEED_DATA: Record<
372
372
  defaultScopes: ["repo", "read:user", "notifications"],
373
373
  availableScopes:
374
374
  "https://docs.github.com/en/apps/oauth-apps/building-oauth-apps/scopes-for-oauth-apps",
375
- managedServiceConfigKey: "github-oauth",
375
+ cloudServiceConfigKey: "github-oauth",
376
376
  loopbackPort: 17332,
377
377
  injectionTemplates: [
378
378
  {
@@ -421,7 +421,7 @@ export const PROVIDER_SEED_DATA: Record<
421
421
  scopeSeparator: ",",
422
422
  authorizeParams: { prompt: "consent" },
423
423
  loopbackPort: 17324,
424
- managedServiceConfigKey: "linear-oauth",
424
+ cloudServiceConfigKey: "linear-oauth",
425
425
  injectionTemplates: [
426
426
  {
427
427
  hostPattern: "api.linear.app",
@@ -506,7 +506,7 @@ export const PROVIDER_SEED_DATA: Record<
506
506
  { scope: "project:delete", description: "Delete entire projects" },
507
507
  ],
508
508
  loopbackPort: 17325,
509
- managedServiceConfigKey: "todoist-oauth",
509
+ cloudServiceConfigKey: "todoist-oauth",
510
510
  injectionTemplates: [
511
511
  {
512
512
  hostPattern: "api.todoist.com",
@@ -543,7 +543,7 @@ export const PROVIDER_SEED_DATA: Record<
543
543
  availableScopes:
544
544
  "https://discord.com/developers/docs/topics/oauth2#shared-resources-oauth2-scopes",
545
545
  loopbackPort: 17326,
546
- managedServiceConfigKey: "discord-oauth",
546
+ cloudServiceConfigKey: "discord-oauth",
547
547
  injectionTemplates: [
548
548
  {
549
549
  hostPattern: "discord.com",
@@ -614,7 +614,7 @@ export const PROVIDER_SEED_DATA: Record<
614
614
  defaultScopes: ["default"],
615
615
  availableScopes: "https://developers.asana.com/docs/oauth-scopes",
616
616
  loopbackPort: 17328,
617
- managedServiceConfigKey: "asana-oauth",
617
+ cloudServiceConfigKey: "asana-oauth",
618
618
  injectionTemplates: [
619
619
  {
620
620
  hostPattern: "app.asana.com",
@@ -683,7 +683,7 @@ export const PROVIDER_SEED_DATA: Record<
683
683
  availableScopes:
684
684
  "https://developers.hubspot.com/docs/guides/apps/authentication/scopes",
685
685
  loopbackPort: 17330,
686
- managedServiceConfigKey: "hubspot-oauth",
686
+ cloudServiceConfigKey: "hubspot-oauth",
687
687
  injectionTemplates: [
688
688
  {
689
689
  hostPattern: "api.hubapi.com",
@@ -860,7 +860,7 @@ export const PROVIDER_SEED_DATA: Record<
860
860
  // time); 17339 is the real next-free slot once all three are seeded
861
861
  // together.
862
862
  loopbackPort: 17339,
863
- managedServiceConfigKey: "monday-oauth",
863
+ cloudServiceConfigKey: "monday-oauth",
864
864
  injectionTemplates: [
865
865
  {
866
866
  hostPattern: "api.monday.com",
@@ -902,7 +902,7 @@ export const PROVIDER_SEED_DATA: Record<
902
902
  defaultScopes: [],
903
903
  tokenEndpointAuthMethod: "client_secret_post",
904
904
  loopbackPort: 17337,
905
- managedServiceConfigKey: "eventbrite-oauth",
905
+ cloudServiceConfigKey: "eventbrite-oauth",
906
906
  injectionTemplates: [
907
907
  {
908
908
  hostPattern: "www.eventbriteapi.com",
@@ -1000,7 +1000,7 @@ export const PROVIDER_SEED_DATA: Record<
1000
1000
  // independently picked the next free port at the time); 17338 is the
1001
1001
  // real next-free slot once both are seeded together.
1002
1002
  loopbackPort: 17338,
1003
- managedServiceConfigKey: "calendly-oauth",
1003
+ cloudServiceConfigKey: "calendly-oauth",
1004
1004
  injectionTemplates: [
1005
1005
  {
1006
1006
  hostPattern: "api.calendly.com",
@@ -1172,7 +1172,7 @@ export const PROVIDER_SEED_DATA: Record<
1172
1172
  ],
1173
1173
  tokenEndpointAuthMethod: "client_secret_basic",
1174
1174
  loopbackPort: 17331,
1175
- managedServiceConfigKey: "figma-oauth",
1175
+ cloudServiceConfigKey: "figma-oauth",
1176
1176
  injectionTemplates: [
1177
1177
  {
1178
1178
  hostPattern: "api.figma.com",
@@ -1231,7 +1231,7 @@ export const PROVIDER_SEED_DATA: Record<
1231
1231
  authorizeParams: { prompt: "select_account" },
1232
1232
  tokenEndpointAuthMethod: "client_secret_post",
1233
1233
  loopbackPort: 17334,
1234
- managedServiceConfigKey: "outlook-oauth",
1234
+ cloudServiceConfigKey: "outlook-oauth",
1235
1235
  injectionTemplates: [
1236
1236
  {
1237
1237
  hostPattern: "graph.microsoft.com",
@@ -1374,13 +1374,13 @@ export const PROVIDER_SEED_DATA: Record<
1374
1374
  tokenEndpointAuthMethod: "client_secret_post",
1375
1375
  // Link's authorize request also needs a `key` param holding the Stripe
1376
1376
  // publishable key of the account behind the OAuth client. Cadet's own
1377
- // key lives in the platform registry, which is the only place it is the
1378
- // right answer: it pairs with the platform's client_id. Seeding it here
1377
+ // key lives in the cloud registry, which is the only place it is the
1378
+ // right answer: it pairs with the cloud's client_id. Seeding it here
1379
1379
  // would hand every self-hosted install our merchant identity to send
1380
1380
  // alongside their own client_id, so BYO is deliberately left without one.
1381
1381
  // See setupNotes.
1382
1382
  loopbackPort: 17340,
1383
- managedServiceConfigKey: "stripe-link-oauth",
1383
+ cloudServiceConfigKey: "stripe-link-oauth",
1384
1384
  injectionTemplates: [
1385
1385
  {
1386
1386
  hostPattern: "api.link.com",
@@ -1391,7 +1391,7 @@ export const PROVIDER_SEED_DATA: Record<
1391
1391
  ],
1392
1392
  appType: "App",
1393
1393
  setupNotes: [
1394
- "Link is available in managed mode only. Its authorize endpoint requires a `key` parameter carrying the Stripe publishable key for the account that owns the OAuth client, and a bring-your-own connection has nowhere to put one: authorizeParams is re-stamped from seed data on every startup and no CLI or API surface sets it. Use managed mode, where the platform supplies both halves.",
1394
+ "Link is available in managed mode only. Its authorize endpoint requires a `key` parameter carrying the Stripe publishable key for the account that owns the OAuth client, and a bring-your-own connection has nowhere to put one: authorizeParams is re-stamped from seed data on every startup and no CLI or API surface sets it. Use managed mode, where the cloud supplies both halves.",
1395
1395
  ],
1396
1396
  // /userinfo returns no id, so email is the only stable-ish handle; phone
1397
1397
  // backstops a wallet that has one but no email on file.
@@ -1581,8 +1581,8 @@ export const PROVIDER_SEED_DATA: Record<
1581
1581
  },
1582
1582
  ],
1583
1583
  loopbackPort: 17341,
1584
- managedServiceConfigKey: "shopify-oauth",
1585
- // Mirrors `extra_config.tenant_host` in the platform provider registry.
1584
+ cloudServiceConfigKey: "shopify-oauth",
1585
+ // Mirrors `extra_config.tenant_host` in the cloud provider registry.
1586
1586
  tenantHost: {
1587
1587
  pattern: "^[a-z0-9][a-z0-9-]*\\.myshopify\\.com$",
1588
1588
  label: "Shop domain",
@@ -1605,7 +1605,7 @@ export const PROVIDER_SEED_DATA: Record<
1605
1605
  // myshopify domain is the stable, human-recognisable handle.
1606
1606
  identityUrl: "https://{tenant_host}/admin/api/2026-07/shop.json",
1607
1607
  identityResponsePaths: ["shop.myshopify_domain", "shop.name"],
1608
- // Gated like monday/figma/stripe-link: the platform side and the
1608
+ // Gated like monday/figma/stripe-link: the cloud side and the
1609
1609
  // shop-domain input in the clients land separately, and until both are
1610
1610
  // in place a visible Shopify tile would offer a connect flow that
1611
1611
  // cannot complete.
@@ -1618,21 +1618,21 @@ export const PROVIDER_SEED_DATA: Record<
1618
1618
  tokenExchangeUrl:
1619
1619
  "https://oauth.platform.intuit.com/oauth2/v1/tokens/bearer",
1620
1620
  // Access tokens live an hour; refresh tokens 100 days and are rotated on
1621
- // every refresh, which the platform persists. Both token endpoints
1621
+ // every refresh, which the cloud persists. Both token endpoints
1622
1622
  // authenticate the client with HTTP Basic.
1623
1623
  refreshUrl: "https://oauth.platform.intuit.com/oauth2/v1/tokens/bearer",
1624
1624
  tokenEndpointAuthMethod: "client_secret_basic",
1625
1625
  // No revokeUrl: Intuit's revocation endpoint wants a JSON body under HTTP
1626
1626
  // Basic client auth, and the daemon's revoke helper only posts an
1627
1627
  // unauthenticated form body, so a seeded URL would fail silently on every
1628
- // your-own disconnect. The platform registry revokes managed tokens itself.
1628
+ // your-own disconnect. The cloud registry revokes managed tokens itself.
1629
1629
  // Every Accounting API path is scoped to the company (realm) the user
1630
1630
  // picked on Intuit's consent screen. The realm arrives only as the
1631
- // callback's `realmId` query parameter; the platform captures it into the
1631
+ // callback's `realmId` query parameter; the cloud captures it into the
1632
1632
  // connection's `provider_params` and fills the `{realm_id}` placeholder
1633
1633
  // server-side, so managed callers send paths relative to the company
1634
1634
  // (`/query`, `/customer/123`). Production and sandbox keys use different
1635
- // hosts; the platform picks the host per environment.
1635
+ // hosts; the cloud picks the host per environment.
1636
1636
  baseUrl: "https://quickbooks.api.intuit.com/v3/company/{realm_id}",
1637
1637
  // No pingUrl: the only company-independent probe would still need the
1638
1638
  // realm in its path, which the ping route cannot fill in (it sends the
@@ -1666,7 +1666,7 @@ export const PROVIDER_SEED_DATA: Record<
1666
1666
  { scope: "address", description: "The signing-in user's address" },
1667
1667
  ],
1668
1668
  loopbackPort: 17342,
1669
- managedServiceConfigKey: "quickbooks-oauth",
1669
+ cloudServiceConfigKey: "quickbooks-oauth",
1670
1670
  injectionTemplates: [
1671
1671
  {
1672
1672
  hostPattern: "quickbooks.api.intuit.com",
@@ -1683,7 +1683,7 @@ export const PROVIDER_SEED_DATA: Record<
1683
1683
  ],
1684
1684
  appType: "App",
1685
1685
  setupNotes: [
1686
- "QuickBooks scopes every Accounting API call to the company (realm) chosen on Intuit's consent screen. Managed connections carry the realm as provider_params.realm_id and requests are sent relative to /v3/company/{realmId}.",
1686
+ "QuickBooks scopes every Accounting API call to the company (realm) chosen on Intuit's consent screen. Cloud connections carry the realm as provider_params.realm_id and requests are sent relative to /v3/company/{realmId}.",
1687
1687
  "Intuit development keys only authorize sandbox companies, which live on sandbox-quickbooks.api.intuit.com; production keys use quickbooks.api.intuit.com.",
1688
1688
  "The Accounting API returns XML unless the request carries Accept: application/json.",
1689
1689
  ],
@@ -1694,7 +1694,7 @@ export const PROVIDER_SEED_DATA: Record<
1694
1694
  "https://quickbooks.api.intuit.com/v3/company/{realm_id}/companyinfo/{realm_id}",
1695
1695
  identityHeaders: { Accept: "application/json" },
1696
1696
  identityResponsePaths: ["CompanyInfo.CompanyName", "CompanyInfo.LegalName"],
1697
- // Gated like figma/shopify: the platform side lands separately, and until
1697
+ // Gated like figma/shopify: the cloud side lands separately, and until
1698
1698
  // the client ids are live a visible tile would offer a connect flow that
1699
1699
  // cannot complete.
1700
1700
  featureFlag: "quickbooks-oauth",
@@ -9,7 +9,7 @@ import type { ApprovalMode, ApprovalReason } from "./types.js";
9
9
  * "allow" — auto-allowed by policy (sandbox, trust rule, or threshold)
10
10
  * "deny" — user denied via interactive prompt
11
11
  * "denied" — system denied (no interactive client, or trust rule deny)
12
- * "platform_auto_approve" — guardian bash in platform-hosted session
12
+ * "platform_auto_approve" — guardian bash in cloud-hosted session
13
13
  * "guardian_auto_approve" — non-interactive guardian session within background threshold
14
14
  */
15
15
  export function mapApprovalProvenance(
@@ -7,12 +7,11 @@
7
7
 
8
8
  import { beforeEach, describe, expect, mock, test } from "bun:test";
9
9
 
10
+ import { setAllFlagsOffForTesting } from "../__tests__/feature-flag-test-helpers.js";
11
+
10
12
  // ── Module mocks ─────────────────────────────────────────────────────────────
11
13
 
12
14
  // Mock feature flags to return false by default.
13
- mock.module("../config/assistant-feature-flags.js", () => ({
14
- isAssistantFeatureFlagEnabled: () => false,
15
- }));
16
15
 
17
16
  // `buildPolicyContext` (used by the integration tests below) precomputes the
18
17
  // retrospective skill-improvement gate. Keep the v3 tier active while the
@@ -196,6 +195,9 @@ import { RiskLevel } from "./types.js";
196
195
 
197
196
  describe("Permission Checker (gateway IPC)", () => {
198
197
  beforeEach(() => {
198
+ // Real flag resolution with every default-enabled flag pinned off —
199
+ // replaces the former blanket `() => false` module mock.
200
+ setAllFlagsOffForTesting();
199
201
  mockIsContainerized = false;
200
202
  mockIpcClassifyRiskResult = undefined;
201
203
  lastClassifyRiskParams = undefined;
@@ -883,7 +885,7 @@ describe("Permission Checker (gateway IPC)", () => {
883
885
  // ── Memory-retrospective skill-authoring auto-grant ─────────────────────
884
886
  // The background retrospective guardian session (sourceChannel "cadet",
885
887
  // trustClass "guardian", origin "memory_retrospective") cannot answer
886
- // interactive prompts, so `scaffold_managed_skill`, `find_similar_skills`,
888
+ // interactive prompts, so `scaffold_cloud_skill`, `find_similar_skills`,
887
889
  // and `skill_load skill-management` resolve to allow without prompting. The
888
890
  // grant is scoped to that origin + those tools, and ONLY fires when the
889
891
  // feature is active (`procToSkillsActive: true`).
@@ -896,11 +898,11 @@ describe("Permission Checker (gateway IPC)", () => {
896
898
  procToSkillsActive: true,
897
899
  };
898
900
 
899
- test("allows scaffold_managed_skill for the retrospective origin without prompting", async () => {
901
+ test("allows scaffold_cloud_skill for the retrospective origin without prompting", async () => {
900
902
  // High risk would normally force a prompt — the grant short-circuits
901
903
  // before classification, so no IPC result is needed.
902
904
  const result = await check(
903
- "scaffold_managed_skill",
905
+ "scaffold_cloud_skill",
904
906
  { skill_id: "deploy-preview" },
905
907
  "/home/user/project",
906
908
  retrospectiveContext,
@@ -958,7 +960,7 @@ describe("Permission Checker (gateway IPC)", () => {
958
960
  scopeOptions: [],
959
961
  };
960
962
  const result = await check(
961
- "delete_managed_skill",
963
+ "delete_cloud_skill",
962
964
  { skill_id: "deploy-preview" },
963
965
  "/home/user/project",
964
966
  retrospectiveContext,
@@ -975,7 +977,7 @@ describe("Permission Checker (gateway IPC)", () => {
975
977
  };
976
978
  // A normal interactive turn carries no retrospective origin signals.
977
979
  const result = await check(
978
- "scaffold_managed_skill",
980
+ "scaffold_cloud_skill",
979
981
  { skill_id: "deploy-preview" },
980
982
  "/home/user/project",
981
983
  { executionContext: "conversation" },
@@ -994,7 +996,7 @@ describe("Permission Checker (gateway IPC)", () => {
994
996
  // consolidation origin does not authorize skill authoring; only the
995
997
  // retrospective origin holds this grant.
996
998
  const result = await check(
997
- "scaffold_managed_skill",
999
+ "scaffold_cloud_skill",
998
1000
  { skill_id: "deploy-preview" },
999
1001
  "/home/user/project",
1000
1002
  {
@@ -1018,7 +1020,7 @@ describe("Permission Checker (gateway IPC)", () => {
1018
1020
  // Same guardian/cadet background trust, but a different origin (e.g.
1019
1021
  // the memory sweep job) must not inherit the retrospective grant.
1020
1022
  const result = await check(
1021
- "scaffold_managed_skill",
1023
+ "scaffold_cloud_skill",
1022
1024
  { skill_id: "deploy-preview" },
1023
1025
  "/home/user/project",
1024
1026
  {
@@ -1040,7 +1042,7 @@ describe("Permission Checker (gateway IPC)", () => {
1040
1042
  scopeOptions: [],
1041
1043
  };
1042
1044
  const result = await check(
1043
- "scaffold_managed_skill",
1045
+ "scaffold_cloud_skill",
1044
1046
  { skill_id: "deploy-preview" },
1045
1047
  "/home/user/project",
1046
1048
  {
@@ -1065,7 +1067,7 @@ describe("Permission Checker (gateway IPC)", () => {
1065
1067
  // inactive — `procToSkillsActive` is not true — so the grant must NOT
1066
1068
  // fire and the high-risk tool prompts.
1067
1069
  const result = await check(
1068
- "scaffold_managed_skill",
1070
+ "scaffold_cloud_skill",
1069
1071
  { skill_id: "deploy-preview" },
1070
1072
  "/home/user/project",
1071
1073
  { ...retrospectiveContext, procToSkillsActive: false },
@@ -1083,7 +1085,7 @@ describe("Permission Checker (gateway IPC)", () => {
1083
1085
 
1084
1086
  /** A bare core tool — `buildPolicyContext` reads only `tool.name`/owner. */
1085
1087
  const scaffoldTool = {
1086
- name: "scaffold_managed_skill",
1088
+ name: "scaffold_cloud_skill",
1087
1089
  } as unknown as Tool;
1088
1090
 
1089
1091
  /** The ToolContext a memory-retrospective pass produces. */
@@ -1116,7 +1118,7 @@ describe("Permission Checker (gateway IPC)", () => {
1116
1118
  expect(policyContext.procToSkillsActive).toBe(true);
1117
1119
 
1118
1120
  const result = await check(
1119
- "scaffold_managed_skill",
1121
+ "scaffold_cloud_skill",
1120
1122
  { skill_id: "deploy-preview" },
1121
1123
  "/home/user/project",
1122
1124
  policyContext,
@@ -1148,7 +1150,7 @@ describe("Permission Checker (gateway IPC)", () => {
1148
1150
  expect(policyContext.requestOrigin).toBeUndefined();
1149
1151
 
1150
1152
  const result = await check(
1151
- "scaffold_managed_skill",
1153
+ "scaffold_cloud_skill",
1152
1154
  { skill_id: "deploy-preview" },
1153
1155
  "/home/user/project",
1154
1156
  policyContext,
@@ -1176,7 +1178,7 @@ describe("Permission Checker (gateway IPC)", () => {
1176
1178
  expect(policyContext.requestOrigin).toBe("memory_retrospective");
1177
1179
 
1178
1180
  const result = await check(
1179
- "scaffold_managed_skill",
1181
+ "scaffold_cloud_skill",
1180
1182
  { skill_id: "deploy-preview" },
1181
1183
  "/home/user/project",
1182
1184
  policyContext,
@@ -476,7 +476,7 @@ function buildClassifyRiskParams(
476
476
 
477
477
  // ── Skill tools ──
478
478
  if (
479
- ["skill_load", "scaffold_managed_skill", "delete_managed_skill"].includes(
479
+ ["skill_load", "scaffold_cloud_skill", "delete_cloud_skill"].includes(
480
480
  toolName,
481
481
  )
482
482
  ) {
@@ -610,7 +610,7 @@ export async function classifyRisk(
610
610
  }
611
611
 
612
612
  // ── Background memory-retrospective skill-authoring auto-grant ────────────────
613
- // Skill scaffolding (`scaffold_managed_skill`, risk: high + allowlist-gated),
613
+ // Skill scaffolding (`scaffold_cloud_skill`, risk: high + allowlist-gated),
614
614
  // finding similar skills (`find_similar_skills`), and loading the
615
615
  // `skill-management` skill (`skill_load skill-management`, which exposes the
616
616
  // scaffold tool) require an interactive approval. The memory-retrospective
@@ -640,7 +640,7 @@ function isRetrospectiveSkillAuthoringGrant(
640
640
  ) {
641
641
  return false;
642
642
  }
643
- if (toolName === "scaffold_managed_skill") {
643
+ if (toolName === "scaffold_cloud_skill") {
644
644
  return true;
645
645
  }
646
646
  if (toolName === "find_similar_skills") {
@@ -25,8 +25,8 @@
25
25
  * on first write so opting in requires no out-of-band DDL.
26
26
  */
27
27
  import type { AgentEvent } from "../agent/loop.js";
28
+ import { resolveCloudAssistantIdOrNull } from "../config/cloud-identity.js";
28
29
  import { getConfig } from "../config/loader.js";
29
- import { resolvePlatformAssistantIdOrNull } from "../config/platform-identity.js";
30
30
  import type { CompactionLogsClickHouseConfig } from "../config/schemas/compaction-logs.js";
31
31
  import { credentialKey } from "../security/credential-key.js";
32
32
  import { getSecureKeyAsync } from "../security/secure-keys.js";
@@ -164,7 +164,7 @@ export class ClickHouseCompactionLogStore {
164
164
  deps.resolvePassword ??
165
165
  (() => readCredentialOrNull("clickhouse", "password"));
166
166
  this.resolveAssistantId =
167
- deps.resolveAssistantId ?? resolvePlatformAssistantIdOrNull;
167
+ deps.resolveAssistantId ?? resolveCloudAssistantIdOrNull;
168
168
  this.fetchImpl = deps.fetchImpl ?? globalThis.fetch.bind(globalThis);
169
169
  }
170
170
 
@@ -408,7 +408,7 @@ export class ClickHouseCompactionLogStore {
408
408
  const val = await this.resolveAssistantId();
409
409
  if (!val) {
410
410
  throw new Error(
411
- "cadet:platform_assistant_id credential is required when compactionLogs.destination=clickhouse",
411
+ "Cadet Cloud assistant id is required when compactionLogs.destination=clickhouse",
412
412
  );
413
413
  }
414
414
  this.cachedAssistantId = val;
@@ -31,14 +31,14 @@ function setKey(provider: string, value: string | undefined): void {
31
31
 
32
32
  const DISABLED_PROXY_CONTEXT = {
33
33
  enabled: false,
34
- platformBaseUrl: "",
34
+ cloudBaseUrl: "",
35
35
  assistantApiKey: "",
36
36
  };
37
- const resolveManagedProxyContextMock = mock(async () => DISABLED_PROXY_CONTEXT);
38
- mock.module("../../providers/platform-proxy/context.js", () => ({
39
- resolveManagedProxyContext: resolveManagedProxyContextMock,
40
- hasManagedProxyPrereqs: mock(async () => false),
41
- buildManagedBaseUrl: mock(async () => undefined),
37
+ const resolveCloudProxyContextMock = mock(async () => DISABLED_PROXY_CONTEXT);
38
+ mock.module("../../providers/cloud-proxy/context.js", () => ({
39
+ resolveCloudProxyContext: resolveCloudProxyContextMock,
40
+ hasCloudProxyPrereqs: mock(async () => false),
41
+ buildCloudBaseUrl: mock(async () => undefined),
42
42
  managedFallbackEnabledFor: mock(async () => false),
43
43
  }));
44
44
 
@@ -274,7 +274,7 @@ const GEMINI_CONFIG = {
274
274
 
275
275
  const ENABLED_PROXY_CONTEXT = {
276
276
  enabled: true,
277
- platformBaseUrl: "https://proxy.example.com",
277
+ cloudBaseUrl: "https://proxy.example.com",
278
278
  assistantApiKey: "stale-platform-key",
279
279
  };
280
280
 
@@ -285,13 +285,13 @@ function jsonResponse(body: unknown, status: number): Response {
285
285
  });
286
286
  }
287
287
 
288
- describe("managed-proxy Gemini fallback to direct key", () => {
288
+ describe("cloud-proxy Gemini fallback to direct key", () => {
289
289
  const originalFetch = globalThis.fetch;
290
290
  let fetchMock: ReturnType<typeof mock>;
291
291
 
292
292
  beforeEach(() => {
293
293
  clearEmbeddingBackendCache();
294
- // Managed-proxy requests (proxy.example.com) are rejected like a platform
294
+ // Managed-proxy requests (proxy.example.com) are rejected like a cloud
295
295
  // proxy with a bad credential; direct Google API requests succeed.
296
296
  fetchMock = mock(async (url: string | URL) => {
297
297
  if (String(url).startsWith("https://proxy.example.com/")) {
@@ -306,14 +306,14 @@ describe("managed-proxy Gemini fallback to direct key", () => {
306
306
  globalThis.fetch = originalFetch;
307
307
  clearEmbeddingBackendCache();
308
308
  secureKeys.clear();
309
- resolveManagedProxyContextMock.mockReset();
310
- resolveManagedProxyContextMock.mockImplementation(
309
+ resolveCloudProxyContextMock.mockReset();
310
+ resolveCloudProxyContextMock.mockImplementation(
311
311
  async () => DISABLED_PROXY_CONTEXT,
312
312
  );
313
313
  });
314
314
 
315
- test("falls back to the direct key when the managed-proxy primary fails", async () => {
316
- resolveManagedProxyContextMock.mockImplementation(
315
+ test("falls back to the direct key when the cloud-proxy primary fails", async () => {
316
+ resolveCloudProxyContextMock.mockImplementation(
317
317
  async () => ENABLED_PROXY_CONTEXT,
318
318
  );
319
319
  setKey("gemini", "direct-key");
@@ -339,8 +339,8 @@ describe("managed-proxy Gemini fallback to direct key", () => {
339
339
  expect(directUrl).toContain("key=direct-key");
340
340
  });
341
341
 
342
- test("surfaces the managed-proxy error when no direct key exists", async () => {
343
- resolveManagedProxyContextMock.mockImplementation(
342
+ test("surfaces the cloud-proxy error when no direct key exists", async () => {
343
+ resolveCloudProxyContextMock.mockImplementation(
344
344
  async () => ENABLED_PROXY_CONTEXT,
345
345
  );
346
346
 
@@ -350,7 +350,7 @@ describe("managed-proxy Gemini fallback to direct key", () => {
350
350
  expect(fetchMock).toHaveBeenCalledTimes(1);
351
351
  });
352
352
 
353
- test("uses the direct key as primary when the managed proxy is disabled", async () => {
353
+ test("uses the direct key as primary when the cloud proxy is disabled", async () => {
354
354
  setKey("gemini", "direct-key");
355
355
 
356
356
  const result = await embedWithBackend(GEMINI_CONFIG, ["another input"]);
@@ -4,8 +4,8 @@ import { getOllamaBaseUrlEnv } from "../../config/env.js";
4
4
  import { resolveCallSiteConfig } from "../../config/llm-resolver.js";
5
5
  import { isMemoryEnabled } from "../../config/memory-v3-gate.js";
6
6
  import type { AssistantConfig } from "../../config/types.js";
7
- import { PLATFORM_PROVIDER_META } from "../../providers/platform-proxy/constants.js";
8
- import { resolveManagedProxyContext } from "../../providers/platform-proxy/context.js";
7
+ import { PLATFORM_PROVIDER_META } from "../../providers/cloud-proxy/constants.js";
8
+ import { resolveCloudProxyContext } from "../../providers/cloud-proxy/context.js";
9
9
  import { getProviderKeyAsync } from "../../security/secure-keys.js";
10
10
  import { getLogger } from "../../util/logger.js";
11
11
  import {
@@ -522,19 +522,19 @@ function getCustomEmbeddingBackend(
522
522
  }
523
523
 
524
524
  /**
525
- * Build (or reuse) the managed-proxy Gemini backend, or return undefined
526
- * when the managed proxy prerequisites (platform URL + assistant API key)
525
+ * Build (or reuse) the cloud-proxy Gemini backend, or return undefined
526
+ * when the cloud proxy prerequisites (platform URL + assistant API key)
527
527
  * are not satisfied.
528
528
  */
529
529
  async function tryGetManagedGeminiBackend(
530
530
  config: AssistantConfig,
531
531
  ): Promise<EmbeddingBackend | undefined> {
532
- const proxyCtx = await resolveManagedProxyContext();
532
+ const proxyCtx = await resolveCloudProxyContext();
533
533
  const meta = PLATFORM_PROVIDER_META["gemini"];
534
534
  if (!proxyCtx.enabled || !meta?.managed || !meta.proxyPath) {
535
535
  return undefined;
536
536
  }
537
- const managedBaseUrl = `${proxyCtx.platformBaseUrl}${meta.proxyPath}`;
537
+ const cloudBaseUrl = `${proxyCtx.cloudBaseUrl}${meta.proxyPath}`;
538
538
  return getCachedOrCreate(
539
539
  "gemini",
540
540
  config.memory.embeddings.geminiModel,
@@ -545,7 +545,7 @@ async function tryGetManagedGeminiBackend(
545
545
  {
546
546
  taskType: config.memory.embeddings.geminiTaskType,
547
547
  dimensions: config.memory.embeddings.geminiDimensions ?? 3072,
548
- managedBaseUrl,
548
+ cloudBaseUrl,
549
549
  },
550
550
  ),
551
551
  [...geminiCacheExtras(config), "managed"],
@@ -607,8 +607,8 @@ export async function selectEmbeddingBackend(
607
607
  };
608
608
  }
609
609
 
610
- // When managed proxy prerequisites are satisfied, insert managed-proxy Gemini
611
- // at the front of the auto chain so platform assistants use Cadet-managed
610
+ // When cloud proxy prerequisites are satisfied, insert cloud-proxy Gemini
611
+ // at the front of the auto chain so platform assistants use Cadet Cloud
612
612
  // Gemini embeddings.
613
613
  if (requested === "auto" || requested === "gemini") {
614
614
  const managed = await tryGetManagedGeminiBackend(config);
@@ -817,7 +817,7 @@ export async function isEmbeddingDimensionAvailable(
817
817
  }
818
818
 
819
819
  // Probe the exact backend chain `embedWithBackend` would try (primary +
820
- // auto-mode fallbacks + the managed→direct Gemini fallback) via the shared
820
+ // auto-mode fallbacks + the cloud→direct Gemini fallback) via the shared
821
821
  // assembler, so this preflight can never be more pessimistic than the real
822
822
  // embed path. Dense recall stays available if ANY backend in the chain
823
823
  // produces the committed dimension. `resolveBackendDimension` memoizes per
@@ -898,7 +898,7 @@ export class EmbeddingBackendUnavailableError extends Error {
898
898
  * Assemble the ordered backend chain {@link embedWithBackend} will try for a
899
899
  * given primary selection: the primary, then (in `auto` mode, non-Gemini
900
900
  * primary) the configured fallbacks, then a direct-key Gemini fallback when the
901
- * primary is managed-proxy Gemini. This is the single source of truth for the
901
+ * primary is cloud-proxy Gemini. This is the single source of truth for the
902
902
  * fallback chain, shared with the dimension-availability preflight
903
903
  * ({@link isEmbeddingDimensionAvailable}) so the preflight cannot diverge from
904
904
  * what the real embed path attempts.
@@ -916,7 +916,7 @@ async function assembleEmbeddingBackends(
916
916
  ? await selectFallbackBackends(config, primary.provider)
917
917
  : [];
918
918
 
919
- // A managed-proxy Gemini primary can fail at the proxy (e.g. a stale or
919
+ // A cloud-proxy Gemini primary can fail at the proxy (e.g. a stale or
920
920
  // revoked cloud credential) while a valid direct Gemini key sits in the
921
921
  // credential store. The provider chain above never includes Gemini when
922
922
  // Gemini IS the primary, so without this the direct key would never be tried.
@@ -1133,7 +1133,7 @@ async function selectFallbackBackends(
1133
1133
  if (geminiKey) {
1134
1134
  backends.push(getDirectGeminiBackend(config, geminiKey));
1135
1135
  } else {
1136
- // Try managed proxy Gemini as fallback when no direct key exists.
1136
+ // Try cloud proxy Gemini as fallback when no direct key exists.
1137
1137
  const managed = await tryGetManagedGeminiBackend(config);
1138
1138
  if (managed) {
1139
1139
  backends.push(managed);