very-happy-cli 0.2.184 → 0.2.186

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 (196) hide show
  1. package/dist/{AcpBackend-Csg7Sy2P.mjs → AcpBackend-ConXUH67.mjs} +3 -3
  2. package/dist/{AcpBackend-DOzn74zn.cjs → AcpBackend-aVv-_nH_.cjs} +3 -3
  3. package/dist/{AcpSessionManager-BRK2F2yN.mjs → AcpSessionManager-BxD1AQ8L.mjs} +2 -2
  4. package/dist/{AcpSessionManager-CJXDNNtq.cjs → AcpSessionManager-aRdzf_6R.cjs} +2 -2
  5. package/dist/{BasePermissionHandler-CfrnkG3v.cjs → BasePermissionHandler-BsOLZCNB.cjs} +1 -1
  6. package/dist/{BasePermissionHandler-BqYwrCra.mjs → BasePermissionHandler-Hj7Qregq.mjs} +1 -1
  7. package/dist/{acpSessionResume-Dz1myMbR.mjs → acpSessionResume-CKacrrHV.mjs} +1 -1
  8. package/dist/{acpSessionResume-DZ65DBeE.cjs → acpSessionResume-CpPNoxaW.cjs} +1 -1
  9. package/dist/{agentHome-B_tu3tFJ.mjs → agentHome-CawmLuWV.mjs} +4 -4
  10. package/dist/{agentHome-CKAXhc8P.cjs → agentHome-VS7FrFQZ.cjs} +4 -4
  11. package/dist/{api-BpTDU2BO.mjs → api-DUFy21Nf.mjs} +67 -17
  12. package/dist/{api-rw5xkzxo.cjs → api-DjqQTT16.cjs} +67 -17
  13. package/dist/{apiMachine-wp0hWG3F.mjs → apiMachine-B0sBCHNZ.mjs} +14 -14
  14. package/dist/{apiMachine-Bs1XXHKs.cjs → apiMachine-D2BrVBYu.cjs} +14 -14
  15. package/dist/{attachmentContent-K_Up4InS.cjs → attachmentContent-2kInPZrP.cjs} +2 -2
  16. package/dist/{attachmentContent-CWSSGMMo.mjs → attachmentContent-D01-pLOB.mjs} +2 -2
  17. package/dist/{auth-CBESCCCn.mjs → auth-B-CqTcVh.mjs} +8 -8
  18. package/dist/{auth-gGryJImw.cjs → auth-CImUXAjH.cjs} +5 -5
  19. package/dist/{auth-C4_mXYgj.cjs → auth-CujfCIv-.cjs} +8 -8
  20. package/dist/{auth-D6kSt2sR.mjs → auth-DP3eN2Fv.mjs} +5 -5
  21. package/dist/{auto-CEucVmFR.mjs → auto-D4KRQIBu.mjs} +17 -17
  22. package/dist/{auto-Do43AOza.cjs → auto-oWgZl7mM.cjs} +17 -17
  23. package/dist/{bootstrap-BPz1iX77.cjs → bootstrap-B7YvJcVK.cjs} +2 -2
  24. package/dist/{bootstrap-CodyCmGt.mjs → bootstrap-MFmMruyB.mjs} +2 -2
  25. package/dist/{browser-D9D-1eqa.cjs → browser-C19iD31j.cjs} +1 -1
  26. package/dist/{browser-CqMhj8Gm.mjs → browser-CfFbN1Us.mjs} +1 -1
  27. package/dist/{claudeLocal-Dywp8NKr.cjs → claudeLocal-C4A7-BmS.cjs} +5 -5
  28. package/dist/{claudeLocal-BgIRtT3Q.mjs → claudeLocal-C6wNx9qH.mjs} +5 -5
  29. package/dist/{claudeLocalLauncher-_TOL73g5.cjs → claudeLocalLauncher-BfCKs7Le.cjs} +10 -10
  30. package/dist/{claudeLocalLauncher-CaHjZ8HW.mjs → claudeLocalLauncher-DdPfufcS.mjs} +10 -10
  31. package/dist/{claudeSessionFork-jq-_WiAu.cjs → claudeSessionFork-B8NjdHYD.cjs} +1 -1
  32. package/dist/{claudeSessionFork-C9nB7fs5.mjs → claudeSessionFork-D8XT48Lf.mjs} +1 -1
  33. package/dist/{client-BdbVizjk.mjs → client-BfGuTBMO.mjs} +2 -2
  34. package/dist/{client-DwlYk8uJ.mjs → client-CKM07bJH.mjs} +4 -4
  35. package/dist/{client-BFDji81N.cjs → client-CMIhQ32m.cjs} +2 -2
  36. package/dist/{client-C49zFRkX.cjs → client-CTNxuHVc.cjs} +2 -2
  37. package/dist/{client-CX-_2myt.mjs → client-DAnQqPmc.mjs} +2 -2
  38. package/dist/{client-ByZFACEw.cjs → client-jAdkYZRf.cjs} +4 -4
  39. package/dist/codex/happyMcpStdioBridge.cjs +16 -16
  40. package/dist/codex/happyMcpStdioBridge.mjs +16 -16
  41. package/dist/{codexAppServerClient-CmOIqiNQ.mjs → codexAppServerClient-DhOC61k9.mjs} +3 -3
  42. package/dist/{codexAppServerClient-DF12ZSw1.cjs → codexAppServerClient-Dv1Mh3MS.cjs} +3 -3
  43. package/dist/{codexCommand-H-ObWTtx.cjs → codexCommand-CWrFt3Ne.cjs} +42 -42
  44. package/dist/{codexCommand-BN05uEyv.mjs → codexCommand-D3_i93Rm.mjs} +42 -42
  45. package/dist/{codexTermination-Byohgj8h.mjs → codexTermination-B08GgahL.mjs} +1 -1
  46. package/dist/{codexTermination-RwKa8pKk.cjs → codexTermination-DErS0cGt.cjs} +1 -1
  47. package/dist/{config-ChHLh-hf.mjs → config-D3OBduhj.mjs} +3 -3
  48. package/dist/{config-D_wNqwxX.cjs → config-D_aj3xgw.cjs} +3 -3
  49. package/dist/{configuration-C9Sx-Foo.cjs → configuration-CI0GWwaT.cjs} +1 -1
  50. package/dist/{configuration-CVgUe2qN.mjs → configuration-DbCHeEeP.mjs} +1 -1
  51. package/dist/{connect-B61xJDRq.cjs → connect-839tEkPN.cjs} +13 -13
  52. package/dist/{connect-DJEQjS7C.mjs → connect-BuwVpjkZ.mjs} +13 -13
  53. package/dist/{context-CDPfhHTo.mjs → context-D2Y_qLs0.mjs} +1 -1
  54. package/dist/{context-Bf3BG7w8.cjs → context-zhirgqSw.cjs} +1 -1
  55. package/dist/{controlClient-BLO1_pPx.cjs → controlClient-BIi1tzEo.cjs} +3 -3
  56. package/dist/{controlClient-DMCxtwq2.mjs → controlClient-Dv80mB_j.mjs} +3 -3
  57. package/dist/{createSessionMetadata-5Mde6Dfh.cjs → createSessionMetadata-DT24NjY2.cjs} +2 -2
  58. package/dist/{createSessionMetadata-BYroCdrU.mjs → createSessionMetadata-Dqy_DfoF.mjs} +2 -2
  59. package/dist/{daemonSupervisor-DfzrtNhM.mjs → daemonSupervisor-BxohggqN.mjs} +40 -1
  60. package/dist/{daemonSupervisor-57JYYzMf.cjs → daemonSupervisor-alqGPANc.cjs} +43 -1
  61. package/dist/{defaultPermissionMode-B7mjHQKp.cjs → defaultPermissionMode-BYqJbPhc.cjs} +2 -2
  62. package/dist/{defaultPermissionMode-CTdxUV_3.mjs → defaultPermissionMode-yR27mevc.mjs} +2 -2
  63. package/dist/{deterministicJson-C3QXOc1N.mjs → deterministicJson-COiJcmUR.mjs} +13 -13
  64. package/dist/{deterministicJson-C1Z9MlDX.cjs → deterministicJson-CoWlyn_X.cjs} +13 -13
  65. package/dist/{doctor-DRdV3thy.cjs → doctor-DI6aIOne.cjs} +7 -7
  66. package/dist/{doctor-OwNmTpYh.mjs → doctor-Ymj096qP.mjs} +7 -7
  67. package/dist/{downloadTarget-Di5bf7r0.cjs → downloadTarget-BOXHrxbm.cjs} +6 -6
  68. package/dist/{downloadTarget-CNtQ8rhV.mjs → downloadTarget-DRXCRDub.mjs} +6 -6
  69. package/dist/{ensureDaemonRunning-CMY--T9Q.cjs → ensureDaemonRunning-BqNjYnar.cjs} +5 -5
  70. package/dist/{ensureDaemonRunning-IRV-w0wH.mjs → ensureDaemonRunning-DTrrXAdz.mjs} +5 -5
  71. package/dist/{handleResumeCommand-z7wY7QVM.cjs → handleResumeCommand-BBKUGhCv.cjs} +5 -5
  72. package/dist/{handleResumeCommand-BO00SYjG.mjs → handleResumeCommand-DW_MRgtz.mjs} +5 -5
  73. package/dist/{index-C7zgeuLP.mjs → index-04pYyzsJ.mjs} +4 -4
  74. package/dist/{index-DisBaRvM.mjs → index-B9f1vKcC.mjs} +96 -0
  75. package/dist/{index-BsoUsrKS.cjs → index-Bq6VHNdk.cjs} +4 -4
  76. package/dist/{index-Ub-5xbcU.cjs → index-BumVulwx.cjs} +96 -0
  77. package/dist/{index-wYJu2yGc.cjs → index-CY573fnz.cjs} +4 -4
  78. package/dist/{index-DZvi6_tB.mjs → index-CmlAXizv.mjs} +4 -4
  79. package/dist/{index-CVUiytNq.mjs → index-Cyu_8WAd.mjs} +3 -3
  80. package/dist/{index-B4cyX2by.cjs → index-D9lJhXUk.cjs} +39 -39
  81. package/dist/{index-NhmqjrGv.cjs → index-W8wlfp57.cjs} +3 -3
  82. package/dist/{index-_LfuIz-O.mjs → index-WW17yjQO.mjs} +40 -40
  83. package/dist/index.cjs +2 -2
  84. package/dist/index.mjs +2 -2
  85. package/dist/{install-CGYDeYes.cjs → install-C1y_g7kj.cjs} +3 -3
  86. package/dist/{install-DeUM6h8X.mjs → install-C5XCDwgD.mjs} +3 -3
  87. package/dist/lib.cjs +12 -12
  88. package/dist/lib.d.cts +11 -0
  89. package/dist/lib.d.mts +11 -0
  90. package/dist/lib.mjs +12 -12
  91. package/dist/{lidState-C4YgPn6y.cjs → lidState-BxHu6dus.cjs} +1 -1
  92. package/dist/{lidState-CBjQEwTt.mjs → lidState-CZ1ggYiB.mjs} +1 -1
  93. package/dist/{localHappyAgentAuth-BzCuIkzi.cjs → localHappyAgentAuth-BHklNDKQ.cjs} +1 -1
  94. package/dist/{localHappyAgentAuth-CcWGU_lS.mjs → localHappyAgentAuth-OJk4xDwg.mjs} +1 -1
  95. package/dist/{logger-D2qd0mMg.mjs → logger-CpaeM90D.mjs} +2 -2
  96. package/dist/{logger-CrtT0opS.cjs → logger-L0pLBOLK.cjs} +2 -2
  97. package/dist/{machineMetadata-D1hlm_oF.cjs → machineMetadata-YeHF4gSY.cjs} +3 -3
  98. package/dist/{machineMetadata-B2czDiTd.mjs → machineMetadata-ukaYmmlK.mjs} +3 -3
  99. package/dist/{main-BWgWN5d1.cjs → main-VyiAJXfb.cjs} +47 -47
  100. package/dist/{main-BNYWELul.mjs → main-pkH_VRP-.mjs} +47 -47
  101. package/dist/{mcp-ColtiH23.mjs → mcp-BwoAhEnN.mjs} +15 -15
  102. package/dist/{mcp-C18unjs1.cjs → mcp-Y8Xsr2Xh.cjs} +15 -15
  103. package/dist/{mirrorProtocol-D4CR5I5W.cjs → mirrorProtocol-Did0-1jn.cjs} +3 -3
  104. package/dist/{mirrorProtocol-DTHWtAE5.mjs → mirrorProtocol-DukUp2Bj.mjs} +3 -3
  105. package/dist/{package-DczR1k0c.cjs → package-BuATIMpK.cjs} +7 -7
  106. package/dist/{package-Ek5FOyEo.mjs → package-DagIeOhi.mjs} +7 -7
  107. package/dist/{panels-BIQ7FrCB.mjs → panels-C3dUoUbA.mjs} +5 -5
  108. package/dist/{panels-DYSMHhdb.cjs → panels-CZ_CRUbM.cjs} +5 -5
  109. package/dist/{peerTools-CABQ6iKd.mjs → peerTools-CUCqJ83-.mjs} +5 -5
  110. package/dist/{peerTools-Cufh4Qp_.cjs → peerTools-Cs3Ln6d0.cjs} +5 -5
  111. package/dist/{persistence-IYH6bAXY.cjs → persistence-CIzOAWK6.cjs} +2 -2
  112. package/dist/{persistence-DFtgQvr6.mjs → persistence-FgtDuVAP.mjs} +2 -2
  113. package/dist/{piRunnerArgs-Dgjmj8KL.cjs → piRunnerArgs-CJhXFPM9.cjs} +1 -1
  114. package/dist/{piRunnerArgs-CIWprC1S.mjs → piRunnerArgs-YbYkfixz.mjs} +1 -1
  115. package/dist/{piRuntime-C_nX977w.cjs → piRuntime-CEzoAYHe.cjs} +1 -1
  116. package/dist/{piRuntime-K6o4GPZ9.mjs → piRuntime-CShuw-1A.mjs} +1 -1
  117. package/dist/{piTerminal-CRl0EZc3.mjs → piTerminal-BvvcgVoW.mjs} +17 -17
  118. package/dist/{piTerminal-CYhcmkyi.cjs → piTerminal-DVr2W6bI.cjs} +17 -17
  119. package/dist/{pushNotifications-gVJWGFBP.mjs → pushNotifications-2CyhYAte.mjs} +3 -3
  120. package/dist/{pushNotifications-BgQ_QTgS.cjs → pushNotifications-OtQY-Mfa.cjs} +3 -3
  121. package/dist/{query-CGp9vY4e.mjs → query-B7DvMlYM.mjs} +1 -1
  122. package/dist/{query-DFreaScb.cjs → query-DimRl61I.cjs} +1 -1
  123. package/dist/{rateLimitWindows-DM_gshI4.mjs → rateLimitWindows-C0zbGT7K.mjs} +1 -1
  124. package/dist/{rateLimitWindows-CeogT1b6.cjs → rateLimitWindows-DwhrA5wy.cjs} +1 -1
  125. package/dist/{registerCommonHandlers-CRqKXwQt.cjs → registerCommonHandlers-De54jKz8.cjs} +2 -2
  126. package/dist/{registerCommonHandlers-CyAtDNvs.mjs → registerCommonHandlers-X9lnO2TF.mjs} +2 -2
  127. package/dist/{registerKillSessionHandler-CX49N52L.cjs → registerKillSessionHandler-CAif4Uz4.cjs} +6 -6
  128. package/dist/{registerKillSessionHandler-DGWADNla.mjs → registerKillSessionHandler-CrLsN5m3.mjs} +6 -6
  129. package/dist/{remoteSessionClient-CuAkp19e.cjs → remoteSessionClient-9j3N_bzV.cjs} +5 -5
  130. package/dist/{remoteSessionClient-1nycIdrG.mjs → remoteSessionClient-BApor-c2.mjs} +5 -5
  131. package/dist/{reportProgressTool-CdSi-uSC.mjs → reportProgressTool-6mDoxKuq.mjs} +3 -3
  132. package/dist/{reportProgressTool-BS7TkeEk.cjs → reportProgressTool-RR5VkbDf.cjs} +3 -3
  133. package/dist/{run-gVwkplx0.cjs → run-B2ZorDI7.cjs} +216 -44
  134. package/dist/{run-DqjEj8M2.mjs → run-CmA3cPD_.mjs} +219 -47
  135. package/dist/{runClaude-CtVoFstP.cjs → runClaude-Dk73bQ0n.cjs} +22 -22
  136. package/dist/{runClaude-CuSjrZSf.mjs → runClaude-bxwea9mX.mjs} +22 -22
  137. package/dist/{runClaudeDeps-eazOhb6g.mjs → runClaudeDeps-DoaYM017.mjs} +43 -43
  138. package/dist/{runClaudeDeps-DqOgRuKq.cjs → runClaudeDeps-dVfReVd4.cjs} +38 -38
  139. package/dist/{runGemini-81wkPvMv.cjs → runGemini-BD-wQe5q.cjs} +33 -33
  140. package/dist/{runGemini-B4EqAd1U.mjs → runGemini-Dq2iv4UF.mjs} +33 -33
  141. package/dist/{runOpenClaw-BK7ZQEKj.cjs → runOpenClaw-BXLv_bvU.cjs} +18 -18
  142. package/dist/{runOpenClaw-Brb1KKAA.mjs → runOpenClaw-C1NB1aLx.mjs} +18 -18
  143. package/dist/{sandbox-DFD6an8o.cjs → sandbox-9MIBf8kS.cjs} +4 -4
  144. package/dist/{sandbox-t43Exd4t.mjs → sandbox-Dqs_T8Jw.mjs} +4 -4
  145. package/dist/{selfCheck-Bel50SH3.cjs → selfCheck-CkUezhrg.cjs} +37 -37
  146. package/dist/selfCheck-Dz_Sm7w8.mjs +86 -0
  147. package/dist/{send-Co9jxmc4.mjs → send-4q066vij.mjs} +8 -8
  148. package/dist/{send-IR5DnG9V.cjs → send-rdhpycNB.cjs} +8 -8
  149. package/dist/{server-KnIeKeTb.mjs → server-DN6TvjhP.mjs} +4 -4
  150. package/dist/{server-CAo6a3Vw.cjs → server-DxTjt1mK.cjs} +6 -6
  151. package/dist/{sessionLock-ha9gsQEn.mjs → sessionLock-DOsE5UUf.mjs} +3 -3
  152. package/dist/{sessionLock-DNGDn9oj.cjs → sessionLock-h4162Jrf.cjs} +3 -3
  153. package/dist/{sessionOps-Di9MC0FP.mjs → sessionOps--9p2IzVA.mjs} +4 -4
  154. package/dist/{sessionOps-hRqzcMXB.cjs → sessionOps-tmBKG5qg.cjs} +4 -4
  155. package/dist/{sessionProvider-LqE7Y_cf.cjs → sessionProvider-B9w7rFDR.cjs} +5 -5
  156. package/dist/{sessionProvider-4Nn6e9Kd.mjs → sessionProvider-C6MHJZ9Z.mjs} +5 -5
  157. package/dist/{sessionScanner-DKFKDsrW.mjs → sessionScanner-B6hzp5R9.mjs} +3 -3
  158. package/dist/{sessionScanner-BzEtrHB8.cjs → sessionScanner-Bgvz8Uiy.cjs} +3 -3
  159. package/dist/{sessions-CmLiagcb.cjs → sessions-DJMVXKRz.cjs} +10 -10
  160. package/dist/{sessions-DzgMNXo5.mjs → sessions-iItaUQAF.mjs} +10 -10
  161. package/dist/{setupOfflineReconnection-D4NGi3Jf.mjs → setupOfflineReconnection-DF78nz1N.mjs} +2 -2
  162. package/dist/{setupOfflineReconnection-Dq4N2Txp.cjs → setupOfflineReconnection-DL4HUMDJ.cjs} +2 -2
  163. package/dist/{spawn-tmoekkOW.cjs → spawn-CL9A8dBJ.cjs} +14 -14
  164. package/dist/{spawn-C6CE5PsI.mjs → spawn-CoYfACsc.mjs} +14 -14
  165. package/dist/{spawnAgents-D15n6tAj.cjs → spawnAgents-DsJSyLDl.cjs} +1 -1
  166. package/dist/{spawnAgents-jXo9jIYo.mjs → spawnAgents-f2q31uUV.mjs} +1 -1
  167. package/dist/{spawnHappyCLI-8NcKgkuy.cjs → spawnHappyCLI-BWOub_Uf.cjs} +1 -1
  168. package/dist/{spawnHappyCLI-66grqHO0.mjs → spawnHappyCLI-BcSO1rF6.mjs} +1 -1
  169. package/dist/{specialCommands-BO8ipH0n.mjs → specialCommands-B-DAeFrU.mjs} +3 -3
  170. package/dist/{specialCommands-Dq0TmY1Z.cjs → specialCommands-ByrcSYSh.cjs} +3 -3
  171. package/dist/{startFileWatcher-CjgKvec9.cjs → startFileWatcher-BZrpUz7_.cjs} +1 -1
  172. package/dist/{startFileWatcher-BLDkieUW.mjs → startFileWatcher-DVia64Vg.mjs} +1 -1
  173. package/dist/{startupSessionCreate-CXRVahaU.cjs → startupSessionCreate-63ABDnfJ.cjs} +1 -1
  174. package/dist/{startupSessionCreate-B60THeNz.mjs → startupSessionCreate-CY4tPjlZ.mjs} +1 -1
  175. package/dist/{streamRelay-GzHxvMem.mjs → streamRelay-B3FloUTT.mjs} +1 -1
  176. package/dist/{streamRelay-CtTpf-Li.cjs → streamRelay-Cn_uGG6m.cjs} +1 -1
  177. package/dist/{sync-DKSZOi6w.cjs → sync-CKSmwxec.cjs} +1 -1
  178. package/dist/{sync-DJvx7RbO.mjs → sync-CZjyTC4v.mjs} +1 -1
  179. package/dist/{systemPrompt-dOOpz8L7.mjs → systemPrompt-BKUVX-fd.mjs} +2 -2
  180. package/dist/{systemPrompt-Duos1BtM.cjs → systemPrompt-BPzhf5d5.cjs} +2 -2
  181. package/dist/{teams-uWiMJEe1.mjs → teams-B2-KPjRg.mjs} +7 -7
  182. package/dist/{teams-pO5rjvPO.cjs → teams-CHBszdmc.cjs} +7 -7
  183. package/dist/{template-BLJxflCH.cjs → template-DPsqlHJQ.cjs} +1 -1
  184. package/dist/{template-YlpbYGeQ.mjs → template-DuKZw-Sz.mjs} +1 -1
  185. package/dist/{time-Du0scQeJ.mjs → time-BsNUVcKH.mjs} +1 -1
  186. package/dist/{time-D-8GFCE7.cjs → time-DcICfW0N.cjs} +1 -1
  187. package/dist/{titleGenerator-DKYj8rLY.mjs → titleGenerator-B4b4ah--.mjs} +1 -1
  188. package/dist/{titleGenerator-DnKygjBP.cjs → titleGenerator-Bvk1mx7G.cjs} +2 -2
  189. package/dist/{todo-BFDb7O8q.cjs → todo-BN4hhun6.cjs} +6 -6
  190. package/dist/{todo-Du5dAwnt.mjs → todo-C7--CBge.mjs} +6 -6
  191. package/dist/{tools-DHvMVL0a.mjs → tools-BILbS8Hh.mjs} +1 -1
  192. package/dist/{tools-DK_x86Kl.cjs → tools-Bl5Q_6Nr.cjs} +1 -1
  193. package/dist/{uninstall-CLDEXir0.mjs → uninstall-Bjwl9bqK.mjs} +3 -3
  194. package/dist/{uninstall-c3zjum2o.cjs → uninstall-_qDbgdxh.cjs} +3 -3
  195. package/package.json +7 -7
  196. package/dist/selfCheck-CwpZepG-.mjs +0 -86
