very-happy-cli 0.2.180 → 0.2.182
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-B8Zi30Zh.mjs → AcpBackend-DLk3gMYH.mjs} +3 -3
- package/dist/{AcpBackend-DfRDtMcG.cjs → AcpBackend-JA5eu8Y0.cjs} +3 -3
- package/dist/{AcpSessionManager-CASKOnOj.cjs → AcpSessionManager-DjYidq4C.cjs} +1 -1
- package/dist/{AcpSessionManager-i8Rab0xT.mjs → AcpSessionManager-OrCww-Qv.mjs} +1 -1
- package/dist/{BasePermissionHandler-BlM_tfej.cjs → BasePermissionHandler-D3PMKLBS.cjs} +1 -1
- package/dist/{BasePermissionHandler-26fKbRCm.mjs → BasePermissionHandler-u-neo-iN.mjs} +1 -1
- package/dist/{acpSessionResume-CR5pmgVo.cjs → acpSessionResume-Dxo8222T.cjs} +1 -1
- package/dist/{acpSessionResume-B9l54P-X.mjs → acpSessionResume-u2TwX5Jd.mjs} +1 -1
- package/dist/{agentHome-C7Sb7-Tz.cjs → agentHome-CP1tCBXz.cjs} +4 -4
- package/dist/{agentHome-CmGy0NWv.mjs → agentHome-D3hNrnoA.mjs} +4 -4
- package/dist/{api-DM7b1OKj.cjs → api-CZWcG7uh.cjs} +10 -10
- package/dist/{api-Hov8p7CA.mjs → api-C_YSQnsi.mjs} +10 -10
- package/dist/{apiMachine-CwGEhQDT.mjs → apiMachine-C_GA5Bm-.mjs} +59 -32
- package/dist/{apiMachine-DkGRj-Ai.cjs → apiMachine-DPGrED5C.cjs} +60 -33
- package/dist/{attachmentContent-CIn4iPEk.mjs → attachmentContent-Ckzyb1Uy.mjs} +2 -2
- package/dist/{attachmentContent-CEm13_gF.cjs → attachmentContent-I_dJIevE.cjs} +2 -2
- package/dist/{auth-Dawj7pP5.cjs → auth-BKnE7uv7.cjs} +8 -8
- package/dist/{auth-BG1DY0gj.mjs → auth-CGgpiJ5-.mjs} +5 -5
- package/dist/{auth-rggxMpEE.mjs → auth-DOXMI-xp.mjs} +8 -8
- package/dist/{auth-CBXnm-Mj.cjs → auth-Lw_utSMV.cjs} +5 -5
- package/dist/{auto-CbYOfoPS.cjs → auto-CIgFHIyQ.cjs} +18 -18
- package/dist/{auto-CXXLXGeL.mjs → auto-Z56mMZnH.mjs} +18 -18
- package/dist/{bootstrap-Dt5I1SOl.mjs → bootstrap-D3vlOROj.mjs} +2 -2
- package/dist/{bootstrap-DoA7okld.cjs → bootstrap-DsXp74wv.cjs} +2 -2
- package/dist/{browser-DUNetFT4.mjs → browser-CUxGoATV.mjs} +1 -1
- package/dist/{browser-DZ6qRtfH.cjs → browser-CZlA9AkO.cjs} +1 -1
- package/dist/{claudeLocal-OHWQigCl.mjs → claudeLocal-FnTUgwCi.mjs} +6 -6
- package/dist/{claudeLocal--DNyMOSv.cjs → claudeLocal-oELvwiZL.cjs} +6 -6
- package/dist/{claudeLocalLauncher-BStvfa7M.mjs → claudeLocalLauncher-CO5YHCzi.mjs} +11 -11
- package/dist/{claudeLocalLauncher-BhvPbcyH.cjs → claudeLocalLauncher-QsVXEVdE.cjs} +11 -11
- package/dist/{claudeSessionFork-Be16vzGc.cjs → claudeSessionFork-BA4GE5AL.cjs} +1 -1
- package/dist/{claudeSessionFork-GAVWhiKG.mjs → claudeSessionFork-Cspr6QW0.mjs} +1 -1
- package/dist/{client-D4uPb1uu.mjs → client-BGfmSbWc.mjs} +44 -9
- package/dist/{client-BWjaHKtj.cjs → client-CDuW4MS9.cjs} +2 -2
- package/dist/{client-CnB7kRCT.mjs → client-Ctbw05Xj.mjs} +2 -2
- package/dist/{client-DJplzPjD.cjs → client-DK8CzUry.cjs} +2 -2
- package/dist/{client-Ca5Pcgy_.mjs → client-o-meK7-a.mjs} +2 -2
- package/dist/{client-D_loZ9IK.cjs → client-xnWiHqdb.cjs} +44 -8
- package/dist/codex/happyMcpStdioBridge.cjs +21 -20
- package/dist/codex/happyMcpStdioBridge.mjs +21 -20
- package/dist/{codexAppServerClient-CO4G6OS4.mjs → codexAppServerClient-BlsOZLul.mjs} +3 -3
- package/dist/{codexAppServerClient-PE-12AsW.cjs → codexAppServerClient-DhNDTU_i.cjs} +3 -3
- package/dist/{codexCommand-B_xUH79E.mjs → codexCommand-BGx5NMQR.mjs} +49 -46
- package/dist/{codexCommand-BNoD1t1C.cjs → codexCommand-DJDPfpIs.cjs} +49 -46
- package/dist/{codexTermination-Dx48ma6e.mjs → codexTermination-CVhhwHZU.mjs} +1 -1
- package/dist/{codexTermination-BmBbizFK.cjs → codexTermination-CqPMuokw.cjs} +1 -1
- package/dist/{config-CtwEUxUP.cjs → config-CHpxzXBL.cjs} +3 -3
- package/dist/{config-DSu0Blos.mjs → config-CWAe08-Q.mjs} +3 -3
- package/dist/{configuration-CYO-kPOS.cjs → configuration-B-CugKJ3.cjs} +1 -1
- package/dist/{configuration-PxzEJumr.mjs → configuration-YXw_Dcsb.mjs} +1 -1
- package/dist/{connect-Dq7wndzR.cjs → connect-BmHvMXH2.cjs} +13 -13
- package/dist/{connect-BQrg3TB6.mjs → connect-CPeJXHha.mjs} +13 -13
- package/dist/{context-6TP-iz_c.cjs → context-BtIVqHI5.cjs} +1 -1
- package/dist/{context-CJGRRGWW.mjs → context-Drzs_Z38.mjs} +1 -1
- package/dist/{controlClient-DoeYovwP.mjs → controlClient-BL4hb4l3.mjs} +3 -3
- package/dist/{controlClient-Bqv5v5OM.cjs → controlClient-D0kGwKYx.cjs} +3 -3
- package/dist/{createSessionMetadata-DDIChCx8.mjs → createSessionMetadata-DvGDsnsn.mjs} +2 -2
- package/dist/{createSessionMetadata-xz767pcG.cjs → createSessionMetadata-L499emJn.cjs} +2 -2
- package/dist/{defaultPermissionMode-i5KzdK09.mjs → defaultPermissionMode-BLfxu-Yz.mjs} +2 -2
- package/dist/{defaultPermissionMode-PkZGsQDk.cjs → defaultPermissionMode-MXpZlXud.cjs} +2 -2
- package/dist/{deterministicJson-CTEJDqtS.mjs → deterministicJson-B_UAbmQ4.mjs} +87 -24
- package/dist/{deterministicJson-xqA6DaOm.cjs → deterministicJson-CfLkBRvU.cjs} +87 -22
- package/dist/{doctor-BrgSlfXn.cjs → doctor-DMvlzmnE.cjs} +8 -7
- package/dist/{doctor-IctjVh9T.mjs → doctor-bKScPtZu.mjs} +8 -8
- package/dist/{downloadTarget-CEb9che-.cjs → downloadTarget-D33BFvew.cjs} +6 -6
- package/dist/{downloadTarget-jbOz1egC.mjs → downloadTarget-J9j37eFG.mjs} +6 -6
- package/dist/{ensureDaemonRunning-D-HyjGIX.cjs → ensureDaemonRunning-2IqWROJp.cjs} +5 -5
- package/dist/{ensureDaemonRunning-b1e8LCSM.mjs → ensureDaemonRunning-DLvwhpNg.mjs} +5 -5
- package/dist/fileStore-5qpetZS0.mjs +146 -0
- package/dist/fileStore-7qhnbs6N.cjs +152 -0
- package/dist/fsMkdir-0K3yENml.cjs +56 -0
- package/dist/fsMkdir-DumgLTzR.mjs +53 -0
- package/dist/{handleResumeCommand-DpaZvm2c.mjs → handleResumeCommand-CjtjQ_I7.mjs} +5 -5
- package/dist/{handleResumeCommand-BvWVuRwH.cjs → handleResumeCommand-Dp2Y-p6V.cjs} +5 -5
- package/dist/{index-C6Vn5Eac.mjs → index-BI0h2Zks.mjs} +54 -6
- package/dist/{index-CMf5VbzG.mjs → index-BOT0Tg5E.mjs} +4 -4
- package/dist/{index-C64Ufj4D.cjs → index-B_aNaW9w.cjs} +4 -4
- package/dist/{index-F2UejqYs.cjs → index-CZC7egJA.cjs} +3 -3
- package/dist/{index-Bsvbgh9e.mjs → index-Cllzqoes.mjs} +4 -4
- package/dist/{index-B2p2Mut7.cjs → index-DYVIbhAJ.cjs} +78 -60
- package/dist/{index-wCbtF4BK.mjs → index-D_LvOWUN.mjs} +3 -3
- package/dist/{index-DmTlDRSL.cjs → index-DymOv3kK.cjs} +4 -4
- package/dist/{index-BUNnpGFF.mjs → index-kA46KMxN.mjs} +79 -61
- package/dist/{index-Dv0Q48P3.cjs → index-oh8XEozJ.cjs} +57 -6
- package/dist/index.cjs +2 -2
- package/dist/index.mjs +2 -2
- package/dist/{install-C0ANcEAW.cjs → install-BAa_Xmof.cjs} +3 -3
- package/dist/{install-CdzSV7qO.mjs → install-C46mkr9a.mjs} +3 -3
- package/dist/{install-BX3lv3NO.mjs → install-D0inLCv-.mjs} +1 -1
- package/dist/{install-BXvf2E3o.cjs → install-D2NCbeJ-.cjs} +1 -1
- package/dist/lib.cjs +12 -12
- package/dist/lib.d.cts +40 -1
- package/dist/lib.d.mts +40 -1
- package/dist/lib.mjs +12 -12
- package/dist/{lidState-bBrmaQd2.mjs → lidState-D8Iuvjgl.mjs} +1 -1
- package/dist/{lidState-DWGnm2H4.cjs → lidState-DcPvwniz.cjs} +1 -1
- package/dist/{localHappyAgentAuth-Dn1jYDpt.mjs → localHappyAgentAuth-D3rQDRd9.mjs} +1 -1
- package/dist/{localHappyAgentAuth-DZHQnIW9.cjs → localHappyAgentAuth-SD6GM97y.cjs} +1 -1
- package/dist/{logger-CphW5nUE.cjs → logger-DK1ytCz6.cjs} +2 -2
- package/dist/{logger-BUngm5Xg.mjs → logger-DpqihN1f.mjs} +2 -2
- package/dist/{machineMetadata-BXN_bKU3.mjs → machineMetadata-D4E3qoIG.mjs} +13 -4
- package/dist/{machineMetadata-BQm9YTcI.cjs → machineMetadata-IJc6_iyx.cjs} +13 -3
- package/dist/{main-DGkdYfEq.mjs → main-CpUmw7hm.mjs} +45 -45
- package/dist/{main-B2UV51nK.cjs → main-DUXh2rgW.cjs} +45 -45
- package/dist/{mcp-CbTtbs0f.mjs → mcp-66g1TJ8P.mjs} +17 -15
- package/dist/{mcp-BFvAEIRz.cjs → mcp-D5f3Vd-z.cjs} +17 -15
- package/dist/{mirrorProtocol-HKPivs5o.cjs → mirrorProtocol-DkWOcZh9.cjs} +16 -153
- package/dist/{mirrorProtocol-BR4luBC0.mjs → mirrorProtocol-bsCUcaCY.mjs} +19 -151
- package/dist/{package-KhLqBDX9.cjs → package-BfeqAzyJ.cjs} +8 -8
- package/dist/{package-7Ld1YMhh.mjs → package-CKj8zndE.mjs} +8 -8
- package/dist/{panels-Njf6GelF.cjs → panels-2PXsw9-d.cjs} +5 -5
- package/dist/{panels-C7IVqpJk.mjs → panels-r8LmaBs6.mjs} +5 -5
- package/dist/{peerTools-DQNlrcqM.cjs → peerTools-BVp1z0T_.cjs} +5 -5
- package/dist/{peerTools-BOlDRyhi.mjs → peerTools-D_id4d41.mjs} +5 -5
- package/dist/{persistence-9BMYspxG.cjs → persistence-BdpwWXKh.cjs} +2 -2
- package/dist/{persistence-BFUOHW5h.mjs → persistence-jOEuAFTS.mjs} +2 -2
- package/dist/pi-CqyoZMjI.mjs +380 -0
- package/dist/pi-DlsrPCTa.cjs +400 -0
- package/dist/{piRunnerArgs-H2pgpA5z.mjs → piRunnerArgs-68I5F_M1.mjs} +1 -1
- package/dist/{piRunnerArgs-DGaq6VYM.cjs → piRunnerArgs-vxCHKnSA.cjs} +1 -1
- package/dist/{piRuntime-CT5xv_3h.cjs → piRuntime-C3Dg5uni.cjs} +2 -2
- package/dist/{piRuntime-CdN0JAsa.mjs → piRuntime-DgLIard1.mjs} +2 -2
- package/dist/{piTerminal-0FBtXTHK.cjs → piTerminal-C135BcLP.cjs} +20 -18
- package/dist/{piTerminal-C4m9YXAV.mjs → piTerminal-DJL0w-uA.mjs} +20 -18
- package/dist/{prompt-lgF9IE82.cjs → prompt-Bof2aQkI.cjs} +7 -2
- package/dist/{prompt-BOouDaTM.mjs → prompt-QHuFx9j6.mjs} +7 -2
- package/dist/{pushNotifications-DCiBEVeC.mjs → pushNotifications-CMmRsbKv.mjs} +12 -4
- package/dist/{pushNotifications-DI92havG.cjs → pushNotifications-CyQVDThC.cjs} +12 -4
- package/dist/{query-BETKBrnz.cjs → query-CK--1fbL.cjs} +1 -1
- package/dist/{query-ywZbQUzR.mjs → query-CPXnDURZ.mjs} +1 -1
- package/dist/{rateLimitWindows-BkfuUB1a.mjs → rateLimitWindows-Cqa4AGaB.mjs} +1 -1
- package/dist/{rateLimitWindows-YRIYVdo4.cjs → rateLimitWindows-DJxnNw-X.cjs} +1 -1
- package/dist/{registerCommonHandlers-C7a_dUWs.cjs → registerCommonHandlers-DbNoM39q.cjs} +2 -2
- package/dist/{registerCommonHandlers-CTkCvjxt.mjs → registerCommonHandlers-K8dICQO2.mjs} +2 -2
- package/dist/{registerKillSessionHandler-CIsvBrVe.cjs → registerKillSessionHandler-DiS_go8d.cjs} +6 -6
- package/dist/{registerKillSessionHandler-CaqqRYq6.mjs → registerKillSessionHandler-O1iriOMO.mjs} +6 -6
- package/dist/{remoteSessionClient-PP-mOKmw.mjs → remoteSessionClient-BlURPulk.mjs} +5 -5
- package/dist/{remoteSessionClient-D843fkzL.cjs → remoteSessionClient-CtV9mDko.cjs} +5 -5
- package/dist/{reportProgressTool-14AXr959.cjs → reportProgressTool-DlD_xjzU.cjs} +4 -4
- package/dist/{reportProgressTool-ZOCNjWHr.mjs → reportProgressTool-nCExrHZH.mjs} +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-BBNrcCfI.cjs} +621 -594
- package/dist/{run-Dajw2E5j.mjs → run-drtwHYkO.mjs} +557 -530
- package/dist/{runClaude-CRRKt-tm.cjs → runClaude-B3KSeby4.cjs} +23 -22
- package/dist/{runClaude-C6oxWYbp.mjs → runClaude-CFp27Tyi.mjs} +23 -22
- package/dist/{runClaudeDeps-B1ysqTvx.cjs → runClaudeDeps-C_C9TCI0.cjs} +43 -41
- package/dist/{runClaudeDeps-BcZ68cX3.mjs → runClaudeDeps-DMcv93lA.mjs} +48 -46
- package/dist/{runGemini-D7yKc4wD.mjs → runGemini-Bc6SY-hd.mjs} +40 -37
- package/dist/{runGemini-DtKFXqf-.cjs → runGemini-DzdSBAr9.cjs} +40 -37
- package/dist/{runOpenClaw-C8ilyLP9.mjs → runOpenClaw-DI0qMlgF.mjs} +19 -18
- package/dist/{runOpenClaw-Cq29mryb.cjs → runOpenClaw-DN6rEVqC.cjs} +19 -18
- package/dist/{sandbox-gIj-EuF4.cjs → sandbox-DtttPBMA.cjs} +4 -4
- package/dist/{sandbox-CbCutma4.mjs → sandbox-v-ffe8LR.mjs} +4 -4
- package/dist/{selfCheck-BTGBVthv.cjs → selfCheck-B-yy6bW3.cjs} +36 -36
- package/dist/selfCheck-BDfTwxqB.mjs +85 -0
- package/dist/{send-YZRMQvMJ.mjs → send-DpBwSZuj.mjs} +8 -8
- package/dist/{send-CZf5lLw_.cjs → send-ShzXYPRu.cjs} +8 -8
- package/dist/{server-CknFq6xG.cjs → server-CEzKrfKj.cjs} +6 -6
- package/dist/{server-BqwXRzFZ.mjs → server-DScgJXxa.mjs} +4 -4
- package/dist/{sessionLock-nBXdJxJm.mjs → sessionLock-B6K4SBZD.mjs} +3 -3
- package/dist/{sessionLock-DRZUcKHT.cjs → sessionLock-Dc0fadGG.cjs} +3 -3
- package/dist/{sessionOps-C58iDeD5.mjs → sessionOps-D0BPWPoh.mjs} +4 -4
- package/dist/{sessionOps-BrGiU9-s.cjs → sessionOps-Dx7wARjI.cjs} +4 -4
- package/dist/{sessionScanner-Bm57LEXe.mjs → sessionScanner-9Fpgaxtf.mjs} +3 -3
- package/dist/{sessionScanner-CaO8bLaG.cjs → sessionScanner-BJ35TVG6.cjs} +3 -3
- package/dist/{sessions-BXyBHo8n.mjs → sessions-CFtDlyZd.mjs} +10 -10
- package/dist/{sessions-uzqPCc37.cjs → sessions-TZGGAry1.cjs} +10 -10
- package/dist/{setupOfflineReconnection-DvvVX3TB.cjs → setupOfflineReconnection-B1GsVA8P.cjs} +2 -2
- package/dist/{setupOfflineReconnection-1Qlek3wl.mjs → setupOfflineReconnection-Biaus-0T.mjs} +2 -2
- package/dist/{spawn-DBkodJEO.cjs → spawn-BRTuypQ2.cjs} +14 -14
- package/dist/{spawn-vn93PhYL.mjs → spawn-CsoQ-Ecz.mjs} +14 -14
- package/dist/{spawnAgents-DLNMlhWJ.cjs → spawnAgents-CG211IW7.cjs} +1 -1
- package/dist/{spawnAgents-CgPMWexP.mjs → spawnAgents-Co-SLcx-.mjs} +1 -1
- package/dist/{spawnHappyCLI-BjFZc_7V.mjs → spawnHappyCLI-D1doCjkZ.mjs} +1 -1
- package/dist/{spawnHappyCLI-DnUZv0X2.cjs → spawnHappyCLI-D47kX6jg.cjs} +1 -1
- package/dist/{specialCommands-BRufxlqe.cjs → specialCommands-Ch-Gvy-i.cjs} +3 -3
- package/dist/{specialCommands-D3ND9bdg.mjs → specialCommands-xSmqT_Fu.mjs} +3 -3
- package/dist/{startFileWatcher-DXJ7yB5v.mjs → startFileWatcher-CCl2fFxT.mjs} +1 -1
- package/dist/{startFileWatcher-D9cYzZOq.cjs → startFileWatcher-gKQTstR6.cjs} +1 -1
- package/dist/{startupSessionCreate-kdr3m1uX.cjs → startupSessionCreate-BXqoUX30.cjs} +1 -1
- package/dist/{startupSessionCreate-uZ6BM0ty.mjs → startupSessionCreate-DlZc8yPl.mjs} +1 -1
- package/dist/{streamRelay-Dy6amlzx.cjs → streamRelay-B-J-4St1.cjs} +1 -1
- package/dist/{streamRelay-DnMCMMfV.mjs → streamRelay-DnJXsi36.mjs} +1 -1
- package/dist/{sync-BvVhDO40.mjs → sync-BbjMC3sR.mjs} +1 -1
- package/dist/{sync-Bn-idAoy.cjs → sync-BxMdnZzz.cjs} +1 -1
- package/dist/{systemPrompt-DlyEk35T.cjs → systemPrompt-C2KojRmK.cjs} +3 -3
- package/dist/{systemPrompt-CIZcJuJF.mjs → systemPrompt-CmSDAoIx.mjs} +3 -3
- package/dist/{teams-BLeRpDxv.cjs → teams-DESdalox.cjs} +13 -10
- package/dist/{teams-DLY3B5yi.mjs → teams-lRy1MS0Z.mjs} +13 -10
- package/dist/{time-D3ETL7Jb.mjs → time-Cfknl7xG.mjs} +1 -1
- package/dist/{time-Cjv0zxQO.cjs → time-DNLeIRgR.cjs} +1 -1
- package/dist/{titleGenerator-Uzbd4utr.mjs → titleGenerator-ClnMSzwC.mjs} +1 -1
- package/dist/{titleGenerator-Cgp5ihFb.cjs → titleGenerator-YNutaU88.cjs} +2 -2
- package/dist/{todo-pOMcEECE.cjs → todo-DS75Mboz.cjs} +6 -6
- package/dist/{todo-C9Ga-oEM.mjs → todo-DZbK5POc.mjs} +6 -6
- package/dist/{tools-Cho7iIWf.mjs → tools-BgdU0dWp.mjs} +3 -3
- package/dist/{tools-BL7Byl_x.cjs → tools-ClYcb1YQ.cjs} +3 -3
- package/dist/{uninstall-CbayEVoV.cjs → uninstall-Di1vPBLV.cjs} +3 -3
- package/dist/{uninstall-CvZHVY9C.mjs → uninstall-bXenFevR.mjs} +3 -3
- package/package.json +8 -8
- package/dist/selfCheck-Smt-5Xiq.mjs +0 -85
|
@@ -1,90 +1,93 @@
|
|
|
1
|
-
import { D as DefaultTransport, A as AcpBackend, i as isAgentExitError, a as acpNoticeMessage } from './AcpBackend-
|
|
2
|
-
export { b as DEFAULT_IDLE_TIMEOUT_MS, c as DEFAULT_TOOL_CALL_TIMEOUT_MS, e as extractErrorDetail, f as formatDuration, d as formatDurationMinutes, h as handleAgentMessageChunk, g as handleAgentThoughtChunk, j as handleLegacyMessageChunk, k as handlePlanUpdate, l as handleThinkingUpdate, m as handleToolCall, n as handleToolCallUpdate, p as parseArgsFromContent } from './AcpBackend-
|
|
3
|
-
import { l as logger } from './logger-
|
|
4
|
-
import { A as AcpSessionManager } from './AcpSessionManager-
|
|
5
|
-
import {
|
|
1
|
+
import { D as DefaultTransport, A as AcpBackend, i as isAgentExitError, a as acpNoticeMessage } from './AcpBackend-DLk3gMYH.mjs';
|
|
2
|
+
export { b as DEFAULT_IDLE_TIMEOUT_MS, c as DEFAULT_TOOL_CALL_TIMEOUT_MS, e as extractErrorDetail, f as formatDuration, d as formatDurationMinutes, h as handleAgentMessageChunk, g as handleAgentThoughtChunk, j as handleLegacyMessageChunk, k as handlePlanUpdate, l as handleThinkingUpdate, m as handleToolCall, n as handleToolCallUpdate, p as parseArgsFromContent } from './AcpBackend-DLk3gMYH.mjs';
|
|
3
|
+
import { l as logger } from './logger-DpqihN1f.mjs';
|
|
4
|
+
import { A as AcpSessionManager } from './AcpSessionManager-OrCww-Qv.mjs';
|
|
5
|
+
import { t as PI_STEER_CAPABILITY, g as BUILTIN_TODO_DISCOVERY, P as PROMPT_QUEUE_CAPABILITY, a as PROJECT_SESSION_CAPABILITY } from './index-BI0h2Zks.mjs';
|
|
6
|
+
import { h as hashObject, s as startHappyServer, r as readPiModelsJson, a as resolvePiContextUsage, c as createProjectInjector } from './deterministicJson-B_UAbmQ4.mjs';
|
|
6
7
|
import { r as registerAgentAttachmentDownloads } from './agentAttachments-M_B5qEF2.mjs';
|
|
7
|
-
import { c as configuration } from './configuration-
|
|
8
|
-
import { a as stageClaudeAttachments, b as appendStagedAttachmentsToPrompt, C as CLAUDE_ATTACHMENT_KINDS } from './attachmentContent-
|
|
9
|
-
import { p as preparePiTeamsRuntime } from './piRuntime-
|
|
8
|
+
import { c as configuration } from './configuration-YXw_Dcsb.mjs';
|
|
9
|
+
import { a as stageClaudeAttachments, b as appendStagedAttachmentsToPrompt, C as CLAUDE_ATTACHMENT_KINDS } from './attachmentContent-Ckzyb1Uy.mjs';
|
|
10
|
+
import { p as preparePiTeamsRuntime } from './piRuntime-DgLIard1.mjs';
|
|
10
11
|
import { randomUUID } from 'node:crypto';
|
|
11
12
|
import { join } from 'node:path';
|
|
12
|
-
import { c as connectionState, A as ApiClient } from './api-
|
|
13
|
-
import {
|
|
14
|
-
import {
|
|
15
|
-
import {
|
|
16
|
-
import {
|
|
17
|
-
import {
|
|
18
|
-
import {
|
|
19
|
-
import {
|
|
20
|
-
import {
|
|
21
|
-
import { n as notifyDaemonSessionStarted, j as reportSessionEditToDaemon } from './controlClient-DoeYovwP.mjs';
|
|
13
|
+
import { c as connectionState, A as ApiClient } from './api-C_YSQnsi.mjs';
|
|
14
|
+
import { s as sharedProjectsClient } from './client-o-meK7-a.mjs';
|
|
15
|
+
import { M as MessageQueue2, r as registerKillSessionHandler } from './registerKillSessionHandler-O1iriOMO.mjs';
|
|
16
|
+
import { r as readSettings } from './persistence-jOEuAFTS.mjs';
|
|
17
|
+
import { g as getInitialMachineMetadata } from './machineMetadata-D4E3qoIG.mjs';
|
|
18
|
+
import { c as createSessionMetadata } from './createSessionMetadata-DvGDsnsn.mjs';
|
|
19
|
+
import { s as setupOfflineReconnection } from './setupOfflineReconnection-Biaus-0T.mjs';
|
|
20
|
+
import { c as createSessionForStartup } from './startupSessionCreate-DlZc8yPl.mjs';
|
|
21
|
+
import { n as notifyDaemonSessionStarted, j as reportSessionEditToDaemon } from './controlClient-BL4hb4l3.mjs';
|
|
22
22
|
import { d as decodeBase64, e as encodeBase64 } from './authRelay-DhQhkBvX.mjs';
|
|
23
|
-
import { c as claimSessionOrExit, a as applyServerSnapshot, w as withoutServerSnapshot, m as mergeReconnectMetadata } from './sessionLock-
|
|
24
|
-
import { r as readAcpReconnectEnv, n as normalizeAcpPermissionMode, p as piRestartNotice, w as writeSessionModeFile, a as removeSessionModeFile } from './acpSessionResume-
|
|
25
|
-
import { S as StreamRelay } from './streamRelay-
|
|
23
|
+
import { c as claimSessionOrExit, a as applyServerSnapshot, w as withoutServerSnapshot, m as mergeReconnectMetadata } from './sessionLock-B6K4SBZD.mjs';
|
|
24
|
+
import { r as readAcpReconnectEnv, n as normalizeAcpPermissionMode, p as piRestartNotice, w as writeSessionModeFile, a as removeSessionModeFile } from './acpSessionResume-u2TwX5Jd.mjs';
|
|
25
|
+
import { S as StreamRelay } from './streamRelay-DnJXsi36.mjs';
|
|
26
26
|
import { p as projectPath } from './projectPath-BTBIMB57.mjs';
|
|
27
|
-
import { B as BasePermissionHandler } from './BasePermissionHandler-
|
|
28
|
-
import { T as TitleGenerator } from './titleGenerator-
|
|
27
|
+
import { B as BasePermissionHandler } from './BasePermissionHandler-u-neo-iN.mjs';
|
|
28
|
+
import { T as TitleGenerator } from './titleGenerator-ClnMSzwC.mjs';
|
|
29
29
|
import { E as EditReportThrottle, e as extractAcpEditPaths } from './editPaths-BVfS_FFL.mjs';
|
|
30
30
|
import 'node:child_process';
|
|
31
31
|
import '@agentclientprotocol/sdk';
|
|
32
|
-
import './time-
|
|
32
|
+
import './time-Cfknl7xG.mjs';
|
|
33
33
|
import './contentLogMetadata-BlWI0egu.mjs';
|
|
34
34
|
import './processTree-CP5IvQ2Z.mjs';
|
|
35
|
-
import './package-
|
|
35
|
+
import './package-CKj8zndE.mjs';
|
|
36
36
|
import 'chalk';
|
|
37
37
|
import 'node:util';
|
|
38
38
|
import 'node:fs';
|
|
39
39
|
import '@paralleldrive/cuid2';
|
|
40
40
|
import 'zod';
|
|
41
|
+
import './prompt-QHuFx9j6.mjs';
|
|
42
|
+
import './reportProgressTool-nCExrHZH.mjs';
|
|
43
|
+
import './client-Ctbw05Xj.mjs';
|
|
44
|
+
import './precheckCompat-DeEbilbr.mjs';
|
|
45
|
+
import './agentGuidance-BDYt2Qy2.mjs';
|
|
46
|
+
import './trimIdent-BAjmv_TG.mjs';
|
|
41
47
|
import 'node:os';
|
|
48
|
+
import './pi-CqyoZMjI.mjs';
|
|
49
|
+
import './fileStore-5qpetZS0.mjs';
|
|
42
50
|
import 'node:fs/promises';
|
|
43
|
-
import './
|
|
51
|
+
import './client-BGfmSbWc.mjs';
|
|
52
|
+
import './context-Drzs_Z38.mjs';
|
|
53
|
+
import './sessionOps-D0BPWPoh.mjs';
|
|
44
54
|
import 'axios';
|
|
45
|
-
import './resources-y9jfyO-_.mjs';
|
|
46
|
-
import './lidState-bBrmaQd2.mjs';
|
|
47
|
-
import 'os';
|
|
48
|
-
import 'child_process';
|
|
49
|
-
import 'node:events';
|
|
50
55
|
import 'socket.io-client';
|
|
51
|
-
import './limits-DIo7rEBR.mjs';
|
|
52
|
-
import './registerCommonHandlers-CTkCvjxt.mjs';
|
|
53
|
-
import 'util';
|
|
54
|
-
import 'fs/promises';
|
|
55
|
-
import 'crypto';
|
|
56
|
-
import 'path';
|
|
57
|
-
import 'cross-spawn';
|
|
58
|
-
import './sync-BvVhDO40.mjs';
|
|
59
56
|
import './backgroundTaskActivity-8PdPxrvy.mjs';
|
|
60
|
-
import './
|
|
61
|
-
import './
|
|
62
|
-
import './
|
|
63
|
-
import './precheckCompat-DeEbilbr.mjs';
|
|
64
|
-
import './agentGuidance-BDYt2Qy2.mjs';
|
|
65
|
-
import './trimIdent-BAjmv_TG.mjs';
|
|
66
|
-
import './client-D4uPb1uu.mjs';
|
|
67
|
-
import './context-CJGRRGWW.mjs';
|
|
68
|
-
import './sessionOps-C58iDeD5.mjs';
|
|
69
|
-
import './tools-Cho7iIWf.mjs';
|
|
70
|
-
import './peerTools-BOlDRyhi.mjs';
|
|
57
|
+
import './resources-CH1iP6Cv.mjs';
|
|
58
|
+
import './tools-BgdU0dWp.mjs';
|
|
59
|
+
import './peerTools-D_id4d41.mjs';
|
|
71
60
|
import './ids-DU6sLx4C.mjs';
|
|
72
|
-
import './remoteSessionClient-
|
|
61
|
+
import './remoteSessionClient-BlURPulk.mjs';
|
|
73
62
|
import '@modelcontextprotocol/sdk/server/mcp.js';
|
|
74
63
|
import 'node:http';
|
|
75
64
|
import '@modelcontextprotocol/sdk/server/streamableHttp.js';
|
|
76
|
-
import './
|
|
65
|
+
import './limits-DIo7rEBR.mjs';
|
|
66
|
+
import './downloadTarget-J9j37eFG.mjs';
|
|
77
67
|
import './terminals-Dlg0x3nY.mjs';
|
|
78
68
|
import './terminalTitleSuggest-CeKsX_V6.mjs';
|
|
79
69
|
import './tmuxSocket-B8Yx20sT.mjs';
|
|
80
|
-
import './bootstrap-
|
|
70
|
+
import './bootstrap-D3vlOROj.mjs';
|
|
81
71
|
import './webPanels-B2_C2-3g.mjs';
|
|
72
|
+
import './pushNotifications-CMmRsbKv.mjs';
|
|
82
73
|
import './previewPath-CXN4Vag0.mjs';
|
|
74
|
+
import 'crypto';
|
|
75
|
+
import './lidState-D8Iuvjgl.mjs';
|
|
76
|
+
import 'os';
|
|
77
|
+
import 'child_process';
|
|
78
|
+
import 'node:events';
|
|
79
|
+
import './registerCommonHandlers-K8dICQO2.mjs';
|
|
80
|
+
import 'util';
|
|
81
|
+
import 'fs/promises';
|
|
82
|
+
import 'path';
|
|
83
|
+
import 'cross-spawn';
|
|
84
|
+
import './sync-BbjMC3sR.mjs';
|
|
83
85
|
import 'tweetnacl';
|
|
84
86
|
import './types-CkqAACXx.mjs';
|
|
85
87
|
import './detectCLI-CSGMlV51.mjs';
|
|
86
88
|
import 'fs';
|
|
87
|
-
import './localHappyAgentAuth-
|
|
89
|
+
import './localHappyAgentAuth-D3rQDRd9.mjs';
|
|
90
|
+
import './fsMkdir-DumgLTzR.mjs';
|
|
88
91
|
import './processTreeSnapshot-CuLJDNC-.mjs';
|
|
89
92
|
import 'url';
|
|
90
93
|
import 'node:module';
|
|
@@ -104,6 +107,18 @@ function createAcpBackend(options) {
|
|
|
104
107
|
return new AcpBackend(backendOptions);
|
|
105
108
|
}
|
|
106
109
|
|
|
110
|
+
const SLASH_COMMAND = /^\/[A-Za-z][A-Za-z0-9_.:-]*(?:\s|$)/;
|
|
111
|
+
function isAgentSlashCommand(message) {
|
|
112
|
+
return typeof message === "string" && SLASH_COMMAND.test(message.trimStart());
|
|
113
|
+
}
|
|
114
|
+
async function buildAcpPrompt(message, opts) {
|
|
115
|
+
if (isAgentSlashCommand(message)) return { prompt: message, slashCommand: true };
|
|
116
|
+
const projected = await opts.decorate(message);
|
|
117
|
+
return { prompt: opts.todoNoteSent ? projected : `${projected}
|
|
118
|
+
|
|
119
|
+
${opts.todoNote}`, slashCommand: false };
|
|
120
|
+
}
|
|
121
|
+
|
|
107
122
|
const MAX_DETAIL_CHARS = 400;
|
|
108
123
|
function detailOf(error) {
|
|
109
124
|
if (error instanceof Error) return error.message;
|
|
@@ -910,8 +925,10 @@ async function runAcp(opts) {
|
|
|
910
925
|
assistant: isAssistantVariant,
|
|
911
926
|
...piSteer ? { piSteer } : {},
|
|
912
927
|
push: { sendAttention: (input) => api.push().sendAttention(input) },
|
|
913
|
-
|
|
914
|
-
|
|
928
|
+
// B-727: pi's report is resolved against models.json (pi's 128k default ≠ a configured window).
|
|
929
|
+
...opts.agentName === "pi" ? { onContextUsage: (report) => {
|
|
930
|
+
const modelsJson = readPiModelsJson();
|
|
931
|
+
session.updateAgentState((state2) => ({ ...state2, contextUsage: resolvePiContextUsage(report, modelsJson, state2.contextUsage, Date.now()) }));
|
|
915
932
|
} } : {}
|
|
916
933
|
});
|
|
917
934
|
if (opts.agentName === "pi") session.updateAgentState((state2) => ({ ...state2, contextUsage: null }));
|
|
@@ -1454,10 +1471,11 @@ async function runAcp(opts) {
|
|
|
1454
1471
|
if (typeof batch.mode.effort === "string") {
|
|
1455
1472
|
await switchEffortIfRequested(batch.mode.effort, modelChanged);
|
|
1456
1473
|
}
|
|
1457
|
-
const
|
|
1458
|
-
|
|
1459
|
-
|
|
1460
|
-
|
|
1474
|
+
const { prompt, slashCommand } = await buildAcpPrompt(batch.message, {
|
|
1475
|
+
todoNoteSent: todoDiscoverySent,
|
|
1476
|
+
todoNote: BUILTIN_TODO_DISCOVERY,
|
|
1477
|
+
decorate: (m) => projectInjector.decorate(m)
|
|
1478
|
+
});
|
|
1461
1479
|
const attachments = batch.attachments ?? [];
|
|
1462
1480
|
const staged = attachments.length ? await stageClaudeAttachments(attachments, {
|
|
1463
1481
|
happyHomeDir: configuration.happyHomeDir,
|
|
@@ -1470,7 +1488,7 @@ ${BUILTIN_TODO_DISCOVERY}`;
|
|
|
1470
1488
|
} finally {
|
|
1471
1489
|
promptInFlight = false;
|
|
1472
1490
|
}
|
|
1473
|
-
todoDiscoverySent = true;
|
|
1491
|
+
if (!slashCommand) todoDiscoverySent = true;
|
|
1474
1492
|
const stopReason = outcome && typeof outcome === "object" ? outcome.stopReason : void 0;
|
|
1475
1493
|
if (stopReason === "error") {
|
|
1476
1494
|
throw new Error("the turn ended with an error reported by the agent");
|
|
@@ -465,7 +465,8 @@ const TeamActionSchema = z.z.discriminatedUnion("type", [
|
|
|
465
465
|
z.z.object({ type: z.z.literal("reconcile-operation"), operationId: id$2, claimId: id$2, note: z.z.string().trim().min(1).max(4e3) }),
|
|
466
466
|
// B-689: owner asks the execution computer to run a failed/uncertain operation again.
|
|
467
467
|
z.z.object({ type: z.z.literal("retry-operation"), operationId: id$2, claimId: id$2 }),
|
|
468
|
-
|
|
468
|
+
/** B-730: `transfer` = the owner confirmed moving a session that is bound in another live team (Web adopt); without it the server answers `session_in_other_team`. An old server strips it. */
|
|
469
|
+
z.z.object({ type: z.z.literal("join"), name: id$2, sessionId: id$2, botId: id$2.optional(), transfer: z.z.literal(true).optional() }),
|
|
469
470
|
z.z.object({ type: z.z.literal("delegate"), goal: text$1, acceptance: z.z.array(text$1).min(1).max(32), parentTaskId: id$2.optional(), assigneeBotId: id$2.optional(), botName: id$2.optional(), directory: z.z.string().min(1).max(4096).optional(), assistant: TeamAssistantSchema.optional(), model: TeamModelSchema.optional() }),
|
|
470
471
|
z.z.object({ type: z.z.literal("message"), taskId: id$2, body: text$1, recipientBotId: id$2.optional() }),
|
|
471
472
|
z.z.object({ type: z.z.literal("submit"), taskId: id$2, attemptId: id$2, goalVersion: z.z.number().int().positive(), result: text$1 }),
|
|
@@ -480,7 +481,33 @@ const TeamActionSchema = z.z.discriminatedUnion("type", [
|
|
|
480
481
|
z.z.object({ type: z.z.literal("message-delivered"), messageId: id$2, recipientBotId: id$2, generation: z.z.number().int().positive(), sessionId: id$2 })
|
|
481
482
|
]);
|
|
482
483
|
z.z.object({ requestId: id$2, action: TeamActionSchema });
|
|
483
|
-
z.z.object({
|
|
484
|
+
const TeamProjectChoiceSchema = z.z.object({
|
|
485
|
+
projectId: id$2.optional(),
|
|
486
|
+
inheritFromSessionId: id$2.optional(),
|
|
487
|
+
create: z.z.boolean().optional(),
|
|
488
|
+
directory: z.z.string().min(1).max(4096).optional()
|
|
489
|
+
});
|
|
490
|
+
z.z.object({ name: id$2, machineId: id$2, requestId: id$2.optional(), launch: TeamLaunchSchema.optional(), project: TeamProjectChoiceSchema.optional(), sessionId: id$2.optional(), transfer: z.z.literal(true).optional() });
|
|
491
|
+
z.z.object({
|
|
492
|
+
projectId: id$2.nullable().optional(),
|
|
493
|
+
create: z.z.boolean().optional(),
|
|
494
|
+
requestId: id$2.optional()
|
|
495
|
+
}).refine((v) => v.projectId !== void 0 !== (v.create === true), "exactly one of projectId / create");
|
|
496
|
+
const TEAM_WORKTREE = /\/teams\/worktrees\/([^/]+)(?:\/|$)/;
|
|
497
|
+
function teamWorktreeId(path) {
|
|
498
|
+
if (!path) return null;
|
|
499
|
+
return path.replace(/\\/g, "/").match(TEAM_WORKTREE)?.[1] ?? null;
|
|
500
|
+
}
|
|
501
|
+
function isInsideTeamWorktree(path) {
|
|
502
|
+
return teamWorktreeId(path) !== null;
|
|
503
|
+
}
|
|
504
|
+
function rebaseTeamWorktreePath(path, repository) {
|
|
505
|
+
const normalized = path.replace(/\\/g, "/");
|
|
506
|
+
const match = normalized.match(TEAM_WORKTREE);
|
|
507
|
+
if (!match || match.index === void 0) return path;
|
|
508
|
+
const rest = normalized.slice(match.index + match[0].length).replace(/\/+$/, "");
|
|
509
|
+
return rest ? `${repository.replace(/\/+$/, "")}/${rest}` : repository;
|
|
510
|
+
}
|
|
484
511
|
const id$1 = z.z.string().min(1).max(128);
|
|
485
512
|
const text = z.z.string().min(1).max(32e3);
|
|
486
513
|
const AUTOMATION_NAME_PATTERN = /^[a-z0-9][a-z0-9-_.]{0,63}$/;
|
|
@@ -1023,11 +1050,17 @@ For edit/status/delete, a conflict means the version changed. Read the task and
|
|
|
1023
1050
|
Restricted team workers cannot use account-wide Todo credentials. Ask the user or supervising session to perform the account operation; do not clear scope variables or seek another credential to bypass that boundary.
|
|
1024
1051
|
`;
|
|
1025
1052
|
const BUILTIN_TODO_DISCOVERY = "For the user\u2019s Very Happy My todos, run `very-happy todo skill` to read the official skill, then use its CLI commands. Do not confuse account todos with your execution plan; restricted team workers must not bypass their scope.";
|
|
1026
|
-
|
|
1053
|
+
z.z.object({
|
|
1027
1054
|
source: z.z.literal("pi"),
|
|
1028
1055
|
tokens: z.z.number().finite().nonnegative().nullable(),
|
|
1029
1056
|
contextWindow: z.z.number().finite().positive(),
|
|
1030
|
-
updatedAt: z.z.number().finite().nonnegative()
|
|
1057
|
+
updatedAt: z.z.number().finite().nonnegative(),
|
|
1058
|
+
/** 'configured' (the harness's own model entry) | 'inferred' (same model id in a known table) | 'unknown' (harness default). Absent = older CLI → configured. */
|
|
1059
|
+
windowSource: z.z.string().nullable().optional(),
|
|
1060
|
+
/** Model id the snapshot was measured on (lets the web consult its own table when the window is unknown). */
|
|
1061
|
+
model: z.z.string().nullable().optional(),
|
|
1062
|
+
/** When the harness last compacted; tokens stay null until the next answer measures the new context. */
|
|
1063
|
+
compactedAt: z.z.number().finite().nonnegative().nullable().optional()
|
|
1031
1064
|
});
|
|
1032
1065
|
const AgentVersionsSchema = z.z.object({
|
|
1033
1066
|
checkedAt: z.z.number(),
|
|
@@ -1042,12 +1075,27 @@ const AgentVersionsSchema = z.z.object({
|
|
|
1042
1075
|
const AGENT_VERSION_SOURCES = [
|
|
1043
1076
|
{ id: "claude", label: "Claude Code", command: "claude", package: "@anthropic-ai/claude-code", docs: "https://code.claude.com/docs/en/setup" },
|
|
1044
1077
|
{ id: "codex", label: "Codex", command: "codex", package: "@openai/codex", docs: "https://github.com/openai/codex#installation-and-usage" },
|
|
1045
|
-
|
|
1078
|
+
// B-719: @mariozechner/pi-coding-agent is deprecated at 0.73.1 ("use @earendil-works/pi-coding-agent"),
|
|
1079
|
+
// so comparing against it reported every newer pi as current.
|
|
1080
|
+
{ id: "pi", label: "Pi", command: "pi", package: "@earendil-works/pi-coding-agent", docs: "https://github.com/earendil-works/pi" },
|
|
1046
1081
|
{ id: "gemini", label: "Gemini CLI", command: "gemini", package: "@google/gemini-cli", docs: "https://github.com/google-gemini/gemini-cli#installation" },
|
|
1047
1082
|
{ id: "opencode", label: "OpenCode", command: "opencode", package: "opencode-ai", docs: "https://opencode.ai/docs/" },
|
|
1048
1083
|
{ id: "openclaw", label: "OpenClaw", command: "openclaw", package: "openclaw", docs: "https://docs.openclaw.ai/install/updating" },
|
|
1049
1084
|
{ id: "claude-sdk", label: "Claude Agent SDK", command: null, package: "@anthropic-ai/claude-agent-sdk", docs: "https://github.com/anthropics/claude-agent-sdk-typescript" }
|
|
1050
1085
|
];
|
|
1086
|
+
const HARNESS_INSTALL_IDS = ["claude", "codex", "gemini", "pi"];
|
|
1087
|
+
function isHarnessInstallId(value) {
|
|
1088
|
+
return typeof value === "string" && HARNESS_INSTALL_IDS.includes(value);
|
|
1089
|
+
}
|
|
1090
|
+
const HARNESS_INSTALL_CAPABILITY_VERSION = 1;
|
|
1091
|
+
z.z.object({
|
|
1092
|
+
harness: z.z.string(),
|
|
1093
|
+
state: z.z.string(),
|
|
1094
|
+
// 'installing' | 'installed' | 'failed' (open: older Web shows unknown states as failed)
|
|
1095
|
+
detail: z.z.string().optional(),
|
|
1096
|
+
startedAt: z.z.number(),
|
|
1097
|
+
at: z.z.number()
|
|
1098
|
+
});
|
|
1051
1099
|
const CLAUDE_OPUS_55_MODEL = "claude-opus-5-5";
|
|
1052
1100
|
const CLAUDE_OPUS_55_CAPABILITY = "claude-opus-5-5-v1";
|
|
1053
1101
|
function supportsClaudeOpus55(metadata) {
|
|
@@ -1143,7 +1191,7 @@ exports.AutomationTriggerSchema = AutomationTriggerSchema;
|
|
|
1143
1191
|
exports.BUILTIN_TODO_DISCOVERY = BUILTIN_TODO_DISCOVERY;
|
|
1144
1192
|
exports.BUILTIN_TODO_SKILL = BUILTIN_TODO_SKILL;
|
|
1145
1193
|
exports.CODEX_STEER_CAPABILITY = CODEX_STEER_CAPABILITY;
|
|
1146
|
-
exports.
|
|
1194
|
+
exports.HARNESS_INSTALL_CAPABILITY_VERSION = HARNESS_INSTALL_CAPABILITY_VERSION;
|
|
1147
1195
|
exports.PI_STEER_CAPABILITY = PI_STEER_CAPABILITY;
|
|
1148
1196
|
exports.PROJECT_SESSION_CAPABILITY = PROJECT_SESSION_CAPABILITY;
|
|
1149
1197
|
exports.PROMPT_QUEUE_CAPABILITY = PROMPT_QUEUE_CAPABILITY;
|
|
@@ -1157,6 +1205,9 @@ exports.createEnvelope = createEnvelope;
|
|
|
1157
1205
|
exports.getAgentCodeDefaults = getAgentCodeDefaults;
|
|
1158
1206
|
exports.isAutomationRunTerminal = isAutomationRunTerminal;
|
|
1159
1207
|
exports.isClaudeOpus55Model = isClaudeOpus55Model;
|
|
1208
|
+
exports.isHarnessInstallId = isHarnessInstallId;
|
|
1209
|
+
exports.isInsideTeamWorktree = isInsideTeamWorktree;
|
|
1160
1210
|
exports.normalizeAgentKey = normalizeAgentKey;
|
|
1211
|
+
exports.rebaseTeamWorktreePath = rebaseTeamWorktreePath;
|
|
1161
1212
|
exports.streamKeyOf = streamKeyOf;
|
|
1162
1213
|
exports.supportsClaudeOpus55 = supportsClaudeOpus55;
|
package/dist/index.cjs
CHANGED
package/dist/index.mjs
CHANGED
|
@@ -1,17 +1,17 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var logger = require('./logger-
|
|
3
|
+
var logger = require('./logger-DK1ytCz6.cjs');
|
|
4
4
|
var require$$0 = require('fs');
|
|
5
5
|
var child_process = require('child_process');
|
|
6
6
|
var trimIdent = require('./trimIdent-4gvk9Wk6.cjs');
|
|
7
7
|
var os = require('os');
|
|
8
8
|
require('chalk');
|
|
9
9
|
require('node:util');
|
|
10
|
-
require('./configuration-
|
|
10
|
+
require('./configuration-B-CugKJ3.cjs');
|
|
11
11
|
require('node:fs');
|
|
12
12
|
require('node:os');
|
|
13
13
|
require('node:path');
|
|
14
|
-
require('./package-
|
|
14
|
+
require('./package-BfeqAzyJ.cjs');
|
|
15
15
|
require('node:fs/promises');
|
|
16
16
|
|
|
17
17
|
const PLIST_LABEL = "com.happy-cli.daemon";
|
|
@@ -1,15 +1,15 @@
|
|
|
1
|
-
import { l as logger } from './logger-
|
|
1
|
+
import { l as logger } from './logger-DpqihN1f.mjs';
|
|
2
2
|
import { existsSync, writeFileSync, chmodSync } from 'fs';
|
|
3
3
|
import { execSync } from 'child_process';
|
|
4
4
|
import { t as trimIdent } from './trimIdent-BAjmv_TG.mjs';
|
|
5
5
|
import os from 'os';
|
|
6
6
|
import 'chalk';
|
|
7
7
|
import 'node:util';
|
|
8
|
-
import './configuration-
|
|
8
|
+
import './configuration-YXw_Dcsb.mjs';
|
|
9
9
|
import 'node:fs';
|
|
10
10
|
import 'node:os';
|
|
11
11
|
import 'node:path';
|
|
12
|
-
import './package-
|
|
12
|
+
import './package-CKj8zndE.mjs';
|
|
13
13
|
import 'node:fs/promises';
|
|
14
14
|
|
|
15
15
|
const PLIST_LABEL = "com.happy-cli.daemon";
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { createHash, randomUUID } from 'node:crypto';
|
|
2
2
|
import { unlink, rmdir, mkdir, lstat, readFile, writeFile, rename } from 'node:fs/promises';
|
|
3
3
|
import { join, resolve, dirname } from 'node:path';
|
|
4
|
-
import { T as TEAM_SKILL } from './resources-
|
|
4
|
+
import { T as TEAM_SKILL } from './resources-CH1iP6Cv.mjs';
|
|
5
5
|
|
|
6
6
|
const AUTOMATION_SKILL = `---
|
|
7
7
|
name: very-happy-automations
|
|
@@ -3,7 +3,7 @@
|
|
|
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 resources = require('./resources-
|
|
6
|
+
var resources = require('./resources-BPyN59Iv.cjs');
|
|
7
7
|
|
|
8
8
|
const AUTOMATION_SKILL = `---
|
|
9
9
|
name: very-happy-automations
|
package/dist/lib.cjs
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var api = require('./api-
|
|
4
|
-
var logger = require('./logger-
|
|
5
|
-
var configuration = require('./configuration-
|
|
3
|
+
var api = require('./api-CZWcG7uh.cjs');
|
|
4
|
+
var logger = require('./logger-DK1ytCz6.cjs');
|
|
5
|
+
var configuration = require('./configuration-B-CugKJ3.cjs');
|
|
6
6
|
var types = require('./types-CRS-srZK.cjs');
|
|
7
7
|
require('axios');
|
|
8
|
-
require('./lidState-
|
|
8
|
+
require('./lidState-DcPvwniz.cjs');
|
|
9
9
|
require('./authRelay-Dy1qU9td.cjs');
|
|
10
10
|
require('node:crypto');
|
|
11
11
|
require('tweetnacl');
|
|
@@ -13,14 +13,14 @@ require('os');
|
|
|
13
13
|
require('child_process');
|
|
14
14
|
require('node:events');
|
|
15
15
|
require('socket.io-client');
|
|
16
|
-
require('./pushNotifications-
|
|
16
|
+
require('./pushNotifications-CyQVDThC.cjs');
|
|
17
17
|
require('zod');
|
|
18
|
-
require('./index-
|
|
18
|
+
require('./index-oh8XEozJ.cjs');
|
|
19
19
|
require('@paralleldrive/cuid2');
|
|
20
20
|
require('./contentLogMetadata-ZSFk_NjQ.cjs');
|
|
21
21
|
require('./limits-C-a7gr04.cjs');
|
|
22
|
-
require('./time-
|
|
23
|
-
require('./registerCommonHandlers-
|
|
22
|
+
require('./time-DNLeIRgR.cjs');
|
|
23
|
+
require('./registerCommonHandlers-DbNoM39q.cjs');
|
|
24
24
|
require('util');
|
|
25
25
|
require('fs/promises');
|
|
26
26
|
require('crypto');
|
|
@@ -28,17 +28,17 @@ require('path');
|
|
|
28
28
|
require('cross-spawn');
|
|
29
29
|
require('./projectPath-C3ioB4Bu.cjs');
|
|
30
30
|
require('url');
|
|
31
|
-
require('./sync-
|
|
31
|
+
require('./sync-BxMdnZzz.cjs');
|
|
32
32
|
require('./backgroundTaskActivity-CBvUdj39.cjs');
|
|
33
|
-
require('./controlClient-
|
|
34
|
-
require('./persistence-
|
|
33
|
+
require('./controlClient-D0kGwKYx.cjs');
|
|
34
|
+
require('./persistence-BdpwWXKh.cjs');
|
|
35
35
|
require('node:fs/promises');
|
|
36
36
|
require('node:fs');
|
|
37
37
|
require('chalk');
|
|
38
38
|
require('node:util');
|
|
39
39
|
require('node:path');
|
|
40
40
|
require('node:os');
|
|
41
|
-
require('./package-
|
|
41
|
+
require('./package-BfeqAzyJ.cjs');
|
|
42
42
|
|
|
43
43
|
|
|
44
44
|
|
package/dist/lib.d.cts
CHANGED
|
@@ -200,12 +200,22 @@ declare const sessionStreamFrameSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
|
|
|
200
200
|
}, z.core.$strip>], "t">;
|
|
201
201
|
type SessionStreamFrame = z.infer<typeof sessionStreamFrameSchema>;
|
|
202
202
|
|
|
203
|
-
/**
|
|
203
|
+
/**
|
|
204
|
+
* Runtime context occupancy, never cumulative billing. null after compaction is unknown.
|
|
205
|
+
*
|
|
206
|
+
* B-727 (specs/2026-10-pi-context-usage.md): `contextWindow` stays required so
|
|
207
|
+
* older webs keep rendering; `windowSource` says whether it may be used as a
|
|
208
|
+
* denominator. Free strings + read whitelist (iron rule 14): an unknown value
|
|
209
|
+
* must not make the whole agentState fail to parse.
|
|
210
|
+
*/
|
|
204
211
|
declare const ContextUsageSchema: z$1.ZodObject<{
|
|
205
212
|
source: z$1.ZodLiteral<"pi">;
|
|
206
213
|
tokens: z$1.ZodNullable<z$1.ZodNumber>;
|
|
207
214
|
contextWindow: z$1.ZodNumber;
|
|
208
215
|
updatedAt: z$1.ZodNumber;
|
|
216
|
+
windowSource: z$1.ZodOptional<z$1.ZodNullable<z$1.ZodString>>;
|
|
217
|
+
model: z$1.ZodOptional<z$1.ZodNullable<z$1.ZodString>>;
|
|
218
|
+
compactedAt: z$1.ZodOptional<z$1.ZodNullable<z$1.ZodNumber>>;
|
|
209
219
|
}, z$1.core.$strip>;
|
|
210
220
|
type ContextUsage = z$1.infer<typeof ContextUsageSchema>;
|
|
211
221
|
|
|
@@ -369,7 +379,9 @@ declare const MachineMetadataSchema: z$1.ZodObject<{
|
|
|
369
379
|
teamLaunchVersion: z$1.ZodOptional<z$1.ZodNumber>;
|
|
370
380
|
teamRetryVersion: z$1.ZodOptional<z$1.ZodNumber>;
|
|
371
381
|
worktreeVersion: z$1.ZodOptional<z$1.ZodNumber>;
|
|
382
|
+
fsMkdirVersion: z$1.ZodOptional<z$1.ZodNumber>;
|
|
372
383
|
modelConfigVersion: z$1.ZodOptional<z$1.ZodNumber>;
|
|
384
|
+
harnessInstallVersion: z$1.ZodOptional<z$1.ZodNumber>;
|
|
373
385
|
host: z$1.ZodString;
|
|
374
386
|
platform: z$1.ZodString;
|
|
375
387
|
happyCliVersion: z$1.ZodString;
|
|
@@ -422,6 +434,13 @@ declare const CliUpdateStateSchema: z$1.ZodObject<{
|
|
|
422
434
|
detail: z$1.ZodOptional<z$1.ZodString>;
|
|
423
435
|
at: z$1.ZodNumber;
|
|
424
436
|
}, z$1.core.$strip>>>;
|
|
437
|
+
autoUpdateEnabled: z$1.ZodOptional<z$1.ZodBoolean>;
|
|
438
|
+
lastInstall: z$1.ZodOptional<z$1.ZodNullable<z$1.ZodObject<{
|
|
439
|
+
from: z$1.ZodString;
|
|
440
|
+
to: z$1.ZodString;
|
|
441
|
+
at: z$1.ZodNumber;
|
|
442
|
+
source: z$1.ZodString;
|
|
443
|
+
}, z$1.core.$strip>>>;
|
|
425
444
|
}, z$1.core.$strip>;
|
|
426
445
|
type CliUpdateState = z$1.infer<typeof CliUpdateStateSchema>;
|
|
427
446
|
/**
|
|
@@ -547,6 +566,13 @@ declare const DaemonStateSchema: z$1.ZodObject<{
|
|
|
547
566
|
detail: z$1.ZodOptional<z$1.ZodString>;
|
|
548
567
|
at: z$1.ZodNumber;
|
|
549
568
|
}, z$1.core.$strip>>>;
|
|
569
|
+
autoUpdateEnabled: z$1.ZodOptional<z$1.ZodBoolean>;
|
|
570
|
+
lastInstall: z$1.ZodOptional<z$1.ZodNullable<z$1.ZodObject<{
|
|
571
|
+
from: z$1.ZodString;
|
|
572
|
+
to: z$1.ZodString;
|
|
573
|
+
at: z$1.ZodNumber;
|
|
574
|
+
source: z$1.ZodString;
|
|
575
|
+
}, z$1.core.$strip>>>;
|
|
550
576
|
}, z$1.core.$strip>>;
|
|
551
577
|
claudeAuth: z$1.ZodOptional<z$1.ZodObject<{
|
|
552
578
|
probeVersion: z$1.ZodNumber;
|
|
@@ -1675,6 +1701,8 @@ interface HarnessCurrent {
|
|
|
1675
1701
|
providerName?: string | null;
|
|
1676
1702
|
api?: string | null;
|
|
1677
1703
|
models?: string[];
|
|
1704
|
+
/** pi: explicit `contextWindow` per model of the selected provider (B-727; absent on older daemons). */
|
|
1705
|
+
contextWindows?: Record<string, number>;
|
|
1678
1706
|
defaultModel?: string | null;
|
|
1679
1707
|
/** codex/pi: provider currently selected by the harness. */
|
|
1680
1708
|
activeProvider?: string | null;
|
|
@@ -1958,6 +1986,8 @@ declare class ApiMachineClient {
|
|
|
1958
1986
|
} | {
|
|
1959
1987
|
error: string;
|
|
1960
1988
|
}>): void;
|
|
1989
|
+
/** B-719: `harness-install` — the owner asked this machine to install one harness id. */
|
|
1990
|
+
setHarnessInstallHandler(handler: (params: unknown) => Promise<unknown>): void;
|
|
1961
1991
|
setCliUpdateRetryHandler(handler: (version: unknown) => Promise<{
|
|
1962
1992
|
accepted: true;
|
|
1963
1993
|
} | {
|
|
@@ -2055,12 +2085,21 @@ declare class ApiMachineClient {
|
|
|
2055
2085
|
private createControlSocket;
|
|
2056
2086
|
private activateControlSocket;
|
|
2057
2087
|
private bindControlDataHandlers;
|
|
2088
|
+
private cliUpdatePolicyHandler;
|
|
2089
|
+
/** B-718: the daemon decides what a policy announcement means (update/policyAnnouncement.ts). */
|
|
2090
|
+
setCliUpdatePolicyHandler(handler: ((payload: unknown) => void) | null): void;
|
|
2058
2091
|
private serverMigrateHandler;
|
|
2059
2092
|
/** B-635: the daemon decides what to do with a relay-migration notice (daemon/serverMigration.ts). */
|
|
2060
2093
|
setServerMigrateHandler(handler: ((notice: unknown) => void) | null): void;
|
|
2061
2094
|
private startReleaseHandover;
|
|
2062
2095
|
private releaseHandover;
|
|
2063
2096
|
private startKeepAlive;
|
|
2097
|
+
/**
|
|
2098
|
+
* Re-detect CLI availability and publish it when it changed. Called on the
|
|
2099
|
+
* throttled keep-alive and, B-719, right after the owner installed a
|
|
2100
|
+
* harness so the launcher enables it without waiting up to five minutes.
|
|
2101
|
+
*/
|
|
2102
|
+
recheckCliAvailability(): void;
|
|
2064
2103
|
private bindRpcRequestHandler;
|
|
2065
2104
|
private bindMachineCommandHandlers;
|
|
2066
2105
|
private unbindMachineCommandHandlers;
|