@llmnative/react 1.27.0 → 1.28.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/dist/index.js +7 -7
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +372 -309
- package/dist/index.mjs.map +1 -1
- package/dist/server-BFQ0FDEk.js +2 -0
- package/dist/server-BFQ0FDEk.js.map +1 -0
- package/dist/server-BYI2zjyG.mjs +107 -0
- package/dist/server-BYI2zjyG.mjs.map +1 -0
- package/dist/server.js +1 -2
- package/dist/server.mjs +3 -41
- package/dist/types/src/Config.d.ts +5 -0
- package/dist/types/src/index.d.ts +3 -1
- package/dist/types/src/providers/ai/server.d.ts +2 -0
- package/dist/types/src/providers/auth/github/GitHubAuthProvider.d.ts +38 -0
- package/dist/types/src/providers/auth/github/githubOAuth.d.ts +43 -0
- package/dist/types/src/providers/manifest.d.ts +3 -2
- package/dist/vite.js +2 -2
- package/dist/vite.js.map +1 -1
- package/dist/vite.mjs +1 -1
- package/llms-full.txt +24 -1
- package/package.json +1 -1
- package/dist/server.js.map +0 -1
- package/dist/server.mjs.map +0 -1
package/dist/index.mjs
CHANGED
|
@@ -3889,7 +3889,7 @@ var Li = "rounded-lg border border-border bg-card text-card-foreground shadow-sm
|
|
|
3889
3889
|
}))
|
|
3890
3890
|
}, e);
|
|
3891
3891
|
}, Qi = ({ menuKey: e, as: t = "ul", badges: n = {}, before: r = void 0, after: i = void 0, wrapperClassName: a = void 0, className: o = void 0, headerClassName: s = void 0, itemClassName: c = void 0, linkClassName: l = void 0, iconClassName: u = void 0, textClassName: f = void 0, badgeClassName: p = void 0, arrowClassName: m = void 0, submenuClassName: h = void 0 }) => {
|
|
3892
|
-
let g =
|
|
3892
|
+
let g = Qg(e), _ = Y("menu"), v = ({ item: e, index: r }) => {
|
|
3893
3893
|
let [i, a] = T(e.active);
|
|
3894
3894
|
y(() => {
|
|
3895
3895
|
a(e.active);
|
|
@@ -14270,7 +14270,7 @@ function Sp({ group: e, expanded: t, openItems: n, showIcons: r, onToggle: i })
|
|
|
14270
14270
|
}))));
|
|
14271
14271
|
}
|
|
14272
14272
|
function Cp({ menuKey: e, items: t, bottomItems: n = [], defaultCollapsed: r = !1, collapsed: i, onCollapsedChange: a, showIcons: o = !0, showCollapseButton: s = !0, footer: c, header: l, embedded: u = !1 }) {
|
|
14273
|
-
let { pathname: f } = j(), p = Y("sideNav"), m = Gn("sideNav"), h =
|
|
14273
|
+
let { pathname: f } = j(), p = Y("sideNav"), m = Gn("sideNav"), h = Qg(e ?? ""), g = t ?? (e ? gp(h) : []), v = i !== void 0, [b, x] = T(r), S = i === void 0 ? b : i, C = _((e) => {
|
|
14274
14274
|
let t = typeof e == "function" ? e(S) : e;
|
|
14275
14275
|
v ? a?.(t) : x(t);
|
|
14276
14276
|
}, [
|
|
@@ -16947,7 +16947,65 @@ var jh = class {
|
|
|
16947
16947
|
isAuthenticated() {
|
|
16948
16948
|
return this.isConfigured() ? !!Oi(this.config.clientId)?.access_token : !1;
|
|
16949
16949
|
}
|
|
16950
|
-
}, Ph = (e) => {
|
|
16950
|
+
}, Ph = (e) => ({
|
|
16951
|
+
uid: e.login,
|
|
16952
|
+
displayName: e.name || e.login,
|
|
16953
|
+
...e.email ? { email: e.email } : {},
|
|
16954
|
+
...e.avatarUrl ? { photoURL: e.avatarUrl } : {},
|
|
16955
|
+
provider: "github",
|
|
16956
|
+
login: e.login
|
|
16957
|
+
}), Fh = class {
|
|
16958
|
+
config;
|
|
16959
|
+
user = null;
|
|
16960
|
+
listeners = /* @__PURE__ */ new Set();
|
|
16961
|
+
loading = null;
|
|
16962
|
+
constructor(e) {
|
|
16963
|
+
this.config = e, this.isConfigured() && typeof window < "u" && this.refresh();
|
|
16964
|
+
}
|
|
16965
|
+
getConfigurationState() {
|
|
16966
|
+
return gi("GitHubAuthProvider", hi(this.config, ["sessionUrl"], "github."));
|
|
16967
|
+
}
|
|
16968
|
+
isConfigured() {
|
|
16969
|
+
return this.getConfigurationState().configured;
|
|
16970
|
+
}
|
|
16971
|
+
get base() {
|
|
16972
|
+
return (this.config.sessionUrl ?? "").replace(/\/+$/, "");
|
|
16973
|
+
}
|
|
16974
|
+
getUser() {
|
|
16975
|
+
return this.user;
|
|
16976
|
+
}
|
|
16977
|
+
isAuthenticated() {
|
|
16978
|
+
return !!this.user;
|
|
16979
|
+
}
|
|
16980
|
+
refresh() {
|
|
16981
|
+
return this.loading ??= fetch(`${this.base}/me`, {
|
|
16982
|
+
credentials: "include",
|
|
16983
|
+
headers: { Accept: "application/json" }
|
|
16984
|
+
}).then(async (e) => e.ok ? Ph(await e.json()) : null).catch(() => null).then((e) => (this.setUser(e), e)).finally(() => {
|
|
16985
|
+
this.loading = null;
|
|
16986
|
+
}), this.loading;
|
|
16987
|
+
}
|
|
16988
|
+
async signIn(e = {}) {
|
|
16989
|
+
if (!this.isConfigured()) throw Error("GitHubAuthProvider: missing github.sessionUrl configuration.");
|
|
16990
|
+
let t = new URLSearchParams({ returnTo: `${window.location.pathname}${window.location.search}` });
|
|
16991
|
+
return e.scopes?.length && t.set("scope", e.scopes.join(" ")), window.location.assign(`${this.base}/login?${t.toString()}`), this.user;
|
|
16992
|
+
}
|
|
16993
|
+
async signOut() {
|
|
16994
|
+
this.isConfigured() && await fetch(`${this.base}/logout`, {
|
|
16995
|
+
method: "POST",
|
|
16996
|
+
credentials: "include"
|
|
16997
|
+
}).catch(() => void 0), this.setUser(null);
|
|
16998
|
+
}
|
|
16999
|
+
onAuthChange(e) {
|
|
17000
|
+
return this.listeners.add(e), () => {
|
|
17001
|
+
this.listeners.delete(e);
|
|
17002
|
+
};
|
|
17003
|
+
}
|
|
17004
|
+
setUser(e) {
|
|
17005
|
+
let t = (e?.uid ?? null) !== (this.user?.uid ?? null);
|
|
17006
|
+
this.user = e, t && this.listeners.forEach((t) => t(e));
|
|
17007
|
+
}
|
|
17008
|
+
}, Ih = (e) => {
|
|
16951
17009
|
let t = Wa("oAuth2");
|
|
16952
17010
|
if (!t) return console.warn("GoogleAuth: Missing oAuth2.clientId in configuration"), Promise.reject("Google client ID not found");
|
|
16953
17011
|
let n = e.join(" "), r = `googleAccessToken::${n}`, i = `googleExpiresAt::${n}`;
|
|
@@ -16964,8 +17022,8 @@ var jh = class {
|
|
|
16964
17022
|
};
|
|
16965
17023
|
//#endregion
|
|
16966
17024
|
//#region src/providers/email/google/email.ts
|
|
16967
|
-
async function
|
|
16968
|
-
let i = await
|
|
17025
|
+
async function Lh({ to: e, bcc: t, subject: n, message: r }) {
|
|
17026
|
+
let i = await Ih(["https://www.googleapis.com/auth/gmail.send"]), a = [`To: ${e.join(", ")}`];
|
|
16969
17027
|
t && t.length && a.push(`Bcc: ${t.join(", ")}`);
|
|
16970
17028
|
let o = [
|
|
16971
17029
|
...a,
|
|
@@ -16990,7 +17048,7 @@ async function Fh({ to: e, bcc: t, subject: n, message: r }) {
|
|
|
16990
17048
|
}
|
|
16991
17049
|
//#endregion
|
|
16992
17050
|
//#region src/providers/email/google/GmailEmailProvider.ts
|
|
16993
|
-
var
|
|
17051
|
+
var Rh = class {
|
|
16994
17052
|
getConfigurationState() {
|
|
16995
17053
|
return gi("GmailEmailProvider", hi(Wa("oAuth2"), ["clientId"], "google.oAuth2."));
|
|
16996
17054
|
}
|
|
@@ -16999,7 +17057,7 @@ var Ih = class {
|
|
|
16999
17057
|
}
|
|
17000
17058
|
async send(e) {
|
|
17001
17059
|
if (!this.isConfigured()) throw Error(this.getConfigurationState().reason || "GmailEmailProvider is not configured.");
|
|
17002
|
-
await
|
|
17060
|
+
await Lh({
|
|
17003
17061
|
to: Array.isArray(e.to) ? e.to : [e.to],
|
|
17004
17062
|
bcc: e.bcc ? Array.isArray(e.bcc) ? e.bcc : [e.bcc] : void 0,
|
|
17005
17063
|
subject: e.subject,
|
|
@@ -17009,7 +17067,7 @@ var Ih = class {
|
|
|
17009
17067
|
};
|
|
17010
17068
|
//#endregion
|
|
17011
17069
|
//#region src/providers/auth/supabase/SupabaseAuthProvider.ts
|
|
17012
|
-
function
|
|
17070
|
+
function zh(e) {
|
|
17013
17071
|
return e ? {
|
|
17014
17072
|
uid: e.id,
|
|
17015
17073
|
email: e.email ?? void 0,
|
|
@@ -17018,7 +17076,7 @@ function Lh(e) {
|
|
|
17018
17076
|
raw: e
|
|
17019
17077
|
} : null;
|
|
17020
17078
|
}
|
|
17021
|
-
var
|
|
17079
|
+
var Bh = class {
|
|
17022
17080
|
config;
|
|
17023
17081
|
get client() {
|
|
17024
17082
|
return mo(this.config.url, this.config.anonKey);
|
|
@@ -17033,7 +17091,7 @@ var Rh = class {
|
|
|
17033
17091
|
return this.getConfigurationState().configured;
|
|
17034
17092
|
}
|
|
17035
17093
|
getUser() {
|
|
17036
|
-
return
|
|
17094
|
+
return zh((this.client.auth?._session ?? null)?.user ?? null);
|
|
17037
17095
|
}
|
|
17038
17096
|
isAuthenticated() {
|
|
17039
17097
|
return !!this.getUser();
|
|
@@ -17043,7 +17101,7 @@ var Rh = class {
|
|
|
17043
17101
|
if (t === "anonymous") {
|
|
17044
17102
|
let { data: e, error: t } = await this.client.auth.signInAnonymously();
|
|
17045
17103
|
if (t) throw t;
|
|
17046
|
-
return
|
|
17104
|
+
return zh(e.user);
|
|
17047
17105
|
}
|
|
17048
17106
|
if (t === "magic_link") {
|
|
17049
17107
|
let t = e.email;
|
|
@@ -17072,7 +17130,7 @@ var Rh = class {
|
|
|
17072
17130
|
password: r
|
|
17073
17131
|
});
|
|
17074
17132
|
if (a) throw a;
|
|
17075
|
-
return
|
|
17133
|
+
return zh(i.user);
|
|
17076
17134
|
}
|
|
17077
17135
|
async signOut() {
|
|
17078
17136
|
let { error: e } = await this.client.auth.signOut();
|
|
@@ -17080,10 +17138,10 @@ var Rh = class {
|
|
|
17080
17138
|
}
|
|
17081
17139
|
onAuthChange(e) {
|
|
17082
17140
|
this.client.auth.getSession().then(({ data: t }) => {
|
|
17083
|
-
e(
|
|
17141
|
+
e(zh(t.session?.user ?? null));
|
|
17084
17142
|
});
|
|
17085
17143
|
let { data: { subscription: t } } = this.client.auth.onAuthStateChange((t, n) => {
|
|
17086
|
-
e(
|
|
17144
|
+
e(zh(n?.user ?? null));
|
|
17087
17145
|
});
|
|
17088
17146
|
return () => t.unsubscribe();
|
|
17089
17147
|
}
|
|
@@ -17094,15 +17152,15 @@ var Rh = class {
|
|
|
17094
17152
|
if (!n) throw Error("SupabaseAuthProvider: no active session");
|
|
17095
17153
|
return n;
|
|
17096
17154
|
}
|
|
17097
|
-
},
|
|
17098
|
-
function
|
|
17155
|
+
}, Vh = "https://api.anthropic.com/v1/models", Hh = "https://api.anthropic.com/v1/messages";
|
|
17156
|
+
function Uh(e) {
|
|
17099
17157
|
return {
|
|
17100
17158
|
name: e.name,
|
|
17101
17159
|
description: e.description,
|
|
17102
17160
|
input_schema: e.inputSchema
|
|
17103
17161
|
};
|
|
17104
17162
|
}
|
|
17105
|
-
function
|
|
17163
|
+
function Wh(e) {
|
|
17106
17164
|
if (e.role === "user") return {
|
|
17107
17165
|
role: "user",
|
|
17108
17166
|
content: e.content
|
|
@@ -17134,7 +17192,7 @@ function Hh(e) {
|
|
|
17134
17192
|
}))
|
|
17135
17193
|
};
|
|
17136
17194
|
}
|
|
17137
|
-
function
|
|
17195
|
+
function Gh(e) {
|
|
17138
17196
|
let t = e?.content;
|
|
17139
17197
|
if (!Array.isArray(t)) return null;
|
|
17140
17198
|
let n = t.filter((e) => e?.type === "text").map((e) => String(e.text ?? "")), r = t.filter((e) => e?.type === "tool_use");
|
|
@@ -17153,7 +17211,7 @@ function Uh(e) {
|
|
|
17153
17211
|
text: i
|
|
17154
17212
|
} : null;
|
|
17155
17213
|
}
|
|
17156
|
-
var
|
|
17214
|
+
var Kh = {
|
|
17157
17215
|
id: "anthropic",
|
|
17158
17216
|
label: "Anthropic",
|
|
17159
17217
|
description: "Claude models via the Anthropic API.",
|
|
@@ -17177,7 +17235,7 @@ var Wh = {
|
|
|
17177
17235
|
supportsDocuments: !0
|
|
17178
17236
|
},
|
|
17179
17237
|
discoverModels: async (e) => {
|
|
17180
|
-
let t = await en(
|
|
17238
|
+
let t = await en(Vh, { headers: {
|
|
17181
17239
|
"x-api-key": e,
|
|
17182
17240
|
"anthropic-version": "2023-06-01"
|
|
17183
17241
|
} }, Pl);
|
|
@@ -17205,7 +17263,7 @@ var Wh = {
|
|
|
17205
17263
|
type: "text",
|
|
17206
17264
|
text: t.prompt
|
|
17207
17265
|
}] : t.prompt;
|
|
17208
|
-
return
|
|
17266
|
+
return Gh(await en(Hh, {
|
|
17209
17267
|
method: "POST",
|
|
17210
17268
|
headers: {
|
|
17211
17269
|
"x-api-key": e,
|
|
@@ -17216,18 +17274,18 @@ var Wh = {
|
|
|
17216
17274
|
model: t.model,
|
|
17217
17275
|
max_tokens: 4096,
|
|
17218
17276
|
...t.role ? { system: bl.parseRole(t.role, t) } : {},
|
|
17219
|
-
messages: [...(t.history ?? []).map(
|
|
17277
|
+
messages: [...(t.history ?? []).map(Wh), ...t.prompt ? [{
|
|
17220
17278
|
role: "user",
|
|
17221
17279
|
content: r
|
|
17222
17280
|
}] : []],
|
|
17223
|
-
...t.tools?.length ? { tools: t.tools.map(
|
|
17281
|
+
...t.tools?.length ? { tools: t.tools.map(Uh) } : {},
|
|
17224
17282
|
...typeof t.temperature == "number" ? { temperature: t.temperature } : {}
|
|
17225
17283
|
},
|
|
17226
17284
|
signal: t.signal
|
|
17227
17285
|
}, Pl));
|
|
17228
17286
|
}
|
|
17229
|
-
},
|
|
17230
|
-
function
|
|
17287
|
+
}, qh = (e) => typeof e.id == "string" ? e.id : void 0, Jh = (e) => e.replace(/\/+$/, "");
|
|
17288
|
+
function Yh(e) {
|
|
17231
17289
|
return {
|
|
17232
17290
|
type: "function",
|
|
17233
17291
|
function: {
|
|
@@ -17237,7 +17295,7 @@ function qh(e) {
|
|
|
17237
17295
|
}
|
|
17238
17296
|
};
|
|
17239
17297
|
}
|
|
17240
|
-
function
|
|
17298
|
+
function Xh(e) {
|
|
17241
17299
|
if (typeof e != "string") return {};
|
|
17242
17300
|
try {
|
|
17243
17301
|
return JSON.parse(e);
|
|
@@ -17245,7 +17303,7 @@ function Jh(e) {
|
|
|
17245
17303
|
return {};
|
|
17246
17304
|
}
|
|
17247
17305
|
}
|
|
17248
|
-
function
|
|
17306
|
+
function Zh(e) {
|
|
17249
17307
|
return e.role === "user" ? [{
|
|
17250
17308
|
role: "user",
|
|
17251
17309
|
content: e.content
|
|
@@ -17266,7 +17324,7 @@ function Yh(e) {
|
|
|
17266
17324
|
content: typeof e.output == "string" ? e.output : JSON.stringify(e.output)
|
|
17267
17325
|
}));
|
|
17268
17326
|
}
|
|
17269
|
-
function
|
|
17327
|
+
function Qh(e) {
|
|
17270
17328
|
let t = e?.choices?.[0]?.message;
|
|
17271
17329
|
if (!t) return null;
|
|
17272
17330
|
let n = Array.isArray(t.tool_calls) ? t.tool_calls : [];
|
|
@@ -17279,7 +17337,7 @@ function Xh(e) {
|
|
|
17279
17337
|
return {
|
|
17280
17338
|
id: String(e.id),
|
|
17281
17339
|
name: String(t.name ?? ""),
|
|
17282
|
-
input:
|
|
17340
|
+
input: Xh(t.arguments)
|
|
17283
17341
|
};
|
|
17284
17342
|
}),
|
|
17285
17343
|
text: e || void 0
|
|
@@ -17291,8 +17349,8 @@ function Xh(e) {
|
|
|
17291
17349
|
text: r
|
|
17292
17350
|
} : null;
|
|
17293
17351
|
}
|
|
17294
|
-
var
|
|
17295
|
-
let h =
|
|
17352
|
+
var $h = ({ id: e, label: t, description: n, configKey: r, requiredConfigKeys: i, defaultModel: a, fallbackModels: o, baseUrl: s, modelsUrl: c, chatCompletionsUrl: l, dashboardUrl: d, credentialsHint: f, validateApiKey: p, mapModelEntry: m = qh }) => {
|
|
17353
|
+
let h = Jh(s), g = c || `${h}/models`, _ = l || `${h}/chat/completions`;
|
|
17296
17354
|
return {
|
|
17297
17355
|
id: e,
|
|
17298
17356
|
label: t,
|
|
@@ -17369,22 +17427,22 @@ var Zh = ({ id: e, label: t, description: n, configKey: r, requiredConfigKeys: i
|
|
|
17369
17427
|
role: "system",
|
|
17370
17428
|
content: bl.parseRole(n.role, n)
|
|
17371
17429
|
}] : [],
|
|
17372
|
-
...(n.history ?? []).flatMap(
|
|
17430
|
+
...(n.history ?? []).flatMap(Zh),
|
|
17373
17431
|
...n.prompt ? [{
|
|
17374
17432
|
role: "user",
|
|
17375
17433
|
content: i
|
|
17376
17434
|
}] : []
|
|
17377
17435
|
],
|
|
17378
|
-
...n.tools?.length ? { tools: n.tools.map(
|
|
17436
|
+
...n.tools?.length ? { tools: n.tools.map(Yh) } : {},
|
|
17379
17437
|
...typeof n.temperature == "number" ? { temperature: n.temperature } : {}
|
|
17380
17438
|
},
|
|
17381
17439
|
signal: n.signal
|
|
17382
17440
|
}, Pl);
|
|
17383
17441
|
if (!a) throw Bl(t);
|
|
17384
|
-
return
|
|
17442
|
+
return Qh(a);
|
|
17385
17443
|
}
|
|
17386
17444
|
};
|
|
17387
|
-
},
|
|
17445
|
+
}, eg = "https://api.cloudflare.com/client/v4", tg = 100, ng = 5, rg = /-guard-/, ig = "Cloudflare Workers AI", ag = "Open-weight models (Llama, GPT-OSS, Qwen, Gemma, GLM…) with a free daily allowance.", og = "https://dash.cloudflare.com/?to=/:account/ai/workers-ai", sg = "Cloudflare dashboard → AI → Workers AI → REST API: create a Workers AI API token and copy the Account ID.", cg = [{
|
|
17388
17446
|
key: "apiKey",
|
|
17389
17447
|
label: "API Token",
|
|
17390
17448
|
type: "password"
|
|
@@ -17393,7 +17451,7 @@ var Zh = ({ id: e, label: t, description: n, configKey: r, requiredConfigKeys: i
|
|
|
17393
17451
|
label: "Account ID",
|
|
17394
17452
|
type: "text",
|
|
17395
17453
|
placeholder: "32-character account id"
|
|
17396
|
-
}],
|
|
17454
|
+
}], lg = (e, t) => (e.properties ?? []).some((e) => e.property_id === t && String(e.value) === "true"), ug = (e) => {
|
|
17397
17455
|
let t = (e.properties ?? []).find((e) => e.property_id === "price")?.value;
|
|
17398
17456
|
if (!Array.isArray(t)) return;
|
|
17399
17457
|
let n = (e) => {
|
|
@@ -17406,11 +17464,11 @@ var Zh = ({ id: e, label: t, description: n, configKey: r, requiredConfigKeys: i
|
|
|
17406
17464
|
currency: "USD",
|
|
17407
17465
|
source: "provider"
|
|
17408
17466
|
};
|
|
17409
|
-
},
|
|
17467
|
+
}, dg = (e) => e?.map((e) => e.role === "assistant" && !e.content ? {
|
|
17410
17468
|
...e,
|
|
17411
17469
|
content: ""
|
|
17412
|
-
} : e),
|
|
17413
|
-
let r = `${
|
|
17470
|
+
} : e), fg = ({ accountId: e, defaultModel: t = "@cf/meta/llama-3.3-70b-instruct-fp8-fast", includePaidModels: n = !1 }) => {
|
|
17471
|
+
let r = `${eg}/accounts/${encodeURIComponent(e.trim())}`, i = `${r}/ai/models/search`, a = (e, t, n) => {
|
|
17414
17472
|
let r = new URLSearchParams({
|
|
17415
17473
|
task: "Text Generation",
|
|
17416
17474
|
hide_experimental: "true",
|
|
@@ -17418,10 +17476,10 @@ var Zh = ({ id: e, label: t, description: n, configKey: r, requiredConfigKeys: i
|
|
|
17418
17476
|
per_page: String(n)
|
|
17419
17477
|
});
|
|
17420
17478
|
return en(`${i}?${r}`, { headers: { Authorization: `Bearer ${e}` } }, Pl);
|
|
17421
|
-
}, o =
|
|
17479
|
+
}, o = $h({
|
|
17422
17480
|
id: "cloudflare",
|
|
17423
|
-
label:
|
|
17424
|
-
description:
|
|
17481
|
+
label: ig,
|
|
17482
|
+
description: ag,
|
|
17425
17483
|
configKey: "cloudflare",
|
|
17426
17484
|
requiredConfigKeys: ["ai.cloudflare.apiToken", "ai.cloudflare.accountId"],
|
|
17427
17485
|
defaultModel: t,
|
|
@@ -17432,8 +17490,8 @@ var Zh = ({ id: e, label: t, description: n, configKey: r, requiredConfigKeys: i
|
|
|
17432
17490
|
"@cf/meta/llama-4-scout-17b-16e-instruct"
|
|
17433
17491
|
].filter((e, t, n) => n.indexOf(e) === t),
|
|
17434
17492
|
baseUrl: `${r}/ai/v1`,
|
|
17435
|
-
dashboardUrl:
|
|
17436
|
-
credentialsHint:
|
|
17493
|
+
dashboardUrl: og,
|
|
17494
|
+
credentialsHint: sg,
|
|
17437
17495
|
validateApiKey: async (e) => {
|
|
17438
17496
|
try {
|
|
17439
17497
|
let t = await a(e, 1, 1);
|
|
@@ -17454,33 +17512,33 @@ var Zh = ({ id: e, label: t, description: n, configKey: r, requiredConfigKeys: i
|
|
|
17454
17512
|
});
|
|
17455
17513
|
return {
|
|
17456
17514
|
...o,
|
|
17457
|
-
credentialFields:
|
|
17515
|
+
credentialFields: cg,
|
|
17458
17516
|
discoverModels: async (e) => {
|
|
17459
17517
|
let t = [];
|
|
17460
|
-
for (let r = 1; r <=
|
|
17461
|
-
let i = await a(e, r,
|
|
17462
|
-
if (o.filter((e) => !
|
|
17518
|
+
for (let r = 1; r <= ng; r++) {
|
|
17519
|
+
let i = await a(e, r, tg), o = Array.isArray(i?.result) ? i.result : [];
|
|
17520
|
+
if (o.filter((e) => !rg.test(e.name ?? "")).filter((e) => n || !lg(e, "require_workers_paid")).forEach((e) => {
|
|
17463
17521
|
e.name && t.push({
|
|
17464
17522
|
model: e.name,
|
|
17465
|
-
pricing:
|
|
17523
|
+
pricing: ug(e)
|
|
17466
17524
|
});
|
|
17467
|
-
}), o.length <
|
|
17525
|
+
}), o.length < tg) break;
|
|
17468
17526
|
}
|
|
17469
17527
|
return t;
|
|
17470
17528
|
},
|
|
17471
17529
|
complete: (e, t) => o.complete(e, {
|
|
17472
17530
|
...t,
|
|
17473
|
-
history:
|
|
17531
|
+
history: dg(t.history)
|
|
17474
17532
|
})
|
|
17475
17533
|
};
|
|
17476
|
-
},
|
|
17534
|
+
}, pg = {
|
|
17477
17535
|
id: "cloudflare",
|
|
17478
|
-
label:
|
|
17479
|
-
description:
|
|
17480
|
-
credentialFields:
|
|
17481
|
-
credentialsUrl:
|
|
17482
|
-
credentialsHint:
|
|
17483
|
-
},
|
|
17536
|
+
label: ig,
|
|
17537
|
+
description: ag,
|
|
17538
|
+
credentialFields: cg,
|
|
17539
|
+
credentialsUrl: og,
|
|
17540
|
+
credentialsHint: sg
|
|
17541
|
+
}, mg = $h({
|
|
17484
17542
|
id: "deepseek",
|
|
17485
17543
|
label: "DeepSeek",
|
|
17486
17544
|
description: "Cost-efficient reasoning and chat models.",
|
|
@@ -17490,15 +17548,15 @@ var Zh = ({ id: e, label: t, description: n, configKey: r, requiredConfigKeys: i
|
|
|
17490
17548
|
baseUrl: "https://api.deepseek.com",
|
|
17491
17549
|
dashboardUrl: "https://platform.deepseek.com/api_keys",
|
|
17492
17550
|
credentialsHint: "DeepSeek platform → API Keys → Create new API key."
|
|
17493
|
-
}),
|
|
17494
|
-
function
|
|
17551
|
+
}), hg = "https://generativelanguage.googleapis.com/v1beta/models", gg = "https://generativelanguage.googleapis.com/v1beta/models";
|
|
17552
|
+
function _g(e) {
|
|
17495
17553
|
return [{ function_declarations: e.map((e) => ({
|
|
17496
17554
|
name: e.name,
|
|
17497
17555
|
description: e.description,
|
|
17498
17556
|
parameters: e.inputSchema
|
|
17499
17557
|
})) }];
|
|
17500
17558
|
}
|
|
17501
|
-
function
|
|
17559
|
+
function vg(e) {
|
|
17502
17560
|
if (e.role === "user") return {
|
|
17503
17561
|
role: "user",
|
|
17504
17562
|
parts: [{ text: e.content }]
|
|
@@ -17523,7 +17581,7 @@ function gg(e) {
|
|
|
17523
17581
|
} }))
|
|
17524
17582
|
};
|
|
17525
17583
|
}
|
|
17526
|
-
function
|
|
17584
|
+
function yg(e) {
|
|
17527
17585
|
let t = e?.candidates?.[0]?.content?.parts;
|
|
17528
17586
|
if (!Array.isArray(t)) return null;
|
|
17529
17587
|
let n = t.filter((e) => typeof e?.text == "string").map((e) => e.text), r = t.filter((e) => e?.functionCall);
|
|
@@ -17542,7 +17600,7 @@ function _g(e) {
|
|
|
17542
17600
|
text: i
|
|
17543
17601
|
} : null;
|
|
17544
17602
|
}
|
|
17545
|
-
var
|
|
17603
|
+
var bg = {
|
|
17546
17604
|
id: "gemini",
|
|
17547
17605
|
label: "Gemini",
|
|
17548
17606
|
description: "Google's multimodal Gemini model family.",
|
|
@@ -17566,12 +17624,12 @@ var vg = {
|
|
|
17566
17624
|
supportsDocuments: !0
|
|
17567
17625
|
},
|
|
17568
17626
|
discoverModels: async (e) => {
|
|
17569
|
-
let t = await en(`${
|
|
17627
|
+
let t = await en(`${hg}?key=${e}`, null, Pl);
|
|
17570
17628
|
return Array.isArray(t?.models) ? t.models.map((e) => e.name?.replace(/^models\//, "")).filter(Boolean) : [];
|
|
17571
17629
|
},
|
|
17572
17630
|
validateApiKey: async (e) => {
|
|
17573
17631
|
try {
|
|
17574
|
-
let t = await en(`${
|
|
17632
|
+
let t = await en(`${hg}?key=${e}`, null, Pl);
|
|
17575
17633
|
return t === null ? {
|
|
17576
17634
|
valid: !1,
|
|
17577
17635
|
error: "Nessuna risposta dal server (CORS o rete)"
|
|
@@ -17592,22 +17650,22 @@ var vg = {
|
|
|
17592
17650
|
mime_type: e.mimeType,
|
|
17593
17651
|
data: e.base64
|
|
17594
17652
|
} }), { text: t.prompt }];
|
|
17595
|
-
return
|
|
17653
|
+
return yg(await en(`${gg}/${t.model}:generateContent?key=${e}`, {
|
|
17596
17654
|
method: "POST",
|
|
17597
17655
|
headers: t.logId ? { [u]: t.logId } : void 0,
|
|
17598
17656
|
body: {
|
|
17599
|
-
contents: [...(t.history ?? []).map(
|
|
17657
|
+
contents: [...(t.history ?? []).map(vg), ...t.prompt ? [{
|
|
17600
17658
|
role: "user",
|
|
17601
17659
|
parts: n
|
|
17602
17660
|
}] : []],
|
|
17603
17661
|
...t.role ? { systemInstruction: { parts: [{ text: bl.parseRole(t.role, t) }] } } : {},
|
|
17604
|
-
...t.tools?.length ? { tools:
|
|
17662
|
+
...t.tools?.length ? { tools: _g(t.tools) } : {},
|
|
17605
17663
|
generationConfig: typeof t.temperature == "number" ? { temperature: t.temperature } : void 0
|
|
17606
17664
|
},
|
|
17607
17665
|
signal: t.signal
|
|
17608
17666
|
}, Pl));
|
|
17609
17667
|
}
|
|
17610
|
-
},
|
|
17668
|
+
}, xg = $h({
|
|
17611
17669
|
id: "mistral",
|
|
17612
17670
|
label: "Mistral",
|
|
17613
17671
|
description: "European-hosted open and commercial language models.",
|
|
@@ -17621,7 +17679,7 @@ var vg = {
|
|
|
17621
17679
|
baseUrl: "https://api.mistral.ai/v1",
|
|
17622
17680
|
dashboardUrl: "https://console.mistral.ai/api-keys",
|
|
17623
17681
|
credentialsHint: "Mistral Console → API Keys → Create new key."
|
|
17624
|
-
}),
|
|
17682
|
+
}), Sg = /whisper|orpheus|tts|guard/i, Cg = $h({
|
|
17625
17683
|
id: "groq",
|
|
17626
17684
|
label: "Groq",
|
|
17627
17685
|
description: "Very fast inference on open-weight models, with a free tier.",
|
|
@@ -17631,8 +17689,8 @@ var vg = {
|
|
|
17631
17689
|
baseUrl: "https://api.groq.com/openai/v1",
|
|
17632
17690
|
dashboardUrl: "https://console.groq.com/keys",
|
|
17633
17691
|
credentialsHint: "Groq Console → API Keys → Create API Key.",
|
|
17634
|
-
mapModelEntry: (e) => typeof e.id == "string" && e.active !== !1 && !
|
|
17635
|
-
}),
|
|
17692
|
+
mapModelEntry: (e) => typeof e.id == "string" && e.active !== !1 && !Sg.test(e.id) ? e.id : void 0
|
|
17693
|
+
}), wg = $h({
|
|
17636
17694
|
id: "openai",
|
|
17637
17695
|
label: "OpenAI",
|
|
17638
17696
|
description: "GPT models via the OpenAI API.",
|
|
@@ -17650,8 +17708,8 @@ var vg = {
|
|
|
17650
17708
|
baseUrl: "https://api.openai.com/v1",
|
|
17651
17709
|
dashboardUrl: "https://platform.openai.com/api-keys",
|
|
17652
17710
|
credentialsHint: "OpenAI dashboard → API keys → Create new secret key."
|
|
17653
|
-
}),
|
|
17654
|
-
|
|
17711
|
+
}), Tg = "https://opencode.ai/zen/v1/models", Eg = "https://opencode.ai/zen/v1/chat/completions", Dg = "deepseek-v4.1-flash", Og = [
|
|
17712
|
+
Dg,
|
|
17655
17713
|
"deepseek-v4-pro",
|
|
17656
17714
|
"glm-5.3",
|
|
17657
17715
|
"glm-5.3-flash",
|
|
@@ -17659,13 +17717,13 @@ var vg = {
|
|
|
17659
17717
|
"kimi-k3",
|
|
17660
17718
|
"minimax-m3",
|
|
17661
17719
|
"qwen3.8-flash"
|
|
17662
|
-
],
|
|
17720
|
+
], kg = /-free$/, Ag = /* @__PURE__ */ new Set(["big-pickle"]), jg = (e) => kg.test(e) || Ag.has(e), Mg = {
|
|
17663
17721
|
id: "opencode",
|
|
17664
17722
|
label: "OpenCode",
|
|
17665
17723
|
description: "OpenCode Zen — a curated set of coding-focused models.",
|
|
17666
17724
|
configKey: "openCodeApiKey",
|
|
17667
|
-
defaultModel:
|
|
17668
|
-
fallbackModels:
|
|
17725
|
+
defaultModel: Dg,
|
|
17726
|
+
fallbackModels: Og,
|
|
17669
17727
|
dashboardUrl: "https://opencode.ai",
|
|
17670
17728
|
credentialsHint: "OpenCode Zen dashboard → API Keys → Create Key.",
|
|
17671
17729
|
credentialFields: [{
|
|
@@ -17679,8 +17737,8 @@ var vg = {
|
|
|
17679
17737
|
supportsDocuments: !0
|
|
17680
17738
|
},
|
|
17681
17739
|
discoverModels: async (e) => {
|
|
17682
|
-
let t = await en(
|
|
17683
|
-
return (Array.isArray(t?.data) ? t.data : Array.isArray(t?.models) ? t.models : Array.isArray(t) ? t : []).map((e) => e.id).filter((e) => typeof e == "string" && e.length > 0).filter((e) => !
|
|
17740
|
+
let t = await en(Tg, { headers: { Authorization: `Bearer ${e}` } }, Pl);
|
|
17741
|
+
return (Array.isArray(t?.data) ? t.data : Array.isArray(t?.models) ? t.models : Array.isArray(t) ? t : []).map((e) => e.id).filter((e) => typeof e == "string" && e.length > 0).filter((e) => !jg(e));
|
|
17684
17742
|
},
|
|
17685
17743
|
complete: async (e, t) => {
|
|
17686
17744
|
let n = t.attachments ?? [], r = n.length > 0 ? n.map((e) => e.mimeType.startsWith("image/") ? {
|
|
@@ -17695,7 +17753,7 @@ var vg = {
|
|
|
17695
17753
|
}).concat({
|
|
17696
17754
|
type: "text",
|
|
17697
17755
|
text: t.prompt
|
|
17698
|
-
}) : t.prompt, i = await en(
|
|
17756
|
+
}) : t.prompt, i = await en(Eg, {
|
|
17699
17757
|
method: "POST",
|
|
17700
17758
|
headers: {
|
|
17701
17759
|
Authorization: `Bearer ${e}`,
|
|
@@ -17708,21 +17766,21 @@ var vg = {
|
|
|
17708
17766
|
role: "system",
|
|
17709
17767
|
content: bl.parseRole(t.role, t)
|
|
17710
17768
|
}] : [],
|
|
17711
|
-
...(t.history ?? []).flatMap(
|
|
17769
|
+
...(t.history ?? []).flatMap(Zh),
|
|
17712
17770
|
...t.prompt ? [{
|
|
17713
17771
|
role: "user",
|
|
17714
17772
|
content: r
|
|
17715
17773
|
}] : []
|
|
17716
17774
|
],
|
|
17717
|
-
...t.tools?.length ? { tools: t.tools.map(
|
|
17775
|
+
...t.tools?.length ? { tools: t.tools.map(Yh) } : {},
|
|
17718
17776
|
...typeof t.temperature == "number" ? { temperature: t.temperature } : {}
|
|
17719
17777
|
},
|
|
17720
17778
|
signal: t.signal
|
|
17721
17779
|
}, Pl);
|
|
17722
17780
|
if (!i) throw Bl("OpenCode");
|
|
17723
|
-
return
|
|
17781
|
+
return Qh(i);
|
|
17724
17782
|
}
|
|
17725
|
-
},
|
|
17783
|
+
}, Ng = (e) => {
|
|
17726
17784
|
if (!e || typeof e != "object") return;
|
|
17727
17785
|
let { prompt: t, completion: n } = e, r = Number(t), i = Number(n);
|
|
17728
17786
|
if (t === void 0 || n === void 0 || !Number.isFinite(r) || !Number.isFinite(i) || r < 0 || i < 0) return;
|
|
@@ -17733,7 +17791,7 @@ var vg = {
|
|
|
17733
17791
|
currency: "USD",
|
|
17734
17792
|
source: "provider"
|
|
17735
17793
|
};
|
|
17736
|
-
},
|
|
17794
|
+
}, Pg = $h({
|
|
17737
17795
|
id: "openrouter",
|
|
17738
17796
|
label: "OpenRouter",
|
|
17739
17797
|
description: "Unified access to many model providers through one API.",
|
|
@@ -17749,7 +17807,7 @@ var vg = {
|
|
|
17749
17807
|
credentialsHint: "OpenRouter → Settings → API Keys → Create Key.",
|
|
17750
17808
|
mapModelEntry: (e) => typeof e.id == "string" ? {
|
|
17751
17809
|
model: e.id,
|
|
17752
|
-
pricing:
|
|
17810
|
+
pricing: Ng(e.pricing)
|
|
17753
17811
|
} : void 0,
|
|
17754
17812
|
validateApiKey: async (e) => {
|
|
17755
17813
|
try {
|
|
@@ -17771,7 +17829,7 @@ var vg = {
|
|
|
17771
17829
|
};
|
|
17772
17830
|
}
|
|
17773
17831
|
}
|
|
17774
|
-
}),
|
|
17832
|
+
}), Fg = {
|
|
17775
17833
|
dbRealtime: {
|
|
17776
17834
|
service: "data",
|
|
17777
17835
|
create: () => new Sh()
|
|
@@ -17788,24 +17846,28 @@ var vg = {
|
|
|
17788
17846
|
service: "auth",
|
|
17789
17847
|
create: () => new Eh()
|
|
17790
17848
|
}
|
|
17791
|
-
},
|
|
17849
|
+
}, Ig = {
|
|
17792
17850
|
googleAuth: {
|
|
17793
17851
|
service: "auth",
|
|
17794
17852
|
create: () => new rh()
|
|
17795
17853
|
},
|
|
17796
17854
|
gmail: {
|
|
17797
17855
|
service: "email",
|
|
17798
|
-
create: () => new
|
|
17856
|
+
create: () => new Rh()
|
|
17799
17857
|
},
|
|
17800
17858
|
googleServiceAccount: {
|
|
17801
17859
|
service: "credentials",
|
|
17802
17860
|
create: (e) => new jh(e.serviceAccount),
|
|
17803
17861
|
when: (e) => !!e.serviceAccount
|
|
17804
17862
|
}
|
|
17805
|
-
},
|
|
17863
|
+
}, Lg = { dropboxAuth: {
|
|
17806
17864
|
service: "auth",
|
|
17807
17865
|
create: (e) => new Nh(e)
|
|
17808
|
-
} },
|
|
17866
|
+
} }, Rg = { githubAuth: {
|
|
17867
|
+
service: "auth",
|
|
17868
|
+
create: (e) => new Fh(e),
|
|
17869
|
+
when: (e) => !!e?.sessionUrl?.trim()
|
|
17870
|
+
} }, zg = {
|
|
17809
17871
|
supabaseDb: {
|
|
17810
17872
|
service: "data",
|
|
17811
17873
|
create: (e) => new To(e)
|
|
@@ -17816,33 +17878,34 @@ var vg = {
|
|
|
17816
17878
|
},
|
|
17817
17879
|
supabaseAuth: {
|
|
17818
17880
|
service: "auth",
|
|
17819
|
-
create: (e) => new
|
|
17881
|
+
create: (e) => new Bh(e)
|
|
17820
17882
|
}
|
|
17821
|
-
},
|
|
17883
|
+
}, Bg = { mock: {
|
|
17822
17884
|
service: "data",
|
|
17823
17885
|
create: (e) => new Mo(e?.data)
|
|
17824
|
-
} },
|
|
17886
|
+
} }, Vg = (e, t) => ({
|
|
17825
17887
|
service: "ai",
|
|
17826
17888
|
create: (n) => new Kl(e, n?.[t] || ""),
|
|
17827
17889
|
when: (e) => !!e?.[t]
|
|
17828
|
-
}),
|
|
17829
|
-
firebase:
|
|
17830
|
-
google:
|
|
17831
|
-
dropbox:
|
|
17832
|
-
|
|
17833
|
-
|
|
17890
|
+
}), Hg = {
|
|
17891
|
+
firebase: Fg,
|
|
17892
|
+
google: Ig,
|
|
17893
|
+
dropbox: Lg,
|
|
17894
|
+
github: Rg,
|
|
17895
|
+
supabase: zg,
|
|
17896
|
+
mock: Bg,
|
|
17834
17897
|
ai: {
|
|
17835
|
-
openai:
|
|
17836
|
-
openrouter:
|
|
17837
|
-
opencode:
|
|
17838
|
-
deepseek:
|
|
17839
|
-
gemini:
|
|
17840
|
-
anthropic:
|
|
17841
|
-
mistral:
|
|
17842
|
-
groq:
|
|
17898
|
+
openai: Vg(wg, "openaiApiKey"),
|
|
17899
|
+
openrouter: Vg(Pg, "openRouterApiKey"),
|
|
17900
|
+
opencode: Vg(Mg, "openCodeApiKey"),
|
|
17901
|
+
deepseek: Vg(mg, "deepSeekApiKey"),
|
|
17902
|
+
gemini: Vg(bg, "geminiApiKey"),
|
|
17903
|
+
anthropic: Vg(Kh, "anthropicApiKey"),
|
|
17904
|
+
mistral: Vg(xg, "mistralApiKey"),
|
|
17905
|
+
groq: Vg(Cg, "groqApiKey"),
|
|
17843
17906
|
cloudflare: {
|
|
17844
17907
|
service: "ai",
|
|
17845
|
-
create: (e) => new Kl(
|
|
17908
|
+
create: (e) => new Kl(fg({
|
|
17846
17909
|
accountId: e?.cloudflare?.accountId?.trim() || "",
|
|
17847
17910
|
defaultModel: e?.cloudflare?.defaultModel?.trim() || void 0,
|
|
17848
17911
|
includePaidModels: e?.cloudflare?.includePaidModels
|
|
@@ -17850,8 +17913,8 @@ var vg = {
|
|
|
17850
17913
|
when: (e) => !!e?.cloudflare?.apiToken?.trim() && !!e?.cloudflare?.accountId?.trim()
|
|
17851
17914
|
}
|
|
17852
17915
|
}
|
|
17853
|
-
},
|
|
17854
|
-
function
|
|
17916
|
+
}, Ug = () => /* @__PURE__ */ d.createElement("div", { className: "flex min-h-[calc(100vh-4rem)] items-center justify-center" }, /* @__PURE__ */ d.createElement("div", { className: "h-8 w-8 animate-spin rounded-full border-2 border-muted border-t-primary" }));
|
|
17917
|
+
function Wg(e, t) {
|
|
17855
17918
|
if (!t) return;
|
|
17856
17919
|
let n = t, r = typeof t == "object" && !Array.isArray(t) ? Object.entries(n) : [];
|
|
17857
17920
|
if (r.length > 0 && r.every(([, e]) => typeof e == "object" && !!e)) {
|
|
@@ -17860,10 +17923,10 @@ function Vg(e, t) {
|
|
|
17860
17923
|
}
|
|
17861
17924
|
e.custom = t;
|
|
17862
17925
|
}
|
|
17863
|
-
function
|
|
17926
|
+
function Gg(e, t, n = "default") {
|
|
17864
17927
|
return t && e[t] ? t : Object.keys(e)[0] ?? n;
|
|
17865
17928
|
}
|
|
17866
|
-
function
|
|
17929
|
+
function Kg(e = {}) {
|
|
17867
17930
|
let t = {
|
|
17868
17931
|
data: {},
|
|
17869
17932
|
storage: {},
|
|
@@ -17872,24 +17935,24 @@ function Ug(e = {}) {
|
|
|
17872
17935
|
ai: {},
|
|
17873
17936
|
credentials: {}
|
|
17874
17937
|
}, n = (e) => t[e] ??= {};
|
|
17875
|
-
for (let [t, r] of Object.entries(
|
|
17938
|
+
for (let [t, r] of Object.entries(Hg)) {
|
|
17876
17939
|
let i = e[t];
|
|
17877
17940
|
if (i !== void 0) for (let [e, t] of Object.entries(r)) (!t.when || t.when(i)) && (n(t.service)[e] = t.create(i));
|
|
17878
17941
|
}
|
|
17879
|
-
for (let [t, r] of Object.entries(e.custom ?? {}))
|
|
17942
|
+
for (let [t, r] of Object.entries(e.custom ?? {})) Wg(n(t), r);
|
|
17880
17943
|
Object.keys(t.data).length === 0 && (t.data.mock = new Mo()), Object.keys(t.auth).length === 0 && (t.auth.googleAuth = new rh());
|
|
17881
17944
|
let r = e.services ?? {}, i = {};
|
|
17882
17945
|
for (let [e, n] of Object.entries(t)) i[e] = {
|
|
17883
17946
|
registry: n,
|
|
17884
|
-
defaultKey:
|
|
17947
|
+
defaultKey: Gg(n, r[e])
|
|
17885
17948
|
};
|
|
17886
17949
|
return i;
|
|
17887
17950
|
}
|
|
17888
|
-
var
|
|
17889
|
-
|
|
17890
|
-
},
|
|
17891
|
-
function
|
|
17892
|
-
let [p, m] = T(() =>
|
|
17951
|
+
var qg = {}, Jg = (e) => {
|
|
17952
|
+
qg = e;
|
|
17953
|
+
}, Yg = (e) => qg[e] || [];
|
|
17954
|
+
function Xg({ contextProviders: e, providers: t = {}, appName: n = "LLM Native", scrapeConfig: r, iconProvider: i, googleMaps: a, themeProvider: o, i18n: s, children: c, errorReportUrl: l, debug: u, basename: f }) {
|
|
17955
|
+
let [p, m] = T(() => Kg(t)), h = w(p);
|
|
17893
17956
|
h.current = p;
|
|
17894
17957
|
let g = w(void 0);
|
|
17895
17958
|
g.current ||= (async (e, t, n) => {
|
|
@@ -17930,8 +17993,8 @@ function qg({ contextProviders: e, providers: t = {}, appName: n = "LLM Native",
|
|
|
17930
17993
|
setProvider: _
|
|
17931
17994
|
}, /* @__PURE__ */ d.createElement(di, p.auth, /* @__PURE__ */ d.createElement(ch, p.credentials, /* @__PURE__ */ d.createElement(Pi, p.data, /* @__PURE__ */ d.createElement(Pc, p.storage, /* @__PURE__ */ d.createElement(ah, p.email, /* @__PURE__ */ d.createElement(Tl, p.ai, /* @__PURE__ */ d.createElement(Mr, { config: i }, /* @__PURE__ */ d.createElement(Zf, { config: a }, /* @__PURE__ */ d.createElement(sm, { appName: n }, /* @__PURE__ */ d.createElement(Wn, { config: s }, /* @__PURE__ */ d.createElement(jn, { config: o }, /* @__PURE__ */ d.createElement(v, null, c))))))))))))))));
|
|
17932
17995
|
}
|
|
17933
|
-
function
|
|
17934
|
-
|
|
17996
|
+
function Zg({ importPage: e, LayoutDefault: t = void 0, menuConfig: n = {}, children: r, ...i }) {
|
|
17997
|
+
Jg(n);
|
|
17935
17998
|
let a = ({ children: e }) => /* @__PURE__ */ d.createElement(d.Fragment, null, e), o = ({ pageSource: e, message: t }) => /* @__PURE__ */ d.createElement(Qo, { variant: "warning" }, "Missing Page: ", e, t && /* @__PURE__ */ d.createElement("code", { className: "ml-2" }, t));
|
|
17936
17999
|
function s(n, r, s) {
|
|
17937
18000
|
let c = `./pages${r.component ? "/" + r.component : r.path === "/" ? "/Home" : ut.toCamel(r.path.split("*")[0])}.js`, l = r.page || d.lazy(() => e(c).then((e) => typeof e.default == "function" ? { default: e.default } : (console.warn(`⚠️ Invalid default export in ${c}`), { default: () => /* @__PURE__ */ d.createElement(o, { pageSource: c }) })).catch((e) => (console.error(`❌ Failed to load ${c}:`, e), { default: () => /* @__PURE__ */ d.createElement(o, {
|
|
@@ -17945,16 +18008,16 @@ function Jg({ importPage: e, LayoutDefault: t = void 0, menuConfig: n = {}, chil
|
|
|
17945
18008
|
key: r.path,
|
|
17946
18009
|
reportUrl: i.errorReportUrl,
|
|
17947
18010
|
debug: i.debug
|
|
17948
|
-
}, /* @__PURE__ */ d.createElement(m, { fallback: /* @__PURE__ */ d.createElement(
|
|
18011
|
+
}, /* @__PURE__ */ d.createElement(m, { fallback: /* @__PURE__ */ d.createElement(Ug, null) }, /* @__PURE__ */ d.createElement(l, null))))
|
|
17949
18012
|
});
|
|
17950
18013
|
}
|
|
17951
|
-
let c = (e) => Object.keys(e).flatMap((t) => e[t].flatMap((e, n) => [e.path && s(t, e, n), e.children && c({ children: e.children })].filter(Boolean))), l = (e, t) => e.some((e) => e.path === t || !!e.children && l(e.children, t)), u = Object.values(
|
|
17952
|
-
return /* @__PURE__ */ d.createElement(
|
|
18014
|
+
let c = (e) => Object.keys(e).flatMap((t) => e[t].flatMap((e, n) => [e.path && s(t, e, n), e.children && c({ children: e.children })].filter(Boolean))), l = (e, t) => e.some((e) => e.path === t || !!e.children && l(e.children, t)), u = Object.values(qg).some((e) => l(e, "/")) ? {} : { default: [{ path: "/" }] };
|
|
18015
|
+
return /* @__PURE__ */ d.createElement(Xg, i, r, /* @__PURE__ */ d.createElement(A, null, /* @__PURE__ */ d.createElement(k, {
|
|
17953
18016
|
path: vi,
|
|
17954
18017
|
element: /* @__PURE__ */ d.createElement(Ti, null)
|
|
17955
18018
|
}), /* @__PURE__ */ d.createElement(d.Fragment, null, c({
|
|
17956
18019
|
...u,
|
|
17957
|
-
...
|
|
18020
|
+
...qg,
|
|
17958
18021
|
_auth: [{
|
|
17959
18022
|
path: "/users",
|
|
17960
18023
|
page: Km,
|
|
@@ -17965,8 +18028,8 @@ function Jg({ importPage: e, LayoutDefault: t = void 0, menuConfig: n = {}, chil
|
|
|
17965
18028
|
element: /* @__PURE__ */ d.createElement(qm, null)
|
|
17966
18029
|
})));
|
|
17967
18030
|
}
|
|
17968
|
-
var
|
|
17969
|
-
let t =
|
|
18031
|
+
var Qg = (e) => {
|
|
18032
|
+
let t = Yg(e), n = j(), r = (e) => e.map((e) => {
|
|
17970
18033
|
let t = n.pathname === e.path, i = e.children ? r(e.children) : [], a = t || i.some((e) => e.active);
|
|
17971
18034
|
return {
|
|
17972
18035
|
...e,
|
|
@@ -17975,7 +18038,7 @@ var Yg = (e) => {
|
|
|
17975
18038
|
};
|
|
17976
18039
|
});
|
|
17977
18040
|
return C(() => r(t), [n.pathname]);
|
|
17978
|
-
},
|
|
18041
|
+
}, $g = {
|
|
17979
18042
|
common: {
|
|
17980
18043
|
save: "Salva",
|
|
17981
18044
|
cancel: "Annulla",
|
|
@@ -18158,7 +18221,7 @@ var Yg = (e) => {
|
|
|
18158
18221
|
notConfigured: "La ricerca indirizzi non è configurata (manca la API key Google Maps).",
|
|
18159
18222
|
loadError: "Impossibile caricare la ricerca indirizzi."
|
|
18160
18223
|
}
|
|
18161
|
-
},
|
|
18224
|
+
}, e_ = {
|
|
18162
18225
|
common: {
|
|
18163
18226
|
save: "Speichern",
|
|
18164
18227
|
cancel: "Abbrechen",
|
|
@@ -18341,7 +18404,7 @@ var Yg = (e) => {
|
|
|
18341
18404
|
notConfigured: "Adresssuche ist nicht konfiguriert (Google Maps API-Schlüssel fehlt).",
|
|
18342
18405
|
loadError: "Adresssuche konnte nicht geladen werden."
|
|
18343
18406
|
}
|
|
18344
|
-
},
|
|
18407
|
+
}, t_ = {
|
|
18345
18408
|
common: {
|
|
18346
18409
|
save: "Сохранить",
|
|
18347
18410
|
cancel: "Отменить",
|
|
@@ -18524,7 +18587,7 @@ var Yg = (e) => {
|
|
|
18524
18587
|
notConfigured: "Поиск адресов не настроен (отсутствует ключ Google Maps API).",
|
|
18525
18588
|
loadError: "Не удалось загрузить поиск адресов."
|
|
18526
18589
|
}
|
|
18527
|
-
},
|
|
18590
|
+
}, n_ = {
|
|
18528
18591
|
common: {
|
|
18529
18592
|
save: "保存",
|
|
18530
18593
|
cancel: "取消",
|
|
@@ -18707,7 +18770,7 @@ var Yg = (e) => {
|
|
|
18707
18770
|
notConfigured: "地址搜索未配置(缺少 Google Maps API 密钥)。",
|
|
18708
18771
|
loadError: "无法加载地址搜索。"
|
|
18709
18772
|
}
|
|
18710
|
-
},
|
|
18773
|
+
}, r_ = {
|
|
18711
18774
|
common: {
|
|
18712
18775
|
save: "حفظ",
|
|
18713
18776
|
cancel: "إلغاء",
|
|
@@ -18890,22 +18953,22 @@ var Yg = (e) => {
|
|
|
18890
18953
|
notConfigured: "البحث عن العناوين غير مُعد (مفتاح Google Maps API مفقود).",
|
|
18891
18954
|
loadError: "تعذر تحميل البحث عن العناوين."
|
|
18892
18955
|
}
|
|
18893
|
-
},
|
|
18894
|
-
ar: () =>
|
|
18895
|
-
de: () =>
|
|
18956
|
+
}, i_ = /* @__PURE__ */ it({
|
|
18957
|
+
ar: () => r_,
|
|
18958
|
+
de: () => e_,
|
|
18896
18959
|
en: () => Pn,
|
|
18897
|
-
it: () =>
|
|
18898
|
-
ru: () =>
|
|
18899
|
-
zh: () =>
|
|
18900
|
-
}),
|
|
18960
|
+
it: () => $g,
|
|
18961
|
+
ru: () => t_,
|
|
18962
|
+
zh: () => n_
|
|
18963
|
+
}), a_ = (e) => Fa("api", e);
|
|
18901
18964
|
//#endregion
|
|
18902
18965
|
//#region src/providers/api/direct.ts
|
|
18903
|
-
async function
|
|
18966
|
+
async function o_(e) {
|
|
18904
18967
|
if (!e.ok) throw Error(`ApiProvider request failed: ${e.status} ${e.statusText}`);
|
|
18905
18968
|
let t = await e.text();
|
|
18906
18969
|
return t ? JSON.parse(t) : void 0;
|
|
18907
18970
|
}
|
|
18908
|
-
var
|
|
18971
|
+
var s_ = class {
|
|
18909
18972
|
config;
|
|
18910
18973
|
constructor(e) {
|
|
18911
18974
|
this.config = e;
|
|
@@ -18920,7 +18983,7 @@ var i_ = class {
|
|
|
18920
18983
|
...e.body,
|
|
18921
18984
|
...this.config.body
|
|
18922
18985
|
};
|
|
18923
|
-
return
|
|
18986
|
+
return o_(await Pl(n.toString(), {
|
|
18924
18987
|
method: t,
|
|
18925
18988
|
headers: {
|
|
18926
18989
|
"Content-Type": "application/json",
|
|
@@ -18929,7 +18992,7 @@ var i_ = class {
|
|
|
18929
18992
|
body: t === "GET" || t === "HEAD" ? void 0 : JSON.stringify(r)
|
|
18930
18993
|
}));
|
|
18931
18994
|
}
|
|
18932
|
-
},
|
|
18995
|
+
}, c_ = class {
|
|
18933
18996
|
resolver;
|
|
18934
18997
|
constructor(e) {
|
|
18935
18998
|
this.resolver = e;
|
|
@@ -18937,7 +19000,7 @@ var i_ = class {
|
|
|
18937
19000
|
async fetch(e) {
|
|
18938
19001
|
return this.resolver(e);
|
|
18939
19002
|
}
|
|
18940
|
-
},
|
|
19003
|
+
}, l_ = class {
|
|
18941
19004
|
config;
|
|
18942
19005
|
constructor(e) {
|
|
18943
19006
|
this.config = e;
|
|
@@ -18948,7 +19011,7 @@ var i_ = class {
|
|
|
18948
19011
|
request: e
|
|
18949
19012
|
}, void 0, this.config.region);
|
|
18950
19013
|
}
|
|
18951
|
-
},
|
|
19014
|
+
}, u_ = class {
|
|
18952
19015
|
config;
|
|
18953
19016
|
constructor(e) {
|
|
18954
19017
|
this.config = e;
|
|
@@ -18961,7 +19024,7 @@ var i_ = class {
|
|
|
18961
19024
|
if (n) throw n;
|
|
18962
19025
|
return t;
|
|
18963
19026
|
}
|
|
18964
|
-
},
|
|
19027
|
+
}, d_ = [
|
|
18965
19028
|
{
|
|
18966
19029
|
id: "resend",
|
|
18967
19030
|
label: "Resend",
|
|
@@ -19072,7 +19135,7 @@ var i_ = class {
|
|
|
19072
19135
|
],
|
|
19073
19136
|
credentialsHint: "Ask your mail host or hosting provider for the SMTP host, port, and credentials."
|
|
19074
19137
|
}
|
|
19075
|
-
],
|
|
19138
|
+
], f_ = [
|
|
19076
19139
|
{
|
|
19077
19140
|
id: "cloudflare_pages",
|
|
19078
19141
|
label: "Cloudflare Pages",
|
|
@@ -19302,15 +19365,15 @@ var i_ = class {
|
|
|
19302
19365
|
description: "No vendor — packages the build as a downloadable archive for self-hosting anywhere else.",
|
|
19303
19366
|
credentialFields: []
|
|
19304
19367
|
}
|
|
19305
|
-
],
|
|
19306
|
-
|
|
19368
|
+
], p_ = [
|
|
19369
|
+
wg,
|
|
19370
|
+
Pg,
|
|
19307
19371
|
Mg,
|
|
19308
|
-
|
|
19309
|
-
|
|
19310
|
-
|
|
19311
|
-
|
|
19312
|
-
|
|
19313
|
-
Zh({
|
|
19372
|
+
mg,
|
|
19373
|
+
bg,
|
|
19374
|
+
Kh,
|
|
19375
|
+
xg,
|
|
19376
|
+
$h({
|
|
19314
19377
|
id: "glm",
|
|
19315
19378
|
label: "ZhipuAI (GLM)",
|
|
19316
19379
|
description: "Zhipu AI's GLM model family.",
|
|
@@ -19327,8 +19390,8 @@ var i_ = class {
|
|
|
19327
19390
|
dashboardUrl: "https://bigmodel.cn/usercenter/apikeys",
|
|
19328
19391
|
credentialsHint: "Zhipu BigModel → User Center → API Keys → Create Key."
|
|
19329
19392
|
}),
|
|
19330
|
-
|
|
19331
|
-
],
|
|
19393
|
+
Cg
|
|
19394
|
+
], m_ = (e) => ({
|
|
19332
19395
|
id: e.id,
|
|
19333
19396
|
label: e.label,
|
|
19334
19397
|
description: e.description ?? "",
|
|
@@ -19339,7 +19402,7 @@ var i_ = class {
|
|
|
19339
19402
|
}],
|
|
19340
19403
|
credentialsUrl: e.dashboardUrl,
|
|
19341
19404
|
credentialsHint: e.credentialsHint
|
|
19342
|
-
}),
|
|
19405
|
+
}), h_ = [...p_.map(m_), pg], g_ = {
|
|
19343
19406
|
id: "openai-compatible",
|
|
19344
19407
|
label: "OpenAI-compatible",
|
|
19345
19408
|
description: "Any OpenAI-compatible endpoint (self-hosted or third-party).",
|
|
@@ -19353,15 +19416,15 @@ var i_ = class {
|
|
|
19353
19416
|
type: "text",
|
|
19354
19417
|
placeholder: "https://api.example.com/v1"
|
|
19355
19418
|
}]
|
|
19356
|
-
},
|
|
19419
|
+
}, __ = (e) => {
|
|
19357
19420
|
let t = [], n = e?.cloudflare?.accountId?.trim();
|
|
19358
|
-
n && t.push(
|
|
19421
|
+
n && t.push(fg({
|
|
19359
19422
|
accountId: n,
|
|
19360
19423
|
defaultModel: e?.cloudflare?.defaultModel?.trim() || void 0,
|
|
19361
19424
|
includePaidModels: e?.cloudflare?.includePaidModels
|
|
19362
19425
|
}));
|
|
19363
19426
|
let r = e?.openAICompatible?.baseUrl?.trim();
|
|
19364
|
-
return r ? [...t,
|
|
19427
|
+
return r ? [...t, $h({
|
|
19365
19428
|
id: "openai-compatible",
|
|
19366
19429
|
label: e?.openAICompatible?.label?.trim() || "OpenAI-compatible",
|
|
19367
19430
|
description: "Any OpenAI-compatible endpoint (self-hosted or third-party).",
|
|
@@ -19373,10 +19436,10 @@ var i_ = class {
|
|
|
19373
19436
|
modelsUrl: e?.openAICompatible?.modelsUrl?.trim() || void 0,
|
|
19374
19437
|
chatCompletionsUrl: e?.openAICompatible?.chatCompletionsUrl?.trim() || void 0
|
|
19375
19438
|
})] : t;
|
|
19376
|
-
},
|
|
19439
|
+
}, v_ = (e) => e ? [...p_, ...__(e)].reduce((t, n) => {
|
|
19377
19440
|
let r = n.id === "openai-compatible" ? e.openAICompatible?.apiKey?.trim() || "" : n.id === "cloudflare" ? e.cloudflare?.apiToken?.trim() || "" : typeof n.configKey == "string" && typeof e[n.configKey] == "string" ? String(e[n.configKey] || "").trim() : "";
|
|
19378
19441
|
return r && (t[n.id] = new Kl(n, r)), t;
|
|
19379
|
-
}, {}) : {},
|
|
19442
|
+
}, {}) : {}, y_ = (e, { scope: t }) => v_(e.reduce((e, r) => {
|
|
19380
19443
|
let i = n(t, r.id);
|
|
19381
19444
|
if (r.id === "openai-compatible") return r.baseUrl ? {
|
|
19382
19445
|
...e,
|
|
@@ -19394,37 +19457,37 @@ var i_ = class {
|
|
|
19394
19457
|
accountId: r.accountId
|
|
19395
19458
|
}
|
|
19396
19459
|
} : e;
|
|
19397
|
-
let a =
|
|
19460
|
+
let a = p_.find((e) => e.id === r.id)?.configKey;
|
|
19398
19461
|
return a ? {
|
|
19399
19462
|
...e,
|
|
19400
19463
|
[a]: i
|
|
19401
19464
|
} : e;
|
|
19402
|
-
}, {})),
|
|
19465
|
+
}, {})), b_ = void 0;
|
|
19403
19466
|
typeof Ba == "function" && Ba((e) => {
|
|
19404
|
-
|
|
19467
|
+
b_ = e.google;
|
|
19405
19468
|
});
|
|
19406
|
-
var
|
|
19469
|
+
var x_ = {
|
|
19407
19470
|
ita: "geoTargetConstants/2380",
|
|
19408
19471
|
rome: "geoTargetConstants/1033236",
|
|
19409
19472
|
mil: "geoTargetConstants/1033239",
|
|
19410
19473
|
nap: "geoTargetConstants/1033245",
|
|
19411
19474
|
tor: "geoTargetConstants/1033247"
|
|
19412
|
-
},
|
|
19475
|
+
}, S_ = {
|
|
19413
19476
|
it: "languageConstants/1000",
|
|
19414
19477
|
en: "languageConstants/1001",
|
|
19415
19478
|
fr: "languageConstants/1002",
|
|
19416
19479
|
es: "languageConstants/1003",
|
|
19417
19480
|
de: "languageConstants/1005"
|
|
19418
19481
|
};
|
|
19419
|
-
function
|
|
19420
|
-
return
|
|
19482
|
+
function C_(e) {
|
|
19483
|
+
return x_[e.toLowerCase()] || "geoTargetConstants/2380";
|
|
19421
19484
|
}
|
|
19422
|
-
function
|
|
19423
|
-
return
|
|
19485
|
+
function w_(e) {
|
|
19486
|
+
return S_[e.toLowerCase()] || "languageConstants/1000";
|
|
19424
19487
|
}
|
|
19425
|
-
async function
|
|
19426
|
-
if (!
|
|
19427
|
-
let i = await
|
|
19488
|
+
async function T_({ keyword: e, googleAdsAccountId: t, geoCode: n = "ita", languageCode: r = "it" }) {
|
|
19489
|
+
if (!b_?.developerToken) return console.error("\n❌ Google Ads API: developerToken non configurato.\n\nPer ottenere un developerToken segui questi passaggi:\n\n1️⃣ Vai su https://ads.google.com/aw/apicenter\n2️⃣ Seleziona o crea un account Google Ads Manager (MCC) se non ne hai uno.\n3️⃣ Vai alla sezione \"Strumenti e impostazioni\" → \"Accesso API\" (o \"API Center\").\n4️⃣ Clicca su \"Richiedi accesso API\" se non l'hai ancora fatto.\n5️⃣ Copia il valore del tuo Developer Token (è un identificatore simile a: 'ABc123456789xyz').\n6️⃣ Inseriscilo nel tuo file di configurazione, nella sezione:\n config.google.developerToken\n\nℹ️ Attenzione: Inizialmente il token sarà in modalità di test. Per usarlo in produzione, dovrai richiedere l'approvazione da Google Ads.\n"), [];
|
|
19490
|
+
let i = await Ih(["https://www.googleapis.com/auth/adwords"]), a = C_(n), o = w_(r), s = `https://googleads.googleapis.com/v13/customers/${t}:generateKeywordIdeas`, c = {
|
|
19428
19491
|
keywordSeed: { keywords: [e] },
|
|
19429
19492
|
geoTargetConstants: [a],
|
|
19430
19493
|
language: o
|
|
@@ -19432,7 +19495,7 @@ async function S_({ keyword: e, googleAdsAccountId: t, geoCode: n = "ita", langu
|
|
|
19432
19495
|
method: "POST",
|
|
19433
19496
|
headers: {
|
|
19434
19497
|
Authorization: `Bearer ${i}`,
|
|
19435
|
-
"developer-token":
|
|
19498
|
+
"developer-token": b_.developerToken,
|
|
19436
19499
|
"Content-Type": "application/json"
|
|
19437
19500
|
},
|
|
19438
19501
|
body: JSON.stringify(c)
|
|
@@ -19450,7 +19513,7 @@ async function S_({ keyword: e, googleAdsAccountId: t, geoCode: n = "ita", langu
|
|
|
19450
19513
|
}
|
|
19451
19514
|
//#endregion
|
|
19452
19515
|
//#region src/providers/seo/google/trend.ts
|
|
19453
|
-
async function
|
|
19516
|
+
async function E_(e, t = "IT", n = "today 12-m") {
|
|
19454
19517
|
let r = `https://trends.google.com/trends/api/explore?hl=en-US&tz=0&req=${encodeURIComponent(JSON.stringify({
|
|
19455
19518
|
comparisonItem: [{
|
|
19456
19519
|
keyword: e,
|
|
@@ -19470,7 +19533,7 @@ async function C_(e, t = "IT", n = "today 12-m") {
|
|
|
19470
19533
|
}))
|
|
19471
19534
|
};
|
|
19472
19535
|
}
|
|
19473
|
-
async function
|
|
19536
|
+
async function D_(e, t = "IT", n = "today 12-m") {
|
|
19474
19537
|
let r = `https://trends.google.com/trends/api/explore?hl=en-US&tz=0&req=${encodeURIComponent(JSON.stringify({
|
|
19475
19538
|
comparisonItem: [{
|
|
19476
19539
|
keyword: e,
|
|
@@ -19496,13 +19559,13 @@ async function w_(e, t = "IT", n = "today 12-m") {
|
|
|
19496
19559
|
}
|
|
19497
19560
|
//#endregion
|
|
19498
19561
|
//#region src/providers/storage/dropbox.tsx
|
|
19499
|
-
var
|
|
19562
|
+
var O_ = 5e3, k_ = "https://www.dropbox.com/home", A_ = void 0;
|
|
19500
19563
|
typeof Ba == "function" && Ba((e) => {
|
|
19501
|
-
|
|
19564
|
+
A_ = e.dropbox;
|
|
19502
19565
|
});
|
|
19503
|
-
var
|
|
19504
|
-
if (!
|
|
19505
|
-
let r = await Ai(
|
|
19566
|
+
var j_ = async (e, t, n = {}) => {
|
|
19567
|
+
if (!A_) return console.error("DropBox: Config not found"), null;
|
|
19568
|
+
let r = await Ai(A_.clientId);
|
|
19506
19569
|
if (!r) throw Error("DropBox: Access token not found");
|
|
19507
19570
|
return await fetch(e, {
|
|
19508
19571
|
method: "POST",
|
|
@@ -19515,12 +19578,12 @@ var O_ = async (e, t, n = {}) => {
|
|
|
19515
19578
|
}).catch((e) => (console.error("There was a problem with the fetch operation:", e), null)).finally(() => {
|
|
19516
19579
|
console.log("DropBox: Fetch operation completed");
|
|
19517
19580
|
});
|
|
19518
|
-
},
|
|
19519
|
-
if (!
|
|
19581
|
+
}, M_ = async (e, t, n = {}) => {
|
|
19582
|
+
if (!A_) {
|
|
19520
19583
|
console.error("DropBox: Config not found");
|
|
19521
19584
|
return;
|
|
19522
19585
|
}
|
|
19523
|
-
let r = await Ai(
|
|
19586
|
+
let r = await Ai(A_.clientId);
|
|
19524
19587
|
if (!r) {
|
|
19525
19588
|
console.error("DropBox: Access token not found");
|
|
19526
19589
|
return;
|
|
@@ -19545,47 +19608,47 @@ var O_ = async (e, t, n = {}) => {
|
|
|
19545
19608
|
}).finally(() => {
|
|
19546
19609
|
console.log("DropBox: Fetch operation completed", e, t);
|
|
19547
19610
|
});
|
|
19548
|
-
},
|
|
19549
|
-
let n =
|
|
19550
|
-
return (t ?
|
|
19551
|
-
},
|
|
19611
|
+
}, N_ = (e, t = !1) => {
|
|
19612
|
+
let n = A_?.rootPath || "";
|
|
19613
|
+
return (t ? k_ : "") + (e.startsWith(n) ? e : n + e);
|
|
19614
|
+
}, P_ = async (e, t = "", n = !1) => {
|
|
19552
19615
|
let r = {};
|
|
19553
|
-
return (await
|
|
19616
|
+
return (await J_.listFolders({
|
|
19554
19617
|
path: `${e + t}`,
|
|
19555
19618
|
recursive: !0
|
|
19556
19619
|
})).forEach((e) => {
|
|
19557
19620
|
e[".tag"] !== "folder" && (r[n ? pi.changeFilename(e.path_display, { ext: "" }) : e.path_display] = e.name);
|
|
19558
19621
|
}), r;
|
|
19559
|
-
},
|
|
19622
|
+
}, F_ = async (e, t) => {
|
|
19560
19623
|
if (!e.async_job_id) return Promise.reject(e);
|
|
19561
19624
|
let n, r = !0;
|
|
19562
|
-
for (; r;) await bt(100), n = await
|
|
19625
|
+
for (; r;) await bt(100), n = await M_(`https://api.dropboxapi.com/2/${t}/check`, { async_job_id: e.async_job_id }), console.log("DropBox: Check folders response: ", n), n?.[".tag"] !== "in_progress" && (r = !1);
|
|
19563
19626
|
return n?.[".tag"] === "complete" ? Promise.resolve(n.entries) : Promise.reject(n);
|
|
19564
|
-
},
|
|
19565
|
-
let n = "files/create_folder_batch", r = await
|
|
19627
|
+
}, I_ = async (e, t = "") => {
|
|
19628
|
+
let n = "files/create_folder_batch", r = await M_(`https://api.dropboxapi.com/2/${n}`, {
|
|
19566
19629
|
autorename: !1,
|
|
19567
19630
|
force_async: !0,
|
|
19568
|
-
paths: e.map((e) =>
|
|
19631
|
+
paths: e.map((e) => N_(t + e))
|
|
19569
19632
|
});
|
|
19570
|
-
return r ?
|
|
19571
|
-
},
|
|
19572
|
-
let n = "files/create_folder_batch", r = await
|
|
19573
|
-
return r ?
|
|
19574
|
-
},
|
|
19633
|
+
return r ? F_(r, n) : void 0;
|
|
19634
|
+
}, L_ = async (e, t = "") => {
|
|
19635
|
+
let n = "files/create_folder_batch", r = await M_(`https://api.dropboxapi.com/2/${n}`, { entries: e.map((e) => ({ path: N_(t + e) })) });
|
|
19636
|
+
return r ? F_(r, n) : void 0;
|
|
19637
|
+
}, R_ = async (e, t) => M_("https://api.dropboxapi.com/2/files/tags/add", {
|
|
19575
19638
|
path: e,
|
|
19576
19639
|
tag_text: t.toLowerCase().replaceAll(/[^a-z0-9]/g, "")
|
|
19577
|
-
}),
|
|
19578
|
-
for (let n in e) for (let r of e[n]) await
|
|
19579
|
-
},
|
|
19580
|
-
let n = [], r = async ({ path: e, cursor: t, recursive: n }) => e ? await
|
|
19640
|
+
}), z_ = async (e, t = "") => {
|
|
19641
|
+
for (let n in e) for (let r of e[n]) await R_(N_(t + n), r);
|
|
19642
|
+
}, B_ = async ({ path: e = "", recursive: t = !1 } = {}) => {
|
|
19643
|
+
let n = [], r = async ({ path: e, cursor: t, recursive: n }) => e ? await M_("https://api.dropboxapi.com/2/files/list_folder", {
|
|
19581
19644
|
include_deleted: !1,
|
|
19582
19645
|
include_has_explicit_shared_members: !1,
|
|
19583
19646
|
include_media_info: !1,
|
|
19584
19647
|
include_mounted_folders: !0,
|
|
19585
19648
|
include_non_downloadable_files: !0,
|
|
19586
|
-
path:
|
|
19649
|
+
path: N_(e),
|
|
19587
19650
|
recursive: n
|
|
19588
|
-
}) : await
|
|
19651
|
+
}) : await M_("https://api.dropboxapi.com/2/files/list_folder/continue", { cursor: t }), i = {
|
|
19589
19652
|
has_more: !0,
|
|
19590
19653
|
cursor: "",
|
|
19591
19654
|
entries: []
|
|
@@ -19598,44 +19661,44 @@ var O_ = async (e, t, n = {}) => {
|
|
|
19598
19661
|
recursive: t
|
|
19599
19662
|
}), i && n.push(...i.entries);
|
|
19600
19663
|
return n;
|
|
19601
|
-
},
|
|
19602
|
-
let t = async (e) => await
|
|
19664
|
+
}, V_ = async (e) => {
|
|
19665
|
+
let t = async (e) => await M_("https://api.dropboxapi.com/2/files/copy_batch_v2", {
|
|
19603
19666
|
entries: e,
|
|
19604
19667
|
autorename: !1
|
|
19605
|
-
}), n = async (e) => await
|
|
19668
|
+
}), n = async (e) => await M_("https://api.dropboxapi.com/2/files/copy_batch/check_v2", { async_job_id: e }), r = [], i = [];
|
|
19606
19669
|
for (let a = 0; a < e.length; a += 900) {
|
|
19607
19670
|
i = e.slice(a, a + 900).map((e) => ({
|
|
19608
|
-
from_path:
|
|
19609
|
-
to_path:
|
|
19671
|
+
from_path: N_(e.from),
|
|
19672
|
+
to_path: N_(e.to)
|
|
19610
19673
|
}));
|
|
19611
19674
|
let o = await t(i);
|
|
19612
19675
|
if (!o) continue;
|
|
19613
19676
|
if (o.error) throw Error(`Error starting copy: ${o.error}`);
|
|
19614
19677
|
let s = o;
|
|
19615
|
-
for (; s?.[".tag"] === "async_job_id" || s?.[".tag"] === "in_progress";) await bt(
|
|
19678
|
+
for (; s?.[".tag"] === "async_job_id" || s?.[".tag"] === "in_progress";) await bt(O_), s = await n(o.async_job_id ?? "");
|
|
19616
19679
|
if (s?.[".tag"] === "failed") throw Error(`Copy operation failed: ${s[".tag"]}`);
|
|
19617
19680
|
s?.[".tag"] === "complete" && s.entries && r.push(...s.entries);
|
|
19618
19681
|
}
|
|
19619
19682
|
return r.filter((e) => e[".tag"] === "failure").map((e) => e.failure);
|
|
19620
|
-
},
|
|
19621
|
-
let t = async (e) => await
|
|
19683
|
+
}, H_ = async (e) => {
|
|
19684
|
+
let t = async (e) => await M_("https://api.dropboxapi.com/2/files/move_v2", {
|
|
19622
19685
|
...e,
|
|
19623
19686
|
autorename: !0
|
|
19624
19687
|
});
|
|
19625
19688
|
for (let n of e) await t({
|
|
19626
|
-
from_path:
|
|
19627
|
-
to_path:
|
|
19689
|
+
from_path: N_(n.from),
|
|
19690
|
+
to_path: N_(n.to)
|
|
19628
19691
|
});
|
|
19629
|
-
},
|
|
19692
|
+
}, U_ = async ({ thumbnailsRequest: e = [], size: t = "w64h64", format: n = "jpeg", mode: r = "strict" }, i) => {
|
|
19630
19693
|
let a = {}, o = [];
|
|
19631
19694
|
for (let s = 0; s < e.length; s += 25) {
|
|
19632
19695
|
let c = e.slice(s, s + 25), l = c.map((e) => ({
|
|
19633
|
-
path:
|
|
19696
|
+
path: N_(e.path),
|
|
19634
19697
|
format: n,
|
|
19635
19698
|
size: t,
|
|
19636
19699
|
mode: r
|
|
19637
19700
|
}));
|
|
19638
|
-
await bt(100), o.push(
|
|
19701
|
+
await bt(100), o.push(M_("https://content.dropboxapi.com/2/files/get_thumbnail_batch", { entries: l }).then((e) => {
|
|
19639
19702
|
if (!e) return;
|
|
19640
19703
|
let n = e.entries.reduce((e, n, r) => {
|
|
19641
19704
|
let i = c[r].path, [a, o] = t.replace("w", "").split("h").map(Number), s = n;
|
|
@@ -19654,7 +19717,7 @@ var O_ = async (e, t, n = {}) => {
|
|
|
19654
19717
|
}));
|
|
19655
19718
|
}
|
|
19656
19719
|
return Promise.all(o).then(() => a);
|
|
19657
|
-
},
|
|
19720
|
+
}, W_ = (e, t = "application/octet-stream", n = 512) => {
|
|
19658
19721
|
let r = atob(e), i = [];
|
|
19659
19722
|
for (let e = 0; e < r.length; e += n) {
|
|
19660
19723
|
let t = r.slice(e, e + n), a = Array(t.length);
|
|
@@ -19663,11 +19726,11 @@ var O_ = async (e, t, n = {}) => {
|
|
|
19663
19726
|
i.push(o);
|
|
19664
19727
|
}
|
|
19665
19728
|
return new Blob(i, { type: t });
|
|
19666
|
-
},
|
|
19729
|
+
}, G_ = async (e, t) => {
|
|
19667
19730
|
try {
|
|
19668
19731
|
let n = t.split(",")[1];
|
|
19669
|
-
|
|
19670
|
-
path:
|
|
19732
|
+
j_("https://content.dropboxapi.com/2/files/upload", W_(n, "application/octet-stream"), { "Dropbox-API-Arg": JSON.stringify({
|
|
19733
|
+
path: N_(e),
|
|
19671
19734
|
mode: "overwrite",
|
|
19672
19735
|
autorename: !0,
|
|
19673
19736
|
mute: !1
|
|
@@ -19677,12 +19740,12 @@ var O_ = async (e, t, n = {}) => {
|
|
|
19677
19740
|
} catch (e) {
|
|
19678
19741
|
console.error("Errore durante il caricamento su Dropbox:", e);
|
|
19679
19742
|
}
|
|
19680
|
-
},
|
|
19681
|
-
if (!
|
|
19743
|
+
}, K_ = (e = !1) => A_ ? Di(A_.clientId, e) : !1, q_ = (e = {}) => {
|
|
19744
|
+
if (!A_) return /* @__PURE__ */ d.createElement("div", {
|
|
19682
19745
|
title: "DropBox: configurazione mancante. Recupera il \"Client ID\" accedendo a https://www.dropbox.com/developers, vai su \"App Console\", seleziona un'app esistente o chiedi il Client ID a chi ha configurato il sistema.",
|
|
19683
19746
|
className: "text-danger flex items-center gap-2"
|
|
19684
19747
|
}, /* @__PURE__ */ d.createElement(Q, { name: "warning" }), /* @__PURE__ */ d.createElement("span", null, "Dropbox non configurato"));
|
|
19685
|
-
let t =
|
|
19748
|
+
let t = K_(!0);
|
|
19686
19749
|
return /* @__PURE__ */ d.createElement(Mi, {
|
|
19687
19750
|
provider: "dropboxAuth",
|
|
19688
19751
|
intent: "connect",
|
|
@@ -19694,33 +19757,33 @@ var O_ = async (e, t, n = {}) => {
|
|
|
19694
19757
|
title: t ? "DropBox Connected" : "DropBox Disconnected"
|
|
19695
19758
|
}
|
|
19696
19759
|
});
|
|
19697
|
-
},
|
|
19760
|
+
}, J_ = {
|
|
19698
19761
|
setRootPath: (e) => {
|
|
19699
|
-
|
|
19700
|
-
},
|
|
19701
|
-
resolvePath:
|
|
19702
|
-
createFolders:
|
|
19703
|
-
deleteBulk:
|
|
19704
|
-
addTags:
|
|
19705
|
-
listFolders:
|
|
19706
|
-
getThumbnails:
|
|
19707
|
-
search:
|
|
19708
|
-
upload:
|
|
19709
|
-
copy:
|
|
19710
|
-
move:
|
|
19711
|
-
},
|
|
19762
|
+
A_ && (A_.rootPath = e);
|
|
19763
|
+
},
|
|
19764
|
+
resolvePath: N_,
|
|
19765
|
+
createFolders: I_,
|
|
19766
|
+
deleteBulk: L_,
|
|
19767
|
+
addTags: z_,
|
|
19768
|
+
listFolders: B_,
|
|
19769
|
+
getThumbnails: U_,
|
|
19770
|
+
search: P_,
|
|
19771
|
+
upload: G_,
|
|
19772
|
+
copy: V_,
|
|
19773
|
+
move: H_
|
|
19774
|
+
}, Y_ = "https://api.serpapi.com/search", X_ = "google", Z_ = "google_images", Q_ = "google_autocomplete", $_ = "google_trends", ev = "google_maps", tv = "google_maps_photos", nv = "google_maps_reviews", rv = {
|
|
19712
19775
|
engine: null,
|
|
19713
19776
|
device: null,
|
|
19714
19777
|
no_cache: !1,
|
|
19715
19778
|
async: !1,
|
|
19716
19779
|
output: "json"
|
|
19717
|
-
},
|
|
19780
|
+
}, iv = { q: null }, av = {
|
|
19718
19781
|
tbs: null,
|
|
19719
19782
|
safe: "active",
|
|
19720
19783
|
nfpr: 0,
|
|
19721
19784
|
filter: 1
|
|
19722
19785
|
};
|
|
19723
|
-
function
|
|
19786
|
+
function ov(e) {
|
|
19724
19787
|
let t = ul(), n = ul(!0), r = dl(!0), i = {
|
|
19725
19788
|
location: t,
|
|
19726
19789
|
uule: null
|
|
@@ -19738,13 +19801,13 @@ function rv(e) {
|
|
|
19738
19801
|
hl: r
|
|
19739
19802
|
};
|
|
19740
19803
|
return {
|
|
19741
|
-
[
|
|
19742
|
-
...
|
|
19804
|
+
[X_]: {
|
|
19805
|
+
...rv,
|
|
19743
19806
|
...i,
|
|
19744
19807
|
...o,
|
|
19745
|
-
...
|
|
19746
|
-
...
|
|
19747
|
-
engine:
|
|
19808
|
+
...av,
|
|
19809
|
+
...iv,
|
|
19810
|
+
engine: X_,
|
|
19748
19811
|
ludocid: null,
|
|
19749
19812
|
lsig: null,
|
|
19750
19813
|
kgmid: null,
|
|
@@ -19753,29 +19816,29 @@ function rv(e) {
|
|
|
19753
19816
|
start: null,
|
|
19754
19817
|
num: null
|
|
19755
19818
|
},
|
|
19756
|
-
[
|
|
19757
|
-
...
|
|
19819
|
+
[Z_]: {
|
|
19820
|
+
...rv,
|
|
19758
19821
|
...i,
|
|
19759
19822
|
...o,
|
|
19760
|
-
...
|
|
19761
|
-
...
|
|
19762
|
-
engine:
|
|
19823
|
+
...av,
|
|
19824
|
+
...iv,
|
|
19825
|
+
engine: Z_,
|
|
19763
19826
|
chips: null,
|
|
19764
19827
|
ijn: null
|
|
19765
19828
|
},
|
|
19766
|
-
[
|
|
19767
|
-
...
|
|
19829
|
+
[Q_]: {
|
|
19830
|
+
...rv,
|
|
19768
19831
|
...o,
|
|
19769
|
-
...
|
|
19770
|
-
engine:
|
|
19832
|
+
...iv,
|
|
19833
|
+
engine: Q_,
|
|
19771
19834
|
cp: null,
|
|
19772
19835
|
client: null
|
|
19773
19836
|
},
|
|
19774
|
-
[
|
|
19775
|
-
...
|
|
19837
|
+
[$_]: {
|
|
19838
|
+
...rv,
|
|
19776
19839
|
...a,
|
|
19777
|
-
...
|
|
19778
|
-
engine:
|
|
19840
|
+
...iv,
|
|
19841
|
+
engine: $_,
|
|
19779
19842
|
data_type: null,
|
|
19780
19843
|
tz: null,
|
|
19781
19844
|
cat: null,
|
|
@@ -19783,73 +19846,73 @@ function rv(e) {
|
|
|
19783
19846
|
date: null,
|
|
19784
19847
|
csv: null
|
|
19785
19848
|
},
|
|
19786
|
-
[
|
|
19787
|
-
...
|
|
19849
|
+
[ev]: {
|
|
19850
|
+
...rv,
|
|
19788
19851
|
...i,
|
|
19789
19852
|
...o,
|
|
19790
|
-
...
|
|
19791
|
-
...
|
|
19792
|
-
engine:
|
|
19853
|
+
...av,
|
|
19854
|
+
...iv,
|
|
19855
|
+
engine: ev
|
|
19793
19856
|
},
|
|
19794
|
-
[
|
|
19795
|
-
...
|
|
19857
|
+
[tv]: {
|
|
19858
|
+
...rv,
|
|
19796
19859
|
...s,
|
|
19797
|
-
engine:
|
|
19860
|
+
engine: tv
|
|
19798
19861
|
},
|
|
19799
|
-
[
|
|
19800
|
-
...
|
|
19862
|
+
[nv]: {
|
|
19863
|
+
...rv,
|
|
19801
19864
|
...s,
|
|
19802
|
-
engine:
|
|
19865
|
+
engine: nv
|
|
19803
19866
|
}
|
|
19804
19867
|
}[e] ?? {};
|
|
19805
19868
|
}
|
|
19806
|
-
var
|
|
19869
|
+
var sv = void 0;
|
|
19807
19870
|
typeof Ba == "function" && Ba((e) => {
|
|
19808
|
-
|
|
19871
|
+
sv = e.scrape;
|
|
19809
19872
|
});
|
|
19810
|
-
function
|
|
19873
|
+
function cv(e) {
|
|
19811
19874
|
let t = {};
|
|
19812
19875
|
for (let n in e) e[n] !== null && (t[n] = e[n]);
|
|
19813
19876
|
return t;
|
|
19814
19877
|
}
|
|
19815
|
-
var
|
|
19816
|
-
function
|
|
19817
|
-
let t =
|
|
19818
|
-
return t.length === 0 ? null : (e &&
|
|
19878
|
+
var lv = 0;
|
|
19879
|
+
function uv(e = !1) {
|
|
19880
|
+
let t = sv?.serpApiKey?.split(",").map((e) => e.trim()).filter(Boolean) || [];
|
|
19881
|
+
return t.length === 0 ? null : (e && lv++, lv < t.length ? t[lv] : null);
|
|
19819
19882
|
}
|
|
19820
|
-
var
|
|
19883
|
+
var dv = async (e, t) => {
|
|
19821
19884
|
let n = (n) => {
|
|
19822
|
-
let r =
|
|
19823
|
-
...
|
|
19885
|
+
let r = cv({
|
|
19886
|
+
...ov(t),
|
|
19824
19887
|
api_key: n,
|
|
19825
19888
|
q: e
|
|
19826
19889
|
});
|
|
19827
|
-
return console.log(
|
|
19828
|
-
}, r =
|
|
19890
|
+
return console.log(Y_, r), `${Y_}?${new URLSearchParams(r)}`;
|
|
19891
|
+
}, r = uv();
|
|
19829
19892
|
for (; r;) try {
|
|
19830
19893
|
return await en(n(r));
|
|
19831
19894
|
} catch (e) {
|
|
19832
19895
|
if (e?.error === "quota_exceeded") {
|
|
19833
|
-
console.warn(`SerpApi: invalid api key: ${r}`, e), r =
|
|
19896
|
+
console.warn(`SerpApi: invalid api key: ${r}`, e), r = uv(!0);
|
|
19834
19897
|
continue;
|
|
19835
19898
|
}
|
|
19836
19899
|
throw console.error(`SerpApi: ${r}`, e), e;
|
|
19837
19900
|
}
|
|
19838
19901
|
return null;
|
|
19839
|
-
},
|
|
19902
|
+
}, fv = async (e, t, n) => {
|
|
19840
19903
|
let r = `${Ga}/${vt(t)}/${vt(e)}`, i = await n.read(r);
|
|
19841
19904
|
if (i) return i;
|
|
19842
|
-
let a = await
|
|
19905
|
+
let a = await dv(e, t);
|
|
19843
19906
|
return a ? n.set(r, a) : console.warn(`SerpApi ${t}: No Result`), a ?? {};
|
|
19844
|
-
},
|
|
19845
|
-
googleSearch: async (t) =>
|
|
19846
|
-
googleImages: async (t) =>
|
|
19847
|
-
googleAutocomplete: async (t) =>
|
|
19848
|
-
googleTrends: async (t) =>
|
|
19849
|
-
googleMaps: async (t) =>
|
|
19850
|
-
googleMapsPhotos: async (t) =>
|
|
19851
|
-
googleMapsReviews: async (t) =>
|
|
19852
|
-
}),
|
|
19907
|
+
}, pv = (e) => ({
|
|
19908
|
+
googleSearch: async (t) => fv(t, X_, e),
|
|
19909
|
+
googleImages: async (t) => fv(t, Z_, e),
|
|
19910
|
+
googleAutocomplete: async (t) => fv(t, Q_, e),
|
|
19911
|
+
googleTrends: async (t) => fv(t, $_, e),
|
|
19912
|
+
googleMaps: async (t) => fv(t, ev, e),
|
|
19913
|
+
googleMapsPhotos: async (t) => fv(t, tv, e),
|
|
19914
|
+
googleMapsReviews: async (t) => fv(t, nv, e)
|
|
19915
|
+
}), mv = {
|
|
19853
19916
|
"+": "+",
|
|
19854
19917
|
"﹢": "+",
|
|
19855
19918
|
"-": "-",
|
|
@@ -19924,7 +19987,7 @@ var cv = async (e, t) => {
|
|
|
19924
19987
|
x: "x",
|
|
19925
19988
|
y: "y",
|
|
19926
19989
|
z: "z"
|
|
19927
|
-
},
|
|
19990
|
+
}, hv = {
|
|
19928
19991
|
email: {
|
|
19929
19992
|
description: "Email: no spaces -> Lower/Trim",
|
|
19930
19993
|
transformations: [{
|
|
@@ -19970,7 +20033,7 @@ var cv = async (e, t) => {
|
|
|
19970
20033
|
transformations: [],
|
|
19971
20034
|
mask: ["toSlug"]
|
|
19972
20035
|
}
|
|
19973
|
-
},
|
|
20036
|
+
}, gv = [
|
|
19974
20037
|
{
|
|
19975
20038
|
pattern: "email*",
|
|
19976
20039
|
use: "email"
|
|
@@ -19987,24 +20050,24 @@ var cv = async (e, t) => {
|
|
|
19987
20050
|
pattern: "date*",
|
|
19988
20051
|
use: "date"
|
|
19989
20052
|
}
|
|
19990
|
-
],
|
|
19991
|
-
function
|
|
19992
|
-
return e ? e.normalize("NFKC").replace(
|
|
20053
|
+
], _v = new RegExp(Object.keys(mv).join("|"), "g");
|
|
20054
|
+
function vv(e) {
|
|
20055
|
+
return e ? e.normalize("NFKC").replace(_v, (e) => mv[e] ?? e) : "";
|
|
19993
20056
|
}
|
|
19994
|
-
var
|
|
20057
|
+
var yv = class {
|
|
19995
20058
|
config;
|
|
19996
20059
|
matches;
|
|
19997
20060
|
constructor(e = {}, t = []) {
|
|
19998
20061
|
this.config = {
|
|
19999
|
-
...
|
|
20062
|
+
...hv,
|
|
20000
20063
|
...e
|
|
20001
|
-
}, this.matches = [...
|
|
20064
|
+
}, this.matches = [...gv, ...t];
|
|
20002
20065
|
}
|
|
20003
20066
|
apply(e, t, n = !1) {
|
|
20004
20067
|
let r = this.config[e];
|
|
20005
20068
|
if (!r) return n ? Kt(t) : t;
|
|
20006
20069
|
let i = t;
|
|
20007
|
-
i =
|
|
20070
|
+
i = vv(String(i ?? ""));
|
|
20008
20071
|
let a = r.exclusions;
|
|
20009
20072
|
if (Array.isArray(a) && a.length) {
|
|
20010
20073
|
let e = String(i).toLowerCase();
|
|
@@ -20063,7 +20126,7 @@ var gv = class {
|
|
|
20063
20126
|
};
|
|
20064
20127
|
//#endregion
|
|
20065
20128
|
//#region src/libs/csv.ts
|
|
20066
|
-
function
|
|
20129
|
+
function bv(e, t) {
|
|
20067
20130
|
let n = Le.parse(e, {
|
|
20068
20131
|
header: !0,
|
|
20069
20132
|
skipEmptyLines: !0,
|
|
@@ -20076,6 +20139,6 @@ function _v(e, t) {
|
|
|
20076
20139
|
};
|
|
20077
20140
|
}
|
|
20078
20141
|
//#endregion
|
|
20079
|
-
export { Tl as AIProvider,
|
|
20142
|
+
export { Tl as AIProvider, p_ as AI_PROVIDER_DEFINITIONS, h_ as AI_PROVIDER_DESCRIPTORS, a as AI_PROVIDER_HOSTS, Qr as ActionButton, up as AddressAutocomplete, Qo as Alert, Zg as App, Xg as AppProvider, ta as AsyncDropdown, Mi as AuthButton, di as AuthProvider, bc as Autocomplete, _n as BUILT_IN_THEMES, pn as BUILT_IN_THEME_IDS, $r as BackLink, cr as Badge, sr as BadgeOverlay, ca as Brand, ga as Breadcrumbs, pg as CLOUDFLARE_PROVIDER_DESCRIPTOR, $l as CONTEXT_MENU_SEARCH_THRESHOLD, Vi as Card, _a as Carousel, Ou as Chatbot, tc as Checkbox, xc as Checklist, hs as Code, hd as CodeEditor, Xu as CodeSyntaxError, ir as Col, Ks as Color, Bd as Component, Vd as ComponentBlock, nr as Container, hu as ContextMenu, Gc as CropImage, Up as DEFAULT_DOCUMENT_HEAD, Hp as DEFAULT_HEAD_APP_NAME, Wp as DEFAULT_LANGUAGE_HEAD, oc as DEFAULT_ORDER, Pi as DataProvider, qs as Date, Ys as DateTime, ts as DescriptionList, s_ as DirectApiProviderAdapter, q_ as DropBoxConnectButton, Nh as DropboxAuthProvider, ea as Dropdown, na as DropdownButton, aa as DropdownDivider, ia as DropdownHeader, ra as DropdownItem, oa as DropdownMenu, d_ as EMAIL_PROVIDER_DEFINITIONS, Ws as Email, ah as EmailProvider, zs as FieldError, Qc as FileNameEditor, l_ as FirebaseApiProviderAdapter, Eh as FirebaseAuthProvider, Sh as FirebaseDataProvider, Ro as FirebaseStorageProvider, fo as FirestoreDataProvider, gf as Form, ef as FormControllerContext, Am as Gallery, Fh as GitHubAuthProvider, Rh as GmailEmailProvider, ei as GoSite, rh as GoogleAuthProvider, Zf as GoogleMapsProvider, jh as GoogleServiceAccountProvider, Gm as Grid, Wm as GridArray, Um as GridCore, Ep as GridDB, jm as GridGalleryView, zp as GridTableView, ym as Head, sm as HeadProvider, ec as Hidden, Wn as I18nProvider, Q as Icon, Mr as IconProvider, sa as Image, mi as ImageAvatar, Lc as ImageEditor, zc as ImageField, Vs as Input, rc as Label, Yf as LayoutBuilder, pp as ListCard, ac as ListGroup, Ii as Loader, Zr as LoadingButton, _s as LocaleSwitcher, xr as LucideIconProvider, Dm as MarkdownReader, Qi as Menu, c_ as MockApiProviderAdapter, Mo as MockDataProvider, Ji as Modal, Zi as ModalOk, Xi as ModalYesNo, Zs as Month, mv as NORMALIZE_MAP, va as Notifications, Us as Number, g_ as OPENAI_COMPATIBLE_PROVIDER_DESCRIPTOR, lc as Order, f_ as PUBLISH_PROVIDER_DEFINITIONS, Km as PageUsers, km as Pagination, Gs as Password, Cs as Percentage, wr as PhosphorIconProvider, Bu as Prompt, ku as PromptMode, Ql as PromptUtils, Yo as ProviderSwitcher, Qs as Range, ti as ReferSite, Df as Repeat, Ld as RichText, rr as Row, s as SERVER_CREDENTIAL_PREFIX, yv as Sanitizer, ba as Search, vc as Select, Cp as SideNav, Pc as StorageProvider, Hs as String, u_ as SupabaseApiProviderAdapter, Bh as SupabaseAuthProvider, To as SupabaseDataProvider, zo as SupabaseStorageProvider, nc as Switch, Ff as Tab, Om as TabDynamic, Nf as TabItem, Mf as TabLayouts, Rf as Table, ic as TextArea, Aa as ThemeSwitcher, Js as Time, Ca as Toolbar, as as Tree, dp as UploadCSV, ol as UploadDocument, sl as UploadImage, $s as Url, Xs as Week, Z as Wrapper, jt as arrayUnique, It as arraysEqual, Ft as base64Encode, Bt as base64ToBlob, Vt as base64ToUrl, la as buildBreadcrumbSchema, c as buildModelIdentityIndex, fu as buildTextCommandContext, Ir as buttonBaseClass, zr as buttonDangerClass, Wr as buttonDarkClass, Hr as buttonInfoClass, Ur as buttonLightClass, Yr as buttonLinkClass, qr as buttonOutlineDangerClass, Gr as buttonOutlinePrimaryClass, Kr as buttonOutlineSecondaryClass, Jr as buttonOutlineSuccessClass, Lr as buttonPrimaryClass, Rr as buttonSecondaryClass, Br as buttonSuccessClass, Vr as buttonWarningClass, eo as callFirebaseFunction, i as canonicalModelName, Tt as checkConditions, Ut as cleanRecord, X as cn, jl as configureProxy, ut as converter, mt as copyToClipboard, Et as crc32, v_ as createAIProviderRegistry, fg as createCloudflareProviderDefinition, pr as createMotionTransition, y_ as createServerCredentialAIRegistry, In as createTranslations, pt as decodeJWT, Fn as defineLocaleMessages, yt as dirname, J_ as dropBox, St as eventClosest, en as fetchJson, $t as fetchRest, tn as fetchWithRetry, js as fieldAddonClass, Os as fieldControlBaseClass, Ds as fieldFeedbackClass, As as fieldGroupClass, Es as fieldLabelClass, ks as fieldTextAreaBaseClass, Sl as formatAIModelRef, xt as generateUniqueId, Gl as getAIModelCatalog, Ai as getAccessToken, lu as getAutoClosedSuffixLength, od as getCodeValidationResult, al as getFileUrl, si as getGlobalVars, E_ as getGoogleTrendsData, D_ as getGoogleTrendsRelated, T_ as getKeywordIdeas, _i as getProviderConfigurationState, Ht as getRecordValue, kf as getTabLayoutConfig, jf as getTabPaneClassName, Af as getTabTriggerClassName, Ih as googleGetAccessToken, gu as groupModelOptions, cu as hasAutoClosedSuffix, Ln as interpolate, kt as intersectObjects, l as isAIProviderTarget, ar as isBadgeDescriptor, Mt as isEmpty, xl as isFreeAIModel, vu as isFreeModelOption, Rt as isInteractiveElement, Il as isProxyEnabled, uc as labelText, tp as loadGoogleMaps, o as loadModelIdentityIndex, Ot as loadScripts, i_ as locales, uu as matchCommandTrigger, or as normalizeBadgeProps, vt as normalizeKey, gt as normalizePath, vv as normalizeVisualChars, Cl as parseAIModelRef, bv as parseCsvText, pi as path, Pl as proxyFetch, Gt as recordsEqual, Vo as registerProviderSessionFactory, li as removeGlobalVars, zt as render2Base64, wt as replacePlaceholders, At as replaceVariables, r as resolveModel, mr as resolveMotionEffect, Yu as runPrompt, Pt as safeClone, Lt as sanitizeKey, pv as scrape, Lh as sendEmail, n as serverCredential, ci as setGlobalVars, bt as sleep, Kt as smartTypeCast, Ct as substrCount, m_ as toProviderDescriptor, os as treeFromPaths, ht as trimPath, _t as trimSlash, Dt as ucfirst, El as useAIProvider, Dl as useAIProviderRegistry, Di as useAccessToken, a_ as useApiProvider, gm as useAssetsHead, fi as useAuthProvider, lh as useCredentialsProvider, Fi as useDataProvider, hm as useDocumentHead, K_ as useDropBoxConnect, Ts as useEditorHeight, oh as useEmailProvider, vr as useEnterMotion, $c as useFileUploadCore, nf as useFormActions, ff as useFormContext, tf as useFormController, oi as useGlobalVars, Qf as useGoogleMapsConfig, um as useHead, fm as useHeadLinks, Gn as useI18n, Pr as useIconController, Nr as useIconProvider, Ec as useImage, mm as useLanguageHead, Qg as useMenu, hr as useMotionEffect, gr as useMotionState, pm as usePaginationHead, _r as usePressMotion, Fa as useProvider, qo as useProviderSession, Fl as useProxy, _m as usePwaHead, vm as useSchemaOrgHead, Pa as useSetProvider, dm as useSocialHead, Fc as useStorageProvider, Y as useTheme, Nn as useThemeController, ad as validateCodeSyntax };
|
|
20080
20143
|
|
|
20081
20144
|
//# sourceMappingURL=index.mjs.map
|