very-happy-cli 0.2.174 → 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.
- package/dist/{AcpBackend-MMfGUkmp.cjs → AcpBackend-9_ZI1Bv3.cjs} +3 -3
- package/dist/{AcpBackend-CS8TSaaH.mjs → AcpBackend-COp6D8gl.mjs} +3 -3
- package/dist/{AcpSessionManager-C2MqOirs.cjs → AcpSessionManager-CjdJLofq.cjs} +1 -1
- package/dist/{AcpSessionManager-y1Iy1mzc.mjs → AcpSessionManager-DykjzBM4.mjs} +1 -1
- package/dist/{BasePermissionHandler-BiWdGyL1.mjs → BasePermissionHandler-ChMkmsGD.mjs} +1 -1
- package/dist/{BasePermissionHandler-CJQPjMEa.cjs → BasePermissionHandler-DPvLN7aR.cjs} +1 -1
- package/dist/{BaseReasoningProcessor-BY9a3RTU.cjs → BaseReasoningProcessor-Dnf16mtJ.cjs} +1 -1
- package/dist/{BaseReasoningProcessor-2sLuoRYw.mjs → BaseReasoningProcessor-pjvLSTQF.mjs} +1 -1
- package/dist/{agentHome-BeAq0X3o.cjs → agentHome-BKi7tsE9.cjs} +4 -4
- package/dist/{agentHome-CK6SbAVu.mjs → agentHome-D61ZMLXM.mjs} +4 -4
- package/dist/{api-Cy_Mbe8W.cjs → api-Buc_ejoA.cjs} +10 -10
- package/dist/{api-rOLB1-sV.mjs → api-CbwDDXJt.mjs} +10 -10
- package/dist/{apiMachine-A9n14NN1.cjs → apiMachine--PXoXwKq.cjs} +14 -14
- package/dist/{apiMachine-VBkOChth.mjs → apiMachine-CS7t3Rg-.mjs} +15 -15
- package/dist/{attachmentContent-CSGb8uDJ.mjs → attachmentContent-BQYc8KpE.mjs} +2 -2
- package/dist/{attachmentContent-ULnsMsIL.cjs → attachmentContent-CFzzTeV9.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-CiZfkTkd.mjs → auth-B3xMoveE.mjs} +5 -5
- package/dist/{auth-EnJQu_vf.mjs → auth-CBkmRIGw.mjs} +8 -8
- package/dist/{auth-BD2z4MCH.cjs → auth-CpO3ZUMz.cjs} +5 -5
- package/dist/{auth--YSQ1-dG.cjs → auth-LPvsVriN.cjs} +8 -8
- package/dist/{auto-D_hKBFAY.mjs → auto-DHGch_zK.mjs} +16 -16
- package/dist/{auto-CobMGmFM.cjs → auto-Dm3EIKT7.cjs} +15 -15
- package/dist/{bootstrap-BYrt5zUv.cjs → bootstrap-BboDz_w2.cjs} +2 -2
- package/dist/{bootstrap-D1RRCJdQ.mjs → bootstrap-CxuBAkJU.mjs} +2 -2
- package/dist/{browser-IVfX6PQT.mjs → browser-BvARP-YR.mjs} +1 -1
- package/dist/{browser-i45hmvWw.cjs → browser-GQZJxD2n.cjs} +1 -1
- package/dist/{claudeLocal-DnPoeXP2.mjs → claudeLocal-B9EhFmD7.mjs} +6 -6
- package/dist/{claudeLocal-Cg8Qn4tF.cjs → claudeLocal-D-mujSX1.cjs} +5 -5
- package/dist/{claudeLocalLauncher-BAavVhU8.mjs → claudeLocalLauncher-Bdl-9aU_.mjs} +11 -11
- package/dist/{claudeLocalLauncher-CFlsscqX.cjs → claudeLocalLauncher-Tbrx6TXF.cjs} +10 -10
- package/dist/{claudeSessionFork-bp8LeRZ9.mjs → claudeSessionFork-D_DKvDKE.mjs} +1 -1
- package/dist/{claudeSessionFork-DmwPXMmz.cjs → claudeSessionFork-sOz97qqW.cjs} +1 -1
- package/dist/{client-DbqP92Fy.mjs → client-Cg6ABRe-.mjs} +3 -3
- package/dist/{client-QtWC3yii.cjs → client-D7sSU04O.cjs} +3 -3
- package/dist/{client-B6H6ZROd.cjs → client-D9pEOhn4.cjs} +2 -2
- package/dist/{client-Bi1DOVy9.mjs → client-Ryu9fllj.mjs} +2 -2
- package/dist/codex/happyMcpStdioBridge.cjs +15 -15
- package/dist/codex/happyMcpStdioBridge.mjs +15 -15
- package/dist/{codexAppServerClient-pnCpJlD8.mjs → codexAppServerClient-C70pJ-BB.mjs} +432 -48
- package/dist/{codexAppServerClient-BWB1267F.cjs → codexAppServerClient-DsIUkVnX.cjs} +428 -44
- package/dist/{codexCommand-u4m_X8VA.cjs → codexCommand-Aycux-B7.cjs} +162 -60
- package/dist/{codexCommand-BmtdCu-D.mjs → codexCommand-DWbA3pJN.mjs} +163 -61
- package/dist/{config-BaJCpLzN.cjs → config-BcL0bxO5.cjs} +3 -3
- package/dist/{config-Czc1tQDn.mjs → config-Bztmzu8z.mjs} +3 -3
- package/dist/{configuration-zOfO2qdB.mjs → configuration-BAwOtWFY.mjs} +1 -1
- package/dist/{configuration-Btwt68O2.cjs → configuration-CpBrilxV.cjs} +1 -1
- package/dist/{connect-DQaDa6i7.cjs → connect-BBNCMTi8.cjs} +13 -13
- package/dist/{connect-D21OhdsD.mjs → connect-BeWQ4MMA.mjs} +13 -13
- package/dist/{context-BknomZTq.cjs → context-Hk0j2Y9-.cjs} +1 -1
- package/dist/{context-BTX3YYdt.mjs → context-j114QJre.mjs} +1 -1
- package/dist/{controlClient-CbmWgWJW.mjs → controlClient-00KYAjsI.mjs} +3 -3
- package/dist/{controlClient-CEpaptre.cjs → controlClient-bs_YqwDl.cjs} +3 -3
- package/dist/{createSessionMetadata-Cgfcg0WZ.cjs → createSessionMetadata-D4Sj6H95.cjs} +2 -2
- package/dist/{createSessionMetadata-CM7ErnPh.mjs → createSessionMetadata-xlycGog5.mjs} +2 -2
- package/dist/{defaultPermissionMode-CmgCDVpL.mjs → defaultPermissionMode-B97ox9p1.mjs} +2 -2
- package/dist/{defaultPermissionMode-DqdkzYUY.cjs → defaultPermissionMode-CMsiaRzr.cjs} +2 -2
- package/dist/{deterministicJson-B3V5Ss2l.cjs → deterministicJson-aHxtYLha.cjs} +9 -9
- package/dist/{deterministicJson-DVvfcibH.mjs → deterministicJson-ucyv8j6b.mjs} +9 -9
- package/dist/{doctor-C_Xfs8Bs.cjs → doctor-BXkNXcok.cjs} +7 -7
- package/dist/{doctor-CidhGBde.mjs → doctor-D554c6Bg.mjs} +7 -7
- package/dist/{downloadTarget-C-18yOBz.mjs → downloadTarget-2_zMvt2N.mjs} +6 -6
- package/dist/{downloadTarget-DJKG6wVj.cjs → downloadTarget-CmdlljZW.cjs} +6 -6
- package/dist/{ensureDaemonRunning-Dk1yo6aK.cjs → ensureDaemonRunning-CY7iC--U.cjs} +5 -5
- package/dist/{ensureDaemonRunning-CWo9yDAC.mjs → ensureDaemonRunning-DJlziY-m.mjs} +5 -5
- package/dist/{handleResumeCommand-ApqydtLf.mjs → handleResumeCommand-CNTnXBXA.mjs} +5 -5
- package/dist/{handleResumeCommand-DvFAI68O.cjs → handleResumeCommand-lSVnvTNC.cjs} +5 -5
- package/dist/{index-D0IWz-WE.mjs → index-59hR7nVz.mjs} +3 -3
- package/dist/{index-CMeZ7WcS.mjs → index-CxSLrTPA.mjs} +4 -4
- package/dist/{index-boE-d8CM.mjs → index-DMy3OCBe.mjs} +8 -1
- package/dist/{index-BVC5vBcc.mjs → index-DY3I8j0W.mjs} +37 -37
- package/dist/{index-BZdhwBKa.cjs → index-De8L5lFK.cjs} +8 -0
- package/dist/{index-azi2eHdp.cjs → index-DhARRePz.cjs} +4 -4
- package/dist/{index-CjFzrcin.cjs → index-MwTVbeGW.cjs} +3 -3
- package/dist/{index-CXCoTvVd.cjs → index-jeD70GGH.cjs} +36 -36
- package/dist/index.cjs +2 -2
- package/dist/index.mjs +2 -2
- package/dist/{install-DayuanHz.cjs → install-DXUEtGfU.cjs} +3 -3
- package/dist/{install-BOPmEeSo.mjs → install-DytIJ_Ia.mjs} +3 -3
- package/dist/lib.cjs +12 -12
- package/dist/lib.mjs +12 -12
- package/dist/{lidState-Bv862v_R.mjs → lidState-CduPmrM0.mjs} +1 -1
- package/dist/{lidState-7uLoa43a.cjs → lidState-UasMvPzw.cjs} +1 -1
- package/dist/{localHappyAgentAuth-CfILduPd.cjs → localHappyAgentAuth-CA02WOny.cjs} +1 -1
- package/dist/{localHappyAgentAuth-CLP3CBMK.mjs → localHappyAgentAuth-DL8JjHTV.mjs} +1 -1
- package/dist/{logger-CUxbqfrp.mjs → logger-CihCDWDw.mjs} +2 -2
- package/dist/{logger-XjIS0lU7.cjs → logger-zoO54Zsy.cjs} +2 -2
- package/dist/{machineMetadata-DTxYqMdE.cjs → machineMetadata-BAKVtr-k.cjs} +3 -3
- package/dist/{machineMetadata-QfdvKIrL.mjs → machineMetadata-DEZcQ_CQ.mjs} +3 -3
- package/dist/{main-BpC52KlL.cjs → main-BIvxyX71.cjs} +44 -44
- package/dist/{main-DcfU9Axf.mjs → main-DyJfNlL_.mjs} +44 -44
- package/dist/{manager-BEsI4qt3.mjs → manager-2Il8XJVq.mjs} +1 -1
- package/dist/{mcp-EEwHzYYU.cjs → mcp-Dd11vHij.cjs} +14 -14
- package/dist/{mcp-BhUNcpoX.mjs → mcp-yoIdGe6C.mjs} +14 -14
- package/dist/{mirrorProtocol-BoBu65cj.mjs → mirrorProtocol-BukXB5s3.mjs} +3 -3
- package/dist/{mirrorProtocol-WfE5yd3v.cjs → mirrorProtocol-D-hF_SE5.cjs} +3 -3
- package/dist/{package-DFQUF2in.cjs → package-A7zOGx8B.cjs} +7 -7
- package/dist/{package-DkI3yDe0.mjs → package-ayqGDKSp.mjs} +7 -7
- package/dist/{peerTools-zfe59JAw.mjs → peerTools-DDMSViPu.mjs} +4 -4
- package/dist/{peerTools-DbI6tEk1.cjs → peerTools-dPc9hRC5.cjs} +4 -4
- package/dist/{persistence-BO7AS2NK.cjs → persistence-Cih2AWml.cjs} +2 -2
- package/dist/{persistence-CBToZ0R6.mjs → persistence-Dy3lmall.mjs} +2 -2
- package/dist/{piRunnerArgs-CICVlVem.cjs → piRunnerArgs-BuJgnUI5.cjs} +1 -1
- package/dist/{piRunnerArgs-C2us7__q.mjs → piRunnerArgs-D3z3-1VJ.mjs} +1 -1
- package/dist/{piRuntime-CTezrTNw.cjs → piRuntime-B-SPcWIr.cjs} +1 -1
- package/dist/{piRuntime-BYHZYbw6.mjs → piRuntime-kVGue-_5.mjs} +1 -1
- package/dist/{piTerminal-CeiWEB-T.cjs → piTerminal-DSxK5aAm.cjs} +16 -16
- package/dist/{piTerminal-YCRkoVWF.mjs → piTerminal-aEtVdCJ2.mjs} +16 -16
- package/dist/{rateLimitWindows-U7NsRvIa.cjs → rateLimitWindows-82izLQy8.cjs} +1 -1
- package/dist/{rateLimitWindows-i2-530Zt.mjs → rateLimitWindows-E5DRjfE6.mjs} +1 -1
- package/dist/{registerCommonHandlers-C_KbP5Mq.mjs → registerCommonHandlers-Bm7CMqMv.mjs} +2 -2
- package/dist/{registerCommonHandlers-DTeuk3Hw.cjs → registerCommonHandlers-CqO075-X.cjs} +2 -2
- package/dist/{registerKillSessionHandler-B7zpuzvS.mjs → registerKillSessionHandler-D02OY4vi.mjs} +6 -6
- package/dist/{registerKillSessionHandler-B_FqygY4.cjs → registerKillSessionHandler-WQra3T9B.cjs} +6 -6
- package/dist/{remoteSessionClient-Bk1Qzb5I.mjs → remoteSessionClient-Buh6NejV.mjs} +5 -5
- package/dist/{remoteSessionClient-D79ci1L8.cjs → remoteSessionClient-f3DYorl8.cjs} +5 -5
- package/dist/{reportProgressTool-oJMMqzKb.cjs → reportProgressTool-C2gn_HWD.cjs} +2 -2
- package/dist/{reportProgressTool-DujvMncK.mjs → reportProgressTool-C5aSoKYX.mjs} +2 -2
- package/dist/{run-CyiUjBZK.cjs → run-CDEmq6Zs.cjs} +34 -34
- package/dist/{run-DVE2Gq-E.mjs → run-Drxogp0j.mjs} +33 -33
- package/dist/{runClaude-BcpBew2h.mjs → runClaude-BF6U2Js7.mjs} +21 -21
- package/dist/{runClaude-CmAHAR3N.cjs → runClaude-yEcZTCt_.cjs} +21 -21
- package/dist/{runClaudeDeps-C2fTmXoo.mjs → runClaudeDeps-Bl4ndq7N.mjs} +40 -40
- package/dist/{runClaudeDeps-Z_RVvcuG.cjs → runClaudeDeps-CnNNFjlI.cjs} +35 -35
- package/dist/{runGemini-BYmVfC3b.mjs → runGemini-C3wt7iv7.mjs} +32 -32
- package/dist/{runGemini-Bv4nVBfj.cjs → runGemini-DDVDRNg4.cjs} +32 -32
- package/dist/{runOpenClaw-D5suaSgY.cjs → runOpenClaw-BzlVA_9Q.cjs} +18 -18
- package/dist/{runOpenClaw-msp2nzW8.mjs → runOpenClaw-CY6YHAvj.mjs} +18 -18
- package/dist/{sandbox-CSnsdXId.cjs → sandbox-0UNHR3hP.cjs} +4 -4
- package/dist/{sandbox-CH7xLX1-.mjs → sandbox-CX_wLwpq.mjs} +4 -4
- package/dist/selfCheck-ClVv8NK3.mjs +84 -0
- package/dist/{selfCheck-B4mCW5Em.cjs → selfCheck-FNwMFY8p.cjs} +34 -34
- package/dist/{send-DzRwXl8a.cjs → send-BQkl25g0.cjs} +8 -8
- package/dist/{send-lrV7t7dr.mjs → send-CpEGYict.mjs} +8 -8
- package/dist/{server-BAwRC79P.cjs → server-BodFZ5sW.cjs} +6 -6
- package/dist/{server-DBHPW2gs.mjs → server-DnINX_Lm.mjs} +4 -4
- package/dist/{sessionLock-ClIuWFru.cjs → sessionLock-DOj6mMXn.cjs} +3 -3
- package/dist/{sessionLock-D_-T15Y-.mjs → sessionLock-Ddn-fhZ0.mjs} +3 -3
- package/dist/{sessionModeFile-BP1s4On2.mjs → sessionModeFile-DDbonFR_.mjs} +1 -1
- package/dist/{sessionModeFile-BFejyKn5.cjs → sessionModeFile-DVukoSp7.cjs} +1 -1
- package/dist/{sessionOps-DfAtoDD5.mjs → sessionOps-B1vQ25GS.mjs} +4 -4
- package/dist/{sessionOps-C7wI8Ll6.cjs → sessionOps-Nryt1DZt.cjs} +4 -4
- package/dist/{sessionScanner-BJFPUwar.cjs → sessionScanner-D1h-cdte.cjs} +3 -3
- package/dist/{sessionScanner-1-ANJdrm.mjs → sessionScanner-DCr3ofhR.mjs} +3 -3
- package/dist/{sessions-Bi13Rn0K.cjs → sessions-D2HsTbLf.cjs} +9 -9
- package/dist/{sessions-Dp_X8vP2.mjs → sessions-DpAN6Ft9.mjs} +9 -9
- package/dist/{setupOfflineReconnection-BJCXuFad.cjs → setupOfflineReconnection-B9Tw1Ouj.cjs} +2 -2
- package/dist/{setupOfflineReconnection-D51KXWAP.mjs → setupOfflineReconnection-DQHEp330.mjs} +2 -2
- package/dist/{spawn-DeXPOMMC.mjs → spawn-CNjm1yOi.mjs} +14 -14
- package/dist/{spawn-BiYYv0J7.cjs → spawn-CvDZ38hi.cjs} +13 -13
- package/dist/{spawnAgents-BhsbJ253.mjs → spawnAgents-BjtmjBvP.mjs} +1 -1
- package/dist/{spawnAgents-CgMKuOhZ.cjs → spawnAgents-CCjJifAW.cjs} +1 -1
- package/dist/{spawnHappyCLI-CYS23qZY.mjs → spawnHappyCLI-C8Vl56wB.mjs} +1 -1
- package/dist/{spawnHappyCLI-CrKdy_rv.cjs → spawnHappyCLI-ahi4j6Mh.cjs} +1 -1
- package/dist/{specialCommands-Dkg5wrXd.cjs → specialCommands-BpqnGrOP.cjs} +3 -3
- package/dist/{specialCommands-BbNlcS3G.mjs → specialCommands-DfVMGXTl.mjs} +3 -3
- package/dist/{startFileWatcher-CgH0PknF.mjs → startFileWatcher-DXJXY4AE.mjs} +1 -1
- package/dist/{startFileWatcher-BJ4vTfRp.cjs → startFileWatcher-Ddn3L0u3.cjs} +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-MTpgBfV2.mjs → sync-BKvgkhPs.mjs} +1 -1
- package/dist/{sync-CGVTRg-R.cjs → sync-BgZuthoS.cjs} +1 -1
- package/dist/{systemPrompt-DRCJdhNo.cjs → systemPrompt-C6O1cHUg.cjs} +2 -2
- package/dist/{systemPrompt-BMGFnaRU.mjs → systemPrompt-DuPem6c9.mjs} +2 -2
- package/dist/{teams-H_F3UZkh.mjs → teams-CffMBBfU.mjs} +6 -6
- package/dist/{teams-0d4XG2_h.cjs → teams-DifEhhmk.cjs} +6 -6
- package/dist/{time-7iVn8KLQ.mjs → time-DxCTiteK.mjs} +1 -1
- package/dist/{time-ChuhR6SU.cjs → time-s8CaneqW.cjs} +1 -1
- package/dist/{titleGenerator-CLdAiwN1.mjs → titleGenerator-B5T7QSzu.mjs} +1 -1
- package/dist/{titleGenerator-CozWnU-t.cjs → titleGenerator-CXr7t6cf.cjs} +2 -2
- package/dist/{todo-BeIYBXws.cjs → todo-B41GKMcI.cjs} +6 -6
- package/dist/{todo-7mtNKrxn.mjs → todo-DNO7s8td.mjs} +6 -6
- package/dist/{tools-BSlqfWAq.mjs → tools-697R1uqn.mjs} +1 -1
- package/dist/{tools-9hPR5-u8.cjs → tools-lotMyxIE.cjs} +1 -1
- package/dist/{uninstall-Bf5MardO.cjs → uninstall-CRu96len.cjs} +3 -3
- package/dist/{uninstall-Uei9RnVT.mjs → uninstall-CYO7EDjO.mjs} +3 -3
- package/package.json +7 -7
- package/dist/selfCheck-WbfDqlfQ.mjs +0 -84
|
@@ -1,96 +1,96 @@
|
|
|
1
|
-
import { a as authAndSetupMachineIfNeeded } from './auth-
|
|
2
|
-
import { c as createEnvelope, o as BUILTIN_TODO_DISCOVERY, P as PROMPT_QUEUE_CAPABILITY } from './index-
|
|
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-
|
|
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-
|
|
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-
|
|
12
|
-
import { C as CodexAppServerClient } from './codexAppServerClient-
|
|
13
|
-
import { p as parseSpecialCommand, w as wrapperRateLimitReporter } from './specialCommands-
|
|
14
|
-
import { l as logger } from './logger-
|
|
15
|
-
import { B as BasePermissionHandler } from './BasePermissionHandler-
|
|
16
|
-
import { B as BaseReasoningProcessor } from './BaseReasoningProcessor-
|
|
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-
|
|
19
|
-
import { g as getInitialMachineMetadata } from './machineMetadata-
|
|
20
|
-
import { c as configuration } from './configuration-
|
|
21
|
-
import { M as MessageQueue2, r as registerKillSessionHandler } from './registerKillSessionHandler-
|
|
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-
|
|
25
|
-
import { h as hashObject, s as startHappyServer } from './deterministicJson-
|
|
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-
|
|
28
|
-
import { a as HibernationExitLatch, H as HibernationProbe, c as commitHibernation, b as DEFAULT_CODEX_PERMISSION_MODE } from './defaultPermissionMode-
|
|
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-
|
|
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-
|
|
35
|
+
import { a as extractNoSandboxFlag, e as ensureDaemonRunning } from './ensureDaemonRunning-DJlziY-m.mjs';
|
|
35
36
|
import 'tweetnacl';
|
|
36
37
|
import 'axios';
|
|
37
|
-
import './time-
|
|
38
|
-
import './browser-
|
|
38
|
+
import './time-DxCTiteK.mjs';
|
|
39
|
+
import './browser-BvARP-YR.mjs';
|
|
39
40
|
import 'open';
|
|
40
41
|
import 'zod';
|
|
41
|
-
import '
|
|
42
|
-
import './attachmentLimits-BLbji11b.mjs';
|
|
42
|
+
import './attachmentLimits-Di1Z93lN.mjs';
|
|
43
43
|
import 'node:fs';
|
|
44
|
-
import './lidState-
|
|
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-
|
|
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-
|
|
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-
|
|
61
|
+
import './manager-2Il8XJVq.mjs';
|
|
62
62
|
import '@anthropic-ai/sandbox-runtime';
|
|
63
63
|
import 'node:os';
|
|
64
|
-
import './package-
|
|
65
|
-
import './rateLimitWindows-
|
|
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-
|
|
69
|
+
import './localHappyAgentAuth-DL8JjHTV.mjs';
|
|
70
70
|
import './types-CkqAACXx.mjs';
|
|
71
71
|
import 'url';
|
|
72
|
-
import './client-
|
|
73
|
-
import './context-
|
|
74
|
-
import './sessionOps-
|
|
72
|
+
import './client-Cg6ABRe-.mjs';
|
|
73
|
+
import './context-j114QJre.mjs';
|
|
74
|
+
import './sessionOps-B1vQ25GS.mjs';
|
|
75
75
|
import './resources-BdFBQi8r.mjs';
|
|
76
|
-
import './tools-
|
|
77
|
-
import './reportProgressTool-
|
|
78
|
-
import './client-
|
|
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-
|
|
81
|
+
import './peerTools-DDMSViPu.mjs';
|
|
82
82
|
import './ids-DU6sLx4C.mjs';
|
|
83
|
-
import './remoteSessionClient-
|
|
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-
|
|
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-
|
|
91
|
+
import './bootstrap-CxuBAkJU.mjs';
|
|
92
92
|
import './previewPath-CXN4Vag0.mjs';
|
|
93
|
-
import './spawnHappyCLI-
|
|
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
|
|
106
|
-
|
|
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
|
-
|
|
417
|
-
|
|
418
|
-
|
|
419
|
-
|
|
420
|
-
|
|
421
|
-
|
|
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
|
}
|
|
@@ -1079,6 +1125,10 @@ function describeCodexRetry(msg) {
|
|
|
1079
1125
|
const cause = status ? `HTTP ${status} from the model API` : "a model API error";
|
|
1080
1126
|
return message ? `Codex is retrying after ${cause} (${message})` : `Codex is retrying after ${cause}`;
|
|
1081
1127
|
}
|
|
1128
|
+
function codexStderrTailOf(error) {
|
|
1129
|
+
const tail = error?.codexStderrTail;
|
|
1130
|
+
return typeof tail === "string" && tail.trim() ? tail.trim() : null;
|
|
1131
|
+
}
|
|
1082
1132
|
const TRANSPORT_LOSS = /^Codex process (exited|disconnected)\b|stdin not writable| timed out after \d+ms/;
|
|
1083
1133
|
function describeThrownTurnError(error) {
|
|
1084
1134
|
const message = error instanceof Error ? error.message : typeof error === "string" ? error : "";
|
|
@@ -1244,6 +1294,27 @@ function enqueueCodexUserText(opts) {
|
|
|
1244
1294
|
return "queued";
|
|
1245
1295
|
}
|
|
1246
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
|
+
|
|
1247
1318
|
function hashCodexEnhancedMode(mode) {
|
|
1248
1319
|
return hashObject({
|
|
1249
1320
|
permissionMode: mode.permissionMode,
|
|
@@ -1345,7 +1416,7 @@ async function runCodex(opts) {
|
|
|
1345
1416
|
dangerouslySkipPermissions: initialPermissionMode === "yolo" || initialPermissionMode === "bypassPermissions",
|
|
1346
1417
|
...forkedFromSessionId ? { parentSessionId: forkedFromSessionId } : {},
|
|
1347
1418
|
...forkedFromMessageId ? { forkedFromMessageId } : {},
|
|
1348
|
-
capabilities: [PROMPT_QUEUE_CAPABILITY, FORK_BACKFILL_CAPABILITY, HIBERNATION_CAPABILITY]
|
|
1419
|
+
capabilities: [PROMPT_QUEUE_CAPABILITY, FORK_BACKFILL_CAPABILITY, HIBERNATION_CAPABILITY, CODEX_STEER_CAPABILITY]
|
|
1349
1420
|
});
|
|
1350
1421
|
metadata.attachmentKinds = [...CLAUDE_ATTACHMENT_KINDS];
|
|
1351
1422
|
const importCodexThreadId = process.env[IMPORT_CODEX_THREAD_ENV];
|
|
@@ -1476,6 +1547,20 @@ async function runCodex(opts) {
|
|
|
1476
1547
|
];
|
|
1477
1548
|
let discoveredModels = [];
|
|
1478
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
|
+
};
|
|
1479
1564
|
let userMessageDelivery = Promise.resolve();
|
|
1480
1565
|
session.onUserMessage((message) => {
|
|
1481
1566
|
const downloads = session.drainAttachmentsForUserMessage();
|
|
@@ -1533,6 +1618,12 @@ async function runCodex(opts) {
|
|
|
1533
1618
|
appendSystemPrompt: messageAppendSystemPrompt,
|
|
1534
1619
|
effort: messageEffort
|
|
1535
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
|
+
}
|
|
1536
1627
|
const enqueueResult = enqueueCodexUserText({
|
|
1537
1628
|
text: message.content.text,
|
|
1538
1629
|
mode: enhancedMode,
|
|
@@ -1553,6 +1644,7 @@ async function runCodex(opts) {
|
|
|
1553
1644
|
let codexStartedSubagents = /* @__PURE__ */ new Set();
|
|
1554
1645
|
let codexActiveSubagents = /* @__PURE__ */ new Set();
|
|
1555
1646
|
let codexProviderSubagentToSessionSubagent = /* @__PURE__ */ new Map();
|
|
1647
|
+
let codexLabeledSubagents = /* @__PURE__ */ new Set();
|
|
1556
1648
|
session.keepAlive(thinking, "remote");
|
|
1557
1649
|
const keepAliveInterval = setInterval(() => {
|
|
1558
1650
|
session.keepAlive(thinking, "remote");
|
|
@@ -1774,6 +1866,12 @@ async function runCodex(opts) {
|
|
|
1774
1866
|
const notice = describeCodexRetry(msg);
|
|
1775
1867
|
messageBuffer.addMessage(notice, "status");
|
|
1776
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
|
+
}
|
|
1777
1875
|
}
|
|
1778
1876
|
if (msg.type === "task_started") {
|
|
1779
1877
|
if (!thinking) {
|
|
@@ -1828,12 +1926,14 @@ async function runCodex(opts) {
|
|
|
1828
1926
|
currentTurnId,
|
|
1829
1927
|
startedSubagents: codexStartedSubagents,
|
|
1830
1928
|
activeSubagents: codexActiveSubagents,
|
|
1831
|
-
providerSubagentToSessionSubagent: codexProviderSubagentToSessionSubagent
|
|
1929
|
+
providerSubagentToSessionSubagent: codexProviderSubagentToSessionSubagent,
|
|
1930
|
+
labeledSubagents: codexLabeledSubagents
|
|
1832
1931
|
});
|
|
1833
1932
|
currentTurnId = mapped.currentTurnId;
|
|
1834
1933
|
codexStartedSubagents = mapped.startedSubagents;
|
|
1835
1934
|
codexActiveSubagents = mapped.activeSubagents;
|
|
1836
1935
|
codexProviderSubagentToSessionSubagent = mapped.providerSubagentToSessionSubagent;
|
|
1936
|
+
codexLabeledSubagents = mapped.labeledSubagents;
|
|
1837
1937
|
for (const envelope of mapped.envelopes) {
|
|
1838
1938
|
session.sendSessionProtocolMessage(envelope);
|
|
1839
1939
|
}
|
|
@@ -2001,6 +2101,7 @@ async function runCodex(opts) {
|
|
|
2001
2101
|
codexStartedSubagents = /* @__PURE__ */ new Set();
|
|
2002
2102
|
codexActiveSubagents = /* @__PURE__ */ new Set();
|
|
2003
2103
|
codexProviderSubagentToSessionSubagent = /* @__PURE__ */ new Map();
|
|
2104
|
+
codexLabeledSubagents = /* @__PURE__ */ new Set();
|
|
2004
2105
|
permissionHandler.reset();
|
|
2005
2106
|
reasoningProcessor.abort();
|
|
2006
2107
|
diffProcessor.reset();
|
|
@@ -2084,8 +2185,9 @@ async function runCodex(opts) {
|
|
|
2084
2185
|
messageBuffer.addMessage(`Task failed: ${reason}`, "status");
|
|
2085
2186
|
session.sendSessionEvent({ type: "message", message: `Codex error: ${reason}` });
|
|
2086
2187
|
} else {
|
|
2188
|
+
const tail = codexStderrTailOf(error);
|
|
2087
2189
|
messageBuffer.addMessage("Process exited unexpectedly", "status");
|
|
2088
|
-
session.sendSessionEvent({ type: "message", message: "Process exited unexpectedly" });
|
|
2190
|
+
session.sendSessionEvent({ type: "message", message: tail ? `Process exited unexpectedly: ${tail}` : "Process exited unexpectedly" });
|
|
2089
2191
|
}
|
|
2090
2192
|
} finally {
|
|
2091
2193
|
permissionHandler.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-
|
|
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-
|
|
11
|
+
require('./configuration-CpBrilxV.cjs');
|
|
12
12
|
require('node:fs');
|
|
13
13
|
require('node:os');
|
|
14
14
|
require('node:path');
|
|
15
|
-
require('./package-
|
|
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-
|
|
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-
|
|
9
|
+
import './configuration-BAwOtWFY.mjs';
|
|
10
10
|
import 'node:fs';
|
|
11
11
|
import 'node:os';
|
|
12
12
|
import 'node:path';
|
|
13
|
-
import './package-
|
|
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-
|
|
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-
|
|
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-
|
|
7
|
-
var api = require('./api-
|
|
8
|
-
var configuration = require('./configuration-
|
|
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-
|
|
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-
|
|
20
|
+
require('./logger-zoO54Zsy.cjs');
|
|
21
21
|
require('node:util');
|
|
22
22
|
require('node:path');
|
|
23
23
|
require('axios');
|
|
24
|
-
require('./lidState-
|
|
24
|
+
require('./lidState-UasMvPzw.cjs');
|
|
25
25
|
require('node:events');
|
|
26
26
|
require('socket.io-client');
|
|
27
|
-
require('./attachmentLimits-
|
|
28
|
-
require('./index-
|
|
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-
|
|
32
|
-
require('./registerCommonHandlers-
|
|
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-
|
|
37
|
+
require('./sync-BgZuthoS.cjs');
|
|
38
38
|
require('./backgroundTaskActivity-CBvUdj39.cjs');
|
|
39
|
-
require('./controlClient-
|
|
39
|
+
require('./controlClient-bs_YqwDl.cjs');
|
|
40
40
|
require('./contentLogMetadata-ZSFk_NjQ.cjs');
|
|
41
41
|
require('node:os');
|
|
42
|
-
require('./package-
|
|
42
|
+
require('./package-A7zOGx8B.cjs');
|
|
43
43
|
require('open');
|
|
44
44
|
|
|
45
45
|
const CLIENT_ID$2 = "app_EMoamEEZ73f0CkXaXp7hrann";
|