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
|
@@ -23,6 +23,7 @@ function _interopNamespaceDefault(e) {
|
|
|
23
23
|
var z__namespace = /*#__PURE__*/_interopNamespaceDefault(z);
|
|
24
24
|
|
|
25
25
|
const CODEX_STEER_CAPABILITY = "codex-steer-v1";
|
|
26
|
+
const CODEX_COMPACT_CAPABILITY = "codex-compact-v1";
|
|
26
27
|
const PI_STEER_CAPABILITY = "pi-steer-v1";
|
|
27
28
|
const sessionRoleSchema = z__namespace.enum(["user", "agent"]);
|
|
28
29
|
const sessionTextEventSchema = z__namespace.object({
|
|
@@ -1014,9 +1015,9 @@ function createBuiltinTodoClient(credentials, options2) {
|
|
|
1014
1015
|
throw new BuiltinTodoError("order-collision", "These Todos share an order that cannot safely be changed");
|
|
1015
1016
|
}
|
|
1016
1017
|
}
|
|
1017
|
-
const
|
|
1018
|
-
const nextRecord = { ...record, order: recordOrder, updatedAt };
|
|
1019
|
-
const nextNeighbor = { ...neighbor, order: neighborOrder, updatedAt };
|
|
1018
|
+
const updatedAt2 = Date.now();
|
|
1019
|
+
const nextRecord = { ...record, order: recordOrder, updatedAt: updatedAt2 };
|
|
1020
|
+
const nextNeighbor = { ...neighbor, order: neighborOrder, updatedAt: updatedAt2 };
|
|
1020
1021
|
const versions = await mutate([mutation(record, nextRecord), mutation(neighbor, nextNeighbor)]);
|
|
1021
1022
|
return [{ ...nextRecord, version: versions[0] }, { ...nextNeighbor, version: versions[1] }];
|
|
1022
1023
|
}
|
|
@@ -1106,24 +1107,218 @@ z.z.object({
|
|
|
1106
1107
|
startedAt: z.z.number(),
|
|
1107
1108
|
at: z.z.number()
|
|
1108
1109
|
});
|
|
1109
|
-
|
|
1110
|
-
|
|
1111
|
-
|
|
1112
|
-
|
|
1110
|
+
var version = 1;
|
|
1111
|
+
var updatedAt = "2026-10-30";
|
|
1112
|
+
var agents = {
|
|
1113
|
+
claude: {
|
|
1114
|
+
tier: "opus",
|
|
1115
|
+
pattern: "^claude-opus-(\\d+)(?:-(\\d{1,2}))?$",
|
|
1116
|
+
models: [
|
|
1117
|
+
{
|
|
1118
|
+
model: "claude-opus-5-5",
|
|
1119
|
+
label: "Opus 5.5",
|
|
1120
|
+
requires: {
|
|
1121
|
+
capability: "claude-opus-5-5-v1",
|
|
1122
|
+
cliVersion: "0.2.149"
|
|
1123
|
+
}
|
|
1124
|
+
}
|
|
1125
|
+
]
|
|
1126
|
+
},
|
|
1127
|
+
codex: {
|
|
1128
|
+
tier: "sol",
|
|
1129
|
+
pattern: "^gpt-(\\d+)(?:\\.(\\d+))?-sol$",
|
|
1130
|
+
models: [
|
|
1131
|
+
{
|
|
1132
|
+
model: "gpt-6.1-sol",
|
|
1133
|
+
label: "gpt-6.1-sol",
|
|
1134
|
+
requires: {
|
|
1135
|
+
agentVersion: "0.160.0"
|
|
1136
|
+
}
|
|
1137
|
+
},
|
|
1138
|
+
{
|
|
1139
|
+
model: "gpt-6-sol",
|
|
1140
|
+
label: "gpt-6-sol",
|
|
1141
|
+
requires: {
|
|
1142
|
+
agentVersion: "0.157.0"
|
|
1143
|
+
}
|
|
1144
|
+
},
|
|
1145
|
+
{
|
|
1146
|
+
model: "gpt-5.6-sol",
|
|
1147
|
+
label: "gpt-5.6-sol",
|
|
1148
|
+
requires: {
|
|
1149
|
+
agentVersion: "0.150.0"
|
|
1150
|
+
}
|
|
1151
|
+
}
|
|
1152
|
+
]
|
|
1153
|
+
},
|
|
1154
|
+
gemini: {
|
|
1155
|
+
tier: "pro",
|
|
1156
|
+
pattern: "^gemini-(\\d+)(?:\\.(\\d+))?-pro(?:-preview)?$",
|
|
1157
|
+
models: [
|
|
1158
|
+
{
|
|
1159
|
+
model: "gemini-3.1-pro-preview",
|
|
1160
|
+
label: "gemini 3.1 pro"
|
|
1161
|
+
},
|
|
1162
|
+
{
|
|
1163
|
+
model: "gemini-2.5-pro",
|
|
1164
|
+
label: "gemini 2.5 pro"
|
|
1165
|
+
}
|
|
1166
|
+
]
|
|
1167
|
+
}
|
|
1168
|
+
};
|
|
1169
|
+
var bundledLatestModels = {
|
|
1170
|
+
version,
|
|
1171
|
+
updatedAt,
|
|
1172
|
+
agents
|
|
1173
|
+
};
|
|
1174
|
+
const LATEST_MODEL_MODE = "latest";
|
|
1175
|
+
function isLatestModelMode(model) {
|
|
1176
|
+
return model === LATEST_MODEL_MODE;
|
|
1177
|
+
}
|
|
1178
|
+
const LATEST_MODEL_AGENTS = ["claude", "codex", "gemini"];
|
|
1179
|
+
const LatestModelEntrySchema = z.z.object({
|
|
1180
|
+
model: z.z.string().min(1),
|
|
1181
|
+
label: z.z.string().optional(),
|
|
1182
|
+
/** What a machine/wrapper must have to run it. Absent = nothing provable
|
|
1183
|
+
* without the session's own catalog. */
|
|
1184
|
+
requires: z.z.object({
|
|
1185
|
+
/** Wrapper capability (session metadata.capabilities) — AGENTS.md rule 14. */
|
|
1186
|
+
capability: z.z.string().optional(),
|
|
1187
|
+
/** very-happy-cli version that first advertises `capability`; only used
|
|
1188
|
+
* before a session exists (launcher label). */
|
|
1189
|
+
cliVersion: z.z.string().optional(),
|
|
1190
|
+
/** First agent CLI (codex) whose bundled `model/list` carries the model. */
|
|
1191
|
+
agentVersion: z.z.string().optional()
|
|
1192
|
+
}).optional()
|
|
1193
|
+
});
|
|
1194
|
+
const LatestModelTierSchema = z.z.object({
|
|
1195
|
+
tier: z.z.string(),
|
|
1196
|
+
/** Regex source matching every id of the tier; its capture groups are the
|
|
1197
|
+
* version (`claude-opus-5-5` → 5,5; `gpt-6.1-sol` → 6.1). */
|
|
1198
|
+
pattern: z.z.string(),
|
|
1199
|
+
/** Known models of the tier, newest first. */
|
|
1200
|
+
models: z.z.array(LatestModelEntrySchema)
|
|
1201
|
+
});
|
|
1202
|
+
const LatestModelTableSchema = z.z.object({
|
|
1203
|
+
version: z.z.number(),
|
|
1204
|
+
updatedAt: z.z.string().optional(),
|
|
1205
|
+
agents: z.z.object({
|
|
1206
|
+
claude: LatestModelTierSchema.optional(),
|
|
1207
|
+
codex: LatestModelTierSchema.optional(),
|
|
1208
|
+
gemini: LatestModelTierSchema.optional()
|
|
1209
|
+
}).passthrough()
|
|
1210
|
+
}).passthrough();
|
|
1211
|
+
z.z.object({
|
|
1212
|
+
table: LatestModelTableSchema,
|
|
1213
|
+
source: z.z.enum(["bundled", "configured"])
|
|
1214
|
+
});
|
|
1215
|
+
const BUNDLED_LATEST_MODELS = LatestModelTableSchema.parse(bundledLatestModels);
|
|
1216
|
+
const MACHINE_CONFIG_AGENTS = ["codex", "gemini"];
|
|
1217
|
+
function compilePattern(source) {
|
|
1218
|
+
try {
|
|
1219
|
+
return new RegExp(source);
|
|
1220
|
+
} catch {
|
|
1221
|
+
return null;
|
|
1222
|
+
}
|
|
1223
|
+
}
|
|
1224
|
+
function tierVersion(tier, model) {
|
|
1225
|
+
const match = compilePattern(tier.pattern)?.exec(model);
|
|
1226
|
+
if (!match) return null;
|
|
1227
|
+
return match.slice(1).filter((part) => part !== void 0).map((part) => Number(part));
|
|
1113
1228
|
}
|
|
1114
|
-
function
|
|
1115
|
-
|
|
1229
|
+
function compareTierVersions(a, b) {
|
|
1230
|
+
for (let i = 0; i < Math.max(a.length, b.length); i++) {
|
|
1231
|
+
const diff = (a[i] ?? 0) - (b[i] ?? 0);
|
|
1232
|
+
if (diff !== 0) return diff;
|
|
1233
|
+
}
|
|
1234
|
+
return 0;
|
|
1235
|
+
}
|
|
1236
|
+
function catalogTierIds(tier, catalog) {
|
|
1237
|
+
const ids = /* @__PURE__ */ new Map();
|
|
1238
|
+
for (const entry of catalog ?? []) {
|
|
1239
|
+
for (const id2 of [entry.resolvedModel, entry.code]) {
|
|
1240
|
+
if (typeof id2 === "string" && tierVersion(tier, id2) && !ids.has(id2)) {
|
|
1241
|
+
ids.set(id2, entry.code === id2 && entry.value ? entry.value : id2);
|
|
1242
|
+
}
|
|
1243
|
+
}
|
|
1244
|
+
}
|
|
1245
|
+
return ids;
|
|
1246
|
+
}
|
|
1247
|
+
function entryRunnable(entry, ctx, catalogIds) {
|
|
1248
|
+
if (catalogIds.has(entry.model)) return true;
|
|
1249
|
+
const requires = entry.requires;
|
|
1250
|
+
{
|
|
1251
|
+
return !!requires?.capability && (ctx.capabilities ?? []).includes(requires.capability);
|
|
1252
|
+
}
|
|
1253
|
+
}
|
|
1254
|
+
function getLatestModelTier(table, agent) {
|
|
1255
|
+
if (agent !== "claude" && agent !== "codex" && agent !== "gemini") return null;
|
|
1256
|
+
const tier = table?.agents?.[agent] ?? BUNDLED_LATEST_MODELS.agents[agent];
|
|
1257
|
+
return tier && compilePattern(tier.pattern) ? tier : BUNDLED_LATEST_MODELS.agents[agent] ?? null;
|
|
1258
|
+
}
|
|
1259
|
+
function resolveLatestModel(table, agent, ctx) {
|
|
1260
|
+
const tier = getLatestModelTier(table, agent);
|
|
1261
|
+
if (!tier) return { model: null, newest: null, label: null, limited: false, configured: null };
|
|
1262
|
+
const catalogIds = catalogTierIds(tier, ctx.catalog);
|
|
1263
|
+
const labels = /* @__PURE__ */ new Map();
|
|
1264
|
+
const known = [];
|
|
1265
|
+
const runnable = [];
|
|
1266
|
+
for (const entry of tier.models) {
|
|
1267
|
+
if (!tierVersion(tier, entry.model)) continue;
|
|
1268
|
+
labels.set(entry.model, entry.label ?? entry.model);
|
|
1269
|
+
known.push(entry.model);
|
|
1270
|
+
if (entryRunnable(entry, ctx, catalogIds)) runnable.push(entry.model);
|
|
1271
|
+
}
|
|
1272
|
+
for (const [id2, label] of catalogIds) {
|
|
1273
|
+
if (!labels.has(id2)) labels.set(id2, label);
|
|
1274
|
+
known.push(id2);
|
|
1275
|
+
runnable.push(id2);
|
|
1276
|
+
}
|
|
1277
|
+
const newestOf = (ids) => {
|
|
1278
|
+
let best = null;
|
|
1279
|
+
for (const id2 of ids) {
|
|
1280
|
+
const version2 = tierVersion(tier, id2);
|
|
1281
|
+
if (!best || compareTierVersions(version2, best.version) > 0) best = { id: id2, version: version2 };
|
|
1282
|
+
}
|
|
1283
|
+
return best?.id ?? null;
|
|
1284
|
+
};
|
|
1285
|
+
const newest = newestOf(known);
|
|
1286
|
+
if (MACHINE_CONFIG_AGENTS.includes(agent ?? "")) {
|
|
1287
|
+
const configured = typeof ctx.configuredModel === "string" && ctx.configuredModel.trim() ? ctx.configuredModel.trim() : null;
|
|
1288
|
+
if (configured || ctx.configuredModel === void 0) {
|
|
1289
|
+
return { model: null, newest, label: configured, limited: false, configured };
|
|
1290
|
+
}
|
|
1291
|
+
}
|
|
1292
|
+
const model = newestOf(runnable);
|
|
1293
|
+
const sameVersion = model !== null && newest !== null && compareTierVersions(tierVersion(tier, model), tierVersion(tier, newest)) === 0;
|
|
1294
|
+
return {
|
|
1295
|
+
model,
|
|
1296
|
+
newest,
|
|
1297
|
+
label: model ? labels.get(model) ?? model : null,
|
|
1298
|
+
limited: newest !== null && !sameVersion,
|
|
1299
|
+
configured: null
|
|
1300
|
+
};
|
|
1301
|
+
}
|
|
1302
|
+
function parseLatestModelTable(value) {
|
|
1303
|
+
const parsed = LatestModelTableSchema.safeParse(value);
|
|
1304
|
+
if (!parsed.success) return null;
|
|
1305
|
+
for (const agent of LATEST_MODEL_AGENTS) {
|
|
1306
|
+
const tier = parsed.data.agents[agent];
|
|
1307
|
+
if (tier && !compilePattern(tier.pattern)) return null;
|
|
1308
|
+
}
|
|
1309
|
+
return parsed.data;
|
|
1116
1310
|
}
|
|
1117
1311
|
const AGENT_CODE_DEFAULTS = {
|
|
1118
1312
|
// The Claude UI key for YOLO is `bypassPermissions`; the CLI also accepts
|
|
1119
1313
|
// `yolo` and maps it to the Claude SDK's bypass mode.
|
|
1120
|
-
// model
|
|
1121
|
-
//
|
|
1122
|
-
//
|
|
1123
|
-
//
|
|
1124
|
-
|
|
1125
|
-
|
|
1126
|
-
|
|
1314
|
+
// model: `latest` (B-844) = the newest model of the agent's tier that the
|
|
1315
|
+
// session's wrapper can run, resolved at send time (modelLatest.ts) and
|
|
1316
|
+
// never sent as is. Today: Claude → claude-opus-5-5 (pinned id, not the
|
|
1317
|
+
// `opus` alias), Codex → gpt-6.1-sol on Codex >= 0.160, Gemini → the
|
|
1318
|
+
// newest pro its session catalog lists. effort null = don't send effort.
|
|
1319
|
+
claude: { permissionMode: "bypassPermissions", modelMode: LATEST_MODEL_MODE, effortLevel: null },
|
|
1320
|
+
codex: { permissionMode: "yolo", modelMode: LATEST_MODEL_MODE, effortLevel: "medium" },
|
|
1321
|
+
gemini: { permissionMode: "default", modelMode: LATEST_MODEL_MODE, effortLevel: null },
|
|
1127
1322
|
openclaw: { permissionMode: "default", modelMode: "default", effortLevel: null },
|
|
1128
1323
|
// pi: the runner keeps Claude's permission vocabulary (B-350 — HAPPY_PERMISSION_MODE +
|
|
1129
1324
|
// session-modes file, enforced by the pi-side gate; `bypassPermissions` = auto-allow every
|
|
@@ -1490,6 +1685,7 @@ exports.AutomationPrecheckSchema = AutomationPrecheckSchema;
|
|
|
1490
1685
|
exports.AutomationTriggerSchema = AutomationTriggerSchema;
|
|
1491
1686
|
exports.BUILTIN_TODO_DISCOVERY = BUILTIN_TODO_DISCOVERY;
|
|
1492
1687
|
exports.BUILTIN_TODO_SKILL = BUILTIN_TODO_SKILL;
|
|
1688
|
+
exports.CODEX_COMPACT_CAPABILITY = CODEX_COMPACT_CAPABILITY;
|
|
1493
1689
|
exports.CODEX_STEER_CAPABILITY = CODEX_STEER_CAPABILITY;
|
|
1494
1690
|
exports.HARNESS_INSTALL_CAPABILITY_VERSION = HARNESS_INSTALL_CAPABILITY_VERSION;
|
|
1495
1691
|
exports.OwnerBoardListInputSchema = OwnerBoardListInputSchema;
|
|
@@ -1509,11 +1705,12 @@ exports.createEnvelope = createEnvelope;
|
|
|
1509
1705
|
exports.getAgentCodeDefaults = getAgentCodeDefaults;
|
|
1510
1706
|
exports.isAttentionBoardLocalId = isAttentionBoardLocalId;
|
|
1511
1707
|
exports.isAutomationRunTerminal = isAutomationRunTerminal;
|
|
1512
|
-
exports.isClaudeOpus55Model = isClaudeOpus55Model;
|
|
1513
1708
|
exports.isHarnessInstallId = isHarnessInstallId;
|
|
1514
1709
|
exports.isInsideTeamWorktree = isInsideTeamWorktree;
|
|
1710
|
+
exports.isLatestModelMode = isLatestModelMode;
|
|
1515
1711
|
exports.normalizeAgentKey = normalizeAgentKey;
|
|
1516
1712
|
exports.ownerBoardPostToRest = ownerBoardPostToRest;
|
|
1713
|
+
exports.parseLatestModelTable = parseLatestModelTable;
|
|
1517
1714
|
exports.rebaseTeamWorktreePath = rebaseTeamWorktreePath;
|
|
1715
|
+
exports.resolveLatestModel = resolveLatestModel;
|
|
1518
1716
|
exports.streamKeyOf = streamKeyOf;
|
|
1519
|
-
exports.supportsClaudeOpus55 = supportsClaudeOpus55;
|
|
@@ -1,92 +1,93 @@
|
|
|
1
|
-
import { D as DefaultTransport, A as AcpBackend, i as isAgentExitError, a as acpNoticeMessage } from './AcpBackend-
|
|
2
|
-
export { b as DEFAULT_IDLE_TIMEOUT_MS, c as DEFAULT_TOOL_CALL_TIMEOUT_MS, e as extractErrorDetail, f as formatDuration, d as formatDurationMinutes, h as handleAgentMessageChunk, g as handleAgentThoughtChunk, j as handleLegacyMessageChunk, k as handlePlanUpdate, l as handleThinkingUpdate, m as handleToolCall, n as handleToolCallUpdate, p as parseArgsFromContent } from './AcpBackend-
|
|
3
|
-
import { l as logger } from './logger-
|
|
4
|
-
import { A as AcpSessionManager } from './AcpSessionManager-
|
|
5
|
-
import {
|
|
6
|
-
import { h as hashObject, s as startHappyServer, r as readPiModelsJson, a as resolvePiContextUsage, c as createProjectInjector } from './deterministicJson-
|
|
1
|
+
import { D as DefaultTransport, A as AcpBackend, i as isAgentExitError, a as acpNoticeMessage } from './AcpBackend-fj16v_cf.mjs';
|
|
2
|
+
export { b as DEFAULT_IDLE_TIMEOUT_MS, c as DEFAULT_TOOL_CALL_TIMEOUT_MS, e as extractErrorDetail, f as formatDuration, d as formatDurationMinutes, h as handleAgentMessageChunk, g as handleAgentThoughtChunk, j as handleLegacyMessageChunk, k as handlePlanUpdate, l as handleThinkingUpdate, m as handleToolCall, n as handleToolCallUpdate, p as parseArgsFromContent } from './AcpBackend-fj16v_cf.mjs';
|
|
3
|
+
import { l as logger } from './logger-DOKH3Zbh.mjs';
|
|
4
|
+
import { A as AcpSessionManager } from './AcpSessionManager-BZPmUDL5.mjs';
|
|
5
|
+
import { w as PI_STEER_CAPABILITY, j as BUILTIN_TODO_DISCOVERY, P as PROMPT_QUEUE_CAPABILITY, a as PROJECT_SESSION_CAPABILITY } from './index-WKyN-bNy.mjs';
|
|
6
|
+
import { h as hashObject, s as startHappyServer, r as readPiModelsJson, a as resolvePiContextUsage, c as createProjectInjector } from './deterministicJson-BMwgK21e.mjs';
|
|
7
|
+
import { c as compactCommandText, C as COMPACT_UNSUPPORTED_NOTICE } from './specialCommands-MXUN0wfI.mjs';
|
|
7
8
|
import { r as registerAgentAttachmentDownloads } from './agentAttachments-M_B5qEF2.mjs';
|
|
8
|
-
import { c as configuration } from './configuration-
|
|
9
|
-
import { a as stageClaudeAttachments, b as appendStagedAttachmentsToPrompt, C as CLAUDE_ATTACHMENT_KINDS } from './attachmentContent-
|
|
10
|
-
import { p as preparePiTeamsRuntime } from './piRuntime-
|
|
9
|
+
import { c as configuration } from './configuration-1FabKklB.mjs';
|
|
10
|
+
import { a as stageClaudeAttachments, b as appendStagedAttachmentsToPrompt, C as CLAUDE_ATTACHMENT_KINDS } from './attachmentContent-CcIdMfAx.mjs';
|
|
11
|
+
import { p as preparePiTeamsRuntime } from './piRuntime-BMAFpIBV.mjs';
|
|
11
12
|
import { randomUUID } from 'node:crypto';
|
|
12
13
|
import { join } from 'node:path';
|
|
13
|
-
import { c as connectionState, A as ApiClient } from './api-
|
|
14
|
-
import { s as sharedProjectsClient } from './client-
|
|
15
|
-
import { M as MessageQueue2, r as registerKillSessionHandler } from './registerKillSessionHandler-
|
|
16
|
-
import { r as readSettings } from './persistence-
|
|
17
|
-
import { g as getInitialMachineMetadata } from './machineMetadata-
|
|
18
|
-
import { c as createSessionMetadata } from './createSessionMetadata-
|
|
19
|
-
import { s as setupOfflineReconnection } from './setupOfflineReconnection-
|
|
20
|
-
import { c as createSessionForStartup } from './startupSessionCreate-
|
|
21
|
-
import { n as notifyDaemonSessionStarted, k as reportSessionEditToDaemon } from './controlClient-
|
|
14
|
+
import { c as connectionState, A as ApiClient } from './api-B0yN68XH.mjs';
|
|
15
|
+
import { s as sharedProjectsClient } from './client-B161HwAk.mjs';
|
|
16
|
+
import { M as MessageQueue2, r as registerKillSessionHandler } from './registerKillSessionHandler-CSCTRIbI.mjs';
|
|
17
|
+
import { r as readSettings } from './persistence-0INrP3aB.mjs';
|
|
18
|
+
import { g as getInitialMachineMetadata } from './machineMetadata-D-5qeIqd.mjs';
|
|
19
|
+
import { c as createSessionMetadata } from './createSessionMetadata-CG6Klinp.mjs';
|
|
20
|
+
import { s as setupOfflineReconnection } from './setupOfflineReconnection-B7I8R2Ex.mjs';
|
|
21
|
+
import { c as createSessionForStartup } from './startupSessionCreate-npXe2TdN.mjs';
|
|
22
|
+
import { n as notifyDaemonSessionStarted, k as reportSessionEditToDaemon } from './controlClient-DwNnNAUx.mjs';
|
|
22
23
|
import { d as decodeBase64, e as encodeBase64 } from './authRelay-DhQhkBvX.mjs';
|
|
23
|
-
import { c as claimSessionOrExit, a as applyServerSnapshot, w as withoutServerSnapshot, m as mergeReconnectMetadata } from './sessionLock-
|
|
24
|
-
import { r as readAcpReconnectEnv, n as normalizeAcpPermissionMode, p as piRestartNotice, w as writeSessionModeFile, a as removeSessionModeFile } from './acpSessionResume-
|
|
25
|
-
import { S as StreamRelay } from './streamRelay-
|
|
24
|
+
import { c as claimSessionOrExit, a as applyServerSnapshot, w as withoutServerSnapshot, m as mergeReconnectMetadata } from './sessionLock-tEFvFXLD.mjs';
|
|
25
|
+
import { r as readAcpReconnectEnv, n as normalizeAcpPermissionMode, p as piRestartNotice, w as writeSessionModeFile, a as removeSessionModeFile } from './acpSessionResume-Dxl1LRAT.mjs';
|
|
26
|
+
import { S as StreamRelay } from './streamRelay-CqBynIon.mjs';
|
|
26
27
|
import { p as projectPath } from './projectPath-BTBIMB57.mjs';
|
|
27
|
-
import { B as BasePermissionHandler } from './BasePermissionHandler-
|
|
28
|
-
import { T as TitleGenerator } from './titleGenerator-
|
|
28
|
+
import { B as BasePermissionHandler } from './BasePermissionHandler-CVtH-snr.mjs';
|
|
29
|
+
import { T as TitleGenerator } from './titleGenerator-DWRVdqMU.mjs';
|
|
29
30
|
import { E as EditReportThrottle, e as extractAcpEditPaths } from './editPaths-BVfS_FFL.mjs';
|
|
31
|
+
import { readFileSync } from 'node:fs';
|
|
32
|
+
import { homedir } from 'node:os';
|
|
30
33
|
import 'node:child_process';
|
|
31
34
|
import '@agentclientprotocol/sdk';
|
|
32
|
-
import './time-
|
|
35
|
+
import './time-CUK37wiV.mjs';
|
|
33
36
|
import './contentLogMetadata-BlWI0egu.mjs';
|
|
34
37
|
import './processTree-CP5IvQ2Z.mjs';
|
|
35
|
-
import './package-
|
|
38
|
+
import './package-DTcaIhjW.mjs';
|
|
36
39
|
import 'chalk';
|
|
37
40
|
import 'node:util';
|
|
38
|
-
import 'node:fs';
|
|
39
41
|
import '@paralleldrive/cuid2';
|
|
40
42
|
import 'zod';
|
|
41
43
|
import './prompt-QHuFx9j6.mjs';
|
|
42
|
-
import './reportProgressTool-
|
|
43
|
-
import './client-
|
|
44
|
+
import './reportProgressTool-B7zmX7NJ.mjs';
|
|
45
|
+
import './client-CvjjadIE.mjs';
|
|
44
46
|
import './precheckCompat-DeEbilbr.mjs';
|
|
45
47
|
import './agentGuidance-BDYt2Qy2.mjs';
|
|
46
48
|
import './trimIdent-BAjmv_TG.mjs';
|
|
47
|
-
import 'node:os';
|
|
48
49
|
import './pi-CqyoZMjI.mjs';
|
|
49
50
|
import './fileStore-5qpetZS0.mjs';
|
|
50
51
|
import 'node:fs/promises';
|
|
51
|
-
import './client-
|
|
52
|
-
import './context-
|
|
53
|
-
import './sessionOps-
|
|
52
|
+
import './client-C9Ecbtko.mjs';
|
|
53
|
+
import './context-BgxbXWKS.mjs';
|
|
54
|
+
import './sessionOps-CljctDs5.mjs';
|
|
54
55
|
import 'axios';
|
|
55
56
|
import 'socket.io-client';
|
|
56
57
|
import './backgroundTaskActivity-8PdPxrvy.mjs';
|
|
57
58
|
import './resources-CLP_MpK4.mjs';
|
|
58
|
-
import './tools-
|
|
59
|
-
import './peerTools-
|
|
59
|
+
import './tools-CCIEAVbB.mjs';
|
|
60
|
+
import './peerTools-BtrUnSwz.mjs';
|
|
60
61
|
import './ids-DU6sLx4C.mjs';
|
|
61
|
-
import './remoteSessionClient-
|
|
62
|
+
import './remoteSessionClient-Vfj_5g2-.mjs';
|
|
62
63
|
import '@modelcontextprotocol/sdk/server/mcp.js';
|
|
63
64
|
import 'node:http';
|
|
64
65
|
import '@modelcontextprotocol/sdk/server/streamableHttp.js';
|
|
65
66
|
import './limits-DIo7rEBR.mjs';
|
|
66
|
-
import './downloadTarget-
|
|
67
|
+
import './downloadTarget-C6tqaXGm.mjs';
|
|
67
68
|
import './terminals-Dlg0x3nY.mjs';
|
|
68
69
|
import './terminalTitleSuggest-CeKsX_V6.mjs';
|
|
69
70
|
import './tmuxSocket-B8Yx20sT.mjs';
|
|
70
|
-
import './bootstrap-
|
|
71
|
+
import './bootstrap-DfXwkUQb.mjs';
|
|
71
72
|
import './webPanels-B2_C2-3g.mjs';
|
|
72
|
-
import './pushNotifications-
|
|
73
|
+
import './pushNotifications-Cq1s8YVK.mjs';
|
|
73
74
|
import './previewPath-CXN4Vag0.mjs';
|
|
74
75
|
import 'crypto';
|
|
75
|
-
import './lidState-
|
|
76
|
+
import './lidState-q5Its2Hm.mjs';
|
|
76
77
|
import 'os';
|
|
77
78
|
import 'child_process';
|
|
78
79
|
import 'node:events';
|
|
79
|
-
import './registerCommonHandlers-
|
|
80
|
+
import './registerCommonHandlers-DWkTysjD.mjs';
|
|
80
81
|
import 'util';
|
|
81
82
|
import 'fs/promises';
|
|
82
83
|
import 'path';
|
|
83
84
|
import 'cross-spawn';
|
|
84
|
-
import './sync-
|
|
85
|
+
import './sync-BvDMkKAN.mjs';
|
|
85
86
|
import 'tweetnacl';
|
|
86
87
|
import './types-CkqAACXx.mjs';
|
|
87
88
|
import './detectCLI-CSGMlV51.mjs';
|
|
88
89
|
import 'fs';
|
|
89
|
-
import './localHappyAgentAuth-
|
|
90
|
+
import './localHappyAgentAuth-C_G5u5lY.mjs';
|
|
90
91
|
import './fsMkdir-DumgLTzR.mjs';
|
|
91
92
|
import './processTreeSnapshot-CuLJDNC-.mjs';
|
|
92
93
|
import 'url';
|
|
@@ -118,6 +119,16 @@ async function buildAcpPrompt(message, opts) {
|
|
|
118
119
|
|
|
119
120
|
${opts.todoNote}`, slashCommand: false };
|
|
120
121
|
}
|
|
122
|
+
function routeAcpUserText(text, advertisedCommands) {
|
|
123
|
+
const compact = compactCommandText(text);
|
|
124
|
+
if (compact !== null) {
|
|
125
|
+
if (advertisedCommands && advertisedCommands.length > 0 && !advertisedCommands.includes("compact")) {
|
|
126
|
+
return { kind: "unsupported", notice: COMPACT_UNSUPPORTED_NOTICE };
|
|
127
|
+
}
|
|
128
|
+
return { kind: "command", text: compact };
|
|
129
|
+
}
|
|
130
|
+
return isAgentSlashCommand(text) ? { kind: "command", text } : { kind: "prompt", text };
|
|
131
|
+
}
|
|
121
132
|
|
|
122
133
|
const MAX_DETAIL_CHARS = 400;
|
|
123
134
|
function detailOf(error) {
|
|
@@ -143,9 +154,11 @@ function oneLine(text) {
|
|
|
143
154
|
}
|
|
144
155
|
function describeAcpTurnFailure(agentName, error) {
|
|
145
156
|
if (isAgentExitError(error)) {
|
|
146
|
-
|
|
157
|
+
const detail2 = oneLine(error.message);
|
|
158
|
+
return { message: `Process exited unexpectedly: ${detail2}`, error: detail2, exited: true };
|
|
147
159
|
}
|
|
148
|
-
|
|
160
|
+
const detail = oneLine(detailOf(error));
|
|
161
|
+
return { message: `${agentName} error: ${detail}`, error: detail, exited: false };
|
|
149
162
|
}
|
|
150
163
|
|
|
151
164
|
const OUT_OF_TURN_QUIET_MS = 6e4;
|
|
@@ -422,6 +435,26 @@ function mergeAcpSessionConfigIntoMetadata(metadata, snapshot) {
|
|
|
422
435
|
return next;
|
|
423
436
|
}
|
|
424
437
|
|
|
438
|
+
function readGeminiConfiguredModel(opts = {}) {
|
|
439
|
+
const env = opts.env ?? process.env;
|
|
440
|
+
const fromEnv = env.GEMINI_MODEL?.trim();
|
|
441
|
+
if (fromEnv) return fromEnv;
|
|
442
|
+
const read = opts.readFile ?? ((path) => readFileSync(path, "utf8"));
|
|
443
|
+
const home = env.GEMINI_CLI_HOME?.trim() || opts.home || homedir();
|
|
444
|
+
for (const file of [join(opts.cwd ?? process.cwd(), ".gemini", "settings.json"), join(home, ".gemini", "settings.json")]) {
|
|
445
|
+
let parsed;
|
|
446
|
+
try {
|
|
447
|
+
parsed = JSON.parse(read(file));
|
|
448
|
+
} catch {
|
|
449
|
+
continue;
|
|
450
|
+
}
|
|
451
|
+
const model = parsed?.model;
|
|
452
|
+
const name = typeof model === "string" ? model : model?.name;
|
|
453
|
+
if (typeof name === "string" && name.trim()) return name.trim();
|
|
454
|
+
}
|
|
455
|
+
return null;
|
|
456
|
+
}
|
|
457
|
+
|
|
425
458
|
const ACP_EVENT_PREVIEW_CHARS = 240;
|
|
426
459
|
const ACP_RAW_PREVIEW_CHARS = 2e3;
|
|
427
460
|
const ACP_COLOR_RESET = "\x1B[0m";
|
|
@@ -796,6 +829,7 @@ async function runAcp(opts) {
|
|
|
796
829
|
capabilities: [PROMPT_QUEUE_CAPABILITY, PROJECT_SESSION_CAPABILITY]
|
|
797
830
|
});
|
|
798
831
|
metadata.attachmentKinds = [];
|
|
832
|
+
if (opts.agentName === "gemini") metadata.configuredModel = readGeminiConfiguredModel();
|
|
799
833
|
const reconnect = readAcpReconnectEnv(process.env);
|
|
800
834
|
let response;
|
|
801
835
|
if (reconnect) {
|
|
@@ -894,6 +928,7 @@ async function runAcp(opts) {
|
|
|
894
928
|
let legacyModes = null;
|
|
895
929
|
let legacyModels = null;
|
|
896
930
|
let sawSlashCommands = false;
|
|
931
|
+
let agentCommands = null;
|
|
897
932
|
let sawModes = false;
|
|
898
933
|
let sawModels = false;
|
|
899
934
|
const initialPermissionMode = opts.permissionMode ?? resumedPermissionMode ?? "default";
|
|
@@ -1146,6 +1181,7 @@ async function runAcp(opts) {
|
|
|
1146
1181
|
const commands = msg.payload;
|
|
1147
1182
|
const commandNames = commands.map((c) => c.name);
|
|
1148
1183
|
sawSlashCommands = commands.length > 0;
|
|
1184
|
+
agentCommands = commandNames;
|
|
1149
1185
|
if (verbose) {
|
|
1150
1186
|
logAcp("muted", `Outgoing slash commands from ${opts.agentName} (${commands.length}):`);
|
|
1151
1187
|
for (const command of commands) {
|
|
@@ -1318,6 +1354,19 @@ async function runAcp(opts) {
|
|
|
1318
1354
|
if (message.meta && Object.prototype.hasOwnProperty.call(message.meta, "effort")) {
|
|
1319
1355
|
currentEffort = message.meta.effort ?? null;
|
|
1320
1356
|
}
|
|
1357
|
+
const route = routeAcpUserText(message.content.text, agentCommands);
|
|
1358
|
+
if (route.kind === "unsupported") {
|
|
1359
|
+
session.sendSessionEvent({ type: "message", message: route.notice });
|
|
1360
|
+
return;
|
|
1361
|
+
}
|
|
1362
|
+
if (route.kind === "command") {
|
|
1363
|
+
messageQueue.pushIsolate(route.text, {
|
|
1364
|
+
permissionMode: currentPermissionMode,
|
|
1365
|
+
model: currentModel,
|
|
1366
|
+
effort: currentEffort
|
|
1367
|
+
}, attachments, message.localKey);
|
|
1368
|
+
return;
|
|
1369
|
+
}
|
|
1321
1370
|
if (message.meta?.delivery === "steer" && piSteer?.ready && thinking && !attachments?.length) {
|
|
1322
1371
|
if (await piSteer.offer(message.content.text, PI_STEER_OFFER_TIMEOUT_MS)) {
|
|
1323
1372
|
logger.debug(`[${opts.agentName}] User message steered into the running turn`);
|
|
@@ -1507,7 +1556,7 @@ async function runAcp(opts) {
|
|
|
1507
1556
|
} catch (error) {
|
|
1508
1557
|
const failure = describeAcpTurnFailure(opts.agentName, error);
|
|
1509
1558
|
session.sendSessionEvent({ type: "message", message: failure.message });
|
|
1510
|
-
sendEnvelopes(sessionManager.endTurn("failed"));
|
|
1559
|
+
sendEnvelopes(sessionManager.endTurn("failed", failure.error));
|
|
1511
1560
|
streamRelay.endTurn();
|
|
1512
1561
|
setThinking(false);
|
|
1513
1562
|
session.sendSessionEvent({ type: "ready" });
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { p as packageJson } from './package-
|
|
1
|
+
import { p as packageJson } from './package-DTcaIhjW.mjs';
|
|
2
2
|
import module$1 from 'node:module';
|
|
3
3
|
import { existsSync } from 'node:fs';
|
|
4
4
|
import { readdir, rm } from 'node:fs/promises';
|
|
@@ -57,10 +57,10 @@ async function pruneStaleCompileCaches(happyHomeDir, cliVersion) {
|
|
|
57
57
|
async function run(args) {
|
|
58
58
|
enableCompileCacheIfPossible(packageJson.version);
|
|
59
59
|
if (isStandaloneVersionRequest(args) || isSelfCheckRequest(args)) {
|
|
60
|
-
const { selfCheckMain } = await import('./selfCheck-
|
|
60
|
+
const { selfCheckMain } = await import('./selfCheck-BQ_H2Sns.mjs');
|
|
61
61
|
process.exit(await selfCheckMain({ verbose: isSelfCheckRequest(args) }));
|
|
62
62
|
}
|
|
63
|
-
const { main } = await import('./main-
|
|
63
|
+
const { main } = await import('./main-DODz8DQE.mjs');
|
|
64
64
|
await main();
|
|
65
65
|
}
|
|
66
66
|
void run(process.argv.slice(2));
|