very-happy-cli 0.2.187 → 0.2.188

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 (194) hide show
  1. package/dist/{AcpBackend-C4Emg-H3.mjs → AcpBackend-2loP7MpF.mjs} +3 -3
  2. package/dist/{AcpBackend-B2-ReWTo.cjs → AcpBackend-B8AYkp5n.cjs} +3 -3
  3. package/dist/{AcpSessionManager-Nard_zFS.mjs → AcpSessionManager-C17doAoR.mjs} +2 -2
  4. package/dist/{AcpSessionManager-DR4-oZCz.cjs → AcpSessionManager-CLqo9R9Y.cjs} +2 -2
  5. package/dist/{BasePermissionHandler-CZ19WzsP.cjs → BasePermissionHandler-C8UEcFz0.cjs} +1 -1
  6. package/dist/{BasePermissionHandler-Bk9DmVZH.mjs → BasePermissionHandler-CrfyUmqO.mjs} +1 -1
  7. package/dist/{acpSessionResume-DPSfMe7r.mjs → acpSessionResume-F705a1cF.mjs} +1 -1
  8. package/dist/{acpSessionResume-Hto_b8MK.cjs → acpSessionResume-OuYlLGxL.cjs} +1 -1
  9. package/dist/{agentHome-4-odnrAk.mjs → agentHome-Dc7LYF3d.mjs} +4 -4
  10. package/dist/{agentHome-Mveyfa24.cjs → agentHome-DsKHJ_Sf.cjs} +4 -4
  11. package/dist/{api-DVEzYcoy.cjs → api-BOqjYd5r.cjs} +10 -10
  12. package/dist/{api-cVvbFZVK.mjs → api-DNKa7kVy.mjs} +10 -10
  13. package/dist/{apiMachine-Bd1C_JN6.cjs → apiMachine--rcPpMmt.cjs} +14 -14
  14. package/dist/{apiMachine-M7qY1izH.mjs → apiMachine-Di1G9ECW.mjs} +14 -14
  15. package/dist/{attachmentContent-D8hViGiA.cjs → attachmentContent-BFRMLong.cjs} +2 -2
  16. package/dist/{attachmentContent-NNF-Eo4O.mjs → attachmentContent-C9S4ekAz.mjs} +2 -2
  17. package/dist/{auth-BCHL8Fx5.mjs → auth-BNhhk2Fr.mjs} +5 -5
  18. package/dist/{auth-CKNEKwEV.mjs → auth-Bzwo_vOM.mjs} +8 -8
  19. package/dist/{auth-BHw8be0X.cjs → auth-CQtfznF0.cjs} +8 -8
  20. package/dist/{auth-b_1h0677.cjs → auth-CXmI92aj.cjs} +5 -5
  21. package/dist/{auto-D716QYa3.mjs → auto-DHYOLnXB.mjs} +17 -17
  22. package/dist/{auto-Da4rCLal.cjs → auto-DXLdaX5O.cjs} +17 -17
  23. package/dist/{bootstrap-CndcegDb.mjs → bootstrap-Di38SnpN.mjs} +2 -2
  24. package/dist/{bootstrap-j2RuoHVy.cjs → bootstrap-eJ1l7VYl.cjs} +2 -2
  25. package/dist/{browser-CLsM513o.mjs → browser-6Cg7G6bb.mjs} +1 -1
  26. package/dist/{browser-DIYTnD_T.cjs → browser-D3uBFRQu.cjs} +1 -1
  27. package/dist/{claudeLocal-C_uUbEO_.cjs → claudeLocal-BBaE4QF_.cjs} +5 -5
  28. package/dist/{claudeLocal-3HbTx7K-.mjs → claudeLocal-CqaEs-81.mjs} +5 -5
  29. package/dist/{claudeLocalLauncher-DXh2chq3.mjs → claudeLocalLauncher-BDUPxtsI.mjs} +10 -10
  30. package/dist/{claudeLocalLauncher-BxWouVYk.cjs → claudeLocalLauncher-wPxKtH_P.cjs} +10 -10
  31. package/dist/{claudeSessionFork-CsU96yXX.cjs → claudeSessionFork-CmY25Fl3.cjs} +1 -1
  32. package/dist/{claudeSessionFork-B4olbwfj.mjs → claudeSessionFork-DzWFzj9m.mjs} +1 -1
  33. package/dist/{client-CCy72Phz.cjs → client-C2HcMqRF.cjs} +4 -4
  34. package/dist/{client-C8w9aQYe.mjs → client-DWws_aQK.mjs} +2 -2
  35. package/dist/{client-Zqg7DXHl.mjs → client-DcDE6Ifk.mjs} +2 -2
  36. package/dist/{client-CWSfPlGD.cjs → client-DmY03OZZ.cjs} +2 -2
  37. package/dist/{client-q1aNOKgy.cjs → client-agH03Irm.cjs} +2 -2
  38. package/dist/{client-D8p1YjVt.mjs → client-qJ0y8fus.mjs} +4 -4
  39. package/dist/codex/happyMcpStdioBridge.cjs +16 -16
  40. package/dist/codex/happyMcpStdioBridge.mjs +16 -16
  41. package/dist/{codexAppServerClient-Csc-XsRV.mjs → codexAppServerClient-DgE99i7X.mjs} +39 -5
  42. package/dist/{codexAppServerClient-g8npaIU9.cjs → codexAppServerClient-DwzC8LR0.cjs} +39 -5
  43. package/dist/{codexCommand-BV8pTAtv.cjs → codexCommand-1vFEA1KT.cjs} +117 -59
  44. package/dist/{codexCommand-BS-foS_R.mjs → codexCommand-DUSVzbKh.mjs} +114 -56
  45. package/dist/{codexTermination-lOO15mt2.mjs → codexTermination-Bybovr2z.mjs} +1 -1
  46. package/dist/{codexTermination-B5WgZAWO.cjs → codexTermination-DuDPyBRR.cjs} +1 -1
  47. package/dist/{config-Ba5ufl-D.mjs → config-BrzZ0O-6.mjs} +3 -3
  48. package/dist/{config-BOnZRJIG.cjs → config-C4xOL5bH.cjs} +3 -3
  49. package/dist/{configuration-8EAa2X9P.mjs → configuration-BZHpFD7K.mjs} +1 -1
  50. package/dist/{configuration-CAfdO4IC.cjs → configuration-DyPW9mVa.cjs} +1 -1
  51. package/dist/{connect-BHWHNe54.mjs → connect-Cw_INlj8.mjs} +13 -13
  52. package/dist/{connect-2hWuvxRM.cjs → connect-DurKwMEo.cjs} +13 -13
  53. package/dist/{context-BtCz06PX.cjs → context-2xDvjkQp.cjs} +1 -1
  54. package/dist/{context-B-jybQhf.mjs → context-t7YV0aZc.mjs} +1 -1
  55. package/dist/{controlClient-O-vf2MkJ.mjs → controlClient-Bw56NIrj.mjs} +4 -4
  56. package/dist/{controlClient-mH9AxBwT.cjs → controlClient-DvFaPsg6.cjs} +3 -3
  57. package/dist/{createSessionMetadata-HlzlfP0U.mjs → createSessionMetadata-Dn5BkLfU.mjs} +2 -2
  58. package/dist/{createSessionMetadata-Bcn7b8QB.cjs → createSessionMetadata-Dpg6bV6f.cjs} +2 -2
  59. package/dist/{defaultPermissionMode-BPDeX4S8.mjs → defaultPermissionMode-DMTnlccv.mjs} +2 -2
  60. package/dist/{defaultPermissionMode-BN3PdltF.cjs → defaultPermissionMode-Dlm0q1m0.cjs} +2 -2
  61. package/dist/{deterministicJson-CruOxFA6.mjs → deterministicJson-CsRckxVq.mjs} +13 -13
  62. package/dist/{deterministicJson-D9pZQhU9.cjs → deterministicJson-D0BrV1FD.cjs} +13 -13
  63. package/dist/{doctor-BNhLBBTK.mjs → doctor-B4HQiW6j.mjs} +7 -7
  64. package/dist/{doctor-lHD1YZH6.cjs → doctor-CYe4d9kU.cjs} +7 -7
  65. package/dist/{downloadTarget-BhkQxTa8.cjs → downloadTarget-CuhBVvuC.cjs} +6 -6
  66. package/dist/{downloadTarget-ByTxs_N5.mjs → downloadTarget-tYMV_VHo.mjs} +6 -6
  67. package/dist/{ensureDaemonRunning-BiCK6RiS.cjs → ensureDaemonRunning-Ce3BlWiR.cjs} +5 -5
  68. package/dist/{ensureDaemonRunning-Cv0AMaHK.mjs → ensureDaemonRunning-DVtIG9z7.mjs} +5 -5
  69. package/dist/{handleResumeCommand-Cy_KW0LN.mjs → handleResumeCommand-BU1uMNyv.mjs} +5 -5
  70. package/dist/{handleResumeCommand-WB4VDeKk.cjs → handleResumeCommand-CLxsmAW0.cjs} +5 -5
  71. package/dist/{index-BpSpw6jG.mjs → index-B1OxWiNG.mjs} +3 -3
  72. package/dist/{index-BumVulwx.cjs → index-BOe6dKnL.cjs} +215 -18
  73. package/dist/{index-lWXWV0H2.mjs → index-CVHRt3SS.mjs} +4 -4
  74. package/dist/{index-CdOz1uDl.mjs → index-ChX0eVXw.mjs} +91 -45
  75. package/dist/{index-CVMbboXv.mjs → index-DDz0Ftoy.mjs} +4 -4
  76. package/dist/{index-B44ft-m4.cjs → index-DG1kGjkF.cjs} +92 -46
  77. package/dist/{index-BpWESchl.cjs → index-DoXbGEAi.cjs} +3 -3
  78. package/dist/{index-Bcp-PEGc.cjs → index-KwuXqLwe.cjs} +4 -4
  79. package/dist/{index-B9f1vKcC.mjs → index-WKyN-bNy.mjs} +212 -17
  80. package/dist/{index-Vtcax4oD.cjs → index-wWJJAQRk.cjs} +4 -4
  81. package/dist/index.cjs +2 -2
  82. package/dist/index.mjs +2 -2
  83. package/dist/{install-mK93DJ6L.mjs → install-CMa_FOWu.mjs} +3 -3
  84. package/dist/{install-DdRVv9IS.cjs → install-cAYvHxXR.cjs} +3 -3
  85. package/dist/lib.cjs +12 -12
  86. package/dist/lib.d.cts +6 -0
  87. package/dist/lib.d.mts +6 -0
  88. package/dist/lib.mjs +12 -12
  89. package/dist/{lidState-LtdUCXi-.mjs → lidState-D-lsD1FS.mjs} +1 -1
  90. package/dist/{lidState-XyjQaZtU.cjs → lidState-d1vgQ3n7.cjs} +1 -1
  91. package/dist/{localHappyAgentAuth-C9Aj_wGD.cjs → localHappyAgentAuth-DucSnCg3.cjs} +1 -1
  92. package/dist/{localHappyAgentAuth-DqFE0Adr.mjs → localHappyAgentAuth-wvDp-nGj.mjs} +1 -1
  93. package/dist/{logger-BILSzq2s.cjs → logger-C3vZG6Q0.cjs} +2 -2
  94. package/dist/{logger-SAU4uSs4.mjs → logger-RpzJ4d8V.mjs} +2 -2
  95. package/dist/{machineMetadata-C5TgUTpD.cjs → machineMetadata-CAvFq1Jg.cjs} +3 -3
  96. package/dist/{machineMetadata-ZVnihOuL.mjs → machineMetadata-CiQ2_1Mq.mjs} +3 -3
  97. package/dist/{main-CVfx_-l7.cjs → main-ChpYcFZi.cjs} +46 -46
  98. package/dist/{main-BjOHtX8u.mjs → main-IPhaImjm.mjs} +46 -46
  99. package/dist/{mcp-By9XK193.cjs → mcp-2xF232hL.cjs} +15 -15
  100. package/dist/{mcp-CWVr7KbQ.mjs → mcp-CWnMvju6.mjs} +15 -15
  101. package/dist/{mirrorProtocol-C0wyaesn.cjs → mirrorProtocol-CVzPObON.cjs} +3 -3
  102. package/dist/{mirrorProtocol-BI6XbokT.mjs → mirrorProtocol-Dr7fNq8V.mjs} +3 -3
  103. package/dist/{package-BMBwnCn3.mjs → package-CwB8rFJt.mjs} +7 -7
  104. package/dist/{package-Bbfq2KR7.cjs → package-Gnf_935w.cjs} +7 -7
  105. package/dist/{panels-rQmysHlY.cjs → panels-DTlTsndU.cjs} +5 -5
  106. package/dist/{panels-CbIUwV6q.mjs → panels-L1mSkC-y.mjs} +5 -5
  107. package/dist/{peerTools-CyruQrOo.mjs → peerTools-2_8Bw9PU.mjs} +5 -5
  108. package/dist/{peerTools-CZfiq_Dx.cjs → peerTools-C1E5cQ86.cjs} +5 -5
  109. package/dist/{persistence-C7T3HYjq.mjs → persistence-Bn4qEbDg.mjs} +2 -2
  110. package/dist/{persistence-DPeSC0SK.cjs → persistence-CqtjFiD1.cjs} +2 -2
  111. package/dist/{piRunnerArgs-DAq8vIpP.cjs → piRunnerArgs-BI8yQRBZ.cjs} +1 -1
  112. package/dist/{piRunnerArgs-CsWompo8.mjs → piRunnerArgs-DWBb63W9.mjs} +1 -1
  113. package/dist/{piRuntime-CFqlQFoz.cjs → piRuntime--mQ43MSM.cjs} +1 -1
  114. package/dist/{piRuntime-Dxd8Gfun.mjs → piRuntime-Do8oqbm3.mjs} +1 -1
  115. package/dist/{piTerminal-DHG3Kzve.cjs → piTerminal-BzcvLFsP.cjs} +17 -17
  116. package/dist/{piTerminal-BssuKDtJ.mjs → piTerminal-GC1KHTYQ.mjs} +17 -17
  117. package/dist/{pushNotifications-Bi72c41d.mjs → pushNotifications-BThg4nVd.mjs} +3 -3
  118. package/dist/{pushNotifications-CsSyhnHu.cjs → pushNotifications-Bb-QSqXw.cjs} +3 -3
  119. package/dist/{query-Cuef299f.cjs → query-Bz3pocKH.cjs} +1 -1
  120. package/dist/{query-BQOwsKS1.mjs → query-CkgIJ_Dy.mjs} +1 -1
  121. package/dist/{specialCommands-35KxDNE8.cjs → rateLimitReporter-BkHyvLru.cjs} +3 -55
  122. package/dist/{specialCommands-CTtmGCCf.mjs → rateLimitReporter-Iw4k3Bbr.mjs} +4 -55
  123. package/dist/{rateLimitWindows-bfwC81Z-.cjs → rateLimitWindows-Bm_dcQGW.cjs} +1 -1
  124. package/dist/{rateLimitWindows-B6IAWYN5.mjs → rateLimitWindows-CQ4tIQnx.mjs} +1 -1
  125. package/dist/{registerCommonHandlers-CQC04iF3.cjs → registerCommonHandlers-CIs6H2DV.cjs} +2 -2
  126. package/dist/{registerCommonHandlers-qzb6TQqo.mjs → registerCommonHandlers-CaWl9ll1.mjs} +2 -2
  127. package/dist/{remoteSessionClient-DffolBcQ.cjs → remoteSessionClient-DgUMfPW4.cjs} +5 -5
  128. package/dist/{remoteSessionClient-D3XhN_sd.mjs → remoteSessionClient-uPj7omsw.mjs} +5 -5
  129. package/dist/{reportProgressTool-BieTXE_R.cjs → reportProgressTool-CaJ8EwLq.cjs} +3 -3
  130. package/dist/{reportProgressTool-irHR-XEW.mjs → reportProgressTool-DUEq3xAL.mjs} +3 -3
  131. package/dist/{run-DCUaxe2S.mjs → run-DTUJBD6p.mjs} +35 -35
  132. package/dist/{run-Ck_WA6Nj.cjs → run-DyyGMqND.cjs} +35 -35
  133. package/dist/{runClaude-BUGku2Qp.cjs → runClaude-8JDaPoGQ.cjs} +22 -22
  134. package/dist/{runClaude-BryAvfNV.mjs → runClaude-DTNvIz2J.mjs} +22 -22
  135. package/dist/{runClaudeDeps-Dbk1VrOW.cjs → runClaudeDeps-BeLo5zss.cjs} +82 -53
  136. package/dist/{runClaudeDeps-BZkWM9_u.mjs → runClaudeDeps-CgGkgg7e.mjs} +84 -54
  137. package/dist/{runGemini-B6AZ2bv0.cjs → runGemini-BSOdU563.cjs} +54 -50
  138. package/dist/{runGemini-DT379gpi.mjs → runGemini-eU8UOzfc.mjs} +52 -48
  139. package/dist/{runOpenClaw-eBUYlIVJ.cjs → runOpenClaw-CYyFoGRZ.cjs} +30 -26
  140. package/dist/{runOpenClaw-Bpp9mkyO.mjs → runOpenClaw-D8RZiA1e.mjs} +28 -24
  141. package/dist/{sandbox-Bv4H1P6u.cjs → sandbox-C8zfNX-4.cjs} +4 -4
  142. package/dist/{sandbox-Z8TM9eUg.mjs → sandbox-DlPahdhl.mjs} +4 -4
  143. package/dist/selfCheck-4bcdHPFQ.mjs +86 -0
  144. package/dist/{selfCheck--1k2Ptf6.cjs → selfCheck-D28nvuPJ.cjs} +37 -37
  145. package/dist/{send-BG4KYe6f.cjs → send-C58kX4qz.cjs} +8 -8
  146. package/dist/{send-CKTovWuQ.mjs → send-DBpv-1eh.mjs} +8 -8
  147. package/dist/{server-BTNwH-sA.cjs → server-I_CETZzn.cjs} +6 -6
  148. package/dist/{server-DLpXtoiZ.mjs → server-J5K6pOox.mjs} +4 -4
  149. package/dist/{sessionLock-DhzB5ZI9.mjs → sessionLock-C7Wg1RVd.mjs} +3 -3
  150. package/dist/{sessionLock-Cf6RlgfF.cjs → sessionLock-DjE7O0LS.cjs} +3 -3
  151. package/dist/{sessionOps-CiFjBCMa.mjs → sessionOps-CYjMT7Ad.mjs} +4 -4
  152. package/dist/{sessionOps-R52JWMnX.cjs → sessionOps-DGMpl9NB.cjs} +4 -4
  153. package/dist/{sessionProvider-LATn-lZL.cjs → sessionProvider-DVtxrOuM.cjs} +5 -5
  154. package/dist/{sessionProvider-f2tUhwBc.mjs → sessionProvider-TLiFn9kD.mjs} +5 -5
  155. package/dist/{sessionScanner-DRzZtGtu.cjs → sessionScanner-BZ1ZSn6I.cjs} +3 -3
  156. package/dist/{sessionScanner-lS1puA5H.mjs → sessionScanner-CknV1IlN.mjs} +3 -3
  157. package/dist/{sessions-DGd8Fin6.cjs → sessions-CTkBKs5U.cjs} +10 -10
  158. package/dist/{sessions-D01nnjOE.mjs → sessions-DU4bxkap.mjs} +10 -10
  159. package/dist/{setupOfflineReconnection-Ds7ywGwR.cjs → setupOfflineReconnection-CQHNuP_0.cjs} +2 -2
  160. package/dist/{setupOfflineReconnection-UApZjcU5.mjs → setupOfflineReconnection-DaOXnGuH.mjs} +2 -2
  161. package/dist/{spawn-CT3g4p8A.cjs → spawn-C0wZc03S.cjs} +67 -25
  162. package/dist/{spawn-ct8aSMA8.mjs → spawn-DdnYTtQe.mjs} +67 -26
  163. package/dist/{spawnAgents-DsJSyLDl.cjs → spawnAgents-BjyU78Ue.cjs} +21 -9
  164. package/dist/{spawnAgents-f2q31uUV.mjs → spawnAgents-D-7wMw-a.mjs} +21 -10
  165. package/dist/{spawnHappyCLI-DedrWByd.cjs → spawnHappyCLI-BJUd974I.cjs} +1 -1
  166. package/dist/{spawnHappyCLI-Dp05fHcp.mjs → spawnHappyCLI-CnyyJk74.mjs} +1 -1
  167. package/dist/{registerKillSessionHandler-BraKB5Ks.cjs → specialCommands-BsvSoDhC.cjs} +91 -6
  168. package/dist/{registerKillSessionHandler-DMPrrNKX.mjs → specialCommands-DHU7TNeK.mjs} +88 -7
  169. package/dist/{startFileWatcher-BLdxJdgu.mjs → startFileWatcher-CpO5Mwbr.mjs} +1 -1
  170. package/dist/{startFileWatcher-72w11DP_.cjs → startFileWatcher-DBboREco.cjs} +1 -1
  171. package/dist/{startupSessionCreate-CJFR_Zom.mjs → startupSessionCreate-BgaVuvQp.mjs} +1 -1
  172. package/dist/{startupSessionCreate-Cy4J4-Ep.cjs → startupSessionCreate-C1u2dtz8.cjs} +1 -1
  173. package/dist/{streamRelay-B3FloUTT.mjs → streamRelay-CqBynIon.mjs} +1 -1
  174. package/dist/{streamRelay-Cn_uGG6m.cjs → streamRelay-D9a4cBEa.cjs} +1 -1
  175. package/dist/{sync-lxDpbIh3.cjs → sync-6HFRJP1h.cjs} +1 -1
  176. package/dist/{sync-BWX1OVQi.mjs → sync-I8NYmycF.mjs} +1 -1
  177. package/dist/{systemPrompt-0DqWPGY6.cjs → systemPrompt-BDWj5QSL.cjs} +2 -2
  178. package/dist/{systemPrompt-BIilbjt_.mjs → systemPrompt-C1RSY_60.mjs} +2 -2
  179. package/dist/{teams-CvpB8Rdm.mjs → teams-GpLFbXXE.mjs} +7 -7
  180. package/dist/{teams-CImmJLlM.cjs → teams-eUD7ymif.cjs} +7 -7
  181. package/dist/{template-DPsqlHJQ.cjs → template-17HATY_Y.cjs} +1 -1
  182. package/dist/{template-DuKZw-Sz.mjs → template-CEK8MEjo.mjs} +1 -1
  183. package/dist/{time-BbQJi3Eh.cjs → time-BAJRbB6U.cjs} +1 -1
  184. package/dist/{time-DjS5me2q.mjs → time-umG7yHkb.mjs} +1 -1
  185. package/dist/{titleGenerator-CGdBp5lQ.mjs → titleGenerator-dmFlxkRs.mjs} +1 -1
  186. package/dist/{titleGenerator-CfJme6ep.cjs → titleGenerator-iqb2jOF1.cjs} +2 -2
  187. package/dist/{todo-BxfUKwTM.mjs → todo-CT4AJ3sH.mjs} +6 -6
  188. package/dist/{todo-rN20m9lT.cjs → todo-DsR7WnQS.cjs} +6 -6
  189. package/dist/{tools-kGtSjG8h.cjs → tools-30E66QL_.cjs} +1 -1
  190. package/dist/{tools-B_W7xJNh.mjs → tools-BOWazSD6.mjs} +1 -1
  191. package/dist/{uninstall-CBQsxEmD.cjs → uninstall-BtTc9hHa.cjs} +3 -3
  192. package/dist/{uninstall-DUjvgLlg.mjs → uninstall-DImXs6VZ.mjs} +3 -3
  193. package/package.json +7 -7
  194. package/dist/selfCheck-DIGghfQz.mjs +0 -86
