@llmnative/react 2.0.1 → 2.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.mjs CHANGED
@@ -939,27 +939,27 @@ var an = {
939
939
  },
940
940
  SideNav: {
941
941
  wrapperClassName: "",
942
- shellClassName: "border-r border-border bg-card/80 text-foreground backdrop-blur supports-[backdrop-filter]:bg-card/70",
942
+ shellClassName: "border-r border-sidebar-border bg-sidebar text-sidebar-foreground",
943
943
  overlayClassName: "shadow-xl",
944
- headerClassName: "border-b border-border/60 px-1.5 py-2",
944
+ headerClassName: "border-b border-sidebar-border px-1.5 py-2",
945
945
  navClassName: "px-1.5 py-2",
946
- bottomNavClassName: "border-t border-border/60 px-1.5 py-2",
947
- footerClassName: "border-t border-border/60 px-1.5 py-2",
948
- groupLabelClassName: "text-[10.5px] font-semibold uppercase tracking-widest text-muted-foreground/60 select-none",
949
- groupDividerClassName: "bg-border/50",
946
+ bottomNavClassName: "border-t border-sidebar-border px-1.5 py-2",
947
+ footerClassName: "border-t border-sidebar-border px-1.5 py-2",
948
+ groupLabelClassName: "text-[10.5px] font-semibold uppercase tracking-widest text-sidebar-foreground/60 select-none",
949
+ groupDividerClassName: "bg-sidebar-border",
950
950
  itemClassName: "rounded-lg",
951
- itemActiveClassName: "bg-primary/10 text-primary font-medium shadow-sm",
952
- itemChildActiveClassName: "bg-accent/80 text-foreground font-medium",
953
- itemInactiveClassName: "text-muted-foreground hover:text-foreground hover:bg-accent/70",
951
+ itemActiveClassName: "bg-sidebar-accent text-sidebar-accent-foreground font-medium",
952
+ itemChildActiveClassName: "bg-sidebar-accent/60 text-sidebar-accent-foreground font-medium",
953
+ itemInactiveClassName: "text-sidebar-foreground/80 hover:text-sidebar-accent-foreground hover:bg-sidebar-accent/70",
954
954
  itemIconClassName: "",
955
955
  itemTextClassName: "",
956
956
  itemBadgeClassName: "ml-auto shrink-0 text-[10px] font-semibold leading-none px-1.5 py-[3px] rounded-full bg-primary/15 text-primary",
957
957
  itemCollapsedBadgeClassName: "absolute -top-0.5 -right-1 h-[7px] w-[7px] rounded-full bg-primary ring-1 ring-card",
958
958
  itemToggleClassName: "shrink-0 flex items-center justify-center w-6 h-6 rounded-md transition-colors text-muted-foreground/50 hover:text-foreground hover:bg-accent/70",
959
959
  subItemClassName: "rounded-md",
960
- subItemActiveClassName: "bg-primary/10 text-primary font-medium",
961
- subItemInactiveClassName: "text-muted-foreground hover:text-foreground hover:bg-accent/70",
962
- collapseButtonClassName: "shrink-0 flex items-center justify-center rounded-md w-8 h-8 transition-colors text-muted-foreground hover:text-foreground hover:bg-accent/70"
960
+ subItemActiveClassName: "bg-sidebar-accent text-sidebar-accent-foreground font-medium",
961
+ subItemInactiveClassName: "text-sidebar-foreground/80 hover:text-sidebar-accent-foreground hover:bg-sidebar-accent/70",
962
+ collapseButtonClassName: "shrink-0 flex items-center justify-center rounded-md w-8 h-8 transition-colors text-sidebar-foreground/70 hover:text-sidebar-accent-foreground hover:bg-sidebar-accent/70"
963
963
  },
