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,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--vAVtXB_.mjs';
3
- import { d as readDaemonState, r as readSettings, c as readCredentialsForConfiguredRelay } from './persistence-DTk4sNpd.mjs';
4
- import { a as authAndSetupMachineIfNeeded } from './auth-BRjd2esb.mjs';
5
- import { p as packageJson } from './package-B7B03ejW.mjs';
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';
6
6
  import { z } from 'zod';
7
- import { l as listDaemonSessions, s as stopDaemonSession, a as checkIfDaemonRunningAndCleanupStaleState, b as stopDaemon } from './controlClient-BYKyGyxj.mjs';
7
+ import { l as listDaemonSessions, f as stopDaemonSession, a as checkIfDaemonRunningAndCleanupStaleState, s as stopDaemon } from './controlClient-DoeYovwP.mjs';
8
8
  import { S as SYSTEMD_RESTART_HINT } from './daemonSupervisor-C6urv3_8.mjs';
9
- import { s as spawnHappyCLI } from './spawnHappyCLI-C2stUioM.mjs';
9
+ import { s as spawnHappyCLI } from './spawnHappyCLI-BjFZc_7V.mjs';
10
10
  import { execFileSync } from 'node:child_process';
11
- import { e as ensureDaemonRunning, a as extractNoSandboxFlag } from './ensureDaemonRunning-CSmb_mqt.mjs';
11
+ import { e as ensureDaemonRunning, a as extractNoSandboxFlag } from './ensureDaemonRunning-b1e8LCSM.mjs';
12
12
  import { p as planClaudeStartup } from './startupPlan-DFMyNgAs.mjs';
13
- import { i as isStandaloneVersionRequest } from './index-BYgfern_.mjs';
14
- import { c as configuration } from './configuration-DVrb61aY.mjs';
13
+ import { i as isStandaloneVersionRequest } from './index-wCbtF4BK.mjs';
14
+ import { c as configuration } from './configuration-PxzEJumr.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-AT8QJY7x.mjs';
16
+ import { p as parsePiRunnerArgs, m as missingPiPrerequisites, a as piSetupMessage, b as piAdapterMissingHint } from './piRunnerArgs-H2pgpA5z.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-BuGWTVP6.mjs';
27
- import './browser-Dj_DYQEh.mjs';
26
+ import './time-D3ETL7Jb.mjs';
27
+ import './browser-DUNetFT4.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 './sessionModeFile-ByLbXTbg.mjs';
35
+ import './acpSessionResume-B9l54P-X.mjs';
36
36
  import 'child_process';
37
37
  import 'os';
38
38
  import 'fs';
@@ -42,6 +42,24 @@ const CLAUDE_OPTIONS_HELP = `Very Happy forwards most Claude options.
42
42
  Use Claude flags with very-happy as you would with claude. The --settings flag
43
43
  is reserved for Very Happy's session hooks and is ignored with a warning.`;
44
44
 
