very-happy-cli 0.2.179 → 0.2.181
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-DFipFF7-.cjs → AcpBackend-CgHb_ya5.cjs} +3 -3
- package/dist/{AcpBackend-CHp3y7cb.mjs → AcpBackend-DZGCSuXF.mjs} +3 -3
- package/dist/{AcpSessionManager-0zpvRJXc.cjs → AcpSessionManager-CacC2EVn.cjs} +1 -1
- package/dist/{AcpSessionManager-d2-rKWWa.mjs → AcpSessionManager-DwuPzWBh.mjs} +1 -1
- package/dist/{BasePermissionHandler-CH3zuEkA.cjs → BasePermissionHandler-DCP8ZEB4.cjs} +1 -1
- package/dist/{BasePermissionHandler-DdZBYIR4.mjs → BasePermissionHandler-Uo-GUjbb.mjs} +1 -1
- package/dist/{acpSessionResume-DTGmAPLt.mjs → acpSessionResume-9OLTD6kT.mjs} +1 -1
- package/dist/{acpSessionResume-oiCBnAVA.cjs → acpSessionResume-BaVMD80f.cjs} +1 -1
- package/dist/{agentHome-CghLvL_1.mjs → agentHome-B1BsKeqD.mjs} +4 -4
- package/dist/{agentHome-BWcz8mz0.cjs → agentHome-BtUmGcPX.cjs} +4 -4
- package/dist/{api-Cmjfr8Z7.cjs → api-COHFAkb_.cjs} +20 -12
- package/dist/{api-CzwFpJQc.mjs → api-Dr3wXL_7.mjs} +21 -13
- package/dist/{apiMachine-DJkTEiqy.mjs → apiMachine-CHEzPQdS.mjs} +73 -32
- package/dist/{apiMachine-G6OogT08.cjs → apiMachine-D8H7CXaz.cjs} +75 -34
- package/dist/{attachmentContent-B2os4HbA.mjs → attachmentContent-1YwtKgWl.mjs} +2 -2
- package/dist/{attachmentContent-Bo0UAsSu.cjs → attachmentContent-mIhbtRKl.cjs} +2 -2
- package/dist/{auth-DMX0xPNK.mjs → auth-CbZkcMAb.mjs} +8 -8
- package/dist/{auth-D6bBUwZa.cjs → auth-CgQP7d0q.cjs} +5 -5
- package/dist/{auth-BS6PaOOG.mjs → auth-DZsthtSk.mjs} +5 -5
- package/dist/{auth-HEhRaNgL.cjs → auth-Fg8fLadK.cjs} +8 -8
- package/dist/{auto-C6I55iOh.cjs → auto-BB7kqSh5.cjs} +19 -19
- package/dist/{auto-Cl1SEDcD.mjs → auto-_T-Ud-z5.mjs} +19 -19
- package/dist/{backgroundTaskActivity-BVwJBl02.mjs → backgroundTaskActivity-8PdPxrvy.mjs} +1 -1
- package/dist/{bootstrap-iuyufnp3.mjs → bootstrap-B6EkZh4u.mjs} +2 -2
- package/dist/{bootstrap-exVucYav.cjs → bootstrap-CYtOtbi7.cjs} +2 -2
- package/dist/{browser-CSYum7xH.mjs → browser-C2qhUHSE.mjs} +1 -1
- package/dist/{browser-BohJK12g.cjs → browser-DjNNQQk2.cjs} +1 -1
- package/dist/{claudeCliPath-U4HHmV4r.cjs → claudeCliPath-GaP3UUz1.cjs} +1 -1
- package/dist/{claudeLocal-Dq_R3Ax_.mjs → claudeLocal-BAFjWhZ8.mjs} +6 -6
- package/dist/{claudeLocal-re4yjSTx.cjs → claudeLocal-O_w7-fBh.cjs} +8 -8
- package/dist/{claudeLocalLauncher-CN67lN7-.mjs → claudeLocalLauncher-CWn30LZR.mjs} +11 -11
- package/dist/{claudeLocalLauncher-B4hJHpCA.cjs → claudeLocalLauncher-Df3zg1q0.cjs} +13 -13
- package/dist/{claudeSessionFork-BihfD0Ik.mjs → claudeSessionFork-2ZkSTOGn.mjs} +1 -1
- package/dist/{claudeSessionFork-DiSMYerV.cjs → claudeSessionFork-pwcKqB-e.cjs} +1 -1
- package/dist/{client-BhoEBnuN.mjs → client-BKyU66lg.mjs} +2 -2
- package/dist/{client-BKcK1Bi-.cjs → client-CUO3ItoB.cjs} +34 -8
- package/dist/{client-wo9nbxuf.mjs → client-CXOnzuOy.mjs} +2 -2
- package/dist/{client-ZjOsn6nZ.cjs → client-DWs6k041.cjs} +2 -2
- package/dist/{client-CuVdN6PP.cjs → client-D_U2VjO3.cjs} +2 -2
- package/dist/{client-DuTDwWSQ.mjs → client-DsQcxVUV.mjs} +34 -9
- package/dist/codex/happyMcpStdioBridge.cjs +17 -17
- package/dist/codex/happyMcpStdioBridge.mjs +18 -18
- package/dist/{codexAppServerClient-Dt5zxrun.cjs → codexAppServerClient-BRX3JZ_5.cjs} +3 -3
- package/dist/{codexAppServerClient-BK3zra_1.mjs → codexAppServerClient-C3JO3pwM.mjs} +3 -3
- package/dist/{codexCommand-B6pY7CMh.mjs → codexCommand-BZIAAqKS.mjs} +59 -51
- package/dist/{codexCommand-CAZ1SLjg.cjs → codexCommand-dKOc5iQl.cjs} +85 -77
- package/dist/{codexTermination-DmGbHxcD.cjs → codexTermination-BVR9HeVI.cjs} +7 -2
- package/dist/{codexTermination-Cd1Eon_4.mjs → codexTermination-ztFkwHrG.mjs} +7 -2
- package/dist/{config-2oMG_fEI.mjs → config-NbHjx8ge.mjs} +3 -3
- package/dist/{config-B0uK6K7n.cjs → config-cftYxLC7.cjs} +26 -26
- package/dist/{configuration-WMi4idBB.mjs → configuration-BPrfb17M.mjs} +1 -1
- package/dist/{configuration-CMHZnp6G.cjs → configuration-C8JgseHy.cjs} +1 -1
- package/dist/{connect-uaglGrde.cjs → connect-Br8VMrK1.cjs} +27 -27
- package/dist/{connect-BLVHhHzA.mjs → connect-CLD1ai0k.mjs} +14 -14
- package/dist/{context-DXzU5bFM.cjs → context-D1lgQTJC.cjs} +1 -1
- package/dist/{context-DploEcoN.mjs → context-_YGq8xdH.mjs} +1 -1
- package/dist/{controlClient-BWUJrj3t.mjs → controlClient-CkNpT5zS.mjs} +4 -4
- package/dist/{controlClient-C-5qCt8W.cjs → controlClient-D68Zj7Q-.cjs} +3 -3
- package/dist/{createSessionMetadata-3uXrJgOW.mjs → createSessionMetadata-3WAj3_xl.mjs} +2 -2
- package/dist/{createSessionMetadata-BkIzHALd.cjs → createSessionMetadata-DNIbKLHg.cjs} +3 -3
- package/dist/{defaultPermissionMode-pS3vmiSg.cjs → defaultPermissionMode-BmvjP32v.cjs} +2 -2
- package/dist/{defaultPermissionMode-BzxLh20a.mjs → defaultPermissionMode-DXMznl8v.mjs} +2 -2
- package/dist/{detectCLI-DR9ZaN6B.cjs → detectCLI-BuYR_Qxe.cjs} +4 -4
- package/dist/{deterministicJson-B8z2GPi9.cjs → deterministicJson-BS7D7URE.cjs} +89 -24
- package/dist/{deterministicJson-D_whDMFd.mjs → deterministicJson-BcBIKKf1.mjs} +87 -24
- package/dist/{doctor-Br1Kcy2J.cjs → doctor-Be7zC0AF.cjs} +10 -9
- package/dist/{doctor-CmtSsR2-.mjs → doctor-CoOaPq6w.mjs} +8 -8
- package/dist/{doctorReadiness-BCZGcN0a.cjs → doctorReadiness-Dl6yRQCy.cjs} +1 -1
- package/dist/{downloadTarget-BoNwTIH_.mjs → downloadTarget-CeaAXdJj.mjs} +6 -6
- package/dist/{downloadTarget-BQJK_6oH.cjs → downloadTarget-LyOiucn_.cjs} +6 -6
- package/dist/{ensureDaemonRunning-Czo9IHJQ.mjs → ensureDaemonRunning--98j7-17.mjs} +5 -5
- package/dist/{ensureDaemonRunning-BRUmsq6J.cjs → ensureDaemonRunning-B8z37VKD.cjs} +6 -6
- package/dist/fileStore-5qpetZS0.mjs +146 -0
- package/dist/fileStore-7qhnbs6N.cjs +152 -0
- package/dist/{handleResumeCommand-tKD_Hpxc.cjs → handleResumeCommand-BFZlrFVH.cjs} +7 -7
- package/dist/{handleResumeCommand-C8thKjqf.mjs → handleResumeCommand-gO8I4keP.mjs} +6 -6
- package/dist/{index-DMqDMT1Q.cjs → index-B5PXbZjW.cjs} +80 -62
- package/dist/{index-D09T1m8Y.cjs → index-BRMq9gOe.cjs} +3 -3
- package/dist/{index-B0UjHlAe.cjs → index-BkluinoS.cjs} +4 -4
- package/dist/{index-CdQI0C9p.mjs → index-CO0n9ue6.mjs} +4 -4
- package/dist/{index-DPOa4NhL.mjs → index-CeRXrGnH.mjs} +41 -6
- package/dist/{index-C6O2vVjm.cjs → index-Df2eHm3O.cjs} +42 -6
- package/dist/{index-BTxHphpV.mjs → index-DneHoQXf.mjs} +80 -62
- package/dist/{index-BiyC7cZ3.mjs → index-WUj3954m.mjs} +4 -4
- package/dist/{index-D3bidoG8.mjs → index-hQ8LP1C2.mjs} +3 -3
- package/dist/{index-CUuc6iCn.cjs → index-jF2t3ACW.cjs} +4 -4
- package/dist/index.cjs +2 -2
- package/dist/index.mjs +2 -2
- package/dist/{install-BX3lv3NO.mjs → install-D0inLCv-.mjs} +1 -1
- package/dist/{install-BXvf2E3o.cjs → install-D2NCbeJ-.cjs} +1 -1
- package/dist/{install-hnve_9vq.mjs → install-DkYFiVK4.mjs} +3 -3
- package/dist/{install-CYRZxS87.cjs → install-FqkSUjPC.cjs} +7 -7
- package/dist/{installPiTools-BKnXjrVu.cjs → installPiTools-CL_axh_6.cjs} +1 -1
- package/dist/{installTerminalHooks-BQZbvxsZ.cjs → installTerminalHooks-BETLKAtd.cjs} +3 -3
- package/dist/lib.cjs +13 -13
- package/dist/lib.d.cts +216 -2
- package/dist/lib.d.mts +216 -2
- package/dist/lib.mjs +13 -13
- package/dist/{lidState-Bb8fgXg3.mjs → lidState-DghbfRbr.mjs} +1 -1
- package/dist/{lidState-Dv2wwFTj.cjs → lidState-x8cJ8J_9.cjs} +1 -1
- package/dist/{localHappyAgentAuth-DjYvkXvV.cjs → localHappyAgentAuth-DZ2kb9uq.cjs} +1 -1
- package/dist/{localHappyAgentAuth-NEU7fax7.mjs → localHappyAgentAuth-IKmeRpuQ.mjs} +1 -1
- package/dist/{logger-C1GWx3gi.cjs → logger-DgBwUSgS.cjs} +2 -2
- package/dist/{logger-BtVhHnD8.mjs → logger-LFr8iPgl.mjs} +2 -2
- package/dist/machineMetadata-BglCsfvf.mjs +75 -0
- package/dist/machineMetadata-DB03ez4K.cjs +87 -0
- package/dist/{main-CWhSsbtU.cjs → main-YQ-Vkakw.cjs} +99 -132
- package/dist/{main-B2LWV8DI.mjs → main-_1LSzlLv.mjs} +93 -126
- package/dist/{mcp-CARUsXHV.cjs → mcp-BIY80jSc.cjs} +15 -15
- package/dist/{mcp-ext92q3Y.mjs → mcp-Csj-mT5Y.mjs} +15 -15
- package/dist/{mirrorProtocol-DEy2g1CB.cjs → mirrorProtocol-BphKIAK9.cjs} +15 -6
- package/dist/{mirrorProtocol-BwYibqry.mjs → mirrorProtocol-CAxOMBkb.mjs} +15 -6
- package/dist/{package-BPPebGQF.mjs → package-DYGwlmXl.mjs} +9 -8
- package/dist/{package-SgqTYsjn.cjs → package-NoD8QOOM.cjs} +9 -8
- package/dist/{panels-BZ0_Tt7B.mjs → panels-B8zRm7_d.mjs} +5 -5
- package/dist/{panels-D1c7q2dD.cjs → panels-DYEc1NyQ.cjs} +5 -5
- package/dist/{peerTools-CWKzcQ7u.mjs → peerTools-CK3JYu1k.mjs} +5 -5
- package/dist/{peerTools-DRQETXaz.cjs → peerTools-CP-x-Peu.cjs} +5 -5
- package/dist/{persistence-BegE7NPa.cjs → persistence-BY-D00wT.cjs} +2 -2
- package/dist/{persistence-Cr-wutZ4.mjs → persistence-D2Djrf7t.mjs} +2 -2
- package/dist/pi-CqyoZMjI.mjs +380 -0
- package/dist/pi-DlsrPCTa.cjs +400 -0
- package/dist/{piRunnerArgs-DwvM_yWA.mjs → piRunnerArgs-IZLoL7TG.mjs} +1 -1
- package/dist/{piRunnerArgs-Cs-378Vz.cjs → piRunnerArgs-gxLYIZH4.cjs} +1 -1
- package/dist/{piRuntime-Bue5mnlc.mjs → piRuntime-D7Y4oHVL.mjs} +2 -2
- package/dist/{piRuntime-BG-1td_n.cjs → piRuntime-o5L8uX-W.cjs} +2 -2
- package/dist/{piTerminal-G4z-xVyy.cjs → piTerminal-C_-JDkLN.cjs} +18 -18
- package/dist/{piTerminal-B5x9X5yV.mjs → piTerminal-Kphx8Uhw.mjs} +18 -18
- package/dist/projectPath-C3ioB4Bu.cjs +13 -0
- package/dist/{prompt-lgF9IE82.cjs → prompt-Bof2aQkI.cjs} +7 -2
- package/dist/{prompt-BOouDaTM.mjs → prompt-QHuFx9j6.mjs} +7 -2
- package/dist/{pushNotifications-DaLQUyi0.cjs → pushNotifications-BXoOSq_G.cjs} +14 -4
- package/dist/{pushNotifications-BdFjDjQe.mjs → pushNotifications-DXGIhE-A.mjs} +14 -4
- package/dist/{query-DYP_W1wp.mjs → query-CcA6DVZK.mjs} +1 -1
- package/dist/{query-Ctfg-5gy.cjs → query-CdCxzuaB.cjs} +1 -1
- package/dist/{rateLimitWindows-Dj_8voBK.cjs → rateLimitWindows-OpAmdOtC.cjs} +1 -1
- package/dist/{rateLimitWindows-CuEqk_0g.mjs → rateLimitWindows-ZtHZHe-l.mjs} +1 -1
- package/dist/{registerCommonHandlers-Cj084Sg7.cjs → registerCommonHandlers-CRjBoJLK.cjs} +30 -30
- package/dist/{registerCommonHandlers-BAlP7SGc.mjs → registerCommonHandlers-DF6bdDtd.mjs} +2 -2
- package/dist/{registerKillSessionHandler-qMju0ZfF.cjs → registerKillSessionHandler-7fOm6ooh.cjs} +6 -6
- package/dist/{registerKillSessionHandler-PD0jWtQo.mjs → registerKillSessionHandler-DDCKL3wf.mjs} +6 -6
- package/dist/{remoteSessionClient-Bn2qu5C5.mjs → remoteSessionClient-B2POSKFT.mjs} +5 -5
- package/dist/{remoteSessionClient-B7i7MkYV.cjs → remoteSessionClient-CFCn42bs.cjs} +5 -5
- package/dist/{reportProgressTool-gHItlSzz.mjs → reportProgressTool-tPxEvh6x.mjs} +4 -4
- package/dist/{reportProgressTool-CM1JFAHg.cjs → reportProgressTool-th4trcET.cjs} +4 -4
- package/dist/{resources-CvIlkzpP.cjs → resources-BPyN59Iv.cjs} +23 -2
- package/dist/{resources-y9jfyO-_.mjs → resources-CH1iP6Cv.mjs} +22 -3
- package/dist/{run-CNXwIe0A.cjs → run-C_FumCQk.cjs} +2767 -183
- package/dist/{run-BM4TxiyN.mjs → run-cKQBbVi4.mjs} +2762 -178
- package/dist/{runClaude-C_3I8hvR.mjs → runClaude-CYnM6krL.mjs} +34 -28
- package/dist/{runClaude-CWhj2V4Q.cjs → runClaude-z_2YC_aa.cjs} +35 -29
- package/dist/{runClaudeDeps-B81cOKnH.cjs → runClaudeDeps-CLubzWnA.cjs} +59 -122
- package/dist/{runClaudeDeps-QGrOeDe2.mjs → runClaudeDeps-duS06Pb4.mjs} +52 -114
- package/dist/{runGemini-BEdWEZLR.mjs → runGemini-C_Pc2EhH.mjs} +39 -37
- package/dist/{runGemini-CgRLYbt5.cjs → runGemini-vEoXV6qT.cjs} +67 -65
- package/dist/{runOpenClaw-C1NVmzOL.cjs → runOpenClaw-CXJCtMgB.cjs} +20 -20
- package/dist/{runOpenClaw-DdQZAYj1.mjs → runOpenClaw-Cxun1qLC.mjs} +19 -19
- package/dist/{sandbox-nocIjliq.cjs → sandbox-CO46H2tK.cjs} +4 -4
- package/dist/{sandbox-DjQUdCMG.mjs → sandbox-CsvPnTmz.mjs} +4 -4
- package/dist/{selfCheck-DCt4Uzbq.cjs → selfCheck-DIr7Gc0i.cjs} +39 -39
- package/dist/selfCheck-NamtBHVB.mjs +85 -0
- package/dist/{send-Ct7X4pPU.mjs → send-DMoFg6F1.mjs} +9 -9
- package/dist/{send-Dydf_hwZ.cjs → send-X2mfVEyr.cjs} +8 -8
- package/dist/{server-CosABFbd.cjs → server-BwTEdbkr.cjs} +6 -6
- package/dist/{server-DTQGZMxh.mjs → server-CkqQ0sRH.mjs} +4 -4
- package/dist/sessionExitLifecycle-CzkLIgNZ.mjs +142 -0
- package/dist/sessionExitLifecycle-DFltxXU8.cjs +148 -0
- package/dist/{sessionLock-DokGab2R.cjs → sessionLock-CdIRJlHH.cjs} +25 -5
- package/dist/{sessionLock-WYIyaVO4.mjs → sessionLock-JIfwCqMk.mjs} +24 -5
- package/dist/{sessionOps-S-qPBLFf.cjs → sessionOps-DVA-00nR.cjs} +4 -4
- package/dist/{sessionOps-BIGgRube.mjs → sessionOps-DqlftXxe.mjs} +5 -5
- package/dist/{sessionScanner-o5hnMi5e.mjs → sessionScanner-BI0Vo1xT.mjs} +3 -3
- package/dist/{sessionScanner-CIMM2hvZ.cjs → sessionScanner-BMwgGAhY.cjs} +3 -3
- package/dist/{sessions-BJHEZpi2.mjs → sessions-D6IimX7b.mjs} +11 -11
- package/dist/{sessions-JchI1w3z.cjs → sessions-DjgEcHaT.cjs} +10 -10
- package/dist/{setupOfflineReconnection-CNiAt5ZP.cjs → setupOfflineReconnection-CjuCiKY3.cjs} +2 -2
- package/dist/{setupOfflineReconnection-DMiBO2y9.mjs → setupOfflineReconnection-DgJK_4m1.mjs} +2 -2
- package/dist/{spawn-DgvUNYEo.mjs → spawn-Dvzy-tzc.mjs} +15 -15
- package/dist/{spawn-6PD7nnoC.cjs → spawn-rhF28shY.cjs} +15 -15
- package/dist/{spawnAgents-P006Hqio.mjs → spawnAgents-CCnlq-FI.mjs} +1 -1
- package/dist/{spawnAgents-DsXgegHM.cjs → spawnAgents-iwuqrgR9.cjs} +1 -1
- package/dist/{spawnHappyCLI-Dywezwk6.cjs → spawnHappyCLI-DnKmIsEt.cjs} +2 -2
- package/dist/{spawnHappyCLI-CCOrEtf9.mjs → spawnHappyCLI-Dq3LLXLb.mjs} +1 -1
- package/dist/{specialCommands-DPcd9edP.mjs → specialCommands-CcyZ1hGA.mjs} +3 -3
- package/dist/{specialCommands-QxPpkGKf.cjs → specialCommands-Zwr2C6A2.cjs} +3 -3
- package/dist/{startFileWatcher-DghDOCO4.mjs → startFileWatcher-4thXDK9d.mjs} +1 -1
- package/dist/{startFileWatcher-RECH5qY8.cjs → startFileWatcher-K6hJSyiR.cjs} +1 -1
- package/dist/startupSessionCreate-BfByJ16A.mjs +24 -0
- package/dist/startupSessionCreate-CKEbq0tL.cjs +26 -0
- package/dist/{streamRelay-DlUWKUpo.cjs → streamRelay-Gy8Xfnon.cjs} +1 -1
- package/dist/{streamRelay-DMV_TXfS.mjs → streamRelay-LcDvyEjK.mjs} +1 -1
- package/dist/{sync-D23jbqVa.cjs → sync-1hQ5KHpL.cjs} +1 -1
- package/dist/{sync-CSe0Rf45.mjs → sync-DO-2PU45.mjs} +1 -1
- package/dist/{systemPrompt-CFNKnh65.mjs → systemPrompt-BctLfMZs.mjs} +3 -3
- package/dist/{systemPrompt-BOy4kU4P.cjs → systemPrompt-Dj7pgkMK.cjs} +3 -3
- package/dist/{teams-DyY669f0.mjs → teams-Bu8YeOoF.mjs} +8 -8
- package/dist/{teams-Ov2BDT-A.cjs → teams-uQxUlyyz.cjs} +8 -8
- package/dist/{time-65DcU6Jx.mjs → time-BcoJaG8E.mjs} +1 -1
- package/dist/{time-CrwIMHta.cjs → time-nqa9shu8.cjs} +1 -1
- package/dist/{titleGenerator-CS_rh2_J.cjs → titleGenerator-D09XyYYG.cjs} +3 -3
- package/dist/{titleGenerator-CiAMxf7s.mjs → titleGenerator-D5r06bhf.mjs} +1 -1
- package/dist/{todo-KY-okGii.cjs → todo-CCOnL7pT.cjs} +6 -6
- package/dist/{todo-BDONw0sK.mjs → todo-D1q8146q.mjs} +6 -6
- package/dist/{tools-D8-PnZEG.mjs → tools-D2E--n1x.mjs} +3 -3
- package/dist/{tools-_w52DZG6.cjs → tools-DiCXnAC5.cjs} +3 -3
- package/dist/{uninstall-8vnLN-IE.cjs → uninstall-BrNwwwSD.cjs} +6 -6
- package/dist/{uninstall-_fjGRP9b.mjs → uninstall-CtwXi1Rt.mjs} +3 -3
- package/package.json +9 -8
- package/dist/machineMetadata-CLHS9sv_.cjs +0 -42
- package/dist/machineMetadata-D-g--oU_.mjs +0 -39
- package/dist/messageBuffer-BWlGgR3A.mjs +0 -71
- package/dist/messageBuffer-fJMH6uY8.cjs +0 -73
- package/dist/projectPath-ChLhdOyt.cjs +0 -13
- package/dist/selfCheck-CjCF4C3v.mjs +0 -85
|
@@ -1,101 +1,104 @@
|
|
|
1
|
-
import { a as authAndSetupMachineIfNeeded } from './auth-
|
|
2
|
-
import { d as createEnvelope, f 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-DZsthtSk.mjs';
|
|
2
|
+
import { d as createEnvelope, f as BUILTIN_TODO_DISCOVERY, P as PROMPT_QUEUE_CAPABILITY, C as CODEX_STEER_CAPABILITY, a as PROJECT_SESSION_CAPABILITY } from './index-CeRXrGnH.mjs';
|
|
3
|
+
import { h as hashObject, s as startHappyServer, c as createProjectInjector } from './deterministicJson-BcBIKKf1.mjs';
|
|
4
|
+
import { s as sharedProjectsClient } from './client-BKyU66lg.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
9
|
import { r as registerAgentAttachmentDownloads } from './agentAttachments-M_B5qEF2.mjs';
|
|
10
|
-
import { C as CLAUDE_ATTACHMENT_KINDS, a as stageClaudeAttachments, b as appendStagedAttachmentsToPrompt } from './attachmentContent-
|
|
10
|
+
import { C as CLAUDE_ATTACHMENT_KINDS, a as stageClaudeAttachments, b as appendStagedAttachmentsToPrompt } from './attachmentContent-1YwtKgWl.mjs';
|
|
11
11
|
import { useStdout, useInput, Box, Text, render } from 'ink';
|
|
12
|
-
import { c as claimSessionOrExit, a as applyServerSnapshot, b as
|
|
12
|
+
import { c as claimSessionOrExit, a as applyServerSnapshot, b as applyReconnectReplay, w as withoutServerSnapshot, m as mergeReconnectMetadata, e as exitCursorStamp } from './sessionLock-JIfwCqMk.mjs';
|
|
13
13
|
import React, { useState, useRef, useEffect, useCallback } from 'react';
|
|
14
|
-
import { c as connectionState, A as ApiClient } from './api-
|
|
15
|
-
import { C as CodexAppServerClient } from './codexAppServerClient-
|
|
16
|
-
import { p as parseSpecialCommand, w as wrapperRateLimitReporter } from './specialCommands-
|
|
17
|
-
import { l as logger } from './logger-
|
|
18
|
-
import { B as BasePermissionHandler } from './BasePermissionHandler-
|
|
19
|
-
import { B as BaseReasoningProcessor, s as settleCodexSession } from './codexTermination-
|
|
14
|
+
import { c as connectionState, A as ApiClient } from './api-Dr3wXL_7.mjs';
|
|
15
|
+
import { C as CodexAppServerClient } from './codexAppServerClient-C3JO3pwM.mjs';
|
|
16
|
+
import { p as parseSpecialCommand, w as wrapperRateLimitReporter } from './specialCommands-CcyZ1hGA.mjs';
|
|
17
|
+
import { l as logger } from './logger-LFr8iPgl.mjs';
|
|
18
|
+
import { B as BasePermissionHandler } from './BasePermissionHandler-Uo-GUjbb.mjs';
|
|
19
|
+
import { B as BaseReasoningProcessor, s as settleCodexSession } from './codexTermination-ztFkwHrG.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-D2Djrf7t.mjs';
|
|
22
|
+
import { g as getInitialMachineMetadata } from './machineMetadata-BglCsfvf.mjs';
|
|
23
|
+
import { c as configuration } from './configuration-BPrfb17M.mjs';
|
|
24
|
+
import { M as MessageQueue2, r as registerKillSessionHandler } from './registerKillSessionHandler-DDCKL3wf.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-
|
|
28
|
-
import { M as MessageBuffer } from './
|
|
29
|
-
import { n as notifyDaemonSessionStarted, j 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-
|
|
27
|
+
import { c as createSessionMetadata } from './createSessionMetadata-3WAj3_xl.mjs';
|
|
28
|
+
import { M as MessageBuffer } from './sessionExitLifecycle-CzkLIgNZ.mjs';
|
|
29
|
+
import { n as notifyDaemonSessionStarted, j as reportSessionEditToDaemon, c as checkDaemonHibernation } from './controlClient-CkNpT5zS.mjs';
|
|
30
|
+
import { a as HibernationExitLatch, H as HibernationProbe, c as commitHibernation, b as DEFAULT_CODEX_PERMISSION_MODE } from './defaultPermissionMode-DXMznl8v.mjs';
|
|
31
31
|
import { d as decodeBase64, e as encodeBase64 } from './authRelay-DhQhkBvX.mjs';
|
|
32
|
-
import { s as setupOfflineReconnection } from './setupOfflineReconnection-
|
|
32
|
+
import { s as setupOfflineReconnection } from './setupOfflineReconnection-DgJK_4m1.mjs';
|
|
33
|
+
import { c as createSessionForStartup } from './startupSessionCreate-BfByJ16A.mjs';
|
|
33
34
|
import { t as trimIdent } from './trimIdent-BAjmv_TG.mjs';
|
|
34
35
|
import { C as CHANGE_TITLE_INSTRUCTION } from './constants-BC4St0xd.mjs';
|
|
35
36
|
import { E as EditReportThrottle, a as extractCodexPatchPaths } from './editPaths-BVfS_FFL.mjs';
|
|
36
|
-
import { a as extractNoSandboxFlag, e as ensureDaemonRunning } from './ensureDaemonRunning-
|
|
37
|
+
import { a as extractNoSandboxFlag, e as ensureDaemonRunning } from './ensureDaemonRunning--98j7-17.mjs';
|
|
37
38
|
import 'tweetnacl';
|
|
38
39
|
import 'axios';
|
|
39
|
-
import './time-
|
|
40
|
-
import './browser-
|
|
40
|
+
import './time-BcoJaG8E.mjs';
|
|
41
|
+
import './browser-C2qhUHSE.mjs';
|
|
41
42
|
import 'open';
|
|
42
43
|
import 'zod';
|
|
43
|
-
import './prompt-
|
|
44
|
-
import './reportProgressTool-
|
|
45
|
-
import './client-
|
|
44
|
+
import './prompt-QHuFx9j6.mjs';
|
|
45
|
+
import './reportProgressTool-tPxEvh6x.mjs';
|
|
46
|
+
import './client-CXOnzuOy.mjs';
|
|
46
47
|
import './precheckCompat-DeEbilbr.mjs';
|
|
47
48
|
import './agentGuidance-BDYt2Qy2.mjs';
|
|
48
49
|
import 'node:fs';
|
|
49
|
-
import './client-DuTDwWSQ.mjs';
|
|
50
|
-
import './context-DploEcoN.mjs';
|
|
51
|
-
import './sessionOps-BIGgRube.mjs';
|
|
52
|
-
import 'socket.io-client';
|
|
53
|
-
import './backgroundTaskActivity-BVwJBl02.mjs';
|
|
54
|
-
import './resources-y9jfyO-_.mjs';
|
|
55
|
-
import './tools-D8-PnZEG.mjs';
|
|
56
|
-
import './peerTools-CWKzcQ7u.mjs';
|
|
57
50
|
import 'node:os';
|
|
51
|
+
import './pi-CqyoZMjI.mjs';
|
|
52
|
+
import './fileStore-5qpetZS0.mjs';
|
|
53
|
+
import './client-DsQcxVUV.mjs';
|
|
54
|
+
import './context-_YGq8xdH.mjs';
|
|
55
|
+
import './sessionOps-DqlftXxe.mjs';
|
|
56
|
+
import 'socket.io-client';
|
|
57
|
+
import './backgroundTaskActivity-8PdPxrvy.mjs';
|
|
58
|
+
import './resources-CH1iP6Cv.mjs';
|
|
59
|
+
import './tools-D2E--n1x.mjs';
|
|
60
|
+
import './peerTools-CK3JYu1k.mjs';
|
|
58
61
|
import './ids-DU6sLx4C.mjs';
|
|
59
|
-
import './remoteSessionClient-
|
|
62
|
+
import './remoteSessionClient-B2POSKFT.mjs';
|
|
60
63
|
import '@modelcontextprotocol/sdk/server/mcp.js';
|
|
61
64
|
import 'node:http';
|
|
62
65
|
import '@modelcontextprotocol/sdk/server/streamableHttp.js';
|
|
63
66
|
import './limits-DIo7rEBR.mjs';
|
|
64
|
-
import './downloadTarget-
|
|
67
|
+
import './downloadTarget-CeaAXdJj.mjs';
|
|
65
68
|
import './terminals-Dlg0x3nY.mjs';
|
|
66
69
|
import './terminalTitleSuggest-CeKsX_V6.mjs';
|
|
67
70
|
import './tmuxSocket-B8Yx20sT.mjs';
|
|
68
|
-
import './bootstrap-
|
|
69
|
-
import './package-
|
|
71
|
+
import './bootstrap-B6EkZh4u.mjs';
|
|
72
|
+
import './package-DYGwlmXl.mjs';
|
|
70
73
|
import './webPanels-B2_C2-3g.mjs';
|
|
71
|
-
import './pushNotifications-
|
|
74
|
+
import './pushNotifications-DXGIhE-A.mjs';
|
|
72
75
|
import './contentLogMetadata-BlWI0egu.mjs';
|
|
73
76
|
import './previewPath-CXN4Vag0.mjs';
|
|
74
77
|
import 'crypto';
|
|
75
78
|
import './processTreeSnapshot-CuLJDNC-.mjs';
|
|
76
|
-
import './lidState-
|
|
79
|
+
import './lidState-DghbfRbr.mjs';
|
|
77
80
|
import 'os';
|
|
78
81
|
import 'child_process';
|
|
79
82
|
import 'node:events';
|
|
80
|
-
import './registerCommonHandlers-
|
|
83
|
+
import './registerCommonHandlers-DF6bdDtd.mjs';
|
|
81
84
|
import 'util';
|
|
82
85
|
import 'fs/promises';
|
|
83
86
|
import 'path';
|
|
84
87
|
import 'cross-spawn';
|
|
85
|
-
import './sync-
|
|
88
|
+
import './sync-DO-2PU45.mjs';
|
|
86
89
|
import 'chalk';
|
|
87
90
|
import 'node:readline';
|
|
88
91
|
import './manager-BEsI4qt3.mjs';
|
|
89
92
|
import '@anthropic-ai/sandbox-runtime';
|
|
90
|
-
import './rateLimitWindows-
|
|
93
|
+
import './rateLimitWindows-ZtHZHe-l.mjs';
|
|
91
94
|
import './processTree-CP5IvQ2Z.mjs';
|
|
92
95
|
import 'node:util';
|
|
93
96
|
import './detectCLI-CSGMlV51.mjs';
|
|
94
97
|
import 'fs';
|
|
95
|
-
import './localHappyAgentAuth-
|
|
98
|
+
import './localHappyAgentAuth-IKmeRpuQ.mjs';
|
|
96
99
|
import './types-CkqAACXx.mjs';
|
|
97
100
|
import 'url';
|
|
98
|
-
import './spawnHappyCLI-
|
|
101
|
+
import './spawnHappyCLI-Dq3LLXLb.mjs';
|
|
99
102
|
import './doctorReadiness-C208SMN9.mjs';
|
|
100
103
|
|
|
101
104
|
function getStartedSubagents(state) {
|
|
@@ -1427,7 +1430,7 @@ async function runCodex(opts) {
|
|
|
1427
1430
|
agentStateVersion: parseInt(reconnectAgentStateVersion || "0", 10)
|
|
1428
1431
|
};
|
|
1429
1432
|
} else {
|
|
1430
|
-
response = await api.getOrCreateSession({ tag: sessionTag, metadata, state });
|
|
1433
|
+
response = await createSessionForStartup(() => api.getOrCreateSession({ tag: sessionTag, metadata, state }), { startedBy: opts.startedBy, log: (m) => logger.debug(m) });
|
|
1431
1434
|
}
|
|
1432
1435
|
if (response) {
|
|
1433
1436
|
await claimSessionOrExit(response.id, { takeover: !!reconnectSessionId, flavor: "codex" });
|
|
@@ -1437,15 +1440,18 @@ async function runCodex(opts) {
|
|
|
1437
1440
|
}
|
|
1438
1441
|
let reconnectSeeded = false;
|
|
1439
1442
|
let wakingFromHibernation = false;
|
|
1443
|
+
let reconnectReplay = null;
|
|
1440
1444
|
if (reconnectSessionId && response) {
|
|
1441
1445
|
const snapshot = await api.getSession(response.id, response.encryptionKey, response.encryptionVariant);
|
|
1442
1446
|
if (snapshot.ok) {
|
|
1443
1447
|
response = applyServerSnapshot(response, snapshot.session);
|
|
1444
1448
|
reconnectSeeded = true;
|
|
1445
1449
|
logger.debug(`[START] Reconnect seeded from server: seq=${snapshot.session.seq} metadataVersion=${snapshot.session.metadataVersion}`);
|
|
1446
|
-
const wake =
|
|
1450
|
+
const wake = applyReconnectReplay(response);
|
|
1447
1451
|
response = wake.response;
|
|
1448
|
-
|
|
1452
|
+
reconnectReplay = wake.replay;
|
|
1453
|
+
wakingFromHibernation = wake.replay?.source === "hibernation";
|
|
1454
|
+
if (wake.replay) logger.debug(`[START] Resuming (${wake.replay.source}): replaying records after seq=${response.seq}`);
|
|
1449
1455
|
} else {
|
|
1450
1456
|
response = withoutServerSnapshot(response);
|
|
1451
1457
|
logger.debug(`[START] Reconnect without server snapshot (${snapshot.reason}); skipping existing messages`);
|
|
@@ -1476,7 +1482,7 @@ async function runCodex(opts) {
|
|
|
1476
1482
|
if (reconnectSessionId) {
|
|
1477
1483
|
session.suppressNextArchiveSignal();
|
|
1478
1484
|
if (!reconnectSeeded) session.skipExistingMessages();
|
|
1479
|
-
if (!wakingFromHibernation) void session.cancelUndeliveredQueuedInputs();
|
|
1485
|
+
if (!wakingFromHibernation) void session.cancelUndeliveredQueuedInputs(reconnectReplay ? { maxSeq: reconnectReplay.seq } : void 0);
|
|
1480
1486
|
session.updateMetadata((meta) => mergeReconnectMetadata(meta, metadata, Date.now()));
|
|
1481
1487
|
}
|
|
1482
1488
|
if (response) {
|
|
@@ -1712,10 +1718,12 @@ async function runCodex(opts) {
|
|
|
1712
1718
|
return;
|
|
1713
1719
|
}
|
|
1714
1720
|
logger.debug("[Codex] Kill session requested - terminating process");
|
|
1721
|
+
const exitCursor = intent === "offline" && session ? exitCursorStamp(session.messageCursor, Date.now()) : void 0;
|
|
1722
|
+
if (exitCursor) session.freezeInbound();
|
|
1715
1723
|
await handleAbort("kill");
|
|
1716
1724
|
logger.debug("[Codex] Abort completed, proceeding with termination");
|
|
1717
1725
|
try {
|
|
1718
|
-
if (session) await settleCodexSession(session, intent, (id) => api.deactivateSession(id), (m, e) => logger.debug(m, safeCodexErrorMetadata(e)));
|
|
1726
|
+
if (session) await settleCodexSession(session, intent, (id) => api.deactivateSession(id), (m, e) => logger.debug(m, safeCodexErrorMetadata(e)), exitCursor);
|
|
1719
1727
|
try {
|
|
1720
1728
|
await client.disconnect();
|
|
1721
1729
|
} catch (e) {
|
|
@@ -1,104 +1,107 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var auth = require('./auth-
|
|
4
|
-
var index = require('./index-
|
|
5
|
-
var deterministicJson = require('./deterministicJson-
|
|
6
|
-
var client = require('./client-
|
|
3
|
+
var auth = require('./auth-CgQP7d0q.cjs');
|
|
4
|
+
var index = require('./index-Df2eHm3O.cjs');
|
|
5
|
+
var deterministicJson = require('./deterministicJson-BS7D7URE.cjs');
|
|
6
|
+
var client = require('./client-DWs6k041.cjs');
|
|
7
7
|
var promises = require('node:fs/promises');
|
|
8
8
|
var forkBackfill = require('./forkBackfill-8eLDeS73.cjs');
|
|
9
9
|
var node_crypto = require('node:crypto');
|
|
10
10
|
var cuid2 = require('@paralleldrive/cuid2');
|
|
11
11
|
var agentAttachments = require('./agentAttachments-Dbw8iMCZ.cjs');
|
|
12
|
-
var attachmentContent = require('./attachmentContent-
|
|
12
|
+
var attachmentContent = require('./attachmentContent-mIhbtRKl.cjs');
|
|
13
13
|
var ink = require('ink');
|
|
14
|
-
var sessionLock = require('./sessionLock-
|
|
14
|
+
var sessionLock = require('./sessionLock-CdIRJlHH.cjs');
|
|
15
15
|
var React = require('react');
|
|
16
|
-
var api = require('./api-
|
|
17
|
-
var codexAppServerClient = require('./codexAppServerClient-
|
|
18
|
-
var specialCommands = require('./specialCommands-
|
|
19
|
-
var logger = require('./logger-
|
|
20
|
-
var BasePermissionHandler = require('./BasePermissionHandler-
|
|
21
|
-
var codexTermination = require('./codexTermination-
|
|
16
|
+
var api = require('./api-COHFAkb_.cjs');
|
|
17
|
+
var codexAppServerClient = require('./codexAppServerClient-BRX3JZ_5.cjs');
|
|
18
|
+
var specialCommands = require('./specialCommands-Zwr2C6A2.cjs');
|
|
19
|
+
var logger = require('./logger-DgBwUSgS.cjs');
|
|
20
|
+
var BasePermissionHandler = require('./BasePermissionHandler-DCP8ZEB4.cjs');
|
|
21
|
+
var codexTermination = require('./codexTermination-BVR9HeVI.cjs');
|
|
22
22
|
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-
|
|
27
|
-
var projectPath = require('./projectPath-
|
|
23
|
+
var persistence = require('./persistence-BY-D00wT.cjs');
|
|
24
|
+
var machineMetadata = require('./machineMetadata-DB03ez4K.cjs');
|
|
25
|
+
var configuration = require('./configuration-C8JgseHy.cjs');
|
|
26
|
+
var registerKillSessionHandler = require('./registerKillSessionHandler-7fOm6ooh.cjs');
|
|
27
|
+
var projectPath = require('./projectPath-C3ioB4Bu.cjs');
|
|
28
28
|
var path = require('node:path');
|
|
29
|
-
var createSessionMetadata = require('./createSessionMetadata-
|
|
30
|
-
var
|
|
31
|
-
var controlClient = require('./controlClient-
|
|
32
|
-
var defaultPermissionMode = require('./defaultPermissionMode-
|
|
29
|
+
var createSessionMetadata = require('./createSessionMetadata-DNIbKLHg.cjs');
|
|
30
|
+
var sessionExitLifecycle = require('./sessionExitLifecycle-DFltxXU8.cjs');
|
|
31
|
+
var controlClient = require('./controlClient-D68Zj7Q-.cjs');
|
|
32
|
+
var defaultPermissionMode = require('./defaultPermissionMode-BmvjP32v.cjs');
|
|
33
33
|
var authRelay = require('./authRelay-Dy1qU9td.cjs');
|
|
34
|
-
var setupOfflineReconnection = require('./setupOfflineReconnection-
|
|
34
|
+
var setupOfflineReconnection = require('./setupOfflineReconnection-CjuCiKY3.cjs');
|
|
35
|
+
var startupSessionCreate = require('./startupSessionCreate-CKEbq0tL.cjs');
|
|
35
36
|
var trimIdent = require('./trimIdent-4gvk9Wk6.cjs');
|
|
36
37
|
var constants = require('./constants-VJ0N6WuG.cjs');
|
|
37
38
|
var editPaths = require('./editPaths-Bqp4OFPw.cjs');
|
|
38
|
-
var ensureDaemonRunning = require('./ensureDaemonRunning-
|
|
39
|
+
var ensureDaemonRunning = require('./ensureDaemonRunning-B8z37VKD.cjs');
|
|
39
40
|
require('tweetnacl');
|
|
40
41
|
require('axios');
|
|
41
|
-
require('./time-
|
|
42
|
-
require('./browser-
|
|
42
|
+
require('./time-nqa9shu8.cjs');
|
|
43
|
+
require('./browser-DjNNQQk2.cjs');
|
|
43
44
|
require('open');
|
|
44
45
|
require('zod');
|
|
45
|
-
require('./prompt-
|
|
46
|
-
require('./reportProgressTool-
|
|
47
|
-
require('./client-
|
|
46
|
+
require('./prompt-Bof2aQkI.cjs');
|
|
47
|
+
require('./reportProgressTool-th4trcET.cjs');
|
|
48
|
+
require('./client-D_U2VjO3.cjs');
|
|
48
49
|
require('./precheckCompat-CWOi5c9L.cjs');
|
|
49
50
|
require('./agentGuidance-BtBx2xxE.cjs');
|
|
50
51
|
require('node:fs');
|
|
51
|
-
require('
|
|
52
|
-
require('./
|
|
53
|
-
require('./
|
|
52
|
+
require('node:os');
|
|
53
|
+
require('./pi-DlsrPCTa.cjs');
|
|
54
|
+
require('./fileStore-7qhnbs6N.cjs');
|
|
55
|
+
require('./client-CUO3ItoB.cjs');
|
|
56
|
+
require('./context-D1lgQTJC.cjs');
|
|
57
|
+
require('./sessionOps-DVA-00nR.cjs');
|
|
54
58
|
require('socket.io-client');
|
|
55
59
|
require('./backgroundTaskActivity-CBvUdj39.cjs');
|
|
56
|
-
require('./resources-
|
|
57
|
-
require('./tools-
|
|
58
|
-
require('./peerTools-
|
|
59
|
-
require('node:os');
|
|
60
|
+
require('./resources-BPyN59Iv.cjs');
|
|
61
|
+
require('./tools-DiCXnAC5.cjs');
|
|
62
|
+
require('./peerTools-CP-x-Peu.cjs');
|
|
60
63
|
require('./ids-B6ZC0HGt.cjs');
|
|
61
|
-
require('./remoteSessionClient-
|
|
64
|
+
require('./remoteSessionClient-CFCn42bs.cjs');
|
|
62
65
|
require('@modelcontextprotocol/sdk/server/mcp.js');
|
|
63
66
|
require('node:http');
|
|
64
67
|
require('@modelcontextprotocol/sdk/server/streamableHttp.js');
|
|
65
68
|
require('./limits-C-a7gr04.cjs');
|
|
66
|
-
require('./downloadTarget-
|
|
69
|
+
require('./downloadTarget-LyOiucn_.cjs');
|
|
67
70
|
require('./terminals-B_bfC9c2.cjs');
|
|
68
71
|
require('./terminalTitleSuggest-DhvRFX3H.cjs');
|
|
69
72
|
require('./tmuxSocket-D-Xt6Vn-.cjs');
|
|
70
|
-
require('./bootstrap-
|
|
71
|
-
require('./package-
|
|
73
|
+
require('./bootstrap-CYtOtbi7.cjs');
|
|
74
|
+
require('./package-NoD8QOOM.cjs');
|
|
72
75
|
require('./webPanels-FCgFKvVe.cjs');
|
|
73
|
-
require('./pushNotifications-
|
|
76
|
+
require('./pushNotifications-BXoOSq_G.cjs');
|
|
74
77
|
require('./contentLogMetadata-ZSFk_NjQ.cjs');
|
|
75
78
|
require('./previewPath-B0rBdhy1.cjs');
|
|
76
79
|
require('crypto');
|
|
77
80
|
require('./processTreeSnapshot-mDbnuojn.cjs');
|
|
78
|
-
require('./lidState-
|
|
81
|
+
require('./lidState-x8cJ8J_9.cjs');
|
|
79
82
|
require('os');
|
|
80
83
|
require('child_process');
|
|
81
84
|
require('node:events');
|
|
82
|
-
require('./registerCommonHandlers-
|
|
85
|
+
require('./registerCommonHandlers-CRjBoJLK.cjs');
|
|
83
86
|
require('util');
|
|
84
87
|
require('fs/promises');
|
|
85
88
|
require('path');
|
|
86
89
|
require('cross-spawn');
|
|
87
|
-
require('./sync-
|
|
90
|
+
require('./sync-1hQ5KHpL.cjs');
|
|
88
91
|
require('chalk');
|
|
89
92
|
require('node:readline');
|
|
90
93
|
require('./manager-HrEj442o.cjs');
|
|
91
94
|
require('@anthropic-ai/sandbox-runtime');
|
|
92
|
-
require('./rateLimitWindows-
|
|
95
|
+
require('./rateLimitWindows-OpAmdOtC.cjs');
|
|
93
96
|
require('./processTree-CMHWlVse.cjs');
|
|
94
97
|
require('node:util');
|
|
95
|
-
require('./detectCLI-
|
|
98
|
+
require('./detectCLI-BuYR_Qxe.cjs');
|
|
96
99
|
require('fs');
|
|
97
|
-
require('./localHappyAgentAuth-
|
|
100
|
+
require('./localHappyAgentAuth-DZ2kb9uq.cjs');
|
|
98
101
|
require('./types-CRS-srZK.cjs');
|
|
99
102
|
require('url');
|
|
100
|
-
require('./spawnHappyCLI-
|
|
101
|
-
require('./doctorReadiness-
|
|
103
|
+
require('./spawnHappyCLI-DnKmIsEt.cjs');
|
|
104
|
+
require('./doctorReadiness-Dl6yRQCy.cjs');
|
|
102
105
|
|
|
103
106
|
function getStartedSubagents(state) {
|
|
104
107
|
return state.startedSubagents ?? /* @__PURE__ */ new Set();
|
|
@@ -1429,7 +1432,7 @@ async function runCodex(opts) {
|
|
|
1429
1432
|
agentStateVersion: parseInt(reconnectAgentStateVersion || "0", 10)
|
|
1430
1433
|
};
|
|
1431
1434
|
} else {
|
|
1432
|
-
response = await api$1.getOrCreateSession({ tag: sessionTag, metadata, state });
|
|
1435
|
+
response = await startupSessionCreate.createSessionForStartup(() => api$1.getOrCreateSession({ tag: sessionTag, metadata, state }), { startedBy: opts.startedBy, log: (m) => logger.logger.debug(m) });
|
|
1433
1436
|
}
|
|
1434
1437
|
if (response) {
|
|
1435
1438
|
await sessionLock.claimSessionOrExit(response.id, { takeover: !!reconnectSessionId, flavor: "codex" });
|
|
@@ -1439,15 +1442,18 @@ async function runCodex(opts) {
|
|
|
1439
1442
|
}
|
|
1440
1443
|
let reconnectSeeded = false;
|
|
1441
1444
|
let wakingFromHibernation = false;
|
|
1445
|
+
let reconnectReplay = null;
|
|
1442
1446
|
if (reconnectSessionId && response) {
|
|
1443
1447
|
const snapshot = await api$1.getSession(response.id, response.encryptionKey, response.encryptionVariant);
|
|
1444
1448
|
if (snapshot.ok) {
|
|
1445
1449
|
response = sessionLock.applyServerSnapshot(response, snapshot.session);
|
|
1446
1450
|
reconnectSeeded = true;
|
|
1447
1451
|
logger.logger.debug(`[START] Reconnect seeded from server: seq=${snapshot.session.seq} metadataVersion=${snapshot.session.metadataVersion}`);
|
|
1448
|
-
const wake = sessionLock.
|
|
1452
|
+
const wake = sessionLock.applyReconnectReplay(response);
|
|
1449
1453
|
response = wake.response;
|
|
1450
|
-
|
|
1454
|
+
reconnectReplay = wake.replay;
|
|
1455
|
+
wakingFromHibernation = wake.replay?.source === "hibernation";
|
|
1456
|
+
if (wake.replay) logger.logger.debug(`[START] Resuming (${wake.replay.source}): replaying records after seq=${response.seq}`);
|
|
1451
1457
|
} else {
|
|
1452
1458
|
response = sessionLock.withoutServerSnapshot(response);
|
|
1453
1459
|
logger.logger.debug(`[START] Reconnect without server snapshot (${snapshot.reason}); skipping existing messages`);
|
|
@@ -1478,7 +1484,7 @@ async function runCodex(opts) {
|
|
|
1478
1484
|
if (reconnectSessionId) {
|
|
1479
1485
|
session.suppressNextArchiveSignal();
|
|
1480
1486
|
if (!reconnectSeeded) session.skipExistingMessages();
|
|
1481
|
-
if (!wakingFromHibernation) void session.cancelUndeliveredQueuedInputs();
|
|
1487
|
+
if (!wakingFromHibernation) void session.cancelUndeliveredQueuedInputs(reconnectReplay ? { maxSeq: reconnectReplay.seq } : void 0);
|
|
1482
1488
|
session.updateMetadata((meta) => sessionLock.mergeReconnectMetadata(meta, metadata, Date.now()));
|
|
1483
1489
|
}
|
|
1484
1490
|
if (response) {
|
|
@@ -1542,7 +1548,7 @@ async function runCodex(opts) {
|
|
|
1542
1548
|
withAttachments: attachmentContent.appendStagedAttachmentsToPrompt,
|
|
1543
1549
|
unlink: (path) => promises.unlink(path),
|
|
1544
1550
|
isImage: (file) => CODEX_IMAGE_MIME_TYPES.includes(file.mimeType),
|
|
1545
|
-
onSteered: (text) => messageBuffer
|
|
1551
|
+
onSteered: (text) => messageBuffer.addMessage(text, "user"),
|
|
1546
1552
|
log: (message) => logger.logger.debug(message)
|
|
1547
1553
|
};
|
|
1548
1554
|
let userMessageDelivery = Promise.resolve();
|
|
@@ -1714,10 +1720,12 @@ async function runCodex(opts) {
|
|
|
1714
1720
|
return;
|
|
1715
1721
|
}
|
|
1716
1722
|
logger.logger.debug("[Codex] Kill session requested - terminating process");
|
|
1723
|
+
const exitCursor = intent === "offline" && session ? sessionLock.exitCursorStamp(session.messageCursor, Date.now()) : void 0;
|
|
1724
|
+
if (exitCursor) session.freezeInbound();
|
|
1717
1725
|
await handleAbort("kill");
|
|
1718
1726
|
logger.logger.debug("[Codex] Abort completed, proceeding with termination");
|
|
1719
1727
|
try {
|
|
1720
|
-
if (session) await codexTermination.settleCodexSession(session, intent, (id) => api$1.deactivateSession(id), (m, e) => logger.logger.debug(m, safeCodexErrorMetadata(e)));
|
|
1728
|
+
if (session) await codexTermination.settleCodexSession(session, intent, (id) => api$1.deactivateSession(id), (m, e) => logger.logger.debug(m, safeCodexErrorMetadata(e)), exitCursor);
|
|
1721
1729
|
try {
|
|
1722
1730
|
await client$1.disconnect();
|
|
1723
1731
|
} catch (e) {
|
|
@@ -1740,13 +1748,13 @@ async function runCodex(opts) {
|
|
|
1740
1748
|
});
|
|
1741
1749
|
session.rpcHandlerManager.registerHandler("abort", () => handleAbort("user"));
|
|
1742
1750
|
const disposeTermination = registerKillSessionHandler.registerKillSessionHandler(session.rpcHandlerManager, () => handleKillSession("archive"), session, { processSignals: true, onSignal: () => handleKillSession("offline") });
|
|
1743
|
-
const messageBuffer
|
|
1751
|
+
const messageBuffer = new sessionExitLifecycle.MessageBuffer();
|
|
1744
1752
|
const hasTTY = process.stdout.isTTY && process.stdin.isTTY;
|
|
1745
1753
|
let inkInstance = null;
|
|
1746
1754
|
if (hasTTY) {
|
|
1747
1755
|
console.clear();
|
|
1748
1756
|
inkInstance = ink.render(React.createElement(CodexDisplay, {
|
|
1749
|
-
messageBuffer
|
|
1757
|
+
messageBuffer,
|
|
1750
1758
|
logPath: process.env.DEBUG ? logger.logger.getLogPath() : void 0,
|
|
1751
1759
|
onExit: async () => {
|
|
1752
1760
|
logger.logger.debug("[codex]: Exiting agent via Ctrl-C");
|
|
@@ -1816,45 +1824,45 @@ async function runCodex(opts) {
|
|
|
1816
1824
|
}
|
|
1817
1825
|
logger.logger.debug("[Codex] Event metadata", codexEventLogMetadata(msg));
|
|
1818
1826
|
if (msg.type === "agent_message") {
|
|
1819
|
-
messageBuffer
|
|
1827
|
+
messageBuffer.addMessage(msg.message, "assistant");
|
|
1820
1828
|
} else if (msg.type === "agent_reasoning_delta") ; else if (msg.type === "agent_reasoning") {
|
|
1821
|
-
messageBuffer
|
|
1829
|
+
messageBuffer.addMessage(`[Thinking] ${msg.text.substring(0, 100)}...`, "system");
|
|
1822
1830
|
} else if (msg.type === "exec_command_begin") {
|
|
1823
|
-
messageBuffer
|
|
1831
|
+
messageBuffer.addMessage(`Executing: ${msg.command}`, "tool");
|
|
1824
1832
|
} else if (msg.type === "exec_command_end") {
|
|
1825
1833
|
const output = msg.output || msg.error || "Command completed";
|
|
1826
1834
|
const truncatedOutput = output.substring(0, 200);
|
|
1827
|
-
messageBuffer
|
|
1835
|
+
messageBuffer.addMessage(
|
|
1828
1836
|
`Result: ${truncatedOutput}${output.length > 200 ? "..." : ""}`,
|
|
1829
1837
|
"result"
|
|
1830
1838
|
);
|
|
1831
1839
|
} else if (msg.type === "task_started") {
|
|
1832
|
-
messageBuffer
|
|
1840
|
+
messageBuffer.addMessage("Starting task...", "status");
|
|
1833
1841
|
} else if (msg.type === "task_complete") {
|
|
1834
1842
|
const failure = describeCodexFailure(msg);
|
|
1835
1843
|
if (failure) {
|
|
1836
|
-
messageBuffer
|
|
1844
|
+
messageBuffer.addMessage(`Task failed: ${failure}`, "status");
|
|
1837
1845
|
session.sendSessionEvent({ type: "message", message: `Codex error: ${failure}` });
|
|
1838
1846
|
} else {
|
|
1839
|
-
messageBuffer
|
|
1847
|
+
messageBuffer.addMessage("Task completed", "status");
|
|
1840
1848
|
}
|
|
1841
1849
|
} else if (msg.type === "turn_aborted") {
|
|
1842
1850
|
const failure = describeCodexFailure(msg);
|
|
1843
1851
|
if (failure) {
|
|
1844
|
-
messageBuffer
|
|
1852
|
+
messageBuffer.addMessage(`Turn aborted: ${failure}`, "status");
|
|
1845
1853
|
session.sendSessionEvent({ type: "message", message: `Codex error: ${failure}` });
|
|
1846
1854
|
} else {
|
|
1847
|
-
messageBuffer
|
|
1855
|
+
messageBuffer.addMessage("Turn aborted", "status");
|
|
1848
1856
|
}
|
|
1849
1857
|
} else if (msg.type === "turn_retry") {
|
|
1850
1858
|
const notice = describeCodexRetry(msg);
|
|
1851
|
-
messageBuffer
|
|
1859
|
+
messageBuffer.addMessage(notice, "status");
|
|
1852
1860
|
session.sendSessionEvent({ type: "message", message: notice });
|
|
1853
1861
|
} else if (msg.type === "steer_dropped") {
|
|
1854
1862
|
const clientIds = Array.isArray(msg.client_ids) ? msg.client_ids.filter((id) => typeof id === "string" && id.length > 0) : [];
|
|
1855
1863
|
if (clientIds.length > 0) {
|
|
1856
1864
|
session.sendQueueCancelReason(clientIds, "aborted");
|
|
1857
|
-
messageBuffer
|
|
1865
|
+
messageBuffer.addMessage("A steered message was not read before the turn ended", "status");
|
|
1858
1866
|
}
|
|
1859
1867
|
}
|
|
1860
1868
|
if (msg.type === "task_started") {
|
|
@@ -1888,16 +1896,16 @@ async function runCodex(opts) {
|
|
|
1888
1896
|
}
|
|
1889
1897
|
const changeCount = Object.keys(changes).length;
|
|
1890
1898
|
const filesMsg = changeCount === 1 ? "1 file" : `${changeCount} files`;
|
|
1891
|
-
messageBuffer
|
|
1899
|
+
messageBuffer.addMessage(`Modifying ${filesMsg}...`, "tool");
|
|
1892
1900
|
}
|
|
1893
1901
|
if (msg.type === "patch_apply_end") {
|
|
1894
1902
|
const { stdout, stderr, success } = msg;
|
|
1895
1903
|
if (success) {
|
|
1896
1904
|
const message = stdout || "Files modified successfully";
|
|
1897
|
-
messageBuffer
|
|
1905
|
+
messageBuffer.addMessage(message.substring(0, 200), "result");
|
|
1898
1906
|
} else {
|
|
1899
1907
|
const errorMsg = stderr || "Failed to modify files";
|
|
1900
|
-
messageBuffer
|
|
1908
|
+
messageBuffer.addMessage(`Error: ${errorMsg.substring(0, 200)}`, "result");
|
|
1901
1909
|
}
|
|
1902
1910
|
}
|
|
1903
1911
|
if (msg.type === "turn_diff") {
|
|
@@ -1961,7 +1969,7 @@ async function runCodex(opts) {
|
|
|
1961
1969
|
await resumeExistingThread({
|
|
1962
1970
|
client: client$1,
|
|
1963
1971
|
session,
|
|
1964
|
-
messageBuffer
|
|
1972
|
+
messageBuffer,
|
|
1965
1973
|
threadId: opts.resumeThreadId,
|
|
1966
1974
|
cwd: process.cwd(),
|
|
1967
1975
|
mcpServers
|
|
@@ -1973,7 +1981,7 @@ async function runCodex(opts) {
|
|
|
1973
1981
|
await importCodexThread({
|
|
1974
1982
|
client: client$1,
|
|
1975
1983
|
session,
|
|
1976
|
-
messageBuffer
|
|
1984
|
+
messageBuffer,
|
|
1977
1985
|
threadId: importCodexThreadId,
|
|
1978
1986
|
cwd: process.cwd(),
|
|
1979
1987
|
mcpServers
|
|
@@ -2093,7 +2101,7 @@ async function runCodex(opts) {
|
|
|
2093
2101
|
appendSystemPromptInjected = false;
|
|
2094
2102
|
thinking = false;
|
|
2095
2103
|
session.keepAlive(thinking, "remote");
|
|
2096
|
-
messageBuffer
|
|
2104
|
+
messageBuffer.addMessage("Context was reset", "status");
|
|
2097
2105
|
session.sendSessionEvent({ type: "message", message: "Context was reset" });
|
|
2098
2106
|
session.updateMetadata((currentMetadata) => {
|
|
2099
2107
|
const nextMetadata = { ...currentMetadata };
|
|
@@ -2111,7 +2119,7 @@ async function runCodex(opts) {
|
|
|
2111
2119
|
idleRelease.arm();
|
|
2112
2120
|
continue;
|
|
2113
2121
|
}
|
|
2114
|
-
messageBuffer
|
|
2122
|
+
messageBuffer.addMessage(message.message, "user");
|
|
2115
2123
|
try {
|
|
2116
2124
|
await client$1.ensureConnected();
|
|
2117
2125
|
const sandboxManagedByHappy = client$1.sandboxEnabled;
|
|
@@ -2167,11 +2175,11 @@ async function runCodex(opts) {
|
|
|
2167
2175
|
logger.logger.warn("Error in codex session", safeCodexErrorMetadata(error));
|
|
2168
2176
|
const reason = describeThrownTurnError(error);
|
|
2169
2177
|
if (reason) {
|
|
2170
|
-
messageBuffer
|
|
2178
|
+
messageBuffer.addMessage(`Task failed: ${reason}`, "status");
|
|
2171
2179
|
session.sendSessionEvent({ type: "message", message: `Codex error: ${reason}` });
|
|
2172
2180
|
} else {
|
|
2173
2181
|
const tail = codexStderrTailOf(error);
|
|
2174
|
-
messageBuffer
|
|
2182
|
+
messageBuffer.addMessage("Process exited unexpectedly", "status");
|
|
2175
2183
|
session.sendSessionEvent({ type: "message", message: tail ? `Process exited unexpectedly: ${tail}` : "Process exited unexpectedly" });
|
|
2176
2184
|
}
|
|
2177
2185
|
} finally {
|
|
@@ -2240,7 +2248,7 @@ async function runCodex(opts) {
|
|
|
2240
2248
|
logger.logger.debug("[codex]: inkInstance.unmount()");
|
|
2241
2249
|
inkInstance.unmount();
|
|
2242
2250
|
}
|
|
2243
|
-
messageBuffer
|
|
2251
|
+
messageBuffer.clear();
|
|
2244
2252
|
logActiveHandles("cleanup-end");
|
|
2245
2253
|
logger.logger.debug("[codex]: Final cleanup completed");
|
|
2246
2254
|
if (hibernationExit.hibernating && hibernationStamp) {
|
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
3
|
var node_crypto = require('node:crypto');
|
|
4
|
-
var logger = require('./logger-
|
|
4
|
+
var logger = require('./logger-DgBwUSgS.cjs');
|
|
5
|
+
var sessionExitLifecycle = require('./sessionExitLifecycle-DFltxXU8.cjs');
|
|
5
6
|
|
|
6
7
|
class BaseReasoningProcessor {
|
|
7
8
|
accumulator = "";
|
|
@@ -198,7 +199,11 @@ class BaseReasoningProcessor {
|
|
|
198
199
|
}
|
|
199
200
|
|
|
200
201
|
async function settleCodexSession(session, intent, deactivate, log = () => {
|
|
201
|
-
}) {
|
|
202
|
+
}, exitCursor) {
|
|
203
|
+
if (intent === "offline" && exitCursor && session.updateMetadataAndWait) {
|
|
204
|
+
const landed = await session.updateMetadataAndWait((currentMetadata) => ({ ...currentMetadata, exitCursor }), sessionExitLifecycle.OFFLINE_EXIT_STAMP_TIMEOUT_MS);
|
|
205
|
+
if (!landed) log("[Codex] offline exit cursor not confirmed before going offline");
|
|
206
|
+
}
|
|
202
207
|
if (intent === "archive") {
|
|
203
208
|
session.updateMetadata((currentMetadata) => ({
|
|
204
209
|
...currentMetadata,
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { randomUUID } from 'node:crypto';
|
|
2
|
-
import { l as logger } from './logger-
|
|
2
|
+
import { l as logger } from './logger-LFr8iPgl.mjs';
|
|
3
|
+
import { O as OFFLINE_EXIT_STAMP_TIMEOUT_MS } from './sessionExitLifecycle-CzkLIgNZ.mjs';
|
|
3
4
|
|
|
4
5
|
class BaseReasoningProcessor {
|
|
5
6
|
accumulator = "";
|
|
@@ -196,7 +197,11 @@ class BaseReasoningProcessor {
|
|
|
196
197
|
}
|
|
197
198
|
|
|
198
199
|
async function settleCodexSession(session, intent, deactivate, log = () => {
|
|
199
|
-
}) {
|
|
200
|
+
}, exitCursor) {
|
|
201
|
+
if (intent === "offline" && exitCursor && session.updateMetadataAndWait) {
|
|
202
|
+
const landed = await session.updateMetadataAndWait((currentMetadata) => ({ ...currentMetadata, exitCursor }), OFFLINE_EXIT_STAMP_TIMEOUT_MS);
|
|
203
|
+
if (!landed) log("[Codex] offline exit cursor not confirmed before going offline");
|
|
204
|
+
}
|
|
200
205
|
if (intent === "archive") {
|
|
201
206
|
session.updateMetadata((currentMetadata) => ({
|
|
202
207
|
...currentMetadata,
|
|
@@ -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-LFr8iPgl.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-BPrfb17M.mjs';
|
|
10
10
|
import 'node:fs';
|
|
11
11
|
import 'node:os';
|
|
12
12
|
import 'node:path';
|
|
13
|
-
import './package-
|
|
13
|
+
import './package-DYGwlmXl.mjs';
|
|
14
14
|
import 'node:fs/promises';
|
|
15
15
|
import './trimIdent-BAjmv_TG.mjs';
|
|
16
16
|
|