very-happy-cli 0.2.178 → 0.2.179

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 (201) hide show
  1. package/dist/{AcpBackend-DCQXHRzT.mjs → AcpBackend-CHp3y7cb.mjs} +135 -16
  2. package/dist/{AcpBackend-CDkAQXYf.cjs → AcpBackend-DFipFF7-.cjs} +135 -16
  3. package/dist/{AcpSessionManager-DckmUZza.cjs → AcpSessionManager-0zpvRJXc.cjs} +38 -4
  4. package/dist/{AcpSessionManager-BXrQcqwC.mjs → AcpSessionManager-d2-rKWWa.mjs} +38 -4
  5. package/dist/{BasePermissionHandler-DyLmKKtO.cjs → BasePermissionHandler-CH3zuEkA.cjs} +5 -2
  6. package/dist/{BasePermissionHandler-BVlrEhIi.mjs → BasePermissionHandler-DdZBYIR4.mjs} +5 -2
  7. package/dist/acpSessionResume-DTGmAPLt.mjs +67 -0
  8. package/dist/acpSessionResume-oiCBnAVA.cjs +74 -0
  9. package/dist/{agentHome-CEp9RMyK.cjs → agentHome-BWcz8mz0.cjs} +4 -4
  10. package/dist/{agentHome-C1xi37as.mjs → agentHome-CghLvL_1.mjs} +4 -4
  11. package/dist/{api-JANhFdZV.cjs → api-Cmjfr8Z7.cjs} +28 -260
  12. package/dist/{api-Dib0dmqC.mjs → api-CzwFpJQc.mjs} +21 -253
  13. package/dist/{apiMachine-DNTJidYH.mjs → apiMachine-DJkTEiqy.mjs} +43 -15
  14. package/dist/{apiMachine-QhK-sKcr.cjs → apiMachine-G6OogT08.cjs} +43 -15
  15. package/dist/{attachmentContent-DkkdpSSJ.mjs → attachmentContent-B2os4HbA.mjs} +2 -2
  16. package/dist/{attachmentContent-bpQTBJ0y.cjs → attachmentContent-Bo0UAsSu.cjs} +4 -4
  17. package/dist/{auth-BRjd2esb.mjs → auth-BS6PaOOG.mjs} +5 -5
  18. package/dist/{auth-DgIV0Cvt.cjs → auth-D6bBUwZa.cjs} +5 -5
  19. package/dist/{auth-DNct7VUi.mjs → auth-DMX0xPNK.mjs} +8 -8
  20. package/dist/{auth-omWDtgR8.cjs → auth-HEhRaNgL.cjs} +8 -8
  21. package/dist/{auto-CI16FZmX.cjs → auto-C6I55iOh.cjs} +18 -17
  22. package/dist/{auto-DKGFOJBo.mjs → auto-Cl1SEDcD.mjs} +18 -17
  23. package/dist/{bootstrap-DCQ87Aan.cjs → bootstrap-exVucYav.cjs} +2 -2
  24. package/dist/{bootstrap-BUagGC_-.mjs → bootstrap-iuyufnp3.mjs} +2 -2
  25. package/dist/{browser-CSKhc0Bl.cjs → browser-BohJK12g.cjs} +1 -1
  26. package/dist/{browser-Dj_DYQEh.mjs → browser-CSYum7xH.mjs} +1 -1
  27. package/dist/{claudeLocal-CCCvAeMd.mjs → claudeLocal-Dq_R3Ax_.mjs} +6 -5
  28. package/dist/{claudeLocal-CdIVnOZp.cjs → claudeLocal-re4yjSTx.cjs} +6 -5
  29. package/dist/{claudeLocalLauncher-21-xh5gc.cjs → claudeLocalLauncher-B4hJHpCA.cjs} +11 -10
  30. package/dist/{claudeLocalLauncher-BmrpaRYJ.mjs → claudeLocalLauncher-CN67lN7-.mjs} +11 -10
  31. package/dist/{claudeSessionFork-DvxMKAmY.mjs → claudeSessionFork-BihfD0Ik.mjs} +1 -1
  32. package/dist/{claudeSessionFork-kYCP1IJB.cjs → claudeSessionFork-DiSMYerV.cjs} +1 -1
  33. package/dist/{client-Dnza1hgN.cjs → client-BKcK1Bi-.cjs} +3 -3
  34. package/dist/client-BhoEBnuN.mjs +71 -0
  35. package/dist/{client-C4zKGjiJ.cjs → client-CuVdN6PP.cjs} +2 -2
  36. package/dist/{client-BTX9hsbr.mjs → client-DuTDwWSQ.mjs} +3 -3
  37. package/dist/client-ZjOsn6nZ.cjs +76 -0
  38. package/dist/{client-CnlkkrZO.mjs → client-wo9nbxuf.mjs} +2 -2
  39. package/dist/codex/happyMcpStdioBridge.cjs +24 -15
  40. package/dist/codex/happyMcpStdioBridge.mjs +24 -15
  41. package/dist/{codexAppServerClient-DvkpQgyv.mjs → codexAppServerClient-BK3zra_1.mjs} +3 -3
  42. package/dist/{codexAppServerClient-CRlBWGn3.cjs → codexAppServerClient-Dt5zxrun.cjs} +3 -3
  43. package/dist/{codexCommand-BxjogBzU.mjs → codexCommand-B6pY7CMh.mjs} +65 -60
  44. package/dist/{codexCommand-DzxIWXIT.cjs → codexCommand-CAZ1SLjg.cjs} +88 -83
  45. package/dist/{codexTermination-ySDNMEhd.mjs → codexTermination-Cd1Eon_4.mjs} +1 -1
  46. package/dist/{codexTermination-C28FzlLb.cjs → codexTermination-DmGbHxcD.cjs} +1 -1
  47. package/dist/{config-DwfEpFr3.mjs → config-2oMG_fEI.mjs} +3 -3
  48. package/dist/{config-BFB5uJ4t.cjs → config-B0uK6K7n.cjs} +3 -3
  49. package/dist/{configuration-4TGMrjul.cjs → configuration-CMHZnp6G.cjs} +1 -1
  50. package/dist/{configuration-DVrb61aY.mjs → configuration-WMi4idBB.mjs} +1 -1
  51. package/dist/{connect-C7FPY0PI.mjs → connect-BLVHhHzA.mjs} +14 -14
  52. package/dist/{connect-QH2VJGBG.cjs → connect-uaglGrde.cjs} +14 -14
  53. package/dist/{context-JoKu0V54.cjs → context-DXzU5bFM.cjs} +1 -1
  54. package/dist/{context-B3XPVJlj.mjs → context-DploEcoN.mjs} +1 -1
  55. package/dist/{controlClient-BYKyGyxj.mjs → controlClient-BWUJrj3t.mjs} +3 -3
  56. package/dist/{controlClient-BTaZlbC6.cjs → controlClient-C-5qCt8W.cjs} +3 -3
  57. package/dist/{createSessionMetadata-8Fuj2-IV.mjs → createSessionMetadata-3uXrJgOW.mjs} +2 -2
  58. package/dist/{createSessionMetadata-B2NynaWZ.cjs → createSessionMetadata-BkIzHALd.cjs} +2 -2
  59. package/dist/{defaultPermissionMode-B8kJG9uI.mjs → defaultPermissionMode-BzxLh20a.mjs} +2 -2
  60. package/dist/{defaultPermissionMode-BEWCqJU-.cjs → defaultPermissionMode-pS3vmiSg.cjs} +2 -2
  61. package/dist/{deterministicJson-BjNQsAjO.cjs → deterministicJson-B8z2GPi9.cjs} +220 -14
  62. package/dist/{deterministicJson-C5ZwZ7hu.mjs → deterministicJson-D_whDMFd.mjs} +217 -12
  63. package/dist/{doctor-BshRnjLi.cjs → doctor-Br1Kcy2J.cjs} +7 -7
  64. package/dist/{doctor-0BiGwJXk.mjs → doctor-CmtSsR2-.mjs} +7 -7
  65. package/dist/{downloadTarget-BN5vZt3K.cjs → downloadTarget-BQJK_6oH.cjs} +6 -6
  66. package/dist/{downloadTarget-DJPwAZlu.mjs → downloadTarget-BoNwTIH_.mjs} +6 -6
  67. package/dist/{ensureDaemonRunning-C5QfToCe.cjs → ensureDaemonRunning-BRUmsq6J.cjs} +5 -5
  68. package/dist/{ensureDaemonRunning-CSmb_mqt.mjs → ensureDaemonRunning-Czo9IHJQ.mjs} +5 -5
  69. package/dist/{handleResumeCommand-CgjpsdDe.mjs → handleResumeCommand-C8thKjqf.mjs} +21 -5
  70. package/dist/{handleResumeCommand-BwnUZmbo.cjs → handleResumeCommand-tKD_Hpxc.cjs} +21 -5
  71. package/dist/{index-BYOZ_8WZ.cjs → index-B0UjHlAe.cjs} +4 -4
  72. package/dist/{index-BehVbAsA.mjs → index-BTxHphpV.mjs} +254 -49
  73. package/dist/index-BiyC7cZ3.mjs +18 -0
  74. package/dist/{index-_l1Sdmbi.cjs → index-C6O2vVjm.cjs} +154 -33
  75. package/dist/index-CUuc6iCn.cjs +24 -0
  76. package/dist/{index-Bvldtdny.mjs → index-CdQI0C9p.mjs} +4 -4
  77. package/dist/{index-BRClDe07.cjs → index-D09T1m8Y.cjs} +3 -3
  78. package/dist/{index-BYgfern_.mjs → index-D3bidoG8.mjs} +3 -3
  79. package/dist/{index-piJPsTsm.cjs → index-DMqDMT1Q.cjs} +256 -51
  80. package/dist/{index-Clqlu17M.mjs → index-DPOa4NhL.mjs} +153 -34
  81. package/dist/index.cjs +2 -2
  82. package/dist/index.mjs +2 -2
  83. package/dist/{install-BdvKiOQw.mjs → install-BX3lv3NO.mjs} +1 -1
  84. package/dist/{install-Cf6AFSWC.cjs → install-BXvf2E3o.cjs} +1 -1
  85. package/dist/{install-TO4taKW7.cjs → install-CYRZxS87.cjs} +3 -3
  86. package/dist/{install-fYWHrPcC.mjs → install-hnve_9vq.mjs} +3 -3
  87. package/dist/lib.cjs +13 -13
  88. package/dist/lib.d.cts +62 -1
  89. package/dist/lib.d.mts +62 -1
  90. package/dist/lib.mjs +13 -13
  91. package/dist/{lidState-DNMlIhX0.mjs → lidState-Bb8fgXg3.mjs} +1 -1
  92. package/dist/{lidState-BeOwj6eW.cjs → lidState-Dv2wwFTj.cjs} +1 -1
  93. package/dist/{localHappyAgentAuth-Br-mgogg.cjs → localHappyAgentAuth-DjYvkXvV.cjs} +1 -1
  94. package/dist/{localHappyAgentAuth-BezKSFDi.mjs → localHappyAgentAuth-NEU7fax7.mjs} +1 -1
  95. package/dist/{logger--vAVtXB_.mjs → logger-BtVhHnD8.mjs} +2 -2
  96. package/dist/{logger-DXTWlPzP.cjs → logger-C1GWx3gi.cjs} +2 -2
  97. package/dist/{machineMetadata-DcUupMje.cjs → machineMetadata-CLHS9sv_.cjs} +3 -3
  98. package/dist/{machineMetadata-B1H9gNbN.mjs → machineMetadata-D-g--oU_.mjs} +3 -3
  99. package/dist/{main-CshDb5-1.mjs → main-B2LWV8DI.mjs} +58 -45
  100. package/dist/{main-DoMFJ2Cl.cjs → main-CWhSsbtU.cjs} +58 -45
  101. package/dist/{mcp-pNc1EbQf.cjs → mcp-CARUsXHV.cjs} +14 -14
  102. package/dist/{mcp-DKT_lrvQ.mjs → mcp-ext92q3Y.mjs} +14 -14
  103. package/dist/{mirrorProtocol-6IFGPpjJ.mjs → mirrorProtocol-BwYibqry.mjs} +3 -3
  104. package/dist/{mirrorProtocol-qKflWTX_.cjs → mirrorProtocol-DEy2g1CB.cjs} +3 -3
  105. package/dist/{package-B7B03ejW.mjs → package-BPPebGQF.mjs} +7 -7
  106. package/dist/{package-DY4zTbKS.cjs → package-SgqTYsjn.cjs} +7 -7
  107. package/dist/panels-BZ0_Tt7B.mjs +137 -0
  108. package/dist/panels-D1c7q2dD.cjs +142 -0
  109. package/dist/{peerTools-3R9RUARX.mjs → peerTools-CWKzcQ7u.mjs} +60 -10
  110. package/dist/{peerTools-iy3_6Yc5.cjs → peerTools-DRQETXaz.cjs} +60 -9
  111. package/dist/{persistence-BfX72dne.cjs → persistence-BegE7NPa.cjs} +2 -2
  112. package/dist/{persistence-DTk4sNpd.mjs → persistence-Cr-wutZ4.mjs} +3 -3
  113. package/dist/{piRunnerArgs-CRQVR9o-.cjs → piRunnerArgs-Cs-378Vz.cjs} +8 -2
  114. package/dist/{piRunnerArgs-AT8QJY7x.mjs → piRunnerArgs-DwvM_yWA.mjs} +7 -1
  115. package/dist/{piRuntime-BHRT5MKO.cjs → piRuntime-BG-1td_n.cjs} +2 -2
  116. package/dist/{piRuntime-E44qTVQ4.mjs → piRuntime-Bue5mnlc.mjs} +2 -2
  117. package/dist/{piTerminal-De8nbciM.mjs → piTerminal-B5x9X5yV.mjs} +17 -17
  118. package/dist/{piTerminal-hI4WFdWm.cjs → piTerminal-G4z-xVyy.cjs} +17 -17
  119. package/dist/processTreeSnapshot-CuLJDNC-.mjs +101 -0
  120. package/dist/processTreeSnapshot-mDbnuojn.cjs +105 -0
  121. package/dist/prompt-BOouDaTM.mjs +99 -0
  122. package/dist/prompt-lgF9IE82.cjs +105 -0
  123. package/dist/{attachmentLimits-UyFn8fkQ.mjs → pushNotifications-BdFjDjQe.mjs} +303 -3
  124. package/dist/{attachmentLimits-SqeAHrVC.cjs → pushNotifications-DaLQUyi0.cjs} +304 -2
  125. package/dist/{index-DFPT4HOO.cjs → query-Ctfg-5gy.cjs} +25 -5
  126. package/dist/{index-CEjJnq05.mjs → query-DYP_W1wp.mjs} +26 -3
  127. package/dist/{rateLimitWindows-XrJiiBpU.mjs → rateLimitWindows-CuEqk_0g.mjs} +1 -1
  128. package/dist/{rateLimitWindows-Czb7_7cK.cjs → rateLimitWindows-Dj_8voBK.cjs} +1 -1
  129. package/dist/{registerCommonHandlers-CvIedVRf.mjs → registerCommonHandlers-BAlP7SGc.mjs} +2 -2
  130. package/dist/{registerCommonHandlers-C0_fyBQ0.cjs → registerCommonHandlers-Cj084Sg7.cjs} +2 -2
  131. package/dist/{registerKillSessionHandler-gwJ5lTf0.mjs → registerKillSessionHandler-PD0jWtQo.mjs} +6 -6
  132. package/dist/{registerKillSessionHandler-DYl7l4Ts.cjs → registerKillSessionHandler-qMju0ZfF.cjs} +6 -6
  133. package/dist/{remoteSessionClient-BRTIOX5b.cjs → remoteSessionClient-B7i7MkYV.cjs} +5 -5
  134. package/dist/{remoteSessionClient-DRb2Jr5s.mjs → remoteSessionClient-Bn2qu5C5.mjs} +5 -5
  135. package/dist/{reportProgressTool-B9nCzbkL.cjs → reportProgressTool-CM1JFAHg.cjs} +84 -2
  136. package/dist/{reportProgressTool-D5tEoXMW.mjs → reportProgressTool-gHItlSzz.mjs} +82 -3
  137. package/dist/{resources-JDPugcDq.cjs → resources-CvIlkzpP.cjs} +30 -0
  138. package/dist/{resources-BdFBQi8r.mjs → resources-y9jfyO-_.mjs} +30 -0
  139. package/dist/{run-BQ_FGaOL.mjs → run-BM4TxiyN.mjs} +177 -41
  140. package/dist/{run-CKe_WeLW.cjs → run-CNXwIe0A.cjs} +191 -55
  141. package/dist/{runClaude-MHI5IKM-.cjs → runClaude-CWhj2V4Q.cjs} +36 -40
  142. package/dist/{runClaude-zrrNcQC_.mjs → runClaude-C_3I8hvR.mjs} +36 -40
  143. package/dist/{runClaudeDeps-RRw-Nusc.cjs → runClaudeDeps-B81cOKnH.cjs} +294 -156
  144. package/dist/{runClaudeDeps-CVBCokOS.mjs → runClaudeDeps-QGrOeDe2.mjs} +294 -159
  145. package/dist/{runGemini-kipag2ag.mjs → runGemini-BEdWEZLR.mjs} +60 -54
  146. package/dist/{runGemini-D7Lg9yCr.cjs → runGemini-CgRLYbt5.cjs} +60 -54
  147. package/dist/{runOpenClaw-DCcQ0L2N.cjs → runOpenClaw-C1NVmzOL.cjs} +18 -18
  148. package/dist/{runOpenClaw-C_lRY3Do.mjs → runOpenClaw-DdQZAYj1.mjs} +18 -18
  149. package/dist/{sandbox-BSyXFVFp.mjs → sandbox-DjQUdCMG.mjs} +4 -4
  150. package/dist/{sandbox-dMwPTmjm.cjs → sandbox-nocIjliq.cjs} +4 -4
  151. package/dist/selfCheck-CjCF4C3v.mjs +85 -0
  152. package/dist/{selfCheck-DkzDDUsE.cjs → selfCheck-DCt4Uzbq.cjs} +36 -35
  153. package/dist/{send-C-k9nsd3.mjs → send-Ct7X4pPU.mjs} +8 -8
  154. package/dist/{send-dxC0miIA.cjs → send-Dydf_hwZ.cjs} +8 -8
  155. package/dist/{server-B-W6P7Qr.cjs → server-CosABFbd.cjs} +6 -6
  156. package/dist/{server-DxoTYNlw.mjs → server-DTQGZMxh.mjs} +4 -4
  157. package/dist/{sessionLock-DWX6BbiU.cjs → sessionLock-DokGab2R.cjs} +16 -3
  158. package/dist/{sessionLock-DBdtZGOL.mjs → sessionLock-WYIyaVO4.mjs} +16 -4
  159. package/dist/{sessionOps-BVoXe12O.mjs → sessionOps-BIGgRube.mjs} +10 -5
  160. package/dist/{sessionOps-BAnr7n8t.cjs → sessionOps-S-qPBLFf.cjs} +10 -5
  161. package/dist/{sessionScanner-CDOYsEUD.cjs → sessionScanner-CIMM2hvZ.cjs} +3 -3
  162. package/dist/{sessionScanner-BtxoeluY.mjs → sessionScanner-o5hnMi5e.mjs} +3 -3
  163. package/dist/{sessions-C3sZJkzI.mjs → sessions-BJHEZpi2.mjs} +39 -17
  164. package/dist/{sessions-hAitoN-m.cjs → sessions-JchI1w3z.cjs} +39 -16
  165. package/dist/{setupOfflineReconnection-C2EeYTFH.cjs → setupOfflineReconnection-CNiAt5ZP.cjs} +2 -2
  166. package/dist/{setupOfflineReconnection-_eD4cuUT.mjs → setupOfflineReconnection-DMiBO2y9.mjs} +2 -2
  167. package/dist/{spawn-Bc9v7pIf.cjs → spawn-6PD7nnoC.cjs} +48 -17
  168. package/dist/{spawn-qNrB2CD_.mjs → spawn-DgvUNYEo.mjs} +48 -17
  169. package/dist/{spawnAgents-BVEaz35W.cjs → spawnAgents-DsXgegHM.cjs} +37 -1
  170. package/dist/spawnAgents-P006Hqio.mjs +79 -0
  171. package/dist/{spawnHappyCLI-C2stUioM.mjs → spawnHappyCLI-CCOrEtf9.mjs} +1 -1
  172. package/dist/{spawnHappyCLI-fzUagkKV.cjs → spawnHappyCLI-Dywezwk6.cjs} +1 -1
  173. package/dist/{specialCommands-C6W-rVyh.mjs → specialCommands-DPcd9edP.mjs} +3 -3
  174. package/dist/{specialCommands-BJ-nqY4s.cjs → specialCommands-QxPpkGKf.cjs} +3 -3
  175. package/dist/{startFileWatcher-CR09Snmz.mjs → startFileWatcher-DghDOCO4.mjs} +1 -1
  176. package/dist/{startFileWatcher-Bqlqjt93.cjs → startFileWatcher-RECH5qY8.cjs} +1 -1
  177. package/dist/{streamRelay-CJoMk_d2.mjs → streamRelay-DMV_TXfS.mjs} +1 -1
  178. package/dist/{streamRelay-9kBPpbvU.cjs → streamRelay-DlUWKUpo.cjs} +1 -1
  179. package/dist/{sync-DbW07iQS.mjs → sync-CSe0Rf45.mjs} +1 -1
  180. package/dist/{sync-Dhmtk66S.cjs → sync-D23jbqVa.cjs} +1 -1
  181. package/dist/{systemPrompt-3PYi3EUY.cjs → systemPrompt-BOy4kU4P.cjs} +4 -3
  182. package/dist/{systemPrompt-CQcuUmVp.mjs → systemPrompt-CFNKnh65.mjs} +4 -3
  183. package/dist/{teams-CwF4Z2fA.mjs → teams-DyY669f0.mjs} +8 -8
  184. package/dist/{teams-DpxLcUU_.cjs → teams-Ov2BDT-A.cjs} +8 -8
  185. package/dist/{time-BuGWTVP6.mjs → time-65DcU6Jx.mjs} +1 -1
  186. package/dist/{time-A6zR3Iy6.cjs → time-CrwIMHta.cjs} +1 -1
  187. package/dist/{titleGenerator-D26gvNaS.cjs → titleGenerator-CS_rh2_J.cjs} +9 -8
  188. package/dist/{titleGenerator-BGEzNWC9.mjs → titleGenerator-CiAMxf7s.mjs} +9 -8
  189. package/dist/{todo-DrZc76H5.mjs → todo-BDONw0sK.mjs} +6 -6
  190. package/dist/{todo-73g3NCIO.cjs → todo-KY-okGii.cjs} +6 -6
  191. package/dist/{tools-BtsrQnNS.mjs → tools-D8-PnZEG.mjs} +1 -1
  192. package/dist/{tools-CxJp4T1T.cjs → tools-_w52DZG6.cjs} +1 -1
  193. package/dist/{uninstall-DWNYvewQ.cjs → uninstall-8vnLN-IE.cjs} +3 -3
  194. package/dist/{uninstall-DOb2mTwV.mjs → uninstall-_fjGRP9b.mjs} +3 -3
  195. package/dist/webPanels-B2_C2-3g.mjs +49 -0
  196. package/dist/webPanels-FCgFKvVe.cjs +53 -0
  197. package/package.json +7 -7
  198. package/dist/selfCheck-CF7XGJPb.mjs +0 -84
  199. package/dist/sessionModeFile-ByLbXTbg.mjs +0 -32
  200. package/dist/sessionModeFile-CLLdidiJ.cjs +0 -36
  201. package/dist/spawnAgents-Bw6j4tqz.mjs +0 -45
