@cats-inc/cats-platform 0.1.21 → 0.3.4

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 (548) hide show
  1. package/.env.example +3 -7
  2. package/README.md +35 -0
  3. package/build/desktop/bootstrapNavigation.d.ts.map +1 -1
  4. package/build/desktop/bootstrapNavigation.js +6 -13
  5. package/build/desktop/bootstrapNavigation.js.map +1 -1
  6. package/build/desktop/bootstrapPage.d.ts.map +1 -1
  7. package/build/desktop/bootstrapPage.js +63 -86
  8. package/build/desktop/bootstrapPage.js.map +1 -1
  9. package/build/desktop/cliInventoryProbe.d.ts +11 -2
  10. package/build/desktop/cliInventoryProbe.d.ts.map +1 -1
  11. package/build/desktop/cliInventoryProbe.js +19 -13
  12. package/build/desktop/cliInventoryProbe.js.map +1 -1
  13. package/build/desktop/config.d.ts +0 -4
  14. package/build/desktop/config.d.ts.map +1 -1
  15. package/build/desktop/config.js +1 -6
  16. package/build/desktop/config.js.map +1 -1
  17. package/build/desktop/contracts.d.ts +12 -2
  18. package/build/desktop/contracts.d.ts.map +1 -1
  19. package/build/desktop/contracts.js +1 -2
  20. package/build/desktop/contracts.js.map +1 -1
  21. package/build/desktop/hostVersion.d.ts.map +1 -1
  22. package/build/desktop/hostVersion.js +3 -5
  23. package/build/desktop/hostVersion.js.map +1 -1
  24. package/build/desktop/main.js +205 -256
  25. package/build/desktop/main.js.map +1 -1
  26. package/build/desktop/packaging.d.ts +2 -0
  27. package/build/desktop/packaging.d.ts.map +1 -1
  28. package/build/desktop/packaging.js +34 -14
  29. package/build/desktop/packaging.js.map +1 -1
  30. package/build/desktop/preload.cjs +9 -0
  31. package/build/desktop/preload.cjs.map +1 -1
  32. package/build/desktop/processSupervisor.d.ts.map +1 -1
  33. package/build/desktop/processSupervisor.js +3 -0
  34. package/build/desktop/processSupervisor.js.map +1 -1
  35. package/build/desktop/providerManager.d.ts +46 -0
  36. package/build/desktop/providerManager.d.ts.map +1 -0
  37. package/build/desktop/providerManager.js +220 -0
  38. package/build/desktop/providerManager.js.map +1 -0
  39. package/build/desktop/providerSelection.d.ts +38 -0
  40. package/build/desktop/providerSelection.d.ts.map +1 -0
  41. package/build/desktop/providerSelection.js +118 -0
  42. package/build/desktop/providerSelection.js.map +1 -0
  43. package/build/desktop/readiness.d.ts +2 -0
  44. package/build/desktop/readiness.d.ts.map +1 -1
  45. package/build/desktop/readiness.js +14 -33
  46. package/build/desktop/readiness.js.map +1 -1
  47. package/build/desktop/setupAssets.d.ts.map +1 -1
  48. package/build/desktop/setupAssets.js +28 -14
  49. package/build/desktop/setupAssets.js.map +1 -1
  50. package/build/desktop/setupAudit.d.ts +4 -3
  51. package/build/desktop/setupAudit.d.ts.map +1 -1
  52. package/build/desktop/setupAudit.js +18 -34
  53. package/build/desktop/setupAudit.js.map +1 -1
  54. package/build/desktop/setupBridge.js +1 -1
  55. package/build/desktop/setupBridge.js.map +1 -1
  56. package/build/desktop/setupPrerequisites.d.ts +11 -0
  57. package/build/desktop/setupPrerequisites.d.ts.map +1 -0
  58. package/build/desktop/setupPrerequisites.js +47 -0
  59. package/build/desktop/setupPrerequisites.js.map +1 -0
  60. package/build/desktop/updateDialog.d.ts +27 -1
  61. package/build/desktop/updateDialog.d.ts.map +1 -1
  62. package/build/desktop/updateDialog.js +85 -5
  63. package/build/desktop/updateDialog.js.map +1 -1
  64. package/build/renderer/assets/ActiveSessionPermissionChip-B49WcZBJ.js +1 -0
  65. package/build/renderer/assets/App-BpxZB5ym.js +2 -0
  66. package/build/renderer/assets/App-DYTUfAl6.js +1 -0
  67. package/build/renderer/assets/App-DxsV-tKS.css +1 -0
  68. package/build/renderer/assets/{App-DKOSn0o_.js → App-boB4WrmU.js} +1 -1
  69. package/build/renderer/assets/WorkspaceAppRoutes-CPqz85iw.js +1 -0
  70. package/build/renderer/assets/app-C52wwCGz.js +85 -0
  71. package/build/renderer/assets/app-CqnsY5ed.css +1 -0
  72. package/build/renderer/assets/{client-BdGHAUoK.js → client-DREGSZqQ.js} +1 -1
  73. package/build/renderer/assets/conversationSidebarRecentEntries-DK0iWS73.js +6 -0
  74. package/build/renderer/assets/{screenshotOverlay-DfBcolX-.js → screenshotOverlay-EF07cXvw.js} +1 -1
  75. package/build/renderer/assets/{useDraftSessionChips-DCIId0eY.js → useDraftSessionChips-BdZ_B1gy.js} +1 -1
  76. package/build/renderer/desktop/overlay/index.html +2 -2
  77. package/build/renderer/index.html +3 -3
  78. package/build/server/app/renderer/auth/api.d.ts.map +1 -1
  79. package/build/server/app/renderer/auth/api.js +4 -1
  80. package/build/server/app/renderer/auth/api.js.map +1 -1
  81. package/build/server/app/renderer/providerCatalogClient.d.ts.map +1 -1
  82. package/build/server/app/renderer/providerCatalogClient.js +34 -12
  83. package/build/server/app/renderer/providerCatalogClient.js.map +1 -1
  84. package/build/server/app/renderer/providerClientInvalidation.d.ts +6 -0
  85. package/build/server/app/renderer/providerClientInvalidation.d.ts.map +1 -0
  86. package/build/server/app/renderer/providerClientInvalidation.js +12 -0
  87. package/build/server/app/renderer/providerClientInvalidation.js.map +1 -0
  88. package/build/server/app/renderer/providerReadLoop.d.ts +5 -0
  89. package/build/server/app/renderer/providerReadLoop.d.ts.map +1 -0
  90. package/build/server/app/renderer/providerReadLoop.js +52 -0
  91. package/build/server/app/renderer/providerReadLoop.js.map +1 -0
  92. package/build/server/app/renderer/providerRegistryClient.d.ts +3 -2
  93. package/build/server/app/renderer/providerRegistryClient.d.ts.map +1 -1
  94. package/build/server/app/renderer/providerRegistryClient.js +51 -53
  95. package/build/server/app/renderer/providerRegistryClient.js.map +1 -1
  96. package/build/server/app/server/appPackageRoutes.d.ts +2 -0
  97. package/build/server/app/server/appPackageRoutes.d.ts.map +1 -1
  98. package/build/server/app/server/appPackageRoutes.js +105 -0
  99. package/build/server/app/server/appPackageRoutes.js.map +1 -1
  100. package/build/server/app/server/authGatePolicy.js +14 -1
  101. package/build/server/app/server/authGatePolicy.js.map +1 -1
  102. package/build/server/app/server/contracts.d.ts +15 -0
  103. package/build/server/app/server/contracts.d.ts.map +1 -1
  104. package/build/server/app/server/dependencies.d.ts.map +1 -1
  105. package/build/server/app/server/dependencies.js +42 -1
  106. package/build/server/app/server/dependencies.js.map +1 -1
  107. package/build/server/app/server/goldenPathStartupResume.d.ts +55 -0
  108. package/build/server/app/server/goldenPathStartupResume.d.ts.map +1 -0
  109. package/build/server/app/server/goldenPathStartupResume.js +109 -0
  110. package/build/server/app/server/goldenPathStartupResume.js.map +1 -0
  111. package/build/server/app/server/platformSetupRoutes.d.ts.map +1 -1
  112. package/build/server/app/server/platformSetupRoutes.js +1 -13
  113. package/build/server/app/server/platformSetupRoutes.js.map +1 -1
  114. package/build/server/app/server/polling.d.ts.map +1 -1
  115. package/build/server/app/server/polling.js +2 -0
  116. package/build/server/app/server/polling.js.map +1 -1
  117. package/build/server/app/server/requestRouter.d.ts.map +1 -1
  118. package/build/server/app/server/requestRouter.js +30 -0
  119. package/build/server/app/server/requestRouter.js.map +1 -1
  120. package/build/server/app/server/runtimeSurfaceProxy.d.ts.map +1 -1
  121. package/build/server/app/server/runtimeSurfaceProxy.js +4 -2
  122. package/build/server/app/server/runtimeSurfaceProxy.js.map +1 -1
  123. package/build/server/app/server/startupRecovery.d.ts.map +1 -1
  124. package/build/server/app/server/startupRecovery.js +5 -0
  125. package/build/server/app/server/startupRecovery.js.map +1 -1
  126. package/build/server/app/server/subscribeRoutes.d.ts.map +1 -1
  127. package/build/server/app/server/subscribeRoutes.js +5 -3
  128. package/build/server/app/server/subscribeRoutes.js.map +1 -1
  129. package/build/server/app/server/telegramCommandSurface.d.ts +29 -0
  130. package/build/server/app/server/telegramCommandSurface.d.ts.map +1 -0
  131. package/build/server/app/server/telegramCommandSurface.js +123 -0
  132. package/build/server/app/server/telegramCommandSurface.js.map +1 -0
  133. package/build/server/app/server/transportWorkGoldenPath.d.ts +82 -0
  134. package/build/server/app/server/transportWorkGoldenPath.d.ts.map +1 -0
  135. package/build/server/app/server/transportWorkGoldenPath.js +307 -0
  136. package/build/server/app/server/transportWorkGoldenPath.js.map +1 -0
  137. package/build/server/config.d.ts +21 -0
  138. package/build/server/config.d.ts.map +1 -1
  139. package/build/server/config.js +12 -0
  140. package/build/server/config.js.map +1 -1
  141. package/build/server/design/components/providerModelFieldsSupport.d.ts +5 -24
  142. package/build/server/design/components/providerModelFieldsSupport.d.ts.map +1 -1
  143. package/build/server/design/components/providerModelFieldsSupport.js +65 -70
  144. package/build/server/design/components/providerModelFieldsSupport.js.map +1 -1
  145. package/build/server/design/components/useProviderCatalogState.d.ts +2 -2
  146. package/build/server/design/components/useProviderCatalogState.d.ts.map +1 -1
  147. package/build/server/design/components/useProviderCatalogState.js +71 -151
  148. package/build/server/design/components/useProviderCatalogState.js.map +1 -1
  149. package/build/server/design/components/useProviderModelFieldActions.js +2 -2
  150. package/build/server/design/components/useProviderModelFieldActions.js.map +1 -1
  151. package/build/server/design/components/useProviderRegistryState.d.ts +1 -7
  152. package/build/server/design/components/useProviderRegistryState.d.ts.map +1 -1
  153. package/build/server/design/components/useProviderRegistryState.js +41 -104
  154. package/build/server/design/components/useProviderRegistryState.js.map +1 -1
  155. package/build/server/design/components/useProviderTargetReconciliation.d.ts +1 -0
  156. package/build/server/design/components/useProviderTargetReconciliation.d.ts.map +1 -1
  157. package/build/server/design/components/useProviderTargetReconciliation.js +3 -2
  158. package/build/server/design/components/useProviderTargetReconciliation.js.map +1 -1
  159. package/build/server/index.js +4 -0
  160. package/build/server/index.js.map +1 -1
  161. package/build/server/platform/apps/packageInstaller.d.ts +19 -0
  162. package/build/server/platform/apps/packageInstaller.d.ts.map +1 -0
  163. package/build/server/platform/apps/packageInstaller.js +92 -0
  164. package/build/server/platform/apps/packageInstaller.js.map +1 -0
  165. package/build/server/platform/apps/registry.d.ts +6 -0
  166. package/build/server/platform/apps/registry.d.ts.map +1 -1
  167. package/build/server/platform/apps/registry.js +24 -0
  168. package/build/server/platform/apps/registry.js.map +1 -1
  169. package/build/server/platform/apps/renderer.d.ts +6 -0
  170. package/build/server/platform/apps/renderer.d.ts.map +1 -0
  171. package/build/server/platform/apps/renderer.js +18 -0
  172. package/build/server/platform/apps/renderer.js.map +1 -0
  173. package/build/server/platform/orchestration/entitySubscriptions/channel.d.ts +2 -1
  174. package/build/server/platform/orchestration/entitySubscriptions/channel.d.ts.map +1 -1
  175. package/build/server/platform/orchestration/entitySubscriptions/channel.js +3 -18
  176. package/build/server/platform/orchestration/entitySubscriptions/channel.js.map +1 -1
  177. package/build/server/platform/orchestration/entitySubscriptions/index.d.ts +1 -0
  178. package/build/server/platform/orchestration/entitySubscriptions/index.d.ts.map +1 -1
  179. package/build/server/platform/orchestration/entitySubscriptions/index.js.map +1 -1
  180. package/build/server/platform/runtime/deliveryClient.d.ts +111 -0
  181. package/build/server/platform/runtime/deliveryClient.d.ts.map +1 -0
  182. package/build/server/platform/runtime/deliveryClient.js +289 -0
  183. package/build/server/platform/runtime/deliveryClient.js.map +1 -0
  184. package/build/server/platform/supervision/providerCapabilityBootstrapYaml.d.ts +1 -0
  185. package/build/server/platform/supervision/providerCapabilityBootstrapYaml.d.ts.map +1 -1
  186. package/build/server/platform/supervision/providerCapabilityBootstrapYaml.js +10 -0
  187. package/build/server/platform/supervision/providerCapabilityBootstrapYaml.js.map +1 -1
  188. package/build/server/platform/supervision/runtimeBoundary.d.ts +11 -1
  189. package/build/server/platform/supervision/runtimeBoundary.d.ts.map +1 -1
  190. package/build/server/platform/supervision/runtimeBoundary.js +2 -2
  191. package/build/server/platform/supervision/runtimeBoundary.js.map +1 -1
  192. package/build/server/platform/transports/telegram/bridge.d.ts +18 -0
  193. package/build/server/platform/transports/telegram/bridge.d.ts.map +1 -1
  194. package/build/server/platform/transports/telegram/bridge.js +176 -0
  195. package/build/server/platform/transports/telegram/bridge.js.map +1 -1
  196. package/build/server/platform/transports/telegram/commandPort.d.ts +40 -0
  197. package/build/server/platform/transports/telegram/commandPort.d.ts.map +1 -0
  198. package/build/server/platform/transports/telegram/commandPort.js +17 -0
  199. package/build/server/platform/transports/telegram/commandPort.js.map +1 -0
  200. package/build/server/platform/transports/telegram/commandRouter.d.ts +22 -0
  201. package/build/server/platform/transports/telegram/commandRouter.d.ts.map +1 -1
  202. package/build/server/platform/transports/telegram/commandRouter.js.map +1 -1
  203. package/build/server/platform/transports/telegram/commands/index.d.ts.map +1 -1
  204. package/build/server/platform/transports/telegram/commands/index.js +38 -0
  205. package/build/server/platform/transports/telegram/commands/index.js.map +1 -1
  206. package/build/server/platform/transports/telegram/ingressDispatch.d.ts +56 -0
  207. package/build/server/platform/transports/telegram/ingressDispatch.d.ts.map +1 -0
  208. package/build/server/platform/transports/telegram/ingressDispatch.js +93 -0
  209. package/build/server/platform/transports/telegram/ingressDispatch.js.map +1 -0
  210. package/build/server/platform/transports/telegram/polling.d.ts +34 -0
  211. package/build/server/platform/transports/telegram/polling.d.ts.map +1 -1
  212. package/build/server/platform/transports/telegram/polling.js +86 -9
  213. package/build/server/platform/transports/telegram/polling.js.map +1 -1
  214. package/build/server/platform/transports/telegram/relay/index.d.ts +3 -0
  215. package/build/server/platform/transports/telegram/relay/index.d.ts.map +1 -1
  216. package/build/server/platform/transports/telegram/relay/index.js +5 -1
  217. package/build/server/platform/transports/telegram/relay/index.js.map +1 -1
  218. package/build/server/platform/transports/telegram/relay/ingress.d.ts +2 -0
  219. package/build/server/platform/transports/telegram/relay/ingress.d.ts.map +1 -1
  220. package/build/server/platform/transports/telegram/relay/ingress.js +1 -1
  221. package/build/server/platform/transports/telegram/relay/ingress.js.map +1 -1
  222. package/build/server/platform/transports/work-delivery/actionTokens.d.ts +66 -0
  223. package/build/server/platform/transports/work-delivery/actionTokens.d.ts.map +1 -0
  224. package/build/server/platform/transports/work-delivery/actionTokens.js +145 -0
  225. package/build/server/platform/transports/work-delivery/actionTokens.js.map +1 -0
  226. package/build/server/platform/transports/work-delivery/contracts.d.ts +172 -0
  227. package/build/server/platform/transports/work-delivery/contracts.d.ts.map +1 -0
  228. package/build/server/platform/transports/work-delivery/contracts.js +26 -0
  229. package/build/server/platform/transports/work-delivery/contracts.js.map +1 -0
  230. package/build/server/platform/transports/work-delivery/deliveryGates.d.ts +32 -0
  231. package/build/server/platform/transports/work-delivery/deliveryGates.d.ts.map +1 -0
  232. package/build/server/platform/transports/work-delivery/deliveryGates.js +45 -0
  233. package/build/server/platform/transports/work-delivery/deliveryGates.js.map +1 -0
  234. package/build/server/platform/transports/work-delivery/inboundClassification.d.ts +31 -0
  235. package/build/server/platform/transports/work-delivery/inboundClassification.d.ts.map +1 -0
  236. package/build/server/platform/transports/work-delivery/inboundClassification.js +52 -0
  237. package/build/server/platform/transports/work-delivery/inboundClassification.js.map +1 -0
  238. package/build/server/platform/transports/work-delivery/outbox.d.ts +84 -0
  239. package/build/server/platform/transports/work-delivery/outbox.d.ts.map +1 -0
  240. package/build/server/platform/transports/work-delivery/outbox.js +270 -0
  241. package/build/server/platform/transports/work-delivery/outbox.js.map +1 -0
  242. package/build/server/platform/transports/work-delivery/permissionEnvelope.d.ts +57 -0
  243. package/build/server/platform/transports/work-delivery/permissionEnvelope.d.ts.map +1 -0
  244. package/build/server/platform/transports/work-delivery/permissionEnvelope.js +74 -0
  245. package/build/server/platform/transports/work-delivery/permissionEnvelope.js.map +1 -0
  246. package/build/server/platform/transports/work-delivery/port.d.ts +60 -0
  247. package/build/server/platform/transports/work-delivery/port.d.ts.map +1 -0
  248. package/build/server/platform/transports/work-delivery/port.js +15 -0
  249. package/build/server/platform/transports/work-delivery/port.js.map +1 -0
  250. package/build/server/platform/transports/work-delivery/proposal.d.ts +31 -0
  251. package/build/server/platform/transports/work-delivery/proposal.d.ts.map +1 -0
  252. package/build/server/platform/transports/work-delivery/proposal.js +59 -0
  253. package/build/server/platform/transports/work-delivery/proposal.js.map +1 -0
  254. package/build/server/platform/transports/work-delivery/readiness.d.ts +61 -0
  255. package/build/server/platform/transports/work-delivery/readiness.d.ts.map +1 -0
  256. package/build/server/platform/transports/work-delivery/readiness.js +123 -0
  257. package/build/server/platform/transports/work-delivery/readiness.js.map +1 -0
  258. package/build/server/platform/transports/work-delivery/stageProjection.d.ts +43 -0
  259. package/build/server/platform/transports/work-delivery/stageProjection.d.ts.map +1 -0
  260. package/build/server/platform/transports/work-delivery/stageProjection.js +132 -0
  261. package/build/server/platform/transports/work-delivery/stageProjection.js.map +1 -0
  262. package/build/server/platform/transports/work-delivery/stateStore.d.ts +21 -0
  263. package/build/server/platform/transports/work-delivery/stateStore.d.ts.map +1 -0
  264. package/build/server/platform/transports/work-delivery/stateStore.js +193 -0
  265. package/build/server/platform/transports/work-delivery/stateStore.js.map +1 -0
  266. package/build/server/platform/transports/work-delivery/telemetry.d.ts +49 -0
  267. package/build/server/platform/transports/work-delivery/telemetry.d.ts.map +1 -0
  268. package/build/server/platform/transports/work-delivery/telemetry.js +80 -0
  269. package/build/server/platform/transports/work-delivery/telemetry.js.map +1 -0
  270. package/build/server/products/chat/api/contracts.d.ts +10 -0
  271. package/build/server/products/chat/api/contracts.d.ts.map +1 -1
  272. package/build/server/products/chat/api/resources/channelRoutes.d.ts.map +1 -1
  273. package/build/server/products/chat/api/resources/channelRoutes.js +27 -1
  274. package/build/server/products/chat/api/resources/channelRoutes.js.map +1 -1
  275. package/build/server/products/chat/api/routeSupport.d.ts +17 -1
  276. package/build/server/products/chat/api/routeSupport.d.ts.map +1 -1
  277. package/build/server/products/chat/api/routeSupport.js +27 -4
  278. package/build/server/products/chat/api/routeSupport.js.map +1 -1
  279. package/build/server/products/chat/api/setupRoutes.d.ts.map +1 -1
  280. package/build/server/products/chat/api/setupRoutes.js +23 -8
  281. package/build/server/products/chat/api/setupRoutes.js.map +1 -1
  282. package/build/server/products/chat/state/model/channelExecutionTargets.d.ts +15 -0
  283. package/build/server/products/chat/state/model/channelExecutionTargets.d.ts.map +1 -1
  284. package/build/server/products/chat/state/model/channelExecutionTargets.js +25 -0
  285. package/build/server/products/chat/state/model/channelExecutionTargets.js.map +1 -1
  286. package/build/server/products/chat/state/model/index.d.ts +1 -1
  287. package/build/server/products/chat/state/model/index.d.ts.map +1 -1
  288. package/build/server/products/chat/state/model/index.js +1 -1
  289. package/build/server/products/chat/state/model/index.js.map +1 -1
  290. package/build/server/products/chat/state/model/readModels.d.ts +1 -0
  291. package/build/server/products/chat/state/model/readModels.d.ts.map +1 -1
  292. package/build/server/products/chat/state/model/readModels.js +2 -1
  293. package/build/server/products/chat/state/model/readModels.js.map +1 -1
  294. package/build/server/products/code/api/relayRoutes.d.ts.map +1 -1
  295. package/build/server/products/code/api/relayRoutes.js +36 -7
  296. package/build/server/products/code/api/relayRoutes.js.map +1 -1
  297. package/build/server/products/code/state/relayState.d.ts +2 -1
  298. package/build/server/products/code/state/relayState.d.ts.map +1 -1
  299. package/build/server/products/code/state/relayState.js +7 -7
  300. package/build/server/products/code/state/relayState.js.map +1 -1
  301. package/build/server/products/shared/api/workspaceContracts.d.ts +5 -0
  302. package/build/server/products/shared/api/workspaceContracts.d.ts.map +1 -1
  303. package/build/server/products/shared/renderer/api/appShell.d.ts +1 -0
  304. package/build/server/products/shared/renderer/api/appShell.d.ts.map +1 -1
  305. package/build/server/products/shared/renderer/api/appShell.js +9 -0
  306. package/build/server/products/shared/renderer/api/appShell.js.map +1 -1
  307. package/build/server/products/work/api/goldenPathProjection.d.ts +156 -0
  308. package/build/server/products/work/api/goldenPathProjection.d.ts.map +1 -0
  309. package/build/server/products/work/api/goldenPathProjection.js +252 -0
  310. package/build/server/products/work/api/goldenPathProjection.js.map +1 -0
  311. package/build/server/products/work/api/index.d.ts +54 -1
  312. package/build/server/products/work/api/index.d.ts.map +1 -1
  313. package/build/server/products/work/api/index.js +182 -4
  314. package/build/server/products/work/api/index.js.map +1 -1
  315. package/build/server/products/work/api/projection.d.ts +7 -1
  316. package/build/server/products/work/api/projection.d.ts.map +1 -1
  317. package/build/server/products/work/api/projection.js +7 -1
  318. package/build/server/products/work/api/projection.js.map +1 -1
  319. package/build/server/products/work/shared/apiPaths.d.ts +8 -0
  320. package/build/server/products/work/shared/apiPaths.d.ts.map +1 -1
  321. package/build/server/products/work/shared/apiPaths.js +8 -0
  322. package/build/server/products/work/shared/apiPaths.js.map +1 -1
  323. package/build/server/products/work/shared/workGoldenPathMessages.d.ts +83 -0
  324. package/build/server/products/work/shared/workGoldenPathMessages.d.ts.map +1 -0
  325. package/build/server/products/work/shared/workGoldenPathMessages.js +211 -0
  326. package/build/server/products/work/shared/workGoldenPathMessages.js.map +1 -0
  327. package/build/server/products/work/shared/workGoldenPathMetadata.d.ts +45 -0
  328. package/build/server/products/work/shared/workGoldenPathMetadata.d.ts.map +1 -0
  329. package/build/server/products/work/shared/workGoldenPathMetadata.js +122 -0
  330. package/build/server/products/work/shared/workGoldenPathMetadata.js.map +1 -0
  331. package/build/server/products/work/state/workCompletionEvidence.d.ts +42 -0
  332. package/build/server/products/work/state/workCompletionEvidence.d.ts.map +1 -0
  333. package/build/server/products/work/state/workCompletionEvidence.js +59 -0
  334. package/build/server/products/work/state/workCompletionEvidence.js.map +1 -0
  335. package/build/server/products/work/state/workExecutionTaskDelegate.d.ts +16 -0
  336. package/build/server/products/work/state/workExecutionTaskDelegate.d.ts.map +1 -1
  337. package/build/server/products/work/state/workExecutionTaskDelegate.js +91 -68
  338. package/build/server/products/work/state/workExecutionTaskDelegate.js.map +1 -1
  339. package/build/server/products/work/state/workGoldenPathAdmission.d.ts +78 -0
  340. package/build/server/products/work/state/workGoldenPathAdmission.d.ts.map +1 -0
  341. package/build/server/products/work/state/workGoldenPathAdmission.js +249 -0
  342. package/build/server/products/work/state/workGoldenPathAdmission.js.map +1 -0
  343. package/build/server/products/work/state/workGoldenPathDeliveryEvidence.d.ts +33 -0
  344. package/build/server/products/work/state/workGoldenPathDeliveryEvidence.d.ts.map +1 -0
  345. package/build/server/products/work/state/workGoldenPathDeliveryEvidence.js +161 -0
  346. package/build/server/products/work/state/workGoldenPathDeliveryEvidence.js.map +1 -0
  347. package/build/server/products/work/state/workGoldenPathIntake.d.ts +34 -0
  348. package/build/server/products/work/state/workGoldenPathIntake.d.ts.map +1 -0
  349. package/build/server/products/work/state/workGoldenPathIntake.js +50 -0
  350. package/build/server/products/work/state/workGoldenPathIntake.js.map +1 -0
  351. package/build/server/products/work/state/workGoldenPathLifecycle.d.ts +44 -0
  352. package/build/server/products/work/state/workGoldenPathLifecycle.d.ts.map +1 -0
  353. package/build/server/products/work/state/workGoldenPathLifecycle.js +146 -0
  354. package/build/server/products/work/state/workGoldenPathLifecycle.js.map +1 -0
  355. package/build/server/products/work/state/workGoldenPathPublish.d.ts +84 -0
  356. package/build/server/products/work/state/workGoldenPathPublish.d.ts.map +1 -0
  357. package/build/server/products/work/state/workGoldenPathPublish.js +488 -0
  358. package/build/server/products/work/state/workGoldenPathPublish.js.map +1 -0
  359. package/build/server/products/work/state/workGoldenPathRunner.d.ts +121 -0
  360. package/build/server/products/work/state/workGoldenPathRunner.d.ts.map +1 -0
  361. package/build/server/products/work/state/workGoldenPathRunner.js +447 -0
  362. package/build/server/products/work/state/workGoldenPathRunner.js.map +1 -0
  363. package/build/server/products/work/state/workGoldenPathRuntimeExecutor.d.ts +74 -0
  364. package/build/server/products/work/state/workGoldenPathRuntimeExecutor.d.ts.map +1 -0
  365. package/build/server/products/work/state/workGoldenPathRuntimeExecutor.js +239 -0
  366. package/build/server/products/work/state/workGoldenPathRuntimeExecutor.js.map +1 -0
  367. package/build/server/products/work/state/workGoldenPathService.d.ts +152 -0
  368. package/build/server/products/work/state/workGoldenPathService.d.ts.map +1 -0
  369. package/build/server/products/work/state/workGoldenPathService.js +1057 -0
  370. package/build/server/products/work/state/workGoldenPathService.js.map +1 -0
  371. package/build/server/products/work/state/workGoldenPathTelegramPort.d.ts +87 -0
  372. package/build/server/products/work/state/workGoldenPathTelegramPort.d.ts.map +1 -0
  373. package/build/server/products/work/state/workGoldenPathTelegramPort.js +220 -0
  374. package/build/server/products/work/state/workGoldenPathTelegramPort.js.map +1 -0
  375. package/build/server/runtime/client.d.ts +13 -0
  376. package/build/server/runtime/client.d.ts.map +1 -1
  377. package/build/server/runtime/client.js +44 -1
  378. package/build/server/runtime/client.js.map +1 -1
  379. package/build/server/runtime/setup.d.ts +14 -4
  380. package/build/server/runtime/setup.d.ts.map +1 -1
  381. package/build/server/runtime/setup.js +17 -19
  382. package/build/server/runtime/setup.js.map +1 -1
  383. package/build/server/runtime/usageSnapshot.d.ts +3 -0
  384. package/build/server/runtime/usageSnapshot.d.ts.map +1 -0
  385. package/build/server/runtime/usageSnapshot.js +69 -0
  386. package/build/server/runtime/usageSnapshot.js.map +1 -0
  387. package/build/server/server/routes/providerCapabilityBootstrap.d.ts +69 -0
  388. package/build/server/server/routes/providerCapabilityBootstrap.d.ts.map +1 -0
  389. package/build/server/server/routes/providerCapabilityBootstrap.js +165 -0
  390. package/build/server/server/routes/providerCapabilityBootstrap.js.map +1 -0
  391. package/build/server/server/routes/providers.d.ts.map +1 -1
  392. package/build/server/server/routes/providers.js +133 -131
  393. package/build/server/server/routes/providers.js.map +1 -1
  394. package/build/server/server/routes/telegram.d.ts +9 -0
  395. package/build/server/server/routes/telegram.d.ts.map +1 -1
  396. package/build/server/server/routes/telegram.js +79 -72
  397. package/build/server/server/routes/telegram.js.map +1 -1
  398. package/build/server/shared/catsAppManifest.d.ts +3 -1
  399. package/build/server/shared/catsAppManifest.d.ts.map +1 -1
  400. package/build/server/shared/catsAppManifest.js +2 -0
  401. package/build/server/shared/catsAppManifest.js.map +1 -1
  402. package/build/server/shared/desktopRecoveryBridge.d.ts +2 -1
  403. package/build/server/shared/desktopRecoveryBridge.d.ts.map +1 -1
  404. package/build/server/shared/desktopRecoveryBridge.js.map +1 -1
  405. package/build/server/shared/executionLabel.d.ts.map +1 -1
  406. package/build/server/shared/executionLabel.js +8 -1
  407. package/build/server/shared/executionLabel.js.map +1 -1
  408. package/build/server/shared/i18n/catalogs/en.d.ts.map +1 -1
  409. package/build/server/shared/i18n/catalogs/en.js +198 -3
  410. package/build/server/shared/i18n/catalogs/en.js.map +1 -1
  411. package/build/server/shared/i18n/catalogs/zh-TW.d.ts.map +1 -1
  412. package/build/server/shared/i18n/catalogs/zh-TW.js +197 -3
  413. package/build/server/shared/i18n/catalogs/zh-TW.js.map +1 -1
  414. package/build/server/shared/i18n/index.d.ts +192 -0
  415. package/build/server/shared/i18n/index.d.ts.map +1 -1
  416. package/build/server/shared/i18n/messageKeys.d.ts +192 -0
  417. package/build/server/shared/i18n/messageKeys.d.ts.map +1 -1
  418. package/build/server/shared/i18n/messageKeys.js +192 -0
  419. package/build/server/shared/i18n/messageKeys.js.map +1 -1
  420. package/build/server/shared/platformSetupOperation.d.ts +2 -0
  421. package/build/server/shared/platformSetupOperation.d.ts.map +1 -0
  422. package/build/server/shared/platformSetupOperation.js +9 -0
  423. package/build/server/shared/platformSetupOperation.js.map +1 -0
  424. package/build/server/shared/providerCatalog.d.ts +5 -2
  425. package/build/server/shared/providerCatalog.d.ts.map +1 -1
  426. package/build/server/shared/providerCatalog.js +6 -0
  427. package/build/server/shared/providerCatalog.js.map +1 -1
  428. package/build/server/shared/providerCatalogData.d.ts +154 -77
  429. package/build/server/shared/providerCatalogData.d.ts.map +1 -1
  430. package/build/server/shared/providerCatalogData.js +73 -36
  431. package/build/server/shared/providerCatalogData.js.map +1 -1
  432. package/build/server/shared/providerCatalogInstances.d.ts.map +1 -1
  433. package/build/server/shared/providerCatalogInstances.js +3 -0
  434. package/build/server/shared/providerCatalogInstances.js.map +1 -1
  435. package/build/server/shared/providerModelLabelRegistry.d.ts +29 -0
  436. package/build/server/shared/providerModelLabelRegistry.d.ts.map +1 -0
  437. package/build/server/shared/providerModelLabelRegistry.js +49 -0
  438. package/build/server/shared/providerModelLabelRegistry.js.map +1 -0
  439. package/build/server/shared/providerRegistryWarnings.d.ts +4 -0
  440. package/build/server/shared/providerRegistryWarnings.d.ts.map +1 -1
  441. package/build/server/shared/providerRegistryWarnings.js +7 -0
  442. package/build/server/shared/providerRegistryWarnings.js.map +1 -1
  443. package/build/server/shared/providerSelection.d.ts.map +1 -1
  444. package/build/server/shared/providerSelection.js +10 -13
  445. package/build/server/shared/providerSelection.js.map +1 -1
  446. package/build/server/shared/runtimeSetup.d.ts +17 -4
  447. package/build/server/shared/runtimeSetup.d.ts.map +1 -1
  448. package/build/server/shared/runtimeStatusPresentation.js +1 -1
  449. package/build/server/shared/runtimeStatusPresentation.js.map +1 -1
  450. package/package.json +32 -3
  451. package/packages/app-sdk/browser.d.ts +51 -0
  452. package/packages/app-sdk/browser.js +48 -0
  453. package/packages/app-sdk/package.d.ts +14 -0
  454. package/packages/app-sdk/package.js +131 -0
  455. package/packages/app-sdk/package.json +7 -0
  456. package/packages/provider-setup/manager.d.ts +79 -0
  457. package/packages/provider-setup/manager.js +441 -0
  458. package/scripts/README.md +66 -26
  459. package/scripts/build-desktop-installer.mjs +139 -16
  460. package/scripts/build-test-ui.mjs +1 -1
  461. package/scripts/bundle-server.mjs +23 -10
  462. package/scripts/linux/build-desktop-package.sh +6 -6
  463. package/scripts/linux/install-antigravity.sh +0 -0
  464. package/scripts/linux/install-devin.sh +0 -0
  465. package/scripts/linux/install-github-cli.sh +5 -0
  466. package/scripts/linux/install-meta-cli.sh +8 -0
  467. package/scripts/linux/install-node.sh +9 -3
  468. package/scripts/linux/node-cli-common.sh +87 -48
  469. package/scripts/linux/provider-cli-common.sh +178 -130
  470. package/scripts/linux/provider-version-common.sh +247 -0
  471. package/scripts/linux/sync-agent-skills.sh +27 -5
  472. package/scripts/linux/test-linux-package-smoke.sh +6 -3
  473. package/scripts/linux/upgrade-cli-tools.sh +1 -1
  474. package/scripts/linux/verified-npm-update.sh +20 -0
  475. package/scripts/macos/build-desktop-package.sh +5 -5
  476. package/scripts/macos/install-antigravity.sh +0 -0
  477. package/scripts/macos/install-devin.sh +0 -0
  478. package/scripts/macos/install-github-cli.sh +5 -0
  479. package/scripts/macos/install-meta-cli.sh +8 -0
  480. package/scripts/macos/install-node.sh +9 -3
  481. package/scripts/macos/node-cli-common.sh +87 -48
  482. package/scripts/macos/provider-cli-common.sh +178 -130
  483. package/scripts/macos/provider-version-common.sh +247 -0
  484. package/scripts/macos/sync-agent-skills.sh +27 -5
  485. package/scripts/macos/test-macos-package-smoke.sh +6 -3
  486. package/scripts/macos/upgrade-cli-tools.sh +1 -1
  487. package/scripts/macos/verified-npm-update.sh +20 -0
  488. package/scripts/package-desktop.mjs +15 -2
  489. package/scripts/testing/check-usage-app.mts +266 -0
  490. package/scripts/testing/conversation-navigation-smoke-electron.cjs +134 -0
  491. package/scripts/testing/conversation-navigation-smoke-renderer.tsx +102 -0
  492. package/scripts/testing/conversation-navigation-smoke.mjs +67 -0
  493. package/scripts/testing/usage-app-smoke-electron.cjs +10 -0
  494. package/scripts/testing/usage-app-smoke-renderer.tsx +8 -0
  495. package/scripts/validate-release-assets.mjs +4 -1
  496. package/scripts/verify-desktop-app-bundle.mjs +108 -0
  497. package/scripts/windows/Build-DesktopPackage.ps1 +9 -6
  498. package/scripts/windows/Install-Antigravity.ps1 +26 -3
  499. package/scripts/windows/Install-ClaudeCode.ps1 +25 -7
  500. package/scripts/windows/Install-CursorAgent.ps1 +45 -30
  501. package/scripts/windows/Install-Devin.ps1 +16 -47
  502. package/scripts/windows/Install-GitHubCli.ps1 +4 -0
  503. package/scripts/windows/Install-Goose.ps1 +18 -1
  504. package/scripts/windows/Install-Grok.ps1 +14 -1
  505. package/scripts/windows/Install-Junie.ps1 +32 -11
  506. package/scripts/windows/Install-KiroCli.ps1 +37 -13
  507. package/scripts/windows/Install-MetaCli.ps1 +463 -0
  508. package/scripts/windows/Install-Node.ps1 +6 -1
  509. package/scripts/windows/Install-Ollama.ps1 +4 -1
  510. package/scripts/windows/Setup-NodeGlobalPrefix.ps1 +10 -0
  511. package/scripts/windows/Sync-AgentSkills.ps1 +29 -6
  512. package/scripts/windows/Test-WindowsInstallerSmoke.ps1 +4 -1
  513. package/scripts/windows/_HiddenProcess.ps1 +14 -3
  514. package/scripts/windows/_NativeInstallerSupport.ps1 +308 -0
  515. package/scripts/windows/_NpmCliInstaller.ps1 +35 -14
  516. package/scripts/windows/_PackagedUninstall.ps1 +9 -1
  517. package/scripts/windows/_VerifiedNpmUpdate.ps1 +25 -0
  518. package/build/desktop/updateNotifications.d.ts +0 -64
  519. package/build/desktop/updateNotifications.d.ts.map +0 -1
  520. package/build/desktop/updateNotifications.js +0 -143
  521. package/build/desktop/updateNotifications.js.map +0 -1
  522. package/build/renderer/assets/ActiveSessionPermissionChip-DImsuR9T.js +0 -1
  523. package/build/renderer/assets/App-BfOvMP2m.js +0 -1
  524. package/build/renderer/assets/App-DGwkRFZl.css +0 -1
  525. package/build/renderer/assets/App-DWd7I3Z2.js +0 -2
  526. package/build/renderer/assets/WorkspaceAppRoutes-CrbTA9En.js +0 -1
  527. package/build/renderer/assets/app-BTww3Hl4.js +0 -43
  528. package/build/renderer/assets/app-CPxWQwLA.css +0 -1
  529. package/build/renderer/assets/conversationSidebarRecentEntries-QuaOPxCb.js +0 -6
  530. package/build/server/app/renderer/settings/runtimeLifecycleHelpers.d.ts +0 -48
  531. package/build/server/app/renderer/settings/runtimeLifecycleHelpers.d.ts.map +0 -1
  532. package/build/server/app/renderer/settings/runtimeLifecycleHelpers.js +0 -535
  533. package/build/server/app/renderer/settings/runtimeLifecycleHelpers.js.map +0 -1
  534. package/build/server/design/components/useProviderRegistryAutoRecheck.d.ts +0 -13
  535. package/build/server/design/components/useProviderRegistryAutoRecheck.d.ts.map +0 -1
  536. package/build/server/design/components/useProviderRegistryAutoRecheck.js +0 -63
  537. package/build/server/design/components/useProviderRegistryAutoRecheck.js.map +0 -1
  538. package/build/server/products/shared/renderer/api/providerCatalogRefreshStore.d.ts +0 -19
  539. package/build/server/products/shared/renderer/api/providerCatalogRefreshStore.d.ts.map +0 -1
  540. package/build/server/products/shared/renderer/api/providerCatalogRefreshStore.js +0 -53
  541. package/build/server/products/shared/renderer/api/providerCatalogRefreshStore.js.map +0 -1
  542. package/build/server/products/shared/renderer/api/providers.d.ts +0 -17
  543. package/build/server/products/shared/renderer/api/providers.d.ts.map +0 -1
  544. package/build/server/products/shared/renderer/api/providers.js +0 -50
  545. package/build/server/products/shared/renderer/api/providers.js.map +0 -1
  546. package/scripts/linux/install-aider.sh +0 -8
  547. package/scripts/macos/install-aider.sh +0 -8
  548. package/scripts/windows/Install-Aider.ps1 +0 -368
