very-happy-cli 0.2.180 → 0.2.182

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 (202) hide show
  1. package/dist/{AcpBackend-B8Zi30Zh.mjs → AcpBackend-DLk3gMYH.mjs} +3 -3
  2. package/dist/{AcpBackend-DfRDtMcG.cjs → AcpBackend-JA5eu8Y0.cjs} +3 -3
  3. package/dist/{AcpSessionManager-CASKOnOj.cjs → AcpSessionManager-DjYidq4C.cjs} +1 -1
  4. package/dist/{AcpSessionManager-i8Rab0xT.mjs → AcpSessionManager-OrCww-Qv.mjs} +1 -1
  5. package/dist/{BasePermissionHandler-BlM_tfej.cjs → BasePermissionHandler-D3PMKLBS.cjs} +1 -1
  6. package/dist/{BasePermissionHandler-26fKbRCm.mjs → BasePermissionHandler-u-neo-iN.mjs} +1 -1
  7. package/dist/{acpSessionResume-CR5pmgVo.cjs → acpSessionResume-Dxo8222T.cjs} +1 -1
  8. package/dist/{acpSessionResume-B9l54P-X.mjs → acpSessionResume-u2TwX5Jd.mjs} +1 -1
  9. package/dist/{agentHome-C7Sb7-Tz.cjs → agentHome-CP1tCBXz.cjs} +4 -4
  10. package/dist/{agentHome-CmGy0NWv.mjs → agentHome-D3hNrnoA.mjs} +4 -4
  11. package/dist/{api-DM7b1OKj.cjs → api-CZWcG7uh.cjs} +10 -10
  12. package/dist/{api-Hov8p7CA.mjs → api-C_YSQnsi.mjs} +10 -10
  13. package/dist/{apiMachine-CwGEhQDT.mjs → apiMachine-C_GA5Bm-.mjs} +59 -32
  14. package/dist/{apiMachine-DkGRj-Ai.cjs → apiMachine-DPGrED5C.cjs} +60 -33
  15. package/dist/{attachmentContent-CIn4iPEk.mjs → attachmentContent-Ckzyb1Uy.mjs} +2 -2
  16. package/dist/{attachmentContent-CEm13_gF.cjs → attachmentContent-I_dJIevE.cjs} +2 -2
  17. package/dist/{auth-Dawj7pP5.cjs → auth-BKnE7uv7.cjs} +8 -8
  18. package/dist/{auth-BG1DY0gj.mjs → auth-CGgpiJ5-.mjs} +5 -5
  19. package/dist/{auth-rggxMpEE.mjs → auth-DOXMI-xp.mjs} +8 -8
  20. package/dist/{auth-CBXnm-Mj.cjs → auth-Lw_utSMV.cjs} +5 -5
  21. package/dist/{auto-CbYOfoPS.cjs → auto-CIgFHIyQ.cjs} +18 -18
  22. package/dist/{auto-CXXLXGeL.mjs → auto-Z56mMZnH.mjs} +18 -18
  23. package/dist/{bootstrap-Dt5I1SOl.mjs → bootstrap-D3vlOROj.mjs} +2 -2
  24. package/dist/{bootstrap-DoA7okld.cjs → bootstrap-DsXp74wv.cjs} +2 -2
  25. package/dist/{browser-DUNetFT4.mjs → browser-CUxGoATV.mjs} +1 -1
  26. package/dist/{browser-DZ6qRtfH.cjs → browser-CZlA9AkO.cjs} +1 -1
  27. package/dist/{claudeLocal-OHWQigCl.mjs → claudeLocal-FnTUgwCi.mjs} +6 -6
  28. package/dist/{claudeLocal--DNyMOSv.cjs → claudeLocal-oELvwiZL.cjs} +6 -6
  29. package/dist/{claudeLocalLauncher-BStvfa7M.mjs → claudeLocalLauncher-CO5YHCzi.mjs} +11 -11
  30. package/dist/{claudeLocalLauncher-BhvPbcyH.cjs → claudeLocalLauncher-QsVXEVdE.cjs} +11 -11
  31. package/dist/{claudeSessionFork-Be16vzGc.cjs → claudeSessionFork-BA4GE5AL.cjs} +1 -1
  32. package/dist/{claudeSessionFork-GAVWhiKG.mjs → claudeSessionFork-Cspr6QW0.mjs} +1 -1
  33. package/dist/{client-D4uPb1uu.mjs → client-BGfmSbWc.mjs} +44 -9
  34. package/dist/{client-BWjaHKtj.cjs → client-CDuW4MS9.cjs} +2 -2
  35. package/dist/{client-CnB7kRCT.mjs → client-Ctbw05Xj.mjs} +2 -2
  36. package/dist/{client-DJplzPjD.cjs → client-DK8CzUry.cjs} +2 -2
  37. package/dist/{client-Ca5Pcgy_.mjs → client-o-meK7-a.mjs} +2 -2
  38. package/dist/{client-D_loZ9IK.cjs → client-xnWiHqdb.cjs} +44 -8
  39. package/dist/codex/happyMcpStdioBridge.cjs +21 -20
  40. package/dist/codex/happyMcpStdioBridge.mjs +21 -20
  41. package/dist/{codexAppServerClient-CO4G6OS4.mjs → codexAppServerClient-BlsOZLul.mjs} +3 -3
  42. package/dist/{codexAppServerClient-PE-12AsW.cjs → codexAppServerClient-DhNDTU_i.cjs} +3 -3
  43. package/dist/{codexCommand-B_xUH79E.mjs → codexCommand-BGx5NMQR.mjs} +49 -46
  44. package/dist/{codexCommand-BNoD1t1C.cjs → codexCommand-DJDPfpIs.cjs} +49 -46
  45. package/dist/{codexTermination-Dx48ma6e.mjs → codexTermination-CVhhwHZU.mjs} +1 -1
  46. package/dist/{codexTermination-BmBbizFK.cjs → codexTermination-CqPMuokw.cjs} +1 -1
  47. package/dist/{config-CtwEUxUP.cjs → config-CHpxzXBL.cjs} +3 -3
  48. package/dist/{config-DSu0Blos.mjs → config-CWAe08-Q.mjs} +3 -3
  49. package/dist/{configuration-CYO-kPOS.cjs → configuration-B-CugKJ3.cjs} +1 -1
  50. package/dist/{configuration-PxzEJumr.mjs → configuration-YXw_Dcsb.mjs} +1 -1
  51. package/dist/{connect-Dq7wndzR.cjs → connect-BmHvMXH2.cjs} +13 -13
  52. package/dist/{connect-BQrg3TB6.mjs → connect-CPeJXHha.mjs} +13 -13
  53. package/dist/{context-6TP-iz_c.cjs → context-BtIVqHI5.cjs} +1 -1
  54. package/dist/{context-CJGRRGWW.mjs → context-Drzs_Z38.mjs} +1 -1
  55. package/dist/{controlClient-DoeYovwP.mjs → controlClient-BL4hb4l3.mjs} +3 -3
  56. package/dist/{controlClient-Bqv5v5OM.cjs → controlClient-D0kGwKYx.cjs} +3 -3
  57. package/dist/{createSessionMetadata-DDIChCx8.mjs → createSessionMetadata-DvGDsnsn.mjs} +2 -2
  58. package/dist/{createSessionMetadata-xz767pcG.cjs → createSessionMetadata-L499emJn.cjs} +2 -2
  59. package/dist/{defaultPermissionMode-i5KzdK09.mjs → defaultPermissionMode-BLfxu-Yz.mjs} +2 -2
  60. package/dist/{defaultPermissionMode-PkZGsQDk.cjs → defaultPermissionMode-MXpZlXud.cjs} +2 -2
  61. package/dist/{deterministicJson-CTEJDqtS.mjs → deterministicJson-B_UAbmQ4.mjs} +87 -24
  62. package/dist/{deterministicJson-xqA6DaOm.cjs → deterministicJson-CfLkBRvU.cjs} +87 -22
  63. package/dist/{doctor-BrgSlfXn.cjs → doctor-DMvlzmnE.cjs} +8 -7
  64. package/dist/{doctor-IctjVh9T.mjs → doctor-bKScPtZu.mjs} +8 -8
  65. package/dist/{downloadTarget-CEb9che-.cjs → downloadTarget-D33BFvew.cjs} +6 -6
  66. package/dist/{downloadTarget-jbOz1egC.mjs → downloadTarget-J9j37eFG.mjs} +6 -6
  67. package/dist/{ensureDaemonRunning-D-HyjGIX.cjs → ensureDaemonRunning-2IqWROJp.cjs} +5 -5
  68. package/dist/{ensureDaemonRunning-b1e8LCSM.mjs → ensureDaemonRunning-DLvwhpNg.mjs} +5 -5
  69. package/dist/fileStore-5qpetZS0.mjs +146 -0
  70. package/dist/fileStore-7qhnbs6N.cjs +152 -0
  71. package/dist/fsMkdir-0K3yENml.cjs +56 -0
  72. package/dist/fsMkdir-DumgLTzR.mjs +53 -0
  73. package/dist/{handleResumeCommand-DpaZvm2c.mjs → handleResumeCommand-CjtjQ_I7.mjs} +5 -5
  74. package/dist/{handleResumeCommand-BvWVuRwH.cjs → handleResumeCommand-Dp2Y-p6V.cjs} +5 -5
  75. package/dist/{index-C6Vn5Eac.mjs → index-BI0h2Zks.mjs} +54 -6
  76. package/dist/{index-CMf5VbzG.mjs → index-BOT0Tg5E.mjs} +4 -4
  77. package/dist/{index-C64Ufj4D.cjs → index-B_aNaW9w.cjs} +4 -4
  78. package/dist/{index-F2UejqYs.cjs → index-CZC7egJA.cjs} +3 -3
  79. package/dist/{index-Bsvbgh9e.mjs → index-Cllzqoes.mjs} +4 -4
  80. package/dist/{index-B2p2Mut7.cjs → index-DYVIbhAJ.cjs} +78 -60
  81. package/dist/{index-wCbtF4BK.mjs → index-D_LvOWUN.mjs} +3 -3
  82. package/dist/{index-DmTlDRSL.cjs → index-DymOv3kK.cjs} +4 -4
  83. package/dist/{index-BUNnpGFF.mjs → index-kA46KMxN.mjs} +79 -61
  84. package/dist/{index-Dv0Q48P3.cjs → index-oh8XEozJ.cjs} +57 -6
  85. package/dist/index.cjs +2 -2
  86. package/dist/index.mjs +2 -2
  87. package/dist/{install-C0ANcEAW.cjs → install-BAa_Xmof.cjs} +3 -3
  88. package/dist/{install-CdzSV7qO.mjs → install-C46mkr9a.mjs} +3 -3
  89. package/dist/{install-BX3lv3NO.mjs → install-D0inLCv-.mjs} +1 -1
  90. package/dist/{install-BXvf2E3o.cjs → install-D2NCbeJ-.cjs} +1 -1
  91. package/dist/lib.cjs +12 -12
  92. package/dist/lib.d.cts +40 -1
  93. package/dist/lib.d.mts +40 -1
  94. package/dist/lib.mjs +12 -12
  95. package/dist/{lidState-bBrmaQd2.mjs → lidState-D8Iuvjgl.mjs} +1 -1
  96. package/dist/{lidState-DWGnm2H4.cjs → lidState-DcPvwniz.cjs} +1 -1
  97. package/dist/{localHappyAgentAuth-Dn1jYDpt.mjs → localHappyAgentAuth-D3rQDRd9.mjs} +1 -1
  98. package/dist/{localHappyAgentAuth-DZHQnIW9.cjs → localHappyAgentAuth-SD6GM97y.cjs} +1 -1
  99. package/dist/{logger-CphW5nUE.cjs → logger-DK1ytCz6.cjs} +2 -2
  100. package/dist/{logger-BUngm5Xg.mjs → logger-DpqihN1f.mjs} +2 -2
  101. package/dist/{machineMetadata-BXN_bKU3.mjs → machineMetadata-D4E3qoIG.mjs} +13 -4
  102. package/dist/{machineMetadata-BQm9YTcI.cjs → machineMetadata-IJc6_iyx.cjs} +13 -3
  103. package/dist/{main-DGkdYfEq.mjs → main-CpUmw7hm.mjs} +45 -45
  104. package/dist/{main-B2UV51nK.cjs → main-DUXh2rgW.cjs} +45 -45
  105. package/dist/{mcp-CbTtbs0f.mjs → mcp-66g1TJ8P.mjs} +17 -15
  106. package/dist/{mcp-BFvAEIRz.cjs → mcp-D5f3Vd-z.cjs} +17 -15
  107. package/dist/{mirrorProtocol-HKPivs5o.cjs → mirrorProtocol-DkWOcZh9.cjs} +16 -153
  108. package/dist/{mirrorProtocol-BR4luBC0.mjs → mirrorProtocol-bsCUcaCY.mjs} +19 -151
  109. package/dist/{package-KhLqBDX9.cjs → package-BfeqAzyJ.cjs} +8 -8
  110. package/dist/{package-7Ld1YMhh.mjs → package-CKj8zndE.mjs} +8 -8
  111. package/dist/{panels-Njf6GelF.cjs → panels-2PXsw9-d.cjs} +5 -5
  112. package/dist/{panels-C7IVqpJk.mjs → panels-r8LmaBs6.mjs} +5 -5
  113. package/dist/{peerTools-DQNlrcqM.cjs → peerTools-BVp1z0T_.cjs} +5 -5
  114. package/dist/{peerTools-BOlDRyhi.mjs → peerTools-D_id4d41.mjs} +5 -5
  115. package/dist/{persistence-9BMYspxG.cjs → persistence-BdpwWXKh.cjs} +2 -2
  116. package/dist/{persistence-BFUOHW5h.mjs → persistence-jOEuAFTS.mjs} +2 -2
  117. package/dist/pi-CqyoZMjI.mjs +380 -0
  118. package/dist/pi-DlsrPCTa.cjs +400 -0
  119. package/dist/{piRunnerArgs-H2pgpA5z.mjs → piRunnerArgs-68I5F_M1.mjs} +1 -1
  120. package/dist/{piRunnerArgs-DGaq6VYM.cjs → piRunnerArgs-vxCHKnSA.cjs} +1 -1
  121. package/dist/{piRuntime-CT5xv_3h.cjs → piRuntime-C3Dg5uni.cjs} +2 -2
  122. package/dist/{piRuntime-CdN0JAsa.mjs → piRuntime-DgLIard1.mjs} +2 -2
  123. package/dist/{piTerminal-0FBtXTHK.cjs → piTerminal-C135BcLP.cjs} +20 -18
  124. package/dist/{piTerminal-C4m9YXAV.mjs → piTerminal-DJL0w-uA.mjs} +20 -18
  125. package/dist/{prompt-lgF9IE82.cjs → prompt-Bof2aQkI.cjs} +7 -2
  126. package/dist/{prompt-BOouDaTM.mjs → prompt-QHuFx9j6.mjs} +7 -2
  127. package/dist/{pushNotifications-DCiBEVeC.mjs → pushNotifications-CMmRsbKv.mjs} +12 -4
  128. package/dist/{pushNotifications-DI92havG.cjs → pushNotifications-CyQVDThC.cjs} +12 -4
  129. package/dist/{query-BETKBrnz.cjs → query-CK--1fbL.cjs} +1 -1
  130. package/dist/{query-ywZbQUzR.mjs → query-CPXnDURZ.mjs} +1 -1
  131. package/dist/{rateLimitWindows-BkfuUB1a.mjs → rateLimitWindows-Cqa4AGaB.mjs} +1 -1
  132. package/dist/{rateLimitWindows-YRIYVdo4.cjs → rateLimitWindows-DJxnNw-X.cjs} +1 -1
  133. package/dist/{registerCommonHandlers-C7a_dUWs.cjs → registerCommonHandlers-DbNoM39q.cjs} +2 -2
  134. package/dist/{registerCommonHandlers-CTkCvjxt.mjs → registerCommonHandlers-K8dICQO2.mjs} +2 -2
  135. package/dist/{registerKillSessionHandler-CIsvBrVe.cjs → registerKillSessionHandler-DiS_go8d.cjs} +6 -6
  136. package/dist/{registerKillSessionHandler-CaqqRYq6.mjs → registerKillSessionHandler-O1iriOMO.mjs} +6 -6
  137. package/dist/{remoteSessionClient-PP-mOKmw.mjs → remoteSessionClient-BlURPulk.mjs} +5 -5
  138. package/dist/{remoteSessionClient-D843fkzL.cjs → remoteSessionClient-CtV9mDko.cjs} +5 -5
  139. package/dist/{reportProgressTool-14AXr959.cjs → reportProgressTool-DlD_xjzU.cjs} +4 -4
  140. package/dist/{reportProgressTool-ZOCNjWHr.mjs → reportProgressTool-nCExrHZH.mjs} +4 -4
  141. package/dist/{resources-CvIlkzpP.cjs → resources-BPyN59Iv.cjs} +23 -2
  142. package/dist/{resources-y9jfyO-_.mjs → resources-CH1iP6Cv.mjs} +22 -3
  143. package/dist/{run-CAOCYYfT.cjs → run-BBNrcCfI.cjs} +621 -594
  144. package/dist/{run-Dajw2E5j.mjs → run-drtwHYkO.mjs} +557 -530
  145. package/dist/{runClaude-CRRKt-tm.cjs → runClaude-B3KSeby4.cjs} +23 -22
  146. package/dist/{runClaude-C6oxWYbp.mjs → runClaude-CFp27Tyi.mjs} +23 -22
  147. package/dist/{runClaudeDeps-B1ysqTvx.cjs → runClaudeDeps-C_C9TCI0.cjs} +43 -41
  148. package/dist/{runClaudeDeps-BcZ68cX3.mjs → runClaudeDeps-DMcv93lA.mjs} +48 -46
  149. package/dist/{runGemini-D7yKc4wD.mjs → runGemini-Bc6SY-hd.mjs} +40 -37
  150. package/dist/{runGemini-DtKFXqf-.cjs → runGemini-DzdSBAr9.cjs} +40 -37
  151. package/dist/{runOpenClaw-C8ilyLP9.mjs → runOpenClaw-DI0qMlgF.mjs} +19 -18
  152. package/dist/{runOpenClaw-Cq29mryb.cjs → runOpenClaw-DN6rEVqC.cjs} +19 -18
  153. package/dist/{sandbox-gIj-EuF4.cjs → sandbox-DtttPBMA.cjs} +4 -4
  154. package/dist/{sandbox-CbCutma4.mjs → sandbox-v-ffe8LR.mjs} +4 -4
  155. package/dist/{selfCheck-BTGBVthv.cjs → selfCheck-B-yy6bW3.cjs} +36 -36
  156. package/dist/selfCheck-BDfTwxqB.mjs +85 -0
  157. package/dist/{send-YZRMQvMJ.mjs → send-DpBwSZuj.mjs} +8 -8
  158. package/dist/{send-CZf5lLw_.cjs → send-ShzXYPRu.cjs} +8 -8
  159. package/dist/{server-CknFq6xG.cjs → server-CEzKrfKj.cjs} +6 -6
  160. package/dist/{server-BqwXRzFZ.mjs → server-DScgJXxa.mjs} +4 -4
  161. package/dist/{sessionLock-nBXdJxJm.mjs → sessionLock-B6K4SBZD.mjs} +3 -3
  162. package/dist/{sessionLock-DRZUcKHT.cjs → sessionLock-Dc0fadGG.cjs} +3 -3
  163. package/dist/{sessionOps-C58iDeD5.mjs → sessionOps-D0BPWPoh.mjs} +4 -4
  164. package/dist/{sessionOps-BrGiU9-s.cjs → sessionOps-Dx7wARjI.cjs} +4 -4
  165. package/dist/{sessionScanner-Bm57LEXe.mjs → sessionScanner-9Fpgaxtf.mjs} +3 -3
  166. package/dist/{sessionScanner-CaO8bLaG.cjs → sessionScanner-BJ35TVG6.cjs} +3 -3
  167. package/dist/{sessions-BXyBHo8n.mjs → sessions-CFtDlyZd.mjs} +10 -10
  168. package/dist/{sessions-uzqPCc37.cjs → sessions-TZGGAry1.cjs} +10 -10
  169. package/dist/{setupOfflineReconnection-DvvVX3TB.cjs → setupOfflineReconnection-B1GsVA8P.cjs} +2 -2
  170. package/dist/{setupOfflineReconnection-1Qlek3wl.mjs → setupOfflineReconnection-Biaus-0T.mjs} +2 -2
  171. package/dist/{spawn-DBkodJEO.cjs → spawn-BRTuypQ2.cjs} +14 -14
  172. package/dist/{spawn-vn93PhYL.mjs → spawn-CsoQ-Ecz.mjs} +14 -14
  173. package/dist/{spawnAgents-DLNMlhWJ.cjs → spawnAgents-CG211IW7.cjs} +1 -1
  174. package/dist/{spawnAgents-CgPMWexP.mjs → spawnAgents-Co-SLcx-.mjs} +1 -1
  175. package/dist/{spawnHappyCLI-BjFZc_7V.mjs → spawnHappyCLI-D1doCjkZ.mjs} +1 -1
  176. package/dist/{spawnHappyCLI-DnUZv0X2.cjs → spawnHappyCLI-D47kX6jg.cjs} +1 -1
  177. package/dist/{specialCommands-BRufxlqe.cjs → specialCommands-Ch-Gvy-i.cjs} +3 -3
  178. package/dist/{specialCommands-D3ND9bdg.mjs → specialCommands-xSmqT_Fu.mjs} +3 -3
  179. package/dist/{startFileWatcher-DXJ7yB5v.mjs → startFileWatcher-CCl2fFxT.mjs} +1 -1
  180. package/dist/{startFileWatcher-D9cYzZOq.cjs → startFileWatcher-gKQTstR6.cjs} +1 -1
  181. package/dist/{startupSessionCreate-kdr3m1uX.cjs → startupSessionCreate-BXqoUX30.cjs} +1 -1
  182. package/dist/{startupSessionCreate-uZ6BM0ty.mjs → startupSessionCreate-DlZc8yPl.mjs} +1 -1
  183. package/dist/{streamRelay-Dy6amlzx.cjs → streamRelay-B-J-4St1.cjs} +1 -1
  184. package/dist/{streamRelay-DnMCMMfV.mjs → streamRelay-DnJXsi36.mjs} +1 -1
  185. package/dist/{sync-BvVhDO40.mjs → sync-BbjMC3sR.mjs} +1 -1
  186. package/dist/{sync-Bn-idAoy.cjs → sync-BxMdnZzz.cjs} +1 -1
  187. package/dist/{systemPrompt-DlyEk35T.cjs → systemPrompt-C2KojRmK.cjs} +3 -3
  188. package/dist/{systemPrompt-CIZcJuJF.mjs → systemPrompt-CmSDAoIx.mjs} +3 -3
  189. package/dist/{teams-BLeRpDxv.cjs → teams-DESdalox.cjs} +13 -10
  190. package/dist/{teams-DLY3B5yi.mjs → teams-lRy1MS0Z.mjs} +13 -10
  191. package/dist/{time-D3ETL7Jb.mjs → time-Cfknl7xG.mjs} +1 -1
  192. package/dist/{time-Cjv0zxQO.cjs → time-DNLeIRgR.cjs} +1 -1
  193. package/dist/{titleGenerator-Uzbd4utr.mjs → titleGenerator-ClnMSzwC.mjs} +1 -1
  194. package/dist/{titleGenerator-Cgp5ihFb.cjs → titleGenerator-YNutaU88.cjs} +2 -2
  195. package/dist/{todo-pOMcEECE.cjs → todo-DS75Mboz.cjs} +6 -6
  196. package/dist/{todo-C9Ga-oEM.mjs → todo-DZbK5POc.mjs} +6 -6
  197. package/dist/{tools-Cho7iIWf.mjs → tools-BgdU0dWp.mjs} +3 -3
  198. package/dist/{tools-BL7Byl_x.cjs → tools-ClYcb1YQ.cjs} +3 -3
  199. package/dist/{uninstall-CbayEVoV.cjs → uninstall-Di1vPBLV.cjs} +3 -3
  200. package/dist/{uninstall-CvZHVY9C.mjs → uninstall-bXenFevR.mjs} +3 -3
  201. package/package.json +8 -8
  202. package/dist/selfCheck-Smt-5Xiq.mjs +0 -85
