very-happy-cli 0.2.187 → 0.2.189

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-B2-ReWTo.cjs → AcpBackend-DRPJ2g9G.cjs} +3 -3
  2. package/dist/{AcpBackend-C4Emg-H3.mjs → AcpBackend-fj16v_cf.mjs} +3 -3
  3. package/dist/{AcpSessionManager-Nard_zFS.mjs → AcpSessionManager-BZPmUDL5.mjs} +4 -4
  4. package/dist/{AcpSessionManager-DR4-oZCz.cjs → AcpSessionManager-DM-KKg6v.cjs} +4 -4
  5. package/dist/{BasePermissionHandler-Bk9DmVZH.mjs → BasePermissionHandler-CVtH-snr.mjs} +1 -1
  6. package/dist/{BasePermissionHandler-CZ19WzsP.cjs → BasePermissionHandler-DjM16uJz.cjs} +1 -1
  7. package/dist/{acpSessionResume-Hto_b8MK.cjs → acpSessionResume-2BTMsB7_.cjs} +1 -1
  8. package/dist/{acpSessionResume-DPSfMe7r.mjs → acpSessionResume-Dxl1LRAT.mjs} +1 -1
  9. package/dist/{agentHome-4-odnrAk.mjs → agentHome-CHctmMzZ.mjs} +4 -4
  10. package/dist/{agentHome-Mveyfa24.cjs → agentHome-W17n1gnH.cjs} +4 -4
  11. package/dist/{api-cVvbFZVK.mjs → api-B0yN68XH.mjs} +10 -10
  12. package/dist/{api-DVEzYcoy.cjs → api-BDuuyys8.cjs} +10 -10
  13. package/dist/{apiMachine-Bd1C_JN6.cjs → apiMachine-iddD-F19.cjs} +14 -14
  14. package/dist/{apiMachine-M7qY1izH.mjs → apiMachine-mc9CsKuS.mjs} +14 -14
  15. package/dist/{attachmentContent-D8hViGiA.cjs → attachmentContent-Cc5b7TPr.cjs} +2 -2
  16. package/dist/{attachmentContent-NNF-Eo4O.mjs → attachmentContent-CcIdMfAx.mjs} +2 -2
  17. package/dist/{auth-BHw8be0X.cjs → auth-B7tVmyfX.cjs} +8 -8
  18. package/dist/{auth-BCHL8Fx5.mjs → auth-CyrVvWHF.mjs} +5 -5
  19. package/dist/{auth-CKNEKwEV.mjs → auth-DNAgkUkB.mjs} +8 -8
  20. package/dist/{auth-b_1h0677.cjs → auth-DQKSpaEf.cjs} +5 -5
  21. package/dist/{auto-D716QYa3.mjs → auto-BklCipw1.mjs} +18 -17
  22. package/dist/{auto-Da4rCLal.cjs → auto-CetlumDo.cjs} +18 -17
  23. package/dist/{bootstrap-j2RuoHVy.cjs → bootstrap-CDY-Vz8q.cjs} +2 -2
  24. package/dist/{bootstrap-CndcegDb.mjs → bootstrap-DfXwkUQb.mjs} +2 -2
  25. package/dist/{browser-DIYTnD_T.cjs → browser-D1yzC0Tu.cjs} +1 -1
  26. package/dist/{browser-CLsM513o.mjs → browser-vb0k1zfI.mjs} +1 -1
  27. package/dist/{claudeLocal-C_uUbEO_.cjs → claudeLocal-2dJIiTIq.cjs} +5 -5
  28. package/dist/{claudeLocal-3HbTx7K-.mjs → claudeLocal-Bid_rC_v.mjs} +5 -5
  29. package/dist/{claudeLocalLauncher-DXh2chq3.mjs → claudeLocalLauncher-5pzpETxd.mjs} +10 -10
  30. package/dist/{claudeLocalLauncher-BxWouVYk.cjs → claudeLocalLauncher-Jm5oQX5Z.cjs} +10 -10
  31. package/dist/{claudeSessionFork-CsU96yXX.cjs → claudeSessionFork-DsbcuDEJ.cjs} +1 -1
  32. package/dist/{claudeSessionFork-B4olbwfj.mjs → claudeSessionFork-DzecSBO4.mjs} +1 -1
  33. package/dist/{client-C8w9aQYe.mjs → client-B161HwAk.mjs} +2 -2
  34. package/dist/{client-CCy72Phz.cjs → client-BNmFaRXZ.cjs} +4 -4
  35. package/dist/{client-D8p1YjVt.mjs → client-C9Ecbtko.mjs} +4 -4
  36. package/dist/{client-Zqg7DXHl.mjs → client-CvjjadIE.mjs} +2 -2
  37. package/dist/{client-CWSfPlGD.cjs → client-D0aYWt53.cjs} +2 -2
  38. package/dist/{client-q1aNOKgy.cjs → client-DIfxYk7B.cjs} +2 -2
  39. package/dist/codex/happyMcpStdioBridge.cjs +17 -16
  40. package/dist/codex/happyMcpStdioBridge.mjs +17 -16
  41. package/dist/{codexAppServerClient-Csc-XsRV.mjs → codexAppServerClient-BlVmpjR-.mjs} +63 -5
  42. package/dist/{codexAppServerClient-g8npaIU9.cjs → codexAppServerClient-CO9f4Jr8.cjs} +63 -5
  43. package/dist/{codexCommand-BV8pTAtv.cjs → codexCommand-BfoRP6E9.cjs} +189 -68
  44. package/dist/{codexCommand-BS-foS_R.mjs → codexCommand-CAMR4g5o.mjs} +188 -67
  45. package/dist/{codexTermination-lOO15mt2.mjs → codexTermination-BvGlN02_.mjs} +1 -1
  46. package/dist/{codexTermination-B5WgZAWO.cjs → codexTermination-IrLZQzKC.cjs} +1 -1
  47. package/dist/{config-BOnZRJIG.cjs → config-BGFqQGvh.cjs} +3 -3
  48. package/dist/{config-Ba5ufl-D.mjs → config-CtMgGPvf.mjs} +3 -3
  49. package/dist/{configuration-8EAa2X9P.mjs → configuration-1FabKklB.mjs} +1 -1
  50. package/dist/{configuration-CAfdO4IC.cjs → configuration-C0ctLGW2.cjs} +1 -1
  51. package/dist/{connect-BHWHNe54.mjs → connect-0lSugpjf.mjs} +13 -13
  52. package/dist/{connect-2hWuvxRM.cjs → connect-DSw-2f52.cjs} +13 -13
  53. package/dist/{context-B-jybQhf.mjs → context-BgxbXWKS.mjs} +1 -1
  54. package/dist/{context-BtCz06PX.cjs → context-D-hEk5pC.cjs} +1 -1
  55. package/dist/{controlClient-O-vf2MkJ.mjs → controlClient-DwNnNAUx.mjs} +4 -4
  56. package/dist/{controlClient-mH9AxBwT.cjs → controlClient-F7hAEEy2.cjs} +3 -3
  57. package/dist/{createSessionMetadata-HlzlfP0U.mjs → createSessionMetadata-CG6Klinp.mjs} +2 -2
  58. package/dist/{createSessionMetadata-Bcn7b8QB.cjs → createSessionMetadata-DezS33OM.cjs} +2 -2
  59. package/dist/{defaultPermissionMode-BN3PdltF.cjs → defaultPermissionMode-5EvgRq38.cjs} +2 -2
  60. package/dist/{defaultPermissionMode-BPDeX4S8.mjs → defaultPermissionMode-e2bIIJG4.mjs} +2 -2
  61. package/dist/{deterministicJson-CruOxFA6.mjs → deterministicJson-BMwgK21e.mjs} +13 -13
  62. package/dist/{deterministicJson-D9pZQhU9.cjs → deterministicJson-D0LU_XbO.cjs} +13 -13
  63. package/dist/{doctor-BNhLBBTK.mjs → doctor-D16hySse.mjs} +7 -7
  64. package/dist/{doctor-lHD1YZH6.cjs → doctor-wVNvRarN.cjs} +7 -7
  65. package/dist/{downloadTarget-ByTxs_N5.mjs → downloadTarget-C6tqaXGm.mjs} +6 -6
  66. package/dist/{downloadTarget-BhkQxTa8.cjs → downloadTarget-aNcCxVRL.cjs} +6 -6
  67. package/dist/{ensureDaemonRunning-BiCK6RiS.cjs → ensureDaemonRunning-CIghxgDR.cjs} +5 -5
  68. package/dist/{ensureDaemonRunning-Cv0AMaHK.mjs → ensureDaemonRunning-DZq8bvsp.mjs} +5 -5
  69. package/dist/{handleResumeCommand-Cy_KW0LN.mjs → handleResumeCommand-BNnD7EuD.mjs} +5 -5
  70. package/dist/{handleResumeCommand-WB4VDeKk.cjs → handleResumeCommand-CMUTygsm.cjs} +5 -5
  71. package/dist/{index-BpWESchl.cjs → index-4TpmBb2Q.cjs} +3 -3
  72. package/dist/{index-Vtcax4oD.cjs → index-B81qV_F_.cjs} +4 -4
  73. package/dist/{index-CVMbboXv.mjs → index-BCQr-5Ei.mjs} +4 -4
  74. package/dist/{index-BumVulwx.cjs → index-BOe6dKnL.cjs} +215 -18
  75. package/dist/{index-CdOz1uDl.mjs → index-BuiG8hmg.mjs} +94 -45
  76. package/dist/{index-BpSpw6jG.mjs → index-CKd20r1W.mjs} +3 -3
  77. package/dist/{index-B44ft-m4.cjs → index-CnzsOD19.cjs} +93 -44
  78. package/dist/{index-Bcp-PEGc.cjs → index-De02DNu5.cjs} +4 -4
  79. package/dist/{index-lWXWV0H2.mjs → index-Df0bc_et.mjs} +4 -4
  80. package/dist/{index-B9f1vKcC.mjs → index-WKyN-bNy.mjs} +212 -17
  81. package/dist/index.cjs +2 -2
  82. package/dist/index.mjs +2 -2
  83. package/dist/{install-mK93DJ6L.mjs → install-23ehAdTD.mjs} +3 -3
  84. package/dist/{install-DdRVv9IS.cjs → install-DNbIEJUk.cjs} +3 -3
  85. package/dist/lib.cjs +12 -12
  86. package/dist/lib.d.cts +14 -0
  87. package/dist/lib.d.mts +14 -0
  88. package/dist/lib.mjs +12 -12
  89. package/dist/{lidState-XyjQaZtU.cjs → lidState-B4dHJCeS.cjs} +1 -1
  90. package/dist/{lidState-LtdUCXi-.mjs → lidState-q5Its2Hm.mjs} +1 -1
  91. package/dist/{localHappyAgentAuth-C9Aj_wGD.cjs → localHappyAgentAuth-CG2nPD_H.cjs} +1 -1
  92. package/dist/{localHappyAgentAuth-DqFE0Adr.mjs → localHappyAgentAuth-C_G5u5lY.mjs} +1 -1
  93. package/dist/{logger-BILSzq2s.cjs → logger-BP1SW7Cs.cjs} +2 -2
  94. package/dist/{logger-SAU4uSs4.mjs → logger-DOKH3Zbh.mjs} +2 -2
  95. package/dist/{machineMetadata-C5TgUTpD.cjs → machineMetadata-BKX3ov9g.cjs} +3 -3
  96. package/dist/{machineMetadata-ZVnihOuL.mjs → machineMetadata-D-5qeIqd.mjs} +3 -3
  97. package/dist/{main-BjOHtX8u.mjs → main-DODz8DQE.mjs} +46 -46
  98. package/dist/{main-CVfx_-l7.cjs → main-ndpVIaSG.cjs} +46 -46
  99. package/dist/{mcp-CWVr7KbQ.mjs → mcp-BBwbSODp.mjs} +16 -15
  100. package/dist/{mcp-By9XK193.cjs → mcp-Bc4U4exu.cjs} +16 -15
  101. package/dist/{mirrorProtocol-C0wyaesn.cjs → mirrorProtocol-CiA3hO2y.cjs} +3 -3
  102. package/dist/{mirrorProtocol-BI6XbokT.mjs → mirrorProtocol-D2vTWteS.mjs} +3 -3
  103. package/dist/{package-Bbfq2KR7.cjs → package-CYDdLA6R.cjs} +7 -7
  104. package/dist/{package-BMBwnCn3.mjs → package-DTcaIhjW.mjs} +7 -7
  105. package/dist/{panels-rQmysHlY.cjs → panels-C2xZ8rqU.cjs} +5 -5
  106. package/dist/{panels-CbIUwV6q.mjs → panels-DCaLxlSL.mjs} +5 -5
  107. package/dist/{peerTools-CZfiq_Dx.cjs → peerTools-B4315xjX.cjs} +5 -5
  108. package/dist/{peerTools-CyruQrOo.mjs → peerTools-BtrUnSwz.mjs} +5 -5
  109. package/dist/{persistence-C7T3HYjq.mjs → persistence-0INrP3aB.mjs} +2 -2
  110. package/dist/{persistence-DPeSC0SK.cjs → persistence-CrzC7yr_.cjs} +2 -2
  111. package/dist/{piRunnerArgs-DAq8vIpP.cjs → piRunnerArgs-BtzW_kfh.cjs} +1 -1
  112. package/dist/{piRunnerArgs-CsWompo8.mjs → piRunnerArgs-DRuxMlX1.mjs} +1 -1
  113. package/dist/{piRuntime-Dxd8Gfun.mjs → piRuntime-BMAFpIBV.mjs} +1 -1
  114. package/dist/{piRuntime-CFqlQFoz.cjs → piRuntime-DEbPE_kW.cjs} +1 -1
  115. package/dist/{piTerminal-BssuKDtJ.mjs → piTerminal-DQXV8_we.mjs} +18 -17
  116. package/dist/{piTerminal-DHG3Kzve.cjs → piTerminal-MtxDtBE2.cjs} +18 -17
  117. package/dist/{pushNotifications-CsSyhnHu.cjs → pushNotifications-CalIS9sq.cjs} +3 -3
  118. package/dist/{pushNotifications-Bi72c41d.mjs → pushNotifications-Cq1s8YVK.mjs} +3 -3
  119. package/dist/{query-BQOwsKS1.mjs → query-BYiPBHPC.mjs} +1 -1
  120. package/dist/{query-Cuef299f.cjs → query-CE2XDhhw.cjs} +1 -1
  121. package/dist/{specialCommands-35KxDNE8.cjs → rateLimitReporter-BKmoOZQi.cjs} +3 -55
  122. package/dist/{specialCommands-CTtmGCCf.mjs → rateLimitReporter-DR5LXuiQ.mjs} +4 -55
  123. package/dist/{rateLimitWindows-B6IAWYN5.mjs → rateLimitWindows-5vIuNjko.mjs} +1 -1
  124. package/dist/{rateLimitWindows-bfwC81Z-.cjs → rateLimitWindows-Cs56YJCH.cjs} +1 -1
  125. package/dist/{registerCommonHandlers-qzb6TQqo.mjs → registerCommonHandlers-DWkTysjD.mjs} +2 -2
  126. package/dist/{registerCommonHandlers-CQC04iF3.cjs → registerCommonHandlers-DZPozYxc.cjs} +2 -2
  127. package/dist/{registerKillSessionHandler-DMPrrNKX.mjs → registerKillSessionHandler-CSCTRIbI.mjs} +34 -6
  128. package/dist/{registerKillSessionHandler-BraKB5Ks.cjs → registerKillSessionHandler-DhCjrs44.cjs} +34 -6
  129. package/dist/{remoteSessionClient-DffolBcQ.cjs → remoteSessionClient-Dq8XTLQP.cjs} +5 -5
  130. package/dist/{remoteSessionClient-D3XhN_sd.mjs → remoteSessionClient-Vfj_5g2-.mjs} +5 -5
  131. package/dist/{reportProgressTool-irHR-XEW.mjs → reportProgressTool-B7zmX7NJ.mjs} +3 -3
  132. package/dist/{reportProgressTool-BieTXE_R.cjs → reportProgressTool-DznxPKES.cjs} +3 -3
  133. package/dist/{run-Ck_WA6Nj.cjs → run-Ca8BiNCp.cjs} +36 -35
  134. package/dist/{run-DCUaxe2S.mjs → run-DSfNcR62.mjs} +36 -35
  135. package/dist/{runClaude-BUGku2Qp.cjs → runClaude-ClQQcgoO.cjs} +22 -22
  136. package/dist/{runClaude-BryAvfNV.mjs → runClaude-hoepv-0X.mjs} +22 -22
  137. package/dist/{runClaudeDeps-BZkWM9_u.mjs → runClaudeDeps-D_v8t2SK.mjs} +88 -55
  138. package/dist/{runClaudeDeps-Dbk1VrOW.cjs → runClaudeDeps-ck5_GYlP.cjs} +85 -52
  139. package/dist/{runGemini-DT379gpi.mjs → runGemini-CTr2-cYG.mjs} +38 -33
  140. package/dist/{runGemini-B6AZ2bv0.cjs → runGemini-Cj0XsMiM.cjs} +38 -33
  141. package/dist/{runOpenClaw-eBUYlIVJ.cjs → runOpenClaw-BoN1e3lP.cjs} +23 -18
  142. package/dist/{runOpenClaw-Bpp9mkyO.mjs → runOpenClaw-CdDMntiV.mjs} +23 -18
  143. package/dist/{sandbox-Bv4H1P6u.cjs → sandbox-BY2h19gc.cjs} +4 -4
  144. package/dist/{sandbox-Z8TM9eUg.mjs → sandbox-DcaWB-Ou.mjs} +4 -4
  145. package/dist/selfCheck-BQ_H2Sns.mjs +86 -0
  146. package/dist/{selfCheck--1k2Ptf6.cjs → selfCheck-DFS_GUaQ.cjs} +37 -37
  147. package/dist/{send-BG4KYe6f.cjs → send-BMsUYU6g.cjs} +9 -8
  148. package/dist/{send-CKTovWuQ.mjs → send-UBTHHNvZ.mjs} +9 -8
  149. package/dist/{server-DLpXtoiZ.mjs → server-Dt3mCtfQ.mjs} +4 -4
  150. package/dist/{server-BTNwH-sA.cjs → server-YrHMHNz1.cjs} +6 -6
  151. package/dist/{sessionLock-Cf6RlgfF.cjs → sessionLock-DSqiP2lH.cjs} +3 -3
  152. package/dist/{sessionLock-DhzB5ZI9.mjs → sessionLock-tEFvFXLD.mjs} +3 -3
  153. package/dist/{sessionOps-R52JWMnX.cjs → sessionOps-BzeOKIEF.cjs} +27 -4
  154. package/dist/{sessionOps-CiFjBCMa.mjs → sessionOps-CljctDs5.mjs} +27 -4
  155. package/dist/{sessionProvider-f2tUhwBc.mjs → sessionProvider-BnUFSJXM.mjs} +5 -5
  156. package/dist/{sessionProvider-LATn-lZL.cjs → sessionProvider-ORgzmkXy.cjs} +5 -5
  157. package/dist/{sessionScanner-DRzZtGtu.cjs → sessionScanner-Cr6PJ3PT.cjs} +3 -3
  158. package/dist/{sessionScanner-lS1puA5H.mjs → sessionScanner-DZUlkdF6.mjs} +3 -3
  159. package/dist/{sessions-D01nnjOE.mjs → sessions-15cag-su.mjs} +11 -10
  160. package/dist/{sessions-DGd8Fin6.cjs → sessions-aIo_HjmY.cjs} +11 -10
  161. package/dist/{setupOfflineReconnection-UApZjcU5.mjs → setupOfflineReconnection-B7I8R2Ex.mjs} +2 -2
  162. package/dist/{setupOfflineReconnection-Ds7ywGwR.cjs → setupOfflineReconnection-tV0Q1dgR.cjs} +2 -2
  163. package/dist/{spawn-ct8aSMA8.mjs → spawn-ByrQgruJ.mjs} +70 -28
  164. package/dist/{spawn-CT3g4p8A.cjs → spawn-VG-HjJiR.cjs} +70 -27
  165. package/dist/{spawnAgents-f2q31uUV.mjs → spawnAgents-Bh1RPShN.mjs} +24 -11
  166. package/dist/{spawnAgents-DsJSyLDl.cjs → spawnAgents-C1-4m7aN.cjs} +24 -10
  167. package/dist/{spawnHappyCLI-Dp05fHcp.mjs → spawnHappyCLI-CEsXwz5V.mjs} +1 -1
  168. package/dist/{spawnHappyCLI-DedrWByd.cjs → spawnHappyCLI-CxiR2Qoy.cjs} +1 -1
  169. package/dist/specialCommands-J3JFOq0J.cjs +60 -0
  170. package/dist/specialCommands-MXUN0wfI.mjs +54 -0
  171. package/dist/{startFileWatcher-72w11DP_.cjs → startFileWatcher-C-XCZ5t2.cjs} +1 -1
  172. package/dist/{startFileWatcher-BLdxJdgu.mjs → startFileWatcher-DkEeeAtL.mjs} +1 -1
  173. package/dist/{startupSessionCreate-Cy4J4-Ep.cjs → startupSessionCreate-CYc8mra-.cjs} +1 -1
  174. package/dist/{startupSessionCreate-CJFR_Zom.mjs → startupSessionCreate-npXe2TdN.mjs} +1 -1
  175. package/dist/{streamRelay-B3FloUTT.mjs → streamRelay-CqBynIon.mjs} +1 -1
  176. package/dist/{streamRelay-Cn_uGG6m.cjs → streamRelay-D9a4cBEa.cjs} +1 -1
  177. package/dist/{sync-BWX1OVQi.mjs → sync-BvDMkKAN.mjs} +1 -1
  178. package/dist/{sync-lxDpbIh3.cjs → sync-CoChLEIg.cjs} +1 -1
  179. package/dist/{systemPrompt-BIilbjt_.mjs → systemPrompt-CgDaPigN.mjs} +2 -2
  180. package/dist/{systemPrompt-0DqWPGY6.cjs → systemPrompt-Dy_Rf-0Z.cjs} +2 -2
  181. package/dist/{teams-CvpB8Rdm.mjs → teams-BC4_e5hR.mjs} +7 -7
  182. package/dist/{teams-CImmJLlM.cjs → teams-DPvfLAk8.cjs} +7 -7
  183. package/dist/{template-DPsqlHJQ.cjs → template-17HATY_Y.cjs} +1 -1
  184. package/dist/{template-DuKZw-Sz.mjs → template-CEK8MEjo.mjs} +1 -1
  185. package/dist/{time-DjS5me2q.mjs → time-CUK37wiV.mjs} +1 -1
  186. package/dist/{time-BbQJi3Eh.cjs → time-XwEZxKGc.cjs} +1 -1
  187. package/dist/{titleGenerator-CfJme6ep.cjs → titleGenerator-DVX0NZUn.cjs} +2 -2
  188. package/dist/{titleGenerator-CGdBp5lQ.mjs → titleGenerator-DWRVdqMU.mjs} +1 -1
  189. package/dist/{todo-BxfUKwTM.mjs → todo-BNMGXneA.mjs} +6 -6
  190. package/dist/{todo-rN20m9lT.cjs → todo-CKGrSrRE.cjs} +6 -6
  191. package/dist/{tools-B_W7xJNh.mjs → tools-CCIEAVbB.mjs} +1 -1
  192. package/dist/{tools-kGtSjG8h.cjs → tools-CjMafO_D.cjs} +1 -1
  193. package/dist/{uninstall-CBQsxEmD.cjs → uninstall-BdFbTXnL.cjs} +3 -3
  194. package/dist/{uninstall-DUjvgLlg.mjs → uninstall-CJvJ7gjr.mjs} +3 -3
  195. package/package.json +7 -7
  196. package/dist/selfCheck-DIGghfQz.mjs +0 -86