@@ -1,93 +1,93 @@
1
1
  'use strict';
2
2
 
3
- var AcpBackend = require('./AcpBackend-B2-ReWTo.cjs');
4
- var logger = require('./logger-BILSzq2s.cjs');
5
- var AcpSessionManager = require('./AcpSessionManager-DR4-oZCz.cjs');
6
- var index = require('./index-BumVulwx.cjs');
7
- var deterministicJson = require('./deterministicJson-D9pZQhU9.cjs');
3
+ var AcpBackend = require('./AcpBackend-B8AYkp5n.cjs');
4
+ var logger = require('./logger-C3vZG6Q0.cjs');
5
+ var AcpSessionManager = require('./AcpSessionManager-CLqo9R9Y.cjs');
6
+ var index = require('./index-BOe6dKnL.cjs');
7
+ var deterministicJson = require('./deterministicJson-D0BrV1FD.cjs');
8
+ var specialCommands = require('./specialCommands-BsvSoDhC.cjs');
8
9
  var agentAttachments = require('./agentAttachments-Dbw8iMCZ.cjs');
9
- var configuration = require('./configuration-CAfdO4IC.cjs');
10
- var attachmentContent = require('./attachmentContent-D8hViGiA.cjs');
11
- var piRuntime = require('./piRuntime-CFqlQFoz.cjs');
10
+ var configuration = require('./configuration-DyPW9mVa.cjs');
11
+ var attachmentContent = require('./attachmentContent-BFRMLong.cjs');
12
+ var piRuntime = require('./piRuntime--mQ43MSM.cjs');
12
13
  var node_crypto = require('node:crypto');
