@llmnative/react 1.15.4 → 1.16.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 +42 -38
- package/dist/index.js +6 -6
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +354 -249
- package/dist/index.mjs.map +1 -1
- package/dist/types/src/Config.d.ts +8 -0
- package/dist/types/src/index.d.ts +2 -2
- package/dist/types/src/providers/ai/cloudflare.d.ts +14 -0
- package/dist/types/src/providers/ai/index.d.ts +5 -0
- package/dist/types/src/providers/ai/shared.d.ts +1 -1
- package/dist/types/src/providers/manifest.d.ts +1 -1
- package/package.json +1 -1
package/dist/index.mjs
CHANGED
|
@@ -3762,7 +3762,7 @@ var Di = "rounded-lg border border-border bg-card text-card-foreground shadow-sm
|
|
|
3762
3762
|
}))
|
|
3763
3763
|
}, e);
|
|
3764
3764
|
}, Ii = ({ menuKey: e, as: n = "ul", badges: r = {}, before: i = void 0, after: a = void 0, wrapperClassName: o = void 0, className: s = void 0, headerClassName: c = void 0, itemClassName: u = void 0, linkClassName: d = void 0, iconClassName: f = void 0, textClassName: p = void 0, badgeClassName: m = void 0, arrowClassName: g = void 0, submenuClassName: _ = void 0 }) => {
|
|
3765
|
-
let y =
|
|
3765
|
+
let y = tg(e), b = Y("menu"), x = ({ item: e, index: i }) => {
|
|
3766
3766
|
let [a, o] = h(e.active);
|
|
3767
3767
|
l(() => {
|
|
3768
3768
|
o(e.active);
|
|
@@ -7888,30 +7888,36 @@ var bc = 120, xc = 88, Sc = (e) => {
|
|
|
7888
7888
|
handleRemove: y
|
|
7889
7889
|
};
|
|
7890
7890
|
}, Oc = (e, t, n, r, i, a, o) => {
|
|
7891
|
-
let { value: s, handleChange: c, formWrapClass:
|
|
7891
|
+
let { value: s, handleChange: c, formWrapClass: u } = Dd({
|
|
7892
7892
|
name: e,
|
|
7893
7893
|
onChange: t,
|
|
7894
7894
|
wrapperClassName: n
|
|
7895
|
-
}), [
|
|
7895
|
+
}), [d, f] = h(null), p = m(s), g = Dc({
|
|
7896
7896
|
initialFiles: Array.isArray(s) ? s : [],
|
|
7897
|
-
onFilesChange: (t) =>
|
|
7898
|
-
|
|
7899
|
-
|
|
7900
|
-
|
|
7897
|
+
onFilesChange: (t) => {
|
|
7898
|
+
p.current = t, c({ target: {
|
|
7899
|
+
name: e,
|
|
7900
|
+
value: t
|
|
7901
|
+
} });
|
|
7902
|
+
},
|
|
7901
7903
|
uploadPath: r,
|
|
7902
7904
|
srcsetWidths: i,
|
|
7903
7905
|
storageKey: a,
|
|
7904
7906
|
storageProvider: o
|
|
7905
|
-
})
|
|
7906
|
-
|
|
7907
|
+
});
|
|
7908
|
+
l(() => {
|
|
7909
|
+
s !== p.current && (p.current = s, g.setFiles(Array.isArray(s) ? s : []));
|
|
7910
|
+
}, [s]);
|
|
7911
|
+
let _ = (e) => {
|
|
7912
|
+
d && (g.updateFile(d.key, e), f(null));
|
|
7907
7913
|
};
|
|
7908
7914
|
return {
|
|
7909
|
-
...
|
|
7910
|
-
formWrapClass:
|
|
7911
|
-
currentFile:
|
|
7912
|
-
handleSave:
|
|
7913
|
-
handleEdit: (e) =>
|
|
7914
|
-
handleClose: () =>
|
|
7915
|
+
...g,
|
|
7916
|
+
formWrapClass: u,
|
|
7917
|
+
currentFile: d,
|
|
7918
|
+
handleSave: _,
|
|
7919
|
+
handleEdit: (e) => f(e),
|
|
7920
|
+
handleClose: () => f(null)
|
|
7915
7921
|
};
|
|
7916
7922
|
}, kc = ({ name: e, fileInputRef: n, accept: r, onUpload: i, onChange: a, required: o = !1, multiple: s = !1, height: c, width: l, feedback: u }) => /* @__PURE__ */ t.createElement(t.Fragment, null, /* @__PURE__ */ t.createElement("button", {
|
|
7917
7923
|
type: "button",
|
|
@@ -8362,6 +8368,10 @@ var al = (e, t) => {
|
|
|
8362
8368
|
if (typeof e.type == "string") return e.type;
|
|
8363
8369
|
}
|
|
8364
8370
|
if (typeof t.error == "string") return t.error;
|
|
8371
|
+
if (Array.isArray(t.errors) && t.errors.length > 0) {
|
|
8372
|
+
let e = t.errors[0];
|
|
8373
|
+
if (e && typeof e.message == "string") return e.message;
|
|
8374
|
+
}
|
|
8365
8375
|
if (typeof t.message == "string") return t.message;
|
|
8366
8376
|
if (typeof t.detail == "string") return t.detail;
|
|
8367
8377
|
if (typeof t.status == "number") return `HTTP ${t.status}`;
|
|
@@ -13833,7 +13843,7 @@ function Rf({ group: e, expanded: n, openItems: r, showIcons: i, onToggle: a })
|
|
|
13833
13843
|
}))));
|
|
13834
13844
|
}
|
|
13835
13845
|
function zf({ menuKey: e, items: n, defaultCollapsed: r = !1, collapsed: i, onCollapsedChange: a, showIcons: o = !0, showCollapseButton: c = !0, footer: u, header: d, embedded: f = !1 }) {
|
|
13836
|
-
let { pathname: p } = x(), g = Y("sideNav"), _ =
|
|
13846
|
+
let { pathname: p } = x(), g = Y("sideNav"), _ = tg(e ?? ""), v = n ?? (e ? Mf(_) : []), y = i !== void 0, [b, S] = h(r), C = i === void 0 ? b : i, w = s((e) => {
|
|
13837
13847
|
let t = typeof e == "function" ? e(C) : e;
|
|
13838
13848
|
y ? a?.(t) : S(t);
|
|
13839
13849
|
}, [
|
|
@@ -16950,7 +16960,87 @@ var fh = ({ id: t, label: n, description: r, configKey: i, requiredConfigKeys: a
|
|
|
16950
16960
|
return dh(o);
|
|
16951
16961
|
}
|
|
16952
16962
|
};
|
|
16953
|
-
}, ph =
|
|
16963
|
+
}, ph = "https://api.cloudflare.com/client/v4", mh = 100, hh = 5, gh = /-guard-/, _h = "Cloudflare Workers AI", vh = "Open-weight models (Llama, GPT-OSS, Qwen, Gemma, GLM…) with a free daily allowance.", yh = "https://dash.cloudflare.com/?to=/:account/ai/workers-ai", bh = "Cloudflare dashboard → AI → Workers AI → REST API: create a Workers AI API token and copy the Account ID.", xh = [{
|
|
16964
|
+
key: "apiKey",
|
|
16965
|
+
label: "API Token",
|
|
16966
|
+
type: "password"
|
|
16967
|
+
}, {
|
|
16968
|
+
key: "accountId",
|
|
16969
|
+
label: "Account ID",
|
|
16970
|
+
type: "text",
|
|
16971
|
+
placeholder: "32-character account id"
|
|
16972
|
+
}], Sh = (e, t) => (e.properties ?? []).some((e) => e.property_id === t && String(e.value) === "true"), Ch = (e) => e?.map((e) => e.role === "assistant" && !e.content ? {
|
|
16973
|
+
...e,
|
|
16974
|
+
content: ""
|
|
16975
|
+
} : e), wh = ({ accountId: e, defaultModel: t = "@cf/meta/llama-3.3-70b-instruct-fp8-fast", includePaidModels: n = !1 }) => {
|
|
16976
|
+
let r = `${ph}/accounts/${encodeURIComponent(e.trim())}`, i = `${r}/ai/models/search`, a = (e, t, n) => {
|
|
16977
|
+
let r = new URLSearchParams({
|
|
16978
|
+
task: "Text Generation",
|
|
16979
|
+
hide_experimental: "true",
|
|
16980
|
+
page: String(t),
|
|
16981
|
+
per_page: String(n)
|
|
16982
|
+
});
|
|
16983
|
+
return Wt(`${i}?${r}`, { headers: { Authorization: `Bearer ${e}` } }, al);
|
|
16984
|
+
}, o = fh({
|
|
16985
|
+
id: "cloudflare",
|
|
16986
|
+
label: _h,
|
|
16987
|
+
description: vh,
|
|
16988
|
+
configKey: "cloudflare",
|
|
16989
|
+
requiredConfigKeys: ["ai.cloudflare.apiToken", "ai.cloudflare.accountId"],
|
|
16990
|
+
defaultModel: t,
|
|
16991
|
+
fallbackModels: [
|
|
16992
|
+
t,
|
|
16993
|
+
"@cf/openai/gpt-oss-120b",
|
|
16994
|
+
"@cf/qwen/qwen3-30b-a3b-fp8",
|
|
16995
|
+
"@cf/meta/llama-4-scout-17b-16e-instruct"
|
|
16996
|
+
].filter((e, t, n) => n.indexOf(e) === t),
|
|
16997
|
+
baseUrl: `${r}/ai/v1`,
|
|
16998
|
+
dashboardUrl: yh,
|
|
16999
|
+
credentialsHint: bh,
|
|
17000
|
+
validateApiKey: async (e) => {
|
|
17001
|
+
try {
|
|
17002
|
+
let t = await a(e, 1, 1);
|
|
17003
|
+
return t === null ? {
|
|
17004
|
+
valid: !1,
|
|
17005
|
+
error: "Nessuna risposta dal server (CORS o proxy non attivo)"
|
|
17006
|
+
} : t.success ? { valid: !0 } : {
|
|
17007
|
+
valid: !1,
|
|
17008
|
+
error: ul(t)
|
|
17009
|
+
};
|
|
17010
|
+
} catch (e) {
|
|
17011
|
+
return {
|
|
17012
|
+
valid: !1,
|
|
17013
|
+
error: ul(e)
|
|
17014
|
+
};
|
|
17015
|
+
}
|
|
17016
|
+
}
|
|
17017
|
+
});
|
|
17018
|
+
return {
|
|
17019
|
+
...o,
|
|
17020
|
+
credentialFields: xh,
|
|
17021
|
+
discoverModels: async (e) => {
|
|
17022
|
+
let t = [];
|
|
17023
|
+
for (let r = 1; r <= hh; r++) {
|
|
17024
|
+
let i = await a(e, r, mh), o = Array.isArray(i?.result) ? i.result : [];
|
|
17025
|
+
if (o.filter((e) => !gh.test(e.name ?? "")).filter((e) => n || !Sh(e, "require_workers_paid")).forEach((e) => {
|
|
17026
|
+
e.name && t.push(e.name);
|
|
17027
|
+
}), o.length < mh) break;
|
|
17028
|
+
}
|
|
17029
|
+
return t;
|
|
17030
|
+
},
|
|
17031
|
+
complete: (e, t) => o.complete(e, {
|
|
17032
|
+
...t,
|
|
17033
|
+
history: Ch(t.history)
|
|
17034
|
+
})
|
|
17035
|
+
};
|
|
17036
|
+
}, Th = {
|
|
17037
|
+
id: "cloudflare",
|
|
17038
|
+
label: _h,
|
|
17039
|
+
description: vh,
|
|
17040
|
+
credentialFields: xh,
|
|
17041
|
+
credentialsUrl: yh,
|
|
17042
|
+
credentialsHint: bh
|
|
17043
|
+
}, Eh = fh({
|
|
16954
17044
|
id: "deepseek",
|
|
16955
17045
|
label: "DeepSeek",
|
|
16956
17046
|
description: "Cost-efficient reasoning and chat models.",
|
|
@@ -16960,15 +17050,15 @@ var fh = ({ id: t, label: n, description: r, configKey: i, requiredConfigKeys: a
|
|
|
16960
17050
|
baseUrl: "https://api.deepseek.com",
|
|
16961
17051
|
dashboardUrl: "https://platform.deepseek.com/api_keys",
|
|
16962
17052
|
credentialsHint: "DeepSeek platform → API Keys → Create new API key."
|
|
16963
|
-
}),
|
|
16964
|
-
function
|
|
17053
|
+
}), Dh = "https://generativelanguage.googleapis.com/v1beta/models", Oh = "https://generativelanguage.googleapis.com/v1beta/models";
|
|
17054
|
+
function kh(e) {
|
|
16965
17055
|
return [{ function_declarations: e.map((e) => ({
|
|
16966
17056
|
name: e.name,
|
|
16967
17057
|
description: e.description,
|
|
16968
17058
|
parameters: e.inputSchema
|
|
16969
17059
|
})) }];
|
|
16970
17060
|
}
|
|
16971
|
-
function
|
|
17061
|
+
function Ah(e) {
|
|
16972
17062
|
if (e.role === "user") return {
|
|
16973
17063
|
role: "user",
|
|
16974
17064
|
parts: [{ text: e.content }]
|
|
@@ -16993,7 +17083,7 @@ function _h(e) {
|
|
|
16993
17083
|
} }))
|
|
16994
17084
|
};
|
|
16995
17085
|
}
|
|
16996
|
-
function
|
|
17086
|
+
function jh(e) {
|
|
16997
17087
|
let t = e?.candidates?.[0]?.content?.parts;
|
|
16998
17088
|
if (!Array.isArray(t)) return null;
|
|
16999
17089
|
let n = t.filter((e) => typeof e?.text == "string").map((e) => e.text), r = t.filter((e) => e?.functionCall);
|
|
@@ -17012,7 +17102,7 @@ function vh(e) {
|
|
|
17012
17102
|
text: i
|
|
17013
17103
|
} : null;
|
|
17014
17104
|
}
|
|
17015
|
-
var
|
|
17105
|
+
var Mh = {
|
|
17016
17106
|
id: "gemini",
|
|
17017
17107
|
label: "Gemini",
|
|
17018
17108
|
description: "Google's multimodal Gemini model family.",
|
|
@@ -17036,12 +17126,12 @@ var yh = {
|
|
|
17036
17126
|
supportsDocuments: !0
|
|
17037
17127
|
},
|
|
17038
17128
|
discoverModels: async (e) => {
|
|
17039
|
-
let t = await Wt(`${
|
|
17129
|
+
let t = await Wt(`${Dh}?key=${e}`, null, al);
|
|
17040
17130
|
return Array.isArray(t?.models) ? t.models.map((e) => e.name?.replace(/^models\//, "")).filter(Boolean) : [];
|
|
17041
17131
|
},
|
|
17042
17132
|
validateApiKey: async (e) => {
|
|
17043
17133
|
try {
|
|
17044
|
-
let t = await Wt(`${
|
|
17134
|
+
let t = await Wt(`${Dh}?key=${e}`, null, al);
|
|
17045
17135
|
return t === null ? {
|
|
17046
17136
|
valid: !1,
|
|
17047
17137
|
error: "Nessuna risposta dal server (CORS o rete)"
|
|
@@ -17062,22 +17152,22 @@ var yh = {
|
|
|
17062
17152
|
mime_type: e.mimeType,
|
|
17063
17153
|
data: e.base64
|
|
17064
17154
|
} }), { text: n.prompt }];
|
|
17065
|
-
return
|
|
17155
|
+
return jh(await Wt(`${Oh}/${n.model}:generateContent?key=${t}`, {
|
|
17066
17156
|
method: "POST",
|
|
17067
17157
|
headers: n.logId ? { [e]: n.logId } : void 0,
|
|
17068
17158
|
body: {
|
|
17069
|
-
contents: [...(n.history ?? []).map(
|
|
17159
|
+
contents: [...(n.history ?? []).map(Ah), ...n.prompt ? [{
|
|
17070
17160
|
role: "user",
|
|
17071
17161
|
parts: r
|
|
17072
17162
|
}] : []],
|
|
17073
17163
|
...n.role ? { systemInstruction: { parts: [{ text: Jc.parseRole(n.role, n) }] } } : {},
|
|
17074
|
-
...n.tools?.length ? { tools:
|
|
17164
|
+
...n.tools?.length ? { tools: kh(n.tools) } : {},
|
|
17075
17165
|
generationConfig: typeof n.temperature == "number" ? { temperature: n.temperature } : void 0
|
|
17076
17166
|
},
|
|
17077
17167
|
signal: n.signal
|
|
17078
17168
|
}, al));
|
|
17079
17169
|
}
|
|
17080
|
-
},
|
|
17170
|
+
}, Nh = fh({
|
|
17081
17171
|
id: "mistral",
|
|
17082
17172
|
label: "Mistral",
|
|
17083
17173
|
description: "European-hosted open and commercial language models.",
|
|
@@ -17091,7 +17181,7 @@ var yh = {
|
|
|
17091
17181
|
baseUrl: "https://api.mistral.ai/v1",
|
|
17092
17182
|
dashboardUrl: "https://console.mistral.ai/api-keys",
|
|
17093
17183
|
credentialsHint: "Mistral Console → API Keys → Create new key."
|
|
17094
|
-
}),
|
|
17184
|
+
}), Ph = fh({
|
|
17095
17185
|
id: "openai",
|
|
17096
17186
|
label: "OpenAI",
|
|
17097
17187
|
description: "GPT models via the OpenAI API.",
|
|
@@ -17109,7 +17199,7 @@ var yh = {
|
|
|
17109
17199
|
baseUrl: "https://api.openai.com/v1",
|
|
17110
17200
|
dashboardUrl: "https://platform.openai.com/api-keys",
|
|
17111
17201
|
credentialsHint: "OpenAI dashboard → API keys → Create new secret key."
|
|
17112
|
-
}),
|
|
17202
|
+
}), Fh = "https://opencode.ai/zen/v1/models", Ih = "https://opencode.ai/zen/v1/chat/completions", Lh = {
|
|
17113
17203
|
id: "opencode",
|
|
17114
17204
|
label: "OpenCode",
|
|
17115
17205
|
description: "OpenCode Zen — a curated set of coding-focused models.",
|
|
@@ -17141,7 +17231,7 @@ var yh = {
|
|
|
17141
17231
|
supportsDocuments: !0
|
|
17142
17232
|
},
|
|
17143
17233
|
discoverModels: async (e) => {
|
|
17144
|
-
let t = await Wt(
|
|
17234
|
+
let t = await Wt(Fh, { headers: { Authorization: `Bearer ${e}` } }, al);
|
|
17145
17235
|
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);
|
|
17146
17236
|
},
|
|
17147
17237
|
complete: async (t, n) => {
|
|
@@ -17157,7 +17247,7 @@ var yh = {
|
|
|
17157
17247
|
}).concat({
|
|
17158
17248
|
type: "text",
|
|
17159
17249
|
text: n.prompt
|
|
17160
|
-
}) : n.prompt, a = await Wt(
|
|
17250
|
+
}) : n.prompt, a = await Wt(Ih, {
|
|
17161
17251
|
method: "POST",
|
|
17162
17252
|
headers: {
|
|
17163
17253
|
Authorization: `Bearer ${t}`,
|
|
@@ -17184,7 +17274,7 @@ var yh = {
|
|
|
17184
17274
|
if (!a) throw dl("OpenCode");
|
|
17185
17275
|
return dh(a);
|
|
17186
17276
|
}
|
|
17187
|
-
},
|
|
17277
|
+
}, Rh = fh({
|
|
17188
17278
|
id: "openrouter",
|
|
17189
17279
|
label: "OpenRouter",
|
|
17190
17280
|
description: "Unified access to many model providers through one API.",
|
|
@@ -17218,7 +17308,7 @@ var yh = {
|
|
|
17218
17308
|
};
|
|
17219
17309
|
}
|
|
17220
17310
|
}
|
|
17221
|
-
}),
|
|
17311
|
+
}), zh = {
|
|
17222
17312
|
dbRealtime: {
|
|
17223
17313
|
service: "data",
|
|
17224
17314
|
create: () => new Rm()
|
|
@@ -17235,7 +17325,7 @@ var yh = {
|
|
|
17235
17325
|
service: "auth",
|
|
17236
17326
|
create: () => new Hm()
|
|
17237
17327
|
}
|
|
17238
|
-
},
|
|
17328
|
+
}, Bh = {
|
|
17239
17329
|
googleAuth: {
|
|
17240
17330
|
service: "auth",
|
|
17241
17331
|
create: () => new ym()
|
|
@@ -17249,10 +17339,10 @@ var yh = {
|
|
|
17249
17339
|
create: (e) => new qm(e.serviceAccount),
|
|
17250
17340
|
when: (e) => !!e.serviceAccount
|
|
17251
17341
|
}
|
|
17252
|
-
},
|
|
17342
|
+
}, Vh = { dropboxAuth: {
|
|
17253
17343
|
service: "auth",
|
|
17254
17344
|
create: (e) => new Ym(e)
|
|
17255
|
-
} },
|
|
17345
|
+
} }, Hh = {
|
|
17256
17346
|
supabaseDb: {
|
|
17257
17347
|
service: "data",
|
|
17258
17348
|
create: (e) => new co(e)
|
|
@@ -17265,30 +17355,39 @@ var yh = {
|
|
|
17265
17355
|
service: "auth",
|
|
17266
17356
|
create: (e) => new eh(e)
|
|
17267
17357
|
}
|
|
17268
|
-
},
|
|
17358
|
+
}, Uh = { mock: {
|
|
17269
17359
|
service: "data",
|
|
17270
17360
|
create: (e) => new go(e?.data)
|
|
17271
|
-
} },
|
|
17361
|
+
} }, Wh = (e, t) => ({
|
|
17272
17362
|
service: "ai",
|
|
17273
17363
|
create: (n) => new _l(e, n?.[t] || ""),
|
|
17274
17364
|
when: (e) => !!e?.[t]
|
|
17275
|
-
}),
|
|
17276
|
-
firebase:
|
|
17277
|
-
google:
|
|
17278
|
-
dropbox:
|
|
17279
|
-
supabase:
|
|
17280
|
-
mock:
|
|
17365
|
+
}), Gh = {
|
|
17366
|
+
firebase: zh,
|
|
17367
|
+
google: Bh,
|
|
17368
|
+
dropbox: Vh,
|
|
17369
|
+
supabase: Hh,
|
|
17370
|
+
mock: Uh,
|
|
17281
17371
|
ai: {
|
|
17282
|
-
openai:
|
|
17283
|
-
openrouter:
|
|
17284
|
-
opencode:
|
|
17285
|
-
deepseek:
|
|
17286
|
-
gemini:
|
|
17287
|
-
anthropic:
|
|
17288
|
-
mistral:
|
|
17372
|
+
openai: Wh(Ph, "openaiApiKey"),
|
|
17373
|
+
openrouter: Wh(Rh, "openRouterApiKey"),
|
|
17374
|
+
opencode: Wh(Lh, "openCodeApiKey"),
|
|
17375
|
+
deepseek: Wh(Eh, "deepSeekApiKey"),
|
|
17376
|
+
gemini: Wh(Mh, "geminiApiKey"),
|
|
17377
|
+
anthropic: Wh(oh, "anthropicApiKey"),
|
|
17378
|
+
mistral: Wh(Nh, "mistralApiKey"),
|
|
17379
|
+
cloudflare: {
|
|
17380
|
+
service: "ai",
|
|
17381
|
+
create: (e) => new _l(wh({
|
|
17382
|
+
accountId: e?.cloudflare?.accountId?.trim() || "",
|
|
17383
|
+
defaultModel: e?.cloudflare?.defaultModel?.trim() || void 0,
|
|
17384
|
+
includePaidModels: e?.cloudflare?.includePaidModels
|
|
17385
|
+
}), e?.cloudflare?.apiToken?.trim() || ""),
|
|
17386
|
+
when: (e) => !!e?.cloudflare?.apiToken?.trim() && !!e?.cloudflare?.accountId?.trim()
|
|
17387
|
+
}
|
|
17289
17388
|
}
|
|
17290
|
-
},
|
|
17291
|
-
function
|
|
17389
|
+
}, Kh = () => /* @__PURE__ */ t.createElement("div", { className: "flex min-h-[calc(100vh-4rem)] items-center justify-center" }, /* @__PURE__ */ t.createElement("div", { className: "h-8 w-8 animate-spin rounded-full border-2 border-muted border-t-primary" }));
|
|
17390
|
+
function qh(e, t) {
|
|
17292
17391
|
if (!t) return;
|
|
17293
17392
|
let n = t, r = typeof t == "object" && !Array.isArray(t) ? Object.entries(n) : [];
|
|
17294
17393
|
if (r.length > 0 && r.every(([, e]) => typeof e == "object" && !!e)) {
|
|
@@ -17297,10 +17396,10 @@ function Ph(e, t) {
|
|
|
17297
17396
|
}
|
|
17298
17397
|
e.custom = t;
|
|
17299
17398
|
}
|
|
17300
|
-
function
|
|
17399
|
+
function Jh(e, t, n = "default") {
|
|
17301
17400
|
return t && e[t] ? t : Object.keys(e)[0] ?? n;
|
|
17302
17401
|
}
|
|
17303
|
-
function
|
|
17402
|
+
function Yh(e = {}) {
|
|
17304
17403
|
let t = {
|
|
17305
17404
|
data: {},
|
|
17306
17405
|
storage: {},
|
|
@@ -17309,24 +17408,24 @@ function Ih(e = {}) {
|
|
|
17309
17408
|
ai: {},
|
|
17310
17409
|
credentials: {}
|
|
17311
17410
|
}, n = (e) => t[e] ??= {};
|
|
17312
|
-
for (let [t, r] of Object.entries(
|
|
17411
|
+
for (let [t, r] of Object.entries(Gh)) {
|
|
17313
17412
|
let i = e[t];
|
|
17314
17413
|
if (i !== void 0) for (let [e, t] of Object.entries(r)) t.when && !t.when(i) || (n(t.service)[e] = t.create(i));
|
|
17315
17414
|
}
|
|
17316
|
-
for (let [t, r] of Object.entries(e.custom ?? {}))
|
|
17415
|
+
for (let [t, r] of Object.entries(e.custom ?? {})) qh(n(t), r);
|
|
17317
17416
|
Object.keys(t.data).length === 0 && (t.data.mock = new go()), Object.keys(t.auth).length === 0 && (t.auth.googleAuth = new ym());
|
|
17318
17417
|
let r = e.services ?? {}, i = {};
|
|
17319
17418
|
for (let [e, n] of Object.entries(t)) i[e] = {
|
|
17320
17419
|
registry: n,
|
|
17321
|
-
defaultKey:
|
|
17420
|
+
defaultKey: Jh(n, r[e])
|
|
17322
17421
|
};
|
|
17323
17422
|
return i;
|
|
17324
17423
|
}
|
|
17325
|
-
var
|
|
17326
|
-
|
|
17327
|
-
},
|
|
17328
|
-
function
|
|
17329
|
-
let [p, g] = h(() =>
|
|
17424
|
+
var Xh = {}, Zh = (e) => {
|
|
17425
|
+
Xh = e;
|
|
17426
|
+
}, Qh = (e) => Xh[e] || [];
|
|
17427
|
+
function $h({ contextProviders: e, providers: n = {}, appName: r = "LLM Native", scrapeConfig: i, iconProvider: a, googleMaps: o, themeProvider: s, i18n: c, children: l, errorReportUrl: u, debug: d, basename: f }) {
|
|
17428
|
+
let [p, g] = h(() => Yh(n)), v = m(p);
|
|
17330
17429
|
v.current = p;
|
|
17331
17430
|
let y = m(void 0);
|
|
17332
17431
|
y.current ||= (async (e, t, n) => {
|
|
@@ -17367,8 +17466,8 @@ function Bh({ contextProviders: e, providers: n = {}, appName: r = "LLM Native",
|
|
|
17367
17466
|
setProvider: b
|
|
17368
17467
|
}, /* @__PURE__ */ t.createElement(ti, p.auth, /* @__PURE__ */ t.createElement(wm, p.credentials, /* @__PURE__ */ t.createElement(wi, p.data, /* @__PURE__ */ t.createElement(cc, p.storage, /* @__PURE__ */ t.createElement(xm, p.email, /* @__PURE__ */ t.createElement(Qc, p.ai, /* @__PURE__ */ t.createElement(Sr, { config: a }, /* @__PURE__ */ t.createElement(pf, { config: o }, /* @__PURE__ */ t.createElement(Cp, { appName: r }, /* @__PURE__ */ t.createElement(Pn, { config: c }, /* @__PURE__ */ t.createElement(xn, { config: s }, /* @__PURE__ */ t.createElement(x, null, l))))))))))))))));
|
|
17369
17468
|
}
|
|
17370
|
-
function
|
|
17371
|
-
|
|
17469
|
+
function eg({ importPage: e, LayoutDefault: n = void 0, menuConfig: r = {}, children: a, ...o }) {
|
|
17470
|
+
Zh(r);
|
|
17372
17471
|
let s = ({ children: e }) => /* @__PURE__ */ t.createElement(t.Fragment, null, e), c = ({ pageSource: e, message: n }) => /* @__PURE__ */ t.createElement(Io, { variant: "warning" }, "Missing Page: ", e, n && /* @__PURE__ */ t.createElement("code", { className: "ml-2" }, n));
|
|
17373
17472
|
function l(r, a, l) {
|
|
17374
17473
|
let u = `./pages${a.component ? "/" + a.component : a.path === "/" ? "/Home" : et.toCamel(a.path.split("*")[0])}.js`, d = a.page || t.lazy(() => e(u).then((e) => typeof e.default == "function" ? { default: e.default } : (console.warn(`⚠️ Invalid default export in ${u}`), { default: () => /* @__PURE__ */ t.createElement(c, { pageSource: u }) })).catch((e) => (console.error(`❌ Failed to load ${u}:`, e), { default: () => /* @__PURE__ */ t.createElement(c, {
|
|
@@ -17382,16 +17481,16 @@ function Vh({ importPage: e, LayoutDefault: n = void 0, menuConfig: r = {}, chil
|
|
|
17382
17481
|
key: a.path,
|
|
17383
17482
|
reportUrl: o.errorReportUrl,
|
|
17384
17483
|
debug: o.debug
|
|
17385
|
-
}, /* @__PURE__ */ t.createElement(i, { fallback: /* @__PURE__ */ t.createElement(
|
|
17484
|
+
}, /* @__PURE__ */ t.createElement(i, { fallback: /* @__PURE__ */ t.createElement(Kh, null) }, /* @__PURE__ */ t.createElement(d, null))))
|
|
17386
17485
|
});
|
|
17387
17486
|
}
|
|
17388
17487
|
let u = (e) => Object.keys(e).flatMap((t) => e[t].flatMap((e, n) => [e.path && l(t, e, n), e.children && u({ children: e.children })].filter(Boolean)));
|
|
17389
|
-
return /* @__PURE__ */ t.createElement(
|
|
17488
|
+
return /* @__PURE__ */ t.createElement($h, o, a, /* @__PURE__ */ t.createElement(b, null, /* @__PURE__ */ t.createElement(y, {
|
|
17390
17489
|
path: ci,
|
|
17391
17490
|
element: /* @__PURE__ */ t.createElement(hi, null)
|
|
17392
17491
|
}), /* @__PURE__ */ t.createElement(t.Fragment, null, u({
|
|
17393
17492
|
default: [{ path: "/" }],
|
|
17394
|
-
...
|
|
17493
|
+
...Xh,
|
|
17395
17494
|
_auth: [{
|
|
17396
17495
|
path: "/users",
|
|
17397
17496
|
page: cm,
|
|
@@ -17402,8 +17501,8 @@ function Vh({ importPage: e, LayoutDefault: n = void 0, menuConfig: r = {}, chil
|
|
|
17402
17501
|
element: /* @__PURE__ */ t.createElement(lm, null)
|
|
17403
17502
|
})));
|
|
17404
17503
|
}
|
|
17405
|
-
var
|
|
17406
|
-
let t =
|
|
17504
|
+
var tg = (e) => {
|
|
17505
|
+
let t = Qh(e), n = x(), r = (e) => e.map((e) => {
|
|
17407
17506
|
let t = n.pathname === e.path, i = e.children ? r(e.children) : [], a = t || i.some((e) => e.active);
|
|
17408
17507
|
return {
|
|
17409
17508
|
...e,
|
|
@@ -17412,7 +17511,7 @@ var Hh = (e) => {
|
|
|
17412
17511
|
};
|
|
17413
17512
|
});
|
|
17414
17513
|
return p(() => r(t), [n.pathname]);
|
|
17415
|
-
},
|
|
17514
|
+
}, ng = {
|
|
17416
17515
|
common: {
|
|
17417
17516
|
save: "Salva",
|
|
17418
17517
|
cancel: "Annulla",
|
|
@@ -17581,7 +17680,7 @@ var Hh = (e) => {
|
|
|
17581
17680
|
notConfigured: "La ricerca indirizzi non è configurata (manca la API key Google Maps).",
|
|
17582
17681
|
loadError: "Impossibile caricare la ricerca indirizzi."
|
|
17583
17682
|
}
|
|
17584
|
-
},
|
|
17683
|
+
}, rg = {
|
|
17585
17684
|
common: {
|
|
17586
17685
|
save: "Speichern",
|
|
17587
17686
|
cancel: "Abbrechen",
|
|
@@ -17750,7 +17849,7 @@ var Hh = (e) => {
|
|
|
17750
17849
|
notConfigured: "Adresssuche ist nicht konfiguriert (Google Maps API-Schlüssel fehlt).",
|
|
17751
17850
|
loadError: "Adresssuche konnte nicht geladen werden."
|
|
17752
17851
|
}
|
|
17753
|
-
},
|
|
17852
|
+
}, ig = {
|
|
17754
17853
|
common: {
|
|
17755
17854
|
save: "Сохранить",
|
|
17756
17855
|
cancel: "Отменить",
|
|
@@ -17919,7 +18018,7 @@ var Hh = (e) => {
|
|
|
17919
18018
|
notConfigured: "Поиск адресов не настроен (отсутствует ключ Google Maps API).",
|
|
17920
18019
|
loadError: "Не удалось загрузить поиск адресов."
|
|
17921
18020
|
}
|
|
17922
|
-
},
|
|
18021
|
+
}, ag = {
|
|
17923
18022
|
common: {
|
|
17924
18023
|
save: "保存",
|
|
17925
18024
|
cancel: "取消",
|
|
@@ -18088,7 +18187,7 @@ var Hh = (e) => {
|
|
|
18088
18187
|
notConfigured: "地址搜索未配置(缺少 Google Maps API 密钥)。",
|
|
18089
18188
|
loadError: "无法加载地址搜索。"
|
|
18090
18189
|
}
|
|
18091
|
-
},
|
|
18190
|
+
}, og = {
|
|
18092
18191
|
common: {
|
|
18093
18192
|
save: "حفظ",
|
|
18094
18193
|
cancel: "إلغاء",
|
|
@@ -18257,22 +18356,22 @@ var Hh = (e) => {
|
|
|
18257
18356
|
notConfigured: "البحث عن العناوين غير مُعد (مفتاح Google Maps API مفقود).",
|
|
18258
18357
|
loadError: "تعذر تحميل البحث عن العناوين."
|
|
18259
18358
|
}
|
|
18260
|
-
},
|
|
18261
|
-
ar: () =>
|
|
18262
|
-
de: () =>
|
|
18359
|
+
}, sg = /* @__PURE__ */ Je({
|
|
18360
|
+
ar: () => og,
|
|
18361
|
+
de: () => rg,
|
|
18263
18362
|
en: () => wn,
|
|
18264
|
-
it: () =>
|
|
18265
|
-
ru: () =>
|
|
18266
|
-
zh: () =>
|
|
18267
|
-
}),
|
|
18363
|
+
it: () => ng,
|
|
18364
|
+
ru: () => ig,
|
|
18365
|
+
zh: () => ag
|
|
18366
|
+
}), cg = (e) => ya("api", e);
|
|
18268
18367
|
//#endregion
|
|
18269
18368
|
//#region src/providers/api/direct.ts
|
|
18270
|
-
async function
|
|
18369
|
+
async function lg(e) {
|
|
18271
18370
|
if (!e.ok) throw Error(`ApiProvider request failed: ${e.status} ${e.statusText}`);
|
|
18272
18371
|
let t = await e.text();
|
|
18273
18372
|
return t ? JSON.parse(t) : void 0;
|
|
18274
18373
|
}
|
|
18275
|
-
var
|
|
18374
|
+
var ug = class {
|
|
18276
18375
|
config;
|
|
18277
18376
|
constructor(e) {
|
|
18278
18377
|
this.config = e;
|
|
@@ -18287,7 +18386,7 @@ var Zh = class {
|
|
|
18287
18386
|
...e.body,
|
|
18288
18387
|
...this.config.body
|
|
18289
18388
|
};
|
|
18290
|
-
return
|
|
18389
|
+
return lg(await al(n.toString(), {
|
|
18291
18390
|
method: t,
|
|
18292
18391
|
headers: {
|
|
18293
18392
|
"Content-Type": "application/json",
|
|
@@ -18296,7 +18395,7 @@ var Zh = class {
|
|
|
18296
18395
|
body: t === "GET" || t === "HEAD" ? void 0 : JSON.stringify(r)
|
|
18297
18396
|
}));
|
|
18298
18397
|
}
|
|
18299
|
-
},
|
|
18398
|
+
}, dg = class {
|
|
18300
18399
|
resolver;
|
|
18301
18400
|
constructor(e) {
|
|
18302
18401
|
this.resolver = e;
|
|
@@ -18304,7 +18403,7 @@ var Zh = class {
|
|
|
18304
18403
|
async fetch(e) {
|
|
18305
18404
|
return this.resolver(e);
|
|
18306
18405
|
}
|
|
18307
|
-
},
|
|
18406
|
+
}, fg = class {
|
|
18308
18407
|
config;
|
|
18309
18408
|
constructor(e) {
|
|
18310
18409
|
this.config = e;
|
|
@@ -18315,7 +18414,7 @@ var Zh = class {
|
|
|
18315
18414
|
request: e
|
|
18316
18415
|
}, void 0, this.config.region);
|
|
18317
18416
|
}
|
|
18318
|
-
},
|
|
18417
|
+
}, pg = class {
|
|
18319
18418
|
config;
|
|
18320
18419
|
constructor(e) {
|
|
18321
18420
|
this.config = e;
|
|
@@ -18328,7 +18427,7 @@ var Zh = class {
|
|
|
18328
18427
|
if (n) throw n;
|
|
18329
18428
|
return t;
|
|
18330
18429
|
}
|
|
18331
|
-
},
|
|
18430
|
+
}, mg = [
|
|
18332
18431
|
{
|
|
18333
18432
|
id: "resend",
|
|
18334
18433
|
label: "Resend",
|
|
@@ -18439,7 +18538,7 @@ var Zh = class {
|
|
|
18439
18538
|
],
|
|
18440
18539
|
credentialsHint: "Ask your mail host or hosting provider for the SMTP host, port, and credentials."
|
|
18441
18540
|
}
|
|
18442
|
-
],
|
|
18541
|
+
], hg = [
|
|
18443
18542
|
{
|
|
18444
18543
|
id: "cloudflare_pages",
|
|
18445
18544
|
label: "Cloudflare Pages",
|
|
@@ -18669,14 +18768,14 @@ var Zh = class {
|
|
|
18669
18768
|
description: "No vendor — packages the build as a downloadable archive for self-hosting anywhere else.",
|
|
18670
18769
|
credentialFields: []
|
|
18671
18770
|
}
|
|
18672
|
-
],
|
|
18673
|
-
|
|
18674
|
-
|
|
18675
|
-
|
|
18676
|
-
|
|
18677
|
-
|
|
18771
|
+
], gg = [
|
|
18772
|
+
Ph,
|
|
18773
|
+
Rh,
|
|
18774
|
+
Lh,
|
|
18775
|
+
Eh,
|
|
18776
|
+
Mh,
|
|
18678
18777
|
oh,
|
|
18679
|
-
|
|
18778
|
+
Nh,
|
|
18680
18779
|
fh({
|
|
18681
18780
|
id: "glm",
|
|
18682
18781
|
label: "ZhipuAI (GLM)",
|
|
@@ -18694,7 +18793,7 @@ var Zh = class {
|
|
|
18694
18793
|
dashboardUrl: "https://bigmodel.cn/usercenter/apikeys",
|
|
18695
18794
|
credentialsHint: "Zhipu BigModel → User Center → API Keys → Create Key."
|
|
18696
18795
|
})
|
|
18697
|
-
],
|
|
18796
|
+
], _g = (e) => ({
|
|
18698
18797
|
id: e.id,
|
|
18699
18798
|
label: e.label,
|
|
18700
18799
|
description: e.description ?? "",
|
|
@@ -18705,7 +18804,7 @@ var Zh = class {
|
|
|
18705
18804
|
}],
|
|
18706
18805
|
credentialsUrl: e.dashboardUrl,
|
|
18707
18806
|
credentialsHint: e.credentialsHint
|
|
18708
|
-
}),
|
|
18807
|
+
}), vg = [...gg.map(_g), Th], yg = {
|
|
18709
18808
|
id: "openai-compatible",
|
|
18710
18809
|
label: "OpenAI-compatible",
|
|
18711
18810
|
description: "Any OpenAI-compatible endpoint (self-hosted or third-party).",
|
|
@@ -18719,9 +18818,15 @@ var Zh = class {
|
|
|
18719
18818
|
type: "text",
|
|
18720
18819
|
placeholder: "https://api.example.com/v1"
|
|
18721
18820
|
}]
|
|
18722
|
-
},
|
|
18723
|
-
let t = e?.
|
|
18724
|
-
|
|
18821
|
+
}, bg = (e) => {
|
|
18822
|
+
let t = [], n = e?.cloudflare?.accountId?.trim();
|
|
18823
|
+
n && t.push(wh({
|
|
18824
|
+
accountId: n,
|
|
18825
|
+
defaultModel: e?.cloudflare?.defaultModel?.trim() || void 0,
|
|
18826
|
+
includePaidModels: e?.cloudflare?.includePaidModels
|
|
18827
|
+
}));
|
|
18828
|
+
let r = e?.openAICompatible?.baseUrl?.trim();
|
|
18829
|
+
return r ? [...t, fh({
|
|
18725
18830
|
id: "openai-compatible",
|
|
18726
18831
|
label: e?.openAICompatible?.label?.trim() || "OpenAI-compatible",
|
|
18727
18832
|
description: "Any OpenAI-compatible endpoint (self-hosted or third-party).",
|
|
@@ -18729,39 +18834,39 @@ var Zh = class {
|
|
|
18729
18834
|
requiredConfigKeys: ["ai.openAICompatible.apiKey", "ai.openAICompatible.baseUrl"],
|
|
18730
18835
|
defaultModel: e?.openAICompatible?.defaultModel?.trim() || "default",
|
|
18731
18836
|
fallbackModels: e?.openAICompatible?.fallbackModels?.filter(Boolean) || ["default"],
|
|
18732
|
-
baseUrl:
|
|
18837
|
+
baseUrl: r,
|
|
18733
18838
|
modelsUrl: e?.openAICompatible?.modelsUrl?.trim() || void 0,
|
|
18734
18839
|
chatCompletionsUrl: e?.openAICompatible?.chatCompletionsUrl?.trim() || void 0
|
|
18735
|
-
})] :
|
|
18736
|
-
},
|
|
18737
|
-
let r = n.id === "openai-compatible" ? e.openAICompatible?.apiKey?.trim() || "" : typeof n.configKey == "string" && typeof e[n.configKey] == "string" ? String(e[n.configKey] || "").trim() : "";
|
|
18840
|
+
})] : t;
|
|
18841
|
+
}, xg = (e) => e ? [...gg, ...bg(e)].reduce((t, n) => {
|
|
18842
|
+
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() : "";
|
|
18738
18843
|
return r && (t[n.id] = new _l(n, r)), t;
|
|
18739
|
-
}, {}) : {},
|
|
18844
|
+
}, {}) : {}, Sg = void 0;
|
|
18740
18845
|
typeof wa == "function" && wa((e) => {
|
|
18741
|
-
|
|
18846
|
+
Sg = e.google;
|
|
18742
18847
|
});
|
|
18743
|
-
var
|
|
18848
|
+
var Cg = {
|
|
18744
18849
|
ita: "geoTargetConstants/2380",
|
|
18745
18850
|
rome: "geoTargetConstants/1033236",
|
|
18746
18851
|
mil: "geoTargetConstants/1033239",
|
|
18747
18852
|
nap: "geoTargetConstants/1033245",
|
|
18748
18853
|
tor: "geoTargetConstants/1033247"
|
|
18749
|
-
},
|
|
18854
|
+
}, wg = {
|
|
18750
18855
|
it: "languageConstants/1000",
|
|
18751
18856
|
en: "languageConstants/1001",
|
|
18752
18857
|
fr: "languageConstants/1002",
|
|
18753
18858
|
es: "languageConstants/1003",
|
|
18754
18859
|
de: "languageConstants/1005"
|
|
18755
18860
|
};
|
|
18756
|
-
function
|
|
18757
|
-
return
|
|
18861
|
+
function Tg(e) {
|
|
18862
|
+
return Cg[e.toLowerCase()] || "geoTargetConstants/2380";
|
|
18758
18863
|
}
|
|
18759
|
-
function
|
|
18760
|
-
return
|
|
18864
|
+
function Eg(e) {
|
|
18865
|
+
return wg[e.toLowerCase()] || "languageConstants/1000";
|
|
18761
18866
|
}
|
|
18762
|
-
async function
|
|
18763
|
-
if (!
|
|
18764
|
-
let i = await Xm(["https://www.googleapis.com/auth/adwords"]), a =
|
|
18867
|
+
async function Dg({ keyword: e, googleAdsAccountId: t, geoCode: n = "ita", languageCode: r = "it" }) {
|
|
18868
|
+
if (!Sg?.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"), [];
|
|
18869
|
+
let i = await Xm(["https://www.googleapis.com/auth/adwords"]), a = Tg(n), o = Eg(r), s = `https://googleads.googleapis.com/v13/customers/${t}:generateKeywordIdeas`, c = {
|
|
18765
18870
|
keywordSeed: { keywords: [e] },
|
|
18766
18871
|
geoTargetConstants: [a],
|
|
18767
18872
|
language: o
|
|
@@ -18769,7 +18874,7 @@ async function mg({ keyword: e, googleAdsAccountId: t, geoCode: n = "ita", langu
|
|
|
18769
18874
|
method: "POST",
|
|
18770
18875
|
headers: {
|
|
18771
18876
|
Authorization: `Bearer ${i}`,
|
|
18772
|
-
"developer-token":
|
|
18877
|
+
"developer-token": Sg.developerToken,
|
|
18773
18878
|
"Content-Type": "application/json"
|
|
18774
18879
|
},
|
|
18775
18880
|
body: JSON.stringify(c)
|
|
@@ -18787,7 +18892,7 @@ async function mg({ keyword: e, googleAdsAccountId: t, geoCode: n = "ita", langu
|
|
|
18787
18892
|
}
|
|
18788
18893
|
//#endregion
|
|
18789
18894
|
//#region src/providers/seo/google/trend.ts
|
|
18790
|
-
async function
|
|
18895
|
+
async function Og(e, t = "IT", n = "today 12-m") {
|
|
18791
18896
|
let r = `https://trends.google.com/trends/api/explore?hl=en-US&tz=0&req=${encodeURIComponent(JSON.stringify({
|
|
18792
18897
|
comparisonItem: [{
|
|
18793
18898
|
keyword: e,
|
|
@@ -18807,7 +18912,7 @@ async function hg(e, t = "IT", n = "today 12-m") {
|
|
|
18807
18912
|
}))
|
|
18808
18913
|
};
|
|
18809
18914
|
}
|
|
18810
|
-
async function
|
|
18915
|
+
async function kg(e, t = "IT", n = "today 12-m") {
|
|
18811
18916
|
let r = `https://trends.google.com/trends/api/explore?hl=en-US&tz=0&req=${encodeURIComponent(JSON.stringify({
|
|
18812
18917
|
comparisonItem: [{
|
|
18813
18918
|
keyword: e,
|
|
@@ -18833,13 +18938,13 @@ async function gg(e, t = "IT", n = "today 12-m") {
|
|
|
18833
18938
|
}
|
|
18834
18939
|
//#endregion
|
|
18835
18940
|
//#region src/providers/storage/dropbox.tsx
|
|
18836
|
-
var
|
|
18941
|
+
var Ag = 5e3, jg = "https://www.dropbox.com/home", Mg = void 0;
|
|
18837
18942
|
typeof wa == "function" && wa((e) => {
|
|
18838
|
-
|
|
18943
|
+
Mg = e.dropbox;
|
|
18839
18944
|
});
|
|
18840
|
-
var
|
|
18841
|
-
if (!
|
|
18842
|
-
let r = await bi(
|
|
18945
|
+
var Ng = async (e, t, n = {}) => {
|
|
18946
|
+
if (!Mg) return console.error("DropBox: Config not found"), null;
|
|
18947
|
+
let r = await bi(Mg.clientId);
|
|
18843
18948
|
if (!r) throw Error("DropBox: Access token not found");
|
|
18844
18949
|
return await fetch(e, {
|
|
18845
18950
|
method: "POST",
|
|
@@ -18852,12 +18957,12 @@ var bg = async (e, t, n = {}) => {
|
|
|
18852
18957
|
}).catch((e) => (console.error("There was a problem with the fetch operation:", e), null)).finally(() => {
|
|
18853
18958
|
console.log("DropBox: Fetch operation completed");
|
|
18854
18959
|
});
|
|
18855
|
-
},
|
|
18856
|
-
if (!
|
|
18960
|
+
}, Pg = async (e, t, n = {}) => {
|
|
18961
|
+
if (!Mg) {
|
|
18857
18962
|
console.error("DropBox: Config not found");
|
|
18858
18963
|
return;
|
|
18859
18964
|
}
|
|
18860
|
-
let r = await bi(
|
|
18965
|
+
let r = await bi(Mg.clientId);
|
|
18861
18966
|
if (!r) {
|
|
18862
18967
|
console.error("DropBox: Access token not found");
|
|
18863
18968
|
return;
|
|
@@ -18882,47 +18987,47 @@ var bg = async (e, t, n = {}) => {
|
|
|
18882
18987
|
}).finally(() => {
|
|
18883
18988
|
console.log("DropBox: Fetch operation completed", e, t);
|
|
18884
18989
|
});
|
|
18885
|
-
},
|
|
18886
|
-
let n =
|
|
18887
|
-
return (t ?
|
|
18888
|
-
},
|
|
18990
|
+
}, Fg = (e, t = !1) => {
|
|
18991
|
+
let n = Mg?.rootPath || "";
|
|
18992
|
+
return (t ? jg : "") + (e.startsWith(n) ? e : n + e);
|
|
18993
|
+
}, Ig = async (e, t = "", n = !1) => {
|
|
18889
18994
|
let r = {};
|
|
18890
|
-
return (await
|
|
18995
|
+
return (await Xg.listFolders({
|
|
18891
18996
|
path: `${e + t}`,
|
|
18892
18997
|
recursive: !0
|
|
18893
18998
|
})).forEach((e) => {
|
|
18894
18999
|
e[".tag"] !== "folder" && (r[n ? ri.changeFilename(e.path_display, { ext: "" }) : e.path_display] = e.name);
|
|
18895
19000
|
}), r;
|
|
18896
|
-
},
|
|
19001
|
+
}, Lg = async (e, t) => {
|
|
18897
19002
|
if (!e.async_job_id) return Promise.reject(e);
|
|
18898
19003
|
let n, r = !0;
|
|
18899
|
-
for (; r;) await ut(100), n = await
|
|
19004
|
+
for (; r;) await ut(100), n = await Pg(`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);
|
|
18900
19005
|
return n?.[".tag"] === "complete" ? Promise.resolve(n.entries) : Promise.reject(n);
|
|
18901
|
-
},
|
|
18902
|
-
let n = "files/create_folder_batch", r = await
|
|
19006
|
+
}, Rg = async (e, t = "") => {
|
|
19007
|
+
let n = "files/create_folder_batch", r = await Pg(`https://api.dropboxapi.com/2/${n}`, {
|
|
18903
19008
|
autorename: !1,
|
|
18904
19009
|
force_async: !0,
|
|
18905
|
-
paths: e.map((e) =>
|
|
19010
|
+
paths: e.map((e) => Fg(t + e))
|
|
18906
19011
|
});
|
|
18907
|
-
return r ?
|
|
18908
|
-
},
|
|
18909
|
-
let n = "files/create_folder_batch", r = await
|
|
18910
|
-
return r ?
|
|
18911
|
-
},
|
|
19012
|
+
return r ? Lg(r, n) : void 0;
|
|
19013
|
+
}, zg = async (e, t = "") => {
|
|
19014
|
+
let n = "files/create_folder_batch", r = await Pg(`https://api.dropboxapi.com/2/${n}`, { entries: e.map((e) => ({ path: Fg(t + e) })) });
|
|
19015
|
+
return r ? Lg(r, n) : void 0;
|
|
19016
|
+
}, Bg = async (e, t) => Pg("https://api.dropboxapi.com/2/files/tags/add", {
|
|
18912
19017
|
path: e,
|
|
18913
19018
|
tag_text: t.toLowerCase().replaceAll(/[^a-z0-9]/g, "")
|
|
18914
|
-
}),
|
|
18915
|
-
for (let n in e) for (let r of e[n]) await
|
|
18916
|
-
},
|
|
18917
|
-
let n = [], r = async ({ path: e, cursor: t, recursive: n }) => e ? await
|
|
19019
|
+
}), Vg = async (e, t = "") => {
|
|
19020
|
+
for (let n in e) for (let r of e[n]) await Bg(Fg(t + n), r);
|
|
19021
|
+
}, Hg = async ({ path: e = "", recursive: t = !1 } = {}) => {
|
|
19022
|
+
let n = [], r = async ({ path: e, cursor: t, recursive: n }) => e ? await Pg("https://api.dropboxapi.com/2/files/list_folder", {
|
|
18918
19023
|
include_deleted: !1,
|
|
18919
19024
|
include_has_explicit_shared_members: !1,
|
|
18920
19025
|
include_media_info: !1,
|
|
18921
19026
|
include_mounted_folders: !0,
|
|
18922
19027
|
include_non_downloadable_files: !0,
|
|
18923
|
-
path:
|
|
19028
|
+
path: Fg(e),
|
|
18924
19029
|
recursive: n
|
|
18925
|
-
}) : await
|
|
19030
|
+
}) : await Pg("https://api.dropboxapi.com/2/files/list_folder/continue", { cursor: t }), i = {
|
|
18926
19031
|
has_more: !0,
|
|
18927
19032
|
cursor: "",
|
|
18928
19033
|
entries: []
|
|
@@ -18935,44 +19040,44 @@ var bg = async (e, t, n = {}) => {
|
|
|
18935
19040
|
recursive: t
|
|
18936
19041
|
}), i && n.push(...i.entries);
|
|
18937
19042
|
return n;
|
|
18938
|
-
},
|
|
18939
|
-
let t = async (e) => await
|
|
19043
|
+
}, Ug = async (e) => {
|
|
19044
|
+
let t = async (e) => await Pg("https://api.dropboxapi.com/2/files/copy_batch_v2", {
|
|
18940
19045
|
entries: e,
|
|
18941
19046
|
autorename: !1
|
|
18942
|
-
}), n = async (e) => await
|
|
19047
|
+
}), n = async (e) => await Pg("https://api.dropboxapi.com/2/files/copy_batch/check_v2", { async_job_id: e }), r = [], i = [];
|
|
18943
19048
|
for (let a = 0; a < e.length; a += 900) {
|
|
18944
19049
|
i = e.slice(a, a + 900).map((e) => ({
|
|
18945
|
-
from_path:
|
|
18946
|
-
to_path:
|
|
19050
|
+
from_path: Fg(e.from),
|
|
19051
|
+
to_path: Fg(e.to)
|
|
18947
19052
|
}));
|
|
18948
19053
|
let o = await t(i);
|
|
18949
19054
|
if (!o) continue;
|
|
18950
19055
|
if (o.error) throw Error(`Error starting copy: ${o.error}`);
|
|
18951
19056
|
let s = o;
|
|
18952
|
-
for (; s?.[".tag"] === "async_job_id" || s?.[".tag"] === "in_progress";) await ut(
|
|
19057
|
+
for (; s?.[".tag"] === "async_job_id" || s?.[".tag"] === "in_progress";) await ut(Ag), s = await n(o.async_job_id ?? "");
|
|
18953
19058
|
if (s?.[".tag"] === "failed") throw Error(`Copy operation failed: ${s[".tag"]}`);
|
|
18954
19059
|
s?.[".tag"] === "complete" && s.entries && r.push(...s.entries);
|
|
18955
19060
|
}
|
|
18956
19061
|
return r.filter((e) => e[".tag"] === "failure").map((e) => e.failure);
|
|
18957
|
-
},
|
|
18958
|
-
let t = async (e) => await
|
|
19062
|
+
}, Wg = async (e) => {
|
|
19063
|
+
let t = async (e) => await Pg("https://api.dropboxapi.com/2/files/move_v2", {
|
|
18959
19064
|
...e,
|
|
18960
19065
|
autorename: !0
|
|
18961
19066
|
});
|
|
18962
19067
|
for (let n of e) await t({
|
|
18963
|
-
from_path:
|
|
18964
|
-
to_path:
|
|
19068
|
+
from_path: Fg(n.from),
|
|
19069
|
+
to_path: Fg(n.to)
|
|
18965
19070
|
});
|
|
18966
|
-
},
|
|
19071
|
+
}, Gg = async ({ thumbnailsRequest: e = [], size: t = "w64h64", format: n = "jpeg", mode: r = "strict" }, i) => {
|
|
18967
19072
|
let a = {}, o = [];
|
|
18968
19073
|
for (let s = 0; s < e.length; s += 25) {
|
|
18969
19074
|
let c = e.slice(s, s + 25), l = c.map((e) => ({
|
|
18970
|
-
path:
|
|
19075
|
+
path: Fg(e.path),
|
|
18971
19076
|
format: n,
|
|
18972
19077
|
size: t,
|
|
18973
19078
|
mode: r
|
|
18974
19079
|
}));
|
|
18975
|
-
await ut(100), o.push(
|
|
19080
|
+
await ut(100), o.push(Pg("https://content.dropboxapi.com/2/files/get_thumbnail_batch", { entries: l }).then((e) => {
|
|
18976
19081
|
if (!e) return;
|
|
18977
19082
|
let n = e.entries.reduce((e, n, r) => {
|
|
18978
19083
|
let i = c[r].path, [a, o] = t.replace("w", "").split("h").map(Number), s = n;
|
|
@@ -18991,7 +19096,7 @@ var bg = async (e, t, n = {}) => {
|
|
|
18991
19096
|
}));
|
|
18992
19097
|
}
|
|
18993
19098
|
return Promise.all(o).then(() => a);
|
|
18994
|
-
},
|
|
19099
|
+
}, Kg = (e, t = "application/octet-stream", n = 512) => {
|
|
18995
19100
|
let r = atob(e), i = [];
|
|
18996
19101
|
for (let e = 0; e < r.length; e += n) {
|
|
18997
19102
|
let t = r.slice(e, e + n), a = Array(t.length);
|
|
@@ -19000,11 +19105,11 @@ var bg = async (e, t, n = {}) => {
|
|
|
19000
19105
|
i.push(o);
|
|
19001
19106
|
}
|
|
19002
19107
|
return new Blob(i, { type: t });
|
|
19003
|
-
},
|
|
19108
|
+
}, qg = async (e, t) => {
|
|
19004
19109
|
try {
|
|
19005
19110
|
let n = t.split(",")[1];
|
|
19006
|
-
|
|
19007
|
-
path:
|
|
19111
|
+
Ng("https://content.dropboxapi.com/2/files/upload", Kg(n, "application/octet-stream"), { "Dropbox-API-Arg": JSON.stringify({
|
|
19112
|
+
path: Fg(e),
|
|
19008
19113
|
mode: "overwrite",
|
|
19009
19114
|
autorename: !0,
|
|
19010
19115
|
mute: !1
|
|
@@ -19014,12 +19119,12 @@ var bg = async (e, t, n = {}) => {
|
|
|
19014
19119
|
} catch (e) {
|
|
19015
19120
|
console.error("Errore durante il caricamento su Dropbox:", e);
|
|
19016
19121
|
}
|
|
19017
|
-
},
|
|
19018
|
-
if (!
|
|
19122
|
+
}, Jg = (e = !1) => Mg ? _i(Mg.clientId, e) : !1, Yg = (e = {}) => {
|
|
19123
|
+
if (!Mg) return /* @__PURE__ */ t.createElement("div", {
|
|
19019
19124
|
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.",
|
|
19020
19125
|
className: "text-danger flex items-center gap-2"
|
|
19021
19126
|
}, /* @__PURE__ */ t.createElement(Q, { name: "warning" }), /* @__PURE__ */ t.createElement("span", null, "Dropbox non configurato"));
|
|
19022
|
-
let n =
|
|
19127
|
+
let n = Jg(!0);
|
|
19023
19128
|
return /* @__PURE__ */ t.createElement(Si, {
|
|
19024
19129
|
provider: "dropboxAuth",
|
|
19025
19130
|
intent: "connect",
|
|
@@ -19031,33 +19136,33 @@ var bg = async (e, t, n = {}) => {
|
|
|
19031
19136
|
title: n ? "DropBox Connected" : "DropBox Disconnected"
|
|
19032
19137
|
}
|
|
19033
19138
|
});
|
|
19034
|
-
},
|
|
19139
|
+
}, Xg = {
|
|
19035
19140
|
setRootPath: (e) => {
|
|
19036
|
-
|
|
19141
|
+
Mg && (Mg.rootPath = e);
|
|
19037
19142
|
},
|
|
19038
|
-
resolvePath:
|
|
19039
|
-
createFolders:
|
|
19040
|
-
deleteBulk:
|
|
19041
|
-
addTags:
|
|
19042
|
-
listFolders:
|
|
19043
|
-
getThumbnails:
|
|
19044
|
-
search:
|
|
19045
|
-
upload:
|
|
19046
|
-
copy:
|
|
19047
|
-
move:
|
|
19048
|
-
},
|
|
19143
|
+
resolvePath: Fg,
|
|
19144
|
+
createFolders: Rg,
|
|
19145
|
+
deleteBulk: zg,
|
|
19146
|
+
addTags: Vg,
|
|
19147
|
+
listFolders: Hg,
|
|
19148
|
+
getThumbnails: Gg,
|
|
19149
|
+
search: Ig,
|
|
19150
|
+
upload: qg,
|
|
19151
|
+
copy: Ug,
|
|
19152
|
+
move: Wg
|
|
19153
|
+
}, Zg = "https://api.serpapi.com/search", Qg = "google", $g = "google_images", e_ = "google_autocomplete", t_ = "google_trends", n_ = "google_maps", r_ = "google_maps_photos", i_ = "google_maps_reviews", a_ = {
|
|
19049
19154
|
engine: null,
|
|
19050
19155
|
device: null,
|
|
19051
19156
|
no_cache: !1,
|
|
19052
19157
|
async: !1,
|
|
19053
19158
|
output: "json"
|
|
19054
|
-
},
|
|
19159
|
+
}, o_ = { q: null }, s_ = {
|
|
19055
19160
|
tbs: null,
|
|
19056
19161
|
safe: "active",
|
|
19057
19162
|
nfpr: 0,
|
|
19058
19163
|
filter: 1
|
|
19059
19164
|
};
|
|
19060
|
-
function
|
|
19165
|
+
function c_(e) {
|
|
19061
19166
|
let t = Rc(), n = Rc(!0), r = zc(!0), i = {
|
|
19062
19167
|
location: t,
|
|
19063
19168
|
uule: null
|
|
@@ -19075,13 +19180,13 @@ function Yg(e) {
|
|
|
19075
19180
|
hl: r
|
|
19076
19181
|
};
|
|
19077
19182
|
return {
|
|
19078
|
-
[
|
|
19079
|
-
...
|
|
19183
|
+
[Qg]: {
|
|
19184
|
+
...a_,
|
|
19080
19185
|
...i,
|
|
19081
19186
|
...o,
|
|
19082
|
-
...
|
|
19083
|
-
...
|
|
19084
|
-
engine:
|
|
19187
|
+
...s_,
|
|
19188
|
+
...o_,
|
|
19189
|
+
engine: Qg,
|
|
19085
19190
|
ludocid: null,
|
|
19086
19191
|
lsig: null,
|
|
19087
19192
|
kgmid: null,
|
|
@@ -19090,29 +19195,29 @@ function Yg(e) {
|
|
|
19090
19195
|
start: null,
|
|
19091
19196
|
num: null
|
|
19092
19197
|
},
|
|
19093
|
-
[
|
|
19094
|
-
...
|
|
19198
|
+
[$g]: {
|
|
19199
|
+
...a_,
|
|
19095
19200
|
...i,
|
|
19096
19201
|
...o,
|
|
19097
|
-
...
|
|
19098
|
-
...
|
|
19099
|
-
engine:
|
|
19202
|
+
...s_,
|
|
19203
|
+
...o_,
|
|
19204
|
+
engine: $g,
|
|
19100
19205
|
chips: null,
|
|
19101
19206
|
ijn: null
|
|
19102
19207
|
},
|
|
19103
|
-
[
|
|
19104
|
-
...
|
|
19208
|
+
[e_]: {
|
|
19209
|
+
...a_,
|
|
19105
19210
|
...o,
|
|
19106
|
-
...
|
|
19107
|
-
engine:
|
|
19211
|
+
...o_,
|
|
19212
|
+
engine: e_,
|
|
19108
19213
|
cp: null,
|
|
19109
19214
|
client: null
|
|
19110
19215
|
},
|
|
19111
|
-
[
|
|
19112
|
-
...
|
|
19216
|
+
[t_]: {
|
|
19217
|
+
...a_,
|
|
19113
19218
|
...a,
|
|
19114
|
-
...
|
|
19115
|
-
engine:
|
|
19219
|
+
...o_,
|
|
19220
|
+
engine: t_,
|
|
19116
19221
|
data_type: null,
|
|
19117
19222
|
tz: null,
|
|
19118
19223
|
cat: null,
|
|
@@ -19120,73 +19225,73 @@ function Yg(e) {
|
|
|
19120
19225
|
date: null,
|
|
19121
19226
|
csv: null
|
|
19122
19227
|
},
|
|
19123
|
-
[
|
|
19124
|
-
...
|
|
19228
|
+
[n_]: {
|
|
19229
|
+
...a_,
|
|
19125
19230
|
...i,
|
|
19126
19231
|
...o,
|
|
19127
|
-
...
|
|
19128
|
-
...
|
|
19129
|
-
engine:
|
|
19232
|
+
...s_,
|
|
19233
|
+
...o_,
|
|
19234
|
+
engine: n_
|
|
19130
19235
|
},
|
|
19131
|
-
[
|
|
19132
|
-
...
|
|
19236
|
+
[r_]: {
|
|
19237
|
+
...a_,
|
|
19133
19238
|
...s,
|
|
19134
|
-
engine:
|
|
19239
|
+
engine: r_
|
|
19135
19240
|
},
|
|
19136
|
-
[
|
|
19137
|
-
...
|
|
19241
|
+
[i_]: {
|
|
19242
|
+
...a_,
|
|
19138
19243
|
...s,
|
|
19139
|
-
engine:
|
|
19244
|
+
engine: i_
|
|
19140
19245
|
}
|
|
19141
19246
|
}[e] ?? {};
|
|
19142
19247
|
}
|
|
19143
|
-
var
|
|
19248
|
+
var l_ = void 0;
|
|
19144
19249
|
typeof wa == "function" && wa((e) => {
|
|
19145
|
-
|
|
19250
|
+
l_ = e.scrape;
|
|
19146
19251
|
});
|
|
19147
|
-
function
|
|
19252
|
+
function u_(e) {
|
|
19148
19253
|
let t = {};
|
|
19149
19254
|
for (let n in e) e[n] !== null && (t[n] = e[n]);
|
|
19150
19255
|
return t;
|
|
19151
19256
|
}
|
|
19152
|
-
var
|
|
19153
|
-
function
|
|
19154
|
-
let t =
|
|
19155
|
-
return t.length === 0 ? null : (e &&
|
|
19257
|
+
var d_ = 0;
|
|
19258
|
+
function f_(e = !1) {
|
|
19259
|
+
let t = l_?.serpApiKey?.split(",").map((e) => e.trim()).filter(Boolean) || [];
|
|
19260
|
+
return t.length === 0 ? null : (e && d_++, d_ < t.length ? t[d_] : null);
|
|
19156
19261
|
}
|
|
19157
|
-
var
|
|
19262
|
+
var p_ = async (e, t) => {
|
|
19158
19263
|
let n = (n) => {
|
|
19159
|
-
let r =
|
|
19160
|
-
...
|
|
19264
|
+
let r = u_({
|
|
19265
|
+
...c_(t),
|
|
19161
19266
|
api_key: n,
|
|
19162
19267
|
q: e
|
|
19163
19268
|
});
|
|
19164
|
-
return console.log(
|
|
19165
|
-
}, r =
|
|
19269
|
+
return console.log(Zg, r), `${Zg}?${new URLSearchParams(r)}`;
|
|
19270
|
+
}, r = f_();
|
|
19166
19271
|
for (; r;) try {
|
|
19167
19272
|
return await Wt(n(r));
|
|
19168
19273
|
} catch (e) {
|
|
19169
19274
|
if (e?.error === "quota_exceeded") {
|
|
19170
|
-
console.warn(`SerpApi: invalid api key: ${r}`, e), r =
|
|
19275
|
+
console.warn(`SerpApi: invalid api key: ${r}`, e), r = f_(!0);
|
|
19171
19276
|
continue;
|
|
19172
19277
|
}
|
|
19173
19278
|
throw console.error(`SerpApi: ${r}`, e), e;
|
|
19174
19279
|
}
|
|
19175
19280
|
return null;
|
|
19176
|
-
},
|
|
19281
|
+
}, m_ = async (e, t, n) => {
|
|
19177
19282
|
let r = `${ka}/${ct(t)}/${ct(e)}`, i = await n.read(r);
|
|
19178
19283
|
if (i) return i;
|
|
19179
|
-
let a = await
|
|
19284
|
+
let a = await p_(e, t);
|
|
19180
19285
|
return a ? n.set(r, a) : console.warn(`SerpApi ${t}: No Result`), a ?? {};
|
|
19181
|
-
},
|
|
19182
|
-
googleSearch: async (t) =>
|
|
19183
|
-
googleImages: async (t) =>
|
|
19184
|
-
googleAutocomplete: async (t) =>
|
|
19185
|
-
googleTrends: async (t) =>
|
|
19186
|
-
googleMaps: async (t) =>
|
|
19187
|
-
googleMapsPhotos: async (t) =>
|
|
19188
|
-
googleMapsReviews: async (t) =>
|
|
19189
|
-
}),
|
|
19286
|
+
}, h_ = (e) => ({
|
|
19287
|
+
googleSearch: async (t) => m_(t, Qg, e),
|
|
19288
|
+
googleImages: async (t) => m_(t, $g, e),
|
|
19289
|
+
googleAutocomplete: async (t) => m_(t, e_, e),
|
|
19290
|
+
googleTrends: async (t) => m_(t, t_, e),
|
|
19291
|
+
googleMaps: async (t) => m_(t, n_, e),
|
|
19292
|
+
googleMapsPhotos: async (t) => m_(t, r_, e),
|
|
19293
|
+
googleMapsReviews: async (t) => m_(t, i_, e)
|
|
19294
|
+
}), g_ = {
|
|
19190
19295
|
"+": "+",
|
|
19191
19296
|
"﹢": "+",
|
|
19192
19297
|
"-": "-",
|
|
@@ -19261,7 +19366,7 @@ var e_ = async (e, t) => {
|
|
|
19261
19366
|
x: "x",
|
|
19262
19367
|
y: "y",
|
|
19263
19368
|
z: "z"
|
|
19264
|
-
},
|
|
19369
|
+
}, __ = {
|
|
19265
19370
|
email: {
|
|
19266
19371
|
description: "Email: no spaces -> Lower/Trim",
|
|
19267
19372
|
transformations: [{
|
|
@@ -19307,7 +19412,7 @@ var e_ = async (e, t) => {
|
|
|
19307
19412
|
transformations: [],
|
|
19308
19413
|
mask: ["toSlug"]
|
|
19309
19414
|
}
|
|
19310
|
-
},
|
|
19415
|
+
}, v_ = [
|
|
19311
19416
|
{
|
|
19312
19417
|
pattern: "email*",
|
|
19313
19418
|
use: "email"
|
|
@@ -19324,24 +19429,24 @@ var e_ = async (e, t) => {
|
|
|
19324
19429
|
pattern: "date*",
|
|
19325
19430
|
use: "date"
|
|
19326
19431
|
}
|
|
19327
|
-
],
|
|
19328
|
-
function
|
|
19329
|
-
return e ? e.normalize("NFKC").replace(
|
|
19432
|
+
], y_ = new RegExp(Object.keys(g_).join("|"), "g");
|
|
19433
|
+
function b_(e) {
|
|
19434
|
+
return e ? e.normalize("NFKC").replace(y_, (e) => g_[e] ?? e) : "";
|
|
19330
19435
|
}
|
|
19331
|
-
var
|
|
19436
|
+
var x_ = class {
|
|
19332
19437
|
config;
|
|
19333
19438
|
matches;
|
|
19334
19439
|
constructor(e = {}, t = []) {
|
|
19335
19440
|
this.config = {
|
|
19336
|
-
...
|
|
19441
|
+
...__,
|
|
19337
19442
|
...e
|
|
19338
|
-
}, this.matches = [...
|
|
19443
|
+
}, this.matches = [...v_, ...t];
|
|
19339
19444
|
}
|
|
19340
19445
|
apply(e, t, n = !1) {
|
|
19341
19446
|
let r = this.config[e];
|
|
19342
19447
|
if (!r) return n ? It(t) : t;
|
|
19343
19448
|
let i = t;
|
|
19344
|
-
i =
|
|
19449
|
+
i = b_(String(i ?? ""));
|
|
19345
19450
|
let a = r.exclusions;
|
|
19346
19451
|
if (Array.isArray(a) && a.length) {
|
|
19347
19452
|
let e = String(i).toLowerCase();
|
|
@@ -19400,7 +19505,7 @@ var c_ = class {
|
|
|
19400
19505
|
};
|
|
19401
19506
|
//#endregion
|
|
19402
19507
|
//#region src/libs/csv.ts
|
|
19403
|
-
function
|
|
19508
|
+
function S_(e, t) {
|
|
19404
19509
|
let n = Oe.parse(e, {
|
|
19405
19510
|
header: !0,
|
|
19406
19511
|
skipEmptyLines: !0,
|
|
@@ -19413,6 +19518,6 @@ function l_(e, t) {
|
|
|
19413
19518
|
};
|
|
19414
19519
|
}
|
|
19415
19520
|
//#endregion
|
|
19416
|
-
export { Qc as AIProvider,
|
|
19521
|
+
export { Qc as AIProvider, gg as AI_PROVIDER_DEFINITIONS, vg as AI_PROVIDER_DESCRIPTORS, Hr as ActionButton, Ef as AddressAutocomplete, Io as Alert, eg as App, $h as AppProvider, zi as AsyncDropdown, Si as AuthButton, ti as AuthProvider, Js as Autocomplete, sn as BUILT_IN_THEMES, nn as BUILT_IN_THEME_IDS, Ur as BackLink, Qn as Badge, Zn as BadgeOverlay, Ki as Brand, ea as Breadcrumbs, Th as CLOUDFLARE_PROVIDER_DESCRIPTOR, wl as CONTEXT_MENU_SEARCH_THRESHOLD, ji as Card, ta as Carousel, Gl as Chatbot, js as Checkbox, Ys as Checklist, Go as Code, Mu as CodeEditor, pu as CodeSyntaxError, Jn as Col, Ss as Color, nd as Component, rd as ComponentBlock, Kn as Container, Bl as ContextMenu, yc as CropImage, ap as DEFAULT_DOCUMENT_HEAD, ip as DEFAULT_HEAD_APP_NAME, op as DEFAULT_LANGUAGE_HEAD, Is as DEFAULT_ORDER, wi as DataProvider, Cs as Date, Ts as DateTime, ug as DirectApiProviderAdapter, Yg as DropBoxConnectButton, Ym as DropboxAuthProvider, Ri as Dropdown, Bi as DropdownButton, Ui as DropdownDivider, Hi as DropdownHeader, Vi as DropdownItem, Wi as DropdownMenu, mg as EMAIL_PROVIDER_DEFINITIONS, bs as Email, xm as EmailProvider, hs as FieldError, Ec as FileNameEditor, fg as FirebaseApiProviderAdapter, Hm as FirebaseAuthProvider, Rm as FirebaseDataProvider, So as FirebaseStorageProvider, Ya as FirestoreDataProvider, jd as Form, gd as FormControllerContext, Kp as Gallery, Qm as GmailEmailProvider, Wr as GoSite, ym as GoogleAuthProvider, pf as GoogleMapsProvider, qm as GoogleServiceAccountProvider, sm as Grid, om as GridArray, am as GridCore, Hf as GridDB, qp as GridGalleryView, tp as GridTableView, Fp as Head, Cp as HeadProvider, As as Hidden, Pn as I18nProvider, Q as Icon, Sr as IconProvider, Gi as Image, ii as ImageAvatar, dc as ImageEditor, pc as ImageField, _s as Input, Ns as Label, df as LayoutBuilder, kf as ListCard, Fs as ListGroup, Ei as Loader, Vr as LoadingButton, qo as LocaleSwitcher, dr as LucideIconProvider, Up as MarkdownReader, Ii as Menu, dg as MockApiProviderAdapter, go as MockDataProvider, Mi as Modal, Fi as ModalOk, Pi as ModalYesNo, Ds as Month, g_ as NORMALIZE_MAP, na as Notifications, ys as Number, yg as OPENAI_COMPATIBLE_PROVIDER_DESCRIPTOR, zs as Order, hg as PUBLISH_PROVIDER_DEFINITIONS, cm as PageUsers, Gp as Pagination, xs as Password, $o as Percentage, mr as PhosphorIconProvider, ru as Prompt, Kl as PromptMode, Cl as PromptUtils, No as ProviderSwitcher, Os as Range, Gr as ReferSite, Hd as Repeat, ed as RichText, qn as Row, x_ as Sanitizer, ia as Search, qs as Select, zf as SideNav, cc as StorageProvider, vs as String, pg as SupabaseApiProviderAdapter, eh as SupabaseAuthProvider, co as SupabaseDataProvider, Co as SupabaseStorageProvider, Ms as Switch, Xd as Tab, Wp as TabDynamic, Jd as TabItem, qd as TabLayouts, $d as Table, Ps as TextArea, ma as ThemeSwitcher, ws as Time, sa as Toolbar, Df as UploadCSV, Pc as UploadDocument, Fc as UploadImage, ks as Url, Es as Week, Z as Wrapper, xt as arrayUnique, Et as arraysEqual, Tt as base64Encode, At as base64ToBlob, jt as base64ToUrl, qi as buildBreadcrumbSchema, Ll as buildTextCommandContext, Er as buttonBaseClass, kr as buttonDangerClass, Pr as buttonDarkClass, Mr as buttonInfoClass, Nr as buttonLightClass, zr as buttonLinkClass, Lr as buttonOutlineDangerClass, Fr as buttonOutlinePrimaryClass, Ir as buttonOutlineSecondaryClass, Rr as buttonOutlineSuccessClass, Dr as buttonPrimaryClass, Or as buttonSecondaryClass, Ar as buttonSuccessClass, jr as buttonWarningClass, Ra as callFirebaseFunction, ht as checkConditions, Nt as cleanRecord, X as cn, il as configureProxy, et as converter, it as copyToClipboard, gt as crc32, xg as createAIProviderRegistry, wh as createCloudflareProviderDefinition, rr as createMotionTransition, En as createTranslations, rt as decodeJWT, Tn as defineLocaleMessages, lt as dirname, Xg as dropBox, ft as eventClosest, Wt as fetchJson, Ut as fetchRest, Gt as fetchWithRetry, ss as fieldAddonClass, is as fieldControlBaseClass, rs as fieldFeedbackClass, os as fieldGroupClass, ns as fieldLabelClass, as as fieldTextAreaBaseClass, Yc as formatAIModelRef, dt as generateUniqueId, gl as getAIModelCatalog, bi as getAccessToken, Pl as getAutoClosedSuffixLength, Cu as getCodeValidationResult, Nc as getFileUrl, Zr as getGlobalVars, Og as getGoogleTrendsData, kg as getGoogleTrendsRelated, Dg as getKeywordIdeas, si as getProviderConfigurationState, Mt as getRecordValue, Wd as getTabLayoutConfig, Kd as getTabPaneClassName, Gd as getTabTriggerClassName, Xm as googleGetAccessToken, Nl as hasAutoClosedSuffix, Dn as interpolate, yt as intersectObjects, Yn as isBadgeDescriptor, St as isEmpty, Ot as isInteractiveElement, sl as isProxyEnabled, _f as loadGoogleMaps, vt as loadScripts, sg as locales, Fl as matchCommandTrigger, Xn as normalizeBadgeProps, ct as normalizeKey, ot as normalizePath, b_ as normalizeVisualChars, Xc as parseAIModelRef, S_ as parseCsvText, ri as path, al as proxyFetch, Ft as recordsEqual, To as registerProviderSessionFactory, $r as removeGlobalVars, kt as render2Base64, mt as replacePlaceholders, bt as replaceVariables, ir as resolveMotionEffect, fu as runPrompt, wt as safeClone, Dt as sanitizeKey, h_ as scrape, Zm as sendEmail, Qr as setGlobalVars, ut as sleep, It as smartTypeCast, pt as substrCount, _g as toProviderDescriptor, at as trimPath, st as trimSlash, _t as ucfirst, $c as useAIProvider, el as useAIProviderRegistry, _i as useAccessToken, cg as useApiProvider, Mp as useAssetsHead, ni as useAuthProvider, Tm as useCredentialsProvider, Ti as useDataProvider, jp as useDocumentHead, Jg as useDropBoxConnect, ts as useEditorHeight, Sm as useEmailProvider, cr as useEnterMotion, Dc as useFileUploadCore, vd as useFormActions, Dd as useFormContext, _d as useFormController, Xr as useGlobalVars, mf as useGoogleMapsConfig, Ep as useHead, Op as useHeadLinks, Fn as useI18n, wr as useIconController, Cr as useIconProvider, ec as useImage, Ap as useLanguageHead, tg as useMenu, ar as useMotionEffect, or as useMotionState, kp as usePaginationHead, sr as usePressMotion, ya as useProvider, jo as useProviderSession, ol as useProxy, Np as usePwaHead, Pp as useSchemaOrgHead, va as useSetProvider, Dp as useSocialHead, lc as useStorageProvider, Y as useTheme, Cn as useThemeController, Su as validateCodeSyntax };
|
|
19417
19522
|
|
|
19418
19523
|
//# sourceMappingURL=index.mjs.map
|