very-happy-cli 0.2.179 → 0.2.181

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 (214) hide show
  1. package/dist/{AcpBackend-DFipFF7-.cjs → AcpBackend-CgHb_ya5.cjs} +3 -3
  2. package/dist/{AcpBackend-CHp3y7cb.mjs → AcpBackend-DZGCSuXF.mjs} +3 -3
  3. package/dist/{AcpSessionManager-0zpvRJXc.cjs → AcpSessionManager-CacC2EVn.cjs} +1 -1
  4. package/dist/{AcpSessionManager-d2-rKWWa.mjs → AcpSessionManager-DwuPzWBh.mjs} +1 -1
  5. package/dist/{BasePermissionHandler-CH3zuEkA.cjs → BasePermissionHandler-DCP8ZEB4.cjs} +1 -1
  6. package/dist/{BasePermissionHandler-DdZBYIR4.mjs → BasePermissionHandler-Uo-GUjbb.mjs} +1 -1
  7. package/dist/{acpSessionResume-DTGmAPLt.mjs → acpSessionResume-9OLTD6kT.mjs} +1 -1
  8. package/dist/{acpSessionResume-oiCBnAVA.cjs → acpSessionResume-BaVMD80f.cjs} +1 -1
  9. package/dist/{agentHome-CghLvL_1.mjs → agentHome-B1BsKeqD.mjs} +4 -4
  10. package/dist/{agentHome-BWcz8mz0.cjs → agentHome-BtUmGcPX.cjs} +4 -4
  11. package/dist/{api-Cmjfr8Z7.cjs → api-COHFAkb_.cjs} +20 -12
  12. package/dist/{api-CzwFpJQc.mjs → api-Dr3wXL_7.mjs} +21 -13
  13. package/dist/{apiMachine-DJkTEiqy.mjs → apiMachine-CHEzPQdS.mjs} +73 -32
  14. package/dist/{apiMachine-G6OogT08.cjs → apiMachine-D8H7CXaz.cjs} +75 -34
  15. package/dist/{attachmentContent-B2os4HbA.mjs → attachmentContent-1YwtKgWl.mjs} +2 -2
  16. package/dist/{attachmentContent-Bo0UAsSu.cjs → attachmentContent-mIhbtRKl.cjs} +2 -2
  17. package/dist/{auth-DMX0xPNK.mjs → auth-CbZkcMAb.mjs} +8 -8
  18. package/dist/{auth-D6bBUwZa.cjs → auth-CgQP7d0q.cjs} +5 -5
  19. package/dist/{auth-BS6PaOOG.mjs → auth-DZsthtSk.mjs} +5 -5
  20. package/dist/{auth-HEhRaNgL.cjs → auth-Fg8fLadK.cjs} +8 -8
  21. package/dist/{auto-C6I55iOh.cjs → auto-BB7kqSh5.cjs} +19 -19
  22. package/dist/{auto-Cl1SEDcD.mjs → auto-_T-Ud-z5.mjs} +19 -19
  23. package/dist/{backgroundTaskActivity-BVwJBl02.mjs → backgroundTaskActivity-8PdPxrvy.mjs} +1 -1
  24. package/dist/{bootstrap-iuyufnp3.mjs → bootstrap-B6EkZh4u.mjs} +2 -2
  25. package/dist/{bootstrap-exVucYav.cjs → bootstrap-CYtOtbi7.cjs} +2 -2
  26. package/dist/{browser-CSYum7xH.mjs → browser-C2qhUHSE.mjs} +1 -1
  27. package/dist/{browser-BohJK12g.cjs → browser-DjNNQQk2.cjs} +1 -1
  28. package/dist/{claudeCliPath-U4HHmV4r.cjs → claudeCliPath-GaP3UUz1.cjs} +1 -1
  29. package/dist/{claudeLocal-Dq_R3Ax_.mjs → claudeLocal-BAFjWhZ8.mjs} +6 -6
  30. package/dist/{claudeLocal-re4yjSTx.cjs → claudeLocal-O_w7-fBh.cjs} +8 -8
  31. package/dist/{claudeLocalLauncher-CN67lN7-.mjs → claudeLocalLauncher-CWn30LZR.mjs} +11 -11
  32. package/dist/{claudeLocalLauncher-B4hJHpCA.cjs → claudeLocalLauncher-Df3zg1q0.cjs} +13 -13
  33. package/dist/{claudeSessionFork-BihfD0Ik.mjs → claudeSessionFork-2ZkSTOGn.mjs} +1 -1
  34. package/dist/{claudeSessionFork-DiSMYerV.cjs → claudeSessionFork-pwcKqB-e.cjs} +1 -1
  35. package/dist/{client-BhoEBnuN.mjs → client-BKyU66lg.mjs} +2 -2
  36. package/dist/{client-BKcK1Bi-.cjs → client-CUO3ItoB.cjs} +34 -8
  37. package/dist/{client-wo9nbxuf.mjs → client-CXOnzuOy.mjs} +2 -2
  38. package/dist/{client-ZjOsn6nZ.cjs → client-DWs6k041.cjs} +2 -2
  39. package/dist/{client-CuVdN6PP.cjs → client-D_U2VjO3.cjs} +2 -2
  40. package/dist/{client-DuTDwWSQ.mjs → client-DsQcxVUV.mjs} +34 -9
  41. package/dist/codex/happyMcpStdioBridge.cjs +17 -17
  42. package/dist/codex/happyMcpStdioBridge.mjs +18 -18
  43. package/dist/{codexAppServerClient-Dt5zxrun.cjs → codexAppServerClient-BRX3JZ_5.cjs} +3 -3
  44. package/dist/{codexAppServerClient-BK3zra_1.mjs → codexAppServerClient-C3JO3pwM.mjs} +3 -3
  45. package/dist/{codexCommand-B6pY7CMh.mjs → codexCommand-BZIAAqKS.mjs} +59 -51
  46. package/dist/{codexCommand-CAZ1SLjg.cjs → codexCommand-dKOc5iQl.cjs} +85 -77
  47. package/dist/{codexTermination-DmGbHxcD.cjs → codexTermination-BVR9HeVI.cjs} +7 -2
  48. package/dist/{codexTermination-Cd1Eon_4.mjs → codexTermination-ztFkwHrG.mjs} +7 -2
  49. package/dist/{config-2oMG_fEI.mjs → config-NbHjx8ge.mjs} +3 -3
  50. package/dist/{config-B0uK6K7n.cjs → config-cftYxLC7.cjs} +26 -26
  51. package/dist/{configuration-WMi4idBB.mjs → configuration-BPrfb17M.mjs} +1 -1
  52. package/dist/{configuration-CMHZnp6G.cjs → configuration-C8JgseHy.cjs} +1 -1
  53. package/dist/{connect-uaglGrde.cjs → connect-Br8VMrK1.cjs} +27 -27
  54. package/dist/{connect-BLVHhHzA.mjs → connect-CLD1ai0k.mjs} +14 -14
  55. package/dist/{context-DXzU5bFM.cjs → context-D1lgQTJC.cjs} +1 -1
  56. package/dist/{context-DploEcoN.mjs → context-_YGq8xdH.mjs} +1 -1
  57. package/dist/{controlClient-BWUJrj3t.mjs → controlClient-CkNpT5zS.mjs} +4 -4
  58. package/dist/{controlClient-C-5qCt8W.cjs → controlClient-D68Zj7Q-.cjs} +3 -3
  59. package/dist/{createSessionMetadata-3uXrJgOW.mjs → createSessionMetadata-3WAj3_xl.mjs} +2 -2
  60. package/dist/{createSessionMetadata-BkIzHALd.cjs → createSessionMetadata-DNIbKLHg.cjs} +3 -3
  61. package/dist/{defaultPermissionMode-pS3vmiSg.cjs → defaultPermissionMode-BmvjP32v.cjs} +2 -2
  62. package/dist/{defaultPermissionMode-BzxLh20a.mjs → defaultPermissionMode-DXMznl8v.mjs} +2 -2
  63. package/dist/{detectCLI-DR9ZaN6B.cjs → detectCLI-BuYR_Qxe.cjs} +4 -4
  64. package/dist/{deterministicJson-B8z2GPi9.cjs → deterministicJson-BS7D7URE.cjs} +89 -24
  65. package/dist/{deterministicJson-D_whDMFd.mjs → deterministicJson-BcBIKKf1.mjs} +87 -24
  66. package/dist/{doctor-Br1Kcy2J.cjs → doctor-Be7zC0AF.cjs} +10 -9
  67. package/dist/{doctor-CmtSsR2-.mjs → doctor-CoOaPq6w.mjs} +8 -8
  68. package/dist/{doctorReadiness-BCZGcN0a.cjs → doctorReadiness-Dl6yRQCy.cjs} +1 -1
  69. package/dist/{downloadTarget-BoNwTIH_.mjs → downloadTarget-CeaAXdJj.mjs} +6 -6
  70. package/dist/{downloadTarget-BQJK_6oH.cjs → downloadTarget-LyOiucn_.cjs} +6 -6
  71. package/dist/{ensureDaemonRunning-Czo9IHJQ.mjs → ensureDaemonRunning--98j7-17.mjs} +5 -5
  72. package/dist/{ensureDaemonRunning-BRUmsq6J.cjs → ensureDaemonRunning-B8z37VKD.cjs} +6 -6
  73. package/dist/fileStore-5qpetZS0.mjs +146 -0
  74. package/dist/fileStore-7qhnbs6N.cjs +152 -0
  75. package/dist/{handleResumeCommand-tKD_Hpxc.cjs → handleResumeCommand-BFZlrFVH.cjs} +7 -7
  76. package/dist/{handleResumeCommand-C8thKjqf.mjs → handleResumeCommand-gO8I4keP.mjs} +6 -6
  77. package/dist/{index-DMqDMT1Q.cjs → index-B5PXbZjW.cjs} +80 -62
  78. package/dist/{index-D09T1m8Y.cjs → index-BRMq9gOe.cjs} +3 -3
  79. package/dist/{index-B0UjHlAe.cjs → index-BkluinoS.cjs} +4 -4
  80. package/dist/{index-CdQI0C9p.mjs → index-CO0n9ue6.mjs} +4 -4
  81. package/dist/{index-DPOa4NhL.mjs → index-CeRXrGnH.mjs} +41 -6
  82. package/dist/{index-C6O2vVjm.cjs → index-Df2eHm3O.cjs} +42 -6
  83. package/dist/{index-BTxHphpV.mjs → index-DneHoQXf.mjs} +80 -62
  84. package/dist/{index-BiyC7cZ3.mjs → index-WUj3954m.mjs} +4 -4
  85. package/dist/{index-D3bidoG8.mjs → index-hQ8LP1C2.mjs} +3 -3
  86. package/dist/{index-CUuc6iCn.cjs → index-jF2t3ACW.cjs} +4 -4
  87. package/dist/index.cjs +2 -2
  88. package/dist/index.mjs +2 -2
  89. package/dist/{install-BX3lv3NO.mjs → install-D0inLCv-.mjs} +1 -1
  90. package/dist/{install-BXvf2E3o.cjs → install-D2NCbeJ-.cjs} +1 -1
  91. package/dist/{install-hnve_9vq.mjs → install-DkYFiVK4.mjs} +3 -3
  92. package/dist/{install-CYRZxS87.cjs → install-FqkSUjPC.cjs} +7 -7
  93. package/dist/{installPiTools-BKnXjrVu.cjs → installPiTools-CL_axh_6.cjs} +1 -1
  94. package/dist/{installTerminalHooks-BQZbvxsZ.cjs → installTerminalHooks-BETLKAtd.cjs} +3 -3
  95. package/dist/lib.cjs +13 -13
  96. package/dist/lib.d.cts +216 -2
  97. package/dist/lib.d.mts +216 -2
  98. package/dist/lib.mjs +13 -13
  99. package/dist/{lidState-Bb8fgXg3.mjs → lidState-DghbfRbr.mjs} +1 -1
  100. package/dist/{lidState-Dv2wwFTj.cjs → lidState-x8cJ8J_9.cjs} +1 -1
  101. package/dist/{localHappyAgentAuth-DjYvkXvV.cjs → localHappyAgentAuth-DZ2kb9uq.cjs} +1 -1
  102. package/dist/{localHappyAgentAuth-NEU7fax7.mjs → localHappyAgentAuth-IKmeRpuQ.mjs} +1 -1
  103. package/dist/{logger-C1GWx3gi.cjs → logger-DgBwUSgS.cjs} +2 -2
  104. package/dist/{logger-BtVhHnD8.mjs → logger-LFr8iPgl.mjs} +2 -2
  105. package/dist/machineMetadata-BglCsfvf.mjs +75 -0
  106. package/dist/machineMetadata-DB03ez4K.cjs +87 -0
  107. package/dist/{main-CWhSsbtU.cjs → main-YQ-Vkakw.cjs} +99 -132
  108. package/dist/{main-B2LWV8DI.mjs → main-_1LSzlLv.mjs} +93 -126
  109. package/dist/{mcp-CARUsXHV.cjs → mcp-BIY80jSc.cjs} +15 -15
  110. package/dist/{mcp-ext92q3Y.mjs → mcp-Csj-mT5Y.mjs} +15 -15
  111. package/dist/{mirrorProtocol-DEy2g1CB.cjs → mirrorProtocol-BphKIAK9.cjs} +15 -6
  112. package/dist/{mirrorProtocol-BwYibqry.mjs → mirrorProtocol-CAxOMBkb.mjs} +15 -6
  113. package/dist/{package-BPPebGQF.mjs → package-DYGwlmXl.mjs} +9 -8
  114. package/dist/{package-SgqTYsjn.cjs → package-NoD8QOOM.cjs} +9 -8
  115. package/dist/{panels-BZ0_Tt7B.mjs → panels-B8zRm7_d.mjs} +5 -5
  116. package/dist/{panels-D1c7q2dD.cjs → panels-DYEc1NyQ.cjs} +5 -5
  117. package/dist/{peerTools-CWKzcQ7u.mjs → peerTools-CK3JYu1k.mjs} +5 -5
  118. package/dist/{peerTools-DRQETXaz.cjs → peerTools-CP-x-Peu.cjs} +5 -5
  119. package/dist/{persistence-BegE7NPa.cjs → persistence-BY-D00wT.cjs} +2 -2
  120. package/dist/{persistence-Cr-wutZ4.mjs → persistence-D2Djrf7t.mjs} +2 -2
  121. package/dist/pi-CqyoZMjI.mjs +380 -0
  122. package/dist/pi-DlsrPCTa.cjs +400 -0
  123. package/dist/{piRunnerArgs-DwvM_yWA.mjs → piRunnerArgs-IZLoL7TG.mjs} +1 -1
  124. package/dist/{piRunnerArgs-Cs-378Vz.cjs → piRunnerArgs-gxLYIZH4.cjs} +1 -1
  125. package/dist/{piRuntime-Bue5mnlc.mjs → piRuntime-D7Y4oHVL.mjs} +2 -2
  126. package/dist/{piRuntime-BG-1td_n.cjs → piRuntime-o5L8uX-W.cjs} +2 -2
  127. package/dist/{piTerminal-G4z-xVyy.cjs → piTerminal-C_-JDkLN.cjs} +18 -18
  128. package/dist/{piTerminal-B5x9X5yV.mjs → piTerminal-Kphx8Uhw.mjs} +18 -18
  129. package/dist/projectPath-C3ioB4Bu.cjs +13 -0
  130. package/dist/{prompt-lgF9IE82.cjs → prompt-Bof2aQkI.cjs} +7 -2
  131. package/dist/{prompt-BOouDaTM.mjs → prompt-QHuFx9j6.mjs} +7 -2
  132. package/dist/{pushNotifications-DaLQUyi0.cjs → pushNotifications-BXoOSq_G.cjs} +14 -4
  133. package/dist/{pushNotifications-BdFjDjQe.mjs → pushNotifications-DXGIhE-A.mjs} +14 -4
  134. package/dist/{query-DYP_W1wp.mjs → query-CcA6DVZK.mjs} +1 -1
  135. package/dist/{query-Ctfg-5gy.cjs → query-CdCxzuaB.cjs} +1 -1
  136. package/dist/{rateLimitWindows-Dj_8voBK.cjs → rateLimitWindows-OpAmdOtC.cjs} +1 -1
  137. package/dist/{rateLimitWindows-CuEqk_0g.mjs → rateLimitWindows-ZtHZHe-l.mjs} +1 -1
  138. package/dist/{registerCommonHandlers-Cj084Sg7.cjs → registerCommonHandlers-CRjBoJLK.cjs} +30 -30
  139. package/dist/{registerCommonHandlers-BAlP7SGc.mjs → registerCommonHandlers-DF6bdDtd.mjs} +2 -2
  140. package/dist/{registerKillSessionHandler-qMju0ZfF.cjs → registerKillSessionHandler-7fOm6ooh.cjs} +6 -6
  141. package/dist/{registerKillSessionHandler-PD0jWtQo.mjs → registerKillSessionHandler-DDCKL3wf.mjs} +6 -6
  142. package/dist/{remoteSessionClient-Bn2qu5C5.mjs → remoteSessionClient-B2POSKFT.mjs} +5 -5
  143. package/dist/{remoteSessionClient-B7i7MkYV.cjs → remoteSessionClient-CFCn42bs.cjs} +5 -5
  144. package/dist/{reportProgressTool-gHItlSzz.mjs → reportProgressTool-tPxEvh6x.mjs} +4 -4
  145. package/dist/{reportProgressTool-CM1JFAHg.cjs → reportProgressTool-th4trcET.cjs} +4 -4
  146. package/dist/{resources-CvIlkzpP.cjs → resources-BPyN59Iv.cjs} +23 -2
  147. package/dist/{resources-y9jfyO-_.mjs → resources-CH1iP6Cv.mjs} +22 -3
  148. package/dist/{run-CNXwIe0A.cjs → run-C_FumCQk.cjs} +2767 -183
  149. package/dist/{run-BM4TxiyN.mjs → run-cKQBbVi4.mjs} +2762 -178
  150. package/dist/{runClaude-C_3I8hvR.mjs → runClaude-CYnM6krL.mjs} +34 -28
  151. package/dist/{runClaude-CWhj2V4Q.cjs → runClaude-z_2YC_aa.cjs} +35 -29
  152. package/dist/{runClaudeDeps-B81cOKnH.cjs → runClaudeDeps-CLubzWnA.cjs} +59 -122
  153. package/dist/{runClaudeDeps-QGrOeDe2.mjs → runClaudeDeps-duS06Pb4.mjs} +52 -114
  154. package/dist/{runGemini-BEdWEZLR.mjs → runGemini-C_Pc2EhH.mjs} +39 -37
  155. package/dist/{runGemini-CgRLYbt5.cjs → runGemini-vEoXV6qT.cjs} +67 -65
  156. package/dist/{runOpenClaw-C1NVmzOL.cjs → runOpenClaw-CXJCtMgB.cjs} +20 -20
  157. package/dist/{runOpenClaw-DdQZAYj1.mjs → runOpenClaw-Cxun1qLC.mjs} +19 -19
  158. package/dist/{sandbox-nocIjliq.cjs → sandbox-CO46H2tK.cjs} +4 -4
  159. package/dist/{sandbox-DjQUdCMG.mjs → sandbox-CsvPnTmz.mjs} +4 -4
  160. package/dist/{selfCheck-DCt4Uzbq.cjs → selfCheck-DIr7Gc0i.cjs} +39 -39
  161. package/dist/selfCheck-NamtBHVB.mjs +85 -0
  162. package/dist/{send-Ct7X4pPU.mjs → send-DMoFg6F1.mjs} +9 -9
  163. package/dist/{send-Dydf_hwZ.cjs → send-X2mfVEyr.cjs} +8 -8
  164. package/dist/{server-CosABFbd.cjs → server-BwTEdbkr.cjs} +6 -6
  165. package/dist/{server-DTQGZMxh.mjs → server-CkqQ0sRH.mjs} +4 -4
  166. package/dist/sessionExitLifecycle-CzkLIgNZ.mjs +142 -0
  167. package/dist/sessionExitLifecycle-DFltxXU8.cjs +148 -0
  168. package/dist/{sessionLock-DokGab2R.cjs → sessionLock-CdIRJlHH.cjs} +25 -5
  169. package/dist/{sessionLock-WYIyaVO4.mjs → sessionLock-JIfwCqMk.mjs} +24 -5
  170. package/dist/{sessionOps-S-qPBLFf.cjs → sessionOps-DVA-00nR.cjs} +4 -4
  171. package/dist/{sessionOps-BIGgRube.mjs → sessionOps-DqlftXxe.mjs} +5 -5
  172. package/dist/{sessionScanner-o5hnMi5e.mjs → sessionScanner-BI0Vo1xT.mjs} +3 -3
  173. package/dist/{sessionScanner-CIMM2hvZ.cjs → sessionScanner-BMwgGAhY.cjs} +3 -3
  174. package/dist/{sessions-BJHEZpi2.mjs → sessions-D6IimX7b.mjs} +11 -11
  175. package/dist/{sessions-JchI1w3z.cjs → sessions-DjgEcHaT.cjs} +10 -10
  176. package/dist/{setupOfflineReconnection-CNiAt5ZP.cjs → setupOfflineReconnection-CjuCiKY3.cjs} +2 -2
  177. package/dist/{setupOfflineReconnection-DMiBO2y9.mjs → setupOfflineReconnection-DgJK_4m1.mjs} +2 -2
  178. package/dist/{spawn-DgvUNYEo.mjs → spawn-Dvzy-tzc.mjs} +15 -15
  179. package/dist/{spawn-6PD7nnoC.cjs → spawn-rhF28shY.cjs} +15 -15
  180. package/dist/{spawnAgents-P006Hqio.mjs → spawnAgents-CCnlq-FI.mjs} +1 -1
  181. package/dist/{spawnAgents-DsXgegHM.cjs → spawnAgents-iwuqrgR9.cjs} +1 -1
  182. package/dist/{spawnHappyCLI-Dywezwk6.cjs → spawnHappyCLI-DnKmIsEt.cjs} +2 -2
  183. package/dist/{spawnHappyCLI-CCOrEtf9.mjs → spawnHappyCLI-Dq3LLXLb.mjs} +1 -1
  184. package/dist/{specialCommands-DPcd9edP.mjs → specialCommands-CcyZ1hGA.mjs} +3 -3
  185. package/dist/{specialCommands-QxPpkGKf.cjs → specialCommands-Zwr2C6A2.cjs} +3 -3
  186. package/dist/{startFileWatcher-DghDOCO4.mjs → startFileWatcher-4thXDK9d.mjs} +1 -1
  187. package/dist/{startFileWatcher-RECH5qY8.cjs → startFileWatcher-K6hJSyiR.cjs} +1 -1
  188. package/dist/startupSessionCreate-BfByJ16A.mjs +24 -0
  189. package/dist/startupSessionCreate-CKEbq0tL.cjs +26 -0
  190. package/dist/{streamRelay-DlUWKUpo.cjs → streamRelay-Gy8Xfnon.cjs} +1 -1
  191. package/dist/{streamRelay-DMV_TXfS.mjs → streamRelay-LcDvyEjK.mjs} +1 -1
  192. package/dist/{sync-D23jbqVa.cjs → sync-1hQ5KHpL.cjs} +1 -1
  193. package/dist/{sync-CSe0Rf45.mjs → sync-DO-2PU45.mjs} +1 -1
  194. package/dist/{systemPrompt-CFNKnh65.mjs → systemPrompt-BctLfMZs.mjs} +3 -3
  195. package/dist/{systemPrompt-BOy4kU4P.cjs → systemPrompt-Dj7pgkMK.cjs} +3 -3
  196. package/dist/{teams-DyY669f0.mjs → teams-Bu8YeOoF.mjs} +8 -8
  197. package/dist/{teams-Ov2BDT-A.cjs → teams-uQxUlyyz.cjs} +8 -8
  198. package/dist/{time-65DcU6Jx.mjs → time-BcoJaG8E.mjs} +1 -1
  199. package/dist/{time-CrwIMHta.cjs → time-nqa9shu8.cjs} +1 -1
  200. package/dist/{titleGenerator-CS_rh2_J.cjs → titleGenerator-D09XyYYG.cjs} +3 -3
  201. package/dist/{titleGenerator-CiAMxf7s.mjs → titleGenerator-D5r06bhf.mjs} +1 -1
  202. package/dist/{todo-KY-okGii.cjs → todo-CCOnL7pT.cjs} +6 -6
  203. package/dist/{todo-BDONw0sK.mjs → todo-D1q8146q.mjs} +6 -6
  204. package/dist/{tools-D8-PnZEG.mjs → tools-D2E--n1x.mjs} +3 -3
  205. package/dist/{tools-_w52DZG6.cjs → tools-DiCXnAC5.cjs} +3 -3
  206. package/dist/{uninstall-8vnLN-IE.cjs → uninstall-BrNwwwSD.cjs} +6 -6
  207. package/dist/{uninstall-_fjGRP9b.mjs → uninstall-CtwXi1Rt.mjs} +3 -3
  208. package/package.json +9 -8
  209. package/dist/machineMetadata-CLHS9sv_.cjs +0 -42
  210. package/dist/machineMetadata-D-g--oU_.mjs +0 -39
  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-CjCF4C3v.mjs +0 -85
