@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.
- package/.env.example +3 -7
- package/README.md +35 -0
- package/build/desktop/bootstrapNavigation.d.ts.map +1 -1
- package/build/desktop/bootstrapNavigation.js +6 -13
- package/build/desktop/bootstrapNavigation.js.map +1 -1
- package/build/desktop/bootstrapPage.d.ts.map +1 -1
- package/build/desktop/bootstrapPage.js +63 -86
- package/build/desktop/bootstrapPage.js.map +1 -1
- package/build/desktop/cliInventoryProbe.d.ts +11 -2
- package/build/desktop/cliInventoryProbe.d.ts.map +1 -1
- package/build/desktop/cliInventoryProbe.js +19 -13
- package/build/desktop/cliInventoryProbe.js.map +1 -1
- package/build/desktop/config.d.ts +0 -4
- package/build/desktop/config.d.ts.map +1 -1
- package/build/desktop/config.js +1 -6
- package/build/desktop/config.js.map +1 -1
- package/build/desktop/contracts.d.ts +12 -2
- package/build/desktop/contracts.d.ts.map +1 -1
- package/build/desktop/contracts.js +1 -2
- package/build/desktop/contracts.js.map +1 -1
- package/build/desktop/hostVersion.d.ts.map +1 -1
- package/build/desktop/hostVersion.js +3 -5
- package/build/desktop/hostVersion.js.map +1 -1
- package/build/desktop/main.js +205 -256
- package/build/desktop/main.js.map +1 -1
- package/build/desktop/packaging.d.ts +2 -0
- package/build/desktop/packaging.d.ts.map +1 -1
- package/build/desktop/packaging.js +34 -14
- package/build/desktop/packaging.js.map +1 -1
- package/build/desktop/preload.cjs +9 -0
- package/build/desktop/preload.cjs.map +1 -1
- package/build/desktop/processSupervisor.d.ts.map +1 -1
- package/build/desktop/processSupervisor.js +3 -0
- package/build/desktop/processSupervisor.js.map +1 -1
- package/build/desktop/providerManager.d.ts +46 -0
- package/build/desktop/providerManager.d.ts.map +1 -0
- package/build/desktop/providerManager.js +220 -0
- package/build/desktop/providerManager.js.map +1 -0
- package/build/desktop/providerSelection.d.ts +38 -0
- package/build/desktop/providerSelection.d.ts.map +1 -0
- package/build/desktop/providerSelection.js +118 -0
- package/build/desktop/providerSelection.js.map +1 -0
- package/build/desktop/readiness.d.ts +2 -0
- package/build/desktop/readiness.d.ts.map +1 -1
- package/build/desktop/readiness.js +14 -33
- package/build/desktop/readiness.js.map +1 -1
- package/build/desktop/setupAssets.d.ts.map +1 -1
- package/build/desktop/setupAssets.js +28 -14
- package/build/desktop/setupAssets.js.map +1 -1
- package/build/desktop/setupAudit.d.ts +4 -3
- package/build/desktop/setupAudit.d.ts.map +1 -1
- package/build/desktop/setupAudit.js +18 -34
- package/build/desktop/setupAudit.js.map +1 -1
- package/build/desktop/setupBridge.js +1 -1
- package/build/desktop/setupBridge.js.map +1 -1
- package/build/desktop/setupPrerequisites.d.ts +11 -0
- package/build/desktop/setupPrerequisites.d.ts.map +1 -0
- package/build/desktop/setupPrerequisites.js +47 -0
- package/build/desktop/setupPrerequisites.js.map +1 -0
- package/build/desktop/updateDialog.d.ts +27 -1
- package/build/desktop/updateDialog.d.ts.map +1 -1
- package/build/desktop/updateDialog.js +85 -5
- package/build/desktop/updateDialog.js.map +1 -1
- package/build/renderer/assets/ActiveSessionPermissionChip-B49WcZBJ.js +1 -0
- package/build/renderer/assets/App-BpxZB5ym.js +2 -0
- package/build/renderer/assets/App-DYTUfAl6.js +1 -0
- package/build/renderer/assets/App-DxsV-tKS.css +1 -0
- package/build/renderer/assets/{App-DKOSn0o_.js → App-boB4WrmU.js} +1 -1
- package/build/renderer/assets/WorkspaceAppRoutes-CPqz85iw.js +1 -0
- package/build/renderer/assets/app-C52wwCGz.js +85 -0
- package/build/renderer/assets/app-CqnsY5ed.css +1 -0
- package/build/renderer/assets/{client-BdGHAUoK.js → client-DREGSZqQ.js} +1 -1
- package/build/renderer/assets/conversationSidebarRecentEntries-DK0iWS73.js +6 -0
- package/build/renderer/assets/{screenshotOverlay-DfBcolX-.js → screenshotOverlay-EF07cXvw.js} +1 -1
- package/build/renderer/assets/{useDraftSessionChips-DCIId0eY.js → useDraftSessionChips-BdZ_B1gy.js} +1 -1
- package/build/renderer/desktop/overlay/index.html +2 -2
- package/build/renderer/index.html +3 -3
- package/build/server/app/renderer/auth/api.d.ts.map +1 -1
- package/build/server/app/renderer/auth/api.js +4 -1
- package/build/server/app/renderer/auth/api.js.map +1 -1
- package/build/server/app/renderer/providerCatalogClient.d.ts.map +1 -1
- package/build/server/app/renderer/providerCatalogClient.js +34 -12
- package/build/server/app/renderer/providerCatalogClient.js.map +1 -1
- package/build/server/app/renderer/providerClientInvalidation.d.ts +6 -0
- package/build/server/app/renderer/providerClientInvalidation.d.ts.map +1 -0
- package/build/server/app/renderer/providerClientInvalidation.js +12 -0
- package/build/server/app/renderer/providerClientInvalidation.js.map +1 -0
- package/build/server/app/renderer/providerReadLoop.d.ts +5 -0
- package/build/server/app/renderer/providerReadLoop.d.ts.map +1 -0
- package/build/server/app/renderer/providerReadLoop.js +52 -0
- package/build/server/app/renderer/providerReadLoop.js.map +1 -0
- package/build/server/app/renderer/providerRegistryClient.d.ts +3 -2
- package/build/server/app/renderer/providerRegistryClient.d.ts.map +1 -1
- package/build/server/app/renderer/providerRegistryClient.js +51 -53
- package/build/server/app/renderer/providerRegistryClient.js.map +1 -1
- package/build/server/app/server/appPackageRoutes.d.ts +2 -0
- package/build/server/app/server/appPackageRoutes.d.ts.map +1 -1
- package/build/server/app/server/appPackageRoutes.js +105 -0
- package/build/server/app/server/appPackageRoutes.js.map +1 -1
- package/build/server/app/server/authGatePolicy.js +14 -1
- package/build/server/app/server/authGatePolicy.js.map +1 -1
- package/build/server/app/server/contracts.d.ts +15 -0
- package/build/server/app/server/contracts.d.ts.map +1 -1
- package/build/server/app/server/dependencies.d.ts.map +1 -1
- package/build/server/app/server/dependencies.js +42 -1
- package/build/server/app/server/dependencies.js.map +1 -1
- package/build/server/app/server/goldenPathStartupResume.d.ts +55 -0
- package/build/server/app/server/goldenPathStartupResume.d.ts.map +1 -0
- package/build/server/app/server/goldenPathStartupResume.js +109 -0
- package/build/server/app/server/goldenPathStartupResume.js.map +1 -0
- package/build/server/app/server/platformSetupRoutes.d.ts.map +1 -1
- package/build/server/app/server/platformSetupRoutes.js +1 -13
- package/build/server/app/server/platformSetupRoutes.js.map +1 -1
- package/build/server/app/server/polling.d.ts.map +1 -1
- package/build/server/app/server/polling.js +2 -0
- package/build/server/app/server/polling.js.map +1 -1
- package/build/server/app/server/requestRouter.d.ts.map +1 -1
- package/build/server/app/server/requestRouter.js +30 -0
- package/build/server/app/server/requestRouter.js.map +1 -1
- package/build/server/app/server/runtimeSurfaceProxy.d.ts.map +1 -1
- package/build/server/app/server/runtimeSurfaceProxy.js +4 -2
- package/build/server/app/server/runtimeSurfaceProxy.js.map +1 -1
- package/build/server/app/server/startupRecovery.d.ts.map +1 -1
- package/build/server/app/server/startupRecovery.js +5 -0
- package/build/server/app/server/startupRecovery.js.map +1 -1
- package/build/server/app/server/subscribeRoutes.d.ts.map +1 -1
- package/build/server/app/server/subscribeRoutes.js +5 -3
- package/build/server/app/server/subscribeRoutes.js.map +1 -1
- package/build/server/app/server/telegramCommandSurface.d.ts +29 -0
- package/build/server/app/server/telegramCommandSurface.d.ts.map +1 -0
- package/build/server/app/server/telegramCommandSurface.js +123 -0
- package/build/server/app/server/telegramCommandSurface.js.map +1 -0
- package/build/server/app/server/transportWorkGoldenPath.d.ts +82 -0
- package/build/server/app/server/transportWorkGoldenPath.d.ts.map +1 -0
- package/build/server/app/server/transportWorkGoldenPath.js +307 -0
- package/build/server/app/server/transportWorkGoldenPath.js.map +1 -0
- package/build/server/config.d.ts +21 -0
- package/build/server/config.d.ts.map +1 -1
- package/build/server/config.js +12 -0
- package/build/server/config.js.map +1 -1
- package/build/server/design/components/providerModelFieldsSupport.d.ts +5 -24
- package/build/server/design/components/providerModelFieldsSupport.d.ts.map +1 -1
- package/build/server/design/components/providerModelFieldsSupport.js +65 -70
- package/build/server/design/components/providerModelFieldsSupport.js.map +1 -1
- package/build/server/design/components/useProviderCatalogState.d.ts +2 -2
- package/build/server/design/components/useProviderCatalogState.d.ts.map +1 -1
- package/build/server/design/components/useProviderCatalogState.js +71 -151
- package/build/server/design/components/useProviderCatalogState.js.map +1 -1
- package/build/server/design/components/useProviderModelFieldActions.js +2 -2
- package/build/server/design/components/useProviderModelFieldActions.js.map +1 -1
- package/build/server/design/components/useProviderRegistryState.d.ts +1 -7
- package/build/server/design/components/useProviderRegistryState.d.ts.map +1 -1
- package/build/server/design/components/useProviderRegistryState.js +41 -104
- package/build/server/design/components/useProviderRegistryState.js.map +1 -1
- package/build/server/design/components/useProviderTargetReconciliation.d.ts +1 -0
- package/build/server/design/components/useProviderTargetReconciliation.d.ts.map +1 -1
- package/build/server/design/components/useProviderTargetReconciliation.js +3 -2
- package/build/server/design/components/useProviderTargetReconciliation.js.map +1 -1
- package/build/server/index.js +4 -0
- package/build/server/index.js.map +1 -1
- package/build/server/platform/apps/packageInstaller.d.ts +19 -0
- package/build/server/platform/apps/packageInstaller.d.ts.map +1 -0
- package/build/server/platform/apps/packageInstaller.js +92 -0
- package/build/server/platform/apps/packageInstaller.js.map +1 -0
- package/build/server/platform/apps/registry.d.ts +6 -0
- package/build/server/platform/apps/registry.d.ts.map +1 -1
- package/build/server/platform/apps/registry.js +24 -0
- package/build/server/platform/apps/registry.js.map +1 -1
- package/build/server/platform/apps/renderer.d.ts +6 -0
- package/build/server/platform/apps/renderer.d.ts.map +1 -0
- package/build/server/platform/apps/renderer.js +18 -0
- package/build/server/platform/apps/renderer.js.map +1 -0
- package/build/server/platform/orchestration/entitySubscriptions/channel.d.ts +2 -1
- package/build/server/platform/orchestration/entitySubscriptions/channel.d.ts.map +1 -1
- package/build/server/platform/orchestration/entitySubscriptions/channel.js +3 -18
- package/build/server/platform/orchestration/entitySubscriptions/channel.js.map +1 -1
- package/build/server/platform/orchestration/entitySubscriptions/index.d.ts +1 -0
- package/build/server/platform/orchestration/entitySubscriptions/index.d.ts.map +1 -1
- package/build/server/platform/orchestration/entitySubscriptions/index.js.map +1 -1
- package/build/server/platform/runtime/deliveryClient.d.ts +111 -0
- package/build/server/platform/runtime/deliveryClient.d.ts.map +1 -0
- package/build/server/platform/runtime/deliveryClient.js +289 -0
- package/build/server/platform/runtime/deliveryClient.js.map +1 -0
- package/build/server/platform/supervision/providerCapabilityBootstrapYaml.d.ts +1 -0
- package/build/server/platform/supervision/providerCapabilityBootstrapYaml.d.ts.map +1 -1
- package/build/server/platform/supervision/providerCapabilityBootstrapYaml.js +10 -0
- package/build/server/platform/supervision/providerCapabilityBootstrapYaml.js.map +1 -1
- package/build/server/platform/supervision/runtimeBoundary.d.ts +11 -1
- package/build/server/platform/supervision/runtimeBoundary.d.ts.map +1 -1
- package/build/server/platform/supervision/runtimeBoundary.js +2 -2
- package/build/server/platform/supervision/runtimeBoundary.js.map +1 -1
- package/build/server/platform/transports/telegram/bridge.d.ts +18 -0
- package/build/server/platform/transports/telegram/bridge.d.ts.map +1 -1
- package/build/server/platform/transports/telegram/bridge.js +176 -0
- package/build/server/platform/transports/telegram/bridge.js.map +1 -1
- package/build/server/platform/transports/telegram/commandPort.d.ts +40 -0
- package/build/server/platform/transports/telegram/commandPort.d.ts.map +1 -0
- package/build/server/platform/transports/telegram/commandPort.js +17 -0
- package/build/server/platform/transports/telegram/commandPort.js.map +1 -0
- package/build/server/platform/transports/telegram/commandRouter.d.ts +22 -0
- package/build/server/platform/transports/telegram/commandRouter.d.ts.map +1 -1
- package/build/server/platform/transports/telegram/commandRouter.js.map +1 -1
- package/build/server/platform/transports/telegram/commands/index.d.ts.map +1 -1
- package/build/server/platform/transports/telegram/commands/index.js +38 -0
- package/build/server/platform/transports/telegram/commands/index.js.map +1 -1
- package/build/server/platform/transports/telegram/ingressDispatch.d.ts +56 -0
- package/build/server/platform/transports/telegram/ingressDispatch.d.ts.map +1 -0
- package/build/server/platform/transports/telegram/ingressDispatch.js +93 -0
- package/build/server/platform/transports/telegram/ingressDispatch.js.map +1 -0
- package/build/server/platform/transports/telegram/polling.d.ts +34 -0
- package/build/server/platform/transports/telegram/polling.d.ts.map +1 -1
- package/build/server/platform/transports/telegram/polling.js +86 -9
- package/build/server/platform/transports/telegram/polling.js.map +1 -1
- package/build/server/platform/transports/telegram/relay/index.d.ts +3 -0
- package/build/server/platform/transports/telegram/relay/index.d.ts.map +1 -1
- package/build/server/platform/transports/telegram/relay/index.js +5 -1
- package/build/server/platform/transports/telegram/relay/index.js.map +1 -1
- package/build/server/platform/transports/telegram/relay/ingress.d.ts +2 -0
- package/build/server/platform/transports/telegram/relay/ingress.d.ts.map +1 -1
- package/build/server/platform/transports/telegram/relay/ingress.js +1 -1
- package/build/server/platform/transports/telegram/relay/ingress.js.map +1 -1
- package/build/server/platform/transports/work-delivery/actionTokens.d.ts +66 -0
- package/build/server/platform/transports/work-delivery/actionTokens.d.ts.map +1 -0
- package/build/server/platform/transports/work-delivery/actionTokens.js +145 -0
- package/build/server/platform/transports/work-delivery/actionTokens.js.map +1 -0
- package/build/server/platform/transports/work-delivery/contracts.d.ts +172 -0
- package/build/server/platform/transports/work-delivery/contracts.d.ts.map +1 -0
- package/build/server/platform/transports/work-delivery/contracts.js +26 -0
- package/build/server/platform/transports/work-delivery/contracts.js.map +1 -0
- package/build/server/platform/transports/work-delivery/deliveryGates.d.ts +32 -0
- package/build/server/platform/transports/work-delivery/deliveryGates.d.ts.map +1 -0
- package/build/server/platform/transports/work-delivery/deliveryGates.js +45 -0
- package/build/server/platform/transports/work-delivery/deliveryGates.js.map +1 -0
- package/build/server/platform/transports/work-delivery/inboundClassification.d.ts +31 -0
- package/build/server/platform/transports/work-delivery/inboundClassification.d.ts.map +1 -0
- package/build/server/platform/transports/work-delivery/inboundClassification.js +52 -0
- package/build/server/platform/transports/work-delivery/inboundClassification.js.map +1 -0
- package/build/server/platform/transports/work-delivery/outbox.d.ts +84 -0
- package/build/server/platform/transports/work-delivery/outbox.d.ts.map +1 -0
- package/build/server/platform/transports/work-delivery/outbox.js +270 -0
- package/build/server/platform/transports/work-delivery/outbox.js.map +1 -0
- package/build/server/platform/transports/work-delivery/permissionEnvelope.d.ts +57 -0
- package/build/server/platform/transports/work-delivery/permissionEnvelope.d.ts.map +1 -0
- package/build/server/platform/transports/work-delivery/permissionEnvelope.js +74 -0
- package/build/server/platform/transports/work-delivery/permissionEnvelope.js.map +1 -0
- package/build/server/platform/transports/work-delivery/port.d.ts +60 -0
- package/build/server/platform/transports/work-delivery/port.d.ts.map +1 -0
- package/build/server/platform/transports/work-delivery/port.js +15 -0
- package/build/server/platform/transports/work-delivery/port.js.map +1 -0
- package/build/server/platform/transports/work-delivery/proposal.d.ts +31 -0
- package/build/server/platform/transports/work-delivery/proposal.d.ts.map +1 -0
- package/build/server/platform/transports/work-delivery/proposal.js +59 -0
- package/build/server/platform/transports/work-delivery/proposal.js.map +1 -0
- package/build/server/platform/transports/work-delivery/readiness.d.ts +61 -0
- package/build/server/platform/transports/work-delivery/readiness.d.ts.map +1 -0
- package/build/server/platform/transports/work-delivery/readiness.js +123 -0
- package/build/server/platform/transports/work-delivery/readiness.js.map +1 -0
- package/build/server/platform/transports/work-delivery/stageProjection.d.ts +43 -0
- package/build/server/platform/transports/work-delivery/stageProjection.d.ts.map +1 -0
- package/build/server/platform/transports/work-delivery/stageProjection.js +132 -0
- package/build/server/platform/transports/work-delivery/stageProjection.js.map +1 -0
- package/build/server/platform/transports/work-delivery/stateStore.d.ts +21 -0
- package/build/server/platform/transports/work-delivery/stateStore.d.ts.map +1 -0
- package/build/server/platform/transports/work-delivery/stateStore.js +193 -0
- package/build/server/platform/transports/work-delivery/stateStore.js.map +1 -0
- package/build/server/platform/transports/work-delivery/telemetry.d.ts +49 -0
- package/build/server/platform/transports/work-delivery/telemetry.d.ts.map +1 -0
- package/build/server/platform/transports/work-delivery/telemetry.js +80 -0
- package/build/server/platform/transports/work-delivery/telemetry.js.map +1 -0
- package/build/server/products/chat/api/contracts.d.ts +10 -0
- package/build/server/products/chat/api/contracts.d.ts.map +1 -1
- package/build/server/products/chat/api/resources/channelRoutes.d.ts.map +1 -1
- package/build/server/products/chat/api/resources/channelRoutes.js +27 -1
- package/build/server/products/chat/api/resources/channelRoutes.js.map +1 -1
- package/build/server/products/chat/api/routeSupport.d.ts +17 -1
- package/build/server/products/chat/api/routeSupport.d.ts.map +1 -1
- package/build/server/products/chat/api/routeSupport.js +27 -4
- package/build/server/products/chat/api/routeSupport.js.map +1 -1
- package/build/server/products/chat/api/setupRoutes.d.ts.map +1 -1
- package/build/server/products/chat/api/setupRoutes.js +23 -8
- package/build/server/products/chat/api/setupRoutes.js.map +1 -1
- package/build/server/products/chat/state/model/channelExecutionTargets.d.ts +15 -0
- package/build/server/products/chat/state/model/channelExecutionTargets.d.ts.map +1 -1
- package/build/server/products/chat/state/model/channelExecutionTargets.js +25 -0
- package/build/server/products/chat/state/model/channelExecutionTargets.js.map +1 -1
- package/build/server/products/chat/state/model/index.d.ts +1 -1
- package/build/server/products/chat/state/model/index.d.ts.map +1 -1
- package/build/server/products/chat/state/model/index.js +1 -1
- package/build/server/products/chat/state/model/index.js.map +1 -1
- package/build/server/products/chat/state/model/readModels.d.ts +1 -0
- package/build/server/products/chat/state/model/readModels.d.ts.map +1 -1
- package/build/server/products/chat/state/model/readModels.js +2 -1
- package/build/server/products/chat/state/model/readModels.js.map +1 -1
- package/build/server/products/code/api/relayRoutes.d.ts.map +1 -1
- package/build/server/products/code/api/relayRoutes.js +36 -7
- package/build/server/products/code/api/relayRoutes.js.map +1 -1
- package/build/server/products/code/state/relayState.d.ts +2 -1
- package/build/server/products/code/state/relayState.d.ts.map +1 -1
- package/build/server/products/code/state/relayState.js +7 -7
- package/build/server/products/code/state/relayState.js.map +1 -1
- package/build/server/products/shared/api/workspaceContracts.d.ts +5 -0
- package/build/server/products/shared/api/workspaceContracts.d.ts.map +1 -1
- package/build/server/products/shared/renderer/api/appShell.d.ts +1 -0
- package/build/server/products/shared/renderer/api/appShell.d.ts.map +1 -1
- package/build/server/products/shared/renderer/api/appShell.js +9 -0
- package/build/server/products/shared/renderer/api/appShell.js.map +1 -1
- package/build/server/products/work/api/goldenPathProjection.d.ts +156 -0
- package/build/server/products/work/api/goldenPathProjection.d.ts.map +1 -0
- package/build/server/products/work/api/goldenPathProjection.js +252 -0
- package/build/server/products/work/api/goldenPathProjection.js.map +1 -0
- package/build/server/products/work/api/index.d.ts +54 -1
- package/build/server/products/work/api/index.d.ts.map +1 -1
- package/build/server/products/work/api/index.js +182 -4
- package/build/server/products/work/api/index.js.map +1 -1
- package/build/server/products/work/api/projection.d.ts +7 -1
- package/build/server/products/work/api/projection.d.ts.map +1 -1
- package/build/server/products/work/api/projection.js +7 -1
- package/build/server/products/work/api/projection.js.map +1 -1
- package/build/server/products/work/shared/apiPaths.d.ts +8 -0
- package/build/server/products/work/shared/apiPaths.d.ts.map +1 -1
- package/build/server/products/work/shared/apiPaths.js +8 -0
- package/build/server/products/work/shared/apiPaths.js.map +1 -1
- package/build/server/products/work/shared/workGoldenPathMessages.d.ts +83 -0
- package/build/server/products/work/shared/workGoldenPathMessages.d.ts.map +1 -0
- package/build/server/products/work/shared/workGoldenPathMessages.js +211 -0
- package/build/server/products/work/shared/workGoldenPathMessages.js.map +1 -0
- package/build/server/products/work/shared/workGoldenPathMetadata.d.ts +45 -0
- package/build/server/products/work/shared/workGoldenPathMetadata.d.ts.map +1 -0
- package/build/server/products/work/shared/workGoldenPathMetadata.js +122 -0
- package/build/server/products/work/shared/workGoldenPathMetadata.js.map +1 -0
- package/build/server/products/work/state/workCompletionEvidence.d.ts +42 -0
- package/build/server/products/work/state/workCompletionEvidence.d.ts.map +1 -0
- package/build/server/products/work/state/workCompletionEvidence.js +59 -0
- package/build/server/products/work/state/workCompletionEvidence.js.map +1 -0
- package/build/server/products/work/state/workExecutionTaskDelegate.d.ts +16 -0
- package/build/server/products/work/state/workExecutionTaskDelegate.d.ts.map +1 -1
- package/build/server/products/work/state/workExecutionTaskDelegate.js +91 -68
- package/build/server/products/work/state/workExecutionTaskDelegate.js.map +1 -1
- package/build/server/products/work/state/workGoldenPathAdmission.d.ts +78 -0
- package/build/server/products/work/state/workGoldenPathAdmission.d.ts.map +1 -0
- package/build/server/products/work/state/workGoldenPathAdmission.js +249 -0
- package/build/server/products/work/state/workGoldenPathAdmission.js.map +1 -0
- package/build/server/products/work/state/workGoldenPathDeliveryEvidence.d.ts +33 -0
- package/build/server/products/work/state/workGoldenPathDeliveryEvidence.d.ts.map +1 -0
- package/build/server/products/work/state/workGoldenPathDeliveryEvidence.js +161 -0
- package/build/server/products/work/state/workGoldenPathDeliveryEvidence.js.map +1 -0
- package/build/server/products/work/state/workGoldenPathIntake.d.ts +34 -0
- package/build/server/products/work/state/workGoldenPathIntake.d.ts.map +1 -0
- package/build/server/products/work/state/workGoldenPathIntake.js +50 -0
- package/build/server/products/work/state/workGoldenPathIntake.js.map +1 -0
- package/build/server/products/work/state/workGoldenPathLifecycle.d.ts +44 -0
- package/build/server/products/work/state/workGoldenPathLifecycle.d.ts.map +1 -0
- package/build/server/products/work/state/workGoldenPathLifecycle.js +146 -0
- package/build/server/products/work/state/workGoldenPathLifecycle.js.map +1 -0
- package/build/server/products/work/state/workGoldenPathPublish.d.ts +84 -0
- package/build/server/products/work/state/workGoldenPathPublish.d.ts.map +1 -0
- package/build/server/products/work/state/workGoldenPathPublish.js +488 -0
- package/build/server/products/work/state/workGoldenPathPublish.js.map +1 -0
- package/build/server/products/work/state/workGoldenPathRunner.d.ts +121 -0
- package/build/server/products/work/state/workGoldenPathRunner.d.ts.map +1 -0
- package/build/server/products/work/state/workGoldenPathRunner.js +447 -0
- package/build/server/products/work/state/workGoldenPathRunner.js.map +1 -0
- package/build/server/products/work/state/workGoldenPathRuntimeExecutor.d.ts +74 -0
- package/build/server/products/work/state/workGoldenPathRuntimeExecutor.d.ts.map +1 -0
- package/build/server/products/work/state/workGoldenPathRuntimeExecutor.js +239 -0
- package/build/server/products/work/state/workGoldenPathRuntimeExecutor.js.map +1 -0
- package/build/server/products/work/state/workGoldenPathService.d.ts +152 -0
- package/build/server/products/work/state/workGoldenPathService.d.ts.map +1 -0
- package/build/server/products/work/state/workGoldenPathService.js +1057 -0
- package/build/server/products/work/state/workGoldenPathService.js.map +1 -0
- package/build/server/products/work/state/workGoldenPathTelegramPort.d.ts +87 -0
- package/build/server/products/work/state/workGoldenPathTelegramPort.d.ts.map +1 -0
- package/build/server/products/work/state/workGoldenPathTelegramPort.js +220 -0
- package/build/server/products/work/state/workGoldenPathTelegramPort.js.map +1 -0
- package/build/server/runtime/client.d.ts +13 -0
- package/build/server/runtime/client.d.ts.map +1 -1
- package/build/server/runtime/client.js +44 -1
- package/build/server/runtime/client.js.map +1 -1
- package/build/server/runtime/setup.d.ts +14 -4
- package/build/server/runtime/setup.d.ts.map +1 -1
- package/build/server/runtime/setup.js +17 -19
- package/build/server/runtime/setup.js.map +1 -1
- package/build/server/runtime/usageSnapshot.d.ts +3 -0
- package/build/server/runtime/usageSnapshot.d.ts.map +1 -0
- package/build/server/runtime/usageSnapshot.js +69 -0
- package/build/server/runtime/usageSnapshot.js.map +1 -0
- package/build/server/server/routes/providerCapabilityBootstrap.d.ts +69 -0
- package/build/server/server/routes/providerCapabilityBootstrap.d.ts.map +1 -0
- package/build/server/server/routes/providerCapabilityBootstrap.js +165 -0
- package/build/server/server/routes/providerCapabilityBootstrap.js.map +1 -0
- package/build/server/server/routes/providers.d.ts.map +1 -1
- package/build/server/server/routes/providers.js +133 -131
- package/build/server/server/routes/providers.js.map +1 -1
- package/build/server/server/routes/telegram.d.ts +9 -0
- package/build/server/server/routes/telegram.d.ts.map +1 -1
- package/build/server/server/routes/telegram.js +79 -72
- package/build/server/server/routes/telegram.js.map +1 -1
- package/build/server/shared/catsAppManifest.d.ts +3 -1
- package/build/server/shared/catsAppManifest.d.ts.map +1 -1
- package/build/server/shared/catsAppManifest.js +2 -0
- package/build/server/shared/catsAppManifest.js.map +1 -1
- package/build/server/shared/desktopRecoveryBridge.d.ts +2 -1
- package/build/server/shared/desktopRecoveryBridge.d.ts.map +1 -1
- package/build/server/shared/desktopRecoveryBridge.js.map +1 -1
- package/build/server/shared/executionLabel.d.ts.map +1 -1
- package/build/server/shared/executionLabel.js +8 -1
- package/build/server/shared/executionLabel.js.map +1 -1
- package/build/server/shared/i18n/catalogs/en.d.ts.map +1 -1
- package/build/server/shared/i18n/catalogs/en.js +198 -3
- package/build/server/shared/i18n/catalogs/en.js.map +1 -1
- package/build/server/shared/i18n/catalogs/zh-TW.d.ts.map +1 -1
- package/build/server/shared/i18n/catalogs/zh-TW.js +197 -3
- package/build/server/shared/i18n/catalogs/zh-TW.js.map +1 -1
- package/build/server/shared/i18n/index.d.ts +192 -0
- package/build/server/shared/i18n/index.d.ts.map +1 -1
- package/build/server/shared/i18n/messageKeys.d.ts +192 -0
- package/build/server/shared/i18n/messageKeys.d.ts.map +1 -1
- package/build/server/shared/i18n/messageKeys.js +192 -0
- package/build/server/shared/i18n/messageKeys.js.map +1 -1
- package/build/server/shared/platformSetupOperation.d.ts +2 -0
- package/build/server/shared/platformSetupOperation.d.ts.map +1 -0
- package/build/server/shared/platformSetupOperation.js +9 -0
- package/build/server/shared/platformSetupOperation.js.map +1 -0
- package/build/server/shared/providerCatalog.d.ts +5 -2
- package/build/server/shared/providerCatalog.d.ts.map +1 -1
- package/build/server/shared/providerCatalog.js +6 -0
- package/build/server/shared/providerCatalog.js.map +1 -1
- package/build/server/shared/providerCatalogData.d.ts +154 -77
- package/build/server/shared/providerCatalogData.d.ts.map +1 -1
- package/build/server/shared/providerCatalogData.js +73 -36
- package/build/server/shared/providerCatalogData.js.map +1 -1
- package/build/server/shared/providerCatalogInstances.d.ts.map +1 -1
- package/build/server/shared/providerCatalogInstances.js +3 -0
- package/build/server/shared/providerCatalogInstances.js.map +1 -1
- package/build/server/shared/providerModelLabelRegistry.d.ts +29 -0
- package/build/server/shared/providerModelLabelRegistry.d.ts.map +1 -0
- package/build/server/shared/providerModelLabelRegistry.js +49 -0
- package/build/server/shared/providerModelLabelRegistry.js.map +1 -0
- package/build/server/shared/providerRegistryWarnings.d.ts +4 -0
- package/build/server/shared/providerRegistryWarnings.d.ts.map +1 -1
- package/build/server/shared/providerRegistryWarnings.js +7 -0
- package/build/server/shared/providerRegistryWarnings.js.map +1 -1
- package/build/server/shared/providerSelection.d.ts.map +1 -1
- package/build/server/shared/providerSelection.js +10 -13
- package/build/server/shared/providerSelection.js.map +1 -1
- package/build/server/shared/runtimeSetup.d.ts +17 -4
- package/build/server/shared/runtimeSetup.d.ts.map +1 -1
- package/build/server/shared/runtimeStatusPresentation.js +1 -1
- package/build/server/shared/runtimeStatusPresentation.js.map +1 -1
- package/package.json +32 -3
- package/packages/app-sdk/browser.d.ts +51 -0
- package/packages/app-sdk/browser.js +48 -0
- package/packages/app-sdk/package.d.ts +14 -0
- package/packages/app-sdk/package.js +131 -0
- package/packages/app-sdk/package.json +7 -0
- package/packages/provider-setup/manager.d.ts +79 -0
- package/packages/provider-setup/manager.js +441 -0
- package/scripts/README.md +66 -26
- package/scripts/build-desktop-installer.mjs +139 -16
- package/scripts/build-test-ui.mjs +1 -1
- package/scripts/bundle-server.mjs +23 -10
- package/scripts/linux/build-desktop-package.sh +6 -6
- package/scripts/linux/install-antigravity.sh +0 -0
- package/scripts/linux/install-devin.sh +0 -0
- package/scripts/linux/install-github-cli.sh +5 -0
- package/scripts/linux/install-meta-cli.sh +8 -0
- package/scripts/linux/install-node.sh +9 -3
- package/scripts/linux/node-cli-common.sh +87 -48
- package/scripts/linux/provider-cli-common.sh +178 -130
- package/scripts/linux/provider-version-common.sh +247 -0
- package/scripts/linux/sync-agent-skills.sh +27 -5
- package/scripts/linux/test-linux-package-smoke.sh +6 -3
- package/scripts/linux/upgrade-cli-tools.sh +1 -1
- package/scripts/linux/verified-npm-update.sh +20 -0
- package/scripts/macos/build-desktop-package.sh +5 -5
- package/scripts/macos/install-antigravity.sh +0 -0
- package/scripts/macos/install-devin.sh +0 -0
- package/scripts/macos/install-github-cli.sh +5 -0
- package/scripts/macos/install-meta-cli.sh +8 -0
- package/scripts/macos/install-node.sh +9 -3
- package/scripts/macos/node-cli-common.sh +87 -48
- package/scripts/macos/provider-cli-common.sh +178 -130
- package/scripts/macos/provider-version-common.sh +247 -0
- package/scripts/macos/sync-agent-skills.sh +27 -5
- package/scripts/macos/test-macos-package-smoke.sh +6 -3
- package/scripts/macos/upgrade-cli-tools.sh +1 -1
- package/scripts/macos/verified-npm-update.sh +20 -0
- package/scripts/package-desktop.mjs +15 -2
- package/scripts/testing/check-usage-app.mts +266 -0
- package/scripts/testing/conversation-navigation-smoke-electron.cjs +134 -0
- package/scripts/testing/conversation-navigation-smoke-renderer.tsx +102 -0
- package/scripts/testing/conversation-navigation-smoke.mjs +67 -0
- package/scripts/testing/usage-app-smoke-electron.cjs +10 -0
- package/scripts/testing/usage-app-smoke-renderer.tsx +8 -0
- package/scripts/validate-release-assets.mjs +4 -1
- package/scripts/verify-desktop-app-bundle.mjs +108 -0
- package/scripts/windows/Build-DesktopPackage.ps1 +9 -6
- package/scripts/windows/Install-Antigravity.ps1 +26 -3
- package/scripts/windows/Install-ClaudeCode.ps1 +25 -7
- package/scripts/windows/Install-CursorAgent.ps1 +45 -30
- package/scripts/windows/Install-Devin.ps1 +16 -47
- package/scripts/windows/Install-GitHubCli.ps1 +4 -0
- package/scripts/windows/Install-Goose.ps1 +18 -1
- package/scripts/windows/Install-Grok.ps1 +14 -1
- package/scripts/windows/Install-Junie.ps1 +32 -11
- package/scripts/windows/Install-KiroCli.ps1 +37 -13
- package/scripts/windows/Install-MetaCli.ps1 +463 -0
- package/scripts/windows/Install-Node.ps1 +6 -1
- package/scripts/windows/Install-Ollama.ps1 +4 -1
- package/scripts/windows/Setup-NodeGlobalPrefix.ps1 +10 -0
- package/scripts/windows/Sync-AgentSkills.ps1 +29 -6
- package/scripts/windows/Test-WindowsInstallerSmoke.ps1 +4 -1
- package/scripts/windows/_HiddenProcess.ps1 +14 -3
- package/scripts/windows/_NativeInstallerSupport.ps1 +308 -0
- package/scripts/windows/_NpmCliInstaller.ps1 +35 -14
- package/scripts/windows/_PackagedUninstall.ps1 +9 -1
- package/scripts/windows/_VerifiedNpmUpdate.ps1 +25 -0
- package/build/desktop/updateNotifications.d.ts +0 -64
- package/build/desktop/updateNotifications.d.ts.map +0 -1
- package/build/desktop/updateNotifications.js +0 -143
- package/build/desktop/updateNotifications.js.map +0 -1
- package/build/renderer/assets/ActiveSessionPermissionChip-DImsuR9T.js +0 -1
- package/build/renderer/assets/App-BfOvMP2m.js +0 -1
- package/build/renderer/assets/App-DGwkRFZl.css +0 -1
- package/build/renderer/assets/App-DWd7I3Z2.js +0 -2
- package/build/renderer/assets/WorkspaceAppRoutes-CrbTA9En.js +0 -1
- package/build/renderer/assets/app-BTww3Hl4.js +0 -43
- package/build/renderer/assets/app-CPxWQwLA.css +0 -1
- package/build/renderer/assets/conversationSidebarRecentEntries-QuaOPxCb.js +0 -6
- package/build/server/app/renderer/settings/runtimeLifecycleHelpers.d.ts +0 -48
- package/build/server/app/renderer/settings/runtimeLifecycleHelpers.d.ts.map +0 -1
- package/build/server/app/renderer/settings/runtimeLifecycleHelpers.js +0 -535
- package/build/server/app/renderer/settings/runtimeLifecycleHelpers.js.map +0 -1
- package/build/server/design/components/useProviderRegistryAutoRecheck.d.ts +0 -13
- package/build/server/design/components/useProviderRegistryAutoRecheck.d.ts.map +0 -1
- package/build/server/design/components/useProviderRegistryAutoRecheck.js +0 -63
- package/build/server/design/components/useProviderRegistryAutoRecheck.js.map +0 -1
- package/build/server/products/shared/renderer/api/providerCatalogRefreshStore.d.ts +0 -19
- package/build/server/products/shared/renderer/api/providerCatalogRefreshStore.d.ts.map +0 -1
- package/build/server/products/shared/renderer/api/providerCatalogRefreshStore.js +0 -53
- package/build/server/products/shared/renderer/api/providerCatalogRefreshStore.js.map +0 -1
- package/build/server/products/shared/renderer/api/providers.d.ts +0 -17
- package/build/server/products/shared/renderer/api/providers.d.ts.map +0 -1
- package/build/server/products/shared/renderer/api/providers.js +0 -50
- package/build/server/products/shared/renderer/api/providers.js.map +0 -1
- package/scripts/linux/install-aider.sh +0 -8
- package/scripts/macos/install-aider.sh +0 -8
- package/scripts/windows/Install-Aider.ps1 +0 -368
|
@@ -8,6 +8,7 @@ import { spawn } from 'node:child_process';
|
|
|
8
8
|
|
|
9
9
|
import { parseStableReleaseTag } from './validate-release-version.mjs';
|
|
10
10
|
import { DESCRIPTOR_RELATIVE_PATH } from './generate-desktop-release-descriptor.mjs';
|
|
11
|
+
import { resolveAppLock, materializeAppSelection } from '#cats-app-package';
|
|
11
12
|
|
|
12
13
|
const SCRIPT_PATH = fileURLToPath(import.meta.url);
|
|
13
14
|
const PROJECT_ROOT = resolve(dirname(SCRIPT_PATH), '..');
|
|
@@ -32,11 +33,13 @@ Options:
|
|
|
32
33
|
--format <nsis|dmg|pkg|zip|AppImage|deb|tar.gz>
|
|
33
34
|
Override the configured installer formats.
|
|
34
35
|
--sidecar-layout <split|bundle> Choose loose-file or bundled sidecars for both app/runtime.
|
|
36
|
+
--apps-lock <path> Bundle the exact ID/version/SHA-256 selection in this lock.
|
|
35
37
|
--skip-mobile Skip the mobile bundle (\`expo export\`). Also honored via
|
|
36
38
|
CATS_SKIP_MOBILE=1 in the environment or .env.
|
|
37
39
|
--release Build an official release package: embed the release
|
|
38
|
-
descriptor, require platform signing credentials
|
|
39
|
-
|
|
40
|
+
descriptor, require platform signing credentials (plus
|
|
41
|
+
macOS notarization credentials), and allow signing
|
|
42
|
+
identity discovery. Requires a GitHub
|
|
40
43
|
Actions tag run whose tag matches the package version.
|
|
41
44
|
Also honored via CATS_DESKTOP_RELEASE_MODE=1.
|
|
42
45
|
--preview Build an unsupported unsigned GitHub prerelease preview.
|
|
@@ -44,6 +47,12 @@ Options:
|
|
|
44
47
|
omits the official descriptor, and disables signing
|
|
45
48
|
identity discovery. Also honored via
|
|
46
49
|
CATS_DESKTOP_PREVIEW_MODE=1.
|
|
50
|
+
--sign Let local packaging use a signing identity from the
|
|
51
|
+
OS keychain. Off by default so an unconfigured machine
|
|
52
|
+
cannot pick up an unrelated certificate. Ignored by
|
|
53
|
+
--release and --preview, which always sign when their
|
|
54
|
+
credentials are present. Also honored via
|
|
55
|
+
CATS_DESKTOP_SIGN_LOCAL=1.
|
|
47
56
|
--publish <never|always> Publish policy, default never. Publishing requires
|
|
48
57
|
--release or --preview plus a GitHub token. Also honored
|
|
49
58
|
via CATS_DESKTOP_PUBLISH.
|
|
@@ -97,11 +106,13 @@ export function parseArgs(argv, env = process.env) {
|
|
|
97
106
|
let skipMobile = parseBooleanFlag(env.CATS_SKIP_MOBILE);
|
|
98
107
|
let releaseMode = parseBooleanFlag(env.CATS_DESKTOP_RELEASE_MODE);
|
|
99
108
|
let previewMode = parseBooleanFlag(env.CATS_DESKTOP_PREVIEW_MODE);
|
|
109
|
+
let allowLocalSigning = parseBooleanFlag(env.CATS_DESKTOP_SIGN_LOCAL);
|
|
100
110
|
let publish = resolvePublishPolicy(env.CATS_DESKTOP_PUBLISH);
|
|
101
111
|
// GITHUB_REF_NAME is a runner-provided default. A workflow `env:` block
|
|
102
112
|
// cannot override anything in the GITHUB_ namespace, and a preview run is
|
|
103
113
|
// dispatched from a branch, so the tag has to arrive as an explicit input.
|
|
104
114
|
let tag = (env.CATS_DESKTOP_RELEASE_TAG ?? env.GITHUB_REF_NAME ?? '').trim();
|
|
115
|
+
let appsLock = env.CATS_DESKTOP_APPS_LOCK?.trim() || null;
|
|
105
116
|
|
|
106
117
|
for (let index = 0; index < argv.length; index += 1) {
|
|
107
118
|
const value = argv[index];
|
|
@@ -115,14 +126,21 @@ export function parseArgs(argv, env = process.env) {
|
|
|
115
126
|
skipMobile,
|
|
116
127
|
releaseMode,
|
|
117
128
|
previewMode,
|
|
129
|
+
allowLocalSigning,
|
|
118
130
|
publish,
|
|
119
131
|
tag,
|
|
132
|
+
...(appsLock ? { appsLock } : {}),
|
|
120
133
|
};
|
|
121
134
|
}
|
|
122
135
|
if (value === '--release') {
|
|
123
136
|
releaseMode = true;
|
|
124
137
|
continue;
|
|
125
138
|
}
|
|
139
|
+
if (value === '--apps-lock') {
|
|
140
|
+
appsLock = argv[++index];
|
|
141
|
+
if (!appsLock || appsLock.startsWith('--')) throw new Error('--apps-lock requires a path.');
|
|
142
|
+
continue;
|
|
143
|
+
}
|
|
126
144
|
if (value === '--no-release') {
|
|
127
145
|
releaseMode = false;
|
|
128
146
|
continue;
|
|
@@ -135,6 +153,14 @@ export function parseArgs(argv, env = process.env) {
|
|
|
135
153
|
previewMode = false;
|
|
136
154
|
continue;
|
|
137
155
|
}
|
|
156
|
+
if (value === '--sign') {
|
|
157
|
+
allowLocalSigning = true;
|
|
158
|
+
continue;
|
|
159
|
+
}
|
|
160
|
+
if (value === '--no-sign') {
|
|
161
|
+
allowLocalSigning = false;
|
|
162
|
+
continue;
|
|
163
|
+
}
|
|
138
164
|
if (value === '--publish') {
|
|
139
165
|
publish = resolvePublishPolicy(argv[index + 1] ?? '');
|
|
140
166
|
index += 1;
|
|
@@ -185,8 +211,10 @@ export function parseArgs(argv, env = process.env) {
|
|
|
185
211
|
skipMobile,
|
|
186
212
|
releaseMode,
|
|
187
213
|
previewMode,
|
|
214
|
+
allowLocalSigning,
|
|
188
215
|
publish,
|
|
189
216
|
tag,
|
|
217
|
+
...(appsLock ? { appsLock } : {}),
|
|
190
218
|
};
|
|
191
219
|
}
|
|
192
220
|
|
|
@@ -231,28 +259,45 @@ async function resolveCommandInvocation(command, args) {
|
|
|
231
259
|
};
|
|
232
260
|
}
|
|
233
261
|
|
|
262
|
+
const MACOS_NOTARIZATION_CREDENTIAL_KEYS = [
|
|
263
|
+
'APPLE_API_KEY',
|
|
264
|
+
'APPLE_API_KEY_ID',
|
|
265
|
+
'APPLE_API_ISSUER',
|
|
266
|
+
];
|
|
267
|
+
|
|
234
268
|
const SIGNING_CREDENTIAL_KEYS = [
|
|
235
269
|
'WIN_CSC_LINK',
|
|
236
270
|
'CSC_LINK',
|
|
237
271
|
'WIN_CSC_KEY_PASSWORD',
|
|
238
272
|
'CSC_KEY_PASSWORD',
|
|
273
|
+
...MACOS_NOTARIZATION_CREDENTIAL_KEYS,
|
|
239
274
|
];
|
|
240
275
|
|
|
241
276
|
/**
|
|
242
277
|
* Local and test packaging must never reach for a signing identity, because an
|
|
243
278
|
* unconfigured machine would otherwise pick up an unrelated certificate from
|
|
244
|
-
* the OS keychain.
|
|
245
|
-
* configured certificate can actually be used.
|
|
279
|
+
* the OS keychain. Both guarded workflow paths leave identity discovery alone
|
|
280
|
+
* so a configured certificate can actually be used.
|
|
281
|
+
*
|
|
282
|
+
* ADR-117: a preview is signed on any platform whose credentials exist, so
|
|
283
|
+
* preview mode is a signing path too. Signing is artifact trust; it says
|
|
284
|
+
* nothing about whether the build claims official release identity.
|
|
246
285
|
*
|
|
247
|
-
*
|
|
286
|
+
* `--sign` is the local escape hatch. It is an explicit request rather than an
|
|
287
|
+
* inference from the environment, because a developer machine may hold
|
|
288
|
+
* unrelated certificates.
|
|
289
|
+
*
|
|
290
|
+
* Empty credential variables are dropped in every mode: electron-builder treats
|
|
248
291
|
* an empty CSC_LINK as a relative path and resolves it against the project
|
|
249
292
|
* root.
|
|
250
293
|
*/
|
|
251
294
|
export function buildInstallerEnvironment(baseEnv = process.env, options = {}) {
|
|
252
|
-
const
|
|
295
|
+
const signingAllowed = options.releaseMode === true
|
|
296
|
+
|| options.previewMode === true
|
|
297
|
+
|| options.allowLocalSigning === true;
|
|
253
298
|
const env = { ...baseEnv };
|
|
254
299
|
|
|
255
|
-
if (!
|
|
300
|
+
if (!signingAllowed) {
|
|
256
301
|
env.CSC_IDENTITY_AUTO_DISCOVERY = 'false';
|
|
257
302
|
}
|
|
258
303
|
|
|
@@ -276,6 +321,22 @@ export function hasMacosSigningCredentials(env = process.env) {
|
|
|
276
321
|
return typeof link === 'string' && link.trim() !== '';
|
|
277
322
|
}
|
|
278
323
|
|
|
324
|
+
/**
|
|
325
|
+
* electron-builder reads notarization credentials straight from the
|
|
326
|
+
* environment and only warns when they are absent, so a misconfigured release
|
|
327
|
+
* would otherwise produce a signed but un-notarized app. Gatekeeper rejects
|
|
328
|
+
* that on every machine except the one that built it.
|
|
329
|
+
*
|
|
330
|
+
* App Store Connect API keys are used rather than an Apple ID and
|
|
331
|
+
* app-specific password: they are revocable on their own and survive an Apple
|
|
332
|
+
* ID password change, which a CI secret has no way to notice.
|
|
333
|
+
*/
|
|
334
|
+
export function hasMacosNotarizationCredentials(env = process.env) {
|
|
335
|
+
return MACOS_NOTARIZATION_CREDENTIAL_KEYS.every(
|
|
336
|
+
(key) => typeof env[key] === 'string' && env[key].trim() !== '',
|
|
337
|
+
);
|
|
338
|
+
}
|
|
339
|
+
|
|
279
340
|
/**
|
|
280
341
|
* Signing is a release gate, not a nice-to-have.
|
|
281
342
|
*
|
|
@@ -292,16 +353,53 @@ export function resolveSigningProblems({ env = process.env, target } = {}) {
|
|
|
292
353
|
}];
|
|
293
354
|
}
|
|
294
355
|
|
|
295
|
-
if (target === 'macos'
|
|
296
|
-
|
|
297
|
-
|
|
298
|
-
|
|
299
|
-
|
|
356
|
+
if (target === 'macos') {
|
|
357
|
+
const problems = [];
|
|
358
|
+
if (!hasMacosSigningCredentials(env)) {
|
|
359
|
+
problems.push({
|
|
360
|
+
code: 'release_macos_signing_missing',
|
|
361
|
+
message: 'An official macOS release requires CSC_LINK.',
|
|
362
|
+
});
|
|
363
|
+
}
|
|
364
|
+
if (!hasMacosNotarizationCredentials(env)) {
|
|
365
|
+
problems.push({
|
|
366
|
+
code: 'release_macos_notarization_missing',
|
|
367
|
+
message: 'An official macOS release requires APPLE_API_KEY, APPLE_API_KEY_ID, and APPLE_API_ISSUER.',
|
|
368
|
+
});
|
|
369
|
+
}
|
|
370
|
+
return problems;
|
|
300
371
|
}
|
|
301
372
|
|
|
302
373
|
return [];
|
|
303
374
|
}
|
|
304
375
|
|
|
376
|
+
/**
|
|
377
|
+
* ADR-117: trust is resolved per platform from the credentials actually
|
|
378
|
+
* present. The build states which it got, because a silently unsigned artifact
|
|
379
|
+
* is indistinguishable from a signed one until a user tries to install it.
|
|
380
|
+
*/
|
|
381
|
+
export function describeArtifactTrust(target, env = process.env) {
|
|
382
|
+
if (target === 'linux') {
|
|
383
|
+
return 'unsigned (Linux packages are not signed)';
|
|
384
|
+
}
|
|
385
|
+
|
|
386
|
+
if (target === 'windows') {
|
|
387
|
+
return hasWindowsSigningCredentials(env)
|
|
388
|
+
? 'signed'
|
|
389
|
+
: 'unsigned (no Windows certificate configured)';
|
|
390
|
+
}
|
|
391
|
+
|
|
392
|
+
const signed = hasMacosSigningCredentials(env);
|
|
393
|
+
const notarized = hasMacosNotarizationCredentials(env);
|
|
394
|
+
if (signed && notarized) {
|
|
395
|
+
return 'signed and notarized';
|
|
396
|
+
}
|
|
397
|
+
if (signed) {
|
|
398
|
+
return 'signed but NOT notarized (no App Store Connect API key) — Gatekeeper will reject the download';
|
|
399
|
+
}
|
|
400
|
+
return 'unsigned (no Developer ID certificate)';
|
|
401
|
+
}
|
|
402
|
+
|
|
305
403
|
/**
|
|
306
404
|
* Release and preview publication are only meaningful inside the guarded
|
|
307
405
|
* workflow. Anything else could publish from an unreviewed tree, so the
|
|
@@ -638,8 +736,14 @@ export function electronBuilderArgs(target, archOverride, formatOverride, option
|
|
|
638
736
|
}
|
|
639
737
|
|
|
640
738
|
const releaseMode = options.releaseMode === true;
|
|
739
|
+
const previewMode = options.previewMode === true;
|
|
740
|
+
// Signing overrides key off artifact trust, not release identity, so both
|
|
741
|
+
// guarded paths qualify. Local packaging never does, even with `--sign`:
|
|
742
|
+
// an ad-hoc local build has no reason to reach Apple's notary service.
|
|
743
|
+
const signedBuild = releaseMode || previewMode;
|
|
641
744
|
const publish = resolvePublishPolicy(options.publish ?? 'never');
|
|
642
745
|
const signWindowsExecutable = options.signWindowsExecutable === true;
|
|
746
|
+
const notarizeMacos = options.notarizeMacos === true;
|
|
643
747
|
const formats = normalizeFormats(target, formatOverride);
|
|
644
748
|
const platformFlag = target === 'windows' ? '--win' : target === 'macos' ? '--mac' : '--linux';
|
|
645
749
|
const args = ['electron-builder', platformFlag];
|
|
@@ -657,10 +761,17 @@ export function electronBuilderArgs(target, archOverride, formatOverride, option
|
|
|
657
761
|
// package.json pins signAndEditExecutable to false so unsigned local builds
|
|
658
762
|
// avoid the winCodeSign download. A release build with real credentials has
|
|
659
763
|
// to opt back in, and only then.
|
|
660
|
-
if (
|
|
764
|
+
if (signedBuild && target === 'windows' && signWindowsExecutable) {
|
|
661
765
|
args.push('-c.win.signAndEditExecutable=true');
|
|
662
766
|
}
|
|
663
767
|
|
|
768
|
+
// package.json pins mac.notarize to false so an unsigned preview never waits
|
|
769
|
+
// on Apple and a half-configured environment cannot quietly ship an
|
|
770
|
+
// un-notarized build. A release build with real credentials opts back in.
|
|
771
|
+
if (signedBuild && target === 'macos' && notarizeMacos) {
|
|
772
|
+
args.push('-c.mac.notarize=true');
|
|
773
|
+
}
|
|
774
|
+
|
|
664
775
|
args.push('--publish', publish);
|
|
665
776
|
return args;
|
|
666
777
|
}
|
|
@@ -673,7 +784,15 @@ async function main() {
|
|
|
673
784
|
}
|
|
674
785
|
|
|
675
786
|
const resolvedTarget = resolveBuilderTarget(parsed.target);
|
|
676
|
-
|
|
787
|
+
// Resolve once before builds can clear build/. Stage an offline immutable copy
|
|
788
|
+
// in an OS temporary directory so retries never redownload a moving asset.
|
|
789
|
+
const selectedApps = parsed.appsLock ? await resolveAppLock(resolve(parsed.appsLock)) : null;
|
|
790
|
+
const appLockForBuild = selectedApps ? await materializeAppSelection(selectedApps) : null;
|
|
791
|
+
const envOptions = {
|
|
792
|
+
releaseMode: parsed.releaseMode,
|
|
793
|
+
previewMode: parsed.previewMode,
|
|
794
|
+
allowLocalSigning: parsed.allowLocalSigning,
|
|
795
|
+
};
|
|
677
796
|
|
|
678
797
|
if (parsed.releaseMode && parsed.previewMode) {
|
|
679
798
|
throw new Error('--release and --preview are mutually exclusive build modes.');
|
|
@@ -703,10 +822,11 @@ async function main() {
|
|
|
703
822
|
.join('\n')}`,
|
|
704
823
|
);
|
|
705
824
|
}
|
|
706
|
-
const buildKind = parsed.releaseMode ? 'official' : '
|
|
825
|
+
const buildKind = parsed.releaseMode ? 'official' : 'preview';
|
|
707
826
|
process.stdout.write(
|
|
708
827
|
`[build-desktop-installer] ${buildKind} ${resolvedTarget} build for `
|
|
709
|
-
+ `${process.env.GITHUB_REF_NAME} (publish=${parsed.publish}
|
|
828
|
+
+ `${process.env.GITHUB_REF_NAME} (publish=${parsed.publish}, `
|
|
829
|
+
+ `trust=${describeArtifactTrust(resolvedTarget, process.env)}).\n`,
|
|
710
830
|
);
|
|
711
831
|
}
|
|
712
832
|
|
|
@@ -762,6 +882,7 @@ async function main() {
|
|
|
762
882
|
resolvedTarget,
|
|
763
883
|
'--sidecar-layout',
|
|
764
884
|
parsed.sidecarLayout,
|
|
885
|
+
...(appLockForBuild ? ['--apps-lock', appLockForBuild] : []),
|
|
765
886
|
],
|
|
766
887
|
PROJECT_ROOT,
|
|
767
888
|
sidecarBuildEnv,
|
|
@@ -771,8 +892,10 @@ async function main() {
|
|
|
771
892
|
'npx',
|
|
772
893
|
electronBuilderArgs(resolvedTarget, parsed.arch, parsed.format, {
|
|
773
894
|
releaseMode: parsed.releaseMode,
|
|
895
|
+
previewMode: parsed.previewMode,
|
|
774
896
|
publish: parsed.publish,
|
|
775
897
|
signWindowsExecutable: hasWindowsSigningCredentials(process.env),
|
|
898
|
+
notarizeMacos: hasMacosNotarizationCredentials(process.env),
|
|
776
899
|
}),
|
|
777
900
|
PROJECT_ROOT,
|
|
778
901
|
{},
|
|
@@ -4,13 +4,26 @@ import { fileURLToPath } from 'node:url';
|
|
|
4
4
|
|
|
5
5
|
const root = resolve(dirname(fileURLToPath(import.meta.url)), '..');
|
|
6
6
|
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
bundle
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
7
|
+
export function bundleServer({
|
|
8
|
+
entryPoint = resolve(root, 'build', 'server', 'index.js'),
|
|
9
|
+
outfile = resolve(root, 'build', 'server-bundle', 'index.js'),
|
|
10
|
+
} = {}) {
|
|
11
|
+
return build({
|
|
12
|
+
entryPoints: [entryPoint],
|
|
13
|
+
bundle: true,
|
|
14
|
+
outfile,
|
|
15
|
+
platform: 'node',
|
|
16
|
+
target: 'node22',
|
|
17
|
+
format: 'esm',
|
|
18
|
+
sourcemap: true,
|
|
19
|
+
packages: 'external',
|
|
20
|
+
// Package-import aliases are otherwise inlined despite packages: external.
|
|
21
|
+
// Keep the SDK's import.meta.url beside its shipped browser.js resource.
|
|
22
|
+
external: ['#cats-app-package'],
|
|
23
|
+
});
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
if (resolve(process.argv[1] ?? '') === fileURLToPath(import.meta.url)) {
|
|
27
|
+
if (process.argv.includes('--help')) console.log('Usage: node scripts/bundle-server.mjs (after npm run build:server)');
|
|
28
|
+
else await bundleServer();
|
|
29
|
+
}
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
# Script: build-desktop-package.sh
|
|
4
4
|
# Description: Build staged desktop packaging outputs for Cats.
|
|
5
5
|
#
|
|
6
|
-
# Usage: ./scripts/linux/build-desktop-package.sh [all|windows|macos|linux] [output-dir]
|
|
6
|
+
# Usage: ./scripts/linux/build-desktop-package.sh [all|windows|macos|linux] [output-dir] [apps-lock]
|
|
7
7
|
#
|
|
8
8
|
# Arguments:
|
|
9
9
|
# [platform] Optional platform filter. Defaults to all.
|
|
@@ -20,11 +20,11 @@ SCRIPT_DIR="$(cd -- "$(dirname -- "${BASH_SOURCE[0]}")" && pwd)"
|
|
|
20
20
|
PROJECT_ROOT="$(cd -- "${SCRIPT_DIR}/../.." && pwd)"
|
|
21
21
|
PLATFORM="${1:-all}"
|
|
22
22
|
OUTPUT_DIR="${2:-}"
|
|
23
|
+
APPS_LOCK="${3:-}"
|
|
23
24
|
|
|
24
25
|
cd "${PROJECT_ROOT}"
|
|
25
26
|
npm run build
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
fi
|
|
27
|
+
package_args=(./scripts/package-desktop.mjs --platform "${PLATFORM}")
|
|
28
|
+
if [[ -n "${OUTPUT_DIR}" ]]; then package_args+=(--output-dir "${OUTPUT_DIR}"); fi
|
|
29
|
+
if [[ -n "${APPS_LOCK}" ]]; then package_args+=(--apps-lock "${APPS_LOCK}"); fi
|
|
30
|
+
node "${package_args[@]}"
|
|
File without changes
|
|
File without changes
|
|
@@ -60,6 +60,11 @@ declare -a applied_changes=()
|
|
|
60
60
|
declare -a warnings=()
|
|
61
61
|
declare -a manual_steps=()
|
|
62
62
|
|
|
63
|
+
# A Desktop-launched helper may inherit PATH from before gh was installed.
|
|
64
|
+
# Include our fallback destination and the supported Homebrew locations in this
|
|
65
|
+
# process only; check mode must not edit the user's shell profile.
|
|
66
|
+
export PATH="$HOME/.local/bin:/opt/homebrew/bin:/usr/local/bin:$PATH"
|
|
67
|
+
|
|
63
68
|
resolve_gh_path() {
|
|
64
69
|
command -v gh 2>/dev/null || true
|
|
65
70
|
}
|
|
@@ -90,7 +90,7 @@ is_node_installed() {
|
|
|
90
90
|
if [ "$skip_node_probe" = 'true' ]; then
|
|
91
91
|
return 1
|
|
92
92
|
fi
|
|
93
|
-
command -v node >/dev/null 2>&1
|
|
93
|
+
command -v node >/dev/null 2>&1 && command -v npm >/dev/null 2>&1
|
|
94
94
|
}
|
|
95
95
|
|
|
96
96
|
json_array_from_lines() {
|
|
@@ -149,6 +149,12 @@ JSON
|
|
|
149
149
|
exit "$exit_code"
|
|
150
150
|
}
|
|
151
151
|
|
|
152
|
+
# Desktop's environment may predate nvm installation. Load it before read-only
|
|
153
|
+
# detection too; a bundled or standalone node without npm is not this substrate.
|
|
154
|
+
if [ "$install_state" = 'auto' ] && [ "$skip_node_probe" = 'false' ]; then
|
|
155
|
+
load_nvm
|
|
156
|
+
fi
|
|
157
|
+
|
|
152
158
|
# Mode: check
|
|
153
159
|
if [ "$mode" = 'check' ]; then
|
|
154
160
|
if is_node_installed; then
|
|
@@ -214,10 +220,10 @@ case "$mode" in
|
|
|
214
220
|
;;
|
|
215
221
|
esac
|
|
216
222
|
|
|
217
|
-
if command -v node >/dev/null 2>&1; then
|
|
223
|
+
if command -v node >/dev/null 2>&1 && command -v npm >/dev/null 2>&1; then
|
|
218
224
|
emit_result 'ready' 'true' 0
|
|
219
225
|
else
|
|
220
|
-
warnings+=('Node
|
|
226
|
+
warnings+=('Node.js or npm is still missing after install.')
|
|
221
227
|
manual_steps+=('Open a new terminal so PATH picks up the nvm-managed node binary.')
|
|
222
228
|
emit_result 'failed' 'false' 1
|
|
223
229
|
fi
|