@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,63 +0,0 @@
1
- import { useEffect } from 'react';
2
- import { resolveProviderRegistryAutoRecheckDelayMs, shouldAutoRecheckProviderRegistry, } from './providerModelFieldsSupport.js';
3
- export function useProviderRegistryAutoRecheck(input) {
4
- const { providersLoaded, providerCount, registryState, retryable, providerRegistrySetupHref, lastAutoProviderRegistryRecheckAt, reloadProviderRegistry, } = input;
5
- useEffect(() => {
6
- const browserGlobals = globalThis;
7
- const activeWindow = browserGlobals.window;
8
- const activeDocument = browserGlobals.document;
9
- if (!activeWindow || !activeDocument) {
10
- return;
11
- }
12
- const currentWindow = activeWindow;
13
- const currentDocument = activeDocument;
14
- function maybeAutoRecheck() {
15
- const now = Date.now();
16
- const shouldRecheck = shouldAutoRecheckProviderRegistry({
17
- providersLoaded,
18
- providerCount,
19
- registryState,
20
- retryable,
21
- hasSetupHref: Boolean(providerRegistrySetupHref),
22
- documentVisible: currentDocument.visibilityState !== 'hidden',
23
- lastAutoRecheckAt: lastAutoProviderRegistryRecheckAt,
24
- now,
25
- });
26
- if (!shouldRecheck) {
27
- return;
28
- }
29
- reloadProviderRegistry({ markAutoRecheckAt: now });
30
- }
31
- const nextAutoRecheckDelayMs = resolveProviderRegistryAutoRecheckDelayMs({
32
- providersLoaded,
33
- providerCount,
34
- registryState,
35
- retryable,
36
- hasSetupHref: Boolean(providerRegistrySetupHref),
37
- documentVisible: currentDocument.visibilityState !== 'hidden',
38
- lastAutoRecheckAt: lastAutoProviderRegistryRecheckAt,
39
- now: Date.now(),
40
- });
41
- const timeout = nextAutoRecheckDelayMs === null
42
- ? null
43
- : setTimeout(maybeAutoRecheck, nextAutoRecheckDelayMs);
44
- currentWindow.addEventListener('focus', maybeAutoRecheck);
45
- currentDocument.addEventListener('visibilitychange', maybeAutoRecheck);
46
- return () => {
47
- if (timeout !== null) {
48
- clearTimeout(timeout);
49
- }
50
- currentWindow.removeEventListener('focus', maybeAutoRecheck);
51
- currentDocument.removeEventListener('visibilitychange', maybeAutoRecheck);
52
- };
53
- }, [
54
- lastAutoProviderRegistryRecheckAt,
55
- providerCount,
56
- providerRegistrySetupHref,
57
- providersLoaded,
58
- registryState,
59
- retryable,
60
- reloadProviderRegistry,
61
- ]);
62
- }
63
- //# sourceMappingURL=useProviderRegistryAutoRecheck.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"useProviderRegistryAutoRecheck.js","sourceRoot":"","sources":["../../../../src/design/components/useProviderRegistryAutoRecheck.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAGlC,OAAO,EACL,yCAAyC,EACzC,iCAAiC,GAClC,MAAM,iCAAiC,CAAC;AAazC,MAAM,UAAU,8BAA8B,CAAC,KAQ9C;IACC,MAAM,EACJ,eAAe,EACf,aAAa,EACb,aAAa,EACb,SAAS,EACT,yBAAyB,EACzB,iCAAiC,EACjC,sBAAsB,GACvB,GAAG,KAAK,CAAC;IAEV,SAAS,CAAC,GAAG,EAAE;QACb,MAAM,cAAc,GAAG,UAGtB,CAAC;QACF,MAAM,YAAY,GAAG,cAAc,CAAC,MAAM,CAAC;QAC3C,MAAM,cAAc,GAAG,cAAc,CAAC,QAAQ,CAAC;QAC/C,IAAI,CAAC,YAAY,IAAI,CAAC,cAAc,EAAE,CAAC;YACrC,OAAO;QACT,CAAC;QACD,MAAM,aAAa,GAAG,YAAY,CAAC;QACnC,MAAM,eAAe,GAAG,cAAc,CAAC;QAEvC,SAAS,gBAAgB;YACvB,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;YACvB,MAAM,aAAa,GAAG,iCAAiC,CAAC;gBACtD,eAAe;gBACf,aAAa;gBACb,aAAa;gBACb,SAAS;gBACT,YAAY,EAAE,OAAO,CAAC,yBAAyB,CAAC;gBAChD,eAAe,EAAE,eAAe,CAAC,eAAe,KAAK,QAAQ;gBAC7D,iBAAiB,EAAE,iCAAiC;gBACpD,GAAG;aACJ,CAAC,CAAC;YACH,IAAI,CAAC,aAAa,EAAE,CAAC;gBACnB,OAAO;YACT,CAAC;YACD,sBAAsB,CAAC,EAAE,iBAAiB,EAAE,GAAG,EAAE,CAAC,CAAC;QACrD,CAAC;QAED,MAAM,sBAAsB,GAAG,yCAAyC,CAAC;YACvE,eAAe;YACf,aAAa;YACb,aAAa;YACb,SAAS;YACT,YAAY,EAAE,OAAO,CAAC,yBAAyB,CAAC;YAChD,eAAe,EAAE,eAAe,CAAC,eAAe,KAAK,QAAQ;YAC7D,iBAAiB,EAAE,iCAAiC;YACpD,GAAG,EAAE,IAAI,CAAC,GAAG,EAAE;SAChB,CAAC,CAAC;QACH,MAAM,OAAO,GAAG,sBAAsB,KAAK,IAAI;YAC7C,CAAC,CAAC,IAAI;YACN,CAAC,CAAC,UAAU,CAAC,gBAAgB,EAAE,sBAAsB,CAAC,CAAC;QAEzD,aAAa,CAAC,gBAAgB,CAAC,OAAO,EAAE,gBAAgB,CAAC,CAAC;QAC1D,eAAe,CAAC,gBAAgB,CAAC,kBAAkB,EAAE,gBAAgB,CAAC,CAAC;QACvE,OAAO,GAAG,EAAE;YACV,IAAI,OAAO,KAAK,IAAI,EAAE,CAAC;gBACrB,YAAY,CAAC,OAAO,CAAC,CAAC;YACxB,CAAC;YACD,aAAa,CAAC,mBAAmB,CAAC,OAAO,EAAE,gBAAgB,CAAC,CAAC;YAC7D,eAAe,CAAC,mBAAmB,CAAC,kBAAkB,EAAE,gBAAgB,CAAC,CAAC;QAC5E,CAAC,CAAC;IACJ,CAAC,EAAE;QACD,iCAAiC;QACjC,aAAa;QACb,yBAAyB;QACzB,eAAe;QACf,aAAa;QACb,SAAS;QACT,sBAAsB;KACvB,CAAC,CAAC;AACL,CAAC"}
@@ -1,19 +0,0 @@
1
- import { type RefreshProviderCatalogsResult } from './providers.js';
2
- export { readProviderCatalogRefreshFailedStatus, } from './providers.js';
3
- type StateListener = () => void;
4
- export type ProviderCatalogRefreshResult = {
5
- type: 'success';
6
- value: RefreshProviderCatalogsResult;
7
- } | {
8
- type: 'error';
9
- error: unknown;
10
- };
11
- export type ProviderCatalogRefreshResultListener = (result: ProviderCatalogRefreshResult) => void;
12
- export interface ProviderCatalogRefreshSnapshot {
13
- inflight: boolean;
14
- }
15
- export declare function subscribeProviderCatalogRefresh(listener: StateListener): () => void;
16
- export declare function subscribeProviderCatalogRefreshResult(listener: ProviderCatalogRefreshResultListener): () => void;
17
- export declare function getProviderCatalogRefreshSnapshot(): ProviderCatalogRefreshSnapshot;
18
- export declare function triggerProviderCatalogRefresh(): Promise<RefreshProviderCatalogsResult>;
19
- //# sourceMappingURL=providerCatalogRefreshStore.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"providerCatalogRefreshStore.d.ts","sourceRoot":"","sources":["../../../../../../src/products/shared/renderer/api/providerCatalogRefreshStore.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,KAAK,6BAA6B,EACnC,MAAM,gBAAgB,CAAC;AAExB,OAAO,EACL,sCAAsC,GACvC,MAAM,gBAAgB,CAAC;AAExB,KAAK,aAAa,GAAG,MAAM,IAAI,CAAC;AAEhC,MAAM,MAAM,4BAA4B,GACpC;IAAE,IAAI,EAAE,SAAS,CAAC;IAAC,KAAK,EAAE,6BAA6B,CAAA;CAAE,GACzD;IAAE,IAAI,EAAE,OAAO,CAAC;IAAC,KAAK,EAAE,OAAO,CAAA;CAAE,CAAC;AAEtC,MAAM,MAAM,oCAAoC,GAAG,CACjD,MAAM,EAAE,4BAA4B,KACjC,IAAI,CAAC;AAEV,MAAM,WAAW,8BAA8B;IAC7C,QAAQ,EAAE,OAAO,CAAC;CACnB;AAoBD,wBAAgB,+BAA+B,CAAC,QAAQ,EAAE,aAAa,GAAG,MAAM,IAAI,CAKnF;AAED,wBAAgB,qCAAqC,CACnD,QAAQ,EAAE,oCAAoC,GAC7C,MAAM,IAAI,CAKZ;AAED,wBAAgB,iCAAiC,IAAI,8BAA8B,CAElF;AAED,wBAAgB,6BAA6B,IAAI,OAAO,CAAC,6BAA6B,CAAC,CAuBtF"}
@@ -1,53 +0,0 @@
1
- import { refreshProviderModelCatalogs, } from './providers.js';
2
- export { readProviderCatalogRefreshFailedStatus, } from './providers.js';
3
- let snapshot = { inflight: false };
4
- const stateListeners = new Set();
5
- const resultListeners = new Set();
6
- let inflightPromise = null;
7
- function publish(next) {
8
- snapshot = next;
9
- for (const listener of stateListeners) {
10
- listener();
11
- }
12
- }
13
- function emitResult(result) {
14
- for (const listener of resultListeners) {
15
- listener(result);
16
- }
17
- }
18
- export function subscribeProviderCatalogRefresh(listener) {
19
- stateListeners.add(listener);
20
- return () => {
21
- stateListeners.delete(listener);
22
- };
23
- }
24
- export function subscribeProviderCatalogRefreshResult(listener) {
25
- resultListeners.add(listener);
26
- return () => {
27
- resultListeners.delete(listener);
28
- };
29
- }
30
- export function getProviderCatalogRefreshSnapshot() {
31
- return snapshot;
32
- }
33
- export function triggerProviderCatalogRefresh() {
34
- if (inflightPromise) {
35
- return inflightPromise;
36
- }
37
- publish({ inflight: true });
38
- const promise = refreshProviderModelCatalogs()
39
- .then((value) => {
40
- emitResult({ type: 'success', value });
41
- return value;
42
- }, (error) => {
43
- emitResult({ type: 'error', error });
44
- throw error;
45
- })
46
- .finally(() => {
47
- inflightPromise = null;
48
- publish({ inflight: false });
49
- });
50
- inflightPromise = promise;
51
- return promise;
52
- }
53
- //# sourceMappingURL=providerCatalogRefreshStore.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"providerCatalogRefreshStore.js","sourceRoot":"","sources":["../../../../../../src/products/shared/renderer/api/providerCatalogRefreshStore.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,4BAA4B,GAE7B,MAAM,gBAAgB,CAAC;AAExB,OAAO,EACL,sCAAsC,GACvC,MAAM,gBAAgB,CAAC;AAgBxB,IAAI,QAAQ,GAAmC,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC;AACnE,MAAM,cAAc,GAAG,IAAI,GAAG,EAAiB,CAAC;AAChD,MAAM,eAAe,GAAG,IAAI,GAAG,EAAwC,CAAC;AACxE,IAAI,eAAe,GAAkD,IAAI,CAAC;AAE1E,SAAS,OAAO,CAAC,IAAoC;IACnD,QAAQ,GAAG,IAAI,CAAC;IAChB,KAAK,MAAM,QAAQ,IAAI,cAAc,EAAE,CAAC;QACtC,QAAQ,EAAE,CAAC;IACb,CAAC;AACH,CAAC;AAED,SAAS,UAAU,CAAC,MAAoC;IACtD,KAAK,MAAM,QAAQ,IAAI,eAAe,EAAE,CAAC;QACvC,QAAQ,CAAC,MAAM,CAAC,CAAC;IACnB,CAAC;AACH,CAAC;AAED,MAAM,UAAU,+BAA+B,CAAC,QAAuB;IACrE,cAAc,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;IAC7B,OAAO,GAAG,EAAE;QACV,cAAc,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;IAClC,CAAC,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,qCAAqC,CACnD,QAA8C;IAE9C,eAAe,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;IAC9B,OAAO,GAAG,EAAE;QACV,eAAe,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;IACnC,CAAC,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,iCAAiC;IAC/C,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED,MAAM,UAAU,6BAA6B;IAC3C,IAAI,eAAe,EAAE,CAAC;QACpB,OAAO,eAAe,CAAC;IACzB,CAAC;IAED,OAAO,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC;IAC5B,MAAM,OAAO,GAAG,4BAA4B,EAAE;SAC3C,IAAI,CACH,CAAC,KAAK,EAAE,EAAE;QACR,UAAU,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC,CAAC;QACvC,OAAO,KAAK,CAAC;IACf,CAAC,EACD,CAAC,KAAK,EAAE,EAAE;QACR,UAAU,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,CAAC;QACrC,MAAM,KAAK,CAAC;IACd,CAAC,CACF;SACA,OAAO,CAAC,GAAG,EAAE;QACZ,eAAe,GAAG,IAAI,CAAC;QACvB,OAAO,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC,CAAC;IAC/B,CAAC,CAAC,CAAC;IACL,eAAe,GAAG,OAAO,CAAC;IAC1B,OAAO,OAAO,CAAC;AACjB,CAAC"}
@@ -1,17 +0,0 @@
1
- import type { ProductProviderRegistryReadModel, ProviderAdvancedModelCatalog, ProviderModelCatalog } from '../../../../shared/providerCatalog.js';
2
- export declare function fetchProviderRegistry(options?: {
3
- force?: boolean;
4
- }): Promise<ProductProviderRegistryReadModel>;
5
- export declare function fetchProviderModels(provider: string, instance?: string | null): Promise<ProviderModelCatalog>;
6
- export declare function fetchAdvancedProviderModels(provider: string, instance?: string | null): Promise<ProviderAdvancedModelCatalog>;
7
- export interface RefreshProviderCatalogsResult {
8
- refreshed: number;
9
- failures: Array<{
10
- provider: string;
11
- instance: string | null;
12
- message: string;
13
- }>;
14
- }
15
- export declare function readProviderCatalogRefreshFailedStatus(message: string): number | null;
16
- export declare function refreshProviderModelCatalogs(): Promise<RefreshProviderCatalogsResult>;
17
- //# sourceMappingURL=providers.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"providers.d.ts","sourceRoot":"","sources":["../../../../../../src/products/shared/renderer/api/providers.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,gCAAgC,EAChC,4BAA4B,EAC5B,oBAAoB,EACrB,MAAM,uCAAuC,CAAC;AAQ/C,wBAAsB,qBAAqB,CAAC,OAAO,CAAC,EAAE;IACpD,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB,GAAG,OAAO,CAAC,gCAAgC,CAAC,CAE5C;AAED,wBAAsB,mBAAmB,CACvC,QAAQ,EAAE,MAAM,EAChB,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,GACvB,OAAO,CAAC,oBAAoB,CAAC,CAE/B;AAED,wBAAsB,2BAA2B,CAC/C,QAAQ,EAAE,MAAM,EAChB,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,GACvB,OAAO,CAAC,4BAA4B,CAAC,CAEvC;AAED,MAAM,WAAW,6BAA6B;IAC5C,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,KAAK,CAAC;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CACjF;AASD,wBAAgB,sCAAsC,CACpD,OAAO,EAAE,MAAM,GACd,MAAM,GAAG,IAAI,CAMf;AAED,wBAAsB,4BAA4B,IAAI,OAAO,CAAC,6BAA6B,CAAC,CA0B3F"}
@@ -1,50 +0,0 @@
1
- import { clearProviderCatalogClientCache, fetchProviderAdvancedCatalogFromClientCache, fetchProviderModelCatalogFromClientCache, } from '../../../../app/renderer/providerCatalogClient.js';
2
- import { fetchProviderRegistryFromClientCache } from '../../../../app/renderer/providerRegistryClient.js';
3
- export async function fetchProviderRegistry(options) {
4
- return fetchProviderRegistryFromClientCache(options);
5
- }
6
- export async function fetchProviderModels(provider, instance) {
7
- return fetchProviderModelCatalogFromClientCache({ provider, instance });
8
- }
9
- export async function fetchAdvancedProviderModels(provider, instance) {
10
- return fetchProviderAdvancedCatalogFromClientCache({ provider, instance });
11
- }
12
- const PROVIDER_CATALOG_REFRESH_FAILED_STATUS_PREFIX = 'provider_catalog.refresh_failed_status:';
13
- function createProviderCatalogRefreshFailedStatusMessage(status) {
14
- return `${PROVIDER_CATALOG_REFRESH_FAILED_STATUS_PREFIX}${status}`;
15
- }
16
- export function readProviderCatalogRefreshFailedStatus(message) {
17
- if (!message.startsWith(PROVIDER_CATALOG_REFRESH_FAILED_STATUS_PREFIX)) {
18
- return null;
19
- }
20
- const status = Number(message.slice(PROVIDER_CATALOG_REFRESH_FAILED_STATUS_PREFIX.length));
21
- return Number.isInteger(status) ? status : null;
22
- }
23
- export async function refreshProviderModelCatalogs() {
24
- const response = await fetch('/api/providers/models/refresh', {
25
- method: 'POST',
26
- headers: { Accept: 'application/json' },
27
- });
28
- if (!response.ok) {
29
- let message = createProviderCatalogRefreshFailedStatusMessage(response.status);
30
- try {
31
- const body = await response.json();
32
- if (body.error?.code === 'provider_catalog_refresh_failed') {
33
- message = createProviderCatalogRefreshFailedStatusMessage(response.status);
34
- }
35
- else if (typeof body.error?.message === 'string') {
36
- message = body.error.message;
37
- }
38
- }
39
- catch {
40
- // fall through with default message
41
- }
42
- throw new Error(message);
43
- }
44
- const result = await response.json();
45
- // Server cache is already populated by the refresh; drop any stale entries
46
- // the renderer was holding onto so the next fetch surfaces the fresh data.
47
- clearProviderCatalogClientCache();
48
- return result;
49
- }
50
- //# sourceMappingURL=providers.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"providers.js","sourceRoot":"","sources":["../../../../../../src/products/shared/renderer/api/providers.ts"],"names":[],"mappings":"AAKA,OAAO,EACL,+BAA+B,EAC/B,2CAA2C,EAC3C,wCAAwC,GACzC,MAAM,mDAAmD,CAAC;AAC3D,OAAO,EAAE,oCAAoC,EAAE,MAAM,oDAAoD,CAAC;AAE1G,MAAM,CAAC,KAAK,UAAU,qBAAqB,CAAC,OAE3C;IACC,OAAO,oCAAoC,CAAC,OAAO,CAAC,CAAC;AACvD,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,mBAAmB,CACvC,QAAgB,EAChB,QAAwB;IAExB,OAAO,wCAAwC,CAAC,EAAE,QAAQ,EAAE,QAAQ,EAAE,CAAC,CAAC;AAC1E,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,2BAA2B,CAC/C,QAAgB,EAChB,QAAwB;IAExB,OAAO,2CAA2C,CAAC,EAAE,QAAQ,EAAE,QAAQ,EAAE,CAAC,CAAC;AAC7E,CAAC;AAOD,MAAM,6CAA6C,GACjD,yCAAyC,CAAC;AAE5C,SAAS,+CAA+C,CAAC,MAAc;IACrE,OAAO,GAAG,6CAA6C,GAAG,MAAM,EAAE,CAAC;AACrE,CAAC;AAED,MAAM,UAAU,sCAAsC,CACpD,OAAe;IAEf,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,6CAA6C,CAAC,EAAE,CAAC;QACvE,OAAO,IAAI,CAAC;IACd,CAAC;IACD,MAAM,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,6CAA6C,CAAC,MAAM,CAAC,CAAC,CAAC;IAC3F,OAAO,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC;AAClD,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,4BAA4B;IAChD,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,+BAA+B,EAAE;QAC5D,MAAM,EAAE,MAAM;QACd,OAAO,EAAE,EAAE,MAAM,EAAE,kBAAkB,EAAE;KACxC,CAAC,CAAC;IACH,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;QACjB,IAAI,OAAO,GAAG,+CAA+C,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;QAC/E,IAAI,CAAC;YACH,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,IAAI,EAE/B,CAAC;YACF,IAAI,IAAI,CAAC,KAAK,EAAE,IAAI,KAAK,iCAAiC,EAAE,CAAC;gBAC3D,OAAO,GAAG,+CAA+C,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;YAC7E,CAAC;iBAAM,IAAI,OAAO,IAAI,CAAC,KAAK,EAAE,OAAO,KAAK,QAAQ,EAAE,CAAC;gBACnD,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC;YAC/B,CAAC;QACH,CAAC;QAAC,MAAM,CAAC;YACP,oCAAoC;QACtC,CAAC;QACD,MAAM,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC;IAC3B,CAAC;IACD,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAmC,CAAC;IACtE,2EAA2E;IAC3E,2EAA2E;IAC3E,+BAA+B,EAAE,CAAC;IAClC,OAAO,MAAM,CAAC;AAChB,CAAC"}
@@ -1,8 +0,0 @@
1
- #!/usr/bin/env bash
2
- set -euo pipefail
3
-
4
- SCRIPT_DIR="$(cd "$(dirname "$0")" && pwd)"
5
- # shellcheck source=provider-cli-common.sh
6
- . "$SCRIPT_DIR/provider-cli-common.sh"
7
-
8
- run_native_provider_installer 'linux' 'aider' "$@"
@@ -1,8 +0,0 @@
1
- #!/usr/bin/env bash
2
- set -euo pipefail
3
-
4
- SCRIPT_DIR="$(cd "$(dirname "$0")" && pwd)"
5
- # shellcheck source=provider-cli-common.sh
6
- . "$SCRIPT_DIR/provider-cli-common.sh"
7
-
8
- run_native_provider_installer 'macos' 'aider' "$@"
@@ -1,368 +0,0 @@
1
- <#
2
- .SYNOPSIS
3
- Install or verify the native Windows Aider for Cats.
4
-
5
- .DESCRIPTION
6
- Cats-owned packaged setup wrapper for Aider. The official installer is the
7
- uv installer plus `uv tool install --force --python python3.12 --with pip
8
- aider-chat@latest`, so the entry point at %USERPROFILE%\.local\bin\aider.exe
9
- is a uv tool shim rather than the tool itself. Uninstall therefore runs
10
- `uv tool uninstall aider-chat` before removing paths.
11
-
12
- Cats installs and detects Aider but cannot run sessions through it: 0.86.2
13
- has no machine-readable output, no ACP or server mode, and exits 0 even when
14
- the model call fails.
15
- #>
16
- param(
17
- [switch]$CheckOnly,
18
- [switch]$Apply,
19
- [switch]$Upgrade,
20
- [switch]$Force,
21
- [switch]$Uninstall,
22
- [switch]$DryRun,
23
- [switch]$Json,
24
- [switch]$AllowAdmin,
25
- [ValidateSet('auto', 'installed', 'missing')]
26
- [string]$InstallState = 'auto',
27
- [string]$DetectedVersion = '',
28
- [switch]$SkipInstaller
29
- )
30
-
31
- Set-StrictMode -Version Latest
32
- $ErrorActionPreference = 'Stop'
33
-
34
- . (Join-Path $PSScriptRoot '_HiddenProcess.ps1')
35
- . (Join-Path $PSScriptRoot '_PackagedUninstall.ps1')
36
-
37
- function Write-StructuredResult {
38
- param(
39
- [pscustomobject]$Result,
40
- [int]$ExitCode
41
- )
42
-
43
- if ($Json) {
44
- $Result | ConvertTo-Json -Depth 10
45
- } else {
46
- Write-Host "Mode: $($Result.mode)"
47
- Write-Host "Status: $($Result.status)"
48
- Write-Host "Installed: $($Result.installed)"
49
- if ($Result.detectedVersion) { Write-Host "Version: $($Result.detectedVersion)" }
50
- foreach ($action in $Result.plannedActions) { Write-Host "Planned action: $action" }
51
- foreach ($warning in $Result.warnings) { Write-Host "Warning: $warning" }
52
- foreach ($step in $Result.manualSteps) { Write-Host "Manual step: $step" }
53
- }
54
-
55
- exit $ExitCode
56
- }
57
-
58
- function Resolve-AiderInstallDir {
59
- return Join-Path $env:USERPROFILE '.local\bin'
60
- }
61
-
62
- function Resolve-AiderExecutablePath {
63
- return Join-Path (Resolve-AiderInstallDir) 'aider.exe'
64
- }
65
-
66
- function Refresh-UserPath {
67
- $env:Path = [System.Environment]::GetEnvironmentVariable('Path', 'User') + ';' +
68
- [System.Environment]::GetEnvironmentVariable('Path', 'Machine')
69
- }
70
-
71
- function Detect-AiderInstall {
72
- $exePath = Resolve-AiderExecutablePath
73
-
74
- if ($InstallState -eq 'installed') {
75
- return [pscustomobject]@{
76
- installed = $true
77
- commandPath = $exePath
78
- detectedVersion = $DetectedVersion
79
- }
80
- }
81
- if ($InstallState -eq 'missing') {
82
- return [pscustomobject]@{
83
- installed = $false
84
- commandPath = $exePath
85
- detectedVersion = $DetectedVersion
86
- }
87
- }
88
-
89
- Refresh-UserPath
90
- $command = Get-Command aider -ErrorAction SilentlyContinue
91
- $installed = $null -ne $command -or (Test-Path -LiteralPath $exePath -PathType Leaf)
92
- $commandPath = if ($null -ne $command) { $command.Source } else { $exePath }
93
- $commandSource = if ($null -ne $command) { $command.Source } else { '' }
94
- $version = $DetectedVersion
95
- $versionProbePath = Resolve-HiddenVersionProbePath `
96
- -PreferredPath $commandSource `
97
- -FallbackPath $exePath
98
-
99
- if ($installed -and [string]::IsNullOrWhiteSpace($version) -and $versionProbePath) {
100
- try {
101
- $version = Get-HiddenCommandText -FileName $versionProbePath -ArgumentList @('--version')
102
- } catch {
103
- $version = ''
104
- }
105
- }
106
-
107
- return [pscustomobject]@{
108
- installed = $installed
109
- commandPath = $commandPath
110
- detectedVersion = $version
111
- }
112
- }
113
-
114
- function Add-AiderToUserPath {
115
- $installDir = Resolve-AiderInstallDir
116
- $userPath = [System.Environment]::GetEnvironmentVariable('Path', 'User')
117
- if ([string]::IsNullOrWhiteSpace($userPath)) {
118
- [System.Environment]::SetEnvironmentVariable('Path', $installDir, 'User')
119
- } elseif ($userPath -notlike "*$installDir*") {
120
- [System.Environment]::SetEnvironmentVariable('Path', "$installDir;$userPath", 'User')
121
- }
122
- Refresh-UserPath
123
- }
124
-
125
- function Invoke-AiderInstaller {
126
- if ($SkipInstaller) {
127
- return [pscustomobject]@{ skipped = $true; success = $true; exitCode = 0; stderr = '' }
128
- }
129
-
130
- $tempScript = [System.IO.Path]::Combine(
131
- [System.IO.Path]::GetTempPath(),
132
- "cats-aider-install-$([System.Guid]::NewGuid().ToString('N')).ps1"
133
- )
134
- $stdoutPath = "$tempScript.stdout"
135
- $stderrPath = "$tempScript.stderr"
136
- $bootstrap = @'
137
- & {
138
- $previousErrorActionPreference = $ErrorActionPreference
139
- try {
140
- Invoke-RestMethod 'https://aider.chat/install.ps1' | Invoke-Expression
141
- } finally {
142
- $ErrorActionPreference = $previousErrorActionPreference
143
- }
144
- }
145
- '@
146
-
147
- try {
148
- [System.IO.File]::WriteAllText(
149
- $tempScript,
150
- $bootstrap,
151
- [System.Text.UTF8Encoding]::new($false)
152
- )
153
- $powerShellExe = if (Get-Command pwsh.exe -ErrorAction SilentlyContinue) {
154
- 'pwsh.exe'
155
- } else {
156
- 'powershell.exe'
157
- }
158
- $process = Start-Process -FilePath $powerShellExe `
159
- -ArgumentList @('-NoProfile', '-ExecutionPolicy', 'Bypass', '-File', $tempScript) `
160
- -Wait -PassThru -NoNewWindow `
161
- -RedirectStandardOutput $stdoutPath `
162
- -RedirectStandardError $stderrPath
163
- $stderrRaw = if (Test-Path -LiteralPath $stderrPath -PathType Leaf) {
164
- Get-Content -LiteralPath $stderrPath -Raw -ErrorAction SilentlyContinue
165
- } else { $null }
166
-
167
- return [pscustomobject]@{
168
- skipped = $false
169
- success = ($process.ExitCode -eq 0)
170
- exitCode = $process.ExitCode
171
- stderr = if ($null -eq $stderrRaw) { '' } else { [string]$stderrRaw }
172
- }
173
- } catch {
174
- return [pscustomobject]@{
175
- skipped = $false
176
- success = $false
177
- exitCode = -1
178
- stderr = "Failed to invoke Aider installer: $($_.Exception.Message)"
179
- }
180
- } finally {
181
- foreach ($path in @($tempScript, $stdoutPath, $stderrPath)) {
182
- if (Test-Path -LiteralPath $path -PathType Leaf) {
183
- Remove-Item -LiteralPath $path -Force -ErrorAction SilentlyContinue
184
- }
185
- }
186
- }
187
- }
188
-
189
- if (-not $CheckOnly -and -not $Apply -and -not $Upgrade -and -not $Force -and -not $Uninstall) {
190
- $CheckOnly = $true
191
- }
192
-
193
- $mutationCount = @($Apply, $Upgrade, $Force | Where-Object { $_ }).Count
194
- if ($Uninstall -and ($CheckOnly -or $mutationCount -gt 0)) {
195
- throw 'Install-Aider.ps1 -Uninstall is mutually exclusive with other modes.'
196
- }
197
- if ($CheckOnly -and $mutationCount -gt 0) {
198
- throw 'Install-Aider.ps1 accepts either -CheckOnly or one mutation mode.'
199
- }
200
- if ($mutationCount -gt 1) {
201
- throw 'Install-Aider.ps1 accepts at most one of -Apply / -Upgrade / -Force.'
202
- }
203
-
204
- $executionMode = if ($Uninstall) {
205
- 'uninstall'
206
- } elseif ($CheckOnly) {
207
- 'check'
208
- } elseif ($Force) {
209
- 'force'
210
- } elseif ($Upgrade) {
211
- 'upgrade'
212
- } else {
213
- 'apply'
214
- }
215
-
216
- if ($Uninstall) {
217
- # %USERPROFILE%\.local\bin\aider.exe is a uv tool shim, not the tool.
218
- # Removing only the shim leaves aider-chat installed in the uv tool
219
- # environment, so uv uninstalls it first and path removal mops up the rest.
220
- #
221
- # The uv binary itself is deliberately left alone: Aider's installer drops its
222
- # own uv next to the shim, users commonly have another, and the helper cannot
223
- # tell them apart (SPEC-112 PD4).
224
- if (-not $DryRun) {
225
- if (Get-Command uv -ErrorAction SilentlyContinue) {
226
- & uv tool uninstall aider-chat 2>$null | Out-Null
227
- }
228
- }
229
-
230
- Invoke-PackagedProviderUninstall `
231
- -HelperId 'windows-aider-native-installer' `
232
- -UserBinaryPath (Resolve-AiderExecutablePath) `
233
- -ExtraUserOwnedPaths @() `
234
- -RedetectCommand { Detect-AiderInstall } `
235
- -EmitJson:$Json `
236
- -DryRun:$DryRun
237
- }
238
-
239
- $isAdmin = ([Security.Principal.WindowsPrincipal][Security.Principal.WindowsIdentity]::GetCurrent()).
240
- IsInRole([Security.Principal.WindowsBuiltInRole]::Administrator)
241
- if ($isAdmin -and -not $AllowAdmin) {
242
- Write-StructuredResult -Result ([pscustomobject]@{
243
- helper = 'windows-aider-native-installer'
244
- mode = $executionMode
245
- status = 'failed'
246
- installed = $false
247
- detectedVersion = $null
248
- commandPath = Resolve-AiderExecutablePath
249
- restartRequired = $false
250
- plannedActions = @()
251
- warnings = @('Refusing to run under an elevated shell without -AllowAdmin because Aider is intended for user-scoped installation.')
252
- appliedChanges = @()
253
- manualSteps = @()
254
- interruptions = @()
255
- }) -ExitCode 1
256
- }
257
-
258
- $detected = Detect-AiderInstall
259
- $plannedActions = [System.Collections.Generic.List[string]]::new()
260
- $appliedChanges = [System.Collections.Generic.List[string]]::new()
261
- $warnings = [System.Collections.Generic.List[string]]::new()
262
- $manualSteps = [System.Collections.Generic.List[string]]::new()
263
-
264
- if ($Force) {
265
- $plannedActions.Add('reinstall_aider_native')
266
- } elseif ($Upgrade -and $detected.installed) {
267
- $plannedActions.Add('upgrade_aider_native')
268
- } elseif (-not $detected.installed) {
269
- $plannedActions.Add('install_aider_native')
270
- }
271
-
272
- if ($CheckOnly) {
273
- Write-StructuredResult -Result ([pscustomobject]@{
274
- helper = 'windows-aider-native-installer'
275
- mode = 'check'
276
- status = if ($detected.installed) { 'ready' } else { 'not_installed' }
277
- installed = [bool]$detected.installed
278
- detectedVersion = if ($detected.detectedVersion) { $detected.detectedVersion } else { $null }
279
- commandPath = $detected.commandPath
280
- restartRequired = $false
281
- plannedActions = $plannedActions.ToArray()
282
- warnings = @()
283
- appliedChanges = @()
284
- manualSteps = @()
285
- interruptions = @()
286
- }) -ExitCode 0
287
- }
288
-
289
- $shouldInstall = $Force -or $Upgrade -or -not $detected.installed
290
- $installFailed = $false
291
- $installSkipped = $false
292
- if ($shouldInstall) {
293
- if ($DryRun) {
294
- $warnings.Add('Dry-run requested; Aider installer invocation was skipped.')
295
- $installSkipped = $true
296
- } else {
297
- $installResult = Invoke-AiderInstaller
298
- $installSkipped = [bool]$installResult.skipped
299
- $installFailed = (-not $installSkipped) -and (-not $installResult.success)
300
- if ($installSkipped) {
301
- $warnings.Add('Installer invocation was skipped by request.')
302
- } elseif ($installFailed) {
303
- $stderrSnippet = if ([string]::IsNullOrWhiteSpace($installResult.stderr)) {
304
- 'no stderr captured'
305
- } else {
306
- ($installResult.stderr.Trim() -split "`r?`n" |
307
- Where-Object { -not [string]::IsNullOrWhiteSpace($_) } |
308
- Select-Object -Last 8) -join ' | '
309
- }
310
- $warnings.Add("Aider installer exited $($installResult.exitCode): $stderrSnippet")
311
- }
312
-
313
- Start-Sleep -Seconds 2
314
- Add-AiderToUserPath
315
- $detected = Detect-AiderInstall
316
- if (-not $detected.installed -and -not $installSkipped -and -not $installFailed) {
317
- $warnings.Add('Aider installation completed but aider.exe was not detected at the expected path.')
318
- $installFailed = $true
319
- }
320
- }
321
-
322
- if (-not $installFailed -and -not ($DryRun -and $shouldInstall)) {
323
- if ($Force) {
324
- $appliedChanges.Add('reinstall_aider_native')
325
- } elseif ($Upgrade) {
326
- $appliedChanges.Add('upgrade_aider_native')
327
- } else {
328
- $appliedChanges.Add('install_aider_native')
329
- }
330
- }
331
- }
332
-
333
- $manualSteps.Add('Run `aider login` or set XAI_API_KEY before first use.')
334
- $interruptions = [System.Collections.Generic.List[object]]::new()
335
- if ($shouldInstall -and -not $installFailed -and -not $DryRun) {
336
- $interruptions.Add([pscustomobject]@{
337
- kind = 'relaunch_required'
338
- summary = 'Relaunch Cats Desktop Host after the Aider install step, then rerun the packaged setup check.'
339
- resumable = $true
340
- requiresRestart = $false
341
- requiresElevation = $false
342
- })
343
- }
344
-
345
- $status = if ($installFailed) {
346
- 'failed'
347
- } elseif ($DryRun -and $shouldInstall) {
348
- 'preview'
349
- } elseif ($interruptions.Count -gt 0) {
350
- [string]$interruptions[0].kind
351
- } else {
352
- 'ready'
353
- }
354
-
355
- Write-StructuredResult -Result ([pscustomobject]@{
356
- helper = 'windows-aider-native-installer'
357
- mode = $executionMode
358
- status = $status
359
- installed = [bool]$detected.installed
360
- detectedVersion = if ($detected.detectedVersion) { $detected.detectedVersion } else { $null }
361
- commandPath = $detected.commandPath
362
- restartRequired = $false
363
- plannedActions = $plannedActions.ToArray()
364
- warnings = $warnings.ToArray()
365
- appliedChanges = $appliedChanges.ToArray()
366
- manualSteps = $manualSteps.ToArray()
367
- interruptions = $interruptions.ToArray()
368
- }) -ExitCode $(if ($installFailed) { 1 } else { 0 })