very-happy-cli 0.2.164 → 0.2.166

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 (190) hide show
  1. package/README.md +1 -1
  2. package/dist/{AcpBackend-CHDqSii9.cjs → AcpBackend-20VHOXwb.cjs} +3 -3
  3. package/dist/{AcpBackend-B8l1ZePt.mjs → AcpBackend-tRWk7yi7.mjs} +3 -3
  4. package/dist/{AcpSessionManager-BQnDJvct.mjs → AcpSessionManager-B7FIrsys.mjs} +1 -1
  5. package/dist/{AcpSessionManager-9yN2iH4b.cjs → AcpSessionManager-Zf00QnlL.cjs} +1 -1
  6. package/dist/{BasePermissionHandler-DgtAtJTV.mjs → BasePermissionHandler-CDCLIrZJ.mjs} +1 -1
  7. package/dist/{BasePermissionHandler-DGQYvBPg.cjs → BasePermissionHandler-COKc4pmt.cjs} +1 -1
  8. package/dist/{BaseReasoningProcessor-Dfacnfhj.mjs → BaseReasoningProcessor-BDVKvooR.mjs} +1 -1
  9. package/dist/{BaseReasoningProcessor-BqalZhQO.cjs → BaseReasoningProcessor-DAGQdkNp.cjs} +1 -1
  10. package/dist/{agentGuidance-CQuNlNx8.mjs → agentGuidance-BDYt2Qy2.mjs} +4 -2
  11. package/dist/{agentGuidance-B5NATuFa.cjs → agentGuidance-BtBx2xxE.cjs} +4 -1
  12. package/dist/{agentHome-DM0urHEI.mjs → agentHome-2IbIjKCa.mjs} +4 -4
  13. package/dist/{agentHome-DtsPKfTS.cjs → agentHome-KVWj6nCl.cjs} +4 -4
  14. package/dist/{api-Yoh_zKdR.mjs → api-Cmz3XS4P.mjs} +14 -12
  15. package/dist/{api-EKlS0r1w.cjs → api-DnNL5fLw.cjs} +14 -12
  16. package/dist/{apiMachine-s3HiV-SL.mjs → apiMachine-B6ySCFe0.mjs} +2137 -65
  17. package/dist/{apiMachine-q71suojS.cjs → apiMachine-DeoQ8QbZ.cjs} +2134 -62
  18. package/dist/{attachmentContent-BLyyo1al.mjs → attachmentContent-CTXapi-_.mjs} +2 -2
  19. package/dist/{attachmentContent-Bakb0XV3.cjs → attachmentContent-DPWxHgX4.cjs} +2 -2
  20. package/dist/{attachmentLimits-eJZ4ZBjF.cjs → attachmentLimits-BfgKV5iE.cjs} +28 -2
  21. package/dist/{attachmentLimits-B8nzhw-i.mjs → attachmentLimits-C1PCCM79.mjs} +28 -2
  22. package/dist/{auth-BTfv8yW0.mjs → auth-BMaBjRAj.mjs} +8 -8
  23. package/dist/{auth-Hpg4Yxfa.cjs → auth-D4-eQz85.cjs} +8 -8
  24. package/dist/{auth-Cn3dQInF.cjs → auth-ietHtvwu.cjs} +5 -5
  25. package/dist/{auth-Cxhx5evk.mjs → auth-pzWIFdOD.mjs} +5 -5
  26. package/dist/{auto-BAAEVGZa.mjs → auto-DL75Dx3I.mjs} +83 -21
  27. package/dist/{auto-CK8irHum.cjs → auto-DOWTQDPa.cjs} +84 -20
  28. package/dist/{bootstrap-D9SUykG_.cjs → bootstrap-BpXIc2wn.cjs} +2 -2
  29. package/dist/{bootstrap-CTNjn_aj.mjs → bootstrap-XE8A7Ut2.mjs} +2 -2
  30. package/dist/{browser-C8ztaIkm.cjs → browser-CcG8GLRV.cjs} +1 -1
  31. package/dist/{browser-DydXWySF.mjs → browser-DDFi1T8C.mjs} +1 -1
  32. package/dist/{claudeLocal-CsLFMvFU.cjs → claudeLocal-DXBXwIOG.cjs} +6 -6
  33. package/dist/{claudeLocal-CdJJovWq.mjs → claudeLocal-DmM5Oyhv.mjs} +6 -6
  34. package/dist/{claudeLocalLauncher-DRc-tET5.cjs → claudeLocalLauncher-C41Y6Kp4.cjs} +14 -11
  35. package/dist/{claudeLocalLauncher-CKazNnl0.mjs → claudeLocalLauncher-Cs4eUC3P.mjs} +14 -11
  36. package/dist/{claudeSessionFork-BfPW9D2S.mjs → claudeSessionFork-BdLnc2Hv.mjs} +1 -1
  37. package/dist/{claudeSessionFork-BWdhyy9B.cjs → claudeSessionFork-Cs0I3eGI.cjs} +1 -1
  38. package/dist/{client-Do5CHQnZ.mjs → client-CbK33y_s.mjs} +3 -3
  39. package/dist/{client-BZtKFCJr.cjs → client-DJ0kX_8M.cjs} +2 -2
  40. package/dist/{client-DkoV3VWl.mjs → client-GjTnsq6F.mjs} +2 -2
  41. package/dist/{client-C1GAIJ04.cjs → client-JISJx2f-.cjs} +3 -3
  42. package/dist/codex/happyMcpStdioBridge.cjs +23 -18
  43. package/dist/codex/happyMcpStdioBridge.mjs +22 -17
  44. package/dist/{codexAppServerClient-JddkV_aP.cjs → codexAppServerClient-BTjn2ZCZ.cjs} +46 -2
  45. package/dist/{codexAppServerClient-CfF33X-8.mjs → codexAppServerClient-CldXEojt.mjs} +47 -3
  46. package/dist/{codexCommand-Bdj3XZbi.cjs → codexCommand-BpD0N1F7.cjs} +71 -51
  47. package/dist/{codexCommand-btJso8yC.mjs → codexCommand-DjMU-Ijf.mjs} +71 -51
  48. package/dist/{config-nziuMb7g.mjs → config-DjSJKatx.mjs} +3 -3
  49. package/dist/{config-DpCNivmg.cjs → config-DuLL0Ppe.cjs} +3 -3
  50. package/dist/{configuration-PXAE4-FP.cjs → configuration-B0cb3xA3.cjs} +1 -1
  51. package/dist/{configuration-CiBUH72C.mjs → configuration-D2v3puap.mjs} +1 -1
  52. package/dist/{connect-D7ehaW2C.cjs → connect-B7JWEzyg.cjs} +13 -13
  53. package/dist/{connect-XHdi6Vtc.mjs → connect-CnNNyM9I.mjs} +13 -13
  54. package/dist/{context-DhvXl1oC.cjs → context-BFUpYT39.cjs} +1 -1
  55. package/dist/{context-BpEYcuLv.mjs → context-DjfqLWzE.mjs} +1 -1
  56. package/dist/{controlClient-DzmCQrY_.mjs → controlClient-BMUJfUeF.mjs} +13 -6
  57. package/dist/{controlClient-DI-Er-Ww.cjs → controlClient-CmnHGcyl.cjs} +13 -5
  58. package/dist/{createSessionMetadata-B47GrTX6.mjs → createSessionMetadata-DU0bCg2m.mjs} +2 -2
  59. package/dist/{createSessionMetadata-D04x6OMW.cjs → createSessionMetadata-DbfRBhRu.cjs} +2 -2
  60. package/dist/{deterministicJson-CKqT3awl.mjs → deterministicJson-D-WPUrZb.mjs} +36 -52
  61. package/dist/{deterministicJson-BM8e8QwP.cjs → deterministicJson-Dp3TVyap.cjs} +41 -59
  62. package/dist/{doctor-CSgzbG5L.mjs → doctor-BlXXyQ1L.mjs} +6 -6
  63. package/dist/{doctor-Cl6cqvok.cjs → doctor-CkJmdPbi.cjs} +6 -6
  64. package/dist/{assistantTools-D3cZvgUX.cjs → downloadTarget-CiQqRIc-.cjs} +44 -6
  65. package/dist/{assistantTools-BWfAV349.mjs → downloadTarget-DjSwMHun.mjs} +45 -8
  66. package/dist/{ensureDaemonRunning-fPVSsjIm.mjs → ensureDaemonRunning-CAQag1zE.mjs} +5 -5
  67. package/dist/{ensureDaemonRunning-CJ4-U32n.cjs → ensureDaemonRunning-C_aIOhgG.cjs} +5 -5
  68. package/dist/{handleResumeCommand-bX-aNF_z.cjs → handleResumeCommand-6KzBGDnl.cjs} +5 -5
  69. package/dist/{handleResumeCommand-B84dt2aH.mjs → handleResumeCommand-Ci7wacT-.mjs} +5 -5
  70. package/dist/{index-vVWpCoTr.mjs → index-B0HEEYGh.mjs} +22 -5
  71. package/dist/{index-DqlyNgt4.cjs → index-C9hI8a10.cjs} +26 -4
  72. package/dist/{index-B2UvSWo_.cjs → index-CaFCAlX8.cjs} +3 -3
  73. package/dist/{index-CP2fh7JX.cjs → index-DBmNwMX9.cjs} +39 -38
  74. package/dist/{index-DaTxsAC3.cjs → index-DEKIgZUo.cjs} +4 -4
  75. package/dist/{index-OEGj3BxE.mjs → index-DQplgo0W.mjs} +4 -4
  76. package/dist/{index-CbF87SeZ.mjs → index-HQsigW_J.mjs} +3 -3
  77. package/dist/{index-CRJtZCK-.mjs → index-WGCT6SSV.mjs} +40 -39
  78. package/dist/index.cjs +2 -2
  79. package/dist/index.mjs +2 -2
  80. package/dist/{install-BO_W7VhL.mjs → install-BdvKiOQw.mjs} +2 -0
  81. package/dist/{install-__Mni4NU.cjs → install-CejEiRGW.cjs} +3 -3
  82. package/dist/{install-Cs5qAPrB.cjs → install-Cf6AFSWC.cjs} +2 -0
  83. package/dist/{install-CurvoW2u.mjs → install-oJUvsFu9.mjs} +3 -3
  84. package/dist/lib.cjs +12 -12
  85. package/dist/lib.d.cts +55 -2
  86. package/dist/lib.d.mts +55 -2
  87. package/dist/lib.mjs +12 -12
  88. package/dist/{lidState-BbR6y9rq.mjs → lidState-BfximpjX.mjs} +1 -1
  89. package/dist/{lidState-De2HP6nu.cjs → lidState-D8BmnJV1.cjs} +1 -1
  90. package/dist/{localHappyAgentAuth-C7rDePjF.mjs → localHappyAgentAuth-Ct1aXwqd.mjs} +1 -1
  91. package/dist/{localHappyAgentAuth-CboZb3_a.cjs → localHappyAgentAuth-d7B6S_o7.cjs} +1 -1
  92. package/dist/{logger-8dtZPn3n.mjs → logger-BpQcwNnt.mjs} +2 -2
  93. package/dist/{logger-B1k7eZnq.cjs → logger-JTcJU-uL.cjs} +2 -2
  94. package/dist/{machineMetadata-C4OfKn6I.cjs → machineMetadata-BBg_Njw3.cjs} +3 -3
  95. package/dist/{machineMetadata-Bhp_w3-_.mjs → machineMetadata-CBdxABeI.mjs} +3 -3
  96. package/dist/{main-BQTaUrz0.mjs → main-B5b1gA3K.mjs} +44 -44
  97. package/dist/{main-eAiLspBM.cjs → main-C16fOGgn.cjs} +44 -44
  98. package/dist/{mcp-fapbM7Q4.cjs → mcp-BnNiBBax.cjs} +24 -19
  99. package/dist/{mcp-DXCdbQHM.mjs → mcp-DGNWgVdv.mjs} +23 -18
  100. package/dist/{mirrorProtocol-BUtmg1ws.cjs → mirrorProtocol-BEGk2--0.cjs} +80 -0
  101. package/dist/{mirrorProtocol-BNLtoWjO.mjs → mirrorProtocol-h5WHpdhh.mjs} +79 -1
  102. package/dist/{package-tVYgFJoK.mjs → package-BqwrPxL0.mjs} +7 -7
  103. package/dist/{package-CC_txQ31.cjs → package-C1XvUQFy.cjs} +7 -7
  104. package/dist/{peerTools-C1cduHh1.mjs → peerTools-CeCe-3lk.mjs} +4 -4
  105. package/dist/{peerTools-CqIcCEIg.cjs → peerTools-DPvbcs8V.cjs} +4 -4
  106. package/dist/{persistence-d3ZyER6o.cjs → persistence-2Xp_o6x6.cjs} +3 -3
  107. package/dist/{persistence-C_xFQLsD.mjs → persistence-B9LmhAE2.mjs} +3 -3
  108. package/dist/{piRunnerArgs-aq0zJX1Q.mjs → piRunnerArgs-7FaTyNOq.mjs} +1 -1
  109. package/dist/{piRunnerArgs-DSxolPlV.cjs → piRunnerArgs-DI29dDNo.cjs} +1 -1
  110. package/dist/{piRuntime-BnNl5Lmb.mjs → piRuntime-0qEK5AqE.mjs} +1 -1
  111. package/dist/{piRuntime-Dne1LPu-.cjs → piRuntime-R8XVChxK.cjs} +1 -1
  112. package/dist/{piTerminal-fjado4cR.cjs → piTerminal-Ccj0KNPr.cjs} +17 -17
  113. package/dist/{piTerminal-CKWxWtW-.mjs → piTerminal-zcQKc8Sp.mjs} +17 -17
  114. package/dist/precheckCompat-CWOi5c9L.cjs +29 -0
  115. package/dist/precheckCompat-DeEbilbr.mjs +26 -0
  116. package/dist/rateLimitWindows-C2Jk3Ih7.cjs +258 -0
  117. package/dist/rateLimitWindows-Dhfhbtqu.mjs +248 -0
  118. package/dist/{registerCommonHandlers-Dausbdsb.cjs → registerCommonHandlers-Aha_KfM3.cjs} +2 -2
  119. package/dist/{registerCommonHandlers-bSskMveZ.mjs → registerCommonHandlers-DdfGsFbM.mjs} +2 -2
  120. package/dist/{registerKillSessionHandler-CgKyzwqw.cjs → registerKillSessionHandler-CjitOpUA.cjs} +6 -6
  121. package/dist/{registerKillSessionHandler-Ben5lAsN.mjs → registerKillSessionHandler-DboQlGcH.mjs} +6 -6
  122. package/dist/{remoteSessionClient-DnCIuZpQ.mjs → remoteSessionClient-B2DtWuNP.mjs} +5 -5
  123. package/dist/{remoteSessionClient-BkJt8SHa.cjs → remoteSessionClient-BwI8rpQw.cjs} +5 -5
  124. package/dist/{tools-BTBgpiRc.cjs → reportProgressTool-B-Rcy0s3.cjs} +73 -9
  125. package/dist/{tools-gUjkPpCw.mjs → reportProgressTool-DnAD8wOa.mjs} +67 -10
  126. package/dist/{run-B8dxbDsg.cjs → run-Bh66Xs40.cjs} +289 -133
  127. package/dist/{run-BEYMVE4J.mjs → run-DPEwJpQR.mjs} +287 -131
  128. package/dist/{runClaude-Cy_HzLyO.cjs → runClaude-C-lJdAKD.cjs} +25 -20
  129. package/dist/{runClaude-Dd_P1c0f.mjs → runClaude-DLr_nBzw.mjs} +25 -20
  130. package/dist/{runClaudeDeps-JG7EUH7B.mjs → runClaudeDeps-C7JV7nXG.mjs} +47 -37
  131. package/dist/{runClaudeDeps-dxv910DR.cjs → runClaudeDeps-vWWLod7J.cjs} +44 -35
  132. package/dist/{runGemini-DY1IDW_f.cjs → runGemini-o-CUSayc.cjs} +42 -35
  133. package/dist/{runGemini-CpaBuvoW.mjs → runGemini-tH6sLw-G.mjs} +42 -35
  134. package/dist/{runOpenClaw-C7vrDQbq.mjs → runOpenClaw-C5DZvVhn.mjs} +18 -18
  135. package/dist/{runOpenClaw-C0VARcYj.cjs → runOpenClaw-D24f35l0.cjs} +18 -18
  136. package/dist/{sandbox-DRUJZuaM.mjs → sandbox-BaL1aslA.mjs} +4 -4
  137. package/dist/{sandbox-Bx9-M9rN.cjs → sandbox-TJZJ6ngw.cjs} +4 -4
  138. package/dist/selfCheck-DPi4lqme.mjs +84 -0
  139. package/dist/{selfCheck-Ba1sECTO.cjs → selfCheck-Dugi0Nk_.cjs} +34 -34
  140. package/dist/{send-Dqdpx-w5.cjs → send-CkWOSYmU.cjs} +8 -8
  141. package/dist/{send-BrzkbMy2.mjs → send-DDcJ3ayi.mjs} +8 -8
  142. package/dist/{server-CfB8EWCg.cjs → server-7qFQ8J2u.cjs} +6 -6
  143. package/dist/{server-CPMPoEAA.mjs → server-CUjRvQSd.mjs} +4 -4
  144. package/dist/{sessionLock-BsP3Y_nG.cjs → sessionLock-DfhNICyS.cjs} +2 -2
  145. package/dist/{sessionLock-DukLVzAQ.mjs → sessionLock-DqVyHFAQ.mjs} +2 -2
  146. package/dist/{sessionModeFile-JWWF6Nn7.cjs → sessionModeFile-CIznKD7O.cjs} +1 -1
  147. package/dist/{sessionModeFile-CSvi4H_t.mjs → sessionModeFile-M4OpiyrF.mjs} +1 -1
  148. package/dist/{sessionOps-BlMg1uAa.mjs → sessionOps-BnaEaOKs.mjs} +4 -4
  149. package/dist/{sessionOps-HuoMXcIZ.cjs → sessionOps-DOyy4gkY.cjs} +4 -4
  150. package/dist/{sessionScanner-Ct-JoNHP.mjs → sessionScanner-CcuOn9uU.mjs} +75 -19
  151. package/dist/{sessionScanner-BWU6KvZw.cjs → sessionScanner-Cu1yKlj4.cjs} +75 -19
  152. package/dist/{sessions-AjflCj5y.cjs → sessions-BQgk5Kw8.cjs} +9 -9
  153. package/dist/{sessions-3Hw1xXMV.mjs → sessions-C9O91rL1.mjs} +9 -9
  154. package/dist/{setupOfflineReconnection-B_9xp36H.mjs → setupOfflineReconnection-Byy8aeKT.mjs} +2 -2
  155. package/dist/{setupOfflineReconnection-Cxh9Sz9M.cjs → setupOfflineReconnection-DFmQ8s6I.cjs} +2 -2
  156. package/dist/{spawn-CN8PH11G.cjs → spawn-BS7LPmSm.cjs} +13 -12
  157. package/dist/{spawn-BXEVKCQK.mjs → spawn-EZ2yrtWd.mjs} +13 -12
  158. package/dist/{spawnAgents-Czi2VDzj.mjs → spawnAgents-HDaE3C0-.mjs} +1 -1
  159. package/dist/{spawnAgents-McixdtV1.cjs → spawnAgents-vglexX9N.cjs} +1 -1
  160. package/dist/{spawnHappyCLI-BFN0h2fK.mjs → spawnHappyCLI-BAa49m0q.mjs} +1 -1
  161. package/dist/{spawnHappyCLI-Cj-9-d_7.cjs → spawnHappyCLI-DyaldIe5.cjs} +1 -1
  162. package/dist/specialCommands-CCWtwIGZ.mjs +93 -0
  163. package/dist/specialCommands-DouFaJ_0.cjs +96 -0
  164. package/dist/{startFileWatcher-BfMu444W.cjs → startFileWatcher-DQbbypJv.cjs} +1 -1
  165. package/dist/{startFileWatcher-Csql7gdv.mjs → startFileWatcher-Dfs4whzr.mjs} +1 -1
  166. package/dist/{streamRelay-C0AffuX6.cjs → streamRelay-Ce9sgcOV.cjs} +1 -1
  167. package/dist/{streamRelay-BzMEEvJU.mjs → streamRelay-Iogsh51a.mjs} +1 -1
  168. package/dist/{sync-SCvDzRy6.mjs → sync-BLpH13Kb.mjs} +1 -1
  169. package/dist/{sync--uxtLWbo.cjs → sync-x_lI_3j_.cjs} +1 -1
  170. package/dist/{systemPrompt-C1tRiZ-u.cjs → systemPrompt-4erwILTB.cjs} +3 -3
  171. package/dist/{systemPrompt-D0KMySrK.mjs → systemPrompt-BanyDihy.mjs} +3 -3
  172. package/dist/{teams-By-hcvMF.mjs → teams-D6BOT3lR.mjs} +7 -7
  173. package/dist/{teams-CYDIFXEC.cjs → teams-DzetlGWC.cjs} +7 -7
  174. package/dist/{time-CRvAaC5H.mjs → time-CfDKj6Bx.mjs} +1 -1
  175. package/dist/{time-C7BplxuS.cjs → time-T0YmeOhS.cjs} +1 -1
  176. package/dist/{titleGenerator-CUG-n2r3.mjs → titleGenerator-ChImQ4q-.mjs} +1 -1
  177. package/dist/{titleGenerator-Kw3sTnNQ.cjs → titleGenerator-CoMxqKfP.cjs} +2 -2
  178. package/dist/{todo-B7a7J5Ng.cjs → todo-CZZebKZg.cjs} +6 -6
  179. package/dist/{todo-yuIsUvU8.mjs → todo-SVtYxGON.mjs} +6 -6
  180. package/dist/{tools-RvMKw7yx.mjs → tools-3X2z3YDe.mjs} +1 -1
  181. package/dist/{tools-D7UeLMZ7.cjs → tools-IJ0TAcJs.cjs} +1 -1
  182. package/dist/transcriptCursor-B7T_gkQ0.mjs +102 -0
  183. package/dist/transcriptCursor-DcXGLeSc.cjs +106 -0
  184. package/dist/{uninstall-D5D16-KM.cjs → uninstall-CqqCWj7w.cjs} +3 -3
  185. package/dist/{uninstall-Dx9FmLXs.mjs → uninstall-CypD-kr1.mjs} +3 -3
  186. package/package.json +7 -7
  187. package/scripts/terminal_status_forwarder.cjs +89 -0
  188. package/dist/selfCheck-DdT8r263.mjs +0 -84
  189. package/dist/specialCommands-BSqhYg5X.mjs +0 -52
  190. package/dist/specialCommands-DSsTeRej.cjs +0 -54