@@ -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-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';
2
+ import { l as logger, g as getLatestDaemonLog } from './logger-LFr8iPgl.mjs';
3
+ import { d as readDaemonState, r as readSettings, b as readCredentialsForConfiguredRelay } from './persistence-D2Djrf7t.mjs';
4
+ import { a as authAndSetupMachineIfNeeded } from './auth-DZsthtSk.mjs';
5
+ import { p as packageJson } from './package-DYGwlmXl.mjs';
6
6
  import { z } from 'zod';
7
- import { l as listDaemonSessions, s as stopDaemonSession, a as checkIfDaemonRunningAndCleanupStaleState, b as stopDaemon } from './controlClient-BWUJrj3t.mjs';
7
+ import { l as listDaemonSessions, f as stopDaemonSession, a as checkIfDaemonRunningAndCleanupStaleState, s as stopDaemon } from './controlClient-CkNpT5zS.mjs';
8
8
  import { S as SYSTEMD_RESTART_HINT } from './daemonSupervisor-C6urv3_8.mjs';
9
- import { s as spawnHappyCLI } from './spawnHappyCLI-CCOrEtf9.mjs';
9
+ import { s as spawnHappyCLI } from './spawnHappyCLI-Dq3LLXLb.mjs';
10
10
  import { execFileSync } from 'node:child_process';