@@ -1,105 +1,106 @@
1
- import { l as logger } from './logger-SAU4uSs4.mjs';
2
- import { q as notifyDaemonSessionEvent, t as notifyDaemonClaudeAuthFailed } from './controlClient-O-vf2MkJ.mjs';
3
- export { k as reportSessionEditToDaemon } from './controlClient-O-vf2MkJ.mjs';
1
+ import { l as logger } from './logger-DOKH3Zbh.mjs';
2
+ import { q as notifyDaemonSessionEvent, t as notifyDaemonClaudeAuthFailed } from './controlClient-DwNnNAUx.mjs';
3
+ export { k as reportSessionEditToDaemon } from './controlClient-DwNnNAUx.mjs';
4
4
  import { s as sameBackgroundTasks, c as createBackgroundTaskTracker } from './backgroundTaskActivity-8PdPxrvy.mjs';
5
- import { c as createProjectInjector, h as hashObject, l as leadBoardFor } from './deterministicJson-CruOxFA6.mjs';
6
- export { s as startHappyServer } from './deterministicJson-CruOxFA6.mjs';
7
- import { s as sharedProjectsClient } from './client-C8w9aQYe.mjs';
5
+ import { c as createProjectInjector, h as hashObject, l as leadBoardFor } from './deterministicJson-BMwgK21e.mjs';
6
+ export { s as startHappyServer } from './deterministicJson-BMwgK21e.mjs';
7
+ import { s as sharedProjectsClient } from './client-B161HwAk.mjs';
8
8
  import { randomInt, randomUUID, createHash } from 'node:crypto';