45
+ let recorded = false;
46
+ function recordExitReason(code, reason) {
47
+ recorded = true;
48
+ logger.debug(`[EXIT] Exiting with code ${code}: ${oneLine(reason)}`);
49
+ }
50
+ function installExitReasonFallback() {
51
+ process.on("exit", (code) => {
52
+ if (code !== 0 && !recorded) logger.debug(`[EXIT] Exiting with code ${code}: no reason was recorded`);
53
+ });
54
+ }
55
+ function errorReason(error) {
56
+ return error instanceof Error ? error.message : String(error ?? "Unknown error");
57
+ }
58
+ function oneLine(value) {
59
+ const line = value.replace(/\s+/g, " ").trim();
60
+ return line.length > 500 ? `${line.slice(0, 499)}\u2026` : line;
61
+ }
62
+
45
63
  async function main() {
46
64
  const args = process.argv.slice(2);
47
65
  if (isStandaloneVersionRequest(args)) {
@@ -51,6 +69,7 @@ async function main() {
51
69
  if (!args.includes("--version")) {
52
70
  logger.debug("Starting happy CLI with args: ", process.argv);
53
71
  }
72
+ installExitReasonFallback();
54
73
  const subcommand = args[0];
55
74
  if (!args.includes("--version")) ;
56
75
  if (subcommand === "doctor") {
@@ -74,50 +93,34 @@ Conversation history is preserved on the server, but in-flight tool calls are in
74
93
  }
75
94
  process.exit(0);
76
95
  }
77
- await (await import('./doctor-0BiGwJXk.mjs').then(function (n) { return n.d; })).runDoctorCommand();
96
+ await (await import('./doctor-IctjVh9T.mjs').then(function (n) { return n.d; })).runDoctorCommand();
78
97
  return;
79
98
  } else if (subcommand === "auth") {
80
99
  try {
81
- await (await import('./auth-DNct7VUi.mjs')).handleAuthCommand(args.slice(1));
100
+ await (await import('./auth-rggxMpEE.mjs')).handleAuthCommand(args.slice(1));
82
101
  } catch (error) {
83
- console.error(chalk.red("Error:"), error instanceof Error ? error.message : "Unknown error");
84
- if (process.env.DEBUG) {
85
- console.error(error);
86
- }
87
- process.exit(1);
102
+ failCommand(error);
88
103
  }
89
104
  return;
90
105
  } else if (subcommand === "connect") {
91
106
  try {
92
- await (await import('./connect-C7FPY0PI.mjs')).handleConnectCommand(args.slice(1));
107
+ await (await import('./connect-BQrg3TB6.mjs')).handleConnectCommand(args.slice(1));
93
108
  } catch (error) {
94
- console.error(chalk.red("Error:"), error instanceof Error ? error.message : "Unknown error");
95
- if (process.env.DEBUG) {
96
- console.error(error);
97
- }
98
- process.exit(1);
109
+ failCommand(error);
99
110
  }
100
111
  return;
101
112
  } else if (subcommand === "sandbox") {
102
113
  try {
103
- await (await import('./sandbox-BSyXFVFp.mjs')).handleSandboxCommand(args.slice(1));
114
+ await (await import('./sandbox-CbCutma4.mjs')).handleSandboxCommand(args.slice(1));
104
115
  } catch (error) {
105
- console.error(chalk.red("Error:"), error instanceof Error ? error.message : "Unknown error");
106
- if (process.env.DEBUG) {
107
- console.error(error);
108
- }
109
- process.exit(1);
116
+ failCommand(error);
110
117
  }
111
118
  return;
112
119
  } else if (subcommand === "server") {
113
120
  try {
114
- await (await import('./server-DxoTYNlw.mjs')).handleServerCommand(args.slice(1));
121
+ await (await import('./server-BqwXRzFZ.mjs')).handleServerCommand(args.slice(1));
115
122
  } catch (error) {
116
- console.error(chalk.red("Error:"), error instanceof Error ? error.message : "Unknown error");
117
- if (process.env.DEBUG) {
118
- console.error(error);
119
- }
120
- process.exit(1);
123
+ failCommand(error);
121
124
  }
122
125
  return;
123
126
  } else if (subcommand === "bye") {
@@ -143,15 +146,11 @@ Conversation history is preserved on the server, but in-flight tool calls are in
143
146
  await installTerminalHooks({ remove: command.action === "remove" });
144
147
  process.exit(0);
145
148
  } catch (error) {
146
- console.error(chalk.red("Error:"), error instanceof Error ? error.message : "Unknown error");
147
- if (process.env.DEBUG) {
148
- console.error(error);
149
- }
150
- process.exit(1);
149
+ failCommand(error);
151
150
  }
152
151
  } else if (subcommand === "agent-home") {
153
152
  try {
154
- const { parseAgentHomeArgs, runAgentHomeCommand } = await import('./agentHome-C1xi37as.mjs');
153
+ const { parseAgentHomeArgs, runAgentHomeCommand } = await import('./agentHome-CmGy0NWv.mjs');
155
154
  await runAgentHomeCommand(parseAgentHomeArgs(args.slice(1)));
156
155
  process.exit(0);
157
156
  } catch (error) {
@@ -160,60 +159,40 @@ Conversation history is preserved on the server, but in-flight tool calls are in
160
159
  }
161
160
  } else if (subcommand === "spawn") {
162
161
  try {
163
- const { handleSpawnCommand } = await import('./spawn-qNrB2CD_.mjs');
162
+ const { handleSpawnCommand } = await import('./spawn-vn93PhYL.mjs');
164
163
  await handleSpawnCommand(args.slice(1));
165
164
  } catch (error) {
166
- console.error(chalk.red("Error:"), error instanceof Error ? error.message : "Unknown error");
167
- if (process.env.DEBUG) {
168
- console.error(error);
169
- }
170
- process.exit(1);
165
+ failCommand(error);
171
166
  }
172
167
  return;
173
168
  } else if (subcommand === "sessions") {
174
169
  try {
175
- const { handleSessionsCommand } = await import('./sessions-C3sZJkzI.mjs');
170
+ const { handleSessionsCommand } = await import('./sessions-BXyBHo8n.mjs');
176
171
  await handleSessionsCommand(args.slice(1));
177
172
  } catch (error) {
178
- console.error(chalk.red("Error:"), error instanceof Error ? error.message : "Unknown error");
179
- if (process.env.DEBUG) {
180
- console.error(error);
181
- }
182
- process.exit(1);
173
+ failCommand(error);
183
174
  }
184
175
  return;
185
176
  } else if (subcommand === "send") {
186
177
  try {
187
- const { handleSendCommand } = await import('./send-C-k9nsd3.mjs');
178
+ const { handleSendCommand } = await import('./send-YZRMQvMJ.mjs');
188
179
  await handleSendCommand(args.slice(1));
189
180
  } catch (error) {
190
- console.error(chalk.red("Error:"), error instanceof Error ? error.message : "Unknown error");
191
- if (process.env.DEBUG) {
192
- console.error(error);
193
- }
194
- process.exit(1);
181
+ failCommand(error);
195
182
  }
196
183
  return;
197
184
  } else if (subcommand === "resume") {
198
185
  try {
199
- await (await import('./handleResumeCommand-CgjpsdDe.mjs')).handleResumeCommand(args.slice(1));
186
+ await (await import('./handleResumeCommand-DpaZvm2c.mjs')).handleResumeCommand(args.slice(1));
200
187
  } catch (error) {
201
- console.error(chalk.red("Error:"), error instanceof Error ? error.message : "Unknown error");
202
- if (process.env.DEBUG) {
203
- console.error(error);
204
- }
205
- process.exit(1);
188
+ failCommand(error);
206
189
  }
207
190
  return;
208
191
  } else if (subcommand === "codex") {
209
192
  try {
210
- await (await import('./codexCommand-BxjogBzU.mjs')).handleCodexCommand(args.slice(1));
193
+ await (await import('./codexCommand-B_xUH79E.mjs')).handleCodexCommand(args.slice(1));
211
194
  } catch (error) {
212
- console.error(chalk.red("Error:"), error instanceof Error ? error.message : "Unknown error");
213
- if (process.env.DEBUG) {
214
- console.error(error);
215
- }
216
- process.exit(1);
195
+ failCommand(error);
217
196
  }
218
197
  return;
219
198
  } else if (subcommand === "gemini") {
@@ -290,9 +269,9 @@ Conversation history is preserved on the server, but in-flight tool calls are in
290
269
  if (geminiSubcommand === "project" && args[2] === "set" && args[3]) {
291
270
  const projectId = args[3];
292
271
  try {
293
- const { saveGoogleCloudProjectToConfig } = await import('./config-DwfEpFr3.mjs');
294
- const { readCredentialsForConfiguredRelay: readCredentialsForConfiguredRelay2 } = await import('./persistence-DTk4sNpd.mjs').then(function (n) { return n.F; });
295
- const { ApiClient } = await import('./api-Dib0dmqC.mjs').then(function (n) { return n.b; });
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; });
296
275
  let userEmail = void 0;
297
276
  try {
298
277
  const credentials = await readCredentialsForConfiguredRelay2();
@@ -323,7 +302,7 @@ Conversation history is preserved on the server, but in-flight tool calls are in
323
302
  }
324
303
  if (geminiSubcommand === "project" && args[2] === "get") {
325
304
  try {
326
- const { readGeminiLocalConfig } = await import('./config-DwfEpFr3.mjs');
305
+ const { readGeminiLocalConfig } = await import('./config-DSu0Blos.mjs');
327
306
  const config = readGeminiLocalConfig();
328
307
  if (config.googleCloudProject) {
329
308
  console.log(`Current Google Cloud Project: ${config.googleCloudProject}`);
@@ -363,7 +342,7 @@ Conversation history is preserved on the server, but in-flight tool calls are in
363
342
  process.exit(0);
364
343
  }
365
344
  try {
366
- const { runGemini } = await import('./runGemini-kipag2ag.mjs');
345
+ const { runGemini } = await import('./runGemini-D7yKc4wD.mjs');
367
346
  let startedBy = void 0;
368
347
  for (let i = 1; i < args.length; i++) {
369
348
  if (args[i] === "--started-by") {
@@ -376,17 +355,13 @@ Conversation history is preserved on the server, but in-flight tool calls are in
376
355
  await ensureDaemonRunning();
377
356
  await runGemini({ credentials, startedBy });
378
357
  } catch (error) {
379
- console.error(chalk.red("Error:"), error instanceof Error ? error.message : "Unknown error");
380
- if (process.env.DEBUG) {
381
- console.error(error);
382
- }
383
- process.exit(1);
358
+ failCommand(error);
384
359
  }
385
360
  return;
386
361
  } else if (subcommand === "pi") {
387
362
  if (args[1] === "--terminal") {
388
363
  try {
389
- const { runPiTerminal } = await import('./piTerminal-De8nbciM.mjs');
364
+ const { runPiTerminal } = await import('./piTerminal-C4m9YXAV.mjs');
390
365
  process.exitCode = await runPiTerminal(args.slice(2));
391
366
  } catch (error) {
392
367
  console.error(chalk.red("Error:"), error instanceof Error ? error.message : "Unknown error");
@@ -411,7 +386,7 @@ Conversation history is preserved on the server, but in-flight tool calls are in
411
386
  process.exit(1);
412
387
  }
413
388
  }
414
- const { runAcp, resolveAcpAgentConfig } = await import('./index-BehVbAsA.mjs');
389
+ const { runAcp, resolveAcpAgentConfig } = await import('./index-BUNnpGFF.mjs');
415
390
  const resolved = resolveAcpAgentConfig(["pi", ...parsed.passthrough]);
416
391
  const { credentials } = await authAndSetupMachineIfNeeded();
417
392
  await ensureDaemonRunning();
@@ -424,10 +399,15 @@ Conversation history is preserved on the server, but in-flight tool calls are in
424
399
  agentName: resolved.agentName,
425
400
  command: resolved.command,
426
401
  args: resolved.args,
427
- onBackendError: printHint
402
+ onBackendError: printHint,
403
+ resumeAgentSessionId: parsed.resume
428
404
  });
429
- if (hintPrinted) process.exit(1);
405
+ if (hintPrinted) {
406
+ recordExitReason(1, "pi adapter prerequisites are missing");
407
+ process.exit(1);
408
+ }
430
409
  } catch (error) {
410
+ recordExitReason(1, errorReason(error));
431
411
  console.error(chalk.red("Error:"), error instanceof Error ? error.message : "Unknown error");
432
412
  printHint(error instanceof Error ? error.message : void 0);
433
413
  if (process.env.DEBUG) {
@@ -438,7 +418,7 @@ Conversation history is preserved on the server, but in-flight tool calls are in
438
418
  return;
439
419
  } else if (subcommand === "acp") {
440
420
  try {
441
- const { runAcp, resolveAcpAgentConfig } = await import('./index-BehVbAsA.mjs');
421
+ const { runAcp, resolveAcpAgentConfig } = await import('./index-BUNnpGFF.mjs');
442
422
  let startedBy = void 0;
443
423
  let verbose = false;
444
424
  const acpArgs = [];
@@ -469,16 +449,12 @@ Conversation history is preserved on the server, but in-flight tool calls are in
469
449
  args: resolved.args
470
450
  });
471
451
  } catch (error) {
472
- console.error(chalk.red("Error:"), error instanceof Error ? error.message : "Unknown error");
473
- if (process.env.DEBUG) {
474
- console.error(error);
475
- }
476
- process.exit(1);
452
+ failCommand(error);
477
453
  }
478
454
  return;
479
455
  } else if (subcommand === "openclaw") {
480
456
  try {
481
- const { runOpenClaw } = await import('./runOpenClaw-C_lRY3Do.mjs');
457
+ const { runOpenClaw } = await import('./runOpenClaw-C8ilyLP9.mjs');
482
458
  let startedBy = void 0;
483
459
  let verbose = false;
484
460
  let gatewayUrl;
@@ -508,28 +484,20 @@ Conversation history is preserved on the server, but in-flight tool calls are in
508
484
  gatewayPassword
509
485
  });
510
486
  } catch (error) {
511
- console.error(chalk.red("Error:"), error instanceof Error ? error.message : "Unknown error");
512
- if (process.env.DEBUG) {
513
- console.error(error);
514
- }
515
- process.exit(1);
487
+ failCommand(error);
516
488
  }
