very-happy-cli 0.2.175 → 0.2.176

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 (179) hide show
  1. package/dist/{AcpBackend-Sb6N_HcB.cjs → AcpBackend-9_ZI1Bv3.cjs} +3 -3
  2. package/dist/{AcpBackend-BZrLVcHb.mjs → AcpBackend-COp6D8gl.mjs} +3 -3
  3. package/dist/{AcpSessionManager-C2MqOirs.cjs → AcpSessionManager-CjdJLofq.cjs} +1 -1
  4. package/dist/{AcpSessionManager-y1Iy1mzc.mjs → AcpSessionManager-DykjzBM4.mjs} +1 -1
  5. package/dist/{BasePermissionHandler-DriZLITp.mjs → BasePermissionHandler-ChMkmsGD.mjs} +1 -1
  6. package/dist/{BasePermissionHandler-BbLYwd13.cjs → BasePermissionHandler-DPvLN7aR.cjs} +1 -1
  7. package/dist/{BaseReasoningProcessor-_S1PbSvH.cjs → BaseReasoningProcessor-Dnf16mtJ.cjs} +1 -1
  8. package/dist/{BaseReasoningProcessor-DnykPlPo.mjs → BaseReasoningProcessor-pjvLSTQF.mjs} +1 -1
  9. package/dist/{agentHome-BoYfpemd.cjs → agentHome-BKi7tsE9.cjs} +4 -4
  10. package/dist/{agentHome-BtuRubHG.mjs → agentHome-D61ZMLXM.mjs} +4 -4
  11. package/dist/{api-KZmVqSKO.cjs → api-Buc_ejoA.cjs} +10 -10
  12. package/dist/{api-D08IEaWa.mjs → api-CbwDDXJt.mjs} +10 -10
  13. package/dist/{apiMachine-Dct2GDAq.cjs → apiMachine--PXoXwKq.cjs} +14 -14
  14. package/dist/{apiMachine-Cx9Zn-78.mjs → apiMachine-CS7t3Rg-.mjs} +15 -15
  15. package/dist/{attachmentContent-PrNJg8gG.mjs → attachmentContent-BQYc8KpE.mjs} +2 -2
  16. package/dist/{attachmentContent-4L9dO8E3.cjs → attachmentContent-CFzzTeV9.cjs} +2 -2
  17. package/dist/{attachmentLimits-BLbji11b.mjs → attachmentLimits-Di1Z93lN.mjs} +1 -1
  18. package/dist/{attachmentLimits-D6bT2jU1.cjs → attachmentLimits-DtFqqiwR.cjs} +1 -1
  19. package/dist/{auth-D1qHU-i_.mjs → auth-B3xMoveE.mjs} +5 -5
  20. package/dist/{auth-PY_HGlzz.mjs → auth-CBkmRIGw.mjs} +8 -8
  21. package/dist/{auth-BGmM3Vlm.cjs → auth-CpO3ZUMz.cjs} +5 -5
  22. package/dist/{auth-BI0CsMcy.cjs → auth-LPvsVriN.cjs} +8 -8
  23. package/dist/{auto-COMphIfD.mjs → auto-DHGch_zK.mjs} +16 -16
  24. package/dist/{auto-DM4_FeKb.cjs → auto-Dm3EIKT7.cjs} +15 -15
  25. package/dist/{bootstrap-DTJ6-vYT.cjs → bootstrap-BboDz_w2.cjs} +2 -2
  26. package/dist/{bootstrap-CWjpC5-J.mjs → bootstrap-CxuBAkJU.mjs} +2 -2
  27. package/dist/{browser-xuW4fiHo.mjs → browser-BvARP-YR.mjs} +1 -1
  28. package/dist/{browser-DmgVoopB.cjs → browser-GQZJxD2n.cjs} +1 -1
  29. package/dist/{claudeLocal-B0P-wVJJ.mjs → claudeLocal-B9EhFmD7.mjs} +6 -6
  30. package/dist/{claudeLocal-CtZVz3ee.cjs → claudeLocal-D-mujSX1.cjs} +5 -5
  31. package/dist/{claudeLocalLauncher-D4vmjI3c.mjs → claudeLocalLauncher-Bdl-9aU_.mjs} +11 -11
  32. package/dist/{claudeLocalLauncher-Dnv4CH8r.cjs → claudeLocalLauncher-Tbrx6TXF.cjs} +10 -10
  33. package/dist/{claudeSessionFork-CxjOBoBh.mjs → claudeSessionFork-D_DKvDKE.mjs} +1 -1
  34. package/dist/{claudeSessionFork-DQk5-dzR.cjs → claudeSessionFork-sOz97qqW.cjs} +1 -1
  35. package/dist/{client-eQjOvC55.mjs → client-Cg6ABRe-.mjs} +3 -3
  36. package/dist/{client-BHZVyQwi.cjs → client-D7sSU04O.cjs} +3 -3
  37. package/dist/{client-BhLhjj_x.cjs → client-D9pEOhn4.cjs} +2 -2
  38. package/dist/{client-C4ddTzrD.mjs → client-Ryu9fllj.mjs} +2 -2
  39. package/dist/codex/happyMcpStdioBridge.cjs +15 -15
  40. package/dist/codex/happyMcpStdioBridge.mjs +15 -15
  41. package/dist/{codexAppServerClient-CppPl_R6.mjs → codexAppServerClient-C70pJ-BB.mjs} +285 -28
  42. package/dist/{codexAppServerClient-D-9z-lWP.cjs → codexAppServerClient-DsIUkVnX.cjs} +281 -24
  43. package/dist/{codexCommand-AgVJYnFU.cjs → codexCommand-Aycux-B7.cjs} +156 -59
  44. package/dist/{codexCommand-BdrBNbZu.mjs → codexCommand-DWbA3pJN.mjs} +157 -60
  45. package/dist/{config-D89sE3wK.cjs → config-BcL0bxO5.cjs} +3 -3
  46. package/dist/{config-Cr3VUzbE.mjs → config-Bztmzu8z.mjs} +3 -3
  47. package/dist/{configuration-BNGPXg07.mjs → configuration-BAwOtWFY.mjs} +1 -1
  48. package/dist/{configuration-UV4EE5ui.cjs → configuration-CpBrilxV.cjs} +1 -1
  49. package/dist/{connect-B35YXbdZ.cjs → connect-BBNCMTi8.cjs} +13 -13
  50. package/dist/{connect-C0iLkCiY.mjs → connect-BeWQ4MMA.mjs} +13 -13
  51. package/dist/{context-BmH2BKip.cjs → context-Hk0j2Y9-.cjs} +1 -1
  52. package/dist/{context-Ptdnlcv6.mjs → context-j114QJre.mjs} +1 -1
  53. package/dist/{controlClient-DqtC0pq1.mjs → controlClient-00KYAjsI.mjs} +3 -3
  54. package/dist/{controlClient-CtsQMw--.cjs → controlClient-bs_YqwDl.cjs} +3 -3
  55. package/dist/{createSessionMetadata-2IuH5nlA.cjs → createSessionMetadata-D4Sj6H95.cjs} +2 -2
  56. package/dist/{createSessionMetadata-CtNMvfth.mjs → createSessionMetadata-xlycGog5.mjs} +2 -2
  57. package/dist/{defaultPermissionMode-DYihjV2g.mjs → defaultPermissionMode-B97ox9p1.mjs} +2 -2
  58. package/dist/{defaultPermissionMode-Bn4HcU8S.cjs → defaultPermissionMode-CMsiaRzr.cjs} +2 -2
  59. package/dist/{deterministicJson-je21npNx.cjs → deterministicJson-aHxtYLha.cjs} +9 -9
  60. package/dist/{deterministicJson-DF4xv6MH.mjs → deterministicJson-ucyv8j6b.mjs} +9 -9
  61. package/dist/{doctor-BXKcYVGU.cjs → doctor-BXkNXcok.cjs} +7 -7
  62. package/dist/{doctor-Ba92L7-b.mjs → doctor-D554c6Bg.mjs} +7 -7
  63. package/dist/{downloadTarget-CUJg8iJV.mjs → downloadTarget-2_zMvt2N.mjs} +6 -6
  64. package/dist/{downloadTarget-JC7FZl7W.cjs → downloadTarget-CmdlljZW.cjs} +6 -6
  65. package/dist/{ensureDaemonRunning-bIp6-vgi.cjs → ensureDaemonRunning-CY7iC--U.cjs} +5 -5
  66. package/dist/{ensureDaemonRunning-JPA9tHNE.mjs → ensureDaemonRunning-DJlziY-m.mjs} +5 -5
  67. package/dist/{handleResumeCommand-B6lE5DtU.mjs → handleResumeCommand-CNTnXBXA.mjs} +5 -5
  68. package/dist/{handleResumeCommand-B6b9kIYf.cjs → handleResumeCommand-lSVnvTNC.cjs} +5 -5
  69. package/dist/{index-CZLwo1FS.mjs → index-59hR7nVz.mjs} +3 -3
  70. package/dist/{index-DW1ONaGc.mjs → index-CxSLrTPA.mjs} +4 -4
  71. package/dist/{index-boE-d8CM.mjs → index-DMy3OCBe.mjs} +8 -1
  72. package/dist/{index-CjE4kBKx.mjs → index-DY3I8j0W.mjs} +37 -37
  73. package/dist/{index-BZdhwBKa.cjs → index-De8L5lFK.cjs} +8 -0
  74. package/dist/{index-B1ABQRrB.cjs → index-DhARRePz.cjs} +4 -4
  75. package/dist/{index-D759ViMU.cjs → index-MwTVbeGW.cjs} +3 -3
  76. package/dist/{index-B2KL0aPc.cjs → index-jeD70GGH.cjs} +36 -36
  77. package/dist/index.cjs +2 -2
  78. package/dist/index.mjs +2 -2
  79. package/dist/{install-KjIsK_EA.cjs → install-DXUEtGfU.cjs} +3 -3
  80. package/dist/{install-CmojqnLK.mjs → install-DytIJ_Ia.mjs} +3 -3
  81. package/dist/lib.cjs +12 -12
  82. package/dist/lib.mjs +12 -12
  83. package/dist/{lidState-CL1NdKfQ.mjs → lidState-CduPmrM0.mjs} +1 -1
  84. package/dist/{lidState-BmJp2pLt.cjs → lidState-UasMvPzw.cjs} +1 -1
  85. package/dist/{localHappyAgentAuth-9SP7hdiw.cjs → localHappyAgentAuth-CA02WOny.cjs} +1 -1
  86. package/dist/{localHappyAgentAuth-B7f4Ysn0.mjs → localHappyAgentAuth-DL8JjHTV.mjs} +1 -1
  87. package/dist/{logger-D5EzMy30.mjs → logger-CihCDWDw.mjs} +2 -2
  88. package/dist/{logger-C7dRaCkE.cjs → logger-zoO54Zsy.cjs} +2 -2
  89. package/dist/{machineMetadata-DYYuK_0c.cjs → machineMetadata-BAKVtr-k.cjs} +3 -3
  90. package/dist/{machineMetadata-DqplCWue.mjs → machineMetadata-DEZcQ_CQ.mjs} +3 -3
  91. package/dist/{main-kgCQgknK.cjs → main-BIvxyX71.cjs} +44 -44
  92. package/dist/{main-CnV62agu.mjs → main-DyJfNlL_.mjs} +44 -44
  93. package/dist/{manager-BEsI4qt3.mjs → manager-2Il8XJVq.mjs} +1 -1
  94. package/dist/{mcp-BV0vxHtz.cjs → mcp-Dd11vHij.cjs} +14 -14
  95. package/dist/{mcp-bDPaj-tM.mjs → mcp-yoIdGe6C.mjs} +14 -14
  96. package/dist/{mirrorProtocol-ClKhNXYe.mjs → mirrorProtocol-BukXB5s3.mjs} +3 -3
  97. package/dist/{mirrorProtocol-BSHVZ8Nf.cjs → mirrorProtocol-D-hF_SE5.cjs} +3 -3
  98. package/dist/{package-VqWv7EI5.cjs → package-A7zOGx8B.cjs} +7 -7
  99. package/dist/{package-D0dxZ-W8.mjs → package-ayqGDKSp.mjs} +7 -7
  100. package/dist/{peerTools-B_eiNB3P.mjs → peerTools-DDMSViPu.mjs} +4 -4
  101. package/dist/{peerTools-BktGmlpd.cjs → peerTools-dPc9hRC5.cjs} +4 -4
  102. package/dist/{persistence-DweHi8xa.cjs → persistence-Cih2AWml.cjs} +2 -2
  103. package/dist/{persistence-CIIhP0Uw.mjs → persistence-Dy3lmall.mjs} +2 -2
  104. package/dist/{piRunnerArgs-BNzWTNRV.cjs → piRunnerArgs-BuJgnUI5.cjs} +1 -1
  105. package/dist/{piRunnerArgs-cQafsadv.mjs → piRunnerArgs-D3z3-1VJ.mjs} +1 -1
  106. package/dist/{piRuntime-VZLSwW-4.cjs → piRuntime-B-SPcWIr.cjs} +1 -1
  107. package/dist/{piRuntime-Bel5lOLb.mjs → piRuntime-kVGue-_5.mjs} +1 -1
  108. package/dist/{piTerminal-DkR8sPv-.cjs → piTerminal-DSxK5aAm.cjs} +16 -16
  109. package/dist/{piTerminal-CS5SDi_H.mjs → piTerminal-aEtVdCJ2.mjs} +16 -16
  110. package/dist/{rateLimitWindows-Bp4T21RI.cjs → rateLimitWindows-82izLQy8.cjs} +1 -1
  111. package/dist/{rateLimitWindows-Bo6XVnie.mjs → rateLimitWindows-E5DRjfE6.mjs} +1 -1
  112. package/dist/{registerCommonHandlers-CR5jpiSx.mjs → registerCommonHandlers-Bm7CMqMv.mjs} +2 -2
  113. package/dist/{registerCommonHandlers-B7QZxkCL.cjs → registerCommonHandlers-CqO075-X.cjs} +2 -2
  114. package/dist/{registerKillSessionHandler-DLiu24CQ.mjs → registerKillSessionHandler-D02OY4vi.mjs} +6 -6
  115. package/dist/{registerKillSessionHandler-CcX84g-T.cjs → registerKillSessionHandler-WQra3T9B.cjs} +6 -6
  116. package/dist/{remoteSessionClient-CUjw1COc.mjs → remoteSessionClient-Buh6NejV.mjs} +5 -5
  117. package/dist/{remoteSessionClient-CL3akj0K.cjs → remoteSessionClient-f3DYorl8.cjs} +5 -5
  118. package/dist/{reportProgressTool-DzMi4mvH.cjs → reportProgressTool-C2gn_HWD.cjs} +2 -2
  119. package/dist/{reportProgressTool-BLLwMQrN.mjs → reportProgressTool-C5aSoKYX.mjs} +2 -2
  120. package/dist/{run-5pmOElaW.cjs → run-CDEmq6Zs.cjs} +34 -34
  121. package/dist/{run-DGokR_6q.mjs → run-Drxogp0j.mjs} +33 -33
  122. package/dist/{runClaude-BFlpZQds.mjs → runClaude-BF6U2Js7.mjs} +21 -21
  123. package/dist/{runClaude-EnYNvkV0.cjs → runClaude-yEcZTCt_.cjs} +21 -21
  124. package/dist/{runClaudeDeps-D1M1dzlZ.mjs → runClaudeDeps-Bl4ndq7N.mjs} +40 -40
  125. package/dist/{runClaudeDeps-CUDebE9e.cjs → runClaudeDeps-CnNNFjlI.cjs} +35 -35
  126. package/dist/{runGemini-Bub8T5cM.mjs → runGemini-C3wt7iv7.mjs} +32 -32
  127. package/dist/{runGemini-Bu69Zu1u.cjs → runGemini-DDVDRNg4.cjs} +32 -32
  128. package/dist/{runOpenClaw-Cob5F3FC.cjs → runOpenClaw-BzlVA_9Q.cjs} +18 -18
  129. package/dist/{runOpenClaw-DVu73F_i.mjs → runOpenClaw-CY6YHAvj.mjs} +18 -18
  130. package/dist/{sandbox-GDqMagSF.cjs → sandbox-0UNHR3hP.cjs} +4 -4
  131. package/dist/{sandbox-9EKOFyQF.mjs → sandbox-CX_wLwpq.mjs} +4 -4
  132. package/dist/selfCheck-ClVv8NK3.mjs +84 -0
  133. package/dist/{selfCheck-DiNo34da.cjs → selfCheck-FNwMFY8p.cjs} +34 -34
  134. package/dist/{send-ThC80164.cjs → send-BQkl25g0.cjs} +8 -8
  135. package/dist/{send-wgtHphq8.mjs → send-CpEGYict.mjs} +8 -8
  136. package/dist/{server-bidHnstE.cjs → server-BodFZ5sW.cjs} +6 -6
  137. package/dist/{server-Bb8v2fOj.mjs → server-DnINX_Lm.mjs} +4 -4
  138. package/dist/{sessionLock-BWBcBZKh.cjs → sessionLock-DOj6mMXn.cjs} +3 -3
  139. package/dist/{sessionLock-gb32sVPR.mjs → sessionLock-Ddn-fhZ0.mjs} +3 -3
  140. package/dist/{sessionModeFile-C-fr1M1h.mjs → sessionModeFile-DDbonFR_.mjs} +1 -1
  141. package/dist/{sessionModeFile-DhuTNcJr.cjs → sessionModeFile-DVukoSp7.cjs} +1 -1
  142. package/dist/{sessionOps-ByZJbkMq.mjs → sessionOps-B1vQ25GS.mjs} +4 -4
  143. package/dist/{sessionOps-9MChM9Op.cjs → sessionOps-Nryt1DZt.cjs} +4 -4
  144. package/dist/{sessionScanner-BpegdnXK.cjs → sessionScanner-D1h-cdte.cjs} +3 -3
  145. package/dist/{sessionScanner-CxXPAVyS.mjs → sessionScanner-DCr3ofhR.mjs} +3 -3
  146. package/dist/{sessions-C1X4z_Lm.cjs → sessions-D2HsTbLf.cjs} +9 -9
  147. package/dist/{sessions-l-UgJGjV.mjs → sessions-DpAN6Ft9.mjs} +9 -9
  148. package/dist/{setupOfflineReconnection-CS_8Da8R.cjs → setupOfflineReconnection-B9Tw1Ouj.cjs} +2 -2
  149. package/dist/{setupOfflineReconnection-CgtXlV74.mjs → setupOfflineReconnection-DQHEp330.mjs} +2 -2
  150. package/dist/{spawn-FyoHqYWo.mjs → spawn-CNjm1yOi.mjs} +14 -14
  151. package/dist/{spawn-D2BlNdZu.cjs → spawn-CvDZ38hi.cjs} +13 -13
  152. package/dist/{spawnAgents-BhsbJ253.mjs → spawnAgents-BjtmjBvP.mjs} +1 -1
  153. package/dist/{spawnAgents-CgMKuOhZ.cjs → spawnAgents-CCjJifAW.cjs} +1 -1
  154. package/dist/{spawnHappyCLI-DsC256j_.mjs → spawnHappyCLI-C8Vl56wB.mjs} +1 -1
  155. package/dist/{spawnHappyCLI-DByQcqEN.cjs → spawnHappyCLI-ahi4j6Mh.cjs} +1 -1
  156. package/dist/{specialCommands-DGUeZqdm.cjs → specialCommands-BpqnGrOP.cjs} +3 -3
  157. package/dist/{specialCommands-DUUBqzvd.mjs → specialCommands-DfVMGXTl.mjs} +3 -3
  158. package/dist/{startFileWatcher-CaYRObJu.mjs → startFileWatcher-DXJXY4AE.mjs} +1 -1
  159. package/dist/{startFileWatcher-BtBaahTn.cjs → startFileWatcher-Ddn3L0u3.cjs} +1 -1
  160. package/dist/{streamRelay-DqPFsCgx.cjs → streamRelay-Cx01enfe.cjs} +1 -1
  161. package/dist/{streamRelay-C8zI7OnR.mjs → streamRelay-_qCd873P.mjs} +1 -1
  162. package/dist/{sync-D5YqUVjS.mjs → sync-BKvgkhPs.mjs} +1 -1
  163. package/dist/{sync-BK-IBkuB.cjs → sync-BgZuthoS.cjs} +1 -1
  164. package/dist/{systemPrompt-DaTKLEb-.cjs → systemPrompt-C6O1cHUg.cjs} +2 -2
  165. package/dist/{systemPrompt-e-qeag_h.mjs → systemPrompt-DuPem6c9.mjs} +2 -2
  166. package/dist/{teams-ClrppvKu.mjs → teams-CffMBBfU.mjs} +6 -6
  167. package/dist/{teams-D9xwa_d3.cjs → teams-DifEhhmk.cjs} +6 -6
  168. package/dist/{time-CvrpeD3S.mjs → time-DxCTiteK.mjs} +1 -1
  169. package/dist/{time-0szhiPo4.cjs → time-s8CaneqW.cjs} +1 -1
  170. package/dist/{titleGenerator-BZ5770wq.mjs → titleGenerator-B5T7QSzu.mjs} +1 -1
  171. package/dist/{titleGenerator-Dz5P7sE1.cjs → titleGenerator-CXr7t6cf.cjs} +2 -2
  172. package/dist/{todo-CkmNJQey.cjs → todo-B41GKMcI.cjs} +6 -6
  173. package/dist/{todo-o-miKcN2.mjs → todo-DNO7s8td.mjs} +6 -6
  174. package/dist/{tools-Cp0qJeBq.mjs → tools-697R1uqn.mjs} +1 -1
  175. package/dist/{tools-C77-Ssan.cjs → tools-lotMyxIE.cjs} +1 -1
  176. package/dist/{uninstall-DGUPERDX.cjs → uninstall-CRu96len.cjs} +3 -3
  177. package/dist/{uninstall-jNJDCLD_.mjs → uninstall-CYO7EDjO.mjs} +3 -3
  178. package/package.json +7 -7
  179. package/dist/selfCheck-CNo4uzGB.mjs +0 -84