9
+ import { a as parseSpecialCommand } from './specialCommands-MXUN0wfI.mjs';
9
10
  import { M as MessageBuffer } from './sessionExitLifecycle-CzkLIgNZ.mjs';
10
11
  export { S as SessionExitGate, e as exitIntentFromArchiveFlag, s as settleSessionOnExit } from './sessionExitLifecycle-CzkLIgNZ.mjs';
11
- import { q as query } from './query-BQOwsKS1.mjs';
12
+ import { q as query } from './query-BYiPBHPC.mjs';
12
13
  import { AbortError } from '@anthropic-ai/claude-agent-sdk';
13
14
  import { m as mapToClaudeMode, p as parseClaudePermissionMode, c as resolveRemoteClaudePermissionMode } from './permissionMode-CH4FoZfU.mjs';
14
- import { c as claudeCheckSession, s as systemPrompt } from './systemPrompt-BIilbjt_.mjs';
15
+ import { c as claudeCheckSession, s as systemPrompt } from './systemPrompt-CgDaPigN.mjs';
15
16
  import { join, resolve, dirname } from 'node:path';
16
- import { p as parseSpecialCommand, w as wrapperRateLimitReporter } from './specialCommands-CTtmGCCf.mjs';
17
17
  import 'axios';
18
18
  import 'node:events';
