@cats-inc/cats-platform 0.1.21 → 0.2.8
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.env.example +3 -7
- package/README.md +18 -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 +114 -34
- package/build/desktop/bootstrapPage.js.map +1 -1
- package/build/desktop/cliInventoryProbe.d.ts +5 -2
- package/build/desktop/cliInventoryProbe.d.ts.map +1 -1
- package/build/desktop/cliInventoryProbe.js +14 -11
- 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 +10 -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 +144 -249
- 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 +7 -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/providerSelection.d.ts +37 -0
- package/build/desktop/providerSelection.d.ts.map +1 -0
- package/build/desktop/providerSelection.js +112 -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 +16 -14
- package/build/desktop/setupAssets.js.map +1 -1
- package/build/desktop/setupAudit.d.ts +2 -3
- package/build/desktop/setupAudit.d.ts.map +1 -1
- package/build/desktop/setupAudit.js +14 -34
- package/build/desktop/setupAudit.js.map +1 -1
- 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-DImsuR9T.js → ActiveSessionPermissionChip-CAgN-tXv.js} +1 -1
- package/build/renderer/assets/App-BZA23O2J.js +2 -0
- package/build/renderer/assets/App-DxsV-tKS.css +1 -0
- package/build/renderer/assets/{App-DKOSn0o_.js → App-YqprEL2n.js} +1 -1
- package/build/renderer/assets/App-rGw9J8PZ.js +1 -0
- package/build/renderer/assets/WorkspaceAppRoutes-BCHCikmJ.js +1 -0
- package/build/renderer/assets/app-BV3UAQkR.css +1 -0
- package/build/renderer/assets/app-CVPqqfZo.js +45 -0
- package/build/renderer/assets/conversationSidebarRecentEntries-iqaLqA1n.js +6 -0
- package/build/renderer/assets/{useDraftSessionChips-DCIId0eY.js → useDraftSessionChips-D9BX6X92.js} +1 -1
- package/build/renderer/index.html +2 -2
- package/build/server/app/renderer/providerCatalogClient.d.ts.map +1 -1
- package/build/server/app/renderer/providerCatalogClient.js +15 -6
- package/build/server/app/renderer/providerCatalogClient.js.map +1 -1
- package/build/server/app/renderer/providerRegistryClient.d.ts +1 -1
- package/build/server/app/renderer/providerRegistryClient.d.ts.map +1 -1
- package/build/server/app/renderer/providerRegistryClient.js +23 -41
- 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 +7 -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/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 +3 -3
- package/build/server/design/components/providerModelFieldsSupport.d.ts.map +1 -1
- package/build/server/design/components/providerModelFieldsSupport.js +37 -38
- package/build/server/design/components/providerModelFieldsSupport.js.map +1 -1
- package/build/server/design/components/useProviderCatalogState.d.ts +1 -0
- package/build/server/design/components/useProviderCatalogState.d.ts.map +1 -1
- package/build/server/design/components/useProviderCatalogState.js +1 -0
- package/build/server/design/components/useProviderCatalogState.js.map +1 -1
- package/build/server/design/components/useProviderRegistryAutoRecheck.d.ts.map +1 -1
- package/build/server/design/components/useProviderRegistryAutoRecheck.js +20 -13
- package/build/server/design/components/useProviderRegistryAutoRecheck.js.map +1 -1
- package/build/server/design/components/useProviderRegistryState.d.ts.map +1 -1
- package/build/server/design/components/useProviderRegistryState.js +12 -25
- package/build/server/design/components/useProviderRegistryState.js.map +1 -1
- package/build/server/design/components/useProviderTargetReconciliation.d.ts.map +1 -1
- package/build/server/design/components/useProviderTargetReconciliation.js +2 -1
- 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/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 +8 -0
- package/build/server/products/chat/api/routeSupport.d.ts.map +1 -1
- package/build/server/products/chat/api/routeSupport.js +5 -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/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/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 +39 -0
- package/build/server/runtime/client.js.map +1 -1
- package/build/server/runtime/setup.d.ts +10 -4
- package/build/server/runtime/setup.d.ts.map +1 -1
- package/build/server/runtime/setup.js +14 -18
- 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 +112 -81
- 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/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 +28 -22
- package/build/server/shared/providerCatalogData.d.ts.map +1 -1
- package/build/server/shared/providerCatalogData.js +22 -10
- 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/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 +23 -1
- 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/scripts/README.md +43 -26
- package/scripts/build-desktop-installer.mjs +15 -0
- 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-meta-cli.sh +8 -0
- package/scripts/linux/provider-cli-common.sh +103 -30
- package/scripts/linux/sync-agent-skills.sh +27 -5
- package/scripts/linux/test-linux-package-smoke.sh +4 -3
- package/scripts/linux/upgrade-cli-tools.sh +1 -1
- 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-meta-cli.sh +8 -0
- package/scripts/macos/provider-cli-common.sh +103 -30
- package/scripts/macos/sync-agent-skills.sh +27 -5
- package/scripts/macos/test-macos-package-smoke.sh +4 -3
- package/scripts/macos/upgrade-cli-tools.sh +1 -1
- package/scripts/package-desktop.mjs +15 -2
- package/scripts/testing/check-usage-app.mts +266 -0
- package/scripts/testing/usage-app-smoke-electron.cjs +10 -0
- package/scripts/testing/usage-app-smoke-renderer.tsx +8 -0
- package/scripts/verify-desktop-app-bundle.mjs +108 -0
- package/scripts/windows/Build-DesktopPackage.ps1 +9 -6
- package/scripts/windows/{Install-Aider.ps1 → Install-MetaCli.ps1} +180 -92
- package/scripts/windows/Install-Ollama.ps1 +4 -1
- package/scripts/windows/Sync-AgentSkills.ps1 +29 -6
- package/scripts/windows/Test-WindowsInstallerSmoke.ps1 +2 -1
- 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/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/scripts/linux/install-aider.sh +0 -8
- package/scripts/macos/install-aider.sh +0 -8
|
@@ -1,17 +1,27 @@
|
|
|
1
1
|
<#
|
|
2
2
|
.SYNOPSIS
|
|
3
|
-
Install or verify the native Windows
|
|
3
|
+
Install or verify the native Windows Meta Muse CLI for Cats.
|
|
4
4
|
|
|
5
5
|
.DESCRIPTION
|
|
6
|
-
Cats-owned packaged setup wrapper for
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
6
|
+
Cats-owned packaged setup wrapper for Meta's Muse CLI. The official
|
|
7
|
+
installer at https://dev.meta.ai/install.ps1 writes a muse.cmd shim plus
|
|
8
|
+
.muse-launcher.ps1 into %LOCALAPPDATA%\Programs\muse (overridable with
|
|
9
|
+
MUSE_INSTALL_DIR) and adds that directory to the User PATH. The launcher
|
|
10
|
+
then downloads the actual agent, muse-bin-<version>.exe, beside itself and
|
|
11
|
+
records the version in .muse-version.
|
|
12
|
+
|
|
13
|
+
Two consequences drive this helper.
|
|
14
|
+
|
|
15
|
+
Detection requires the binary, not the shim. The installer writes the shim
|
|
16
|
+
and launcher first and downloads the agent last, so a run that fails in
|
|
17
|
+
between leaves a shim with nothing behind it. Reporting that as installed
|
|
18
|
+
would skip the reinstall that repairs it.
|
|
19
|
+
|
|
20
|
+
The version is read from .muse-version and `muse` is never executed. The
|
|
21
|
+
launcher forwards every argument straight to the agent binary, so a flag
|
|
22
|
+
that binary does not recognise opens the interactive TUI instead of
|
|
23
|
+
failing -- which in packaged setup, with no console a prompt can reach, is
|
|
24
|
+
an unbounded hang rather than an error.
|
|
15
25
|
#>
|
|
16
26
|
param(
|
|
17
27
|
[switch]$CheckOnly,
|
|
@@ -55,89 +65,167 @@ function Write-StructuredResult {
|
|
|
55
65
|
exit $ExitCode
|
|
56
66
|
}
|
|
57
67
|
|
|
58
|
-
function Resolve-
|
|
59
|
-
|
|
68
|
+
function Resolve-MuseInstallDir {
|
|
69
|
+
if (-not [string]::IsNullOrWhiteSpace($env:MUSE_INSTALL_DIR)) {
|
|
70
|
+
return $env:MUSE_INSTALL_DIR
|
|
71
|
+
}
|
|
72
|
+
return Join-Path $env:LOCALAPPDATA 'Programs\muse'
|
|
73
|
+
}
|
|
74
|
+
|
|
75
|
+
function Resolve-MuseShimPath {
|
|
76
|
+
return Join-Path (Resolve-MuseInstallDir) 'muse.cmd'
|
|
77
|
+
}
|
|
78
|
+
|
|
79
|
+
function Resolve-MuseLauncherPath {
|
|
80
|
+
return Join-Path (Resolve-MuseInstallDir) '.muse-launcher.ps1'
|
|
81
|
+
}
|
|
82
|
+
|
|
83
|
+
function Resolve-MuseVersionFilePath {
|
|
84
|
+
return Join-Path (Resolve-MuseInstallDir) '.muse-version'
|
|
85
|
+
}
|
|
86
|
+
|
|
87
|
+
function Get-MuseRecordedVersion {
|
|
88
|
+
$versionFile = Resolve-MuseVersionFilePath
|
|
89
|
+
if (-not (Test-Path -LiteralPath $versionFile -PathType Leaf)) { return '' }
|
|
90
|
+
try {
|
|
91
|
+
$version = (Get-Content -LiteralPath $versionFile -Raw -ErrorAction Stop).Trim()
|
|
92
|
+
if ([string]::IsNullOrWhiteSpace($version)) { return '' }
|
|
93
|
+
return $version
|
|
94
|
+
} catch {
|
|
95
|
+
return ''
|
|
96
|
+
}
|
|
60
97
|
}
|
|
61
98
|
|
|
62
|
-
function
|
|
63
|
-
|
|
99
|
+
function Get-MuseAgentBinaryPath {
|
|
100
|
+
$version = Get-MuseRecordedVersion
|
|
101
|
+
if ([string]::IsNullOrWhiteSpace($version)) { return '' }
|
|
102
|
+
return Join-Path (Resolve-MuseInstallDir) "muse-bin-$version.exe"
|
|
64
103
|
}
|
|
65
104
|
|
|
66
|
-
|
|
105
|
+
# Everything the launcher owns in the install directory, so uninstall does not
|
|
106
|
+
# leave gigabytes of downloaded agent builds behind after removing the shim.
|
|
107
|
+
function Get-MuseOwnedPaths {
|
|
108
|
+
$installDir = Resolve-MuseInstallDir
|
|
109
|
+
$paths = [System.Collections.Generic.List[string]]::new()
|
|
110
|
+
$paths.Add((Resolve-MuseLauncherPath)) | Out-Null
|
|
111
|
+
if (-not (Test-Path -LiteralPath $installDir -PathType Container)) {
|
|
112
|
+
return $paths.ToArray()
|
|
113
|
+
}
|
|
114
|
+
foreach ($pattern in @('muse-bin-*.exe', '.muse-*')) {
|
|
115
|
+
foreach ($item in Get-ChildItem -LiteralPath $installDir -Filter $pattern -Force -ErrorAction SilentlyContinue) {
|
|
116
|
+
if (-not $paths.Contains($item.FullName)) {
|
|
117
|
+
$paths.Add($item.FullName) | Out-Null
|
|
118
|
+
}
|
|
119
|
+
}
|
|
120
|
+
}
|
|
121
|
+
return $paths.ToArray()
|
|
122
|
+
}
|
|
123
|
+
|
|
124
|
+
function Update-UserPathEnvironment {
|
|
67
125
|
$env:Path = [System.Environment]::GetEnvironmentVariable('Path', 'User') + ';' +
|
|
68
126
|
[System.Environment]::GetEnvironmentVariable('Path', 'Machine')
|
|
69
127
|
}
|
|
70
128
|
|
|
71
|
-
function
|
|
72
|
-
$
|
|
129
|
+
function Get-MuseInstallState {
|
|
130
|
+
$shimPath = Resolve-MuseShimPath
|
|
73
131
|
|
|
74
132
|
if ($InstallState -eq 'installed') {
|
|
75
133
|
return [pscustomobject]@{
|
|
76
134
|
installed = $true
|
|
77
|
-
commandPath = $
|
|
135
|
+
commandPath = $shimPath
|
|
78
136
|
detectedVersion = $DetectedVersion
|
|
137
|
+
partial = $false
|
|
79
138
|
}
|
|
80
139
|
}
|
|
81
140
|
if ($InstallState -eq 'missing') {
|
|
82
141
|
return [pscustomobject]@{
|
|
83
142
|
installed = $false
|
|
84
|
-
commandPath = $
|
|
143
|
+
commandPath = $shimPath
|
|
85
144
|
detectedVersion = $DetectedVersion
|
|
145
|
+
partial = $false
|
|
86
146
|
}
|
|
87
147
|
}
|
|
88
148
|
|
|
89
|
-
|
|
90
|
-
$
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
149
|
+
Update-UserPathEnvironment
|
|
150
|
+
$version = if ([string]::IsNullOrWhiteSpace($DetectedVersion)) {
|
|
151
|
+
Get-MuseRecordedVersion
|
|
152
|
+
} else {
|
|
153
|
+
$DetectedVersion
|
|
154
|
+
}
|
|
155
|
+
|
|
156
|
+
$shimPresent = Test-Path -LiteralPath $shimPath -PathType Leaf
|
|
157
|
+
$agentBinary = Get-MuseAgentBinaryPath
|
|
158
|
+
$agentPresent = (-not [string]::IsNullOrWhiteSpace($agentBinary)) -and
|
|
159
|
+
(Test-Path -LiteralPath $agentBinary -PathType Leaf)
|
|
160
|
+
|
|
161
|
+
if ($shimPresent -and $agentPresent) {
|
|
162
|
+
return [pscustomobject]@{
|
|
163
|
+
installed = $true
|
|
164
|
+
commandPath = $shimPath
|
|
165
|
+
detectedVersion = $version
|
|
166
|
+
partial = $false
|
|
167
|
+
}
|
|
168
|
+
}
|
|
169
|
+
|
|
170
|
+
if ($shimPresent) {
|
|
171
|
+
# Shim without an agent build: the last install died partway through.
|
|
172
|
+
return [pscustomobject]@{
|
|
173
|
+
installed = $false
|
|
174
|
+
commandPath = $shimPath
|
|
175
|
+
detectedVersion = $version
|
|
176
|
+
partial = $true
|
|
177
|
+
}
|
|
178
|
+
}
|
|
179
|
+
|
|
180
|
+
# Nothing in the expected directory, but the operator may have muse elsewhere.
|
|
181
|
+
$command = Get-Command muse -ErrorAction SilentlyContinue
|
|
182
|
+
if ($null -ne $command) {
|
|
183
|
+
return [pscustomobject]@{
|
|
184
|
+
installed = $true
|
|
185
|
+
commandPath = $command.Source
|
|
186
|
+
detectedVersion = $version
|
|
187
|
+
partial = $false
|
|
104
188
|
}
|
|
105
189
|
}
|
|
106
190
|
|
|
107
191
|
return [pscustomobject]@{
|
|
108
|
-
installed = $
|
|
109
|
-
commandPath = $
|
|
192
|
+
installed = $false
|
|
193
|
+
commandPath = $shimPath
|
|
110
194
|
detectedVersion = $version
|
|
195
|
+
partial = $false
|
|
111
196
|
}
|
|
112
197
|
}
|
|
113
198
|
|
|
114
|
-
function Add-
|
|
115
|
-
$installDir = Resolve-
|
|
199
|
+
function Add-MuseToUserPath {
|
|
200
|
+
$installDir = Resolve-MuseInstallDir
|
|
116
201
|
$userPath = [System.Environment]::GetEnvironmentVariable('Path', 'User')
|
|
117
202
|
if ([string]::IsNullOrWhiteSpace($userPath)) {
|
|
118
203
|
[System.Environment]::SetEnvironmentVariable('Path', $installDir, 'User')
|
|
119
204
|
} elseif ($userPath -notlike "*$installDir*") {
|
|
120
205
|
[System.Environment]::SetEnvironmentVariable('Path', "$installDir;$userPath", 'User')
|
|
121
206
|
}
|
|
122
|
-
|
|
207
|
+
Update-UserPathEnvironment
|
|
123
208
|
}
|
|
124
209
|
|
|
125
|
-
function Invoke-
|
|
210
|
+
function Invoke-MuseInstaller {
|
|
126
211
|
if ($SkipInstaller) {
|
|
127
212
|
return [pscustomobject]@{ skipped = $true; success = $true; exitCode = 0; stderr = '' }
|
|
128
213
|
}
|
|
129
214
|
|
|
130
215
|
$tempScript = [System.IO.Path]::Combine(
|
|
131
216
|
[System.IO.Path]::GetTempPath(),
|
|
132
|
-
"cats-
|
|
217
|
+
"cats-muse-install-$([System.Guid]::NewGuid().ToString('N')).ps1"
|
|
133
218
|
)
|
|
134
219
|
$stdoutPath = "$tempScript.stdout"
|
|
135
220
|
$stderrPath = "$tempScript.stderr"
|
|
221
|
+
# The official install.ps1 opens with Set-StrictMode -Version Latest and calls
|
|
222
|
+
# exit 1 on failure, so it runs in its own process rather than taking this
|
|
223
|
+
# script down with it.
|
|
136
224
|
$bootstrap = @'
|
|
137
225
|
& {
|
|
138
226
|
$previousErrorActionPreference = $ErrorActionPreference
|
|
139
227
|
try {
|
|
140
|
-
Invoke-RestMethod 'https://
|
|
228
|
+
Invoke-RestMethod 'https://dev.meta.ai/install.ps1' | Invoke-Expression
|
|
141
229
|
} finally {
|
|
142
230
|
$ErrorActionPreference = $previousErrorActionPreference
|
|
143
231
|
}
|
|
@@ -150,11 +238,10 @@ function Invoke-AiderInstaller {
|
|
|
150
238
|
$bootstrap,
|
|
151
239
|
[System.Text.UTF8Encoding]::new($false)
|
|
152
240
|
)
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
}
|
|
241
|
+
# The muse launcher runs under Windows PowerShell 5.1. A PSModulePath
|
|
242
|
+
# inherited from PowerShell 7 breaks its download step and leaves a shim
|
|
243
|
+
# with no agent build, so the installer is run under 5.1 as well.
|
|
244
|
+
$powerShellExe = 'powershell.exe'
|
|
158
245
|
$process = Start-Process -FilePath $powerShellExe `
|
|
159
246
|
-ArgumentList @('-NoProfile', '-ExecutionPolicy', 'Bypass', '-File', $tempScript) `
|
|
160
247
|
-Wait -PassThru -NoNewWindow `
|
|
@@ -175,7 +262,7 @@ function Invoke-AiderInstaller {
|
|
|
175
262
|
skipped = $false
|
|
176
263
|
success = $false
|
|
177
264
|
exitCode = -1
|
|
178
|
-
stderr = "Failed to invoke
|
|
265
|
+
stderr = "Failed to invoke Meta Muse installer: $($_.Exception.Message)"
|
|
179
266
|
}
|
|
180
267
|
} finally {
|
|
181
268
|
foreach ($path in @($tempScript, $stdoutPath, $stderrPath)) {
|
|
@@ -192,13 +279,13 @@ if (-not $CheckOnly -and -not $Apply -and -not $Upgrade -and -not $Force -and -n
|
|
|
192
279
|
|
|
193
280
|
$mutationCount = @($Apply, $Upgrade, $Force | Where-Object { $_ }).Count
|
|
194
281
|
if ($Uninstall -and ($CheckOnly -or $mutationCount -gt 0)) {
|
|
195
|
-
throw 'Install-
|
|
282
|
+
throw 'Install-MetaCli.ps1 -Uninstall is mutually exclusive with other modes.'
|
|
196
283
|
}
|
|
197
284
|
if ($CheckOnly -and $mutationCount -gt 0) {
|
|
198
|
-
throw 'Install-
|
|
285
|
+
throw 'Install-MetaCli.ps1 accepts either -CheckOnly or one mutation mode.'
|
|
199
286
|
}
|
|
200
287
|
if ($mutationCount -gt 1) {
|
|
201
|
-
throw 'Install-
|
|
288
|
+
throw 'Install-MetaCli.ps1 accepts at most one of -Apply / -Upgrade / -Force.'
|
|
202
289
|
}
|
|
203
290
|
|
|
204
291
|
$executionMode = if ($Uninstall) {
|
|
@@ -214,24 +301,11 @@ $executionMode = if ($Uninstall) {
|
|
|
214
301
|
}
|
|
215
302
|
|
|
216
303
|
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
304
|
Invoke-PackagedProviderUninstall `
|
|
231
|
-
-HelperId 'windows-
|
|
232
|
-
-UserBinaryPath (Resolve-
|
|
233
|
-
-ExtraUserOwnedPaths
|
|
234
|
-
-RedetectCommand {
|
|
305
|
+
-HelperId 'windows-muse-native-installer' `
|
|
306
|
+
-UserBinaryPath (Resolve-MuseShimPath) `
|
|
307
|
+
-ExtraUserOwnedPaths (Get-MuseOwnedPaths) `
|
|
308
|
+
-RedetectCommand { Get-MuseInstallState } `
|
|
235
309
|
-EmitJson:$Json `
|
|
236
310
|
-DryRun:$DryRun
|
|
237
311
|
}
|
|
@@ -240,38 +314,42 @@ $isAdmin = ([Security.Principal.WindowsPrincipal][Security.Principal.WindowsIden
|
|
|
240
314
|
IsInRole([Security.Principal.WindowsBuiltInRole]::Administrator)
|
|
241
315
|
if ($isAdmin -and -not $AllowAdmin) {
|
|
242
316
|
Write-StructuredResult -Result ([pscustomobject]@{
|
|
243
|
-
helper = 'windows-
|
|
317
|
+
helper = 'windows-muse-native-installer'
|
|
244
318
|
mode = $executionMode
|
|
245
319
|
status = 'failed'
|
|
246
320
|
installed = $false
|
|
247
321
|
detectedVersion = $null
|
|
248
|
-
commandPath = Resolve-
|
|
322
|
+
commandPath = Resolve-MuseShimPath
|
|
249
323
|
restartRequired = $false
|
|
250
324
|
plannedActions = @()
|
|
251
|
-
warnings = @('Refusing to run under an elevated shell without -AllowAdmin because
|
|
325
|
+
warnings = @('Refusing to run under an elevated shell without -AllowAdmin because Meta Muse CLI is intended for user-scoped installation.')
|
|
252
326
|
appliedChanges = @()
|
|
253
327
|
manualSteps = @()
|
|
254
328
|
interruptions = @()
|
|
255
329
|
}) -ExitCode 1
|
|
256
330
|
}
|
|
257
331
|
|
|
258
|
-
$detected =
|
|
332
|
+
$detected = Get-MuseInstallState
|
|
259
333
|
$plannedActions = [System.Collections.Generic.List[string]]::new()
|
|
260
334
|
$appliedChanges = [System.Collections.Generic.List[string]]::new()
|
|
261
335
|
$warnings = [System.Collections.Generic.List[string]]::new()
|
|
262
336
|
$manualSteps = [System.Collections.Generic.List[string]]::new()
|
|
263
337
|
|
|
338
|
+
if ($detected.partial) {
|
|
339
|
+
$warnings.Add('Found muse.cmd with no matching muse-bin-<version>.exe; the previous install did not finish and will be repaired.') | Out-Null
|
|
340
|
+
}
|
|
341
|
+
|
|
264
342
|
if ($Force) {
|
|
265
|
-
$plannedActions.Add('
|
|
343
|
+
$plannedActions.Add('reinstall_muse_native') | Out-Null
|
|
266
344
|
} elseif ($Upgrade -and $detected.installed) {
|
|
267
|
-
$plannedActions.Add('
|
|
345
|
+
$plannedActions.Add('upgrade_muse_native') | Out-Null
|
|
268
346
|
} elseif (-not $detected.installed) {
|
|
269
|
-
$plannedActions.Add('
|
|
347
|
+
$plannedActions.Add('install_muse_native') | Out-Null
|
|
270
348
|
}
|
|
271
349
|
|
|
272
350
|
if ($CheckOnly) {
|
|
273
351
|
Write-StructuredResult -Result ([pscustomobject]@{
|
|
274
|
-
helper = 'windows-
|
|
352
|
+
helper = 'windows-muse-native-installer'
|
|
275
353
|
mode = 'check'
|
|
276
354
|
status = if ($detected.installed) { 'ready' } else { 'not_installed' }
|
|
277
355
|
installed = [bool]$detected.installed
|
|
@@ -279,7 +357,7 @@ if ($CheckOnly) {
|
|
|
279
357
|
commandPath = $detected.commandPath
|
|
280
358
|
restartRequired = $false
|
|
281
359
|
plannedActions = $plannedActions.ToArray()
|
|
282
|
-
warnings =
|
|
360
|
+
warnings = $warnings.ToArray()
|
|
283
361
|
appliedChanges = @()
|
|
284
362
|
manualSteps = @()
|
|
285
363
|
interruptions = @()
|
|
@@ -291,14 +369,15 @@ $installFailed = $false
|
|
|
291
369
|
$installSkipped = $false
|
|
292
370
|
if ($shouldInstall) {
|
|
293
371
|
if ($DryRun) {
|
|
294
|
-
$warnings.Add('Dry-run requested;
|
|
372
|
+
$warnings.Add('Dry-run requested; Meta Muse installer invocation was skipped.') | Out-Null
|
|
295
373
|
$installSkipped = $true
|
|
296
374
|
} else {
|
|
297
|
-
$
|
|
375
|
+
$previousVersion = $detected.detectedVersion
|
|
376
|
+
$installResult = Invoke-MuseInstaller
|
|
298
377
|
$installSkipped = [bool]$installResult.skipped
|
|
299
378
|
$installFailed = (-not $installSkipped) -and (-not $installResult.success)
|
|
300
379
|
if ($installSkipped) {
|
|
301
|
-
$warnings.Add('Installer invocation was skipped by request.')
|
|
380
|
+
$warnings.Add('Installer invocation was skipped by request.') | Out-Null
|
|
302
381
|
} elseif ($installFailed) {
|
|
303
382
|
$stderrSnippet = if ([string]::IsNullOrWhiteSpace($installResult.stderr)) {
|
|
304
383
|
'no stderr captured'
|
|
@@ -307,39 +386,48 @@ if ($shouldInstall) {
|
|
|
307
386
|
Where-Object { -not [string]::IsNullOrWhiteSpace($_) } |
|
|
308
387
|
Select-Object -Last 8) -join ' | '
|
|
309
388
|
}
|
|
310
|
-
$warnings.Add("
|
|
389
|
+
$warnings.Add("Meta Muse installer exited $($installResult.exitCode): $stderrSnippet") | Out-Null
|
|
311
390
|
}
|
|
312
391
|
|
|
313
|
-
Start-Sleep -Seconds
|
|
314
|
-
Add-
|
|
315
|
-
$detected =
|
|
392
|
+
Start-Sleep -Seconds 3
|
|
393
|
+
Add-MuseToUserPath
|
|
394
|
+
$detected = Get-MuseInstallState
|
|
316
395
|
if (-not $detected.installed -and -not $installSkipped -and -not $installFailed) {
|
|
317
|
-
$
|
|
396
|
+
if ($detected.partial) {
|
|
397
|
+
$warnings.Add('Meta Muse installation wrote muse.cmd but the launcher did not fetch muse-bin-<version>.exe.') | Out-Null
|
|
398
|
+
} else {
|
|
399
|
+
$warnings.Add('Meta Muse installation completed but muse.cmd was not found at the expected path.') | Out-Null
|
|
400
|
+
}
|
|
318
401
|
$installFailed = $true
|
|
402
|
+
} elseif (
|
|
403
|
+
$Upgrade -and $detected.installed -and $previousVersion -and
|
|
404
|
+
$detected.detectedVersion -eq $previousVersion
|
|
405
|
+
) {
|
|
406
|
+
$warnings.Add("Meta Muse CLI is already on the latest build: $($detected.detectedVersion).") | Out-Null
|
|
319
407
|
}
|
|
320
408
|
}
|
|
321
409
|
|
|
322
410
|
if (-not $installFailed -and -not ($DryRun -and $shouldInstall)) {
|
|
323
411
|
if ($Force) {
|
|
324
|
-
$appliedChanges.Add('
|
|
412
|
+
$appliedChanges.Add('reinstall_muse_native') | Out-Null
|
|
325
413
|
} elseif ($Upgrade) {
|
|
326
|
-
$appliedChanges.Add('
|
|
414
|
+
$appliedChanges.Add('upgrade_muse_native') | Out-Null
|
|
327
415
|
} else {
|
|
328
|
-
$appliedChanges.Add('
|
|
416
|
+
$appliedChanges.Add('install_muse_native') | Out-Null
|
|
329
417
|
}
|
|
330
418
|
}
|
|
331
419
|
}
|
|
332
420
|
|
|
333
|
-
$manualSteps.Add('Run `
|
|
421
|
+
$manualSteps.Add('Run `muse login` once to sign in to a Meta account; the credential is stored in ~/.config/muse/auth.json.') | Out-Null
|
|
334
422
|
$interruptions = [System.Collections.Generic.List[object]]::new()
|
|
335
423
|
if ($shouldInstall -and -not $installFailed -and -not $DryRun) {
|
|
336
424
|
$interruptions.Add([pscustomobject]@{
|
|
337
425
|
kind = 'relaunch_required'
|
|
338
|
-
summary = 'Relaunch Cats Desktop Host after the
|
|
426
|
+
summary = 'Relaunch Cats Desktop Host after the Meta Muse install step, then rerun the packaged setup check.'
|
|
339
427
|
resumable = $true
|
|
340
428
|
requiresRestart = $false
|
|
341
429
|
requiresElevation = $false
|
|
342
|
-
})
|
|
430
|
+
}) | Out-Null
|
|
343
431
|
}
|
|
344
432
|
|
|
345
433
|
$status = if ($installFailed) {
|
|
@@ -353,7 +441,7 @@ $status = if ($installFailed) {
|
|
|
353
441
|
}
|
|
354
442
|
|
|
355
443
|
Write-StructuredResult -Result ([pscustomobject]@{
|
|
356
|
-
helper = 'windows-
|
|
444
|
+
helper = 'windows-muse-native-installer'
|
|
357
445
|
mode = $executionMode
|
|
358
446
|
status = $status
|
|
359
447
|
installed = [bool]$detected.installed
|
|
@@ -146,7 +146,10 @@ function Detect-OllamaInstall {
|
|
|
146
146
|
|
|
147
147
|
if ($installed -and [string]::IsNullOrWhiteSpace($version) -and $versionProbePath) {
|
|
148
148
|
try {
|
|
149
|
-
|
|
149
|
+
# Detection must not launch a provider, including during login setup audits.
|
|
150
|
+
$versionInfo = [System.Diagnostics.FileVersionInfo]::GetVersionInfo($versionProbePath)
|
|
151
|
+
$version = $versionInfo.ProductVersion
|
|
152
|
+
if ([string]::IsNullOrWhiteSpace($version)) { $version = $versionInfo.FileVersion }
|
|
150
153
|
} catch {
|
|
151
154
|
$version = ''
|
|
152
155
|
}
|
|
@@ -3,7 +3,8 @@
|
|
|
3
3
|
Syncs skills from the canonical skills/ directory to each agent's discovery path.
|
|
4
4
|
|
|
5
5
|
.DESCRIPTION
|
|
6
|
-
|
|
6
|
+
Recursively discovers skill packages in the project's skills/ directory and copies them to
|
|
7
|
+
the agent-specific
|
|
7
8
|
discovery paths (.claude/skills/, .agents/skills/), including any supporting files
|
|
8
9
|
under each skill (e.g., scripts/, references/, assets/).
|
|
9
10
|
|
|
@@ -62,8 +63,8 @@ if (-not (Test-Path $SkillsDir)) {
|
|
|
62
63
|
|
|
63
64
|
# Define agent discovery paths
|
|
64
65
|
$AgentPaths = @{
|
|
65
|
-
"claude" = Join-Path $ProjectRoot ".claude" "skills"
|
|
66
|
-
"codex" = Join-Path $ProjectRoot ".agents" "skills"
|
|
66
|
+
"claude" = Join-Path (Join-Path $ProjectRoot ".claude") "skills"
|
|
67
|
+
"codex" = Join-Path (Join-Path $ProjectRoot ".agents") "skills"
|
|
67
68
|
}
|
|
68
69
|
|
|
69
70
|
# Filter to specific agent if requested
|
|
@@ -74,9 +75,31 @@ else {
|
|
|
74
75
|
$TargetAgents = $AgentPaths
|
|
75
76
|
}
|
|
76
77
|
|
|
77
|
-
#
|
|
78
|
-
|
|
79
|
-
|
|
78
|
+
# Stop at package roots: a resource named SKILL.md is not another package.
|
|
79
|
+
function Find-SkillPackages {
|
|
80
|
+
param([string]$Directory)
|
|
81
|
+
foreach ($Entry in Get-ChildItem -LiteralPath $Directory -Directory) {
|
|
82
|
+
if ($Entry.Name.EndsWith('.bootstrap', [StringComparison]::OrdinalIgnoreCase)) { continue }
|
|
83
|
+
if ($Entry.Attributes -band [System.IO.FileAttributes]::ReparsePoint) {
|
|
84
|
+
throw "Linked skill directories are not supported: $($Entry.FullName)"
|
|
85
|
+
}
|
|
86
|
+
if (Test-Path -LiteralPath (Join-Path $Entry.FullName 'SKILL.md') -PathType Leaf) {
|
|
87
|
+
$Entry
|
|
88
|
+
}
|
|
89
|
+
else {
|
|
90
|
+
Find-SkillPackages -Directory $Entry.FullName
|
|
91
|
+
}
|
|
92
|
+
}
|
|
93
|
+
}
|
|
94
|
+
|
|
95
|
+
$SkillDirs = @(Find-SkillPackages -Directory $SkillsDir)
|
|
96
|
+
# Flattening family directories must never silently overwrite a same-named package.
|
|
97
|
+
$SkillNames = @{}
|
|
98
|
+
foreach ($Skill in $SkillDirs) {
|
|
99
|
+
if ($SkillNames.ContainsKey($Skill.Name)) {
|
|
100
|
+
throw "Duplicate skill '$($Skill.Name)': $($SkillNames[$Skill.Name]) and $($Skill.FullName)"
|
|
101
|
+
}
|
|
102
|
+
$SkillNames[$Skill.Name] = $Skill.FullName
|
|
80
103
|
}
|
|
81
104
|
|
|
82
105
|
if ($SkillDirs.Count -eq 0) {
|
|
@@ -181,10 +181,11 @@ $requiredFiles = @(
|
|
|
181
181
|
@{ Path = (Join-Path $resourcesRoot 'app-sidecar\package.json'); Label = 'bundled cats app package manifest' },
|
|
182
182
|
@{ Path = (Join-Path $resourcesRoot 'app-sidecar\node_modules\js-yaml\package.json'); Label = 'bundled cats app js-yaml dependency marker' },
|
|
183
183
|
@{ Path = (Join-Path $resourcesRoot 'app-sidecar\node_modules\argparse\package.json'); Label = 'bundled cats app argparse dependency marker' },
|
|
184
|
+
@{ Path = (Join-Path $resourcesRoot 'app-sidecar\config\provider-capability-bootstrap.yaml.example'); Label = 'bundled cats capability bootstrap example' },
|
|
184
185
|
@{ Path = (Join-Path $resourcesRoot 'cats-runtime\build\runtime\index.js'); Label = 'bundled cats-runtime entry' },
|
|
185
186
|
@{ Path = (Join-Path $resourcesRoot 'cats-runtime\package.json'); Label = 'bundled cats-runtime package manifest' },
|
|
186
187
|
@{ Path = (Join-Path $resourcesRoot 'cats-runtime\public\provider-setup.html'); Label = 'bundled cats-runtime setup UI' },
|
|
187
|
-
@{ Path = (Join-Path $resourcesRoot 'cats-runtime\skills\README.md'); Label = 'bundled cats-runtime skills catalog root' },
|
|
188
|
+
@{ Path = (Join-Path $resourcesRoot 'cats-runtime\runtime-skills\README.md'); Label = 'bundled cats-runtime skills catalog root' },
|
|
188
189
|
@{ Path = (Join-Path $resourcesRoot 'cats-runtime\config\management.yaml.example'); Label = 'bundled cats-runtime management config example' },
|
|
189
190
|
@{ Path = (Join-Path $resourcesRoot 'cats-runtime\config\providers.yaml.example'); Label = 'bundled cats-runtime provider config example' },
|
|
190
191
|
@{ Path = (Join-Path $resourcesRoot 'cats-runtime\config\curated-model-catalogs.yaml.example'); Label = 'bundled cats-runtime curated model catalog example' },
|
|
@@ -1,64 +0,0 @@
|
|
|
1
|
-
import type { DesktopUpdateErrorCode, DesktopUpdateSnapshot } from './contracts.js';
|
|
2
|
-
import { type DesktopTrayLocale } from './trayMenu.js';
|
|
3
|
-
/**
|
|
4
|
-
* Native update notifications.
|
|
5
|
-
*
|
|
6
|
-
* SPEC-111 section 5 requires a check started outside Settings to report its
|
|
7
|
-
* result somewhere the user is actually looking. This module owns that policy;
|
|
8
|
-
* `main.ts` only constructs the native notification the policy asks for, so the
|
|
9
|
-
* rules stay testable without Electron.
|
|
10
|
-
*/
|
|
11
|
-
/** Where the check that produced the result came from. */
|
|
12
|
-
export declare const DESKTOP_UPDATE_NOTIFICATION_ORIGINS: readonly ["tray", "settings", "startup"];
|
|
13
|
-
export type DesktopUpdateNotificationOrigin = typeof DESKTOP_UPDATE_NOTIFICATION_ORIGINS[number];
|
|
14
|
-
export declare const DESKTOP_UPDATE_SETTINGS_PATH = "/settings/desktop";
|
|
15
|
-
export interface DesktopUpdateNotification {
|
|
16
|
-
title: string;
|
|
17
|
-
body: string;
|
|
18
|
-
/** Where activating the notification shall land the user. */
|
|
19
|
-
navigatePath: typeof DESKTOP_UPDATE_SETTINGS_PATH;
|
|
20
|
-
}
|
|
21
|
-
export interface DesktopUpdateAnnouncement {
|
|
22
|
-
notification: DesktopUpdateNotification | null;
|
|
23
|
-
/**
|
|
24
|
-
* Where to open the main window when no notification reaches the user —
|
|
25
|
-
* either because the platform has none or because showing it failed.
|
|
26
|
-
*
|
|
27
|
-
* Null when the result does not justify pulling a window forward. Set
|
|
28
|
-
* independently of `notification` so the caller never has to re-derive the
|
|
29
|
-
* policy after a failed `show()`.
|
|
30
|
-
*/
|
|
31
|
-
fallbackNavigatePath: typeof DESKTOP_UPDATE_SETTINGS_PATH | null;
|
|
32
|
-
}
|
|
33
|
-
/**
|
|
34
|
-
* Error copy for notifications, in the same two locales the tray uses.
|
|
35
|
-
*
|
|
36
|
-
* These strings are duplicated from the renderer i18n catalogs because the
|
|
37
|
-
* main process has no translator. `settings-desktop-update-labels.test.tsx`
|
|
38
|
-
* asserts they stay identical to the catalog entries, so the duplication cannot
|
|
39
|
-
* drift silently.
|
|
40
|
-
*/
|
|
41
|
-
export declare const DESKTOP_UPDATE_NOTIFICATION_ERROR_COPY: Record<DesktopTrayLocale, Record<DesktopUpdateErrorCode, string>>;
|
|
42
|
-
export interface ResolveDesktopUpdateAnnouncementInput {
|
|
43
|
-
origin: DesktopUpdateNotificationOrigin;
|
|
44
|
-
snapshot: DesktopUpdateSnapshot;
|
|
45
|
-
locale?: string | null;
|
|
46
|
-
/** `Notification.isSupported()`, resolved by the caller. */
|
|
47
|
-
notificationsSupported: boolean;
|
|
48
|
-
}
|
|
49
|
-
/**
|
|
50
|
-
* Decides what a finished check should tell the user, and how.
|
|
51
|
-
*
|
|
52
|
-
* A result is announced only when the user cannot already see it:
|
|
53
|
-
*
|
|
54
|
-
* - `settings` never announces. The section shows the state directly and
|
|
55
|
-
* routes manual results through the shared toast system, so a native
|
|
56
|
-
* notification would report the same check twice.
|
|
57
|
-
* - `tray` announces up-to-date, available, and failed. The menu closes on
|
|
58
|
-
* click, so without this the command looks like it did nothing.
|
|
59
|
-
* - `startup` announces only an available update. The user did not ask for
|
|
60
|
-
* that check, so an up-to-date or offline result has nothing to say and
|
|
61
|
-
* would nag on every launch.
|
|
62
|
-
*/
|
|
63
|
-
export declare function resolveDesktopUpdateAnnouncement(input: ResolveDesktopUpdateAnnouncementInput): DesktopUpdateAnnouncement;
|
|
64
|
-
//# sourceMappingURL=updateNotifications.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"updateNotifications.d.ts","sourceRoot":"","sources":["../../desktop/host/updateNotifications.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,sBAAsB,EACtB,qBAAqB,EACtB,MAAM,gBAAgB,CAAC;AAIxB,OAAO,EAEL,KAAK,iBAAiB,EACvB,MAAM,eAAe,CAAC;AAEvB;;;;;;;GAOG;AAEH,0DAA0D;AAC1D,eAAO,MAAM,mCAAmC,0CAA2C,CAAC;AAC5F,MAAM,MAAM,+BAA+B,GACzC,OAAO,mCAAmC,CAAC,MAAM,CAAC,CAAC;AAErD,eAAO,MAAM,4BAA4B,sBAAsB,CAAC;AAEhE,MAAM,WAAW,yBAAyB;IACxC,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,6DAA6D;IAC7D,YAAY,EAAE,OAAO,4BAA4B,CAAC;CACnD;AAED,MAAM,WAAW,yBAAyB;IACxC,YAAY,EAAE,yBAAyB,GAAG,IAAI,CAAC;IAC/C;;;;;;;OAOG;IACH,oBAAoB,EAAE,OAAO,4BAA4B,GAAG,IAAI,CAAC;CAClE;AAED;;;;;;;GAOG;AACH,eAAO,MAAM,sCAAsC,EAAE,MAAM,CACzD,iBAAiB,EACjB,MAAM,CAAC,sBAAsB,EAAE,MAAM,CAAC,CA0BvC,CAAC;AAmCF,MAAM,WAAW,qCAAqC;IACpD,MAAM,EAAE,+BAA+B,CAAC;IACxC,QAAQ,EAAE,qBAAqB,CAAC;IAChC,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,4DAA4D;IAC5D,sBAAsB,EAAE,OAAO,CAAC;CACjC;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,gCAAgC,CAC9C,KAAK,EAAE,qCAAqC,GAC3C,yBAAyB,CA2B3B"}
|