very-happy-cli 0.2.178 → 0.2.180

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 (217) hide show
  1. package/dist/{AcpBackend-DCQXHRzT.mjs → AcpBackend-B8Zi30Zh.mjs} +135 -16
  2. package/dist/{AcpBackend-CDkAQXYf.cjs → AcpBackend-DfRDtMcG.cjs} +135 -16
  3. package/dist/{AcpSessionManager-DckmUZza.cjs → AcpSessionManager-CASKOnOj.cjs} +38 -4
  4. package/dist/{AcpSessionManager-BXrQcqwC.mjs → AcpSessionManager-i8Rab0xT.mjs} +38 -4
  5. package/dist/{BasePermissionHandler-BVlrEhIi.mjs → BasePermissionHandler-26fKbRCm.mjs} +5 -2
  6. package/dist/{BasePermissionHandler-DyLmKKtO.cjs → BasePermissionHandler-BlM_tfej.cjs} +5 -2
  7. package/dist/acpSessionResume-B9l54P-X.mjs +67 -0
  8. package/dist/acpSessionResume-CR5pmgVo.cjs +74 -0
  9. package/dist/{agentHome-CEp9RMyK.cjs → agentHome-C7Sb7-Tz.cjs} +4 -4
  10. package/dist/{agentHome-C1xi37as.mjs → agentHome-CmGy0NWv.mjs} +4 -4
  11. package/dist/{api-JANhFdZV.cjs → api-DM7b1OKj.cjs} +38 -262
  12. package/dist/{api-Dib0dmqC.mjs → api-Hov8p7CA.mjs} +32 -256
  13. package/dist/{apiMachine-DNTJidYH.mjs → apiMachine-CwGEhQDT.mjs} +62 -15
  14. package/dist/{apiMachine-QhK-sKcr.cjs → apiMachine-DkGRj-Ai.cjs} +64 -17
  15. package/dist/{attachmentContent-bpQTBJ0y.cjs → attachmentContent-CEm13_gF.cjs} +4 -4
  16. package/dist/{attachmentContent-DkkdpSSJ.mjs → attachmentContent-CIn4iPEk.mjs} +2 -2
  17. package/dist/{auth-BRjd2esb.mjs → auth-BG1DY0gj.mjs} +5 -5
  18. package/dist/{auth-DgIV0Cvt.cjs → auth-CBXnm-Mj.cjs} +5 -5
  19. package/dist/{auth-omWDtgR8.cjs → auth-Dawj7pP5.cjs} +8 -8
  20. package/dist/{auth-DNct7VUi.mjs → auth-rggxMpEE.mjs} +8 -8
  21. package/dist/{auto-DKGFOJBo.mjs → auto-CXXLXGeL.mjs} +19 -18
  22. package/dist/{auto-CI16FZmX.cjs → auto-CbYOfoPS.cjs} +19 -18
  23. package/dist/{backgroundTaskActivity-BVwJBl02.mjs → backgroundTaskActivity-8PdPxrvy.mjs} +1 -1
  24. package/dist/{bootstrap-DCQ87Aan.cjs → bootstrap-DoA7okld.cjs} +2 -2
  25. package/dist/{bootstrap-BUagGC_-.mjs → bootstrap-Dt5I1SOl.mjs} +2 -2
  26. package/dist/{browser-Dj_DYQEh.mjs → browser-DUNetFT4.mjs} +1 -1
  27. package/dist/{browser-CSKhc0Bl.cjs → browser-DZ6qRtfH.cjs} +1 -1
  28. package/dist/{claudeCliPath-U4HHmV4r.cjs → claudeCliPath-GaP3UUz1.cjs} +1 -1
  29. package/dist/{claudeLocal-CdIVnOZp.cjs → claudeLocal--DNyMOSv.cjs} +8 -7
  30. package/dist/{claudeLocal-CCCvAeMd.mjs → claudeLocal-OHWQigCl.mjs} +6 -5
  31. package/dist/{claudeLocalLauncher-BmrpaRYJ.mjs → claudeLocalLauncher-BStvfa7M.mjs} +11 -10
  32. package/dist/{claudeLocalLauncher-21-xh5gc.cjs → claudeLocalLauncher-BhvPbcyH.cjs} +13 -12
  33. package/dist/{claudeSessionFork-kYCP1IJB.cjs → claudeSessionFork-Be16vzGc.cjs} +1 -1
  34. package/dist/{claudeSessionFork-DvxMKAmY.mjs → claudeSessionFork-GAVWhiKG.mjs} +1 -1
  35. package/dist/{client-C4zKGjiJ.cjs → client-BWjaHKtj.cjs} +2 -2
  36. package/dist/client-Ca5Pcgy_.mjs +71 -0
  37. package/dist/{client-CnlkkrZO.mjs → client-CnB7kRCT.mjs} +2 -2
  38. package/dist/{client-BTX9hsbr.mjs → client-D4uPb1uu.mjs} +3 -3
  39. package/dist/client-DJplzPjD.cjs +76 -0
  40. package/dist/{client-Dnza1hgN.cjs → client-D_loZ9IK.cjs} +3 -3
  41. package/dist/codex/happyMcpStdioBridge.cjs +24 -15
  42. package/dist/codex/happyMcpStdioBridge.mjs +25 -16
  43. package/dist/{codexAppServerClient-DvkpQgyv.mjs → codexAppServerClient-CO4G6OS4.mjs} +3 -3
  44. package/dist/{codexAppServerClient-CRlBWGn3.cjs → codexAppServerClient-PE-12AsW.cjs} +3 -3
  45. package/dist/{codexCommand-DzxIWXIT.cjs → codexCommand-BNoD1t1C.cjs} +127 -116
  46. package/dist/{codexCommand-BxjogBzU.mjs → codexCommand-B_xUH79E.mjs} +77 -66
  47. package/dist/{codexTermination-C28FzlLb.cjs → codexTermination-BmBbizFK.cjs} +7 -2
  48. package/dist/{codexTermination-ySDNMEhd.mjs → codexTermination-Dx48ma6e.mjs} +7 -2
  49. package/dist/{config-BFB5uJ4t.cjs → config-CtwEUxUP.cjs} +26 -26
  50. package/dist/{config-DwfEpFr3.mjs → config-DSu0Blos.mjs} +3 -3
  51. package/dist/{configuration-4TGMrjul.cjs → configuration-CYO-kPOS.cjs} +1 -1
  52. package/dist/{configuration-DVrb61aY.mjs → configuration-PxzEJumr.mjs} +1 -1
  53. package/dist/{connect-C7FPY0PI.mjs → connect-BQrg3TB6.mjs} +15 -15
  54. package/dist/{connect-QH2VJGBG.cjs → connect-Dq7wndzR.cjs} +28 -28
  55. package/dist/{context-JoKu0V54.cjs → context-6TP-iz_c.cjs} +1 -1
  56. package/dist/{context-B3XPVJlj.mjs → context-CJGRRGWW.mjs} +1 -1
  57. package/dist/{controlClient-BTaZlbC6.cjs → controlClient-Bqv5v5OM.cjs} +3 -3
  58. package/dist/{controlClient-BYKyGyxj.mjs → controlClient-DoeYovwP.mjs} +4 -4
  59. package/dist/{createSessionMetadata-8Fuj2-IV.mjs → createSessionMetadata-DDIChCx8.mjs} +2 -2
  60. package/dist/{createSessionMetadata-B2NynaWZ.cjs → createSessionMetadata-xz767pcG.cjs} +3 -3
  61. package/dist/{defaultPermissionMode-BEWCqJU-.cjs → defaultPermissionMode-PkZGsQDk.cjs} +2 -2
  62. package/dist/{defaultPermissionMode-B8kJG9uI.mjs → defaultPermissionMode-i5KzdK09.mjs} +2 -2
  63. package/dist/{detectCLI-DR9ZaN6B.cjs → detectCLI-BuYR_Qxe.cjs} +4 -4
  64. package/dist/{deterministicJson-C5ZwZ7hu.mjs → deterministicJson-CTEJDqtS.mjs} +217 -12
  65. package/dist/{deterministicJson-BjNQsAjO.cjs → deterministicJson-xqA6DaOm.cjs} +222 -16
  66. package/dist/{doctor-BshRnjLi.cjs → doctor-BrgSlfXn.cjs} +9 -9
  67. package/dist/{doctor-0BiGwJXk.mjs → doctor-IctjVh9T.mjs} +8 -8
  68. package/dist/{doctorReadiness-BCZGcN0a.cjs → doctorReadiness-Dl6yRQCy.cjs} +1 -1
  69. package/dist/{downloadTarget-BN5vZt3K.cjs → downloadTarget-CEb9che-.cjs} +6 -6
  70. package/dist/{downloadTarget-DJPwAZlu.mjs → downloadTarget-jbOz1egC.mjs} +6 -6
  71. package/dist/{ensureDaemonRunning-C5QfToCe.cjs → ensureDaemonRunning-D-HyjGIX.cjs} +6 -6
  72. package/dist/{ensureDaemonRunning-CSmb_mqt.mjs → ensureDaemonRunning-b1e8LCSM.mjs} +5 -5
  73. package/dist/{handleResumeCommand-BwnUZmbo.cjs → handleResumeCommand-BvWVuRwH.cjs} +23 -7
  74. package/dist/{handleResumeCommand-CgjpsdDe.mjs → handleResumeCommand-DpaZvm2c.mjs} +22 -6
  75. package/dist/{index-piJPsTsm.cjs → index-B2p2Mut7.cjs} +259 -53
  76. package/dist/{index-BehVbAsA.mjs → index-BUNnpGFF.mjs} +256 -50
  77. package/dist/{index-Bvldtdny.mjs → index-Bsvbgh9e.mjs} +4 -4
  78. package/dist/{index-BYOZ_8WZ.cjs → index-C64Ufj4D.cjs} +4 -4
  79. package/dist/{index-Clqlu17M.mjs → index-C6Vn5Eac.mjs} +155 -34
  80. package/dist/index-CMf5VbzG.mjs +18 -0
  81. package/dist/index-DmTlDRSL.cjs +24 -0
  82. package/dist/{index-_l1Sdmbi.cjs → index-Dv0Q48P3.cjs} +156 -33
  83. package/dist/{index-BRClDe07.cjs → index-F2UejqYs.cjs} +3 -3
  84. package/dist/{index-BYgfern_.mjs → index-wCbtF4BK.mjs} +3 -3
  85. package/dist/index.cjs +2 -2
  86. package/dist/index.mjs +2 -2
  87. package/dist/{install-BdvKiOQw.mjs → install-BX3lv3NO.mjs} +1 -1
  88. package/dist/{install-Cf6AFSWC.cjs → install-BXvf2E3o.cjs} +1 -1
  89. package/dist/{install-TO4taKW7.cjs → install-C0ANcEAW.cjs} +7 -7
  90. package/dist/{install-fYWHrPcC.mjs → install-CdzSV7qO.mjs} +3 -3
  91. package/dist/{installPiTools-BKnXjrVu.cjs → installPiTools-CL_axh_6.cjs} +1 -1
  92. package/dist/{installTerminalHooks-BQZbvxsZ.cjs → installTerminalHooks-BETLKAtd.cjs} +3 -3
  93. package/dist/lib.cjs +14 -14
  94. package/dist/lib.d.cts +239 -2
  95. package/dist/lib.d.mts +239 -2
  96. package/dist/lib.mjs +14 -14
  97. package/dist/{lidState-BeOwj6eW.cjs → lidState-DWGnm2H4.cjs} +1 -1
  98. package/dist/{lidState-DNMlIhX0.mjs → lidState-bBrmaQd2.mjs} +1 -1
  99. package/dist/{localHappyAgentAuth-Br-mgogg.cjs → localHappyAgentAuth-DZHQnIW9.cjs} +1 -1
  100. package/dist/{localHappyAgentAuth-BezKSFDi.mjs → localHappyAgentAuth-Dn1jYDpt.mjs} +1 -1
  101. package/dist/{logger--vAVtXB_.mjs → logger-BUngm5Xg.mjs} +2 -2
  102. package/dist/{logger-DXTWlPzP.cjs → logger-CphW5nUE.cjs} +2 -2
  103. package/dist/machineMetadata-BQm9YTcI.cjs +79 -0
  104. package/dist/machineMetadata-BXN_bKU3.mjs +68 -0
  105. package/dist/{main-DoMFJ2Cl.cjs → main-B2UV51nK.cjs} +112 -132
  106. package/dist/{main-CshDb5-1.mjs → main-DGkdYfEq.mjs} +106 -126
  107. package/dist/{mcp-pNc1EbQf.cjs → mcp-BFvAEIRz.cjs} +15 -15
  108. package/dist/{mcp-DKT_lrvQ.mjs → mcp-CbTtbs0f.mjs} +15 -15
  109. package/dist/{mirrorProtocol-6IFGPpjJ.mjs → mirrorProtocol-BR4luBC0.mjs} +148 -7
  110. package/dist/{mirrorProtocol-qKflWTX_.cjs → mirrorProtocol-HKPivs5o.cjs} +150 -4
  111. package/dist/{package-B7B03ejW.mjs → package-7Ld1YMhh.mjs} +8 -7
  112. package/dist/{package-DY4zTbKS.cjs → package-KhLqBDX9.cjs} +8 -7
  113. package/dist/panels-C7IVqpJk.mjs +137 -0
  114. package/dist/panels-Njf6GelF.cjs +142 -0
  115. package/dist/{peerTools-3R9RUARX.mjs → peerTools-BOlDRyhi.mjs} +60 -10
  116. package/dist/{peerTools-iy3_6Yc5.cjs → peerTools-DQNlrcqM.cjs} +60 -9
  117. package/dist/{persistence-BfX72dne.cjs → persistence-9BMYspxG.cjs} +2 -2
  118. package/dist/{persistence-DTk4sNpd.mjs → persistence-BFUOHW5h.mjs} +3 -3
  119. package/dist/{piRunnerArgs-CRQVR9o-.cjs → piRunnerArgs-DGaq6VYM.cjs} +8 -2
  120. package/dist/{piRunnerArgs-AT8QJY7x.mjs → piRunnerArgs-H2pgpA5z.mjs} +7 -1
  121. package/dist/{piRuntime-BHRT5MKO.cjs → piRuntime-CT5xv_3h.cjs} +2 -2
  122. package/dist/{piRuntime-E44qTVQ4.mjs → piRuntime-CdN0JAsa.mjs} +2 -2
  123. package/dist/{piTerminal-hI4WFdWm.cjs → piTerminal-0FBtXTHK.cjs} +18 -18
  124. package/dist/{piTerminal-De8nbciM.mjs → piTerminal-C4m9YXAV.mjs} +18 -18
  125. package/dist/processTreeSnapshot-CuLJDNC-.mjs +101 -0
  126. package/dist/processTreeSnapshot-mDbnuojn.cjs +105 -0
  127. package/dist/projectPath-C3ioB4Bu.cjs +13 -0
  128. package/dist/prompt-BOouDaTM.mjs +99 -0
  129. package/dist/prompt-lgF9IE82.cjs +105 -0
  130. package/dist/{attachmentLimits-UyFn8fkQ.mjs → pushNotifications-DCiBEVeC.mjs} +307 -3
  131. package/dist/{attachmentLimits-SqeAHrVC.cjs → pushNotifications-DI92havG.cjs} +308 -2
  132. package/dist/{index-DFPT4HOO.cjs → query-BETKBrnz.cjs} +25 -5
  133. package/dist/{index-CEjJnq05.mjs → query-ywZbQUzR.mjs} +26 -3
  134. package/dist/{rateLimitWindows-XrJiiBpU.mjs → rateLimitWindows-BkfuUB1a.mjs} +1 -1
  135. package/dist/{rateLimitWindows-Czb7_7cK.cjs → rateLimitWindows-YRIYVdo4.cjs} +1 -1
  136. package/dist/{registerCommonHandlers-C0_fyBQ0.cjs → registerCommonHandlers-C7a_dUWs.cjs} +30 -30
  137. package/dist/{registerCommonHandlers-CvIedVRf.mjs → registerCommonHandlers-CTkCvjxt.mjs} +2 -2
  138. package/dist/{registerKillSessionHandler-DYl7l4Ts.cjs → registerKillSessionHandler-CIsvBrVe.cjs} +6 -6
  139. package/dist/{registerKillSessionHandler-gwJ5lTf0.mjs → registerKillSessionHandler-CaqqRYq6.mjs} +6 -6
  140. package/dist/{remoteSessionClient-BRTIOX5b.cjs → remoteSessionClient-D843fkzL.cjs} +5 -5
  141. package/dist/{remoteSessionClient-DRb2Jr5s.mjs → remoteSessionClient-PP-mOKmw.mjs} +5 -5
  142. package/dist/{reportProgressTool-B9nCzbkL.cjs → reportProgressTool-14AXr959.cjs} +84 -2
  143. package/dist/{reportProgressTool-D5tEoXMW.mjs → reportProgressTool-ZOCNjWHr.mjs} +82 -3
  144. package/dist/{resources-JDPugcDq.cjs → resources-CvIlkzpP.cjs} +30 -0
  145. package/dist/{resources-BdFBQi8r.mjs → resources-y9jfyO-_.mjs} +30 -0
  146. package/dist/{run-CKe_WeLW.cjs → run-CAOCYYfT.cjs} +2806 -110
  147. package/dist/{run-BQ_FGaOL.mjs → run-Dajw2E5j.mjs} +2787 -91
  148. package/dist/{runClaude-zrrNcQC_.mjs → runClaude-C6oxWYbp.mjs} +49 -47
  149. package/dist/{runClaude-MHI5IKM-.cjs → runClaude-CRRKt-tm.cjs} +50 -48
  150. package/dist/{runClaudeDeps-RRw-Nusc.cjs → runClaudeDeps-B1ysqTvx.cjs} +310 -237
  151. package/dist/{runClaudeDeps-CVBCokOS.mjs → runClaudeDeps-BcZ68cX3.mjs} +297 -226
  152. package/dist/{runGemini-kipag2ag.mjs → runGemini-D7yKc4wD.mjs} +61 -55
  153. package/dist/{runGemini-D7Lg9yCr.cjs → runGemini-DtKFXqf-.cjs} +89 -83
  154. package/dist/{runOpenClaw-C_lRY3Do.mjs → runOpenClaw-C8ilyLP9.mjs} +19 -19
  155. package/dist/{runOpenClaw-DCcQ0L2N.cjs → runOpenClaw-Cq29mryb.cjs} +20 -20
  156. package/dist/{sandbox-BSyXFVFp.mjs → sandbox-CbCutma4.mjs} +4 -4
  157. package/dist/{sandbox-dMwPTmjm.cjs → sandbox-gIj-EuF4.cjs} +4 -4
  158. package/dist/{selfCheck-DkzDDUsE.cjs → selfCheck-BTGBVthv.cjs} +39 -38
  159. package/dist/selfCheck-Smt-5Xiq.mjs +85 -0
  160. package/dist/{send-dxC0miIA.cjs → send-CZf5lLw_.cjs} +8 -8
  161. package/dist/{send-C-k9nsd3.mjs → send-YZRMQvMJ.mjs} +9 -9
  162. package/dist/{server-DxoTYNlw.mjs → server-BqwXRzFZ.mjs} +4 -4
  163. package/dist/{server-B-W6P7Qr.cjs → server-CknFq6xG.cjs} +6 -6
  164. package/dist/sessionExitLifecycle-CzkLIgNZ.mjs +142 -0
  165. package/dist/sessionExitLifecycle-DFltxXU8.cjs +148 -0
  166. package/dist/{sessionLock-DWX6BbiU.cjs → sessionLock-DRZUcKHT.cjs} +38 -5
  167. package/dist/{sessionLock-DBdtZGOL.mjs → sessionLock-nBXdJxJm.mjs} +36 -5
  168. package/dist/{sessionOps-BAnr7n8t.cjs → sessionOps-BrGiU9-s.cjs} +10 -5
  169. package/dist/{sessionOps-BVoXe12O.mjs → sessionOps-C58iDeD5.mjs} +11 -6
  170. package/dist/{sessionScanner-BtxoeluY.mjs → sessionScanner-Bm57LEXe.mjs} +3 -3
  171. package/dist/{sessionScanner-CDOYsEUD.cjs → sessionScanner-CaO8bLaG.cjs} +3 -3
  172. package/dist/{sessions-C3sZJkzI.mjs → sessions-BXyBHo8n.mjs} +40 -18
  173. package/dist/{sessions-hAitoN-m.cjs → sessions-uzqPCc37.cjs} +39 -16
  174. package/dist/{setupOfflineReconnection-_eD4cuUT.mjs → setupOfflineReconnection-1Qlek3wl.mjs} +2 -2
  175. package/dist/{setupOfflineReconnection-C2EeYTFH.cjs → setupOfflineReconnection-DvvVX3TB.cjs} +2 -2
  176. package/dist/{spawn-Bc9v7pIf.cjs → spawn-DBkodJEO.cjs} +49 -18
  177. package/dist/{spawn-qNrB2CD_.mjs → spawn-vn93PhYL.mjs} +49 -18
  178. package/dist/spawnAgents-CgPMWexP.mjs +79 -0
  179. package/dist/{spawnAgents-BVEaz35W.cjs → spawnAgents-DLNMlhWJ.cjs} +37 -1
  180. package/dist/{spawnHappyCLI-C2stUioM.mjs → spawnHappyCLI-BjFZc_7V.mjs} +1 -1
  181. package/dist/{spawnHappyCLI-fzUagkKV.cjs → spawnHappyCLI-DnUZv0X2.cjs} +2 -2
  182. package/dist/{specialCommands-BJ-nqY4s.cjs → specialCommands-BRufxlqe.cjs} +3 -3
  183. package/dist/{specialCommands-C6W-rVyh.mjs → specialCommands-D3ND9bdg.mjs} +3 -3
  184. package/dist/{startFileWatcher-Bqlqjt93.cjs → startFileWatcher-D9cYzZOq.cjs} +1 -1
  185. package/dist/{startFileWatcher-CR09Snmz.mjs → startFileWatcher-DXJ7yB5v.mjs} +1 -1
  186. package/dist/startupSessionCreate-kdr3m1uX.cjs +26 -0
  187. package/dist/startupSessionCreate-uZ6BM0ty.mjs +24 -0
  188. package/dist/{streamRelay-CJoMk_d2.mjs → streamRelay-DnMCMMfV.mjs} +1 -1
  189. package/dist/{streamRelay-9kBPpbvU.cjs → streamRelay-Dy6amlzx.cjs} +1 -1
  190. package/dist/{sync-Dhmtk66S.cjs → sync-Bn-idAoy.cjs} +1 -1
  191. package/dist/{sync-DbW07iQS.mjs → sync-BvVhDO40.mjs} +1 -1
  192. package/dist/{systemPrompt-CQcuUmVp.mjs → systemPrompt-CIZcJuJF.mjs} +4 -3
  193. package/dist/{systemPrompt-3PYi3EUY.cjs → systemPrompt-DlyEk35T.cjs} +4 -3
  194. package/dist/{teams-DpxLcUU_.cjs → teams-BLeRpDxv.cjs} +8 -8
  195. package/dist/{teams-CwF4Z2fA.mjs → teams-DLY3B5yi.mjs} +8 -8
  196. package/dist/{time-A6zR3Iy6.cjs → time-Cjv0zxQO.cjs} +1 -1
  197. package/dist/{time-BuGWTVP6.mjs → time-D3ETL7Jb.mjs} +1 -1
  198. package/dist/{titleGenerator-D26gvNaS.cjs → titleGenerator-Cgp5ihFb.cjs} +10 -9
  199. package/dist/{titleGenerator-BGEzNWC9.mjs → titleGenerator-Uzbd4utr.mjs} +9 -8
  200. package/dist/{todo-DrZc76H5.mjs → todo-C9Ga-oEM.mjs} +6 -6
  201. package/dist/{todo-73g3NCIO.cjs → todo-pOMcEECE.cjs} +6 -6
  202. package/dist/{tools-CxJp4T1T.cjs → tools-BL7Byl_x.cjs} +1 -1
  203. package/dist/{tools-BtsrQnNS.mjs → tools-Cho7iIWf.mjs} +1 -1
  204. package/dist/{uninstall-DWNYvewQ.cjs → uninstall-CbayEVoV.cjs} +6 -6
  205. package/dist/{uninstall-DOb2mTwV.mjs → uninstall-CvZHVY9C.mjs} +3 -3
  206. package/dist/webPanels-B2_C2-3g.mjs +49 -0
  207. package/dist/webPanels-FCgFKvVe.cjs +53 -0
  208. package/package.json +8 -7
  209. package/dist/machineMetadata-B1H9gNbN.mjs +0 -39
  210. package/dist/machineMetadata-DcUupMje.cjs +0 -42
  211. package/dist/messageBuffer-BWlGgR3A.mjs +0 -71
  212. package/dist/messageBuffer-fJMH6uY8.cjs +0 -73
  213. package/dist/projectPath-ChLhdOyt.cjs +0 -13
  214. package/dist/selfCheck-CF7XGJPb.mjs +0 -84
  215. package/dist/sessionModeFile-ByLbXTbg.mjs +0 -32
  216. package/dist/sessionModeFile-CLLdidiJ.cjs +0 -36
  217. package/dist/spawnAgents-Bw6j4tqz.mjs +0 -45