@@ -1,58 +1,59 @@
1
1
  'use strict';
2
2
 
3
3
  var os = require('node:os');
4
- var sessionLock = require('./sessionLock-BsP3Y_nG.cjs');
4
+ var sessionLock = require('./sessionLock-DfhNICyS.cjs');
5
5
  var node_crypto = require('node:crypto');
6
- var api = require('./api-EKlS0r1w.cjs');
7
- var logger = require('./logger-B1k7eZnq.cjs');
8
- var _package = require('./package-CC_txQ31.cjs');
9
- var persistence = require('./persistence-d3ZyER6o.cjs');
10
- var createSessionMetadata = require('./createSessionMetadata-D04x6OMW.cjs');
11
- var index = require('./index-DqlyNgt4.cjs');
6
+ var api = require('./api-DnNL5fLw.cjs');
7
+ var logger = require('./logger-JTcJU-uL.cjs');
8
+ var _package = require('./package-C1XvUQFy.cjs');
9
+ var persistence = require('./persistence-2Xp_o6x6.cjs');
10
+ var createSessionMetadata = require('./createSessionMetadata-DbfRBhRu.cjs');
11
+ var index = require('./index-C9hI8a10.cjs');
12
12
  var forkBackfill = require('./forkBackfill-8eLDeS73.cjs');