@@ -1,96 +1,96 @@
1
- import { a as authAndSetupMachineIfNeeded } from './auth-D1qHU-i_.mjs';
2
- import { c as createEnvelope, o as BUILTIN_TODO_DISCOVERY, P as PROMPT_QUEUE_CAPABILITY } from './index-boE-d8CM.mjs';
1
+ import { a as authAndSetupMachineIfNeeded } from './auth-B3xMoveE.mjs';
2
+ import { c as createEnvelope, o as BUILTIN_TODO_DISCOVERY, P as PROMPT_QUEUE_CAPABILITY, r as CODEX_STEER_CAPABILITY } from './index-DMy3OCBe.mjs';
3
+ import { unlink } from 'node:fs/promises';
3
4
  import { p as publishForkBackfillWhenCommitted, F as FORK_BACKFILL_CAPABILITY } from './forkBackfill-DYIjlN1Z.mjs';
4
5
  import { randomUUID } from 'node:crypto';
5
6
  import { createId } from '@paralleldrive/cuid2';
6
7
  import { r as registerAgentAttachmentDownloads } from './agentAttachments-M_B5qEF2.mjs';
7
- import { C as CLAUDE_ATTACHMENT_KINDS, a as stageClaudeAttachments, b as appendStagedAttachmentsToPrompt } from './attachmentContent-PrNJg8gG.mjs';
8
+ import { C as CLAUDE_ATTACHMENT_KINDS, a as stageClaudeAttachments, b as appendStagedAttachmentsToPrompt } from './attachmentContent-BQYc8KpE.mjs';
8
9
  import { useStdout, useInput, Box, Text, render } from 'ink';
