very-happy-cli 0.2.187 → 0.2.189
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-B2-ReWTo.cjs → AcpBackend-DRPJ2g9G.cjs} +3 -3
- package/dist/{AcpBackend-C4Emg-H3.mjs → AcpBackend-fj16v_cf.mjs} +3 -3
- package/dist/{AcpSessionManager-Nard_zFS.mjs → AcpSessionManager-BZPmUDL5.mjs} +4 -4
- package/dist/{AcpSessionManager-DR4-oZCz.cjs → AcpSessionManager-DM-KKg6v.cjs} +4 -4
- package/dist/{BasePermissionHandler-Bk9DmVZH.mjs → BasePermissionHandler-CVtH-snr.mjs} +1 -1
- package/dist/{BasePermissionHandler-CZ19WzsP.cjs → BasePermissionHandler-DjM16uJz.cjs} +1 -1
- package/dist/{acpSessionResume-Hto_b8MK.cjs → acpSessionResume-2BTMsB7_.cjs} +1 -1
- package/dist/{acpSessionResume-DPSfMe7r.mjs → acpSessionResume-Dxl1LRAT.mjs} +1 -1
- package/dist/{agentHome-4-odnrAk.mjs → agentHome-CHctmMzZ.mjs} +4 -4
- package/dist/{agentHome-Mveyfa24.cjs → agentHome-W17n1gnH.cjs} +4 -4
- package/dist/{api-cVvbFZVK.mjs → api-B0yN68XH.mjs} +10 -10
- package/dist/{api-DVEzYcoy.cjs → api-BDuuyys8.cjs} +10 -10
- package/dist/{apiMachine-Bd1C_JN6.cjs → apiMachine-iddD-F19.cjs} +14 -14
- package/dist/{apiMachine-M7qY1izH.mjs → apiMachine-mc9CsKuS.mjs} +14 -14
- package/dist/{attachmentContent-D8hViGiA.cjs → attachmentContent-Cc5b7TPr.cjs} +2 -2
- package/dist/{attachmentContent-NNF-Eo4O.mjs → attachmentContent-CcIdMfAx.mjs} +2 -2
- package/dist/{auth-BHw8be0X.cjs → auth-B7tVmyfX.cjs} +8 -8
- package/dist/{auth-BCHL8Fx5.mjs → auth-CyrVvWHF.mjs} +5 -5
- package/dist/{auth-CKNEKwEV.mjs → auth-DNAgkUkB.mjs} +8 -8
- package/dist/{auth-b_1h0677.cjs → auth-DQKSpaEf.cjs} +5 -5
- package/dist/{auto-D716QYa3.mjs → auto-BklCipw1.mjs} +18 -17
- package/dist/{auto-Da4rCLal.cjs → auto-CetlumDo.cjs} +18 -17
- package/dist/{bootstrap-j2RuoHVy.cjs → bootstrap-CDY-Vz8q.cjs} +2 -2
- package/dist/{bootstrap-CndcegDb.mjs → bootstrap-DfXwkUQb.mjs} +2 -2
- package/dist/{browser-DIYTnD_T.cjs → browser-D1yzC0Tu.cjs} +1 -1
- package/dist/{browser-CLsM513o.mjs → browser-vb0k1zfI.mjs} +1 -1
- package/dist/{claudeLocal-C_uUbEO_.cjs → claudeLocal-2dJIiTIq.cjs} +5 -5
- package/dist/{claudeLocal-3HbTx7K-.mjs → claudeLocal-Bid_rC_v.mjs} +5 -5
- package/dist/{claudeLocalLauncher-DXh2chq3.mjs → claudeLocalLauncher-5pzpETxd.mjs} +10 -10
- package/dist/{claudeLocalLauncher-BxWouVYk.cjs → claudeLocalLauncher-Jm5oQX5Z.cjs} +10 -10
- package/dist/{claudeSessionFork-CsU96yXX.cjs → claudeSessionFork-DsbcuDEJ.cjs} +1 -1
- package/dist/{claudeSessionFork-B4olbwfj.mjs → claudeSessionFork-DzecSBO4.mjs} +1 -1
- package/dist/{client-C8w9aQYe.mjs → client-B161HwAk.mjs} +2 -2
- package/dist/{client-CCy72Phz.cjs → client-BNmFaRXZ.cjs} +4 -4
- package/dist/{client-D8p1YjVt.mjs → client-C9Ecbtko.mjs} +4 -4
- package/dist/{client-Zqg7DXHl.mjs → client-CvjjadIE.mjs} +2 -2
- package/dist/{client-CWSfPlGD.cjs → client-D0aYWt53.cjs} +2 -2
- package/dist/{client-q1aNOKgy.cjs → client-DIfxYk7B.cjs} +2 -2
- package/dist/codex/happyMcpStdioBridge.cjs +17 -16
- package/dist/codex/happyMcpStdioBridge.mjs +17 -16
- package/dist/{codexAppServerClient-Csc-XsRV.mjs → codexAppServerClient-BlVmpjR-.mjs} +63 -5
- package/dist/{codexAppServerClient-g8npaIU9.cjs → codexAppServerClient-CO9f4Jr8.cjs} +63 -5
- package/dist/{codexCommand-BV8pTAtv.cjs → codexCommand-BfoRP6E9.cjs} +189 -68
- package/dist/{codexCommand-BS-foS_R.mjs → codexCommand-CAMR4g5o.mjs} +188 -67
- package/dist/{codexTermination-lOO15mt2.mjs → codexTermination-BvGlN02_.mjs} +1 -1
- package/dist/{codexTermination-B5WgZAWO.cjs → codexTermination-IrLZQzKC.cjs} +1 -1
- package/dist/{config-BOnZRJIG.cjs → config-BGFqQGvh.cjs} +3 -3
- package/dist/{config-Ba5ufl-D.mjs → config-CtMgGPvf.mjs} +3 -3
- package/dist/{configuration-8EAa2X9P.mjs → configuration-1FabKklB.mjs} +1 -1
- package/dist/{configuration-CAfdO4IC.cjs → configuration-C0ctLGW2.cjs} +1 -1
- package/dist/{connect-BHWHNe54.mjs → connect-0lSugpjf.mjs} +13 -13
- package/dist/{connect-2hWuvxRM.cjs → connect-DSw-2f52.cjs} +13 -13
- package/dist/{context-B-jybQhf.mjs → context-BgxbXWKS.mjs} +1 -1
- package/dist/{context-BtCz06PX.cjs → context-D-hEk5pC.cjs} +1 -1
- package/dist/{controlClient-O-vf2MkJ.mjs → controlClient-DwNnNAUx.mjs} +4 -4
- package/dist/{controlClient-mH9AxBwT.cjs → controlClient-F7hAEEy2.cjs} +3 -3
- package/dist/{createSessionMetadata-HlzlfP0U.mjs → createSessionMetadata-CG6Klinp.mjs} +2 -2
- package/dist/{createSessionMetadata-Bcn7b8QB.cjs → createSessionMetadata-DezS33OM.cjs} +2 -2
- package/dist/{defaultPermissionMode-BN3PdltF.cjs → defaultPermissionMode-5EvgRq38.cjs} +2 -2
- package/dist/{defaultPermissionMode-BPDeX4S8.mjs → defaultPermissionMode-e2bIIJG4.mjs} +2 -2
- package/dist/{deterministicJson-CruOxFA6.mjs → deterministicJson-BMwgK21e.mjs} +13 -13
- package/dist/{deterministicJson-D9pZQhU9.cjs → deterministicJson-D0LU_XbO.cjs} +13 -13
- package/dist/{doctor-BNhLBBTK.mjs → doctor-D16hySse.mjs} +7 -7
- package/dist/{doctor-lHD1YZH6.cjs → doctor-wVNvRarN.cjs} +7 -7
- package/dist/{downloadTarget-ByTxs_N5.mjs → downloadTarget-C6tqaXGm.mjs} +6 -6
- package/dist/{downloadTarget-BhkQxTa8.cjs → downloadTarget-aNcCxVRL.cjs} +6 -6
- package/dist/{ensureDaemonRunning-BiCK6RiS.cjs → ensureDaemonRunning-CIghxgDR.cjs} +5 -5
- package/dist/{ensureDaemonRunning-Cv0AMaHK.mjs → ensureDaemonRunning-DZq8bvsp.mjs} +5 -5
- package/dist/{handleResumeCommand-Cy_KW0LN.mjs → handleResumeCommand-BNnD7EuD.mjs} +5 -5
- package/dist/{handleResumeCommand-WB4VDeKk.cjs → handleResumeCommand-CMUTygsm.cjs} +5 -5
- package/dist/{index-BpWESchl.cjs → index-4TpmBb2Q.cjs} +3 -3
- package/dist/{index-Vtcax4oD.cjs → index-B81qV_F_.cjs} +4 -4
- package/dist/{index-CVMbboXv.mjs → index-BCQr-5Ei.mjs} +4 -4
- package/dist/{index-BumVulwx.cjs → index-BOe6dKnL.cjs} +215 -18
- package/dist/{index-CdOz1uDl.mjs → index-BuiG8hmg.mjs} +94 -45
- package/dist/{index-BpSpw6jG.mjs → index-CKd20r1W.mjs} +3 -3
- package/dist/{index-B44ft-m4.cjs → index-CnzsOD19.cjs} +93 -44
- package/dist/{index-Bcp-PEGc.cjs → index-De02DNu5.cjs} +4 -4
- package/dist/{index-lWXWV0H2.mjs → index-Df0bc_et.mjs} +4 -4
- package/dist/{index-B9f1vKcC.mjs → index-WKyN-bNy.mjs} +212 -17
- package/dist/index.cjs +2 -2
- package/dist/index.mjs +2 -2
- package/dist/{install-mK93DJ6L.mjs → install-23ehAdTD.mjs} +3 -3
- package/dist/{install-DdRVv9IS.cjs → install-DNbIEJUk.cjs} +3 -3
- package/dist/lib.cjs +12 -12
- package/dist/lib.d.cts +14 -0
- package/dist/lib.d.mts +14 -0
- package/dist/lib.mjs +12 -12
- package/dist/{lidState-XyjQaZtU.cjs → lidState-B4dHJCeS.cjs} +1 -1
- package/dist/{lidState-LtdUCXi-.mjs → lidState-q5Its2Hm.mjs} +1 -1
- package/dist/{localHappyAgentAuth-C9Aj_wGD.cjs → localHappyAgentAuth-CG2nPD_H.cjs} +1 -1
- package/dist/{localHappyAgentAuth-DqFE0Adr.mjs → localHappyAgentAuth-C_G5u5lY.mjs} +1 -1
- package/dist/{logger-BILSzq2s.cjs → logger-BP1SW7Cs.cjs} +2 -2
- package/dist/{logger-SAU4uSs4.mjs → logger-DOKH3Zbh.mjs} +2 -2
- package/dist/{machineMetadata-C5TgUTpD.cjs → machineMetadata-BKX3ov9g.cjs} +3 -3
- package/dist/{machineMetadata-ZVnihOuL.mjs → machineMetadata-D-5qeIqd.mjs} +3 -3
- package/dist/{main-BjOHtX8u.mjs → main-DODz8DQE.mjs} +46 -46
- package/dist/{main-CVfx_-l7.cjs → main-ndpVIaSG.cjs} +46 -46
- package/dist/{mcp-CWVr7KbQ.mjs → mcp-BBwbSODp.mjs} +16 -15
- package/dist/{mcp-By9XK193.cjs → mcp-Bc4U4exu.cjs} +16 -15
- package/dist/{mirrorProtocol-C0wyaesn.cjs → mirrorProtocol-CiA3hO2y.cjs} +3 -3
- package/dist/{mirrorProtocol-BI6XbokT.mjs → mirrorProtocol-D2vTWteS.mjs} +3 -3
- package/dist/{package-Bbfq2KR7.cjs → package-CYDdLA6R.cjs} +7 -7
- package/dist/{package-BMBwnCn3.mjs → package-DTcaIhjW.mjs} +7 -7
- package/dist/{panels-rQmysHlY.cjs → panels-C2xZ8rqU.cjs} +5 -5
- package/dist/{panels-CbIUwV6q.mjs → panels-DCaLxlSL.mjs} +5 -5
- package/dist/{peerTools-CZfiq_Dx.cjs → peerTools-B4315xjX.cjs} +5 -5
- package/dist/{peerTools-CyruQrOo.mjs → peerTools-BtrUnSwz.mjs} +5 -5
- package/dist/{persistence-C7T3HYjq.mjs → persistence-0INrP3aB.mjs} +2 -2
- package/dist/{persistence-DPeSC0SK.cjs → persistence-CrzC7yr_.cjs} +2 -2
- package/dist/{piRunnerArgs-DAq8vIpP.cjs → piRunnerArgs-BtzW_kfh.cjs} +1 -1
- package/dist/{piRunnerArgs-CsWompo8.mjs → piRunnerArgs-DRuxMlX1.mjs} +1 -1
- package/dist/{piRuntime-Dxd8Gfun.mjs → piRuntime-BMAFpIBV.mjs} +1 -1
- package/dist/{piRuntime-CFqlQFoz.cjs → piRuntime-DEbPE_kW.cjs} +1 -1
- package/dist/{piTerminal-BssuKDtJ.mjs → piTerminal-DQXV8_we.mjs} +18 -17
- package/dist/{piTerminal-DHG3Kzve.cjs → piTerminal-MtxDtBE2.cjs} +18 -17
- package/dist/{pushNotifications-CsSyhnHu.cjs → pushNotifications-CalIS9sq.cjs} +3 -3
- package/dist/{pushNotifications-Bi72c41d.mjs → pushNotifications-Cq1s8YVK.mjs} +3 -3
- package/dist/{query-BQOwsKS1.mjs → query-BYiPBHPC.mjs} +1 -1
- package/dist/{query-Cuef299f.cjs → query-CE2XDhhw.cjs} +1 -1
- package/dist/{specialCommands-35KxDNE8.cjs → rateLimitReporter-BKmoOZQi.cjs} +3 -55
- package/dist/{specialCommands-CTtmGCCf.mjs → rateLimitReporter-DR5LXuiQ.mjs} +4 -55
- package/dist/{rateLimitWindows-B6IAWYN5.mjs → rateLimitWindows-5vIuNjko.mjs} +1 -1
- package/dist/{rateLimitWindows-bfwC81Z-.cjs → rateLimitWindows-Cs56YJCH.cjs} +1 -1
- package/dist/{registerCommonHandlers-qzb6TQqo.mjs → registerCommonHandlers-DWkTysjD.mjs} +2 -2
- package/dist/{registerCommonHandlers-CQC04iF3.cjs → registerCommonHandlers-DZPozYxc.cjs} +2 -2
- package/dist/{registerKillSessionHandler-DMPrrNKX.mjs → registerKillSessionHandler-CSCTRIbI.mjs} +34 -6
- package/dist/{registerKillSessionHandler-BraKB5Ks.cjs → registerKillSessionHandler-DhCjrs44.cjs} +34 -6
- package/dist/{remoteSessionClient-DffolBcQ.cjs → remoteSessionClient-Dq8XTLQP.cjs} +5 -5
- package/dist/{remoteSessionClient-D3XhN_sd.mjs → remoteSessionClient-Vfj_5g2-.mjs} +5 -5
- package/dist/{reportProgressTool-irHR-XEW.mjs → reportProgressTool-B7zmX7NJ.mjs} +3 -3
- package/dist/{reportProgressTool-BieTXE_R.cjs → reportProgressTool-DznxPKES.cjs} +3 -3
- package/dist/{run-Ck_WA6Nj.cjs → run-Ca8BiNCp.cjs} +36 -35
- package/dist/{run-DCUaxe2S.mjs → run-DSfNcR62.mjs} +36 -35
- package/dist/{runClaude-BUGku2Qp.cjs → runClaude-ClQQcgoO.cjs} +22 -22
- package/dist/{runClaude-BryAvfNV.mjs → runClaude-hoepv-0X.mjs} +22 -22
- package/dist/{runClaudeDeps-BZkWM9_u.mjs → runClaudeDeps-D_v8t2SK.mjs} +88 -55
- package/dist/{runClaudeDeps-Dbk1VrOW.cjs → runClaudeDeps-ck5_GYlP.cjs} +85 -52
- package/dist/{runGemini-DT379gpi.mjs → runGemini-CTr2-cYG.mjs} +38 -33
- package/dist/{runGemini-B6AZ2bv0.cjs → runGemini-Cj0XsMiM.cjs} +38 -33
- package/dist/{runOpenClaw-eBUYlIVJ.cjs → runOpenClaw-BoN1e3lP.cjs} +23 -18
- package/dist/{runOpenClaw-Bpp9mkyO.mjs → runOpenClaw-CdDMntiV.mjs} +23 -18
- package/dist/{sandbox-Bv4H1P6u.cjs → sandbox-BY2h19gc.cjs} +4 -4
- package/dist/{sandbox-Z8TM9eUg.mjs → sandbox-DcaWB-Ou.mjs} +4 -4
- package/dist/selfCheck-BQ_H2Sns.mjs +86 -0
- package/dist/{selfCheck--1k2Ptf6.cjs → selfCheck-DFS_GUaQ.cjs} +37 -37
- package/dist/{send-BG4KYe6f.cjs → send-BMsUYU6g.cjs} +9 -8
- package/dist/{send-CKTovWuQ.mjs → send-UBTHHNvZ.mjs} +9 -8
- package/dist/{server-DLpXtoiZ.mjs → server-Dt3mCtfQ.mjs} +4 -4
- package/dist/{server-BTNwH-sA.cjs → server-YrHMHNz1.cjs} +6 -6
- package/dist/{sessionLock-Cf6RlgfF.cjs → sessionLock-DSqiP2lH.cjs} +3 -3
- package/dist/{sessionLock-DhzB5ZI9.mjs → sessionLock-tEFvFXLD.mjs} +3 -3
- package/dist/{sessionOps-R52JWMnX.cjs → sessionOps-BzeOKIEF.cjs} +27 -4
- package/dist/{sessionOps-CiFjBCMa.mjs → sessionOps-CljctDs5.mjs} +27 -4
- package/dist/{sessionProvider-f2tUhwBc.mjs → sessionProvider-BnUFSJXM.mjs} +5 -5
- package/dist/{sessionProvider-LATn-lZL.cjs → sessionProvider-ORgzmkXy.cjs} +5 -5
- package/dist/{sessionScanner-DRzZtGtu.cjs → sessionScanner-Cr6PJ3PT.cjs} +3 -3
- package/dist/{sessionScanner-lS1puA5H.mjs → sessionScanner-DZUlkdF6.mjs} +3 -3
- package/dist/{sessions-D01nnjOE.mjs → sessions-15cag-su.mjs} +11 -10
- package/dist/{sessions-DGd8Fin6.cjs → sessions-aIo_HjmY.cjs} +11 -10
- package/dist/{setupOfflineReconnection-UApZjcU5.mjs → setupOfflineReconnection-B7I8R2Ex.mjs} +2 -2
- package/dist/{setupOfflineReconnection-Ds7ywGwR.cjs → setupOfflineReconnection-tV0Q1dgR.cjs} +2 -2
- package/dist/{spawn-ct8aSMA8.mjs → spawn-ByrQgruJ.mjs} +70 -28
- package/dist/{spawn-CT3g4p8A.cjs → spawn-VG-HjJiR.cjs} +70 -27
- package/dist/{spawnAgents-f2q31uUV.mjs → spawnAgents-Bh1RPShN.mjs} +24 -11
- package/dist/{spawnAgents-DsJSyLDl.cjs → spawnAgents-C1-4m7aN.cjs} +24 -10
- package/dist/{spawnHappyCLI-Dp05fHcp.mjs → spawnHappyCLI-CEsXwz5V.mjs} +1 -1
- package/dist/{spawnHappyCLI-DedrWByd.cjs → spawnHappyCLI-CxiR2Qoy.cjs} +1 -1
- package/dist/specialCommands-J3JFOq0J.cjs +60 -0
- package/dist/specialCommands-MXUN0wfI.mjs +54 -0
- package/dist/{startFileWatcher-72w11DP_.cjs → startFileWatcher-C-XCZ5t2.cjs} +1 -1
- package/dist/{startFileWatcher-BLdxJdgu.mjs → startFileWatcher-DkEeeAtL.mjs} +1 -1
- package/dist/{startupSessionCreate-Cy4J4-Ep.cjs → startupSessionCreate-CYc8mra-.cjs} +1 -1
- package/dist/{startupSessionCreate-CJFR_Zom.mjs → startupSessionCreate-npXe2TdN.mjs} +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-BWX1OVQi.mjs → sync-BvDMkKAN.mjs} +1 -1
- package/dist/{sync-lxDpbIh3.cjs → sync-CoChLEIg.cjs} +1 -1
- package/dist/{systemPrompt-BIilbjt_.mjs → systemPrompt-CgDaPigN.mjs} +2 -2
- package/dist/{systemPrompt-0DqWPGY6.cjs → systemPrompt-Dy_Rf-0Z.cjs} +2 -2
- package/dist/{teams-CvpB8Rdm.mjs → teams-BC4_e5hR.mjs} +7 -7
- package/dist/{teams-CImmJLlM.cjs → teams-DPvfLAk8.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-DjS5me2q.mjs → time-CUK37wiV.mjs} +1 -1
- package/dist/{time-BbQJi3Eh.cjs → time-XwEZxKGc.cjs} +1 -1
- package/dist/{titleGenerator-CfJme6ep.cjs → titleGenerator-DVX0NZUn.cjs} +2 -2
- package/dist/{titleGenerator-CGdBp5lQ.mjs → titleGenerator-DWRVdqMU.mjs} +1 -1
- package/dist/{todo-BxfUKwTM.mjs → todo-BNMGXneA.mjs} +6 -6
- package/dist/{todo-rN20m9lT.cjs → todo-CKGrSrRE.cjs} +6 -6
- package/dist/{tools-B_W7xJNh.mjs → tools-CCIEAVbB.mjs} +1 -1
- package/dist/{tools-kGtSjG8h.cjs → tools-CjMafO_D.cjs} +1 -1
- package/dist/{uninstall-CBQsxEmD.cjs → uninstall-BdFbTXnL.cjs} +3 -3
- package/dist/{uninstall-DUjvgLlg.mjs → uninstall-CJvJ7gjr.mjs} +3 -3
- package/package.json +7 -7
- package/dist/selfCheck-DIGghfQz.mjs +0 -86
|
@@ -1,93 +1,94 @@
|
|
|
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-DRPJ2g9G.cjs');
|
|
4
|
+
var logger = require('./logger-BP1SW7Cs.cjs');
|
|
5
|
+
var AcpSessionManager = require('./AcpSessionManager-DM-KKg6v.cjs');
|
|
6
|
+
var index = require('./index-BOe6dKnL.cjs');
|
|
7
|
+
var deterministicJson = require('./deterministicJson-D0LU_XbO.cjs');
|
|
8
|
+
var specialCommands = require('./specialCommands-J3JFOq0J.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-C0ctLGW2.cjs');
|
|
11
|
+
var attachmentContent = require('./attachmentContent-Cc5b7TPr.cjs');
|
|
12
|
+
var piRuntime = require('./piRuntime-DEbPE_kW.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 registerKillSessionHandler = require('./registerKillSessionHandler-
|
|
17
|
-
var persistence = require('./persistence-
|
|
18
|
-
var machineMetadata = require('./machineMetadata-
|
|
19
|
-
var createSessionMetadata = require('./createSessionMetadata-
|
|
20
|
-
var setupOfflineReconnection = require('./setupOfflineReconnection-
|
|
21
|
-
var startupSessionCreate = require('./startupSessionCreate-
|
|
22
|
-
var controlClient = require('./controlClient-
|
|
15
|
+
var api = require('./api-BDuuyys8.cjs');
|
|
16
|
+
var client = require('./client-DIfxYk7B.cjs');
|
|
17
|
+
var registerKillSessionHandler = require('./registerKillSessionHandler-DhCjrs44.cjs');
|
|
18
|
+
var persistence = require('./persistence-CrzC7yr_.cjs');
|
|
19
|
+
var machineMetadata = require('./machineMetadata-BKX3ov9g.cjs');
|
|
20
|
+
var createSessionMetadata = require('./createSessionMetadata-DezS33OM.cjs');
|
|
21
|
+
var setupOfflineReconnection = require('./setupOfflineReconnection-tV0Q1dgR.cjs');
|
|
22
|
+
var startupSessionCreate = require('./startupSessionCreate-CYc8mra-.cjs');
|
|
23
|
+
var controlClient = require('./controlClient-F7hAEEy2.cjs');
|
|
23
24
|
var authRelay = require('./authRelay-Dy1qU9td.cjs');
|
|
24
|
-
var sessionLock = require('./sessionLock-
|
|
25
|
-
var acpSessionResume = require('./acpSessionResume-
|
|
26
|
-
var streamRelay = require('./streamRelay-
|
|
25
|
+
var sessionLock = require('./sessionLock-DSqiP2lH.cjs');
|
|
26
|
+
var acpSessionResume = require('./acpSessionResume-2BTMsB7_.cjs');
|
|
27
|
+
var streamRelay = require('./streamRelay-D9a4cBEa.cjs');
|
|
27
28
|
var projectPath = require('./projectPath-C3ioB4Bu.cjs');
|
|
28
|
-
var BasePermissionHandler = require('./BasePermissionHandler-
|
|
29
|
-
var titleGenerator = require('./titleGenerator-
|
|
29
|
+
var BasePermissionHandler = require('./BasePermissionHandler-DjM16uJz.cjs');
|
|
30
|
+
var titleGenerator = require('./titleGenerator-DVX0NZUn.cjs');
|
|
30
31
|
var editPaths = require('./editPaths-Bqp4OFPw.cjs');
|
|
32
|
+
var node_fs = require('node:fs');
|
|
33
|
+
var os = require('node:os');
|
|
31
34
|
require('node:child_process');
|
|
32
35
|
require('@agentclientprotocol/sdk');
|
|
33
|
-
require('./time-
|
|
36
|
+
require('./time-XwEZxKGc.cjs');
|
|
34
37
|
require('./contentLogMetadata-ZSFk_NjQ.cjs');
|
|
35
38
|
require('./processTree-CMHWlVse.cjs');
|
|
36
|
-
require('./package-
|
|
39
|
+
require('./package-CYDdLA6R.cjs');
|
|
37
40
|
require('chalk');
|
|
38
41
|
require('node:util');
|
|
39
|
-
require('node:fs');
|
|
40
42
|
require('@paralleldrive/cuid2');
|
|
41
43
|
require('zod');
|
|
42
44
|
require('./prompt-Bof2aQkI.cjs');
|
|
43
|
-
require('./reportProgressTool-
|
|
44
|
-
require('./client-
|
|
45
|
+
require('./reportProgressTool-DznxPKES.cjs');
|
|
46
|
+
require('./client-D0aYWt53.cjs');
|
|
45
47
|
require('./precheckCompat-CWOi5c9L.cjs');
|
|
46
48
|
require('./agentGuidance-BtBx2xxE.cjs');
|
|
47
49
|
require('./trimIdent-4gvk9Wk6.cjs');
|
|
48
|
-
require('node:os');
|
|
49
50
|
require('./pi-DlsrPCTa.cjs');
|
|
50
51
|
require('./fileStore-7qhnbs6N.cjs');
|
|
51
52
|
require('node:fs/promises');
|
|
52
|
-
require('./client-
|
|
53
|
-
require('./context-
|
|
54
|
-
require('./sessionOps-
|
|
53
|
+
require('./client-BNmFaRXZ.cjs');
|
|
54
|
+
require('./context-D-hEk5pC.cjs');
|
|
55
|
+
require('./sessionOps-BzeOKIEF.cjs');
|
|
55
56
|
require('axios');
|
|
56
57
|
require('socket.io-client');
|
|
57
58
|
require('./backgroundTaskActivity-CBvUdj39.cjs');
|
|
58
59
|
require('./resources-BZ_Be0qM.cjs');
|
|
59
|
-
require('./tools-
|
|
60
|
-
require('./peerTools-
|
|
60
|
+
require('./tools-CjMafO_D.cjs');
|
|
61
|
+
require('./peerTools-B4315xjX.cjs');
|
|
61
62
|
require('./ids-B6ZC0HGt.cjs');
|
|
62
|
-
require('./remoteSessionClient-
|
|
63
|
+
require('./remoteSessionClient-Dq8XTLQP.cjs');
|
|
63
64
|
require('@modelcontextprotocol/sdk/server/mcp.js');
|
|
64
65
|
require('node:http');
|
|
65
66
|
require('@modelcontextprotocol/sdk/server/streamableHttp.js');
|
|
66
67
|
require('./limits-C-a7gr04.cjs');
|
|
67
|
-
require('./downloadTarget-
|
|
68
|
+
require('./downloadTarget-aNcCxVRL.cjs');
|
|
68
69
|
require('./terminals-B_bfC9c2.cjs');
|
|
69
70
|
require('./terminalTitleSuggest-DhvRFX3H.cjs');
|
|
70
71
|
require('./tmuxSocket-D-Xt6Vn-.cjs');
|
|
71
|
-
require('./bootstrap-
|
|
72
|
+
require('./bootstrap-CDY-Vz8q.cjs');
|
|
72
73
|
require('./webPanels-FCgFKvVe.cjs');
|
|
73
|
-
require('./pushNotifications-
|
|
74
|
+
require('./pushNotifications-CalIS9sq.cjs');
|
|
74
75
|
require('./previewPath-B0rBdhy1.cjs');
|
|
75
76
|
require('crypto');
|
|
76
|
-
require('./lidState-
|
|
77
|
+
require('./lidState-B4dHJCeS.cjs');
|
|
77
78
|
require('os');
|
|
78
79
|
require('child_process');
|
|
79
80
|
require('node:events');
|
|
80
|
-
require('./registerCommonHandlers-
|
|
81
|
+
require('./registerCommonHandlers-DZPozYxc.cjs');
|
|
81
82
|
require('util');
|
|
82
83
|
require('fs/promises');
|
|
83
84
|
require('path');
|
|
84
85
|
require('cross-spawn');
|
|
85
|
-
require('./sync-
|
|
86
|
+
require('./sync-CoChLEIg.cjs');
|
|
86
87
|
require('tweetnacl');
|
|
87
88
|
require('./types-CRS-srZK.cjs');
|
|
88
89
|
require('./detectCLI-BuYR_Qxe.cjs');
|
|
89
90
|
require('fs');
|
|
90
|
-
require('./localHappyAgentAuth-
|
|
91
|
+
require('./localHappyAgentAuth-CG2nPD_H.cjs');
|
|
91
92
|
require('./fsMkdir-0K3yENml.cjs');
|
|
92
93
|
require('./processTreeSnapshot-mDbnuojn.cjs');
|
|
93
94
|
require('url');
|
|
@@ -119,6 +120,16 @@ async function buildAcpPrompt(message, opts) {
|
|
|
119
120
|
|
|
120
121
|
${opts.todoNote}`, slashCommand: false };
|
|
121
122
|
}
|
|
123
|
+
function routeAcpUserText(text, advertisedCommands) {
|
|
124
|
+
const compact = specialCommands.compactCommandText(text);
|
|
125
|
+
if (compact !== null) {
|
|
126
|
+
if (advertisedCommands && advertisedCommands.length > 0 && !advertisedCommands.includes("compact")) {
|
|
127
|
+
return { kind: "unsupported", notice: specialCommands.COMPACT_UNSUPPORTED_NOTICE };
|
|
128
|
+
}
|
|
129
|
+
return { kind: "command", text: compact };
|
|
130
|
+
}
|
|
131
|
+
return isAgentSlashCommand(text) ? { kind: "command", text } : { kind: "prompt", text };
|
|
132
|
+
}
|
|
122
133
|
|
|
123
134
|
const MAX_DETAIL_CHARS = 400;
|
|
124
135
|
function detailOf(error) {
|
|
@@ -144,9 +155,11 @@ function oneLine(text) {
|
|
|
144
155
|
}
|
|
145
156
|
function describeAcpTurnFailure(agentName, error) {
|
|
146
157
|
if (AcpBackend.isAgentExitError(error)) {
|
|
147
|
-
|
|
158
|
+
const detail2 = oneLine(error.message);
|
|
159
|
+
return { message: `Process exited unexpectedly: ${detail2}`, error: detail2, exited: true };
|
|
148
160
|
}
|
|
149
|
-
|
|
161
|
+
const detail = oneLine(detailOf(error));
|
|
162
|
+
return { message: `${agentName} error: ${detail}`, error: detail, exited: false };
|
|
150
163
|
}
|
|
151
164
|
|
|
152
165
|
const OUT_OF_TURN_QUIET_MS = 6e4;
|
|
@@ -423,6 +436,26 @@ function mergeAcpSessionConfigIntoMetadata(metadata, snapshot) {
|
|
|
423
436
|
return next;
|
|
424
437
|
}
|
|
425
438
|
|
|
439
|
+
function readGeminiConfiguredModel(opts = {}) {
|
|
440
|
+
const env = opts.env ?? process.env;
|
|
441
|
+
const fromEnv = env.GEMINI_MODEL?.trim();
|
|
442
|
+
if (fromEnv) return fromEnv;
|
|
443
|
+
const read = opts.readFile ?? ((path) => node_fs.readFileSync(path, "utf8"));
|
|
444
|
+
const home = env.GEMINI_CLI_HOME?.trim() || opts.home || os.homedir();
|
|
445
|
+
for (const file of [path.join(opts.cwd ?? process.cwd(), ".gemini", "settings.json"), path.join(home, ".gemini", "settings.json")]) {
|
|
446
|
+
let parsed;
|
|
447
|
+
try {
|
|
448
|
+
parsed = JSON.parse(read(file));
|
|
449
|
+
} catch {
|
|
450
|
+
continue;
|
|
451
|
+
}
|
|
452
|
+
const model = parsed?.model;
|
|
453
|
+
const name = typeof model === "string" ? model : model?.name;
|
|
454
|
+
if (typeof name === "string" && name.trim()) return name.trim();
|
|
455
|
+
}
|
|
456
|
+
return null;
|
|
457
|
+
}
|
|
458
|
+
|
|
426
459
|
const ACP_EVENT_PREVIEW_CHARS = 240;
|
|
427
460
|
const ACP_RAW_PREVIEW_CHARS = 2e3;
|
|
428
461
|
const ACP_COLOR_RESET = "\x1B[0m";
|
|
@@ -797,6 +830,7 @@ async function runAcp(opts) {
|
|
|
797
830
|
capabilities: [index.PROMPT_QUEUE_CAPABILITY, index.PROJECT_SESSION_CAPABILITY]
|
|
798
831
|
});
|
|
799
832
|
metadata.attachmentKinds = [];
|
|
833
|
+
if (opts.agentName === "gemini") metadata.configuredModel = readGeminiConfiguredModel();
|
|
800
834
|
const reconnect = acpSessionResume.readAcpReconnectEnv(process.env);
|
|
801
835
|
let response;
|
|
802
836
|
if (reconnect) {
|
|
@@ -895,6 +929,7 @@ async function runAcp(opts) {
|
|
|
895
929
|
let legacyModes = null;
|
|
896
930
|
let legacyModels = null;
|
|
897
931
|
let sawSlashCommands = false;
|
|
932
|
+
let agentCommands = null;
|
|
898
933
|
let sawModes = false;
|
|
899
934
|
let sawModels = false;
|
|
900
935
|
const initialPermissionMode = opts.permissionMode ?? resumedPermissionMode ?? "default";
|
|
@@ -1147,6 +1182,7 @@ async function runAcp(opts) {
|
|
|
1147
1182
|
const commands = msg.payload;
|
|
1148
1183
|
const commandNames = commands.map((c) => c.name);
|
|
1149
1184
|
sawSlashCommands = commands.length > 0;
|
|
1185
|
+
agentCommands = commandNames;
|
|
1150
1186
|
if (verbose) {
|
|
1151
1187
|
logAcp("muted", `Outgoing slash commands from ${opts.agentName} (${commands.length}):`);
|
|
1152
1188
|
for (const command of commands) {
|
|
@@ -1319,6 +1355,19 @@ async function runAcp(opts) {
|
|
|
1319
1355
|
if (message.meta && Object.prototype.hasOwnProperty.call(message.meta, "effort")) {
|
|
1320
1356
|
currentEffort = message.meta.effort ?? null;
|
|
1321
1357
|
}
|
|
1358
|
+
const route = routeAcpUserText(message.content.text, agentCommands);
|
|
1359
|
+
if (route.kind === "unsupported") {
|
|
1360
|
+
session.sendSessionEvent({ type: "message", message: route.notice });
|
|
1361
|
+
return;
|
|
1362
|
+
}
|
|
1363
|
+
if (route.kind === "command") {
|
|
1364
|
+
messageQueue.pushIsolate(route.text, {
|
|
1365
|
+
permissionMode: currentPermissionMode,
|
|
1366
|
+
model: currentModel,
|
|
1367
|
+
effort: currentEffort
|
|
1368
|
+
}, attachments, message.localKey);
|
|
1369
|
+
return;
|
|
1370
|
+
}
|
|
1322
1371
|
if (message.meta?.delivery === "steer" && piSteer?.ready && thinking && !attachments?.length) {
|
|
1323
1372
|
if (await piSteer.offer(message.content.text, PI_STEER_OFFER_TIMEOUT_MS)) {
|
|
1324
1373
|
logger.logger.debug(`[${opts.agentName}] User message steered into the running turn`);
|
|
@@ -1508,7 +1557,7 @@ async function runAcp(opts) {
|
|
|
1508
1557
|
} catch (error) {
|
|
1509
1558
|
const failure = describeAcpTurnFailure(opts.agentName, error);
|
|
1510
1559
|
session.sendSessionEvent({ type: "message", message: failure.message });
|
|
1511
|
-
sendEnvelopes(sessionManager.endTurn("failed"));
|
|
1560
|
+
sendEnvelopes(sessionManager.endTurn("failed", failure.error));
|
|
1512
1561
|
streamRelay$1.endTurn();
|
|
1513
1562
|
setThinking(false);
|
|
1514
1563
|
session.sendSessionEvent({ type: "ready" });
|
|
@@ -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-BP1SW7Cs.cjs');
|
|
6
|
+
var persistence = require('./persistence-CrzC7yr_.cjs');
|
|
7
7
|
var loginShellEnv = require('./loginShellEnv-BkuYtExZ.cjs');
|
|
8
8
|
require('chalk');
|
|
9
9
|
require('node:util');
|
|
10
|
-
require('./configuration-
|
|
10
|
+
require('./configuration-C0ctLGW2.cjs');
|
|
11
11
|
require('node:path');
|
|
12
|
-
require('./package-
|
|
12
|
+
require('./package-CYDdLA6R.cjs');
|
|
13
13
|
require('node:fs/promises');
|
|
14
14
|
require('zod');
|
|
15
15
|
require('./authRelay-Dy1qU9td.cjs');
|
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
import { statSync, readdirSync } from 'node:fs';
|
|
2
2
|
import { homedir } from 'node:os';
|
|
3
|
-
import { l as logger } from './logger-
|
|
4
|
-
import { r as readSettings } from './persistence-
|
|
3
|
+
import { l as logger } from './logger-DOKH3Zbh.mjs';
|
|
4
|
+
import { r as readSettings } from './persistence-0INrP3aB.mjs';
|
|
5
5
|
import { d as describeAgentHome, C as CLAUDE_CONFIG_DIR_ENV, a as CODEX_HOME_ENV, f as findClaudeConversation, b as agentHomeCandidates, c as findCodexThread, r as resolveAgentHomes, A as AGENT_HOME_ENV_NAMES, g as agentHomeEnv, p as probeLoginShellEnv } from './loginShellEnv-Dw8M7tkI.mjs';
|
|
6
6
|
export { h as claudeConversationPath, i as claudeProjectDirName, j as codexRolloutFileMatches, e as expandHomePath } from './loginShellEnv-Dw8M7tkI.mjs';
|
|
7
7
|
import 'chalk';
|
|
8
8
|
import 'node:util';
|
|
9
|
-
import './configuration-
|
|
9
|
+
import './configuration-1FabKklB.mjs';
|
|
10
10
|
import 'node:path';
|
|
11
|
-
import './package-
|
|
11
|
+
import './package-DTcaIhjW.mjs';
|
|
12
12
|
import 'node:fs/promises';
|
|
13
13
|
import 'zod';
|
|
14
14
|
import './authRelay-DhQhkBvX.mjs';
|
|
@@ -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 };
|
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-DOKH3Zbh.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-1FabKklB.mjs';
|
|
9
9
|
import 'node:fs';
|
|
10
10
|
import 'node:os';
|
|
11
11
|
import 'node:path';
|
|
12
|
-
import './package-
|
|
12
|
+
import './package-DTcaIhjW.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-BP1SW7Cs.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-C0ctLGW2.cjs');
|
|
11
11
|
require('node:fs');
|
|
12
12
|
require('node:os');
|
|
13
13
|
require('node:path');
|
|
14
|
-
require('./package-
|
|
14
|
+
require('./package-CYDdLA6R.cjs');
|
|
15
15
|
require('node:fs/promises');
|
|
16
16
|
|
|
17
17
|
const PLIST_LABEL = "com.happy-cli.daemon";
|