13
14
  var path = require('node:path');
14
- var api = require('./api-DVEzYcoy.cjs');
15
- var client = require('./client-q1aNOKgy.cjs');
16
- var registerKillSessionHandler = require('./registerKillSessionHandler-BraKB5Ks.cjs');
17
- var persistence = require('./persistence-DPeSC0SK.cjs');
18
- var machineMetadata = require('./machineMetadata-C5TgUTpD.cjs');
19
- var createSessionMetadata = require('./createSessionMetadata-Bcn7b8QB.cjs');
20
- var setupOfflineReconnection = require('./setupOfflineReconnection-Ds7ywGwR.cjs');
21
- var startupSessionCreate = require('./startupSessionCreate-Cy4J4-Ep.cjs');
22
- var controlClient = require('./controlClient-mH9AxBwT.cjs');
15
+ var api = require('./api-BOqjYd5r.cjs');
16
+ var client = require('./client-agH03Irm.cjs');
17
+ var persistence = require('./persistence-CqtjFiD1.cjs');
18
+ var machineMetadata = require('./machineMetadata-CAvFq1Jg.cjs');
19
+ var createSessionMetadata = require('./createSessionMetadata-Dpg6bV6f.cjs');
20
+ var setupOfflineReconnection = require('./setupOfflineReconnection-CQHNuP_0.cjs');
21
+ var startupSessionCreate = require('./startupSessionCreate-C1u2dtz8.cjs');
22
+ var controlClient = require('./controlClient-DvFaPsg6.cjs');
23
23
  var authRelay = require('./authRelay-Dy1qU9td.cjs');