package/dist/lib.d.mts CHANGED
@@ -200,12 +200,22 @@ declare const sessionStreamFrameSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
200
200
  }, z.core.$strip>], "t">;
201
201
  type SessionStreamFrame = z.infer<typeof sessionStreamFrameSchema>;
202
202
 
203
- /** Runtime context occupancy, never cumulative billing. null after compaction is unknown. */
203
+ /**
204
+ * Runtime context occupancy, never cumulative billing. null after compaction is unknown.
205
+ *
206
+ * B-727 (specs/2026-10-pi-context-usage.md): `contextWindow` stays required so
207
+ * older webs keep rendering; `windowSource` says whether it may be used as a
208
+ * denominator. Free strings + read whitelist (iron rule 14): an unknown value
209
+ * must not make the whole agentState fail to parse.
210
+ */
204
211
  declare const ContextUsageSchema: z$1.ZodObject<{
205
212
  source: z$1.ZodLiteral<"pi">;
206
213
  tokens: z$1.ZodNullable<z$1.ZodNumber>;
207
214
  contextWindow: z$1.ZodNumber;
208
215
  updatedAt: z$1.ZodNumber;
216
+ windowSource: z$1.ZodOptional<z$1.ZodNullable<z$1.ZodString>>;
217
+ model: z$1.ZodOptional<z$1.ZodNullable<z$1.ZodString>>;
218
+ compactedAt: z$1.ZodOptional<z$1.ZodNullable<z$1.ZodNumber>>;
209
219
  }, z$1.core.$strip>;
