very-happy-cli 0.2.188 → 0.2.190

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-2loP7MpF.mjs → AcpBackend-Dd1h-Rgt.mjs} +3 -3
  2. package/dist/{AcpBackend-B8AYkp5n.cjs → AcpBackend-dkRv9QHm.cjs} +3 -3
  3. package/dist/{AcpSessionManager-CLqo9R9Y.cjs → AcpSessionManager-AqWAqahm.cjs} +3 -3
  4. package/dist/{AcpSessionManager-C17doAoR.mjs → AcpSessionManager-QBZ-CIf7.mjs} +4 -4
  5. package/dist/{BasePermissionHandler-CrfyUmqO.mjs → BasePermissionHandler-CLp1ge-4.mjs} +1 -1
  6. package/dist/{BasePermissionHandler-C8UEcFz0.cjs → BasePermissionHandler-CpSugp7Z.cjs} +1 -1
  7. package/dist/{acpSessionResume-OuYlLGxL.cjs → acpSessionResume-CZao6QEd.cjs} +1 -1
  8. package/dist/{acpSessionResume-F705a1cF.mjs → acpSessionResume-CcpDuIO5.mjs} +1 -1
  9. package/dist/{agentHome-Dc7LYF3d.mjs → agentHome-BJGRA2Kx.mjs} +4 -4
  10. package/dist/{agentHome-DsKHJ_Sf.cjs → agentHome-fIUqT-pn.cjs} +4 -4
  11. package/dist/{api-BOqjYd5r.cjs → api-CXL6jp-p.cjs} +18 -9
  12. package/dist/{api-DNKa7kVy.mjs → api-Dw8gFsQi.mjs} +19 -10
  13. package/dist/{apiMachine-Di1G9ECW.mjs → apiMachine-BBNEtjf7.mjs} +56 -15
  14. package/dist/{apiMachine--rcPpMmt.cjs → apiMachine-C6UqHoPF.cjs} +55 -14
  15. package/dist/{attachmentContent-C9S4ekAz.mjs → attachmentContent-CC4yIrSm.mjs} +2 -2
  16. package/dist/{attachmentContent-BFRMLong.cjs → attachmentContent-NmVfKp-B.cjs} +2 -2
  17. package/dist/{auth-CXmI92aj.cjs → auth-Bb_SL2os.cjs} +5 -5
  18. package/dist/{auth-Bzwo_vOM.mjs → auth-Bh6SUoGi.mjs} +8 -8
  19. package/dist/{auth-BNhhk2Fr.mjs → auth-Bj0psrD2.mjs} +5 -5
  20. package/dist/{auth-CQtfznF0.cjs → auth-DKa4MsAi.cjs} +8 -8
  21. package/dist/{auto-DXLdaX5O.cjs → auto-C9Qohh0P.cjs} +17 -16
  22. package/dist/{auto-DHYOLnXB.mjs → auto-DK7pbCnV.mjs} +19 -18
  23. package/dist/{bootstrap-Di38SnpN.mjs → bootstrap-Ct9Nb4sv.mjs} +2 -2
  24. package/dist/{bootstrap-eJ1l7VYl.cjs → bootstrap-DBJB0y-H.cjs} +2 -2
  25. package/dist/{browser-6Cg7G6bb.mjs → browser-BGxDRhHy.mjs} +1 -1
  26. package/dist/{browser-D3uBFRQu.cjs → browser-CLJWcodR.cjs} +1 -1
  27. package/dist/{claudeLocal-BBaE4QF_.cjs → claudeLocal-B6YDYlnY.cjs} +4 -4
  28. package/dist/{claudeLocal-CqaEs-81.mjs → claudeLocal-Ux31hZyC.mjs} +5 -5
  29. package/dist/{claudeLocalLauncher-BDUPxtsI.mjs → claudeLocalLauncher-D06QijMw.mjs} +10 -10
  30. package/dist/{claudeLocalLauncher-wPxKtH_P.cjs → claudeLocalLauncher-DFvmF8rC.cjs} +9 -9
  31. package/dist/{claudeSessionFork-DzWFzj9m.mjs → claudeSessionFork-D2GI7P59.mjs} +1 -1
  32. package/dist/{claudeSessionFork-CmY25Fl3.cjs → claudeSessionFork-DTLZ2rek.cjs} +1 -1
  33. package/dist/{client-DmY03OZZ.cjs → client-Bffkrs5p.cjs} +2 -2
  34. package/dist/{client-C2HcMqRF.cjs → client-CARZ_lNS.cjs} +3 -3
  35. package/dist/{client-agH03Irm.cjs → client-CMKGrnmT.cjs} +2 -2
  36. package/dist/{client-DWws_aQK.mjs → client-CnGNYidN.mjs} +2 -2
  37. package/dist/{client-qJ0y8fus.mjs → client-CtL0Vtww.mjs} +4 -4
  38. package/dist/{client-DcDE6Ifk.mjs → client-DZkBUoh9.mjs} +2 -2
  39. package/dist/codex/happyMcpStdioBridge.cjs +16 -15
  40. package/dist/codex/happyMcpStdioBridge.mjs +17 -16
  41. package/dist/{codexAppServerClient-DgE99i7X.mjs → codexAppServerClient-CLc5nhLT.mjs} +37 -6
  42. package/dist/{codexAppServerClient-DwzC8LR0.cjs → codexAppServerClient-CpT9F6EM.cjs} +37 -6
  43. package/dist/{codexCommand-1vFEA1KT.cjs → codexCommand-39kH99SJ.cjs} +148 -61
  44. package/dist/{codexCommand-DUSVzbKh.mjs → codexCommand-Dliq3EBv.mjs} +143 -56
  45. package/dist/{codexTermination-DuDPyBRR.cjs → codexTermination-ByW7tRjr.cjs} +1 -1
  46. package/dist/{codexTermination-Bybovr2z.mjs → codexTermination-ORIw0gpU.mjs} +1 -1
  47. package/dist/{codexThreadFork-DNekT4nQ.cjs → codexThreadFork-5kwoKjMu.cjs} +11 -17
  48. package/dist/{codexThreadFork-R76RU5H0.mjs → codexThreadFork-DobPd19R.mjs} +11 -17
  49. package/dist/{config-C4xOL5bH.cjs → config-CeIzCsfj.cjs} +3 -3
  50. package/dist/{config-BrzZ0O-6.mjs → config-CxSsGO1Z.mjs} +3 -3
  51. package/dist/{configuration-BZHpFD7K.mjs → configuration-Dechcvd-.mjs} +1 -1
  52. package/dist/{configuration-DyPW9mVa.cjs → configuration-Dt5lKW3P.cjs} +1 -1
  53. package/dist/{connect-DurKwMEo.cjs → connect-NPDzIVC6.cjs} +12 -12
  54. package/dist/{connect-Cw_INlj8.mjs → connect-UwQHvCpR.mjs} +13 -13
  55. package/dist/{context-2xDvjkQp.cjs → context-BdZssgF0.cjs} +1 -1
  56. package/dist/{context-t7YV0aZc.mjs → context-C9JbJoNe.mjs} +1 -1
  57. package/dist/{controlClient-DvFaPsg6.cjs → controlClient-BRk65BRO.cjs} +3 -3
  58. package/dist/{controlClient-Bw56NIrj.mjs → controlClient-D7NGfmtq.mjs} +3 -3
  59. package/dist/{createSessionMetadata-Dpg6bV6f.cjs → createSessionMetadata-B_HZCDj_.cjs} +2 -2
  60. package/dist/{createSessionMetadata-Dn5BkLfU.mjs → createSessionMetadata-DyhFKAby.mjs} +2 -2
  61. package/dist/defaultPermissionMode-BnxJPVHT.mjs +4 -0
  62. package/dist/defaultPermissionMode-CxmTXUQR.cjs +7 -0
  63. package/dist/{deterministicJson-D0BrV1FD.cjs → deterministicJson-BEygolBQ.cjs} +12 -12
  64. package/dist/{deterministicJson-CsRckxVq.mjs → deterministicJson-DNmMVhFu.mjs} +13 -13
  65. package/dist/{doctor-CYe4d9kU.cjs → doctor-B9lW1WlG.cjs} +7 -7
  66. package/dist/{doctor-B4HQiW6j.mjs → doctor-BdBi7TFZ.mjs} +7 -7
  67. package/dist/{downloadTarget-tYMV_VHo.mjs → downloadTarget-CGojGjaN.mjs} +6 -6
  68. package/dist/{downloadTarget-CuhBVvuC.cjs → downloadTarget-DS0zT2AU.cjs} +6 -6
  69. package/dist/{ensureDaemonRunning-DVtIG9z7.mjs → ensureDaemonRunning-BOdbryDM.mjs} +5 -5
  70. package/dist/{ensureDaemonRunning-Ce3BlWiR.cjs → ensureDaemonRunning-Bibp6vhe.cjs} +5 -5
  71. package/dist/exitAfterFlush-AbKNZM0N.mjs +23 -0
  72. package/dist/exitAfterFlush-DIT_sIxR.cjs +25 -0
  73. package/dist/{handleResumeCommand-BU1uMNyv.mjs → handleResumeCommand-CgLzBYne.mjs} +5 -5
  74. package/dist/{handleResumeCommand-CLxsmAW0.cjs → handleResumeCommand-DXOuWr4p.cjs} +5 -5
  75. package/dist/{agentAttachments-Dbw8iMCZ.cjs → heldInput-BOtqFO2r.cjs} +27 -0
  76. package/dist/heldInput-C69lA2dH.mjs +44 -0
  77. package/dist/{index-KwuXqLwe.cjs → index-Bs5FD8JF.cjs} +4 -4
  78. package/dist/{index-ChX0eVXw.mjs → index-CBHfkQNY.mjs} +142 -60
  79. package/dist/{index-DoXbGEAi.cjs → index-CwRW11hT.cjs} +3 -3
  80. package/dist/{index-CVHRt3SS.mjs → index-DUByZsKe.mjs} +4 -4
  81. package/dist/{index-wWJJAQRk.cjs → index-DXSIi6j_.cjs} +4 -4
  82. package/dist/{index-DDz0Ftoy.mjs → index-Db0HIC-k.mjs} +4 -4
  83. package/dist/{index-WKyN-bNy.mjs → index-DmqsRnV7.mjs} +1 -1
  84. package/dist/{index-DG1kGjkF.cjs → index-f8oDidjV.cjs} +142 -60
  85. package/dist/{index-B1OxWiNG.mjs → index-rNTX33in.mjs} +3 -3
  86. package/dist/index.cjs +2 -2
  87. package/dist/index.mjs +2 -2
  88. package/dist/{install-cAYvHxXR.cjs → install-CXIL_FYx.cjs} +3 -3
  89. package/dist/{install-CMa_FOWu.mjs → install-DfPrEWGG.mjs} +3 -3
  90. package/dist/lib.cjs +11 -11
  91. package/dist/lib.d.cts +61 -1
  92. package/dist/lib.d.mts +61 -1
  93. package/dist/lib.mjs +12 -12
  94. package/dist/{lidState-D-lsD1FS.mjs → lidState-D0DF20oG.mjs} +1 -1
  95. package/dist/{lidState-d1vgQ3n7.cjs → lidState-q_XFYg33.cjs} +1 -1
  96. package/dist/{localHappyAgentAuth-wvDp-nGj.mjs → localHappyAgentAuth-BBhM4Qk1.mjs} +1 -1
  97. package/dist/{localHappyAgentAuth-DucSnCg3.cjs → localHappyAgentAuth-CKNW-MXw.cjs} +1 -1
  98. package/dist/{logger-C3vZG6Q0.cjs → logger-BBRTTVsQ.cjs} +2 -2
  99. package/dist/{logger-RpzJ4d8V.mjs → logger-CL7pin9b.mjs} +2 -2
  100. package/dist/{machineMetadata-CiQ2_1Mq.mjs → machineMetadata-DP06qdBk.mjs} +3 -3
  101. package/dist/{machineMetadata-CAvFq1Jg.cjs → machineMetadata-DnFNlrVK.cjs} +3 -3
  102. package/dist/{main-ChpYcFZi.cjs → main-DLOXykOR.cjs} +49 -48
  103. package/dist/{main-IPhaImjm.mjs → main-DO7nRvhf.mjs} +49 -48
  104. package/dist/{mcp-CWnMvju6.mjs → mcp-C-4sPTae.mjs} +16 -15
  105. package/dist/{mcp-2xF232hL.cjs → mcp-Du0MgR7e.cjs} +15 -14
  106. package/dist/{mirrorProtocol-CVzPObON.cjs → mirrorProtocol-GuWMxLkh.cjs} +2 -2
  107. package/dist/{mirrorProtocol-Dr7fNq8V.mjs → mirrorProtocol-dkq2ZENA.mjs} +3 -3
  108. package/dist/{package-CwB8rFJt.mjs → package-C6uiXULx.mjs} +7 -7
  109. package/dist/{package-Gnf_935w.cjs → package-DrY090nZ.cjs} +7 -7
  110. package/dist/{panels-DTlTsndU.cjs → panels-4DRBKHZP.cjs} +5 -5
  111. package/dist/{panels-L1mSkC-y.mjs → panels-DXYdJA6n.mjs} +5 -5
  112. package/dist/{peerTools-C1E5cQ86.cjs → peerTools-5ZM4spcZ.cjs} +5 -5
  113. package/dist/{peerTools-2_8Bw9PU.mjs → peerTools-dY1aJez4.mjs} +5 -5
  114. package/dist/{persistence-CqtjFiD1.cjs → persistence-Bl5S3TLB.cjs} +6 -2
  115. package/dist/{persistence-Bn4qEbDg.mjs → persistence-Dogj7JIp.mjs} +6 -3
  116. package/dist/{piRunnerArgs-BI8yQRBZ.cjs → piRunnerArgs-C3jZ1M6b.cjs} +1 -1
  117. package/dist/{piRunnerArgs-DWBb63W9.mjs → piRunnerArgs-D8nN_Iit.mjs} +1 -1
  118. package/dist/{piRuntime--mQ43MSM.cjs → piRuntime-Bd9-eq6M.cjs} +1 -1
  119. package/dist/{piRuntime-Do8oqbm3.mjs → piRuntime-BoeMsAXK.mjs} +1 -1
  120. package/dist/{piTerminal-BzcvLFsP.cjs → piTerminal-C3j1ca3x.cjs} +17 -16
  121. package/dist/{piTerminal-GC1KHTYQ.mjs → piTerminal-GEPkIGD4.mjs} +18 -17
  122. package/dist/{pushNotifications-Bb-QSqXw.cjs → pushNotifications-CfspRcl-.cjs} +20 -2
  123. package/dist/{pushNotifications-BThg4nVd.mjs → pushNotifications-dUceOIni.mjs} +21 -3
  124. package/dist/{query-Bz3pocKH.cjs → query-DjsVgG3E.cjs} +1 -1
  125. package/dist/{query-CkgIJ_Dy.mjs → query-iYH-tm7L.mjs} +1 -1
  126. package/dist/{rateLimitReporter-BkHyvLru.cjs → rateLimitReporter-DUu2KydZ.cjs} +3 -3
  127. package/dist/{rateLimitReporter-Iw4k3Bbr.mjs → rateLimitReporter-jeVi-fym.mjs} +3 -3
  128. package/dist/{rateLimitWindows-Bm_dcQGW.cjs → rateLimitWindows-Bx3ROBP5.cjs} +1 -1
  129. package/dist/{rateLimitWindows-CQ4tIQnx.mjs → rateLimitWindows-CEn0DXaX.mjs} +1 -1
  130. package/dist/{registerCommonHandlers-CIs6H2DV.cjs → registerCommonHandlers-Beun-cQv.cjs} +2 -2
  131. package/dist/{registerCommonHandlers-CaWl9ll1.mjs → registerCommonHandlers-DWZ7mfdt.mjs} +2 -2
  132. package/dist/{specialCommands-BsvSoDhC.cjs → registerKillSessionHandler-CA1FFr_F.cjs} +15 -62
  133. package/dist/{specialCommands-DHU7TNeK.mjs → registerKillSessionHandler-CzgklwLG.mjs} +17 -60
  134. package/dist/{remoteSessionClient-uPj7omsw.mjs → remoteSessionClient-BiC2KDew.mjs} +5 -5
  135. package/dist/{remoteSessionClient-DgUMfPW4.cjs → remoteSessionClient-DGFI__5Z.cjs} +5 -5
  136. package/dist/{reportProgressTool-DUEq3xAL.mjs → reportProgressTool-CgPy6n_7.mjs} +3 -3
  137. package/dist/{reportProgressTool-CaJ8EwLq.cjs → reportProgressTool-CvPGov1F.cjs} +2 -2
  138. package/dist/{run-DTUJBD6p.mjs → run-B_gFgJVB.mjs} +393 -42
  139. package/dist/{run-DyyGMqND.cjs → run-rPqQwDi_.cjs} +391 -40
  140. package/dist/{runClaude-DTNvIz2J.mjs → runClaude-CykqeXK7.mjs} +26 -23
  141. package/dist/{runClaude-8JDaPoGQ.cjs → runClaude-DM8gm8iu.cjs} +27 -24
  142. package/dist/{runClaudeDeps-CgGkgg7e.mjs → runClaudeDeps-D2phXGut.mjs} +106 -46
  143. package/dist/{runClaudeDeps-BeLo5zss.cjs → runClaudeDeps-DGAomimZ.cjs} +101 -40
  144. package/dist/{runGemini-BSOdU563.cjs → runGemini-CXTeSOZp.cjs} +50 -49
  145. package/dist/{runGemini-eU8UOzfc.mjs → runGemini-CtWCVkj5.mjs} +49 -48
  146. package/dist/{runOpenClaw-D8RZiA1e.mjs → runOpenClaw-BBdjlViJ.mjs} +25 -24
  147. package/dist/{runOpenClaw-CYyFoGRZ.cjs → runOpenClaw-CH_9_RyZ.cjs} +26 -25
  148. package/dist/{sandbox-C8zfNX-4.cjs → sandbox-Bb5IMun3.cjs} +4 -4
  149. package/dist/{sandbox-DlPahdhl.mjs → sandbox-DGmXZ6Zz.mjs} +4 -4
  150. package/dist/selfCheck-BfK945YQ.mjs +86 -0
  151. package/dist/{selfCheck-D28nvuPJ.cjs → selfCheck-CccwNTTK.cjs} +37 -37
  152. package/dist/{send-DBpv-1eh.mjs → send-B6rHg8GT.mjs} +9 -8
  153. package/dist/{send-C58kX4qz.cjs → send-BpiXPkDo.cjs} +9 -8
  154. package/dist/{server-J5K6pOox.mjs → server-BkdAyHhC.mjs} +4 -4
  155. package/dist/{server-I_CETZzn.cjs → server-DHUzjApC.cjs} +6 -6
  156. package/dist/{sessionLock-DjE7O0LS.cjs → sessionLock-BFBReiKq.cjs} +134 -3
  157. package/dist/{sessionLock-C7Wg1RVd.mjs → sessionLock-Ca_bIo50.mjs} +121 -4
  158. package/dist/{sessionOps-CYjMT7Ad.mjs → sessionOps-CA2kpm66.mjs} +36 -5
  159. package/dist/{sessionOps-DGMpl9NB.cjs → sessionOps-DeWVqpe4.cjs} +36 -4
  160. package/dist/{sessionProvider-DVtxrOuM.cjs → sessionProvider-VFbtUmMR.cjs} +5 -5
  161. package/dist/{sessionProvider-TLiFn9kD.mjs → sessionProvider-g18IiK74.mjs} +5 -5
  162. package/dist/{sessionScanner-BZ1ZSn6I.cjs → sessionScanner-CGzsN8V6.cjs} +3 -3
  163. package/dist/{sessionScanner-CknV1IlN.mjs → sessionScanner-DDDud5re.mjs} +3 -3
  164. package/dist/{sessions-DU4bxkap.mjs → sessions-B4d50sCI.mjs} +36 -26
  165. package/dist/{sessions-CTkBKs5U.cjs → sessions-CKJPWFgu.cjs} +37 -25
  166. package/dist/{setupOfflineReconnection-DaOXnGuH.mjs → setupOfflineReconnection-CyPNgyCe.mjs} +2 -2
  167. package/dist/{setupOfflineReconnection-CQHNuP_0.cjs → setupOfflineReconnection-DPXRo_zf.cjs} +2 -2
  168. package/dist/{spawn-C0wZc03S.cjs → spawn-CgSJzzWS.cjs} +17 -16
  169. package/dist/{spawn-DdnYTtQe.mjs → spawn-CrYN_OOT.mjs} +18 -17
  170. package/dist/{spawnAgents-BjyU78Ue.cjs → spawnAgents-C1-4m7aN.cjs} +3 -1
  171. package/dist/{spawnAgents-D-7wMw-a.mjs → spawnAgents-DWCDYCQ1.mjs} +4 -2
  172. package/dist/{spawnHappyCLI-BJUd974I.cjs → spawnHappyCLI-CTy3p6V_.cjs} +1 -1
  173. package/dist/{spawnHappyCLI-CnyyJk74.mjs → spawnHappyCLI-DjbkiSH1.mjs} +1 -1
  174. package/dist/specialCommands-J3JFOq0J.cjs +60 -0
  175. package/dist/specialCommands-MXUN0wfI.mjs +54 -0
  176. package/dist/{startFileWatcher-DBboREco.cjs → startFileWatcher-BQs0cJA-.cjs} +1 -1
  177. package/dist/{startFileWatcher-CpO5Mwbr.mjs → startFileWatcher-Dedtu1vq.mjs} +1 -1
  178. package/dist/{defaultPermissionMode-DMTnlccv.mjs → startupSessionCreate-BKFU4v_h.mjs} +25 -6
  179. package/dist/{defaultPermissionMode-Dlm0q1m0.cjs → startupSessionCreate-Dxy3X4DG.cjs} +25 -7
  180. package/dist/{streamRelay-CqBynIon.mjs → streamRelay-P9e7Sohm.mjs} +1 -1
  181. package/dist/{sync-6HFRJP1h.cjs → sync-DtWB7RzA.cjs} +1 -1
  182. package/dist/{sync-I8NYmycF.mjs → sync-eZkXnsW_.mjs} +1 -1
  183. package/dist/{systemPrompt-BDWj5QSL.cjs → systemPrompt-2XOpZ1j6.cjs} +1 -1
  184. package/dist/{systemPrompt-C1RSY_60.mjs → systemPrompt-Bn6g6aCH.mjs} +2 -2
  185. package/dist/{teams-eUD7ymif.cjs → teams-ecFay4Gn.cjs} +6 -6
  186. package/dist/{teams-GpLFbXXE.mjs → teams-nadkqrbW.mjs} +7 -7
  187. package/dist/{template-CEK8MEjo.mjs → template-BiTD-jI9.mjs} +1 -1
  188. package/dist/{time-umG7yHkb.mjs → time-CN3TuSVG.mjs} +1 -1
  189. package/dist/{time-BAJRbB6U.cjs → time-gPD_EmA-.cjs} +1 -1
  190. package/dist/{titleGenerator-dmFlxkRs.mjs → titleGenerator-DgzTQdn2.mjs} +1 -1
  191. package/dist/{titleGenerator-iqb2jOF1.cjs → titleGenerator-lT5ldPuN.cjs} +2 -2
  192. package/dist/{todo-DsR7WnQS.cjs → todo-B1VeMk5A.cjs} +5 -5
  193. package/dist/{todo-CT4AJ3sH.mjs → todo-BIxd7l2Q.mjs} +6 -6
  194. package/dist/{tools-30E66QL_.cjs → tools-DvqbLsCF.cjs} +1 -1
  195. package/dist/{tools-BOWazSD6.mjs → tools-zXJpxiG_.mjs} +1 -1
  196. package/dist/{uninstall-DImXs6VZ.mjs → uninstall-9htK6mb7.mjs} +3 -3
  197. package/dist/{uninstall-BtTc9hHa.cjs → uninstall-CvIOpwB5.cjs} +3 -3
  198. package/package.json +7 -7
  199. package/dist/agentAttachments-M_B5qEF2.mjs +0 -18
  200. package/dist/selfCheck-4bcdHPFQ.mjs +0 -86
  201. package/dist/startupSessionCreate-BgaVuvQp.mjs +0 -24
  202. package/dist/startupSessionCreate-C1u2dtz8.cjs +0 -26