19
19
  import 'socket.io-client';
20
- import { A as AsyncLock } from './pushNotifications-Bi72c41d.mjs';
20
+ import { A as AsyncLock } from './pushNotifications-Cq1s8YVK.mjs';
21
21
  import 'tweetnacl';
22
- import { c as configuration, e as ensurePrivateDirectory } from './configuration-8EAa2X9P.mjs';
23
- import './index-B9f1vKcC.mjs';
24
- import './registerCommonHandlers-qzb6TQqo.mjs';
22
+ import { c as configuration, e as ensurePrivateDirectory } from './configuration-1FabKklB.mjs';
23
+ import './index-WKyN-bNy.mjs';
24
+ import './registerCommonHandlers-DWkTysjD.mjs';
25
25
  import 'os';
26
26
  import 'child_process';
27
27
  import '@paralleldrive/cuid2';
28
- import './persistence-C7T3HYjq.mjs';
28
+ import './persistence-0INrP3aB.mjs';
29
29
  import { c as contentLogMetadata } from './contentLogMetadata-BlWI0egu.mjs';
30
30
  import 'chalk';
31
31
  import { R as RawJSONLinesSchema } from './types-CkqAACXx.mjs';
32
32
  import { g as getProjectPath } from './path-D2wdaNSk.mjs';
33
33
  import { access } from 'fs/promises';
34
- import { d as delay } from './time-DjS5me2q.mjs';
34
+ import { d as delay } from './time-CUK37wiV.mjs';
35
35
  import { mkdirSync, writeFileSync, readFileSync, unlinkSync, renameSync, statSync, existsSync } from 'node:fs';
36
- import { F as Future, d as describeClaudeProcessExit } from './sessionScanner-lS1puA5H.mjs';
37
- export { c as createSessionScanner } from './sessionScanner-lS1puA5H.mjs';
36
+ import { F as Future, d as describeClaudeProcessExit } from './sessionScanner-DZUlkdF6.mjs';
37
+ export { c as createSessionScanner } from './sessionScanner-DZUlkdF6.mjs';
38
38
  import { execSync } from 'node:child_process';
39
- import { S as StreamRelay } from './streamRelay-B3FloUTT.mjs';
40
- import { C as CLAUDE_ATTACHMENT_KINDS, c as chatAttachmentDirectory, a as stageClaudeAttachments, b as appendStagedAttachmentsToPrompt } from './attachmentContent-NNF-Eo4O.mjs';
39
+ import { S as StreamRelay } from './streamRelay-CqBynIon.mjs';
40
+ import { C as CLAUDE_ATTACHMENT_KINDS, c as chatAttachmentDirectory, a as stageClaudeAttachments, b as appendStagedAttachmentsToPrompt } from './attachmentContent-CcIdMfAx.mjs';
41
41
  import { writeFile, rename, unlink, readFile } from 'node:fs/promises';
42
- import { F as ForkSourceMissingError } from './claudeSessionFork-B4olbwfj.mjs';
43
- export { M as MessageQueue2, r as registerKillSessionHandler } from './registerKillSessionHandler-DMPrrNKX.mjs';
44
- export { g as getEnvironmentInfo } from './doctor-BNhLBBTK.mjs';
42
+ import { F as ForkSourceMissingError } from './claudeSessionFork-DzecSBO4.mjs';
43
+ import { w as wrapperRateLimitReporter } from './rateLimitReporter-DR5LXuiQ.mjs';
44
+ export { M as MessageQueue2, r as registerKillSessionHandler } from './registerKillSessionHandler-CSCTRIbI.mjs';
45
+ export { g as getEnvironmentInfo } from './doctor-D16hySse.mjs';
45
46
  import { createServer } from 'node:http';
46
47
  export { E as EditReportThrottle, b as extractClaudeEditPaths } from './editPaths-BVfS_FFL.mjs';
47
48
  import { p as projectPath } from './projectPath-BTBIMB57.mjs';
48
49
  export { s as snapshotTree, t as terminateSurvivors } from './processTreeSnapshot-CuLJDNC-.mjs';
49
- import { r as resolveClaudeBinary, a as runClaudeOneShot } from './titleGenerator-CGdBp5lQ.mjs';
50
- export { T as TitleGenerator } from './titleGenerator-CGdBp5lQ.mjs';
50
+ import { r as resolveClaudeBinary, a as runClaudeOneShot } from './titleGenerator-DWRVdqMU.mjs';
51
+ export { T as TitleGenerator } from './titleGenerator-DWRVdqMU.mjs';
51
52
  import { B as BOARD_ANALYZER_PROMPT_PREFIX } from './oneShotPrompts-DT4p6RNd.mjs';
52
- import { i as isSelfReportFresh } from './reportProgressTool-irHR-XEW.mjs';
53
- export { c as createSelfReportState } from './reportProgressTool-irHR-XEW.mjs';
53
+ import { i as isSelfReportFresh } from './reportProgressTool-B7zmX7NJ.mjs';
54
+ export { c as createSelfReportState } from './reportProgressTool-B7zmX7NJ.mjs';
54
55
  import 'node:util';
55
56
  import './prompt-QHuFx9j6.mjs';
56
57
  import 'node:os';
57
58
  import 'zod';
58
59
  import './pi-CqyoZMjI.mjs';
59
60
  import './fileStore-5qpetZS0.mjs';
60
- import './client-D8p1YjVt.mjs';
61
- import './context-B-jybQhf.mjs';
62
- import './sessionOps-CiFjBCMa.mjs';
61
+ import './client-C9Ecbtko.mjs';
62
+ import './context-BgxbXWKS.mjs';
63
+ import './sessionOps-CljctDs5.mjs';
63
64
  import './authRelay-DhQhkBvX.mjs';
64
65
  import './resources-CLP_MpK4.mjs';