11
- import { e as ensureDaemonRunning, a as extractNoSandboxFlag } from './ensureDaemonRunning-Czo9IHJQ.mjs';
11
+ import { e as ensureDaemonRunning, a as extractNoSandboxFlag } from './ensureDaemonRunning--98j7-17.mjs';
12
12
  import { p as planClaudeStartup } from './startupPlan-DFMyNgAs.mjs';
13
- import { i as isStandaloneVersionRequest } from './index-D3bidoG8.mjs';
14
- import { c as configuration } from './configuration-WMi4idBB.mjs';
13
+ import { i as isStandaloneVersionRequest } from './index-hQ8LP1C2.mjs';
14
+ import { c as configuration } from './configuration-BPrfb17M.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-DwvM_yWA.mjs';
16
+ import { p as parsePiRunnerArgs, m as missingPiPrerequisites, a as piSetupMessage, b as piAdapterMissingHint } from './piRunnerArgs-IZLoL7TG.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-65DcU6Jx.mjs';
27
- import './browser-CSYum7xH.mjs';
26
+ import './time-BcoJaG8E.mjs';
27
+ import './browser-C2qhUHSE.mjs';
28
28
  import 'open';
29
29
  import 'cross-spawn';
30
30
  import './projectPath-BTBIMB57.mjs';
