very-happy-cli 0.2.182 → 0.2.184
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-DLk3gMYH.mjs → AcpBackend-Csg7Sy2P.mjs} +3 -3
- package/dist/{AcpBackend-JA5eu8Y0.cjs → AcpBackend-DOzn74zn.cjs} +3 -3
- package/dist/{AcpSessionManager-OrCww-Qv.mjs → AcpSessionManager-BRK2F2yN.mjs} +10 -3
- package/dist/{AcpSessionManager-DjYidq4C.cjs → AcpSessionManager-CJXDNNtq.cjs} +10 -3
- package/dist/{BasePermissionHandler-u-neo-iN.mjs → BasePermissionHandler-BqYwrCra.mjs} +1 -1
- package/dist/{BasePermissionHandler-D3PMKLBS.cjs → BasePermissionHandler-CfrnkG3v.cjs} +1 -1
- package/dist/{acpSessionResume-Dxo8222T.cjs → acpSessionResume-DZ65DBeE.cjs} +1 -1
- package/dist/{acpSessionResume-u2TwX5Jd.mjs → acpSessionResume-Dz1myMbR.mjs} +1 -1
- package/dist/{agentHome-D3hNrnoA.mjs → agentHome-B_tu3tFJ.mjs} +4 -4
- package/dist/{agentHome-CP1tCBXz.cjs → agentHome-CKAXhc8P.cjs} +4 -4
- package/dist/{api-C_YSQnsi.mjs → api-BpTDU2BO.mjs} +79 -12
- package/dist/{api-CZWcG7uh.cjs → api-rw5xkzxo.cjs} +81 -11
- package/dist/{apiMachine-DPGrED5C.cjs → apiMachine-Bs1XXHKs.cjs} +14 -14
- package/dist/{apiMachine-C_GA5Bm-.mjs → apiMachine-wp0hWG3F.mjs} +14 -14
- package/dist/{attachmentContent-Ckzyb1Uy.mjs → attachmentContent-CWSSGMMo.mjs} +2 -2
- package/dist/{attachmentContent-I_dJIevE.cjs → attachmentContent-K_Up4InS.cjs} +2 -2
- package/dist/{auth-BKnE7uv7.cjs → auth-C4_mXYgj.cjs} +8 -8
- package/dist/{auth-DOXMI-xp.mjs → auth-CBESCCCn.mjs} +8 -8
- package/dist/{auth-CGgpiJ5-.mjs → auth-D6kSt2sR.mjs} +5 -5
- package/dist/{auth-Lw_utSMV.cjs → auth-gGryJImw.cjs} +5 -5
- package/dist/{auto-Z56mMZnH.mjs → auto-CEucVmFR.mjs} +32 -26
- package/dist/{auto-CIgFHIyQ.cjs → auto-Do43AOza.cjs} +32 -25
- package/dist/{bootstrap-DsXp74wv.cjs → bootstrap-BPz1iX77.cjs} +2 -2
- package/dist/{bootstrap-D3vlOROj.mjs → bootstrap-CodyCmGt.mjs} +2 -2
- package/dist/{browser-CUxGoATV.mjs → browser-CqMhj8Gm.mjs} +1 -1
- package/dist/{browser-CZlA9AkO.cjs → browser-D9D-1eqa.cjs} +1 -1
- package/dist/{claudeLocal-FnTUgwCi.mjs → claudeLocal-BgIRtT3Q.mjs} +5 -5
- package/dist/{claudeLocal-oELvwiZL.cjs → claudeLocal-Dywp8NKr.cjs} +5 -5
- package/dist/{claudeLocalLauncher-CO5YHCzi.mjs → claudeLocalLauncher-CaHjZ8HW.mjs} +10 -10
- package/dist/{claudeLocalLauncher-QsVXEVdE.cjs → claudeLocalLauncher-_TOL73g5.cjs} +10 -10
- package/dist/{claudeSessionFork-Cspr6QW0.mjs → claudeSessionFork-C9nB7fs5.mjs} +1 -1
- package/dist/{claudeSessionFork-BA4GE5AL.cjs → claudeSessionFork-jq-_WiAu.cjs} +1 -1
- package/dist/{client-CDuW4MS9.cjs → client-BFDji81N.cjs} +15 -7
- package/dist/{client-Ctbw05Xj.mjs → client-BdbVizjk.mjs} +15 -7
- package/dist/{client-xnWiHqdb.cjs → client-ByZFACEw.cjs} +18 -5
- package/dist/{client-DK8CzUry.cjs → client-C49zFRkX.cjs} +2 -2
- package/dist/{client-o-meK7-a.mjs → client-CX-_2myt.mjs} +2 -2
- package/dist/{client-BGfmSbWc.mjs → client-DwlYk8uJ.mjs} +18 -5
- package/dist/codex/happyMcpStdioBridge.cjs +16 -16
- package/dist/codex/happyMcpStdioBridge.mjs +16 -16
- package/dist/{codexAppServerClient-BlsOZLul.mjs → codexAppServerClient-CmOIqiNQ.mjs} +3 -3
- package/dist/{codexAppServerClient-DhNDTU_i.cjs → codexAppServerClient-DF12ZSw1.cjs} +3 -3
- package/dist/{codexCommand-BGx5NMQR.mjs → codexCommand-BN05uEyv.mjs} +94 -60
- package/dist/{codexCommand-DJDPfpIs.cjs → codexCommand-H-ObWTtx.cjs} +94 -60
- package/dist/{codexTermination-CVhhwHZU.mjs → codexTermination-Byohgj8h.mjs} +1 -1
- package/dist/{codexTermination-CqPMuokw.cjs → codexTermination-RwKa8pKk.cjs} +1 -1
- package/dist/{config-CWAe08-Q.mjs → config-ChHLh-hf.mjs} +3 -3
- package/dist/{config-CHpxzXBL.cjs → config-D_wNqwxX.cjs} +3 -3
- package/dist/{configuration-B-CugKJ3.cjs → configuration-C9Sx-Foo.cjs} +1 -1
- package/dist/{configuration-YXw_Dcsb.mjs → configuration-CVgUe2qN.mjs} +1 -1
- package/dist/{connect-BmHvMXH2.cjs → connect-B61xJDRq.cjs} +13 -13
- package/dist/{connect-CPeJXHha.mjs → connect-DJEQjS7C.mjs} +13 -13
- package/dist/{context-BtIVqHI5.cjs → context-Bf3BG7w8.cjs} +1 -1
- package/dist/{context-Drzs_Z38.mjs → context-CDPfhHTo.mjs} +1 -1
- package/dist/{controlClient-D0kGwKYx.cjs → controlClient-BLO1_pPx.cjs} +14 -3
- package/dist/{controlClient-BL4hb4l3.mjs → controlClient-DMCxtwq2.mjs} +14 -4
- package/dist/{createSessionMetadata-L499emJn.cjs → createSessionMetadata-5Mde6Dfh.cjs} +2 -2
- package/dist/{createSessionMetadata-DvGDsnsn.mjs → createSessionMetadata-BYroCdrU.mjs} +2 -2
- package/dist/daemonSupervisor-57JYYzMf.cjs +268 -0
- package/dist/daemonSupervisor-DfzrtNhM.mjs +245 -0
- package/dist/{defaultPermissionMode-MXpZlXud.cjs → defaultPermissionMode-B7mjHQKp.cjs} +2 -2
- package/dist/{defaultPermissionMode-BLfxu-Yz.mjs → defaultPermissionMode-CTdxUV_3.mjs} +2 -2
- package/dist/{deterministicJson-CfLkBRvU.cjs → deterministicJson-C1Z9MlDX.cjs} +569 -17
- package/dist/{deterministicJson-B_UAbmQ4.mjs → deterministicJson-C3QXOc1N.mjs} +572 -21
- package/dist/{doctor-DMvlzmnE.cjs → doctor-DRdV3thy.cjs} +7 -7
- package/dist/{doctor-bKScPtZu.mjs → doctor-OwNmTpYh.mjs} +7 -7
- package/dist/{downloadTarget-J9j37eFG.mjs → downloadTarget-CNtQ8rhV.mjs} +6 -6
- package/dist/{downloadTarget-D33BFvew.cjs → downloadTarget-Di5bf7r0.cjs} +6 -6
- package/dist/{ensureDaemonRunning-2IqWROJp.cjs → ensureDaemonRunning-CMY--T9Q.cjs} +5 -5
- package/dist/{ensureDaemonRunning-DLvwhpNg.mjs → ensureDaemonRunning-IRV-w0wH.mjs} +5 -5
- package/dist/{handleResumeCommand-CjtjQ_I7.mjs → handleResumeCommand-BO00SYjG.mjs} +5 -5
- package/dist/{handleResumeCommand-Dp2Y-p6V.cjs → handleResumeCommand-z7wY7QVM.cjs} +5 -5
- package/dist/{index-DYVIbhAJ.cjs → index-B4cyX2by.cjs} +40 -40
- package/dist/{index-B_aNaW9w.cjs → index-BsoUsrKS.cjs} +4 -4
- package/dist/{index-Cllzqoes.mjs → index-C7zgeuLP.mjs} +4 -4
- package/dist/{index-D_LvOWUN.mjs → index-CVUiytNq.mjs} +3 -3
- package/dist/{index-BOT0Tg5E.mjs → index-DZvi6_tB.mjs} +4 -4
- package/dist/{index-BI0h2Zks.mjs → index-DisBaRvM.mjs} +277 -77
- package/dist/{index-CZC7egJA.cjs → index-NhmqjrGv.cjs} +3 -3
- package/dist/{index-oh8XEozJ.cjs → index-Ub-5xbcU.cjs} +286 -76
- package/dist/{index-kA46KMxN.mjs → index-_LfuIz-O.mjs} +41 -41
- package/dist/{index-DymOv3kK.cjs → index-wYJu2yGc.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-BAa_Xmof.cjs → install-CGYDeYes.cjs} +3 -3
- package/dist/{install-C46mkr9a.mjs → install-DeUM6h8X.mjs} +3 -3
- package/dist/{install-D0inLCv-.mjs → install-F3rP8tBU.mjs} +2 -2
- package/dist/lib.cjs +12 -12
- package/dist/lib.d.cts +1 -1
- package/dist/lib.d.mts +1 -1
- package/dist/lib.mjs +12 -12
- package/dist/{lidState-DcPvwniz.cjs → lidState-C4YgPn6y.cjs} +1 -1
- package/dist/{lidState-D8Iuvjgl.mjs → lidState-CBjQEwTt.mjs} +1 -1
- package/dist/{localHappyAgentAuth-SD6GM97y.cjs → localHappyAgentAuth-BzCuIkzi.cjs} +1 -1
- package/dist/{localHappyAgentAuth-D3rQDRd9.mjs → localHappyAgentAuth-CcWGU_lS.mjs} +1 -1
- package/dist/{logger-DK1ytCz6.cjs → logger-CrtT0opS.cjs} +2 -2
- package/dist/{logger-DpqihN1f.mjs → logger-D2qd0mMg.mjs} +2 -2
- package/dist/{machineMetadata-D4E3qoIG.mjs → machineMetadata-B2czDiTd.mjs} +3 -3
- package/dist/{machineMetadata-IJc6_iyx.cjs → machineMetadata-D1hlm_oF.cjs} +3 -3
- package/dist/{main-CpUmw7hm.mjs → main-BNYWELul.mjs} +69 -56
- package/dist/{main-DUXh2rgW.cjs → main-BWgWN5d1.cjs} +69 -56
- package/dist/{mcp-D5f3Vd-z.cjs → mcp-C18unjs1.cjs} +15 -15
- package/dist/{mcp-66g1TJ8P.mjs → mcp-ColtiH23.mjs} +15 -15
- package/dist/{mirrorProtocol-DkWOcZh9.cjs → mirrorProtocol-D4CR5I5W.cjs} +3 -3
- package/dist/{mirrorProtocol-bsCUcaCY.mjs → mirrorProtocol-DTHWtAE5.mjs} +3 -3
- package/dist/{package-BfeqAzyJ.cjs → package-DczR1k0c.cjs} +7 -7
- package/dist/{package-CKj8zndE.mjs → package-Ek5FOyEo.mjs} +7 -7
- package/dist/{panels-r8LmaBs6.mjs → panels-BIQ7FrCB.mjs} +5 -5
- package/dist/{panels-2PXsw9-d.cjs → panels-DYSMHhdb.cjs} +5 -5
- package/dist/{peerTools-D_id4d41.mjs → peerTools-CABQ6iKd.mjs} +5 -5
- package/dist/{peerTools-BVp1z0T_.cjs → peerTools-Cufh4Qp_.cjs} +5 -5
- package/dist/{persistence-jOEuAFTS.mjs → persistence-DFtgQvr6.mjs} +2 -2
- package/dist/{persistence-BdpwWXKh.cjs → persistence-IYH6bAXY.cjs} +2 -2
- package/dist/{piRunnerArgs-68I5F_M1.mjs → piRunnerArgs-CIWprC1S.mjs} +1 -1
- package/dist/{piRunnerArgs-vxCHKnSA.cjs → piRunnerArgs-Dgjmj8KL.cjs} +1 -1
- package/dist/{piRuntime-C3Dg5uni.cjs → piRuntime-C_nX977w.cjs} +2 -2
- package/dist/{piRuntime-DgLIard1.mjs → piRuntime-K6o4GPZ9.mjs} +2 -2
- package/dist/{piTerminal-DJL0w-uA.mjs → piTerminal-CRl0EZc3.mjs} +18 -18
- package/dist/{piTerminal-C135BcLP.cjs → piTerminal-CYhcmkyi.cjs} +18 -18
- package/dist/providerBinding-B-Qbx9W2.cjs +140 -0
- package/dist/providerBinding-CYubGg-Z.mjs +132 -0
- package/dist/{pushNotifications-CyQVDThC.cjs → pushNotifications-BgQ_QTgS.cjs} +3 -3
- package/dist/{pushNotifications-CMmRsbKv.mjs → pushNotifications-gVJWGFBP.mjs} +3 -3
- package/dist/{query-CPXnDURZ.mjs → query-CGp9vY4e.mjs} +1 -1
- package/dist/{query-CK--1fbL.cjs → query-DFreaScb.cjs} +1 -1
- package/dist/{rateLimitWindows-DJxnNw-X.cjs → rateLimitWindows-CeogT1b6.cjs} +1 -1
- package/dist/{rateLimitWindows-Cqa4AGaB.mjs → rateLimitWindows-DM_gshI4.mjs} +1 -1
- package/dist/{registerCommonHandlers-DbNoM39q.cjs → registerCommonHandlers-CRqKXwQt.cjs} +2 -2
- package/dist/{registerCommonHandlers-K8dICQO2.mjs → registerCommonHandlers-CyAtDNvs.mjs} +2 -2
- package/dist/{registerKillSessionHandler-DiS_go8d.cjs → registerKillSessionHandler-CX49N52L.cjs} +6 -6
- package/dist/{registerKillSessionHandler-O1iriOMO.mjs → registerKillSessionHandler-DGWADNla.mjs} +6 -6
- package/dist/{remoteSessionClient-BlURPulk.mjs → remoteSessionClient-1nycIdrG.mjs} +5 -5
- package/dist/{remoteSessionClient-CtV9mDko.cjs → remoteSessionClient-CuAkp19e.cjs} +5 -5
- package/dist/{reportProgressTool-DlD_xjzU.cjs → reportProgressTool-BS7TkeEk.cjs} +4 -4
- package/dist/{reportProgressTool-nCExrHZH.mjs → reportProgressTool-CdSi-uSC.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-drtwHYkO.mjs → run-DqjEj8M2.mjs} +101 -248
- package/dist/{run-BBNrcCfI.cjs → run-gVwkplx0.cjs} +111 -259
- package/dist/{runClaude-B3KSeby4.cjs → runClaude-CtVoFstP.cjs} +39 -24
- package/dist/{runClaude-CFp27Tyi.mjs → runClaude-CuSjrZSf.mjs} +39 -24
- package/dist/{runClaudeDeps-C_C9TCI0.cjs → runClaudeDeps-DqOgRuKq.cjs} +49 -40
- package/dist/{runClaudeDeps-DMcv93lA.mjs → runClaudeDeps-eazOhb6g.mjs} +54 -45
- package/dist/{runGemini-DzdSBAr9.cjs → runGemini-81wkPvMv.cjs} +37 -35
- package/dist/{runGemini-Bc6SY-hd.mjs → runGemini-B4EqAd1U.mjs} +37 -35
- package/dist/{runOpenClaw-DN6rEVqC.cjs → runOpenClaw-BK7ZQEKj.cjs} +18 -18
- package/dist/{runOpenClaw-DI0qMlgF.mjs → runOpenClaw-Brb1KKAA.mjs} +18 -18
- package/dist/{sandbox-DtttPBMA.cjs → sandbox-DFD6an8o.cjs} +4 -4
- package/dist/{sandbox-v-ffe8LR.mjs → sandbox-t43Exd4t.mjs} +4 -4
- package/dist/{selfCheck-B-yy6bW3.cjs → selfCheck-Bel50SH3.cjs} +37 -36
- package/dist/selfCheck-CwpZepG-.mjs +86 -0
- package/dist/{send-DpBwSZuj.mjs → send-Co9jxmc4.mjs} +8 -8
- package/dist/{send-ShzXYPRu.cjs → send-IR5DnG9V.cjs} +8 -8
- package/dist/{server-CEzKrfKj.cjs → server-CAo6a3Vw.cjs} +6 -6
- package/dist/{server-DScgJXxa.mjs → server-KnIeKeTb.mjs} +4 -4
- package/dist/{sessionLock-Dc0fadGG.cjs → sessionLock-DNGDn9oj.cjs} +3 -3
- package/dist/{sessionLock-B6K4SBZD.mjs → sessionLock-ha9gsQEn.mjs} +3 -3
- package/dist/{sessionOps-D0BPWPoh.mjs → sessionOps-Di9MC0FP.mjs} +4 -4
- package/dist/{sessionOps-Dx7wARjI.cjs → sessionOps-hRqzcMXB.cjs} +4 -4
- package/dist/sessionProvider-4Nn6e9Kd.mjs +109 -0
- package/dist/sessionProvider-LqE7Y_cf.cjs +114 -0
- package/dist/{sessionScanner-BJ35TVG6.cjs → sessionScanner-BzEtrHB8.cjs} +3 -3
- package/dist/{sessionScanner-9Fpgaxtf.mjs → sessionScanner-DKFKDsrW.mjs} +3 -3
- package/dist/{sessions-TZGGAry1.cjs → sessions-CmLiagcb.cjs} +10 -10
- package/dist/{sessions-CFtDlyZd.mjs → sessions-DzgMNXo5.mjs} +10 -10
- package/dist/{setupOfflineReconnection-Biaus-0T.mjs → setupOfflineReconnection-D4NGi3Jf.mjs} +2 -2
- package/dist/{setupOfflineReconnection-B1GsVA8P.cjs → setupOfflineReconnection-Dq4N2Txp.cjs} +2 -2
- package/dist/{spawn-CsoQ-Ecz.mjs → spawn-C6CE5PsI.mjs} +14 -14
- package/dist/{spawn-BRTuypQ2.cjs → spawn-tmoekkOW.cjs} +14 -14
- package/dist/{spawnAgents-CG211IW7.cjs → spawnAgents-D15n6tAj.cjs} +1 -1
- package/dist/{spawnAgents-Co-SLcx-.mjs → spawnAgents-jXo9jIYo.mjs} +1 -1
- package/dist/{spawnHappyCLI-D1doCjkZ.mjs → spawnHappyCLI-66grqHO0.mjs} +1 -1
- package/dist/{spawnHappyCLI-D47kX6jg.cjs → spawnHappyCLI-8NcKgkuy.cjs} +1 -1
- package/dist/{specialCommands-xSmqT_Fu.mjs → specialCommands-BO8ipH0n.mjs} +3 -3
- package/dist/{specialCommands-Ch-Gvy-i.cjs → specialCommands-Dq0TmY1Z.cjs} +3 -3
- package/dist/{startFileWatcher-CCl2fFxT.mjs → startFileWatcher-BLDkieUW.mjs} +1 -1
- package/dist/{startFileWatcher-gKQTstR6.cjs → startFileWatcher-CjgKvec9.cjs} +1 -1
- package/dist/{startupSessionCreate-DlZc8yPl.mjs → startupSessionCreate-B60THeNz.mjs} +1 -1
- package/dist/{startupSessionCreate-BXqoUX30.cjs → startupSessionCreate-CXRVahaU.cjs} +1 -1
- package/dist/{streamRelay-B-J-4St1.cjs → streamRelay-CtTpf-Li.cjs} +1 -1
- package/dist/{streamRelay-DnJXsi36.mjs → streamRelay-GzHxvMem.mjs} +1 -1
- package/dist/{sync-BbjMC3sR.mjs → sync-DJvx7RbO.mjs} +1 -1
- package/dist/{sync-BxMdnZzz.cjs → sync-DKSZOi6w.cjs} +1 -1
- package/dist/{systemPrompt-C2KojRmK.cjs → systemPrompt-Duos1BtM.cjs} +2 -2
- package/dist/{systemPrompt-CmSDAoIx.mjs → systemPrompt-dOOpz8L7.mjs} +2 -2
- package/dist/{teams-DESdalox.cjs → teams-pO5rjvPO.cjs} +9 -9
- package/dist/{teams-lRy1MS0Z.mjs → teams-uWiMJEe1.mjs} +9 -9
- package/dist/{template-BaHAmH2K.cjs → template-BLJxflCH.cjs} +32 -2
- package/dist/{template-CiOPa2rd.mjs → template-YlpbYGeQ.mjs} +31 -3
- package/dist/{time-DNLeIRgR.cjs → time-D-8GFCE7.cjs} +1 -1
- package/dist/{time-Cfknl7xG.mjs → time-Du0scQeJ.mjs} +1 -1
- package/dist/{titleGenerator-ClnMSzwC.mjs → titleGenerator-DKYj8rLY.mjs} +1 -1
- package/dist/{titleGenerator-YNutaU88.cjs → titleGenerator-DnKygjBP.cjs} +2 -2
- package/dist/{todo-DS75Mboz.cjs → todo-BFDb7O8q.cjs} +6 -6
- package/dist/{todo-DZbK5POc.mjs → todo-Du5dAwnt.mjs} +6 -6
- package/dist/{tools-BgdU0dWp.mjs → tools-DHvMVL0a.mjs} +1 -1
- package/dist/{tools-ClYcb1YQ.cjs → tools-DK_x86Kl.cjs} +1 -1
- package/dist/{uninstall-bXenFevR.mjs → uninstall-CLDEXir0.mjs} +3 -3
- package/dist/{uninstall-Di1vPBLV.cjs → uninstall-c3zjum2o.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-BDfTwxqB.mjs +0 -85
|
@@ -4,13 +4,13 @@ var node_crypto = require('node:crypto');
|
|
|
4
4
|
var os = require('node:os');
|
|
5
5
|
var z = require('zod');
|
|
6
6
|
var ids = require('./ids-B6ZC0HGt.cjs');
|
|
7
|
-
var controlClient = require('./controlClient-
|
|
8
|
-
var persistence = require('./persistence-
|
|
9
|
-
var sessionOps = require('./sessionOps-
|
|
10
|
-
var remoteSessionClient = require('./remoteSessionClient-
|
|
7
|
+
var controlClient = require('./controlClient-BLO1_pPx.cjs');
|
|
8
|
+
var persistence = require('./persistence-IYH6bAXY.cjs');
|
|
9
|
+
var sessionOps = require('./sessionOps-hRqzcMXB.cjs');
|
|
10
|
+
var remoteSessionClient = require('./remoteSessionClient-CuAkp19e.cjs');
|
|
11
11
|
var node_fs = require('node:fs');
|
|
12
12
|
var path = require('node:path');
|
|
13
|
-
var client = require('./client-
|
|
13
|
+
var client = require('./client-C49zFRkX.cjs');
|
|
14
14
|
|
|
15
15
|
const SESSION_PEER_SENT_FROM = "session-peer";
|
|
16
16
|
const CLI_PEER_SENDER_ID = "cli";
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import { readFile, open, unlink, stat, rename } from 'node:fs/promises';
|
|
2
2
|
import { existsSync, constants, readFileSync, unlinkSync, renameSync } from 'node:fs';
|
|
3
|
-
import { c as configuration, P as PRIVATE_FILE_MODE, w as writePrivateFileSync, a as hardenPrivateFileSync, e as ensurePrivateDirectory, b as writePrivateFile, h as hardenPrivateFile } from './configuration-
|
|
3
|
+
import { c as configuration, P as PRIVATE_FILE_MODE, w as writePrivateFileSync, a as hardenPrivateFileSync, e as ensurePrivateDirectory, b as writePrivateFile, h as hardenPrivateFile } from './configuration-CVgUe2qN.mjs';
|
|
4
4
|
import * as z from 'zod';
|
|
5
5
|
import { c as credentialRelayProblem, e as encodeBase64 } from './authRelay-DhQhkBvX.mjs';
|
|
6
|
-
import { l as logger } from './logger-
|
|
6
|
+
import { l as logger } from './logger-D2qd0mMg.mjs';
|
|
7
7
|
|
|
8
8
|
const HIBERNATION_CAPABILITY = "agent-hibernation-v1";
|
|
9
9
|
const HOUR_MS = 60 * 60 * 1e3;
|
|
@@ -2,10 +2,10 @@
|
|
|
2
2
|
|
|
3
3
|
var promises = require('node:fs/promises');
|
|
4
4
|
var node_fs = require('node:fs');
|
|
5
|
-
var configuration = require('./configuration-
|
|
5
|
+
var configuration = require('./configuration-C9Sx-Foo.cjs');
|
|
6
6
|
var z = require('zod');
|
|
7
7
|
var authRelay = require('./authRelay-Dy1qU9td.cjs');
|
|
8
|
-
var logger = require('./logger-
|
|
8
|
+
var logger = require('./logger-CrtT0opS.cjs');
|
|
9
9
|
|
|
10
10
|
function _interopNamespaceDefault(e) {
|
|
11
11
|
var n = Object.create(null);
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { s as sanitizeAgentSessionId, n as normalizeAcpPermissionMode } from './acpSessionResume-
|
|
1
|
+
import { s as sanitizeAgentSessionId, n as normalizeAcpPermissionMode } from './acpSessionResume-Dz1myMbR.mjs';
|
|
2
2
|
|
|
3
3
|
function sanitizeSpawnModel(value) {
|
|
4
4
|
if (typeof value !== "string") return null;
|
|
@@ -3,8 +3,8 @@
|
|
|
3
3
|
var promises = require('node:fs/promises');
|
|
4
4
|
var node_crypto = require('node:crypto');
|
|
5
5
|
var path = require('node:path');
|
|
6
|
-
var configuration = require('./configuration-
|
|
7
|
-
var resources = require('./resources-
|
|
6
|
+
var configuration = require('./configuration-C9Sx-Foo.cjs');
|
|
7
|
+
var resources = require('./resources-CqwHPhdK.cjs');
|
|
8
8
|
|
|
9
9
|
async function publish(path, content, mode) {
|
|
10
10
|
const temporary = `${path}.${node_crypto.randomUUID()}.new`;
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { mkdir, chmod, writeFile, rename } from 'node:fs/promises';
|
|
2
2
|
import { randomUUID } from 'node:crypto';
|
|
3
3
|
import { join } from 'node:path';
|
|
4
|
-
import { c as configuration } from './configuration-
|
|
5
|
-
import { P as PI_TEAMS_EXTENSION } from './resources-
|
|
4
|
+
import { c as configuration } from './configuration-CVgUe2qN.mjs';
|
|
5
|
+
import { P as PI_TEAMS_EXTENSION } from './resources-CLdQfe3b.mjs';
|
|
6
6
|
|
|
7
7
|
async function publish(path, content, mode) {
|
|
8
8
|
const temporary = `${path}.${randomUUID()}.new`;
|
|
@@ -3,15 +3,15 @@ import { randomUUID } from 'node:crypto';
|
|
|
3
3
|
import { createServer } from 'node:http';
|
|
4
4
|
import { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js';
|
|
5
5
|
import { StreamableHTTPServerTransport } from '@modelcontextprotocol/sdk/server/streamableHttp.js';
|
|
6
|
-
import { p as preparePiTeamsRuntime } from './piRuntime-
|
|
7
|
-
import { registerMcpTools, registerTerminalTitleSuggest } from './mcp-
|
|
6
|
+
import { p as preparePiTeamsRuntime } from './piRuntime-K6o4GPZ9.mjs';
|
|
7
|
+
import { registerMcpTools, registerTerminalTitleSuggest } from './mcp-ColtiH23.mjs';
|
|
8
8
|
import './agentGuidance-BDYt2Qy2.mjs';
|
|
9
9
|
import 'node:fs/promises';
|
|
10
10
|
import 'node:os';
|
|
11
11
|
import 'zod';
|
|
12
|
-
import './logger-
|
|
13
|
-
import './persistence-
|
|
14
|
-
import './configuration-
|
|
12
|
+
import './logger-D2qd0mMg.mjs';
|
|
13
|
+
import './persistence-DFtgQvr6.mjs';
|
|
14
|
+
import './configuration-CVgUe2qN.mjs';
|
|
15
15
|
import 'axios';
|
|
16
16
|
import 'tweetnacl';
|
|
17
17
|
import 'socket.io-client';
|
|
@@ -19,27 +19,27 @@ import './terminals-Dlg0x3nY.mjs';
|
|
|
19
19
|
import 'node:fs';
|
|
20
20
|
import 'node:path';
|
|
21
21
|
import { r as resolveMcpTerminalId } from './terminalToolContext-CFeGeaNm.mjs';
|
|
22
|
-
import './resources-
|
|
23
|
-
import './tools-
|
|
24
|
-
import './client-
|
|
22
|
+
import './resources-CLdQfe3b.mjs';
|
|
23
|
+
import './tools-DHvMVL0a.mjs';
|
|
24
|
+
import './client-DwlYk8uJ.mjs';
|
|
25
25
|
import 'node:util';
|
|
26
|
-
import './index-
|
|
26
|
+
import './index-DisBaRvM.mjs';
|
|
27
27
|
import '@paralleldrive/cuid2';
|
|
28
|
-
import './context-
|
|
28
|
+
import './context-CDPfhHTo.mjs';
|
|
29
29
|
import '@modelcontextprotocol/sdk/server/stdio.js';
|
|
30
|
-
import './controlClient-
|
|
30
|
+
import './controlClient-DMCxtwq2.mjs';
|
|
31
31
|
import './limits-DIo7rEBR.mjs';
|
|
32
|
-
import './downloadTarget-
|
|
33
|
-
import './sessionOps-
|
|
32
|
+
import './downloadTarget-CNtQ8rhV.mjs';
|
|
33
|
+
import './sessionOps-Di9MC0FP.mjs';
|
|
34
34
|
import './authRelay-DhQhkBvX.mjs';
|
|
35
|
-
import './time-
|
|
35
|
+
import './time-Du0scQeJ.mjs';
|
|
36
36
|
import './backgroundTaskActivity-8PdPxrvy.mjs';
|
|
37
|
-
import './remoteSessionClient-
|
|
37
|
+
import './remoteSessionClient-1nycIdrG.mjs';
|
|
38
38
|
import './ids-DU6sLx4C.mjs';
|
|
39
|
-
import './bootstrap-
|
|
39
|
+
import './bootstrap-CodyCmGt.mjs';
|
|
40
40
|
import './previewPath-CXN4Vag0.mjs';
|
|
41
41
|
import './terminalTitleSuggest-CeKsX_V6.mjs';
|
|
42
|
-
import './titleGenerator-
|
|
42
|
+
import './titleGenerator-DKYj8rLY.mjs';
|
|
43
43
|
import 'node:module';
|
|
44
44
|
import './oneShotPrompts-DT4p6RNd.mjs';
|
|
45
45
|
import './projectPath-BTBIMB57.mjs';
|
|
@@ -47,7 +47,7 @@ import 'path';
|
|
|
47
47
|
import 'url';
|
|
48
48
|
import './trimIdent-BAjmv_TG.mjs';
|
|
49
49
|
import 'chalk';
|
|
50
|
-
import './package-
|
|
50
|
+
import './package-Ek5FOyEo.mjs';
|
|
51
51
|
import './tmuxSocket-B8Yx20sT.mjs';
|
|
52
52
|
|
|
53
53
|
async function startPiTerminalTools(terminalId) {
|
|
@@ -5,15 +5,15 @@ var node_crypto = require('node:crypto');
|
|
|
5
5
|
var node_http = require('node:http');
|
|
6
6
|
var mcp_js = require('@modelcontextprotocol/sdk/server/mcp.js');
|
|
7
7
|
var streamableHttp_js = require('@modelcontextprotocol/sdk/server/streamableHttp.js');
|
|
8
|
-
var piRuntime = require('./piRuntime-
|
|
9
|
-
var mcp = require('./mcp-
|
|
8
|
+
var piRuntime = require('./piRuntime-C_nX977w.cjs');
|
|
9
|
+
var mcp = require('./mcp-C18unjs1.cjs');
|
|
10
10
|
require('./agentGuidance-BtBx2xxE.cjs');
|
|
11
11
|
require('node:fs/promises');
|
|
12
12
|
require('node:os');
|
|
13
13
|
require('zod');
|
|
14
|
-
require('./logger-
|
|
15
|
-
require('./persistence-
|
|
16
|
-
require('./configuration-
|
|
14
|
+
require('./logger-CrtT0opS.cjs');
|
|
15
|
+
require('./persistence-IYH6bAXY.cjs');
|
|
16
|
+
require('./configuration-C9Sx-Foo.cjs');
|
|
17
17
|
require('axios');
|
|
18
18
|
require('tweetnacl');
|
|
19
19
|
require('socket.io-client');
|
|
@@ -21,27 +21,27 @@ require('./terminals-B_bfC9c2.cjs');
|
|
|
21
21
|
require('node:fs');
|
|
22
22
|
require('node:path');
|
|
23
23
|
var terminalToolContext = require('./terminalToolContext-DoV9Gs7K.cjs');
|
|
24
|
-
require('./resources-
|
|
25
|
-
require('./tools-
|
|
26
|
-
require('./client-
|
|
24
|
+
require('./resources-CqwHPhdK.cjs');
|
|
25
|
+
require('./tools-DK_x86Kl.cjs');
|
|
26
|
+
require('./client-ByZFACEw.cjs');
|
|
27
27
|
require('node:util');
|
|
28
|
-
require('./index-
|
|
28
|
+
require('./index-Ub-5xbcU.cjs');
|
|
29
29
|
require('@paralleldrive/cuid2');
|
|
30
|
-
require('./context-
|
|
30
|
+
require('./context-Bf3BG7w8.cjs');
|
|
31
31
|
require('@modelcontextprotocol/sdk/server/stdio.js');
|
|
32
|
-
require('./controlClient-
|
|
32
|
+
require('./controlClient-BLO1_pPx.cjs');
|
|
33
33
|
require('./limits-C-a7gr04.cjs');
|
|
34
|
-
require('./downloadTarget-
|
|
35
|
-
require('./sessionOps-
|
|
34
|
+
require('./downloadTarget-Di5bf7r0.cjs');
|
|
35
|
+
require('./sessionOps-hRqzcMXB.cjs');
|
|
36
36
|
require('./authRelay-Dy1qU9td.cjs');
|
|
37
|
-
require('./time-
|
|
37
|
+
require('./time-D-8GFCE7.cjs');
|
|
38
38
|
require('./backgroundTaskActivity-CBvUdj39.cjs');
|
|
39
|
-
require('./remoteSessionClient-
|
|
39
|
+
require('./remoteSessionClient-CuAkp19e.cjs');
|
|
40
40
|
require('./ids-B6ZC0HGt.cjs');
|
|
41
|
-
require('./bootstrap-
|
|
41
|
+
require('./bootstrap-BPz1iX77.cjs');
|
|
42
42
|
require('./previewPath-B0rBdhy1.cjs');
|
|
43
43
|
require('./terminalTitleSuggest-DhvRFX3H.cjs');
|
|
44
|
-
require('./titleGenerator-
|
|
44
|
+
require('./titleGenerator-DnKygjBP.cjs');
|
|
45
45
|
require('node:module');
|
|
46
46
|
require('./oneShotPrompts-CL0dip9C.cjs');
|
|
47
47
|
require('./projectPath-C3ioB4Bu.cjs');
|
|
@@ -49,7 +49,7 @@ require('path');
|
|
|
49
49
|
require('url');
|
|
50
50
|
require('./trimIdent-4gvk9Wk6.cjs');
|
|
51
51
|
require('chalk');
|
|
52
|
-
require('./package-
|
|
52
|
+
require('./package-DczR1k0c.cjs');
|
|
53
53
|
require('./tmuxSocket-D-Xt6Vn-.cjs');
|
|
54
54
|
|
|
55
55
|
async function startPiTerminalTools(terminalId) {
|
|
@@ -0,0 +1,140 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var node_fs = require('node:fs');
|
|
4
|
+
var os = require('node:os');
|
|
5
|
+
var path = require('node:path');
|
|
6
|
+
|
|
7
|
+
const PROVIDER_STRIPPED_ENV_KEYS = [
|
|
8
|
+
"ANTHROPIC_API_KEY",
|
|
9
|
+
"CLAUDE_CODE_OAUTH_TOKEN",
|
|
10
|
+
"CLAUDE_CODE_OAUTH_REFRESH_TOKEN",
|
|
11
|
+
"CLAUDE_CODE_OAUTH_SCOPES",
|
|
12
|
+
"CLAUDE_CODE_USE_BEDROCK",
|
|
13
|
+
"CLAUDE_CODE_USE_VERTEX",
|
|
14
|
+
"ANTHROPIC_CUSTOM_HEADERS",
|
|
15
|
+
"ANTHROPIC_SMALL_FAST_MODEL",
|
|
16
|
+
"CLAUDE_CODE_MAX_CONTEXT_TOKENS"
|
|
17
|
+
];
|
|
18
|
+
function providersPath(happyHomeDir) {
|
|
19
|
+
return path.join(happyHomeDir, "providers.json");
|
|
20
|
+
}
|
|
21
|
+
function sessionProvidersPath(happyHomeDir) {
|
|
22
|
+
return path.join(happyHomeDir, "session-providers.json");
|
|
23
|
+
}
|
|
24
|
+
function expandHome(path$1, home = os.homedir()) {
|
|
25
|
+
return path$1 === "~" ? home : path$1.startsWith("~/") ? path.join(home, path$1.slice(2)) : path$1;
|
|
26
|
+
}
|
|
27
|
+
function readJson(path) {
|
|
28
|
+
if (!node_fs.existsSync(path)) return void 0;
|
|
29
|
+
return JSON.parse(node_fs.readFileSync(path, "utf8"));
|
|
30
|
+
}
|
|
31
|
+
function parseProvidersFile(raw) {
|
|
32
|
+
const profiles = {};
|
|
33
|
+
const src = raw && typeof raw === "object" ? raw.profiles : void 0;
|
|
34
|
+
if (src && typeof src === "object") {
|
|
35
|
+
for (const [id, p] of Object.entries(src)) {
|
|
36
|
+
if (!p || typeof p !== "object") continue;
|
|
37
|
+
const { name, baseUrl, apiKeyFile, models } = p;
|
|
38
|
+
if (typeof baseUrl !== "string" || !/^https?:\/\//.test(baseUrl) || typeof apiKeyFile !== "string" || !apiKeyFile) continue;
|
|
39
|
+
const ids = [];
|
|
40
|
+
const contextWindows = {};
|
|
41
|
+
for (const m of Array.isArray(models) ? models : []) {
|
|
42
|
+
if (typeof m === "string") ids.push(m);
|
|
43
|
+
else if (m && typeof m === "object" && typeof m.id === "string") {
|
|
44
|
+
const { id: modelId, contextWindow } = m;
|
|
45
|
+
ids.push(modelId);
|
|
46
|
+
if (typeof contextWindow === "number" && Number.isInteger(contextWindow) && contextWindow > 0) contextWindows[modelId] = contextWindow;
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
profiles[id] = {
|
|
50
|
+
...typeof name === "string" ? { name } : {},
|
|
51
|
+
baseUrl: baseUrl.replace(/\/+$/, ""),
|
|
52
|
+
apiKeyFile,
|
|
53
|
+
...Array.isArray(models) ? { models: ids } : {},
|
|
54
|
+
...Object.keys(contextWindows).length > 0 ? { contextWindows } : {}
|
|
55
|
+
};
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
return { profiles };
|
|
59
|
+
}
|
|
60
|
+
function parseSessionProvidersFile(raw) {
|
|
61
|
+
const out = {};
|
|
62
|
+
if (!raw || typeof raw !== "object") return out;
|
|
63
|
+
for (const [sessionId, b] of Object.entries(raw)) {
|
|
64
|
+
if (!b || typeof b !== "object") continue;
|
|
65
|
+
const { profile, model } = b;
|
|
66
|
+
if (typeof profile === "string" && profile && typeof model === "string" && model) out[sessionId] = { profile, model };
|
|
67
|
+
}
|
|
68
|
+
return out;
|
|
69
|
+
}
|
|
70
|
+
function readProviders(happyHomeDir) {
|
|
71
|
+
return parseProvidersFile(readJson(providersPath(happyHomeDir)));
|
|
72
|
+
}
|
|
73
|
+
function readSessionProviders(happyHomeDir) {
|
|
74
|
+
return parseSessionProvidersFile(readJson(sessionProvidersPath(happyHomeDir)));
|
|
75
|
+
}
|
|
76
|
+
function buildProviderEnv(profile, model, token) {
|
|
77
|
+
const contextWindow = profile.contextWindows?.[model];
|
|
78
|
+
return {
|
|
79
|
+
ANTHROPIC_BASE_URL: profile.baseUrl,
|
|
80
|
+
ANTHROPIC_AUTH_TOKEN: token,
|
|
81
|
+
ANTHROPIC_MODEL: model,
|
|
82
|
+
ANTHROPIC_DEFAULT_OPUS_MODEL: model,
|
|
83
|
+
ANTHROPIC_DEFAULT_SONNET_MODEL: model,
|
|
84
|
+
ANTHROPIC_DEFAULT_HAIKU_MODEL: model,
|
|
85
|
+
ANTHROPIC_SMALL_FAST_MODEL: model,
|
|
86
|
+
CLAUDE_CODE_SUBAGENT_MODEL: model,
|
|
87
|
+
CLAUDE_CODE_NO_MODEL_FALLBACK: "1",
|
|
88
|
+
...contextWindow ? { CLAUDE_CODE_MAX_CONTEXT_TOKENS: String(contextWindow) } : {}
|
|
89
|
+
};
|
|
90
|
+
}
|
|
91
|
+
function resolveSessionProvider(sessionId, deps) {
|
|
92
|
+
const binding = deps.bindings[sessionId];
|
|
93
|
+
if (!binding) return null;
|
|
94
|
+
const profile = deps.providers.profiles[binding.profile];
|
|
95
|
+
if (!profile) throw new Error(`provider profile "${binding.profile}" is not defined in providers.json`);
|
|
96
|
+
const token = deps.readKey(profile.apiKeyFile).trim();
|
|
97
|
+
if (!token) throw new Error(`provider profile "${binding.profile}": api key file is empty`);
|
|
98
|
+
return {
|
|
99
|
+
profile: binding.profile,
|
|
100
|
+
model: binding.model,
|
|
101
|
+
baseUrl: profile.baseUrl,
|
|
102
|
+
env: buildProviderEnv(profile, binding.model, token),
|
|
103
|
+
unset: PROVIDER_STRIPPED_ENV_KEYS
|
|
104
|
+
};
|
|
105
|
+
}
|
|
106
|
+
function loadSessionProvider(happyHomeDir, sessionId) {
|
|
107
|
+
const bindings = readSessionProviders(happyHomeDir);
|
|
108
|
+
if (!bindings[sessionId]) return null;
|
|
109
|
+
return resolveSessionProvider(sessionId, {
|
|
110
|
+
providers: readProviders(happyHomeDir),
|
|
111
|
+
bindings,
|
|
112
|
+
readKey: (p) => node_fs.readFileSync(expandHome(p), "utf8")
|
|
113
|
+
});
|
|
114
|
+
}
|
|
115
|
+
function applyProviderEnv(env, provider) {
|
|
116
|
+
for (const key of provider.unset) delete env[key];
|
|
117
|
+
Object.assign(env, provider.env);
|
|
118
|
+
}
|
|
119
|
+
function updateBindings(current, sessionId, binding) {
|
|
120
|
+
const next = { ...current };
|
|
121
|
+
if (binding) next[sessionId] = binding;
|
|
122
|
+
else delete next[sessionId];
|
|
123
|
+
return next;
|
|
124
|
+
}
|
|
125
|
+
function writeSessionProviders(happyHomeDir, bindings) {
|
|
126
|
+
const path$1 = sessionProvidersPath(happyHomeDir);
|
|
127
|
+
node_fs.mkdirSync(path.dirname(path$1), { recursive: true });
|
|
128
|
+
const tmp = `${path$1}.${process.pid}.tmp`;
|
|
129
|
+
node_fs.writeFileSync(tmp, JSON.stringify(bindings, null, 2) + "\n", { mode: 384 });
|
|
130
|
+
node_fs.chmodSync(tmp, 384);
|
|
131
|
+
node_fs.renameSync(tmp, path$1);
|
|
132
|
+
}
|
|
133
|
+
|
|
134
|
+
exports.applyProviderEnv = applyProviderEnv;
|
|
135
|
+
exports.loadSessionProvider = loadSessionProvider;
|
|
136
|
+
exports.readProviders = readProviders;
|
|
137
|
+
exports.readSessionProviders = readSessionProviders;
|
|
138
|
+
exports.sessionProvidersPath = sessionProvidersPath;
|
|
139
|
+
exports.updateBindings = updateBindings;
|
|
140
|
+
exports.writeSessionProviders = writeSessionProviders;
|
|
@@ -0,0 +1,132 @@
|
|
|
1
|
+
import { mkdirSync, writeFileSync, chmodSync, renameSync, existsSync, readFileSync } from 'node:fs';
|
|
2
|
+
import { homedir } from 'node:os';
|
|
3
|
+
import { dirname, join } from 'node:path';
|
|
4
|
+
|
|
5
|
+
const PROVIDER_STRIPPED_ENV_KEYS = [
|
|
6
|
+
"ANTHROPIC_API_KEY",
|
|
7
|
+
"CLAUDE_CODE_OAUTH_TOKEN",
|
|
8
|
+
"CLAUDE_CODE_OAUTH_REFRESH_TOKEN",
|
|
9
|
+
"CLAUDE_CODE_OAUTH_SCOPES",
|
|
10
|
+
"CLAUDE_CODE_USE_BEDROCK",
|
|
11
|
+
"CLAUDE_CODE_USE_VERTEX",
|
|
12
|
+
"ANTHROPIC_CUSTOM_HEADERS",
|
|
13
|
+
"ANTHROPIC_SMALL_FAST_MODEL",
|
|
14
|
+
"CLAUDE_CODE_MAX_CONTEXT_TOKENS"
|
|
15
|
+
];
|
|
16
|
+
function providersPath(happyHomeDir) {
|
|
17
|
+
return join(happyHomeDir, "providers.json");
|
|
18
|
+
}
|
|
19
|
+
function sessionProvidersPath(happyHomeDir) {
|
|
20
|
+
return join(happyHomeDir, "session-providers.json");
|
|
21
|
+
}
|
|
22
|
+
function expandHome(path, home = homedir()) {
|
|
23
|
+
return path === "~" ? home : path.startsWith("~/") ? join(home, path.slice(2)) : path;
|
|
24
|
+
}
|
|
25
|
+
function readJson(path) {
|
|
26
|
+
if (!existsSync(path)) return void 0;
|
|
27
|
+
return JSON.parse(readFileSync(path, "utf8"));
|
|
28
|
+
}
|
|
29
|
+
function parseProvidersFile(raw) {
|
|
30
|
+
const profiles = {};
|
|
31
|
+
const src = raw && typeof raw === "object" ? raw.profiles : void 0;
|
|
32
|
+
if (src && typeof src === "object") {
|
|
33
|
+
for (const [id, p] of Object.entries(src)) {
|
|
34
|
+
if (!p || typeof p !== "object") continue;
|
|
35
|
+
const { name, baseUrl, apiKeyFile, models } = p;
|
|
36
|
+
if (typeof baseUrl !== "string" || !/^https?:\/\//.test(baseUrl) || typeof apiKeyFile !== "string" || !apiKeyFile) continue;
|
|
37
|
+
const ids = [];
|
|
38
|
+
const contextWindows = {};
|
|
39
|
+
for (const m of Array.isArray(models) ? models : []) {
|
|
40
|
+
if (typeof m === "string") ids.push(m);
|
|
41
|
+
else if (m && typeof m === "object" && typeof m.id === "string") {
|
|
42
|
+
const { id: modelId, contextWindow } = m;
|
|
43
|
+
ids.push(modelId);
|
|
44
|
+
if (typeof contextWindow === "number" && Number.isInteger(contextWindow) && contextWindow > 0) contextWindows[modelId] = contextWindow;
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
profiles[id] = {
|
|
48
|
+
...typeof name === "string" ? { name } : {},
|
|
49
|
+
baseUrl: baseUrl.replace(/\/+$/, ""),
|
|
50
|
+
apiKeyFile,
|
|
51
|
+
...Array.isArray(models) ? { models: ids } : {},
|
|
52
|
+
...Object.keys(contextWindows).length > 0 ? { contextWindows } : {}
|
|
53
|
+
};
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
return { profiles };
|
|
57
|
+
}
|
|
58
|
+
function parseSessionProvidersFile(raw) {
|
|
59
|
+
const out = {};
|
|
60
|
+
if (!raw || typeof raw !== "object") return out;
|
|
61
|
+
for (const [sessionId, b] of Object.entries(raw)) {
|
|
62
|
+
if (!b || typeof b !== "object") continue;
|
|
63
|
+
const { profile, model } = b;
|
|
64
|
+
if (typeof profile === "string" && profile && typeof model === "string" && model) out[sessionId] = { profile, model };
|
|
65
|
+
}
|
|
66
|
+
return out;
|
|
67
|
+
}
|
|
68
|
+
function readProviders(happyHomeDir) {
|
|
69
|
+
return parseProvidersFile(readJson(providersPath(happyHomeDir)));
|
|
70
|
+
}
|
|
71
|
+
function readSessionProviders(happyHomeDir) {
|
|
72
|
+
return parseSessionProvidersFile(readJson(sessionProvidersPath(happyHomeDir)));
|
|
73
|
+
}
|
|
74
|
+
function buildProviderEnv(profile, model, token) {
|
|
75
|
+
const contextWindow = profile.contextWindows?.[model];
|
|
76
|
+
return {
|
|
77
|
+
ANTHROPIC_BASE_URL: profile.baseUrl,
|
|
78
|
+
ANTHROPIC_AUTH_TOKEN: token,
|
|
79
|
+
ANTHROPIC_MODEL: model,
|
|
80
|
+
ANTHROPIC_DEFAULT_OPUS_MODEL: model,
|
|
81
|
+
ANTHROPIC_DEFAULT_SONNET_MODEL: model,
|
|
82
|
+
ANTHROPIC_DEFAULT_HAIKU_MODEL: model,
|
|
83
|
+
ANTHROPIC_SMALL_FAST_MODEL: model,
|
|
84
|
+
CLAUDE_CODE_SUBAGENT_MODEL: model,
|
|
85
|
+
CLAUDE_CODE_NO_MODEL_FALLBACK: "1",
|
|
86
|
+
...contextWindow ? { CLAUDE_CODE_MAX_CONTEXT_TOKENS: String(contextWindow) } : {}
|
|
87
|
+
};
|
|
88
|
+
}
|
|
89
|
+
function resolveSessionProvider(sessionId, deps) {
|
|
90
|
+
const binding = deps.bindings[sessionId];
|
|
91
|
+
if (!binding) return null;
|
|
92
|
+
const profile = deps.providers.profiles[binding.profile];
|
|
93
|
+
if (!profile) throw new Error(`provider profile "${binding.profile}" is not defined in providers.json`);
|
|
94
|
+
const token = deps.readKey(profile.apiKeyFile).trim();
|
|
95
|
+
if (!token) throw new Error(`provider profile "${binding.profile}": api key file is empty`);
|
|
96
|
+
return {
|
|
97
|
+
profile: binding.profile,
|
|
98
|
+
model: binding.model,
|
|
99
|
+
baseUrl: profile.baseUrl,
|
|
100
|
+
env: buildProviderEnv(profile, binding.model, token),
|
|
101
|
+
unset: PROVIDER_STRIPPED_ENV_KEYS
|
|
102
|
+
};
|
|
103
|
+
}
|
|
104
|
+
function loadSessionProvider(happyHomeDir, sessionId) {
|
|
105
|
+
const bindings = readSessionProviders(happyHomeDir);
|
|
106
|
+
if (!bindings[sessionId]) return null;
|
|
107
|
+
return resolveSessionProvider(sessionId, {
|
|
108
|
+
providers: readProviders(happyHomeDir),
|
|
109
|
+
bindings,
|
|
110
|
+
readKey: (p) => readFileSync(expandHome(p), "utf8")
|
|
111
|
+
});
|
|
112
|
+
}
|
|
113
|
+
function applyProviderEnv(env, provider) {
|
|
114
|
+
for (const key of provider.unset) delete env[key];
|
|
115
|
+
Object.assign(env, provider.env);
|
|
116
|
+
}
|
|
117
|
+
function updateBindings(current, sessionId, binding) {
|
|
118
|
+
const next = { ...current };
|
|
119
|
+
if (binding) next[sessionId] = binding;
|
|
120
|
+
else delete next[sessionId];
|
|
121
|
+
return next;
|
|
122
|
+
}
|
|
123
|
+
function writeSessionProviders(happyHomeDir, bindings) {
|
|
124
|
+
const path = sessionProvidersPath(happyHomeDir);
|
|
125
|
+
mkdirSync(dirname(path), { recursive: true });
|
|
126
|
+
const tmp = `${path}.${process.pid}.tmp`;
|
|
127
|
+
writeFileSync(tmp, JSON.stringify(bindings, null, 2) + "\n", { mode: 384 });
|
|
128
|
+
chmodSync(tmp, 384);
|
|
129
|
+
renameSync(tmp, path);
|
|
130
|
+
}
|
|
131
|
+
|
|
132
|
+
export { applyProviderEnv as a, readProviders as b, loadSessionProvider as l, readSessionProviders as r, sessionProvidersPath as s, updateBindings as u, writeSessionProviders as w };
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
3
|
var z = require('zod');
|
|
4
|
-
var index = require('./index-
|
|
4
|
+
var index = require('./index-Ub-5xbcU.cjs');
|
|
5
5
|
var axios = require('axios');
|
|
6
|
-
var logger = require('./logger-
|
|
7
|
-
var configuration = require('./configuration-
|
|
6
|
+
var logger = require('./logger-CrtT0opS.cjs');
|
|
7
|
+
var configuration = require('./configuration-C9Sx-Foo.cjs');
|
|
8
8
|
var contentLogMetadata = require('./contentLogMetadata-ZSFk_NjQ.cjs');
|
|
9
9
|
|
|
10
10
|
z.z.object({
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { z } from 'zod';
|
|
2
|
-
import {
|
|
2
|
+
import { u as AgentVersionsSchema } from './index-DisBaRvM.mjs';
|
|
3
3
|
import axios from 'axios';
|
|
4
|
-
import { l as logger } from './logger-
|
|
5
|
-
import { c as configuration } from './configuration-
|
|
4
|
+
import { l as logger } from './logger-D2qd0mMg.mjs';
|
|
5
|
+
import { c as configuration } from './configuration-CVgUe2qN.mjs';
|
|
6
6
|
import { c as contentLogMetadata } from './contentLogMetadata-BlWI0egu.mjs';
|
|
7
7
|
|
|
8
8
|
z.object({
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { query as query$1 } from '@anthropic-ai/claude-agent-sdk';
|
|
2
2
|
import { p as pinSmallFastModel, e as ensureLocalProxyBypass } from './smallFastModel-BLNgMrwR.mjs';
|
|
3
|
-
import { l as logger } from './logger-
|
|
3
|
+
import { l as logger } from './logger-D2qd0mMg.mjs';
|
|
4
4
|
import { s as snapshotTree, k as killSurvivors } from './processTreeSnapshot-CuLJDNC-.mjs';
|
|
5
5
|
|
|
6
6
|
const HAPPY_DEFAULT_ENTRYPOINT = "remote_mobile";
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
var claudeAgentSdk = require('@anthropic-ai/claude-agent-sdk');
|
|
4
4
|
var smallFastModel = require('./smallFastModel-D_uxGMo3.cjs');
|
|
5
|
-
var logger = require('./logger-
|
|
5
|
+
var logger = require('./logger-CrtT0opS.cjs');
|
|
6
6
|
var processTreeSnapshot = require('./processTreeSnapshot-mDbnuojn.cjs');
|
|
7
7
|
|
|
8
8
|
const HAPPY_DEFAULT_ENTRYPOINT = "remote_mobile";
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var logger = require('./logger-
|
|
3
|
+
var logger = require('./logger-CrtT0opS.cjs');
|
|
4
4
|
var child_process = require('child_process');
|
|
5
5
|
var util = require('util');
|
|
6
6
|
var fs = require('fs/promises');
|
|
@@ -9,7 +9,7 @@ var require$$1 = require('path');
|
|
|
9
9
|
var spawn = require('cross-spawn');
|
|
10
10
|
var projectPath = require('./projectPath-C3ioB4Bu.cjs');
|
|
11
11
|
var os = require('os');
|
|
12
|
-
var configuration = require('./configuration-
|
|
12
|
+
var configuration = require('./configuration-C9Sx-Foo.cjs');
|
|
13
13
|
|
|
14
14
|
function run$1(args, options) {
|
|
15
15
|
const RUNNER_PATH = require$$1.resolve(require$$1.join(projectPath.projectPath(), "scripts", "ripgrep_launcher.cjs"));
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { l as logger } from './logger-
|
|
1
|
+
import { l as logger } from './logger-D2qd0mMg.mjs';
|
|
2
2
|
import { spawn as spawn$1, exec } from 'child_process';
|
|
3
3
|
import { promisify } from 'util';
|
|
4
4
|
import { mkdir, writeFile, appendFile, stat, rename, unlink, readdir, readFile } from 'fs/promises';
|
|
@@ -7,7 +7,7 @@ import { resolve, join, sep } from 'path';
|
|
|
7
7
|
import { spawn } from 'cross-spawn';
|
|
8
8
|
import { p as projectPath } from './projectPath-BTBIMB57.mjs';
|
|
9
9
|
import { platform } from 'os';
|
|
10
|
-
import { c as configuration } from './configuration-
|
|
10
|
+
import { c as configuration } from './configuration-CVgUe2qN.mjs';
|
|
11
11
|
|
|
12
12
|
function run$1(args, options) {
|
|
13
13
|
const RUNNER_PATH = resolve(join(projectPath(), "scripts", "ripgrep_launcher.cjs"));
|
package/dist/{registerKillSessionHandler-DiS_go8d.cjs → registerKillSessionHandler-CX49N52L.cjs}
RENAMED
|
@@ -1,19 +1,19 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var logger = require('./logger-
|
|
3
|
+
var logger = require('./logger-CrtT0opS.cjs');
|
|
4
4
|
require('axios');
|
|
5
5
|
require('node:events');
|
|
6
6
|
require('socket.io-client');
|
|
7
|
-
require('./pushNotifications-
|
|
7
|
+
require('./pushNotifications-BgQ_QTgS.cjs');
|
|
8
8
|
require('node:crypto');
|
|
9
9
|
require('tweetnacl');
|
|
10
|
-
require('./configuration-
|
|
11
|
-
require('./index-
|
|
12
|
-
require('./registerCommonHandlers-
|
|
10
|
+
require('./configuration-C9Sx-Foo.cjs');
|
|
11
|
+
require('./index-Ub-5xbcU.cjs');
|
|
12
|
+
require('./registerCommonHandlers-CRqKXwQt.cjs');
|
|
13
13
|
require('os');
|
|
14
14
|
require('child_process');
|
|
15
15
|
require('@paralleldrive/cuid2');
|
|
16
|
-
require('./persistence-
|
|
16
|
+
require('./persistence-IYH6bAXY.cjs');
|
|
17
17
|
require('chalk');
|
|
18
18
|
require('./types-CRS-srZK.cjs');
|
|
19
19
|
|
package/dist/{registerKillSessionHandler-O1iriOMO.mjs → registerKillSessionHandler-DGWADNla.mjs}
RENAMED
|
@@ -1,17 +1,17 @@
|
|
|
1
|
-
import { l as logger } from './logger-
|
|
1
|
+
import { l as logger } from './logger-D2qd0mMg.mjs';
|
|
2
2
|
import 'axios';
|
|
3
3
|
import 'node:events';
|
|
4
4
|
import 'socket.io-client';
|
|
5
|
-
import './pushNotifications-
|
|
5
|
+
import './pushNotifications-gVJWGFBP.mjs';
|
|
6
6
|
import 'node:crypto';
|
|
7
7
|
import 'tweetnacl';
|
|
8
|
-
import './configuration-
|
|
9
|
-
import './index-
|
|
10
|
-
import './registerCommonHandlers-
|
|
8
|
+
import './configuration-CVgUe2qN.mjs';
|
|
9
|
+
import './index-DisBaRvM.mjs';
|
|
10
|
+
import './registerCommonHandlers-CyAtDNvs.mjs';
|
|
11
11
|
import 'os';
|
|
12
12
|
import 'child_process';
|
|
13
13
|
import '@paralleldrive/cuid2';
|
|
14
|
-
import './persistence-
|
|
14
|
+
import './persistence-DFtgQvr6.mjs';
|
|
15
15
|
import 'chalk';
|
|
16
16
|
import './types-CkqAACXx.mjs';
|
|
17
17
|
|