very-happy-cli 0.2.182 → 0.2.184

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 (204) hide show
  1. package/dist/{AcpBackend-DLk3gMYH.mjs → AcpBackend-Csg7Sy2P.mjs} +3 -3
  2. package/dist/{AcpBackend-JA5eu8Y0.cjs → AcpBackend-DOzn74zn.cjs} +3 -3
  3. package/dist/{AcpSessionManager-OrCww-Qv.mjs → AcpSessionManager-BRK2F2yN.mjs} +10 -3
  4. package/dist/{AcpSessionManager-DjYidq4C.cjs → AcpSessionManager-CJXDNNtq.cjs} +10 -3
  5. package/dist/{BasePermissionHandler-u-neo-iN.mjs → BasePermissionHandler-BqYwrCra.mjs} +1 -1
  6. package/dist/{BasePermissionHandler-D3PMKLBS.cjs → BasePermissionHandler-CfrnkG3v.cjs} +1 -1
  7. package/dist/{acpSessionResume-Dxo8222T.cjs → acpSessionResume-DZ65DBeE.cjs} +1 -1
  8. package/dist/{acpSessionResume-u2TwX5Jd.mjs → acpSessionResume-Dz1myMbR.mjs} +1 -1
  9. package/dist/{agentHome-D3hNrnoA.mjs → agentHome-B_tu3tFJ.mjs} +4 -4
  10. package/dist/{agentHome-CP1tCBXz.cjs → agentHome-CKAXhc8P.cjs} +4 -4
  11. package/dist/{api-C_YSQnsi.mjs → api-BpTDU2BO.mjs} +79 -12
  12. package/dist/{api-CZWcG7uh.cjs → api-rw5xkzxo.cjs} +81 -11
  13. package/dist/{apiMachine-DPGrED5C.cjs → apiMachine-Bs1XXHKs.cjs} +14 -14
  14. package/dist/{apiMachine-C_GA5Bm-.mjs → apiMachine-wp0hWG3F.mjs} +14 -14
  15. package/dist/{attachmentContent-Ckzyb1Uy.mjs → attachmentContent-CWSSGMMo.mjs} +2 -2
  16. package/dist/{attachmentContent-I_dJIevE.cjs → attachmentContent-K_Up4InS.cjs} +2 -2
  17. package/dist/{auth-BKnE7uv7.cjs → auth-C4_mXYgj.cjs} +8 -8
  18. package/dist/{auth-DOXMI-xp.mjs → auth-CBESCCCn.mjs} +8 -8
  19. package/dist/{auth-CGgpiJ5-.mjs → auth-D6kSt2sR.mjs} +5 -5
  20. package/dist/{auth-Lw_utSMV.cjs → auth-gGryJImw.cjs} +5 -5
  21. package/dist/{auto-Z56mMZnH.mjs → auto-CEucVmFR.mjs} +32 -26
  22. package/dist/{auto-CIgFHIyQ.cjs → auto-Do43AOza.cjs} +32 -25
  23. package/dist/{bootstrap-DsXp74wv.cjs → bootstrap-BPz1iX77.cjs} +2 -2
  24. package/dist/{bootstrap-D3vlOROj.mjs → bootstrap-CodyCmGt.mjs} +2 -2
  25. package/dist/{browser-CUxGoATV.mjs → browser-CqMhj8Gm.mjs} +1 -1
  26. package/dist/{browser-CZlA9AkO.cjs → browser-D9D-1eqa.cjs} +1 -1
  27. package/dist/{claudeLocal-FnTUgwCi.mjs → claudeLocal-BgIRtT3Q.mjs} +5 -5
  28. package/dist/{claudeLocal-oELvwiZL.cjs → claudeLocal-Dywp8NKr.cjs} +5 -5
  29. package/dist/{claudeLocalLauncher-CO5YHCzi.mjs → claudeLocalLauncher-CaHjZ8HW.mjs} +10 -10
  30. package/dist/{claudeLocalLauncher-QsVXEVdE.cjs → claudeLocalLauncher-_TOL73g5.cjs} +10 -10
  31. package/dist/{claudeSessionFork-Cspr6QW0.mjs → claudeSessionFork-C9nB7fs5.mjs} +1 -1
  32. package/dist/{claudeSessionFork-BA4GE5AL.cjs → claudeSessionFork-jq-_WiAu.cjs} +1 -1
  33. package/dist/{client-CDuW4MS9.cjs → client-BFDji81N.cjs} +15 -7
  34. package/dist/{client-Ctbw05Xj.mjs → client-BdbVizjk.mjs} +15 -7
  35. package/dist/{client-xnWiHqdb.cjs → client-ByZFACEw.cjs} +18 -5
  36. package/dist/{client-DK8CzUry.cjs → client-C49zFRkX.cjs} +2 -2
  37. package/dist/{client-o-meK7-a.mjs → client-CX-_2myt.mjs} +2 -2
  38. package/dist/{client-BGfmSbWc.mjs → client-DwlYk8uJ.mjs} +18 -5
  39. package/dist/codex/happyMcpStdioBridge.cjs +16 -16
  40. package/dist/codex/happyMcpStdioBridge.mjs +16 -16
  41. package/dist/{codexAppServerClient-BlsOZLul.mjs → codexAppServerClient-CmOIqiNQ.mjs} +3 -3
  42. package/dist/{codexAppServerClient-DhNDTU_i.cjs → codexAppServerClient-DF12ZSw1.cjs} +3 -3
  43. package/dist/{codexCommand-BGx5NMQR.mjs → codexCommand-BN05uEyv.mjs} +94 -60
  44. package/dist/{codexCommand-DJDPfpIs.cjs → codexCommand-H-ObWTtx.cjs} +94 -60
  45. package/dist/{codexTermination-CVhhwHZU.mjs → codexTermination-Byohgj8h.mjs} +1 -1
  46. package/dist/{codexTermination-CqPMuokw.cjs → codexTermination-RwKa8pKk.cjs} +1 -1
  47. package/dist/{config-CWAe08-Q.mjs → config-ChHLh-hf.mjs} +3 -3
  48. package/dist/{config-CHpxzXBL.cjs → config-D_wNqwxX.cjs} +3 -3
  49. package/dist/{configuration-B-CugKJ3.cjs → configuration-C9Sx-Foo.cjs} +1 -1
  50. package/dist/{configuration-YXw_Dcsb.mjs → configuration-CVgUe2qN.mjs} +1 -1
  51. package/dist/{connect-BmHvMXH2.cjs → connect-B61xJDRq.cjs} +13 -13
  52. package/dist/{connect-CPeJXHha.mjs → connect-DJEQjS7C.mjs} +13 -13
  53. package/dist/{context-BtIVqHI5.cjs → context-Bf3BG7w8.cjs} +1 -1
  54. package/dist/{context-Drzs_Z38.mjs → context-CDPfhHTo.mjs} +1 -1
  55. package/dist/{controlClient-D0kGwKYx.cjs → controlClient-BLO1_pPx.cjs} +14 -3
  56. package/dist/{controlClient-BL4hb4l3.mjs → controlClient-DMCxtwq2.mjs} +14 -4
  57. package/dist/{createSessionMetadata-L499emJn.cjs → createSessionMetadata-5Mde6Dfh.cjs} +2 -2
  58. package/dist/{createSessionMetadata-DvGDsnsn.mjs → createSessionMetadata-BYroCdrU.mjs} +2 -2
  59. package/dist/daemonSupervisor-57JYYzMf.cjs +268 -0
  60. package/dist/daemonSupervisor-DfzrtNhM.mjs +245 -0
  61. package/dist/{defaultPermissionMode-MXpZlXud.cjs → defaultPermissionMode-B7mjHQKp.cjs} +2 -2
  62. package/dist/{defaultPermissionMode-BLfxu-Yz.mjs → defaultPermissionMode-CTdxUV_3.mjs} +2 -2
  63. package/dist/{deterministicJson-CfLkBRvU.cjs → deterministicJson-C1Z9MlDX.cjs} +569 -17
  64. package/dist/{deterministicJson-B_UAbmQ4.mjs → deterministicJson-C3QXOc1N.mjs} +572 -21
  65. package/dist/{doctor-DMvlzmnE.cjs → doctor-DRdV3thy.cjs} +7 -7
  66. package/dist/{doctor-bKScPtZu.mjs → doctor-OwNmTpYh.mjs} +7 -7
  67. package/dist/{downloadTarget-J9j37eFG.mjs → downloadTarget-CNtQ8rhV.mjs} +6 -6
  68. package/dist/{downloadTarget-D33BFvew.cjs → downloadTarget-Di5bf7r0.cjs} +6 -6
  69. package/dist/{ensureDaemonRunning-2IqWROJp.cjs → ensureDaemonRunning-CMY--T9Q.cjs} +5 -5
  70. package/dist/{ensureDaemonRunning-DLvwhpNg.mjs → ensureDaemonRunning-IRV-w0wH.mjs} +5 -5
  71. package/dist/{handleResumeCommand-CjtjQ_I7.mjs → handleResumeCommand-BO00SYjG.mjs} +5 -5
  72. package/dist/{handleResumeCommand-Dp2Y-p6V.cjs → handleResumeCommand-z7wY7QVM.cjs} +5 -5
  73. package/dist/{index-DYVIbhAJ.cjs → index-B4cyX2by.cjs} +40 -40
  74. package/dist/{index-B_aNaW9w.cjs → index-BsoUsrKS.cjs} +4 -4
  75. package/dist/{index-Cllzqoes.mjs → index-C7zgeuLP.mjs} +4 -4
  76. package/dist/{index-D_LvOWUN.mjs → index-CVUiytNq.mjs} +3 -3
  77. package/dist/{index-BOT0Tg5E.mjs → index-DZvi6_tB.mjs} +4 -4
  78. package/dist/{index-BI0h2Zks.mjs → index-DisBaRvM.mjs} +277 -77
  79. package/dist/{index-CZC7egJA.cjs → index-NhmqjrGv.cjs} +3 -3
  80. package/dist/{index-oh8XEozJ.cjs → index-Ub-5xbcU.cjs} +286 -76
  81. package/dist/{index-kA46KMxN.mjs → index-_LfuIz-O.mjs} +41 -41
  82. package/dist/{index-DymOv3kK.cjs → index-wYJu2yGc.cjs} +4 -4
  83. package/dist/index.cjs +2 -2
  84. package/dist/index.mjs +2 -2
  85. package/dist/{install-D2NCbeJ-.cjs → install-BATFlr_l.cjs} +2 -2
  86. package/dist/{install-BAa_Xmof.cjs → install-CGYDeYes.cjs} +3 -3
  87. package/dist/{install-C46mkr9a.mjs → install-DeUM6h8X.mjs} +3 -3
  88. package/dist/{install-D0inLCv-.mjs → install-F3rP8tBU.mjs} +2 -2
  89. package/dist/lib.cjs +12 -12
  90. package/dist/lib.d.cts +1 -1
  91. package/dist/lib.d.mts +1 -1
  92. package/dist/lib.mjs +12 -12
  93. package/dist/{lidState-DcPvwniz.cjs → lidState-C4YgPn6y.cjs} +1 -1
  94. package/dist/{lidState-D8Iuvjgl.mjs → lidState-CBjQEwTt.mjs} +1 -1
  95. package/dist/{localHappyAgentAuth-SD6GM97y.cjs → localHappyAgentAuth-BzCuIkzi.cjs} +1 -1
  96. package/dist/{localHappyAgentAuth-D3rQDRd9.mjs → localHappyAgentAuth-CcWGU_lS.mjs} +1 -1
  97. package/dist/{logger-DK1ytCz6.cjs → logger-CrtT0opS.cjs} +2 -2
  98. package/dist/{logger-DpqihN1f.mjs → logger-D2qd0mMg.mjs} +2 -2
  99. package/dist/{machineMetadata-D4E3qoIG.mjs → machineMetadata-B2czDiTd.mjs} +3 -3
  100. package/dist/{machineMetadata-IJc6_iyx.cjs → machineMetadata-D1hlm_oF.cjs} +3 -3
  101. package/dist/{main-CpUmw7hm.mjs → main-BNYWELul.mjs} +69 -56
  102. package/dist/{main-DUXh2rgW.cjs → main-BWgWN5d1.cjs} +69 -56
  103. package/dist/{mcp-D5f3Vd-z.cjs → mcp-C18unjs1.cjs} +15 -15
  104. package/dist/{mcp-66g1TJ8P.mjs → mcp-ColtiH23.mjs} +15 -15
  105. package/dist/{mirrorProtocol-DkWOcZh9.cjs → mirrorProtocol-D4CR5I5W.cjs} +3 -3
  106. package/dist/{mirrorProtocol-bsCUcaCY.mjs → mirrorProtocol-DTHWtAE5.mjs} +3 -3
  107. package/dist/{package-BfeqAzyJ.cjs → package-DczR1k0c.cjs} +7 -7
  108. package/dist/{package-CKj8zndE.mjs → package-Ek5FOyEo.mjs} +7 -7
  109. package/dist/{panels-r8LmaBs6.mjs → panels-BIQ7FrCB.mjs} +5 -5
  110. package/dist/{panels-2PXsw9-d.cjs → panels-DYSMHhdb.cjs} +5 -5
  111. package/dist/{peerTools-D_id4d41.mjs → peerTools-CABQ6iKd.mjs} +5 -5
  112. package/dist/{peerTools-BVp1z0T_.cjs → peerTools-Cufh4Qp_.cjs} +5 -5
  113. package/dist/{persistence-jOEuAFTS.mjs → persistence-DFtgQvr6.mjs} +2 -2
  114. package/dist/{persistence-BdpwWXKh.cjs → persistence-IYH6bAXY.cjs} +2 -2
  115. package/dist/{piRunnerArgs-68I5F_M1.mjs → piRunnerArgs-CIWprC1S.mjs} +1 -1
  116. package/dist/{piRunnerArgs-vxCHKnSA.cjs → piRunnerArgs-Dgjmj8KL.cjs} +1 -1
  117. package/dist/{piRuntime-C3Dg5uni.cjs → piRuntime-C_nX977w.cjs} +2 -2
  118. package/dist/{piRuntime-DgLIard1.mjs → piRuntime-K6o4GPZ9.mjs} +2 -2
  119. package/dist/{piTerminal-DJL0w-uA.mjs → piTerminal-CRl0EZc3.mjs} +18 -18
  120. package/dist/{piTerminal-C135BcLP.cjs → piTerminal-CYhcmkyi.cjs} +18 -18
  121. package/dist/providerBinding-B-Qbx9W2.cjs +140 -0
  122. package/dist/providerBinding-CYubGg-Z.mjs +132 -0
  123. package/dist/{pushNotifications-CyQVDThC.cjs → pushNotifications-BgQ_QTgS.cjs} +3 -3
  124. package/dist/{pushNotifications-CMmRsbKv.mjs → pushNotifications-gVJWGFBP.mjs} +3 -3
  125. package/dist/{query-CPXnDURZ.mjs → query-CGp9vY4e.mjs} +1 -1
  126. package/dist/{query-CK--1fbL.cjs → query-DFreaScb.cjs} +1 -1
  127. package/dist/{rateLimitWindows-DJxnNw-X.cjs → rateLimitWindows-CeogT1b6.cjs} +1 -1
  128. package/dist/{rateLimitWindows-Cqa4AGaB.mjs → rateLimitWindows-DM_gshI4.mjs} +1 -1
  129. package/dist/{registerCommonHandlers-DbNoM39q.cjs → registerCommonHandlers-CRqKXwQt.cjs} +2 -2
  130. package/dist/{registerCommonHandlers-K8dICQO2.mjs → registerCommonHandlers-CyAtDNvs.mjs} +2 -2
  131. package/dist/{registerKillSessionHandler-DiS_go8d.cjs → registerKillSessionHandler-CX49N52L.cjs} +6 -6
  132. package/dist/{registerKillSessionHandler-O1iriOMO.mjs → registerKillSessionHandler-DGWADNla.mjs} +6 -6
  133. package/dist/{remoteSessionClient-BlURPulk.mjs → remoteSessionClient-1nycIdrG.mjs} +5 -5
  134. package/dist/{remoteSessionClient-CtV9mDko.cjs → remoteSessionClient-CuAkp19e.cjs} +5 -5
  135. package/dist/{reportProgressTool-DlD_xjzU.cjs → reportProgressTool-BS7TkeEk.cjs} +4 -4
  136. package/dist/{reportProgressTool-nCExrHZH.mjs → reportProgressTool-CdSi-uSC.mjs} +4 -4
  137. package/dist/{resources-CH1iP6Cv.mjs → resources-CLdQfe3b.mjs} +1 -1
  138. package/dist/{resources-BPyN59Iv.cjs → resources-CqwHPhdK.cjs} +1 -1
  139. package/dist/{run-drtwHYkO.mjs → run-DqjEj8M2.mjs} +101 -248
  140. package/dist/{run-BBNrcCfI.cjs → run-gVwkplx0.cjs} +111 -259
  141. package/dist/{runClaude-B3KSeby4.cjs → runClaude-CtVoFstP.cjs} +39 -24
  142. package/dist/{runClaude-CFp27Tyi.mjs → runClaude-CuSjrZSf.mjs} +39 -24
  143. package/dist/{runClaudeDeps-C_C9TCI0.cjs → runClaudeDeps-DqOgRuKq.cjs} +49 -40
  144. package/dist/{runClaudeDeps-DMcv93lA.mjs → runClaudeDeps-eazOhb6g.mjs} +54 -45
  145. package/dist/{runGemini-DzdSBAr9.cjs → runGemini-81wkPvMv.cjs} +37 -35
  146. package/dist/{runGemini-Bc6SY-hd.mjs → runGemini-B4EqAd1U.mjs} +37 -35
  147. package/dist/{runOpenClaw-DN6rEVqC.cjs → runOpenClaw-BK7ZQEKj.cjs} +18 -18
  148. package/dist/{runOpenClaw-DI0qMlgF.mjs → runOpenClaw-Brb1KKAA.mjs} +18 -18
  149. package/dist/{sandbox-DtttPBMA.cjs → sandbox-DFD6an8o.cjs} +4 -4
  150. package/dist/{sandbox-v-ffe8LR.mjs → sandbox-t43Exd4t.mjs} +4 -4
  151. package/dist/{selfCheck-B-yy6bW3.cjs → selfCheck-Bel50SH3.cjs} +37 -36
  152. package/dist/selfCheck-CwpZepG-.mjs +86 -0
  153. package/dist/{send-DpBwSZuj.mjs → send-Co9jxmc4.mjs} +8 -8
  154. package/dist/{send-ShzXYPRu.cjs → send-IR5DnG9V.cjs} +8 -8
  155. package/dist/{server-CEzKrfKj.cjs → server-CAo6a3Vw.cjs} +6 -6
  156. package/dist/{server-DScgJXxa.mjs → server-KnIeKeTb.mjs} +4 -4
  157. package/dist/{sessionLock-Dc0fadGG.cjs → sessionLock-DNGDn9oj.cjs} +3 -3
  158. package/dist/{sessionLock-B6K4SBZD.mjs → sessionLock-ha9gsQEn.mjs} +3 -3
  159. package/dist/{sessionOps-D0BPWPoh.mjs → sessionOps-Di9MC0FP.mjs} +4 -4
  160. package/dist/{sessionOps-Dx7wARjI.cjs → sessionOps-hRqzcMXB.cjs} +4 -4
  161. package/dist/sessionProvider-4Nn6e9Kd.mjs +109 -0
  162. package/dist/sessionProvider-LqE7Y_cf.cjs +114 -0
  163. package/dist/{sessionScanner-BJ35TVG6.cjs → sessionScanner-BzEtrHB8.cjs} +3 -3
  164. package/dist/{sessionScanner-9Fpgaxtf.mjs → sessionScanner-DKFKDsrW.mjs} +3 -3
  165. package/dist/{sessions-TZGGAry1.cjs → sessions-CmLiagcb.cjs} +10 -10
  166. package/dist/{sessions-CFtDlyZd.mjs → sessions-DzgMNXo5.mjs} +10 -10
  167. package/dist/{setupOfflineReconnection-Biaus-0T.mjs → setupOfflineReconnection-D4NGi3Jf.mjs} +2 -2
  168. package/dist/{setupOfflineReconnection-B1GsVA8P.cjs → setupOfflineReconnection-Dq4N2Txp.cjs} +2 -2
  169. package/dist/{spawn-CsoQ-Ecz.mjs → spawn-C6CE5PsI.mjs} +14 -14
  170. package/dist/{spawn-BRTuypQ2.cjs → spawn-tmoekkOW.cjs} +14 -14
  171. package/dist/{spawnAgents-CG211IW7.cjs → spawnAgents-D15n6tAj.cjs} +1 -1
  172. package/dist/{spawnAgents-Co-SLcx-.mjs → spawnAgents-jXo9jIYo.mjs} +1 -1
  173. package/dist/{spawnHappyCLI-D1doCjkZ.mjs → spawnHappyCLI-66grqHO0.mjs} +1 -1
  174. package/dist/{spawnHappyCLI-D47kX6jg.cjs → spawnHappyCLI-8NcKgkuy.cjs} +1 -1
  175. package/dist/{specialCommands-xSmqT_Fu.mjs → specialCommands-BO8ipH0n.mjs} +3 -3
  176. package/dist/{specialCommands-Ch-Gvy-i.cjs → specialCommands-Dq0TmY1Z.cjs} +3 -3
  177. package/dist/{startFileWatcher-CCl2fFxT.mjs → startFileWatcher-BLDkieUW.mjs} +1 -1
  178. package/dist/{startFileWatcher-gKQTstR6.cjs → startFileWatcher-CjgKvec9.cjs} +1 -1
  179. package/dist/{startupSessionCreate-DlZc8yPl.mjs → startupSessionCreate-B60THeNz.mjs} +1 -1
  180. package/dist/{startupSessionCreate-BXqoUX30.cjs → startupSessionCreate-CXRVahaU.cjs} +1 -1
  181. package/dist/{streamRelay-B-J-4St1.cjs → streamRelay-CtTpf-Li.cjs} +1 -1
  182. package/dist/{streamRelay-DnJXsi36.mjs → streamRelay-GzHxvMem.mjs} +1 -1
  183. package/dist/{sync-BbjMC3sR.mjs → sync-DJvx7RbO.mjs} +1 -1
  184. package/dist/{sync-BxMdnZzz.cjs → sync-DKSZOi6w.cjs} +1 -1
  185. package/dist/{systemPrompt-C2KojRmK.cjs → systemPrompt-Duos1BtM.cjs} +2 -2
  186. package/dist/{systemPrompt-CmSDAoIx.mjs → systemPrompt-dOOpz8L7.mjs} +2 -2
  187. package/dist/{teams-DESdalox.cjs → teams-pO5rjvPO.cjs} +9 -9
  188. package/dist/{teams-lRy1MS0Z.mjs → teams-uWiMJEe1.mjs} +9 -9
  189. package/dist/{template-BaHAmH2K.cjs → template-BLJxflCH.cjs} +32 -2
  190. package/dist/{template-CiOPa2rd.mjs → template-YlpbYGeQ.mjs} +31 -3
  191. package/dist/{time-DNLeIRgR.cjs → time-D-8GFCE7.cjs} +1 -1
  192. package/dist/{time-Cfknl7xG.mjs → time-Du0scQeJ.mjs} +1 -1
  193. package/dist/{titleGenerator-ClnMSzwC.mjs → titleGenerator-DKYj8rLY.mjs} +1 -1
  194. package/dist/{titleGenerator-YNutaU88.cjs → titleGenerator-DnKygjBP.cjs} +2 -2
  195. package/dist/{todo-DS75Mboz.cjs → todo-BFDb7O8q.cjs} +6 -6
  196. package/dist/{todo-DZbK5POc.mjs → todo-Du5dAwnt.mjs} +6 -6
  197. package/dist/{tools-BgdU0dWp.mjs → tools-DHvMVL0a.mjs} +1 -1
  198. package/dist/{tools-ClYcb1YQ.cjs → tools-DK_x86Kl.cjs} +1 -1
  199. package/dist/{uninstall-bXenFevR.mjs → uninstall-CLDEXir0.mjs} +3 -3
  200. package/dist/{uninstall-Di1vPBLV.cjs → uninstall-c3zjum2o.cjs} +3 -3
  201. package/package.json +7 -7
  202. package/dist/daemonSupervisor-B-SPSqhs.cjs +0 -13
  203. package/dist/daemonSupervisor-C6urv3_8.mjs +0 -10
  204. package/dist/selfCheck-BDfTwxqB.mjs +0 -85
