@mycadet/assistant 0.12.7 → 0.12.8

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (892) hide show
  1. package/README.md +1 -1
  2. package/docs/activation-funnel-telemetry.md +6 -6
  3. package/docs/cadet-doctor.md +7 -7
  4. package/docs/desktop-browser-cli.md +7 -7
  5. package/docs/skills.md +2 -2
  6. package/docs/voice-input-diagnostics.md +1 -1
  7. package/eslint-rules/__tests__/cli-no-daemon-internals.test.ts +2 -2
  8. package/node_modules/@mycadet/avatar-manifest/src/__tests__/notification-avatar.test.ts +1 -1
  9. package/node_modules/@mycadet/avatar-manifest/src/notification-avatar.ts +2 -2
  10. package/node_modules/@mycadet/ces-client/node_modules/@mycadet/service-contracts/package.json +1 -1
  11. package/node_modules/@mycadet/ces-client/node_modules/@mycadet/service-contracts/src/{platform-credential.ts → cloud-credential.ts} +9 -9
  12. package/node_modules/@mycadet/ces-client/node_modules/@mycadet/service-contracts/src/handles.ts +3 -3
  13. package/node_modules/@mycadet/ces-client/node_modules/@mycadet/service-contracts/src/index.ts +1 -1
  14. package/node_modules/@mycadet/ces-client/node_modules/@mycadet/service-contracts/src/ingress.ts +11 -5
  15. package/node_modules/@mycadet/ces-client/node_modules/@mycadet/service-contracts/src/remote-web-pairing.ts +1 -1
  16. package/node_modules/@mycadet/ces-client/node_modules/@mycadet/service-contracts/src/rpc.ts +14 -14
  17. package/node_modules/@mycadet/ces-client/node_modules/@mycadet/service-contracts/src/trust-rules.ts +5 -5
  18. package/node_modules/@mycadet/ces-client/src/rpc-client.ts +1 -1
  19. package/node_modules/@mycadet/credential-storage/src/oauth-runtime.ts +1 -1
  20. package/node_modules/@mycadet/credential-storage/src/static-credentials.ts +1 -1
  21. package/node_modules/@mycadet/environments/src/seeds.ts +6 -6
  22. package/node_modules/@mycadet/environments/src/shell.test.ts +1 -1
  23. package/node_modules/@mycadet/environments/src/types.ts +6 -6
  24. package/node_modules/@mycadet/gateway-client/node_modules/@mycadet/service-contracts/package.json +1 -1
  25. package/node_modules/@mycadet/gateway-client/node_modules/@mycadet/service-contracts/src/{platform-credential.ts → cloud-credential.ts} +9 -9
  26. package/node_modules/@mycadet/gateway-client/node_modules/@mycadet/service-contracts/src/handles.ts +3 -3
  27. package/node_modules/@mycadet/gateway-client/node_modules/@mycadet/service-contracts/src/index.ts +1 -1
  28. package/node_modules/@mycadet/gateway-client/node_modules/@mycadet/service-contracts/src/ingress.ts +11 -5
  29. package/node_modules/@mycadet/gateway-client/node_modules/@mycadet/service-contracts/src/remote-web-pairing.ts +1 -1
  30. package/node_modules/@mycadet/gateway-client/node_modules/@mycadet/service-contracts/src/rpc.ts +14 -14
  31. package/node_modules/@mycadet/gateway-client/node_modules/@mycadet/service-contracts/src/trust-rules.ts +5 -5
  32. package/node_modules/@mycadet/gateway-client/src/binding-strength-contract.ts +5 -5
  33. package/node_modules/@mycadet/gateway-client/src/gateway-ipc-contracts.ts +1 -1
  34. package/node_modules/@mycadet/gateway-client/src/inbound-contract.ts +2 -2
  35. package/node_modules/@mycadet/gateway-client/src/outbound-contract.ts +1 -1
  36. package/node_modules/@mycadet/service-contracts/package.json +1 -1
  37. package/node_modules/@mycadet/service-contracts/src/{platform-credential.ts → cloud-credential.ts} +9 -9
  38. package/node_modules/@mycadet/service-contracts/src/handles.ts +3 -3
  39. package/node_modules/@mycadet/service-contracts/src/index.ts +1 -1
  40. package/node_modules/@mycadet/service-contracts/src/ingress.ts +11 -5
  41. package/node_modules/@mycadet/service-contracts/src/remote-web-pairing.ts +1 -1
  42. package/node_modules/@mycadet/service-contracts/src/rpc.ts +14 -14
  43. package/node_modules/@mycadet/service-contracts/src/trust-rules.ts +5 -5
  44. package/openapi.yaml +6815 -794
  45. package/package.json +2 -2
  46. package/scripts/build-test-fixtures.ts +1 -1
  47. package/scripts/probe-skill-retrieval.ts +1 -1
  48. package/scripts/sync-llm-catalog.ts +2 -2
  49. package/scripts/voice-ttft-spike.ts +2 -2
  50. package/src/__tests__/adaptive-thinking-repair.test.ts +4 -4
  51. package/src/__tests__/agent-loop-override-profile.test.ts +4 -4
  52. package/src/__tests__/agent-loop-subagent-billing-headers.test.ts +1 -1
  53. package/src/__tests__/anthropic-provider.test.ts +2 -2
  54. package/src/__tests__/available-skills.test.ts +11 -12
  55. package/src/__tests__/avatar-identity-sync.test.ts +1 -1
  56. package/src/__tests__/byok-default-profile-ensure.test.ts +7 -7
  57. package/src/__tests__/call-domain.test.ts +1 -1
  58. package/src/__tests__/call-site-routing-connection-auto-resolve.test.ts +2 -2
  59. package/src/__tests__/catalog-files.test.ts +10 -10
  60. package/src/__tests__/catalog-install-normalize.test.ts +3 -3
  61. package/src/__tests__/channel-availability-routes.test.ts +8 -8
  62. package/src/__tests__/channel-readiness-routes.test.ts +4 -4
  63. package/src/__tests__/channel-readiness-service.test.ts +14 -14
  64. package/src/__tests__/channel-readiness-telegram-remote.test.ts +1 -1
  65. package/src/__tests__/chat-reveal-guard-priming.test.ts +5 -6
  66. package/src/__tests__/checker.test.ts +6 -6
  67. package/src/__tests__/clawhub.test.ts +1 -1
  68. package/src/__tests__/{platform-callback-registration.test.ts → cloud-callback-registration.test.ts} +66 -90
  69. package/src/__tests__/{platform-client-verify-credential.test.ts → cloud-client-verify-credential.test.ts} +14 -14
  70. package/src/__tests__/{managed-credential-catalog-cli.test.ts → cloud-credential-catalog-cli.test.ts} +41 -41
  71. package/src/__tests__/{managed-fallback-dispatch.test.ts → cloud-fallback-dispatch.test.ts} +21 -16
  72. package/src/__tests__/{managed-profile-guard.test.ts → cloud-profile-guard.test.ts} +60 -60
  73. package/src/__tests__/{platform-proxy-context.test.ts → cloud-proxy-context.test.ts} +44 -44
  74. package/src/__tests__/{managed-speech-defaults.test.ts → cloud-speech-defaults.test.ts} +41 -41
  75. package/src/__tests__/{managed-store.test.ts → cloud-store.test.ts} +99 -99
  76. package/src/__tests__/compaction-events.test.ts +7 -5
  77. package/src/__tests__/config-loader-backfill.test.ts +65 -65
  78. package/src/__tests__/config-loader-cloud-defaults.test.ts +373 -0
  79. package/src/__tests__/config-loader-corrupt.test.ts +1 -1
  80. package/src/__tests__/config-loader-validation-reset-notice.test.ts +1 -1
  81. package/src/__tests__/config-schema.test.ts +3 -3
  82. package/src/__tests__/{config-set-platform-guard.test.ts → config-set-cloud-guard.test.ts} +6 -6
  83. package/src/__tests__/config-watcher-cleanup-throttle.test.ts +0 -8
  84. package/src/__tests__/config-watcher.test.ts +1 -1
  85. package/src/__tests__/contacts-write.test.ts +1 -1
  86. package/src/__tests__/conversation-agent-loop.test.ts +2 -2
  87. package/src/__tests__/conversation-app-control-instantiation.test.ts +18 -18
  88. package/src/__tests__/conversation-error.test.ts +45 -45
  89. package/src/__tests__/conversation-inference-profile-route.test.ts +4 -4
  90. package/src/__tests__/conversation-rendered-delegation-state.test.ts +4 -4
  91. package/src/__tests__/conversation-skill-tools.test.ts +7 -8
  92. package/src/__tests__/conversation-slash.test.ts +2 -2
  93. package/src/__tests__/conversation-speed-override.test.ts +8 -10
  94. package/src/__tests__/conversation-summarize-up-to.test.ts +4 -4
  95. package/src/__tests__/conversation-surfaces-activation-emit.test.ts +1 -1
  96. package/src/__tests__/conversation-wait-for-idle.test.ts +7 -5
  97. package/src/__tests__/credential-execution-api-key-propagation.test.ts +5 -5
  98. package/src/__tests__/{credential-execution-managed-contract.test.ts → credential-execution-cloud-contract.test.ts} +24 -24
  99. package/src/__tests__/credential-health-service.test.ts +27 -41
  100. package/src/__tests__/credential-routes.test.ts +85 -165
  101. package/src/__tests__/credential-security-invariants.test.ts +6 -7
  102. package/src/__tests__/custom-profile-ensure.test.ts +1 -1
  103. package/src/__tests__/date-context.test.ts +1 -1
  104. package/src/__tests__/default-profile-catalog-fallback.test.ts +15 -15
  105. package/src/__tests__/delete-managed-skill-tool.test.ts +8 -8
  106. package/src/__tests__/discord-callback-round-trip.test.ts +1 -1
  107. package/src/__tests__/disk-usage.test.ts +3 -3
  108. package/src/__tests__/email-invite-adapter.test.ts +5 -5
  109. package/src/__tests__/{embedding-managed-proxy-selection.test.ts → embedding-cloud-proxy-selection.test.ts} +44 -43
  110. package/src/__tests__/emit-signal-routing-intent.test.ts +13 -15
  111. package/src/__tests__/events-dev-bypass-actor.test.ts +2 -2
  112. package/src/__tests__/fallback-breaker.test.ts +7 -7
  113. package/src/__tests__/feature-flag-test-helpers.ts +106 -0
  114. package/src/__tests__/gateway-flag-listener.test.ts +1 -1
  115. package/src/__tests__/gemini-image-service.test.ts +2 -2
  116. package/src/__tests__/gemini-provider.test.ts +5 -5
  117. package/src/__tests__/get-skill-detail-audit.test.ts +9 -8
  118. package/src/__tests__/guardian-verification-voice-binding.test.ts +1 -1
  119. package/src/__tests__/handlers-skills-memory-v2-reseed.test.ts +5 -5
  120. package/src/__tests__/host-cu-routes-targeted.test.ts +8 -8
  121. package/src/__tests__/image-credentials.test.ts +13 -13
  122. package/src/__tests__/inbound-admitted-introduction-nudge.test.ts +14 -6
  123. package/src/__tests__/inbound-trust-verdict.test.ts +14 -6
  124. package/src/__tests__/inference-no-mode-boot-e2e.test.ts +11 -11
  125. package/src/__tests__/inference-profile-session-handler.test.ts +7 -7
  126. package/src/__tests__/inference-profile-session-ipc.test.ts +5 -5
  127. package/src/__tests__/inference-profile-validation-jev.test.ts +1 -1
  128. package/src/__tests__/init-feature-flag-overrides.test.ts +40 -24
  129. package/src/__tests__/input-repairs.test.ts +1 -1
  130. package/src/__tests__/install-skill-routing.test.ts +10 -8
  131. package/src/__tests__/integration-status.test.ts +5 -5
  132. package/src/__tests__/internal-telemetry-routes.test.ts +3 -3
  133. package/src/__tests__/invite-routes-http.test.ts +1 -1
  134. package/src/__tests__/llm-catalog-parity.test.ts +5 -7
  135. package/src/__tests__/llm-request-log-source-clickhouse.test.ts +2 -2
  136. package/src/__tests__/llm-resolver-override-or-default.test.ts +3 -3
  137. package/src/__tests__/llm-resolver.test.ts +1 -1
  138. package/src/__tests__/llm-schema-fallback-profile.test.ts +25 -19
  139. package/src/__tests__/llm-usage-store.test.ts +1 -1
  140. package/src/__tests__/managed-skill-lifecycle.test.ts +12 -12
  141. package/src/__tests__/mcp-abort-signal.test.ts +2 -2
  142. package/src/__tests__/mcp-client-auth.test.ts +2 -2
  143. package/src/__tests__/mcp-tool-annotations-risk.test.ts +2 -2
  144. package/src/__tests__/media-generate-image.test.ts +30 -30
  145. package/src/__tests__/memory-config-file-parity.test.ts +6 -6
  146. package/src/__tests__/migration-export-to-gcs.test.ts +4 -4
  147. package/src/__tests__/migration-import-commit-http.test.ts +1 -1
  148. package/src/__tests__/mtime-cache.test.ts +2 -2
  149. package/src/__tests__/{notification-platform-adapter.test.ts → notification-cloud-adapter.test.ts} +39 -39
  150. package/src/__tests__/notification-deep-link.test.ts +40 -40
  151. package/src/__tests__/oauth-apps-routes.test.ts +3 -3
  152. package/src/__tests__/oauth-cli.test.ts +9 -9
  153. package/src/__tests__/oauth-commands-routes.test.ts +16 -16
  154. package/src/__tests__/oauth-connect-orchestrator.test.ts +2 -2
  155. package/src/__tests__/oauth-provider-serializer.test.ts +11 -11
  156. package/src/__tests__/oauth-providers-routes.test.ts +12 -12
  157. package/src/__tests__/oauth-store.test.ts +1 -1
  158. package/src/__tests__/oauth2-gateway-transport.test.ts +3 -3
  159. package/src/__tests__/onboarding-persona-write.test.ts +2 -2
  160. package/src/__tests__/openai-image-service.test.ts +2 -2
  161. package/src/__tests__/openai-responses-cutover-guard.test.ts +2 -2
  162. package/src/__tests__/openai-responses-provider.test.ts +1 -1
  163. package/src/__tests__/path-policy.test.ts +4 -4
  164. package/src/__tests__/personal-memory-auth-bypass.test.ts +1 -1
  165. package/src/__tests__/platform-bash-auto-approve.test.ts +18 -18
  166. package/src/__tests__/plugin-api-model-profiles.test.ts +1 -1
  167. package/src/__tests__/plugin-api-provider.test.ts +1 -1
  168. package/src/__tests__/plugin-api-webhook-url.test.ts +4 -5
  169. package/src/__tests__/plugin-import-boundary-guard.test.ts +8 -39
  170. package/src/__tests__/plugin-import-boundary-reverse-guard.test.ts +2 -2
  171. package/src/__tests__/{provider-platform-proxy-integration.test.ts → provider-cloud-proxy-integration.test.ts} +70 -72
  172. package/src/__tests__/provider-commit-message-generator.test.ts +1 -1
  173. package/src/__tests__/provider-connections-backfill.test.ts +9 -9
  174. package/src/__tests__/provider-error-scenarios.test.ts +8 -8
  175. package/src/__tests__/provider-registry-ollama.test.ts +1 -1
  176. package/src/__tests__/provider-send-message-override-profile.test.ts +5 -5
  177. package/src/__tests__/registry.test.ts +3 -3
  178. package/src/__tests__/requests-mock.ts +972 -0
  179. package/src/__tests__/resolve-trust-class.test.ts +1 -1
  180. package/src/__tests__/resource-pressure-guard.test.ts +6 -6
  181. package/src/__tests__/resource-pressure-routes.test.ts +5 -5
  182. package/src/__tests__/retry-fallback-escalation.test.ts +5 -5
  183. package/src/__tests__/sanitize-config-for-transfer.test.ts +1 -1
  184. package/src/__tests__/scaffold-managed-skill-tool.test.ts +97 -97
  185. package/src/__tests__/schedule-store.test.ts +1 -1
  186. package/src/__tests__/search-skills-unified.test.ts +9 -7
  187. package/src/__tests__/{secret-routes-platform-proxy.test.ts → secret-routes-cloud-proxy.test.ts} +48 -95
  188. package/src/__tests__/secret-routes-scrub.test.ts +2 -59
  189. package/src/__tests__/secure-keys.test.ts +1 -1
  190. package/src/__tests__/skill-load-plugin-scope.test.ts +2 -2
  191. package/src/__tests__/skill-load-tool.test.ts +1 -1
  192. package/src/__tests__/skill-projection-feature-flag.test.ts +0 -19
  193. package/src/__tests__/skill-projection.benchmark.test.ts +5 -7
  194. package/src/__tests__/skill-tool-factory.test.ts +1 -1
  195. package/src/__tests__/skills-file-content-endpoint.test.ts +12 -12
  196. package/src/__tests__/skills-files-catalog-fallback.test.ts +9 -9
  197. package/src/__tests__/skills.test.ts +1 -1
  198. package/src/__tests__/slim-skill-category.test.ts +11 -9
  199. package/src/__tests__/stt-stream-session.test.ts +3 -3
  200. package/src/__tests__/subagent-call-site-routing.test.ts +1 -1
  201. package/src/__tests__/subagent-disposal.test.ts +5 -5
  202. package/src/__tests__/subagent-fork-notifications.test.ts +4 -4
  203. package/src/__tests__/subagent-fork-spawn.test.ts +5 -5
  204. package/src/__tests__/subagent-manager-notify.test.ts +5 -5
  205. package/src/__tests__/subagent-tool-gate-mode.test.ts +2 -2
  206. package/src/__tests__/system-prompt.test.ts +1 -1
  207. package/src/__tests__/telegram-bot-username-resolution.test.ts +34 -52
  208. package/src/__tests__/telegram-config.test.ts +16 -16
  209. package/src/__tests__/telephony-tts-guard.test.ts +13 -13
  210. package/src/__tests__/test-preload.ts +17 -7
  211. package/src/__tests__/tool-audit.test.ts +1 -1
  212. package/src/__tests__/tool-execution-pipeline.benchmark.test.ts +7 -5
  213. package/src/__tests__/tool-executor-lifecycle-events.test.ts +1 -1
  214. package/src/__tests__/turn-events-store.test.ts +1 -1
  215. package/src/__tests__/twilio-routes.test.ts +2 -1
  216. package/src/__tests__/ui-choice-copy-surfaces.test.ts +1 -1
  217. package/src/__tests__/unified-turn-context-client-os.test.ts +1 -1
  218. package/src/__tests__/validate-input.test.ts +5 -5
  219. package/src/__tests__/verification-outbound-delivery.test.ts +1 -1
  220. package/src/__tests__/voice-config-update.test.ts +15 -15
  221. package/src/__tests__/voice-ingress-preflight.test.ts +4 -4
  222. package/src/__tests__/web-search.test.ts +340 -859
  223. package/src/__tests__/workspace-git-service.test.ts +1 -1
  224. package/src/__tests__/workspace-migration-082-backfill-managed-profile-labels.test.ts +12 -12
  225. package/src/__tests__/workspace-migration-087-memory-router-balanced-profile.test.ts +1 -1
  226. package/src/__tests__/workspace-migration-090-memory-router-cost-optimized-profile.test.ts +1 -1
  227. package/src/__tests__/workspace-migration-100-upgrade-quality-profile-to-fable-5.test.ts +1 -1
  228. package/src/__tests__/workspace-migration-103-upgrade-quality-profile-to-opus-4-8.test.ts +1 -1
  229. package/src/__tests__/workspace-migration-110-flip-balanced-profile-to-together.test.ts +1 -1
  230. package/src/__tests__/workspace-migration-113-swap-balanced-profile-to-glm-5p2.test.ts +1 -1
  231. package/src/__tests__/workspace-migration-114-swap-quality-profile-to-opus.test.ts +1 -1
  232. package/src/__tests__/workspace-migration-123-swap-quality-profile-to-fable.test.ts +1 -1
  233. package/src/__tests__/workspace-migration-125-repoint-managed-connections-to-cadet.test.ts +3 -3
  234. package/src/__tests__/workspace-migration-126-strip-managed-profile-bodies.test.ts +9 -9
  235. package/src/__tests__/workspace-migration-127-backfill-default-provider.test.ts +11 -11
  236. package/src/__tests__/workspace-migration-130-speech-mode-to-provider.test.ts +3 -3
  237. package/src/__tests__/workspace-migration-132-web-search-mode-to-provider.test.ts +6 -6
  238. package/src/__tests__/workspace-migration-133-collapse-provider-connections.test.ts +3 -3
  239. package/src/__tests__/workspace-migration-134-image-generation-mode-to-provider.test.ts +6 -6
  240. package/src/__tests__/workspace-migration-136-repair-stale-fireworks-kimi-model-id.test.ts +1 -1
  241. package/src/__tests__/workspace-migration-137-repair-retired-fireworks-minimax-model-id.test.ts +1 -1
  242. package/src/__tests__/workspace-migration-146-repair-retired-fireworks-deepseek-flash-model-id.test.ts +1 -1
  243. package/src/__tests__/workspace-migration-147-rename-colliding-backup-profile-names.test.ts +1 -1
  244. package/src/__tests__/workspace-migration-151-repair-renamed-fireworks-deepseek-pro-model-id.test.ts +1 -1
  245. package/src/__tests__/workspace-migration-152-repair-retired-fireworks-minimax-m2p7-model-id.test.ts +1 -1
  246. package/src/__tests__/workspace-migration-159-rename-colliding-jev-profile-name.test.ts +1 -1
  247. package/src/__tests__/workspace-migration-160-repair-retired-fireworks-model-ids.test.ts +1 -1
  248. package/src/__tests__/workspace-migration-161-repair-retired-fireworks-glm-5p2-model-id.test.ts +1 -1
  249. package/src/api/events/cloud-disconnected.ts +21 -0
  250. package/src/api/events/host-bash.ts +1 -1
  251. package/src/api/events/host-cu.ts +1 -1
  252. package/src/api/events/host-file.ts +1 -1
  253. package/src/api/events/notification-intent.ts +1 -1
  254. package/src/api/events/{show-platform-login.ts → show-cloud-login.ts} +3 -5
  255. package/src/api/index.ts +11 -11
  256. package/src/api/responses/home.ts +1 -1
  257. package/src/api/surfaces.ts +4 -4
  258. package/src/approvals/guardian-request-resolvers.ts +2 -2
  259. package/src/avatar/accent-backfill.ts +1 -1
  260. package/src/avatar/identity-avatar.ts +1 -1
  261. package/src/avatar/notification-avatar.test.ts +2 -2
  262. package/src/avatar/notification-avatar.ts +2 -2
  263. package/src/avatar/resvg-lazy.test.ts +1 -1
  264. package/src/avatar/resvg-lazy.ts +3 -3
  265. package/src/avatar/sync-avatar.test.ts +76 -76
  266. package/src/avatar/sync-avatar.ts +15 -15
  267. package/src/avatar/traits-png-sync.ts +1 -1
  268. package/src/background-wake/background-wake-routes.test.ts +39 -39
  269. package/src/background-wake/{platform-client.test.ts → cloud-client.test.ts} +11 -11
  270. package/src/background-wake/{platform-client.ts → cloud-client.ts} +14 -14
  271. package/src/background-wake/publisher.ts +4 -4
  272. package/src/background-wake/wake-intent-hooks.test.ts +3 -3
  273. package/src/calls/__tests__/call-controller.test.ts +2 -2
  274. package/src/calls/__tests__/voice-session-bridge.test.ts +1 -1
  275. package/src/calls/call-domain.ts +1 -1
  276. package/src/calls/resolve-call-tts-provider.ts +6 -6
  277. package/src/calls/telephony-credential-preflight.ts +3 -3
  278. package/src/calls/telephony-tts-capability.ts +5 -6
  279. package/src/calls/tts-call-strategy.ts +1 -1
  280. package/src/calls/voice-escalation-judge.ts +1 -1
  281. package/src/calls/voice-ingress-preflight.ts +4 -4
  282. package/src/cli/bundled-modules.ts +1 -1
  283. package/src/cli/commands/__tests__/apps.test.ts +18 -53
  284. package/src/cli/commands/__tests__/plugins.test.ts +13 -13
  285. package/src/cli/commands/__tests__/tts.test.ts +1 -1
  286. package/src/cli/commands/auth.help.ts +3 -3
  287. package/src/cli/commands/auth.ts +2 -4
  288. package/src/cli/commands/browser.help.ts +2 -2
  289. package/src/cli/commands/channels/index.help.ts +2 -2
  290. package/src/cli/commands/channels/index.ts +1 -1
  291. package/src/cli/commands/channels/send.ts +1 -1
  292. package/src/cli/commands/cloud/__tests__/connect.test.ts +1 -1
  293. package/src/cli/commands/cloud/__tests__/disconnect.test.ts +3 -4
  294. package/src/cli/commands/cloud/connect.ts +2 -2
  295. package/src/cli/commands/cloud/credits-format.ts +1 -1
  296. package/src/cli/commands/cloud/index.help.ts +35 -35
  297. package/src/cli/commands/config.ts +1 -1
  298. package/src/cli/commands/credentials.ts +10 -12
  299. package/src/cli/commands/domain.ts +1 -1
  300. package/src/cli/commands/email.help.ts +1 -1
  301. package/src/cli/commands/email.ts +2 -2
  302. package/src/cli/commands/gateway.help.ts +1 -1
  303. package/src/cli/commands/gateway.ts +1 -1
  304. package/src/cli/commands/image-generation.help.ts +1 -1
  305. package/src/cli/commands/inference-providers.ts +1 -1
  306. package/src/cli/commands/inference.help.ts +2 -2
  307. package/src/cli/commands/memory/index.help.ts +1 -1
  308. package/src/cli/commands/oauth/connect.test.ts +2 -2
  309. package/src/cli/commands/oauth/connect.ts +1 -1
  310. package/src/cli/commands/oauth/index.help.ts +5 -5
  311. package/src/cli/commands/oauth/providers.ts +2 -2
  312. package/src/cli/commands/oauth/shared.ts +3 -3
  313. package/src/cli/commands/plugins.help.ts +2 -3
  314. package/src/cli/commands/plugins.ts +5 -5
  315. package/src/cli/commands/roadmap.help.ts +1 -1
  316. package/src/cli/commands/telemetry.help.ts +2 -2
  317. package/src/cli/commands/telemetry.ts +2 -2
  318. package/src/cli/commands/tts.help.ts +3 -3
  319. package/src/cli/commands/webhooks.help.ts +9 -9
  320. package/src/cli/commands/webhooks.ts +1 -1
  321. package/src/cli/lib/__tests__/inspect-plugin.test.ts +8 -8
  322. package/src/cli/lib/__tests__/{install-from-platform.test.ts → install-from-cloud.test.ts} +54 -54
  323. package/src/cli/lib/__tests__/plugin-catalog-cache.test.ts +18 -18
  324. package/src/cli/lib/__tests__/{plugin-catalog-platform.test.ts → plugin-catalog-cloud.test.ts} +2 -2
  325. package/src/cli/lib/__tests__/plugin-catalog-local.test.ts +1 -1
  326. package/src/cli/lib/__tests__/plugin-catalog-resolve.test.ts +9 -9
  327. package/src/cli/lib/__tests__/plugin-details.test.ts +10 -10
  328. package/src/cli/lib/__tests__/plugins-install-offline.test.ts +24 -24
  329. package/src/cli/lib/bundled-marketplace.json +1 -1
  330. package/src/cli/lib/inspect-plugin.ts +2 -2
  331. package/src/cli/lib/{install-from-platform.ts → install-from-cloud.ts} +29 -29
  332. package/src/cli/lib/install-from-github.ts +4 -4
  333. package/src/cli/lib/plugin-catalog-cache.ts +7 -7
  334. package/src/cli/lib/{plugin-catalog-platform.ts → plugin-catalog-cloud.ts} +6 -6
  335. package/src/cli/lib/plugin-catalog-local.ts +2 -2
  336. package/src/cli/lib/publish-plugin.ts +9 -10
  337. package/src/cli/lib/search-plugins.ts +2 -2
  338. package/src/{platform → cloud}/client.test.ts +85 -86
  339. package/src/{platform → cloud}/client.ts +38 -46
  340. package/src/{platform/platform-patch-queue.test.ts → cloud/cloud-patch-queue.test.ts} +6 -9
  341. package/src/{platform/platform-patch-queue.ts → cloud/cloud-patch-queue.ts} +11 -11
  342. package/src/{platform/managed-speech.test.ts → cloud/cloud-speech.test.ts} +19 -19
  343. package/src/{platform/managed-speech.ts → cloud/cloud-speech.ts} +41 -41
  344. package/src/{platform → cloud}/consent-cache.test.ts +5 -5
  345. package/src/{platform → cloud}/consent-cache.ts +8 -8
  346. package/src/cloud/feature-gate.ts +8 -0
  347. package/src/{platform → cloud}/sync-identity.test.ts +4 -4
  348. package/src/{platform → cloud}/sync-identity.ts +6 -6
  349. package/src/config/__tests__/{platform-identity.test.ts → cloud-identity.test.ts} +54 -56
  350. package/src/config/__tests__/{platform-rehydration.test.ts → cloud-rehydration.test.ts} +47 -80
  351. package/src/config/__tests__/default-profile-catalog.test.ts +12 -12
  352. package/src/config/__tests__/default-provider.test.ts +4 -4
  353. package/src/config/__tests__/deployment-context-defaults.test.ts +23 -23
  354. package/src/config/__tests__/{jev-managed-profile.test.ts → jev-cloud-profile.test.ts} +3 -5
  355. package/src/config/__tests__/loader-callsite-strip-fallback.test.ts +2 -2
  356. package/src/config/__tests__/loader-last-known-good.test.ts +6 -6
  357. package/src/config/__tests__/loader-sparse-array-cleanup.test.ts +2 -2
  358. package/src/config/__tests__/profile-materialization.test.ts +7 -7
  359. package/src/config/__tests__/seed-default-provider.test.ts +17 -17
  360. package/src/config/__tests__/sync-gated-profiles.test.ts +20 -20
  361. package/src/config/__tests__/webhook-routing.test.ts +51 -51
  362. package/src/config/bundled-skills/computer-use/TOOLS.json +12 -12
  363. package/src/config/bundled-skills/messaging/SKILL.md +8 -8
  364. package/src/config/bundled-skills/messaging/TOOLS.json +2 -2
  365. package/src/config/bundled-skills/messaging/tools/messaging-analyze-style.ts +1 -1
  366. package/src/config/bundled-skills/messaging/tools/shared.ts +1 -1
  367. package/src/config/bundled-skills/phone-calls/references/TROUBLESHOOTING.md +2 -2
  368. package/src/config/bundled-skills/settings/TOOLS.json +3 -3
  369. package/src/config/bundled-skills/settings/tools/shared.ts +1 -1
  370. package/src/config/bundled-skills/settings/tools/voice-config-update.ts +12 -12
  371. package/src/config/bundled-skills/skill-management/SKILL.md +3 -3
  372. package/src/config/bundled-skills/skill-management/TOOLS.json +8 -8
  373. package/src/config/bundled-skills/skill-management/tools/{delete-managed.ts → delete-cloud.ts} +2 -2
  374. package/src/config/bundled-skills/skill-management/tools/{scaffold-managed.ts → scaffold-cloud.ts} +2 -2
  375. package/src/config/call-site-defaults.ts +6 -6
  376. package/src/config/{platform-identity.ts → cloud-identity.ts} +39 -42
  377. package/src/config/cloud-rehydration.ts +35 -0
  378. package/src/config/{managed-speech-defaults.ts → cloud-speech-defaults.ts} +13 -13
  379. package/src/config/default-profile-catalog.ts +36 -38
  380. package/src/config/default-profile-names.ts +11 -11
  381. package/src/config/default-provider-resolution.ts +2 -2
  382. package/src/config/default-provider.ts +1 -1
  383. package/src/config/env-registry.ts +23 -21
  384. package/src/config/env.ts +33 -46
  385. package/src/config/feature-flag-registry.json +5 -5
  386. package/src/config/inference-profile-validation.ts +1 -1
  387. package/src/config/llm-resolver.ts +9 -10
  388. package/src/config/loader.ts +33 -17
  389. package/src/config/profile-materialization.ts +8 -8
  390. package/src/config/profile-text-generation.test.ts +1 -1
  391. package/src/config/sanitize-for-transfer.ts +1 -1
  392. package/src/config/schema.ts +6 -6
  393. package/src/config/schemas/__tests__/stt.test.ts +2 -2
  394. package/src/config/schemas/call-site-catalog.ts +1 -1
  395. package/src/config/schemas/channels.ts +8 -0
  396. package/src/config/schemas/{platform.ts → cloud.ts} +7 -6
  397. package/src/config/schemas/host-browser.ts +1 -0
  398. package/src/config/schemas/ingress.ts +1 -12
  399. package/src/config/schemas/llm.ts +45 -36
  400. package/src/config/schemas/memory-lifecycle.ts +11 -1
  401. package/src/config/schemas/services.ts +4 -4
  402. package/src/config/schemas/stt.ts +3 -3
  403. package/src/config/schemas/tts.ts +10 -5
  404. package/src/config/schemas/voice.ts +1 -1
  405. package/src/config/seed-inference-profiles.ts +19 -19
  406. package/src/config/skill-state.ts +2 -2
  407. package/src/config/skills.ts +4 -4
  408. package/src/config/sync-gated-profiles.ts +8 -8
  409. package/src/config/webhook-routing.ts +19 -19
  410. package/src/contacts/contacts-write.ts +1 -1
  411. package/src/credential-execution/ces-runtime.ts +6 -6
  412. package/src/credential-execution/{managed-catalog.ts → cloud-catalog.ts} +24 -24
  413. package/src/credential-execution/prompted-credential.ts +6 -18
  414. package/src/credential-health/credential-health-service.ts +61 -76
  415. package/src/daemon/__tests__/can-spawn-subagents.test.ts +1 -1
  416. package/src/daemon/__tests__/conversation-tool-setup-exclude.test.ts +4 -4
  417. package/src/daemon/config-watcher.ts +2 -2
  418. package/src/daemon/conversation-agent-loop.ts +9 -9
  419. package/src/daemon/conversation-error.ts +36 -36
  420. package/src/daemon/conversation-skill-tools.ts +7 -7
  421. package/src/daemon/conversation-surfaces.ts +1 -1
  422. package/src/daemon/conversation-tool-setup.ts +2 -2
  423. package/src/daemon/conversation-turn-finalize.ts +1 -1
  424. package/src/daemon/conversation-workspace.ts +1 -1
  425. package/src/daemon/conversation.ts +1 -1
  426. package/src/daemon/credential-transcript-scrub.ts +21 -35
  427. package/src/daemon/daemon-readiness.ts +1 -1
  428. package/src/daemon/event-loop-watchdog.ts +2 -2
  429. package/src/daemon/handlers/config-ingress.ts +9 -9
  430. package/src/daemon/handlers/config-telegram.ts +6 -6
  431. package/src/daemon/handlers/skills.ts +20 -20
  432. package/src/daemon/host-cu-proxy.ts +1 -1
  433. package/src/daemon/lifecycle.ts +19 -19
  434. package/src/daemon/parse-actual-tokens-from-error.ts +3 -3
  435. package/src/daemon/providers-setup.ts +6 -6
  436. package/src/daemon/resource-pressure-guard-lifecycle.ts +1 -1
  437. package/src/daemon/resource-pressure-guard.ts +6 -6
  438. package/src/daemon/shutdown-handlers.ts +1 -1
  439. package/src/daemon/sqlite-corruption-watchdog.ts +3 -3
  440. package/src/daemon/trust-context.ts +1 -1
  441. package/src/desktop/desktop-automation-lease.ts +1 -1
  442. package/src/desktop/desktop-browser-endpoint.ts +2 -4
  443. package/src/desktop/desktop-computer-use-routing.test.ts +6 -6
  444. package/src/desktop/desktop-stream-bridge.test.ts +4 -4
  445. package/src/desktop/desktop-stream-bridge.ts +1 -1
  446. package/src/desktop/{virtual-desktop-platform.test.ts → virtual-desktop-cloud.test.ts} +6 -6
  447. package/src/desktop/virtual-desktop-feature.ts +7 -7
  448. package/src/email/byo-email-credential.ts +1 -1
  449. package/src/email/registered-inbox.test.ts +16 -16
  450. package/src/email/registered-inbox.ts +20 -20
  451. package/src/heartbeat/heartbeat-service.ts +1 -1
  452. package/src/hooks/hook-loader.ts +2 -2
  453. package/src/inbound/__tests__/oauth-callback-url.test.ts +2 -2
  454. package/src/inbound/__tests__/tunnel-probe.test.ts +8 -8
  455. package/src/inbound/{platform-callback-registration.ts → cloud-callback-registration.ts} +49 -60
  456. package/src/inbound/oauth-callback-url.ts +6 -6
  457. package/src/inbound/pod-webhook-claim.ts +2 -2
  458. package/src/inbound/public-ingress-urls.ts +3 -3
  459. package/src/inbound/tunnel-probe.ts +21 -15
  460. package/src/inbound/tunnel-webhooks-gate.ts +3 -3
  461. package/src/ipc/__tests__/db-readiness-ipc-gate.test.ts +1 -1
  462. package/src/ipc/__tests__/email-ipc.test.ts +8 -8
  463. package/src/ipc/gateway-client.test.ts +55 -59
  464. package/src/ipc/gateway-flag-listener.ts +3 -3
  465. package/src/ipc/routes/db-proxy.ts +1 -1
  466. package/src/live-voice/__tests__/live-activity-reporter.test.ts +2 -2
  467. package/src/live-voice/__tests__/{live-voice-managed-speech-fallback.test.ts → live-voice-cloud-speech-fallback.test.ts} +15 -15
  468. package/src/live-voice/__tests__/live-voice-credential-preflight.test.ts +7 -7
  469. package/src/live-voice/__tests__/live-voice-stt.test.ts +1 -1
  470. package/src/live-voice/live-activity-reporter.ts +7 -7
  471. package/src/live-voice/live-voice-credential-preflight.ts +6 -6
  472. package/src/live-voice/live-voice-session.ts +3 -3
  473. package/src/live-voice/live-voice-tts.ts +1 -1
  474. package/src/mcp/__tests__/mcp-oauth-client-registration.test.ts +4 -4
  475. package/src/mcp/__tests__/mcp-oauth-provider.test.ts +1 -1
  476. package/src/mcp/mcp-oauth-provider.ts +2 -2
  477. package/src/media/gemini-image-service.ts +11 -13
  478. package/src/media/image-credentials.ts +9 -9
  479. package/src/media/openai-image-service.ts +1 -1
  480. package/src/media/types.ts +3 -3
  481. package/src/messaging/providers/channel-transport.ts +1 -1
  482. package/src/messaging/providers/discord/transport.ts +1 -1
  483. package/src/messaging/providers/gmail/adapter.ts +1 -1
  484. package/src/messaging/providers/gmail/client.ts +4 -4
  485. package/src/messaging/providers/outlook/adapter.ts +1 -1
  486. package/src/messaging/providers/slack/adapter.ts +1 -1
  487. package/src/messaging/providers/slack/transport.ts +1 -1
  488. package/src/messaging/providers/telegram-bot/transport.ts +1 -1
  489. package/src/monitoring/db-integrity-check.ts +1 -1
  490. package/src/monitoring/db-integrity-sample.ts +2 -2
  491. package/src/monitoring/mount-watch.ts +1 -1
  492. package/src/monitoring/oom-kill-reporter.ts +1 -1
  493. package/src/monitoring/worker.ts +5 -5
  494. package/src/notifications/README.md +2 -2
  495. package/src/notifications/__tests__/broadcaster.test.ts +9 -9
  496. package/src/notifications/__tests__/completion-policy.test.ts +1 -1
  497. package/src/notifications/__tests__/emit-signal-pipeline-failure.test.ts +4 -4
  498. package/src/notifications/activity-failed-dedupe.ts +1 -1
  499. package/src/notifications/adapters/{platform.ts → cloud.ts} +8 -8
  500. package/src/notifications/broadcaster.ts +10 -10
  501. package/src/notifications/decision-engine.ts +1 -1
  502. package/src/notifications/destination-resolver.ts +1 -1
  503. package/src/notifications/emit-signal.ts +6 -6
  504. package/src/notifications/types.ts +2 -2
  505. package/src/oauth/__tests__/identity-verifier.test.ts +1 -1
  506. package/src/oauth/__tests__/{seed-providers-managed.test.ts → seed-providers-cloud.test.ts} +13 -13
  507. package/src/oauth/byo-connection.test.ts +2 -2
  508. package/src/oauth/{platform-connection.test.ts → cloud-connection.test.ts} +41 -43
  509. package/src/oauth/{platform-connection.ts → cloud-connection.ts} +19 -19
  510. package/src/oauth/connection-resolver.test.ts +59 -61
  511. package/src/oauth/connection-resolver.ts +22 -22
  512. package/src/oauth/connection.ts +1 -1
  513. package/src/oauth/oauth-store.ts +8 -8
  514. package/src/oauth/provider-serializer.ts +4 -4
  515. package/src/oauth/revoke.ts +1 -1
  516. package/src/oauth/seed-providers.ts +32 -32
  517. package/src/permissions/approval-provenance.ts +1 -1
  518. package/src/permissions/checker.test.ts +18 -16
  519. package/src/permissions/checker.ts +3 -3
  520. package/src/persistence/compaction-log-store-clickhouse.ts +3 -3
  521. package/src/persistence/embeddings/embedding-backend.test.ts +16 -16
  522. package/src/persistence/embeddings/embedding-backend.ts +13 -13
  523. package/src/persistence/embeddings/embedding-gemini.test.ts +9 -12
  524. package/src/persistence/embeddings/embedding-gemini.ts +11 -11
  525. package/src/persistence/embeddings/embedding-runtime-manager.ts +2 -2
  526. package/src/persistence/jobs-store.ts +1 -1
  527. package/src/persistence/lifecycle-events-store.ts +1 -1
  528. package/src/persistence/llm-request-log-sink-clickhouse.ts +3 -3
  529. package/src/persistence/llm-request-log-source-clickhouse.ts +3 -3
  530. package/src/persistence/migrations/224-oauth-providers-managed-service-is-paid.ts +1 -1
  531. package/src/persistence/migrations/296-rewrite-balanced-economy-profile-pins.test.ts +1 -1
  532. package/src/persistence/migrations/296-rewrite-balanced-economy-profile-pins.ts +2 -2
  533. package/src/persistence/migrations/306-rewrite-frontier-profile-pins.test.ts +1 -1
  534. package/src/persistence/migrations/306-rewrite-frontier-profile-pins.ts +1 -1
  535. package/src/persistence/migrations/351-schedule-skill-script-handoff.ts +1 -1
  536. package/src/persistence/migrations/361-normalize-managed-connection-rows.test.ts +3 -3
  537. package/src/persistence/migrations/361-normalize-managed-connection-rows.ts +7 -7
  538. package/src/persistence/migrations/__tests__/319-remove-legacy-managed-connections.test.ts +2 -2
  539. package/src/persistence/schema/oauth.ts +1 -1
  540. package/src/plugin-api/index.ts +4 -4
  541. package/src/plugin-api/model-profiles.test.ts +1 -1
  542. package/src/plugin-api/model-profiles.ts +1 -1
  543. package/src/plugin-api/transcription-session.ts +1 -1
  544. package/src/plugin-api/vision-support.test.ts +1 -1
  545. package/src/plugin-api/webhook-url.ts +12 -12
  546. package/src/plugins/__tests__/source-fingerprint.test.ts +1 -1
  547. package/src/plugins/defaults/{platform-hosted → cloud-hosted}/__tests__/reengage.test.ts +5 -6
  548. package/src/plugins/defaults/cloud-hosted/package.json +14 -0
  549. package/src/plugins/defaults/{platform-hosted → cloud-hosted}/routes/reengage.ts +3 -3
  550. package/src/plugins/defaults/index.ts +6 -6
  551. package/src/plugins/defaults/main.ts +5 -5
  552. package/src/plugins/defaults/memory/__tests__/memory-retrospective-job.test.ts +5 -5
  553. package/src/plugins/defaults/memory/__tests__/memory-retrospective-prompt.test.ts +1 -1
  554. package/src/plugins/defaults/memory/__tests__/memory-retrospective-provider-path.test.ts +1 -1
  555. package/src/plugins/defaults/memory/config.ts +4 -4
  556. package/src/plugins/defaults/memory/memory-retrospective-constants.ts +2 -2
  557. package/src/plugins/defaults/memory/memory-retrospective-job.ts +7 -7
  558. package/src/plugins/defaults/memory/memory-retrospective-prompt.ts +5 -5
  559. package/src/plugins/defaults/memory/memory-retrospective-skill-card.ts +2 -2
  560. package/src/plugins/defaults/memory/src/__tests__/memory-v2-routes.test.ts +1 -1
  561. package/src/plugins/defaults/memory/src/__tests__/memory-worker-routes.test.ts +1 -1
  562. package/src/plugins/defaults/memory/substrate/__tests__/boot-maintenance.test.ts +20 -20
  563. package/src/plugins/defaults/memory/substrate/__tests__/cli-command-store.test.ts +1 -1
  564. package/src/plugins/defaults/memory/substrate/__tests__/skill-store.test.ts +3 -3
  565. package/src/plugins/defaults/memory/substrate/boot-maintenance.ts +17 -17
  566. package/src/plugins/defaults/memory/substrate/cli-command-store.ts +2 -2
  567. package/src/plugins/defaults/memory/substrate/prompts/consolidation.ts +1 -1
  568. package/src/plugins/defaults/memory/substrate/skill-store.ts +4 -4
  569. package/src/plugins/defaults/memory/v3/__tests__/maintain-job.test.ts +3 -3
  570. package/src/plugins/defaults/memory/v3/__tests__/pool-select.test.ts +2 -2
  571. package/src/plugins/defaults/memory/v3/maintain-job.ts +10 -10
  572. package/src/plugins/defaults/memory/v3/orchestrate.ts +3 -3
  573. package/src/plugins/defaults/memory/worker.ts +5 -5
  574. package/src/plugins/defaults/workspace/injectors.ts +2 -2
  575. package/src/plugins/mtime-cache.ts +1 -1
  576. package/src/plugins/source-versions.ts +1 -1
  577. package/src/plugins/types.ts +1 -1
  578. package/src/prompts/__tests__/system-prompt.test.ts +1 -1
  579. package/src/prompts/normalize-onboarding.ts +1 -1
  580. package/src/prompts/persona-resolver.ts +1 -1
  581. package/src/prompts/templates/system-sections.ts +3 -3
  582. package/src/providers/__tests__/cadet-connection-routing.test.ts +7 -7
  583. package/src/providers/__tests__/cadet-mismatch-routing.test.ts +12 -12
  584. package/src/providers/__tests__/connection-model-compat.test.ts +2 -2
  585. package/src/providers/__tests__/dispatch-connection-routing.test.ts +10 -10
  586. package/src/providers/__tests__/inference.test.ts +2 -2
  587. package/src/providers/__tests__/preflight-resolved-config.test.ts +16 -16
  588. package/src/providers/__tests__/retry-callsite.test.ts +1 -1
  589. package/src/providers/__tests__/satellite-connection-routing.test.ts +4 -4
  590. package/src/providers/__tests__/search-provider-catalog.test.ts +2 -2
  591. package/src/providers/__tests__/voice-error-copy.test.ts +3 -3
  592. package/src/providers/anthropic/client.ts +1 -1
  593. package/src/providers/cadet/client.ts +1 -1
  594. package/src/providers/cadet-model-routing.test.ts +19 -19
  595. package/src/providers/cadet-model-routing.ts +23 -23
  596. package/src/providers/call-site-routing.ts +10 -10
  597. package/src/providers/{platform-proxy → cloud-proxy}/constants.ts +11 -11
  598. package/src/providers/{platform-proxy → cloud-proxy}/context.ts +26 -26
  599. package/src/providers/connection-resolution.ts +43 -43
  600. package/src/providers/fallback-breaker.ts +2 -2
  601. package/src/providers/fetch-provider-catalog.ts +3 -3
  602. package/src/providers/gemini/client.ts +5 -5
  603. package/src/providers/inference/__tests__/adapter-factory-openai-compatible.test.ts +3 -3
  604. package/src/providers/inference/__tests__/base-url-route-validation.test.ts +8 -8
  605. package/src/providers/inference/__tests__/base-url-security.test.ts +4 -4
  606. package/src/providers/inference/adapter-factory.ts +35 -35
  607. package/src/providers/inference/auth.ts +10 -10
  608. package/src/providers/inference/backfill.ts +11 -11
  609. package/src/providers/inference/connection-availability.ts +24 -24
  610. package/src/providers/inference/connections.ts +18 -20
  611. package/src/providers/inference/profile-probe.ts +4 -4
  612. package/src/providers/inference/resolve-auth.ts +8 -8
  613. package/src/providers/jev/ask.test.ts +1 -1
  614. package/src/providers/jev/ask.ts +2 -2
  615. package/src/providers/model-catalog.ts +8 -9
  616. package/src/providers/openai/__tests__/api-error-normalization.test.ts +3 -3
  617. package/src/providers/openai/api-error-normalization.ts +2 -2
  618. package/src/providers/provider-availability.ts +4 -4
  619. package/src/providers/provider-env-vars.ts +1 -1
  620. package/src/providers/provider-secret-catalog.ts +1 -1
  621. package/src/providers/registry.ts +20 -20
  622. package/src/providers/retry.ts +26 -26
  623. package/src/providers/routing-identity.ts +10 -10
  624. package/src/providers/search-provider-catalog.ts +2 -2
  625. package/src/providers/speech-to-text/__tests__/{cadet-managed-realtime.test.ts → cadet-cloud-realtime.test.ts} +3 -3
  626. package/src/providers/speech-to-text/__tests__/{cadet-managed.test.ts → cadet-cloud.test.ts} +35 -35
  627. package/src/providers/speech-to-text/__tests__/deepgram-flux-realtime.test.ts +1 -1
  628. package/src/providers/speech-to-text/__tests__/resolve.test.ts +27 -27
  629. package/src/providers/speech-to-text/{cadet-managed-flux-realtime.ts → cadet-cloud-flux-realtime.ts} +6 -8
  630. package/src/providers/speech-to-text/{cadet-managed-realtime.ts → cadet-cloud-realtime.ts} +3 -3
  631. package/src/providers/speech-to-text/{cadet-managed.ts → cadet-cloud.ts} +18 -20
  632. package/src/providers/speech-to-text/cadet-speech-relay-connection.ts +7 -7
  633. package/src/providers/speech-to-text/deepgram-flux-frames.ts +3 -3
  634. package/src/providers/speech-to-text/deepgram-flux-realtime.ts +4 -4
  635. package/src/providers/speech-to-text/provider-catalog.ts +3 -3
  636. package/src/providers/speech-to-text/resolve.ts +26 -28
  637. package/src/providers/together/client.ts +1 -1
  638. package/src/providers/types.ts +4 -4
  639. package/src/providers/voice-error-copy.ts +1 -1
  640. package/src/runtime/__tests__/desktop-stream-upgrade.test.ts +10 -10
  641. package/src/runtime/agent-wake.ts +1 -1
  642. package/src/runtime/auth/__tests__/middleware.test.ts +1 -1
  643. package/src/runtime/auth/middleware.ts +1 -1
  644. package/src/runtime/auth/scopes.ts +1 -1
  645. package/src/runtime/capabilities.ts +1 -1
  646. package/src/runtime/channel-invite-transports/discord.ts +1 -1
  647. package/src/runtime/channel-invite-transports/email.ts +2 -2
  648. package/src/runtime/channel-readiness-service.ts +15 -13
  649. package/src/runtime/channel-reply-session.test.ts +1 -1
  650. package/src/runtime/channel-reply-session.ts +1 -1
  651. package/src/runtime/http-server.ts +4 -4
  652. package/src/runtime/introduction-policy.ts +4 -4
  653. package/src/runtime/migrations/__tests__/origin-mode.test.ts +14 -14
  654. package/src/runtime/migrations/__tests__/v1-test-helpers.ts +1 -1
  655. package/src/runtime/migrations/__tests__/vbundle-import-version-compat.test.ts +2 -2
  656. package/src/runtime/migrations/__tests__/vbundle-metadata-merge-integration.test.ts +3 -4
  657. package/src/runtime/migrations/__tests__/vbundle-metadata-merge.test.ts +6 -7
  658. package/src/runtime/migrations/__tests__/vbundle-validator-v1-schema.test.ts +1 -1
  659. package/src/runtime/migrations/migration-transport.ts +3 -3
  660. package/src/runtime/migrations/origin-mode.ts +6 -9
  661. package/src/runtime/migrations/vbundle-import-policy.ts +2 -2
  662. package/src/runtime/migrations/vbundle-importer.ts +4 -4
  663. package/src/runtime/migrations/vbundle-streaming-importer.ts +6 -6
  664. package/src/runtime/migrations/vbundle-validator.ts +1 -1
  665. package/src/runtime/routes/__tests__/{platform-credits-routes.test.ts → cloud-credits-routes.test.ts} +9 -9
  666. package/src/runtime/routes/__tests__/{platform-invoice-routes.test.ts → cloud-invoice-routes.test.ts} +13 -13
  667. package/src/runtime/routes/__tests__/connection-routes-vs-cli-parity.test.ts +1 -1
  668. package/src/runtime/routes/__tests__/conversation-query-routes.test.ts +26 -25
  669. package/src/runtime/routes/__tests__/default-plugin-routes.test.ts +5 -5
  670. package/src/runtime/routes/__tests__/default-provider-routes.test.ts +10 -10
  671. package/src/runtime/routes/__tests__/inference-profiles-routes.test.ts +18 -18
  672. package/src/runtime/routes/__tests__/inference-provider-connection-routes.test.ts +18 -16
  673. package/src/runtime/routes/__tests__/inference-send-routes.test.ts +1 -1
  674. package/src/runtime/routes/__tests__/ingress-status-routes.test.ts +1 -1
  675. package/src/runtime/routes/__tests__/migration-cadet-metadata-reconcile.test.ts +5 -20
  676. package/src/runtime/routes/__tests__/migration-import-credential-filter.test.ts +19 -22
  677. package/src/runtime/routes/__tests__/oauth-proxy-routes.test.ts +27 -27
  678. package/src/runtime/routes/__tests__/plugins-routes.test.ts +5 -5
  679. package/src/runtime/routes/__tests__/ps-routes.test.ts +5 -3
  680. package/src/runtime/routes/__tests__/roadmap-routes.test.ts +15 -15
  681. package/src/runtime/routes/__tests__/webhook-routes.test.ts +31 -31
  682. package/src/runtime/routes/app-management-routes.ts +1 -1
  683. package/src/runtime/routes/attachment-routes.ts +1 -1
  684. package/src/runtime/routes/auth-routes.ts +14 -14
  685. package/src/runtime/routes/avatar-routes.ts +0 -14
  686. package/src/runtime/routes/background-wake-routes.ts +4 -4
  687. package/src/runtime/routes/channel-availability-routes.ts +4 -4
  688. package/src/runtime/routes/client-routes.ts +5 -5
  689. package/src/runtime/routes/cloud-credentials.ts +45 -0
  690. package/src/runtime/routes/{platform-routes.ts → cloud-routes.ts} +83 -116
  691. package/src/runtime/routes/conversation-compaction-routes.ts +1 -1
  692. package/src/runtime/routes/conversation-query-routes.ts +82 -282
  693. package/src/runtime/routes/credential-routes.ts +28 -30
  694. package/src/runtime/routes/default-provider-routes.ts +1 -1
  695. package/src/runtime/routes/desktop-setup-routes.test.ts +5 -5
  696. package/src/runtime/routes/desktop-setup-routes.ts +1 -1
  697. package/src/runtime/routes/domain-routes.ts +15 -21
  698. package/src/runtime/routes/email-routes.ts +13 -13
  699. package/src/runtime/routes/errors.ts +1 -1
  700. package/src/runtime/routes/gateway-status-routes.ts +1 -1
  701. package/src/runtime/routes/identity-routes.ts +3 -3
  702. package/src/runtime/routes/inbound-message-handler.ts +1 -1
  703. package/src/runtime/routes/inbound-stages/acl-enforcement.ts +1 -1
  704. package/src/runtime/routes/inbound-stages/transcribe-audio.test.ts +1 -1
  705. package/src/runtime/routes/index.ts +1 -1
  706. package/src/runtime/routes/inference-profile-availability-guard.ts +5 -5
  707. package/src/runtime/routes/inference-profiles-routes.ts +11 -11
  708. package/src/runtime/routes/inference-provider-connection-routes.ts +24 -24
  709. package/src/runtime/routes/ingress-status-routes.ts +1 -1
  710. package/src/runtime/routes/integrations/a2a.ts +2 -2
  711. package/src/runtime/routes/integrations/twilio.ts +21 -35
  712. package/src/runtime/routes/internal-telemetry-routes.ts +2 -2
  713. package/src/runtime/routes/live-voice-routes.test.ts +4 -4
  714. package/src/runtime/routes/live-voice-routes.ts +6 -6
  715. package/src/runtime/routes/migration-routes.ts +34 -40
  716. package/src/runtime/routes/oauth-commands-routes.ts +31 -31
  717. package/src/runtime/routes/oauth-providers.ts +5 -5
  718. package/src/runtime/routes/oauth-proxy-passthrough.test.ts +1 -1
  719. package/src/runtime/routes/oauth-proxy-passthrough.ts +8 -8
  720. package/src/runtime/routes/oauth-proxy-routes.ts +15 -17
  721. package/src/runtime/routes/oauth-request-hints.test.ts +1 -1
  722. package/src/runtime/routes/oauth-request-hints.ts +1 -1
  723. package/src/runtime/routes/plugins-routes.ts +9 -9
  724. package/src/runtime/routes/profiler-routes.ts +1 -1
  725. package/src/runtime/routes/ps-routes.ts +4 -0
  726. package/src/runtime/routes/roadmap-routes.ts +18 -20
  727. package/src/runtime/routes/secret-routes.ts +29 -55
  728. package/src/runtime/routes/settings-routes.ts +18 -23
  729. package/src/runtime/routes/telemetry-routes.ts +4 -4
  730. package/src/runtime/routes/tts-routes.ts +4 -4
  731. package/src/runtime/routes/user-route-resolution.ts +1 -1
  732. package/src/runtime/routes/webhook-routes.ts +18 -18
  733. package/src/runtime/routes/workflow-routes.ts +5 -5
  734. package/src/runtime/sync/resource-sync-events.ts +2 -2
  735. package/src/runtime/verification-outbound-actions.ts +4 -4
  736. package/src/schedule/integration-status.ts +6 -6
  737. package/src/schedule/run-script.ts +1 -1
  738. package/src/schedule/schedule-timezone.ts +1 -1
  739. package/src/schedule/worker.ts +5 -5
  740. package/src/security/auth-fallback-events-store.ts +1 -1
  741. package/src/security/oauth2.ts +4 -4
  742. package/src/skills/available-skills.ts +4 -4
  743. package/src/skills/catalog-files.ts +8 -8
  744. package/src/skills/catalog-install.ts +12 -12
  745. package/src/skills/categories-cache.ts +3 -3
  746. package/src/skills/clawhub.ts +1 -1
  747. package/src/skills/{platform-compatibility.test.ts → cloud-compatibility.test.ts} +7 -7
  748. package/src/skills/{platform-compatibility.ts → cloud-compatibility.ts} +2 -4
  749. package/src/skills/{managed-store.ts → cloud-store.ts} +21 -23
  750. package/src/skills/inline-command-runner.ts +1 -1
  751. package/src/skills/install-meta.ts +1 -1
  752. package/src/skills/path-classifier.ts +4 -4
  753. package/src/skills/skill-history.ts +4 -4
  754. package/src/skills/skillssh-registry.ts +1 -1
  755. package/src/stt/__tests__/daemon-batch-transcriber.test.ts +1 -1
  756. package/src/stt/daemon-batch-transcriber.ts +7 -7
  757. package/src/stt/types.ts +3 -3
  758. package/src/subagent/manager.ts +15 -15
  759. package/src/subagent/types.ts +1 -1
  760. package/src/telegram/__tests__/webhook-health.test.ts +16 -16
  761. package/src/telegram/webhook-health.ts +10 -10
  762. package/src/telemetry/__tests__/config-setting-events-store.test.ts +1 -1
  763. package/src/telemetry/__tests__/outbox-test-harness.ts +2 -2
  764. package/src/telemetry/config-setting-events-store.ts +1 -1
  765. package/src/telemetry/config-setting-snapshot.ts +1 -1
  766. package/src/telemetry/memory-corpus-size.ts +1 -1
  767. package/src/telemetry/memory-tier-reporter.test.ts +2 -2
  768. package/src/telemetry/memory-tier-reporter.ts +3 -3
  769. package/src/telemetry/telemetry-event-sources.test.ts +2 -2
  770. package/src/telemetry/telemetry-event-sources.ts +9 -9
  771. package/src/telemetry/telemetry-events-outbox.ts +2 -2
  772. package/src/telemetry/telemetry-wire-validation.test.ts +1 -1
  773. package/src/telemetry/telemetry-wire-validation.ts +3 -3
  774. package/src/telemetry/telemetry-wire.generated.ts +1 -1
  775. package/src/telemetry/tool-audit.ts +1 -1
  776. package/src/telemetry/tool-executed-events-store.test.ts +1 -1
  777. package/src/telemetry/trace-collection-policy.ts +4 -4
  778. package/src/telemetry/turn-events-store.ts +1 -1
  779. package/src/telemetry/turn-outcome.ts +1 -1
  780. package/src/telemetry/turn-trace-store.ts +2 -2
  781. package/src/telemetry/types.test.ts +1 -1
  782. package/src/telemetry/types.ts +19 -19
  783. package/src/telemetry/usage-telemetry-reporter.test.ts +42 -42
  784. package/src/telemetry/usage-telemetry-reporter.ts +17 -17
  785. package/src/telemetry/watchdog-direct-emit.test.ts +9 -9
  786. package/src/telemetry/watchdog-direct-emit.ts +10 -10
  787. package/src/tools/__tests__/side-effect-abort-guard.test.ts +2 -2
  788. package/src/tools/browser/cdp-client/factory.ts +1 -1
  789. package/src/tools/computer-use/target.ts +2 -2
  790. package/src/tools/credentials/store.ts +6 -15
  791. package/src/tools/network/__tests__/{managed-search-proxy.test.ts → cloud-search-proxy.test.ts} +20 -20
  792. package/src/tools/network/__tests__/web-search.test.ts +14 -14
  793. package/src/tools/network/{managed-search-proxy.ts → cloud-search-proxy.ts} +13 -13
  794. package/src/tools/network/web-search.ts +9 -9
  795. package/src/tools/permission-checker.ts +2 -2
  796. package/src/tools/shared/input-misuse.ts +1 -1
  797. package/src/tools/shared/input-repairs.ts +4 -4
  798. package/src/tools/skills/{delete-managed.ts → delete-cloud.ts} +4 -4
  799. package/src/tools/skills/find-similar-skills.test.ts +7 -7
  800. package/src/tools/skills/find-similar-skills.ts +15 -15
  801. package/src/tools/skills/load.ts +6 -6
  802. package/src/tools/skills/{scaffold-managed.ts → scaffold-cloud.ts} +16 -16
  803. package/src/tools/skills/skill-script-runner.ts +2 -2
  804. package/src/tools/terminal/safe-env.ts +3 -3
  805. package/src/tools/tool-types.ts +2 -2
  806. package/src/tools/types.ts +2 -2
  807. package/src/tools/ui-surface/surface-shape-docs.ts +2 -2
  808. package/src/tools/workflows/manage-workflows.ts +1 -1
  809. package/src/tools/workspace-tools/loader.ts +1 -1
  810. package/src/tts/__tests__/cadet-provider.test.ts +5 -5
  811. package/src/tts/provider-catalog.ts +1 -1
  812. package/src/tts/providers/cadet-provider.ts +23 -23
  813. package/src/tts/providers/cadet-tts-socket.ts +2 -2
  814. package/src/tts/tts-config-resolver.ts +1 -1
  815. package/src/tts/tts-voice-field.ts +3 -3
  816. package/src/usage/subagent-attribution.ts +1 -1
  817. package/src/util/__tests__/process-table.test.ts +47 -0
  818. package/src/util/canonicalize-identity.ts +1 -1
  819. package/src/util/cgroup-cpu.ts +5 -5
  820. package/src/util/cgroup-memory.ts +2 -2
  821. package/src/util/container-cpu-sampler.ts +4 -4
  822. package/src/util/disk-usage.ts +4 -4
  823. package/src/util/errors.ts +3 -3
  824. package/src/util/oom-priority.ts +1 -1
  825. package/src/util/platform.ts +5 -5
  826. package/src/util/process-table.ts +39 -5
  827. package/src/util/provider-error-patterns.ts +2 -2
  828. package/src/watch/__tests__/watch-retro.test.ts +2 -2
  829. package/src/watch/watch-retro.ts +1 -1
  830. package/src/watcher/__tests__/telemetry.test.ts +2 -2
  831. package/src/watcher/telemetry.ts +1 -1
  832. package/src/windows-compiled-cli.ts +1 -1
  833. package/src/workspace/adaptive-thinking-repair.ts +4 -4
  834. package/src/workspace/byok-default-profile-ensure.ts +7 -7
  835. package/src/workspace/git-service.ts +2 -2
  836. package/src/workspace/migrations/006-services-config.ts +1 -1
  837. package/src/workspace/migrations/040-seed-latency-callsite-defaults.ts +1 -1
  838. package/src/workspace/migrations/052-seed-default-inference-profiles.ts +1 -1
  839. package/src/workspace/migrations/063-release-notes-dynamic-model-context.ts +1 -1
  840. package/src/workspace/migrations/066-seed-heartbeat-callsite-cost-default.ts +1 -1
  841. package/src/workspace/migrations/082-backfill-managed-profile-labels.ts +4 -4
  842. package/src/workspace/migrations/087-memory-router-balanced-profile.ts +3 -3
  843. package/src/workspace/migrations/090-memory-router-cost-optimized-profile.ts +4 -4
  844. package/src/workspace/migrations/097-enable-adaptive-thinking-managed-profiles.ts +5 -5
  845. package/src/workspace/migrations/100-upgrade-quality-profile-to-fable-5.ts +4 -4
  846. package/src/workspace/migrations/101-upgrade-balanced-economy-to-minimax-m3.ts +4 -4
  847. package/src/workspace/migrations/103-upgrade-quality-profile-to-opus-4-8.ts +5 -5
  848. package/src/workspace/migrations/104-recheck-adaptive-thinking-model-implied-anthropic.ts +1 -1
  849. package/src/workspace/migrations/106-drop-collect-usage-data.ts +1 -1
  850. package/src/workspace/migrations/108-drop-balanced-economy-profile.ts +4 -4
  851. package/src/workspace/migrations/109-swap-quality-profile-to-glm-5p2.ts +11 -11
  852. package/src/workspace/migrations/110-flip-balanced-profile-to-together.ts +6 -6
  853. package/src/workspace/migrations/113-swap-balanced-profile-to-glm-5p2.ts +5 -5
  854. package/src/workspace/migrations/114-swap-quality-profile-to-opus.ts +4 -4
  855. package/src/workspace/migrations/115-drop-frontier-profile.ts +5 -5
  856. package/src/workspace/migrations/123-swap-quality-profile-to-fable.ts +5 -5
  857. package/src/workspace/migrations/125-repoint-managed-connections-to-cadet.ts +3 -3
  858. package/src/workspace/migrations/126-strip-managed-profile-bodies.ts +2 -2
  859. package/src/workspace/migrations/127-backfill-default-provider.ts +4 -4
  860. package/src/workspace/migrations/130-speech-mode-to-provider.ts +4 -4
  861. package/src/workspace/migrations/131-drop-web-fetch-mode.ts +1 -1
  862. package/src/workspace/migrations/132-web-search-mode-to-provider.ts +6 -6
  863. package/src/workspace/migrations/133-collapse-provider-connections.ts +3 -3
  864. package/src/workspace/migrations/134-image-generation-mode-to-provider.ts +4 -4
  865. package/src/workspace/migrations/136-repair-stale-fireworks-kimi-model-id.ts +2 -2
  866. package/src/workspace/migrations/137-repair-retired-fireworks-minimax-model-id.ts +2 -2
  867. package/src/workspace/migrations/139-clear-renamed-cost-profile-label.ts +2 -2
  868. package/src/workspace/migrations/141-stt-english-default-to-multilingual.ts +4 -4
  869. package/src/workspace/migrations/144-convert-stranded-subscription-openai-profiles.ts +1 -1
  870. package/src/workspace/migrations/145-collapse-profile-bindings-to-entries.ts +2 -2
  871. package/src/workspace/migrations/146-repair-retired-fireworks-deepseek-flash-model-id.ts +2 -2
  872. package/src/workspace/migrations/148-strip-unsupported-fallback-profiles.ts +2 -2
  873. package/src/workspace/migrations/150-stt-flux-provider-to-model-family.ts +1 -1
  874. package/src/workspace/migrations/151-repair-renamed-fireworks-deepseek-pro-model-id.ts +2 -2
  875. package/src/workspace/migrations/152-repair-retired-fireworks-minimax-m2p7-model-id.ts +2 -2
  876. package/src/workspace/migrations/159-rename-colliding-jev-profile-name.ts +2 -2
  877. package/src/workspace/migrations/160-repair-retired-fireworks-model-ids.ts +2 -2
  878. package/src/workspace/migrations/161-repair-retired-fireworks-glm-5p2-model-id.ts +2 -2
  879. package/src/workspace/migrations/__tests__/141-stt-english-default-to-multilingual.test.ts +1 -1
  880. package/src/workspace/migrations/__tests__/150-stt-flux-provider-to-model-family.test.ts +1 -1
  881. package/src/workspace/migrations/registry.ts +6 -6
  882. package/src/workspace/top-level-renderer.ts +1 -1
  883. package/src/workspace/turn-commit.ts +2 -2
  884. package/src/__tests__/config-loader-platform-defaults.test.ts +0 -606
  885. package/src/__tests__/mock-gateway-ipc.ts +0 -260
  886. package/src/api/events/platform-disconnected.ts +0 -21
  887. package/src/config/platform-rehydration.ts +0 -60
  888. package/src/platform/feature-gate.ts +0 -8
  889. package/src/plugins/defaults/platform-hosted/package.json +0 -14
  890. package/src/runtime/routes/platform-managed-credentials.ts +0 -50
  891. /package/src/__tests__/{gateway-client-managed-outbound.test.ts → gateway-client-cloud-outbound.test.ts} +0 -0
  892. /package/src/__tests__/{secure-keys-managed-failover.test.ts → secure-keys-cloud-failover.test.ts} +0 -0