13
- var configuration = require('./configuration-PXAE4-FP.cjs');
14
- var controlClient = require('./controlClient-DI-Er-Ww.cjs');
15
- var machineMetadata = require('./machineMetadata-C4OfKn6I.cjs');
13
+ var configuration = require('./configuration-B0cb3xA3.cjs');
14
+ var controlClient = require('./controlClient-CmnHGcyl.cjs');
15
+ var machineMetadata = require('./machineMetadata-BBg_Njw3.cjs');
16
16
  var projectPath = require('./projectPath-ChLhdOyt.cjs');
17
17
  var path = require('node:path');
18
18
  var permissionMode = require('./permissionMode-CrV-XuMs.cjs');
19
19
  var authRelay = require('./authRelay-BdYkC1Po.cjs');
20
20
  var promises = require('node:fs/promises');
21
21
  var defaultPermissionMode = require('./defaultPermissionMode-CxmTXUQR.cjs');
22
- var attachmentContent = require('./attachmentContent-Bakb0XV3.cjs');
22
+ var attachmentContent = require('./attachmentContent-DPWxHgX4.cjs');
23
+ var transcriptCursor = require('./transcriptCursor-DcXGLeSc.cjs');
23
24
  var startupPlan = require('./startupPlan-BLMbfQIH.cjs');
