nolo-cli 0.96.0-alpha.1 → 0.96.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-AUQRMRWL.js → _executeModel-GWF37P7J.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-4BAHJRU3.js → agentDeleteCommand-5SHJMUF7.js} +47 -43
- package/{agentEmailCommands-QISOY7Y6.js → agentEmailCommands-YC7RFNYN.js} +90 -82
- package/{agentListCommands-U46ODMQU.js → agentListCommands-O4DSVOHQ.js} +78 -82
- package/{agentMachineCommands-EHV2KM2C.js → agentMachineCommands-ZSQCK3SA.js} +42 -38
- package/{agentProviderCommands-GNPTL5XR.js → agentProviderCommands-EMZCM6VA.js} +1 -1
- package/{agentPullCommand-O5MPVJ5E.js → agentPullCommand-HF4A42D4.js} +1 -1
- package/agentRecordCommands-MUG5QMN7.js +136 -0
- package/{agentRunCommand-K4CLMA6B.js → agentRunCommand-5EBSIN74.js} +90 -80
- package/{agentRunControl-XLGD3UZ5.js → agentRunControl-5T64LM2M.js} +2 -2
- package/{agentRuntimeLocal-O4HPUJA4.js → agentRuntimeLocal-KTWDCVYZ.js} +44 -36
- package/{agentSlice-ZYT2OUR3.js → agentSlice-QA6WAKNE.js} +11 -11
- package/{appDeleteCommands-R5BBTKQK.js → appDeleteCommands-JPPKN55V.js} +42 -38
- package/{appDeployCommands-ZJIXOJWD.js → appDeployCommands-QU5PW23S.js} +42 -38
- package/{appDeployStatusCommands-B3R2ZTBF.js → appDeployStatusCommands-QVAJTRSP.js} +42 -38
- package/{appGetCommands-2AQSOV2A.js → appGetCommands-LT3KDTHJ.js} +42 -38
- package/{appListCommands-HCIJGZFY.js → appListCommands-V37HIWKN.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-Q5V4YJVI.js → chatQueueReduxAdapter-YYIRKWPD.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-OIVSQH2O.js → chunk-3BXNTXYI.js} +299 -5
- package/{chunk-BLJWCTRL.js → chunk-45LEXXBA.js} +1 -1
- 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-LLT642J4.js → chunk-4W65H3KF.js} +24 -5
- package/{chunk-MC4XLIJ7.js → chunk-523DITKR.js} +1 -1
- package/chunk-5G7QSEFG.js +13349 -0
- 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-WADCY6G6.js → chunk-6ZWMH6TJ.js} +111 -41
- package/{chunk-ABQYVJBJ.js → chunk-7CHC4W22.js} +1 -1
- package/{chunk-YQTQQX2H.js → chunk-7IJ3GSRH.js} +1 -1
- package/{chunk-GQBOR3G6.js → chunk-7KVZ5LDQ.js} +2 -2
- package/{chunk-OA6Q2A4I.js → chunk-A7RSPKU6.js} +98 -22
- package/chunk-ALY3N3HU.js +7600 -0
- package/{chunk-Q554LLSI.js → chunk-AUDNYVRC.js} +1 -1
- package/{chunk-GPCZ7UXG.js → chunk-AZRHIN5B.js} +1 -1
- package/chunk-BMQ2MJUK.js +153 -0
- package/{chunk-3IIEFNGY.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-HVURBGF3.js → chunk-ESRMFY7G.js} +2 -2
- package/{chunk-TRV2MIDW.js → chunk-EXAJ6DCR.js} +1 -0
- package/{chunk-ZLR5JN3E.js → chunk-FKBRWL4E.js} +7 -7
- package/{chunk-XOVEWFLK.js → chunk-G3BCMDJB.js} +100 -100
- 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-ONXOABJR.js → chunk-HNGRBWYF.js} +3 -0
- package/{chunk-IAO6JBYW.js → chunk-HP2HV7RZ.js} +171 -14
- package/{chunk-H62HCIUP.js → chunk-HYZIYH2H.js} +11 -10
- package/{chunk-NTW5GWDM.js → chunk-I3QNET24.js} +32 -17
- package/{chunk-WV42OMV7.js → chunk-IAESIMK7.js} +4 -4
- package/{chunk-JRQFUXY7.js → chunk-KCDUTE5V.js} +96 -19
- package/{chunk-XRWZB6CF.js → chunk-KLTTJFH2.js} +23 -76
- package/{chunk-IIVGDG4I.js → chunk-LNPYTNMG.js} +8 -4
- package/{chunk-AFDS2CVM.js → chunk-MDMTFGJ2.js} +15 -20
- package/{chunk-4MY4GLIW.js → chunk-MN3RHOFX.js} +969 -1090
- 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-OCZKATRC.js +129 -0
- package/{chunk-6D6VBVEW.js → chunk-OTEMQQZI.js} +80 -14
- package/chunk-P6GMCCAT.js +870 -0
- package/{chunk-CPH3W5A7.js → chunk-Q4GP72HX.js} +94 -3
- package/{chunk-DHDMC6FO.js → chunk-QKUMVP3O.js} +11 -6
- package/{chunk-76WEAXJB.js → chunk-QXWGM7NK.js} +18 -15
- package/{chunk-JOHSKZQX.js → chunk-R2TEASHZ.js} +865 -207
- package/{chunk-Z77CRGTW.js → chunk-R4SQ3LGW.js} +1 -1
- package/{chunk-V4MJDUSR.js → chunk-RSEEDUMS.js} +2 -2
- package/{chunk-UZGQNTVW.js → chunk-S5XGT6GB.js} +5 -3
- package/{chunk-QIAVMDHY.js → chunk-SDAPKV2N.js} +4 -4
- package/{chunk-SNPMM7H3.js → chunk-SN2U5EE7.js} +13 -13
- package/{chunk-AFUORTY4.js → chunk-SONWNI3L.js} +21 -21
- package/{chunk-A6G32FNX.js → chunk-SYAMDUAL.js} +13 -13
- package/{chunk-BYMV6QZG.js → chunk-TNIX77YM.js} +4 -0
- package/{chunk-OF7AQZUG.js → chunk-TU5NE4U3.js} +9 -84
- package/{chunk-EGSKXKR5.js → chunk-TWROMK2A.js} +1 -1
- package/chunk-TY3TIUJK.js +89 -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-MMPXJXHT.js → chunk-VKEMMN62.js} +584 -480
- package/{chunk-ZXKVPF4K.js → chunk-W5HY3V6I.js} +236 -36
- package/{chunk-JAXOVNM4.js → chunk-WILHZY7K.js} +45 -45
- package/{chunk-UKWGR5SS.js → chunk-WIWM4FE3.js} +187 -398
- package/{chunk-BGSLKVCP.js → chunk-XAAUXO27.js} +6 -7
- package/{chunk-O6OSWFZQ.js → chunk-XUWRURDF.js} +6 -0
- package/{chunk-Q67DOFOO.js → chunk-Y3PMXGLH.js} +2 -0
- package/{chunk-SH43IESU.js → chunk-YUNJN43V.js} +44 -9
- package/{chunk-BZWBEHGD.js → chunk-YYMTXN25.js} +66 -38
- package/{chunk-TOP2VXOR.js → chunk-Z4CSIXYP.js} +2 -2
- package/{chunk-DEUUPHOO.js → chunk-ZGESTNDD.js} +77 -17
- package/{chunk-2F7RJC6L.js → chunk-ZOVKKMF6.js} +1 -1
- package/chunk-ZRAU6T47.js +56 -0
- package/commandRegistry-JPJBZMSB.js +833 -0
- package/{contentThunks-PT23JWJX.js → contentThunks-S5S6Y7FH.js} +32 -30
- package/{cooldownCommands-REAWYVTY.js → cooldownCommands-ZLEPIB4A.js} +2 -2
- package/{createAgentAutomationAction-N27SYTLU.js → createAgentAutomationAction-E3V23HF4.js} +32 -30
- package/{createDialogAction-XZPLHD5G.js → createDialogAction-PS2N7OCP.js} +36 -33
- package/{createPageAction-KHVJQ3CS.js → createPageAction-6XUY3KXJ.js} +38 -36
- package/{chunk-3SJQXXGY.js → cursorProvider-YGGNMVWX.js} +2560 -9879
- package/{dbSlice-XVWBAGYN.js → dbSlice-DQ32LYTJ.js} +8 -8
- package/{deleteFile-YG6QMJLU.js → deleteFile-NX6QHCWZ.js} +3 -3
- package/{dialogCommands-ZUWW5UT6.js → dialogCommands-3YXLYO2W.js} +45 -41
- package/{dialogSlice-3YH242HS.js → dialogSlice-NTZ5GT5B.js} +36 -29
- package/{dist-VODFSGNG.js → dist-NJC2W7I4.js} +61 -54
- package/{docCreateCommands-Q6FADDSJ.js → docCreateCommands-4JSMQDST.js} +44 -40
- package/{docDeleteCommands-ZKIH54PZ.js → docDeleteCommands-3KTE3KP6.js} +44 -40
- package/{docReadCommands-7BZT2QTW.js → docReadCommands-54BL4OYN.js} +43 -39
- package/{docStore-YSZRNUUD.js → docStore-QE6H3LDC.js} +11 -10
- package/{docUpdateCommands-WJXWTRL7.js → docUpdateCommands-BMBPTW5U.js} +44 -40
- package/{fetchMessages-EIU7UFFK.js → fetchMessages-67MEFPZR.js} +2 -2
- package/{getPricing-LUSEABA6.js → getPricing-NMMFT3YI.js} +3 -3
- package/{handleSendMessageAction-KJO2QDBM.js → handleSendMessageAction-34BJIBML.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-QC4TD7GJ.js → machineCommands-KBMEZDL3.js} +85 -77
- package/{machineWsRunDispatch-XUOIAXO7.js → machineWsRunDispatch-FRANXJZJ.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-74TXXSLO.js → readlineWorkspace-P7WDR4NG.js} +2450 -2022
- package/{removeDialogAgentAction-IX3MN2ZO.js → removeDialogAgentAction-BVAWQKXE.js} +17 -19
- package/{runAgentClientLoop-37BXJD62.js → runAgentClientLoop-5OQN64SG.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-P3ONT6LL.js → spaceCommands-W7B34E7K.js} +44 -40
- package/{streamAgentChatTurn-FGXQXALU.js → streamAgentChatTurn-7AX7XVHL.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-R5UF2KZO.js → tools-357446VN.js} +55 -51
- package/{tuiSummaryLlmCaller-T2SHYMDZ.js → tuiSummaryLlmCaller-74NRRLVW.js} +18 -16
- package/{updateCommands-2M74UL7P.js → updateCommands-4EHDLF5J.js} +3 -3
- package/{updateDialogTitleAction-RTADGV7A.js → updateDialogTitleAction-A2OK52IY.js} +81 -43
- package/agentRecordCommands-SIPURU2S.js +0 -128
- package/chunk-FOWEGIMF.js +0 -18881
- package/chunk-M76ECQRD.js +0 -13658
- package/chunk-Q5FJJ6XI.js +0 -103
- package/chunk-S7Z2HMCN.js +0 -25
- 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,153 @@
|
|
|
1
|
+
import {
|
|
2
|
+
isRecord
|
|
3
|
+
} from "./chunk-KUG52IAP.js";
|
|
4
|
+
|
|
5
|
+
// packages/core/chat/validationUrl.ts
|
|
6
|
+
function safeUrl(raw) {
|
|
7
|
+
if (typeof raw !== "string") return void 0;
|
|
8
|
+
const trimmed = raw.trim();
|
|
9
|
+
if (!/^https?:\/\//i.test(trimmed)) return void 0;
|
|
10
|
+
try {
|
|
11
|
+
const parsed = new URL(trimmed);
|
|
12
|
+
if (parsed.protocol !== "http:" && parsed.protocol !== "https:") {
|
|
13
|
+
return void 0;
|
|
14
|
+
}
|
|
15
|
+
return parsed.href;
|
|
16
|
+
} catch {
|
|
17
|
+
return void 0;
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
function scanValidationDetails(details) {
|
|
21
|
+
if (!Array.isArray(details)) return {};
|
|
22
|
+
let url;
|
|
23
|
+
let text;
|
|
24
|
+
let learnMoreUrl;
|
|
25
|
+
for (const detail of details) {
|
|
26
|
+
if (url && learnMoreUrl) break;
|
|
27
|
+
if (!isRecord(detail)) continue;
|
|
28
|
+
const metadata = isRecord(detail.metadata) ? detail.metadata : void 0;
|
|
29
|
+
if (metadata) {
|
|
30
|
+
url = url ?? safeUrl(metadata.validation_url);
|
|
31
|
+
text = text ?? (typeof metadata.validation_url_link_text === "string" ? metadata.validation_url_link_text : void 0);
|
|
32
|
+
learnMoreUrl = learnMoreUrl ?? safeUrl(metadata.validation_learn_more_url);
|
|
33
|
+
}
|
|
34
|
+
const links = Array.isArray(detail.links) ? detail.links : [];
|
|
35
|
+
for (const link of links) {
|
|
36
|
+
if (!isRecord(link)) continue;
|
|
37
|
+
const linkUrl = safeUrl(link.url);
|
|
38
|
+
if (!linkUrl) continue;
|
|
39
|
+
const desc = typeof link.description === "string" ? link.description : "";
|
|
40
|
+
if (!url && /verify|continue/i.test(desc)) {
|
|
41
|
+
url = linkUrl;
|
|
42
|
+
text = text ?? desc;
|
|
43
|
+
} else if (!learnMoreUrl && /learn more/i.test(desc)) {
|
|
44
|
+
learnMoreUrl = linkUrl;
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
return { url, text, learnMoreUrl };
|
|
49
|
+
}
|
|
50
|
+
function unescapeJsonString(text) {
|
|
51
|
+
return text.replace(
|
|
52
|
+
/\\(["\\/nrtbf]|u[0-9a-fA-F]{4})/g,
|
|
53
|
+
(_match, esc) => {
|
|
54
|
+
switch (esc[0]) {
|
|
55
|
+
case "n":
|
|
56
|
+
return "\n";
|
|
57
|
+
case "r":
|
|
58
|
+
return "\r";
|
|
59
|
+
case "t":
|
|
60
|
+
return " ";
|
|
61
|
+
case "b":
|
|
62
|
+
return "\b";
|
|
63
|
+
case "f":
|
|
64
|
+
return "\f";
|
|
65
|
+
case "u":
|
|
66
|
+
return String.fromCharCode(parseInt(esc.slice(1), 16));
|
|
67
|
+
default:
|
|
68
|
+
return esc;
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
);
|
|
72
|
+
}
|
|
73
|
+
function sliceBalancedJsonObject(text) {
|
|
74
|
+
const start = text.indexOf("{");
|
|
75
|
+
if (start < 0) return void 0;
|
|
76
|
+
let depth = 0;
|
|
77
|
+
let inString = false;
|
|
78
|
+
let escaped = false;
|
|
79
|
+
for (let i = start; i < text.length; i += 1) {
|
|
80
|
+
const ch = text[i];
|
|
81
|
+
if (inString) {
|
|
82
|
+
if (escaped) escaped = false;
|
|
83
|
+
else if (ch === "\\") escaped = true;
|
|
84
|
+
else if (ch === '"') inString = false;
|
|
85
|
+
continue;
|
|
86
|
+
}
|
|
87
|
+
if (ch === '"') inString = true;
|
|
88
|
+
else if (ch === "{") depth += 1;
|
|
89
|
+
else if (ch === "}") {
|
|
90
|
+
depth -= 1;
|
|
91
|
+
if (depth === 0) return text.slice(start, i + 1);
|
|
92
|
+
}
|
|
93
|
+
}
|
|
94
|
+
return void 0;
|
|
95
|
+
}
|
|
96
|
+
function parseBalancedJson(text) {
|
|
97
|
+
const slice = sliceBalancedJsonObject(text);
|
|
98
|
+
if (!slice) return void 0;
|
|
99
|
+
try {
|
|
100
|
+
return JSON.parse(slice);
|
|
101
|
+
} catch {
|
|
102
|
+
return void 0;
|
|
103
|
+
}
|
|
104
|
+
}
|
|
105
|
+
function findValidationInParsed(parsed, depth = 0) {
|
|
106
|
+
if (depth > 3 || !isRecord(parsed)) return {};
|
|
107
|
+
const err = isRecord(parsed.error) ? parsed.error : parsed;
|
|
108
|
+
const fromDetails = scanValidationDetails(isRecord(err) ? err.details : void 0);
|
|
109
|
+
if (fromDetails.url) return fromDetails;
|
|
110
|
+
const nested = isRecord(err) ? err.message : void 0;
|
|
111
|
+
if (typeof nested === "string" && nested.trim().startsWith("{")) {
|
|
112
|
+
try {
|
|
113
|
+
const reparsed = findValidationInParsed(JSON.parse(nested), depth + 1);
|
|
114
|
+
if (reparsed.url) return reparsed;
|
|
115
|
+
} catch {
|
|
116
|
+
}
|
|
117
|
+
}
|
|
118
|
+
return {};
|
|
119
|
+
}
|
|
120
|
+
function stripTerminalControlChars(raw) {
|
|
121
|
+
return raw.replace(/[\u0000-\u001f\u007f]/g, "");
|
|
122
|
+
}
|
|
123
|
+
function regexValidationFallback(text) {
|
|
124
|
+
const urlMatch = text.match(
|
|
125
|
+
/validation_url[^h]{0,10}(https?:\/\/[^\s"\\]+)/i
|
|
126
|
+
);
|
|
127
|
+
if (!urlMatch) return {};
|
|
128
|
+
const textMatch = text.match(
|
|
129
|
+
/validation_url_link_text[^A-Za-z]{0,10}([^"\\\n]{1,60})/i
|
|
130
|
+
);
|
|
131
|
+
return {
|
|
132
|
+
// safeUrl first (normalizes C0 into %XX); fall back to stripping controls
|
|
133
|
+
// so a truncated-but-real link is still emitted rather than dropped.
|
|
134
|
+
url: safeUrl(urlMatch[1]) ?? stripTerminalControlChars(urlMatch[1]),
|
|
135
|
+
text: textMatch?.[1] ? stripTerminalControlChars(textMatch[1].trim()) || void 0 : void 0
|
|
136
|
+
};
|
|
137
|
+
}
|
|
138
|
+
function extractGoogleValidationLink(errorText) {
|
|
139
|
+
for (const candidate of [
|
|
140
|
+
parseBalancedJson(errorText),
|
|
141
|
+
parseBalancedJson(unescapeJsonString(errorText))
|
|
142
|
+
]) {
|
|
143
|
+
if (candidate === void 0) continue;
|
|
144
|
+
const found = findValidationInParsed(candidate);
|
|
145
|
+
if (found.url) return found;
|
|
146
|
+
}
|
|
147
|
+
return regexValidationFallback(errorText);
|
|
148
|
+
}
|
|
149
|
+
|
|
150
|
+
export {
|
|
151
|
+
scanValidationDetails,
|
|
152
|
+
extractGoogleValidationLink
|
|
153
|
+
};
|
|
@@ -3,11 +3,11 @@ import {
|
|
|
3
3
|
} from "./chunk-5ZUL4CUO.js";
|
|
4
4
|
import {
|
|
5
5
|
getModelContextWindow
|
|
6
|
-
} from "./chunk-
|
|
6
|
+
} from "./chunk-WILHZY7K.js";
|
|
7
7
|
import {
|
|
8
8
|
findModelConfig,
|
|
9
9
|
getProviderByModelName
|
|
10
|
-
} from "./chunk-
|
|
10
|
+
} from "./chunk-3BXNTXYI.js";
|
|
11
11
|
import {
|
|
12
12
|
asOptionalFiniteNumber
|
|
13
13
|
} from "./chunk-WWC7I6TA.js";
|
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
import {
|
|
2
|
+
clipCompactText
|
|
3
|
+
} from "./chunk-5MMAK75Q.js";
|
|
4
|
+
import {
|
|
5
|
+
asRecordOrEmpty
|
|
6
|
+
} from "./chunk-KX6YBIHG.js";
|
|
7
|
+
import {
|
|
8
|
+
asOptionalTrimmedString
|
|
9
|
+
} from "./chunk-G3SUCT4W.js";
|
|
10
|
+
|
|
11
|
+
// packages/agent-runtime/fileWritePolicy.ts
|
|
12
|
+
function evaluateFileWritePolicy(args) {
|
|
13
|
+
if (args.sessionApproved) return { permissionDecision: "allow" };
|
|
14
|
+
return {
|
|
15
|
+
permissionDecision: "ask",
|
|
16
|
+
permissionRequest: {
|
|
17
|
+
id: "permission-file-write-session",
|
|
18
|
+
tool: args.tool,
|
|
19
|
+
action: "file_write",
|
|
20
|
+
title: "\u786E\u8BA4\u5199\u5165\u6587\u4EF6",
|
|
21
|
+
body: `\u672C\u4F1A\u8BDD\u9996\u6B21\u5199\u5165\u6587\u4EF6\uFF1A${args.path}\u3002\u6279\u51C6\u540E\u672C\u4F1A\u8BDD\u540E\u7EED\u5199\u5165\u4E0D\u518D\u9010\u6B21\u786E\u8BA4\u3002`,
|
|
22
|
+
command: args.path,
|
|
23
|
+
suggestedRule: {
|
|
24
|
+
scope: "session",
|
|
25
|
+
pattern: { capability: "file_write", target: "session" }
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
};
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
// packages/agent-runtime/parseToolArguments.ts
|
|
32
|
+
function parseToolArgumentsJson(raw) {
|
|
33
|
+
if (!raw?.trim()) return {};
|
|
34
|
+
try {
|
|
35
|
+
return asRecordOrEmpty(JSON.parse(raw));
|
|
36
|
+
} catch {
|
|
37
|
+
return {};
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
// packages/agent-runtime/summarizeToolArguments.ts
|
|
42
|
+
function clip(value, max = 240) {
|
|
43
|
+
return clipCompactText(value, max);
|
|
44
|
+
}
|
|
45
|
+
function summarizeToolArguments(toolName, rawArgs) {
|
|
46
|
+
const args = parseToolArgumentsJson(rawArgs);
|
|
47
|
+
const pick = (...keys2) => {
|
|
48
|
+
for (const key of keys2) {
|
|
49
|
+
const value = asOptionalTrimmedString(args[key]);
|
|
50
|
+
if (value) return value;
|
|
51
|
+
}
|
|
52
|
+
return "";
|
|
53
|
+
};
|
|
54
|
+
const command = pick("command", "cmd", "runCommand", "executeCommand", "bash");
|
|
55
|
+
if (command) return clip(command);
|
|
56
|
+
const query = pick("query", "pattern", "search", "q");
|
|
57
|
+
if (query) return clip(query);
|
|
58
|
+
const filePath = pick("filePath", "file_path", "path", "filename", "file");
|
|
59
|
+
if (filePath) return clip(filePath);
|
|
60
|
+
const keys = Object.keys(args);
|
|
61
|
+
if (keys.length === 0) return "";
|
|
62
|
+
return clip(
|
|
63
|
+
keys.slice(0, 6).map((key) => {
|
|
64
|
+
const value = args[key];
|
|
65
|
+
if (typeof value === "string") return `${key}=${clip(value, 80)}`;
|
|
66
|
+
if (typeof value === "number" || typeof value === "boolean") {
|
|
67
|
+
return `${key}=${String(value)}`;
|
|
68
|
+
}
|
|
69
|
+
if (Array.isArray(value)) return `${key}[${value.length}]`;
|
|
70
|
+
return `${key}=${value === null ? "null" : typeof value}`;
|
|
71
|
+
}).join(" ")
|
|
72
|
+
);
|
|
73
|
+
}
|
|
74
|
+
|
|
75
|
+
export {
|
|
76
|
+
evaluateFileWritePolicy,
|
|
77
|
+
summarizeToolArguments
|
|
78
|
+
};
|
|
@@ -7,7 +7,7 @@ import {
|
|
|
7
7
|
} from "./chunk-UAD2WT54.js";
|
|
8
8
|
import {
|
|
9
9
|
toTimestampMs
|
|
10
|
-
} from "./chunk-
|
|
10
|
+
} from "./chunk-HYZIYH2H.js";
|
|
11
11
|
import {
|
|
12
12
|
fetchFromServer,
|
|
13
13
|
getAllServers
|
|
@@ -280,12 +280,6 @@ var fetchAuthoritativeRemoteSpace = async ({
|
|
|
280
280
|
};
|
|
281
281
|
|
|
282
282
|
export {
|
|
283
|
-
selectSpaceRemoteAuth,
|
|
284
|
-
spaceListsUser,
|
|
285
|
-
membershipBelongsToUser,
|
|
286
|
-
fetchRemoteUserSpaceMemberships,
|
|
287
|
-
fetchRemoteSpace,
|
|
288
|
-
fetchAuthoritativeRemoteSpace,
|
|
289
283
|
getMemberSpaces,
|
|
290
284
|
getAllMemberSpaces,
|
|
291
285
|
setMemberSpaces,
|
|
@@ -297,5 +291,11 @@ export {
|
|
|
297
291
|
setMembershipLoaded,
|
|
298
292
|
addMemberSpace,
|
|
299
293
|
removeMemberSpace,
|
|
300
|
-
updateMemberSpaceName
|
|
294
|
+
updateMemberSpaceName,
|
|
295
|
+
selectSpaceRemoteAuth,
|
|
296
|
+
spaceListsUser,
|
|
297
|
+
membershipBelongsToUser,
|
|
298
|
+
fetchRemoteUserSpaceMemberships,
|
|
299
|
+
fetchRemoteSpace,
|
|
300
|
+
fetchAuthoritativeRemoteSpace
|
|
301
301
|
};
|
|
@@ -4,7 +4,7 @@ import {
|
|
|
4
4
|
|
|
5
5
|
// packages/cli/agentCommandSupport.ts
|
|
6
6
|
async function getDefaultCliDb() {
|
|
7
|
-
const { getDefaultCliLocalRuntimeDb } = await import("./localRuntimeDb-
|
|
7
|
+
const { getDefaultCliLocalRuntimeDb } = await import("./localRuntimeDb-3LRMNLCM.js");
|
|
8
8
|
return getDefaultCliLocalRuntimeDb();
|
|
9
9
|
}
|
|
10
10
|
function createNullCliDb() {
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import {
|
|
2
2
|
selectCurrentServer,
|
|
3
3
|
selectRemoteServers
|
|
4
|
-
} from "./chunk-
|
|
4
|
+
} from "./chunk-SONWNI3L.js";
|
|
5
5
|
import {
|
|
6
6
|
createUserKey,
|
|
7
7
|
extractAgentInfo,
|
|
@@ -10,11 +10,11 @@ import {
|
|
|
10
10
|
sanitizeShareData,
|
|
11
11
|
shareKey,
|
|
12
12
|
toNonEmptyString
|
|
13
|
-
} from "./chunk-
|
|
13
|
+
} from "./chunk-3AH7LNUB.js";
|
|
14
14
|
import {
|
|
15
15
|
noloDeleteRequest,
|
|
16
16
|
noloWriteRequest
|
|
17
|
-
} from "./chunk-
|
|
17
|
+
} from "./chunk-WIWM4FE3.js";
|
|
18
18
|
import {
|
|
19
19
|
normalizeTimeFields
|
|
20
20
|
} from "./chunk-QOKAKDPE.js";
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import {
|
|
2
2
|
ANTIGRAVITY_CLOUD_CODE_BASE_URL
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-S5XGT6GB.js";
|
|
4
4
|
import {
|
|
5
5
|
kimiCodeModels,
|
|
6
6
|
moonshotModels,
|
|
@@ -9,13 +9,16 @@ import {
|
|
|
9
9
|
qwenTokenPlanModels,
|
|
10
10
|
stepfunModels,
|
|
11
11
|
stepfunStepPlanModels
|
|
12
|
-
} from "./chunk-
|
|
12
|
+
} from "./chunk-3BXNTXYI.js";
|
|
13
13
|
import {
|
|
14
14
|
PLATFORM_HOSTED_DEEPSEEK_FLASH_OFF_PEAK_PRICE,
|
|
15
15
|
PLATFORM_HOSTED_DEEPSEEK_FLASH_PEAK_PRICE,
|
|
16
16
|
PLATFORM_HOSTED_DEEPSEEK_PRO_OFF_PEAK_PRICE,
|
|
17
17
|
PLATFORM_HOSTED_DEEPSEEK_PRO_PEAK_PRICE
|
|
18
|
-
} from "./chunk-
|
|
18
|
+
} from "./chunk-Y3PMXGLH.js";
|
|
19
|
+
import {
|
|
20
|
+
asTrimmedLowercaseString
|
|
21
|
+
} from "./chunk-QSJ3HFEF.js";
|
|
19
22
|
|
|
20
23
|
// packages/integrations/commandcode/models.ts
|
|
21
24
|
var commandCodeModels = [
|
|
@@ -267,6 +270,17 @@ var STEPFUN_STEP_PLAN_MODEL_OPTIONS = stepfunStepPlanModels.map((m, i) => ({
|
|
|
267
270
|
hasVision: m.hasVision,
|
|
268
271
|
...i === 0 ? { recommended: true } : {}
|
|
269
272
|
}));
|
|
273
|
+
var TOGETHER_MODEL_OPTIONS = [
|
|
274
|
+
{
|
|
275
|
+
id: "meta-llama/Llama-3.3-70B-Instruct-Turbo",
|
|
276
|
+
label: "Llama 3.3 70B Instruct Turbo",
|
|
277
|
+
recommended: true
|
|
278
|
+
},
|
|
279
|
+
{ id: "deepseek-ai/DeepSeek-V4-Pro-0813", label: "DeepSeek V4 Pro" },
|
|
280
|
+
{ id: "Qwen/Qwen3.6-Plus", label: "Qwen3.6 Plus" },
|
|
281
|
+
{ id: "zai-org/GLM-5.2", label: "GLM-5.2" },
|
|
282
|
+
{ id: "openai/gpt-oss-120b", label: "GPT-OSS 120B" }
|
|
283
|
+
];
|
|
270
284
|
var SUBSCRIPTION_OAUTH_PROVIDERS = [
|
|
271
285
|
{
|
|
272
286
|
kind: "oauth",
|
|
@@ -279,6 +293,9 @@ var SUBSCRIPTION_OAUTH_PROVIDERS = [
|
|
|
279
293
|
defaultReasoningEffort: "medium",
|
|
280
294
|
modelOptions: [
|
|
281
295
|
{ id: "gpt-6-astra", label: "GPT-6 Astra", hasVision: true, recommended: true },
|
|
296
|
+
// GPT-6.1 Sol 已列入 Codex 订阅通道选型指南,但按账号灰度("when available
|
|
297
|
+
// to your account and client"),未开通的账号选它会 400,不影响其他选项。
|
|
298
|
+
{ id: "gpt-6.1-sol", label: "GPT-6.1 Sol", hasVision: true },
|
|
282
299
|
{ id: "gpt-5.6-sol", label: "GPT-5.6 Sol", hasVision: true },
|
|
283
300
|
{ id: "gpt-5.6-terra", label: "GPT-5.6 Terra", hasVision: true },
|
|
284
301
|
{ id: "gpt-5.6-luna", label: "GPT-5.6 Luna", hasVision: true }
|
|
@@ -324,11 +341,13 @@ var SUBSCRIPTION_OAUTH_PROVIDERS = [
|
|
|
324
341
|
description: "Anthropic Subscription",
|
|
325
342
|
apiKeyRef: "claude",
|
|
326
343
|
provider: "anthropic",
|
|
327
|
-
defaultModel: "claude-sonnet-5",
|
|
344
|
+
defaultModel: "claude-sonnet-5-5",
|
|
328
345
|
defaultReasoningEffort: "high",
|
|
329
346
|
modelOptions: [
|
|
347
|
+
{ id: "claude-opus-5-5", label: "Claude Opus 5.5", hasVision: true, recommended: true },
|
|
348
|
+
{ id: "claude-sonnet-5-5", label: "Claude Sonnet 5.5", hasVision: true },
|
|
330
349
|
{ id: "claude-sonnet-5", label: "Claude Sonnet 5", hasVision: true },
|
|
331
|
-
{ id: "claude-opus-5", label: "Claude Opus 5", hasVision: true
|
|
350
|
+
{ id: "claude-opus-5", label: "Claude Opus 5", hasVision: true },
|
|
332
351
|
{ id: "claude-opus-4-8", label: "Claude Opus 4.8", hasVision: true },
|
|
333
352
|
{ id: "claude-fable-5", label: "Claude Fable 5", hasVision: true }
|
|
334
353
|
]
|
|
@@ -539,7 +558,12 @@ var CUSTOM_API_KEY_TEMPLATES = [
|
|
|
539
558
|
label: "OpenAI API",
|
|
540
559
|
provider: "openai",
|
|
541
560
|
baseUrl: "https://api.openai.com/v1",
|
|
542
|
-
defaultModel: "gpt-6-
|
|
561
|
+
defaultModel: "gpt-6.1-sol",
|
|
562
|
+
modelOptions: [
|
|
563
|
+
{ id: "gpt-6.1-sol", label: "GPT-6.1 Sol", hasVision: true, recommended: true },
|
|
564
|
+
{ id: "gpt-6-astra", label: "GPT-6 Astra", hasVision: true },
|
|
565
|
+
{ id: "gpt-6-luna", label: "GPT-6 Luna", hasVision: true }
|
|
566
|
+
],
|
|
543
567
|
commercialKind: "api",
|
|
544
568
|
accessVariant: "metered_key"
|
|
545
569
|
},
|
|
@@ -549,7 +573,7 @@ var CUSTOM_API_KEY_TEMPLATES = [
|
|
|
549
573
|
label: "Anthropic API",
|
|
550
574
|
provider: "anthropic",
|
|
551
575
|
baseUrl: "https://api.anthropic.com",
|
|
552
|
-
defaultModel: "claude-sonnet-5",
|
|
576
|
+
defaultModel: "claude-sonnet-5-5",
|
|
553
577
|
apiKeyHeader: "x-api-key",
|
|
554
578
|
commercialKind: "api",
|
|
555
579
|
accessVariant: "metered_key"
|
|
@@ -575,6 +599,19 @@ var CUSTOM_API_KEY_TEMPLATES = [
|
|
|
575
599
|
commercialKind: "api",
|
|
576
600
|
accessVariant: "metered_key"
|
|
577
601
|
},
|
|
602
|
+
// anthropic/claude-sonnet-5、qwen/qwen3.8-27b),不维护易腐的静态清单。
|
|
603
|
+
{
|
|
604
|
+
kind: "api_key_template",
|
|
605
|
+
id: "openrouter-api",
|
|
606
|
+
label: "OpenRouter API \u7528\u91CF\u8BA1\u8D39",
|
|
607
|
+
description: "OpenRouter \u805A\u5408\u7F51\u5173\uFF08OpenAI \u517C\u5BB9\uFF0C\u4E00\u4E2A Key \u8BBF\u95EE\u591A\u5BB6\u6A21\u578B\uFF0C\u6309\u91CF\u8BA1\u8D39\uFF09",
|
|
608
|
+
provider: "openrouter",
|
|
609
|
+
baseUrl: "https://openrouter.ai/api/v1",
|
|
610
|
+
defaultModel: "anthropic/claude-sonnet-5",
|
|
611
|
+
keyFormatHint: "\u5728 openrouter.ai/keys \u521B\u5EFA\uFF0C\u5F62\u5982 sk-or-\u2026",
|
|
612
|
+
commercialKind: "api",
|
|
613
|
+
accessVariant: "metered_key"
|
|
614
|
+
},
|
|
578
615
|
// DeepSeek 模型统一改走 nolo provider(Ollama Cloud,thinking=max 快 28-49%)。
|
|
579
616
|
// 现按用户选择回归:自带 Key 的 metered 通道与平台托管通道并存,互不影响。
|
|
580
617
|
{
|
|
@@ -649,6 +686,21 @@ var CUSTOM_API_KEY_TEMPLATES = [
|
|
|
649
686
|
defaultModel: "MiniMax-Text-01",
|
|
650
687
|
commercialKind: "api",
|
|
651
688
|
accessVariant: "metered_key"
|
|
689
|
+
},
|
|
690
|
+
// Together AI 平台:用户自带 Key 的 metered 通道(复用 OpenAI-compatible 通道,
|
|
691
|
+
// apiSource:"custom",不扣平台积分)。模型 ID 为 namespaced 全 ID,直传不 remap;
|
|
692
|
+
// OpenAI 兼容 base_url = https://api.together.ai/v1(官方兼容文档在案)。
|
|
693
|
+
{
|
|
694
|
+
kind: "api_key_template",
|
|
695
|
+
id: "together-api",
|
|
696
|
+
label: "Together AI API \u7528\u91CF\u8BA1\u8D39",
|
|
697
|
+
description: "Together AI\uFF08OpenAI \u517C\u5BB9\uFF0C\u6309\u91CF\u8BA1\u8D39\uFF09",
|
|
698
|
+
provider: "together",
|
|
699
|
+
baseUrl: "https://api.together.ai/v1",
|
|
700
|
+
defaultModel: "meta-llama/Llama-3.3-70B-Instruct-Turbo",
|
|
701
|
+
modelOptions: TOGETHER_MODEL_OPTIONS,
|
|
702
|
+
commercialKind: "api",
|
|
703
|
+
accessVariant: "metered_key"
|
|
652
704
|
}
|
|
653
705
|
];
|
|
654
706
|
var ALL_PROVIDER_REGISTRY = [
|
|
@@ -666,6 +718,26 @@ function isCustomApiKeyTemplate(id) {
|
|
|
666
718
|
if (!id) return false;
|
|
667
719
|
return CUSTOM_API_KEY_TEMPLATES.some((p) => p.id === id);
|
|
668
720
|
}
|
|
721
|
+
function normalizeEndpointUrl(url) {
|
|
722
|
+
return asTrimmedLowercaseString(url).replace(/\/+$/, "");
|
|
723
|
+
}
|
|
724
|
+
var SUBSCRIPTION_ENDPOINT_URLS = new Set(
|
|
725
|
+
CUSTOM_API_KEY_TEMPLATES.filter((t) => t.commercialKind === "subscription").map(
|
|
726
|
+
(t) => normalizeEndpointUrl(t.baseUrl)
|
|
727
|
+
)
|
|
728
|
+
);
|
|
729
|
+
var SUBSCRIPTION_OAUTH_APIKEY_REFS = new Set(
|
|
730
|
+
SUBSCRIPTION_OAUTH_PROVIDERS.map((p) => asTrimmedLowercaseString(p.apiKeyRef))
|
|
731
|
+
);
|
|
732
|
+
function isSubscriptionEndpoint(customProviderUrl) {
|
|
733
|
+
if (typeof customProviderUrl !== "string") return false;
|
|
734
|
+
const normalized = normalizeEndpointUrl(customProviderUrl);
|
|
735
|
+
return normalized.length > 0 && SUBSCRIPTION_ENDPOINT_URLS.has(normalized);
|
|
736
|
+
}
|
|
737
|
+
function isSubscriptionOAuthCredential(apiKeyRef) {
|
|
738
|
+
const ref = asTrimmedLowercaseString(apiKeyRef ?? "");
|
|
739
|
+
return ref.length > 0 && SUBSCRIPTION_OAUTH_APIKEY_REFS.has(ref);
|
|
740
|
+
}
|
|
669
741
|
|
|
670
742
|
export {
|
|
671
743
|
SUBSCRIPTION_OAUTH_PROVIDERS,
|
|
@@ -673,5 +745,7 @@ export {
|
|
|
673
745
|
ALL_PROVIDER_REGISTRY,
|
|
674
746
|
findProviderById,
|
|
675
747
|
isSubscriptionOAuthProvider,
|
|
676
|
-
isCustomApiKeyTemplate
|
|
748
|
+
isCustomApiKeyTemplate,
|
|
749
|
+
isSubscriptionEndpoint,
|
|
750
|
+
isSubscriptionOAuthCredential
|
|
677
751
|
};
|
|
@@ -1,21 +1,21 @@
|
|
|
1
1
|
import {
|
|
2
2
|
getActiveDialogKey
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-6D2JFXLY.js";
|
|
4
4
|
import {
|
|
5
5
|
compactWhitespace
|
|
6
6
|
} from "./chunk-DWLEOOGR.js";
|
|
7
7
|
import {
|
|
8
8
|
asTrimmedLowercaseString
|
|
9
9
|
} from "./chunk-QSJ3HFEF.js";
|
|
10
|
-
import {
|
|
11
|
-
extractCustomId
|
|
12
|
-
} from "./chunk-M2EJHDJP.js";
|
|
13
10
|
import {
|
|
14
11
|
selectIdentityToken
|
|
15
12
|
} from "./chunk-SEJ5OS6F.js";
|
|
16
13
|
import {
|
|
17
14
|
isRecord
|
|
18
15
|
} from "./chunk-KUG52IAP.js";
|
|
16
|
+
import {
|
|
17
|
+
extractCustomId
|
|
18
|
+
} from "./chunk-M2EJHDJP.js";
|
|
19
19
|
|
|
20
20
|
// packages/ai/tools/toolApiClient.ts
|
|
21
21
|
var MAIN_SERVER = "https://nolo.chat";
|
|
@@ -1,19 +1,15 @@
|
|
|
1
1
|
import {
|
|
2
|
-
|
|
3
|
-
} from "./chunk-
|
|
2
|
+
formatISO
|
|
3
|
+
} from "./chunk-ZRAU6T47.js";
|
|
4
4
|
import {
|
|
5
|
-
|
|
6
|
-
} from "./chunk-
|
|
5
|
+
getActiveDialogKey
|
|
6
|
+
} from "./chunk-6D2JFXLY.js";
|
|
7
7
|
import {
|
|
8
8
|
patch,
|
|
9
9
|
selectById
|
|
10
|
-
} from "./chunk-
|
|
11
|
-
import {
|
|
12
|
-
__toESM
|
|
13
|
-
} from "./chunk-4VNS5WPM.js";
|
|
10
|
+
} from "./chunk-HYZIYH2H.js";
|
|
14
11
|
|
|
15
12
|
// packages/chat/dialog/actions/setDialogExtraReferencesAction.ts
|
|
16
|
-
var import_date_fns = __toESM(require_date_fns());
|
|
17
13
|
var setDialogExtraReferencesAction = async (extraReferences, thunkApi) => {
|
|
18
14
|
const { dispatch, getState } = thunkApi;
|
|
19
15
|
const state = getState();
|
|
@@ -33,7 +29,7 @@ var setDialogExtraReferencesAction = async (extraReferences, thunkApi) => {
|
|
|
33
29
|
dbKey: currentDialogKey,
|
|
34
30
|
changes: {
|
|
35
31
|
extraReferences: extraReferences ?? [],
|
|
36
|
-
updatedAt:
|
|
32
|
+
updatedAt: formatISO(/* @__PURE__ */ new Date())
|
|
37
33
|
}
|
|
38
34
|
})
|
|
39
35
|
).unwrap();
|
|
@@ -2,10 +2,10 @@ import {
|
|
|
2
2
|
getCredentialsDir,
|
|
3
3
|
getLegacyCredentialPath,
|
|
4
4
|
migrateLegacyCredentialFile
|
|
5
|
-
} from "./chunk-
|
|
5
|
+
} from "./chunk-HNGRBWYF.js";
|
|
6
6
|
import {
|
|
7
7
|
asNonEmptyStringArray
|
|
8
|
-
} from "./chunk-
|
|
8
|
+
} from "./chunk-3AH7LNUB.js";
|
|
9
9
|
import {
|
|
10
10
|
isRecord
|
|
11
11
|
} from "./chunk-KUG52IAP.js";
|
|
@@ -3,7 +3,7 @@ import {
|
|
|
3
3
|
createFileCredentialBroker,
|
|
4
4
|
migrateAgentSecrets,
|
|
5
5
|
normalizeAgentRuntimeToolPolicy
|
|
6
|
-
} from "./chunk-
|
|
6
|
+
} from "./chunk-ESRMFY7G.js";
|
|
7
7
|
import {
|
|
8
8
|
asRecordOrEmpty
|
|
9
9
|
} from "./chunk-KX6YBIHG.js";
|
|
@@ -11,16 +11,16 @@ import {
|
|
|
11
11
|
patch,
|
|
12
12
|
remove,
|
|
13
13
|
write
|
|
14
|
-
} from "./chunk-
|
|
14
|
+
} from "./chunk-HYZIYH2H.js";
|
|
15
15
|
import {
|
|
16
16
|
createAgentKey,
|
|
17
17
|
toTrimmedString
|
|
18
|
-
} from "./chunk-
|
|
18
|
+
} from "./chunk-3AH7LNUB.js";
|
|
19
19
|
import {
|
|
20
20
|
asyncThunkCreator,
|
|
21
21
|
buildCreateSlice,
|
|
22
22
|
getRuntimeServerContext
|
|
23
|
-
} from "./chunk-
|
|
23
|
+
} from "./chunk-WIWM4FE3.js";
|
|
24
24
|
import {
|
|
25
25
|
asTrimmedString
|
|
26
26
|
} from "./chunk-3EUW3WEO.js";
|
|
@@ -304,7 +304,7 @@ var slice = createSliceWithThunks({
|
|
|
304
304
|
const overrides = {};
|
|
305
305
|
if (args.systemPromptOverride !== void 0) overrides.prompt = args.systemPromptOverride;
|
|
306
306
|
if (args.toolsOverride !== void 0) overrides.tools = args.toolsOverride;
|
|
307
|
-
const { _executeModel } = await import("./_executeModel-
|
|
307
|
+
const { _executeModel } = await import("./_executeModel-GWF37P7J.js");
|
|
308
308
|
return _executeModel(
|
|
309
309
|
{
|
|
310
310
|
isStreaming: args.isStreaming ?? false,
|
|
@@ -325,7 +325,7 @@ var slice = createSliceWithThunks({
|
|
|
325
325
|
* - 循环直到无工具调用或触发其他运行时停止条件
|
|
326
326
|
*/
|
|
327
327
|
runAgent: create.asyncThunk(async (args, thunkApi) => {
|
|
328
|
-
const { runAgentClientLoop } = await import("./runAgentClientLoop-
|
|
328
|
+
const { runAgentClientLoop } = await import("./runAgentClientLoop-5OQN64SG.js");
|
|
329
329
|
const { content: loopContent, toolCallCount } = await runAgentClientLoop(
|
|
330
330
|
{
|
|
331
331
|
agentKey: args.agentKey,
|
|
@@ -341,7 +341,7 @@ var slice = createSliceWithThunks({
|
|
|
341
341
|
* 聊天轮次流式 Agent 调用
|
|
342
342
|
*/
|
|
343
343
|
streamAgentChatTurn: create.asyncThunk(async (args, thunkApi) => {
|
|
344
|
-
const { streamAgentChatTurnHandler } = await import("./streamAgentChatTurn-
|
|
344
|
+
const { streamAgentChatTurnHandler } = await import("./streamAgentChatTurn-7AX7XVHL.js");
|
|
345
345
|
return streamAgentChatTurnHandler(args, thunkApi);
|
|
346
346
|
}),
|
|
347
347
|
/**
|