@@ -1,11 +1,11 @@
1
1
  import { execSync } from 'node:child_process';
2
2
  import { spawn } from 'cross-spawn';
3
3
  import { createInterface } from 'node:readline';
4
- import { l as logger } from './logger-RpzJ4d8V.mjs';
4
+ import { l as logger } from './logger-CL7pin9b.mjs';
5
5
  import { e as errorLogMetadata, c as contentLogMetadata } from './contentLogMetadata-BlWI0egu.mjs';
6
6
  import { i as initializeSandbox, w as wrapForMcpTransport } from './manager-BEsI4qt3.mjs';
7
- import { p as packageJson } from './package-CwB8rFJt.mjs';
8
- import { s as shouldReadCodexRateLimits, i as isUnsupportedCodexMethodError } from './rateLimitWindows-CQ4tIQnx.mjs';
7
+ import { p as packageJson } from './package-C6uiXULx.mjs';
8
+ import { s as shouldReadCodexRateLimits, i as isUnsupportedCodexMethodError } from './rateLimitWindows-CEn0DXaX.mjs';
9
9
  import { s as stopProcessGracefully, k as killProcessTree } from './processTree-CP5IvQ2Z.mjs';
10
10
 
11
11
  const CODEX_HELPER_LABEL_MAX_CHARS = 80;