9
- import { c as claimSessionOrExit, a as applyServerSnapshot, b as applyHibernationReplay, w as withoutServerSnapshot, m as mergeReconnectMetadata } from './sessionLock-gb32sVPR.mjs';
10
+ import { c as claimSessionOrExit, a as applyServerSnapshot, b as applyHibernationReplay, w as withoutServerSnapshot, m as mergeReconnectMetadata } from './sessionLock-Ddn-fhZ0.mjs';
10
11
  import React, { useState, useRef, useEffect, useCallback } from 'react';
11
- import { c as connectionState, A as ApiClient } from './api-D08IEaWa.mjs';
12
- import { C as CodexAppServerClient } from './codexAppServerClient-CppPl_R6.mjs';
13
- import { p as parseSpecialCommand, w as wrapperRateLimitReporter } from './specialCommands-DUUBqzvd.mjs';
14
- import { l as logger } from './logger-D5EzMy30.mjs';
15
- import { B as BasePermissionHandler } from './BasePermissionHandler-DriZLITp.mjs';
16
- import { B as BaseReasoningProcessor } from './BaseReasoningProcessor-DnykPlPo.mjs';
12
+ import { c as connectionState, A as ApiClient } from './api-CbwDDXJt.mjs';
13
+ import { C as CodexAppServerClient } from './codexAppServerClient-C70pJ-BB.mjs';
14
+ import { p as parseSpecialCommand, w as wrapperRateLimitReporter } from './specialCommands-DfVMGXTl.mjs';
15
+ import { l as logger } from './logger-CihCDWDw.mjs';
16
+ import { B as BasePermissionHandler } from './BasePermissionHandler-ChMkmsGD.mjs';
17
+ import { B as BaseReasoningProcessor } from './BaseReasoningProcessor-pjvLSTQF.mjs';
17
18
  import { execSync } from 'node:child_process';
