very-happy-cli 0.2.178 → 0.2.180
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-DCQXHRzT.mjs → AcpBackend-B8Zi30Zh.mjs} +135 -16
- package/dist/{AcpBackend-CDkAQXYf.cjs → AcpBackend-DfRDtMcG.cjs} +135 -16
- package/dist/{AcpSessionManager-DckmUZza.cjs → AcpSessionManager-CASKOnOj.cjs} +38 -4
- package/dist/{AcpSessionManager-BXrQcqwC.mjs → AcpSessionManager-i8Rab0xT.mjs} +38 -4
- package/dist/{BasePermissionHandler-BVlrEhIi.mjs → BasePermissionHandler-26fKbRCm.mjs} +5 -2
- package/dist/{BasePermissionHandler-DyLmKKtO.cjs → BasePermissionHandler-BlM_tfej.cjs} +5 -2
- package/dist/acpSessionResume-B9l54P-X.mjs +67 -0
- package/dist/acpSessionResume-CR5pmgVo.cjs +74 -0
- package/dist/{agentHome-CEp9RMyK.cjs → agentHome-C7Sb7-Tz.cjs} +4 -4
- package/dist/{agentHome-C1xi37as.mjs → agentHome-CmGy0NWv.mjs} +4 -4
- package/dist/{api-JANhFdZV.cjs → api-DM7b1OKj.cjs} +38 -262
- package/dist/{api-Dib0dmqC.mjs → api-Hov8p7CA.mjs} +32 -256
- package/dist/{apiMachine-DNTJidYH.mjs → apiMachine-CwGEhQDT.mjs} +62 -15
- package/dist/{apiMachine-QhK-sKcr.cjs → apiMachine-DkGRj-Ai.cjs} +64 -17
- package/dist/{attachmentContent-bpQTBJ0y.cjs → attachmentContent-CEm13_gF.cjs} +4 -4
- package/dist/{attachmentContent-DkkdpSSJ.mjs → attachmentContent-CIn4iPEk.mjs} +2 -2
- package/dist/{auth-BRjd2esb.mjs → auth-BG1DY0gj.mjs} +5 -5
- package/dist/{auth-DgIV0Cvt.cjs → auth-CBXnm-Mj.cjs} +5 -5
- package/dist/{auth-omWDtgR8.cjs → auth-Dawj7pP5.cjs} +8 -8
- package/dist/{auth-DNct7VUi.mjs → auth-rggxMpEE.mjs} +8 -8
- package/dist/{auto-DKGFOJBo.mjs → auto-CXXLXGeL.mjs} +19 -18
- package/dist/{auto-CI16FZmX.cjs → auto-CbYOfoPS.cjs} +19 -18
- package/dist/{backgroundTaskActivity-BVwJBl02.mjs → backgroundTaskActivity-8PdPxrvy.mjs} +1 -1
- package/dist/{bootstrap-DCQ87Aan.cjs → bootstrap-DoA7okld.cjs} +2 -2
- package/dist/{bootstrap-BUagGC_-.mjs → bootstrap-Dt5I1SOl.mjs} +2 -2
- package/dist/{browser-Dj_DYQEh.mjs → browser-DUNetFT4.mjs} +1 -1
- package/dist/{browser-CSKhc0Bl.cjs → browser-DZ6qRtfH.cjs} +1 -1
- package/dist/{claudeCliPath-U4HHmV4r.cjs → claudeCliPath-GaP3UUz1.cjs} +1 -1
- package/dist/{claudeLocal-CdIVnOZp.cjs → claudeLocal--DNyMOSv.cjs} +8 -7
- package/dist/{claudeLocal-CCCvAeMd.mjs → claudeLocal-OHWQigCl.mjs} +6 -5
- package/dist/{claudeLocalLauncher-BmrpaRYJ.mjs → claudeLocalLauncher-BStvfa7M.mjs} +11 -10
- package/dist/{claudeLocalLauncher-21-xh5gc.cjs → claudeLocalLauncher-BhvPbcyH.cjs} +13 -12
- package/dist/{claudeSessionFork-kYCP1IJB.cjs → claudeSessionFork-Be16vzGc.cjs} +1 -1
- package/dist/{claudeSessionFork-DvxMKAmY.mjs → claudeSessionFork-GAVWhiKG.mjs} +1 -1
- package/dist/{client-C4zKGjiJ.cjs → client-BWjaHKtj.cjs} +2 -2
- package/dist/client-Ca5Pcgy_.mjs +71 -0
- package/dist/{client-CnlkkrZO.mjs → client-CnB7kRCT.mjs} +2 -2
- package/dist/{client-BTX9hsbr.mjs → client-D4uPb1uu.mjs} +3 -3
- package/dist/client-DJplzPjD.cjs +76 -0
- package/dist/{client-Dnza1hgN.cjs → client-D_loZ9IK.cjs} +3 -3
- package/dist/codex/happyMcpStdioBridge.cjs +24 -15
- package/dist/codex/happyMcpStdioBridge.mjs +25 -16
- package/dist/{codexAppServerClient-DvkpQgyv.mjs → codexAppServerClient-CO4G6OS4.mjs} +3 -3
- package/dist/{codexAppServerClient-CRlBWGn3.cjs → codexAppServerClient-PE-12AsW.cjs} +3 -3
- package/dist/{codexCommand-DzxIWXIT.cjs → codexCommand-BNoD1t1C.cjs} +127 -116
- package/dist/{codexCommand-BxjogBzU.mjs → codexCommand-B_xUH79E.mjs} +77 -66
- package/dist/{codexTermination-C28FzlLb.cjs → codexTermination-BmBbizFK.cjs} +7 -2
- package/dist/{codexTermination-ySDNMEhd.mjs → codexTermination-Dx48ma6e.mjs} +7 -2
- package/dist/{config-BFB5uJ4t.cjs → config-CtwEUxUP.cjs} +26 -26
- package/dist/{config-DwfEpFr3.mjs → config-DSu0Blos.mjs} +3 -3
- package/dist/{configuration-4TGMrjul.cjs → configuration-CYO-kPOS.cjs} +1 -1
- package/dist/{configuration-DVrb61aY.mjs → configuration-PxzEJumr.mjs} +1 -1
- package/dist/{connect-C7FPY0PI.mjs → connect-BQrg3TB6.mjs} +15 -15
- package/dist/{connect-QH2VJGBG.cjs → connect-Dq7wndzR.cjs} +28 -28
- package/dist/{context-JoKu0V54.cjs → context-6TP-iz_c.cjs} +1 -1
- package/dist/{context-B3XPVJlj.mjs → context-CJGRRGWW.mjs} +1 -1
- package/dist/{controlClient-BTaZlbC6.cjs → controlClient-Bqv5v5OM.cjs} +3 -3
- package/dist/{controlClient-BYKyGyxj.mjs → controlClient-DoeYovwP.mjs} +4 -4
- package/dist/{createSessionMetadata-8Fuj2-IV.mjs → createSessionMetadata-DDIChCx8.mjs} +2 -2
- package/dist/{createSessionMetadata-B2NynaWZ.cjs → createSessionMetadata-xz767pcG.cjs} +3 -3
- package/dist/{defaultPermissionMode-BEWCqJU-.cjs → defaultPermissionMode-PkZGsQDk.cjs} +2 -2
- package/dist/{defaultPermissionMode-B8kJG9uI.mjs → defaultPermissionMode-i5KzdK09.mjs} +2 -2
- package/dist/{detectCLI-DR9ZaN6B.cjs → detectCLI-BuYR_Qxe.cjs} +4 -4
- package/dist/{deterministicJson-C5ZwZ7hu.mjs → deterministicJson-CTEJDqtS.mjs} +217 -12
- package/dist/{deterministicJson-BjNQsAjO.cjs → deterministicJson-xqA6DaOm.cjs} +222 -16
- package/dist/{doctor-BshRnjLi.cjs → doctor-BrgSlfXn.cjs} +9 -9
- package/dist/{doctor-0BiGwJXk.mjs → doctor-IctjVh9T.mjs} +8 -8
- package/dist/{doctorReadiness-BCZGcN0a.cjs → doctorReadiness-Dl6yRQCy.cjs} +1 -1
- package/dist/{downloadTarget-BN5vZt3K.cjs → downloadTarget-CEb9che-.cjs} +6 -6
- package/dist/{downloadTarget-DJPwAZlu.mjs → downloadTarget-jbOz1egC.mjs} +6 -6
- package/dist/{ensureDaemonRunning-C5QfToCe.cjs → ensureDaemonRunning-D-HyjGIX.cjs} +6 -6
- package/dist/{ensureDaemonRunning-CSmb_mqt.mjs → ensureDaemonRunning-b1e8LCSM.mjs} +5 -5
- package/dist/{handleResumeCommand-BwnUZmbo.cjs → handleResumeCommand-BvWVuRwH.cjs} +23 -7
- package/dist/{handleResumeCommand-CgjpsdDe.mjs → handleResumeCommand-DpaZvm2c.mjs} +22 -6
- package/dist/{index-piJPsTsm.cjs → index-B2p2Mut7.cjs} +259 -53
- package/dist/{index-BehVbAsA.mjs → index-BUNnpGFF.mjs} +256 -50
- package/dist/{index-Bvldtdny.mjs → index-Bsvbgh9e.mjs} +4 -4
- package/dist/{index-BYOZ_8WZ.cjs → index-C64Ufj4D.cjs} +4 -4
- package/dist/{index-Clqlu17M.mjs → index-C6Vn5Eac.mjs} +155 -34
- package/dist/index-CMf5VbzG.mjs +18 -0
- package/dist/index-DmTlDRSL.cjs +24 -0
- package/dist/{index-_l1Sdmbi.cjs → index-Dv0Q48P3.cjs} +156 -33
- package/dist/{index-BRClDe07.cjs → index-F2UejqYs.cjs} +3 -3
- package/dist/{index-BYgfern_.mjs → index-wCbtF4BK.mjs} +3 -3
- package/dist/index.cjs +2 -2
- package/dist/index.mjs +2 -2
- package/dist/{install-BdvKiOQw.mjs → install-BX3lv3NO.mjs} +1 -1
- package/dist/{install-Cf6AFSWC.cjs → install-BXvf2E3o.cjs} +1 -1
- package/dist/{install-TO4taKW7.cjs → install-C0ANcEAW.cjs} +7 -7
- package/dist/{install-fYWHrPcC.mjs → install-CdzSV7qO.mjs} +3 -3
- package/dist/{installPiTools-BKnXjrVu.cjs → installPiTools-CL_axh_6.cjs} +1 -1
- package/dist/{installTerminalHooks-BQZbvxsZ.cjs → installTerminalHooks-BETLKAtd.cjs} +3 -3
- package/dist/lib.cjs +14 -14
- package/dist/lib.d.cts +239 -2
- package/dist/lib.d.mts +239 -2
- package/dist/lib.mjs +14 -14
- package/dist/{lidState-BeOwj6eW.cjs → lidState-DWGnm2H4.cjs} +1 -1
- package/dist/{lidState-DNMlIhX0.mjs → lidState-bBrmaQd2.mjs} +1 -1
- package/dist/{localHappyAgentAuth-Br-mgogg.cjs → localHappyAgentAuth-DZHQnIW9.cjs} +1 -1
- package/dist/{localHappyAgentAuth-BezKSFDi.mjs → localHappyAgentAuth-Dn1jYDpt.mjs} +1 -1
- package/dist/{logger--vAVtXB_.mjs → logger-BUngm5Xg.mjs} +2 -2
- package/dist/{logger-DXTWlPzP.cjs → logger-CphW5nUE.cjs} +2 -2
- package/dist/machineMetadata-BQm9YTcI.cjs +79 -0
- package/dist/machineMetadata-BXN_bKU3.mjs +68 -0
- package/dist/{main-DoMFJ2Cl.cjs → main-B2UV51nK.cjs} +112 -132
- package/dist/{main-CshDb5-1.mjs → main-DGkdYfEq.mjs} +106 -126
- package/dist/{mcp-pNc1EbQf.cjs → mcp-BFvAEIRz.cjs} +15 -15
- package/dist/{mcp-DKT_lrvQ.mjs → mcp-CbTtbs0f.mjs} +15 -15
- package/dist/{mirrorProtocol-6IFGPpjJ.mjs → mirrorProtocol-BR4luBC0.mjs} +148 -7
- package/dist/{mirrorProtocol-qKflWTX_.cjs → mirrorProtocol-HKPivs5o.cjs} +150 -4
- package/dist/{package-B7B03ejW.mjs → package-7Ld1YMhh.mjs} +8 -7
- package/dist/{package-DY4zTbKS.cjs → package-KhLqBDX9.cjs} +8 -7
- package/dist/panels-C7IVqpJk.mjs +137 -0
- package/dist/panels-Njf6GelF.cjs +142 -0
- package/dist/{peerTools-3R9RUARX.mjs → peerTools-BOlDRyhi.mjs} +60 -10
- package/dist/{peerTools-iy3_6Yc5.cjs → peerTools-DQNlrcqM.cjs} +60 -9
- package/dist/{persistence-BfX72dne.cjs → persistence-9BMYspxG.cjs} +2 -2
- package/dist/{persistence-DTk4sNpd.mjs → persistence-BFUOHW5h.mjs} +3 -3
- package/dist/{piRunnerArgs-CRQVR9o-.cjs → piRunnerArgs-DGaq6VYM.cjs} +8 -2
- package/dist/{piRunnerArgs-AT8QJY7x.mjs → piRunnerArgs-H2pgpA5z.mjs} +7 -1
- package/dist/{piRuntime-BHRT5MKO.cjs → piRuntime-CT5xv_3h.cjs} +2 -2
- package/dist/{piRuntime-E44qTVQ4.mjs → piRuntime-CdN0JAsa.mjs} +2 -2
- package/dist/{piTerminal-hI4WFdWm.cjs → piTerminal-0FBtXTHK.cjs} +18 -18
- package/dist/{piTerminal-De8nbciM.mjs → piTerminal-C4m9YXAV.mjs} +18 -18
- package/dist/processTreeSnapshot-CuLJDNC-.mjs +101 -0
- package/dist/processTreeSnapshot-mDbnuojn.cjs +105 -0
- package/dist/projectPath-C3ioB4Bu.cjs +13 -0
- package/dist/prompt-BOouDaTM.mjs +99 -0
- package/dist/prompt-lgF9IE82.cjs +105 -0
- package/dist/{attachmentLimits-UyFn8fkQ.mjs → pushNotifications-DCiBEVeC.mjs} +307 -3
- package/dist/{attachmentLimits-SqeAHrVC.cjs → pushNotifications-DI92havG.cjs} +308 -2
- package/dist/{index-DFPT4HOO.cjs → query-BETKBrnz.cjs} +25 -5
- package/dist/{index-CEjJnq05.mjs → query-ywZbQUzR.mjs} +26 -3
- package/dist/{rateLimitWindows-XrJiiBpU.mjs → rateLimitWindows-BkfuUB1a.mjs} +1 -1
- package/dist/{rateLimitWindows-Czb7_7cK.cjs → rateLimitWindows-YRIYVdo4.cjs} +1 -1
- package/dist/{registerCommonHandlers-C0_fyBQ0.cjs → registerCommonHandlers-C7a_dUWs.cjs} +30 -30
- package/dist/{registerCommonHandlers-CvIedVRf.mjs → registerCommonHandlers-CTkCvjxt.mjs} +2 -2
- package/dist/{registerKillSessionHandler-DYl7l4Ts.cjs → registerKillSessionHandler-CIsvBrVe.cjs} +6 -6
- package/dist/{registerKillSessionHandler-gwJ5lTf0.mjs → registerKillSessionHandler-CaqqRYq6.mjs} +6 -6
- package/dist/{remoteSessionClient-BRTIOX5b.cjs → remoteSessionClient-D843fkzL.cjs} +5 -5
- package/dist/{remoteSessionClient-DRb2Jr5s.mjs → remoteSessionClient-PP-mOKmw.mjs} +5 -5
- package/dist/{reportProgressTool-B9nCzbkL.cjs → reportProgressTool-14AXr959.cjs} +84 -2
- package/dist/{reportProgressTool-D5tEoXMW.mjs → reportProgressTool-ZOCNjWHr.mjs} +82 -3
- package/dist/{resources-JDPugcDq.cjs → resources-CvIlkzpP.cjs} +30 -0
- package/dist/{resources-BdFBQi8r.mjs → resources-y9jfyO-_.mjs} +30 -0
- package/dist/{run-CKe_WeLW.cjs → run-CAOCYYfT.cjs} +2806 -110
- package/dist/{run-BQ_FGaOL.mjs → run-Dajw2E5j.mjs} +2787 -91
- package/dist/{runClaude-zrrNcQC_.mjs → runClaude-C6oxWYbp.mjs} +49 -47
- package/dist/{runClaude-MHI5IKM-.cjs → runClaude-CRRKt-tm.cjs} +50 -48
- package/dist/{runClaudeDeps-RRw-Nusc.cjs → runClaudeDeps-B1ysqTvx.cjs} +310 -237
- package/dist/{runClaudeDeps-CVBCokOS.mjs → runClaudeDeps-BcZ68cX3.mjs} +297 -226
- package/dist/{runGemini-kipag2ag.mjs → runGemini-D7yKc4wD.mjs} +61 -55
- package/dist/{runGemini-D7Lg9yCr.cjs → runGemini-DtKFXqf-.cjs} +89 -83
- package/dist/{runOpenClaw-C_lRY3Do.mjs → runOpenClaw-C8ilyLP9.mjs} +19 -19
- package/dist/{runOpenClaw-DCcQ0L2N.cjs → runOpenClaw-Cq29mryb.cjs} +20 -20
- package/dist/{sandbox-BSyXFVFp.mjs → sandbox-CbCutma4.mjs} +4 -4
- package/dist/{sandbox-dMwPTmjm.cjs → sandbox-gIj-EuF4.cjs} +4 -4
- package/dist/{selfCheck-DkzDDUsE.cjs → selfCheck-BTGBVthv.cjs} +39 -38
- package/dist/selfCheck-Smt-5Xiq.mjs +85 -0
- package/dist/{send-dxC0miIA.cjs → send-CZf5lLw_.cjs} +8 -8
- package/dist/{send-C-k9nsd3.mjs → send-YZRMQvMJ.mjs} +9 -9
- package/dist/{server-DxoTYNlw.mjs → server-BqwXRzFZ.mjs} +4 -4
- package/dist/{server-B-W6P7Qr.cjs → server-CknFq6xG.cjs} +6 -6
- package/dist/sessionExitLifecycle-CzkLIgNZ.mjs +142 -0
- package/dist/sessionExitLifecycle-DFltxXU8.cjs +148 -0
- package/dist/{sessionLock-DWX6BbiU.cjs → sessionLock-DRZUcKHT.cjs} +38 -5
- package/dist/{sessionLock-DBdtZGOL.mjs → sessionLock-nBXdJxJm.mjs} +36 -5
- package/dist/{sessionOps-BAnr7n8t.cjs → sessionOps-BrGiU9-s.cjs} +10 -5
- package/dist/{sessionOps-BVoXe12O.mjs → sessionOps-C58iDeD5.mjs} +11 -6
- package/dist/{sessionScanner-BtxoeluY.mjs → sessionScanner-Bm57LEXe.mjs} +3 -3
- package/dist/{sessionScanner-CDOYsEUD.cjs → sessionScanner-CaO8bLaG.cjs} +3 -3
- package/dist/{sessions-C3sZJkzI.mjs → sessions-BXyBHo8n.mjs} +40 -18
- package/dist/{sessions-hAitoN-m.cjs → sessions-uzqPCc37.cjs} +39 -16
- package/dist/{setupOfflineReconnection-_eD4cuUT.mjs → setupOfflineReconnection-1Qlek3wl.mjs} +2 -2
- package/dist/{setupOfflineReconnection-C2EeYTFH.cjs → setupOfflineReconnection-DvvVX3TB.cjs} +2 -2
- package/dist/{spawn-Bc9v7pIf.cjs → spawn-DBkodJEO.cjs} +49 -18
- package/dist/{spawn-qNrB2CD_.mjs → spawn-vn93PhYL.mjs} +49 -18
- package/dist/spawnAgents-CgPMWexP.mjs +79 -0
- package/dist/{spawnAgents-BVEaz35W.cjs → spawnAgents-DLNMlhWJ.cjs} +37 -1
- package/dist/{spawnHappyCLI-C2stUioM.mjs → spawnHappyCLI-BjFZc_7V.mjs} +1 -1
- package/dist/{spawnHappyCLI-fzUagkKV.cjs → spawnHappyCLI-DnUZv0X2.cjs} +2 -2
- package/dist/{specialCommands-BJ-nqY4s.cjs → specialCommands-BRufxlqe.cjs} +3 -3
- package/dist/{specialCommands-C6W-rVyh.mjs → specialCommands-D3ND9bdg.mjs} +3 -3
- package/dist/{startFileWatcher-Bqlqjt93.cjs → startFileWatcher-D9cYzZOq.cjs} +1 -1
- package/dist/{startFileWatcher-CR09Snmz.mjs → startFileWatcher-DXJ7yB5v.mjs} +1 -1
- package/dist/startupSessionCreate-kdr3m1uX.cjs +26 -0
- package/dist/startupSessionCreate-uZ6BM0ty.mjs +24 -0
- package/dist/{streamRelay-CJoMk_d2.mjs → streamRelay-DnMCMMfV.mjs} +1 -1
- package/dist/{streamRelay-9kBPpbvU.cjs → streamRelay-Dy6amlzx.cjs} +1 -1
- package/dist/{sync-Dhmtk66S.cjs → sync-Bn-idAoy.cjs} +1 -1
- package/dist/{sync-DbW07iQS.mjs → sync-BvVhDO40.mjs} +1 -1
- package/dist/{systemPrompt-CQcuUmVp.mjs → systemPrompt-CIZcJuJF.mjs} +4 -3
- package/dist/{systemPrompt-3PYi3EUY.cjs → systemPrompt-DlyEk35T.cjs} +4 -3
- package/dist/{teams-DpxLcUU_.cjs → teams-BLeRpDxv.cjs} +8 -8
- package/dist/{teams-CwF4Z2fA.mjs → teams-DLY3B5yi.mjs} +8 -8
- package/dist/{time-A6zR3Iy6.cjs → time-Cjv0zxQO.cjs} +1 -1
- package/dist/{time-BuGWTVP6.mjs → time-D3ETL7Jb.mjs} +1 -1
- package/dist/{titleGenerator-D26gvNaS.cjs → titleGenerator-Cgp5ihFb.cjs} +10 -9
- package/dist/{titleGenerator-BGEzNWC9.mjs → titleGenerator-Uzbd4utr.mjs} +9 -8
- package/dist/{todo-DrZc76H5.mjs → todo-C9Ga-oEM.mjs} +6 -6
- package/dist/{todo-73g3NCIO.cjs → todo-pOMcEECE.cjs} +6 -6
- package/dist/{tools-CxJp4T1T.cjs → tools-BL7Byl_x.cjs} +1 -1
- package/dist/{tools-BtsrQnNS.mjs → tools-Cho7iIWf.mjs} +1 -1
- package/dist/{uninstall-DWNYvewQ.cjs → uninstall-CbayEVoV.cjs} +6 -6
- package/dist/{uninstall-DOb2mTwV.mjs → uninstall-CvZHVY9C.mjs} +3 -3
- package/dist/webPanels-B2_C2-3g.mjs +49 -0
- package/dist/webPanels-FCgFKvVe.cjs +53 -0
- package/package.json +8 -7
- package/dist/machineMetadata-B1H9gNbN.mjs +0 -39
- package/dist/machineMetadata-DcUupMje.cjs +0 -42
- package/dist/messageBuffer-BWlGgR3A.mjs +0 -71
- package/dist/messageBuffer-fJMH6uY8.cjs +0 -73
- package/dist/projectPath-ChLhdOyt.cjs +0 -13
- package/dist/selfCheck-CF7XGJPb.mjs +0 -84
- package/dist/sessionModeFile-ByLbXTbg.mjs +0 -32
- package/dist/sessionModeFile-CLLdidiJ.cjs +0 -36
- package/dist/spawnAgents-Bw6j4tqz.mjs +0 -45
|
@@ -1,19 +1,19 @@
|
|
|
1
1
|
import{createRequire as _pkgrollCR}from"node:module";const require=_pkgrollCR(import.meta.url);import chalk from 'chalk';
|
|
2
|
-
import { l as logger, g as getLatestDaemonLog } from './logger
|
|
3
|
-
import { d as readDaemonState, r as readSettings,
|
|
4
|
-
import { a as authAndSetupMachineIfNeeded } from './auth-
|
|
5
|
-
import { p as packageJson } from './package-
|
|
2
|
+
import { l as logger, g as getLatestDaemonLog } from './logger-BUngm5Xg.mjs';
|
|
3
|
+
import { d as readDaemonState, r as readSettings, b as readCredentialsForConfiguredRelay } from './persistence-BFUOHW5h.mjs';
|
|
4
|
+
import { a as authAndSetupMachineIfNeeded } from './auth-BG1DY0gj.mjs';
|
|
5
|
+
import { p as packageJson } from './package-7Ld1YMhh.mjs';
|
|
6
6
|
import { z } from 'zod';
|
|
7
|
-
import { l as listDaemonSessions,
|
|
7
|
+
import { l as listDaemonSessions, f as stopDaemonSession, a as checkIfDaemonRunningAndCleanupStaleState, s as stopDaemon } from './controlClient-DoeYovwP.mjs';
|
|
8
8
|
import { S as SYSTEMD_RESTART_HINT } from './daemonSupervisor-C6urv3_8.mjs';
|
|
9
|
-
import { s as spawnHappyCLI } from './spawnHappyCLI-
|
|
9
|
+
import { s as spawnHappyCLI } from './spawnHappyCLI-BjFZc_7V.mjs';
|
|
10
10
|
import { execFileSync } from 'node:child_process';
|
|
11
|
-
import { e as ensureDaemonRunning, a as extractNoSandboxFlag } from './ensureDaemonRunning-
|
|
11
|
+
import { e as ensureDaemonRunning, a as extractNoSandboxFlag } from './ensureDaemonRunning-b1e8LCSM.mjs';
|
|
12
12
|
import { p as planClaudeStartup } from './startupPlan-DFMyNgAs.mjs';
|
|
13
|
-
import { i as isStandaloneVersionRequest } from './index-
|
|
14
|
-
import { c as configuration } from './configuration-
|
|
13
|
+
import { i as isStandaloneVersionRequest } from './index-wCbtF4BK.mjs';
|
|
14
|
+
import { c as configuration } from './configuration-PxzEJumr.mjs';
|
|
15
15
|
import { d as daemonEndpointsMatch } from './doctorReadiness-C208SMN9.mjs';
|
|
16
|
-
import { p as parsePiRunnerArgs, m as missingPiPrerequisites, a as piSetupMessage, b as piAdapterMissingHint } from './piRunnerArgs-
|
|
16
|
+
import { p as parsePiRunnerArgs, m as missingPiPrerequisites, a as piSetupMessage, b as piAdapterMissingHint } from './piRunnerArgs-H2pgpA5z.mjs';
|
|
17
17
|
import { c as commandOnPath } from './detectCLI-CSGMlV51.mjs';
|
|
18
18
|
import 'node:util';
|
|
19
19
|
import 'node:fs';
|
|
@@ -23,8 +23,8 @@ import './authRelay-DhQhkBvX.mjs';
|
|
|
23
23
|
import 'node:crypto';
|
|
24
24
|
import 'tweetnacl';
|
|
25
25
|
import 'axios';
|
|
26
|
-
import './time-
|
|
27
|
-
import './browser-
|
|
26
|
+
import './time-D3ETL7Jb.mjs';
|
|
27
|
+
import './browser-DUNetFT4.mjs';
|
|
28
28
|
import 'open';
|
|
29
29
|
import 'cross-spawn';
|
|
30
30
|
import './projectPath-BTBIMB57.mjs';
|
|
@@ -32,7 +32,7 @@ import 'path';
|
|
|
32
32
|
import 'url';
|
|
33
33
|
import 'node:module';
|
|
34
34
|
import 'node:os';
|
|
35
|
-
import './
|
|
35
|
+
import './acpSessionResume-B9l54P-X.mjs';
|
|
36
36
|
import 'child_process';
|
|
37
37
|
import 'os';
|
|
38
38
|
import 'fs';
|
|
@@ -42,6 +42,24 @@ const CLAUDE_OPTIONS_HELP = `Very Happy forwards most Claude options.
|
|
|
42
42
|
Use Claude flags with very-happy as you would with claude. The --settings flag
|
|
43
43
|
is reserved for Very Happy's session hooks and is ignored with a warning.`;
|
|
44
44
|
|
|
45
|
+
let recorded = false;
|
|
46
|
+
function recordExitReason(code, reason) {
|
|
47
|
+
recorded = true;
|
|
48
|
+
logger.debug(`[EXIT] Exiting with code ${code}: ${oneLine(reason)}`);
|
|
49
|
+
}
|
|
50
|
+
function installExitReasonFallback() {
|
|
51
|
+
process.on("exit", (code) => {
|
|
52
|
+
if (code !== 0 && !recorded) logger.debug(`[EXIT] Exiting with code ${code}: no reason was recorded`);
|
|
53
|
+
});
|
|
54
|
+
}
|
|
55
|
+
function errorReason(error) {
|
|
56
|
+
return error instanceof Error ? error.message : String(error ?? "Unknown error");
|
|
57
|
+
}
|
|
58
|
+
function oneLine(value) {
|
|
59
|
+
const line = value.replace(/\s+/g, " ").trim();
|
|
60
|
+
return line.length > 500 ? `${line.slice(0, 499)}\u2026` : line;
|
|
61
|
+
}
|
|
62
|
+
|
|
45
63
|
async function main() {
|
|
46
64
|
const args = process.argv.slice(2);
|
|
47
65
|
if (isStandaloneVersionRequest(args)) {
|
|
@@ -51,6 +69,7 @@ async function main() {
|
|
|
51
69
|
if (!args.includes("--version")) {
|
|
52
70
|
logger.debug("Starting happy CLI with args: ", process.argv);
|
|
53
71
|
}
|
|
72
|
+
installExitReasonFallback();
|
|
54
73
|
const subcommand = args[0];
|
|
55
74
|
if (!args.includes("--version")) ;
|
|
56
75
|
if (subcommand === "doctor") {
|
|
@@ -74,50 +93,34 @@ Conversation history is preserved on the server, but in-flight tool calls are in
|
|
|
74
93
|
}
|
|
75
94
|
process.exit(0);
|
|
76
95
|
}
|
|
77
|
-
await (await import('./doctor-
|
|
96
|
+
await (await import('./doctor-IctjVh9T.mjs').then(function (n) { return n.d; })).runDoctorCommand();
|
|
78
97
|
return;
|
|
79
98
|
} else if (subcommand === "auth") {
|
|
80
99
|
try {
|
|
81
|
-
await (await import('./auth-
|
|
100
|
+
await (await import('./auth-rggxMpEE.mjs')).handleAuthCommand(args.slice(1));
|
|
82
101
|
} catch (error) {
|
|
83
|
-
|
|
84
|
-
if (process.env.DEBUG) {
|
|
85
|
-
console.error(error);
|
|
86
|
-
}
|
|
87
|
-
process.exit(1);
|
|
102
|
+
failCommand(error);
|
|
88
103
|
}
|
|
89
104
|
return;
|
|
90
105
|
} else if (subcommand === "connect") {
|
|
91
106
|
try {
|
|
92
|
-
await (await import('./connect-
|
|
107
|
+
await (await import('./connect-BQrg3TB6.mjs')).handleConnectCommand(args.slice(1));
|
|
93
108
|
} catch (error) {
|
|
94
|
-
|
|
95
|
-
if (process.env.DEBUG) {
|
|
96
|
-
console.error(error);
|
|
97
|
-
}
|
|
98
|
-
process.exit(1);
|
|
109
|
+
failCommand(error);
|
|
99
110
|
}
|
|
100
111
|
return;
|
|
101
112
|
} else if (subcommand === "sandbox") {
|
|
102
113
|
try {
|
|
103
|
-
await (await import('./sandbox-
|
|
114
|
+
await (await import('./sandbox-CbCutma4.mjs')).handleSandboxCommand(args.slice(1));
|
|
104
115
|
} catch (error) {
|
|
105
|
-
|
|
106
|
-
if (process.env.DEBUG) {
|
|
107
|
-
console.error(error);
|
|
108
|
-
}
|
|
109
|
-
process.exit(1);
|
|
116
|
+
failCommand(error);
|
|
110
117
|
}
|
|
111
118
|
return;
|
|
112
119
|
} else if (subcommand === "server") {
|
|
113
120
|
try {
|
|
114
|
-
await (await import('./server-
|
|
121
|
+
await (await import('./server-BqwXRzFZ.mjs')).handleServerCommand(args.slice(1));
|
|
115
122
|
} catch (error) {
|
|
116
|
-
|
|
117
|
-
if (process.env.DEBUG) {
|
|
118
|
-
console.error(error);
|
|
119
|
-
}
|
|
120
|
-
process.exit(1);
|
|
123
|
+
failCommand(error);
|
|
121
124
|
}
|
|
122
125
|
return;
|
|
123
126
|
} else if (subcommand === "bye") {
|
|
@@ -143,15 +146,11 @@ Conversation history is preserved on the server, but in-flight tool calls are in
|
|
|
143
146
|
await installTerminalHooks({ remove: command.action === "remove" });
|
|
144
147
|
process.exit(0);
|
|
145
148
|
} catch (error) {
|
|
146
|
-
|
|
147
|
-
if (process.env.DEBUG) {
|
|
148
|
-
console.error(error);
|
|
149
|
-
}
|
|
150
|
-
process.exit(1);
|
|
149
|
+
failCommand(error);
|
|
151
150
|
}
|
|
152
151
|
} else if (subcommand === "agent-home") {
|
|
153
152
|
try {
|
|
154
|
-
const { parseAgentHomeArgs, runAgentHomeCommand } = await import('./agentHome-
|
|
153
|
+
const { parseAgentHomeArgs, runAgentHomeCommand } = await import('./agentHome-CmGy0NWv.mjs');
|
|
155
154
|
await runAgentHomeCommand(parseAgentHomeArgs(args.slice(1)));
|
|
156
155
|
process.exit(0);
|
|
157
156
|
} catch (error) {
|
|
@@ -160,60 +159,40 @@ Conversation history is preserved on the server, but in-flight tool calls are in
|
|
|
160
159
|
}
|
|
161
160
|
} else if (subcommand === "spawn") {
|
|
162
161
|
try {
|
|
163
|
-
const { handleSpawnCommand } = await import('./spawn-
|
|
162
|
+
const { handleSpawnCommand } = await import('./spawn-vn93PhYL.mjs');
|
|
164
163
|
await handleSpawnCommand(args.slice(1));
|
|
165
164
|
} catch (error) {
|
|
166
|
-
|
|
167
|
-
if (process.env.DEBUG) {
|
|
168
|
-
console.error(error);
|
|
169
|
-
}
|
|
170
|
-
process.exit(1);
|
|
165
|
+
failCommand(error);
|
|
171
166
|
}
|
|
172
167
|
return;
|
|
173
168
|
} else if (subcommand === "sessions") {
|
|
174
169
|
try {
|
|
175
|
-
const { handleSessionsCommand } = await import('./sessions-
|
|
170
|
+
const { handleSessionsCommand } = await import('./sessions-BXyBHo8n.mjs');
|
|
176
171
|
await handleSessionsCommand(args.slice(1));
|
|
177
172
|
} catch (error) {
|
|
178
|
-
|
|
179
|
-
if (process.env.DEBUG) {
|
|
180
|
-
console.error(error);
|
|
181
|
-
}
|
|
182
|
-
process.exit(1);
|
|
173
|
+
failCommand(error);
|
|
183
174
|
}
|
|
184
175
|
return;
|
|
185
176
|
} else if (subcommand === "send") {
|
|
186
177
|
try {
|
|
187
|
-
const { handleSendCommand } = await import('./send-
|
|
178
|
+
const { handleSendCommand } = await import('./send-YZRMQvMJ.mjs');
|
|
188
179
|
await handleSendCommand(args.slice(1));
|
|
189
180
|
} catch (error) {
|
|
190
|
-
|
|
191
|
-
if (process.env.DEBUG) {
|
|
192
|
-
console.error(error);
|
|
193
|
-
}
|
|
194
|
-
process.exit(1);
|
|
181
|
+
failCommand(error);
|
|
195
182
|
}
|
|
196
183
|
return;
|
|
197
184
|
} else if (subcommand === "resume") {
|
|
198
185
|
try {
|
|
199
|
-
await (await import('./handleResumeCommand-
|
|
186
|
+
await (await import('./handleResumeCommand-DpaZvm2c.mjs')).handleResumeCommand(args.slice(1));
|
|
200
187
|
} catch (error) {
|
|
201
|
-
|
|
202
|
-
if (process.env.DEBUG) {
|
|
203
|
-
console.error(error);
|
|
204
|
-
}
|
|
205
|
-
process.exit(1);
|
|
188
|
+
failCommand(error);
|
|
206
189
|
}
|
|
207
190
|
return;
|
|
208
191
|
} else if (subcommand === "codex") {
|
|
209
192
|
try {
|
|
210
|
-
await (await import('./codexCommand-
|
|
193
|
+
await (await import('./codexCommand-B_xUH79E.mjs')).handleCodexCommand(args.slice(1));
|
|
211
194
|
} catch (error) {
|
|
212
|
-
|
|
213
|
-
if (process.env.DEBUG) {
|
|
214
|
-
console.error(error);
|
|
215
|
-
}
|
|
216
|
-
process.exit(1);
|
|
195
|
+
failCommand(error);
|
|
217
196
|
}
|
|
218
197
|
return;
|
|
219
198
|
} else if (subcommand === "gemini") {
|
|
@@ -290,9 +269,9 @@ Conversation history is preserved on the server, but in-flight tool calls are in
|
|
|
290
269
|
if (geminiSubcommand === "project" && args[2] === "set" && args[3]) {
|
|
291
270
|
const projectId = args[3];
|
|
292
271
|
try {
|
|
293
|
-
const { saveGoogleCloudProjectToConfig } = await import('./config-
|
|
294
|
-
const { readCredentialsForConfiguredRelay: readCredentialsForConfiguredRelay2 } = await import('./persistence-
|
|
295
|
-
const { ApiClient } = await import('./api-
|
|
272
|
+
const { saveGoogleCloudProjectToConfig } = await import('./config-DSu0Blos.mjs');
|
|
273
|
+
const { readCredentialsForConfiguredRelay: readCredentialsForConfiguredRelay2 } = await import('./persistence-BFUOHW5h.mjs').then(function (n) { return n.F; });
|
|
274
|
+
const { ApiClient } = await import('./api-Hov8p7CA.mjs').then(function (n) { return n.b; });
|
|
296
275
|
let userEmail = void 0;
|
|
297
276
|
try {
|
|
298
277
|
const credentials = await readCredentialsForConfiguredRelay2();
|
|
@@ -323,7 +302,7 @@ Conversation history is preserved on the server, but in-flight tool calls are in
|
|
|
323
302
|
}
|
|
324
303
|
if (geminiSubcommand === "project" && args[2] === "get") {
|
|
325
304
|
try {
|
|
326
|
-
const { readGeminiLocalConfig } = await import('./config-
|
|
305
|
+
const { readGeminiLocalConfig } = await import('./config-DSu0Blos.mjs');
|
|
327
306
|
const config = readGeminiLocalConfig();
|
|
328
307
|
if (config.googleCloudProject) {
|
|
329
308
|
console.log(`Current Google Cloud Project: ${config.googleCloudProject}`);
|
|
@@ -363,7 +342,7 @@ Conversation history is preserved on the server, but in-flight tool calls are in
|
|
|
363
342
|
process.exit(0);
|
|
364
343
|
}
|
|
365
344
|
try {
|
|
366
|
-
const { runGemini } = await import('./runGemini-
|
|
345
|
+
const { runGemini } = await import('./runGemini-D7yKc4wD.mjs');
|
|
367
346
|
let startedBy = void 0;
|
|
368
347
|
for (let i = 1; i < args.length; i++) {
|
|
369
348
|
if (args[i] === "--started-by") {
|
|
@@ -376,17 +355,13 @@ Conversation history is preserved on the server, but in-flight tool calls are in
|
|
|
376
355
|
await ensureDaemonRunning();
|
|
377
356
|
await runGemini({ credentials, startedBy });
|
|
378
357
|
} catch (error) {
|
|
379
|
-
|
|
380
|
-
if (process.env.DEBUG) {
|
|
381
|
-
console.error(error);
|
|
382
|
-
}
|
|
383
|
-
process.exit(1);
|
|
358
|
+
failCommand(error);
|
|
384
359
|
}
|
|
385
360
|
return;
|
|
386
361
|
} else if (subcommand === "pi") {
|
|
387
362
|
if (args[1] === "--terminal") {
|
|
388
363
|
try {
|
|
389
|
-
const { runPiTerminal } = await import('./piTerminal-
|
|
364
|
+
const { runPiTerminal } = await import('./piTerminal-C4m9YXAV.mjs');
|
|
390
365
|
process.exitCode = await runPiTerminal(args.slice(2));
|
|
391
366
|
} catch (error) {
|
|
392
367
|
console.error(chalk.red("Error:"), error instanceof Error ? error.message : "Unknown error");
|
|
@@ -411,7 +386,7 @@ Conversation history is preserved on the server, but in-flight tool calls are in
|
|
|
411
386
|
process.exit(1);
|
|
412
387
|
}
|
|
413
388
|
}
|
|
414
|
-
const { runAcp, resolveAcpAgentConfig } = await import('./index-
|
|
389
|
+
const { runAcp, resolveAcpAgentConfig } = await import('./index-BUNnpGFF.mjs');
|
|
415
390
|
const resolved = resolveAcpAgentConfig(["pi", ...parsed.passthrough]);
|
|
416
391
|
const { credentials } = await authAndSetupMachineIfNeeded();
|
|
417
392
|
await ensureDaemonRunning();
|
|
@@ -424,10 +399,15 @@ Conversation history is preserved on the server, but in-flight tool calls are in
|
|
|
424
399
|
agentName: resolved.agentName,
|
|
425
400
|
command: resolved.command,
|
|
426
401
|
args: resolved.args,
|
|
427
|
-
onBackendError: printHint
|
|
402
|
+
onBackendError: printHint,
|
|
403
|
+
resumeAgentSessionId: parsed.resume
|
|
428
404
|
});
|
|
429
|
-
if (hintPrinted)
|
|
405
|
+
if (hintPrinted) {
|
|
406
|
+
recordExitReason(1, "pi adapter prerequisites are missing");
|
|
407
|
+
process.exit(1);
|
|
408
|
+
}
|
|
430
409
|
} catch (error) {
|
|
410
|
+
recordExitReason(1, errorReason(error));
|
|
431
411
|
console.error(chalk.red("Error:"), error instanceof Error ? error.message : "Unknown error");
|
|
432
412
|
printHint(error instanceof Error ? error.message : void 0);
|
|
433
413
|
if (process.env.DEBUG) {
|
|
@@ -438,7 +418,7 @@ Conversation history is preserved on the server, but in-flight tool calls are in
|
|
|
438
418
|
return;
|
|
439
419
|
} else if (subcommand === "acp") {
|
|
440
420
|
try {
|
|
441
|
-
const { runAcp, resolveAcpAgentConfig } = await import('./index-
|
|
421
|
+
const { runAcp, resolveAcpAgentConfig } = await import('./index-BUNnpGFF.mjs');
|
|
442
422
|
let startedBy = void 0;
|
|
443
423
|
let verbose = false;
|
|
444
424
|
const acpArgs = [];
|
|
@@ -469,16 +449,12 @@ Conversation history is preserved on the server, but in-flight tool calls are in
|
|
|
469
449
|
args: resolved.args
|
|
470
450
|
});
|
|
471
451
|
} catch (error) {
|
|
472
|
-
|
|
473
|
-
if (process.env.DEBUG) {
|
|
474
|
-
console.error(error);
|
|
475
|
-
}
|
|
476
|
-
process.exit(1);
|
|
452
|
+
failCommand(error);
|
|
477
453
|
}
|
|
478
454
|
return;
|
|
479
455
|
} else if (subcommand === "openclaw") {
|
|
480
456
|
try {
|
|
481
|
-
const { runOpenClaw } = await import('./runOpenClaw-
|
|
457
|
+
const { runOpenClaw } = await import('./runOpenClaw-C8ilyLP9.mjs');
|
|
482
458
|
let startedBy = void 0;
|
|
483
459
|
let verbose = false;
|
|
484
460
|
let gatewayUrl;
|
|
@@ -508,28 +484,20 @@ Conversation history is preserved on the server, but in-flight tool calls are in
|
|
|
508
484
|
gatewayPassword
|
|
509
485
|
});
|
|
510
486
|
} catch (error) {
|
|
511
|
-
|
|
512
|
-
if (process.env.DEBUG) {
|
|
513
|
-
console.error(error);
|
|
514
|
-
}
|
|
515
|
-
process.exit(1);
|
|
487
|
+
failCommand(error);
|
|
516
488
|
}
|
|
517
489
|
return;
|
|
518
490
|
} else if (subcommand === "logout") {
|
|
519
491
|
console.log(chalk.yellow('Note: "very-happy logout" is deprecated. Use "very-happy auth logout" instead.\n'));
|
|
520
492
|
try {
|
|
521
|
-
await (await import('./auth-
|
|
493
|
+
await (await import('./auth-rggxMpEE.mjs')).handleAuthCommand(["logout"]);
|
|
522
494
|
} catch (error) {
|
|
523
|
-
|
|
524
|
-
if (process.env.DEBUG) {
|
|
525
|
-
console.error(error);
|
|
526
|
-
}
|
|
527
|
-
process.exit(1);
|
|
495
|
+
failCommand(error);
|
|
528
496
|
}
|
|
529
497
|
return;
|
|
530
498
|
} else if (subcommand === "todo") {
|
|
531
499
|
try {
|
|
532
|
-
const { handleTodoCommand } = await import('./todo-
|
|
500
|
+
const { handleTodoCommand } = await import('./todo-C9Ga-oEM.mjs');
|
|
533
501
|
await handleTodoCommand(args.slice(1));
|
|
534
502
|
} catch (error) {
|
|
535
503
|
console.error(JSON.stringify({ error: error instanceof Error ? error.message : "Todo command failed" }));
|
|
@@ -538,7 +506,7 @@ Conversation history is preserved on the server, but in-flight tool calls are in
|
|
|
538
506
|
return;
|
|
539
507
|
} else if (subcommand === "teams") {
|
|
540
508
|
try {
|
|
541
|
-
const { handleTeamsCommand } = await import('./teams-
|
|
509
|
+
const { handleTeamsCommand } = await import('./teams-DLY3B5yi.mjs');
|
|
542
510
|
await handleTeamsCommand(args.slice(1));
|
|
543
511
|
} catch (error) {
|
|
544
512
|
console.error(error instanceof Error ? error.message : "Teams command failed");
|
|
@@ -547,7 +515,7 @@ Conversation history is preserved on the server, but in-flight tool calls are in
|
|
|
547
515
|
return;
|
|
548
516
|
} else if (subcommand === "auto") {
|
|
549
517
|
try {
|
|
550
|
-
const { handleAutoCommand } = await import('./auto-
|
|
518
|
+
const { handleAutoCommand } = await import('./auto-CXXLXGeL.mjs');
|
|
551
519
|
await handleAutoCommand(args.slice(1));
|
|
552
520
|
} catch (error) {
|
|
553
521
|
console.error(chalk.red("Error:"), error instanceof Error ? error.message : "Automation command failed");
|
|
@@ -559,7 +527,7 @@ Conversation history is preserved on the server, but in-flight tool calls are in
|
|
|
559
527
|
return;
|
|
560
528
|
} else if (subcommand === "mcp" && (args.length === 1 || args.length === 2 && args[1] === "--terminal-tools")) {
|
|
561
529
|
try {
|
|
562
|
-
const { handleMcpCommand } = await import('./mcp-
|
|
530
|
+
const { handleMcpCommand } = await import('./mcp-CbTtbs0f.mjs');
|
|
563
531
|
await handleMcpCommand(args[1] === "--terminal-tools");
|
|
564
532
|
} catch (error) {
|
|
565
533
|
process.stderr.write(`[very-happy mcp] Fatal: ${error instanceof Error ? error.message : String(error)}
|
|
@@ -567,15 +535,21 @@ Conversation history is preserved on the server, but in-flight tool calls are in
|
|
|
567
535
|
process.exit(1);
|
|
568
536
|
}
|
|
569
537
|
return;
|
|
538
|
+
} else if (subcommand === "panels" || subcommand === "attention") {
|
|
539
|
+
try {
|
|
540
|
+
const { handlePanelsCommand, handleAttentionCommand } = await import('./panels-C7IVqpJk.mjs');
|
|
541
|
+
if (subcommand === "panels") await handlePanelsCommand(args.slice(1));
|
|
542
|
+
else await handleAttentionCommand(args.slice(1));
|
|
543
|
+
} catch (error) {
|
|
544
|
+
console.error(chalk.red("Error:"), error instanceof Error ? error.message : String(error));
|
|
545
|
+
process.exitCode = 1;
|
|
546
|
+
}
|
|
547
|
+
return;
|
|
570
548
|
} else if (subcommand === "notify") {
|
|
571
549
|
try {
|
|
572
550
|
await handleNotifyCommand(args.slice(1));
|
|
573
551
|
} catch (error) {
|
|
574
|
-
|
|
575
|
-
if (process.env.DEBUG) {
|
|
576
|
-
console.error(error);
|
|
577
|
-
}
|
|
578
|
-
process.exit(1);
|
|
552
|
+
failCommand(error);
|
|
579
553
|
}
|
|
580
554
|
return;
|
|
581
555
|
} else if (subcommand === "daemon") {
|
|
@@ -651,13 +625,13 @@ Conversation history is preserved on the server, but in-flight tool calls are in
|
|
|
651
625
|
}
|
|
652
626
|
process.exit(0);
|
|
653
627
|
} else if (daemonSubcommand === "start-sync") {
|
|
654
|
-
await (await import('./run-
|
|
628
|
+
await (await import('./run-Dajw2E5j.mjs')).startDaemon();
|
|
655
629
|
process.exit(0);
|
|
656
630
|
} else if (daemonSubcommand === "stop") {
|
|
657
631
|
await stopDaemon();
|
|
658
632
|
process.exit(0);
|
|
659
633
|
} else if (daemonSubcommand === "status") {
|
|
660
|
-
await (await import('./doctor-
|
|
634
|
+
await (await import('./doctor-IctjVh9T.mjs').then(function (n) { return n.d; })).runDoctorDaemon();
|
|
661
635
|
process.exit(0);
|
|
662
636
|
} else if (daemonSubcommand === "logs") {
|
|
663
637
|
const latest = await getLatestDaemonLog();
|
|
@@ -669,14 +643,14 @@ Conversation history is preserved on the server, but in-flight tool calls are in
|
|
|
669
643
|
process.exit(0);
|
|
670
644
|
} else if (daemonSubcommand === "install") {
|
|
671
645
|
try {
|
|
672
|
-
await (await import('./install-
|
|
646
|
+
await (await import('./install-CdzSV7qO.mjs')).install();
|
|
673
647
|
} catch (error) {
|
|
674
648
|
console.error(chalk.red("Error:"), error instanceof Error ? error.message : "Unknown error");
|
|
675
649
|
process.exit(1);
|
|
676
650
|
}
|
|
677
651
|
} else if (daemonSubcommand === "uninstall") {
|
|
678
652
|
try {
|
|
679
|
-
await (await import('./uninstall-
|
|
653
|
+
await (await import('./uninstall-CvZHVY9C.mjs')).uninstall();
|
|
680
654
|
} catch (error) {
|
|
681
655
|
console.error(chalk.red("Error:"), error instanceof Error ? error.message : "Unknown error");
|
|
682
656
|
process.exit(1);
|
|
@@ -807,6 +781,8 @@ ${chalk.bold("Usage:")}
|
|
|
807
781
|
sessions or scripts with tracked runs (auto --help)
|
|
808
782
|
very-happy sandbox Configure and manage OS-level sandboxing
|
|
809
783
|
very-happy notify Send push notification
|
|
784
|
+
very-happy panels Web panels declared in settings.json (panels list|check)
|
|
785
|
+
very-happy attention Ask a person to step in (attention "<reason>" [--panel id])
|
|
810
786
|
very-happy mcp Stdio MCP server exposing copy_to_clipboard for a
|
|
811
787
|
plain claude CLI (register once with:
|
|
812
788
|
claude mcp add --scope user very-happy-clipboard -- very-happy mcp)
|
|
@@ -863,14 +839,10 @@ ${chalk.bold.cyan("Claude Code Options (from `claude --help`):")}
|
|
|
863
839
|
await ensureDaemonRunning();
|
|
864
840
|
}
|
|
865
841
|
try {
|
|
866
|
-
const { runClaude } = await import('./runClaude-
|
|
842
|
+
const { runClaude } = await import('./runClaude-C6oxWYbp.mjs');
|
|
867
843
|
await runClaude(credentials, options);
|
|
868
844
|
} catch (error) {
|
|
869
|
-
|
|
870
|
-
if (process.env.DEBUG) {
|
|
871
|
-
console.error(error);
|
|
872
|
-
}
|
|
873
|
-
process.exit(1);
|
|
845
|
+
failCommand(error);
|
|
874
846
|
}
|
|
875
847
|
}
|
|
876
848
|
}
|
|
@@ -922,7 +894,7 @@ ${chalk.bold("Examples:")}
|
|
|
922
894
|
}
|
|
923
895
|
console.log(chalk.blue("\u{1F4F1} Sending push notification..."));
|
|
924
896
|
try {
|
|
925
|
-
const { ApiClient } = await import('./api-
|
|
897
|
+
const { ApiClient } = await import('./api-Hov8p7CA.mjs').then(function (n) { return n.b; });
|
|
926
898
|
const api = await ApiClient.create(credentials);
|
|
927
899
|
const notificationTitle = title || "Happy";
|
|
928
900
|
api.push().sendToAllDevices(
|
|
@@ -943,5 +915,13 @@ ${chalk.bold("Examples:")}
|
|
|
943
915
|
throw error;
|
|
944
916
|
}
|
|
945
917
|
}
|
|
918
|
+
function failCommand(error) {
|
|
919
|
+
recordExitReason(1, errorReason(error));
|
|
920
|
+
console.error(chalk.red("Error:"), error instanceof Error ? error.message : "Unknown error");
|
|
921
|
+
if (process.env.DEBUG) {
|
|
922
|
+
console.error(error);
|
|
923
|
+
}
|
|
924
|
+
process.exit(1);
|
|
925
|
+
}
|
|
946
926
|
|
|
947
927
|
export { main };
|
|
@@ -1,19 +1,19 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var tools = require('./tools-
|
|
3
|
+
var tools = require('./tools-BL7Byl_x.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-Bqv5v5OM.cjs');
|
|
8
8
|
var limits = require('./limits-C-a7gr04.cjs');
|
|
9
|
-
var downloadTarget = require('./downloadTarget-
|
|
10
|
-
var logger = require('./logger-
|
|
9
|
+
var downloadTarget = require('./downloadTarget-CEb9che-.cjs');
|
|
10
|
+
var logger = require('./logger-CphW5nUE.cjs');
|
|
11
11
|
var previewPath = require('./previewPath-B0rBdhy1.cjs');
|
|
12
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-9BMYspxG.cjs');
|
|
16
|
+
require('./configuration-CYO-kPOS.cjs');
|
|
17
17
|
require('node:crypto');
|
|
18
18
|
require('axios');
|
|
19
19
|
require('tweetnacl');
|
|
@@ -23,25 +23,25 @@ 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-Cgp5ihFb.cjs');
|
|
27
27
|
var terminalToolContext = require('./terminalToolContext-DoV9Gs7K.cjs');
|
|
28
|
-
require('./client-
|
|
29
|
-
require('./context-
|
|
30
|
-
require('./sessionOps-
|
|
28
|
+
require('./client-D_loZ9IK.cjs');
|
|
29
|
+
require('./context-6TP-iz_c.cjs');
|
|
30
|
+
require('./sessionOps-BrGiU9-s.cjs');
|
|
31
31
|
require('./authRelay-Dy1qU9td.cjs');
|
|
32
|
-
require('./time-
|
|
32
|
+
require('./time-Cjv0zxQO.cjs');
|
|
33
33
|
require('./backgroundTaskActivity-CBvUdj39.cjs');
|
|
34
|
-
require('./remoteSessionClient-
|
|
34
|
+
require('./remoteSessionClient-D843fkzL.cjs');
|
|
35
35
|
require('./ids-B6ZC0HGt.cjs');
|
|
36
|
-
require('./bootstrap-
|
|
36
|
+
require('./bootstrap-DoA7okld.cjs');
|
|
37
37
|
require('chalk');
|
|
38
38
|
require('node:util');
|
|
39
39
|
require('./trimIdent-4gvk9Wk6.cjs');
|
|
40
|
-
require('./package-
|
|
40
|
+
require('./package-KhLqBDX9.cjs');
|
|
41
41
|
require('./tmuxSocket-D-Xt6Vn-.cjs');
|
|
42
42
|
require('node:module');
|
|
43
43
|
require('./oneShotPrompts-CL0dip9C.cjs');
|
|
44
|
-
require('./projectPath-
|
|
44
|
+
require('./projectPath-C3ioB4Bu.cjs');
|
|
45
45
|
require('path');
|
|
46
46
|
require('url');
|
|
47
47
|
|
|
@@ -1,17 +1,17 @@
|
|
|
1
|
-
import { r as registerTeamsTools } from './tools-
|
|
1
|
+
import { r as registerTeamsTools } from './tools-Cho7iIWf.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,
|
|
5
|
+
import { p as pushClipboardViaDaemon, b as pushFilePreviewViaDaemon, d as setTerminalTitleViaDaemon } from './controlClient-DoeYovwP.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 { c as checkDownloadTarget, r as registerAssistantSessionTools } from './downloadTarget-
|
|
8
|
-
import { l as logger } from './logger
|
|
7
|
+
import { c as checkDownloadTarget, r as registerAssistantSessionTools } from './downloadTarget-jbOz1egC.mjs';
|
|
8
|
+
import { l as logger } from './logger-BUngm5Xg.mjs';
|
|
9
9
|
import { c as checkPreviewPath } from './previewPath-CXN4Vag0.mjs';
|
|
10
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-BFUOHW5h.mjs';
|
|
14
|
+
import './configuration-PxzEJumr.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-Uzbd4utr.mjs';
|
|
25
25
|
import { r as resolveMcpTerminalId } from './terminalToolContext-CFeGeaNm.mjs';
|
|
26
|
-
import './client-
|
|
27
|
-
import './context-
|
|
28
|
-
import './sessionOps-
|
|
26
|
+
import './client-D4uPb1uu.mjs';
|
|
27
|
+
import './context-CJGRRGWW.mjs';
|
|
28
|
+
import './sessionOps-C58iDeD5.mjs';
|
|
29
29
|
import './authRelay-DhQhkBvX.mjs';
|
|
30
|
-
import './time-
|
|
31
|
-
import './backgroundTaskActivity-
|
|
32
|
-
import './remoteSessionClient-
|
|
30
|
+
import './time-D3ETL7Jb.mjs';
|
|
31
|
+
import './backgroundTaskActivity-8PdPxrvy.mjs';
|
|
32
|
+
import './remoteSessionClient-PP-mOKmw.mjs';
|
|
33
33
|
import './ids-DU6sLx4C.mjs';
|
|
34
|
-
import './bootstrap-
|
|
34
|
+
import './bootstrap-Dt5I1SOl.mjs';
|
|
35
35
|
import 'chalk';
|
|
36
36
|
import 'node:util';
|
|
37
37
|
import './trimIdent-BAjmv_TG.mjs';
|
|
38
|
-
import './package-
|
|
38
|
+
import './package-7Ld1YMhh.mjs';
|
|
39
39
|
import './tmuxSocket-B8Yx20sT.mjs';
|
|
40
40
|
import 'node:module';
|
|
41
41
|
import './oneShotPrompts-DT4p6RNd.mjs';
|