very-happy-cli 0.2.206 → 0.2.208
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-dO5GAvaj.cjs → AcpBackend-Bi1lwlYT.cjs} +3 -3
- package/dist/{AcpBackend-CfTTWCK_.mjs → AcpBackend-DzhaCmBY.mjs} +3 -3
- package/dist/{AcpSessionManager-DpT9znny.cjs → AcpSessionManager-CMVLdPbj.cjs} +1 -1
- package/dist/{AcpSessionManager-a-A4YDP7.mjs → AcpSessionManager-DkaQ_APH.mjs} +1 -1
- package/dist/{BasePermissionHandler-C917oi-W.cjs → BasePermissionHandler-CvLAw0Oc.cjs} +1 -1
- package/dist/{BasePermissionHandler-Cg2py7Mi.mjs → BasePermissionHandler-pWG2_iEy.mjs} +1 -1
- package/dist/{account-BpEOGAi-.cjs → account-CPqnFWmL.cjs} +5 -5
- package/dist/{account-CY_3dfMO.mjs → account-CdqfSY_p.mjs} +5 -5
- package/dist/{acpSessionResume-D1v1ZqjL.mjs → acpSessionResume-BhITqLyG.mjs} +1 -1
- package/dist/{acpSessionResume-BTchDv4R.cjs → acpSessionResume-CJkt6Lb3.cjs} +1 -1
- package/dist/{agentHome-B8Fp21kp.cjs → agentHome-DNBlAPo7.cjs} +4 -4
- package/dist/{agentHome-Bb0sGzgt.mjs → agentHome-s35ZR8h2.mjs} +4 -4
- package/dist/{api-DGJVcaIF.mjs → api-CSqHDB2c.mjs} +9 -9
- package/dist/{api-B-u-Mk6V.cjs → api-DD2Kb6PC.cjs} +9 -9
- package/dist/{apiMachine-Bi15f6YB.cjs → apiMachine-B120yCAC.cjs} +111 -18
- package/dist/{apiMachine-B-GyYD22.mjs → apiMachine-glpowPBP.mjs} +112 -19
- package/dist/{attachmentContent-BvGKA5QH.cjs → attachmentContent-DaAXfnD3.cjs} +2 -2
- package/dist/{attachmentContent-C-qFMirp.mjs → attachmentContent-Dz1Klp7p.mjs} +2 -2
- package/dist/{auth-CT2084Ag.cjs → auth-CsFFmyP7.cjs} +8 -8
- package/dist/{auth-CP7a7YqH.mjs → auth-D20iF90G.mjs} +5 -5
- package/dist/{auth-FRjFFR7K.mjs → auth-DGORGC8x.mjs} +8 -8
- package/dist/{auth-Bnj_x4XN.cjs → auth-r1hltcyI.cjs} +5 -5
- package/dist/{auto-DaADkeaT.cjs → auto-Ciz46Iqn.cjs} +14 -14
- package/dist/{auto-CxItjek7.mjs → auto-DbrbFKf9.mjs} +15 -15
- package/dist/{bootstrap-BCuF4Kla.mjs → bootstrap-BNtlEESB.mjs} +2 -2
- package/dist/{bootstrap-Cq_W1C3z.cjs → bootstrap-W09l0EHC.cjs} +2 -2
- package/dist/{browser-C-PWxfCE.mjs → browser-C9mNP2Jk.mjs} +1 -1
- package/dist/{browser-CHC75A5J.cjs → browser-dRvYvuKK.cjs} +1 -1
- package/dist/{claudeLocal-XsMte9X2.mjs → claudeLocal-DReeJSNX.mjs} +5 -5
- package/dist/{claudeLocal-TVtTBsHi.cjs → claudeLocal-pk26w0aA.cjs} +4 -4
- package/dist/{claudeLocalLauncher-DDU1kyxO.mjs → claudeLocalLauncher-BXg1eVkk.mjs} +10 -10
- package/dist/{claudeLocalLauncher-D5XU298r.cjs → claudeLocalLauncher-ENxo2qLu.cjs} +9 -9
- package/dist/{claudeSessionFork-CZpugNK3.mjs → claudeSessionFork-BJgKcXCZ.mjs} +1 -1
- package/dist/{claudeSessionFork-CzzRjCFN.cjs → claudeSessionFork-Dkza0l7k.cjs} +1 -1
- package/dist/{client-Cdax95Aw.cjs → client-B-1f7vJk.cjs} +2 -2
- package/dist/{client-Bqyfl2t0.mjs → client-BcJGDe88.mjs} +4 -4
- package/dist/{client-DizbJlbC.mjs → client-CHusuUpK.mjs} +2 -2
- package/dist/{client-C2F0G1gB.cjs → client-CiMpU3hu.cjs} +4 -4
- package/dist/{client-jlIx75iG.cjs → client-CikaTA8m.cjs} +2 -2
- package/dist/{client-D9viv5fT.cjs → client-CqswQ5dm.cjs} +2 -2
- package/dist/{client-5ekzs8hv.mjs → client-D79GAZdH.mjs} +2 -2
- package/dist/{client-ztj20uaj.mjs → client-DM4LAJtu.mjs} +2 -2
- package/dist/codex/happyMcpStdioBridge.cjs +18 -18
- package/dist/codex/happyMcpStdioBridge.mjs +18 -18
- package/dist/{codexAppServerClient-oSG91fFK.cjs → codexAppServerClient-1UQzZZVz.cjs} +107 -5
- package/dist/{codexAppServerClient-DFRZ__3w.mjs → codexAppServerClient-4OO0KZot.mjs} +105 -7
- package/dist/{codexCommand-BE__EfSf.mjs → codexCommand-DXD9hMjf.mjs} +119 -106
- package/dist/{codexCommand-BNjxG3C_.cjs → codexCommand-NEGUEjNu.cjs} +122 -109
- package/dist/{codexTermination-DuGPgcGv.mjs → codexTermination-CVq2OFB8.mjs} +1 -1
- package/dist/{codexTermination-_YHZVugN.cjs → codexTermination-PerhM3_A.cjs} +1 -1
- package/dist/{config-BH7N9kZX.cjs → config-BWInnJrU.cjs} +3 -3
- package/dist/{config-DXO9RUqb.mjs → config-ut95-JvJ.mjs} +3 -3
- package/dist/{configuration-Da2jFKHx.cjs → configuration-DjajVIcC.cjs} +1 -1
- package/dist/{configuration-BreL0beF.mjs → configuration-DyUL3r3_.mjs} +1 -1
- package/dist/{connect-B_UrNMnp.mjs → connect-BUjKAnlC.mjs} +12 -12
- package/dist/{connect-BIIxh5a9.cjs → connect-CsdM0x3Z.cjs} +12 -12
- package/dist/{context-n1LlNbjT.cjs → context-Cr3K4S2w.cjs} +1 -1
- package/dist/{context-DFudPCad.mjs → context-D2H9Axdp.mjs} +1 -1
- package/dist/{controlClient-Dlait4BW.cjs → controlClient-BpIuQ1Ns.cjs} +3 -3
- package/dist/{controlClient-DwiujrH8.mjs → controlClient-HuyeDWsu.mjs} +3 -3
- package/dist/{createSessionMetadata-83WjQzAt.cjs → createSessionMetadata-B18g5IaB.cjs} +2 -2
- package/dist/{createSessionMetadata-B0wB4nIY.mjs → createSessionMetadata-ysHgFXAk.mjs} +2 -2
- package/dist/{deterministicJson-BUtDwjAU.mjs → deterministicJson-9MtfxFkH.mjs} +14 -14
- package/dist/{deterministicJson-Dppskedb.cjs → deterministicJson-CjoGQVig.cjs} +14 -14
- package/dist/{doctor-QQS5dGqG.mjs → doctor-3F1VRGNQ.mjs} +7 -7
- package/dist/{doctor-BtVympkn.cjs → doctor-B5X_WgW5.cjs} +7 -7
- package/dist/{downloadTarget-CVm8ey3W.mjs → downloadTarget-Bphxqzlj.mjs} +6 -6
- package/dist/{downloadTarget-CxGQUh-7.cjs → downloadTarget-Da5r5bmz.cjs} +6 -6
- package/dist/{ensureDaemonRunning-CjD9jtqp.cjs → ensureDaemonRunning-B5KACtnt.cjs} +5 -5
- package/dist/{ensureDaemonRunning-m6Kd3BM7.mjs → ensureDaemonRunning-CfWwG5sk.mjs} +5 -5
- package/dist/{exitNotice-HOwYf-97.mjs → exitNotice-BhE9UKcS.mjs} +2 -2
- package/dist/{exitNotice-bUdz2C4L.cjs → exitNotice-DZXhuGy_.cjs} +2 -2
- package/dist/{format-2GqpXiRX.mjs → format-CNxQ0daG.mjs} +1 -1
- package/dist/{format-BXxqj69f.cjs → format-VdzxFoPn.cjs} +1 -1
- package/dist/{handleResumeCommand-D_NUSPvz.cjs → handleResumeCommand-CqCDmme6.cjs} +5 -5
- package/dist/{handleResumeCommand-CTT8lfhV.mjs → handleResumeCommand-D7_cvcc9.mjs} +5 -5
- package/dist/{index-TDGlRjkn.cjs → index-Bw7x7m6a.cjs} +4 -4
- package/dist/{index-CIWLX_eM.mjs → index-BzsL5LN5.mjs} +4 -4
- package/dist/{index-B2xEPLkK.cjs → index-CFCunVeQ.cjs} +40 -40
- package/dist/{index-BLL_KBUA.mjs → index-CNW2-T1Y.mjs} +3 -3
- package/dist/{index-CDO9rljT.mjs → index-CPRRUQzg.mjs} +41 -41
- package/dist/{index-C2PX_W49.mjs → index-CdEG8IE-.mjs} +4 -4
- package/dist/{index-BrvS8Bor.cjs → index-DJ8lYOQz.cjs} +4 -4
- package/dist/{index-CJXPB8kU.cjs → index-DY6iQHV4.cjs} +3 -3
- package/dist/index.cjs +2 -2
- package/dist/index.mjs +2 -2
- package/dist/{install-BaUw2G6E.cjs → install-C3VX-lFh.cjs} +3 -3
- package/dist/{install-DDfCEbu9.mjs → install-DXc3VEgr.mjs} +3 -3
- package/dist/{issue-BrxmnVRr.cjs → issue-16qqmyzu.cjs} +7 -7
- package/dist/{issue-Mh6p_OMm.mjs → issue-Du98oR1Q.mjs} +7 -7
- package/dist/lib.cjs +11 -11
- package/dist/lib.d.cts +8 -0
- package/dist/lib.d.mts +8 -0
- package/dist/lib.mjs +11 -11
- package/dist/{localHappyAgentAuth-B2bOV9RF.mjs → localHappyAgentAuth-3xKBQJOa.mjs} +1 -1
- package/dist/{localHappyAgentAuth-BtDypYZb.cjs → localHappyAgentAuth-B_P4c1Gm.cjs} +1 -1
- package/dist/{logger-DOp6YYAW.mjs → logger-B3uJyacO.mjs} +2 -2
- package/dist/{logger-B_GiBdoD.cjs → logger-el0cE85h.cjs} +2 -2
- package/dist/{machineMetadata-8PjdzhIk.mjs → machineMetadata-CO2nMt0D.mjs} +3 -3
- package/dist/{machineMetadata-rjOkg7or.cjs → machineMetadata-HmfiZ6TU.cjs} +3 -3
- package/dist/{main-Dxj1sGm3.cjs → main-Czhmne4w.cjs} +48 -48
- package/dist/{main-BfSuibka.mjs → main-NKVfJrjR.mjs} +48 -48
- package/dist/{manager-BEsI4qt3.mjs → manager-2Il8XJVq.mjs} +1 -1
- package/dist/{mcp-C_G7MsCo.mjs → mcp-6E6MzmHX.mjs} +15 -15
- package/dist/{mcp-DmRG6Yyk.cjs → mcp-Dt7Xv0aE.cjs} +15 -15
- package/dist/{mirrorProtocol-N8M4o7UD.mjs → mirrorProtocol-BqPADAVi.mjs} +2 -2
- package/dist/{mirrorProtocol-C8ZsCJzM.cjs → mirrorProtocol-D02HTC80.cjs} +2 -2
- package/dist/{package-CJeweE1o.mjs → package-BObPhT96.mjs} +7 -7
- package/dist/{package-DTEEvw5V.cjs → package-COEvA5iY.cjs} +7 -7
- package/dist/{panels-D9DTAY7b.cjs → panels-8gxstFem.cjs} +5 -5
- package/dist/{panels-BJGEusTH.mjs → panels-B8SzSCYI.mjs} +5 -5
- package/dist/{peerTools-Cs7_fbtQ.cjs → peerTools-BsHkjxPt.cjs} +5 -5
- package/dist/{peerTools-D66WcwUZ.mjs → peerTools-D0rxyRcF.mjs} +5 -5
- package/dist/{persistence-DURvN3Hm.mjs → persistence-Bqjt2vfj.mjs} +2 -2
- package/dist/{persistence-_HpJ8Xqx.cjs → persistence-Cuh7Fmqq.cjs} +2 -2
- package/dist/{piRunnerArgs-BqqnRbD2.cjs → piRunnerArgs-BM4IL7-Q.cjs} +1 -1
- package/dist/{piRunnerArgs-Q9_OZpgB.mjs → piRunnerArgs-CrRB06Q-.mjs} +1 -1
- package/dist/{piRuntime-DVfBZwGV.mjs → piRuntime-C5J-NcI-.mjs} +1 -1
- package/dist/{piRuntime-CfymNU4r.cjs → piRuntime-Cxax5MJ9.cjs} +1 -1
- package/dist/{piTerminal-SWzeud-Y.cjs → piTerminal-B6FmRG-j.cjs} +17 -17
- package/dist/{piTerminal-BmVTobWw.mjs → piTerminal-CDNQVXeX.mjs} +17 -17
- package/dist/{pushNotifications-DzWubbyC.cjs → pushNotifications-B-NnyAOy.cjs} +2 -2
- package/dist/{pushNotifications-CrN3Ja_a.mjs → pushNotifications-C4KS8SZe.mjs} +2 -2
- package/dist/{query-CcFiFfJ8.mjs → query-B9_vGm55.mjs} +1 -1
- package/dist/{query-DXKQY4gV.cjs → query-O39pVPly.cjs} +1 -1
- package/dist/{rateLimitWindows-BmZ6gZY8.cjs → rateLimitWindows-CnmV6sQI.cjs} +1 -1
- package/dist/{rateLimitWindows-BrCPAQCV.mjs → rateLimitWindows-CrWlGKPl.mjs} +1 -1
- package/dist/{reconnectGate-BbxwTsar.mjs → reconnectGate-4HRVraOQ.mjs} +1 -1
- package/dist/{reconnectGate-DBf3oDWw.cjs → reconnectGate-CetSTiP3.cjs} +1 -1
- package/dist/{registerCommonHandlers-DJcGS4eV.cjs → registerCommonHandlers-BQQSEBbH.cjs} +2 -2
- package/dist/{registerCommonHandlers-Dd5Ld0CL.mjs → registerCommonHandlers-CZJBrvGH.mjs} +2 -2
- package/dist/{registerKillSessionHandler-CCpSkYc2.cjs → registerKillSessionHandler-CRt4C583.cjs} +5 -5
- package/dist/{registerKillSessionHandler-DNLUoqKq.mjs → registerKillSessionHandler-UkuPaLm6.mjs} +5 -5
- package/dist/{registerSideQuestionHandler-D7zu0Z-I.cjs → registerSideQuestionHandler-ChnSNcv4.cjs} +4 -4
- package/dist/{registerSideQuestionHandler-_YMnEk1L.mjs → registerSideQuestionHandler-zuvmCRN8.mjs} +4 -4
- package/dist/{remoteSessionClient-Don4DO6r.cjs → remoteSessionClient-CLzIiMIY.cjs} +5 -5
- package/dist/{remoteSessionClient-iIWEgwCP.mjs → remoteSessionClient-DHuh-nj5.mjs} +5 -5
- package/dist/{reportProgressTool-B9DJTgdO.mjs → reportProgressTool-dSJwAO7H.mjs} +4 -4
- package/dist/{reportProgressTool-DwHrvFHn.cjs → reportProgressTool-ikM2aqgu.cjs} +4 -4
- package/dist/{run-CbsSCESl.cjs → run-9AiIc6rL.cjs} +34 -34
- package/dist/{run-RKaV1s5m.mjs → run-BO0aCF9F.mjs} +34 -34
- package/dist/{runClaude-B4hSm06m.cjs → runClaude-D6TktbLM.cjs} +20 -20
- package/dist/{runClaude-BnMkhjUP.mjs → runClaude-DF4b_nnj.mjs} +20 -20
- package/dist/{runClaudeDeps-BrS568YD.cjs → runClaudeDeps-B5_HGZVN.cjs} +38 -38
- package/dist/{runClaudeDeps-jlxTi74f.mjs → runClaudeDeps-CljBZRuq.mjs} +44 -44
- package/dist/{runGemini-D34l_LpW.mjs → runGemini-B4R_gBKP.mjs} +35 -35
- package/dist/{runGemini-DMLMq-y1.cjs → runGemini-CtuKMFr2.cjs} +35 -35
- package/dist/{runOpenClaw-BGKlUFHd.cjs → runOpenClaw-9AXOnCW3.cjs} +17 -17
- package/dist/{runOpenClaw-Dezk2LNe.mjs → runOpenClaw-Dvu4yTbZ.mjs} +17 -17
- package/dist/{sandbox-Db7g31zm.mjs → sandbox-B3YL-SmJ.mjs} +4 -4
- package/dist/{sandbox-C70ODcxh.cjs → sandbox-C0Aresqc.cjs} +4 -4
- package/dist/{selfCheck-UKA82vpj.cjs → selfCheck-CsteE3NU.cjs} +39 -39
- package/dist/selfCheck-ZpXxm1nH.mjs +89 -0
- package/dist/{send-BD8y_Dvq.cjs → send-CTi1xuRM.cjs} +8 -8
- package/dist/{send-8-CnqJTX.mjs → send-hCtrYHjk.mjs} +8 -8
- package/dist/{server-B-0TJW4B.cjs → server-BC1WoqwX.cjs} +6 -6
- package/dist/{server-CxmH3n3Y.mjs → server-C73IJReH.mjs} +4 -4
- package/dist/{sessionLock-BRaWaYhl.cjs → sessionLock-B78eUsZn.cjs} +3 -3
- package/dist/{sessionLock-Cg33c_Um.mjs → sessionLock-D5Mt-kl0.mjs} +3 -3
- package/dist/{sessionOps-1_wWgsXG.mjs → sessionOps-IQlrlpXx.mjs} +4 -4
- package/dist/{sessionOps-C-ms5bYE.cjs → sessionOps-Z0t9Sy6x.cjs} +4 -4
- package/dist/{sessionProvider-BKJ7EW-9.mjs → sessionProvider-8T4aF-U7.mjs} +5 -5
- package/dist/{sessionProvider-nbK5DYvh.cjs → sessionProvider-C0oC0cQ0.cjs} +5 -5
- package/dist/{sessionScanner-S7FsjWqu.cjs → sessionScanner-BHdRInLC.cjs} +3 -3
- package/dist/{sessionScanner-CGP1nnOy.mjs → sessionScanner-DW1TZj2O.mjs} +3 -3
- package/dist/{sessions-7B68T5D2.mjs → sessions-COgEytKt.mjs} +10 -10
- package/dist/{sessions-CwC-s7iA.cjs → sessions-iFR3MR2E.cjs} +10 -10
- package/dist/{setupOfflineReconnection-DSlXZLP9.mjs → setupOfflineReconnection-DXZKHKXk.mjs} +2 -2
- package/dist/{setupOfflineReconnection-D9BD_Cha.cjs → setupOfflineReconnection-YFeqV96O.cjs} +2 -2
- package/dist/{spawn-D4gyZP6A.cjs → spawn-8_ucIJAi.cjs} +12 -12
- package/dist/{spawn-CJ6ow1Et.mjs → spawn-Diu7Dy6k.mjs} +13 -13
- package/dist/{spawnHappyCLI-CKgAt8NU.cjs → spawnHappyCLI-BuzhxaUb.cjs} +1 -1
- package/dist/{spawnHappyCLI-BRcxn8Ui.mjs → spawnHappyCLI-CKOV5SN4.mjs} +1 -1
- package/dist/{startFileWatcher-DJ_IPi0y.mjs → startFileWatcher-BEiKblzC.mjs} +1 -1
- package/dist/{startFileWatcher-Baw_dgs_.cjs → startFileWatcher-YhoX-sbf.cjs} +1 -1
- package/dist/{startupSessionCreate-DeJNxWtb.mjs → startupSessionCreate-DZOZ_d4O.mjs} +3 -3
- package/dist/{startupSessionCreate-Cjl3wk3-.cjs → startupSessionCreate-mjEPEPs_.cjs} +3 -3
- package/dist/{sync-COxP1DF-.mjs → sync-BHsEZG8-.mjs} +1 -1
- package/dist/{sync-BqlAL8Iu.cjs → sync-BkxVNbmG.cjs} +1 -1
- package/dist/{systemPrompt-Ch052UGr.cjs → systemPrompt-CF39MlXL.cjs} +1 -1
- package/dist/{systemPrompt-bX3lhFwJ.mjs → systemPrompt-DVKEL0KU.mjs} +1 -1
- package/dist/{teams-B15InkZ8.cjs → teams-hkfoYZYl.cjs} +8 -8
- package/dist/{teams-DCCFeNBI.mjs → teams-zF_HSHny.mjs} +8 -8
- package/dist/{time-COyPPTSV.cjs → time-C1eHsyYl.cjs} +1 -1
- package/dist/{time-BHGz6WMO.mjs → time-PLmNnNT8.mjs} +1 -1
- package/dist/{titleGenerator-J99R5x-_.mjs → titleGenerator-B_9QYPm2.mjs} +1 -1
- package/dist/{titleGenerator-D4FFE3Mo.cjs → titleGenerator-DhB7M-Go.cjs} +2 -2
- package/dist/{todo-BZAJpKe1.mjs → todo-OkokZjAB.mjs} +7 -7
- package/dist/{todo-BHGF7oHm.cjs → todo-RDZfI_KT.cjs} +7 -7
- package/dist/{tools-Ck6hDYQh.mjs → tools-BrtfEQhr.mjs} +1 -1
- package/dist/{tools-DswZApdy.cjs → tools-bCceLykM.cjs} +1 -1
- package/dist/{uninstall-DUBwOYXT.cjs → uninstall-Cz7mXpuS.cjs} +3 -3
- package/dist/{uninstall-33r_D-SV.mjs → uninstall-pLwbtTh8.mjs} +3 -3
- package/package.json +7 -7
- package/dist/selfCheck-CUVp2nQo.mjs +0 -89
|
@@ -3,11 +3,11 @@
|
|
|
3
3
|
var node_child_process = require('node:child_process');
|
|
4
4
|
var sdk = require('@agentclientprotocol/sdk');
|
|
5
5
|
var node_crypto = require('node:crypto');
|
|
6
|
-
var logger = require('./logger-
|
|
7
|
-
var time = require('./time-
|
|
6
|
+
var logger = require('./logger-el0cE85h.cjs');
|
|
7
|
+
var time = require('./time-C1eHsyYl.cjs');
|
|
8
8
|
var contentLogMetadata = require('./contentLogMetadata-ZSFk_NjQ.cjs');
|
|
9
9
|
var processTree = require('./processTree-CMHWlVse.cjs');
|
|
10
|
-
var _package = require('./package-
|
|
10
|
+
var _package = require('./package-COEvA5iY.cjs');
|
|
11
11
|
|
|
12
12
|
function acpImageBlocks(attachments, supportsImages) {
|
|
13
13
|
return attachments.filter((file) => ["image/jpeg", "image/png", "image/gif", "image/webp"].includes(file.mimeType)).map((file) => {
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
import { spawn } from 'node:child_process';
|
|
2
2
|
import { ndJsonStream, ClientSideConnection } from '@agentclientprotocol/sdk';
|
|
3
3
|
import { randomUUID } from 'node:crypto';
|
|
4
|
-
import { l as logger } from './logger-
|
|
5
|
-
import { d as delay } from './time-
|
|
4
|
+
import { l as logger } from './logger-B3uJyacO.mjs';
|
|
5
|
+
import { d as delay } from './time-PLmNnNT8.mjs';
|
|
6
6
|
import { c as contentLogMetadata, e as errorLogMetadata } from './contentLogMetadata-BlWI0egu.mjs';
|
|
7
7
|
import { r as readableStderrTail, a as appendStderrRing, s as stopProcessGracefully, k as killProcessTree } from './processTree-CP5IvQ2Z.mjs';
|
|
8
|
-
import { p as packageJson } from './package-
|
|
8
|
+
import { p as packageJson } from './package-BObPhT96.mjs';
|
|
9
9
|
|
|
10
10
|
function acpImageBlocks(attachments, supportsImages) {
|
|
11
11
|
return attachments.filter((file) => ["image/jpeg", "image/png", "image/gif", "image/webp"].includes(file.mimeType)).map((file) => {
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
var cuid2 = require('@paralleldrive/cuid2');
|
|
4
4
|
var index = require('./index-BYL_X3gP.cjs');
|
|
5
|
-
var api = require('./api-
|
|
5
|
+
var api = require('./api-DD2Kb6PC.cjs');
|
|
6
6
|
|
|
7
7
|
function turnOptions(turnId, time) {
|
|
8
8
|
return turnId ? { turn: turnId, time } : { time };
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { createId } from '@paralleldrive/cuid2';
|
|
2
2
|
import { s as streamKeyOf, t as createEnvelope } from './index-DWk-WTU-.mjs';
|
|
3
|
-
import { t as textResultPayload, b as toolResultPayload } from './api-
|
|
3
|
+
import { t as textResultPayload, b as toolResultPayload } from './api-CSqHDB2c.mjs';
|
|
4
4
|
|
|
5
5
|
function turnOptions(turnId, time) {
|
|
6
6
|
return turnId ? { turn: turnId, time } : { time };
|
|
@@ -2,17 +2,17 @@
|
|
|
2
2
|
|
|
3
3
|
var chalk = require('chalk');
|
|
4
4
|
var promises = require('node:readline/promises');
|
|
5
|
-
var configuration = require('./configuration-
|
|
6
|
-
var controlClient = require('./controlClient-
|
|
5
|
+
var configuration = require('./configuration-DjajVIcC.cjs');
|
|
6
|
+
var controlClient = require('./controlClient-BpIuQ1Ns.cjs');
|
|
7
7
|
var accountService = require('./accountService-SOeB_21A.cjs');
|
|
8
8
|
require('node:fs');
|
|
9
9
|
require('node:os');
|
|
10
10
|
require('node:path');
|
|
11
|
-
require('./package-
|
|
11
|
+
require('./package-COEvA5iY.cjs');
|
|
12
12
|
require('node:fs/promises');
|
|
13
|
-
require('./logger-
|
|
13
|
+
require('./logger-el0cE85h.cjs');
|
|
14
14
|
require('node:util');
|
|
15
|
-
require('./persistence-
|
|
15
|
+
require('./persistence-Cuh7Fmqq.cjs');
|
|
16
16
|
require('zod');
|
|
17
17
|
require('./authRelay-Dy1qU9td.cjs');
|
|
18
18
|
require('node:crypto');
|
|
@@ -1,16 +1,16 @@
|
|
|
1
1
|
import chalk from 'chalk';
|
|
2
2
|
import { createInterface } from 'node:readline/promises';
|
|
3
|
-
import { c as configuration } from './configuration-
|
|
4
|
-
import { g as getDaemonAgentProfiles, r as restartDaemonSession, l as listDaemonSessions } from './controlClient-
|
|
3
|
+
import { c as configuration } from './configuration-DyUL3r3_.mjs';
|
|
4
|
+
import { g as getDaemonAgentProfiles, r as restartDaemonSession, l as listDaemonSessions } from './controlClient-HuyeDWsu.mjs';
|
|
5
5
|
import { A as AccountService, b as bindResultMessages, a as AccountError, l as localRestartFailure } from './accountService-CqrWNH8K.mjs';
|
|
6
6
|
import 'node:fs';
|
|
7
7
|
import 'node:os';
|
|
8
8
|
import 'node:path';
|
|
9
|
-
import './package-
|
|
9
|
+
import './package-BObPhT96.mjs';
|
|
10
10
|
import 'node:fs/promises';
|
|
11
|
-
import './logger-
|
|
11
|
+
import './logger-B3uJyacO.mjs';
|
|
12
12
|
import 'node:util';
|
|
13
|
-
import './persistence-
|
|
13
|
+
import './persistence-Bqjt2vfj.mjs';
|
|
14
14
|
import 'zod';
|
|
15
15
|
import './authRelay-DhQhkBvX.mjs';
|
|
16
16
|
import 'node:crypto';
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { mkdirSync, renameSync, existsSync, unlinkSync } from 'node:fs';
|
|
2
2
|
import { join } from 'node:path';
|
|
3
|
-
import { w as writePrivateFileSync, c as configuration } from './configuration-
|
|
3
|
+
import { w as writePrivateFileSync, c as configuration } from './configuration-DyUL3r3_.mjs';
|
|
4
4
|
|
|
5
5
|
const SESSION_MODE_DIR = "session-modes";
|
|
6
6
|
const ACP_PERMISSION_MODES = ["default", "acceptEdits", "plan", "bypassPermissions"];
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
var node_fs = require('node:fs');
|
|
4
4
|
var path = require('node:path');
|
|
5
|
-
var configuration = require('./configuration-
|
|
5
|
+
var configuration = require('./configuration-DjajVIcC.cjs');
|
|
6
6
|
|
|
7
7
|
const SESSION_MODE_DIR = "session-modes";
|
|
8
8
|
const ACP_PERMISSION_MODES = ["default", "acceptEdits", "plan", "bypassPermissions"];
|
|
@@ -2,14 +2,14 @@
|
|
|
2
2
|
|
|
3
3
|
var chalk = require('chalk');
|
|
4
4
|
var os = require('node:os');
|
|
5
|
-
var persistence = require('./persistence-
|
|
5
|
+
var persistence = require('./persistence-Cuh7Fmqq.cjs');
|
|
6
6
|
require('node:fs');
|
|
7
|
-
require('./logger-
|
|
7
|
+
require('./logger-el0cE85h.cjs');
|
|
8
8
|
var loginShellEnv = require('./loginShellEnv-BkuYtExZ.cjs');
|
|
9
9
|
require('node:fs/promises');
|
|
10
|
-
require('./configuration-
|
|
10
|
+
require('./configuration-DjajVIcC.cjs');
|
|
11
11
|
require('node:path');
|
|
12
|
-
require('./package-
|
|
12
|
+
require('./package-COEvA5iY.cjs');
|
|
13
13
|
require('zod');
|
|
14
14
|
require('./authRelay-Dy1qU9td.cjs');
|
|
15
15
|
require('node:crypto');
|
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
import chalk from 'chalk';
|
|
2
2
|
import { homedir } from 'node:os';
|
|
3
|
-
import { r as readSettings, u as updateSettings } from './persistence-
|
|
3
|
+
import { r as readSettings, u as updateSettings } from './persistence-Bqjt2vfj.mjs';
|
|
4
4
|
import 'node:fs';
|
|
5
|
-
import './logger-
|
|
5
|
+
import './logger-B3uJyacO.mjs';
|
|
6
6
|
import { d as describeAgentHome, p as probeLoginShellEnv, r as resolveAgentHomes, e as expandHomePath, A as AGENT_HOME_ENV_NAMES } from './loginShellEnv-Dw8M7tkI.mjs';
|
|
7
7
|
import 'node:fs/promises';
|
|
8
|
-
import './configuration-
|
|
8
|
+
import './configuration-DyUL3r3_.mjs';
|
|
9
9
|
import 'node:path';
|
|
10
|
-
import './package-
|
|
10
|
+
import './package-BObPhT96.mjs';
|
|
11
11
|
import 'zod';
|
|
12
12
|
import './authRelay-DhQhkBvX.mjs';
|
|
13
13
|
import 'node:crypto';
|
|
@@ -1,20 +1,20 @@
|
|
|
1
1
|
import axios from 'axios';
|
|
2
|
-
import { l as logger, a as redactLogValue } from './logger-
|
|
3
|
-
import { A as AsyncLock, S as SESSION_SUPERSEDED_ERROR, a as agentInstanceAuth, b as MAX_CHAT_ATTACHMENT_ENCRYPTED_BYTES, U as UserMessageSchema, F as FileEventMessageSchema, P as PushNotificationClient } from './pushNotifications-
|
|
4
|
-
import { R as RpcHandlerManager, a as answerSocketRequest, c as connectGuarded, s as socketConnectGuard, d as describeSocketAckDrop, b as safeAck, i as isRateQuotaCode, p as pauseForRateQuota, e as shouldReconnect, f as createReconnectGate } from './reconnectGate-
|
|
2
|
+
import { l as logger, a as redactLogValue } from './logger-B3uJyacO.mjs';
|
|
3
|
+
import { A as AsyncLock, S as SESSION_SUPERSEDED_ERROR, a as agentInstanceAuth, b as MAX_CHAT_ATTACHMENT_ENCRYPTED_BYTES, U as UserMessageSchema, F as FileEventMessageSchema, P as PushNotificationClient } from './pushNotifications-C4KS8SZe.mjs';
|
|
4
|
+
import { R as RpcHandlerManager, a as answerSocketRequest, c as connectGuarded, s as socketConnectGuard, d as describeSocketAckDrop, b as safeAck, i as isRateQuotaCode, p as pauseForRateQuota, e as shouldReconnect, f as createReconnectGate } from './reconnectGate-4HRVraOQ.mjs';
|
|
5
5
|
import { EventEmitter } from 'node:events';
|
|
6
6
|
import { io } from 'socket.io-client';
|
|
7
7
|
import { h as decrypt, d as decodeBase64, i as decryptBlob, e as encodeBase64, g as encrypt, l as libsodiumEncryptForPublicKey, j as libsodiumPublicKeyFromSecretKey, k as getRandomBytes } from './authRelay-DhQhkBvX.mjs';
|
|
8
8
|
import { p as prepareClipboardText, d as prepareClipboardHistoryText } from './limits-DIo7rEBR.mjs';
|
|
9
|
-
import { b as backoff, d as delay, e as exponentialBackoffDelay } from './time-
|
|
10
|
-
import { c as configuration } from './configuration-
|
|
9
|
+
import { b as backoff, d as delay, e as exponentialBackoffDelay } from './time-PLmNnNT8.mjs';
|
|
10
|
+
import { c as configuration } from './configuration-DyUL3r3_.mjs';
|
|
11
11
|
import { createHmac, randomUUID } from 'node:crypto';
|
|
12
12
|
import { t as createEnvelope, s as streamKeyOf, ag as ReleaseDrainNoticeSchema, ah as RelayAssignmentResponseSchema } from './index-DWk-WTU-.mjs';
|
|
13
|
-
import { r as registerCommonHandlers } from './registerCommonHandlers-
|
|
13
|
+
import { r as registerCommonHandlers } from './registerCommonHandlers-CZJBrvGH.mjs';
|
|
14
14
|
import { createId } from '@paralleldrive/cuid2';
|
|
15
|
-
import { I as InvalidateSync } from './sync-
|
|
15
|
+
import { I as InvalidateSync } from './sync-BHsEZG8-.mjs';
|
|
16
16
|
import { B as BackgroundTaskReporter } from './backgroundTaskActivity-8PdPxrvy.mjs';
|
|
17
|
-
import { t as notifyDaemonTurnEvent, u as notifyDaemonBackgroundTasks } from './controlClient-
|
|
17
|
+
import { t as notifyDaemonTurnEvent, u as notifyDaemonBackgroundTasks } from './controlClient-HuyeDWsu.mjs';
|
|
18
18
|
import chalk from 'chalk';
|
|
19
19
|
|
|
20
20
|
async function hmac_sha512(key, data) {
|
|
@@ -3203,7 +3203,7 @@ class ApiClient {
|
|
|
3203
3203
|
return new ApiSessionClient(this.credential.token, session, opts);
|
|
3204
3204
|
}
|
|
3205
3205
|
async machineSyncClient(machine) {
|
|
3206
|
-
const { ApiMachineClient } = await import('./apiMachine-
|
|
3206
|
+
const { ApiMachineClient } = await import('./apiMachine-glpowPBP.mjs');
|
|
3207
3207
|
return new ApiMachineClient(this.credential.token, machine);
|
|
3208
3208
|
}
|
|
3209
3209
|
push() {
|
|
@@ -1,22 +1,22 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
3
|
var axios = require('axios');
|
|
4
|
-
var logger = require('./logger-
|
|
5
|
-
var pushNotifications = require('./pushNotifications-
|
|
6
|
-
var reconnectGate = require('./reconnectGate-
|
|
4
|
+
var logger = require('./logger-el0cE85h.cjs');
|
|
5
|
+
var pushNotifications = require('./pushNotifications-B-NnyAOy.cjs');
|
|
6
|
+
var reconnectGate = require('./reconnectGate-CetSTiP3.cjs');
|
|
7
7
|
var node_events = require('node:events');
|
|
8
8
|
var socket_ioClient = require('socket.io-client');
|
|
9
9
|
var authRelay = require('./authRelay-Dy1qU9td.cjs');
|
|
10
10
|
var limits = require('./limits-C-a7gr04.cjs');
|
|
11
|
-
var time = require('./time-
|
|
12
|
-
var configuration = require('./configuration-
|
|
11
|
+
var time = require('./time-C1eHsyYl.cjs');
|
|
12
|
+
var configuration = require('./configuration-DjajVIcC.cjs');
|
|
13
13
|
var node_crypto = require('node:crypto');
|
|
14
14
|
var index = require('./index-BYL_X3gP.cjs');
|
|
15
|
-
var registerCommonHandlers = require('./registerCommonHandlers-
|
|
15
|
+
var registerCommonHandlers = require('./registerCommonHandlers-BQQSEBbH.cjs');
|
|
16
16
|
var cuid2 = require('@paralleldrive/cuid2');
|
|
17
|
-
var sync = require('./sync-
|
|
17
|
+
var sync = require('./sync-BkxVNbmG.cjs');
|
|
18
18
|
var backgroundTaskActivity = require('./backgroundTaskActivity-CBvUdj39.cjs');
|
|
19
|
-
var controlClient = require('./controlClient-
|
|
19
|
+
var controlClient = require('./controlClient-BpIuQ1Ns.cjs');
|
|
20
20
|
var chalk = require('chalk');
|
|
21
21
|
|
|
22
22
|
async function hmac_sha512(key, data) {
|
|
@@ -3205,7 +3205,7 @@ class ApiClient {
|
|
|
3205
3205
|
return new ApiSessionClient(this.credential.token, session, opts);
|
|
3206
3206
|
}
|
|
3207
3207
|
async machineSyncClient(machine) {
|
|
3208
|
-
const { ApiMachineClient } = await Promise.resolve().then(function () { return require('./apiMachine-
|
|
3208
|
+
const { ApiMachineClient } = await Promise.resolve().then(function () { return require('./apiMachine-B120yCAC.cjs'); });
|
|
3209
3209
|
return new ApiMachineClient(this.credential.token, machine);
|
|
3210
3210
|
}
|
|
3211
3211
|
push() {
|
|
@@ -1,47 +1,50 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
+
var node_fs = require('node:fs');
|
|
4
|
+
var promises = require('node:fs/promises');
|
|
5
|
+
var os = require('node:os');
|
|
6
|
+
var path = require('node:path');
|
|
7
|
+
var node_readline = require('node:readline');
|
|
8
|
+
var constants = require('./constants-VJ0N6WuG.cjs');
|
|
3
9
|
var socket_ioClient = require('socket.io-client');
|
|
4
10
|
var webPanels = require('./webPanels-FCgFKvVe.cjs');
|
|
5
|
-
var logger = require('./logger-
|
|
6
|
-
var reconnectGate = require('./reconnectGate-
|
|
7
|
-
var mirrorProtocol = require('./mirrorProtocol-
|
|
8
|
-
var configuration = require('./configuration-
|
|
11
|
+
var logger = require('./logger-el0cE85h.cjs');
|
|
12
|
+
var reconnectGate = require('./reconnectGate-CetSTiP3.cjs');
|
|
13
|
+
var mirrorProtocol = require('./mirrorProtocol-D02HTC80.cjs');
|
|
14
|
+
var configuration = require('./configuration-DjajVIcC.cjs');
|
|
9
15
|
var cliUpdate = require('./cliUpdate-DsKXPFYp.cjs');
|
|
10
|
-
var registerCommonHandlers = require('./registerCommonHandlers-
|
|
11
|
-
var promises = require('node:fs/promises');
|
|
12
|
-
var path = require('node:path');
|
|
13
|
-
var os = require('node:os');
|
|
16
|
+
var registerCommonHandlers = require('./registerCommonHandlers-BQQSEBbH.cjs');
|
|
14
17
|
var fsMkdir = require('./fsMkdir-0K3yENml.cjs');
|
|
15
18
|
var node_child_process = require('node:child_process');
|
|
16
|
-
var persistence = require('./persistence-
|
|
19
|
+
var persistence = require('./persistence-Cuh7Fmqq.cjs');
|
|
17
20
|
var fileStore = require('./fileStore-7qhnbs6N.cjs');
|
|
18
21
|
var index = require('./index-BYL_X3gP.cjs');
|
|
19
22
|
var accountService = require('./accountService-SOeB_21A.cjs');
|
|
20
23
|
var authRelay = require('./authRelay-Dy1qU9td.cjs');
|
|
21
24
|
var limits = require('./limits-C-a7gr04.cjs');
|
|
22
|
-
var time = require('./time-
|
|
25
|
+
var time = require('./time-C1eHsyYl.cjs');
|
|
23
26
|
var pty = require('node-pty');
|
|
24
27
|
var terminals = require('./terminals-dK3Lrjfp.cjs');
|
|
25
28
|
var tmuxSocket = require('./tmuxSocket-Dg11Olx0.cjs');
|
|
26
|
-
var index$1 = require('./index-
|
|
29
|
+
var index$1 = require('./index-DJ8lYOQz.cjs');
|
|
27
30
|
var node_crypto = require('node:crypto');
|
|
28
|
-
var node_fs = require('node:fs');
|
|
29
31
|
var axios = require('axios');
|
|
30
32
|
var projectPath = require('./projectPath-C3ioB4Bu.cjs');
|
|
31
33
|
var ids = require('./ids-B6ZC0HGt.cjs');
|
|
32
34
|
var detectCLI = require('./detectCLI-BuYR_Qxe.cjs');
|
|
33
|
-
var localHappyAgentAuth = require('./localHappyAgentAuth-
|
|
35
|
+
var localHappyAgentAuth = require('./localHappyAgentAuth-B_P4c1Gm.cjs');
|
|
34
36
|
var path$1 = require('./path-B7zW-WwE.cjs');
|
|
35
37
|
var oneShotPrompts = require('./oneShotPrompts-CL0dip9C.cjs');
|
|
36
|
-
var claudeSessionFork = require('./claudeSessionFork-
|
|
37
|
-
var codexAppServerClient = require('./codexAppServerClient-
|
|
38
|
+
var claudeSessionFork = require('./claudeSessionFork-Dkza0l7k.cjs');
|
|
39
|
+
var codexAppServerClient = require('./codexAppServerClient-1UQzZZVz.cjs');
|
|
38
40
|
var codexThreadFork = require('./codexThreadFork-C6ZmcT2z.cjs');
|
|
39
|
-
var rateLimitWindows = require('./rateLimitWindows-
|
|
41
|
+
var rateLimitWindows = require('./rateLimitWindows-CnmV6sQI.cjs');
|
|
42
|
+
require('./trimIdent-4gvk9Wk6.cjs');
|
|
40
43
|
require('chalk');
|
|
41
44
|
require('node:util');
|
|
42
45
|
require('os');
|
|
43
46
|
require('child_process');
|
|
44
|
-
require('./package-
|
|
47
|
+
require('./package-COEvA5iY.cjs');
|
|
45
48
|
require('util');
|
|
46
49
|
require('fs/promises');
|
|
47
50
|
require('crypto');
|
|
@@ -52,7 +55,6 @@ require('@paralleldrive/cuid2');
|
|
|
52
55
|
require('./claudeAccountEnv-BTZjHTpF.cjs');
|
|
53
56
|
require('./store-DGMILdMn.cjs');
|
|
54
57
|
require('./codexAccount-BjaHvmKH.cjs');
|
|
55
|
-
require('node:readline');
|
|
56
58
|
require('tweetnacl');
|
|
57
59
|
require('./terminalTitleSuggest-DhvRFX3H.cjs');
|
|
58
60
|
require('./loginShellEnv-BkuYtExZ.cjs');
|
|
@@ -82,6 +84,91 @@ function _interopNamespaceDefault(e) {
|
|
|
82
84
|
|
|
83
85
|
var pty__namespace = /*#__PURE__*/_interopNamespaceDefault(pty);
|
|
84
86
|
|
|
87
|
+
const HANDOFF_RECENT_MESSAGES = 12;
|
|
88
|
+
const HANDOFF_SUMMARY_CHARS = 12e3;
|
|
89
|
+
const HANDOFF_MESSAGE_CHARS = 1500;
|
|
90
|
+
const THREAD_ID = /^[0-9A-Za-z-]{8,64}$/;
|
|
91
|
+
const SUMMARY_PREAMBLE_END = "use the information in this summary to assist with your own analysis:";
|
|
92
|
+
const HEAD = 240;
|
|
93
|
+
function clip$1(text, max) {
|
|
94
|
+
return text.length > max ? `${text.slice(0, max)}\u2026` : text;
|
|
95
|
+
}
|
|
96
|
+
function isInjectedContext(text) {
|
|
97
|
+
return text.startsWith("<") || text.startsWith("# AGENTS.md");
|
|
98
|
+
}
|
|
99
|
+
function messageText(content, role) {
|
|
100
|
+
if (!Array.isArray(content)) return "";
|
|
101
|
+
const parts = content.flatMap((part) => (part?.type === "input_text" || part?.type === "output_text") && typeof part.text === "string" ? [part.text] : []);
|
|
102
|
+
let text = parts.filter((part) => role !== "user" || !isInjectedContext(part.trim())).join("\n").trim();
|
|
103
|
+
if (role === "user") {
|
|
104
|
+
const cut = text.indexOf(constants.CHANGE_TITLE_INSTRUCTION);
|
|
105
|
+
if (cut >= 0) text = text.slice(0, cut).trim();
|
|
106
|
+
}
|
|
107
|
+
return text;
|
|
108
|
+
}
|
|
109
|
+
function foldRolloutLine(state, line) {
|
|
110
|
+
const head = line.slice(0, HEAD);
|
|
111
|
+
const compacted = head.includes('"type":"compacted"');
|
|
112
|
+
const message = head.includes('"type":"response_item"') && head.includes('"payload":{"type":"message"');
|
|
113
|
+
if (!compacted && !message) return;
|
|
114
|
+
let entry;
|
|
115
|
+
try {
|
|
116
|
+
entry = JSON.parse(line);
|
|
117
|
+
} catch {
|
|
118
|
+
return;
|
|
119
|
+
}
|
|
120
|
+
const payload = entry.payload ?? {};
|
|
121
|
+
if (compacted) {
|
|
122
|
+
if (typeof payload.message === "string" && payload.message.trim()) {
|
|
123
|
+
const summary = payload.message.trim();
|
|
124
|
+
const preamble = summary.indexOf(SUMMARY_PREAMBLE_END);
|
|
125
|
+
const body = preamble >= 0 ? summary.slice(preamble + SUMMARY_PREAMBLE_END.length).trim() : summary;
|
|
126
|
+
state.summary = clip$1(body, HANDOFF_SUMMARY_CHARS);
|
|
127
|
+
state.recent = state.recent.filter((m) => !body.startsWith(m.text.replace(/…$/, "")));
|
|
128
|
+
}
|
|
129
|
+
return;
|
|
130
|
+
}
|
|
131
|
+
if (payload.role !== "user" && payload.role !== "assistant") return;
|
|
132
|
+
const text = messageText(payload.content, payload.role);
|
|
133
|
+
if (!text || payload.role === "assistant" && state.summary?.startsWith(text)) return;
|
|
134
|
+
state.recent.push({ role: payload.role, text: clip$1(text, HANDOFF_MESSAGE_CHARS) });
|
|
135
|
+
if (state.recent.length > HANDOFF_RECENT_MESSAGES) state.recent.shift();
|
|
136
|
+
}
|
|
137
|
+
async function readCodexHandoff(rolloutPath) {
|
|
138
|
+
const state = { summary: null, recent: [] };
|
|
139
|
+
const lines = node_readline.createInterface({ input: node_fs.createReadStream(rolloutPath), crlfDelay: Infinity });
|
|
140
|
+
for await (const line of lines) foldRolloutLine(state, line);
|
|
141
|
+
return state;
|
|
142
|
+
}
|
|
143
|
+
async function findCodexRollout(threadId, codexHome = process.env.CODEX_HOME || path.join(os.homedir(), ".codex")) {
|
|
144
|
+
if (!THREAD_ID.test(threadId)) return null;
|
|
145
|
+
const suffix = `-${threadId}.jsonl`;
|
|
146
|
+
const walk = async (dir, depth) => {
|
|
147
|
+
let names;
|
|
148
|
+
try {
|
|
149
|
+
names = await promises.readdir(dir);
|
|
150
|
+
} catch {
|
|
151
|
+
return null;
|
|
152
|
+
}
|
|
153
|
+
const hit = names.find((name) => name.startsWith("rollout-") && name.endsWith(suffix));
|
|
154
|
+
if (hit) return path.join(dir, hit);
|
|
155
|
+
if (depth === 0) return null;
|
|
156
|
+
for (const name of names.sort().reverse()) {
|
|
157
|
+
if (name.endsWith(".jsonl")) continue;
|
|
158
|
+
const path$1 = path.join(dir, name);
|
|
159
|
+
try {
|
|
160
|
+
if (!(await promises.stat(path$1)).isDirectory()) continue;
|
|
161
|
+
} catch {
|
|
162
|
+
continue;
|
|
163
|
+
}
|
|
164
|
+
const found = await walk(path$1, depth - 1);
|
|
165
|
+
if (found) return found;
|
|
166
|
+
}
|
|
167
|
+
return null;
|
|
168
|
+
};
|
|
169
|
+
return await walk(path.join(codexHome, "sessions"), 3) ?? await walk(path.join(codexHome, "archived_sessions"), 3);
|
|
170
|
+
}
|
|
171
|
+
|
|
85
172
|
const FS_LIST_MAX_ENTRIES = 2e3;
|
|
86
173
|
const FS_READ_MAX_BYTES = 512 * 1024;
|
|
87
174
|
const BINARY_SNIFF_BYTES = 8192;
|
|
@@ -11374,6 +11461,12 @@ class ApiMachineClient {
|
|
|
11374
11461
|
}));
|
|
11375
11462
|
return result;
|
|
11376
11463
|
});
|
|
11464
|
+
this.rpcHandlerManager.registerHandler("codex-handoff-context", async (params) => {
|
|
11465
|
+
const codexThreadId = requireNonEmptyString(params?.codexThreadId, "codexThreadId");
|
|
11466
|
+
const rollout = await findCodexRollout(codexThreadId);
|
|
11467
|
+
if (!rollout) return { type: "error", error: "The Codex transcript of this thread was not found on this machine" };
|
|
11468
|
+
return { type: "success", ...await readCodexHandoff(rollout) };
|
|
11469
|
+
});
|
|
11377
11470
|
this.rpcHandlerManager.registerHandler("codex-list-rewind-points", async (params) => {
|
|
11378
11471
|
const codexThreadId = requireNonEmptyString(params?.codexThreadId, "codexThreadId");
|
|
11379
11472
|
return withCodexAppServerClient(async (client) => {
|
|
@@ -1,45 +1,48 @@
|
|
|
1
|
+
import { createReadStream, readdirSync, unlinkSync, existsSync, mkdirSync, writeFileSync, readFileSync, statSync, chmodSync, renameSync, rmSync, accessSync, constants } from 'node:fs';
|
|
2
|
+
import { readdir, stat, lstat, open, readFile, rm, mkdir, chmod, writeFile, rename } from 'node:fs/promises';
|
|
3
|
+
import os, { homedir } from 'node:os';
|
|
4
|
+
import { join, isAbsolute, resolve } from 'node:path';
|
|
5
|
+
import { createInterface } from 'node:readline';
|
|
6
|
+
import { C as CHANGE_TITLE_INSTRUCTION } from './constants-BC4St0xd.mjs';
|
|
1
7
|
import { io } from 'socket.io-client';
|
|
2
8
|
import { a as webPanelsSignature } from './webPanels-B2_C2-3g.mjs';
|
|
3
|
-
import { l as logger } from './logger-
|
|
4
|
-
import { R as RpcHandlerManager, i as isRateQuotaCode, p as pauseForRateQuota, s as socketConnectGuard, c as connectGuarded, a as answerSocketRequest, e as shouldReconnect, f as createReconnectGate, d as describeSocketAckDrop } from './reconnectGate-
|
|
5
|
-
import { i as isClaudeSessionId, s as stableVersion, a as sanitizeTagList, p as projectField, b as pickMirrorForTerminal, l as liveSnapshotChanged, c as sanitizeLiveSnapshot, d as serializeLiveSnapshot, r as registerWorktreeHandlers, e as configureWorktreeService, f as summarizeSpawnSessionForLog, g as parseMirrorSendParams } from './mirrorProtocol-
|
|
6
|
-
import { c as configuration } from './configuration-
|
|
9
|
+
import { l as logger } from './logger-B3uJyacO.mjs';
|
|
10
|
+
import { R as RpcHandlerManager, i as isRateQuotaCode, p as pauseForRateQuota, s as socketConnectGuard, c as connectGuarded, a as answerSocketRequest, e as shouldReconnect, f as createReconnectGate, d as describeSocketAckDrop } from './reconnectGate-4HRVraOQ.mjs';
|
|
11
|
+
import { i as isClaudeSessionId, s as stableVersion, a as sanitizeTagList, p as projectField, b as pickMirrorForTerminal, l as liveSnapshotChanged, c as sanitizeLiveSnapshot, d as serializeLiveSnapshot, r as registerWorktreeHandlers, e as configureWorktreeService, f as summarizeSpawnSessionForLog, g as parseMirrorSendParams } from './mirrorProtocol-BqPADAVi.mjs';
|
|
12
|
+
import { c as configuration } from './configuration-DyUL3r3_.mjs';
|
|
7
13
|
import { w as withCurrentCliUpdateState } from './cliUpdate-Y34VGe9Y.mjs';
|
|
8
|
-
import { r as registerCommonHandlers } from './registerCommonHandlers-
|
|
9
|
-
import { stat, readdir, lstat, open, readFile, rm, mkdir, chmod, writeFile, rename } from 'node:fs/promises';
|
|
10
|
-
import { join, isAbsolute, resolve } from 'node:path';
|
|
11
|
-
import os, { homedir } from 'node:os';
|
|
14
|
+
import { r as registerCommonHandlers } from './registerCommonHandlers-CZJBrvGH.mjs';
|
|
12
15
|
import { f as fsMkdir } from './fsMkdir-DumgLTzR.mjs';
|
|
13
16
|
import { spawn, execFile, spawnSync } from 'node:child_process';
|
|
14
|
-
import { r as readSettings, c as readPersistedSessions, p as readTrackedClaudeSessionIds, q as readTrackedCodexThreadIds } from './persistence-
|
|
17
|
+
import { r as readSettings, c as readPersistedSessions, p as readTrackedClaudeSessionIds, q as readTrackedCodexThreadIds } from './persistence-Bqjt2vfj.mjs';
|
|
15
18
|
import { M as ModelConfigError } from './fileStore-5qpetZS0.mjs';
|
|
16
19
|
import { am as AGENT_PROFILE_RPC, an as RelayCandidatesResponseSchema, ah as RelayAssignmentResponseSchema, ag as ReleaseDrainNoticeSchema } from './index-DWk-WTU-.mjs';
|
|
17
20
|
import { a as AccountError } from './accountService-CqrWNH8K.mjs';
|
|
18
21
|
import { e as encodeBase64, g as encrypt, h as decrypt, d as decodeBase64 } from './authRelay-DhQhkBvX.mjs';
|
|
19
22
|
import { p as prepareClipboardText, d as prepareClipboardHistoryText } from './limits-DIo7rEBR.mjs';
|
|
20
|
-
import { b as backoff, d as delay } from './time-
|
|
23
|
+
import { b as backoff, d as delay } from './time-PLmNnNT8.mjs';
|
|
21
24
|
import * as pty from 'node-pty';
|
|
22
25
|
import { a as attachStartupCommand, v as validateTerminalTags, d as deriveAutoTitle, T as TMUX_SESSION_ID_RE, i as isSafeTmuxSessionName, b as isVhSessionName, U as USER_SESSIONS_FORMAT, p as parseUserSessions, L as LIST_SESSIONS_FORMAT, c as parseSessionListLine, e as LIST_FIELD_SEP, s as sendToVhTerminal } from './terminals-Dc38XmZv.mjs';
|
|
23
26
|
import { t as tmuxArgs, V as VH_TMUX_SOCKET_ENV, v as validateTerminalProjectId, a as scrubTmuxClientEnv } from './tmuxSocket-BmZyixRM.mjs';
|
|
24
|
-
import { locateClaudeConversation, refreshAgentHomes } from './index-
|
|
27
|
+
import { locateClaudeConversation, refreshAgentHomes } from './index-CdEG8IE-.mjs';
|
|
25
28
|
import { randomBytes } from 'node:crypto';
|
|
26
|
-
import { readdirSync, unlinkSync, existsSync, mkdirSync, writeFileSync, readFileSync, statSync, chmodSync, renameSync, rmSync, accessSync, constants } from 'node:fs';
|
|
27
29
|
import axios from 'axios';
|
|
28
30
|
import { p as projectPath } from './projectPath-BTBIMB57.mjs';
|
|
29
31
|
import { a as isValidTerminalId } from './ids-DU6sLx4C.mjs';
|
|
30
32
|
import { d as detectCLIAvailability } from './detectCLI-CSGMlV51.mjs';
|
|
31
|
-
import { d as detectResumeSupport } from './localHappyAgentAuth-
|
|
33
|
+
import { d as detectResumeSupport } from './localHappyAgentAuth-3xKBQJOa.mjs';
|
|
32
34
|
import { g as getProjectPath, a as getClaudeProjectsRoot } from './path-D2wdaNSk.mjs';
|
|
33
35
|
import { i as isVeryHappyOneShotPrompt } from './oneShotPrompts-DT4p6RNd.mjs';
|
|
34
|
-
import { f as forkSession, F as ForkSourceMissingError, d as discardForkedSession, l as listClaudeRewindPoints, b as forkAndTruncateSession, c as ForkTruncateUuidNotFoundError, e as forkBeforeUserMessage, a as forkCompletedTurns } from './claudeSessionFork-
|
|
35
|
-
import { C as CodexAppServerClient } from './codexAppServerClient-
|
|
36
|
+
import { f as forkSession, F as ForkSourceMissingError, d as discardForkedSession, l as listClaudeRewindPoints, b as forkAndTruncateSession, c as ForkTruncateUuidNotFoundError, e as forkBeforeUserMessage, a as forkCompletedTurns } from './claudeSessionFork-BJgKcXCZ.mjs';
|
|
37
|
+
import { C as CodexAppServerClient } from './codexAppServerClient-4OO0KZot.mjs';
|
|
36
38
|
import { f as forkCodexThread, C as CodexForkRewindPointNotFoundError, l as listCodexRewindPoints, b as forkCodexBeforeUserMessage, a as forkCodexCompletedTurns } from './codexThreadFork-CVzAqELg.mjs';
|
|
37
|
-
import { p as planRateLimitWrite, m as mergeRateLimitReports } from './rateLimitWindows-
|
|
39
|
+
import { p as planRateLimitWrite, m as mergeRateLimitReports } from './rateLimitWindows-CrWlGKPl.mjs';
|
|
40
|
+
import './trimIdent-BAjmv_TG.mjs';
|
|
38
41
|
import 'chalk';
|
|
39
42
|
import 'node:util';
|
|
40
43
|
import 'os';
|
|
41
44
|
import 'child_process';
|
|
42
|
-
import './package-
|
|
45
|
+
import './package-BObPhT96.mjs';
|
|
43
46
|
import 'util';
|
|
44
47
|
import 'fs/promises';
|
|
45
48
|
import 'crypto';
|
|
@@ -50,17 +53,101 @@ import '@paralleldrive/cuid2';
|
|
|
50
53
|
import './claudeAccountEnv-C6Wl-ZbT.mjs';
|
|
51
54
|
import './store-Fge1h9wy.mjs';
|
|
52
55
|
import './codexAccount-BPQ-lPhH.mjs';
|
|
53
|
-
import 'node:readline';
|
|
54
56
|
import 'tweetnacl';
|
|
55
57
|
import './terminalTitleSuggest-CeKsX_V6.mjs';
|
|
56
58
|
import './loginShellEnv-Dw8M7tkI.mjs';
|
|
57
59
|
import 'url';
|
|
58
60
|
import 'fs';
|
|
59
61
|
import './contentLogMetadata-BlWI0egu.mjs';
|
|
60
|
-
import './manager-
|
|
62
|
+
import './manager-2Il8XJVq.mjs';
|
|
61
63
|
import '@anthropic-ai/sandbox-runtime';
|
|
62
64
|
import './processTree-CP5IvQ2Z.mjs';
|
|
63
65
|
|
|
66
|
+
const HANDOFF_RECENT_MESSAGES = 12;
|
|
67
|
+
const HANDOFF_SUMMARY_CHARS = 12e3;
|
|
68
|
+
const HANDOFF_MESSAGE_CHARS = 1500;
|
|
69
|
+
const THREAD_ID = /^[0-9A-Za-z-]{8,64}$/;
|
|
70
|
+
const SUMMARY_PREAMBLE_END = "use the information in this summary to assist with your own analysis:";
|
|
71
|
+
const HEAD = 240;
|
|
72
|
+
function clip$1(text, max) {
|
|
73
|
+
return text.length > max ? `${text.slice(0, max)}\u2026` : text;
|
|
74
|
+
}
|
|
75
|
+
function isInjectedContext(text) {
|
|
76
|
+
return text.startsWith("<") || text.startsWith("# AGENTS.md");
|
|
77
|
+
}
|
|
78
|
+
function messageText(content, role) {
|
|
79
|
+
if (!Array.isArray(content)) return "";
|
|
80
|
+
const parts = content.flatMap((part) => (part?.type === "input_text" || part?.type === "output_text") && typeof part.text === "string" ? [part.text] : []);
|
|
81
|
+
let text = parts.filter((part) => role !== "user" || !isInjectedContext(part.trim())).join("\n").trim();
|
|
82
|
+
if (role === "user") {
|
|
83
|
+
const cut = text.indexOf(CHANGE_TITLE_INSTRUCTION);
|
|
84
|
+
if (cut >= 0) text = text.slice(0, cut).trim();
|
|
85
|
+
}
|
|
86
|
+
return text;
|
|
87
|
+
}
|
|
88
|
+
function foldRolloutLine(state, line) {
|
|
89
|
+
const head = line.slice(0, HEAD);
|
|
90
|
+
const compacted = head.includes('"type":"compacted"');
|
|
91
|
+
const message = head.includes('"type":"response_item"') && head.includes('"payload":{"type":"message"');
|
|
92
|
+
if (!compacted && !message) return;
|
|
93
|
+
let entry;
|
|
94
|
+
try {
|
|
95
|
+
entry = JSON.parse(line);
|
|
96
|
+
} catch {
|
|
97
|
+
return;
|
|
98
|
+
}
|
|
99
|
+
const payload = entry.payload ?? {};
|
|
100
|
+
if (compacted) {
|
|
101
|
+
if (typeof payload.message === "string" && payload.message.trim()) {
|
|
102
|
+
const summary = payload.message.trim();
|
|
103
|
+
const preamble = summary.indexOf(SUMMARY_PREAMBLE_END);
|
|
104
|
+
const body = preamble >= 0 ? summary.slice(preamble + SUMMARY_PREAMBLE_END.length).trim() : summary;
|
|
105
|
+
state.summary = clip$1(body, HANDOFF_SUMMARY_CHARS);
|
|
106
|
+
state.recent = state.recent.filter((m) => !body.startsWith(m.text.replace(/…$/, "")));
|
|
107
|
+
}
|
|
108
|
+
return;
|
|
109
|
+
}
|
|
110
|
+
if (payload.role !== "user" && payload.role !== "assistant") return;
|
|
111
|
+
const text = messageText(payload.content, payload.role);
|
|
112
|
+
if (!text || payload.role === "assistant" && state.summary?.startsWith(text)) return;
|
|
113
|
+
state.recent.push({ role: payload.role, text: clip$1(text, HANDOFF_MESSAGE_CHARS) });
|
|
114
|
+
if (state.recent.length > HANDOFF_RECENT_MESSAGES) state.recent.shift();
|
|
115
|
+
}
|
|
116
|
+
async function readCodexHandoff(rolloutPath) {
|
|
117
|
+
const state = { summary: null, recent: [] };
|
|
118
|
+
const lines = createInterface({ input: createReadStream(rolloutPath), crlfDelay: Infinity });
|
|
119
|
+
for await (const line of lines) foldRolloutLine(state, line);
|
|
120
|
+
return state;
|
|
121
|
+
}
|
|
122
|
+
async function findCodexRollout(threadId, codexHome = process.env.CODEX_HOME || join(homedir(), ".codex")) {
|
|
123
|
+
if (!THREAD_ID.test(threadId)) return null;
|
|
124
|
+
const suffix = `-${threadId}.jsonl`;
|
|
125
|
+
const walk = async (dir, depth) => {
|
|
126
|
+
let names;
|
|
127
|
+
try {
|
|
128
|
+
names = await readdir(dir);
|
|
129
|
+
} catch {
|
|
130
|
+
return null;
|
|
131
|
+
}
|
|
132
|
+
const hit = names.find((name) => name.startsWith("rollout-") && name.endsWith(suffix));
|
|
133
|
+
if (hit) return join(dir, hit);
|
|
134
|
+
if (depth === 0) return null;
|
|
135
|
+
for (const name of names.sort().reverse()) {
|
|
136
|
+
if (name.endsWith(".jsonl")) continue;
|
|
137
|
+
const path = join(dir, name);
|
|
138
|
+
try {
|
|
139
|
+
if (!(await stat(path)).isDirectory()) continue;
|
|
140
|
+
} catch {
|
|
141
|
+
continue;
|
|
142
|
+
}
|
|
143
|
+
const found = await walk(path, depth - 1);
|
|
144
|
+
if (found) return found;
|
|
145
|
+
}
|
|
146
|
+
return null;
|
|
147
|
+
};
|
|
148
|
+
return await walk(join(codexHome, "sessions"), 3) ?? await walk(join(codexHome, "archived_sessions"), 3);
|
|
149
|
+
}
|
|
150
|
+
|
|
64
151
|
const FS_LIST_MAX_ENTRIES = 2e3;
|
|
65
152
|
const FS_READ_MAX_BYTES = 512 * 1024;
|
|
66
153
|
const BINARY_SNIFF_BYTES = 8192;
|
|
@@ -11353,6 +11440,12 @@ class ApiMachineClient {
|
|
|
11353
11440
|
}));
|
|
11354
11441
|
return result;
|
|
11355
11442
|
});
|
|
11443
|
+
this.rpcHandlerManager.registerHandler("codex-handoff-context", async (params) => {
|
|
11444
|
+
const codexThreadId = requireNonEmptyString(params?.codexThreadId, "codexThreadId");
|
|
11445
|
+
const rollout = await findCodexRollout(codexThreadId);
|
|
11446
|
+
if (!rollout) return { type: "error", error: "The Codex transcript of this thread was not found on this machine" };
|
|
11447
|
+
return { type: "success", ...await readCodexHandoff(rollout) };
|
|
11448
|
+
});
|
|
11356
11449
|
this.rpcHandlerManager.registerHandler("codex-list-rewind-points", async (params) => {
|
|
11357
11450
|
const codexThreadId = requireNonEmptyString(params?.codexThreadId, "codexThreadId");
|
|
11358
11451
|
return withCodexAppServerClient(async (client) => {
|
|
@@ -3,8 +3,8 @@
|
|
|
3
3
|
var node_crypto = require('node:crypto');
|
|
4
4
|
var promises = require('node:fs/promises');
|
|
5
5
|
var path = require('node:path');
|
|
6
|
-
var pushNotifications = require('./pushNotifications-
|
|
7
|
-
var configuration = require('./configuration-
|
|
6
|
+
var pushNotifications = require('./pushNotifications-B-NnyAOy.cjs');
|
|
7
|
+
var configuration = require('./configuration-DjajVIcC.cjs');
|
|
8
8
|
|
|
9
9
|
const CLAUDE_ATTACHMENT_KINDS = [
|
|
10
10
|
"image/jpeg",
|