@happier-dev/stack 0.2.12 → 0.2.14-preview.1
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/embeddedFeaturePolicies.generated.d.ts +1 -1
- package/node_modules/@happier-dev/protocol/dist/features/embeddedFeaturePolicies.generated.d.ts.map +1 -1
- package/node_modules/@happier-dev/protocol/dist/features/embeddedFeaturePolicies.generated.js +1 -1
- package/node_modules/@happier-dev/protocol/dist/features/embeddedFeaturePolicies.generated.js.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 +11 -4
- 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
package/node_modules/@happier-dev/cli-common/dist/firstPartyRuntime/ensureHappierCliPathExposure.js
ADDED
|
@@ -0,0 +1,494 @@
|
|
|
1
|
+
import { execFile } from 'node:child_process';
|
|
2
|
+
import { accessSync, constants as fsConstants, existsSync, realpathSync, statSync } from 'node:fs';
|
|
3
|
+
import { appendFile, readFile, writeFile } from 'node:fs/promises';
|
|
4
|
+
import { homedir, userInfo } from 'node:os';
|
|
5
|
+
import { basename, delimiter as pathDelimiter, join, win32 } from 'node:path';
|
|
6
|
+
import { resolveWindowsCommandOnPath } from '../process/windows/resolveWindowsCommandInvocation.js';
|
|
7
|
+
import { buildServicePath } from '../service/path.js';
|
|
8
|
+
import { readHappierCliChoiceSync } from './happierCliChoice.js';
|
|
9
|
+
export const HAPPIER_DESKTOP_PATH_MARKER_LINE = '# Added by Happier Desktop';
|
|
10
|
+
/** User-scoped environment variable holding the PATH entries Desktop added on Windows. */
|
|
11
|
+
export const HAPPIER_DESKTOP_WINDOWS_PATH_PROVENANCE_VARIABLE = 'HAPPIER_DESKTOP_PATH_ENTRIES';
|
|
12
|
+
/**
|
|
13
|
+
* User-scoped environment variable holding the moves Desktop made in the user PATH on Windows
|
|
14
|
+
* (R13 b): one record per moved entry, `;`-separated, each `<entry>|<entry it was moved ahead of>|…`.
|
|
15
|
+
* `|` cannot occur in a Windows path, and `;` cannot occur in a PATH entry.
|
|
16
|
+
*/
|
|
17
|
+
export const HAPPIER_DESKTOP_WINDOWS_PATH_MOVES_VARIABLE = 'HAPPIER_DESKTOP_PATH_MOVES';
|
|
18
|
+
const DESKTOP_EXPORT_LINE_PATTERN = /^export PATH="[^"\n]+:\$PATH"$/u;
|
|
19
|
+
export function renderHappierCliPathExportLine(binDir) {
|
|
20
|
+
return `export PATH="${binDir}:$PATH"`;
|
|
21
|
+
}
|
|
22
|
+
export function resolveHappierCliShellProfilePlan(params) {
|
|
23
|
+
const shellName = basename(String(params.shell ?? '').trim());
|
|
24
|
+
const home = params.homeDir;
|
|
25
|
+
if (shellName === 'zsh') {
|
|
26
|
+
return { rcFiles: [join(home, '.zshrc'), join(home, '.zprofile')], reloadFile: join(home, '.zshrc') };
|
|
27
|
+
}
|
|
28
|
+
if (shellName === 'bash') {
|
|
29
|
+
const bashProfile = join(home, '.bash_profile');
|
|
30
|
+
return {
|
|
31
|
+
rcFiles: [join(home, '.bashrc'), params.fileExists(bashProfile) ? bashProfile : join(home, '.profile')],
|
|
32
|
+
reloadFile: join(home, '.bashrc'),
|
|
33
|
+
};
|
|
34
|
+
}
|
|
35
|
+
return { rcFiles: [join(home, '.profile')], reloadFile: join(home, '.profile') };
|
|
36
|
+
}
|
|
37
|
+
/**
|
|
38
|
+
* Every profile file the table above can target, for any supported shell.
|
|
39
|
+
*
|
|
40
|
+
* `ensure` writes for the shell the user runs today; `remove` must undo what Desktop wrote under
|
|
41
|
+
* whatever shell was current then, so it works over this union instead. `fileExists: () => true`
|
|
42
|
+
* yields the maximal set (`.bash_profile` and `.profile` both appear); removal skips files that
|
|
43
|
+
* are absent, so no probe is needed here.
|
|
44
|
+
*/
|
|
45
|
+
function resolveHappierCliShellProfileUnion(homeDir) {
|
|
46
|
+
const files = new Set();
|
|
47
|
+
for (const shell of ['zsh', 'bash', '']) {
|
|
48
|
+
for (const rcFile of resolveHappierCliShellProfilePlan({ shell, homeDir, fileExists: () => true }).rcFiles) {
|
|
49
|
+
files.add(rcFile);
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
return [...files];
|
|
53
|
+
}
|
|
54
|
+
function isPathUpdateDisabled(processEnv) {
|
|
55
|
+
return String(processEnv.HAPPIER_NO_PATH_UPDATE ?? '').trim() === '1';
|
|
56
|
+
}
|
|
57
|
+
function describeError(error) {
|
|
58
|
+
return error instanceof Error && error.message.trim() ? error.message.trim() : String(error);
|
|
59
|
+
}
|
|
60
|
+
export async function ensureHappierCliPathExposure(params) {
|
|
61
|
+
if (isPathUpdateDisabled(params.processEnv)) {
|
|
62
|
+
return { changed: false, shellReloadHint: null, failure: null, existingCommand: null };
|
|
63
|
+
}
|
|
64
|
+
const choice = readHappierCliChoiceSync({ processEnv: params.processEnv });
|
|
65
|
+
if (choice?.mode === 'own') {
|
|
66
|
+
// R12 "Keep my own": the terminal keeps the user's CLI, so no line puts ours in front of it.
|
|
67
|
+
return { changed: false, shellReloadHint: null, failure: null, existingCommand: choice.command };
|
|
68
|
+
}
|
|
69
|
+
const resolved = resolveHappierOnPath(params.processEnv);
|
|
70
|
+
const existingCommand = resolved && !isManagedShim(resolved, params.binDir) ? resolved : null;
|
|
71
|
+
if (resolved && !existingCommand) {
|
|
72
|
+
// Already the managed shim (for example the installer's `~/.local/bin/happier` link to it):
|
|
73
|
+
// there is nothing to expose, and a second export line would only duplicate it.
|
|
74
|
+
return { changed: false, shellReloadHint: null, failure: null, existingCommand: null };
|
|
75
|
+
}
|
|
76
|
+
if (existingCommand && choice?.mode !== 'managed') {
|
|
77
|
+
return { changed: false, shellReloadHint: null, failure: null, existingCommand };
|
|
78
|
+
}
|
|
79
|
+
// No other `happier`, or this computer chose "Let Happier manage it" (R12 amends INV5): the line
|
|
80
|
+
// is written even though another CLI resolves, so a new terminal runs the managed CLI first.
|
|
81
|
+
const exposed = process.platform === 'win32'
|
|
82
|
+
? await ensureWindowsUserPathExposure({ ...params, putFirst: existingCommand !== null })
|
|
83
|
+
: await ensurePosixProfileExposure(params);
|
|
84
|
+
return { ...exposed, existingCommand };
|
|
85
|
+
}
|
|
86
|
+
/**
|
|
87
|
+
* A `happier` on PATH that is not this Happier home's managed shim — one the user installed
|
|
88
|
+
* (npm, Homebrew, a manual copy) — or `null` when every `happier` found is the managed shim
|
|
89
|
+
* (including the installer's `~/.local/bin` link to it). The same search path the PATH exposure
|
|
90
|
+
* above uses, walked past the managed shim (R13 b): after "Let Happier manage it" the managed shim
|
|
91
|
+
* answers first, and the old copy the person may still remove sits behind it. So "another CLI
|
|
92
|
+
* exists" means one thing everywhere — the question, the resolver and Settings (R12).
|
|
93
|
+
*/
|
|
94
|
+
export function resolveForeignHappierCli(params) {
|
|
95
|
+
return resolveHappierOnPath(params.processEnv, (candidate) => !isManagedShim(candidate, params.binDir));
|
|
96
|
+
}
|
|
97
|
+
export function resolveTerminalHappierCli(params) {
|
|
98
|
+
const command = resolveHappierOnPath(params.processEnv);
|
|
99
|
+
if (!command)
|
|
100
|
+
return null;
|
|
101
|
+
if (!isManagedShim(command, params.binDir))
|
|
102
|
+
return { command, managed: false, desktopExposed: false };
|
|
103
|
+
const shimPath = join(params.binDir, process.platform === 'win32' ? 'happier.exe' : 'happier');
|
|
104
|
+
const direct = process.platform === 'win32' ? sameWindowsPathEntry(command, shimPath) : command === shimPath;
|
|
105
|
+
const recordedByDesktop = process.platform !== 'win32' || [
|
|
106
|
+
...splitWindowsPathEntries(readEnvCaseInsensitive(params.processEnv, HAPPIER_DESKTOP_WINDOWS_PATH_PROVENANCE_VARIABLE)),
|
|
107
|
+
...parseWindowsPathMoves(readEnvCaseInsensitive(params.processEnv, HAPPIER_DESKTOP_WINDOWS_PATH_MOVES_VARIABLE)).map((move) => move.entry),
|
|
108
|
+
].some((entry) => sameWindowsPathEntry(entry, params.binDir));
|
|
109
|
+
return { command, managed: true, desktopExposed: direct && recordedByDesktop };
|
|
110
|
+
}
|
|
111
|
+
function readEnvCaseInsensitive(env, name) {
|
|
112
|
+
const key = Object.keys(env).find((candidate) => candidate.toLowerCase() === name.toLowerCase());
|
|
113
|
+
const value = key === undefined ? undefined : env[key];
|
|
114
|
+
return typeof value === 'string' ? value : null;
|
|
115
|
+
}
|
|
116
|
+
function isManagedShim(candidate, binDir) {
|
|
117
|
+
return isSameFile(candidate, join(binDir, process.platform === 'win32' ? 'happier.exe' : 'happier'));
|
|
118
|
+
}
|
|
119
|
+
/**
|
|
120
|
+
* The `happier` a new terminal would run, or `null` when none resolves.
|
|
121
|
+
*
|
|
122
|
+
* On macOS an app opened from the Dock or Finder gets launchd's PATH (`/usr/bin:/bin:…`), which
|
|
123
|
+
* leaves out Homebrew, the npm-global default and the per-user bins where a user's own `happier`
|
|
124
|
+
* lives. The search there is the service PATH owner's (`buildServicePath`: this PATH, then the
|
|
125
|
+
* per-user bins, then its fixed macOS list). A version manager's shim directory (nvm, fnm, volta)
|
|
126
|
+
* is only on the login shell's PATH and is not detected (INV5). `accept` skips matches, so a caller
|
|
127
|
+
* looking for a particular kind of `happier` gets the first one of that kind.
|
|
128
|
+
*/
|
|
129
|
+
function resolveHappierOnPath(processEnv, accept = () => true) {
|
|
130
|
+
if (process.platform === 'win32') {
|
|
131
|
+
return resolveWindowsCommandOnPath('happier', processEnv, accept);
|
|
132
|
+
}
|
|
133
|
+
for (const dir of resolveHappierCliSearchPath(processEnv).split(pathDelimiter)) {
|
|
134
|
+
if (!dir.trim())
|
|
135
|
+
continue;
|
|
136
|
+
const candidate = join(dir, 'happier');
|
|
137
|
+
try {
|
|
138
|
+
accessSync(candidate, fsConstants.X_OK);
|
|
139
|
+
if (statSync(candidate).isFile() && accept(candidate))
|
|
140
|
+
return candidate;
|
|
141
|
+
}
|
|
142
|
+
catch {
|
|
143
|
+
// not here; keep looking
|
|
144
|
+
}
|
|
145
|
+
}
|
|
146
|
+
return null;
|
|
147
|
+
}
|
|
148
|
+
/**
|
|
149
|
+
* The PATH a new terminal's `happier` is looked up in, as above: the process PATH, extended on
|
|
150
|
+
* macOS by the service PATH owner's list because a Dock-launched app gets launchd's PATH. A CLI
|
|
151
|
+
* found here is also run with it (R12): an npm `happier` is `#!/usr/bin/env node`, and the `node`
|
|
152
|
+
* beside it (Homebrew, `/usr/local/bin`) is only on that same list.
|
|
153
|
+
*/
|
|
154
|
+
export function resolveHappierCliSearchPath(processEnv) {
|
|
155
|
+
return process.platform === 'darwin'
|
|
156
|
+
? buildServicePath({ basePath: String(processEnv.PATH ?? ''), homeDir: resolvePosixHomeDir(processEnv), platform: 'darwin' })
|
|
157
|
+
: String(processEnv.PATH ?? '');
|
|
158
|
+
}
|
|
159
|
+
function isSameFile(left, right) {
|
|
160
|
+
try {
|
|
161
|
+
return realpathSync(left) === realpathSync(right);
|
|
162
|
+
}
|
|
163
|
+
catch {
|
|
164
|
+
return false;
|
|
165
|
+
}
|
|
166
|
+
}
|
|
167
|
+
export async function removeHappierCliPathExposure(params) {
|
|
168
|
+
if (process.platform === 'win32') {
|
|
169
|
+
return await removeWindowsUserPathExposure(params);
|
|
170
|
+
}
|
|
171
|
+
return await removePosixProfileExposure(params);
|
|
172
|
+
}
|
|
173
|
+
// POSIX: shell profiles ------------------------------------------------------------------------
|
|
174
|
+
function resolvePosixHomeDir(processEnv) {
|
|
175
|
+
return String(processEnv.HOME ?? '').trim() || homedir();
|
|
176
|
+
}
|
|
177
|
+
function resolvePosixProfilePlan(processEnv) {
|
|
178
|
+
// A desktop app launched from a launcher may not inherit $SHELL; the login shell is the same
|
|
179
|
+
// fact `$SHELL` carries in a terminal, so it is the equivalent input for the installer's table.
|
|
180
|
+
const shell = String(processEnv.SHELL ?? '').trim() || readLoginShell();
|
|
181
|
+
return resolveHappierCliShellProfilePlan({ shell, homeDir: resolvePosixHomeDir(processEnv), fileExists: existsSync });
|
|
182
|
+
}
|
|
183
|
+
function readLoginShell() {
|
|
184
|
+
try {
|
|
185
|
+
return userInfo().shell ?? undefined;
|
|
186
|
+
}
|
|
187
|
+
catch {
|
|
188
|
+
return undefined;
|
|
189
|
+
}
|
|
190
|
+
}
|
|
191
|
+
function profileContainsLine(content, line) {
|
|
192
|
+
return content.split('\n').some((candidate) => candidate.trim() === line);
|
|
193
|
+
}
|
|
194
|
+
async function ensurePosixProfileExposure(params) {
|
|
195
|
+
const plan = resolvePosixProfilePlan(params.processEnv);
|
|
196
|
+
const exportLine = renderHappierCliPathExportLine(params.binDir);
|
|
197
|
+
let changed = false;
|
|
198
|
+
const failures = [];
|
|
199
|
+
for (const rcFile of plan.rcFiles) {
|
|
200
|
+
try {
|
|
201
|
+
const existing = existsSync(rcFile) ? await readFile(rcFile, 'utf8') : null;
|
|
202
|
+
if (existing !== null && profileContainsLine(existing, exportLine)) {
|
|
203
|
+
continue;
|
|
204
|
+
}
|
|
205
|
+
// Same shape as the installer's `printf '\n%s\n'`, with the provenance marker directly above.
|
|
206
|
+
await appendFile(rcFile, `\n${HAPPIER_DESKTOP_PATH_MARKER_LINE}\n${exportLine}\n`, 'utf8');
|
|
207
|
+
changed = true;
|
|
208
|
+
}
|
|
209
|
+
catch (error) {
|
|
210
|
+
failures.push(`${rcFile}: ${describeError(error)}`);
|
|
211
|
+
}
|
|
212
|
+
}
|
|
213
|
+
return {
|
|
214
|
+
changed,
|
|
215
|
+
shellReloadHint: changed ? `Open a new terminal, or run: source "${plan.reloadFile}"` : null,
|
|
216
|
+
failure: failures.length > 0 ? `Could not update shell profile ${failures.join('; ')}` : null,
|
|
217
|
+
existingCommand: null,
|
|
218
|
+
};
|
|
219
|
+
}
|
|
220
|
+
function stripDesktopCreatedLines(content) {
|
|
221
|
+
const lines = content.split('\n');
|
|
222
|
+
const kept = [];
|
|
223
|
+
let removed = false;
|
|
224
|
+
for (let index = 0; index < lines.length; index += 1) {
|
|
225
|
+
const line = lines[index] ?? '';
|
|
226
|
+
const next = lines[index + 1];
|
|
227
|
+
if (line.trim() === HAPPIER_DESKTOP_PATH_MARKER_LINE && next !== undefined && DESKTOP_EXPORT_LINE_PATTERN.test(next.trim())) {
|
|
228
|
+
if (kept.length > 0 && kept[kept.length - 1] === '') {
|
|
229
|
+
// Drop the separator blank line the append wrote in front of the marker.
|
|
230
|
+
kept.pop();
|
|
231
|
+
}
|
|
232
|
+
index += 1;
|
|
233
|
+
removed = true;
|
|
234
|
+
continue;
|
|
235
|
+
}
|
|
236
|
+
kept.push(line);
|
|
237
|
+
}
|
|
238
|
+
return { content: removed ? kept.join('\n') : content, removed };
|
|
239
|
+
}
|
|
240
|
+
async function removePosixProfileExposure(params) {
|
|
241
|
+
let removed = false;
|
|
242
|
+
const failures = [];
|
|
243
|
+
for (const rcFile of resolveHappierCliShellProfileUnion(resolvePosixHomeDir(params.processEnv))) {
|
|
244
|
+
try {
|
|
245
|
+
if (!existsSync(rcFile)) {
|
|
246
|
+
continue;
|
|
247
|
+
}
|
|
248
|
+
const stripped = stripDesktopCreatedLines(await readFile(rcFile, 'utf8'));
|
|
249
|
+
if (!stripped.removed) {
|
|
250
|
+
continue;
|
|
251
|
+
}
|
|
252
|
+
await writeFile(rcFile, stripped.content, 'utf8');
|
|
253
|
+
removed = true;
|
|
254
|
+
}
|
|
255
|
+
catch (error) {
|
|
256
|
+
failures.push(`${rcFile}: ${describeError(error)}`);
|
|
257
|
+
}
|
|
258
|
+
}
|
|
259
|
+
return {
|
|
260
|
+
removed,
|
|
261
|
+
failure: failures.length > 0 ? `Could not update shell profile ${failures.join('; ')}` : null,
|
|
262
|
+
};
|
|
263
|
+
}
|
|
264
|
+
// Windows: user PATH in the environment (HKCU\Environment) --------------------------------------
|
|
265
|
+
function splitWindowsPathEntries(value) {
|
|
266
|
+
return String(value ?? '').split(';').map((entry) => entry.trim()).filter(Boolean);
|
|
267
|
+
}
|
|
268
|
+
function sameWindowsPathEntry(left, right) {
|
|
269
|
+
return left.toLowerCase() === right.toLowerCase();
|
|
270
|
+
}
|
|
271
|
+
function parseWindowsPathMoves(value) {
|
|
272
|
+
return splitWindowsPathEntries(value).flatMap((record) => {
|
|
273
|
+
const [entry, ...movedAhead] = record.split('|').map((part) => part.trim());
|
|
274
|
+
return entry ? [{ entry, movedAhead: movedAhead.filter(Boolean) }] : [];
|
|
275
|
+
});
|
|
276
|
+
}
|
|
277
|
+
function renderWindowsPathMoves(moves) {
|
|
278
|
+
return moves.length > 0 ? moves.map((move) => [move.entry, ...move.movedAhead].join('|')).join(';') : null;
|
|
279
|
+
}
|
|
280
|
+
export function planWindowsUserPathExposure(params) {
|
|
281
|
+
const currentPath = params.userPath ?? '';
|
|
282
|
+
const entries = splitWindowsPathEntries(currentPath);
|
|
283
|
+
const index = entries.findIndex((entry) => sameWindowsPathEntry(entry, params.binDir));
|
|
284
|
+
const existing = entries[index];
|
|
285
|
+
if (existing !== undefined) {
|
|
286
|
+
if (!params.putFirst || index === 0) {
|
|
287
|
+
return { changed: false, userPath: currentPath, provenance: params.provenance, moves: params.moves };
|
|
288
|
+
}
|
|
289
|
+
const move = { entry: existing, movedAhead: entries.slice(0, index) };
|
|
290
|
+
return {
|
|
291
|
+
changed: true,
|
|
292
|
+
userPath: [existing, ...entries.filter((_, entryIndex) => entryIndex !== index)].join(';'),
|
|
293
|
+
provenance: params.provenance,
|
|
294
|
+
moves: renderWindowsPathMoves([
|
|
295
|
+
...parseWindowsPathMoves(params.moves).filter((recorded) => !sameWindowsPathEntry(recorded.entry, existing)),
|
|
296
|
+
move,
|
|
297
|
+
]),
|
|
298
|
+
};
|
|
299
|
+
}
|
|
300
|
+
const provenanceEntries = splitWindowsPathEntries(params.provenance);
|
|
301
|
+
return {
|
|
302
|
+
changed: true,
|
|
303
|
+
userPath: [params.binDir, ...entries].join(';'),
|
|
304
|
+
provenance: [...provenanceEntries, params.binDir].join(';'),
|
|
305
|
+
moves: params.moves,
|
|
306
|
+
};
|
|
307
|
+
}
|
|
308
|
+
/**
|
|
309
|
+
* Undo what Desktop changed in the user PATH, and only that: the entries it added are removed, and
|
|
310
|
+
* an entry it moved is put back behind the entries it was moved ahead of — only while that move
|
|
311
|
+
* still holds (the entry is still ahead of every one of them that is still there). Anything the
|
|
312
|
+
* person changed since — an entry they added, or putting ours back themselves — is left as it is.
|
|
313
|
+
* Both records are cleared: what no longer applies is not Desktop's to undo later.
|
|
314
|
+
*/
|
|
315
|
+
export function planWindowsUserPathRemoval(params) {
|
|
316
|
+
const currentPath = params.userPath ?? '';
|
|
317
|
+
const desktopCreated = splitWindowsPathEntries(params.provenance);
|
|
318
|
+
let entries = splitWindowsPathEntries(currentPath)
|
|
319
|
+
.filter((entry) => !desktopCreated.some((created) => sameWindowsPathEntry(created, entry)));
|
|
320
|
+
let removed = desktopCreated.length > 0;
|
|
321
|
+
for (const move of parseWindowsPathMoves(params.moves)) {
|
|
322
|
+
const index = entries.findIndex((entry) => sameWindowsPathEntry(entry, move.entry));
|
|
323
|
+
const aheadIndexes = move.movedAhead
|
|
324
|
+
.map((ahead) => entries.findIndex((entry) => sameWindowsPathEntry(entry, ahead)))
|
|
325
|
+
.filter((aheadIndex) => aheadIndex >= 0);
|
|
326
|
+
if (index < 0 || aheadIndexes.length === 0 || aheadIndexes.some((aheadIndex) => aheadIndex < index)) {
|
|
327
|
+
continue;
|
|
328
|
+
}
|
|
329
|
+
const lastAhead = Math.max(...aheadIndexes);
|
|
330
|
+
const moved = entries[index] ?? move.entry;
|
|
331
|
+
entries = [...entries.slice(0, index), ...entries.slice(index + 1, lastAhead + 1), moved, ...entries.slice(lastAhead + 1)];
|
|
332
|
+
removed = true;
|
|
333
|
+
}
|
|
334
|
+
if (!removed) {
|
|
335
|
+
return { removed: false, userPath: currentPath, provenance: null, moves: null };
|
|
336
|
+
}
|
|
337
|
+
return { removed: true, userPath: entries.join(';'), provenance: null, moves: null };
|
|
338
|
+
}
|
|
339
|
+
/**
|
|
340
|
+
* Names of the environment variables the PowerShell scripts read their inputs from.
|
|
341
|
+
*
|
|
342
|
+
* The values travel through the child environment, never as argv: `powershell.exe -Command` folds
|
|
343
|
+
* every argument after the script into the command text it parses, and a user `Path` contains `;`
|
|
344
|
+
* — PowerShell's statement separator — so passing it positionally truncates the value and then
|
|
345
|
+
* evaluates the rest as code.
|
|
346
|
+
*/
|
|
347
|
+
const WINDOWS_SCRIPT_ENV = {
|
|
348
|
+
provenanceName: 'HAPPIER_PATH_PROVENANCE_NAME',
|
|
349
|
+
userPath: 'HAPPIER_PATH_USER_PATH',
|
|
350
|
+
valueKind: 'HAPPIER_PATH_VALUE_KIND',
|
|
351
|
+
provenanceValue: 'HAPPIER_PATH_PROVENANCE_VALUE',
|
|
352
|
+
movesName: 'HAPPIER_PATH_MOVES_NAME',
|
|
353
|
+
movesValue: 'HAPPIER_PATH_MOVES_VALUE',
|
|
354
|
+
};
|
|
355
|
+
const WINDOWS_READ_USER_ENVIRONMENT_SCRIPT = [
|
|
356
|
+
'& {',
|
|
357
|
+
`$ProvenanceName = $env:${WINDOWS_SCRIPT_ENV.provenanceName}`,
|
|
358
|
+
`$MovesName = $env:${WINDOWS_SCRIPT_ENV.movesName}`,
|
|
359
|
+
"$key = [Microsoft.Win32.Registry]::CurrentUser.OpenSubKey('Environment', $false)",
|
|
360
|
+
'$userPath = $null',
|
|
361
|
+
"$kind = 'ExpandString'",
|
|
362
|
+
'$provenance = $null',
|
|
363
|
+
'$moves = $null',
|
|
364
|
+
'if ($key) {',
|
|
365
|
+
" $userPath = $key.GetValue('Path', $null, [Microsoft.Win32.RegistryValueOptions]::DoNotExpandEnvironmentNames)",
|
|
366
|
+
" if ($null -ne $userPath -and ($key.GetValueNames() -contains 'Path')) { $kind = $key.GetValueKind('Path').ToString() }",
|
|
367
|
+
' $provenance = $key.GetValue($ProvenanceName, $null, [Microsoft.Win32.RegistryValueOptions]::DoNotExpandEnvironmentNames)',
|
|
368
|
+
' $moves = $key.GetValue($MovesName, $null, [Microsoft.Win32.RegistryValueOptions]::DoNotExpandEnvironmentNames)',
|
|
369
|
+
' $key.Close()',
|
|
370
|
+
'}',
|
|
371
|
+
'[pscustomobject]@{ userPath = $userPath; userPathKind = $kind; provenance = $provenance; moves = $moves } | ConvertTo-Json -Compress',
|
|
372
|
+
'}',
|
|
373
|
+
].join('\n');
|
|
374
|
+
// Writes Path with its existing registry kind (so %VAR% entries keep expanding), then writes the
|
|
375
|
+
// provenance variable through [Environment], whose user-scope write broadcasts WM_SETTINGCHANGE so
|
|
376
|
+
// new terminals see both values.
|
|
377
|
+
const WINDOWS_WRITE_USER_ENVIRONMENT_SCRIPT = [
|
|
378
|
+
'& {',
|
|
379
|
+
`$UserPath = $env:${WINDOWS_SCRIPT_ENV.userPath}`,
|
|
380
|
+
`$Kind = $env:${WINDOWS_SCRIPT_ENV.valueKind}`,
|
|
381
|
+
`$ProvenanceName = $env:${WINDOWS_SCRIPT_ENV.provenanceName}`,
|
|
382
|
+
`$Provenance = $env:${WINDOWS_SCRIPT_ENV.provenanceValue}`,
|
|
383
|
+
`$MovesName = $env:${WINDOWS_SCRIPT_ENV.movesName}`,
|
|
384
|
+
`$Moves = $env:${WINDOWS_SCRIPT_ENV.movesValue}`,
|
|
385
|
+
// Refuse to write rather than clear the user PATH if the value did not arrive.
|
|
386
|
+
`if (-not $UserPath) { throw '${WINDOWS_SCRIPT_ENV.userPath} is not set.' }`,
|
|
387
|
+
"$key = [Microsoft.Win32.Registry]::CurrentUser.OpenSubKey('Environment', $true)",
|
|
388
|
+
"if (-not $key) { $key = [Microsoft.Win32.Registry]::CurrentUser.CreateSubKey('Environment') }",
|
|
389
|
+
"$valueKind = if ($Kind -eq 'String') { [Microsoft.Win32.RegistryValueKind]::String } else { [Microsoft.Win32.RegistryValueKind]::ExpandString }",
|
|
390
|
+
"$key.SetValue('Path', $UserPath, $valueKind)",
|
|
391
|
+
'$key.Close()',
|
|
392
|
+
"if ($Provenance) { [Environment]::SetEnvironmentVariable($ProvenanceName, $Provenance, [EnvironmentVariableTarget]::User) }",
|
|
393
|
+
"else { [Environment]::SetEnvironmentVariable($ProvenanceName, $null, [EnvironmentVariableTarget]::User) }",
|
|
394
|
+
"if ($Moves) { [Environment]::SetEnvironmentVariable($MovesName, $Moves, [EnvironmentVariableTarget]::User) }",
|
|
395
|
+
"else { [Environment]::SetEnvironmentVariable($MovesName, $null, [EnvironmentVariableTarget]::User) }",
|
|
396
|
+
'}',
|
|
397
|
+
].join('\n');
|
|
398
|
+
function parseWindowsUserEnvironmentSnapshot(stdout) {
|
|
399
|
+
const parsed = JSON.parse(stdout.trim());
|
|
400
|
+
if (!parsed || typeof parsed !== 'object') {
|
|
401
|
+
throw new Error('Unexpected user environment snapshot shape.');
|
|
402
|
+
}
|
|
403
|
+
const record = parsed;
|
|
404
|
+
return {
|
|
405
|
+
userPath: typeof record.userPath === 'string' ? record.userPath : null,
|
|
406
|
+
userPathKind: record.userPathKind === 'String' ? 'String' : 'ExpandString',
|
|
407
|
+
provenance: typeof record.provenance === 'string' && record.provenance.trim() ? record.provenance : null,
|
|
408
|
+
moves: typeof record.moves === 'string' && record.moves.trim() ? record.moves : null,
|
|
409
|
+
};
|
|
410
|
+
}
|
|
411
|
+
function resolveWindowsPowerShellPath(processEnv) {
|
|
412
|
+
const systemRoot = String(processEnv.SystemRoot ?? processEnv.SYSTEMROOT ?? processEnv.windir ?? processEnv.WINDIR ?? '').trim();
|
|
413
|
+
if (!systemRoot) {
|
|
414
|
+
throw new Error('SystemRoot is unavailable; cannot locate powershell.exe.');
|
|
415
|
+
}
|
|
416
|
+
return win32.join(systemRoot, 'System32', 'WindowsPowerShell', 'v1.0', 'powershell.exe');
|
|
417
|
+
}
|
|
418
|
+
function runWindowsPowerShell(processEnv, script, scriptEnv) {
|
|
419
|
+
const powershell = resolveWindowsPowerShellPath(processEnv);
|
|
420
|
+
return new Promise((resolve, reject) => {
|
|
421
|
+
execFile(powershell,
|
|
422
|
+
// The script is the last token on purpose — see WINDOWS_SCRIPT_ENV.
|
|
423
|
+
['-NoProfile', '-NonInteractive', '-ExecutionPolicy', 'Bypass', '-Command', script], { encoding: 'utf8', windowsHide: true, env: { ...processEnv, ...scriptEnv } }, (error, stdout, stderr) => {
|
|
424
|
+
if (error) {
|
|
425
|
+
reject(new Error(`powershell.exe failed: ${String(stderr).trim() || error.message}`));
|
|
426
|
+
return;
|
|
427
|
+
}
|
|
428
|
+
resolve(String(stdout));
|
|
429
|
+
});
|
|
430
|
+
});
|
|
431
|
+
}
|
|
432
|
+
async function readWindowsUserEnvironment(processEnv) {
|
|
433
|
+
const stdout = await runWindowsPowerShell(processEnv, WINDOWS_READ_USER_ENVIRONMENT_SCRIPT, {
|
|
434
|
+
[WINDOWS_SCRIPT_ENV.provenanceName]: HAPPIER_DESKTOP_WINDOWS_PATH_PROVENANCE_VARIABLE,
|
|
435
|
+
[WINDOWS_SCRIPT_ENV.movesName]: HAPPIER_DESKTOP_WINDOWS_PATH_MOVES_VARIABLE,
|
|
436
|
+
});
|
|
437
|
+
return parseWindowsUserEnvironmentSnapshot(stdout);
|
|
438
|
+
}
|
|
439
|
+
async function writeWindowsUserEnvironment(processEnv, value) {
|
|
440
|
+
await runWindowsPowerShell(processEnv, WINDOWS_WRITE_USER_ENVIRONMENT_SCRIPT, {
|
|
441
|
+
[WINDOWS_SCRIPT_ENV.userPath]: value.userPath,
|
|
442
|
+
[WINDOWS_SCRIPT_ENV.valueKind]: value.userPathKind,
|
|
443
|
+
[WINDOWS_SCRIPT_ENV.provenanceName]: HAPPIER_DESKTOP_WINDOWS_PATH_PROVENANCE_VARIABLE,
|
|
444
|
+
[WINDOWS_SCRIPT_ENV.provenanceValue]: value.provenance ?? '',
|
|
445
|
+
[WINDOWS_SCRIPT_ENV.movesName]: HAPPIER_DESKTOP_WINDOWS_PATH_MOVES_VARIABLE,
|
|
446
|
+
[WINDOWS_SCRIPT_ENV.movesValue]: value.moves ?? '',
|
|
447
|
+
});
|
|
448
|
+
}
|
|
449
|
+
async function ensureWindowsUserPathExposure(params) {
|
|
450
|
+
try {
|
|
451
|
+
const snapshot = await readWindowsUserEnvironment(params.processEnv);
|
|
452
|
+
const planned = planWindowsUserPathExposure({
|
|
453
|
+
userPath: snapshot.userPath,
|
|
454
|
+
provenance: snapshot.provenance,
|
|
455
|
+
moves: snapshot.moves,
|
|
456
|
+
binDir: params.binDir,
|
|
457
|
+
putFirst: params.putFirst,
|
|
458
|
+
});
|
|
459
|
+
if (!planned.changed) {
|
|
460
|
+
return { changed: false, shellReloadHint: null, failure: null, existingCommand: null };
|
|
461
|
+
}
|
|
462
|
+
await writeWindowsUserEnvironment(params.processEnv, {
|
|
463
|
+
userPath: planned.userPath,
|
|
464
|
+
userPathKind: snapshot.userPathKind,
|
|
465
|
+
provenance: planned.provenance,
|
|
466
|
+
moves: planned.moves,
|
|
467
|
+
});
|
|
468
|
+
return { changed: true, shellReloadHint: 'Open a new terminal to use happier.', failure: null, existingCommand: null };
|
|
469
|
+
}
|
|
470
|
+
catch (error) {
|
|
471
|
+
return { changed: false, shellReloadHint: null, failure: `Could not update the user PATH: ${describeError(error)}`, existingCommand: null };
|
|
472
|
+
}
|
|
473
|
+
}
|
|
474
|
+
async function removeWindowsUserPathExposure(params) {
|
|
475
|
+
try {
|
|
476
|
+
const snapshot = await readWindowsUserEnvironment(params.processEnv);
|
|
477
|
+
const planned = planWindowsUserPathRemoval({ userPath: snapshot.userPath, provenance: snapshot.provenance, moves: snapshot.moves });
|
|
478
|
+
// A record that no longer applies is still cleared, so a later removal cannot act on it.
|
|
479
|
+
if (!planned.removed && snapshot.provenance === null && snapshot.moves === null) {
|
|
480
|
+
return { removed: false, failure: null };
|
|
481
|
+
}
|
|
482
|
+
await writeWindowsUserEnvironment(params.processEnv, {
|
|
483
|
+
userPath: planned.userPath,
|
|
484
|
+
userPathKind: snapshot.userPathKind,
|
|
485
|
+
provenance: planned.provenance,
|
|
486
|
+
moves: planned.moves,
|
|
487
|
+
});
|
|
488
|
+
return { removed: true, failure: null };
|
|
489
|
+
}
|
|
490
|
+
catch (error) {
|
|
491
|
+
return { removed: false, failure: `Could not update the user PATH: ${describeError(error)}` };
|
|
492
|
+
}
|
|
493
|
+
}
|
|
494
|
+
//# sourceMappingURL=ensureHappierCliPathExposure.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ensureHappierCliPathExposure.js","sourceRoot":"","sources":["../../src/firstPartyRuntime/ensureHappierCliPathExposure.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"extractReleasePayloadRootFromArchive.d.ts","sourceRoot":"","sources":["../../src/firstPartyRuntime/extractReleasePayloadRootFromArchive.ts"],"names":[],"mappings":"AAKA,wBAAsB,oCAAoC,CAAC,MAAM,EAAE,QAAQ,CAAC;IAC1E,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"extractReleasePayloadRootFromArchive.d.ts","sourceRoot":"","sources":["../../src/firstPartyRuntime/extractReleasePayloadRootFromArchive.ts"],"names":[],"mappings":"AAKA,wBAAsB,oCAAoC,CAAC,MAAM,EAAE,QAAQ,CAAC;IAC1E,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,CAAC,EAAE,WAAW,CAAC;CACtB,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC,CAiCnB"}
|
|
@@ -6,6 +6,7 @@ export async function extractReleasePayloadRootFromArchive(params) {
|
|
|
6
6
|
archiveName: params.archiveName,
|
|
7
7
|
archivePath: params.archivePath,
|
|
8
8
|
extractDir: params.extractDir,
|
|
9
|
+
signal: params.signal,
|
|
9
10
|
});
|
|
10
11
|
const entries = (await readdir(params.extractDir)).filter((entry) => !entry.startsWith('.'));
|
|
11
12
|
if (entries.length === 1) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"extractReleasePayloadRootFromArchive.js","sourceRoot":"","sources":["../../src/firstPartyRuntime/extractReleasePayloadRootFromArchive.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAEjC,OAAO,EAAE,0CAA0C,EAAE,MAAM,gDAAgD,CAAC;AAE5G,MAAM,CAAC,KAAK,UAAU,oCAAoC,CAAC,
|
|
1
|
+
{"version":3,"file":"extractReleasePayloadRootFromArchive.js","sourceRoot":"","sources":["../../src/firstPartyRuntime/extractReleasePayloadRootFromArchive.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAEjC,OAAO,EAAE,0CAA0C,EAAE,MAAM,gDAAgD,CAAC;AAE5G,MAAM,CAAC,KAAK,UAAU,oCAAoC,CAAC,MAKzD;IACA,MAAM,0CAA0C,CAAC;QAC/C,WAAW,EAAE,MAAM,CAAC,WAAW;QAC/B,WAAW,EAAE,MAAM,CAAC,WAAW;QAC/B,UAAU,EAAE,MAAM,CAAC,UAAU;QAC7B,MAAM,EAAE,MAAM,CAAC,MAAM;KACtB,CAAC,CAAC;IAEH,MAAM,OAAO,GAAG,CAAC,MAAM,OAAO,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC;IAC7F,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACzB,OAAO,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC,CAAE,CAAC,CAAC;IAC9C,CAAC;IAED,MAAM,UAAU,GAAG,MAAM,OAAO,CAAC,GAAG,CAClC,OAAO,CAAC,GAAG,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE,CAAC,CAAC;QAC3B,IAAI;QACJ,IAAI,EAAE,MAAM,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC;KACjD,CAAC,CAAC,CACJ,CAAC;IAEF,MAAM,UAAU,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IACrG,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC5B,OAAO,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE,UAAU,CAAC,CAAC,CAAE,CAAC,CAAC;IACjD,CAAC;IAED,MAAM,WAAW,GAAG,MAAM,CAAC,WAAW,CAAC,OAAO,CAAC,+BAA+B,EAAE,EAAE,CAAC,CAAC;IACpF,IAAI,UAAU,CAAC,QAAQ,CAAC,WAAW,CAAC,EAAE,CAAC;QACrC,OAAO,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE,WAAW,CAAC,CAAC;IAC9C,CAAC;IAED,MAAM,IAAI,KAAK,CACb,yEAAyE,MAAM,CAAC,WAAW,YAAY,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAC5H,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Which Happier CLI this computer runs (plan R12): the one this app installs and keeps first on
|
|
3
|
+
* PATH (`managed`), or a `happier` the user installed themselves (`own`, with the path of that CLI).
|
|
4
|
+
*
|
|
5
|
+
* One answer per Happier home, recorded beside the managed layout's other records
|
|
6
|
+
* (`current.version`, `default-cli-release-channel.json`), so every Happier app on this computer and
|
|
7
|
+
* every bootstrap task resolves the same CLI. No record means nobody was asked: a computer with no
|
|
8
|
+
* other `happier` keeps the managed default without a question.
|
|
9
|
+
*/
|
|
10
|
+
export type HappierCliChoice = Readonly<{
|
|
11
|
+
mode: 'managed';
|
|
12
|
+
}> | Readonly<{
|
|
13
|
+
mode: 'own';
|
|
14
|
+
command: string;
|
|
15
|
+
}>;
|
|
16
|
+
export declare function resolveHappierCliChoiceStatePath(params?: Readonly<{
|
|
17
|
+
processEnv?: NodeJS.ProcessEnv;
|
|
18
|
+
}>): string;
|
|
19
|
+
/** The recorded choice; `null` when none was recorded or the record cannot be read as one. */
|
|
20
|
+
export declare function readHappierCliChoiceSync(params?: Readonly<{
|
|
21
|
+
processEnv?: NodeJS.ProcessEnv;
|
|
22
|
+
}>): HappierCliChoice | null;
|
|
23
|
+
export declare function writeHappierCliChoice(params: Readonly<{
|
|
24
|
+
choice: HappierCliChoice;
|
|
25
|
+
processEnv?: NodeJS.ProcessEnv;
|
|
26
|
+
}>): Promise<void>;
|
|
27
|
+
//# sourceMappingURL=happierCliChoice.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"happierCliChoice.d.ts","sourceRoot":"","sources":["../../src/firstPartyRuntime/happierCliChoice.ts"],"names":[],"mappings":"AAOA;;;;;;;;GAQG;AACH,MAAM,MAAM,gBAAgB,GACxB,QAAQ,CAAC;IAAE,IAAI,EAAE,SAAS,CAAA;CAAE,CAAC,GAC7B,QAAQ,CAAC;IAAE,IAAI,EAAE,KAAK,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,CAAC,CAAC;AAE/C,wBAAgB,gCAAgC,CAAC,MAAM,GAAE,QAAQ,CAAC;IAChE,UAAU,CAAC,EAAE,MAAM,CAAC,UAAU,CAAC;CAChC,CAAM,GAAG,MAAM,CAEf;AAWD,8FAA8F;AAC9F,wBAAgB,wBAAwB,CAAC,MAAM,GAAE,QAAQ,CAAC;IACxD,UAAU,CAAC,EAAE,MAAM,CAAC,UAAU,CAAC;CAChC,CAAM,GAAG,gBAAgB,GAAG,IAAI,CAMhC;AAED,wBAAsB,qBAAqB,CAAC,MAAM,EAAE,QAAQ,CAAC;IAC3D,MAAM,EAAE,gBAAgB,CAAC;IACzB,UAAU,CAAC,EAAE,MAAM,CAAC,UAAU,CAAC;CAChC,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,CAOjB"}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import { readFileSync } from 'node:fs';
|
|
2
|
+
import { mkdir, writeFile } from 'node:fs/promises';
|
|
3
|
+
import { dirname } from 'node:path';
|
|
4
|
+
import { joinPathForPathShape } from '../path/pathShape.js';
|
|
5
|
+
import { resolveHappyHomeDirFromEnvironment } from '../providers/resolveHappyHomeDir.js';
|
|
6
|
+
export function resolveHappierCliChoiceStatePath(params = {}) {
|
|
7
|
+
return joinPathForPathShape(resolveHappyHomeDirFromEnvironment(params.processEnv ?? process.env), 'cli-choice.json');
|
|
8
|
+
}
|
|
9
|
+
function parseHappierCliChoice(raw) {
|
|
10
|
+
const parsed = JSON.parse(raw);
|
|
11
|
+
if (!parsed || typeof parsed !== 'object' || Array.isArray(parsed))
|
|
12
|
+
return null;
|
|
13
|
+
const record = parsed;
|
|
14
|
+
if (record.mode === 'managed')
|
|
15
|
+
return { mode: 'managed' };
|
|
16
|
+
const command = typeof record.command === 'string' ? record.command.trim() : '';
|
|
17
|
+
return record.mode === 'own' && command ? { mode: 'own', command } : null;
|
|
18
|
+
}
|
|
19
|
+
/** The recorded choice; `null` when none was recorded or the record cannot be read as one. */
|
|
20
|
+
export function readHappierCliChoiceSync(params = {}) {
|
|
21
|
+
try {
|
|
22
|
+
return parseHappierCliChoice(readFileSync(resolveHappierCliChoiceStatePath(params), 'utf8'));
|
|
23
|
+
}
|
|
24
|
+
catch {
|
|
25
|
+
return null;
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
export async function writeHappierCliChoice(params) {
|
|
29
|
+
const statePath = resolveHappierCliChoiceStatePath(params);
|
|
30
|
+
const payload = params.choice.mode === 'own'
|
|
31
|
+
? { mode: 'own', command: params.choice.command }
|
|
32
|
+
: { mode: 'managed' };
|
|
33
|
+
await mkdir(dirname(statePath), { recursive: true });
|
|
34
|
+
await writeFile(statePath, `${JSON.stringify(payload)}\n`, 'utf8');
|
|
35
|
+
}
|
|
36
|
+
//# sourceMappingURL=happierCliChoice.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"happierCliChoice.js","sourceRoot":"","sources":["../../src/firstPartyRuntime/happierCliChoice.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACvC,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AACpD,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEpC,OAAO,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AAC5D,OAAO,EAAE,kCAAkC,EAAE,MAAM,qCAAqC,CAAC;AAezF,MAAM,UAAU,gCAAgC,CAAC,MAAM,GAElD,EAAE;IACL,OAAO,oBAAoB,CAAC,kCAAkC,CAAC,MAAM,CAAC,UAAU,IAAI,OAAO,CAAC,GAAG,CAAC,EAAE,iBAAiB,CAAC,CAAC;AACvH,CAAC;AAED,SAAS,qBAAqB,CAAC,GAAW;IACxC,MAAM,MAAM,GAAY,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IACxC,IAAI,CAAC,MAAM,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC;QAAE,OAAO,IAAI,CAAC;IAChF,MAAM,MAAM,GAAG,MAAiC,CAAC;IACjD,IAAI,MAAM,CAAC,IAAI,KAAK,SAAS;QAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;IAC1D,MAAM,OAAO,GAAG,OAAO,MAAM,CAAC,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;IAChF,OAAO,MAAM,CAAC,IAAI,KAAK,KAAK,IAAI,OAAO,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;AAC5E,CAAC;AAED,8FAA8F;AAC9F,MAAM,UAAU,wBAAwB,CAAC,MAAM,GAE1C,EAAE;IACL,IAAI,CAAC;QACH,OAAO,qBAAqB,CAAC,YAAY,CAAC,gCAAgC,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC;IAC/F,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,qBAAqB,CAAC,MAG1C;IACA,MAAM,SAAS,GAAG,gCAAgC,CAAC,MAAM,CAAC,CAAC;IAC3D,MAAM,OAAO,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,KAAK,KAAK;QAC1C,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,CAAC,MAAM,CAAC,OAAO,EAAE;QACjD,CAAC,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;IACxB,MAAM,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IACrD,MAAM,SAAS,CAAC,SAAS,EAAE,GAAG,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;AACrE,CAAC"}
|