@happier-dev/stack 0.2.12 → 0.2.13
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/README.md +2 -2
- package/node_modules/@happier-dev/agents/dist/acp.d.ts +14 -1
- package/node_modules/@happier-dev/agents/dist/acp.d.ts.map +1 -1
- package/node_modules/@happier-dev/agents/dist/acp.js +88 -0
- package/node_modules/@happier-dev/agents/dist/acp.js.map +1 -1
- package/node_modules/@happier-dev/agents/dist/auth.d.ts +1 -1
- package/node_modules/@happier-dev/agents/dist/auth.d.ts.map +1 -1
- package/node_modules/@happier-dev/agents/dist/auth.js +33 -0
- package/node_modules/@happier-dev/agents/dist/auth.js.map +1 -1
- package/node_modules/@happier-dev/agents/dist/index.d.ts +7 -7
- package/node_modules/@happier-dev/agents/dist/index.d.ts.map +1 -1
- package/node_modules/@happier-dev/agents/dist/index.js +7 -7
- package/node_modules/@happier-dev/agents/dist/index.js.map +1 -1
- package/node_modules/@happier-dev/agents/dist/localCli.d.ts +8 -2
- package/node_modules/@happier-dev/agents/dist/localCli.d.ts.map +1 -1
- package/node_modules/@happier-dev/agents/dist/localCli.js +38 -8
- package/node_modules/@happier-dev/agents/dist/localCli.js.map +1 -1
- package/node_modules/@happier-dev/agents/dist/localControl.d.ts +5 -0
- package/node_modules/@happier-dev/agents/dist/localControl.d.ts.map +1 -1
- package/node_modules/@happier-dev/agents/dist/localControl.js +21 -0
- package/node_modules/@happier-dev/agents/dist/localControl.js.map +1 -1
- package/node_modules/@happier-dev/agents/dist/manifest.d.ts +213 -12
- package/node_modules/@happier-dev/agents/dist/manifest.d.ts.map +1 -1
- package/node_modules/@happier-dev/agents/dist/manifest.js +135 -14
- package/node_modules/@happier-dev/agents/dist/manifest.js.map +1 -1
- package/node_modules/@happier-dev/agents/dist/models.d.ts.map +1 -1
- package/node_modules/@happier-dev/agents/dist/models.js +64 -4
- package/node_modules/@happier-dev/agents/dist/models.js.map +1 -1
- package/node_modules/@happier-dev/agents/dist/providerSettings/definitions/claudeRemote.d.ts +15 -0
- package/node_modules/@happier-dev/agents/dist/providerSettings/definitions/claudeRemote.d.ts.map +1 -1
- package/node_modules/@happier-dev/agents/dist/providerSettings/definitions/claudeRemote.js +7 -0
- package/node_modules/@happier-dev/agents/dist/providerSettings/definitions/claudeRemote.js.map +1 -1
- package/node_modules/@happier-dev/agents/dist/providerSettings/definitions/kimi.d.ts +3 -32
- package/node_modules/@happier-dev/agents/dist/providerSettings/definitions/kimi.d.ts.map +1 -1
- package/node_modules/@happier-dev/agents/dist/providerSettings/definitions/kimi.js +2 -21
- package/node_modules/@happier-dev/agents/dist/providerSettings/definitions/kimi.js.map +1 -1
- package/node_modules/@happier-dev/agents/dist/providerSettings/definitions/opencode.d.ts +25 -0
- package/node_modules/@happier-dev/agents/dist/providerSettings/definitions/opencode.d.ts.map +1 -1
- package/node_modules/@happier-dev/agents/dist/providerSettings/definitions/opencode.js +13 -0
- package/node_modules/@happier-dev/agents/dist/providerSettings/definitions/opencode.js.map +1 -1
- package/node_modules/@happier-dev/agents/dist/providerSettings/index.d.ts +3 -4
- package/node_modules/@happier-dev/agents/dist/providerSettings/index.d.ts.map +1 -1
- package/node_modules/@happier-dev/agents/dist/providerSettings/index.js +2 -2
- package/node_modules/@happier-dev/agents/dist/providerSettings/index.js.map +1 -1
- package/node_modules/@happier-dev/agents/dist/providers/claude/contextWindow.d.ts +2 -2
- package/node_modules/@happier-dev/agents/dist/providers/claude/contextWindow.d.ts.map +1 -1
- package/node_modules/@happier-dev/agents/dist/providers/claude/contextWindow.js +6 -2
- package/node_modules/@happier-dev/agents/dist/providers/claude/contextWindow.js.map +1 -1
- package/node_modules/@happier-dev/agents/dist/providers/claude/effort.d.ts.map +1 -1
- package/node_modules/@happier-dev/agents/dist/providers/claude/effort.js +4 -0
- package/node_modules/@happier-dev/agents/dist/providers/claude/effort.js.map +1 -1
- package/node_modules/@happier-dev/agents/dist/providers/claude/flagshipModel.d.ts +1 -1
- package/node_modules/@happier-dev/agents/dist/providers/claude/flagshipModel.d.ts.map +1 -1
- package/node_modules/@happier-dev/agents/dist/providers/claude/flagshipModel.js +1 -1
- package/node_modules/@happier-dev/agents/dist/providers/claude/flagshipModel.js.map +1 -1
- package/node_modules/@happier-dev/agents/dist/providers/claude/index.d.ts +1 -0
- package/node_modules/@happier-dev/agents/dist/providers/claude/index.d.ts.map +1 -1
- package/node_modules/@happier-dev/agents/dist/providers/claude/index.js +1 -0
- package/node_modules/@happier-dev/agents/dist/providers/claude/index.js.map +1 -1
- package/node_modules/@happier-dev/agents/dist/providers/claude/internalEventTypes.d.ts +3 -0
- package/node_modules/@happier-dev/agents/dist/providers/claude/internalEventTypes.d.ts.map +1 -0
- package/node_modules/@happier-dev/agents/dist/providers/claude/internalEventTypes.js +27 -0
- package/node_modules/@happier-dev/agents/dist/providers/claude/internalEventTypes.js.map +1 -0
- package/node_modules/@happier-dev/agents/dist/providers/providerCliRuntime.d.ts +33 -0
- package/node_modules/@happier-dev/agents/dist/providers/providerCliRuntime.d.ts.map +1 -1
- package/node_modules/@happier-dev/agents/dist/providers/providerCliRuntime.js +121 -6
- package/node_modules/@happier-dev/agents/dist/providers/providerCliRuntime.js.map +1 -1
- package/node_modules/@happier-dev/agents/dist/sessionControls/existingSessionAutomationPolicy.d.ts +16 -0
- package/node_modules/@happier-dev/agents/dist/sessionControls/existingSessionAutomationPolicy.d.ts.map +1 -1
- package/node_modules/@happier-dev/agents/dist/sessionControls/existingSessionAutomationPolicy.js +34 -7
- package/node_modules/@happier-dev/agents/dist/sessionControls/existingSessionAutomationPolicy.js.map +1 -1
- package/node_modules/@happier-dev/agents/dist/sessionControls/providerSessionBackends.d.ts +5 -0
- package/node_modules/@happier-dev/agents/dist/sessionControls/providerSessionBackends.d.ts.map +1 -1
- package/node_modules/@happier-dev/agents/dist/sessionControls/providerSessionBackends.js +9 -17
- package/node_modules/@happier-dev/agents/dist/sessionControls/providerSessionBackends.js.map +1 -1
- package/node_modules/@happier-dev/agents/dist/sessionControls/vendorResumePolicy.d.ts +10 -1
- package/node_modules/@happier-dev/agents/dist/sessionControls/vendorResumePolicy.d.ts.map +1 -1
- package/node_modules/@happier-dev/agents/dist/sessionControls/vendorResumePolicy.js +30 -1
- package/node_modules/@happier-dev/agents/dist/sessionControls/vendorResumePolicy.js.map +1 -1
- package/node_modules/@happier-dev/agents/dist/sessionModes.d.ts.map +1 -1
- package/node_modules/@happier-dev/agents/dist/sessionModes.js +10 -1
- package/node_modules/@happier-dev/agents/dist/sessionModes.js.map +1 -1
- package/node_modules/@happier-dev/agents/dist/types.d.ts +7 -5
- package/node_modules/@happier-dev/agents/dist/types.d.ts.map +1 -1
- package/node_modules/@happier-dev/agents/dist/types.js +4 -4
- package/node_modules/@happier-dev/agents/dist/types.js.map +1 -1
- package/node_modules/@happier-dev/cli-common/dist/componentArtifacts/buildCliBinaryArtifactPayload.d.ts.map +1 -1
- package/node_modules/@happier-dev/cli-common/dist/componentArtifacts/buildCliBinaryArtifactPayload.js +17 -21
- package/node_modules/@happier-dev/cli-common/dist/componentArtifacts/buildCliBinaryArtifactPayload.js.map +1 -1
- package/node_modules/@happier-dev/cli-common/dist/componentArtifacts/buildCliOptionalComponentArtifactPayload.d.ts +9 -0
- package/node_modules/@happier-dev/cli-common/dist/componentArtifacts/buildCliOptionalComponentArtifactPayload.d.ts.map +1 -0
- package/node_modules/@happier-dev/cli-common/dist/componentArtifacts/buildCliOptionalComponentArtifactPayload.js +45 -0
- package/node_modules/@happier-dev/cli-common/dist/componentArtifacts/buildCliOptionalComponentArtifactPayload.js.map +1 -0
- package/node_modules/@happier-dev/cli-common/dist/componentArtifacts/buildServerBinaryArtifactPayload.d.ts.map +1 -1
- package/node_modules/@happier-dev/cli-common/dist/componentArtifacts/buildServerBinaryArtifactPayload.js +18 -5
- package/node_modules/@happier-dev/cli-common/dist/componentArtifacts/buildServerBinaryArtifactPayload.js.map +1 -1
- package/node_modules/@happier-dev/cli-common/dist/componentArtifacts/commands.d.ts +2 -1
- package/node_modules/@happier-dev/cli-common/dist/componentArtifacts/commands.d.ts.map +1 -1
- package/node_modules/@happier-dev/cli-common/dist/componentArtifacts/commands.js +7 -1
- package/node_modules/@happier-dev/cli-common/dist/componentArtifacts/commands.js.map +1 -1
- package/node_modules/@happier-dev/cli-common/dist/componentArtifacts/finalizeRuntimeArtifactPayload.d.ts +2 -1
- package/node_modules/@happier-dev/cli-common/dist/componentArtifacts/finalizeRuntimeArtifactPayload.d.ts.map +1 -1
- package/node_modules/@happier-dev/cli-common/dist/componentArtifacts/finalizeRuntimeArtifactPayload.js +348 -13
- package/node_modules/@happier-dev/cli-common/dist/componentArtifacts/finalizeRuntimeArtifactPayload.js.map +1 -1
- package/node_modules/@happier-dev/cli-common/dist/componentArtifacts/index.d.ts +1 -0
- package/node_modules/@happier-dev/cli-common/dist/componentArtifacts/index.d.ts.map +1 -1
- package/node_modules/@happier-dev/cli-common/dist/componentArtifacts/index.js +1 -0
- package/node_modules/@happier-dev/cli-common/dist/componentArtifacts/index.js.map +1 -1
- package/node_modules/@happier-dev/cli-common/dist/componentArtifacts/refreshCliBinaryArtifactRuntimeAssetBuildManifest.d.ts +3 -0
- package/node_modules/@happier-dev/cli-common/dist/componentArtifacts/refreshCliBinaryArtifactRuntimeAssetBuildManifest.d.ts.map +1 -1
- package/node_modules/@happier-dev/cli-common/dist/componentArtifacts/refreshCliBinaryArtifactRuntimeAssetBuildManifest.js +19 -0
- package/node_modules/@happier-dev/cli-common/dist/componentArtifacts/refreshCliBinaryArtifactRuntimeAssetBuildManifest.js.map +1 -1
- package/node_modules/@happier-dev/cli-common/dist/componentArtifacts/targets.d.ts +1 -0
- package/node_modules/@happier-dev/cli-common/dist/componentArtifacts/targets.d.ts.map +1 -1
- package/node_modules/@happier-dev/cli-common/dist/componentArtifacts/targets.js +14 -0
- package/node_modules/@happier-dev/cli-common/dist/componentArtifacts/targets.js.map +1 -1
- package/node_modules/@happier-dev/cli-common/dist/firstPartyRuntime/acquisitionProgress.d.ts +14 -0
- package/node_modules/@happier-dev/cli-common/dist/firstPartyRuntime/acquisitionProgress.d.ts.map +1 -0
- package/node_modules/@happier-dev/cli-common/dist/firstPartyRuntime/acquisitionProgress.js +34 -0
- package/node_modules/@happier-dev/cli-common/dist/firstPartyRuntime/acquisitionProgress.js.map +1 -0
- package/node_modules/@happier-dev/cli-common/dist/firstPartyRuntime/componentCatalog.d.ts +27 -1
- package/node_modules/@happier-dev/cli-common/dist/firstPartyRuntime/componentCatalog.d.ts.map +1 -1
- package/node_modules/@happier-dev/cli-common/dist/firstPartyRuntime/componentCatalog.js +29 -1
- package/node_modules/@happier-dev/cli-common/dist/firstPartyRuntime/componentCatalog.js.map +1 -1
- package/node_modules/@happier-dev/cli-common/dist/firstPartyRuntime/copyRuntimePayloadTree.d.ts +1 -1
- package/node_modules/@happier-dev/cli-common/dist/firstPartyRuntime/copyRuntimePayloadTree.d.ts.map +1 -1
- package/node_modules/@happier-dev/cli-common/dist/firstPartyRuntime/copyRuntimePayloadTree.js +6 -14
- package/node_modules/@happier-dev/cli-common/dist/firstPartyRuntime/copyRuntimePayloadTree.js.map +1 -1
- package/node_modules/@happier-dev/cli-common/dist/firstPartyRuntime/ensureHappierCliPathExposure.d.ts +125 -0
- package/node_modules/@happier-dev/cli-common/dist/firstPartyRuntime/ensureHappierCliPathExposure.d.ts.map +1 -0
- package/node_modules/@happier-dev/cli-common/dist/firstPartyRuntime/ensureHappierCliPathExposure.js +494 -0
- package/node_modules/@happier-dev/cli-common/dist/firstPartyRuntime/ensureHappierCliPathExposure.js.map +1 -0
- package/node_modules/@happier-dev/cli-common/dist/firstPartyRuntime/extractReleasePayloadRootFromArchive.d.ts +1 -0
- package/node_modules/@happier-dev/cli-common/dist/firstPartyRuntime/extractReleasePayloadRootFromArchive.d.ts.map +1 -1
- package/node_modules/@happier-dev/cli-common/dist/firstPartyRuntime/extractReleasePayloadRootFromArchive.js +1 -0
- package/node_modules/@happier-dev/cli-common/dist/firstPartyRuntime/extractReleasePayloadRootFromArchive.js.map +1 -1
- package/node_modules/@happier-dev/cli-common/dist/firstPartyRuntime/happierCliChoice.d.ts +27 -0
- package/node_modules/@happier-dev/cli-common/dist/firstPartyRuntime/happierCliChoice.d.ts.map +1 -0
- package/node_modules/@happier-dev/cli-common/dist/firstPartyRuntime/happierCliChoice.js +36 -0
- package/node_modules/@happier-dev/cli-common/dist/firstPartyRuntime/happierCliChoice.js.map +1 -0
- package/node_modules/@happier-dev/cli-common/dist/firstPartyRuntime/happierCliOrigin.d.ts +31 -0
- package/node_modules/@happier-dev/cli-common/dist/firstPartyRuntime/happierCliOrigin.d.ts.map +1 -0
- package/node_modules/@happier-dev/cli-common/dist/firstPartyRuntime/happierCliOrigin.js +81 -0
- package/node_modules/@happier-dev/cli-common/dist/firstPartyRuntime/happierCliOrigin.js.map +1 -0
- package/node_modules/@happier-dev/cli-common/dist/firstPartyRuntime/index.d.ts +14 -8
- package/node_modules/@happier-dev/cli-common/dist/firstPartyRuntime/index.d.ts.map +1 -1
- package/node_modules/@happier-dev/cli-common/dist/firstPartyRuntime/index.js +8 -5
- package/node_modules/@happier-dev/cli-common/dist/firstPartyRuntime/index.js.map +1 -1
- package/node_modules/@happier-dev/cli-common/dist/firstPartyRuntime/installVersionedPayload.d.ts +54 -1
- package/node_modules/@happier-dev/cli-common/dist/firstPartyRuntime/installVersionedPayload.d.ts.map +1 -1
- package/node_modules/@happier-dev/cli-common/dist/firstPartyRuntime/installVersionedPayload.js +92 -24
- package/node_modules/@happier-dev/cli-common/dist/firstPartyRuntime/installVersionedPayload.js.map +1 -1
- package/node_modules/@happier-dev/cli-common/dist/firstPartyRuntime/prepareFirstPartyComponentPayloadFromGitHubRelease.d.ts +25 -1
- package/node_modules/@happier-dev/cli-common/dist/firstPartyRuntime/prepareFirstPartyComponentPayloadFromGitHubRelease.d.ts.map +1 -1
- package/node_modules/@happier-dev/cli-common/dist/firstPartyRuntime/prepareFirstPartyComponentPayloadFromGitHubRelease.js +79 -45
- package/node_modules/@happier-dev/cli-common/dist/firstPartyRuntime/prepareFirstPartyComponentPayloadFromGitHubRelease.js.map +1 -1
- package/node_modules/@happier-dev/cli-common/dist/firstPartyRuntime/restoreInstalledPayloadState.d.ts +50 -0
- package/node_modules/@happier-dev/cli-common/dist/firstPartyRuntime/restoreInstalledPayloadState.d.ts.map +1 -0
- package/node_modules/@happier-dev/cli-common/dist/firstPartyRuntime/restoreInstalledPayloadState.js +136 -0
- package/node_modules/@happier-dev/cli-common/dist/firstPartyRuntime/restoreInstalledPayloadState.js.map +1 -0
- package/node_modules/@happier-dev/cli-common/dist/firstPartyRuntime/runManagedCliUpdate.d.ts +117 -0
- package/node_modules/@happier-dev/cli-common/dist/firstPartyRuntime/runManagedCliUpdate.d.ts.map +1 -0
- package/node_modules/@happier-dev/cli-common/dist/firstPartyRuntime/runManagedCliUpdate.js +272 -0
- package/node_modules/@happier-dev/cli-common/dist/firstPartyRuntime/runManagedCliUpdate.js.map +1 -0
- package/node_modules/@happier-dev/cli-common/dist/firstPartyRuntime/selfHostServerEnv.d.ts.map +1 -1
- package/node_modules/@happier-dev/cli-common/dist/firstPartyRuntime/selfHostServerEnv.js +19 -13
- package/node_modules/@happier-dev/cli-common/dist/firstPartyRuntime/selfHostServerEnv.js.map +1 -1
- package/node_modules/@happier-dev/cli-common/dist/firstPartyRuntime/serverRuntimeArtifactLayout.d.ts +0 -4
- package/node_modules/@happier-dev/cli-common/dist/firstPartyRuntime/serverRuntimeArtifactLayout.d.ts.map +1 -1
- package/node_modules/@happier-dev/cli-common/dist/firstPartyRuntime/serverRuntimeArtifactLayout.js +0 -20
- package/node_modules/@happier-dev/cli-common/dist/firstPartyRuntime/serverRuntimeArtifactLayout.js.map +1 -1
- package/node_modules/@happier-dev/cli-common/dist/firstPartyRuntime/withFirstPartyPayloadMutationLock.d.ts +36 -0
- package/node_modules/@happier-dev/cli-common/dist/firstPartyRuntime/withFirstPartyPayloadMutationLock.d.ts.map +1 -0
- package/node_modules/@happier-dev/cli-common/dist/firstPartyRuntime/withFirstPartyPayloadMutationLock.js +155 -0
- package/node_modules/@happier-dev/cli-common/dist/firstPartyRuntime/withFirstPartyPayloadMutationLock.js.map +1 -0
- package/node_modules/@happier-dev/cli-common/dist/fs/windowsProtectedAcl.d.ts.map +1 -1
- package/node_modules/@happier-dev/cli-common/dist/fs/windowsProtectedAcl.js +20 -16
- package/node_modules/@happier-dev/cli-common/dist/fs/windowsProtectedAcl.js.map +1 -1
- package/node_modules/@happier-dev/cli-common/dist/output/index.d.ts +1 -0
- package/node_modules/@happier-dev/cli-common/dist/output/index.d.ts.map +1 -1
- package/node_modules/@happier-dev/cli-common/dist/output/index.js +1 -0
- package/node_modules/@happier-dev/cli-common/dist/output/index.js.map +1 -1
- package/node_modules/@happier-dev/cli-common/dist/output/planet.d.ts.map +1 -1
- package/node_modules/@happier-dev/cli-common/dist/output/planet.js +19 -52
- package/node_modules/@happier-dev/cli-common/dist/output/planet.js.map +1 -1
- package/node_modules/@happier-dev/cli-common/dist/process/index.d.ts +2 -1
- package/node_modules/@happier-dev/cli-common/dist/process/index.d.ts.map +1 -1
- package/node_modules/@happier-dev/cli-common/dist/process/index.js +1 -1
- package/node_modules/@happier-dev/cli-common/dist/process/index.js.map +1 -1
- package/node_modules/@happier-dev/cli-common/dist/process/runCommandStreaming.d.ts +39 -0
- package/node_modules/@happier-dev/cli-common/dist/process/runCommandStreaming.d.ts.map +1 -1
- package/node_modules/@happier-dev/cli-common/dist/process/runCommandStreaming.js +95 -28
- package/node_modules/@happier-dev/cli-common/dist/process/runCommandStreaming.js.map +1 -1
- package/node_modules/@happier-dev/cli-common/dist/process/windows/resolveWindowsCommandInvocation.d.ts +6 -1
- package/node_modules/@happier-dev/cli-common/dist/process/windows/resolveWindowsCommandInvocation.d.ts.map +1 -1
- package/node_modules/@happier-dev/cli-common/dist/process/windows/resolveWindowsCommandInvocation.js +7 -2
- package/node_modules/@happier-dev/cli-common/dist/process/windows/resolveWindowsCommandInvocation.js.map +1 -1
- package/node_modules/@happier-dev/cli-common/dist/providers/index.d.ts +6 -4
- package/node_modules/@happier-dev/cli-common/dist/providers/index.d.ts.map +1 -1
- package/node_modules/@happier-dev/cli-common/dist/providers/index.js +4 -3
- package/node_modules/@happier-dev/cli-common/dist/providers/index.js.map +1 -1
- package/node_modules/@happier-dev/cli-common/dist/providers/install.d.ts +27 -1
- package/node_modules/@happier-dev/cli-common/dist/providers/install.d.ts.map +1 -1
- package/node_modules/@happier-dev/cli-common/dist/providers/install.js +164 -56
- package/node_modules/@happier-dev/cli-common/dist/providers/install.js.map +1 -1
- package/node_modules/@happier-dev/cli-common/dist/providers/installCommandTimeout.d.ts +7 -0
- package/node_modules/@happier-dev/cli-common/dist/providers/installCommandTimeout.d.ts.map +1 -0
- package/node_modules/@happier-dev/cli-common/dist/providers/installCommandTimeout.js +17 -0
- package/node_modules/@happier-dev/cli-common/dist/providers/installCommandTimeout.js.map +1 -0
- package/node_modules/@happier-dev/cli-common/dist/providers/managedPnpm.d.ts +10 -0
- package/node_modules/@happier-dev/cli-common/dist/providers/managedPnpm.d.ts.map +1 -1
- package/node_modules/@happier-dev/cli-common/dist/providers/managedPnpm.js +47 -10
- package/node_modules/@happier-dev/cli-common/dist/providers/managedPnpm.js.map +1 -1
- package/node_modules/@happier-dev/cli-common/dist/providers/resolution.d.ts +8 -0
- package/node_modules/@happier-dev/cli-common/dist/providers/resolution.d.ts.map +1 -1
- package/node_modules/@happier-dev/cli-common/dist/providers/resolution.js +71 -0
- package/node_modules/@happier-dev/cli-common/dist/providers/resolution.js.map +1 -1
- package/node_modules/@happier-dev/cli-common/dist/providers/update.d.ts +54 -0
- package/node_modules/@happier-dev/cli-common/dist/providers/update.d.ts.map +1 -0
- package/node_modules/@happier-dev/cli-common/dist/providers/update.js +184 -0
- package/node_modules/@happier-dev/cli-common/dist/providers/update.js.map +1 -0
- package/node_modules/@happier-dev/cli-common/dist/service/launchd.d.ts +7 -0
- package/node_modules/@happier-dev/cli-common/dist/service/launchd.d.ts.map +1 -1
- package/node_modules/@happier-dev/cli-common/dist/service/launchd.js +1 -1
- package/node_modules/@happier-dev/cli-common/dist/service/launchd.js.map +1 -1
- package/node_modules/@happier-dev/cli-common/dist/service/manager.d.ts.map +1 -1
- package/node_modules/@happier-dev/cli-common/dist/service/manager.js +20 -1
- package/node_modules/@happier-dev/cli-common/dist/service/manager.js.map +1 -1
- package/node_modules/@happier-dev/cli-common/dist/service/windows.d.ts +7 -0
- package/node_modules/@happier-dev/cli-common/dist/service/windows.d.ts.map +1 -1
- package/node_modules/@happier-dev/cli-common/dist/service/windows.js +9 -31
- package/node_modules/@happier-dev/cli-common/dist/service/windows.js.map +1 -1
- package/node_modules/@happier-dev/cli-common/dist/systemTasks/runSystemTask.d.ts +2 -0
- package/node_modules/@happier-dev/cli-common/dist/systemTasks/runSystemTask.d.ts.map +1 -1
- package/node_modules/@happier-dev/cli-common/dist/systemTasks/runSystemTask.js +8 -0
- package/node_modules/@happier-dev/cli-common/dist/systemTasks/runSystemTask.js.map +1 -1
- package/node_modules/@happier-dev/cli-common/dist/update/index.d.ts +70 -1
- package/node_modules/@happier-dev/cli-common/dist/update/index.d.ts.map +1 -1
- package/node_modules/@happier-dev/cli-common/dist/update/index.js +102 -5
- package/node_modules/@happier-dev/cli-common/dist/update/index.js.map +1 -1
- package/node_modules/@happier-dev/cli-common/dist/workspaces/index.d.ts +1 -0
- package/node_modules/@happier-dev/cli-common/dist/workspaces/index.d.ts.map +1 -1
- package/node_modules/@happier-dev/cli-common/dist/workspaces/index.js +24 -2
- package/node_modules/@happier-dev/cli-common/dist/workspaces/index.js.map +1 -1
- package/node_modules/@happier-dev/cli-common/nodePtySpawnHelperPermissions.cjs +48 -0
- package/node_modules/@happier-dev/cli-common/nodePtySpawnHelperPermissions.d.cts +2 -0
- package/node_modules/@happier-dev/cli-common/numericPlanetFrame.d.mts +12 -0
- package/node_modules/@happier-dev/cli-common/numericPlanetFrame.mjs +36 -0
- package/node_modules/@happier-dev/cli-common/package.json +11 -0
- package/node_modules/@happier-dev/connection-supervisor/dist/createManagedConnectionSupervisor.d.ts.map +1 -1
- package/node_modules/@happier-dev/connection-supervisor/dist/createManagedConnectionSupervisor.js +16 -6
- package/node_modules/@happier-dev/connection-supervisor/dist/createManagedConnectionSupervisor.js.map +1 -1
- package/node_modules/@happier-dev/connection-supervisor/dist/createManagedEndpointSupervisor.d.ts.map +1 -1
- package/node_modules/@happier-dev/connection-supervisor/dist/createManagedEndpointSupervisor.js +7 -1
- package/node_modules/@happier-dev/connection-supervisor/dist/createManagedEndpointSupervisor.js.map +1 -1
- package/node_modules/@happier-dev/connection-supervisor/dist/index.d.ts +1 -1
- package/node_modules/@happier-dev/connection-supervisor/dist/index.d.ts.map +1 -1
- package/node_modules/@happier-dev/connection-supervisor/dist/managedConnectionTypes.d.ts +5 -1
- package/node_modules/@happier-dev/connection-supervisor/dist/managedConnectionTypes.d.ts.map +1 -1
- package/node_modules/@happier-dev/connection-supervisor/dist/managedEndpointSupervisorTypes.d.ts +3 -2
- package/node_modules/@happier-dev/connection-supervisor/dist/managedEndpointSupervisorTypes.d.ts.map +1 -1
- package/node_modules/@happier-dev/protocol/dist/account/settings/accountSettings.d.ts +4 -0
- package/node_modules/@happier-dev/protocol/dist/account/settings/accountSettings.d.ts.map +1 -1
- package/node_modules/@happier-dev/protocol/dist/account/settings/accountSettings.js +2 -0
- package/node_modules/@happier-dev/protocol/dist/account/settings/accountSettings.js.map +1 -1
- package/node_modules/@happier-dev/protocol/dist/actions/actionExecutor.d.ts.map +1 -1
- package/node_modules/@happier-dev/protocol/dist/actions/actionExecutor.js +4 -9
- package/node_modules/@happier-dev/protocol/dist/actions/actionExecutor.js.map +1 -1
- package/node_modules/@happier-dev/protocol/dist/actions/actionSpecs.d.ts +7 -0
- package/node_modules/@happier-dev/protocol/dist/actions/actionSpecs.d.ts.map +1 -1
- package/node_modules/@happier-dev/protocol/dist/actions/actionSpecs.js +27 -17
- package/node_modules/@happier-dev/protocol/dist/actions/actionSpecs.js.map +1 -1
- package/node_modules/@happier-dev/protocol/dist/actions/actionToolExposure.d.ts +6 -1
- package/node_modules/@happier-dev/protocol/dist/actions/actionToolExposure.d.ts.map +1 -1
- package/node_modules/@happier-dev/protocol/dist/actions/actionToolExposure.js +11 -1
- package/node_modules/@happier-dev/protocol/dist/actions/actionToolExposure.js.map +1 -1
- package/node_modules/@happier-dev/protocol/dist/actions/executionRunActionPermissionMode.d.ts +5 -2
- package/node_modules/@happier-dev/protocol/dist/actions/executionRunActionPermissionMode.d.ts.map +1 -1
- package/node_modules/@happier-dev/protocol/dist/actions/executionRunActionPermissionMode.js +25 -3
- package/node_modules/@happier-dev/protocol/dist/actions/executionRunActionPermissionMode.js.map +1 -1
- package/node_modules/@happier-dev/protocol/dist/actions/index.d.ts +1 -1
- package/node_modules/@happier-dev/protocol/dist/actions/index.d.ts.map +1 -1
- package/node_modules/@happier-dev/protocol/dist/actions/index.js +1 -1
- package/node_modules/@happier-dev/protocol/dist/actions/index.js.map +1 -1
- package/node_modules/@happier-dev/protocol/dist/bugReports/export.d.ts +19 -0
- package/node_modules/@happier-dev/protocol/dist/bugReports/export.d.ts.map +1 -0
- package/node_modules/@happier-dev/protocol/dist/bugReports/export.js +17 -0
- package/node_modules/@happier-dev/protocol/dist/bugReports/export.js.map +1 -0
- package/node_modules/@happier-dev/protocol/dist/bugReports/submit.d.ts.map +1 -1
- package/node_modules/@happier-dev/protocol/dist/bugReports/submit.js +6 -5
- package/node_modules/@happier-dev/protocol/dist/bugReports/submit.js.map +1 -1
- package/node_modules/@happier-dev/protocol/dist/bugReports.d.ts +1 -0
- package/node_modules/@happier-dev/protocol/dist/bugReports.d.ts.map +1 -1
- package/node_modules/@happier-dev/protocol/dist/bugReports.js +1 -0
- package/node_modules/@happier-dev/protocol/dist/bugReports.js.map +1 -1
- package/node_modules/@happier-dev/protocol/dist/connect/accountUsage.d.ts +4 -0
- package/node_modules/@happier-dev/protocol/dist/connect/accountUsage.d.ts.map +1 -1
- package/node_modules/@happier-dev/protocol/dist/connect/connectedServiceAuthGroupMemberRuntimeStatePolicy.d.ts.map +1 -1
- package/node_modules/@happier-dev/protocol/dist/connect/connectedServiceAuthGroupMemberRuntimeStatePolicy.js +3 -0
- package/node_modules/@happier-dev/protocol/dist/connect/connectedServiceAuthGroupMemberRuntimeStatePolicy.js.map +1 -1
- package/node_modules/@happier-dev/protocol/dist/connect/connectedServiceQuotaLimitSelection.d.ts +11 -0
- package/node_modules/@happier-dev/protocol/dist/connect/connectedServiceQuotaLimitSelection.d.ts.map +1 -0
- package/node_modules/@happier-dev/protocol/dist/connect/connectedServiceQuotaLimitSelection.js +20 -0
- package/node_modules/@happier-dev/protocol/dist/connect/connectedServiceQuotaLimitSelection.js.map +1 -0
- package/node_modules/@happier-dev/protocol/dist/connect/connectedServiceSchemas.d.ts +127 -0
- package/node_modules/@happier-dev/protocol/dist/connect/connectedServiceSchemas.d.ts.map +1 -1
- package/node_modules/@happier-dev/protocol/dist/connect/connectedServiceSchemas.js +45 -1
- package/node_modules/@happier-dev/protocol/dist/connect/connectedServiceSchemas.js.map +1 -1
- package/node_modules/@happier-dev/protocol/dist/connect/normalizeConnectedServiceSelectionInput.d.ts +5 -4
- package/node_modules/@happier-dev/protocol/dist/connect/normalizeConnectedServiceSelectionInput.d.ts.map +1 -1
- package/node_modules/@happier-dev/protocol/dist/connect/normalizeConnectedServiceSelectionInput.js +8 -2
- package/node_modules/@happier-dev/protocol/dist/connect/normalizeConnectedServiceSelectionInput.js.map +1 -1
- package/node_modules/@happier-dev/protocol/dist/connect/quotaObservationTime.d.ts +21 -0
- package/node_modules/@happier-dev/protocol/dist/connect/quotaObservationTime.d.ts.map +1 -0
- package/node_modules/@happier-dev/protocol/dist/connect/quotaObservationTime.js +39 -0
- package/node_modules/@happier-dev/protocol/dist/connect/quotaObservationTime.js.map +1 -0
- package/node_modules/@happier-dev/protocol/dist/daemonExecutionRuns.d.ts +12 -0
- package/node_modules/@happier-dev/protocol/dist/daemonExecutionRuns.d.ts.map +1 -1
- package/node_modules/@happier-dev/protocol/dist/daemonExecutionRuns.js +2 -1
- package/node_modules/@happier-dev/protocol/dist/daemonExecutionRuns.js.map +1 -1
- package/node_modules/@happier-dev/protocol/dist/daemonTerminal.d.ts +9 -0
- package/node_modules/@happier-dev/protocol/dist/daemonTerminal.d.ts.map +1 -1
- package/node_modules/@happier-dev/protocol/dist/daemonTerminal.js +4 -0
- package/node_modules/@happier-dev/protocol/dist/daemonTerminal.js.map +1 -1
- package/node_modules/@happier-dev/protocol/dist/diagnostics/doctorSnapshot.d.ts +129 -0
- package/node_modules/@happier-dev/protocol/dist/diagnostics/doctorSnapshot.d.ts.map +1 -1
- package/node_modules/@happier-dev/protocol/dist/diagnostics/doctorSnapshot.js +48 -0
- package/node_modules/@happier-dev/protocol/dist/diagnostics/doctorSnapshot.js.map +1 -1
- package/node_modules/@happier-dev/protocol/dist/directSessions/daemonRpcV1.d.ts +197 -0
- package/node_modules/@happier-dev/protocol/dist/directSessions/daemonRpcV1.d.ts.map +1 -1
- package/node_modules/@happier-dev/protocol/dist/directSessions/daemonRpcV1.js +74 -2
- package/node_modules/@happier-dev/protocol/dist/directSessions/daemonRpcV1.js.map +1 -1
- package/node_modules/@happier-dev/protocol/dist/encryption/clientEncryptionRequirement.d.ts +12 -0
- package/node_modules/@happier-dev/protocol/dist/encryption/clientEncryptionRequirement.d.ts.map +1 -0
- package/node_modules/@happier-dev/protocol/dist/encryption/clientEncryptionRequirement.js +15 -0
- package/node_modules/@happier-dev/protocol/dist/encryption/clientEncryptionRequirement.js.map +1 -0
- package/node_modules/@happier-dev/protocol/dist/executionRunObservationTimeout.d.ts +2 -0
- package/node_modules/@happier-dev/protocol/dist/executionRunObservationTimeout.d.ts.map +1 -0
- package/node_modules/@happier-dev/protocol/dist/executionRunObservationTimeout.js +2 -0
- package/node_modules/@happier-dev/protocol/dist/executionRunObservationTimeout.js.map +1 -0
- package/node_modules/@happier-dev/protocol/dist/executionRunRequestedConfiguration.d.ts +16 -0
- package/node_modules/@happier-dev/protocol/dist/executionRunRequestedConfiguration.d.ts.map +1 -0
- package/node_modules/@happier-dev/protocol/dist/executionRunRequestedConfiguration.js +26 -0
- package/node_modules/@happier-dev/protocol/dist/executionRunRequestedConfiguration.js.map +1 -0
- package/node_modules/@happier-dev/protocol/dist/executionRunStartRequest.d.ts +6 -2
- package/node_modules/@happier-dev/protocol/dist/executionRunStartRequest.d.ts.map +1 -1
- package/node_modules/@happier-dev/protocol/dist/executionRunStartRequest.js +5 -2
- package/node_modules/@happier-dev/protocol/dist/executionRunStartRequest.js.map +1 -1
- package/node_modules/@happier-dev/protocol/dist/executionRuns.d.ts +16 -2
- package/node_modules/@happier-dev/protocol/dist/executionRuns.d.ts.map +1 -1
- package/node_modules/@happier-dev/protocol/dist/executionRuns.js +4 -0
- package/node_modules/@happier-dev/protocol/dist/executionRuns.js.map +1 -1
- package/node_modules/@happier-dev/protocol/dist/features/catalog.d.ts +12 -0
- package/node_modules/@happier-dev/protocol/dist/features/catalog.d.ts.map +1 -1
- package/node_modules/@happier-dev/protocol/dist/features/catalog.js +12 -0
- package/node_modules/@happier-dev/protocol/dist/features/catalog.js.map +1 -1
- package/node_modules/@happier-dev/protocol/dist/features/decision.d.ts +2 -0
- package/node_modules/@happier-dev/protocol/dist/features/decision.d.ts.map +1 -1
- package/node_modules/@happier-dev/protocol/dist/features/payload/featureGatesSchema.d.ts +6 -0
- package/node_modules/@happier-dev/protocol/dist/features/payload/featureGatesSchema.d.ts.map +1 -1
- package/node_modules/@happier-dev/protocol/dist/features/payload/featureGatesSchema.js +4 -0
- package/node_modules/@happier-dev/protocol/dist/features/payload/featureGatesSchema.js.map +1 -1
- package/node_modules/@happier-dev/protocol/dist/features/payload/featuresResponseSchema.d.ts +6 -0
- package/node_modules/@happier-dev/protocol/dist/features/payload/featuresResponseSchema.d.ts.map +1 -1
- package/node_modules/@happier-dev/protocol/dist/index.d.ts +18 -11
- package/node_modules/@happier-dev/protocol/dist/index.d.ts.map +1 -1
- package/node_modules/@happier-dev/protocol/dist/index.js +18 -11
- package/node_modules/@happier-dev/protocol/dist/index.js.map +1 -1
- package/node_modules/@happier-dev/protocol/dist/installables.d.ts +36 -2
- package/node_modules/@happier-dev/protocol/dist/installables.d.ts.map +1 -1
- package/node_modules/@happier-dev/protocol/dist/installables.js +29 -1
- package/node_modules/@happier-dev/protocol/dist/installables.js.map +1 -1
- package/node_modules/@happier-dev/protocol/dist/machines/cliUpdateFacts.d.ts +92 -0
- package/node_modules/@happier-dev/protocol/dist/machines/cliUpdateFacts.d.ts.map +1 -0
- package/node_modules/@happier-dev/protocol/dist/machines/cliUpdateFacts.js +70 -0
- package/node_modules/@happier-dev/protocol/dist/machines/cliUpdateFacts.js.map +1 -0
- package/node_modules/@happier-dev/protocol/dist/machines/index.d.ts +1 -0
- package/node_modules/@happier-dev/protocol/dist/machines/index.d.ts.map +1 -1
- package/node_modules/@happier-dev/protocol/dist/machines/index.js +1 -0
- package/node_modules/@happier-dev/protocol/dist/machines/index.js.map +1 -1
- package/node_modules/@happier-dev/protocol/dist/mcpServers/daemonRpcV1.d.ts +42 -0
- package/node_modules/@happier-dev/protocol/dist/mcpServers/daemonRpcV1.d.ts.map +1 -1
- package/node_modules/@happier-dev/protocol/dist/mcpServers/previewV1.d.ts +14 -0
- package/node_modules/@happier-dev/protocol/dist/mcpServers/previewV1.d.ts.map +1 -1
- package/node_modules/@happier-dev/protocol/dist/prompts/executionRunsGuidanceV1.d.ts.map +1 -1
- package/node_modules/@happier-dev/protocol/dist/prompts/executionRunsGuidanceV1.js +2 -1
- package/node_modules/@happier-dev/protocol/dist/prompts/executionRunsGuidanceV1.js.map +1 -1
- package/node_modules/@happier-dev/protocol/dist/providers/agentProviderIdsV1.d.ts +8 -1
- package/node_modules/@happier-dev/protocol/dist/providers/agentProviderIdsV1.d.ts.map +1 -1
- package/node_modules/@happier-dev/protocol/dist/providers/agentProviderIdsV1.js +18 -1
- package/node_modules/@happier-dev/protocol/dist/providers/agentProviderIdsV1.js.map +1 -1
- package/node_modules/@happier-dev/protocol/dist/providers/agy/installables.d.ts +7 -0
- package/node_modules/@happier-dev/protocol/dist/providers/agy/installables.d.ts.map +1 -0
- package/node_modules/@happier-dev/protocol/dist/providers/agy/installables.js +6 -0
- package/node_modules/@happier-dev/protocol/dist/providers/agy/installables.js.map +1 -0
- package/node_modules/@happier-dev/protocol/dist/push/expoPushDelivery.d.ts +1 -0
- package/node_modules/@happier-dev/protocol/dist/push/expoPushDelivery.d.ts.map +1 -1
- package/node_modules/@happier-dev/protocol/dist/push/expoPushDelivery.js +1 -1
- package/node_modules/@happier-dev/protocol/dist/push/expoPushDelivery.js.map +1 -1
- package/node_modules/@happier-dev/protocol/dist/rpc.d.ts +5 -0
- package/node_modules/@happier-dev/protocol/dist/rpc.d.ts.map +1 -1
- package/node_modules/@happier-dev/protocol/dist/rpc.js +5 -0
- package/node_modules/@happier-dev/protocol/dist/rpc.js.map +1 -1
- package/node_modules/@happier-dev/protocol/dist/sessionAgentTransition.d.ts +40 -0
- package/node_modules/@happier-dev/protocol/dist/sessionAgentTransition.d.ts.map +1 -1
- package/node_modules/@happier-dev/protocol/dist/sessionAgentTransition.js +17 -0
- package/node_modules/@happier-dev/protocol/dist/sessionAgentTransition.js.map +1 -1
- package/node_modules/@happier-dev/protocol/dist/sessionControl/contract.d.ts +26 -0
- package/node_modules/@happier-dev/protocol/dist/sessionControl/contract.d.ts.map +1 -1
- package/node_modules/@happier-dev/protocol/dist/sessionControl/contract.js +2 -0
- package/node_modules/@happier-dev/protocol/dist/sessionControl/contract.js.map +1 -1
- package/node_modules/@happier-dev/protocol/dist/sessionControl/handoff/handoffSchemas.d.ts +27 -0
- package/node_modules/@happier-dev/protocol/dist/sessionControl/handoff/handoffSchemas.d.ts.map +1 -1
- package/node_modules/@happier-dev/protocol/dist/sessionControl/handoff/handoffTypes.d.ts +3 -0
- package/node_modules/@happier-dev/protocol/dist/sessionControl/handoff/handoffTypes.d.ts.map +1 -1
- package/node_modules/@happier-dev/protocol/dist/sessionFolders/folderAssignments.d.ts +1 -0
- package/node_modules/@happier-dev/protocol/dist/sessionFolders/folderAssignments.d.ts.map +1 -1
- package/node_modules/@happier-dev/protocol/dist/sessionMessages/sessionMessageMeta.d.ts +2 -0
- package/node_modules/@happier-dev/protocol/dist/sessionMessages/sessionMessageMeta.d.ts.map +1 -1
- package/node_modules/@happier-dev/protocol/dist/sessionMessages/sessionMessageMeta.js +7 -0
- package/node_modules/@happier-dev/protocol/dist/sessionMessages/sessionMessageMeta.js.map +1 -1
- package/node_modules/@happier-dev/protocol/dist/sessionMetadata/sessionPermissionModes.d.ts +8 -0
- package/node_modules/@happier-dev/protocol/dist/sessionMetadata/sessionPermissionModes.d.ts.map +1 -1
- package/node_modules/@happier-dev/protocol/dist/sessionMetadata/sessionPermissionModes.js +13 -0
- package/node_modules/@happier-dev/protocol/dist/sessionMetadata/sessionPermissionModes.js.map +1 -1
- package/node_modules/@happier-dev/protocol/dist/sessionOrganization/snapshot.d.ts +3 -0
- package/node_modules/@happier-dev/protocol/dist/sessionOrganization/snapshot.d.ts.map +1 -1
- package/node_modules/@happier-dev/protocol/dist/sessionOrganization/snapshot.js +1 -0
- package/node_modules/@happier-dev/protocol/dist/sessionOrganization/snapshot.js.map +1 -1
- package/node_modules/@happier-dev/protocol/dist/sessionOrganization/standings.d.ts +4 -1
- package/node_modules/@happier-dev/protocol/dist/sessionOrganization/standings.d.ts.map +1 -1
- package/node_modules/@happier-dev/protocol/dist/sessionOrganization/standings.js +6 -1
- package/node_modules/@happier-dev/protocol/dist/sessionOrganization/standings.js.map +1 -1
- package/node_modules/@happier-dev/protocol/dist/sessionWorkState/sessionWorkStateRpc.d.ts +2 -0
- package/node_modules/@happier-dev/protocol/dist/sessionWorkState/sessionWorkStateRpc.d.ts.map +1 -1
- package/node_modules/@happier-dev/protocol/dist/socketRpc.d.ts +11 -0
- package/node_modules/@happier-dev/protocol/dist/socketRpc.d.ts.map +1 -1
- package/node_modules/@happier-dev/protocol/dist/socketRpc.js +9 -0
- package/node_modules/@happier-dev/protocol/dist/socketRpc.js.map +1 -1
- package/node_modules/@happier-dev/protocol/dist/spawnSession.d.ts +13 -0
- package/node_modules/@happier-dev/protocol/dist/spawnSession.d.ts.map +1 -1
- package/node_modules/@happier-dev/protocol/dist/spawnSession.js +5 -0
- package/node_modules/@happier-dev/protocol/dist/spawnSession.js.map +1 -1
- package/node_modules/@happier-dev/protocol/dist/structuredMessages/executionRunCompletionV1.d.ts.map +1 -1
- package/node_modules/@happier-dev/protocol/dist/structuredMessages/executionRunCompletionV1.js +12 -1
- package/node_modules/@happier-dev/protocol/dist/structuredMessages/executionRunCompletionV1.js.map +1 -1
- package/node_modules/@happier-dev/protocol/dist/systemTasks/acquisitionProgress.d.ts +36 -0
- package/node_modules/@happier-dev/protocol/dist/systemTasks/acquisitionProgress.d.ts.map +1 -0
- package/node_modules/@happier-dev/protocol/dist/systemTasks/acquisitionProgress.js +23 -0
- package/node_modules/@happier-dev/protocol/dist/systemTasks/acquisitionProgress.js.map +1 -0
- package/node_modules/@happier-dev/protocol/dist/systemTasks/index.d.ts +2 -0
- package/node_modules/@happier-dev/protocol/dist/systemTasks/index.d.ts.map +1 -1
- package/node_modules/@happier-dev/protocol/dist/systemTasks/index.js +2 -0
- package/node_modules/@happier-dev/protocol/dist/systemTasks/index.js.map +1 -1
- package/node_modules/@happier-dev/protocol/dist/systemTasks/setupThisComputerTaskContract.d.ts +180 -0
- package/node_modules/@happier-dev/protocol/dist/systemTasks/setupThisComputerTaskContract.d.ts.map +1 -0
- package/node_modules/@happier-dev/protocol/dist/systemTasks/setupThisComputerTaskContract.js +234 -0
- package/node_modules/@happier-dev/protocol/dist/systemTasks/setupThisComputerTaskContract.js.map +1 -0
- package/node_modules/@happier-dev/protocol/dist/updates.d.ts +12 -0
- package/node_modules/@happier-dev/protocol/dist/updates.d.ts.map +1 -1
- package/node_modules/@happier-dev/protocol/dist/updates.js +11 -2
- package/node_modules/@happier-dev/protocol/dist/updates.js.map +1 -1
- package/node_modules/@happier-dev/release-runtime/dist/archiveExtraction.d.ts.map +1 -1
- package/node_modules/@happier-dev/release-runtime/dist/archiveExtraction.js +5 -0
- package/node_modules/@happier-dev/release-runtime/dist/archiveExtraction.js.map +1 -1
- package/node_modules/@happier-dev/release-runtime/dist/github.d.ts +1 -0
- package/node_modules/@happier-dev/release-runtime/dist/github.d.ts.map +1 -1
- package/node_modules/@happier-dev/release-runtime/dist/github.js +7 -5
- package/node_modules/@happier-dev/release-runtime/dist/github.js.map +1 -1
- package/node_modules/@happier-dev/release-runtime/dist/http.d.ts +11 -12
- package/node_modules/@happier-dev/release-runtime/dist/http.d.ts.map +1 -1
- package/node_modules/@happier-dev/release-runtime/dist/http.js +32 -4
- package/node_modules/@happier-dev/release-runtime/dist/http.js.map +1 -1
- package/node_modules/@happier-dev/release-runtime/dist/index.d.ts +1 -0
- package/node_modules/@happier-dev/release-runtime/dist/index.d.ts.map +1 -1
- package/node_modules/@happier-dev/release-runtime/dist/index.js +1 -0
- package/node_modules/@happier-dev/release-runtime/dist/index.js.map +1 -1
- package/node_modules/@happier-dev/release-runtime/dist/verifiedDownload.d.ts +10 -0
- package/node_modules/@happier-dev/release-runtime/dist/verifiedDownload.d.ts.map +1 -1
- package/node_modules/@happier-dev/release-runtime/dist/verifiedDownload.js +21 -11
- package/node_modules/@happier-dev/release-runtime/dist/verifiedDownload.js.map +1 -1
- package/package.json +1 -1
- package/scripts/auth.mjs +1 -1
- package/scripts/auth_login_print_includes_configure_links.test.mjs +9 -0
- package/scripts/build.mjs +8 -1
- package/scripts/daemon.mjs +14 -1
- package/scripts/daemon_start_verification.integration.test.mjs +103 -26
- package/scripts/ghops.test.mjs +3 -9
- package/scripts/happier_main.mjs +11 -0
- package/scripts/provision/macos-lima-hstack-repeat-validation.test.mjs +10 -17
- package/scripts/self_host_launchd.real.integration.test.mjs +3 -5
- package/scripts/self_host_runtime.mjs +9 -10
- package/scripts/self_host_runtime.test.mjs +2 -2
- package/scripts/stack/stack_environment.sanitization.test.mjs +5 -0
- package/scripts/stack_happy_cmd.integration.test.mjs +74 -44
- package/scripts/testkit/core/lima_guest_harness.mjs +32 -0
- package/scripts/testkit/core/lima_guest_harness.test.mjs +61 -0
- package/scripts/testkit/core/stub_happier_cli_server_set.mjs +51 -0
- package/scripts/testkit/stack_happier_cli_command_testkit.mjs +20 -2
- package/scripts/utils/dev_targets/mutagen_project.mjs +6 -0
- package/scripts/utils/dev_targets/mutagen_project.test.mjs +4 -0
- package/scripts/utils/dev_targets/remote_commands.mjs +3 -1
- package/scripts/utils/dev_targets/supervisor.mjs +29 -7
- package/scripts/utils/dev_targets/supervisor.test.mjs +19 -1
- package/scripts/utils/env/scrub_env.mjs +1 -0
- package/scripts/utils/expo/command.mjs +28 -4
- package/scripts/utils/expo/expo.mjs +29 -1
- package/scripts/utils/expo/expo_shared_tmpdir.test.mjs +56 -1
- package/scripts/utils/server/apply_runtime_server_sqlite_env.test.mjs +2 -2
- package/scripts/utils/server/resolve_stack_server_port.test.mjs +6 -3
- package/scripts/utils/stack/server_profile_reconciliation.mjs +68 -16
- package/scripts/utils/stack/server_profile_reconciliation.test.mjs +41 -0
- package/node_modules/@happier-dev/cli-common/dist/firstPartyRuntime/releaseAssetBundle.d.ts +0 -17
- package/node_modules/@happier-dev/cli-common/dist/firstPartyRuntime/releaseAssetBundle.d.ts.map +0 -1
- package/node_modules/@happier-dev/cli-common/dist/firstPartyRuntime/releaseAssetBundle.js +0 -90
- package/node_modules/@happier-dev/cli-common/dist/firstPartyRuntime/releaseAssetBundle.js.map +0 -1
- package/node_modules/@happier-dev/cli-common/dist/firstPartyRuntime/rollbackVersionedPayload.d.ts +0 -13
- package/node_modules/@happier-dev/cli-common/dist/firstPartyRuntime/rollbackVersionedPayload.d.ts.map +0 -1
- package/node_modules/@happier-dev/cli-common/dist/firstPartyRuntime/rollbackVersionedPayload.js +0 -65
- package/node_modules/@happier-dev/cli-common/dist/firstPartyRuntime/rollbackVersionedPayload.js.map +0 -1
|
@@ -7,6 +7,7 @@ import { DEFAULT_MINISIGN_PUBLIC_KEY } from '@happier-dev/release-runtime/minisi
|
|
|
7
7
|
import { downloadVerifiedReleaseAssetBundle } from '@happier-dev/release-runtime/verifiedDownload';
|
|
8
8
|
import { getFirstPartyComponentCatalogEntry, resolveFirstPartyComponentPublicReleaseVariant, } from './componentCatalog.js';
|
|
9
9
|
import { extractReleasePayloadRootFromArchive } from './extractReleasePayloadRootFromArchive.js';
|
|
10
|
+
import { FirstPartyAcquisitionError, readAcquisitionFailureCause } from './acquisitionProgress.js';
|
|
10
11
|
function normalizeReleaseAssetOs(value) {
|
|
11
12
|
const normalized = String(value ?? process.platform).trim().toLowerCase();
|
|
12
13
|
if (normalized === 'linux')
|
|
@@ -25,80 +26,109 @@ export function normalizeReleaseAssetArch(value) {
|
|
|
25
26
|
return 'arm64';
|
|
26
27
|
throw new Error(`Unsupported first-party release architecture: ${normalized}`);
|
|
27
28
|
}
|
|
28
|
-
|
|
29
|
+
/**
|
|
30
|
+
* Which release this machine would install for a component and ring (or an exact version), without
|
|
31
|
+
* downloading it: the ring's rolling tag or `<prefix>-v<version>`, resolved to this OS/arch's asset
|
|
32
|
+
* bundle. The one latest-version lookup for binary installs — `happier self check` and the
|
|
33
|
+
* acquisition below both use it, on every OS the release publishes.
|
|
34
|
+
*/
|
|
35
|
+
export async function resolveFirstPartyComponentRelease(params) {
|
|
29
36
|
const component = getFirstPartyComponentCatalogEntry(params.componentId);
|
|
30
37
|
const variant = resolveFirstPartyComponentPublicReleaseVariant({
|
|
31
38
|
componentId: params.componentId,
|
|
32
39
|
channel: params.channel,
|
|
33
40
|
});
|
|
41
|
+
const versionId = params.versionId?.trim();
|
|
42
|
+
if (params.versionId !== undefined && (!versionId || !/^\d+\.\d+\.\d+(?:-[0-9A-Za-z.-]+)?$/.test(versionId))) {
|
|
43
|
+
throw new Error('[first-party-release] versionId must be an exact release version');
|
|
44
|
+
}
|
|
45
|
+
const releaseTag = versionId ? `${component.rollingReleasePrefix}-v${versionId}` : variant.releaseTag;
|
|
34
46
|
const os = normalizeReleaseAssetOs(params.os);
|
|
35
47
|
const arch = normalizeReleaseAssetArch(params.arch);
|
|
36
|
-
const
|
|
37
|
-
|
|
38
|
-
const
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
48
|
+
const { githubRepo, githubToken, userAgent } = resolveFirstPartyReleaseArtifactSource(params);
|
|
49
|
+
params.signal?.throwIfAborted();
|
|
50
|
+
const release = await fetchGitHubReleaseByTag({
|
|
51
|
+
githubRepo,
|
|
52
|
+
tag: releaseTag,
|
|
53
|
+
githubToken,
|
|
54
|
+
userAgent,
|
|
55
|
+
signal: params.signal,
|
|
56
|
+
}).catch((error) => {
|
|
57
|
+
throw wrapFirstPartyReleaseSourceError({
|
|
58
|
+
componentId: params.componentId,
|
|
59
|
+
channel: params.channel,
|
|
60
|
+
stage: 'resolve release tag',
|
|
43
61
|
githubRepo,
|
|
44
|
-
|
|
62
|
+
releaseTag,
|
|
45
63
|
githubToken,
|
|
46
|
-
|
|
47
|
-
}).catch((error) => {
|
|
48
|
-
throw wrapFirstPartyReleaseSourceError({
|
|
49
|
-
componentId: params.componentId,
|
|
50
|
-
channel: params.channel,
|
|
51
|
-
stage: 'resolve release tag',
|
|
52
|
-
githubRepo,
|
|
53
|
-
releaseTag: variant.releaseTag,
|
|
54
|
-
githubToken,
|
|
55
|
-
error,
|
|
56
|
-
});
|
|
64
|
+
error,
|
|
57
65
|
});
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
66
|
+
});
|
|
67
|
+
const bundle = await Promise.resolve().then(() => resolveReleaseAssetBundle({
|
|
68
|
+
assets: release.assets,
|
|
69
|
+
product: component.releaseProductName,
|
|
70
|
+
os,
|
|
71
|
+
arch,
|
|
72
|
+
preferZipOnWindows: true,
|
|
73
|
+
})).catch((error) => {
|
|
74
|
+
throw wrapFirstPartyReleaseSourceError({
|
|
75
|
+
componentId: params.componentId,
|
|
76
|
+
channel: params.channel,
|
|
77
|
+
stage: 'resolve release assets',
|
|
78
|
+
githubRepo,
|
|
79
|
+
releaseTag,
|
|
80
|
+
githubToken,
|
|
81
|
+
error,
|
|
74
82
|
});
|
|
83
|
+
});
|
|
84
|
+
if (versionId && bundle.version !== versionId) {
|
|
85
|
+
throw new Error(`[first-party-release] Expected version ${versionId} for ${params.componentId}, received ${bundle.version}`);
|
|
86
|
+
}
|
|
87
|
+
return { versionId: bundle.version, bundle, source: { githubRepo, githubToken, userAgent, releaseTag } };
|
|
88
|
+
}
|
|
89
|
+
export async function prepareFirstPartyComponentPayloadFromGitHubRelease(params) {
|
|
90
|
+
params.signal?.throwIfAborted();
|
|
91
|
+
let phase = 'resolvingRelease';
|
|
92
|
+
const report = (progress) => {
|
|
93
|
+
phase = progress.phase;
|
|
94
|
+
params.onProgress?.(progress);
|
|
95
|
+
};
|
|
96
|
+
report({ phase });
|
|
97
|
+
const scratchRoot = await mkdtemp(join(tmpdir(), `happier-first-party-${params.componentId}-`));
|
|
98
|
+
try {
|
|
99
|
+
const { bundle, source } = await resolveFirstPartyComponentRelease(params);
|
|
100
|
+
const { githubRepo, githubToken, userAgent, releaseTag } = source;
|
|
75
101
|
const downloaded = await downloadVerifiedReleaseAssetBundle({
|
|
76
102
|
bundle,
|
|
77
103
|
destDir: join(scratchRoot, 'download'),
|
|
78
104
|
pubkeyFile: String(params.minisignPubkeyFile ?? '').trim() || DEFAULT_MINISIGN_PUBLIC_KEY,
|
|
79
105
|
userAgent,
|
|
106
|
+
signal: params.signal,
|
|
107
|
+
onProgress: report,
|
|
80
108
|
}).catch((error) => {
|
|
81
109
|
throw wrapFirstPartyReleaseSourceError({
|
|
82
110
|
componentId: params.componentId,
|
|
83
111
|
channel: params.channel,
|
|
84
112
|
stage: 'download release assets',
|
|
85
113
|
githubRepo,
|
|
86
|
-
releaseTag
|
|
114
|
+
releaseTag,
|
|
87
115
|
githubToken,
|
|
88
116
|
error,
|
|
89
117
|
});
|
|
90
118
|
});
|
|
119
|
+
report({ phase: 'unpacking' });
|
|
91
120
|
const payloadRoot = await extractReleasePayloadRootFromArchive({
|
|
92
121
|
archivePath: downloaded.archivePath,
|
|
93
122
|
archiveName: downloaded.archiveName,
|
|
94
123
|
extractDir: join(scratchRoot, 'extract'),
|
|
124
|
+
signal: params.signal,
|
|
95
125
|
}).catch((error) => {
|
|
96
126
|
throw wrapFirstPartyReleaseSourceError({
|
|
97
127
|
componentId: params.componentId,
|
|
98
128
|
channel: params.channel,
|
|
99
129
|
stage: 'extract release payload',
|
|
100
130
|
githubRepo,
|
|
101
|
-
releaseTag
|
|
131
|
+
releaseTag,
|
|
102
132
|
githubToken,
|
|
103
133
|
error,
|
|
104
134
|
});
|
|
@@ -116,7 +146,8 @@ export async function prepareFirstPartyComponentPayloadFromGitHubRelease(params)
|
|
|
116
146
|
}
|
|
117
147
|
catch (error) {
|
|
118
148
|
await rm(scratchRoot, { recursive: true, force: true });
|
|
119
|
-
|
|
149
|
+
params.signal?.throwIfAborted();
|
|
150
|
+
throw new FirstPartyAcquisitionError(phase, readAcquisitionFailureCause(error), error);
|
|
120
151
|
}
|
|
121
152
|
}
|
|
122
153
|
function resolveFirstPartyReleaseArtifactSource(params) {
|
|
@@ -149,9 +180,12 @@ function wrapFirstPartyReleaseSourceError(params) {
|
|
|
149
180
|
const rawMessage = params.error instanceof Error && params.error.message.trim()
|
|
150
181
|
? params.error.message.trim()
|
|
151
182
|
: String(params.error ?? '').trim();
|
|
152
|
-
const
|
|
153
|
-
|
|
154
|
-
|
|
183
|
+
const shouldSuggestToken = !params.githubToken && (status === 401
|
|
184
|
+
|| status === 403
|
|
185
|
+
|| (status === 404 && params.stage === 'resolve release tag'));
|
|
186
|
+
const tokenHint = shouldSuggestToken
|
|
187
|
+
? 'No GitHub token was configured; if the release repository is private, set HAPPIER_FIRST_PARTY_RELEASE_TOKEN, HAPPIER_GITHUB_TOKEN, or GH_TOKEN.'
|
|
188
|
+
: 'Verify the repository, release tag, and release assets.';
|
|
155
189
|
const statusHint = status === 404
|
|
156
190
|
? 'GitHub returned 404, which usually means the repository is private, the tag is missing, or the token does not have release access.'
|
|
157
191
|
: status === 401 || status === 403
|
|
@@ -165,10 +199,10 @@ function wrapFirstPartyReleaseSourceError(params) {
|
|
|
165
199
|
]
|
|
166
200
|
.filter(Boolean)
|
|
167
201
|
.join(' ');
|
|
168
|
-
return createStatusAwareError(message, status);
|
|
202
|
+
return createStatusAwareError(message, status, params.error);
|
|
169
203
|
}
|
|
170
|
-
function createStatusAwareError(message, status) {
|
|
171
|
-
const error = new Error(message);
|
|
204
|
+
function createStatusAwareError(message, status, cause) {
|
|
205
|
+
const error = new Error(message, { cause });
|
|
172
206
|
if (status != null) {
|
|
173
207
|
Reflect.set(error, 'status', status);
|
|
174
208
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"prepareFirstPartyComponentPayloadFromGitHubRelease.js","sourceRoot":"","sources":["../../src/firstPartyRuntime/prepareFirstPartyComponentPayloadFromGitHubRelease.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,EAAE,EAAE,MAAM,kBAAkB,CAAC;AAC/C,OAAO,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AACjC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAGjC,OAAO,EAAE,yBAAyB,EAAE,MAAM,qCAAqC,CAAC;AAChF,OAAO,EAAE,uBAAuB,EAAE,MAAM,qCAAqC,CAAC;AAC9E,OAAO,EAAE,2BAA2B,EAAE,MAAM,uCAAuC,CAAC;AACpF,OAAO,EAAE,kCAAkC,EAAE,MAAM,+CAA+C,CAAC;AAGnG,OAAO,EACL,kCAAkC,EAClC,8CAA8C,GAC/C,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,oCAAoC,EAAE,MAAM,2CAA2C,CAAC;
|
|
1
|
+
{"version":3,"file":"prepareFirstPartyComponentPayloadFromGitHubRelease.js","sourceRoot":"","sources":["../../src/firstPartyRuntime/prepareFirstPartyComponentPayloadFromGitHubRelease.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
import type { PublicReleaseRingId } from '@happier-dev/release-runtime/releaseRings';
|
|
2
|
+
import type { FirstPartyComponentId } from './componentCatalog.js';
|
|
3
|
+
import { type FirstPartyInstallLayout } from './installLayout.js';
|
|
4
|
+
/**
|
|
5
|
+
* Everything an activation may change, captured before it runs (plan R13 f): the `current` and
|
|
6
|
+
* `previous` markers (which also name the pointer targets), the command shims the activation will
|
|
7
|
+
* rewrite, and the default-channel record.
|
|
8
|
+
*
|
|
9
|
+
* The shims are moved aside rather than copied. Moving is what a Windows shim needs — the service
|
|
10
|
+
* runs that `.exe` (a hard link or a copy of the payload binary), which cannot be deleted while it
|
|
11
|
+
* runs but can be renamed — and on POSIX a moved symlink restores exactly as it was. The shim path is
|
|
12
|
+
* empty only until the activation writes the new shim, just as it was while the old
|
|
13
|
+
* remove-and-relink ran.
|
|
14
|
+
*/
|
|
15
|
+
export type InstalledPayloadStateSnapshot = Readonly<{
|
|
16
|
+
layout: FirstPartyInstallLayout;
|
|
17
|
+
/** This transaction's own set-aside directory; nothing else writes or removes it. */
|
|
18
|
+
setAsideDir: string;
|
|
19
|
+
currentVersionId: string | null;
|
|
20
|
+
previousVersionId: string | null;
|
|
21
|
+
shims: ReadonlyArray<Readonly<{
|
|
22
|
+
shimPath: string;
|
|
23
|
+
setAsidePath: string | null;
|
|
24
|
+
}>>;
|
|
25
|
+
defaultReleaseChannelStatePath: string;
|
|
26
|
+
defaultReleaseChannelState: string | null;
|
|
27
|
+
}>;
|
|
28
|
+
/**
|
|
29
|
+
* Capture before activating. The caller holds the home-wide activation lock. If moving any shim
|
|
30
|
+
* aside fails, every shim already moved is put back before the error is rethrown, so a failed
|
|
31
|
+
* capture leaves the launchers exactly as they were.
|
|
32
|
+
*/
|
|
33
|
+
export declare function captureInstalledPayloadStateForActivation(params: Readonly<{
|
|
34
|
+
componentId: FirstPartyComponentId;
|
|
35
|
+
channel: PublicReleaseRingId;
|
|
36
|
+
processEnv?: NodeJS.ProcessEnv;
|
|
37
|
+
}>): Promise<InstalledPayloadStateSnapshot>;
|
|
38
|
+
/**
|
|
39
|
+
* Put back everything `captureInstalledPayloadStateForActivation` recorded. Every piece is
|
|
40
|
+
* attempted even when an earlier one fails; the failures are thrown together at the end, so a
|
|
41
|
+
* caller never reports a restore that did not complete.
|
|
42
|
+
*/
|
|
43
|
+
export declare function restoreInstalledPayloadState(snapshot: InstalledPayloadStateSnapshot): Promise<void>;
|
|
44
|
+
/**
|
|
45
|
+
* Commit, or after a completed restore: this transaction's set-aside launchers are no longer
|
|
46
|
+
* needed. Best-effort — a Windows `.exe` still running stays until it exits; nothing else is
|
|
47
|
+
* touched.
|
|
48
|
+
*/
|
|
49
|
+
export declare function discardInstalledPayloadStateSnapshot(snapshot: InstalledPayloadStateSnapshot): Promise<void>;
|
|
50
|
+
//# sourceMappingURL=restoreInstalledPayloadState.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"restoreInstalledPayloadState.d.ts","sourceRoot":"","sources":["../../src/firstPartyRuntime/restoreInstalledPayloadState.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,2CAA2C,CAAC;AAGrF,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,uBAAuB,CAAC;AAEnE,OAAO,EAAkC,KAAK,uBAAuB,EAAE,MAAM,oBAAoB,CAAC;AAMlG;;;;;;;;;;GAUG;AACH,MAAM,MAAM,6BAA6B,GAAG,QAAQ,CAAC;IACnD,MAAM,EAAE,uBAAuB,CAAC;IAChC,qFAAqF;IACrF,WAAW,EAAE,MAAM,CAAC;IACpB,gBAAgB,EAAE,MAAM,GAAG,IAAI,CAAC;IAChC,iBAAiB,EAAE,MAAM,GAAG,IAAI,CAAC;IACjC,KAAK,EAAE,aAAa,CAAC,QAAQ,CAAC;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,YAAY,EAAE,MAAM,GAAG,IAAI,CAAA;KAAE,CAAC,CAAC,CAAC;IAClF,8BAA8B,EAAE,MAAM,CAAC;IACvC,0BAA0B,EAAE,MAAM,GAAG,IAAI,CAAC;CAC3C,CAAC,CAAC;AAeH;;;;GAIG;AACH,wBAAsB,yCAAyC,CAAC,MAAM,EAAE,QAAQ,CAAC;IAC/E,WAAW,EAAE,qBAAqB,CAAC;IACnC,OAAO,EAAE,mBAAmB,CAAC;IAC7B,UAAU,CAAC,EAAE,MAAM,CAAC,UAAU,CAAC;CAChC,CAAC,GAAG,OAAO,CAAC,6BAA6B,CAAC,CA8C1C;AAcD;;;;GAIG;AACH,wBAAsB,4BAA4B,CAAC,QAAQ,EAAE,6BAA6B,GAAG,OAAO,CAAC,IAAI,CAAC,CAyCzG;AAED;;;;GAIG;AACH,wBAAsB,oCAAoC,CAAC,QAAQ,EAAE,6BAA6B,GAAG,OAAO,CAAC,IAAI,CAAC,CAEjH"}
|
package/node_modules/@happier-dev/cli-common/dist/firstPartyRuntime/restoreInstalledPayloadState.js
ADDED
|
@@ -0,0 +1,136 @@
|
|
|
1
|
+
import { randomUUID } from 'node:crypto';
|
|
2
|
+
import { lstat, mkdir, readFile, rename, rm, writeFile } from 'node:fs/promises';
|
|
3
|
+
import { basename, dirname } from 'node:path';
|
|
4
|
+
import { joinPathForPathShape } from '../path/pathShape.js';
|
|
5
|
+
import { resolveDefaultManagedReleaseChannelStatePath } from './defaultReleaseChannelState.js';
|
|
6
|
+
import { resolveFirstPartyInstallLayout } from './installLayout.js';
|
|
7
|
+
import { resolveDefaultReleaseChannelAfterInstall } from './installVersionedPayload.js';
|
|
8
|
+
import { resolveDesiredShimTargets } from './resolveDesiredShimTargets.js';
|
|
9
|
+
import { syncInstalledPayloadPointer } from './syncInstalledPayloadPointer.js';
|
|
10
|
+
import { readInstalledVersionMarkers, writeInstalledVersionMarker } from './versionMarkers.js';
|
|
11
|
+
async function pathExists(path) {
|
|
12
|
+
return await lstat(path).then(() => true).catch(() => false);
|
|
13
|
+
}
|
|
14
|
+
/**
|
|
15
|
+
* Where one transaction's moved-aside shims wait for commit or restore: its own directory under the
|
|
16
|
+
* shim dir (off `PATH` itself), so no other transaction — another channel's, or a later one after a
|
|
17
|
+
* crash — can touch its recovery launchers.
|
|
18
|
+
*/
|
|
19
|
+
function resolveShimSetAsideDir(layout, transactionId) {
|
|
20
|
+
return joinPathForPathShape(layout.shimDir, '.update-rollback', transactionId);
|
|
21
|
+
}
|
|
22
|
+
/**
|
|
23
|
+
* Capture before activating. The caller holds the home-wide activation lock. If moving any shim
|
|
24
|
+
* aside fails, every shim already moved is put back before the error is rethrown, so a failed
|
|
25
|
+
* capture leaves the launchers exactly as they were.
|
|
26
|
+
*/
|
|
27
|
+
export async function captureInstalledPayloadStateForActivation(params) {
|
|
28
|
+
const layout = resolveFirstPartyInstallLayout(params);
|
|
29
|
+
const { currentVersionId, previousVersionId } = await readInstalledVersionMarkers(layout);
|
|
30
|
+
const defaultReleaseChannelStatePath = resolveDefaultManagedReleaseChannelStatePath({ processEnv: params.processEnv });
|
|
31
|
+
const defaultReleaseChannelState = await readFile(defaultReleaseChannelStatePath, 'utf8').catch(() => null);
|
|
32
|
+
// The same resolution the activation performs, so exactly the shims it rewrites are captured.
|
|
33
|
+
const targets = await resolveDesiredShimTargets({
|
|
34
|
+
componentId: params.componentId,
|
|
35
|
+
channel: params.channel,
|
|
36
|
+
processEnv: params.processEnv,
|
|
37
|
+
defaultReleaseChannelOverride: await resolveDefaultReleaseChannelAfterInstall({
|
|
38
|
+
componentId: params.componentId,
|
|
39
|
+
releaseChannel: params.channel,
|
|
40
|
+
selectAsDefault: false,
|
|
41
|
+
processEnv: params.processEnv,
|
|
42
|
+
}),
|
|
43
|
+
});
|
|
44
|
+
const setAsideDir = resolveShimSetAsideDir(layout, randomUUID());
|
|
45
|
+
const shims = [];
|
|
46
|
+
try {
|
|
47
|
+
for (const { shimPath } of targets) {
|
|
48
|
+
if (!(await pathExists(shimPath))) {
|
|
49
|
+
shims.push({ shimPath, setAsidePath: null });
|
|
50
|
+
continue;
|
|
51
|
+
}
|
|
52
|
+
await mkdir(setAsideDir, { recursive: true });
|
|
53
|
+
const setAsidePath = joinPathForPathShape(setAsideDir, basename(shimPath));
|
|
54
|
+
await rename(shimPath, setAsidePath);
|
|
55
|
+
shims.push({ shimPath, setAsidePath });
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
catch (error) {
|
|
59
|
+
const putBackFailures = [];
|
|
60
|
+
for (const { shimPath, setAsidePath } of shims) {
|
|
61
|
+
if (!setAsidePath)
|
|
62
|
+
continue;
|
|
63
|
+
await rename(setAsidePath, shimPath).catch((putBackError) => { putBackFailures.push(putBackError); });
|
|
64
|
+
}
|
|
65
|
+
if (putBackFailures.length === 0) {
|
|
66
|
+
await rm(setAsideDir, { recursive: true, force: true }).catch(() => undefined);
|
|
67
|
+
throw error;
|
|
68
|
+
}
|
|
69
|
+
throw new AggregateError([error, ...putBackFailures], `Could not set the Happier commands aside, nor put them all back; the rest are in ${setAsideDir}.`);
|
|
70
|
+
}
|
|
71
|
+
return { layout, setAsideDir, currentVersionId, previousVersionId, shims, defaultReleaseChannelStatePath, defaultReleaseChannelState };
|
|
72
|
+
}
|
|
73
|
+
async function restoreVersionPointer(layout, pointerPath, versionId) {
|
|
74
|
+
if (!versionId) {
|
|
75
|
+
await rm(pointerPath, { recursive: true, force: true });
|
|
76
|
+
return;
|
|
77
|
+
}
|
|
78
|
+
await syncInstalledPayloadPointer({
|
|
79
|
+
layout,
|
|
80
|
+
pointerPath,
|
|
81
|
+
versionPath: joinPathForPathShape(layout.versionsDir, versionId),
|
|
82
|
+
});
|
|
83
|
+
}
|
|
84
|
+
/**
|
|
85
|
+
* Put back everything `captureInstalledPayloadStateForActivation` recorded. Every piece is
|
|
86
|
+
* attempted even when an earlier one fails; the failures are thrown together at the end, so a
|
|
87
|
+
* caller never reports a restore that did not complete.
|
|
88
|
+
*/
|
|
89
|
+
export async function restoreInstalledPayloadState(snapshot) {
|
|
90
|
+
const failures = [];
|
|
91
|
+
const attempt = async (operation) => {
|
|
92
|
+
try {
|
|
93
|
+
await operation();
|
|
94
|
+
}
|
|
95
|
+
catch (error) {
|
|
96
|
+
failures.push(error);
|
|
97
|
+
}
|
|
98
|
+
};
|
|
99
|
+
const { layout } = snapshot;
|
|
100
|
+
await attempt(async () => await restoreVersionPointer(layout, layout.currentPath, snapshot.currentVersionId));
|
|
101
|
+
await attempt(async () => await restoreVersionPointer(layout, layout.previousPath, snapshot.previousVersionId));
|
|
102
|
+
await attempt(async () => await writeInstalledVersionMarker({ layout, marker: 'current', versionId: snapshot.currentVersionId }));
|
|
103
|
+
await attempt(async () => await writeInstalledVersionMarker({ layout, marker: 'previous', versionId: snapshot.previousVersionId }));
|
|
104
|
+
for (const { shimPath, setAsidePath } of snapshot.shims) {
|
|
105
|
+
await attempt(async () => {
|
|
106
|
+
if (await pathExists(shimPath)) {
|
|
107
|
+
// The activated shim may be running (the new daemon); move it aside too instead of deleting.
|
|
108
|
+
await mkdir(snapshot.setAsideDir, { recursive: true });
|
|
109
|
+
await rename(shimPath, joinPathForPathShape(snapshot.setAsideDir, `${basename(shimPath)}.activated-${randomUUID()}`));
|
|
110
|
+
}
|
|
111
|
+
if (setAsidePath) {
|
|
112
|
+
await mkdir(dirname(shimPath), { recursive: true });
|
|
113
|
+
await rename(setAsidePath, shimPath);
|
|
114
|
+
}
|
|
115
|
+
});
|
|
116
|
+
}
|
|
117
|
+
await attempt(async () => {
|
|
118
|
+
if (snapshot.defaultReleaseChannelState === null) {
|
|
119
|
+
await rm(snapshot.defaultReleaseChannelStatePath, { force: true });
|
|
120
|
+
return;
|
|
121
|
+
}
|
|
122
|
+
await writeFile(snapshot.defaultReleaseChannelStatePath, snapshot.defaultReleaseChannelState, 'utf8');
|
|
123
|
+
});
|
|
124
|
+
if (failures.length > 0) {
|
|
125
|
+
throw new AggregateError(failures, 'The previous Happier CLI install could not be completely restored.');
|
|
126
|
+
}
|
|
127
|
+
}
|
|
128
|
+
/**
|
|
129
|
+
* Commit, or after a completed restore: this transaction's set-aside launchers are no longer
|
|
130
|
+
* needed. Best-effort — a Windows `.exe` still running stays until it exits; nothing else is
|
|
131
|
+
* touched.
|
|
132
|
+
*/
|
|
133
|
+
export async function discardInstalledPayloadStateSnapshot(snapshot) {
|
|
134
|
+
await rm(snapshot.setAsideDir, { recursive: true, force: true }).catch(() => undefined);
|
|
135
|
+
}
|
|
136
|
+
//# sourceMappingURL=restoreInstalledPayloadState.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"restoreInstalledPayloadState.js","sourceRoot":"","sources":["../../src/firstPartyRuntime/restoreInstalledPayloadState.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,117 @@
|
|
|
1
|
+
import { type CliUpdateLastResult } from '@happier-dev/protocol';
|
|
2
|
+
import type { PublicReleaseRingId } from '@happier-dev/release-runtime/releaseRings';
|
|
3
|
+
import type { FirstPartyAcquisitionOptions } from './acquisitionProgress.js';
|
|
4
|
+
import { type PreparedFirstPartyComponentPayload } from './prepareFirstPartyComponentPayloadFromGitHubRelease.js';
|
|
5
|
+
declare const COMPONENT_ID: 'happier-cli';
|
|
6
|
+
/**
|
|
7
|
+
* Restart the background service's daemon onto whatever `current` names now, and prove it runs
|
|
8
|
+
* `expectedVersion` — through the CLI service owner (`daemon service restart`, whose ownership wait
|
|
9
|
+
* is the budget). Throws when that is not proven. `phase` says which binary that is: the activated
|
|
10
|
+
* one, or the previous one after a restore.
|
|
11
|
+
*/
|
|
12
|
+
export type ManagedCliUpdateRestart = (params: Readonly<{
|
|
13
|
+
expectedVersion: string;
|
|
14
|
+
phase: 'activated' | 'restored';
|
|
15
|
+
}>) => Promise<void>;
|
|
16
|
+
export type ManagedCliUpdateParams = FirstPartyAcquisitionOptions & Readonly<{
|
|
17
|
+
channel: PublicReleaseRingId;
|
|
18
|
+
processEnv?: NodeJS.ProcessEnv;
|
|
19
|
+
/** An exact version to install; otherwise the ring's newest release. Resolved once. */
|
|
20
|
+
targetVersion?: string;
|
|
21
|
+
/** Reads the version an executable reports (`<command> --version`), within the caller's process budget. */
|
|
22
|
+
readVersion: (command: string) => Promise<string | null>;
|
|
23
|
+
/**
|
|
24
|
+
* `null` when the background service's own daemon was not running before the update: nothing is
|
|
25
|
+
* restarted then, and nothing is started.
|
|
26
|
+
*/
|
|
27
|
+
restartServiceDaemon: ManagedCliUpdateRestart | null;
|
|
28
|
+
/**
|
|
29
|
+
* A `last-update.json` write failed. Recording never blocks recovery; the default reports the
|
|
30
|
+
* failure on stderr (the updater's log when the daemon started it).
|
|
31
|
+
*/
|
|
32
|
+
onRecordFailure?: (error: unknown) => void;
|
|
33
|
+
/**
|
|
34
|
+
* Something after the outcome was settled did not complete (pruning old versions, releasing a
|
|
35
|
+
* lock); the default reports it on stderr. Never an update failure.
|
|
36
|
+
*/
|
|
37
|
+
onWarning?: (message: string) => void;
|
|
38
|
+
/** Called once the attempt holds its locks, before it downloads anything. */
|
|
39
|
+
onAdmitted?: () => void;
|
|
40
|
+
/** Runs under the install lock right before activation (Windows `self update` stops the payload's processes). */
|
|
41
|
+
beforeActivate?: () => Promise<void>;
|
|
42
|
+
/** The release acquisition (download + minisign verification + unpack). */
|
|
43
|
+
preparePayload?: (params: FirstPartyAcquisitionOptions & Readonly<{
|
|
44
|
+
componentId: typeof COMPONENT_ID;
|
|
45
|
+
channel: PublicReleaseRingId;
|
|
46
|
+
versionId?: string;
|
|
47
|
+
}>) => Promise<Pick<PreparedFirstPartyComponentPayload, 'versionId' | 'payloadRoot' | 'cleanup'>>;
|
|
48
|
+
}>;
|
|
49
|
+
export type ManagedCliUpdateResult = Readonly<{
|
|
50
|
+
outcome: 'succeeded';
|
|
51
|
+
previousVersion: string | null;
|
|
52
|
+
targetVersion: string;
|
|
53
|
+
/** Whether the service daemon was restarted onto (and proved to run) the target. */
|
|
54
|
+
restarted: boolean;
|
|
55
|
+
/** `false` when the target was already the installed version. */
|
|
56
|
+
changed: boolean;
|
|
57
|
+
} | {
|
|
58
|
+
outcome: 'rolledBack';
|
|
59
|
+
previousVersion: string;
|
|
60
|
+
targetVersion: string;
|
|
61
|
+
message: string;
|
|
62
|
+
} | {
|
|
63
|
+
outcome: 'failed';
|
|
64
|
+
previousVersion: string | null;
|
|
65
|
+
targetVersion: string;
|
|
66
|
+
message: string;
|
|
67
|
+
}>;
|
|
68
|
+
/** A refusal before anything was activated. */
|
|
69
|
+
export declare class ManagedCliUpdateError extends Error {
|
|
70
|
+
readonly code: 'cli_update_smoke_failed';
|
|
71
|
+
readonly targetVersion: string;
|
|
72
|
+
constructor(code: 'cli_update_smoke_failed', message: string, targetVersion: string);
|
|
73
|
+
}
|
|
74
|
+
/** The last update attempt's outcome for a ring's managed CLI (`<installRoot>/last-update.json`). */
|
|
75
|
+
export declare function readLastCliUpdateResult(params: Readonly<{
|
|
76
|
+
channel: PublicReleaseRingId;
|
|
77
|
+
processEnv?: NodeJS.ProcessEnv;
|
|
78
|
+
}>): CliUpdateLastResult | null;
|
|
79
|
+
/**
|
|
80
|
+
* Call `onChange` whenever a ring's `last-update.json` is (re)written — how a running daemon learns
|
|
81
|
+
* an update attempt ended without polling (it republishes its update facts). Watches the install
|
|
82
|
+
* root; returns the stop function, or `null` when there is no managed install to watch.
|
|
83
|
+
*/
|
|
84
|
+
export declare function watchLastCliUpdateResult(params: Readonly<{
|
|
85
|
+
channel: PublicReleaseRingId;
|
|
86
|
+
processEnv?: NodeJS.ProcessEnv;
|
|
87
|
+
onChange: () => void;
|
|
88
|
+
onError?: (error: unknown) => void;
|
|
89
|
+
}>): (() => void) | null;
|
|
90
|
+
/**
|
|
91
|
+
* The one first-party CLI update transaction (plan R13 f), used by `happier self update`, the
|
|
92
|
+
* desktop's `cli.update.v1` and the daemon-hosted remote `cli.update.v1` (which runs
|
|
93
|
+
* `self update` detached from the daemon). It always runs from the version being replaced.
|
|
94
|
+
*
|
|
95
|
+
* 1. Admission: take the install root's lock and the home-wide activation lock (launchers and the
|
|
96
|
+
* default-channel record are shared by every channel). A concurrent attempt is refused here,
|
|
97
|
+
* before any download, and records nothing; an admitted one is told (`onAdmitted`).
|
|
98
|
+
* 2. Resolve the target version once and acquire it (download + minisign verification). Every
|
|
99
|
+
* later step is bound to that version. Smoke the staged executable: its `--version` must be the
|
|
100
|
+
* target, or nothing is activated.
|
|
101
|
+
* 3. Capture all activation state, then activate without pruning.
|
|
102
|
+
* 4. When the service's own daemon was running, restart it onto the new version and prove it.
|
|
103
|
+
* 5. Commit and prune — or, when activation or that proof failed, restore everything, restart the
|
|
104
|
+
* previous binary and prove it. Relay reachability is never part of the proof: a machine that is
|
|
105
|
+
* offline after a good local restart has updated.
|
|
106
|
+
* 6. Record every end in `last-update.json` — failures before activation included, and recovery
|
|
107
|
+
* before reporting (`pendingReconnect` while the service restarts). A running daemon watches the
|
|
108
|
+
* record and republishes its update facts when it changes.
|
|
109
|
+
*
|
|
110
|
+
* Recovery covers failures this process catches. It does not survive the updater itself being
|
|
111
|
+
* killed or the machine losing power mid-transaction, and it does not prove that state a new
|
|
112
|
+
* daemon wrote before it failed is readable by the previous version beyond the supported
|
|
113
|
+
* predecessor transition (`docs/cli-architecture.md`).
|
|
114
|
+
*/
|
|
115
|
+
export declare function runManagedCliUpdate(params: ManagedCliUpdateParams): Promise<ManagedCliUpdateResult>;
|
|
116
|
+
export {};
|
|
117
|
+
//# sourceMappingURL=runManagedCliUpdate.d.ts.map
|
package/node_modules/@happier-dev/cli-common/dist/firstPartyRuntime/runManagedCliUpdate.d.ts.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"runManagedCliUpdate.d.ts","sourceRoot":"","sources":["../../src/firstPartyRuntime/runManagedCliUpdate.ts"],"names":[],"mappings":"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"}
|