very-happy-cli 0.2.187 → 0.2.189
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-B2-ReWTo.cjs → AcpBackend-DRPJ2g9G.cjs} +3 -3
- package/dist/{AcpBackend-C4Emg-H3.mjs → AcpBackend-fj16v_cf.mjs} +3 -3
- package/dist/{AcpSessionManager-Nard_zFS.mjs → AcpSessionManager-BZPmUDL5.mjs} +4 -4
- package/dist/{AcpSessionManager-DR4-oZCz.cjs → AcpSessionManager-DM-KKg6v.cjs} +4 -4
- package/dist/{BasePermissionHandler-Bk9DmVZH.mjs → BasePermissionHandler-CVtH-snr.mjs} +1 -1
- package/dist/{BasePermissionHandler-CZ19WzsP.cjs → BasePermissionHandler-DjM16uJz.cjs} +1 -1
- package/dist/{acpSessionResume-Hto_b8MK.cjs → acpSessionResume-2BTMsB7_.cjs} +1 -1
- package/dist/{acpSessionResume-DPSfMe7r.mjs → acpSessionResume-Dxl1LRAT.mjs} +1 -1
- package/dist/{agentHome-4-odnrAk.mjs → agentHome-CHctmMzZ.mjs} +4 -4
- package/dist/{agentHome-Mveyfa24.cjs → agentHome-W17n1gnH.cjs} +4 -4
- package/dist/{api-cVvbFZVK.mjs → api-B0yN68XH.mjs} +10 -10
- package/dist/{api-DVEzYcoy.cjs → api-BDuuyys8.cjs} +10 -10
- package/dist/{apiMachine-Bd1C_JN6.cjs → apiMachine-iddD-F19.cjs} +14 -14
- package/dist/{apiMachine-M7qY1izH.mjs → apiMachine-mc9CsKuS.mjs} +14 -14
- package/dist/{attachmentContent-D8hViGiA.cjs → attachmentContent-Cc5b7TPr.cjs} +2 -2
- package/dist/{attachmentContent-NNF-Eo4O.mjs → attachmentContent-CcIdMfAx.mjs} +2 -2
- package/dist/{auth-BHw8be0X.cjs → auth-B7tVmyfX.cjs} +8 -8
- package/dist/{auth-BCHL8Fx5.mjs → auth-CyrVvWHF.mjs} +5 -5
- package/dist/{auth-CKNEKwEV.mjs → auth-DNAgkUkB.mjs} +8 -8
- package/dist/{auth-b_1h0677.cjs → auth-DQKSpaEf.cjs} +5 -5
- package/dist/{auto-D716QYa3.mjs → auto-BklCipw1.mjs} +18 -17
- package/dist/{auto-Da4rCLal.cjs → auto-CetlumDo.cjs} +18 -17
- package/dist/{bootstrap-j2RuoHVy.cjs → bootstrap-CDY-Vz8q.cjs} +2 -2
- package/dist/{bootstrap-CndcegDb.mjs → bootstrap-DfXwkUQb.mjs} +2 -2
- package/dist/{browser-DIYTnD_T.cjs → browser-D1yzC0Tu.cjs} +1 -1
- package/dist/{browser-CLsM513o.mjs → browser-vb0k1zfI.mjs} +1 -1
- package/dist/{claudeLocal-C_uUbEO_.cjs → claudeLocal-2dJIiTIq.cjs} +5 -5
- package/dist/{claudeLocal-3HbTx7K-.mjs → claudeLocal-Bid_rC_v.mjs} +5 -5
- package/dist/{claudeLocalLauncher-DXh2chq3.mjs → claudeLocalLauncher-5pzpETxd.mjs} +10 -10
- package/dist/{claudeLocalLauncher-BxWouVYk.cjs → claudeLocalLauncher-Jm5oQX5Z.cjs} +10 -10
- package/dist/{claudeSessionFork-CsU96yXX.cjs → claudeSessionFork-DsbcuDEJ.cjs} +1 -1
- package/dist/{claudeSessionFork-B4olbwfj.mjs → claudeSessionFork-DzecSBO4.mjs} +1 -1
- package/dist/{client-C8w9aQYe.mjs → client-B161HwAk.mjs} +2 -2
- package/dist/{client-CCy72Phz.cjs → client-BNmFaRXZ.cjs} +4 -4
- package/dist/{client-D8p1YjVt.mjs → client-C9Ecbtko.mjs} +4 -4
- package/dist/{client-Zqg7DXHl.mjs → client-CvjjadIE.mjs} +2 -2
- package/dist/{client-CWSfPlGD.cjs → client-D0aYWt53.cjs} +2 -2
- package/dist/{client-q1aNOKgy.cjs → client-DIfxYk7B.cjs} +2 -2
- package/dist/codex/happyMcpStdioBridge.cjs +17 -16
- package/dist/codex/happyMcpStdioBridge.mjs +17 -16
- package/dist/{codexAppServerClient-Csc-XsRV.mjs → codexAppServerClient-BlVmpjR-.mjs} +63 -5
- package/dist/{codexAppServerClient-g8npaIU9.cjs → codexAppServerClient-CO9f4Jr8.cjs} +63 -5
- package/dist/{codexCommand-BV8pTAtv.cjs → codexCommand-BfoRP6E9.cjs} +189 -68
- package/dist/{codexCommand-BS-foS_R.mjs → codexCommand-CAMR4g5o.mjs} +188 -67
- package/dist/{codexTermination-lOO15mt2.mjs → codexTermination-BvGlN02_.mjs} +1 -1
- package/dist/{codexTermination-B5WgZAWO.cjs → codexTermination-IrLZQzKC.cjs} +1 -1
- package/dist/{config-BOnZRJIG.cjs → config-BGFqQGvh.cjs} +3 -3
- package/dist/{config-Ba5ufl-D.mjs → config-CtMgGPvf.mjs} +3 -3
- package/dist/{configuration-8EAa2X9P.mjs → configuration-1FabKklB.mjs} +1 -1
- package/dist/{configuration-CAfdO4IC.cjs → configuration-C0ctLGW2.cjs} +1 -1
- package/dist/{connect-BHWHNe54.mjs → connect-0lSugpjf.mjs} +13 -13
- package/dist/{connect-2hWuvxRM.cjs → connect-DSw-2f52.cjs} +13 -13
- package/dist/{context-B-jybQhf.mjs → context-BgxbXWKS.mjs} +1 -1
- package/dist/{context-BtCz06PX.cjs → context-D-hEk5pC.cjs} +1 -1
- package/dist/{controlClient-O-vf2MkJ.mjs → controlClient-DwNnNAUx.mjs} +4 -4
- package/dist/{controlClient-mH9AxBwT.cjs → controlClient-F7hAEEy2.cjs} +3 -3
- package/dist/{createSessionMetadata-HlzlfP0U.mjs → createSessionMetadata-CG6Klinp.mjs} +2 -2
- package/dist/{createSessionMetadata-Bcn7b8QB.cjs → createSessionMetadata-DezS33OM.cjs} +2 -2
- package/dist/{defaultPermissionMode-BN3PdltF.cjs → defaultPermissionMode-5EvgRq38.cjs} +2 -2
- package/dist/{defaultPermissionMode-BPDeX4S8.mjs → defaultPermissionMode-e2bIIJG4.mjs} +2 -2
- package/dist/{deterministicJson-CruOxFA6.mjs → deterministicJson-BMwgK21e.mjs} +13 -13
- package/dist/{deterministicJson-D9pZQhU9.cjs → deterministicJson-D0LU_XbO.cjs} +13 -13
- package/dist/{doctor-BNhLBBTK.mjs → doctor-D16hySse.mjs} +7 -7
- package/dist/{doctor-lHD1YZH6.cjs → doctor-wVNvRarN.cjs} +7 -7
- package/dist/{downloadTarget-ByTxs_N5.mjs → downloadTarget-C6tqaXGm.mjs} +6 -6
- package/dist/{downloadTarget-BhkQxTa8.cjs → downloadTarget-aNcCxVRL.cjs} +6 -6
- package/dist/{ensureDaemonRunning-BiCK6RiS.cjs → ensureDaemonRunning-CIghxgDR.cjs} +5 -5
- package/dist/{ensureDaemonRunning-Cv0AMaHK.mjs → ensureDaemonRunning-DZq8bvsp.mjs} +5 -5
- package/dist/{handleResumeCommand-Cy_KW0LN.mjs → handleResumeCommand-BNnD7EuD.mjs} +5 -5
- package/dist/{handleResumeCommand-WB4VDeKk.cjs → handleResumeCommand-CMUTygsm.cjs} +5 -5
- package/dist/{index-BpWESchl.cjs → index-4TpmBb2Q.cjs} +3 -3
- package/dist/{index-Vtcax4oD.cjs → index-B81qV_F_.cjs} +4 -4
- package/dist/{index-CVMbboXv.mjs → index-BCQr-5Ei.mjs} +4 -4
- package/dist/{index-BumVulwx.cjs → index-BOe6dKnL.cjs} +215 -18
- package/dist/{index-CdOz1uDl.mjs → index-BuiG8hmg.mjs} +94 -45
- package/dist/{index-BpSpw6jG.mjs → index-CKd20r1W.mjs} +3 -3
- package/dist/{index-B44ft-m4.cjs → index-CnzsOD19.cjs} +93 -44
- package/dist/{index-Bcp-PEGc.cjs → index-De02DNu5.cjs} +4 -4
- package/dist/{index-lWXWV0H2.mjs → index-Df0bc_et.mjs} +4 -4
- package/dist/{index-B9f1vKcC.mjs → index-WKyN-bNy.mjs} +212 -17
- package/dist/index.cjs +2 -2
- package/dist/index.mjs +2 -2
- package/dist/{install-mK93DJ6L.mjs → install-23ehAdTD.mjs} +3 -3
- package/dist/{install-DdRVv9IS.cjs → install-DNbIEJUk.cjs} +3 -3
- package/dist/lib.cjs +12 -12
- package/dist/lib.d.cts +14 -0
- package/dist/lib.d.mts +14 -0
- package/dist/lib.mjs +12 -12
- package/dist/{lidState-XyjQaZtU.cjs → lidState-B4dHJCeS.cjs} +1 -1
- package/dist/{lidState-LtdUCXi-.mjs → lidState-q5Its2Hm.mjs} +1 -1
- package/dist/{localHappyAgentAuth-C9Aj_wGD.cjs → localHappyAgentAuth-CG2nPD_H.cjs} +1 -1
- package/dist/{localHappyAgentAuth-DqFE0Adr.mjs → localHappyAgentAuth-C_G5u5lY.mjs} +1 -1
- package/dist/{logger-BILSzq2s.cjs → logger-BP1SW7Cs.cjs} +2 -2
- package/dist/{logger-SAU4uSs4.mjs → logger-DOKH3Zbh.mjs} +2 -2
- package/dist/{machineMetadata-C5TgUTpD.cjs → machineMetadata-BKX3ov9g.cjs} +3 -3
- package/dist/{machineMetadata-ZVnihOuL.mjs → machineMetadata-D-5qeIqd.mjs} +3 -3
- package/dist/{main-BjOHtX8u.mjs → main-DODz8DQE.mjs} +46 -46
- package/dist/{main-CVfx_-l7.cjs → main-ndpVIaSG.cjs} +46 -46
- package/dist/{mcp-CWVr7KbQ.mjs → mcp-BBwbSODp.mjs} +16 -15
- package/dist/{mcp-By9XK193.cjs → mcp-Bc4U4exu.cjs} +16 -15
- package/dist/{mirrorProtocol-C0wyaesn.cjs → mirrorProtocol-CiA3hO2y.cjs} +3 -3
- package/dist/{mirrorProtocol-BI6XbokT.mjs → mirrorProtocol-D2vTWteS.mjs} +3 -3
- package/dist/{package-Bbfq2KR7.cjs → package-CYDdLA6R.cjs} +7 -7
- package/dist/{package-BMBwnCn3.mjs → package-DTcaIhjW.mjs} +7 -7
- package/dist/{panels-rQmysHlY.cjs → panels-C2xZ8rqU.cjs} +5 -5
- package/dist/{panels-CbIUwV6q.mjs → panels-DCaLxlSL.mjs} +5 -5
- package/dist/{peerTools-CZfiq_Dx.cjs → peerTools-B4315xjX.cjs} +5 -5
- package/dist/{peerTools-CyruQrOo.mjs → peerTools-BtrUnSwz.mjs} +5 -5
- package/dist/{persistence-C7T3HYjq.mjs → persistence-0INrP3aB.mjs} +2 -2
- package/dist/{persistence-DPeSC0SK.cjs → persistence-CrzC7yr_.cjs} +2 -2
- package/dist/{piRunnerArgs-DAq8vIpP.cjs → piRunnerArgs-BtzW_kfh.cjs} +1 -1
- package/dist/{piRunnerArgs-CsWompo8.mjs → piRunnerArgs-DRuxMlX1.mjs} +1 -1
- package/dist/{piRuntime-Dxd8Gfun.mjs → piRuntime-BMAFpIBV.mjs} +1 -1
- package/dist/{piRuntime-CFqlQFoz.cjs → piRuntime-DEbPE_kW.cjs} +1 -1
- package/dist/{piTerminal-BssuKDtJ.mjs → piTerminal-DQXV8_we.mjs} +18 -17
- package/dist/{piTerminal-DHG3Kzve.cjs → piTerminal-MtxDtBE2.cjs} +18 -17
- package/dist/{pushNotifications-CsSyhnHu.cjs → pushNotifications-CalIS9sq.cjs} +3 -3
- package/dist/{pushNotifications-Bi72c41d.mjs → pushNotifications-Cq1s8YVK.mjs} +3 -3
- package/dist/{query-BQOwsKS1.mjs → query-BYiPBHPC.mjs} +1 -1
- package/dist/{query-Cuef299f.cjs → query-CE2XDhhw.cjs} +1 -1
- package/dist/{specialCommands-35KxDNE8.cjs → rateLimitReporter-BKmoOZQi.cjs} +3 -55
- package/dist/{specialCommands-CTtmGCCf.mjs → rateLimitReporter-DR5LXuiQ.mjs} +4 -55
- package/dist/{rateLimitWindows-B6IAWYN5.mjs → rateLimitWindows-5vIuNjko.mjs} +1 -1
- package/dist/{rateLimitWindows-bfwC81Z-.cjs → rateLimitWindows-Cs56YJCH.cjs} +1 -1
- package/dist/{registerCommonHandlers-qzb6TQqo.mjs → registerCommonHandlers-DWkTysjD.mjs} +2 -2
- package/dist/{registerCommonHandlers-CQC04iF3.cjs → registerCommonHandlers-DZPozYxc.cjs} +2 -2
- package/dist/{registerKillSessionHandler-DMPrrNKX.mjs → registerKillSessionHandler-CSCTRIbI.mjs} +34 -6
- package/dist/{registerKillSessionHandler-BraKB5Ks.cjs → registerKillSessionHandler-DhCjrs44.cjs} +34 -6
- package/dist/{remoteSessionClient-DffolBcQ.cjs → remoteSessionClient-Dq8XTLQP.cjs} +5 -5
- package/dist/{remoteSessionClient-D3XhN_sd.mjs → remoteSessionClient-Vfj_5g2-.mjs} +5 -5
- package/dist/{reportProgressTool-irHR-XEW.mjs → reportProgressTool-B7zmX7NJ.mjs} +3 -3
- package/dist/{reportProgressTool-BieTXE_R.cjs → reportProgressTool-DznxPKES.cjs} +3 -3
- package/dist/{run-Ck_WA6Nj.cjs → run-Ca8BiNCp.cjs} +36 -35
- package/dist/{run-DCUaxe2S.mjs → run-DSfNcR62.mjs} +36 -35
- package/dist/{runClaude-BUGku2Qp.cjs → runClaude-ClQQcgoO.cjs} +22 -22
- package/dist/{runClaude-BryAvfNV.mjs → runClaude-hoepv-0X.mjs} +22 -22
- package/dist/{runClaudeDeps-BZkWM9_u.mjs → runClaudeDeps-D_v8t2SK.mjs} +88 -55
- package/dist/{runClaudeDeps-Dbk1VrOW.cjs → runClaudeDeps-ck5_GYlP.cjs} +85 -52
- package/dist/{runGemini-DT379gpi.mjs → runGemini-CTr2-cYG.mjs} +38 -33
- package/dist/{runGemini-B6AZ2bv0.cjs → runGemini-Cj0XsMiM.cjs} +38 -33
- package/dist/{runOpenClaw-eBUYlIVJ.cjs → runOpenClaw-BoN1e3lP.cjs} +23 -18
- package/dist/{runOpenClaw-Bpp9mkyO.mjs → runOpenClaw-CdDMntiV.mjs} +23 -18
- package/dist/{sandbox-Bv4H1P6u.cjs → sandbox-BY2h19gc.cjs} +4 -4
- package/dist/{sandbox-Z8TM9eUg.mjs → sandbox-DcaWB-Ou.mjs} +4 -4
- package/dist/selfCheck-BQ_H2Sns.mjs +86 -0
- package/dist/{selfCheck--1k2Ptf6.cjs → selfCheck-DFS_GUaQ.cjs} +37 -37
- package/dist/{send-BG4KYe6f.cjs → send-BMsUYU6g.cjs} +9 -8
- package/dist/{send-CKTovWuQ.mjs → send-UBTHHNvZ.mjs} +9 -8
- package/dist/{server-DLpXtoiZ.mjs → server-Dt3mCtfQ.mjs} +4 -4
- package/dist/{server-BTNwH-sA.cjs → server-YrHMHNz1.cjs} +6 -6
- package/dist/{sessionLock-Cf6RlgfF.cjs → sessionLock-DSqiP2lH.cjs} +3 -3
- package/dist/{sessionLock-DhzB5ZI9.mjs → sessionLock-tEFvFXLD.mjs} +3 -3
- package/dist/{sessionOps-R52JWMnX.cjs → sessionOps-BzeOKIEF.cjs} +27 -4
- package/dist/{sessionOps-CiFjBCMa.mjs → sessionOps-CljctDs5.mjs} +27 -4
- package/dist/{sessionProvider-f2tUhwBc.mjs → sessionProvider-BnUFSJXM.mjs} +5 -5
- package/dist/{sessionProvider-LATn-lZL.cjs → sessionProvider-ORgzmkXy.cjs} +5 -5
- package/dist/{sessionScanner-DRzZtGtu.cjs → sessionScanner-Cr6PJ3PT.cjs} +3 -3
- package/dist/{sessionScanner-lS1puA5H.mjs → sessionScanner-DZUlkdF6.mjs} +3 -3
- package/dist/{sessions-D01nnjOE.mjs → sessions-15cag-su.mjs} +11 -10
- package/dist/{sessions-DGd8Fin6.cjs → sessions-aIo_HjmY.cjs} +11 -10
- package/dist/{setupOfflineReconnection-UApZjcU5.mjs → setupOfflineReconnection-B7I8R2Ex.mjs} +2 -2
- package/dist/{setupOfflineReconnection-Ds7ywGwR.cjs → setupOfflineReconnection-tV0Q1dgR.cjs} +2 -2
- package/dist/{spawn-ct8aSMA8.mjs → spawn-ByrQgruJ.mjs} +70 -28
- package/dist/{spawn-CT3g4p8A.cjs → spawn-VG-HjJiR.cjs} +70 -27
- package/dist/{spawnAgents-f2q31uUV.mjs → spawnAgents-Bh1RPShN.mjs} +24 -11
- package/dist/{spawnAgents-DsJSyLDl.cjs → spawnAgents-C1-4m7aN.cjs} +24 -10
- package/dist/{spawnHappyCLI-Dp05fHcp.mjs → spawnHappyCLI-CEsXwz5V.mjs} +1 -1
- package/dist/{spawnHappyCLI-DedrWByd.cjs → spawnHappyCLI-CxiR2Qoy.cjs} +1 -1
- package/dist/specialCommands-J3JFOq0J.cjs +60 -0
- package/dist/specialCommands-MXUN0wfI.mjs +54 -0
- package/dist/{startFileWatcher-72w11DP_.cjs → startFileWatcher-C-XCZ5t2.cjs} +1 -1
- package/dist/{startFileWatcher-BLdxJdgu.mjs → startFileWatcher-DkEeeAtL.mjs} +1 -1
- package/dist/{startupSessionCreate-Cy4J4-Ep.cjs → startupSessionCreate-CYc8mra-.cjs} +1 -1
- package/dist/{startupSessionCreate-CJFR_Zom.mjs → startupSessionCreate-npXe2TdN.mjs} +1 -1
- package/dist/{streamRelay-B3FloUTT.mjs → streamRelay-CqBynIon.mjs} +1 -1
- package/dist/{streamRelay-Cn_uGG6m.cjs → streamRelay-D9a4cBEa.cjs} +1 -1
- package/dist/{sync-BWX1OVQi.mjs → sync-BvDMkKAN.mjs} +1 -1
- package/dist/{sync-lxDpbIh3.cjs → sync-CoChLEIg.cjs} +1 -1
- package/dist/{systemPrompt-BIilbjt_.mjs → systemPrompt-CgDaPigN.mjs} +2 -2
- package/dist/{systemPrompt-0DqWPGY6.cjs → systemPrompt-Dy_Rf-0Z.cjs} +2 -2
- package/dist/{teams-CvpB8Rdm.mjs → teams-BC4_e5hR.mjs} +7 -7
- package/dist/{teams-CImmJLlM.cjs → teams-DPvfLAk8.cjs} +7 -7
- package/dist/{template-DPsqlHJQ.cjs → template-17HATY_Y.cjs} +1 -1
- package/dist/{template-DuKZw-Sz.mjs → template-CEK8MEjo.mjs} +1 -1
- package/dist/{time-DjS5me2q.mjs → time-CUK37wiV.mjs} +1 -1
- package/dist/{time-BbQJi3Eh.cjs → time-XwEZxKGc.cjs} +1 -1
- package/dist/{titleGenerator-CfJme6ep.cjs → titleGenerator-DVX0NZUn.cjs} +2 -2
- package/dist/{titleGenerator-CGdBp5lQ.mjs → titleGenerator-DWRVdqMU.mjs} +1 -1
- package/dist/{todo-BxfUKwTM.mjs → todo-BNMGXneA.mjs} +6 -6
- package/dist/{todo-rN20m9lT.cjs → todo-CKGrSrRE.cjs} +6 -6
- package/dist/{tools-B_W7xJNh.mjs → tools-CCIEAVbB.mjs} +1 -1
- package/dist/{tools-kGtSjG8h.cjs → tools-CjMafO_D.cjs} +1 -1
- package/dist/{uninstall-CBQsxEmD.cjs → uninstall-BdFbTXnL.cjs} +3 -3
- package/dist/{uninstall-DUjvgLlg.mjs → uninstall-CJvJ7gjr.mjs} +3 -3
- package/package.json +7 -7
- package/dist/selfCheck-DIGghfQz.mjs +0 -86
|
@@ -1,105 +1,106 @@
|
|
|
1
|
-
import { a as authAndSetupMachineIfNeeded } from './auth-
|
|
2
|
-
import { g as createEnvelope, j as BUILTIN_TODO_DISCOVERY, P as PROMPT_QUEUE_CAPABILITY,
|
|
3
|
-
import { h as hashObject, s as startHappyServer, c as createProjectInjector } from './deterministicJson-
|
|
4
|
-
import { s as sharedProjectsClient } from './client-
|
|
1
|
+
import { a as authAndSetupMachineIfNeeded } from './auth-CyrVvWHF.mjs';
|
|
2
|
+
import { g as createEnvelope, j as BUILTIN_TODO_DISCOVERY, P as PROMPT_QUEUE_CAPABILITY, J as CODEX_STEER_CAPABILITY, a as PROJECT_SESSION_CAPABILITY, K as CODEX_COMPACT_CAPABILITY } from './index-WKyN-bNy.mjs';
|
|
3
|
+
import { h as hashObject, s as startHappyServer, c as createProjectInjector } from './deterministicJson-BMwgK21e.mjs';
|
|
4
|
+
import { s as sharedProjectsClient } from './client-B161HwAk.mjs';
|
|
5
5
|
import { unlink } from 'node:fs/promises';
|
|
6
6
|
import { p as publishForkBackfillWhenCommitted, F as FORK_BACKFILL_CAPABILITY } from './forkBackfill-DYIjlN1Z.mjs';
|
|
7
7
|
import { randomUUID } from 'node:crypto';
|
|
8
8
|
import { createId } from '@paralleldrive/cuid2';
|
|
9
|
-
import { t as textResultPayload, d as toolResultContentText, c as connectionState, A as ApiClient } from './api-
|
|
9
|
+
import { t as textResultPayload, d as toolResultContentText, c as connectionState, A as ApiClient } from './api-B0yN68XH.mjs';
|
|
10
10
|
import { r as registerAgentAttachmentDownloads } from './agentAttachments-M_B5qEF2.mjs';
|
|
11
|
-
import { C as CLAUDE_ATTACHMENT_KINDS, a as stageClaudeAttachments, b as appendStagedAttachmentsToPrompt } from './attachmentContent-
|
|
11
|
+
import { C as CLAUDE_ATTACHMENT_KINDS, a as stageClaudeAttachments, b as appendStagedAttachmentsToPrompt } from './attachmentContent-CcIdMfAx.mjs';
|
|
12
12
|
import { useStdout, useInput, Box, Text, render } from 'ink';
|
|
13
|
-
import { c as claimSessionOrExit, a as applyServerSnapshot, b as applyReconnectReplay, w as withoutServerSnapshot, m as mergeReconnectMetadata, e as exitCursorStamp } from './sessionLock-
|
|
13
|
+
import { c as claimSessionOrExit, a as applyServerSnapshot, b as applyReconnectReplay, w as withoutServerSnapshot, m as mergeReconnectMetadata, e as exitCursorStamp } from './sessionLock-tEFvFXLD.mjs';
|
|
14
14
|
import React, { useState, useRef, useEffect, useCallback } from 'react';
|
|
15
|
-
import { C as CodexAppServerClient } from './codexAppServerClient-
|
|
16
|
-
import {
|
|
17
|
-
import { l as logger } from './logger-
|
|
18
|
-
import { B as BasePermissionHandler } from './BasePermissionHandler-
|
|
19
|
-
import { B as BaseReasoningProcessor, s as settleCodexSession } from './codexTermination-
|
|
15
|
+
import { C as CodexAppServerClient } from './codexAppServerClient-BlVmpjR-.mjs';
|
|
16
|
+
import { w as wrapperRateLimitReporter } from './rateLimitReporter-DR5LXuiQ.mjs';
|
|
17
|
+
import { l as logger } from './logger-DOKH3Zbh.mjs';
|
|
18
|
+
import { B as BasePermissionHandler } from './BasePermissionHandler-CVtH-snr.mjs';
|
|
19
|
+
import { B as BaseReasoningProcessor, s as settleCodexSession } from './codexTermination-BvGlN02_.mjs';
|
|
20
20
|
import { execSync } from 'node:child_process';
|
|
21
|
-
import { r as readSettings, l as latchKeepAwake, e as evaluateWrapperIdle, a as resolveCheckMs, H as HIBERNATION_CAPABILITY } from './persistence-
|
|
22
|
-
import { g as getInitialMachineMetadata } from './machineMetadata-
|
|
23
|
-
import { c as configuration } from './configuration-
|
|
24
|
-
import { M as MessageQueue2, r as registerKillSessionHandler } from './registerKillSessionHandler-
|
|
21
|
+
import { r as readSettings, l as latchKeepAwake, e as evaluateWrapperIdle, a as resolveCheckMs, H as HIBERNATION_CAPABILITY } from './persistence-0INrP3aB.mjs';
|
|
22
|
+
import { g as getInitialMachineMetadata } from './machineMetadata-D-5qeIqd.mjs';
|
|
23
|
+
import { c as configuration } from './configuration-1FabKklB.mjs';
|
|
24
|
+
import { M as MessageQueue2, r as registerKillSessionHandler } from './registerKillSessionHandler-CSCTRIbI.mjs';
|
|
25
25
|
import { p as projectPath } from './projectPath-BTBIMB57.mjs';
|
|
26
26
|
import { join } from 'node:path';
|
|
27
|
-
import { c as createSessionMetadata } from './createSessionMetadata-
|
|
27
|
+
import { c as createSessionMetadata } from './createSessionMetadata-CG6Klinp.mjs';
|
|
28
28
|
import { M as MessageBuffer } from './sessionExitLifecycle-CzkLIgNZ.mjs';
|
|
29
|
-
import { n as notifyDaemonSessionStarted, k as reportSessionEditToDaemon, c as checkDaemonHibernation } from './controlClient-
|
|
30
|
-
import { a as HibernationExitLatch, H as HibernationProbe, c as commitHibernation, b as DEFAULT_CODEX_PERMISSION_MODE } from './defaultPermissionMode-
|
|
29
|
+
import { n as notifyDaemonSessionStarted, k as reportSessionEditToDaemon, c as checkDaemonHibernation } from './controlClient-DwNnNAUx.mjs';
|
|
30
|
+
import { a as HibernationExitLatch, H as HibernationProbe, c as commitHibernation, b as DEFAULT_CODEX_PERMISSION_MODE } from './defaultPermissionMode-e2bIIJG4.mjs';
|
|
31
31
|
import { d as decodeBase64, e as encodeBase64 } from './authRelay-DhQhkBvX.mjs';
|
|
32
|
-
import { s as setupOfflineReconnection } from './setupOfflineReconnection-
|
|
33
|
-
import { c as createSessionForStartup } from './startupSessionCreate-
|
|
32
|
+
import { s as setupOfflineReconnection } from './setupOfflineReconnection-B7I8R2Ex.mjs';
|
|
33
|
+
import { c as createSessionForStartup } from './startupSessionCreate-npXe2TdN.mjs';
|
|
34
34
|
import { t as trimIdent } from './trimIdent-BAjmv_TG.mjs';
|
|
35
|
+
import { a as parseSpecialCommand, c as compactCommandText, b as parseCompact } from './specialCommands-MXUN0wfI.mjs';
|
|
35
36
|
import { C as CHANGE_TITLE_INSTRUCTION } from './constants-BC4St0xd.mjs';
|
|
36
37
|
import { E as EditReportThrottle, a as extractCodexPatchPaths } from './editPaths-BVfS_FFL.mjs';
|
|
37
|
-
import { a as extractNoSandboxFlag, e as ensureDaemonRunning } from './ensureDaemonRunning-
|
|
38
|
+
import { a as extractNoSandboxFlag, e as ensureDaemonRunning } from './ensureDaemonRunning-DZq8bvsp.mjs';
|
|
38
39
|
import 'tweetnacl';
|
|
39
40
|
import 'axios';
|
|
40
|
-
import './time-
|
|
41
|
-
import './browser-
|
|
41
|
+
import './time-CUK37wiV.mjs';
|
|
42
|
+
import './browser-vb0k1zfI.mjs';
|
|
42
43
|
import 'open';
|
|
43
44
|
import 'zod';
|
|
44
45
|
import './prompt-QHuFx9j6.mjs';
|
|
45
|
-
import './reportProgressTool-
|
|
46
|
-
import './client-
|
|
46
|
+
import './reportProgressTool-B7zmX7NJ.mjs';
|
|
47
|
+
import './client-CvjjadIE.mjs';
|
|
47
48
|
import './precheckCompat-DeEbilbr.mjs';
|
|
48
49
|
import './agentGuidance-BDYt2Qy2.mjs';
|
|
49
50
|
import 'node:fs';
|
|
50
51
|
import 'node:os';
|
|
51
52
|
import './pi-CqyoZMjI.mjs';
|
|
52
53
|
import './fileStore-5qpetZS0.mjs';
|
|
53
|
-
import './client-
|
|
54
|
+
import './client-C9Ecbtko.mjs';
|
|
54
55
|
import 'node:util';
|
|
55
|
-
import './context-
|
|
56
|
-
import './sessionOps-
|
|
56
|
+
import './context-BgxbXWKS.mjs';
|
|
57
|
+
import './sessionOps-CljctDs5.mjs';
|
|
57
58
|
import 'socket.io-client';
|
|
58
59
|
import './backgroundTaskActivity-8PdPxrvy.mjs';
|
|
59
60
|
import './resources-CLP_MpK4.mjs';
|
|
60
|
-
import './tools-
|
|
61
|
-
import './peerTools-
|
|
61
|
+
import './tools-CCIEAVbB.mjs';
|
|
62
|
+
import './peerTools-BtrUnSwz.mjs';
|
|
62
63
|
import './ids-DU6sLx4C.mjs';
|
|
63
|
-
import './remoteSessionClient-
|
|
64
|
+
import './remoteSessionClient-Vfj_5g2-.mjs';
|
|
64
65
|
import '@modelcontextprotocol/sdk/server/mcp.js';
|
|
65
66
|
import 'node:http';
|
|
66
67
|
import '@modelcontextprotocol/sdk/server/streamableHttp.js';
|
|
67
68
|
import './limits-DIo7rEBR.mjs';
|
|
68
|
-
import './downloadTarget-
|
|
69
|
+
import './downloadTarget-C6tqaXGm.mjs';
|
|
69
70
|
import './terminals-Dlg0x3nY.mjs';
|
|
70
71
|
import './terminalTitleSuggest-CeKsX_V6.mjs';
|
|
71
72
|
import './tmuxSocket-B8Yx20sT.mjs';
|
|
72
|
-
import './bootstrap-
|
|
73
|
-
import './package-
|
|
73
|
+
import './bootstrap-DfXwkUQb.mjs';
|
|
74
|
+
import './package-DTcaIhjW.mjs';
|
|
74
75
|
import './webPanels-B2_C2-3g.mjs';
|
|
75
|
-
import './pushNotifications-
|
|
76
|
+
import './pushNotifications-Cq1s8YVK.mjs';
|
|
76
77
|
import './contentLogMetadata-BlWI0egu.mjs';
|
|
77
78
|
import './previewPath-CXN4Vag0.mjs';
|
|
78
79
|
import 'crypto';
|
|
79
|
-
import './lidState-
|
|
80
|
+
import './lidState-q5Its2Hm.mjs';
|
|
80
81
|
import 'os';
|
|
81
82
|
import 'child_process';
|
|
82
83
|
import 'node:events';
|
|
83
|
-
import './registerCommonHandlers-
|
|
84
|
+
import './registerCommonHandlers-DWkTysjD.mjs';
|
|
84
85
|
import 'util';
|
|
85
86
|
import 'fs/promises';
|
|
86
87
|
import 'path';
|
|
87
88
|
import 'cross-spawn';
|
|
88
|
-
import './sync-
|
|
89
|
+
import './sync-BvDMkKAN.mjs';
|
|
89
90
|
import 'chalk';
|
|
90
91
|
import './processTreeSnapshot-CuLJDNC-.mjs';
|
|
91
92
|
import 'node:readline';
|
|
92
93
|
import './manager-BEsI4qt3.mjs';
|
|
93
94
|
import '@anthropic-ai/sandbox-runtime';
|
|
94
|
-
import './rateLimitWindows-
|
|
95
|
+
import './rateLimitWindows-5vIuNjko.mjs';
|
|
95
96
|
import './processTree-CP5IvQ2Z.mjs';
|
|
96
97
|
import './detectCLI-CSGMlV51.mjs';
|
|
97
98
|
import 'fs';
|
|
98
|
-
import './localHappyAgentAuth-
|
|
99
|
+
import './localHappyAgentAuth-C_G5u5lY.mjs';
|
|
99
100
|
import './fsMkdir-DumgLTzR.mjs';
|
|
100
101
|
import './types-CkqAACXx.mjs';
|
|
101
102
|
import 'url';
|
|
102
|
-
import './spawnHappyCLI-
|
|
103
|
+
import './spawnHappyCLI-CEsXwz5V.mjs';
|
|
103
104
|
import './doctorReadiness-C208SMN9.mjs';
|
|
104
105
|
|
|
105
106
|
function getStartedSubagents(state) {
|
|
@@ -1094,6 +1095,19 @@ function unsupportedEffortReason(catalog, model, effort) {
|
|
|
1094
1095
|
return `Reasoning effort "${effort}" is not supported by ${model ?? "the default model"}. Choose a supported level.`;
|
|
1095
1096
|
}
|
|
1096
1097
|
|
|
1098
|
+
function resolveCodexTurnModel(mode, machineDefault) {
|
|
1099
|
+
if (mode.model) return mode.model;
|
|
1100
|
+
return mode.modelReset ? machineDefault || void 0 : void 0;
|
|
1101
|
+
}
|
|
1102
|
+
function codexModelFacts(input) {
|
|
1103
|
+
const { threadModel, pendingModel, machineDefault } = input;
|
|
1104
|
+
if (!threadModel) return { stickyModel: pendingModel ?? null };
|
|
1105
|
+
return {
|
|
1106
|
+
stickyModel: threadModel !== machineDefault ? threadModel : null,
|
|
1107
|
+
currentModelCode: threadModel
|
|
1108
|
+
};
|
|
1109
|
+
}
|
|
1110
|
+
|
|
1097
1111
|
const UNEXPECTED_STATUS = /^unexpected status (\d{3}) ([^:]*?):\s*([\s\S]*?)(?:,\s*url:\s*(\S+))?$/;
|
|
1098
1112
|
function readableCodexErrorText(text) {
|
|
1099
1113
|
const trimmed = text.trim();
|
|
@@ -1305,15 +1319,51 @@ class CodexIdleReleaseTimer {
|
|
|
1305
1319
|
function isCodexClearText(text) {
|
|
1306
1320
|
return parseSpecialCommand(text).type === "clear";
|
|
1307
1321
|
}
|
|
1322
|
+
function codexCompactCommand(text) {
|
|
1323
|
+
return compactCommandText(text);
|
|
1324
|
+
}
|
|
1325
|
+
function isCodexControlText(text) {
|
|
1326
|
+
return isCodexClearText(text) || codexCompactCommand(text) !== null;
|
|
1327
|
+
}
|
|
1308
1328
|
function enqueueCodexUserText(opts) {
|
|
1309
1329
|
if (isCodexClearText(opts.text)) {
|
|
1310
1330
|
opts.queue.pushIsolateAndClear(opts.text, opts.mode, opts.attachments, opts.sourceId);
|
|
1311
1331
|
return "clear";
|
|
1312
1332
|
}
|
|
1333
|
+
const compact = codexCompactCommand(opts.text);
|
|
1334
|
+
if (compact !== null) {
|
|
1335
|
+
opts.queue.pushIsolate(compact, opts.mode, opts.attachments, opts.sourceId);
|
|
1336
|
+
return "compact";
|
|
1337
|
+
}
|
|
1313
1338
|
opts.queue.push(opts.text, opts.mode, opts.attachments, opts.sourceId);
|
|
1314
1339
|
return "queued";
|
|
1315
1340
|
}
|
|
1316
1341
|
|
|
1342
|
+
async function runCodexCompact(command, deps) {
|
|
1343
|
+
if (!deps.client.hasActiveThread()) {
|
|
1344
|
+
deps.notify("Compaction failed: there is no conversation to compact yet");
|
|
1345
|
+
return "no-thread";
|
|
1346
|
+
}
|
|
1347
|
+
const instructions = parseCompact(command).originalMessage.slice("/compact".length).trim();
|
|
1348
|
+
if (instructions) {
|
|
1349
|
+
deps.notify("Codex does not take compaction instructions; compacting the whole conversation");
|
|
1350
|
+
}
|
|
1351
|
+
deps.notify("Compaction started");
|
|
1352
|
+
try {
|
|
1353
|
+
const result = await deps.client.compactThreadAndWait();
|
|
1354
|
+
if (result.aborted) return "aborted";
|
|
1355
|
+
if (result.failed) {
|
|
1356
|
+
deps.notify("Compaction failed: Codex could not compact the conversation");
|
|
1357
|
+
return "failed";
|
|
1358
|
+
}
|
|
1359
|
+
deps.notify("Compaction completed");
|
|
1360
|
+
return "completed";
|
|
1361
|
+
} catch (error) {
|
|
1362
|
+
deps.notify(`Compaction failed: ${error instanceof Error ? error.message : String(error)}`);
|
|
1363
|
+
return "failed";
|
|
1364
|
+
}
|
|
1365
|
+
}
|
|
1366
|
+
|
|
1317
1367
|
async function steerIntoRunningTurn(deps, text, attachments, localKey) {
|
|
1318
1368
|
if (!deps.ownsTurn()) return false;
|
|
1319
1369
|
const staged = attachments?.length ? await deps.stage(attachments) : [];
|
|
@@ -1339,6 +1389,7 @@ function hashCodexEnhancedMode(mode) {
|
|
|
1339
1389
|
return hashObject({
|
|
1340
1390
|
permissionMode: mode.permissionMode,
|
|
1341
1391
|
model: mode.model,
|
|
1392
|
+
modelReset: mode.modelReset,
|
|
1342
1393
|
appendSystemPrompt: mode.appendSystemPrompt,
|
|
1343
1394
|
effort: mode.effort
|
|
1344
1395
|
});
|
|
@@ -1392,7 +1443,17 @@ function safeCodexErrorMetadata(value) {
|
|
|
1392
1443
|
};
|
|
1393
1444
|
}
|
|
1394
1445
|
|
|
1395
|
-
const
|
|
1446
|
+
const CODEX_REMOTE_PERMISSION_MODES = [
|
|
1447
|
+
"default",
|
|
1448
|
+
"read-only",
|
|
1449
|
+
"safe-yolo",
|
|
1450
|
+
"yolo"
|
|
1451
|
+
];
|
|
1452
|
+
function codexPublishablePermissionMode(mode) {
|
|
1453
|
+
return typeof mode === "string" && CODEX_REMOTE_PERMISSION_MODES.includes(mode) ? mode : null;
|
|
1454
|
+
}
|
|
1455
|
+
|
|
1456
|
+
const DEFAULT_CODEX_MODEL = void 0;
|
|
1396
1457
|
const DEFAULT_CODEX_EFFORT = "medium";
|
|
1397
1458
|
async function runCodex(opts) {
|
|
1398
1459
|
try {
|
|
@@ -1436,9 +1497,11 @@ async function runCodex(opts) {
|
|
|
1436
1497
|
dangerouslySkipPermissions: initialPermissionMode === "yolo" || initialPermissionMode === "bypassPermissions",
|
|
1437
1498
|
...forkedFromSessionId ? { parentSessionId: forkedFromSessionId } : {},
|
|
1438
1499
|
...forkedFromMessageId ? { forkedFromMessageId } : {},
|
|
1439
|
-
capabilities: [PROMPT_QUEUE_CAPABILITY, FORK_BACKFILL_CAPABILITY, HIBERNATION_CAPABILITY, CODEX_STEER_CAPABILITY, PROJECT_SESSION_CAPABILITY]
|
|
1500
|
+
capabilities: [PROMPT_QUEUE_CAPABILITY, FORK_BACKFILL_CAPABILITY, HIBERNATION_CAPABILITY, CODEX_STEER_CAPABILITY, PROJECT_SESSION_CAPABILITY, CODEX_COMPACT_CAPABILITY]
|
|
1440
1501
|
});
|
|
1441
1502
|
metadata.attachmentKinds = [...CLAUDE_ATTACHMENT_KINDS];
|
|
1503
|
+
metadata.stickyModel = null;
|
|
1504
|
+
metadata.currentThoughtLevelCode = DEFAULT_CODEX_EFFORT;
|
|
1442
1505
|
const importCodexThreadId = process.env[IMPORT_CODEX_THREAD_ENV];
|
|
1443
1506
|
if (importCodexThreadId) {
|
|
1444
1507
|
metadata.importedFromCodexThreadId = importCodexThreadId;
|
|
@@ -1555,20 +1618,43 @@ async function runCodex(opts) {
|
|
|
1555
1618
|
let currentModel = DEFAULT_CODEX_MODEL;
|
|
1556
1619
|
let currentEffort = DEFAULT_CODEX_EFFORT;
|
|
1557
1620
|
let currentAppendSystemPrompt = void 0;
|
|
1621
|
+
let reportedStickyModel = null;
|
|
1622
|
+
let reportedCurrentModel;
|
|
1623
|
+
let reportedEffort = DEFAULT_CODEX_EFFORT;
|
|
1624
|
+
const reportModeFacts = () => {
|
|
1625
|
+
const facts = codexModelFacts({ threadModel: client.threadModel, pendingModel: currentModel, machineDefault: machineDefaultModel });
|
|
1626
|
+
const effort = currentEffort;
|
|
1627
|
+
if (facts.stickyModel === reportedStickyModel && facts.currentModelCode === reportedCurrentModel && effort === reportedEffort) return;
|
|
1628
|
+
reportedStickyModel = facts.stickyModel;
|
|
1629
|
+
reportedCurrentModel = facts.currentModelCode;
|
|
1630
|
+
reportedEffort = effort;
|
|
1631
|
+
session.updateMetadata((metadata2) => {
|
|
1632
|
+
const { currentThoughtLevelCode: _previous, currentModelCode: _model, ...rest } = metadata2;
|
|
1633
|
+
return {
|
|
1634
|
+
...rest,
|
|
1635
|
+
stickyModel: facts.stickyModel,
|
|
1636
|
+
...facts.currentModelCode ? { currentModelCode: facts.currentModelCode } : {},
|
|
1637
|
+
...effort ? { currentThoughtLevelCode: effort } : {}
|
|
1638
|
+
};
|
|
1639
|
+
});
|
|
1640
|
+
};
|
|
1558
1641
|
const resetCurrentModeDefaults = () => {
|
|
1559
|
-
currentPermissionMode = DEFAULT_CODEX_PERMISSION_MODE;
|
|
1560
|
-
currentModel = DEFAULT_CODEX_MODEL;
|
|
1561
1642
|
currentEffort = DEFAULT_CODEX_EFFORT;
|
|
1643
|
+
reportModeFacts();
|
|
1562
1644
|
currentAppendSystemPrompt = void 0;
|
|
1563
1645
|
logger.debug("[Codex] Reset current mode defaults after abort");
|
|
1564
1646
|
};
|
|
1565
|
-
const VALID_REMOTE_PERMISSION_MODES =
|
|
1566
|
-
|
|
1567
|
-
|
|
1568
|
-
|
|
1569
|
-
|
|
1570
|
-
|
|
1647
|
+
const VALID_REMOTE_PERMISSION_MODES = CODEX_REMOTE_PERMISSION_MODES;
|
|
1648
|
+
let publishedPermissionMode = null;
|
|
1649
|
+
const publishPermissionMode = (mode) => {
|
|
1650
|
+
const publishable = codexPublishablePermissionMode(mode);
|
|
1651
|
+
if (!publishable || publishable === publishedPermissionMode) return;
|
|
1652
|
+
publishedPermissionMode = publishable;
|
|
1653
|
+
session.updateMetadata((currentMetadata) => ({ ...currentMetadata, permissionMode: publishable }));
|
|
1654
|
+
};
|
|
1655
|
+
publishPermissionMode(opts.permissionMode);
|
|
1571
1656
|
let discoveredModels = [];
|
|
1657
|
+
let machineDefaultModel;
|
|
1572
1658
|
registerAgentAttachmentDownloads(session);
|
|
1573
1659
|
const CODEX_IMAGE_MIME_TYPES = ["image/jpeg", "image/png", "image/gif", "image/webp"];
|
|
1574
1660
|
const steerDeps = {
|
|
@@ -1595,6 +1681,7 @@ async function runCodex(opts) {
|
|
|
1595
1681
|
if (VALID_REMOTE_PERMISSION_MODES.includes(incoming)) {
|
|
1596
1682
|
messagePermissionMode = incoming;
|
|
1597
1683
|
currentPermissionMode = messagePermissionMode;
|
|
1684
|
+
publishPermissionMode(incoming);
|
|
1598
1685
|
logger.debug("[Codex] Valid permission mode override applied");
|
|
1599
1686
|
} else {
|
|
1600
1687
|
logger.debug("[Codex] Ignoring invalid permission mode override", logValueMetadata(message.meta.permissionMode));
|
|
@@ -1603,9 +1690,12 @@ async function runCodex(opts) {
|
|
|
1603
1690
|
logger.debug("[Codex] User message received without a permission mode override");
|
|
1604
1691
|
}
|
|
1605
1692
|
let messageModel = currentModel;
|
|
1693
|
+
let messageModelReset = false;
|
|
1606
1694
|
if (message.meta?.hasOwnProperty("model")) {
|
|
1607
1695
|
messageModel = message.meta.model || void 0;
|
|
1696
|
+
messageModelReset = !messageModel;
|
|
1608
1697
|
currentModel = messageModel;
|
|
1698
|
+
reportModeFacts();
|
|
1609
1699
|
logger.debug("[Codex] Model override updated", logValueMetadata(message.meta.model));
|
|
1610
1700
|
} else {
|
|
1611
1701
|
logger.debug("[Codex] User message received without a model override");
|
|
@@ -1616,10 +1706,12 @@ async function runCodex(opts) {
|
|
|
1616
1706
|
if (incoming === null || incoming === void 0) {
|
|
1617
1707
|
messageEffort = void 0;
|
|
1618
1708
|
currentEffort = void 0;
|
|
1709
|
+
reportModeFacts();
|
|
1619
1710
|
logger.debug(`[Codex] Effort reset to default`);
|
|
1620
1711
|
} else if (typeof incoming === "string") {
|
|
1621
1712
|
messageEffort = incoming;
|
|
1622
1713
|
currentEffort = messageEffort;
|
|
1714
|
+
reportModeFacts();
|
|
1623
1715
|
logger.debug("[Codex] Valid effort override applied");
|
|
1624
1716
|
} else {
|
|
1625
1717
|
logger.debug("[Codex] Ignoring invalid effort override", logValueMetadata(incoming));
|
|
@@ -1638,10 +1730,11 @@ async function runCodex(opts) {
|
|
|
1638
1730
|
const enhancedMode = {
|
|
1639
1731
|
permissionMode: messagePermissionMode || "default",
|
|
1640
1732
|
model: messageModel,
|
|
1733
|
+
...messageModelReset ? { modelReset: true } : {},
|
|
1641
1734
|
appendSystemPrompt: messageAppendSystemPrompt,
|
|
1642
1735
|
effort: messageEffort
|
|
1643
1736
|
};
|
|
1644
|
-
if (message.meta?.delivery === "steer" && !
|
|
1737
|
+
if (message.meta?.delivery === "steer" && !isCodexControlText(message.content.text)) {
|
|
1645
1738
|
if (await steerIntoRunningTurn(steerDeps, message.content.text, attachments, message.localKey)) {
|
|
1646
1739
|
logger.debug("[Codex] User message steered into the current turn");
|
|
1647
1740
|
return;
|
|
@@ -1654,8 +1747,8 @@ async function runCodex(opts) {
|
|
|
1654
1747
|
attachments,
|
|
1655
1748
|
sourceId: message.localKey
|
|
1656
1749
|
});
|
|
1657
|
-
if (enqueueResult === "clear") {
|
|
1658
|
-
logger.debug(
|
|
1750
|
+
if (enqueueResult === "clear" || enqueueResult === "compact") {
|
|
1751
|
+
logger.debug(`[Codex] /${enqueueResult} command pushed to isolated queue`);
|
|
1659
1752
|
}
|
|
1660
1753
|
}).catch((error) => {
|
|
1661
1754
|
logger.warn("[Codex] Failed to prepare user attachments", safeCodexErrorMetadata(error));
|
|
@@ -1982,17 +2075,27 @@ async function runCodex(opts) {
|
|
|
1982
2075
|
logger.debug("[codex]: client.connect done");
|
|
1983
2076
|
try {
|
|
1984
2077
|
discoveredModels = await client.listModels();
|
|
1985
|
-
|
|
2078
|
+
let configured = null;
|
|
2079
|
+
try {
|
|
2080
|
+
configured = { model: await client.readConfiguredModel(process.cwd()) };
|
|
2081
|
+
} catch (error) {
|
|
2082
|
+
logger.debug("[Codex] config/read unavailable", safeCodexErrorMetadata(error));
|
|
2083
|
+
}
|
|
2084
|
+
machineDefaultModel = configured?.model ?? discoveredModels.find((model) => model.isDefault)?.model;
|
|
2085
|
+
if (discoveredModels.length > 0 || configured) {
|
|
1986
2086
|
session.updateMetadata((metadata2) => ({
|
|
1987
2087
|
...metadata2,
|
|
1988
|
-
|
|
1989
|
-
|
|
1990
|
-
|
|
1991
|
-
|
|
1992
|
-
|
|
1993
|
-
|
|
1994
|
-
|
|
1995
|
-
|
|
2088
|
+
...discoveredModels.length > 0 ? {
|
|
2089
|
+
models: discoveredModels.map((model) => ({
|
|
2090
|
+
code: model.model,
|
|
2091
|
+
value: model.displayName,
|
|
2092
|
+
description: model.description,
|
|
2093
|
+
reasoningEfforts: model.supportedReasoningEfforts.map((option) => option.reasoningEffort),
|
|
2094
|
+
defaultReasoningEffort: model.defaultReasoningEffort
|
|
2095
|
+
}))
|
|
2096
|
+
} : {},
|
|
2097
|
+
defaultModelCode: configured?.model ?? discoveredModels.find((model) => model.isDefault)?.model,
|
|
2098
|
+
...configured ? { configuredModel: configured.model } : {}
|
|
1996
2099
|
}));
|
|
1997
2100
|
}
|
|
1998
2101
|
} catch (error) {
|
|
@@ -2022,6 +2125,7 @@ async function runCodex(opts) {
|
|
|
2022
2125
|
first = false;
|
|
2023
2126
|
appendSystemPromptInjected = true;
|
|
2024
2127
|
}
|
|
2128
|
+
reportModeFacts();
|
|
2025
2129
|
const forkCodexThreadId = process.env.HAPPY_FORK_CODEX_THREAD_ID;
|
|
2026
2130
|
if (!reconnectSessionId && forkCodexThreadId) {
|
|
2027
2131
|
try {
|
|
@@ -2132,6 +2236,7 @@ async function runCodex(opts) {
|
|
|
2132
2236
|
reasoningProcessor.abort();
|
|
2133
2237
|
diffProcessor.reset();
|
|
2134
2238
|
appendSystemPromptInjected = false;
|
|
2239
|
+
projectInjector.reset();
|
|
2135
2240
|
thinking = false;
|
|
2136
2241
|
session.keepAlive(thinking, "remote");
|
|
2137
2242
|
messageBuffer.addMessage("Context was reset", "status");
|
|
@@ -2153,20 +2258,34 @@ async function runCodex(opts) {
|
|
|
2153
2258
|
continue;
|
|
2154
2259
|
}
|
|
2155
2260
|
messageBuffer.addMessage(message.message, "user");
|
|
2261
|
+
const compactCommand = codexCompactCommand(message.message);
|
|
2156
2262
|
try {
|
|
2263
|
+
if (compactCommand !== null) {
|
|
2264
|
+
await client.ensureConnected();
|
|
2265
|
+
const outcome = await runCodexCompact(compactCommand, {
|
|
2266
|
+
client,
|
|
2267
|
+
notify: (text) => {
|
|
2268
|
+
messageBuffer.addMessage(text, "status");
|
|
2269
|
+
session.sendSessionEvent({ type: "message", message: text });
|
|
2270
|
+
}
|
|
2271
|
+
});
|
|
2272
|
+
logger.debug(`[Codex] /compact ${outcome}`);
|
|
2273
|
+
continue;
|
|
2274
|
+
}
|
|
2157
2275
|
await client.ensureConnected();
|
|
2158
2276
|
const sandboxManagedByHappy = client.sandboxEnabled;
|
|
2159
2277
|
const executionPolicy = resolveCodexExecutionPolicy(
|
|
2160
2278
|
message.mode.permissionMode,
|
|
2161
2279
|
sandboxManagedByHappy
|
|
2162
2280
|
);
|
|
2163
|
-
const
|
|
2281
|
+
const turnModel = resolveCodexTurnModel(message.mode, machineDefaultModel);
|
|
2282
|
+
const effortRefusal = unsupportedEffortReason(discoveredModels, turnModel ?? client.threadModel ?? machineDefaultModel, message.mode.effort);
|
|
2164
2283
|
if (effortRefusal) {
|
|
2165
2284
|
throw new Error(effortRefusal);
|
|
2166
2285
|
}
|
|
2167
2286
|
if (!client.hasActiveThread()) {
|
|
2168
2287
|
const startedThread = await client.startThread({
|
|
2169
|
-
model:
|
|
2288
|
+
model: turnModel,
|
|
2170
2289
|
cwd: process.cwd(),
|
|
2171
2290
|
approvalPolicy: executionPolicy.approvalPolicy,
|
|
2172
2291
|
sandbox: executionPolicy.sandbox,
|
|
@@ -2176,6 +2295,7 @@ async function runCodex(opts) {
|
|
|
2176
2295
|
...currentMetadata,
|
|
2177
2296
|
codexThreadId: startedThread.threadId
|
|
2178
2297
|
}));
|
|
2298
|
+
reportModeFacts();
|
|
2179
2299
|
}
|
|
2180
2300
|
const includeAppendSystemPrompt = Boolean(
|
|
2181
2301
|
message.mode.appendSystemPrompt && !appendSystemPromptInjected
|
|
@@ -2192,11 +2312,12 @@ async function runCodex(opts) {
|
|
|
2192
2312
|
}) : [];
|
|
2193
2313
|
const result = await client.sendTurnAndWait(appendStagedAttachmentsToPrompt(turnPrompt, staged), {
|
|
2194
2314
|
images: staged.filter((file) => ["image/jpeg", "image/png", "image/gif", "image/webp"].includes(file.mimeType)).map((file) => file.path),
|
|
2195
|
-
model:
|
|
2315
|
+
model: turnModel,
|
|
2196
2316
|
approvalPolicy: executionPolicy.approvalPolicy,
|
|
2197
2317
|
sandbox: executionPolicy.sandbox,
|
|
2198
2318
|
effort: message.mode.effort
|
|
2199
2319
|
});
|
|
2320
|
+
reportModeFacts();
|
|
2200
2321
|
first = false;
|
|
2201
2322
|
if (includeAppendSystemPrompt) {
|
|
2202
2323
|
appendSystemPromptInjected = true;
|
|
@@ -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-DOKH3Zbh.mjs';
|
|
3
3
|
import { O as OFFLINE_EXIT_STAMP_TIMEOUT_MS } from './sessionExitLifecycle-CzkLIgNZ.mjs';
|
|
4
4
|
|
|
5
5
|
class BaseReasoningProcessor {
|
|
@@ -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-BP1SW7Cs.cjs');
|
|
5
5
|
var sessionExitLifecycle = require('./sessionExitLifecycle-DFltxXU8.cjs');
|
|
6
6
|
|
|
7
7
|
class BaseReasoningProcessor {
|
|
@@ -4,15 +4,15 @@ var require$$0 = require('fs');
|
|
|
4
4
|
var require$$1 = 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-BP1SW7Cs.cjs');
|
|
8
8
|
var constants = require('./constants-VJ0N6WuG.cjs');
|
|
9
9
|
require('chalk');
|
|
10
10
|
require('node:util');
|
|
11
|
-
require('./configuration-
|
|
11
|
+
require('./configuration-C0ctLGW2.cjs');
|
|
12
12
|
require('node:fs');
|
|
13
13
|
require('node:os');
|
|
14
14
|
require('node:path');
|
|
15
|
-
require('./package-
|
|
15
|
+
require('./package-CYDdLA6R.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-DOKH3Zbh.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-1FabKklB.mjs';
|
|
10
10
|
import 'node:fs';
|
|
11
11
|
import 'node:os';
|
|
12
12
|
import 'node:path';
|
|
13
|
-
import './package-
|
|
13
|
+
import './package-DTcaIhjW.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-DTcaIhjW.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-CYDdLA6R.cjs');
|
|
7
7
|
var promises = require('node:fs/promises');
|
|
8
8
|
|
|
9
9
|
const PRIVATE_DIRECTORY_MODE = 448;
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
import chalk from 'chalk';
|
|
2
2
|
import { homedir } from 'os';
|
|
3
3
|
import { join } from 'path';
|
|
4
|
-
import { b as readCredentialsForConfiguredRelay } from './persistence-
|
|
5
|
-
import { A as ApiClient } from './api-
|
|
6
|
-
import { f as ensurePrivateDirectorySync, w as writePrivateFileSync } from './configuration-
|
|
4
|
+
import { b as readCredentialsForConfiguredRelay } from './persistence-0INrP3aB.mjs';
|
|
5
|
+
import { A as ApiClient } from './api-B0yN68XH.mjs';
|
|
6
|
+
import { f as ensurePrivateDirectorySync, w as writePrivateFileSync } from './configuration-1FabKklB.mjs';
|
|
7
7
|
import { createServer } from 'http';
|
|
8
8
|
import { randomBytes, createHash } from 'crypto';
|
|
9
|
-
import { o as openBrowser } from './browser-
|
|
9
|
+
import { o as openBrowser } from './browser-vb0k1zfI.mjs';
|
|
10
10
|
import { exec } from 'child_process';
|
|
11
11
|
import { promisify } from 'util';
|
|
12
12
|
import 'node:fs/promises';
|
|
@@ -15,29 +15,29 @@ import 'zod';
|
|
|
15
15
|
import './authRelay-DhQhkBvX.mjs';
|
|
16
16
|
import 'node:crypto';
|
|
17
17
|
import 'tweetnacl';
|
|
18
|
-
import './logger-
|
|
18
|
+
import './logger-DOKH3Zbh.mjs';
|
|
19
19
|
import 'node:util';
|
|
20
20
|
import 'node:path';
|
|
21
21
|
import 'axios';
|
|
22
|
-
import './lidState-
|
|
22
|
+
import './lidState-q5Its2Hm.mjs';
|
|
23
23
|
import 'node:events';
|
|
24
24
|
import 'socket.io-client';
|
|
25
|
-
import './pushNotifications-
|
|
26
|
-
import './index-
|
|
25
|
+
import './pushNotifications-Cq1s8YVK.mjs';
|
|
26
|
+
import './index-WKyN-bNy.mjs';
|
|
27
27
|
import '@paralleldrive/cuid2';
|
|
28
28
|
import './contentLogMetadata-BlWI0egu.mjs';
|
|
29
29
|
import './limits-DIo7rEBR.mjs';
|
|
30
|
-
import './time-
|
|
31
|
-
import './registerCommonHandlers-
|
|
30
|
+
import './time-CUK37wiV.mjs';
|
|
31
|
+
import './registerCommonHandlers-DWkTysjD.mjs';
|
|
32
32
|
import 'fs/promises';
|
|
33
33
|
import 'cross-spawn';
|
|
34
34
|
import './projectPath-BTBIMB57.mjs';
|
|
35
35
|
import 'url';
|
|
36
|
-
import './sync-
|
|
36
|
+
import './sync-BvDMkKAN.mjs';
|
|
37
37
|
import './backgroundTaskActivity-8PdPxrvy.mjs';
|
|
38
|
-
import './controlClient-
|
|
38
|
+
import './controlClient-DwNnNAUx.mjs';
|
|
39
39
|
import 'node:os';
|
|
40
|
-
import './package-
|
|
40
|
+
import './package-DTcaIhjW.mjs';
|
|
41
41
|
import 'open';
|
|
42
42
|
|
|
43
43
|
const CLIENT_ID$2 = "app_EMoamEEZ73f0CkXaXp7hrann";
|