@@ -2,16 +2,16 @@ import chalk from 'chalk';
2
2
  import inquirer from 'inquirer';
3
3
  import { existsSync } from 'node:fs';
4
4
  import { homedir } from 'node:os';
5
- import { S as SandboxConfigSchema, u as updateSettings, r as readSettings } from './persistence-jOEuAFTS.mjs';
5
+ import { S as SandboxConfigSchema, u as updateSettings, r as readSettings } from './persistence-DFtgQvr6.mjs';
6
6
  import 'node:fs/promises';
7
- import './configuration-YXw_Dcsb.mjs';
7
+ import './configuration-CVgUe2qN.mjs';
8
8
  import 'node:path';
9
- import './package-CKj8zndE.mjs';
9
+ import './package-Ek5FOyEo.mjs';
10
10
  import 'zod';
11
11
  import './authRelay-DhQhkBvX.mjs';
12
12
  import 'node:crypto';
13
13
  import 'tweetnacl';
14
- import './logger-DpqihN1f.mjs';
14
+ import './logger-D2qd0mMg.mjs';
15
15
  import 'node:util';
16
16
 
17
17
  const DEFAULT_WORKSPACE_ROOT = "~/Workspace";
@@ -1,51 +1,52 @@
1
1
  'use strict';
2
2
 