package/dist/lib.mjs CHANGED
@@ -1,9 +1,9 @@
1
- export { A as ApiClient, a as ApiSessionClient } from './api-Dib0dmqC.mjs';
2
- export { l as logger } from './logger--vAVtXB_.mjs';
3
- export { c as configuration } from './configuration-DVrb61aY.mjs';
1
+ export { A as ApiClient, a as ApiSessionClient } from './api-CzwFpJQc.mjs';
2
+ export { l as logger } from './logger-BtVhHnD8.mjs';
3
+ export { c as configuration } from './configuration-WMi4idBB.mjs';
4
4
  export { R as RawJSONLinesSchema } from './types-CkqAACXx.mjs';
5
5
  import 'axios';
6
- import './lidState-DNMlIhX0.mjs';
6
+ import './lidState-Bb8fgXg3.mjs';
7
7
  import './authRelay-DhQhkBvX.mjs';
8
8
  import 'node:crypto';
9
9
  import 'tweetnacl';
@@ -11,13 +11,14 @@ import 'os';
11
11
  import 'child_process';
12
12
  import 'node:events';
13
13
  import 'socket.io-client';
14
- import './attachmentLimits-UyFn8fkQ.mjs';
14
+ import './pushNotifications-BdFjDjQe.mjs';
15
15
  import 'zod';
