@llmnative/react 1.8.2 → 1.8.4
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 +6 -6
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +230 -233
- package/dist/index.mjs.map +1 -1
- package/package.json +1 -1
package/dist/index.mjs
CHANGED
|
@@ -3725,7 +3725,7 @@ var Ti = "rounded-lg border border-border bg-card text-card-foreground shadow-sm
|
|
|
3725
3725
|
}))
|
|
3726
3726
|
}, e);
|
|
3727
3727
|
}, Pi = ({ 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 }) => {
|
|
3728
|
-
let y =
|
|
3728
|
+
let y = zh(e), b = Y("menu"), x = ({ item: e, index: i }) => {
|
|
3729
3729
|
let [a, o] = h(e.active);
|
|
3730
3730
|
l(() => {
|
|
3731
3731
|
o(e.active);
|
|
@@ -8533,7 +8533,7 @@ var rl = (e, t) => {
|
|
|
8533
8533
|
name: r,
|
|
8534
8534
|
size: 16,
|
|
8535
8535
|
className: "mt-0.5 shrink-0 text-muted-foreground"
|
|
8536
|
-
}), /* @__PURE__ */ t.createElement("span", { className: "min-w-0 flex-1 text-left" }, /* @__PURE__ */ t.createElement("span", { className: "block truncate" }, e), i && /* @__PURE__ */ t.createElement("span", { className: "block truncate text-xs text-muted-foreground" }, i))), Ol = ({ children: e, className: n }) => /* @__PURE__ */ t.createElement("div", { className: X("px-2 py-1.5 text-xs font-medium uppercase tracking-wide text-muted-foreground", n) }, e), kl = ({ className: e }) => /* @__PURE__ */ t.createElement("div", { className: X("-mx-1 my-1 h-px bg-border", e) }), Al = /* @__PURE__ */ new Set([Ol, kl]), jl = (e, t) => {
|
|
8536
|
+
}), /* @__PURE__ */ t.createElement("span", { className: "min-w-0 flex-1 text-left" }, /* @__PURE__ */ t.createElement("span", { className: "block truncate" }, e), i && /* @__PURE__ */ t.createElement("span", { className: "block truncate text-xs text-muted-foreground" }, i))), Ol = ({ children: e, className: n }) => /* @__PURE__ */ t.createElement("div", { className: X("sticky top-0 z-10 bg-popover px-2 py-1.5 text-xs font-medium uppercase tracking-wide text-muted-foreground", n) }, e), kl = ({ className: e }) => /* @__PURE__ */ t.createElement("div", { className: X("-mx-1 my-1 h-px bg-border", e) }), Al = /* @__PURE__ */ new Set([Ol, kl]), jl = (e, t) => {
|
|
8537
8537
|
if (!t) return !1;
|
|
8538
8538
|
let n = t.replace(/[.*+?^${}()|[\]\\]/g, "\\$&");
|
|
8539
8539
|
return RegExp(`^\\s*${n}`).test(e);
|
|
@@ -8812,13 +8812,13 @@ var rl = (e, t) => {
|
|
|
8812
8812
|
ref: b,
|
|
8813
8813
|
role: "menu",
|
|
8814
8814
|
id: v,
|
|
8815
|
-
className: "fixed z-[200] min-w-44 overflow-y-auto rounded-md border bg-popover
|
|
8815
|
+
className: "fixed z-[200] min-w-44 overflow-y-auto rounded-md border bg-popover text-popover-foreground shadow-md outline-none",
|
|
8816
8816
|
style: {
|
|
8817
8817
|
top: D.anchorPosition.top,
|
|
8818
8818
|
left: D.anchorPosition.left,
|
|
8819
8819
|
maxHeight: 240
|
|
8820
8820
|
}
|
|
8821
|
-
}, N), document.body));
|
|
8821
|
+
}, /* @__PURE__ */ t.createElement("div", { className: "p-1" }, N)), document.body));
|
|
8822
8822
|
});
|
|
8823
8823
|
Rl.displayName = "ContextMenu", Rl.Item = Dl, Rl.Heading = Ol, Rl.Separator = kl;
|
|
8824
8824
|
//#endregion
|
|
@@ -11627,7 +11627,7 @@ function Od({ columns: e = void 0, records: n = void 0, footer: r = void 0, onRo
|
|
|
11627
11627
|
return /* @__PURE__ */ t.createElement("th", {
|
|
11628
11628
|
key: e.key,
|
|
11629
11629
|
className: [
|
|
11630
|
-
"px-3 py-2 font-semibold text-muted-foreground",
|
|
11630
|
+
"px-3 py-2 font-semibold text-muted-foreground whitespace-nowrap",
|
|
11631
11631
|
Ae,
|
|
11632
11632
|
e.className || ""
|
|
11633
11633
|
].filter(Boolean).join(" "),
|
|
@@ -13722,7 +13722,7 @@ function Ff({ group: e, expanded: n, openItems: r, showIcons: i, onToggle: a })
|
|
|
13722
13722
|
}))));
|
|
13723
13723
|
}
|
|
13724
13724
|
function If({ menuKey: e, items: n, defaultCollapsed: r = !1, showIcons: i = !0, showCollapseButton: a = !0, footer: o, header: c, embedded: u = !1 }) {
|
|
13725
|
-
let { pathname: d } = x(), f = Y("sideNav"), p =
|
|
13725
|
+
let { pathname: d } = x(), f = Y("sideNav"), p = zh(e ?? ""), g = n ?? (e ? kf(p) : []), [_, v] = h(r), [y, b] = h(!1), [S, C] = h(/* @__PURE__ */ new Set()), w = m(null), T = !_ || y;
|
|
13726
13726
|
l(() => {
|
|
13727
13727
|
C((e) => {
|
|
13728
13728
|
let t = new Set(e);
|
|
@@ -15342,7 +15342,7 @@ function nm({ records: e, recordId: n, sourcePath: r, columns: i, actions: a, fo
|
|
|
15342
15342
|
onChange: (e) => q(e.target.value),
|
|
15343
15343
|
placeholder: de.placeholder ?? B.search,
|
|
15344
15344
|
className: "w-full max-w-xs rounded-md border border-input bg-background px-2 py-1 text-sm placeholder:text-muted-foreground focus:outline-none focus:ring-2 focus:ring-ring"
|
|
15345
|
-
}), se), ce, /* @__PURE__ */ t.createElement("span", { className: "shrink-0 text-xs text-muted-foreground" }, pe.length, " / ",
|
|
15345
|
+
}), se), ce, /* @__PURE__ */ t.createElement("span", { className: "shrink-0 text-xs text-muted-foreground" }, pe.length, " / ", U.length)) : null, he = m ?? {}, ge = he.table ?? {}, _e = he.gallery ?? {}, [ve, ye] = h(f);
|
|
15346
15346
|
l(() => {
|
|
15347
15347
|
ye(f);
|
|
15348
15348
|
}, [f]);
|
|
@@ -16978,28 +16978,25 @@ var gh = {
|
|
|
16978
16978
|
baseUrl: "https://api.openai.com/v1",
|
|
16979
16979
|
dashboardUrl: "https://platform.openai.com/api-keys",
|
|
16980
16980
|
credentialsHint: "OpenAI dashboard → API keys → Create new secret key."
|
|
16981
|
-
}), yh = "https://opencode.ai/zen/v1/models", bh = "https://opencode.ai/zen/v1/chat/completions", xh =
|
|
16982
|
-
"big-pickle",
|
|
16983
|
-
"deepseek-v4-flash-free",
|
|
16984
|
-
"glm-5",
|
|
16985
|
-
"glm-5.1",
|
|
16986
|
-
"grok-build-0.1",
|
|
16987
|
-
"kimi-k2.5",
|
|
16988
|
-
"kimi-k2.6",
|
|
16989
|
-
"mimo-v2.5-free",
|
|
16990
|
-
"minimax-m2.5",
|
|
16991
|
-
"minimax-m2.7",
|
|
16992
|
-
"nemotron-3-super-free"
|
|
16993
|
-
], Sh = (e) => {
|
|
16994
|
-
let t = e.endpoint || "", n = e.ai_sdk_package || e.aiSdkPackage || "";
|
|
16995
|
-
return t.includes("/chat/completions") || n.includes("openai-compatible");
|
|
16996
|
-
}, Ch = {
|
|
16981
|
+
}), yh = "https://opencode.ai/zen/v1/models", bh = "https://opencode.ai/zen/v1/chat/completions", xh = {
|
|
16997
16982
|
id: "opencode",
|
|
16998
16983
|
label: "OpenCode",
|
|
16999
16984
|
description: "OpenCode Zen — a curated set of coding-focused models.",
|
|
17000
16985
|
configKey: "openCodeApiKey",
|
|
17001
16986
|
defaultModel: "deepseek-v4-flash-free",
|
|
17002
|
-
fallbackModels:
|
|
16987
|
+
fallbackModels: [
|
|
16988
|
+
"big-pickle",
|
|
16989
|
+
"deepseek-v4-flash-free",
|
|
16990
|
+
"glm-5",
|
|
16991
|
+
"glm-5.1",
|
|
16992
|
+
"grok-build-0.1",
|
|
16993
|
+
"kimi-k2.5",
|
|
16994
|
+
"kimi-k2.6",
|
|
16995
|
+
"mimo-v2.5-free",
|
|
16996
|
+
"minimax-m2.5",
|
|
16997
|
+
"minimax-m2.7",
|
|
16998
|
+
"nemotron-3-super-free"
|
|
16999
|
+
],
|
|
17003
17000
|
dashboardUrl: "https://opencode.ai",
|
|
17004
17001
|
credentialsHint: "OpenCode Zen dashboard → API Keys → Create Key.",
|
|
17005
17002
|
credentialFields: [{
|
|
@@ -17014,7 +17011,7 @@ var gh = {
|
|
|
17014
17011
|
},
|
|
17015
17012
|
discoverModels: async (e) => {
|
|
17016
17013
|
let t = await Ht(yh, { headers: { Authorization: `Bearer ${e}` } }, rl);
|
|
17017
|
-
return (Array.isArray(t?.data) ? t.data : Array.isArray(t?.models) ? t.models : Array.isArray(t) ? t : []).
|
|
17014
|
+
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);
|
|
17018
17015
|
},
|
|
17019
17016
|
complete: async (t, n) => {
|
|
17020
17017
|
let r = n.attachments ?? [], i = r.length > 0 ? r.map((e) => e.mimeType.startsWith("image/") ? {
|
|
@@ -17056,7 +17053,7 @@ var gh = {
|
|
|
17056
17053
|
if (!a) throw ll("OpenCode");
|
|
17057
17054
|
return ch(a);
|
|
17058
17055
|
}
|
|
17059
|
-
},
|
|
17056
|
+
}, Sh = lh({
|
|
17060
17057
|
id: "openrouter",
|
|
17061
17058
|
label: "OpenRouter",
|
|
17062
17059
|
description: "Unified access to many model providers through one API.",
|
|
@@ -17090,7 +17087,7 @@ var gh = {
|
|
|
17090
17087
|
};
|
|
17091
17088
|
}
|
|
17092
17089
|
}
|
|
17093
|
-
}),
|
|
17090
|
+
}), Ch = {
|
|
17094
17091
|
dbRealtime: {
|
|
17095
17092
|
service: "data",
|
|
17096
17093
|
create: () => new Fm()
|
|
@@ -17107,7 +17104,7 @@ var gh = {
|
|
|
17107
17104
|
service: "auth",
|
|
17108
17105
|
create: () => new zm()
|
|
17109
17106
|
}
|
|
17110
|
-
},
|
|
17107
|
+
}, wh = {
|
|
17111
17108
|
googleAuth: {
|
|
17112
17109
|
service: "auth",
|
|
17113
17110
|
create: () => new gm()
|
|
@@ -17121,10 +17118,10 @@ var gh = {
|
|
|
17121
17118
|
create: (e) => new Wm(e.serviceAccount),
|
|
17122
17119
|
when: (e) => !!e.serviceAccount
|
|
17123
17120
|
}
|
|
17124
|
-
},
|
|
17121
|
+
}, Th = { dropboxAuth: {
|
|
17125
17122
|
service: "auth",
|
|
17126
17123
|
create: (e) => new Km(e)
|
|
17127
|
-
} },
|
|
17124
|
+
} }, Eh = {
|
|
17128
17125
|
supabaseDb: {
|
|
17129
17126
|
service: "data",
|
|
17130
17127
|
create: (e) => new oo(e)
|
|
@@ -17137,30 +17134,30 @@ var gh = {
|
|
|
17137
17134
|
service: "auth",
|
|
17138
17135
|
create: (e) => new Zm(e)
|
|
17139
17136
|
}
|
|
17140
|
-
},
|
|
17137
|
+
}, Dh = { mock: {
|
|
17141
17138
|
service: "data",
|
|
17142
17139
|
create: (e) => new mo(e?.data)
|
|
17143
|
-
} },
|
|
17140
|
+
} }, Oh = (e, t) => ({
|
|
17144
17141
|
service: "ai",
|
|
17145
17142
|
create: (n) => new hl(e, n?.[t] || ""),
|
|
17146
17143
|
when: (e) => !!e?.[t]
|
|
17147
|
-
}),
|
|
17148
|
-
firebase:
|
|
17149
|
-
google:
|
|
17150
|
-
dropbox:
|
|
17151
|
-
supabase:
|
|
17152
|
-
mock:
|
|
17144
|
+
}), kh = {
|
|
17145
|
+
firebase: Ch,
|
|
17146
|
+
google: wh,
|
|
17147
|
+
dropbox: Th,
|
|
17148
|
+
supabase: Eh,
|
|
17149
|
+
mock: Dh,
|
|
17153
17150
|
ai: {
|
|
17154
|
-
openai:
|
|
17155
|
-
openrouter:
|
|
17156
|
-
opencode:
|
|
17157
|
-
deepseek:
|
|
17158
|
-
gemini:
|
|
17159
|
-
anthropic:
|
|
17160
|
-
mistral:
|
|
17151
|
+
openai: Oh(vh, "openaiApiKey"),
|
|
17152
|
+
openrouter: Oh(Sh, "openRouterApiKey"),
|
|
17153
|
+
opencode: Oh(xh, "openCodeApiKey"),
|
|
17154
|
+
deepseek: Oh(uh, "deepSeekApiKey"),
|
|
17155
|
+
gemini: Oh(gh, "geminiApiKey"),
|
|
17156
|
+
anthropic: Oh(rh, "anthropicApiKey"),
|
|
17157
|
+
mistral: Oh(_h, "mistralApiKey")
|
|
17161
17158
|
}
|
|
17162
|
-
},
|
|
17163
|
-
function
|
|
17159
|
+
}, Ah = () => /* @__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" }));
|
|
17160
|
+
function jh(e, t) {
|
|
17164
17161
|
if (!t) return;
|
|
17165
17162
|
let n = t, r = typeof t == "object" && !Array.isArray(t) ? Object.entries(n) : [];
|
|
17166
17163
|
if (r.length > 0 && r.every(([, e]) => typeof e == "object" && !!e)) {
|
|
@@ -17169,10 +17166,10 @@ function Nh(e, t) {
|
|
|
17169
17166
|
}
|
|
17170
17167
|
e.custom = t;
|
|
17171
17168
|
}
|
|
17172
|
-
function
|
|
17169
|
+
function Mh(e, t, n = "default") {
|
|
17173
17170
|
return t && e[t] ? t : Object.keys(e)[0] ?? n;
|
|
17174
17171
|
}
|
|
17175
|
-
function
|
|
17172
|
+
function Nh(e = {}) {
|
|
17176
17173
|
let t = {
|
|
17177
17174
|
data: {},
|
|
17178
17175
|
storage: {},
|
|
@@ -17181,24 +17178,24 @@ function Fh(e = {}) {
|
|
|
17181
17178
|
ai: {},
|
|
17182
17179
|
credentials: {}
|
|
17183
17180
|
}, n = (e) => t[e] ??= {};
|
|
17184
|
-
for (let [t, r] of Object.entries(
|
|
17181
|
+
for (let [t, r] of Object.entries(kh)) {
|
|
17185
17182
|
let i = e[t];
|
|
17186
17183
|
if (i !== void 0) for (let [e, t] of Object.entries(r)) t.when && !t.when(i) || (n(t.service)[e] = t.create(i));
|
|
17187
17184
|
}
|
|
17188
|
-
for (let [t, r] of Object.entries(e.custom ?? {}))
|
|
17185
|
+
for (let [t, r] of Object.entries(e.custom ?? {})) jh(n(t), r);
|
|
17189
17186
|
Object.keys(t.data).length === 0 && (t.data.mock = new mo()), Object.keys(t.auth).length === 0 && (t.auth.googleAuth = new gm());
|
|
17190
17187
|
let r = e.services ?? {}, i = {};
|
|
17191
17188
|
for (let [e, n] of Object.entries(t)) i[e] = {
|
|
17192
17189
|
registry: n,
|
|
17193
|
-
defaultKey:
|
|
17190
|
+
defaultKey: Mh(n, r[e])
|
|
17194
17191
|
};
|
|
17195
17192
|
return i;
|
|
17196
17193
|
}
|
|
17197
|
-
var
|
|
17198
|
-
|
|
17199
|
-
},
|
|
17200
|
-
function
|
|
17201
|
-
let [p, g] = h(() =>
|
|
17194
|
+
var Ph = {}, Fh = (e) => {
|
|
17195
|
+
Ph = e;
|
|
17196
|
+
}, Ih = (e) => Ph[e] || [];
|
|
17197
|
+
function Lh({ 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 }) {
|
|
17198
|
+
let [p, g] = h(() => Nh(n)), v = m(p);
|
|
17202
17199
|
v.current = p;
|
|
17203
17200
|
let y = m(void 0);
|
|
17204
17201
|
y.current ||= (async (e, t, n) => {
|
|
@@ -17239,8 +17236,8 @@ function zh({ contextProviders: e, providers: n = {}, appName: r = "LLM Native",
|
|
|
17239
17236
|
setProvider: b
|
|
17240
17237
|
}, /* @__PURE__ */ t.createElement($r, p.auth, /* @__PURE__ */ t.createElement(xm, p.credentials, /* @__PURE__ */ t.createElement(Si, p.data, /* @__PURE__ */ t.createElement(oc, p.storage, /* @__PURE__ */ t.createElement(vm, p.email, /* @__PURE__ */ t.createElement(Xc, p.ai, /* @__PURE__ */ t.createElement(br, { config: a }, /* @__PURE__ */ t.createElement(Vd, { config: o }, /* @__PURE__ */ t.createElement(bp, { appName: r }, /* @__PURE__ */ t.createElement(Mn, { config: c }, /* @__PURE__ */ t.createElement(yn, { config: s }, /* @__PURE__ */ t.createElement(x, null, l))))))))))))))));
|
|
17241
17238
|
}
|
|
17242
|
-
function
|
|
17243
|
-
|
|
17239
|
+
function Rh({ importPage: e, LayoutDefault: n = void 0, menuConfig: r = {}, children: a, ...o }) {
|
|
17240
|
+
Fh(r);
|
|
17244
17241
|
let s = ({ children: e }) => /* @__PURE__ */ t.createElement(t.Fragment, null, e), c = ({ pageSource: e, message: n }) => /* @__PURE__ */ t.createElement(Po, { variant: "warning" }, "Missing Page: ", e, n && /* @__PURE__ */ t.createElement("code", { className: "ml-2" }, n));
|
|
17245
17242
|
function l(r, a, l) {
|
|
17246
17243
|
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, {
|
|
@@ -17254,16 +17251,16 @@ function Bh({ importPage: e, LayoutDefault: n = void 0, menuConfig: r = {}, chil
|
|
|
17254
17251
|
key: a.path,
|
|
17255
17252
|
reportUrl: o.errorReportUrl,
|
|
17256
17253
|
debug: o.debug
|
|
17257
|
-
}, /* @__PURE__ */ t.createElement(i, { fallback: /* @__PURE__ */ t.createElement(
|
|
17254
|
+
}, /* @__PURE__ */ t.createElement(i, { fallback: /* @__PURE__ */ t.createElement(Ah, null) }, /* @__PURE__ */ t.createElement(d, null))))
|
|
17258
17255
|
});
|
|
17259
17256
|
}
|
|
17260
17257
|
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)));
|
|
17261
|
-
return /* @__PURE__ */ t.createElement(
|
|
17258
|
+
return /* @__PURE__ */ t.createElement(Lh, o, a, /* @__PURE__ */ t.createElement(b, null, /* @__PURE__ */ t.createElement(y, {
|
|
17262
17259
|
path: oi,
|
|
17263
17260
|
element: /* @__PURE__ */ t.createElement(pi, null)
|
|
17264
17261
|
}), /* @__PURE__ */ t.createElement(t.Fragment, null, u({
|
|
17265
17262
|
default: [{ path: "/" }],
|
|
17266
|
-
...
|
|
17263
|
+
...Ph,
|
|
17267
17264
|
_auth: [{
|
|
17268
17265
|
path: "/users",
|
|
17269
17266
|
page: am,
|
|
@@ -17274,8 +17271,8 @@ function Bh({ importPage: e, LayoutDefault: n = void 0, menuConfig: r = {}, chil
|
|
|
17274
17271
|
element: /* @__PURE__ */ t.createElement(om, null)
|
|
17275
17272
|
})));
|
|
17276
17273
|
}
|
|
17277
|
-
var
|
|
17278
|
-
let t =
|
|
17274
|
+
var zh = (e) => {
|
|
17275
|
+
let t = Ih(e), n = x(), r = (e) => e.map((e) => {
|
|
17279
17276
|
let t = n.pathname === e.path, i = e.children ? r(e.children) : [], a = t || i.some((e) => e.active);
|
|
17280
17277
|
return {
|
|
17281
17278
|
...e,
|
|
@@ -17284,7 +17281,7 @@ var Vh = (e) => {
|
|
|
17284
17281
|
};
|
|
17285
17282
|
});
|
|
17286
17283
|
return p(() => r(t), [n.pathname]);
|
|
17287
|
-
},
|
|
17284
|
+
}, Bh = {
|
|
17288
17285
|
common: {
|
|
17289
17286
|
save: "Salva",
|
|
17290
17287
|
cancel: "Annulla",
|
|
@@ -17451,7 +17448,7 @@ var Vh = (e) => {
|
|
|
17451
17448
|
notConfigured: "La ricerca indirizzi non è configurata (manca la API key Google Maps).",
|
|
17452
17449
|
loadError: "Impossibile caricare la ricerca indirizzi."
|
|
17453
17450
|
}
|
|
17454
|
-
},
|
|
17451
|
+
}, Vh = {
|
|
17455
17452
|
common: {
|
|
17456
17453
|
save: "Speichern",
|
|
17457
17454
|
cancel: "Abbrechen",
|
|
@@ -17618,7 +17615,7 @@ var Vh = (e) => {
|
|
|
17618
17615
|
notConfigured: "Adresssuche ist nicht konfiguriert (Google Maps API-Schlüssel fehlt).",
|
|
17619
17616
|
loadError: "Adresssuche konnte nicht geladen werden."
|
|
17620
17617
|
}
|
|
17621
|
-
},
|
|
17618
|
+
}, Hh = {
|
|
17622
17619
|
common: {
|
|
17623
17620
|
save: "Сохранить",
|
|
17624
17621
|
cancel: "Отменить",
|
|
@@ -17785,7 +17782,7 @@ var Vh = (e) => {
|
|
|
17785
17782
|
notConfigured: "Поиск адресов не настроен (отсутствует ключ Google Maps API).",
|
|
17786
17783
|
loadError: "Не удалось загрузить поиск адресов."
|
|
17787
17784
|
}
|
|
17788
|
-
},
|
|
17785
|
+
}, Uh = {
|
|
17789
17786
|
common: {
|
|
17790
17787
|
save: "保存",
|
|
17791
17788
|
cancel: "取消",
|
|
@@ -17952,7 +17949,7 @@ var Vh = (e) => {
|
|
|
17952
17949
|
notConfigured: "地址搜索未配置(缺少 Google Maps API 密钥)。",
|
|
17953
17950
|
loadError: "无法加载地址搜索。"
|
|
17954
17951
|
}
|
|
17955
|
-
},
|
|
17952
|
+
}, Wh = {
|
|
17956
17953
|
common: {
|
|
17957
17954
|
save: "حفظ",
|
|
17958
17955
|
cancel: "إلغاء",
|
|
@@ -18119,22 +18116,22 @@ var Vh = (e) => {
|
|
|
18119
18116
|
notConfigured: "البحث عن العناوين غير مُعد (مفتاح Google Maps API مفقود).",
|
|
18120
18117
|
loadError: "تعذر تحميل البحث عن العناوين."
|
|
18121
18118
|
}
|
|
18122
|
-
},
|
|
18123
|
-
ar: () =>
|
|
18124
|
-
de: () =>
|
|
18119
|
+
}, Gh = /* @__PURE__ */ Je({
|
|
18120
|
+
ar: () => Wh,
|
|
18121
|
+
de: () => Vh,
|
|
18125
18122
|
en: () => Sn,
|
|
18126
|
-
it: () =>
|
|
18127
|
-
ru: () =>
|
|
18128
|
-
zh: () =>
|
|
18129
|
-
}),
|
|
18123
|
+
it: () => Bh,
|
|
18124
|
+
ru: () => Hh,
|
|
18125
|
+
zh: () => Uh
|
|
18126
|
+
}), Kh = (e) => _a("api", e);
|
|
18130
18127
|
//#endregion
|
|
18131
18128
|
//#region src/providers/api/direct.ts
|
|
18132
|
-
async function
|
|
18129
|
+
async function qh(e) {
|
|
18133
18130
|
if (!e.ok) throw Error(`ApiProvider request failed: ${e.status} ${e.statusText}`);
|
|
18134
18131
|
let t = await e.text();
|
|
18135
18132
|
return t ? JSON.parse(t) : void 0;
|
|
18136
18133
|
}
|
|
18137
|
-
var
|
|
18134
|
+
var Jh = class {
|
|
18138
18135
|
config;
|
|
18139
18136
|
constructor(e) {
|
|
18140
18137
|
this.config = e;
|
|
@@ -18149,7 +18146,7 @@ var Xh = class {
|
|
|
18149
18146
|
...e.body,
|
|
18150
18147
|
...this.config.body
|
|
18151
18148
|
};
|
|
18152
|
-
return
|
|
18149
|
+
return qh(await rl(n.toString(), {
|
|
18153
18150
|
method: t,
|
|
18154
18151
|
headers: {
|
|
18155
18152
|
"Content-Type": "application/json",
|
|
@@ -18158,7 +18155,7 @@ var Xh = class {
|
|
|
18158
18155
|
body: t === "GET" || t === "HEAD" ? void 0 : JSON.stringify(r)
|
|
18159
18156
|
}));
|
|
18160
18157
|
}
|
|
18161
|
-
},
|
|
18158
|
+
}, Yh = class {
|
|
18162
18159
|
resolver;
|
|
18163
18160
|
constructor(e) {
|
|
18164
18161
|
this.resolver = e;
|
|
@@ -18166,7 +18163,7 @@ var Xh = class {
|
|
|
18166
18163
|
async fetch(e) {
|
|
18167
18164
|
return this.resolver(e);
|
|
18168
18165
|
}
|
|
18169
|
-
},
|
|
18166
|
+
}, Xh = class {
|
|
18170
18167
|
config;
|
|
18171
18168
|
constructor(e) {
|
|
18172
18169
|
this.config = e;
|
|
@@ -18177,7 +18174,7 @@ var Xh = class {
|
|
|
18177
18174
|
request: e
|
|
18178
18175
|
}, void 0, this.config.region);
|
|
18179
18176
|
}
|
|
18180
|
-
},
|
|
18177
|
+
}, Zh = class {
|
|
18181
18178
|
config;
|
|
18182
18179
|
constructor(e) {
|
|
18183
18180
|
this.config = e;
|
|
@@ -18190,7 +18187,7 @@ var Xh = class {
|
|
|
18190
18187
|
if (n) throw n;
|
|
18191
18188
|
return t;
|
|
18192
18189
|
}
|
|
18193
|
-
},
|
|
18190
|
+
}, Qh = [
|
|
18194
18191
|
{
|
|
18195
18192
|
id: "resend",
|
|
18196
18193
|
label: "Resend",
|
|
@@ -18301,7 +18298,7 @@ var Xh = class {
|
|
|
18301
18298
|
],
|
|
18302
18299
|
credentialsHint: "Ask your mail host or hosting provider for the SMTP host, port, and credentials."
|
|
18303
18300
|
}
|
|
18304
|
-
],
|
|
18301
|
+
], $h = [
|
|
18305
18302
|
{
|
|
18306
18303
|
id: "cloudflare_pages",
|
|
18307
18304
|
label: "Cloudflare Pages",
|
|
@@ -18531,10 +18528,10 @@ var Xh = class {
|
|
|
18531
18528
|
description: "No vendor — packages the build as a downloadable archive for self-hosting anywhere else.",
|
|
18532
18529
|
credentialFields: []
|
|
18533
18530
|
}
|
|
18534
|
-
],
|
|
18531
|
+
], eg = [
|
|
18535
18532
|
vh,
|
|
18536
|
-
|
|
18537
|
-
|
|
18533
|
+
Sh,
|
|
18534
|
+
xh,
|
|
18538
18535
|
uh,
|
|
18539
18536
|
gh,
|
|
18540
18537
|
rh,
|
|
@@ -18556,7 +18553,7 @@ var Xh = class {
|
|
|
18556
18553
|
dashboardUrl: "https://bigmodel.cn/usercenter/apikeys",
|
|
18557
18554
|
credentialsHint: "Zhipu BigModel → User Center → API Keys → Create Key."
|
|
18558
18555
|
})
|
|
18559
|
-
],
|
|
18556
|
+
], tg = (e) => ({
|
|
18560
18557
|
id: e.id,
|
|
18561
18558
|
label: e.label,
|
|
18562
18559
|
description: e.description ?? "",
|
|
@@ -18567,7 +18564,7 @@ var Xh = class {
|
|
|
18567
18564
|
}],
|
|
18568
18565
|
credentialsUrl: e.dashboardUrl,
|
|
18569
18566
|
credentialsHint: e.credentialsHint
|
|
18570
|
-
}),
|
|
18567
|
+
}), ng = eg.map(tg), rg = {
|
|
18571
18568
|
id: "openai-compatible",
|
|
18572
18569
|
label: "OpenAI-compatible",
|
|
18573
18570
|
description: "Any OpenAI-compatible endpoint (self-hosted or third-party).",
|
|
@@ -18581,7 +18578,7 @@ var Xh = class {
|
|
|
18581
18578
|
type: "text",
|
|
18582
18579
|
placeholder: "https://api.example.com/v1"
|
|
18583
18580
|
}]
|
|
18584
|
-
},
|
|
18581
|
+
}, ig = (e) => {
|
|
18585
18582
|
let t = e?.openAICompatible?.baseUrl?.trim();
|
|
18586
18583
|
return t ? [lh({
|
|
18587
18584
|
id: "openai-compatible",
|
|
@@ -18595,35 +18592,35 @@ var Xh = class {
|
|
|
18595
18592
|
modelsUrl: e?.openAICompatible?.modelsUrl?.trim() || void 0,
|
|
18596
18593
|
chatCompletionsUrl: e?.openAICompatible?.chatCompletionsUrl?.trim() || void 0
|
|
18597
18594
|
})] : [];
|
|
18598
|
-
},
|
|
18595
|
+
}, ag = (e) => e ? [...eg, ...ig(e)].reduce((t, n) => {
|
|
18599
18596
|
let r = n.id === "openai-compatible" ? e.openAICompatible?.apiKey?.trim() || "" : typeof n.configKey == "string" && typeof e[n.configKey] == "string" ? String(e[n.configKey] || "").trim() : "";
|
|
18600
18597
|
return r && (t[n.id] = new hl(n, r)), t;
|
|
18601
|
-
}, {}) : {},
|
|
18598
|
+
}, {}) : {}, og = void 0;
|
|
18602
18599
|
typeof Sa == "function" && Sa((e) => {
|
|
18603
|
-
|
|
18600
|
+
og = e.google;
|
|
18604
18601
|
});
|
|
18605
|
-
var
|
|
18602
|
+
var sg = {
|
|
18606
18603
|
ita: "geoTargetConstants/2380",
|
|
18607
18604
|
rome: "geoTargetConstants/1033236",
|
|
18608
18605
|
mil: "geoTargetConstants/1033239",
|
|
18609
18606
|
nap: "geoTargetConstants/1033245",
|
|
18610
18607
|
tor: "geoTargetConstants/1033247"
|
|
18611
|
-
},
|
|
18608
|
+
}, cg = {
|
|
18612
18609
|
it: "languageConstants/1000",
|
|
18613
18610
|
en: "languageConstants/1001",
|
|
18614
18611
|
fr: "languageConstants/1002",
|
|
18615
18612
|
es: "languageConstants/1003",
|
|
18616
18613
|
de: "languageConstants/1005"
|
|
18617
18614
|
};
|
|
18618
|
-
function
|
|
18619
|
-
return
|
|
18615
|
+
function lg(e) {
|
|
18616
|
+
return sg[e.toLowerCase()] || "geoTargetConstants/2380";
|
|
18620
18617
|
}
|
|
18621
|
-
function
|
|
18622
|
-
return
|
|
18618
|
+
function ug(e) {
|
|
18619
|
+
return cg[e.toLowerCase()] || "languageConstants/1000";
|
|
18623
18620
|
}
|
|
18624
|
-
async function
|
|
18625
|
-
if (!
|
|
18626
|
-
let i = await qm(["https://www.googleapis.com/auth/adwords"]), a =
|
|
18621
|
+
async function dg({ keyword: e, googleAdsAccountId: t, geoCode: n = "ita", languageCode: r = "it" }) {
|
|
18622
|
+
if (!og?.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"), [];
|
|
18623
|
+
let i = await qm(["https://www.googleapis.com/auth/adwords"]), a = lg(n), o = ug(r), s = `https://googleads.googleapis.com/v13/customers/${t}:generateKeywordIdeas`, c = {
|
|
18627
18624
|
keywordSeed: { keywords: [e] },
|
|
18628
18625
|
geoTargetConstants: [a],
|
|
18629
18626
|
language: o
|
|
@@ -18631,7 +18628,7 @@ async function pg({ keyword: e, googleAdsAccountId: t, geoCode: n = "ita", langu
|
|
|
18631
18628
|
method: "POST",
|
|
18632
18629
|
headers: {
|
|
18633
18630
|
Authorization: `Bearer ${i}`,
|
|
18634
|
-
"developer-token":
|
|
18631
|
+
"developer-token": og.developerToken,
|
|
18635
18632
|
"Content-Type": "application/json"
|
|
18636
18633
|
},
|
|
18637
18634
|
body: JSON.stringify(c)
|
|
@@ -18649,7 +18646,7 @@ async function pg({ keyword: e, googleAdsAccountId: t, geoCode: n = "ita", langu
|
|
|
18649
18646
|
}
|
|
18650
18647
|
//#endregion
|
|
18651
18648
|
//#region src/providers/seo/google/trend.ts
|
|
18652
|
-
async function
|
|
18649
|
+
async function fg(e, t = "IT", n = "today 12-m") {
|
|
18653
18650
|
let r = `https://trends.google.com/trends/api/explore?hl=en-US&tz=0&req=${encodeURIComponent(JSON.stringify({
|
|
18654
18651
|
comparisonItem: [{
|
|
18655
18652
|
keyword: e,
|
|
@@ -18669,7 +18666,7 @@ async function mg(e, t = "IT", n = "today 12-m") {
|
|
|
18669
18666
|
}))
|
|
18670
18667
|
};
|
|
18671
18668
|
}
|
|
18672
|
-
async function
|
|
18669
|
+
async function pg(e, t = "IT", n = "today 12-m") {
|
|
18673
18670
|
let r = `https://trends.google.com/trends/api/explore?hl=en-US&tz=0&req=${encodeURIComponent(JSON.stringify({
|
|
18674
18671
|
comparisonItem: [{
|
|
18675
18672
|
keyword: e,
|
|
@@ -18695,13 +18692,13 @@ async function hg(e, t = "IT", n = "today 12-m") {
|
|
|
18695
18692
|
}
|
|
18696
18693
|
//#endregion
|
|
18697
18694
|
//#region src/providers/storage/dropbox.tsx
|
|
18698
|
-
var
|
|
18695
|
+
var mg = 5e3, hg = "https://www.dropbox.com/home", gg = void 0;
|
|
18699
18696
|
typeof Sa == "function" && Sa((e) => {
|
|
18700
|
-
|
|
18697
|
+
gg = e.dropbox;
|
|
18701
18698
|
});
|
|
18702
|
-
var
|
|
18703
|
-
if (!
|
|
18704
|
-
let r = await vi(
|
|
18699
|
+
var _g = async (e, t, n = {}) => {
|
|
18700
|
+
if (!gg) return console.error("DropBox: Config not found"), null;
|
|
18701
|
+
let r = await vi(gg.clientId);
|
|
18705
18702
|
if (!r) throw Error("DropBox: Access token not found");
|
|
18706
18703
|
return await fetch(e, {
|
|
18707
18704
|
method: "POST",
|
|
@@ -18714,12 +18711,12 @@ var yg = async (e, t, n = {}) => {
|
|
|
18714
18711
|
}).catch((e) => (console.error("There was a problem with the fetch operation:", e), null)).finally(() => {
|
|
18715
18712
|
console.log("DropBox: Fetch operation completed");
|
|
18716
18713
|
});
|
|
18717
|
-
},
|
|
18718
|
-
if (!
|
|
18714
|
+
}, vg = async (e, t, n = {}) => {
|
|
18715
|
+
if (!gg) {
|
|
18719
18716
|
console.error("DropBox: Config not found");
|
|
18720
18717
|
return;
|
|
18721
18718
|
}
|
|
18722
|
-
let r = await vi(
|
|
18719
|
+
let r = await vi(gg.clientId);
|
|
18723
18720
|
if (!r) {
|
|
18724
18721
|
console.error("DropBox: Access token not found");
|
|
18725
18722
|
return;
|
|
@@ -18744,47 +18741,47 @@ var yg = async (e, t, n = {}) => {
|
|
|
18744
18741
|
}).finally(() => {
|
|
18745
18742
|
console.log("DropBox: Fetch operation completed", e, t);
|
|
18746
18743
|
});
|
|
18747
|
-
},
|
|
18748
|
-
let n =
|
|
18749
|
-
return (t ?
|
|
18750
|
-
},
|
|
18744
|
+
}, yg = (e, t = !1) => {
|
|
18745
|
+
let n = gg?.rootPath || "";
|
|
18746
|
+
return (t ? hg : "") + (e.startsWith(n) ? e : n + e);
|
|
18747
|
+
}, bg = async (e, t = "", n = !1) => {
|
|
18751
18748
|
let r = {};
|
|
18752
|
-
return (await
|
|
18749
|
+
return (await Pg.listFolders({
|
|
18753
18750
|
path: `${e + t}`,
|
|
18754
18751
|
recursive: !0
|
|
18755
18752
|
})).forEach((e) => {
|
|
18756
18753
|
e[".tag"] !== "folder" && (r[n ? ti.changeFilename(e.path_display, { ext: "" }) : e.path_display] = e.name);
|
|
18757
18754
|
}), r;
|
|
18758
|
-
},
|
|
18755
|
+
}, xg = async (e, t) => {
|
|
18759
18756
|
if (!e.async_job_id) return Promise.reject(e);
|
|
18760
18757
|
let n, r = !0;
|
|
18761
|
-
for (; r;) await ut(100), n = await
|
|
18758
|
+
for (; r;) await ut(100), n = await vg(`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);
|
|
18762
18759
|
return n?.[".tag"] === "complete" ? Promise.resolve(n.entries) : Promise.reject(n);
|
|
18763
|
-
},
|
|
18764
|
-
let n = "files/create_folder_batch", r = await
|
|
18760
|
+
}, Sg = async (e, t = "") => {
|
|
18761
|
+
let n = "files/create_folder_batch", r = await vg(`https://api.dropboxapi.com/2/${n}`, {
|
|
18765
18762
|
autorename: !1,
|
|
18766
18763
|
force_async: !0,
|
|
18767
|
-
paths: e.map((e) =>
|
|
18764
|
+
paths: e.map((e) => yg(t + e))
|
|
18768
18765
|
});
|
|
18769
|
-
return r ?
|
|
18770
|
-
},
|
|
18771
|
-
let n = "files/create_folder_batch", r = await
|
|
18772
|
-
return r ?
|
|
18773
|
-
},
|
|
18766
|
+
return r ? xg(r, n) : void 0;
|
|
18767
|
+
}, Cg = async (e, t = "") => {
|
|
18768
|
+
let n = "files/create_folder_batch", r = await vg(`https://api.dropboxapi.com/2/${n}`, { entries: e.map((e) => ({ path: yg(t + e) })) });
|
|
18769
|
+
return r ? xg(r, n) : void 0;
|
|
18770
|
+
}, wg = async (e, t) => vg("https://api.dropboxapi.com/2/files/tags/add", {
|
|
18774
18771
|
path: e,
|
|
18775
18772
|
tag_text: t.toLowerCase().replaceAll(/[^a-z0-9]/g, "")
|
|
18776
|
-
}),
|
|
18777
|
-
for (let n in e) for (let r of e[n]) await
|
|
18778
|
-
},
|
|
18779
|
-
let n = [], r = async ({ path: e, cursor: t, recursive: n }) => e ? await
|
|
18773
|
+
}), Tg = async (e, t = "") => {
|
|
18774
|
+
for (let n in e) for (let r of e[n]) await wg(yg(t + n), r);
|
|
18775
|
+
}, Eg = async ({ path: e = "", recursive: t = !1 } = {}) => {
|
|
18776
|
+
let n = [], r = async ({ path: e, cursor: t, recursive: n }) => e ? await vg("https://api.dropboxapi.com/2/files/list_folder", {
|
|
18780
18777
|
include_deleted: !1,
|
|
18781
18778
|
include_has_explicit_shared_members: !1,
|
|
18782
18779
|
include_media_info: !1,
|
|
18783
18780
|
include_mounted_folders: !0,
|
|
18784
18781
|
include_non_downloadable_files: !0,
|
|
18785
|
-
path:
|
|
18782
|
+
path: yg(e),
|
|
18786
18783
|
recursive: n
|
|
18787
|
-
}) : await
|
|
18784
|
+
}) : await vg("https://api.dropboxapi.com/2/files/list_folder/continue", { cursor: t }), i = {
|
|
18788
18785
|
has_more: !0,
|
|
18789
18786
|
cursor: "",
|
|
18790
18787
|
entries: []
|
|
@@ -18797,44 +18794,44 @@ var yg = async (e, t, n = {}) => {
|
|
|
18797
18794
|
recursive: t
|
|
18798
18795
|
}), i && n.push(...i.entries);
|
|
18799
18796
|
return n;
|
|
18800
|
-
},
|
|
18801
|
-
let t = async (e) => await
|
|
18797
|
+
}, Dg = async (e) => {
|
|
18798
|
+
let t = async (e) => await vg("https://api.dropboxapi.com/2/files/copy_batch_v2", {
|
|
18802
18799
|
entries: e,
|
|
18803
18800
|
autorename: !1
|
|
18804
|
-
}), n = async (e) => await
|
|
18801
|
+
}), n = async (e) => await vg("https://api.dropboxapi.com/2/files/copy_batch/check_v2", { async_job_id: e }), r = [], i = [];
|
|
18805
18802
|
for (let a = 0; a < e.length; a += 900) {
|
|
18806
18803
|
i = e.slice(a, a + 900).map((e) => ({
|
|
18807
|
-
from_path:
|
|
18808
|
-
to_path:
|
|
18804
|
+
from_path: yg(e.from),
|
|
18805
|
+
to_path: yg(e.to)
|
|
18809
18806
|
}));
|
|
18810
18807
|
let o = await t(i);
|
|
18811
18808
|
if (!o) continue;
|
|
18812
18809
|
if (o.error) throw Error(`Error starting copy: ${o.error}`);
|
|
18813
18810
|
let s = o;
|
|
18814
|
-
for (; s?.[".tag"] === "async_job_id" || s?.[".tag"] === "in_progress";) await ut(
|
|
18811
|
+
for (; s?.[".tag"] === "async_job_id" || s?.[".tag"] === "in_progress";) await ut(mg), s = await n(o.async_job_id ?? "");
|
|
18815
18812
|
if (s?.[".tag"] === "failed") throw Error(`Copy operation failed: ${s[".tag"]}`);
|
|
18816
18813
|
s?.[".tag"] === "complete" && s.entries && r.push(...s.entries);
|
|
18817
18814
|
}
|
|
18818
18815
|
return r.filter((e) => e[".tag"] === "failure").map((e) => e.failure);
|
|
18819
|
-
},
|
|
18820
|
-
let t = async (e) => await
|
|
18816
|
+
}, Og = async (e) => {
|
|
18817
|
+
let t = async (e) => await vg("https://api.dropboxapi.com/2/files/move_v2", {
|
|
18821
18818
|
...e,
|
|
18822
18819
|
autorename: !0
|
|
18823
18820
|
});
|
|
18824
18821
|
for (let n of e) await t({
|
|
18825
|
-
from_path:
|
|
18826
|
-
to_path:
|
|
18822
|
+
from_path: yg(n.from),
|
|
18823
|
+
to_path: yg(n.to)
|
|
18827
18824
|
});
|
|
18828
|
-
},
|
|
18825
|
+
}, kg = async ({ thumbnailsRequest: e = [], size: t = "w64h64", format: n = "jpeg", mode: r = "strict" }, i) => {
|
|
18829
18826
|
let a = {}, o = [];
|
|
18830
18827
|
for (let s = 0; s < e.length; s += 25) {
|
|
18831
18828
|
let c = e.slice(s, s + 25), l = c.map((e) => ({
|
|
18832
|
-
path:
|
|
18829
|
+
path: yg(e.path),
|
|
18833
18830
|
format: n,
|
|
18834
18831
|
size: t,
|
|
18835
18832
|
mode: r
|
|
18836
18833
|
}));
|
|
18837
|
-
await ut(100), o.push(
|
|
18834
|
+
await ut(100), o.push(vg("https://content.dropboxapi.com/2/files/get_thumbnail_batch", { entries: l }).then((e) => {
|
|
18838
18835
|
if (!e) return;
|
|
18839
18836
|
let n = e.entries.reduce((e, n, r) => {
|
|
18840
18837
|
let i = c[r].path, [a, o] = t.replace("w", "").split("h").map(Number), s = n;
|
|
@@ -18853,7 +18850,7 @@ var yg = async (e, t, n = {}) => {
|
|
|
18853
18850
|
}));
|
|
18854
18851
|
}
|
|
18855
18852
|
return Promise.all(o).then(() => a);
|
|
18856
|
-
},
|
|
18853
|
+
}, Ag = (e, t = "application/octet-stream", n = 512) => {
|
|
18857
18854
|
let r = atob(e), i = [];
|
|
18858
18855
|
for (let e = 0; e < r.length; e += n) {
|
|
18859
18856
|
let t = r.slice(e, e + n), a = Array(t.length);
|
|
@@ -18862,11 +18859,11 @@ var yg = async (e, t, n = {}) => {
|
|
|
18862
18859
|
i.push(o);
|
|
18863
18860
|
}
|
|
18864
18861
|
return new Blob(i, { type: t });
|
|
18865
|
-
},
|
|
18862
|
+
}, jg = async (e, t) => {
|
|
18866
18863
|
try {
|
|
18867
18864
|
let n = t.split(",")[1];
|
|
18868
|
-
|
|
18869
|
-
path:
|
|
18865
|
+
_g("https://content.dropboxapi.com/2/files/upload", Ag(n, "application/octet-stream"), { "Dropbox-API-Arg": JSON.stringify({
|
|
18866
|
+
path: yg(e),
|
|
18870
18867
|
mode: "overwrite",
|
|
18871
18868
|
autorename: !0,
|
|
18872
18869
|
mute: !1
|
|
@@ -18876,12 +18873,12 @@ var yg = async (e, t, n = {}) => {
|
|
|
18876
18873
|
} catch (e) {
|
|
18877
18874
|
console.error("Errore durante il caricamento su Dropbox:", e);
|
|
18878
18875
|
}
|
|
18879
|
-
},
|
|
18880
|
-
if (!
|
|
18876
|
+
}, Mg = (e = !1) => gg ? hi(gg.clientId, e) : !1, Ng = (e = {}) => {
|
|
18877
|
+
if (!gg) return /* @__PURE__ */ t.createElement("div", {
|
|
18881
18878
|
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.",
|
|
18882
18879
|
className: "text-danger flex items-center gap-2"
|
|
18883
18880
|
}, /* @__PURE__ */ t.createElement(Q, { name: "warning" }), /* @__PURE__ */ t.createElement("span", null, "Dropbox non configurato"));
|
|
18884
|
-
let n =
|
|
18881
|
+
let n = Mg(!0);
|
|
18885
18882
|
return /* @__PURE__ */ t.createElement(bi, {
|
|
18886
18883
|
provider: "dropboxAuth",
|
|
18887
18884
|
intent: "connect",
|
|
@@ -18893,33 +18890,33 @@ var yg = async (e, t, n = {}) => {
|
|
|
18893
18890
|
title: n ? "DropBox Connected" : "DropBox Disconnected"
|
|
18894
18891
|
}
|
|
18895
18892
|
});
|
|
18896
|
-
},
|
|
18893
|
+
}, Pg = {
|
|
18897
18894
|
setRootPath: (e) => {
|
|
18898
|
-
|
|
18895
|
+
gg && (gg.rootPath = e);
|
|
18899
18896
|
},
|
|
18900
|
-
resolvePath:
|
|
18901
|
-
createFolders:
|
|
18902
|
-
deleteBulk:
|
|
18903
|
-
addTags:
|
|
18904
|
-
listFolders:
|
|
18905
|
-
getThumbnails:
|
|
18906
|
-
search:
|
|
18907
|
-
upload:
|
|
18908
|
-
copy:
|
|
18909
|
-
move:
|
|
18910
|
-
},
|
|
18897
|
+
resolvePath: yg,
|
|
18898
|
+
createFolders: Sg,
|
|
18899
|
+
deleteBulk: Cg,
|
|
18900
|
+
addTags: Tg,
|
|
18901
|
+
listFolders: Eg,
|
|
18902
|
+
getThumbnails: kg,
|
|
18903
|
+
search: bg,
|
|
18904
|
+
upload: jg,
|
|
18905
|
+
copy: Dg,
|
|
18906
|
+
move: Og
|
|
18907
|
+
}, Fg = "https://api.serpapi.com/search", Ig = "google", Lg = "google_images", Rg = "google_autocomplete", zg = "google_trends", Bg = "google_maps", Vg = "google_maps_photos", Hg = "google_maps_reviews", Ug = {
|
|
18911
18908
|
engine: null,
|
|
18912
18909
|
device: null,
|
|
18913
18910
|
no_cache: !1,
|
|
18914
18911
|
async: !1,
|
|
18915
18912
|
output: "json"
|
|
18916
|
-
},
|
|
18913
|
+
}, Wg = { q: null }, Gg = {
|
|
18917
18914
|
tbs: null,
|
|
18918
18915
|
safe: "active",
|
|
18919
18916
|
nfpr: 0,
|
|
18920
18917
|
filter: 1
|
|
18921
18918
|
};
|
|
18922
|
-
function
|
|
18919
|
+
function Kg(e) {
|
|
18923
18920
|
let t = Ic(), n = Ic(!0), r = Lc(!0), i = {
|
|
18924
18921
|
location: t,
|
|
18925
18922
|
uule: null
|
|
@@ -18937,13 +18934,13 @@ function Jg(e) {
|
|
|
18937
18934
|
hl: r
|
|
18938
18935
|
};
|
|
18939
18936
|
return {
|
|
18940
|
-
[
|
|
18941
|
-
...
|
|
18937
|
+
[Ig]: {
|
|
18938
|
+
...Ug,
|
|
18942
18939
|
...i,
|
|
18943
18940
|
...o,
|
|
18944
|
-
...
|
|
18945
|
-
...
|
|
18946
|
-
engine:
|
|
18941
|
+
...Gg,
|
|
18942
|
+
...Wg,
|
|
18943
|
+
engine: Ig,
|
|
18947
18944
|
ludocid: null,
|
|
18948
18945
|
lsig: null,
|
|
18949
18946
|
kgmid: null,
|
|
@@ -18952,29 +18949,29 @@ function Jg(e) {
|
|
|
18952
18949
|
start: null,
|
|
18953
18950
|
num: null
|
|
18954
18951
|
},
|
|
18955
|
-
[
|
|
18956
|
-
...
|
|
18952
|
+
[Lg]: {
|
|
18953
|
+
...Ug,
|
|
18957
18954
|
...i,
|
|
18958
18955
|
...o,
|
|
18959
|
-
...
|
|
18960
|
-
...
|
|
18961
|
-
engine:
|
|
18956
|
+
...Gg,
|
|
18957
|
+
...Wg,
|
|
18958
|
+
engine: Lg,
|
|
18962
18959
|
chips: null,
|
|
18963
18960
|
ijn: null
|
|
18964
18961
|
},
|
|
18965
|
-
[
|
|
18966
|
-
...
|
|
18962
|
+
[Rg]: {
|
|
18963
|
+
...Ug,
|
|
18967
18964
|
...o,
|
|
18968
|
-
...
|
|
18969
|
-
engine:
|
|
18965
|
+
...Wg,
|
|
18966
|
+
engine: Rg,
|
|
18970
18967
|
cp: null,
|
|
18971
18968
|
client: null
|
|
18972
18969
|
},
|
|
18973
|
-
[
|
|
18974
|
-
...
|
|
18970
|
+
[zg]: {
|
|
18971
|
+
...Ug,
|
|
18975
18972
|
...a,
|
|
18976
|
-
...
|
|
18977
|
-
engine:
|
|
18973
|
+
...Wg,
|
|
18974
|
+
engine: zg,
|
|
18978
18975
|
data_type: null,
|
|
18979
18976
|
tz: null,
|
|
18980
18977
|
cat: null,
|
|
@@ -18982,73 +18979,73 @@ function Jg(e) {
|
|
|
18982
18979
|
date: null,
|
|
18983
18980
|
csv: null
|
|
18984
18981
|
},
|
|
18985
|
-
[
|
|
18986
|
-
...
|
|
18982
|
+
[Bg]: {
|
|
18983
|
+
...Ug,
|
|
18987
18984
|
...i,
|
|
18988
18985
|
...o,
|
|
18989
|
-
...qg,
|
|
18990
|
-
...Kg,
|
|
18991
|
-
engine: Hg
|
|
18992
|
-
},
|
|
18993
|
-
[Ug]: {
|
|
18994
18986
|
...Gg,
|
|
18987
|
+
...Wg,
|
|
18988
|
+
engine: Bg
|
|
18989
|
+
},
|
|
18990
|
+
[Vg]: {
|
|
18991
|
+
...Ug,
|
|
18995
18992
|
...s,
|
|
18996
|
-
engine:
|
|
18993
|
+
engine: Vg
|
|
18997
18994
|
},
|
|
18998
|
-
[
|
|
18999
|
-
...
|
|
18995
|
+
[Hg]: {
|
|
18996
|
+
...Ug,
|
|
19000
18997
|
...s,
|
|
19001
|
-
engine:
|
|
18998
|
+
engine: Hg
|
|
19002
18999
|
}
|
|
19003
19000
|
}[e] ?? {};
|
|
19004
19001
|
}
|
|
19005
|
-
var
|
|
19002
|
+
var qg = void 0;
|
|
19006
19003
|
typeof Sa == "function" && Sa((e) => {
|
|
19007
|
-
|
|
19004
|
+
qg = e.scrape;
|
|
19008
19005
|
});
|
|
19009
|
-
function
|
|
19006
|
+
function Jg(e) {
|
|
19010
19007
|
let t = {};
|
|
19011
19008
|
for (let n in e) e[n] !== null && (t[n] = e[n]);
|
|
19012
19009
|
return t;
|
|
19013
19010
|
}
|
|
19014
|
-
var
|
|
19015
|
-
function
|
|
19016
|
-
let t =
|
|
19017
|
-
return t.length === 0 ? null : (e &&
|
|
19011
|
+
var Yg = 0;
|
|
19012
|
+
function Xg(e = !1) {
|
|
19013
|
+
let t = qg?.serpApiKey?.split(",").map((e) => e.trim()).filter(Boolean) || [];
|
|
19014
|
+
return t.length === 0 ? null : (e && Yg++, Yg < t.length ? t[Yg] : null);
|
|
19018
19015
|
}
|
|
19019
|
-
var
|
|
19016
|
+
var Zg = async (e, t) => {
|
|
19020
19017
|
let n = (n) => {
|
|
19021
|
-
let r =
|
|
19022
|
-
...
|
|
19018
|
+
let r = Jg({
|
|
19019
|
+
...Kg(t),
|
|
19023
19020
|
api_key: n,
|
|
19024
19021
|
q: e
|
|
19025
19022
|
});
|
|
19026
|
-
return console.log(
|
|
19027
|
-
}, r =
|
|
19023
|
+
return console.log(Fg, r), `${Fg}?${new URLSearchParams(r)}`;
|
|
19024
|
+
}, r = Xg();
|
|
19028
19025
|
for (; r;) try {
|
|
19029
19026
|
return await Ht(n(r));
|
|
19030
19027
|
} catch (e) {
|
|
19031
19028
|
if (e?.error === "quota_exceeded") {
|
|
19032
|
-
console.warn(`SerpApi: invalid api key: ${r}`, e), r =
|
|
19029
|
+
console.warn(`SerpApi: invalid api key: ${r}`, e), r = Xg(!0);
|
|
19033
19030
|
continue;
|
|
19034
19031
|
}
|
|
19035
19032
|
throw console.error(`SerpApi: ${r}`, e), e;
|
|
19036
19033
|
}
|
|
19037
19034
|
return null;
|
|
19038
|
-
},
|
|
19035
|
+
}, Qg = async (e, t, n) => {
|
|
19039
19036
|
let r = `${Da}/${ct(t)}/${ct(e)}`, i = await n.read(r);
|
|
19040
19037
|
if (i) return i;
|
|
19041
|
-
let a = await
|
|
19038
|
+
let a = await Zg(e, t);
|
|
19042
19039
|
return a ? n.set(r, a) : console.warn(`SerpApi ${t}: No Result`), a ?? {};
|
|
19043
|
-
},
|
|
19044
|
-
googleSearch: async (t) =>
|
|
19045
|
-
googleImages: async (t) =>
|
|
19046
|
-
googleAutocomplete: async (t) =>
|
|
19047
|
-
googleTrends: async (t) =>
|
|
19048
|
-
googleMaps: async (t) =>
|
|
19049
|
-
googleMapsPhotos: async (t) =>
|
|
19050
|
-
googleMapsReviews: async (t) =>
|
|
19051
|
-
}),
|
|
19040
|
+
}, $g = (e) => ({
|
|
19041
|
+
googleSearch: async (t) => Qg(t, Ig, e),
|
|
19042
|
+
googleImages: async (t) => Qg(t, Lg, e),
|
|
19043
|
+
googleAutocomplete: async (t) => Qg(t, Rg, e),
|
|
19044
|
+
googleTrends: async (t) => Qg(t, zg, e),
|
|
19045
|
+
googleMaps: async (t) => Qg(t, Bg, e),
|
|
19046
|
+
googleMapsPhotos: async (t) => Qg(t, Vg, e),
|
|
19047
|
+
googleMapsReviews: async (t) => Qg(t, Hg, e)
|
|
19048
|
+
}), e_ = {
|
|
19052
19049
|
"+": "+",
|
|
19053
19050
|
"﹢": "+",
|
|
19054
19051
|
"-": "-",
|
|
@@ -19123,7 +19120,7 @@ var $g = async (e, t) => {
|
|
|
19123
19120
|
x: "x",
|
|
19124
19121
|
y: "y",
|
|
19125
19122
|
z: "z"
|
|
19126
|
-
},
|
|
19123
|
+
}, t_ = {
|
|
19127
19124
|
email: {
|
|
19128
19125
|
description: "Email: no spaces -> Lower/Trim",
|
|
19129
19126
|
transformations: [{
|
|
@@ -19169,7 +19166,7 @@ var $g = async (e, t) => {
|
|
|
19169
19166
|
transformations: [],
|
|
19170
19167
|
mask: ["toSlug"]
|
|
19171
19168
|
}
|
|
19172
|
-
},
|
|
19169
|
+
}, n_ = [
|
|
19173
19170
|
{
|
|
19174
19171
|
pattern: "email*",
|
|
19175
19172
|
use: "email"
|
|
@@ -19186,24 +19183,24 @@ var $g = async (e, t) => {
|
|
|
19186
19183
|
pattern: "date*",
|
|
19187
19184
|
use: "date"
|
|
19188
19185
|
}
|
|
19189
|
-
],
|
|
19190
|
-
function
|
|
19191
|
-
return e ? e.normalize("NFKC").replace(
|
|
19186
|
+
], r_ = new RegExp(Object.keys(e_).join("|"), "g");
|
|
19187
|
+
function i_(e) {
|
|
19188
|
+
return e ? e.normalize("NFKC").replace(r_, (e) => e_[e] ?? e) : "";
|
|
19192
19189
|
}
|
|
19193
|
-
var
|
|
19190
|
+
var a_ = class {
|
|
19194
19191
|
config;
|
|
19195
19192
|
matches;
|
|
19196
19193
|
constructor(e = {}, t = []) {
|
|
19197
19194
|
this.config = {
|
|
19198
|
-
...
|
|
19195
|
+
...t_,
|
|
19199
19196
|
...e
|
|
19200
|
-
}, this.matches = [...
|
|
19197
|
+
}, this.matches = [...n_, ...t];
|
|
19201
19198
|
}
|
|
19202
19199
|
apply(e, t, n = !1) {
|
|
19203
19200
|
let r = this.config[e];
|
|
19204
19201
|
if (!r) return n ? Pt(t) : t;
|
|
19205
19202
|
let i = t;
|
|
19206
|
-
i =
|
|
19203
|
+
i = i_(String(i ?? ""));
|
|
19207
19204
|
let a = r.exclusions;
|
|
19208
19205
|
if (Array.isArray(a) && a.length) {
|
|
19209
19206
|
let e = String(i).toLowerCase();
|
|
@@ -19262,7 +19259,7 @@ var s_ = class {
|
|
|
19262
19259
|
};
|
|
19263
19260
|
//#endregion
|
|
19264
19261
|
//#region src/libs/csv.ts
|
|
19265
|
-
function
|
|
19262
|
+
function o_(e, t) {
|
|
19266
19263
|
let n = Oe.parse(e, {
|
|
19267
19264
|
header: !0,
|
|
19268
19265
|
skipEmptyLines: !0,
|
|
@@ -19275,6 +19272,6 @@ function c_(e, t) {
|
|
|
19275
19272
|
};
|
|
19276
19273
|
}
|
|
19277
19274
|
//#endregion
|
|
19278
|
-
export { Xc as AIProvider,
|
|
19275
|
+
export { Xc as AIProvider, eg as AI_PROVIDER_DEFINITIONS, ng as AI_PROVIDER_DESCRIPTORS, Br as ActionButton, ef as AddressAutocomplete, Po as Alert, Rh as App, Lh as AppProvider, Li as AsyncDropdown, bi as AuthButton, $r as AuthProvider, Ks as Autocomplete, an as BUILT_IN_THEMES, en as BUILT_IN_THEME_IDS, Vr as BackLink, Xn as Badge, Yn as BadgeOverlay, Wi as Brand, Qi as Breadcrumbs, Sl as CONTEXT_MENU_SEARCH_THRESHOLD, ki as Card, $i as Carousel, Ul as Chatbot, ks as Checkbox, qs as Checklist, Uo as Code, Au as CodeEditor, du as CodeSyntaxError, Kn as Col, bs as Color, Mu as Component, Nu as ComponentBlock, Wn as Container, Rl as ContextMenu, _c as CropImage, np as DEFAULT_DOCUMENT_HEAD, tp as DEFAULT_HEAD_APP_NAME, rp as DEFAULT_LANGUAGE_HEAD, Ps as DEFAULT_ORDER, Si as DataProvider, xs as Date, Cs as DateTime, Jh as DirectApiProviderAdapter, Ng as DropBoxConnectButton, Km as DropboxAuthProvider, Ii as Dropdown, Ri as DropdownButton, Vi as DropdownDivider, Bi as DropdownHeader, zi as DropdownItem, Hi as DropdownMenu, Qh as EMAIL_PROVIDER_DEFINITIONS, vs as Email, vm as EmailProvider, ps as FieldError, wc as FileNameEditor, Xh as FirebaseApiProviderAdapter, zm as FirebaseAuthProvider, Fm as FirebaseDataProvider, bo as FirebaseStorageProvider, qa as FirestoreDataProvider, sd as Form, Ku as FormControllerContext, Up as Gallery, Ym as GmailEmailProvider, Hr as GoSite, gm as GoogleAuthProvider, Vd as GoogleMapsProvider, Wm as GoogleServiceAccountProvider, im as Grid, rm as GridArray, nm as GridCore, zf as GridDB, Wp as GridGalleryView, Qf as GridTableView, Mp as Head, bp as HeadProvider, Os as Hidden, Mn as I18nProvider, Q as Icon, br as IconProvider, Ui as Image, ni as ImageAvatar, lc as ImageEditor, dc as ImageField, hs as Input, js as Label, zd as LayoutBuilder, Ef as ListCard, Ns as ListGroup, wi as Loader, zr as LoadingButton, Go as LocaleSwitcher, lr as LucideIconProvider, Bp as MarkdownReader, Pi as Menu, Yh as MockApiProviderAdapter, mo as MockDataProvider, Ai as Modal, Ni as ModalOk, Mi as ModalYesNo, Ts as Month, e_ as NORMALIZE_MAP, ea as Notifications, _s as Number, rg as OPENAI_COMPATIBLE_PROVIDER_DESCRIPTOR, Ls as Order, $h as PUBLISH_PROVIDER_DEFINITIONS, am as PageUsers, Hp as Pagination, ys as Password, Zo as Percentage, fr as PhosphorIconProvider, tu as Prompt, Wl as PromptMode, xl as PromptUtils, jo as ProviderSwitcher, Es as Range, Ur as ReferSite, _d as Repeat, wf as RichText, Gn as Row, a_ as Sanitizer, na as Search, Gs as Select, If as SideNav, oc as StorageProvider, gs as String, Zh as SupabaseApiProviderAdapter, Zm as SupabaseAuthProvider, oo as SupabaseDataProvider, xo as SupabaseStorageProvider, As as Switch, Td as Tab, Vp as TabDynamic, Cd as TabItem, Sd as TabLayouts, Od as Table, Ms as TextArea, fa as ThemeSwitcher, Ss as Time, aa as Toolbar, tf as UploadCSV, Mc as UploadDocument, Nc as UploadImage, Ds as Url, ws as Week, Z as Wrapper, xt as arrayUnique, Et as arraysEqual, Tt as base64Encode, At as base64ToBlob, jt as base64ToUrl, Gi as buildBreadcrumbSchema, Fl as buildTextCommandContext, wr as buttonBaseClass, Dr as buttonDangerClass, Mr as buttonDarkClass, Ar as buttonInfoClass, jr as buttonLightClass, Lr as buttonLinkClass, Fr as buttonOutlineDangerClass, Nr as buttonOutlinePrimaryClass, Pr as buttonOutlineSecondaryClass, Ir as buttonOutlineSuccessClass, Tr as buttonPrimaryClass, Er as buttonSecondaryClass, Or as buttonSuccessClass, kr as buttonWarningClass, Ia as callFirebaseFunction, ht as checkConditions, Nt as cleanRecord, X as cn, nl as configureProxy, et as converter, it as copyToClipboard, gt as crc32, ag as createAIProviderRegistry, tr as createMotionTransition, wn as createTranslations, rt as decodeJWT, Cn as defineLocaleMessages, lt as dirname, Pg as dropBox, ft as eventClosest, Ht as fetchJson, Vt as fetchRest, Ut as fetchWithRetry, as as fieldAddonClass, ns as fieldControlBaseClass, ts as fieldFeedbackClass, is as fieldGroupClass, es as fieldLabelClass, rs as fieldTextAreaBaseClass, qc as formatAIModelRef, dt as generateUniqueId, ml as getAIModelCatalog, vi as getAccessToken, Ml as getAutoClosedSuffixLength, xu as getCodeValidationResult, jc as getFileUrl, Yr as getGlobalVars, fg as getGoogleTrendsData, pg as getGoogleTrendsRelated, dg as getKeywordIdeas, ai as getProviderConfigurationState, Mt as getRecordValue, yd as getTabLayoutConfig, xd as getTabPaneClassName, bd as getTabTriggerClassName, qm as googleGetAccessToken, jl as hasAutoClosedSuffix, Tn as interpolate, yt as intersectObjects, qn as isBadgeDescriptor, St as isEmpty, Ot as isInteractiveElement, al as isProxyEnabled, Gd as loadGoogleMaps, vt as loadScripts, Gh as locales, Nl as matchCommandTrigger, Jn as normalizeBadgeProps, ct as normalizeKey, ot as normalizePath, i_ as normalizeVisualChars, Jc as parseAIModelRef, o_ as parseCsvText, ti as path, rl as proxyFetch, Co as registerProviderSessionFactory, Zr as removeGlobalVars, kt as render2Base64, mt as replacePlaceholders, bt as replaceVariables, nr as resolveMotionEffect, uu as runPrompt, wt as safeClone, Dt as sanitizeKey, $g as scrape, Jm as sendEmail, Xr as setGlobalVars, ut as sleep, Pt as smartTypeCast, pt as substrCount, tg as toProviderDescriptor, at as trimPath, st as trimSlash, _t as ucfirst, Zc as useAIProvider, Qc as useAIProviderRegistry, hi as useAccessToken, Kh as useApiProvider, kp as useAssetsHead, ei as useAuthProvider, Sm as useCredentialsProvider, Ci as useDataProvider, Op as useDocumentHead, Mg as useDropBoxConnect, $o as useEditorHeight, ym as useEmailProvider, or as useEnterMotion, Tc as useFileUploadCore, Ju as useFormActions, rd as useFormContext, qu as useFormController, Jr as useGlobalVars, Hd as useGoogleMapsConfig, Cp as useHead, Tp as useHeadLinks, Nn as useI18n, Sr as useIconController, xr as useIconProvider, Qs as useImage, Dp as useLanguageHead, zh as useMenu, rr as useMotionEffect, ir as useMotionState, Ep as usePaginationHead, ar as usePressMotion, _a as useProvider, ko as useProviderSession, il as useProxy, Ap as usePwaHead, jp as useSchemaOrgHead, ga as useSetProvider, wp as useSocialHead, sc as useStorageProvider, Y as useTheme, xn as useThemeController, bu as validateCodeSyntax };
|
|
19279
19276
|
|
|
19280
19277
|
//# sourceMappingURL=index.mjs.map
|