very-happy-cli 0.2.207 → 0.2.209

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 (195) hide show
  1. package/dist/{AcpBackend-Bl-oWkHt.mjs → AcpBackend-CYVjjkTJ.mjs} +3 -3
  2. package/dist/{AcpBackend-C4SaE4IN.cjs → AcpBackend-D-W7JjO5.cjs} +3 -3
  3. package/dist/{AcpSessionManager-DqNWNKVy.mjs → AcpSessionManager-D380OsFx.mjs} +1 -1
  4. package/dist/{AcpSessionManager-CKSM-N3a.cjs → AcpSessionManager-JfEvyMrn.cjs} +1 -1
  5. package/dist/{BasePermissionHandler-DffP0tjT.cjs → BasePermissionHandler-CNba2MyO.cjs} +1 -1
  6. package/dist/{BasePermissionHandler-BAfjjqWG.mjs → BasePermissionHandler-TLq_W9pl.mjs} +1 -1
  7. package/dist/{account-CneNvaLv.mjs → account-B2f23fIK.mjs} +5 -5
  8. package/dist/{account-pH6JQJbQ.cjs → account-CiQRVn95.cjs} +5 -5
  9. package/dist/{acpSessionResume-Cp2majJ5.cjs → acpSessionResume-CdZCok4p.cjs} +1 -1
  10. package/dist/{acpSessionResume-C6KuYvK8.mjs → acpSessionResume-D7s2CpYx.mjs} +1 -1
  11. package/dist/{agentHome-ZGpu5XKy.cjs → agentHome-CBrBSMnQ.cjs} +4 -4
  12. package/dist/{agentHome-BkiHrQwj.mjs → agentHome-CnuMiK-o.mjs} +4 -4
  13. package/dist/{api-D7EAwOT2.mjs → api-CkLdf3Hw.mjs} +14 -11
  14. package/dist/{api-eXuwG3LS.cjs → api-Ey908pwP.cjs} +14 -11
  15. package/dist/{apiMachine-B5c9zCjB.mjs → apiMachine-Bmz_70G5.mjs} +112 -19
  16. package/dist/{apiMachine-B8ZxgTx1.cjs → apiMachine-Cf58HfKd.cjs} +111 -18
  17. package/dist/{attachmentContent-DhTreh-W.cjs → attachmentContent-BAdLzMn2.cjs} +2 -2
  18. package/dist/{attachmentContent-DV7W3vw7.mjs → attachmentContent-zrtuHdZ6.mjs} +2 -2
  19. package/dist/{auth-DX3_VbOL.mjs → auth-BSUhf3ga.mjs} +8 -8
  20. package/dist/{auth-DhZkCYgz.cjs → auth-BTEHYxT8.cjs} +8 -8
  21. package/dist/{auth-hEcrRFkt.mjs → auth-DFkU4wew.mjs} +5 -5
  22. package/dist/{auth-CFUuiMdV.cjs → auth-Du2R-gUh.cjs} +5 -5
  23. package/dist/{auto-BI4y9q_F.mjs → auto-OAOErj-W.mjs} +15 -15
  24. package/dist/{auto-C4fniaPr.cjs → auto-qzoYqxeh.cjs} +14 -14
  25. package/dist/{bootstrap-CBoerZOm.mjs → bootstrap-Bv2SvdDx.mjs} +2 -2
  26. package/dist/{bootstrap-DPbGC_1B.cjs → bootstrap-CHBrF6YF.cjs} +2 -2
  27. package/dist/{browser-ilsUkzwR.mjs → browser-C63tLxfu.mjs} +1 -1
  28. package/dist/{browser-BRH_1Tgz.cjs → browser-DJ8PhjCJ.cjs} +1 -1
  29. package/dist/{claudeLocal-CmRDtqcj.mjs → claudeLocal-B6zMp1Pr.mjs} +5 -5
  30. package/dist/{claudeLocal-D6-w4R7R.cjs → claudeLocal-ClpJ_2Mk.cjs} +4 -4
  31. package/dist/{claudeLocalLauncher-D93IuVcy.cjs → claudeLocalLauncher-C6VnhKGg.cjs} +9 -9
  32. package/dist/{claudeLocalLauncher-B9gzCvDn.mjs → claudeLocalLauncher-C9zlUxEK.mjs} +10 -10
  33. package/dist/{claudeSessionFork-Bo-LD1DH.cjs → claudeSessionFork-B9csQS3q.cjs} +1 -1
  34. package/dist/{claudeSessionFork-ghL7gnlU.mjs → claudeSessionFork-CQmkyPrl.mjs} +1 -1
  35. package/dist/{client-5SAqN0dw.cjs → client--Y2cO566.cjs} +4 -4
  36. package/dist/{client-N9svGBOP.cjs → client-B95PYz0H.cjs} +2 -2
  37. package/dist/{client-DCFPJD00.mjs → client-BZgYpNB0.mjs} +2 -2
  38. package/dist/{client-BGLgYzYC.mjs → client-BanKGPA4.mjs} +4 -4
  39. package/dist/{client-CTsx4zlq.cjs → client-C07PP_4E.cjs} +2 -2
  40. package/dist/{client-DhnaMxKS.mjs → client-CUvGQuJX.mjs} +2 -2
  41. package/dist/{client-BcUWsWK-.cjs → client-Cc7G2erF.cjs} +2 -2
  42. package/dist/{client-DTwpdW59.mjs → client-DqNL-Cjk.mjs} +2 -2
  43. package/dist/codex/happyMcpStdioBridge.cjs +18 -18
  44. package/dist/codex/happyMcpStdioBridge.mjs +18 -18
  45. package/dist/{codexAppServerClient-3mdddlO9.cjs → codexAppServerClient-DLm3D7-Z.cjs} +107 -5
  46. package/dist/{codexAppServerClient-CBVlr7hu.mjs → codexAppServerClient-Mc5onT8f.mjs} +105 -7
  47. package/dist/{codexCommand-BP88QTCU.mjs → codexCommand-5r7wqrYt.mjs} +119 -106
  48. package/dist/{codexCommand-Bps4LkvI.cjs → codexCommand-DwVQoGO1.cjs} +122 -109
  49. package/dist/{codexTermination-C9CVmb9Q.cjs → codexTermination-Cl5MMVDr.cjs} +1 -1
  50. package/dist/{codexTermination-CUPmLwbF.mjs → codexTermination-D5CGQPvh.mjs} +1 -1
  51. package/dist/{config-O4t1U8Bi.cjs → config-D_T8G2HJ.cjs} +3 -3
  52. package/dist/{config-eTAvnx-a.mjs → config-W4pmQc1k.mjs} +3 -3
  53. package/dist/{configuration-C4w7_yT9.mjs → configuration-B3wgZX4R.mjs} +1 -1
  54. package/dist/{configuration-B-smHMf7.cjs → configuration-swJoFD0a.cjs} +1 -1
  55. package/dist/{connect-BJT1vGf-.mjs → connect-CL2T_Evn.mjs} +12 -12
  56. package/dist/{connect-BGZmkECR.cjs → connect-Ct7OikyT.cjs} +12 -12
  57. package/dist/{context-Cy2pdGOi.mjs → context-5r4WVFFt.mjs} +1 -1
  58. package/dist/{context-Dfj4Pjqz.cjs → context-BG_UKLuU.cjs} +1 -1
  59. package/dist/{controlClient-CtBRHlbJ.mjs → controlClient--DAPnEd4.mjs} +3 -3
  60. package/dist/{controlClient-Dlm7wz-k.cjs → controlClient-DhrKwFJt.cjs} +3 -3
  61. package/dist/{createSessionMetadata-DqBHMEgs.mjs → createSessionMetadata-DGVfg9tW.mjs} +2 -2
  62. package/dist/{createSessionMetadata-B1NbiqH5.cjs → createSessionMetadata-ZRwYKvMp.cjs} +2 -2
  63. package/dist/{deterministicJson-DGheByZm.cjs → deterministicJson-CnVlxzAp.cjs} +14 -14
  64. package/dist/{deterministicJson-B94VfD9g.mjs → deterministicJson-Dg0wvwNe.mjs} +14 -14
  65. package/dist/{doctor-CdXBxTms.cjs → doctor-CMMa2LJA.cjs} +7 -7
  66. package/dist/{doctor-D3Ph5EzU.mjs → doctor-DLbyvQ9Z.mjs} +7 -7
  67. package/dist/{downloadTarget-DBDqU17k.mjs → downloadTarget-BgZcstO5.mjs} +6 -6
  68. package/dist/{downloadTarget-BpToCct7.cjs → downloadTarget-C53IC8U9.cjs} +6 -6
  69. package/dist/{ensureDaemonRunning-7J9kb-Sj.mjs → ensureDaemonRunning-CWTOK8WR.mjs} +5 -5
  70. package/dist/{ensureDaemonRunning-Balq1x5B.cjs → ensureDaemonRunning-DS4GZKY9.cjs} +5 -5
  71. package/dist/{exitNotice-DkJaD0I0.mjs → exitNotice-BUsSapfz.mjs} +2 -2
  72. package/dist/{exitNotice-CTcWpCmg.cjs → exitNotice-Bj6JVAEc.cjs} +2 -2
  73. package/dist/{format-0c3qb7FE.mjs → format-CEG2hRK-.mjs} +1 -1
  74. package/dist/{format-DoTTSy8C.cjs → format-UU6BHTs0.cjs} +1 -1
  75. package/dist/{handleResumeCommand-BUIHxf87.mjs → handleResumeCommand-BWHiKkQC.mjs} +5 -5
  76. package/dist/{handleResumeCommand-Dp-rTs9Q.cjs → handleResumeCommand-CxOxcYjE.cjs} +5 -5
  77. package/dist/{index-DE5JMca_.mjs → index-BH0fVzRF.mjs} +4 -4
  78. package/dist/{index-Du6DD3Re.cjs → index-BLQpsI9I.cjs} +3 -3
  79. package/dist/{index-CP6WBAk_.cjs → index-B_muybV3.cjs} +4 -4
  80. package/dist/{index-B-hkUPYN.mjs → index-Bjpbyuyd.mjs} +41 -41
  81. package/dist/{index-DWtaNZd1.cjs → index-BsLXPLqz.cjs} +40 -40
  82. package/dist/{index-D47YHzru.mjs → index-CN-3w3P8.mjs} +4 -4
  83. package/dist/{index-DMhMr4cb.cjs → index-SQIIva3h.cjs} +4 -4
  84. package/dist/{index-BlUhrNAx.mjs → index-eEjPS0M6.mjs} +3 -3
  85. package/dist/index.cjs +2 -2
  86. package/dist/index.mjs +2 -2
  87. package/dist/{install-Sr04Bhi-.cjs → install-BxB7KmGi.cjs} +3 -3
  88. package/dist/{install-CwQRBYJL.mjs → install-CxwV8YVK.mjs} +3 -3
  89. package/dist/{issue-D9rmZ2Im.mjs → issue-B75oOPi6.mjs} +7 -7
  90. package/dist/{issue-pnYFBO-F.cjs → issue-BRZrzStW.cjs} +7 -7
  91. package/dist/lib.cjs +11 -11
  92. package/dist/lib.d.cts +8 -0
  93. package/dist/lib.d.mts +8 -0
  94. package/dist/lib.mjs +11 -11
  95. package/dist/{localHappyAgentAuth-BpBQ_aFo.cjs → localHappyAgentAuth-cZ1UzB3N.cjs} +1 -1
  96. package/dist/{localHappyAgentAuth-Bc3bo0fI.mjs → localHappyAgentAuth-pQ1tydmz.mjs} +1 -1
  97. package/dist/{logger-8f-WNgus.mjs → logger-4c2kQKdA.mjs} +2 -2
  98. package/dist/{logger-HxTu5uFs.cjs → logger-BgiIn8N6.cjs} +2 -2
  99. package/dist/{machineMetadata-EyybyGYp.mjs → machineMetadata-05fRn35o.mjs} +3 -3
  100. package/dist/{machineMetadata-C7DEm41X.cjs → machineMetadata-CtPf5dLj.cjs} +3 -3
  101. package/dist/{main-CW8xXpXM.cjs → main-CYkrRiCH.cjs} +48 -48
  102. package/dist/{main-Dmb6KKtB.mjs → main-rHs6jmx-.mjs} +48 -48
  103. package/dist/{manager-BEsI4qt3.mjs → manager-2Il8XJVq.mjs} +1 -1
  104. package/dist/{mcp-DAuW3X2i.mjs → mcp-BXw9rHea.mjs} +15 -15
  105. package/dist/{mcp-BHKpSJPk.cjs → mcp-DFNqLMbv.cjs} +15 -15
  106. package/dist/{mirrorProtocol-Cmxr0YBU.cjs → mirrorProtocol-BWMat_4c.cjs} +2 -2
  107. package/dist/{mirrorProtocol-kXv1EaAI.mjs → mirrorProtocol-DWG3tXpD.mjs} +2 -2
  108. package/dist/{package-ChmhpzsE.cjs → package-B-rucZuX.cjs} +8 -8
  109. package/dist/{package-Cp8RjVmm.mjs → package-DVsmL69e.mjs} +8 -8
  110. package/dist/{panels-iylFFXPZ.cjs → panels-B-n6X9Yk.cjs} +5 -5
  111. package/dist/{panels-x99J6c1O.mjs → panels-Dyd-4NaJ.mjs} +5 -5
  112. package/dist/{peerTools-ZUDz2PCs.cjs → peerTools-BQ5xWXof.cjs} +5 -5
  113. package/dist/{peerTools-jWghbgAH.mjs → peerTools-wx9UOrla.mjs} +5 -5
  114. package/dist/{persistence-DxboRqwb.cjs → persistence-C_NJ8wVb.cjs} +2 -2
  115. package/dist/{persistence-D1E7jiV4.mjs → persistence-D8JwMaku.mjs} +2 -2
  116. package/dist/{piRunnerArgs-BM9b8W_4.mjs → piRunnerArgs-BV4g7Hmm.mjs} +1 -1
  117. package/dist/{piRunnerArgs-gNYQH48T.cjs → piRunnerArgs-eHB-JNoh.cjs} +1 -1
  118. package/dist/{piRuntime-mqdaYw91.cjs → piRuntime-DiZF0Nqv.cjs} +1 -1
  119. package/dist/{piRuntime-B6X6ax5K.mjs → piRuntime-DzY2jt2G.mjs} +1 -1
  120. package/dist/{piTerminal-DaoQF1Rn.mjs → piTerminal-CXsFC_JI.mjs} +17 -17
  121. package/dist/{piTerminal-D-bOYy3E.cjs → piTerminal-UYlG-ZxW.cjs} +17 -17
  122. package/dist/{pushNotifications-WgO2p0eT.mjs → pushNotifications-BnYZ4jrt.mjs} +2 -2
  123. package/dist/{pushNotifications-EJWZAYed.cjs → pushNotifications-D4vbuMHx.cjs} +2 -2
  124. package/dist/{query-ykhx5AZx.cjs → query-C1XzkRMT.cjs} +1 -1
  125. package/dist/{query-BGtAkN33.mjs → query-DFpGdyiT.mjs} +1 -1
  126. package/dist/{rateLimitWindows-Cfdnt4On.cjs → rateLimitWindows-Cxg57bVZ.cjs} +1 -1
  127. package/dist/{rateLimitWindows-BRImToc6.mjs → rateLimitWindows-Xbu2cD8b.mjs} +1 -1
  128. package/dist/{reconnectGate-B9iXSyiI.mjs → reconnectGate-BqogaLTK.mjs} +1 -1
  129. package/dist/{reconnectGate-DY97bPDg.cjs → reconnectGate-DjRjnZe-.cjs} +1 -1
  130. package/dist/{registerCommonHandlers-YbBzC20u.mjs → registerCommonHandlers-BDEwSik-.mjs} +2 -2
  131. package/dist/{registerCommonHandlers-YsrcwRo3.cjs → registerCommonHandlers-BsRmCAOS.cjs} +2 -2
  132. package/dist/{registerKillSessionHandler-ClPpvQnu.cjs → registerKillSessionHandler-C9PlDdh4.cjs} +5 -5
  133. package/dist/{registerKillSessionHandler-d3rziH37.mjs → registerKillSessionHandler-CJG29HDi.mjs} +5 -5
  134. package/dist/{registerSideQuestionHandler-CMvcaD2A.cjs → registerSideQuestionHandler-DWQL3tBZ.cjs} +4 -4
  135. package/dist/{registerSideQuestionHandler-C3K33AGg.mjs → registerSideQuestionHandler-Dc8VtXzy.mjs} +4 -4
  136. package/dist/{remoteSessionClient-e9jDdGyc.cjs → remoteSessionClient-BOQjGMkq.cjs} +5 -5
  137. package/dist/{remoteSessionClient-B1C7gwqX.mjs → remoteSessionClient-CliGqDqa.mjs} +5 -5
  138. package/dist/{reportProgressTool-67vB9Y7g.mjs → reportProgressTool-CuHHc66P.mjs} +4 -4
  139. package/dist/{reportProgressTool-B3yNkD_S.cjs → reportProgressTool-jzvAyDH0.cjs} +4 -4
  140. package/dist/{run-c4votzBI.cjs → run-BBSymJ6D.cjs} +34 -34
  141. package/dist/{run-BjpvcAAW.mjs → run-hMQwQVEx.mjs} +34 -34
  142. package/dist/{runClaude-B1NEkS3e.mjs → runClaude-BHUMnY2G.mjs} +21 -21
  143. package/dist/{runClaude-DkaZHsDR.cjs → runClaude-qOeODZhV.cjs} +21 -21
  144. package/dist/{runClaudeDeps-JYJCSgT2.mjs → runClaudeDeps-Ce3DIMUa.mjs} +44 -44
  145. package/dist/{runClaudeDeps-C8s0t81_.cjs → runClaudeDeps-DEKf-dCb.cjs} +38 -38
  146. package/dist/{runGemini-Bgmlv2sP.mjs → runGemini-BX9SnIkS.mjs} +35 -35
  147. package/dist/{runGemini-m1e3OwXi.cjs → runGemini-BYm18yiR.cjs} +35 -35
  148. package/dist/{runOpenClaw-B5iSbZvU.cjs → runOpenClaw-CkXTQ1xM.cjs} +17 -17
  149. package/dist/{runOpenClaw-BTry3E0Y.mjs → runOpenClaw-DsId6bZj.mjs} +17 -17
  150. package/dist/{sandbox-D-irSe8t.cjs → sandbox-BiNqCHs8.cjs} +4 -4
  151. package/dist/{sandbox-BPZsegqb.mjs → sandbox-Ddpq3lAR.mjs} +4 -4
  152. package/dist/selfCheck-o2HhQpjV.mjs +89 -0
  153. package/dist/{selfCheck-08_EII_I.cjs → selfCheck-wUk6qBo8.cjs} +39 -39
  154. package/dist/{send-4esWxXzr.mjs → send-Csdcq-K-.mjs} +8 -8
  155. package/dist/{send-DUNnoCVK.cjs → send-Cvq1uENA.cjs} +8 -8
  156. package/dist/{server-NG8ODDc_.cjs → server-BH4Qsm3G.cjs} +6 -6
  157. package/dist/{server-Bn1QXAY4.mjs → server-C1k_ajv8.mjs} +4 -4
  158. package/dist/{sessionLock-BKnXIWnQ.mjs → sessionLock-BdXvyzhz.mjs} +3 -3
  159. package/dist/{sessionLock-CW-P7VU9.cjs → sessionLock-CdP6pP5O.cjs} +3 -3
  160. package/dist/{sessionOps-Cei-Q7OB.cjs → sessionOps-CXTgzjZJ.cjs} +4 -4
  161. package/dist/{sessionOps-Ct7ayY1X.mjs → sessionOps-CcOSnH7K.mjs} +4 -4
  162. package/dist/{sessionProvider-DoXNlG4E.cjs → sessionProvider-CBRH_U0l.cjs} +5 -5
  163. package/dist/{sessionProvider-D8bZBiAX.mjs → sessionProvider-DpOzXmqv.mjs} +5 -5
  164. package/dist/{sessionScanner-DivfvOis.mjs → sessionScanner-9bShAB5x.mjs} +3 -3
  165. package/dist/{sessionScanner-CGs_Lbq7.cjs → sessionScanner-DkTBAjTt.cjs} +3 -3
  166. package/dist/{sessions-VYh46wvf.cjs → sessions-CuqK9JP3.cjs} +10 -10
  167. package/dist/{sessions-DN47YSMs.mjs → sessions-Dee2EKGB.mjs} +10 -10
  168. package/dist/{setupOfflineReconnection-DqeCU4SM.mjs → setupOfflineReconnection-DewXskRn.mjs} +2 -2
  169. package/dist/{setupOfflineReconnection-DHBmg5_6.cjs → setupOfflineReconnection-cGiqFFco.cjs} +2 -2
  170. package/dist/{spawn-DQLUI6h9.cjs → spawn-CK29nUkh.cjs} +12 -12
  171. package/dist/{spawn-ChyfhZlN.mjs → spawn-C_DZ9dlL.mjs} +13 -13
  172. package/dist/{spawnHappyCLI-DIR-U_rK.cjs → spawnHappyCLI-Ace1lfB4.cjs} +1 -1
  173. package/dist/{spawnHappyCLI-D6R-aIkL.mjs → spawnHappyCLI-CGoBUcM-.mjs} +1 -1
  174. package/dist/{startFileWatcher-CQCQrB3d.mjs → startFileWatcher-DDSvcz8k.mjs} +1 -1
  175. package/dist/{startFileWatcher-Qy7f8U4k.cjs → startFileWatcher-YmyS4zBl.cjs} +1 -1
  176. package/dist/{startupSessionCreate-BgoNJdcx.mjs → startupSessionCreate-CQ7PWP3A.mjs} +3 -3
  177. package/dist/{startupSessionCreate-cInaqBEd.cjs → startupSessionCreate-SNZm_wCS.cjs} +3 -3
  178. package/dist/{sync-DS_emV3g.cjs → sync-DjVi4LBV.cjs} +1 -1
  179. package/dist/{sync-DzKT0Ova.mjs → sync-DxZNc7C_.mjs} +1 -1
  180. package/dist/{systemPrompt-DVy690s2.cjs → systemPrompt-4n2tptU3.cjs} +1 -1
  181. package/dist/{systemPrompt-rpf-Xff-.mjs → systemPrompt-DKqgPtUs.mjs} +1 -1
  182. package/dist/{teams-CbqS5j_2.mjs → teams-BSW7lKfJ.mjs} +8 -8
  183. package/dist/{teams-DwBVRsbw.cjs → teams-C_5X9hb3.cjs} +8 -8
  184. package/dist/{time-o_AW-82H.mjs → time-CCZ-nP8H.mjs} +1 -1
  185. package/dist/{time-i8fiLSHv.cjs → time-CKVbeZ-a.cjs} +1 -1
  186. package/dist/{titleGenerator-EGdbOCLR.cjs → titleGenerator-EmPqCSo5.cjs} +2 -2
  187. package/dist/{titleGenerator-rKTQTQN7.mjs → titleGenerator-JVdBfafo.mjs} +1 -1
  188. package/dist/{todo-CWyVxUyT.mjs → todo-DNiRA_5m.mjs} +7 -7
  189. package/dist/{todo-d8aPaBq_.cjs → todo-DXQfbkSL.cjs} +7 -7
  190. package/dist/{tools-DtSHBOmt.cjs → tools-B6mOWP7m.cjs} +1 -1
  191. package/dist/{tools--22wuNI5.mjs → tools-C1uZUyl9.mjs} +1 -1
  192. package/dist/{uninstall-CJqFoKZO.mjs → uninstall-BTlCdGNB.mjs} +3 -3
  193. package/dist/{uninstall-BAaq0c10.cjs → uninstall-DNAX7djH.cjs} +3 -3
  194. package/package.json +8 -8
  195. package/dist/selfCheck-BPzN6ip2.mjs +0 -89