517
489
  return;
518
490
  } else if (subcommand === "logout") {
519
491
  console.log(chalk.yellow('Note: "very-happy logout" is deprecated. Use "very-happy auth logout" instead.\n'));
520
492
  try {
521
- await (await import('./auth-DNct7VUi.mjs')).handleAuthCommand(["logout"]);
493
+ await (await import('./auth-rggxMpEE.mjs')).handleAuthCommand(["logout"]);
522
494
  } catch (error) {
523
- console.error(chalk.red("Error:"), error instanceof Error ? error.message : "Unknown error");
524
- if (process.env.DEBUG) {
525
- console.error(error);
526
- }
527
- process.exit(1);
495
+ failCommand(error);
528
496
  }
529
497
  return;
530
498
  } else if (subcommand === "todo") {
531
499
  try {
532
- const { handleTodoCommand } = await import('./todo-DrZc76H5.mjs');
500
+ const { handleTodoCommand } = await import('./todo-C9Ga-oEM.mjs');
533
501
  await handleTodoCommand(args.slice(1));
534
502
  } catch (error) {
535
503
  console.error(JSON.stringify({ error: error instanceof Error ? error.message : "Todo command failed" }));
@@ -538,7 +506,7 @@ Conversation history is preserved on the server, but in-flight tool calls are in
538
506
  return;
539
507
  } else if (subcommand === "teams") {
540
508
  try {
541
- const { handleTeamsCommand } = await import('./teams-CwF4Z2fA.mjs');
509
+ const { handleTeamsCommand } = await import('./teams-DLY3B5yi.mjs');
542
510
  await handleTeamsCommand(args.slice(1));
543
511
  } catch (error) {
544
512
  console.error(error instanceof Error ? error.message : "Teams command failed");
@@ -547,7 +515,7 @@ Conversation history is preserved on the server, but in-flight tool calls are in
547
515
  return;
548
516
  } else if (subcommand === "auto") {
549
517
  try {
550
- const { handleAutoCommand } = await import('./auto-DKGFOJBo.mjs');
518
+ const { handleAutoCommand } = await import('./auto-CXXLXGeL.mjs');
551
519
  await handleAutoCommand(args.slice(1));
552
520
  } catch (error) {
553
521
  console.error(chalk.red("Error:"), error instanceof Error ? error.message : "Automation command failed");
@@ -559,7 +527,7 @@ Conversation history is preserved on the server, but in-flight tool calls are in
559
527
  return;
560
528
  } else if (subcommand === "mcp" && (args.length === 1 || args.length === 2 && args[1] === "--terminal-tools")) {
561
529
  try {
562
- const { handleMcpCommand } = await import('./mcp-DKT_lrvQ.mjs');
530
+ const { handleMcpCommand } = await import('./mcp-CbTtbs0f.mjs');
563
531
  await handleMcpCommand(args[1] === "--terminal-tools");
564
532
  } catch (error) {
565
533
  process.stderr.write(`[very-happy mcp] Fatal: ${error instanceof Error ? error.message : String(error)}
@@ -567,15 +535,21 @@ Conversation history is preserved on the server, but in-flight tool calls are in
567
535
  process.exit(1);
568
536
  }
569
537
  return;
538
+ } else if (subcommand === "panels" || subcommand === "attention") {
539
+ try {
540
+ const { handlePanelsCommand, handleAttentionCommand } = await import('./panels-C7IVqpJk.mjs');
541
+ if (subcommand === "panels") await handlePanelsCommand(args.slice(1));
542
+ else await handleAttentionCommand(args.slice(1));
543
+ } catch (error) {
544
+ console.error(chalk.red("Error:"), error instanceof Error ? error.message : String(error));
545
+ process.exitCode = 1;
546
+ }
547
+ return;
570
548
  } else if (subcommand === "notify") {
571
549
  try {
572
550
  await handleNotifyCommand(args.slice(1));
573
551
  } catch (error) {
574
- console.error(chalk.red("Error:"), error instanceof Error ? error.message : "Unknown error");
575
- if (process.env.DEBUG) {
576
- console.error(error);
577
- }
578
- process.exit(1);
552
+ failCommand(error);
579
553
  }
580
554
  return;
581
555
  } else if (subcommand === "daemon") {
@@ -651,13 +625,13 @@ Conversation history is preserved on the server, but in-flight tool calls are in
651
625
  }
652
626
  process.exit(0);
653
627
  } else if (daemonSubcommand === "start-sync") {
654
- await (await import('./run-BQ_FGaOL.mjs')).startDaemon();
628
+ await (await import('./run-Dajw2E5j.mjs')).startDaemon();
655
629
  process.exit(0);
656
630
  } else if (daemonSubcommand === "stop") {
657
631
  await stopDaemon();
658
632
  process.exit(0);
659
633
  } else if (daemonSubcommand === "status") {
660
- await (await import('./doctor-0BiGwJXk.mjs').then(function (n) { return n.d; })).runDoctorDaemon();
634
+ await (await import('./doctor-IctjVh9T.mjs').then(function (n) { return n.d; })).runDoctorDaemon();
661
635
  process.exit(0);
662
636
  } else if (daemonSubcommand === "logs") {
663
637
  const latest = await getLatestDaemonLog();
@@ -669,14 +643,14 @@ Conversation history is preserved on the server, but in-flight tool calls are in
669
643
  process.exit(0);
670
644
  } else if (daemonSubcommand === "install") {
671
645
  try {
672
- await (await import('./install-fYWHrPcC.mjs')).install();
646
+ await (await import('./install-CdzSV7qO.mjs')).install();
673
647
  } catch (error) {
674
648
  console.error(chalk.red("Error:"), error instanceof Error ? error.message : "Unknown error");
675
649
  process.exit(1);
676
650
  }
677
651
  } else if (daemonSubcommand === "uninstall") {
678
652
  try {
679
- await (await import('./uninstall-DOb2mTwV.mjs')).uninstall();
653
+ await (await import('./uninstall-CvZHVY9C.mjs')).uninstall();
680
654
  } catch (error) {
681
655
  console.error(chalk.red("Error:"), error instanceof Error ? error.message : "Unknown error");
682
656
  process.exit(1);
@@ -807,6 +781,8 @@ ${chalk.bold("Usage:")}
807
781
  sessions or scripts with tracked runs (auto --help)
808
782
  very-happy sandbox Configure and manage OS-level sandboxing
809
783
  very-happy notify Send push notification
784
+ very-happy panels Web panels declared in settings.json (panels list|check)
785
+ very-happy attention Ask a person to step in (attention "<reason>" [--panel id])
810
786
  very-happy mcp Stdio MCP server exposing copy_to_clipboard for a
811
787
  plain claude CLI (register once with:
812
788
  claude mcp add --scope user very-happy-clipboard -- very-happy mcp)
@@ -863,14 +839,10 @@ ${chalk.bold.cyan("Claude Code Options (from `claude --help`):")}
863
839
  await ensureDaemonRunning();
864
840
  }
865
841
  try {
866
- const { runClaude } = await import('./runClaude-zrrNcQC_.mjs');
842
+ const { runClaude } = await import('./runClaude-C6oxWYbp.mjs');
867
843
  await runClaude(credentials, options);
868
844
  } catch (error) {
869
- console.error(chalk.red("Error:"), error instanceof Error ? error.message : "Unknown error");
870
- if (process.env.DEBUG) {
871
- console.error(error);
872
- }
873
- process.exit(1);
845
+ failCommand(error);
874
846
  }
875
847
  }
876
848
  }
@@ -922,7 +894,7 @@ ${chalk.bold("Examples:")}
922
894
  }
923
895
  console.log(chalk.blue("\u{1F4F1} Sending push notification..."));
924
896
  try {
925
- const { ApiClient } = await import('./api-Dib0dmqC.mjs').then(function (n) { return n.b; });
897
+ const { ApiClient } = await import('./api-Hov8p7CA.mjs').then(function (n) { return n.b; });
926
898
  const api = await ApiClient.create(credentials);
927
899
  const notificationTitle = title || "Happy";
928
900
  api.push().sendToAllDevices(
@@ -943,5 +915,13 @@ ${chalk.bold("Examples:")}
943
915
  throw error;
944
916
  }
945
917
  }
918
+ function failCommand(error) {
919
+ recordExitReason(1, errorReason(error));
920
+ console.error(chalk.red("Error:"), error instanceof Error ? error.message : "Unknown error");
921
+ if (process.env.DEBUG) {
922
+ console.error(error);
923
+ }
924
+ process.exit(1);
925
+ }
946
926
 
947
927
  export { main };
@@ -1,19 +1,19 @@
1
1
  'use strict';
2
2
 
3
- var tools = require('./tools-CxJp4T1T.cjs');
3
+ var tools = require('./tools-BL7Byl_x.cjs');
4
4
  var mcp_js = require('@modelcontextprotocol/sdk/server/mcp.js');
5
5
  var stdio_js = require('@modelcontextprotocol/sdk/server/stdio.js');
6
6
  var z = require('zod');
7
- var controlClient = require('./controlClient-BTaZlbC6.cjs');
7
+ var controlClient = require('./controlClient-Bqv5v5OM.cjs');
8
8
  var limits = require('./limits-C-a7gr04.cjs');
9
- var downloadTarget = require('./downloadTarget-BN5vZt3K.cjs');
10
- var logger = require('./logger-DXTWlPzP.cjs');
9
+ var downloadTarget = require('./downloadTarget-CEb9che-.cjs');
10
+ var logger = require('./logger-CphW5nUE.cjs');
11
11
  var previewPath = require('./previewPath-B0rBdhy1.cjs');
12
12
  var agentGuidance = require('./agentGuidance-BtBx2xxE.cjs');
13
13
  require('node:fs/promises');
14
14
  require('node:os');
15
- require('./persistence-BfX72dne.cjs');
16
- require('./configuration-4TGMrjul.cjs');
15
+ require('./persistence-9BMYspxG.cjs');
16
+ require('./configuration-CYO-kPOS.cjs');
17
17
  require('node:crypto');
18
18
  require('axios');
19
19
  require('tweetnacl');
@@ -23,25 +23,25 @@ require('./terminals-B_bfC9c2.cjs');
23
23
  require('node:fs');
24
24
  require('node:path');
25
25
  var terminalTitleSuggest = require('./terminalTitleSuggest-DhvRFX3H.cjs');
26
- var titleGenerator = require('./titleGenerator-D26gvNaS.cjs');
26
+ var titleGenerator = require('./titleGenerator-Cgp5ihFb.cjs');
27
27
  var terminalToolContext = require('./terminalToolContext-DoV9Gs7K.cjs');
28
- require('./client-Dnza1hgN.cjs');
29
- require('./context-JoKu0V54.cjs');
30
- require('./sessionOps-BAnr7n8t.cjs');
28
+ require('./client-D_loZ9IK.cjs');
29
+ require('./context-6TP-iz_c.cjs');
30
+ require('./sessionOps-BrGiU9-s.cjs');
31
31
  require('./authRelay-Dy1qU9td.cjs');
32
- require('./time-A6zR3Iy6.cjs');
32
+ require('./time-Cjv0zxQO.cjs');
33
33
  require('./backgroundTaskActivity-CBvUdj39.cjs');
34
- require('./remoteSessionClient-BRTIOX5b.cjs');
34
+ require('./remoteSessionClient-D843fkzL.cjs');
35
35
  require('./ids-B6ZC0HGt.cjs');
36
- require('./bootstrap-DCQ87Aan.cjs');
36
+ require('./bootstrap-DoA7okld.cjs');
37
37
  require('chalk');
38
38
  require('node:util');
39
39
  require('./trimIdent-4gvk9Wk6.cjs');
40
- require('./package-DY4zTbKS.cjs');
40
+ require('./package-KhLqBDX9.cjs');
41
41
  require('./tmuxSocket-D-Xt6Vn-.cjs');
42
42
  require('node:module');
43
43
  require('./oneShotPrompts-CL0dip9C.cjs');
44
- require('./projectPath-ChLhdOyt.cjs');
44
+ require('./projectPath-C3ioB4Bu.cjs');
45
45
  require('path');
46
46
  require('url');
47
47
 
@@ -1,17 +1,17 @@
1
- import { r as registerTeamsTools } from './tools-BtsrQnNS.mjs';
1
+ import { r as registerTeamsTools } from './tools-Cho7iIWf.mjs';
2
2
  import { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js';
3
3
  import { StdioServerTransport } from '@modelcontextprotocol/sdk/server/stdio.js';
4
4
  import { z } from 'zod';
5
- import { p as pushClipboardViaDaemon, d as pushFilePreviewViaDaemon, e as setTerminalTitleViaDaemon } from './controlClient-BYKyGyxj.mjs';
5
+ import { p as pushClipboardViaDaemon, b as pushFilePreviewViaDaemon, d as setTerminalTitleViaDaemon } from './controlClient-DoeYovwP.mjs';
6
6
  import { C as CLIPBOARD_TOOL_NAME, a as CLIPBOARD_TOOL_TITLE, b as CLIPBOARD_TOOL_DESCRIPTION, c as CLIPBOARD_MAX_BYTES } from './limits-DIo7rEBR.mjs';
7
- import { c as checkDownloadTarget, r as registerAssistantSessionTools } from './downloadTarget-DJPwAZlu.mjs';
8
- import { l as logger } from './logger--vAVtXB_.mjs';
7
+ import { c as checkDownloadTarget, r as registerAssistantSessionTools } from './downloadTarget-jbOz1egC.mjs';
8
+ import { l as logger } from './logger-BUngm5Xg.mjs';
9
9
  import { c as checkPreviewPath } from './previewPath-CXN4Vag0.mjs';
10
10
  import { P as PREVIEW_TOOL_NAME, a as PREVIEW_TOOL_TITLE, b as PREVIEW_TOOL_DESCRIPTION, c as PREVIEW_DOWNLOAD_PARAM_DESCRIPTION } from './agentGuidance-BDYt2Qy2.mjs';
11
11
  import 'node:fs/promises';
12
12
  import 'node:os';
13
- import './persistence-DTk4sNpd.mjs';
14
- import './configuration-DVrb61aY.mjs';
13
+ import './persistence-BFUOHW5h.mjs';
14
+ import './configuration-PxzEJumr.mjs';
15
15
  import 'node:crypto';
16
16
  import 'axios';
17
17
  import 'tweetnacl';
@@ -21,21 +21,21 @@ import './terminals-Dlg0x3nY.mjs';
21
21
  import 'node:fs';
22
22
  import 'node:path';
23
23
  import { b as TerminalTitleSuggestRequestSchema } from './terminalTitleSuggest-CeKsX_V6.mjs';
24
- import { s as suggestTitleForPrompt } from './titleGenerator-BGEzNWC9.mjs';
24
+ import { s as suggestTitleForPrompt } from './titleGenerator-Uzbd4utr.mjs';
25
25
  import { r as resolveMcpTerminalId } from './terminalToolContext-CFeGeaNm.mjs';
26
- import './client-BTX9hsbr.mjs';
27
- import './context-B3XPVJlj.mjs';
28
- import './sessionOps-BVoXe12O.mjs';
26
+ import './client-D4uPb1uu.mjs';
27
+ import './context-CJGRRGWW.mjs';
28
+ import './sessionOps-C58iDeD5.mjs';
29
29
  import './authRelay-DhQhkBvX.mjs';
30
- import './time-BuGWTVP6.mjs';
31
- import './backgroundTaskActivity-BVwJBl02.mjs';
32
- import './remoteSessionClient-DRb2Jr5s.mjs';
30
+ import './time-D3ETL7Jb.mjs';
31
+ import './backgroundTaskActivity-8PdPxrvy.mjs';
32
+ import './remoteSessionClient-PP-mOKmw.mjs';
33
33
  import './ids-DU6sLx4C.mjs';
34
- import './bootstrap-BUagGC_-.mjs';
34
+ import './bootstrap-Dt5I1SOl.mjs';
35
35
  import 'chalk';
36
36
  import 'node:util';
37
37
  import './trimIdent-BAjmv_TG.mjs';
38
- import './package-B7B03ejW.mjs';
38
+ import './package-7Ld1YMhh.mjs';
39
39
  import './tmuxSocket-B8Yx20sT.mjs';
40
40
  import 'node:module';
41
41
  import './oneShotPrompts-DT4p6RNd.mjs';