@@ -32,7 +32,7 @@ import 'path';
32
32
  import 'url';
33
33
  import 'node:module';
34
34
  import 'node:os';
35
- import './acpSessionResume-DTGmAPLt.mjs';
35
+ import './acpSessionResume-9OLTD6kT.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-CmtSsR2-.mjs').then(function (n) { return n.d; })).runDoctorCommand();
96
+ await (await import('./doctor-CoOaPq6w.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-DMX0xPNK.mjs')).handleAuthCommand(args.slice(1));
100
+ await (await import('./auth-CbZkcMAb.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-BLVHhHzA.mjs')).handleConnectCommand(args.slice(1));
107
+ await (await import('./connect-CLD1ai0k.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-DjQUdCMG.mjs')).handleSandboxCommand(args.slice(1));
114
+ await (await import('./sandbox-CsvPnTmz.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-DTQGZMxh.mjs')).handleServerCommand(args.slice(1));
121
+ await (await import('./server-CkqQ0sRH.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-CghLvL_1.mjs');
153
+ const { parseAgentHomeArgs, runAgentHomeCommand } = await import('./agentHome-B1BsKeqD.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-DgvUNYEo.mjs');
162
+ const { handleSpawnCommand } = await import('./spawn-Dvzy-tzc.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-BJHEZpi2.mjs');
170
+ const { handleSessionsCommand } = await import('./sessions-D6IimX7b.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-Ct7X4pPU.mjs');
178
+ const { handleSendCommand } = await import('./send-DMoFg6F1.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-C8thKjqf.mjs')).handleResumeCommand(args.slice(1));
186
+ await (await import('./handleResumeCommand-gO8I4keP.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-B6pY7CMh.mjs')).handleCodexCommand(args.slice(1));
193
+ await (await import('./codexCommand-BZIAAqKS.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-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; });
272
+ const { saveGoogleCloudProjectToConfig } = await import('./config-NbHjx8ge.mjs');
273
+ const { readCredentialsForConfiguredRelay: readCredentialsForConfiguredRelay2 } = await import('./persistence-D2Djrf7t.mjs').then(function (n) { return n.F; });
274
+ const { ApiClient } = await import('./api-Dr3wXL_7.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-2oMG_fEI.mjs');
305
+ const { readGeminiLocalConfig } = await import('./config-NbHjx8ge.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-BEdWEZLR.mjs');
345
+ const { runGemini } = await import('./runGemini-C_Pc2EhH.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-B5x9X5yV.mjs');
364
+ const { runPiTerminal } = await import('./piTerminal-Kphx8Uhw.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-BTxHphpV.mjs');
389
+ const { runAcp, resolveAcpAgentConfig } = await import('./index-DneHoQXf.mjs');
415
390
  const resolved = resolveAcpAgentConfig(["pi", ...parsed.passthrough]);
416
391
  const { credentials } = await authAndSetupMachineIfNeeded();
417
392
  await ensureDaemonRunning();
@@ -427,8 +402,12 @@ Conversation history is preserved on the server, but in-flight tool calls are in
427
402
  onBackendError: printHint,
428
403
  resumeAgentSessionId: parsed.resume
429
404
  });
