@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.
Files changed (524) hide show
  1. package/README.md +2 -2
  2. package/node_modules/@happier-dev/agents/dist/acp.d.ts +14 -1
  3. package/node_modules/@happier-dev/agents/dist/acp.d.ts.map +1 -1
  4. package/node_modules/@happier-dev/agents/dist/acp.js +88 -0
  5. package/node_modules/@happier-dev/agents/dist/acp.js.map +1 -1
  6. package/node_modules/@happier-dev/agents/dist/auth.d.ts +1 -1
  7. package/node_modules/@happier-dev/agents/dist/auth.d.ts.map +1 -1
  8. package/node_modules/@happier-dev/agents/dist/auth.js +33 -0
  9. package/node_modules/@happier-dev/agents/dist/auth.js.map +1 -1
  10. package/node_modules/@happier-dev/agents/dist/index.d.ts +7 -7
  11. package/node_modules/@happier-dev/agents/dist/index.d.ts.map +1 -1
  12. package/node_modules/@happier-dev/agents/dist/index.js +7 -7
  13. package/node_modules/@happier-dev/agents/dist/index.js.map +1 -1
  14. package/node_modules/@happier-dev/agents/dist/localCli.d.ts +8 -2
  15. package/node_modules/@happier-dev/agents/dist/localCli.d.ts.map +1 -1
  16. package/node_modules/@happier-dev/agents/dist/localCli.js +38 -8
  17. package/node_modules/@happier-dev/agents/dist/localCli.js.map +1 -1
  18. package/node_modules/@happier-dev/agents/dist/localControl.d.ts +5 -0
  19. package/node_modules/@happier-dev/agents/dist/localControl.d.ts.map +1 -1
  20. package/node_modules/@happier-dev/agents/dist/localControl.js +21 -0
  21. package/node_modules/@happier-dev/agents/dist/localControl.js.map +1 -1
  22. package/node_modules/@happier-dev/agents/dist/manifest.d.ts +213 -12
  23. package/node_modules/@happier-dev/agents/dist/manifest.d.ts.map +1 -1
  24. package/node_modules/@happier-dev/agents/dist/manifest.js +135 -14
  25. package/node_modules/@happier-dev/agents/dist/manifest.js.map +1 -1
  26. package/node_modules/@happier-dev/agents/dist/models.d.ts.map +1 -1
  27. package/node_modules/@happier-dev/agents/dist/models.js +64 -4
  28. package/node_modules/@happier-dev/agents/dist/models.js.map +1 -1
  29. package/node_modules/@happier-dev/agents/dist/providerSettings/definitions/claudeRemote.d.ts +15 -0
  30. package/node_modules/@happier-dev/agents/dist/providerSettings/definitions/claudeRemote.d.ts.map +1 -1
  31. package/node_modules/@happier-dev/agents/dist/providerSettings/definitions/claudeRemote.js +7 -0
  32. package/node_modules/@happier-dev/agents/dist/providerSettings/definitions/claudeRemote.js.map +1 -1
  33. package/node_modules/@happier-dev/agents/dist/providerSettings/definitions/kimi.d.ts +3 -32
  34. package/node_modules/@happier-dev/agents/dist/providerSettings/definitions/kimi.d.ts.map +1 -1
  35. package/node_modules/@happier-dev/agents/dist/providerSettings/definitions/kimi.js +2 -21
  36. package/node_modules/@happier-dev/agents/dist/providerSettings/definitions/kimi.js.map +1 -1
  37. package/node_modules/@happier-dev/agents/dist/providerSettings/definitions/opencode.d.ts +25 -0
  38. package/node_modules/@happier-dev/agents/dist/providerSettings/definitions/opencode.d.ts.map +1 -1
  39. package/node_modules/@happier-dev/agents/dist/providerSettings/definitions/opencode.js +13 -0
  40. package/node_modules/@happier-dev/agents/dist/providerSettings/definitions/opencode.js.map +1 -1
  41. package/node_modules/@happier-dev/agents/dist/providerSettings/index.d.ts +3 -4
  42. package/node_modules/@happier-dev/agents/dist/providerSettings/index.d.ts.map +1 -1
  43. package/node_modules/@happier-dev/agents/dist/providerSettings/index.js +2 -2
  44. package/node_modules/@happier-dev/agents/dist/providerSettings/index.js.map +1 -1
  45. package/node_modules/@happier-dev/agents/dist/providers/claude/contextWindow.d.ts +2 -2
  46. package/node_modules/@happier-dev/agents/dist/providers/claude/contextWindow.d.ts.map +1 -1
  47. package/node_modules/@happier-dev/agents/dist/providers/claude/contextWindow.js +6 -2
  48. package/node_modules/@happier-dev/agents/dist/providers/claude/contextWindow.js.map +1 -1
  49. package/node_modules/@happier-dev/agents/dist/providers/claude/effort.d.ts.map +1 -1
  50. package/node_modules/@happier-dev/agents/dist/providers/claude/effort.js +4 -0
  51. package/node_modules/@happier-dev/agents/dist/providers/claude/effort.js.map +1 -1
  52. package/node_modules/@happier-dev/agents/dist/providers/claude/flagshipModel.d.ts +1 -1
  53. package/node_modules/@happier-dev/agents/dist/providers/claude/flagshipModel.d.ts.map +1 -1
  54. package/node_modules/@happier-dev/agents/dist/providers/claude/flagshipModel.js +1 -1
  55. package/node_modules/@happier-dev/agents/dist/providers/claude/flagshipModel.js.map +1 -1
  56. package/node_modules/@happier-dev/agents/dist/providers/claude/index.d.ts +1 -0
  57. package/node_modules/@happier-dev/agents/dist/providers/claude/index.d.ts.map +1 -1
  58. package/node_modules/@happier-dev/agents/dist/providers/claude/index.js +1 -0
  59. package/node_modules/@happier-dev/agents/dist/providers/claude/index.js.map +1 -1
  60. package/node_modules/@happier-dev/agents/dist/providers/claude/internalEventTypes.d.ts +3 -0
  61. package/node_modules/@happier-dev/agents/dist/providers/claude/internalEventTypes.d.ts.map +1 -0
  62. package/node_modules/@happier-dev/agents/dist/providers/claude/internalEventTypes.js +27 -0
  63. package/node_modules/@happier-dev/agents/dist/providers/claude/internalEventTypes.js.map +1 -0
  64. package/node_modules/@happier-dev/agents/dist/providers/providerCliRuntime.d.ts +33 -0
  65. package/node_modules/@happier-dev/agents/dist/providers/providerCliRuntime.d.ts.map +1 -1
  66. package/node_modules/@happier-dev/agents/dist/providers/providerCliRuntime.js +121 -6
  67. package/node_modules/@happier-dev/agents/dist/providers/providerCliRuntime.js.map +1 -1
  68. package/node_modules/@happier-dev/agents/dist/sessionControls/existingSessionAutomationPolicy.d.ts +16 -0
  69. package/node_modules/@happier-dev/agents/dist/sessionControls/existingSessionAutomationPolicy.d.ts.map +1 -1
  70. package/node_modules/@happier-dev/agents/dist/sessionControls/existingSessionAutomationPolicy.js +34 -7
  71. package/node_modules/@happier-dev/agents/dist/sessionControls/existingSessionAutomationPolicy.js.map +1 -1
  72. package/node_modules/@happier-dev/agents/dist/sessionControls/providerSessionBackends.d.ts +5 -0
  73. package/node_modules/@happier-dev/agents/dist/sessionControls/providerSessionBackends.d.ts.map +1 -1
  74. package/node_modules/@happier-dev/agents/dist/sessionControls/providerSessionBackends.js +9 -17
  75. package/node_modules/@happier-dev/agents/dist/sessionControls/providerSessionBackends.js.map +1 -1
  76. package/node_modules/@happier-dev/agents/dist/sessionControls/vendorResumePolicy.d.ts +10 -1
  77. package/node_modules/@happier-dev/agents/dist/sessionControls/vendorResumePolicy.d.ts.map +1 -1
  78. package/node_modules/@happier-dev/agents/dist/sessionControls/vendorResumePolicy.js +30 -1
  79. package/node_modules/@happier-dev/agents/dist/sessionControls/vendorResumePolicy.js.map +1 -1
  80. package/node_modules/@happier-dev/agents/dist/sessionModes.d.ts.map +1 -1
  81. package/node_modules/@happier-dev/agents/dist/sessionModes.js +10 -1
  82. package/node_modules/@happier-dev/agents/dist/sessionModes.js.map +1 -1
  83. package/node_modules/@happier-dev/agents/dist/types.d.ts +7 -5
  84. package/node_modules/@happier-dev/agents/dist/types.d.ts.map +1 -1
  85. package/node_modules/@happier-dev/agents/dist/types.js +4 -4
  86. package/node_modules/@happier-dev/agents/dist/types.js.map +1 -1
  87. package/node_modules/@happier-dev/cli-common/dist/componentArtifacts/buildCliBinaryArtifactPayload.d.ts.map +1 -1
  88. package/node_modules/@happier-dev/cli-common/dist/componentArtifacts/buildCliBinaryArtifactPayload.js +17 -21
  89. package/node_modules/@happier-dev/cli-common/dist/componentArtifacts/buildCliBinaryArtifactPayload.js.map +1 -1
  90. package/node_modules/@happier-dev/cli-common/dist/componentArtifacts/buildCliOptionalComponentArtifactPayload.d.ts +9 -0
  91. package/node_modules/@happier-dev/cli-common/dist/componentArtifacts/buildCliOptionalComponentArtifactPayload.d.ts.map +1 -0
  92. package/node_modules/@happier-dev/cli-common/dist/componentArtifacts/buildCliOptionalComponentArtifactPayload.js +45 -0
  93. package/node_modules/@happier-dev/cli-common/dist/componentArtifacts/buildCliOptionalComponentArtifactPayload.js.map +1 -0
  94. package/node_modules/@happier-dev/cli-common/dist/componentArtifacts/buildServerBinaryArtifactPayload.d.ts.map +1 -1
  95. package/node_modules/@happier-dev/cli-common/dist/componentArtifacts/buildServerBinaryArtifactPayload.js +18 -5
  96. package/node_modules/@happier-dev/cli-common/dist/componentArtifacts/buildServerBinaryArtifactPayload.js.map +1 -1
  97. package/node_modules/@happier-dev/cli-common/dist/componentArtifacts/commands.d.ts +2 -1
  98. package/node_modules/@happier-dev/cli-common/dist/componentArtifacts/commands.d.ts.map +1 -1
  99. package/node_modules/@happier-dev/cli-common/dist/componentArtifacts/commands.js +7 -1
  100. package/node_modules/@happier-dev/cli-common/dist/componentArtifacts/commands.js.map +1 -1
  101. package/node_modules/@happier-dev/cli-common/dist/componentArtifacts/finalizeRuntimeArtifactPayload.d.ts +2 -1
  102. package/node_modules/@happier-dev/cli-common/dist/componentArtifacts/finalizeRuntimeArtifactPayload.d.ts.map +1 -1
  103. package/node_modules/@happier-dev/cli-common/dist/componentArtifacts/finalizeRuntimeArtifactPayload.js +348 -13
  104. package/node_modules/@happier-dev/cli-common/dist/componentArtifacts/finalizeRuntimeArtifactPayload.js.map +1 -1
  105. package/node_modules/@happier-dev/cli-common/dist/componentArtifacts/index.d.ts +1 -0
  106. package/node_modules/@happier-dev/cli-common/dist/componentArtifacts/index.d.ts.map +1 -1
  107. package/node_modules/@happier-dev/cli-common/dist/componentArtifacts/index.js +1 -0
  108. package/node_modules/@happier-dev/cli-common/dist/componentArtifacts/index.js.map +1 -1
  109. package/node_modules/@happier-dev/cli-common/dist/componentArtifacts/refreshCliBinaryArtifactRuntimeAssetBuildManifest.d.ts +3 -0
  110. package/node_modules/@happier-dev/cli-common/dist/componentArtifacts/refreshCliBinaryArtifactRuntimeAssetBuildManifest.d.ts.map +1 -1
  111. package/node_modules/@happier-dev/cli-common/dist/componentArtifacts/refreshCliBinaryArtifactRuntimeAssetBuildManifest.js +19 -0
  112. package/node_modules/@happier-dev/cli-common/dist/componentArtifacts/refreshCliBinaryArtifactRuntimeAssetBuildManifest.js.map +1 -1
  113. package/node_modules/@happier-dev/cli-common/dist/componentArtifacts/targets.d.ts +1 -0
  114. package/node_modules/@happier-dev/cli-common/dist/componentArtifacts/targets.d.ts.map +1 -1
  115. package/node_modules/@happier-dev/cli-common/dist/componentArtifacts/targets.js +14 -0
  116. package/node_modules/@happier-dev/cli-common/dist/componentArtifacts/targets.js.map +1 -1
  117. package/node_modules/@happier-dev/cli-common/dist/firstPartyRuntime/acquisitionProgress.d.ts +14 -0
  118. package/node_modules/@happier-dev/cli-common/dist/firstPartyRuntime/acquisitionProgress.d.ts.map +1 -0
  119. package/node_modules/@happier-dev/cli-common/dist/firstPartyRuntime/acquisitionProgress.js +34 -0
  120. package/node_modules/@happier-dev/cli-common/dist/firstPartyRuntime/acquisitionProgress.js.map +1 -0
  121. package/node_modules/@happier-dev/cli-common/dist/firstPartyRuntime/componentCatalog.d.ts +27 -1
  122. package/node_modules/@happier-dev/cli-common/dist/firstPartyRuntime/componentCatalog.d.ts.map +1 -1
  123. package/node_modules/@happier-dev/cli-common/dist/firstPartyRuntime/componentCatalog.js +29 -1
  124. package/node_modules/@happier-dev/cli-common/dist/firstPartyRuntime/componentCatalog.js.map +1 -1
  125. package/node_modules/@happier-dev/cli-common/dist/firstPartyRuntime/copyRuntimePayloadTree.d.ts +1 -1
  126. package/node_modules/@happier-dev/cli-common/dist/firstPartyRuntime/copyRuntimePayloadTree.d.ts.map +1 -1
  127. package/node_modules/@happier-dev/cli-common/dist/firstPartyRuntime/copyRuntimePayloadTree.js +6 -14
  128. package/node_modules/@happier-dev/cli-common/dist/firstPartyRuntime/copyRuntimePayloadTree.js.map +1 -1
  129. package/node_modules/@happier-dev/cli-common/dist/firstPartyRuntime/ensureHappierCliPathExposure.d.ts +125 -0
  130. package/node_modules/@happier-dev/cli-common/dist/firstPartyRuntime/ensureHappierCliPathExposure.d.ts.map +1 -0
  131. package/node_modules/@happier-dev/cli-common/dist/firstPartyRuntime/ensureHappierCliPathExposure.js +494 -0
  132. package/node_modules/@happier-dev/cli-common/dist/firstPartyRuntime/ensureHappierCliPathExposure.js.map +1 -0
  133. package/node_modules/@happier-dev/cli-common/dist/firstPartyRuntime/extractReleasePayloadRootFromArchive.d.ts +1 -0
  134. package/node_modules/@happier-dev/cli-common/dist/firstPartyRuntime/extractReleasePayloadRootFromArchive.d.ts.map +1 -1
  135. package/node_modules/@happier-dev/cli-common/dist/firstPartyRuntime/extractReleasePayloadRootFromArchive.js +1 -0
  136. package/node_modules/@happier-dev/cli-common/dist/firstPartyRuntime/extractReleasePayloadRootFromArchive.js.map +1 -1
  137. package/node_modules/@happier-dev/cli-common/dist/firstPartyRuntime/happierCliChoice.d.ts +27 -0
  138. package/node_modules/@happier-dev/cli-common/dist/firstPartyRuntime/happierCliChoice.d.ts.map +1 -0
  139. package/node_modules/@happier-dev/cli-common/dist/firstPartyRuntime/happierCliChoice.js +36 -0
  140. package/node_modules/@happier-dev/cli-common/dist/firstPartyRuntime/happierCliChoice.js.map +1 -0
  141. package/node_modules/@happier-dev/cli-common/dist/firstPartyRuntime/happierCliOrigin.d.ts +31 -0
  142. package/node_modules/@happier-dev/cli-common/dist/firstPartyRuntime/happierCliOrigin.d.ts.map +1 -0
  143. package/node_modules/@happier-dev/cli-common/dist/firstPartyRuntime/happierCliOrigin.js +81 -0
  144. package/node_modules/@happier-dev/cli-common/dist/firstPartyRuntime/happierCliOrigin.js.map +1 -0
  145. package/node_modules/@happier-dev/cli-common/dist/firstPartyRuntime/index.d.ts +14 -8
  146. package/node_modules/@happier-dev/cli-common/dist/firstPartyRuntime/index.d.ts.map +1 -1
  147. package/node_modules/@happier-dev/cli-common/dist/firstPartyRuntime/index.js +8 -5
  148. package/node_modules/@happier-dev/cli-common/dist/firstPartyRuntime/index.js.map +1 -1
  149. package/node_modules/@happier-dev/cli-common/dist/firstPartyRuntime/installVersionedPayload.d.ts +54 -1
  150. package/node_modules/@happier-dev/cli-common/dist/firstPartyRuntime/installVersionedPayload.d.ts.map +1 -1
  151. package/node_modules/@happier-dev/cli-common/dist/firstPartyRuntime/installVersionedPayload.js +92 -24
  152. package/node_modules/@happier-dev/cli-common/dist/firstPartyRuntime/installVersionedPayload.js.map +1 -1
  153. package/node_modules/@happier-dev/cli-common/dist/firstPartyRuntime/prepareFirstPartyComponentPayloadFromGitHubRelease.d.ts +25 -1
  154. package/node_modules/@happier-dev/cli-common/dist/firstPartyRuntime/prepareFirstPartyComponentPayloadFromGitHubRelease.d.ts.map +1 -1
  155. package/node_modules/@happier-dev/cli-common/dist/firstPartyRuntime/prepareFirstPartyComponentPayloadFromGitHubRelease.js +79 -45
  156. package/node_modules/@happier-dev/cli-common/dist/firstPartyRuntime/prepareFirstPartyComponentPayloadFromGitHubRelease.js.map +1 -1
  157. package/node_modules/@happier-dev/cli-common/dist/firstPartyRuntime/restoreInstalledPayloadState.d.ts +50 -0
  158. package/node_modules/@happier-dev/cli-common/dist/firstPartyRuntime/restoreInstalledPayloadState.d.ts.map +1 -0
  159. package/node_modules/@happier-dev/cli-common/dist/firstPartyRuntime/restoreInstalledPayloadState.js +136 -0
  160. package/node_modules/@happier-dev/cli-common/dist/firstPartyRuntime/restoreInstalledPayloadState.js.map +1 -0
  161. package/node_modules/@happier-dev/cli-common/dist/firstPartyRuntime/runManagedCliUpdate.d.ts +117 -0
  162. package/node_modules/@happier-dev/cli-common/dist/firstPartyRuntime/runManagedCliUpdate.d.ts.map +1 -0
  163. package/node_modules/@happier-dev/cli-common/dist/firstPartyRuntime/runManagedCliUpdate.js +272 -0
  164. package/node_modules/@happier-dev/cli-common/dist/firstPartyRuntime/runManagedCliUpdate.js.map +1 -0
  165. package/node_modules/@happier-dev/cli-common/dist/firstPartyRuntime/selfHostServerEnv.d.ts.map +1 -1
  166. package/node_modules/@happier-dev/cli-common/dist/firstPartyRuntime/selfHostServerEnv.js +19 -13
  167. package/node_modules/@happier-dev/cli-common/dist/firstPartyRuntime/selfHostServerEnv.js.map +1 -1
  168. package/node_modules/@happier-dev/cli-common/dist/firstPartyRuntime/serverRuntimeArtifactLayout.d.ts +0 -4
  169. package/node_modules/@happier-dev/cli-common/dist/firstPartyRuntime/serverRuntimeArtifactLayout.d.ts.map +1 -1
  170. package/node_modules/@happier-dev/cli-common/dist/firstPartyRuntime/serverRuntimeArtifactLayout.js +0 -20
  171. package/node_modules/@happier-dev/cli-common/dist/firstPartyRuntime/serverRuntimeArtifactLayout.js.map +1 -1
  172. package/node_modules/@happier-dev/cli-common/dist/firstPartyRuntime/withFirstPartyPayloadMutationLock.d.ts +36 -0
  173. package/node_modules/@happier-dev/cli-common/dist/firstPartyRuntime/withFirstPartyPayloadMutationLock.d.ts.map +1 -0
  174. package/node_modules/@happier-dev/cli-common/dist/firstPartyRuntime/withFirstPartyPayloadMutationLock.js +155 -0
  175. package/node_modules/@happier-dev/cli-common/dist/firstPartyRuntime/withFirstPartyPayloadMutationLock.js.map +1 -0
  176. package/node_modules/@happier-dev/cli-common/dist/fs/windowsProtectedAcl.d.ts.map +1 -1
  177. package/node_modules/@happier-dev/cli-common/dist/fs/windowsProtectedAcl.js +20 -16
  178. package/node_modules/@happier-dev/cli-common/dist/fs/windowsProtectedAcl.js.map +1 -1
  179. package/node_modules/@happier-dev/cli-common/dist/output/index.d.ts +1 -0
  180. package/node_modules/@happier-dev/cli-common/dist/output/index.d.ts.map +1 -1
  181. package/node_modules/@happier-dev/cli-common/dist/output/index.js +1 -0
  182. package/node_modules/@happier-dev/cli-common/dist/output/index.js.map +1 -1
  183. package/node_modules/@happier-dev/cli-common/dist/output/planet.d.ts.map +1 -1
  184. package/node_modules/@happier-dev/cli-common/dist/output/planet.js +19 -52
  185. package/node_modules/@happier-dev/cli-common/dist/output/planet.js.map +1 -1
  186. package/node_modules/@happier-dev/cli-common/dist/process/index.d.ts +2 -1
  187. package/node_modules/@happier-dev/cli-common/dist/process/index.d.ts.map +1 -1
  188. package/node_modules/@happier-dev/cli-common/dist/process/index.js +1 -1
  189. package/node_modules/@happier-dev/cli-common/dist/process/index.js.map +1 -1
  190. package/node_modules/@happier-dev/cli-common/dist/process/runCommandStreaming.d.ts +39 -0
  191. package/node_modules/@happier-dev/cli-common/dist/process/runCommandStreaming.d.ts.map +1 -1
  192. package/node_modules/@happier-dev/cli-common/dist/process/runCommandStreaming.js +95 -28
  193. package/node_modules/@happier-dev/cli-common/dist/process/runCommandStreaming.js.map +1 -1
  194. package/node_modules/@happier-dev/cli-common/dist/process/windows/resolveWindowsCommandInvocation.d.ts +6 -1
  195. package/node_modules/@happier-dev/cli-common/dist/process/windows/resolveWindowsCommandInvocation.d.ts.map +1 -1
  196. package/node_modules/@happier-dev/cli-common/dist/process/windows/resolveWindowsCommandInvocation.js +7 -2
  197. package/node_modules/@happier-dev/cli-common/dist/process/windows/resolveWindowsCommandInvocation.js.map +1 -1
  198. package/node_modules/@happier-dev/cli-common/dist/providers/index.d.ts +6 -4
  199. package/node_modules/@happier-dev/cli-common/dist/providers/index.d.ts.map +1 -1
  200. package/node_modules/@happier-dev/cli-common/dist/providers/index.js +4 -3
  201. package/node_modules/@happier-dev/cli-common/dist/providers/index.js.map +1 -1
  202. package/node_modules/@happier-dev/cli-common/dist/providers/install.d.ts +27 -1
  203. package/node_modules/@happier-dev/cli-common/dist/providers/install.d.ts.map +1 -1
  204. package/node_modules/@happier-dev/cli-common/dist/providers/install.js +164 -56
  205. package/node_modules/@happier-dev/cli-common/dist/providers/install.js.map +1 -1
  206. package/node_modules/@happier-dev/cli-common/dist/providers/installCommandTimeout.d.ts +7 -0
  207. package/node_modules/@happier-dev/cli-common/dist/providers/installCommandTimeout.d.ts.map +1 -0
  208. package/node_modules/@happier-dev/cli-common/dist/providers/installCommandTimeout.js +17 -0
  209. package/node_modules/@happier-dev/cli-common/dist/providers/installCommandTimeout.js.map +1 -0
  210. package/node_modules/@happier-dev/cli-common/dist/providers/managedPnpm.d.ts +10 -0
  211. package/node_modules/@happier-dev/cli-common/dist/providers/managedPnpm.d.ts.map +1 -1
  212. package/node_modules/@happier-dev/cli-common/dist/providers/managedPnpm.js +47 -10
  213. package/node_modules/@happier-dev/cli-common/dist/providers/managedPnpm.js.map +1 -1
  214. package/node_modules/@happier-dev/cli-common/dist/providers/resolution.d.ts +8 -0
  215. package/node_modules/@happier-dev/cli-common/dist/providers/resolution.d.ts.map +1 -1
  216. package/node_modules/@happier-dev/cli-common/dist/providers/resolution.js +71 -0
  217. package/node_modules/@happier-dev/cli-common/dist/providers/resolution.js.map +1 -1
  218. package/node_modules/@happier-dev/cli-common/dist/providers/update.d.ts +54 -0
  219. package/node_modules/@happier-dev/cli-common/dist/providers/update.d.ts.map +1 -0
  220. package/node_modules/@happier-dev/cli-common/dist/providers/update.js +184 -0
  221. package/node_modules/@happier-dev/cli-common/dist/providers/update.js.map +1 -0
  222. package/node_modules/@happier-dev/cli-common/dist/service/launchd.d.ts +7 -0
  223. package/node_modules/@happier-dev/cli-common/dist/service/launchd.d.ts.map +1 -1
  224. package/node_modules/@happier-dev/cli-common/dist/service/launchd.js +1 -1
  225. package/node_modules/@happier-dev/cli-common/dist/service/launchd.js.map +1 -1
  226. package/node_modules/@happier-dev/cli-common/dist/service/manager.d.ts.map +1 -1
  227. package/node_modules/@happier-dev/cli-common/dist/service/manager.js +20 -1
  228. package/node_modules/@happier-dev/cli-common/dist/service/manager.js.map +1 -1
  229. package/node_modules/@happier-dev/cli-common/dist/service/windows.d.ts +7 -0
  230. package/node_modules/@happier-dev/cli-common/dist/service/windows.d.ts.map +1 -1
  231. package/node_modules/@happier-dev/cli-common/dist/service/windows.js +9 -31
  232. package/node_modules/@happier-dev/cli-common/dist/service/windows.js.map +1 -1
  233. package/node_modules/@happier-dev/cli-common/dist/systemTasks/runSystemTask.d.ts +2 -0
  234. package/node_modules/@happier-dev/cli-common/dist/systemTasks/runSystemTask.d.ts.map +1 -1
  235. package/node_modules/@happier-dev/cli-common/dist/systemTasks/runSystemTask.js +8 -0
  236. package/node_modules/@happier-dev/cli-common/dist/systemTasks/runSystemTask.js.map +1 -1
  237. package/node_modules/@happier-dev/cli-common/dist/update/index.d.ts +70 -1
  238. package/node_modules/@happier-dev/cli-common/dist/update/index.d.ts.map +1 -1
  239. package/node_modules/@happier-dev/cli-common/dist/update/index.js +102 -5
  240. package/node_modules/@happier-dev/cli-common/dist/update/index.js.map +1 -1
  241. package/node_modules/@happier-dev/cli-common/dist/workspaces/index.d.ts +1 -0
  242. package/node_modules/@happier-dev/cli-common/dist/workspaces/index.d.ts.map +1 -1
  243. package/node_modules/@happier-dev/cli-common/dist/workspaces/index.js +24 -2
  244. package/node_modules/@happier-dev/cli-common/dist/workspaces/index.js.map +1 -1
  245. package/node_modules/@happier-dev/cli-common/nodePtySpawnHelperPermissions.cjs +48 -0
  246. package/node_modules/@happier-dev/cli-common/nodePtySpawnHelperPermissions.d.cts +2 -0
  247. package/node_modules/@happier-dev/cli-common/numericPlanetFrame.d.mts +12 -0
  248. package/node_modules/@happier-dev/cli-common/numericPlanetFrame.mjs +36 -0
  249. package/node_modules/@happier-dev/cli-common/package.json +11 -0
  250. package/node_modules/@happier-dev/connection-supervisor/dist/createManagedConnectionSupervisor.d.ts.map +1 -1
  251. package/node_modules/@happier-dev/connection-supervisor/dist/createManagedConnectionSupervisor.js +16 -6
  252. package/node_modules/@happier-dev/connection-supervisor/dist/createManagedConnectionSupervisor.js.map +1 -1
  253. package/node_modules/@happier-dev/connection-supervisor/dist/createManagedEndpointSupervisor.d.ts.map +1 -1
  254. package/node_modules/@happier-dev/connection-supervisor/dist/createManagedEndpointSupervisor.js +7 -1
  255. package/node_modules/@happier-dev/connection-supervisor/dist/createManagedEndpointSupervisor.js.map +1 -1
  256. package/node_modules/@happier-dev/connection-supervisor/dist/index.d.ts +1 -1
  257. package/node_modules/@happier-dev/connection-supervisor/dist/index.d.ts.map +1 -1
  258. package/node_modules/@happier-dev/connection-supervisor/dist/managedConnectionTypes.d.ts +5 -1
  259. package/node_modules/@happier-dev/connection-supervisor/dist/managedConnectionTypes.d.ts.map +1 -1
  260. package/node_modules/@happier-dev/connection-supervisor/dist/managedEndpointSupervisorTypes.d.ts +3 -2
  261. package/node_modules/@happier-dev/connection-supervisor/dist/managedEndpointSupervisorTypes.d.ts.map +1 -1
  262. package/node_modules/@happier-dev/protocol/dist/account/settings/accountSettings.d.ts +4 -0
  263. package/node_modules/@happier-dev/protocol/dist/account/settings/accountSettings.d.ts.map +1 -1
  264. package/node_modules/@happier-dev/protocol/dist/account/settings/accountSettings.js +2 -0
  265. package/node_modules/@happier-dev/protocol/dist/account/settings/accountSettings.js.map +1 -1
  266. package/node_modules/@happier-dev/protocol/dist/actions/actionExecutor.d.ts.map +1 -1
  267. package/node_modules/@happier-dev/protocol/dist/actions/actionExecutor.js +4 -9
  268. package/node_modules/@happier-dev/protocol/dist/actions/actionExecutor.js.map +1 -1
  269. package/node_modules/@happier-dev/protocol/dist/actions/actionSpecs.d.ts +7 -0
  270. package/node_modules/@happier-dev/protocol/dist/actions/actionSpecs.d.ts.map +1 -1
  271. package/node_modules/@happier-dev/protocol/dist/actions/actionSpecs.js +27 -17
  272. package/node_modules/@happier-dev/protocol/dist/actions/actionSpecs.js.map +1 -1
  273. package/node_modules/@happier-dev/protocol/dist/actions/actionToolExposure.d.ts +6 -1
  274. package/node_modules/@happier-dev/protocol/dist/actions/actionToolExposure.d.ts.map +1 -1
  275. package/node_modules/@happier-dev/protocol/dist/actions/actionToolExposure.js +11 -1
  276. package/node_modules/@happier-dev/protocol/dist/actions/actionToolExposure.js.map +1 -1
  277. package/node_modules/@happier-dev/protocol/dist/actions/executionRunActionPermissionMode.d.ts +5 -2
  278. package/node_modules/@happier-dev/protocol/dist/actions/executionRunActionPermissionMode.d.ts.map +1 -1
  279. package/node_modules/@happier-dev/protocol/dist/actions/executionRunActionPermissionMode.js +25 -3
  280. package/node_modules/@happier-dev/protocol/dist/actions/executionRunActionPermissionMode.js.map +1 -1
  281. package/node_modules/@happier-dev/protocol/dist/actions/index.d.ts +1 -1
  282. package/node_modules/@happier-dev/protocol/dist/actions/index.d.ts.map +1 -1
  283. package/node_modules/@happier-dev/protocol/dist/actions/index.js +1 -1
  284. package/node_modules/@happier-dev/protocol/dist/actions/index.js.map +1 -1
  285. package/node_modules/@happier-dev/protocol/dist/bugReports/export.d.ts +19 -0
  286. package/node_modules/@happier-dev/protocol/dist/bugReports/export.d.ts.map +1 -0
  287. package/node_modules/@happier-dev/protocol/dist/bugReports/export.js +17 -0
  288. package/node_modules/@happier-dev/protocol/dist/bugReports/export.js.map +1 -0
  289. package/node_modules/@happier-dev/protocol/dist/bugReports/submit.d.ts.map +1 -1
  290. package/node_modules/@happier-dev/protocol/dist/bugReports/submit.js +6 -5
  291. package/node_modules/@happier-dev/protocol/dist/bugReports/submit.js.map +1 -1
  292. package/node_modules/@happier-dev/protocol/dist/bugReports.d.ts +1 -0
  293. package/node_modules/@happier-dev/protocol/dist/bugReports.d.ts.map +1 -1
  294. package/node_modules/@happier-dev/protocol/dist/bugReports.js +1 -0
  295. package/node_modules/@happier-dev/protocol/dist/bugReports.js.map +1 -1
  296. package/node_modules/@happier-dev/protocol/dist/connect/accountUsage.d.ts +4 -0
  297. package/node_modules/@happier-dev/protocol/dist/connect/accountUsage.d.ts.map +1 -1
  298. package/node_modules/@happier-dev/protocol/dist/connect/connectedServiceAuthGroupMemberRuntimeStatePolicy.d.ts.map +1 -1
  299. package/node_modules/@happier-dev/protocol/dist/connect/connectedServiceAuthGroupMemberRuntimeStatePolicy.js +3 -0
  300. package/node_modules/@happier-dev/protocol/dist/connect/connectedServiceAuthGroupMemberRuntimeStatePolicy.js.map +1 -1
  301. package/node_modules/@happier-dev/protocol/dist/connect/connectedServiceQuotaLimitSelection.d.ts +11 -0
  302. package/node_modules/@happier-dev/protocol/dist/connect/connectedServiceQuotaLimitSelection.d.ts.map +1 -0
  303. package/node_modules/@happier-dev/protocol/dist/connect/connectedServiceQuotaLimitSelection.js +20 -0
  304. package/node_modules/@happier-dev/protocol/dist/connect/connectedServiceQuotaLimitSelection.js.map +1 -0
  305. package/node_modules/@happier-dev/protocol/dist/connect/connectedServiceSchemas.d.ts +127 -0
  306. package/node_modules/@happier-dev/protocol/dist/connect/connectedServiceSchemas.d.ts.map +1 -1
  307. package/node_modules/@happier-dev/protocol/dist/connect/connectedServiceSchemas.js +45 -1
  308. package/node_modules/@happier-dev/protocol/dist/connect/connectedServiceSchemas.js.map +1 -1
  309. package/node_modules/@happier-dev/protocol/dist/connect/normalizeConnectedServiceSelectionInput.d.ts +5 -4
  310. package/node_modules/@happier-dev/protocol/dist/connect/normalizeConnectedServiceSelectionInput.d.ts.map +1 -1
  311. package/node_modules/@happier-dev/protocol/dist/connect/normalizeConnectedServiceSelectionInput.js +8 -2
  312. package/node_modules/@happier-dev/protocol/dist/connect/normalizeConnectedServiceSelectionInput.js.map +1 -1
  313. package/node_modules/@happier-dev/protocol/dist/connect/quotaObservationTime.d.ts +21 -0
  314. package/node_modules/@happier-dev/protocol/dist/connect/quotaObservationTime.d.ts.map +1 -0
  315. package/node_modules/@happier-dev/protocol/dist/connect/quotaObservationTime.js +39 -0
  316. package/node_modules/@happier-dev/protocol/dist/connect/quotaObservationTime.js.map +1 -0
  317. package/node_modules/@happier-dev/protocol/dist/daemonExecutionRuns.d.ts +12 -0
  318. package/node_modules/@happier-dev/protocol/dist/daemonExecutionRuns.d.ts.map +1 -1
  319. package/node_modules/@happier-dev/protocol/dist/daemonExecutionRuns.js +2 -1
  320. package/node_modules/@happier-dev/protocol/dist/daemonExecutionRuns.js.map +1 -1
  321. package/node_modules/@happier-dev/protocol/dist/daemonTerminal.d.ts +9 -0
  322. package/node_modules/@happier-dev/protocol/dist/daemonTerminal.d.ts.map +1 -1
  323. package/node_modules/@happier-dev/protocol/dist/daemonTerminal.js +4 -0
  324. package/node_modules/@happier-dev/protocol/dist/daemonTerminal.js.map +1 -1
  325. package/node_modules/@happier-dev/protocol/dist/diagnostics/doctorSnapshot.d.ts +129 -0
  326. package/node_modules/@happier-dev/protocol/dist/diagnostics/doctorSnapshot.d.ts.map +1 -1
  327. package/node_modules/@happier-dev/protocol/dist/diagnostics/doctorSnapshot.js +48 -0
  328. package/node_modules/@happier-dev/protocol/dist/diagnostics/doctorSnapshot.js.map +1 -1
  329. package/node_modules/@happier-dev/protocol/dist/directSessions/daemonRpcV1.d.ts +197 -0
  330. package/node_modules/@happier-dev/protocol/dist/directSessions/daemonRpcV1.d.ts.map +1 -1
  331. package/node_modules/@happier-dev/protocol/dist/directSessions/daemonRpcV1.js +74 -2
  332. package/node_modules/@happier-dev/protocol/dist/directSessions/daemonRpcV1.js.map +1 -1
  333. package/node_modules/@happier-dev/protocol/dist/encryption/clientEncryptionRequirement.d.ts +12 -0
  334. package/node_modules/@happier-dev/protocol/dist/encryption/clientEncryptionRequirement.d.ts.map +1 -0
  335. package/node_modules/@happier-dev/protocol/dist/encryption/clientEncryptionRequirement.js +15 -0
  336. package/node_modules/@happier-dev/protocol/dist/encryption/clientEncryptionRequirement.js.map +1 -0
  337. package/node_modules/@happier-dev/protocol/dist/executionRunObservationTimeout.d.ts +2 -0
  338. package/node_modules/@happier-dev/protocol/dist/executionRunObservationTimeout.d.ts.map +1 -0
  339. package/node_modules/@happier-dev/protocol/dist/executionRunObservationTimeout.js +2 -0
  340. package/node_modules/@happier-dev/protocol/dist/executionRunObservationTimeout.js.map +1 -0
  341. package/node_modules/@happier-dev/protocol/dist/executionRunRequestedConfiguration.d.ts +16 -0
  342. package/node_modules/@happier-dev/protocol/dist/executionRunRequestedConfiguration.d.ts.map +1 -0
  343. package/node_modules/@happier-dev/protocol/dist/executionRunRequestedConfiguration.js +26 -0
  344. package/node_modules/@happier-dev/protocol/dist/executionRunRequestedConfiguration.js.map +1 -0
  345. package/node_modules/@happier-dev/protocol/dist/executionRunStartRequest.d.ts +6 -2
  346. package/node_modules/@happier-dev/protocol/dist/executionRunStartRequest.d.ts.map +1 -1
  347. package/node_modules/@happier-dev/protocol/dist/executionRunStartRequest.js +5 -2
  348. package/node_modules/@happier-dev/protocol/dist/executionRunStartRequest.js.map +1 -1
  349. package/node_modules/@happier-dev/protocol/dist/executionRuns.d.ts +16 -2
  350. package/node_modules/@happier-dev/protocol/dist/executionRuns.d.ts.map +1 -1
  351. package/node_modules/@happier-dev/protocol/dist/executionRuns.js +4 -0
  352. package/node_modules/@happier-dev/protocol/dist/executionRuns.js.map +1 -1
  353. package/node_modules/@happier-dev/protocol/dist/features/catalog.d.ts +12 -0
  354. package/node_modules/@happier-dev/protocol/dist/features/catalog.d.ts.map +1 -1
  355. package/node_modules/@happier-dev/protocol/dist/features/catalog.js +12 -0
  356. package/node_modules/@happier-dev/protocol/dist/features/catalog.js.map +1 -1
  357. package/node_modules/@happier-dev/protocol/dist/features/decision.d.ts +2 -0
  358. package/node_modules/@happier-dev/protocol/dist/features/decision.d.ts.map +1 -1
  359. package/node_modules/@happier-dev/protocol/dist/features/embeddedFeaturePolicies.generated.d.ts +1 -1
  360. package/node_modules/@happier-dev/protocol/dist/features/embeddedFeaturePolicies.generated.d.ts.map +1 -1
  361. package/node_modules/@happier-dev/protocol/dist/features/embeddedFeaturePolicies.generated.js +1 -1
  362. package/node_modules/@happier-dev/protocol/dist/features/embeddedFeaturePolicies.generated.js.map +1 -1
  363. package/node_modules/@happier-dev/protocol/dist/features/payload/featureGatesSchema.d.ts +6 -0
  364. package/node_modules/@happier-dev/protocol/dist/features/payload/featureGatesSchema.d.ts.map +1 -1
  365. package/node_modules/@happier-dev/protocol/dist/features/payload/featureGatesSchema.js +4 -0
  366. package/node_modules/@happier-dev/protocol/dist/features/payload/featureGatesSchema.js.map +1 -1
  367. package/node_modules/@happier-dev/protocol/dist/features/payload/featuresResponseSchema.d.ts +6 -0
  368. package/node_modules/@happier-dev/protocol/dist/features/payload/featuresResponseSchema.d.ts.map +1 -1
  369. package/node_modules/@happier-dev/protocol/dist/index.d.ts +18 -11
  370. package/node_modules/@happier-dev/protocol/dist/index.d.ts.map +1 -1
  371. package/node_modules/@happier-dev/protocol/dist/index.js +18 -11
  372. package/node_modules/@happier-dev/protocol/dist/index.js.map +1 -1
  373. package/node_modules/@happier-dev/protocol/dist/installables.d.ts +36 -2
  374. package/node_modules/@happier-dev/protocol/dist/installables.d.ts.map +1 -1
  375. package/node_modules/@happier-dev/protocol/dist/installables.js +29 -1
  376. package/node_modules/@happier-dev/protocol/dist/installables.js.map +1 -1
  377. package/node_modules/@happier-dev/protocol/dist/machines/cliUpdateFacts.d.ts +92 -0
  378. package/node_modules/@happier-dev/protocol/dist/machines/cliUpdateFacts.d.ts.map +1 -0
  379. package/node_modules/@happier-dev/protocol/dist/machines/cliUpdateFacts.js +70 -0
  380. package/node_modules/@happier-dev/protocol/dist/machines/cliUpdateFacts.js.map +1 -0
  381. package/node_modules/@happier-dev/protocol/dist/machines/index.d.ts +1 -0
  382. package/node_modules/@happier-dev/protocol/dist/machines/index.d.ts.map +1 -1
  383. package/node_modules/@happier-dev/protocol/dist/machines/index.js +1 -0
  384. package/node_modules/@happier-dev/protocol/dist/machines/index.js.map +1 -1
  385. package/node_modules/@happier-dev/protocol/dist/mcpServers/daemonRpcV1.d.ts +42 -0
  386. package/node_modules/@happier-dev/protocol/dist/mcpServers/daemonRpcV1.d.ts.map +1 -1
  387. package/node_modules/@happier-dev/protocol/dist/mcpServers/previewV1.d.ts +14 -0
  388. package/node_modules/@happier-dev/protocol/dist/mcpServers/previewV1.d.ts.map +1 -1
  389. package/node_modules/@happier-dev/protocol/dist/prompts/executionRunsGuidanceV1.d.ts.map +1 -1
  390. package/node_modules/@happier-dev/protocol/dist/prompts/executionRunsGuidanceV1.js +2 -1
  391. package/node_modules/@happier-dev/protocol/dist/prompts/executionRunsGuidanceV1.js.map +1 -1
  392. package/node_modules/@happier-dev/protocol/dist/providers/agentProviderIdsV1.d.ts +8 -1
  393. package/node_modules/@happier-dev/protocol/dist/providers/agentProviderIdsV1.d.ts.map +1 -1
  394. package/node_modules/@happier-dev/protocol/dist/providers/agentProviderIdsV1.js +18 -1
  395. package/node_modules/@happier-dev/protocol/dist/providers/agentProviderIdsV1.js.map +1 -1
  396. package/node_modules/@happier-dev/protocol/dist/providers/agy/installables.d.ts +7 -0
  397. package/node_modules/@happier-dev/protocol/dist/providers/agy/installables.d.ts.map +1 -0
  398. package/node_modules/@happier-dev/protocol/dist/providers/agy/installables.js +6 -0
  399. package/node_modules/@happier-dev/protocol/dist/providers/agy/installables.js.map +1 -0
  400. package/node_modules/@happier-dev/protocol/dist/push/expoPushDelivery.d.ts +1 -0
  401. package/node_modules/@happier-dev/protocol/dist/push/expoPushDelivery.d.ts.map +1 -1
  402. package/node_modules/@happier-dev/protocol/dist/push/expoPushDelivery.js +1 -1
  403. package/node_modules/@happier-dev/protocol/dist/push/expoPushDelivery.js.map +1 -1
  404. package/node_modules/@happier-dev/protocol/dist/rpc.d.ts +5 -0
  405. package/node_modules/@happier-dev/protocol/dist/rpc.d.ts.map +1 -1
  406. package/node_modules/@happier-dev/protocol/dist/rpc.js +5 -0
  407. package/node_modules/@happier-dev/protocol/dist/rpc.js.map +1 -1
  408. package/node_modules/@happier-dev/protocol/dist/sessionAgentTransition.d.ts +40 -0
  409. package/node_modules/@happier-dev/protocol/dist/sessionAgentTransition.d.ts.map +1 -1
  410. package/node_modules/@happier-dev/protocol/dist/sessionAgentTransition.js +17 -0
  411. package/node_modules/@happier-dev/protocol/dist/sessionAgentTransition.js.map +1 -1
  412. package/node_modules/@happier-dev/protocol/dist/sessionControl/contract.d.ts +26 -0
  413. package/node_modules/@happier-dev/protocol/dist/sessionControl/contract.d.ts.map +1 -1
  414. package/node_modules/@happier-dev/protocol/dist/sessionControl/contract.js +2 -0
  415. package/node_modules/@happier-dev/protocol/dist/sessionControl/contract.js.map +1 -1
  416. package/node_modules/@happier-dev/protocol/dist/sessionControl/handoff/handoffSchemas.d.ts +27 -0
  417. package/node_modules/@happier-dev/protocol/dist/sessionControl/handoff/handoffSchemas.d.ts.map +1 -1
  418. package/node_modules/@happier-dev/protocol/dist/sessionControl/handoff/handoffTypes.d.ts +3 -0
  419. package/node_modules/@happier-dev/protocol/dist/sessionControl/handoff/handoffTypes.d.ts.map +1 -1
  420. package/node_modules/@happier-dev/protocol/dist/sessionFolders/folderAssignments.d.ts +1 -0
  421. package/node_modules/@happier-dev/protocol/dist/sessionFolders/folderAssignments.d.ts.map +1 -1
  422. package/node_modules/@happier-dev/protocol/dist/sessionMessages/sessionMessageMeta.d.ts +2 -0
  423. package/node_modules/@happier-dev/protocol/dist/sessionMessages/sessionMessageMeta.d.ts.map +1 -1
  424. package/node_modules/@happier-dev/protocol/dist/sessionMessages/sessionMessageMeta.js +7 -0
  425. package/node_modules/@happier-dev/protocol/dist/sessionMessages/sessionMessageMeta.js.map +1 -1
  426. package/node_modules/@happier-dev/protocol/dist/sessionMetadata/sessionPermissionModes.d.ts +8 -0
  427. package/node_modules/@happier-dev/protocol/dist/sessionMetadata/sessionPermissionModes.d.ts.map +1 -1
  428. package/node_modules/@happier-dev/protocol/dist/sessionMetadata/sessionPermissionModes.js +13 -0
  429. package/node_modules/@happier-dev/protocol/dist/sessionMetadata/sessionPermissionModes.js.map +1 -1
  430. package/node_modules/@happier-dev/protocol/dist/sessionOrganization/snapshot.d.ts +3 -0
  431. package/node_modules/@happier-dev/protocol/dist/sessionOrganization/snapshot.d.ts.map +1 -1
  432. package/node_modules/@happier-dev/protocol/dist/sessionOrganization/snapshot.js +1 -0
  433. package/node_modules/@happier-dev/protocol/dist/sessionOrganization/snapshot.js.map +1 -1
  434. package/node_modules/@happier-dev/protocol/dist/sessionOrganization/standings.d.ts +4 -1
  435. package/node_modules/@happier-dev/protocol/dist/sessionOrganization/standings.d.ts.map +1 -1
  436. package/node_modules/@happier-dev/protocol/dist/sessionOrganization/standings.js +6 -1
  437. package/node_modules/@happier-dev/protocol/dist/sessionOrganization/standings.js.map +1 -1
  438. package/node_modules/@happier-dev/protocol/dist/sessionWorkState/sessionWorkStateRpc.d.ts +2 -0
  439. package/node_modules/@happier-dev/protocol/dist/sessionWorkState/sessionWorkStateRpc.d.ts.map +1 -1
  440. package/node_modules/@happier-dev/protocol/dist/socketRpc.d.ts +11 -0
  441. package/node_modules/@happier-dev/protocol/dist/socketRpc.d.ts.map +1 -1
  442. package/node_modules/@happier-dev/protocol/dist/socketRpc.js +9 -0
  443. package/node_modules/@happier-dev/protocol/dist/socketRpc.js.map +1 -1
  444. package/node_modules/@happier-dev/protocol/dist/spawnSession.d.ts +13 -0
  445. package/node_modules/@happier-dev/protocol/dist/spawnSession.d.ts.map +1 -1
  446. package/node_modules/@happier-dev/protocol/dist/spawnSession.js +5 -0
  447. package/node_modules/@happier-dev/protocol/dist/spawnSession.js.map +1 -1
  448. package/node_modules/@happier-dev/protocol/dist/structuredMessages/executionRunCompletionV1.d.ts.map +1 -1
  449. package/node_modules/@happier-dev/protocol/dist/structuredMessages/executionRunCompletionV1.js +12 -1
  450. package/node_modules/@happier-dev/protocol/dist/structuredMessages/executionRunCompletionV1.js.map +1 -1
  451. package/node_modules/@happier-dev/protocol/dist/systemTasks/acquisitionProgress.d.ts +36 -0
  452. package/node_modules/@happier-dev/protocol/dist/systemTasks/acquisitionProgress.d.ts.map +1 -0
  453. package/node_modules/@happier-dev/protocol/dist/systemTasks/acquisitionProgress.js +23 -0
  454. package/node_modules/@happier-dev/protocol/dist/systemTasks/acquisitionProgress.js.map +1 -0
  455. package/node_modules/@happier-dev/protocol/dist/systemTasks/index.d.ts +2 -0
  456. package/node_modules/@happier-dev/protocol/dist/systemTasks/index.d.ts.map +1 -1
  457. package/node_modules/@happier-dev/protocol/dist/systemTasks/index.js +2 -0
  458. package/node_modules/@happier-dev/protocol/dist/systemTasks/index.js.map +1 -1
  459. package/node_modules/@happier-dev/protocol/dist/systemTasks/setupThisComputerTaskContract.d.ts +180 -0
  460. package/node_modules/@happier-dev/protocol/dist/systemTasks/setupThisComputerTaskContract.d.ts.map +1 -0
  461. package/node_modules/@happier-dev/protocol/dist/systemTasks/setupThisComputerTaskContract.js +234 -0
  462. package/node_modules/@happier-dev/protocol/dist/systemTasks/setupThisComputerTaskContract.js.map +1 -0
  463. package/node_modules/@happier-dev/protocol/dist/updates.d.ts +12 -0
  464. package/node_modules/@happier-dev/protocol/dist/updates.d.ts.map +1 -1
  465. package/node_modules/@happier-dev/protocol/dist/updates.js +11 -2
  466. package/node_modules/@happier-dev/protocol/dist/updates.js.map +1 -1
  467. package/node_modules/@happier-dev/release-runtime/dist/archiveExtraction.d.ts.map +1 -1
  468. package/node_modules/@happier-dev/release-runtime/dist/archiveExtraction.js +11 -4
  469. package/node_modules/@happier-dev/release-runtime/dist/archiveExtraction.js.map +1 -1
  470. package/node_modules/@happier-dev/release-runtime/dist/github.d.ts +1 -0
  471. package/node_modules/@happier-dev/release-runtime/dist/github.d.ts.map +1 -1
  472. package/node_modules/@happier-dev/release-runtime/dist/github.js +7 -5
  473. package/node_modules/@happier-dev/release-runtime/dist/github.js.map +1 -1
  474. package/node_modules/@happier-dev/release-runtime/dist/http.d.ts +11 -12
  475. package/node_modules/@happier-dev/release-runtime/dist/http.d.ts.map +1 -1
  476. package/node_modules/@happier-dev/release-runtime/dist/http.js +32 -4
  477. package/node_modules/@happier-dev/release-runtime/dist/http.js.map +1 -1
  478. package/node_modules/@happier-dev/release-runtime/dist/index.d.ts +1 -0
  479. package/node_modules/@happier-dev/release-runtime/dist/index.d.ts.map +1 -1
  480. package/node_modules/@happier-dev/release-runtime/dist/index.js +1 -0
  481. package/node_modules/@happier-dev/release-runtime/dist/index.js.map +1 -1
  482. package/node_modules/@happier-dev/release-runtime/dist/verifiedDownload.d.ts +10 -0
  483. package/node_modules/@happier-dev/release-runtime/dist/verifiedDownload.d.ts.map +1 -1
  484. package/node_modules/@happier-dev/release-runtime/dist/verifiedDownload.js +21 -11
  485. package/node_modules/@happier-dev/release-runtime/dist/verifiedDownload.js.map +1 -1
  486. package/package.json +1 -1
  487. package/scripts/auth.mjs +1 -1
  488. package/scripts/auth_login_print_includes_configure_links.test.mjs +9 -0
  489. package/scripts/build.mjs +8 -1
  490. package/scripts/daemon.mjs +14 -1
  491. package/scripts/daemon_start_verification.integration.test.mjs +103 -26
  492. package/scripts/ghops.test.mjs +3 -9
  493. package/scripts/happier_main.mjs +11 -0
  494. package/scripts/provision/macos-lima-hstack-repeat-validation.test.mjs +10 -17
  495. package/scripts/self_host_launchd.real.integration.test.mjs +3 -5
  496. package/scripts/self_host_runtime.mjs +9 -10
  497. package/scripts/self_host_runtime.test.mjs +2 -2
  498. package/scripts/stack/stack_environment.sanitization.test.mjs +5 -0
  499. package/scripts/stack_happy_cmd.integration.test.mjs +74 -44
  500. package/scripts/testkit/core/lima_guest_harness.mjs +32 -0
  501. package/scripts/testkit/core/lima_guest_harness.test.mjs +61 -0
  502. package/scripts/testkit/core/stub_happier_cli_server_set.mjs +51 -0
  503. package/scripts/testkit/stack_happier_cli_command_testkit.mjs +20 -2
  504. package/scripts/utils/dev_targets/mutagen_project.mjs +6 -0
  505. package/scripts/utils/dev_targets/mutagen_project.test.mjs +4 -0
  506. package/scripts/utils/dev_targets/remote_commands.mjs +3 -1
  507. package/scripts/utils/dev_targets/supervisor.mjs +29 -7
  508. package/scripts/utils/dev_targets/supervisor.test.mjs +19 -1
  509. package/scripts/utils/env/scrub_env.mjs +1 -0
  510. package/scripts/utils/expo/command.mjs +28 -4
  511. package/scripts/utils/expo/expo.mjs +29 -1
  512. package/scripts/utils/expo/expo_shared_tmpdir.test.mjs +56 -1
  513. package/scripts/utils/server/apply_runtime_server_sqlite_env.test.mjs +2 -2
  514. package/scripts/utils/server/resolve_stack_server_port.test.mjs +6 -3
  515. package/scripts/utils/stack/server_profile_reconciliation.mjs +68 -16
  516. package/scripts/utils/stack/server_profile_reconciliation.test.mjs +41 -0
  517. package/node_modules/@happier-dev/cli-common/dist/firstPartyRuntime/releaseAssetBundle.d.ts +0 -17
  518. package/node_modules/@happier-dev/cli-common/dist/firstPartyRuntime/releaseAssetBundle.d.ts.map +0 -1
  519. package/node_modules/@happier-dev/cli-common/dist/firstPartyRuntime/releaseAssetBundle.js +0 -90
  520. package/node_modules/@happier-dev/cli-common/dist/firstPartyRuntime/releaseAssetBundle.js.map +0 -1
  521. package/node_modules/@happier-dev/cli-common/dist/firstPartyRuntime/rollbackVersionedPayload.d.ts +0 -13
  522. package/node_modules/@happier-dev/cli-common/dist/firstPartyRuntime/rollbackVersionedPayload.d.ts.map +0 -1
  523. package/node_modules/@happier-dev/cli-common/dist/firstPartyRuntime/rollbackVersionedPayload.js +0 -65
  524. package/node_modules/@happier-dev/cli-common/dist/firstPartyRuntime/rollbackVersionedPayload.js.map +0 -1