@@ -2,9 +2,9 @@
2
2
 
3
3
  var os = require('node:os');
4
4
  var path = require('node:path');
5
- var configuration = require('./configuration-C9Sx-Foo.cjs');
5
+ var configuration = require('./configuration-CI0GWwaT.cjs');
6
6
  var projectPath = require('./projectPath-C3ioB4Bu.cjs');
7
- var _package = require('./package-DczR1k0c.cjs');
7
+ var _package = require('./package-BuATIMpK.cjs');
8
8
  var node_fs = require('node:fs');
9
9
 
10
10
  const realFs = {
@@ -1,8 +1,8 @@
1
1
  import os from 'node:os';
2
2
  import { resolve, isAbsolute, dirname } from 'node:path';
3
- import { c as configuration } from './configuration-CVgUe2qN.mjs';
3
+ import { c as configuration } from './configuration-DbCHeEeP.mjs';
4
4
  import { p as projectPath } from './projectPath-BTBIMB57.mjs';
5
- import { p as packageJson } from './package-Ek5FOyEo.mjs';
5
+ import { p as packageJson } from './package-DagIeOhi.mjs';
6
6
  import { existsSync, readFileSync, statSync } from 'node:fs';
7
7
 
8
8
  const realFs = {
@@ -1,4 +1,5 @@
1
1
  import { spawnSync, execFile } from 'node:child_process';
2
+ import { readFile } from 'node:fs/promises';
2
3
  import { createRequire } from 'node:module';
3
4
  import { createHash } from 'node:crypto';
4
5
  import { join, delimiter } from 'node:path';
@@ -225,6 +226,44 @@ async function probeLaunchdJob(exec = execText) {
225
226
  }
226
227
  return { jobPid, ancestorPids };
227
228
  }
229
+ function wrappersSurviveHandover(e) {
230
+ if (e.supervisor === "launchd") return true;
231
+ if (e.supervisor === "systemd") {
232
+ const killMode = e.systemdKillMode?.trim().toLowerCase();
233
+ if (killMode) return killMode === "process" || killMode === "none";
234
+ return e.env.HAPPY_DAEMON_SUPERVISOR?.trim().toLowerCase() === "systemd";
235
+ }
236
+ if (e.platform === "win32") return false;
237
+ if (e.pid === 1) return false;
238
+ if (e.inContainer && e.ppid === 1) return false;
239
+ return true;
240
+ }
241
+ function handoverWaitsForSessions(o) {
242
+ return !o.bundleReplaced || o.relayMove || !o.sparesWrappers;
243
+ }
244
+ function parseSystemdUnit(cgroup) {
245
+ const lines = cgroup.split("\n");
246
+ const path = lines.find((line) => line.startsWith("0::"))?.slice(3) ?? lines.find((line) => line.split(":")[1] === "name=systemd")?.split(":").slice(2).join(":");
247
+ if (!path) return null;
248
+ const segments = path.trim().split("/").filter(Boolean);
249
+ let index = -1;
250
+ for (let i = segments.length - 1; i >= 0; i--) {
251
+ if (segments[i].endsWith(".service")) {
252
+ index = i;
253
+ break;
254
+ }
255
+ }
256
+ if (index < 0) return null;
257
+ const unit = segments[index];
258
+ if (!/^[A-Za-z0-9:_.@\\-]+\.service$/.test(unit) || /^user@\d+\.service$/.test(unit)) return null;
259
+ return { unit, user: segments.slice(0, index).some((segment) => /^user@\d+\.service$/.test(segment)) };
260
+ }
261
+ async function probeSystemdKillMode(readCgroup = () => readFile("/proc/self/cgroup", "utf8"), exec = execText) {
262
+ const owner = parseSystemdUnit(await readCgroup().catch(() => ""));
263
+ if (!owner) return null;
264
+ const out = (await exec("systemctl", [...owner.user ? ["--user"] : [], "show", "-p", "KillMode", "--value", owner.unit])).trim();
265
+ return /^[a-z-]+$/.test(out) ? out : null;
266
+ }
228
267
  const SYSTEMD_RESTART_HINT = "systemctl --user restart very-happy-daemon";
229
268
  async function kickstartLaunchdJob(run = (file, args) => spawnSync(file, args, { encoding: "utf8", timeout: LAUNCHD_PROBE_TIMEOUT_MS }), uid = typeof process.getuid === "function" ? process.getuid() : null, sleep = (ms) => new Promise((resolve) => setTimeout(resolve, ms))) {
230
269
  if (uid === null) return false;
@@ -242,4 +281,4 @@ async function kickstartLaunchdJob(run = (file, args) => spawnSync(file, args, {
242
281
  }
243
282
  }
244
283
 
245
- export { CREDENTIALS_REJECTED_DETAIL as C, HAPPY_DAEMON_LAUNCHD_LABEL as H, SYSTEMD_RESTART_HINT as S, keychainIdentityFor as a, securityDeleteArgs as b, keychainOffShimDir as c, interpretCredentialsFile as d, buildClaudeAuthState as e, claudeAuthStateChanged as f, classifyAuthStatus as g, diagnoseStores as h, interpretSecurityRead as i, classifyLineage as j, kickstartLaunchdJob as k, probeLaunchdJob as l, detectDaemonSupervisor as m, daemonLineage as n, parseLaunchctlPid as p, resolveSdkClaudeBinary as r, securityReadArgs as s, withKeychainOffPath as w };
284
+ export { CREDENTIALS_REJECTED_DETAIL as C, HAPPY_DAEMON_LAUNCHD_LABEL as H, SYSTEMD_RESTART_HINT as S, keychainIdentityFor as a, securityDeleteArgs as b, keychainOffShimDir as c, interpretCredentialsFile as d, buildClaudeAuthState as e, claudeAuthStateChanged as f, classifyAuthStatus as g, diagnoseStores as h, interpretSecurityRead as i, classifyLineage as j, kickstartLaunchdJob as k, probeLaunchdJob as l, detectDaemonSupervisor as m, daemonLineage as n, probeSystemdKillMode as o, parseLaunchctlPid as p, wrappersSurviveHandover as q, resolveSdkClaudeBinary as r, securityReadArgs as s, handoverWaitsForSessions as t, withKeychainOffPath as w };
@@ -1,6 +1,7 @@
1
1
  'use strict';
2
2
 
3
3
  var node_child_process = require('node:child_process');
4
+ var promises = require('node:fs/promises');
4
5
  var module$1 = require('node:module');
5
6
  var node_crypto = require('node:crypto');
6
7
  var path = require('node:path');
@@ -70,7 +71,7 @@ function parseJsonObject(text) {
70
71
  return null;
71
72
  }
72
73
  }
73
- function resolveSdkClaudeBinary(platform = process.platform, arch = process.arch, resolver = (s) => module$1.createRequire((typeof document === 'undefined' ? require('u' + 'rl').pathToFileURL(__filename).href : (_documentCurrentScript && _documentCurrentScript.tagName.toUpperCase() === 'SCRIPT' && _documentCurrentScript.src || new URL('daemonSupervisor-57JYYzMf.cjs', document.baseURI).href))).resolve(s)) {
74
+ function resolveSdkClaudeBinary(platform = process.platform, arch = process.arch, resolver = (s) => module$1.createRequire((typeof document === 'undefined' ? require('u' + 'rl').pathToFileURL(__filename).href : (_documentCurrentScript && _documentCurrentScript.tagName.toUpperCase() === 'SCRIPT' && _documentCurrentScript.src || new URL('daemonSupervisor-alqGPANc.cjs', document.baseURI).href))).resolve(s)) {
74
75
  const platformArch = `${platform}-${arch}`;
75
76
  const candidates = [
76
77
  `@anthropic-ai/claude-agent-sdk-${platformArch}/claude`,
@@ -228,6 +229,44 @@ async function probeLaunchdJob(exec = execText) {
228
229
  }
229
230
  return { jobPid, ancestorPids };
230
231
  }
232
+ function wrappersSurviveHandover(e) {
233
+ if (e.supervisor === "launchd") return true;
234
+ if (e.supervisor === "systemd") {
235
+ const killMode = e.systemdKillMode?.trim().toLowerCase();
236
+ if (killMode) return killMode === "process" || killMode === "none";
237
+ return e.env.HAPPY_DAEMON_SUPERVISOR?.trim().toLowerCase() === "systemd";
238
+ }
239
+ if (e.platform === "win32") return false;
240
+ if (e.pid === 1) return false;
241
+ if (e.inContainer && e.ppid === 1) return false;
242
+ return true;
243
+ }
244
+ function handoverWaitsForSessions(o) {
245
+ return !o.bundleReplaced || o.relayMove || !o.sparesWrappers;
246
+ }
247
+ function parseSystemdUnit(cgroup) {
248
+ const lines = cgroup.split("\n");
249
+ const path = lines.find((line) => line.startsWith("0::"))?.slice(3) ?? lines.find((line) => line.split(":")[1] === "name=systemd")?.split(":").slice(2).join(":");
250
+ if (!path) return null;
251
+ const segments = path.trim().split("/").filter(Boolean);
252
+ let index = -1;
253
+ for (let i = segments.length - 1; i >= 0; i--) {
254
+ if (segments[i].endsWith(".service")) {
255
+ index = i;
256
+ break;
257
+ }
258
+ }
259
+ if (index < 0) return null;
260
+ const unit = segments[index];
261
+ if (!/^[A-Za-z0-9:_.@\\-]+\.service$/.test(unit) || /^user@\d+\.service$/.test(unit)) return null;
262
+ return { unit, user: segments.slice(0, index).some((segment) => /^user@\d+\.service$/.test(segment)) };
263
+ }
264
+ async function probeSystemdKillMode(readCgroup = () => promises.readFile("/proc/self/cgroup", "utf8"), exec = execText) {
265
+ const owner = parseSystemdUnit(await readCgroup().catch(() => ""));
266
+ if (!owner) return null;
267
+ const out = (await exec("systemctl", [...owner.user ? ["--user"] : [], "show", "-p", "KillMode", "--value", owner.unit])).trim();
268
+ return /^[a-z-]+$/.test(out) ? out : null;
269
+ }
231
270
  const SYSTEMD_RESTART_HINT = "systemctl --user restart very-happy-daemon";
232
271
  async function kickstartLaunchdJob(run = (file, args) => node_child_process.spawnSync(file, args, { encoding: "utf8", timeout: LAUNCHD_PROBE_TIMEOUT_MS }), uid = typeof process.getuid === "function" ? process.getuid() : null, sleep = (ms) => new Promise((resolve) => setTimeout(resolve, ms))) {
233
272
  if (uid === null) return false;
@@ -255,6 +294,7 @@ exports.claudeAuthStateChanged = claudeAuthStateChanged;
255
294
  exports.daemonLineage = daemonLineage;
256
295
  exports.detectDaemonSupervisor = detectDaemonSupervisor;
257
296
  exports.diagnoseStores = diagnoseStores;
297
+ exports.handoverWaitsForSessions = handoverWaitsForSessions;
258
298
  exports.interpretCredentialsFile = interpretCredentialsFile;
259
299
  exports.interpretSecurityRead = interpretSecurityRead;
260
300
  exports.keychainIdentityFor = keychainIdentityFor;
@@ -262,7 +302,9 @@ exports.keychainOffShimDir = keychainOffShimDir;
262
302
  exports.kickstartLaunchdJob = kickstartLaunchdJob;
263
303
  exports.parseLaunchctlPid = parseLaunchctlPid;
264
304
  exports.probeLaunchdJob = probeLaunchdJob;
305
+ exports.probeSystemdKillMode = probeSystemdKillMode;
265
306
  exports.resolveSdkClaudeBinary = resolveSdkClaudeBinary;
266
307
  exports.securityDeleteArgs = securityDeleteArgs;
267
308
  exports.securityReadArgs = securityReadArgs;
268
309
  exports.withKeychainOffPath = withKeychainOffPath;
310
+ exports.wrappersSurviveHandover = wrappersSurviveHandover;
@@ -1,7 +1,7 @@
1
1
  'use strict';
2
2
 
3
- var logger = require('./logger-CrtT0opS.cjs');
4
- var persistence = require('./persistence-IYH6bAXY.cjs');
3
+ var logger = require('./logger-L0pLBOLK.cjs');
4
+ var persistence = require('./persistence-CIzOAWK6.cjs');
5
5
 
6
6
  const PRESENCE_SETTLE_MS = 6e3;
7
7
  async function commitHibernation(deps) {
@@ -1,5 +1,5 @@
1
- import { l as logger } from './logger-D2qd0mMg.mjs';
2
- import { e as evaluateWrapperIdle, j as HIBERNATION_UNSUPPORTED_BACKOFF_MS } from './persistence-DFtgQvr6.mjs';
1
+ import { l as logger } from './logger-CpaeM90D.mjs';
2
+ import { e as evaluateWrapperIdle, j as HIBERNATION_UNSUPPORTED_BACKOFF_MS } from './persistence-FgtDuVAP.mjs';
3
3
 
4
4
  const PRESENCE_SETTLE_MS = 6e3;
5
5
  async function commitHibernation(deps) {
@@ -1,7 +1,7 @@
1
- import { l as logger } from './logger-D2qd0mMg.mjs';
1
+ import { l as logger } from './logger-CpaeM90D.mjs';
2
2
  import { p as prependToMessage, b as buildDigestLine, a as buildFirstTurnPrefix } from './prompt-QHuFx9j6.mjs';
3
- import { P as ProjectsUnsupportedError } from './client-CX-_2myt.mjs';
4
- import { c as createSelfReportState, A as AUTOMATION_TOOL_NAMES, P as PROJECT_TOOL_NAMES, r as registerAutomationTools, a as registerProjectTools, d as createProjectToolExecutor, b as registerReportProgressTool, n as normalizeAttention, e as normalizePhase, f as normalizeProgress, s as shouldAcceptSelfReport } from './reportProgressTool-CdSi-uSC.mjs';
3
+ import { P as ProjectsUnsupportedError } from './client-DAnQqPmc.mjs';
4
+ import { c as createSelfReportState, A as AUTOMATION_TOOL_NAMES, P as PROJECT_TOOL_NAMES, r as registerAutomationTools, a as registerProjectTools, d as createProjectToolExecutor, b as registerReportProgressTool, n as normalizeAttention, e as normalizePhase, f as normalizeProgress, s as shouldAcceptSelfReport } from './reportProgressTool-6mDoxKuq.mjs';
5
5
  import { readFileSync, constants } from 'node:fs';
6
6
  import { homedir } from 'node:os';
7
7
  import { join, dirname } from 'node:path';
@@ -9,24 +9,24 @@ import { z } from 'zod';
9
9
  import { p as piAgentDir } from './pi-CqyoZMjI.mjs';
10
10
  import { unlink, mkdir, open, rename } from 'node:fs/promises';
11
11
  import { randomUUID, createHash } from 'node:crypto';
12
- import { T as TeamConnectionPreflightError, S as SessionInOtherTeamError, c as createTeamsClient, t as teamRequest } from './client-DwlYk8uJ.mjs';
13
- import { t as teamScopePath, r as readTeamScope } from './context-CDPfhHTo.mjs';
14
- import { g as waitForSessionKey, e as sendUserMessage } from './sessionOps-Di9MC0FP.mjs';
12
+ import { T as TeamConnectionPreflightError, S as SessionInOtherTeamError, c as createTeamsClient, t as teamRequest } from './client-CKM07bJH.mjs';
13
+ import { t as teamScopePath, r as readTeamScope } from './context-D2Y_qLs0.mjs';
14
+ import { g as waitForSessionKey, e as sendUserMessage } from './sessionOps--9p2IzVA.mjs';
15
15
  import { T as TEAM_SKILL, a as TEAM_LEAD_PLAYBOOK } from './resources-CLdQfe3b.mjs';
16
- import { T as TEAM_TOOL_NAMES, r as registerTeamsTools } from './tools-DHvMVL0a.mjs';
17
- import { S as SESSION_PEER_TOOL_NAMES, r as registerSessionPeerTools, a as createSessionPeerToolExecutor } from './peerTools-CABQ6iKd.mjs';
16
+ import { T as TEAM_TOOL_NAMES, r as registerTeamsTools } from './tools-BILbS8Hh.mjs';
17
+ import { S as SESSION_PEER_TOOL_NAMES, r as registerSessionPeerTools, a as createSessionPeerToolExecutor } from './peerTools-CUCqJ83-.mjs';
18
18
  import { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js';
19
19
  import { createServer } from 'node:http';
20
20
  import { StreamableHTTPServerTransport } from '@modelcontextprotocol/sdk/server/streamableHttp.js';
21
21
  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';
22
- import { A as ASSISTANT_TOOL_NAMES, a as registerAssistantTools, c as checkDownloadTarget } from './downloadTarget-CNtQ8rhV.mjs';
22
+ import { A as ASSISTANT_TOOL_NAMES, a as registerAssistantTools, c as checkDownloadTarget } from './downloadTarget-DRXCRDub.mjs';
23
23
  import { P as PREVIEW_TOOL_NAME, R as REPORT_PROGRESS_TOOL_NAME, a as PREVIEW_TOOL_TITLE, b as PREVIEW_TOOL_DESCRIPTION, c as PREVIEW_DOWNLOAD_PARAM_DESCRIPTION } from './agentGuidance-BDYt2Qy2.mjs';
24
24
  import { n as normalizeWebPanels, w as webPanelPath } from './webPanels-B2_C2-3g.mjs';
25
- import { b as readCredentialsForConfiguredRelay, r as readSettings } from './persistence-DFtgQvr6.mjs';
26
- import { g as getSessionNotificationBody } from './pushNotifications-gVJWGFBP.mjs';
25
+ import { b as readCredentialsForConfiguredRelay, r as readSettings } from './persistence-FgtDuVAP.mjs';
26
+ import { g as getSessionNotificationBody } from './pushNotifications-2CyhYAte.mjs';
27
27
  import { c as checkPreviewPath } from './previewPath-CXN4Vag0.mjs';
28
- import { x as ATTENTION_DISABLED_ERROR, y as ATTENTION_LIMITS, z as ownerBoardPostToRest, C as isAttentionBoardLocalId, O as OwnerBoardPostInputSchema, D as OwnerBoardUpdateInputSchema, E as OwnerBoardResolveInputSchema, F as OwnerBoardListInputSchema, G as ATTENTION_SESSION_CAPABILITY } from './index-DisBaRvM.mjs';
29
- import { c as configuration } from './configuration-CVgUe2qN.mjs';
28
+ import { x as ATTENTION_DISABLED_ERROR, y as ATTENTION_LIMITS, z as ownerBoardPostToRest, C as isAttentionBoardLocalId, O as OwnerBoardPostInputSchema, D as OwnerBoardUpdateInputSchema, E as OwnerBoardResolveInputSchema, F as OwnerBoardListInputSchema, G as ATTENTION_SESSION_CAPABILITY } from './index-B9f1vKcC.mjs';
29
+ import { c as configuration } from './configuration-DbCHeEeP.mjs';
30
30
  import { createHash as createHash$1 } from 'crypto';
31
31
 
32
32
  function createProjectInjector(deps) {
@@ -1,9 +1,9 @@
1
1
  'use strict';
2
2
 
3
- var logger = require('./logger-CrtT0opS.cjs');
3
+ var logger = require('./logger-L0pLBOLK.cjs');
4
4
  var prompt = require('./prompt-Bof2aQkI.cjs');
5
- var client = require('./client-C49zFRkX.cjs');
6
- var reportProgressTool = require('./reportProgressTool-BS7TkeEk.cjs');
5
+ var client = require('./client-CTNxuHVc.cjs');
6
+ var reportProgressTool = require('./reportProgressTool-RR5VkbDf.cjs');
7
7
  var node_fs = require('node:fs');
8
8
  var os = require('node:os');
9
9
  var path = require('node:path');
@@ -11,24 +11,24 @@ var z = require('zod');
11
11
  var pi = require('./pi-DlsrPCTa.cjs');
12
12
  var promises = require('node:fs/promises');
13
13
  var node_crypto = require('node:crypto');
14
- var client$1 = require('./client-ByZFACEw.cjs');
15
- var context = require('./context-Bf3BG7w8.cjs');
16
- var sessionOps = require('./sessionOps-hRqzcMXB.cjs');
14
+ var client$1 = require('./client-jAdkYZRf.cjs');
15
+ var context = require('./context-zhirgqSw.cjs');
16
+ var sessionOps = require('./sessionOps-tmBKG5qg.cjs');
17
17
  var resources = require('./resources-CqwHPhdK.cjs');
18
- var tools = require('./tools-DK_x86Kl.cjs');
19
- var peerTools = require('./peerTools-Cufh4Qp_.cjs');
18
+ var tools = require('./tools-Bl5Q_6Nr.cjs');
19
+ var peerTools = require('./peerTools-Cs3Ln6d0.cjs');
20
20
  var mcp_js = require('@modelcontextprotocol/sdk/server/mcp.js');
21
21
  var node_http = require('node:http');
22
22
  var streamableHttp_js = require('@modelcontextprotocol/sdk/server/streamableHttp.js');
23
23
  var limits = require('./limits-C-a7gr04.cjs');
24
- var downloadTarget = require('./downloadTarget-Di5bf7r0.cjs');
24
+ var downloadTarget = require('./downloadTarget-BOXHrxbm.cjs');
25
25
  var agentGuidance = require('./agentGuidance-BtBx2xxE.cjs');
26
26
  var webPanels = require('./webPanels-FCgFKvVe.cjs');
27
- var persistence = require('./persistence-IYH6bAXY.cjs');
28
- var pushNotifications = require('./pushNotifications-BgQ_QTgS.cjs');
27
+ var persistence = require('./persistence-CIzOAWK6.cjs');
28
+ var pushNotifications = require('./pushNotifications-OtQY-Mfa.cjs');
29
29
  var previewPath = require('./previewPath-B0rBdhy1.cjs');
30
- var index = require('./index-Ub-5xbcU.cjs');
31
- var configuration = require('./configuration-C9Sx-Foo.cjs');
30
+ var index = require('./index-BumVulwx.cjs');
31
+ var configuration = require('./configuration-CI0GWwaT.cjs');
32
32
  var require$$3 = require('crypto');
33
33
 
34
34
  function createProjectInjector(deps) {
@@ -1,19 +1,19 @@
1
1
  'use strict';
2
2
 
3
3
  var chalk = require('chalk');
4
- var configuration = require('./configuration-C9Sx-Foo.cjs');
5
- var persistence = require('./persistence-IYH6bAXY.cjs');
6
- var controlClient = require('./controlClient-BLO1_pPx.cjs');
4
+ var configuration = require('./configuration-CI0GWwaT.cjs');
5
+ var persistence = require('./persistence-CIzOAWK6.cjs');
6
+ var controlClient = require('./controlClient-BIi1tzEo.cjs');
7
7
  var doctor$1 = require('./doctor-u46qYYKX.cjs');
8
8
  var node_fs = require('node:fs');
9
9
  var path = require('node:path');
10
10
  var projectPath = require('./projectPath-C3ioB4Bu.cjs');
11
- var _package = require('./package-DczR1k0c.cjs');
11
+ var _package = require('./package-BuATIMpK.cjs');
12
12
  var doctorReadiness = require('./doctorReadiness-Dl6yRQCy.cjs');
13
13
  var authRelay = require('./authRelay-Dy1qU9td.cjs');
14
14
  var cliUpdate = require('./cliUpdate-DsKXPFYp.cjs');
15
15
  var node_child_process = require('node:child_process');
16
- var piRunnerArgs = require('./piRunnerArgs-Dgjmj8KL.cjs');
16
+ var piRunnerArgs = require('./piRunnerArgs-CJhXFPM9.cjs');
17
17
 
18
18
  function shareSafeProcessLine(process2) {
19
19
  return `PID ${process2.pid}: command arguments hidden for privacy`;
@@ -313,8 +313,8 @@ ${typeLabels[type] || type}:`));
313
313
  }
314
314
  console.log(chalk.gray(" An external claude command is only needed for native terminal/mirror use."));
315
315
  try {
316
- const { resolveAgentHomesForCli } = await Promise.resolve().then(function () { return require('./agentHome-CKAXhc8P.cjs'); });
317
- const { describeAgentHome } = await Promise.resolve().then(function () { return require('./index-BsoUsrKS.cjs'); });
316
+ const { resolveAgentHomesForCli } = await Promise.resolve().then(function () { return require('./agentHome-VS7FrFQZ.cjs'); });
317
+ const { describeAgentHome } = await Promise.resolve().then(function () { return require('./index-Bq6VHNdk.cjs'); });
318
318
  const homes = await resolveAgentHomesForCli();
319
319
  console.log(chalk.green(`\u2713 Claude config dir: ${describeAgentHome(homes.claudeConfigDir)}`));
320
320
  console.log(chalk.green(`\u2713 Codex home: ${describeAgentHome(homes.codexHome)}`));
@@ -1,17 +1,17 @@
1
1
  import chalk from 'chalk';
2
- import { c as configuration } from './configuration-CVgUe2qN.mjs';
3
- import { r as readSettings, g as readCredentials, d as readDaemonState } from './persistence-DFtgQvr6.mjs';
4
- import { a as checkIfDaemonRunningAndCleanupStaleState } from './controlClient-DMCxtwq2.mjs';
2
+ import { c as configuration } from './configuration-DbCHeEeP.mjs';
3
+ import { r as readSettings, g as readCredentials, d as readDaemonState } from './persistence-FgtDuVAP.mjs';
4
+ import { a as checkIfDaemonRunningAndCleanupStaleState } from './controlClient-Dv80mB_j.mjs';
5
5
  import { findAllHappyProcesses } from './doctor-BPkYWSuq.mjs';
6
6
  import { statSync, realpathSync, existsSync, readdirSync } from 'node:fs';
7
7
  import { isAbsolute, resolve, dirname, basename, delimiter, join } from 'node:path';
8
8
  import { p as projectPath } from './projectPath-BTBIMB57.mjs';
9
- import { p as packageJson } from './package-Ek5FOyEo.mjs';
9
+ import { p as packageJson } from './package-DagIeOhi.mjs';
10
10
  import { s as shareableSettingsSummary, c as collectRuntimeReadiness, S as SUPPORTED_NODE_LABEL, r as resolveClaudeCredentialReadiness, a as toolProbeLabel, b as daemonReadiness, d as daemonEndpointsMatch } from './doctorReadiness-C208SMN9.mjs';
11
11
  import { c as credentialRelayProblem } from './authRelay-DhQhkBvX.mjs';
12
12
  import { d as deriveLocalCliUpdateSummary } from './cliUpdate-Y34VGe9Y.mjs';
13
13
  import { spawnSync } from 'node:child_process';
14
- import { c as piInstallCommand } from './piRunnerArgs-CIWprC1S.mjs';
14
+ import { c as piInstallCommand } from './piRunnerArgs-YbYkfixz.mjs';
15
15
 
16
16
  function shareSafeProcessLine(process2) {
17
17
  return `PID ${process2.pid}: command arguments hidden for privacy`;
@@ -311,8 +311,8 @@ ${typeLabels[type] || type}:`));
311
311
  }
312
312
  console.log(chalk.gray(" An external claude command is only needed for native terminal/mirror use."));
313
313
  try {
314
- const { resolveAgentHomesForCli } = await import('./agentHome-B_tu3tFJ.mjs');
315
- const { describeAgentHome } = await import('./index-C7zgeuLP.mjs');
314
+ const { resolveAgentHomesForCli } = await import('./agentHome-CawmLuWV.mjs');
315
+ const { describeAgentHome } = await import('./index-04pYyzsJ.mjs');
316
316
  const homes = await resolveAgentHomesForCli();
317
317
  console.log(chalk.green(`\u2713 Claude config dir: ${describeAgentHome(homes.claudeConfigDir)}`));
318
318
  console.log(chalk.green(`\u2713 Codex home: ${describeAgentHome(homes.codexHome)}`));
@@ -3,14 +3,14 @@
3
3
  var promises = require('node:fs/promises');
4
4
  var os = require('node:os');
5
5
  var z = require('zod');
6
- var logger = require('./logger-CrtT0opS.cjs');
7
- var persistence = require('./persistence-IYH6bAXY.cjs');
8
- var controlClient = require('./controlClient-BLO1_pPx.cjs');
9
- var sessionOps = require('./sessionOps-hRqzcMXB.cjs');
10
- var remoteSessionClient = require('./remoteSessionClient-CuAkp19e.cjs');
6
+ var logger = require('./logger-L0pLBOLK.cjs');
7
+ var persistence = require('./persistence-CIzOAWK6.cjs');
8
+ var controlClient = require('./controlClient-BIi1tzEo.cjs');
9
+ var sessionOps = require('./sessionOps-tmBKG5qg.cjs');
10
+ var remoteSessionClient = require('./remoteSessionClient-9j3N_bzV.cjs');
11
11
  var ids = require('./ids-B6ZC0HGt.cjs');
12
12
  var terminals = require('./terminals-B_bfC9c2.cjs');
13
- var bootstrap = require('./bootstrap-BPz1iX77.cjs');
13
+ var bootstrap = require('./bootstrap-B7YvJcVK.cjs');
14
14
  var path = require('node:path');
15
15
 
16
16
  const PERSONAL_MEMORY_SOFT_LIMIT_CHARS = 2e3;
@@ -1,14 +1,14 @@
1
1
  import { readFile, writeFile, appendFile, stat } from 'node:fs/promises';
2
2
  import os from 'node:os';
3
3
  import { z } from 'zod';
4
- import { l as logger } from './logger-D2qd0mMg.mjs';
5
- import { c as readPersistedSessions } from './persistence-DFtgQvr6.mjs';
6
- import { e as spawnDaemonSession } from './controlClient-DMCxtwq2.mjs';
7
- import { a as listSessions, r as readSessionTranscript, s as sessionWebUrl, g as waitForSessionKey, e as sendUserMessage, b as stopSession, d as archiveSession } from './sessionOps-Di9MC0FP.mjs';
8
- import { r as readRemoteTranscript, s as sendRemoteMessage, d as deliverToSession, R as RemoteSessionOpsError } from './remoteSessionClient-1nycIdrG.mjs';
4
+ import { l as logger } from './logger-CpaeM90D.mjs';
5
+ import { c as readPersistedSessions } from './persistence-FgtDuVAP.mjs';
6
+ import { e as spawnDaemonSession } from './controlClient-Dv80mB_j.mjs';
7
+ import { a as listSessions, r as readSessionTranscript, s as sessionWebUrl, g as waitForSessionKey, e as sendUserMessage, b as stopSession, d as archiveSession } from './sessionOps--9p2IzVA.mjs';
8
+ import { r as readRemoteTranscript, s as sendRemoteMessage, d as deliverToSession, R as RemoteSessionOpsError } from './remoteSessionClient-BApor-c2.mjs';
9
9
  import { i as isValidSessionId, a as isValidTerminalId } from './ids-DU6sLx4C.mjs';
10
10
  import { l as listVhTerminals, r as readVhTerminal, s as sendToVhTerminal } from './terminals-Dlg0x3nY.mjs';
11
- import { bootstrapAssistantHome, assistantPersonalMemoryPath } from './bootstrap-CodyCmGt.mjs';
11
+ import { bootstrapAssistantHome, assistantPersonalMemoryPath } from './bootstrap-MFmMruyB.mjs';
12
12
  import { join, isAbsolute, normalize } from 'node:path';
13
13
 
14
14
  const PERSONAL_MEMORY_SOFT_LIMIT_CHARS = 2e3;
@@ -1,10 +1,10 @@
1
1
  'use strict';
2
2
 
3
- var logger = require('./logger-CrtT0opS.cjs');
4
- var controlClient = require('./controlClient-BLO1_pPx.cjs');
5
- var spawnHappyCLI = require('./spawnHappyCLI-8NcKgkuy.cjs');
6
- var persistence = require('./persistence-IYH6bAXY.cjs');
7
- var configuration = require('./configuration-C9Sx-Foo.cjs');
3
+ var logger = require('./logger-L0pLBOLK.cjs');
4
+ var controlClient = require('./controlClient-BIi1tzEo.cjs');
5
+ var spawnHappyCLI = require('./spawnHappyCLI-BWOub_Uf.cjs');
6
+ var persistence = require('./persistence-CIzOAWK6.cjs');
7
+ var configuration = require('./configuration-CI0GWwaT.cjs');
8
8
  var doctorReadiness = require('./doctorReadiness-Dl6yRQCy.cjs');
9
9
 
10
10
  function extractNoSandboxFlag(args) {
@@ -1,8 +1,8 @@
1
- import { l as logger } from './logger-D2qd0mMg.mjs';
2
- import { i as isDaemonRunningCurrentlyInstalledHappyVersion, a as checkIfDaemonRunningAndCleanupStaleState, s as stopDaemon } from './controlClient-DMCxtwq2.mjs';
3
- import { s as spawnHappyCLI } from './spawnHappyCLI-66grqHO0.mjs';
4
- import { d as readDaemonState } from './persistence-DFtgQvr6.mjs';
5
- import { c as configuration } from './configuration-CVgUe2qN.mjs';
1
+ import { l as logger } from './logger-CpaeM90D.mjs';
2
+ import { i as isDaemonRunningCurrentlyInstalledHappyVersion, a as checkIfDaemonRunningAndCleanupStaleState, s as stopDaemon } from './controlClient-Dv80mB_j.mjs';
3
+ import { s as spawnHappyCLI } from './spawnHappyCLI-BcSO1rF6.mjs';
4
+ import { d as readDaemonState } from './persistence-FgtDuVAP.mjs';
5
+ import { c as configuration } from './configuration-DbCHeEeP.mjs';
6
6
  import { d as daemonEndpointsMatch } from './doctorReadiness-C208SMN9.mjs';
7
7
 
8
8
  function extractNoSandboxFlag(args) {
@@ -1,24 +1,24 @@
1
1
  'use strict';
2
2
 
3
3
  var node_fs = require('node:fs');
4
- var spawnHappyCLI = require('./spawnHappyCLI-8NcKgkuy.cjs');
4
+ var spawnHappyCLI = require('./spawnHappyCLI-BWOub_Uf.cjs');
5
5
  var axios = require('axios');
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-C9Sx-Foo.cjs');
10
- var localHappyAgentAuth = require('./localHappyAgentAuth-BzCuIkzi.cjs');
9
+ var configuration = require('./configuration-CI0GWwaT.cjs');
10
+ var localHappyAgentAuth = require('./localHappyAgentAuth-BHklNDKQ.cjs');
11
11
  require('cross-spawn');
12
12
  require('node:path');
13
13
  require('./projectPath-C3ioB4Bu.cjs');
14
14
  require('path');
15
15
  require('url');
16
- require('./logger-CrtT0opS.cjs');
16
+ require('./logger-L0pLBOLK.cjs');
17
17
  require('chalk');
18
18
  require('node:util');
19
19
  require('node:crypto');
20
20
  require('node:os');
21
- require('./package-DczR1k0c.cjs');
21
+ require('./package-BuATIMpK.cjs');
22
22
  require('node:fs/promises');
23
23
 
24
24
  const ResumableMetadataSchema = z.z.object({
@@ -1,22 +1,22 @@
1
1
  import { existsSync } from 'node:fs';
2
- import { s as spawnHappyCLI } from './spawnHappyCLI-66grqHO0.mjs';
2
+ import { s as spawnHappyCLI } from './spawnHappyCLI-BcSO1rF6.mjs';
3
3
  import axios, { AxiosError } from 'axios';
4
4
  import tweetnacl from 'tweetnacl';
5
5
  import { z } from 'zod';
6
6
  import { d as decodeBase64, a as decryptWithDataKey, b as decryptLegacy } from './authRelay-DhQhkBvX.mjs';
7
- import { c as configuration } from './configuration-CVgUe2qN.mjs';
8
- import { g as getLocalHappyAgentCredentialPath, r as readLocalHappyAgentCredentials } from './localHappyAgentAuth-CcWGU_lS.mjs';
7
+ import { c as configuration } from './configuration-DbCHeEeP.mjs';
8
+ import { g as getLocalHappyAgentCredentialPath, r as readLocalHappyAgentCredentials } from './localHappyAgentAuth-OJk4xDwg.mjs';
9
9
  import 'cross-spawn';
10
10
  import 'node:path';
11
11
  import './projectPath-BTBIMB57.mjs';
12
12
  import 'path';
13
13
  import 'url';
14
- import './logger-D2qd0mMg.mjs';
14
+ import './logger-CpaeM90D.mjs';
15
15
  import 'chalk';
16
16
  import 'node:util';
17
17
  import 'node:crypto';
18
18
  import 'node:os';
19
- import './package-Ek5FOyEo.mjs';
19
+ import './package-DagIeOhi.mjs';
20
20
  import 'node:fs/promises';
21
21
 
22
22
  const ResumableMetadataSchema = z.object({
@@ -1,14 +1,14 @@
1
1
  import { statSync, readdirSync } from 'node:fs';
2
2
  import { homedir } from 'node:os';
3
- import { l as logger } from './logger-D2qd0mMg.mjs';
4
- import { r as readSettings } from './persistence-DFtgQvr6.mjs';
3
+ import { l as logger } from './logger-CpaeM90D.mjs';
4
+ import { r as readSettings } from './persistence-FgtDuVAP.mjs';
5
5
  import { d as describeAgentHome, C as CLAUDE_CONFIG_DIR_ENV, a as CODEX_HOME_ENV, f as findClaudeConversation, b as agentHomeCandidates, c as findCodexThread, r as resolveAgentHomes, A as AGENT_HOME_ENV_NAMES, g as agentHomeEnv, p as probeLoginShellEnv } from './loginShellEnv-Dw8M7tkI.mjs';
6
6
  export { h as claudeConversationPath, i as claudeProjectDirName, j as codexRolloutFileMatches, e as expandHomePath } from './loginShellEnv-Dw8M7tkI.mjs';
7
7
  import 'chalk';
8
8
  import 'node:util';
9
- import './configuration-CVgUe2qN.mjs';
9
+ import './configuration-DbCHeEeP.mjs';
10
10
  import 'node:path';
11
- import './package-Ek5FOyEo.mjs';
11
+ import './package-DagIeOhi.mjs';
12
12
  import 'node:fs/promises';
13
13
  import 'zod';
14
14
  import './authRelay-DhQhkBvX.mjs';
@@ -1352,5 +1352,101 @@ function ownerBoardPostToRest(sessionId, input, anchor) {
1352
1352
  inferred: false
1353
1353
  };
1354
1354
  }
1355
+ const SYNC_HELLO_MAX_REQUEST_SUBS = 64;
1356
+ const sessionIdSchema = z.string().min(1).max(128);
1357
+ const afterSeqSchema = z.number().int().min(0).nullable();
1358
+ const limitSchema = z.number().int().min(1).optional();
1359
+ const syncSubRequestSchema = z.object({
1360
+ sid: sessionIdSchema,
1361
+ /** null = cold: return the latest page (like before_seq=MAX). */
1362
+ afterSeq: afterSeqSchema,
1363
+ limit: limitSchema
1364
+ });
1365
+ z.object({
1366
+ v: z.number().int(),
1367
+ subs: z.array(syncSubRequestSchema).max(SYNC_HELLO_MAX_REQUEST_SUBS),
1368
+ /** 'connect' | 'resume' | 'handover' | 'retry' — diagnostics only. */
1369
+ /** Diagnostics only, never acted on: any length is accepted (review S1 — a hello must not fail over it). */
1370
+ reason: z.string().optional()
1371
+ });
1372
+ z.object({
1373
+ v: z.number().int(),
1374
+ sid: sessionIdSchema,
1375
+ afterSeq: afterSeqSchema,
1376
+ limit: limitSchema
1377
+ });
1378
+ z.object({
1379
+ v: z.number().int(),
1380
+ sid: sessionIdSchema
1381
+ });
1382
+ const syncMessageSchema = z.object({
1383
+ id: z.string(),
1384
+ seq: z.number().int(),
1385
+ content: z.unknown(),
1386
+ localId: z.string().nullable(),
1387
+ createdAt: z.number(),
1388
+ updatedAt: z.number()
1389
+ });
1390
+ const syncSubResultOkSchema = z.object({
1391
+ sid: z.string(),
1392
+ ok: z.literal(true),
1393
+ /** Session.seq in the same statement snapshot as `messages`. */
1394
+ headSeq: z.number().int(),
1395
+ /** seq ascending. The latest page when afterSeq was null or gapTooLarge. */
1396
+ messages: z.array(syncMessageSchema),
1397
+ /**
1398
+ * More forward messages exist: continue with afterSeq = the last seq here —
1399
+ * or, when `messages` is empty (the ack's byte budget was spent on earlier
1400
+ * subs), with the afterSeq of the request.
1401
+ */
1402
+ hasMore: z.boolean(),
1403
+ gapTooLarge: z.literal(true).optional(),
1404
+ /** Smallest seq in `messages` when they are the latest page. */
1405
+ oldestSeq: z.number().int().optional()
1406
+ });
1407
+ const syncSubResultErrorSchema = z.object({
1408
+ sid: z.string(),
1409
+ ok: z.literal(false),
1410
+ error: z.string(),
1411
+ retryAfterMs: z.number().optional()
1412
+ });
1413
+ const syncSubResultSchema = z.union([syncSubResultOkSchema, syncSubResultErrorSchema]);
1414
+ const syncLimitsSchema = z.object({
1415
+ maxSubs: z.number().int(),
1416
+ maxLimit: z.number().int(),
1417
+ gapThreshold: z.number().int()
1418
+ });
1419
+ const syncHelloAckOkSchema = z.object({
1420
+ ok: z.literal(true),
1421
+ v: z.number().int(),
1422
+ serverTime: z.number(),
1423
+ limits: syncLimitsSchema,
1424
+ /** One per request sub, same order. */
1425
+ results: z.array(syncSubResultSchema)
1426
+ });
1427
+ const syncHelloAckErrorSchema = z.object({
1428
+ ok: z.literal(false),
1429
+ error: z.string(),
1430
+ retryAfterMs: z.number().optional()
1431
+ });
1432
+ z.union([syncHelloAckOkSchema, syncHelloAckErrorSchema]);
1433
+ z.object({
1434
+ v: z.number().int(),
1435
+ sid: z.string(),
1436
+ headSeq: z.number().int(),
1437
+ messages: z.array(syncMessageSchema)
1438
+ });
1439
+ z.object({
1440
+ v: z.number().int(),
1441
+ sid: z.string(),
1442
+ headSeq: z.number().int(),
1443
+ updatedAt: z.number()
1444
+ });
1445
+ z.object({
1446
+ v: z.number().int(),
1447
+ sid: z.string(),
1448
+ /** 'revoked' | 'deleted' */
1449
+ reason: z.string()
1450
+ });
1355
1451
 
1356
1452
  export { AUTOMATION_NAME_PATTERN as A, BUILTIN_TODO_SKILL as B, isAttentionBoardLocalId as C, OwnerBoardUpdateInputSchema as D, OwnerBoardResolveInputSchema as E, OwnerBoardListInputSchema as F, ATTENTION_SESSION_CAPABILITY as G, RelayAssignmentResponseSchema as H, CODEX_STEER_CAPABILITY as I, RelayCandidatesResponseSchema as J, ServerMigrateNoticeSchema as K, isHarnessInstallId as L, AUTOMATION_PRECHECK_OUTPUT_MAX_CHARS as M, AUTOMATION_PRECHECK_DEFAULT_TIMEOUT_MS as N, OwnerBoardPostInputSchema as O, PROMPT_QUEUE_CAPABILITY as P, AUTOMATION_CLAIM_MAX_RUNS as Q, ReleaseDrainNoticeSchema as R, STREAM_DELTA_MAX_CHARS as S, AUTOMATION_DAEMON_CAPABILITY_PRECHECK as T, AUTOMATION_DEFAULT_LEASE_MS as U, HARNESS_INSTALL_CAPABILITY_VERSION as V, PROJECT_SESSION_CAPABILITY as a, AUTOMATION_PRECHECK_MAX_TIMEOUT_MS as b, AutomationPrecheckSchema as c, AUTOMATION_ATTENTION_REASON_MAX_CHARS as d, AUTOMATION_SUMMARY_MAX_CHARS as e, isInsideTeamWorktree as f, createEnvelope as g, createBuiltinTodoClient as h, isAutomationRunTerminal as i, BUILTIN_TODO_DISCOVERY as j, getAgentCodeDefaults as k, isClaudeOpus55Model as l, supportsClaudeOpus55 as m, normalizeAgentKey as n, AutomationNameSchema as o, AutomationConcurrencySchema as p, AutomationActionSchema as q, rebaseTeamWorktreePath as r, streamKeyOf as s, AutomationTriggerSchema as t, AgentVersionsSchema as u, PI_STEER_CAPABILITY as v, AGENT_VERSION_SOURCES as w, ATTENTION_DISABLED_ERROR as x, ATTENTION_LIMITS as y, ownerBoardPostToRest as z };
@@ -2,14 +2,14 @@
2
2
 
3
3
  var node_fs = require('node:fs');
4
4
  var os = require('node:os');
5
- var logger = require('./logger-CrtT0opS.cjs');
6
- var persistence = require('./persistence-IYH6bAXY.cjs');
5
+ var logger = require('./logger-L0pLBOLK.cjs');
6
+ var persistence = require('./persistence-CIzOAWK6.cjs');
7
7
  var loginShellEnv = require('./loginShellEnv-BkuYtExZ.cjs');
8
8
  require('chalk');
9
9
  require('node:util');
10
- require('./configuration-C9Sx-Foo.cjs');
10
+ require('./configuration-CI0GWwaT.cjs');
11
11
  require('node:path');
12
- require('./package-DczR1k0c.cjs');
12
+ require('./package-BuATIMpK.cjs');
13
13
  require('node:fs/promises');
14
14
  require('zod');
15
15
  require('./authRelay-Dy1qU9td.cjs');