very-happy-cli 0.2.189 → 0.2.190
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-fj16v_cf.mjs → AcpBackend-Dd1h-Rgt.mjs} +3 -3
- package/dist/{AcpBackend-DRPJ2g9G.cjs → AcpBackend-dkRv9QHm.cjs} +3 -3
- package/dist/{AcpSessionManager-DM-KKg6v.cjs → AcpSessionManager-AqWAqahm.cjs} +1 -1
- package/dist/{AcpSessionManager-BZPmUDL5.mjs → AcpSessionManager-QBZ-CIf7.mjs} +2 -2
- package/dist/{BasePermissionHandler-CVtH-snr.mjs → BasePermissionHandler-CLp1ge-4.mjs} +1 -1
- package/dist/{BasePermissionHandler-DjM16uJz.cjs → BasePermissionHandler-CpSugp7Z.cjs} +1 -1
- package/dist/{acpSessionResume-2BTMsB7_.cjs → acpSessionResume-CZao6QEd.cjs} +1 -1
- package/dist/{acpSessionResume-Dxl1LRAT.mjs → acpSessionResume-CcpDuIO5.mjs} +1 -1
- package/dist/{agentHome-CHctmMzZ.mjs → agentHome-BJGRA2Kx.mjs} +4 -4
- package/dist/{agentHome-W17n1gnH.cjs → agentHome-fIUqT-pn.cjs} +4 -4
- package/dist/{api-BDuuyys8.cjs → api-CXL6jp-p.cjs} +18 -9
- package/dist/{api-B0yN68XH.mjs → api-Dw8gFsQi.mjs} +19 -10
- package/dist/{apiMachine-mc9CsKuS.mjs → apiMachine-BBNEtjf7.mjs} +56 -15
- package/dist/{apiMachine-iddD-F19.cjs → apiMachine-C6UqHoPF.cjs} +55 -14
- package/dist/{attachmentContent-CcIdMfAx.mjs → attachmentContent-CC4yIrSm.mjs} +2 -2
- package/dist/{attachmentContent-Cc5b7TPr.cjs → attachmentContent-NmVfKp-B.cjs} +2 -2
- package/dist/{auth-DQKSpaEf.cjs → auth-Bb_SL2os.cjs} +5 -5
- package/dist/{auth-DNAgkUkB.mjs → auth-Bh6SUoGi.mjs} +8 -8
- package/dist/{auth-CyrVvWHF.mjs → auth-Bj0psrD2.mjs} +5 -5
- package/dist/{auth-B7tVmyfX.cjs → auth-DKa4MsAi.cjs} +8 -8
- package/dist/{auto-CetlumDo.cjs → auto-C9Qohh0P.cjs} +15 -15
- package/dist/{auto-BklCipw1.mjs → auto-DK7pbCnV.mjs} +18 -18
- package/dist/{bootstrap-DfXwkUQb.mjs → bootstrap-Ct9Nb4sv.mjs} +2 -2
- package/dist/{bootstrap-CDY-Vz8q.cjs → bootstrap-DBJB0y-H.cjs} +2 -2
- package/dist/{browser-vb0k1zfI.mjs → browser-BGxDRhHy.mjs} +1 -1
- package/dist/{browser-D1yzC0Tu.cjs → browser-CLJWcodR.cjs} +1 -1
- package/dist/{claudeLocal-2dJIiTIq.cjs → claudeLocal-B6YDYlnY.cjs} +4 -4
- package/dist/{claudeLocal-Bid_rC_v.mjs → claudeLocal-Ux31hZyC.mjs} +5 -5
- package/dist/{claudeLocalLauncher-5pzpETxd.mjs → claudeLocalLauncher-D06QijMw.mjs} +10 -10
- package/dist/{claudeLocalLauncher-Jm5oQX5Z.cjs → claudeLocalLauncher-DFvmF8rC.cjs} +9 -9
- package/dist/{claudeSessionFork-DzecSBO4.mjs → claudeSessionFork-D2GI7P59.mjs} +1 -1
- package/dist/{claudeSessionFork-DsbcuDEJ.cjs → claudeSessionFork-DTLZ2rek.cjs} +1 -1
- package/dist/{client-D0aYWt53.cjs → client-Bffkrs5p.cjs} +2 -2
- package/dist/{client-BNmFaRXZ.cjs → client-CARZ_lNS.cjs} +3 -3
- package/dist/{client-DIfxYk7B.cjs → client-CMKGrnmT.cjs} +2 -2
- package/dist/{client-B161HwAk.mjs → client-CnGNYidN.mjs} +2 -2
- package/dist/{client-C9Ecbtko.mjs → client-CtL0Vtww.mjs} +4 -4
- package/dist/{client-CvjjadIE.mjs → client-DZkBUoh9.mjs} +2 -2
- package/dist/codex/happyMcpStdioBridge.cjs +15 -15
- package/dist/codex/happyMcpStdioBridge.mjs +16 -16
- package/dist/{codexAppServerClient-BlVmpjR-.mjs → codexAppServerClient-CLc5nhLT.mjs} +13 -6
- package/dist/{codexAppServerClient-CO9f4Jr8.cjs → codexAppServerClient-CpT9F6EM.cjs} +13 -6
- package/dist/{codexCommand-BfoRP6E9.cjs → codexCommand-39kH99SJ.cjs} +72 -48
- package/dist/{codexCommand-CAMR4g5o.mjs → codexCommand-Dliq3EBv.mjs} +69 -45
- package/dist/{codexTermination-IrLZQzKC.cjs → codexTermination-ByW7tRjr.cjs} +1 -1
- package/dist/{codexTermination-BvGlN02_.mjs → codexTermination-ORIw0gpU.mjs} +1 -1
- package/dist/{codexThreadFork-DNekT4nQ.cjs → codexThreadFork-5kwoKjMu.cjs} +11 -17
- package/dist/{codexThreadFork-R76RU5H0.mjs → codexThreadFork-DobPd19R.mjs} +11 -17
- package/dist/{config-BGFqQGvh.cjs → config-CeIzCsfj.cjs} +3 -3
- package/dist/{config-CtMgGPvf.mjs → config-CxSsGO1Z.mjs} +3 -3
- package/dist/{configuration-1FabKklB.mjs → configuration-Dechcvd-.mjs} +1 -1
- package/dist/{configuration-C0ctLGW2.cjs → configuration-Dt5lKW3P.cjs} +1 -1
- package/dist/{connect-DSw-2f52.cjs → connect-NPDzIVC6.cjs} +12 -12
- package/dist/{connect-0lSugpjf.mjs → connect-UwQHvCpR.mjs} +13 -13
- package/dist/{context-D-hEk5pC.cjs → context-BdZssgF0.cjs} +1 -1
- package/dist/{context-BgxbXWKS.mjs → context-C9JbJoNe.mjs} +1 -1
- package/dist/{controlClient-F7hAEEy2.cjs → controlClient-BRk65BRO.cjs} +3 -3
- package/dist/{controlClient-DwNnNAUx.mjs → controlClient-D7NGfmtq.mjs} +3 -3
- package/dist/{createSessionMetadata-DezS33OM.cjs → createSessionMetadata-B_HZCDj_.cjs} +2 -2
- package/dist/{createSessionMetadata-CG6Klinp.mjs → createSessionMetadata-DyhFKAby.mjs} +2 -2
- package/dist/defaultPermissionMode-BnxJPVHT.mjs +4 -0
- package/dist/defaultPermissionMode-CxmTXUQR.cjs +7 -0
- package/dist/{deterministicJson-D0LU_XbO.cjs → deterministicJson-BEygolBQ.cjs} +12 -12
- package/dist/{deterministicJson-BMwgK21e.mjs → deterministicJson-DNmMVhFu.mjs} +13 -13
- package/dist/{doctor-wVNvRarN.cjs → doctor-B9lW1WlG.cjs} +7 -7
- package/dist/{doctor-D16hySse.mjs → doctor-BdBi7TFZ.mjs} +7 -7
- package/dist/{downloadTarget-C6tqaXGm.mjs → downloadTarget-CGojGjaN.mjs} +6 -6
- package/dist/{downloadTarget-aNcCxVRL.cjs → downloadTarget-DS0zT2AU.cjs} +6 -6
- package/dist/{ensureDaemonRunning-DZq8bvsp.mjs → ensureDaemonRunning-BOdbryDM.mjs} +5 -5
- package/dist/{ensureDaemonRunning-CIghxgDR.cjs → ensureDaemonRunning-Bibp6vhe.cjs} +5 -5
- package/dist/exitAfterFlush-AbKNZM0N.mjs +23 -0
- package/dist/exitAfterFlush-DIT_sIxR.cjs +25 -0
- package/dist/{handleResumeCommand-BNnD7EuD.mjs → handleResumeCommand-CgLzBYne.mjs} +5 -5
- package/dist/{handleResumeCommand-CMUTygsm.cjs → handleResumeCommand-DXOuWr4p.cjs} +5 -5
- package/dist/{agentAttachments-Dbw8iMCZ.cjs → heldInput-BOtqFO2r.cjs} +27 -0
- package/dist/heldInput-C69lA2dH.mjs +44 -0
- package/dist/{index-De02DNu5.cjs → index-Bs5FD8JF.cjs} +4 -4
- package/dist/{index-BuiG8hmg.mjs → index-CBHfkQNY.mjs} +133 -54
- package/dist/{index-4TpmBb2Q.cjs → index-CwRW11hT.cjs} +3 -3
- package/dist/{index-Df0bc_et.mjs → index-DUByZsKe.mjs} +4 -4
- package/dist/{index-B81qV_F_.cjs → index-DXSIi6j_.cjs} +4 -4
- package/dist/{index-BCQr-5Ei.mjs → index-Db0HIC-k.mjs} +4 -4
- package/dist/{index-WKyN-bNy.mjs → index-DmqsRnV7.mjs} +1 -1
- package/dist/{index-CnzsOD19.cjs → index-f8oDidjV.cjs} +131 -52
- package/dist/{index-CKd20r1W.mjs → index-rNTX33in.mjs} +3 -3
- package/dist/index.cjs +2 -2
- package/dist/index.mjs +2 -2
- package/dist/{install-DNbIEJUk.cjs → install-CXIL_FYx.cjs} +3 -3
- package/dist/{install-23ehAdTD.mjs → install-DfPrEWGG.mjs} +3 -3
- package/dist/lib.cjs +11 -11
- package/dist/lib.d.cts +53 -1
- package/dist/lib.d.mts +53 -1
- package/dist/lib.mjs +12 -12
- package/dist/{lidState-q5Its2Hm.mjs → lidState-D0DF20oG.mjs} +1 -1
- package/dist/{lidState-B4dHJCeS.cjs → lidState-q_XFYg33.cjs} +1 -1
- package/dist/{localHappyAgentAuth-C_G5u5lY.mjs → localHappyAgentAuth-BBhM4Qk1.mjs} +1 -1
- package/dist/{localHappyAgentAuth-CG2nPD_H.cjs → localHappyAgentAuth-CKNW-MXw.cjs} +1 -1
- package/dist/{logger-BP1SW7Cs.cjs → logger-BBRTTVsQ.cjs} +2 -2
- package/dist/{logger-DOKH3Zbh.mjs → logger-CL7pin9b.mjs} +2 -2
- package/dist/{machineMetadata-D-5qeIqd.mjs → machineMetadata-DP06qdBk.mjs} +3 -3
- package/dist/{machineMetadata-BKX3ov9g.cjs → machineMetadata-DnFNlrVK.cjs} +3 -3
- package/dist/{main-ndpVIaSG.cjs → main-DLOXykOR.cjs} +49 -48
- package/dist/{main-DODz8DQE.mjs → main-DO7nRvhf.mjs} +49 -48
- package/dist/{mcp-BBwbSODp.mjs → mcp-C-4sPTae.mjs} +15 -15
- package/dist/{mcp-Bc4U4exu.cjs → mcp-Du0MgR7e.cjs} +14 -14
- package/dist/{mirrorProtocol-CiA3hO2y.cjs → mirrorProtocol-GuWMxLkh.cjs} +2 -2
- package/dist/{mirrorProtocol-D2vTWteS.mjs → mirrorProtocol-dkq2ZENA.mjs} +3 -3
- package/dist/{package-DTcaIhjW.mjs → package-C6uiXULx.mjs} +7 -7
- package/dist/{package-CYDdLA6R.cjs → package-DrY090nZ.cjs} +7 -7
- package/dist/{panels-C2xZ8rqU.cjs → panels-4DRBKHZP.cjs} +5 -5
- package/dist/{panels-DCaLxlSL.mjs → panels-DXYdJA6n.mjs} +5 -5
- package/dist/{peerTools-B4315xjX.cjs → peerTools-5ZM4spcZ.cjs} +5 -5
- package/dist/{peerTools-BtrUnSwz.mjs → peerTools-dY1aJez4.mjs} +5 -5
- package/dist/{persistence-CrzC7yr_.cjs → persistence-Bl5S3TLB.cjs} +6 -2
- package/dist/{persistence-0INrP3aB.mjs → persistence-Dogj7JIp.mjs} +6 -3
- package/dist/{piRunnerArgs-BtzW_kfh.cjs → piRunnerArgs-C3jZ1M6b.cjs} +1 -1
- package/dist/{piRunnerArgs-DRuxMlX1.mjs → piRunnerArgs-D8nN_Iit.mjs} +1 -1
- package/dist/{piRuntime-DEbPE_kW.cjs → piRuntime-Bd9-eq6M.cjs} +1 -1
- package/dist/{piRuntime-BMAFpIBV.mjs → piRuntime-BoeMsAXK.mjs} +1 -1
- package/dist/{piTerminal-MtxDtBE2.cjs → piTerminal-C3j1ca3x.cjs} +16 -16
- package/dist/{piTerminal-DQXV8_we.mjs → piTerminal-GEPkIGD4.mjs} +17 -17
- package/dist/{pushNotifications-CalIS9sq.cjs → pushNotifications-CfspRcl-.cjs} +20 -2
- package/dist/{pushNotifications-Cq1s8YVK.mjs → pushNotifications-dUceOIni.mjs} +21 -3
- package/dist/{query-CE2XDhhw.cjs → query-DjsVgG3E.cjs} +1 -1
- package/dist/{query-BYiPBHPC.mjs → query-iYH-tm7L.mjs} +1 -1
- package/dist/{rateLimitReporter-BKmoOZQi.cjs → rateLimitReporter-DUu2KydZ.cjs} +3 -3
- package/dist/{rateLimitReporter-DR5LXuiQ.mjs → rateLimitReporter-jeVi-fym.mjs} +3 -3
- package/dist/{rateLimitWindows-Cs56YJCH.cjs → rateLimitWindows-Bx3ROBP5.cjs} +1 -1
- package/dist/{rateLimitWindows-5vIuNjko.mjs → rateLimitWindows-CEn0DXaX.mjs} +1 -1
- package/dist/{registerCommonHandlers-DZPozYxc.cjs → registerCommonHandlers-Beun-cQv.cjs} +2 -2
- package/dist/{registerCommonHandlers-DWkTysjD.mjs → registerCommonHandlers-DWZ7mfdt.mjs} +2 -2
- package/dist/{registerKillSessionHandler-DhCjrs44.cjs → registerKillSessionHandler-CA1FFr_F.cjs} +15 -5
- package/dist/{registerKillSessionHandler-CSCTRIbI.mjs → registerKillSessionHandler-CzgklwLG.mjs} +16 -6
- package/dist/{remoteSessionClient-Vfj_5g2-.mjs → remoteSessionClient-BiC2KDew.mjs} +5 -5
- package/dist/{remoteSessionClient-Dq8XTLQP.cjs → remoteSessionClient-DGFI__5Z.cjs} +5 -5
- package/dist/{reportProgressTool-B7zmX7NJ.mjs → reportProgressTool-CgPy6n_7.mjs} +3 -3
- package/dist/{reportProgressTool-DznxPKES.cjs → reportProgressTool-CvPGov1F.cjs} +2 -2
- package/dist/{run-DSfNcR62.mjs → run-B_gFgJVB.mjs} +392 -42
- package/dist/{run-Ca8BiNCp.cjs → run-rPqQwDi_.cjs} +389 -39
- package/dist/{runClaude-hoepv-0X.mjs → runClaude-CykqeXK7.mjs} +26 -23
- package/dist/{runClaude-ClQQcgoO.cjs → runClaude-DM8gm8iu.cjs} +27 -24
- package/dist/{runClaudeDeps-D_v8t2SK.mjs → runClaudeDeps-D2phXGut.mjs} +101 -44
- package/dist/{runClaudeDeps-ck5_GYlP.cjs → runClaudeDeps-DGAomimZ.cjs} +94 -37
- package/dist/{runGemini-Cj0XsMiM.cjs → runGemini-CXTeSOZp.cjs} +32 -32
- package/dist/{runGemini-CTr2-cYG.mjs → runGemini-CtWCVkj5.mjs} +33 -33
- package/dist/{runOpenClaw-CdDMntiV.mjs → runOpenClaw-BBdjlViJ.mjs} +18 -18
- package/dist/{runOpenClaw-BoN1e3lP.cjs → runOpenClaw-CH_9_RyZ.cjs} +17 -17
- package/dist/{sandbox-BY2h19gc.cjs → sandbox-Bb5IMun3.cjs} +4 -4
- package/dist/{sandbox-DcaWB-Ou.mjs → sandbox-DGmXZ6Zz.mjs} +4 -4
- package/dist/selfCheck-BfK945YQ.mjs +86 -0
- package/dist/{selfCheck-DFS_GUaQ.cjs → selfCheck-CccwNTTK.cjs} +37 -37
- package/dist/{send-UBTHHNvZ.mjs → send-B6rHg8GT.mjs} +8 -8
- package/dist/{send-BMsUYU6g.cjs → send-BpiXPkDo.cjs} +8 -8
- package/dist/{server-Dt3mCtfQ.mjs → server-BkdAyHhC.mjs} +4 -4
- package/dist/{server-YrHMHNz1.cjs → server-DHUzjApC.cjs} +6 -6
- package/dist/{sessionLock-DSqiP2lH.cjs → sessionLock-BFBReiKq.cjs} +134 -3
- package/dist/{sessionLock-tEFvFXLD.mjs → sessionLock-Ca_bIo50.mjs} +121 -4
- package/dist/{sessionOps-CljctDs5.mjs → sessionOps-CA2kpm66.mjs} +13 -5
- package/dist/{sessionOps-BzeOKIEF.cjs → sessionOps-DeWVqpe4.cjs} +13 -4
- package/dist/{sessionProvider-ORgzmkXy.cjs → sessionProvider-VFbtUmMR.cjs} +5 -5
- package/dist/{sessionProvider-BnUFSJXM.mjs → sessionProvider-g18IiK74.mjs} +5 -5
- package/dist/{sessionScanner-Cr6PJ3PT.cjs → sessionScanner-CGzsN8V6.cjs} +3 -3
- package/dist/{sessionScanner-DZUlkdF6.mjs → sessionScanner-DDDud5re.mjs} +3 -3
- package/dist/{sessions-15cag-su.mjs → sessions-B4d50sCI.mjs} +35 -26
- package/dist/{sessions-aIo_HjmY.cjs → sessions-CKJPWFgu.cjs} +36 -25
- package/dist/{setupOfflineReconnection-B7I8R2Ex.mjs → setupOfflineReconnection-CyPNgyCe.mjs} +2 -2
- package/dist/{setupOfflineReconnection-tV0Q1dgR.cjs → setupOfflineReconnection-DPXRo_zf.cjs} +2 -2
- package/dist/{spawn-VG-HjJiR.cjs → spawn-CgSJzzWS.cjs} +13 -13
- package/dist/{spawn-ByrQgruJ.mjs → spawn-CrYN_OOT.mjs} +15 -15
- package/dist/{spawnAgents-Bh1RPShN.mjs → spawnAgents-DWCDYCQ1.mjs} +1 -1
- package/dist/{spawnHappyCLI-CxiR2Qoy.cjs → spawnHappyCLI-CTy3p6V_.cjs} +1 -1
- package/dist/{spawnHappyCLI-CEsXwz5V.mjs → spawnHappyCLI-DjbkiSH1.mjs} +1 -1
- package/dist/{startFileWatcher-C-XCZ5t2.cjs → startFileWatcher-BQs0cJA-.cjs} +1 -1
- package/dist/{startFileWatcher-DkEeeAtL.mjs → startFileWatcher-Dedtu1vq.mjs} +1 -1
- package/dist/{defaultPermissionMode-e2bIIJG4.mjs → startupSessionCreate-BKFU4v_h.mjs} +25 -6
- package/dist/{defaultPermissionMode-5EvgRq38.cjs → startupSessionCreate-Dxy3X4DG.cjs} +25 -7
- package/dist/{streamRelay-CqBynIon.mjs → streamRelay-P9e7Sohm.mjs} +1 -1
- package/dist/{sync-CoChLEIg.cjs → sync-DtWB7RzA.cjs} +1 -1
- package/dist/{sync-BvDMkKAN.mjs → sync-eZkXnsW_.mjs} +1 -1
- package/dist/{systemPrompt-Dy_Rf-0Z.cjs → systemPrompt-2XOpZ1j6.cjs} +1 -1
- package/dist/{systemPrompt-CgDaPigN.mjs → systemPrompt-Bn6g6aCH.mjs} +2 -2
- package/dist/{teams-DPvfLAk8.cjs → teams-ecFay4Gn.cjs} +6 -6
- package/dist/{teams-BC4_e5hR.mjs → teams-nadkqrbW.mjs} +7 -7
- package/dist/{template-CEK8MEjo.mjs → template-BiTD-jI9.mjs} +1 -1
- package/dist/{time-CUK37wiV.mjs → time-CN3TuSVG.mjs} +1 -1
- package/dist/{time-XwEZxKGc.cjs → time-gPD_EmA-.cjs} +1 -1
- package/dist/{titleGenerator-DWRVdqMU.mjs → titleGenerator-DgzTQdn2.mjs} +1 -1
- package/dist/{titleGenerator-DVX0NZUn.cjs → titleGenerator-lT5ldPuN.cjs} +2 -2
- package/dist/{todo-CKGrSrRE.cjs → todo-B1VeMk5A.cjs} +5 -5
- package/dist/{todo-BNMGXneA.mjs → todo-BIxd7l2Q.mjs} +6 -6
- package/dist/{tools-CjMafO_D.cjs → tools-DvqbLsCF.cjs} +1 -1
- package/dist/{tools-CCIEAVbB.mjs → tools-zXJpxiG_.mjs} +1 -1
- package/dist/{uninstall-CJvJ7gjr.mjs → uninstall-9htK6mb7.mjs} +3 -3
- package/dist/{uninstall-BdFbTXnL.cjs → uninstall-CvIOpwB5.cjs} +3 -3
- package/package.json +7 -7
- package/dist/agentAttachments-M_B5qEF2.mjs +0 -18
- package/dist/selfCheck-BQ_H2Sns.mjs +0 -86
- package/dist/startupSessionCreate-CYc8mra-.cjs +0 -26
- package/dist/startupSessionCreate-npXe2TdN.mjs +0 -24
|
@@ -1,95 +1,96 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var AcpBackend = require('./AcpBackend-
|
|
4
|
-
var logger = require('./logger-
|
|
5
|
-
var AcpSessionManager = require('./AcpSessionManager-
|
|
3
|
+
var AcpBackend = require('./AcpBackend-dkRv9QHm.cjs');
|
|
4
|
+
var logger = require('./logger-BBRTTVsQ.cjs');
|
|
5
|
+
var AcpSessionManager = require('./AcpSessionManager-AqWAqahm.cjs');
|
|
6
6
|
var index = require('./index-BOe6dKnL.cjs');
|
|
7
|
-
var deterministicJson = require('./deterministicJson-
|
|
7
|
+
var deterministicJson = require('./deterministicJson-BEygolBQ.cjs');
|
|
8
8
|
var specialCommands = require('./specialCommands-J3JFOq0J.cjs');
|
|
9
|
-
var
|
|
10
|
-
var configuration = require('./configuration-
|
|
11
|
-
var attachmentContent = require('./attachmentContent-
|
|
12
|
-
var piRuntime = require('./piRuntime-
|
|
9
|
+
var heldInput = require('./heldInput-BOtqFO2r.cjs');
|
|
10
|
+
var configuration = require('./configuration-Dt5lKW3P.cjs');
|
|
11
|
+
var attachmentContent = require('./attachmentContent-NmVfKp-B.cjs');
|
|
12
|
+
var piRuntime = require('./piRuntime-Bd9-eq6M.cjs');
|
|
13
13
|
var node_crypto = require('node:crypto');
|
|
14
14
|
var path = require('node:path');
|
|
15
|
-
var api = require('./api-
|
|
16
|
-
var client = require('./client-
|
|
17
|
-
var registerKillSessionHandler = require('./registerKillSessionHandler-
|
|
18
|
-
var persistence = require('./persistence-
|
|
19
|
-
var machineMetadata = require('./machineMetadata-
|
|
20
|
-
var createSessionMetadata = require('./createSessionMetadata-
|
|
21
|
-
var setupOfflineReconnection = require('./setupOfflineReconnection-
|
|
22
|
-
var startupSessionCreate = require('./startupSessionCreate-
|
|
23
|
-
var controlClient = require('./controlClient-
|
|
15
|
+
var api = require('./api-CXL6jp-p.cjs');
|
|
16
|
+
var client = require('./client-CMKGrnmT.cjs');
|
|
17
|
+
var registerKillSessionHandler = require('./registerKillSessionHandler-CA1FFr_F.cjs');
|
|
18
|
+
var persistence = require('./persistence-Bl5S3TLB.cjs');
|
|
19
|
+
var machineMetadata = require('./machineMetadata-DnFNlrVK.cjs');
|
|
20
|
+
var createSessionMetadata = require('./createSessionMetadata-B_HZCDj_.cjs');
|
|
21
|
+
var setupOfflineReconnection = require('./setupOfflineReconnection-DPXRo_zf.cjs');
|
|
22
|
+
var startupSessionCreate = require('./startupSessionCreate-Dxy3X4DG.cjs');
|
|
23
|
+
var controlClient = require('./controlClient-BRk65BRO.cjs');
|
|
24
24
|
var authRelay = require('./authRelay-Dy1qU9td.cjs');
|
|
25
|
-
var sessionLock = require('./sessionLock-
|
|
26
|
-
var acpSessionResume = require('./acpSessionResume-
|
|
25
|
+
var sessionLock = require('./sessionLock-BFBReiKq.cjs');
|
|
26
|
+
var acpSessionResume = require('./acpSessionResume-CZao6QEd.cjs');
|
|
27
27
|
var streamRelay = require('./streamRelay-D9a4cBEa.cjs');
|
|
28
28
|
var projectPath = require('./projectPath-C3ioB4Bu.cjs');
|
|
29
|
-
var BasePermissionHandler = require('./BasePermissionHandler-
|
|
30
|
-
var titleGenerator = require('./titleGenerator-
|
|
29
|
+
var BasePermissionHandler = require('./BasePermissionHandler-CpSugp7Z.cjs');
|
|
30
|
+
var titleGenerator = require('./titleGenerator-lT5ldPuN.cjs');
|
|
31
31
|
var editPaths = require('./editPaths-Bqp4OFPw.cjs');
|
|
32
32
|
var node_fs = require('node:fs');
|
|
33
33
|
var os = require('node:os');
|
|
34
34
|
require('node:child_process');
|
|
35
35
|
require('@agentclientprotocol/sdk');
|
|
36
|
-
require('./time-
|
|
36
|
+
require('./time-gPD_EmA-.cjs');
|
|
37
37
|
require('./contentLogMetadata-ZSFk_NjQ.cjs');
|
|
38
38
|
require('./processTree-CMHWlVse.cjs');
|
|
39
|
-
require('./package-
|
|
39
|
+
require('./package-DrY090nZ.cjs');
|
|
40
40
|
require('chalk');
|
|
41
41
|
require('node:util');
|
|
42
42
|
require('@paralleldrive/cuid2');
|
|
43
43
|
require('zod');
|
|
44
44
|
require('./prompt-Bof2aQkI.cjs');
|
|
45
|
-
require('./reportProgressTool-
|
|
46
|
-
require('./client-
|
|
45
|
+
require('./reportProgressTool-CvPGov1F.cjs');
|
|
46
|
+
require('./client-Bffkrs5p.cjs');
|
|
47
47
|
require('./precheckCompat-CWOi5c9L.cjs');
|
|
48
48
|
require('./agentGuidance-BtBx2xxE.cjs');
|
|
49
49
|
require('./trimIdent-4gvk9Wk6.cjs');
|
|
50
50
|
require('./pi-DlsrPCTa.cjs');
|
|
51
51
|
require('./fileStore-7qhnbs6N.cjs');
|
|
52
52
|
require('node:fs/promises');
|
|
53
|
-
require('./client-
|
|
54
|
-
require('./context-
|
|
55
|
-
require('./sessionOps-
|
|
53
|
+
require('./client-CARZ_lNS.cjs');
|
|
54
|
+
require('./context-BdZssgF0.cjs');
|
|
55
|
+
require('./sessionOps-DeWVqpe4.cjs');
|
|
56
56
|
require('axios');
|
|
57
57
|
require('socket.io-client');
|
|
58
58
|
require('./backgroundTaskActivity-CBvUdj39.cjs');
|
|
59
59
|
require('./resources-BZ_Be0qM.cjs');
|
|
60
|
-
require('./tools-
|
|
61
|
-
require('./peerTools-
|
|
60
|
+
require('./tools-DvqbLsCF.cjs');
|
|
61
|
+
require('./peerTools-5ZM4spcZ.cjs');
|
|
62
62
|
require('./ids-B6ZC0HGt.cjs');
|
|
63
|
-
require('./remoteSessionClient-
|
|
63
|
+
require('./remoteSessionClient-DGFI__5Z.cjs');
|
|
64
64
|
require('@modelcontextprotocol/sdk/server/mcp.js');
|
|
65
65
|
require('node:http');
|
|
66
66
|
require('@modelcontextprotocol/sdk/server/streamableHttp.js');
|
|
67
67
|
require('./limits-C-a7gr04.cjs');
|
|
68
|
-
require('./downloadTarget-
|
|
68
|
+
require('./downloadTarget-DS0zT2AU.cjs');
|
|
69
69
|
require('./terminals-B_bfC9c2.cjs');
|
|
70
70
|
require('./terminalTitleSuggest-DhvRFX3H.cjs');
|
|
71
71
|
require('./tmuxSocket-D-Xt6Vn-.cjs');
|
|
72
|
-
require('./bootstrap-
|
|
72
|
+
require('./bootstrap-DBJB0y-H.cjs');
|
|
73
73
|
require('./webPanels-FCgFKvVe.cjs');
|
|
74
|
-
require('./pushNotifications-
|
|
74
|
+
require('./pushNotifications-CfspRcl-.cjs');
|
|
75
75
|
require('./previewPath-B0rBdhy1.cjs');
|
|
76
76
|
require('crypto');
|
|
77
|
-
require('./lidState-
|
|
77
|
+
require('./lidState-q_XFYg33.cjs');
|
|
78
78
|
require('os');
|
|
79
79
|
require('child_process');
|
|
80
80
|
require('node:events');
|
|
81
|
-
require('./registerCommonHandlers-
|
|
81
|
+
require('./registerCommonHandlers-Beun-cQv.cjs');
|
|
82
82
|
require('util');
|
|
83
83
|
require('fs/promises');
|
|
84
84
|
require('path');
|
|
85
85
|
require('cross-spawn');
|
|
86
|
-
require('./sync-
|
|
86
|
+
require('./sync-DtWB7RzA.cjs');
|
|
87
87
|
require('tweetnacl');
|
|
88
88
|
require('./types-CRS-srZK.cjs');
|
|
89
89
|
require('./detectCLI-BuYR_Qxe.cjs');
|
|
90
90
|
require('fs');
|
|
91
|
-
require('./localHappyAgentAuth-
|
|
91
|
+
require('./localHappyAgentAuth-CKNW-MXw.cjs');
|
|
92
92
|
require('./fsMkdir-0K3yENml.cjs');
|
|
93
|
+
require('./cliUpdate-DsKXPFYp.cjs');
|
|
93
94
|
require('./processTreeSnapshot-mDbnuojn.cjs');
|
|
94
95
|
require('url');
|
|
95
96
|
require('node:module');
|
|
@@ -162,6 +163,10 @@ function describeAcpTurnFailure(agentName, error) {
|
|
|
162
163
|
return { message: `${agentName} error: ${detail}`, error: detail, exited: false };
|
|
163
164
|
}
|
|
164
165
|
|
|
166
|
+
function acpExitIntent(exit) {
|
|
167
|
+
return exit?.intent ?? "offline";
|
|
168
|
+
}
|
|
169
|
+
|
|
165
170
|
const OUT_OF_TURN_QUIET_MS = 6e4;
|
|
166
171
|
function isAcpTurnContent(msg) {
|
|
167
172
|
if (msg.type === "model-output") return typeof msg.textDelta === "string" && msg.textDelta.length > 0;
|
|
@@ -827,7 +832,9 @@ async function runAcp(opts) {
|
|
|
827
832
|
machineId: settings.machineId,
|
|
828
833
|
startedBy: opts.startedBy,
|
|
829
834
|
sandbox: settings.sandboxConfig,
|
|
830
|
-
|
|
835
|
+
// B-852: a daemon-spawned pi session reports when it is quiescent, so the
|
|
836
|
+
// daemon can restart it onto new code after an upgrade.
|
|
837
|
+
capabilities: [index.PROMPT_QUEUE_CAPABILITY, index.PROJECT_SESSION_CAPABILITY, ...opts.agentName === "pi" && opts.startedBy === "daemon" ? [sessionLock.AUTO_RESTART_CAPABILITY] : []]
|
|
831
838
|
});
|
|
832
839
|
metadata.attachmentKinds = [];
|
|
833
840
|
if (opts.agentName === "gemini") metadata.configuredModel = readGeminiConfiguredModel();
|
|
@@ -920,6 +927,11 @@ async function runAcp(opts) {
|
|
|
920
927
|
messageQueue.setOnWait(() => drain.onIdle());
|
|
921
928
|
}
|
|
922
929
|
attachPromptQueueDrain(session);
|
|
930
|
+
messageQueue.setOnDiscard((entries) => {
|
|
931
|
+
const keys = entries.map((entry) => entry.sourceId).filter((key) => typeof key === "string");
|
|
932
|
+
if (keys.length > 0) session.sendQueueCancelReason(keys, entries[0].reason);
|
|
933
|
+
});
|
|
934
|
+
const heldInput$1 = new heldInput.HeldInput((keys, reason) => session.sendQueueCancelReason(keys, reason));
|
|
923
935
|
let currentPermissionMode;
|
|
924
936
|
let currentModel;
|
|
925
937
|
let modeSelector = null;
|
|
@@ -1014,7 +1026,16 @@ async function runAcp(opts) {
|
|
|
1014
1026
|
session.keepAlive(thinking, "remote");
|
|
1015
1027
|
};
|
|
1016
1028
|
let acpSessionId = null;
|
|
1029
|
+
let piProbe = null;
|
|
1017
1030
|
let shouldExit = false;
|
|
1031
|
+
let exit = null;
|
|
1032
|
+
const beginExit = (intent, reason) => {
|
|
1033
|
+
if (!exit) exit = { intent, reason };
|
|
1034
|
+
shouldExit = true;
|
|
1035
|
+
heldInput$1.drop(exit.reason);
|
|
1036
|
+
messageQueue.discardAll(exit.reason);
|
|
1037
|
+
messageQueue.close();
|
|
1038
|
+
};
|
|
1018
1039
|
let abortController = new AbortController();
|
|
1019
1040
|
let turnCancelled = false;
|
|
1020
1041
|
let backendStarted = false;
|
|
@@ -1024,8 +1045,8 @@ async function runAcp(opts) {
|
|
|
1024
1045
|
const stopRunnerFromBackendStatus = (status, detail) => {
|
|
1025
1046
|
const reason = detail ? `${opts.agentName} backend ${status}: ${detail}` : `${opts.agentName} backend ${status}`;
|
|
1026
1047
|
logger.logger.debug(`[${opts.agentName}] ${reason}; stopping ACP runner`);
|
|
1027
|
-
|
|
1028
|
-
|
|
1048
|
+
session.sendSessionEvent({ type: "message", message: reason });
|
|
1049
|
+
beginExit("offline", "failed");
|
|
1029
1050
|
};
|
|
1030
1051
|
const sendEnvelopes = (envelopes) => {
|
|
1031
1052
|
for (const envelope of envelopes) {
|
|
@@ -1334,7 +1355,7 @@ async function runAcp(opts) {
|
|
|
1334
1355
|
};
|
|
1335
1356
|
backend.onMessage(onBackendMessage);
|
|
1336
1357
|
const titleGenerator$1 = new titleGenerator.TitleGenerator(session);
|
|
1337
|
-
|
|
1358
|
+
heldInput.registerAgentAttachmentDownloads(session);
|
|
1338
1359
|
let userMessageDelivery = Promise.resolve();
|
|
1339
1360
|
session.onUserMessage((message) => {
|
|
1340
1361
|
const downloads = session.drainAttachmentsForUserMessage();
|
|
@@ -1383,6 +1404,7 @@ async function runAcp(opts) {
|
|
|
1383
1404
|
}).catch(() => {
|
|
1384
1405
|
logger.logger.warn("[ACP] Failed to prepare user attachments");
|
|
1385
1406
|
session.sendSessionEvent({ type: "message", message: "Could not prepare this message. Please send it again." });
|
|
1407
|
+
if (message.localKey) session.sendQueueCancelReason([message.localKey], exit?.reason ?? "failed");
|
|
1386
1408
|
});
|
|
1387
1409
|
});
|
|
1388
1410
|
session.keepAlive(thinking, "remote");
|
|
@@ -1422,10 +1444,15 @@ async function runAcp(opts) {
|
|
|
1422
1444
|
}
|
|
1423
1445
|
);
|
|
1424
1446
|
const disposeTermination = registerKillSessionHandler.registerKillSessionHandler(session.rpcHandlerManager, async () => {
|
|
1425
|
-
|
|
1426
|
-
messageQueue.close();
|
|
1447
|
+
beginExit("archive", "aborted");
|
|
1427
1448
|
await handleAbort();
|
|
1428
|
-
}, session, {
|
|
1449
|
+
}, session, {
|
|
1450
|
+
processSignals: true,
|
|
1451
|
+
onSignal: async () => {
|
|
1452
|
+
beginExit("offline", "restarted");
|
|
1453
|
+
await handleAbort();
|
|
1454
|
+
}
|
|
1455
|
+
});
|
|
1429
1456
|
const afterSessionStarted = async (requestedModel) => {
|
|
1430
1457
|
if (requestedModel) {
|
|
1431
1458
|
await switchModelIfRequested(requestedModel);
|
|
@@ -1479,6 +1506,36 @@ async function runAcp(opts) {
|
|
|
1479
1506
|
logger.logger.debug(`[${opts.agentName}] Resume of agent session ${resumeId}: ${started.resumed ?? "new"}${started.loadFailure ? ` (${started.loadFailure})` : ""}`);
|
|
1480
1507
|
if (started.resumed !== "loaded") session.sendSessionEvent({ type: "message", message: acpSessionResume.piRestartNotice(opts.agentName, "resume", started) });
|
|
1481
1508
|
}
|
|
1509
|
+
if (opts.agentName === "pi" && opts.startedBy === "daemon") {
|
|
1510
|
+
const piSnapshot = () => {
|
|
1511
|
+
const meta = session.getMetadata();
|
|
1512
|
+
return {
|
|
1513
|
+
flavor: "acp",
|
|
1514
|
+
resumable: typeof meta?.piSessionId === "string" && meta.piSessionId.length > 0,
|
|
1515
|
+
uiSession: true,
|
|
1516
|
+
...isAssistantVariant ? { variant: "assistant" } : {},
|
|
1517
|
+
...process.env.HAPPY_SPAWNED_BY ? { spawnedBy: process.env.HAPPY_SPAWNED_BY } : {},
|
|
1518
|
+
...meta?.tags ? { tags: meta.tags } : {},
|
|
1519
|
+
keepAwake: false,
|
|
1520
|
+
thinking,
|
|
1521
|
+
queuedInputs: messageQueue.size() + (session.promptQueueHasPending() ? 1 : 0),
|
|
1522
|
+
waitingForInput: messageQueue.isWaiting(),
|
|
1523
|
+
pendingRequests: Object.keys(session.getAgentState()?.requests ?? {}).length,
|
|
1524
|
+
backgroundTasks: 0,
|
|
1525
|
+
lastActivityAt: session.lastActivityAt,
|
|
1526
|
+
...shouldExit ? { exiting: true } : {}
|
|
1527
|
+
};
|
|
1528
|
+
};
|
|
1529
|
+
piProbe = new startupSessionCreate.HibernationProbe({
|
|
1530
|
+
checkMs: persistence.resolveCheckMs(),
|
|
1531
|
+
snapshot: piSnapshot,
|
|
1532
|
+
ask: (report) => controlClient.checkDaemonHibernation({ sessionId: session.sessionId, pid: process.pid, report }),
|
|
1533
|
+
commit: async () => false
|
|
1534
|
+
});
|
|
1535
|
+
piProbe.start();
|
|
1536
|
+
}
|
|
1537
|
+
const autoUpdated = sessionLock.takeAutoRestartedEvent(process.env);
|
|
1538
|
+
if (autoUpdated) session.sendSessionEvent(autoUpdated);
|
|
1482
1539
|
if (verbose) {
|
|
1483
1540
|
if (!sawSlashCommands) {
|
|
1484
1541
|
logAcp("muted", `Outgoing slash commands from ${opts.agentName}: not reported yet`);
|
|
@@ -1502,6 +1559,7 @@ async function runAcp(opts) {
|
|
|
1502
1559
|
}
|
|
1503
1560
|
break;
|
|
1504
1561
|
}
|
|
1562
|
+
heldInput$1.hold(batch.sourceIds);
|
|
1505
1563
|
logAcp("incoming", `Incoming prompt: ${formatUnknownForConsole(batch.message, ACP_EVENT_PREVIEW_CHARS)}`);
|
|
1506
1564
|
endOutOfTurn("prompt");
|
|
1507
1565
|
sendEnvelopes(sessionManager.startTurn());
|
|
@@ -1531,6 +1589,13 @@ async function runAcp(opts) {
|
|
|
1531
1589
|
happyHomeDir: configuration.configuration.happyHomeDir,
|
|
1532
1590
|
sessionId: session.sessionId
|
|
1533
1591
|
}) : [];
|
|
1592
|
+
if (shouldExit) {
|
|
1593
|
+
sendEnvelopes(sessionManager.endTurn("cancelled"));
|
|
1594
|
+
streamRelay$1.endTurn();
|
|
1595
|
+
setThinking(false);
|
|
1596
|
+
break;
|
|
1597
|
+
}
|
|
1598
|
+
heldInput$1.delivered();
|
|
1534
1599
|
promptInFlight = true;
|
|
1535
1600
|
let outcome;
|
|
1536
1601
|
try {
|
|
@@ -1557,6 +1622,7 @@ async function runAcp(opts) {
|
|
|
1557
1622
|
} catch (error) {
|
|
1558
1623
|
const failure = describeAcpTurnFailure(opts.agentName, error);
|
|
1559
1624
|
session.sendSessionEvent({ type: "message", message: failure.message });
|
|
1625
|
+
heldInput$1.drop("failed");
|
|
1560
1626
|
sendEnvelopes(sessionManager.endTurn("failed", failure.error));
|
|
1561
1627
|
streamRelay$1.endTurn();
|
|
1562
1628
|
setThinking(false);
|
|
@@ -1569,6 +1635,7 @@ async function runAcp(opts) {
|
|
|
1569
1635
|
}
|
|
1570
1636
|
} finally {
|
|
1571
1637
|
disposeTermination?.();
|
|
1638
|
+
piProbe?.stop();
|
|
1572
1639
|
setThinking(false);
|
|
1573
1640
|
clearInterval(keepAliveInterval);
|
|
1574
1641
|
streamRelay$1.endTurn();
|
|
@@ -1595,15 +1662,27 @@ async function runAcp(opts) {
|
|
|
1595
1662
|
}
|
|
1596
1663
|
try {
|
|
1597
1664
|
session.closePromptQueueDrain();
|
|
1598
|
-
|
|
1599
|
-
|
|
1600
|
-
|
|
1601
|
-
|
|
1602
|
-
|
|
1603
|
-
|
|
1604
|
-
|
|
1665
|
+
heldInput$1.drop(exit?.reason ?? "failed");
|
|
1666
|
+
messageQueue.discardAll(exit?.reason ?? "failed");
|
|
1667
|
+
const intent = acpExitIntent(exit);
|
|
1668
|
+
if (intent === "archive") {
|
|
1669
|
+
session.updateMetadata((currentMetadata) => ({
|
|
1670
|
+
...currentMetadata,
|
|
1671
|
+
lifecycleState: "archived",
|
|
1672
|
+
lifecycleStateSince: Date.now(),
|
|
1673
|
+
archivedBy: "cli",
|
|
1674
|
+
archiveReason: "Session ended"
|
|
1675
|
+
}));
|
|
1676
|
+
}
|
|
1605
1677
|
session.sendSessionDeath();
|
|
1606
1678
|
await session.flush();
|
|
1679
|
+
if (intent === "offline") {
|
|
1680
|
+
try {
|
|
1681
|
+
await api$1.deactivateSession(session.sessionId);
|
|
1682
|
+
} catch (error) {
|
|
1683
|
+
logger.logger.debug(`[${opts.agentName}] deactivate on exit failed:`, error);
|
|
1684
|
+
}
|
|
1685
|
+
}
|
|
1607
1686
|
await session.close();
|
|
1608
1687
|
} catch (error) {
|
|
1609
1688
|
logger.logger.debug(`[${opts.agentName}] Session close failed:`, error);
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { p as packageJson } from './package-
|
|
1
|
+
import { p as packageJson } from './package-C6uiXULx.mjs';
|
|
2
2
|
import module$1 from 'node:module';
|
|
3
3
|
import { existsSync } from 'node:fs';
|
|
4
4
|
import { readdir, rm } from 'node:fs/promises';
|
|
@@ -57,10 +57,10 @@ async function pruneStaleCompileCaches(happyHomeDir, cliVersion) {
|
|
|
57
57
|
async function run(args) {
|
|
58
58
|
enableCompileCacheIfPossible(packageJson.version);
|
|
59
59
|
if (isStandaloneVersionRequest(args) || isSelfCheckRequest(args)) {
|
|
60
|
-
const { selfCheckMain } = await import('./selfCheck-
|
|
60
|
+
const { selfCheckMain } = await import('./selfCheck-BfK945YQ.mjs');
|
|
61
61
|
process.exit(await selfCheckMain({ verbose: isSelfCheckRequest(args) }));
|
|
62
62
|
}
|
|
63
|
-
const { main } = await import('./main-
|
|
63
|
+
const { main } = await import('./main-DO7nRvhf.mjs');
|
|
64
64
|
await main();
|
|
65
65
|
}
|
|
66
66
|
void run(process.argv.slice(2));
|
package/dist/index.cjs
CHANGED
package/dist/index.mjs
CHANGED
|
@@ -1,17 +1,17 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var logger = require('./logger-
|
|
3
|
+
var logger = require('./logger-BBRTTVsQ.cjs');
|
|
4
4
|
var require$$0 = require('fs');
|
|
5
5
|
var child_process = require('child_process');
|
|
6
6
|
var trimIdent = require('./trimIdent-4gvk9Wk6.cjs');
|
|
7
7
|
var os = require('os');
|
|
8
8
|
require('chalk');
|
|
9
9
|
require('node:util');
|
|
10
|
-
require('./configuration-
|
|
10
|
+
require('./configuration-Dt5lKW3P.cjs');
|
|
11
11
|
require('node:fs');
|
|
12
12
|
require('node:os');
|
|
13
13
|
require('node:path');
|
|
14
|
-
require('./package-
|
|
14
|
+
require('./package-DrY090nZ.cjs');
|
|
15
15
|
require('node:fs/promises');
|
|
16
16
|
|
|
17
17
|
const PLIST_LABEL = "com.happy-cli.daemon";
|
|
@@ -1,15 +1,15 @@
|
|
|
1
|
-
import { l as logger } from './logger-
|
|
1
|
+
import { l as logger } from './logger-CL7pin9b.mjs';
|
|
2
2
|
import { existsSync, writeFileSync, chmodSync } from 'fs';
|
|
3
3
|
import { execSync } from 'child_process';
|
|
4
4
|
import { t as trimIdent } from './trimIdent-BAjmv_TG.mjs';
|
|
5
5
|
import os from 'os';
|
|
6
6
|
import 'chalk';
|
|
7
7
|
import 'node:util';
|
|
8
|
-
import './configuration-
|
|
8
|
+
import './configuration-Dechcvd-.mjs';
|
|
9
9
|
import 'node:fs';
|
|
10
10
|
import 'node:os';
|
|
11
11
|
import 'node:path';
|
|
12
|
-
import './package-
|
|
12
|
+
import './package-C6uiXULx.mjs';
|
|
13
13
|
import 'node:fs/promises';
|
|
14
14
|
|
|
15
15
|
const PLIST_LABEL = "com.happy-cli.daemon";
|
package/dist/lib.cjs
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var api = require('./api-
|
|
4
|
-
var logger = require('./logger-
|
|
5
|
-
var configuration = require('./configuration-
|
|
3
|
+
var api = require('./api-CXL6jp-p.cjs');
|
|
4
|
+
var logger = require('./logger-BBRTTVsQ.cjs');
|
|
5
|
+
var configuration = require('./configuration-Dt5lKW3P.cjs');
|
|
6
6
|
var types = require('./types-CRS-srZK.cjs');
|
|
7
7
|
require('axios');
|
|
8
|
-
require('./lidState-
|
|
8
|
+
require('./lidState-q_XFYg33.cjs');
|
|
9
9
|
require('./authRelay-Dy1qU9td.cjs');
|
|
10
10
|
require('node:crypto');
|
|
11
11
|
require('tweetnacl');
|
|
@@ -13,14 +13,14 @@ require('os');
|
|
|
13
13
|
require('child_process');
|
|
14
14
|
require('node:events');
|
|
15
15
|
require('socket.io-client');
|
|
16
|
-
require('./pushNotifications-
|
|
16
|
+
require('./pushNotifications-CfspRcl-.cjs');
|
|
17
17
|
require('zod');
|
|
18
18
|
require('./index-BOe6dKnL.cjs');
|
|
19
19
|
require('@paralleldrive/cuid2');
|
|
20
20
|
require('./contentLogMetadata-ZSFk_NjQ.cjs');
|
|
21
21
|
require('./limits-C-a7gr04.cjs');
|
|
22
|
-
require('./time-
|
|
23
|
-
require('./registerCommonHandlers-
|
|
22
|
+
require('./time-gPD_EmA-.cjs');
|
|
23
|
+
require('./registerCommonHandlers-Beun-cQv.cjs');
|
|
24
24
|
require('util');
|
|
25
25
|
require('fs/promises');
|
|
26
26
|
require('crypto');
|
|
@@ -28,17 +28,17 @@ require('path');
|
|
|
28
28
|
require('cross-spawn');
|
|
29
29
|
require('./projectPath-C3ioB4Bu.cjs');
|
|
30
30
|
require('url');
|
|
31
|
-
require('./sync-
|
|
31
|
+
require('./sync-DtWB7RzA.cjs');
|
|
32
32
|
require('./backgroundTaskActivity-CBvUdj39.cjs');
|
|
33
|
-
require('./controlClient-
|
|
34
|
-
require('./persistence-
|
|
33
|
+
require('./controlClient-BRk65BRO.cjs');
|
|
34
|
+
require('./persistence-Bl5S3TLB.cjs');
|
|
35
35
|
require('node:fs/promises');
|
|
36
36
|
require('node:fs');
|
|
37
37
|
require('chalk');
|
|
38
38
|
require('node:util');
|
|
39
39
|
require('node:path');
|
|
40
40
|
require('node:os');
|
|
41
|
-
require('./package-
|
|
41
|
+
require('./package-DrY090nZ.cjs');
|
|
42
42
|
|
|
43
43
|
|
|
44
44
|
|
package/dist/lib.d.cts
CHANGED
|
@@ -616,6 +616,19 @@ declare const DaemonStateSchema: z$1.ZodObject<{
|
|
|
616
616
|
rpcAvailable: z$1.ZodBoolean;
|
|
617
617
|
detectedAt: z$1.ZodNumber;
|
|
618
618
|
}, z$1.core.$loose>>;
|
|
619
|
+
autoRestart: z$1.ZodOptional<z$1.ZodObject<{
|
|
620
|
+
enabled: z$1.ZodBoolean;
|
|
621
|
+
rpcAvailable: z$1.ZodBoolean;
|
|
622
|
+
detectedAt: z$1.ZodNumber;
|
|
623
|
+
sessions: z$1.ZodRecord<z$1.ZodString, z$1.ZodObject<{
|
|
624
|
+
state: z$1.ZodString;
|
|
625
|
+
reason: z$1.ZodOptional<z$1.ZodString>;
|
|
626
|
+
since: z$1.ZodNumber;
|
|
627
|
+
target: z$1.ZodString;
|
|
628
|
+
offline: z$1.ZodOptional<z$1.ZodBoolean>;
|
|
629
|
+
retryAt: z$1.ZodOptional<z$1.ZodNumber>;
|
|
630
|
+
}, z$1.core.$strip>>;
|
|
631
|
+
}, z$1.core.$loose>>;
|
|
619
632
|
webPanels: z$1.ZodOptional<z$1.ZodObject<{
|
|
620
633
|
panels: z$1.ZodArray<z$1.ZodObject<{
|
|
621
634
|
id: z$1.ZodString;
|
|
@@ -1032,6 +1045,13 @@ declare class RpcHandlerManager {
|
|
|
1032
1045
|
private getPrefixedMethod;
|
|
1033
1046
|
}
|
|
1034
1047
|
|
|
1048
|
+
/**
|
|
1049
|
+
* Why the CLI dropped a user message it never ran — the `queue-cancel` reason
|
|
1050
|
+
* (B-332). `failed` (B-854): taken off the queue, but the runner could not hand
|
|
1051
|
+
* it to the agent (a pre-flight check or the agent's start failed).
|
|
1052
|
+
*/
|
|
1053
|
+
type QueueDiscardReason = 'cleared' | 'aborted' | 'restarted' | 'failed';
|
|
1054
|
+
|
|
1035
1055
|
/**
|
|
1036
1056
|
* B-509 —— server-side prompt queue drain (pure state machine, no I/O).
|
|
1037
1057
|
*
|
|
@@ -1334,7 +1354,7 @@ declare class ApiSessionClient extends EventEmitter {
|
|
|
1334
1354
|
private pushCommittedMessagesToRelay;
|
|
1335
1355
|
private enqueueMessage;
|
|
1336
1356
|
/** B-332: emit a queue-cancel tombstone, mirroring the web's own signal. */
|
|
1337
|
-
sendQueueCancelReason(localKeys: string[], reason:
|
|
1357
|
+
sendQueueCancelReason(localKeys: string[], reason: QueueDiscardReason): void;
|
|
1338
1358
|
/**
|
|
1339
1359
|
* B-332 site ③: find queued user input this wrapper destroyed (it was still
|
|
1340
1360
|
* in the previous wrapper's in-memory queue when it died) and tell the web.
|
|
@@ -1532,9 +1552,29 @@ declare class ApiSessionClient extends EventEmitter {
|
|
|
1532
1552
|
*/
|
|
1533
1553
|
flush(): Promise<void>;
|
|
1534
1554
|
close(): Promise<void>;
|
|
1555
|
+
/**
|
|
1556
|
+
* B-854: set by close(). The socket's own `disconnect` ("io client
|
|
1557
|
+
* disconnect") must not reconnect a client its owner closed: a runner that
|
|
1558
|
+
* ends without `process.exit` (ACP) stayed alive on that socket — still
|
|
1559
|
+
* "active" for the daemon and the web, with no loop to run anything.
|
|
1560
|
+
*/
|
|
1561
|
+
private closedByClient;
|
|
1535
1562
|
private startSmartReconnect;
|
|
1536
1563
|
}
|
|
1537
1564
|
|
|
1565
|
+
/** What the daemon publishes per behind session (spec §4). */
|
|
1566
|
+
type AutoRestartSessionState = 'waiting' | 'restarting' | 'failed' | 'manual';
|
|
1567
|
+
interface AutoRestartSessionStatus {
|
|
1568
|
+
state: AutoRestartSessionState;
|
|
1569
|
+
reason?: string;
|
|
1570
|
+
since: number;
|
|
1571
|
+
target: string;
|
|
1572
|
+
/** `failed` only: the old wrapper is stopped and no new one came up, so the session is offline (spec §3). */
|
|
1573
|
+
offline?: boolean;
|
|
1574
|
+
/** `failed` + `offline` only: the daemon retries once by itself at this time; absent = left to Restore. */
|
|
1575
|
+
retryAt?: number;
|
|
1576
|
+
}
|
|
1577
|
+
|
|
1538
1578
|
/**
|
|
1539
1579
|
* B-510: machine web panels — local web pages a person may need to look at
|
|
1540
1580
|
* (noVNC, an agent-browser dashboard, Grafana, a dev server), declared ONLY in
|
|
@@ -1953,6 +1993,8 @@ declare class ApiMachineClient {
|
|
|
1953
1993
|
private claudeAuthState;
|
|
1954
1994
|
/** B-587: the machine's hibernation threshold, published as a capability. */
|
|
1955
1995
|
private agentHibernationIdleMs;
|
|
1996
|
+
/** B-852: auto-restart setting + per-session status (null until the daemon installs it). */
|
|
1997
|
+
private autoRestart;
|
|
1956
1998
|
/** B-510: last normalized `webPanels` (null = never set → field not written). */
|
|
1957
1999
|
private webPanels;
|
|
1958
2000
|
private webPanelsSignatureSent;
|
|
@@ -2044,6 +2086,16 @@ declare class ApiMachineClient {
|
|
|
2044
2086
|
*/
|
|
2045
2087
|
setWebPanels(panels: WebPanel[]): Promise<void>;
|
|
2046
2088
|
private publishAgentHibernation;
|
|
2089
|
+
/**
|
|
2090
|
+
* B-852: the machine page's「会话自动更新」switch (`auto-restart-set`) and
|
|
2091
|
+
* the `daemonState.autoRestart` capability + per-session status. Call
|
|
2092
|
+
* before connect().
|
|
2093
|
+
*/
|
|
2094
|
+
setAutoRestartHandlers(initialEnabled: boolean, set: (enabled: boolean) => Promise<boolean>): void;
|
|
2095
|
+
/** B-852: the scheduler's per-session status changed (already signature-deduped). */
|
|
2096
|
+
setAutoRestartSessions(sessions: Record<string, AutoRestartSessionStatus>): Promise<void>;
|
|
2097
|
+
private autoRestartState;
|
|
2098
|
+
private publishAutoRestart;
|
|
2047
2099
|
/** B-276 machine RPCs. Responses always carry `claudeAuth` so the web can refresh in place. */
|
|
2048
2100
|
setClaudeAuthHandlers(handlers: {
|
|
2049
2101
|
probe: () => Promise<ClaudeAuthState>;
|