@@ -6,6 +6,7 @@ import test from 'node:test';
6
6
 
7
7
  import {
8
8
  resolveDefaultRemoteServerPort,
9
+ resolveRemoteServerReadyTimeoutMs,
9
10
  startStackDevTargets,
10
11
  startStackDevTargetsInBackground,
11
12
  } from './supervisor.mjs';
@@ -77,6 +78,14 @@ test('default remote tunnel port varies by Stack process instance', () => {
77
78
  assert.ok(replacement >= 40_000 && replacement <= 59_999);
78
79
  });
79
80
 
81
+ test('remote server readiness covers the remote package-roll startup budget', () => {
82
+ assert.equal(resolveRemoteServerReadyTimeoutMs({}), 1_800_000);
83
+ assert.equal(
84
+ resolveRemoteServerReadyTimeoutMs({ HAPPIER_STACK_SERVER_READY_TIMEOUT_MS: '90000' }),
85
+ 90_000,
86
+ );
87
+ });
88
+
80
89
  test('authoritative remote server retires the prior target owner and becomes running only after stable-tunnel readiness', async () => {
81
90
  const root = await mkdtemp(join(tmpdir(), 'hstack-dev-target-server-ready-'));
82
91
  const credentialPath = join(root, 'access.key');
@@ -1142,6 +1151,7 @@ test('a failed target retries while another target is still preparing', async ()
1142
1151
  let markWindowsPreparationStarted;
1143
1152
  let markLinuxWorkerStarted;
1144
1153
  let linuxProbeAttempts = 0;
1154
+ const linuxTunnels = [];
1145
1155
  const windowsPreparationPending = new Promise((resolve) => {
1146
1156
  releaseWindowsPreparation = resolve;
1147
1157
  });
@@ -1198,6 +1208,7 @@ test('a failed target retries while another target is still preparing', async ()
1198
1208
  },
1199
1209
  spawnProcess: ({ label, command, args, env }) => {
1200
1210
  const worker = { label, command, args, env, exitCode: null };
1211
+ if (label === 'remote:linux' && args.includes('-N')) linuxTunnels.push(worker);
1201
1212
  if (label === 'remote:linux' && !args.includes('-N')) markLinuxWorkerStarted();
1202
1213
  return worker;
1203
1214
  },
@@ -1221,6 +1232,11 @@ test('a failed target retries while another target is still preparing', async ()
1221
1232
  true,
1222
1233
  'the failed Linux target should not wait for the unrelated Windows preparation',
1223
1234
  );
1235
+ assert.equal(
1236
+ linuxTunnels.length,
1237
+ 1,
1238
+ 'a transient reverse-forward refusal must not replace the live tunnel',
1239
+ );
1224
1240
  } finally {
1225
1241
  releaseWindowsPreparation?.({ code: 0 });
1226
1242
  await controller?.close?.();
@@ -1309,7 +1325,9 @@ test('dev target supervisor owns Mutagen publication, remote bootstrap, auth see
1309
1325
  assert.doesNotMatch(workerSpawn.args.join(' '), /-R /);
1310
1326
  assert.ok(
1311
1327
  calls.filter((call) => call.command === 'ssh' || call.command === 'scp')
1312
- .every((call) => call.args.includes('-F') && call.args.includes('ControlMaster=no')),
1328
+ .every((call) => call.args.includes('-F')
1329
+ && call.args.includes('ControlMaster=no')
1330
+ && call.args.includes('ControlPath=none')),
1313
1331
  );
1314
1332
  assert.match(
1315
1333
  calls.find((call) => call.command === 'mutagen' && call.args.includes('start')).env.MUTAGEN_SSH_PATH,
@@ -56,6 +56,7 @@ export const STACK_WRAPPER_PRESERVE_KEYS = [
56
56
  'HAPPIER_STACK_DISABLE_REFRESH_DEPS',
57
57
  'HAPPIER_STACK_ALLOW_REFRESH_DEPS',
58
58
  'HAPPIER_STACK_SERVICE_ALLOW_REFRESH_DEPS',
59
+ 'HAPPIER_STACK_EXPO_EXPORT_MAX_WORKERS',
59
60
 
60
61
  'HAPPIER_STACK_BIND_MODE',
61
62
  'HAPPIER_STACK_EXPO_HOST',
@@ -1,4 +1,6 @@
1
1
  import { join } from 'node:path';
2
+ import { mkdir, mkdtemp, rm } from 'node:fs/promises';
3
+ import { tmpdir } from 'node:os';
2
4
 
3
5
  import { ensureDepsInstalled, ensureWorkspacePackagesBuiltForComponent } from '../proc/pm.mjs';
4
6
  import { run } from '../proc/proc.mjs';
@@ -10,6 +12,24 @@ import { applyExpoNodeHeapEnv } from './expoNodeHeapEnv.mjs';
10
12
 
11
13
  const DEFAULT_EXPO_EXPORT_MAX_WORKERS_NONINTERACTIVE = 1;
12
14
 
15
+ export async function withExpoPreparationEnv(envIn, action) {
16
+ if (typeof action !== 'function') {
17
+ throw new TypeError('withExpoPreparationEnv requires an action function');
18
+ }
19
+ const env = { ...(envIn ?? process.env) };
20
+ const scratchBase = String(env.TMPDIR ?? env.TMP ?? env.TEMP ?? tmpdir()).trim() || tmpdir();
21
+ await mkdir(scratchBase, { recursive: true });
22
+ const scratchDir = await mkdtemp(join(scratchBase, 'happier-expo-preparation-'));
23
+ env.TMPDIR = scratchDir;
24
+ env.TMP = scratchDir;
25
+ env.TEMP = scratchDir;
26
+ try {
27
+ return await action(env);
28
+ } finally {
29
+ await rm(scratchDir, { recursive: true, force: true }).catch(() => {});
30
+ }
31
+ }
32
+
13
33
  async function resolveExpoBin(runnerDir) {
14
34
  const workspaceBin = join(runnerDir, 'node_modules', '.bin', 'expo');
15
35
  const workspaceCmdBin = `${workspaceBin}.cmd`;
@@ -114,9 +134,11 @@ export async function expoExec({
114
134
  }) {
115
135
  const runnerDir = dir;
116
136
  const cwd = projectDir ?? runnerDir;
117
- await ensureDepsInstalled(runnerDir, ensureDepsLabel, { quiet, env });
118
137
  const workspaceDepsDir = projectDir ?? runnerDir;
119
- await ensureWorkspacePackagesBuiltForComponent(workspaceDepsDir, { quiet, env });
138
+ await withExpoPreparationEnv(env, async (preparationEnv) => {
139
+ await ensureDepsInstalled(runnerDir, ensureDepsLabel, { quiet, env: preparationEnv });
140
+ await ensureWorkspacePackagesBuiltForComponent(workspaceDepsDir, { quiet, env: preparationEnv });
141
+ });
120
142
  const expoBin = await resolveExpoBin(runnerDir);
121
143
  const effectiveEnv = applyExpoNodeHeapEnv(env, {
122
144
  envKey: 'HAPPIER_STACK_EXPO_MAX_OLD_SPACE_SIZE_MB',
@@ -138,9 +160,11 @@ export async function expoSpawn({
138
160
  }) {
139
161
  const runnerDir = dir;
140
162
  const cwd = projectDir ?? runnerDir;
141
- await ensureDepsInstalled(runnerDir, ensureDepsLabel, { quiet, env });
142
163
  const workspaceDepsDir = projectDir ?? runnerDir;
143
- await ensureWorkspacePackagesBuiltForComponent(workspaceDepsDir, { quiet, env });
164
+ await withExpoPreparationEnv(env, async (preparationEnv) => {
165
+ await ensureDepsInstalled(runnerDir, ensureDepsLabel, { quiet, env: preparationEnv });
166
+ await ensureWorkspacePackagesBuiltForComponent(workspaceDepsDir, { quiet, env: preparationEnv });
167
+ });
144
168
  const expoBin = await resolveExpoBin(runnerDir);
145
169
  const effectiveEnv = applyExpoNodeHeapEnv(env, {
146
170
  envKey: 'HAPPIER_STACK_EXPO_MAX_OLD_SPACE_SIZE_MB',
@@ -310,10 +310,38 @@ export function resolveExpoTmpDir({ env = process.env, defaultTmpDir, kind, proj
310
310
  return join(base, 'tmp', k, key);
311
311
  }
312
312
 
313
- export async function ensureExpoIsolationEnv({ env, stateDir, expoHomeDir, tmpDir }) {
313
+ async function removeStaleTsxSockets(tmpDir, isPidAliveImpl) {
314
+ if (process.platform === 'win32') return;
315
+ const tsxDir = join(tmpDir, `tsx-${typeof process.geteuid === 'function' ? process.geteuid() : process.env.USER}`);
316
+ let entries;
317
+ try {
318
+ entries = await readdir(tsxDir, { withFileTypes: true });
319
+ } catch (error) {
320
+ if (error?.code === 'ENOENT') return;
321
+ throw error;
322
+ }
323
+ await Promise.all(entries.map(async (entry) => {
324
+ const match = /^(\d+)\.pipe$/.exec(entry.name);
325
+ if (!match || isPidAliveImpl(Number(match[1]))) return;
326
+ try {
327
+ await unlink(join(tsxDir, entry.name));
328
+ } catch (error) {
329
+ if (error?.code !== 'ENOENT') throw error;
330
+ }
331
+ }));
332
+ }
333
+
334
+ export async function ensureExpoIsolationEnv({
335
+ env,
336
+ stateDir,
337
+ expoHomeDir,
338
+ tmpDir,
339
+ isPidAliveImpl = isPidAlive,
340
+ }) {
314
341
  await mkdir(stateDir, { recursive: true });
315
342
  await mkdir(expoHomeDir, { recursive: true });
316
343
  await mkdir(tmpDir, { recursive: true });
344
+ await removeStaleTsxSockets(tmpDir, isPidAliveImpl);
317
345
 
318
346
  // Expo CLI uses this to override ~/.expo.
319
347
  // Always override: stack/worktree isolation must not fall back to the user's global ~/.expo.
@@ -1,9 +1,12 @@
1
1
  import test from 'node:test';
2
2
  import assert from 'node:assert/strict';
3
3
  import { createHash } from 'node:crypto';
4
+ import { access, mkdir, mkdtemp, rm, stat, writeFile } from 'node:fs/promises';
5
+ import { tmpdir } from 'node:os';
4
6
  import { join } from 'node:path';
5
7
 
6
- import { resolveExpoTmpDir } from './expo.mjs';
8
+ import { ensureExpoIsolationEnv, resolveExpoTmpDir } from './expo.mjs';
9
+ import { withExpoPreparationEnv } from './command.mjs';
7
10
 
8
11
  function sha1_12(s) {
9
12
  return createHash('sha1').update(String(s ?? '')).digest('hex').slice(0, 12);
@@ -36,3 +39,55 @@ test('resolveExpoTmpDir uses shared base dir + key when configured', () => {
36
39
  });
37
40
  assert.equal(got, expected);
38
41
  });
42
+
43
+ test('ensureExpoIsolationEnv removes stale tsx sockets without touching live ones', async () => {
44
+ const root = await mkdtemp(join(tmpdir(), 'hstack-expo-isolation-'));
45
+ try {
46
+ const stateDir = join(root, 'state');
47
+ const expoHomeDir = join(stateDir, 'expo-home');
48
+ const isolatedTmpDir = join(stateDir, 'tmp');
49
+ const tsxOwner = typeof process.geteuid === 'function' ? process.geteuid() : process.env.USER;
50
+ const tsxDir = join(isolatedTmpDir, `tsx-${tsxOwner}`);
51
+ const staleSocket = join(tsxDir, '41001.pipe');
52
+ const liveSocket = join(tsxDir, '41002.pipe');
53
+ await mkdir(tsxDir, { recursive: true });
54
+ await writeFile(staleSocket, 'stale');
55
+ await writeFile(liveSocket, 'live');
56
+
57
+ const env = {};
58
+ await ensureExpoIsolationEnv({
59
+ env,
60
+ stateDir,
61
+ expoHomeDir,
62
+ tmpDir: isolatedTmpDir,
63
+ isPidAliveImpl: (pid) => pid === 41002,
64
+ });
65
+
66
+ await assert.rejects(access(staleSocket));
67
+ await access(liveSocket);
68
+ assert.equal(env.TMPDIR, isolatedTmpDir);
69
+ } finally {
70
+ await rm(root, { recursive: true, force: true });
71
+ }
72
+ });
73
+
74
+ test('withExpoPreparationEnv isolates one-shot tools from the persistent Metro tmpdir', async () => {
75
+ const persistentTmpDir = await mkdtemp(join(tmpdir(), 'hstack-expo-persistent-'));
76
+ try {
77
+ const sourceEnv = { TMPDIR: persistentTmpDir, TMP: persistentTmpDir, TEMP: persistentTmpDir };
78
+ let observed;
79
+ const returnedPath = await withExpoPreparationEnv(sourceEnv, async (env) => {
80
+ observed = { tmpdir: env.TMPDIR, tmp: env.TMP, temp: env.TEMP };
81
+ assert.notEqual(env.TMPDIR, persistentTmpDir);
82
+ assert.equal((await stat(env.TMPDIR)).isDirectory(), true);
83
+ return env.TMPDIR;
84
+ });
85
+
86
+ assert.equal(observed.tmp, observed.tmpdir);
87
+ assert.equal(observed.temp, observed.tmpdir);
88
+ assert.equal(sourceEnv.TMPDIR, persistentTmpDir);
89
+ await assert.rejects(() => stat(returnedPath), { code: 'ENOENT' });
90
+ } finally {
91
+ await rm(persistentTmpDir, { recursive: true, force: true });
92
+ }
93
+ });
@@ -13,7 +13,7 @@ test('applyRuntimeServerSqliteEnv uses the bounded local pool by default', () =>
13
13
 
14
14
  assert.equal(
15
15
  env.DATABASE_URL,
16
- 'file:/tmp/happier-data/happier-server-light.sqlite?socket_timeout=30&connection_limit=1',
16
+ 'file:///tmp/happier-data/happier-server-light.sqlite?socket_timeout=30&connection_limit=1',
17
17
  );
18
18
  });
19
19
 
@@ -28,7 +28,7 @@ test('applyRuntimeServerSqliteEnv applies sqlite URL params from env when genera
28
28
 
29
29
  assert.equal(
30
30
  env.DATABASE_URL,
31
- 'file:/tmp/happier-data/happier-server-light.sqlite?socket_timeout=1&connection_limit=1',
31
+ 'file:///tmp/happier-data/happier-server-light.sqlite?socket_timeout=1&connection_limit=1',
32
32
  );
33
33
  });
34
34
 
@@ -412,6 +412,7 @@ test('non-main stack rejects a pinned healthy server port without stack-owned li
412
412
  runtimeStatePath: null,
413
413
  defaultPort: 3005,
414
414
  listenerObservationScope,
415
+ waitForTcpPortFreeImpl: async () => ({ status: 'occupied' }),
415
416
  }),
416
417
  /HAPPIER_STACK_SERVER_PORT/
417
418
  );
@@ -683,7 +684,9 @@ test('non-main stack does not reuse runtime port with only a live pid and non-ha
683
684
  runtimeStatePath,
684
685
  defaultPort: 3005,
685
686
  listenerObservationScope,
686
- waitForTcpPortFreeImpl: async () => ({ status: 'occupied', reason: 'address-in-use' }),
687
+ waitForTcpPortFreeImpl: async (candidatePort) => candidatePort === port
688
+ ? { status: 'occupied' }
689
+ : { status: 'free' },
687
690
  });
688
691
 
689
692
  assert.notEqual(out, port);
@@ -709,7 +712,7 @@ test('non-main stack errors when pinned server port is occupied by a non-happier
709
712
  runtimeStatePath: null,
710
713
  defaultPort: 3005,
711
714
  listenerObservationScope,
712
- waitForTcpPortFreeImpl: async () => ({ status: 'occupied', reason: 'address-in-use' }),
715
+ waitForTcpPortFreeImpl: async () => ({ status: 'occupied' }),
713
716
  }),
714
717
  /HAPPIER_STACK_SERVER_PORT/
715
718
  );
@@ -734,7 +737,7 @@ test('non-main stack errors when pinned server port health responds 200 for anot
734
737
  runtimeStatePath: null,
735
738
  defaultPort: 3005,
736
739
  listenerObservationScope,
737
- waitForTcpPortFreeImpl: async () => ({ status: 'occupied', reason: 'address-in-use' }),
740
+ waitForTcpPortFreeImpl: async () => ({ status: 'occupied' }),
738
741
  }),
739
742
  /HAPPIER_STACK_SERVER_PORT/
740
743
  );
@@ -28,6 +28,19 @@ export function deriveEnvServerIdFromUrl(url) {
28
28
  return `env_${(h >>> 0).toString(16)}`;
29
29
  }
30
30
 
31
+ function readCliSettings(homeDir) {
32
+ const baseDir = String(homeDir ?? '').trim();
33
+ if (!baseDir) return null;
34
+ const settingsPath = join(baseDir, 'settings.json');
35
+ if (!existsSync(settingsPath)) return null;
36
+ try {
37
+ const parsed = JSON.parse(readFileSync(settingsPath, 'utf-8'));
38
+ return parsed && typeof parsed === 'object' ? parsed : null;
39
+ } catch {
40
+ return null;
41
+ }
42
+ }
43
+
31
44
  function coerceServerProfileFromSettings(raw) {
32
45
  if (!raw || typeof raw !== 'object') return null;
33
46
  const id = typeof raw.id === 'string' ? raw.id.trim() : '';
@@ -46,22 +59,61 @@ function coerceServerProfileFromSettings(raw) {
46
59
  }
47
60
 
48
61
  export function readActiveServerUrlsFromCliSettings(homeDir) {
49
- const baseDir = String(homeDir ?? '').trim();
50
- if (!baseDir) return null;
51
- const settingsPath = join(baseDir, 'settings.json');
52
- if (!existsSync(settingsPath)) return null;
53
- try {
54
- const parsed = JSON.parse(readFileSync(settingsPath, 'utf-8'));
55
- if (!parsed || typeof parsed !== 'object') return null;
56
- const schemaVersion = Number(parsed.schemaVersion ?? 0);
57
- if (!Number.isFinite(schemaVersion) || schemaVersion < 5) return null;
58
- const activeServerId = typeof parsed.activeServerId === 'string' ? parsed.activeServerId.trim() : '';
59
- const servers = parsed.servers && typeof parsed.servers === 'object' ? parsed.servers : null;
60
- if (!activeServerId || !servers) return null;
61
- return coerceServerProfileFromSettings(servers[activeServerId]);
62
- } catch {
63
- return null;
64
- }
62
+ const parsed = readCliSettings(homeDir);
63
+ if (!parsed) return null;
64
+ const schemaVersion = Number(parsed.schemaVersion ?? 0);
65
+ if (!Number.isFinite(schemaVersion) || schemaVersion < 5) return null;
66
+ const activeServerId = typeof parsed.activeServerId === 'string' ? parsed.activeServerId.trim() : '';
67
+ const servers = parsed.servers && typeof parsed.servers === 'object' ? parsed.servers : null;
68
+ if (!activeServerId || !servers) return null;
69
+ return coerceServerProfileFromSettings(servers[activeServerId]);
70
+ }
71
+
72
+ export function shouldVerifyStackServerProfileReconciliation(homeDir) {
73
+ const settings = readCliSettings(homeDir);
74
+ const schemaVersion = Number(settings?.schemaVersion ?? 0);
75
+ return Boolean(
76
+ Number.isFinite(schemaVersion)
77
+ && schemaVersion >= 5
78
+ && settings?.servers
79
+ && typeof settings.servers === 'object',
80
+ );
81
+ }
82
+
83
+ export function assertStackServerProfileReconciled({
84
+ homeDir,
85
+ serverId,
86
+ internalServerUrl,
87
+ publicServerUrl,
88
+ }) {
89
+ const expectedId = String(serverId ?? '').trim();
90
+ const expectedInternalUrl = normalizeServerUrl(internalServerUrl);
91
+ const expectedPublicUrl = normalizeServerUrl(publicServerUrl);
92
+ const settings = readCliSettings(homeDir);
93
+ const activeServerId = typeof settings?.activeServerId === 'string' ? settings.activeServerId.trim() : '';
94
+ const servers = settings?.servers && typeof settings.servers === 'object' ? settings.servers : null;
95
+ const rawProfile = servers && expectedId ? servers[expectedId] : null;
96
+ // Read the persisted profile the way the CLI resolves it. The CLI profile writer does not persist a
97
+ // `localServerUrl` equal to `serverUrl`, so the local relay URL is only split when present.
98
+ const profile = coerceServerProfileFromSettings(rawProfile);
99
+
100
+ let reason = null;
101
+ if (!settings) reason = 'settings could not be read after the CLI exited';
102
+ else if (activeServerId !== expectedId) reason = `active profile remained ${activeServerId || 'unset'}`;
103
+ else if (!rawProfile || typeof rawProfile !== 'object') reason = `profile ${expectedId} was not written`;
104
+ else if (!profile) reason = `profile ${expectedId} is incomplete`;
105
+ else if (profile.id !== expectedId) reason = `profile ${expectedId} has a different identity`;
106
+ else if (profile.serverUrl !== expectedInternalUrl) reason = 'relay URL was not updated';
107
+ else if ((profile.localServerUrl ?? profile.serverUrl) !== expectedInternalUrl) reason = 'local relay URL was not updated';
108
+ else if (profile.webappUrl !== expectedPublicUrl) reason = 'web app URL was not updated';
109
+
110
+ if (!reason) return;
111
+ const error = new Error(
112
+ `[hstack] the selected Happier CLI exited successfully but did not apply the requested stack relay profile (${reason}). `
113
+ + 'Upgrade or rebuild the Happier CLI before launching this stack.',
114
+ );
115
+ error.code = 'ESTACKCLIPROFILERECONCILIATION';
116
+ throw error;
65
117
  }
66
118
 
67
119
  /**
@@ -0,0 +1,41 @@
1
+ import test from 'node:test';
2
+ import assert from 'node:assert/strict';
3
+ import { writeFileSync } from 'node:fs';
4
+
5
+ import { createTempFixtureSync } from '../../testkit/core/temp_fixture.mjs';
6
+ import { assertStackServerProfileReconciled } from './server_profile_reconciliation.mjs';
7
+
8
+ const serverId = 'stack_dev__id_default';
9
+ const internalServerUrl = 'http://127.0.0.1:4311';
10
+ const publicServerUrl = 'http://localhost:4311';
11
+
12
+ function writeCliSettings(fixture, profile) {
13
+ writeFileSync(
14
+ fixture.path('settings.json'),
15
+ JSON.stringify({
16
+ schemaVersion: 6,
17
+ activeServerId: serverId,
18
+ servers: { [serverId]: { id: serverId, name: 'stack', webappUrl: publicServerUrl, ...profile } },
19
+ }) + '\n',
20
+ 'utf-8',
21
+ );
22
+ }
23
+
24
+ test('assertStackServerProfileReconciled accepts the CLI shape that omits a local URL equal to the relay URL', (t) => {
25
+ const fixture = createTempFixtureSync(t, { prefix: 'hstack-profile-reconciled-' });
26
+ writeCliSettings(fixture, { serverUrl: internalServerUrl });
27
+
28
+ assert.doesNotThrow(() =>
29
+ assertStackServerProfileReconciled({ homeDir: fixture.root, serverId, internalServerUrl, publicServerUrl }),
30
+ );
31
+ });
32
+
33
+ test('assertStackServerProfileReconciled rejects a profile whose split local URL still points elsewhere', (t) => {
34
+ const fixture = createTempFixtureSync(t, { prefix: 'hstack-profile-stale-local-' });
35
+ writeCliSettings(fixture, { serverUrl: internalServerUrl, localServerUrl: 'http://127.0.0.1:3012' });
36
+
37
+ assert.throws(
38
+ () => assertStackServerProfileReconciled({ homeDir: fixture.root, serverId, internalServerUrl, publicServerUrl }),
39
+ { code: 'ESTACKCLIPROFILERECONCILIATION', message: /local relay URL was not updated/ },
40
+ );
41
+ });
@@ -1,17 +0,0 @@
1
- export type ReleaseAsset = Readonly<{
2
- name: string;
3
- url: string;
4
- }>;
5
- export type ReleaseAssetBundle = Readonly<{
6
- version: string;
7
- archive: ReleaseAsset;
8
- checksums: ReleaseAsset;
9
- checksumsSig: ReleaseAsset;
10
- }>;
11
- export declare function resolveCliBinaryAssetBundleFromReleaseAssets(params: Readonly<{
12
- assets: unknown;
13
- os: string;
14
- arch: string;
15
- preferVersion: string | null;
16
- }>): ReleaseAssetBundle;
17
- //# sourceMappingURL=releaseAssetBundle.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"releaseAssetBundle.d.ts","sourceRoot":"","sources":["../../src/firstPartyRuntime/releaseAssetBundle.ts"],"names":[],"mappings":"AAEA,MAAM,MAAM,YAAY,GAAG,QAAQ,CAAC;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,GAAG,EAAE,MAAM,CAAA;CAAE,CAAC,CAAC;AAEnE,MAAM,MAAM,kBAAkB,GAAG,QAAQ,CAAC;IACxC,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,YAAY,CAAC;IACtB,SAAS,EAAE,YAAY,CAAC;IACxB,YAAY,EAAE,YAAY,CAAC;CAC5B,CAAC,CAAC;AAEH,wBAAgB,4CAA4C,CAAC,MAAM,EAAE,QAAQ,CAAC;IAC5E,MAAM,EAAE,OAAO,CAAC;IAChB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;CAC9B,CAAC,GAAG,kBAAkB,CA2BtB"}
@@ -1,90 +0,0 @@
1
- import { resolveReleaseAssetBundle } from '@happier-dev/release-runtime/assets';
2
- export function resolveCliBinaryAssetBundleFromReleaseAssets(params) {
3
- const os = String(params.os ?? '').trim();
4
- const arch = String(params.arch ?? '').trim();
5
- if (!os)
6
- throw new Error('os is required');
7
- if (!arch)
8
- throw new Error('arch is required');
9
- const preferVersion = String(params.preferVersion ?? '').trim() || inferRollingReleaseVersion({
10
- assets: params.assets,
11
- os,
12
- arch,
13
- });
14
- if (preferVersion) {
15
- return resolveReleaseAssetBundleForPreferredVersion({
16
- assets: params.assets,
17
- os,
18
- arch,
19
- version: preferVersion,
20
- });
21
- }
22
- return resolveReleaseAssetBundle({
23
- assets: params.assets,
24
- product: 'happier',
25
- os,
26
- arch,
27
- preferZipOnWindows: true,
28
- });
29
- }
30
- function inferRollingReleaseVersion(params) {
31
- const archiveExtensions = params.os.toLowerCase() === 'windows'
32
- ? ['.zip', '.tar.gz']
33
- : ['.tar.gz'];
34
- const archiveBasePrefix = `happier-v`;
35
- const archiveSuffix = `-${params.os}-${params.arch}`;
36
- const assets = Array.isArray(params.assets) ? params.assets : [];
37
- let selectedVersion = null;
38
- for (const asset of assets) {
39
- if (!asset || typeof asset !== 'object')
40
- continue;
41
- const name = typeof asset.name === 'string'
42
- ? asset.name.trim()
43
- : '';
44
- if (!name.startsWith(archiveBasePrefix))
45
- continue;
46
- for (const extension of archiveExtensions) {
47
- const expectedSuffix = `${archiveSuffix}${extension}`;
48
- if (!name.endsWith(expectedSuffix))
49
- continue;
50
- const version = name.slice(archiveBasePrefix.length, name.length - expectedSuffix.length);
51
- if (version) {
52
- selectedVersion = version;
53
- }
54
- break;
55
- }
56
- }
57
- return selectedVersion;
58
- }
59
- function resolveReleaseAssetBundleForPreferredVersion(params) {
60
- const desiredVersion = params.version;
61
- const desiredChecksumsName = `checksums-happier-v${desiredVersion}.txt`;
62
- const desiredChecksumsSigName = `${desiredChecksumsName}.minisig`;
63
- const desiredArchiveBase = `happier-v${desiredVersion}-${params.os}-${params.arch}`;
64
- const desiredArchiveNames = params.os.toLowerCase() === 'windows'
65
- ? [`${desiredArchiveBase}.zip`, `${desiredArchiveBase}.tar.gz`]
66
- : [`${desiredArchiveBase}.tar.gz`];
67
- const assets = Array.isArray(params.assets) ? params.assets : [];
68
- const filteredAssets = assets.filter((asset) => {
69
- if (!asset || typeof asset !== 'object')
70
- return false;
71
- const name = typeof asset.name === 'string'
72
- ? asset.name.trim()
73
- : '';
74
- return (name === desiredChecksumsName ||
75
- name === desiredChecksumsSigName ||
76
- desiredArchiveNames.includes(name));
77
- });
78
- const resolved = resolveReleaseAssetBundle({
79
- assets: filteredAssets,
80
- product: 'happier',
81
- os: params.os,
82
- arch: params.arch,
83
- preferZipOnWindows: true,
84
- });
85
- if (resolved.version !== desiredVersion) {
86
- throw new Error(`missing CLI archive for requested version ${desiredVersion}`);
87
- }
88
- return resolved;
89
- }
90
- //# sourceMappingURL=releaseAssetBundle.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"releaseAssetBundle.js","sourceRoot":"","sources":["../../src/firstPartyRuntime/releaseAssetBundle.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,yBAAyB,EAAE,MAAM,qCAAqC,CAAC;AAWhF,MAAM,UAAU,4CAA4C,CAAC,MAK3D;IACA,MAAM,EAAE,GAAG,MAAM,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;IAC1C,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;IAC9C,IAAI,CAAC,EAAE;QAAE,MAAM,IAAI,KAAK,CAAC,gBAAgB,CAAC,CAAC;IAC3C,IAAI,CAAC,IAAI;QAAE,MAAM,IAAI,KAAK,CAAC,kBAAkB,CAAC,CAAC;IAE/C,MAAM,aAAa,GAAG,MAAM,CAAC,MAAM,CAAC,aAAa,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,IAAI,0BAA0B,CAAC;QAC5F,MAAM,EAAE,MAAM,CAAC,MAAM;QACrB,EAAE;QACF,IAAI;KACL,CAAC,CAAC;IACH,IAAI,aAAa,EAAE,CAAC;QAClB,OAAO,4CAA4C,CAAC;YAClD,MAAM,EAAE,MAAM,CAAC,MAAM;YACrB,EAAE;YACF,IAAI;YACJ,OAAO,EAAE,aAAa;SACvB,CAAC,CAAC;IACL,CAAC;IAED,OAAO,yBAAyB,CAAC;QAC/B,MAAM,EAAE,MAAM,CAAC,MAAM;QACrB,OAAO,EAAE,SAAS;QAClB,EAAE;QACF,IAAI;QACJ,kBAAkB,EAAE,IAAI;KACzB,CAAC,CAAC;AACL,CAAC;AAED,SAAS,0BAA0B,CAAC,MAIlC;IACA,MAAM,iBAAiB,GAAG,MAAM,CAAC,EAAE,CAAC,WAAW,EAAE,KAAK,SAAS;QAC7D,CAAC,CAAC,CAAC,MAAM,EAAE,SAAS,CAAC;QACrB,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;IAChB,MAAM,iBAAiB,GAAG,WAAW,CAAC;IACtC,MAAM,aAAa,GAAG,IAAI,MAAM,CAAC,EAAE,IAAI,MAAM,CAAC,IAAI,EAAE,CAAC;IACrD,MAAM,MAAM,GAAG,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC;IAEjE,IAAI,eAAe,GAAkB,IAAI,CAAC;IAC1C,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;QAC3B,IAAI,CAAC,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ;YAAE,SAAS;QAClD,MAAM,IAAI,GAAG,OAAQ,KAA4B,CAAC,IAAI,KAAK,QAAQ;YACjE,CAAC,CAAE,KAA0B,CAAC,IAAI,CAAC,IAAI,EAAE;YACzC,CAAC,CAAC,EAAE,CAAC;QACP,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,iBAAiB,CAAC;YAAE,SAAS;QAElD,KAAK,MAAM,SAAS,IAAI,iBAAiB,EAAE,CAAC;YAC1C,MAAM,cAAc,GAAG,GAAG,aAAa,GAAG,SAAS,EAAE,CAAC;YACtD,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC;gBAAE,SAAS;YAC7C,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,iBAAiB,CAAC,MAAM,EAAE,IAAI,CAAC,MAAM,GAAG,cAAc,CAAC,MAAM,CAAC,CAAC;YAC1F,IAAI,OAAO,EAAE,CAAC;gBACZ,eAAe,GAAG,OAAO,CAAC;YAC5B,CAAC;YACD,MAAM;QACR,CAAC;IACH,CAAC;IAED,OAAO,eAAe,CAAC;AACzB,CAAC;AAED,SAAS,4CAA4C,CAAC,MAKpD;IACA,MAAM,cAAc,GAAG,MAAM,CAAC,OAAO,CAAC;IACtC,MAAM,oBAAoB,GAAG,sBAAsB,cAAc,MAAM,CAAC;IACxE,MAAM,uBAAuB,GAAG,GAAG,oBAAoB,UAAU,CAAC;IAClE,MAAM,kBAAkB,GAAG,YAAY,cAAc,IAAI,MAAM,CAAC,EAAE,IAAI,MAAM,CAAC,IAAI,EAAE,CAAC;IACpF,MAAM,mBAAmB,GAAG,MAAM,CAAC,EAAE,CAAC,WAAW,EAAE,KAAK,SAAS;QAC/D,CAAC,CAAC,CAAC,GAAG,kBAAkB,MAAM,EAAE,GAAG,kBAAkB,SAAS,CAAC;QAC/D,CAAC,CAAC,CAAC,GAAG,kBAAkB,SAAS,CAAC,CAAC;IAErC,MAAM,MAAM,GAAG,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC;IACjE,MAAM,cAAc,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE;QAC7C,IAAI,CAAC,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ;YAAE,OAAO,KAAK,CAAC;QACtD,MAAM,IAAI,GAAG,OAAQ,KAA4B,CAAC,IAAI,KAAK,QAAQ;YACjE,CAAC,CAAE,KAA0B,CAAC,IAAI,CAAC,IAAI,EAAE;YACzC,CAAC,CAAC,EAAE,CAAC;QACP,OAAO,CACL,IAAI,KAAK,oBAAoB;YAC7B,IAAI,KAAK,uBAAuB;YAChC,mBAAmB,CAAC,QAAQ,CAAC,IAAI,CAAC,CACnC,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,MAAM,QAAQ,GAAG,yBAAyB,CAAC;QACzC,MAAM,EAAE,cAAc;QACtB,OAAO,EAAE,SAAS;QAClB,EAAE,EAAE,MAAM,CAAC,EAAE;QACb,IAAI,EAAE,MAAM,CAAC,IAAI;QACjB,kBAAkB,EAAE,IAAI;KACzB,CAAC,CAAC;IACH,IAAI,QAAQ,CAAC,OAAO,KAAK,cAAc,EAAE,CAAC;QACxC,MAAM,IAAI,KAAK,CAAC,6CAA6C,cAAc,EAAE,CAAC,CAAC;IACjF,CAAC;IACD,OAAO,QAAQ,CAAC;AAClB,CAAC"}
@@ -1,13 +0,0 @@
1
- import type { PublicReleaseRingId } from '@happier-dev/release-runtime/releaseRings';
2
- import type { FirstPartyComponentId } from './componentCatalog.js';
3
- export interface FirstPartyRollbackResult {
4
- currentVersionId: string;
5
- previousVersionId: string | null;
6
- }
7
- export declare function rollbackVersionedPayload(params: Readonly<{
8
- componentId: FirstPartyComponentId;
9
- channel?: PublicReleaseRingId;
10
- releaseRing?: PublicReleaseRingId;
11
- processEnv?: NodeJS.ProcessEnv;
12
- }>): Promise<FirstPartyRollbackResult>;
13
- //# sourceMappingURL=rollbackVersionedPayload.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"rollbackVersionedPayload.d.ts","sourceRoot":"","sources":["../../src/firstPartyRuntime/rollbackVersionedPayload.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,2CAA2C,CAAC;AAErF,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,uBAAuB,CAAC;AAKnE,MAAM,WAAW,wBAAwB;IACvC,gBAAgB,EAAE,MAAM,CAAC;IACzB,iBAAiB,EAAE,MAAM,GAAG,IAAI,CAAC;CAClC;AAMD,wBAAsB,wBAAwB,CAAC,MAAM,EAAE,QAAQ,CAAC;IAC9D,WAAW,EAAE,qBAAqB,CAAC;IACnC,OAAO,CAAC,EAAE,mBAAmB,CAAC;IAC9B,WAAW,CAAC,EAAE,mBAAmB,CAAC;IAClC,UAAU,CAAC,EAAE,MAAM,CAAC,UAAU,CAAC;CAChC,CAAC,GAAG,OAAO,CAAC,wBAAwB,CAAC,CA0DrC"}
@@ -1,65 +0,0 @@
1
- import { stat } from 'node:fs/promises';
2
- import { resolveFirstPartyInstallLayout, resolveFirstPartyVersionInstallPath } from './installLayout.js';
3
- import { syncInstalledPayloadPointer } from './syncInstalledPayloadPointer.js';
4
- import { readInstalledVersionMarkers, writeInstalledVersionMarker } from './versionMarkers.js';
5
- async function assertVersionPathExists(versionPath) {
6
- await stat(versionPath);
7
- }
8
- export async function rollbackVersionedPayload(params) {
9
- const layout = resolveFirstPartyInstallLayout({
10
- componentId: params.componentId,
11
- channel: params.channel,
12
- releaseRing: params.releaseRing,
13
- processEnv: params.processEnv,
14
- });
15
- const { currentVersionId, previousVersionId } = await readInstalledVersionMarkers(layout);
16
- if (!previousVersionId) {
17
- throw new Error('Cannot rollback first-party payload without a previous installed version');
18
- }
19
- const previousVersionPath = resolveFirstPartyVersionInstallPath({
20
- componentId: params.componentId,
21
- versionId: previousVersionId,
22
- channel: params.channel,
23
- releaseRing: params.releaseRing,
24
- processEnv: params.processEnv,
25
- });
26
- await assertVersionPathExists(previousVersionPath);
27
- await syncInstalledPayloadPointer({
28
- layout,
29
- pointerPath: layout.currentPath,
30
- versionPath: previousVersionPath,
31
- });
32
- await writeInstalledVersionMarker({
33
- layout,
34
- marker: 'current',
35
- versionId: previousVersionId,
36
- });
37
- if (currentVersionId) {
38
- const currentVersionPath = resolveFirstPartyVersionInstallPath({
39
- componentId: params.componentId,
40
- versionId: currentVersionId,
41
- channel: params.channel,
42
- releaseRing: params.releaseRing,
43
- processEnv: params.processEnv,
44
- });
45
- await assertVersionPathExists(currentVersionPath);
46
- await syncInstalledPayloadPointer({
47
- layout,
48
- pointerPath: layout.previousPath,
49
- versionPath: currentVersionPath,
50
- });
51
- await writeInstalledVersionMarker({
52
- layout,
53
- marker: 'previous',
54
- versionId: currentVersionId,
55
- });
56
- }
57
- else {
58
- await writeInstalledVersionMarker({ layout, marker: 'previous', versionId: null });
59
- }
60
- return {
61
- currentVersionId: previousVersionId,
62
- previousVersionId: currentVersionId ?? null,
63
- };
64
- }
65
- //# sourceMappingURL=rollbackVersionedPayload.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"rollbackVersionedPayload.js","sourceRoot":"","sources":["../../src/firstPartyRuntime/rollbackVersionedPayload.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;AAKxC,OAAO,EAAE,8BAA8B,EAAE,mCAAmC,EAAE,MAAM,oBAAoB,CAAC;AACzG,OAAO,EAAE,2BAA2B,EAAE,MAAM,kCAAkC,CAAC;AAC/E,OAAO,EAAE,2BAA2B,EAAE,2BAA2B,EAAE,MAAM,qBAAqB,CAAC;AAO/F,KAAK,UAAU,uBAAuB,CAAC,WAAmB;IACxD,MAAM,IAAI,CAAC,WAAW,CAAC,CAAC;AAC1B,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,wBAAwB,CAAC,MAK7C;IACA,MAAM,MAAM,GAAG,8BAA8B,CAAC;QAC5C,WAAW,EAAE,MAAM,CAAC,WAAW;QAC/B,OAAO,EAAE,MAAM,CAAC,OAAO;QACvB,WAAW,EAAE,MAAM,CAAC,WAAW;QAC/B,UAAU,EAAE,MAAM,CAAC,UAAU;KAC9B,CAAC,CAAC;IACH,MAAM,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,GAAG,MAAM,2BAA2B,CAAC,MAAM,CAAC,CAAC;IAC1F,IAAI,CAAC,iBAAiB,EAAE,CAAC;QACvB,MAAM,IAAI,KAAK,CAAC,0EAA0E,CAAC,CAAC;IAC9F,CAAC;IAED,MAAM,mBAAmB,GAAG,mCAAmC,CAAC;QAC9D,WAAW,EAAE,MAAM,CAAC,WAAW;QAC/B,SAAS,EAAE,iBAAiB;QAC5B,OAAO,EAAE,MAAM,CAAC,OAAO;QACvB,WAAW,EAAE,MAAM,CAAC,WAAW;QAC/B,UAAU,EAAE,MAAM,CAAC,UAAU;KAC9B,CAAC,CAAC;IACH,MAAM,uBAAuB,CAAC,mBAAmB,CAAC,CAAC;IACnD,MAAM,2BAA2B,CAAC;QAChC,MAAM;QACN,WAAW,EAAE,MAAM,CAAC,WAAW;QAC/B,WAAW,EAAE,mBAAmB;KACjC,CAAC,CAAC;IACH,MAAM,2BAA2B,CAAC;QAChC,MAAM;QACN,MAAM,EAAE,SAAS;QACjB,SAAS,EAAE,iBAAiB;KAC7B,CAAC,CAAC;IAEH,IAAI,gBAAgB,EAAE,CAAC;QACrB,MAAM,kBAAkB,GAAG,mCAAmC,CAAC;YAC7D,WAAW,EAAE,MAAM,CAAC,WAAW;YAC/B,SAAS,EAAE,gBAAgB;YAC3B,OAAO,EAAE,MAAM,CAAC,OAAO;YACvB,WAAW,EAAE,MAAM,CAAC,WAAW;YAC/B,UAAU,EAAE,MAAM,CAAC,UAAU;SAC9B,CAAC,CAAC;QACH,MAAM,uBAAuB,CAAC,kBAAkB,CAAC,CAAC;QAClD,MAAM,2BAA2B,CAAC;YAChC,MAAM;YACN,WAAW,EAAE,MAAM,CAAC,YAAY;YAChC,WAAW,EAAE,kBAAkB;SAChC,CAAC,CAAC;QACH,MAAM,2BAA2B,CAAC;YAChC,MAAM;YACN,MAAM,EAAE,UAAU;YAClB,SAAS,EAAE,gBAAgB;SAC5B,CAAC,CAAC;IACL,CAAC;SAAM,CAAC;QACN,MAAM,2BAA2B,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IACrF,CAAC;IAED,OAAO;QACL,gBAAgB,EAAE,iBAAiB;QACnC,iBAAiB,EAAE,gBAAgB,IAAI,IAAI;KAC5C,CAAC;AACJ,CAAC"}