18
- import { r as readSettings, l as latchKeepAwake, e as evaluateWrapperIdle, a as resolveCheckMs, H as HIBERNATION_CAPABILITY } from './persistence-CIIhP0Uw.mjs';
19
- import { g as getInitialMachineMetadata } from './machineMetadata-DqplCWue.mjs';
20
- import { c as configuration } from './configuration-BNGPXg07.mjs';
21
- import { M as MessageQueue2, r as registerKillSessionHandler } from './registerKillSessionHandler-DLiu24CQ.mjs';
19
+ import { r as readSettings, l as latchKeepAwake, e as evaluateWrapperIdle, a as resolveCheckMs, H as HIBERNATION_CAPABILITY } from './persistence-Dy3lmall.mjs';
20
+ import { g as getInitialMachineMetadata } from './machineMetadata-DEZcQ_CQ.mjs';
21
+ import { c as configuration } from './configuration-BAwOtWFY.mjs';
22
+ import { M as MessageQueue2, r as registerKillSessionHandler } from './registerKillSessionHandler-D02OY4vi.mjs';
22
23
  import { p as projectPath } from './projectPath-BTBIMB57.mjs';
23
24
  import { join } from 'node:path';
24
- import { c as createSessionMetadata } from './createSessionMetadata-CtNMvfth.mjs';
25
- import { h as hashObject, s as startHappyServer } from './deterministicJson-DF4xv6MH.mjs';
25
+ import { c as createSessionMetadata } from './createSessionMetadata-xlycGog5.mjs';
26
+ import { h as hashObject, s as startHappyServer } from './deterministicJson-ucyv8j6b.mjs';
26
27
  import { M as MessageBuffer } from './messageBuffer-BWlGgR3A.mjs';
27
- import { n as notifyDaemonSessionStarted, j as reportSessionEditToDaemon, c as checkDaemonHibernation } from './controlClient-DqtC0pq1.mjs';
28
- import { a as HibernationExitLatch, H as HibernationProbe, c as commitHibernation, b as DEFAULT_CODEX_PERMISSION_MODE } from './defaultPermissionMode-DYihjV2g.mjs';
28
+ import { n as notifyDaemonSessionStarted, j as reportSessionEditToDaemon, c as checkDaemonHibernation } from './controlClient-00KYAjsI.mjs';
29
+ import { a as HibernationExitLatch, H as HibernationProbe, c as commitHibernation, b as DEFAULT_CODEX_PERMISSION_MODE } from './defaultPermissionMode-B97ox9p1.mjs';
29
30
  import { d as decodeBase64, e as encodeBase64 } from './authRelay-DSAvg1uv.mjs';
30
- import { s as setupOfflineReconnection } from './setupOfflineReconnection-CgtXlV74.mjs';
31
+ import { s as setupOfflineReconnection } from './setupOfflineReconnection-DQHEp330.mjs';
31
32
  import { t as trimIdent } from './trimIdent-BAjmv_TG.mjs';
32
33
  import { C as CHANGE_TITLE_INSTRUCTION } from './constants-BC4St0xd.mjs';
33
34
  import { E as EditReportThrottle, a as extractCodexPatchPaths } from './editPaths-BVfS_FFL.mjs';
34
- import { a as extractNoSandboxFlag, e as ensureDaemonRunning } from './ensureDaemonRunning-JPA9tHNE.mjs';
35
+ import { a as extractNoSandboxFlag, e as ensureDaemonRunning } from './ensureDaemonRunning-DJlziY-m.mjs';
35
36
  import 'tweetnacl';
36
37
  import 'axios';
37
- import './time-CvrpeD3S.mjs';
38
- import './browser-xuW4fiHo.mjs';
38
+ import './time-DxCTiteK.mjs';
39
+ import './browser-BvARP-YR.mjs';
39
40
  import 'open';
40
41
  import 'zod';
41
- import 'node:fs/promises';
42
- import './attachmentLimits-BLbji11b.mjs';
42
+ import './attachmentLimits-Di1Z93lN.mjs';
43
43
  import 'node:fs';
44
- import './lidState-CL1NdKfQ.mjs';
44
+ import './lidState-CduPmrM0.mjs';
45
45
  import 'os';
46
46
  import 'child_process';
47
47
  import 'node:events';
48
48
  import 'socket.io-client';
49
49
  import './limits-DIo7rEBR.mjs';
50
- import './registerCommonHandlers-CR5jpiSx.mjs';
50
+ import './registerCommonHandlers-Bm7CMqMv.mjs';
51
51
  import 'util';
52
52
  import 'fs/promises';
53
53
  import 'crypto';
54
54
  import 'path';
55
55
  import 'cross-spawn';
56
- import './sync-D5YqUVjS.mjs';
56
+ import './sync-BKvgkhPs.mjs';
57
57
  import './backgroundTaskActivity-8PdPxrvy.mjs';
58
58
  import './contentLogMetadata-BlWI0egu.mjs';
59
59
  import 'chalk';
60
60
  import 'node:readline';
61
- import './manager-BEsI4qt3.mjs';
61
+ import './manager-2Il8XJVq.mjs';
62
62
  import '@anthropic-ai/sandbox-runtime';
63
63
  import 'node:os';
64
- import './package-D0dxZ-W8.mjs';
65
- import './rateLimitWindows-Bo6XVnie.mjs';
64
+ import './package-ayqGDKSp.mjs';
65
+ import './rateLimitWindows-E5DRjfE6.mjs';
66
66
  import 'node:util';
