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,96 +1,97 @@
|
|
|
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-BmESeKuM.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-cPVF463_.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-ZfvFVdUi.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 './
|
|
12
|
+
import { c as connectionState, A as ApiClient } from './api-CKBViqI3.mjs';
|
|
13
|
+
import { C as CodexAppServerClient } from './codexAppServerClient-D-Z8qSfI.mjs';
|
|
14
|
+
import { p as parseSpecialCommand, w as wrapperRateLimitReporter } from './specialCommands-DkdFJi4N.mjs';
|
|
15
|
+
import { l as logger } from './logger-13cBr_ew.mjs';
|
|
16
|
+
import { B as BasePermissionHandler } from './BasePermissionHandler-hdY7kTqX.mjs';
|
|
17
|
+
import { B as BaseReasoningProcessor, s as settleCodexSession } from './codexTermination-CCIfwzcx.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-C_tYtOqK.mjs';
|
|
20
|
+
import { g as getInitialMachineMetadata } from './machineMetadata-dMida2qq.mjs';
|
|
21
|
+
import { c as configuration } from './configuration-D55F0t16.mjs';
|
|
22
|
+
import { M as MessageQueue2, r as registerKillSessionHandler } from './registerKillSessionHandler-Drhf7-Vz.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-Bi-m0Y_O.mjs';
|
|
26
|
+
import { h as hashObject, s as startHappyServer } from './deterministicJson-BkQETt8_.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-C4xB5J6O.mjs';
|
|
29
|
+
import { a as HibernationExitLatch, H as HibernationProbe, c as commitHibernation, b as DEFAULT_CODEX_PERMISSION_MODE } from './defaultPermissionMode-wBcbBezm.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-C5trsV-j.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--HYzs5Ce.mjs';
|
|
35
36
|
import 'tweetnacl';
|
|
36
37
|
import 'axios';
|
|
37
|
-
import './time-
|
|
38
|
-
import './browser-
|
|
38
|
+
import './time-yEL6wHUF.mjs';
|
|
39
|
+
import './browser-BlLWZUMx.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-BqVsw7H1.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-D8OMpBbQ.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-
|
|
57
|
-
import './backgroundTaskActivity-
|
|
56
|
+
import './sync-C3p7-KLn.mjs';
|
|
57
|
+
import './backgroundTaskActivity-BVwJBl02.mjs';
|
|
58
58
|
import './contentLogMetadata-BlWI0egu.mjs';
|
|
59
59
|
import 'chalk';
|
|
60
60
|
import 'node:readline';
|
|
61
61
|
import './manager-BEsI4qt3.mjs';
|
|
62
62
|
import '@anthropic-ai/sandbox-runtime';
|
|
63
63
|
import 'node:os';
|
|
64
|
-
import './package-
|
|
65
|
-
import './rateLimitWindows-
|
|
64
|
+
import './package-CjlsAaRe.mjs';
|
|
65
|
+
import './rateLimitWindows-DYHDGuzQ.mjs';
|
|
66
|
+
import './processTree-CP5IvQ2Z.mjs';
|
|
66
67
|
import 'node:util';
|
|
67
68
|
import './detectCLI-CSGMlV51.mjs';
|
|
68
69
|
import 'fs';
|
|
69
|
-
import './localHappyAgentAuth-
|
|
70
|
+
import './localHappyAgentAuth-Ce8kO2yc.mjs';
|
|
70
71
|
import './types-CkqAACXx.mjs';
|
|
71
72
|
import 'url';
|
|
72
|
-
import './client-
|
|
73
|
-
import './context-
|
|
74
|
-
import './sessionOps-
|
|
73
|
+
import './client-BPMWutfs.mjs';
|
|
74
|
+
import './context-CCRpVXFo.mjs';
|
|
75
|
+
import './sessionOps-CdgbEJgf.mjs';
|
|
75
76
|
import './resources-BdFBQi8r.mjs';
|
|
76
|
-
import './tools-
|
|
77
|
-
import './reportProgressTool-
|
|
78
|
-
import './client-
|
|
77
|
+
import './tools-BrM3bZW5.mjs';
|
|
78
|
+
import './reportProgressTool-B203EZCR.mjs';
|
|
79
|
+
import './client-DG5ndWLw.mjs';
|
|
79
80
|
import './precheckCompat-DeEbilbr.mjs';
|
|
80
81
|
import './agentGuidance-BDYt2Qy2.mjs';
|
|
81
|
-
import './peerTools-
|
|
82
|
+
import './peerTools-CxmrKnfV.mjs';
|
|
82
83
|
import './ids-DU6sLx4C.mjs';
|
|
83
|
-
import './remoteSessionClient-
|
|
84
|
+
import './remoteSessionClient-D01Hso2-.mjs';
|
|
84
85
|
import '@modelcontextprotocol/sdk/server/mcp.js';
|
|
85
86
|
import 'node:http';
|
|
86
87
|
import '@modelcontextprotocol/sdk/server/streamableHttp.js';
|
|
87
|
-
import './downloadTarget-
|
|
88
|
+
import './downloadTarget-ByXzbDK4.mjs';
|
|
88
89
|
import './terminals-Dlg0x3nY.mjs';
|
|
89
90
|
import './terminalTitleSuggest-CeKsX_V6.mjs';
|
|
90
91
|
import './tmuxSocket-B8Yx20sT.mjs';
|
|
91
|
-
import './bootstrap-
|
|
92
|
+
import './bootstrap-C0s2bPFQ.mjs';
|
|
92
93
|
import './previewPath-CXN4Vag0.mjs';
|
|
93
|
-
import './spawnHappyCLI-
|
|
94
|
+
import './spawnHappyCLI-B_0RWxD4.mjs';
|
|
94
95
|
import './doctorReadiness-C208SMN9.mjs';
|
|
95
96
|
|
|
96
97
|
function getStartedSubagents(state) {
|
|
@@ -102,13 +103,29 @@ function getActiveSubagents(state) {
|
|
|
102
103
|
function getProviderSubagentToSessionSubagent(state) {
|
|
103
104
|
return state.providerSubagentToSessionSubagent ?? /* @__PURE__ */ new Map();
|
|
104
105
|
}
|
|
105
|
-
function
|
|
106
|
-
|
|
106
|
+
function getLabeledSubagents(state) {
|
|
107
|
+
return state.labeledSubagents ?? /* @__PURE__ */ new Set();
|
|
108
|
+
}
|
|
109
|
+
function maybeEmitSubagentStart(subagent, opts, startedSubagents, activeSubagents, envelopes, label, labeledSubagents = /* @__PURE__ */ new Set()) {
|
|
110
|
+
if (!subagent) {
|
|
107
111
|
return;
|
|
108
112
|
}
|
|
109
|
-
|
|
113
|
+
if (startedSubagents.has(subagent)) {
|
|
114
|
+
if (label && !labeledSubagents.has(subagent)) {
|
|
115
|
+
envelopes.push(createEnvelope("agent", { t: "start", description: label }, { ...opts, subagent }));
|
|
116
|
+
labeledSubagents.add(subagent);
|
|
117
|
+
}
|
|
118
|
+
return;
|
|
119
|
+
}
|
|
120
|
+
envelopes.push(createEnvelope("agent", { t: "start", ...label ? { description: label } : {} }, { ...opts, subagent }));
|
|
110
121
|
startedSubagents.add(subagent);
|
|
111
122
|
activeSubagents.add(subagent);
|
|
123
|
+
if (label) labeledSubagents.add(subagent);
|
|
124
|
+
}
|
|
125
|
+
function subagentStopStatus(status) {
|
|
126
|
+
if (status === "failed") return "failed";
|
|
127
|
+
if (status === "interrupted" || status === "cancelled" || status === "canceled" || status === "aborted") return "stopped";
|
|
128
|
+
return "completed";
|
|
112
129
|
}
|
|
113
130
|
function emitSubagentStops(opts, startedSubagents, activeSubagents) {
|
|
114
131
|
const envelopes = [];
|
|
@@ -134,6 +151,10 @@ function pickProviderSubagent(message) {
|
|
|
134
151
|
}
|
|
135
152
|
return void 0;
|
|
136
153
|
}
|
|
154
|
+
function pickSubagentLabel(message) {
|
|
155
|
+
const label = message.subagent_label;
|
|
156
|
+
return typeof label === "string" && label.length > 0 ? label : void 0;
|
|
157
|
+
}
|
|
137
158
|
function resolveSessionSubagent(message, providerSubagentToSessionSubagent) {
|
|
138
159
|
const providerSubagent = pickProviderSubagent(message);
|
|
139
160
|
if (!providerSubagent) {
|
|
@@ -412,14 +433,25 @@ function mapCodexMcpMessageToSessionEnvelopes(message, state) {
|
|
|
412
433
|
const startedSubagents = getStartedSubagents(state);
|
|
413
434
|
const activeSubagents = getActiveSubagents(state);
|
|
414
435
|
const providerSubagentToSessionSubagent = getProviderSubagentToSessionSubagent(state);
|
|
436
|
+
const labeledSubagents = getLabeledSubagents(state);
|
|
415
437
|
if (type === "collab_agent_item") {
|
|
416
|
-
|
|
417
|
-
|
|
418
|
-
|
|
419
|
-
|
|
420
|
-
|
|
421
|
-
|
|
422
|
-
|
|
438
|
+
const subagent2 = resolveSessionSubagent(message, providerSubagentToSessionSubagent);
|
|
439
|
+
const opts2 = buildEnvelopeOptions(state.currentTurnId, subagent2);
|
|
440
|
+
const envelopes = [];
|
|
441
|
+
maybeEmitSubagentStart(subagent2, opts2, startedSubagents, activeSubagents, envelopes, pickSubagentLabel(message), labeledSubagents);
|
|
442
|
+
envelopes.push(...mapCodexCollaborationItem(message.item, opts2, "live"));
|
|
443
|
+
return { currentTurnId: state.currentTurnId, startedSubagents, activeSubagents, providerSubagentToSessionSubagent, labeledSubagents, envelopes };
|
|
444
|
+
}
|
|
445
|
+
if (type === "subagent_turn_end") {
|
|
446
|
+
const providerSubagent = pickProviderSubagent(message);
|
|
447
|
+
const sessionSubagent = providerSubagent ? providerSubagentToSessionSubagent.get(providerSubagent) : void 0;
|
|
448
|
+
const envelopes = [];
|
|
449
|
+
if (sessionSubagent && activeSubagents.has(sessionSubagent)) {
|
|
450
|
+
envelopes.push(createEnvelope("agent", { t: "stop", status: subagentStopStatus(message.status) }, buildEnvelopeOptions(state.currentTurnId, sessionSubagent)));
|
|
451
|
+
activeSubagents.delete(sessionSubagent);
|
|
452
|
+
startedSubagents.delete(sessionSubagent);
|
|
453
|
+
}
|
|
454
|
+
return { currentTurnId: state.currentTurnId, startedSubagents, activeSubagents, providerSubagentToSessionSubagent, labeledSubagents, envelopes };
|
|
423
455
|
}
|
|
424
456
|
if (type === "task_started") {
|
|
425
457
|
const turnId = createId();
|
|
@@ -427,11 +459,13 @@ function mapCodexMcpMessageToSessionEnvelopes(message, state) {
|
|
|
427
459
|
startedSubagents.clear();
|
|
428
460
|
activeSubagents.clear();
|
|
429
461
|
providerSubagentToSessionSubagent.clear();
|
|
462
|
+
labeledSubagents.clear();
|
|
430
463
|
return {
|
|
431
464
|
currentTurnId: turnId,
|
|
432
465
|
startedSubagents,
|
|
433
466
|
activeSubagents,
|
|
434
467
|
providerSubagentToSessionSubagent,
|
|
468
|
+
labeledSubagents,
|
|
435
469
|
envelopes: [turnStart]
|
|
436
470
|
};
|
|
437
471
|
}
|
|
@@ -442,16 +476,19 @@ function mapCodexMcpMessageToSessionEnvelopes(message, state) {
|
|
|
442
476
|
startedSubagents,
|
|
443
477
|
activeSubagents,
|
|
444
478
|
providerSubagentToSessionSubagent,
|
|
479
|
+
labeledSubagents,
|
|
445
480
|
envelopes: []
|
|
446
481
|
};
|
|
447
482
|
}
|
|
448
483
|
const lifecycleOpts = { turn: state.currentTurnId };
|
|
449
484
|
providerSubagentToSessionSubagent.clear();
|
|
485
|
+
labeledSubagents.clear();
|
|
450
486
|
return {
|
|
451
487
|
currentTurnId: null,
|
|
452
488
|
startedSubagents,
|
|
453
489
|
activeSubagents,
|
|
454
490
|
providerSubagentToSessionSubagent,
|
|
491
|
+
labeledSubagents,
|
|
455
492
|
envelopes: [
|
|
456
493
|
...emitSubagentStops(lifecycleOpts, startedSubagents, activeSubagents),
|
|
457
494
|
createEnvelope("agent", {
|
|
@@ -467,6 +504,7 @@ function mapCodexMcpMessageToSessionEnvelopes(message, state) {
|
|
|
467
504
|
startedSubagents,
|
|
468
505
|
activeSubagents,
|
|
469
506
|
providerSubagentToSessionSubagent,
|
|
507
|
+
labeledSubagents,
|
|
470
508
|
envelopes: []
|
|
471
509
|
};
|
|
472
510
|
}
|
|
@@ -479,17 +517,19 @@ function mapCodexMcpMessageToSessionEnvelopes(message, state) {
|
|
|
479
517
|
startedSubagents,
|
|
480
518
|
activeSubagents,
|
|
481
519
|
providerSubagentToSessionSubagent,
|
|
520
|
+
labeledSubagents,
|
|
482
521
|
envelopes: []
|
|
483
522
|
};
|
|
484
523
|
}
|
|
485
524
|
const envelopes = [];
|
|
486
|
-
maybeEmitSubagentStart(subagent, opts, startedSubagents, activeSubagents, envelopes);
|
|
525
|
+
maybeEmitSubagentStart(subagent, opts, startedSubagents, activeSubagents, envelopes, pickSubagentLabel(message), labeledSubagents);
|
|
487
526
|
envelopes.push(createEnvelope("agent", { t: "text", text: message.message }, opts));
|
|
488
527
|
return {
|
|
489
528
|
currentTurnId: state.currentTurnId,
|
|
490
529
|
startedSubagents,
|
|
491
530
|
activeSubagents,
|
|
492
531
|
providerSubagentToSessionSubagent,
|
|
532
|
+
labeledSubagents,
|
|
493
533
|
envelopes
|
|
494
534
|
};
|
|
495
535
|
}
|
|
@@ -501,17 +541,19 @@ function mapCodexMcpMessageToSessionEnvelopes(message, state) {
|
|
|
501
541
|
startedSubagents,
|
|
502
542
|
activeSubagents,
|
|
503
543
|
providerSubagentToSessionSubagent,
|
|
544
|
+
labeledSubagents,
|
|
504
545
|
envelopes: []
|
|
505
546
|
};
|
|
506
547
|
}
|
|
507
548
|
const envelopes = [];
|
|
508
|
-
maybeEmitSubagentStart(subagent, opts, startedSubagents, activeSubagents, envelopes);
|
|
549
|
+
maybeEmitSubagentStart(subagent, opts, startedSubagents, activeSubagents, envelopes, pickSubagentLabel(message), labeledSubagents);
|
|
509
550
|
envelopes.push(createEnvelope("agent", { t: "text", text, thinking: true }, opts));
|
|
510
551
|
return {
|
|
511
552
|
currentTurnId: state.currentTurnId,
|
|
512
553
|
startedSubagents,
|
|
513
554
|
activeSubagents,
|
|
514
555
|
providerSubagentToSessionSubagent,
|
|
556
|
+
labeledSubagents,
|
|
515
557
|
envelopes
|
|
516
558
|
};
|
|
517
559
|
}
|
|
@@ -521,7 +563,7 @@ function mapCodexMcpMessageToSessionEnvelopes(message, state) {
|
|
|
521
563
|
const command = summarizeCommand(args.command);
|
|
522
564
|
const description = typeof args.description === "string" ? args.description : command ?? "Execute command";
|
|
523
565
|
const envelopes = [];
|
|
524
|
-
maybeEmitSubagentStart(subagent, opts, startedSubagents, activeSubagents, envelopes);
|
|
566
|
+
maybeEmitSubagentStart(subagent, opts, startedSubagents, activeSubagents, envelopes, pickSubagentLabel(message), labeledSubagents);
|
|
525
567
|
envelopes.push(
|
|
526
568
|
createEnvelope("agent", {
|
|
527
569
|
t: "tool-call-start",
|
|
@@ -537,19 +579,21 @@ function mapCodexMcpMessageToSessionEnvelopes(message, state) {
|
|
|
537
579
|
startedSubagents,
|
|
538
580
|
activeSubagents,
|
|
539
581
|
providerSubagentToSessionSubagent,
|
|
582
|
+
labeledSubagents,
|
|
540
583
|
envelopes
|
|
541
584
|
};
|
|
542
585
|
}
|
|
543
586
|
if (type === "exec_command_end") {
|
|
544
587
|
const call = pickCallId(message);
|
|
545
588
|
const envelopes = [];
|
|
546
|
-
maybeEmitSubagentStart(subagent, opts, startedSubagents, activeSubagents, envelopes);
|
|
589
|
+
maybeEmitSubagentStart(subagent, opts, startedSubagents, activeSubagents, envelopes, pickSubagentLabel(message), labeledSubagents);
|
|
547
590
|
envelopes.push(createEnvelope("agent", { t: "tool-call-end", call }, opts));
|
|
548
591
|
return {
|
|
549
592
|
currentTurnId: state.currentTurnId,
|
|
550
593
|
startedSubagents,
|
|
551
594
|
activeSubagents,
|
|
552
595
|
providerSubagentToSessionSubagent,
|
|
596
|
+
labeledSubagents,
|
|
553
597
|
envelopes
|
|
554
598
|
};
|
|
555
599
|
}
|
|
@@ -558,7 +602,7 @@ function mapCodexMcpMessageToSessionEnvelopes(message, state) {
|
|
|
558
602
|
const autoApproved = message.auto_approved;
|
|
559
603
|
const changes = message.changes;
|
|
560
604
|
const envelopes = [];
|
|
561
|
-
maybeEmitSubagentStart(subagent, opts, startedSubagents, activeSubagents, envelopes);
|
|
605
|
+
maybeEmitSubagentStart(subagent, opts, startedSubagents, activeSubagents, envelopes, pickSubagentLabel(message), labeledSubagents);
|
|
562
606
|
envelopes.push(
|
|
563
607
|
createEnvelope("agent", {
|
|
564
608
|
t: "tool-call-start",
|
|
@@ -577,19 +621,21 @@ function mapCodexMcpMessageToSessionEnvelopes(message, state) {
|
|
|
577
621
|
startedSubagents,
|
|
578
622
|
activeSubagents,
|
|
579
623
|
providerSubagentToSessionSubagent,
|
|
624
|
+
labeledSubagents,
|
|
580
625
|
envelopes
|
|
581
626
|
};
|
|
582
627
|
}
|
|
583
628
|
if (type === "patch_apply_end") {
|
|
584
629
|
const call = pickCallId(message);
|
|
585
630
|
const envelopes = [];
|
|
586
|
-
maybeEmitSubagentStart(subagent, opts, startedSubagents, activeSubagents, envelopes);
|
|
631
|
+
maybeEmitSubagentStart(subagent, opts, startedSubagents, activeSubagents, envelopes, pickSubagentLabel(message), labeledSubagents);
|
|
587
632
|
envelopes.push(createEnvelope("agent", { t: "tool-call-end", call }, opts));
|
|
588
633
|
return {
|
|
589
634
|
currentTurnId: state.currentTurnId,
|
|
590
635
|
startedSubagents,
|
|
591
636
|
activeSubagents,
|
|
592
637
|
providerSubagentToSessionSubagent,
|
|
638
|
+
labeledSubagents,
|
|
593
639
|
envelopes
|
|
594
640
|
};
|
|
595
641
|
}
|
|
@@ -598,6 +644,7 @@ function mapCodexMcpMessageToSessionEnvelopes(message, state) {
|
|
|
598
644
|
startedSubagents,
|
|
599
645
|
activeSubagents,
|
|
600
646
|
providerSubagentToSessionSubagent,
|
|
647
|
+
labeledSubagents,
|
|
601
648
|
envelopes: []
|
|
602
649
|
};
|
|
603
650
|
}
|
|
@@ -929,29 +976,6 @@ const CodexDisplay = ({ messageBuffer, logPath, onExit }) => {
|
|
|
929
976
|
));
|
|
930
977
|
};
|
|
931
978
|
|
|
932
|
-
async function settleCodexSession(session, intent, deactivate, log = () => {
|
|
933
|
-
}) {
|
|
934
|
-
if (intent === "archive") {
|
|
935
|
-
session.updateMetadata((currentMetadata) => ({
|
|
936
|
-
...currentMetadata,
|
|
937
|
-
lifecycleState: "archived",
|
|
938
|
-
lifecycleStateSince: Date.now(),
|
|
939
|
-
archivedBy: "cli",
|
|
940
|
-
archiveReason: "User terminated"
|
|
941
|
-
}));
|
|
942
|
-
}
|
|
943
|
-
session.sendSessionDeath();
|
|
944
|
-
await session.flush();
|
|
945
|
-
if (intent === "offline") {
|
|
946
|
-
try {
|
|
947
|
-
await deactivate(session.sessionId);
|
|
948
|
-
} catch (error) {
|
|
949
|
-
log("[Codex] deactivate on signal failed", error);
|
|
950
|
-
}
|
|
951
|
-
}
|
|
952
|
-
await session.close();
|
|
953
|
-
}
|
|
954
|
-
|
|
955
979
|
function resolveCodexExecutionPolicy(permissionMode, sandboxManagedByHappy) {
|
|
956
980
|
if (sandboxManagedByHappy) {
|
|
957
981
|
return {
|
|
@@ -1248,6 +1272,27 @@ function enqueueCodexUserText(opts) {
|
|
|
1248
1272
|
return "queued";
|
|
1249
1273
|
}
|
|
1250
1274
|
|
|
1275
|
+
async function steerIntoRunningTurn(deps, text, attachments, localKey) {
|
|
1276
|
+
if (!deps.ownsTurn()) return false;
|
|
1277
|
+
const staged = attachments?.length ? await deps.stage(attachments) : [];
|
|
1278
|
+
try {
|
|
1279
|
+
const outcome = await deps.steer({
|
|
1280
|
+
text: deps.withAttachments(text, staged),
|
|
1281
|
+
images: staged.filter((file) => deps.isImage(file)).map((file) => file.path),
|
|
1282
|
+
clientId: localKey
|
|
1283
|
+
});
|
|
1284
|
+
if (outcome === "steered") {
|
|
1285
|
+
deps.onSteered(text);
|
|
1286
|
+
return true;
|
|
1287
|
+
}
|
|
1288
|
+
deps.log(`[Codex] Steer not taken (${outcome}); queuing the message for the next turn`);
|
|
1289
|
+
} catch (error) {
|
|
1290
|
+
deps.log(`[Codex] Steer failed; queuing the message for the next turn: ${error instanceof Error ? error.message : String(error)}`);
|
|
1291
|
+
}
|
|
1292
|
+
await Promise.all(staged.map((file) => deps.unlink(file.path).catch(() => void 0)));
|
|
1293
|
+
return false;
|
|
1294
|
+
}
|
|
1295
|
+
|
|
1251
1296
|
function hashCodexEnhancedMode(mode) {
|
|
1252
1297
|
return hashObject({
|
|
1253
1298
|
permissionMode: mode.permissionMode,
|
|
@@ -1349,7 +1394,7 @@ async function runCodex(opts) {
|
|
|
1349
1394
|
dangerouslySkipPermissions: initialPermissionMode === "yolo" || initialPermissionMode === "bypassPermissions",
|
|
1350
1395
|
...forkedFromSessionId ? { parentSessionId: forkedFromSessionId } : {},
|
|
1351
1396
|
...forkedFromMessageId ? { forkedFromMessageId } : {},
|
|
1352
|
-
capabilities: [PROMPT_QUEUE_CAPABILITY, FORK_BACKFILL_CAPABILITY, HIBERNATION_CAPABILITY]
|
|
1397
|
+
capabilities: [PROMPT_QUEUE_CAPABILITY, FORK_BACKFILL_CAPABILITY, HIBERNATION_CAPABILITY, CODEX_STEER_CAPABILITY]
|
|
1353
1398
|
});
|
|
1354
1399
|
metadata.attachmentKinds = [...CLAUDE_ATTACHMENT_KINDS];
|
|
1355
1400
|
const importCodexThreadId = process.env[IMPORT_CODEX_THREAD_ENV];
|
|
@@ -1480,6 +1525,20 @@ async function runCodex(opts) {
|
|
|
1480
1525
|
];
|
|
1481
1526
|
let discoveredModels = [];
|
|
1482
1527
|
registerAgentAttachmentDownloads(session);
|
|
1528
|
+
const CODEX_IMAGE_MIME_TYPES = ["image/jpeg", "image/png", "image/gif", "image/webp"];
|
|
1529
|
+
const steerDeps = {
|
|
1530
|
+
ownsTurn: () => turnActive && !abortInProgress && !shouldExit,
|
|
1531
|
+
steer: (input) => client.steerTurn(input),
|
|
1532
|
+
stage: (attachments) => stageClaudeAttachments(attachments, {
|
|
1533
|
+
happyHomeDir: configuration.happyHomeDir,
|
|
1534
|
+
sessionId: session.sessionId
|
|
1535
|
+
}),
|
|
1536
|
+
withAttachments: appendStagedAttachmentsToPrompt,
|
|
1537
|
+
unlink: (path) => unlink(path),
|
|
1538
|
+
isImage: (file) => CODEX_IMAGE_MIME_TYPES.includes(file.mimeType),
|
|
1539
|
+
onSteered: (text) => messageBuffer.addMessage(text, "user"),
|
|
1540
|
+
log: (message) => logger.debug(message)
|
|
1541
|
+
};
|
|
1483
1542
|
let userMessageDelivery = Promise.resolve();
|
|
1484
1543
|
session.onUserMessage((message) => {
|
|
1485
1544
|
const downloads = session.drainAttachmentsForUserMessage();
|
|
@@ -1537,6 +1596,12 @@ async function runCodex(opts) {
|
|
|
1537
1596
|
appendSystemPrompt: messageAppendSystemPrompt,
|
|
1538
1597
|
effort: messageEffort
|
|
1539
1598
|
};
|
|
1599
|
+
if (message.meta?.delivery === "steer" && !isCodexClearText(message.content.text)) {
|
|
1600
|
+
if (await steerIntoRunningTurn(steerDeps, message.content.text, attachments, message.localKey)) {
|
|
1601
|
+
logger.debug("[Codex] User message steered into the current turn");
|
|
1602
|
+
return;
|
|
1603
|
+
}
|
|
1604
|
+
}
|
|
1540
1605
|
const enqueueResult = enqueueCodexUserText({
|
|
1541
1606
|
text: message.content.text,
|
|
1542
1607
|
mode: enhancedMode,
|
|
@@ -1557,6 +1622,7 @@ async function runCodex(opts) {
|
|
|
1557
1622
|
let codexStartedSubagents = /* @__PURE__ */ new Set();
|
|
1558
1623
|
let codexActiveSubagents = /* @__PURE__ */ new Set();
|
|
1559
1624
|
let codexProviderSubagentToSessionSubagent = /* @__PURE__ */ new Map();
|
|
1625
|
+
let codexLabeledSubagents = /* @__PURE__ */ new Set();
|
|
1560
1626
|
session.keepAlive(thinking, "remote");
|
|
1561
1627
|
const keepAliveInterval = setInterval(() => {
|
|
1562
1628
|
session.keepAlive(thinking, "remote");
|
|
@@ -1778,6 +1844,12 @@ async function runCodex(opts) {
|
|
|
1778
1844
|
const notice = describeCodexRetry(msg);
|
|
1779
1845
|
messageBuffer.addMessage(notice, "status");
|
|
1780
1846
|
session.sendSessionEvent({ type: "message", message: notice });
|
|
1847
|
+
} else if (msg.type === "steer_dropped") {
|
|
1848
|
+
const clientIds = Array.isArray(msg.client_ids) ? msg.client_ids.filter((id) => typeof id === "string" && id.length > 0) : [];
|
|
1849
|
+
if (clientIds.length > 0) {
|
|
1850
|
+
session.sendQueueCancelReason(clientIds, "aborted");
|
|
1851
|
+
messageBuffer.addMessage("A steered message was not read before the turn ended", "status");
|
|
1852
|
+
}
|
|
1781
1853
|
}
|
|
1782
1854
|
if (msg.type === "task_started") {
|
|
1783
1855
|
if (!thinking) {
|
|
@@ -1832,12 +1904,14 @@ async function runCodex(opts) {
|
|
|
1832
1904
|
currentTurnId,
|
|
1833
1905
|
startedSubagents: codexStartedSubagents,
|
|
1834
1906
|
activeSubagents: codexActiveSubagents,
|
|
1835
|
-
providerSubagentToSessionSubagent: codexProviderSubagentToSessionSubagent
|
|
1907
|
+
providerSubagentToSessionSubagent: codexProviderSubagentToSessionSubagent,
|
|
1908
|
+
labeledSubagents: codexLabeledSubagents
|
|
1836
1909
|
});
|
|
1837
1910
|
currentTurnId = mapped.currentTurnId;
|
|
1838
1911
|
codexStartedSubagents = mapped.startedSubagents;
|
|
1839
1912
|
codexActiveSubagents = mapped.activeSubagents;
|
|
1840
1913
|
codexProviderSubagentToSessionSubagent = mapped.providerSubagentToSessionSubagent;
|
|
1914
|
+
codexLabeledSubagents = mapped.labeledSubagents;
|
|
1841
1915
|
for (const envelope of mapped.envelopes) {
|
|
1842
1916
|
session.sendSessionProtocolMessage(envelope);
|
|
1843
1917
|
}
|
|
@@ -2005,6 +2079,7 @@ async function runCodex(opts) {
|
|
|
2005
2079
|
codexStartedSubagents = /* @__PURE__ */ new Set();
|
|
2006
2080
|
codexActiveSubagents = /* @__PURE__ */ new Set();
|
|
2007
2081
|
codexProviderSubagentToSessionSubagent = /* @__PURE__ */ new Map();
|
|
2082
|
+
codexLabeledSubagents = /* @__PURE__ */ new Set();
|
|
2008
2083
|
permissionHandler.reset();
|
|
2009
2084
|
reasoningProcessor.abort();
|
|
2010
2085
|
diffProcessor.reset();
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
3
|
var node_crypto = require('node:crypto');
|
|
4
|
-
var logger = require('./logger-
|
|
4
|
+
var logger = require('./logger-LvwVeATU.cjs');
|
|
5
5
|
|
|
6
6
|
class BaseReasoningProcessor {
|
|
7
7
|
accumulator = "";
|
|
@@ -197,4 +197,28 @@ class BaseReasoningProcessor {
|
|
|
197
197
|
}
|
|
198
198
|
}
|
|
199
199
|
|
|
200
|
+
async function settleCodexSession(session, intent, deactivate, log = () => {
|
|
201
|
+
}) {
|
|
202
|
+
if (intent === "archive") {
|
|
203
|
+
session.updateMetadata((currentMetadata) => ({
|
|
204
|
+
...currentMetadata,
|
|
205
|
+
lifecycleState: "archived",
|
|
206
|
+
lifecycleStateSince: Date.now(),
|
|
207
|
+
archivedBy: "cli",
|
|
208
|
+
archiveReason: "User terminated"
|
|
209
|
+
}));
|
|
210
|
+
}
|
|
211
|
+
session.sendSessionDeath();
|
|
212
|
+
await session.flush();
|
|
213
|
+
if (intent === "offline") {
|
|
214
|
+
try {
|
|
215
|
+
await deactivate(session.sessionId);
|
|
216
|
+
} catch (error) {
|
|
217
|
+
log("[Codex] deactivate on signal failed", error);
|
|
218
|
+
}
|
|
219
|
+
}
|
|
220
|
+
await session.close();
|
|
221
|
+
}
|
|
222
|
+
|
|
200
223
|
exports.BaseReasoningProcessor = BaseReasoningProcessor;
|
|
224
|
+
exports.settleCodexSession = settleCodexSession;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { randomUUID } from 'node:crypto';
|
|
2
|
-
import { l as logger } from './logger-
|
|
2
|
+
import { l as logger } from './logger-13cBr_ew.mjs';
|
|
3
3
|
|
|
4
4
|
class BaseReasoningProcessor {
|
|
5
5
|
accumulator = "";
|
|
@@ -195,4 +195,27 @@ class BaseReasoningProcessor {
|
|
|
195
195
|
}
|
|
196
196
|
}
|
|
197
197
|
|
|
198
|
-
|
|
198
|
+
async function settleCodexSession(session, intent, deactivate, log = () => {
|
|
199
|
+
}) {
|
|
200
|
+
if (intent === "archive") {
|
|
201
|
+
session.updateMetadata((currentMetadata) => ({
|
|
202
|
+
...currentMetadata,
|
|
203
|
+
lifecycleState: "archived",
|
|
204
|
+
lifecycleStateSince: Date.now(),
|
|
205
|
+
archivedBy: "cli",
|
|
206
|
+
archiveReason: "User terminated"
|
|
207
|
+
}));
|
|
208
|
+
}
|
|
209
|
+
session.sendSessionDeath();
|
|
210
|
+
await session.flush();
|
|
211
|
+
if (intent === "offline") {
|
|
212
|
+
try {
|
|
213
|
+
await deactivate(session.sessionId);
|
|
214
|
+
} catch (error) {
|
|
215
|
+
log("[Codex] deactivate on signal failed", error);
|
|
216
|
+
}
|
|
217
|
+
}
|
|
218
|
+
await session.close();
|
|
219
|
+
}
|
|
220
|
+
|
|
221
|
+
export { BaseReasoningProcessor as B, settleCodexSession as s };
|
|
@@ -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-13cBr_ew.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-D55F0t16.mjs';
|
|
10
10
|
import 'node:fs';
|
|
11
11
|
import 'node:os';
|
|
12
12
|
import 'node:path';
|
|
13
|
-
import './package-
|
|
13
|
+
import './package-CjlsAaRe.mjs';
|
|
14
14
|
import 'node:fs/promises';
|
|
15
15
|
import './trimIdent-BAjmv_TG.mjs';
|
|
16
16
|
|
|
@@ -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-LvwVeATU.cjs');
|
|
8
8
|
var constants = require('./constants-VJ0N6WuG.cjs');
|
|
9
9
|
require('chalk');
|
|
10
10
|
require('node:util');
|
|
11
|
-
require('./configuration-
|
|
11
|
+
require('./configuration-DZPy0T9Z.cjs');
|
|
12
12
|
require('node:fs');
|
|
13
13
|
require('node:os');
|
|
14
14
|
require('node:path');
|
|
15
|
-
require('./package-
|
|
15
|
+
require('./package-Ch9WGDV_.cjs');
|
|
16
16
|
require('node:fs/promises');
|
|
17
17
|
require('./trimIdent-4gvk9Wk6.cjs');
|
|
18
18
|
|
|
@@ -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-CjlsAaRe.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-Ch9WGDV_.cjs');
|
|
7
7
|
var promises = require('node:fs/promises');
|
|
8
8
|
|
|
9
9
|
const PRIVATE_DIRECTORY_MODE = 448;
|