24
25
  require('node:fs');
25
26
  require('axios');
26
- require('./lidState-De2HP6nu.cjs');
27
+ require('./lidState-D8BmnJV1.cjs');
27
28
  require('os');
28
29
  require('child_process');
29
30
  require('node:events');
30
31
  require('socket.io-client');
31
- require('./attachmentLimits-eJZ4ZBjF.cjs');
32
+ require('./attachmentLimits-BfgKV5iE.cjs');
32
33
  require('zod');
33
34
  require('./limits-C-a7gr04.cjs');
34
- require('./time-C7BplxuS.cjs');
35
- require('./registerCommonHandlers-Dausbdsb.cjs');
35
+ require('./time-T0YmeOhS.cjs');
36
+ require('./registerCommonHandlers-Aha_KfM3.cjs');
36
37
  require('util');
37
38
  require('fs/promises');
38
39
  require('crypto');
39
40
  require('path');
40
41
  require('cross-spawn');
41
42
  require('@paralleldrive/cuid2');
42
- require('./sync--uxtLWbo.cjs');
43
+ require('./sync-x_lI_3j_.cjs');
43
44
  require('./backgroundTaskActivity-CBvUdj39.cjs');
44
45
  require('./contentLogMetadata-ZSFk_NjQ.cjs');
45
46
  require('chalk');
46
47
  require('node:util');
47
48
  require('./detectCLI-DR9ZaN6B.cjs');
48
49
  require('fs');
49
- require('./localHappyAgentAuth-CboZb3_a.cjs');
50
+ require('./localHappyAgentAuth-d7B6S_o7.cjs');
50
51
  require('tweetnacl');
51
52
  require('url');
52
53
 
53
54
  const DEFAULT_CLAUDE_MODEL = void 0;
54
55
  const DEFAULT_CLAUDE_EFFORT = void 0;