@@ -1,22 +1,22 @@
1
1
  'use strict';
2
2
 
3
3
  var chalk = require('chalk');
4
- var logger = require('./logger-DXTWlPzP.cjs');
5
- var persistence = require('./persistence-BfX72dne.cjs');
6
- var auth = require('./auth-DgIV0Cvt.cjs');
7
- var _package = require('./package-DY4zTbKS.cjs');
4
+ var logger = require('./logger-CphW5nUE.cjs');
5
+ var persistence = require('./persistence-9BMYspxG.cjs');
6
+ var auth = require('./auth-CBXnm-Mj.cjs');
7
+ var _package = require('./package-KhLqBDX9.cjs');
8
8
  var z = require('zod');
9
- var controlClient = require('./controlClient-BTaZlbC6.cjs');
9
+ var controlClient = require('./controlClient-Bqv5v5OM.cjs');
10
10
  var daemonSupervisor = require('./daemonSupervisor-B-SPSqhs.cjs');
11
- var spawnHappyCLI = require('./spawnHappyCLI-fzUagkKV.cjs');
11
+ var spawnHappyCLI = require('./spawnHappyCLI-DnUZv0X2.cjs');
12
12
  var node_child_process = require('node:child_process');
13
- var ensureDaemonRunning = require('./ensureDaemonRunning-C5QfToCe.cjs');
13
+ var ensureDaemonRunning = require('./ensureDaemonRunning-D-HyjGIX.cjs');
14
14
  var startupPlan = require('./startupPlan-BLMbfQIH.cjs');