@@ -1,162 +1,82 @@
1
1
  import { useEffect, useState } from 'react';
2
- import { PROVIDER_ADVANCED_CATALOG_INCOMPLETE_WARNING, PROVIDER_ADVANCED_CATALOG_LOAD_FAILED_WARNING, PROVIDER_MODEL_CATALOG_INCOMPLETE_WARNING, PROVIDER_MODEL_CATALOG_LOAD_FAILED_WARNING, peekProviderAdvancedCatalogFromClientCache, peekProviderModelCatalogFromClientCache, } from '../../app/renderer/providerCatalogClient.js';
3
- import { createStaticProviderAdvancedModelCatalog, createStaticProviderModelCatalog, } from '../../shared/providerCatalog.js';
4
- import { catalogMatchesTarget, createEmptyProviderAdvancedModelCatalog, createEmptyProviderModelCatalog, resolveAdvancedCatalogFallback, } from './providerModelFieldsSupport.js';
5
- import { messageKeys, t as defaultTranslate } from '../../shared/i18n/index.js';
6
- function isProviderCatalogFallbackWarning(message) {
7
- return message === PROVIDER_MODEL_CATALOG_LOAD_FAILED_WARNING
8
- || message === PROVIDER_MODEL_CATALOG_INCOMPLETE_WARNING
9
- || message === PROVIDER_ADVANCED_CATALOG_LOAD_FAILED_WARNING
10
- || message === PROVIDER_ADVANCED_CATALOG_INCOMPLETE_WARNING;
11
- }
12
- function readCatalogFailureMessage(error, fallback) {
13
- if (!(error instanceof Error)) {
14
- return fallback;
15
- }
16
- return isProviderCatalogFallbackWarning(error.message) ? fallback : error.message;
17
- }
18
- function localizeCatalogFailureReason(error, fallback) {
19
- return error instanceof Error && isProviderCatalogFallbackWarning(error.message)
20
- ? new Error(fallback)
21
- : error;
22
- }
23
- function createWarmProviderModelCatalog(provider, instance, warning) {
24
- return createStaticProviderModelCatalog(provider, {
25
- instance,
26
- ...(warning ? { warnings: [warning] } : {}),
27
- });
28
- }
29
- function createWarmProviderAdvancedModelCatalog(provider, instance, warning) {
30
- return createStaticProviderAdvancedModelCatalog(provider, {
31
- instance,
32
- ...(warning ? { warnings: [warning] } : {}),
33
- });
34
- }
35
- function createRuntimeCatalogUnavailableWarning(error, catalogKind, translate) {
36
- const fallback = translate(messageKeys.sharedProviderModelFieldRuntimeCatalogUnavailable, {
37
- catalogKind,
38
- });
39
- return translate(messageKeys.sharedProviderModelFieldRuntimeCatalogUnavailableWarning, {
40
- catalogKind,
41
- message: readCatalogFailureMessage(error, fallback),
42
- });
43
- }
44
- function peekCachedCatalogPair(provider, instance, hasSelectedProvider) {
45
- if (!hasSelectedProvider || !provider) {
46
- return null;
47
- }
48
- const normalizedInstance = instance || null;
49
- const models = peekProviderModelCatalogFromClientCache({
50
- provider,
51
- instance: normalizedInstance,
52
- });
53
- const advanced = peekProviderAdvancedCatalogFromClientCache({
54
- provider,
55
- instance: normalizedInstance,
56
- });
57
- if (models && advanced) {
58
- return { models, advanced };
59
- }
60
- return null;
61
- }
2
+ import { peekProviderAdvancedCatalogFromClientCache, peekProviderModelCatalogFromClientCache, } from '../../app/renderer/providerCatalogClient.js';
3
+ import { startProviderReadLoop } from '../../app/renderer/providerReadLoop.js';
4
+ import { isProviderReadRevalidating } from '../../shared/providerRegistryWarnings.js';
5
+ import { catalogMatchesTarget, createEmptyProviderAdvancedModelCatalog, createEmptyProviderModelCatalog, } from './providerModelFieldsSupport.js';
62
6
  export function useProviderCatalogState(input) {
63
- const translate = input.translate ?? defaultTranslate;
64
- const initialPeek = peekCachedCatalogPair(input.provider, input.resolvedInstance, input.hasSelectedProvider);
65
- const [catalogLoading, setCatalogLoading] = useState(Boolean(input.provider) && !initialPeek);
66
- const [catalog, setCatalog] = useState(() => initialPeek?.models
67
- ?? (input.hasSelectedProvider && input.provider
68
- ? createWarmProviderModelCatalog(input.provider, input.resolvedInstance || null)
69
- : createEmptyProviderModelCatalog(input.provider, input.resolvedInstance || null)));
70
- const [advancedCatalog, setAdvancedCatalog] = useState(() => initialPeek?.advanced
71
- ?? (input.hasSelectedProvider && input.provider
72
- ? createWarmProviderAdvancedModelCatalog(input.provider, input.resolvedInstance || null)
73
- : createEmptyProviderAdvancedModelCatalog(input.provider, input.resolvedInstance || null)));
7
+ const { provider, resolvedInstance, hasSelectedProvider, selectionRevision } = input;
8
+ const instance = resolvedInstance || null;
9
+ const key = JSON.stringify([provider, instance, selectionRevision, hasSelectedProvider]);
10
+ function initialState() {
11
+ const models = hasSelectedProvider
12
+ ? peekProviderModelCatalogFromClientCache({ provider, instance }) : null;
13
+ return {
14
+ key,
15
+ models: models ?? createEmptyProviderModelCatalog(provider, instance),
16
+ resolved: models !== null,
17
+ advanced: (hasSelectedProvider && peekProviderAdvancedCatalogFromClientCache({ provider, instance }))
18
+ || createEmptyProviderAdvancedModelCatalog(provider, instance),
19
+ loading: hasSelectedProvider && Boolean(provider),
20
+ };
21
+ }
22
+ const [state, setState] = useState(initialState);
74
23
  useEffect(() => {
75
24
  let cancelled = false;
76
- if (!input.hasSelectedProvider || !input.provider) {
77
- setCatalog(createEmptyProviderModelCatalog(input.provider, input.resolvedInstance || null));
78
- setAdvancedCatalog(createEmptyProviderAdvancedModelCatalog(input.provider, input.resolvedInstance || null));
79
- setCatalogLoading(false);
80
- return () => {
81
- cancelled = true;
82
- };
25
+ const current = initialState();
26
+ let modelsReady = false;
27
+ let advancedReady = false;
28
+ setState(current);
29
+ if (!hasSelectedProvider || !provider)
30
+ return;
31
+ function publish() {
32
+ if (!cancelled)
33
+ setState({ ...current });
83
34
  }
84
- const peek = peekCachedCatalogPair(input.provider, input.resolvedInstance, input.hasSelectedProvider);
85
- if (peek) {
86
- setCatalog(peek.models);
87
- setAdvancedCatalog(peek.advanced);
88
- setCatalogLoading(false);
35
+ function matches(catalog) {
36
+ return catalogMatchesTarget({ catalogProvider: catalog.provider, catalogInstance: catalog.instance,
37
+ provider, instance: resolvedInstance });
89
38
  }
90
- else {
91
- setCatalog(createWarmProviderModelCatalog(input.provider, input.resolvedInstance || null));
92
- setAdvancedCatalog(createWarmProviderAdvancedModelCatalog(input.provider, input.resolvedInstance || null));
93
- setCatalogLoading(true);
94
- }
95
- void Promise.allSettled([
96
- input.fetchProviderModels(input.provider, input.resolvedInstance || null),
97
- input.fetchAdvancedProviderModels(input.provider, input.resolvedInstance || null),
98
- ]).then(([modelsResult, advancedResult]) => {
99
- if (cancelled) {
100
- return;
101
- }
102
- const nextCatalog = modelsResult.status === 'fulfilled'
103
- ? modelsResult.value
104
- : createWarmProviderModelCatalog(input.provider, input.resolvedInstance || null, createRuntimeCatalogUnavailableWarning(modelsResult.reason, translate(messageKeys.sharedProviderModelFieldCatalogKindModel), translate));
105
- setCatalog(nextCatalog);
106
- if (advancedResult.status === 'fulfilled' || modelsResult.status === 'fulfilled') {
107
- const advancedCatalogUnavailableMessage = translate(messageKeys.sharedProviderModelFieldAdvancedCatalogUnavailable);
108
- setAdvancedCatalog(resolveAdvancedCatalogFallback({
109
- provider: input.provider,
110
- instance: input.resolvedInstance || null,
111
- catalog: nextCatalog,
112
- advancedCatalogResult: advancedResult.status === 'rejected'
113
- ? {
114
- status: 'rejected',
115
- reason: localizeCatalogFailureReason(advancedResult.reason, advancedCatalogUnavailableMessage),
116
- }
117
- : advancedResult,
118
- modelsResult,
119
- translate,
120
- }));
39
+ const stop = startProviderReadLoop(async () => {
40
+ // Retry just the failed half. Successful base models remain usable while
41
+ // advanced controls load, and a failed refresh never erases either half.
42
+ if (modelsReady && advancedReady) {
43
+ modelsReady = false;
44
+ advancedReady = false;
121
45
  }
122
- else {
123
- setAdvancedCatalog(createWarmProviderAdvancedModelCatalog(input.provider, input.resolvedInstance || null, createRuntimeCatalogUnavailableWarning(advancedResult.reason, translate(messageKeys.sharedProviderModelFieldCatalogKindAdvancedModel), translate)));
124
- }
125
- setCatalogLoading(false);
126
- });
127
- return () => {
128
- cancelled = true;
129
- };
130
- }, [
131
- input.fetchAdvancedProviderModels,
132
- input.fetchProviderModels,
133
- input.hasSelectedProvider,
134
- input.provider,
135
- input.resolvedInstance,
136
- translate,
137
- ]);
138
- const fallbackCatalog = createEmptyProviderModelCatalog(input.provider, input.resolvedInstance || null);
139
- const fallbackAdvancedCatalog = createEmptyProviderAdvancedModelCatalog(input.provider, input.resolvedInstance || null);
140
- const effectiveCatalog = catalogMatchesTarget({
141
- catalogProvider: catalog.provider,
142
- catalogInstance: catalog.instance,
143
- provider: input.provider,
144
- instance: input.resolvedInstance,
145
- })
146
- ? catalog
147
- : fallbackCatalog;
148
- const effectiveAdvancedCatalog = catalogMatchesTarget({
149
- catalogProvider: advancedCatalog.provider,
150
- catalogInstance: advancedCatalog.instance,
151
- provider: input.provider,
152
- instance: input.resolvedInstance,
153
- })
154
- ? advancedCatalog
155
- : fallbackAdvancedCatalog;
46
+ current.loading = true;
47
+ publish();
48
+ await Promise.allSettled([
49
+ modelsReady ? Promise.resolve() : input.fetchProviderModels(provider, instance).then((value) => {
50
+ if (cancelled || !matches(value))
51
+ return;
52
+ modelsReady = !isProviderReadRevalidating(value);
53
+ current.models = value;
54
+ current.resolved = true;
55
+ publish();
56
+ }),
57
+ advancedReady ? Promise.resolve() : input.fetchAdvancedProviderModels(provider, instance).then((value) => {
58
+ if (cancelled || !matches(value))
59
+ return;
60
+ advancedReady = !isProviderReadRevalidating(value);
61
+ current.advanced = value;
62
+ publish();
63
+ }),
64
+ ]);
65
+ current.loading = !(modelsReady && advancedReady);
66
+ publish();
67
+ return !current.loading;
68
+ }, 60_000);
69
+ return () => { cancelled = true; stop(); };
70
+ }, [provider, resolvedInstance, hasSelectedProvider, selectionRevision,
71
+ input.fetchProviderModels, input.fetchAdvancedProviderModels]);
72
+ // Never display a previous provider/revision during the render before the
73
+ // effect runs. Cache invalidation precedes registry publication.
74
+ const effective = state.key === key ? state : initialState();
156
75
  return {
157
- catalogLoading,
158
- effectiveCatalog,
159
- effectiveAdvancedCatalog,
76
+ catalogLoading: effective.loading,
77
+ catalogResolved: effective.resolved,
78
+ effectiveCatalog: effective.models,
79
+ effectiveAdvancedCatalog: effective.advanced,
160
80
  };
161
81
  }
162
82
  //# sourceMappingURL=useProviderCatalogState.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"useProviderCatalogState.js","sourceRoot":"","sources":["../../../../src/design/components/useProviderCatalogState.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"useProviderCatalogState.js","sourceRoot":"","sources":["../../../../src/design/components/useProviderCatalogState.ts"],"names":[],"mappings":"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"}
@@ -1,12 +1,12 @@
1
1
  import { useCallback } from 'react';
2
2
  import { resolveSelectedProviderInstance, } from '../../shared/providerSelection.js';
3
- import { attachExecutionLabelToProviderTarget, buildSelectionForEntry, CUSTOM_LEGACY_MODEL_VALUE, filterPersistentControlValues, updatePersistentControlValues, } from './providerModelFieldsSupport.js';
3
+ import { attachExecutionLabelToProviderTarget, buildSelectionForEntry, CUSTOM_LEGACY_MODEL_VALUE, initializePersistentControlValues, updatePersistentControlValues, } from './providerModelFieldsSupport.js';
4
4
  export { CUSTOM_LEGACY_MODEL_VALUE } from './providerModelFieldsSupport.js';
5
5
  export function useProviderModelFieldActions(input) {
6
6
  const { providerOptions, provider, resolvedInstance, model, persistedLegacyModelTarget, selectedCatalogEntryId, selectedPresetId, presetOptions, controlValues, effectiveControls, effectiveCatalog, effectiveAdvancedCatalog, markManualSelection, markLegacyManualSelection, clearManualSelection, onTargetChange, } = input;
7
7
  const emitSelection = useCallback((next) => {
8
8
  const nextModel = next.model ?? selectedCatalogEntryId;
9
- const nextControls = filterPersistentControlValues(effectiveControls, nextModel, next.controls);
9
+ const nextControls = initializePersistentControlValues(effectiveControls, nextModel, next.controls);
10
10
  const nextPresetId = next.presetId ?? null;
11
11
  const nextModelSelection = buildSelectionForEntry(nextModel, nextPresetId, nextControls);
12
12
  markManualSelection();
@@ -1 +1 @@
1
- {"version":3,"file":"useProviderModelFieldActions.js","sourceRoot":"","sources":["../../../../src/design/components/useProviderModelFieldActions.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"useProviderModelFieldActions.js","sourceRoot":"","sources":["../../../../src/design/components/useProviderModelFieldActions.ts"],"names":[],"mappings":"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"}
@@ -8,12 +8,6 @@ export declare function useProviderRegistryState(input: {
8
8
  providers: import("../../shared/providerCatalog.js").ProductProviderDescriptor[];
9
9
  providerRegistry: ProductProviderRegistryReadModel;
10
10
  providersLoaded: boolean;
11
- lastAutoProviderRegistryRecheckAt: number;
12
- reloadProviderRegistry: (options?: {
13
- markAutoRecheckAt?: number;
14
- }) => void;
15
- forceReloadProviderRegistry: (options?: {
16
- markAutoRecheckAt?: number;
17
- }) => void;
11
+ providersLoading: boolean;
18
12
  };
19
13
  //# sourceMappingURL=useProviderRegistryState.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"useProviderRegistryState.d.ts","sourceRoot":"","sources":["../../../../src/design/components/useProviderRegistryState.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,gCAAgC,EAAE,MAAM,iCAAiC,CAAC;AAQxF,wBAAgB,wBAAwB,CAAC,KAAK,EAAE;IAC9C,qBAAqB,EAAE,CAAC,OAAO,CAAC,EAAE;QAAE,KAAK,CAAC,EAAE,OAAO,CAAA;KAAE,KAAK,OAAO,CAAC,gCAAgC,CAAC,CAAC;IACpG,wBAAwB,CAAC,EAAE,CAAC,QAAQ,EAAE,gCAAgC,KAAK,IAAI,CAAC;CACjF;;;;;uCAkG2C;QAAE,iBAAiB,CAAC,EAAE,MAAM,CAAA;KAAE,KAAG,IAAI;4CAUhC;QAAE,iBAAiB,CAAC,EAAE,MAAM,CAAA;KAAE,KAAG,IAAI;EAsBrF"}
1
+ {"version":3,"file":"useProviderRegistryState.d.ts","sourceRoot":"","sources":["../../../../src/design/components/useProviderRegistryState.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,gCAAgC,EAAE,MAAM,iCAAiC,CAAC;AAIxF,wBAAgB,wBAAwB,CAAC,KAAK,EAAE;IAC9C,qBAAqB,EAAE,CAAC,OAAO,CAAC,EAAE;QAAE,KAAK,CAAC,EAAE,OAAO,CAAA;KAAE,KAAK,OAAO,CAAC,gCAAgC,CAAC,CAAC;IACpG,wBAAwB,CAAC,EAAE,CAAC,QAAQ,EAAE,gCAAgC,KAAK,IAAI,CAAC;CACjF;;;;;EA8CA"}
@@ -1,114 +1,51 @@
1
1
  import { useEffect, useRef, useState } from 'react';
2
- import { peekProviderRegistryClientCache } from '../../app/renderer/providerRegistryClient.js';
3
- import { createStaticProviderRegistryReadModel, PROVIDER_LOAD_FAILED_WARNING, PRODUCT_PROVIDER_CATALOG_CHECKING_WARNING, sanitizeProviderRegistryReadModel, } from './providerModelFieldsSupport.js';
2
+ import { peekProviderRegistryClientCache, retainProviderRegistryOnFailure, subscribeProviderRegistry, } from '../../app/renderer/providerRegistryClient.js';
3
+ import { startProviderReadLoop } from '../../app/renderer/providerReadLoop.js';
4
+ import { sanitizeProviderRegistryReadModel } from './providerModelFieldsSupport.js';
5
+ import { isProviderReadRevalidating } from '../../shared/providerRegistryWarnings.js';
4
6
  export function useProviderRegistryState(input) {
5
- const initialCached = peekProviderRegistryClientCache();
6
- const initialRegistry = initialCached
7
- ? sanitizeProviderRegistryReadModel(initialCached)
8
- : createStaticProviderRegistryReadModel([PRODUCT_PROVIDER_CATALOG_CHECKING_WARNING]);
9
- const [providers, setProviders] = useState(initialRegistry.providers);
10
- const [providerRegistry, setProviderRegistry] = useState(() => initialRegistry);
11
- const [providersLoaded, setProvidersLoaded] = useState(true);
12
- const [providerRegistryReloadToken, setProviderRegistryReloadToken] = useState(0);
13
- const [lastAutoProviderRegistryRecheckAt, setLastAutoProviderRegistryRecheckAt] = useState(0);
14
- const onProviderRegistryChangeRef = useRef(input.onProviderRegistryChange);
15
- const providerRegistryRequestIdRef = useRef(0);
16
- const providersRef = useRef(initialRegistry.providers);
7
+ const [providerRegistry, setProviderRegistry] = useState(() => peekProviderRegistryClientCache() ?? { state: 'runtime_unreachable', providers: [] });
8
+ const [providersLoaded, setProvidersLoaded] = useState(Boolean(peekProviderRegistryClientCache()));
9
+ const registryRef = useRef(providerRegistry);
10
+ const requestIdRef = useRef(0);
11
+ const onChangeRef = useRef(input.onProviderRegistryChange);
12
+ onChangeRef.current = input.onProviderRegistryChange;
17
13
  useEffect(() => {
18
- onProviderRegistryChangeRef.current = input.onProviderRegistryChange;
19
- }, [input.onProviderRegistryChange]);
20
- function commitProviderRegistry(requestId, nextRegistryResult) {
21
- if (requestId !== providerRegistryRequestIdRef.current) {
22
- return;
23
- }
24
- const sanitizedRegistry = sanitizeProviderRegistryReadModel(nextRegistryResult);
25
- const nextRegistry = sanitizedRegistry.state === 'runtime_unreachable'
26
- && sanitizedRegistry.providers.length === 0
27
- && providersRef.current.length > 0
28
- ? {
29
- ...sanitizedRegistry,
30
- providers: providersRef.current,
31
- }
32
- : sanitizedRegistry;
33
- providersRef.current = nextRegistry.providers;
34
- setProviders(nextRegistry.providers);
35
- setProviderRegistry(nextRegistry);
36
- setProvidersLoaded(true);
37
- onProviderRegistryChangeRef.current?.(nextRegistry);
38
- }
39
- function commitProviderRegistryError(requestId, error) {
40
- if (requestId !== providerRegistryRequestIdRef.current) {
41
- return;
14
+ let cancelled = false;
15
+ function commit(value) {
16
+ if (cancelled)
17
+ return;
18
+ const next = sanitizeProviderRegistryReadModel(value);
19
+ registryRef.current = next;
20
+ setProviderRegistry(next);
21
+ setProvidersLoaded(true);
22
+ onChangeRef.current?.(next);
42
23
  }
43
- const errorMessage = error instanceof Error ? error.message : PROVIDER_LOAD_FAILED_WARNING;
44
- setProviderRegistry((current) => {
45
- const baseWarnings = (current.warnings ?? []).filter((warning) => warning !== errorMessage);
46
- const keepProviders = current.providers.length > 0;
47
- const nextRegistry = {
48
- state: 'runtime_unreachable',
49
- // Preserve the last known providers list on transient failures so the
50
- // dropdowns keep working; we still surface the outage through the
51
- // registry state and warnings. First-load failures have nothing to
52
- // preserve and fall through to an empty list as before.
53
- providers: keepProviders ? current.providers : [],
54
- recovery: {
55
- retryable: true,
56
- },
57
- warnings: [...baseWarnings, errorMessage],
58
- };
59
- providersRef.current = nextRegistry.providers;
60
- onProviderRegistryChangeRef.current?.(nextRegistry);
61
- return nextRegistry;
24
+ const unsubscribe = subscribeProviderRegistry((value) => {
25
+ // Includes explicit cache reset. A late read must not undo it.
26
+ requestIdRef.current++;
27
+ commit(value);
62
28
  });
63
- setProvidersLoaded(true);
64
- }
65
- useEffect(() => {
66
- let cancelled = false;
67
- const requestId = ++providerRegistryRequestIdRef.current;
68
- void input.fetchProviderRegistry()
69
- .then((nextRegistryResult) => {
70
- if (!cancelled) {
71
- commitProviderRegistry(requestId, nextRegistryResult);
29
+ const stop = startProviderReadLoop(async () => {
30
+ const requestId = ++requestIdRef.current;
31
+ try {
32
+ const value = await input.fetchProviderRegistry();
33
+ if (!cancelled && requestId === requestIdRef.current) {
34
+ commit(retainProviderRegistryOnFailure(registryRef.current, value));
35
+ }
72
36
  }
73
- })
74
- .catch((error) => {
75
- if (!cancelled) {
76
- commitProviderRegistryError(requestId, error);
37
+ catch {
38
+ if (!cancelled && requestId === requestIdRef.current) {
39
+ commit(retainProviderRegistryOnFailure(registryRef.current, { state: 'runtime_unreachable', providers: [] }));
40
+ }
77
41
  }
42
+ return registryRef.current.state !== 'runtime_unreachable'
43
+ && !isProviderReadRevalidating(registryRef.current);
78
44
  });
79
- return () => {
80
- cancelled = true;
81
- };
82
- }, [input.fetchProviderRegistry, providerRegistryReloadToken]);
83
- function reloadProviderRegistry(options) {
84
- if (options?.markAutoRecheckAt !== undefined) {
85
- setLastAutoProviderRegistryRecheckAt(options.markAutoRecheckAt);
86
- }
87
- // Keep `providersLoaded` true so existing dropdown options stay visible
88
- // while the background refresh runs; commit/error handlers will update
89
- // state when the fetch resolves.
90
- setProviderRegistryReloadToken((current) => current + 1);
91
- }
92
- function forceReloadProviderRegistry(options) {
93
- if (options?.markAutoRecheckAt !== undefined) {
94
- setLastAutoProviderRegistryRecheckAt(options.markAutoRecheckAt);
95
- }
96
- const requestId = ++providerRegistryRequestIdRef.current;
97
- void input.fetchProviderRegistry({ force: true })
98
- .then((nextRegistryResult) => {
99
- commitProviderRegistry(requestId, nextRegistryResult);
100
- })
101
- .catch((error) => {
102
- commitProviderRegistryError(requestId, error);
103
- });
104
- }
105
- return {
106
- providers,
107
- providerRegistry,
108
- providersLoaded,
109
- lastAutoProviderRegistryRecheckAt,
110
- reloadProviderRegistry,
111
- forceReloadProviderRegistry,
112
- };
45
+ return () => { cancelled = true; stop(); unsubscribe(); };
46
+ }, [input.fetchProviderRegistry]);
47
+ return { providers: providerRegistry.providers, providerRegistry, providersLoaded,
48
+ providersLoading: !providersLoaded || providerRegistry.state === 'runtime_unreachable'
49
+ || isProviderReadRevalidating(providerRegistry) };
113
50
  }
114
51
  //# sourceMappingURL=useProviderRegistryState.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"useProviderRegistryState.js","sourceRoot":"","sources":["../../../../src/design/components/useProviderRegistryState.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"useProviderRegistryState.js","sourceRoot":"","sources":["../../../../src/design/components/useProviderRegistryState.ts"],"names":[],"mappings":"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"}
@@ -8,6 +8,7 @@ export declare function useProviderTargetReconciliation(input: {
8
8
  resolvedInstance: string;
9
9
  hasSelectedProvider: boolean;
10
10
  catalogLoading: boolean;
11
+ catalogResolved: boolean;
11
12
  effectiveCatalog: ProviderModelCatalog;
12
13
  effectiveAdvancedCatalog: ProviderAdvancedModelCatalog;
13
14
  onTargetChange: (target: ProviderTargetSelection) => void;
@@ -1 +1 @@
1
- {"version":3,"file":"useProviderTargetReconciliation.d.ts","sourceRoot":"","sources":["../../../../src/design/components/useProviderTargetReconciliation.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EACV,4BAA4B,EAC5B,oBAAoB,EACrB,MAAM,iCAAiC,CAAC;AAEzC,OAAO,EAGL,KAAK,sBAAsB,EAC3B,KAAK,uBAAuB,EAC7B,MAAM,mCAAmC,CAAC;AAQ3C,wBAAgB,+BAA+B,CAAC,KAAK,EAAE;IACrD,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,cAAc,CAAC,EAAE,sBAAsB,GAAG,IAAI,CAAC;IAC/C,gBAAgB,EAAE,MAAM,CAAC;IACzB,mBAAmB,EAAE,OAAO,CAAC;IAC7B,cAAc,EAAE,OAAO,CAAC;IACxB,gBAAgB,EAAE,oBAAoB,CAAC;IACvC,wBAAwB,EAAE,4BAA4B,CAAC;IACvD,cAAc,EAAE,CAAC,MAAM,EAAE,uBAAuB,KAAK,IAAI,CAAC;CAC3D;;;gCA2HkC,IAAI;+BAKL,IAAI;qCAKE,IAAI;EAY3C"}
1
+ {"version":3,"file":"useProviderTargetReconciliation.d.ts","sourceRoot":"","sources":["../../../../src/design/components/useProviderTargetReconciliation.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EACV,4BAA4B,EAC5B,oBAAoB,EACrB,MAAM,iCAAiC,CAAC;AAEzC,OAAO,EAGL,KAAK,sBAAsB,EAC3B,KAAK,uBAAuB,EAC7B,MAAM,mCAAmC,CAAC;AAQ3C,wBAAgB,+BAA+B,CAAC,KAAK,EAAE;IACrD,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,cAAc,CAAC,EAAE,sBAAsB,GAAG,IAAI,CAAC;IAC/C,gBAAgB,EAAE,MAAM,CAAC;IACzB,mBAAmB,EAAE,OAAO,CAAC;IAC7B,cAAc,EAAE,OAAO,CAAC;IACxB,eAAe,EAAE,OAAO,CAAC;IACzB,gBAAgB,EAAE,oBAAoB,CAAC;IACvC,wBAAwB,EAAE,4BAA4B,CAAC;IACvD,cAAc,EAAE,CAAC,MAAM,EAAE,uBAAuB,KAAK,IAAI,CAAC;CAC3D;;;gCA4HkC,IAAI;+BAKL,IAAI;qCAKE,IAAI;EAY3C"}
@@ -11,7 +11,7 @@ export function useProviderTargetReconciliation(input) {
11
11
  onTargetChangeRef.current = input.onTargetChange;
12
12
  }, [input.onTargetChange]);
13
13
  const targetKey = `${input.provider}::${input.resolvedInstance}`;
14
- const persistedLegacyModelTarget = !input.catalogLoading
14
+ const persistedLegacyModelTarget = input.catalogResolved
15
15
  && shouldTreatPersistedTargetAsLegacyModel({
16
16
  catalog: input.effectiveCatalog,
17
17
  model: input.model,
@@ -58,7 +58,7 @@ export function useProviderTargetReconciliation(input) {
58
58
  targetKey,
59
59
  ]);
60
60
  useEffect(() => {
61
- if (input.effectiveCatalog.models.length === 0 || hasBlankLegacyDraft) {
61
+ if (input.catalogLoading || input.effectiveCatalog.models.length === 0 || hasBlankLegacyDraft) {
62
62
  return;
63
63
  }
64
64
  const providerDefaultPlaceholder = isProductProviderDefaultModelPlaceholder(input.provider, input.model);
@@ -97,6 +97,7 @@ export function useProviderTargetReconciliation(input) {
97
97
  }));
98
98
  }
99
99
  }, [
100
+ input.catalogLoading,
100
101
  input.effectiveAdvancedCatalog,
101
102
  input.effectiveCatalog,
102
103
  input.instance,
@@ -1 +1 @@
1
- {"version":3,"file":"useProviderTargetReconciliation.js","sourceRoot":"","sources":["../../../../src/design/components/useProviderTargetReconciliation.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"useProviderTargetReconciliation.js","sourceRoot":"","sources":["../../../../src/design/components/useProviderTargetReconciliation.ts"],"names":[],"mappings":"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"}
@@ -13,6 +13,7 @@ import { FileChatStore } from './products/chat/state/store.js';
13
13
  import { isDirectCliEntrypoint } from './shared/cliEntrypoint.js';
14
14
  import { flushProviderSnapshotPersistence, seedProviderSelectorFromSnapshot, warmProviderSelectorCache, } from './server/routes/providers.js';
15
15
  import { resolveProviderSnapshotPathFromChatState } from './shared/platformPaths.js';
16
+ import { installBundledApps } from './platform/apps/packageInstaller.js';
16
17
  let startup = createAppStartupState();
17
18
  async function main() {
18
19
  loadProjectEnvFiles();
@@ -61,6 +62,9 @@ async function main() {
61
62
  });
62
63
  startupTrace.trace('runtime.client.created');
63
64
  const chatStore = new FileChatStore(config.chatStatePath);
65
+ if (process.env.CATS_APP_BUNDLE_PATH?.trim()) {
66
+ await installBundledApps(config.chatStatePath, process.env.CATS_APP_BUNDLE_PATH.trim());
67
+ }
64
68
  startupTrace.trace('chat.store.created', {
65
69
  chatStatePath: config.chatStatePath,
66
70
  });