65
- import './tools-B_W7xJNh.mjs';
66
- import './peerTools-CyruQrOo.mjs';
66
+ import './tools-CCIEAVbB.mjs';
67
+ import './peerTools-BtrUnSwz.mjs';
67
68
  import './ids-DU6sLx4C.mjs';
68
- import './remoteSessionClient-D3XhN_sd.mjs';
69
+ import './remoteSessionClient-Vfj_5g2-.mjs';
69
70
  import '@modelcontextprotocol/sdk/server/mcp.js';
70
71
  import '@modelcontextprotocol/sdk/server/streamableHttp.js';
71
72
  import './limits-DIo7rEBR.mjs';
72
- import './downloadTarget-ByTxs_N5.mjs';
73
+ import './downloadTarget-C6tqaXGm.mjs';
73
74
  import './terminals-Dlg0x3nY.mjs';
74
75
  import './terminalTitleSuggest-CeKsX_V6.mjs';
75
76
  import './tmuxSocket-B8Yx20sT.mjs';
76
- import './bootstrap-CndcegDb.mjs';
77
- import './package-BMBwnCn3.mjs';
77
+ import './bootstrap-DfXwkUQb.mjs';
78
+ import './package-DTcaIhjW.mjs';
78
79
  import './agentGuidance-BDYt2Qy2.mjs';
79
80
  import './trimIdent-BAjmv_TG.mjs';
80
81
  import './webPanels-B2_C2-3g.mjs';
81
82
  import './previewPath-CXN4Vag0.mjs';
82
83
  import 'crypto';
83
84
  import './promptCacheTtl-Ce0TVbrx.mjs';
84
- import './rateLimitWindows-B6IAWYN5.mjs';
85
85
  import 'util';
86
86
  import 'path';
87
87
  import 'cross-spawn';
88
- import './sync-BWX1OVQi.mjs';
88
+ import './sync-BvDMkKAN.mjs';
89
89
  import './transcriptCursor-B7T_gkQ0.mjs';
90
- import './startFileWatcher-BLdxJdgu.mjs';
90
+ import './startFileWatcher-DkEeeAtL.mjs';
91
91
  import 'node:readline';
92
+ import './rateLimitWindows-5vIuNjko.mjs';
92
93
  import './doctor-BPkYWSuq.mjs';
93
94
  import 'ps-list';
94
95
  import './doctorReadiness-C208SMN9.mjs';
95
96
  import './detectCLI-CSGMlV51.mjs';
96
97
  import 'fs';
97
98
  import './cliUpdate-Y34VGe9Y.mjs';
98
- import './piRunnerArgs-CsWompo8.mjs';
99
- import './acpSessionResume-DPSfMe7r.mjs';
99
+ import './piRunnerArgs-DRuxMlX1.mjs';
100
+ import './acpSessionResume-Dxl1LRAT.mjs';
100
101
  import 'url';
101
102
  import 'node:module';
102
- import './client-Zqg7DXHl.mjs';
103
+ import './client-CvjjadIE.mjs';
103
104
  import './precheckCompat-DeEbilbr.mjs';
104
105
 
105
106
  const SCHEDULE_WAKEUP_GRACE_MS = 6e4;
@@ -455,10 +456,13 @@ class Session {
455
456
  }
456
457
  };
457
458
  /**
458
- * Clear the current session ID (used by /clear command)
459
+ * Clear the current session ID (used by /clear command). The next turn
460
+ * starts a conversation that never saw the project prefix, so it carries
461
+ * the full prefix again instead of only a digest (B-845).
459
462
  */
460
463
  clearSessionId = () => {
461
464
  this.sessionId = null;
465
+ this._projectInjector?.reset();
462
466
  logger.debug("[Session] Session ID cleared");
463
467
  };