@@ -1,7 +1,7 @@
1
1
  import { z } from "zod";
2
2
 
3
3
  import {
4
- getManagedUpstream,
4
+ getCloudUpstream,
5
5
  parseCadetModel,
6
6
  } from "../../providers/cadet-model-routing.js";
7
7
  import {
@@ -18,9 +18,9 @@ import {
18
18
  DEFAULT_PROFILE_KEYS,
19
19
  DEFAULT_PROFILE_PROVIDERS,
20
20
  FALLBACK_PROFILE_BY_KEY,
21
+ isCloudOnlyProfileKey,
21
22
  isDefaultProfileKey,
22
23
  isFlagGatedProfileKey,
23
- isManagedOnlyProfileKey,
24
24
  JEV_MANAGED_PROFILE_CALL_SITES,
25
25
  JEV_MANAGED_PROFILE_KEY,
26
26
  MANAGED_ONLY_PROFILE_KEYS,
@@ -28,7 +28,7 @@ import {
28
28
  import { InputModalitiesSchema } from "../input-modalities.js";
29
29
 
30
30
  /**
31
- * Managed-only keys that are valid reference targets on the managed column
31
+ * Managed-only keys that are valid reference targets on the cloud column
32
32
  * whether or not a workspace stub exists. The flag-gated ones (`os-beta`,
33
33
  * `auto`) are excluded: they resolve only while their reconciled stub is
34
34
  * present, so they enter the reference set through `llm.profiles` alone.
@@ -77,7 +77,7 @@ export const KNOWN_LLM_PROVIDERS = [
77
77
  "ionet",
78
78
  "poolside",
79
79
  "typesafe",
80
- // Routing identities: "cadet" = the platform-managed route (upstream
80
+ // Routing identities: "cadet" = the cloud route (upstream
81
81
  // derived from the model at dispatch) and the catalog owner of
82
82
  // Cadet-hosted GPU models; "chatgpt" = the subscription route to OpenAI.
83
83
  // Dispatch substitutes a concrete upstream before adapter lookup.
@@ -173,8 +173,8 @@ export function routingIdentityModelIssue(
173
173
  if (routed) {
174
174
  return `Model "${model}" is an encoded routing string; store the native model id "${routed.model}".`;
175
175
  }
176
- return getManagedUpstream(model) === null
177
- ? `Model "${model}" is not served by the Cadet managed route.`
176
+ return getCloudUpstream(model) === null
177
+ ? `Model "${model}" is not served by the Cadet Cloud route.`
178
178
  : null;
179
179
  }
180
180
  if (provider === "chatgpt") {
@@ -506,7 +506,7 @@ const OpenRouterDeepPartialSchema = z.object({
506
506
  // ---------------------------------------------------------------------------
507
507
 
508
508
  /**
509
- * Distinguishes daemon-managed profiles (overwritten on every startup) from
509
+ * Distinguishes daemon-cloud profiles (overwritten on every startup) from
510
510
  * user-created ones (never touched by the daemon).
511
511
  */
512
512
  const ProfileSource = z.enum(["managed", "user"]);
@@ -617,7 +617,7 @@ export type LLMConfigFragment = z.infer<typeof LLMConfigFragment>;
617
617
  * (`LLMConfigBase` is the all-defaulted VIEW for resolution, never the
618
618
  * storage shape). `provider` stays the loose provider set and is clamped at
619
619
  * read time via `isDefaultProviderChoice`: a value with no matrix column
620
- * (keyless ollama, user-endpoint openai-compatible) resolves to the managed
620
+ * (keyless ollama, user-endpoint openai-compatible) resolves to the cloud
621
621
  * column rather than failing the whole blob.
622
622
  */
623
623
  export const LLMDefaultConfigSchema = LLMConfigFragment.extend({
@@ -630,7 +630,7 @@ export type LLMDefaultConfig = z.infer<typeof LLMDefaultConfigSchema>;
630
630
  * config carries them, for readers that see config.json before the loader's
631
631
  * schema parse (boot seed, ensure passes, wire overlays). Each field fails
632
632
  * independently so a valid provider survives a bad pin, and a malformed blob
633
- * reads as empty — both clamp to the managed column downstream via
633
+ * reads as empty — both clamp to the cloud column downstream via
634
634
  * `isDefaultProviderChoice`.
635
635
  */
636
636
  export const RawDefaultSelectionSchema = z
@@ -710,9 +710,9 @@ export const ProfileEntry = LLMConfigFragment.extend({
710
710
  inputModalities: InputModalitiesSchema.nullable().optional(),
711
711
  /**
712
712
  * Absent means active. `.nullable()` matches `label` so the PUT route's
713
- * "send `null` to clear" sentinel works for status too — a managed
713
+ * "send `null` to clear" sentinel works for status too — a cloud
714
714
  * re-enable body of `{status: null}` clears back to active-by-absence
715
- * (see `applyManagedProfileReenable`).
715
+ * (see `applyCloudProfileReenable`).
716
716
  */
717
717
  status: ProfileStatusSchema.nullable().optional(),
718
718
  /**
@@ -727,13 +727,22 @@ export const ProfileEntry = LLMConfigFragment.extend({
727
727
  */
728
728
  mix: MixSchema.optional(),
729
729
  /**
730
- * Code-owned backup profile for a Cadet-managed default profile. This is
730
+ * Code-owned backup profile for a Cadet Cloud default profile. This is
731
731
  * read-only metadata from the default-profile catalog. Config write paths
732
732
  * reject user-authored values because custom and BYOK fallback routes are
733
733
  * not supported.
734
734
  */
735
735
  fallbackProfile: z.string().min(1).optional().meta({ readOnly: true }),
736
- });
736
+ /**
737
+ * Wire-only capability flags: stamped onto config-read responses by
738
+ * `enrichProfilesForWire` and stripped from incoming writes by
739
+ * `stripWireOnlyProfileKeys` (conversation-query-routes), so they never
740
+ * persist. Declared here so the wire contract (AssistantConfig → SDK
741
+ * types) describes the enriched profile shape clients consume.
742
+ */
743
+ supportsVision: z.boolean().optional(),
744
+ invariant: z.boolean().optional(),
745
+ }).meta({ id: "ProfileEntry" });
737
746
  export type ProfileEntry = z.infer<typeof ProfileEntry>;
738
747
 
739
748
  /**
@@ -771,10 +780,10 @@ export type DefaultProviderConfig = {
771
780
  };
772
781
 
773
782
  /**
774
- * Whether the managed backup profiles (`BACKUP_PROFILE_KEYS`) resolve under a
783
+ * Whether the cloud backup profiles (`BACKUP_PROFILE_KEYS`) resolve under a
775
784
  * given `llm.default` blob.
776
785
  *
777
- * Backups are companions of the managed (`cadet`) column only: on a BYOK or
786
+ * Backups are companions of the cloud (`cadet`) column only: on a BYOK or
778
787
  * ChatGPT default provider `defaultProfileBodyForProvider` returns `undefined`
779
788
  * for them, because the install may hold no credential for the backup's
780
789
  * upstream. So a reference to one is a target that can never resolve there,
@@ -782,7 +791,7 @@ export type DefaultProviderConfig = {
782
791
  * cannot show.
783
792
  *
784
793
  * A missing blob or a `provider` with no matrix column (keyless ollama,
785
- * user-endpoint openai-compatible) clamps to the managed column via
794
+ * user-endpoint openai-compatible) clamps to the cloud column via
786
795
  * `isDefaultProviderChoice`, so backups resolve there too.
787
796
  */
788
797
  export function backupProfilesResolveUnderDefaultProvider(
@@ -799,35 +808,35 @@ export function backupProfilesResolveUnderDefaultProvider(
799
808
  * Why a referenced profile name does not resolve, for the reference error
800
809
  * messages. A backup key under a non-managed default provider gets its own
801
810
  * reason: the name is real and code-defined, it just has no body outside the
802
- * managed column, and "not defined in llm.profiles" would send the reader
811
+ * cloud column, and "not defined in llm.profiles" would send the reader
803
812
  * looking for a missing entry that was never supposed to exist.
804
813
  */
805
814
  function unresolvableProfileReason(
806
815
  name: string,
807
816
  backupsResolve: boolean,
808
817
  ): string {
809
- if (backupsResolve || !isManagedOnlyProfileKey(name)) {
818
+ if (backupsResolve || !isCloudOnlyProfileKey(name)) {
810
819
  return "is not defined in llm.profiles";
811
820
  }
812
821
  if (name === JEV_MANAGED_PROFILE_KEY) {
813
- return "is the managed Jev profile, which resolves only while llm.default is the managed provider";
822
+ return "is the cloud Jev profile, which resolves only while llm.default is the cloud provider";
814
823
  }
815
824
  if (name === AUTO_PROFILE_KEY) {
816
- return "is the managed Auto profile, which resolves only while llm.default is the managed provider";
825
+ return "is the cloud Auto profile, which resolves only while llm.default is the cloud provider";
817
826
  }
818
- return "is a managed backup profile, which resolves only while llm.default is the managed provider";
827
+ return "is a cloud backup profile, which resolves only while llm.default is the cloud provider";
819
828
  }
820
829
 
821
830
  /**
822
831
  * The `llm.profiles` keys that are reference targets in their own right,
823
- * given whether the managed backups resolve under the current
832
+ * given whether the cloud backups resolve under the current
824
833
  * `llm.default`.
825
834
  *
826
835
  * Every on-disk key qualifies but one: a reserved backup name whose entry is
827
836
  * a thin `source: "managed"` stub. The stub is not a profile, it is the
828
- * workspace's slot for a code-owned one, and it can reach disk on a managed
837
+ * workspace's slot for a code-owned one, and it can reach disk on a cloud
829
838
  * install through nothing more than a `config get` -> `config set` round-trip
830
- * of the effective profile list (`normalizeManagedProfileWrites` reduces the
839
+ * of the effective profile list (`normalizeCloudProfileWrites` reduces the
831
840
  * echoed body to exactly that stub). Counting it as an ordinary raw key would
832
841
  * let it launder a backup reference past the provider gate: after a switch to
833
842
  * a BYOK or ChatGPT default provider the reference would keep validating
@@ -846,7 +855,7 @@ function referenceableProfileKeys(
846
855
  ): string[] {
847
856
  return Object.entries(profiles ?? {})
848
857
  .filter(([name, value]) => {
849
- if (backupsResolve || !isManagedOnlyProfileKey(name)) {
858
+ if (backupsResolve || !isCloudOnlyProfileKey(name)) {
850
859
  return true;
851
860
  }
852
861
  const entry =
@@ -874,8 +883,8 @@ function referenceableProfileKeys(
874
883
  * are read defensively so the raw on-disk shape is safe to pass.
875
884
  *
876
885
  * `llmDefault` is the sibling `llm.default` value (raw or parsed): it
877
- * decides whether the managed backups are valid targets, since they resolve
878
- * on the managed column alone.
886
+ * decides whether the cloud backups are valid targets, since they resolve
887
+ * on the cloud column alone.
879
888
  */
880
889
  export function collectFallbackProfileIssues(
881
890
  profiles: Record<string, unknown> | undefined,
@@ -891,8 +900,8 @@ export function collectFallbackProfileIssues(
891
900
  // (`default-profile-catalog.ts`) and resolve whether or not they are
892
901
  // materialized in `llm.profiles`, so their names are always valid
893
902
  // fallback targets (same rule as call-site `profile` references). The
894
- // managed backups resolve the same way, but on the managed column only,
895
- // so they are valid targets only under a managed `llm.default`.
903
+ // managed backups resolve the same way, but on the cloud column only,
904
+ // so they are valid targets only under a cloud `llm.default`.
896
905
  // A persisted managed stub for a backup name does not change that, see
897
906
  // `referenceableProfileKeys`.
898
907
  const backupsResolve = backupProfilesResolveUnderDefaultProvider(
@@ -930,7 +939,7 @@ export function collectFallbackProfileIssues(
930
939
  if (entry?.source !== "managed" || fallback !== expectedFallback) {
931
940
  issues.push({
932
941
  profileName: name,
933
- message: `Profile "${name}" cannot configure fallbackProfile. Automatic fallbacks are code-owned for Cadet-managed default profiles.`,
942
+ message: `Profile "${name}" cannot configure fallbackProfile. Automatic fallbacks are code-owned for Cadet Cloud default profiles.`,
934
943
  });
935
944
  continue;
936
945
  }
@@ -1049,20 +1058,20 @@ export const LLMSchema = z
1049
1058
  // The always-available default profiles are code-defined
1050
1059
  // (`default-profile-catalog.ts`) and resolve whether or not they are
1051
1060
  // materialized in `llm.profiles`, so their names are always valid
1052
- // reference targets. The managed backups (`BACKUP_PROFILE_KEYS`) are
1061
+ // reference targets. The cloud backups (`BACKUP_PROFILE_KEYS`) are
1053
1062
  // code-defined on the same terms and are listed in the effective
1054
1063
  // catalog, so a selection naming one (`activeProfile`, `advisorProfile`,
1055
1064
  // a call-site pin) must survive the next load rather than being stripped
1056
- // back to a default. Backups are scoped to the managed column though, so
1057
- // they join the set only under a managed `llm.default`: on a BYOK
1065
+ // back to a default. Backups are scoped to the cloud column though, so
1066
+ // they join the set only under a cloud `llm.default`: on a BYOK
1058
1067
  // or ChatGPT default provider they have no body to resolve to, and
1059
1068
  // keeping the reference would strand a selection the picker cannot show.
1060
- // The managed Jev profile (`JEV_MANAGED_PROFILE_KEY`) is scoped the same
1069
+ // The cloud Jev profile (`JEV_MANAGED_PROFILE_KEY`) is scoped the same
1061
1070
  // way, as a pin target for the judge call sites.
1062
1071
  // The flag-gated `os-beta` is excluded: it resolves only while a
1063
1072
  // workspace entry exists, so a reference to it is valid only when that
1064
1073
  // entry is present in `config.profiles`. A backup name materialized as a
1065
- // thin managed stub does not re-enter the set on a non-managed column
1074
+ // thin managed stub does not re-enter the set on a non-cloud column
1066
1075
  // either, see `referenceableProfileKeys`.
1067
1076
  const backupsResolve = backupProfilesResolveUnderDefaultProvider(
1068
1077
  config.default,
@@ -1121,7 +1130,7 @@ export const LLMSchema = z
1121
1130
  message: `Profile "${config.advisorProfile}" referenced by llm.advisorProfile ${unresolvableProfileReason(config.advisorProfile, backupsResolve)}`,
1122
1131
  });
1123
1132
  }
1124
- // The managed Jev profile is a valid reference target for call-site pins
1133
+ // The cloud Jev profile is a valid reference target for call-site pins
1125
1134
  // only. Its model returns structured verdicts rather than chat text, so
1126
1135
  // the conversation positions reject it here as well as at the write
1127
1136
  // routes, which keeps a raw config write from handing the main agent or
@@ -41,6 +41,14 @@ const MemoryJobsConfigInputSchema = z.object({
41
41
  ),
42
42
  });
43
43
 
44
+ const MemoryJobsConfigOutputSchema = z.object({
45
+ workerConcurrency: positiveInt("workerConcurrency"),
46
+ stalledJobTimeoutMs: positiveInt("stalledJobTimeoutMs"),
47
+ slowLlmConcurrency: positiveInt("slowLlmConcurrency"),
48
+ fastConcurrency: positiveInt("fastConcurrency"),
49
+ embedConcurrency: positiveInt("embedConcurrency"),
50
+ });
51
+
44
52
  export const MemoryJobsConfigSchema = MemoryJobsConfigInputSchema.transform(
45
53
  (input) => {
46
54
  // When `workerConcurrency` is explicitly set but lane caps are not,
@@ -76,7 +84,9 @@ export const MemoryJobsConfigSchema = MemoryJobsConfigInputSchema.transform(
76
84
  embedConcurrency,
77
85
  };
78
86
  },
79
- ).describe("Memory background job processing configuration");
87
+ )
88
+ .pipe(MemoryJobsConfigOutputSchema)
89
+ .describe("Memory background job processing configuration");
80
90
 
81
91
  export const MemoryRetentionConfigSchema = z
82
92
  .object({
@@ -20,7 +20,7 @@ export const VALID_INFERENCE_PROVIDERS = [
20
20
  "openrouter",
21
21
  ] as const;
22
22
 
23
- // `cadet` generates through the platform runtime proxy; the backend
23
+ // `cadet` generates through the cloud runtime proxy; the backend
24
24
  // (gemini/openai) derives from the selected model's prefix at request time.
25
25
  const VALID_IMAGE_GEN_PROVIDERS = [
26
26
  "cadet",
@@ -60,7 +60,7 @@ const InferenceServiceSchema = z.object({});
60
60
 
61
61
  /**
62
62
  * Image generation carries no `mode`: `provider` is the only axis. `"cadet"`
63
- * generates through the platform runtime proxy for the model-appropriate
63
+ * generates through the cloud runtime proxy for the model-appropriate
64
64
  * backend, billed to Cadet credits; `"gemini"`/`"openai"`/`"openrouter"`
65
65
  * use the user's key. A `mode` key sent by an older client is stripped at
66
66
  * parse.
@@ -74,7 +74,7 @@ const ImageGenerationServiceSchema = z.object({
74
74
  * Web-search carries no `mode`: `provider` is the only axis. `"cadet"`
75
75
  * searches through the Cadet Cloud search proxy, billed to Cadet
76
76
  * credits; `"inference-provider-native"` prefers the inference model's own
77
- * hosted search, falling back to the user's keys and then the platform
77
+ * hosted search, falling back to the user's keys and then the cloud
78
78
  * proxy; any other provider uses the user's own API key. A `mode` key sent
79
79
  * by an older client is stripped at parse.
80
80
  */
@@ -90,7 +90,7 @@ const WebSearchServiceSchema = z.object({
90
90
  });
91
91
 
92
92
  /**
93
- * Web-fetch carries no `mode`: there is no managed proxy for it, so the only
93
+ * Web-fetch carries no `mode`: there is no cloud proxy for it, so the only
94
94
  * axis is which provider backs the tool.
95
95
  */
96
96
  const WebFetchServiceSchema = z.object({
@@ -183,7 +183,7 @@ export { STT_ROLE_REQUIREMENTS, STT_ROLES, type SttRole };
183
183
  /**
184
184
  * Canonical STT service configuration.
185
185
  *
186
- * `provider` is the only axis: `"cadet"` transcribes through the platform,
186
+ * `provider` is the only axis: `"cadet"` transcribes through the cloud,
187
187
  * billed to Cadet credits; any other provider uses the user's own API key.
188
188
  */
189
189
  export const SttServiceSchema = z
@@ -204,7 +204,7 @@ export const SttServiceSchema = z
204
204
  .describe("Active STT provider used for speech-to-text transcription"),
205
205
  /**
206
206
  * Spoken-language selection, forwarded to providers whose adapters accept
207
- * a language (Deepgram, xAI, and the managed relay).
207
+ * a language (Deepgram, xAI, and the cloud relay).
208
208
  *
209
209
  * `"multi"` selects Deepgram's nova-3 code-switching mode, which follows
210
210
  * a speaker moving between languages inside a single utterance (e.g.
@@ -220,7 +220,7 @@ export const SttServiceSchema = z
220
220
  * The default applies on load, not just at creation, so an existing
221
221
  * config that never set a language materializes `"multi"` on its next
222
222
  * start. That changes no behavior: `effectiveSttLanguage` already
223
- * resolved unset to `"multi"` on Deepgram and the managed relay, and the
223
+ * resolved unset to `"multi"` on Deepgram and the cloud relay, and the
224
224
  * providers that detect natively ignore the field either way. It only
225
225
  * makes the value explicit. An assistant that has chosen a language
226
226
  * keeps it, since a default fills nothing that is already set.
@@ -52,6 +52,7 @@ function languageVoicesSchema(providerId: string, valuesDescription: string) {
52
52
  }
53
53
  return Object.fromEntries(normalized);
54
54
  })
55
+ .pipe(z.record(z.string(), z.string()))
55
56
  .optional()
56
57
  .describe(
57
58
  "Per-language voice overrides for live voice. Keys are normalized on " +
@@ -70,6 +71,7 @@ export const TtsElevenLabsProviderConfigSchema = z
70
71
  })
71
72
  .transform((v) => v || DEFAULT_ELEVENLABS_VOICE_ID)
72
73
  .default(DEFAULT_ELEVENLABS_VOICE_ID)
74
+ .pipe(z.string())
73
75
  .describe("ElevenLabs voice ID for text-to-speech"),
74
76
  voiceModelId: z
75
77
  .string({
@@ -194,6 +196,7 @@ export const TtsDeepgramProviderConfigSchema = z
194
196
  })
195
197
  .transform((v) => v || "aura-asteria-en")
196
198
  .default("aura-asteria-en")
199
+ .pipe(z.string())
197
200
  .describe("Deepgram TTS model identifier"),
198
201
  format: z
199
202
  .enum(["mp3", "wav", "opus"], {
@@ -221,6 +224,7 @@ export const TtsXaiProviderConfigSchema = z
221
224
  })
222
225
  .transform((v) => v || "eve")
223
226
  .default("eve")
227
+ .pipe(z.string())
224
228
  .describe(
225
229
  "xAI voice ID — one of: eve, ara, rex, sal, leo (case-insensitive)",
226
230
  ),
@@ -230,6 +234,7 @@ export const TtsXaiProviderConfigSchema = z
230
234
  })
231
235
  .transform((v) => v || "auto")
232
236
  .default("auto")
237
+ .pipe(z.string())
233
238
  .describe(
234
239
  "BCP-47 language code (e.g. 'en-US') or 'auto' for auto-detection",
235
240
  ),
@@ -267,7 +272,7 @@ export const TtsXaiProviderConfigSchema = z
267
272
  export type TtsXaiProviderConfig = z.infer<typeof TtsXaiProviderConfigSchema>;
268
273
 
269
274
  /**
270
- * Cadet managed provider configuration under `services.tts.providers`.
275
+ * Cadet Cloud provider configuration under `services.tts.providers`.
271
276
  */
272
277
  const TtsCadetProviderConfigSchema = z
273
278
  .object({
@@ -275,17 +280,17 @@ const TtsCadetProviderConfigSchema = z
275
280
  .string()
276
281
  .optional()
277
282
  .describe(
278
- "Managed TTS voice model (e.g. aura-2-thalia-en). Unset means the platform's default voice. The platform rejects voices it does not offer.",
283
+ "Managed TTS voice model (e.g. aura-2-thalia-en). Unset means the cloud's default voice. The cloud rejects voices it does not offer.",
279
284
  ),
280
285
  languageVoices: languageVoicesSchema(
281
286
  "cadet",
282
287
  "values are managed TTS voice models (e.g. aura-2-thalia-en) and must " +
283
- "be voices offered by the platform rate card: an unpriced model is " +
288
+ "be voices offered by the cloud rate card: an unpriced model is " +
284
289
  "rejected by the relay (missing_price), the same contract as " +
285
290
  "services.tts.providers.cadet.model.",
286
291
  ),
287
292
  })
288
- .describe("Cadet managed provider configuration under services.tts");
293
+ .describe("Cadet Cloud provider configuration under services.tts");
289
294
 
290
295
  export type TtsCadetProviderConfig = z.infer<
291
296
  typeof TtsCadetProviderConfigSchema
@@ -339,7 +344,7 @@ for (const id of schemaKeys) {
339
344
  /**
340
345
  * Canonical TTS service configuration.
341
346
  *
342
- * `provider` is the only axis: `"cadet"` synthesizes through the platform,
347
+ * `provider` is the only axis: `"cadet"` synthesizes through the cloud,
343
348
  * billed to Cadet credits; any other provider uses the user's own API key.
344
349
  */
345
350
  export const TtsServiceSchema = z
@@ -103,7 +103,7 @@ export const VoiceFrontModelConfigSchema = z
103
103
  )
104
104
  .default(1200)
105
105
  .describe(
106
- "Hard budget (ms) for the endpoint decision LLM call. This adds to end-of-turn latency when semantic endpointing is on, so keep it as tight as the decider model's real roundtrip allows. Measured Haiku roundtrips through the managed proxy run ~670-1130ms (dev), so tighter budgets turn the feature into a fail-open no-op.",
106
+ "Hard budget (ms) for the endpoint decision LLM call. This adds to end-of-turn latency when semantic endpointing is on, so keep it as tight as the decider model's real roundtrip allows. Measured Haiku roundtrips through the cloud proxy run ~670-1130ms (dev), so tighter budgets turn the feature into a fail-open no-op.",
107
107
  ),
108
108
  endpointExtensionMs: z
109
109
  .number({
@@ -1,5 +1,5 @@
1
1
  import type { DrizzleDb } from "../persistence/db-connection.js";
2
- import { CADET_MANAGED_PROVIDER } from "../providers/cadet-model-routing.js";
2
+ import { CADET_CLOUD_PROVIDER } from "../providers/cadet-model-routing.js";
3
3
  import { PROVIDERS_REQUIRING_BASE_URL_AND_MODELS } from "../providers/inference/auth.js";
4
4
  import {
5
5
  createConnection,
@@ -48,12 +48,12 @@ export type SeedInferenceProfilesOptions = {
48
48
  * `<provider>-personal` connection backed by the user's API key in CES.
49
49
  * The BYOK columns of the intent × provider matrix stamp exactly that
50
50
  * connection name (via `resolveDefaultConnectionName`), so the default
51
- * profiles dispatch through it. Skipped for the managed provider — the
51
+ * profiles dispatch through it. Skipped for the cloud provider — the
52
52
  * `cadet` column routes through the canonical platform-backed row, never
53
53
  * a user key, so no `cadet-personal` connection exists or is needed.
54
54
  *
55
55
  * 2. **`llm.default`**: the base blob's `provider` field is written once at
56
- * hatch time, mirroring the platform/managed/BYOK decision, and never
56
+ * hatch time, mirroring the cloud/managed/BYOK decision, and never
57
57
  * overwritten afterward. The default profiles resolve through this
58
58
  * provider's matrix column.
59
59
  *
@@ -67,10 +67,10 @@ export function seedInferenceProfiles(
67
67
  const llm = config.llm;
68
68
  const profiles = llm.profiles;
69
69
 
70
- const isPlatform =
71
- process.env.IS_PLATFORM === "true" || process.env.IS_PLATFORM === "1";
70
+ const isCloud =
71
+ process.env.IS_CLOUD === "true" || process.env.IS_CLOUD === "1";
72
72
 
73
- // A hatch overlay that explicitly selected a managed connection routes the
73
+ // A hatch overlay that explicitly selected a cloud connection routes the
74
74
  // default provider through cadet rather than the entered BYOK key.
75
75
  const hatchSelectedManagedConnection = didHatchSelectManagedConnection(
76
76
  llm,
@@ -78,18 +78,18 @@ export function seedInferenceProfiles(
78
78
  options,
79
79
  );
80
80
 
81
- // 1. Personal provider connection: only at hatch time for off-platform
81
+ // 1. Personal provider connection: only at hatch time for off-cloud
82
82
  // installations, backed by the user's API key in CES. The BYOK columns
83
83
  // of the intent × provider matrix stamp `<provider>-personal` (via
84
84
  // `resolveDefaultConnectionName`), so the connection must exist for the
85
85
  // default profiles to dispatch.
86
86
  let usableHatchProvider: string | undefined;
87
- if (options.isHatch && !isPlatform) {
87
+ if (options.isHatch && !isCloud) {
88
88
  // The hatch overlay writes `llm.default.provider` directly.
89
89
  const hatchProvider = llm.default?.provider;
90
90
  if (
91
91
  hatchProvider &&
92
- hatchProvider !== CADET_MANAGED_PROVIDER &&
92
+ hatchProvider !== CADET_CLOUD_PROVIDER &&
93
93
  hatchProvider !== "ollama" &&
94
94
  !PROVIDERS_REQUIRING_BASE_URL_AND_MODELS.has(hatchProvider)
95
95
  ) {
@@ -138,7 +138,7 @@ export function seedInferenceProfiles(
138
138
  llm.default = {
139
139
  ...blob,
140
140
  provider: resolveHatchDefaultProvider(
141
- isPlatform,
141
+ isCloud,
142
142
  hatchSelectedManagedConnection,
143
143
  usableHatchProvider,
144
144
  ),
@@ -150,8 +150,8 @@ export function seedInferenceProfiles(
150
150
  // Profile lookups below go through the effective view: a default profile
151
151
  // resolves from the code catalog whether or not the workspace carries a
152
152
  // stub for it, and a stub contributes only its status/label overlays.
153
- // Resolved against `llm.default` so the managed backups count as
154
- // available only on the managed column, matching what the schema accepts
153
+ // Resolved against `llm.default` so the cloud backups count as
154
+ // available only on the cloud column, matching what the schema accepts
155
155
  // as a reference: an `activeProfile` naming a backup on a BYOK install
156
156
  // fails the typed load's leaf recovery, reads here as no selection, and
157
157
  // is repaired to `balanced` below.
@@ -186,7 +186,7 @@ export function seedInferenceProfiles(
186
186
  requestedAdvisorProfile === undefined ||
187
187
  requestedAdvisorIsDisabledManaged
188
188
  ) {
189
- const defaultAdvisorProfile = firstActiveManagedProfile(effectiveProfiles, [
189
+ const defaultAdvisorProfile = firstActiveCloudProfile(effectiveProfiles, [
190
190
  "quality-optimized",
191
191
  "balanced",
192
192
  "cost-optimized",
@@ -201,7 +201,7 @@ export function seedInferenceProfiles(
201
201
  // Profile ordering: ensure all seeded profiles appear in the order array.
202
202
  // A managed key absent from a workspace's order is placed next to the
203
203
  // sibling that precedes it in the catalog rather than appended, so the
204
- // managed profiles stay grouped in catalog order even on a workspace whose
204
+ // cloud profiles stay grouped in catalog order even on a workspace whose
205
205
  // order already lists custom profiles. Entries already in the order keep
206
206
  // their relative positions, so a user arrangement survives.
207
207
  const profileOrder = [...llm.profileOrder];
@@ -246,13 +246,13 @@ export function readObject(value: unknown): Record<string, unknown> | null {
246
246
  }
247
247
 
248
248
  function resolveHatchDefaultProvider(
249
- isPlatform: boolean,
249
+ isCloud: boolean,
250
250
  selectedManagedConnection: boolean,
251
251
  hatchProvider: string | undefined,
252
252
  ): string {
253
253
  // Platform mode and an explicit managed-connection selection both route
254
254
  // through cadet.
255
- if (isPlatform || selectedManagedConnection) {
255
+ if (isCloud || selectedManagedConnection) {
256
256
  return "cadet";
257
257
  }
258
258
  if (hatchProvider !== undefined && isDefaultProviderChoice(hatchProvider)) {
@@ -331,7 +331,7 @@ function pruneRemovedProfileReferences(
331
331
  }
332
332
  }
333
333
 
334
- function firstActiveManagedProfile(
334
+ function firstActiveCloudProfile(
335
335
  profiles: Record<string, ProfileEntry>,
336
336
  names: string[],
337
337
  ): string | undefined {
@@ -363,8 +363,8 @@ function didHatchSelectManagedConnection(
363
363
  return MANAGED_CONNECTION_NAMES.has(explicitConnection);
364
364
  }
365
365
 
366
- // A default-profile name with no explicit connection selects the managed
367
- // route: the cadet column IS the managed column, and its profiles route
366
+ // A default-profile name with no explicit connection selects the cloud
367
+ // route: the cadet column IS the cloud column, and its profiles route
368
368
  // through the canonical cadet row.
369
369
  return MANAGED_PROFILE_TEMPLATES[activeProfile] !== undefined;
370
370
  }
@@ -1,4 +1,4 @@
1
- import { isSkillCompatibleWithPlatform } from "../skills/platform-compatibility.js";
1
+ import { isSkillCompatibleWithCloud } from "../skills/cloud-compatibility.js";
2
2
  import { isAssistantFeatureFlagEnabled } from "./assistant-feature-flags.js";
3
3
  import type { AssistantConfig, SkillEntryConfig } from "./schema.js";
4
4
  import type { SkillSummary } from "./skills.js";
@@ -32,7 +32,7 @@ export function resolveSkillStates(
32
32
  };
33
33
 
34
34
  for (const skill of catalog) {
35
- if (!isSkillCompatibleWithPlatform(skill)) {
35
+ if (!isSkillCompatibleWithCloud(skill)) {
36
36
  continue;
37
37
  }
38
38
 
@@ -21,14 +21,14 @@ import { z } from "zod";
21
21
  import type { ClientOs } from "../channels/types.js";
22
22
  import { getDefaultPluginSkillRoots } from "../plugins/defaults/main.js";
23
23
  import { isPluginDisabled } from "../plugins/disabled-state.js";
24
- import { parseFrontmatterFields } from "../skills/frontmatter.js";
25
- import type { InlineCommandExpansion } from "../skills/inline-command-expansions.js";
26
- import { parseInlineCommandExpansions } from "../skills/inline-command-expansions.js";
27
24
  import {
28
25
  normalizeSkillPlatforms,
29
26
  SKILL_PLATFORM_VALUES,
30
27
  type SkillPlatform,
31
- } from "../skills/platform-compatibility.js";
28
+ } from "../skills/cloud-compatibility.js";
29
+ import { parseFrontmatterFields } from "../skills/frontmatter.js";
30
+ import type { InlineCommandExpansion } from "../skills/inline-command-expansions.js";
31
+ import { parseInlineCommandExpansions } from "../skills/inline-command-expansions.js";
32
32
  import { parseToolManifestFile } from "../skills/tool-manifest.js";
33
33
  import { computeSkillVersionHash } from "../skills/version-hash.js";
34
34
  import type { OwnerInfo } from "../tools/types.js";
@@ -34,8 +34,8 @@ interface GatedProfile {
34
34
  place: (profileOrder: string[]) => void;
35
35
  /**
36
36
  * Whether a BYOK install first materializes the stub disabled. True for a
37
- * profile whose managed route exists but is unusable until the user enables
38
- * the managed connection; false for a managed-only profile, whose stub has
37
+ * profile whose cloud route exists but is unusable until the user enables
38
+ * the cloud connection; false for a cloud-only profile, whose stub has
39
39
  * no body on a BYOK column and so is never offered there anyway.
40
40
  */
41
41
  byokStartsDisabled: boolean;
@@ -67,7 +67,7 @@ const GATED_PROFILES: readonly GatedProfile[] = [
67
67
  ];
68
68
 
69
69
  /**
70
- * Reconcile flag-gated managed profiles against the current feature-flag state.
70
+ * Reconcile flag-gated cloud profiles against the current feature-flag state.
71
71
  *
72
72
  * `seedInferenceProfiles()` runs synchronously at boot before feature flags are
73
73
  * available, so the gated profiles (OS Beta, Auto) are materialized here once
@@ -97,9 +97,9 @@ export function reconcileFlagGatedProfiles(): boolean {
97
97
  : [];
98
98
  llm.profileOrder = profileOrder;
99
99
 
100
- const isPlatform =
101
- process.env.IS_PLATFORM === "true" || process.env.IS_PLATFORM === "1";
102
- const isByokMode = !isPlatform;
100
+ const isCloud =
101
+ process.env.IS_CLOUD === "true" || process.env.IS_CLOUD === "1";
102
+ const isByokMode = !isCloud;
103
103
 
104
104
  let changed = false;
105
105
  for (const gated of GATED_PROFILES) {
@@ -154,7 +154,7 @@ function enableProfile(
154
154
  // `topP`).
155
155
  const next: Record<string, unknown> = { source: "managed" };
156
156
 
157
- // BYOK installs create the stub disabled: the managed inference connection
157
+ // BYOK installs create the stub disabled: the cloud inference connection
158
158
  // backing this profile isn't usable until the user enables it, so a fresh
159
159
  // entry starts disabled to avoid offering an unusable route. The
160
160
  // " (Managed)" label suffix disambiguates it from personal profiles in
@@ -251,7 +251,7 @@ function disableProfile(
251
251
  typeof llm.advisorProfile === "string" &&
252
252
  removed.has(llm.advisorProfile)
253
253
  ) {
254
- // Repoint the advisor at the managed Quality profile (the strongest).
254
+ // Repoint the advisor at the cloud Quality profile (the strongest).
255
255
  // `quality-optimized` is an always-available code-catalog default, so it
256
256
  // resolves whether or not a workspace stub exists.
257
257
  llm.advisorProfile = "quality-optimized";