24
- var sessionLock = require('./sessionLock-Cf6RlgfF.cjs');
25
- var acpSessionResume = require('./acpSessionResume-Hto_b8MK.cjs');
26
- var streamRelay = require('./streamRelay-Cn_uGG6m.cjs');
24
+ var sessionLock = require('./sessionLock-DjE7O0LS.cjs');
25
+ var acpSessionResume = require('./acpSessionResume-OuYlLGxL.cjs');
26
+ var streamRelay = require('./streamRelay-D9a4cBEa.cjs');
27
27
  var projectPath = require('./projectPath-C3ioB4Bu.cjs');
28
- var BasePermissionHandler = require('./BasePermissionHandler-CZ19WzsP.cjs');
29
- var titleGenerator = require('./titleGenerator-CfJme6ep.cjs');
28
+ var BasePermissionHandler = require('./BasePermissionHandler-C8UEcFz0.cjs');
29
+ var titleGenerator = require('./titleGenerator-iqb2jOF1.cjs');
30
30
  var editPaths = require('./editPaths-Bqp4OFPw.cjs');
31
+ var node_fs = require('node:fs');
32
+ var os = require('node:os');
31
33
  require('node:child_process');
32
34
  require('@agentclientprotocol/sdk');
33
- require('./time-BbQJi3Eh.cjs');
35
+ require('./time-BAJRbB6U.cjs');
34
36
  require('./contentLogMetadata-ZSFk_NjQ.cjs');
35
37
  require('./processTree-CMHWlVse.cjs');
36
- require('./package-Bbfq2KR7.cjs');
38
+ require('./package-Gnf_935w.cjs');
37
39
  require('chalk');
38
40
  require('node:util');
39
- require('node:fs');
40
41
  require('@paralleldrive/cuid2');
41
42
  require('zod');
42
43
  require('./prompt-Bof2aQkI.cjs');
43
- require('./reportProgressTool-BieTXE_R.cjs');
44
- require('./client-CWSfPlGD.cjs');
44
+ require('./reportProgressTool-CaJ8EwLq.cjs');
45
+ require('./client-DmY03OZZ.cjs');
45
46
  require('./precheckCompat-CWOi5c9L.cjs');
46
47
  require('./agentGuidance-BtBx2xxE.cjs');
47
48
  require('./trimIdent-4gvk9Wk6.cjs');
48
- require('node:os');
49
49
  require('./pi-DlsrPCTa.cjs');
50
50
  require('./fileStore-7qhnbs6N.cjs');
51
51
  require('node:fs/promises');
52
- require('./client-CCy72Phz.cjs');
53
- require('./context-BtCz06PX.cjs');
54
- require('./sessionOps-R52JWMnX.cjs');
52
+ require('./client-C2HcMqRF.cjs');
53
+ require('./context-2xDvjkQp.cjs');
54
+ require('./sessionOps-DGMpl9NB.cjs');
55
55
  require('axios');
56
56
  require('socket.io-client');
57
57
  require('./backgroundTaskActivity-CBvUdj39.cjs');
58
58
  require('./resources-BZ_Be0qM.cjs');
59
- require('./tools-kGtSjG8h.cjs');
60
- require('./peerTools-CZfiq_Dx.cjs');
59
+ require('./tools-30E66QL_.cjs');
60
+ require('./peerTools-C1E5cQ86.cjs');
61
61
  require('./ids-B6ZC0HGt.cjs');
62
- require('./remoteSessionClient-DffolBcQ.cjs');
62
+ require('./remoteSessionClient-DgUMfPW4.cjs');
63
63
  require('@modelcontextprotocol/sdk/server/mcp.js');
64
64
  require('node:http');
65
65
  require('@modelcontextprotocol/sdk/server/streamableHttp.js');
66
66
  require('./limits-C-a7gr04.cjs');
67
- require('./downloadTarget-BhkQxTa8.cjs');
67
+ require('./downloadTarget-CuhBVvuC.cjs');
68
68
  require('./terminals-B_bfC9c2.cjs');