16
- import './index-Clqlu17M.mjs';
16
+ import './index-DPOa4NhL.mjs';
17
17
  import '@paralleldrive/cuid2';
18
+ import './contentLogMetadata-BlWI0egu.mjs';
18
19
  import './limits-DIo7rEBR.mjs';
19
- import './time-BuGWTVP6.mjs';
20
- import './registerCommonHandlers-CvIedVRf.mjs';
20
+ import './time-65DcU6Jx.mjs';
21
+ import './registerCommonHandlers-BAlP7SGc.mjs';
21
22
  import 'util';
22
23
  import 'fs/promises';
23
24
  import 'crypto';
@@ -25,15 +26,14 @@ import 'path';
25
26
  import 'cross-spawn';
26
27
  import './projectPath-BTBIMB57.mjs';
27
28
  import 'url';
28
- import './sync-DbW07iQS.mjs';
29
+ import './sync-CSe0Rf45.mjs';
29
30
  import './backgroundTaskActivity-BVwJBl02.mjs';
30
- import './controlClient-BYKyGyxj.mjs';
31
- import './persistence-DTk4sNpd.mjs';
31
+ import './controlClient-BWUJrj3t.mjs';
32
+ import './persistence-Cr-wutZ4.mjs';
32
33
  import 'node:fs/promises';