3
- var _package = require('./package-BfeqAzyJ.cjs');
3
+ var _package = require('./package-DczR1k0c.cjs');
4
4
 
5
5
  const LAZY_MODULES = [
6
6
  // Entry
7
- ["main", () => Promise.resolve().then(function () { return require('./main-DUXh2rgW.cjs'); })],
7
+ ["main", () => Promise.resolve().then(function () { return require('./main-BWgWN5d1.cjs'); })],
8
8
  ["selfCheck", () => Promise.resolve().then(function () { return selfCheck; })],
9
9
  // Subcommands (main.ts)
10
- ["api/api", () => Promise.resolve().then(function () { return require('./api-CZWcG7uh.cjs'); }).then(function (n) { return n.api; })],
10
+ ["api/api", () => Promise.resolve().then(function () { return require('./api-rw5xkzxo.cjs'); }).then(function (n) { return n.api; })],
11
11
  ["claude/claudeCliPath", () => Promise.resolve().then(function () { return require('./claudeCliPath-GaP3UUz1.cjs'); })],
12
- ["claude/runClaude", () => Promise.resolve().then(function () { return require('./runClaude-B3KSeby4.cjs'); })],
13
- ["commands/agentHome", () => Promise.resolve().then(function () { return require('./agentHome-CP1tCBXz.cjs'); })],
14
- ["commands/auth", () => Promise.resolve().then(function () { return require('./auth-BKnE7uv7.cjs'); })],
15
- ["commands/auto", () => Promise.resolve().then(function () { return require('./auto-CIgFHIyQ.cjs'); })],
16
- ["commands/codexCommand", () => Promise.resolve().then(function () { return require('./codexCommand-DJDPfpIs.cjs'); })],
17
- ["commands/connect", () => Promise.resolve().then(function () { return require('./connect-BmHvMXH2.cjs'); })],
12
+ ["claude/runClaude", () => Promise.resolve().then(function () { return require('./runClaude-CtVoFstP.cjs'); })],
13
+ ["commands/agentHome", () => Promise.resolve().then(function () { return require('./agentHome-CKAXhc8P.cjs'); })],
14
+ ["commands/auth", () => Promise.resolve().then(function () { return require('./auth-C4_mXYgj.cjs'); })],
15
+ ["commands/auto", () => Promise.resolve().then(function () { return require('./auto-Do43AOza.cjs'); })],
16
+ ["commands/codexCommand", () => Promise.resolve().then(function () { return require('./codexCommand-H-ObWTtx.cjs'); })],
17
+ ["commands/connect", () => Promise.resolve().then(function () { return require('./connect-B61xJDRq.cjs'); })],
18
18
  ["commands/installPiTools", () => Promise.resolve().then(function () { return require('./installPiTools-CL_axh_6.cjs'); })],
19
19
  ["commands/installTerminalHooks", () => Promise.resolve().then(function () { return require('./installTerminalHooks-BETLKAtd.cjs'); })],
20
- ["commands/mcp", () => Promise.resolve().then(function () { return require('./mcp-D5f3Vd-z.cjs'); })],
21
- ["commands/panels", () => Promise.resolve().then(function () { return require('./panels-2PXsw9-d.cjs'); })],
22
- ["commands/piTerminal", () => Promise.resolve().then(function () { return require('./piTerminal-C135BcLP.cjs'); })],
23
- ["commands/sandbox", () => Promise.resolve().then(function () { return require('./sandbox-DtttPBMA.cjs'); })],
24
- ["commands/send", () => Promise.resolve().then(function () { return require('./send-ShzXYPRu.cjs'); })],
25
- ["commands/server", () => Promise.resolve().then(function () { return require('./server-CEzKrfKj.cjs'); })],
26
- ["commands/sessions", () => Promise.resolve().then(function () { return require('./sessions-TZGGAry1.cjs'); })],
27
- ["commands/spawn", () => Promise.resolve().then(function () { return require('./spawn-BRTuypQ2.cjs'); })],
28
- ["commands/teams", () => Promise.resolve().then(function () { return require('./teams-DESdalox.cjs'); })],
29
- ["commands/todo", () => Promise.resolve().then(function () { return require('./todo-DS75Mboz.cjs'); })],
20
+ ["commands/mcp", () => Promise.resolve().then(function () { return require('./mcp-C18unjs1.cjs'); })],
21
+ ["commands/panels", () => Promise.resolve().then(function () { return require('./panels-DYSMHhdb.cjs'); })],
22
+ ["commands/piTerminal", () => Promise.resolve().then(function () { return require('./piTerminal-CYhcmkyi.cjs'); })],
23
+ ["commands/sandbox", () => Promise.resolve().then(function () { return require('./sandbox-DFD6an8o.cjs'); })],
24
+ ["commands/send", () => Promise.resolve().then(function () { return require('./send-IR5DnG9V.cjs'); })],
25
+ ["commands/server", () => Promise.resolve().then(function () { return require('./server-CAo6a3Vw.cjs'); })],
26
+ ["commands/sessions", () => Promise.resolve().then(function () { return require('./sessions-CmLiagcb.cjs'); })],
27
+ ["commands/sessionProvider", () => Promise.resolve().then(function () { return require('./sessionProvider-LqE7Y_cf.cjs'); })],
28
+ ["commands/spawn", () => Promise.resolve().then(function () { return require('./spawn-tmoekkOW.cjs'); })],
29
+ ["commands/teams", () => Promise.resolve().then(function () { return require('./teams-pO5rjvPO.cjs'); })],
30
+ ["commands/todo", () => Promise.resolve().then(function () { return require('./todo-BFDb7O8q.cjs'); })],
30
31
  ["daemon/doctor", () => Promise.resolve().then(function () { return require('./doctor-u46qYYKX.cjs'); })],
31
- ["daemon/install", () => Promise.resolve().then(function () { return require('./install-BAa_Xmof.cjs'); })],
32
- ["daemon/run", () => Promise.resolve().then(function () { return require('./run-BBNrcCfI.cjs'); })],
33
- ["daemon/uninstall", () => Promise.resolve().then(function () { return require('./uninstall-Di1vPBLV.cjs'); })],
34
- ["resume/handleResumeCommand", () => Promise.resolve().then(function () { return require('./handleResumeCommand-Dp2Y-p6V.cjs'); })],
35
- ["ui/doctor", () => Promise.resolve().then(function () { return require('./doctor-DMvlzmnE.cjs'); }).then(function (n) { return n.doctor; })],
36
- ["agent/acp", () => Promise.resolve().then(function () { return require('./index-DYVIbhAJ.cjs'); })],
37
- ["gemini/runGemini", () => Promise.resolve().then(function () { return require('./runGemini-DzdSBAr9.cjs'); })],
38
- ["gemini/utils/config", () => Promise.resolve().then(function () { return require('./config-CHpxzXBL.cjs'); })],
39
- ["openclaw/runOpenClaw", () => Promise.resolve().then(function () { return require('./runOpenClaw-DN6rEVqC.cjs'); })],
40
- ["persistence", () => Promise.resolve().then(function () { return require('./persistence-BdpwWXKh.cjs'); }).then(function (n) { return n.persistence; })],
32
+ ["daemon/install", () => Promise.resolve().then(function () { return require('./install-CGYDeYes.cjs'); })],
33
+ ["daemon/run", () => Promise.resolve().then(function () { return require('./run-gVwkplx0.cjs'); })],
34
+ ["daemon/uninstall", () => Promise.resolve().then(function () { return require('./uninstall-c3zjum2o.cjs'); })],
35
+ ["resume/handleResumeCommand", () => Promise.resolve().then(function () { return require('./handleResumeCommand-z7wY7QVM.cjs'); })],
36
+ ["ui/doctor", () => Promise.resolve().then(function () { return require('./doctor-DRdV3thy.cjs'); }).then(function (n) { return n.doctor; })],
37
+ ["agent/acp", () => Promise.resolve().then(function () { return require('./index-B4cyX2by.cjs'); })],
38
+ ["gemini/runGemini", () => Promise.resolve().then(function () { return require('./runGemini-81wkPvMv.cjs'); })],
39
+ ["gemini/utils/config", () => Promise.resolve().then(function () { return require('./config-D_wNqwxX.cjs'); })],
40
+ ["openclaw/runOpenClaw", () => Promise.resolve().then(function () { return require('./runOpenClaw-BK7ZQEKj.cjs'); })],
41
+ ["persistence", () => Promise.resolve().then(function () { return require('./persistence-IYH6bAXY.cjs'); }).then(function (n) { return n.persistence; })],
41
42
  // Deferred halves of the runners and clients
42
- ["api/apiMachine", () => Promise.resolve().then(function () { return require('./apiMachine-DPGrED5C.cjs'); })],
43
- ["claude/runClaudeDeps", () => Promise.resolve().then(function () { return require('./runClaudeDeps-C_C9TCI0.cjs'); })],
44
- ["claude/claudeLocal", () => Promise.resolve().then(function () { return require('./claudeLocal-oELvwiZL.cjs'); })],
45
- ["claude/claudeLocalLauncher", () => Promise.resolve().then(function () { return require('./claudeLocalLauncher-QsVXEVdE.cjs'); })],
46
- ["claude/sdk", () => Promise.resolve().then(function () { return require('./index-DymOv3kK.cjs'); })],
47
- ["assistant/bootstrap", () => Promise.resolve().then(function () { return require('./bootstrap-DsXp74wv.cjs'); })],
48
- ["agentHome", () => Promise.resolve().then(function () { return require('./index-B_aNaW9w.cjs'); })],
43
+ ["api/apiMachine", () => Promise.resolve().then(function () { return require('./apiMachine-Bs1XXHKs.cjs'); })],
44
+ ["claude/runClaudeDeps", () => Promise.resolve().then(function () { return require('./runClaudeDeps-DqOgRuKq.cjs'); })],
45
+ ["claude/claudeLocal", () => Promise.resolve().then(function () { return require('./claudeLocal-Dywp8NKr.cjs'); })],
46
+ ["claude/claudeLocalLauncher", () => Promise.resolve().then(function () { return require('./claudeLocalLauncher-_TOL73g5.cjs'); })],
47
+ ["claude/sdk", () => Promise.resolve().then(function () { return require('./index-wYJu2yGc.cjs'); })],
48
+ ["assistant/bootstrap", () => Promise.resolve().then(function () { return require('./bootstrap-BPz1iX77.cjs'); })],
49
+ ["agentHome", () => Promise.resolve().then(function () { return require('./index-BsoUsrKS.cjs'); })],
49
50
  ["ui/ink/RemoteModeDisplay", () => Promise.resolve().then(function () { return require('./RemoteModeDisplay-NC1gPHtj.cjs'); })],
50
51
  // External packages imported on demand
51
52
  ["expo-server-sdk", () => import('expo-server-sdk')],
@@ -0,0 +1,86 @@
1
+ import { p as packageJson } from './package-Ek5FOyEo.mjs';
2
+
3
+ const LAZY_MODULES = [
4
+ // Entry
5
+ ["main", () => import('./main-BNYWELul.mjs')],
6
+ ["selfCheck", () => Promise.resolve().then(function () { return selfCheck; })],
7
+ // Subcommands (main.ts)
8
+ ["api/api", () => import('./api-BpTDU2BO.mjs').then(function (n) { return n.e; })],
9
+ ["claude/claudeCliPath", () => import('./claudeCliPath-BqkaH2oR.mjs')],
10
+ ["claude/runClaude", () => import('./runClaude-CuSjrZSf.mjs')],
11
+ ["commands/agentHome", () => import('./agentHome-B_tu3tFJ.mjs')],
12
+ ["commands/auth", () => import('./auth-CBESCCCn.mjs')],
13
+ ["commands/auto", () => import('./auto-CEucVmFR.mjs')],
14
+ ["commands/codexCommand", () => import('./codexCommand-BN05uEyv.mjs')],
15
+ ["commands/connect", () => import('./connect-DJEQjS7C.mjs')],
16
+ ["commands/installPiTools", () => import('./installPiTools-B_CdM5_2.mjs')],
17
+ ["commands/installTerminalHooks", () => import('./installTerminalHooks-By7gBMEF.mjs')],
18
+ ["commands/mcp", () => import('./mcp-ColtiH23.mjs')],
19
+ ["commands/panels", () => import('./panels-BIQ7FrCB.mjs')],
20
+ ["commands/piTerminal", () => import('./piTerminal-CRl0EZc3.mjs')],
21
+ ["commands/sandbox", () => import('./sandbox-t43Exd4t.mjs')],
22
+ ["commands/send", () => import('./send-Co9jxmc4.mjs')],
23
+ ["commands/server", () => import('./server-KnIeKeTb.mjs')],
24
+ ["commands/sessions", () => import('./sessions-DzgMNXo5.mjs')],
25
+ ["commands/sessionProvider", () => import('./sessionProvider-4Nn6e9Kd.mjs')],
26
+ ["commands/spawn", () => import('./spawn-C6CE5PsI.mjs')],
27
+ ["commands/teams", () => import('./teams-uWiMJEe1.mjs')],
28
+ ["commands/todo", () => import('./todo-Du5dAwnt.mjs')],
29
+ ["daemon/doctor", () => import('./doctor-BPkYWSuq.mjs')],
30
+ ["daemon/install", () => import('./install-DeUM6h8X.mjs')],
31
+ ["daemon/run", () => import('./run-DqjEj8M2.mjs')],
32
+ ["daemon/uninstall", () => import('./uninstall-CLDEXir0.mjs')],
33
+ ["resume/handleResumeCommand", () => import('./handleResumeCommand-BO00SYjG.mjs')],
34
+ ["ui/doctor", () => import('./doctor-OwNmTpYh.mjs').then(function (n) { return n.d; })],
35
+ ["agent/acp", () => import('./index-_LfuIz-O.mjs')],
36
+ ["gemini/runGemini", () => import('./runGemini-B4EqAd1U.mjs')],
37
+ ["gemini/utils/config", () => import('./config-ChHLh-hf.mjs')],
38
+ ["openclaw/runOpenClaw", () => import('./runOpenClaw-Brb1KKAA.mjs')],
39
+ ["persistence", () => import('./persistence-DFtgQvr6.mjs').then(function (n) { return n.F; })],
40
+ // Deferred halves of the runners and clients
41
+ ["api/apiMachine", () => import('./apiMachine-wp0hWG3F.mjs')],
42
+ ["claude/runClaudeDeps", () => import('./runClaudeDeps-eazOhb6g.mjs')],
43
+ ["claude/claudeLocal", () => import('./claudeLocal-BgIRtT3Q.mjs')],
44
+ ["claude/claudeLocalLauncher", () => import('./claudeLocalLauncher-CaHjZ8HW.mjs')],
45
+ ["claude/sdk", () => import('./index-DZvi6_tB.mjs')],
46
+ ["assistant/bootstrap", () => import('./bootstrap-CodyCmGt.mjs')],
47
+ ["agentHome", () => import('./index-C7zgeuLP.mjs')],
48
+ ["ui/ink/RemoteModeDisplay", () => import('./RemoteModeDisplay-D-HewyXg.mjs')],
49
+ // External packages imported on demand
50
+ ["expo-server-sdk", () => import('expo-server-sdk')],
51
+ ["ink", () => import('ink')],
52
+ ["react", () => import('react')]
53
+ ];
54
+
55
+ async function runSelfCheck(modules = LAZY_MODULES) {
56
+ const failures = [];
57
+ for (const [name, load] of modules) {
58
+ try {
59
+ await load();
60
+ } catch (error) {
61
+ failures.push({ name, error: error instanceof Error ? error.message : String(error) });
62
+ }
63
+ }
64
+ return failures;
65
+ }
66
+ async function selfCheckMain(opts = {}) {
67
+ const started = Date.now();
68
+ const failures = await runSelfCheck();
69
+ if (failures.length > 0) {
70
+ for (const failure of failures) {
71
+ console.error(`very-happy: failed to load ${failure.name}: ${failure.error}`);
72
+ }
73
+ return 1;
74
+ }
75
+ if (opts.verbose) console.log(`self-check: ${LAZY_MODULES.length} modules loaded in ${Date.now() - started}ms`);
76
+ console.log(`very-happy version: ${packageJson.version}`);
77
+ return 0;
78
+ }
79
+
80
+ var selfCheck = /*#__PURE__*/Object.freeze({
81
+ __proto__: null,
82
+ runSelfCheck: runSelfCheck,
83
+ selfCheckMain: selfCheckMain
84
+ });
85
+
86
+ export { runSelfCheck, selfCheckMain };
@@ -1,22 +1,22 @@
1
1
  import chalk from 'chalk';
2
2
  import { readFileSync } from 'node:fs';
3
3
  import { resolve } from 'node:path';
4
- import { c as readPersistedSessions } from './persistence-jOEuAFTS.mjs';
5
- import { s as sessionWebUrl } from './sessionOps-D0BPWPoh.mjs';
6
- import { d as deliverToSession, s as sendRemoteMessage } from './remoteSessionClient-BlURPulk.mjs';
4
+ import { c as readPersistedSessions } from './persistence-DFtgQvr6.mjs';
5
+ import { s as sessionWebUrl } from './sessionOps-Di9MC0FP.mjs';
6
+ import { d as deliverToSession, s as sendRemoteMessage } from './remoteSessionClient-1nycIdrG.mjs';
7
7
  import 'node:fs/promises';
8
- import './configuration-YXw_Dcsb.mjs';
8
+ import './configuration-CVgUe2qN.mjs';
9
9
  import 'node:os';
10
- import './package-CKj8zndE.mjs';
10
+ import './package-Ek5FOyEo.mjs';
11
11
  import 'zod';
12
12
  import './authRelay-DhQhkBvX.mjs';
13
13
  import 'node:crypto';
14
14
  import 'tweetnacl';
15
- import './logger-DpqihN1f.mjs';
15
+ import './logger-D2qd0mMg.mjs';
16
16
  import 'node:util';
17
17
  import 'axios';
18
- import './controlClient-BL4hb4l3.mjs';
19
- import './time-Cfknl7xG.mjs';
18
+ import './controlClient-DMCxtwq2.mjs';
19
+ import './time-Du0scQeJ.mjs';
20
20
  import 'socket.io-client';
21
21
  import './backgroundTaskActivity-8PdPxrvy.mjs';
22
22
 
@@ -3,22 +3,22 @@
3
3
  var chalk = require('chalk');
4
4
  var node_fs = require('node:fs');
5
5
  var path = require('node:path');
6
- var persistence = require('./persistence-BdpwWXKh.cjs');
7
- var sessionOps = require('./sessionOps-Dx7wARjI.cjs');
8
- var remoteSessionClient = require('./remoteSessionClient-CtV9mDko.cjs');
6
+ var persistence = require('./persistence-IYH6bAXY.cjs');
7
+ var sessionOps = require('./sessionOps-hRqzcMXB.cjs');
8
+ var remoteSessionClient = require('./remoteSessionClient-CuAkp19e.cjs');
9
9
  require('node:fs/promises');
10
- require('./configuration-B-CugKJ3.cjs');
10
+ require('./configuration-C9Sx-Foo.cjs');
11
11
  require('node:os');
12
- require('./package-BfeqAzyJ.cjs');
12
+ require('./package-DczR1k0c.cjs');
13
13
  require('zod');
14
14
  require('./authRelay-Dy1qU9td.cjs');
15
15
  require('node:crypto');
16
16
  require('tweetnacl');
17
- require('./logger-DK1ytCz6.cjs');
17
+ require('./logger-CrtT0opS.cjs');
18
18
  require('node:util');
19
19
  require('axios');
20
- require('./controlClient-D0kGwKYx.cjs');
21
- require('./time-DNLeIRgR.cjs');
20
+ require('./controlClient-BLO1_pPx.cjs');
21
+ require('./time-D-8GFCE7.cjs');
22
22
  require('socket.io-client');
23
23
  require('./backgroundTaskActivity-CBvUdj39.cjs');
24
24
 
@@ -8,15 +8,15 @@ var module$1 = require('node:module');
8
8
  var node_crypto = require('node:crypto');
9
9
  var node_child_process = require('node:child_process');
10
10
  var promises = require('node:readline/promises');
11
- var configuration = require('./configuration-B-CugKJ3.cjs');
12
- var persistence = require('./persistence-BdpwWXKh.cjs');
11
+ var configuration = require('./configuration-C9Sx-Foo.cjs');
12
+ var persistence = require('./persistence-IYH6bAXY.cjs');
13
13
  require('node:os');
14
- require('./package-BfeqAzyJ.cjs');
14
+ require('./package-DczR1k0c.cjs');
15
15
  require('node:fs/promises');
16
16
  require('zod');
17
17
  require('./authRelay-Dy1qU9td.cjs');
18
18
  require('tweetnacl');
19
- require('./logger-DK1ytCz6.cjs');
19
+ require('./logger-CrtT0opS.cjs');
20
20
  require('node:util');
21
21
 
22
22
  var _documentCurrentScript = typeof document !== 'undefined' ? document.currentScript : null;
@@ -33,9 +33,9 @@ function resolveLocalSignupBootstrap(configuredMode, configuredInviteCodes, gene
33
33
  };
34
34
  }
