nolo-cli 0.97.0-alpha.2 → 0.97.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/README.md +1 -1
- package/{_executeModel-G2MRKK2K.js → _executeModel-DYHTQJZC.js} +68 -63
- package/{action-YVYQEAAV.js → action-GI44T4DR.js} +10 -10
- package/{addContentAction-O7R66HEX.js → addContentAction-B2DRF7P6.js} +9 -9
- package/{addDialogAgentAction-74OA7KYP.js → addDialogAgentAction-T3I7IXPK.js} +15 -17
- package/{agentDeleteCommand-4427YKQF.js → agentDeleteCommand-LLNNP3AM.js} +47 -43
- package/{agentEmailCommands-RNBKKO7Q.js → agentEmailCommands-EO3H2LDW.js} +90 -82
- package/agentListCommands-J3MWAZWO.js +741 -0
- package/{agentMachineCommands-FOFX5S2Q.js → agentMachineCommands-V65VOQNK.js} +42 -38
- package/{agentProviderCommands-GNPTL5XR.js → agentProviderCommands-EMZCM6VA.js} +1 -1
- package/{agentPullCommand-O5MPVJ5E.js → agentPullCommand-HF4A42D4.js} +1 -1
- package/agentRecordCommands-VY35OMX3.js +136 -0
- package/{agentRunCommand-2W3Q3A7M.js → agentRunCommand-CSEX4QIH.js} +90 -80
- package/{agentRunControl-WCTKX5VL.js → agentRunControl-5T64LM2M.js} +2 -2
- package/{agentRuntimeLocal-IW3IM5P6.js → agentRuntimeLocal-AY6YNUAL.js} +44 -36
- package/{agentSlice-SK47GTN7.js → agentSlice-FOZUXW7X.js} +11 -11
- package/{appDeleteCommands-ZXLXNRHF.js → appDeleteCommands-QTTL3QF3.js} +42 -38
- package/{appDeployCommands-PWB4YERK.js → appDeployCommands-43LJECGV.js} +42 -38
- package/{appDeployStatusCommands-2EZKZP7Y.js → appDeployStatusCommands-L5BKOLYW.js} +42 -38
- package/{appGetCommands-JNUKOWHO.js → appGetCommands-HOFZKOPC.js} +42 -38
- package/{appListCommands-6X3H67SS.js → appListCommands-I7C3SJCE.js} +42 -38
- package/{authCommand-F4EFRRX6.js → authCommand-2YPMMIJN.js} +117 -23
- package/{authCommands-RGOGCPP6.js → authCommands-FFDS4FVX.js} +7 -5
- package/{builtinSkillRegistry-FUAVTRVZ.js → builtinSkillRegistry-CALVIJTX.js} +6 -5
- package/{chatQueueReduxAdapter-ZJ555AT2.js → chatQueueReduxAdapter-NMEZRYC2.js} +30 -29
- package/{chromeCommands-FZYAU75D.js → chromeCommands-K27J4OVZ.js} +124 -28
- package/{chromeOpsCommands-62P2Q2YB.js → chromeOpsCommands-IXRLN57H.js} +4 -3
- package/{chunk-6OZ36FXI.js → chunk-27ONFIEY.js} +22 -4
- package/{chunk-JEDZAO7L.js → chunk-2SYTUTLI.js} +257 -37
- package/{chunk-YQTQQX2H.js → chunk-2UV22D2F.js} +1 -1
- package/{chunk-7D6Z6AA4.js → chunk-3BFMH6GE.js} +6 -7
- package/{chunk-OIVSQH2O.js → chunk-3BXNTXYI.js} +299 -5
- package/{chunk-QIAVMDHY.js → chunk-3LX6YE3P.js} +4 -4
- package/{chunk-EYAQT56M.js → chunk-4DPP773Q.js} +2 -2
- package/chunk-4LCOCOR5.js +50 -0
- package/{chunk-2GRGFCF6.js → chunk-4VJAC32I.js} +2 -1
- package/{chunk-MC4XLIJ7.js → chunk-523DITKR.js} +1 -1
- package/{chunk-E4MARS3Q.js → chunk-5GVBDNTO.js} +1 -1
- package/chunk-5J3PYNUP.js +255 -0
- package/chunk-5MMAK75Q.js +15 -0
- package/{chunk-JPGCXHNM.js → chunk-5OA5HMTL.js} +1 -1
- package/{chunk-42V6BK2E.js → chunk-62IL3KQV.js} +4 -34
- package/{chunk-6YTOJY35.js → chunk-6D2JFXLY.js} +35 -0
- package/{chunk-3BMYXEUW.js → chunk-6O4IK4V2.js} +1 -1
- package/{chunk-IIVGDG4I.js → chunk-6PHKBY2Q.js} +10 -4
- package/{chunk-ASQYTZTR.js → chunk-6ZWMH6TJ.js} +69 -36
- package/{chunk-ABQYVJBJ.js → chunk-7CHC4W22.js} +1 -1
- package/{chunk-GQBOR3G6.js → chunk-7KVZ5LDQ.js} +2 -2
- package/{chunk-SDTTBMBU.js → chunk-7WCQEMPB.js} +888 -1079
- package/{chunk-BLJWCTRL.js → chunk-AOPCEXTB.js} +1 -1
- package/{chunk-3SK4LEIH.js → chunk-AQ3I6DZE.js} +853 -209
- package/{chunk-Q554LLSI.js → chunk-AUDNYVRC.js} +1 -1
- package/{chunk-RG6JBBX5.js → chunk-AWF3WO5R.js} +166 -13
- package/{chunk-GPCZ7UXG.js → chunk-AZRHIN5B.js} +1 -1
- package/chunk-BMQ2MJUK.js +153 -0
- package/{chunk-B4ZH7KVO.js → chunk-C3VLSD4K.js} +236 -36
- package/{chunk-4EZHSKTB.js → chunk-C53ZG23R.js} +2 -2
- package/chunk-CHOZJMJS.js +78 -0
- package/{chunk-HJUYAD4A.js → chunk-CPUFH46E.js} +8 -8
- package/{chunk-LS2ZANRJ.js → chunk-CTUQJVQM.js} +1 -1
- package/{chunk-BP4XNZRM.js → chunk-CU3QB4HW.js} +3 -3
- package/{chunk-ACTMNVHM.js → chunk-CYSYR67N.js} +1 -1
- package/{chunk-KQ4ONNQD.js → chunk-DAWDCRIG.js} +82 -8
- package/{chunk-VLTIYV3X.js → chunk-DCLMZ5TX.js} +4 -4
- package/{chunk-UKZDAFYT.js → chunk-DSSTTEKI.js} +6 -10
- package/{chunk-L7I247DF.js → chunk-EKS2APRJ.js} +21 -5
- package/{chunk-HVURBGF3.js → chunk-ESRMFY7G.js} +2 -2
- package/{chunk-TRV2MIDW.js → chunk-EXAJ6DCR.js} +1 -0
- package/chunk-FD5K6MPI.js +7808 -0
- package/chunk-GMZLP5DV.js +82 -0
- package/{chunk-FDTR4QJ6.js → chunk-H6A6X4EK.js} +32 -1
- package/{chunk-DVINR3PL.js → chunk-HDLLCBRF.js} +1 -1
- package/{chunk-OIMN34NA.js → chunk-HKTIX4ZE.js} +23 -76
- package/{chunk-ONXOABJR.js → chunk-HNGRBWYF.js} +3 -0
- package/{chunk-H62HCIUP.js → chunk-HYZIYH2H.js} +11 -10
- package/{chunk-3VNWWVKB.js → chunk-I3QNET24.js} +30 -17
- package/{chunk-WV42OMV7.js → chunk-IAESIMK7.js} +4 -4
- package/{chunk-O35EJJVP.js → chunk-JJ7P5CIY.js} +56 -34
- package/{chunk-OZPMVBJI.js → chunk-JZ5II5UV.js} +15 -20
- package/{chunk-JRQFUXY7.js → chunk-KCDUTE5V.js} +96 -19
- package/{chunk-QLNJRTKI.js → chunk-KHVJXNRY.js} +100 -100
- package/{chunk-7S4YWN7P.js → chunk-MX574M24.js} +1 -1
- package/{chunk-FZGV4FGK.js → chunk-NUHHBEJC.js} +378 -187
- package/{chunk-53HEEOTT.js → chunk-O26PCYLS.js} +80 -13
- package/{chunk-3DII57IT.js → chunk-O2OWEFII.js} +1 -1
- package/{chunk-TDRTS7QW.js → chunk-O6JPWEEK.js} +77 -17
- package/chunk-OCZKATRC.js +129 -0
- package/{chunk-6D6VBVEW.js → chunk-OTEMQQZI.js} +80 -14
- package/{chunk-ADTY7BWR.js → chunk-OYOWA3CP.js} +24 -5
- package/chunk-P6GMCCAT.js +870 -0
- package/{chunk-R7N5TMTV.js → chunk-PQTSOHBT.js} +13 -13
- package/{chunk-WGR3J4Q6.js → chunk-Q4GP72HX.js} +9 -3
- package/{chunk-DHDMC6FO.js → chunk-QKUMVP3O.js} +11 -6
- package/{chunk-X4QAVDFE.js → chunk-RMAWULCS.js} +498 -480
- package/{chunk-V4MJDUSR.js → chunk-RSEEDUMS.js} +2 -2
- package/{chunk-UZGQNTVW.js → chunk-S5XGT6GB.js} +5 -3
- package/{chunk-76WEAXJB.js → chunk-SACTCJAC.js} +18 -15
- package/{chunk-AFUORTY4.js → chunk-SONWNI3L.js} +21 -21
- package/{chunk-BYMV6QZG.js → chunk-TNIX77YM.js} +4 -0
- package/{chunk-2YMRWISD.js → chunk-TU5NE4U3.js} +9 -84
- package/chunk-TY3TIUJK.js +89 -0
- package/chunk-UEGYKNHO.js +13349 -0
- package/chunk-UNYJU5L6.js +780 -0
- package/{chunk-J4MOO56S.js → chunk-UQNS32WZ.js} +10 -2
- package/chunk-VIWDGTDA.js +8 -0
- package/chunk-VJVNU77E.js +83 -0
- package/{chunk-EHKBVWKL.js → chunk-VYN7O3OY.js} +1 -1
- package/{chunk-NEDZDG3M.js → chunk-WILHZY7K.js} +45 -45
- package/{chunk-UKWGR5SS.js → chunk-WIWM4FE3.js} +187 -398
- package/{chunk-O6OSWFZQ.js → chunk-XUWRURDF.js} +6 -0
- package/{chunk-Q67DOFOO.js → chunk-Y3PMXGLH.js} +2 -0
- package/{chunk-SNPMM7H3.js → chunk-Y6AZRODX.js} +13 -13
- package/{chunk-RSJECD7I.js → chunk-YJKDTJ2X.js} +7 -7
- package/{chunk-SH43IESU.js → chunk-YUNJN43V.js} +44 -9
- package/{chunk-TOP2VXOR.js → chunk-Z4CSIXYP.js} +2 -2
- package/{chunk-2F7RJC6L.js → chunk-ZOVKKMF6.js} +1 -1
- package/chunk-ZRAU6T47.js +56 -0
- package/{chunk-Z77CRGTW.js → chunk-ZYWQNCBN.js} +1 -1
- package/commandRegistry-MRPLKSWP.js +833 -0
- package/{contentThunks-YLWTUILV.js → contentThunks-TD5YOAQM.js} +32 -30
- package/{cooldownCommands-REAWYVTY.js → cooldownCommands-ZLEPIB4A.js} +2 -2
- package/{createAgentAutomationAction-HFLPOBWQ.js → createAgentAutomationAction-XUG62ANM.js} +32 -30
- package/{createDialogAction-4H52MURR.js → createDialogAction-L3CMZKNL.js} +36 -33
- package/{createPageAction-5YDRMJOS.js → createPageAction-WJ3MX6JS.js} +38 -36
- package/{chunk-NUVMWYJM.js → cursorProvider-YGGNMVWX.js} +2494 -9892
- package/{dbSlice-XVWBAGYN.js → dbSlice-DQ32LYTJ.js} +8 -8
- package/{deleteFile-YG6QMJLU.js → deleteFile-NX6QHCWZ.js} +3 -3
- package/{dialogCommands-KFK2FF5B.js → dialogCommands-VM3I4HBW.js} +45 -41
- package/{dialogSlice-TMSHUGEM.js → dialogSlice-DSHG3YUE.js} +36 -29
- package/{dist-VODFSGNG.js → dist-NJC2W7I4.js} +61 -54
- package/{docCreateCommands-V777WOZ7.js → docCreateCommands-TYUJPCOP.js} +44 -40
- package/{docDeleteCommands-5KHT7Z5Q.js → docDeleteCommands-5XEG2LXO.js} +44 -40
- package/{docReadCommands-BLROGWP3.js → docReadCommands-M6RO6QHV.js} +43 -39
- package/{docStore-OBC5QOW7.js → docStore-RYOGMPEF.js} +11 -10
- package/{docUpdateCommands-QXOZHQ5H.js → docUpdateCommands-DKOFTZRX.js} +44 -40
- package/{fetchMessages-EIU7UFFK.js → fetchMessages-67MEFPZR.js} +2 -2
- package/{getPricing-LUSEABA6.js → getPricing-NMMFT3YI.js} +3 -3
- package/{handleSendMessageAction-4LGNXH6T.js → handleSendMessageAction-XH742B27.js} +91 -83
- package/index.js +87 -884
- package/{localDialogRead-BTFJ4V2I.js → localDialogRead-EBRS242U.js} +2 -2
- package/{localRuntimeAuthority-6IR6BBXE.js → localRuntimeAuthority-5W6IJRAD.js} +6 -6
- package/{localRuntimeDb-SYQGUF4U.js → localRuntimeDb-3LRMNLCM.js} +1 -1
- package/{machineCommands-SNLCRHQK.js → machineCommands-BKYVMMEG.js} +85 -77
- package/{machineWsRunDispatch-ZGZVDQSO.js → machineWsRunDispatch-QOBSQQ72.js} +82 -74
- package/{memberThunks-QGFLFVCI.js → memberThunks-5ZXPR63F.js} +9 -9
- package/{models-T3SG6MJ5.js → models-ZPU5EDF4.js} +2 -2
- package/oauthTokenStore-ITEB663N.js +23 -0
- package/package.json +1 -1
- package/pdf-U6KSUEZZ.js +26435 -0
- package/processSpawn-SOAV3FEV.js +11 -0
- package/profileConfig-ZGOFORWV.js +43 -0
- package/{providerPresetApply-FG6NZ57W.js → providerPresetApply-76AVU3HD.js} +7 -7
- package/{providerRegistry-757OWH3O.js → providerRegistry-Z62NC45X.js} +11 -7
- package/{read-COE3ZYR6.js → read-EPTJRAEF.js} +5 -5
- package/{readDocTool-5USN4A6V.js → readDocTool-W4NDXNEX.js} +5 -3
- package/{readlineWorkspace-OUL7ZN7D.js → readlineWorkspace-7P7IORIT.js} +2447 -2022
- package/{removeDialogAgentAction-IX3MN2ZO.js → removeDialogAgentAction-BVAWQKXE.js} +17 -19
- package/{runAgentClientLoop-GD3APV7V.js → runAgentClientLoop-7WXN6I7L.js} +62 -58
- package/{runtimeDoctorCommands-X6WDBEQX.js → runtimeDoctorCommands-3USD722U.js} +3 -3
- package/runtimeModeArgs-2Y7BALTO.js +31 -0
- package/{setDialogExtraReferencesAction-X4HCPNZL.js → setDialogExtraReferencesAction-LYY45IAD.js} +12 -11
- package/{setPrimaryDialogAgentAction-4GMIQLOD.js → setPrimaryDialogAgentAction-73IL7DLU.js} +18 -20
- package/{settingSlice-ZQZVUPKK.js → settingSlice-Q6EKL7EQ.js} +9 -9
- package/{skillDiscovery-CYUCJMAG.js → skillDiscovery-ZBU76COE.js} +3 -3
- package/{spaceCommands-TIDVUPDV.js → spaceCommands-QFP4ZXKG.js} +44 -40
- package/{streamAgentChatTurn-M73KWCCU.js → streamAgentChatTurn-B4PXPJJS.js} +184 -91
- package/{switchDialogAgentAction-N52LRPA3.js → switchDialogAgentAction-UUXDSQ6X.js} +15 -17
- package/{tableCommands-O6NWHFKV.js → tableCommands-G7RV3RU3.js} +4 -4
- package/{toolApiClient-QVJ6HDNN.js → toolApiClient-INIQCPGY.js} +3 -3
- package/{tools-DXXDQ2CP.js → tools-QFS2L7BU.js} +55 -51
- package/{tuiSummaryLlmCaller-VJY3YD2Q.js → tuiSummaryLlmCaller-74NRRLVW.js} +18 -16
- package/{updateCommands-2M74UL7P.js → updateCommands-4EHDLF5J.js} +3 -3
- package/{updateDialogTitleAction-XI73NQMU.js → updateDialogTitleAction-HTDYCNNZ.js} +81 -43
- package/agentListCommands-O4AEMQVV.js +0 -406
- package/agentRecordCommands-6QK7AMXQ.js +0 -128
- package/chunk-M76ECQRD.js +0 -13658
- package/chunk-Q5FJJ6XI.js +0 -103
- package/chunk-S7Z2HMCN.js +0 -25
- package/chunk-WRFW73PB.js +0 -18881
- package/{chunk-VMFTFOWF.js → chunk-3AH7LNUB.js} +7 -7
- package/{chunk-X7HHHIOZ.js → chunk-Y6ROFCZO.js} +0 -0
- package/{db-WK5MDZVN.js → db-VQSAOWAO.js} +1 -1
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
// packages/agent-runtime/sseFrames.ts
|
|
2
|
+
async function* readSseFrames(response) {
|
|
3
|
+
const reader = response.body?.getReader();
|
|
4
|
+
if (!reader) {
|
|
5
|
+
throw new Error("SSE response did not include a readable body.");
|
|
6
|
+
}
|
|
7
|
+
const decoder = new TextDecoder();
|
|
8
|
+
let buffer = "";
|
|
9
|
+
while (true) {
|
|
10
|
+
const { done, value } = await reader.read();
|
|
11
|
+
if (done) break;
|
|
12
|
+
buffer += decoder.decode(value, { stream: true });
|
|
13
|
+
let boundary = findSseFrameBoundary(buffer);
|
|
14
|
+
while (boundary) {
|
|
15
|
+
yield buffer.slice(0, boundary.index);
|
|
16
|
+
buffer = buffer.slice(boundary.index + boundary.separatorLength);
|
|
17
|
+
boundary = findSseFrameBoundary(buffer);
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
const remaining = decoder.decode();
|
|
21
|
+
if (remaining) {
|
|
22
|
+
buffer += remaining;
|
|
23
|
+
let boundary = findSseFrameBoundary(buffer);
|
|
24
|
+
while (boundary) {
|
|
25
|
+
yield buffer.slice(0, boundary.index);
|
|
26
|
+
buffer = buffer.slice(boundary.index + boundary.separatorLength);
|
|
27
|
+
boundary = findSseFrameBoundary(buffer);
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
if (buffer.trim()) yield buffer;
|
|
31
|
+
}
|
|
32
|
+
function findSseFrameBoundary(buffer) {
|
|
33
|
+
const lfLf = buffer.indexOf("\n\n");
|
|
34
|
+
const crLfCrLf = buffer.indexOf("\r\n\r\n");
|
|
35
|
+
if (lfLf === -1 && crLfCrLf === -1) return null;
|
|
36
|
+
const useLf = lfLf !== -1 && (crLfCrLf === -1 || lfLf < crLfCrLf);
|
|
37
|
+
return useLf ? { index: lfLf, separatorLength: 2 } : { index: crLfCrLf, separatorLength: 4 };
|
|
38
|
+
}
|
|
39
|
+
async function* streamSseDataValues(response, parse) {
|
|
40
|
+
const reader = response.body?.getReader();
|
|
41
|
+
if (!reader) return;
|
|
42
|
+
const decoder = new TextDecoder();
|
|
43
|
+
let buffer = "";
|
|
44
|
+
while (true) {
|
|
45
|
+
const { done, value } = await reader.read();
|
|
46
|
+
if (done) break;
|
|
47
|
+
buffer += decoder.decode(value, { stream: true });
|
|
48
|
+
const lines = buffer.split("\n");
|
|
49
|
+
buffer = lines.pop() ?? "";
|
|
50
|
+
for (const line of lines) {
|
|
51
|
+
const parsed = parse(line);
|
|
52
|
+
if (parsed) yield parsed;
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
const remaining = decoder.decode();
|
|
56
|
+
if (remaining) {
|
|
57
|
+
buffer += remaining;
|
|
58
|
+
const lines = buffer.split("\n");
|
|
59
|
+
buffer = lines.pop() ?? "";
|
|
60
|
+
for (const line of lines) {
|
|
61
|
+
const parsed = parse(line);
|
|
62
|
+
if (parsed) yield parsed;
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
if (buffer.trim()) {
|
|
66
|
+
const parsed = parse(buffer);
|
|
67
|
+
if (parsed) yield parsed;
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
async function readSseDataValues(response, parse) {
|
|
71
|
+
const values = [];
|
|
72
|
+
for await (const value of streamSseDataValues(response, parse)) {
|
|
73
|
+
values.push(value);
|
|
74
|
+
}
|
|
75
|
+
return values;
|
|
76
|
+
}
|
|
77
|
+
|
|
78
|
+
export {
|
|
79
|
+
readSseFrames,
|
|
80
|
+
streamSseDataValues,
|
|
81
|
+
readSseDataValues
|
|
82
|
+
};
|
|
@@ -180,6 +180,36 @@ function resolveCooldownGate(input, now) {
|
|
|
180
180
|
}
|
|
181
181
|
return now - lastProbeAt >= PROBE_INTERVAL_MS ? "probe" : "blocked";
|
|
182
182
|
}
|
|
183
|
+
function resolveCredentialKey(agent) {
|
|
184
|
+
if (!agent || typeof agent !== "object") return void 0;
|
|
185
|
+
for (const field of ["apiKeyRef", "credentialRef"]) {
|
|
186
|
+
const value = agent[field];
|
|
187
|
+
if (typeof value === "string") {
|
|
188
|
+
const trimmed = value.trim();
|
|
189
|
+
if (trimmed) return trimmed;
|
|
190
|
+
}
|
|
191
|
+
}
|
|
192
|
+
return void 0;
|
|
193
|
+
}
|
|
194
|
+
function resolveCredentialKeyWithFallback(agent) {
|
|
195
|
+
const byRef = resolveCredentialKey(agent);
|
|
196
|
+
if (byRef) return byRef;
|
|
197
|
+
if (!agent || typeof agent !== "object") return void 0;
|
|
198
|
+
const endpoint = agent.customProviderUrl;
|
|
199
|
+
if (typeof endpoint === "string") {
|
|
200
|
+
const trimmed = endpoint.trim();
|
|
201
|
+
if (trimmed) {
|
|
202
|
+
try {
|
|
203
|
+
const origin = new URL(trimmed).origin;
|
|
204
|
+
if (origin && origin !== "null") return `custom-endpoint:${origin}`;
|
|
205
|
+
} catch {
|
|
206
|
+
}
|
|
207
|
+
}
|
|
208
|
+
}
|
|
209
|
+
const key = agent.key;
|
|
210
|
+
if (typeof key === "string" && key.trim()) return `custom-agent:${key.trim()}`;
|
|
211
|
+
return void 0;
|
|
212
|
+
}
|
|
183
213
|
|
|
184
214
|
export {
|
|
185
215
|
QUOTA_ERROR_PATTERNS,
|
|
@@ -188,5 +218,6 @@ export {
|
|
|
188
218
|
isQuotaLimited403Body,
|
|
189
219
|
resolveAvailabilityAction,
|
|
190
220
|
mergeAvailabilityDeadline,
|
|
191
|
-
resolveCooldownGate
|
|
221
|
+
resolveCooldownGate,
|
|
222
|
+
resolveCredentialKeyWithFallback
|
|
192
223
|
};
|
|
@@ -5,14 +5,17 @@ import {
|
|
|
5
5
|
inlineImageUrlsForCustomProvider,
|
|
6
6
|
prepareTools,
|
|
7
7
|
shouldInlineImageUrlsForAgent
|
|
8
|
-
} from "./chunk-
|
|
8
|
+
} from "./chunk-KHVJXNRY.js";
|
|
9
|
+
import {
|
|
10
|
+
parseApiError
|
|
11
|
+
} from "./chunk-OCZKATRC.js";
|
|
9
12
|
import {
|
|
10
13
|
INVALID_TOOL_ARGS_REPLACEMENT,
|
|
11
14
|
buildInvalidToolCallSelfHealResult,
|
|
12
15
|
parseToolCallArguments,
|
|
13
16
|
performFetchRequest,
|
|
14
17
|
sanitizeOutboundMessages
|
|
15
|
-
} from "./chunk-
|
|
18
|
+
} from "./chunk-JJ7P5CIY.js";
|
|
16
19
|
import {
|
|
17
20
|
createSSEParser,
|
|
18
21
|
createToolRunId,
|
|
@@ -23,10 +26,7 @@ import {
|
|
|
23
26
|
toolRunSetPending,
|
|
24
27
|
toolRunStarted,
|
|
25
28
|
toolRunSucceeded
|
|
26
|
-
} from "./chunk-
|
|
27
|
-
import {
|
|
28
|
-
getPublicImageAgentMode
|
|
29
|
-
} from "./chunk-VIDPVFP3.js";
|
|
29
|
+
} from "./chunk-RMAWULCS.js";
|
|
30
30
|
import {
|
|
31
31
|
getCurrentSpaceId
|
|
32
32
|
} from "./chunk-ZJ7UHBJS.js";
|
|
@@ -35,15 +35,18 @@ import {
|
|
|
35
35
|
messageStreamEnd,
|
|
36
36
|
messageStreaming,
|
|
37
37
|
updateToolMessage
|
|
38
|
-
} from "./chunk-
|
|
38
|
+
} from "./chunk-UEGYKNHO.js";
|
|
39
39
|
import {
|
|
40
40
|
streamAgentChatTurn
|
|
41
|
-
} from "./chunk-
|
|
41
|
+
} from "./chunk-YJKDTJ2X.js";
|
|
42
42
|
import {
|
|
43
43
|
addActiveController,
|
|
44
44
|
removeActiveController,
|
|
45
45
|
tokenUsageLiveUpdate
|
|
46
|
-
} from "./chunk-
|
|
46
|
+
} from "./chunk-6D2JFXLY.js";
|
|
47
|
+
import {
|
|
48
|
+
getPublicImageAgentMode
|
|
49
|
+
} from "./chunk-VIDPVFP3.js";
|
|
47
50
|
import {
|
|
48
51
|
accumulateToolCallDelta,
|
|
49
52
|
createThinkParserState,
|
|
@@ -56,30 +59,27 @@ import {
|
|
|
56
59
|
import {
|
|
57
60
|
EMPTY_ASSISTANT_REPAIR_PROMPT,
|
|
58
61
|
getModelInfo
|
|
59
|
-
} from "./chunk-
|
|
60
|
-
import {
|
|
61
|
-
getApiEndpoint
|
|
62
|
-
} from "./chunk-OIVSQH2O.js";
|
|
62
|
+
} from "./chunk-WILHZY7K.js";
|
|
63
63
|
import {
|
|
64
64
|
toErrorMessage
|
|
65
65
|
} from "./chunk-HNMXYYJR.js";
|
|
66
|
+
import {
|
|
67
|
+
getApiEndpoint
|
|
68
|
+
} from "./chunk-3BXNTXYI.js";
|
|
66
69
|
import {
|
|
67
70
|
selectCurrentServer
|
|
68
|
-
} from "./chunk-
|
|
71
|
+
} from "./chunk-SONWNI3L.js";
|
|
69
72
|
import {
|
|
70
73
|
write
|
|
71
|
-
} from "./chunk-
|
|
74
|
+
} from "./chunk-HYZIYH2H.js";
|
|
72
75
|
import {
|
|
73
76
|
createDialogMessageKeyAndId,
|
|
74
77
|
dialogMessageKey,
|
|
75
78
|
toTrimmedString
|
|
76
|
-
} from "./chunk-
|
|
77
|
-
import {
|
|
78
|
-
extractCustomId
|
|
79
|
-
} from "./chunk-M2EJHDJP.js";
|
|
79
|
+
} from "./chunk-3AH7LNUB.js";
|
|
80
80
|
import {
|
|
81
81
|
createAsyncThunk
|
|
82
|
-
} from "./chunk-
|
|
82
|
+
} from "./chunk-WIWM4FE3.js";
|
|
83
83
|
import {
|
|
84
84
|
isAbortError
|
|
85
85
|
} from "./chunk-QOKAKDPE.js";
|
|
@@ -89,6 +89,9 @@ import {
|
|
|
89
89
|
import {
|
|
90
90
|
isRecord
|
|
91
91
|
} from "./chunk-KUG52IAP.js";
|
|
92
|
+
import {
|
|
93
|
+
extractCustomId
|
|
94
|
+
} from "./chunk-M2EJHDJP.js";
|
|
92
95
|
import {
|
|
93
96
|
asTrimmedString
|
|
94
97
|
} from "./chunk-3EUW3WEO.js";
|
|
@@ -794,61 +797,6 @@ var handleToolCalls = createAsyncThunk(
|
|
|
794
797
|
}
|
|
795
798
|
);
|
|
796
799
|
|
|
797
|
-
// packages/ai/chat/parseApiError.ts
|
|
798
|
-
async function parseApiError(response) {
|
|
799
|
-
const errorBody = await response.text();
|
|
800
|
-
const truncateErrorMessage = (message, maxChars = 320) => message.length <= maxChars ? message : `${message.slice(0, maxChars)}\u2026`;
|
|
801
|
-
const isContextOverflow = (message) => /maximum context length|context length|context_length_exceeded|requested about .*tokens|too many tokens/i.test(message);
|
|
802
|
-
let defaultMessage = `\u72B6\u6001\u7801 ${response.status} ${response.statusText}`;
|
|
803
|
-
let errorMessage = defaultMessage;
|
|
804
|
-
let errorCode = `E${response.status}`;
|
|
805
|
-
try {
|
|
806
|
-
const errorJson = JSON.parse(errorBody);
|
|
807
|
-
errorMessage = errorJson?.error?.message || errorJson?.message || errorJson?.msg || errorBody || defaultMessage;
|
|
808
|
-
errorCode = errorJson?.error?.code || errorJson?.code || errorCode;
|
|
809
|
-
} catch (_e) {
|
|
810
|
-
if (errorBody) {
|
|
811
|
-
errorMessage = errorBody;
|
|
812
|
-
}
|
|
813
|
-
}
|
|
814
|
-
switch (response.status) {
|
|
815
|
-
case 400:
|
|
816
|
-
if (isContextOverflow(errorMessage) || isContextOverflow(errorBody) || errorCode === "UPSTREAM_400") {
|
|
817
|
-
return "\u4E0A\u4E0B\u6587\u8FC7\u957F\uFF1A\u672C\u8F6E\u6D88\u606F\u6216\u5DE5\u5177\u7ED3\u679C\u592A\u5927\u3002\u8BF7\u7F29\u5C0F\u8303\u56F4\uFF0C\u6216\u5148\u8BFB\u53D6\u66F4\u5C0F\u7247\u6BB5\u540E\u518D\u7EE7\u7EED\u3002";
|
|
818
|
-
}
|
|
819
|
-
if (errorCode === "MISSING_PROVIDER_API_KEY") {
|
|
820
|
-
return truncateErrorMessage(errorMessage);
|
|
821
|
-
}
|
|
822
|
-
if (errorMessage && errorMessage !== defaultMessage) {
|
|
823
|
-
return `\u8BF7\u6C42\u53C2\u6570\u9519\u8BEF: ${truncateErrorMessage(errorMessage)}`;
|
|
824
|
-
}
|
|
825
|
-
return "\u8BF7\u6C42\u53C2\u6570\u9519\u8BEF\uFF0C\u8BF7\u68C0\u67E5\u8F93\u5165";
|
|
826
|
-
case 413:
|
|
827
|
-
return "\u8BF7\u6C42\u5185\u5BB9\u8FC7\u5927\uFF1A\u8BF7\u51CF\u5C11\u4E00\u6B21\u53D1\u9001\u7684\u6D88\u606F\u3001\u6587\u4EF6\u6216\u5DE5\u5177\u7ED3\u679C\u3002";
|
|
828
|
-
case 401:
|
|
829
|
-
switch (errorCode) {
|
|
830
|
-
case "AUTH_TOKEN_EXPIRED":
|
|
831
|
-
return "\u767B\u5F55\u72B6\u6001\u5DF2\u8FC7\u671F\uFF0C\u8BF7\u5148\u767B\u51FA\u540E\u91CD\u65B0\u767B\u5F55";
|
|
832
|
-
case "AUTH_ACCOUNT_INVALID":
|
|
833
|
-
return "\u8D26\u6237\u65E0\u6548\u6216\u5DF2\u88AB\u505C\u7528\uFF0C\u8BF7\u8054\u7CFB\u7BA1\u7406\u5458";
|
|
834
|
-
case "AUTH_NO_TOKEN":
|
|
835
|
-
return "\u672A\u68C0\u6D4B\u5230\u767B\u5F55\u72B6\u6001\uFF0C\u8BF7\u5148\u767B\u5F55";
|
|
836
|
-
case "AUTH_INVALID_TOKEN":
|
|
837
|
-
return "\u767B\u5F55\u51ED\u8BC1\u65E0\u6548\uFF0C\u8BF7\u5148\u767B\u51FA\u540E\u91CD\u65B0\u767B\u5F55";
|
|
838
|
-
case "AUTH_TOKEN_NOT_ACTIVE":
|
|
839
|
-
return "\u4EE4\u724C\u5C1A\u672A\u751F\u6548\uFF0C\u8BF7\u7A0D\u540E\u518D\u8BD5";
|
|
840
|
-
default:
|
|
841
|
-
return errorMessage && errorMessage !== `\u72B6\u6001\u7801 401 Unauthorized` ? `\u8BA4\u8BC1\u9519\u8BEF: ${truncateErrorMessage(errorMessage)}` : "\u8EAB\u4EFD\u9A8C\u8BC1\u5931\u8D25\uFF0C\u8BF7\u5148\u767B\u51FA\u540E\u91CD\u65B0\u767B\u5F55";
|
|
842
|
-
}
|
|
843
|
-
case 503:
|
|
844
|
-
return errorMessage && errorMessage !== `\u72B6\u6001\u7801 503 Service Unavailable` ? truncateErrorMessage(errorMessage) : "\u670D\u52A1\u6682\u65F6\u4E0D\u53EF\u7528\uFF0C\u8BF7\u7A0D\u540E\u518D\u8BD5";
|
|
845
|
-
case 504:
|
|
846
|
-
return "\u8BF7\u6C42\u8D85\u65F6\uFF0C\u8BF7\u7A0D\u540E\u518D\u8BD5";
|
|
847
|
-
default:
|
|
848
|
-
return `API\u8BF7\u6C42\u5931\u8D25: ${truncateErrorMessage(errorMessage)}`;
|
|
849
|
-
}
|
|
850
|
-
}
|
|
851
|
-
|
|
852
800
|
// packages/ai/chat/accumulateToolCallChunks.ts
|
|
853
801
|
function accumulateToolCallChunks(currentAccumulatedCalls, toolCallChunks) {
|
|
854
802
|
const accumulator = {
|
|
@@ -1839,7 +1787,6 @@ export {
|
|
|
1839
1787
|
filterAndCleanMessages,
|
|
1840
1788
|
persistToolMessages,
|
|
1841
1789
|
handleToolCalls,
|
|
1842
|
-
parseApiError,
|
|
1843
1790
|
updateTotalUsage,
|
|
1844
1791
|
readStreamChunk,
|
|
1845
1792
|
sendOpenAICompletionsRequest
|
|
@@ -206,9 +206,12 @@ export {
|
|
|
206
206
|
resolveNoloStateDir,
|
|
207
207
|
getLegacyCredentialPath,
|
|
208
208
|
migrateLegacyCredentialFile,
|
|
209
|
+
DEFAULT_REFRESH_SKEW_MS,
|
|
209
210
|
getCredentialsDir,
|
|
211
|
+
getCredentialPath,
|
|
210
212
|
readOAuthCredential,
|
|
211
213
|
writeOAuthCredential,
|
|
214
|
+
removeOAuthCredential,
|
|
212
215
|
createOAuthTokenStore,
|
|
213
216
|
isTokenExpired,
|
|
214
217
|
resolveFreshAccessToken
|
|
@@ -1,18 +1,18 @@
|
|
|
1
|
-
import {
|
|
2
|
-
fileKey,
|
|
3
|
-
getFileIdFromKey,
|
|
4
|
-
ulid
|
|
5
|
-
} from "./chunk-VMFTFOWF.js";
|
|
6
1
|
import {
|
|
7
2
|
loadFileFromIndexedDb,
|
|
8
3
|
removeAction,
|
|
9
4
|
saveFileToIndexedDb
|
|
10
|
-
} from "./chunk-
|
|
5
|
+
} from "./chunk-7CHC4W22.js";
|
|
6
|
+
import {
|
|
7
|
+
fileKey,
|
|
8
|
+
getFileIdFromKey,
|
|
9
|
+
ulid
|
|
10
|
+
} from "./chunk-3AH7LNUB.js";
|
|
11
11
|
import {
|
|
12
12
|
readAction,
|
|
13
13
|
readRequestManager,
|
|
14
14
|
resolveAgentReadServers
|
|
15
|
-
} from "./chunk-
|
|
15
|
+
} from "./chunk-IAESIMK7.js";
|
|
16
16
|
import {
|
|
17
17
|
asyncThunkCreator,
|
|
18
18
|
buildCreateSlice,
|
|
@@ -32,7 +32,7 @@ import {
|
|
|
32
32
|
shouldReplaceLocalWithRemoteRecord,
|
|
33
33
|
shouldReplicateLocalRecord,
|
|
34
34
|
uploadToCurrentServer
|
|
35
|
-
} from "./chunk-
|
|
35
|
+
} from "./chunk-WIWM4FE3.js";
|
|
36
36
|
import {
|
|
37
37
|
fetchFromClientDb,
|
|
38
38
|
fetchFromServer,
|
|
@@ -712,7 +712,7 @@ var dbSlice = createSliceWithThunks({
|
|
|
712
712
|
// 动态 import 在调用期解析,避开 TDZ/求值顺序问题(同下方 share)。
|
|
713
713
|
read: create.asyncThunk(
|
|
714
714
|
async (payload, thunkApi) => {
|
|
715
|
-
const { readAction: readAction2 } = await import("./read-
|
|
715
|
+
const { readAction: readAction2 } = await import("./read-EPTJRAEF.js");
|
|
716
716
|
return readAction2(payload, thunkApi);
|
|
717
717
|
},
|
|
718
718
|
{
|
|
@@ -786,7 +786,7 @@ var dbSlice = createSliceWithThunks({
|
|
|
786
786
|
// 这里改成动态 import,运行期才解析,彻底断开这条边。
|
|
787
787
|
share: create.asyncThunk(
|
|
788
788
|
async (config, thunkApi) => {
|
|
789
|
-
const { shareResourceAction } = await import("./action-
|
|
789
|
+
const { shareResourceAction } = await import("./action-GI44T4DR.js");
|
|
790
790
|
return shareResourceAction(config, thunkApi);
|
|
791
791
|
}
|
|
792
792
|
),
|
|
@@ -824,6 +824,7 @@ export {
|
|
|
824
824
|
toTimestampMs,
|
|
825
825
|
resolveFileCategory,
|
|
826
826
|
uploadFileAction,
|
|
827
|
+
readFileContentAction,
|
|
827
828
|
dbAdapter,
|
|
828
829
|
selectById,
|
|
829
830
|
selectEntities,
|
|
@@ -100,7 +100,17 @@ var DEFAULT_LABELS = {
|
|
|
100
100
|
runStopped: "Run stopped",
|
|
101
101
|
runFinished: "Run finished",
|
|
102
102
|
logTail: "Log tail:",
|
|
103
|
-
runs: (count) => `Runs (${count})
|
|
103
|
+
runs: (count) => `Runs (${count})`,
|
|
104
|
+
toolCount: (count) => `${count} tools`,
|
|
105
|
+
statusWord: (status) => status,
|
|
106
|
+
rows: {
|
|
107
|
+
agent: "agent ",
|
|
108
|
+
status: "status ",
|
|
109
|
+
tools: "tools ",
|
|
110
|
+
note: "note ",
|
|
111
|
+
error: "error ",
|
|
112
|
+
task: "task "
|
|
113
|
+
}
|
|
104
114
|
};
|
|
105
115
|
function resolveLabels(labels) {
|
|
106
116
|
return {
|
|
@@ -109,7 +119,10 @@ function resolveLabels(labels) {
|
|
|
109
119
|
runStopped: labels?.runStopped ?? DEFAULT_LABELS.runStopped,
|
|
110
120
|
runFinished: labels?.runFinished ?? DEFAULT_LABELS.runFinished,
|
|
111
121
|
logTail: labels?.logTail ?? DEFAULT_LABELS.logTail,
|
|
112
|
-
runs: labels?.runs ?? DEFAULT_LABELS.runs
|
|
122
|
+
runs: labels?.runs ?? DEFAULT_LABELS.runs,
|
|
123
|
+
toolCount: labels?.toolCount ?? DEFAULT_LABELS.toolCount,
|
|
124
|
+
statusWord: labels?.statusWord ?? DEFAULT_LABELS.statusWord,
|
|
125
|
+
rows: { ...DEFAULT_LABELS.rows, ...labels?.rows ?? {} }
|
|
113
126
|
};
|
|
114
127
|
}
|
|
115
128
|
function shortRunId(runId) {
|
|
@@ -165,21 +178,21 @@ function formatStartRunCard(agentName, status = "running", opts) {
|
|
|
165
178
|
const lines = [L.runStarted];
|
|
166
179
|
const identity = formatIdentityRow(agentName, opts?.runId);
|
|
167
180
|
if (identity) {
|
|
168
|
-
lines.push(` agent
|
|
181
|
+
lines.push(` ${L.rows.agent}${identity}`);
|
|
169
182
|
}
|
|
170
|
-
lines.push(` status
|
|
183
|
+
lines.push(` ${L.rows.status}${icon} ${L.statusWord(status)}`);
|
|
171
184
|
const task = opts?.task?.trim();
|
|
172
185
|
if (task) {
|
|
173
|
-
lines.push(` task
|
|
186
|
+
lines.push(` ${L.rows.task}${clipText(task, TASK_PREVIEW_MAX)}`);
|
|
174
187
|
}
|
|
175
188
|
return lines.join("\n");
|
|
176
189
|
}
|
|
177
190
|
var TASK_PREVIEW_MAX = 72;
|
|
178
191
|
var NOTE_PREVIEW_MAX = 72;
|
|
179
|
-
function formatProgressRow(toolCallCount, lastToolNames) {
|
|
192
|
+
function formatProgressRow(toolCallCount, lastToolNames, labels = DEFAULT_LABELS) {
|
|
180
193
|
const parts = [];
|
|
181
194
|
if (typeof toolCallCount === "number" && Number.isFinite(toolCallCount)) {
|
|
182
|
-
parts.push(
|
|
195
|
+
parts.push(labels.toolCount(toolCallCount));
|
|
183
196
|
}
|
|
184
197
|
if (lastToolNames && lastToolNames.length > 0) {
|
|
185
198
|
parts.push(lastToolNames.join(", "));
|
|
@@ -190,21 +203,21 @@ function formatStatusRunCard(agentName, status = "running", opts) {
|
|
|
190
203
|
const L = resolveLabels(opts?.labels);
|
|
191
204
|
const icon = getAgentRunStatusIcon(status);
|
|
192
205
|
const age = formatRunAge(opts?.timing, opts?.now);
|
|
193
|
-
const lines = [L.runStatus, ` ${icon} ${status}${age ? ` ${age}` : ""}`];
|
|
206
|
+
const lines = [L.runStatus, ` ${icon} ${L.statusWord(status)}${age ? ` ${age}` : ""}`];
|
|
194
207
|
const identity = formatIdentityRow(agentName, opts?.runId);
|
|
195
208
|
if (identity) {
|
|
196
|
-
lines.push(` agent
|
|
209
|
+
lines.push(` ${L.rows.agent}${identity}`);
|
|
197
210
|
}
|
|
198
|
-
const progress = formatProgressRow(opts?.toolCallCount, opts?.lastToolNames);
|
|
211
|
+
const progress = formatProgressRow(opts?.toolCallCount, opts?.lastToolNames, L);
|
|
199
212
|
if (progress) {
|
|
200
|
-
lines.push(` tools
|
|
213
|
+
lines.push(` ${L.rows.tools}${progress}`);
|
|
201
214
|
}
|
|
202
215
|
const note = opts?.lastAssistantText?.trim();
|
|
203
216
|
if (note) {
|
|
204
|
-
lines.push(` note
|
|
217
|
+
lines.push(` ${L.rows.note}${clipText(note, NOTE_PREVIEW_MAX)}`);
|
|
205
218
|
}
|
|
206
219
|
if (opts?.errorMessage?.trim()) {
|
|
207
|
-
lines.push(` error
|
|
220
|
+
lines.push(` ${L.rows.error}${opts.errorMessage.trim()}`);
|
|
208
221
|
}
|
|
209
222
|
if (shouldShowLogTail(status, opts?.includeLogTail, opts?.logLines)) {
|
|
210
223
|
lines.push("", L.logTail, ...opts.logLines.map((l) => ` ${l}`));
|
|
@@ -223,11 +236,11 @@ function formatFinishedRunCard(agentName, status, opts) {
|
|
|
223
236
|
const L = resolveLabels(opts?.labels);
|
|
224
237
|
const icon = getAgentRunStatusIcon(status);
|
|
225
238
|
const age = formatRunAge(opts?.timing, opts?.now);
|
|
226
|
-
const summary = [status, age, formatProgressRow(opts?.toolCallCount, opts?.lastToolNames)].filter(Boolean).join(" \xB7 ");
|
|
239
|
+
const summary = [L.statusWord(status), age, formatProgressRow(opts?.toolCallCount, opts?.lastToolNames, L)].filter(Boolean).join(" \xB7 ");
|
|
227
240
|
const lines = [L.runFinished, ` ${icon} ${summary}`];
|
|
228
241
|
const identity = formatIdentityRow(agentName, opts?.runId);
|
|
229
242
|
if (identity) {
|
|
230
|
-
lines.push(` agent
|
|
243
|
+
lines.push(` ${L.rows.agent}${identity}`);
|
|
231
244
|
}
|
|
232
245
|
const note = opts?.lastAssistantText?.trim();
|
|
233
246
|
if (note) {
|
|
@@ -245,7 +258,7 @@ function formatStopRunCard(status = "killed", labels) {
|
|
|
245
258
|
const L = resolveLabels(labels);
|
|
246
259
|
const icon = getAgentRunStatusIcon(status);
|
|
247
260
|
return `${L.runStopped}
|
|
248
|
-
${icon} ${status}`;
|
|
261
|
+
${icon} ${L.statusWord(status)}`;
|
|
249
262
|
}
|
|
250
263
|
function formatListRunsCard(runs, labels) {
|
|
251
264
|
const L = resolveLabels(labels);
|
|
@@ -260,7 +273,7 @@ function formatListRunsCard(runs, labels) {
|
|
|
260
273
|
function formatNotFoundRunCard(labels) {
|
|
261
274
|
const L = resolveLabels(labels);
|
|
262
275
|
return `${L.runStatus}
|
|
263
|
-
? not_found`;
|
|
276
|
+
? ${L.statusWord("not_found")}`;
|
|
264
277
|
}
|
|
265
278
|
var AGENT_RUN_TERMINAL_STATUSES = /* @__PURE__ */ new Set([
|
|
266
279
|
"done",
|
|
@@ -1,6 +1,3 @@
|
|
|
1
|
-
import {
|
|
2
|
-
BUILTIN_PLATFORM_AGENT_KEYS
|
|
3
|
-
} from "./chunk-BNGW5ASC.js";
|
|
4
1
|
import {
|
|
5
2
|
getRuntimeServerContext,
|
|
6
3
|
partitionReadServers,
|
|
@@ -10,7 +7,7 @@ import {
|
|
|
10
7
|
scheduleExistingRecordReplication,
|
|
11
8
|
shouldReplaceLocalWithRemoteRecord,
|
|
12
9
|
shouldReplicateLocalRecord
|
|
13
|
-
} from "./chunk-
|
|
10
|
+
} from "./chunk-WIWM4FE3.js";
|
|
14
11
|
import {
|
|
15
12
|
fetchFromClientDb,
|
|
16
13
|
fetchFromServer,
|
|
@@ -21,6 +18,9 @@ import {
|
|
|
21
18
|
import {
|
|
22
19
|
shouldReplaceWithNextRecord
|
|
23
20
|
} from "./chunk-GBRG75BQ.js";
|
|
21
|
+
import {
|
|
22
|
+
BUILTIN_PLATFORM_AGENT_KEYS
|
|
23
|
+
} from "./chunk-BNGW5ASC.js";
|
|
24
24
|
import {
|
|
25
25
|
NOLO_CLUSTER_SERVERS,
|
|
26
26
|
normalizeKnownServerOrigin
|