55
- const importRunClaudeDeps = () => Promise.resolve().then(function () { return require('./runClaudeDeps-dxv910DR.cjs'); });
56
+ const importRunClaudeDeps = () => Promise.resolve().then(function () { return require('./runClaudeDeps-vWWLod7J.cjs'); });
56
57
  async function runClaude(credentials, options = {}) {
57
58
  logger.logger.debug(`[CLAUDE] ===== CLAUDE MODE STARTING =====`);
58
59
  logger.logger.debug(`[CLAUDE] This is the Claude agent, NOT Gemini`);
@@ -66,7 +67,7 @@ async function runClaude(credentials, options = {}) {
66
67
  const isAssistantVariant = process.env.HAPPY_SESSION_VARIANT === "assistant";
67
68
  if (isAssistantVariant) {
68
69
  try {
69
- const { bootstrapAssistantHome } = await Promise.resolve().then(function () { return require('./bootstrap-D9SUykG_.cjs'); });
70
+ const { bootstrapAssistantHome } = await Promise.resolve().then(function () { return require('./bootstrap-BpXIc2wn.cjs'); });
70
71
  await bootstrapAssistantHome();
71
72
  } catch (error) {
72
73
  logger.logger.debug("[START] Assistant home bootstrap failed:", error);
@@ -184,7 +185,7 @@ async function runClaude(credentials, options = {}) {
184
185
  }
185
186
  if (!response) {
186
187
  let offlineSessionId = null;
187
- const { claudeLocal } = await Promise.resolve().then(function () { return require('./claudeLocal-CsLFMvFU.cjs'); });
188
+ const { claudeLocal } = await Promise.resolve().then(function () { return require('./claudeLocal-DXBXwIOG.cjs'); });
188
189
  const { createSessionScanner: createSessionScanner2 } = await loadDeps();
189
190
  const reconnection = api.startOfflineReconnection({
190
191
  serverUrl: configuration.configuration.serverUrl,
@@ -423,9 +424,11 @@ async function runClaude(credentials, options = {}) {
423
424
  });
424
425
  options = { ...options, claudeEnvVars: { ...options.claudeEnvVars, VH_PEER_SESSION_ID: response.id } };
425
426
  const initialScannerSessionId = forkClaudeSessionId ?? (metadata.claudeSessionId ?? null);
427
+ const transcriptPathHints = new transcriptCursor.TranscriptPathHints();
426
428
  const remoteScanner = await createSessionScanner({
427
429
  sessionId: initialScannerSessionId,
428
430
  workingDirectory,
431
+ transcriptPathHints,
429
432
  onMessage: (raw) => {
430
433
  if (currentRunMode !== "remote") return;
431
434
  if (raw.type !== "user") return;
@@ -456,6 +459,7 @@ async function runClaude(credentials, options = {}) {
456
459
  return;
457
460
  }
458
461
  logger.logger.debug(`[START] Session hook received: ${sessionId}`, contentLogMetadata(data));
462
+ transcriptPathHints.note(sessionId, data.transcript_path);
459
463
  announceSessionToScanner(sessionId);
460
464
  if (currentSession) {
461
465
  const previousSessionId = currentSession.sessionId;
@@ -851,6 +855,7 @@ async function runClaude(credentials, options = {}) {
851
855
  },
852
856
  onSessionReady: (sessionInstance) => {
853
857
  currentSession = sessionInstance;
858
+ sessionInstance.transcriptPathHints = transcriptPathHints;
854
859
  sessionInstance.addSessionFoundCallback?.(announceSessionToScanner);
855
860
  },
856
861
  // B-515: lease for a warm Claude process, taken once by the first
@@ -1,56 +1,57 @@
1
1
  import os from 'node:os';
2
- import { c as claimSessionOrExit, a as applyServerSnapshot, w as withoutServerSnapshot, m as mergeReconnectMetadata } from './sessionLock-DukLVzAQ.mjs';
2
+ import { c as claimSessionOrExit, a as applyServerSnapshot, w as withoutServerSnapshot, m as mergeReconnectMetadata } from './sessionLock-DqVyHFAQ.mjs';
3
3
  import { randomUUID } from 'node:crypto';
4
- import { c as connectionState, A as ApiClient, s as startOfflineReconnection } from './api-Yoh_zKdR.mjs';
5
- import { l as logger } from './logger-8dtZPn3n.mjs';
6
- import { p as packageJson } from './package-tVYgFJoK.mjs';
7
- import { readSettings } from './persistence-C_xFQLsD.mjs';
8
- import { s as spawnOriginTags } from './createSessionMetadata-B47GrTX6.mjs';
9
- import { P as PROMPT_QUEUE_CAPABILITY } from './index-vVWpCoTr.mjs';
4
+ import { c as connectionState, A as ApiClient, s as startOfflineReconnection } from './api-Cmz3XS4P.mjs';
5
+ import { l as logger } from './logger-BpQcwNnt.mjs';
6
+ import { p as packageJson } from './package-BqwrPxL0.mjs';
7
+ import { readSettings } from './persistence-B9LmhAE2.mjs';
8
+ import { s as spawnOriginTags } from './createSessionMetadata-DU0bCg2m.mjs';
9
+ import { P as PROMPT_QUEUE_CAPABILITY } from './index-B0HEEYGh.mjs';
10
10
  import { F as FORK_BACKFILL_CAPABILITY, p as publishForkBackfillWhenCommitted } from './forkBackfill-DYIjlN1Z.mjs';
11
- import { c as configuration } from './configuration-CiBUH72C.mjs';
12
- import { n as notifyDaemonSessionStarted } from './controlClient-DzmCQrY_.mjs';
13
- import { g as getInitialMachineMetadata } from './machineMetadata-Bhp_w3-_.mjs';
11
+ import { c as configuration } from './configuration-D2v3puap.mjs';
12
+ import { n as notifyDaemonSessionStarted } from './controlClient-BMUJfUeF.mjs';
13
+ import { g as getInitialMachineMetadata } from './machineMetadata-CBdxABeI.mjs';
14
14
  import { p as projectPath } from './projectPath-BTBIMB57.mjs';
15
15
  import { resolve, join } from 'node:path';
16
16
  import { a as applySandboxPermissionPolicy, r as resolveInitialClaudePermissionMode, m as mapToClaudeMode, b as reconcilePublishedPermissionMode } from './permissionMode-CH4FoZfU.mjs';
17
17
  import { d as decodeBase64, e as encodeBase64 } from './authRelay-DSAvg1uv.mjs';
18
18
  import { readFile } from 'node:fs/promises';
19
19
  import { D as DEFAULT_CLAUDE_PERMISSION_MODE } from './defaultPermissionMode-BnxJPVHT.mjs';
20
- import { C as CLAUDE_ATTACHMENT_KINDS, s as stripAttachmentManifest } from './attachmentContent-BLyyo1al.mjs';
20
+ import { C as CLAUDE_ATTACHMENT_KINDS, s as stripAttachmentManifest } from './attachmentContent-CTXapi-_.mjs';
21
+ import { T as TranscriptPathHints } from './transcriptCursor-B7T_gkQ0.mjs';
21
22
  import { p as planClaudeStartup } from './startupPlan-DFMyNgAs.mjs';
22
23
  import 'node:fs';
23
24
  import 'axios';
24
- import './lidState-BbR6y9rq.mjs';
25
+ import './lidState-BfximpjX.mjs';
25
26
  import 'os';
26
27
  import 'child_process';
27
28
  import 'node:events';
28
29
  import 'socket.io-client';
29
- import './attachmentLimits-B8nzhw-i.mjs';
30
+ import './attachmentLimits-C1PCCM79.mjs';
30
31
  import 'zod';
31
32
  import './limits-DIo7rEBR.mjs';
32
- import './time-CRvAaC5H.mjs';
33
- import './registerCommonHandlers-bSskMveZ.mjs';
33
+ import './time-CfDKj6Bx.mjs';
34
+ import './registerCommonHandlers-DdfGsFbM.mjs';
34
35
  import 'util';
35
36
  import 'fs/promises';
36
37
  import 'crypto';
37
38
  import 'path';
38
39
  import 'cross-spawn';
39
40
  import '@paralleldrive/cuid2';
40
- import './sync-SCvDzRy6.mjs';
41
+ import './sync-BLpH13Kb.mjs';
41
42
  import './backgroundTaskActivity-8PdPxrvy.mjs';
42
43
  import './contentLogMetadata-BlWI0egu.mjs';
43
44
  import 'chalk';
44
45
  import 'node:util';
45
46
  import './detectCLI-CSGMlV51.mjs';
46
47
  import 'fs';
47
- import './localHappyAgentAuth-C7rDePjF.mjs';
48
+ import './localHappyAgentAuth-Ct1aXwqd.mjs';
48
49
  import 'tweetnacl';
49
50
  import 'url';
50
51
 
51
52
  const DEFAULT_CLAUDE_MODEL = void 0;
52
53
  const DEFAULT_CLAUDE_EFFORT = void 0;
53
- const importRunClaudeDeps = () => import('./runClaudeDeps-JG7EUH7B.mjs');
54
+ const importRunClaudeDeps = () => import('./runClaudeDeps-C7JV7nXG.mjs');
54
55
  async function runClaude(credentials, options = {}) {
55
56
  logger.debug(`[CLAUDE] ===== CLAUDE MODE STARTING =====`);
56
57
  logger.debug(`[CLAUDE] This is the Claude agent, NOT Gemini`);
@@ -64,7 +65,7 @@ async function runClaude(credentials, options = {}) {
64
65
  const isAssistantVariant = process.env.HAPPY_SESSION_VARIANT === "assistant";
65
66
  if (isAssistantVariant) {
66
67
  try {
67
- const { bootstrapAssistantHome } = await import('./bootstrap-CTNjn_aj.mjs');
68
+ const { bootstrapAssistantHome } = await import('./bootstrap-XE8A7Ut2.mjs');
68
69
  await bootstrapAssistantHome();
69
70
  } catch (error) {
70
71
  logger.debug("[START] Assistant home bootstrap failed:", error);
@@ -182,7 +183,7 @@ async function runClaude(credentials, options = {}) {
182
183
  }
183
184
  if (!response) {
184
185
  let offlineSessionId = null;
185
- const { claudeLocal } = await import('./claudeLocal-CdJJovWq.mjs');
186
+ const { claudeLocal } = await import('./claudeLocal-DmM5Oyhv.mjs');
186
187
  const { createSessionScanner: createSessionScanner2 } = await loadDeps();
187
188
  const reconnection = startOfflineReconnection({
188
189
  serverUrl: configuration.serverUrl,
@@ -421,9 +422,11 @@ async function runClaude(credentials, options = {}) {
421
422
  });
422
423
  options = { ...options, claudeEnvVars: { ...options.claudeEnvVars, VH_PEER_SESSION_ID: response.id } };
423
424
  const initialScannerSessionId = forkClaudeSessionId ?? (metadata.claudeSessionId ?? null);
425
+ const transcriptPathHints = new TranscriptPathHints();
424
426
  const remoteScanner = await createSessionScanner({
425
427
  sessionId: initialScannerSessionId,
426
428
  workingDirectory,
429
+ transcriptPathHints,
427
430
  onMessage: (raw) => {
428
431
  if (currentRunMode !== "remote") return;
429
432
  if (raw.type !== "user") return;
@@ -454,6 +457,7 @@ async function runClaude(credentials, options = {}) {
454
457
  return;
455
458
  }
456
459
  logger.debug(`[START] Session hook received: ${sessionId}`, contentLogMetadata(data));
460
+ transcriptPathHints.note(sessionId, data.transcript_path);
457
461
  announceSessionToScanner(sessionId);
458
462
  if (currentSession) {
459
463
  const previousSessionId = currentSession.sessionId;
@@ -849,6 +853,7 @@ async function runClaude(credentials, options = {}) {
849
853
  },
850
854
  onSessionReady: (sessionInstance) => {
851
855
  currentSession = sessionInstance;
856
+ sessionInstance.transcriptPathHints = transcriptPathHints;
852
857
  sessionInstance.addSessionFoundCallback?.(announceSessionToScanner);
853
858
  },
854
859
  // B-515: lease for a warm Claude process, taken once by the first
@@ -1,84 +1,86 @@
1
- import { l as logger } from './logger-8dtZPn3n.mjs';
2
- import { k as notifyDaemonSessionEvent, m as notifyDaemonClaudeAuthFailed } from './controlClient-DzmCQrY_.mjs';
3
- export { g as reportSessionEditToDaemon } from './controlClient-DzmCQrY_.mjs';
1
+ import { l as logger } from './logger-BpQcwNnt.mjs';
2
+ import { m as notifyDaemonSessionEvent, o as notifyDaemonClaudeAuthFailed } from './controlClient-BMUJfUeF.mjs';
3
+ export { h as reportSessionEditToDaemon } from './controlClient-BMUJfUeF.mjs';
4
4
  import { s as sameBackgroundTasks, c as createBackgroundTaskTracker } from './backgroundTaskActivity-8PdPxrvy.mjs';
5
5
  import { randomInt, randomUUID, createHash } from 'node:crypto';
6
6
  import { M as MessageBuffer } from './messageBuffer-BWlGgR3A.mjs';
7
7
  import { query } from './index-B6UGRQ7h.mjs';
8
8
  import { AbortError } from '@anthropic-ai/claude-agent-sdk';
9
9
  import { m as mapToClaudeMode, p as parseClaudePermissionMode, c as resolveRemoteClaudePermissionMode } from './permissionMode-CH4FoZfU.mjs';
10
- import { c as claudeCheckSession, s as systemPrompt } from './systemPrompt-D0KMySrK.mjs';
10
+ import { c as claudeCheckSession, s as systemPrompt } from './systemPrompt-BanyDihy.mjs';
11
11
  import { join, resolve, dirname } from 'node:path';
12
- import { p as parseSpecialCommand } from './specialCommands-BSqhYg5X.mjs';
12
+ import { p as parseSpecialCommand, w as wrapperRateLimitReporter } from './specialCommands-CCWtwIGZ.mjs';
13
13
  import 'axios';
14
14
  import 'node:events';
15
15
  import 'socket.io-client';
16
- import { A as AsyncLock } from './attachmentLimits-B8nzhw-i.mjs';
16
+ import { A as AsyncLock } from './attachmentLimits-C1PCCM79.mjs';
17
17
  import 'tweetnacl';
18
- import { c as configuration, e as ensurePrivateDirectory } from './configuration-CiBUH72C.mjs';
19
- import './index-vVWpCoTr.mjs';
20
- import './registerCommonHandlers-bSskMveZ.mjs';
18
+ import { c as configuration, e as ensurePrivateDirectory } from './configuration-D2v3puap.mjs';
19
+ import './index-B0HEEYGh.mjs';
20
+ import './registerCommonHandlers-DdfGsFbM.mjs';
21
21
  import 'os';
22
22
  import 'child_process';
23
23
  import '@paralleldrive/cuid2';
24
- import './persistence-C_xFQLsD.mjs';
24
+ import './persistence-B9LmhAE2.mjs';
25
25
  import { c as contentLogMetadata } from './contentLogMetadata-BlWI0egu.mjs';
26
26
  import 'chalk';
27
27
  export { R as RawJSONLinesSchema } from './types-CkqAACXx.mjs';
28
28
  import { g as getProjectPath } from './path-D2wdaNSk.mjs';
29
29
  import { access } from 'fs/promises';
30
- import { d as delay } from './time-CRvAaC5H.mjs';
30
+ import { d as delay } from './time-CfDKj6Bx.mjs';
31
31
  import { mkdirSync, writeFileSync, readFileSync, unlinkSync, renameSync, statSync, existsSync } from 'node:fs';
32
- import { h as hashObject, i as isSelfReportFresh } from './deterministicJson-CKqT3awl.mjs';
33
- export { c as createSelfReportState, s as startHappyServer } from './deterministicJson-CKqT3awl.mjs';
34
- import { F as Future } from './sessionScanner-Ct-JoNHP.mjs';
35
- export { c as createSessionScanner } from './sessionScanner-Ct-JoNHP.mjs';
32
+ import { h as hashObject } from './deterministicJson-D-WPUrZb.mjs';
33
+ export { s as startHappyServer } from './deterministicJson-D-WPUrZb.mjs';
34
+ import { F as Future } from './sessionScanner-CcuOn9uU.mjs';
35
+ export { c as createSessionScanner } from './sessionScanner-CcuOn9uU.mjs';
36
36
  import { execSync } from 'node:child_process';
37
- import { S as StreamRelay } from './streamRelay-BzMEEvJU.mjs';
38
- import { C as CLAUDE_ATTACHMENT_KINDS, c as chatAttachmentDirectory, a as stageClaudeAttachments, b as appendStagedAttachmentsToPrompt } from './attachmentContent-BLyyo1al.mjs';
37
+ import { S as StreamRelay } from './streamRelay-Iogsh51a.mjs';
38
+ import { C as CLAUDE_ATTACHMENT_KINDS, c as chatAttachmentDirectory, a as stageClaudeAttachments, b as appendStagedAttachmentsToPrompt } from './attachmentContent-CTXapi-_.mjs';
39
39
  import { writeFile, rename, unlink, readFile } from 'node:fs/promises';
40
- import { F as ForkSourceMissingError } from './claudeSessionFork-BfPW9D2S.mjs';
41
- export { M as MessageQueue2, r as registerKillSessionHandler } from './registerKillSessionHandler-Ben5lAsN.mjs';
42
- export { g as getEnvironmentInfo } from './doctor-CSgzbG5L.mjs';
40
+ import { F as ForkSourceMissingError } from './claudeSessionFork-BdLnc2Hv.mjs';
41
+ export { M as MessageQueue2, r as registerKillSessionHandler } from './registerKillSessionHandler-DboQlGcH.mjs';
42
+ export { g as getEnvironmentInfo } from './doctor-BlXXyQ1L.mjs';
43
43
  import { createServer } from 'node:http';
44
44
  export { E as EditReportThrottle, b as extractClaudeEditPaths } from './editPaths-BVfS_FFL.mjs';
45
45
  import { p as projectPath } from './projectPath-BTBIMB57.mjs';
46
- import { r as resolveClaudeBinary, a as runClaudeOneShot } from './titleGenerator-CUG-n2r3.mjs';
47
- export { T as TitleGenerator } from './titleGenerator-CUG-n2r3.mjs';
46
+ import { r as resolveClaudeBinary, a as runClaudeOneShot } from './titleGenerator-ChImQ4q-.mjs';
47
+ export { T as TitleGenerator } from './titleGenerator-ChImQ4q-.mjs';
48
48
  import { B as BOARD_ANALYZER_PROMPT_PREFIX } from './oneShotPrompts-DT4p6RNd.mjs';
49
+ import { i as isSelfReportFresh } from './reportProgressTool-DnAD8wOa.mjs';
50
+ export { c as createSelfReportState } from './reportProgressTool-DnAD8wOa.mjs';
49
51
  import 'node:util';
50
52
  import './smallFastModel-BLNgMrwR.mjs';
51
53
  import './trimIdent-BAjmv_TG.mjs';
52
54
  import 'node:os';
53
- import './agentGuidance-CQuNlNx8.mjs';
55
+ import './agentGuidance-BDYt2Qy2.mjs';
56
+ import './rateLimitWindows-Dhfhbtqu.mjs';
54
57
  import 'zod';
55
- import './package-tVYgFJoK.mjs';
58
+ import './package-BqwrPxL0.mjs';
56
59
  import 'util';
57
60
  import 'crypto';
58
61
  import 'path';
59
62
  import 'cross-spawn';
60
63
  import './authRelay-DSAvg1uv.mjs';
61
- import './client-Do5CHQnZ.mjs';
62
- import './context-BpEYcuLv.mjs';
63
- import './sessionOps-BlMg1uAa.mjs';
64
+ import './client-CbK33y_s.mjs';
65
+ import './context-DjfqLWzE.mjs';
66
+ import './sessionOps-BnaEaOKs.mjs';
64
67
  import './resources-BdFBQi8r.mjs';
65
- import './tools-RvMKw7yx.mjs';
66
- import './tools-gUjkPpCw.mjs';
67
- import './client-DkoV3VWl.mjs';
68
- import './peerTools-C1cduHh1.mjs';
68
+ import './tools-3X2z3YDe.mjs';
69
+ import './peerTools-CeCe-3lk.mjs';
69
70
  import './ids-DU6sLx4C.mjs';
70
- import './remoteSessionClient-DnCIuZpQ.mjs';
71
+ import './remoteSessionClient-B2DtWuNP.mjs';
71
72
  import '@modelcontextprotocol/sdk/server/mcp.js';
72
73
  import '@modelcontextprotocol/sdk/server/streamableHttp.js';
73
74
  import './limits-DIo7rEBR.mjs';
74
- import './assistantTools-BWfAV349.mjs';
75
+ import './downloadTarget-DjSwMHun.mjs';
75
76
  import './terminals-Dlg0x3nY.mjs';
76
77
  import './terminalTitleSuggest-CeKsX_V6.mjs';
77
78
  import './tmuxSocket-B8Yx20sT.mjs';
78
- import './bootstrap-CTNjn_aj.mjs';
79
+ import './bootstrap-XE8A7Ut2.mjs';
79
80
  import './previewPath-CXN4Vag0.mjs';
80
- import './sync-SCvDzRy6.mjs';
81
- import './startFileWatcher-Csql7gdv.mjs';
81
+ import './sync-BLpH13Kb.mjs';
82
+ import './transcriptCursor-B7T_gkQ0.mjs';
83
+ import './startFileWatcher-Dfs4whzr.mjs';
82
84
  import 'node:readline';
83
85
  import './doctor-BPkYWSuq.mjs';
84
86
  import 'ps-list';
@@ -88,6 +90,8 @@ import 'fs';
88
90
  import './cliUpdate-Y34VGe9Y.mjs';
89
91
  import 'url';
90
92
  import 'node:module';
93
+ import './client-GjTnsq6F.mjs';
94
+ import './precheckCompat-DeEbilbr.mjs';
91
95
 
92
96
  class Session {
93
97
  path;
@@ -161,6 +165,9 @@ class Session {
161
165
  return null;
162
166
  }
163
167
  };
168
+ /** B-551: transcript paths reported by Claude's SessionStart hook (set by
169
+ * runClaude); scanners prefer them over the cwd-derived path. */
170
+ transcriptPathHints = null;
164
171
  /** Callbacks to be notified when session ID is found/changed */
165
172
  sessionFoundCallbacks = [];
166
173
  /** Keep alive interval reference for cleanup */
@@ -3495,6 +3502,9 @@ async function claudeRemoteLauncher(session, onPermissionModeChange, onEffective
3495
3502
  let ongoingToolCalls = /* @__PURE__ */ new Map();
3496
3503
  let notifiedQuestionToolCalls = /* @__PURE__ */ new Set();
3497
3504
  function onMessage(message) {
3505
+ if (message.type === "rate_limit_event") {
3506
+ wrapperRateLimitReporter().observeClaude(message.rate_limit_info);
3507
+ }
3498
3508
  runtimeControls.observe(message);
3499
3509
  backgroundTasks.observe(message);
3500
3510
  session.setBackgroundTasks(backgroundTasks.list());
@@ -3918,7 +3928,7 @@ async function loop(opts) {
3918
3928
  logger.debug(`[loop] Iteration with mode: ${mode}`);
3919
3929
  switch (mode) {
3920
3930
  case "local": {
3921
- const { claudeLocalLauncher } = await import('./claudeLocalLauncher-CKazNnl0.mjs');
3931
+ const { claudeLocalLauncher } = await import('./claudeLocalLauncher-Cs4eUC3P.mjs');
3922
3932
  const result = await claudeLocalLauncher(session);
3923
3933
  switch (result.type) {
3924
3934
  case "switch":
@@ -1,82 +1,83 @@
1
1
  'use strict';
2
2
 
3
- var logger = require('./logger-B1k7eZnq.cjs');
4
- var controlClient = require('./controlClient-DI-Er-Ww.cjs');
3
+ var logger = require('./logger-JTcJU-uL.cjs');
4
+ var controlClient = require('./controlClient-CmnHGcyl.cjs');
5
5
  var backgroundTaskActivity = require('./backgroundTaskActivity-CBvUdj39.cjs');
6
6
  var node_crypto = require('node:crypto');
7
7
  var messageBuffer = require('./messageBuffer-fJMH6uY8.cjs');
8
8
  var index = require('./index-D3kI0hDR.cjs');
9
9
  var claudeAgentSdk = require('@anthropic-ai/claude-agent-sdk');
10
10
  var permissionMode = require('./permissionMode-CrV-XuMs.cjs');
11
- var systemPrompt = require('./systemPrompt-C1tRiZ-u.cjs');
11
+ var systemPrompt = require('./systemPrompt-4erwILTB.cjs');
12
12
  var path$1 = require('node:path');
13
- var specialCommands = require('./specialCommands-DSsTeRej.cjs');
13
+ var specialCommands = require('./specialCommands-DouFaJ_0.cjs');
14
14
  require('axios');
15
15
  require('node:events');
16
16
  require('socket.io-client');
17
- var attachmentLimits = require('./attachmentLimits-eJZ4ZBjF.cjs');
17
+ var attachmentLimits = require('./attachmentLimits-BfgKV5iE.cjs');
18
18
  require('tweetnacl');
19
- var configuration = require('./configuration-PXAE4-FP.cjs');
20
- require('./index-DqlyNgt4.cjs');
21
- require('./registerCommonHandlers-Dausbdsb.cjs');
19
+ var configuration = require('./configuration-B0cb3xA3.cjs');
20
+ require('./index-C9hI8a10.cjs');
21
+ require('./registerCommonHandlers-Aha_KfM3.cjs');
22
22
  require('os');
23
23
  require('child_process');
24
24
  require('@paralleldrive/cuid2');
25
- require('./persistence-d3ZyER6o.cjs');
25
+ require('./persistence-2Xp_o6x6.cjs');
26
26
  var contentLogMetadata = require('./contentLogMetadata-ZSFk_NjQ.cjs');
27
27
  require('chalk');
28
28
  var types = require('./types-CRS-srZK.cjs');
29
29
  var path = require('./path-B7zW-WwE.cjs');
30
30
  var fs = require('fs/promises');
31
- var time = require('./time-C7BplxuS.cjs');
31
+ var time = require('./time-T0YmeOhS.cjs');
32
32
  var node_fs = require('node:fs');
33
- var deterministicJson = require('./deterministicJson-BM8e8QwP.cjs');
34
- var sessionScanner = require('./sessionScanner-BWU6KvZw.cjs');
33
+ var deterministicJson = require('./deterministicJson-Dp3TVyap.cjs');
34
+ var sessionScanner = require('./sessionScanner-Cu1yKlj4.cjs');
35
35
  var node_child_process = require('node:child_process');
36
- var streamRelay = require('./streamRelay-C0AffuX6.cjs');
37
- var attachmentContent = require('./attachmentContent-Bakb0XV3.cjs');
36
+ var streamRelay = require('./streamRelay-Ce9sgcOV.cjs');
37
+ var attachmentContent = require('./attachmentContent-DPWxHgX4.cjs');
38
38
  var promises = require('node:fs/promises');
39
- var claudeSessionFork = require('./claudeSessionFork-BWdhyy9B.cjs');
40
- var registerKillSessionHandler = require('./registerKillSessionHandler-CgKyzwqw.cjs');
41
- var doctor = require('./doctor-Cl6cqvok.cjs');
39
+ var claudeSessionFork = require('./claudeSessionFork-Cs0I3eGI.cjs');
40
+ var registerKillSessionHandler = require('./registerKillSessionHandler-CjitOpUA.cjs');
41
+ var doctor = require('./doctor-CkJmdPbi.cjs');
42
42
  var node_http = require('node:http');
43
43
  var editPaths = require('./editPaths-Bqp4OFPw.cjs');
44
44
  var projectPath = require('./projectPath-ChLhdOyt.cjs');
45
- var titleGenerator = require('./titleGenerator-Kw3sTnNQ.cjs');
45
+ var titleGenerator = require('./titleGenerator-CoMxqKfP.cjs');
46
46
  var oneShotPrompts = require('./oneShotPrompts-CL0dip9C.cjs');
47
+ var reportProgressTool = require('./reportProgressTool-B-Rcy0s3.cjs');
47
48
  require('node:util');
48
49
  require('./smallFastModel-D_uxGMo3.cjs');
49
50
  require('./trimIdent-4gvk9Wk6.cjs');
50
51
  require('node:os');
51
- require('./agentGuidance-B5NATuFa.cjs');
52
+ require('./agentGuidance-BtBx2xxE.cjs');
53
+ require('./rateLimitWindows-C2Jk3Ih7.cjs');
52
54
  require('zod');
53
- require('./package-CC_txQ31.cjs');
55
+ require('./package-C1XvUQFy.cjs');
54
56
  require('util');
55
57
  require('crypto');
56
58
  require('path');
57
59
  require('cross-spawn');
58
60
  require('./authRelay-BdYkC1Po.cjs');
59
- require('./client-C1GAIJ04.cjs');
60
- require('./context-DhvXl1oC.cjs');
61
- require('./sessionOps-HuoMXcIZ.cjs');
61
+ require('./client-JISJx2f-.cjs');
62
+ require('./context-BFUpYT39.cjs');
63
+ require('./sessionOps-DOyy4gkY.cjs');
62
64
  require('./resources-JDPugcDq.cjs');
63
- require('./tools-D7UeLMZ7.cjs');
64
- require('./tools-BTBgpiRc.cjs');
65
- require('./client-BZtKFCJr.cjs');
66
- require('./peerTools-CqIcCEIg.cjs');
65
+ require('./tools-IJ0TAcJs.cjs');
66
+ require('./peerTools-DPvbcs8V.cjs');
67
67
  require('./ids-B6ZC0HGt.cjs');
68
- require('./remoteSessionClient-BkJt8SHa.cjs');
68
+ require('./remoteSessionClient-BwI8rpQw.cjs');
69
69
  require('@modelcontextprotocol/sdk/server/mcp.js');
70
70
  require('@modelcontextprotocol/sdk/server/streamableHttp.js');
71
71
  require('./limits-C-a7gr04.cjs');
72
- require('./assistantTools-D3cZvgUX.cjs');
72
+ require('./downloadTarget-CiQqRIc-.cjs');
73
73
  require('./terminals-B_bfC9c2.cjs');
74
74
  require('./terminalTitleSuggest-DhvRFX3H.cjs');
75
75
  require('./tmuxSocket-D-Xt6Vn-.cjs');
76
- require('./bootstrap-D9SUykG_.cjs');
76
+ require('./bootstrap-BpXIc2wn.cjs');
77
77
  require('./previewPath-B0rBdhy1.cjs');
78
- require('./sync--uxtLWbo.cjs');
79
- require('./startFileWatcher-BfMu444W.cjs');
78
+ require('./sync-x_lI_3j_.cjs');
79
+ require('./transcriptCursor-DcXGLeSc.cjs');
80
+ require('./startFileWatcher-DQbbypJv.cjs');
80
81
  require('node:readline');
81
82
  require('./doctor-u46qYYKX.cjs');
82
83
  require('ps-list');
@@ -86,6 +87,8 @@ require('fs');
86
87
  require('./cliUpdate-DsKXPFYp.cjs');
87
88
  require('url');
88
89
  require('node:module');
90
+ require('./client-DJ0kX_8M.cjs');
91
+ require('./precheckCompat-CWOi5c9L.cjs');
89
92
 
90
93
  class Session {
91
94
  path;
@@ -159,6 +162,9 @@ class Session {
159
162
  return null;
160
163
  }
161
164
  };
165
+ /** B-551: transcript paths reported by Claude's SessionStart hook (set by
166
+ * runClaude); scanners prefer them over the cwd-derived path. */
167
+ transcriptPathHints = null;
162
168
  /** Callbacks to be notified when session ID is found/changed */
163
169
  sessionFoundCallbacks = [];
164
170
  /** Keep alive interval reference for cleanup */
@@ -3493,6 +3499,9 @@ async function claudeRemoteLauncher(session, onPermissionModeChange, onEffective
3493
3499
  let ongoingToolCalls = /* @__PURE__ */ new Map();
3494
3500
  let notifiedQuestionToolCalls = /* @__PURE__ */ new Set();
3495
3501
  function onMessage(message) {
3502
+ if (message.type === "rate_limit_event") {
3503
+ specialCommands.wrapperRateLimitReporter().observeClaude(message.rate_limit_info);
3504
+ }
3496
3505
  runtimeControls.observe(message);
3497
3506
  backgroundTasks.observe(message);
3498
3507
  session.setBackgroundTasks(backgroundTasks.list());
@@ -3916,7 +3925,7 @@ async function loop(opts) {
3916
3925
  logger.logger.debug(`[loop] Iteration with mode: ${mode}`);
3917
3926
  switch (mode) {
3918
3927
  case "local": {
3919
- const { claudeLocalLauncher } = await Promise.resolve().then(function () { return require('./claudeLocalLauncher-DRc-tET5.cjs'); });
3928
+ const { claudeLocalLauncher } = await Promise.resolve().then(function () { return require('./claudeLocalLauncher-C41Y6Kp4.cjs'); });
3920
3929
  const result = await claudeLocalLauncher(session);
3921
3930
  switch (result.type) {
3922
3931
  case "switch":
@@ -4597,7 +4606,7 @@ class BoardAnalyzer {
4597
4606
  };
4598
4607
  const hash = computeInputHash(input);
4599
4608
  const now = Date.now();
4600
- if (this.options.selfReportState && deterministicJson.isSelfReportFresh(this.options.selfReportState, now)) {
4609
+ if (this.options.selfReportState && reportProgressTool.isSelfReportFresh(this.options.selfReportState, now)) {
4601
4610
  logger.logger.debug("[boardAnalyzer] recent self-report; skipping LLM analysis");
4602
4611
  return;
4603
4612
  }
@@ -4699,7 +4708,6 @@ exports.parseSpecialCommand = specialCommands.parseSpecialCommand;
4699
4708
  exports.contentLogMetadata = contentLogMetadata.contentLogMetadata;
4700
4709
  exports.RawJSONLinesSchema = types.RawJSONLinesSchema;
4701
4710
  exports.getProjectPath = path.getProjectPath;
4702
- exports.createSelfReportState = deterministicJson.createSelfReportState;
4703
4711
  exports.startHappyServer = deterministicJson.startHappyServer;
4704
4712
  exports.createSessionScanner = sessionScanner.createSessionScanner;
4705
4713
  exports.MessageQueue2 = registerKillSessionHandler.MessageQueue2;
@@ -4708,6 +4716,7 @@ exports.getEnvironmentInfo = doctor.getEnvironmentInfo;
4708
4716
  exports.EditReportThrottle = editPaths.EditReportThrottle;
4709
4717
  exports.extractClaudeEditPaths = editPaths.extractClaudeEditPaths;
4710
4718
  exports.TitleGenerator = titleGenerator.TitleGenerator;
4719
+ exports.createSelfReportState = reportProgressTool.createSelfReportState;
4711
4720
  exports.BoardAnalyzer = BoardAnalyzer;
4712
4721
  exports.FileRateLimiter = FileRateLimiter;
4713
4722
  exports.PrewarmHookGate = PrewarmHookGate;