430
- if (hintPrinted) process.exit(1);
405
+ if (hintPrinted) {
406
+ recordExitReason(1, "pi adapter prerequisites are missing");
407
+ process.exit(1);
408
+ }
431
409
  } catch (error) {
410
+ recordExitReason(1, errorReason(error));
432
411
  console.error(chalk.red("Error:"), error instanceof Error ? error.message : "Unknown error");
433
412
  printHint(error instanceof Error ? error.message : void 0);
434
413
  if (process.env.DEBUG) {
@@ -439,7 +418,7 @@ Conversation history is preserved on the server, but in-flight tool calls are in
439
418
  return;
440
419
  } else if (subcommand === "acp") {
441
420
  try {
442
- const { runAcp, resolveAcpAgentConfig } = await import('./index-BTxHphpV.mjs');
421
+ const { runAcp, resolveAcpAgentConfig } = await import('./index-DneHoQXf.mjs');
443
422
  let startedBy = void 0;
444
423
  let verbose = false;
445
424
  const acpArgs = [];
@@ -470,16 +449,12 @@ Conversation history is preserved on the server, but in-flight tool calls are in
470
449
  args: resolved.args
471
450
  });
472
451
  } catch (error) {
473
- console.error(chalk.red("Error:"), error instanceof Error ? error.message : "Unknown error");
474
- if (process.env.DEBUG) {
475
- console.error(error);
476
- }
477
- process.exit(1);
452
+ failCommand(error);
478
453
  }
