very-happy-cli 0.2.188 → 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-2loP7MpF.mjs → AcpBackend-Dd1h-Rgt.mjs} +3 -3
- package/dist/{AcpBackend-B8AYkp5n.cjs → AcpBackend-dkRv9QHm.cjs} +3 -3
- package/dist/{AcpSessionManager-CLqo9R9Y.cjs → AcpSessionManager-AqWAqahm.cjs} +3 -3
- package/dist/{AcpSessionManager-C17doAoR.mjs → AcpSessionManager-QBZ-CIf7.mjs} +4 -4
- package/dist/{BasePermissionHandler-CrfyUmqO.mjs → BasePermissionHandler-CLp1ge-4.mjs} +1 -1
- package/dist/{BasePermissionHandler-C8UEcFz0.cjs → BasePermissionHandler-CpSugp7Z.cjs} +1 -1
- package/dist/{acpSessionResume-OuYlLGxL.cjs → acpSessionResume-CZao6QEd.cjs} +1 -1
- package/dist/{acpSessionResume-F705a1cF.mjs → acpSessionResume-CcpDuIO5.mjs} +1 -1
- package/dist/{agentHome-Dc7LYF3d.mjs → agentHome-BJGRA2Kx.mjs} +4 -4
- package/dist/{agentHome-DsKHJ_Sf.cjs → agentHome-fIUqT-pn.cjs} +4 -4
- package/dist/{api-BOqjYd5r.cjs → api-CXL6jp-p.cjs} +18 -9
- package/dist/{api-DNKa7kVy.mjs → api-Dw8gFsQi.mjs} +19 -10
- package/dist/{apiMachine-Di1G9ECW.mjs → apiMachine-BBNEtjf7.mjs} +56 -15
- package/dist/{apiMachine--rcPpMmt.cjs → apiMachine-C6UqHoPF.cjs} +55 -14
- package/dist/{attachmentContent-C9S4ekAz.mjs → attachmentContent-CC4yIrSm.mjs} +2 -2
- package/dist/{attachmentContent-BFRMLong.cjs → attachmentContent-NmVfKp-B.cjs} +2 -2
- package/dist/{auth-CXmI92aj.cjs → auth-Bb_SL2os.cjs} +5 -5
- package/dist/{auth-Bzwo_vOM.mjs → auth-Bh6SUoGi.mjs} +8 -8
- package/dist/{auth-BNhhk2Fr.mjs → auth-Bj0psrD2.mjs} +5 -5
- package/dist/{auth-CQtfznF0.cjs → auth-DKa4MsAi.cjs} +8 -8
- package/dist/{auto-DXLdaX5O.cjs → auto-C9Qohh0P.cjs} +17 -16
- package/dist/{auto-DHYOLnXB.mjs → auto-DK7pbCnV.mjs} +19 -18
- package/dist/{bootstrap-Di38SnpN.mjs → bootstrap-Ct9Nb4sv.mjs} +2 -2
- package/dist/{bootstrap-eJ1l7VYl.cjs → bootstrap-DBJB0y-H.cjs} +2 -2
- package/dist/{browser-6Cg7G6bb.mjs → browser-BGxDRhHy.mjs} +1 -1
- package/dist/{browser-D3uBFRQu.cjs → browser-CLJWcodR.cjs} +1 -1
- package/dist/{claudeLocal-BBaE4QF_.cjs → claudeLocal-B6YDYlnY.cjs} +4 -4
- package/dist/{claudeLocal-CqaEs-81.mjs → claudeLocal-Ux31hZyC.mjs} +5 -5
- package/dist/{claudeLocalLauncher-BDUPxtsI.mjs → claudeLocalLauncher-D06QijMw.mjs} +10 -10
- package/dist/{claudeLocalLauncher-wPxKtH_P.cjs → claudeLocalLauncher-DFvmF8rC.cjs} +9 -9
- package/dist/{claudeSessionFork-DzWFzj9m.mjs → claudeSessionFork-D2GI7P59.mjs} +1 -1
- package/dist/{claudeSessionFork-CmY25Fl3.cjs → claudeSessionFork-DTLZ2rek.cjs} +1 -1
- package/dist/{client-DmY03OZZ.cjs → client-Bffkrs5p.cjs} +2 -2
- package/dist/{client-C2HcMqRF.cjs → client-CARZ_lNS.cjs} +3 -3
- package/dist/{client-agH03Irm.cjs → client-CMKGrnmT.cjs} +2 -2
- package/dist/{client-DWws_aQK.mjs → client-CnGNYidN.mjs} +2 -2
- package/dist/{client-qJ0y8fus.mjs → client-CtL0Vtww.mjs} +4 -4
- package/dist/{client-DcDE6Ifk.mjs → client-DZkBUoh9.mjs} +2 -2
- package/dist/codex/happyMcpStdioBridge.cjs +16 -15
- package/dist/codex/happyMcpStdioBridge.mjs +17 -16
- package/dist/{codexAppServerClient-DgE99i7X.mjs → codexAppServerClient-CLc5nhLT.mjs} +37 -6
- package/dist/{codexAppServerClient-DwzC8LR0.cjs → codexAppServerClient-CpT9F6EM.cjs} +37 -6
- package/dist/{codexCommand-1vFEA1KT.cjs → codexCommand-39kH99SJ.cjs} +148 -61
- package/dist/{codexCommand-DUSVzbKh.mjs → codexCommand-Dliq3EBv.mjs} +143 -56
- package/dist/{codexTermination-DuDPyBRR.cjs → codexTermination-ByW7tRjr.cjs} +1 -1
- package/dist/{codexTermination-Bybovr2z.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-C4xOL5bH.cjs → config-CeIzCsfj.cjs} +3 -3
- package/dist/{config-BrzZ0O-6.mjs → config-CxSsGO1Z.mjs} +3 -3
- package/dist/{configuration-BZHpFD7K.mjs → configuration-Dechcvd-.mjs} +1 -1
- package/dist/{configuration-DyPW9mVa.cjs → configuration-Dt5lKW3P.cjs} +1 -1
- package/dist/{connect-DurKwMEo.cjs → connect-NPDzIVC6.cjs} +12 -12
- package/dist/{connect-Cw_INlj8.mjs → connect-UwQHvCpR.mjs} +13 -13
- package/dist/{context-2xDvjkQp.cjs → context-BdZssgF0.cjs} +1 -1
- package/dist/{context-t7YV0aZc.mjs → context-C9JbJoNe.mjs} +1 -1
- package/dist/{controlClient-DvFaPsg6.cjs → controlClient-BRk65BRO.cjs} +3 -3
- package/dist/{controlClient-Bw56NIrj.mjs → controlClient-D7NGfmtq.mjs} +3 -3
- package/dist/{createSessionMetadata-Dpg6bV6f.cjs → createSessionMetadata-B_HZCDj_.cjs} +2 -2
- package/dist/{createSessionMetadata-Dn5BkLfU.mjs → createSessionMetadata-DyhFKAby.mjs} +2 -2
- package/dist/defaultPermissionMode-BnxJPVHT.mjs +4 -0
- package/dist/defaultPermissionMode-CxmTXUQR.cjs +7 -0
- package/dist/{deterministicJson-D0BrV1FD.cjs → deterministicJson-BEygolBQ.cjs} +12 -12
- package/dist/{deterministicJson-CsRckxVq.mjs → deterministicJson-DNmMVhFu.mjs} +13 -13
- package/dist/{doctor-CYe4d9kU.cjs → doctor-B9lW1WlG.cjs} +7 -7
- package/dist/{doctor-B4HQiW6j.mjs → doctor-BdBi7TFZ.mjs} +7 -7
- package/dist/{downloadTarget-tYMV_VHo.mjs → downloadTarget-CGojGjaN.mjs} +6 -6
- package/dist/{downloadTarget-CuhBVvuC.cjs → downloadTarget-DS0zT2AU.cjs} +6 -6
- package/dist/{ensureDaemonRunning-DVtIG9z7.mjs → ensureDaemonRunning-BOdbryDM.mjs} +5 -5
- package/dist/{ensureDaemonRunning-Ce3BlWiR.cjs → ensureDaemonRunning-Bibp6vhe.cjs} +5 -5
- package/dist/exitAfterFlush-AbKNZM0N.mjs +23 -0
- package/dist/exitAfterFlush-DIT_sIxR.cjs +25 -0
- package/dist/{handleResumeCommand-BU1uMNyv.mjs → handleResumeCommand-CgLzBYne.mjs} +5 -5
- package/dist/{handleResumeCommand-CLxsmAW0.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-KwuXqLwe.cjs → index-Bs5FD8JF.cjs} +4 -4
- package/dist/{index-ChX0eVXw.mjs → index-CBHfkQNY.mjs} +142 -60
- package/dist/{index-DoXbGEAi.cjs → index-CwRW11hT.cjs} +3 -3
- package/dist/{index-CVHRt3SS.mjs → index-DUByZsKe.mjs} +4 -4
- package/dist/{index-wWJJAQRk.cjs → index-DXSIi6j_.cjs} +4 -4
- package/dist/{index-DDz0Ftoy.mjs → index-Db0HIC-k.mjs} +4 -4
- package/dist/{index-WKyN-bNy.mjs → index-DmqsRnV7.mjs} +1 -1
- package/dist/{index-DG1kGjkF.cjs → index-f8oDidjV.cjs} +142 -60
- package/dist/{index-B1OxWiNG.mjs → index-rNTX33in.mjs} +3 -3
- package/dist/index.cjs +2 -2
- package/dist/index.mjs +2 -2
- package/dist/{install-cAYvHxXR.cjs → install-CXIL_FYx.cjs} +3 -3
- package/dist/{install-CMa_FOWu.mjs → install-DfPrEWGG.mjs} +3 -3
- package/dist/lib.cjs +11 -11
- package/dist/lib.d.cts +61 -1
- package/dist/lib.d.mts +61 -1
- package/dist/lib.mjs +12 -12
- package/dist/{lidState-D-lsD1FS.mjs → lidState-D0DF20oG.mjs} +1 -1
- package/dist/{lidState-d1vgQ3n7.cjs → lidState-q_XFYg33.cjs} +1 -1
- package/dist/{localHappyAgentAuth-wvDp-nGj.mjs → localHappyAgentAuth-BBhM4Qk1.mjs} +1 -1
- package/dist/{localHappyAgentAuth-DucSnCg3.cjs → localHappyAgentAuth-CKNW-MXw.cjs} +1 -1
- package/dist/{logger-C3vZG6Q0.cjs → logger-BBRTTVsQ.cjs} +2 -2
- package/dist/{logger-RpzJ4d8V.mjs → logger-CL7pin9b.mjs} +2 -2
- package/dist/{machineMetadata-CiQ2_1Mq.mjs → machineMetadata-DP06qdBk.mjs} +3 -3
- package/dist/{machineMetadata-CAvFq1Jg.cjs → machineMetadata-DnFNlrVK.cjs} +3 -3
- package/dist/{main-ChpYcFZi.cjs → main-DLOXykOR.cjs} +49 -48
- package/dist/{main-IPhaImjm.mjs → main-DO7nRvhf.mjs} +49 -48
- package/dist/{mcp-CWnMvju6.mjs → mcp-C-4sPTae.mjs} +16 -15
- package/dist/{mcp-2xF232hL.cjs → mcp-Du0MgR7e.cjs} +15 -14
- package/dist/{mirrorProtocol-CVzPObON.cjs → mirrorProtocol-GuWMxLkh.cjs} +2 -2
- package/dist/{mirrorProtocol-Dr7fNq8V.mjs → mirrorProtocol-dkq2ZENA.mjs} +3 -3
- package/dist/{package-CwB8rFJt.mjs → package-C6uiXULx.mjs} +7 -7
- package/dist/{package-Gnf_935w.cjs → package-DrY090nZ.cjs} +7 -7
- package/dist/{panels-DTlTsndU.cjs → panels-4DRBKHZP.cjs} +5 -5
- package/dist/{panels-L1mSkC-y.mjs → panels-DXYdJA6n.mjs} +5 -5
- package/dist/{peerTools-C1E5cQ86.cjs → peerTools-5ZM4spcZ.cjs} +5 -5
- package/dist/{peerTools-2_8Bw9PU.mjs → peerTools-dY1aJez4.mjs} +5 -5
- package/dist/{persistence-CqtjFiD1.cjs → persistence-Bl5S3TLB.cjs} +6 -2
- package/dist/{persistence-Bn4qEbDg.mjs → persistence-Dogj7JIp.mjs} +6 -3
- package/dist/{piRunnerArgs-BI8yQRBZ.cjs → piRunnerArgs-C3jZ1M6b.cjs} +1 -1
- package/dist/{piRunnerArgs-DWBb63W9.mjs → piRunnerArgs-D8nN_Iit.mjs} +1 -1
- package/dist/{piRuntime--mQ43MSM.cjs → piRuntime-Bd9-eq6M.cjs} +1 -1
- package/dist/{piRuntime-Do8oqbm3.mjs → piRuntime-BoeMsAXK.mjs} +1 -1
- package/dist/{piTerminal-BzcvLFsP.cjs → piTerminal-C3j1ca3x.cjs} +17 -16
- package/dist/{piTerminal-GC1KHTYQ.mjs → piTerminal-GEPkIGD4.mjs} +18 -17
- package/dist/{pushNotifications-Bb-QSqXw.cjs → pushNotifications-CfspRcl-.cjs} +20 -2
- package/dist/{pushNotifications-BThg4nVd.mjs → pushNotifications-dUceOIni.mjs} +21 -3
- package/dist/{query-Bz3pocKH.cjs → query-DjsVgG3E.cjs} +1 -1
- package/dist/{query-CkgIJ_Dy.mjs → query-iYH-tm7L.mjs} +1 -1
- package/dist/{rateLimitReporter-BkHyvLru.cjs → rateLimitReporter-DUu2KydZ.cjs} +3 -3
- package/dist/{rateLimitReporter-Iw4k3Bbr.mjs → rateLimitReporter-jeVi-fym.mjs} +3 -3
- package/dist/{rateLimitWindows-Bm_dcQGW.cjs → rateLimitWindows-Bx3ROBP5.cjs} +1 -1
- package/dist/{rateLimitWindows-CQ4tIQnx.mjs → rateLimitWindows-CEn0DXaX.mjs} +1 -1
- package/dist/{registerCommonHandlers-CIs6H2DV.cjs → registerCommonHandlers-Beun-cQv.cjs} +2 -2
- package/dist/{registerCommonHandlers-CaWl9ll1.mjs → registerCommonHandlers-DWZ7mfdt.mjs} +2 -2
- package/dist/{specialCommands-BsvSoDhC.cjs → registerKillSessionHandler-CA1FFr_F.cjs} +15 -62
- package/dist/{specialCommands-DHU7TNeK.mjs → registerKillSessionHandler-CzgklwLG.mjs} +17 -60
- package/dist/{remoteSessionClient-uPj7omsw.mjs → remoteSessionClient-BiC2KDew.mjs} +5 -5
- package/dist/{remoteSessionClient-DgUMfPW4.cjs → remoteSessionClient-DGFI__5Z.cjs} +5 -5
- package/dist/{reportProgressTool-DUEq3xAL.mjs → reportProgressTool-CgPy6n_7.mjs} +3 -3
- package/dist/{reportProgressTool-CaJ8EwLq.cjs → reportProgressTool-CvPGov1F.cjs} +2 -2
- package/dist/{run-DTUJBD6p.mjs → run-B_gFgJVB.mjs} +393 -42
- package/dist/{run-DyyGMqND.cjs → run-rPqQwDi_.cjs} +391 -40
- package/dist/{runClaude-DTNvIz2J.mjs → runClaude-CykqeXK7.mjs} +26 -23
- package/dist/{runClaude-8JDaPoGQ.cjs → runClaude-DM8gm8iu.cjs} +27 -24
- package/dist/{runClaudeDeps-CgGkgg7e.mjs → runClaudeDeps-D2phXGut.mjs} +106 -46
- package/dist/{runClaudeDeps-BeLo5zss.cjs → runClaudeDeps-DGAomimZ.cjs} +101 -40
- package/dist/{runGemini-BSOdU563.cjs → runGemini-CXTeSOZp.cjs} +50 -49
- package/dist/{runGemini-eU8UOzfc.mjs → runGemini-CtWCVkj5.mjs} +49 -48
- package/dist/{runOpenClaw-D8RZiA1e.mjs → runOpenClaw-BBdjlViJ.mjs} +25 -24
- package/dist/{runOpenClaw-CYyFoGRZ.cjs → runOpenClaw-CH_9_RyZ.cjs} +26 -25
- package/dist/{sandbox-C8zfNX-4.cjs → sandbox-Bb5IMun3.cjs} +4 -4
- package/dist/{sandbox-DlPahdhl.mjs → sandbox-DGmXZ6Zz.mjs} +4 -4
- package/dist/selfCheck-BfK945YQ.mjs +86 -0
- package/dist/{selfCheck-D28nvuPJ.cjs → selfCheck-CccwNTTK.cjs} +37 -37
- package/dist/{send-DBpv-1eh.mjs → send-B6rHg8GT.mjs} +9 -8
- package/dist/{send-C58kX4qz.cjs → send-BpiXPkDo.cjs} +9 -8
- package/dist/{server-J5K6pOox.mjs → server-BkdAyHhC.mjs} +4 -4
- package/dist/{server-I_CETZzn.cjs → server-DHUzjApC.cjs} +6 -6
- package/dist/{sessionLock-DjE7O0LS.cjs → sessionLock-BFBReiKq.cjs} +134 -3
- package/dist/{sessionLock-C7Wg1RVd.mjs → sessionLock-Ca_bIo50.mjs} +121 -4
- package/dist/{sessionOps-CYjMT7Ad.mjs → sessionOps-CA2kpm66.mjs} +36 -5
- package/dist/{sessionOps-DGMpl9NB.cjs → sessionOps-DeWVqpe4.cjs} +36 -4
- package/dist/{sessionProvider-DVtxrOuM.cjs → sessionProvider-VFbtUmMR.cjs} +5 -5
- package/dist/{sessionProvider-TLiFn9kD.mjs → sessionProvider-g18IiK74.mjs} +5 -5
- package/dist/{sessionScanner-BZ1ZSn6I.cjs → sessionScanner-CGzsN8V6.cjs} +3 -3
- package/dist/{sessionScanner-CknV1IlN.mjs → sessionScanner-DDDud5re.mjs} +3 -3
- package/dist/{sessions-DU4bxkap.mjs → sessions-B4d50sCI.mjs} +36 -26
- package/dist/{sessions-CTkBKs5U.cjs → sessions-CKJPWFgu.cjs} +37 -25
- package/dist/{setupOfflineReconnection-DaOXnGuH.mjs → setupOfflineReconnection-CyPNgyCe.mjs} +2 -2
- package/dist/{setupOfflineReconnection-CQHNuP_0.cjs → setupOfflineReconnection-DPXRo_zf.cjs} +2 -2
- package/dist/{spawn-C0wZc03S.cjs → spawn-CgSJzzWS.cjs} +17 -16
- package/dist/{spawn-DdnYTtQe.mjs → spawn-CrYN_OOT.mjs} +18 -17
- package/dist/{spawnAgents-BjyU78Ue.cjs → spawnAgents-C1-4m7aN.cjs} +3 -1
- package/dist/{spawnAgents-D-7wMw-a.mjs → spawnAgents-DWCDYCQ1.mjs} +4 -2
- package/dist/{spawnHappyCLI-BJUd974I.cjs → spawnHappyCLI-CTy3p6V_.cjs} +1 -1
- package/dist/{spawnHappyCLI-CnyyJk74.mjs → spawnHappyCLI-DjbkiSH1.mjs} +1 -1
- package/dist/specialCommands-J3JFOq0J.cjs +60 -0
- package/dist/specialCommands-MXUN0wfI.mjs +54 -0
- package/dist/{startFileWatcher-DBboREco.cjs → startFileWatcher-BQs0cJA-.cjs} +1 -1
- package/dist/{startFileWatcher-CpO5Mwbr.mjs → startFileWatcher-Dedtu1vq.mjs} +1 -1
- package/dist/{defaultPermissionMode-DMTnlccv.mjs → startupSessionCreate-BKFU4v_h.mjs} +25 -6
- package/dist/{defaultPermissionMode-Dlm0q1m0.cjs → startupSessionCreate-Dxy3X4DG.cjs} +25 -7
- package/dist/{streamRelay-CqBynIon.mjs → streamRelay-P9e7Sohm.mjs} +1 -1
- package/dist/{sync-6HFRJP1h.cjs → sync-DtWB7RzA.cjs} +1 -1
- package/dist/{sync-I8NYmycF.mjs → sync-eZkXnsW_.mjs} +1 -1
- package/dist/{systemPrompt-BDWj5QSL.cjs → systemPrompt-2XOpZ1j6.cjs} +1 -1
- package/dist/{systemPrompt-C1RSY_60.mjs → systemPrompt-Bn6g6aCH.mjs} +2 -2
- package/dist/{teams-eUD7ymif.cjs → teams-ecFay4Gn.cjs} +6 -6
- package/dist/{teams-GpLFbXXE.mjs → teams-nadkqrbW.mjs} +7 -7
- package/dist/{template-CEK8MEjo.mjs → template-BiTD-jI9.mjs} +1 -1
- package/dist/{time-umG7yHkb.mjs → time-CN3TuSVG.mjs} +1 -1
- package/dist/{time-BAJRbB6U.cjs → time-gPD_EmA-.cjs} +1 -1
- package/dist/{titleGenerator-dmFlxkRs.mjs → titleGenerator-DgzTQdn2.mjs} +1 -1
- package/dist/{titleGenerator-iqb2jOF1.cjs → titleGenerator-lT5ldPuN.cjs} +2 -2
- package/dist/{todo-DsR7WnQS.cjs → todo-B1VeMk5A.cjs} +5 -5
- package/dist/{todo-CT4AJ3sH.mjs → todo-BIxd7l2Q.mjs} +6 -6
- package/dist/{tools-30E66QL_.cjs → tools-DvqbLsCF.cjs} +1 -1
- package/dist/{tools-BOWazSD6.mjs → tools-zXJpxiG_.mjs} +1 -1
- package/dist/{uninstall-DImXs6VZ.mjs → uninstall-9htK6mb7.mjs} +3 -3
- package/dist/{uninstall-BtTc9hHa.cjs → uninstall-CvIOpwB5.cjs} +3 -3
- package/package.json +7 -7
- package/dist/agentAttachments-M_B5qEF2.mjs +0 -18
- package/dist/selfCheck-4bcdHPFQ.mjs +0 -86
- package/dist/startupSessionCreate-BgaVuvQp.mjs +0 -24
- package/dist/startupSessionCreate-C1u2dtz8.cjs +0 -26
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
const COMPACT_RE = /^[/\uFF0F]compact(?![A-Za-z0-9_:-])([\s\S]*)$/i;
|
|
4
|
+
const LEADING_SPACE_RE = /^[\s\u3000\uFEFF\u200B]+/;
|
|
5
|
+
function parseCompact(message) {
|
|
6
|
+
const match = message.replace(LEADING_SPACE_RE, "").match(COMPACT_RE);
|
|
7
|
+
if (!match) {
|
|
8
|
+
return {
|
|
9
|
+
isCompact: false,
|
|
10
|
+
originalMessage: message
|
|
11
|
+
};
|
|
12
|
+
}
|
|
13
|
+
const instructions = match[1].replace(/\u3000/g, " ").trim();
|
|
14
|
+
return {
|
|
15
|
+
isCompact: true,
|
|
16
|
+
originalMessage: instructions ? `/compact ${instructions}` : "/compact"
|
|
17
|
+
};
|
|
18
|
+
}
|
|
19
|
+
function compactCommandText(message) {
|
|
20
|
+
const result = parseCompact(message);
|
|
21
|
+
return result.isCompact ? result.originalMessage : null;
|
|
22
|
+
}
|
|
23
|
+
function parseClear(message) {
|
|
24
|
+
const trimmed = message.trim();
|
|
25
|
+
return {
|
|
26
|
+
isClear: trimmed === "/clear"
|
|
27
|
+
};
|
|
28
|
+
}
|
|
29
|
+
function parseSpecialCommand(message) {
|
|
30
|
+
const compactResult = parseCompact(message);
|
|
31
|
+
if (compactResult.isCompact) {
|
|
32
|
+
return {
|
|
33
|
+
type: "compact",
|
|
34
|
+
originalMessage: compactResult.originalMessage
|
|
35
|
+
};
|
|
36
|
+
}
|
|
37
|
+
const clearResult = parseClear(message);
|
|
38
|
+
if (clearResult.isClear) {
|
|
39
|
+
return {
|
|
40
|
+
type: "clear"
|
|
41
|
+
};
|
|
42
|
+
}
|
|
43
|
+
const trimmed = message.trim().toLowerCase();
|
|
44
|
+
if (trimmed === "/mcp") {
|
|
45
|
+
return { type: "mcp" };
|
|
46
|
+
}
|
|
47
|
+
if (trimmed === "/skills") {
|
|
48
|
+
return { type: "skills" };
|
|
49
|
+
}
|
|
50
|
+
return {
|
|
51
|
+
type: null
|
|
52
|
+
};
|
|
53
|
+
}
|
|
54
|
+
const COMPACT_UNSUPPORTED_NOTICE = "This session type does not support /compact";
|
|
55
|
+
|
|
56
|
+
exports.COMPACT_UNSUPPORTED_NOTICE = COMPACT_UNSUPPORTED_NOTICE;
|
|
57
|
+
exports.compactCommandText = compactCommandText;
|
|
58
|
+
exports.parseClear = parseClear;
|
|
59
|
+
exports.parseCompact = parseCompact;
|
|
60
|
+
exports.parseSpecialCommand = parseSpecialCommand;
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
const COMPACT_RE = /^[/\uFF0F]compact(?![A-Za-z0-9_:-])([\s\S]*)$/i;
|
|
2
|
+
const LEADING_SPACE_RE = /^[\s\u3000\uFEFF\u200B]+/;
|
|
3
|
+
function parseCompact(message) {
|
|
4
|
+
const match = message.replace(LEADING_SPACE_RE, "").match(COMPACT_RE);
|
|
5
|
+
if (!match) {
|
|
6
|
+
return {
|
|
7
|
+
isCompact: false,
|
|
8
|
+
originalMessage: message
|
|
9
|
+
};
|
|
10
|
+
}
|
|
11
|
+
const instructions = match[1].replace(/\u3000/g, " ").trim();
|
|
12
|
+
return {
|
|
13
|
+
isCompact: true,
|
|
14
|
+
originalMessage: instructions ? `/compact ${instructions}` : "/compact"
|
|
15
|
+
};
|
|
16
|
+
}
|
|
17
|
+
function compactCommandText(message) {
|
|
18
|
+
const result = parseCompact(message);
|
|
19
|
+
return result.isCompact ? result.originalMessage : null;
|
|
20
|
+
}
|
|
21
|
+
function parseClear(message) {
|
|
22
|
+
const trimmed = message.trim();
|
|
23
|
+
return {
|
|
24
|
+
isClear: trimmed === "/clear"
|
|
25
|
+
};
|
|
26
|
+
}
|
|
27
|
+
function parseSpecialCommand(message) {
|
|
28
|
+
const compactResult = parseCompact(message);
|
|
29
|
+
if (compactResult.isCompact) {
|
|
30
|
+
return {
|
|
31
|
+
type: "compact",
|
|
32
|
+
originalMessage: compactResult.originalMessage
|
|
33
|
+
};
|
|
34
|
+
}
|
|
35
|
+
const clearResult = parseClear(message);
|
|
36
|
+
if (clearResult.isClear) {
|
|
37
|
+
return {
|
|
38
|
+
type: "clear"
|
|
39
|
+
};
|
|
40
|
+
}
|
|
41
|
+
const trimmed = message.trim().toLowerCase();
|
|
42
|
+
if (trimmed === "/mcp") {
|
|
43
|
+
return { type: "mcp" };
|
|
44
|
+
}
|
|
45
|
+
if (trimmed === "/skills") {
|
|
46
|
+
return { type: "skills" };
|
|
47
|
+
}
|
|
48
|
+
return {
|
|
49
|
+
type: null
|
|
50
|
+
};
|
|
51
|
+
}
|
|
52
|
+
const COMPACT_UNSUPPORTED_NOTICE = "This session type does not support /compact";
|
|
53
|
+
|
|
54
|
+
export { COMPACT_UNSUPPORTED_NOTICE as C, parseSpecialCommand as a, parseCompact as b, compactCommandText as c, parseClear as p };
|
|
@@ -1,5 +1,6 @@
|
|
|
1
|
-
import { l as logger } from './logger-
|
|
2
|
-
import { e as evaluateWrapperIdle, j as HIBERNATION_UNSUPPORTED_BACKOFF_MS } from './persistence-
|
|
1
|
+
import { l as logger } from './logger-CL7pin9b.mjs';
|
|
2
|
+
import { e as evaluateWrapperIdle, j as isQuiescent, k as HIBERNATION_UNSUPPORTED_BACKOFF_MS } from './persistence-Dogj7JIp.mjs';
|
|
3
|
+
import { c as connectionState } from './api-Dw8gFsQi.mjs';
|
|
3
4
|
|
|
4
5
|
const PRESENCE_SETTLE_MS = 6e3;
|
|
5
6
|
async function commitHibernation(deps) {
|
|
@@ -110,7 +111,7 @@ class HibernationProbe {
|
|
|
110
111
|
const now = (this.deps.now ?? Date.now)();
|
|
111
112
|
const snapshot = this.deps.snapshot();
|
|
112
113
|
const local = evaluateWrapperIdle(snapshot, 1, now);
|
|
113
|
-
if (!local.ok && local.reason !== "keep-awake") {
|
|
114
|
+
if (!local.ok && local.reason !== "keep-awake" && !isQuiescent(snapshot)) {
|
|
114
115
|
this.schedule(this.deps.checkMs);
|
|
115
116
|
return this.deps.checkMs;
|
|
116
117
|
}
|
|
@@ -185,7 +186,25 @@ class HibernationExitLatch {
|
|
|
185
186
|
}
|
|
186
187
|
}
|
|
187
188
|
|
|
188
|
-
const
|
|
189
|
-
|
|
189
|
+
const DAEMON_SESSION_CREATE_RETRY_DELAYS_MS = [500, 1e3, 2e3, 3e3];
|
|
190
|
+
class SessionStartupError extends Error {
|
|
191
|
+
constructor(message) {
|
|
192
|
+
super(message);
|
|
193
|
+
this.name = "SessionStartupError";
|
|
194
|
+
}
|
|
195
|
+
}
|
|
196
|
+
async function createSessionForStartup(create, opts) {
|
|
197
|
+
if (opts.startedBy !== "daemon") return create();
|
|
198
|
+
const delays = opts.delaysMs ?? DAEMON_SESSION_CREATE_RETRY_DELAYS_MS;
|
|
199
|
+
const sleep = opts.sleep ?? ((ms) => new Promise((resolve) => setTimeout(resolve, ms)));
|
|
200
|
+
for (let attempt = 0; ; attempt++) {
|
|
201
|
+
const session = await create();
|
|
202
|
+
if (session) return session;
|
|
203
|
+
if (attempt >= delays.length) break;
|
|
204
|
+
opts.log?.(`[START] Session create attempt ${attempt + 1} failed (${connectionState.describe("Session creation") ?? "server unavailable"}); retrying in ${delays[attempt]}ms`);
|
|
205
|
+
await sleep(delays[attempt]);
|
|
206
|
+
}
|
|
207
|
+
throw new SessionStartupError(`Could not create the session on the server after ${delays.length + 1} attempts: ${connectionState.describe("Session creation") ?? "server unavailable"}`);
|
|
208
|
+
}
|
|
190
209
|
|
|
191
|
-
export {
|
|
210
|
+
export { HibernationProbe as H, commitHibernation as a, HibernationExitLatch as b, createSessionForStartup as c };
|
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var logger = require('./logger-
|
|
4
|
-
var persistence = require('./persistence-
|
|
3
|
+
var logger = require('./logger-BBRTTVsQ.cjs');
|
|
4
|
+
var persistence = require('./persistence-Bl5S3TLB.cjs');
|
|
5
|
+
var api = require('./api-CXL6jp-p.cjs');
|
|
5
6
|
|
|
6
7
|
const PRESENCE_SETTLE_MS = 6e3;
|
|
7
8
|
async function commitHibernation(deps) {
|
|
@@ -112,7 +113,7 @@ class HibernationProbe {
|
|
|
112
113
|
const now = (this.deps.now ?? Date.now)();
|
|
113
114
|
const snapshot = this.deps.snapshot();
|
|
114
115
|
const local = persistence.evaluateWrapperIdle(snapshot, 1, now);
|
|
115
|
-
if (!local.ok && local.reason !== "keep-awake") {
|
|
116
|
+
if (!local.ok && local.reason !== "keep-awake" && !persistence.isQuiescent(snapshot)) {
|
|
116
117
|
this.schedule(this.deps.checkMs);
|
|
117
118
|
return this.deps.checkMs;
|
|
118
119
|
}
|
|
@@ -187,11 +188,28 @@ class HibernationExitLatch {
|
|
|
187
188
|
}
|
|
188
189
|
}
|
|
189
190
|
|
|
190
|
-
const
|
|
191
|
-
|
|
191
|
+
const DAEMON_SESSION_CREATE_RETRY_DELAYS_MS = [500, 1e3, 2e3, 3e3];
|
|
192
|
+
class SessionStartupError extends Error {
|
|
193
|
+
constructor(message) {
|
|
194
|
+
super(message);
|
|
195
|
+
this.name = "SessionStartupError";
|
|
196
|
+
}
|
|
197
|
+
}
|
|
198
|
+
async function createSessionForStartup(create, opts) {
|
|
199
|
+
if (opts.startedBy !== "daemon") return create();
|
|
200
|
+
const delays = opts.delaysMs ?? DAEMON_SESSION_CREATE_RETRY_DELAYS_MS;
|
|
201
|
+
const sleep = opts.sleep ?? ((ms) => new Promise((resolve) => setTimeout(resolve, ms)));
|
|
202
|
+
for (let attempt = 0; ; attempt++) {
|
|
203
|
+
const session = await create();
|
|
204
|
+
if (session) return session;
|
|
205
|
+
if (attempt >= delays.length) break;
|
|
206
|
+
opts.log?.(`[START] Session create attempt ${attempt + 1} failed (${api.connectionState.describe("Session creation") ?? "server unavailable"}); retrying in ${delays[attempt]}ms`);
|
|
207
|
+
await sleep(delays[attempt]);
|
|
208
|
+
}
|
|
209
|
+
throw new SessionStartupError(`Could not create the session on the server after ${delays.length + 1} attempts: ${api.connectionState.describe("Session creation") ?? "server unavailable"}`);
|
|
210
|
+
}
|
|
192
211
|
|
|
193
|
-
exports.DEFAULT_CLAUDE_PERMISSION_MODE = DEFAULT_CLAUDE_PERMISSION_MODE;
|
|
194
|
-
exports.DEFAULT_CODEX_PERMISSION_MODE = DEFAULT_CODEX_PERMISSION_MODE;
|
|
195
212
|
exports.HibernationExitLatch = HibernationExitLatch;
|
|
196
213
|
exports.HibernationProbe = HibernationProbe;
|
|
197
214
|
exports.commitHibernation = commitHibernation;
|
|
215
|
+
exports.createSessionForStartup = createSessionForStartup;
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import { l as logger } from './logger-
|
|
1
|
+
import { l as logger } from './logger-CL7pin9b.mjs';
|
|
2
2
|
import { existsSync, readFileSync } from 'node:fs';
|
|
3
3
|
import { join } from 'node:path';
|
|
4
4
|
import { g as getProjectPath } from './path-D2wdaNSk.mjs';
|
|
5
|
-
import { j as BUILTIN_TODO_DISCOVERY } from './index-
|
|
5
|
+
import { j as BUILTIN_TODO_DISCOVERY } from './index-DmqsRnV7.mjs';
|
|
6
6
|
import { t as trimIdent } from './trimIdent-BAjmv_TG.mjs';
|
|
7
7
|
import { homedir } from 'node:os';
|
|
8
8
|
import { A as AGENT_GUIDANCE } from './agentGuidance-BDYt2Qy2.mjs';
|
|
@@ -4,21 +4,21 @@ var os = require('node:os');
|
|
|
4
4
|
var promises = require('node:fs/promises');
|
|
5
5
|
var z = require('zod');
|
|
6
6
|
var node_crypto = require('node:crypto');
|
|
7
|
-
var client = require('./client-
|
|
8
|
-
var persistence = require('./persistence-
|
|
7
|
+
var client = require('./client-CARZ_lNS.cjs');
|
|
8
|
+
var persistence = require('./persistence-Bl5S3TLB.cjs');
|
|
9
9
|
var install = require('./install-BOHlqewf.cjs');
|
|
10
10
|
require('node:child_process');
|
|
11
11
|
require('node:util');
|
|
12
12
|
require('node:path');
|
|
13
13
|
require('./index-BOe6dKnL.cjs');
|
|
14
14
|
require('@paralleldrive/cuid2');
|
|
15
|
-
require('./configuration-
|
|
15
|
+
require('./configuration-Dt5lKW3P.cjs');
|
|
16
16
|
require('node:fs');
|
|
17
|
-
require('./package-
|
|
18
|
-
require('./context-
|
|
17
|
+
require('./package-DrY090nZ.cjs');
|
|
18
|
+
require('./context-BdZssgF0.cjs');
|
|
19
19
|
require('./authRelay-Dy1qU9td.cjs');
|
|
20
20
|
require('tweetnacl');
|
|
21
|
-
require('./logger-
|
|
21
|
+
require('./logger-BBRTTVsQ.cjs');
|
|
22
22
|
require('chalk');
|
|
23
23
|
require('./resources-BZ_Be0qM.cjs');
|
|
24
24
|
|
|
@@ -2,21 +2,21 @@ import { homedir } from 'node:os';
|
|
|
2
2
|
import { readFile } from 'node:fs/promises';
|
|
3
3
|
import { z } from 'zod';
|
|
4
4
|
import { randomUUID } from 'node:crypto';
|
|
5
|
-
import { t as teamRequest, c as createTeamsClient } from './client-
|
|
6
|
-
import { b as readCredentialsForConfiguredRelay } from './persistence-
|
|
5
|
+
import { t as teamRequest, c as createTeamsClient } from './client-CtL0Vtww.mjs';
|
|
6
|
+
import { b as readCredentialsForConfiguredRelay } from './persistence-Dogj7JIp.mjs';
|
|
7
7
|
import { a as installTeamSkill, i as installAutomationSkill } from './install-B8O1JpJH.mjs';
|
|
8
8
|
import 'node:child_process';
|
|
9
9
|
import 'node:util';
|
|
10
10
|
import 'node:path';
|
|
11
|
-
import './index-
|
|
11
|
+
import './index-DmqsRnV7.mjs';
|
|
12
12
|
import '@paralleldrive/cuid2';
|
|
13
|
-
import './configuration-
|
|
13
|
+
import './configuration-Dechcvd-.mjs';
|
|
14
14
|
import 'node:fs';
|
|
15
|
-
import './package-
|
|
16
|
-
import './context-
|
|
15
|
+
import './package-C6uiXULx.mjs';
|
|
16
|
+
import './context-C9JbJoNe.mjs';
|
|
17
17
|
import './authRelay-DhQhkBvX.mjs';
|
|
18
18
|
import 'tweetnacl';
|
|
19
|
-
import './logger-
|
|
19
|
+
import './logger-CL7pin9b.mjs';
|
|
20
20
|
import 'chalk';
|
|
21
21
|
import './resources-CLP_MpK4.mjs';
|
|
22
22
|
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { d as AUTOMATION_ATTENTION_REASON_MAX_CHARS, e as AUTOMATION_SUMMARY_MAX_CHARS } from './index-
|
|
1
|
+
import { d as AUTOMATION_ATTENTION_REASON_MAX_CHARS, e as AUTOMATION_SUMMARY_MAX_CHARS } from './index-DmqsRnV7.mjs';
|
|
2
2
|
|
|
3
3
|
function payloadJson(payload) {
|
|
4
4
|
if (!payload) return void 0;
|
|
@@ -3,7 +3,7 @@ import { createRequire } from 'node:module';
|
|
|
3
3
|
import { T as TITLE_PROMPT_PREFIX } from './oneShotPrompts-DT4p6RNd.mjs';
|
|
4
4
|
import { randomUUID } from 'node:crypto';
|
|
5
5
|
import { resolve, join } from 'node:path';
|
|
6
|
-
import { l as logger } from './logger-
|
|
6
|
+
import { l as logger } from './logger-CL7pin9b.mjs';
|
|
7
7
|
import { p as projectPath } from './projectPath-BTBIMB57.mjs';
|
|
8
8
|
|
|
9
9
|
const MAX_PROMPT_SAMPLE_CHARS = 500;
|
|
@@ -5,7 +5,7 @@ var module$1 = require('node:module');
|
|
|
5
5
|
var oneShotPrompts = require('./oneShotPrompts-CL0dip9C.cjs');
|
|
6
6
|
var node_crypto = require('node:crypto');
|
|
7
7
|
var path = require('node:path');
|
|
8
|
-
var logger = require('./logger-
|
|
8
|
+
var logger = require('./logger-BBRTTVsQ.cjs');
|
|
9
9
|
var projectPath = require('./projectPath-C3ioB4Bu.cjs');
|
|
10
10
|
|
|
11
11
|
var _documentCurrentScript = typeof document !== 'undefined' ? document.currentScript : null;
|
|
@@ -13,7 +13,7 @@ const MAX_PROMPT_SAMPLE_CHARS = 500;
|
|
|
13
13
|
const MAX_TITLE_CHARS = 60;
|
|
14
14
|
const GENERATION_TIMEOUT_MS = 3e4;
|
|
15
15
|
function loadClaudeVersionUtils() {
|
|
16
|
-
const require$1 = module$1.createRequire((typeof document === 'undefined' ? require('u' + 'rl').pathToFileURL(__filename).href : (_documentCurrentScript && _documentCurrentScript.tagName.toUpperCase() === 'SCRIPT' && _documentCurrentScript.src || new URL('titleGenerator-
|
|
16
|
+
const require$1 = module$1.createRequire((typeof document === 'undefined' ? require('u' + 'rl').pathToFileURL(__filename).href : (_documentCurrentScript && _documentCurrentScript.tagName.toUpperCase() === 'SCRIPT' && _documentCurrentScript.src || new URL('titleGenerator-lT5ldPuN.cjs', document.baseURI).href)));
|
|
17
17
|
return require$1(path.resolve(path.join(projectPath.projectPath(), "scripts", "claude_version_utils.cjs")));
|
|
18
18
|
}
|
|
19
19
|
function resolveClaudeBinary(loadUtils = loadClaudeVersionUtils) {
|
|
@@ -1,20 +1,20 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var configuration = require('./configuration-
|
|
3
|
+
var configuration = require('./configuration-Dt5lKW3P.cjs');
|
|
4
4
|
var index = require('./index-BOe6dKnL.cjs');
|
|
5
|
-
var persistence = require('./persistence-
|
|
6
|
-
var context = require('./context-
|
|
5
|
+
var persistence = require('./persistence-Bl5S3TLB.cjs');
|
|
6
|
+
var context = require('./context-BdZssgF0.cjs');
|
|
7
7
|
require('node:fs');
|
|
8
8
|
require('node:os');
|
|
9
9
|
require('node:path');
|
|
10
|
-
require('./package-
|
|
10
|
+
require('./package-DrY090nZ.cjs');
|
|
11
11
|
require('node:fs/promises');
|
|
12
12
|
require('zod');
|
|
13
13
|
require('@paralleldrive/cuid2');
|
|
14
14
|
require('./authRelay-Dy1qU9td.cjs');
|
|
15
15
|
require('node:crypto');
|
|
16
16
|
require('tweetnacl');
|
|
17
|
-
require('./logger-
|
|
17
|
+
require('./logger-BBRTTVsQ.cjs');
|
|
18
18
|
require('chalk');
|
|
19
19
|
require('node:util');
|
|
20
20
|
|
|
@@ -1,18 +1,18 @@
|
|
|
1
|
-
import { c as configuration } from './configuration-
|
|
2
|
-
import { h as createBuiltinTodoClient, B as BUILTIN_TODO_SKILL } from './index-
|
|
3
|
-
import { b as readCredentialsForConfiguredRelay } from './persistence-
|
|
4
|
-
import { r as readTeamScope, t as teamScopePath } from './context-
|
|
1
|
+
import { c as configuration } from './configuration-Dechcvd-.mjs';
|
|
2
|
+
import { h as createBuiltinTodoClient, B as BUILTIN_TODO_SKILL } from './index-DmqsRnV7.mjs';
|
|
3
|
+
import { b as readCredentialsForConfiguredRelay } from './persistence-Dogj7JIp.mjs';
|
|
4
|
+
import { r as readTeamScope, t as teamScopePath } from './context-C9JbJoNe.mjs';
|
|
5
5
|
import 'node:fs';
|
|
6
6
|
import 'node:os';
|
|
7
7
|
import 'node:path';
|
|
8
|
-
import './package-
|
|
8
|
+
import './package-C6uiXULx.mjs';
|
|
9
9
|
import 'node:fs/promises';
|
|
10
10
|
import 'zod';
|
|
11
11
|
import '@paralleldrive/cuid2';
|
|
12
12
|
import './authRelay-DhQhkBvX.mjs';
|
|
13
13
|
import 'node:crypto';
|
|
14
14
|
import 'tweetnacl';
|
|
15
|
-
import './logger-
|
|
15
|
+
import './logger-CL7pin9b.mjs';
|
|
16
16
|
import 'chalk';
|
|
17
17
|
import 'node:util';
|
|
18
18
|
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { z } from 'zod';
|
|
2
|
-
import { c as createTeamsClient } from './client-
|
|
2
|
+
import { c as createTeamsClient } from './client-CtL0Vtww.mjs';
|
|
3
3
|
|
|
4
4
|
const CLOSED_GOAL_CHARS = 200;
|
|
5
5
|
const closed = (task) => task.status === "done" || task.status === "cancelled";
|
|
@@ -1,13 +1,13 @@
|
|
|
1
|
-
import { l as logger } from './logger-
|
|
1
|
+
import { l as logger } from './logger-CL7pin9b.mjs';
|
|
2
2
|
import { existsSync, unlinkSync } from 'fs';
|
|
3
3
|
import { execSync } from 'child_process';
|
|
4
4
|
import 'chalk';
|
|
5
5
|
import 'node:util';
|
|
6
|
-
import './configuration-
|
|
6
|
+
import './configuration-Dechcvd-.mjs';
|
|
7
7
|
import 'node:fs';
|
|
8
8
|
import 'node:os';
|
|
9
9
|
import 'node:path';
|
|
10
|
-
import './package-
|
|
10
|
+
import './package-C6uiXULx.mjs';
|
|
11
11
|
import 'node:fs/promises';
|
|
12
12
|
|
|
13
13
|
const PLIST_LABEL = "com.happy-cli.daemon";
|
|
@@ -1,15 +1,15 @@
|
|
|
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
|
require('chalk');
|
|
7
7
|
require('node:util');
|
|
8
|
-
require('./configuration-
|
|
8
|
+
require('./configuration-Dt5lKW3P.cjs');
|
|
9
9
|
require('node:fs');
|
|
10
10
|
require('node:os');
|
|
11
11
|
require('node:path');
|
|
12
|
-
require('./package-
|
|
12
|
+
require('./package-DrY090nZ.cjs');
|
|
13
13
|
require('node:fs/promises');
|
|
14
14
|
|
|
15
15
|
const PLIST_LABEL = "com.happy-cli.daemon";
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "very-happy-cli",
|
|
3
|
-
"version": "0.2.
|
|
3
|
+
"version": "0.2.190",
|
|
4
4
|
"description": "Remote multi-agent workspace CLI with deep Claude integration, native terminal streaming, and self-hosting.",
|
|
5
5
|
"author": "Kirill Dubovitskiy",
|
|
6
6
|
"contributors": [
|
|
@@ -117,12 +117,12 @@
|
|
|
117
117
|
"zod": "^4.6.7"
|
|
118
118
|
},
|
|
119
119
|
"optionalDependencies": {
|
|
120
|
-
"very-happy-tools-arm64-darwin": "0.2.
|
|
121
|
-
"very-happy-tools-x64-darwin": "0.2.
|
|
122
|
-
"very-happy-tools-arm64-linux": "0.2.
|
|
123
|
-
"very-happy-tools-x64-linux": "0.2.
|
|
124
|
-
"very-happy-tools-arm64-win32": "0.2.
|
|
125
|
-
"very-happy-tools-x64-win32": "0.2.
|
|
120
|
+
"very-happy-tools-arm64-darwin": "0.2.190",
|
|
121
|
+
"very-happy-tools-x64-darwin": "0.2.190",
|
|
122
|
+
"very-happy-tools-arm64-linux": "0.2.190",
|
|
123
|
+
"very-happy-tools-x64-linux": "0.2.190",
|
|
124
|
+
"very-happy-tools-arm64-win32": "0.2.190",
|
|
125
|
+
"very-happy-tools-x64-win32": "0.2.190"
|
|
126
126
|
},
|
|
127
127
|
"devDependencies": {
|
|
128
128
|
"@slopus/happy-wire": "workspace:*",
|
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
function registerAgentAttachmentDownloads(session) {
|
|
2
|
-
session.onFileEvent((fileEvent) => {
|
|
3
|
-
const attachment = fileEvent.content.data.ev;
|
|
4
|
-
const download = (async () => {
|
|
5
|
-
try {
|
|
6
|
-
const data = await session.downloadAndDecryptAttachment(attachment.ref);
|
|
7
|
-
if (!data) throw new Error("Attachment decryption failed");
|
|
8
|
-
return { data, mimeType: attachment.mimeType ?? "image/jpeg", name: attachment.name };
|
|
9
|
-
} catch {
|
|
10
|
-
session.sendSessionEvent({ type: "message", message: `Could not download attachment: ${attachment.name}. Please attach it again.` });
|
|
11
|
-
return null;
|
|
12
|
-
}
|
|
13
|
-
})();
|
|
14
|
-
session.trackAttachmentDownload(download);
|
|
15
|
-
});
|
|
16
|
-
}
|
|
17
|
-
|
|
18
|
-
export { registerAgentAttachmentDownloads as r };
|
|
@@ -1,86 +0,0 @@
|
|
|
1
|
-
import { p as packageJson } from './package-CwB8rFJt.mjs';
|
|
2
|
-
|
|
3
|
-
const LAZY_MODULES = [
|
|
4
|
-
// Entry
|
|
5
|
-
["main", () => import('./main-IPhaImjm.mjs')],
|
|
6
|
-
["selfCheck", () => Promise.resolve().then(function () { return selfCheck; })],
|
|
7
|
-
// Subcommands (main.ts)
|
|
8
|
-
["api/api", () => import('./api-DNKa7kVy.mjs').then(function (n) { return n.e; })],
|
|
9
|
-
["claude/claudeCliPath", () => import('./claudeCliPath-BqkaH2oR.mjs')],
|
|
10
|
-
["claude/runClaude", () => import('./runClaude-DTNvIz2J.mjs')],
|
|
11
|
-
["commands/agentHome", () => import('./agentHome-Dc7LYF3d.mjs')],
|
|
12
|
-
["commands/auth", () => import('./auth-Bzwo_vOM.mjs')],
|
|
13
|
-
["commands/auto", () => import('./auto-DHYOLnXB.mjs')],
|
|
14
|
-
["commands/codexCommand", () => import('./codexCommand-DUSVzbKh.mjs')],
|
|
15
|
-
["commands/connect", () => import('./connect-Cw_INlj8.mjs')],
|
|
16
|
-
["commands/installPiTools", () => import('./installPiTools-B_CdM5_2.mjs')],
|
|
17
|
-
["commands/installTerminalHooks", () => import('./installTerminalHooks-By7gBMEF.mjs')],
|
|
18
|
-
["commands/mcp", () => import('./mcp-CWnMvju6.mjs')],
|
|
19
|
-
["commands/panels", () => import('./panels-L1mSkC-y.mjs')],
|
|
20
|
-
["commands/piTerminal", () => import('./piTerminal-GC1KHTYQ.mjs')],
|
|
21
|
-
["commands/sandbox", () => import('./sandbox-DlPahdhl.mjs')],
|
|
22
|
-
["commands/send", () => import('./send-DBpv-1eh.mjs')],
|
|
23
|
-
["commands/server", () => import('./server-J5K6pOox.mjs')],
|
|
24
|
-
["commands/sessions", () => import('./sessions-DU4bxkap.mjs')],
|
|
25
|
-
["commands/sessionProvider", () => import('./sessionProvider-TLiFn9kD.mjs')],
|
|
26
|
-
["commands/spawn", () => import('./spawn-DdnYTtQe.mjs')],
|
|
27
|
-
["commands/teams", () => import('./teams-GpLFbXXE.mjs')],
|
|
28
|
-
["commands/todo", () => import('./todo-CT4AJ3sH.mjs')],
|
|
29
|
-
["daemon/doctor", () => import('./doctor-BPkYWSuq.mjs')],
|
|
30
|
-
["daemon/install", () => import('./install-CMa_FOWu.mjs')],
|
|
31
|
-
["daemon/run", () => import('./run-DTUJBD6p.mjs')],
|
|
32
|
-
["daemon/uninstall", () => import('./uninstall-DImXs6VZ.mjs')],
|
|
33
|
-
["resume/handleResumeCommand", () => import('./handleResumeCommand-BU1uMNyv.mjs')],
|
|
34
|
-
["ui/doctor", () => import('./doctor-B4HQiW6j.mjs').then(function (n) { return n.d; })],
|
|
35
|
-
["agent/acp", () => import('./index-ChX0eVXw.mjs')],
|
|
36
|
-
["gemini/runGemini", () => import('./runGemini-eU8UOzfc.mjs')],
|
|
37
|
-
["gemini/utils/config", () => import('./config-BrzZ0O-6.mjs')],
|
|
38
|
-
["openclaw/runOpenClaw", () => import('./runOpenClaw-D8RZiA1e.mjs')],
|
|
39
|
-
["persistence", () => import('./persistence-Bn4qEbDg.mjs').then(function (n) { return n.F; })],
|
|
40
|
-
// Deferred halves of the runners and clients
|
|
41
|
-
["api/apiMachine", () => import('./apiMachine-Di1G9ECW.mjs')],
|
|
42
|
-
["claude/runClaudeDeps", () => import('./runClaudeDeps-CgGkgg7e.mjs')],
|
|
43
|
-
["claude/claudeLocal", () => import('./claudeLocal-CqaEs-81.mjs')],
|
|
44
|
-
["claude/claudeLocalLauncher", () => import('./claudeLocalLauncher-BDUPxtsI.mjs')],
|
|
45
|
-
["claude/sdk", () => import('./index-DDz0Ftoy.mjs')],
|
|
46
|
-
["assistant/bootstrap", () => import('./bootstrap-Di38SnpN.mjs')],
|
|
47
|
-
["agentHome", () => import('./index-CVHRt3SS.mjs')],
|
|
48
|
-
["ui/ink/RemoteModeDisplay", () => import('./RemoteModeDisplay-D-HewyXg.mjs')],
|
|
49
|
-
// External packages imported on demand
|
|
50
|
-
["expo-server-sdk", () => import('expo-server-sdk')],
|
|
51
|
-
["ink", () => import('ink')],
|
|
52
|
-
["react", () => import('react')]
|
|
53
|
-
];
|
|
54
|
-
|
|
55
|
-
async function runSelfCheck(modules = LAZY_MODULES) {
|
|
56
|
-
const failures = [];
|
|
57
|
-
for (const [name, load] of modules) {
|
|
58
|
-
try {
|
|
59
|
-
await load();
|
|
60
|
-
} catch (error) {
|
|
61
|
-
failures.push({ name, error: error instanceof Error ? error.message : String(error) });
|
|
62
|
-
}
|
|
63
|
-
}
|
|
64
|
-
return failures;
|
|
65
|
-
}
|
|
66
|
-
async function selfCheckMain(opts = {}) {
|
|
67
|
-
const started = Date.now();
|
|
68
|
-
const failures = await runSelfCheck();
|
|
69
|
-
if (failures.length > 0) {
|
|
70
|
-
for (const failure of failures) {
|
|
71
|
-
console.error(`very-happy: failed to load ${failure.name}: ${failure.error}`);
|
|
72
|
-
}
|
|
73
|
-
return 1;
|
|
74
|
-
}
|
|
75
|
-
if (opts.verbose) console.log(`self-check: ${LAZY_MODULES.length} modules loaded in ${Date.now() - started}ms`);
|
|
76
|
-
console.log(`very-happy version: ${packageJson.version}`);
|
|
77
|
-
return 0;
|
|
78
|
-
}
|
|
79
|
-
|
|
80
|
-
var selfCheck = /*#__PURE__*/Object.freeze({
|
|
81
|
-
__proto__: null,
|
|
82
|
-
runSelfCheck: runSelfCheck,
|
|
83
|
-
selfCheckMain: selfCheckMain
|
|
84
|
-
});
|
|
85
|
-
|
|
86
|
-
export { runSelfCheck, selfCheckMain };
|