very-happy-cli 0.2.175 → 0.2.177
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.
- package/dist/{AcpBackend-Sb6N_HcB.cjs → AcpBackend-B-ny68XM.cjs} +188 -37
- package/dist/{AcpBackend-BZrLVcHb.mjs → AcpBackend-B0K0WrtW.mjs} +187 -38
- package/dist/{AcpSessionManager-C2MqOirs.cjs → AcpSessionManager-CjdJLofq.cjs} +1 -1
- package/dist/{AcpSessionManager-y1Iy1mzc.mjs → AcpSessionManager-DykjzBM4.mjs} +1 -1
- package/dist/{BasePermissionHandler-BbLYwd13.cjs → BasePermissionHandler-DR6nxuEn.cjs} +1 -1
- package/dist/{BasePermissionHandler-DriZLITp.mjs → BasePermissionHandler-hdY7kTqX.mjs} +1 -1
- package/dist/{agentHome-BoYfpemd.cjs → agentHome-BdTXEUPe.cjs} +4 -4
- package/dist/{agentHome-BtuRubHG.mjs → agentHome-GRN2VfHv.mjs} +4 -4
- package/dist/{api-KZmVqSKO.cjs → api-BWX10o97.cjs} +17 -10
- package/dist/{api-D08IEaWa.mjs → api-CKBViqI3.mjs} +18 -11
- package/dist/{apiMachine-Dct2GDAq.cjs → apiMachine-BYYFGgFs.cjs} +15 -14
- package/dist/{apiMachine-Cx9Zn-78.mjs → apiMachine-DttO4UFj.mjs} +15 -14
- package/dist/{attachmentContent-PrNJg8gG.mjs → attachmentContent-cPVF463_.mjs} +2 -2
- package/dist/{attachmentContent-4L9dO8E3.cjs → attachmentContent-kJKXpkMX.cjs} +2 -2
- package/dist/{attachmentLimits-BLbji11b.mjs → attachmentLimits-Di1Z93lN.mjs} +1 -1
- package/dist/{attachmentLimits-D6bT2jU1.cjs → attachmentLimits-DtFqqiwR.cjs} +1 -1
- package/dist/{auth-D1qHU-i_.mjs → auth-BmESeKuM.mjs} +5 -5
- package/dist/{auth-PY_HGlzz.mjs → auth-CKdXb9zp.mjs} +8 -8
- package/dist/{auth-BGmM3Vlm.cjs → auth-CTECt2Oz.cjs} +5 -5
- package/dist/{auth-BI0CsMcy.cjs → auth-DNxVmVbn.cjs} +8 -8
- package/dist/{auto-COMphIfD.mjs → auto-Ch3203qd.mjs} +17 -16
- package/dist/{auto-DM4_FeKb.cjs → auto-D1ypjjfx.cjs} +16 -15
- package/dist/{backgroundTaskActivity-8PdPxrvy.mjs → backgroundTaskActivity-BVwJBl02.mjs} +1 -1
- package/dist/{bootstrap-DTJ6-vYT.cjs → bootstrap-6OI698q9.cjs} +2 -2
- package/dist/{bootstrap-CWjpC5-J.mjs → bootstrap-C0s2bPFQ.mjs} +2 -2
- package/dist/{browser-xuW4fiHo.mjs → browser-BlLWZUMx.mjs} +1 -1
- package/dist/{browser-DmgVoopB.cjs → browser-DG6Uof5O.cjs} +1 -1
- package/dist/{claudeLocal-B0P-wVJJ.mjs → claudeLocal-CcWcKnoo.mjs} +5 -5
- package/dist/{claudeLocal-CtZVz3ee.cjs → claudeLocal-CemsIArT.cjs} +5 -5
- package/dist/{claudeLocalLauncher-D4vmjI3c.mjs → claudeLocalLauncher-7p6y88nj.mjs} +15 -18
- package/dist/{claudeLocalLauncher-Dnv4CH8r.cjs → claudeLocalLauncher-A4VuevIi.cjs} +15 -18
- package/dist/{claudeSessionFork-CxjOBoBh.mjs → claudeSessionFork-BtROOjqf.mjs} +1 -1
- package/dist/{claudeSessionFork-DQk5-dzR.cjs → claudeSessionFork-CbDfm8Fz.cjs} +1 -1
- package/dist/{client-eQjOvC55.mjs → client-BPMWutfs.mjs} +3 -3
- package/dist/{client-BhLhjj_x.cjs → client-COmgDDy0.cjs} +2 -2
- package/dist/{client-C4ddTzrD.mjs → client-DG5ndWLw.mjs} +2 -2
- package/dist/{client-BHZVyQwi.cjs → client-DyvBTYee.cjs} +3 -3
- package/dist/codex/happyMcpStdioBridge.cjs +15 -15
- package/dist/codex/happyMcpStdioBridge.mjs +16 -16
- package/dist/{codexAppServerClient-CppPl_R6.mjs → codexAppServerClient-D-Z8qSfI.mjs} +233 -24
- package/dist/{codexAppServerClient-D-9z-lWP.cjs → codexAppServerClient-R24WZZfg.cjs} +233 -24
- package/dist/{codexCommand-AgVJYnFU.cjs → codexCommand-6hW19gsq.cjs} +159 -84
- package/dist/{codexCommand-BdrBNbZu.mjs → codexCommand-CVTkZJ1o.mjs} +158 -83
- package/dist/{BaseReasoningProcessor-_S1PbSvH.cjs → codexTermination-BBU7e92y.cjs} +25 -1
- package/dist/{BaseReasoningProcessor-DnykPlPo.mjs → codexTermination-CCIfwzcx.mjs} +25 -2
- package/dist/{config-Cr3VUzbE.mjs → config-CvsNChKX.mjs} +3 -3
- package/dist/{config-D89sE3wK.cjs → config-DhdrvOLV.cjs} +3 -3
- package/dist/{configuration-BNGPXg07.mjs → configuration-D55F0t16.mjs} +1 -1
- package/dist/{configuration-UV4EE5ui.cjs → configuration-DZPy0T9Z.cjs} +1 -1
- package/dist/{connect-C0iLkCiY.mjs → connect-CwCXMRmD.mjs} +14 -14
- package/dist/{connect-B35YXbdZ.cjs → connect-Wz-XZYXW.cjs} +13 -13
- package/dist/{context-BmH2BKip.cjs → context-BKbrZ55r.cjs} +1 -1
- package/dist/{context-Ptdnlcv6.mjs → context-CCRpVXFo.mjs} +1 -1
- package/dist/{controlClient-DqtC0pq1.mjs → controlClient-C4xB5J6O.mjs} +4 -4
- package/dist/{controlClient-CtsQMw--.cjs → controlClient-SX8gSza2.cjs} +3 -3
- package/dist/{createSessionMetadata-2IuH5nlA.cjs → createSessionMetadata-BCFmYlBo.cjs} +2 -2
- package/dist/{createSessionMetadata-CtNMvfth.mjs → createSessionMetadata-Bi-m0Y_O.mjs} +2 -2
- package/dist/{defaultPermissionMode-Bn4HcU8S.cjs → defaultPermissionMode-DMBEnXll.cjs} +2 -2
- package/dist/{defaultPermissionMode-DYihjV2g.mjs → defaultPermissionMode-wBcbBezm.mjs} +2 -2
- package/dist/{deterministicJson-DF4xv6MH.mjs → deterministicJson-BkQETt8_.mjs} +9 -9
- package/dist/{deterministicJson-je21npNx.cjs → deterministicJson-ChGfQEF6.cjs} +9 -9
- package/dist/{doctor-Ba92L7-b.mjs → doctor-B9c2C9dF.mjs} +8 -8
- package/dist/{doctor-BXKcYVGU.cjs → doctor-BsN3JZJn.cjs} +7 -7
- package/dist/{downloadTarget-CUJg8iJV.mjs → downloadTarget-ByXzbDK4.mjs} +6 -6
- package/dist/{downloadTarget-JC7FZl7W.cjs → downloadTarget-Dj3WoVJa.cjs} +6 -6
- package/dist/{ensureDaemonRunning-JPA9tHNE.mjs → ensureDaemonRunning--HYzs5Ce.mjs} +5 -5
- package/dist/{ensureDaemonRunning-bIp6-vgi.cjs → ensureDaemonRunning-7Wb8M7Lv.cjs} +5 -5
- package/dist/{handleResumeCommand-B6lE5DtU.mjs → handleResumeCommand-DHddBkNJ.mjs} +5 -5
- package/dist/{handleResumeCommand-B6b9kIYf.cjs → handleResumeCommand-OmuUGYjQ.cjs} +5 -5
- package/dist/{index-B2KL0aPc.cjs → index-BRJzH4sc.cjs} +141 -87
- package/dist/{index-CjE4kBKx.mjs → index-BzJNDsJq.mjs} +143 -89
- package/dist/{index-B6UGRQ7h.mjs → index-CEjJnq05.mjs} +3 -0
- package/dist/{index-CZLwo1FS.mjs → index-CEm0MYiS.mjs} +3 -3
- package/dist/{index-B1ABQRrB.cjs → index-CrR4JISa.cjs} +4 -4
- package/dist/{index-D759ViMU.cjs → index-D9NoYc5I.cjs} +3 -3
- package/dist/{index-D3kI0hDR.cjs → index-DFPT4HOO.cjs} +3 -0
- package/dist/{index-boE-d8CM.mjs → index-DMy3OCBe.mjs} +8 -1
- package/dist/{index-BZdhwBKa.cjs → index-De8L5lFK.cjs} +8 -0
- package/dist/{index-DW1ONaGc.mjs → index-Dhl6_bw7.mjs} +4 -4
- package/dist/index.cjs +2 -2
- package/dist/index.mjs +2 -2
- package/dist/{install-KjIsK_EA.cjs → install-1qn-D9FS.cjs} +3 -3
- package/dist/{install-CmojqnLK.mjs → install-BDIUtPXi.mjs} +3 -3
- package/dist/lib.cjs +12 -12
- package/dist/lib.d.cts +7 -1
- package/dist/lib.d.mts +7 -1
- package/dist/lib.mjs +13 -13
- package/dist/{lidState-CL1NdKfQ.mjs → lidState-BqVsw7H1.mjs} +1 -1
- package/dist/{lidState-BmJp2pLt.cjs → lidState-DxbK0qfu.cjs} +1 -1
- package/dist/{localHappyAgentAuth-B7f4Ysn0.mjs → localHappyAgentAuth-Ce8kO2yc.mjs} +1 -1
- package/dist/{localHappyAgentAuth-9SP7hdiw.cjs → localHappyAgentAuth-D5tANdRD.cjs} +1 -1
- package/dist/{logger-D5EzMy30.mjs → logger-13cBr_ew.mjs} +2 -2
- package/dist/{logger-C7dRaCkE.cjs → logger-LvwVeATU.cjs} +2 -2
- package/dist/{machineMetadata-DYYuK_0c.cjs → machineMetadata-29h7vgf4.cjs} +3 -3
- package/dist/{machineMetadata-DqplCWue.mjs → machineMetadata-dMida2qq.mjs} +3 -3
- package/dist/{main-kgCQgknK.cjs → main-DpM5jaFH.cjs} +44 -44
- package/dist/{main-CnV62agu.mjs → main-x4nAhdH5.mjs} +44 -44
- package/dist/{mcp-bDPaj-tM.mjs → mcp-DMiFGYMT.mjs} +15 -15
- package/dist/{mcp-BV0vxHtz.cjs → mcp-DQv3caXs.cjs} +14 -14
- package/dist/{mirrorProtocol-BSHVZ8Nf.cjs → mirrorProtocol-BfrERW7Z.cjs} +3 -3
- package/dist/{mirrorProtocol-ClKhNXYe.mjs → mirrorProtocol-Bz8tEabR.mjs} +3 -3
- package/dist/{package-VqWv7EI5.cjs → package-Ch9WGDV_.cjs} +7 -7
- package/dist/{package-D0dxZ-W8.mjs → package-CjlsAaRe.mjs} +7 -7
- package/dist/{peerTools-B_eiNB3P.mjs → peerTools-CxmrKnfV.mjs} +4 -4
- package/dist/{peerTools-BktGmlpd.cjs → peerTools-DtGKWli5.cjs} +4 -4
- package/dist/{persistence-CIIhP0Uw.mjs → persistence-C_tYtOqK.mjs} +2 -2
- package/dist/{persistence-DweHi8xa.cjs → persistence-DXbKOHxl.cjs} +2 -2
- package/dist/{piRunnerArgs-BNzWTNRV.cjs → piRunnerArgs-BVRZe2AR.cjs} +1 -1
- package/dist/{piRunnerArgs-cQafsadv.mjs → piRunnerArgs-BpHc-JZl.mjs} +1 -1
- package/dist/{piRuntime-VZLSwW-4.cjs → piRuntime-D7eio8Ix.cjs} +1 -1
- package/dist/{piRuntime-Bel5lOLb.mjs → piRuntime-DOdGF395.mjs} +1 -1
- package/dist/{piTerminal-CS5SDi_H.mjs → piTerminal-dpxz4Q8D.mjs} +17 -17
- package/dist/{piTerminal-DkR8sPv-.cjs → piTerminal-y_PRo2NY.cjs} +16 -16
- package/dist/processTree-CMHWlVse.cjs +66 -0
- package/dist/processTree-CP5IvQ2Z.mjs +61 -0
- package/dist/{rateLimitWindows-Bp4T21RI.cjs → rateLimitWindows-DFnMU2Vt.cjs} +1 -1
- package/dist/{rateLimitWindows-Bo6XVnie.mjs → rateLimitWindows-DYHDGuzQ.mjs} +1 -1
- package/dist/{registerCommonHandlers-B7QZxkCL.cjs → registerCommonHandlers-60VuTkdg.cjs} +2 -2
- package/dist/{registerCommonHandlers-CR5jpiSx.mjs → registerCommonHandlers-D8OMpBbQ.mjs} +2 -2
- package/dist/{registerKillSessionHandler-DLiu24CQ.mjs → registerKillSessionHandler-Drhf7-Vz.mjs} +6 -6
- package/dist/{registerKillSessionHandler-CcX84g-T.cjs → registerKillSessionHandler-pqChBKwO.cjs} +6 -6
- package/dist/{remoteSessionClient-CL3akj0K.cjs → remoteSessionClient-B7NvjHD3.cjs} +5 -5
- package/dist/{remoteSessionClient-CUjw1COc.mjs → remoteSessionClient-D01Hso2-.mjs} +5 -5
- package/dist/{reportProgressTool-BLLwMQrN.mjs → reportProgressTool-B203EZCR.mjs} +2 -2
- package/dist/{reportProgressTool-DzMi4mvH.cjs → reportProgressTool-Du_zAK4h.cjs} +2 -2
- package/dist/{run-DGokR_6q.mjs → run-DX4Zs3Ug.mjs} +34 -34
- package/dist/{run-5pmOElaW.cjs → run-DZ5jU53c.cjs} +34 -34
- package/dist/{runClaude-BFlpZQds.mjs → runClaude-CgPHXP0L.mjs} +27 -23
- package/dist/{runClaude-EnYNvkV0.cjs → runClaude-ClRhHpwR.cjs} +26 -22
- package/dist/{runClaudeDeps-CUDebE9e.cjs → runClaudeDeps-D2v_WDSL.cjs} +387 -89
- package/dist/{runClaudeDeps-D1M1dzlZ.mjs → runClaudeDeps-Dz2iydq4.mjs} +393 -95
- package/dist/{runGemini-Bu69Zu1u.cjs → runGemini-BtZqGFkp.cjs} +208 -193
- package/dist/{runGemini-Bub8T5cM.mjs → runGemini-DBXxpoY8.mjs} +208 -193
- package/dist/{runOpenClaw-DVu73F_i.mjs → runOpenClaw-BOHpzCEU.mjs} +19 -19
- package/dist/{runOpenClaw-Cob5F3FC.cjs → runOpenClaw-D8q8G57u.cjs} +18 -18
- package/dist/{sandbox-9EKOFyQF.mjs → sandbox-C452Vrsc.mjs} +4 -4
- package/dist/{sandbox-GDqMagSF.cjs → sandbox-Cu9mMzjx.cjs} +4 -4
- package/dist/selfCheck-BAvqBwBR.mjs +84 -0
- package/dist/{selfCheck-DiNo34da.cjs → selfCheck-gKa3uVr1.cjs} +35 -35
- package/dist/{send-ThC80164.cjs → send-2Vb5eppI.cjs} +8 -8
- package/dist/{send-wgtHphq8.mjs → send-B8HARi7x.mjs} +9 -9
- package/dist/{server-Bb8v2fOj.mjs → server-BBWCIZyS.mjs} +4 -4
- package/dist/{server-bidHnstE.cjs → server-Db9Wuam3.cjs} +6 -6
- package/dist/{sessionLock-BWBcBZKh.cjs → sessionLock-6qL_N6Rn.cjs} +3 -3
- package/dist/{sessionLock-gb32sVPR.mjs → sessionLock-ZfvFVdUi.mjs} +3 -3
- package/dist/{sessionModeFile-C-fr1M1h.mjs → sessionModeFile-CWVq8AT9.mjs} +1 -1
- package/dist/{sessionModeFile-DhuTNcJr.cjs → sessionModeFile-CsLtn_PL.cjs} +1 -1
- package/dist/{sessionOps-ByZJbkMq.mjs → sessionOps-CdgbEJgf.mjs} +5 -5
- package/dist/{sessionOps-9MChM9Op.cjs → sessionOps-Dmt7WUUs.cjs} +4 -4
- package/dist/{sessionScanner-CxXPAVyS.mjs → sessionScanner-CNVaSNOn.mjs} +34 -4
- package/dist/{sessionScanner-BpegdnXK.cjs → sessionScanner-CQL_WSaC.cjs} +34 -3
- package/dist/{sessions-C1X4z_Lm.cjs → sessions-BJblG_Hx.cjs} +9 -9
- package/dist/{sessions-l-UgJGjV.mjs → sessions-DTomHfFg.mjs} +10 -10
- package/dist/{setupOfflineReconnection-CgtXlV74.mjs → setupOfflineReconnection-C5trsV-j.mjs} +2 -2
- package/dist/{setupOfflineReconnection-CS_8Da8R.cjs → setupOfflineReconnection-DVA0VpQL.cjs} +2 -2
- package/dist/{spawn-FyoHqYWo.mjs → spawn-CQJFgoOq.mjs} +15 -14
- package/dist/{spawn-D2BlNdZu.cjs → spawn-DRyNAqD8.cjs} +14 -13
- package/dist/{spawnAgents-BhsbJ253.mjs → spawnAgents-BjtmjBvP.mjs} +1 -1
- package/dist/{spawnAgents-CgMKuOhZ.cjs → spawnAgents-CCjJifAW.cjs} +1 -1
- package/dist/{spawnHappyCLI-DsC256j_.mjs → spawnHappyCLI-B_0RWxD4.mjs} +1 -1
- package/dist/{spawnHappyCLI-DByQcqEN.cjs → spawnHappyCLI-ChniczJ5.cjs} +1 -1
- package/dist/{specialCommands-DGUeZqdm.cjs → specialCommands-DbntVs0d.cjs} +3 -3
- package/dist/{specialCommands-DUUBqzvd.mjs → specialCommands-DkdFJi4N.mjs} +3 -3
- package/dist/{startFileWatcher-BtBaahTn.cjs → startFileWatcher-C292fhra.cjs} +1 -1
- package/dist/{startFileWatcher-CaYRObJu.mjs → startFileWatcher-UQyTSRAP.mjs} +1 -1
- package/dist/{streamRelay-DqPFsCgx.cjs → streamRelay-Cx01enfe.cjs} +1 -1
- package/dist/{streamRelay-C8zI7OnR.mjs → streamRelay-_qCd873P.mjs} +1 -1
- package/dist/{sync-D5YqUVjS.mjs → sync-C3p7-KLn.mjs} +1 -1
- package/dist/{sync-BK-IBkuB.cjs → sync-C7sxoUYG.cjs} +1 -1
- package/dist/{systemPrompt-e-qeag_h.mjs → systemPrompt-CdHOlyVW.mjs} +2 -2
- package/dist/{systemPrompt-DaTKLEb-.cjs → systemPrompt-DtibzbRU.cjs} +2 -2
- package/dist/{teams-D9xwa_d3.cjs → teams-D7O7TpVU.cjs} +6 -6
- package/dist/{teams-ClrppvKu.mjs → teams-ujXr3AFn.mjs} +6 -6
- package/dist/{time-0szhiPo4.cjs → time-Dg5tVB8S.cjs} +1 -1
- package/dist/{time-CvrpeD3S.mjs → time-yEL6wHUF.mjs} +1 -1
- package/dist/{titleGenerator-Dz5P7sE1.cjs → titleGenerator-BMEaDTwU.cjs} +2 -2
- package/dist/{titleGenerator-BZ5770wq.mjs → titleGenerator-Dr-BtjzO.mjs} +1 -1
- package/dist/{todo-CkmNJQey.cjs → todo-CUcFamGs.cjs} +6 -6
- package/dist/{todo-o-miKcN2.mjs → todo-CvJe4M2C.mjs} +6 -6
- package/dist/{tools-Cp0qJeBq.mjs → tools-BrM3bZW5.mjs} +1 -1
- package/dist/{tools-C77-Ssan.cjs → tools-DDKTB5aQ.cjs} +1 -1
- package/dist/{uninstall-DGUPERDX.cjs → uninstall-7oLuhYIu.cjs} +3 -3
- package/dist/{uninstall-jNJDCLD_.mjs → uninstall-CEcMMQGz.mjs} +3 -3
- package/package.json +7 -7
- package/dist/selfCheck-CNo4uzGB.mjs +0 -84
|
@@ -1,61 +1,61 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var auth = require('./auth-
|
|
4
|
-
var index = require('./index-
|
|
3
|
+
var auth = require('./auth-CTECt2Oz.cjs');
|
|
4
|
+
var index = require('./index-De8L5lFK.cjs');
|
|
5
|
+
var promises = require('node:fs/promises');
|
|
5
6
|
var forkBackfill = require('./forkBackfill-8eLDeS73.cjs');
|
|
6
7
|
var node_crypto = require('node:crypto');
|
|
7
8
|
var cuid2 = require('@paralleldrive/cuid2');
|
|
8
9
|
var agentAttachments = require('./agentAttachments-Dbw8iMCZ.cjs');
|
|
9
|
-
var attachmentContent = require('./attachmentContent-
|
|
10
|
+
var attachmentContent = require('./attachmentContent-kJKXpkMX.cjs');
|
|
10
11
|
var ink = require('ink');
|
|
11
|
-
var sessionLock = require('./sessionLock-
|
|
12
|
+
var sessionLock = require('./sessionLock-6qL_N6Rn.cjs');
|
|
12
13
|
var React = require('react');
|
|
13
|
-
var api = require('./api-
|
|
14
|
-
var codexAppServerClient = require('./codexAppServerClient-
|
|
15
|
-
var specialCommands = require('./specialCommands-
|
|
16
|
-
var logger = require('./logger-
|
|
17
|
-
var BasePermissionHandler = require('./BasePermissionHandler-
|
|
18
|
-
var
|
|
14
|
+
var api = require('./api-BWX10o97.cjs');
|
|
15
|
+
var codexAppServerClient = require('./codexAppServerClient-R24WZZfg.cjs');
|
|
16
|
+
var specialCommands = require('./specialCommands-DbntVs0d.cjs');
|
|
17
|
+
var logger = require('./logger-LvwVeATU.cjs');
|
|
18
|
+
var BasePermissionHandler = require('./BasePermissionHandler-DR6nxuEn.cjs');
|
|
19
|
+
var codexTermination = require('./codexTermination-BBU7e92y.cjs');
|
|
19
20
|
var node_child_process = require('node:child_process');
|
|
20
|
-
var persistence = require('./persistence-
|
|
21
|
-
var machineMetadata = require('./machineMetadata-
|
|
22
|
-
var configuration = require('./configuration-
|
|
23
|
-
var registerKillSessionHandler = require('./registerKillSessionHandler-
|
|
21
|
+
var persistence = require('./persistence-DXbKOHxl.cjs');
|
|
22
|
+
var machineMetadata = require('./machineMetadata-29h7vgf4.cjs');
|
|
23
|
+
var configuration = require('./configuration-DZPy0T9Z.cjs');
|
|
24
|
+
var registerKillSessionHandler = require('./registerKillSessionHandler-pqChBKwO.cjs');
|
|
24
25
|
var projectPath = require('./projectPath-ChLhdOyt.cjs');
|
|
25
26
|
var path = require('node:path');
|
|
26
|
-
var createSessionMetadata = require('./createSessionMetadata-
|
|
27
|
-
var deterministicJson = require('./deterministicJson-
|
|
27
|
+
var createSessionMetadata = require('./createSessionMetadata-BCFmYlBo.cjs');
|
|
28
|
+
var deterministicJson = require('./deterministicJson-ChGfQEF6.cjs');
|
|
28
29
|
var messageBuffer = require('./messageBuffer-fJMH6uY8.cjs');
|
|
29
|
-
var controlClient = require('./controlClient-
|
|
30
|
-
var defaultPermissionMode = require('./defaultPermissionMode-
|
|
30
|
+
var controlClient = require('./controlClient-SX8gSza2.cjs');
|
|
31
|
+
var defaultPermissionMode = require('./defaultPermissionMode-DMBEnXll.cjs');
|
|
31
32
|
var authRelay = require('./authRelay-BdYkC1Po.cjs');
|
|
32
|
-
var setupOfflineReconnection = require('./setupOfflineReconnection-
|
|
33
|
+
var setupOfflineReconnection = require('./setupOfflineReconnection-DVA0VpQL.cjs');
|
|
33
34
|
var trimIdent = require('./trimIdent-4gvk9Wk6.cjs');
|
|
34
35
|
var constants = require('./constants-VJ0N6WuG.cjs');
|
|
35
36
|
var editPaths = require('./editPaths-Bqp4OFPw.cjs');
|
|
36
|
-
var ensureDaemonRunning = require('./ensureDaemonRunning-
|
|
37
|
+
var ensureDaemonRunning = require('./ensureDaemonRunning-7Wb8M7Lv.cjs');
|
|
37
38
|
require('tweetnacl');
|
|
38
39
|
require('axios');
|
|
39
|
-
require('./time-
|
|
40
|
-
require('./browser-
|
|
40
|
+
require('./time-Dg5tVB8S.cjs');
|
|
41
|
+
require('./browser-DG6Uof5O.cjs');
|
|
41
42
|
require('open');
|
|
42
43
|
require('zod');
|
|
43
|
-
require('
|
|
44
|
-
require('./attachmentLimits-D6bT2jU1.cjs');
|
|
44
|
+
require('./attachmentLimits-DtFqqiwR.cjs');
|
|
45
45
|
require('node:fs');
|
|
46
|
-
require('./lidState-
|
|
46
|
+
require('./lidState-DxbK0qfu.cjs');
|
|
47
47
|
require('os');
|
|
48
48
|
require('child_process');
|
|
49
49
|
require('node:events');
|
|
50
50
|
require('socket.io-client');
|
|
51
51
|
require('./limits-C-a7gr04.cjs');
|
|
52
|
-
require('./registerCommonHandlers-
|
|
52
|
+
require('./registerCommonHandlers-60VuTkdg.cjs');
|
|
53
53
|
require('util');
|
|
54
54
|
require('fs/promises');
|
|
55
55
|
require('crypto');
|
|
56
56
|
require('path');
|
|
57
57
|
require('cross-spawn');
|
|
58
|
-
require('./sync-
|
|
58
|
+
require('./sync-C7sxoUYG.cjs');
|
|
59
59
|
require('./backgroundTaskActivity-CBvUdj39.cjs');
|
|
60
60
|
require('./contentLogMetadata-ZSFk_NjQ.cjs');
|
|
61
61
|
require('chalk');
|
|
@@ -63,36 +63,37 @@ require('node:readline');
|
|
|
63
63
|
require('./manager-HrEj442o.cjs');
|
|
64
64
|
require('@anthropic-ai/sandbox-runtime');
|
|
65
65
|
require('node:os');
|
|
66
|
-
require('./package-
|
|
67
|
-
require('./rateLimitWindows-
|
|
66
|
+
require('./package-Ch9WGDV_.cjs');
|
|
67
|
+
require('./rateLimitWindows-DFnMU2Vt.cjs');
|
|
68
|
+
require('./processTree-CMHWlVse.cjs');
|
|
68
69
|
require('node:util');
|
|
69
70
|
require('./detectCLI-DR9ZaN6B.cjs');
|
|
70
71
|
require('fs');
|
|
71
|
-
require('./localHappyAgentAuth-
|
|
72
|
+
require('./localHappyAgentAuth-D5tANdRD.cjs');
|
|
72
73
|
require('./types-CRS-srZK.cjs');
|
|
73
74
|
require('url');
|
|
74
|
-
require('./client-
|
|
75
|
-
require('./context-
|
|
76
|
-
require('./sessionOps-
|
|
75
|
+
require('./client-DyvBTYee.cjs');
|
|
76
|
+
require('./context-BKbrZ55r.cjs');
|
|
77
|
+
require('./sessionOps-Dmt7WUUs.cjs');
|
|
77
78
|
require('./resources-JDPugcDq.cjs');
|
|
78
|
-
require('./tools-
|
|
79
|
-
require('./reportProgressTool-
|
|
80
|
-
require('./client-
|
|
79
|
+
require('./tools-DDKTB5aQ.cjs');
|
|
80
|
+
require('./reportProgressTool-Du_zAK4h.cjs');
|
|
81
|
+
require('./client-COmgDDy0.cjs');
|
|
81
82
|
require('./precheckCompat-CWOi5c9L.cjs');
|
|
82
83
|
require('./agentGuidance-BtBx2xxE.cjs');
|
|
83
|
-
require('./peerTools-
|
|
84
|
+
require('./peerTools-DtGKWli5.cjs');
|
|
84
85
|
require('./ids-B6ZC0HGt.cjs');
|
|
85
|
-
require('./remoteSessionClient-
|
|
86
|
+
require('./remoteSessionClient-B7NvjHD3.cjs');
|
|
86
87
|
require('@modelcontextprotocol/sdk/server/mcp.js');
|
|
87
88
|
require('node:http');
|
|
88
89
|
require('@modelcontextprotocol/sdk/server/streamableHttp.js');
|
|
89
|
-
require('./downloadTarget-
|
|
90
|
+
require('./downloadTarget-Dj3WoVJa.cjs');
|
|
90
91
|
require('./terminals-B_bfC9c2.cjs');
|
|
91
92
|
require('./terminalTitleSuggest-DhvRFX3H.cjs');
|
|
92
93
|
require('./tmuxSocket-D-Xt6Vn-.cjs');
|
|
93
|
-
require('./bootstrap-
|
|
94
|
+
require('./bootstrap-6OI698q9.cjs');
|
|
94
95
|
require('./previewPath-B0rBdhy1.cjs');
|
|
95
|
-
require('./spawnHappyCLI-
|
|
96
|
+
require('./spawnHappyCLI-ChniczJ5.cjs');
|
|
96
97
|
require('./doctorReadiness-BCZGcN0a.cjs');
|
|
97
98
|
|
|
98
99
|
function getStartedSubagents(state) {
|
|
@@ -104,13 +105,29 @@ function getActiveSubagents(state) {
|
|
|
104
105
|
function getProviderSubagentToSessionSubagent(state) {
|
|
105
106
|
return state.providerSubagentToSessionSubagent ?? /* @__PURE__ */ new Map();
|
|
106
107
|
}
|
|
107
|
-
function
|
|
108
|
-
|
|
108
|
+
function getLabeledSubagents(state) {
|
|
109
|
+
return state.labeledSubagents ?? /* @__PURE__ */ new Set();
|
|
110
|
+
}
|
|
111
|
+
function maybeEmitSubagentStart(subagent, opts, startedSubagents, activeSubagents, envelopes, label, labeledSubagents = /* @__PURE__ */ new Set()) {
|
|
112
|
+
if (!subagent) {
|
|
109
113
|
return;
|
|
110
114
|
}
|
|
111
|
-
|
|
115
|
+
if (startedSubagents.has(subagent)) {
|
|
116
|
+
if (label && !labeledSubagents.has(subagent)) {
|
|
117
|
+
envelopes.push(index.createEnvelope("agent", { t: "start", description: label }, { ...opts, subagent }));
|
|
118
|
+
labeledSubagents.add(subagent);
|
|
119
|
+
}
|
|
120
|
+
return;
|
|
121
|
+
}
|
|
122
|
+
envelopes.push(index.createEnvelope("agent", { t: "start", ...label ? { description: label } : {} }, { ...opts, subagent }));
|
|
112
123
|
startedSubagents.add(subagent);
|
|
113
124
|
activeSubagents.add(subagent);
|
|
125
|
+
if (label) labeledSubagents.add(subagent);
|
|
126
|
+
}
|
|
127
|
+
function subagentStopStatus(status) {
|
|
128
|
+
if (status === "failed") return "failed";
|
|
129
|
+
if (status === "interrupted" || status === "cancelled" || status === "canceled" || status === "aborted") return "stopped";
|
|
130
|
+
return "completed";
|
|
114
131
|
}
|
|
115
132
|
function emitSubagentStops(opts, startedSubagents, activeSubagents) {
|
|
116
133
|
const envelopes = [];
|
|
@@ -136,6 +153,10 @@ function pickProviderSubagent(message) {
|
|
|
136
153
|
}
|
|
137
154
|
return void 0;
|
|
138
155
|
}
|
|
156
|
+
function pickSubagentLabel(message) {
|
|
157
|
+
const label = message.subagent_label;
|
|
158
|
+
return typeof label === "string" && label.length > 0 ? label : void 0;
|
|
159
|
+
}
|
|
139
160
|
function resolveSessionSubagent(message, providerSubagentToSessionSubagent) {
|
|
140
161
|
const providerSubagent = pickProviderSubagent(message);
|
|
141
162
|
if (!providerSubagent) {
|
|
@@ -414,14 +435,25 @@ function mapCodexMcpMessageToSessionEnvelopes(message, state) {
|
|
|
414
435
|
const startedSubagents = getStartedSubagents(state);
|
|
415
436
|
const activeSubagents = getActiveSubagents(state);
|
|
416
437
|
const providerSubagentToSessionSubagent = getProviderSubagentToSessionSubagent(state);
|
|
438
|
+
const labeledSubagents = getLabeledSubagents(state);
|
|
417
439
|
if (type === "collab_agent_item") {
|
|
418
|
-
|
|
419
|
-
|
|
420
|
-
|
|
421
|
-
|
|
422
|
-
|
|
423
|
-
|
|
424
|
-
|
|
440
|
+
const subagent2 = resolveSessionSubagent(message, providerSubagentToSessionSubagent);
|
|
441
|
+
const opts2 = buildEnvelopeOptions(state.currentTurnId, subagent2);
|
|
442
|
+
const envelopes = [];
|
|
443
|
+
maybeEmitSubagentStart(subagent2, opts2, startedSubagents, activeSubagents, envelopes, pickSubagentLabel(message), labeledSubagents);
|
|
444
|
+
envelopes.push(...mapCodexCollaborationItem(message.item, opts2, "live"));
|
|
445
|
+
return { currentTurnId: state.currentTurnId, startedSubagents, activeSubagents, providerSubagentToSessionSubagent, labeledSubagents, envelopes };
|
|
446
|
+
}
|
|
447
|
+
if (type === "subagent_turn_end") {
|
|
448
|
+
const providerSubagent = pickProviderSubagent(message);
|
|
449
|
+
const sessionSubagent = providerSubagent ? providerSubagentToSessionSubagent.get(providerSubagent) : void 0;
|
|
450
|
+
const envelopes = [];
|
|
451
|
+
if (sessionSubagent && activeSubagents.has(sessionSubagent)) {
|
|
452
|
+
envelopes.push(index.createEnvelope("agent", { t: "stop", status: subagentStopStatus(message.status) }, buildEnvelopeOptions(state.currentTurnId, sessionSubagent)));
|
|
453
|
+
activeSubagents.delete(sessionSubagent);
|
|
454
|
+
startedSubagents.delete(sessionSubagent);
|
|
455
|
+
}
|
|
456
|
+
return { currentTurnId: state.currentTurnId, startedSubagents, activeSubagents, providerSubagentToSessionSubagent, labeledSubagents, envelopes };
|
|
425
457
|
}
|
|
426
458
|
if (type === "task_started") {
|
|
427
459
|
const turnId = cuid2.createId();
|
|
@@ -429,11 +461,13 @@ function mapCodexMcpMessageToSessionEnvelopes(message, state) {
|
|
|
429
461
|
startedSubagents.clear();
|
|
430
462
|
activeSubagents.clear();
|
|
431
463
|
providerSubagentToSessionSubagent.clear();
|
|
464
|
+
labeledSubagents.clear();
|
|
432
465
|
return {
|
|
433
466
|
currentTurnId: turnId,
|
|
434
467
|
startedSubagents,
|
|
435
468
|
activeSubagents,
|
|
436
469
|
providerSubagentToSessionSubagent,
|
|
470
|
+
labeledSubagents,
|
|
437
471
|
envelopes: [turnStart]
|
|
438
472
|
};
|
|
439
473
|
}
|
|
@@ -444,16 +478,19 @@ function mapCodexMcpMessageToSessionEnvelopes(message, state) {
|
|
|
444
478
|
startedSubagents,
|
|
445
479
|
activeSubagents,
|
|
446
480
|
providerSubagentToSessionSubagent,
|
|
481
|
+
labeledSubagents,
|
|
447
482
|
envelopes: []
|
|
448
483
|
};
|
|
449
484
|
}
|
|
450
485
|
const lifecycleOpts = { turn: state.currentTurnId };
|
|
451
486
|
providerSubagentToSessionSubagent.clear();
|
|
487
|
+
labeledSubagents.clear();
|
|
452
488
|
return {
|
|
453
489
|
currentTurnId: null,
|
|
454
490
|
startedSubagents,
|
|
455
491
|
activeSubagents,
|
|
456
492
|
providerSubagentToSessionSubagent,
|
|
493
|
+
labeledSubagents,
|
|
457
494
|
envelopes: [
|
|
458
495
|
...emitSubagentStops(lifecycleOpts, startedSubagents, activeSubagents),
|
|
459
496
|
index.createEnvelope("agent", {
|
|
@@ -469,6 +506,7 @@ function mapCodexMcpMessageToSessionEnvelopes(message, state) {
|
|
|
469
506
|
startedSubagents,
|
|
470
507
|
activeSubagents,
|
|
471
508
|
providerSubagentToSessionSubagent,
|
|
509
|
+
labeledSubagents,
|
|
472
510
|
envelopes: []
|
|
473
511
|
};
|
|
474
512
|
}
|
|
@@ -481,17 +519,19 @@ function mapCodexMcpMessageToSessionEnvelopes(message, state) {
|
|
|
481
519
|
startedSubagents,
|
|
482
520
|
activeSubagents,
|
|
483
521
|
providerSubagentToSessionSubagent,
|
|
522
|
+
labeledSubagents,
|
|
484
523
|
envelopes: []
|
|
485
524
|
};
|
|
486
525
|
}
|
|
487
526
|
const envelopes = [];
|
|
488
|
-
maybeEmitSubagentStart(subagent, opts, startedSubagents, activeSubagents, envelopes);
|
|
527
|
+
maybeEmitSubagentStart(subagent, opts, startedSubagents, activeSubagents, envelopes, pickSubagentLabel(message), labeledSubagents);
|
|
489
528
|
envelopes.push(index.createEnvelope("agent", { t: "text", text: message.message }, opts));
|
|
490
529
|
return {
|
|
491
530
|
currentTurnId: state.currentTurnId,
|
|
492
531
|
startedSubagents,
|
|
493
532
|
activeSubagents,
|
|
494
533
|
providerSubagentToSessionSubagent,
|
|
534
|
+
labeledSubagents,
|
|
495
535
|
envelopes
|
|
496
536
|
};
|
|
497
537
|
}
|
|
@@ -503,17 +543,19 @@ function mapCodexMcpMessageToSessionEnvelopes(message, state) {
|
|
|
503
543
|
startedSubagents,
|
|
504
544
|
activeSubagents,
|
|
505
545
|
providerSubagentToSessionSubagent,
|
|
546
|
+
labeledSubagents,
|
|
506
547
|
envelopes: []
|
|
507
548
|
};
|
|
508
549
|
}
|
|
509
550
|
const envelopes = [];
|
|
510
|
-
maybeEmitSubagentStart(subagent, opts, startedSubagents, activeSubagents, envelopes);
|
|
551
|
+
maybeEmitSubagentStart(subagent, opts, startedSubagents, activeSubagents, envelopes, pickSubagentLabel(message), labeledSubagents);
|
|
511
552
|
envelopes.push(index.createEnvelope("agent", { t: "text", text, thinking: true }, opts));
|
|
512
553
|
return {
|
|
513
554
|
currentTurnId: state.currentTurnId,
|
|
514
555
|
startedSubagents,
|
|
515
556
|
activeSubagents,
|
|
516
557
|
providerSubagentToSessionSubagent,
|
|
558
|
+
labeledSubagents,
|
|
517
559
|
envelopes
|
|
518
560
|
};
|
|
519
561
|
}
|
|
@@ -523,7 +565,7 @@ function mapCodexMcpMessageToSessionEnvelopes(message, state) {
|
|
|
523
565
|
const command = summarizeCommand(args.command);
|
|
524
566
|
const description = typeof args.description === "string" ? args.description : command ?? "Execute command";
|
|
525
567
|
const envelopes = [];
|
|
526
|
-
maybeEmitSubagentStart(subagent, opts, startedSubagents, activeSubagents, envelopes);
|
|
568
|
+
maybeEmitSubagentStart(subagent, opts, startedSubagents, activeSubagents, envelopes, pickSubagentLabel(message), labeledSubagents);
|
|
527
569
|
envelopes.push(
|
|
528
570
|
index.createEnvelope("agent", {
|
|
529
571
|
t: "tool-call-start",
|
|
@@ -539,19 +581,21 @@ function mapCodexMcpMessageToSessionEnvelopes(message, state) {
|
|
|
539
581
|
startedSubagents,
|
|
540
582
|
activeSubagents,
|
|
541
583
|
providerSubagentToSessionSubagent,
|
|
584
|
+
labeledSubagents,
|
|
542
585
|
envelopes
|
|
543
586
|
};
|
|
544
587
|
}
|
|
545
588
|
if (type === "exec_command_end") {
|
|
546
589
|
const call = pickCallId(message);
|
|
547
590
|
const envelopes = [];
|
|
548
|
-
maybeEmitSubagentStart(subagent, opts, startedSubagents, activeSubagents, envelopes);
|
|
591
|
+
maybeEmitSubagentStart(subagent, opts, startedSubagents, activeSubagents, envelopes, pickSubagentLabel(message), labeledSubagents);
|
|
549
592
|
envelopes.push(index.createEnvelope("agent", { t: "tool-call-end", call }, opts));
|
|
550
593
|
return {
|
|
551
594
|
currentTurnId: state.currentTurnId,
|
|
552
595
|
startedSubagents,
|
|
553
596
|
activeSubagents,
|
|
554
597
|
providerSubagentToSessionSubagent,
|
|
598
|
+
labeledSubagents,
|
|
555
599
|
envelopes
|
|
556
600
|
};
|
|
557
601
|
}
|
|
@@ -560,7 +604,7 @@ function mapCodexMcpMessageToSessionEnvelopes(message, state) {
|
|
|
560
604
|
const autoApproved = message.auto_approved;
|
|
561
605
|
const changes = message.changes;
|
|
562
606
|
const envelopes = [];
|
|
563
|
-
maybeEmitSubagentStart(subagent, opts, startedSubagents, activeSubagents, envelopes);
|
|
607
|
+
maybeEmitSubagentStart(subagent, opts, startedSubagents, activeSubagents, envelopes, pickSubagentLabel(message), labeledSubagents);
|
|
564
608
|
envelopes.push(
|
|
565
609
|
index.createEnvelope("agent", {
|
|
566
610
|
t: "tool-call-start",
|
|
@@ -579,19 +623,21 @@ function mapCodexMcpMessageToSessionEnvelopes(message, state) {
|
|
|
579
623
|
startedSubagents,
|
|
580
624
|
activeSubagents,
|
|
581
625
|
providerSubagentToSessionSubagent,
|
|
626
|
+
labeledSubagents,
|
|
582
627
|
envelopes
|
|
583
628
|
};
|
|
584
629
|
}
|
|
585
630
|
if (type === "patch_apply_end") {
|
|
586
631
|
const call = pickCallId(message);
|
|
587
632
|
const envelopes = [];
|
|
588
|
-
maybeEmitSubagentStart(subagent, opts, startedSubagents, activeSubagents, envelopes);
|
|
633
|
+
maybeEmitSubagentStart(subagent, opts, startedSubagents, activeSubagents, envelopes, pickSubagentLabel(message), labeledSubagents);
|
|
589
634
|
envelopes.push(index.createEnvelope("agent", { t: "tool-call-end", call }, opts));
|
|
590
635
|
return {
|
|
591
636
|
currentTurnId: state.currentTurnId,
|
|
592
637
|
startedSubagents,
|
|
593
638
|
activeSubagents,
|
|
594
639
|
providerSubagentToSessionSubagent,
|
|
640
|
+
labeledSubagents,
|
|
595
641
|
envelopes
|
|
596
642
|
};
|
|
597
643
|
}
|
|
@@ -600,6 +646,7 @@ function mapCodexMcpMessageToSessionEnvelopes(message, state) {
|
|
|
600
646
|
startedSubagents,
|
|
601
647
|
activeSubagents,
|
|
602
648
|
providerSubagentToSessionSubagent,
|
|
649
|
+
labeledSubagents,
|
|
603
650
|
envelopes: []
|
|
604
651
|
};
|
|
605
652
|
}
|
|
@@ -739,7 +786,7 @@ class CodexPermissionHandler extends BasePermissionHandler.BasePermissionHandler
|
|
|
739
786
|
}
|
|
740
787
|
}
|
|
741
788
|
|
|
742
|
-
class ReasoningProcessor extends
|
|
789
|
+
class ReasoningProcessor extends codexTermination.BaseReasoningProcessor {
|
|
743
790
|
getToolName() {
|
|
744
791
|
return "CodexReasoning";
|
|
745
792
|
}
|
|
@@ -931,29 +978,6 @@ const CodexDisplay = ({ messageBuffer, logPath, onExit }) => {
|
|
|
931
978
|
));
|
|
932
979
|
};
|
|
933
980
|
|
|
934
|
-
async function settleCodexSession(session, intent, deactivate, log = () => {
|
|
935
|
-
}) {
|
|
936
|
-
if (intent === "archive") {
|
|
937
|
-
session.updateMetadata((currentMetadata) => ({
|
|
938
|
-
...currentMetadata,
|
|
939
|
-
lifecycleState: "archived",
|
|
940
|
-
lifecycleStateSince: Date.now(),
|
|
941
|
-
archivedBy: "cli",
|
|
942
|
-
archiveReason: "User terminated"
|
|
943
|
-
}));
|
|
944
|
-
}
|
|
945
|
-
session.sendSessionDeath();
|
|
946
|
-
await session.flush();
|
|
947
|
-
if (intent === "offline") {
|
|
948
|
-
try {
|
|
949
|
-
await deactivate(session.sessionId);
|
|
950
|
-
} catch (error) {
|
|
951
|
-
log("[Codex] deactivate on signal failed", error);
|
|
952
|
-
}
|
|
953
|
-
}
|
|
954
|
-
await session.close();
|
|
955
|
-
}
|
|
956
|
-
|
|
957
981
|
function resolveCodexExecutionPolicy(permissionMode, sandboxManagedByHappy) {
|
|
958
982
|
if (sandboxManagedByHappy) {
|
|
959
983
|
return {
|
|
@@ -1250,6 +1274,27 @@ function enqueueCodexUserText(opts) {
|
|
|
1250
1274
|
return "queued";
|
|
1251
1275
|
}
|
|
1252
1276
|
|
|
1277
|
+
async function steerIntoRunningTurn(deps, text, attachments, localKey) {
|
|
1278
|
+
if (!deps.ownsTurn()) return false;
|
|
1279
|
+
const staged = attachments?.length ? await deps.stage(attachments) : [];
|
|
1280
|
+
try {
|
|
1281
|
+
const outcome = await deps.steer({
|
|
1282
|
+
text: deps.withAttachments(text, staged),
|
|
1283
|
+
images: staged.filter((file) => deps.isImage(file)).map((file) => file.path),
|
|
1284
|
+
clientId: localKey
|
|
1285
|
+
});
|
|
1286
|
+
if (outcome === "steered") {
|
|
1287
|
+
deps.onSteered(text);
|
|
1288
|
+
return true;
|
|
1289
|
+
}
|
|
1290
|
+
deps.log(`[Codex] Steer not taken (${outcome}); queuing the message for the next turn`);
|
|
1291
|
+
} catch (error) {
|
|
1292
|
+
deps.log(`[Codex] Steer failed; queuing the message for the next turn: ${error instanceof Error ? error.message : String(error)}`);
|
|
1293
|
+
}
|
|
1294
|
+
await Promise.all(staged.map((file) => deps.unlink(file.path).catch(() => void 0)));
|
|
1295
|
+
return false;
|
|
1296
|
+
}
|
|
1297
|
+
|
|
1253
1298
|
function hashCodexEnhancedMode(mode) {
|
|
1254
1299
|
return deterministicJson.hashObject({
|
|
1255
1300
|
permissionMode: mode.permissionMode,
|
|
@@ -1351,7 +1396,7 @@ async function runCodex(opts) {
|
|
|
1351
1396
|
dangerouslySkipPermissions: initialPermissionMode === "yolo" || initialPermissionMode === "bypassPermissions",
|
|
1352
1397
|
...forkedFromSessionId ? { parentSessionId: forkedFromSessionId } : {},
|
|
1353
1398
|
...forkedFromMessageId ? { forkedFromMessageId } : {},
|
|
1354
|
-
capabilities: [index.PROMPT_QUEUE_CAPABILITY, forkBackfill.FORK_BACKFILL_CAPABILITY, persistence.HIBERNATION_CAPABILITY]
|
|
1399
|
+
capabilities: [index.PROMPT_QUEUE_CAPABILITY, forkBackfill.FORK_BACKFILL_CAPABILITY, persistence.HIBERNATION_CAPABILITY, index.CODEX_STEER_CAPABILITY]
|
|
1355
1400
|
});
|
|
1356
1401
|
metadata.attachmentKinds = [...attachmentContent.CLAUDE_ATTACHMENT_KINDS];
|
|
1357
1402
|
const importCodexThreadId = process.env[IMPORT_CODEX_THREAD_ENV];
|
|
@@ -1482,6 +1527,20 @@ async function runCodex(opts) {
|
|
|
1482
1527
|
];
|
|
1483
1528
|
let discoveredModels = [];
|
|
1484
1529
|
agentAttachments.registerAgentAttachmentDownloads(session);
|
|
1530
|
+
const CODEX_IMAGE_MIME_TYPES = ["image/jpeg", "image/png", "image/gif", "image/webp"];
|
|
1531
|
+
const steerDeps = {
|
|
1532
|
+
ownsTurn: () => turnActive && !abortInProgress && !shouldExit,
|
|
1533
|
+
steer: (input) => client.steerTurn(input),
|
|
1534
|
+
stage: (attachments) => attachmentContent.stageClaudeAttachments(attachments, {
|
|
1535
|
+
happyHomeDir: configuration.configuration.happyHomeDir,
|
|
1536
|
+
sessionId: session.sessionId
|
|
1537
|
+
}),
|
|
1538
|
+
withAttachments: attachmentContent.appendStagedAttachmentsToPrompt,
|
|
1539
|
+
unlink: (path) => promises.unlink(path),
|
|
1540
|
+
isImage: (file) => CODEX_IMAGE_MIME_TYPES.includes(file.mimeType),
|
|
1541
|
+
onSteered: (text) => messageBuffer$1.addMessage(text, "user"),
|
|
1542
|
+
log: (message) => logger.logger.debug(message)
|
|
1543
|
+
};
|
|
1485
1544
|
let userMessageDelivery = Promise.resolve();
|
|
1486
1545
|
session.onUserMessage((message) => {
|
|
1487
1546
|
const downloads = session.drainAttachmentsForUserMessage();
|
|
@@ -1539,6 +1598,12 @@ async function runCodex(opts) {
|
|
|
1539
1598
|
appendSystemPrompt: messageAppendSystemPrompt,
|
|
1540
1599
|
effort: messageEffort
|
|
1541
1600
|
};
|
|
1601
|
+
if (message.meta?.delivery === "steer" && !isCodexClearText(message.content.text)) {
|
|
1602
|
+
if (await steerIntoRunningTurn(steerDeps, message.content.text, attachments, message.localKey)) {
|
|
1603
|
+
logger.logger.debug("[Codex] User message steered into the current turn");
|
|
1604
|
+
return;
|
|
1605
|
+
}
|
|
1606
|
+
}
|
|
1542
1607
|
const enqueueResult = enqueueCodexUserText({
|
|
1543
1608
|
text: message.content.text,
|
|
1544
1609
|
mode: enhancedMode,
|
|
@@ -1559,6 +1624,7 @@ async function runCodex(opts) {
|
|
|
1559
1624
|
let codexStartedSubagents = /* @__PURE__ */ new Set();
|
|
1560
1625
|
let codexActiveSubagents = /* @__PURE__ */ new Set();
|
|
1561
1626
|
let codexProviderSubagentToSessionSubagent = /* @__PURE__ */ new Map();
|
|
1627
|
+
let codexLabeledSubagents = /* @__PURE__ */ new Set();
|
|
1562
1628
|
session.keepAlive(thinking, "remote");
|
|
1563
1629
|
const keepAliveInterval = setInterval(() => {
|
|
1564
1630
|
session.keepAlive(thinking, "remote");
|
|
@@ -1647,7 +1713,7 @@ async function runCodex(opts) {
|
|
|
1647
1713
|
await handleAbort("kill");
|
|
1648
1714
|
logger.logger.debug("[Codex] Abort completed, proceeding with termination");
|
|
1649
1715
|
try {
|
|
1650
|
-
if (session) await settleCodexSession(session, intent, (id) => api$1.deactivateSession(id), (m, e) => logger.logger.debug(m, safeCodexErrorMetadata(e)));
|
|
1716
|
+
if (session) await codexTermination.settleCodexSession(session, intent, (id) => api$1.deactivateSession(id), (m, e) => logger.logger.debug(m, safeCodexErrorMetadata(e)));
|
|
1651
1717
|
try {
|
|
1652
1718
|
await client.disconnect();
|
|
1653
1719
|
} catch (e) {
|
|
@@ -1780,6 +1846,12 @@ async function runCodex(opts) {
|
|
|
1780
1846
|
const notice = describeCodexRetry(msg);
|
|
1781
1847
|
messageBuffer$1.addMessage(notice, "status");
|
|
1782
1848
|
session.sendSessionEvent({ type: "message", message: notice });
|
|
1849
|
+
} else if (msg.type === "steer_dropped") {
|
|
1850
|
+
const clientIds = Array.isArray(msg.client_ids) ? msg.client_ids.filter((id) => typeof id === "string" && id.length > 0) : [];
|
|
1851
|
+
if (clientIds.length > 0) {
|
|
1852
|
+
session.sendQueueCancelReason(clientIds, "aborted");
|
|
1853
|
+
messageBuffer$1.addMessage("A steered message was not read before the turn ended", "status");
|
|
1854
|
+
}
|
|
1783
1855
|
}
|
|
1784
1856
|
if (msg.type === "task_started") {
|
|
1785
1857
|
if (!thinking) {
|
|
@@ -1834,12 +1906,14 @@ async function runCodex(opts) {
|
|
|
1834
1906
|
currentTurnId,
|
|
1835
1907
|
startedSubagents: codexStartedSubagents,
|
|
1836
1908
|
activeSubagents: codexActiveSubagents,
|
|
1837
|
-
providerSubagentToSessionSubagent: codexProviderSubagentToSessionSubagent
|
|
1909
|
+
providerSubagentToSessionSubagent: codexProviderSubagentToSessionSubagent,
|
|
1910
|
+
labeledSubagents: codexLabeledSubagents
|
|
1838
1911
|
});
|
|
1839
1912
|
currentTurnId = mapped.currentTurnId;
|
|
1840
1913
|
codexStartedSubagents = mapped.startedSubagents;
|
|
1841
1914
|
codexActiveSubagents = mapped.activeSubagents;
|
|
1842
1915
|
codexProviderSubagentToSessionSubagent = mapped.providerSubagentToSessionSubagent;
|
|
1916
|
+
codexLabeledSubagents = mapped.labeledSubagents;
|
|
1843
1917
|
for (const envelope of mapped.envelopes) {
|
|
1844
1918
|
session.sendSessionProtocolMessage(envelope);
|
|
1845
1919
|
}
|
|
@@ -2007,6 +2081,7 @@ async function runCodex(opts) {
|
|
|
2007
2081
|
codexStartedSubagents = /* @__PURE__ */ new Set();
|
|
2008
2082
|
codexActiveSubagents = /* @__PURE__ */ new Set();
|
|
2009
2083
|
codexProviderSubagentToSessionSubagent = /* @__PURE__ */ new Map();
|
|
2084
|
+
codexLabeledSubagents = /* @__PURE__ */ new Set();
|
|
2010
2085
|
permissionHandler.reset();
|
|
2011
2086
|
reasoningProcessor.abort();
|
|
2012
2087
|
diffProcessor.reset();
|