35
35
 
36
- const __filename$1 = node_url.fileURLToPath((typeof document === 'undefined' ? require('u' + 'rl').pathToFileURL(__filename).href : (_documentCurrentScript && _documentCurrentScript.tagName.toUpperCase() === 'SCRIPT' && _documentCurrentScript.src || new URL('server-CEzKrfKj.cjs', document.baseURI).href)));
36
+ const __filename$1 = node_url.fileURLToPath((typeof document === 'undefined' ? require('u' + 'rl').pathToFileURL(__filename).href : (_documentCurrentScript && _documentCurrentScript.tagName.toUpperCase() === 'SCRIPT' && _documentCurrentScript.src || new URL('server-CAo6a3Vw.cjs', document.baseURI).href)));
37
37
  const __dirname$1 = path.dirname(__filename$1);
38
- const require_ = module$1.createRequire((typeof document === 'undefined' ? require('u' + 'rl').pathToFileURL(__filename).href : (_documentCurrentScript && _documentCurrentScript.tagName.toUpperCase() === 'SCRIPT' && _documentCurrentScript.src || new URL('server-CEzKrfKj.cjs', document.baseURI).href)));
38
+ const require_ = module$1.createRequire((typeof document === 'undefined' ? require('u' + 'rl').pathToFileURL(__filename).href : (_documentCurrentScript && _documentCurrentScript.tagName.toUpperCase() === 'SCRIPT' && _documentCurrentScript.src || new URL('server-CAo6a3Vw.cjs', document.baseURI).href)));
39
39
  const PRISMA_QUERY_ENGINE_FILES = {
40
40
  "arm64-darwin": "libquery_engine-darwin-arm64.dylib.node",
41
41
  "x64-darwin": "libquery_engine-darwin.dylib.node",
@@ -6,15 +6,15 @@ import { createRequire } from 'node:module';
6
6
  import { randomBytes } from 'node:crypto';
7
7
  import { spawn } from 'node:child_process';
8
8
  import { createInterface } from 'node:readline/promises';
9
- import { c as configuration } from './configuration-YXw_Dcsb.mjs';
10
- import { u as updateSettings } from './persistence-jOEuAFTS.mjs';
9
+ import { c as configuration } from './configuration-CVgUe2qN.mjs';
10
+ import { u as updateSettings } from './persistence-DFtgQvr6.mjs';
11
11
  import 'node:os';
12
- import './package-CKj8zndE.mjs';
12
+ import './package-Ek5FOyEo.mjs';
13
13
  import 'node:fs/promises';
14
14
  import 'zod';
15
15
  import './authRelay-DhQhkBvX.mjs';
16
16
  import 'tweetnacl';
17
- import './logger-DpqihN1f.mjs';
17
+ import './logger-D2qd0mMg.mjs';
18
18
  import 'node:util';
19
19
 
20
20
  function resolveLocalSignupBootstrap(configuredMode, configuredInviteCodes, generatedInviteCode) {
@@ -1,10 +1,10 @@
1
1
  'use strict';
2
2
 
3
- var persistence = require('./persistence-BdpwWXKh.cjs');
3
+ var persistence = require('./persistence-IYH6bAXY.cjs');
4
4
  var node_fs = require('node:fs');
5
5
  var path = require('node:path');
6
- var configuration = require('./configuration-B-CugKJ3.cjs');
7
- var logger = require('./logger-DK1ytCz6.cjs');
6
+ var configuration = require('./configuration-C9Sx-Foo.cjs');
7
+ var logger = require('./logger-CrtT0opS.cjs');
8
8
  var processTreeSnapshot = require('./processTreeSnapshot-mDbnuojn.cjs');
9
9
 
10
10
  const PROCESS_IDENTITY_FIELDS = [
@@ -1,8 +1,8 @@
1
- import { n as hibernationReplaySeq } from './persistence-jOEuAFTS.mjs';
1
+ import { n as hibernationReplaySeq } from './persistence-DFtgQvr6.mjs';
2
2
  import { existsSync, readFileSync, unlinkSync, mkdirSync, renameSync } from 'node:fs';
3
3
  import { join } from 'node:path';
4
- import { c as configuration, w as writePrivateFileSync } from './configuration-YXw_Dcsb.mjs';
5
- import { l as logger } from './logger-DpqihN1f.mjs';
4
+ import { c as configuration, w as writePrivateFileSync } from './configuration-CVgUe2qN.mjs';
5
+ import { l as logger } from './logger-D2qd0mMg.mjs';
6
6
  import { s as snapshotTree, k as killSurvivors } from './processTreeSnapshot-CuLJDNC-.mjs';
7
7
 
8
8
  const PROCESS_IDENTITY_FIELDS = [
@@ -1,10 +1,10 @@
1
1
  import axios from 'axios';
2
- import { c as configuration } from './configuration-YXw_Dcsb.mjs';
2
+ import { c as configuration } from './configuration-CVgUe2qN.mjs';
3
3
  import { e as encodeBase64, g as encrypt, d as decodeBase64, h as decrypt } from './authRelay-DhQhkBvX.mjs';
4
- import { l as listDaemonSessions, f as stopDaemonSession } from './controlClient-BL4hb4l3.mjs';
5
- import { b as readCredentialsForConfiguredRelay, c as readPersistedSessions } from './persistence-jOEuAFTS.mjs';
4
+ import { l as listDaemonSessions, f as stopDaemonSession } from './controlClient-DMCxtwq2.mjs';
5
+ import { b as readCredentialsForConfiguredRelay, c as readPersistedSessions } from './persistence-DFtgQvr6.mjs';
6
6
  import { randomUUID } from 'node:crypto';
7
- import { d as delay } from './time-Cfknl7xG.mjs';
7
+ import { d as delay } from './time-Du0scQeJ.mjs';
8
8
  import { io } from 'socket.io-client';
9
9
  import { b as backgroundTasksReport } from './backgroundTaskActivity-8PdPxrvy.mjs';
10
10
 
@@ -1,12 +1,12 @@
1
1
  'use strict';
2
2
 
3
3
  var axios = require('axios');
4
- var configuration = require('./configuration-B-CugKJ3.cjs');
4
+ var configuration = require('./configuration-C9Sx-Foo.cjs');
5
5
  var authRelay = require('./authRelay-Dy1qU9td.cjs');
6
- var controlClient = require('./controlClient-D0kGwKYx.cjs');
7
- var persistence = require('./persistence-BdpwWXKh.cjs');
6
+ var controlClient = require('./controlClient-BLO1_pPx.cjs');
7
+ var persistence = require('./persistence-IYH6bAXY.cjs');
8
8
  var node_crypto = require('node:crypto');
9
- var time = require('./time-DNLeIRgR.cjs');
9
+ var time = require('./time-D-8GFCE7.cjs');
10
10
  var socket_ioClient = require('socket.io-client');
11
11
  var backgroundTaskActivity = require('./backgroundTaskActivity-CBvUdj39.cjs');
12
12
 
@@ -0,0 +1,109 @@
1
+ import chalk from 'chalk';
2
+ import { c as configuration } from './configuration-CVgUe2qN.mjs';
3
+ import { r as restartDaemonSession } from './controlClient-DMCxtwq2.mjs';
4
+ import { r as readSessionProviders, b as readProviders, w as writeSessionProviders, u as updateBindings, s as sessionProvidersPath } from './providerBinding-CYubGg-Z.mjs';
5
+ import 'node:fs';
6
+ import 'node:os';
7
+ import 'node:path';
8
+ import './package-Ek5FOyEo.mjs';
9
+ import 'node:fs/promises';
10
+ import './logger-D2qd0mMg.mjs';
11
+ import 'node:util';
12
+ import './persistence-DFtgQvr6.mjs';
13
+ import 'zod';
14
+ import './authRelay-DhQhkBvX.mjs';
15
+ import 'node:crypto';
16
+ import 'tweetnacl';
17
+
18
+ const SESSION_PROVIDER_HELP = `Usage:
19
+ very-happy session provider --list
20
+ very-happy session provider <sessionId> <profile> [--model <model>] [--no-restart]
21
+ very-happy session provider <sessionId> default [--no-restart]
22
+
23
+ Binds a Claude (SDK/remote) session on THIS machine to a provider profile from
24
+ $HAPPY_HOME_DIR/providers.json, then restarts the session in place (history
25
+ kept). "default" removes the binding. --model defaults to the profile's first model.`;
26
+ function parseSessionProviderArgs(args) {
27
+ const positional = [];
28
+ let model;
29
+ let restart = true;
30
+ let list = false;
31
+ for (let i = 0; i < args.length; i++) {
32
+ const arg = args[i];
33
+ if (arg === "-h" || arg === "--help") return { action: "help" };
34
+ if (arg === "--list") list = true;
35
+ else if (arg === "--no-restart") restart = false;
36
+ else if (arg === "--model") {
37
+ model = args[++i];
38
+ if (!model) throw new Error("--model needs a value");
39
+ } else if (arg.startsWith("--model=")) model = arg.slice("--model=".length);
40
+ else if (arg.startsWith("-")) throw new Error(`unknown option ${arg}`);
41
+ else positional.push(arg);
42
+ }
43
+ if (list) {
44
+ if (positional.length > 0) throw new Error("--list takes no session id");
45
+ return { action: "list" };
46
+ }
47
+ if (positional.length === 0) return { action: "help" };
48
+ if (positional.length !== 2) throw new Error("expected <sessionId> <profile|default>");
49
+ const [sessionId, profile] = positional;
50
+ if (profile === "default") {
51
+ if (model) throw new Error("--model cannot be used with default");
52
+ return { action: "clear", sessionId, restart };
53
+ }
54
+ return { action: "set", sessionId, profile, model, restart };
55
+ }
56
+ function resolveBindingRequest(providers, profile, model) {
57
+ const p = providers.profiles[profile];
58
+ if (!p) {
59
+ const known = Object.keys(providers.profiles);
60
+ throw new Error(`unknown provider profile "${profile}"${known.length ? ` (known: ${known.join(", ")})` : " (providers.json has no profiles)"}`);
61
+ }
62
+ const chosen = model ?? p.models?.[0];
63
+ if (!chosen) throw new Error(`profile "${profile}" lists no models; pass --model`);
64
+ if (p.models && p.models.length > 0 && !p.models.includes(chosen)) {
65
+ throw new Error(`model "${chosen}" is not in profile "${profile}" models (${p.models.join(", ")})`);
66
+ }
67
+ return { profile, model: chosen };
68
+ }
69
+ async function handleSessionProviderCommand(args) {
70
+ const parsed = parseSessionProviderArgs(args);
71
+ const home = configuration.happyHomeDir;
72
+ if (parsed.action === "help") {
73
+ console.log(SESSION_PROVIDER_HELP);
74
+ return;
75
+ }
76
+ const bindings = readSessionProviders(home);
77
+ if (parsed.action === "list") {
78
+ const entries = Object.entries(bindings);
79
+ if (entries.length === 0) console.log("No session provider bindings.");
80
+ for (const [sessionId, b] of entries) console.log(`${sessionId} ${b.profile} ${b.model}`);
81
+ return;
82
+ }
83
+ if (parsed.action === "set") {
84
+ const binding = resolveBindingRequest(readProviders(home), parsed.profile, parsed.model);
85
+ writeSessionProviders(home, updateBindings(bindings, parsed.sessionId, binding));
86
+ console.log(`Bound ${parsed.sessionId} \u2192 ${binding.profile} / ${binding.model} (${sessionProvidersPath(home)})`);
87
+ } else {
88
+ if (!bindings[parsed.sessionId]) {
89
+ console.log(`${parsed.sessionId} has no binding; nothing to change.`);
90
+ return;
91
+ }
92
+ writeSessionProviders(home, updateBindings(bindings, parsed.sessionId, null));
93
+ console.log(`Cleared binding for ${parsed.sessionId} (default provider).`);
94
+ }
95
+ if (!parsed.restart) {
96
+ console.log(chalk.dim("Not restarted; the binding applies when the session next starts."));
97
+ return;
98
+ }
99
+ const result = await restartDaemonSession(parsed.sessionId);
100
+ if (result.success) {
101
+ console.log(`Restarted ${parsed.sessionId} in place.`);
102
+ return;
103
+ }
104
+ console.error(chalk.yellow(`Binding saved, but restart failed: ${result.error}`));
105
+ console.error(chalk.dim("It applies the next time this session is resumed on this machine."));
106
+ process.exitCode = 1;
107
+ }
108
+
109
+ export { SESSION_PROVIDER_HELP, handleSessionProviderCommand, parseSessionProviderArgs, resolveBindingRequest };
@@ -0,0 +1,114 @@
1
+ 'use strict';
2
+
3
+ var chalk = require('chalk');
4
+ var configuration = require('./configuration-C9Sx-Foo.cjs');
5
+ var controlClient = require('./controlClient-BLO1_pPx.cjs');
6
+ var providerBinding = require('./providerBinding-B-Qbx9W2.cjs');
7
+ require('node:fs');
8
+ require('node:os');
9
+ require('node:path');
10
+ require('./package-DczR1k0c.cjs');
11
+ require('node:fs/promises');
12
+ require('./logger-CrtT0opS.cjs');
13
+ require('node:util');
14
+ require('./persistence-IYH6bAXY.cjs');
15
+ require('zod');
16
+ require('./authRelay-Dy1qU9td.cjs');
17
+ require('node:crypto');
18
+ require('tweetnacl');
19
+
20
+ const SESSION_PROVIDER_HELP = `Usage:
21
+ very-happy session provider --list
22
+ very-happy session provider <sessionId> <profile> [--model <model>] [--no-restart]
23
+ very-happy session provider <sessionId> default [--no-restart]
24
+
25
+ Binds a Claude (SDK/remote) session on THIS machine to a provider profile from
26
+ $HAPPY_HOME_DIR/providers.json, then restarts the session in place (history
27
+ kept). "default" removes the binding. --model defaults to the profile's first model.`;
28
+ function parseSessionProviderArgs(args) {
29
+ const positional = [];
30
+ let model;
31
+ let restart = true;
32
+ let list = false;
33
+ for (let i = 0; i < args.length; i++) {
34
+ const arg = args[i];
35
+ if (arg === "-h" || arg === "--help") return { action: "help" };
36
+ if (arg === "--list") list = true;
37
+ else if (arg === "--no-restart") restart = false;
38
+ else if (arg === "--model") {
39
+ model = args[++i];
40
+ if (!model) throw new Error("--model needs a value");
41
+ } else if (arg.startsWith("--model=")) model = arg.slice("--model=".length);
42
+ else if (arg.startsWith("-")) throw new Error(`unknown option ${arg}`);
43
+ else positional.push(arg);
44
+ }
45
+ if (list) {
46
+ if (positional.length > 0) throw new Error("--list takes no session id");
47
+ return { action: "list" };
48
+ }
49
+ if (positional.length === 0) return { action: "help" };
50
+ if (positional.length !== 2) throw new Error("expected <sessionId> <profile|default>");
51
+ const [sessionId, profile] = positional;
52
+ if (profile === "default") {
53
+ if (model) throw new Error("--model cannot be used with default");
54
+ return { action: "clear", sessionId, restart };
55
+ }
56
+ return { action: "set", sessionId, profile, model, restart };
57
+ }
58
+ function resolveBindingRequest(providers, profile, model) {
59
+ const p = providers.profiles[profile];
60
+ if (!p) {
61
+ const known = Object.keys(providers.profiles);
62
+ throw new Error(`unknown provider profile "${profile}"${known.length ? ` (known: ${known.join(", ")})` : " (providers.json has no profiles)"}`);
63
+ }
64
+ const chosen = model ?? p.models?.[0];
65
+ if (!chosen) throw new Error(`profile "${profile}" lists no models; pass --model`);
66
+ if (p.models && p.models.length > 0 && !p.models.includes(chosen)) {
67
+ throw new Error(`model "${chosen}" is not in profile "${profile}" models (${p.models.join(", ")})`);
68
+ }
69
+ return { profile, model: chosen };
70
+ }
71
+ async function handleSessionProviderCommand(args) {
72
+ const parsed = parseSessionProviderArgs(args);
73
+ const home = configuration.configuration.happyHomeDir;
74
+ if (parsed.action === "help") {
75
+ console.log(SESSION_PROVIDER_HELP);
76
+ return;
77
+ }
78
+ const bindings = providerBinding.readSessionProviders(home);
79
+ if (parsed.action === "list") {
80
+ const entries = Object.entries(bindings);
81
+ if (entries.length === 0) console.log("No session provider bindings.");
82
+ for (const [sessionId, b] of entries) console.log(`${sessionId} ${b.profile} ${b.model}`);
83
+ return;
84
+ }
85
+ if (parsed.action === "set") {
86
+ const binding = resolveBindingRequest(providerBinding.readProviders(home), parsed.profile, parsed.model);
87
+ providerBinding.writeSessionProviders(home, providerBinding.updateBindings(bindings, parsed.sessionId, binding));
88
+ console.log(`Bound ${parsed.sessionId} \u2192 ${binding.profile} / ${binding.model} (${providerBinding.sessionProvidersPath(home)})`);
89
+ } else {
90
+ if (!bindings[parsed.sessionId]) {
91
+ console.log(`${parsed.sessionId} has no binding; nothing to change.`);
92
+ return;
93
+ }
94
+ providerBinding.writeSessionProviders(home, providerBinding.updateBindings(bindings, parsed.sessionId, null));
95
+ console.log(`Cleared binding for ${parsed.sessionId} (default provider).`);
96
+ }
97
+ if (!parsed.restart) {
98
+ console.log(chalk.dim("Not restarted; the binding applies when the session next starts."));
99
+ return;
100
+ }
101
+ const result = await controlClient.restartDaemonSession(parsed.sessionId);
102
+ if (result.success) {
103
+ console.log(`Restarted ${parsed.sessionId} in place.`);
104
+ return;
105
+ }
106
+ console.error(chalk.yellow(`Binding saved, but restart failed: ${result.error}`));
107
+ console.error(chalk.dim("It applies the next time this session is resumed on this machine."));
108
+ process.exitCode = 1;
109
+ }
110
+
111
+ exports.SESSION_PROVIDER_HELP = SESSION_PROVIDER_HELP;
112
+ exports.handleSessionProviderCommand = handleSessionProviderCommand;
113
+ exports.parseSessionProviderArgs = parseSessionProviderArgs;
114
+ exports.resolveBindingRequest = resolveBindingRequest;
@@ -1,12 +1,12 @@
1
1
  'use strict';
2
2
 
3
- var sync = require('./sync-BxMdnZzz.cjs');
3
+ var sync = require('./sync-DKSZOi6w.cjs');
4
4
  var types = require('./types-CRS-srZK.cjs');
5
5
  var path$1 = require('node:path');
6
6
  var node_fs = require('node:fs');
7
7
  var transcriptCursor = require('./transcriptCursor-DcXGLeSc.cjs');
8
- var logger = require('./logger-DK1ytCz6.cjs');
9
- var startFileWatcher = require('./startFileWatcher-gKQTstR6.cjs');
8
+ var logger = require('./logger-CrtT0opS.cjs');
9
+ var startFileWatcher = require('./startFileWatcher-CjgKvec9.cjs');
10
10
  var path = require('./path-B7zW-WwE.cjs');
11
11
 
12
12
  class Future {