15
- var index = require('./index-BRClDe07.cjs');
16
- var configuration = require('./configuration-4TGMrjul.cjs');
17
- var doctorReadiness = require('./doctorReadiness-BCZGcN0a.cjs');
18
- var piRunnerArgs = require('./piRunnerArgs-CRQVR9o-.cjs');
19
- var detectCLI = require('./detectCLI-DR9ZaN6B.cjs');
15
+ var index = require('./index-F2UejqYs.cjs');
16
+ var configuration = require('./configuration-CYO-kPOS.cjs');
17
+ var doctorReadiness = require('./doctorReadiness-Dl6yRQCy.cjs');
18
+ var piRunnerArgs = require('./piRunnerArgs-DGaq6VYM.cjs');
19
+ var detectCLI = require('./detectCLI-BuYR_Qxe.cjs');
20
20
  require('node:util');
21
21
  require('node:fs');
22
22
  require('node:path');
@@ -25,16 +25,16 @@ require('./authRelay-Dy1qU9td.cjs');
25
25
  require('node:crypto');
26
26
  require('tweetnacl');
27
27
  require('axios');
28
- require('./time-A6zR3Iy6.cjs');
29
- require('./browser-CSKhc0Bl.cjs');
28
+ require('./time-Cjv0zxQO.cjs');
29
+ require('./browser-DZ6qRtfH.cjs');
30
30
  require('open');