464
468
  /**
@@ -655,6 +659,14 @@ function createRuntimeControls(isThinking) {
655
659
  return { setQuery, observe, request, stopRunningTasks };
656
660
  }
657
661
 
662
+ async function finalizeRemotePrompt(prompt, deps) {
663
+ const command = parseSpecialCommand(prompt).type;
664
+ if (command === "compact" || command === "clear") return prompt;
665
+ deps.board?.onTurnStart(deps.sourceIds);
666
+ const text = deps.board ? await deps.board.decorate(prompt) : prompt;
667
+ return deps.project.decorate(text);
668
+ }
669
+
658
670
  const CLAUDE_COMMAND_LIFECYCLE_STATES = ["queued", "started", "completed", "cancelled", "discarded", "refused"];
659
671
  function readClaudeCommandLifecycle(frame) {
660
672
  const m = frame;
@@ -914,6 +926,18 @@ async function awaitFileExist(file, timeout = 1e4) {
914
926
  return false;
915
927
  }
916
928
 
929
+ function readCompactStatus(message) {
930
+ if (!message || typeof message !== "object") return null;
931
+ const frame = message;
932
+ if (frame.type !== "system" || frame.subtype !== "status" || typeof frame.compact_result !== "string") return null;
933
+ return typeof frame.compact_error === "string" && frame.compact_error.trim() ? { result: frame.compact_result, error: frame.compact_error.trim() } : { result: frame.compact_result };
934
+ }
935
+ function compactOutcomeEvent(result, status) {
936
+ if (result.subtype !== "success") return `Compaction failed: ${result.errors?.join("\n") || result.subtype}`;
937
+ if (status && status.result !== "success") return `Compaction failed: ${status.error ?? status.result}`;
938
+ return "Compaction completed";
939
+ }
940
+
917
941
  const SDK_TIMING_FIELDS = ["ttft_ms", "time_to_request_ms", "time_to_request_from_spawn_ms"];
918
942
  function delta(from, to) {
919
943
  if (typeof from !== "number" || typeof to !== "number" || to < from) return "-";
@@ -1449,10 +1473,12 @@ async function claudeRemote(opts) {
1449
1473
  if (opts.onSessionReset) {
1450
1474
  opts.onSessionReset();
1451
1475
  }
1476
+ opts.onStartArgsUsed?.();
1452
1477
  opts.onReady();
1453
1478
  return;
1454
1479
  }
1455
1480
  let isCompactCommand = false;
1481
+ let compactStatus = null;
1456
1482
  if (specialCommand.type === "compact") {
1457
1483
  logger.debug("[claudeRemote] /compact command detected - will process as normal but with compaction behavior");
1458
1484
  isCompactCommand = true;
@@ -1503,6 +1529,7 @@ async function claudeRemote(opts) {
1503
1529
  }
1504
1530
  warm = null;
1505
1531
  w.lease.adopt();
1532
+ opts.onStartArgsUsed?.();
1506
1533
  adopted = { response: w.response, messages: w.messages, models: hs.models };
1507
1534
  logger.debug(formatPrewarmLine("adopted", {
1508
1535
  warmForMs: adoptStart - w.startedAt,
@@ -1537,6 +1564,7 @@ async function claudeRemote(opts) {
1537
1564
  messages = new PushableAsyncIterable();
1538
1565
  messages.push(initialUserMessage);
1539
1566
  timingMarks.spawnAt = Date.now();
1567
+ opts.onStartArgsUsed?.();
1540
1568
  response = query({
1541
1569
  prompt: messages,
1542
1570
  options: buildSdkOptions(initial.mode, { settingsPath: opts.hookSettingsPath, abort: opts.signal })
@@ -1711,6 +1739,7 @@ async function claudeRemote(opts) {
1711
1739
  opts.onStreamFrame({ type: "system", subtype: "status", status: status.status });
1712
1740
  }
1713
1741
  }
1742
+ if (isCompactCommand) compactStatus = readCompactStatus(message) ?? compactStatus;
1714
1743
  const outboundMessage = isCompactCommand && message.type === "assistant" ? { ...message, isCompactSummary: true } : message;
1715
1744
  opts.onMessage(outboundMessage);
1716
1745
  const lifecycle = readClaudeCommandLifecycle(message);
@@ -1778,12 +1807,11 @@ async function claudeRemote(opts) {
1778
1807
  logger.warn(`[claudeRemote] ${denials.length} tool call(s) auto-denied by Claude Code policy: ${denials.map((d) => d.tool_name ?? "?").join(", ")}`);
1779
1808
  }
1780
1809
  if (isCompactCommand) {
1781
- const compactSucceeded = message.subtype === "success";
1782
- logger.debug(`[claudeRemote] Compaction ${compactSucceeded ? "completed" : "failed"}`);
1783
- if (opts.onCompletionEvent) {
1784
- opts.onCompletionEvent(message.subtype === "success" ? "Compaction completed" : `Compaction failed: ${message.errors?.join("\n") || message.subtype}`);
1785
- }
1810
+ const outcome = compactOutcomeEvent(message, compactStatus);
1811
+ logger.debug(`[claudeRemote] ${outcome}`);
1812
+ opts.onCompletionEvent?.(outcome);
1786
1813
  isCompactCommand = false;
1814
+ compactStatus = null;
1787
1815
  }
1788
1816
  if (endsTurn) opts.onReady(message);
1789
1817
  if (recycleIfPoisoned(message)) continue;
@@ -4087,6 +4115,7 @@ async function claudeRemoteLauncher(session, onPermissionModeChange, onEffective
4087
4115
  const attachmentDirectory = chatAttachmentDirectory(configuration.happyHomeDir, session.client.sessionId);
4088
4116
  await ensurePrivateDirectory(attachmentDirectory);
4089
4117
  launchPrewarm = session.takeClaudePrewarm();
4118
+ let startArgsUsed = false;
4090
4119
  const remoteResult = await claudeRemote({
4091
4120
  prewarm: launchPrewarm ?? void 0,
4092
4121
  sessionId: session.sessionId,
@@ -4105,10 +4134,11 @@ async function claudeRemoteLauncher(session, onPermissionModeChange, onEffective
4105
4134
  nextMessage: async () => {
4106
4135
  let batchSourceIds;
4107
4136
  const finalize = async (prompt) => {
4108
- const board = leadBoardFor(session.client);
4109
- board?.onTurnStart(batchSourceIds);
4110
- const text = board ? await board.decorate(prompt) : prompt;
4111
- const out = await session.projectInjector.decorate(text);
4137
+ const out = await finalizeRemotePrompt(prompt, {
4138
+ board: leadBoardFor(session.client),
4139
+ project: session.projectInjector,
4140
+ sourceIds: batchSourceIds
4141
+ });
4112
4142
  onPromptFinalized?.(out);
4113
4143
  return out;
4114
4144
  };
@@ -4283,9 +4313,12 @@ async function claudeRemoteLauncher(session, onPermissionModeChange, onEffective
4283
4313
  }
4284
4314
  });
4285
4315
  },
4286
- signal: abortController.signal
4316
+ signal: abortController.signal,
4317
+ onStartArgsUsed: () => {
4318
+ startArgsUsed = true;
4319
+ }
4287
4320
  });
4288
- session.consumeOneTimeFlags();
4321
+ if (startArgsUsed) session.consumeOneTimeFlags();
4289
4322
  if (!exitReason && abortController.signal.aborted && !silentRelaunch) {
4290
4323
  session.client.closeClaudeSessionTurn("cancelled");
4291
4324
  session.client.sendSessionEvent({ type: "message", message: "Aborted by user" });
@@ -4390,7 +4423,7 @@ async function loop(opts) {
4390
4423
  logger.debug(`[loop] Iteration with mode: ${mode}`);
4391
4424
  switch (mode) {
4392
4425
  case "local": {
4393
- const { claudeLocalLauncher } = await import('./claudeLocalLauncher-DXh2chq3.mjs');
4426
+ const { claudeLocalLauncher } = await import('./claudeLocalLauncher-5pzpETxd.mjs');
4394
4427
  const result = await claudeLocalLauncher(session);
4395
4428
  switch (result.type) {
4396
4429
  case "switch":
@@ -4731,7 +4764,7 @@ function registerSideQuestionHandler(rpc, deps) {
4731
4764
  const retainMs = deps.retainMs ?? SIDE_QUESTION_RETAIN_MS;
4732
4765
  const maxRunMs = deps.maxRunMs ?? SIDE_QUESTION_MAX_RUN_MS;
4733
4766
  const fork = deps.run ?? (async (input) => {
4734
- const { query } = await import('./index-CVMbboXv.mjs');
4767
+ const { query } = await import('./index-BCQr-5Ei.mjs');
4735
4768
  return runSideQuestion(query, input);
4736
4769
  });
4737
4770
  const run = async (input, live) => {
@@ -1,101 +1,102 @@
1
1
  'use strict';
2
2
 
3
- var logger = require('./logger-BILSzq2s.cjs');
4
- var controlClient = require('./controlClient-mH9AxBwT.cjs');
3
+ var logger = require('./logger-BP1SW7Cs.cjs');
4
+ var controlClient = require('./controlClient-F7hAEEy2.cjs');
5
5
  var backgroundTaskActivity = require('./backgroundTaskActivity-CBvUdj39.cjs');
6
- var deterministicJson = require('./deterministicJson-D9pZQhU9.cjs');
7
- var client = require('./client-q1aNOKgy.cjs');
6
+ var deterministicJson = require('./deterministicJson-D0LU_XbO.cjs');
7
+ var client = require('./client-DIfxYk7B.cjs');
8
8
  var node_crypto = require('node:crypto');
9
+ var specialCommands = require('./specialCommands-J3JFOq0J.cjs');
9
10
  var sessionExitLifecycle = require('./sessionExitLifecycle-DFltxXU8.cjs');
10
- var query = require('./query-Cuef299f.cjs');
11
+ var query = require('./query-CE2XDhhw.cjs');
11
12
  var claudeAgentSdk = require('@anthropic-ai/claude-agent-sdk');
12
13
  var permissionMode = require('./permissionMode-CrV-XuMs.cjs');
13
- var systemPrompt = require('./systemPrompt-0DqWPGY6.cjs');
14
+ var systemPrompt = require('./systemPrompt-Dy_Rf-0Z.cjs');
14
15
  var path$1 = require('node:path');
15
- var specialCommands = require('./specialCommands-35KxDNE8.cjs');
16
16
  require('axios');
17
17
  require('node:events');
18
18
  require('socket.io-client');
19
- var pushNotifications = require('./pushNotifications-CsSyhnHu.cjs');
19
+ var pushNotifications = require('./pushNotifications-CalIS9sq.cjs');
20
20
  require('tweetnacl');
21
- var configuration = require('./configuration-CAfdO4IC.cjs');
22
- require('./index-BumVulwx.cjs');
23
- require('./registerCommonHandlers-CQC04iF3.cjs');
21
+ var configuration = require('./configuration-C0ctLGW2.cjs');
22
+ require('./index-BOe6dKnL.cjs');
23
+ require('./registerCommonHandlers-DZPozYxc.cjs');
24
24
  require('os');
25
25
  require('child_process');
26
26
  require('@paralleldrive/cuid2');
27
- require('./persistence-DPeSC0SK.cjs');
27
+ require('./persistence-CrzC7yr_.cjs');
28
28
  var contentLogMetadata = require('./contentLogMetadata-ZSFk_NjQ.cjs');
29
29
  require('chalk');
30
30
  var types = require('./types-CRS-srZK.cjs');
31
31
  var path = require('./path-B7zW-WwE.cjs');
32
32
  var fs = require('fs/promises');
33
- var time = require('./time-BbQJi3Eh.cjs');
33
+ var time = require('./time-XwEZxKGc.cjs');
34
34
  var node_fs = require('node:fs');
35
- var sessionScanner = require('./sessionScanner-DRzZtGtu.cjs');
35
+ var sessionScanner = require('./sessionScanner-Cr6PJ3PT.cjs');
36
36
  var node_child_process = require('node:child_process');
37
- var streamRelay = require('./streamRelay-Cn_uGG6m.cjs');
38
- var attachmentContent = require('./attachmentContent-D8hViGiA.cjs');
37
+ var streamRelay = require('./streamRelay-D9a4cBEa.cjs');
38
+ var attachmentContent = require('./attachmentContent-Cc5b7TPr.cjs');
39
39
  var promises = require('node:fs/promises');
40
- var claudeSessionFork = require('./claudeSessionFork-CsU96yXX.cjs');
41
- var registerKillSessionHandler = require('./registerKillSessionHandler-BraKB5Ks.cjs');
42
- var doctor = require('./doctor-lHD1YZH6.cjs');
40
+ var claudeSessionFork = require('./claudeSessionFork-DsbcuDEJ.cjs');
41
+ var rateLimitReporter = require('./rateLimitReporter-BKmoOZQi.cjs');
42
+ var registerKillSessionHandler = require('./registerKillSessionHandler-DhCjrs44.cjs');
43
+ var doctor = require('./doctor-wVNvRarN.cjs');
43
44
  var node_http = require('node:http');
44
45
  var editPaths = require('./editPaths-Bqp4OFPw.cjs');
45
46
  var projectPath = require('./projectPath-C3ioB4Bu.cjs');
46
47
  var processTreeSnapshot = require('./processTreeSnapshot-mDbnuojn.cjs');
47
- var titleGenerator = require('./titleGenerator-CfJme6ep.cjs');
48
+ var titleGenerator = require('./titleGenerator-DVX0NZUn.cjs');
48
49
  var oneShotPrompts = require('./oneShotPrompts-CL0dip9C.cjs');
49
- var reportProgressTool = require('./reportProgressTool-BieTXE_R.cjs');
50
+ var reportProgressTool = require('./reportProgressTool-DznxPKES.cjs');
50
51
  require('node:util');
51
52
  require('./prompt-Bof2aQkI.cjs');
52
53
  require('node:os');
53
54
  require('zod');
54
55
  require('./pi-DlsrPCTa.cjs');
55
56
  require('./fileStore-7qhnbs6N.cjs');
56
- require('./client-CCy72Phz.cjs');
57
- require('./context-BtCz06PX.cjs');
58
- require('./sessionOps-R52JWMnX.cjs');
57
+ require('./client-BNmFaRXZ.cjs');
58
+ require('./context-D-hEk5pC.cjs');
59
+ require('./sessionOps-BzeOKIEF.cjs');
59
60
  require('./authRelay-Dy1qU9td.cjs');
60
61
  require('./resources-BZ_Be0qM.cjs');
61
- require('./tools-kGtSjG8h.cjs');
62
- require('./peerTools-CZfiq_Dx.cjs');
62
+ require('./tools-CjMafO_D.cjs');
63
+ require('./peerTools-B4315xjX.cjs');
63
64
  require('./ids-B6ZC0HGt.cjs');
64
- require('./remoteSessionClient-DffolBcQ.cjs');
65
+ require('./remoteSessionClient-Dq8XTLQP.cjs');
65
66
  require('@modelcontextprotocol/sdk/server/mcp.js');
66
67
  require('@modelcontextprotocol/sdk/server/streamableHttp.js');
67
68
  require('./limits-C-a7gr04.cjs');
68
- require('./downloadTarget-BhkQxTa8.cjs');
69
+ require('./downloadTarget-aNcCxVRL.cjs');
69
70
  require('./terminals-B_bfC9c2.cjs');
70
71
  require('./terminalTitleSuggest-DhvRFX3H.cjs');
71
72
  require('./tmuxSocket-D-Xt6Vn-.cjs');
72
- require('./bootstrap-j2RuoHVy.cjs');
73
- require('./package-Bbfq2KR7.cjs');
73
+ require('./bootstrap-CDY-Vz8q.cjs');
74
+ require('./package-CYDdLA6R.cjs');
74
75
  require('./agentGuidance-BtBx2xxE.cjs');
75
76
  require('./trimIdent-4gvk9Wk6.cjs');
76
77
  require('./webPanels-FCgFKvVe.cjs');
77
78
  require('./previewPath-B0rBdhy1.cjs');
78
79
  require('crypto');
79
80
  require('./promptCacheTtl-B8PCzE6k.cjs');
80
- require('./rateLimitWindows-bfwC81Z-.cjs');
81
81
  require('util');
82
82
  require('path');
83
83
  require('cross-spawn');
84
- require('./sync-lxDpbIh3.cjs');
84
+ require('./sync-CoChLEIg.cjs');
85
85
  require('./transcriptCursor-DcXGLeSc.cjs');
86
- require('./startFileWatcher-72w11DP_.cjs');
86
+ require('./startFileWatcher-C-XCZ5t2.cjs');
87
87
  require('node:readline');
88
+ require('./rateLimitWindows-Cs56YJCH.cjs');
88
89
  require('./doctor-u46qYYKX.cjs');
89
90
  require('ps-list');
90
91
  require('./doctorReadiness-Dl6yRQCy.cjs');
91
92
  require('./detectCLI-BuYR_Qxe.cjs');
92
93
  require('fs');
93
94
  require('./cliUpdate-DsKXPFYp.cjs');
94
- require('./piRunnerArgs-DAq8vIpP.cjs');
95
- require('./acpSessionResume-Hto_b8MK.cjs');
95
+ require('./piRunnerArgs-BtzW_kfh.cjs');
96
+ require('./acpSessionResume-2BTMsB7_.cjs');
96
97
  require('url');
97
98
  require('node:module');
98
- require('./client-CWSfPlGD.cjs');
99
+ require('./client-D0aYWt53.cjs');
99
100
  require('./precheckCompat-CWOi5c9L.cjs');
100
101
 
101
102
  const SCHEDULE_WAKEUP_GRACE_MS = 6e4;
@@ -451,10 +452,13 @@ class Session {
451
452
  }
452
453
  };
453
454
  /**
454
- * Clear the current session ID (used by /clear command)
455
+ * Clear the current session ID (used by /clear command). The next turn
456
+ * starts a conversation that never saw the project prefix, so it carries
457
+ * the full prefix again instead of only a digest (B-845).
455
458
  */
