very-happy-cli 0.2.190 → 0.2.191
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-Dd1h-Rgt.mjs → AcpBackend-CCy_9AfR.mjs} +3 -3
- package/dist/{AcpBackend-dkRv9QHm.cjs → AcpBackend-DgrIc1vH.cjs} +3 -3
- package/dist/{AcpSessionManager-QBZ-CIf7.mjs → AcpSessionManager-CQnxx7gD.mjs} +2 -2
- package/dist/{AcpSessionManager-AqWAqahm.cjs → AcpSessionManager-DVOzCD3P.cjs} +2 -2
- package/dist/{BasePermissionHandler-CpSugp7Z.cjs → BasePermissionHandler-C9Ag7yvs.cjs} +1 -1
- package/dist/{BasePermissionHandler-CLp1ge-4.mjs → BasePermissionHandler-DYLN6Ec9.mjs} +1 -1
- package/dist/{acpSessionResume-CcpDuIO5.mjs → acpSessionResume-Bi7pA1n_.mjs} +1 -1
- package/dist/{acpSessionResume-CZao6QEd.cjs → acpSessionResume-TvP_4Zq2.cjs} +1 -1
- package/dist/{agentHome-BJGRA2Kx.mjs → agentHome-DGv105SR.mjs} +4 -4
- package/dist/{agentHome-fIUqT-pn.cjs → agentHome-DNUKJWOY.cjs} +4 -4
- package/dist/{api-CXL6jp-p.cjs → api-BBxZ7y2z.cjs} +10 -10
- package/dist/{api-Dw8gFsQi.mjs → api-jfeMRg5R.mjs} +10 -10
- package/dist/{apiMachine-BBNEtjf7.mjs → apiMachine-DRJ7y-BB.mjs} +14 -14
- package/dist/{apiMachine-C6UqHoPF.cjs → apiMachine-DqyjKBZG.cjs} +14 -14
- package/dist/{attachmentContent-NmVfKp-B.cjs → attachmentContent-BO2njyza.cjs} +2 -2
- package/dist/{attachmentContent-CC4yIrSm.mjs → attachmentContent-Dm_RIs5L.mjs} +2 -2
- package/dist/{auth-Bh6SUoGi.mjs → auth-BYDtjVNb.mjs} +8 -8
- package/dist/{auth-Bj0psrD2.mjs → auth-DC6rg8lJ.mjs} +5 -5
- package/dist/{auth-DKa4MsAi.cjs → auth-DLR3ksCF.cjs} +8 -8
- package/dist/{auth-Bb_SL2os.cjs → auth-DnxoVkkf.cjs} +5 -5
- package/dist/{auto-C9Qohh0P.cjs → auto-CwO0u8hB.cjs} +17 -17
- package/dist/{auto-DK7pbCnV.mjs → auto-D5Jhukq1.mjs} +17 -17
- package/dist/{bootstrap-Ct9Nb4sv.mjs → bootstrap-rLaL3kTa.mjs} +2 -2
- package/dist/{bootstrap-DBJB0y-H.cjs → bootstrap-sly4qPPY.cjs} +2 -2
- package/dist/{browser-CLJWcodR.cjs → browser-BTgZ9d4i.cjs} +1 -1
- package/dist/{browser-BGxDRhHy.mjs → browser-CHpVgyni.mjs} +1 -1
- package/dist/{claudeLocal-B6YDYlnY.cjs → claudeLocal-1vuTFcL8.cjs} +5 -5
- package/dist/{claudeLocal-Ux31hZyC.mjs → claudeLocal-Bgb5GGsq.mjs} +5 -5
- package/dist/{claudeLocalLauncher-DFvmF8rC.cjs → claudeLocalLauncher-DOsL6HFY.cjs} +10 -10
- package/dist/{claudeLocalLauncher-D06QijMw.mjs → claudeLocalLauncher-T7EfT68h.mjs} +10 -10
- package/dist/{claudeSessionFork-D2GI7P59.mjs → claudeSessionFork-CPvi6yDX.mjs} +1 -1
- package/dist/{claudeSessionFork-DTLZ2rek.cjs → claudeSessionFork-Cko4SaVi.cjs} +1 -1
- package/dist/{client-DZkBUoh9.mjs → client-BXD66ZF5.mjs} +2 -2
- package/dist/{client-CtL0Vtww.mjs → client-Bh1aUPh-.mjs} +4 -4
- package/dist/{client-CnGNYidN.mjs → client-Bi20Ka0h.mjs} +2 -2
- package/dist/{client-Bffkrs5p.cjs → client-BscskEBk.cjs} +2 -2
- package/dist/{client-CARZ_lNS.cjs → client-C-OdTbrU.cjs} +4 -4
- package/dist/{client-CMKGrnmT.cjs → client-C5-C0t2a.cjs} +2 -2
- package/dist/codex/happyMcpStdioBridge.cjs +16 -16
- package/dist/codex/happyMcpStdioBridge.mjs +16 -16
- package/dist/{codexAppServerClient-CpT9F6EM.cjs → codexAppServerClient-DKXeikEe.cjs} +3 -3
- package/dist/{codexAppServerClient-CLc5nhLT.mjs → codexAppServerClient-DXhAf6i-.mjs} +3 -3
- package/dist/{codexCommand-Dliq3EBv.mjs → codexCommand-CIaOiiOj.mjs} +113 -55
- package/dist/{codexCommand-39kH99SJ.cjs → codexCommand-DvbbpYBS.cjs} +113 -55
- package/dist/{codexTermination-ORIw0gpU.mjs → codexTermination-BcQdEDaw.mjs} +1 -1
- package/dist/{codexTermination-ByW7tRjr.cjs → codexTermination-BszWfyk5.cjs} +1 -1
- package/dist/{config-CeIzCsfj.cjs → config-Di3Cf6js.cjs} +3 -3
- package/dist/{config-CxSsGO1Z.mjs → config-OCEcVVK1.mjs} +3 -3
- package/dist/{configuration-Dt5lKW3P.cjs → configuration-DfPBa-9d.cjs} +1 -1
- package/dist/{configuration-Dechcvd-.mjs → configuration-ECqXu34R.mjs} +1 -1
- package/dist/{connect-NPDzIVC6.cjs → connect-BPQRuOw5.cjs} +13 -13
- package/dist/{connect-UwQHvCpR.mjs → connect-BTfAUhk8.mjs} +13 -13
- package/dist/{context-C9JbJoNe.mjs → context-CfgTFpCB.mjs} +1 -1
- package/dist/{context-BdZssgF0.cjs → context-Co7hUaW-.cjs} +1 -1
- package/dist/{controlClient-BRk65BRO.cjs → controlClient-C13_pSKG.cjs} +3 -3
- package/dist/{controlClient-D7NGfmtq.mjs → controlClient-ClI7A0qE.mjs} +3 -3
- package/dist/{createSessionMetadata-DyhFKAby.mjs → createSessionMetadata-B0eT_Kfj.mjs} +2 -2
- package/dist/{createSessionMetadata-B_HZCDj_.cjs → createSessionMetadata-Cf78KHtt.cjs} +2 -2
- package/dist/defaultPermissionMode-m6z2QVyP.mjs +43 -0
- package/dist/defaultPermissionMode-oqTupStc.cjs +49 -0
- package/dist/{deterministicJson-DNmMVhFu.mjs → deterministicJson-BtSwbsok.mjs} +13 -13
- package/dist/{deterministicJson-BEygolBQ.cjs → deterministicJson-CpFFgUL_.cjs} +13 -13
- package/dist/{doctor-B9lW1WlG.cjs → doctor-BEU0_1Xv.cjs} +7 -7
- package/dist/{doctor-BdBi7TFZ.mjs → doctor-lsxmAK4o.mjs} +7 -7
- package/dist/{downloadTarget-CGojGjaN.mjs → downloadTarget-BXqXhNF7.mjs} +6 -6
- package/dist/{downloadTarget-DS0zT2AU.cjs → downloadTarget-CikzJv1h.cjs} +6 -6
- package/dist/{ensureDaemonRunning-Bibp6vhe.cjs → ensureDaemonRunning-BUuH-pbE.cjs} +5 -5
- package/dist/{ensureDaemonRunning-BOdbryDM.mjs → ensureDaemonRunning-B_9WAlbU.mjs} +5 -5
- package/dist/{handleResumeCommand-CgLzBYne.mjs → handleResumeCommand-BK9XKH_l.mjs} +5 -5
- package/dist/{handleResumeCommand-DXOuWr4p.cjs → handleResumeCommand-Dj7oi2KO.cjs} +5 -5
- package/dist/{index-Db0HIC-k.mjs → index-BdOJOZ6J.mjs} +4 -4
- package/dist/{index-rNTX33in.mjs → index-BjZnpGWX.mjs} +3 -3
- package/dist/{index-DmqsRnV7.mjs → index-Bq8NKSCF.mjs} +65 -1
- package/dist/{index-BOe6dKnL.cjs → index-CLUHaPU8.cjs} +76 -0
- package/dist/{index-f8oDidjV.cjs → index-CauRYQKr.cjs} +39 -39
- package/dist/{index-CwRW11hT.cjs → index-CmZusg8Q.cjs} +3 -3
- package/dist/{index-CBHfkQNY.mjs → index-Cxso1rg4.mjs} +40 -40
- package/dist/{index-Bs5FD8JF.cjs → index-D3c7CLot.cjs} +4 -4
- package/dist/{index-DXSIi6j_.cjs → index-Dg2NAF_-.cjs} +4 -4
- package/dist/{index-DUByZsKe.mjs → index-DuK9XYbZ.mjs} +4 -4
- package/dist/index.cjs +2 -2
- package/dist/index.mjs +2 -2
- package/dist/{install-DfPrEWGG.mjs → install-DTIveLOS.mjs} +3 -3
- package/dist/{install-CXIL_FYx.cjs → install-DXllkuy0.cjs} +3 -3
- package/dist/lib.cjs +12 -12
- package/dist/lib.d.cts +10 -0
- package/dist/lib.d.mts +10 -0
- package/dist/lib.mjs +12 -12
- package/dist/{lidState-q_XFYg33.cjs → lidState-C9_DoF9i.cjs} +1 -1
- package/dist/{lidState-D0DF20oG.mjs → lidState-CD81ryTy.mjs} +1 -1
- package/dist/{localHappyAgentAuth-CKNW-MXw.cjs → localHappyAgentAuth-CCjUvOfi.cjs} +1 -1
- package/dist/{localHappyAgentAuth-BBhM4Qk1.mjs → localHappyAgentAuth-Cg-m1lwm.mjs} +1 -1
- package/dist/{logger-BBRTTVsQ.cjs → logger-Ct2zvaq0.cjs} +2 -2
- package/dist/{logger-CL7pin9b.mjs → logger-GcbI0eg2.mjs} +2 -2
- package/dist/{machineMetadata-DP06qdBk.mjs → machineMetadata-CXRmFNOV.mjs} +3 -3
- package/dist/{machineMetadata-DnFNlrVK.cjs → machineMetadata-DDCVWb_x.cjs} +3 -3
- package/dist/{main-DLOXykOR.cjs → main-BHC-WIcM.cjs} +46 -46
- package/dist/{main-DO7nRvhf.mjs → main-omGr_ONk.mjs} +46 -46
- package/dist/{mcp-C-4sPTae.mjs → mcp-D5hxmRAq.mjs} +15 -15
- package/dist/{mcp-Du0MgR7e.cjs → mcp-xUzii0m8.cjs} +15 -15
- package/dist/{mirrorProtocol-GuWMxLkh.cjs → mirrorProtocol-Dfl8Ahyf.cjs} +3 -3
- package/dist/{mirrorProtocol-dkq2ZENA.mjs → mirrorProtocol-Lcx20Oby.mjs} +3 -3
- package/dist/{package-DrY090nZ.cjs → package-9n7wd2dT.cjs} +7 -7
- package/dist/{package-C6uiXULx.mjs → package-BsUHyqWe.mjs} +7 -7
- package/dist/{panels-4DRBKHZP.cjs → panels-BfknEmt7.cjs} +5 -5
- package/dist/{panels-DXYdJA6n.mjs → panels-CpEKWWbI.mjs} +5 -5
- package/dist/{peerTools-5ZM4spcZ.cjs → peerTools-CElYh-5u.cjs} +5 -5
- package/dist/{peerTools-dY1aJez4.mjs → peerTools-CwCe6tmJ.mjs} +5 -5
- package/dist/{persistence-Bl5S3TLB.cjs → persistence-A2NeERZJ.cjs} +2 -2
- package/dist/{persistence-Dogj7JIp.mjs → persistence-Cpw4yJs8.mjs} +2 -2
- package/dist/{piRunnerArgs-C3jZ1M6b.cjs → piRunnerArgs-BnFU0K73.cjs} +1 -1
- package/dist/{piRunnerArgs-D8nN_Iit.mjs → piRunnerArgs-Bqmu16He.mjs} +1 -1
- package/dist/{piRuntime-BoeMsAXK.mjs → piRuntime-Cgn1b0OX.mjs} +1 -1
- package/dist/{piRuntime-Bd9-eq6M.cjs → piRuntime-DpS9TAIs.cjs} +1 -1
- package/dist/{piTerminal-GEPkIGD4.mjs → piTerminal-BGdps8f3.mjs} +17 -17
- package/dist/{piTerminal-C3j1ca3x.cjs → piTerminal-rmve-VlI.cjs} +17 -17
- package/dist/{pushNotifications-CfspRcl-.cjs → pushNotifications-23YSd-0l.cjs} +10 -3
- package/dist/{pushNotifications-dUceOIni.mjs → pushNotifications-XAM8__Pg.mjs} +10 -3
- package/dist/{query-iYH-tm7L.mjs → query-SZcYnJoW.mjs} +1 -1
- package/dist/{query-DjsVgG3E.cjs → query-u2GX-I0C.cjs} +1 -1
- package/dist/{rateLimitReporter-jeVi-fym.mjs → rateLimitReporter-COUkf446.mjs} +3 -3
- package/dist/{rateLimitReporter-DUu2KydZ.cjs → rateLimitReporter-CaTzBe3x.cjs} +3 -3
- package/dist/{rateLimitWindows-Bx3ROBP5.cjs → rateLimitWindows-B2Kx6L0S.cjs} +1 -1
- package/dist/{rateLimitWindows-CEn0DXaX.mjs → rateLimitWindows-j_qQk0KY.mjs} +1 -1
- package/dist/{registerCommonHandlers-Beun-cQv.cjs → registerCommonHandlers-D1MiSfcB.cjs} +2 -2
- package/dist/{registerCommonHandlers-DWZ7mfdt.mjs → registerCommonHandlers-DRRfinzK.mjs} +2 -2
- package/dist/{registerKillSessionHandler-CzgklwLG.mjs → registerKillSessionHandler-Cpug_r5C.mjs} +6 -6
- package/dist/{registerKillSessionHandler-CA1FFr_F.cjs → registerKillSessionHandler-hvCsEn7b.cjs} +6 -6
- package/dist/{remoteSessionClient-DGFI__5Z.cjs → remoteSessionClient-6ymeMVa4.cjs} +5 -5
- package/dist/{remoteSessionClient-BiC2KDew.mjs → remoteSessionClient-BdnJ_n8C.mjs} +5 -5
- package/dist/{reportProgressTool-CgPy6n_7.mjs → reportProgressTool-XgQBzxoD.mjs} +3 -3
- package/dist/{reportProgressTool-CvPGov1F.cjs → reportProgressTool-tzQLCLIw.cjs} +3 -3
- package/dist/{run-B_gFgJVB.mjs → run-Bt0AklUU.mjs} +39 -36
- package/dist/{run-rPqQwDi_.cjs → run-DYL_wuj7.cjs} +39 -36
- package/dist/{runClaude-CykqeXK7.mjs → runClaude-C3rii_S6.mjs} +44 -27
- package/dist/{runClaude-DM8gm8iu.cjs → runClaude-CBEpYO4S.cjs} +44 -27
- package/dist/{runClaudeDeps-DGAomimZ.cjs → runClaudeDeps-CYuozSC6.cjs} +129 -60
- package/dist/{runClaudeDeps-D2phXGut.mjs → runClaudeDeps-DlVfMG4F.mjs} +134 -65
- package/dist/{runGemini-CXTeSOZp.cjs → runGemini-CEI3b90u.cjs} +33 -33
- package/dist/{runGemini-CtWCVkj5.mjs → runGemini-DkYhRk9S.mjs} +33 -33
- package/dist/{runOpenClaw-CH_9_RyZ.cjs → runOpenClaw-BgjD6E4d.cjs} +18 -18
- package/dist/{runOpenClaw-BBdjlViJ.mjs → runOpenClaw-DpprWCoz.mjs} +18 -18
- package/dist/{sandbox-DGmXZ6Zz.mjs → sandbox-DJ7A7lsy.mjs} +4 -4
- package/dist/{sandbox-Bb5IMun3.cjs → sandbox-XCDUbH72.cjs} +4 -4
- package/dist/{selfCheck-CccwNTTK.cjs → selfCheck-BYUDB1Uq.cjs} +37 -37
- package/dist/selfCheck-C-rNljKV.mjs +86 -0
- package/dist/{send-B6rHg8GT.mjs → send-Ba63huxv.mjs} +8 -8
- package/dist/{send-BpiXPkDo.cjs → send-CASDBCyJ.cjs} +8 -8
- package/dist/{server-DHUzjApC.cjs → server-cZoV9XRt.cjs} +6 -6
- package/dist/{server-BkdAyHhC.mjs → server-w3W0toNd.mjs} +4 -4
- package/dist/{sessionLock-BFBReiKq.cjs → sessionLock-BmLA2S8K.cjs} +3 -3
- package/dist/{sessionLock-Ca_bIo50.mjs → sessionLock-G2PMqvsh.mjs} +3 -3
- package/dist/{sessionOps-CA2kpm66.mjs → sessionOps-DPw5k8vV.mjs} +6 -4
- package/dist/{sessionOps-DeWVqpe4.cjs → sessionOps-DXlTmS7J.cjs} +6 -4
- package/dist/{sessionProvider-g18IiK74.mjs → sessionProvider-DUn91LhJ.mjs} +5 -5
- package/dist/{sessionProvider-VFbtUmMR.cjs → sessionProvider-Dg691XQ4.cjs} +5 -5
- package/dist/{sessionScanner-CGzsN8V6.cjs → sessionScanner-AHjnicxi.cjs} +3 -3
- package/dist/{sessionScanner-DDDud5re.mjs → sessionScanner-BCXpdZJN.mjs} +3 -3
- package/dist/{sessions-CKJPWFgu.cjs → sessions-BiBXOBx0.cjs} +10 -10
- package/dist/{sessions-B4d50sCI.mjs → sessions-Clk8MR5Y.mjs} +10 -10
- package/dist/{setupOfflineReconnection-DPXRo_zf.cjs → setupOfflineReconnection-BKLfOd-i.cjs} +2 -2
- package/dist/{setupOfflineReconnection-CyPNgyCe.mjs → setupOfflineReconnection-DI-QZGYz.mjs} +2 -2
- package/dist/{spawn-CrYN_OOT.mjs → spawn-4tsp1uhh.mjs} +14 -14
- package/dist/{spawn-CgSJzzWS.cjs → spawn-D5omsx1Q.cjs} +14 -14
- package/dist/{spawnAgents-DWCDYCQ1.mjs → spawnAgents-CjoU6ZOS.mjs} +8 -2
- package/dist/{spawnAgents-C1-4m7aN.cjs → spawnAgents-CtkkIFHd.cjs} +8 -2
- package/dist/{spawnHappyCLI-CTy3p6V_.cjs → spawnHappyCLI-CF_gLi92.cjs} +1 -1
- package/dist/{spawnHappyCLI-DjbkiSH1.mjs → spawnHappyCLI-CIA9Sc_5.mjs} +1 -1
- package/dist/{startFileWatcher-BQs0cJA-.cjs → startFileWatcher-9Stpxe7p.cjs} +1 -1
- package/dist/{startFileWatcher-Dedtu1vq.mjs → startFileWatcher-CDO6fb2m.mjs} +1 -1
- package/dist/{startupSessionCreate-BKFU4v_h.mjs → startupSessionCreate-BtR4iYEC.mjs} +3 -3
- package/dist/{startupSessionCreate-Dxy3X4DG.cjs → startupSessionCreate-CcF7rGGB.cjs} +3 -3
- package/dist/{streamRelay-D9a4cBEa.cjs → streamRelay-BhI6jqF-.cjs} +1 -1
- package/dist/{streamRelay-P9e7Sohm.mjs → streamRelay-DMwOMTKf.mjs} +1 -1
- package/dist/{sync-DtWB7RzA.cjs → sync-Ba8N6xba.cjs} +1 -1
- package/dist/{sync-eZkXnsW_.mjs → sync-C0PRuTMj.mjs} +1 -1
- package/dist/{systemPrompt-Bn6g6aCH.mjs → systemPrompt-D0q8eyjy.mjs} +2 -2
- package/dist/{systemPrompt-2XOpZ1j6.cjs → systemPrompt-DV5IReD4.cjs} +2 -2
- package/dist/{teams-nadkqrbW.mjs → teams-BO3_arwM.mjs} +7 -7
- package/dist/{teams-ecFay4Gn.cjs → teams-z3Gp-KlV.cjs} +7 -7
- package/dist/{template-17HATY_Y.cjs → template-B_5l6pkc.cjs} +1 -1
- package/dist/{template-BiTD-jI9.mjs → template-DLR_0hfj.mjs} +1 -1
- package/dist/{time-gPD_EmA-.cjs → time-Cy0a-7YX.cjs} +1 -1
- package/dist/{time-CN3TuSVG.mjs → time-D0jvDRhn.mjs} +1 -1
- package/dist/{titleGenerator-DgzTQdn2.mjs → titleGenerator-AGQsXskb.mjs} +1 -1
- package/dist/{titleGenerator-lT5ldPuN.cjs → titleGenerator-RGHWP2YL.cjs} +2 -2
- package/dist/{todo-BIxd7l2Q.mjs → todo-BZ954vsz.mjs} +6 -6
- package/dist/{todo-B1VeMk5A.cjs → todo-CzIDPLFy.cjs} +6 -6
- package/dist/{tools-DvqbLsCF.cjs → tools-B1x1j6tz.cjs} +1 -1
- package/dist/{tools-zXJpxiG_.mjs → tools-Bei5i03L.mjs} +1 -1
- package/dist/{uninstall-9htK6mb7.mjs → uninstall-B4T_e3Mr.mjs} +3 -3
- package/dist/{uninstall-CvIOpwB5.cjs → uninstall-C3cnIvz1.cjs} +3 -3
- package/package.json +7 -7
- package/dist/defaultPermissionMode-BnxJPVHT.mjs +0 -4
- package/dist/defaultPermissionMode-CxmTXUQR.cjs +0 -7
- package/dist/selfCheck-BfK945YQ.mjs +0 -86
|
@@ -1,107 +1,107 @@
|
|
|
1
|
-
import { a as authAndSetupMachineIfNeeded } from './auth-
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
4
|
-
import { s as
|
|
1
|
+
import { a as authAndSetupMachineIfNeeded } from './auth-DC6rg8lJ.mjs';
|
|
2
|
+
import { j as createEnvelope, t as BUILTIN_TODO_DISCOVERY, r as restoredEffort, m as readEffortIntent, E as EFFORT_INTENT_AUTO, P as PROMPT_QUEUE_CAPABILITY, Y as CODEX_STEER_CAPABILITY, a as PROJECT_SESSION_CAPABILITY, Z as CODEX_COMPACT_CAPABILITY, R as RUN_INTENT_CAPABILITY } from './index-Bq8NKSCF.mjs';
|
|
3
|
+
import { a as recordRunIntents, w as withoutEffort, r as registerRunIntentRpc, b as DEFAULT_CODEX_PERMISSION_MODE } from './defaultPermissionMode-m6z2QVyP.mjs';
|
|
4
|
+
import { h as hashObject, s as startHappyServer, c as createProjectInjector } from './deterministicJson-BtSwbsok.mjs';
|
|
5
|
+
import { s as sharedProjectsClient } from './client-Bi20Ka0h.mjs';
|
|
5
6
|
import { unlink } from 'node:fs/promises';
|
|
6
7
|
import { p as publishForkBackfillWhenCommitted, F as FORK_BACKFILL_CAPABILITY } from './forkBackfill-DYIjlN1Z.mjs';
|
|
7
8
|
import { randomUUID } from 'node:crypto';
|
|
8
9
|
import { createId } from '@paralleldrive/cuid2';
|
|
9
|
-
import { t as textResultPayload, d as toolResultContentText, c as connectionState, A as ApiClient } from './api-
|
|
10
|
+
import { t as textResultPayload, d as toolResultContentText, c as connectionState, A as ApiClient } from './api-jfeMRg5R.mjs';
|
|
10
11
|
import { r as registerAgentAttachmentDownloads, H as HeldInput } from './heldInput-C69lA2dH.mjs';
|
|
11
|
-
import { C as CLAUDE_ATTACHMENT_KINDS, a as stageClaudeAttachments, b as appendStagedAttachmentsToPrompt } from './attachmentContent-
|
|
12
|
+
import { C as CLAUDE_ATTACHMENT_KINDS, a as stageClaudeAttachments, b as appendStagedAttachmentsToPrompt } from './attachmentContent-Dm_RIs5L.mjs';
|
|
12
13
|
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, t as takeAutoRestartedEvent, A as AUTO_RESTART_CAPABILITY, e as exitCursorStamp } from './sessionLock-
|
|
14
|
+
import { c as claimSessionOrExit, a as applyServerSnapshot, b as applyReconnectReplay, w as withoutServerSnapshot, m as mergeReconnectMetadata, t as takeAutoRestartedEvent, A as AUTO_RESTART_CAPABILITY, e as exitCursorStamp } from './sessionLock-G2PMqvsh.mjs';
|
|
14
15
|
import React, { useState, useRef, useEffect, useCallback } from 'react';
|
|
15
|
-
import { C as CodexAppServerClient } from './codexAppServerClient-
|
|
16
|
-
import { w as wrapperRateLimitReporter } from './rateLimitReporter-
|
|
17
|
-
import { l as logger } from './logger-
|
|
18
|
-
import { B as BasePermissionHandler } from './BasePermissionHandler-
|
|
19
|
-
import { B as BaseReasoningProcessor, s as settleCodexSession } from './codexTermination-
|
|
16
|
+
import { C as CodexAppServerClient } from './codexAppServerClient-DXhAf6i-.mjs';
|
|
17
|
+
import { w as wrapperRateLimitReporter } from './rateLimitReporter-COUkf446.mjs';
|
|
18
|
+
import { l as logger } from './logger-GcbI0eg2.mjs';
|
|
19
|
+
import { B as BasePermissionHandler } from './BasePermissionHandler-DYLN6Ec9.mjs';
|
|
20
|
+
import { B as BaseReasoningProcessor, s as settleCodexSession } from './codexTermination-BcQdEDaw.mjs';
|
|
20
21
|
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-
|
|
22
|
+
import { r as readSettings, l as latchKeepAwake, e as evaluateWrapperIdle, a as resolveCheckMs, H as HIBERNATION_CAPABILITY } from './persistence-Cpw4yJs8.mjs';
|
|
23
|
+
import { g as getInitialMachineMetadata } from './machineMetadata-CXRmFNOV.mjs';
|
|
24
|
+
import { c as configuration } from './configuration-ECqXu34R.mjs';
|
|
25
|
+
import { M as MessageQueue2, r as registerKillSessionHandler } from './registerKillSessionHandler-Cpug_r5C.mjs';
|
|
25
26
|
import { p as projectPath } from './projectPath-BTBIMB57.mjs';
|
|
26
27
|
import { join } from 'node:path';
|
|
27
|
-
import { c as createSessionMetadata } from './createSessionMetadata-
|
|
28
|
+
import { c as createSessionMetadata } from './createSessionMetadata-B0eT_Kfj.mjs';
|
|
28
29
|
import { M as MessageBuffer } from './sessionExitLifecycle-CzkLIgNZ.mjs';
|
|
29
|
-
import { n as notifyDaemonSessionStarted, k as reportSessionEditToDaemon, c as checkDaemonHibernation } from './controlClient-
|
|
30
|
-
import { c as createSessionForStartup, b as HibernationExitLatch, H as HibernationProbe, a as commitHibernation } from './startupSessionCreate-
|
|
30
|
+
import { n as notifyDaemonSessionStarted, k as reportSessionEditToDaemon, c as checkDaemonHibernation } from './controlClient-ClI7A0qE.mjs';
|
|
31
|
+
import { c as createSessionForStartup, b as HibernationExitLatch, H as HibernationProbe, a as commitHibernation } from './startupSessionCreate-BtR4iYEC.mjs';
|
|
31
32
|
import { d as decodeBase64, e as encodeBase64 } from './authRelay-DhQhkBvX.mjs';
|
|
32
|
-
import { s as setupOfflineReconnection } from './setupOfflineReconnection-
|
|
33
|
+
import { s as setupOfflineReconnection } from './setupOfflineReconnection-DI-QZGYz.mjs';
|
|
33
34
|
import { t as trimIdent } from './trimIdent-BAjmv_TG.mjs';
|
|
34
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
|
-
import { a as DEFAULT_CODEX_PERMISSION_MODE } from './defaultPermissionMode-BnxJPVHT.mjs';
|
|
37
37
|
import { E as EditReportThrottle, a as extractCodexPatchPaths } from './editPaths-BVfS_FFL.mjs';
|
|
38
|
-
import { a as extractNoSandboxFlag, e as ensureDaemonRunning } from './ensureDaemonRunning-
|
|
38
|
+
import { a as extractNoSandboxFlag, e as ensureDaemonRunning } from './ensureDaemonRunning-B_9WAlbU.mjs';
|
|
39
39
|
import 'tweetnacl';
|
|
40
40
|
import 'axios';
|
|
41
|
-
import './time-
|
|
42
|
-
import './browser-
|
|
41
|
+
import './time-D0jvDRhn.mjs';
|
|
42
|
+
import './browser-CHpVgyni.mjs';
|
|
43
43
|
import 'open';
|
|
44
44
|
import 'zod';
|
|
45
45
|
import './prompt-QHuFx9j6.mjs';
|
|
46
|
-
import './reportProgressTool-
|
|
47
|
-
import './client-
|
|
46
|
+
import './reportProgressTool-XgQBzxoD.mjs';
|
|
47
|
+
import './client-BXD66ZF5.mjs';
|
|
48
48
|
import './precheckCompat-DeEbilbr.mjs';
|
|
49
49
|
import './agentGuidance-BDYt2Qy2.mjs';
|
|
50
50
|
import 'node:fs';
|
|
51
51
|
import 'node:os';
|
|
52
52
|
import './pi-CqyoZMjI.mjs';
|
|
53
53
|
import './fileStore-5qpetZS0.mjs';
|
|
54
|
-
import './client-
|
|
54
|
+
import './client-Bh1aUPh-.mjs';
|
|
55
55
|
import 'node:util';
|
|
56
|
-
import './context-
|
|
57
|
-
import './sessionOps-
|
|
56
|
+
import './context-CfgTFpCB.mjs';
|
|
57
|
+
import './sessionOps-DPw5k8vV.mjs';
|
|
58
58
|
import 'socket.io-client';
|
|
59
59
|
import './backgroundTaskActivity-8PdPxrvy.mjs';
|
|
60
60
|
import './resources-CLP_MpK4.mjs';
|
|
61
|
-
import './tools-
|
|
62
|
-
import './peerTools-
|
|
61
|
+
import './tools-Bei5i03L.mjs';
|
|
62
|
+
import './peerTools-CwCe6tmJ.mjs';
|
|
63
63
|
import './ids-DU6sLx4C.mjs';
|
|
64
|
-
import './remoteSessionClient-
|
|
64
|
+
import './remoteSessionClient-BdnJ_n8C.mjs';
|
|
65
65
|
import '@modelcontextprotocol/sdk/server/mcp.js';
|
|
66
66
|
import 'node:http';
|
|
67
67
|
import '@modelcontextprotocol/sdk/server/streamableHttp.js';
|
|
68
68
|
import './limits-DIo7rEBR.mjs';
|
|
69
|
-
import './downloadTarget-
|
|
69
|
+
import './downloadTarget-BXqXhNF7.mjs';
|
|
70
70
|
import './terminals-Dlg0x3nY.mjs';
|
|
71
71
|
import './terminalTitleSuggest-CeKsX_V6.mjs';
|
|
72
72
|
import './tmuxSocket-B8Yx20sT.mjs';
|
|
73
|
-
import './bootstrap-
|
|
74
|
-
import './package-
|
|
73
|
+
import './bootstrap-rLaL3kTa.mjs';
|
|
74
|
+
import './package-BsUHyqWe.mjs';
|
|
75
75
|
import './webPanels-B2_C2-3g.mjs';
|
|
76
|
-
import './pushNotifications-
|
|
76
|
+
import './pushNotifications-XAM8__Pg.mjs';
|
|
77
77
|
import './contentLogMetadata-BlWI0egu.mjs';
|
|
78
78
|
import './previewPath-CXN4Vag0.mjs';
|
|
79
79
|
import 'crypto';
|
|
80
|
-
import './lidState-
|
|
80
|
+
import './lidState-CD81ryTy.mjs';
|
|
81
81
|
import 'os';
|
|
82
82
|
import 'child_process';
|
|
83
83
|
import 'node:events';
|
|
84
|
-
import './registerCommonHandlers-
|
|
84
|
+
import './registerCommonHandlers-DRRfinzK.mjs';
|
|
85
85
|
import 'util';
|
|
86
86
|
import 'fs/promises';
|
|
87
87
|
import 'path';
|
|
88
88
|
import 'cross-spawn';
|
|
89
|
-
import './sync-
|
|
89
|
+
import './sync-C0PRuTMj.mjs';
|
|
90
90
|
import 'chalk';
|
|
91
91
|
import './cliUpdate-Y34VGe9Y.mjs';
|
|
92
92
|
import './processTreeSnapshot-CuLJDNC-.mjs';
|
|
93
93
|
import 'node:readline';
|
|
94
94
|
import './manager-BEsI4qt3.mjs';
|
|
95
95
|
import '@anthropic-ai/sandbox-runtime';
|
|
96
|
-
import './rateLimitWindows-
|
|
96
|
+
import './rateLimitWindows-j_qQk0KY.mjs';
|
|
97
97
|
import './processTree-CP5IvQ2Z.mjs';
|
|
98
98
|
import './detectCLI-CSGMlV51.mjs';
|
|
99
99
|
import 'fs';
|
|
100
|
-
import './localHappyAgentAuth-
|
|
100
|
+
import './localHappyAgentAuth-Cg-m1lwm.mjs';
|
|
101
101
|
import './fsMkdir-DumgLTzR.mjs';
|
|
102
102
|
import './types-CkqAACXx.mjs';
|
|
103
103
|
import 'url';
|
|
104
|
-
import './spawnHappyCLI-
|
|
104
|
+
import './spawnHappyCLI-CIA9Sc_5.mjs';
|
|
105
105
|
import './doctorReadiness-C208SMN9.mjs';
|
|
106
106
|
|
|
107
107
|
function getStartedSubagents(state) {
|
|
@@ -1095,6 +1095,13 @@ function unsupportedEffortReason(catalog, model, effort) {
|
|
|
1095
1095
|
if (selected.supportedReasoningEfforts.some((option) => option.reasoningEffort === effort)) return null;
|
|
1096
1096
|
return `Reasoning effort "${effort}" is not supported by ${model ?? "the default model"}. Choose a supported level.`;
|
|
1097
1097
|
}
|
|
1098
|
+
function settleTurnEffort(catalog, model, effort, opts) {
|
|
1099
|
+
const refusal = unsupportedEffortReason(catalog, model, effort);
|
|
1100
|
+
if (!refusal) return { refusal: null, effort, changed: false };
|
|
1101
|
+
const catalogDefault = catalog.find((entry) => model ? entry.model === model : entry.isDefault)?.defaultReasoningEffort ?? void 0;
|
|
1102
|
+
const settled = !unsupportedEffortReason(catalog, model, opts.fallback) ? opts.fallback : catalogDefault && !unsupportedEffortReason(catalog, model, catalogDefault) ? catalogDefault : void 0;
|
|
1103
|
+
return { refusal: opts.explicit ? refusal : null, effort: settled, changed: true };
|
|
1104
|
+
}
|
|
1098
1105
|
|
|
1099
1106
|
function resolveCodexTurnModel(mode, machineDefault) {
|
|
1100
1107
|
if (mode.model) return mode.model;
|
|
@@ -1498,11 +1505,13 @@ async function runCodex(opts) {
|
|
|
1498
1505
|
dangerouslySkipPermissions: initialPermissionMode === "yolo" || initialPermissionMode === "bypassPermissions",
|
|
1499
1506
|
...forkedFromSessionId ? { parentSessionId: forkedFromSessionId } : {},
|
|
1500
1507
|
...forkedFromMessageId ? { forkedFromMessageId } : {},
|
|
1501
|
-
capabilities: [PROMPT_QUEUE_CAPABILITY, FORK_BACKFILL_CAPABILITY, HIBERNATION_CAPABILITY, AUTO_RESTART_CAPABILITY, CODEX_STEER_CAPABILITY, PROJECT_SESSION_CAPABILITY, CODEX_COMPACT_CAPABILITY]
|
|
1508
|
+
capabilities: [PROMPT_QUEUE_CAPABILITY, FORK_BACKFILL_CAPABILITY, HIBERNATION_CAPABILITY, AUTO_RESTART_CAPABILITY, CODEX_STEER_CAPABILITY, PROJECT_SESSION_CAPABILITY, CODEX_COMPACT_CAPABILITY, RUN_INTENT_CAPABILITY]
|
|
1502
1509
|
});
|
|
1503
1510
|
metadata.attachmentKinds = [...CLAUDE_ATTACHMENT_KINDS];
|
|
1504
1511
|
metadata.stickyModel = null;
|
|
1505
1512
|
metadata.currentThoughtLevelCode = DEFAULT_CODEX_EFFORT;
|
|
1513
|
+
metadata.modelIntent = null;
|
|
1514
|
+
metadata.effortIntent = null;
|
|
1506
1515
|
const importCodexThreadId = process.env[IMPORT_CODEX_THREAD_ENV];
|
|
1507
1516
|
if (importCodexThreadId) {
|
|
1508
1517
|
metadata.importedFromCodexThreadId = importCodexThreadId;
|
|
@@ -1556,6 +1565,7 @@ async function runCodex(opts) {
|
|
|
1556
1565
|
logger.debug(`[START] Reconnect without server snapshot (${snapshot.reason}); skipping existing messages`);
|
|
1557
1566
|
}
|
|
1558
1567
|
}
|
|
1568
|
+
const resumedEffort = reconnectSeeded && response ? restoredEffort(response.metadata, { useReportedLevel: true }) : void 0;
|
|
1559
1569
|
let session;
|
|
1560
1570
|
let permissionHandler;
|
|
1561
1571
|
let client;
|
|
@@ -1618,7 +1628,10 @@ async function runCodex(opts) {
|
|
|
1618
1628
|
const heldInput = new HeldInput((keys, reason) => session.sendQueueCancelReason(keys, reason));
|
|
1619
1629
|
let currentPermissionMode = initialPermissionMode;
|
|
1620
1630
|
let currentModel = DEFAULT_CODEX_MODEL;
|
|
1621
|
-
let currentEffort = DEFAULT_CODEX_EFFORT;
|
|
1631
|
+
let currentEffort = resumedEffort !== void 0 ? resumedEffort ?? void 0 : DEFAULT_CODEX_EFFORT;
|
|
1632
|
+
let pendingModelReset = false;
|
|
1633
|
+
let lastStartedEffort = currentEffort;
|
|
1634
|
+
const effortJudgeModel = (model, modelReset) => resolveCodexTurnModel({ model, modelReset }, machineDefaultModel) ?? client?.threadModel ?? machineDefaultModel;
|
|
1622
1635
|
let currentAppendSystemPrompt = void 0;
|
|
1623
1636
|
let reportedStickyModel = null;
|
|
1624
1637
|
let reportedCurrentModel;
|
|
@@ -1641,8 +1654,6 @@ async function runCodex(opts) {
|
|
|
1641
1654
|
});
|
|
1642
1655
|
};
|
|
1643
1656
|
const resetCurrentModeDefaults = () => {
|
|
1644
|
-
currentEffort = DEFAULT_CODEX_EFFORT;
|
|
1645
|
-
reportModeFacts();
|
|
1646
1657
|
currentAppendSystemPrompt = void 0;
|
|
1647
1658
|
logger.debug("[Codex] Reset current mode defaults after abort");
|
|
1648
1659
|
};
|
|
@@ -1701,9 +1712,13 @@ async function runCodex(opts) {
|
|
|
1701
1712
|
reportModeFacts();
|
|
1702
1713
|
logger.debug("[Codex] Model override updated", logValueMetadata(message.meta.model));
|
|
1703
1714
|
} else {
|
|
1715
|
+
messageModelReset = pendingModelReset && !messageModel;
|
|
1704
1716
|
logger.debug("[Codex] User message received without a model override");
|
|
1705
1717
|
}
|
|
1718
|
+
pendingModelReset = false;
|
|
1706
1719
|
let messageEffort = currentEffort;
|
|
1720
|
+
let effortExplicit = false;
|
|
1721
|
+
let effortRefused = false;
|
|
1707
1722
|
if (message.meta?.hasOwnProperty("effort")) {
|
|
1708
1723
|
const incoming = message.meta.effort;
|
|
1709
1724
|
if (incoming === null || incoming === void 0) {
|
|
@@ -1713,15 +1728,22 @@ async function runCodex(opts) {
|
|
|
1713
1728
|
logger.debug(`[Codex] Effort reset to default`);
|
|
1714
1729
|
} else if (typeof incoming === "string") {
|
|
1715
1730
|
messageEffort = incoming;
|
|
1716
|
-
|
|
1717
|
-
|
|
1718
|
-
|
|
1731
|
+
effortExplicit = true;
|
|
1732
|
+
effortRefused = unsupportedEffortReason(discoveredModels, effortJudgeModel(messageModel, messageModelReset), messageEffort) !== null;
|
|
1733
|
+
if (effortRefused) {
|
|
1734
|
+
logger.debug("[Codex] Effort override refused by the model catalog; sticky level kept", logValueMetadata(incoming));
|
|
1735
|
+
} else {
|
|
1736
|
+
currentEffort = messageEffort;
|
|
1737
|
+
reportModeFacts();
|
|
1738
|
+
logger.debug("[Codex] Valid effort override applied");
|
|
1739
|
+
}
|
|
1719
1740
|
} else {
|
|
1720
1741
|
logger.debug("[Codex] Ignoring invalid effort override", logValueMetadata(incoming));
|
|
1721
1742
|
}
|
|
1722
1743
|
} else {
|
|
1723
1744
|
logger.debug("[Codex] User message received without an effort override");
|
|
1724
1745
|
}
|
|
1746
|
+
recordRunIntents(session, effortRefused ? withoutEffort(message.meta) : message.meta);
|
|
1725
1747
|
let messageAppendSystemPrompt = currentAppendSystemPrompt;
|
|
1726
1748
|
if (message.meta?.hasOwnProperty("appendSystemPrompt")) {
|
|
1727
1749
|
messageAppendSystemPrompt = message.meta.appendSystemPrompt || void 0;
|
|
@@ -1735,7 +1757,8 @@ async function runCodex(opts) {
|
|
|
1735
1757
|
model: messageModel,
|
|
1736
1758
|
...messageModelReset ? { modelReset: true } : {},
|
|
1737
1759
|
appendSystemPrompt: messageAppendSystemPrompt,
|
|
1738
|
-
effort: messageEffort
|
|
1760
|
+
effort: messageEffort,
|
|
1761
|
+
...effortExplicit ? { effortExplicit: true } : {}
|
|
1739
1762
|
};
|
|
1740
1763
|
if (message.meta?.delivery === "steer" && !isCodexControlText(message.content.text)) {
|
|
1741
1764
|
if (await steerIntoRunningTurn(steerDeps, message.content.text, attachments, message.localKey)) {
|
|
@@ -1882,6 +1905,24 @@ async function runCodex(opts) {
|
|
|
1882
1905
|
}
|
|
1883
1906
|
});
|
|
1884
1907
|
session.rpcHandlerManager.registerHandler("abort", () => handleAbort("user"));
|
|
1908
|
+
registerRunIntentRpc(session.rpcHandlerManager, {
|
|
1909
|
+
getMetadata: () => session.getMetadata(),
|
|
1910
|
+
updateMetadata: (handler) => session.updateMetadata(handler)
|
|
1911
|
+
}, (request) => {
|
|
1912
|
+
if (Object.prototype.hasOwnProperty.call(request, "model")) {
|
|
1913
|
+
currentModel = request.model || void 0;
|
|
1914
|
+
pendingModelReset = !currentModel;
|
|
1915
|
+
}
|
|
1916
|
+
let effortRefused = false;
|
|
1917
|
+
if (Object.prototype.hasOwnProperty.call(request, "effort")) {
|
|
1918
|
+
const effort = request.effort || void 0;
|
|
1919
|
+
effortRefused = unsupportedEffortReason(discoveredModels, effortJudgeModel(currentModel, pendingModelReset), effort) !== null;
|
|
1920
|
+
if (!effortRefused) currentEffort = effort;
|
|
1921
|
+
}
|
|
1922
|
+
if (client) reportModeFacts();
|
|
1923
|
+
logger.debug("[Codex] Run intent set", logValueMetadata(request.model ?? null));
|
|
1924
|
+
return { effortRefused };
|
|
1925
|
+
});
|
|
1885
1926
|
const disposeTermination = registerKillSessionHandler(session.rpcHandlerManager, () => handleKillSession("archive"), session, { processSignals: true, onSignal: () => handleKillSession("offline") });
|
|
1886
1927
|
const messageBuffer = new MessageBuffer();
|
|
1887
1928
|
const hasTTY = process.stdout.isTTY && process.stdin.isTTY;
|
|
@@ -2295,9 +2336,23 @@ async function runCodex(opts) {
|
|
|
2295
2336
|
sandboxManagedByHappy
|
|
2296
2337
|
);
|
|
2297
2338
|
const turnModel = resolveCodexTurnModel(message.mode, machineDefaultModel);
|
|
2298
|
-
const
|
|
2299
|
-
|
|
2300
|
-
|
|
2339
|
+
const turnEffort = settleTurnEffort(discoveredModels, turnModel ?? client.threadModel ?? machineDefaultModel, message.mode.effort, {
|
|
2340
|
+
explicit: message.mode.effortExplicit === true,
|
|
2341
|
+
fallback: lastStartedEffort
|
|
2342
|
+
});
|
|
2343
|
+
if (turnEffort.changed) {
|
|
2344
|
+
const refused = message.mode.effort;
|
|
2345
|
+
if (currentEffort === refused) {
|
|
2346
|
+
currentEffort = turnEffort.effort;
|
|
2347
|
+
reportModeFacts();
|
|
2348
|
+
}
|
|
2349
|
+
if (readEffortIntent(session.getMetadata()?.effortIntent) === refused) {
|
|
2350
|
+
recordRunIntents(session, { effort: turnEffort.effort ?? null, effortIntent: turnEffort.effort ?? EFFORT_INTENT_AUTO });
|
|
2351
|
+
}
|
|
2352
|
+
logger.debug("[Codex] Refused effort settled", logValueMetadata(turnEffort.effort ?? null));
|
|
2353
|
+
}
|
|
2354
|
+
if (turnEffort.refusal) {
|
|
2355
|
+
throw new Error(turnEffort.refusal);
|
|
2301
2356
|
}
|
|
2302
2357
|
if (!client.hasActiveThread()) {
|
|
2303
2358
|
const startedThread = await client.startThread({
|
|
@@ -2335,8 +2390,11 @@ async function runCodex(opts) {
|
|
|
2335
2390
|
model: turnModel,
|
|
2336
2391
|
approvalPolicy: executionPolicy.approvalPolicy,
|
|
2337
2392
|
sandbox: executionPolicy.sandbox,
|
|
2338
|
-
effort:
|
|
2339
|
-
onTurnStarted: () =>
|
|
2393
|
+
effort: turnEffort.effort,
|
|
2394
|
+
onTurnStarted: () => {
|
|
2395
|
+
lastStartedEffort = turnEffort.effort;
|
|
2396
|
+
heldInput.delivered();
|
|
2397
|
+
}
|
|
2340
2398
|
});
|
|
2341
2399
|
reportModeFacts();
|
|
2342
2400
|
first = false;
|
|
@@ -1,109 +1,109 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var auth = require('./auth-
|
|
4
|
-
var index = require('./index-
|
|
5
|
-
var
|
|
6
|
-
var
|
|
3
|
+
var auth = require('./auth-DnxoVkkf.cjs');
|
|
4
|
+
var index = require('./index-CLUHaPU8.cjs');
|
|
5
|
+
var defaultPermissionMode = require('./defaultPermissionMode-oqTupStc.cjs');
|
|
6
|
+
var deterministicJson = require('./deterministicJson-CpFFgUL_.cjs');
|
|
7
|
+
var client = require('./client-C5-C0t2a.cjs');
|
|
7
8
|
var promises = require('node:fs/promises');
|
|
8
9
|
var forkBackfill = require('./forkBackfill-8eLDeS73.cjs');
|
|
9
10
|
var node_crypto = require('node:crypto');
|
|
10
11
|
var cuid2 = require('@paralleldrive/cuid2');
|
|
11
|
-
var api = require('./api-
|
|
12
|
+
var api = require('./api-BBxZ7y2z.cjs');
|
|
12
13
|
var heldInput = require('./heldInput-BOtqFO2r.cjs');
|
|
13
|
-
var attachmentContent = require('./attachmentContent-
|
|
14
|
+
var attachmentContent = require('./attachmentContent-BO2njyza.cjs');
|
|
14
15
|
var ink = require('ink');
|
|
15
|
-
var sessionLock = require('./sessionLock-
|
|
16
|
+
var sessionLock = require('./sessionLock-BmLA2S8K.cjs');
|
|
16
17
|
var React = require('react');
|
|
17
|
-
var codexAppServerClient = require('./codexAppServerClient-
|
|
18
|
-
var rateLimitReporter = require('./rateLimitReporter-
|
|
19
|
-
var logger = require('./logger-
|
|
20
|
-
var BasePermissionHandler = require('./BasePermissionHandler-
|
|
21
|
-
var codexTermination = require('./codexTermination-
|
|
18
|
+
var codexAppServerClient = require('./codexAppServerClient-DKXeikEe.cjs');
|
|
19
|
+
var rateLimitReporter = require('./rateLimitReporter-CaTzBe3x.cjs');
|
|
20
|
+
var logger = require('./logger-Ct2zvaq0.cjs');
|
|
21
|
+
var BasePermissionHandler = require('./BasePermissionHandler-C9Ag7yvs.cjs');
|
|
22
|
+
var codexTermination = require('./codexTermination-BszWfyk5.cjs');
|
|
22
23
|
var node_child_process = require('node:child_process');
|
|
23
|
-
var persistence = require('./persistence-
|
|
24
|
-
var machineMetadata = require('./machineMetadata-
|
|
25
|
-
var configuration = require('./configuration-
|
|
26
|
-
var registerKillSessionHandler = require('./registerKillSessionHandler-
|
|
24
|
+
var persistence = require('./persistence-A2NeERZJ.cjs');
|
|
25
|
+
var machineMetadata = require('./machineMetadata-DDCVWb_x.cjs');
|
|
26
|
+
var configuration = require('./configuration-DfPBa-9d.cjs');
|
|
27
|
+
var registerKillSessionHandler = require('./registerKillSessionHandler-hvCsEn7b.cjs');
|
|
27
28
|
var projectPath = require('./projectPath-C3ioB4Bu.cjs');
|
|
28
29
|
var path = require('node:path');
|
|
29
|
-
var createSessionMetadata = require('./createSessionMetadata-
|
|
30
|
+
var createSessionMetadata = require('./createSessionMetadata-Cf78KHtt.cjs');
|
|
30
31
|
var sessionExitLifecycle = require('./sessionExitLifecycle-DFltxXU8.cjs');
|
|
31
|
-
var controlClient = require('./controlClient-
|
|
32
|
-
var startupSessionCreate = require('./startupSessionCreate-
|
|
32
|
+
var controlClient = require('./controlClient-C13_pSKG.cjs');
|
|
33
|
+
var startupSessionCreate = require('./startupSessionCreate-CcF7rGGB.cjs');
|
|
33
34
|
var authRelay = require('./authRelay-Dy1qU9td.cjs');
|
|
34
|
-
var setupOfflineReconnection = require('./setupOfflineReconnection-
|
|
35
|
+
var setupOfflineReconnection = require('./setupOfflineReconnection-BKLfOd-i.cjs');
|
|
35
36
|
var trimIdent = require('./trimIdent-4gvk9Wk6.cjs');
|
|
36
37
|
var specialCommands = require('./specialCommands-J3JFOq0J.cjs');
|
|
37
38
|
var constants = require('./constants-VJ0N6WuG.cjs');
|
|
38
|
-
var defaultPermissionMode = require('./defaultPermissionMode-CxmTXUQR.cjs');
|
|
39
39
|
var editPaths = require('./editPaths-Bqp4OFPw.cjs');
|
|
40
|
-
var ensureDaemonRunning = require('./ensureDaemonRunning-
|
|
40
|
+
var ensureDaemonRunning = require('./ensureDaemonRunning-BUuH-pbE.cjs');
|
|
41
41
|
require('tweetnacl');
|
|
42
42
|
require('axios');
|
|
43
|
-
require('./time-
|
|
44
|
-
require('./browser-
|
|
43
|
+
require('./time-Cy0a-7YX.cjs');
|
|
44
|
+
require('./browser-BTgZ9d4i.cjs');
|
|
45
45
|
require('open');
|
|
46
46
|
require('zod');
|
|
47
47
|
require('./prompt-Bof2aQkI.cjs');
|
|
48
|
-
require('./reportProgressTool-
|
|
49
|
-
require('./client-
|
|
48
|
+
require('./reportProgressTool-tzQLCLIw.cjs');
|
|
49
|
+
require('./client-BscskEBk.cjs');
|
|
50
50
|
require('./precheckCompat-CWOi5c9L.cjs');
|
|
51
51
|
require('./agentGuidance-BtBx2xxE.cjs');
|
|
52
52
|
require('node:fs');
|
|
53
53
|
require('node:os');
|
|
54
54
|
require('./pi-DlsrPCTa.cjs');
|
|
55
55
|
require('./fileStore-7qhnbs6N.cjs');
|
|
56
|
-
require('./client-
|
|
56
|
+
require('./client-C-OdTbrU.cjs');
|
|
57
57
|
require('node:util');
|
|
58
|
-
require('./context-
|
|
59
|
-
require('./sessionOps-
|
|
58
|
+
require('./context-Co7hUaW-.cjs');
|
|
59
|
+
require('./sessionOps-DXlTmS7J.cjs');
|
|
60
60
|
require('socket.io-client');
|
|
61
61
|
require('./backgroundTaskActivity-CBvUdj39.cjs');
|
|
62
62
|
require('./resources-BZ_Be0qM.cjs');
|
|
63
|
-
require('./tools-
|
|
64
|
-
require('./peerTools-
|
|
63
|
+
require('./tools-B1x1j6tz.cjs');
|
|
64
|
+
require('./peerTools-CElYh-5u.cjs');
|
|
65
65
|
require('./ids-B6ZC0HGt.cjs');
|
|
66
|
-
require('./remoteSessionClient-
|
|
66
|
+
require('./remoteSessionClient-6ymeMVa4.cjs');
|
|
67
67
|
require('@modelcontextprotocol/sdk/server/mcp.js');
|
|
68
68
|
require('node:http');
|
|
69
69
|
require('@modelcontextprotocol/sdk/server/streamableHttp.js');
|
|
70
70
|
require('./limits-C-a7gr04.cjs');
|
|
71
|
-
require('./downloadTarget-
|
|
71
|
+
require('./downloadTarget-CikzJv1h.cjs');
|
|
72
72
|
require('./terminals-B_bfC9c2.cjs');
|
|
73
73
|
require('./terminalTitleSuggest-DhvRFX3H.cjs');
|
|
74
74
|
require('./tmuxSocket-D-Xt6Vn-.cjs');
|
|
75
|
-
require('./bootstrap-
|
|
76
|
-
require('./package-
|
|
75
|
+
require('./bootstrap-sly4qPPY.cjs');
|
|
76
|
+
require('./package-9n7wd2dT.cjs');
|
|
77
77
|
require('./webPanels-FCgFKvVe.cjs');
|
|
78
|
-
require('./pushNotifications-
|
|
78
|
+
require('./pushNotifications-23YSd-0l.cjs');
|
|
79
79
|
require('./contentLogMetadata-ZSFk_NjQ.cjs');
|
|
80
80
|
require('./previewPath-B0rBdhy1.cjs');
|
|
81
81
|
require('crypto');
|
|
82
|
-
require('./lidState-
|
|
82
|
+
require('./lidState-C9_DoF9i.cjs');
|
|
83
83
|
require('os');
|
|
84
84
|
require('child_process');
|
|
85
85
|
require('node:events');
|
|
86
|
-
require('./registerCommonHandlers-
|
|
86
|
+
require('./registerCommonHandlers-D1MiSfcB.cjs');
|
|
87
87
|
require('util');
|
|
88
88
|
require('fs/promises');
|
|
89
89
|
require('path');
|
|
90
90
|
require('cross-spawn');
|
|
91
|
-
require('./sync-
|
|
91
|
+
require('./sync-Ba8N6xba.cjs');
|
|
92
92
|
require('chalk');
|
|
93
93
|
require('./cliUpdate-DsKXPFYp.cjs');
|
|
94
94
|
require('./processTreeSnapshot-mDbnuojn.cjs');
|
|
95
95
|
require('node:readline');
|
|
96
96
|
require('./manager-HrEj442o.cjs');
|
|
97
97
|
require('@anthropic-ai/sandbox-runtime');
|
|
98
|
-
require('./rateLimitWindows-
|
|
98
|
+
require('./rateLimitWindows-B2Kx6L0S.cjs');
|
|
99
99
|
require('./processTree-CMHWlVse.cjs');
|
|
100
100
|
require('./detectCLI-BuYR_Qxe.cjs');
|
|
101
101
|
require('fs');
|
|
102
|
-
require('./localHappyAgentAuth-
|
|
102
|
+
require('./localHappyAgentAuth-CCjUvOfi.cjs');
|
|
103
103
|
require('./fsMkdir-0K3yENml.cjs');
|
|
104
104
|
require('./types-CRS-srZK.cjs');
|
|
105
105
|
require('url');
|
|
106
|
-
require('./spawnHappyCLI-
|
|
106
|
+
require('./spawnHappyCLI-CF_gLi92.cjs');
|
|
107
107
|
require('./doctorReadiness-Dl6yRQCy.cjs');
|
|
108
108
|
|
|
109
109
|
function getStartedSubagents(state) {
|
|
@@ -1097,6 +1097,13 @@ function unsupportedEffortReason(catalog, model, effort) {
|
|
|
1097
1097
|
if (selected.supportedReasoningEfforts.some((option) => option.reasoningEffort === effort)) return null;
|
|
1098
1098
|
return `Reasoning effort "${effort}" is not supported by ${model ?? "the default model"}. Choose a supported level.`;
|
|
1099
1099
|
}
|
|
1100
|
+
function settleTurnEffort(catalog, model, effort, opts) {
|
|
1101
|
+
const refusal = unsupportedEffortReason(catalog, model, effort);
|
|
1102
|
+
if (!refusal) return { refusal: null, effort, changed: false };
|
|
1103
|
+
const catalogDefault = catalog.find((entry) => model ? entry.model === model : entry.isDefault)?.defaultReasoningEffort ?? void 0;
|
|
1104
|
+
const settled = !unsupportedEffortReason(catalog, model, opts.fallback) ? opts.fallback : catalogDefault && !unsupportedEffortReason(catalog, model, catalogDefault) ? catalogDefault : void 0;
|
|
1105
|
+
return { refusal: opts.explicit ? refusal : null, effort: settled, changed: true };
|
|
1106
|
+
}
|
|
1100
1107
|
|
|
1101
1108
|
function resolveCodexTurnModel(mode, machineDefault) {
|
|
1102
1109
|
if (mode.model) return mode.model;
|
|
@@ -1500,11 +1507,13 @@ async function runCodex(opts) {
|
|
|
1500
1507
|
dangerouslySkipPermissions: initialPermissionMode === "yolo" || initialPermissionMode === "bypassPermissions",
|
|
1501
1508
|
...forkedFromSessionId ? { parentSessionId: forkedFromSessionId } : {},
|
|
1502
1509
|
...forkedFromMessageId ? { forkedFromMessageId } : {},
|
|
1503
|
-
capabilities: [index.PROMPT_QUEUE_CAPABILITY, forkBackfill.FORK_BACKFILL_CAPABILITY, persistence.HIBERNATION_CAPABILITY, sessionLock.AUTO_RESTART_CAPABILITY, index.CODEX_STEER_CAPABILITY, index.PROJECT_SESSION_CAPABILITY, index.CODEX_COMPACT_CAPABILITY]
|
|
1510
|
+
capabilities: [index.PROMPT_QUEUE_CAPABILITY, forkBackfill.FORK_BACKFILL_CAPABILITY, persistence.HIBERNATION_CAPABILITY, sessionLock.AUTO_RESTART_CAPABILITY, index.CODEX_STEER_CAPABILITY, index.PROJECT_SESSION_CAPABILITY, index.CODEX_COMPACT_CAPABILITY, index.RUN_INTENT_CAPABILITY]
|
|
1504
1511
|
});
|
|
1505
1512
|
metadata.attachmentKinds = [...attachmentContent.CLAUDE_ATTACHMENT_KINDS];
|
|
1506
1513
|
metadata.stickyModel = null;
|
|
1507
1514
|
metadata.currentThoughtLevelCode = DEFAULT_CODEX_EFFORT;
|
|
1515
|
+
metadata.modelIntent = null;
|
|
1516
|
+
metadata.effortIntent = null;
|
|
1508
1517
|
const importCodexThreadId = process.env[IMPORT_CODEX_THREAD_ENV];
|
|
1509
1518
|
if (importCodexThreadId) {
|
|
1510
1519
|
metadata.importedFromCodexThreadId = importCodexThreadId;
|
|
@@ -1558,6 +1567,7 @@ async function runCodex(opts) {
|
|
|
1558
1567
|
logger.logger.debug(`[START] Reconnect without server snapshot (${snapshot.reason}); skipping existing messages`);
|
|
1559
1568
|
}
|
|
1560
1569
|
}
|
|
1570
|
+
const resumedEffort = reconnectSeeded && response ? index.restoredEffort(response.metadata, { useReportedLevel: true }) : void 0;
|
|
1561
1571
|
let session;
|
|
1562
1572
|
let permissionHandler;
|
|
1563
1573
|
let client$1;
|
|
@@ -1620,7 +1630,10 @@ async function runCodex(opts) {
|
|
|
1620
1630
|
const heldInput$1 = new heldInput.HeldInput((keys, reason) => session.sendQueueCancelReason(keys, reason));
|
|
1621
1631
|
let currentPermissionMode = initialPermissionMode;
|
|
1622
1632
|
let currentModel = DEFAULT_CODEX_MODEL;
|
|
1623
|
-
let currentEffort = DEFAULT_CODEX_EFFORT;
|
|
1633
|
+
let currentEffort = resumedEffort !== void 0 ? resumedEffort ?? void 0 : DEFAULT_CODEX_EFFORT;
|
|
1634
|
+
let pendingModelReset = false;
|
|
1635
|
+
let lastStartedEffort = currentEffort;
|
|
1636
|
+
const effortJudgeModel = (model, modelReset) => resolveCodexTurnModel({ model, modelReset }, machineDefaultModel) ?? client$1?.threadModel ?? machineDefaultModel;
|
|
1624
1637
|
let currentAppendSystemPrompt = void 0;
|
|
1625
1638
|
let reportedStickyModel = null;
|
|
1626
1639
|
let reportedCurrentModel;
|
|
@@ -1643,8 +1656,6 @@ async function runCodex(opts) {
|
|
|
1643
1656
|
});
|
|
1644
1657
|
};
|
|
1645
1658
|
const resetCurrentModeDefaults = () => {
|
|
1646
|
-
currentEffort = DEFAULT_CODEX_EFFORT;
|
|
1647
|
-
reportModeFacts();
|
|
1648
1659
|
currentAppendSystemPrompt = void 0;
|
|
1649
1660
|
logger.logger.debug("[Codex] Reset current mode defaults after abort");
|
|
1650
1661
|
};
|
|
@@ -1703,9 +1714,13 @@ async function runCodex(opts) {
|
|
|
1703
1714
|
reportModeFacts();
|
|
1704
1715
|
logger.logger.debug("[Codex] Model override updated", logValueMetadata(message.meta.model));
|
|
1705
1716
|
} else {
|
|
1717
|
+
messageModelReset = pendingModelReset && !messageModel;
|
|
1706
1718
|
logger.logger.debug("[Codex] User message received without a model override");
|
|
1707
1719
|
}
|
|
1720
|
+
pendingModelReset = false;
|
|
1708
1721
|
let messageEffort = currentEffort;
|
|
1722
|
+
let effortExplicit = false;
|
|
1723
|
+
let effortRefused = false;
|
|
1709
1724
|
if (message.meta?.hasOwnProperty("effort")) {
|
|
1710
1725
|
const incoming = message.meta.effort;
|
|
1711
1726
|
if (incoming === null || incoming === void 0) {
|
|
@@ -1715,15 +1730,22 @@ async function runCodex(opts) {
|
|
|
1715
1730
|
logger.logger.debug(`[Codex] Effort reset to default`);
|
|
1716
1731
|
} else if (typeof incoming === "string") {
|
|
1717
1732
|
messageEffort = incoming;
|
|
1718
|
-
|
|
1719
|
-
|
|
1720
|
-
|
|
1733
|
+
effortExplicit = true;
|
|
1734
|
+
effortRefused = unsupportedEffortReason(discoveredModels, effortJudgeModel(messageModel, messageModelReset), messageEffort) !== null;
|
|
1735
|
+
if (effortRefused) {
|
|
1736
|
+
logger.logger.debug("[Codex] Effort override refused by the model catalog; sticky level kept", logValueMetadata(incoming));
|
|
1737
|
+
} else {
|
|
1738
|
+
currentEffort = messageEffort;
|
|
1739
|
+
reportModeFacts();
|
|
1740
|
+
logger.logger.debug("[Codex] Valid effort override applied");
|
|
1741
|
+
}
|
|
1721
1742
|
} else {
|
|
1722
1743
|
logger.logger.debug("[Codex] Ignoring invalid effort override", logValueMetadata(incoming));
|
|
1723
1744
|
}
|
|
1724
1745
|
} else {
|
|
1725
1746
|
logger.logger.debug("[Codex] User message received without an effort override");
|
|
1726
1747
|
}
|
|
1748
|
+
defaultPermissionMode.recordRunIntents(session, effortRefused ? defaultPermissionMode.withoutEffort(message.meta) : message.meta);
|
|
1727
1749
|
let messageAppendSystemPrompt = currentAppendSystemPrompt;
|
|
1728
1750
|
if (message.meta?.hasOwnProperty("appendSystemPrompt")) {
|
|
1729
1751
|
messageAppendSystemPrompt = message.meta.appendSystemPrompt || void 0;
|
|
@@ -1737,7 +1759,8 @@ async function runCodex(opts) {
|
|
|
1737
1759
|
model: messageModel,
|
|
1738
1760
|
...messageModelReset ? { modelReset: true } : {},
|
|
1739
1761
|
appendSystemPrompt: messageAppendSystemPrompt,
|
|
1740
|
-
effort: messageEffort
|
|
1762
|
+
effort: messageEffort,
|
|
1763
|
+
...effortExplicit ? { effortExplicit: true } : {}
|
|
1741
1764
|
};
|
|
1742
1765
|
if (message.meta?.delivery === "steer" && !isCodexControlText(message.content.text)) {
|
|
1743
1766
|
if (await steerIntoRunningTurn(steerDeps, message.content.text, attachments, message.localKey)) {
|
|
@@ -1884,6 +1907,24 @@ async function runCodex(opts) {
|
|
|
1884
1907
|
}
|
|
1885
1908
|
});
|
|
1886
1909
|
session.rpcHandlerManager.registerHandler("abort", () => handleAbort("user"));
|
|
1910
|
+
defaultPermissionMode.registerRunIntentRpc(session.rpcHandlerManager, {
|
|
1911
|
+
getMetadata: () => session.getMetadata(),
|
|
1912
|
+
updateMetadata: (handler) => session.updateMetadata(handler)
|
|
1913
|
+
}, (request) => {
|
|
1914
|
+
if (Object.prototype.hasOwnProperty.call(request, "model")) {
|
|
1915
|
+
currentModel = request.model || void 0;
|
|
1916
|
+
pendingModelReset = !currentModel;
|
|
1917
|
+
}
|
|
1918
|
+
let effortRefused = false;
|
|
1919
|
+
if (Object.prototype.hasOwnProperty.call(request, "effort")) {
|
|
1920
|
+
const effort = request.effort || void 0;
|
|
1921
|
+
effortRefused = unsupportedEffortReason(discoveredModels, effortJudgeModel(currentModel, pendingModelReset), effort) !== null;
|
|
1922
|
+
if (!effortRefused) currentEffort = effort;
|
|
1923
|
+
}
|
|
1924
|
+
if (client$1) reportModeFacts();
|
|
1925
|
+
logger.logger.debug("[Codex] Run intent set", logValueMetadata(request.model ?? null));
|
|
1926
|
+
return { effortRefused };
|
|
1927
|
+
});
|
|
1887
1928
|
const disposeTermination = registerKillSessionHandler.registerKillSessionHandler(session.rpcHandlerManager, () => handleKillSession("archive"), session, { processSignals: true, onSignal: () => handleKillSession("offline") });
|
|
1888
1929
|
const messageBuffer = new sessionExitLifecycle.MessageBuffer();
|
|
1889
1930
|
const hasTTY = process.stdout.isTTY && process.stdin.isTTY;
|
|
@@ -2297,9 +2338,23 @@ async function runCodex(opts) {
|
|
|
2297
2338
|
sandboxManagedByHappy
|
|
2298
2339
|
);
|
|
2299
2340
|
const turnModel = resolveCodexTurnModel(message.mode, machineDefaultModel);
|
|
2300
|
-
const
|
|
2301
|
-
|
|
2302
|
-
|
|
2341
|
+
const turnEffort = settleTurnEffort(discoveredModels, turnModel ?? client$1.threadModel ?? machineDefaultModel, message.mode.effort, {
|
|
2342
|
+
explicit: message.mode.effortExplicit === true,
|
|
2343
|
+
fallback: lastStartedEffort
|
|
2344
|
+
});
|
|
2345
|
+
if (turnEffort.changed) {
|
|
2346
|
+
const refused = message.mode.effort;
|
|
2347
|
+
if (currentEffort === refused) {
|
|
2348
|
+
currentEffort = turnEffort.effort;
|
|
2349
|
+
reportModeFacts();
|
|
2350
|
+
}
|
|
2351
|
+
if (index.readEffortIntent(session.getMetadata()?.effortIntent) === refused) {
|
|
2352
|
+
defaultPermissionMode.recordRunIntents(session, { effort: turnEffort.effort ?? null, effortIntent: turnEffort.effort ?? index.EFFORT_INTENT_AUTO });
|
|
2353
|
+
}
|
|
2354
|
+
logger.logger.debug("[Codex] Refused effort settled", logValueMetadata(turnEffort.effort ?? null));
|
|
2355
|
+
}
|
|
2356
|
+
if (turnEffort.refusal) {
|
|
2357
|
+
throw new Error(turnEffort.refusal);
|
|
2303
2358
|
}
|
|
2304
2359
|
if (!client$1.hasActiveThread()) {
|
|
2305
2360
|
const startedThread = await client$1.startThread({
|
|
@@ -2337,8 +2392,11 @@ async function runCodex(opts) {
|
|
|
2337
2392
|
model: turnModel,
|
|
2338
2393
|
approvalPolicy: executionPolicy.approvalPolicy,
|
|
2339
2394
|
sandbox: executionPolicy.sandbox,
|
|
2340
|
-
effort:
|
|
2341
|
-
onTurnStarted: () =>
|
|
2395
|
+
effort: turnEffort.effort,
|
|
2396
|
+
onTurnStarted: () => {
|
|
2397
|
+
lastStartedEffort = turnEffort.effort;
|
|
2398
|
+
heldInput$1.delivered();
|
|
2399
|
+
}
|
|
2342
2400
|
});
|
|
2343
2401
|
reportModeFacts();
|
|
2344
2402
|
first = false;
|