very-happy-cli 0.2.186 → 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-ConXUH67.mjs → AcpBackend-2loP7MpF.mjs} +3 -3
- package/dist/{AcpBackend-aVv-_nH_.cjs → AcpBackend-B8AYkp5n.cjs} +3 -3
- package/dist/{AcpSessionManager-BxD1AQ8L.mjs → AcpSessionManager-C17doAoR.mjs} +2 -2
- package/dist/{AcpSessionManager-aRdzf_6R.cjs → AcpSessionManager-CLqo9R9Y.cjs} +2 -2
- package/dist/{BasePermissionHandler-BsOLZCNB.cjs → BasePermissionHandler-C8UEcFz0.cjs} +1 -1
- package/dist/{BasePermissionHandler-Hj7Qregq.mjs → BasePermissionHandler-CrfyUmqO.mjs} +1 -1
- package/dist/{acpSessionResume-CKacrrHV.mjs → acpSessionResume-F705a1cF.mjs} +1 -1
- package/dist/{acpSessionResume-CpPNoxaW.cjs → acpSessionResume-OuYlLGxL.cjs} +1 -1
- package/dist/{agentHome-CawmLuWV.mjs → agentHome-Dc7LYF3d.mjs} +4 -4
- package/dist/{agentHome-VS7FrFQZ.cjs → agentHome-DsKHJ_Sf.cjs} +4 -4
- package/dist/{api-DjqQTT16.cjs → api-BOqjYd5r.cjs} +10 -10
- package/dist/{api-DUFy21Nf.mjs → api-DNKa7kVy.mjs} +10 -10
- package/dist/{apiMachine-D2BrVBYu.cjs → apiMachine--rcPpMmt.cjs} +14 -14
- package/dist/{apiMachine-B0sBCHNZ.mjs → apiMachine-Di1G9ECW.mjs} +14 -14
- package/dist/{attachmentContent-2kInPZrP.cjs → attachmentContent-BFRMLong.cjs} +2 -2
- package/dist/{attachmentContent-D01-pLOB.mjs → attachmentContent-C9S4ekAz.mjs} +2 -2
- package/dist/{auth-DP3eN2Fv.mjs → auth-BNhhk2Fr.mjs} +5 -5
- package/dist/{auth-B-CqTcVh.mjs → auth-Bzwo_vOM.mjs} +8 -8
- package/dist/{auth-CujfCIv-.cjs → auth-CQtfznF0.cjs} +8 -8
- package/dist/{auth-CImUXAjH.cjs → auth-CXmI92aj.cjs} +5 -5
- package/dist/{auto-D4KRQIBu.mjs → auto-DHYOLnXB.mjs} +19 -19
- package/dist/{auto-oWgZl7mM.cjs → auto-DXLdaX5O.cjs} +19 -19
- package/dist/{bootstrap-MFmMruyB.mjs → bootstrap-Di38SnpN.mjs} +2 -2
- package/dist/{bootstrap-B7YvJcVK.cjs → bootstrap-eJ1l7VYl.cjs} +2 -2
- package/dist/{browser-CfFbN1Us.mjs → browser-6Cg7G6bb.mjs} +1 -1
- package/dist/{browser-C19iD31j.cjs → browser-D3uBFRQu.cjs} +1 -1
- package/dist/{claudeLocal-C4A7-BmS.cjs → claudeLocal-BBaE4QF_.cjs} +9 -8
- package/dist/{claudeLocal-C6wNx9qH.mjs → claudeLocal-CqaEs-81.mjs} +7 -6
- package/dist/{claudeLocalLauncher-DdPfufcS.mjs → claudeLocalLauncher-BDUPxtsI.mjs} +11 -11
- package/dist/{claudeLocalLauncher-BfCKs7Le.cjs → claudeLocalLauncher-wPxKtH_P.cjs} +11 -11
- package/dist/{claudeSessionFork-B8NjdHYD.cjs → claudeSessionFork-CmY25Fl3.cjs} +1 -1
- package/dist/{claudeSessionFork-D8XT48Lf.mjs → claudeSessionFork-DzWFzj9m.mjs} +1 -1
- package/dist/{client-jAdkYZRf.cjs → client-C2HcMqRF.cjs} +14 -5
- package/dist/{client-DAnQqPmc.mjs → client-DWws_aQK.mjs} +2 -2
- package/dist/{client-BfGuTBMO.mjs → client-DcDE6Ifk.mjs} +2 -2
- package/dist/{client-CMIhQ32m.cjs → client-DmY03OZZ.cjs} +2 -2
- package/dist/{client-CTNxuHVc.cjs → client-agH03Irm.cjs} +2 -2
- package/dist/{client-CKM07bJH.mjs → client-qJ0y8fus.mjs} +14 -5
- package/dist/codex/happyMcpStdioBridge.cjs +18 -17
- package/dist/codex/happyMcpStdioBridge.mjs +18 -17
- package/dist/{codexAppServerClient-DhOC61k9.mjs → codexAppServerClient-DgE99i7X.mjs} +39 -5
- package/dist/{codexAppServerClient-Dv1Mh3MS.cjs → codexAppServerClient-DwzC8LR0.cjs} +39 -5
- package/dist/{codexCommand-CWrFt3Ne.cjs → codexCommand-1vFEA1KT.cjs} +118 -60
- package/dist/{codexCommand-D3_i93Rm.mjs → codexCommand-DUSVzbKh.mjs} +115 -57
- package/dist/{codexTermination-B08GgahL.mjs → codexTermination-Bybovr2z.mjs} +1 -1
- package/dist/{codexTermination-DErS0cGt.cjs → codexTermination-DuDPyBRR.cjs} +1 -1
- package/dist/{config-D3OBduhj.mjs → config-BrzZ0O-6.mjs} +3 -3
- package/dist/{config-D_aj3xgw.cjs → config-C4xOL5bH.cjs} +3 -3
- package/dist/{configuration-DbCHeEeP.mjs → configuration-BZHpFD7K.mjs} +1 -1
- package/dist/{configuration-CI0GWwaT.cjs → configuration-DyPW9mVa.cjs} +1 -1
- package/dist/{connect-BuwVpjkZ.mjs → connect-Cw_INlj8.mjs} +13 -13
- package/dist/{connect-839tEkPN.cjs → connect-DurKwMEo.cjs} +13 -13
- package/dist/{context-zhirgqSw.cjs → context-2xDvjkQp.cjs} +1 -1
- package/dist/{context-D2Y_qLs0.mjs → context-t7YV0aZc.mjs} +1 -1
- package/dist/{controlClient-Dv80mB_j.mjs → controlClient-Bw56NIrj.mjs} +4 -4
- package/dist/{controlClient-BIi1tzEo.cjs → controlClient-DvFaPsg6.cjs} +3 -3
- package/dist/{createSessionMetadata-Dqy_DfoF.mjs → createSessionMetadata-Dn5BkLfU.mjs} +2 -2
- package/dist/{createSessionMetadata-DT24NjY2.cjs → createSessionMetadata-Dpg6bV6f.cjs} +2 -2
- package/dist/{defaultPermissionMode-yR27mevc.mjs → defaultPermissionMode-DMTnlccv.mjs} +2 -2
- package/dist/{defaultPermissionMode-BYqJbPhc.cjs → defaultPermissionMode-Dlm0q1m0.cjs} +2 -2
- package/dist/{deterministicJson-COiJcmUR.mjs → deterministicJson-CsRckxVq.mjs} +14 -14
- package/dist/{deterministicJson-CoWlyn_X.cjs → deterministicJson-D0BrV1FD.cjs} +14 -14
- package/dist/{doctor-Ymj096qP.mjs → doctor-B4HQiW6j.mjs} +7 -7
- package/dist/{doctor-DI6aIOne.cjs → doctor-CYe4d9kU.cjs} +7 -7
- package/dist/{downloadTarget-BOXHrxbm.cjs → downloadTarget-CuhBVvuC.cjs} +6 -6
- package/dist/{downloadTarget-DRXCRDub.mjs → downloadTarget-tYMV_VHo.mjs} +6 -6
- package/dist/{ensureDaemonRunning-BqNjYnar.cjs → ensureDaemonRunning-Ce3BlWiR.cjs} +5 -5
- package/dist/{ensureDaemonRunning-DTrrXAdz.mjs → ensureDaemonRunning-DVtIG9z7.mjs} +5 -5
- package/dist/{handleResumeCommand-DW_MRgtz.mjs → handleResumeCommand-BU1uMNyv.mjs} +5 -5
- package/dist/{handleResumeCommand-BBKUGhCv.cjs → handleResumeCommand-CLxsmAW0.cjs} +5 -5
- package/dist/{index-Cyu_8WAd.mjs → index-B1OxWiNG.mjs} +3 -3
- package/dist/{index-BumVulwx.cjs → index-BOe6dKnL.cjs} +215 -18
- package/dist/{index-04pYyzsJ.mjs → index-CVHRt3SS.mjs} +4 -4
- package/dist/{index-WW17yjQO.mjs → index-ChX0eVXw.mjs} +92 -46
- package/dist/{index-CmlAXizv.mjs → index-DDz0Ftoy.mjs} +7 -7
- package/dist/{index-D9lJhXUk.cjs → index-DG1kGjkF.cjs} +93 -47
- package/dist/{index-W8wlfp57.cjs → index-DoXbGEAi.cjs} +3 -3
- package/dist/{index-Bq6VHNdk.cjs → index-KwuXqLwe.cjs} +4 -4
- package/dist/{index-B9f1vKcC.mjs → index-WKyN-bNy.mjs} +212 -17
- package/dist/{index-CY573fnz.cjs → index-wWJJAQRk.cjs} +7 -7
- package/dist/index.cjs +2 -2
- package/dist/index.mjs +2 -2
- package/dist/{install-F3rP8tBU.mjs → install-B8O1JpJH.mjs} +1 -1
- package/dist/{install-BATFlr_l.cjs → install-BOHlqewf.cjs} +1 -1
- package/dist/{install-C5XCDwgD.mjs → install-CMa_FOWu.mjs} +3 -3
- package/dist/{install-C1y_g7kj.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-CZ1ggYiB.mjs → lidState-D-lsD1FS.mjs} +1 -1
- package/dist/{lidState-BxHu6dus.cjs → lidState-d1vgQ3n7.cjs} +1 -1
- package/dist/{localHappyAgentAuth-BHklNDKQ.cjs → localHappyAgentAuth-DucSnCg3.cjs} +1 -1
- package/dist/{localHappyAgentAuth-OJk4xDwg.mjs → localHappyAgentAuth-wvDp-nGj.mjs} +1 -1
- package/dist/{logger-L0pLBOLK.cjs → logger-C3vZG6Q0.cjs} +2 -2
- package/dist/{logger-CpaeM90D.mjs → logger-RpzJ4d8V.mjs} +2 -2
- package/dist/{machineMetadata-YeHF4gSY.cjs → machineMetadata-CAvFq1Jg.cjs} +3 -3
- package/dist/{machineMetadata-ukaYmmlK.mjs → machineMetadata-CiQ2_1Mq.mjs} +3 -3
- package/dist/{main-VyiAJXfb.cjs → main-ChpYcFZi.cjs} +46 -46
- package/dist/{main-pkH_VRP-.mjs → main-IPhaImjm.mjs} +46 -46
- package/dist/{mcp-Y8Xsr2Xh.cjs → mcp-2xF232hL.cjs} +15 -15
- package/dist/{mcp-BwoAhEnN.mjs → mcp-CWnMvju6.mjs} +15 -15
- package/dist/{mirrorProtocol-Did0-1jn.cjs → mirrorProtocol-CVzPObON.cjs} +3 -3
- package/dist/{mirrorProtocol-DukUp2Bj.mjs → mirrorProtocol-Dr7fNq8V.mjs} +3 -3
- package/dist/{package-DagIeOhi.mjs → package-CwB8rFJt.mjs} +10 -10
- package/dist/{package-BuATIMpK.cjs → package-Gnf_935w.cjs} +10 -10
- package/dist/{panels-CZ_CRUbM.cjs → panels-DTlTsndU.cjs} +5 -5
- package/dist/{panels-C3dUoUbA.mjs → panels-L1mSkC-y.mjs} +5 -5
- package/dist/{peerTools-CUCqJ83-.mjs → peerTools-2_8Bw9PU.mjs} +5 -5
- package/dist/{peerTools-Cs3Ln6d0.cjs → peerTools-C1E5cQ86.cjs} +5 -5
- package/dist/{persistence-FgtDuVAP.mjs → persistence-Bn4qEbDg.mjs} +2 -2
- package/dist/{persistence-CIzOAWK6.cjs → persistence-CqtjFiD1.cjs} +2 -2
- package/dist/{piRunnerArgs-CJhXFPM9.cjs → piRunnerArgs-BI8yQRBZ.cjs} +1 -1
- package/dist/{piRunnerArgs-YbYkfixz.mjs → piRunnerArgs-DWBb63W9.mjs} +1 -1
- package/dist/{piRuntime-CEzoAYHe.cjs → piRuntime--mQ43MSM.cjs} +2 -2
- package/dist/{piRuntime-CShuw-1A.mjs → piRuntime-Do8oqbm3.mjs} +2 -2
- package/dist/{piTerminal-DVr2W6bI.cjs → piTerminal-BzcvLFsP.cjs} +18 -18
- package/dist/{piTerminal-BvvcgVoW.mjs → piTerminal-GC1KHTYQ.mjs} +18 -18
- package/dist/promptCacheTtl-B8PCzE6k.cjs +76 -0
- package/dist/promptCacheTtl-Ce0TVbrx.mjs +72 -0
- package/dist/{pushNotifications-2CyhYAte.mjs → pushNotifications-BThg4nVd.mjs} +3 -3
- package/dist/{pushNotifications-OtQY-Mfa.cjs → pushNotifications-Bb-QSqXw.cjs} +3 -3
- package/dist/{query-DimRl61I.cjs → query-Bz3pocKH.cjs} +5 -4
- package/dist/{query-B7DvMlYM.mjs → query-CkgIJ_Dy.mjs} +3 -2
- package/dist/{specialCommands-ByrcSYSh.cjs → rateLimitReporter-BkHyvLru.cjs} +3 -55
- package/dist/{specialCommands-B-DAeFrU.mjs → rateLimitReporter-Iw4k3Bbr.mjs} +4 -55
- package/dist/{rateLimitWindows-DwhrA5wy.cjs → rateLimitWindows-Bm_dcQGW.cjs} +1 -1
- package/dist/{rateLimitWindows-C0zbGT7K.mjs → rateLimitWindows-CQ4tIQnx.mjs} +1 -1
- package/dist/{registerCommonHandlers-De54jKz8.cjs → registerCommonHandlers-CIs6H2DV.cjs} +2 -2
- package/dist/{registerCommonHandlers-X9lnO2TF.mjs → registerCommonHandlers-CaWl9ll1.mjs} +2 -2
- package/dist/{remoteSessionClient-9j3N_bzV.cjs → remoteSessionClient-DgUMfPW4.cjs} +5 -5
- package/dist/{remoteSessionClient-BApor-c2.mjs → remoteSessionClient-uPj7omsw.mjs} +5 -5
- package/dist/{reportProgressTool-RR5VkbDf.cjs → reportProgressTool-CaJ8EwLq.cjs} +3 -3
- package/dist/{reportProgressTool-6mDoxKuq.mjs → reportProgressTool-DUEq3xAL.mjs} +3 -3
- package/dist/{resources-CqwHPhdK.cjs → resources-BZ_Be0qM.cjs} +1 -1
- package/dist/{resources-CLdQfe3b.mjs → resources-CLP_MpK4.mjs} +1 -1
- package/dist/{run-CmA3cPD_.mjs → run-DTUJBD6p.mjs} +37 -37
- package/dist/{run-B2ZorDI7.cjs → run-DyyGMqND.cjs} +37 -37
- package/dist/{runClaude-Dk73bQ0n.cjs → runClaude-8JDaPoGQ.cjs} +22 -22
- package/dist/{runClaude-bxwea9mX.mjs → runClaude-DTNvIz2J.mjs} +22 -22
- package/dist/{runClaudeDeps-dVfReVd4.cjs → runClaudeDeps-BeLo5zss.cjs} +84 -55
- package/dist/{runClaudeDeps-DoaYM017.mjs → runClaudeDeps-CgGkgg7e.mjs} +86 -56
- package/dist/{runGemini-BD-wQe5q.cjs → runGemini-BSOdU563.cjs} +55 -51
- package/dist/{runGemini-Dq2iv4UF.mjs → runGemini-eU8UOzfc.mjs} +53 -49
- package/dist/{runOpenClaw-BXLv_bvU.cjs → runOpenClaw-CYyFoGRZ.cjs} +30 -26
- package/dist/{runOpenClaw-C1NB1aLx.mjs → runOpenClaw-D8RZiA1e.mjs} +28 -24
- package/dist/{sandbox-9MIBf8kS.cjs → sandbox-C8zfNX-4.cjs} +4 -4
- package/dist/{sandbox-Dqs_T8Jw.mjs → sandbox-DlPahdhl.mjs} +4 -4
- package/dist/selfCheck-4bcdHPFQ.mjs +86 -0
- package/dist/{selfCheck-CkUezhrg.cjs → selfCheck-D28nvuPJ.cjs} +37 -37
- package/dist/{send-rdhpycNB.cjs → send-C58kX4qz.cjs} +8 -8
- package/dist/{send-4q066vij.mjs → send-DBpv-1eh.mjs} +8 -8
- package/dist/{server-DxTjt1mK.cjs → server-I_CETZzn.cjs} +6 -6
- package/dist/{server-DN6TvjhP.mjs → server-J5K6pOox.mjs} +4 -4
- package/dist/{sessionLock-DOsE5UUf.mjs → sessionLock-C7Wg1RVd.mjs} +3 -3
- package/dist/{sessionLock-h4162Jrf.cjs → sessionLock-DjE7O0LS.cjs} +3 -3
- package/dist/{sessionOps--9p2IzVA.mjs → sessionOps-CYjMT7Ad.mjs} +4 -4
- package/dist/{sessionOps-tmBKG5qg.cjs → sessionOps-DGMpl9NB.cjs} +4 -4
- package/dist/{sessionProvider-B9w7rFDR.cjs → sessionProvider-DVtxrOuM.cjs} +5 -5
- package/dist/{sessionProvider-C6MHJZ9Z.mjs → sessionProvider-TLiFn9kD.mjs} +5 -5
- package/dist/{sessionScanner-Bgvz8Uiy.cjs → sessionScanner-BZ1ZSn6I.cjs} +3 -3
- package/dist/{sessionScanner-B6hzp5R9.mjs → sessionScanner-CknV1IlN.mjs} +3 -3
- package/dist/{sessions-DJMVXKRz.cjs → sessions-CTkBKs5U.cjs} +10 -10
- package/dist/{sessions-iItaUQAF.mjs → sessions-DU4bxkap.mjs} +10 -10
- package/dist/{setupOfflineReconnection-DL4HUMDJ.cjs → setupOfflineReconnection-CQHNuP_0.cjs} +2 -2
- package/dist/{setupOfflineReconnection-DF78nz1N.mjs → setupOfflineReconnection-DaOXnGuH.mjs} +2 -2
- package/dist/{spawn-CL9A8dBJ.cjs → spawn-C0wZc03S.cjs} +67 -25
- package/dist/{spawn-CoYfACsc.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-BWOub_Uf.cjs → spawnHappyCLI-BJUd974I.cjs} +1 -1
- package/dist/{spawnHappyCLI-BcSO1rF6.mjs → spawnHappyCLI-CnyyJk74.mjs} +1 -1
- package/dist/{registerKillSessionHandler-CAif4Uz4.cjs → specialCommands-BsvSoDhC.cjs} +91 -6
- package/dist/{registerKillSessionHandler-CrLsN5m3.mjs → specialCommands-DHU7TNeK.mjs} +88 -7
- package/dist/{startFileWatcher-DVia64Vg.mjs → startFileWatcher-CpO5Mwbr.mjs} +1 -1
- package/dist/{startFileWatcher-BZrpUz7_.cjs → startFileWatcher-DBboREco.cjs} +1 -1
- package/dist/{startupSessionCreate-CY4tPjlZ.mjs → startupSessionCreate-BgaVuvQp.mjs} +1 -1
- package/dist/{startupSessionCreate-63ABDnfJ.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-CKSmwxec.cjs → sync-6HFRJP1h.cjs} +1 -1
- package/dist/{sync-CZjyTC4v.mjs → sync-I8NYmycF.mjs} +1 -1
- package/dist/{systemPrompt-BPzhf5d5.cjs → systemPrompt-BDWj5QSL.cjs} +2 -2
- package/dist/{systemPrompt-BKUVX-fd.mjs → systemPrompt-C1RSY_60.mjs} +2 -2
- package/dist/{teams-B2-KPjRg.mjs → teams-GpLFbXXE.mjs} +9 -9
- package/dist/{teams-CHBszdmc.cjs → teams-eUD7ymif.cjs} +9 -9
- 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-DcICfW0N.cjs → time-BAJRbB6U.cjs} +1 -1
- package/dist/{time-BsNUVcKH.mjs → time-umG7yHkb.mjs} +1 -1
- package/dist/{titleGenerator-B4b4ah--.mjs → titleGenerator-dmFlxkRs.mjs} +1 -1
- package/dist/{titleGenerator-Bvk1mx7G.cjs → titleGenerator-iqb2jOF1.cjs} +2 -2
- package/dist/{todo-C7--CBge.mjs → todo-CT4AJ3sH.mjs} +6 -6
- package/dist/{todo-BN4hhun6.cjs → todo-DsR7WnQS.cjs} +6 -6
- package/dist/tools-30E66QL_.cjs +140 -0
- package/dist/tools-BOWazSD6.mjs +137 -0
- package/dist/{uninstall-_qDbgdxh.cjs → uninstall-BtTc9hHa.cjs} +3 -3
- package/dist/{uninstall-Bjwl9bqK.mjs → uninstall-DImXs6VZ.mjs} +3 -3
- package/package.json +10 -10
- package/dist/selfCheck-Dz_Sm7w8.mjs +0 -86
- package/dist/smallFastModel-BLNgMrwR.mjs +0 -18
- package/dist/smallFastModel-D_uxGMo3.cjs +0 -21
- package/dist/tools-BILbS8Hh.mjs +0 -60
- package/dist/tools-Bl5Q_6Nr.cjs +0 -63
|
@@ -3,9 +3,9 @@
|
|
|
3
3
|
var node_fs = require('node:fs');
|
|
4
4
|
var promises = require('node:fs/promises');
|
|
5
5
|
var path = require('node:path');
|
|
6
|
-
var configuration = require('./configuration-
|
|
6
|
+
var configuration = require('./configuration-DyPW9mVa.cjs');
|
|
7
7
|
require('node:os');
|
|
8
|
-
require('./package-
|
|
8
|
+
require('./package-Gnf_935w.cjs');
|
|
9
9
|
|
|
10
10
|
const ASSISTANT_CLAUDE_MD = `# very-happy \u8C03\u5EA6\u4E2D\u5FC3\uFF08\u8BED\u97F3\u52A9\u624B\uFF09
|
|
11
11
|
|
|
@@ -4,21 +4,21 @@ var spawn = require('cross-spawn');
|
|
|
4
4
|
var node_readline = require('node:readline');
|
|
5
5
|
var node_fs = require('node:fs');
|
|
6
6
|
var node_crypto = require('node:crypto');
|
|
7
|
-
var logger = require('./logger-
|
|
8
|
-
var
|
|
7
|
+
var logger = require('./logger-C3vZG6Q0.cjs');
|
|
8
|
+
var promptCacheTtl = require('./promptCacheTtl-B8PCzE6k.cjs');
|
|
9
9
|
var path$1 = require('node:path');
|
|
10
10
|
var path = require('./path-B7zW-WwE.cjs');
|
|
11
|
-
var systemPrompt = require('./systemPrompt-
|
|
11
|
+
var systemPrompt = require('./systemPrompt-BDWj5QSL.cjs');
|
|
12
12
|
var manager = require('./manager-HrEj442o.cjs');
|
|
13
13
|
var contentLogMetadata = require('./contentLogMetadata-ZSFk_NjQ.cjs');
|
|
14
14
|
var claudeCliPath = require('./claudeCliPath-GaP3UUz1.cjs');
|
|
15
15
|
require('chalk');
|
|
16
16
|
require('node:util');
|
|
17
|
-
require('./configuration-
|
|
17
|
+
require('./configuration-DyPW9mVa.cjs');
|
|
18
18
|
require('node:os');
|
|
19
|
-
require('./package-
|
|
19
|
+
require('./package-Gnf_935w.cjs');
|
|
20
20
|
require('node:fs/promises');
|
|
21
|
-
require('./index-
|
|
21
|
+
require('./index-BOe6dKnL.cjs');
|
|
22
22
|
require('zod');
|
|
23
23
|
require('@paralleldrive/cuid2');
|
|
24
24
|
require('./trimIdent-4gvk9Wk6.cjs');
|
|
@@ -206,9 +206,10 @@ async function claudeLocal(opts) {
|
|
|
206
206
|
...process.env,
|
|
207
207
|
...opts.claudeEnvVars
|
|
208
208
|
};
|
|
209
|
-
|
|
209
|
+
promptCacheTtl.pinSmallFastModel(env);
|
|
210
|
+
promptCacheTtl.applyPromptCacheTtlDefault(env, opts.path);
|
|
210
211
|
if (opts.mcpServers && Object.keys(opts.mcpServers).length > 0) {
|
|
211
|
-
|
|
212
|
+
promptCacheTtl.ensureLocalProxyBypass(env);
|
|
212
213
|
}
|
|
213
214
|
logger.logger.debug(`[ClaudeLocal] Spawning launcher: ${claudeCliPath.claudeCliPath}`);
|
|
214
215
|
logger.logger.debug(`[ClaudeLocal] Args: ${JSON.stringify(args)}`);
|
|
@@ -2,21 +2,21 @@ import { spawn } from 'cross-spawn';
|
|
|
2
2
|
import { createInterface } from 'node:readline';
|
|
3
3
|
import { readdirSync, statSync, mkdirSync, existsSync } from 'node:fs';
|
|
4
4
|
import { randomUUID } from 'node:crypto';
|
|
5
|
-
import { l as logger } from './logger-
|
|
6
|
-
import { p as pinSmallFastModel, e as ensureLocalProxyBypass } from './
|
|
5
|
+
import { l as logger } from './logger-RpzJ4d8V.mjs';
|
|
6
|
+
import { p as pinSmallFastModel, a as applyPromptCacheTtlDefault, e as ensureLocalProxyBypass } from './promptCacheTtl-Ce0TVbrx.mjs';
|
|
7
7
|
import { join } from 'node:path';
|
|
8
8
|
import { g as getProjectPath } from './path-D2wdaNSk.mjs';
|
|
9
|
-
import { c as claudeCheckSession, s as systemPrompt } from './systemPrompt-
|
|
9
|
+
import { c as claudeCheckSession, s as systemPrompt } from './systemPrompt-C1RSY_60.mjs';
|
|
10
10
|
import { i as initializeSandbox, a as wrapCommand } from './manager-BEsI4qt3.mjs';
|
|
11
11
|
import { c as contentLogMetadata } from './contentLogMetadata-BlWI0egu.mjs';
|
|
12
12
|
import { claudeCliPath } from './claudeCliPath-BqkaH2oR.mjs';
|
|
13
13
|
import 'chalk';
|
|
14
14
|
import 'node:util';
|
|
15
|
-
import './configuration-
|
|
15
|
+
import './configuration-BZHpFD7K.mjs';
|
|
16
16
|
import 'node:os';
|
|
17
|
-
import './package-
|
|
17
|
+
import './package-CwB8rFJt.mjs';
|
|
18
18
|
import 'node:fs/promises';
|
|
19
|
-
import './index-
|
|
19
|
+
import './index-WKyN-bNy.mjs';
|
|
20
20
|
import 'zod';
|
|
21
21
|
import '@paralleldrive/cuid2';
|
|
22
22
|
import './trimIdent-BAjmv_TG.mjs';
|
|
@@ -205,6 +205,7 @@ async function claudeLocal(opts) {
|
|
|
205
205
|
...opts.claudeEnvVars
|
|
206
206
|
};
|
|
207
207
|
pinSmallFastModel(env);
|
|
208
|
+
applyPromptCacheTtlDefault(env, opts.path);
|
|
208
209
|
if (opts.mcpServers && Object.keys(opts.mcpServers).length > 0) {
|
|
209
210
|
ensureLocalProxyBypass(env);
|
|
210
211
|
}
|
|
@@ -1,21 +1,21 @@
|
|
|
1
|
-
import { l as logger } from './logger-
|
|
2
|
-
import { claudeLocal, ExitCodeError } from './claudeLocal-
|
|
3
|
-
import { c as createSessionScanner, F as Future, d as describeClaudeProcessExit } from './sessionScanner-
|
|
1
|
+
import { l as logger } from './logger-RpzJ4d8V.mjs';
|
|
2
|
+
import { claudeLocal, ExitCodeError } from './claudeLocal-CqaEs-81.mjs';
|
|
3
|
+
import { c as createSessionScanner, F as Future, d as describeClaudeProcessExit } from './sessionScanner-CknV1IlN.mjs';
|
|
4
4
|
import 'chalk';
|
|
5
5
|
import 'node:util';
|
|
6
|
-
import './configuration-
|
|
6
|
+
import './configuration-BZHpFD7K.mjs';
|
|
7
7
|
import 'node:fs';
|
|
8
8
|
import 'node:os';
|
|
9
9
|
import 'node:path';
|
|
10
|
-
import './package-
|
|
10
|
+
import './package-CwB8rFJt.mjs';
|
|
11
11
|
import 'node:fs/promises';
|
|
12
12
|
import 'cross-spawn';
|
|
13
13
|
import 'node:readline';
|
|
14
14
|
import 'node:crypto';
|
|
15
|
-
import './
|
|
15
|
+
import './promptCacheTtl-Ce0TVbrx.mjs';
|
|
16
16
|
import './path-D2wdaNSk.mjs';
|
|
17
|
-
import './systemPrompt-
|
|
18
|
-
import './index-
|
|
17
|
+
import './systemPrompt-C1RSY_60.mjs';
|
|
18
|
+
import './index-WKyN-bNy.mjs';
|
|
19
19
|
import 'zod';
|
|
20
20
|
import '@paralleldrive/cuid2';
|
|
21
21
|
import './trimIdent-BAjmv_TG.mjs';
|
|
@@ -28,11 +28,11 @@ import './claudeCliPath-BqkaH2oR.mjs';
|
|
|
28
28
|
import './projectPath-BTBIMB57.mjs';
|
|
29
29
|
import 'path';
|
|
30
30
|
import 'url';
|
|
31
|
-
import './sync-
|
|
32
|
-
import './time-
|
|
31
|
+
import './sync-I8NYmycF.mjs';
|
|
32
|
+
import './time-umG7yHkb.mjs';
|
|
33
33
|
import './types-CkqAACXx.mjs';
|
|
34
34
|
import './transcriptCursor-B7T_gkQ0.mjs';
|
|
35
|
-
import './startFileWatcher-
|
|
35
|
+
import './startFileWatcher-CpO5Mwbr.mjs';
|
|
36
36
|
import 'fs/promises';
|
|
37
37
|
|
|
38
38
|
async function claudeLocalLauncher(session) {
|
|
@@ -1,23 +1,23 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var logger = require('./logger-
|
|
4
|
-
var claudeLocal = require('./claudeLocal-
|
|
5
|
-
var sessionScanner = require('./sessionScanner-
|
|
3
|
+
var logger = require('./logger-C3vZG6Q0.cjs');
|
|
4
|
+
var claudeLocal = require('./claudeLocal-BBaE4QF_.cjs');
|
|
5
|
+
var sessionScanner = require('./sessionScanner-BZ1ZSn6I.cjs');
|
|
6
6
|
require('chalk');
|
|
7
7
|
require('node:util');
|
|
8
|
-
require('./configuration-
|
|
8
|
+
require('./configuration-DyPW9mVa.cjs');
|
|
9
9
|
require('node:fs');
|
|
10
10
|
require('node:os');
|
|
11
11
|
require('node:path');
|
|
12
|
-
require('./package-
|
|
12
|
+
require('./package-Gnf_935w.cjs');
|
|
13
13
|
require('node:fs/promises');
|
|
14
14
|
require('cross-spawn');
|
|
15
15
|
require('node:readline');
|
|
16
16
|
require('node:crypto');
|
|
17
|
-
require('./
|
|
17
|
+
require('./promptCacheTtl-B8PCzE6k.cjs');
|
|
18
18
|
require('./path-B7zW-WwE.cjs');
|
|
19
|
-
require('./systemPrompt-
|
|
20
|
-
require('./index-
|
|
19
|
+
require('./systemPrompt-BDWj5QSL.cjs');
|
|
20
|
+
require('./index-BOe6dKnL.cjs');
|
|
21
21
|
require('zod');
|
|
22
22
|
require('@paralleldrive/cuid2');
|
|
23
23
|
require('./trimIdent-4gvk9Wk6.cjs');
|
|
@@ -30,11 +30,11 @@ require('./claudeCliPath-GaP3UUz1.cjs');
|
|
|
30
30
|
require('./projectPath-C3ioB4Bu.cjs');
|
|
31
31
|
require('path');
|
|
32
32
|
require('url');
|
|
33
|
-
require('./sync-
|
|
34
|
-
require('./time-
|
|
33
|
+
require('./sync-6HFRJP1h.cjs');
|
|
34
|
+
require('./time-BAJRbB6U.cjs');
|
|
35
35
|
require('./types-CRS-srZK.cjs');
|
|
36
36
|
require('./transcriptCursor-DcXGLeSc.cjs');
|
|
37
|
-
require('./startFileWatcher-
|
|
37
|
+
require('./startFileWatcher-DBboREco.cjs');
|
|
38
38
|
require('fs/promises');
|
|
39
39
|
|
|
40
40
|
async function claudeLocalLauncher(session) {
|
|
@@ -5,7 +5,7 @@ var promises = require('node:fs/promises');
|
|
|
5
5
|
var node_fs = require('node:fs');
|
|
6
6
|
var path = require('node:path');
|
|
7
7
|
var node_readline = require('node:readline');
|
|
8
|
-
var logger = require('./logger-
|
|
8
|
+
var logger = require('./logger-C3vZG6Q0.cjs');
|
|
9
9
|
|
|
10
10
|
class ForkTruncateUuidNotFoundError extends Error {
|
|
11
11
|
constructor(cutAfterUuid, sourcePath) {
|
|
@@ -3,7 +3,7 @@ import { copyFile, unlink, readFile, rename, writeFile } from 'node:fs/promises'
|
|
|
3
3
|
import { createReadStream, createWriteStream } from 'node:fs';
|
|
4
4
|
import { join } from 'node:path';
|
|
5
5
|
import { createInterface } from 'node:readline';
|
|
6
|
-
import { l as logger } from './logger-
|
|
6
|
+
import { l as logger } from './logger-RpzJ4d8V.mjs';
|
|
7
7
|
|
|
8
8
|
class ForkTruncateUuidNotFoundError extends Error {
|
|
9
9
|
constructor(cutAfterUuid, sourcePath) {
|
|
@@ -4,10 +4,10 @@ var node_crypto = require('node:crypto');
|
|
|
4
4
|
var node_child_process = require('node:child_process');
|
|
5
5
|
var node_util = require('node:util');
|
|
6
6
|
var path = require('node:path');
|
|
7
|
-
var index = require('./index-
|
|
8
|
-
var configuration = require('./configuration-
|
|
9
|
-
var persistence = require('./persistence-
|
|
10
|
-
var context = require('./context-
|
|
7
|
+
var index = require('./index-BOe6dKnL.cjs');
|
|
8
|
+
var configuration = require('./configuration-DyPW9mVa.cjs');
|
|
9
|
+
var persistence = require('./persistence-CqtjFiD1.cjs');
|
|
10
|
+
var context = require('./context-2xDvjkQp.cjs');
|
|
11
11
|
|
|
12
12
|
async function teamRequest(path, method, token, scoped, body) {
|
|
13
13
|
const response = await fetch(`${configuration.configuration.serverUrl}${path}`, {
|
|
@@ -20,7 +20,7 @@ async function teamRequest(path, method, token, scoped, body) {
|
|
|
20
20
|
throw new Error("Teams connection failed; outcome may be unknown. Reuse the request ID when retrying.");
|
|
21
21
|
});
|
|
22
22
|
if (!response.ok) {
|
|
23
|
-
const body2 = response.status
|
|
23
|
+
const body2 = response.status >= 400 && response.status < 500 ? await response.json().catch(() => null) : null;
|
|
24
24
|
if (body2?.error === "session_in_other_team") throw new SessionInOtherTeamError(typeof body2.teamId === "string" ? body2.teamId : "", typeof body2.teamName === "string" ? body2.teamName : "");
|
|
25
25
|
throw new Error(teamRefusalMessage(response.status, body2));
|
|
26
26
|
}
|
|
@@ -41,8 +41,17 @@ function teamRefusalMessage(status, body) {
|
|
|
41
41
|
const reason = field("cleanupError", 300);
|
|
42
42
|
return `Teams request refused (bot_cleanup_failed): the cleanup of member "${field("botName", 128) || "this member"}" failed${reason ? ` (${reason})` : ""} and still holds its session, so new work for it could not start. Only the owner can retry that cleanup or mark it handled on the team page (\u9700\u8981\u5904\u7406). Delegate to another member (omit assigneeBotId) meanwhile. \u8BE5\u6210\u5458\u7684\u6E05\u7406\u5931\u8D25\u4E14\u4ECD\u5360\u7528\u4F1A\u8BDD\uFF0C\u6D3E\u7ED9\u5B83\u7684\u4EFB\u52A1\u65E0\u6CD5\u542F\u52A8\uFF1B\u8BF7\u6539\u6D3E\u7ED9\u5176\u4ED6\u6210\u5458\uFF0C\u5E76\u8BF7 Owner \u5728\u56E2\u961F\u9875\u300C\u9700\u8981\u5904\u7406\u300D\u91CD\u8BD5\u6E05\u7406\u6216\u6807\u8BB0\u5DF2\u5904\u7406\u3002`;
|
|
43
43
|
}
|
|
44
|
+
if (code.endsWith("_limit")) {
|
|
45
|
+
const count = (key) => {
|
|
46
|
+
const value = body[key];
|
|
47
|
+
return typeof value === "number" && Number.isFinite(value) ? value : null;
|
|
48
|
+
};
|
|
49
|
+
const used = count("used"), limit = count("limit");
|
|
50
|
+
return `Teams request refused (${code}${used !== null && limit !== null ? `: ${used}/${limit}` : ""}): ${TEAM_LIMIT_EXPLANATION}`;
|
|
51
|
+
}
|
|
44
52
|
return `Teams request failed (HTTP ${status}: ${code})`;
|
|
45
53
|
}
|
|
54
|
+
const TEAM_LIMIT_EXPLANATION = "a team capacity limit was reached. This is not rate limiting: retrying or waiting will not help. Closed tasks, their delivered messages and finished operations are archived automatically, so what is left is open work \u2014 accept, cancel or hand off finished tasks (team_inspect shows `capacity`), or ask the user to archive this team and start a new one. \u56E2\u961F\u5BB9\u91CF\u5DF2\u6EE1\uFF0C\u4E0D\u662F\u9650\u6D41\uFF0C\u91CD\u8BD5\u65E0\u6548\uFF1A\u8BF7\u9A8C\u6536/\u53D6\u6D88\u5DF2\u5B8C\u6210\u7684\u4EFB\u52A1\uFF0C\u6216\u8BF7\u7528\u6237\u5F52\u6863\u672C\u56E2\u961F\u540E\u65B0\u5EFA\u3002";
|
|
46
55
|
class TeamConnectionPreflightError extends Error {
|
|
47
56
|
}
|
|
48
57
|
class SessionInOtherTeamError extends TeamConnectionPreflightError {
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { c as configuration } from './configuration-
|
|
2
|
-
import { b as readCredentialsForConfiguredRelay } from './persistence-
|
|
1
|
+
import { c as configuration } from './configuration-BZHpFD7K.mjs';
|
|
2
|
+
import { b as readCredentialsForConfiguredRelay } from './persistence-Bn4qEbDg.mjs';
|
|
3
3
|
|
|
4
4
|
const UNSUPPORTED_BACKOFF_MS = 10 * 6e4;
|
|
5
5
|
class ProjectsUnsupportedError extends Error {
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { c as configuration } from './configuration-
|
|
2
|
-
import { b as readCredentialsForConfiguredRelay, r as readSettings } from './persistence-
|
|
1
|
+
import { c as configuration } from './configuration-BZHpFD7K.mjs';
|
|
2
|
+
import { b as readCredentialsForConfiguredRelay, r as readSettings } from './persistence-Bn4qEbDg.mjs';
|
|
3
3
|
|
|
4
4
|
class AutomationsRequestError extends Error {
|
|
5
5
|
constructor(status, code, runStatus, invalidFields = []) {
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var configuration = require('./configuration-
|
|
4
|
-
var persistence = require('./persistence-
|
|
3
|
+
var configuration = require('./configuration-DyPW9mVa.cjs');
|
|
4
|
+
var persistence = require('./persistence-CqtjFiD1.cjs');
|
|
5
5
|
|
|
6
6
|
class AutomationsRequestError extends Error {
|
|
7
7
|
constructor(status, code, runStatus, invalidFields = []) {
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var configuration = require('./configuration-
|
|
4
|
-
var persistence = require('./persistence-
|
|
3
|
+
var configuration = require('./configuration-DyPW9mVa.cjs');
|
|
4
|
+
var persistence = require('./persistence-CqtjFiD1.cjs');
|
|
5
5
|
|
|
6
6
|
const UNSUPPORTED_BACKOFF_MS = 10 * 6e4;
|
|
7
7
|
class ProjectsUnsupportedError extends Error {
|
|
@@ -2,10 +2,10 @@ import { randomUUID } from 'node:crypto';
|
|
|
2
2
|
import { execFile } from 'node:child_process';
|
|
3
3
|
import { promisify } from 'node:util';
|
|
4
4
|
import { basename, dirname } from 'node:path';
|
|
5
|
-
import { f as isInsideTeamWorktree, r as rebaseTeamWorktreePath } from './index-
|
|
6
|
-
import { c as configuration } from './configuration-
|
|
7
|
-
import { r as readSettings, c as readPersistedSessions, b as readCredentialsForConfiguredRelay } from './persistence-
|
|
8
|
-
import { r as readTeamScope, t as teamScopePath, w as writeTeamScope } from './context-
|
|
5
|
+
import { f as isInsideTeamWorktree, r as rebaseTeamWorktreePath } from './index-WKyN-bNy.mjs';
|
|
6
|
+
import { c as configuration } from './configuration-BZHpFD7K.mjs';
|
|
7
|
+
import { r as readSettings, c as readPersistedSessions, b as readCredentialsForConfiguredRelay } from './persistence-Bn4qEbDg.mjs';
|
|
8
|
+
import { r as readTeamScope, t as teamScopePath, w as writeTeamScope } from './context-t7YV0aZc.mjs';
|
|
9
9
|
|
|
10
10
|
async function teamRequest(path, method, token, scoped, body) {
|
|
11
11
|
const response = await fetch(`${configuration.serverUrl}${path}`, {
|
|
@@ -18,7 +18,7 @@ async function teamRequest(path, method, token, scoped, body) {
|
|
|
18
18
|
throw new Error("Teams connection failed; outcome may be unknown. Reuse the request ID when retrying.");
|
|
19
19
|
});
|
|
20
20
|
if (!response.ok) {
|
|
21
|
-
const body2 = response.status
|
|
21
|
+
const body2 = response.status >= 400 && response.status < 500 ? await response.json().catch(() => null) : null;
|
|
22
22
|
if (body2?.error === "session_in_other_team") throw new SessionInOtherTeamError(typeof body2.teamId === "string" ? body2.teamId : "", typeof body2.teamName === "string" ? body2.teamName : "");
|
|
23
23
|
throw new Error(teamRefusalMessage(response.status, body2));
|
|
24
24
|
}
|
|
@@ -39,8 +39,17 @@ function teamRefusalMessage(status, body) {
|
|
|
39
39
|
const reason = field("cleanupError", 300);
|
|
40
40
|
return `Teams request refused (bot_cleanup_failed): the cleanup of member "${field("botName", 128) || "this member"}" failed${reason ? ` (${reason})` : ""} and still holds its session, so new work for it could not start. Only the owner can retry that cleanup or mark it handled on the team page (\u9700\u8981\u5904\u7406). Delegate to another member (omit assigneeBotId) meanwhile. \u8BE5\u6210\u5458\u7684\u6E05\u7406\u5931\u8D25\u4E14\u4ECD\u5360\u7528\u4F1A\u8BDD\uFF0C\u6D3E\u7ED9\u5B83\u7684\u4EFB\u52A1\u65E0\u6CD5\u542F\u52A8\uFF1B\u8BF7\u6539\u6D3E\u7ED9\u5176\u4ED6\u6210\u5458\uFF0C\u5E76\u8BF7 Owner \u5728\u56E2\u961F\u9875\u300C\u9700\u8981\u5904\u7406\u300D\u91CD\u8BD5\u6E05\u7406\u6216\u6807\u8BB0\u5DF2\u5904\u7406\u3002`;
|
|
41
41
|
}
|
|
42
|
+
if (code.endsWith("_limit")) {
|
|
43
|
+
const count = (key) => {
|
|
44
|
+
const value = body[key];
|
|
45
|
+
return typeof value === "number" && Number.isFinite(value) ? value : null;
|
|
46
|
+
};
|
|
47
|
+
const used = count("used"), limit = count("limit");
|
|
48
|
+
return `Teams request refused (${code}${used !== null && limit !== null ? `: ${used}/${limit}` : ""}): ${TEAM_LIMIT_EXPLANATION}`;
|
|
49
|
+
}
|
|
42
50
|
return `Teams request failed (HTTP ${status}: ${code})`;
|
|
43
51
|
}
|
|
52
|
+
const TEAM_LIMIT_EXPLANATION = "a team capacity limit was reached. This is not rate limiting: retrying or waiting will not help. Closed tasks, their delivered messages and finished operations are archived automatically, so what is left is open work \u2014 accept, cancel or hand off finished tasks (team_inspect shows `capacity`), or ask the user to archive this team and start a new one. \u56E2\u961F\u5BB9\u91CF\u5DF2\u6EE1\uFF0C\u4E0D\u662F\u9650\u6D41\uFF0C\u91CD\u8BD5\u65E0\u6548\uFF1A\u8BF7\u9A8C\u6536/\u53D6\u6D88\u5DF2\u5B8C\u6210\u7684\u4EFB\u52A1\uFF0C\u6216\u8BF7\u7528\u6237\u5F52\u6863\u672C\u56E2\u961F\u540E\u65B0\u5EFA\u3002";
|
|
44
53
|
class TeamConnectionPreflightError extends Error {
|
|
45
54
|
}
|
|
46
55
|
class SessionInOtherTeamError extends TeamConnectionPreflightError {
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var tools = require('../tools-
|
|
4
|
-
var reportProgressTool = require('../reportProgressTool-
|
|
5
|
-
var peerTools = require('../peerTools-
|
|
3
|
+
var tools = require('../tools-30E66QL_.cjs');
|
|
4
|
+
var reportProgressTool = require('../reportProgressTool-CaJ8EwLq.cjs');
|
|
5
|
+
var peerTools = require('../peerTools-C1E5cQ86.cjs');
|
|
6
6
|
var agentGuidance = require('../agentGuidance-BtBx2xxE.cjs');
|
|
7
7
|
var mcp_js = require('@modelcontextprotocol/sdk/server/mcp.js');
|
|
8
8
|
var stdio_js = require('@modelcontextprotocol/sdk/server/stdio.js');
|
|
@@ -10,36 +10,36 @@ var index_js = require('@modelcontextprotocol/sdk/client/index.js');
|
|
|
10
10
|
var streamableHttp_js = require('@modelcontextprotocol/sdk/client/streamableHttp.js');
|
|
11
11
|
var z = require('zod');
|
|
12
12
|
var limits = require('../limits-C-a7gr04.cjs');
|
|
13
|
-
require('../client-
|
|
13
|
+
require('../client-C2HcMqRF.cjs');
|
|
14
14
|
require('node:crypto');
|
|
15
15
|
require('node:child_process');
|
|
16
16
|
require('node:util');
|
|
17
17
|
require('node:path');
|
|
18
|
-
require('../index-
|
|
18
|
+
require('../index-BOe6dKnL.cjs');
|
|
19
19
|
require('@paralleldrive/cuid2');
|
|
20
|
-
require('../configuration-
|
|
20
|
+
require('../configuration-DyPW9mVa.cjs');
|
|
21
21
|
require('node:fs');
|
|
22
22
|
require('node:os');
|
|
23
|
-
require('../package-
|
|
23
|
+
require('../package-Gnf_935w.cjs');
|
|
24
24
|
require('node:fs/promises');
|
|
25
|
-
require('../persistence-
|
|
25
|
+
require('../persistence-CqtjFiD1.cjs');
|
|
26
26
|
require('../authRelay-Dy1qU9td.cjs');
|
|
27
27
|
require('tweetnacl');
|
|
28
|
-
require('../logger-
|
|
28
|
+
require('../logger-C3vZG6Q0.cjs');
|
|
29
29
|
require('chalk');
|
|
30
|
-
require('../context-
|
|
31
|
-
require('../client-
|
|
30
|
+
require('../context-2xDvjkQp.cjs');
|
|
31
|
+
require('../client-DmY03OZZ.cjs');
|
|
32
32
|
require('../precheckCompat-CWOi5c9L.cjs');
|
|
33
|
-
require('../client-
|
|
33
|
+
require('../client-agH03Irm.cjs');
|
|
34
34
|
require('../prompt-Bof2aQkI.cjs');
|
|
35
35
|
require('../ids-B6ZC0HGt.cjs');
|
|
36
|
-
require('../controlClient-
|
|
37
|
-
require('../sessionOps-
|
|
36
|
+
require('../controlClient-DvFaPsg6.cjs');
|
|
37
|
+
require('../sessionOps-DGMpl9NB.cjs');
|
|
38
38
|
require('axios');
|
|
39
|
-
require('../time-
|
|
39
|
+
require('../time-BAJRbB6U.cjs');
|
|
40
40
|
require('socket.io-client');
|
|
41
41
|
require('../backgroundTaskActivity-CBvUdj39.cjs');
|
|
42
|
-
require('../remoteSessionClient-
|
|
42
|
+
require('../remoteSessionClient-DgUMfPW4.cjs');
|
|
43
43
|
require('../trimIdent-4gvk9Wk6.cjs');
|
|
44
44
|
|
|
45
45
|
function parseArgs(argv) {
|
|
@@ -163,7 +163,8 @@ async function main() {
|
|
|
163
163
|
};
|
|
164
164
|
tools.registerTeamsTools(server, void 0, {
|
|
165
165
|
initialize: (input) => forwardTeam(input.teamId ? "team_join" : "team_create", input),
|
|
166
|
-
|
|
166
|
+
// B-822: the raw view; the bridge's own team_inspect applies taskId / full / the compact view.
|
|
167
|
+
inspect: () => forwardTeam("team_inspect", { full: true }),
|
|
167
168
|
action: (action, requestId) => {
|
|
168
169
|
const { type, ...args } = action;
|
|
169
170
|
return forwardTeam(`team_${String(type).replaceAll("-", "_")}`, { ...args, requestId });
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { r as registerTeamsTools } from '../tools-
|
|
2
|
-
import { r as registerAutomationTools, a as registerProjectTools, b as registerReportProgressTool } from '../reportProgressTool-
|
|
3
|
-
import { r as registerSessionPeerTools } from '../peerTools-
|
|
1
|
+
import { r as registerTeamsTools } from '../tools-BOWazSD6.mjs';
|
|
2
|
+
import { r as registerAutomationTools, a as registerProjectTools, b as registerReportProgressTool } from '../reportProgressTool-DUEq3xAL.mjs';
|
|
3
|
+
import { r as registerSessionPeerTools } from '../peerTools-2_8Bw9PU.mjs';
|
|
4
4
|
import { P as PREVIEW_TOOL_NAME, a as PREVIEW_TOOL_TITLE, b as PREVIEW_TOOL_DESCRIPTION, c as PREVIEW_DOWNLOAD_PARAM_DESCRIPTION, R as REPORT_PROGRESS_TOOL_NAME } from '../agentGuidance-BDYt2Qy2.mjs';
|
|
5
5
|
import { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js';
|
|
6
6
|
import { StdioServerTransport } from '@modelcontextprotocol/sdk/server/stdio.js';
|
|
@@ -8,36 +8,36 @@ import { Client } from '@modelcontextprotocol/sdk/client/index.js';
|
|
|
8
8
|
import { StreamableHTTPClientTransport } from '@modelcontextprotocol/sdk/client/streamableHttp.js';
|
|
9
9
|
import { z } from 'zod';
|
|
10
10
|
import { C as CLIPBOARD_TOOL_NAME, a as CLIPBOARD_TOOL_TITLE, b as CLIPBOARD_TOOL_DESCRIPTION } from '../limits-DIo7rEBR.mjs';
|
|
11
|
-
import '../client-
|
|
11
|
+
import '../client-qJ0y8fus.mjs';
|
|
12
12
|
import 'node:crypto';
|
|
13
13
|
import 'node:child_process';
|
|
14
14
|
import 'node:util';
|
|
15
15
|
import 'node:path';
|
|
16
|
-
import '../index-
|
|
16
|
+
import '../index-WKyN-bNy.mjs';
|
|
17
17
|
import '@paralleldrive/cuid2';
|
|
18
|
-
import '../configuration-
|
|
18
|
+
import '../configuration-BZHpFD7K.mjs';
|
|
19
19
|
import 'node:fs';
|
|
20
20
|
import 'node:os';
|
|
21
|
-
import '../package-
|
|
21
|
+
import '../package-CwB8rFJt.mjs';
|
|
22
22
|
import 'node:fs/promises';
|
|
23
|
-
import '../persistence-
|
|
23
|
+
import '../persistence-Bn4qEbDg.mjs';
|
|
24
24
|
import '../authRelay-DhQhkBvX.mjs';
|
|
25
25
|
import 'tweetnacl';
|
|
26
|
-
import '../logger-
|
|
26
|
+
import '../logger-RpzJ4d8V.mjs';
|
|
27
27
|
import 'chalk';
|
|
28
|
-
import '../context-
|
|
29
|
-
import '../client-
|
|
28
|
+
import '../context-t7YV0aZc.mjs';
|
|
29
|
+
import '../client-DcDE6Ifk.mjs';
|
|
30
30
|
import '../precheckCompat-DeEbilbr.mjs';
|
|
31
|
-
import '../client-
|
|
31
|
+
import '../client-DWws_aQK.mjs';
|
|
32
32
|
import '../prompt-QHuFx9j6.mjs';
|
|
33
33
|
import '../ids-DU6sLx4C.mjs';
|
|
34
|
-
import '../controlClient-
|
|
35
|
-
import '../sessionOps
|
|
34
|
+
import '../controlClient-Bw56NIrj.mjs';
|
|
35
|
+
import '../sessionOps-CYjMT7Ad.mjs';
|
|
36
36
|
import 'axios';
|
|
37
|
-
import '../time-
|
|
37
|
+
import '../time-umG7yHkb.mjs';
|
|
38
38
|
import 'socket.io-client';
|
|
39
39
|
import '../backgroundTaskActivity-8PdPxrvy.mjs';
|
|
40
|
-
import '../remoteSessionClient-
|
|
40
|
+
import '../remoteSessionClient-uPj7omsw.mjs';
|
|
41
41
|
import '../trimIdent-BAjmv_TG.mjs';
|
|
42
42
|
|
|
43
43
|
function parseArgs(argv) {
|
|
@@ -161,7 +161,8 @@ async function main() {
|
|
|
161
161
|
};
|
|
162
162
|
registerTeamsTools(server, void 0, {
|
|
163
163
|
initialize: (input) => forwardTeam(input.teamId ? "team_join" : "team_create", input),
|
|
164
|
-
|
|
164
|
+
// B-822: the raw view; the bridge's own team_inspect applies taskId / full / the compact view.
|
|
165
|
+
inspect: () => forwardTeam("team_inspect", { full: true }),
|
|
165
166
|
action: (action, requestId) => {
|
|
166
167
|
const { type, ...args } = action;
|
|
167
168
|
return forwardTeam(`team_${String(type).replaceAll("-", "_")}`, { ...args, requestId });
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
import { execSync } from 'node:child_process';
|
|
2
2
|
import { spawn } from 'cross-spawn';
|
|
3
3
|
import { createInterface } from 'node:readline';
|
|
4
|
-
import { l as logger } from './logger-
|
|
4
|
+
import { l as logger } from './logger-RpzJ4d8V.mjs';
|
|
5
5
|
import { e as errorLogMetadata, c as contentLogMetadata } from './contentLogMetadata-BlWI0egu.mjs';
|
|
6
6
|
import { i as initializeSandbox, w as wrapForMcpTransport } from './manager-BEsI4qt3.mjs';
|
|
7
|
-
import { p as packageJson } from './package-
|
|
8
|
-
import { s as shouldReadCodexRateLimits, i as isUnsupportedCodexMethodError } from './rateLimitWindows-
|
|
7
|
+
import { p as packageJson } from './package-CwB8rFJt.mjs';
|
|
8
|
+
import { s as shouldReadCodexRateLimits, i as isUnsupportedCodexMethodError } from './rateLimitWindows-CQ4tIQnx.mjs';
|
|
9
9
|
import { s as stopProcessGracefully, k as killProcessTree } from './processTree-CP5IvQ2Z.mjs';
|
|
10
10
|
|
|
11
11
|
const CODEX_HELPER_LABEL_MAX_CHARS = 80;
|
|
@@ -140,6 +140,8 @@ class CodexAppServerClient {
|
|
|
140
140
|
completedTurnIds = /* @__PURE__ */ new Set();
|
|
141
141
|
/** B-625: turns whose failure has already been forwarded, so a second failed frame is not. */
|
|
142
142
|
failedTurnIds = /* @__PURE__ */ new Set();
|
|
143
|
+
/** The turn the last pending completion was resolved for (runTurnAndWait reads its verdict). */
|
|
144
|
+
lastResolvedTurnId = null;
|
|
143
145
|
// B-625: the app-server speaks for every thread it hosts — the session's own and the
|
|
144
146
|
// children `spawn_agent` opens — so a lifecycle frame (turn/started, turn/completed,
|
|
145
147
|
// thread/status/changed, error, thread/closed) is the session's only when its `threadId`
|
|
@@ -858,6 +860,7 @@ ${text}`.slice(-400);
|
|
|
858
860
|
}
|
|
859
861
|
resolvePendingTurn(aborted) {
|
|
860
862
|
if (!this.pendingTurnCompletion) return;
|
|
863
|
+
this.lastResolvedTurnId = this.pendingTurnCompletion.turnId;
|
|
861
864
|
this.clearTurnWatchdog();
|
|
862
865
|
this.clearThreadStopGrace();
|
|
863
866
|
this.pendingTurnCompletion.resolve(aborted);
|
|
@@ -992,6 +995,7 @@ ${text}`.slice(-400);
|
|
|
992
995
|
);
|
|
993
996
|
return;
|
|
994
997
|
}
|
|
998
|
+
if (!pending.turnId && turnId) pending.turnId = turnId;
|
|
995
999
|
this.resolvePendingTurn(aborted);
|
|
996
1000
|
}
|
|
997
1001
|
async waitForTurnCompletion(timeoutMs) {
|
|
@@ -1091,6 +1095,24 @@ ${text}`.slice(-400);
|
|
|
1091
1095
|
* Returns { aborted: true } if the turn was aborted (user cancel, permission reject, etc.).
|
|
1092
1096
|
*/
|
|
1093
1097
|
async sendTurnAndWait(prompt, opts) {
|
|
1098
|
+
const { aborted } = await this.runTurnAndWait(() => this.sendTurn(prompt, opts), opts);
|
|
1099
|
+
return { aborted };
|
|
1100
|
+
}
|
|
1101
|
+
/**
|
|
1102
|
+
* `/compact`: Codex compacts the thread in a turn of its own
|
|
1103
|
+
* (`thread/compact/start` answers `{}`, then `turn/started` →
|
|
1104
|
+
* `contextCompaction` item → `turn/completed`, probed on codex-cli 0.154).
|
|
1105
|
+
* Waits for that turn like any other; `failed` is the turn's own verdict.
|
|
1106
|
+
*/
|
|
1107
|
+
async compactThreadAndWait(opts) {
|
|
1108
|
+
return this.runTurnAndWait(async () => {
|
|
1109
|
+
if (!this._threadId) {
|
|
1110
|
+
throw new Error("No active thread. Call startThread first.");
|
|
1111
|
+
}
|
|
1112
|
+
await this.request("thread/compact/start", { threadId: this._threadId });
|
|
1113
|
+
}, opts);
|
|
1114
|
+
}
|
|
1115
|
+
async runTurnAndWait(start, opts) {
|
|
1094
1116
|
if (this.pendingInterrupt) {
|
|
1095
1117
|
await this.pendingInterrupt;
|
|
1096
1118
|
await new Promise((resolve) => setTimeout(resolve, 0));
|
|
@@ -1108,7 +1130,7 @@ ${text}`.slice(-400);
|
|
|
1108
1130
|
this.armTurnWatchdog(timeoutMs);
|
|
1109
1131
|
});
|
|
1110
1132
|
try {
|
|
1111
|
-
await
|
|
1133
|
+
await start();
|
|
1112
1134
|
} catch (err) {
|
|
1113
1135
|
this.clearTurnWatchdog();
|
|
1114
1136
|
this.pendingTurnCompletion = null;
|
|
@@ -1117,7 +1139,8 @@ ${text}`.slice(-400);
|
|
|
1117
1139
|
}
|
|
1118
1140
|
const aborted = await completion;
|
|
1119
1141
|
this.clearTurnWatchdog();
|
|
1120
|
-
|
|
1142
|
+
const turnId = this.lastResolvedTurnId;
|
|
1143
|
+
return { aborted, failed: turnId !== null && this.failedTurnIds.has(turnId) };
|
|
1121
1144
|
}
|
|
1122
1145
|
armTurnWatchdog(timeoutMs) {
|
|
1123
1146
|
this.clearTurnWatchdog();
|
|
@@ -1208,6 +1231,17 @@ ${text}`.slice(-400);
|
|
|
1208
1231
|
} while (cursor);
|
|
1209
1232
|
return models;
|
|
1210
1233
|
}
|
|
1234
|
+
/**
|
|
1235
|
+
* B-844: the model Codex's effective configuration pins (config.toml,
|
|
1236
|
+
* profile, CLI overrides) via `config/read`; null = nothing pinned.
|
|
1237
|
+
* Throws when this Codex has no `config/read` — the caller then reports
|
|
1238
|
+
* nothing (unknown) and the web sends no model.
|
|
1239
|
+
*/
|
|
1240
|
+
async readConfiguredModel(cwd) {
|
|
1241
|
+
const response = await this.request("config/read", { cwd }, 1e4);
|
|
1242
|
+
const model = response?.config?.model;
|
|
1243
|
+
return typeof model === "string" && model.trim() ? model.trim() : null;
|
|
1244
|
+
}
|
|
1211
1245
|
request(method, params, timeoutMs) {
|
|
1212
1246
|
const timeout = timeoutMs ?? CodexAppServerClient.REQUEST_TIMEOUT_MS;
|
|
1213
1247
|
return new Promise((resolve, reject) => {
|