456
459
  clearSessionId = () => {
457
460
  this.sessionId = null;
461
+ this._projectInjector?.reset();
458
462
  logger.logger.debug("[Session] Session ID cleared");
459
463
  };
460
464
  /**
@@ -651,6 +655,14 @@ function createRuntimeControls(isThinking) {
651
655
  return { setQuery, observe, request, stopRunningTasks };
652
656
  }
653
657
 
658
+ async function finalizeRemotePrompt(prompt, deps) {
659
+ const command = specialCommands.parseSpecialCommand(prompt).type;
660
+ if (command === "compact" || command === "clear") return prompt;
661
+ deps.board?.onTurnStart(deps.sourceIds);
662
+ const text = deps.board ? await deps.board.decorate(prompt) : prompt;
663
+ return deps.project.decorate(text);
664
+ }
665
+
654
666
  const CLAUDE_COMMAND_LIFECYCLE_STATES = ["queued", "started", "completed", "cancelled", "discarded", "refused"];
655
667
  function readClaudeCommandLifecycle(frame) {
656
668
  const m = frame;
@@ -910,6 +922,18 @@ async function awaitFileExist(file, timeout = 1e4) {
910
922
  return false;
911
923
  }
912
924
 
925
+ function readCompactStatus(message) {
926
+ if (!message || typeof message !== "object") return null;
927
+ const frame = message;
928
+ if (frame.type !== "system" || frame.subtype !== "status" || typeof frame.compact_result !== "string") return null;
929
+ return typeof frame.compact_error === "string" && frame.compact_error.trim() ? { result: frame.compact_result, error: frame.compact_error.trim() } : { result: frame.compact_result };
930
+ }
931
+ function compactOutcomeEvent(result, status) {
932
+ if (result.subtype !== "success") return `Compaction failed: ${result.errors?.join("\n") || result.subtype}`;
933
+ if (status && status.result !== "success") return `Compaction failed: ${status.error ?? status.result}`;
934
+ return "Compaction completed";
935
+ }
936
+
913
937
  const SDK_TIMING_FIELDS = ["ttft_ms", "time_to_request_ms", "time_to_request_from_spawn_ms"];
914
938
  function delta(from, to) {
915
939
  if (typeof from !== "number" || typeof to !== "number" || to < from) return "-";
@@ -1445,10 +1469,12 @@ async function claudeRemote(opts) {
1445
1469
  if (opts.onSessionReset) {
1446
1470
  opts.onSessionReset();
1447
1471
  }
1472
+ opts.onStartArgsUsed?.();
1448
1473
  opts.onReady();
1449
1474
  return;
1450
1475
  }
1451
1476
  let isCompactCommand = false;
1477
+ let compactStatus = null;
1452
1478
  if (specialCommand.type === "compact") {
1453
1479
  logger.logger.debug("[claudeRemote] /compact command detected - will process as normal but with compaction behavior");
1454
1480
  isCompactCommand = true;
@@ -1499,6 +1525,7 @@ async function claudeRemote(opts) {
1499
1525
  }
1500
1526
  warm = null;
1501
1527
  w.lease.adopt();
1528
+ opts.onStartArgsUsed?.();
1502
1529
  adopted = { response: w.response, messages: w.messages, models: hs.models };
1503
1530
  logger.logger.debug(formatPrewarmLine("adopted", {
1504
1531
  warmForMs: adoptStart - w.startedAt,
@@ -1533,6 +1560,7 @@ async function claudeRemote(opts) {
1533
1560
  messages = new PushableAsyncIterable();
1534
1561
  messages.push(initialUserMessage);
1535
1562
  timingMarks.spawnAt = Date.now();
1563
+ opts.onStartArgsUsed?.();
1536
1564
  response = query.query({
1537
1565
  prompt: messages,
1538
1566
  options: buildSdkOptions(initial.mode, { settingsPath: opts.hookSettingsPath, abort: opts.signal })
@@ -1707,6 +1735,7 @@ async function claudeRemote(opts) {
1707
1735
  opts.onStreamFrame({ type: "system", subtype: "status", status: status.status });
1708
1736
  }
1709
1737
  }
1738
+ if (isCompactCommand) compactStatus = readCompactStatus(message) ?? compactStatus;
1710
1739
  const outboundMessage = isCompactCommand && message.type === "assistant" ? { ...message, isCompactSummary: true } : message;
1711
1740
  opts.onMessage(outboundMessage);
1712
1741
  const lifecycle = readClaudeCommandLifecycle(message);
@@ -1774,12 +1803,11 @@ async function claudeRemote(opts) {
1774
1803
  logger.logger.warn(`[claudeRemote] ${denials.length} tool call(s) auto-denied by Claude Code policy: ${denials.map((d) => d.tool_name ?? "?").join(", ")}`);
1775
1804
  }
1776
1805
  if (isCompactCommand) {
1777
- const compactSucceeded = message.subtype === "success";
1778
- logger.logger.debug(`[claudeRemote] Compaction ${compactSucceeded ? "completed" : "failed"}`);
1779
- if (opts.onCompletionEvent) {
1780
- opts.onCompletionEvent(message.subtype === "success" ? "Compaction completed" : `Compaction failed: ${message.errors?.join("\n") || message.subtype}`);
1781
- }
1806
+ const outcome = compactOutcomeEvent(message, compactStatus);
1807
+ logger.logger.debug(`[claudeRemote] ${outcome}`);
1808
+ opts.onCompletionEvent?.(outcome);
1782
1809
  isCompactCommand = false;
1810
+ compactStatus = null;
1783
1811
  }
1784
1812
  if (endsTurn) opts.onReady(message);
1785
1813
  if (recycleIfPoisoned(message)) continue;
@@ -3907,7 +3935,7 @@ async function claudeRemoteLauncher(session, onPermissionModeChange, onEffective
3907
3935
  let notifiedQuestionToolCalls = /* @__PURE__ */ new Set();