69
69
  require('./terminalTitleSuggest-DhvRFX3H.cjs');
70
70
  require('./tmuxSocket-D-Xt6Vn-.cjs');
71
- require('./bootstrap-j2RuoHVy.cjs');
71
+ require('./bootstrap-eJ1l7VYl.cjs');
72
72
  require('./webPanels-FCgFKvVe.cjs');
73
- require('./pushNotifications-CsSyhnHu.cjs');
73
+ require('./pushNotifications-Bb-QSqXw.cjs');
74
74
  require('./previewPath-B0rBdhy1.cjs');
75
75
  require('crypto');
76
- require('./lidState-XyjQaZtU.cjs');
77
- require('os');
78
- require('child_process');
79
76
  require('node:events');
80
- require('./registerCommonHandlers-CQC04iF3.cjs');
77
+ require('tweetnacl');
78
+ require('./registerCommonHandlers-CIs6H2DV.cjs');
79
+ require('child_process');
81
80
  require('util');
82
81
  require('fs/promises');
83
82
  require('path');
84
83
  require('cross-spawn');
85
- require('./sync-lxDpbIh3.cjs');
86
- require('tweetnacl');
84
+ require('os');
87
85
  require('./types-CRS-srZK.cjs');
86
+ require('./lidState-d1vgQ3n7.cjs');
87
+ require('./sync-6HFRJP1h.cjs');
88
88
  require('./detectCLI-BuYR_Qxe.cjs');
89
89
  require('fs');
90
- require('./localHappyAgentAuth-C9Aj_wGD.cjs');
90
+ require('./localHappyAgentAuth-DucSnCg3.cjs');
91
91
  require('./fsMkdir-0K3yENml.cjs');
92
92
  require('./processTreeSnapshot-mDbnuojn.cjs');
93
93
  require('url');
