nolo-cli 0.95.0-alpha.6 → 0.95.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-4NTXSCYT.js} +67 -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-QYCCUQ35.js} +47 -43
- package/{agentEmailCommands-QISOY7Y6.js → agentEmailCommands-GJ7KXHA6.js} +89 -82
- package/{agentListCommands-U46ODMQU.js → agentListCommands-JDU7V3M5.js} +77 -82
- package/{agentMachineCommands-EHV2KM2C.js → agentMachineCommands-PXJG3EDI.js} +42 -38
- package/{agentProviderCommands-GNPTL5XR.js → agentProviderCommands-YK2BIIXZ.js} +1 -1
- package/{agentPullCommand-O5MPVJ5E.js → agentPullCommand-HF4A42D4.js} +1 -1
- package/agentRecordCommands-3ONMYU6P.js +135 -0
- package/{agentRunCommand-K4CLMA6B.js → agentRunCommand-L6NJGDBA.js} +88 -80
- package/{agentRunControl-XLGD3UZ5.js → agentRunControl-5T64LM2M.js} +2 -2
- package/{agentRuntimeLocal-O4HPUJA4.js → agentRuntimeLocal-SYLNOKCT.js} +44 -36
- package/{agentSlice-ZYT2OUR3.js → agentSlice-X63VSE6R.js} +11 -11
- package/{appDeleteCommands-R5BBTKQK.js → appDeleteCommands-IP22BHZE.js} +42 -38
- package/{appDeployCommands-ZJIXOJWD.js → appDeployCommands-5ZTQL6UL.js} +42 -38
- package/{appDeployStatusCommands-B3R2ZTBF.js → appDeployStatusCommands-G6EMAT75.js} +42 -38
- package/{appGetCommands-2AQSOV2A.js → appGetCommands-UXBDAYEM.js} +42 -38
- package/{appListCommands-HCIJGZFY.js → appListCommands-J274GTVP.js} +42 -38
- package/{authCommand-F4EFRRX6.js → authCommand-W6I6GD3F.js} +115 -23
- package/{authCommands-RGOGCPP6.js → authCommands-GBIFZWD3.js} +5 -5
- package/{builtinSkillRegistry-FUAVTRVZ.js → builtinSkillRegistry-ZMF6YGNO.js} +6 -5
- package/{chatQueueReduxAdapter-Q5V4YJVI.js → chatQueueReduxAdapter-KN774OKJ.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-XOVEWFLK.js → chunk-2JCOP36I.js} +100 -100
- package/{chunk-JEDZAO7L.js → chunk-2SYTUTLI.js} +257 -37
- package/{chunk-OIVSQH2O.js → chunk-3BXNTXYI.js} +299 -5
- 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-IAO6JBYW.js → chunk-5B7XS6UO.js} +164 -14
- 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-AFDS2CVM.js → chunk-5T2W2ZZN.js} +15 -20
- package/{chunk-42V6BK2E.js → chunk-62IL3KQV.js} +4 -34
- package/{chunk-YQTQQX2H.js → chunk-67HHBCFJ.js} +1 -1
- package/{chunk-SNPMM7H3.js → chunk-67T7O467.js} +13 -13
- package/{chunk-6YTOJY35.js → chunk-6D2JFXLY.js} +35 -0
- package/{chunk-4MY4GLIW.js → chunk-6IHBIRPK.js} +969 -1090
- package/{chunk-3BMYXEUW.js → chunk-6O4IK4V2.js} +1 -1
- package/{chunk-DHDMC6FO.js → chunk-6TPOEJMQ.js} +9 -4
- package/{chunk-LLT642J4.js → chunk-6UPZ63YT.js} +24 -5
- package/{chunk-WADCY6G6.js → chunk-6ZWMH6TJ.js} +111 -41
- package/{chunk-ABQYVJBJ.js → chunk-7CHC4W22.js} +1 -1
- package/{chunk-GQBOR3G6.js → chunk-7KVZ5LDQ.js} +2 -2
- package/{chunk-MMPXJXHT.js → chunk-7VJHIB2S.js} +573 -476
- package/{chunk-OA6Q2A4I.js → chunk-A7RSPKU6.js} +98 -22
- package/{chunk-KQ4ONNQD.js → chunk-ALFH24P3.js} +56 -7
- package/{chunk-Q554LLSI.js → chunk-AUDNYVRC.js} +1 -1
- package/{chunk-GPCZ7UXG.js → chunk-AZRHIN5B.js} +1 -1
- package/{chunk-JRQFUXY7.js → chunk-B2XUQXQX.js} +96 -19
- package/chunk-BMQ2MJUK.js +153 -0
- package/{chunk-3IIEFNGY.js → chunk-C53ZG23R.js} +2 -2
- package/chunk-CHOZJMJS.js +78 -0
- package/{chunk-A6G32FNX.js → chunk-CJXHT3S7.js} +13 -13
- package/{chunk-HJUYAD4A.js → chunk-CPUFH46E.js} +8 -8
- package/{chunk-JOHSKZQX.js → chunk-CQMQXVFQ.js} +859 -141
- 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-ZXKVPF4K.js → chunk-DA54MHPJ.js} +236 -36
- 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-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-ZLR5JN3E.js → chunk-HWRQVJGX.js} +7 -7
- 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-QIAVMDHY.js → chunk-IUVCUGQR.js} +4 -4
- package/{chunk-EGSKXKR5.js → chunk-IX27RP45.js} +1 -1
- package/{chunk-IIVGDG4I.js → chunk-LNPYTNMG.js} +8 -4
- package/{chunk-BLJWCTRL.js → chunk-LVITW736.js} +1 -1
- package/{chunk-76WEAXJB.js → chunk-M3LRSBOX.js} +18 -15
- package/{chunk-XRWZB6CF.js → chunk-M73PVOVS.js} +23 -76
- 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-P6GMCCAT.js +870 -0
- package/{chunk-CPH3W5A7.js → chunk-Q4GP72HX.js} +94 -3
- package/{chunk-Z77CRGTW.js → chunk-R4SQ3LGW.js} +1 -1
- package/chunk-RE3CDVRX.js +7600 -0
- package/{chunk-DEUUPHOO.js → chunk-RKGKDQGJ.js} +74 -17
- package/{chunk-V4MJDUSR.js → chunk-RSEEDUMS.js} +2 -2
- package/{chunk-BZWBEHGD.js → chunk-S3VFZW75.js} +66 -38
- package/{chunk-UZGQNTVW.js → chunk-S5XGT6GB.js} +5 -3
- package/{chunk-AFUORTY4.js → chunk-SONWNI3L.js} +21 -21
- package/{chunk-BYMV6QZG.js → chunk-TNIX77YM.js} +4 -0
- package/{chunk-OF7AQZUG.js → chunk-TU5NE4U3.js} +9 -84
- package/chunk-UNYJU5L6.js +780 -0
- package/{chunk-J4MOO56S.js → chunk-UQNS32WZ.js} +10 -2
- package/chunk-V2SAIXHE.js +13349 -0
- package/chunk-VIWDGTDA.js +8 -0
- package/chunk-VJVNU77E.js +83 -0
- package/{chunk-6D6VBVEW.js → chunk-VPFEPRME.js} +9 -9
- package/{chunk-JAXOVNM4.js → chunk-WILHZY7K.js} +45 -45
- package/{chunk-UKWGR5SS.js → chunk-WIWM4FE3.js} +187 -398
- package/{chunk-BGSLKVCP.js → chunk-XTDH3PGV.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-TOP2VXOR.js → chunk-Z4CSIXYP.js} +2 -2
- package/{chunk-2F7RJC6L.js → chunk-ZOVKKMF6.js} +1 -1
- package/chunk-ZRAU6T47.js +56 -0
- package/commandRegistry-NPS6IYBO.js +833 -0
- package/{contentThunks-PT23JWJX.js → contentThunks-EB4JFL4K.js} +32 -30
- package/{cooldownCommands-REAWYVTY.js → cooldownCommands-ZLEPIB4A.js} +2 -2
- package/{createAgentAutomationAction-N27SYTLU.js → createAgentAutomationAction-NZS7N4AW.js} +32 -30
- package/{createDialogAction-XZPLHD5G.js → createDialogAction-4Q4J7P4T.js} +36 -33
- package/{createPageAction-KHVJQ3CS.js → createPageAction-FPKRGV7D.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-XXZH5K6U.js} +45 -41
- package/{dialogSlice-3YH242HS.js → dialogSlice-DXEZ3PA3.js} +36 -29
- package/{dist-VODFSGNG.js → dist-NJC2W7I4.js} +61 -54
- package/{docCreateCommands-Q6FADDSJ.js → docCreateCommands-FLNUDWG6.js} +44 -40
- package/{docDeleteCommands-ZKIH54PZ.js → docDeleteCommands-74OURFAB.js} +44 -40
- package/{docReadCommands-7BZT2QTW.js → docReadCommands-QENWDQVH.js} +43 -39
- package/{docStore-YSZRNUUD.js → docStore-2JTPJVFK.js} +11 -10
- package/{docUpdateCommands-WJXWTRL7.js → docUpdateCommands-J4HWJ5JO.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-FGPHI364.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-26AZP4AS.js} +84 -77
- package/{machineWsRunDispatch-XUOIAXO7.js → machineWsRunDispatch-GQ5XJ2DL.js} +81 -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-DD6NGWW6.js} +7 -7
- package/{providerRegistry-757OWH3O.js → providerRegistry-XDRLMYGJ.js} +7 -7
- package/{read-COE3ZYR6.js → read-EPTJRAEF.js} +5 -5
- package/{readDocTool-5USN4A6V.js → readDocTool-W4NDXNEX.js} +5 -3
- package/{readlineWorkspace-74TXXSLO.js → readlineWorkspace-B7NBQCX6.js} +2448 -2022
- package/{removeDialogAgentAction-IX3MN2ZO.js → removeDialogAgentAction-BVAWQKXE.js} +17 -19
- package/{runAgentClientLoop-37BXJD62.js → runAgentClientLoop-RVB5K6R2.js} +61 -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-BYDGOMW7.js} +44 -40
- package/{streamAgentChatTurn-FGXQXALU.js → streamAgentChatTurn-HV3FSRHN.js} +183 -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-AZR26MXC.js} +54 -51
- package/{tuiSummaryLlmCaller-T2SHYMDZ.js → tuiSummaryLlmCaller-74NRRLVW.js} +18 -16
- package/{updateCommands-2M74UL7P.js → updateCommands-4EHDLF5J.js} +3 -3
- package/{updateDialogTitleAction-RTADGV7A.js → updateDialogTitleAction-HEWCCXZZ.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
|
@@ -1,15 +1,15 @@
|
|
|
1
1
|
import {
|
|
2
2
|
toolRegistry
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-7VJHIB2S.js";
|
|
4
4
|
import {
|
|
5
|
-
|
|
6
|
-
} from "./chunk-
|
|
5
|
+
runtime_default
|
|
6
|
+
} from "./chunk-V2SAIXHE.js";
|
|
7
7
|
import {
|
|
8
8
|
canonicalizeToolNames
|
|
9
|
-
} from "./chunk-
|
|
9
|
+
} from "./chunk-XUWRURDF.js";
|
|
10
10
|
import {
|
|
11
11
|
isNoloHostedProvider
|
|
12
|
-
} from "./chunk-
|
|
12
|
+
} from "./chunk-Y3PMXGLH.js";
|
|
13
13
|
import {
|
|
14
14
|
asTrimmedLowercaseString
|
|
15
15
|
} from "./chunk-QSJ3HFEF.js";
|
|
@@ -17,94 +17,6 @@ import {
|
|
|
17
17
|
isRecord
|
|
18
18
|
} from "./chunk-KUG52IAP.js";
|
|
19
19
|
|
|
20
|
-
// packages/ai/chat/inlineImageUrlsForCustomProvider.ts
|
|
21
|
-
var FILE_CONTENT_PATH = "/api/v1/db/file/content/";
|
|
22
|
-
var shouldInlineImageUrlsForAgent = (agentConfig) => {
|
|
23
|
-
const apiSource = agentConfig?.apiSource?.toLowerCase();
|
|
24
|
-
const provider = agentConfig?.provider?.toLowerCase();
|
|
25
|
-
const model = agentConfig?.model?.toLowerCase();
|
|
26
|
-
if (apiSource === "custom" || provider === "custom") return true;
|
|
27
|
-
if (isNoloHostedProvider(provider)) return true;
|
|
28
|
-
return provider === "openrouter" && model === "minimax/minimax-m3";
|
|
29
|
-
};
|
|
30
|
-
var isInlineCandidate = (url) => /^https?:\/\//i.test(url) && url.includes(FILE_CONTENT_PATH);
|
|
31
|
-
var bytesToBase64 = (bytes) => {
|
|
32
|
-
let binary = "";
|
|
33
|
-
for (const byte of bytes) {
|
|
34
|
-
binary += String.fromCharCode(byte);
|
|
35
|
-
}
|
|
36
|
-
return btoa(binary);
|
|
37
|
-
};
|
|
38
|
-
var defaultFetchImage = async (url) => {
|
|
39
|
-
const response = await fetch(url);
|
|
40
|
-
if (!response.ok) {
|
|
41
|
-
return {
|
|
42
|
-
ok: false,
|
|
43
|
-
error: `HTTP ${response.status}`
|
|
44
|
-
};
|
|
45
|
-
}
|
|
46
|
-
const bytes = new Uint8Array(await response.arrayBuffer());
|
|
47
|
-
return {
|
|
48
|
-
ok: true,
|
|
49
|
-
mimeType: response.headers.get("content-type") ?? "application/octet-stream",
|
|
50
|
-
bytes
|
|
51
|
-
};
|
|
52
|
-
};
|
|
53
|
-
var cloneImagePartWithDataUrl = async (part, fetchImage, isAllowedImageUrl) => {
|
|
54
|
-
const url = part?.image_url?.url;
|
|
55
|
-
if (typeof url !== "string" || !isInlineCandidate(url) || isAllowedImageUrl && !isAllowedImageUrl(url)) {
|
|
56
|
-
return part;
|
|
57
|
-
}
|
|
58
|
-
const result = await fetchImage(url);
|
|
59
|
-
if (!result.ok || !result.bytes) return part;
|
|
60
|
-
const mimeType = result.mimeType || "application/octet-stream";
|
|
61
|
-
return {
|
|
62
|
-
...part,
|
|
63
|
-
image_url: {
|
|
64
|
-
...part.image_url,
|
|
65
|
-
url: `data:${mimeType};base64,${bytesToBase64(result.bytes)}`
|
|
66
|
-
}
|
|
67
|
-
};
|
|
68
|
-
};
|
|
69
|
-
var inlineImageUrlsForCustomProvider = async (bodyData, options) => {
|
|
70
|
-
if (!options.shouldInline) return bodyData;
|
|
71
|
-
const body = bodyData;
|
|
72
|
-
if (!Array.isArray(body?.messages)) return bodyData;
|
|
73
|
-
const fetchImage = options.fetchImage ?? defaultFetchImage;
|
|
74
|
-
let changed = false;
|
|
75
|
-
const messages = [];
|
|
76
|
-
for (const message of body.messages) {
|
|
77
|
-
if (!Array.isArray(message?.content)) {
|
|
78
|
-
messages.push(message);
|
|
79
|
-
continue;
|
|
80
|
-
}
|
|
81
|
-
const content = await Promise.all(
|
|
82
|
-
message.content.map(async (part) => {
|
|
83
|
-
if (part?.type !== "image_url") return part;
|
|
84
|
-
return cloneImagePartWithDataUrl(
|
|
85
|
-
part,
|
|
86
|
-
fetchImage,
|
|
87
|
-
options.isAllowedImageUrl
|
|
88
|
-
);
|
|
89
|
-
})
|
|
90
|
-
);
|
|
91
|
-
let messageChanged = false;
|
|
92
|
-
for (let i = 0; i < content.length; i++) {
|
|
93
|
-
if (content[i] !== message.content[i]) {
|
|
94
|
-
changed = true;
|
|
95
|
-
messageChanged = true;
|
|
96
|
-
break;
|
|
97
|
-
}
|
|
98
|
-
}
|
|
99
|
-
messages.push(messageChanged ? { ...message, content } : message);
|
|
100
|
-
}
|
|
101
|
-
if (!changed) return bodyData;
|
|
102
|
-
return {
|
|
103
|
-
...body,
|
|
104
|
-
messages
|
|
105
|
-
};
|
|
106
|
-
};
|
|
107
|
-
|
|
108
20
|
// packages/ai/tools/toolSchemaCompatibility.ts
|
|
109
21
|
var COMPOSITION_KEYS = ["anyOf", "oneOf", "allOf"];
|
|
110
22
|
var LIMITED_JSON_SCHEMA_PROVIDERS = /* @__PURE__ */ new Set([
|
|
@@ -151,12 +63,12 @@ var PREPARE_TOOLS_CACHE_LIMIT = 128;
|
|
|
151
63
|
var warnedUnknownToolNames = /* @__PURE__ */ new Set();
|
|
152
64
|
function getTranslation(keys, defaultVal) {
|
|
153
65
|
for (const key of keys) {
|
|
154
|
-
if (
|
|
155
|
-
return
|
|
66
|
+
if (runtime_default.exists(key)) {
|
|
67
|
+
return runtime_default.t(key);
|
|
156
68
|
}
|
|
157
69
|
const aiKey = key.startsWith("ai:") ? key : `ai:${key}`;
|
|
158
|
-
if (
|
|
159
|
-
return
|
|
70
|
+
if (runtime_default.exists(aiKey)) {
|
|
71
|
+
return runtime_default.t(aiKey);
|
|
160
72
|
}
|
|
161
73
|
}
|
|
162
74
|
return defaultVal;
|
|
@@ -203,7 +115,7 @@ function translateSchema(schema) {
|
|
|
203
115
|
return nextSchema;
|
|
204
116
|
}
|
|
205
117
|
function currentI18nLanguage() {
|
|
206
|
-
return typeof
|
|
118
|
+
return typeof runtime_default.language === "string" ? runtime_default.language : "";
|
|
207
119
|
}
|
|
208
120
|
function translateSchemaCached(schema) {
|
|
209
121
|
if (!schema || typeof schema !== "object") return schema;
|
|
@@ -268,8 +180,96 @@ var prepareTools = (toolNames, options) => {
|
|
|
268
180
|
return prepared.slice();
|
|
269
181
|
};
|
|
270
182
|
|
|
183
|
+
// packages/ai/chat/inlineImageUrlsForCustomProvider.ts
|
|
184
|
+
var FILE_CONTENT_PATH = "/api/v1/db/file/content/";
|
|
185
|
+
var shouldInlineImageUrlsForAgent = (agentConfig) => {
|
|
186
|
+
const apiSource = agentConfig?.apiSource?.toLowerCase();
|
|
187
|
+
const provider = agentConfig?.provider?.toLowerCase();
|
|
188
|
+
const model = agentConfig?.model?.toLowerCase();
|
|
189
|
+
if (apiSource === "custom" || provider === "custom") return true;
|
|
190
|
+
if (isNoloHostedProvider(provider)) return true;
|
|
191
|
+
return provider === "openrouter" && model === "minimax/minimax-m3";
|
|
192
|
+
};
|
|
193
|
+
var isInlineCandidate = (url) => /^https?:\/\//i.test(url) && url.includes(FILE_CONTENT_PATH);
|
|
194
|
+
var bytesToBase64 = (bytes) => {
|
|
195
|
+
let binary = "";
|
|
196
|
+
for (const byte of bytes) {
|
|
197
|
+
binary += String.fromCharCode(byte);
|
|
198
|
+
}
|
|
199
|
+
return btoa(binary);
|
|
200
|
+
};
|
|
201
|
+
var defaultFetchImage = async (url) => {
|
|
202
|
+
const response = await fetch(url);
|
|
203
|
+
if (!response.ok) {
|
|
204
|
+
return {
|
|
205
|
+
ok: false,
|
|
206
|
+
error: `HTTP ${response.status}`
|
|
207
|
+
};
|
|
208
|
+
}
|
|
209
|
+
const bytes = new Uint8Array(await response.arrayBuffer());
|
|
210
|
+
return {
|
|
211
|
+
ok: true,
|
|
212
|
+
mimeType: response.headers.get("content-type") ?? "application/octet-stream",
|
|
213
|
+
bytes
|
|
214
|
+
};
|
|
215
|
+
};
|
|
216
|
+
var cloneImagePartWithDataUrl = async (part, fetchImage, isAllowedImageUrl) => {
|
|
217
|
+
const url = part?.image_url?.url;
|
|
218
|
+
if (typeof url !== "string" || !isInlineCandidate(url) || isAllowedImageUrl && !isAllowedImageUrl(url)) {
|
|
219
|
+
return part;
|
|
220
|
+
}
|
|
221
|
+
const result = await fetchImage(url);
|
|
222
|
+
if (!result.ok || !result.bytes) return part;
|
|
223
|
+
const mimeType = result.mimeType || "application/octet-stream";
|
|
224
|
+
return {
|
|
225
|
+
...part,
|
|
226
|
+
image_url: {
|
|
227
|
+
...part.image_url,
|
|
228
|
+
url: `data:${mimeType};base64,${bytesToBase64(result.bytes)}`
|
|
229
|
+
}
|
|
230
|
+
};
|
|
231
|
+
};
|
|
232
|
+
var inlineImageUrlsForCustomProvider = async (bodyData, options) => {
|
|
233
|
+
if (!options.shouldInline) return bodyData;
|
|
234
|
+
const body = bodyData;
|
|
235
|
+
if (!Array.isArray(body?.messages)) return bodyData;
|
|
236
|
+
const fetchImage = options.fetchImage ?? defaultFetchImage;
|
|
237
|
+
let changed = false;
|
|
238
|
+
const messages = [];
|
|
239
|
+
for (const message of body.messages) {
|
|
240
|
+
if (!Array.isArray(message?.content)) {
|
|
241
|
+
messages.push(message);
|
|
242
|
+
continue;
|
|
243
|
+
}
|
|
244
|
+
const content = await Promise.all(
|
|
245
|
+
message.content.map(async (part) => {
|
|
246
|
+
if (part?.type !== "image_url") return part;
|
|
247
|
+
return cloneImagePartWithDataUrl(
|
|
248
|
+
part,
|
|
249
|
+
fetchImage,
|
|
250
|
+
options.isAllowedImageUrl
|
|
251
|
+
);
|
|
252
|
+
})
|
|
253
|
+
);
|
|
254
|
+
let messageChanged = false;
|
|
255
|
+
for (let i = 0; i < content.length; i++) {
|
|
256
|
+
if (content[i] !== message.content[i]) {
|
|
257
|
+
changed = true;
|
|
258
|
+
messageChanged = true;
|
|
259
|
+
break;
|
|
260
|
+
}
|
|
261
|
+
}
|
|
262
|
+
messages.push(messageChanged ? { ...message, content } : message);
|
|
263
|
+
}
|
|
264
|
+
if (!changed) return bodyData;
|
|
265
|
+
return {
|
|
266
|
+
...body,
|
|
267
|
+
messages
|
|
268
|
+
};
|
|
269
|
+
};
|
|
270
|
+
|
|
271
271
|
export {
|
|
272
|
+
prepareTools,
|
|
272
273
|
shouldInlineImageUrlsForAgent,
|
|
273
|
-
inlineImageUrlsForCustomProvider
|
|
274
|
-
prepareTools
|
|
274
|
+
inlineImageUrlsForCustomProvider
|
|
275
275
|
};
|