964
964
  Toolbar: {
965
965
  wrapperClassName: "z-20 w-full",
@@ -2236,7 +2236,18 @@ var an = {
2236
2236
  accentForeground: "0 0% 23.1%",
2237
2237
  border: "0 0% 89.8%",
2238
2238
  input: "0 0% 80.8%",
2239
- ring: "209 100% 36.1%"
2239
+ ring: "209 100% 36.1%",
2240
+ header: "0 0% 97.3%",
2241
+ headerForeground: "0 0% 11.8%",
2242
+ headerBorder: "0 0% 89.8%",
2243
+ sidebar: "0 0% 97.3%",
2244
+ sidebarForeground: "0 0% 23.1%",
2245
+ sidebarBorder: "0 0% 89.8%",
2246
+ sidebarAccent: "230.8 31.7% 92%",
2247
+ sidebarAccentForeground: "0 0% 23.1%",
2248
+ footer: "0 0% 97.3%",
2249
+ footerForeground: "0 0% 23.1%",
2250
+ footerBorder: "0 0% 89.8%"
2240
2251
  },
2241
2252
  dark: {
2242
2253
  ...cn.preset.dark,
@@ -2257,7 +2268,18 @@ var an = {
2257
2268
  accentForeground: "0 0% 80%",
2258
2269
  border: "0 0% 16.9%",
2259
2270
  input: "0 0% 23.5%",
2260
- ring: "206 100% 41.6%"
2271
+ ring: "206 100% 41.6%",
2272
+ header: "0 0% 9.4%",
2273
+ headerForeground: "0 0% 80%",
2274
+ headerBorder: "0 0% 16.9%",
2275
+ sidebar: "0 0% 9.4%",
2276
+ sidebarForeground: "0 0% 80%",
2277
+ sidebarBorder: "0 0% 16.9%",
2278
+ sidebarAccent: "240 5.2% 22.7%",
2279
+ sidebarAccentForeground: "0 0% 80%",
2280
+ footer: "0 0% 9.4%",
2281
+ footerForeground: "0 0% 80%",
2282
+ footerBorder: "0 0% 16.9%"
2261
2283
  }
2262
2284
  }
2263
2285
  }, fn = {
@@ -2284,7 +2306,18 @@ var an = {
2284
2306
  accentForeground: "0 0% 23.1%",
2285
2307
  border: "0 0% 89.8%",
2286
2308
  input: "0 0% 80.8%",
2287
- ring: "209 100% 36.1%"
2309
+ ring: "209 100% 36.1%",
2310
+ header: "0 0% 97.3%",
2311
+ headerForeground: "0 0% 11.8%",
2312
+ headerBorder: "0 0% 89.8%",
2313
+ sidebar: "0 0% 97.3%",
2314
+ sidebarForeground: "0 0% 23.1%",
2315
+ sidebarBorder: "0 0% 89.8%",
2316
+ sidebarAccent: "230.8 31.7% 92%",
2317
+ sidebarAccentForeground: "0 0% 23.1%",
2318
+ footer: "0 0% 97.3%",
2319
+ footerForeground: "0 0% 23.1%",
2320
+ footerBorder: "0 0% 89.8%"
2288
2321
  },
2289
2322
  dark: {
2290
2323
  ...cn.preset.dark,
@@ -2305,7 +2338,18 @@ var an = {
2305
2338
  accentForeground: "0 0% 80%",
2306
2339
  border: "0 0% 16.9%",
2307
2340
  input: "0 0% 23.5%",
2308
- ring: "206 100% 41.6%"
2341
+ ring: "206 100% 41.6%",
2342
+ header: "0 0% 9.4%",
2343
+ headerForeground: "0 0% 80%",
2344
+ headerBorder: "0 0% 16.9%",
2345
+ sidebar: "0 0% 9.4%",
2346
+ sidebarForeground: "0 0% 80%",
2347
+ sidebarBorder: "0 0% 16.9%",
2348
+ sidebarAccent: "240 5.2% 22.7%",
2349
+ sidebarAccentForeground: "0 0% 80%",
2350
+ footer: "0 0% 9.4%",
2351
+ footerForeground: "0 0% 80%",
2352
+ footerBorder: "0 0% 16.9%"
2309
2353
  }
2310
2354
  }
2311
2355
  }, pn = {
@@ -2332,7 +2376,18 @@ var an = {
2332
2376
  accentForeground: "0 0% 38%",
2333
2377
  border: "0 0% 82.7%",
2334
2378
  input: "0 0% 80.8%",
2335
- ring: "204.1 100% 47.3%"
2379
+ ring: "204.1 100% 47.3%",
2380
+ header: "0 0% 86.7%",
2381
+ headerForeground: "0 0% 20%",
2382
+ headerBorder: "0 0% 86.7%",
2383
+ sidebar: "0 0% 95.3%",
2384
+ sidebarForeground: "0 0% 38%",
2385
+ sidebarBorder: "0 0% 95.3%",
2386
+ sidebarAccent: "230.8 31.7% 92%",
2387
+ sidebarAccentForeground: "0 0% 38%",
2388
+ footer: "204.1 100% 40%",
2389
+ footerForeground: "0 0% 100%",
2390
+ footerBorder: "204.1 100% 40%"
2336
2391
  },
2337
2392
  dark: {
2338
2393
  ...cn.preset.dark,
@@ -2353,7 +2408,18 @@ var an = {
2353
2408
  accentForeground: "0 0% 80%",
2354
2409
  border: "0 0% 27.1%",
2355
2410
  input: "0 0% 23.5%",
2356
- ring: "204.1 100% 41.6%"
2411
+ ring: "204.1 100% 41.6%",
2412
+ header: "0 0% 23.5%",
2413
+ headerForeground: "0 0% 80%",
2414
+ headerBorder: "0 0% 23.5%",
2415
+ sidebar: "240 1.3% 14.7%",
2416
+ sidebarForeground: "0 0% 80%",
2417
+ sidebarBorder: "240 1.3% 14.7%",
2418
+ sidebarAccent: "240 5.2% 22.7%",
2419
+ sidebarAccentForeground: "0 0% 80%",
2420
+ footer: "204.1 100% 40%",
2421
+ footerForeground: "0 0% 100%",
2422
+ footerBorder: "204.1 100% 40%"
2357
2423
  }
2358
2424
  }
2359
2425
  }, mn = {
@@ -2380,7 +2446,18 @@ var an = {
2380
2446
  accentForeground: "0 0% 38%",
2381
2447
  border: "0 0% 82.7%",
2382
2448
  input: "0 0% 80.8%",
2383
- ring: "204.1 100% 47.3%"
2449
+ ring: "204.1 100% 47.3%",
2450
+ header: "0 0% 86.7%",
2451
+ headerForeground: "0 0% 20%",
2452
+ headerBorder: "0 0% 86.7%",
2453
+ sidebar: "0 0% 95.3%",
2454
+ sidebarForeground: "0 0% 38%",
2455
+ sidebarBorder: "0 0% 95.3%",
2456
+ sidebarAccent: "230.8 31.7% 92%",
2457
+ sidebarAccentForeground: "0 0% 38%",
2458
+ footer: "204.1 100% 40%",
2459
+ footerForeground: "0 0% 100%",
2460
+ footerBorder: "204.1 100% 40%"
2384
2461
  },
2385
2462
  dark: {
2386
2463
  ...cn.preset.dark,
@@ -2401,7 +2478,18 @@ var an = {
2401
2478
  accentForeground: "0 0% 80%",
2402
2479
  border: "0 0% 27.1%",
2403
2480
  input: "0 0% 23.5%",
2404
- ring: "204.1 100% 41.6%"
2481
+ ring: "204.1 100% 41.6%",
2482
+ header: "0 0% 23.5%",
2483
+ headerForeground: "0 0% 80%",
2484
+ headerBorder: "0 0% 23.5%",
2485
+ sidebar: "240 1.3% 14.7%",
2486
+ sidebarForeground: "0 0% 80%",
2487
+ sidebarBorder: "240 1.3% 14.7%",
2488
+ sidebarAccent: "240 5.2% 22.7%",
2489
+ sidebarAccentForeground: "0 0% 80%",
2490
+ footer: "204.1 100% 40%",
2491
+ footerForeground: "0 0% 100%",
2492
+ footerBorder: "204.1 100% 40%"
2405
2493
  }
2406
2494
  }
2407
2495
  }, hn = {
@@ -2428,7 +2516,18 @@ var an = {
2428
2516
  accentForeground: "224.3 17.6% 25.7%",
2429
2517
  border: "230 5.1% 76.9%",
2430
2518
  input: "230 5.1% 76.9%",
2431
- ring: "226.7 10.1% 82.5%"
2519
+ ring: "226.7 10.1% 82.5%",
2520
+ header: "226.7 12.3% 85.7%",
2521
+ headerForeground: "224.3 17.6% 25.7%",
2522
+ headerBorder: "230 5.1% 76.9%",
2523
+ sidebar: "226.7 12.3% 85.7%",
2524
+ sidebarForeground: "224.3 17.6% 25.7%",
2525
+ sidebarBorder: "230 5.1% 76.9%",
2526
+ sidebarAccent: "231.4 16.3% 91.6%",
2527
+ sidebarAccentForeground: "224.3 17.6% 25.7%",
2528
+ footer: "226.7 12.3% 85.7%",
2529
+ footerForeground: "224.3 17.6% 25.7%",
2530
+ footerBorder: "230 5.1% 76.9%"
2432
2531
  },
2433
2532
  dark: {
2434
2533
  ...cn.preset.dark,
@@ -2449,7 +2548,18 @@ var an = {
2449
2548
  accentForeground: "229.3 35.4% 75.1%",
2450
2549
  border: "240 11.1% 7.1%",
2451
2550
  input: "240 14.3% 6.9%",
2452
- ring: "233.3 19.1% 18.4%"
2551
+ ring: "233.3 19.1% 18.4%",
2552
+ header: "240 15.4% 10.2%",
2553
+ headerForeground: "232.7 13.9% 53.5%",
2554
+ headerBorder: "240 11.1% 7.1%",
2555
+ sidebar: "240 15.4% 10.2%",
2556
+ sidebarForeground: "232.7 13.9% 53.5%",
2557
+ sidebarBorder: "240 11.1% 7.1%",
2558
+ sidebarAccent: "235.4 18.8% 13.5%",
2559
+ sidebarAccentForeground: "229.3 35.4% 75.1%",
2560
+ footer: "240 15.4% 10.2%",
2561
+ footerForeground: "232.7 13.9% 53.5%",
2562
+ footerBorder: "240 11.1% 7.1%"
2453
2563
  }
2454
2564
  }
2455
2565
  }, gn = {
@@ -2476,7 +2586,18 @@ var an = {
2476
2586
  accentForeground: "224.3 17.6% 25.7%",
2477
2587
  border: "230 5.1% 76.9%",
2478
2588
  input: "230 5.1% 76.9%",
2479
- ring: "226.7 10.1% 82.5%"
2589
+ ring: "226.7 10.1% 82.5%",
2590
+ header: "226.7 12.3% 85.7%",
2591
+ headerForeground: "224.3 17.6% 25.7%",
2592
+ headerBorder: "230 5.1% 76.9%",
2593
+ sidebar: "226.7 12.3% 85.7%",
2594
+ sidebarForeground: "224.3 17.6% 25.7%",
2595
+ sidebarBorder: "230 5.1% 76.9%",
2596
+ sidebarAccent: "231.4 16.3% 91.6%",
2597
+ sidebarAccentForeground: "224.3 17.6% 25.7%",
2598
+ footer: "226.7 12.3% 85.7%",
2599
+ footerForeground: "224.3 17.6% 25.7%",
2600
+ footerBorder: "230 5.1% 76.9%"
2480
2601
  },
2481
2602
  dark: {
2482
2603
  ...cn.preset.dark,
@@ -2497,7 +2618,18 @@ var an = {
2497
2618
  accentForeground: "229.3 35.4% 75.1%",
2498
2619
  border: "240 11.1% 7.1%",
2499
2620
  input: "240 14.3% 6.9%",
2500
- ring: "233.3 19.1% 18.4%"
2621
+ ring: "233.3 19.1% 18.4%",
2622
+ header: "240 15.4% 10.2%",
2623
+ headerForeground: "232.7 13.9% 53.5%",
2624
+ headerBorder: "240 11.1% 7.1%",
2625
+ sidebar: "240 15.4% 10.2%",
2626
+ sidebarForeground: "232.7 13.9% 53.5%",
2627
+ sidebarBorder: "240 11.1% 7.1%",
2628
+ sidebarAccent: "235.4 18.8% 13.5%",
2629
+ sidebarAccentForeground: "229.3 35.4% 75.1%",
2630
+ footer: "240 15.4% 10.2%",
2631
+ footerForeground: "232.7 13.9% 53.5%",
2632
+ footerBorder: "240 11.1% 7.1%"
2501
2633
  }
2502
2634
  }
2503
2635
  }, _n = [
@@ -4298,7 +4430,7 @@ var Hi = "rounded-lg border border-border bg-card text-card-foreground shadow-sm
4298
4430
  }))
4299
4431
  }, e);
4300
4432
  }, sa = ({ menuKey: e, as: t = "ul", badges: n = {}, before: r = void 0, after: i = void 0, wrapperClassName: a = void 0, className: o = void 0, headerClassName: s = void 0, itemClassName: c = void 0, linkClassName: l = void 0, iconClassName: u = void 0, textClassName: d = void 0, badgeClassName: p = void 0, arrowClassName: m = void 0, submenuClassName: h = void 0 }) => {
4301
- let g = Yv(e), _ = J("menu"), v = ({ item: e, index: r }) => {
4433
+ let g = Zv(e), _ = J("menu"), v = ({ item: e, index: r }) => {
4302
4434
  let [i, a] = E(e.active);
4303
4435
  b(() => {
4304
4436
  a(e.active);
@@ -16294,7 +16426,7 @@ function Mm({ group: e, expanded: t, openItems: n, showIcons: r, onToggle: i })
16294
16426
  }))));
16295
16427
  }
