@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.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 = Vh(e), b = Y("menu"), x = ({ item: e, index: i }) => {
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 p-1 text-popover-foreground shadow-md outline-none",
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 = Vh(e ?? ""), g = n ?? (e ? kf(p) : []), [_, v] = h(r), [y, b] = h(!1), [S, C] = h(/* @__PURE__ */ new Set()), w = m(null), T = !_ || y;
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, " / ", oe.length)) : null, he = m ?? {}, ge = he.table ?? {}, _e = he.gallery ?? {}, [ve, ye] = h(f);
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: xh,
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 : []).filter((e) => Sh(e)).map((e) => e.id).filter((e) => typeof e == "string" && e.length > 0);
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
- }, wh = lh({
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
- }), Th = {
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
- }, Eh = {
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
- }, Dh = { dropboxAuth: {
17121
+ }, Th = { dropboxAuth: {
17125
17122
  service: "auth",
17126
17123
  create: (e) => new Km(e)
17127
- } }, Oh = {
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
- }, kh = { mock: {
17137
+ }, Dh = { mock: {
17141
17138
  service: "data",
17142
17139
  create: (e) => new mo(e?.data)
17143
- } }, Ah = (e, t) => ({
17140
+ } }, Oh = (e, t) => ({
17144
17141
  service: "ai",
17145
17142
  create: (n) => new hl(e, n?.[t] || ""),
17146
17143
  when: (e) => !!e?.[t]
17147
- }), jh = {
17148
- firebase: Th,
17149
- google: Eh,
17150
- dropbox: Dh,
17151
- supabase: Oh,
17152
- mock: kh,
17144
+ }), kh = {
17145
+ firebase: Ch,
17146
+ google: wh,
17147
+ dropbox: Th,
17148
+ supabase: Eh,
17149
+ mock: Dh,
17153
17150
  ai: {
17154
- openai: Ah(vh, "openaiApiKey"),
17155
- openrouter: Ah(wh, "openRouterApiKey"),
17156
- opencode: Ah(Ch, "openCodeApiKey"),
17157
- deepseek: Ah(uh, "deepSeekApiKey"),
17158
- gemini: Ah(gh, "geminiApiKey"),
17159
- anthropic: Ah(rh, "anthropicApiKey"),
17160
- mistral: Ah(_h, "mistralApiKey")
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
- }, Mh = () => /* @__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" }));
17163
- function Nh(e, t) {
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 Ph(e, t, n = "default") {
17169
+ function Mh(e, t, n = "default") {
17173
17170
  return t && e[t] ? t : Object.keys(e)[0] ?? n;
17174
17171
  }
17175
- function Fh(e = {}) {
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(jh)) {
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 ?? {})) Nh(n(t), r);
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: Ph(n, r[e])
17190
+ defaultKey: Mh(n, r[e])
17194
17191
  };
17195
17192
  return i;
17196
17193
  }
17197
- var Ih = {}, Lh = (e) => {
17198
- Ih = e;
17199
- }, Rh = (e) => Ih[e] || [];
17200
- function zh({ 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 }) {
17201
- let [p, g] = h(() => Fh(n)), v = m(p);
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 Bh({ importPage: e, LayoutDefault: n = void 0, menuConfig: r = {}, children: a, ...o }) {
17243
- Lh(r);
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(Mh, null) }, /* @__PURE__ */ t.createElement(d, null))))
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(zh, o, a, /* @__PURE__ */ t.createElement(b, null, /* @__PURE__ */ t.createElement(y, {
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
- ...Ih,
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 Vh = (e) => {
17278
- let t = Rh(e), n = x(), r = (e) => e.map((e) => {
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
- }, Hh = {
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
- }, Uh = {
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
- }, Wh = {
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
- }, Gh = {
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
- }, Kh = {
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
- }, qh = /* @__PURE__ */ Je({
18123
- ar: () => Kh,
18124
- de: () => Uh,
18119
+ }, Gh = /* @__PURE__ */ Je({
18120
+ ar: () => Wh,
18121
+ de: () => Vh,
18125
18122
  en: () => Sn,
18126
- it: () => Hh,
18127
- ru: () => Wh,
18128
- zh: () => Gh
18129
- }), Jh = (e) => _a("api", e);
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 Yh(e) {
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 Xh = class {
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 Yh(await rl(n.toString(), {
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
- }, Zh = class {
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
- }, Qh = class {
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
- }, $h = class {
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
- }, eg = [
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
- ], tg = [
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
- ], ng = [
18531
+ ], eg = [
18535
18532
  vh,
18536
- wh,
18537
- Ch,
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
- ], rg = (e) => ({
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
- }), ig = ng.map(rg), ag = {
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
- }, og = (e) => {
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
- }, sg = (e) => e ? [...ng, ...og(e)].reduce((t, n) => {
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
- }, {}) : {}, cg = void 0;
18598
+ }, {}) : {}, og = void 0;
18602
18599
  typeof Sa == "function" && Sa((e) => {
18603
- cg = e.google;
18600
+ og = e.google;
18604
18601
  });
18605
- var lg = {
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
- }, ug = {
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 dg(e) {
18619
- return lg[e.toLowerCase()] || "geoTargetConstants/2380";
18615
+ function lg(e) {
18616
+ return sg[e.toLowerCase()] || "geoTargetConstants/2380";
18620
18617
  }
18621
- function fg(e) {
18622
- return ug[e.toLowerCase()] || "languageConstants/1000";
18618
+ function ug(e) {
18619
+ return cg[e.toLowerCase()] || "languageConstants/1000";
18623
18620
  }
18624
- async function pg({ keyword: e, googleAdsAccountId: t, geoCode: n = "ita", languageCode: r = "it" }) {
18625
- if (!cg?.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"), [];
18626
- let i = await qm(["https://www.googleapis.com/auth/adwords"]), a = dg(n), o = fg(r), s = `https://googleads.googleapis.com/v13/customers/${t}:generateKeywordIdeas`, c = {
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": cg.developerToken,
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 mg(e, t = "IT", n = "today 12-m") {
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 hg(e, t = "IT", n = "today 12-m") {
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 gg = 5e3, _g = "https://www.dropbox.com/home", vg = void 0;
18695
+ var mg = 5e3, hg = "https://www.dropbox.com/home", gg = void 0;
18699
18696
  typeof Sa == "function" && Sa((e) => {
18700
- vg = e.dropbox;
18697
+ gg = e.dropbox;
18701
18698
  });
18702
- var yg = async (e, t, n = {}) => {
18703
- if (!vg) return console.error("DropBox: Config not found"), null;
18704
- let r = await vi(vg.clientId);
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
- }, bg = async (e, t, n = {}) => {
18718
- if (!vg) {
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(vg.clientId);
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
- }, xg = (e, t = !1) => {
18748
- let n = vg?.rootPath || "";
18749
- return (t ? _g : "") + (e.startsWith(n) ? e : n + e);
18750
- }, Sg = async (e, t = "", n = !1) => {
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 Ig.listFolders({
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
- }, Cg = async (e, t) => {
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 bg(`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);
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
- }, wg = async (e, t = "") => {
18764
- let n = "files/create_folder_batch", r = await bg(`https://api.dropboxapi.com/2/${n}`, {
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) => xg(t + e))
18764
+ paths: e.map((e) => yg(t + e))
18768
18765
  });
18769
- return r ? Cg(r, n) : void 0;
18770
- }, Tg = async (e, t = "") => {
18771
- let n = "files/create_folder_batch", r = await bg(`https://api.dropboxapi.com/2/${n}`, { entries: e.map((e) => ({ path: xg(t + e) })) });
18772
- return r ? Cg(r, n) : void 0;
18773
- }, Eg = async (e, t) => bg("https://api.dropboxapi.com/2/files/tags/add", {
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
- }), Dg = async (e, t = "") => {
18777
- for (let n in e) for (let r of e[n]) await Eg(xg(t + n), r);
18778
- }, Og = async ({ path: e = "", recursive: t = !1 } = {}) => {
18779
- let n = [], r = async ({ path: e, cursor: t, recursive: n }) => e ? await bg("https://api.dropboxapi.com/2/files/list_folder", {
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: xg(e),
18782
+ path: yg(e),
18786
18783
  recursive: n
18787
- }) : await bg("https://api.dropboxapi.com/2/files/list_folder/continue", { cursor: t }), i = {
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
- }, kg = async (e) => {
18801
- let t = async (e) => await bg("https://api.dropboxapi.com/2/files/copy_batch_v2", {
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 bg("https://api.dropboxapi.com/2/files/copy_batch/check_v2", { async_job_id: e }), r = [], i = [];
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: xg(e.from),
18808
- to_path: xg(e.to)
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(gg), s = await n(o.async_job_id ?? "");
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
- }, Ag = async (e) => {
18820
- let t = async (e) => await bg("https://api.dropboxapi.com/2/files/move_v2", {
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: xg(n.from),
18826
- to_path: xg(n.to)
18822
+ from_path: yg(n.from),
18823
+ to_path: yg(n.to)
18827
18824
  });
18828
- }, jg = async ({ thumbnailsRequest: e = [], size: t = "w64h64", format: n = "jpeg", mode: r = "strict" }, i) => {
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: xg(e.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(bg("https://content.dropboxapi.com/2/files/get_thumbnail_batch", { entries: l }).then((e) => {
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
- }, Mg = (e, t = "application/octet-stream", n = 512) => {
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
- }, Ng = async (e, t) => {
18862
+ }, jg = async (e, t) => {
18866
18863
  try {
18867
18864
  let n = t.split(",")[1];
18868
- yg("https://content.dropboxapi.com/2/files/upload", Mg(n, "application/octet-stream"), { "Dropbox-API-Arg": JSON.stringify({
18869
- path: xg(e),
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
- }, Pg = (e = !1) => vg ? hi(vg.clientId, e) : !1, Fg = (e = {}) => {
18880
- if (!vg) return /* @__PURE__ */ t.createElement("div", {
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 = Pg(!0);
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
- }, Ig = {
18893
+ }, Pg = {
18897
18894
  setRootPath: (e) => {
18898
- vg && (vg.rootPath = e);
18895
+ gg && (gg.rootPath = e);
18899
18896
  },
18900
- resolvePath: xg,
18901
- createFolders: wg,
18902
- deleteBulk: Tg,
18903
- addTags: Dg,
18904
- listFolders: Og,
18905
- getThumbnails: jg,
18906
- search: Sg,
18907
- upload: Ng,
18908
- copy: kg,
18909
- move: Ag
18910
- }, Lg = "https://api.serpapi.com/search", Rg = "google", zg = "google_images", Bg = "google_autocomplete", Vg = "google_trends", Hg = "google_maps", Ug = "google_maps_photos", Wg = "google_maps_reviews", Gg = {
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
- }, Kg = { q: null }, qg = {
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 Jg(e) {
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
- [Rg]: {
18941
- ...Gg,
18937
+ [Ig]: {
18938
+ ...Ug,
18942
18939
  ...i,
18943
18940
  ...o,
18944
- ...qg,
18945
- ...Kg,
18946
- engine: Rg,
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
- [zg]: {
18956
- ...Gg,
18952
+ [Lg]: {
18953
+ ...Ug,
18957
18954
  ...i,
18958
18955
  ...o,
18959
- ...qg,
18960
- ...Kg,
18961
- engine: zg,
18956
+ ...Gg,
18957
+ ...Wg,
18958
+ engine: Lg,
18962
18959
  chips: null,
18963
18960
  ijn: null
18964
18961
  },
18965
- [Bg]: {
18966
- ...Gg,
18962
+ [Rg]: {
18963
+ ...Ug,
18967
18964
  ...o,
18968
- ...Kg,
18969
- engine: Bg,
18965
+ ...Wg,
18966
+ engine: Rg,
18970
18967
  cp: null,
18971
18968
  client: null
18972
18969
  },
18973
- [Vg]: {
18974
- ...Gg,
18970
+ [zg]: {
18971
+ ...Ug,
18975
18972
  ...a,
18976
- ...Kg,
18977
- engine: Vg,
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
- [Hg]: {
18986
- ...Gg,
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: Ug
18993
+ engine: Vg
18997
18994
  },
18998
- [Wg]: {
18999
- ...Gg,
18995
+ [Hg]: {
18996
+ ...Ug,
19000
18997
  ...s,
19001
- engine: Wg
18998
+ engine: Hg
19002
18999
  }
19003
19000
  }[e] ?? {};
19004
19001
  }
19005
- var Yg = void 0;
19002
+ var qg = void 0;
19006
19003
  typeof Sa == "function" && Sa((e) => {
19007
- Yg = e.scrape;
19004
+ qg = e.scrape;
19008
19005
  });
19009
- function Xg(e) {
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 Zg = 0;
19015
- function Qg(e = !1) {
19016
- let t = Yg?.serpApiKey?.split(",").map((e) => e.trim()).filter(Boolean) || [];
19017
- return t.length === 0 ? null : (e && Zg++, Zg < t.length ? t[Zg] : null);
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 $g = async (e, t) => {
19016
+ var Zg = async (e, t) => {
19020
19017
  let n = (n) => {
19021
- let r = Xg({
19022
- ...Jg(t),
19018
+ let r = Jg({
19019
+ ...Kg(t),
19023
19020
  api_key: n,
19024
19021
  q: e
19025
19022
  });
19026
- return console.log(Lg, r), `${Lg}?${new URLSearchParams(r)}`;
19027
- }, r = Qg();
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 = Qg(!0);
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
- }, e_ = async (e, t, n) => {
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 $g(e, t);
19038
+ let a = await Zg(e, t);
19042
19039
  return a ? n.set(r, a) : console.warn(`SerpApi ${t}: No Result`), a ?? {};
19043
- }, t_ = (e) => ({
19044
- googleSearch: async (t) => e_(t, Rg, e),
19045
- googleImages: async (t) => e_(t, zg, e),
19046
- googleAutocomplete: async (t) => e_(t, Bg, e),
19047
- googleTrends: async (t) => e_(t, Vg, e),
19048
- googleMaps: async (t) => e_(t, Hg, e),
19049
- googleMapsPhotos: async (t) => e_(t, Ug, e),
19050
- googleMapsReviews: async (t) => e_(t, Wg, e)
19051
- }), n_ = {
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
- }, r_ = {
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
- }, i_ = [
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
- ], a_ = new RegExp(Object.keys(n_).join("|"), "g");
19190
- function o_(e) {
19191
- return e ? e.normalize("NFKC").replace(a_, (e) => n_[e] ?? e) : "";
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 s_ = class {
19190
+ var a_ = class {
19194
19191
  config;
19195
19192
  matches;
19196
19193
  constructor(e = {}, t = []) {
19197
19194
  this.config = {
19198
- ...r_,
19195
+ ...t_,
19199
19196
  ...e
19200
- }, this.matches = [...i_, ...t];
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 = o_(String(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 c_(e, t) {
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, ng as AI_PROVIDER_DEFINITIONS, ig as AI_PROVIDER_DESCRIPTORS, Br as ActionButton, ef as AddressAutocomplete, Po as Alert, Bh as App, zh 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, Xh as DirectApiProviderAdapter, Fg as DropBoxConnectButton, Km as DropboxAuthProvider, Ii as Dropdown, Ri as DropdownButton, Vi as DropdownDivider, Bi as DropdownHeader, zi as DropdownItem, Hi as DropdownMenu, eg as EMAIL_PROVIDER_DEFINITIONS, vs as Email, vm as EmailProvider, ps as FieldError, wc as FileNameEditor, Qh 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, Zh as MockApiProviderAdapter, mo as MockDataProvider, Ai as Modal, Ni as ModalOk, Mi as ModalYesNo, Ts as Month, n_ as NORMALIZE_MAP, ea as Notifications, _s as Number, ag as OPENAI_COMPATIBLE_PROVIDER_DESCRIPTOR, Ls as Order, tg 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, s_ as Sanitizer, na as Search, Gs as Select, If as SideNav, oc as StorageProvider, gs as String, $h 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, sg as createAIProviderRegistry, tr as createMotionTransition, wn as createTranslations, rt as decodeJWT, Cn as defineLocaleMessages, lt as dirname, Ig 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, mg as getGoogleTrendsData, hg as getGoogleTrendsRelated, pg 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, qh as locales, Nl as matchCommandTrigger, Jn as normalizeBadgeProps, ct as normalizeKey, ot as normalizePath, o_ as normalizeVisualChars, Jc as parseAIModelRef, c_ 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, t_ as scrape, Jm as sendEmail, Xr as setGlobalVars, ut as sleep, Pt as smartTypeCast, pt as substrCount, rg as toProviderDescriptor, at as trimPath, st as trimSlash, _t as ucfirst, Zc as useAIProvider, Qc as useAIProviderRegistry, hi as useAccessToken, Jh as useApiProvider, kp as useAssetsHead, ei as useAuthProvider, Sm as useCredentialsProvider, Ci as useDataProvider, Op as useDocumentHead, Pg 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, Vh 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 };
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