very-happy-cli 0.2.180 → 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-DfRDtMcG.cjs → AcpBackend-CgHb_ya5.cjs} +3 -3
- package/dist/{AcpBackend-B8Zi30Zh.mjs → AcpBackend-DZGCSuXF.mjs} +3 -3
- package/dist/{AcpSessionManager-CASKOnOj.cjs → AcpSessionManager-CacC2EVn.cjs} +1 -1
- package/dist/{AcpSessionManager-i8Rab0xT.mjs → AcpSessionManager-DwuPzWBh.mjs} +1 -1
- package/dist/{BasePermissionHandler-BlM_tfej.cjs → BasePermissionHandler-DCP8ZEB4.cjs} +1 -1
- package/dist/{BasePermissionHandler-26fKbRCm.mjs → BasePermissionHandler-Uo-GUjbb.mjs} +1 -1
- package/dist/{acpSessionResume-B9l54P-X.mjs → acpSessionResume-9OLTD6kT.mjs} +1 -1
- package/dist/{acpSessionResume-CR5pmgVo.cjs → acpSessionResume-BaVMD80f.cjs} +1 -1
- package/dist/{agentHome-CmGy0NWv.mjs → agentHome-B1BsKeqD.mjs} +4 -4
- package/dist/{agentHome-C7Sb7-Tz.cjs → agentHome-BtUmGcPX.cjs} +4 -4
- package/dist/{api-DM7b1OKj.cjs → api-COHFAkb_.cjs} +10 -10
- package/dist/{api-Hov8p7CA.mjs → api-Dr3wXL_7.mjs} +10 -10
- package/dist/{apiMachine-CwGEhQDT.mjs → apiMachine-CHEzPQdS.mjs} +54 -32
- package/dist/{apiMachine-DkGRj-Ai.cjs → apiMachine-D8H7CXaz.cjs} +55 -33
- package/dist/{attachmentContent-CIn4iPEk.mjs → attachmentContent-1YwtKgWl.mjs} +2 -2
- package/dist/{attachmentContent-CEm13_gF.cjs → attachmentContent-mIhbtRKl.cjs} +2 -2
- package/dist/{auth-rggxMpEE.mjs → auth-CbZkcMAb.mjs} +8 -8
- package/dist/{auth-CBXnm-Mj.cjs → auth-CgQP7d0q.cjs} +5 -5
- package/dist/{auth-BG1DY0gj.mjs → auth-DZsthtSk.mjs} +5 -5
- package/dist/{auth-Dawj7pP5.cjs → auth-Fg8fLadK.cjs} +8 -8
- package/dist/{auto-CbYOfoPS.cjs → auto-BB7kqSh5.cjs} +18 -18
- package/dist/{auto-CXXLXGeL.mjs → auto-_T-Ud-z5.mjs} +18 -18
- package/dist/{bootstrap-Dt5I1SOl.mjs → bootstrap-B6EkZh4u.mjs} +2 -2
- package/dist/{bootstrap-DoA7okld.cjs → bootstrap-CYtOtbi7.cjs} +2 -2
- package/dist/{browser-DUNetFT4.mjs → browser-C2qhUHSE.mjs} +1 -1
- package/dist/{browser-DZ6qRtfH.cjs → browser-DjNNQQk2.cjs} +1 -1
- package/dist/{claudeLocal-OHWQigCl.mjs → claudeLocal-BAFjWhZ8.mjs} +6 -6
- package/dist/{claudeLocal--DNyMOSv.cjs → claudeLocal-O_w7-fBh.cjs} +6 -6
- package/dist/{claudeLocalLauncher-BStvfa7M.mjs → claudeLocalLauncher-CWn30LZR.mjs} +11 -11
- package/dist/{claudeLocalLauncher-BhvPbcyH.cjs → claudeLocalLauncher-Df3zg1q0.cjs} +11 -11
- package/dist/{claudeSessionFork-GAVWhiKG.mjs → claudeSessionFork-2ZkSTOGn.mjs} +1 -1
- package/dist/{claudeSessionFork-Be16vzGc.cjs → claudeSessionFork-pwcKqB-e.cjs} +1 -1
- package/dist/{client-Ca5Pcgy_.mjs → client-BKyU66lg.mjs} +2 -2
- package/dist/{client-D_loZ9IK.cjs → client-CUO3ItoB.cjs} +34 -8
- package/dist/{client-CnB7kRCT.mjs → client-CXOnzuOy.mjs} +2 -2
- package/dist/{client-DJplzPjD.cjs → client-DWs6k041.cjs} +2 -2
- package/dist/{client-BWjaHKtj.cjs → client-D_U2VjO3.cjs} +2 -2
- package/dist/{client-D4uPb1uu.mjs → client-DsQcxVUV.mjs} +34 -9
- package/dist/codex/happyMcpStdioBridge.cjs +17 -17
- package/dist/codex/happyMcpStdioBridge.mjs +17 -17
- package/dist/{codexAppServerClient-PE-12AsW.cjs → codexAppServerClient-BRX3JZ_5.cjs} +3 -3
- package/dist/{codexAppServerClient-CO4G6OS4.mjs → codexAppServerClient-C3JO3pwM.mjs} +3 -3
- package/dist/{codexCommand-B_xUH79E.mjs → codexCommand-BZIAAqKS.mjs} +47 -45
- package/dist/{codexCommand-BNoD1t1C.cjs → codexCommand-dKOc5iQl.cjs} +47 -45
- package/dist/{codexTermination-BmBbizFK.cjs → codexTermination-BVR9HeVI.cjs} +1 -1
- package/dist/{codexTermination-Dx48ma6e.mjs → codexTermination-ztFkwHrG.mjs} +1 -1
- package/dist/{config-DSu0Blos.mjs → config-NbHjx8ge.mjs} +3 -3
- package/dist/{config-CtwEUxUP.cjs → config-cftYxLC7.cjs} +3 -3
- package/dist/{configuration-PxzEJumr.mjs → configuration-BPrfb17M.mjs} +1 -1
- package/dist/{configuration-CYO-kPOS.cjs → configuration-C8JgseHy.cjs} +1 -1
- package/dist/{connect-Dq7wndzR.cjs → connect-Br8VMrK1.cjs} +13 -13
- package/dist/{connect-BQrg3TB6.mjs → connect-CLD1ai0k.mjs} +13 -13
- package/dist/{context-6TP-iz_c.cjs → context-D1lgQTJC.cjs} +1 -1
- package/dist/{context-CJGRRGWW.mjs → context-_YGq8xdH.mjs} +1 -1
- package/dist/{controlClient-DoeYovwP.mjs → controlClient-CkNpT5zS.mjs} +3 -3
- package/dist/{controlClient-Bqv5v5OM.cjs → controlClient-D68Zj7Q-.cjs} +3 -3
- package/dist/{createSessionMetadata-DDIChCx8.mjs → createSessionMetadata-3WAj3_xl.mjs} +2 -2
- package/dist/{createSessionMetadata-xz767pcG.cjs → createSessionMetadata-DNIbKLHg.cjs} +2 -2
- package/dist/{defaultPermissionMode-PkZGsQDk.cjs → defaultPermissionMode-BmvjP32v.cjs} +2 -2
- package/dist/{defaultPermissionMode-i5KzdK09.mjs → defaultPermissionMode-DXMznl8v.mjs} +2 -2
- package/dist/{deterministicJson-xqA6DaOm.cjs → deterministicJson-BS7D7URE.cjs} +87 -22
- package/dist/{deterministicJson-CTEJDqtS.mjs → deterministicJson-BcBIKKf1.mjs} +87 -24
- package/dist/{doctor-BrgSlfXn.cjs → doctor-Be7zC0AF.cjs} +8 -7
- package/dist/{doctor-IctjVh9T.mjs → doctor-CoOaPq6w.mjs} +8 -8
- package/dist/{downloadTarget-jbOz1egC.mjs → downloadTarget-CeaAXdJj.mjs} +6 -6
- package/dist/{downloadTarget-CEb9che-.cjs → downloadTarget-LyOiucn_.cjs} +6 -6
- package/dist/{ensureDaemonRunning-b1e8LCSM.mjs → ensureDaemonRunning--98j7-17.mjs} +5 -5
- package/dist/{ensureDaemonRunning-D-HyjGIX.cjs → ensureDaemonRunning-B8z37VKD.cjs} +5 -5
- package/dist/fileStore-5qpetZS0.mjs +146 -0
- package/dist/fileStore-7qhnbs6N.cjs +152 -0
- package/dist/{handleResumeCommand-BvWVuRwH.cjs → handleResumeCommand-BFZlrFVH.cjs} +5 -5
- package/dist/{handleResumeCommand-DpaZvm2c.mjs → handleResumeCommand-gO8I4keP.mjs} +5 -5
- package/dist/{index-B2p2Mut7.cjs → index-B5PXbZjW.cjs} +77 -60
- package/dist/{index-F2UejqYs.cjs → index-BRMq9gOe.cjs} +3 -3
- package/dist/{index-C64Ufj4D.cjs → index-BkluinoS.cjs} +4 -4
- package/dist/{index-Bsvbgh9e.mjs → index-CO0n9ue6.mjs} +4 -4
- package/dist/{index-C6Vn5Eac.mjs → index-CeRXrGnH.mjs} +39 -6
- package/dist/{index-Dv0Q48P3.cjs → index-Df2eHm3O.cjs} +40 -6
- package/dist/{index-BUNnpGFF.mjs → index-DneHoQXf.mjs} +78 -61
- package/dist/{index-CMf5VbzG.mjs → index-WUj3954m.mjs} +4 -4
- package/dist/{index-wCbtF4BK.mjs → index-hQ8LP1C2.mjs} +3 -3
- package/dist/{index-DmTlDRSL.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-CdzSV7qO.mjs → install-DkYFiVK4.mjs} +3 -3
- package/dist/{install-C0ANcEAW.cjs → install-FqkSUjPC.cjs} +3 -3
- package/dist/lib.cjs +12 -12
- package/dist/lib.d.cts +39 -1
- package/dist/lib.d.mts +39 -1
- package/dist/lib.mjs +12 -12
- package/dist/{lidState-bBrmaQd2.mjs → lidState-DghbfRbr.mjs} +1 -1
- package/dist/{lidState-DWGnm2H4.cjs → lidState-x8cJ8J_9.cjs} +1 -1
- package/dist/{localHappyAgentAuth-DZHQnIW9.cjs → localHappyAgentAuth-DZ2kb9uq.cjs} +1 -1
- package/dist/{localHappyAgentAuth-Dn1jYDpt.mjs → localHappyAgentAuth-IKmeRpuQ.mjs} +1 -1
- package/dist/{logger-CphW5nUE.cjs → logger-DgBwUSgS.cjs} +2 -2
- package/dist/{logger-BUngm5Xg.mjs → logger-LFr8iPgl.mjs} +2 -2
- package/dist/{machineMetadata-BXN_bKU3.mjs → machineMetadata-BglCsfvf.mjs} +11 -4
- package/dist/{machineMetadata-BQm9YTcI.cjs → machineMetadata-DB03ez4K.cjs} +11 -3
- package/dist/{main-B2UV51nK.cjs → main-YQ-Vkakw.cjs} +45 -45
- package/dist/{main-DGkdYfEq.mjs → main-_1LSzlLv.mjs} +45 -45
- package/dist/{mcp-BFvAEIRz.cjs → mcp-BIY80jSc.cjs} +14 -14
- package/dist/{mcp-CbTtbs0f.mjs → mcp-Csj-mT5Y.mjs} +14 -14
- package/dist/{mirrorProtocol-HKPivs5o.cjs → mirrorProtocol-BphKIAK9.cjs} +16 -153
- package/dist/{mirrorProtocol-BR4luBC0.mjs → mirrorProtocol-CAxOMBkb.mjs} +19 -151
- package/dist/{package-7Ld1YMhh.mjs → package-DYGwlmXl.mjs} +8 -8
- package/dist/{package-KhLqBDX9.cjs → package-NoD8QOOM.cjs} +8 -8
- package/dist/{panels-C7IVqpJk.mjs → panels-B8zRm7_d.mjs} +5 -5
- package/dist/{panels-Njf6GelF.cjs → panels-DYEc1NyQ.cjs} +5 -5
- package/dist/{peerTools-BOlDRyhi.mjs → peerTools-CK3JYu1k.mjs} +5 -5
- package/dist/{peerTools-DQNlrcqM.cjs → peerTools-CP-x-Peu.cjs} +5 -5
- package/dist/{persistence-9BMYspxG.cjs → persistence-BY-D00wT.cjs} +2 -2
- package/dist/{persistence-BFUOHW5h.mjs → persistence-D2Djrf7t.mjs} +2 -2
- package/dist/pi-CqyoZMjI.mjs +380 -0
- package/dist/pi-DlsrPCTa.cjs +400 -0
- package/dist/{piRunnerArgs-H2pgpA5z.mjs → piRunnerArgs-IZLoL7TG.mjs} +1 -1
- package/dist/{piRunnerArgs-DGaq6VYM.cjs → piRunnerArgs-gxLYIZH4.cjs} +1 -1
- package/dist/{piRuntime-CdN0JAsa.mjs → piRuntime-D7Y4oHVL.mjs} +2 -2
- package/dist/{piRuntime-CT5xv_3h.cjs → piRuntime-o5L8uX-W.cjs} +2 -2
- package/dist/{piTerminal-0FBtXTHK.cjs → piTerminal-C_-JDkLN.cjs} +17 -17
- package/dist/{piTerminal-C4m9YXAV.mjs → piTerminal-Kphx8Uhw.mjs} +17 -17
- package/dist/{prompt-lgF9IE82.cjs → prompt-Bof2aQkI.cjs} +7 -2
- package/dist/{prompt-BOouDaTM.mjs → prompt-QHuFx9j6.mjs} +7 -2
- package/dist/{pushNotifications-DI92havG.cjs → pushNotifications-BXoOSq_G.cjs} +10 -4
- package/dist/{pushNotifications-DCiBEVeC.mjs → pushNotifications-DXGIhE-A.mjs} +10 -4
- package/dist/{query-ywZbQUzR.mjs → query-CcA6DVZK.mjs} +1 -1
- package/dist/{query-BETKBrnz.cjs → query-CdCxzuaB.cjs} +1 -1
- package/dist/{rateLimitWindows-YRIYVdo4.cjs → rateLimitWindows-OpAmdOtC.cjs} +1 -1
- package/dist/{rateLimitWindows-BkfuUB1a.mjs → rateLimitWindows-ZtHZHe-l.mjs} +1 -1
- package/dist/{registerCommonHandlers-C7a_dUWs.cjs → registerCommonHandlers-CRjBoJLK.cjs} +2 -2
- package/dist/{registerCommonHandlers-CTkCvjxt.mjs → registerCommonHandlers-DF6bdDtd.mjs} +2 -2
- package/dist/{registerKillSessionHandler-CIsvBrVe.cjs → registerKillSessionHandler-7fOm6ooh.cjs} +6 -6
- package/dist/{registerKillSessionHandler-CaqqRYq6.mjs → registerKillSessionHandler-DDCKL3wf.mjs} +6 -6
- package/dist/{remoteSessionClient-PP-mOKmw.mjs → remoteSessionClient-B2POSKFT.mjs} +5 -5
- package/dist/{remoteSessionClient-D843fkzL.cjs → remoteSessionClient-CFCn42bs.cjs} +5 -5
- package/dist/{reportProgressTool-ZOCNjWHr.mjs → reportProgressTool-tPxEvh6x.mjs} +4 -4
- package/dist/{reportProgressTool-14AXr959.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-CAOCYYfT.cjs → run-C_FumCQk.cjs} +618 -594
- package/dist/{run-Dajw2E5j.mjs → run-cKQBbVi4.mjs} +554 -530
- package/dist/{runClaude-C6oxWYbp.mjs → runClaude-CYnM6krL.mjs} +22 -22
- package/dist/{runClaude-CRRKt-tm.cjs → runClaude-z_2YC_aa.cjs} +22 -22
- package/dist/{runClaudeDeps-B1ysqTvx.cjs → runClaudeDeps-CLubzWnA.cjs} +43 -41
- package/dist/{runClaudeDeps-BcZ68cX3.mjs → runClaudeDeps-duS06Pb4.mjs} +48 -46
- package/dist/{runGemini-D7yKc4wD.mjs → runGemini-C_Pc2EhH.mjs} +37 -35
- package/dist/{runGemini-DtKFXqf-.cjs → runGemini-vEoXV6qT.cjs} +37 -35
- package/dist/{runOpenClaw-Cq29mryb.cjs → runOpenClaw-CXJCtMgB.cjs} +18 -18
- package/dist/{runOpenClaw-C8ilyLP9.mjs → runOpenClaw-Cxun1qLC.mjs} +18 -18
- package/dist/{sandbox-gIj-EuF4.cjs → sandbox-CO46H2tK.cjs} +4 -4
- package/dist/{sandbox-CbCutma4.mjs → sandbox-CsvPnTmz.mjs} +4 -4
- package/dist/{selfCheck-BTGBVthv.cjs → selfCheck-DIr7Gc0i.cjs} +36 -36
- package/dist/selfCheck-NamtBHVB.mjs +85 -0
- package/dist/{send-YZRMQvMJ.mjs → send-DMoFg6F1.mjs} +8 -8
- package/dist/{send-CZf5lLw_.cjs → send-X2mfVEyr.cjs} +8 -8
- package/dist/{server-CknFq6xG.cjs → server-BwTEdbkr.cjs} +6 -6
- package/dist/{server-BqwXRzFZ.mjs → server-CkqQ0sRH.mjs} +4 -4
- package/dist/{sessionLock-DRZUcKHT.cjs → sessionLock-CdIRJlHH.cjs} +3 -3
- package/dist/{sessionLock-nBXdJxJm.mjs → sessionLock-JIfwCqMk.mjs} +3 -3
- package/dist/{sessionOps-BrGiU9-s.cjs → sessionOps-DVA-00nR.cjs} +4 -4
- package/dist/{sessionOps-C58iDeD5.mjs → sessionOps-DqlftXxe.mjs} +4 -4
- package/dist/{sessionScanner-Bm57LEXe.mjs → sessionScanner-BI0Vo1xT.mjs} +3 -3
- package/dist/{sessionScanner-CaO8bLaG.cjs → sessionScanner-BMwgGAhY.cjs} +3 -3
- package/dist/{sessions-BXyBHo8n.mjs → sessions-D6IimX7b.mjs} +10 -10
- package/dist/{sessions-uzqPCc37.cjs → sessions-DjgEcHaT.cjs} +10 -10
- package/dist/{setupOfflineReconnection-DvvVX3TB.cjs → setupOfflineReconnection-CjuCiKY3.cjs} +2 -2
- package/dist/{setupOfflineReconnection-1Qlek3wl.mjs → setupOfflineReconnection-DgJK_4m1.mjs} +2 -2
- package/dist/{spawn-vn93PhYL.mjs → spawn-Dvzy-tzc.mjs} +14 -14
- package/dist/{spawn-DBkodJEO.cjs → spawn-rhF28shY.cjs} +14 -14
- package/dist/{spawnAgents-CgPMWexP.mjs → spawnAgents-CCnlq-FI.mjs} +1 -1
- package/dist/{spawnAgents-DLNMlhWJ.cjs → spawnAgents-iwuqrgR9.cjs} +1 -1
- package/dist/{spawnHappyCLI-DnUZv0X2.cjs → spawnHappyCLI-DnKmIsEt.cjs} +1 -1
- package/dist/{spawnHappyCLI-BjFZc_7V.mjs → spawnHappyCLI-Dq3LLXLb.mjs} +1 -1
- package/dist/{specialCommands-D3ND9bdg.mjs → specialCommands-CcyZ1hGA.mjs} +3 -3
- package/dist/{specialCommands-BRufxlqe.cjs → specialCommands-Zwr2C6A2.cjs} +3 -3
- package/dist/{startFileWatcher-DXJ7yB5v.mjs → startFileWatcher-4thXDK9d.mjs} +1 -1
- package/dist/{startFileWatcher-D9cYzZOq.cjs → startFileWatcher-K6hJSyiR.cjs} +1 -1
- package/dist/{startupSessionCreate-uZ6BM0ty.mjs → startupSessionCreate-BfByJ16A.mjs} +1 -1
- package/dist/{startupSessionCreate-kdr3m1uX.cjs → startupSessionCreate-CKEbq0tL.cjs} +1 -1
- package/dist/{streamRelay-Dy6amlzx.cjs → streamRelay-Gy8Xfnon.cjs} +1 -1
- package/dist/{streamRelay-DnMCMMfV.mjs → streamRelay-LcDvyEjK.mjs} +1 -1
- package/dist/{sync-Bn-idAoy.cjs → sync-1hQ5KHpL.cjs} +1 -1
- package/dist/{sync-BvVhDO40.mjs → sync-DO-2PU45.mjs} +1 -1
- package/dist/{systemPrompt-CIZcJuJF.mjs → systemPrompt-BctLfMZs.mjs} +3 -3
- package/dist/{systemPrompt-DlyEk35T.cjs → systemPrompt-Dj7pgkMK.cjs} +3 -3
- package/dist/{teams-DLY3B5yi.mjs → teams-Bu8YeOoF.mjs} +8 -8
- package/dist/{teams-BLeRpDxv.cjs → teams-uQxUlyyz.cjs} +8 -8
- package/dist/{time-D3ETL7Jb.mjs → time-BcoJaG8E.mjs} +1 -1
- package/dist/{time-Cjv0zxQO.cjs → time-nqa9shu8.cjs} +1 -1
- package/dist/{titleGenerator-Cgp5ihFb.cjs → titleGenerator-D09XyYYG.cjs} +2 -2
- package/dist/{titleGenerator-Uzbd4utr.mjs → titleGenerator-D5r06bhf.mjs} +1 -1
- package/dist/{todo-pOMcEECE.cjs → todo-CCOnL7pT.cjs} +6 -6
- package/dist/{todo-C9Ga-oEM.mjs → todo-D1q8146q.mjs} +6 -6
- package/dist/{tools-Cho7iIWf.mjs → tools-D2E--n1x.mjs} +3 -3
- package/dist/{tools-BL7Byl_x.cjs → tools-DiCXnAC5.cjs} +3 -3
- package/dist/{uninstall-CbayEVoV.cjs → uninstall-BrNwwwSD.cjs} +3 -3
- package/dist/{uninstall-CvZHVY9C.mjs → uninstall-CtwXi1Rt.mjs} +3 -3
- package/package.json +8 -8
- package/dist/selfCheck-Smt-5Xiq.mjs +0 -85
|
@@ -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-DgBwUSgS.cjs');
|
|
7
|
+
var time = require('./time-nqa9shu8.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-NoD8QOOM.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-LFr8iPgl.mjs';
|
|
5
|
+
import { d as delay } from './time-BcoJaG8E.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-DYGwlmXl.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) => {
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { createId } from '@paralleldrive/cuid2';
|
|
2
|
-
import { s as streamKeyOf, d as createEnvelope } from './index-
|
|
2
|
+
import { s as streamKeyOf, d as createEnvelope } from './index-CeRXrGnH.mjs';
|
|
3
3
|
|
|
4
4
|
function turnOptions(turnId, time) {
|
|
5
5
|
return turnId ? { turn: turnId, time } : { time };
|
|
@@ -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-BPrfb17M.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-C8JgseHy.cjs');
|
|
6
6
|
|
|
7
7
|
const SESSION_MODE_DIR = "session-modes";
|
|
8
8
|
const ACP_PERMISSION_MODES = ["default", "acceptEdits", "plan", "bypassPermissions"];
|
|
@@ -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-D2Djrf7t.mjs';
|
|
4
4
|
import 'node:fs';
|
|
5
|
-
import './logger-
|
|
5
|
+
import './logger-LFr8iPgl.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-BPrfb17M.mjs';
|
|
9
9
|
import 'node:path';
|
|
10
|
-
import './package-
|
|
10
|
+
import './package-DYGwlmXl.mjs';
|
|
11
11
|
import 'zod';
|
|
12
12
|
import './authRelay-DhQhkBvX.mjs';
|
|
13
13
|
import 'node:crypto';
|
|
@@ -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-BY-D00wT.cjs');
|
|
6
6
|
require('node:fs');
|
|
7
|
-
require('./logger-
|
|
7
|
+
require('./logger-DgBwUSgS.cjs');
|
|
8
8
|
var loginShellEnv = require('./loginShellEnv-BkuYtExZ.cjs');
|
|
9
9
|
require('node:fs/promises');
|
|
10
|
-
require('./configuration-
|
|
10
|
+
require('./configuration-C8JgseHy.cjs');
|
|
11
11
|
require('node:path');
|
|
12
|
-
require('./package-
|
|
12
|
+
require('./package-NoD8QOOM.cjs');
|
|
13
13
|
require('zod');
|
|
14
14
|
require('./authRelay-Dy1qU9td.cjs');
|
|
15
15
|
require('node:crypto');
|
|
@@ -1,22 +1,22 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
3
|
var axios = require('axios');
|
|
4
|
-
var logger = require('./logger-
|
|
5
|
-
var lidState = require('./lidState-
|
|
4
|
+
var logger = require('./logger-DgBwUSgS.cjs');
|
|
5
|
+
var lidState = require('./lidState-x8cJ8J_9.cjs');
|
|
6
6
|
var node_events = require('node:events');
|
|
7
7
|
var socket_ioClient = require('socket.io-client');
|
|
8
|
-
var pushNotifications = require('./pushNotifications-
|
|
8
|
+
var pushNotifications = require('./pushNotifications-BXoOSq_G.cjs');
|
|
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-nqa9shu8.cjs');
|
|
12
|
+
var configuration = require('./configuration-C8JgseHy.cjs');
|
|
13
13
|
var node_crypto = require('node:crypto');
|
|
14
|
-
var index = require('./index-
|
|
15
|
-
var registerCommonHandlers = require('./registerCommonHandlers-
|
|
14
|
+
var index = require('./index-Df2eHm3O.cjs');
|
|
15
|
+
var registerCommonHandlers = require('./registerCommonHandlers-CRjBoJLK.cjs');
|
|
16
16
|
var cuid2 = require('@paralleldrive/cuid2');
|
|
17
|
-
var sync = require('./sync-
|
|
17
|
+
var sync = require('./sync-1hQ5KHpL.cjs');
|
|
18
18
|
var backgroundTaskActivity = require('./backgroundTaskActivity-CBvUdj39.cjs');
|
|
19
|
-
var controlClient = require('./controlClient-
|
|
19
|
+
var controlClient = require('./controlClient-D68Zj7Q-.cjs');
|
|
20
20
|
var chalk = require('chalk');
|
|
21
21
|
|
|
22
22
|
async function hmac_sha512(key, data) {
|
|
@@ -2949,7 +2949,7 @@ class ApiClient {
|
|
|
2949
2949
|
return new ApiSessionClient(this.credential.token, session, opts);
|
|
2950
2950
|
}
|
|
2951
2951
|
async machineSyncClient(machine) {
|
|
2952
|
-
const { ApiMachineClient } = await Promise.resolve().then(function () { return require('./apiMachine-
|
|
2952
|
+
const { ApiMachineClient } = await Promise.resolve().then(function () { return require('./apiMachine-D8H7CXaz.cjs'); });
|
|
2953
2953
|
return new ApiMachineClient(this.credential.token, machine);
|
|
2954
2954
|
}
|
|
2955
2955
|
push() {
|
|
@@ -1,20 +1,20 @@
|
|
|
1
1
|
import axios from 'axios';
|
|
2
|
-
import { l as logger, r as redactLogValue } from './logger-
|
|
3
|
-
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 } from './lidState-
|
|
2
|
+
import { l as logger, r as redactLogValue } from './logger-LFr8iPgl.mjs';
|
|
3
|
+
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 } from './lidState-DghbfRbr.mjs';
|
|
4
4
|
import { EventEmitter } from 'node:events';
|
|
5
5
|
import { io } from 'socket.io-client';
|
|
6
|
-
import { A as AsyncLock, a as MAX_CHAT_ATTACHMENT_ENCRYPTED_BYTES, U as UserMessageSchema, F as FileEventMessageSchema, P as PushNotificationClient } from './pushNotifications-
|
|
6
|
+
import { A as AsyncLock, a as MAX_CHAT_ATTACHMENT_ENCRYPTED_BYTES, U as UserMessageSchema, F as FileEventMessageSchema, P as PushNotificationClient } from './pushNotifications-DXGIhE-A.mjs';
|
|
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-BcoJaG8E.mjs';
|
|
10
|
+
import { c as configuration } from './configuration-BPrfb17M.mjs';
|
|
11
11
|
import { createHmac, randomUUID } from 'node:crypto';
|
|
12
|
-
import { d as createEnvelope, s as streamKeyOf, R as ReleaseDrainNoticeSchema, t as RelayAssignmentResponseSchema } from './index-
|
|
13
|
-
import { r as registerCommonHandlers } from './registerCommonHandlers-
|
|
12
|
+
import { d as createEnvelope, s as streamKeyOf, R as ReleaseDrainNoticeSchema, t as RelayAssignmentResponseSchema } from './index-CeRXrGnH.mjs';
|
|
13
|
+
import { r as registerCommonHandlers } from './registerCommonHandlers-DF6bdDtd.mjs';
|
|
14
14
|
import { createId } from '@paralleldrive/cuid2';
|
|
15
|
-
import { I as InvalidateSync } from './sync-
|
|
15
|
+
import { I as InvalidateSync } from './sync-DO-2PU45.mjs';
|
|
16
16
|
import { B as BackgroundTaskReporter } from './backgroundTaskActivity-8PdPxrvy.mjs';
|
|
17
|
-
import { k as notifyDaemonTurnEvent, m as notifyDaemonBackgroundTasks } from './controlClient-
|
|
17
|
+
import { k as notifyDaemonTurnEvent, m as notifyDaemonBackgroundTasks } from './controlClient-CkNpT5zS.mjs';
|
|
18
18
|
import chalk from 'chalk';
|
|
19
19
|
|
|
20
20
|
async function hmac_sha512(key, data) {
|
|
@@ -2947,7 +2947,7 @@ class ApiClient {
|
|
|
2947
2947
|
return new ApiSessionClient(this.credential.token, session, opts);
|
|
2948
2948
|
}
|
|
2949
2949
|
async machineSyncClient(machine) {
|
|
2950
|
-
const { ApiMachineClient } = await import('./apiMachine-
|
|
2950
|
+
const { ApiMachineClient } = await import('./apiMachine-CHEzPQdS.mjs');
|
|
2951
2951
|
return new ApiMachineClient(this.credential.token, machine);
|
|
2952
2952
|
}
|
|
2953
2953
|
push() {
|
|
@@ -1,42 +1,43 @@
|
|
|
1
1
|
import { io } from 'socket.io-client';
|
|
2
2
|
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, d as describeSocketAckDrop } from './lidState-
|
|
5
|
-
import {
|
|
6
|
-
import { c as configuration } from './configuration-
|
|
3
|
+
import { l as logger } from './logger-LFr8iPgl.mjs';
|
|
4
|
+
import { R as RpcHandlerManager, i as isRateQuotaCode, p as pauseForRateQuota, s as socketConnectGuard, c as connectGuarded, a as answerSocketRequest, e as shouldReconnect, d as describeSocketAckDrop } from './lidState-DghbfRbr.mjs';
|
|
5
|
+
import { i as isClaudeSessionId, s as stableVersion, a as sanitizeTagList, p as pickMirrorForTerminal, l as liveSnapshotChanged, b as sanitizeLiveSnapshot, c as serializeLiveSnapshot, r as registerWorktreeHandlers, d as configureWorktreeService, e as summarizeSpawnSessionForLog, f as parseMirrorSendParams } from './mirrorProtocol-CAxOMBkb.mjs';
|
|
6
|
+
import { c as configuration } from './configuration-BPrfb17M.mjs';
|
|
7
7
|
import { w as withCurrentCliUpdateState } from './cliUpdate-Y34VGe9Y.mjs';
|
|
8
|
-
import { r as registerCommonHandlers } from './registerCommonHandlers-
|
|
8
|
+
import { r as registerCommonHandlers } from './registerCommonHandlers-DF6bdDtd.mjs';
|
|
9
9
|
import { stat, readdir, lstat, open, readFile, rm, mkdir, chmod, writeFile, rename } from 'node:fs/promises';
|
|
10
10
|
import { join, isAbsolute, resolve } from 'node:path';
|
|
11
11
|
import os, { homedir } from 'node:os';
|
|
12
12
|
import { spawn, execFile, spawnSync } from 'node:child_process';
|
|
13
|
-
import { r as readSettings, c as readPersistedSessions, o as readTrackedClaudeSessionIds, p as readTrackedCodexThreadIds } from './persistence-
|
|
13
|
+
import { r as readSettings, c as readPersistedSessions, o as readTrackedClaudeSessionIds, p as readTrackedCodexThreadIds } from './persistence-D2Djrf7t.mjs';
|
|
14
|
+
import { M as ModelConfigError } from './fileStore-5qpetZS0.mjs';
|
|
14
15
|
import { e as encodeBase64, g as encrypt, h as decrypt, d as decodeBase64 } from './authRelay-DhQhkBvX.mjs';
|
|
15
16
|
import { p as prepareClipboardText, d as prepareClipboardHistoryText } from './limits-DIo7rEBR.mjs';
|
|
16
|
-
import { b as backoff, d as delay } from './time-
|
|
17
|
+
import { b as backoff, d as delay } from './time-BcoJaG8E.mjs';
|
|
17
18
|
import * as pty from 'node-pty';
|
|
18
19
|
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-Dlg0x3nY.mjs';
|
|
19
20
|
import { t as tmuxArgs, V as VH_TMUX_SOCKET_ENV, a as scrubTmuxClientEnv } from './tmuxSocket-B8Yx20sT.mjs';
|
|
20
|
-
import { locateClaudeConversation, refreshAgentHomes } from './index-
|
|
21
|
+
import { locateClaudeConversation, refreshAgentHomes } from './index-CO0n9ue6.mjs';
|
|
21
22
|
import { randomBytes } from 'node:crypto';
|
|
22
23
|
import { readdirSync, unlinkSync, existsSync, mkdirSync, writeFileSync, readFileSync, statSync, chmodSync, renameSync, rmSync, accessSync, constants } from 'node:fs';
|
|
23
24
|
import axios from 'axios';
|
|
24
25
|
import { p as projectPath } from './projectPath-BTBIMB57.mjs';
|
|
25
26
|
import { a as isValidTerminalId } from './ids-DU6sLx4C.mjs';
|
|
26
27
|
import { d as detectCLIAvailability } from './detectCLI-CSGMlV51.mjs';
|
|
27
|
-
import { d as detectResumeSupport } from './localHappyAgentAuth-
|
|
28
|
+
import { d as detectResumeSupport } from './localHappyAgentAuth-IKmeRpuQ.mjs';
|
|
28
29
|
import { g as getProjectPath, a as getClaudeProjectsRoot } from './path-D2wdaNSk.mjs';
|
|
29
30
|
import { i as isVeryHappyOneShotPrompt } from './oneShotPrompts-DT4p6RNd.mjs';
|
|
30
|
-
import { f as forkSession, F as ForkSourceMissingError, d as discardForkedSession, l as listClaudeRewindPoints, a as forkAndTruncateSession, b as ForkTruncateUuidNotFoundError, c as forkBeforeUserMessage } from './claudeSessionFork-
|
|
31
|
-
import { C as CodexAppServerClient } from './codexAppServerClient-
|
|
32
|
-
import {
|
|
31
|
+
import { f as forkSession, F as ForkSourceMissingError, d as discardForkedSession, l as listClaudeRewindPoints, a as forkAndTruncateSession, b as ForkTruncateUuidNotFoundError, c as forkBeforeUserMessage } from './claudeSessionFork-2ZkSTOGn.mjs';
|
|
32
|
+
import { C as CodexAppServerClient } from './codexAppServerClient-C3JO3pwM.mjs';
|
|
33
|
+
import { u as RelayCandidatesResponseSchema, t as RelayAssignmentResponseSchema, R as ReleaseDrainNoticeSchema } from './index-CeRXrGnH.mjs';
|
|
33
34
|
import { f as forkCodexThread, C as CodexForkRewindPointNotFoundError, l as listCodexRewindPoints, a as forkCodexBeforeUserMessage } from './codexThreadFork-R76RU5H0.mjs';
|
|
34
|
-
import { p as planRateLimitWrite, m as mergeRateLimitReports } from './rateLimitWindows-
|
|
35
|
+
import { p as planRateLimitWrite, m as mergeRateLimitReports } from './rateLimitWindows-ZtHZHe-l.mjs';
|
|
35
36
|
import 'chalk';
|
|
36
37
|
import 'node:util';
|
|
37
38
|
import 'os';
|
|
38
39
|
import 'child_process';
|
|
39
|
-
import './package-
|
|
40
|
+
import './package-DYGwlmXl.mjs';
|
|
40
41
|
import 'util';
|
|
41
42
|
import 'fs/promises';
|
|
42
43
|
import 'crypto';
|
|
@@ -10600,6 +10601,10 @@ class ApiMachineClient {
|
|
|
10600
10601
|
setCliUpdateRequestHandler(handler) {
|
|
10601
10602
|
this.rpcHandlerManager.registerHandler("cli-update-request", (params) => handler(params && typeof params === "object" ? params.version : void 0));
|
|
10602
10603
|
}
|
|
10604
|
+
/** B-719: `harness-install` — the owner asked this machine to install one harness id. */
|
|
10605
|
+
setHarnessInstallHandler(handler) {
|
|
10606
|
+
this.rpcHandlerManager.registerHandler("harness-install", (params) => handler(params));
|
|
10607
|
+
}
|
|
10603
10608
|
setCliUpdateRetryHandler(handler) {
|
|
10604
10609
|
this.rpcHandlerManager.registerHandler("cli-update-retry", (params) => handler(params && typeof params === "object" ? params.version : void 0));
|
|
10605
10610
|
}
|
|
@@ -11474,6 +11479,15 @@ class ApiMachineClient {
|
|
|
11474
11479
|
if (this.socket !== socket) return;
|
|
11475
11480
|
this.serverMigrateHandler?.(data);
|
|
11476
11481
|
});
|
|
11482
|
+
socket.on("cli-update-policy", (data) => {
|
|
11483
|
+
if (this.socket !== socket) return;
|
|
11484
|
+
this.cliUpdatePolicyHandler?.(data);
|
|
11485
|
+
});
|
|
11486
|
+
}
|
|
11487
|
+
cliUpdatePolicyHandler = null;
|
|
11488
|
+
/** B-718: the daemon decides what a policy announcement means (update/policyAnnouncement.ts). */
|
|
11489
|
+
setCliUpdatePolicyHandler(handler) {
|
|
11490
|
+
this.cliUpdatePolicyHandler = handler;
|
|
11477
11491
|
}
|
|
11478
11492
|
serverMigrateHandler = null;
|
|
11479
11493
|
/** B-635: the daemon decides what to do with a relay-migration notice (daemon/serverMigration.ts). */
|
|
@@ -11559,27 +11573,35 @@ class ApiMachineClient {
|
|
|
11559
11573
|
if (Date.now() - this.lastCliProbeAt < CLI_AVAILABILITY_RECHECK_MS) {
|
|
11560
11574
|
return;
|
|
11561
11575
|
}
|
|
11562
|
-
this.
|
|
11563
|
-
const newAvailability = detectCLIAvailability();
|
|
11564
|
-
const prev = this.lastKnownCLIAvailability;
|
|
11565
|
-
const newResumeSupport = detectResumeSupport();
|
|
11566
|
-
const prevResume = this.lastKnownResumeSupport;
|
|
11567
|
-
const cliAvailabilityChanged = !prev || prev.claude !== newAvailability.claude || prev.codex !== newAvailability.codex || prev.gemini !== newAvailability.gemini || prev.openclaw !== newAvailability.openclaw || prev.pi !== newAvailability.pi;
|
|
11568
|
-
const resumeSupportChanged = !prevResume || prevResume.rpcAvailable !== newResumeSupport.rpcAvailable || prevResume.happyAgentAuthenticated !== newResumeSupport.happyAgentAuthenticated;
|
|
11569
|
-
if (cliAvailabilityChanged || resumeSupportChanged) {
|
|
11570
|
-
this.lastKnownCLIAvailability = newAvailability;
|
|
11571
|
-
this.lastKnownResumeSupport = newResumeSupport;
|
|
11572
|
-
this.updateMachineMetadata((metadata) => ({
|
|
11573
|
-
...metadata || {},
|
|
11574
|
-
cliAvailability: newAvailability,
|
|
11575
|
-
resumeSupport: { ...newResumeSupport, rpcAvailable: !!this.resumeSessionHandler }
|
|
11576
|
-
})).catch((err) => {
|
|
11577
|
-
logger.debug("[API MACHINE] Failed to update machine capabilities:", err);
|
|
11578
|
-
});
|
|
11579
|
-
}
|
|
11576
|
+
this.recheckCliAvailability();
|
|
11580
11577
|
}, 2e4);
|
|
11581
11578
|
logger.debug("[API MACHINE] Keep-alive started (20s interval)");
|
|
11582
11579
|
}
|
|
11580
|
+
/**
|
|
11581
|
+
* Re-detect CLI availability and publish it when it changed. Called on the
|
|
11582
|
+
* throttled keep-alive and, B-719, right after the owner installed a
|
|
11583
|
+
* harness so the launcher enables it without waiting up to five minutes.
|
|
11584
|
+
*/
|
|
11585
|
+
recheckCliAvailability() {
|
|
11586
|
+
this.lastCliProbeAt = Date.now();
|
|
11587
|
+
const newAvailability = detectCLIAvailability();
|
|
11588
|
+
const prev = this.lastKnownCLIAvailability;
|
|
11589
|
+
const newResumeSupport = detectResumeSupport();
|
|
11590
|
+
const prevResume = this.lastKnownResumeSupport;
|
|
11591
|
+
const cliAvailabilityChanged = !prev || prev.claude !== newAvailability.claude || prev.codex !== newAvailability.codex || prev.gemini !== newAvailability.gemini || prev.openclaw !== newAvailability.openclaw || prev.pi !== newAvailability.pi;
|
|
11592
|
+
const resumeSupportChanged = !prevResume || prevResume.rpcAvailable !== newResumeSupport.rpcAvailable || prevResume.happyAgentAuthenticated !== newResumeSupport.happyAgentAuthenticated;
|
|
11593
|
+
if (cliAvailabilityChanged || resumeSupportChanged) {
|
|
11594
|
+
this.lastKnownCLIAvailability = newAvailability;
|
|
11595
|
+
this.lastKnownResumeSupport = newResumeSupport;
|
|
11596
|
+
this.updateMachineMetadata((metadata) => ({
|
|
11597
|
+
...metadata || {},
|
|
11598
|
+
cliAvailability: newAvailability,
|
|
11599
|
+
resumeSupport: { ...newResumeSupport, rpcAvailable: !!this.resumeSessionHandler }
|
|
11600
|
+
})).catch((err) => {
|
|
11601
|
+
logger.debug("[API MACHINE] Failed to update machine capabilities:", err);
|
|
11602
|
+
});
|
|
11603
|
+
}
|
|
11604
|
+
}
|
|
11583
11605
|
bindRpcRequestHandler(socket, transport) {
|
|
11584
11606
|
socket.on("rpc-request", async (data, callback) => {
|
|
11585
11607
|
if (typeof data?.method === "string" && this.rpcHandlerManager.isPlainMethod(data.method)) {
|
|
@@ -2,43 +2,44 @@
|
|
|
2
2
|
|
|
3
3
|
var socket_ioClient = require('socket.io-client');
|
|
4
4
|
var webPanels = require('./webPanels-FCgFKvVe.cjs');
|
|
5
|
-
var logger = require('./logger-
|
|
6
|
-
var lidState = require('./lidState-
|
|
7
|
-
var mirrorProtocol = require('./mirrorProtocol-
|
|
8
|
-
var configuration = require('./configuration-
|
|
5
|
+
var logger = require('./logger-DgBwUSgS.cjs');
|
|
6
|
+
var lidState = require('./lidState-x8cJ8J_9.cjs');
|
|
7
|
+
var mirrorProtocol = require('./mirrorProtocol-BphKIAK9.cjs');
|
|
8
|
+
var configuration = require('./configuration-C8JgseHy.cjs');
|
|
9
9
|
var cliUpdate = require('./cliUpdate-DsKXPFYp.cjs');
|
|
10
|
-
var registerCommonHandlers = require('./registerCommonHandlers-
|
|
10
|
+
var registerCommonHandlers = require('./registerCommonHandlers-CRjBoJLK.cjs');
|
|
11
11
|
var promises = require('node:fs/promises');
|
|
12
12
|
var path = require('node:path');
|
|
13
13
|
var os = require('node:os');
|
|
14
14
|
var node_child_process = require('node:child_process');
|
|
15
|
-
var persistence = require('./persistence-
|
|
15
|
+
var persistence = require('./persistence-BY-D00wT.cjs');
|
|
16
|
+
var fileStore = require('./fileStore-7qhnbs6N.cjs');
|
|
16
17
|
var authRelay = require('./authRelay-Dy1qU9td.cjs');
|
|
17
18
|
var limits = require('./limits-C-a7gr04.cjs');
|
|
18
|
-
var time = require('./time-
|
|
19
|
+
var time = require('./time-nqa9shu8.cjs');
|
|
19
20
|
var pty = require('node-pty');
|
|
20
21
|
var terminals = require('./terminals-B_bfC9c2.cjs');
|
|
21
22
|
var tmuxSocket = require('./tmuxSocket-D-Xt6Vn-.cjs');
|
|
22
|
-
var index = require('./index-
|
|
23
|
+
var index = require('./index-BkluinoS.cjs');
|
|
23
24
|
var node_crypto = require('node:crypto');
|
|
24
25
|
var node_fs = require('node:fs');
|
|
25
26
|
var axios = require('axios');
|
|
26
27
|
var projectPath = require('./projectPath-C3ioB4Bu.cjs');
|
|
27
28
|
var ids = require('./ids-B6ZC0HGt.cjs');
|
|
28
29
|
var detectCLI = require('./detectCLI-BuYR_Qxe.cjs');
|
|
29
|
-
var localHappyAgentAuth = require('./localHappyAgentAuth-
|
|
30
|
+
var localHappyAgentAuth = require('./localHappyAgentAuth-DZ2kb9uq.cjs');
|
|
30
31
|
var path$1 = require('./path-B7zW-WwE.cjs');
|
|
31
32
|
var oneShotPrompts = require('./oneShotPrompts-CL0dip9C.cjs');
|
|
32
|
-
var claudeSessionFork = require('./claudeSessionFork-
|
|
33
|
-
var codexAppServerClient = require('./codexAppServerClient-
|
|
34
|
-
var index$1 = require('./index-
|
|
33
|
+
var claudeSessionFork = require('./claudeSessionFork-pwcKqB-e.cjs');
|
|
34
|
+
var codexAppServerClient = require('./codexAppServerClient-BRX3JZ_5.cjs');
|
|
35
|
+
var index$1 = require('./index-Df2eHm3O.cjs');
|
|
35
36
|
var codexThreadFork = require('./codexThreadFork-DNekT4nQ.cjs');
|
|
36
|
-
var rateLimitWindows = require('./rateLimitWindows-
|
|
37
|
+
var rateLimitWindows = require('./rateLimitWindows-OpAmdOtC.cjs');
|
|
37
38
|
require('chalk');
|
|
38
39
|
require('node:util');
|
|
39
40
|
require('os');
|
|
40
41
|
require('child_process');
|
|
41
|
-
require('./package-
|
|
42
|
+
require('./package-NoD8QOOM.cjs');
|
|
42
43
|
require('util');
|
|
43
44
|
require('fs/promises');
|
|
44
45
|
require('crypto');
|
|
@@ -372,7 +373,7 @@ async function guarded(fn) {
|
|
|
372
373
|
try {
|
|
373
374
|
return await fn();
|
|
374
375
|
} catch (error) {
|
|
375
|
-
if (error instanceof
|
|
376
|
+
if (error instanceof fileStore.ModelConfigError) return { error: error.message, code: error.code };
|
|
376
377
|
return { error: error instanceof Error ? error.message : "Unknown error", code: "internal" };
|
|
377
378
|
}
|
|
378
379
|
}
|
|
@@ -10621,6 +10622,10 @@ class ApiMachineClient {
|
|
|
10621
10622
|
setCliUpdateRequestHandler(handler) {
|
|
10622
10623
|
this.rpcHandlerManager.registerHandler("cli-update-request", (params) => handler(params && typeof params === "object" ? params.version : void 0));
|
|
10623
10624
|
}
|
|
10625
|
+
/** B-719: `harness-install` — the owner asked this machine to install one harness id. */
|
|
10626
|
+
setHarnessInstallHandler(handler) {
|
|
10627
|
+
this.rpcHandlerManager.registerHandler("harness-install", (params) => handler(params));
|
|
10628
|
+
}
|
|
10624
10629
|
setCliUpdateRetryHandler(handler) {
|
|
10625
10630
|
this.rpcHandlerManager.registerHandler("cli-update-retry", (params) => handler(params && typeof params === "object" ? params.version : void 0));
|
|
10626
10631
|
}
|
|
@@ -11495,6 +11500,15 @@ class ApiMachineClient {
|
|
|
11495
11500
|
if (this.socket !== socket) return;
|
|
11496
11501
|
this.serverMigrateHandler?.(data);
|
|
11497
11502
|
});
|
|
11503
|
+
socket.on("cli-update-policy", (data) => {
|
|
11504
|
+
if (this.socket !== socket) return;
|
|
11505
|
+
this.cliUpdatePolicyHandler?.(data);
|
|
11506
|
+
});
|
|
11507
|
+
}
|
|
11508
|
+
cliUpdatePolicyHandler = null;
|
|
11509
|
+
/** B-718: the daemon decides what a policy announcement means (update/policyAnnouncement.ts). */
|
|
11510
|
+
setCliUpdatePolicyHandler(handler) {
|
|
11511
|
+
this.cliUpdatePolicyHandler = handler;
|
|
11498
11512
|
}
|
|
11499
11513
|
serverMigrateHandler = null;
|
|
11500
11514
|
/** B-635: the daemon decides what to do with a relay-migration notice (daemon/serverMigration.ts). */
|
|
@@ -11580,27 +11594,35 @@ class ApiMachineClient {
|
|
|
11580
11594
|
if (Date.now() - this.lastCliProbeAt < CLI_AVAILABILITY_RECHECK_MS) {
|
|
11581
11595
|
return;
|
|
11582
11596
|
}
|
|
11583
|
-
this.
|
|
11584
|
-
const newAvailability = detectCLI.detectCLIAvailability();
|
|
11585
|
-
const prev = this.lastKnownCLIAvailability;
|
|
11586
|
-
const newResumeSupport = localHappyAgentAuth.detectResumeSupport();
|
|
11587
|
-
const prevResume = this.lastKnownResumeSupport;
|
|
11588
|
-
const cliAvailabilityChanged = !prev || prev.claude !== newAvailability.claude || prev.codex !== newAvailability.codex || prev.gemini !== newAvailability.gemini || prev.openclaw !== newAvailability.openclaw || prev.pi !== newAvailability.pi;
|
|
11589
|
-
const resumeSupportChanged = !prevResume || prevResume.rpcAvailable !== newResumeSupport.rpcAvailable || prevResume.happyAgentAuthenticated !== newResumeSupport.happyAgentAuthenticated;
|
|
11590
|
-
if (cliAvailabilityChanged || resumeSupportChanged) {
|
|
11591
|
-
this.lastKnownCLIAvailability = newAvailability;
|
|
11592
|
-
this.lastKnownResumeSupport = newResumeSupport;
|
|
11593
|
-
this.updateMachineMetadata((metadata) => ({
|
|
11594
|
-
...metadata || {},
|
|
11595
|
-
cliAvailability: newAvailability,
|
|
11596
|
-
resumeSupport: { ...newResumeSupport, rpcAvailable: !!this.resumeSessionHandler }
|
|
11597
|
-
})).catch((err) => {
|
|
11598
|
-
logger.logger.debug("[API MACHINE] Failed to update machine capabilities:", err);
|
|
11599
|
-
});
|
|
11600
|
-
}
|
|
11597
|
+
this.recheckCliAvailability();
|
|
11601
11598
|
}, 2e4);
|
|
11602
11599
|
logger.logger.debug("[API MACHINE] Keep-alive started (20s interval)");
|
|
11603
11600
|
}
|
|
11601
|
+
/**
|
|
11602
|
+
* Re-detect CLI availability and publish it when it changed. Called on the
|
|
11603
|
+
* throttled keep-alive and, B-719, right after the owner installed a
|
|
11604
|
+
* harness so the launcher enables it without waiting up to five minutes.
|
|
11605
|
+
*/
|
|
11606
|
+
recheckCliAvailability() {
|
|
11607
|
+
this.lastCliProbeAt = Date.now();
|
|
11608
|
+
const newAvailability = detectCLI.detectCLIAvailability();
|
|
11609
|
+
const prev = this.lastKnownCLIAvailability;
|
|
11610
|
+
const newResumeSupport = localHappyAgentAuth.detectResumeSupport();
|
|
11611
|
+
const prevResume = this.lastKnownResumeSupport;
|
|
11612
|
+
const cliAvailabilityChanged = !prev || prev.claude !== newAvailability.claude || prev.codex !== newAvailability.codex || prev.gemini !== newAvailability.gemini || prev.openclaw !== newAvailability.openclaw || prev.pi !== newAvailability.pi;
|
|
11613
|
+
const resumeSupportChanged = !prevResume || prevResume.rpcAvailable !== newResumeSupport.rpcAvailable || prevResume.happyAgentAuthenticated !== newResumeSupport.happyAgentAuthenticated;
|
|
11614
|
+
if (cliAvailabilityChanged || resumeSupportChanged) {
|
|
11615
|
+
this.lastKnownCLIAvailability = newAvailability;
|
|
11616
|
+
this.lastKnownResumeSupport = newResumeSupport;
|
|
11617
|
+
this.updateMachineMetadata((metadata) => ({
|
|
11618
|
+
...metadata || {},
|
|
11619
|
+
cliAvailability: newAvailability,
|
|
11620
|
+
resumeSupport: { ...newResumeSupport, rpcAvailable: !!this.resumeSessionHandler }
|
|
11621
|
+
})).catch((err) => {
|
|
11622
|
+
logger.logger.debug("[API MACHINE] Failed to update machine capabilities:", err);
|
|
11623
|
+
});
|
|
11624
|
+
}
|
|
11625
|
+
}
|
|
11604
11626
|
bindRpcRequestHandler(socket, transport) {
|
|
11605
11627
|
socket.on("rpc-request", async (data, callback) => {
|
|
11606
11628
|
if (typeof data?.method === "string" && this.rpcHandlerManager.isPlainMethod(data.method)) {
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { randomUUID } from 'node:crypto';
|
|
2
2
|
import { writeFile, rename, unlink } from 'node:fs/promises';
|
|
3
3
|
import { join, basename } from 'node:path';
|
|
4
|
-
import { M as MAX_CHAT_ATTACHMENT_SOURCE_BYTES } from './pushNotifications-
|
|
5
|
-
import { e as ensurePrivateDirectory, h as hardenPrivateFile } from './configuration-
|
|
4
|
+
import { M as MAX_CHAT_ATTACHMENT_SOURCE_BYTES } from './pushNotifications-DXGIhE-A.mjs';
|
|
5
|
+
import { e as ensurePrivateDirectory, h as hardenPrivateFile } from './configuration-BPrfb17M.mjs';
|
|
6
6
|
|
|
7
7
|
const CLAUDE_ATTACHMENT_KINDS = [
|
|
8
8
|
"image/jpeg",
|
|
@@ -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-BXoOSq_G.cjs');
|
|
7
|
+
var configuration = require('./configuration-C8JgseHy.cjs');
|
|
8
8
|
|
|
9
9
|
const CLAUDE_ATTACHMENT_KINDS = [
|
|
10
10
|
"image/jpeg",
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
import chalk from 'chalk';
|
|
2
|
-
import { g as readCredentials, r as readSettings, h as clearCredentials, i as clearMachineId } from './persistence-
|
|
3
|
-
import { a as authAndSetupMachineIfNeeded } from './auth-
|
|
4
|
-
import { c as configuration } from './configuration-
|
|
2
|
+
import { g as readCredentials, r as readSettings, h as clearCredentials, i as clearMachineId } from './persistence-D2Djrf7t.mjs';
|
|
3
|
+
import { a as authAndSetupMachineIfNeeded } from './auth-DZsthtSk.mjs';
|
|
4
|
+
import { c as configuration } from './configuration-BPrfb17M.mjs';
|
|
5
5
|
import { existsSync, rmSync } from 'node:fs';
|
|
6
6
|
import { createInterface } from 'node:readline';
|
|
7
|
-
import { a as checkIfDaemonRunningAndCleanupStaleState, s as stopDaemon } from './controlClient-
|
|
8
|
-
import { l as logger } from './logger-
|
|
7
|
+
import { a as checkIfDaemonRunningAndCleanupStaleState, s as stopDaemon } from './controlClient-CkNpT5zS.mjs';
|
|
8
|
+
import { l as logger } from './logger-LFr8iPgl.mjs';
|
|
9
9
|
import os from 'node:os';
|
|
10
10
|
import { c as credentialRelayProblem } from './authRelay-DhQhkBvX.mjs';
|
|
11
11
|
import 'node:fs/promises';
|
|
@@ -13,11 +13,11 @@ import 'zod';
|
|
|
13
13
|
import 'node:crypto';
|
|
14
14
|
import 'tweetnacl';
|
|
15
15
|
import 'axios';
|
|
16
|
-
import './time-
|
|
17
|
-
import './browser-
|
|
16
|
+
import './time-BcoJaG8E.mjs';
|
|
17
|
+
import './browser-C2qhUHSE.mjs';
|
|
18
18
|
import 'open';
|
|
19
19
|
import 'node:path';
|
|
20
|
-
import './package-
|
|
20
|
+
import './package-DYGwlmXl.mjs';
|
|
21
21
|
import 'node:util';
|
|
22
22
|
|
|
23
23
|
function localMachineIdentityStatus(machineId) {
|
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
3
|
var authRelay = require('./authRelay-Dy1qU9td.cjs');
|
|
4
|
-
var configuration = require('./configuration-
|
|
4
|
+
var configuration = require('./configuration-C8JgseHy.cjs');
|
|
5
5
|
var node_crypto = require('node:crypto');
|
|
6
6
|
var tweetnacl = require('tweetnacl');
|
|
7
7
|
var axios = require('axios');
|
|
8
|
-
var time = require('./time-
|
|
9
|
-
var persistence = require('./persistence-
|
|
10
|
-
var browser = require('./browser-
|
|
11
|
-
var logger = require('./logger-
|
|
8
|
+
var time = require('./time-nqa9shu8.cjs');
|
|
9
|
+
var persistence = require('./persistence-BY-D00wT.cjs');
|
|
10
|
+
var browser = require('./browser-DjNNQQk2.cjs');
|
|
11
|
+
var logger = require('./logger-DgBwUSgS.cjs');
|
|
12
12
|
|
|
13
13
|
function generateWebAuthUrl(publicKey) {
|
|
14
14
|
const publicKeyBase64 = authRelay.encodeBase64(publicKey, "base64url");
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
import { e as encodeBase64, c as credentialRelayProblem, f as encodeBase64Url, d as decodeBase64 } from './authRelay-DhQhkBvX.mjs';
|
|
2
|
-
import { c as configuration } from './configuration-
|
|
2
|
+
import { c as configuration } from './configuration-BPrfb17M.mjs';
|
|
3
3
|
import { randomUUID, randomBytes } from 'node:crypto';
|
|
4
4
|
import tweetnacl from 'tweetnacl';
|
|
5
5
|
import axios from 'axios';
|
|
6
|
-
import { d as delay } from './time-
|
|
7
|
-
import { g as readCredentials, k as readSettingsOutcome, u as updateSettings, w as writeCredentialsLegacy, m as writeCredentialsDataKey } from './persistence-
|
|
8
|
-
import { o as openBrowser } from './browser-
|
|
9
|
-
import { l as logger } from './logger-
|
|
6
|
+
import { d as delay } from './time-BcoJaG8E.mjs';
|
|
7
|
+
import { g as readCredentials, k as readSettingsOutcome, u as updateSettings, w as writeCredentialsLegacy, m as writeCredentialsDataKey } from './persistence-D2Djrf7t.mjs';
|
|
8
|
+
import { o as openBrowser } from './browser-C2qhUHSE.mjs';
|
|
9
|
+
import { l as logger } from './logger-LFr8iPgl.mjs';
|
|
10
10
|
|
|
11
11
|
function generateWebAuthUrl(publicKey) {
|
|
12
12
|
const publicKeyBase64 = encodeBase64(publicKey, "base64url");
|
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
3
|
var chalk = require('chalk');
|
|
4
|
-
var persistence = require('./persistence-
|
|
5
|
-
var auth = require('./auth-
|
|
6
|
-
var configuration = require('./configuration-
|
|
4
|
+
var persistence = require('./persistence-BY-D00wT.cjs');
|
|
5
|
+
var auth = require('./auth-CgQP7d0q.cjs');
|
|
6
|
+
var configuration = require('./configuration-C8JgseHy.cjs');
|
|
7
7
|
var node_fs = require('node:fs');
|
|
8
8
|
var node_readline = require('node:readline');
|
|
9
|
-
var controlClient = require('./controlClient-
|
|
10
|
-
var logger = require('./logger-
|
|
9
|
+
var controlClient = require('./controlClient-D68Zj7Q-.cjs');
|
|
10
|
+
var logger = require('./logger-DgBwUSgS.cjs');
|
|
11
11
|
var os = require('node:os');
|
|
12
12
|
var authRelay = require('./authRelay-Dy1qU9td.cjs');
|
|
13
13
|
require('node:fs/promises');
|
|
@@ -15,11 +15,11 @@ require('zod');
|
|
|
15
15
|
require('node:crypto');
|
|
16
16
|
require('tweetnacl');
|
|
17
17
|
require('axios');
|
|
18
|
-
require('./time-
|
|
19
|
-
require('./browser-
|
|
18
|
+
require('./time-nqa9shu8.cjs');
|
|
19
|
+
require('./browser-DjNNQQk2.cjs');
|
|
20
20
|
require('open');
|
|
21
21
|
require('node:path');
|
|
22
|
-
require('./package-
|
|
22
|
+
require('./package-NoD8QOOM.cjs');
|
|
23
23
|
require('node:util');
|
|
24
24
|
|
|
25
25
|
function localMachineIdentityStatus(machineId) {
|