16296
16428
  function Nm({ menuKey: e, items: t, bottomItems: n = [], defaultCollapsed: r = !1, collapsed: i, onCollapsedChange: a, showIcons: o = !0, showCollapseButton: s = !0, footer: c, header: l, embedded: u = !1 }) {
16297
- let { pathname: d } = M(), p = J("sideNav"), m = Y("sideNav"), h = Yv(e ?? ""), g = t ?? (e ? Em(h) : []), _ = i !== void 0, [y, x] = E(r), S = i === void 0 ? y : i, C = v((e) => {
16429
+ let { pathname: d } = M(), p = J("sideNav"), m = Y("sideNav"), h = Zv(e ?? ""), g = t ?? (e ? Em(h) : []), _ = i !== void 0, [y, x] = E(r), S = i === void 0 ? y : i, C = v((e) => {
16298
16430
  let t = typeof e == "function" ? e(S) : e;
16299
16431
  _ ? a?.(t) : x(t);
16300
16432
  }, [
@@ -20775,8 +20907,14 @@ function Jv({ importPage: e, LayoutDefault: t = void 0, menuConfig: n = {}, chil
20775
20907
  element: /* @__PURE__ */ f.createElement(Fg, null)
20776
20908
  })));
20777
20909
  }
20778
- var Yv = (e) => {
20779
- let t = Kv(e), n = M(), r = (e) => e.map((e) => {
20910
+ function Yv(e) {
20911
+ return e.hidden ? !1 : e.children?.some(Yv) ? !0 : !!e.title?.trim() && !/(^|\/):|\*/.test(e.path);
20912
+ }
20913
+ var Xv = (e) => e.filter(Yv).map((e) => e.children ? {
20914
+ ...e,
20915
+ children: Xv(e.children)
20916
+ } : e), Zv = (e) => {
20917
+ let t = Xv(Kv(e)), n = M(), r = (e) => e.map((e) => {
20780
20918
  let t = n.pathname === e.path, i = e.children ? r(e.children) : [], a = t || i.some((e) => e.active);
20781
20919
  return {
20782
20920
  ...e,
@@ -20785,7 +20923,7 @@ var Yv = (e) => {
20785
20923
  };
20786
20924
  });
20787
20925
  return w(() => r(t), [n.pathname]);
20788
- }, Xv = {
20926
+ }, Qv = {
20789
20927
  common: {
20790
20928
  save: "Salva",
20791
20929
  cancel: "Annulla",
@@ -21143,7 +21281,7 @@ var Yv = (e) => {
21143
21281
  dataTable: "Dati del grafico",
21144
21282
  sequence: "Sequenza"
21145
21283
  }
21146
- }, Zv = {
21284
+ }, $v = {
21147
21285
  common: {
21148
21286
  save: "Speichern",
21149
21287
  cancel: "Abbrechen",
@@ -21501,7 +21639,7 @@ var Yv = (e) => {
21501
21639
  dataTable: "Diagrammdaten",
21502
21640
  sequence: "Abfolge"
21503
21641
  }
21504
- }, Qv = {
21642
+ }, ey = {
21505
21643
  common: {
21506
21644
  save: "Сохранить",
21507
21645
  cancel: "Отменить",
@@ -21859,7 +21997,7 @@ var Yv = (e) => {
21859
21997
  dataTable: "Данные диаграммы",
21860
21998
  sequence: "Последовательность"
21861
21999
  }
21862
- }, $v = {
22000
+ }, ty = {
21863
22001
  common: {
21864
22002
  save: "保存",
21865
22003
  cancel: "取消",
@@ -22217,7 +22355,7 @@ var Yv = (e) => {
22217
22355
  dataTable: "图表数据",
22218
22356
  sequence: "顺序"
22219
22357
  }
22220
- }, ey = {
22358
+ }, ny = {
22221
22359
  common: {
22222
22360
  save: "حفظ",
22223
22361
  cancel: "إلغاء",
@@ -22575,22 +22713,22 @@ var Yv = (e) => {
22575
22713
  dataTable: "بيانات المخطط",
22576
22714
  sequence: "التسلسل"
22577
22715
  }
22578
- }, ty = /* @__PURE__ */ ot({
22579
- ar: () => ey,
22580
- de: () => Zv,
22716
+ }, ry = /* @__PURE__ */ ot({
22717
+ ar: () => ny,
22718
+ de: () => $v,
22581
22719
  en: () => Rn,
22582
- it: () => Xv,
22583
- ru: () => Qv,
22584
- zh: () => $v
22585
- }), ny = (e) => Ga("api", e);
22720
+ it: () => Qv,
22721
+ ru: () => ey,
22722
+ zh: () => ty
22723
+ }), iy = (e) => Ga("api", e);
22586
22724
  //#endregion
22587
22725
  //#region src/providers/api/direct.ts
22588
- async function ry(e) {
22726
+ async function ay(e) {
22589
22727
  if (!e.ok) throw Error(`ApiProvider request failed: ${e.status} ${e.statusText}`);
22590
22728
  let t = await e.text();
22591
22729
  return t ? JSON.parse(t) : void 0;
22592
22730
  }
22593
- var iy = class {
22731
+ var oy = class {
22594
22732
  config;
22595
22733
  constructor(e) {
22596
22734
  this.config = e;
@@ -22605,7 +22743,7 @@ var iy = class {
22605
22743
  ...e.body,
22606
22744
  ...this.config.body
22607
22745
  };
22608
- return ry(await Iu(n.toString(), {
22746
+ return ay(await Iu(n.toString(), {
22609
22747
  method: t,
22610
22748
  headers: {
22611
22749
  "Content-Type": "application/json",
@@ -22614,7 +22752,7 @@ var iy = class {
22614
22752
  body: t === "GET" || t === "HEAD" ? void 0 : JSON.stringify(r)
22615
22753
  }));
22616
22754
  }
22617
- }, ay = class {
22755
+ }, sy = class {
22618
22756
  resolver;
22619
22757
  constructor(e) {
22620
22758
  this.resolver = e;
@@ -22622,7 +22760,7 @@ var iy = class {
22622
22760
  async fetch(e) {
22623
22761
  return this.resolver(e);
22624
22762
  }
22625
- }, oy = class {
22763
+ }, cy = class {
22626
22764
  config;
22627
22765
  constructor(e) {
22628
22766
  this.config = e;
@@ -22633,7 +22771,7 @@ var iy = class {
22633
22771
  request: e
22634
22772
  }, void 0, this.config.region);
22635
22773
  }
22636
- }, sy = class {
22774
+ }, ly = class {
22637
22775
  config;
22638
22776
  constructor(e) {
22639
22777
  this.config = e;
@@ -22646,7 +22784,7 @@ var iy = class {
22646
22784
  if (n) throw n;
22647
22785
  return t;
22648
22786
  }
22649
- }, cy = [
22787
+ }, uy = [
22650
22788
  {
22651
22789
  id: "resend",
22652
22790
  label: "Resend",
@@ -22757,7 +22895,7 @@ var iy = class {
22757
22895
  ],
22758
22896
  credentialsHint: "Ask your mail host or hosting provider for the SMTP host, port, and credentials."
22759
22897
  }
22760
- ], ly = [
22898
+ ], dy = [
22761
22899
  {
22762
22900
  id: "cloudflare_pages",
22763
22901
  label: "Cloudflare Pages",
@@ -22987,7 +23125,7 @@ var iy = class {
22987
23125
  description: "No vendor — packages the build as a downloadable archive for self-hosting anywhere else.",
22988
23126
  credentialFields: []
22989
23127
  }
22990
- ], uy = [
23128
+ ], fy = [
22991
23129
  pv,
22992
23130
  jv,
22993
23131
  xv,
@@ -23014,7 +23152,7 @@ var iy = class {
23014
23152
  credentialsHint: "Zhipu BigModel → User Center → API Keys → Create Key."
23015
23153
  }),
23016
23154
  fv
23017
- ], dy = (e) => ({
23155
+ ], py = (e) => ({
23018
23156
  id: e.id,
23019
23157
  label: e.label,
23020
23158
  description: e.description ?? "",
@@ -23025,7 +23163,7 @@ var iy = class {
23025
23163
  }],
23026
23164
  credentialsUrl: e.dashboardUrl,
23027
23165
  credentialsHint: e.credentialsHint
23028
- }), fy = [...uy.map(dy), nv], py = {
23166
+ }), my = [...fy.map(py), nv], hy = {
23029
23167
  id: "openai-compatible",
23030
23168
  label: "OpenAI-compatible",
23031
23169
  description: "Any OpenAI-compatible endpoint (self-hosted or third-party).",
@@ -23039,7 +23177,7 @@ var iy = class {
23039
23177
  type: "text",
23040
23178
  placeholder: "https://api.example.com/v1"
23041
23179
  }]
23042
- }, my = (e) => {
23180
+ }, gy = (e) => {
23043
23181
  let t = [], n = e?.cloudflare?.accountId?.trim();
23044
23182
  n && t.push(tv({
23045
23183
  accountId: n,
@@ -23059,10 +23197,10 @@ var iy = class {
23059
23197
  modelsUrl: e?.openAICompatible?.modelsUrl?.trim() || void 0,
23060
23198
  chatCompletionsUrl: e?.openAICompatible?.chatCompletionsUrl?.trim() || void 0
23061
23199
  })] : t;
23062
- }, hy = (e) => e ? [...uy, ...my(e)].reduce((t, n) => {
23200
+ }, _y = (e) => e ? [...fy, ...gy(e)].reduce((t, n) => {
23063
23201
  let r = n.id === "openai-compatible" ? e.openAICompatible?.apiKey?.trim() || "" : n.id === "cloudflare" ? e.cloudflare?.apiToken?.trim() || "" : typeof n.configKey == "string" && typeof e[n.configKey] == "string" ? String(e[n.configKey] || "").trim() : "";
23064
23202
  return r && (t[n.id] = new $u(n, r)), t;
23065
- }, {}) : {}, gy = (e, { scope: t }) => hy(e.reduce((e, n) => {
23203
+ }, {}) : {}, vy = (e, { scope: t }) => _y(e.reduce((e, n) => {
23066
23204
  let i = r(t, n.id);
23067
23205
  if (n.id === "openai-compatible") return n.baseUrl ? {
23068
23206
  ...e,
@@ -23080,37 +23218,37 @@ var iy = class {
23080
23218
  accountId: n.accountId
23081
23219
  }
23082
23220
  } : e;
23083
- let a = uy.find((e) => e.id === n.id)?.configKey;
23221
+ let a = fy.find((e) => e.id === n.id)?.configKey;
23084
23222
  return a ? {
23085
23223
  ...e,
23086
23224
  [a]: i
23087
23225
  } : e;
23088
- }, {})), _y = void 0;
23226
+ }, {})), yy = void 0;
23089
23227
  typeof Xa == "function" && Xa((e) => {
23090
- _y = e.google;
23228
+ yy = e.google;
23091
23229
  });
23092
- var vy = {
23230
+ var by = {
23093
23231
  ita: "geoTargetConstants/2380",
23094
23232
  rome: "geoTargetConstants/1033236",
23095
23233
  mil: "geoTargetConstants/1033239",
23096
23234
  nap: "geoTargetConstants/1033245",
23097
23235
  tor: "geoTargetConstants/1033247"
23098
- }, yy = {
23236
+ }, xy = {
23099
23237
  it: "languageConstants/1000",
23100
23238
  en: "languageConstants/1001",
23101
23239
  fr: "languageConstants/1002",
23102
23240
  es: "languageConstants/1003",
23103
23241
  de: "languageConstants/1005"
23104
23242
  };
23105
- function by(e) {
23106
- return vy[e.toLowerCase()] || "geoTargetConstants/2380";
23243
+ function Sy(e) {
23244
+ return by[e.toLowerCase()] || "geoTargetConstants/2380";
23107
23245
  }
23108
- function xy(e) {
23109
- return yy[e.toLowerCase()] || "languageConstants/1000";
23246
+ function Cy(e) {
23247
+ return xy[e.toLowerCase()] || "languageConstants/1000";
23110
23248
  }
23111
- async function Sy({ keyword: e, googleAdsAccountId: t, geoCode: n = "ita", languageCode: r = "it" }) {
23112
- if (!_y?.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"), [];
23113
- let i = await T_(["https://www.googleapis.com/auth/adwords"]), a = by(n), o = xy(r), s = `https://googleads.googleapis.com/v13/customers/${t}:generateKeywordIdeas`, c = {
23249
+ async function wy({ keyword: e, googleAdsAccountId: t, geoCode: n = "ita", languageCode: r = "it" }) {
23250
+ if (!yy?.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"), [];
23251
+ let i = await T_(["https://www.googleapis.com/auth/adwords"]), a = Sy(n), o = Cy(r), s = `https://googleads.googleapis.com/v13/customers/${t}:generateKeywordIdeas`, c = {
23114
23252
  keywordSeed: { keywords: [e] },
23115
23253
  geoTargetConstants: [a],
23116
23254
  language: o
@@ -23118,7 +23256,7 @@ async function Sy({ keyword: e, googleAdsAccountId: t, geoCode: n = "ita", langu
23118
23256
  method: "POST",
23119
23257
  headers: {
23120
23258
  Authorization: `Bearer ${i}`,
23121
- "developer-token": _y.developerToken,
23259
+ "developer-token": yy.developerToken,
23122
23260
  "Content-Type": "application/json"
23123
23261
  },
23124
23262
  body: JSON.stringify(c)
@@ -23136,7 +23274,7 @@ async function Sy({ keyword: e, googleAdsAccountId: t, geoCode: n = "ita", langu
23136
23274
  }
23137
23275
  //#endregion
23138
23276
  //#region src/providers/seo/google/trend.ts
23139
- async function Cy(e, t = "IT", n = "today 12-m") {
23277
+ async function Ty(e, t = "IT", n = "today 12-m") {
23140
23278
  let r = `https://trends.google.com/trends/api/explore?hl=en-US&tz=0&req=${encodeURIComponent(JSON.stringify({
23141
23279
  comparisonItem: [{
23142
23280
  keyword: e,
@@ -23156,7 +23294,7 @@ async function Cy(e, t = "IT", n = "today 12-m") {
23156
23294
  }))
23157
23295
  };
23158
23296
  }
23159
- async function wy(e, t = "IT", n = "today 12-m") {
23297
+ async function Ey(e, t = "IT", n = "today 12-m") {
23160
23298
  let r = `https://trends.google.com/trends/api/explore?hl=en-US&tz=0&req=${encodeURIComponent(JSON.stringify({
23161
23299
  comparisonItem: [{
23162
23300
  keyword: e,
@@ -23182,13 +23320,13 @@ async function wy(e, t = "IT", n = "today 12-m") {
23182
23320
  }
23183
23321
  //#endregion
23184
23322
  //#region src/providers/storage/dropbox.tsx
23185
- var Ty = 5e3, Ey = "https://www.dropbox.com/home", Dy = void 0;
23323
+ var Dy = 5e3, Oy = "https://www.dropbox.com/home", ky = void 0;
23186
23324
  typeof Xa == "function" && Xa((e) => {
23187
- Dy = e.dropbox;
23325
+ ky = e.dropbox;
23188
23326
  });
23189
- var Oy = async (e, t, n = {}) => {
23190
- if (!Dy) return console.error("DropBox: Config not found"), null;
23191
- let r = await Fi(Dy.clientId);
23327
+ var Ay = async (e, t, n = {}) => {
23328
+ if (!ky) return console.error("DropBox: Config not found"), null;
23329
+ let r = await Fi(ky.clientId);
23192
23330
  if (!r) throw Error("DropBox: Access token not found");
23193
23331
  return await fetch(e, {
23194
23332
  method: "POST",
@@ -23201,12 +23339,12 @@ var Oy = async (e, t, n = {}) => {
23201
23339
  }).catch((e) => (console.error("There was a problem with the fetch operation:", e), null)).finally(() => {
23202
23340
  console.log("DropBox: Fetch operation completed");
23203
23341
  });
23204
- }, ky = async (e, t, n = {}) => {
23205
- if (!Dy) {
23342
+ }, jy = async (e, t, n = {}) => {
23343
+ if (!ky) {
23206
23344
  console.error("DropBox: Config not found");
23207
23345
  return;
23208
23346
  }
23209
- let r = await Fi(Dy.clientId);
23347
+ let r = await Fi(ky.clientId);
23210
23348
  if (!r) {
23211
23349
  console.error("DropBox: Access token not found");
23212
23350
  return;
@@ -23231,47 +23369,47 @@ var Oy = async (e, t, n = {}) => {
23231
23369
  }).finally(() => {
23232
23370
  console.log("DropBox: Fetch operation completed", e, t);
23233
23371
  });
23234
- }, Ay = (e, t = !1) => {
23235
- let n = Dy?.rootPath || "";
23236
- return (t ? Ey : "") + (e.startsWith(n) ? e : n + e);
23237
- }, jy = async (e, t = "", n = !1) => {
23372
+ }, My = (e, t = !1) => {
23373
+ let n = ky?.rootPath || "";
23374
+ return (t ? Oy : "") + (e.startsWith(n) ? e : n + e);
23375
+ }, Ny = async (e, t = "", n = !1) => {
23238
23376
  let r = {};
23239
- return (await Gy.listFolders({
23377
+ return (await qy.listFolders({
23240
23378
  path: `${e + t}`,
23241
23379
  recursive: !0
23242
23380
  })).forEach((e) => {
23243
23381
  e[".tag"] !== "folder" && (r[n ? vi.changeFilename(e.path_display, { ext: "" }) : e.path_display] = e.name);
23244
23382
  }), r;
23245
- }, My = async (e, t) => {
23383
+ }, Py = async (e, t) => {
23246
23384
  if (!e.async_job_id) return Promise.reject(e);
23247
23385
  let n, r = !0;
23248
- for (; r;) await St(100), n = await ky(`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);
23386
+ for (; r;) await St(100), n = await jy(`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);
23249
23387
  return n?.[".tag"] === "complete" ? Promise.resolve(n.entries) : Promise.reject(n);
23250
- }, Ny = async (e, t = "") => {
23251
- let n = "files/create_folder_batch", r = await ky(`https://api.dropboxapi.com/2/${n}`, {
23388
+ }, Fy = async (e, t = "") => {
23389
+ let n = "files/create_folder_batch", r = await jy(`https://api.dropboxapi.com/2/${n}`, {
23252
23390
  autorename: !1,
23253
23391
  force_async: !0,
23254
- paths: e.map((e) => Ay(t + e))
23392
+ paths: e.map((e) => My(t + e))
23255
23393
  });
23256
- return r ? My(r, n) : void 0;
23257
- }, Py = async (e, t = "") => {
23258
- let n = "files/create_folder_batch", r = await ky(`https://api.dropboxapi.com/2/${n}`, { entries: e.map((e) => ({ path: Ay(t + e) })) });
23259
- return r ? My(r, n) : void 0;
23260
- }, Fy = async (e, t) => ky("https://api.dropboxapi.com/2/files/tags/add", {
23394
+ return r ? Py(r, n) : void 0;
23395
+ }, Iy = async (e, t = "") => {
23396
+ let n = "files/create_folder_batch", r = await jy(`https://api.dropboxapi.com/2/${n}`, { entries: e.map((e) => ({ path: My(t + e) })) });
23397
+ return r ? Py(r, n) : void 0;
23398
+ }, Ly = async (e, t) => jy("https://api.dropboxapi.com/2/files/tags/add", {
23261
23399
  path: e,
23262
23400
  tag_text: t.toLowerCase().replaceAll(/[^a-z0-9]/g, "")
23263
- }), Iy = async (e, t = "") => {
23264
- for (let n in e) for (let r of e[n]) await Fy(Ay(t + n), r);
23265
- }, Ly = async ({ path: e = "", recursive: t = !1 } = {}) => {
23266
- let n = [], r = async ({ path: e, cursor: t, recursive: n }) => e ? await ky("https://api.dropboxapi.com/2/files/list_folder", {
23401
+ }), Ry = async (e, t = "") => {
23402
+ for (let n in e) for (let r of e[n]) await Ly(My(t + n), r);
23403
+ }, zy = async ({ path: e = "", recursive: t = !1 } = {}) => {
23404
+ let n = [], r = async ({ path: e, cursor: t, recursive: n }) => e ? await jy("https://api.dropboxapi.com/2/files/list_folder", {
23267
23405
  include_deleted: !1,
23268
23406
  include_has_explicit_shared_members: !1,
23269
23407
  include_media_info: !1,
23270
23408
  include_mounted_folders: !0,
23271
23409
  include_non_downloadable_files: !0,
23272
- path: Ay(e),
23410
+ path: My(e),
23273
23411
  recursive: n
23274
- }) : await ky("https://api.dropboxapi.com/2/files/list_folder/continue", { cursor: t }), i = {
23412
+ }) : await jy("https://api.dropboxapi.com/2/files/list_folder/continue", { cursor: t }), i = {
23275
23413
  has_more: !0,
23276
23414
  cursor: "",
23277
23415
  entries: []
@@ -23284,44 +23422,44 @@ var Oy = async (e, t, n = {}) => {
23284
23422
  recursive: t
23285
23423
  }), i && n.push(...i.entries);
23286
23424
  return n;
23287
- }, Ry = async (e) => {
23288
- let t = async (e) => await ky("https://api.dropboxapi.com/2/files/copy_batch_v2", {
23425
+ }, By = async (e) => {
23426
+ let t = async (e) => await jy("https://api.dropboxapi.com/2/files/copy_batch_v2", {
23289
23427
  entries: e,
23290
23428
  autorename: !1
23291
- }), n = async (e) => await ky("https://api.dropboxapi.com/2/files/copy_batch/check_v2", { async_job_id: e }), r = [], i = [];
23429
+ }), n = async (e) => await jy("https://api.dropboxapi.com/2/files/copy_batch/check_v2", { async_job_id: e }), r = [], i = [];
23292
23430
  for (let a = 0; a < e.length; a += 900) {
23293
23431
  i = e.slice(a, a + 900).map((e) => ({
23294
- from_path: Ay(e.from),
23295
- to_path: Ay(e.to)
23432
+ from_path: My(e.from),
23433
+ to_path: My(e.to)
23296
23434
  }));
23297
23435
  let o = await t(i);
23298
23436
  if (!o) continue;
23299
23437
  if (o.error) throw Error(`Error starting copy: ${o.error}`);
23300
23438
  let s = o;
23301
- for (; s?.[".tag"] === "async_job_id" || s?.[".tag"] === "in_progress";) await St(Ty), s = await n(o.async_job_id ?? "");
23439
+ for (; s?.[".tag"] === "async_job_id" || s?.[".tag"] === "in_progress";) await St(Dy), s = await n(o.async_job_id ?? "");
23302
23440
  if (s?.[".tag"] === "failed") throw Error(`Copy operation failed: ${s[".tag"]}`);
23303
23441
  s?.[".tag"] === "complete" && s.entries && r.push(...s.entries);
23304
23442
  }
23305
23443
  return r.filter((e) => e[".tag"] === "failure").map((e) => e.failure);
23306
- }, zy = async (e) => {
23307
- let t = async (e) => await ky("https://api.dropboxapi.com/2/files/move_v2", {
23444
+ }, Vy = async (e) => {
23445
+ let t = async (e) => await jy("https://api.dropboxapi.com/2/files/move_v2", {
23308
23446
  ...e,
23309
23447
  autorename: !0
23310
23448
  });
23311
23449
  for (let n of e) await t({
23312
- from_path: Ay(n.from),
23313
- to_path: Ay(n.to)
23450
+ from_path: My(n.from),
23451
+ to_path: My(n.to)
23314
23452
  });
23315
- }, By = async ({ thumbnailsRequest: e = [], size: t = "w64h64", format: n = "jpeg", mode: r = "strict" }, i) => {
23453
+ }, Hy = async ({ thumbnailsRequest: e = [], size: t = "w64h64", format: n = "jpeg", mode: r = "strict" }, i) => {
23316
23454
  let a = {}, o = [];
23317
23455
  for (let s = 0; s < e.length; s += 25) {
23318
23456
  let c = e.slice(s, s + 25), l = c.map((e) => ({
23319
- path: Ay(e.path),
23457
+ path: My(e.path),
23320
23458
  format: n,
23321
23459
  size: t,
23322
23460
  mode: r
23323
23461
  }));
23324
- await St(100), o.push(ky("https://content.dropboxapi.com/2/files/get_thumbnail_batch", { entries: l }).then((e) => {
23462
+ await St(100), o.push(jy("https://content.dropboxapi.com/2/files/get_thumbnail_batch", { entries: l }).then((e) => {
23325
23463
  if (!e) return;
23326
23464
  let n = e.entries.reduce((e, n, r) => {
23327
23465
  let i = c[r].path, [a, o] = t.replace("w", "").split("h").map(Number), s = n;
@@ -23340,7 +23478,7 @@ var Oy = async (e, t, n = {}) => {
23340
23478
  }));
23341
23479
  }
23342
23480
  return Promise.all(o).then(() => a);
23343
- }, Vy = (e, t = "application/octet-stream", n = 512) => {
23481
+ }, Uy = (e, t = "application/octet-stream", n = 512) => {
23344
23482
  let r = atob(e), i = [];
23345
23483
  for (let e = 0; e < r.length; e += n) {
23346
23484
  let t = r.slice(e, e + n), a = Array(t.length);
@@ -23349,11 +23487,11 @@ var Oy = async (e, t, n = {}) => {
23349
23487
  i.push(o);
23350
23488
  }
23351
23489
  return new Blob(i, { type: t });
23352
- }, Hy = async (e, t) => {
23490
+ }, Wy = async (e, t) => {
23353
23491
  try {
23354
23492
  let n = t.split(",")[1];
23355
- Oy("https://content.dropboxapi.com/2/files/upload", Vy(n, "application/octet-stream"), { "Dropbox-API-Arg": JSON.stringify({
23356
- path: Ay(e),
23493
+ Ay("https://content.dropboxapi.com/2/files/upload", Uy(n, "application/octet-stream"), { "Dropbox-API-Arg": JSON.stringify({
23494
+ path: My(e),
23357
23495
  mode: "overwrite",
23358
23496
  autorename: !0,
23359
23497
  mute: !1
@@ -23363,12 +23501,12 @@ var Oy = async (e, t, n = {}) => {
23363
23501
  } catch (e) {
23364
23502
  console.error("Errore durante il caricamento su Dropbox:", e);
23365
23503
  }
23366
- }, Uy = (e = !1) => Dy ? Mi(Dy.clientId, e) : !1, Wy = (e = {}) => {
23367
- if (!Dy) return /* @__PURE__ */ f.createElement("div", {
23504
+ }, Gy = (e = !1) => ky ? Mi(ky.clientId, e) : !1, Ky = (e = {}) => {
23505
+ if (!ky) return /* @__PURE__ */ f.createElement("div", {
23368
23506
  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.",
23369
23507
  className: "text-danger flex items-center gap-2"
23370
23508
  }, /* @__PURE__ */ f.createElement(Q, { name: "warning" }), /* @__PURE__ */ f.createElement("span", null, "Dropbox non configurato"));
23371
- let t = Uy(!0);
23509
+ let t = Gy(!0);
23372
23510
  return /* @__PURE__ */ f.createElement(Li, {
23373
23511
  provider: "dropboxAuth",
23374
23512
  intent: "connect",
@@ -23380,33 +23518,33 @@ var Oy = async (e, t, n = {}) => {
23380
23518
  title: t ? "DropBox Connected" : "DropBox Disconnected"
23381
23519
  }
23382
23520
  });
23383
- }, Gy = {
23521
+ }, qy = {
23384
23522
  setRootPath: (e) => {
23385
- Dy && (Dy.rootPath = e);
23386
- },
23387
- resolvePath: Ay,
23388
- createFolders: Ny,
23389
- deleteBulk: Py,
23390
- addTags: Iy,
23391
- listFolders: Ly,
23392
- getThumbnails: By,
23393
- search: jy,
23394
- upload: Hy,
23395
- copy: Ry,
23396
- move: zy
23397
- }, Ky = "https://api.serpapi.com/search", qy = "google", Jy = "google_images", Yy = "google_autocomplete", Xy = "google_trends", Zy = "google_maps", Qy = "google_maps_photos", $y = "google_maps_reviews", eb = {
23523
+ ky && (ky.rootPath = e);
23524
+ },
23525
+ resolvePath: My,
23526
+ createFolders: Fy,
23527
+ deleteBulk: Iy,
23528
+ addTags: Ry,
23529
+ listFolders: zy,
23530
+ getThumbnails: Hy,
23531
+ search: Ny,
23532
+ upload: Wy,
23533
+ copy: By,
23534
+ move: Vy
23535
+ }, Jy = "https://api.serpapi.com/search", Yy = "google", Xy = "google_images", Zy = "google_autocomplete", Qy = "google_trends", $y = "google_maps", eb = "google_maps_photos", tb = "google_maps_reviews", nb = {
23398
23536
  engine: null,
23399
23537
  device: null,
23400
23538
  no_cache: !1,
23401
23539
  async: !1,
23402
23540
  output: "json"
23403
- }, tb = { q: null }, nb = {
23541
+ }, rb = { q: null }, ib = {
23404
23542
  tbs: null,
23405
23543
  safe: "active",
23406
23544
  nfpr: 0,
23407
23545
  filter: 1
23408
23546
  };
23409
- function rb(e) {
23547
+ function ab(e) {
23410
23548
  let t = fu(), n = fu(!0), r = pu(!0), i = {
23411
23549
  location: t,
23412
23550
  uule: null
@@ -23424,13 +23562,13 @@ function rb(e) {
23424
23562
  hl: r
23425
23563
  };
23426
23564
  return {
23427
- [qy]: {
23428
- ...eb,
23565
+ [Yy]: {
23566
+ ...nb,
23429
23567
  ...i,
23430
23568
  ...o,
23431
- ...nb,
23432
- ...tb,
23433
- engine: qy,
23569
+ ...ib,
23570
+ ...rb,
23571
+ engine: Yy,
23434
23572
  ludocid: null,
23435
23573
  lsig: null,
23436
23574
  kgmid: null,
@@ -23439,29 +23577,29 @@ function rb(e) {
23439
23577
  start: null,
23440
23578
  num: null
23441
23579
  },
23442
- [Jy]: {
23443
- ...eb,
23580
+ [Xy]: {
23581
+ ...nb,
23444
23582
  ...i,
23445
23583
  ...o,
23446
- ...nb,
23447
- ...tb,
23448
- engine: Jy,
23584
+ ...ib,
23585
+ ...rb,
23586
+ engine: Xy,
23449
23587
  chips: null,
23450
23588
  ijn: null
23451
23589
  },
23452
- [Yy]: {
23453
- ...eb,
23590
+ [Zy]: {
23591
+ ...nb,
23454
23592
  ...o,
23455
- ...tb,
23456
- engine: Yy,
23593
+ ...rb,
23594
+ engine: Zy,
23457
23595
  cp: null,
23458
23596
  client: null
23459
23597
  },
23460
- [Xy]: {
23461
- ...eb,
23598
+ [Qy]: {
23599
+ ...nb,
23462
23600
  ...a,
23463
- ...tb,
23464
- engine: Xy,
23601
+ ...rb,
23602
+ engine: Qy,
23465
23603
  data_type: null,
23466
23604
  tz: null,
23467
23605
  cat: null,
@@ -23469,73 +23607,73 @@ function rb(e) {
23469
23607
  date: null,
23470
23608
  csv: null
23471
23609
  },
23472
- [Zy]: {
23473
- ...eb,
23610
+ [$y]: {
23611
+ ...nb,
23474
23612
  ...i,
23475
23613
  ...o,
23476
- ...nb,
23477
- ...tb,
23478
- engine: Zy
23614
+ ...ib,
23615
+ ...rb,
23616
+ engine: $y
23479
23617
  },
23480
- [Qy]: {
23481
- ...eb,
23618
+ [eb]: {
23619
+ ...nb,
23482
23620
  ...s,
23483
- engine: Qy
23621
+ engine: eb
23484
23622
  },
23485
- [$y]: {
23486
- ...eb,
23623
+ [tb]: {
23624
+ ...nb,
23487
23625
  ...s,
23488
- engine: $y
23626
+ engine: tb
23489
23627
  }
23490
23628
  }[e] ?? {};
23491
23629
  }
23492
- var ib = void 0;
23630
+ var ob = void 0;
23493
23631
  typeof Xa == "function" && Xa((e) => {
23494
- ib = e.scrape;
23632
+ ob = e.scrape;
23495
23633
  });
23496
- function ab(e) {
23634
+ function sb(e) {
23497
23635
  let t = {};
23498
23636
  for (let n in e) e[n] !== null && (t[n] = e[n]);
23499
23637
  return t;
23500
23638
  }
23501
- var ob = 0;
23502
- function sb(e = !1) {
23503
- let t = ib?.serpApiKey?.split(",").map((e) => e.trim()).filter(Boolean) || [];
23504
- return t.length === 0 ? null : (e && ob++, ob < t.length ? t[ob] : null);
23639
+ var cb = 0;
23640
+ function lb(e = !1) {
23641
+ let t = ob?.serpApiKey?.split(",").map((e) => e.trim()).filter(Boolean) || [];
23642
+ return t.length === 0 ? null : (e && cb++, cb < t.length ? t[cb] : null);
23505
23643
  }
23506
- var cb = async (e, t) => {
23644
+ var ub = async (e, t) => {
23507
23645
  let n = (n) => {
23508
- let r = ab({
23509
- ...rb(t),
23646
+ let r = sb({
23647
+ ...ab(t),
23510
23648
  api_key: n,
23511
23649
  q: e
23512
23650
  });
23513
- return console.log(Ky, r), `${Ky}?${new URLSearchParams(r)}`;
23514
- }, r = sb();
23651
+ return console.log(Jy, r), `${Jy}?${new URLSearchParams(r)}`;
23652
+ }, r = lb();
23515
23653
  for (; r;) try {
23516
23654
  return await nn(n(r));
23517
23655
  } catch (e) {
23518
23656
  if (e?.error === "quota_exceeded") {
23519
- console.warn(`SerpApi: invalid api key: ${r}`, e), r = sb(!0);
23657
+ console.warn(`SerpApi: invalid api key: ${r}`, e), r = lb(!0);
23520
23658
  continue;
23521
23659
  }
23522
23660
  throw console.error(`SerpApi: ${r}`, e), e;
23523
23661
  }
23524
23662
  return null;
23525
- }, lb = async (e, t, n) => {
23663
+ }, db = async (e, t, n) => {
23526
23664
  let r = `${to}/${bt(t)}/${bt(e)}`, i = await n.read(r);
23527
23665
  if (i) return i;
23528
- let a = await cb(e, t);
23666
+ let a = await ub(e, t);
23529
23667
  return a ? n.set(r, a) : console.warn(`SerpApi ${t}: No Result`), a ?? {};
23530
- }, ub = (e) => ({
23531
- googleSearch: async (t) => lb(t, qy, e),
23532
- googleImages: async (t) => lb(t, Jy, e),
23533
- googleAutocomplete: async (t) => lb(t, Yy, e),
23534
- googleTrends: async (t) => lb(t, Xy, e),
23535
- googleMaps: async (t) => lb(t, Zy, e),
23536
- googleMapsPhotos: async (t) => lb(t, Qy, e),
23537
- googleMapsReviews: async (t) => lb(t, $y, e)
23538
- }), db = {
23668
+ }, fb = (e) => ({
23669
+ googleSearch: async (t) => db(t, Yy, e),
23670
+ googleImages: async (t) => db(t, Xy, e),
23671
+ googleAutocomplete: async (t) => db(t, Zy, e),
23672
+ googleTrends: async (t) => db(t, Qy, e),
23673
+ googleMaps: async (t) => db(t, $y, e),
23674
+ googleMapsPhotos: async (t) => db(t, eb, e),
23675
+ googleMapsReviews: async (t) => db(t, tb, e)
23676
+ }), pb = {
23539
23677
  "+": "+",
23540
23678
  "﹢": "+",
23541
23679
  "-": "-",
@@ -23610,7 +23748,7 @@ var cb = async (e, t) => {
23610
23748
  x: "x",
23611
23749
  y: "y",
23612
23750
  z: "z"
23613
- }, fb = {
23751
+ }, mb = {
23614
23752
  email: {
23615
23753
  description: "Email: no spaces -> Lower/Trim",
23616
23754
  transformations: [{
@@ -23656,7 +23794,7 @@ var cb = async (e, t) => {
23656
23794
  transformations: [],
23657
23795
  mask: ["toSlug"]
23658
23796
  }
23659
- }, pb = [
23797
+ }, hb = [
23660
23798
  {
23661
23799
  pattern: "email*",
23662
23800
  use: "email"
@@ -23673,24 +23811,24 @@ var cb = async (e, t) => {
23673
23811
  pattern: "date*",
23674
23812
  use: "date"
23675
23813
  }
23676
- ], mb = new RegExp(Object.keys(db).join("|"), "g");
23677
- function hb(e) {
23678
- return e ? e.normalize("NFKC").replace(mb, (e) => db[e] ?? e) : "";
23814
+ ], gb = new RegExp(Object.keys(pb).join("|"), "g");
23815
+ function _b(e) {
23816
+ return e ? e.normalize("NFKC").replace(gb, (e) => pb[e] ?? e) : "";
23679
23817
  }
23680
- var gb = class {
23818
+ var vb = class {
23681
23819
  config;
23682
23820
  matches;
23683
23821
  constructor(e = {}, t = []) {
23684
23822
  this.config = {
23685
- ...fb,
23823
+ ...mb,
23686
23824
  ...e
23687
- }, this.matches = [...pb, ...t];
23825
+ }, this.matches = [...hb, ...t];
23688
23826
  }
23689
23827
  apply(e, t, n = !1) {
23690
23828
  let r = this.config[e];
23691
23829
  if (!r) return n ? Jt(t) : t;
23692
23830
  let i = t;
23693
- i = hb(String(i ?? ""));
23831
+ i = _b(String(i ?? ""));
23694
23832
  let a = r.exclusions;
23695
23833
  if (Array.isArray(a) && a.length) {
23696
23834
  let e = String(i).toLowerCase();
@@ -23749,7 +23887,7 @@ var gb = class {
23749
23887
  };
23750
23888
  //#endregion
23751
23889
  //#region src/libs/csv.ts
23752
- function _b(e, t) {
23890
+ function yb(e, t) {
23753
23891
  let n = ze.parse(e, {
23754
23892
  header: !0,
23755
23893
  skipEmptyLines: !0,
@@ -23762,6 +23900,6 @@ function _b(e, t) {
23762
23900
  };
23763
23901
  }
23764
23902
  //#endregion
23765
- export { Du as AIProvider, uy as AI_PROVIDER_DEFINITIONS, fy as AI_PROVIDER_DESCRIPTORS, l as AI_PROVIDER_HOSTS, ri as ActionButton, vm as AddressAutocomplete, cs as Alert, gc as AnimatedNumber, Jv as App, qv as AppProvider, oc as AreaChart, ua as AsyncDropdown, Li as AuthButton, gi as AuthProvider, Sl as Autocomplete, xn as BUILT_IN_THEMES, _n as BUILT_IN_THEME_IDS, ii as BackLink, pr as Badge, fr as BadgeOverlay, uc as BarList, _a as Brand, Ta as Breadcrumbs, nv as CLOUDFLARE_PROVIDER_DESCRIPTOR, od as CONTEXT_MENU_SEARCH_THRESHOLD, mc as CalendarHeatmap, Ki as Card, Ea as Carousel, Ys as ChartDataTable, qs as ChartLegend, hg as ChatActivity, eg as ChatMarkdown, pg as ChatQuestions, ng as ChatReasoning, Id as Chatbot, rl as Checkbox, Cl as Checklist, ks as Code, wf as CodeEditor, af as CodeSyntaxError, lr as Col, Jc as Color, Qs as ColumnChart, Yf as Component, Xf as ComponentBlock, sr as Container, Cd as ContextMenu, ql as CropImage, $m as DEFAULT_DOCUMENT_HEAD, Qm as DEFAULT_HEAD_APP_NAME, eh as DEFAULT_LANGUAGE_HEAD, cl as DEFAULT_ORDER, zi as DataProvider, Yc as Date, Zc as DateTime, ds as DescriptionList, iy as DirectApiProviderAdapter, tc as DivergingBarChart, Wy as DropBoxConnectButton, S_ as DropboxAuthProvider, la as Dropdown, da as DropdownButton, ma as DropdownDivider, pa as DropdownHeader, fa as DropdownItem, ha as DropdownMenu, cy as EMAIL_PROVIDER_DEFINITIONS, Gc as Email, Jg as EmailProvider, Bc as FieldError, eu as FileNameEditor, oy as FirebaseApiProviderAdapter, h_ as FirebaseAuthProvider, d_ as FirebaseDataProvider, Jo as FirebaseStorageProvider, So as FirestoreDataProvider, wp as Form, lp as FormControllerContext, vg as Gallery, w_ as GitHubAuthProvider, D_ as GmailEmailProvider, ai as GoSite, Kg as GoogleAuthProvider, am as GoogleMapsProvider, b_ as GoogleServiceAccountProvider, Ng as Grid, Mg as GridArray, jg as GridCore, Im as GridDB, yg as GridGalleryView, Ym as GridTableView, kh as Head, _h as HeadProvider, fc as Heatmap, nl as Hidden, Jn as I18nProvider, Q as Icon, Lr as IconProvider, Ns as Identicon, ga as Image, yi as ImageAvatar, zl as ImageEditor, Vl as ImageField, Hc as Input, al as Label, rm as LayoutBuilder, ac as LineChart, xm as ListCard, sl as ListGroup, Vi as Loader, ni as LoadingButton, vc as LocaleSwitcher, Er as LucideIconProvider, Lh as MarkdownReader, dc as MeasureBarList, sa as Menu, ay as MockApiProviderAdapter, Ho as MockDataProvider, ra as Modal, oa as ModalOk, aa as ModalYesNo, $c as Month, db as NORMALIZE_MAP, Oa as Notifications, Wc as Number, py as OPENAI_COMPATIBLE_PROVIDER_DESCRIPTOR, dl as Order, ly as PUBLISH_PROVIDER_DEFINITIONS, Pg as PageUsers, _g as Pagination, qc as Password, wc as Percentage, kr as PhosphorIconProvider, Jd as Prompt, Ld as PromptMode, ad as PromptUtils, as as ProviderSwitcher, el as Range, oi as ReferSite, Fp as Repeat, Kf as RichText, cr as Row, t as SERVER_CREDENTIAL_PREFIX, gb as Sanitizer, cc as ScatterChart, Aa as Search, bl as Select, ec as SequenceColumnChart, Nm as SideNav, Cm as SortableList, sc as Sparkline, $s as StackedColumnChart, Il as StorageProvider, Uc as String, sy as SupabaseApiProviderAdapter, k_ as SupabaseAuthProvider, Fo as SupabaseDataProvider, Yo as SupabaseStorageProvider, il as Switch, Up as Tab, gg as TabDynamic, Vp as TabItem, Bp as TabLayouts, Kp as Table, Kc as Tel, ol as TextArea, Ba as ThemeSwitcher, Xc as Time, Na as Toolbar, hs as Tree, ym as UploadCSV, cu as UploadDocument, lu as UploadImage, tl as Url, Qc as Week, Z as Wrapper, Nt as arrayUnique, Rt as arraysEqual, Lt as base64Encode, Ht as base64ToBlob, Ut as base64ToUrl, va as buildBreadcrumbSchema, u as buildModelIdentityIndex, yd as buildTextCommandContext, Vr as buttonBaseClass, Wr as buttonDangerClass, Yr as buttonDarkClass, qr as buttonInfoClass, Jr as buttonLightClass, ei as buttonLinkClass, Qr as buttonOutlineDangerClass, Xr as buttonOutlinePrimaryClass, Zr as buttonOutlineSecondaryClass, $r as buttonOutlineSuccessClass, Hr as buttonPrimaryClass, Ur as buttonSecondaryClass, Gr as buttonSuccessClass, Kr as buttonWarningClass, uo as callFirebaseFunction, o as canonicalModelName, Fs as chartFill, Ps as chartToken, Dt as checkConditions, Gt as cleanRecord, X as cn, Nu as configureProxy, ft as converter, gt as copyToClipboard, Ot as crc32, hy as createAIProviderRegistry, tv as createCloudflareProviderDefinition, vr as createMotionTransition, gy as createServerCredentialAIRegistry, Bn as createTranslations, ht as decodeJWT, zn as defineLocaleMessages, xt as dirname, Gy as dropBox, wt as eventClosest, nn as fetchJson, tn as fetchRest, rn as fetchWithRetry, Mc as fieldAddonClass, kc as fieldControlBaseClass, Oc as fieldFeedbackClass, jc as fieldGroupClass, Dc as fieldLabelClass, Ac as fieldTextAreaBaseClass, wu as formatAIModelRef, Ct as generateUniqueId, Qu as getAIModelCatalog, Fi as getAccessToken, gd as getAutoClosedSuffixLength, hf as getCodeValidationResult, su as getFileUrl, fi as getGlobalVars, Cy as getGoogleTrendsData, wy as getGoogleTrendsRelated, Sy as getKeywordIdeas, Si as getProviderConfigurationState, Wt as getRecordValue, Lp as getTabLayoutConfig, zp as getTabPaneClassName, Rp as getTabTriggerClassName, T_ as googleGetAccessToken, wd as groupModelOptions, hd as hasAutoClosedSuffix, Ms as identiconPattern, Vn as interpolate, jt as intersectObjects, n as isAIProviderTarget, ur as isBadgeDescriptor, Pt as isEmpty, Cu as isFreeAIModel, Ed as isFreeModelOption, Bt as isInteractiveElement, Ru as isProxyEnabled, fl as labelText, lm as loadGoogleMaps, c as loadModelIdentityIndex, At as loadScripts, ty as locales, _d as matchCommandTrigger, i as modelOffers, Sm as moveItem, Rs as niceMax, dr as normalizeBadgeProps, bt as normalizeKey, vt as normalizePath, hb as normalizeVisualChars, Tu as parseAIModelRef, _b as parseCsvText, vi as path, Iu as proxyFetch, qt as recordsEqual, Zo as registerProviderSessionFactory, mi as removeGlobalVars, Vt as render2Base64, Kh as repairStreamingMarkdown, Et as replacePlaceholders, Mt as replaceVariables, e as resolveModel, yr as resolveMotionEffect, rf as runPrompt, It as safeClone, zt as sanitizeKey, ub as scrape, E_ as sendEmail, r as serverCredential, pi as setGlobalVars, St as sleep, Jt as smartTypeCast, Tt as substrCount, zs as ticks, dy as toProviderDescriptor, gs as treeFromPaths, _t as trimPath, yt as trimSlash, kt as ucfirst, Ou as useAIProvider, ku as useAIProviderRegistry, Mi as useAccessToken, Us as useAnimatedValues, ny as useApiProvider, Eh as useAssetsHead, _i as useAuthProvider, Bs as useChartFormat, Js as useChartTooltip, Ks as useChartWidth, Qg as useCredentialsProvider, Bi as useDataProvider, Th as useDocumentHead, Uy as useDropBoxConnect, Ec as useEditorHeight, Yg as useEmailProvider, Cr as useEnterMotion, tu as useFileUploadCore, dp as useFormActions, bp as useFormContext, up as useFormController, di as useGlobalVars, om as useGoogleMapsConfig, bh as useHead, Sh as useHeadLinks, Y as useI18n, zr as useIconController, Rr as useIconProvider, Ol as useImage, wh as useLanguageHead, Yv as useMenu, br as useMotionEffect, xr as useMotionState, Ch as usePaginationHead, Sr as usePressMotion, Ga as useProvider, rs as useProviderSession, Lu as useProxy, Dh as usePwaHead, Ws as useReveal, Oh as useSchemaOrgHead, Wa as useSetProvider, xh as useSocialHead, Ll as useStorageProvider, J as useTheme, Ln as useThemeController, mf as validateCodeSyntax };
23903
+ export { Du as AIProvider, fy as AI_PROVIDER_DEFINITIONS, my as AI_PROVIDER_DESCRIPTORS, l as AI_PROVIDER_HOSTS, ri as ActionButton, vm as AddressAutocomplete, cs as Alert, gc as AnimatedNumber, Jv as App, qv as AppProvider, oc as AreaChart, ua as AsyncDropdown, Li as AuthButton, gi as AuthProvider, Sl as Autocomplete, xn as BUILT_IN_THEMES, _n as BUILT_IN_THEME_IDS, ii as BackLink, pr as Badge, fr as BadgeOverlay, uc as BarList, _a as Brand, Ta as Breadcrumbs, nv as CLOUDFLARE_PROVIDER_DESCRIPTOR, od as CONTEXT_MENU_SEARCH_THRESHOLD, mc as CalendarHeatmap, Ki as Card, Ea as Carousel, Ys as ChartDataTable, qs as ChartLegend, hg as ChatActivity, eg as ChatMarkdown, pg as ChatQuestions, ng as ChatReasoning, Id as Chatbot, rl as Checkbox, Cl as Checklist, ks as Code, wf as CodeEditor, af as CodeSyntaxError, lr as Col, Jc as Color, Qs as ColumnChart, Yf as Component, Xf as ComponentBlock, sr as Container, Cd as ContextMenu, ql as CropImage, $m as DEFAULT_DOCUMENT_HEAD, Qm as DEFAULT_HEAD_APP_NAME, eh as DEFAULT_LANGUAGE_HEAD, cl as DEFAULT_ORDER, zi as DataProvider, Yc as Date, Zc as DateTime, ds as DescriptionList, oy as DirectApiProviderAdapter, tc as DivergingBarChart, Ky as DropBoxConnectButton, S_ as DropboxAuthProvider, la as Dropdown, da as DropdownButton, ma as DropdownDivider, pa as DropdownHeader, fa as DropdownItem, ha as DropdownMenu, uy as EMAIL_PROVIDER_DEFINITIONS, Gc as Email, Jg as EmailProvider, Bc as FieldError, eu as FileNameEditor, cy as FirebaseApiProviderAdapter, h_ as FirebaseAuthProvider, d_ as FirebaseDataProvider, Jo as FirebaseStorageProvider, So as FirestoreDataProvider, wp as Form, lp as FormControllerContext, vg as Gallery, w_ as GitHubAuthProvider, D_ as GmailEmailProvider, ai as GoSite, Kg as GoogleAuthProvider, am as GoogleMapsProvider, b_ as GoogleServiceAccountProvider, Ng as Grid, Mg as GridArray, jg as GridCore, Im as GridDB, yg as GridGalleryView, Ym as GridTableView, kh as Head, _h as HeadProvider, fc as Heatmap, nl as Hidden, Jn as I18nProvider, Q as Icon, Lr as IconProvider, Ns as Identicon, ga as Image, yi as ImageAvatar, zl as ImageEditor, Vl as ImageField, Hc as Input, al as Label, rm as LayoutBuilder, ac as LineChart, xm as ListCard, sl as ListGroup, Vi as Loader, ni as LoadingButton, vc as LocaleSwitcher, Er as LucideIconProvider, Lh as MarkdownReader, dc as MeasureBarList, sa as Menu, sy as MockApiProviderAdapter, Ho as MockDataProvider, ra as Modal, oa as ModalOk, aa as ModalYesNo, $c as Month, pb as NORMALIZE_MAP, Oa as Notifications, Wc as Number, hy as OPENAI_COMPATIBLE_PROVIDER_DESCRIPTOR, dl as Order, dy as PUBLISH_PROVIDER_DEFINITIONS, Pg as PageUsers, _g as Pagination, qc as Password, wc as Percentage, kr as PhosphorIconProvider, Jd as Prompt, Ld as PromptMode, ad as PromptUtils, as as ProviderSwitcher, el as Range, oi as ReferSite, Fp as Repeat, Kf as RichText, cr as Row, t as SERVER_CREDENTIAL_PREFIX, vb as Sanitizer, cc as ScatterChart, Aa as Search, bl as Select, ec as SequenceColumnChart, Nm as SideNav, Cm as SortableList, sc as Sparkline, $s as StackedColumnChart, Il as StorageProvider, Uc as String, ly as SupabaseApiProviderAdapter, k_ as SupabaseAuthProvider, Fo as SupabaseDataProvider, Yo as SupabaseStorageProvider, il as Switch, Up as Tab, gg as TabDynamic, Vp as TabItem, Bp as TabLayouts, Kp as Table, Kc as Tel, ol as TextArea, Ba as ThemeSwitcher, Xc as Time, Na as Toolbar, hs as Tree, ym as UploadCSV, cu as UploadDocument, lu as UploadImage, tl as Url, Qc as Week, Z as Wrapper, Nt as arrayUnique, Rt as arraysEqual, Lt as base64Encode, Ht as base64ToBlob, Ut as base64ToUrl, va as buildBreadcrumbSchema, u as buildModelIdentityIndex, yd as buildTextCommandContext, Vr as buttonBaseClass, Wr as buttonDangerClass, Yr as buttonDarkClass, qr as buttonInfoClass, Jr as buttonLightClass, ei as buttonLinkClass, Qr as buttonOutlineDangerClass, Xr as buttonOutlinePrimaryClass, Zr as buttonOutlineSecondaryClass, $r as buttonOutlineSuccessClass, Hr as buttonPrimaryClass, Ur as buttonSecondaryClass, Gr as buttonSuccessClass, Kr as buttonWarningClass, uo as callFirebaseFunction, o as canonicalModelName, Fs as chartFill, Ps as chartToken, Dt as checkConditions, Gt as cleanRecord, X as cn, Nu as configureProxy, ft as converter, gt as copyToClipboard, Ot as crc32, _y as createAIProviderRegistry, tv as createCloudflareProviderDefinition, vr as createMotionTransition, vy as createServerCredentialAIRegistry, Bn as createTranslations, ht as decodeJWT, zn as defineLocaleMessages, xt as dirname, qy as dropBox, wt as eventClosest, nn as fetchJson, tn as fetchRest, rn as fetchWithRetry, Mc as fieldAddonClass, kc as fieldControlBaseClass, Oc as fieldFeedbackClass, jc as fieldGroupClass, Dc as fieldLabelClass, Ac as fieldTextAreaBaseClass, wu as formatAIModelRef, Ct as generateUniqueId, Qu as getAIModelCatalog, Fi as getAccessToken, gd as getAutoClosedSuffixLength, hf as getCodeValidationResult, su as getFileUrl, fi as getGlobalVars, Ty as getGoogleTrendsData, Ey as getGoogleTrendsRelated, wy as getKeywordIdeas, Si as getProviderConfigurationState, Wt as getRecordValue, Lp as getTabLayoutConfig, zp as getTabPaneClassName, Rp as getTabTriggerClassName, T_ as googleGetAccessToken, wd as groupModelOptions, hd as hasAutoClosedSuffix, Ms as identiconPattern, Vn as interpolate, jt as intersectObjects, n as isAIProviderTarget, ur as isBadgeDescriptor, Pt as isEmpty, Cu as isFreeAIModel, Ed as isFreeModelOption, Bt as isInteractiveElement, Ru as isProxyEnabled, fl as labelText, lm as loadGoogleMaps, c as loadModelIdentityIndex, At as loadScripts, ry as locales, _d as matchCommandTrigger, i as modelOffers, Sm as moveItem, Rs as niceMax, dr as normalizeBadgeProps, bt as normalizeKey, vt as normalizePath, _b as normalizeVisualChars, Tu as parseAIModelRef, yb as parseCsvText, vi as path, Iu as proxyFetch, qt as recordsEqual, Zo as registerProviderSessionFactory, mi as removeGlobalVars, Vt as render2Base64, Kh as repairStreamingMarkdown, Et as replacePlaceholders, Mt as replaceVariables, e as resolveModel, yr as resolveMotionEffect, rf as runPrompt, It as safeClone, zt as sanitizeKey, fb as scrape, E_ as sendEmail, r as serverCredential, pi as setGlobalVars, St as sleep, Jt as smartTypeCast, Tt as substrCount, zs as ticks, py as toProviderDescriptor, gs as treeFromPaths, _t as trimPath, yt as trimSlash, kt as ucfirst, Ou as useAIProvider, ku as useAIProviderRegistry, Mi as useAccessToken, Us as useAnimatedValues, iy as useApiProvider, Eh as useAssetsHead, _i as useAuthProvider, Bs as useChartFormat, Js as useChartTooltip, Ks as useChartWidth, Qg as useCredentialsProvider, Bi as useDataProvider, Th as useDocumentHead, Gy as useDropBoxConnect, Ec as useEditorHeight, Yg as useEmailProvider, Cr as useEnterMotion, tu as useFileUploadCore, dp as useFormActions, bp as useFormContext, up as useFormController, di as useGlobalVars, om as useGoogleMapsConfig, bh as useHead, Sh as useHeadLinks, Y as useI18n, zr as useIconController, Rr as useIconProvider, Ol as useImage, wh as useLanguageHead, Zv as useMenu, br as useMotionEffect, xr as useMotionState, Ch as usePaginationHead, Sr as usePressMotion, Ga as useProvider, rs as useProviderSession, Lu as useProxy, Dh as usePwaHead, Ws as useReveal, Oh as useSchemaOrgHead, Wa as useSetProvider, xh as useSocialHead, Ll as useStorageProvider, J as useTheme, Ln as useThemeController, mf as validateCodeSyntax };
23766
23904
 
23767
23905
  //# sourceMappingURL=index.mjs.map