67
67
  import './detectCLI-CSGMlV51.mjs';
68
68
  import 'fs';
69
- import './localHappyAgentAuth-B7f4Ysn0.mjs';
69
+ import './localHappyAgentAuth-DL8JjHTV.mjs';
70
70
  import './types-CkqAACXx.mjs';
71
71
  import 'url';
72
- import './client-eQjOvC55.mjs';
73
- import './context-Ptdnlcv6.mjs';
74
- import './sessionOps-ByZJbkMq.mjs';
72
+ import './client-Cg6ABRe-.mjs';
73
+ import './context-j114QJre.mjs';
74
+ import './sessionOps-B1vQ25GS.mjs';
75
75
  import './resources-BdFBQi8r.mjs';
76
- import './tools-Cp0qJeBq.mjs';
77
- import './reportProgressTool-BLLwMQrN.mjs';
78
- import './client-C4ddTzrD.mjs';
76
+ import './tools-697R1uqn.mjs';
77
+ import './reportProgressTool-C5aSoKYX.mjs';
78
+ import './client-Ryu9fllj.mjs';
79
79
  import './precheckCompat-DeEbilbr.mjs';
80
80
  import './agentGuidance-BDYt2Qy2.mjs';
81
- import './peerTools-B_eiNB3P.mjs';
81
+ import './peerTools-DDMSViPu.mjs';
82
82
  import './ids-DU6sLx4C.mjs';
83
- import './remoteSessionClient-CUjw1COc.mjs';
83
+ import './remoteSessionClient-Buh6NejV.mjs';
84
84
  import '@modelcontextprotocol/sdk/server/mcp.js';
85
85
  import 'node:http';
86
86
  import '@modelcontextprotocol/sdk/server/streamableHttp.js';
87
- import './downloadTarget-CUJg8iJV.mjs';
87
+ import './downloadTarget-2_zMvt2N.mjs';
88
88
  import './terminals-Dlg0x3nY.mjs';
89
89
  import './terminalTitleSuggest-CeKsX_V6.mjs';
90
90
  import './tmuxSocket-B8Yx20sT.mjs';
91
- import './bootstrap-CWjpC5-J.mjs';
91
+ import './bootstrap-CxuBAkJU.mjs';
92
92
  import './previewPath-CXN4Vag0.mjs';
93
- import './spawnHappyCLI-DsC256j_.mjs';
93
+ import './spawnHappyCLI-C8Vl56wB.mjs';
94
94
  import './doctorReadiness-C208SMN9.mjs';
95
95
 