479
454
  return;
480
455
  } else if (subcommand === "openclaw") {
481
456
  try {
482
- const { runOpenClaw } = await import('./runOpenClaw-DdQZAYj1.mjs');
457
+ const { runOpenClaw } = await import('./runOpenClaw-Cxun1qLC.mjs');
483
458
  let startedBy = void 0;
484
459
  let verbose = false;
485
460
  let gatewayUrl;
@@ -509,28 +484,20 @@ Conversation history is preserved on the server, but in-flight tool calls are in
509
484
  gatewayPassword
510
485
  });
511
486
  } catch (error) {
512
- console.error(chalk.red("Error:"), error instanceof Error ? error.message : "Unknown error");
513
- if (process.env.DEBUG) {
514
- console.error(error);
515
- }
516
- process.exit(1);
487
+ failCommand(error);
517
488
  }
518
489
  return;
519
490
  } else if (subcommand === "logout") {
520
491
  console.log(chalk.yellow('Note: "very-happy logout" is deprecated. Use "very-happy auth logout" instead.\n'));
521
492
  try {
522
- await (await import('./auth-DMX0xPNK.mjs')).handleAuthCommand(["logout"]);
493
+ await (await import('./auth-CbZkcMAb.mjs')).handleAuthCommand(["logout"]);
523
494
  } catch (error) {
524
- console.error(chalk.red("Error:"), error instanceof Error ? error.message : "Unknown error");
525
- if (process.env.DEBUG) {
526
- console.error(error);
527
- }
528
- process.exit(1);
495
+ failCommand(error);
529
496
  }
530
497
  return;
531
498
  } else if (subcommand === "todo") {
532
499
  try {
533
- const { handleTodoCommand } = await import('./todo-BDONw0sK.mjs');
500
+ const { handleTodoCommand } = await import('./todo-D1q8146q.mjs');
534
501
  await handleTodoCommand(args.slice(1));
535
502
  } catch (error) {
536
503
  console.error(JSON.stringify({ error: error instanceof Error ? error.message : "Todo command failed" }));
@@ -539,7 +506,7 @@ Conversation history is preserved on the server, but in-flight tool calls are in
539
506
  return;
540
507
  } else if (subcommand === "teams") {
541
508
  try {
542
- const { handleTeamsCommand } = await import('./teams-DyY669f0.mjs');
509
+ const { handleTeamsCommand } = await import('./teams-Bu8YeOoF.mjs');
543
510
  await handleTeamsCommand(args.slice(1));
544
511
  } catch (error) {
545
512
  console.error(error instanceof Error ? error.message : "Teams command failed");
@@ -548,7 +515,7 @@ Conversation history is preserved on the server, but in-flight tool calls are in
548
515
  return;
549
516
  } else if (subcommand === "auto") {
550
517
  try {
551
- const { handleAutoCommand } = await import('./auto-Cl1SEDcD.mjs');
518
+ const { handleAutoCommand } = await import('./auto-_T-Ud-z5.mjs');
552
519
  await handleAutoCommand(args.slice(1));
553
520
  } catch (error) {
554
521
  console.error(chalk.red("Error:"), error instanceof Error ? error.message : "Automation command failed");
@@ -560,7 +527,7 @@ Conversation history is preserved on the server, but in-flight tool calls are in
560
527
  return;
561
528
  } else if (subcommand === "mcp" && (args.length === 1 || args.length === 2 && args[1] === "--terminal-tools")) {
562
529
  try {
563
- const { handleMcpCommand } = await import('./mcp-ext92q3Y.mjs');
530
+ const { handleMcpCommand } = await import('./mcp-Csj-mT5Y.mjs');
564
531
  await handleMcpCommand(args[1] === "--terminal-tools");
565
532
  } catch (error) {
566
533
  process.stderr.write(`[very-happy mcp] Fatal: ${error instanceof Error ? error.message : String(error)}
@@ -570,7 +537,7 @@ Conversation history is preserved on the server, but in-flight tool calls are in
570
537
  return;
571
538
  } else if (subcommand === "panels" || subcommand === "attention") {
572
539
  try {
573
- const { handlePanelsCommand, handleAttentionCommand } = await import('./panels-BZ0_Tt7B.mjs');
540
+ const { handlePanelsCommand, handleAttentionCommand } = await import('./panels-B8zRm7_d.mjs');
574
541
  if (subcommand === "panels") await handlePanelsCommand(args.slice(1));
575
542
  else await handleAttentionCommand(args.slice(1));
576
543
  } catch (error) {
@@ -582,11 +549,7 @@ Conversation history is preserved on the server, but in-flight tool calls are in
582
549
  try {
583
550
  await handleNotifyCommand(args.slice(1));
584
551
  } catch (error) {
585
- console.error(chalk.red("Error:"), error instanceof Error ? error.message : "Unknown error");
586
- if (process.env.DEBUG) {
587
- console.error(error);
588
- }
589
- process.exit(1);
552
+ failCommand(error);
590
553
  }
591
554
  return;
592
555
  } else if (subcommand === "daemon") {
@@ -662,13 +625,13 @@ Conversation history is preserved on the server, but in-flight tool calls are in
662
625
  }
663
626
  process.exit(0);
664
627
  } else if (daemonSubcommand === "start-sync") {
665
- await (await import('./run-BM4TxiyN.mjs')).startDaemon();
628
+ await (await import('./run-cKQBbVi4.mjs')).startDaemon();
666
629
  process.exit(0);
667
630
  } else if (daemonSubcommand === "stop") {
668
631
  await stopDaemon();
669
632
  process.exit(0);
670
633
  } else if (daemonSubcommand === "status") {
671
- await (await import('./doctor-CmtSsR2-.mjs').then(function (n) { return n.d; })).runDoctorDaemon();
634
+ await (await import('./doctor-CoOaPq6w.mjs').then(function (n) { return n.d; })).runDoctorDaemon();
672
635
  process.exit(0);
673
636
  } else if (daemonSubcommand === "logs") {
674
637
  const latest = await getLatestDaemonLog();
@@ -680,14 +643,14 @@ Conversation history is preserved on the server, but in-flight tool calls are in
680
643
  process.exit(0);
681
644
  } else if (daemonSubcommand === "install") {
682
645
  try {
683
- await (await import('./install-hnve_9vq.mjs')).install();
646
+ await (await import('./install-DkYFiVK4.mjs')).install();
684
647
  } catch (error) {
685
648
  console.error(chalk.red("Error:"), error instanceof Error ? error.message : "Unknown error");
686
649
  process.exit(1);
687
650
  }
688
651
  } else if (daemonSubcommand === "uninstall") {
689
652
  try {
690
- await (await import('./uninstall-_fjGRP9b.mjs')).uninstall();
653
+ await (await import('./uninstall-CtwXi1Rt.mjs')).uninstall();
691
654
  } catch (error) {
692
655
  console.error(chalk.red("Error:"), error instanceof Error ? error.message : "Unknown error");
693
656
  process.exit(1);
@@ -876,14 +839,10 @@ ${chalk.bold.cyan("Claude Code Options (from `claude --help`):")}
876
839
  await ensureDaemonRunning();
877
840
  }
878
841
  try {
879
- const { runClaude } = await import('./runClaude-C_3I8hvR.mjs');
842
+ const { runClaude } = await import('./runClaude-CYnM6krL.mjs');
880
843
  await runClaude(credentials, options);
881
844
  } catch (error) {
882
- console.error(chalk.red("Error:"), error instanceof Error ? error.message : "Unknown error");
883
- if (process.env.DEBUG) {
884
- console.error(error);
885
- }
886
- process.exit(1);
845
+ failCommand(error);
887
846
  }
888
847
  }
889
848
  }
@@ -935,7 +894,7 @@ ${chalk.bold("Examples:")}
935
894
  }
936
895
  console.log(chalk.blue("\u{1F4F1} Sending push notification..."));
937
896
  try {
938
- const { ApiClient } = await import('./api-CzwFpJQc.mjs').then(function (n) { return n.b; });
897
+ const { ApiClient } = await import('./api-Dr3wXL_7.mjs').then(function (n) { return n.b; });
939
898
  const api = await ApiClient.create(credentials);
940
899
  const notificationTitle = title || "Happy";
941
900
  api.push().sendToAllDevices(
@@ -956,5 +915,13 @@ ${chalk.bold("Examples:")}
956
915
  throw error;
957
916
  }
958
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
+ }
959
926
 
960
927
  export { main };
@@ -1,19 +1,19 @@
1
1
  'use strict';
2
2
 
3
- var tools = require('./tools-_w52DZG6.cjs');
3
+ var tools = require('./tools-DiCXnAC5.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-C-5qCt8W.cjs');
7
+ var controlClient = require('./controlClient-D68Zj7Q-.cjs');
8
8
  var limits = require('./limits-C-a7gr04.cjs');
9
- var downloadTarget = require('./downloadTarget-BQJK_6oH.cjs');
10
- var logger = require('./logger-C1GWx3gi.cjs');
9
+ var downloadTarget = require('./downloadTarget-LyOiucn_.cjs');
10
+ var logger = require('./logger-DgBwUSgS.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-BegE7NPa.cjs');
16
- require('./configuration-CMHZnp6G.cjs');
15
+ require('./persistence-BY-D00wT.cjs');
16
+ require('./configuration-C8JgseHy.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-CS_rh2_J.cjs');
26
+ var titleGenerator = require('./titleGenerator-D09XyYYG.cjs');
27
27
  var terminalToolContext = require('./terminalToolContext-DoV9Gs7K.cjs');
28
- require('./client-BKcK1Bi-.cjs');
29
- require('./context-DXzU5bFM.cjs');
30
- require('./sessionOps-S-qPBLFf.cjs');
28
+ require('./client-CUO3ItoB.cjs');
29
+ require('./context-D1lgQTJC.cjs');
30
+ require('./sessionOps-DVA-00nR.cjs');
31
31
  require('./authRelay-Dy1qU9td.cjs');
32
- require('./time-CrwIMHta.cjs');
32
+ require('./time-nqa9shu8.cjs');
33
33
  require('./backgroundTaskActivity-CBvUdj39.cjs');
34
- require('./remoteSessionClient-B7i7MkYV.cjs');
34
+ require('./remoteSessionClient-CFCn42bs.cjs');
35
35
  require('./ids-B6ZC0HGt.cjs');
36
- require('./bootstrap-exVucYav.cjs');
36
+ require('./bootstrap-CYtOtbi7.cjs');
37
37
  require('chalk');
38
38
  require('node:util');
39
39
  require('./trimIdent-4gvk9Wk6.cjs');
40
- require('./package-SgqTYsjn.cjs');
40
+ require('./package-NoD8QOOM.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-D8-PnZEG.mjs';
1
+ import { r as registerTeamsTools } from './tools-D2E--n1x.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-BWUJrj3t.mjs';
5
+ import { p as pushClipboardViaDaemon, b as pushFilePreviewViaDaemon, d as setTerminalTitleViaDaemon } from './controlClient-CkNpT5zS.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-BoNwTIH_.mjs';
8
- import { l as logger } from './logger-BtVhHnD8.mjs';
7
+ import { c as checkDownloadTarget, r as registerAssistantSessionTools } from './downloadTarget-CeaAXdJj.mjs';
8
+ import { l as logger } from './logger-LFr8iPgl.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-Cr-wutZ4.mjs';
14
- import './configuration-WMi4idBB.mjs';
13
+ import './persistence-D2Djrf7t.mjs';
14
+ import './configuration-BPrfb17M.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-CiAMxf7s.mjs';
24
+ import { s as suggestTitleForPrompt } from './titleGenerator-D5r06bhf.mjs';
25
25
  import { r as resolveMcpTerminalId } from './terminalToolContext-CFeGeaNm.mjs';
26
- import './client-DuTDwWSQ.mjs';
27
- import './context-DploEcoN.mjs';
28
- import './sessionOps-BIGgRube.mjs';
26
+ import './client-DsQcxVUV.mjs';
27
+ import './context-_YGq8xdH.mjs';
28
+ import './sessionOps-DqlftXxe.mjs';
29
29
  import './authRelay-DhQhkBvX.mjs';
30
- import './time-65DcU6Jx.mjs';
31
- import './backgroundTaskActivity-BVwJBl02.mjs';
32
- import './remoteSessionClient-Bn2qu5C5.mjs';
30
+ import './time-BcoJaG8E.mjs';
31
+ import './backgroundTaskActivity-8PdPxrvy.mjs';
32
+ import './remoteSessionClient-B2POSKFT.mjs';
33
33
  import './ids-DU6sLx4C.mjs';
34
- import './bootstrap-iuyufnp3.mjs';
34
+ import './bootstrap-B6EkZh4u.mjs';
35
35
  import 'chalk';
36
36
  import 'node:util';
37
37
  import './trimIdent-BAjmv_TG.mjs';
38
- import './package-BPPebGQF.mjs';
38
+ import './package-DYGwlmXl.mjs';
39
39
  import './tmuxSocket-B8Yx20sT.mjs';
40
40
  import 'node:module';
41
41
  import './oneShotPrompts-DT4p6RNd.mjs';
@@ -5,10 +5,18 @@ var node_crypto = require('node:crypto');
5
5
  var node_fs = require('node:fs');
6
6
  var path = require('node:path');
7
7
  var promises = require('node:fs/promises');
8
- var configuration = require('./configuration-CMHZnp6G.cjs');
9
- var index = require('./index-C6O2vVjm.cjs');
10
- var _package = require('./package-SgqTYsjn.cjs');
8
+ var configuration = require('./configuration-C8JgseHy.cjs');
9
+ var index = require('./index-Df2eHm3O.cjs');
10
+ var _package = require('./package-NoD8QOOM.cjs');
11
11
 
12
+ function spawnOriginForLog(value) {
13
+ if (!value || typeof value !== "object") return void 0;
14
+ const input = value;
15
+ const source = typeof input.source === "string" && /^[a-z][a-z-]{0,23}$/.test(input.source) ? input.source : "invalid";
16
+ const route = typeof input.route === "string" && /^[A-Za-z0-9/:._-]{1,64}$/.test(input.route) ? input.route : "invalid";
17
+ const flag = (v) => typeof v === "boolean" ? v : null;
18
+ return { source, route, visible: flag(input.visible), gesture: flag(input.gesture) };
19
+ }
12
20
  function summarizeSpawnSessionForLog(value) {
13
21
  const input = value && typeof value === "object" ? value : {};
14
22
  const environmentVariables = input.environmentVariables && typeof input.environmentVariables === "object" ? input.environmentVariables : {};
@@ -23,7 +31,8 @@ function summarizeSpawnSessionForLog(value) {
23
31
  resumesCodex: typeof input.resumeCodexThreadId === "string" && input.resumeCodexThreadId.length > 0,
24
32
  importsClaude: typeof input.importedFromClaudeSessionId === "string" && input.importedFromClaudeSessionId.length > 0,
25
33
  forceNew: input.forceNew === true,
26
- ...typeof input.permissionMode === "string" ? { permissionMode: input.permissionMode } : {}
34
+ ...typeof input.permissionMode === "string" ? { permissionMode: input.permissionMode } : {},
35
+ ...input.origin !== void 0 ? { origin: spawnOriginForLog(input.origin) } : {}
27
36
  };
28
37
  }
29
38
 
@@ -1170,10 +1179,10 @@ function startAgentVersionChecks(publish, onError, detect = detectAgentVersions)
1170
1179
  void refresh();
1171
1180
  const timer = setInterval(() => void refresh(), AGENT_CHECK_INTERVAL);
1172
1181
  timer.unref();
1173
- return () => {
1182
+ return Object.assign(() => {
1174
1183
  stopped = true;
1175
1184
  clearInterval(timer);
1176
- };
1185
+ }, { refresh });
1177
1186
  }
1178
1187
 
1179
1188
  function parseTerminalHookPayload(body) {