33
34
  import 'node:fs';
34
- import './contentLogMetadata-BlWI0egu.mjs';
35
35
  import 'chalk';
36
36
  import 'node:util';
37
37
  import 'node:path';
38
38
  import 'node:os';
39
- import './package-B7B03ejW.mjs';
39
+ import './package-BPPebGQF.mjs';
@@ -1,4 +1,4 @@
1
- import { l as logger } from './logger--vAVtXB_.mjs';
1
+ import { l as logger } from './logger-BtVhHnD8.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-DXTWlPzP.cjs');
3
+ var logger = require('./logger-C1GWx3gi.cjs');
4
4
  var authRelay = require('./authRelay-Dy1qU9td.cjs');
5
5
  var os = require('os');
6
6
  var child_process = require('child_process');
@@ -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-4TGMrjul.cjs');
9
+ var configuration = require('./configuration-CMHZnp6G.cjs');
10
10
 
11
11
  const AgentCredentialsSchema = z.z.object({
12
12
  token: z.z.string().min(1),
@@ -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-DVrb61aY.mjs';
7
+ import { c as configuration } from './configuration-WMi4idBB.mjs';
8
8
 
9
9
  const AgentCredentialsSchema = z.object({
10
10
  token: z.string().min(1),
@@ -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-DVrb61aY.mjs';
3
+ import { d as appendPrivateFileSync, c as configuration } from './configuration-WMi4idBB.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-DTk4sNpd.mjs').then(function (n) { return n.F; });
239
+ const { readDaemonState } = await import('./persistence-Cr-wutZ4.mjs').then(function (n) { return n.F; });
240
240
  const state = await readDaemonState();
241
241
  if (!state) {
242
242
  return logs;
@@ -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-4TGMrjul.cjs');
5
+ var configuration = require('./configuration-CMHZnp6G.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-BfX72dne.cjs'); }).then(function (n) { return n.persistence; });
241
+ const { readDaemonState } = await Promise.resolve().then(function () { return require('./persistence-BegE7NPa.cjs'); }).then(function (n) { return n.persistence; });
242
242
  const state = await readDaemonState();
243
243
  if (!state) {
244
244
  return logs;
@@ -1,11 +1,11 @@
1
1
  'use strict';
2
2
 
3
3
  var os = require('node:os');
4
- var _package = require('./package-DY4zTbKS.cjs');
5
- var configuration = require('./configuration-4TGMrjul.cjs');
4
+ var _package = require('./package-SgqTYsjn.cjs');
5
+ var configuration = require('./configuration-CMHZnp6G.cjs');
6
6
  var projectPath = require('./projectPath-ChLhdOyt.cjs');
7
7
  var detectCLI = require('./detectCLI-DR9ZaN6B.cjs');
8
- var localHappyAgentAuth = require('./localHappyAgentAuth-Br-mgogg.cjs');
8
+ var localHappyAgentAuth = require('./localHappyAgentAuth-DjYvkXvV.cjs');
9
9
 
10
10
  function buildInitialMachineMetadata(cliAvailability) {
11
11
  const hostSuffix = process.env.HAPPY_VARIANT === "dev" ? "-dev" : "";
@@ -1,9 +1,9 @@
1
1
  import os from 'node:os';
2
- import { p as packageJson } from './package-B7B03ejW.mjs';
3
- import { c as configuration } from './configuration-DVrb61aY.mjs';
2
+ import { p as packageJson } from './package-BPPebGQF.mjs';
3
+ import { c as configuration } from './configuration-WMi4idBB.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-BezKSFDi.mjs';
6
+ import { d as detectResumeSupport } from './localHappyAgentAuth-NEU7fax7.mjs';
7
7
 
8
8
  function buildInitialMachineMetadata(cliAvailability) {
9
9
  const hostSuffix = process.env.HAPPY_VARIANT === "dev" ? "-dev" : "";
@@ -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-BtVhHnD8.mjs';
3
+ import { d as readDaemonState, r as readSettings, b as readCredentialsForConfiguredRelay } from './persistence-Cr-wutZ4.mjs';
4
+ import { a as authAndSetupMachineIfNeeded } from './auth-BS6PaOOG.mjs';
5
+ import { p as packageJson } from './package-BPPebGQF.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, s as stopDaemonSession, a as checkIfDaemonRunningAndCleanupStaleState, b as stopDaemon } from './controlClient-BWUJrj3t.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-CCOrEtf9.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-Czo9IHJQ.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-D3bidoG8.mjs';
14
+ import { c as configuration } from './configuration-WMi4idBB.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-DwvM_yWA.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-65DcU6Jx.mjs';
27
+ import './browser-CSYum7xH.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-DTGmAPLt.mjs';
36
36
  import 'child_process';
37
37
  import 'os';
38
38
  import 'fs';
@@ -74,11 +74,11 @@ Conversation history is preserved on the server, but in-flight tool calls are in
74
74
  }
75
75
  process.exit(0);
76
76
  }
77
- await (await import('./doctor-0BiGwJXk.mjs').then(function (n) { return n.d; })).runDoctorCommand();
77
+ await (await import('./doctor-CmtSsR2-.mjs').then(function (n) { return n.d; })).runDoctorCommand();
78
78
  return;
79
79
  } else if (subcommand === "auth") {
80
80
  try {
81
- await (await import('./auth-DNct7VUi.mjs')).handleAuthCommand(args.slice(1));
81
+ await (await import('./auth-DMX0xPNK.mjs')).handleAuthCommand(args.slice(1));
82
82
  } catch (error) {
83
83
  console.error(chalk.red("Error:"), error instanceof Error ? error.message : "Unknown error");
84
84
  if (process.env.DEBUG) {
@@ -89,7 +89,7 @@ Conversation history is preserved on the server, but in-flight tool calls are in
89
89
  return;
90
90
  } else if (subcommand === "connect") {
91
91
  try {
92
- await (await import('./connect-C7FPY0PI.mjs')).handleConnectCommand(args.slice(1));
92
+ await (await import('./connect-BLVHhHzA.mjs')).handleConnectCommand(args.slice(1));
93
93
  } catch (error) {
94
94
  console.error(chalk.red("Error:"), error instanceof Error ? error.message : "Unknown error");
95
95
  if (process.env.DEBUG) {
@@ -100,7 +100,7 @@ Conversation history is preserved on the server, but in-flight tool calls are in
100
100
  return;
101
101
  } else if (subcommand === "sandbox") {
102
102
  try {
103
- await (await import('./sandbox-BSyXFVFp.mjs')).handleSandboxCommand(args.slice(1));
103
+ await (await import('./sandbox-DjQUdCMG.mjs')).handleSandboxCommand(args.slice(1));
104
104
  } catch (error) {
105
105
  console.error(chalk.red("Error:"), error instanceof Error ? error.message : "Unknown error");
106
106
  if (process.env.DEBUG) {
@@ -111,7 +111,7 @@ Conversation history is preserved on the server, but in-flight tool calls are in
111
111
  return;
112
112
  } else if (subcommand === "server") {
113
113
  try {
114
- await (await import('./server-DxoTYNlw.mjs')).handleServerCommand(args.slice(1));
114
+ await (await import('./server-DTQGZMxh.mjs')).handleServerCommand(args.slice(1));
115
115
  } catch (error) {
116
116
  console.error(chalk.red("Error:"), error instanceof Error ? error.message : "Unknown error");
117
117
  if (process.env.DEBUG) {
@@ -151,7 +151,7 @@ Conversation history is preserved on the server, but in-flight tool calls are in
151
151
  }
152
152
  } else if (subcommand === "agent-home") {
153
153
  try {
154
- const { parseAgentHomeArgs, runAgentHomeCommand } = await import('./agentHome-C1xi37as.mjs');
154
+ const { parseAgentHomeArgs, runAgentHomeCommand } = await import('./agentHome-CghLvL_1.mjs');
155
155
  await runAgentHomeCommand(parseAgentHomeArgs(args.slice(1)));
156
156
  process.exit(0);
157
157
  } catch (error) {
@@ -160,7 +160,7 @@ Conversation history is preserved on the server, but in-flight tool calls are in
160
160
  }
161
161
  } else if (subcommand === "spawn") {
162
162
  try {
163
- const { handleSpawnCommand } = await import('./spawn-qNrB2CD_.mjs');
163
+ const { handleSpawnCommand } = await import('./spawn-DgvUNYEo.mjs');
164
164
  await handleSpawnCommand(args.slice(1));
165
165
  } catch (error) {
166
166
  console.error(chalk.red("Error:"), error instanceof Error ? error.message : "Unknown error");
@@ -172,7 +172,7 @@ Conversation history is preserved on the server, but in-flight tool calls are in
172
172
  return;
173
173
  } else if (subcommand === "sessions") {
174
174
  try {
175
- const { handleSessionsCommand } = await import('./sessions-C3sZJkzI.mjs');
175
+ const { handleSessionsCommand } = await import('./sessions-BJHEZpi2.mjs');
176
176
  await handleSessionsCommand(args.slice(1));
177
177
  } catch (error) {
178
178
  console.error(chalk.red("Error:"), error instanceof Error ? error.message : "Unknown error");
@@ -184,7 +184,7 @@ Conversation history is preserved on the server, but in-flight tool calls are in
184
184
  return;
185
185
  } else if (subcommand === "send") {
186
186
  try {
187
- const { handleSendCommand } = await import('./send-C-k9nsd3.mjs');
187
+ const { handleSendCommand } = await import('./send-Ct7X4pPU.mjs');
188
188
  await handleSendCommand(args.slice(1));
189
189
  } catch (error) {
190
190
  console.error(chalk.red("Error:"), error instanceof Error ? error.message : "Unknown error");
@@ -196,7 +196,7 @@ Conversation history is preserved on the server, but in-flight tool calls are in
196
196
  return;
197
197
  } else if (subcommand === "resume") {
198
198
  try {
199
- await (await import('./handleResumeCommand-CgjpsdDe.mjs')).handleResumeCommand(args.slice(1));
199
+ await (await import('./handleResumeCommand-C8thKjqf.mjs')).handleResumeCommand(args.slice(1));
200
200
  } catch (error) {
201
201
  console.error(chalk.red("Error:"), error instanceof Error ? error.message : "Unknown error");
202
202
  if (process.env.DEBUG) {
@@ -207,7 +207,7 @@ Conversation history is preserved on the server, but in-flight tool calls are in
207
207
  return;
208
208
  } else if (subcommand === "codex") {
209
209
  try {
210
- await (await import('./codexCommand-BxjogBzU.mjs')).handleCodexCommand(args.slice(1));
210
+ await (await import('./codexCommand-B6pY7CMh.mjs')).handleCodexCommand(args.slice(1));
211
211
  } catch (error) {
212
212
  console.error(chalk.red("Error:"), error instanceof Error ? error.message : "Unknown error");
213
213
  if (process.env.DEBUG) {
@@ -290,9 +290,9 @@ Conversation history is preserved on the server, but in-flight tool calls are in
290
290
  if (geminiSubcommand === "project" && args[2] === "set" && args[3]) {
291
291
  const projectId = args[3];
292
292
  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; });
293
+ const { saveGoogleCloudProjectToConfig } = await import('./config-2oMG_fEI.mjs');
294
+ const { readCredentialsForConfiguredRelay: readCredentialsForConfiguredRelay2 } = await import('./persistence-Cr-wutZ4.mjs').then(function (n) { return n.F; });
295
+ const { ApiClient } = await import('./api-CzwFpJQc.mjs').then(function (n) { return n.b; });
296
296
  let userEmail = void 0;
297
297
  try {
298
298
  const credentials = await readCredentialsForConfiguredRelay2();
@@ -323,7 +323,7 @@ Conversation history is preserved on the server, but in-flight tool calls are in
323
323
  }
324
324
  if (geminiSubcommand === "project" && args[2] === "get") {
325
325
  try {
326
- const { readGeminiLocalConfig } = await import('./config-DwfEpFr3.mjs');
326
+ const { readGeminiLocalConfig } = await import('./config-2oMG_fEI.mjs');
327
327
  const config = readGeminiLocalConfig();
328
328
  if (config.googleCloudProject) {
329
329
  console.log(`Current Google Cloud Project: ${config.googleCloudProject}`);
@@ -363,7 +363,7 @@ Conversation history is preserved on the server, but in-flight tool calls are in
363
363
  process.exit(0);
364
364
  }
365
365
  try {
366
- const { runGemini } = await import('./runGemini-kipag2ag.mjs');
366
+ const { runGemini } = await import('./runGemini-BEdWEZLR.mjs');
367
367
  let startedBy = void 0;
368
368
  for (let i = 1; i < args.length; i++) {
369
369
  if (args[i] === "--started-by") {
@@ -386,7 +386,7 @@ Conversation history is preserved on the server, but in-flight tool calls are in
386
386
  } else if (subcommand === "pi") {
387
387
  if (args[1] === "--terminal") {
388
388
  try {
389
- const { runPiTerminal } = await import('./piTerminal-De8nbciM.mjs');
389
+ const { runPiTerminal } = await import('./piTerminal-B5x9X5yV.mjs');
390
390
  process.exitCode = await runPiTerminal(args.slice(2));
391
391
  } catch (error) {
392
392
  console.error(chalk.red("Error:"), error instanceof Error ? error.message : "Unknown error");
@@ -411,7 +411,7 @@ Conversation history is preserved on the server, but in-flight tool calls are in
411
411
  process.exit(1);
412
412
  }
413
413
  }
414
- const { runAcp, resolveAcpAgentConfig } = await import('./index-BehVbAsA.mjs');
414
+ const { runAcp, resolveAcpAgentConfig } = await import('./index-BTxHphpV.mjs');
415
415
  const resolved = resolveAcpAgentConfig(["pi", ...parsed.passthrough]);
416
416
  const { credentials } = await authAndSetupMachineIfNeeded();
417
417
  await ensureDaemonRunning();
@@ -424,7 +424,8 @@ Conversation history is preserved on the server, but in-flight tool calls are in
424
424
  agentName: resolved.agentName,
425
425
  command: resolved.command,
426
426
  args: resolved.args,
427
- onBackendError: printHint
427
+ onBackendError: printHint,
428
+ resumeAgentSessionId: parsed.resume
428
429
  });
429
430
  if (hintPrinted) process.exit(1);
430
431
  } catch (error) {
@@ -438,7 +439,7 @@ Conversation history is preserved on the server, but in-flight tool calls are in
438
439
  return;
439
440
  } else if (subcommand === "acp") {
440
441
  try {
441
- const { runAcp, resolveAcpAgentConfig } = await import('./index-BehVbAsA.mjs');
442
+ const { runAcp, resolveAcpAgentConfig } = await import('./index-BTxHphpV.mjs');
442
443
  let startedBy = void 0;
443
444
  let verbose = false;
444
445
  const acpArgs = [];
@@ -478,7 +479,7 @@ Conversation history is preserved on the server, but in-flight tool calls are in
478
479
  return;
479
480
  } else if (subcommand === "openclaw") {
480
481
  try {
481
- const { runOpenClaw } = await import('./runOpenClaw-C_lRY3Do.mjs');
482
+ const { runOpenClaw } = await import('./runOpenClaw-DdQZAYj1.mjs');
482
483
  let startedBy = void 0;
483
484
  let verbose = false;
484
485
  let gatewayUrl;
@@ -518,7 +519,7 @@ Conversation history is preserved on the server, but in-flight tool calls are in
518
519
  } else if (subcommand === "logout") {
519
520
  console.log(chalk.yellow('Note: "very-happy logout" is deprecated. Use "very-happy auth logout" instead.\n'));
520
521
  try {
521
- await (await import('./auth-DNct7VUi.mjs')).handleAuthCommand(["logout"]);
522
+ await (await import('./auth-DMX0xPNK.mjs')).handleAuthCommand(["logout"]);
522
523
  } catch (error) {
523
524
  console.error(chalk.red("Error:"), error instanceof Error ? error.message : "Unknown error");
524
525
  if (process.env.DEBUG) {
@@ -529,7 +530,7 @@ Conversation history is preserved on the server, but in-flight tool calls are in
529
530
  return;
530
531
  } else if (subcommand === "todo") {
531
532
  try {
532
- const { handleTodoCommand } = await import('./todo-DrZc76H5.mjs');
533
+ const { handleTodoCommand } = await import('./todo-BDONw0sK.mjs');
533
534
  await handleTodoCommand(args.slice(1));
534
535
  } catch (error) {
535
536
  console.error(JSON.stringify({ error: error instanceof Error ? error.message : "Todo command failed" }));
@@ -538,7 +539,7 @@ Conversation history is preserved on the server, but in-flight tool calls are in
538
539
  return;
539
540
  } else if (subcommand === "teams") {
540
541
  try {
541
- const { handleTeamsCommand } = await import('./teams-CwF4Z2fA.mjs');
542
+ const { handleTeamsCommand } = await import('./teams-DyY669f0.mjs');
542
543
  await handleTeamsCommand(args.slice(1));
543
544
  } catch (error) {
544
545
  console.error(error instanceof Error ? error.message : "Teams command failed");
@@ -547,7 +548,7 @@ Conversation history is preserved on the server, but in-flight tool calls are in
547
548
  return;
548
549
  } else if (subcommand === "auto") {
549
550
  try {
550
- const { handleAutoCommand } = await import('./auto-DKGFOJBo.mjs');
551
+ const { handleAutoCommand } = await import('./auto-Cl1SEDcD.mjs');
551
552
  await handleAutoCommand(args.slice(1));
552
553
  } catch (error) {
553
554
  console.error(chalk.red("Error:"), error instanceof Error ? error.message : "Automation command failed");
@@ -559,7 +560,7 @@ Conversation history is preserved on the server, but in-flight tool calls are in
559
560
  return;
560
561
  } else if (subcommand === "mcp" && (args.length === 1 || args.length === 2 && args[1] === "--terminal-tools")) {
561
562
  try {
562
- const { handleMcpCommand } = await import('./mcp-DKT_lrvQ.mjs');
563
+ const { handleMcpCommand } = await import('./mcp-ext92q3Y.mjs');
563
564
  await handleMcpCommand(args[1] === "--terminal-tools");
564
565
  } catch (error) {
565
566
  process.stderr.write(`[very-happy mcp] Fatal: ${error instanceof Error ? error.message : String(error)}
@@ -567,6 +568,16 @@ Conversation history is preserved on the server, but in-flight tool calls are in
567
568
  process.exit(1);
568
569
  }
569
570
  return;
571
+ } else if (subcommand === "panels" || subcommand === "attention") {
572
+ try {
573
+ const { handlePanelsCommand, handleAttentionCommand } = await import('./panels-BZ0_Tt7B.mjs');
574
+ if (subcommand === "panels") await handlePanelsCommand(args.slice(1));
575
+ else await handleAttentionCommand(args.slice(1));
576
+ } catch (error) {
577
+ console.error(chalk.red("Error:"), error instanceof Error ? error.message : String(error));
578
+ process.exitCode = 1;
579
+ }
580
+ return;
570
581
  } else if (subcommand === "notify") {
571
582
  try {
572
583
  await handleNotifyCommand(args.slice(1));
@@ -651,13 +662,13 @@ Conversation history is preserved on the server, but in-flight tool calls are in
651
662
  }
652
663
  process.exit(0);
653
664
  } else if (daemonSubcommand === "start-sync") {
654
- await (await import('./run-BQ_FGaOL.mjs')).startDaemon();
665
+ await (await import('./run-BM4TxiyN.mjs')).startDaemon();
655
666
  process.exit(0);
656
667
  } else if (daemonSubcommand === "stop") {
657
668
  await stopDaemon();
658
669
  process.exit(0);
659
670
  } else if (daemonSubcommand === "status") {
660
- await (await import('./doctor-0BiGwJXk.mjs').then(function (n) { return n.d; })).runDoctorDaemon();
671
+ await (await import('./doctor-CmtSsR2-.mjs').then(function (n) { return n.d; })).runDoctorDaemon();
661
672
  process.exit(0);
662
673
  } else if (daemonSubcommand === "logs") {
663
674
  const latest = await getLatestDaemonLog();
@@ -669,14 +680,14 @@ Conversation history is preserved on the server, but in-flight tool calls are in
669
680
  process.exit(0);
670
681
  } else if (daemonSubcommand === "install") {
671
682
  try {
672
- await (await import('./install-fYWHrPcC.mjs')).install();
683
+ await (await import('./install-hnve_9vq.mjs')).install();
673
684
  } catch (error) {
674
685
  console.error(chalk.red("Error:"), error instanceof Error ? error.message : "Unknown error");
675
686
  process.exit(1);
676
687
  }
677
688
  } else if (daemonSubcommand === "uninstall") {
678
689
  try {
679
- await (await import('./uninstall-DOb2mTwV.mjs')).uninstall();
690
+ await (await import('./uninstall-_fjGRP9b.mjs')).uninstall();
680
691
  } catch (error) {
681
692
  console.error(chalk.red("Error:"), error instanceof Error ? error.message : "Unknown error");
682
693
  process.exit(1);
@@ -807,6 +818,8 @@ ${chalk.bold("Usage:")}
807
818
  sessions or scripts with tracked runs (auto --help)
808
819
  very-happy sandbox Configure and manage OS-level sandboxing
809
820
  very-happy notify Send push notification
821
+ very-happy panels Web panels declared in settings.json (panels list|check)
822
+ very-happy attention Ask a person to step in (attention "<reason>" [--panel id])
810
823
  very-happy mcp Stdio MCP server exposing copy_to_clipboard for a
811
824
  plain claude CLI (register once with:
812
825
  claude mcp add --scope user very-happy-clipboard -- very-happy mcp)
@@ -863,7 +876,7 @@ ${chalk.bold.cyan("Claude Code Options (from `claude --help`):")}
863
876
  await ensureDaemonRunning();
864
877
  }
865
878
  try {
866
- const { runClaude } = await import('./runClaude-zrrNcQC_.mjs');
879
+ const { runClaude } = await import('./runClaude-C_3I8hvR.mjs');
867
880
  await runClaude(credentials, options);
868
881
  } catch (error) {
869
882
  console.error(chalk.red("Error:"), error instanceof Error ? error.message : "Unknown error");
@@ -922,7 +935,7 @@ ${chalk.bold("Examples:")}
922
935
  }
923
936
  console.log(chalk.blue("\u{1F4F1} Sending push notification..."));
924
937
  try {
925
- const { ApiClient } = await import('./api-Dib0dmqC.mjs').then(function (n) { return n.b; });
938
+ const { ApiClient } = await import('./api-CzwFpJQc.mjs').then(function (n) { return n.b; });
926
939
  const api = await ApiClient.create(credentials);
927
940
  const notificationTitle = title || "Happy";
928
941
  api.push().sendToAllDevices(