@@ -119,6 +119,16 @@ async function buildAcpPrompt(message, opts) {
119
119
 
120
120
  ${opts.todoNote}`, slashCommand: false };
121
121
  }
122
+ function routeAcpUserText(text, advertisedCommands) {
123
+ const compact = specialCommands.compactCommandText(text);
124
+ if (compact !== null) {
125
+ if (advertisedCommands && advertisedCommands.length > 0 && !advertisedCommands.includes("compact")) {
126
+ return { kind: "unsupported", notice: specialCommands.COMPACT_UNSUPPORTED_NOTICE };
127
+ }
128
+ return { kind: "command", text: compact };
129
+ }
130
+ return isAgentSlashCommand(text) ? { kind: "command", text } : { kind: "prompt", text };
131
+ }
122
132
 
123
133
  const MAX_DETAIL_CHARS = 400;
124
134
  function detailOf(error) {
@@ -423,6 +433,26 @@ function mergeAcpSessionConfigIntoMetadata(metadata, snapshot) {
423
433
  return next;
424
434
  }
425
435
 
436
+ function readGeminiConfiguredModel(opts = {}) {
437
+ const env = opts.env ?? process.env;
438
+ const fromEnv = env.GEMINI_MODEL?.trim();
439
+ if (fromEnv) return fromEnv;
440
+ const read = opts.readFile ?? ((path) => node_fs.readFileSync(path, "utf8"));
441
+ const home = env.GEMINI_CLI_HOME?.trim() || opts.home || os.homedir();
442
+ for (const file of [path.join(opts.cwd ?? process.cwd(), ".gemini", "settings.json"), path.join(home, ".gemini", "settings.json")]) {
443
+ let parsed;
444
+ try {
445
+ parsed = JSON.parse(read(file));
446
+ } catch {
447
+ continue;
448
+ }
449
+ const model = parsed?.model;
450
+ const name = typeof model === "string" ? model : model?.name;
451
+ if (typeof name === "string" && name.trim()) return name.trim();
452
+ }
453
+ return null;
454
+ }
455
+
426
456
  const ACP_EVENT_PREVIEW_CHARS = 240;
427
457
  const ACP_RAW_PREVIEW_CHARS = 2e3;
428
458
  const ACP_COLOR_RESET = "\x1B[0m";
@@ -797,6 +827,7 @@ async function runAcp(opts) {
797
827
  capabilities: [index.PROMPT_QUEUE_CAPABILITY, index.PROJECT_SESSION_CAPABILITY]
798
828
  });
799
829
  metadata.attachmentKinds = [];
830
+ if (opts.agentName === "gemini") metadata.configuredModel = readGeminiConfiguredModel();
800
831
  const reconnect = acpSessionResume.readAcpReconnectEnv(process.env);
801
832
  let response;
802
833
  if (reconnect) {
@@ -878,7 +909,7 @@ async function runAcp(opts) {
878
909
  send: (frame) => session.sendStreamFrame(frame)
879
910
  });
880
911
  const sessionManager = new AcpSessionManager.AcpSessionManager(streamingEnabled ? { stream: streamRelay$1 } : {});
881
- const messageQueue = new registerKillSessionHandler.MessageQueue2((mode) => deterministicJson.hashObject(mode));
912
+ const messageQueue = new specialCommands.MessageQueue2((mode) => deterministicJson.hashObject(mode));
882
913
  function attachPromptQueueDrain(client) {
883
914
  const drain = client.attachPromptQueueDrain({
884
915
  isIdle: () => messageQueue.size() === 0 && messageQueue.isWaiting()
@@ -895,6 +926,7 @@ async function runAcp(opts) {
895
926
  let legacyModes = null;
896
927
  let legacyModels = null;
897
928
  let sawSlashCommands = false;
929
+ let agentCommands = null;
898
930
  let sawModes = false;
899
931
  let sawModels = false;
900
932
  const initialPermissionMode = opts.permissionMode ?? resumedPermissionMode ?? "default";
@@ -1147,6 +1179,7 @@ async function runAcp(opts) {
1147
1179
  const commands = msg.payload;
1148
1180
  const commandNames = commands.map((c) => c.name);
1149
1181
  sawSlashCommands = commands.length > 0;
1182
+ agentCommands = commandNames;
1150
1183
  if (verbose) {
1151
1184
  logAcp("muted", `Outgoing slash commands from ${opts.agentName} (${commands.length}):`);
1152
1185
  for (const command of commands) {
@@ -1319,6 +1352,19 @@ async function runAcp(opts) {
1319
1352
  if (message.meta && Object.prototype.hasOwnProperty.call(message.meta, "effort")) {
1320
1353
  currentEffort = message.meta.effort ?? null;
1321
1354
  }
1355
+ const route = routeAcpUserText(message.content.text, agentCommands);
1356
+ if (route.kind === "unsupported") {
1357
+ session.sendSessionEvent({ type: "message", message: route.notice });
1358
+ return;
1359
+ }
1360
+ if (route.kind === "command") {
1361
+ messageQueue.pushIsolate(route.text, {
1362
+ permissionMode: currentPermissionMode,
1363
+ model: currentModel,
1364
+ effort: currentEffort
1365
+ }, attachments, message.localKey);
1366
+ return;
1367
+ }
1322
1368
  if (message.meta?.delivery === "steer" && piSteer?.ready && thinking && !attachments?.length) {
1323
1369
  if (await piSteer.offer(message.content.text, PI_STEER_OFFER_TIMEOUT_MS)) {
1324
1370
  logger.logger.debug(`[${opts.agentName}] User message steered into the running turn`);
@@ -1372,7 +1418,7 @@ async function runAcp(opts) {
1372
1418
  return { mode };
1373
1419
  }
1374
1420
  );
1375
- const disposeTermination = registerKillSessionHandler.registerKillSessionHandler(session.rpcHandlerManager, async () => {
1421
+ const disposeTermination = specialCommands.registerKillSessionHandler(session.rpcHandlerManager, async () => {
1376
1422
  shouldExit = true;
1377
1423
  messageQueue.close();
1378
1424
  await handleAbort();
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
 
3
- var _package = require('./package-Bbfq2KR7.cjs');
3
+ var _package = require('./package-Gnf_935w.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--1k2Ptf6.cjs'); });
62
+ const { selfCheckMain } = await Promise.resolve().then(function () { return require('./selfCheck-D28nvuPJ.cjs'); });
63
63
  process.exit(await selfCheckMain({ verbose: isSelfCheckRequest(args) }));
64
64
  }
65
- const { main } = await Promise.resolve().then(function () { return require('./main-CVfx_-l7.cjs'); });
65
+ const { main } = await Promise.resolve().then(function () { return require('./main-ChpYcFZi.cjs'); });
66
66
  await main();
67
67
  }
68
68
  void run(process.argv.slice(2));
@@ -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-BILSzq2s.cjs');
6
- var persistence = require('./persistence-DPeSC0SK.cjs');
5
+ var logger = require('./logger-C3vZG6Q0.cjs');
6
+ var persistence = require('./persistence-CqtjFiD1.cjs');
7
7
  var loginShellEnv = require('./loginShellEnv-BkuYtExZ.cjs');
8
8
  require('chalk');
9
9
  require('node:util');
10
- require('./configuration-CAfdO4IC.cjs');
10
+ require('./configuration-DyPW9mVa.cjs');
11
11
  require('node:path');
12
- require('./package-Bbfq2KR7.cjs');
12
+ require('./package-Gnf_935w.cjs');
13
13
  require('node:fs/promises');
14
14
  require('zod');
15
15
  require('./authRelay-Dy1qU9td.cjs');
@@ -3,6 +3,7 @@ import { z as z$1 } from 'zod';
3
3
  import { isCuid, createId } from '@paralleldrive/cuid2';
4
4
 
5
5
  const CODEX_STEER_CAPABILITY = "codex-steer-v1";
6
+ const CODEX_COMPACT_CAPABILITY = "codex-compact-v1";
6
7
  const PI_STEER_CAPABILITY = "pi-steer-v1";
7
8
  const sessionRoleSchema = z.enum(["user", "agent"]);
8
9
  const sessionTextEventSchema = z.object({
@@ -994,9 +995,9 @@ function createBuiltinTodoClient(credentials, options2) {
994
995
  throw new BuiltinTodoError("order-collision", "These Todos share an order that cannot safely be changed");
995
996
  }
996
997
  }
997
- const updatedAt = Date.now();
998
- const nextRecord = { ...record, order: recordOrder, updatedAt };
999
- const nextNeighbor = { ...neighbor, order: neighborOrder, updatedAt };
998
+ const updatedAt2 = Date.now();
999
+ const nextRecord = { ...record, order: recordOrder, updatedAt: updatedAt2 };
1000
+ const nextNeighbor = { ...neighbor, order: neighborOrder, updatedAt: updatedAt2 };
1000
1001
  const versions = await mutate([mutation(record, nextRecord), mutation(neighbor, nextNeighbor)]);
1001
1002
  return [{ ...nextRecord, version: versions[0] }, { ...nextNeighbor, version: versions[1] }];
1002
1003
  }
@@ -1086,24 +1087,218 @@ z$1.object({
1086
1087
  startedAt: z$1.number(),
1087
1088
  at: z$1.number()
1088
1089
  });
1089
- const CLAUDE_OPUS_55_MODEL = "claude-opus-5-5";
1090
- const CLAUDE_OPUS_55_CAPABILITY = "claude-opus-5-5-v1";
1091
- function supportsClaudeOpus55(metadata) {
1092
- return metadata?.capabilities?.includes(CLAUDE_OPUS_55_CAPABILITY) === true;
1090
+ var version = 1;
1091
+ var updatedAt = "2026-10-30";
1092
+ var agents = {
1093
+ claude: {
1094
+ tier: "opus",
1095
+ pattern: "^claude-opus-(\\d+)(?:-(\\d{1,2}))?$",
1096
+ models: [
1097
+ {
1098
+ model: "claude-opus-5-5",
1099
+ label: "Opus 5.5",
1100
+ requires: {
1101
+ capability: "claude-opus-5-5-v1",
1102
+ cliVersion: "0.2.149"
1103
+ }
1104
+ }
1105
+ ]
1106
+ },
1107
+ codex: {
1108
+ tier: "sol",
1109
+ pattern: "^gpt-(\\d+)(?:\\.(\\d+))?-sol$",
1110
+ models: [
1111
+ {
1112
+ model: "gpt-6.1-sol",
1113
+ label: "gpt-6.1-sol",
1114
+ requires: {
1115
+ agentVersion: "0.160.0"
1116
+ }
1117
+ },
1118
+ {
1119
+ model: "gpt-6-sol",
1120
+ label: "gpt-6-sol",
1121
+ requires: {
1122
+ agentVersion: "0.157.0"
1123
+ }
1124
+ },
1125
+ {
1126
+ model: "gpt-5.6-sol",
1127
+ label: "gpt-5.6-sol",
1128
+ requires: {
1129
+ agentVersion: "0.150.0"
1130
+ }
1131
+ }
1132
+ ]
1133
+ },
1134
+ gemini: {
1135
+ tier: "pro",
1136
+ pattern: "^gemini-(\\d+)(?:\\.(\\d+))?-pro(?:-preview)?$",
1137
+ models: [
1138
+ {
1139
+ model: "gemini-3.1-pro-preview",
1140
+ label: "gemini 3.1 pro"
1141
+ },
1142
+ {
1143
+ model: "gemini-2.5-pro",
1144
+ label: "gemini 2.5 pro"
1145
+ }
1146
+ ]
1147
+ }
1148
+ };
1149
+ var bundledLatestModels = {
1150
+ version,
1151
+ updatedAt,
1152
+ agents
1153
+ };
1154
+ const LATEST_MODEL_MODE = "latest";
1155
+ function isLatestModelMode(model) {
1156
+ return model === LATEST_MODEL_MODE;
1157
+ }
1158
+ const LATEST_MODEL_AGENTS = ["claude", "codex", "gemini"];
1159
+ const LatestModelEntrySchema = z$1.object({
1160
+ model: z$1.string().min(1),
1161
+ label: z$1.string().optional(),
1162
+ /** What a machine/wrapper must have to run it. Absent = nothing provable
1163
+ * without the session's own catalog. */
1164
+ requires: z$1.object({
1165
+ /** Wrapper capability (session metadata.capabilities) — AGENTS.md rule 14. */
1166
+ capability: z$1.string().optional(),
1167
+ /** very-happy-cli version that first advertises `capability`; only used
1168
+ * before a session exists (launcher label). */
1169
+ cliVersion: z$1.string().optional(),
1170
+ /** First agent CLI (codex) whose bundled `model/list` carries the model. */
1171
+ agentVersion: z$1.string().optional()
1172
+ }).optional()
1173
+ });
1174
+ const LatestModelTierSchema = z$1.object({
1175
+ tier: z$1.string(),
1176
+ /** Regex source matching every id of the tier; its capture groups are the
1177
+ * version (`claude-opus-5-5` → 5,5; `gpt-6.1-sol` → 6.1). */
1178
+ pattern: z$1.string(),
1179
+ /** Known models of the tier, newest first. */
1180
+ models: z$1.array(LatestModelEntrySchema)
1181
+ });
1182
+ const LatestModelTableSchema = z$1.object({
1183
+ version: z$1.number(),
1184
+ updatedAt: z$1.string().optional(),
1185
+ agents: z$1.object({
1186
+ claude: LatestModelTierSchema.optional(),
1187
+ codex: LatestModelTierSchema.optional(),
1188
+ gemini: LatestModelTierSchema.optional()
1189
+ }).passthrough()
1190
+ }).passthrough();
1191
+ z$1.object({
1192
+ table: LatestModelTableSchema,
1193
+ source: z$1.enum(["bundled", "configured"])
1194
+ });
1195
+ const BUNDLED_LATEST_MODELS = LatestModelTableSchema.parse(bundledLatestModels);
1196
+ const MACHINE_CONFIG_AGENTS = ["codex", "gemini"];
1197
+ function compilePattern(source) {
1198
+ try {
1199
+ return new RegExp(source);
1200
+ } catch {
1201
+ return null;
1202
+ }
1203
+ }
1204
+ function tierVersion(tier, model) {
1205
+ const match = compilePattern(tier.pattern)?.exec(model);
1206
+ if (!match) return null;
1207
+ return match.slice(1).filter((part) => part !== void 0).map((part) => Number(part));
1093
1208
  }
1094
- function isClaudeOpus55Model(model) {
1095
- return model === CLAUDE_OPUS_55_MODEL || model === `${CLAUDE_OPUS_55_MODEL}[1m]`;
1209
+ function compareTierVersions(a, b) {
1210
+ for (let i = 0; i < Math.max(a.length, b.length); i++) {
1211
+ const diff = (a[i] ?? 0) - (b[i] ?? 0);
1212
+ if (diff !== 0) return diff;
1213
+ }
1214
+ return 0;
1215
+ }
1216
+ function catalogTierIds(tier, catalog) {
1217
+ const ids = /* @__PURE__ */ new Map();
1218
+ for (const entry of catalog ?? []) {
1219
+ for (const id2 of [entry.resolvedModel, entry.code]) {
1220
+ if (typeof id2 === "string" && tierVersion(tier, id2) && !ids.has(id2)) {
1221
+ ids.set(id2, entry.code === id2 && entry.value ? entry.value : id2);
1222
+ }
1223
+ }
1224
+ }
1225
+ return ids;
1226
+ }
1227
+ function entryRunnable(entry, ctx, catalogIds) {
1228
+ if (catalogIds.has(entry.model)) return true;
1229
+ const requires = entry.requires;
1230
+ {
1231
+ return !!requires?.capability && (ctx.capabilities ?? []).includes(requires.capability);
1232
+ }
1233
+ }
1234
+ function getLatestModelTier(table, agent) {
1235
+ if (agent !== "claude" && agent !== "codex" && agent !== "gemini") return null;
1236
+ const tier = table?.agents?.[agent] ?? BUNDLED_LATEST_MODELS.agents[agent];
1237
+ return tier && compilePattern(tier.pattern) ? tier : BUNDLED_LATEST_MODELS.agents[agent] ?? null;
1238
+ }
1239
+ function resolveLatestModel(table, agent, ctx) {
1240
+ const tier = getLatestModelTier(table, agent);
1241
+ if (!tier) return { model: null, newest: null, label: null, limited: false, configured: null };
1242
+ const catalogIds = catalogTierIds(tier, ctx.catalog);
1243
+ const labels = /* @__PURE__ */ new Map();
1244
+ const known = [];
1245
+ const runnable = [];
1246
+ for (const entry of tier.models) {
1247
+ if (!tierVersion(tier, entry.model)) continue;
1248
+ labels.set(entry.model, entry.label ?? entry.model);
1249
+ known.push(entry.model);
1250
+ if (entryRunnable(entry, ctx, catalogIds)) runnable.push(entry.model);
1251
+ }
1252
+ for (const [id2, label] of catalogIds) {
1253
+ if (!labels.has(id2)) labels.set(id2, label);
1254
+ known.push(id2);
1255
+ runnable.push(id2);
1256
+ }
1257
+ const newestOf = (ids) => {
1258
+ let best = null;
1259
+ for (const id2 of ids) {
1260
+ const version2 = tierVersion(tier, id2);
1261
+ if (!best || compareTierVersions(version2, best.version) > 0) best = { id: id2, version: version2 };
1262
+ }
1263
+ return best?.id ?? null;
1264
+ };
1265
+ const newest = newestOf(known);
1266
+ if (MACHINE_CONFIG_AGENTS.includes(agent ?? "")) {
1267
+ const configured = typeof ctx.configuredModel === "string" && ctx.configuredModel.trim() ? ctx.configuredModel.trim() : null;
1268
+ if (configured || ctx.configuredModel === void 0) {
1269
+ return { model: null, newest, label: configured, limited: false, configured };
1270
+ }
1271
+ }
1272
+ const model = newestOf(runnable);
1273
+ const sameVersion = model !== null && newest !== null && compareTierVersions(tierVersion(tier, model), tierVersion(tier, newest)) === 0;
1274
+ return {
1275
+ model,
1276
+ newest,
1277
+ label: model ? labels.get(model) ?? model : null,
1278
+ limited: newest !== null && !sameVersion,
1279
+ configured: null
1280
+ };
1281
+ }
1282
+ function parseLatestModelTable(value) {
1283
+ const parsed = LatestModelTableSchema.safeParse(value);
1284
+ if (!parsed.success) return null;
1285
+ for (const agent of LATEST_MODEL_AGENTS) {
1286
+ const tier = parsed.data.agents[agent];
1287
+ if (tier && !compilePattern(tier.pattern)) return null;
1288
+ }
1289
+ return parsed.data;
1096
1290
  }
1097
1291
  const AGENT_CODE_DEFAULTS = {
1098
1292
  // The Claude UI key for YOLO is `bypassPermissions`; the CLI also accepts
1099
1293
  // `yolo` and maps it to the Claude SDK's bypass mode.
1100
- // model defaults to the pinned Opus 5.5 id (not the `opus` alias, whose
1101
- // target depends on the wrapper's bundled Claude Code). Wrappers that
1102
- // cannot run it fall back to 'default' (see supportsClaudeOpus55).
1103
- // effort null = don't send effort.
1104
- claude: { permissionMode: "bypassPermissions", modelMode: CLAUDE_OPUS_55_MODEL, effortLevel: null },
1105
- codex: { permissionMode: "yolo", modelMode: "gpt-5.5", effortLevel: "medium" },
1106
- gemini: { permissionMode: "default", modelMode: "gemini-2.5-pro", effortLevel: null },
1294
+ // model: `latest` (B-844) = the newest model of the agent's tier that the
1295
+ // session's wrapper can run, resolved at send time (modelLatest.ts) and
1296
+ // never sent as is. Today: Claude → claude-opus-5-5 (pinned id, not the
1297
+ // `opus` alias), Codex → gpt-6.1-sol on Codex >= 0.160, Gemini → the
1298
+ // newest pro its session catalog lists. effort null = don't send effort.
1299
+ claude: { permissionMode: "bypassPermissions", modelMode: LATEST_MODEL_MODE, effortLevel: null },
1300
+ codex: { permissionMode: "yolo", modelMode: LATEST_MODEL_MODE, effortLevel: "medium" },
1301
+ gemini: { permissionMode: "default", modelMode: LATEST_MODEL_MODE, effortLevel: null },
1107
1302
  openclaw: { permissionMode: "default", modelMode: "default", effortLevel: null },
1108
1303
  // pi: the runner keeps Claude's permission vocabulary (B-350 — HAPPY_PERMISSION_MODE +
1109
1304
  // session-modes file, enforced by the pi-side gate; `bypassPermissions` = auto-allow every
@@ -1449,4 +1644,4 @@ z.object({
1449
1644
  reason: z.string()
1450
1645
  });
1451
1646
 
1452
- export { AUTOMATION_NAME_PATTERN as A, BUILTIN_TODO_SKILL as B, isAttentionBoardLocalId as C, OwnerBoardUpdateInputSchema as D, OwnerBoardResolveInputSchema as E, OwnerBoardListInputSchema as F, ATTENTION_SESSION_CAPABILITY as G, RelayAssignmentResponseSchema as H, CODEX_STEER_CAPABILITY as I, RelayCandidatesResponseSchema as J, ServerMigrateNoticeSchema as K, isHarnessInstallId as L, AUTOMATION_PRECHECK_OUTPUT_MAX_CHARS as M, AUTOMATION_PRECHECK_DEFAULT_TIMEOUT_MS as N, OwnerBoardPostInputSchema as O, PROMPT_QUEUE_CAPABILITY as P, AUTOMATION_CLAIM_MAX_RUNS as Q, ReleaseDrainNoticeSchema as R, STREAM_DELTA_MAX_CHARS as S, AUTOMATION_DAEMON_CAPABILITY_PRECHECK as T, AUTOMATION_DEFAULT_LEASE_MS as U, HARNESS_INSTALL_CAPABILITY_VERSION as V, PROJECT_SESSION_CAPABILITY as a, AUTOMATION_PRECHECK_MAX_TIMEOUT_MS as b, AutomationPrecheckSchema as c, AUTOMATION_ATTENTION_REASON_MAX_CHARS as d, AUTOMATION_SUMMARY_MAX_CHARS as e, isInsideTeamWorktree as f, createEnvelope as g, createBuiltinTodoClient as h, isAutomationRunTerminal as i, BUILTIN_TODO_DISCOVERY as j, getAgentCodeDefaults as k, isClaudeOpus55Model as l, supportsClaudeOpus55 as m, normalizeAgentKey as n, AutomationNameSchema as o, AutomationConcurrencySchema as p, AutomationActionSchema as q, rebaseTeamWorktreePath as r, streamKeyOf as s, AutomationTriggerSchema as t, AgentVersionsSchema as u, PI_STEER_CAPABILITY as v, AGENT_VERSION_SOURCES as w, ATTENTION_DISABLED_ERROR as x, ATTENTION_LIMITS as y, ownerBoardPostToRest as z };
1647
+ export { AUTOMATION_NAME_PATTERN as A, BUILTIN_TODO_SKILL as B, ownerBoardPostToRest as C, isAttentionBoardLocalId as D, OwnerBoardUpdateInputSchema as E, OwnerBoardResolveInputSchema as F, OwnerBoardListInputSchema as G, ATTENTION_SESSION_CAPABILITY as H, RelayAssignmentResponseSchema as I, CODEX_STEER_CAPABILITY as J, CODEX_COMPACT_CAPABILITY as K, RelayCandidatesResponseSchema as L, ServerMigrateNoticeSchema as M, isHarnessInstallId as N, OwnerBoardPostInputSchema as O, PROMPT_QUEUE_CAPABILITY as P, AUTOMATION_PRECHECK_OUTPUT_MAX_CHARS as Q, ReleaseDrainNoticeSchema as R, STREAM_DELTA_MAX_CHARS as S, AUTOMATION_PRECHECK_DEFAULT_TIMEOUT_MS as T, AUTOMATION_CLAIM_MAX_RUNS as U, AUTOMATION_DAEMON_CAPABILITY_PRECHECK as V, AUTOMATION_DEFAULT_LEASE_MS as W, HARNESS_INSTALL_CAPABILITY_VERSION as X, PROJECT_SESSION_CAPABILITY as a, AUTOMATION_PRECHECK_MAX_TIMEOUT_MS as b, AutomationPrecheckSchema as c, AUTOMATION_ATTENTION_REASON_MAX_CHARS as d, AUTOMATION_SUMMARY_MAX_CHARS as e, isInsideTeamWorktree as f, createEnvelope as g, createBuiltinTodoClient as h, isAutomationRunTerminal as i, BUILTIN_TODO_DISCOVERY as j, getAgentCodeDefaults as k, isLatestModelMode as l, resolveLatestModel as m, normalizeAgentKey as n, AutomationNameSchema as o, parseLatestModelTable as p, AutomationConcurrencySchema as q, rebaseTeamWorktreePath as r, streamKeyOf as s, AutomationActionSchema as t, AutomationTriggerSchema as u, AgentVersionsSchema as v, PI_STEER_CAPABILITY as w, AGENT_VERSION_SOURCES as x, ATTENTION_DISABLED_ERROR as y, ATTENTION_LIMITS as z };
@@ -1,16 +1,16 @@
1
1
  'use strict';
2
2
 
3
- var query = require('./query-Cuef299f.cjs');
3
+ var query = require('./query-Bz3pocKH.cjs');
4
4
  var claudeAgentSdk = require('@anthropic-ai/claude-agent-sdk');
5
5
  require('./promptCacheTtl-B8PCzE6k.cjs');
6
6
  require('node:fs');
7
7
  require('node:os');
8
8
  require('node:path');
9
- require('./logger-BILSzq2s.cjs');
9
+ require('./logger-C3vZG6Q0.cjs');
10
10
  require('chalk');
11
11
  require('node:util');
12
- require('./configuration-CAfdO4IC.cjs');
13
- require('./package-Bbfq2KR7.cjs');
12
+ require('./configuration-DyPW9mVa.cjs');
13
+ require('./package-Gnf_935w.cjs');
14
14
  require('node:fs/promises');
15
15
  require('./processTreeSnapshot-mDbnuojn.cjs');
16
16
  require('node:child_process');
package/dist/index.cjs CHANGED
@@ -1,7 +1,7 @@
1
1
  'use strict';
2
2
 
3
- require('./package-Bbfq2KR7.cjs');
4
- require('./index-BpWESchl.cjs');
3
+ require('./package-Gnf_935w.cjs');
4
+ require('./index-DoXbGEAi.cjs');
5
5
  require('node:module');
6
6
  require('node:fs');
7
7
  require('node:fs/promises');
package/dist/index.mjs CHANGED
@@ -1,5 +1,5 @@
1
- import './package-BMBwnCn3.mjs';
2
- import './index-BpSpw6jG.mjs';
1
+ import './package-CwB8rFJt.mjs';
2
+ import './index-B1OxWiNG.mjs';
3
3
  import 'node:module';
4
4
  import 'node:fs';
5
5
  import 'node:fs/promises';
@@ -1,15 +1,15 @@
1
- import { l as logger } from './logger-SAU4uSs4.mjs';
1
+ import { l as logger } from './logger-RpzJ4d8V.mjs';
2
2
  import { existsSync, writeFileSync, chmodSync } from 'fs';
3
3
  import { execSync } from 'child_process';
4
4
  import { t as trimIdent } from './trimIdent-BAjmv_TG.mjs';
5
5
  import os from 'os';
6
6
  import 'chalk';
7
7
  import 'node:util';
8
- import './configuration-8EAa2X9P.mjs';
8
+ import './configuration-BZHpFD7K.mjs';
9
9
  import 'node:fs';
10
10
  import 'node:os';
11
11
  import 'node:path';
12
- import './package-BMBwnCn3.mjs';
12
+ import './package-CwB8rFJt.mjs';
13
13
  import 'node:fs/promises';
14
14
 
15
15
  const PLIST_LABEL = "com.happy-cli.daemon";
@@ -1,17 +1,17 @@
1
1
  'use strict';
2
2
 
3
- var logger = require('./logger-BILSzq2s.cjs');
3
+ var logger = require('./logger-C3vZG6Q0.cjs');
4
4
  var require$$0 = require('fs');
5
5
  var child_process = require('child_process');
6
6
  var trimIdent = require('./trimIdent-4gvk9Wk6.cjs');
7
7
  var os = require('os');
8
8
  require('chalk');
9
9
  require('node:util');
10
- require('./configuration-CAfdO4IC.cjs');
10
+ require('./configuration-DyPW9mVa.cjs');
11
11
  require('node:fs');
12
12
  require('node:os');
13
13
  require('node:path');
14
- require('./package-Bbfq2KR7.cjs');
14
+ require('./package-Gnf_935w.cjs');
15
15
  require('node:fs/promises');
16
16
 
17
17
  const PLIST_LABEL = "com.happy-cli.daemon";