210
220
  type ContextUsage = z$1.infer<typeof ContextUsageSchema>;
211
221
 
@@ -369,7 +379,9 @@ declare const MachineMetadataSchema: z$1.ZodObject<{
369
379
  teamLaunchVersion: z$1.ZodOptional<z$1.ZodNumber>;
370
380
  teamRetryVersion: z$1.ZodOptional<z$1.ZodNumber>;
371
381
  worktreeVersion: z$1.ZodOptional<z$1.ZodNumber>;
382
+ fsMkdirVersion: z$1.ZodOptional<z$1.ZodNumber>;
372
383
  modelConfigVersion: z$1.ZodOptional<z$1.ZodNumber>;
384
+ harnessInstallVersion: z$1.ZodOptional<z$1.ZodNumber>;
373
385
  host: z$1.ZodString;
374
386
  platform: z$1.ZodString;
375
387
  happyCliVersion: z$1.ZodString;
@@ -422,6 +434,13 @@ declare const CliUpdateStateSchema: z$1.ZodObject<{
422
434
  detail: z$1.ZodOptional<z$1.ZodString>;
423
435
  at: z$1.ZodNumber;
424
436
  }, z$1.core.$strip>>>;
437
+ autoUpdateEnabled: z$1.ZodOptional<z$1.ZodBoolean>;
438
+ lastInstall: z$1.ZodOptional<z$1.ZodNullable<z$1.ZodObject<{
439
+ from: z$1.ZodString;
440
+ to: z$1.ZodString;
441
+ at: z$1.ZodNumber;
442
+ source: z$1.ZodString;
443
+ }, z$1.core.$strip>>>;
425
444
  }, z$1.core.$strip>;