@@ -1,11 +1,11 @@
1
1
  import { spawn } from 'node:child_process';
2
2
  import { ndJsonStream, ClientSideConnection } from '@agentclientprotocol/sdk';
3
3
  import { randomUUID } from 'node:crypto';
4
- import { l as logger } from './logger-8f-WNgus.mjs';
5
- import { d as delay } from './time-o_AW-82H.mjs';
4
+ import { l as logger } from './logger-4c2kQKdA.mjs';
5
+ import { d as delay } from './time-CCZ-nP8H.mjs';
6
6
  import { c as contentLogMetadata, e as errorLogMetadata } from './contentLogMetadata-BlWI0egu.mjs';
7
7
  import { r as readableStderrTail, a as appendStderrRing, s as stopProcessGracefully, k as killProcessTree } from './processTree-CP5IvQ2Z.mjs';
8
- import { p as packageJson } from './package-Cp8RjVmm.mjs';
8
+ import { p as packageJson } from './package-DVsmL69e.mjs';
9
9
 
10
10
  function acpImageBlocks(attachments, supportsImages) {
11
11
  return attachments.filter((file) => ["image/jpeg", "image/png", "image/gif", "image/webp"].includes(file.mimeType)).map((file) => {
@@ -3,11 +3,11 @@
3
3
  var node_child_process = require('node:child_process');
4
4
  var sdk = require('@agentclientprotocol/sdk');
5
5
  var node_crypto = require('node:crypto');
6
- var logger = require('./logger-HxTu5uFs.cjs');
7
- var time = require('./time-i8fiLSHv.cjs');
6
+ var logger = require('./logger-BgiIn8N6.cjs');
7
+ var time = require('./time-CKVbeZ-a.cjs');
8
8
  var contentLogMetadata = require('./contentLogMetadata-ZSFk_NjQ.cjs');
9
9
  var processTree = require('./processTree-CMHWlVse.cjs');
10
- var _package = require('./package-ChmhpzsE.cjs');
10
+ var _package = require('./package-B-rucZuX.cjs');
11
11
 
12
12
  function acpImageBlocks(attachments, supportsImages) {
13
13
  return attachments.filter((file) => ["image/jpeg", "image/png", "image/gif", "image/webp"].includes(file.mimeType)).map((file) => {
@@ -1,6 +1,6 @@
1
1
  import { createId } from '@paralleldrive/cuid2';
2
2
  import { s as streamKeyOf, t as createEnvelope } from './index-DWk-WTU-.mjs';
3
- import { t as textResultPayload, b as toolResultPayload } from './api-D7EAwOT2.mjs';
3
+ import { t as textResultPayload, b as toolResultPayload } from './api-CkLdf3Hw.mjs';
4
4
 
5
5
  function turnOptions(turnId, time) {
6
6
  return turnId ? { turn: turnId, time } : { time };
@@ -2,7 +2,7 @@
2
2
 
3
3
  var cuid2 = require('@paralleldrive/cuid2');
4
4
  var index = require('./index-BYL_X3gP.cjs');
5
- var api = require('./api-eXuwG3LS.cjs');
5
+ var api = require('./api-Ey908pwP.cjs');
6
6
 
7
7
  function turnOptions(turnId, time) {
8
8
  return turnId ? { turn: turnId, time } : { time };
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
 
3
- var logger = require('./logger-HxTu5uFs.cjs');
3
+ var logger = require('./logger-BgiIn8N6.cjs');
4
4
 
5
5
  class BasePermissionHandler {
6
6
  pendingRequests = /* @__PURE__ */ new Map();
@@ -1,4 +1,4 @@
1
- import { l as logger } from './logger-8f-WNgus.mjs';
1
+ import { l as logger } from './logger-4c2kQKdA.mjs';
2
2
 
3
3
  class BasePermissionHandler {
4
4
  pendingRequests = /* @__PURE__ */ new Map();
@@ -1,16 +1,16 @@
1
1
  import chalk from 'chalk';
2
2
  import { createInterface } from 'node:readline/promises';
3
- import { c as configuration } from './configuration-C4w7_yT9.mjs';
4
- import { g as getDaemonAgentProfiles, r as restartDaemonSession, l as listDaemonSessions } from './controlClient-CtBRHlbJ.mjs';
3
+ import { c as configuration } from './configuration-B3wgZX4R.mjs';
4
+ import { g as getDaemonAgentProfiles, r as restartDaemonSession, l as listDaemonSessions } from './controlClient--DAPnEd4.mjs';
5
5
  import { A as AccountService, b as bindResultMessages, a as AccountError, l as localRestartFailure } from './accountService-CqrWNH8K.mjs';
6
6
  import 'node:fs';
7
7
  import 'node:os';
8
8
  import 'node:path';
9
- import './package-Cp8RjVmm.mjs';
9
+ import './package-DVsmL69e.mjs';
10
10
  import 'node:fs/promises';
11
- import './logger-8f-WNgus.mjs';
11
+ import './logger-4c2kQKdA.mjs';
12
12
  import 'node:util';
13
- import './persistence-D1E7jiV4.mjs';
13
+ import './persistence-D8JwMaku.mjs';
14
14
  import 'zod';
15
15
  import './authRelay-DhQhkBvX.mjs';
16
16
  import 'node:crypto';
@@ -2,17 +2,17 @@
2
2
 
3
3
  var chalk = require('chalk');
4
4
  var promises = require('node:readline/promises');
5
- var configuration = require('./configuration-B-smHMf7.cjs');
6
- var controlClient = require('./controlClient-Dlm7wz-k.cjs');
5
+ var configuration = require('./configuration-swJoFD0a.cjs');
6
+ var controlClient = require('./controlClient-DhrKwFJt.cjs');
7
7
  var accountService = require('./accountService-SOeB_21A.cjs');
8
8
  require('node:fs');
9
9
  require('node:os');
10
10
  require('node:path');
11
- require('./package-ChmhpzsE.cjs');
11
+ require('./package-B-rucZuX.cjs');
12
12
  require('node:fs/promises');
13
- require('./logger-HxTu5uFs.cjs');
13
+ require('./logger-BgiIn8N6.cjs');
14
14
  require('node:util');
15
- require('./persistence-DxboRqwb.cjs');
15
+ require('./persistence-C_NJ8wVb.cjs');
16
16
  require('zod');
17
17
  require('./authRelay-Dy1qU9td.cjs');
18
18
  require('node:crypto');
@@ -2,7 +2,7 @@
2
2
 
3
3
  var node_fs = require('node:fs');
4
4
  var path = require('node:path');
5
- var configuration = require('./configuration-B-smHMf7.cjs');
5
+ var configuration = require('./configuration-swJoFD0a.cjs');
6
6
 
7
7
  const SESSION_MODE_DIR = "session-modes";
8
8
  const ACP_PERMISSION_MODES = ["default", "acceptEdits", "plan", "bypassPermissions"];
@@ -1,6 +1,6 @@
1
1
  import { mkdirSync, renameSync, existsSync, unlinkSync } from 'node:fs';
2
2
  import { join } from 'node:path';
3
- import { w as writePrivateFileSync, c as configuration } from './configuration-C4w7_yT9.mjs';
3
+ import { w as writePrivateFileSync, c as configuration } from './configuration-B3wgZX4R.mjs';
4
4
 
5
5
  const SESSION_MODE_DIR = "session-modes";
6
6
  const ACP_PERMISSION_MODES = ["default", "acceptEdits", "plan", "bypassPermissions"];
@@ -2,14 +2,14 @@
2
2
 
3
3
  var chalk = require('chalk');
4
4
  var os = require('node:os');
5
- var persistence = require('./persistence-DxboRqwb.cjs');
5
+ var persistence = require('./persistence-C_NJ8wVb.cjs');
6
6
  require('node:fs');
7
- require('./logger-HxTu5uFs.cjs');
7
+ require('./logger-BgiIn8N6.cjs');
8
8
  var loginShellEnv = require('./loginShellEnv-BkuYtExZ.cjs');
9
9
  require('node:fs/promises');
10
- require('./configuration-B-smHMf7.cjs');
10
+ require('./configuration-swJoFD0a.cjs');
11
11
  require('node:path');
12
- require('./package-ChmhpzsE.cjs');
12
+ require('./package-B-rucZuX.cjs');
13
13
  require('zod');
14
14
  require('./authRelay-Dy1qU9td.cjs');
15
15
  require('node:crypto');
@@ -1,13 +1,13 @@
1
1
  import chalk from 'chalk';
2
2
  import { homedir } from 'node:os';
3
- import { r as readSettings, u as updateSettings } from './persistence-D1E7jiV4.mjs';
3
+ import { r as readSettings, u as updateSettings } from './persistence-D8JwMaku.mjs';
4
4
  import 'node:fs';
5
- import './logger-8f-WNgus.mjs';
5
+ import './logger-4c2kQKdA.mjs';
6
6
  import { d as describeAgentHome, p as probeLoginShellEnv, r as resolveAgentHomes, e as expandHomePath, A as AGENT_HOME_ENV_NAMES } from './loginShellEnv-Dw8M7tkI.mjs';
7
7
  import 'node:fs/promises';
8
- import './configuration-C4w7_yT9.mjs';
8
+ import './configuration-B3wgZX4R.mjs';
9
9
  import 'node:path';
10
- import './package-Cp8RjVmm.mjs';
10
+ import './package-DVsmL69e.mjs';
11
11
  import 'zod';
12
12
  import './authRelay-DhQhkBvX.mjs';
13
13
  import 'node:crypto';
@@ -1,20 +1,20 @@
1
1
  import axios from 'axios';
2
- import { l as logger, a as redactLogValue } from './logger-8f-WNgus.mjs';
3
- import { A as AsyncLock, S as SESSION_SUPERSEDED_ERROR, a as agentInstanceAuth, b as MAX_CHAT_ATTACHMENT_ENCRYPTED_BYTES, U as UserMessageSchema, F as FileEventMessageSchema, P as PushNotificationClient } from './pushNotifications-WgO2p0eT.mjs';
4
- import { R as RpcHandlerManager, a as answerSocketRequest, c as connectGuarded, s as socketConnectGuard, d as describeSocketAckDrop, b as safeAck, i as isRateQuotaCode, p as pauseForRateQuota, e as shouldReconnect, f as createReconnectGate } from './reconnectGate-B9iXSyiI.mjs';
2
+ import { l as logger, a as redactLogValue } from './logger-4c2kQKdA.mjs';
3
+ import { A as AsyncLock, S as SESSION_SUPERSEDED_ERROR, a as agentInstanceAuth, b as MAX_CHAT_ATTACHMENT_ENCRYPTED_BYTES, U as UserMessageSchema, F as FileEventMessageSchema, P as PushNotificationClient } from './pushNotifications-BnYZ4jrt.mjs';
4
+ import { R as RpcHandlerManager, a as answerSocketRequest, c as connectGuarded, s as socketConnectGuard, d as describeSocketAckDrop, b as safeAck, i as isRateQuotaCode, p as pauseForRateQuota, e as shouldReconnect, f as createReconnectGate } from './reconnectGate-BqogaLTK.mjs';
5
5
  import { EventEmitter } from 'node:events';
6
6
  import { io } from 'socket.io-client';
7
7
  import { h as decrypt, d as decodeBase64, i as decryptBlob, e as encodeBase64, g as encrypt, l as libsodiumEncryptForPublicKey, j as libsodiumPublicKeyFromSecretKey, k as getRandomBytes } from './authRelay-DhQhkBvX.mjs';
8
8
  import { p as prepareClipboardText, d as prepareClipboardHistoryText } from './limits-DIo7rEBR.mjs';
9
- import { b as backoff, d as delay, e as exponentialBackoffDelay } from './time-o_AW-82H.mjs';
10
- import { c as configuration } from './configuration-C4w7_yT9.mjs';
9
+ import { b as backoff, d as delay, e as exponentialBackoffDelay } from './time-CCZ-nP8H.mjs';
10
+ import { c as configuration } from './configuration-B3wgZX4R.mjs';
11
11
  import { createHmac, randomUUID } from 'node:crypto';
12
12
  import { t as createEnvelope, s as streamKeyOf, ag as ReleaseDrainNoticeSchema, ah as RelayAssignmentResponseSchema } from './index-DWk-WTU-.mjs';
13
- import { r as registerCommonHandlers } from './registerCommonHandlers-YbBzC20u.mjs';
13
+ import { r as registerCommonHandlers } from './registerCommonHandlers-BDEwSik-.mjs';
14
14
  import { createId } from '@paralleldrive/cuid2';
15
- import { I as InvalidateSync } from './sync-DzKT0Ova.mjs';
15
+ import { I as InvalidateSync } from './sync-DxZNc7C_.mjs';
16
16
  import { B as BackgroundTaskReporter } from './backgroundTaskActivity-8PdPxrvy.mjs';
17
- import { t as notifyDaemonTurnEvent, u as notifyDaemonBackgroundTasks } from './controlClient-CtBRHlbJ.mjs';
17
+ import { t as notifyDaemonTurnEvent, u as notifyDaemonBackgroundTasks } from './controlClient--DAPnEd4.mjs';
18
18
  import chalk from 'chalk';
19
19
 
20
20
  async function hmac_sha512(key, data) {
@@ -51,8 +51,10 @@ async function deriveKey(master, usage, path) {
51
51
 
52
52
  const PRICING = {
53
53
  // --- Claude Fable / Mythos (same tier, same price) ---
54
+ "claude-fable-5-2": { input: 8, output: 40, cache_write: 10, cache_read: 0.2 },
54
55
  "claude-fable-5-1": { input: 10, output: 50, cache_write: 12.5, cache_read: 0.25 },
55
56
  "claude-fable-5": { input: 10, output: 50, cache_write: 12.5, cache_read: 1 },
57
+ "claude-mythos-5-2": { input: 8, output: 40, cache_write: 10, cache_read: 0.2 },
56
58
  "claude-mythos-5-1": { input: 10, output: 50, cache_write: 12.5, cache_read: 0.25 },
57
59
  "claude-mythos-5": { input: 10, output: 50, cache_write: 12.5, cache_read: 1 },
58
60
  // --- Claude 5 ---
@@ -81,9 +83,10 @@ const PRICING = {
81
83
  };
82
84
  const DEFAULT_MODEL = "claude-opus-5-5";
83
85
  const FAMILY_DEFAULTS = {
84
- fable: "claude-fable-5-1",
86
+ // The bundled Claude Code (2.1.322) resolves the `fable` alias to Fable 5.2.
87
+ fable: "claude-fable-5-2",
85
88
  // Project Glasswing counterpart of Fable: same tier, same published rates.
86
- mythos: "claude-mythos-5-1",
89
+ mythos: "claude-mythos-5-2",
87
90
  opus: "claude-opus-5-5",
88
91
  sonnet: "claude-sonnet-5",
89
92
  haiku: "claude-haiku-4-5"
@@ -3203,7 +3206,7 @@ class ApiClient {
3203
3206
  return new ApiSessionClient(this.credential.token, session, opts);
3204
3207
  }
3205
3208
  async machineSyncClient(machine) {
3206
- const { ApiMachineClient } = await import('./apiMachine-B5c9zCjB.mjs');
3209
+ const { ApiMachineClient } = await import('./apiMachine-Bmz_70G5.mjs');
3207
3210
  return new ApiMachineClient(this.credential.token, machine);
3208
3211
  }
3209
3212
  push() {
@@ -1,22 +1,22 @@
1
1
  'use strict';
2
2
 
3
3
  var axios = require('axios');
4
- var logger = require('./logger-HxTu5uFs.cjs');
5
- var pushNotifications = require('./pushNotifications-EJWZAYed.cjs');
6
- var reconnectGate = require('./reconnectGate-DY97bPDg.cjs');
4
+ var logger = require('./logger-BgiIn8N6.cjs');
5
+ var pushNotifications = require('./pushNotifications-D4vbuMHx.cjs');
6
+ var reconnectGate = require('./reconnectGate-DjRjnZe-.cjs');
7
7
  var node_events = require('node:events');
8
8
  var socket_ioClient = require('socket.io-client');
9
9
  var authRelay = require('./authRelay-Dy1qU9td.cjs');
10
10
  var limits = require('./limits-C-a7gr04.cjs');
11
- var time = require('./time-i8fiLSHv.cjs');
12
- var configuration = require('./configuration-B-smHMf7.cjs');
11
+ var time = require('./time-CKVbeZ-a.cjs');
12
+ var configuration = require('./configuration-swJoFD0a.cjs');
13
13
  var node_crypto = require('node:crypto');
14
14
  var index = require('./index-BYL_X3gP.cjs');
15
- var registerCommonHandlers = require('./registerCommonHandlers-YsrcwRo3.cjs');
15
+ var registerCommonHandlers = require('./registerCommonHandlers-BsRmCAOS.cjs');
16
16
  var cuid2 = require('@paralleldrive/cuid2');
17
- var sync = require('./sync-DS_emV3g.cjs');
17
+ var sync = require('./sync-DjVi4LBV.cjs');
18
18
  var backgroundTaskActivity = require('./backgroundTaskActivity-CBvUdj39.cjs');
19
- var controlClient = require('./controlClient-Dlm7wz-k.cjs');
19
+ var controlClient = require('./controlClient-DhrKwFJt.cjs');
20
20
  var chalk = require('chalk');
21
21
 
22
22
  async function hmac_sha512(key, data) {
@@ -53,8 +53,10 @@ async function deriveKey(master, usage, path) {
53
53
 
54
54
  const PRICING = {
55
55
  // --- Claude Fable / Mythos (same tier, same price) ---
56
+ "claude-fable-5-2": { input: 8, output: 40, cache_write: 10, cache_read: 0.2 },
56
57
  "claude-fable-5-1": { input: 10, output: 50, cache_write: 12.5, cache_read: 0.25 },
57
58
  "claude-fable-5": { input: 10, output: 50, cache_write: 12.5, cache_read: 1 },
59
+ "claude-mythos-5-2": { input: 8, output: 40, cache_write: 10, cache_read: 0.2 },
58
60
  "claude-mythos-5-1": { input: 10, output: 50, cache_write: 12.5, cache_read: 0.25 },
59
61
  "claude-mythos-5": { input: 10, output: 50, cache_write: 12.5, cache_read: 1 },
60
62
  // --- Claude 5 ---
@@ -83,9 +85,10 @@ const PRICING = {
83
85
  };
84
86
  const DEFAULT_MODEL = "claude-opus-5-5";
85
87
  const FAMILY_DEFAULTS = {
86
- fable: "claude-fable-5-1",
88
+ // The bundled Claude Code (2.1.322) resolves the `fable` alias to Fable 5.2.
89
+ fable: "claude-fable-5-2",
87
90
  // Project Glasswing counterpart of Fable: same tier, same published rates.
88
- mythos: "claude-mythos-5-1",
91
+ mythos: "claude-mythos-5-2",
89
92
  opus: "claude-opus-5-5",
90
93
  sonnet: "claude-sonnet-5",
91
94
  haiku: "claude-haiku-4-5"
@@ -3205,7 +3208,7 @@ class ApiClient {
3205
3208
  return new ApiSessionClient(this.credential.token, session, opts);
3206
3209
  }
3207
3210
  async machineSyncClient(machine) {
3208
- const { ApiMachineClient } = await Promise.resolve().then(function () { return require('./apiMachine-B8ZxgTx1.cjs'); });
3211
+ const { ApiMachineClient } = await Promise.resolve().then(function () { return require('./apiMachine-Cf58HfKd.cjs'); });
3209
3212
  return new ApiMachineClient(this.credential.token, machine);
3210
3213
  }
3211
3214
  push() {
@@ -1,45 +1,48 @@
1
+ import { createReadStream, readdirSync, unlinkSync, existsSync, mkdirSync, writeFileSync, readFileSync, statSync, chmodSync, renameSync, rmSync, accessSync, constants } from 'node:fs';
2
+ import { readdir, stat, lstat, open, readFile, rm, mkdir, chmod, writeFile, rename } from 'node:fs/promises';
3
+ import os, { homedir } from 'node:os';
4
+ import { join, isAbsolute, resolve } from 'node:path';
5
+ import { createInterface } from 'node:readline';
6
+ import { C as CHANGE_TITLE_INSTRUCTION } from './constants-BC4St0xd.mjs';
1
7
  import { io } from 'socket.io-client';
2
8
  import { a as webPanelsSignature } from './webPanels-B2_C2-3g.mjs';
3
- import { l as logger } from './logger-8f-WNgus.mjs';
4
- import { R as RpcHandlerManager, i as isRateQuotaCode, p as pauseForRateQuota, s as socketConnectGuard, c as connectGuarded, a as answerSocketRequest, e as shouldReconnect, f as createReconnectGate, d as describeSocketAckDrop } from './reconnectGate-B9iXSyiI.mjs';
5
- import { i as isClaudeSessionId, s as stableVersion, a as sanitizeTagList, p as projectField, b as pickMirrorForTerminal, l as liveSnapshotChanged, c as sanitizeLiveSnapshot, d as serializeLiveSnapshot, r as registerWorktreeHandlers, e as configureWorktreeService, f as summarizeSpawnSessionForLog, g as parseMirrorSendParams } from './mirrorProtocol-kXv1EaAI.mjs';
6
- import { c as configuration } from './configuration-C4w7_yT9.mjs';
9
+ import { l as logger } from './logger-4c2kQKdA.mjs';
10
+ import { R as RpcHandlerManager, i as isRateQuotaCode, p as pauseForRateQuota, s as socketConnectGuard, c as connectGuarded, a as answerSocketRequest, e as shouldReconnect, f as createReconnectGate, d as describeSocketAckDrop } from './reconnectGate-BqogaLTK.mjs';
11
+ import { i as isClaudeSessionId, s as stableVersion, a as sanitizeTagList, p as projectField, b as pickMirrorForTerminal, l as liveSnapshotChanged, c as sanitizeLiveSnapshot, d as serializeLiveSnapshot, r as registerWorktreeHandlers, e as configureWorktreeService, f as summarizeSpawnSessionForLog, g as parseMirrorSendParams } from './mirrorProtocol-DWG3tXpD.mjs';
12
+ import { c as configuration } from './configuration-B3wgZX4R.mjs';
7
13
  import { w as withCurrentCliUpdateState } from './cliUpdate-Y34VGe9Y.mjs';
8
- import { r as registerCommonHandlers } from './registerCommonHandlers-YbBzC20u.mjs';
9
- import { stat, readdir, lstat, open, readFile, rm, mkdir, chmod, writeFile, rename } from 'node:fs/promises';
10
- import { join, isAbsolute, resolve } from 'node:path';
11
- import os, { homedir } from 'node:os';
14
+ import { r as registerCommonHandlers } from './registerCommonHandlers-BDEwSik-.mjs';
12
15
  import { f as fsMkdir } from './fsMkdir-DumgLTzR.mjs';
13
16
  import { spawn, execFile, spawnSync } from 'node:child_process';
14
- import { r as readSettings, c as readPersistedSessions, p as readTrackedClaudeSessionIds, q as readTrackedCodexThreadIds } from './persistence-D1E7jiV4.mjs';
17
+ import { r as readSettings, c as readPersistedSessions, p as readTrackedClaudeSessionIds, q as readTrackedCodexThreadIds } from './persistence-D8JwMaku.mjs';
15
18
  import { M as ModelConfigError } from './fileStore-5qpetZS0.mjs';
16
19
  import { am as AGENT_PROFILE_RPC, an as RelayCandidatesResponseSchema, ah as RelayAssignmentResponseSchema, ag as ReleaseDrainNoticeSchema } from './index-DWk-WTU-.mjs';
17
20
  import { a as AccountError } from './accountService-CqrWNH8K.mjs';
18
21
  import { e as encodeBase64, g as encrypt, h as decrypt, d as decodeBase64 } from './authRelay-DhQhkBvX.mjs';
19
22
  import { p as prepareClipboardText, d as prepareClipboardHistoryText } from './limits-DIo7rEBR.mjs';
20
- import { b as backoff, d as delay } from './time-o_AW-82H.mjs';
23
+ import { b as backoff, d as delay } from './time-CCZ-nP8H.mjs';
21
24
  import * as pty from 'node-pty';
22
25
  import { a as attachStartupCommand, v as validateTerminalTags, d as deriveAutoTitle, T as TMUX_SESSION_ID_RE, i as isSafeTmuxSessionName, b as isVhSessionName, U as USER_SESSIONS_FORMAT, p as parseUserSessions, L as LIST_SESSIONS_FORMAT, c as parseSessionListLine, e as LIST_FIELD_SEP, s as sendToVhTerminal } from './terminals-Dc38XmZv.mjs';
23
26
  import { t as tmuxArgs, V as VH_TMUX_SOCKET_ENV, v as validateTerminalProjectId, a as scrubTmuxClientEnv } from './tmuxSocket-BmZyixRM.mjs';
24
- import { locateClaudeConversation, refreshAgentHomes } from './index-DE5JMca_.mjs';
27
+ import { locateClaudeConversation, refreshAgentHomes } from './index-BH0fVzRF.mjs';
25
28
  import { randomBytes } from 'node:crypto';
26
- import { readdirSync, unlinkSync, existsSync, mkdirSync, writeFileSync, readFileSync, statSync, chmodSync, renameSync, rmSync, accessSync, constants } from 'node:fs';
27
29
  import axios from 'axios';
28
30
  import { p as projectPath } from './projectPath-BTBIMB57.mjs';
29
31
  import { a as isValidTerminalId } from './ids-DU6sLx4C.mjs';
30
32
  import { d as detectCLIAvailability } from './detectCLI-CSGMlV51.mjs';
31
- import { d as detectResumeSupport } from './localHappyAgentAuth-Bc3bo0fI.mjs';
33
+ import { d as detectResumeSupport } from './localHappyAgentAuth-pQ1tydmz.mjs';
32
34
  import { g as getProjectPath, a as getClaudeProjectsRoot } from './path-D2wdaNSk.mjs';
33
35
  import { i as isVeryHappyOneShotPrompt } from './oneShotPrompts-DT4p6RNd.mjs';
34
- import { f as forkSession, F as ForkSourceMissingError, d as discardForkedSession, l as listClaudeRewindPoints, b as forkAndTruncateSession, c as ForkTruncateUuidNotFoundError, e as forkBeforeUserMessage, a as forkCompletedTurns } from './claudeSessionFork-ghL7gnlU.mjs';
35
- import { C as CodexAppServerClient } from './codexAppServerClient-CBVlr7hu.mjs';
36
+ import { f as forkSession, F as ForkSourceMissingError, d as discardForkedSession, l as listClaudeRewindPoints, b as forkAndTruncateSession, c as ForkTruncateUuidNotFoundError, e as forkBeforeUserMessage, a as forkCompletedTurns } from './claudeSessionFork-CQmkyPrl.mjs';
37
+ import { C as CodexAppServerClient } from './codexAppServerClient-Mc5onT8f.mjs';
36
38
  import { f as forkCodexThread, C as CodexForkRewindPointNotFoundError, l as listCodexRewindPoints, b as forkCodexBeforeUserMessage, a as forkCodexCompletedTurns } from './codexThreadFork-CVzAqELg.mjs';
37
- import { p as planRateLimitWrite, m as mergeRateLimitReports } from './rateLimitWindows-BRImToc6.mjs';
39
+ import { p as planRateLimitWrite, m as mergeRateLimitReports } from './rateLimitWindows-Xbu2cD8b.mjs';
40
+ import './trimIdent-BAjmv_TG.mjs';
38
41
  import 'chalk';
39
42
  import 'node:util';
40
43
  import 'os';
41
44
  import 'child_process';
42
- import './package-Cp8RjVmm.mjs';
45
+ import './package-DVsmL69e.mjs';
43
46
  import 'util';
44
47
  import 'fs/promises';
45
48
  import 'crypto';
@@ -50,17 +53,101 @@ import '@paralleldrive/cuid2';
50
53
  import './claudeAccountEnv-C6Wl-ZbT.mjs';
51
54
  import './store-Fge1h9wy.mjs';
52
55
  import './codexAccount-BPQ-lPhH.mjs';
53
- import 'node:readline';
54
56
  import 'tweetnacl';
55
57
  import './terminalTitleSuggest-CeKsX_V6.mjs';
56
58
  import './loginShellEnv-Dw8M7tkI.mjs';
57
59
  import 'url';
58
60
  import 'fs';
59
61
  import './contentLogMetadata-BlWI0egu.mjs';
60
- import './manager-BEsI4qt3.mjs';
62
+ import './manager-2Il8XJVq.mjs';
61
63
  import '@anthropic-ai/sandbox-runtime';
62
64
  import './processTree-CP5IvQ2Z.mjs';
63
65
 
66
+ const HANDOFF_RECENT_MESSAGES = 12;
67
+ const HANDOFF_SUMMARY_CHARS = 12e3;
68
+ const HANDOFF_MESSAGE_CHARS = 1500;
69
+ const THREAD_ID = /^[0-9A-Za-z-]{8,64}$/;
70
+ const SUMMARY_PREAMBLE_END = "use the information in this summary to assist with your own analysis:";
71
+ const HEAD = 240;
72
+ function clip$1(text, max) {
73
+ return text.length > max ? `${text.slice(0, max)}\u2026` : text;
74
+ }
75
+ function isInjectedContext(text) {
76
+ return text.startsWith("<") || text.startsWith("# AGENTS.md");
77
+ }
78
+ function messageText(content, role) {
79
+ if (!Array.isArray(content)) return "";
80
+ const parts = content.flatMap((part) => (part?.type === "input_text" || part?.type === "output_text") && typeof part.text === "string" ? [part.text] : []);
81
+ let text = parts.filter((part) => role !== "user" || !isInjectedContext(part.trim())).join("\n").trim();
82
+ if (role === "user") {
83
+ const cut = text.indexOf(CHANGE_TITLE_INSTRUCTION);
84
+ if (cut >= 0) text = text.slice(0, cut).trim();
85
+ }
86
+ return text;
87
+ }
88
+ function foldRolloutLine(state, line) {
89
+ const head = line.slice(0, HEAD);
90
+ const compacted = head.includes('"type":"compacted"');
91
+ const message = head.includes('"type":"response_item"') && head.includes('"payload":{"type":"message"');
92
+ if (!compacted && !message) return;
93
+ let entry;
94
+ try {
95
+ entry = JSON.parse(line);
96
+ } catch {
97
+ return;
98
+ }
99
+ const payload = entry.payload ?? {};
100
+ if (compacted) {
101
+ if (typeof payload.message === "string" && payload.message.trim()) {
102
+ const summary = payload.message.trim();
103
+ const preamble = summary.indexOf(SUMMARY_PREAMBLE_END);
104
+ const body = preamble >= 0 ? summary.slice(preamble + SUMMARY_PREAMBLE_END.length).trim() : summary;
105
+ state.summary = clip$1(body, HANDOFF_SUMMARY_CHARS);
106
+ state.recent = state.recent.filter((m) => !body.startsWith(m.text.replace(/…$/, "")));
107
+ }
108
+ return;
109
+ }
110
+ if (payload.role !== "user" && payload.role !== "assistant") return;
111
+ const text = messageText(payload.content, payload.role);
112
+ if (!text || payload.role === "assistant" && state.summary?.startsWith(text)) return;
113
+ state.recent.push({ role: payload.role, text: clip$1(text, HANDOFF_MESSAGE_CHARS) });
114
+ if (state.recent.length > HANDOFF_RECENT_MESSAGES) state.recent.shift();
115
+ }
116
+ async function readCodexHandoff(rolloutPath) {
117
+ const state = { summary: null, recent: [] };
118
+ const lines = createInterface({ input: createReadStream(rolloutPath), crlfDelay: Infinity });
119
+ for await (const line of lines) foldRolloutLine(state, line);
120
+ return state;
121
+ }
122
+ async function findCodexRollout(threadId, codexHome = process.env.CODEX_HOME || join(homedir(), ".codex")) {
123
+ if (!THREAD_ID.test(threadId)) return null;
124
+ const suffix = `-${threadId}.jsonl`;
125
+ const walk = async (dir, depth) => {
126
+ let names;
127
+ try {
128
+ names = await readdir(dir);
129
+ } catch {
130
+ return null;
131
+ }
132
+ const hit = names.find((name) => name.startsWith("rollout-") && name.endsWith(suffix));
133
+ if (hit) return join(dir, hit);
134
+ if (depth === 0) return null;
135
+ for (const name of names.sort().reverse()) {
136
+ if (name.endsWith(".jsonl")) continue;
137
+ const path = join(dir, name);
138
+ try {
139
+ if (!(await stat(path)).isDirectory()) continue;
140
+ } catch {
141
+ continue;
142
+ }
143
+ const found = await walk(path, depth - 1);
144
+ if (found) return found;
145
+ }
146
+ return null;
147
+ };
148
+ return await walk(join(codexHome, "sessions"), 3) ?? await walk(join(codexHome, "archived_sessions"), 3);
149
+ }
150
+
64
151
  const FS_LIST_MAX_ENTRIES = 2e3;
65
152
  const FS_READ_MAX_BYTES = 512 * 1024;
66
153
  const BINARY_SNIFF_BYTES = 8192;
@@ -11353,6 +11440,12 @@ class ApiMachineClient {
11353
11440
  }));
11354
11441
  return result;
11355
11442
  });
11443
+ this.rpcHandlerManager.registerHandler("codex-handoff-context", async (params) => {
11444
+ const codexThreadId = requireNonEmptyString(params?.codexThreadId, "codexThreadId");
11445
+ const rollout = await findCodexRollout(codexThreadId);
11446
+ if (!rollout) return { type: "error", error: "The Codex transcript of this thread was not found on this machine" };
11447
+ return { type: "success", ...await readCodexHandoff(rollout) };
11448
+ });
11356
11449
  this.rpcHandlerManager.registerHandler("codex-list-rewind-points", async (params) => {
11357
11450
  const codexThreadId = requireNonEmptyString(params?.codexThreadId, "codexThreadId");
11358
11451
  return withCodexAppServerClient(async (client) => {