nolo-cli 0.211.0 → 0.213.0
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/{_executeModel-VVQEOY3D.js → _executeModel-CUJLCFWR.js} +57 -54
- package/{action-U235TV4P.js → action-DF5UYSJF.js} +4 -4
- package/{addContentAction-7C76J7ST.js → addContentAction-WERAONNY.js} +9 -9
- package/{addDialogAgentAction-KTYANUEC.js → addDialogAgentAction-7VI7YRML.js} +16 -13
- package/{agentDeleteCommand-WHRU6VDJ.js → agentDeleteCommand-XJORXPGU.js} +80 -76
- package/{agentEmailCommands-ALLHXPW3.js → agentEmailCommands-XTYYFR6Z.js} +85 -80
- package/{agentListCommands-POKMEKMS.js → agentListCommands-OBLRBLHS.js} +237 -115
- package/{agentMachineCommands-WJLZLBPI.js → agentMachineCommands-5FMT3OT5.js} +33 -31
- package/{agentProviderCommands-MN3ABDME.js → agentProviderCommands-Q5O33MED.js} +33 -4
- package/{agentRecordCommands-OULZW3KM.js → agentRecordCommands-ZQ7SVYGG.js} +75 -70
- package/{agentRunCommand-ZNG4LGNQ.js → agentRunCommand-WS7IGO2W.js} +77 -73
- package/{agentRunControl-AF7BMR22.js → agentRunControl-TAMHJQSR.js} +8 -7
- package/{agentRuntimeLocal-YMUHFV5M.js → agentRuntimeLocal-SOO2OPJG.js} +30 -27
- package/{agentSlice-WNGUIMQZ.js → agentSlice-CHR6KOZN.js} +13 -13
- package/{appDeleteCommands-6MXPLAVF.js → appDeleteCommands-GUP6P5YE.js} +34 -32
- package/{appDeployCommands-ERRSVASW.js → appDeployCommands-MH2FX4O5.js} +34 -32
- package/{appDeployStatusCommands-ULICISLI.js → appDeployStatusCommands-SUHN3HPJ.js} +34 -32
- package/{appGetCommands-WYYYWROF.js → appGetCommands-YWDEX6Z4.js} +34 -32
- package/{appListCommands-DFCUCRCV.js → appListCommands-ZQVMLPAY.js} +34 -32
- package/{authCommand-ZJMWXFMA.js → authCommand-PWX2ZNUP.js} +15 -15
- package/{authCommands-WK6E42L2.js → authCommands-HV3EAU3V.js} +2 -2
- package/{builtinSkillRegistry-HH75G5J3.js → builtinSkillRegistry-2QETTQPM.js} +5 -4
- package/{chromeOpsCommands-HEN5AX2J.js → chromeOpsCommands-DIVM2K3T.js} +1 -1
- package/{chunk-TRZP7JZ7.js → chunk-2QHFH3DR.js} +1 -0
- package/{chunk-XE4Q46FF.js → chunk-3CGG2PAL.js} +1 -1
- package/{chunk-YUXQAVRD.js → chunk-3UKL3HPD.js} +251 -14
- package/{chunk-BSISWVB4.js → chunk-4I7ERB7F.js} +1 -1
- package/{chunk-5ORJGHTL.js → chunk-4T2WNOY7.js} +6 -6
- package/{chunk-W5VC7F7V.js → chunk-5MQRBSMW.js} +84 -91
- package/{chunk-YLTLB5A7.js → chunk-6DWMYIUY.js} +7 -6
- package/chunk-6VLJ6YA7.js +11751 -0
- package/{chunk-KSTEXKL6.js → chunk-75XIDFBW.js} +4 -3
- package/{chunk-BTYQAODF.js → chunk-7BT37FK3.js} +196 -308
- package/{chunk-27E2CBBY.js → chunk-7OCO4TDT.js} +1 -1
- package/{chunk-V3M6IXQI.js → chunk-7QTZCMKL.js} +335 -131
- package/chunk-7RFNTILS.js +2213 -0
- package/{chunk-NHQKWPLP.js → chunk-7Y4YTDQF.js} +25 -23
- package/{chunk-CKAHAVMK.js → chunk-A7TFUNZO.js} +35 -25
- package/{chunk-PJNFNEJE.js → chunk-ALQ3657A.js} +28 -2
- package/{chunk-NV572QM3.js → chunk-BBJ22CLB.js} +15 -15
- package/chunk-CJEIOP3E.js +0 -0
- package/{chunk-4WCEC56C.js → chunk-COFEN36Z.js} +2 -2
- package/{chunk-25OB36GU.js → chunk-CRHOO2ZR.js} +4 -4
- package/{chunk-NTSRCTUX.js → chunk-CTPXME7U.js} +2 -2
- package/{chunk-TPCDYNJK.js → chunk-EHGEOAHI.js} +3 -3
- package/{chunk-Y2WUYX4I.js → chunk-EHSZD5OI.js} +1 -1
- package/{chunk-SU3QL7YG.js → chunk-FUGMREBO.js} +2 -2
- package/{chunk-UMEGDH6A.js → chunk-FW6YHHLI.js} +8 -8
- package/chunk-FY7F4Q6X.js +127 -0
- package/{chunk-25M2K6OA.js → chunk-G2BQWAVT.js} +3 -3
- package/chunk-G7MLNNEX.js +84 -0
- package/{chunk-DQLB4NQ3.js → chunk-GPVRUGGY.js} +2 -2
- package/{chunk-RQ22OZD7.js → chunk-H2TJUNCH.js} +1 -1
- package/{chunk-XPHZK3PJ.js → chunk-H4UOTUOX.js} +165 -51
- package/{chunk-CVCRAO6Q.js → chunk-H5HF7TJA.js} +9 -7
- package/{chunk-OP7PTBAJ.js → chunk-H7PPIYWP.js} +9 -9
- package/{chunk-QQM464AL.js → chunk-HPFCI4SK.js} +3 -3
- package/chunk-HRMJUN5J.js +26 -0
- package/{chunk-WI6OGHXJ.js → chunk-HSVBJRF4.js} +5 -5
- package/{chunk-RYWO5AKN.js → chunk-HUBHAQK2.js} +10 -10
- package/{chunk-LKDF3ATR.js → chunk-INUFILG6.js} +1 -1
- package/{chunk-NXCGNS4N.js → chunk-IXNGOHV5.js} +2 -2
- package/{chunk-ET2CWLIJ.js → chunk-J2NHJ7WX.js} +4 -4
- package/{chunk-ECX3NKRD.js → chunk-JY5NGFFH.js} +11 -0
- package/chunk-KC4XDTT3.js +227 -0
- package/{chunk-ADBWFYJD.js → chunk-KFLT5KAD.js} +9 -9
- package/{chunk-PLYWH7XM.js → chunk-KIM6CLW5.js} +7 -7
- package/{chunk-7IYBN7IA.js → chunk-LLRPJECG.js} +22 -13
- package/{chunk-3J3U3KXB.js → chunk-MDB67IWP.js} +5 -5
- package/chunk-MMA3LZ3W.js +105 -0
- package/{chunk-XDMGY5IU.js → chunk-MOIJOHA5.js} +227 -11
- package/{chunk-NLT32XBZ.js → chunk-NJLL224W.js} +2 -2
- package/{chunk-JBOUVTZX.js → chunk-NOKUNJON.js} +15 -4
- package/{chunk-C2XZM3K4.js → chunk-NSAPDIN2.js} +12 -27
- package/{chunk-PAFTGNWA.js → chunk-O2TZF4AI.js} +2 -2
- package/{chunk-UIOEHFF6.js → chunk-OQHIVPG4.js} +1 -0
- package/{chunk-TCTSYFDM.js → chunk-OQPKUBPB.js} +19 -6
- package/{chunk-X4F26D5K.js → chunk-P5L7CXOC.js} +58 -33
- package/{chunk-OXME3PEE.js → chunk-PCLE46CE.js} +1 -1
- package/{chunk-UCPAVEQB.js → chunk-PYRUW7XN.js} +1 -1
- package/{chunk-YXOBCDNW.js → chunk-QG4AOSON.js} +12 -49
- package/{chunk-RXCCWVA2.js → chunk-QHPRUL4O.js} +3 -3
- package/{chunk-I5PBXF7O.js → chunk-R5O4QAWG.js} +1 -1
- package/{chunk-HD3WR3TD.js → chunk-RLBNLZVC.js} +1 -1
- package/{chunk-SN5XE6GQ.js → chunk-RPQXPZZF.js} +4 -4
- package/{chunk-ZOO3WJIE.js → chunk-RSHTSUEG.js} +948 -108
- package/{chunk-6HVBI6TI.js → chunk-RZOV7OMV.js} +12 -229
- package/{chunk-D2MDMY2M.js → chunk-SVYO6AO7.js} +7 -1
- package/{chunk-IIHY4ZAI.js → chunk-TAKB25RM.js} +8 -4
- package/{chunk-ZN5AH4BY.js → chunk-TX5EYMGT.js} +6 -6
- package/{chunk-CKOO42G5.js → chunk-UHJGXRJ4.js} +4 -4
- package/{chunk-M4NTDZG3.js → chunk-UYD5HQ6T.js} +857 -295
- package/{chunk-WTKYP6QO.js → chunk-V5Y3R6BT.js} +114 -6
- package/{chunk-3RQVYR4B.js → chunk-VNYYOX3V.js} +59 -20
- package/{chunk-4LEGTOSR.js → chunk-VO4WSAVP.js} +3 -3
- package/{chunk-LNYHAKBP.js → chunk-W4S457LU.js} +1 -1
- package/{chunk-RIALQUSF.js → chunk-WMTBPBMP.js} +6 -6
- package/chunk-WPORQFYN.js +74 -0
- package/{chunk-Y6M7KJOA.js → chunk-WRYQ35LQ.js} +5 -5
- package/{chunk-YKFP6UGT.js → chunk-WYDI6TGM.js} +17 -17
- package/{chunk-SCYQJPGA.js → chunk-X7SDOJUM.js} +147 -20
- package/chunk-XFYFMTOM.js +92 -0
- package/{chunk-LT3EAHJY.js → chunk-XHQC4PXX.js} +65 -49
- package/{chunk-2WZXXAQD.js → chunk-YB3YZK56.js} +67 -1
- package/{chunk-JKW6LERJ.js → chunk-YJAFKXMU.js} +14 -14
- package/{chunk-GSQNH63I.js → chunk-YTF4WH7J.js} +3 -19
- package/{chunk-DA7CTWT4.js → chunk-YWSEPJ7C.js} +5 -5
- package/{chunk-3V2QMRNN.js → chunk-ZL5RAEEB.js} +3 -3
- package/{chunk-NEZGPBL7.js → chunk-ZNWI6OVT.js} +2 -2
- package/{chunk-MBS6CTZB.js → chunk-ZXOUUDCG.js} +266 -2014
- package/cliAgentConfigHelpers-WJBZQTLW.js +41 -0
- package/{commandRegistry-FI2IOQ3U.js → commandRegistry-W63CYRZJ.js} +91 -87
- package/{contentThunks-5LKNNDGY.js → contentThunks-U7PL5MQD.js} +27 -26
- package/{cooldownCommands-YXLWOXWR.js → cooldownCommands-TIGUHXTD.js} +3 -3
- package/{createAgentAutomationAction-TI4QG4CY.js → createAgentAutomationAction-OLBQDD6R.js} +27 -26
- package/{createDialogAction-TJ3JKLO4.js → createDialogAction-SVH6B3SB.js} +29 -28
- package/{createPageAction-GKXT6WEH.js → createPageAction-F4DIWZ2Z.js} +29 -28
- package/{dbSlice-LPMZ2DGJ.js → dbSlice-BVH2YZPQ.js} +8 -8
- package/{deleteFile-EPUQHKPA.js → deleteFile-5YOEKV4U.js} +4 -4
- package/{dialogCommands-IWPXIZ5P.js → dialogCommands-KHIEPY3M.js} +38 -36
- package/{dialogSlice-ZWNNS7GZ.js → dialogSlice-ZCTDV2PZ.js} +25 -24
- package/{dialogUsageCommand-ZCPPHPJ5.js → dialogUsageCommand-7KCPYGHG.js} +1 -1
- package/{docCreateCommands-HFSPKJSI.js → docCreateCommands-DPMZI7G5.js} +32 -30
- package/{docDeleteCommands-CRL62POH.js → docDeleteCommands-IRQQLUBT.js} +34 -33
- package/{docReadCommands-QOTOX3XW.js → docReadCommands-LK37XH6L.js} +32 -30
- package/{docStore-WYLRB7ED.js → docStore-V2KECILA.js} +11 -11
- package/{docUpdateCommands-7BMH4MCA.js → docUpdateCommands-O6T3HJHH.js} +32 -30
- package/{fetchMessages-YY4SATNR.js → fetchMessages-NR4KNQLO.js} +3 -3
- package/{getPricing-OQXBJ6VZ.js → getPricing-2MNMXEVG.js} +3 -3
- package/{handleSendMessageAction-P27YP2DQ.js → handleSendMessageAction-2PE25WM3.js} +49 -47
- package/hostCredentialCreate-S233UMAP.js +357 -0
- package/index.js +7 -7
- package/{keys-P4ZDOVJW.js → keys-BEGDOTRL.js} +3 -1
- package/{localDialogRead-5VCMQQZF.js → localDialogRead-7NNDVVF7.js} +1 -1
- package/{localRuntimeAdapter-GP6ZSSO3.js → localRuntimeAdapter-KY6WXNBR.js} +82 -75
- package/{machineCommands-6Z6H4BFX.js → machineCommands-Q6HA3IXF.js} +74 -69
- package/{machineWsRunDispatch-F2ZIXMYM.js → machineWsRunDispatch-WWJQ6WR3.js} +74 -69
- package/{memberThunks-YSEFJF47.js → memberThunks-7EDJADWU.js} +9 -9
- package/package.json +1 -1
- package/{projectArchive-PIGEOX3D.js → projectArchive-DRTDIMEV.js} +29 -28
- package/{providerPresetApply-ZYMLQA46.js → providerPresetApply-YXGV6NXB.js} +4 -4
- package/{providerRegistry-E34XWDLJ.js → providerRegistry-S6UL6UNA.js} +4 -4
- package/{read-DIIQBOOO.js → read-4V2RMG7N.js} +4 -4
- package/{readDocTool-HXYGOEA7.js → readDocTool-BH6ATGQO.js} +1 -1
- package/{readlineWorkspace-UG25G7KC.js → readlineWorkspace-2W4WRCOU.js} +437 -217
- package/{removeDialogAgentAction-ALJDUJ2E.js → removeDialogAgentAction-LYAZGNKW.js} +18 -15
- package/{runAgentClientLoop-IO5F7TCZ.js → runAgentClientLoop-J2VQBS2Z.js} +55 -52
- package/{runtimeDoctorCommands-PGAA47G5.js → runtimeDoctorCommands-QAI3MBKQ.js} +6 -6
- package/{secretCommands-ZCZ4KVET.js → secretCommands-LXDWOLZ6.js} +4 -4
- package/{setDialogExtraReferencesAction-O3SVMD5A.js → setDialogExtraReferencesAction-OCRPGPYH.js} +11 -11
- package/{setPrimaryDialogAgentAction-HE7RVFFF.js → setPrimaryDialogAgentAction-HFJDQIBU.js} +19 -16
- package/{settingThunks-BWWJQG4L.js → settingThunks-RAMHMTGM.js} +13 -12
- package/{spaceCommands-UAELIFEI.js → spaceCommands-KVJZVKVO.js} +32 -31
- package/{streamAgentChatTurn-VUKZQYJR.js → streamAgentChatTurn-GHBMJJ6S.js} +63 -60
- package/{switchDialogAgentAction-3VZS7SOS.js → switchDialogAgentAction-EBRMW3RA.js} +16 -13
- package/{tools-VRXJAVYI.js → tools-EWKCPKMS.js} +49 -46
- package/{tuiSummaryLlmCaller-TGCHZLSW.js → tuiSummaryLlmCaller-ALQYUUWB.js} +48 -19
- package/{updateCommands-Q6CYAEYJ.js → updateCommands-ZQYU6SCI.js} +5 -3
- package/{updateDialogTitleAction-MULWCJCW.js → updateDialogTitleAction-5GGMBTDF.js} +40 -72
- package/usageCommand-F4IPVMIZ.js +32 -0
- package/usageRebuildCommand-HAW2AD5N.js +626 -0
- package/{windowsSelfUpdate-XSQVF2GK.js → windowsSelfUpdate-257DV2T6.js} +2 -2
- package/{workloadLifecycle-4BEQHMSD.js → workloadLifecycle-4C42SVBD.js} +1 -0
- package/chunk-4LCOCOR5.js +0 -50
- package/chunk-7AUQ3WCW.js +0 -51
- package/chunk-ZRAU6T47.js +0 -56
- package/{agentFavoriteCommands-GAFEXKKP.js → agentFavoriteCommands-EDK743YA.js} +1 -1
- package/{agentGrantCommands-V5FOQKFD.js → agentGrantCommands-RQWK2TEV.js} +1 -1
- package/{agentPullCommand-2JMJP5BS.js → agentPullCommand-6EM3URVK.js} +1 -1
- package/{chunk-A2ZMIRLN.js → chunk-INN4LTAJ.js} +5 -5
- package/{chunk-PV6JJAUB.js → chunk-TCZHTTUU.js} +8 -8
- package/{chunk-AKE53VMW.js → chunk-ZCWRMUWT.js} +0 -0
- package/{tableCommands-D7WR4QSM.js → tableCommands-MP6VFSVT.js} +3 -3
|
@@ -1,12 +1,12 @@
|
|
|
1
|
-
import {
|
|
2
|
-
isDevinOAuthAgent
|
|
3
|
-
} from "./chunk-5ZUL4CUO.js";
|
|
4
1
|
import {
|
|
5
2
|
getModelContextWindow
|
|
6
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-7BT37FK3.js";
|
|
7
4
|
import {
|
|
8
5
|
normalizeTimingMs
|
|
9
6
|
} from "./chunk-H57T64RA.js";
|
|
7
|
+
import {
|
|
8
|
+
isDevinOAuthAgent
|
|
9
|
+
} from "./chunk-5ZUL4CUO.js";
|
|
10
10
|
import {
|
|
11
11
|
BUILTIN_NOLO_AGENT_KEY
|
|
12
12
|
} from "./chunk-LOEO7LRC.js";
|
|
@@ -16,7 +16,7 @@ import {
|
|
|
16
16
|
import {
|
|
17
17
|
isPageKey,
|
|
18
18
|
isTableMetaKey
|
|
19
|
-
} from "./chunk-
|
|
19
|
+
} from "./chunk-JY5NGFFH.js";
|
|
20
20
|
import {
|
|
21
21
|
isDialogRecordKey
|
|
22
22
|
} from "./chunk-XJWWBO34.js";
|
|
@@ -33,6 +33,105 @@ import {
|
|
|
33
33
|
asOptionalTrimmedString
|
|
34
34
|
} from "./chunk-G3SUCT4W.js";
|
|
35
35
|
|
|
36
|
+
// packages/agent-runtime/codexOAuthPure.ts
|
|
37
|
+
function isCodexOAuthAgent(agent) {
|
|
38
|
+
if (!agent) return false;
|
|
39
|
+
const ref = agent.apiKeyRef?.trim().toLowerCase();
|
|
40
|
+
return ref === "chatgpt";
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
// packages/agent-runtime/codexOAuthModelAliases.ts
|
|
44
|
+
var CODEX_OAUTH_MODEL_ALIASES = {
|
|
45
|
+
// sol 家族最新:gpt-6.1-sol
|
|
46
|
+
"gpt-6-sol": {
|
|
47
|
+
aliasOf: "gpt-6.1-sol",
|
|
48
|
+
since: "2026-11-01",
|
|
49
|
+
reason: "\u540C\u5BB6\u65CF\u6362\u4EE3\uFF0Cowner \u51B3\u5B9A\u900F\u660E\u91CD\u5B9A\u5411\uFF08sol \u5BB6\u65CF\u6700\u65B0\u4E3A gpt-6.1-sol\uFF09\u3002"
|
|
50
|
+
},
|
|
51
|
+
"gpt-5.6-sol": {
|
|
52
|
+
aliasOf: "gpt-6.1-sol",
|
|
53
|
+
since: "2026-11-01",
|
|
54
|
+
reason: "\u540C\u5BB6\u65CF\u6362\u4EE3\uFF0Cowner \u51B3\u5B9A\u900F\u660E\u91CD\u5B9A\u5411\uFF08sol \u5BB6\u65CF\u6700\u65B0\u4E3A gpt-6.1-sol\uFF09\u3002"
|
|
55
|
+
},
|
|
56
|
+
// terra 家族最新:gpt-6.1-terra
|
|
57
|
+
"gpt-5.6-terra": {
|
|
58
|
+
aliasOf: "gpt-6.1-terra",
|
|
59
|
+
since: "2026-11-01",
|
|
60
|
+
reason: "\u540C\u5BB6\u65CF\u6362\u4EE3\uFF0Cowner \u51B3\u5B9A\u900F\u660E\u91CD\u5B9A\u5411\uFF08terra \u5BB6\u65CF\u6700\u65B0\u4E3A gpt-6.1-terra\uFF09\u3002"
|
|
61
|
+
},
|
|
62
|
+
// luna 家族最新:gpt-6-luna(上游无 6.1-luna,luna 家族最新即为 gpt-6-luna)
|
|
63
|
+
"gpt-5.6-luna": {
|
|
64
|
+
aliasOf: "gpt-6-luna",
|
|
65
|
+
since: "2026-11-01",
|
|
66
|
+
reason: "\u540C\u5BB6\u65CF\u6362\u4EE3\uFF0Cowner \u51B3\u5B9A\u900F\u660E\u91CD\u5B9A\u5411\uFF08luna \u5BB6\u65CF\u6700\u65B0\u4E3A gpt-6-luna\uFF09\u3002"
|
|
67
|
+
}
|
|
68
|
+
};
|
|
69
|
+
function resolveCodexOAuthEffectiveModel(model) {
|
|
70
|
+
const raw = asOptionalTrimmedString(model);
|
|
71
|
+
if (!raw) return void 0;
|
|
72
|
+
const normalized = raw.toLowerCase();
|
|
73
|
+
return CODEX_OAUTH_MODEL_ALIASES[normalized]?.aliasOf ?? raw;
|
|
74
|
+
}
|
|
75
|
+
|
|
76
|
+
// packages/agent-runtime/codexOAuthModelCatalogWindow.ts
|
|
77
|
+
var CODEX_OAUTH_CATALOG_DEFAULT_ACCOUNT_KEY = "__default__";
|
|
78
|
+
var CODEX_OAUTH_CATALOG_TTL_MS = 60 * 60 * 1e3;
|
|
79
|
+
var CODEX_OAUTH_CATALOG_RETRY_FLOOR_MS = 5 * 60 * 1e3;
|
|
80
|
+
var catalogBuckets = /* @__PURE__ */ new Map();
|
|
81
|
+
var isUsableContextWindow = (value) => typeof value === "number" && Number.isInteger(value) && value > 0;
|
|
82
|
+
var codexOAuthCatalogAccountKey = (accountId) => {
|
|
83
|
+
const trimmed = accountId?.trim();
|
|
84
|
+
return trimmed ? trimmed : CODEX_OAUTH_CATALOG_DEFAULT_ACCOUNT_KEY;
|
|
85
|
+
};
|
|
86
|
+
var codexOAuthCatalogSnapshot = (accountId) => {
|
|
87
|
+
const bucket = catalogBuckets.get(codexOAuthCatalogAccountKey(accountId));
|
|
88
|
+
return {
|
|
89
|
+
modelCount: bucket?.windows.size ?? 0,
|
|
90
|
+
fetchedAt: bucket?.fetchedAt ?? null,
|
|
91
|
+
lastFailureAt: bucket?.lastFailureAt ?? null
|
|
92
|
+
};
|
|
93
|
+
};
|
|
94
|
+
function commitCodexOAuthCatalogWindows(args) {
|
|
95
|
+
const windows = /* @__PURE__ */ new Map();
|
|
96
|
+
for (const [slug, contextWindow] of Object.entries(args.models)) {
|
|
97
|
+
const normalizedSlug = slug.trim().toLowerCase();
|
|
98
|
+
if (!normalizedSlug) continue;
|
|
99
|
+
if (!isUsableContextWindow(contextWindow)) continue;
|
|
100
|
+
windows.set(normalizedSlug, contextWindow);
|
|
101
|
+
}
|
|
102
|
+
const key = codexOAuthCatalogAccountKey(args.accountId);
|
|
103
|
+
catalogBuckets.set(key, {
|
|
104
|
+
windows,
|
|
105
|
+
fetchedAt: args.now,
|
|
106
|
+
lastFailureAt: null
|
|
107
|
+
});
|
|
108
|
+
}
|
|
109
|
+
function markCodexOAuthCatalogFailure(args) {
|
|
110
|
+
const key = codexOAuthCatalogAccountKey(args.accountId);
|
|
111
|
+
const existing = catalogBuckets.get(key);
|
|
112
|
+
catalogBuckets.set(key, {
|
|
113
|
+
windows: existing?.windows ?? /* @__PURE__ */ new Map(),
|
|
114
|
+
fetchedAt: existing?.fetchedAt ?? null,
|
|
115
|
+
lastFailureAt: args.now
|
|
116
|
+
});
|
|
117
|
+
}
|
|
118
|
+
var codexOAuthCatalogWindow = (model, options) => {
|
|
119
|
+
const effectiveModel = resolveCodexOAuthEffectiveModel(model);
|
|
120
|
+
if (!effectiveModel) return void 0;
|
|
121
|
+
const slug = effectiveModel.toLowerCase();
|
|
122
|
+
const now = options?.now ?? Date.now();
|
|
123
|
+
const ttlMs = options?.ttlMs ?? CODEX_OAUTH_CATALOG_TTL_MS;
|
|
124
|
+
let hit;
|
|
125
|
+
for (const [accountKey, bucket] of catalogBuckets) {
|
|
126
|
+
if (bucket.fetchedAt === null || now - bucket.fetchedAt >= ttlMs) continue;
|
|
127
|
+
const contextWindow = bucket.windows.get(slug);
|
|
128
|
+
if (!isUsableContextWindow(contextWindow)) continue;
|
|
129
|
+
if (hit && hit.accountKey !== accountKey) return void 0;
|
|
130
|
+
hit = { accountKey, contextWindow };
|
|
131
|
+
}
|
|
132
|
+
return hit?.contextWindow;
|
|
133
|
+
};
|
|
134
|
+
|
|
36
135
|
// packages/agent-runtime/devin/devinChannelWindows.ts
|
|
37
136
|
var DEVIN_CHANNEL_CONTEXT_WINDOWS = {
|
|
38
137
|
// SWE-2 家族(catalog 无裸 swe-2 selector;旧点号/裸写法如 swe-2、
|
|
@@ -58,7 +157,7 @@ var devinChannelContextWindow = (model) => {
|
|
|
58
157
|
if (!raw) return void 0;
|
|
59
158
|
return DEVIN_CHANNEL_CONTEXT_WINDOWS[raw];
|
|
60
159
|
};
|
|
61
|
-
var resolveAgentContextWindow = (agent) => (isDevinOAuthAgent(agent) ? devinChannelContextWindow(agent.model) : void 0) ?? // provider 透传给全局解析:平台托管通道(CF)与 Codex OAuth 等通道对同一 id
|
|
160
|
+
var resolveAgentContextWindow = (agent) => (isDevinOAuthAgent(agent) ? devinChannelContextWindow(agent.model) : void 0) ?? (isCodexOAuthAgent(agent) ? codexOAuthCatalogWindow(agent.model) : void 0) ?? // provider 透传给全局解析:平台托管通道(CF)与 Codex OAuth 等通道对同一 id
|
|
62
161
|
// 窗口不同,按通道取真值,不做全局取大/取小。
|
|
63
162
|
getModelContextWindow(agent.model ?? "", agent.provider);
|
|
64
163
|
|
|
@@ -397,6 +496,15 @@ export {
|
|
|
397
496
|
readCacheReadInputTokens,
|
|
398
497
|
readCacheReadInputTokensOrNull,
|
|
399
498
|
readCacheCreationInputTokens,
|
|
499
|
+
isCodexOAuthAgent,
|
|
500
|
+
resolveCodexOAuthEffectiveModel,
|
|
501
|
+
CODEX_OAUTH_CATALOG_TTL_MS,
|
|
502
|
+
CODEX_OAUTH_CATALOG_RETRY_FLOOR_MS,
|
|
503
|
+
codexOAuthCatalogAccountKey,
|
|
504
|
+
codexOAuthCatalogSnapshot,
|
|
505
|
+
commitCodexOAuthCatalogWindows,
|
|
506
|
+
markCodexOAuthCatalogFailure,
|
|
507
|
+
codexOAuthCatalogWindow,
|
|
400
508
|
devinChannelContextWindow,
|
|
401
509
|
resolveAgentContextWindow,
|
|
402
510
|
normalizeUsage,
|
|
@@ -241,7 +241,7 @@ var sessionStrings = {
|
|
|
241
241
|
" /skill detach <ref> Detach a skill",
|
|
242
242
|
" /skill clear Detach all skills",
|
|
243
243
|
" /customize Describe how you want to tune nolo",
|
|
244
|
-
" /tasks List
|
|
244
|
+
" /tasks List child agent runs and background processes",
|
|
245
245
|
" /stop <pid|all> Stop background process tasks",
|
|
246
246
|
" /login Show login/profile hint (/login --server <url> to log in here)",
|
|
247
247
|
" /auth Show provider OAuth status (/auth <provider> to authorize, /auth logout <provider> to remove)",
|
|
@@ -288,7 +288,7 @@ var sessionStrings = {
|
|
|
288
288
|
" /skill detach <ref> \u5378\u8F7D\u6307\u5B9A\u6280\u80FD",
|
|
289
289
|
" /skill clear \u5378\u8F7D\u5168\u90E8\u6280\u80FD",
|
|
290
290
|
" /customize \u63CF\u8FF0\u4F60\u60F3\u600E\u4E48\u8C03\u6559 nolo",
|
|
291
|
-
" /tasks \u5217\u51FA\
|
|
291
|
+
" /tasks \u5217\u51FA\u5B50 agent \u8FD0\u884C\u548C\u540E\u53F0\u8FDB\u7A0B",
|
|
292
292
|
" /stop <pid|all> \u505C\u6B62\u6307\u5B9A\u7684\u540E\u53F0\u4EFB\u52A1",
|
|
293
293
|
" /login \u67E5\u770B\u767B\u5F55 / \u914D\u7F6E\u63D0\u793A\uFF08/login --server <url> \u53EF\u5728\u672C\u4F1A\u8BDD\u5185\u767B\u5F55\uFF09",
|
|
294
294
|
" /auth \u67E5\u770B\u6A21\u578B provider \u6388\u6743\u72B6\u6001\uFF08/auth <provider> \u5F00\u59CB\u6388\u6743\uFF0C/auth logout <provider> \u6CE8\u9500\uFF09",
|
|
@@ -464,11 +464,6 @@ var agentStrings = {
|
|
|
464
464
|
en: "\u26A0 {0} favorite(s) unavailable right now",
|
|
465
465
|
zh: "\u26A0 {0} \u4E2A\u6536\u85CF\u9879\u6682\u65F6\u4E0D\u53EF\u7528"
|
|
466
466
|
},
|
|
467
|
-
// 派发前的本地冷却拦截(原两行英文 → 本地化单行压缩)。
|
|
468
|
-
agentCooldownBlocked: {
|
|
469
|
-
en: "[nolo] Agent {0} is in 429 cooldown until {1}. This dispatch was not sent \u2014 pick another agent, or retry after the cooldown.",
|
|
470
|
-
zh: "[nolo] Agent {0} \u51B7\u5374\u4E2D\uFF0C\u81F3 {1}\u3002\u672C\u6B21\u6D3E\u53D1\u672A\u53D1\u51FA\u2014\u2014\u6362\u4E00\u4E2A agent\uFF0C\u6216\u5230\u70B9\u540E\u91CD\u8BD5\u3002"
|
|
471
|
-
},
|
|
472
467
|
// --- Agent-run orchestration cards (injected into packages/ai helpers) ---
|
|
473
468
|
runStatusLabel: {
|
|
474
469
|
en: "Run status",
|
|
@@ -478,6 +473,9 @@ var agentStrings = {
|
|
|
478
473
|
en: "Run started",
|
|
479
474
|
zh: "\u8FD0\u884C\u5DF2\u542F\u52A8"
|
|
480
475
|
},
|
|
476
|
+
agentStartingLabel: { en: "Starting agent", zh: "\u6B63\u5728\u542F\u52A8\u667A\u80FD\u4F53" },
|
|
477
|
+
agentStartedLabel: { en: "Agent started", zh: "\u667A\u80FD\u4F53\u5DF2\u542F\u52A8" },
|
|
478
|
+
agentStartFailedLabel: { en: "Agent start failed", zh: "\u667A\u80FD\u4F53\u542F\u52A8\u5931\u8D25" },
|
|
481
479
|
runStoppedLabel: {
|
|
482
480
|
en: "Run stopped",
|
|
483
481
|
zh: "\u8FD0\u884C\u5DF2\u505C\u6B62"
|
|
@@ -513,10 +511,13 @@ var agentStrings = {
|
|
|
513
511
|
// listAgents card header (`Agents (3)` / `智能体 (3)`). The shared ai
|
|
514
512
|
// renderer keeps the English default; the CLI relabels the header line.
|
|
515
513
|
agentsListLabel: { en: "Agents ({0})", zh: "\u667A\u80FD\u4F53 ({0})" },
|
|
514
|
+
agentsCompactCount: { en: "Agents \xB7 {0}", zh: "\u667A\u80FD\u4F53 \xB7 {0} \u4E2A" },
|
|
515
|
+
agentsPageCount: { en: "{0} on this page", zh: "\u672C\u9875 {0} \u4E2A" },
|
|
516
|
+
agentsTruncated: { en: "incomplete", zh: "\u7ED3\u679C\u4E0D\u5B8C\u6574" },
|
|
516
517
|
// Fallback identity for auto-generated agent ids (run zone / dock / panel).
|
|
517
518
|
subAgentName: {
|
|
518
519
|
en: "Sub-agent",
|
|
519
|
-
zh: "\
|
|
520
|
+
zh: "\u667A\u80FD\u4F53"
|
|
520
521
|
},
|
|
521
522
|
// Status vocabulary the fixed run zone does not label (running shows only its
|
|
522
523
|
// elapsed time there). `en` must stay equal to the raw store status so a
|
|
@@ -538,13 +539,14 @@ var agentStrings = {
|
|
|
538
539
|
zh: "{0}\uFF08\u5F85\u5BF9\u8D26\uFF09"
|
|
539
540
|
},
|
|
540
541
|
// --- Fixed run zone (top of composer, replaces the ⚙ running status chip) --
|
|
541
|
-
// Each active run renders as
|
|
542
|
+
// Each active run renders as `↳ agent <title> · <agent> · <elapsed> · N tools`.
|
|
542
543
|
// runZoneFor is the elapsed-time fact for a *running* run (`for 1m23s` /
|
|
543
544
|
// `已运行 1m23s`); terminal runs print `<status> <age>` instead and don't use it.
|
|
544
545
|
runZoneFor: {
|
|
545
546
|
en: "for {0}",
|
|
546
547
|
zh: "\u5DF2\u8FD0\u884C {0}"
|
|
547
548
|
},
|
|
549
|
+
runZoneAgentType: { en: "agent", zh: "\u667A\u80FD\u4F53" },
|
|
548
550
|
// Terminal linger line: `✓ <run> · done · took 12m03s`.
|
|
549
551
|
runZoneDone: { en: "done", zh: "\u5B8C\u6210" },
|
|
550
552
|
runZoneFailed: { en: "failed", zh: "\u5931\u8D25" },
|
|
@@ -605,13 +607,13 @@ Use /switch, /switch list, /switch minimax-m3, or a full agent key.`,
|
|
|
605
607
|
zh: "API"
|
|
606
608
|
},
|
|
607
609
|
// ── Non-TUI CLI output: nolo agent / nolo run ─────────────────────────────
|
|
608
|
-
"agent.
|
|
609
|
-
en: "
|
|
610
|
-
zh: "
|
|
610
|
+
"agent.rateLimitedSummary": {
|
|
611
|
+
en: "[nolo] {0} agent(s) have quota/cooldown restrictions (reference info; dispatch is not restricted).\n",
|
|
612
|
+
zh: "[nolo] {0} \u4E2A agent \u6709\u989D\u5EA6/\u51B7\u5374\u53D7\u9650\u8BB0\u5F55\uFF08\u53C2\u8003\u4FE1\u606F\uFF0C\u4E0D\u9650\u5236\u6D3E\u53D1\uFF09\u3002\n"
|
|
611
613
|
},
|
|
612
614
|
"agent.rateLimitedRecovery": {
|
|
613
|
-
en: " -
|
|
614
|
-
zh: " -
|
|
615
|
+
en: " - {0} (id: {1}) quota-limited until {4} ({2}s remaining; reference info, dispatch is not restricted){3}\n",
|
|
616
|
+
zh: " - {0} (id: {1}) \u989D\u5EA6\u53D7\u9650\u81F3 {4}\uFF08\u5269\u4F59 {2} \u79D2\uFF1B\u53C2\u8003\u4FE1\u606F\uFF0C\u4E0D\u9650\u5236\u6D3E\u53D1\uFF09{3}\n"
|
|
615
617
|
},
|
|
616
618
|
"agentRun.autoRouteOverrideFailed": {
|
|
617
619
|
en: "[nolo] auto-route: could not read the source agent, running the selected agent as-is.\n",
|
|
@@ -1684,8 +1686,8 @@ var cliSurfaceStrings = {
|
|
|
1684
1686
|
"zh": "\u672A\u77E5\u547D\u4EE4\uFF1A{0}"
|
|
1685
1687
|
},
|
|
1686
1688
|
"cliCooldownHelp": {
|
|
1687
|
-
"en": "Manage per-credential availability cooldowns (429 rate-limit cooldown).\n\nUsage:\n nolo auth cooldown List all active cooldowns\n nolo auth cooldown --clear <credential> Clear one credential's cooldown\n nolo auth cooldown --clear-all Clear all cooldowns\n\nOptions:\n --clear <credential> Clear the cooldown for the given credential\n (e.g. chatgpt / claude / antigravity, or a custom API credential).\n --clear-all Clear every credential cooldown.\n --help Show this help.\n\nNo argument lists the currently cooled credentials with their human-readable\nrecovery time and remaining duration.\n",
|
|
1688
|
-
"zh": "\u7BA1\u7406\u5404\u51ED\u636E\u7684\u53EF\u7528\u6027\u51B7\u5374\uFF08429 \u9650\u6D41\u51B7\u5374\uFF09\u3002\n\n\u7528\u6CD5\uFF1A\n nolo auth cooldown \u5217\u51FA\u6240\u6709\u751F\u6548\u4E2D\u7684\u51B7\u5374\n nolo auth cooldown --clear <credential> \u6E05\u9664\u6307\u5B9A\u51ED\u636E\u7684\u51B7\u5374\n nolo auth cooldown --clear-all \u6E05\u9664\u6240\u6709\u51B7\u5374\n\n\u9009\u9879\uFF1A\n --clear <credential> \u6E05\u9664\u6307\u5B9A\u51ED\u636E\u7684\u51B7\u5374\n \uFF08\u4F8B\u5982 chatgpt / claude / antigravity\uFF0C\u6216\u81EA\u5B9A\u4E49 API \u51ED\u636E\uFF09\u3002\n --clear-all \u6E05\u9664\u5168\u90E8\u51ED\u636E\u51B7\u5374\u3002\n --help \u663E\u793A\u6B64\u5E2E\u52A9\u3002\n\n\u4E0D\u5E26\u53C2\u6570\u65F6\u5217\u51FA\u5904\u4E8E\u51B7\u5374\u4E2D\u7684\u51ED\u636E\u3001\u6062\u590D\u65F6\u95F4\u548C\u5269\u4F59\u65F6\u957F\u3002\n"
|
|
1689
|
+
"en": "Manage per-credential availability cooldowns (429 rate-limit cooldown).\n\nNote: cooldowns no longer block requests - quota/cooldown is reference info only\nand every dispatch still goes upstream. This command is for reading that reference\ninfo and for clearing stale entries (e.g. after topping up an account).\n\nUsage:\n nolo auth cooldown List all active cooldowns\n nolo auth cooldown --clear <credential> Clear one credential's cooldown\n nolo auth cooldown --clear-all Clear all cooldowns\n\nOptions:\n --clear <credential> Clear the cooldown for the given credential\n (e.g. chatgpt / claude / antigravity, or a custom API credential).\n --clear-all Clear every credential cooldown.\n --help Show this help.\n\nNo argument lists the currently cooled credentials with their human-readable\nrecovery time and remaining duration.\n",
|
|
1690
|
+
"zh": "\u7BA1\u7406\u5404\u51ED\u636E\u7684\u53EF\u7528\u6027\u51B7\u5374\uFF08429 \u9650\u6D41\u51B7\u5374\uFF09\u3002\n\n\u8BF4\u660E\uFF1A\u51B7\u5374\u4E0D\u518D\u62E6\u622A\u8BF7\u6C42\u2014\u2014\u989D\u5EA6/\u51B7\u5374\u53EA\u4F5C\u53C2\u8003\u4FE1\u606F\uFF0C\u4EFB\u4F55\u6D3E\u53D1\u90FD\u4F1A\u76F4\u8FBE\u4E0A\u6E38\u3002\n\u6B64\u547D\u4EE4\u7528\u4E8E\u67E5\u770B\u8FD9\u4EFD\u53C2\u8003\u4FE1\u606F\uFF0C\u4EE5\u53CA\u6E05\u7406\u9648\u65E7\u8BB0\u5F55\uFF08\u4F8B\u5982\u5145\u503C\u540E\uFF09\u3002\n\n\u7528\u6CD5\uFF1A\n nolo auth cooldown \u5217\u51FA\u6240\u6709\u751F\u6548\u4E2D\u7684\u51B7\u5374\n nolo auth cooldown --clear <credential> \u6E05\u9664\u6307\u5B9A\u51ED\u636E\u7684\u51B7\u5374\n nolo auth cooldown --clear-all \u6E05\u9664\u6240\u6709\u51B7\u5374\n\n\u9009\u9879\uFF1A\n --clear <credential> \u6E05\u9664\u6307\u5B9A\u51ED\u636E\u7684\u51B7\u5374\n \uFF08\u4F8B\u5982 chatgpt / claude / antigravity\uFF0C\u6216\u81EA\u5B9A\u4E49 API \u51ED\u636E\uFF09\u3002\n --clear-all \u6E05\u9664\u5168\u90E8\u51ED\u636E\u51B7\u5374\u3002\n --help \u663E\u793A\u6B64\u5E2E\u52A9\u3002\n\n\u4E0D\u5E26\u53C2\u6570\u65F6\u5217\u51FA\u5904\u4E8E\u51B7\u5374\u4E2D\u7684\u51ED\u636E\u3001\u6062\u590D\u65F6\u95F4\u548C\u5269\u4F59\u65F6\u957F\u3002\n"
|
|
1689
1691
|
},
|
|
1690
1692
|
"cliCooldownClearedCount": {
|
|
1691
1693
|
"en": "Cleared {0} credential cooldown(s).",
|
|
@@ -2059,10 +2061,12 @@ var commonStrings = {
|
|
|
2059
2061
|
zh: "\uFF08\u4E0A\u6E38\u7EA6 {0}\u540E\u590D\u4F4D\uFF09"
|
|
2060
2062
|
},
|
|
2061
2063
|
// 第 2 行:{0} = 冷却截止(本地时间,当天 HH:MM / 跨天 MM-DD HH:MM),
|
|
2062
|
-
// {1} =
|
|
2064
|
+
// {1} = 复位提示或空串。无 cooldownUntil 时整行省略。
|
|
2065
|
+
// 冷却只作参考:额度信息不再有否决权,请求不会被本地拦下,故文案不得承诺
|
|
2066
|
+
// 「每 N 分钟自动试探一次」——那套 gate 节流已随否决权一并拆除。
|
|
2063
2067
|
localRunRateLimitCooldown: {
|
|
2064
|
-
en: " Cooldown until {0}{1};
|
|
2065
|
-
zh: " \u51B7\u5374\u81F3 {0}{1}\uFF1B\
|
|
2068
|
+
en: " Cooldown until {0}{1}; requests are not blocked locally by this timestamp \u2014 it is only a reference for when the upstream may recover (it may not have recovered by then).",
|
|
2069
|
+
zh: " \u51B7\u5374\u81F3 {0}{1}\uFF1B\u672C\u5730\u4E0D\u636E\u6B64\u62E6\u622A\u8BF7\u6C42\uFF0C\u8BE5\u65F6\u523B\u4EC5\u4F5C\u53C2\u8003\uFF08\u4E0A\u6E38\u672A\u5FC5\u5C4A\u65F6\u6062\u590D\uFF09\u3002"
|
|
2066
2070
|
},
|
|
2067
2071
|
// 第 3 行:三个出口(换 agent / 强制走服务器 / 已充值清冷却)。
|
|
2068
2072
|
localRunRateLimitExits: {
|
|
@@ -2106,6 +2110,14 @@ var commonStrings = {
|
|
|
2106
2110
|
en: "Used Skill",
|
|
2107
2111
|
zh: "\u5DF2\u52A0\u8F7D\u6280\u80FD"
|
|
2108
2112
|
},
|
|
2113
|
+
loadSkillLabel: {
|
|
2114
|
+
en: "Load Skill",
|
|
2115
|
+
zh: "\u52A0\u8F7D\u6280\u80FD"
|
|
2116
|
+
},
|
|
2117
|
+
unnamedSkillReference: {
|
|
2118
|
+
en: "unknown reference",
|
|
2119
|
+
zh: "\u672A\u77E5\u5F15\u7528"
|
|
2120
|
+
},
|
|
2109
2121
|
// Background-process rows in the same zone (`❯ npm run dev · 已运行 3m · pid 123`).
|
|
2110
2122
|
// The pid is how the user targets /stop, so it is a fact, not decoration.
|
|
2111
2123
|
procZonePid: { en: "pid {0}", zh: "pid {0}" },
|
|
@@ -2626,6 +2638,15 @@ var commonStrings = {
|
|
|
2626
2638
|
};
|
|
2627
2639
|
|
|
2628
2640
|
// packages/cli/i18n/index.ts
|
|
2641
|
+
var controlMessageStrings = {
|
|
2642
|
+
controlQueued: { en: "queued", zh: "\u5DF2\u5165\u961F" },
|
|
2643
|
+
controlEnqueued: { en: "[enqueued {0}]", zh: "[\u5DF2\u5165\u961F {0}]" },
|
|
2644
|
+
controlContinued: { en: "continued", zh: "\u5DF2\u7EED\u8DD1" },
|
|
2645
|
+
controlConsumed: { en: "consumed", zh: "\u5DF2\u6D88\u8D39" },
|
|
2646
|
+
controlRun: { en: "run", zh: "\u4EFB\u52A1" },
|
|
2647
|
+
controlTarget: { en: "target", zh: "\u76EE\u6807" },
|
|
2648
|
+
controlMessage: { en: "message", zh: "\u6D88\u606F" }
|
|
2649
|
+
};
|
|
2629
2650
|
var STRINGS = {
|
|
2630
2651
|
...turnStrings,
|
|
2631
2652
|
...sessionStrings,
|
|
@@ -2638,7 +2659,8 @@ var STRINGS = {
|
|
|
2638
2659
|
...docCommandStrings,
|
|
2639
2660
|
...cliSurfaceStrings,
|
|
2640
2661
|
...dialogCommandStrings,
|
|
2641
|
-
...commonStrings
|
|
2662
|
+
...commonStrings,
|
|
2663
|
+
...controlMessageStrings
|
|
2642
2664
|
};
|
|
2643
2665
|
function t(key, ...params) {
|
|
2644
2666
|
const text = STRINGS[key][getCliLocale()];
|
|
@@ -3150,6 +3172,10 @@ var COMMAND_DESCRIPTIONS = {
|
|
|
3150
3172
|
en: "Evaluate JS in a tab, user-approved per call (--tab <id> --expr <js> [--await] [--timeout-ms N]) (Compatibility alias of `nolo browser eval`)",
|
|
3151
3173
|
zh: "\u5728\u6807\u7B7E\u9875\u4E2D\u6267\u884C JS\uFF0C\u6BCF\u6B21\u8C03\u7528\u9700\u7528\u6237\u6279\u51C6\uFF08--tab <id> --expr <js> [--await] [--timeout-ms N]\uFF09\uFF08`nolo browser eval` \u7684\u517C\u5BB9\u522B\u540D\uFF09"
|
|
3152
3174
|
},
|
|
3175
|
+
"ci cancel": {
|
|
3176
|
+
en: "Cancel an alpha deploy job",
|
|
3177
|
+
zh: "\u53D6\u6D88 alpha \u90E8\u7F72\u4EFB\u52A1"
|
|
3178
|
+
},
|
|
3153
3179
|
"ci status": {
|
|
3154
3180
|
en: "Show recent nolo-ci deploy jobs (alpha / main)",
|
|
3155
3181
|
zh: "\u67E5\u770B\u6700\u8FD1\u7684 nolo-ci \u90E8\u7F72\u4EFB\u52A1\uFF08alpha / main\uFF09"
|
|
@@ -3158,6 +3184,10 @@ var COMMAND_DESCRIPTIONS = {
|
|
|
3158
3184
|
en: "Show dialog tokens, recorded duration and speed by basis",
|
|
3159
3185
|
zh: "\u663E\u793A\u5BF9\u8BDD\u7684 token \u6570\u3001\u8BB0\u5F55\u65F6\u957F\u4E0E\u6309\u57FA\u51C6\u8BA1\u7B97\u7684\u901F\u5EA6"
|
|
3160
3186
|
},
|
|
3187
|
+
"usage": {
|
|
3188
|
+
en: "Summarize local token usage by day/provider/model/agent (reads DayStats via LevelDB iterator)",
|
|
3189
|
+
zh: "\u6309\u65E5\u3001\u63D0\u4F9B\u5546\u3001\u6A21\u578B\u548C\u667A\u80FD\u4F53\u6C47\u603B\u672C\u5730 token \u7528\u91CF\uFF08\u901A\u8FC7 LevelDB \u8FED\u4EE3\u5668\u8BFB\u53D6 DayStats\uFF09"
|
|
3190
|
+
},
|
|
3161
3191
|
"login": {
|
|
3162
3192
|
en: "Log in to Nolo",
|
|
3163
3193
|
zh: "\u767B\u5F55 Nolo"
|
|
@@ -3300,6 +3330,15 @@ function agentRunStatusWord(status) {
|
|
|
3300
3330
|
}
|
|
3301
3331
|
function agentRunCardLabels() {
|
|
3302
3332
|
return {
|
|
3333
|
+
controlMessage: {
|
|
3334
|
+
queued: t("controlQueued"),
|
|
3335
|
+
enqueued: (count) => t("controlEnqueued", String(count)),
|
|
3336
|
+
continued: t("controlContinued"),
|
|
3337
|
+
consumed: t("controlConsumed"),
|
|
3338
|
+
run: t("controlRun"),
|
|
3339
|
+
target: t("controlTarget"),
|
|
3340
|
+
message: t("controlMessage")
|
|
3341
|
+
},
|
|
3303
3342
|
runStatus: t("runStatusLabel"),
|
|
3304
3343
|
runStarted: t("runStartedLabel"),
|
|
3305
3344
|
runStopped: t("runStoppedLabel"),
|
|
@@ -2,13 +2,13 @@ import {
|
|
|
2
2
|
deleteDbRecord,
|
|
3
3
|
queryUserRecords,
|
|
4
4
|
readDbRecord
|
|
5
|
-
} from "./chunk-
|
|
5
|
+
} from "./chunk-MOIJOHA5.js";
|
|
6
6
|
import {
|
|
7
7
|
mergeAndDedupUserData
|
|
8
|
-
} from "./chunk-
|
|
8
|
+
} from "./chunk-PCLE46CE.js";
|
|
9
9
|
import {
|
|
10
10
|
isTombstoneRecord
|
|
11
|
-
} from "./chunk-
|
|
11
|
+
} from "./chunk-SVYO6AO7.js";
|
|
12
12
|
import {
|
|
13
13
|
toErrorMessage
|
|
14
14
|
} from "./chunk-HNMXYYJR.js";
|
|
@@ -7,7 +7,7 @@ import {
|
|
|
7
7
|
listUserRecordsFromServers,
|
|
8
8
|
readDbRecordFromServers,
|
|
9
9
|
readLiveDbRecordAfterTombstoneMerge
|
|
10
|
-
} from "./chunk-
|
|
10
|
+
} from "./chunk-VO4WSAVP.js";
|
|
11
11
|
import {
|
|
12
12
|
parsePositiveFiniteNumberOrFallback
|
|
13
13
|
} from "./chunk-Y5GCAMGP.js";
|
|
@@ -43,13 +43,13 @@ import {
|
|
|
43
43
|
boundSummaryText,
|
|
44
44
|
buildDialogReadEnvelope,
|
|
45
45
|
projectDialogReadForAgent
|
|
46
|
-
} from "./chunk-
|
|
46
|
+
} from "./chunk-RZOV7OMV.js";
|
|
47
47
|
import {
|
|
48
48
|
asRecordOrEmpty
|
|
49
49
|
} from "./chunk-KX6YBIHG.js";
|
|
50
50
|
import {
|
|
51
51
|
resolveRunsDir
|
|
52
|
-
} from "./chunk-
|
|
52
|
+
} from "./chunk-NSAPDIN2.js";
|
|
53
53
|
import {
|
|
54
54
|
toErrorMessage
|
|
55
55
|
} from "./chunk-HNMXYYJR.js";
|
|
@@ -69,7 +69,7 @@ import {
|
|
|
69
69
|
} from "./chunk-4SN6J65J.js";
|
|
70
70
|
import {
|
|
71
71
|
t
|
|
72
|
-
} from "./chunk-
|
|
72
|
+
} from "./chunk-VNYYOX3V.js";
|
|
73
73
|
import {
|
|
74
74
|
asNonEmptyStringArray,
|
|
75
75
|
asTrimmedNonEmptyStringArray
|
|
@@ -780,7 +780,7 @@ function isExplicitDialogIdMismatch(meta, dialogId) {
|
|
|
780
780
|
return meta && typeof meta === "object" && "id" in meta && meta.id != null && String(meta.id) !== dialogId;
|
|
781
781
|
}
|
|
782
782
|
async function readDialogFromLocalDb(dialogKey, dialogId, limit, readLocalDialog) {
|
|
783
|
-
const reader = readLocalDialog ?? (await import("./localDialogRead-
|
|
783
|
+
const reader = readLocalDialog ?? (await import("./localDialogRead-7NNDVVF7.js")).readDialogFromLocalDb;
|
|
784
784
|
const result = await reader({ dialogKey, dialogId, limit });
|
|
785
785
|
return {
|
|
786
786
|
...result,
|
|
@@ -795,7 +795,7 @@ async function readLocalDialogAtDbPathDefault(args) {
|
|
|
795
795
|
);
|
|
796
796
|
}
|
|
797
797
|
const db = await getDefaultCliLocalRuntimeDb();
|
|
798
|
-
const { readDialogFromLocalDb: reader } = await import("./localDialogRead-
|
|
798
|
+
const { readDialogFromLocalDb: reader } = await import("./localDialogRead-7NNDVVF7.js");
|
|
799
799
|
return reader({ ...args, db });
|
|
800
800
|
}
|
|
801
801
|
async function readDialogFromLocalDbWithFallback(args) {
|
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
import {
|
|
2
|
+
require_addLeadingZeros,
|
|
3
|
+
require_interopRequireDefault,
|
|
4
|
+
require_requiredArgs,
|
|
5
|
+
require_toDate
|
|
6
|
+
} from "./chunk-MMA3LZ3W.js";
|
|
7
|
+
import {
|
|
8
|
+
__commonJS
|
|
9
|
+
} from "./chunk-4VNS5WPM.js";
|
|
10
|
+
|
|
11
|
+
// node_modules/date-fns/formatISO/index.js
|
|
12
|
+
var require_formatISO = __commonJS({
|
|
13
|
+
"node_modules/date-fns/formatISO/index.js"(exports, module) {
|
|
14
|
+
"use strict";
|
|
15
|
+
var _interopRequireDefault = require_interopRequireDefault().default;
|
|
16
|
+
Object.defineProperty(exports, "__esModule", {
|
|
17
|
+
value: true
|
|
18
|
+
});
|
|
19
|
+
exports.default = formatISO;
|
|
20
|
+
var _index = _interopRequireDefault(require_toDate());
|
|
21
|
+
var _index2 = _interopRequireDefault(require_addLeadingZeros());
|
|
22
|
+
var _index3 = _interopRequireDefault(require_requiredArgs());
|
|
23
|
+
function formatISO(date, options) {
|
|
24
|
+
var _options$format, _options$representati;
|
|
25
|
+
(0, _index3.default)(1, arguments);
|
|
26
|
+
var originalDate = (0, _index.default)(date);
|
|
27
|
+
if (isNaN(originalDate.getTime())) {
|
|
28
|
+
throw new RangeError("Invalid time value");
|
|
29
|
+
}
|
|
30
|
+
var format = String((_options$format = options === null || options === void 0 ? void 0 : options.format) !== null && _options$format !== void 0 ? _options$format : "extended");
|
|
31
|
+
var representation = String((_options$representati = options === null || options === void 0 ? void 0 : options.representation) !== null && _options$representati !== void 0 ? _options$representati : "complete");
|
|
32
|
+
if (format !== "extended" && format !== "basic") {
|
|
33
|
+
throw new RangeError("format must be 'extended' or 'basic'");
|
|
34
|
+
}
|
|
35
|
+
if (representation !== "date" && representation !== "time" && representation !== "complete") {
|
|
36
|
+
throw new RangeError("representation must be 'date', 'time', or 'complete'");
|
|
37
|
+
}
|
|
38
|
+
var result = "";
|
|
39
|
+
var tzOffset = "";
|
|
40
|
+
var dateDelimiter = format === "extended" ? "-" : "";
|
|
41
|
+
var timeDelimiter = format === "extended" ? ":" : "";
|
|
42
|
+
if (representation !== "time") {
|
|
43
|
+
var day = (0, _index2.default)(originalDate.getDate(), 2);
|
|
44
|
+
var month = (0, _index2.default)(originalDate.getMonth() + 1, 2);
|
|
45
|
+
var year = (0, _index2.default)(originalDate.getFullYear(), 4);
|
|
46
|
+
result = "".concat(year).concat(dateDelimiter).concat(month).concat(dateDelimiter).concat(day);
|
|
47
|
+
}
|
|
48
|
+
if (representation !== "date") {
|
|
49
|
+
var offset = originalDate.getTimezoneOffset();
|
|
50
|
+
if (offset !== 0) {
|
|
51
|
+
var absoluteOffset = Math.abs(offset);
|
|
52
|
+
var hourOffset = (0, _index2.default)(Math.floor(absoluteOffset / 60), 2);
|
|
53
|
+
var minuteOffset = (0, _index2.default)(absoluteOffset % 60, 2);
|
|
54
|
+
var sign = offset < 0 ? "+" : "-";
|
|
55
|
+
tzOffset = "".concat(sign).concat(hourOffset, ":").concat(minuteOffset);
|
|
56
|
+
} else {
|
|
57
|
+
tzOffset = "Z";
|
|
58
|
+
}
|
|
59
|
+
var hour = (0, _index2.default)(originalDate.getHours(), 2);
|
|
60
|
+
var minute = (0, _index2.default)(originalDate.getMinutes(), 2);
|
|
61
|
+
var second = (0, _index2.default)(originalDate.getSeconds(), 2);
|
|
62
|
+
var separator = result === "" ? "" : "T";
|
|
63
|
+
var time = [hour, minute, second].join(timeDelimiter);
|
|
64
|
+
result = "".concat(result).concat(separator).concat(time).concat(tzOffset);
|
|
65
|
+
}
|
|
66
|
+
return result;
|
|
67
|
+
}
|
|
68
|
+
module.exports = exports.default;
|
|
69
|
+
}
|
|
70
|
+
});
|
|
71
|
+
|
|
72
|
+
export {
|
|
73
|
+
require_formatISO
|
|
74
|
+
};
|
|
@@ -6,7 +6,7 @@ import {
|
|
|
6
6
|
buildBuiltinObjectSkillDbKey,
|
|
7
7
|
buildBuiltinObjectSkillPageContent,
|
|
8
8
|
buildCodeWorkDiscipline
|
|
9
|
-
} from "./chunk-
|
|
9
|
+
} from "./chunk-EHGEOAHI.js";
|
|
10
10
|
import {
|
|
11
11
|
buildSkillDocMarkdown,
|
|
12
12
|
resolvePageSkillMetadata
|
|
@@ -16,7 +16,7 @@ import {
|
|
|
16
16
|
} from "./chunk-Y6ORVLSS.js";
|
|
17
17
|
import {
|
|
18
18
|
canonicalizeToolNames
|
|
19
|
-
} from "./chunk-
|
|
19
|
+
} from "./chunk-ZCWRMUWT.js";
|
|
20
20
|
import {
|
|
21
21
|
asNonEmptyStringArray
|
|
22
22
|
} from "./chunk-I42VC5KR.js";
|
|
@@ -1200,7 +1200,7 @@ function buildAutoReviewSkillConfig(slug) {
|
|
|
1200
1200
|
id: buildAutoReviewSkillId(slug),
|
|
1201
1201
|
name: "\u81EA\u52A8\u5BA1\u67E5\u5408\u5E76\uFF08auto-review\uFF09",
|
|
1202
1202
|
triggerMode: "explicit",
|
|
1203
|
-
description: "\u663E\u5F0F\u5F00\u542F\u540E\uFF0C\u5728\u7528\u6237\u6307\u5B9A\u7684\u4EFB\u52A1\u3001\u5F53\u524D\u5BF9\u8BDD\u6216\u9879\u76EE\u4F5C\u7528\u57DF\u6301\u7EED\u6267\u884C\u72EC\u7ACB review\u3001\u4FEE\u590D\u3001\u63D0\u4EA4\u4E0E\u672C\u5730\u96C6\u6210\u5206\u652F\u5408\u5E76\uFF1B\u4E0D\
|
|
1203
|
+
description: "\u6B64\u6280\u80FD\u53EF\u88AB\u63A8\u8350\u7528\u4E8E\u53D1\u73B0\uFF0C\u4F46\u5FC5\u987B\u7531\u7528\u6237\u663E\u5F0F\u5F00\u542F\u540E\uFF0C\u624D\u5728\u7528\u6237\u6307\u5B9A\u7684\u4EFB\u52A1\u3001\u5F53\u524D\u5BF9\u8BDD\u6216\u9879\u76EE\u4F5C\u7528\u57DF\u6301\u7EED\u6267\u884C\u72EC\u7ACB review\u3001\u4FEE\u590D\u3001\u63D0\u4EA4\u4E0E\u672C\u5730\u96C6\u6210\u5206\u652F\u5408\u5E76\uFF1B\u63A8\u8350\u4E0D\u4EE3\u8868\u542F\u7528\u3002push \u662F\u72EC\u7ACB\u6743\u9650\u3002\u89E6\u53D1\u8BCD\uFF1Aauto-review\u3001\u81EA\u52A8\u5BA1\u67E5\u3001review \u540E\u81EA\u52A8\u5408\u5E76\u3001\u5BA1\u5B8C\u76F4\u63A5\u63D0\u4EA4\u5408\u5E76\u3001auto review\u3002\u53EA\u8BFB\u4EFB\u52A1\u4E0D\u9002\u7528\u3002"
|
|
1204
1204
|
};
|
|
1205
1205
|
}
|
|
1206
1206
|
var BODY = [
|
|
@@ -1208,9 +1208,9 @@ var BODY = [
|
|
|
1208
1208
|
"",
|
|
1209
1209
|
"## \u542F\u7528\u4E0E\u6743\u9650\u8FB9\u754C",
|
|
1210
1210
|
"- \u7528\u6237\u53EF\u6307\u5B9A\u4EFB\u52A1\u3001\u5F53\u524D\u5BF9\u8BDD\u6216\u9879\u76EE\u4F5C\u7528\u57DF\u3002\u5355\u6B21\u8986\u76D6\u3001\u6682\u505C\u6216\u5173\u95ED\u4F18\u5148\uFF1B\u6536\u5230 stop/\u505C\u6B62\u7ACB\u5373\u505C\u6B62\uFF0C\u4E0D\u91CD\u65B0\u89C4\u5212\u65E2\u5B9A\u65B9\u5411\u3002",
|
|
1211
|
-
"- \u4F5C\u7528\u57DF\u6301\u7EED\u4E0D\u4EE3\u8868\u5E73\u53F0\u5DF2\u7ECF\u6301\u4E45\u4FDD\u5B58\u914D\u7F6E\u3002\u672A\u9A8C\u8BC1\u6301\u4E45\u914D\u7F6E\u80FD\u529B\u524D\uFF0C\u4E0D\u5F97\u58F0\u79F0\u8DE8\u5BF9\u8BDD\u81EA\u52A8\u4FDD\u5B58\u6216\u751F\u6548\uFF1B\u9879\u76EE\u542F\u7528\u6301\u4E45\u80FD\u529B\u4EE5\u73B0\u6709\u9879\u76EE\u914D\u7F6E\u5DF2\u52A0\u8F7D\u4E3A\u524D\u63D0\uFF0C\u4E0D\u65B0\u9020\u914D\u7F6E\u7CFB\u7EDF\u3002\u4FDD\u6301\u663E\u5F0F opt-in\
|
|
1211
|
+
"- \u4F5C\u7528\u57DF\u6301\u7EED\u4E0D\u4EE3\u8868\u5E73\u53F0\u5DF2\u7ECF\u6301\u4E45\u4FDD\u5B58\u914D\u7F6E\u3002\u672A\u9A8C\u8BC1\u6301\u4E45\u914D\u7F6E\u80FD\u529B\u524D\uFF0C\u4E0D\u5F97\u58F0\u79F0\u8DE8\u5BF9\u8BDD\u81EA\u52A8\u4FDD\u5B58\u6216\u751F\u6548\uFF1B\u9879\u76EE\u542F\u7528\u6301\u4E45\u80FD\u529B\u4EE5\u73B0\u6709\u9879\u76EE\u914D\u7F6E\u5DF2\u52A0\u8F7D\u4E3A\u524D\u63D0\uFF0C\u4E0D\u65B0\u9020\u914D\u7F6E\u7CFB\u7EDF\u3002\u4FDD\u6301\u663E\u5F0F opt-in\uFF1B\u63A8\u8350\u4EC5\u7528\u4E8E\u53D1\u73B0\uFF0C\u4E0D\u81EA\u52A8\u542F\u7528\u4E8E\u4EFB\u4F55\u4EFB\u52A1\u6216\u9879\u76EE\u3002",
|
|
1212
1212
|
"- push \u662F\u72EC\u7ACB\u6743\u9650\uFF0C\u9ED8\u8BA4\u672A\u6388\u6743\uFF1B\u7B26\u5408\u4E0A\u5C42\u89C4\u5219\u7684\u5F53\u6B21\u660E\u786E\u6388\u6743\u540E\uFF0C\u53EF\u5728\u672C\u5730\u5408\u5E76\u540E\u7EE7\u7EED\u9A8C\u6536\u3001\u8BC1\u636E\u9884\u68C0\u4E0E push\u3002\u4E0D\u5F97\u58F0\u79F0 skill \u6216\u4ED3\u5E93\u89C4\u5219\u6388\u4E88\u6301\u7EED push \u6743\u3002main/production \u5408\u5E76\u3001\u53D1\u5E03\u3001\u56DE\u6EDA\u53E6\u9700\u5F53\u6B21\u6279\u51C6\u3002",
|
|
1213
|
-
"- \u9700\u7528\u6237\u4EB2\u81EA\u9A8C\u6536\u7684\u6539\u52A8\uFF08\u5982 UI/\u4F53\u9A8C\uFF09\uFF1A\u5148\u4EA4\u4ED8\u53EF\u6D4B\u8BD5\u4EA7\u7269\uFF1B\u7528\u6237\
|
|
1213
|
+
"- \u9700\u7528\u6237\u4EB2\u81EA\u9A8C\u6536\u7684\u6539\u52A8\uFF08\u5982 UI/\u4F53\u9A8C\uFF09\uFF1A\u5148\u4EA4\u4ED8\u53EF\u6D4B\u8BD5\u4EA7\u7269\u5E76\u7B49\u5F85\u7528\u6237\u9A8C\u6536\uFF1B\u7B49\u5F85\u9A8C\u6536\u4E0D\u91CD\u590D\u8BE2\u95EE\u5DF2\u83B7\u6301\u7EED\u6388\u6743\u7684 review\u3002auto-review \u4ECD\u5728\u5F53\u524D\u4F5C\u7528\u57DF\u4E14\u7528\u6237\u9A8C\u6536\u901A\u8FC7\u540E\uFF0C\u6301\u7EED\u6388\u6743\u7EE7\u7EED\u6700\u7EC8 review\u3001\u4FEE\u590D\u3001\u63D0\u4EA4\u4E0E\u672C\u5730\u96C6\u6210\uFF0C\u4E0D\u518D\u91CD\u590D\u8BE2\u95EE\u51C6\u5907\u63D0\u4EA4\u786E\u8BA4\u3002stop/\u6682\u505C/\u5355\u6B21\u8986\u76D6\u4F18\u5148\uFF0Cpush\u3001main/production \u5408\u5E76\u3001\u53D1\u5E03\u4E0E\u56DE\u6EDA\u4ECD\u72EC\u7ACB\u6388\u6743\u3002",
|
|
1214
1214
|
"",
|
|
1215
1215
|
"## \u6D41\u7A0B",
|
|
1216
1216
|
"1. **\u9694\u79BB**\uFF1A\u6539\u52A8\u5E94\u5728\u72EC\u7ACB worktree/\u5206\u652F\u4E2D\u8FDB\u884C\uFF1B\u4E0D\u5728\u5C31\u6309\u9879\u76EE\u65E2\u6709\u6D41\u7A0B\u5EFA\u7ACB\u3002",
|
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
import {
|
|
2
2
|
buildStaticUserPolicyContext,
|
|
3
3
|
resolveSpaceContextPreloadPlan
|
|
4
|
-
} from "./chunk-
|
|
4
|
+
} from "./chunk-ZNWI6OVT.js";
|
|
5
5
|
import {
|
|
6
6
|
fetchReferenceContents,
|
|
7
7
|
mergeReferences,
|
|
8
8
|
resolveReferenceAssets,
|
|
9
9
|
resolveToolsFromKeys
|
|
10
|
-
} from "./chunk-
|
|
10
|
+
} from "./chunk-TX5EYMGT.js";
|
|
11
11
|
import {
|
|
12
12
|
UI_CARD_ENVELOPE_MAX_BYTES,
|
|
13
13
|
getAllToolRuns,
|
|
@@ -18,14 +18,14 @@ import {
|
|
|
18
18
|
selectSpaceContextLevel,
|
|
19
19
|
selectUserTonePreset,
|
|
20
20
|
uiCardFallback
|
|
21
|
-
} from "./chunk-
|
|
21
|
+
} from "./chunk-HUBHAQK2.js";
|
|
22
22
|
import {
|
|
23
23
|
resolveAgentRecommendedSkillNames,
|
|
24
24
|
resolveAgentRequiredPackIds
|
|
25
|
-
} from "./chunk-
|
|
25
|
+
} from "./chunk-R5O4QAWG.js";
|
|
26
26
|
import {
|
|
27
27
|
getDocState
|
|
28
|
-
} from "./chunk-
|
|
28
|
+
} from "./chunk-6DWMYIUY.js";
|
|
29
29
|
import {
|
|
30
30
|
resolveToolBaseUrl
|
|
31
31
|
} from "./chunk-MYOH447Z.js";
|
|
@@ -34,15 +34,15 @@ import {
|
|
|
34
34
|
getModelPricing,
|
|
35
35
|
getPrices,
|
|
36
36
|
hasExplicitAgentPricing
|
|
37
|
-
} from "./chunk-
|
|
37
|
+
} from "./chunk-INN4LTAJ.js";
|
|
38
38
|
import {
|
|
39
39
|
getTableState
|
|
40
|
-
} from "./chunk-
|
|
40
|
+
} from "./chunk-7Y4YTDQF.js";
|
|
41
41
|
import {
|
|
42
42
|
PERSONALIZATION_DIALOG_CATEGORY,
|
|
43
43
|
buildPersonalizationDialogPolicyContext,
|
|
44
44
|
selectAllMsgs
|
|
45
|
-
} from "./chunk-
|
|
45
|
+
} from "./chunk-ZXOUUDCG.js";
|
|
46
46
|
import {
|
|
47
47
|
getCurrentSpaceIdRaw,
|
|
48
48
|
getViewMode
|
|
@@ -53,7 +53,7 @@ import {
|
|
|
53
53
|
import {
|
|
54
54
|
read,
|
|
55
55
|
selectById
|
|
56
|
-
} from "./chunk-
|
|
56
|
+
} from "./chunk-FW6YHHLI.js";
|
|
57
57
|
import {
|
|
58
58
|
getSessionSnapshotForState,
|
|
59
59
|
selectIdentityUserBalance,
|
|
@@ -68,21 +68,21 @@ import {
|
|
|
68
68
|
expandEnabledPackPromptPatches,
|
|
69
69
|
expandEnabledPacks,
|
|
70
70
|
resolveEffectiveEnabledPacks
|
|
71
|
-
} from "./chunk-
|
|
71
|
+
} from "./chunk-EHGEOAHI.js";
|
|
72
72
|
import {
|
|
73
|
+
planContextUsage,
|
|
73
74
|
projectToolMessageContent
|
|
74
|
-
} from "./chunk-
|
|
75
|
+
} from "./chunk-YB3YZK56.js";
|
|
75
76
|
import {
|
|
76
77
|
attachmentKind,
|
|
77
78
|
normalizeAttachmentPart
|
|
78
79
|
} from "./chunk-WJZOQR2J.js";
|
|
79
80
|
import {
|
|
80
81
|
extractReferenceKeysFromMessage
|
|
81
|
-
} from "./chunk-
|
|
82
|
+
} from "./chunk-V5Y3R6BT.js";
|
|
82
83
|
import {
|
|
83
|
-
getModelContextWindow
|
|
84
|
-
|
|
85
|
-
} from "./chunk-BTYQAODF.js";
|
|
84
|
+
getModelContextWindow
|
|
85
|
+
} from "./chunk-7BT37FK3.js";
|
|
86
86
|
import {
|
|
87
87
|
asRecordOrEmpty
|
|
88
88
|
} from "./chunk-KX6YBIHG.js";
|
|
@@ -96,7 +96,7 @@ import {
|
|
|
96
96
|
import {
|
|
97
97
|
canonicalizeToolNames,
|
|
98
98
|
prioritizeToolNames
|
|
99
|
-
} from "./chunk-
|
|
99
|
+
} from "./chunk-ZCWRMUWT.js";
|
|
100
100
|
import {
|
|
101
101
|
extractCustomId
|
|
102
102
|
} from "./chunk-M2EJHDJP.js";
|
|
@@ -112,7 +112,7 @@ import {
|
|
|
112
112
|
} from "./chunk-KUG52IAP.js";
|
|
113
113
|
import {
|
|
114
114
|
metaKey
|
|
115
|
-
} from "./chunk-
|
|
115
|
+
} from "./chunk-JY5NGFFH.js";
|
|
116
116
|
import {
|
|
117
117
|
asNonEmptyStringArray
|
|
118
118
|
} from "./chunk-I42VC5KR.js";
|