426
445
  type CliUpdateState = z$1.infer<typeof CliUpdateStateSchema>;
427
446
  /**
@@ -547,6 +566,13 @@ declare const DaemonStateSchema: z$1.ZodObject<{
547
566
  detail: z$1.ZodOptional<z$1.ZodString>;
548
567
  at: z$1.ZodNumber;
549
568
  }, z$1.core.$strip>>>;
569
+ autoUpdateEnabled: z$1.ZodOptional<z$1.ZodBoolean>;
570
+ lastInstall: z$1.ZodOptional<z$1.ZodNullable<z$1.ZodObject<{
571
+ from: z$1.ZodString;
572
+ to: z$1.ZodString;
573
+ at: z$1.ZodNumber;
574
+ source: z$1.ZodString;
575
+ }, z$1.core.$strip>>>;
550
576
  }, z$1.core.$strip>>;
551
577
  claudeAuth: z$1.ZodOptional<z$1.ZodObject<{
552
578
  probeVersion: z$1.ZodNumber;
@@ -1675,6 +1701,8 @@ interface HarnessCurrent {
1675
1701
  providerName?: string | null;
1676
1702
  api?: string | null;
1677
1703
  models?: string[];
1704
+ /** pi: explicit `contextWindow` per model of the selected provider (B-727; absent on older daemons). */
1705
+ contextWindows?: Record<string, number>;
1678
1706
  defaultModel?: string | null;
1679
1707
  /** codex/pi: provider currently selected by the harness. */
1680
1708
  activeProvider?: string | null;
@@ -1958,6 +1986,8 @@ declare class ApiMachineClient {
1958
1986
  } | {
1959
1987
  error: string;
1960
1988
  }>): void;