3908
3936
  function onMessage(message) {
3909
3937
  if (message.type === "rate_limit_event") {
3910
- specialCommands.wrapperRateLimitReporter().observeClaude(message.rate_limit_info);
3938
+ rateLimitReporter.wrapperRateLimitReporter().observeClaude(message.rate_limit_info);
3911
3939
  }
3912
3940
  runtimeControls.observe(message);
3913
3941
  backgroundTasks.observe(message);
@@ -4083,6 +4111,7 @@ async function claudeRemoteLauncher(session, onPermissionModeChange, onEffective
4083
4111
  const attachmentDirectory = attachmentContent.chatAttachmentDirectory(configuration.configuration.happyHomeDir, session.client.sessionId);
4084
4112
  await configuration.ensurePrivateDirectory(attachmentDirectory);
4085
4113
  launchPrewarm = session.takeClaudePrewarm();
4114
+ let startArgsUsed = false;
4086
4115
  const remoteResult = await claudeRemote({
4087
4116
  prewarm: launchPrewarm ?? void 0,
4088
4117
  sessionId: session.sessionId,
@@ -4101,10 +4130,11 @@ async function claudeRemoteLauncher(session, onPermissionModeChange, onEffective
4101
4130
  nextMessage: async () => {
4102
4131
  let batchSourceIds;
4103
4132
  const finalize = async (prompt) => {
4104
- const board = deterministicJson.leadBoardFor(session.client);
4105
- board?.onTurnStart(batchSourceIds);
4106
- const text = board ? await board.decorate(prompt) : prompt;
4107
- const out = await session.projectInjector.decorate(text);
4133
+ const out = await finalizeRemotePrompt(prompt, {
4134
+ board: deterministicJson.leadBoardFor(session.client),
4135
+ project: session.projectInjector,
4136
+ sourceIds: batchSourceIds
4137
+ });
4108
4138
  onPromptFinalized?.(out);
4109
4139
  return out;
4110
4140
  };
@@ -4279,9 +4309,12 @@ async function claudeRemoteLauncher(session, onPermissionModeChange, onEffective
4279
4309
  }
4280
4310
  });
4281
4311
  },
4282
- signal: abortController.signal
4312
+ signal: abortController.signal,
4313
+ onStartArgsUsed: () => {
4314
+ startArgsUsed = true;
4315
+ }
4283
4316
  });
4284
- session.consumeOneTimeFlags();
4317
+ if (startArgsUsed) session.consumeOneTimeFlags();
4285
4318
  if (!exitReason && abortController.signal.aborted && !silentRelaunch) {
4286
4319
  session.client.closeClaudeSessionTurn("cancelled");
4287
4320
  session.client.sendSessionEvent({ type: "message", message: "Aborted by user" });
@@ -4386,7 +4419,7 @@ async function loop(opts) {
4386
4419
  logger.logger.debug(`[loop] Iteration with mode: ${mode}`);
4387
4420
  switch (mode) {
4388
4421
  case "local": {
4389
- const { claudeLocalLauncher } = await Promise.resolve().then(function () { return require('./claudeLocalLauncher-BxWouVYk.cjs'); });
4422
+ const { claudeLocalLauncher } = await Promise.resolve().then(function () { return require('./claudeLocalLauncher-Jm5oQX5Z.cjs'); });
4390
4423
  const result = await claudeLocalLauncher(session);
4391
4424
  switch (result.type) {
4392
4425
  case "switch":
@@ -4727,7 +4760,7 @@ function registerSideQuestionHandler(rpc, deps) {
4727
4760
  const retainMs = deps.retainMs ?? SIDE_QUESTION_RETAIN_MS;
4728
4761
  const maxRunMs = deps.maxRunMs ?? SIDE_QUESTION_MAX_RUN_MS;
4729
4762
  const fork = deps.run ?? (async (input) => {
4730
- const { query } = await Promise.resolve().then(function () { return require('./index-Vtcax4oD.cjs'); });
4763
+ const { query } = await Promise.resolve().then(function () { return require('./index-B81qV_F_.cjs'); });
4731
4764
  return runSideQuestion(query, input);
4732
4765
  });
4733
4766
  const run = async (input, live) => {
@@ -5154,11 +5187,11 @@ function resolveMessageMode(current, meta, ctx) {
5154
5187
 
5155
5188
  exports.reportSessionEditToDaemon = controlClient.reportSessionEditToDaemon;
5156
5189
  exports.startHappyServer = deterministicJson.startHappyServer;
5190
+ exports.parseSpecialCommand = specialCommands.parseSpecialCommand;
5157
5191
  exports.SessionExitGate = sessionExitLifecycle.SessionExitGate;
5158
5192
  exports.exitIntentFromArchiveFlag = sessionExitLifecycle.exitIntentFromArchiveFlag;
5159
5193
  exports.settleSessionOnExit = sessionExitLifecycle.settleSessionOnExit;
5160
5194
  exports.claudeCheckSession = systemPrompt.claudeCheckSession;
5161
- exports.parseSpecialCommand = specialCommands.parseSpecialCommand;
5162
5195
  exports.contentLogMetadata = contentLogMetadata.contentLogMetadata;
5163
5196
  exports.RawJSONLinesSchema = types.RawJSONLinesSchema;
5164
5197
  exports.getProjectPath = path.getProjectPath;