very-happy-cli 0.2.187 → 0.2.188
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-C4Emg-H3.mjs → AcpBackend-2loP7MpF.mjs} +3 -3
- package/dist/{AcpBackend-B2-ReWTo.cjs → AcpBackend-B8AYkp5n.cjs} +3 -3
- package/dist/{AcpSessionManager-Nard_zFS.mjs → AcpSessionManager-C17doAoR.mjs} +2 -2
- package/dist/{AcpSessionManager-DR4-oZCz.cjs → AcpSessionManager-CLqo9R9Y.cjs} +2 -2
- package/dist/{BasePermissionHandler-CZ19WzsP.cjs → BasePermissionHandler-C8UEcFz0.cjs} +1 -1
- package/dist/{BasePermissionHandler-Bk9DmVZH.mjs → BasePermissionHandler-CrfyUmqO.mjs} +1 -1
- package/dist/{acpSessionResume-DPSfMe7r.mjs → acpSessionResume-F705a1cF.mjs} +1 -1
- package/dist/{acpSessionResume-Hto_b8MK.cjs → acpSessionResume-OuYlLGxL.cjs} +1 -1
- package/dist/{agentHome-4-odnrAk.mjs → agentHome-Dc7LYF3d.mjs} +4 -4
- package/dist/{agentHome-Mveyfa24.cjs → agentHome-DsKHJ_Sf.cjs} +4 -4
- package/dist/{api-DVEzYcoy.cjs → api-BOqjYd5r.cjs} +10 -10
- package/dist/{api-cVvbFZVK.mjs → api-DNKa7kVy.mjs} +10 -10
- package/dist/{apiMachine-Bd1C_JN6.cjs → apiMachine--rcPpMmt.cjs} +14 -14
- package/dist/{apiMachine-M7qY1izH.mjs → apiMachine-Di1G9ECW.mjs} +14 -14
- package/dist/{attachmentContent-D8hViGiA.cjs → attachmentContent-BFRMLong.cjs} +2 -2
- package/dist/{attachmentContent-NNF-Eo4O.mjs → attachmentContent-C9S4ekAz.mjs} +2 -2
- package/dist/{auth-BCHL8Fx5.mjs → auth-BNhhk2Fr.mjs} +5 -5
- package/dist/{auth-CKNEKwEV.mjs → auth-Bzwo_vOM.mjs} +8 -8
- package/dist/{auth-BHw8be0X.cjs → auth-CQtfznF0.cjs} +8 -8
- package/dist/{auth-b_1h0677.cjs → auth-CXmI92aj.cjs} +5 -5
- package/dist/{auto-D716QYa3.mjs → auto-DHYOLnXB.mjs} +17 -17
- package/dist/{auto-Da4rCLal.cjs → auto-DXLdaX5O.cjs} +17 -17
- package/dist/{bootstrap-CndcegDb.mjs → bootstrap-Di38SnpN.mjs} +2 -2
- package/dist/{bootstrap-j2RuoHVy.cjs → bootstrap-eJ1l7VYl.cjs} +2 -2
- package/dist/{browser-CLsM513o.mjs → browser-6Cg7G6bb.mjs} +1 -1
- package/dist/{browser-DIYTnD_T.cjs → browser-D3uBFRQu.cjs} +1 -1
- package/dist/{claudeLocal-C_uUbEO_.cjs → claudeLocal-BBaE4QF_.cjs} +5 -5
- package/dist/{claudeLocal-3HbTx7K-.mjs → claudeLocal-CqaEs-81.mjs} +5 -5
- package/dist/{claudeLocalLauncher-DXh2chq3.mjs → claudeLocalLauncher-BDUPxtsI.mjs} +10 -10
- package/dist/{claudeLocalLauncher-BxWouVYk.cjs → claudeLocalLauncher-wPxKtH_P.cjs} +10 -10
- package/dist/{claudeSessionFork-CsU96yXX.cjs → claudeSessionFork-CmY25Fl3.cjs} +1 -1
- package/dist/{claudeSessionFork-B4olbwfj.mjs → claudeSessionFork-DzWFzj9m.mjs} +1 -1
- package/dist/{client-CCy72Phz.cjs → client-C2HcMqRF.cjs} +4 -4
- package/dist/{client-C8w9aQYe.mjs → client-DWws_aQK.mjs} +2 -2
- package/dist/{client-Zqg7DXHl.mjs → client-DcDE6Ifk.mjs} +2 -2
- package/dist/{client-CWSfPlGD.cjs → client-DmY03OZZ.cjs} +2 -2
- package/dist/{client-q1aNOKgy.cjs → client-agH03Irm.cjs} +2 -2
- package/dist/{client-D8p1YjVt.mjs → client-qJ0y8fus.mjs} +4 -4
- package/dist/codex/happyMcpStdioBridge.cjs +16 -16
- package/dist/codex/happyMcpStdioBridge.mjs +16 -16
- package/dist/{codexAppServerClient-Csc-XsRV.mjs → codexAppServerClient-DgE99i7X.mjs} +39 -5
- package/dist/{codexAppServerClient-g8npaIU9.cjs → codexAppServerClient-DwzC8LR0.cjs} +39 -5
- package/dist/{codexCommand-BV8pTAtv.cjs → codexCommand-1vFEA1KT.cjs} +117 -59
- package/dist/{codexCommand-BS-foS_R.mjs → codexCommand-DUSVzbKh.mjs} +114 -56
- package/dist/{codexTermination-lOO15mt2.mjs → codexTermination-Bybovr2z.mjs} +1 -1
- package/dist/{codexTermination-B5WgZAWO.cjs → codexTermination-DuDPyBRR.cjs} +1 -1
- package/dist/{config-Ba5ufl-D.mjs → config-BrzZ0O-6.mjs} +3 -3
- package/dist/{config-BOnZRJIG.cjs → config-C4xOL5bH.cjs} +3 -3
- package/dist/{configuration-8EAa2X9P.mjs → configuration-BZHpFD7K.mjs} +1 -1
- package/dist/{configuration-CAfdO4IC.cjs → configuration-DyPW9mVa.cjs} +1 -1
- package/dist/{connect-BHWHNe54.mjs → connect-Cw_INlj8.mjs} +13 -13
- package/dist/{connect-2hWuvxRM.cjs → connect-DurKwMEo.cjs} +13 -13
- package/dist/{context-BtCz06PX.cjs → context-2xDvjkQp.cjs} +1 -1
- package/dist/{context-B-jybQhf.mjs → context-t7YV0aZc.mjs} +1 -1
- package/dist/{controlClient-O-vf2MkJ.mjs → controlClient-Bw56NIrj.mjs} +4 -4
- package/dist/{controlClient-mH9AxBwT.cjs → controlClient-DvFaPsg6.cjs} +3 -3
- package/dist/{createSessionMetadata-HlzlfP0U.mjs → createSessionMetadata-Dn5BkLfU.mjs} +2 -2
- package/dist/{createSessionMetadata-Bcn7b8QB.cjs → createSessionMetadata-Dpg6bV6f.cjs} +2 -2
- package/dist/{defaultPermissionMode-BPDeX4S8.mjs → defaultPermissionMode-DMTnlccv.mjs} +2 -2
- package/dist/{defaultPermissionMode-BN3PdltF.cjs → defaultPermissionMode-Dlm0q1m0.cjs} +2 -2
- package/dist/{deterministicJson-CruOxFA6.mjs → deterministicJson-CsRckxVq.mjs} +13 -13
- package/dist/{deterministicJson-D9pZQhU9.cjs → deterministicJson-D0BrV1FD.cjs} +13 -13
- package/dist/{doctor-BNhLBBTK.mjs → doctor-B4HQiW6j.mjs} +7 -7
- package/dist/{doctor-lHD1YZH6.cjs → doctor-CYe4d9kU.cjs} +7 -7
- package/dist/{downloadTarget-BhkQxTa8.cjs → downloadTarget-CuhBVvuC.cjs} +6 -6
- package/dist/{downloadTarget-ByTxs_N5.mjs → downloadTarget-tYMV_VHo.mjs} +6 -6
- package/dist/{ensureDaemonRunning-BiCK6RiS.cjs → ensureDaemonRunning-Ce3BlWiR.cjs} +5 -5
- package/dist/{ensureDaemonRunning-Cv0AMaHK.mjs → ensureDaemonRunning-DVtIG9z7.mjs} +5 -5
- package/dist/{handleResumeCommand-Cy_KW0LN.mjs → handleResumeCommand-BU1uMNyv.mjs} +5 -5
- package/dist/{handleResumeCommand-WB4VDeKk.cjs → handleResumeCommand-CLxsmAW0.cjs} +5 -5
- package/dist/{index-BpSpw6jG.mjs → index-B1OxWiNG.mjs} +3 -3
- package/dist/{index-BumVulwx.cjs → index-BOe6dKnL.cjs} +215 -18
- package/dist/{index-lWXWV0H2.mjs → index-CVHRt3SS.mjs} +4 -4
- package/dist/{index-CdOz1uDl.mjs → index-ChX0eVXw.mjs} +91 -45
- package/dist/{index-CVMbboXv.mjs → index-DDz0Ftoy.mjs} +4 -4
- package/dist/{index-B44ft-m4.cjs → index-DG1kGjkF.cjs} +92 -46
- package/dist/{index-BpWESchl.cjs → index-DoXbGEAi.cjs} +3 -3
- package/dist/{index-Bcp-PEGc.cjs → index-KwuXqLwe.cjs} +4 -4
- package/dist/{index-B9f1vKcC.mjs → index-WKyN-bNy.mjs} +212 -17
- package/dist/{index-Vtcax4oD.cjs → index-wWJJAQRk.cjs} +4 -4
- package/dist/index.cjs +2 -2
- package/dist/index.mjs +2 -2
- package/dist/{install-mK93DJ6L.mjs → install-CMa_FOWu.mjs} +3 -3
- package/dist/{install-DdRVv9IS.cjs → install-cAYvHxXR.cjs} +3 -3
- package/dist/lib.cjs +12 -12
- package/dist/lib.d.cts +6 -0
- package/dist/lib.d.mts +6 -0
- package/dist/lib.mjs +12 -12
- package/dist/{lidState-LtdUCXi-.mjs → lidState-D-lsD1FS.mjs} +1 -1
- package/dist/{lidState-XyjQaZtU.cjs → lidState-d1vgQ3n7.cjs} +1 -1
- package/dist/{localHappyAgentAuth-C9Aj_wGD.cjs → localHappyAgentAuth-DucSnCg3.cjs} +1 -1
- package/dist/{localHappyAgentAuth-DqFE0Adr.mjs → localHappyAgentAuth-wvDp-nGj.mjs} +1 -1
- package/dist/{logger-BILSzq2s.cjs → logger-C3vZG6Q0.cjs} +2 -2
- package/dist/{logger-SAU4uSs4.mjs → logger-RpzJ4d8V.mjs} +2 -2
- package/dist/{machineMetadata-C5TgUTpD.cjs → machineMetadata-CAvFq1Jg.cjs} +3 -3
- package/dist/{machineMetadata-ZVnihOuL.mjs → machineMetadata-CiQ2_1Mq.mjs} +3 -3
- package/dist/{main-CVfx_-l7.cjs → main-ChpYcFZi.cjs} +46 -46
- package/dist/{main-BjOHtX8u.mjs → main-IPhaImjm.mjs} +46 -46
- package/dist/{mcp-By9XK193.cjs → mcp-2xF232hL.cjs} +15 -15
- package/dist/{mcp-CWVr7KbQ.mjs → mcp-CWnMvju6.mjs} +15 -15
- package/dist/{mirrorProtocol-C0wyaesn.cjs → mirrorProtocol-CVzPObON.cjs} +3 -3
- package/dist/{mirrorProtocol-BI6XbokT.mjs → mirrorProtocol-Dr7fNq8V.mjs} +3 -3
- package/dist/{package-BMBwnCn3.mjs → package-CwB8rFJt.mjs} +7 -7
- package/dist/{package-Bbfq2KR7.cjs → package-Gnf_935w.cjs} +7 -7
- package/dist/{panels-rQmysHlY.cjs → panels-DTlTsndU.cjs} +5 -5
- package/dist/{panels-CbIUwV6q.mjs → panels-L1mSkC-y.mjs} +5 -5
- package/dist/{peerTools-CyruQrOo.mjs → peerTools-2_8Bw9PU.mjs} +5 -5
- package/dist/{peerTools-CZfiq_Dx.cjs → peerTools-C1E5cQ86.cjs} +5 -5
- package/dist/{persistence-C7T3HYjq.mjs → persistence-Bn4qEbDg.mjs} +2 -2
- package/dist/{persistence-DPeSC0SK.cjs → persistence-CqtjFiD1.cjs} +2 -2
- package/dist/{piRunnerArgs-DAq8vIpP.cjs → piRunnerArgs-BI8yQRBZ.cjs} +1 -1
- package/dist/{piRunnerArgs-CsWompo8.mjs → piRunnerArgs-DWBb63W9.mjs} +1 -1
- package/dist/{piRuntime-CFqlQFoz.cjs → piRuntime--mQ43MSM.cjs} +1 -1
- package/dist/{piRuntime-Dxd8Gfun.mjs → piRuntime-Do8oqbm3.mjs} +1 -1
- package/dist/{piTerminal-DHG3Kzve.cjs → piTerminal-BzcvLFsP.cjs} +17 -17
- package/dist/{piTerminal-BssuKDtJ.mjs → piTerminal-GC1KHTYQ.mjs} +17 -17
- package/dist/{pushNotifications-Bi72c41d.mjs → pushNotifications-BThg4nVd.mjs} +3 -3
- package/dist/{pushNotifications-CsSyhnHu.cjs → pushNotifications-Bb-QSqXw.cjs} +3 -3
- package/dist/{query-Cuef299f.cjs → query-Bz3pocKH.cjs} +1 -1
- package/dist/{query-BQOwsKS1.mjs → query-CkgIJ_Dy.mjs} +1 -1
- package/dist/{specialCommands-35KxDNE8.cjs → rateLimitReporter-BkHyvLru.cjs} +3 -55
- package/dist/{specialCommands-CTtmGCCf.mjs → rateLimitReporter-Iw4k3Bbr.mjs} +4 -55
- package/dist/{rateLimitWindows-bfwC81Z-.cjs → rateLimitWindows-Bm_dcQGW.cjs} +1 -1
- package/dist/{rateLimitWindows-B6IAWYN5.mjs → rateLimitWindows-CQ4tIQnx.mjs} +1 -1
- package/dist/{registerCommonHandlers-CQC04iF3.cjs → registerCommonHandlers-CIs6H2DV.cjs} +2 -2
- package/dist/{registerCommonHandlers-qzb6TQqo.mjs → registerCommonHandlers-CaWl9ll1.mjs} +2 -2
- package/dist/{remoteSessionClient-DffolBcQ.cjs → remoteSessionClient-DgUMfPW4.cjs} +5 -5
- package/dist/{remoteSessionClient-D3XhN_sd.mjs → remoteSessionClient-uPj7omsw.mjs} +5 -5
- package/dist/{reportProgressTool-BieTXE_R.cjs → reportProgressTool-CaJ8EwLq.cjs} +3 -3
- package/dist/{reportProgressTool-irHR-XEW.mjs → reportProgressTool-DUEq3xAL.mjs} +3 -3
- package/dist/{run-DCUaxe2S.mjs → run-DTUJBD6p.mjs} +35 -35
- package/dist/{run-Ck_WA6Nj.cjs → run-DyyGMqND.cjs} +35 -35
- package/dist/{runClaude-BUGku2Qp.cjs → runClaude-8JDaPoGQ.cjs} +22 -22
- package/dist/{runClaude-BryAvfNV.mjs → runClaude-DTNvIz2J.mjs} +22 -22
- package/dist/{runClaudeDeps-Dbk1VrOW.cjs → runClaudeDeps-BeLo5zss.cjs} +82 -53
- package/dist/{runClaudeDeps-BZkWM9_u.mjs → runClaudeDeps-CgGkgg7e.mjs} +84 -54
- package/dist/{runGemini-B6AZ2bv0.cjs → runGemini-BSOdU563.cjs} +54 -50
- package/dist/{runGemini-DT379gpi.mjs → runGemini-eU8UOzfc.mjs} +52 -48
- package/dist/{runOpenClaw-eBUYlIVJ.cjs → runOpenClaw-CYyFoGRZ.cjs} +30 -26
- package/dist/{runOpenClaw-Bpp9mkyO.mjs → runOpenClaw-D8RZiA1e.mjs} +28 -24
- package/dist/{sandbox-Bv4H1P6u.cjs → sandbox-C8zfNX-4.cjs} +4 -4
- package/dist/{sandbox-Z8TM9eUg.mjs → sandbox-DlPahdhl.mjs} +4 -4
- package/dist/selfCheck-4bcdHPFQ.mjs +86 -0
- package/dist/{selfCheck--1k2Ptf6.cjs → selfCheck-D28nvuPJ.cjs} +37 -37
- package/dist/{send-BG4KYe6f.cjs → send-C58kX4qz.cjs} +8 -8
- package/dist/{send-CKTovWuQ.mjs → send-DBpv-1eh.mjs} +8 -8
- package/dist/{server-BTNwH-sA.cjs → server-I_CETZzn.cjs} +6 -6
- package/dist/{server-DLpXtoiZ.mjs → server-J5K6pOox.mjs} +4 -4
- package/dist/{sessionLock-DhzB5ZI9.mjs → sessionLock-C7Wg1RVd.mjs} +3 -3
- package/dist/{sessionLock-Cf6RlgfF.cjs → sessionLock-DjE7O0LS.cjs} +3 -3
- package/dist/{sessionOps-CiFjBCMa.mjs → sessionOps-CYjMT7Ad.mjs} +4 -4
- package/dist/{sessionOps-R52JWMnX.cjs → sessionOps-DGMpl9NB.cjs} +4 -4
- package/dist/{sessionProvider-LATn-lZL.cjs → sessionProvider-DVtxrOuM.cjs} +5 -5
- package/dist/{sessionProvider-f2tUhwBc.mjs → sessionProvider-TLiFn9kD.mjs} +5 -5
- package/dist/{sessionScanner-DRzZtGtu.cjs → sessionScanner-BZ1ZSn6I.cjs} +3 -3
- package/dist/{sessionScanner-lS1puA5H.mjs → sessionScanner-CknV1IlN.mjs} +3 -3
- package/dist/{sessions-DGd8Fin6.cjs → sessions-CTkBKs5U.cjs} +10 -10
- package/dist/{sessions-D01nnjOE.mjs → sessions-DU4bxkap.mjs} +10 -10
- package/dist/{setupOfflineReconnection-Ds7ywGwR.cjs → setupOfflineReconnection-CQHNuP_0.cjs} +2 -2
- package/dist/{setupOfflineReconnection-UApZjcU5.mjs → setupOfflineReconnection-DaOXnGuH.mjs} +2 -2
- package/dist/{spawn-CT3g4p8A.cjs → spawn-C0wZc03S.cjs} +67 -25
- package/dist/{spawn-ct8aSMA8.mjs → spawn-DdnYTtQe.mjs} +67 -26
- package/dist/{spawnAgents-DsJSyLDl.cjs → spawnAgents-BjyU78Ue.cjs} +21 -9
- package/dist/{spawnAgents-f2q31uUV.mjs → spawnAgents-D-7wMw-a.mjs} +21 -10
- package/dist/{spawnHappyCLI-DedrWByd.cjs → spawnHappyCLI-BJUd974I.cjs} +1 -1
- package/dist/{spawnHappyCLI-Dp05fHcp.mjs → spawnHappyCLI-CnyyJk74.mjs} +1 -1
- package/dist/{registerKillSessionHandler-BraKB5Ks.cjs → specialCommands-BsvSoDhC.cjs} +91 -6
- package/dist/{registerKillSessionHandler-DMPrrNKX.mjs → specialCommands-DHU7TNeK.mjs} +88 -7
- package/dist/{startFileWatcher-BLdxJdgu.mjs → startFileWatcher-CpO5Mwbr.mjs} +1 -1
- package/dist/{startFileWatcher-72w11DP_.cjs → startFileWatcher-DBboREco.cjs} +1 -1
- package/dist/{startupSessionCreate-CJFR_Zom.mjs → startupSessionCreate-BgaVuvQp.mjs} +1 -1
- package/dist/{startupSessionCreate-Cy4J4-Ep.cjs → startupSessionCreate-C1u2dtz8.cjs} +1 -1
- package/dist/{streamRelay-B3FloUTT.mjs → streamRelay-CqBynIon.mjs} +1 -1
- package/dist/{streamRelay-Cn_uGG6m.cjs → streamRelay-D9a4cBEa.cjs} +1 -1
- package/dist/{sync-lxDpbIh3.cjs → sync-6HFRJP1h.cjs} +1 -1
- package/dist/{sync-BWX1OVQi.mjs → sync-I8NYmycF.mjs} +1 -1
- package/dist/{systemPrompt-0DqWPGY6.cjs → systemPrompt-BDWj5QSL.cjs} +2 -2
- package/dist/{systemPrompt-BIilbjt_.mjs → systemPrompt-C1RSY_60.mjs} +2 -2
- package/dist/{teams-CvpB8Rdm.mjs → teams-GpLFbXXE.mjs} +7 -7
- package/dist/{teams-CImmJLlM.cjs → teams-eUD7ymif.cjs} +7 -7
- package/dist/{template-DPsqlHJQ.cjs → template-17HATY_Y.cjs} +1 -1
- package/dist/{template-DuKZw-Sz.mjs → template-CEK8MEjo.mjs} +1 -1
- package/dist/{time-BbQJi3Eh.cjs → time-BAJRbB6U.cjs} +1 -1
- package/dist/{time-DjS5me2q.mjs → time-umG7yHkb.mjs} +1 -1
- package/dist/{titleGenerator-CGdBp5lQ.mjs → titleGenerator-dmFlxkRs.mjs} +1 -1
- package/dist/{titleGenerator-CfJme6ep.cjs → titleGenerator-iqb2jOF1.cjs} +2 -2
- package/dist/{todo-BxfUKwTM.mjs → todo-CT4AJ3sH.mjs} +6 -6
- package/dist/{todo-rN20m9lT.cjs → todo-DsR7WnQS.cjs} +6 -6
- package/dist/{tools-kGtSjG8h.cjs → tools-30E66QL_.cjs} +1 -1
- package/dist/{tools-B_W7xJNh.mjs → tools-BOWazSD6.mjs} +1 -1
- package/dist/{uninstall-CBQsxEmD.cjs → uninstall-BtTc9hHa.cjs} +3 -3
- package/dist/{uninstall-DUjvgLlg.mjs → uninstall-DImXs6VZ.mjs} +3 -3
- package/package.json +7 -7
- package/dist/selfCheck-DIGghfQz.mjs +0 -86
|
@@ -1,93 +1,93 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var AcpBackend = require('./AcpBackend-
|
|
4
|
-
var logger = require('./logger-
|
|
5
|
-
var AcpSessionManager = require('./AcpSessionManager-
|
|
6
|
-
var index = require('./index-
|
|
7
|
-
var deterministicJson = require('./deterministicJson-
|
|
3
|
+
var AcpBackend = require('./AcpBackend-B8AYkp5n.cjs');
|
|
4
|
+
var logger = require('./logger-C3vZG6Q0.cjs');
|
|
5
|
+
var AcpSessionManager = require('./AcpSessionManager-CLqo9R9Y.cjs');
|
|
6
|
+
var index = require('./index-BOe6dKnL.cjs');
|
|
7
|
+
var deterministicJson = require('./deterministicJson-D0BrV1FD.cjs');
|
|
8
|
+
var specialCommands = require('./specialCommands-BsvSoDhC.cjs');
|
|
8
9
|
var agentAttachments = require('./agentAttachments-Dbw8iMCZ.cjs');
|
|
9
|
-
var configuration = require('./configuration-
|
|
10
|
-
var attachmentContent = require('./attachmentContent-
|
|
11
|
-
var piRuntime = require('./piRuntime
|
|
10
|
+
var configuration = require('./configuration-DyPW9mVa.cjs');
|
|
11
|
+
var attachmentContent = require('./attachmentContent-BFRMLong.cjs');
|
|
12
|
+
var piRuntime = require('./piRuntime--mQ43MSM.cjs');
|
|
12
13
|
var node_crypto = require('node:crypto');
|
|
13
14
|
var path = require('node:path');
|
|
14
|
-
var api = require('./api-
|
|
15
|
-
var client = require('./client-
|
|
16
|
-
var
|
|
17
|
-
var
|
|
18
|
-
var
|
|
19
|
-
var
|
|
20
|
-
var
|
|
21
|
-
var
|
|
22
|
-
var controlClient = require('./controlClient-mH9AxBwT.cjs');
|
|
15
|
+
var api = require('./api-BOqjYd5r.cjs');
|
|
16
|
+
var client = require('./client-agH03Irm.cjs');
|
|
17
|
+
var persistence = require('./persistence-CqtjFiD1.cjs');
|
|
18
|
+
var machineMetadata = require('./machineMetadata-CAvFq1Jg.cjs');
|
|
19
|
+
var createSessionMetadata = require('./createSessionMetadata-Dpg6bV6f.cjs');
|
|
20
|
+
var setupOfflineReconnection = require('./setupOfflineReconnection-CQHNuP_0.cjs');
|
|
21
|
+
var startupSessionCreate = require('./startupSessionCreate-C1u2dtz8.cjs');
|
|
22
|
+
var controlClient = require('./controlClient-DvFaPsg6.cjs');
|
|
23
23
|
var authRelay = require('./authRelay-Dy1qU9td.cjs');
|
|
24
|
-
var sessionLock = require('./sessionLock-
|
|
25
|
-
var acpSessionResume = require('./acpSessionResume-
|
|
26
|
-
var streamRelay = require('./streamRelay-
|
|
24
|
+
var sessionLock = require('./sessionLock-DjE7O0LS.cjs');
|
|
25
|
+
var acpSessionResume = require('./acpSessionResume-OuYlLGxL.cjs');
|
|
26
|
+
var streamRelay = require('./streamRelay-D9a4cBEa.cjs');
|
|
27
27
|
var projectPath = require('./projectPath-C3ioB4Bu.cjs');
|
|
28
|
-
var BasePermissionHandler = require('./BasePermissionHandler-
|
|
29
|
-
var titleGenerator = require('./titleGenerator-
|
|
28
|
+
var BasePermissionHandler = require('./BasePermissionHandler-C8UEcFz0.cjs');
|
|
29
|
+
var titleGenerator = require('./titleGenerator-iqb2jOF1.cjs');
|
|
30
30
|
var editPaths = require('./editPaths-Bqp4OFPw.cjs');
|
|
31
|
+
var node_fs = require('node:fs');
|
|
32
|
+
var os = require('node:os');
|
|
31
33
|
require('node:child_process');
|
|
32
34
|
require('@agentclientprotocol/sdk');
|
|
33
|
-
require('./time-
|
|
35
|
+
require('./time-BAJRbB6U.cjs');
|
|
34
36
|
require('./contentLogMetadata-ZSFk_NjQ.cjs');
|
|
35
37
|
require('./processTree-CMHWlVse.cjs');
|
|
36
|
-
require('./package-
|
|
38
|
+
require('./package-Gnf_935w.cjs');
|
|
37
39
|
require('chalk');
|
|
38
40
|
require('node:util');
|
|
39
|
-
require('node:fs');
|
|
40
41
|
require('@paralleldrive/cuid2');
|
|
41
42
|
require('zod');
|
|
42
43
|
require('./prompt-Bof2aQkI.cjs');
|
|
43
|
-
require('./reportProgressTool-
|
|
44
|
-
require('./client-
|
|
44
|
+
require('./reportProgressTool-CaJ8EwLq.cjs');
|
|
45
|
+
require('./client-DmY03OZZ.cjs');
|
|
45
46
|
require('./precheckCompat-CWOi5c9L.cjs');
|
|
46
47
|
require('./agentGuidance-BtBx2xxE.cjs');
|
|
47
48
|
require('./trimIdent-4gvk9Wk6.cjs');
|
|
48
|
-
require('node:os');
|
|
49
49
|
require('./pi-DlsrPCTa.cjs');
|
|
50
50
|
require('./fileStore-7qhnbs6N.cjs');
|
|
51
51
|
require('node:fs/promises');
|
|
52
|
-
require('./client-
|
|
53
|
-
require('./context-
|
|
54
|
-
require('./sessionOps-
|
|
52
|
+
require('./client-C2HcMqRF.cjs');
|
|
53
|
+
require('./context-2xDvjkQp.cjs');
|
|
54
|
+
require('./sessionOps-DGMpl9NB.cjs');
|
|
55
55
|
require('axios');
|
|
56
56
|
require('socket.io-client');
|
|
57
57
|
require('./backgroundTaskActivity-CBvUdj39.cjs');
|
|
58
58
|
require('./resources-BZ_Be0qM.cjs');
|
|
59
|
-
require('./tools-
|
|
60
|
-
require('./peerTools-
|
|
59
|
+
require('./tools-30E66QL_.cjs');
|
|
60
|
+
require('./peerTools-C1E5cQ86.cjs');
|
|
61
61
|
require('./ids-B6ZC0HGt.cjs');
|
|
62
|
-
require('./remoteSessionClient-
|
|
62
|
+
require('./remoteSessionClient-DgUMfPW4.cjs');
|
|
63
63
|
require('@modelcontextprotocol/sdk/server/mcp.js');
|
|
64
64
|
require('node:http');
|
|
65
65
|
require('@modelcontextprotocol/sdk/server/streamableHttp.js');
|
|
66
66
|
require('./limits-C-a7gr04.cjs');
|
|
67
|
-
require('./downloadTarget-
|
|
67
|
+
require('./downloadTarget-CuhBVvuC.cjs');
|
|
68
68
|
require('./terminals-B_bfC9c2.cjs');
|
|
69
69
|
require('./terminalTitleSuggest-DhvRFX3H.cjs');
|
|
70
70
|
require('./tmuxSocket-D-Xt6Vn-.cjs');
|
|
71
|
-
require('./bootstrap-
|
|
71
|
+
require('./bootstrap-eJ1l7VYl.cjs');
|
|
72
72
|
require('./webPanels-FCgFKvVe.cjs');
|
|
73
|
-
require('./pushNotifications-
|
|
73
|
+
require('./pushNotifications-Bb-QSqXw.cjs');
|
|
74
74
|
require('./previewPath-B0rBdhy1.cjs');
|
|
75
75
|
require('crypto');
|
|
76
|
-
require('./lidState-XyjQaZtU.cjs');
|
|
77
|
-
require('os');
|
|
78
|
-
require('child_process');
|
|
79
76
|
require('node:events');
|
|
80
|
-
require('
|
|
77
|
+
require('tweetnacl');
|
|
78
|
+
require('./registerCommonHandlers-CIs6H2DV.cjs');
|
|
79
|
+
require('child_process');
|
|
81
80
|
require('util');
|
|
82
81
|
require('fs/promises');
|
|
83
82
|
require('path');
|
|
84
83
|
require('cross-spawn');
|
|
85
|
-
require('
|
|
86
|
-
require('tweetnacl');
|
|
84
|
+
require('os');
|
|
87
85
|
require('./types-CRS-srZK.cjs');
|
|
86
|
+
require('./lidState-d1vgQ3n7.cjs');
|
|
87
|
+
require('./sync-6HFRJP1h.cjs');
|
|
88
88
|
require('./detectCLI-BuYR_Qxe.cjs');
|
|
89
89
|
require('fs');
|
|
90
|
-
require('./localHappyAgentAuth-
|
|
90
|
+
require('./localHappyAgentAuth-DucSnCg3.cjs');
|
|
91
91
|
require('./fsMkdir-0K3yENml.cjs');
|
|
92
92
|
require('./processTreeSnapshot-mDbnuojn.cjs');
|
|
93
93
|
require('url');
|
|
@@ -119,6 +119,16 @@ async function buildAcpPrompt(message, opts) {
|
|
|
119
119
|
|
|
120
120
|
${opts.todoNote}`, slashCommand: false };
|
|
121
121
|
}
|
|
122
|
+
function routeAcpUserText(text, advertisedCommands) {
|
|
123
|
+
const compact = specialCommands.compactCommandText(text);
|
|
124
|
+
if (compact !== null) {
|
|
125
|
+
if (advertisedCommands && advertisedCommands.length > 0 && !advertisedCommands.includes("compact")) {
|
|
126
|
+
return { kind: "unsupported", notice: specialCommands.COMPACT_UNSUPPORTED_NOTICE };
|
|
127
|
+
}
|
|
128
|
+
return { kind: "command", text: compact };
|
|
129
|
+
}
|
|
130
|
+
return isAgentSlashCommand(text) ? { kind: "command", text } : { kind: "prompt", text };
|
|
131
|
+
}
|
|
122
132
|
|
|
123
133
|
const MAX_DETAIL_CHARS = 400;
|
|
124
134
|
function detailOf(error) {
|
|
@@ -423,6 +433,26 @@ function mergeAcpSessionConfigIntoMetadata(metadata, snapshot) {
|
|
|
423
433
|
return next;
|
|
424
434
|
}
|
|
425
435
|
|
|
436
|
+
function readGeminiConfiguredModel(opts = {}) {
|
|
437
|
+
const env = opts.env ?? process.env;
|
|
438
|
+
const fromEnv = env.GEMINI_MODEL?.trim();
|
|
439
|
+
if (fromEnv) return fromEnv;
|
|
440
|
+
const read = opts.readFile ?? ((path) => node_fs.readFileSync(path, "utf8"));
|
|
441
|
+
const home = env.GEMINI_CLI_HOME?.trim() || opts.home || os.homedir();
|
|
442
|
+
for (const file of [path.join(opts.cwd ?? process.cwd(), ".gemini", "settings.json"), path.join(home, ".gemini", "settings.json")]) {
|
|
443
|
+
let parsed;
|
|
444
|
+
try {
|
|
445
|
+
parsed = JSON.parse(read(file));
|
|
446
|
+
} catch {
|
|
447
|
+
continue;
|
|
448
|
+
}
|
|
449
|
+
const model = parsed?.model;
|
|
450
|
+
const name = typeof model === "string" ? model : model?.name;
|
|
451
|
+
if (typeof name === "string" && name.trim()) return name.trim();
|
|
452
|
+
}
|
|
453
|
+
return null;
|
|
454
|
+
}
|
|
455
|
+
|
|
426
456
|
const ACP_EVENT_PREVIEW_CHARS = 240;
|
|
427
457
|
const ACP_RAW_PREVIEW_CHARS = 2e3;
|
|
428
458
|
const ACP_COLOR_RESET = "\x1B[0m";
|
|
@@ -797,6 +827,7 @@ async function runAcp(opts) {
|
|
|
797
827
|
capabilities: [index.PROMPT_QUEUE_CAPABILITY, index.PROJECT_SESSION_CAPABILITY]
|
|
798
828
|
});
|
|
799
829
|
metadata.attachmentKinds = [];
|
|
830
|
+
if (opts.agentName === "gemini") metadata.configuredModel = readGeminiConfiguredModel();
|
|
800
831
|
const reconnect = acpSessionResume.readAcpReconnectEnv(process.env);
|
|
801
832
|
let response;
|
|
802
833
|
if (reconnect) {
|
|
@@ -878,7 +909,7 @@ async function runAcp(opts) {
|
|
|
878
909
|
send: (frame) => session.sendStreamFrame(frame)
|
|
879
910
|
});
|
|
880
911
|
const sessionManager = new AcpSessionManager.AcpSessionManager(streamingEnabled ? { stream: streamRelay$1 } : {});
|
|
881
|
-
const messageQueue = new
|
|
912
|
+
const messageQueue = new specialCommands.MessageQueue2((mode) => deterministicJson.hashObject(mode));
|
|
882
913
|
function attachPromptQueueDrain(client) {
|
|
883
914
|
const drain = client.attachPromptQueueDrain({
|
|
884
915
|
isIdle: () => messageQueue.size() === 0 && messageQueue.isWaiting()
|
|
@@ -895,6 +926,7 @@ async function runAcp(opts) {
|
|
|
895
926
|
let legacyModes = null;
|
|
896
927
|
let legacyModels = null;
|
|
897
928
|
let sawSlashCommands = false;
|
|
929
|
+
let agentCommands = null;
|
|
898
930
|
let sawModes = false;
|
|
899
931
|
let sawModels = false;
|
|
900
932
|
const initialPermissionMode = opts.permissionMode ?? resumedPermissionMode ?? "default";
|
|
@@ -1147,6 +1179,7 @@ async function runAcp(opts) {
|
|
|
1147
1179
|
const commands = msg.payload;
|
|
1148
1180
|
const commandNames = commands.map((c) => c.name);
|
|
1149
1181
|
sawSlashCommands = commands.length > 0;
|
|
1182
|
+
agentCommands = commandNames;
|
|
1150
1183
|
if (verbose) {
|
|
1151
1184
|
logAcp("muted", `Outgoing slash commands from ${opts.agentName} (${commands.length}):`);
|
|
1152
1185
|
for (const command of commands) {
|
|
@@ -1319,6 +1352,19 @@ async function runAcp(opts) {
|
|
|
1319
1352
|
if (message.meta && Object.prototype.hasOwnProperty.call(message.meta, "effort")) {
|
|
1320
1353
|
currentEffort = message.meta.effort ?? null;
|
|
1321
1354
|
}
|
|
1355
|
+
const route = routeAcpUserText(message.content.text, agentCommands);
|
|
1356
|
+
if (route.kind === "unsupported") {
|
|
1357
|
+
session.sendSessionEvent({ type: "message", message: route.notice });
|
|
1358
|
+
return;
|
|
1359
|
+
}
|
|
1360
|
+
if (route.kind === "command") {
|
|
1361
|
+
messageQueue.pushIsolate(route.text, {
|
|
1362
|
+
permissionMode: currentPermissionMode,
|
|
1363
|
+
model: currentModel,
|
|
1364
|
+
effort: currentEffort
|
|
1365
|
+
}, attachments, message.localKey);
|
|
1366
|
+
return;
|
|
1367
|
+
}
|
|
1322
1368
|
if (message.meta?.delivery === "steer" && piSteer?.ready && thinking && !attachments?.length) {
|
|
1323
1369
|
if (await piSteer.offer(message.content.text, PI_STEER_OFFER_TIMEOUT_MS)) {
|
|
1324
1370
|
logger.logger.debug(`[${opts.agentName}] User message steered into the running turn`);
|
|
@@ -1372,7 +1418,7 @@ async function runAcp(opts) {
|
|
|
1372
1418
|
return { mode };
|
|
1373
1419
|
}
|
|
1374
1420
|
);
|
|
1375
|
-
const disposeTermination =
|
|
1421
|
+
const disposeTermination = specialCommands.registerKillSessionHandler(session.rpcHandlerManager, async () => {
|
|
1376
1422
|
shouldExit = true;
|
|
1377
1423
|
messageQueue.close();
|
|
1378
1424
|
await handleAbort();
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var _package = require('./package-
|
|
3
|
+
var _package = require('./package-Gnf_935w.cjs');
|
|
4
4
|
var module$1 = require('node:module');
|
|
5
5
|
var node_fs = require('node:fs');
|
|
6
6
|
var promises = require('node:fs/promises');
|
|
@@ -59,10 +59,10 @@ async function pruneStaleCompileCaches(happyHomeDir, cliVersion) {
|
|
|
59
59
|
async function run(args) {
|
|
60
60
|
enableCompileCacheIfPossible(_package.packageJson.version);
|
|
61
61
|
if (isStandaloneVersionRequest(args) || isSelfCheckRequest(args)) {
|
|
62
|
-
const { selfCheckMain } = await Promise.resolve().then(function () { return require('./selfCheck
|
|
62
|
+
const { selfCheckMain } = await Promise.resolve().then(function () { return require('./selfCheck-D28nvuPJ.cjs'); });
|
|
63
63
|
process.exit(await selfCheckMain({ verbose: isSelfCheckRequest(args) }));
|
|
64
64
|
}
|
|
65
|
-
const { main } = await Promise.resolve().then(function () { return require('./main-
|
|
65
|
+
const { main } = await Promise.resolve().then(function () { return require('./main-ChpYcFZi.cjs'); });
|
|
66
66
|
await main();
|
|
67
67
|
}
|
|
68
68
|
void run(process.argv.slice(2));
|
|
@@ -2,14 +2,14 @@
|
|
|
2
2
|
|
|
3
3
|
var node_fs = require('node:fs');
|
|
4
4
|
var os = require('node:os');
|
|
5
|
-
var logger = require('./logger-
|
|
6
|
-
var persistence = require('./persistence-
|
|
5
|
+
var logger = require('./logger-C3vZG6Q0.cjs');
|
|
6
|
+
var persistence = require('./persistence-CqtjFiD1.cjs');
|
|
7
7
|
var loginShellEnv = require('./loginShellEnv-BkuYtExZ.cjs');
|
|
8
8
|
require('chalk');
|
|
9
9
|
require('node:util');
|
|
10
|
-
require('./configuration-
|
|
10
|
+
require('./configuration-DyPW9mVa.cjs');
|
|
11
11
|
require('node:path');
|
|
12
|
-
require('./package-
|
|
12
|
+
require('./package-Gnf_935w.cjs');
|
|
13
13
|
require('node:fs/promises');
|
|
14
14
|
require('zod');
|
|
15
15
|
require('./authRelay-Dy1qU9td.cjs');
|
|
@@ -3,6 +3,7 @@ import { z as z$1 } from 'zod';
|
|
|
3
3
|
import { isCuid, createId } from '@paralleldrive/cuid2';
|
|
4
4
|
|
|
5
5
|
const CODEX_STEER_CAPABILITY = "codex-steer-v1";
|
|
6
|
+
const CODEX_COMPACT_CAPABILITY = "codex-compact-v1";
|
|
6
7
|
const PI_STEER_CAPABILITY = "pi-steer-v1";
|
|
7
8
|
const sessionRoleSchema = z.enum(["user", "agent"]);
|
|
8
9
|
const sessionTextEventSchema = z.object({
|
|
@@ -994,9 +995,9 @@ function createBuiltinTodoClient(credentials, options2) {
|
|
|
994
995
|
throw new BuiltinTodoError("order-collision", "These Todos share an order that cannot safely be changed");
|
|
995
996
|
}
|
|
996
997
|
}
|
|
997
|
-
const
|
|
998
|
-
const nextRecord = { ...record, order: recordOrder, updatedAt };
|
|
999
|
-
const nextNeighbor = { ...neighbor, order: neighborOrder, updatedAt };
|
|
998
|
+
const updatedAt2 = Date.now();
|
|
999
|
+
const nextRecord = { ...record, order: recordOrder, updatedAt: updatedAt2 };
|
|
1000
|
+
const nextNeighbor = { ...neighbor, order: neighborOrder, updatedAt: updatedAt2 };
|
|
1000
1001
|
const versions = await mutate([mutation(record, nextRecord), mutation(neighbor, nextNeighbor)]);
|
|
1001
1002
|
return [{ ...nextRecord, version: versions[0] }, { ...nextNeighbor, version: versions[1] }];
|
|
1002
1003
|
}
|
|
@@ -1086,24 +1087,218 @@ z$1.object({
|
|
|
1086
1087
|
startedAt: z$1.number(),
|
|
1087
1088
|
at: z$1.number()
|
|
1088
1089
|
});
|
|
1089
|
-
|
|
1090
|
-
|
|
1091
|
-
|
|
1092
|
-
|
|
1090
|
+
var version = 1;
|
|
1091
|
+
var updatedAt = "2026-10-30";
|
|
1092
|
+
var agents = {
|
|
1093
|
+
claude: {
|
|
1094
|
+
tier: "opus",
|
|
1095
|
+
pattern: "^claude-opus-(\\d+)(?:-(\\d{1,2}))?$",
|
|
1096
|
+
models: [
|
|
1097
|
+
{
|
|
1098
|
+
model: "claude-opus-5-5",
|
|
1099
|
+
label: "Opus 5.5",
|
|
1100
|
+
requires: {
|
|
1101
|
+
capability: "claude-opus-5-5-v1",
|
|
1102
|
+
cliVersion: "0.2.149"
|
|
1103
|
+
}
|
|
1104
|
+
}
|
|
1105
|
+
]
|
|
1106
|
+
},
|
|
1107
|
+
codex: {
|
|
1108
|
+
tier: "sol",
|
|
1109
|
+
pattern: "^gpt-(\\d+)(?:\\.(\\d+))?-sol$",
|
|
1110
|
+
models: [
|
|
1111
|
+
{
|
|
1112
|
+
model: "gpt-6.1-sol",
|
|
1113
|
+
label: "gpt-6.1-sol",
|
|
1114
|
+
requires: {
|
|
1115
|
+
agentVersion: "0.160.0"
|
|
1116
|
+
}
|
|
1117
|
+
},
|
|
1118
|
+
{
|
|
1119
|
+
model: "gpt-6-sol",
|
|
1120
|
+
label: "gpt-6-sol",
|
|
1121
|
+
requires: {
|
|
1122
|
+
agentVersion: "0.157.0"
|
|
1123
|
+
}
|
|
1124
|
+
},
|
|
1125
|
+
{
|
|
1126
|
+
model: "gpt-5.6-sol",
|
|
1127
|
+
label: "gpt-5.6-sol",
|
|
1128
|
+
requires: {
|
|
1129
|
+
agentVersion: "0.150.0"
|
|
1130
|
+
}
|
|
1131
|
+
}
|
|
1132
|
+
]
|
|
1133
|
+
},
|
|
1134
|
+
gemini: {
|
|
1135
|
+
tier: "pro",
|
|
1136
|
+
pattern: "^gemini-(\\d+)(?:\\.(\\d+))?-pro(?:-preview)?$",
|
|
1137
|
+
models: [
|
|
1138
|
+
{
|
|
1139
|
+
model: "gemini-3.1-pro-preview",
|
|
1140
|
+
label: "gemini 3.1 pro"
|
|
1141
|
+
},
|
|
1142
|
+
{
|
|
1143
|
+
model: "gemini-2.5-pro",
|
|
1144
|
+
label: "gemini 2.5 pro"
|
|
1145
|
+
}
|
|
1146
|
+
]
|
|
1147
|
+
}
|
|
1148
|
+
};
|
|
1149
|
+
var bundledLatestModels = {
|
|
1150
|
+
version,
|
|
1151
|
+
updatedAt,
|
|
1152
|
+
agents
|
|
1153
|
+
};
|
|
1154
|
+
const LATEST_MODEL_MODE = "latest";
|
|
1155
|
+
function isLatestModelMode(model) {
|
|
1156
|
+
return model === LATEST_MODEL_MODE;
|
|
1157
|
+
}
|
|
1158
|
+
const LATEST_MODEL_AGENTS = ["claude", "codex", "gemini"];
|
|
1159
|
+
const LatestModelEntrySchema = z$1.object({
|
|
1160
|
+
model: z$1.string().min(1),
|
|
1161
|
+
label: z$1.string().optional(),
|
|
1162
|
+
/** What a machine/wrapper must have to run it. Absent = nothing provable
|
|
1163
|
+
* without the session's own catalog. */
|
|
1164
|
+
requires: z$1.object({
|
|
1165
|
+
/** Wrapper capability (session metadata.capabilities) — AGENTS.md rule 14. */
|
|
1166
|
+
capability: z$1.string().optional(),
|
|
1167
|
+
/** very-happy-cli version that first advertises `capability`; only used
|
|
1168
|
+
* before a session exists (launcher label). */
|
|
1169
|
+
cliVersion: z$1.string().optional(),
|
|
1170
|
+
/** First agent CLI (codex) whose bundled `model/list` carries the model. */
|
|
1171
|
+
agentVersion: z$1.string().optional()
|
|
1172
|
+
}).optional()
|
|
1173
|
+
});
|
|
1174
|
+
const LatestModelTierSchema = z$1.object({
|
|
1175
|
+
tier: z$1.string(),
|
|
1176
|
+
/** Regex source matching every id of the tier; its capture groups are the
|
|
1177
|
+
* version (`claude-opus-5-5` → 5,5; `gpt-6.1-sol` → 6.1). */
|
|
1178
|
+
pattern: z$1.string(),
|
|
1179
|
+
/** Known models of the tier, newest first. */
|
|
1180
|
+
models: z$1.array(LatestModelEntrySchema)
|
|
1181
|
+
});
|
|
1182
|
+
const LatestModelTableSchema = z$1.object({
|
|
1183
|
+
version: z$1.number(),
|
|
1184
|
+
updatedAt: z$1.string().optional(),
|
|
1185
|
+
agents: z$1.object({
|
|
1186
|
+
claude: LatestModelTierSchema.optional(),
|
|
1187
|
+
codex: LatestModelTierSchema.optional(),
|
|
1188
|
+
gemini: LatestModelTierSchema.optional()
|
|
1189
|
+
}).passthrough()
|
|
1190
|
+
}).passthrough();
|
|
1191
|
+
z$1.object({
|
|
1192
|
+
table: LatestModelTableSchema,
|
|
1193
|
+
source: z$1.enum(["bundled", "configured"])
|
|
1194
|
+
});
|
|
1195
|
+
const BUNDLED_LATEST_MODELS = LatestModelTableSchema.parse(bundledLatestModels);
|
|
1196
|
+
const MACHINE_CONFIG_AGENTS = ["codex", "gemini"];
|
|
1197
|
+
function compilePattern(source) {
|
|
1198
|
+
try {
|
|
1199
|
+
return new RegExp(source);
|
|
1200
|
+
} catch {
|
|
1201
|
+
return null;
|
|
1202
|
+
}
|
|
1203
|
+
}
|
|
1204
|
+
function tierVersion(tier, model) {
|
|
1205
|
+
const match = compilePattern(tier.pattern)?.exec(model);
|
|
1206
|
+
if (!match) return null;
|
|
1207
|
+
return match.slice(1).filter((part) => part !== void 0).map((part) => Number(part));
|
|
1093
1208
|
}
|
|
1094
|
-
function
|
|
1095
|
-
|
|
1209
|
+
function compareTierVersions(a, b) {
|
|
1210
|
+
for (let i = 0; i < Math.max(a.length, b.length); i++) {
|
|
1211
|
+
const diff = (a[i] ?? 0) - (b[i] ?? 0);
|
|
1212
|
+
if (diff !== 0) return diff;
|
|
1213
|
+
}
|
|
1214
|
+
return 0;
|
|
1215
|
+
}
|
|
1216
|
+
function catalogTierIds(tier, catalog) {
|
|
1217
|
+
const ids = /* @__PURE__ */ new Map();
|
|
1218
|
+
for (const entry of catalog ?? []) {
|
|
1219
|
+
for (const id2 of [entry.resolvedModel, entry.code]) {
|
|
1220
|
+
if (typeof id2 === "string" && tierVersion(tier, id2) && !ids.has(id2)) {
|
|
1221
|
+
ids.set(id2, entry.code === id2 && entry.value ? entry.value : id2);
|
|
1222
|
+
}
|
|
1223
|
+
}
|
|
1224
|
+
}
|
|
1225
|
+
return ids;
|
|
1226
|
+
}
|
|
1227
|
+
function entryRunnable(entry, ctx, catalogIds) {
|
|
1228
|
+
if (catalogIds.has(entry.model)) return true;
|
|
1229
|
+
const requires = entry.requires;
|
|
1230
|
+
{
|
|
1231
|
+
return !!requires?.capability && (ctx.capabilities ?? []).includes(requires.capability);
|
|
1232
|
+
}
|
|
1233
|
+
}
|
|
1234
|
+
function getLatestModelTier(table, agent) {
|
|
1235
|
+
if (agent !== "claude" && agent !== "codex" && agent !== "gemini") return null;
|
|
1236
|
+
const tier = table?.agents?.[agent] ?? BUNDLED_LATEST_MODELS.agents[agent];
|
|
1237
|
+
return tier && compilePattern(tier.pattern) ? tier : BUNDLED_LATEST_MODELS.agents[agent] ?? null;
|
|
1238
|
+
}
|
|
1239
|
+
function resolveLatestModel(table, agent, ctx) {
|
|
1240
|
+
const tier = getLatestModelTier(table, agent);
|
|
1241
|
+
if (!tier) return { model: null, newest: null, label: null, limited: false, configured: null };
|
|
1242
|
+
const catalogIds = catalogTierIds(tier, ctx.catalog);
|
|
1243
|
+
const labels = /* @__PURE__ */ new Map();
|
|
1244
|
+
const known = [];
|
|
1245
|
+
const runnable = [];
|
|
1246
|
+
for (const entry of tier.models) {
|
|
1247
|
+
if (!tierVersion(tier, entry.model)) continue;
|
|
1248
|
+
labels.set(entry.model, entry.label ?? entry.model);
|
|
1249
|
+
known.push(entry.model);
|
|
1250
|
+
if (entryRunnable(entry, ctx, catalogIds)) runnable.push(entry.model);
|
|
1251
|
+
}
|
|
1252
|
+
for (const [id2, label] of catalogIds) {
|
|
1253
|
+
if (!labels.has(id2)) labels.set(id2, label);
|
|
1254
|
+
known.push(id2);
|
|
1255
|
+
runnable.push(id2);
|
|
1256
|
+
}
|
|
1257
|
+
const newestOf = (ids) => {
|
|
1258
|
+
let best = null;
|
|
1259
|
+
for (const id2 of ids) {
|
|
1260
|
+
const version2 = tierVersion(tier, id2);
|
|
1261
|
+
if (!best || compareTierVersions(version2, best.version) > 0) best = { id: id2, version: version2 };
|
|
1262
|
+
}
|
|
1263
|
+
return best?.id ?? null;
|
|
1264
|
+
};
|
|
1265
|
+
const newest = newestOf(known);
|
|
1266
|
+
if (MACHINE_CONFIG_AGENTS.includes(agent ?? "")) {
|
|
1267
|
+
const configured = typeof ctx.configuredModel === "string" && ctx.configuredModel.trim() ? ctx.configuredModel.trim() : null;
|
|
1268
|
+
if (configured || ctx.configuredModel === void 0) {
|
|
1269
|
+
return { model: null, newest, label: configured, limited: false, configured };
|
|
1270
|
+
}
|
|
1271
|
+
}
|
|
1272
|
+
const model = newestOf(runnable);
|
|
1273
|
+
const sameVersion = model !== null && newest !== null && compareTierVersions(tierVersion(tier, model), tierVersion(tier, newest)) === 0;
|
|
1274
|
+
return {
|
|
1275
|
+
model,
|
|
1276
|
+
newest,
|
|
1277
|
+
label: model ? labels.get(model) ?? model : null,
|
|
1278
|
+
limited: newest !== null && !sameVersion,
|
|
1279
|
+
configured: null
|
|
1280
|
+
};
|
|
1281
|
+
}
|
|
1282
|
+
function parseLatestModelTable(value) {
|
|
1283
|
+
const parsed = LatestModelTableSchema.safeParse(value);
|
|
1284
|
+
if (!parsed.success) return null;
|
|
1285
|
+
for (const agent of LATEST_MODEL_AGENTS) {
|
|
1286
|
+
const tier = parsed.data.agents[agent];
|
|
1287
|
+
if (tier && !compilePattern(tier.pattern)) return null;
|
|
1288
|
+
}
|
|
1289
|
+
return parsed.data;
|
|
1096
1290
|
}
|
|
1097
1291
|
const AGENT_CODE_DEFAULTS = {
|
|
1098
1292
|
// The Claude UI key for YOLO is `bypassPermissions`; the CLI also accepts
|
|
1099
1293
|
// `yolo` and maps it to the Claude SDK's bypass mode.
|
|
1100
|
-
// model
|
|
1101
|
-
//
|
|
1102
|
-
//
|
|
1103
|
-
//
|
|
1104
|
-
|
|
1105
|
-
|
|
1106
|
-
|
|
1294
|
+
// model: `latest` (B-844) = the newest model of the agent's tier that the
|
|
1295
|
+
// session's wrapper can run, resolved at send time (modelLatest.ts) and
|
|
1296
|
+
// never sent as is. Today: Claude → claude-opus-5-5 (pinned id, not the
|
|
1297
|
+
// `opus` alias), Codex → gpt-6.1-sol on Codex >= 0.160, Gemini → the
|
|
1298
|
+
// newest pro its session catalog lists. effort null = don't send effort.
|
|
1299
|
+
claude: { permissionMode: "bypassPermissions", modelMode: LATEST_MODEL_MODE, effortLevel: null },
|
|
1300
|
+
codex: { permissionMode: "yolo", modelMode: LATEST_MODEL_MODE, effortLevel: "medium" },
|
|
1301
|
+
gemini: { permissionMode: "default", modelMode: LATEST_MODEL_MODE, effortLevel: null },
|
|
1107
1302
|
openclaw: { permissionMode: "default", modelMode: "default", effortLevel: null },
|
|
1108
1303
|
// pi: the runner keeps Claude's permission vocabulary (B-350 — HAPPY_PERMISSION_MODE +
|
|
1109
1304
|
// session-modes file, enforced by the pi-side gate; `bypassPermissions` = auto-allow every
|
|
@@ -1449,4 +1644,4 @@ z.object({
|
|
|
1449
1644
|
reason: z.string()
|
|
1450
1645
|
});
|
|
1451
1646
|
|
|
1452
|
-
export { AUTOMATION_NAME_PATTERN as A, BUILTIN_TODO_SKILL as B,
|
|
1647
|
+
export { AUTOMATION_NAME_PATTERN as A, BUILTIN_TODO_SKILL as B, ownerBoardPostToRest as C, isAttentionBoardLocalId as D, OwnerBoardUpdateInputSchema as E, OwnerBoardResolveInputSchema as F, OwnerBoardListInputSchema as G, ATTENTION_SESSION_CAPABILITY as H, RelayAssignmentResponseSchema as I, CODEX_STEER_CAPABILITY as J, CODEX_COMPACT_CAPABILITY as K, RelayCandidatesResponseSchema as L, ServerMigrateNoticeSchema as M, isHarnessInstallId as N, OwnerBoardPostInputSchema as O, PROMPT_QUEUE_CAPABILITY as P, AUTOMATION_PRECHECK_OUTPUT_MAX_CHARS as Q, ReleaseDrainNoticeSchema as R, STREAM_DELTA_MAX_CHARS as S, AUTOMATION_PRECHECK_DEFAULT_TIMEOUT_MS as T, AUTOMATION_CLAIM_MAX_RUNS as U, AUTOMATION_DAEMON_CAPABILITY_PRECHECK as V, AUTOMATION_DEFAULT_LEASE_MS as W, HARNESS_INSTALL_CAPABILITY_VERSION as X, PROJECT_SESSION_CAPABILITY as a, AUTOMATION_PRECHECK_MAX_TIMEOUT_MS as b, AutomationPrecheckSchema as c, AUTOMATION_ATTENTION_REASON_MAX_CHARS as d, AUTOMATION_SUMMARY_MAX_CHARS as e, isInsideTeamWorktree as f, createEnvelope as g, createBuiltinTodoClient as h, isAutomationRunTerminal as i, BUILTIN_TODO_DISCOVERY as j, getAgentCodeDefaults as k, isLatestModelMode as l, resolveLatestModel as m, normalizeAgentKey as n, AutomationNameSchema as o, parseLatestModelTable as p, AutomationConcurrencySchema as q, rebaseTeamWorktreePath as r, streamKeyOf as s, AutomationActionSchema as t, AutomationTriggerSchema as u, AgentVersionsSchema as v, PI_STEER_CAPABILITY as w, AGENT_VERSION_SOURCES as x, ATTENTION_DISABLED_ERROR as y, ATTENTION_LIMITS as z };
|
|
@@ -1,16 +1,16 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var query = require('./query-
|
|
3
|
+
var query = require('./query-Bz3pocKH.cjs');
|
|
4
4
|
var claudeAgentSdk = require('@anthropic-ai/claude-agent-sdk');
|
|
5
5
|
require('./promptCacheTtl-B8PCzE6k.cjs');
|
|
6
6
|
require('node:fs');
|
|
7
7
|
require('node:os');
|
|
8
8
|
require('node:path');
|
|
9
|
-
require('./logger-
|
|
9
|
+
require('./logger-C3vZG6Q0.cjs');
|
|
10
10
|
require('chalk');
|
|
11
11
|
require('node:util');
|
|
12
|
-
require('./configuration-
|
|
13
|
-
require('./package-
|
|
12
|
+
require('./configuration-DyPW9mVa.cjs');
|
|
13
|
+
require('./package-Gnf_935w.cjs');
|
|
14
14
|
require('node:fs/promises');
|
|
15
15
|
require('./processTreeSnapshot-mDbnuojn.cjs');
|
|
16
16
|
require('node:child_process');
|
package/dist/index.cjs
CHANGED
package/dist/index.mjs
CHANGED
|
@@ -1,15 +1,15 @@
|
|
|
1
|
-
import { l as logger } from './logger-
|
|
1
|
+
import { l as logger } from './logger-RpzJ4d8V.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-BZHpFD7K.mjs';
|
|
9
9
|
import 'node:fs';
|
|
10
10
|
import 'node:os';
|
|
11
11
|
import 'node:path';
|
|
12
|
-
import './package-
|
|
12
|
+
import './package-CwB8rFJt.mjs';
|
|
13
13
|
import 'node:fs/promises';
|
|
14
14
|
|
|
15
15
|
const PLIST_LABEL = "com.happy-cli.daemon";
|
|
@@ -1,17 +1,17 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var logger = require('./logger-
|
|
3
|
+
var logger = require('./logger-C3vZG6Q0.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-DyPW9mVa.cjs');
|
|
11
11
|
require('node:fs');
|
|
12
12
|
require('node:os');
|
|
13
13
|
require('node:path');
|
|
14
|
-
require('./package-
|
|
14
|
+
require('./package-Gnf_935w.cjs');
|
|
15
15
|
require('node:fs/promises');
|
|
16
16
|
|
|
17
17
|
const PLIST_LABEL = "com.happy-cli.daemon";
|