31
31
  require('cross-spawn');
32
- require('./projectPath-ChLhdOyt.cjs');
32
+ require('./projectPath-C3ioB4Bu.cjs');
33
33
  require('path');
34
34
  require('url');
35
35
  require('node:module');
36
36
  require('node:os');
37
- require('./sessionModeFile-CLLdidiJ.cjs');
37
+ require('./acpSessionResume-CR5pmgVo.cjs');
38
38
  require('child_process');
39
39
  require('os');
40
40
  require('fs');
@@ -44,6 +44,24 @@ const CLAUDE_OPTIONS_HELP = `Very Happy forwards most Claude options.
44
44
  Use Claude flags with very-happy as you would with claude. The --settings flag
45
45
  is reserved for Very Happy's session hooks and is ignored with a warning.`;
46
46
 
47
+ let recorded = false;
48
+ function recordExitReason(code, reason) {
49
+ recorded = true;
50
+ logger.logger.debug(`[EXIT] Exiting with code ${code}: ${oneLine(reason)}`);
51
+ }
52
+ function installExitReasonFallback() {
53
+ process.on("exit", (code) => {
54
+ if (code !== 0 && !recorded) logger.logger.debug(`[EXIT] Exiting with code ${code}: no reason was recorded`);
55
+ });
56
+ }
57
+ function errorReason(error) {
58
+ return error instanceof Error ? error.message : String(error ?? "Unknown error");
59
+ }
60
+ function oneLine(value) {
61
+ const line = value.replace(/\s+/g, " ").trim();
62
+ return line.length > 500 ? `${line.slice(0, 499)}\u2026` : line;
63
+ }
64
+
47
65
  async function main() {
48
66
  const args = process.argv.slice(2);
49
67
  if (index.isStandaloneVersionRequest(args)) {
@@ -53,6 +71,7 @@ async function main() {
53
71
  if (!args.includes("--version")) {
54
72
  logger.logger.debug("Starting happy CLI with args: ", process.argv);
55
73
  }
74
+ installExitReasonFallback();
56
75
  const subcommand = args[0];
57
76
  if (!args.includes("--version")) ;
58
77
  if (subcommand === "doctor") {
@@ -76,50 +95,34 @@ Conversation history is preserved on the server, but in-flight tool calls are in
76
95
  }
77
96
  process.exit(0);
78
97
  }
79
- await (await Promise.resolve().then(function () { return require('./doctor-BshRnjLi.cjs'); }).then(function (n) { return n.doctor; })).runDoctorCommand();
98
+ await (await Promise.resolve().then(function () { return require('./doctor-BrgSlfXn.cjs'); }).then(function (n) { return n.doctor; })).runDoctorCommand();
80
99
  return;
81
100
  } else if (subcommand === "auth") {
82
101
  try {
83
- await (await Promise.resolve().then(function () { return require('./auth-omWDtgR8.cjs'); })).handleAuthCommand(args.slice(1));
102
+ await (await Promise.resolve().then(function () { return require('./auth-Dawj7pP5.cjs'); })).handleAuthCommand(args.slice(1));
84
103
  } catch (error) {
85
- console.error(chalk.red("Error:"), error instanceof Error ? error.message : "Unknown error");
86
- if (process.env.DEBUG) {
87
- console.error(error);
88
- }
89
- process.exit(1);
104
+ failCommand(error);
90
105
  }
91
106
  return;
92
107
  } else if (subcommand === "connect") {
93
108
  try {
94
- await (await Promise.resolve().then(function () { return require('./connect-QH2VJGBG.cjs'); })).handleConnectCommand(args.slice(1));
109
+ await (await Promise.resolve().then(function () { return require('./connect-Dq7wndzR.cjs'); })).handleConnectCommand(args.slice(1));
95
110
  } catch (error) {
96
- console.error(chalk.red("Error:"), error instanceof Error ? error.message : "Unknown error");
97
- if (process.env.DEBUG) {
98
- console.error(error);
99
- }
100
- process.exit(1);
111
+ failCommand(error);
101
112
  }
102
113
  return;
103
114
  } else if (subcommand === "sandbox") {
104
115
  try {
105
- await (await Promise.resolve().then(function () { return require('./sandbox-dMwPTmjm.cjs'); })).handleSandboxCommand(args.slice(1));
116
+ await (await Promise.resolve().then(function () { return require('./sandbox-gIj-EuF4.cjs'); })).handleSandboxCommand(args.slice(1));
106
117
  } catch (error) {
107
- console.error(chalk.red("Error:"), error instanceof Error ? error.message : "Unknown error");
108
- if (process.env.DEBUG) {
109
- console.error(error);
110
- }
111
- process.exit(1);
118
+ failCommand(error);
112
119
  }
113
120
  return;
114
121
  } else if (subcommand === "server") {
115
122
  try {
116
- await (await Promise.resolve().then(function () { return require('./server-B-W6P7Qr.cjs'); })).handleServerCommand(args.slice(1));
123
+ await (await Promise.resolve().then(function () { return require('./server-CknFq6xG.cjs'); })).handleServerCommand(args.slice(1));
117
124
  } catch (error) {
118
- console.error(chalk.red("Error:"), error instanceof Error ? error.message : "Unknown error");
119
- if (process.env.DEBUG) {
120
- console.error(error);
121
- }
122
- process.exit(1);
125
+ failCommand(error);
123
126
  }
124
127
  return;
125
128
  } else if (subcommand === "bye") {
@@ -127,7 +130,7 @@ Conversation history is preserved on the server, but in-flight tool calls are in
127
130
  process.exit(0);
128
131
  } else if (subcommand === "install-pi-tools") {
129
132
  try {
130
- const { handleInstallPiTools } = await Promise.resolve().then(function () { return require('./installPiTools-BKnXjrVu.cjs'); });
133
+ const { handleInstallPiTools } = await Promise.resolve().then(function () { return require('./installPiTools-CL_axh_6.cjs'); });
131
134
  await handleInstallPiTools(args.slice(1));
132
135
  } catch (error) {
133
136
  console.error(error instanceof Error ? error.message : "Pi tools installation failed");
@@ -136,7 +139,7 @@ Conversation history is preserved on the server, but in-flight tool calls are in
136
139
  return;
137
140
  } else if (subcommand === "install-terminal-hooks") {
138
141
  try {
139
- const { installTerminalHooks, parseTerminalHooksArgs, TERMINAL_HOOKS_HELP } = await Promise.resolve().then(function () { return require('./installTerminalHooks-BQZbvxsZ.cjs'); });
142
+ const { installTerminalHooks, parseTerminalHooksArgs, TERMINAL_HOOKS_HELP } = await Promise.resolve().then(function () { return require('./installTerminalHooks-BETLKAtd.cjs'); });
140
143
  const command = parseTerminalHooksArgs(args.slice(1));
141
144
  if (command.action === "help") {
142
145
  console.log(TERMINAL_HOOKS_HELP);
@@ -145,15 +148,11 @@ Conversation history is preserved on the server, but in-flight tool calls are in
145
148
  await installTerminalHooks({ remove: command.action === "remove" });
146
149
  process.exit(0);
147
150
  } catch (error) {
148
- console.error(chalk.red("Error:"), error instanceof Error ? error.message : "Unknown error");
149
- if (process.env.DEBUG) {
150
- console.error(error);
151
- }
152
- process.exit(1);
151
+ failCommand(error);
153
152
  }
154
153
  } else if (subcommand === "agent-home") {
155
154
  try {
156
- const { parseAgentHomeArgs, runAgentHomeCommand } = await Promise.resolve().then(function () { return require('./agentHome-CEp9RMyK.cjs'); });
155
+ const { parseAgentHomeArgs, runAgentHomeCommand } = await Promise.resolve().then(function () { return require('./agentHome-C7Sb7-Tz.cjs'); });
157
156
  await runAgentHomeCommand(parseAgentHomeArgs(args.slice(1)));
158
157
  process.exit(0);
159
158
  } catch (error) {
@@ -162,60 +161,40 @@ Conversation history is preserved on the server, but in-flight tool calls are in
162
161
  }
163
162
  } else if (subcommand === "spawn") {
164
163
  try {
165
- const { handleSpawnCommand } = await Promise.resolve().then(function () { return require('./spawn-Bc9v7pIf.cjs'); });
164
+ const { handleSpawnCommand } = await Promise.resolve().then(function () { return require('./spawn-DBkodJEO.cjs'); });
166
165
  await handleSpawnCommand(args.slice(1));
167
166
  } catch (error) {
168
- console.error(chalk.red("Error:"), error instanceof Error ? error.message : "Unknown error");
169
- if (process.env.DEBUG) {
170
- console.error(error);
171
- }
172
- process.exit(1);
167
+ failCommand(error);
173
168
  }
174
169
  return;
175
170
  } else if (subcommand === "sessions") {
176
171
  try {
177
- const { handleSessionsCommand } = await Promise.resolve().then(function () { return require('./sessions-hAitoN-m.cjs'); });
172
+ const { handleSessionsCommand } = await Promise.resolve().then(function () { return require('./sessions-uzqPCc37.cjs'); });
178
173
  await handleSessionsCommand(args.slice(1));
179
174
  } catch (error) {
180
- console.error(chalk.red("Error:"), error instanceof Error ? error.message : "Unknown error");
181
- if (process.env.DEBUG) {
182
- console.error(error);
183
- }
184
- process.exit(1);
175
+ failCommand(error);
185
176
  }
186
177
  return;
187
178
  } else if (subcommand === "send") {
188
179
  try {
189
- const { handleSendCommand } = await Promise.resolve().then(function () { return require('./send-dxC0miIA.cjs'); });
180
+ const { handleSendCommand } = await Promise.resolve().then(function () { return require('./send-CZf5lLw_.cjs'); });
190
181
  await handleSendCommand(args.slice(1));
191
182
  } catch (error) {
192
- console.error(chalk.red("Error:"), error instanceof Error ? error.message : "Unknown error");
193
- if (process.env.DEBUG) {
194
- console.error(error);
195
- }
196
- process.exit(1);
183
+ failCommand(error);
197
184
  }
198
185
  return;
199
186
  } else if (subcommand === "resume") {
200
187
  try {
201
- await (await Promise.resolve().then(function () { return require('./handleResumeCommand-BwnUZmbo.cjs'); })).handleResumeCommand(args.slice(1));
188
+ await (await Promise.resolve().then(function () { return require('./handleResumeCommand-BvWVuRwH.cjs'); })).handleResumeCommand(args.slice(1));
202
189
  } catch (error) {
203
- console.error(chalk.red("Error:"), error instanceof Error ? error.message : "Unknown error");
204
- if (process.env.DEBUG) {
205
- console.error(error);
206
- }
207
- process.exit(1);
190
+ failCommand(error);
208
191
  }
209
192
  return;
210
193
  } else if (subcommand === "codex") {
211
194
  try {
212
- await (await Promise.resolve().then(function () { return require('./codexCommand-DzxIWXIT.cjs'); })).handleCodexCommand(args.slice(1));
195
+ await (await Promise.resolve().then(function () { return require('./codexCommand-BNoD1t1C.cjs'); })).handleCodexCommand(args.slice(1));
213
196
  } catch (error) {
214
- console.error(chalk.red("Error:"), error instanceof Error ? error.message : "Unknown error");
215
- if (process.env.DEBUG) {
216
- console.error(error);
217
- }
218
- process.exit(1);
197
+ failCommand(error);
219
198
  }
220
199
  return;
221
200
  } else if (subcommand === "gemini") {
@@ -292,9 +271,9 @@ Conversation history is preserved on the server, but in-flight tool calls are in
292
271
  if (geminiSubcommand === "project" && args[2] === "set" && args[3]) {
293
272
  const projectId = args[3];
294
273
  try {
295
- const { saveGoogleCloudProjectToConfig } = await Promise.resolve().then(function () { return require('./config-BFB5uJ4t.cjs'); });
296
- const { readCredentialsForConfiguredRelay: readCredentialsForConfiguredRelay2 } = await Promise.resolve().then(function () { return require('./persistence-BfX72dne.cjs'); }).then(function (n) { return n.persistence; });
297
- const { ApiClient } = await Promise.resolve().then(function () { return require('./api-JANhFdZV.cjs'); }).then(function (n) { return n.api; });
274
+ const { saveGoogleCloudProjectToConfig } = await Promise.resolve().then(function () { return require('./config-CtwEUxUP.cjs'); });
275
+ const { readCredentialsForConfiguredRelay: readCredentialsForConfiguredRelay2 } = await Promise.resolve().then(function () { return require('./persistence-9BMYspxG.cjs'); }).then(function (n) { return n.persistence; });
276
+ const { ApiClient } = await Promise.resolve().then(function () { return require('./api-DM7b1OKj.cjs'); }).then(function (n) { return n.api; });
298
277
  let userEmail = void 0;
299
278
  try {
300
279
  const credentials = await readCredentialsForConfiguredRelay2();
@@ -325,7 +304,7 @@ Conversation history is preserved on the server, but in-flight tool calls are in
325
304
  }
326
305
  if (geminiSubcommand === "project" && args[2] === "get") {
327
306
  try {
328
- const { readGeminiLocalConfig } = await Promise.resolve().then(function () { return require('./config-BFB5uJ4t.cjs'); });
307
+ const { readGeminiLocalConfig } = await Promise.resolve().then(function () { return require('./config-CtwEUxUP.cjs'); });
329
308
  const config = readGeminiLocalConfig();
330
309
  if (config.googleCloudProject) {
331
310
  console.log(`Current Google Cloud Project: ${config.googleCloudProject}`);
@@ -365,7 +344,7 @@ Conversation history is preserved on the server, but in-flight tool calls are in
365
344
  process.exit(0);
366
345
  }
367
346
  try {
368
- const { runGemini } = await Promise.resolve().then(function () { return require('./runGemini-D7Lg9yCr.cjs'); });
347
+ const { runGemini } = await Promise.resolve().then(function () { return require('./runGemini-DtKFXqf-.cjs'); });
369
348
  let startedBy = void 0;
370
349
  for (let i = 1; i < args.length; i++) {
371
350
  if (args[i] === "--started-by") {
@@ -378,17 +357,13 @@ Conversation history is preserved on the server, but in-flight tool calls are in
378
357
  await ensureDaemonRunning.ensureDaemonRunning();
379
358
  await runGemini({ credentials, startedBy });
380
359
  } catch (error) {
381
- console.error(chalk.red("Error:"), error instanceof Error ? error.message : "Unknown error");
382
- if (process.env.DEBUG) {
383
- console.error(error);
384
- }
385
- process.exit(1);
360
+ failCommand(error);
386
361
  }
387
362
  return;
388
363
  } else if (subcommand === "pi") {
389
364
  if (args[1] === "--terminal") {
390
365
  try {
391
- const { runPiTerminal } = await Promise.resolve().then(function () { return require('./piTerminal-hI4WFdWm.cjs'); });
366
+ const { runPiTerminal } = await Promise.resolve().then(function () { return require('./piTerminal-0FBtXTHK.cjs'); });
392
367
  process.exitCode = await runPiTerminal(args.slice(2));
393
368
  } catch (error) {
394
369
  console.error(chalk.red("Error:"), error instanceof Error ? error.message : "Unknown error");
@@ -413,7 +388,7 @@ Conversation history is preserved on the server, but in-flight tool calls are in
413
388
  process.exit(1);
414
389
  }
415
390
  }
416
- const { runAcp, resolveAcpAgentConfig } = await Promise.resolve().then(function () { return require('./index-piJPsTsm.cjs'); });
391
+ const { runAcp, resolveAcpAgentConfig } = await Promise.resolve().then(function () { return require('./index-B2p2Mut7.cjs'); });
417
392
  const resolved = resolveAcpAgentConfig(["pi", ...parsed.passthrough]);
418
393
  const { credentials } = await auth.authAndSetupMachineIfNeeded();
419
394
  await ensureDaemonRunning.ensureDaemonRunning();
@@ -426,10 +401,15 @@ Conversation history is preserved on the server, but in-flight tool calls are in
426
401
  agentName: resolved.agentName,
427
402
  command: resolved.command,
428
403
  args: resolved.args,
429
- onBackendError: printHint
404
+ onBackendError: printHint,
405
+ resumeAgentSessionId: parsed.resume
430
406
  });
431
- if (hintPrinted) process.exit(1);
407
+ if (hintPrinted) {
408
+ recordExitReason(1, "pi adapter prerequisites are missing");
409
+ process.exit(1);
410
+ }
432
411
  } catch (error) {
412
+ recordExitReason(1, errorReason(error));
433
413
  console.error(chalk.red("Error:"), error instanceof Error ? error.message : "Unknown error");
434
414
  printHint(error instanceof Error ? error.message : void 0);
435
415
  if (process.env.DEBUG) {
@@ -440,7 +420,7 @@ Conversation history is preserved on the server, but in-flight tool calls are in
440
420
  return;
441
421
  } else if (subcommand === "acp") {
442
422
  try {
443
- const { runAcp, resolveAcpAgentConfig } = await Promise.resolve().then(function () { return require('./index-piJPsTsm.cjs'); });
423
+ const { runAcp, resolveAcpAgentConfig } = await Promise.resolve().then(function () { return require('./index-B2p2Mut7.cjs'); });
444
424
  let startedBy = void 0;
445
425
  let verbose = false;
446
426
  const acpArgs = [];
@@ -471,16 +451,12 @@ Conversation history is preserved on the server, but in-flight tool calls are in
471
451
  args: resolved.args
472
452
  });
473
453
  } catch (error) {
474
- console.error(chalk.red("Error:"), error instanceof Error ? error.message : "Unknown error");
475
- if (process.env.DEBUG) {
476
- console.error(error);
477
- }
478
- process.exit(1);
454
+ failCommand(error);
479
455
  }
480
456
  return;
481
457
  } else if (subcommand === "openclaw") {
482
458
  try {
483
- const { runOpenClaw } = await Promise.resolve().then(function () { return require('./runOpenClaw-DCcQ0L2N.cjs'); });
459
+ const { runOpenClaw } = await Promise.resolve().then(function () { return require('./runOpenClaw-Cq29mryb.cjs'); });
484
460
  let startedBy = void 0;
485
461
  let verbose = false;
486
462
  let gatewayUrl;
@@ -510,28 +486,20 @@ Conversation history is preserved on the server, but in-flight tool calls are in
510
486
  gatewayPassword
511
487
  });
512
488
  } catch (error) {
513
- console.error(chalk.red("Error:"), error instanceof Error ? error.message : "Unknown error");
514
- if (process.env.DEBUG) {
515
- console.error(error);
516
- }
517
- process.exit(1);
489
+ failCommand(error);
518
490
  }
519
491
  return;
520
492
  } else if (subcommand === "logout") {
521
493
  console.log(chalk.yellow('Note: "very-happy logout" is deprecated. Use "very-happy auth logout" instead.\n'));
522
494
  try {
523
- await (await Promise.resolve().then(function () { return require('./auth-omWDtgR8.cjs'); })).handleAuthCommand(["logout"]);
495
+ await (await Promise.resolve().then(function () { return require('./auth-Dawj7pP5.cjs'); })).handleAuthCommand(["logout"]);
524
496
  } catch (error) {
525
- console.error(chalk.red("Error:"), error instanceof Error ? error.message : "Unknown error");
526
- if (process.env.DEBUG) {
527
- console.error(error);
528
- }
529
- process.exit(1);
497
+ failCommand(error);
530
498
  }
531
499
  return;
532
500
  } else if (subcommand === "todo") {
533
501
  try {
534
- const { handleTodoCommand } = await Promise.resolve().then(function () { return require('./todo-73g3NCIO.cjs'); });
502
+ const { handleTodoCommand } = await Promise.resolve().then(function () { return require('./todo-pOMcEECE.cjs'); });
535
503
  await handleTodoCommand(args.slice(1));
536
504
  } catch (error) {
537
505
  console.error(JSON.stringify({ error: error instanceof Error ? error.message : "Todo command failed" }));
@@ -540,7 +508,7 @@ Conversation history is preserved on the server, but in-flight tool calls are in
540
508
  return;
541
509
  } else if (subcommand === "teams") {
542
510
  try {
543
- const { handleTeamsCommand } = await Promise.resolve().then(function () { return require('./teams-DpxLcUU_.cjs'); });
511
+ const { handleTeamsCommand } = await Promise.resolve().then(function () { return require('./teams-BLeRpDxv.cjs'); });
544
512
  await handleTeamsCommand(args.slice(1));
545
513
  } catch (error) {
546
514
  console.error(error instanceof Error ? error.message : "Teams command failed");
@@ -549,7 +517,7 @@ Conversation history is preserved on the server, but in-flight tool calls are in
549
517
  return;
550
518
  } else if (subcommand === "auto") {
551
519
  try {
552
- const { handleAutoCommand } = await Promise.resolve().then(function () { return require('./auto-CI16FZmX.cjs'); });
520
+ const { handleAutoCommand } = await Promise.resolve().then(function () { return require('./auto-CbYOfoPS.cjs'); });
553
521
  await handleAutoCommand(args.slice(1));
554
522
  } catch (error) {
555
523
  console.error(chalk.red("Error:"), error instanceof Error ? error.message : "Automation command failed");
@@ -561,7 +529,7 @@ Conversation history is preserved on the server, but in-flight tool calls are in
561
529
  return;
562
530
  } else if (subcommand === "mcp" && (args.length === 1 || args.length === 2 && args[1] === "--terminal-tools")) {
563
531
  try {
564
- const { handleMcpCommand } = await Promise.resolve().then(function () { return require('./mcp-pNc1EbQf.cjs'); });
532
+ const { handleMcpCommand } = await Promise.resolve().then(function () { return require('./mcp-BFvAEIRz.cjs'); });
565
533
  await handleMcpCommand(args[1] === "--terminal-tools");
566
534
  } catch (error) {
567
535
  process.stderr.write(`[very-happy mcp] Fatal: ${error instanceof Error ? error.message : String(error)}
@@ -569,15 +537,21 @@ Conversation history is preserved on the server, but in-flight tool calls are in
569
537
  process.exit(1);
570
538
  }
571
539
  return;
540
+ } else if (subcommand === "panels" || subcommand === "attention") {
541
+ try {
542
+ const { handlePanelsCommand, handleAttentionCommand } = await Promise.resolve().then(function () { return require('./panels-Njf6GelF.cjs'); });
543
+ if (subcommand === "panels") await handlePanelsCommand(args.slice(1));
544
+ else await handleAttentionCommand(args.slice(1));
545
+ } catch (error) {
546
+ console.error(chalk.red("Error:"), error instanceof Error ? error.message : String(error));
547
+ process.exitCode = 1;
548
+ }
549
+ return;
572
550
  } else if (subcommand === "notify") {
573
551
  try {
574
552
  await handleNotifyCommand(args.slice(1));
575
553
  } catch (error) {
576
- console.error(chalk.red("Error:"), error instanceof Error ? error.message : "Unknown error");
577
- if (process.env.DEBUG) {
578
- console.error(error);
579
- }
580
- process.exit(1);
554
+ failCommand(error);
581
555
  }
582
556
  return;
583
557
  } else if (subcommand === "daemon") {
@@ -653,13 +627,13 @@ Conversation history is preserved on the server, but in-flight tool calls are in
653
627
  }
654
628
  process.exit(0);
655
629
  } else if (daemonSubcommand === "start-sync") {
656
- await (await Promise.resolve().then(function () { return require('./run-CKe_WeLW.cjs'); })).startDaemon();
630
+ await (await Promise.resolve().then(function () { return require('./run-CAOCYYfT.cjs'); })).startDaemon();
657
631
  process.exit(0);
658
632
  } else if (daemonSubcommand === "stop") {
659
633
  await controlClient.stopDaemon();
660
634
  process.exit(0);
661
635
  } else if (daemonSubcommand === "status") {
662
- await (await Promise.resolve().then(function () { return require('./doctor-BshRnjLi.cjs'); }).then(function (n) { return n.doctor; })).runDoctorDaemon();
636
+ await (await Promise.resolve().then(function () { return require('./doctor-BrgSlfXn.cjs'); }).then(function (n) { return n.doctor; })).runDoctorDaemon();
663
637
  process.exit(0);
664
638
  } else if (daemonSubcommand === "logs") {
665
639
  const latest = await logger.getLatestDaemonLog();
@@ -671,14 +645,14 @@ Conversation history is preserved on the server, but in-flight tool calls are in
671
645
  process.exit(0);
672
646
  } else if (daemonSubcommand === "install") {
673
647
  try {
674
- await (await Promise.resolve().then(function () { return require('./install-TO4taKW7.cjs'); })).install();
648
+ await (await Promise.resolve().then(function () { return require('./install-C0ANcEAW.cjs'); })).install();
675
649
  } catch (error) {
676
650
  console.error(chalk.red("Error:"), error instanceof Error ? error.message : "Unknown error");
677
651
  process.exit(1);
678
652
  }
679
653
  } else if (daemonSubcommand === "uninstall") {
680
654
  try {
681
- await (await Promise.resolve().then(function () { return require('./uninstall-DWNYvewQ.cjs'); })).uninstall();
655
+ await (await Promise.resolve().then(function () { return require('./uninstall-CbayEVoV.cjs'); })).uninstall();
682
656
  } catch (error) {
683
657
  console.error(chalk.red("Error:"), error instanceof Error ? error.message : "Unknown error");
684
658
  process.exit(1);
@@ -809,6 +783,8 @@ ${chalk.bold("Usage:")}
809
783
  sessions or scripts with tracked runs (auto --help)
810
784
  very-happy sandbox Configure and manage OS-level sandboxing
811
785
  very-happy notify Send push notification
786
+ very-happy panels Web panels declared in settings.json (panels list|check)
787
+ very-happy attention Ask a person to step in (attention "<reason>" [--panel id])
812
788
  very-happy mcp Stdio MCP server exposing copy_to_clipboard for a
813
789
  plain claude CLI (register once with:
814
790
  claude mcp add --scope user very-happy-clipboard -- very-happy mcp)
@@ -847,7 +823,7 @@ ${chalk.gray("\u2500".repeat(60))}
847
823
  ${chalk.bold.cyan("Claude Code Options (from `claude --help`):")}
848
824
  `);
849
825
  try {
850
- const { claudeCliPath } = await Promise.resolve().then(function () { return require('./claudeCliPath-U4HHmV4r.cjs'); });
826
+ const { claudeCliPath } = await Promise.resolve().then(function () { return require('./claudeCliPath-GaP3UUz1.cjs'); });
851
827
  const claudeHelp = node_child_process.execFileSync(claudeCliPath, ["--help"], { encoding: "utf8", windowsHide: true });
852
828
  console.log(claudeHelp);
853
829
  } catch (e) {
@@ -865,14 +841,10 @@ ${chalk.bold.cyan("Claude Code Options (from `claude --help`):")}
865
841
  await ensureDaemonRunning.ensureDaemonRunning();
866
842
  }
867
843
  try {
868
- const { runClaude } = await Promise.resolve().then(function () { return require('./runClaude-MHI5IKM-.cjs'); });
844
+ const { runClaude } = await Promise.resolve().then(function () { return require('./runClaude-CRRKt-tm.cjs'); });
869
845
  await runClaude(credentials, options);
870
846
  } catch (error) {
871
- console.error(chalk.red("Error:"), error instanceof Error ? error.message : "Unknown error");
872
- if (process.env.DEBUG) {
873
- console.error(error);
874
- }
875
- process.exit(1);
847
+ failCommand(error);
876
848
  }
877
849
  }
878
850
  }
@@ -924,7 +896,7 @@ ${chalk.bold("Examples:")}
924
896
  }
925
897
  console.log(chalk.blue("\u{1F4F1} Sending push notification..."));
926
898
  try {
927
- const { ApiClient } = await Promise.resolve().then(function () { return require('./api-JANhFdZV.cjs'); }).then(function (n) { return n.api; });
899
+ const { ApiClient } = await Promise.resolve().then(function () { return require('./api-DM7b1OKj.cjs'); }).then(function (n) { return n.api; });
928
900
  const api = await ApiClient.create(credentials);
929
901
  const notificationTitle = title || "Happy";
930
902
  api.push().sendToAllDevices(
@@ -945,5 +917,13 @@ ${chalk.bold("Examples:")}
945
917
  throw error;
946
918
  }
947
919
  }
920
+ function failCommand(error) {
921
+ recordExitReason(1, errorReason(error));
922
+ console.error(chalk.red("Error:"), error instanceof Error ? error.message : "Unknown error");
923
+ if (process.env.DEBUG) {
924
+ console.error(error);
925
+ }
926
+ process.exit(1);
927
+ }
948
928
 
949
929
  exports.main = main;