very-happy-cli 0.2.165 → 0.2.166
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/README.md +1 -1
- package/dist/{AcpBackend-DCfNt9bD.cjs → AcpBackend-20VHOXwb.cjs} +3 -3
- package/dist/{AcpBackend-C11FnVw5.mjs → AcpBackend-tRWk7yi7.mjs} +3 -3
- package/dist/{AcpSessionManager-BQnDJvct.mjs → AcpSessionManager-B7FIrsys.mjs} +1 -1
- package/dist/{AcpSessionManager-9yN2iH4b.cjs → AcpSessionManager-Zf00QnlL.cjs} +1 -1
- package/dist/{BasePermissionHandler-CwJ48yiB.mjs → BasePermissionHandler-CDCLIrZJ.mjs} +1 -1
- package/dist/{BasePermissionHandler-BwQHxl6M.cjs → BasePermissionHandler-COKc4pmt.cjs} +1 -1
- package/dist/{BaseReasoningProcessor-ClF2g1qz.mjs → BaseReasoningProcessor-BDVKvooR.mjs} +1 -1
- package/dist/{BaseReasoningProcessor-81lf_M8G.cjs → BaseReasoningProcessor-DAGQdkNp.cjs} +1 -1
- package/dist/{agentGuidance-CQuNlNx8.mjs → agentGuidance-BDYt2Qy2.mjs} +4 -2
- package/dist/{agentGuidance-B5NATuFa.cjs → agentGuidance-BtBx2xxE.cjs} +4 -1
- package/dist/{agentHome-DvR176E5.mjs → agentHome-2IbIjKCa.mjs} +4 -4
- package/dist/{agentHome-D3Nn82kI.cjs → agentHome-KVWj6nCl.cjs} +4 -4
- package/dist/{api-DTVPUE7g.mjs → api-Cmz3XS4P.mjs} +14 -12
- package/dist/{api-AzdzTKFs.cjs → api-DnNL5fLw.cjs} +14 -12
- package/dist/{apiMachine-BQ-b4Lu3.mjs → apiMachine-B6ySCFe0.mjs} +2137 -65
- package/dist/{apiMachine-B_cJldfa.cjs → apiMachine-DeoQ8QbZ.cjs} +2134 -62
- package/dist/{attachmentContent-dzIs-wis.mjs → attachmentContent-CTXapi-_.mjs} +2 -2
- package/dist/{attachmentContent-muDCe4Gy.cjs → attachmentContent-DPWxHgX4.cjs} +2 -2
- package/dist/{attachmentLimits-eJZ4ZBjF.cjs → attachmentLimits-BfgKV5iE.cjs} +28 -2
- package/dist/{attachmentLimits-B8nzhw-i.mjs → attachmentLimits-C1PCCM79.mjs} +28 -2
- package/dist/{auth-Jtmvh1w4.mjs → auth-BMaBjRAj.mjs} +8 -8
- package/dist/{auth-DtP-B4gf.cjs → auth-D4-eQz85.cjs} +8 -8
- package/dist/{auth-CfLd3phE.cjs → auth-ietHtvwu.cjs} +5 -5
- package/dist/{auth-BY5ujhGn.mjs → auth-pzWIFdOD.mjs} +5 -5
- package/dist/{auto-DjWfR1UB.mjs → auto-DL75Dx3I.mjs} +83 -21
- package/dist/{auto-ClNnbSoF.cjs → auto-DOWTQDPa.cjs} +84 -20
- package/dist/{bootstrap-B1dMZA-u.cjs → bootstrap-BpXIc2wn.cjs} +2 -2
- package/dist/{bootstrap-D_ExGrY2.mjs → bootstrap-XE8A7Ut2.mjs} +2 -2
- package/dist/{browser-_gV7tcPs.cjs → browser-CcG8GLRV.cjs} +1 -1
- package/dist/{browser-mwzpOmcw.mjs → browser-DDFi1T8C.mjs} +1 -1
- package/dist/{claudeLocal-G5UmJ81F.cjs → claudeLocal-DXBXwIOG.cjs} +6 -6
- package/dist/{claudeLocal-BeHToEK5.mjs → claudeLocal-DmM5Oyhv.mjs} +6 -6
- package/dist/{claudeLocalLauncher-B4y2BsmO.cjs → claudeLocalLauncher-C41Y6Kp4.cjs} +14 -11
- package/dist/{claudeLocalLauncher-Cq6bqAT4.mjs → claudeLocalLauncher-Cs4eUC3P.mjs} +14 -11
- package/dist/{claudeSessionFork-CokUhS4r.mjs → claudeSessionFork-BdLnc2Hv.mjs} +1 -1
- package/dist/{claudeSessionFork-CDJq_b9r.cjs → claudeSessionFork-Cs0I3eGI.cjs} +1 -1
- package/dist/{client-BwaWdlCm.mjs → client-CbK33y_s.mjs} +3 -3
- package/dist/{client-uN9d6Git.cjs → client-DJ0kX_8M.cjs} +2 -2
- package/dist/{client-CJZKBZCE.mjs → client-GjTnsq6F.mjs} +2 -2
- package/dist/{client-Do7cGPEq.cjs → client-JISJx2f-.cjs} +3 -3
- package/dist/codex/happyMcpStdioBridge.cjs +23 -18
- package/dist/codex/happyMcpStdioBridge.mjs +22 -17
- package/dist/{codexAppServerClient-BuSdeUxT.cjs → codexAppServerClient-BTjn2ZCZ.cjs} +46 -2
- package/dist/{codexAppServerClient-B0QaMQsC.mjs → codexAppServerClient-CldXEojt.mjs} +47 -3
- package/dist/{codexCommand-YdYmykAR.cjs → codexCommand-BpD0N1F7.cjs} +71 -51
- package/dist/{codexCommand-C3gdjMAw.mjs → codexCommand-DjMU-Ijf.mjs} +71 -51
- package/dist/{config-CGCIFRCN.mjs → config-DjSJKatx.mjs} +3 -3
- package/dist/{config-ChoHFnfO.cjs → config-DuLL0Ppe.cjs} +3 -3
- package/dist/{configuration-BE61XNsg.cjs → configuration-B0cb3xA3.cjs} +1 -1
- package/dist/{configuration-L1qcGTFM.mjs → configuration-D2v3puap.mjs} +1 -1
- package/dist/{connect-D5IKfcfd.cjs → connect-B7JWEzyg.cjs} +13 -13
- package/dist/{connect-CFD0Em6a.mjs → connect-CnNNyM9I.mjs} +13 -13
- package/dist/{context-3WVw8qPz.cjs → context-BFUpYT39.cjs} +1 -1
- package/dist/{context-DaCCB4cm.mjs → context-DjfqLWzE.mjs} +1 -1
- package/dist/{controlClient-Ci7HTMII.mjs → controlClient-BMUJfUeF.mjs} +13 -6
- package/dist/{controlClient-RWTlQA4_.cjs → controlClient-CmnHGcyl.cjs} +13 -5
- package/dist/{createSessionMetadata-CWR-AB2A.mjs → createSessionMetadata-DU0bCg2m.mjs} +2 -2
- package/dist/{createSessionMetadata-CPGTztXP.cjs → createSessionMetadata-DbfRBhRu.cjs} +2 -2
- package/dist/{deterministicJson-BBwG-Ase.mjs → deterministicJson-D-WPUrZb.mjs} +36 -52
- package/dist/{deterministicJson-C4Jo2RWy.cjs → deterministicJson-Dp3TVyap.cjs} +41 -59
- package/dist/{doctor-CAC6qY9Z.mjs → doctor-BlXXyQ1L.mjs} +6 -6
- package/dist/{doctor-ZOQLE5AH.cjs → doctor-CkJmdPbi.cjs} +6 -6
- package/dist/{assistantTools-BsrG3PD-.cjs → downloadTarget-CiQqRIc-.cjs} +44 -6
- package/dist/{assistantTools-DPGga5lM.mjs → downloadTarget-DjSwMHun.mjs} +45 -8
- package/dist/{ensureDaemonRunning-b1pvEFcS.mjs → ensureDaemonRunning-CAQag1zE.mjs} +5 -5
- package/dist/{ensureDaemonRunning-mIgX2vnc.cjs → ensureDaemonRunning-C_aIOhgG.cjs} +5 -5
- package/dist/{handleResumeCommand-DGNhbv-3.cjs → handleResumeCommand-6KzBGDnl.cjs} +5 -5
- package/dist/{handleResumeCommand-CTGbZkCL.mjs → handleResumeCommand-Ci7wacT-.mjs} +5 -5
- package/dist/{index-vVWpCoTr.mjs → index-B0HEEYGh.mjs} +22 -5
- package/dist/{index-DqlyNgt4.cjs → index-C9hI8a10.cjs} +26 -4
- package/dist/{index-BzIxE0Eu.cjs → index-CaFCAlX8.cjs} +3 -3
- package/dist/{index-DrSPR59N.cjs → index-DBmNwMX9.cjs} +39 -38
- package/dist/{index-DIodyAqF.cjs → index-DEKIgZUo.cjs} +4 -4
- package/dist/{index-Diu6HdWH.mjs → index-DQplgo0W.mjs} +4 -4
- package/dist/{index-BgzjPv07.mjs → index-HQsigW_J.mjs} +3 -3
- package/dist/{index-DjtBengz.mjs → index-WGCT6SSV.mjs} +40 -39
- package/dist/index.cjs +2 -2
- package/dist/index.mjs +2 -2
- package/dist/{install-BO_W7VhL.mjs → install-BdvKiOQw.mjs} +2 -0
- package/dist/{install-DrUQk2DJ.cjs → install-CejEiRGW.cjs} +3 -3
- package/dist/{install-Cs5qAPrB.cjs → install-Cf6AFSWC.cjs} +2 -0
- package/dist/{install-Cp_aB-NQ.mjs → install-oJUvsFu9.mjs} +3 -3
- package/dist/lib.cjs +12 -12
- package/dist/lib.d.cts +55 -2
- package/dist/lib.d.mts +55 -2
- package/dist/lib.mjs +12 -12
- package/dist/{lidState-BLHLmhwd.mjs → lidState-BfximpjX.mjs} +1 -1
- package/dist/{lidState-z9ekRpZu.cjs → lidState-D8BmnJV1.cjs} +1 -1
- package/dist/{localHappyAgentAuth-BWvmc_Hg.mjs → localHappyAgentAuth-Ct1aXwqd.mjs} +1 -1
- package/dist/{localHappyAgentAuth-BCx0y1qW.cjs → localHappyAgentAuth-d7B6S_o7.cjs} +1 -1
- package/dist/{logger-CknSVkIe.mjs → logger-BpQcwNnt.mjs} +2 -2
- package/dist/{logger-D0hkk7Vo.cjs → logger-JTcJU-uL.cjs} +2 -2
- package/dist/{machineMetadata-BDCYOXQg.cjs → machineMetadata-BBg_Njw3.cjs} +3 -3
- package/dist/{machineMetadata-Cj1DoFot.mjs → machineMetadata-CBdxABeI.mjs} +3 -3
- package/dist/{main-CKUfkVG_.mjs → main-B5b1gA3K.mjs} +44 -44
- package/dist/{main-COAPGIso.cjs → main-C16fOGgn.cjs} +44 -44
- package/dist/{mcp-BILnw4si.cjs → mcp-BnNiBBax.cjs} +24 -19
- package/dist/{mcp-DeYUfpo8.mjs → mcp-DGNWgVdv.mjs} +23 -18
- package/dist/{mirrorProtocol-BUtmg1ws.cjs → mirrorProtocol-BEGk2--0.cjs} +80 -0
- package/dist/{mirrorProtocol-BNLtoWjO.mjs → mirrorProtocol-h5WHpdhh.mjs} +79 -1
- package/dist/{package-VIUXrYZ1.mjs → package-BqwrPxL0.mjs} +7 -7
- package/dist/{package-UkmvSFsg.cjs → package-C1XvUQFy.cjs} +7 -7
- package/dist/{peerTools-SWITnkqz.mjs → peerTools-CeCe-3lk.mjs} +4 -4
- package/dist/{peerTools-CttfOxti.cjs → peerTools-DPvbcs8V.cjs} +4 -4
- package/dist/{persistence-C6ztVW1W.cjs → persistence-2Xp_o6x6.cjs} +3 -3
- package/dist/{persistence-DujtUH94.mjs → persistence-B9LmhAE2.mjs} +3 -3
- package/dist/{piRunnerArgs-BVJHIjlk.mjs → piRunnerArgs-7FaTyNOq.mjs} +1 -1
- package/dist/{piRunnerArgs-tBQg6xDw.cjs → piRunnerArgs-DI29dDNo.cjs} +1 -1
- package/dist/{piRuntime-DKFA8u8t.mjs → piRuntime-0qEK5AqE.mjs} +1 -1
- package/dist/{piRuntime-DZzjF9It.cjs → piRuntime-R8XVChxK.cjs} +1 -1
- package/dist/{piTerminal-t5pQHCPT.cjs → piTerminal-Ccj0KNPr.cjs} +17 -17
- package/dist/{piTerminal-BTSaFlpV.mjs → piTerminal-zcQKc8Sp.mjs} +17 -17
- package/dist/precheckCompat-CWOi5c9L.cjs +29 -0
- package/dist/precheckCompat-DeEbilbr.mjs +26 -0
- package/dist/rateLimitWindows-C2Jk3Ih7.cjs +258 -0
- package/dist/rateLimitWindows-Dhfhbtqu.mjs +248 -0
- package/dist/{registerCommonHandlers--8ds2auE.cjs → registerCommonHandlers-Aha_KfM3.cjs} +2 -2
- package/dist/{registerCommonHandlers-BR0J4g64.mjs → registerCommonHandlers-DdfGsFbM.mjs} +2 -2
- package/dist/{registerKillSessionHandler-CI23l8aJ.cjs → registerKillSessionHandler-CjitOpUA.cjs} +6 -6
- package/dist/{registerKillSessionHandler-Czz0tdki.mjs → registerKillSessionHandler-DboQlGcH.mjs} +6 -6
- package/dist/{remoteSessionClient-DCAUHgPz.mjs → remoteSessionClient-B2DtWuNP.mjs} +5 -5
- package/dist/{remoteSessionClient-BAkIwM2S.cjs → remoteSessionClient-BwI8rpQw.cjs} +5 -5
- package/dist/{tools-mWqsE6ji.cjs → reportProgressTool-B-Rcy0s3.cjs} +73 -9
- package/dist/{tools-BVRoGcQH.mjs → reportProgressTool-DnAD8wOa.mjs} +67 -10
- package/dist/{run-CkKujjn8.cjs → run-Bh66Xs40.cjs} +268 -118
- package/dist/{run-B75qm2I6.mjs → run-DPEwJpQR.mjs} +266 -116
- package/dist/{runClaude-B1T9DLLi.cjs → runClaude-C-lJdAKD.cjs} +25 -20
- package/dist/{runClaude-aBfBweec.mjs → runClaude-DLr_nBzw.mjs} +25 -20
- package/dist/{runClaudeDeps-BOrPP4J1.mjs → runClaudeDeps-C7JV7nXG.mjs} +47 -37
- package/dist/{runClaudeDeps-BGjNGfuZ.cjs → runClaudeDeps-vWWLod7J.cjs} +44 -35
- package/dist/{runGemini-BuAA_OQb.cjs → runGemini-o-CUSayc.cjs} +42 -35
- package/dist/{runGemini-a-V7JE-J.mjs → runGemini-tH6sLw-G.mjs} +42 -35
- package/dist/{runOpenClaw-DUSwXg1A.mjs → runOpenClaw-C5DZvVhn.mjs} +18 -18
- package/dist/{runOpenClaw-BBVffIh9.cjs → runOpenClaw-D24f35l0.cjs} +18 -18
- package/dist/{sandbox-Brb_5wzc.mjs → sandbox-BaL1aslA.mjs} +4 -4
- package/dist/{sandbox-Fd2G5yaq.cjs → sandbox-TJZJ6ngw.cjs} +4 -4
- package/dist/selfCheck-DPi4lqme.mjs +84 -0
- package/dist/{selfCheck-NuJKMInJ.cjs → selfCheck-Dugi0Nk_.cjs} +34 -34
- package/dist/{send-4dgHKC3u.cjs → send-CkWOSYmU.cjs} +8 -8
- package/dist/{send-DEQJiq_x.mjs → send-DDcJ3ayi.mjs} +8 -8
- package/dist/{server-DWGcDmHG.cjs → server-7qFQ8J2u.cjs} +6 -6
- package/dist/{server-C6AlUFkw.mjs → server-CUjRvQSd.mjs} +4 -4
- package/dist/{sessionLock-B1GgaO1q.cjs → sessionLock-DfhNICyS.cjs} +2 -2
- package/dist/{sessionLock-Dm8QyGo4.mjs → sessionLock-DqVyHFAQ.mjs} +2 -2
- package/dist/{sessionModeFile-BvOEJ4Fl.cjs → sessionModeFile-CIznKD7O.cjs} +1 -1
- package/dist/{sessionModeFile-CuNAWCKL.mjs → sessionModeFile-M4OpiyrF.mjs} +1 -1
- package/dist/{sessionOps-DG5MMEp_.mjs → sessionOps-BnaEaOKs.mjs} +4 -4
- package/dist/{sessionOps-JP64uJmc.cjs → sessionOps-DOyy4gkY.cjs} +4 -4
- package/dist/{sessionScanner-DqSk5Ol_.mjs → sessionScanner-CcuOn9uU.mjs} +75 -19
- package/dist/{sessionScanner-BBPEgJ5S.cjs → sessionScanner-Cu1yKlj4.cjs} +75 -19
- package/dist/{sessions-DgJuw_i0.cjs → sessions-BQgk5Kw8.cjs} +9 -9
- package/dist/{sessions-4isbBAWi.mjs → sessions-C9O91rL1.mjs} +9 -9
- package/dist/{setupOfflineReconnection-_MoZtsro.mjs → setupOfflineReconnection-Byy8aeKT.mjs} +2 -2
- package/dist/{setupOfflineReconnection-CKJKVIUS.cjs → setupOfflineReconnection-DFmQ8s6I.cjs} +2 -2
- package/dist/{spawn-CshERWbY.cjs → spawn-BS7LPmSm.cjs} +13 -12
- package/dist/{spawn-BTOG4tTm.mjs → spawn-EZ2yrtWd.mjs} +13 -12
- package/dist/{spawnAgents-Czi2VDzj.mjs → spawnAgents-HDaE3C0-.mjs} +1 -1
- package/dist/{spawnAgents-McixdtV1.cjs → spawnAgents-vglexX9N.cjs} +1 -1
- package/dist/{spawnHappyCLI-Dc4xYm8P.mjs → spawnHappyCLI-BAa49m0q.mjs} +1 -1
- package/dist/{spawnHappyCLI-Dd5_8Vex.cjs → spawnHappyCLI-DyaldIe5.cjs} +1 -1
- package/dist/specialCommands-CCWtwIGZ.mjs +93 -0
- package/dist/specialCommands-DouFaJ_0.cjs +96 -0
- package/dist/{startFileWatcher-1LedLBY-.cjs → startFileWatcher-DQbbypJv.cjs} +1 -1
- package/dist/{startFileWatcher-B0VlG-Fn.mjs → startFileWatcher-Dfs4whzr.mjs} +1 -1
- package/dist/{streamRelay-C0AffuX6.cjs → streamRelay-Ce9sgcOV.cjs} +1 -1
- package/dist/{streamRelay-BzMEEvJU.mjs → streamRelay-Iogsh51a.mjs} +1 -1
- package/dist/{sync-Dfm6K2te.mjs → sync-BLpH13Kb.mjs} +1 -1
- package/dist/{sync-DwUUGGFz.cjs → sync-x_lI_3j_.cjs} +1 -1
- package/dist/{systemPrompt-CB1Ls0AE.cjs → systemPrompt-4erwILTB.cjs} +3 -3
- package/dist/{systemPrompt-D41Zw1a3.mjs → systemPrompt-BanyDihy.mjs} +3 -3
- package/dist/{teams-D8Ly3i6u.mjs → teams-D6BOT3lR.mjs} +7 -7
- package/dist/{teams-NWv2ji16.cjs → teams-DzetlGWC.cjs} +7 -7
- package/dist/{time-v1Y_qEJp.mjs → time-CfDKj6Bx.mjs} +1 -1
- package/dist/{time-BbzJ7PJQ.cjs → time-T0YmeOhS.cjs} +1 -1
- package/dist/{titleGenerator-BhoblAQY.mjs → titleGenerator-ChImQ4q-.mjs} +1 -1
- package/dist/{titleGenerator-cH6IkPRi.cjs → titleGenerator-CoMxqKfP.cjs} +2 -2
- package/dist/{todo-D1hgWV6d.cjs → todo-CZZebKZg.cjs} +6 -6
- package/dist/{todo-CuNct-fw.mjs → todo-SVtYxGON.mjs} +6 -6
- package/dist/{tools-jof0Bu54.mjs → tools-3X2z3YDe.mjs} +1 -1
- package/dist/{tools-c2fb0CF5.cjs → tools-IJ0TAcJs.cjs} +1 -1
- package/dist/transcriptCursor-B7T_gkQ0.mjs +102 -0
- package/dist/transcriptCursor-DcXGLeSc.cjs +106 -0
- package/dist/{uninstall-VPH5GfrA.cjs → uninstall-CqqCWj7w.cjs} +3 -3
- package/dist/{uninstall-BB7WYYAk.mjs → uninstall-CypD-kr1.mjs} +3 -3
- package/package.json +7 -7
- package/scripts/terminal_status_forwarder.cjs +89 -0
- package/dist/selfCheck-BgwJ3NGS.mjs +0 -84
- package/dist/specialCommands-BSqhYg5X.mjs +0 -52
- package/dist/specialCommands-DSsTeRej.cjs +0 -54
|
@@ -1,19 +1,19 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var tools = require('./tools-
|
|
3
|
+
var tools = require('./tools-IJ0TAcJs.cjs');
|
|
4
4
|
var mcp_js = require('@modelcontextprotocol/sdk/server/mcp.js');
|
|
5
5
|
var stdio_js = require('@modelcontextprotocol/sdk/server/stdio.js');
|
|
6
6
|
var z = require('zod');
|
|
7
|
-
var controlClient = require('./controlClient-
|
|
7
|
+
var controlClient = require('./controlClient-CmnHGcyl.cjs');
|
|
8
8
|
var limits = require('./limits-C-a7gr04.cjs');
|
|
9
|
-
var
|
|
10
|
-
var logger = require('./logger-
|
|
9
|
+
var downloadTarget = require('./downloadTarget-CiQqRIc-.cjs');
|
|
10
|
+
var logger = require('./logger-JTcJU-uL.cjs');
|
|
11
11
|
var previewPath = require('./previewPath-B0rBdhy1.cjs');
|
|
12
|
-
var agentGuidance = require('./agentGuidance-
|
|
12
|
+
var agentGuidance = require('./agentGuidance-BtBx2xxE.cjs');
|
|
13
13
|
require('node:fs/promises');
|
|
14
14
|
require('node:os');
|
|
15
|
-
require('./persistence-
|
|
16
|
-
require('./configuration-
|
|
15
|
+
require('./persistence-2Xp_o6x6.cjs');
|
|
16
|
+
require('./configuration-B0cb3xA3.cjs');
|
|
17
17
|
require('node:crypto');
|
|
18
18
|
require('axios');
|
|
19
19
|
require('tweetnacl');
|
|
@@ -23,21 +23,21 @@ require('./terminals-B_bfC9c2.cjs');
|
|
|
23
23
|
require('node:fs');
|
|
24
24
|
require('node:path');
|
|
25
25
|
var terminalTitleSuggest = require('./terminalTitleSuggest-DhvRFX3H.cjs');
|
|
26
|
-
var titleGenerator = require('./titleGenerator-
|
|
26
|
+
var titleGenerator = require('./titleGenerator-CoMxqKfP.cjs');
|
|
27
27
|
var terminalToolContext = require('./terminalToolContext-DoV9Gs7K.cjs');
|
|
28
|
-
require('./client-
|
|
29
|
-
require('./context-
|
|
30
|
-
require('./sessionOps-
|
|
28
|
+
require('./client-JISJx2f-.cjs');
|
|
29
|
+
require('./context-BFUpYT39.cjs');
|
|
30
|
+
require('./sessionOps-DOyy4gkY.cjs');
|
|
31
31
|
require('./authRelay-BdYkC1Po.cjs');
|
|
32
|
-
require('./time-
|
|
32
|
+
require('./time-T0YmeOhS.cjs');
|
|
33
33
|
require('./backgroundTaskActivity-CBvUdj39.cjs');
|
|
34
|
-
require('./remoteSessionClient-
|
|
34
|
+
require('./remoteSessionClient-BwI8rpQw.cjs');
|
|
35
35
|
require('./ids-B6ZC0HGt.cjs');
|
|
36
|
-
require('./bootstrap-
|
|
36
|
+
require('./bootstrap-BpXIc2wn.cjs');
|
|
37
37
|
require('chalk');
|
|
38
38
|
require('node:util');
|
|
39
39
|
require('./trimIdent-4gvk9Wk6.cjs');
|
|
40
|
-
require('./package-
|
|
40
|
+
require('./package-C1XvUQFy.cjs');
|
|
41
41
|
require('./tmuxSocket-D-Xt6Vn-.cjs');
|
|
42
42
|
require('node:module');
|
|
43
43
|
require('./oneShotPrompts-CL0dip9C.cjs');
|
|
@@ -92,14 +92,19 @@ function registerMcpTools(server, surface, terminalId = null) {
|
|
|
92
92
|
title: agentGuidance.PREVIEW_TOOL_TITLE,
|
|
93
93
|
inputSchema: {
|
|
94
94
|
path: z.z.string().min(1).describe("Absolute path or path relative to the current working directory"),
|
|
95
|
-
mode: z.z.enum(["file", "diff"]).optional().describe("'file' (default) previews the file; 'diff' is reserved and currently falls back to 'file'")
|
|
95
|
+
mode: z.z.enum(["file", "diff"]).optional().describe("'file' (default) previews the file; 'diff' is reserved and currently falls back to 'file'"),
|
|
96
|
+
download: z.z.boolean().optional().describe(agentGuidance.PREVIEW_DOWNLOAD_PARAM_DESCRIPTION)
|
|
96
97
|
}
|
|
97
98
|
}, async (args) => {
|
|
98
99
|
const verdict = previewPath.checkPreviewPath(args.path);
|
|
99
100
|
if (verdict.deniedReason) return { content: [{ type: "text", text: verdict.deniedReason }], isError: true };
|
|
100
|
-
const
|
|
101
|
+
const download = args.download === true;
|
|
102
|
+
const target = download ? await downloadTarget.checkDownloadTarget(verdict.resolved) : null;
|
|
103
|
+
if (target?.error) return { content: [{ type: "text", text: target.error }], isError: true };
|
|
104
|
+
const result = await controlClient.pushFilePreviewViaDaemon(terminalId, verdict.resolved, args.mode ?? "file", download ? "download" : void 0);
|
|
105
|
+
const note = target?.note ? ` ${target.note}` : "";
|
|
101
106
|
return {
|
|
102
|
-
content: [{ type: "text", text: result.delivered ? `Queued a preview request for ${verdict.resolved}. This does not confirm that a browser opened it.` : `Failed to request preview: ${result.error || "unknown error"}` }],
|
|
107
|
+
content: [{ type: "text", text: result.delivered ? download ? `Queued a download request for ${verdict.resolved}. This does not confirm that a browser downloaded it.${note}` : `Queued a preview request for ${verdict.resolved}. This does not confirm that a browser opened it.` : `Failed to request preview: ${result.error || "unknown error"}` }],
|
|
103
108
|
isError: !result.delivered
|
|
104
109
|
};
|
|
105
110
|
});
|
|
@@ -128,7 +133,7 @@ function registerMcpTools(server, surface, terminalId = null) {
|
|
|
128
133
|
});
|
|
129
134
|
}
|
|
130
135
|
if (surface === "assistant" && !process.env.VH_TEAM_SCOPE_FILE) {
|
|
131
|
-
|
|
136
|
+
downloadTarget.registerAssistantSessionTools(server);
|
|
132
137
|
}
|
|
133
138
|
}
|
|
134
139
|
async function handleMcpCommand(terminalToolsOnly = false) {
|
|
@@ -1,17 +1,17 @@
|
|
|
1
|
-
import { r as registerTeamsTools } from './tools-
|
|
1
|
+
import { r as registerTeamsTools } from './tools-3X2z3YDe.mjs';
|
|
2
2
|
import { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js';
|
|
3
3
|
import { StdioServerTransport } from '@modelcontextprotocol/sdk/server/stdio.js';
|
|
4
4
|
import { z } from 'zod';
|
|
5
|
-
import { p as pushClipboardViaDaemon, b as pushFilePreviewViaDaemon, d as setTerminalTitleViaDaemon } from './controlClient-
|
|
5
|
+
import { p as pushClipboardViaDaemon, b as pushFilePreviewViaDaemon, d as setTerminalTitleViaDaemon } from './controlClient-BMUJfUeF.mjs';
|
|
6
6
|
import { C as CLIPBOARD_TOOL_NAME, a as CLIPBOARD_TOOL_TITLE, b as CLIPBOARD_TOOL_DESCRIPTION, c as CLIPBOARD_MAX_BYTES } from './limits-DIo7rEBR.mjs';
|
|
7
|
-
import { r as registerAssistantSessionTools } from './
|
|
8
|
-
import { l as logger } from './logger-
|
|
7
|
+
import { c as checkDownloadTarget, r as registerAssistantSessionTools } from './downloadTarget-DjSwMHun.mjs';
|
|
8
|
+
import { l as logger } from './logger-BpQcwNnt.mjs';
|
|
9
9
|
import { c as checkPreviewPath } from './previewPath-CXN4Vag0.mjs';
|
|
10
|
-
import { P as PREVIEW_TOOL_NAME, a as PREVIEW_TOOL_TITLE, b as PREVIEW_TOOL_DESCRIPTION } from './agentGuidance-
|
|
10
|
+
import { P as PREVIEW_TOOL_NAME, a as PREVIEW_TOOL_TITLE, b as PREVIEW_TOOL_DESCRIPTION, c as PREVIEW_DOWNLOAD_PARAM_DESCRIPTION } from './agentGuidance-BDYt2Qy2.mjs';
|
|
11
11
|
import 'node:fs/promises';
|
|
12
12
|
import 'node:os';
|
|
13
|
-
import './persistence-
|
|
14
|
-
import './configuration-
|
|
13
|
+
import './persistence-B9LmhAE2.mjs';
|
|
14
|
+
import './configuration-D2v3puap.mjs';
|
|
15
15
|
import 'node:crypto';
|
|
16
16
|
import 'axios';
|
|
17
17
|
import 'tweetnacl';
|
|
@@ -21,21 +21,21 @@ import './terminals-Dlg0x3nY.mjs';
|
|
|
21
21
|
import 'node:fs';
|
|
22
22
|
import 'node:path';
|
|
23
23
|
import { b as TerminalTitleSuggestRequestSchema } from './terminalTitleSuggest-CeKsX_V6.mjs';
|
|
24
|
-
import { s as suggestTitleForPrompt } from './titleGenerator-
|
|
24
|
+
import { s as suggestTitleForPrompt } from './titleGenerator-ChImQ4q-.mjs';
|
|
25
25
|
import { r as resolveMcpTerminalId } from './terminalToolContext-CFeGeaNm.mjs';
|
|
26
|
-
import './client-
|
|
27
|
-
import './context-
|
|
28
|
-
import './sessionOps-
|
|
26
|
+
import './client-CbK33y_s.mjs';
|
|
27
|
+
import './context-DjfqLWzE.mjs';
|
|
28
|
+
import './sessionOps-BnaEaOKs.mjs';
|
|
29
29
|
import './authRelay-DSAvg1uv.mjs';
|
|
30
|
-
import './time-
|
|
30
|
+
import './time-CfDKj6Bx.mjs';
|
|
31
31
|
import './backgroundTaskActivity-8PdPxrvy.mjs';
|
|
32
|
-
import './remoteSessionClient-
|
|
32
|
+
import './remoteSessionClient-B2DtWuNP.mjs';
|
|
33
33
|
import './ids-DU6sLx4C.mjs';
|
|
34
|
-
import './bootstrap-
|
|
34
|
+
import './bootstrap-XE8A7Ut2.mjs';
|
|
35
35
|
import 'chalk';
|
|
36
36
|
import 'node:util';
|
|
37
37
|
import './trimIdent-BAjmv_TG.mjs';
|
|
38
|
-
import './package-
|
|
38
|
+
import './package-BqwrPxL0.mjs';
|
|
39
39
|
import './tmuxSocket-B8Yx20sT.mjs';
|
|
40
40
|
import 'node:module';
|
|
41
41
|
import './oneShotPrompts-DT4p6RNd.mjs';
|
|
@@ -90,14 +90,19 @@ function registerMcpTools(server, surface, terminalId = null) {
|
|
|
90
90
|
title: PREVIEW_TOOL_TITLE,
|
|
91
91
|
inputSchema: {
|
|
92
92
|
path: z.string().min(1).describe("Absolute path or path relative to the current working directory"),
|
|
93
|
-
mode: z.enum(["file", "diff"]).optional().describe("'file' (default) previews the file; 'diff' is reserved and currently falls back to 'file'")
|
|
93
|
+
mode: z.enum(["file", "diff"]).optional().describe("'file' (default) previews the file; 'diff' is reserved and currently falls back to 'file'"),
|
|
94
|
+
download: z.boolean().optional().describe(PREVIEW_DOWNLOAD_PARAM_DESCRIPTION)
|
|
94
95
|
}
|
|
95
96
|
}, async (args) => {
|
|
96
97
|
const verdict = checkPreviewPath(args.path);
|
|
97
98
|
if (verdict.deniedReason) return { content: [{ type: "text", text: verdict.deniedReason }], isError: true };
|
|
98
|
-
const
|
|
99
|
+
const download = args.download === true;
|
|
100
|
+
const target = download ? await checkDownloadTarget(verdict.resolved) : null;
|
|
101
|
+
if (target?.error) return { content: [{ type: "text", text: target.error }], isError: true };
|
|
102
|
+
const result = await pushFilePreviewViaDaemon(terminalId, verdict.resolved, args.mode ?? "file", download ? "download" : void 0);
|
|
103
|
+
const note = target?.note ? ` ${target.note}` : "";
|
|
99
104
|
return {
|
|
100
|
-
content: [{ type: "text", text: result.delivered ? `Queued a preview request for ${verdict.resolved}. This does not confirm that a browser opened it.` : `Failed to request preview: ${result.error || "unknown error"}` }],
|
|
105
|
+
content: [{ type: "text", text: result.delivered ? download ? `Queued a download request for ${verdict.resolved}. This does not confirm that a browser downloaded it.${note}` : `Queued a preview request for ${verdict.resolved}. This does not confirm that a browser opened it.` : `Failed to request preview: ${result.error || "unknown error"}` }],
|
|
101
106
|
isError: !result.delivered
|
|
102
107
|
};
|
|
103
108
|
});
|
|
@@ -1,5 +1,9 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
+
var node_child_process = require('node:child_process');
|
|
4
|
+
var index = require('./index-C9hI8a10.cjs');
|
|
5
|
+
var _package = require('./package-C1XvUQFy.cjs');
|
|
6
|
+
|
|
3
7
|
function summarizeSpawnSessionForLog(value) {
|
|
4
8
|
const input = value && typeof value === "object" ? value : {};
|
|
5
9
|
const environmentVariables = input.environmentVariables && typeof input.environmentVariables === "object" ? input.environmentVariables : {};
|
|
@@ -99,6 +103,80 @@ function pickMirrorForTerminal(sessions, terminalId) {
|
|
|
99
103
|
return best ? { sessionId: best.id, claudeSessionId: best.claude } : null;
|
|
100
104
|
}
|
|
101
105
|
|
|
106
|
+
const AGENT_CHECK_INTERVAL = 6 * 60 * 60 * 1e3;
|
|
107
|
+
function stableVersion(value) {
|
|
108
|
+
const match = value.trim().match(/(?:^|\s|v)(\d+\.\d+\.\d+)([-+][\w.-]+)?(?=\s|$)/);
|
|
109
|
+
return match && !match[2] ? match[1] : null;
|
|
110
|
+
}
|
|
111
|
+
function newerVersion(current, latest) {
|
|
112
|
+
const a = current.split(".").map(Number), b = latest.split(".").map(Number);
|
|
113
|
+
for (let i = 0; i < 3; i++) {
|
|
114
|
+
if (b[i] !== a[i]) return b[i] > a[i];
|
|
115
|
+
}
|
|
116
|
+
return false;
|
|
117
|
+
}
|
|
118
|
+
const runVersionCommand = (command, args, shell) => new Promise((resolve, reject) => {
|
|
119
|
+
node_child_process.execFile(
|
|
120
|
+
command,
|
|
121
|
+
args,
|
|
122
|
+
{ timeout: 5e3, maxBuffer: 32 * 1024, windowsHide: true, shell },
|
|
123
|
+
(error, stdout) => error ? reject(error) : resolve(stdout)
|
|
124
|
+
);
|
|
125
|
+
});
|
|
126
|
+
async function probeAgentVersion(command, platform = process.platform, run = runVersionCommand) {
|
|
127
|
+
if (platform === "win32") {
|
|
128
|
+
try {
|
|
129
|
+
await run("where.exe", [command], false);
|
|
130
|
+
} catch (error) {
|
|
131
|
+
return { version: null, missing: error.code === 1 };
|
|
132
|
+
}
|
|
133
|
+
}
|
|
134
|
+
try {
|
|
135
|
+
return { version: stableVersion(await run(command, ["--version"], platform === "win32")), missing: false };
|
|
136
|
+
} catch (error) {
|
|
137
|
+
return { version: null, missing: error.code === "ENOENT" };
|
|
138
|
+
}
|
|
139
|
+
}
|
|
140
|
+
async function registryVersion(name) {
|
|
141
|
+
const response = await fetch(`https://registry.npmjs.org/${encodeURIComponent(name)}/latest`, { signal: AbortSignal.timeout(5e3) });
|
|
142
|
+
if (!response.ok) throw new Error("Registry unavailable");
|
|
143
|
+
const data = await response.json();
|
|
144
|
+
return typeof data.version === "string" ? stableVersion(data.version) : null;
|
|
145
|
+
}
|
|
146
|
+
async function detectAgentVersions(deps = { probe: probeAgentVersion, registryVersion }, now = Date.now()) {
|
|
147
|
+
const agents = await Promise.all(index.AGENT_VERSION_SOURCES.map(async (source) => {
|
|
148
|
+
const local = source.command ? await deps.probe(source.command).catch(() => ({ version: null, missing: false })) : { version: stableVersion(_package.packageJson.dependencies["@anthropic-ai/claude-agent-sdk"]), missing: false };
|
|
149
|
+
if (local.missing) return { id: source.id, installed: null, latest: null, status: "not-installed" };
|
|
150
|
+
const latest = await deps.registryVersion(source.package).catch(() => null);
|
|
151
|
+
const installed = local.version;
|
|
152
|
+
const status = !installed || !latest ? "unknown" : newerVersion(installed, latest) ? "update-available" : "current";
|
|
153
|
+
return { id: source.id, installed, latest, status };
|
|
154
|
+
}));
|
|
155
|
+
return { checkedAt: now, daemonPid: process.pid, agents };
|
|
156
|
+
}
|
|
157
|
+
function startAgentVersionChecks(publish, onError, detect = detectAgentVersions) {
|
|
158
|
+
let stopped = false, pending = false;
|
|
159
|
+
async function refresh() {
|
|
160
|
+
if (stopped || pending) return;
|
|
161
|
+
pending = true;
|
|
162
|
+
try {
|
|
163
|
+
const snapshot = await detect();
|
|
164
|
+
if (!stopped) await publish(snapshot);
|
|
165
|
+
} catch (error) {
|
|
166
|
+
onError(error);
|
|
167
|
+
} finally {
|
|
168
|
+
pending = false;
|
|
169
|
+
}
|
|
170
|
+
}
|
|
171
|
+
void refresh();
|
|
172
|
+
const timer = setInterval(() => void refresh(), AGENT_CHECK_INTERVAL);
|
|
173
|
+
timer.unref();
|
|
174
|
+
return () => {
|
|
175
|
+
stopped = true;
|
|
176
|
+
clearInterval(timer);
|
|
177
|
+
};
|
|
178
|
+
}
|
|
179
|
+
|
|
102
180
|
function parseTerminalHookPayload(body) {
|
|
103
181
|
if (!body || typeof body !== "object") return null;
|
|
104
182
|
const raw = body;
|
|
@@ -183,4 +261,6 @@ exports.pickMirrorForTerminal = pickMirrorForTerminal;
|
|
|
183
261
|
exports.sanitizeLiveSnapshot = sanitizeLiveSnapshot;
|
|
184
262
|
exports.sanitizeTagList = sanitizeTagList;
|
|
185
263
|
exports.serializeLiveSnapshot = serializeLiveSnapshot;
|
|
264
|
+
exports.stableVersion = stableVersion;
|
|
265
|
+
exports.startAgentVersionChecks = startAgentVersionChecks;
|
|
186
266
|
exports.summarizeSpawnSessionForLog = summarizeSpawnSessionForLog;
|
|
@@ -1,3 +1,7 @@
|
|
|
1
|
+
import { execFile } from 'node:child_process';
|
|
2
|
+
import { p as AGENT_VERSION_SOURCES } from './index-B0HEEYGh.mjs';
|
|
3
|
+
import { p as packageJson } from './package-BqwrPxL0.mjs';
|
|
4
|
+
|
|
1
5
|
function summarizeSpawnSessionForLog(value) {
|
|
2
6
|
const input = value && typeof value === "object" ? value : {};
|
|
3
7
|
const environmentVariables = input.environmentVariables && typeof input.environmentVariables === "object" ? input.environmentVariables : {};
|
|
@@ -97,6 +101,80 @@ function pickMirrorForTerminal(sessions, terminalId) {
|
|
|
97
101
|
return best ? { sessionId: best.id, claudeSessionId: best.claude } : null;
|
|
98
102
|
}
|
|
99
103
|
|
|
104
|
+
const AGENT_CHECK_INTERVAL = 6 * 60 * 60 * 1e3;
|
|
105
|
+
function stableVersion(value) {
|
|
106
|
+
const match = value.trim().match(/(?:^|\s|v)(\d+\.\d+\.\d+)([-+][\w.-]+)?(?=\s|$)/);
|
|
107
|
+
return match && !match[2] ? match[1] : null;
|
|
108
|
+
}
|
|
109
|
+
function newerVersion(current, latest) {
|
|
110
|
+
const a = current.split(".").map(Number), b = latest.split(".").map(Number);
|
|
111
|
+
for (let i = 0; i < 3; i++) {
|
|
112
|
+
if (b[i] !== a[i]) return b[i] > a[i];
|
|
113
|
+
}
|
|
114
|
+
return false;
|
|
115
|
+
}
|
|
116
|
+
const runVersionCommand = (command, args, shell) => new Promise((resolve, reject) => {
|
|
117
|
+
execFile(
|
|
118
|
+
command,
|
|
119
|
+
args,
|
|
120
|
+
{ timeout: 5e3, maxBuffer: 32 * 1024, windowsHide: true, shell },
|
|
121
|
+
(error, stdout) => error ? reject(error) : resolve(stdout)
|
|
122
|
+
);
|
|
123
|
+
});
|
|
124
|
+
async function probeAgentVersion(command, platform = process.platform, run = runVersionCommand) {
|
|
125
|
+
if (platform === "win32") {
|
|
126
|
+
try {
|
|
127
|
+
await run("where.exe", [command], false);
|
|
128
|
+
} catch (error) {
|
|
129
|
+
return { version: null, missing: error.code === 1 };
|
|
130
|
+
}
|
|
131
|
+
}
|
|
132
|
+
try {
|
|
133
|
+
return { version: stableVersion(await run(command, ["--version"], platform === "win32")), missing: false };
|
|
134
|
+
} catch (error) {
|
|
135
|
+
return { version: null, missing: error.code === "ENOENT" };
|
|
136
|
+
}
|
|
137
|
+
}
|
|
138
|
+
async function registryVersion(name) {
|
|
139
|
+
const response = await fetch(`https://registry.npmjs.org/${encodeURIComponent(name)}/latest`, { signal: AbortSignal.timeout(5e3) });
|
|
140
|
+
if (!response.ok) throw new Error("Registry unavailable");
|
|
141
|
+
const data = await response.json();
|
|
142
|
+
return typeof data.version === "string" ? stableVersion(data.version) : null;
|
|
143
|
+
}
|
|
144
|
+
async function detectAgentVersions(deps = { probe: probeAgentVersion, registryVersion }, now = Date.now()) {
|
|
145
|
+
const agents = await Promise.all(AGENT_VERSION_SOURCES.map(async (source) => {
|
|
146
|
+
const local = source.command ? await deps.probe(source.command).catch(() => ({ version: null, missing: false })) : { version: stableVersion(packageJson.dependencies["@anthropic-ai/claude-agent-sdk"]), missing: false };
|
|
147
|
+
if (local.missing) return { id: source.id, installed: null, latest: null, status: "not-installed" };
|
|
148
|
+
const latest = await deps.registryVersion(source.package).catch(() => null);
|
|
149
|
+
const installed = local.version;
|
|
150
|
+
const status = !installed || !latest ? "unknown" : newerVersion(installed, latest) ? "update-available" : "current";
|
|
151
|
+
return { id: source.id, installed, latest, status };
|
|
152
|
+
}));
|
|
153
|
+
return { checkedAt: now, daemonPid: process.pid, agents };
|
|
154
|
+
}
|
|
155
|
+
function startAgentVersionChecks(publish, onError, detect = detectAgentVersions) {
|
|
156
|
+
let stopped = false, pending = false;
|
|
157
|
+
async function refresh() {
|
|
158
|
+
if (stopped || pending) return;
|
|
159
|
+
pending = true;
|
|
160
|
+
try {
|
|
161
|
+
const snapshot = await detect();
|
|
162
|
+
if (!stopped) await publish(snapshot);
|
|
163
|
+
} catch (error) {
|
|
164
|
+
onError(error);
|
|
165
|
+
} finally {
|
|
166
|
+
pending = false;
|
|
167
|
+
}
|
|
168
|
+
}
|
|
169
|
+
void refresh();
|
|
170
|
+
const timer = setInterval(() => void refresh(), AGENT_CHECK_INTERVAL);
|
|
171
|
+
timer.unref();
|
|
172
|
+
return () => {
|
|
173
|
+
stopped = true;
|
|
174
|
+
clearInterval(timer);
|
|
175
|
+
};
|
|
176
|
+
}
|
|
177
|
+
|
|
100
178
|
function parseTerminalHookPayload(body) {
|
|
101
179
|
if (!body || typeof body !== "object") return null;
|
|
102
180
|
const raw = body;
|
|
@@ -167,4 +245,4 @@ function decideBackfill(messages, maxLines) {
|
|
|
167
245
|
return { replay: messages.slice(messages.length - cap), truncated: true };
|
|
168
246
|
}
|
|
169
247
|
|
|
170
|
-
export { MIRROR_BACKFILL_LINES_DEFAULT as M,
|
|
248
|
+
export { MIRROR_BACKFILL_LINES_DEFAULT as M, sanitizeTagList as a, sanitizeLiveSnapshot as b, serializeLiveSnapshot as c, summarizeSpawnSessionForLog as d, parseMirrorSendParams as e, extractCompleteLines as f, decideBackfill as g, parseTerminalHookPayload as h, isClaudeSessionId as i, decideMirrorBinding as j, mirrorLocalId as k, liveSnapshotChanged as l, mirrorLineKey as m, startAgentVersionChecks as n, pickMirrorForTerminal as p, stableVersion as s };
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
var name = "very-happy-cli";
|
|
2
|
-
var version = "0.2.
|
|
2
|
+
var version = "0.2.166";
|
|
3
3
|
var description = "Remote multi-agent workspace CLI with deep Claude integration, native terminal streaming, and self-hosting.";
|
|
4
4
|
var author = "Kirill Dubovitskiy";
|
|
5
5
|
var contributors = [
|
|
@@ -116,12 +116,12 @@ var dependencies = {
|
|
|
116
116
|
zod: "^4.0.0"
|
|
117
117
|
};
|
|
118
118
|
var optionalDependencies = {
|
|
119
|
-
"very-happy-tools-arm64-darwin": "0.2.
|
|
120
|
-
"very-happy-tools-x64-darwin": "0.2.
|
|
121
|
-
"very-happy-tools-arm64-linux": "0.2.
|
|
122
|
-
"very-happy-tools-x64-linux": "0.2.
|
|
123
|
-
"very-happy-tools-arm64-win32": "0.2.
|
|
124
|
-
"very-happy-tools-x64-win32": "0.2.
|
|
119
|
+
"very-happy-tools-arm64-darwin": "0.2.166",
|
|
120
|
+
"very-happy-tools-x64-darwin": "0.2.166",
|
|
121
|
+
"very-happy-tools-arm64-linux": "0.2.166",
|
|
122
|
+
"very-happy-tools-x64-linux": "0.2.166",
|
|
123
|
+
"very-happy-tools-arm64-win32": "0.2.166",
|
|
124
|
+
"very-happy-tools-x64-win32": "0.2.166"
|
|
125
125
|
};
|
|
126
126
|
var devDependencies = {
|
|
127
127
|
"@slopus/happy-wire": "workspace:*",
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
3
|
var name = "very-happy-cli";
|
|
4
|
-
var version = "0.2.
|
|
4
|
+
var version = "0.2.166";
|
|
5
5
|
var description = "Remote multi-agent workspace CLI with deep Claude integration, native terminal streaming, and self-hosting.";
|
|
6
6
|
var author = "Kirill Dubovitskiy";
|
|
7
7
|
var contributors = [
|
|
@@ -118,12 +118,12 @@ var dependencies = {
|
|
|
118
118
|
zod: "^4.0.0"
|
|
119
119
|
};
|
|
120
120
|
var optionalDependencies = {
|
|
121
|
-
"very-happy-tools-arm64-darwin": "0.2.
|
|
122
|
-
"very-happy-tools-x64-darwin": "0.2.
|
|
123
|
-
"very-happy-tools-arm64-linux": "0.2.
|
|
124
|
-
"very-happy-tools-x64-linux": "0.2.
|
|
125
|
-
"very-happy-tools-arm64-win32": "0.2.
|
|
126
|
-
"very-happy-tools-x64-win32": "0.2.
|
|
121
|
+
"very-happy-tools-arm64-darwin": "0.2.166",
|
|
122
|
+
"very-happy-tools-x64-darwin": "0.2.166",
|
|
123
|
+
"very-happy-tools-arm64-linux": "0.2.166",
|
|
124
|
+
"very-happy-tools-x64-linux": "0.2.166",
|
|
125
|
+
"very-happy-tools-arm64-win32": "0.2.166",
|
|
126
|
+
"very-happy-tools-x64-win32": "0.2.166"
|
|
127
127
|
};
|
|
128
128
|
var devDependencies = {
|
|
129
129
|
"@slopus/happy-wire": "workspace:*",
|
|
@@ -2,10 +2,10 @@ import { randomUUID } from 'node:crypto';
|
|
|
2
2
|
import { userInfo, hostname } from 'node:os';
|
|
3
3
|
import { z } from 'zod';
|
|
4
4
|
import { i as isValidSessionId } from './ids-DU6sLx4C.mjs';
|
|
5
|
-
import { f as listDaemonPeers } from './controlClient-
|
|
6
|
-
import { readPersistedSessions } from './persistence-
|
|
7
|
-
import { s as sessionWebUrl, e as sendUserMessage } from './sessionOps-
|
|
8
|
-
import { b as sendRemotePeerMessage, d as deliverToSession, a as listRemotePeers } from './remoteSessionClient-
|
|
5
|
+
import { f as listDaemonPeers } from './controlClient-BMUJfUeF.mjs';
|
|
6
|
+
import { readPersistedSessions } from './persistence-B9LmhAE2.mjs';
|
|
7
|
+
import { s as sessionWebUrl, e as sendUserMessage } from './sessionOps-BnaEaOKs.mjs';
|
|
8
|
+
import { b as sendRemotePeerMessage, d as deliverToSession, a as listRemotePeers } from './remoteSessionClient-B2DtWuNP.mjs';
|
|
9
9
|
import { existsSync, readFileSync, statSync } from 'node:fs';
|
|
10
10
|
import { resolve, isAbsolute, dirname } from 'node:path';
|
|
11
11
|
|
|
@@ -4,10 +4,10 @@ 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-CmnHGcyl.cjs');
|
|
8
|
+
var persistence = require('./persistence-2Xp_o6x6.cjs');
|
|
9
|
+
var sessionOps = require('./sessionOps-DOyy4gkY.cjs');
|
|
10
|
+
var remoteSessionClient = require('./remoteSessionClient-BwI8rpQw.cjs');
|
|
11
11
|
var node_fs = require('node:fs');
|
|
12
12
|
var path = require('node:path');
|
|
13
13
|
|
|
@@ -2,13 +2,13 @@
|
|
|
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-B0cb3xA3.cjs');
|
|
6
6
|
var z = require('zod');
|
|
7
7
|
var authRelay = require('./authRelay-BdYkC1Po.cjs');
|
|
8
|
-
var logger = require('./logger-
|
|
8
|
+
var logger = require('./logger-JTcJU-uL.cjs');
|
|
9
9
|
require('node:os');
|
|
10
10
|
require('node:path');
|
|
11
|
-
require('./package-
|
|
11
|
+
require('./package-C1XvUQFy.cjs');
|
|
12
12
|
require('node:crypto');
|
|
13
13
|
require('tweetnacl');
|
|
14
14
|
require('chalk');
|
|
@@ -1,12 +1,12 @@
|
|
|
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, h as hardenPrivateFileSync, e as ensurePrivateDirectory, a as writePrivateFile, b as hardenPrivateFile } from './configuration-
|
|
3
|
+
import { c as configuration, P as PRIVATE_FILE_MODE, w as writePrivateFileSync, h as hardenPrivateFileSync, e as ensurePrivateDirectory, a as writePrivateFile, b as hardenPrivateFile } from './configuration-D2v3puap.mjs';
|
|
4
4
|
import * as z from 'zod';
|
|
5
5
|
import { c as credentialRelayProblem, e as encodeBase64 } from './authRelay-DSAvg1uv.mjs';
|
|
6
|
-
import { l as logger } from './logger-
|
|
6
|
+
import { l as logger } from './logger-BpQcwNnt.mjs';
|
|
7
7
|
import 'node:os';
|
|
8
8
|
import 'node:path';
|
|
9
|
-
import './package-
|
|
9
|
+
import './package-BqwrPxL0.mjs';
|
|
10
10
|
import 'node:crypto';
|
|
11
11
|
import 'tweetnacl';
|
|
12
12
|
import 'chalk';
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { n as normalizeAcpPermissionMode } from './sessionModeFile-
|
|
1
|
+
import { n as normalizeAcpPermissionMode } from './sessionModeFile-M4OpiyrF.mjs';
|
|
2
2
|
|
|
3
3
|
function detectDaemonSupervisor(env, platform = process.platform) {
|
|
4
4
|
const explicit = env.HAPPY_DAEMON_SUPERVISOR?.trim().toLowerCase();
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var sessionModeFile = require('./sessionModeFile-
|
|
3
|
+
var sessionModeFile = require('./sessionModeFile-CIznKD7O.cjs');
|
|
4
4
|
|
|
5
5
|
function detectDaemonSupervisor(env, platform = process.platform) {
|
|
6
6
|
const explicit = env.HAPPY_DAEMON_SUPERVISOR?.trim().toLowerCase();
|
|
@@ -1,7 +1,7 @@
|
|
|
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-
|
|
4
|
+
import { c as configuration } from './configuration-D2v3puap.mjs';
|
|
5
5
|
import { P as PI_TEAMS_EXTENSION } from './resources-BdFBQi8r.mjs';
|
|
6
6
|
|
|
7
7
|
async function publish(path, content, mode) {
|
|
@@ -3,7 +3,7 @@
|
|
|
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-
|
|
6
|
+
var configuration = require('./configuration-B0cb3xA3.cjs');
|
|
7
7
|
var resources = require('./resources-JDPugcDq.cjs');
|
|
8
8
|
|
|
9
9
|
async function publish(path, content, mode) {
|
|
@@ -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-
|
|
10
|
-
require('./agentGuidance-
|
|
8
|
+
var piRuntime = require('./piRuntime-R8XVChxK.cjs');
|
|
9
|
+
var mcp = require('./mcp-BnNiBBax.cjs');
|
|
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-JTcJU-uL.cjs');
|
|
15
|
+
require('./persistence-2Xp_o6x6.cjs');
|
|
16
|
+
require('./configuration-B0cb3xA3.cjs');
|
|
17
17
|
require('axios');
|
|
18
18
|
require('tweetnacl');
|
|
19
19
|
require('socket.io-client');
|
|
@@ -22,23 +22,23 @@ require('node:fs');
|
|
|
22
22
|
require('node:path');
|
|
23
23
|
var terminalToolContext = require('./terminalToolContext-DoV9Gs7K.cjs');
|
|
24
24
|
require('./resources-JDPugcDq.cjs');
|
|
25
|
-
require('./tools-
|
|
26
|
-
require('./client-
|
|
27
|
-
require('./context-
|
|
25
|
+
require('./tools-IJ0TAcJs.cjs');
|
|
26
|
+
require('./client-JISJx2f-.cjs');
|
|
27
|
+
require('./context-BFUpYT39.cjs');
|
|
28
28
|
require('@modelcontextprotocol/sdk/server/stdio.js');
|
|
29
|
-
require('./controlClient-
|
|
29
|
+
require('./controlClient-CmnHGcyl.cjs');
|
|
30
30
|
require('./limits-C-a7gr04.cjs');
|
|
31
|
-
require('./
|
|
32
|
-
require('./sessionOps-
|
|
31
|
+
require('./downloadTarget-CiQqRIc-.cjs');
|
|
32
|
+
require('./sessionOps-DOyy4gkY.cjs');
|
|
33
33
|
require('./authRelay-BdYkC1Po.cjs');
|
|
34
|
-
require('./time-
|
|
34
|
+
require('./time-T0YmeOhS.cjs');
|
|
35
35
|
require('./backgroundTaskActivity-CBvUdj39.cjs');
|
|
36
|
-
require('./remoteSessionClient-
|
|
36
|
+
require('./remoteSessionClient-BwI8rpQw.cjs');
|
|
37
37
|
require('./ids-B6ZC0HGt.cjs');
|
|
38
|
-
require('./bootstrap-
|
|
38
|
+
require('./bootstrap-BpXIc2wn.cjs');
|
|
39
39
|
require('./previewPath-B0rBdhy1.cjs');
|
|
40
40
|
require('./terminalTitleSuggest-DhvRFX3H.cjs');
|
|
41
|
-
require('./titleGenerator-
|
|
41
|
+
require('./titleGenerator-CoMxqKfP.cjs');
|
|
42
42
|
require('node:module');
|
|
43
43
|
require('./oneShotPrompts-CL0dip9C.cjs');
|
|
44
44
|
require('./projectPath-ChLhdOyt.cjs');
|
|
@@ -47,7 +47,7 @@ require('url');
|
|
|
47
47
|
require('./trimIdent-4gvk9Wk6.cjs');
|
|
48
48
|
require('chalk');
|
|
49
49
|
require('node:util');
|
|
50
|
-
require('./package-
|
|
50
|
+
require('./package-C1XvUQFy.cjs');
|
|
51
51
|
require('./tmuxSocket-D-Xt6Vn-.cjs');
|
|
52
52
|
|
|
53
53
|
async function startPiTerminalTools(terminalId) {
|