@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
@@ -1 +1 @@
1
- {"version":3,"file":"verifiedDownload.js","sourceRoot":"","sources":["../src/verifiedDownload.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"verifiedDownload.js","sourceRoot":"","sources":["../src/verifiedDownload.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@happier-dev/stack",
3
3
  "type": "module",
4
- "version": "0.2.12",
4
+ "version": "0.2.14-preview.1",
5
5
  "repository": "happier-dev/happier",
6
6
  "publishConfig": {
7
7
  "registry": "https://registry.npmjs.org",
package/scripts/auth.mjs CHANGED
@@ -1553,7 +1553,7 @@ async function cmdLogin({ argv, json }) {
1553
1553
  const webappModeRaw =
1554
1554
  (argvKvValue(argv, '--webapp') || (kv.get('--webapp') ?? '')).toString().trim().toLowerCase();
1555
1555
  const requestedWebappMode = webappModeRaw || 'auto'; // auto|stack|public|expo|hosted
1556
- const HOSTED_WEBAPP_URL = 'https://app.happier.dev';
1556
+ const HOSTED_WEBAPP_URL = 'https://cloud.happier.dev';
1557
1557
  const explicitWebappUrl =
1558
1558
  (argvKvValue(argv, '--webapp-url') || (kv.get('--webapp-url') ?? '')).toString().trim();
1559
1559
  const methodRaw = (argvKvValue(argv, '--method') || (kv.get('--method') ?? '')).toString().trim().toLowerCase();
@@ -130,6 +130,15 @@ test('hstack auth login --print --json webapp precedence variants', async (t) =>
130
130
  assert.match(parsed.cmd, /HAPPIER_WEBAPP_URL="http:\/\/example\.test:1234"/);
131
131
  },
132
132
  },
133
+ {
134
+ name: '--webapp=hosted uses the preferred hosted client',
135
+ prefix: 'hstack-auth-webapp-hosted-',
136
+ stackEnvLines: BASE_ENV_LINES,
137
+ args: ['--webapp=hosted'],
138
+ assertParsed(parsed) {
139
+ assert.equal(parsed.webappUrl, 'https://cloud.happier.dev');
140
+ },
141
+ },
133
142
  {
134
143
  name: '--webapp=public overrides stack-env hosted webapp',
135
144
  prefix: 'hstack-auth-webapp-public-',
package/scripts/build.mjs CHANGED
@@ -4,6 +4,7 @@ import { getComponentDir, getDefaultAutostartPaths, getRootDir } from './utils/p
4
4
  import { ensureDepsInstalled, pmExecBin, requireDir } from './utils/proc/pm.mjs';
5
5
  import { resolveServerPortFromEnv } from './utils/server/urls.mjs';
6
6
  import { dirname, join } from 'node:path';
7
+ import { pathToFileURL } from 'node:url';
7
8
  import { readFile, rm, mkdir, writeFile } from 'node:fs/promises';
8
9
  import { tailscaleServeHttpsUrl } from './tailscale.mjs';
9
10
  import { printResult, wantsHelp, wantsJson } from './utils/cli/cli.mjs';
@@ -272,7 +273,13 @@ async function main() {
272
273
  if (tauriDebug) {
273
274
  tauriArgs.push('--debug');
274
275
  }
275
- await pmExecBin({ dir: uiDir, bin: 'tauri', args: tauriArgs, env: tauriBuildEnv });
276
+ const { createTauriActoolEnvironment } = await import(pathToFileURL(join(uiDir, 'scripts', 'tauriActoolEnvironment.mjs')).href);
277
+ const actool = createTauriActoolEnvironment({ env: tauriBuildEnv });
278
+ try {
279
+ await pmExecBin({ dir: uiDir, bin: 'tauri', args: tauriArgs, env: actool.env });
280
+ } finally {
281
+ actool.cleanup();
282
+ }
276
283
  if (json) {
277
284
  printResult({ json, data: { ok: true, outDir, tauriBuilt: true, tauriServerUrl } });
278
285
  } else {
@@ -24,7 +24,11 @@ import { getComponentDir, getRootDir, resolveStackEnvPath } from './utils/paths/
24
24
  import { parseEnvToObject } from './utils/env/dotenv.mjs';
25
25
  import { ensureEnvFileUpdated } from './utils/env/env_file.mjs';
26
26
  import { getCliHomeDirFromEnvOrDefault } from './utils/stack/dirs.mjs';
27
- import { buildStackServerProfileSetArgs } from './utils/stack/server_profile_reconciliation.mjs';
27
+ import {
28
+ assertStackServerProfileReconciled,
29
+ buildStackServerProfileSetArgs,
30
+ shouldVerifyStackServerProfileReconciliation,
31
+ } from './utils/stack/server_profile_reconciliation.mjs';
28
32
  import {
29
33
  isCliDirectExecutableCommand,
30
34
  probeCliDistRuntimeImport,
@@ -1786,6 +1790,7 @@ export async function startLocalDaemonWithAuth({
1786
1790
  if (canReconcileProfileWithAdmittedCli && existsSync(join(cliHomeDir, 'settings.json'))) {
1787
1791
  const serverId = String(daemonEnv.HAPPIER_ACTIVE_SERVER_ID ?? '').trim();
1788
1792
  if (serverId) {
1793
+ const verifyPersistedProfile = shouldVerifyStackServerProfileReconciliation(cliHomeDir);
1789
1794
  const profileCommand = resolveDaemonCommandSpec({
1790
1795
  cliBin,
1791
1796
  cliEntrypoint:
@@ -1810,6 +1815,14 @@ export async function startLocalDaemonWithAuth({
1810
1815
  captureFailureDiagnostic: { env: daemonEnv },
1811
1816
  },
1812
1817
  );
1818
+ if (verifyPersistedProfile) {
1819
+ assertStackServerProfileReconciled({
1820
+ homeDir: cliHomeDir,
1821
+ serverId,
1822
+ internalServerUrl,
1823
+ publicServerUrl,
1824
+ });
1825
+ }
1813
1826
  }
1814
1827
  }
1815
1828
 
@@ -18,6 +18,7 @@ import {
18
18
  import { killDetachedProcessGroup } from './testkit/core/spawn_daemon_like_process.mjs';
19
19
  import { spawnDetachedInlineNodeTestProcess } from './testkit/core/spawn_test_process.mjs';
20
20
  import { writeStubHappierCliFiles } from './testkit/core/stub_happier_cli_files.mjs';
21
+ import { buildStubHappierServerSetSource } from './testkit/core/stub_happier_cli_server_set.mjs';
21
22
  import { resolveStackCredentialPaths } from './utils/auth/credentials_paths.mjs';
22
23
 
23
24
  function runNode(args, { cwd, env }) {
@@ -50,7 +51,7 @@ const scriptsDir = dirname(fileURLToPath(import.meta.url));
50
51
  const rootDir = dirname(scriptsDir);
51
52
  const DAEMON_TEST_PROCESS_HELPER_PATH = join(rootDir, 'scripts', 'testkit', 'core', 'spawn_daemon_like_process.mjs');
52
53
 
53
- function buildProfileCaptureDaemonCliScript({ cliHomeDir, capturePath }) {
54
+ function buildProfileCaptureDaemonCliScript({ cliHomeDir, capturePath, ignoreServerSet = false }) {
54
55
  const activeServerId = 'stack_dev__id_default';
55
56
  const statePath = join(cliHomeDir, 'servers', activeServerId, 'daemon.state.json');
56
57
  return `
@@ -62,29 +63,7 @@ const args = process.argv.slice(2);
62
63
  const home = process.env.HAPPIER_HOME_DIR || process.env.HAPPIER_STACK_CLI_HOME_DIR;
63
64
  if (!home) process.exit(2);
64
65
 
65
- if (args[0] === 'server' && args[1] === 'set') {
66
- const value = (name) => {
67
- const index = args.indexOf(name);
68
- return index >= 0 ? String(args[index + 1] || '') : '';
69
- };
70
- const settingsPath = join(home, 'settings.json');
71
- const settings = JSON.parse(readFileSync(settingsPath, 'utf-8'));
72
- const serverId = value('--server-id');
73
- const current = settings.servers?.[serverId] ?? {};
74
- settings.activeServerId = serverId;
75
- settings.servers = {
76
- ...(settings.servers ?? {}),
77
- [serverId]: {
78
- ...current,
79
- id: serverId,
80
- serverUrl: value('--server-url'),
81
- localServerUrl: value('--local-server-url'),
82
- webappUrl: value('--webapp-url'),
83
- },
84
- };
85
- writeFileSync(settingsPath, JSON.stringify(settings, null, 2) + '\\n', 'utf-8');
86
- process.exit(0);
87
- }
66
+ ${buildStubHappierServerSetSource({ ignoreServerSet })}
88
67
 
89
68
  if (args[0] !== 'daemon') process.exit(0);
90
69
  const sub = args[1] || '';
@@ -114,6 +93,7 @@ import { mkdirSync, writeFileSync } from 'node:fs';
114
93
  import { join } from 'node:path';
115
94
 
116
95
  const args = process.argv.slice(2);
96
+ ${buildStubHappierServerSetSource()}
117
97
  const home = process.env.HAPPIER_HOME_DIR || process.env.HAPPIER_STACK_CLI_HOME_DIR;
118
98
  if (!home) process.exit(2);
119
99
  const logsDir = join(home, 'logs');
@@ -404,6 +384,7 @@ test('startLocalDaemonWithAuth streams daemon start output in TUI mode', async (
404
384
  join(cliDir, 'dist', 'index.mjs'),
405
385
  `
406
386
  const args = process.argv.slice(2);
387
+ ${buildStubHappierServerSetSource()}
407
388
  if (args[0] === 'daemon' && args[1] === 'start') {
408
389
  console.log('stub daemon start');
409
390
  process.exit(1);
@@ -474,6 +455,7 @@ test('startLocalDaemonWithAuth keeps TUI alive when daemon start reports an inst
474
455
  join(cliDir, 'dist', 'index.mjs'),
475
456
  `
476
457
  const args = process.argv.slice(2);
458
+ ${buildStubHappierServerSetSource()}
477
459
  if (args[0] === 'daemon' && args[1] === 'start') {
478
460
  console.error('A background service is already installed for this relay.');
479
461
  console.error('Use \`happier service start\` to start the installed background service instead of starting a new relay runtime.');
@@ -541,6 +523,7 @@ test('startLocalDaemonWithAuth keeps TUI alive when the daemon start wrapper exi
541
523
  cliEntrypoint,
542
524
  `
543
525
  const args = process.argv.slice(2);
526
+ ${buildStubHappierServerSetSource()}
544
527
  if (args[0] === 'daemon' && args[1] === 'start') {
545
528
  process.kill(process.pid, 'SIGTERM');
546
529
  setInterval(() => {}, 1000);
@@ -836,14 +819,15 @@ test('startLocalDaemonWithAuth reconciles a stale active stack profile before sp
836
819
  const profileAtDaemonStart = JSON.parse(await readFile(capturePath, 'utf-8'));
837
820
  assert.equal(profileAtDaemonStart.activeServerId, activeServerId);
838
821
  assert.equal(profileAtDaemonStart.profile?.serverUrl, internalServerUrl);
839
- assert.equal(profileAtDaemonStart.profile?.localServerUrl, internalServerUrl);
822
+ // The CLI collapses a local URL equal to the relay URL, so the stale split must be gone.
823
+ assert.equal(profileAtDaemonStart.profile?.localServerUrl, undefined);
840
824
  assert.equal(profileAtDaemonStart.profile?.webappUrl, publicServerUrl);
841
825
  assert.equal(profileAtDaemonStart.profile?.preservedProfileField, 'keep-me');
842
826
 
843
827
  const persistedSettings = JSON.parse(await readFile(join(cliHomeDir, 'settings.json'), 'utf-8'));
844
828
  assert.equal(persistedSettings.activeServerId, activeServerId);
845
829
  assert.equal(persistedSettings.servers[activeServerId].serverUrl, internalServerUrl);
846
- assert.equal(persistedSettings.servers[activeServerId].localServerUrl, internalServerUrl);
830
+ assert.equal(persistedSettings.servers[activeServerId].localServerUrl, undefined);
847
831
  assert.equal(persistedSettings.servers[activeServerId].webappUrl, publicServerUrl);
848
832
  assert.equal(persistedSettings.servers[activeServerId].preservedProfileField, 'keep-me');
849
833
  assert.equal(await readFile(credentialPaths.serverScopedPath, 'utf-8'), credentialContents);
@@ -855,6 +839,95 @@ test('startLocalDaemonWithAuth reconciles a stale active stack profile before sp
855
839
  }
856
840
  });
857
841
 
842
+ test('startLocalDaemonWithAuth rejects a CLI that exits successfully without reconciling the stack profile', async () => {
843
+ const tmp = await mkdtemp(join(tmpdir(), 'happy-stacks-daemon-profile-legacy-cli-'));
844
+ let daemonPid = null;
845
+ try {
846
+ const cliHomeDir = join(tmp, 'stack', 'cli');
847
+ const cliBin = join(tmp, 'bin', 'happier');
848
+ const cliCommandScript = join(tmp, 'legacy-profile-daemon.mjs');
849
+ const capturePath = join(tmp, 'profile-at-daemon-start.json');
850
+ const activeServerId = 'stack_dev__id_default';
851
+ const internalServerUrl = 'http://127.0.0.1:4312';
852
+ const publicServerUrl = 'http://localhost:4312';
853
+
854
+ await mkdir(dirname(cliBin), { recursive: true });
855
+ await mkdir(cliHomeDir, { recursive: true });
856
+ await writeFile(cliBin, '#!/bin/sh\nexit 0\n', 'utf-8');
857
+ await chmod(cliBin, 0o755);
858
+ await writeFile(
859
+ cliCommandScript,
860
+ buildProfileCaptureDaemonCliScript({ cliHomeDir, capturePath, ignoreServerSet: true }),
861
+ 'utf-8',
862
+ );
863
+ await writeFile(
864
+ join(cliHomeDir, 'settings.json'),
865
+ JSON.stringify({
866
+ schemaVersion: 6,
867
+ activeServerId,
868
+ servers: {
869
+ [activeServerId]: {
870
+ id: activeServerId,
871
+ name: 'Stale stack profile',
872
+ serverUrl: 'http://127.0.0.1:3012',
873
+ localServerUrl: 'http://127.0.0.1:3012',
874
+ webappUrl: 'http://localhost:3012',
875
+ },
876
+ },
877
+ }, null, 2) + '\n',
878
+ 'utf-8',
879
+ );
880
+
881
+ const env = {
882
+ ...createStubStackEnv(),
883
+ HAPPIER_STACK_STORAGE_DIR: join(tmp, 'storage'),
884
+ HAPPIER_STACK_STACK: 'dev',
885
+ HAPPIER_STACK_AUTO_AUTH_SEED: '0',
886
+ HAPPIER_STACK_MIGRATE_CREDENTIALS: '0',
887
+ HAPPIER_STACK_CLI_BUILD: '1',
888
+ HAPPIER_STACK_CREDENTIAL_VALIDATE_TIMEOUT_MS: '10',
889
+ HAPPIER_STACK_DAEMON_START_VERIFY_TIMEOUT_MS: '2000',
890
+ HAPPIER_STACK_DAEMON_START_VERIFY_POLL_MS: '25',
891
+ HAPPIER_STACK_DAEMON_START_VERIFY_STABLE_MS: '0',
892
+ };
893
+
894
+ await assert.rejects(
895
+ startLocalDaemonWithAuth({
896
+ cliBin,
897
+ cliCommand: process.execPath,
898
+ cliCommandArgs: [cliCommandScript],
899
+ cliHomeDir,
900
+ internalServerUrl,
901
+ publicServerUrl,
902
+ isShuttingDown: () => false,
903
+ forceRestart: true,
904
+ env,
905
+ stackName: 'dev',
906
+ cliIdentity: 'default',
907
+ }),
908
+ (error) => {
909
+ assert.equal(error?.code, 'ESTACKCLIPROFILERECONCILIATION');
910
+ assert.match(String(error?.message ?? ''), /did not apply the requested stack relay profile/i);
911
+ return true;
912
+ },
913
+ );
914
+ await assert.rejects(readFile(capturePath, 'utf-8'), { code: 'ENOENT' });
915
+ } finally {
916
+ try {
917
+ const daemonState = JSON.parse(
918
+ await readFile(join(tmp, 'stack', 'cli', 'servers', 'stack_dev__id_default', 'daemon.state.json'), 'utf-8'),
919
+ );
920
+ daemonPid = Number(daemonState?.pid);
921
+ } catch {
922
+ daemonPid = null;
923
+ }
924
+ if (Number.isFinite(daemonPid) && daemonPid > 1) {
925
+ killDetachedProcessGroup(daemonPid, 'SIGKILL');
926
+ }
927
+ await rm(tmp, { recursive: true, force: true });
928
+ }
929
+ });
930
+
858
931
  test('startLocalDaemonWithAuth preserves an existing running daemon when requested', async () => {
859
932
  const scriptsDir = dirname(fileURLToPath(import.meta.url));
860
933
  const rootDir = dirname(scriptsDir);
@@ -1055,6 +1128,7 @@ test('startLocalDaemonWithAuth allows slower binary daemon startups by default',
1055
1128
  import { spawn } from 'node:child_process';
1056
1129
 
1057
1130
  const args = process.argv.slice(2);
1131
+ ${buildStubHappierServerSetSource()}
1058
1132
  const home = process.env.HAPPIER_HOME_DIR || process.env.HAPPIER_STACK_CLI_HOME_DIR;
1059
1133
  if (!home) process.exit(2);
1060
1134
 
@@ -1170,6 +1244,7 @@ test('startLocalDaemonWithAuth allows slower runtime JS daemon startups by defau
1170
1244
  import { spawn } from 'node:child_process';
1171
1245
 
1172
1246
  const args = process.argv.slice(2);
1247
+ ${buildStubHappierServerSetSource()}
1173
1248
  const home = process.env.HAPPIER_HOME_DIR || process.env.HAPPIER_STACK_CLI_HOME_DIR;
1174
1249
  if (!home) process.exit(2);
1175
1250
 
@@ -1279,6 +1354,7 @@ test('startLocalDaemonWithAuth allows slower source daemon startups by default',
1279
1354
  import { spawn } from 'node:child_process';
1280
1355
 
1281
1356
  const args = process.argv.slice(2);
1357
+ ${buildStubHappierServerSetSource()}
1282
1358
  const home = process.env.HAPPIER_HOME_DIR || process.env.HAPPIER_STACK_CLI_HOME_DIR;
1283
1359
  if (!home) process.exit(2);
1284
1360
 
@@ -1399,6 +1475,7 @@ test('startLocalDaemonWithAuth tolerates transient non-zero direct-executable st
1399
1475
  import { spawn } from 'node:child_process';
1400
1476
 
1401
1477
  const args = process.argv.slice(2);
1478
+ ${buildStubHappierServerSetSource()}
1402
1479
  const home = process.env.HAPPIER_HOME_DIR || process.env.HAPPIER_STACK_CLI_HOME_DIR;
1403
1480
  if (!home) process.exit(2);
1404
1481
 
@@ -305,9 +305,7 @@ test('fails closed when token is missing', () => {
305
305
  assert.match(res.stderr, /HAPPIER_GITHUB_BOT_TOKEN/);
306
306
  });
307
307
 
308
- test('uses the execution-host credential broker when the VM has no environment token', {
309
- skip: process.platform !== 'linux' ? 'execution-host credential brokering is Linux-VM-only' : false,
310
- }, () => {
308
+ test('uses the execution-host credential broker when the VM has no environment token', () => {
311
309
  const dir = mkdtempSync(join(tmpdir(), 'ghops-mac-host-token-test-'));
312
310
  const { fakeGh } = createFakeBotAuthTools(dir);
313
311
  const fixture = createMacHostCredentialFixture(dir);
@@ -330,9 +328,7 @@ test('uses the execution-host credential broker when the VM has no environment t
330
328
  assert.deepEqual(JSON.parse(input), { version: 1, operation: 'read-ghops-credential' });
331
329
  });
332
330
 
333
- test('keeps an explicit bot push on the authoritative checkout when the credential comes from mac-host', {
334
- skip: process.platform !== 'linux' ? 'execution-host credential brokering is Linux-VM-only' : false,
335
- }, () => {
331
+ test('keeps an explicit bot push on the authoritative checkout when the credential comes from mac-host', () => {
336
332
  const dir = mkdtempSync(join(tmpdir(), 'ghops-mac-host-git-push-test-'));
337
333
  const { fakeGh } = createFakeBotAuthTools(dir);
338
334
  const { fakeGit, gitLog } = createFakeGitPushTool(dir);
@@ -363,9 +359,7 @@ test('keeps an explicit bot push on the authoritative checkout when the credenti
363
359
  assert.equal(readFileSync(fixture.sshLog, 'utf8').trim().split('\n').length, 1);
364
360
  });
365
361
 
366
- test('fails closed when the configured mac-host credential route is unavailable', {
367
- skip: process.platform !== 'linux' ? 'execution-host credential brokering is Linux-VM-only' : false,
368
- }, () => {
362
+ test('fails closed when the configured mac-host credential route is unavailable', () => {
369
363
  const dir = mkdtempSync(join(tmpdir(), 'ghops-mac-host-unavailable-test-'));
370
364
  const { fakeGh } = createFakeBotAuthTools(dir);
371
365
  const fixture = createMacHostCredentialFixture(dir);
@@ -25,9 +25,11 @@ import {
25
25
  } from './runtime/launch/resolveCliRuntimeLaunchSpec.mjs';
26
26
  import { resolveJavaScriptRuntimeCommand } from '@happier-dev/cli-common/providers/managedJavaScriptRuntime';
27
27
  import {
28
+ assertStackServerProfileReconciled,
28
29
  buildStackServerProfileSetArgs,
29
30
  deriveEnvServerIdFromUrl,
30
31
  readActiveServerUrlsFromCliSettings,
32
+ shouldVerifyStackServerProfileReconciliation,
31
33
  } from './utils/stack/server_profile_reconciliation.mjs';
32
34
 
33
35
  function isNodeRuntimeEntrypoint(entrypoint) {
@@ -39,6 +41,7 @@ function runCliProfileReconciliation({ resolvedCli, env, cliHomeDir, internalSer
39
41
  const serverId = String(env.HAPPIER_ACTIVE_SERVER_ID ?? '').trim();
40
42
  if (!serverId) return;
41
43
  const args = buildStackServerProfileSetArgs({ serverId, internalServerUrl, publicServerUrl });
44
+ const verifyPersistedProfile = shouldVerifyStackServerProfileReconciliation(cliHomeDir);
42
45
  const reconciliationEnv = { ...env, HAPPIER_DEFER_SERVER_SELECTION_FOLLOW_UP: '1' };
43
46
  const result =
44
47
  resolvedCli.kind === 'runtime'
@@ -51,6 +54,14 @@ function runCliProfileReconciliation({ resolvedCli, env, cliHomeDir, internalSer
51
54
  const detail = result.error instanceof Error ? result.error.message : `exit=${result.status ?? 'unknown'}`;
52
55
  throw new Error(`[happier] failed to refresh the stack-owned relay profile before launch (${detail}).`);
53
56
  }
57
+ if (verifyPersistedProfile) {
58
+ assertStackServerProfileReconciled({
59
+ homeDir: cliHomeDir,
60
+ serverId,
61
+ internalServerUrl,
62
+ publicServerUrl,
63
+ });
64
+ }
54
65
  }
55
66
 
56
67
  function printHstackHappierHelp({ json }) {
@@ -6,6 +6,10 @@ import { join } from 'node:path';
6
6
  import { fileURLToPath } from 'node:url';
7
7
  import { spawnSync } from 'node:child_process';
8
8
 
9
+ import { createLimaTestEnv, limaGuestExec } from '../testkit/core/lima_guest_harness.mjs';
10
+
11
+ const testEnv = createLimaTestEnv();
12
+
9
13
  const __dirname = fileURLToPath(new URL('.', import.meta.url));
10
14
 
11
15
  async function fileExists(path) {
@@ -134,18 +138,7 @@ test('macos lima repeat-validation wrapper records per-run artifacts for repeate
134
138
  ' if [[ "${1:-}" == "--" ]]; then',
135
139
  ' shift',
136
140
  ' fi',
137
- ' if [[ "${1:-}" == "env" ]]; then',
138
- ' shift',
139
- ' while [[ $# -gt 0 && "$1" == *=* ]]; do',
140
- ' export "$1"',
141
- ' shift',
142
- ' done',
143
- ' if [[ "${1:-}" == "bash" && "${2:-}" == "-lc" ]]; then',
144
- ' shift 2',
145
- ' exec bash -c "${1:-}"',
146
- ' fi',
147
- ' fi',
148
- ' exec "$@"',
141
+ limaGuestExec,
149
142
  ' ;;',
150
143
  ' *)',
151
144
  ' exit 0',
@@ -158,10 +151,10 @@ test('macos lima repeat-validation wrapper records per-run artifacts for repeate
158
151
 
159
152
  const scriptPath = join(__dirname, 'macos-lima-hstack-repeat-validation.sh');
160
153
  const env = {
161
- ...process.env,
154
+ ...testEnv,
162
155
  HOME: homeDir,
163
156
  LIMA_HOME: limaHome,
164
- PATH: `${binDir}:${process.env.PATH ?? ''}`,
157
+ PATH: `${binDir}:${testEnv.PATH}`,
165
158
  HSTACK_RAW_BASE: 'https://example.test/apps/stack',
166
159
  HSTACK_VERSION: '0.9.0-test',
167
160
  HSTACK_REPEAT_COUNT: '2',
@@ -325,7 +318,7 @@ test('macos lima repeat-validation wrapper writes summary.json with failureReaso
325
318
  ' exit 42',
326
319
  ' fi',
327
320
  ' fi',
328
- ' exec "$@"',
321
+ limaGuestExec,
329
322
  ' ;;',
330
323
  ' *)',
331
324
  ' exit 0',
@@ -338,10 +331,10 @@ test('macos lima repeat-validation wrapper writes summary.json with failureReaso
338
331
 
339
332
  const scriptPath = join(__dirname, 'macos-lima-hstack-repeat-validation.sh');
340
333
  const env = {
341
- ...process.env,
334
+ ...testEnv,
342
335
  HOME: homeDir,
343
336
  LIMA_HOME: limaHome,
344
- PATH: `${binDir}:${process.env.PATH ?? ''}`,
337
+ PATH: `${binDir}:${testEnv.PATH}`,
345
338
  HSTACK_RAW_BASE: 'https://example.test/apps/stack',
346
339
  HSTACK_VERSION: '0.9.0-test',
347
340
  HSTACK_REPEAT_COUNT: '2',
@@ -6,8 +6,6 @@ import test from 'node:test';
6
6
  import { fileURLToPath } from 'node:url';
7
7
 
8
8
  const SELF_HOST_INSTALL_TIMEOUT_MS = 420_000;
9
- const SELF_HOST_ARTIFACT_BUILD_TIMEOUT_MS = 12 * 60_000;
10
- const SELF_HOST_TEST_TIMEOUT_MS = 30 * 60_000;
11
9
 
12
10
  import { commandExists, extractBinaryFromArtifact, reserveLocalhostPort, run, waitForHealth } from './self_host_service_e2e_harness.mjs';
13
11
 
@@ -25,7 +23,7 @@ function launchctlPrintTarget(label) {
25
23
 
26
24
  test(
27
25
  'compiled hstack self-host install/uninstall works on macOS launchd host without repo checkout',
28
- { timeout: SELF_HOST_TEST_TIMEOUT_MS },
26
+ { timeout: 15 * 60_000 },
29
27
  async (t) => {
30
28
  if (process.platform !== 'darwin') {
31
29
  t.skip(`macos-only test (current: ${process.platform})`);
@@ -60,7 +58,7 @@ test(
60
58
  label: 'self-host-launchd',
61
59
  cwd: repoRoot,
62
60
  env: { ...process.env },
63
- timeoutMs: SELF_HOST_ARTIFACT_BUILD_TIMEOUT_MS,
61
+ timeoutMs: 8 * 60_000,
64
62
  }
65
63
  );
66
64
  run(
@@ -75,7 +73,7 @@ test(
75
73
  label: 'self-host-launchd',
76
74
  cwd: repoRoot,
77
75
  env: { ...process.env },
78
- timeoutMs: SELF_HOST_ARTIFACT_BUILD_TIMEOUT_MS,
76
+ timeoutMs: 8 * 60_000,
79
77
  }
80
78
  );
81
79
 
@@ -43,7 +43,6 @@ import {
43
43
  resolveConfiguredRelayRuntimeBinaryOverride,
44
44
  resolveConfiguredRelayRuntimePaths,
45
45
  } from '@happier-dev/cli-common/firstPartyRuntime/relayRuntime';
46
- import { removeRuntimePayloadPath } from '@happier-dev/cli-common/firstPartyRuntime';
47
46
  import {
48
47
  mergeSelfHostServerEnvText,
49
48
  parseEnvText as parseEnvTextShared,
@@ -2365,18 +2364,18 @@ async function cmdUninstall({ channel, mode, argv, json }) {
2365
2364
  homeDir: homedir(),
2366
2365
  spec: serviceSpec,
2367
2366
  persistent: true,
2368
- });
2367
+ }).catch(() => {});
2369
2368
 
2370
- await removeRuntimePayloadPath(config.serverBinaryPath, config.platform);
2371
- await removeRuntimePayloadPath(config.serverPreviousBinaryPath, config.platform);
2372
- await removeRuntimePayloadPath(join(config.binDir, config.serverBinaryName), config.platform);
2373
- await removeRuntimePayloadPath(config.statePath, config.platform);
2369
+ await rm(config.serverBinaryPath, { force: true });
2370
+ await rm(config.serverPreviousBinaryPath, { force: true });
2371
+ await rm(join(config.binDir, config.serverBinaryName), { force: true });
2372
+ await rm(config.statePath, { force: true });
2374
2373
 
2375
2374
  if (purgeData) {
2376
- await removeRuntimePayloadPath(config.installRoot, config.platform);
2377
- await removeRuntimePayloadPath(config.configDir, config.platform);
2378
- await removeRuntimePayloadPath(config.dataDir, config.platform);
2379
- await removeRuntimePayloadPath(config.logDir, config.platform);
2375
+ await rm(config.installRoot, { recursive: true, force: true });
2376
+ await rm(config.configDir, { recursive: true, force: true });
2377
+ await rm(config.dataDir, { recursive: true, force: true });
2378
+ await rm(config.logDir, { recursive: true, force: true });
2380
2379
  }
2381
2380
 
2382
2381
  printResult({
@@ -1631,7 +1631,7 @@ test('renderServerEnvFile emits sqlite/local defaults for self-host mode', () =>
1631
1631
  assert.match(envText, /PORT=3005/);
1632
1632
  assert.match(envText, /METRICS_ENABLED=false/);
1633
1633
  assert.match(envText, /HAPPIER_DB_PROVIDER=sqlite/);
1634
- assert.match(envText, /DATABASE_URL=file:\/var\/lib\/happier\/happier-server-light\.sqlite/);
1634
+ assert.match(envText, /DATABASE_URL=file:\/\/\/var\/lib\/happier\/happier-server-light\.sqlite/);
1635
1635
  assert.match(envText, /HAPPIER_FILES_BACKEND=local/);
1636
1636
  assert.match(envText, /HAPPIER_SQLITE_AUTO_MIGRATE=1/);
1637
1637
  assert.match(envText, /HAPPIER_SQLITE_MIGRATIONS_DIR=\/var\/lib\/happier\/migrations\/sqlite/);
@@ -1703,7 +1703,7 @@ test('renderServerEnvFile uses Prisma-compatible sqlite DATABASE_URL semantics o
1703
1703
  filesDir: 'C:\\\\Users\\\\me\\\\Happier QA\\\\self-host\\\\data\\\\files',
1704
1704
  dbDir: 'C:\\\\Users\\\\me\\\\Happier QA\\\\self-host\\\\data\\\\pglite',
1705
1705
  });
1706
- assert.match(envText, /DATABASE_URL=file:C:\\Users\\me\\Happier QA\\self-host\\data\\happier-server-light\.sqlite/);
1706
+ assert.match(envText, /DATABASE_URL=file:C:\/Users\/me\/Happier%20QA\/self-host\/data\/happier-server-light\.sqlite/);
1707
1707
  });
1708
1708
 
1709
1709
  test('resolveSelfHostHealthTimeoutMs defaults to a safe health timeout', () => {
@@ -123,9 +123,11 @@ test('withStackEnv preserves explicit local stack runtime override env vars from
123
123
  await withTempStackEnvFixture(async ({ stackName }) => {
124
124
  const previousCliBuild = process.env.HAPPIER_STACK_CLI_BUILD;
125
125
  const previousSkipRefreshDeps = process.env.HAPPIER_STACK_SKIP_REFRESH_DEPS;
126
+ const previousExpoExportMaxWorkers = process.env.HAPPIER_STACK_EXPO_EXPORT_MAX_WORKERS;
126
127
 
127
128
  process.env.HAPPIER_STACK_CLI_BUILD = '0';
128
129
  process.env.HAPPIER_STACK_SKIP_REFRESH_DEPS = '1';
130
+ process.env.HAPPIER_STACK_EXPO_EXPORT_MAX_WORKERS = '2';
129
131
 
130
132
  try {
131
133
  await withStackEnv({
@@ -133,6 +135,7 @@ test('withStackEnv preserves explicit local stack runtime override env vars from
133
135
  fn: async ({ env }) => {
134
136
  assert.equal(env.HAPPIER_STACK_CLI_BUILD, '0');
135
137
  assert.equal(env.HAPPIER_STACK_SKIP_REFRESH_DEPS, '1');
138
+ assert.equal(env.HAPPIER_STACK_EXPO_EXPORT_MAX_WORKERS, '2');
136
139
  },
137
140
  });
138
141
  } finally {
@@ -140,6 +143,8 @@ test('withStackEnv preserves explicit local stack runtime override env vars from
140
143
  else process.env.HAPPIER_STACK_CLI_BUILD = previousCliBuild;
141
144
  if (typeof previousSkipRefreshDeps === 'undefined') delete process.env.HAPPIER_STACK_SKIP_REFRESH_DEPS;
142
145
  else process.env.HAPPIER_STACK_SKIP_REFRESH_DEPS = previousSkipRefreshDeps;
146
+ if (typeof previousExpoExportMaxWorkers === 'undefined') delete process.env.HAPPIER_STACK_EXPO_EXPORT_MAX_WORKERS;
147
+ else process.env.HAPPIER_STACK_EXPO_EXPORT_MAX_WORKERS = previousExpoExportMaxWorkers;
143
148
  }
144
149
  });
145
150
  });