very-happy-cli 0.2.180 → 0.2.182

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 (202) hide show
  1. package/dist/{AcpBackend-B8Zi30Zh.mjs → AcpBackend-DLk3gMYH.mjs} +3 -3
  2. package/dist/{AcpBackend-DfRDtMcG.cjs → AcpBackend-JA5eu8Y0.cjs} +3 -3
  3. package/dist/{AcpSessionManager-CASKOnOj.cjs → AcpSessionManager-DjYidq4C.cjs} +1 -1
  4. package/dist/{AcpSessionManager-i8Rab0xT.mjs → AcpSessionManager-OrCww-Qv.mjs} +1 -1
  5. package/dist/{BasePermissionHandler-BlM_tfej.cjs → BasePermissionHandler-D3PMKLBS.cjs} +1 -1
  6. package/dist/{BasePermissionHandler-26fKbRCm.mjs → BasePermissionHandler-u-neo-iN.mjs} +1 -1
  7. package/dist/{acpSessionResume-CR5pmgVo.cjs → acpSessionResume-Dxo8222T.cjs} +1 -1
  8. package/dist/{acpSessionResume-B9l54P-X.mjs → acpSessionResume-u2TwX5Jd.mjs} +1 -1
  9. package/dist/{agentHome-C7Sb7-Tz.cjs → agentHome-CP1tCBXz.cjs} +4 -4
  10. package/dist/{agentHome-CmGy0NWv.mjs → agentHome-D3hNrnoA.mjs} +4 -4
  11. package/dist/{api-DM7b1OKj.cjs → api-CZWcG7uh.cjs} +10 -10
  12. package/dist/{api-Hov8p7CA.mjs → api-C_YSQnsi.mjs} +10 -10
  13. package/dist/{apiMachine-CwGEhQDT.mjs → apiMachine-C_GA5Bm-.mjs} +59 -32
  14. package/dist/{apiMachine-DkGRj-Ai.cjs → apiMachine-DPGrED5C.cjs} +60 -33
  15. package/dist/{attachmentContent-CIn4iPEk.mjs → attachmentContent-Ckzyb1Uy.mjs} +2 -2
  16. package/dist/{attachmentContent-CEm13_gF.cjs → attachmentContent-I_dJIevE.cjs} +2 -2
  17. package/dist/{auth-Dawj7pP5.cjs → auth-BKnE7uv7.cjs} +8 -8
  18. package/dist/{auth-BG1DY0gj.mjs → auth-CGgpiJ5-.mjs} +5 -5
  19. package/dist/{auth-rggxMpEE.mjs → auth-DOXMI-xp.mjs} +8 -8
  20. package/dist/{auth-CBXnm-Mj.cjs → auth-Lw_utSMV.cjs} +5 -5
  21. package/dist/{auto-CbYOfoPS.cjs → auto-CIgFHIyQ.cjs} +18 -18
  22. package/dist/{auto-CXXLXGeL.mjs → auto-Z56mMZnH.mjs} +18 -18
  23. package/dist/{bootstrap-Dt5I1SOl.mjs → bootstrap-D3vlOROj.mjs} +2 -2
  24. package/dist/{bootstrap-DoA7okld.cjs → bootstrap-DsXp74wv.cjs} +2 -2
  25. package/dist/{browser-DUNetFT4.mjs → browser-CUxGoATV.mjs} +1 -1
  26. package/dist/{browser-DZ6qRtfH.cjs → browser-CZlA9AkO.cjs} +1 -1
  27. package/dist/{claudeLocal-OHWQigCl.mjs → claudeLocal-FnTUgwCi.mjs} +6 -6
  28. package/dist/{claudeLocal--DNyMOSv.cjs → claudeLocal-oELvwiZL.cjs} +6 -6
  29. package/dist/{claudeLocalLauncher-BStvfa7M.mjs → claudeLocalLauncher-CO5YHCzi.mjs} +11 -11
  30. package/dist/{claudeLocalLauncher-BhvPbcyH.cjs → claudeLocalLauncher-QsVXEVdE.cjs} +11 -11
  31. package/dist/{claudeSessionFork-Be16vzGc.cjs → claudeSessionFork-BA4GE5AL.cjs} +1 -1
  32. package/dist/{claudeSessionFork-GAVWhiKG.mjs → claudeSessionFork-Cspr6QW0.mjs} +1 -1
  33. package/dist/{client-D4uPb1uu.mjs → client-BGfmSbWc.mjs} +44 -9
  34. package/dist/{client-BWjaHKtj.cjs → client-CDuW4MS9.cjs} +2 -2
  35. package/dist/{client-CnB7kRCT.mjs → client-Ctbw05Xj.mjs} +2 -2
  36. package/dist/{client-DJplzPjD.cjs → client-DK8CzUry.cjs} +2 -2
  37. package/dist/{client-Ca5Pcgy_.mjs → client-o-meK7-a.mjs} +2 -2
  38. package/dist/{client-D_loZ9IK.cjs → client-xnWiHqdb.cjs} +44 -8
  39. package/dist/codex/happyMcpStdioBridge.cjs +21 -20
  40. package/dist/codex/happyMcpStdioBridge.mjs +21 -20
  41. package/dist/{codexAppServerClient-CO4G6OS4.mjs → codexAppServerClient-BlsOZLul.mjs} +3 -3
  42. package/dist/{codexAppServerClient-PE-12AsW.cjs → codexAppServerClient-DhNDTU_i.cjs} +3 -3
  43. package/dist/{codexCommand-B_xUH79E.mjs → codexCommand-BGx5NMQR.mjs} +49 -46
  44. package/dist/{codexCommand-BNoD1t1C.cjs → codexCommand-DJDPfpIs.cjs} +49 -46
  45. package/dist/{codexTermination-Dx48ma6e.mjs → codexTermination-CVhhwHZU.mjs} +1 -1
  46. package/dist/{codexTermination-BmBbizFK.cjs → codexTermination-CqPMuokw.cjs} +1 -1
  47. package/dist/{config-CtwEUxUP.cjs → config-CHpxzXBL.cjs} +3 -3
  48. package/dist/{config-DSu0Blos.mjs → config-CWAe08-Q.mjs} +3 -3
  49. package/dist/{configuration-CYO-kPOS.cjs → configuration-B-CugKJ3.cjs} +1 -1
  50. package/dist/{configuration-PxzEJumr.mjs → configuration-YXw_Dcsb.mjs} +1 -1
  51. package/dist/{connect-Dq7wndzR.cjs → connect-BmHvMXH2.cjs} +13 -13
  52. package/dist/{connect-BQrg3TB6.mjs → connect-CPeJXHha.mjs} +13 -13
  53. package/dist/{context-6TP-iz_c.cjs → context-BtIVqHI5.cjs} +1 -1
  54. package/dist/{context-CJGRRGWW.mjs → context-Drzs_Z38.mjs} +1 -1
  55. package/dist/{controlClient-DoeYovwP.mjs → controlClient-BL4hb4l3.mjs} +3 -3
  56. package/dist/{controlClient-Bqv5v5OM.cjs → controlClient-D0kGwKYx.cjs} +3 -3
  57. package/dist/{createSessionMetadata-DDIChCx8.mjs → createSessionMetadata-DvGDsnsn.mjs} +2 -2
  58. package/dist/{createSessionMetadata-xz767pcG.cjs → createSessionMetadata-L499emJn.cjs} +2 -2
  59. package/dist/{defaultPermissionMode-i5KzdK09.mjs → defaultPermissionMode-BLfxu-Yz.mjs} +2 -2
  60. package/dist/{defaultPermissionMode-PkZGsQDk.cjs → defaultPermissionMode-MXpZlXud.cjs} +2 -2
  61. package/dist/{deterministicJson-CTEJDqtS.mjs → deterministicJson-B_UAbmQ4.mjs} +87 -24
  62. package/dist/{deterministicJson-xqA6DaOm.cjs → deterministicJson-CfLkBRvU.cjs} +87 -22
  63. package/dist/{doctor-BrgSlfXn.cjs → doctor-DMvlzmnE.cjs} +8 -7
  64. package/dist/{doctor-IctjVh9T.mjs → doctor-bKScPtZu.mjs} +8 -8
  65. package/dist/{downloadTarget-CEb9che-.cjs → downloadTarget-D33BFvew.cjs} +6 -6
  66. package/dist/{downloadTarget-jbOz1egC.mjs → downloadTarget-J9j37eFG.mjs} +6 -6
  67. package/dist/{ensureDaemonRunning-D-HyjGIX.cjs → ensureDaemonRunning-2IqWROJp.cjs} +5 -5
  68. package/dist/{ensureDaemonRunning-b1e8LCSM.mjs → ensureDaemonRunning-DLvwhpNg.mjs} +5 -5
  69. package/dist/fileStore-5qpetZS0.mjs +146 -0
  70. package/dist/fileStore-7qhnbs6N.cjs +152 -0
  71. package/dist/fsMkdir-0K3yENml.cjs +56 -0
  72. package/dist/fsMkdir-DumgLTzR.mjs +53 -0
  73. package/dist/{handleResumeCommand-DpaZvm2c.mjs → handleResumeCommand-CjtjQ_I7.mjs} +5 -5
  74. package/dist/{handleResumeCommand-BvWVuRwH.cjs → handleResumeCommand-Dp2Y-p6V.cjs} +5 -5
  75. package/dist/{index-C6Vn5Eac.mjs → index-BI0h2Zks.mjs} +54 -6
  76. package/dist/{index-CMf5VbzG.mjs → index-BOT0Tg5E.mjs} +4 -4
  77. package/dist/{index-C64Ufj4D.cjs → index-B_aNaW9w.cjs} +4 -4
  78. package/dist/{index-F2UejqYs.cjs → index-CZC7egJA.cjs} +3 -3
  79. package/dist/{index-Bsvbgh9e.mjs → index-Cllzqoes.mjs} +4 -4
  80. package/dist/{index-B2p2Mut7.cjs → index-DYVIbhAJ.cjs} +78 -60
  81. package/dist/{index-wCbtF4BK.mjs → index-D_LvOWUN.mjs} +3 -3
  82. package/dist/{index-DmTlDRSL.cjs → index-DymOv3kK.cjs} +4 -4
  83. package/dist/{index-BUNnpGFF.mjs → index-kA46KMxN.mjs} +79 -61
  84. package/dist/{index-Dv0Q48P3.cjs → index-oh8XEozJ.cjs} +57 -6
  85. package/dist/index.cjs +2 -2
  86. package/dist/index.mjs +2 -2
  87. package/dist/{install-C0ANcEAW.cjs → install-BAa_Xmof.cjs} +3 -3
  88. package/dist/{install-CdzSV7qO.mjs → install-C46mkr9a.mjs} +3 -3
  89. package/dist/{install-BX3lv3NO.mjs → install-D0inLCv-.mjs} +1 -1
  90. package/dist/{install-BXvf2E3o.cjs → install-D2NCbeJ-.cjs} +1 -1
  91. package/dist/lib.cjs +12 -12
  92. package/dist/lib.d.cts +40 -1
  93. package/dist/lib.d.mts +40 -1
  94. package/dist/lib.mjs +12 -12
  95. package/dist/{lidState-bBrmaQd2.mjs → lidState-D8Iuvjgl.mjs} +1 -1
  96. package/dist/{lidState-DWGnm2H4.cjs → lidState-DcPvwniz.cjs} +1 -1
  97. package/dist/{localHappyAgentAuth-Dn1jYDpt.mjs → localHappyAgentAuth-D3rQDRd9.mjs} +1 -1
  98. package/dist/{localHappyAgentAuth-DZHQnIW9.cjs → localHappyAgentAuth-SD6GM97y.cjs} +1 -1
  99. package/dist/{logger-CphW5nUE.cjs → logger-DK1ytCz6.cjs} +2 -2
  100. package/dist/{logger-BUngm5Xg.mjs → logger-DpqihN1f.mjs} +2 -2
  101. package/dist/{machineMetadata-BXN_bKU3.mjs → machineMetadata-D4E3qoIG.mjs} +13 -4
  102. package/dist/{machineMetadata-BQm9YTcI.cjs → machineMetadata-IJc6_iyx.cjs} +13 -3
  103. package/dist/{main-DGkdYfEq.mjs → main-CpUmw7hm.mjs} +45 -45
  104. package/dist/{main-B2UV51nK.cjs → main-DUXh2rgW.cjs} +45 -45
  105. package/dist/{mcp-CbTtbs0f.mjs → mcp-66g1TJ8P.mjs} +17 -15
  106. package/dist/{mcp-BFvAEIRz.cjs → mcp-D5f3Vd-z.cjs} +17 -15
  107. package/dist/{mirrorProtocol-HKPivs5o.cjs → mirrorProtocol-DkWOcZh9.cjs} +16 -153
  108. package/dist/{mirrorProtocol-BR4luBC0.mjs → mirrorProtocol-bsCUcaCY.mjs} +19 -151
  109. package/dist/{package-KhLqBDX9.cjs → package-BfeqAzyJ.cjs} +8 -8
  110. package/dist/{package-7Ld1YMhh.mjs → package-CKj8zndE.mjs} +8 -8
  111. package/dist/{panels-Njf6GelF.cjs → panels-2PXsw9-d.cjs} +5 -5
  112. package/dist/{panels-C7IVqpJk.mjs → panels-r8LmaBs6.mjs} +5 -5
  113. package/dist/{peerTools-DQNlrcqM.cjs → peerTools-BVp1z0T_.cjs} +5 -5
  114. package/dist/{peerTools-BOlDRyhi.mjs → peerTools-D_id4d41.mjs} +5 -5
  115. package/dist/{persistence-9BMYspxG.cjs → persistence-BdpwWXKh.cjs} +2 -2
  116. package/dist/{persistence-BFUOHW5h.mjs → persistence-jOEuAFTS.mjs} +2 -2
  117. package/dist/pi-CqyoZMjI.mjs +380 -0
  118. package/dist/pi-DlsrPCTa.cjs +400 -0
  119. package/dist/{piRunnerArgs-H2pgpA5z.mjs → piRunnerArgs-68I5F_M1.mjs} +1 -1
  120. package/dist/{piRunnerArgs-DGaq6VYM.cjs → piRunnerArgs-vxCHKnSA.cjs} +1 -1
  121. package/dist/{piRuntime-CT5xv_3h.cjs → piRuntime-C3Dg5uni.cjs} +2 -2
  122. package/dist/{piRuntime-CdN0JAsa.mjs → piRuntime-DgLIard1.mjs} +2 -2
  123. package/dist/{piTerminal-0FBtXTHK.cjs → piTerminal-C135BcLP.cjs} +20 -18
  124. package/dist/{piTerminal-C4m9YXAV.mjs → piTerminal-DJL0w-uA.mjs} +20 -18
  125. package/dist/{prompt-lgF9IE82.cjs → prompt-Bof2aQkI.cjs} +7 -2
  126. package/dist/{prompt-BOouDaTM.mjs → prompt-QHuFx9j6.mjs} +7 -2
  127. package/dist/{pushNotifications-DCiBEVeC.mjs → pushNotifications-CMmRsbKv.mjs} +12 -4
  128. package/dist/{pushNotifications-DI92havG.cjs → pushNotifications-CyQVDThC.cjs} +12 -4
  129. package/dist/{query-BETKBrnz.cjs → query-CK--1fbL.cjs} +1 -1
  130. package/dist/{query-ywZbQUzR.mjs → query-CPXnDURZ.mjs} +1 -1
  131. package/dist/{rateLimitWindows-BkfuUB1a.mjs → rateLimitWindows-Cqa4AGaB.mjs} +1 -1
  132. package/dist/{rateLimitWindows-YRIYVdo4.cjs → rateLimitWindows-DJxnNw-X.cjs} +1 -1
  133. package/dist/{registerCommonHandlers-C7a_dUWs.cjs → registerCommonHandlers-DbNoM39q.cjs} +2 -2
  134. package/dist/{registerCommonHandlers-CTkCvjxt.mjs → registerCommonHandlers-K8dICQO2.mjs} +2 -2
  135. package/dist/{registerKillSessionHandler-CIsvBrVe.cjs → registerKillSessionHandler-DiS_go8d.cjs} +6 -6
  136. package/dist/{registerKillSessionHandler-CaqqRYq6.mjs → registerKillSessionHandler-O1iriOMO.mjs} +6 -6
  137. package/dist/{remoteSessionClient-PP-mOKmw.mjs → remoteSessionClient-BlURPulk.mjs} +5 -5
  138. package/dist/{remoteSessionClient-D843fkzL.cjs → remoteSessionClient-CtV9mDko.cjs} +5 -5
  139. package/dist/{reportProgressTool-14AXr959.cjs → reportProgressTool-DlD_xjzU.cjs} +4 -4
  140. package/dist/{reportProgressTool-ZOCNjWHr.mjs → reportProgressTool-nCExrHZH.mjs} +4 -4
  141. package/dist/{resources-CvIlkzpP.cjs → resources-BPyN59Iv.cjs} +23 -2
  142. package/dist/{resources-y9jfyO-_.mjs → resources-CH1iP6Cv.mjs} +22 -3
  143. package/dist/{run-CAOCYYfT.cjs → run-BBNrcCfI.cjs} +621 -594
  144. package/dist/{run-Dajw2E5j.mjs → run-drtwHYkO.mjs} +557 -530
  145. package/dist/{runClaude-CRRKt-tm.cjs → runClaude-B3KSeby4.cjs} +23 -22
  146. package/dist/{runClaude-C6oxWYbp.mjs → runClaude-CFp27Tyi.mjs} +23 -22
  147. package/dist/{runClaudeDeps-B1ysqTvx.cjs → runClaudeDeps-C_C9TCI0.cjs} +43 -41
  148. package/dist/{runClaudeDeps-BcZ68cX3.mjs → runClaudeDeps-DMcv93lA.mjs} +48 -46
  149. package/dist/{runGemini-D7yKc4wD.mjs → runGemini-Bc6SY-hd.mjs} +40 -37
  150. package/dist/{runGemini-DtKFXqf-.cjs → runGemini-DzdSBAr9.cjs} +40 -37
  151. package/dist/{runOpenClaw-C8ilyLP9.mjs → runOpenClaw-DI0qMlgF.mjs} +19 -18
  152. package/dist/{runOpenClaw-Cq29mryb.cjs → runOpenClaw-DN6rEVqC.cjs} +19 -18
  153. package/dist/{sandbox-gIj-EuF4.cjs → sandbox-DtttPBMA.cjs} +4 -4
  154. package/dist/{sandbox-CbCutma4.mjs → sandbox-v-ffe8LR.mjs} +4 -4
  155. package/dist/{selfCheck-BTGBVthv.cjs → selfCheck-B-yy6bW3.cjs} +36 -36
  156. package/dist/selfCheck-BDfTwxqB.mjs +85 -0
  157. package/dist/{send-YZRMQvMJ.mjs → send-DpBwSZuj.mjs} +8 -8
  158. package/dist/{send-CZf5lLw_.cjs → send-ShzXYPRu.cjs} +8 -8
  159. package/dist/{server-CknFq6xG.cjs → server-CEzKrfKj.cjs} +6 -6
  160. package/dist/{server-BqwXRzFZ.mjs → server-DScgJXxa.mjs} +4 -4
  161. package/dist/{sessionLock-nBXdJxJm.mjs → sessionLock-B6K4SBZD.mjs} +3 -3
  162. package/dist/{sessionLock-DRZUcKHT.cjs → sessionLock-Dc0fadGG.cjs} +3 -3
  163. package/dist/{sessionOps-C58iDeD5.mjs → sessionOps-D0BPWPoh.mjs} +4 -4
  164. package/dist/{sessionOps-BrGiU9-s.cjs → sessionOps-Dx7wARjI.cjs} +4 -4
  165. package/dist/{sessionScanner-Bm57LEXe.mjs → sessionScanner-9Fpgaxtf.mjs} +3 -3
  166. package/dist/{sessionScanner-CaO8bLaG.cjs → sessionScanner-BJ35TVG6.cjs} +3 -3
  167. package/dist/{sessions-BXyBHo8n.mjs → sessions-CFtDlyZd.mjs} +10 -10
  168. package/dist/{sessions-uzqPCc37.cjs → sessions-TZGGAry1.cjs} +10 -10
  169. package/dist/{setupOfflineReconnection-DvvVX3TB.cjs → setupOfflineReconnection-B1GsVA8P.cjs} +2 -2
  170. package/dist/{setupOfflineReconnection-1Qlek3wl.mjs → setupOfflineReconnection-Biaus-0T.mjs} +2 -2
  171. package/dist/{spawn-DBkodJEO.cjs → spawn-BRTuypQ2.cjs} +14 -14
  172. package/dist/{spawn-vn93PhYL.mjs → spawn-CsoQ-Ecz.mjs} +14 -14
  173. package/dist/{spawnAgents-DLNMlhWJ.cjs → spawnAgents-CG211IW7.cjs} +1 -1
  174. package/dist/{spawnAgents-CgPMWexP.mjs → spawnAgents-Co-SLcx-.mjs} +1 -1
  175. package/dist/{spawnHappyCLI-BjFZc_7V.mjs → spawnHappyCLI-D1doCjkZ.mjs} +1 -1
  176. package/dist/{spawnHappyCLI-DnUZv0X2.cjs → spawnHappyCLI-D47kX6jg.cjs} +1 -1
  177. package/dist/{specialCommands-BRufxlqe.cjs → specialCommands-Ch-Gvy-i.cjs} +3 -3
  178. package/dist/{specialCommands-D3ND9bdg.mjs → specialCommands-xSmqT_Fu.mjs} +3 -3
  179. package/dist/{startFileWatcher-DXJ7yB5v.mjs → startFileWatcher-CCl2fFxT.mjs} +1 -1
  180. package/dist/{startFileWatcher-D9cYzZOq.cjs → startFileWatcher-gKQTstR6.cjs} +1 -1
  181. package/dist/{startupSessionCreate-kdr3m1uX.cjs → startupSessionCreate-BXqoUX30.cjs} +1 -1
  182. package/dist/{startupSessionCreate-uZ6BM0ty.mjs → startupSessionCreate-DlZc8yPl.mjs} +1 -1
  183. package/dist/{streamRelay-Dy6amlzx.cjs → streamRelay-B-J-4St1.cjs} +1 -1
  184. package/dist/{streamRelay-DnMCMMfV.mjs → streamRelay-DnJXsi36.mjs} +1 -1
  185. package/dist/{sync-BvVhDO40.mjs → sync-BbjMC3sR.mjs} +1 -1
  186. package/dist/{sync-Bn-idAoy.cjs → sync-BxMdnZzz.cjs} +1 -1
  187. package/dist/{systemPrompt-DlyEk35T.cjs → systemPrompt-C2KojRmK.cjs} +3 -3
  188. package/dist/{systemPrompt-CIZcJuJF.mjs → systemPrompt-CmSDAoIx.mjs} +3 -3
  189. package/dist/{teams-BLeRpDxv.cjs → teams-DESdalox.cjs} +13 -10
  190. package/dist/{teams-DLY3B5yi.mjs → teams-lRy1MS0Z.mjs} +13 -10
  191. package/dist/{time-D3ETL7Jb.mjs → time-Cfknl7xG.mjs} +1 -1
  192. package/dist/{time-Cjv0zxQO.cjs → time-DNLeIRgR.cjs} +1 -1
  193. package/dist/{titleGenerator-Uzbd4utr.mjs → titleGenerator-ClnMSzwC.mjs} +1 -1
  194. package/dist/{titleGenerator-Cgp5ihFb.cjs → titleGenerator-YNutaU88.cjs} +2 -2
  195. package/dist/{todo-pOMcEECE.cjs → todo-DS75Mboz.cjs} +6 -6
  196. package/dist/{todo-C9Ga-oEM.mjs → todo-DZbK5POc.mjs} +6 -6
  197. package/dist/{tools-Cho7iIWf.mjs → tools-BgdU0dWp.mjs} +3 -3
  198. package/dist/{tools-BL7Byl_x.cjs → tools-ClYcb1YQ.cjs} +3 -3
  199. package/dist/{uninstall-CbayEVoV.cjs → uninstall-Di1vPBLV.cjs} +3 -3
  200. package/dist/{uninstall-CvZHVY9C.mjs → uninstall-bXenFevR.mjs} +3 -3
  201. package/package.json +8 -8
  202. package/dist/selfCheck-Smt-5Xiq.mjs +0 -85