1989
+ /** B-719: `harness-install` — the owner asked this machine to install one harness id. */
1990
+ setHarnessInstallHandler(handler: (params: unknown) => Promise<unknown>): void;
1961
1991
  setCliUpdateRetryHandler(handler: (version: unknown) => Promise<{
1962
1992
  accepted: true;
1963
1993
  } | {
@@ -2055,12 +2085,21 @@ declare class ApiMachineClient {
2055
2085
  private createControlSocket;
2056
2086
  private activateControlSocket;
2057
2087
  private bindControlDataHandlers;
2088
+ private cliUpdatePolicyHandler;
2089
+ /** B-718: the daemon decides what a policy announcement means (update/policyAnnouncement.ts). */
2090
+ setCliUpdatePolicyHandler(handler: ((payload: unknown) => void) | null): void;
2058
2091
  private serverMigrateHandler;
2059
2092
  /** B-635: the daemon decides what to do with a relay-migration notice (daemon/serverMigration.ts). */
2060
2093
  setServerMigrateHandler(handler: ((notice: unknown) => void) | null): void;
2061
2094
  private startReleaseHandover;
2062
2095
  private releaseHandover;
2063
2096
  private startKeepAlive;
2097
+ /**
2098
+ * Re-detect CLI availability and publish it when it changed. Called on the
2099
+ * throttled keep-alive and, B-719, right after the owner installed a
2100
+ * harness so the launcher enables it without waiting up to five minutes.
2101
+ */
2102
+ recheckCliAvailability(): void;
2064
2103
  private bindRpcRequestHandler;
2065
2104
  private bindMachineCommandHandlers;
2066
2105
  private unbindMachineCommandHandlers;
package/dist/lib.mjs CHANGED
@@ -1,9 +1,9 @@
1
- export { A as ApiClient, a as ApiSessionClient } from './api-Hov8p7CA.mjs';
2
- export { l as logger } from './logger-BUngm5Xg.mjs';
3
- export { c as configuration } from './configuration-PxzEJumr.mjs';
1
+ export { A as ApiClient, a as ApiSessionClient } from './api-C_YSQnsi.mjs';
2
+ export { l as logger } from './logger-DpqihN1f.mjs';
3
+ export { c as configuration } from './configuration-YXw_Dcsb.mjs';
4
4
  export { R as RawJSONLinesSchema } from './types-CkqAACXx.mjs';
5
5
  import 'axios';
6
- import './lidState-bBrmaQd2.mjs';
6
+ import './lidState-D8Iuvjgl.mjs';
7
7
  import './authRelay-DhQhkBvX.mjs';
8
8
  import 'node:crypto';
9
9
  import 'tweetnacl';
@@ -11,14 +11,14 @@ import 'os';
11
11
  import 'child_process';
12
12
  import 'node:events';
13
13
  import 'socket.io-client';
14
- import './pushNotifications-DCiBEVeC.mjs';
14
+ import './pushNotifications-CMmRsbKv.mjs';
15
15
  import 'zod';
16
- import './index-C6Vn5Eac.mjs';
16
+ import './index-BI0h2Zks.mjs';
17
17
  import '@paralleldrive/cuid2';
18
18
  import './contentLogMetadata-BlWI0egu.mjs';
19
19
  import './limits-DIo7rEBR.mjs';
20
- import './time-D3ETL7Jb.mjs';
21
- import './registerCommonHandlers-CTkCvjxt.mjs';
20
+ import './time-Cfknl7xG.mjs';
21
+ import './registerCommonHandlers-K8dICQO2.mjs';
22
22
  import 'util';
23
23
  import 'fs/promises';
24
24
  import 'crypto';
@@ -26,14 +26,14 @@ import 'path';
26
26
  import 'cross-spawn';
27
27
  import './projectPath-BTBIMB57.mjs';
28
28
  import 'url';
29
- import './sync-BvVhDO40.mjs';
29
+ import './sync-BbjMC3sR.mjs';
30
30
  import './backgroundTaskActivity-8PdPxrvy.mjs';
31
- import './controlClient-DoeYovwP.mjs';
32
- import './persistence-BFUOHW5h.mjs';
31
+ import './controlClient-BL4hb4l3.mjs';
32
+ import './persistence-jOEuAFTS.mjs';
33
33
  import 'node:fs/promises';
34
34
  import 'node:fs';
35
35
  import 'chalk';
36
36
  import 'node:util';
37
37
  import 'node:path';
38
38
  import 'node:os';
39
- import './package-7Ld1YMhh.mjs';
39
+ import './package-CKj8zndE.mjs';
@@ -1,4 +1,4 @@
1
- import { l as logger } from './logger-BUngm5Xg.mjs';
1
+ import { l as logger } from './logger-DpqihN1f.mjs';
2
2
  import { e as encodeBase64, g as encrypt, h as decrypt, d as decodeBase64 } from './authRelay-DhQhkBvX.mjs';
3
3
  import os from 'os';
4
4
  import { execSync } from 'child_process';
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
 
3
- var logger = require('./logger-CphW5nUE.cjs');
3
+ var logger = require('./logger-DK1ytCz6.cjs');
4
4
  var authRelay = require('./authRelay-Dy1qU9td.cjs');
5
5
  var os = require('os');
6
6
  var child_process = require('child_process');
@@ -4,7 +4,7 @@ import { join } from 'node:path';
4
4
  import tweetnacl from 'tweetnacl';
5
5
  import { z } from 'zod';
6
6
  import { c as credentialRelayProblem, d as decodeBase64 } from './authRelay-DhQhkBvX.mjs';
7
- import { c as configuration } from './configuration-PxzEJumr.mjs';
7
+ import { c as configuration } from './configuration-YXw_Dcsb.mjs';
8
8
 
9
9
  const AgentCredentialsSchema = z.object({
10
10
  token: z.string().min(1),
@@ -6,7 +6,7 @@ var path = require('node:path');
6
6
  var tweetnacl = require('tweetnacl');
7
7
  var z = require('zod');
8
8
  var authRelay = require('./authRelay-Dy1qU9td.cjs');
9
- var configuration = require('./configuration-CYO-kPOS.cjs');
9
+ var configuration = require('./configuration-B-CugKJ3.cjs');
10
10
 
11
11
  const AgentCredentialsSchema = z.z.object({
12
12
  token: z.z.string().min(1),
@@ -2,7 +2,7 @@
2
2
 
3
3
  var chalk = require('chalk');
4
4
  var node_util = require('node:util');
5
- var configuration = require('./configuration-CYO-kPOS.cjs');
5
+ var configuration = require('./configuration-B-CugKJ3.cjs');
6
6
  var node_fs = require('node:fs');
7
7
  var path = require('node:path');
8
8
 
@@ -238,7 +238,7 @@ async function listDaemonLogFiles(limit = 50) {
238
238
  return { file, path: fullPath, modified: stats.mtime };
239
239
  }).sort((a, b) => b.modified.getTime() - a.modified.getTime());
240
240
  try {
241
- const { readDaemonState } = await Promise.resolve().then(function () { return require('./persistence-9BMYspxG.cjs'); }).then(function (n) { return n.persistence; });
241
+ const { readDaemonState } = await Promise.resolve().then(function () { return require('./persistence-BdpwWXKh.cjs'); }).then(function (n) { return n.persistence; });
242
242
  const state = await readDaemonState();
243
243
  if (!state) {
244
244
  return logs;
@@ -1,6 +1,6 @@
1
1
  import chalk from 'chalk';
2
2
  import { inspect } from 'node:util';
3
- import { d as appendPrivateFileSync, c as configuration } from './configuration-PxzEJumr.mjs';
3
+ import { d as appendPrivateFileSync, c as configuration } from './configuration-YXw_Dcsb.mjs';
4
4
  import { existsSync, readdirSync, statSync } from 'node:fs';
5
5
  import { join, basename } from 'node:path';
6
6
 
@@ -236,7 +236,7 @@ async function listDaemonLogFiles(limit = 50) {
236
236
  return { file, path: fullPath, modified: stats.mtime };
237
237
  }).sort((a, b) => b.modified.getTime() - a.modified.getTime());
238
238
  try {
239
- const { readDaemonState } = await import('./persistence-BFUOHW5h.mjs').then(function (n) { return n.F; });
239
+ const { readDaemonState } = await import('./persistence-jOEuAFTS.mjs').then(function (n) { return n.F; });
240
240
  const state = await readDaemonState();
241
241
  if (!state) {
242
242
  return logs;
@@ -1,9 +1,10 @@
1
1
  import os from 'node:os';
2
- import { p as packageJson } from './package-7Ld1YMhh.mjs';
3
- import { c as configuration } from './configuration-PxzEJumr.mjs';
2
+ import { p as packageJson } from './package-CKj8zndE.mjs';
3
+ import { c as configuration } from './configuration-YXw_Dcsb.mjs';
4
4
  import { p as projectPath } from './projectPath-BTBIMB57.mjs';
5
5
  import { d as detectCLIAvailability } from './detectCLI-CSGMlV51.mjs';
6
- import { d as detectResumeSupport } from './localHappyAgentAuth-Dn1jYDpt.mjs';
6
+ import { d as detectResumeSupport } from './localHappyAgentAuth-D3rQDRd9.mjs';
7
+ import { F as FS_MKDIR_CAPABILITY_VERSION } from './fsMkdir-DumgLTzR.mjs';
7
8
 
8
9
  const TEAM_RETRY_CAPABILITY_VERSION = 2;
9
10
  const TEAM_CLEANUP_RETRY_MS = 5 * 6e4;
@@ -40,6 +41,7 @@ function buildInitialMachineMetadata(cliAvailability) {
40
41
  teamLaunchVersion: 1,
41
42
  teamRetryVersion: TEAM_RETRY_CAPABILITY_VERSION,
42
43
  worktreeVersion: 1,
44
+ fsMkdirVersion: FS_MKDIR_CAPABILITY_VERSION,
43
45
  host: os.hostname() + hostSuffix,
44
46
  platform: os.platform(),
45
47
  happyCliVersion: packageJson.version,
@@ -64,5 +66,12 @@ function getInitialMachineMetadata() {
64
66
  function getStartupCliAvailability() {
65
67
  return compute().cliAvailability;
66
68
  }
69
+ function withRunningCliFacts(current, initial) {
70
+ return {
71
+ ...current ?? initial,
72
+ happyCliVersion: initial.happyCliVersion,
73
+ happyLibDir: initial.happyLibDir
74
+ };
75
+ }
67
76
 
68
- export { TEAM_SPAWN_MAX_ATTEMPTS as T, afterStartupFailure as a, startupFailureMessage as b, consumeOwnerRetry as c, TEAM_CLEANUP_RETRY_MS as d, getStartupCliAvailability as e, TEAM_RETRY_CAPABILITY_VERSION as f, getInitialMachineMetadata as g, ownerRetryPending as o, spawnGate as s };
77
+ export { TEAM_SPAWN_MAX_ATTEMPTS as T, afterStartupFailure as a, startupFailureMessage as b, consumeOwnerRetry as c, TEAM_CLEANUP_RETRY_MS as d, getStartupCliAvailability as e, TEAM_RETRY_CAPABILITY_VERSION as f, getInitialMachineMetadata as g, ownerRetryPending as o, spawnGate as s, withRunningCliFacts as w };
@@ -1,11 +1,12 @@
1
1
  'use strict';
2
2
 
3
3
  var os = require('node:os');
4
- var _package = require('./package-KhLqBDX9.cjs');
5
- var configuration = require('./configuration-CYO-kPOS.cjs');
4
+ var _package = require('./package-BfeqAzyJ.cjs');
5
+ var configuration = require('./configuration-B-CugKJ3.cjs');
6
6
  var projectPath = require('./projectPath-C3ioB4Bu.cjs');
7
7
  var detectCLI = require('./detectCLI-BuYR_Qxe.cjs');
8
- var localHappyAgentAuth = require('./localHappyAgentAuth-DZHQnIW9.cjs');
8
+ var localHappyAgentAuth = require('./localHappyAgentAuth-SD6GM97y.cjs');
9
+ var fsMkdir = require('./fsMkdir-0K3yENml.cjs');
9
10
 
10
11
  const TEAM_RETRY_CAPABILITY_VERSION = 2;
11
12
  const TEAM_CLEANUP_RETRY_MS = 5 * 6e4;
@@ -42,6 +43,7 @@ function buildInitialMachineMetadata(cliAvailability) {
42
43
  teamLaunchVersion: 1,
43
44
  teamRetryVersion: TEAM_RETRY_CAPABILITY_VERSION,
44
45
  worktreeVersion: 1,
46
+ fsMkdirVersion: fsMkdir.FS_MKDIR_CAPABILITY_VERSION,
45
47
  host: os.hostname() + hostSuffix,
46
48
  platform: os.platform(),
47
49
  happyCliVersion: _package.packageJson.version,
@@ -66,6 +68,13 @@ function getInitialMachineMetadata() {
66
68
  function getStartupCliAvailability() {
67
69
  return compute().cliAvailability;
68
70
  }
71
+ function withRunningCliFacts(current, initial) {
72
+ return {
73
+ ...current ?? initial,
74
+ happyCliVersion: initial.happyCliVersion,
75
+ happyLibDir: initial.happyLibDir
76
+ };
77
+ }
69
78
 
70
79
  exports.TEAM_CLEANUP_RETRY_MS = TEAM_CLEANUP_RETRY_MS;
71
80
  exports.TEAM_RETRY_CAPABILITY_VERSION = TEAM_RETRY_CAPABILITY_VERSION;
@@ -77,3 +86,4 @@ exports.getStartupCliAvailability = getStartupCliAvailability;
77
86
  exports.ownerRetryPending = ownerRetryPending;
78
87
  exports.spawnGate = spawnGate;
79
88
  exports.startupFailureMessage = startupFailureMessage;
89
+ exports.withRunningCliFacts = withRunningCliFacts;
@@ -1,19 +1,19 @@
1
1
  import{createRequire as _pkgrollCR}from"node:module";const require=_pkgrollCR(import.meta.url);import chalk from 'chalk';
2
- import { l as logger, g as getLatestDaemonLog } from './logger-BUngm5Xg.mjs';
3
- import { d as readDaemonState, r as readSettings, b as readCredentialsForConfiguredRelay } from './persistence-BFUOHW5h.mjs';
4
- import { a as authAndSetupMachineIfNeeded } from './auth-BG1DY0gj.mjs';
5
- import { p as packageJson } from './package-7Ld1YMhh.mjs';
2
+ import { l as logger, g as getLatestDaemonLog } from './logger-DpqihN1f.mjs';
3
+ import { d as readDaemonState, r as readSettings, b as readCredentialsForConfiguredRelay } from './persistence-jOEuAFTS.mjs';
4
+ import { a as authAndSetupMachineIfNeeded } from './auth-CGgpiJ5-.mjs';
5
+ import { p as packageJson } from './package-CKj8zndE.mjs';
6
6
  import { z } from 'zod';
7
- import { l as listDaemonSessions, f as stopDaemonSession, a as checkIfDaemonRunningAndCleanupStaleState, s as stopDaemon } from './controlClient-DoeYovwP.mjs';
7
+ import { l as listDaemonSessions, f as stopDaemonSession, a as checkIfDaemonRunningAndCleanupStaleState, s as stopDaemon } from './controlClient-BL4hb4l3.mjs';
8
8
  import { S as SYSTEMD_RESTART_HINT } from './daemonSupervisor-C6urv3_8.mjs';
9
- import { s as spawnHappyCLI } from './spawnHappyCLI-BjFZc_7V.mjs';
9
+ import { s as spawnHappyCLI } from './spawnHappyCLI-D1doCjkZ.mjs';
10
10
  import { execFileSync } from 'node:child_process';
11
- import { e as ensureDaemonRunning, a as extractNoSandboxFlag } from './ensureDaemonRunning-b1e8LCSM.mjs';
11
+ import { e as ensureDaemonRunning, a as extractNoSandboxFlag } from './ensureDaemonRunning-DLvwhpNg.mjs';
12
12
  import { p as planClaudeStartup } from './startupPlan-DFMyNgAs.mjs';
13
- import { i as isStandaloneVersionRequest } from './index-wCbtF4BK.mjs';
14
- import { c as configuration } from './configuration-PxzEJumr.mjs';
13
+ import { i as isStandaloneVersionRequest } from './index-D_LvOWUN.mjs';
14
+ import { c as configuration } from './configuration-YXw_Dcsb.mjs';
15
15
  import { d as daemonEndpointsMatch } from './doctorReadiness-C208SMN9.mjs';
16
- import { p as parsePiRunnerArgs, m as missingPiPrerequisites, a as piSetupMessage, b as piAdapterMissingHint } from './piRunnerArgs-H2pgpA5z.mjs';
16
+ import { p as parsePiRunnerArgs, m as missingPiPrerequisites, a as piSetupMessage, b as piAdapterMissingHint } from './piRunnerArgs-68I5F_M1.mjs';
17
17
  import { c as commandOnPath } from './detectCLI-CSGMlV51.mjs';
18
18
  import 'node:util';
19
19
  import 'node:fs';
@@ -23,8 +23,8 @@ import './authRelay-DhQhkBvX.mjs';
23
23
  import 'node:crypto';
24
24
  import 'tweetnacl';
25
25
  import 'axios';
26
- import './time-D3ETL7Jb.mjs';
27
- import './browser-DUNetFT4.mjs';
26
+ import './time-Cfknl7xG.mjs';
27
+ import './browser-CUxGoATV.mjs';
28
28
  import 'open';
29
29
  import 'cross-spawn';
30
30
  import './projectPath-BTBIMB57.mjs';
@@ -32,7 +32,7 @@ import 'path';
32
32
  import 'url';
33
33
  import 'node:module';
34
34
  import 'node:os';
35
- import './acpSessionResume-B9l54P-X.mjs';
35
+ import './acpSessionResume-u2TwX5Jd.mjs';
36
36
  import 'child_process';
37
37
  import 'os';
38
38
  import 'fs';
@@ -93,32 +93,32 @@ Conversation history is preserved on the server, but in-flight tool calls are in
93
93
  }
94
94
  process.exit(0);
95
95
  }
96
- await (await import('./doctor-IctjVh9T.mjs').then(function (n) { return n.d; })).runDoctorCommand();
96
+ await (await import('./doctor-bKScPtZu.mjs').then(function (n) { return n.d; })).runDoctorCommand();
97
97
  return;
98
98
  } else if (subcommand === "auth") {
99
99
  try {
100
- await (await import('./auth-rggxMpEE.mjs')).handleAuthCommand(args.slice(1));
100
+ await (await import('./auth-DOXMI-xp.mjs')).handleAuthCommand(args.slice(1));
101
101
  } catch (error) {
102
102
  failCommand(error);
103
103
  }
104
104
  return;
105
105
  } else if (subcommand === "connect") {
106
106
  try {
107
- await (await import('./connect-BQrg3TB6.mjs')).handleConnectCommand(args.slice(1));
107
+ await (await import('./connect-CPeJXHha.mjs')).handleConnectCommand(args.slice(1));
108
108
  } catch (error) {
109
109
  failCommand(error);
110
110
  }
111
111
  return;
112
112
  } else if (subcommand === "sandbox") {
113
113
  try {
114
- await (await import('./sandbox-CbCutma4.mjs')).handleSandboxCommand(args.slice(1));
114
+ await (await import('./sandbox-v-ffe8LR.mjs')).handleSandboxCommand(args.slice(1));
115
115
  } catch (error) {
116
116
  failCommand(error);
117
117
  }
118
118
  return;
119
119
  } else if (subcommand === "server") {
120
120
  try {
121
- await (await import('./server-BqwXRzFZ.mjs')).handleServerCommand(args.slice(1));
121
+ await (await import('./server-DScgJXxa.mjs')).handleServerCommand(args.slice(1));
122
122
  } catch (error) {
123
123
  failCommand(error);
124
124
  }
@@ -150,7 +150,7 @@ Conversation history is preserved on the server, but in-flight tool calls are in
150
150
  }
151
151
  } else if (subcommand === "agent-home") {
152
152
  try {
153
- const { parseAgentHomeArgs, runAgentHomeCommand } = await import('./agentHome-CmGy0NWv.mjs');
153
+ const { parseAgentHomeArgs, runAgentHomeCommand } = await import('./agentHome-D3hNrnoA.mjs');
154
154
  await runAgentHomeCommand(parseAgentHomeArgs(args.slice(1)));
155
155
  process.exit(0);
156
156
  } catch (error) {
@@ -159,7 +159,7 @@ Conversation history is preserved on the server, but in-flight tool calls are in
159
159
  }
160
160
  } else if (subcommand === "spawn") {
161
161
  try {
162
- const { handleSpawnCommand } = await import('./spawn-vn93PhYL.mjs');
162
+ const { handleSpawnCommand } = await import('./spawn-CsoQ-Ecz.mjs');
163
163
  await handleSpawnCommand(args.slice(1));
164
164
  } catch (error) {
165
165
  failCommand(error);
@@ -167,7 +167,7 @@ Conversation history is preserved on the server, but in-flight tool calls are in
167
167
  return;
168
168
  } else if (subcommand === "sessions") {
169
169
  try {
170
- const { handleSessionsCommand } = await import('./sessions-BXyBHo8n.mjs');
170
+ const { handleSessionsCommand } = await import('./sessions-CFtDlyZd.mjs');
171
171
  await handleSessionsCommand(args.slice(1));
172
172
  } catch (error) {
173
173
  failCommand(error);
@@ -175,7 +175,7 @@ Conversation history is preserved on the server, but in-flight tool calls are in
175
175
  return;
176
176
  } else if (subcommand === "send") {
177
177
  try {
178
- const { handleSendCommand } = await import('./send-YZRMQvMJ.mjs');
178
+ const { handleSendCommand } = await import('./send-DpBwSZuj.mjs');
179
179
  await handleSendCommand(args.slice(1));
180
180
  } catch (error) {
181
181
  failCommand(error);
@@ -183,14 +183,14 @@ Conversation history is preserved on the server, but in-flight tool calls are in
183
183
  return;
184
184
  } else if (subcommand === "resume") {
185
185
  try {
186
- await (await import('./handleResumeCommand-DpaZvm2c.mjs')).handleResumeCommand(args.slice(1));
186
+ await (await import('./handleResumeCommand-CjtjQ_I7.mjs')).handleResumeCommand(args.slice(1));
187
187
  } catch (error) {
188
188
  failCommand(error);
189
189
  }
190
190
  return;
191
191
  } else if (subcommand === "codex") {
192
192
  try {
193
- await (await import('./codexCommand-B_xUH79E.mjs')).handleCodexCommand(args.slice(1));
193
+ await (await import('./codexCommand-BGx5NMQR.mjs')).handleCodexCommand(args.slice(1));
194
194
  } catch (error) {
195
195
  failCommand(error);
196
196
  }
@@ -269,9 +269,9 @@ Conversation history is preserved on the server, but in-flight tool calls are in
269
269
  if (geminiSubcommand === "project" && args[2] === "set" && args[3]) {
270
270
  const projectId = args[3];
271
271
  try {
272
- const { saveGoogleCloudProjectToConfig } = await import('./config-DSu0Blos.mjs');
273
- const { readCredentialsForConfiguredRelay: readCredentialsForConfiguredRelay2 } = await import('./persistence-BFUOHW5h.mjs').then(function (n) { return n.F; });
274
- const { ApiClient } = await import('./api-Hov8p7CA.mjs').then(function (n) { return n.b; });
272
+ const { saveGoogleCloudProjectToConfig } = await import('./config-CWAe08-Q.mjs');
273
+ const { readCredentialsForConfiguredRelay: readCredentialsForConfiguredRelay2 } = await import('./persistence-jOEuAFTS.mjs').then(function (n) { return n.F; });
274
+ const { ApiClient } = await import('./api-C_YSQnsi.mjs').then(function (n) { return n.b; });
275
275
  let userEmail = void 0;
276
276
  try {
277
277
  const credentials = await readCredentialsForConfiguredRelay2();
@@ -302,7 +302,7 @@ Conversation history is preserved on the server, but in-flight tool calls are in
302
302
  }
303
303
  if (geminiSubcommand === "project" && args[2] === "get") {
304
304
  try {
305
- const { readGeminiLocalConfig } = await import('./config-DSu0Blos.mjs');
305
+ const { readGeminiLocalConfig } = await import('./config-CWAe08-Q.mjs');
306
306
  const config = readGeminiLocalConfig();
307
307
  if (config.googleCloudProject) {
308
308
  console.log(`Current Google Cloud Project: ${config.googleCloudProject}`);
@@ -342,7 +342,7 @@ Conversation history is preserved on the server, but in-flight tool calls are in
342
342
  process.exit(0);
343
343
  }
344
344
  try {
345
- const { runGemini } = await import('./runGemini-D7yKc4wD.mjs');
345
+ const { runGemini } = await import('./runGemini-Bc6SY-hd.mjs');
346
346
  let startedBy = void 0;
347
347
  for (let i = 1; i < args.length; i++) {
348
348
  if (args[i] === "--started-by") {
@@ -361,7 +361,7 @@ Conversation history is preserved on the server, but in-flight tool calls are in
361
361
  } else if (subcommand === "pi") {
362
362
  if (args[1] === "--terminal") {
363
363
  try {
364
- const { runPiTerminal } = await import('./piTerminal-C4m9YXAV.mjs');
364
+ const { runPiTerminal } = await import('./piTerminal-DJL0w-uA.mjs');
365
365
  process.exitCode = await runPiTerminal(args.slice(2));
366
366
  } catch (error) {
367
367
  console.error(chalk.red("Error:"), error instanceof Error ? error.message : "Unknown error");
@@ -386,7 +386,7 @@ Conversation history is preserved on the server, but in-flight tool calls are in
386
386
  process.exit(1);
387
387
  }
388
388
  }
389
- const { runAcp, resolveAcpAgentConfig } = await import('./index-BUNnpGFF.mjs');
389
+ const { runAcp, resolveAcpAgentConfig } = await import('./index-kA46KMxN.mjs');
390
390
  const resolved = resolveAcpAgentConfig(["pi", ...parsed.passthrough]);
391
391
  const { credentials } = await authAndSetupMachineIfNeeded();
392
392
  await ensureDaemonRunning();
@@ -418,7 +418,7 @@ Conversation history is preserved on the server, but in-flight tool calls are in
418
418
  return;
419
419
  } else if (subcommand === "acp") {
420
420
  try {
421
- const { runAcp, resolveAcpAgentConfig } = await import('./index-BUNnpGFF.mjs');
421
+ const { runAcp, resolveAcpAgentConfig } = await import('./index-kA46KMxN.mjs');
422
422
  let startedBy = void 0;
423
423
  let verbose = false;
424
424
  const acpArgs = [];
@@ -454,7 +454,7 @@ Conversation history is preserved on the server, but in-flight tool calls are in
454
454
  return;
455
455
  } else if (subcommand === "openclaw") {
456
456
  try {
457
- const { runOpenClaw } = await import('./runOpenClaw-C8ilyLP9.mjs');
457
+ const { runOpenClaw } = await import('./runOpenClaw-DI0qMlgF.mjs');
458
458
  let startedBy = void 0;
459
459
  let verbose = false;
460
460
  let gatewayUrl;
@@ -490,14 +490,14 @@ Conversation history is preserved on the server, but in-flight tool calls are in
490
490
  } else if (subcommand === "logout") {
491
491
  console.log(chalk.yellow('Note: "very-happy logout" is deprecated. Use "very-happy auth logout" instead.\n'));
492
492
  try {
493
- await (await import('./auth-rggxMpEE.mjs')).handleAuthCommand(["logout"]);
493
+ await (await import('./auth-DOXMI-xp.mjs')).handleAuthCommand(["logout"]);
494
494
  } catch (error) {
495
495
  failCommand(error);
496
496
  }
497
497
  return;
498
498
  } else if (subcommand === "todo") {
499
499
  try {
500
- const { handleTodoCommand } = await import('./todo-C9Ga-oEM.mjs');
500
+ const { handleTodoCommand } = await import('./todo-DZbK5POc.mjs');
501
501
  await handleTodoCommand(args.slice(1));
502
502
  } catch (error) {
503
503
  console.error(JSON.stringify({ error: error instanceof Error ? error.message : "Todo command failed" }));
@@ -506,7 +506,7 @@ Conversation history is preserved on the server, but in-flight tool calls are in
506
506
  return;
507
507
  } else if (subcommand === "teams") {
508
508
  try {
509
- const { handleTeamsCommand } = await import('./teams-DLY3B5yi.mjs');
509
+ const { handleTeamsCommand } = await import('./teams-lRy1MS0Z.mjs');
510
510
  await handleTeamsCommand(args.slice(1));
511
511
  } catch (error) {
512
512
  console.error(error instanceof Error ? error.message : "Teams command failed");
@@ -515,7 +515,7 @@ Conversation history is preserved on the server, but in-flight tool calls are in
515
515
  return;
516
516
  } else if (subcommand === "auto") {
517
517
  try {
518
- const { handleAutoCommand } = await import('./auto-CXXLXGeL.mjs');
518
+ const { handleAutoCommand } = await import('./auto-Z56mMZnH.mjs');
519
519
  await handleAutoCommand(args.slice(1));
520
520
  } catch (error) {
521
521
  console.error(chalk.red("Error:"), error instanceof Error ? error.message : "Automation command failed");
@@ -527,7 +527,7 @@ Conversation history is preserved on the server, but in-flight tool calls are in
527
527
  return;
528
528
  } else if (subcommand === "mcp" && (args.length === 1 || args.length === 2 && args[1] === "--terminal-tools")) {
529
529
  try {
530
- const { handleMcpCommand } = await import('./mcp-CbTtbs0f.mjs');
530
+ const { handleMcpCommand } = await import('./mcp-66g1TJ8P.mjs');
531
531
  await handleMcpCommand(args[1] === "--terminal-tools");
532
532
  } catch (error) {
533
533
  process.stderr.write(`[very-happy mcp] Fatal: ${error instanceof Error ? error.message : String(error)}
@@ -537,7 +537,7 @@ Conversation history is preserved on the server, but in-flight tool calls are in
537
537
  return;
538
538
  } else if (subcommand === "panels" || subcommand === "attention") {
539
539
  try {
540
- const { handlePanelsCommand, handleAttentionCommand } = await import('./panels-C7IVqpJk.mjs');
540
+ const { handlePanelsCommand, handleAttentionCommand } = await import('./panels-r8LmaBs6.mjs');
541
541
  if (subcommand === "panels") await handlePanelsCommand(args.slice(1));
542
542
  else await handleAttentionCommand(args.slice(1));
543
543
  } catch (error) {
@@ -625,13 +625,13 @@ Conversation history is preserved on the server, but in-flight tool calls are in
625
625
  }
626
626
  process.exit(0);
627
627
  } else if (daemonSubcommand === "start-sync") {
628
- await (await import('./run-Dajw2E5j.mjs')).startDaemon();
628
+ await (await import('./run-drtwHYkO.mjs')).startDaemon();
629
629
  process.exit(0);
630
630
  } else if (daemonSubcommand === "stop") {
631
631
  await stopDaemon();
632
632
  process.exit(0);
633
633
  } else if (daemonSubcommand === "status") {
634
- await (await import('./doctor-IctjVh9T.mjs').then(function (n) { return n.d; })).runDoctorDaemon();
634
+ await (await import('./doctor-bKScPtZu.mjs').then(function (n) { return n.d; })).runDoctorDaemon();
635
635
  process.exit(0);
636
636
  } else if (daemonSubcommand === "logs") {
637
637
  const latest = await getLatestDaemonLog();
@@ -643,14 +643,14 @@ Conversation history is preserved on the server, but in-flight tool calls are in
643
643
  process.exit(0);
644
644
  } else if (daemonSubcommand === "install") {
645
645
  try {
646
- await (await import('./install-CdzSV7qO.mjs')).install();
646
+ await (await import('./install-C46mkr9a.mjs')).install();
647
647
  } catch (error) {
648
648
  console.error(chalk.red("Error:"), error instanceof Error ? error.message : "Unknown error");
649
649
  process.exit(1);
650
650
  }
651
651
  } else if (daemonSubcommand === "uninstall") {
652
652
  try {
653
- await (await import('./uninstall-CvZHVY9C.mjs')).uninstall();
653
+ await (await import('./uninstall-bXenFevR.mjs')).uninstall();
654
654
  } catch (error) {
655
655
  console.error(chalk.red("Error:"), error instanceof Error ? error.message : "Unknown error");
656
656
  process.exit(1);
@@ -839,7 +839,7 @@ ${chalk.bold.cyan("Claude Code Options (from `claude --help`):")}
839
839
  await ensureDaemonRunning();
840
840
  }
841
841
  try {
842
- const { runClaude } = await import('./runClaude-C6oxWYbp.mjs');
842
+ const { runClaude } = await import('./runClaude-CFp27Tyi.mjs');
843
843
  await runClaude(credentials, options);
844
844
  } catch (error) {
845
845
  failCommand(error);
@@ -894,7 +894,7 @@ ${chalk.bold("Examples:")}
894
894
  }
895
895
  console.log(chalk.blue("\u{1F4F1} Sending push notification..."));
896
896
  try {
897
- const { ApiClient } = await import('./api-Hov8p7CA.mjs').then(function (n) { return n.b; });
897
+ const { ApiClient } = await import('./api-C_YSQnsi.mjs').then(function (n) { return n.b; });
898
898
  const api = await ApiClient.create(credentials);
899
899
  const notificationTitle = title || "Happy";
900
900
  api.push().sendToAllDevices(