96
96
  function getStartedSubagents(state) {
@@ -102,13 +102,29 @@ function getActiveSubagents(state) {
102
102
  function getProviderSubagentToSessionSubagent(state) {
103
103
  return state.providerSubagentToSessionSubagent ?? /* @__PURE__ */ new Map();
104
104
  }
105
- function maybeEmitSubagentStart(subagent, opts, startedSubagents, activeSubagents, envelopes) {
106
- if (!subagent || startedSubagents.has(subagent)) {
105
+ function getLabeledSubagents(state) {
106
+ return state.labeledSubagents ?? /* @__PURE__ */ new Set();
107
+ }
108
+ function maybeEmitSubagentStart(subagent, opts, startedSubagents, activeSubagents, envelopes, label, labeledSubagents = /* @__PURE__ */ new Set()) {
109
+ if (!subagent) {
110
+ return;
111
+ }
112
+ if (startedSubagents.has(subagent)) {
113
+ if (label && !labeledSubagents.has(subagent)) {
114
+ envelopes.push(createEnvelope("agent", { t: "start", description: label }, { ...opts, subagent }));
115
+ labeledSubagents.add(subagent);
116
+ }
107
117
  return;
108
118
  }
109
- envelopes.push(createEnvelope("agent", { t: "start" }, { ...opts, subagent }));
119
+ envelopes.push(createEnvelope("agent", { t: "start", ...label ? { description: label } : {} }, { ...opts, subagent }));
110
120
  startedSubagents.add(subagent);
111
121
  activeSubagents.add(subagent);
122
+ if (label) labeledSubagents.add(subagent);
123
+ }
124
+ function subagentStopStatus(status) {
125
+ if (status === "failed") return "failed";
126
+ if (status === "interrupted" || status === "cancelled" || status === "canceled" || status === "aborted") return "stopped";
127
+ return "completed";
112
128
  }
113
129
  function emitSubagentStops(opts, startedSubagents, activeSubagents) {
114
130
  const envelopes = [];
@@ -134,6 +150,10 @@ function pickProviderSubagent(message) {
134
150
  }
135
151
  return void 0;
136
152
  }
153
+ function pickSubagentLabel(message) {
154
+ const label = message.subagent_label;
155
+ return typeof label === "string" && label.length > 0 ? label : void 0;
156
+ }
137
157
  function resolveSessionSubagent(message, providerSubagentToSessionSubagent) {
138
158
  const providerSubagent = pickProviderSubagent(message);
139
159
  if (!providerSubagent) {
@@ -412,14 +432,25 @@ function mapCodexMcpMessageToSessionEnvelopes(message, state) {
412
432
  const startedSubagents = getStartedSubagents(state);
413
433
  const activeSubagents = getActiveSubagents(state);
414
434
  const providerSubagentToSessionSubagent = getProviderSubagentToSessionSubagent(state);
435
+ const labeledSubagents = getLabeledSubagents(state);
415
436
  if (type === "collab_agent_item") {
416
- return {
417
- currentTurnId: state.currentTurnId,
418
- startedSubagents,
419
- activeSubagents,
420
- providerSubagentToSessionSubagent,
421
- envelopes: mapCodexCollaborationItem(message.item, buildEnvelopeOptions(state.currentTurnId), "live")
422
- };
437
+ const subagent2 = resolveSessionSubagent(message, providerSubagentToSessionSubagent);
438
+ const opts2 = buildEnvelopeOptions(state.currentTurnId, subagent2);
439
+ const envelopes = [];
440
+ maybeEmitSubagentStart(subagent2, opts2, startedSubagents, activeSubagents, envelopes, pickSubagentLabel(message), labeledSubagents);
441
+ envelopes.push(...mapCodexCollaborationItem(message.item, opts2, "live"));
442
+ return { currentTurnId: state.currentTurnId, startedSubagents, activeSubagents, providerSubagentToSessionSubagent, labeledSubagents, envelopes };
443
+ }
444
+ if (type === "subagent_turn_end") {
445
+ const providerSubagent = pickProviderSubagent(message);
446
+ const sessionSubagent = providerSubagent ? providerSubagentToSessionSubagent.get(providerSubagent) : void 0;
447
+ const envelopes = [];
448
+ if (sessionSubagent && activeSubagents.has(sessionSubagent)) {
449
+ envelopes.push(createEnvelope("agent", { t: "stop", status: subagentStopStatus(message.status) }, buildEnvelopeOptions(state.currentTurnId, sessionSubagent)));
450
+ activeSubagents.delete(sessionSubagent);
451
+ startedSubagents.delete(sessionSubagent);
452
+ }
453
+ return { currentTurnId: state.currentTurnId, startedSubagents, activeSubagents, providerSubagentToSessionSubagent, labeledSubagents, envelopes };
423
454
  }
424
455
  if (type === "task_started") {
425
456
  const turnId = createId();
@@ -427,11 +458,13 @@ function mapCodexMcpMessageToSessionEnvelopes(message, state) {
427
458
  startedSubagents.clear();
428
459
  activeSubagents.clear();
429
460
  providerSubagentToSessionSubagent.clear();
461
+ labeledSubagents.clear();
430
462
  return {
431
463
  currentTurnId: turnId,
432
464
  startedSubagents,
433
465
  activeSubagents,
434
466
  providerSubagentToSessionSubagent,
467
+ labeledSubagents,
435
468
  envelopes: [turnStart]
436
469
  };
437
470
  }
@@ -442,16 +475,19 @@ function mapCodexMcpMessageToSessionEnvelopes(message, state) {
442
475
  startedSubagents,
443
476
  activeSubagents,
444
477
  providerSubagentToSessionSubagent,
478
+ labeledSubagents,
445
479
  envelopes: []
446
480
  };
447
481
  }
448
482
  const lifecycleOpts = { turn: state.currentTurnId };
449
483
  providerSubagentToSessionSubagent.clear();
484
+ labeledSubagents.clear();
450
485
  return {
451
486
  currentTurnId: null,
452
487
  startedSubagents,
453
488
  activeSubagents,
454
489
  providerSubagentToSessionSubagent,
490
+ labeledSubagents,
455
491
  envelopes: [
456
492
  ...emitSubagentStops(lifecycleOpts, startedSubagents, activeSubagents),
457
493
  createEnvelope("agent", {
@@ -467,6 +503,7 @@ function mapCodexMcpMessageToSessionEnvelopes(message, state) {
467
503
  startedSubagents,
468
504
  activeSubagents,
469
505
  providerSubagentToSessionSubagent,
506
+ labeledSubagents,
470
507
  envelopes: []
471
508
  };
472
509
  }
@@ -479,17 +516,19 @@ function mapCodexMcpMessageToSessionEnvelopes(message, state) {
479
516
  startedSubagents,
480
517
  activeSubagents,
481
518
  providerSubagentToSessionSubagent,
519
+ labeledSubagents,
482
520
  envelopes: []
483
521
  };
484
522
  }
485
523
  const envelopes = [];
486
- maybeEmitSubagentStart(subagent, opts, startedSubagents, activeSubagents, envelopes);
524
+ maybeEmitSubagentStart(subagent, opts, startedSubagents, activeSubagents, envelopes, pickSubagentLabel(message), labeledSubagents);
487
525
  envelopes.push(createEnvelope("agent", { t: "text", text: message.message }, opts));
488
526
  return {
489
527
  currentTurnId: state.currentTurnId,
490
528
  startedSubagents,
491
529
  activeSubagents,
492
530
  providerSubagentToSessionSubagent,
531
+ labeledSubagents,
493
532
  envelopes
494
533
  };
495
534
  }
@@ -501,17 +540,19 @@ function mapCodexMcpMessageToSessionEnvelopes(message, state) {
501
540
  startedSubagents,
502
541
  activeSubagents,
503
542
  providerSubagentToSessionSubagent,
543
+ labeledSubagents,
504
544
  envelopes: []
505
545
  };
506
546
  }
507
547
  const envelopes = [];
508
- maybeEmitSubagentStart(subagent, opts, startedSubagents, activeSubagents, envelopes);
548
+ maybeEmitSubagentStart(subagent, opts, startedSubagents, activeSubagents, envelopes, pickSubagentLabel(message), labeledSubagents);
509
549
  envelopes.push(createEnvelope("agent", { t: "text", text, thinking: true }, opts));
510
550
  return {
511
551
  currentTurnId: state.currentTurnId,
512
552
  startedSubagents,
513
553
  activeSubagents,
514
554
  providerSubagentToSessionSubagent,
555
+ labeledSubagents,
515
556
  envelopes
516
557
  };
517
558
  }
@@ -521,7 +562,7 @@ function mapCodexMcpMessageToSessionEnvelopes(message, state) {
521
562
  const command = summarizeCommand(args.command);
522
563
  const description = typeof args.description === "string" ? args.description : command ?? "Execute command";
523
564
  const envelopes = [];
524
- maybeEmitSubagentStart(subagent, opts, startedSubagents, activeSubagents, envelopes);
565
+ maybeEmitSubagentStart(subagent, opts, startedSubagents, activeSubagents, envelopes, pickSubagentLabel(message), labeledSubagents);
525
566
  envelopes.push(
526
567
  createEnvelope("agent", {
527
568
  t: "tool-call-start",
@@ -537,19 +578,21 @@ function mapCodexMcpMessageToSessionEnvelopes(message, state) {
537
578
  startedSubagents,
538
579
  activeSubagents,
539
580
  providerSubagentToSessionSubagent,
581
+ labeledSubagents,
540
582
  envelopes
541
583
  };
542
584
  }
543
585
  if (type === "exec_command_end") {
544
586
  const call = pickCallId(message);
545
587
  const envelopes = [];
546
- maybeEmitSubagentStart(subagent, opts, startedSubagents, activeSubagents, envelopes);
588
+ maybeEmitSubagentStart(subagent, opts, startedSubagents, activeSubagents, envelopes, pickSubagentLabel(message), labeledSubagents);
547
589
  envelopes.push(createEnvelope("agent", { t: "tool-call-end", call }, opts));
548
590
  return {
549
591
  currentTurnId: state.currentTurnId,
550
592
  startedSubagents,
551
593
  activeSubagents,
552
594
  providerSubagentToSessionSubagent,
595
+ labeledSubagents,
553
596
  envelopes
554
597
  };
555
598
  }
@@ -558,7 +601,7 @@ function mapCodexMcpMessageToSessionEnvelopes(message, state) {
558
601
  const autoApproved = message.auto_approved;
559
602
  const changes = message.changes;
560
603
  const envelopes = [];
561
- maybeEmitSubagentStart(subagent, opts, startedSubagents, activeSubagents, envelopes);
604
+ maybeEmitSubagentStart(subagent, opts, startedSubagents, activeSubagents, envelopes, pickSubagentLabel(message), labeledSubagents);
562
605
  envelopes.push(
563
606
  createEnvelope("agent", {
564
607
  t: "tool-call-start",
@@ -577,19 +620,21 @@ function mapCodexMcpMessageToSessionEnvelopes(message, state) {
577
620
  startedSubagents,
578
621
  activeSubagents,
579
622
  providerSubagentToSessionSubagent,
623
+ labeledSubagents,
580
624
  envelopes
581
625
  };
582
626
  }
583
627
  if (type === "patch_apply_end") {
584
628
  const call = pickCallId(message);
585
629
  const envelopes = [];
586
- maybeEmitSubagentStart(subagent, opts, startedSubagents, activeSubagents, envelopes);
630
+ maybeEmitSubagentStart(subagent, opts, startedSubagents, activeSubagents, envelopes, pickSubagentLabel(message), labeledSubagents);
587
631
  envelopes.push(createEnvelope("agent", { t: "tool-call-end", call }, opts));
588
632
  return {
589
633
  currentTurnId: state.currentTurnId,
590
634
  startedSubagents,
591
635
  activeSubagents,
592
636
  providerSubagentToSessionSubagent,
637
+ labeledSubagents,
593
638
  envelopes
594
639
  };
595
640
  }
@@ -598,6 +643,7 @@ function mapCodexMcpMessageToSessionEnvelopes(message, state) {
598
643
  startedSubagents,
599
644
  activeSubagents,
600
645
  providerSubagentToSessionSubagent,
646
+ labeledSubagents,
601
647
  envelopes: []
602
648
  };
603
649
  }
@@ -1248,6 +1294,27 @@ function enqueueCodexUserText(opts) {
1248
1294
  return "queued";
1249
1295
  }
1250
1296
 
1297
+ async function steerIntoRunningTurn(deps, text, attachments, localKey) {
1298
+ if (!deps.ownsTurn()) return false;
1299
+ const staged = attachments?.length ? await deps.stage(attachments) : [];
1300
+ try {
1301
+ const outcome = await deps.steer({
1302
+ text: deps.withAttachments(text, staged),
1303
+ images: staged.filter((file) => deps.isImage(file)).map((file) => file.path),
1304
+ clientId: localKey
1305
+ });
1306
+ if (outcome === "steered") {
1307
+ deps.onSteered(text);
1308
+ return true;
1309
+ }
1310
+ deps.log(`[Codex] Steer not taken (${outcome}); queuing the message for the next turn`);
1311
+ } catch (error) {
1312
+ deps.log(`[Codex] Steer failed; queuing the message for the next turn: ${error instanceof Error ? error.message : String(error)}`);
1313
+ }
1314
+ await Promise.all(staged.map((file) => deps.unlink(file.path).catch(() => void 0)));
1315
+ return false;
1316
+ }
1317
+
1251
1318
  function hashCodexEnhancedMode(mode) {
1252
1319
  return hashObject({
1253
1320
  permissionMode: mode.permissionMode,
@@ -1349,7 +1416,7 @@ async function runCodex(opts) {
1349
1416
  dangerouslySkipPermissions: initialPermissionMode === "yolo" || initialPermissionMode === "bypassPermissions",
1350
1417
  ...forkedFromSessionId ? { parentSessionId: forkedFromSessionId } : {},
1351
1418
  ...forkedFromMessageId ? { forkedFromMessageId } : {},
1352
- capabilities: [PROMPT_QUEUE_CAPABILITY, FORK_BACKFILL_CAPABILITY, HIBERNATION_CAPABILITY]
1419
+ capabilities: [PROMPT_QUEUE_CAPABILITY, FORK_BACKFILL_CAPABILITY, HIBERNATION_CAPABILITY, CODEX_STEER_CAPABILITY]
1353
1420
  });
1354
1421
  metadata.attachmentKinds = [...CLAUDE_ATTACHMENT_KINDS];
1355
1422
  const importCodexThreadId = process.env[IMPORT_CODEX_THREAD_ENV];
@@ -1480,6 +1547,20 @@ async function runCodex(opts) {
1480
1547
  ];
1481
1548
  let discoveredModels = [];
1482
1549
  registerAgentAttachmentDownloads(session);
1550
+ const CODEX_IMAGE_MIME_TYPES = ["image/jpeg", "image/png", "image/gif", "image/webp"];
1551
+ const steerDeps = {
1552
+ ownsTurn: () => turnActive && !abortInProgress && !shouldExit,
1553
+ steer: (input) => client.steerTurn(input),
1554
+ stage: (attachments) => stageClaudeAttachments(attachments, {
1555
+ happyHomeDir: configuration.happyHomeDir,
1556
+ sessionId: session.sessionId
1557
+ }),
1558
+ withAttachments: appendStagedAttachmentsToPrompt,
1559
+ unlink: (path) => unlink(path),
1560
+ isImage: (file) => CODEX_IMAGE_MIME_TYPES.includes(file.mimeType),
1561
+ onSteered: (text) => messageBuffer.addMessage(text, "user"),
1562
+ log: (message) => logger.debug(message)
1563
+ };
1483
1564
  let userMessageDelivery = Promise.resolve();
1484
1565
  session.onUserMessage((message) => {
1485
1566
  const downloads = session.drainAttachmentsForUserMessage();
@@ -1537,6 +1618,12 @@ async function runCodex(opts) {
1537
1618
  appendSystemPrompt: messageAppendSystemPrompt,
1538
1619
  effort: messageEffort
1539
1620
  };
1621
+ if (message.meta?.delivery === "steer" && !isCodexClearText(message.content.text)) {
1622
+ if (await steerIntoRunningTurn(steerDeps, message.content.text, attachments, message.localKey)) {
1623
+ logger.debug("[Codex] User message steered into the current turn");
1624
+ return;
1625
+ }
1626
+ }
1540
1627
  const enqueueResult = enqueueCodexUserText({
1541
1628
  text: message.content.text,
1542
1629
  mode: enhancedMode,
@@ -1557,6 +1644,7 @@ async function runCodex(opts) {
1557
1644
  let codexStartedSubagents = /* @__PURE__ */ new Set();
1558
1645
  let codexActiveSubagents = /* @__PURE__ */ new Set();
1559
1646
  let codexProviderSubagentToSessionSubagent = /* @__PURE__ */ new Map();
1647
+ let codexLabeledSubagents = /* @__PURE__ */ new Set();
1560
1648
  session.keepAlive(thinking, "remote");
1561
1649
  const keepAliveInterval = setInterval(() => {
1562
1650
  session.keepAlive(thinking, "remote");
@@ -1778,6 +1866,12 @@ async function runCodex(opts) {
1778
1866
  const notice = describeCodexRetry(msg);
1779
1867
  messageBuffer.addMessage(notice, "status");
1780
1868
  session.sendSessionEvent({ type: "message", message: notice });
1869
+ } else if (msg.type === "steer_dropped") {
1870
+ const clientIds = Array.isArray(msg.client_ids) ? msg.client_ids.filter((id) => typeof id === "string" && id.length > 0) : [];
1871
+ if (clientIds.length > 0) {
1872
+ session.sendQueueCancelReason(clientIds, "aborted");
1873
+ messageBuffer.addMessage("A steered message was not read before the turn ended", "status");
1874
+ }
1781
1875
  }
1782
1876
  if (msg.type === "task_started") {
1783
1877
  if (!thinking) {
@@ -1832,12 +1926,14 @@ async function runCodex(opts) {
1832
1926
  currentTurnId,
1833
1927
  startedSubagents: codexStartedSubagents,
1834
1928
  activeSubagents: codexActiveSubagents,
1835
- providerSubagentToSessionSubagent: codexProviderSubagentToSessionSubagent
1929
+ providerSubagentToSessionSubagent: codexProviderSubagentToSessionSubagent,
1930
+ labeledSubagents: codexLabeledSubagents
1836
1931
  });
1837
1932
  currentTurnId = mapped.currentTurnId;
1838
1933
  codexStartedSubagents = mapped.startedSubagents;
1839
1934
  codexActiveSubagents = mapped.activeSubagents;
1840
1935
  codexProviderSubagentToSessionSubagent = mapped.providerSubagentToSessionSubagent;
1936
+ codexLabeledSubagents = mapped.labeledSubagents;
1841
1937
  for (const envelope of mapped.envelopes) {
1842
1938
  session.sendSessionProtocolMessage(envelope);
1843
1939
  }
@@ -2005,6 +2101,7 @@ async function runCodex(opts) {
2005
2101
  codexStartedSubagents = /* @__PURE__ */ new Set();
2006
2102
  codexActiveSubagents = /* @__PURE__ */ new Set();
2007
2103
  codexProviderSubagentToSessionSubagent = /* @__PURE__ */ new Map();
2104
+ codexLabeledSubagents = /* @__PURE__ */ new Set();
2008
2105
  permissionHandler.reset();
2009
2106
  reasoningProcessor.abort();
2010
2107
  diffProcessor.reset();
@@ -4,15 +4,15 @@ var fs = require('fs');
4
4
  var path = require('path');
5
5
  var os = require('os');
6
6
  var child_process = require('child_process');
7
- var logger = require('./logger-C7dRaCkE.cjs');
7
+ var logger = require('./logger-zoO54Zsy.cjs');
8
8
  var constants = require('./constants-VJ0N6WuG.cjs');
9
9
  require('chalk');
10
10
  require('node:util');
11
- require('./configuration-UV4EE5ui.cjs');
11
+ require('./configuration-CpBrilxV.cjs');
12
12
  require('node:fs');
13
13
  require('node:os');
14
14
  require('node:path');
15
- require('./package-VqWv7EI5.cjs');
15
+ require('./package-A7zOGx8B.cjs');
16
16
  require('node:fs/promises');
17
17
  require('./trimIdent-4gvk9Wk6.cjs');
18
18
 
@@ -2,15 +2,15 @@ import { existsSync, readFileSync, mkdirSync, writeFileSync } from 'fs';
2
2
  import { join } from 'path';
3
3
  import { homedir } from 'os';
4
4
  import { execSync } from 'child_process';
5
- import { l as logger } from './logger-D5EzMy30.mjs';
5
+ import { l as logger } from './logger-CihCDWDw.mjs';
6
6
  import { D as DEFAULT_GEMINI_MODEL, G as GEMINI_MODEL_ENV } from './constants-BC4St0xd.mjs';
7
7
  import 'chalk';
8
8
  import 'node:util';
9
- import './configuration-BNGPXg07.mjs';
9
+ import './configuration-BAwOtWFY.mjs';
10
10
  import 'node:fs';
11
11
  import 'node:os';
12
12
  import 'node:path';
13
- import './package-D0dxZ-W8.mjs';
13
+ import './package-ayqGDKSp.mjs';
14
14
  import 'node:fs/promises';
15
15
  import './trimIdent-BAjmv_TG.mjs';
16
16
 
@@ -1,7 +1,7 @@
1
1
  import { mkdirSync, chmodSync, readdirSync, statSync, appendFileSync, writeFileSync, existsSync, readFileSync } from 'node:fs';
2
2
  import { homedir } from 'node:os';
3
3
  import { join } from 'node:path';
4
- import { p as packageJson } from './package-D0dxZ-W8.mjs';
4
+ import { p as packageJson } from './package-ayqGDKSp.mjs';
5
5
  import { mkdir, chmod, writeFile } from 'node:fs/promises';
6
6
 
7
7
  const PRIVATE_DIRECTORY_MODE = 448;
@@ -3,7 +3,7 @@
3
3
  var node_fs = require('node:fs');
4
4
  var os = require('node:os');
5
5
  var path = require('node:path');
6
- var _package = require('./package-VqWv7EI5.cjs');
6
+ var _package = require('./package-A7zOGx8B.cjs');
7
7
  var promises = require('node:fs/promises');
8
8
 
9
9
  const PRIVATE_DIRECTORY_MODE = 448;
@@ -3,12 +3,12 @@
3
3
  var chalk = require('chalk');
4
4
  var os = require('os');
5
5
  var path = require('path');
6
- var persistence = require('./persistence-DweHi8xa.cjs');
7
- var api = require('./api-KZmVqSKO.cjs');
8
- var configuration = require('./configuration-UV4EE5ui.cjs');
6
+ var persistence = require('./persistence-Cih2AWml.cjs');
7
+ var api = require('./api-Buc_ejoA.cjs');
8
+ var configuration = require('./configuration-CpBrilxV.cjs');
9
9
  var http = require('http');
10
10
  var crypto = require('crypto');
11
- var browser = require('./browser-DmgVoopB.cjs');
11
+ var browser = require('./browser-GQZJxD2n.cjs');
12
12
  var child_process = require('child_process');
13
13
  var util = require('util');
14
14
  require('node:fs/promises');
@@ -17,29 +17,29 @@ require('zod');
17
17
  require('./authRelay-BdYkC1Po.cjs');
18
18
  require('node:crypto');
19
19
  require('tweetnacl');
20
- require('./logger-C7dRaCkE.cjs');
20
+ require('./logger-zoO54Zsy.cjs');
21
21
  require('node:util');
22
22
  require('node:path');
23
23
  require('axios');
24
- require('./lidState-BmJp2pLt.cjs');
24
+ require('./lidState-UasMvPzw.cjs');
25
25
  require('node:events');
26
26
  require('socket.io-client');
27
- require('./attachmentLimits-D6bT2jU1.cjs');
28
- require('./index-BZdhwBKa.cjs');
27
+ require('./attachmentLimits-DtFqqiwR.cjs');
28
+ require('./index-De8L5lFK.cjs');
29
29
  require('@paralleldrive/cuid2');
30
30
  require('./limits-C-a7gr04.cjs');
31
- require('./time-0szhiPo4.cjs');
32
- require('./registerCommonHandlers-B7QZxkCL.cjs');
31
+ require('./time-s8CaneqW.cjs');
32
+ require('./registerCommonHandlers-CqO075-X.cjs');
33
33
  require('fs/promises');
34
34
  require('cross-spawn');
35
35
  require('./projectPath-ChLhdOyt.cjs');
36
36
  require('url');
37
- require('./sync-BK-IBkuB.cjs');
37
+ require('./sync-BgZuthoS.cjs');
38
38
  require('./backgroundTaskActivity-CBvUdj39.cjs');
39
- require('./controlClient-CtsQMw--.cjs');
39
+ require('./controlClient-bs_YqwDl.cjs');
40
40
  require('./contentLogMetadata-ZSFk_NjQ.cjs');
41
41
  require('node:os');
42
- require('./package-VqWv7EI5.cjs');
42
+ require('./package-A7zOGx8B.cjs');
43
43
  require('open');
44
44
 
45
45
  const CLIENT_ID$2 = "app_EMoamEEZ73f0CkXaXp7hrann";
@@ -1,12 +1,12 @@
1
1
  import chalk from 'chalk';
2
2
  import { homedir } from 'os';
3
3
  import { join } from 'path';
4
- import { c as readCredentialsForConfiguredRelay } from './persistence-CIIhP0Uw.mjs';
5
- import { A as ApiClient } from './api-D08IEaWa.mjs';
6
- import { f as ensurePrivateDirectorySync, w as writePrivateFileSync } from './configuration-BNGPXg07.mjs';
4
+ import { c as readCredentialsForConfiguredRelay } from './persistence-Dy3lmall.mjs';
5
+ import { A as ApiClient } from './api-CbwDDXJt.mjs';
6
+ import { f as ensurePrivateDirectorySync, w as writePrivateFileSync } from './configuration-BAwOtWFY.mjs';
7
7
  import { createServer } from 'http';
8
8
  import { randomBytes, createHash } from 'crypto';
9
- import { o as openBrowser } from './browser-xuW4fiHo.mjs';
9
+ import { o as openBrowser } from './browser-BvARP-YR.mjs';
10
10
  import { exec } from 'child_process';
11
11
  import { promisify } from 'util';
12
12
  import 'node:fs/promises';
@@ -15,29 +15,29 @@ import 'zod';
15
15
  import './authRelay-DSAvg1uv.mjs';
16
16
  import 'node:crypto';
17
17
  import 'tweetnacl';
18
- import './logger-D5EzMy30.mjs';
18
+ import './logger-CihCDWDw.mjs';
19
19
  import 'node:util';
20
20
  import 'node:path';
21
21
  import 'axios';
22
- import './lidState-CL1NdKfQ.mjs';
22
+ import './lidState-CduPmrM0.mjs';
23
23
  import 'node:events';
24
24
  import 'socket.io-client';
25
- import './attachmentLimits-BLbji11b.mjs';
26
- import './index-boE-d8CM.mjs';
25
+ import './attachmentLimits-Di1Z93lN.mjs';
26
+ import './index-DMy3OCBe.mjs';
27
27
  import '@paralleldrive/cuid2';
28
28
  import './limits-DIo7rEBR.mjs';
29
- import './time-CvrpeD3S.mjs';
30
- import './registerCommonHandlers-CR5jpiSx.mjs';
29
+ import './time-DxCTiteK.mjs';
30
+ import './registerCommonHandlers-Bm7CMqMv.mjs';
31
31
  import 'fs/promises';
32
32
  import 'cross-spawn';
33
33
  import './projectPath-BTBIMB57.mjs';
34
34
  import 'url';
35
- import './sync-D5YqUVjS.mjs';
35
+ import './sync-BKvgkhPs.mjs';
36
36
  import './backgroundTaskActivity-8PdPxrvy.mjs';
37
- import './controlClient-DqtC0pq1.mjs';
37
+ import './controlClient-00KYAjsI.mjs';
38
38
  import './contentLogMetadata-BlWI0egu.mjs';
39
39
  import 'node:os';
40
- import './package-D0dxZ-W8.mjs';
40
+ import './package-ayqGDKSp.mjs';
41
41
  import 'open';
42
42
 
43
43
  const CLIENT_ID$2 = "app_EMoamEEZ73f0CkXaXp7hrann";