@@ -445,7 +445,8 @@ const TeamActionSchema = z$1.discriminatedUnion("type", [
445
445
  z$1.object({ type: z$1.literal("reconcile-operation"), operationId: id$2, claimId: id$2, note: z$1.string().trim().min(1).max(4e3) }),
446
446
  // B-689: owner asks the execution computer to run a failed/uncertain operation again.
447
447
  z$1.object({ type: z$1.literal("retry-operation"), operationId: id$2, claimId: id$2 }),
448
- z$1.object({ type: z$1.literal("join"), name: id$2, sessionId: id$2, botId: id$2.optional() }),
448
+ /** B-730: `transfer` = the owner confirmed moving a session that is bound in another live team (Web adopt); without it the server answers `session_in_other_team`. An old server strips it. */
449
+ z$1.object({ type: z$1.literal("join"), name: id$2, sessionId: id$2, botId: id$2.optional(), transfer: z$1.literal(true).optional() }),
449
450
  z$1.object({ type: z$1.literal("delegate"), goal: text$1, acceptance: z$1.array(text$1).min(1).max(32), parentTaskId: id$2.optional(), assigneeBotId: id$2.optional(), botName: id$2.optional(), directory: z$1.string().min(1).max(4096).optional(), assistant: TeamAssistantSchema.optional(), model: TeamModelSchema.optional() }),
450
451
  z$1.object({ type: z$1.literal("message"), taskId: id$2, body: text$1, recipientBotId: id$2.optional() }),
451
452
  z$1.object({ type: z$1.literal("submit"), taskId: id$2, attemptId: id$2, goalVersion: z$1.number().int().positive(), result: text$1 }),
@@ -460,7 +461,33 @@ const TeamActionSchema = z$1.discriminatedUnion("type", [
460
461
  z$1.object({ type: z$1.literal("message-delivered"), messageId: id$2, recipientBotId: id$2, generation: z$1.number().int().positive(), sessionId: id$2 })
461
462
  ]);
462
463
  z$1.object({ requestId: id$2, action: TeamActionSchema });
463
- z$1.object({ name: id$2, machineId: id$2, requestId: id$2.optional(), launch: TeamLaunchSchema.optional() });
464
+ const TeamProjectChoiceSchema = z$1.object({
465
+ projectId: id$2.optional(),
466
+ inheritFromSessionId: id$2.optional(),
467
+ create: z$1.boolean().optional(),
468
+ directory: z$1.string().min(1).max(4096).optional()
469
+ });
470
+ z$1.object({ name: id$2, machineId: id$2, requestId: id$2.optional(), launch: TeamLaunchSchema.optional(), project: TeamProjectChoiceSchema.optional(), sessionId: id$2.optional(), transfer: z$1.literal(true).optional() });
471
+ z$1.object({
472
+ projectId: id$2.nullable().optional(),
473
+ create: z$1.boolean().optional(),
474
+ requestId: id$2.optional()
475
+ }).refine((v) => v.projectId !== void 0 !== (v.create === true), "exactly one of projectId / create");
476
+ const TEAM_WORKTREE = /\/teams\/worktrees\/([^/]+)(?:\/|$)/;
477
+ function teamWorktreeId(path) {
478
+ if (!path) return null;
479
+ return path.replace(/\\/g, "/").match(TEAM_WORKTREE)?.[1] ?? null;
480
+ }
481
+ function isInsideTeamWorktree(path) {
482
+ return teamWorktreeId(path) !== null;
483
+ }
484
+ function rebaseTeamWorktreePath(path, repository) {
485
+ const normalized = path.replace(/\\/g, "/");
486
+ const match = normalized.match(TEAM_WORKTREE);
487
+ if (!match || match.index === void 0) return path;
488
+ const rest = normalized.slice(match.index + match[0].length).replace(/\/+$/, "");
489
+ return rest ? `${repository.replace(/\/+$/, "")}/${rest}` : repository;
490
+ }
464
491
  const id$1 = z$1.string().min(1).max(128);
465
492
  const text = z$1.string().min(1).max(32e3);
466
493
  const AUTOMATION_NAME_PATTERN = /^[a-z0-9][a-z0-9-_.]{0,63}$/;
@@ -1003,11 +1030,17 @@ For edit/status/delete, a conflict means the version changed. Read the task and
1003
1030
  Restricted team workers cannot use account-wide Todo credentials. Ask the user or supervising session to perform the account operation; do not clear scope variables or seek another credential to bypass that boundary.
1004
1031
  `;
1005
1032
  const BUILTIN_TODO_DISCOVERY = "For the user\u2019s Very Happy My todos, run `very-happy todo skill` to read the official skill, then use its CLI commands. Do not confuse account todos with your execution plan; restricted team workers must not bypass their scope.";
1006
- const ContextUsageSchema = z$1.object({
1033
+ z$1.object({
1007
1034
  source: z$1.literal("pi"),
1008
1035
  tokens: z$1.number().finite().nonnegative().nullable(),
1009
1036
  contextWindow: z$1.number().finite().positive(),
1010
- updatedAt: z$1.number().finite().nonnegative()
1037
+ updatedAt: z$1.number().finite().nonnegative(),
1038
+ /** 'configured' (the harness's own model entry) | 'inferred' (same model id in a known table) | 'unknown' (harness default). Absent = older CLI → configured. */
1039
+ windowSource: z$1.string().nullable().optional(),
1040
+ /** Model id the snapshot was measured on (lets the web consult its own table when the window is unknown). */
1041
+ model: z$1.string().nullable().optional(),
1042
+ /** When the harness last compacted; tokens stay null until the next answer measures the new context. */
1043
+ compactedAt: z$1.number().finite().nonnegative().nullable().optional()
1011
1044
  });
1012
1045
  const AgentVersionsSchema = z$1.object({
1013
1046
  checkedAt: z$1.number(),
@@ -1022,12 +1055,27 @@ const AgentVersionsSchema = z$1.object({
1022
1055
  const AGENT_VERSION_SOURCES = [
1023
1056
  { id: "claude", label: "Claude Code", command: "claude", package: "@anthropic-ai/claude-code", docs: "https://code.claude.com/docs/en/setup" },
1024
1057
  { id: "codex", label: "Codex", command: "codex", package: "@openai/codex", docs: "https://github.com/openai/codex#installation-and-usage" },
1025
- { id: "pi", label: "Pi", command: "pi", package: "@mariozechner/pi-coding-agent", docs: "https://github.com/badlogic/pi-mono/tree/main/packages/coding-agent" },
1058
+ // B-719: @mariozechner/pi-coding-agent is deprecated at 0.73.1 ("use @earendil-works/pi-coding-agent"),
1059
+ // so comparing against it reported every newer pi as current.
1060
+ { id: "pi", label: "Pi", command: "pi", package: "@earendil-works/pi-coding-agent", docs: "https://github.com/earendil-works/pi" },
1026
1061
  { id: "gemini", label: "Gemini CLI", command: "gemini", package: "@google/gemini-cli", docs: "https://github.com/google-gemini/gemini-cli#installation" },
1027
1062
  { id: "opencode", label: "OpenCode", command: "opencode", package: "opencode-ai", docs: "https://opencode.ai/docs/" },
1028
1063
  { id: "openclaw", label: "OpenClaw", command: "openclaw", package: "openclaw", docs: "https://docs.openclaw.ai/install/updating" },
1029
1064
  { id: "claude-sdk", label: "Claude Agent SDK", command: null, package: "@anthropic-ai/claude-agent-sdk", docs: "https://github.com/anthropics/claude-agent-sdk-typescript" }
1030
1065
  ];
1066
+ const HARNESS_INSTALL_IDS = ["claude", "codex", "gemini", "pi"];
1067
+ function isHarnessInstallId(value) {
1068
+ return typeof value === "string" && HARNESS_INSTALL_IDS.includes(value);
1069
+ }
1070
+ const HARNESS_INSTALL_CAPABILITY_VERSION = 1;
1071
+ z$1.object({
1072
+ harness: z$1.string(),
1073
+ state: z$1.string(),
1074
+ // 'installing' | 'installed' | 'failed' (open: older Web shows unknown states as failed)
1075
+ detail: z$1.string().optional(),
1076
+ startedAt: z$1.number(),
1077
+ at: z$1.number()
1078
+ });
1031
1079
  const CLAUDE_OPUS_55_MODEL = "claude-opus-5-5";
1032
1080
  const CLAUDE_OPUS_55_CAPABILITY = "claude-opus-5-5-v1";
1033
1081
  function supportsClaudeOpus55(metadata) {
@@ -1105,4 +1153,4 @@ const ServerMigrateNoticeSchema = z$1.object({
1105
1153
  issuedAt: z$1.number().int().positive()
1106
1154
  });
1107
1155
 
1108
- export { AUTOMATION_NAME_PATTERN as A, BUILTIN_TODO_SKILL as B, ContextUsageSchema as C, AUTOMATION_CLAIM_MAX_RUNS as D, AUTOMATION_DAEMON_CAPABILITY_PRECHECK as E, AUTOMATION_DEFAULT_LEASE_MS as F, PROMPT_QUEUE_CAPABILITY as P, ReleaseDrainNoticeSchema as R, STREAM_DELTA_MAX_CHARS as S, PROJECT_SESSION_CAPABILITY as a, AUTOMATION_PRECHECK_MAX_TIMEOUT_MS as b, AutomationPrecheckSchema as c, createEnvelope as d, createBuiltinTodoClient as e, BUILTIN_TODO_DISCOVERY as f, getAgentCodeDefaults as g, isClaudeOpus55Model as h, isAutomationRunTerminal as i, supportsClaudeOpus55 as j, AutomationNameSchema as k, AutomationConcurrencySchema as l, AutomationActionSchema as m, normalizeAgentKey as n, AutomationTriggerSchema as o, AgentVersionsSchema as p, PI_STEER_CAPABILITY as q, AGENT_VERSION_SOURCES as r, streamKeyOf as s, RelayAssignmentResponseSchema as t, CODEX_STEER_CAPABILITY as u, RelayCandidatesResponseSchema as v, ServerMigrateNoticeSchema as w, AUTOMATION_SUMMARY_MAX_CHARS as x, AUTOMATION_PRECHECK_OUTPUT_MAX_CHARS as y, AUTOMATION_PRECHECK_DEFAULT_TIMEOUT_MS as z };
1156
+ export { AUTOMATION_NAME_PATTERN as A, BUILTIN_TODO_SKILL as B, CODEX_STEER_CAPABILITY as C, AUTOMATION_PRECHECK_OUTPUT_MAX_CHARS as D, AUTOMATION_PRECHECK_DEFAULT_TIMEOUT_MS as E, AUTOMATION_CLAIM_MAX_RUNS as F, AUTOMATION_DAEMON_CAPABILITY_PRECHECK as G, AUTOMATION_DEFAULT_LEASE_MS as H, HARNESS_INSTALL_CAPABILITY_VERSION as I, PROMPT_QUEUE_CAPABILITY as P, ReleaseDrainNoticeSchema as R, STREAM_DELTA_MAX_CHARS as S, PROJECT_SESSION_CAPABILITY as a, AUTOMATION_PRECHECK_MAX_TIMEOUT_MS as b, AutomationPrecheckSchema as c, isInsideTeamWorktree as d, createEnvelope as e, createBuiltinTodoClient as f, BUILTIN_TODO_DISCOVERY as g, getAgentCodeDefaults as h, isAutomationRunTerminal as i, isClaudeOpus55Model as j, supportsClaudeOpus55 as k, AutomationNameSchema as l, AutomationConcurrencySchema as m, normalizeAgentKey as n, AutomationActionSchema as o, AutomationTriggerSchema as p, AgentVersionsSchema as q, rebaseTeamWorktreePath as r, streamKeyOf as s, PI_STEER_CAPABILITY as t, AGENT_VERSION_SOURCES as u, RelayAssignmentResponseSchema as v, RelayCandidatesResponseSchema as w, ServerMigrateNoticeSchema as x, isHarnessInstallId as y, AUTOMATION_SUMMARY_MAX_CHARS as z };
@@ -1,14 +1,14 @@
1
- import { q as query } from './query-ywZbQUzR.mjs';
1
+ import { q as query } from './query-CPXnDURZ.mjs';
2
2
  export { AbortError } from '@anthropic-ai/claude-agent-sdk';
3
3
  import './smallFastModel-BLNgMrwR.mjs';
4
- import './logger-BUngm5Xg.mjs';
4
+ import './logger-DpqihN1f.mjs';
5
5
  import 'chalk';
6
6
  import 'node:util';
7
- import './configuration-PxzEJumr.mjs';
7
+ import './configuration-YXw_Dcsb.mjs';
8
8
  import 'node:fs';
9
9
  import 'node:os';
10
10
  import 'node:path';
11
- import './package-7Ld1YMhh.mjs';
11
+ import './package-CKj8zndE.mjs';
12
12
  import 'node:fs/promises';
13
13
  import './processTreeSnapshot-CuLJDNC-.mjs';
14
14
  import 'node:child_process';
@@ -2,14 +2,14 @@
2
2
 
3
3
  var node_fs = require('node:fs');
4
4
  var os = require('node:os');
5
- var logger = require('./logger-CphW5nUE.cjs');
6
- var persistence = require('./persistence-9BMYspxG.cjs');
5
+ var logger = require('./logger-DK1ytCz6.cjs');
6
+ var persistence = require('./persistence-BdpwWXKh.cjs');
7
7
  var loginShellEnv = require('./loginShellEnv-BkuYtExZ.cjs');
8
8
  require('chalk');
9
9
  require('node:util');
10
- require('./configuration-CYO-kPOS.cjs');
10
+ require('./configuration-B-CugKJ3.cjs');
11
11
  require('node:path');
12
- require('./package-KhLqBDX9.cjs');
12
+ require('./package-BfeqAzyJ.cjs');
13
13
  require('node:fs/promises');
14
14
  require('zod');
15
15
  require('./authRelay-Dy1qU9td.cjs');
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
 
3
- var _package = require('./package-KhLqBDX9.cjs');
3
+ var _package = require('./package-BfeqAzyJ.cjs');
4
4
  var module$1 = require('node:module');
5
5
  var node_fs = require('node:fs');
6
6
  var promises = require('node:fs/promises');
@@ -59,10 +59,10 @@ async function pruneStaleCompileCaches(happyHomeDir, cliVersion) {
59
59
  async function run(args) {
60
60
  enableCompileCacheIfPossible(_package.packageJson.version);
61
61
  if (isStandaloneVersionRequest(args) || isSelfCheckRequest(args)) {
62
- const { selfCheckMain } = await Promise.resolve().then(function () { return require('./selfCheck-BTGBVthv.cjs'); });
62
+ const { selfCheckMain } = await Promise.resolve().then(function () { return require('./selfCheck-B-yy6bW3.cjs'); });
63
63
  process.exit(await selfCheckMain({ verbose: isSelfCheckRequest(args) }));
64
64
  }
65
- const { main } = await Promise.resolve().then(function () { return require('./main-B2UV51nK.cjs'); });
65
+ const { main } = await Promise.resolve().then(function () { return require('./main-DUXh2rgW.cjs'); });
66
66
  await main();
67
67
  }
68
68
  void run(process.argv.slice(2));
@@ -1,14 +1,14 @@
1
1
  import { statSync, readdirSync } from 'node:fs';
2
2
  import { homedir } from 'node:os';
3
- import { l as logger } from './logger-BUngm5Xg.mjs';
4
- import { r as readSettings } from './persistence-BFUOHW5h.mjs';
3
+ import { l as logger } from './logger-DpqihN1f.mjs';
4
+ import { r as readSettings } from './persistence-jOEuAFTS.mjs';
5
5
  import { d as describeAgentHome, C as CLAUDE_CONFIG_DIR_ENV, a as CODEX_HOME_ENV, f as findClaudeConversation, b as agentHomeCandidates, c as findCodexThread, r as resolveAgentHomes, A as AGENT_HOME_ENV_NAMES, g as agentHomeEnv, p as probeLoginShellEnv } from './loginShellEnv-Dw8M7tkI.mjs';
6
6
  export { h as claudeConversationPath, i as claudeProjectDirName, j as codexRolloutFileMatches, e as expandHomePath } from './loginShellEnv-Dw8M7tkI.mjs';
7
7
  import 'chalk';
8
8
  import 'node:util';
9
- import './configuration-PxzEJumr.mjs';
9
+ import './configuration-YXw_Dcsb.mjs';
10
10
  import 'node:path';
11
- import './package-7Ld1YMhh.mjs';
11
+ import './package-CKj8zndE.mjs';
12
12
  import 'node:fs/promises';
13
13
  import 'zod';
14
14
  import './authRelay-DhQhkBvX.mjs';
@@ -1,91 +1,94 @@
1
1
  'use strict';
2
2
 
3
- var AcpBackend = require('./AcpBackend-DfRDtMcG.cjs');
4
- var logger = require('./logger-CphW5nUE.cjs');
5
- var AcpSessionManager = require('./AcpSessionManager-CASKOnOj.cjs');
6
- var index = require('./index-Dv0Q48P3.cjs');
3
+ var AcpBackend = require('./AcpBackend-JA5eu8Y0.cjs');
4
+ var logger = require('./logger-DK1ytCz6.cjs');
5
+ var AcpSessionManager = require('./AcpSessionManager-DjYidq4C.cjs');
6
+ var index = require('./index-oh8XEozJ.cjs');
7
+ var deterministicJson = require('./deterministicJson-CfLkBRvU.cjs');
7
8
  var agentAttachments = require('./agentAttachments-Dbw8iMCZ.cjs');
8
- var configuration = require('./configuration-CYO-kPOS.cjs');
9
- var attachmentContent = require('./attachmentContent-CEm13_gF.cjs');
10
- var piRuntime = require('./piRuntime-CT5xv_3h.cjs');
9
+ var configuration = require('./configuration-B-CugKJ3.cjs');
10
+ var attachmentContent = require('./attachmentContent-I_dJIevE.cjs');
11
+ var piRuntime = require('./piRuntime-C3Dg5uni.cjs');
11
12
  var node_crypto = require('node:crypto');
12
13
  var path = require('node:path');
13
- var api = require('./api-DM7b1OKj.cjs');
14
- var deterministicJson = require('./deterministicJson-xqA6DaOm.cjs');
15
- var client = require('./client-DJplzPjD.cjs');
16
- var registerKillSessionHandler = require('./registerKillSessionHandler-CIsvBrVe.cjs');
17
- var persistence = require('./persistence-9BMYspxG.cjs');
18
- var machineMetadata = require('./machineMetadata-BQm9YTcI.cjs');
19
- var createSessionMetadata = require('./createSessionMetadata-xz767pcG.cjs');
20
- var setupOfflineReconnection = require('./setupOfflineReconnection-DvvVX3TB.cjs');
21
- var startupSessionCreate = require('./startupSessionCreate-kdr3m1uX.cjs');
22
- var controlClient = require('./controlClient-Bqv5v5OM.cjs');
14
+ var api = require('./api-CZWcG7uh.cjs');
15
+ var client = require('./client-DK8CzUry.cjs');
16
+ var registerKillSessionHandler = require('./registerKillSessionHandler-DiS_go8d.cjs');
17
+ var persistence = require('./persistence-BdpwWXKh.cjs');
18
+ var machineMetadata = require('./machineMetadata-IJc6_iyx.cjs');
19
+ var createSessionMetadata = require('./createSessionMetadata-L499emJn.cjs');
20
+ var setupOfflineReconnection = require('./setupOfflineReconnection-B1GsVA8P.cjs');
21
+ var startupSessionCreate = require('./startupSessionCreate-BXqoUX30.cjs');
22
+ var controlClient = require('./controlClient-D0kGwKYx.cjs');
23
23
  var authRelay = require('./authRelay-Dy1qU9td.cjs');
24
- var sessionLock = require('./sessionLock-DRZUcKHT.cjs');
25
- var acpSessionResume = require('./acpSessionResume-CR5pmgVo.cjs');
26
- var streamRelay = require('./streamRelay-Dy6amlzx.cjs');
24
+ var sessionLock = require('./sessionLock-Dc0fadGG.cjs');
25
+ var acpSessionResume = require('./acpSessionResume-Dxo8222T.cjs');
26
+ var streamRelay = require('./streamRelay-B-J-4St1.cjs');
27
27
  var projectPath = require('./projectPath-C3ioB4Bu.cjs');
28
- var BasePermissionHandler = require('./BasePermissionHandler-BlM_tfej.cjs');
29
- var titleGenerator = require('./titleGenerator-Cgp5ihFb.cjs');
28
+ var BasePermissionHandler = require('./BasePermissionHandler-D3PMKLBS.cjs');
29
+ var titleGenerator = require('./titleGenerator-YNutaU88.cjs');
30
30
  var editPaths = require('./editPaths-Bqp4OFPw.cjs');
31
31
  require('node:child_process');
32
32
  require('@agentclientprotocol/sdk');
33
- require('./time-Cjv0zxQO.cjs');
33
+ require('./time-DNLeIRgR.cjs');
34
34
  require('./contentLogMetadata-ZSFk_NjQ.cjs');
35
35
  require('./processTree-CMHWlVse.cjs');
36
- require('./package-KhLqBDX9.cjs');
36
+ require('./package-BfeqAzyJ.cjs');
37
37
  require('chalk');
38
38
  require('node:util');
39
39
  require('node:fs');
40
40
  require('@paralleldrive/cuid2');
41
41
  require('zod');
42
+ require('./prompt-Bof2aQkI.cjs');
43
+ require('./reportProgressTool-DlD_xjzU.cjs');
44
+ require('./client-CDuW4MS9.cjs');
45
+ require('./precheckCompat-CWOi5c9L.cjs');
46
+ require('./agentGuidance-BtBx2xxE.cjs');
47
+ require('./trimIdent-4gvk9Wk6.cjs');
42
48
  require('node:os');
49
+ require('./pi-DlsrPCTa.cjs');
50
+ require('./fileStore-7qhnbs6N.cjs');
43
51
  require('node:fs/promises');
44
- require('./pushNotifications-DI92havG.cjs');
52
+ require('./client-xnWiHqdb.cjs');
53
+ require('./context-BtIVqHI5.cjs');
54
+ require('./sessionOps-Dx7wARjI.cjs');
45
55
  require('axios');
46
- require('./resources-CvIlkzpP.cjs');
47
- require('./lidState-DWGnm2H4.cjs');
48
- require('os');
49
- require('child_process');
50
- require('node:events');
51
56
  require('socket.io-client');
52
- require('./limits-C-a7gr04.cjs');
53
- require('./registerCommonHandlers-C7a_dUWs.cjs');
54
- require('util');
55
- require('fs/promises');
56
- require('crypto');
57
- require('path');
58
- require('cross-spawn');
59
- require('./sync-Bn-idAoy.cjs');
60
57
  require('./backgroundTaskActivity-CBvUdj39.cjs');
61
- require('./prompt-lgF9IE82.cjs');
62
- require('./reportProgressTool-14AXr959.cjs');
63
- require('./client-BWjaHKtj.cjs');
64
- require('./precheckCompat-CWOi5c9L.cjs');
65
- require('./agentGuidance-BtBx2xxE.cjs');
66
- require('./trimIdent-4gvk9Wk6.cjs');
67
- require('./client-D_loZ9IK.cjs');
68
- require('./context-6TP-iz_c.cjs');
69
- require('./sessionOps-BrGiU9-s.cjs');
70
- require('./tools-BL7Byl_x.cjs');
71
- require('./peerTools-DQNlrcqM.cjs');
58
+ require('./resources-BPyN59Iv.cjs');
59
+ require('./tools-ClYcb1YQ.cjs');
60
+ require('./peerTools-BVp1z0T_.cjs');
72
61
  require('./ids-B6ZC0HGt.cjs');
73
- require('./remoteSessionClient-D843fkzL.cjs');
62
+ require('./remoteSessionClient-CtV9mDko.cjs');
74
63
  require('@modelcontextprotocol/sdk/server/mcp.js');
75
64
  require('node:http');
76
65
  require('@modelcontextprotocol/sdk/server/streamableHttp.js');
77
- require('./downloadTarget-CEb9che-.cjs');
66
+ require('./limits-C-a7gr04.cjs');
67
+ require('./downloadTarget-D33BFvew.cjs');
78
68
  require('./terminals-B_bfC9c2.cjs');
79
69
  require('./terminalTitleSuggest-DhvRFX3H.cjs');
80
70
  require('./tmuxSocket-D-Xt6Vn-.cjs');
81
- require('./bootstrap-DoA7okld.cjs');
71
+ require('./bootstrap-DsXp74wv.cjs');
82
72
  require('./webPanels-FCgFKvVe.cjs');
73
+ require('./pushNotifications-CyQVDThC.cjs');
83
74
  require('./previewPath-B0rBdhy1.cjs');
75
+ require('crypto');
76
+ require('./lidState-DcPvwniz.cjs');
77
+ require('os');
78
+ require('child_process');
79
+ require('node:events');
80
+ require('./registerCommonHandlers-DbNoM39q.cjs');
81
+ require('util');
82
+ require('fs/promises');
83
+ require('path');
84
+ require('cross-spawn');
85
+ require('./sync-BxMdnZzz.cjs');
84
86
  require('tweetnacl');
85
87
  require('./types-CRS-srZK.cjs');
86
88
  require('./detectCLI-BuYR_Qxe.cjs');
87
89
  require('fs');
88
- require('./localHappyAgentAuth-DZHQnIW9.cjs');
90
+ require('./localHappyAgentAuth-SD6GM97y.cjs');
91
+ require('./fsMkdir-0K3yENml.cjs');
89
92
  require('./processTreeSnapshot-mDbnuojn.cjs');
90
93
  require('url');
91
94
  require('node:module');
@@ -105,6 +108,18 @@ function createAcpBackend(options) {
105
108
  return new AcpBackend.AcpBackend(backendOptions);
106
109
  }
107
110
 
111
+ const SLASH_COMMAND = /^\/[A-Za-z][A-Za-z0-9_.:-]*(?:\s|$)/;
112
+ function isAgentSlashCommand(message) {
113
+ return typeof message === "string" && SLASH_COMMAND.test(message.trimStart());
114
+ }
115
+ async function buildAcpPrompt(message, opts) {
116
+ if (isAgentSlashCommand(message)) return { prompt: message, slashCommand: true };
117
+ const projected = await opts.decorate(message);
118
+ return { prompt: opts.todoNoteSent ? projected : `${projected}
119
+
120
+ ${opts.todoNote}`, slashCommand: false };
121
+ }
122
+
108
123
  const MAX_DETAIL_CHARS = 400;
109
124
  function detailOf(error) {
110
125
  if (error instanceof Error) return error.message;
@@ -911,8 +926,10 @@ async function runAcp(opts) {
911
926
  assistant: isAssistantVariant,
912
927
  ...piSteer ? { piSteer } : {},
913
928
  push: { sendAttention: (input) => api$1.push().sendAttention(input) },
914
- ...opts.agentName === "pi" ? { onContextUsage: (contextUsage) => {
915
- session.updateAgentState((state2) => ({ ...state2, contextUsage }));
929
+ // B-727: pi's report is resolved against models.json (pi's 128k default ≠ a configured window).
930
+ ...opts.agentName === "pi" ? { onContextUsage: (report) => {
931
+ const modelsJson = deterministicJson.readPiModelsJson();
932
+ session.updateAgentState((state2) => ({ ...state2, contextUsage: deterministicJson.resolvePiContextUsage(report, modelsJson, state2.contextUsage, Date.now()) }));
916
933
  } } : {}
917
934
  });
918
935
  if (opts.agentName === "pi") session.updateAgentState((state2) => ({ ...state2, contextUsage: null }));
@@ -1455,10 +1472,11 @@ async function runAcp(opts) {
1455
1472
  if (typeof batch.mode.effort === "string") {
1456
1473
  await switchEffortIfRequested(batch.mode.effort, modelChanged);
1457
1474
  }
1458
- const projected = await projectInjector.decorate(batch.message);
1459
- const prompt = todoDiscoverySent ? projected : `${projected}
1460
-
1461
- ${index.BUILTIN_TODO_DISCOVERY}`;
1475
+ const { prompt, slashCommand } = await buildAcpPrompt(batch.message, {
1476
+ todoNoteSent: todoDiscoverySent,
1477
+ todoNote: index.BUILTIN_TODO_DISCOVERY,
1478
+ decorate: (m) => projectInjector.decorate(m)
1479
+ });
1462
1480
  const attachments = batch.attachments ?? [];
1463
1481
  const staged = attachments.length ? await attachmentContent.stageClaudeAttachments(attachments, {
1464
1482
  happyHomeDir: configuration.configuration.happyHomeDir,
@@ -1471,7 +1489,7 @@ ${index.BUILTIN_TODO_DISCOVERY}`;
1471
1489
  } finally {
1472
1490
  promptInFlight = false;
1473
1491
  }
1474
- todoDiscoverySent = true;
1492
+ if (!slashCommand) todoDiscoverySent = true;
1475
1493
  const stopReason = outcome && typeof outcome === "object" ? outcome.stopReason : void 0;
1476
1494
  if (stopReason === "error") {
1477
1495
  throw new Error("the turn ended with an error reported by the agent");
@@ -1,4 +1,4 @@
1
- import { p as packageJson } from './package-7Ld1YMhh.mjs';
1
+ import { p as packageJson } from './package-CKj8zndE.mjs';
2
2
  import module$1 from 'node:module';
3
3
  import { existsSync } from 'node:fs';
4
4
  import { readdir, rm } from 'node:fs/promises';
@@ -57,10 +57,10 @@ async function pruneStaleCompileCaches(happyHomeDir, cliVersion) {
57
57
  async function run(args) {
58
58
  enableCompileCacheIfPossible(packageJson.version);
59
59
  if (isStandaloneVersionRequest(args) || isSelfCheckRequest(args)) {
60
- const { selfCheckMain } = await import('./selfCheck-Smt-5Xiq.mjs');
60
+ const { selfCheckMain } = await import('./selfCheck-BDfTwxqB.mjs');
61
61
  process.exit(await selfCheckMain({ verbose: isSelfCheckRequest(args) }));
62
62
  }
63
- const { main } = await import('./main-DGkdYfEq.mjs');
63
+ const { main } = await import('./main-CpUmw7hm.mjs');
64
64
  await main();
65
65
  }
66
66
  void run(process.argv.slice(2));
@@ -1,16 +1,16 @@
1
1
  'use strict';
2
2
 
3
- var query = require('./query-BETKBrnz.cjs');
3
+ var query = require('./query-CK--1fbL.cjs');
4
4
  var claudeAgentSdk = require('@anthropic-ai/claude-agent-sdk');
5
5
  require('./smallFastModel-D_uxGMo3.cjs');
6
- require('./logger-CphW5nUE.cjs');
6
+ require('./logger-DK1ytCz6.cjs');
7
7
  require('chalk');
8
8
  require('node:util');
9
- require('./configuration-CYO-kPOS.cjs');
9
+ require('./configuration-B-CugKJ3.cjs');
10
10
  require('node:fs');
11
11
  require('node:os');
12
12
  require('node:path');
13
- require('./package-KhLqBDX9.cjs');
13
+ require('./package-BfeqAzyJ.cjs');
14
14
  require('node:fs/promises');
15
15
  require('./processTreeSnapshot-mDbnuojn.cjs');
16
16
  require('node:child_process');