@@ -47,6 +47,10 @@ function jsonRpcErrorCodeOf(error) {
47
47
  const code = error?.jsonRpcCode;
48
48
  return typeof code === "number" ? code : null;
49
49
  }
50
+ function threadModelOf(result) {
51
+ const model = result?.model ?? result?.thread?.model;
52
+ return typeof model === "string" && model.trim() ? model.trim() : null;
53
+ }
50
54
  function isAppServerAvailable() {
51
55
  try {
52
56
  const version = execSync("codex --version", { encoding: "utf8", windowsHide: true }).trim();
@@ -121,12 +125,20 @@ class CodexAppServerClient {
121
125
  pending = /* @__PURE__ */ new Map();
122
126
  processEpoch = 0;
123
127
  connected = false;
128
+ /** B-852: agent version from the last `initialize` (null = unknown). */
129
+ serverVersion = null;
124
130
  sandboxConfig;
125
131
  sandboxCleanup = null;
126
132
  sandboxEnabled = false;
127
133
  // Session state
128
134
  _threadId = null;
129
135
  _turnId = null;
136
+ /**
137
+ * B-844d: the model the thread really runs. Codex keeps a thread's model
138
+ * (thread/start, thread/resume, a turn/start that named one) for every
139
+ * later turn that omits it, and reports it on start/resume/fork.
140
+ */
141
+ _threadModel = null;
130
142
  threadDefaults = null;
131
143
  // Turn completion tracking for the currently active sendTurnAndWait call.
132
144
  pendingTurnCompletion = null;
@@ -192,6 +204,10 @@ class CodexAppServerClient {
192
204
  get turnId() {
193
205
  return this._turnId;
194
206
  }
207
+ /** B-844d: the model the current thread runs for turns that name none (null = unknown). */
208
+ get threadModel() {
209
+ return this._threadModel;
210
+ }
195
211
  setEventHandler(handler) {
196
212
  this.eventHandler = handler;
197
213
  }
@@ -611,7 +627,8 @@ ${text}`.slice(-400);
611
627
  experimentalApi: true
612
628
  }
613
629
  };
614
- await this.request("initialize", initParams);
630
+ const initialized = await this.request("initialize", initParams);
631
+ this.serverVersion = typeof initialized?.userAgent === "string" ? initialized.userAgent.match(/\/(\d+\.\d+\.\d+)\b/)?.[1] ?? null : null;
615
632
  this.notify("initialized");
616
633
  this.connected = true;
617
634
  logger.debug("[CodexAppServer] Connected and initialized");
@@ -642,6 +659,7 @@ ${text}`.slice(-400);
642
659
  this.clearThreadStopGrace();
643
660
  if (!opts?.preserveThreadState) {
644
661
  this._threadId = null;
662
+ this._threadModel = null;
645
663
  this.threadDefaults = null;
646
664
  }
647
665
  for (const [id, req] of this.pending) {
@@ -744,6 +762,7 @@ ${text}`.slice(-400);
744
762
  const result = await this.request("thread/start", params);
745
763
  this._threadId = result.thread.id;
746
764
  this._turnId = null;
765
+ this._threadModel = threadModelOf(result);
747
766
  this.rememberThreadDefaults(opts);
748
767
  logger.debug("[CodexAppServer] Thread started:", this._threadId);
749
768
  return { threadId: result.thread.id, model: result.model };
@@ -770,6 +789,7 @@ ${text}`.slice(-400);
770
789
  const result = await this.request("thread/resume", params);
771
790
  this._threadId = result.thread.id;
772
791
  this._turnId = null;
792
+ this._threadModel = threadModelOf(result);
773
793
  this.rememberThreadDefaults({
774
794
  model: opts?.model ?? defaults.model,
775
795
  cwd: opts?.cwd ?? defaults.cwd,
@@ -794,11 +814,13 @@ ${text}`.slice(-400);
794
814
  baseInstructions: null,
795
815
  developerInstructions: null,
796
816
  ephemeral: false,
797
- threadSource: null
817
+ threadSource: null,
818
+ ...opts.lastTurnId ? { lastTurnId: opts.lastTurnId } : {}
798
819
  };
799
820
  const result = await this.request("thread/fork", params);
800
821
  this._threadId = result.thread.id;
801
822
  this._turnId = null;
823
+ this._threadModel = threadModelOf(result);
802
824
  this.rememberThreadDefaults({
803
825
  model: opts.model ?? defaults.model,
804
826
  cwd: opts.cwd ?? defaults.cwd,
@@ -846,6 +868,7 @@ ${text}`.slice(-400);
846
868
  } catch (error) {
847
869
  logger.warn("[CodexAppServer] Failed to resume thread after reconnect", error);
848
870
  this._threadId = null;
871
+ this._threadModel = null;
849
872
  this.threadDefaults = null;
850
873
  return false;
851
874
  }
@@ -1078,6 +1101,10 @@ ${text}`.slice(-400);
1078
1101
  }
1079
1102
  }
1080
1103
  const result = await this.request("turn/start", params);
1104
+ if (opts?.model) {
1105
+ this._threadModel = opts.model;
1106
+ if (this.threadDefaults) this.threadDefaults.model = opts.model;
1107
+ }
1081
1108
  const turnId = result?.turn?.id;
1082
1109
  if (typeof turnId === "string" && turnId.length > 0) {
1083
1110
  this._turnId = turnId;
@@ -1095,7 +1122,10 @@ ${text}`.slice(-400);
1095
1122
  * Returns { aborted: true } if the turn was aborted (user cancel, permission reject, etc.).
1096
1123
  */
1097
1124
  async sendTurnAndWait(prompt, opts) {
1098
- const { aborted } = await this.runTurnAndWait(() => this.sendTurn(prompt, opts), opts);
1125
+ const { aborted } = await this.runTurnAndWait(async () => {
1126
+ await this.sendTurn(prompt, opts);
1127
+ opts?.onTurnStarted?.();
1128
+ }, opts);
1099
1129
  return { aborted };
1100
1130
  }
1101
1131
  /**
@@ -1208,6 +1238,7 @@ ${text}`.slice(-400);
1208
1238
  this.resolvePendingTurn(true);
1209
1239
  this._threadId = null;
1210
1240
  this._turnId = null;
1241
+ this._threadModel = null;
1211
1242
  this.threadDefaults = null;
1212
1243
  this.completedTurnIds.clear();
1213
1244
  this.failedTurnIds.clear();
@@ -3,11 +3,11 @@
3
3
  var node_child_process = require('node:child_process');
4
4
  var spawn = require('cross-spawn');
5
5
  var node_readline = require('node:readline');
6
- var logger = require('./logger-C3vZG6Q0.cjs');
6
+ var logger = require('./logger-BBRTTVsQ.cjs');
7
7
  var contentLogMetadata = require('./contentLogMetadata-ZSFk_NjQ.cjs');
8
8
  var manager = require('./manager-HrEj442o.cjs');
9
- var _package = require('./package-Gnf_935w.cjs');
10
- var rateLimitWindows = require('./rateLimitWindows-Bm_dcQGW.cjs');
9
+ var _package = require('./package-DrY090nZ.cjs');
10
+ var rateLimitWindows = require('./rateLimitWindows-Bx3ROBP5.cjs');
11
11
  var processTree = require('./processTree-CMHWlVse.cjs');
12
12
 
13
13
  const CODEX_HELPER_LABEL_MAX_CHARS = 80;
@@ -49,6 +49,10 @@ function jsonRpcErrorCodeOf(error) {
49
49
  const code = error?.jsonRpcCode;
50
50
  return typeof code === "number" ? code : null;
51
51
  }
52
+ function threadModelOf(result) {
53
+ const model = result?.model ?? result?.thread?.model;
54
+ return typeof model === "string" && model.trim() ? model.trim() : null;
55
+ }
52
56
  function isAppServerAvailable() {
53
57
  try {
54
58
  const version = node_child_process.execSync("codex --version", { encoding: "utf8", windowsHide: true }).trim();
@@ -123,12 +127,20 @@ class CodexAppServerClient {
123
127
  pending = /* @__PURE__ */ new Map();
124
128
  processEpoch = 0;
125
129
  connected = false;
130
+ /** B-852: agent version from the last `initialize` (null = unknown). */
131
+ serverVersion = null;
126
132
  sandboxConfig;
127
133
  sandboxCleanup = null;
128
134
  sandboxEnabled = false;
129
135
  // Session state
130
136
  _threadId = null;
131
137
  _turnId = null;
138
+ /**
139
+ * B-844d: the model the thread really runs. Codex keeps a thread's model
140
+ * (thread/start, thread/resume, a turn/start that named one) for every
141
+ * later turn that omits it, and reports it on start/resume/fork.
142
+ */
143
+ _threadModel = null;
132
144
  threadDefaults = null;
133
145
  // Turn completion tracking for the currently active sendTurnAndWait call.
134
146
  pendingTurnCompletion = null;
@@ -194,6 +206,10 @@ class CodexAppServerClient {
194
206
  get turnId() {
195
207
  return this._turnId;
196
208
  }
209
+ /** B-844d: the model the current thread runs for turns that name none (null = unknown). */
210
+ get threadModel() {
211
+ return this._threadModel;
212
+ }
197
213
  setEventHandler(handler) {
198
214
  this.eventHandler = handler;
199
215
  }
@@ -613,7 +629,8 @@ ${text}`.slice(-400);
613
629
  experimentalApi: true
614
630
  }
615
631
  };
616
- await this.request("initialize", initParams);
632
+ const initialized = await this.request("initialize", initParams);
633
+ this.serverVersion = typeof initialized?.userAgent === "string" ? initialized.userAgent.match(/\/(\d+\.\d+\.\d+)\b/)?.[1] ?? null : null;
617
634
  this.notify("initialized");
618
635
  this.connected = true;
619
636
  logger.logger.debug("[CodexAppServer] Connected and initialized");
@@ -644,6 +661,7 @@ ${text}`.slice(-400);
644
661
  this.clearThreadStopGrace();
645
662
  if (!opts?.preserveThreadState) {
646
663
  this._threadId = null;
664
+ this._threadModel = null;
647
665
  this.threadDefaults = null;
648
666
  }
649
667
  for (const [id, req] of this.pending) {
@@ -746,6 +764,7 @@ ${text}`.slice(-400);
746
764
  const result = await this.request("thread/start", params);
747
765
  this._threadId = result.thread.id;
748
766
  this._turnId = null;
767
+ this._threadModel = threadModelOf(result);
749
768
  this.rememberThreadDefaults(opts);
750
769
  logger.logger.debug("[CodexAppServer] Thread started:", this._threadId);
751
770
  return { threadId: result.thread.id, model: result.model };
@@ -772,6 +791,7 @@ ${text}`.slice(-400);
772
791
  const result = await this.request("thread/resume", params);
773
792
  this._threadId = result.thread.id;
774
793
  this._turnId = null;
794
+ this._threadModel = threadModelOf(result);
775
795
  this.rememberThreadDefaults({
776
796
  model: opts?.model ?? defaults.model,
777
797
  cwd: opts?.cwd ?? defaults.cwd,
@@ -796,11 +816,13 @@ ${text}`.slice(-400);
796
816
  baseInstructions: null,
797
817
  developerInstructions: null,
798
818
  ephemeral: false,
799
- threadSource: null
819
+ threadSource: null,
820
+ ...opts.lastTurnId ? { lastTurnId: opts.lastTurnId } : {}
800
821
  };
801
822
  const result = await this.request("thread/fork", params);
802
823
  this._threadId = result.thread.id;
803
824
  this._turnId = null;
825
+ this._threadModel = threadModelOf(result);
804
826
  this.rememberThreadDefaults({
805
827
  model: opts.model ?? defaults.model,
806
828
  cwd: opts.cwd ?? defaults.cwd,
@@ -848,6 +870,7 @@ ${text}`.slice(-400);
848
870
  } catch (error) {
849
871
  logger.logger.warn("[CodexAppServer] Failed to resume thread after reconnect", error);
850
872
  this._threadId = null;
873
+ this._threadModel = null;
851
874
  this.threadDefaults = null;
852
875
  return false;
853
876
  }
@@ -1080,6 +1103,10 @@ ${text}`.slice(-400);
1080
1103
  }
1081
1104
  }
1082
1105
  const result = await this.request("turn/start", params);
1106
+ if (opts?.model) {
1107
+ this._threadModel = opts.model;
1108
+ if (this.threadDefaults) this.threadDefaults.model = opts.model;
1109
+ }
1083
1110
  const turnId = result?.turn?.id;
1084
1111
  if (typeof turnId === "string" && turnId.length > 0) {
1085
1112
  this._turnId = turnId;
@@ -1097,7 +1124,10 @@ ${text}`.slice(-400);
1097
1124
  * Returns { aborted: true } if the turn was aborted (user cancel, permission reject, etc.).
1098
1125
  */
1099
1126
  async sendTurnAndWait(prompt, opts) {
1100
- const { aborted } = await this.runTurnAndWait(() => this.sendTurn(prompt, opts), opts);
1127
+ const { aborted } = await this.runTurnAndWait(async () => {
1128
+ await this.sendTurn(prompt, opts);
1129
+ opts?.onTurnStarted?.();
1130
+ }, opts);
1101
1131
  return { aborted };
1102
1132
  }
1103
1133
  /**
@@ -1210,6 +1240,7 @@ ${text}`.slice(-400);
1210
1240
  this.resolvePendingTurn(true);
1211
1241
  this._threadId = null;
1212
1242
  this._turnId = null;
1243
+ this._threadModel = null;
1213
1244
  this.threadDefaults = null;
1214
1245
  this.completedTurnIds.clear();
1215
1246
  this.failedTurnIds.clear();