very-happy-cli 0.2.181 → 0.2.183
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-DZGCSuXF.mjs → AcpBackend-9c-Jeaxd.mjs} +3 -3
- package/dist/{AcpBackend-CgHb_ya5.cjs → AcpBackend-B-aMuEzO.cjs} +3 -3
- package/dist/{AcpSessionManager-CacC2EVn.cjs → AcpSessionManager-BxXe24AV.cjs} +10 -3
- package/dist/{AcpSessionManager-DwuPzWBh.mjs → AcpSessionManager-CS0FOSQk.mjs} +10 -3
- package/dist/{BasePermissionHandler-Uo-GUjbb.mjs → BasePermissionHandler-BJ1ID_Br.mjs} +1 -1
- package/dist/{BasePermissionHandler-DCP8ZEB4.cjs → BasePermissionHandler-BREjppjP.cjs} +1 -1
- package/dist/{acpSessionResume-9OLTD6kT.mjs → acpSessionResume-BKtI9Jq_.mjs} +1 -1
- package/dist/{acpSessionResume-BaVMD80f.cjs → acpSessionResume-mVoJ75vI.cjs} +1 -1
- package/dist/{agentHome-B1BsKeqD.mjs → agentHome-B8Ctr_Nu.mjs} +4 -4
- package/dist/{agentHome-BtUmGcPX.cjs → agentHome-rzjm56o4.cjs} +4 -4
- package/dist/{api-Dr3wXL_7.mjs → api-C29WLYkW.mjs} +79 -12
- package/dist/{api-COHFAkb_.cjs → api-xZiqVynF.cjs} +81 -11
- package/dist/{apiMachine-D8H7CXaz.cjs → apiMachine-B-FNBIYG.cjs} +19 -14
- package/dist/{apiMachine-CHEzPQdS.mjs → apiMachine-Dz6Yfk0m.mjs} +19 -14
- package/dist/{attachmentContent-mIhbtRKl.cjs → attachmentContent-COV4LF8k.cjs} +2 -2
- package/dist/{attachmentContent-1YwtKgWl.mjs → attachmentContent-DwY0uIg6.mjs} +2 -2
- package/dist/{auth-CgQP7d0q.cjs → auth-CYtk9_ga.cjs} +5 -5
- package/dist/{auth-Fg8fLadK.cjs → auth-D_qsnVr3.cjs} +8 -8
- package/dist/{auth-CbZkcMAb.mjs → auth-DvbSDalm.mjs} +8 -8
- package/dist/{auth-DZsthtSk.mjs → auth-xT70IYMx.mjs} +5 -5
- package/dist/{auto-BB7kqSh5.cjs → auto-DT_PfpCx.cjs} +32 -25
- package/dist/{auto-_T-Ud-z5.mjs → auto-IiPqvIsN.mjs} +32 -26
- package/dist/{bootstrap-CYtOtbi7.cjs → bootstrap-C50NkfPx.cjs} +2 -2
- package/dist/{bootstrap-B6EkZh4u.mjs → bootstrap-DS8Acdhm.mjs} +2 -2
- package/dist/{browser-C2qhUHSE.mjs → browser-1j9gdZoD.mjs} +1 -1
- package/dist/{browser-DjNNQQk2.cjs → browser-CxKZLd2T.cjs} +1 -1
- package/dist/{claudeLocal-O_w7-fBh.cjs → claudeLocal-CgNWpepB.cjs} +5 -5
- package/dist/{claudeLocal-BAFjWhZ8.mjs → claudeLocal-U1Fa9sJo.mjs} +5 -5
- package/dist/{claudeLocalLauncher-CWn30LZR.mjs → claudeLocalLauncher-BjCsfZUE.mjs} +10 -10
- package/dist/{claudeLocalLauncher-Df3zg1q0.cjs → claudeLocalLauncher-IyFm0D6a.cjs} +10 -10
- package/dist/{claudeSessionFork-2ZkSTOGn.mjs → claudeSessionFork-6-1vKISn.mjs} +1 -1
- package/dist/{claudeSessionFork-pwcKqB-e.cjs → claudeSessionFork-BUO1XdSm.cjs} +1 -1
- package/dist/{client-CUO3ItoB.cjs → client--vZueZYF.cjs} +14 -4
- package/dist/{client-BKyU66lg.mjs → client-5_zDNdOh.mjs} +2 -2
- package/dist/{client-CXOnzuOy.mjs → client-BgHvK7lo.mjs} +15 -7
- package/dist/{client-D_U2VjO3.cjs → client-DYGDBD0M.cjs} +15 -7
- package/dist/{client-DWs6k041.cjs → client-DcKJ0ul_.cjs} +2 -2
- package/dist/{client-DsQcxVUV.mjs → client-DfDyE322.mjs} +14 -4
- package/dist/codex/happyMcpStdioBridge.cjs +20 -19
- package/dist/codex/happyMcpStdioBridge.mjs +20 -19
- package/dist/{codexAppServerClient-BRX3JZ_5.cjs → codexAppServerClient-C3nrTfwY.cjs} +3 -3
- package/dist/{codexAppServerClient-C3JO3pwM.mjs → codexAppServerClient-DvBg4hGc.mjs} +3 -3
- package/dist/{codexCommand-BZIAAqKS.mjs → codexCommand-Bqp2--g_.mjs} +96 -61
- package/dist/{codexCommand-dKOc5iQl.cjs → codexCommand-DSiU6MNt.cjs} +96 -61
- package/dist/{codexTermination-BVR9HeVI.cjs → codexTermination-D9TRTglF.cjs} +1 -1
- package/dist/{codexTermination-ztFkwHrG.mjs → codexTermination-DsliWl_s.mjs} +1 -1
- package/dist/{config-cftYxLC7.cjs → config-CRhWiOwi.cjs} +3 -3
- package/dist/{config-NbHjx8ge.mjs → config-DeaqRn3o.mjs} +3 -3
- package/dist/{configuration-C8JgseHy.cjs → configuration-K3I6yOjZ.cjs} +1 -1
- package/dist/{configuration-BPrfb17M.mjs → configuration-elzht62L.mjs} +1 -1
- package/dist/{connect-Br8VMrK1.cjs → connect-B5UbfmO3.cjs} +13 -13
- package/dist/{connect-CLD1ai0k.mjs → connect-CT5cOlnC.mjs} +13 -13
- package/dist/{context-_YGq8xdH.mjs → context-CLj1_RYF.mjs} +1 -1
- package/dist/{context-D1lgQTJC.cjs → context-DNKNF8Yh.cjs} +1 -1
- package/dist/{controlClient-D68Zj7Q-.cjs → controlClient-ChqmxgbB.cjs} +3 -3
- package/dist/{controlClient-CkNpT5zS.mjs → controlClient-CuYQs2aZ.mjs} +3 -3
- package/dist/{createSessionMetadata-3WAj3_xl.mjs → createSessionMetadata-C1MbLQnh.mjs} +2 -2
- package/dist/{createSessionMetadata-DNIbKLHg.cjs → createSessionMetadata-QfiRx4Tf.cjs} +2 -2
- package/dist/daemonSupervisor-57JYYzMf.cjs +268 -0
- package/dist/daemonSupervisor-DfzrtNhM.mjs +245 -0
- package/dist/{defaultPermissionMode-BmvjP32v.cjs → defaultPermissionMode-DQmdZZIg.cjs} +2 -2
- package/dist/{defaultPermissionMode-DXMznl8v.mjs → defaultPermissionMode-U9LuUeQh.mjs} +2 -2
- package/dist/{deterministicJson-BS7D7URE.cjs → deterministicJson-BBRUcB8i.cjs} +569 -17
- package/dist/{deterministicJson-BcBIKKf1.mjs → deterministicJson-BixlyPWV.mjs} +572 -21
- package/dist/{doctor-Be7zC0AF.cjs → doctor-CKgHUV4W.cjs} +7 -7
- package/dist/{doctor-CoOaPq6w.mjs → doctor-Dban2oE2.mjs} +7 -7
- package/dist/{downloadTarget-LyOiucn_.cjs → downloadTarget-CmC11Y7E.cjs} +6 -6
- package/dist/{downloadTarget-CeaAXdJj.mjs → downloadTarget-VUTd9lEO.mjs} +6 -6
- package/dist/{ensureDaemonRunning-B8z37VKD.cjs → ensureDaemonRunning-L0fl0cLE.cjs} +5 -5
- package/dist/{ensureDaemonRunning--98j7-17.mjs → ensureDaemonRunning-khb8Nr1n.mjs} +5 -5
- package/dist/fsMkdir-0K3yENml.cjs +56 -0
- package/dist/fsMkdir-DumgLTzR.mjs +53 -0
- package/dist/{handleResumeCommand-gO8I4keP.mjs → handleResumeCommand-CLDGWpTJ.mjs} +5 -5
- package/dist/{handleResumeCommand-BFZlrFVH.cjs → handleResumeCommand-D9myBN2N.cjs} +5 -5
- package/dist/{index-WUj3954m.mjs → index-BMZx-699.mjs} +4 -4
- package/dist/{index-BRMq9gOe.cjs → index-BdJs0465.cjs} +3 -3
- package/dist/{index-CeRXrGnH.mjs → index-BptfFoXM.mjs} +283 -77
- package/dist/{index-jF2t3ACW.cjs → index-COSjJPIv.cjs} +4 -4
- package/dist/{index-hQ8LP1C2.mjs → index-CtwqBeH6.mjs} +3 -3
- package/dist/{index-B5PXbZjW.cjs → index-DgA79dVw.cjs} +41 -40
- package/dist/{index-Df2eHm3O.cjs → index-Fq-jxjsB.cjs} +294 -76
- package/dist/{index-CO0n9ue6.mjs → index-GkkbUZX-.mjs} +4 -4
- package/dist/{index-DneHoQXf.mjs → index-IRI8s8kz.mjs} +42 -41
- package/dist/{index-BkluinoS.cjs → index-y4JNyz9H.cjs} +4 -4
- package/dist/index.cjs +2 -2
- package/dist/index.mjs +2 -2
- package/dist/{install-D2NCbeJ-.cjs → install-BATFlr_l.cjs} +2 -2
- package/dist/{install-D0inLCv-.mjs → install-F3rP8tBU.mjs} +2 -2
- package/dist/{install-DkYFiVK4.mjs → install-JvCk2PJV.mjs} +3 -3
- package/dist/{install-FqkSUjPC.cjs → install-cn98bTCs.cjs} +3 -3
- package/dist/lib.cjs +12 -12
- package/dist/lib.d.cts +2 -1
- package/dist/lib.d.mts +2 -1
- package/dist/lib.mjs +12 -12
- package/dist/{lidState-x8cJ8J_9.cjs → lidState-Bcs5kRHi.cjs} +1 -1
- package/dist/{lidState-DghbfRbr.mjs → lidState-DXeYTsrm.mjs} +1 -1
- package/dist/{localHappyAgentAuth-IKmeRpuQ.mjs → localHappyAgentAuth-C1A4ChCR.mjs} +1 -1
- package/dist/{localHappyAgentAuth-DZ2kb9uq.cjs → localHappyAgentAuth-CypTSe42.cjs} +1 -1
- package/dist/{logger-DgBwUSgS.cjs → logger-Cgwz30rK.cjs} +2 -2
- package/dist/{logger-LFr8iPgl.mjs → logger-RMPh5aqe.mjs} +2 -2
- package/dist/{machineMetadata-DB03ez4K.cjs → machineMetadata-BSOGMNRi.cjs} +5 -3
- package/dist/{machineMetadata-BglCsfvf.mjs → machineMetadata-BTUtPRth.mjs} +5 -3
- package/dist/{main-YQ-Vkakw.cjs → main-4iiwYpCR.cjs} +61 -56
- package/dist/{main-_1LSzlLv.mjs → main-DNDL6t8z.mjs} +61 -56
- package/dist/{mcp-BIY80jSc.cjs → mcp-C7eEoGhz.cjs} +17 -15
- package/dist/{mcp-Csj-mT5Y.mjs → mcp-DXYDPOpJ.mjs} +17 -15
- package/dist/{mirrorProtocol-CAxOMBkb.mjs → mirrorProtocol-DQRy5PaT.mjs} +3 -3
- package/dist/{mirrorProtocol-BphKIAK9.cjs → mirrorProtocol-c5g5MgNc.cjs} +3 -3
- package/dist/{package-NoD8QOOM.cjs → package-3aPiSpZj.cjs} +7 -7
- package/dist/{package-DYGwlmXl.mjs → package-CTrz6U3C.mjs} +7 -7
- package/dist/{panels-B8zRm7_d.mjs → panels-B5sZ84vA.mjs} +5 -5
- package/dist/{panels-DYEc1NyQ.cjs → panels-BmsmKHbw.cjs} +5 -5
- package/dist/{peerTools-CK3JYu1k.mjs → peerTools-DIPOX033.mjs} +5 -5
- package/dist/{peerTools-CP-x-Peu.cjs → peerTools-Dxe7iCi_.cjs} +5 -5
- package/dist/{persistence-BY-D00wT.cjs → persistence-DZRMUZZS.cjs} +2 -2
- package/dist/{persistence-D2Djrf7t.mjs → persistence-zJo4r7YI.mjs} +2 -2
- package/dist/{piRunnerArgs-gxLYIZH4.cjs → piRunnerArgs-BSPiS6tZ.cjs} +1 -1
- package/dist/{piRunnerArgs-IZLoL7TG.mjs → piRunnerArgs-IVdoHUB6.mjs} +1 -1
- package/dist/{piRuntime-o5L8uX-W.cjs → piRuntime-BJzjlMcN.cjs} +2 -2
- package/dist/{piRuntime-D7Y4oHVL.mjs → piRuntime-BvHO3vgO.mjs} +2 -2
- package/dist/{piTerminal-C_-JDkLN.cjs → piTerminal-Cz4pW55d.cjs} +20 -18
- package/dist/{piTerminal-Kphx8Uhw.mjs → piTerminal-D7vBOpkE.mjs} +20 -18
- package/dist/{pushNotifications-DXGIhE-A.mjs → pushNotifications-C4R9-1hU.mjs} +5 -3
- package/dist/{pushNotifications-BXoOSq_G.cjs → pushNotifications-CgIrYml3.cjs} +5 -3
- package/dist/{query-CdCxzuaB.cjs → query-CZQG1PdU.cjs} +1 -1
- package/dist/{query-CcA6DVZK.mjs → query-DKPmDsHS.mjs} +1 -1
- package/dist/{rateLimitWindows-OpAmdOtC.cjs → rateLimitWindows-CPV0nLeq.cjs} +1 -1
- package/dist/{rateLimitWindows-ZtHZHe-l.mjs → rateLimitWindows-HlHATOQ0.mjs} +1 -1
- package/dist/{registerCommonHandlers-CRjBoJLK.cjs → registerCommonHandlers-D1pC83Op.cjs} +2 -2
- package/dist/{registerCommonHandlers-DF6bdDtd.mjs → registerCommonHandlers-a9lHojSV.mjs} +2 -2
- package/dist/{registerKillSessionHandler-DDCKL3wf.mjs → registerKillSessionHandler-Bp-fuH-w.mjs} +6 -6
- package/dist/{registerKillSessionHandler-7fOm6ooh.cjs → registerKillSessionHandler-nTi2vVJy.cjs} +6 -6
- package/dist/{remoteSessionClient-B2POSKFT.mjs → remoteSessionClient-Cwrddscy.mjs} +5 -5
- package/dist/{remoteSessionClient-CFCn42bs.cjs → remoteSessionClient-HQAKAvVd.cjs} +5 -5
- package/dist/{reportProgressTool-th4trcET.cjs → reportProgressTool-Be-8ADI4.cjs} +4 -4
- package/dist/{reportProgressTool-tPxEvh6x.mjs → reportProgressTool-CcZ32nrd.mjs} +4 -4
- package/dist/{resources-CH1iP6Cv.mjs → resources-CLdQfe3b.mjs} +1 -1
- package/dist/{resources-BPyN59Iv.cjs → resources-CqwHPhdK.cjs} +1 -1
- package/dist/{run-cKQBbVi4.mjs → run-BBU8GyxE.mjs} +63 -244
- package/dist/{run-C_FumCQk.cjs → run-CxRJk9qq.cjs} +73 -255
- package/dist/{runClaude-CYnM6krL.mjs → runClaude-DR6pEQwd.mjs} +23 -22
- package/dist/{runClaude-z_2YC_aa.cjs → runClaude-Dd5zJaUZ.cjs} +23 -22
- package/dist/{runClaudeDeps-duS06Pb4.mjs → runClaudeDeps-COgZaUZm.mjs} +50 -45
- package/dist/{runClaudeDeps-CLubzWnA.cjs → runClaudeDeps-CTtZ_1mC.cjs} +45 -40
- package/dist/{runGemini-C_Pc2EhH.mjs → runGemini-DVoVUfPp.mjs} +40 -37
- package/dist/{runGemini-vEoXV6qT.cjs → runGemini-DX72qB92.cjs} +40 -37
- package/dist/{runOpenClaw-Cxun1qLC.mjs → runOpenClaw-BHjzmzeC.mjs} +19 -18
- package/dist/{runOpenClaw-CXJCtMgB.cjs → runOpenClaw-BSg4hFVt.cjs} +19 -18
- package/dist/{sandbox-CsvPnTmz.mjs → sandbox-CWR9EqoN.mjs} +4 -4
- package/dist/{sandbox-CO46H2tK.cjs → sandbox-D1T_hmgZ.cjs} +4 -4
- package/dist/{selfCheck-DIr7Gc0i.cjs → selfCheck-CE7vlnNS.cjs} +36 -36
- package/dist/selfCheck-ZGgBtxFQ.mjs +85 -0
- package/dist/{send-DMoFg6F1.mjs → send-BDF0Zvxo.mjs} +8 -8
- package/dist/{send-X2mfVEyr.cjs → send-BxZqRCcG.cjs} +8 -8
- package/dist/{server-CkqQ0sRH.mjs → server-B4JtnDLF.mjs} +4 -4
- package/dist/{server-BwTEdbkr.cjs → server-DB7_70Mi.cjs} +6 -6
- package/dist/{sessionLock-CdIRJlHH.cjs → sessionLock-BXvFN6uw.cjs} +3 -3
- package/dist/{sessionLock-JIfwCqMk.mjs → sessionLock-CXOOX-VD.mjs} +3 -3
- package/dist/{sessionOps-DVA-00nR.cjs → sessionOps-BWlDlFYP.cjs} +4 -4
- package/dist/{sessionOps-DqlftXxe.mjs → sessionOps-ByVggB_q.mjs} +4 -4
- package/dist/{sessionScanner-BMwgGAhY.cjs → sessionScanner-DkxPB5VA.cjs} +3 -3
- package/dist/{sessionScanner-BI0Vo1xT.mjs → sessionScanner-r66RtF95.mjs} +3 -3
- package/dist/{sessions-DjgEcHaT.cjs → sessions-BiJTxFy9.cjs} +10 -10
- package/dist/{sessions-D6IimX7b.mjs → sessions-C1lLK_a9.mjs} +10 -10
- package/dist/{setupOfflineReconnection-DgJK_4m1.mjs → setupOfflineReconnection-Bl3DuakT.mjs} +2 -2
- package/dist/{setupOfflineReconnection-CjuCiKY3.cjs → setupOfflineReconnection-CecTiFZ-.cjs} +2 -2
- package/dist/{spawn-Dvzy-tzc.mjs → spawn-D-8MlEM6.mjs} +14 -14
- package/dist/{spawn-rhF28shY.cjs → spawn-D79mVa3h.cjs} +14 -14
- package/dist/{spawnAgents-CCnlq-FI.mjs → spawnAgents-DJHjq01u.mjs} +1 -1
- package/dist/{spawnAgents-iwuqrgR9.cjs → spawnAgents-Sfnf-4pN.cjs} +1 -1
- package/dist/{spawnHappyCLI-DnKmIsEt.cjs → spawnHappyCLI-CQwQs9G5.cjs} +1 -1
- package/dist/{spawnHappyCLI-Dq3LLXLb.mjs → spawnHappyCLI-v_bJwZ4Z.mjs} +1 -1
- package/dist/{specialCommands-Zwr2C6A2.cjs → specialCommands-CWMVfT5s.cjs} +3 -3
- package/dist/{specialCommands-CcyZ1hGA.mjs → specialCommands-yMnFvS-W.mjs} +3 -3
- package/dist/{startFileWatcher-4thXDK9d.mjs → startFileWatcher-BCDkT_tr.mjs} +1 -1
- package/dist/{startFileWatcher-K6hJSyiR.cjs → startFileWatcher-GW4_E7dV.cjs} +1 -1
- package/dist/{startupSessionCreate-BfByJ16A.mjs → startupSessionCreate-BcAGYo51.mjs} +1 -1
- package/dist/{startupSessionCreate-CKEbq0tL.cjs → startupSessionCreate-tBRa_ze8.cjs} +1 -1
- package/dist/{streamRelay-LcDvyEjK.mjs → streamRelay-BEDiy6_b.mjs} +1 -1
- package/dist/{streamRelay-Gy8Xfnon.cjs → streamRelay-BZ8drtof.cjs} +1 -1
- package/dist/{sync-DO-2PU45.mjs → sync--QUIOuf8.mjs} +1 -1
- package/dist/{sync-1hQ5KHpL.cjs → sync-BMDkyo75.cjs} +1 -1
- package/dist/{systemPrompt-Dj7pgkMK.cjs → systemPrompt-DoHSXrH0.cjs} +2 -2
- package/dist/{systemPrompt-BctLfMZs.mjs → systemPrompt-O0Kd6vbA.mjs} +2 -2
- package/dist/{teams-uQxUlyyz.cjs → teams-BkZop-sP.cjs} +13 -10
- package/dist/{teams-Bu8YeOoF.mjs → teams-CTF1gT48.mjs} +13 -10
- package/dist/{template-BaHAmH2K.cjs → template-CeC1dYe-.cjs} +32 -2
- package/dist/{template-CiOPa2rd.mjs → template-D1fm22em.mjs} +31 -3
- package/dist/{time-BcoJaG8E.mjs → time-B2KKdAym.mjs} +1 -1
- package/dist/{time-nqa9shu8.cjs → time-CdCotzKU.cjs} +1 -1
- package/dist/{titleGenerator-D5r06bhf.mjs → titleGenerator-BFDczskR.mjs} +1 -1
- package/dist/{titleGenerator-D09XyYYG.cjs → titleGenerator-DZH1XqAf.cjs} +2 -2
- package/dist/{todo-D1q8146q.mjs → todo-C2gyOUom.mjs} +6 -6
- package/dist/{todo-CCOnL7pT.cjs → todo-DnTFTHmV.cjs} +6 -6
- package/dist/{tools-DiCXnAC5.cjs → tools-C8rpwyIl.cjs} +1 -1
- package/dist/{tools-D2E--n1x.mjs → tools-DUjkqSQL.mjs} +1 -1
- package/dist/{uninstall-CtwXi1Rt.mjs → uninstall-B5Ew50mZ.mjs} +3 -3
- package/dist/{uninstall-BrNwwwSD.cjs → uninstall-CKMPWTMv.cjs} +3 -3
- package/package.json +7 -7
- package/dist/daemonSupervisor-B-SPSqhs.cjs +0 -13
- package/dist/daemonSupervisor-C6urv3_8.mjs +0 -10
- package/dist/selfCheck-NamtBHVB.mjs +0 -85
|
@@ -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-RMPh5aqe.mjs';
|
|
5
|
+
import { d as delay } from './time-B2KKdAym.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-CTrz6U3C.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) => {
|
|
@@ -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-Cgwz30rK.cjs');
|
|
7
|
+
var time = require('./time-CdCotzKU.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-3aPiSpZj.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,7 +1,8 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
3
|
var cuid2 = require('@paralleldrive/cuid2');
|
|
4
|
-
var index = require('./index-
|
|
4
|
+
var index = require('./index-Fq-jxjsB.cjs');
|
|
5
|
+
var api = require('./api-xZiqVynF.cjs');
|
|
5
6
|
|
|
6
7
|
function turnOptions(turnId, time) {
|
|
7
8
|
return turnId ? { turn: turnId, time } : { time };
|
|
@@ -13,9 +14,15 @@ function buildToolDescription(toolName) {
|
|
|
13
14
|
return `Running ${toolName}`;
|
|
14
15
|
}
|
|
15
16
|
function toolCallEndResult(result) {
|
|
16
|
-
if (
|
|
17
|
+
if (typeof result === "string") return api.textResultPayload(result, false);
|
|
18
|
+
if (Array.isArray(result)) return api.toolResultPayload({ content: result });
|
|
19
|
+
if (!result || typeof result !== "object") return void 0;
|
|
17
20
|
const record = result;
|
|
18
|
-
if (typeof record.text !== "string")
|
|
21
|
+
if (typeof record.text !== "string") {
|
|
22
|
+
if (record.error !== void 0) return api.textResultPayload(typeof record.error === "string" ? record.error : JSON.stringify(record.error) ?? "", true);
|
|
23
|
+
if (Array.isArray(record.content)) return api.toolResultPayload({ content: record.content });
|
|
24
|
+
return void 0;
|
|
25
|
+
}
|
|
19
26
|
const exitCode = typeof record.exitCode === "number" ? record.exitCode : void 0;
|
|
20
27
|
const text = exitCode !== void 0 && exitCode !== 0 ? `${record.text}${record.text.endsWith("\n") || record.text === "" ? "" : "\n"}[exit code ${exitCode}]` : record.text;
|
|
21
28
|
return {
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { createId } from '@paralleldrive/cuid2';
|
|
2
|
-
import { s as streamKeyOf,
|
|
2
|
+
import { s as streamKeyOf, g as createEnvelope } from './index-BptfFoXM.mjs';
|
|
3
|
+
import { t as textResultPayload, b as toolResultPayload } from './api-C29WLYkW.mjs';
|
|
3
4
|
|
|
4
5
|
function turnOptions(turnId, time) {
|
|
5
6
|
return turnId ? { turn: turnId, time } : { time };
|
|
@@ -11,9 +12,15 @@ function buildToolDescription(toolName) {
|
|
|
11
12
|
return `Running ${toolName}`;
|
|
12
13
|
}
|
|
13
14
|
function toolCallEndResult(result) {
|
|
14
|
-
if (
|
|
15
|
+
if (typeof result === "string") return textResultPayload(result, false);
|
|
16
|
+
if (Array.isArray(result)) return toolResultPayload({ content: result });
|
|
17
|
+
if (!result || typeof result !== "object") return void 0;
|
|
15
18
|
const record = result;
|
|
16
|
-
if (typeof record.text !== "string")
|
|
19
|
+
if (typeof record.text !== "string") {
|
|
20
|
+
if (record.error !== void 0) return textResultPayload(typeof record.error === "string" ? record.error : JSON.stringify(record.error) ?? "", true);
|
|
21
|
+
if (Array.isArray(record.content)) return toolResultPayload({ content: record.content });
|
|
22
|
+
return void 0;
|
|
23
|
+
}
|
|
17
24
|
const exitCode = typeof record.exitCode === "number" ? record.exitCode : void 0;
|
|
18
25
|
const text = exitCode !== void 0 && exitCode !== 0 ? `${record.text}${record.text.endsWith("\n") || record.text === "" ? "" : "\n"}[exit code ${exitCode}]` : record.text;
|
|
19
26
|
return {
|
|
@@ -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-elzht62L.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-K3I6yOjZ.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-zJo4r7YI.mjs';
|
|
4
4
|
import 'node:fs';
|
|
5
|
-
import './logger-
|
|
5
|
+
import './logger-RMPh5aqe.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-elzht62L.mjs';
|
|
9
9
|
import 'node:path';
|
|
10
|
-
import './package-
|
|
10
|
+
import './package-CTrz6U3C.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-DZRMUZZS.cjs');
|
|
6
6
|
require('node:fs');
|
|
7
|
-
require('./logger-
|
|
7
|
+
require('./logger-Cgwz30rK.cjs');
|
|
8
8
|
var loginShellEnv = require('./loginShellEnv-BkuYtExZ.cjs');
|
|
9
9
|
require('node:fs/promises');
|
|
10
|
-
require('./configuration-
|
|
10
|
+
require('./configuration-K3I6yOjZ.cjs');
|
|
11
11
|
require('node:path');
|
|
12
|
-
require('./package-
|
|
12
|
+
require('./package-3aPiSpZj.cjs');
|
|
13
13
|
require('zod');
|
|
14
14
|
require('./authRelay-Dy1qU9td.cjs');
|
|
15
15
|
require('node:crypto');
|
|
@@ -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-RMPh5aqe.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-DXeYTsrm.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-C4R9-1hU.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-B2KKdAym.mjs';
|
|
10
|
+
import { c as configuration } from './configuration-elzht62L.mjs';
|
|
11
11
|
import { createHmac, randomUUID } from 'node:crypto';
|
|
12
|
-
import {
|
|
13
|
-
import { r as registerCommonHandlers } from './registerCommonHandlers-
|
|
12
|
+
import { g as createEnvelope, s as streamKeyOf, R as ReleaseDrainNoticeSchema, H as RelayAssignmentResponseSchema } from './index-BptfFoXM.mjs';
|
|
13
|
+
import { r as registerCommonHandlers } from './registerCommonHandlers-a9lHojSV.mjs';
|
|
14
14
|
import { createId } from '@paralleldrive/cuid2';
|
|
15
|
-
import { I as InvalidateSync } from './sync
|
|
15
|
+
import { I as InvalidateSync } from './sync--QUIOuf8.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-CuYQs2aZ.mjs';
|
|
18
18
|
import chalk from 'chalk';
|
|
19
19
|
|
|
20
20
|
async function hmac_sha512(key, data) {
|
|
@@ -185,6 +185,66 @@ function shouldEmitProgress(previous, toolUses, now) {
|
|
|
185
185
|
return now - previous.lastAt >= SUBAGENT_PROGRESS_MIN_INTERVAL_MS;
|
|
186
186
|
}
|
|
187
187
|
|
|
188
|
+
const TOOL_RESULT_MAX_BYTES = 32 * 1024;
|
|
189
|
+
function formatSize(bytes) {
|
|
190
|
+
if (bytes >= 1024 * 1024) return `${(bytes / (1024 * 1024)).toFixed(1)} MB`;
|
|
191
|
+
return `${Math.max(1, Math.round(bytes / 1024))} KB`;
|
|
192
|
+
}
|
|
193
|
+
function base64Bytes(data) {
|
|
194
|
+
const padding = data.endsWith("==") ? 2 : data.endsWith("=") ? 1 : 0;
|
|
195
|
+
return Math.max(0, Math.floor(data.length * 3 / 4) - padding);
|
|
196
|
+
}
|
|
197
|
+
function binaryBlockLabel(kind, source) {
|
|
198
|
+
const src = source && typeof source === "object" ? source : {};
|
|
199
|
+
const parts = [typeof src.media_type === "string" ? src.media_type : null];
|
|
200
|
+
if (typeof src.data === "string") parts.push(formatSize(base64Bytes(src.data)));
|
|
201
|
+
const detail = parts.filter(Boolean).join(", ");
|
|
202
|
+
return detail ? `[${kind} ${detail}]` : `[${kind}]`;
|
|
203
|
+
}
|
|
204
|
+
function toolResultContentText(content) {
|
|
205
|
+
if (typeof content === "string") return content;
|
|
206
|
+
if (!Array.isArray(content)) return "";
|
|
207
|
+
const parts = [];
|
|
208
|
+
for (const block of content) {
|
|
209
|
+
if (!block || typeof block !== "object") continue;
|
|
210
|
+
const b = block;
|
|
211
|
+
if (b.type === "text" && typeof b.text === "string") parts.push(b.text);
|
|
212
|
+
else if (b.type === "image" || b.type === "document" || b.type === "audio") {
|
|
213
|
+
parts.push(binaryBlockLabel(b.type, b.source ?? { media_type: b.mimeType, data: b.data }));
|
|
214
|
+
} else if (b.type === "content") {
|
|
215
|
+
const inner = toolResultContentText([b.content]);
|
|
216
|
+
if (inner) parts.push(inner);
|
|
217
|
+
} else if (b.type === "diff" || b.type === "terminal") continue;
|
|
218
|
+
else if (typeof b.type === "string") parts.push(`[${b.type}]`);
|
|
219
|
+
}
|
|
220
|
+
return parts.join("\n");
|
|
221
|
+
}
|
|
222
|
+
function capUtf8(text, maxBytes = TOOL_RESULT_MAX_BYTES) {
|
|
223
|
+
if (text.length * 3 <= maxBytes) return { text, truncated: false };
|
|
224
|
+
let bytes = 0;
|
|
225
|
+
let end = 0;
|
|
226
|
+
for (const ch of text) {
|
|
227
|
+
const cp = ch.codePointAt(0);
|
|
228
|
+
const size = cp < 128 ? 1 : cp < 2048 ? 2 : cp < 65536 ? 3 : 4;
|
|
229
|
+
if (bytes + size > maxBytes) return { text: text.slice(0, end), truncated: true };
|
|
230
|
+
bytes += size;
|
|
231
|
+
end += ch.length;
|
|
232
|
+
}
|
|
233
|
+
return { text, truncated: false };
|
|
234
|
+
}
|
|
235
|
+
function toolResultPayload(block, maxBytes = TOOL_RESULT_MAX_BYTES) {
|
|
236
|
+
return textResultPayload(toolResultContentText(block.content), block.is_error === true, maxBytes);
|
|
237
|
+
}
|
|
238
|
+
function textResultPayload(raw, isError, maxBytes = TOOL_RESULT_MAX_BYTES) {
|
|
239
|
+
if (!raw && !isError) return void 0;
|
|
240
|
+
const capped = capUtf8(raw, maxBytes);
|
|
241
|
+
return {
|
|
242
|
+
text: capped.text,
|
|
243
|
+
...capped.truncated ? { truncated: true } : {},
|
|
244
|
+
...isError ? { isError: true } : {}
|
|
245
|
+
};
|
|
246
|
+
}
|
|
247
|
+
|
|
188
248
|
const SUBAGENT_BUFFER_MAX_MESSAGES = 100;
|
|
189
249
|
function isSubagentTool(name) {
|
|
190
250
|
return name === "Task" || name === "Agent";
|
|
@@ -817,9 +877,11 @@ function mapClaudeLogMessageToSessionEnvelopesInternal(message, state) {
|
|
|
817
877
|
maybeEmitSubagentStop(state, turnId, sessionSubagentForToolResult, envelopes);
|
|
818
878
|
}
|
|
819
879
|
}
|
|
880
|
+
const toolResult = toolResultPayload(block);
|
|
820
881
|
envelopes.push(createEnvelope("agent", {
|
|
821
882
|
t: "tool-call-end",
|
|
822
|
-
call: block.tool_use_id
|
|
883
|
+
call: block.tool_use_id,
|
|
884
|
+
...toolResult ? { result: toolResult } : {}
|
|
823
885
|
}, { turn: turnId, subagent }));
|
|
824
886
|
continue;
|
|
825
887
|
}
|
|
@@ -1601,6 +1663,11 @@ class ApiSessionClient extends EventEmitter {
|
|
|
1601
1663
|
const messageWithSource = sourceLocalId && typeof message === "object" && message !== null ? { ...message, localKey: message.localKey ?? sourceLocalId } : message;
|
|
1602
1664
|
const userResult = UserMessageSchema.safeParse(messageWithSource);
|
|
1603
1665
|
if (userResult.success) {
|
|
1666
|
+
try {
|
|
1667
|
+
this.emit("user-message-routed", { localId: sourceLocalId ?? null, message: userResult.data });
|
|
1668
|
+
} catch (error) {
|
|
1669
|
+
logger.debug("[API] user-message-routed listener failed:", error);
|
|
1670
|
+
}
|
|
1604
1671
|
if (this.pendingMessageCallback) {
|
|
1605
1672
|
this.pendingMessageCallback(userResult.data);
|
|
1606
1673
|
} else {
|
|
@@ -2947,7 +3014,7 @@ class ApiClient {
|
|
|
2947
3014
|
return new ApiSessionClient(this.credential.token, session, opts);
|
|
2948
3015
|
}
|
|
2949
3016
|
async machineSyncClient(machine) {
|
|
2950
|
-
const { ApiMachineClient } = await import('./apiMachine-
|
|
3017
|
+
const { ApiMachineClient } = await import('./apiMachine-Dz6Yfk0m.mjs');
|
|
2951
3018
|
return new ApiMachineClient(this.credential.token, machine);
|
|
2952
3019
|
}
|
|
2953
3020
|
push() {
|
|
@@ -3241,4 +3308,4 @@ var api = /*#__PURE__*/Object.freeze({
|
|
|
3241
3308
|
describeSessionCreateError: describeSessionCreateError
|
|
3242
3309
|
});
|
|
3243
3310
|
|
|
3244
|
-
export { ApiClient as A, TurnActivityTracker as T, ApiSessionClient as a,
|
|
3311
|
+
export { ApiClient as A, TurnActivityTracker as T, ApiSessionClient as a, toolResultPayload as b, connectionState as c, toolResultContentText as d, api as e, startOfflineReconnection as s, textResultPayload as t };
|
|
@@ -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-Cgwz30rK.cjs');
|
|
5
|
+
var lidState = require('./lidState-Bcs5kRHi.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-CgIrYml3.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-CdCotzKU.cjs');
|
|
12
|
+
var configuration = require('./configuration-K3I6yOjZ.cjs');
|
|
13
13
|
var node_crypto = require('node:crypto');
|
|
14
|
-
var index = require('./index-
|
|
15
|
-
var registerCommonHandlers = require('./registerCommonHandlers-
|
|
14
|
+
var index = require('./index-Fq-jxjsB.cjs');
|
|
15
|
+
var registerCommonHandlers = require('./registerCommonHandlers-D1pC83Op.cjs');
|
|
16
16
|
var cuid2 = require('@paralleldrive/cuid2');
|
|
17
|
-
var sync = require('./sync-
|
|
17
|
+
var sync = require('./sync-BMDkyo75.cjs');
|
|
18
18
|
var backgroundTaskActivity = require('./backgroundTaskActivity-CBvUdj39.cjs');
|
|
19
|
-
var controlClient = require('./controlClient-
|
|
19
|
+
var controlClient = require('./controlClient-ChqmxgbB.cjs');
|
|
20
20
|
var chalk = require('chalk');
|
|
21
21
|
|
|
22
22
|
async function hmac_sha512(key, data) {
|
|
@@ -187,6 +187,66 @@ function shouldEmitProgress(previous, toolUses, now) {
|
|
|
187
187
|
return now - previous.lastAt >= SUBAGENT_PROGRESS_MIN_INTERVAL_MS;
|
|
188
188
|
}
|
|
189
189
|
|
|
190
|
+
const TOOL_RESULT_MAX_BYTES = 32 * 1024;
|
|
191
|
+
function formatSize(bytes) {
|
|
192
|
+
if (bytes >= 1024 * 1024) return `${(bytes / (1024 * 1024)).toFixed(1)} MB`;
|
|
193
|
+
return `${Math.max(1, Math.round(bytes / 1024))} KB`;
|
|
194
|
+
}
|
|
195
|
+
function base64Bytes(data) {
|
|
196
|
+
const padding = data.endsWith("==") ? 2 : data.endsWith("=") ? 1 : 0;
|
|
197
|
+
return Math.max(0, Math.floor(data.length * 3 / 4) - padding);
|
|
198
|
+
}
|
|
199
|
+
function binaryBlockLabel(kind, source) {
|
|
200
|
+
const src = source && typeof source === "object" ? source : {};
|
|
201
|
+
const parts = [typeof src.media_type === "string" ? src.media_type : null];
|
|
202
|
+
if (typeof src.data === "string") parts.push(formatSize(base64Bytes(src.data)));
|
|
203
|
+
const detail = parts.filter(Boolean).join(", ");
|
|
204
|
+
return detail ? `[${kind} ${detail}]` : `[${kind}]`;
|
|
205
|
+
}
|
|
206
|
+
function toolResultContentText(content) {
|
|
207
|
+
if (typeof content === "string") return content;
|
|
208
|
+
if (!Array.isArray(content)) return "";
|
|
209
|
+
const parts = [];
|
|
210
|
+
for (const block of content) {
|
|
211
|
+
if (!block || typeof block !== "object") continue;
|
|
212
|
+
const b = block;
|
|
213
|
+
if (b.type === "text" && typeof b.text === "string") parts.push(b.text);
|
|
214
|
+
else if (b.type === "image" || b.type === "document" || b.type === "audio") {
|
|
215
|
+
parts.push(binaryBlockLabel(b.type, b.source ?? { media_type: b.mimeType, data: b.data }));
|
|
216
|
+
} else if (b.type === "content") {
|
|
217
|
+
const inner = toolResultContentText([b.content]);
|
|
218
|
+
if (inner) parts.push(inner);
|
|
219
|
+
} else if (b.type === "diff" || b.type === "terminal") continue;
|
|
220
|
+
else if (typeof b.type === "string") parts.push(`[${b.type}]`);
|
|
221
|
+
}
|
|
222
|
+
return parts.join("\n");
|
|
223
|
+
}
|
|
224
|
+
function capUtf8(text, maxBytes = TOOL_RESULT_MAX_BYTES) {
|
|
225
|
+
if (text.length * 3 <= maxBytes) return { text, truncated: false };
|
|
226
|
+
let bytes = 0;
|
|
227
|
+
let end = 0;
|
|
228
|
+
for (const ch of text) {
|
|
229
|
+
const cp = ch.codePointAt(0);
|
|
230
|
+
const size = cp < 128 ? 1 : cp < 2048 ? 2 : cp < 65536 ? 3 : 4;
|
|
231
|
+
if (bytes + size > maxBytes) return { text: text.slice(0, end), truncated: true };
|
|
232
|
+
bytes += size;
|
|
233
|
+
end += ch.length;
|
|
234
|
+
}
|
|
235
|
+
return { text, truncated: false };
|
|
236
|
+
}
|
|
237
|
+
function toolResultPayload(block, maxBytes = TOOL_RESULT_MAX_BYTES) {
|
|
238
|
+
return textResultPayload(toolResultContentText(block.content), block.is_error === true, maxBytes);
|
|
239
|
+
}
|
|
240
|
+
function textResultPayload(raw, isError, maxBytes = TOOL_RESULT_MAX_BYTES) {
|
|
241
|
+
if (!raw && !isError) return void 0;
|
|
242
|
+
const capped = capUtf8(raw, maxBytes);
|
|
243
|
+
return {
|
|
244
|
+
text: capped.text,
|
|
245
|
+
...capped.truncated ? { truncated: true } : {},
|
|
246
|
+
...isError ? { isError: true } : {}
|
|
247
|
+
};
|
|
248
|
+
}
|
|
249
|
+
|
|
190
250
|
const SUBAGENT_BUFFER_MAX_MESSAGES = 100;
|
|
191
251
|
function isSubagentTool(name) {
|
|
192
252
|
return name === "Task" || name === "Agent";
|
|
@@ -819,9 +879,11 @@ function mapClaudeLogMessageToSessionEnvelopesInternal(message, state) {
|
|
|
819
879
|
maybeEmitSubagentStop(state, turnId, sessionSubagentForToolResult, envelopes);
|
|
820
880
|
}
|
|
821
881
|
}
|
|
882
|
+
const toolResult = toolResultPayload(block);
|
|
822
883
|
envelopes.push(index.createEnvelope("agent", {
|
|
823
884
|
t: "tool-call-end",
|
|
824
|
-
call: block.tool_use_id
|
|
885
|
+
call: block.tool_use_id,
|
|
886
|
+
...toolResult ? { result: toolResult } : {}
|
|
825
887
|
}, { turn: turnId, subagent }));
|
|
826
888
|
continue;
|
|
827
889
|
}
|
|
@@ -1603,6 +1665,11 @@ class ApiSessionClient extends node_events.EventEmitter {
|
|
|
1603
1665
|
const messageWithSource = sourceLocalId && typeof message === "object" && message !== null ? { ...message, localKey: message.localKey ?? sourceLocalId } : message;
|
|
1604
1666
|
const userResult = pushNotifications.UserMessageSchema.safeParse(messageWithSource);
|
|
1605
1667
|
if (userResult.success) {
|
|
1668
|
+
try {
|
|
1669
|
+
this.emit("user-message-routed", { localId: sourceLocalId ?? null, message: userResult.data });
|
|
1670
|
+
} catch (error) {
|
|
1671
|
+
logger.logger.debug("[API] user-message-routed listener failed:", error);
|
|
1672
|
+
}
|
|
1606
1673
|
if (this.pendingMessageCallback) {
|
|
1607
1674
|
this.pendingMessageCallback(userResult.data);
|
|
1608
1675
|
} else {
|
|
@@ -2949,7 +3016,7 @@ class ApiClient {
|
|
|
2949
3016
|
return new ApiSessionClient(this.credential.token, session, opts);
|
|
2950
3017
|
}
|
|
2951
3018
|
async machineSyncClient(machine) {
|
|
2952
|
-
const { ApiMachineClient } = await Promise.resolve().then(function () { return require('./apiMachine-
|
|
3019
|
+
const { ApiMachineClient } = await Promise.resolve().then(function () { return require('./apiMachine-B-FNBIYG.cjs'); });
|
|
2953
3020
|
return new ApiMachineClient(this.credential.token, machine);
|
|
2954
3021
|
}
|
|
2955
3022
|
push() {
|
|
@@ -3249,3 +3316,6 @@ exports.TurnActivityTracker = TurnActivityTracker;
|
|
|
3249
3316
|
exports.api = api;
|
|
3250
3317
|
exports.connectionState = connectionState;
|
|
3251
3318
|
exports.startOfflineReconnection = startOfflineReconnection;
|
|
3319
|
+
exports.textResultPayload = textResultPayload;
|
|
3320
|
+
exports.toolResultContentText = toolResultContentText;
|
|
3321
|
+
exports.toolResultPayload = toolResultPayload;
|
|
@@ -2,44 +2,45 @@
|
|
|
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-Cgwz30rK.cjs');
|
|
6
|
+
var lidState = require('./lidState-Bcs5kRHi.cjs');
|
|
7
|
+
var mirrorProtocol = require('./mirrorProtocol-c5g5MgNc.cjs');
|
|
8
|
+
var configuration = require('./configuration-K3I6yOjZ.cjs');
|
|
9
9
|
var cliUpdate = require('./cliUpdate-DsKXPFYp.cjs');
|
|
10
|
-
var registerCommonHandlers = require('./registerCommonHandlers-
|
|
10
|
+
var registerCommonHandlers = require('./registerCommonHandlers-D1pC83Op.cjs');
|
|
11
11
|
var promises = require('node:fs/promises');
|
|
12
12
|
var path = require('node:path');
|
|
13
13
|
var os = require('node:os');
|
|
14
|
+
var fsMkdir = require('./fsMkdir-0K3yENml.cjs');
|
|
14
15
|
var node_child_process = require('node:child_process');
|
|
15
|
-
var persistence = require('./persistence-
|
|
16
|
+
var persistence = require('./persistence-DZRMUZZS.cjs');
|
|
16
17
|
var fileStore = require('./fileStore-7qhnbs6N.cjs');
|
|
17
18
|
var authRelay = require('./authRelay-Dy1qU9td.cjs');
|
|
18
19
|
var limits = require('./limits-C-a7gr04.cjs');
|
|
19
|
-
var time = require('./time-
|
|
20
|
+
var time = require('./time-CdCotzKU.cjs');
|
|
20
21
|
var pty = require('node-pty');
|
|
21
22
|
var terminals = require('./terminals-B_bfC9c2.cjs');
|
|
22
23
|
var tmuxSocket = require('./tmuxSocket-D-Xt6Vn-.cjs');
|
|
23
|
-
var index = require('./index-
|
|
24
|
+
var index = require('./index-y4JNyz9H.cjs');
|
|
24
25
|
var node_crypto = require('node:crypto');
|
|
25
26
|
var node_fs = require('node:fs');
|
|
26
27
|
var axios = require('axios');
|
|
27
28
|
var projectPath = require('./projectPath-C3ioB4Bu.cjs');
|
|
28
29
|
var ids = require('./ids-B6ZC0HGt.cjs');
|
|
29
30
|
var detectCLI = require('./detectCLI-BuYR_Qxe.cjs');
|
|
30
|
-
var localHappyAgentAuth = require('./localHappyAgentAuth-
|
|
31
|
+
var localHappyAgentAuth = require('./localHappyAgentAuth-CypTSe42.cjs');
|
|
31
32
|
var path$1 = require('./path-B7zW-WwE.cjs');
|
|
32
33
|
var oneShotPrompts = require('./oneShotPrompts-CL0dip9C.cjs');
|
|
33
|
-
var claudeSessionFork = require('./claudeSessionFork-
|
|
34
|
-
var codexAppServerClient = require('./codexAppServerClient-
|
|
35
|
-
var index$1 = require('./index-
|
|
34
|
+
var claudeSessionFork = require('./claudeSessionFork-BUO1XdSm.cjs');
|
|
35
|
+
var codexAppServerClient = require('./codexAppServerClient-C3nrTfwY.cjs');
|
|
36
|
+
var index$1 = require('./index-Fq-jxjsB.cjs');
|
|
36
37
|
var codexThreadFork = require('./codexThreadFork-DNekT4nQ.cjs');
|
|
37
|
-
var rateLimitWindows = require('./rateLimitWindows-
|
|
38
|
+
var rateLimitWindows = require('./rateLimitWindows-CPV0nLeq.cjs');
|
|
38
39
|
require('chalk');
|
|
39
40
|
require('node:util');
|
|
40
41
|
require('os');
|
|
41
42
|
require('child_process');
|
|
42
|
-
require('./package-
|
|
43
|
+
require('./package-3aPiSpZj.cjs');
|
|
43
44
|
require('util');
|
|
44
45
|
require('fs/promises');
|
|
45
46
|
require('crypto');
|
|
@@ -205,6 +206,10 @@ function registerFsHandlers(rpcHandlerManager) {
|
|
|
205
206
|
logger.logger.debug("[FS RPC] fs-read", params?.path);
|
|
206
207
|
return fsRead(params?.path, { maxBytes: params?.maxBytes, allowBinary: params?.allowBinary === true, offset: params?.offset });
|
|
207
208
|
});
|
|
209
|
+
rpcHandlerManager.registerHandler("fs-mkdir", async (params) => {
|
|
210
|
+
logger.logger.debug("[FS RPC] fs-mkdir", params?.path);
|
|
211
|
+
return fsMkdir.fsMkdir(params?.path, { gitInit: params?.gitInit === true });
|
|
212
|
+
});
|
|
208
213
|
}
|
|
209
214
|
|
|
210
215
|
const TODO_LIST_MAX_ITEMS = 500;
|
|
@@ -1,43 +1,44 @@
|
|
|
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 { 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-
|
|
6
|
-
import { c as configuration } from './configuration-
|
|
3
|
+
import { l as logger } from './logger-RMPh5aqe.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-DXeYTsrm.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-DQRy5PaT.mjs';
|
|
6
|
+
import { c as configuration } from './configuration-elzht62L.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-a9lHojSV.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
|
+
import { f as fsMkdir } from './fsMkdir-DumgLTzR.mjs';
|
|
12
13
|
import { spawn, execFile, spawnSync } from 'node:child_process';
|
|
13
|
-
import { r as readSettings, c as readPersistedSessions, o as readTrackedClaudeSessionIds, p as readTrackedCodexThreadIds } from './persistence-
|
|
14
|
+
import { r as readSettings, c as readPersistedSessions, o as readTrackedClaudeSessionIds, p as readTrackedCodexThreadIds } from './persistence-zJo4r7YI.mjs';
|
|
14
15
|
import { M as ModelConfigError } from './fileStore-5qpetZS0.mjs';
|
|
15
16
|
import { e as encodeBase64, g as encrypt, h as decrypt, d as decodeBase64 } from './authRelay-DhQhkBvX.mjs';
|
|
16
17
|
import { p as prepareClipboardText, d as prepareClipboardHistoryText } from './limits-DIo7rEBR.mjs';
|
|
17
|
-
import { b as backoff, d as delay } from './time-
|
|
18
|
+
import { b as backoff, d as delay } from './time-B2KKdAym.mjs';
|
|
18
19
|
import * as pty from 'node-pty';
|
|
19
20
|
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';
|
|
20
21
|
import { t as tmuxArgs, V as VH_TMUX_SOCKET_ENV, a as scrubTmuxClientEnv } from './tmuxSocket-B8Yx20sT.mjs';
|
|
21
|
-
import { locateClaudeConversation, refreshAgentHomes } from './index-
|
|
22
|
+
import { locateClaudeConversation, refreshAgentHomes } from './index-GkkbUZX-.mjs';
|
|
22
23
|
import { randomBytes } from 'node:crypto';
|
|
23
24
|
import { readdirSync, unlinkSync, existsSync, mkdirSync, writeFileSync, readFileSync, statSync, chmodSync, renameSync, rmSync, accessSync, constants } from 'node:fs';
|
|
24
25
|
import axios from 'axios';
|
|
25
26
|
import { p as projectPath } from './projectPath-BTBIMB57.mjs';
|
|
26
27
|
import { a as isValidTerminalId } from './ids-DU6sLx4C.mjs';
|
|
27
28
|
import { d as detectCLIAvailability } from './detectCLI-CSGMlV51.mjs';
|
|
28
|
-
import { d as detectResumeSupport } from './localHappyAgentAuth-
|
|
29
|
+
import { d as detectResumeSupport } from './localHappyAgentAuth-C1A4ChCR.mjs';
|
|
29
30
|
import { g as getProjectPath, a as getClaudeProjectsRoot } from './path-D2wdaNSk.mjs';
|
|
30
31
|
import { i as isVeryHappyOneShotPrompt } from './oneShotPrompts-DT4p6RNd.mjs';
|
|
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-
|
|
32
|
-
import { C as CodexAppServerClient } from './codexAppServerClient-
|
|
33
|
-
import {
|
|
32
|
+
import { f as forkSession, F as ForkSourceMissingError, d as discardForkedSession, l as listClaudeRewindPoints, a as forkAndTruncateSession, b as ForkTruncateUuidNotFoundError, c as forkBeforeUserMessage } from './claudeSessionFork-6-1vKISn.mjs';
|
|
33
|
+
import { C as CodexAppServerClient } from './codexAppServerClient-DvBg4hGc.mjs';
|
|
34
|
+
import { J as RelayCandidatesResponseSchema, H as RelayAssignmentResponseSchema, R as ReleaseDrainNoticeSchema } from './index-BptfFoXM.mjs';
|
|
34
35
|
import { f as forkCodexThread, C as CodexForkRewindPointNotFoundError, l as listCodexRewindPoints, a as forkCodexBeforeUserMessage } from './codexThreadFork-R76RU5H0.mjs';
|
|
35
|
-
import { p as planRateLimitWrite, m as mergeRateLimitReports } from './rateLimitWindows-
|
|
36
|
+
import { p as planRateLimitWrite, m as mergeRateLimitReports } from './rateLimitWindows-HlHATOQ0.mjs';
|
|
36
37
|
import 'chalk';
|
|
37
38
|
import 'node:util';
|
|
38
39
|
import 'os';
|
|
39
40
|
import 'child_process';
|
|
40
|
-
import './package-
|
|
41
|
+
import './package-CTrz6U3C.mjs';
|
|
41
42
|
import 'util';
|
|
42
43
|
import 'fs/promises';
|
|
43
44
|
import 'crypto';
|
|
@@ -184,6 +185,10 @@ function registerFsHandlers(rpcHandlerManager) {
|
|
|
184
185
|
logger.debug("[FS RPC] fs-read", params?.path);
|
|
185
186
|
return fsRead(params?.path, { maxBytes: params?.maxBytes, allowBinary: params?.allowBinary === true, offset: params?.offset });
|
|
186
187
|
});
|
|
188
|
+
rpcHandlerManager.registerHandler("fs-mkdir", async (params) => {
|
|
189
|
+
logger.debug("[FS RPC] fs-mkdir", params?.path);
|
|
190
|
+
return fsMkdir(params?.path, { gitInit: params?.gitInit === true });
|
|
191
|
+
});
|
|
187
192
|
}
|
|
188
193
|
|
|
189
194
|
const TODO_LIST_MAX_ITEMS = 500;
|
|
@@ -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-CgIrYml3.cjs');
|
|
7
|
+
var configuration = require('./configuration-K3I6yOjZ.cjs');
|
|
8
8
|
|
|
9
9
|
const CLAUDE_ATTACHMENT_KINDS = [
|
|
10
10
|
"image/jpeg",
|
|
@@ -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-C4R9-1hU.mjs';
|
|
5
|
+
import { e as ensurePrivateDirectory, h as hardenPrivateFile } from './configuration-elzht62L.mjs';
|
|
6
6
|
|
|
7
7
|
const CLAUDE_ATTACHMENT_KINDS = [
|
|
8
8
|
"image/jpeg",
|
|
@@ -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-K3I6yOjZ.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-CdCotzKU.cjs');
|
|
9
|
+
var persistence = require('./persistence-DZRMUZZS.cjs');
|
|
10
|
+
var browser = require('./browser-CxKZLd2T.cjs');
|
|
11
|
+
var logger = require('./logger-Cgwz30rK.cjs');
|
|
12
12
|
|
|
13
13
|
function generateWebAuthUrl(publicKey) {
|
|
14
14
|
const publicKeyBase64 = authRelay.encodeBase64(publicKey, "base64url");
|