@sinequa/atomic 2.3.2 → 2.4.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.
@@ -114,7 +114,7 @@ Object.defineProperties(m, {
114
114
  }
115
115
  });
116
116
  function ie(e) {
117
- ae(m, e);
117
+ ae(m, e), e.logLevel !== void 0 && d({ level: e.logLevel });
118
118
  }
119
119
  function ae(e, t) {
120
120
  let { useCredentials: n, useSSO: r, useSAML: i, authMode: a, ...o } = t;
@@ -429,12 +429,15 @@ async function N(e, t, n, r) {
429
429
  }, r);
430
430
  }
431
431
  }
432
+ function je() {
433
+ return typeof navigator > "u" ? void 0 : navigator.language;
434
+ }
432
435
  function P(e, t, n) {
433
436
  let { uiLanguage: r } = e.config;
434
437
  return JSON.stringify({
435
438
  app: e.config.app,
436
439
  ...t,
437
- locale: t.locale || r || navigator.language,
440
+ locale: t.locale || r || je(),
438
441
  ...r ? { "ui-language": r } : {},
439
442
  noUserOverride: !e.config.userOverrideActive,
440
443
  noAutoAuthentication: n?.noAutoAuthentication ?? M(e)
@@ -457,12 +460,12 @@ async function F(e, t, n, r) {
457
460
  throw _(e).error("Error making POST request:", t), t;
458
461
  }
459
462
  }
460
- async function je(e, t, n) {
463
+ async function Me(e, t, n) {
461
464
  return F(g, e, t, n);
462
465
  }
463
466
  //#endregion
464
467
  //#region src/web-api/helpers/errors/timeout-error.ts
465
- var Me = class extends O {
468
+ var Ne = class extends O {
466
469
  constructor(e = "Request timed out") {
467
470
  super(e, 408), this.name = "TimeoutError";
468
471
  }
@@ -472,7 +475,7 @@ var Me = class extends O {
472
475
  function I(e) {
473
476
  let t = new AbortController(), { signal: n } = t;
474
477
  return e && setTimeout(() => {
475
- n.aborted || t.abort(new Me(`Request timed out after ${e}ms`));
478
+ n.aborted || t.abort(new Ne(`Request timed out after ${e}ms`));
476
479
  }, e), {
477
480
  controller: t,
478
481
  signal: n
@@ -480,7 +483,7 @@ function I(e) {
480
483
  }
481
484
  //#endregion
482
485
  //#region src/authentication/providers/redirect-to-identity-provider.ts
483
- var Ne = {
486
+ var Pe = {
484
487
  oauth: {
485
488
  label: "OAuth",
486
489
  endpoint: "api/v1/security.oauth",
@@ -492,8 +495,8 @@ var Ne = {
492
495
  action: "getresponse"
493
496
  }
494
497
  };
495
- async function Pe(e, { kind: t, provider: n }) {
496
- let { label: r, endpoint: i, action: a } = Ne[t], o = typeof window < "u", s = v(e, "session"), c = y(e, w);
498
+ async function Fe(e, { kind: t, provider: n }) {
499
+ let { label: r, endpoint: i, action: a } = Pe[t], o = typeof window < "u", s = v(e, "session"), c = y(e, w);
497
500
  if (o && s.get(c)) throw Error(`${r} sign-in with provider "${n}" did not establish a session — its callback is likely not authorized for this application.`);
498
501
  let l = {
499
502
  action: a,
@@ -513,24 +516,24 @@ async function Pe(e, { kind: t, provider: n }) {
513
516
  }
514
517
  //#endregion
515
518
  //#region src/authentication/providers/oauth-authentication.ts
516
- var Fe = async (e) => {
519
+ var Ie = async (e) => {
517
520
  let t = ee(e.config);
518
521
  if (!t) throw Error("No OAuth provider configured: set `authMode: AuthMode.oauth(provider)`, or the `autoOAuthProvider` key.");
519
- return Pe(e, {
522
+ return Fe(e, {
520
523
  kind: "oauth",
521
524
  provider: t
522
525
  });
523
- }, Ie = () => Fe(g), Le = async (e) => {
526
+ }, Le = () => Ie(g), Re = async (e) => {
524
527
  let t = te(e.config);
525
528
  if (!t) throw Error("No SAML provider configured: set `authMode: AuthMode.saml(provider)`, or the `autoSAMLProvider` key.");
526
- return Pe(e, {
529
+ return Fe(e, {
527
530
  kind: "saml",
528
531
  provider: t
529
532
  });
530
- }, Re = () => Le(g);
533
+ }, ze = () => Re(g);
531
534
  //#endregion
532
535
  //#region src/authentication/session/detect-auth-mode.ts
533
- function ze(e, t) {
536
+ function Be(e, t) {
534
537
  if (e.authMode && e.authMode.kind !== "unknown") return e.authMode;
535
538
  if (e.bearerToken) return f.bearer(e.bearerToken);
536
539
  let n = e.autoOAuthProvider || t?.autoOAuthProvider;
@@ -554,12 +557,12 @@ async function L(e, t, n, r) {
554
557
  throw _(e).error("Error making GET request:", t), t;
555
558
  }
556
559
  }
557
- async function Be(e, t, n) {
560
+ async function Ve(e, t, n) {
558
561
  return L(g, e, t, n);
559
562
  }
560
563
  //#endregion
561
564
  //#region src/authentication/tokens/get-csrf-token.ts
562
- var Ve = async (e) => {
565
+ var He = async (e) => {
563
566
  let t;
564
567
  try {
565
568
  let { signal: n } = I(S(e));
@@ -571,32 +574,32 @@ var Ve = async (e) => {
571
574
  throw _(e).warn("CSRF token fetch failed", t), t;
572
575
  }
573
576
  return t?.csrfToken ? (A(e, t.csrfToken), t.csrfToken) : null;
574
- }, He = () => Ve(g);
577
+ }, Ue = () => He(g);
575
578
  //#endregion
576
579
  //#region src/authentication/session/has-session.ts
577
- async function Ue(e) {
578
- if (T(e)) return _(e).info("Existing session (stored token)"), We(e), !0;
580
+ async function We(e) {
581
+ if (T(e)) return _(e).info("Existing session (stored token)"), Ge(e), !0;
579
582
  try {
580
- return _(e).info("Checking for an existing session via CSRF token retrieval"), await Ve(e) === null ? !1 : (We(e), !0);
583
+ return _(e).info("Checking for an existing session via CSRF token retrieval"), await He(e) === null ? !1 : (Ge(e), !0);
581
584
  } catch (t) {
582
585
  return _(e).debug("CSRF session probe failed — treated as no existing session", t), !1;
583
586
  }
584
587
  }
585
- function We(e) {
588
+ function Ge(e) {
586
589
  v(e, "session").remove(y(e, w));
587
590
  }
588
- var Ge = () => Ue(g);
591
+ var Ke = () => We(g);
589
592
  //#endregion
590
593
  //#region src/helpers/ts-helper.ts
591
- function Ke(e) {
594
+ function qe(e) {
592
595
  throw Error(`Unexpected value: ${JSON.stringify(e)}`);
593
596
  }
594
597
  //#endregion
595
598
  //#region src/authentication/tokens/get-jwt-token.ts
596
- async function qe(e, t, n) {
599
+ async function Je(e, t, n) {
597
600
  if (t) {
598
601
  let { username: n, password: r } = t;
599
- return Xe(e, {
602
+ return Ze(e, {
600
603
  action: "get",
601
604
  tokenInCookie: !0,
602
605
  user: n,
@@ -604,16 +607,16 @@ async function qe(e, t, n) {
604
607
  }, !0, "Failed to get JWT");
605
608
  }
606
609
  if (!p(e.config)) throw Error("A bearer token is required for credential-less authentication: set `authMode: AuthMode.bearer(token)`, or the legacy `bearerToken` key.");
607
- return Xe(e, {
610
+ return Ze(e, {
608
611
  action: "get",
609
612
  tokenInCookie: !0
610
613
  }, !1, "Failed to get JWT without credentials", n?.recoverable);
611
614
  }
612
- async function Je(e) {
613
- return qe(g, e);
615
+ async function Ye(e) {
616
+ return Je(g, e);
614
617
  }
615
- var Ye = Je;
616
- async function Xe(e, t, n, r, i = !1) {
618
+ var Xe = Ye;
619
+ async function Ze(e, t, n, r, i = !1) {
617
620
  try {
618
621
  let { signal: r } = I(S(e)), i = await F(e, "api/v1/security.webtoken", t, {
619
622
  signal: r,
@@ -627,25 +630,25 @@ async function Xe(e, t, n, r, i = !1) {
627
630
  }
628
631
  //#endregion
629
632
  //#region src/authentication/session/auth-mode-marker.ts
630
- var Ze = (e) => ({
633
+ var Qe = (e) => ({
631
634
  storage: v(e, "local"),
632
635
  key: y(e, C.lastAuthMode)
633
- }), Qe = (e) => {
634
- let { storage: t, key: n } = Ze(e);
636
+ }), $e = (e) => {
637
+ let { storage: t, key: n } = Qe(e);
635
638
  t.set(n, "credentials");
636
- }, $e = (e) => {
637
- let { storage: t, key: n } = Ze(e);
638
- return t.get(n) === "credentials";
639
639
  }, et = (e) => {
640
- let { storage: t, key: n } = Ze(e);
640
+ let { storage: t, key: n } = Qe(e);
641
+ return t.get(n) === "credentials";
642
+ }, tt = (e) => {
643
+ let { storage: t, key: n } = Qe(e);
641
644
  t.remove(n);
642
- }, tt = (e, t) => {
645
+ }, nt = (e, t) => {
643
646
  let n = v(e, "session"), r = y(e, C.authenticated);
644
647
  t ? n.set(r, "true") : n.remove(r);
645
- }, nt = (e) => v(e, "session").get(y(e, C.authenticated)) === "true", rt = "api/v1/principal", it = async (e) => {
648
+ }, rt = (e) => v(e, "session").get(y(e, C.authenticated)) === "true", it = "api/v1/principal", at = async (e) => {
646
649
  try {
647
650
  let { signal: t } = I(S(e));
648
- return await L(e, e.config.auth?.probeEndpoint ?? rt, new URLSearchParams({ action: "get" }), {
651
+ return await L(e, e.config.auth?.probeEndpoint ?? it, new URLSearchParams({ action: "get" }), {
649
652
  signal: t,
650
653
  redirect: "manual",
651
654
  noRecovery: !0
@@ -653,46 +656,46 @@ var Ze = (e) => ({
653
656
  } catch (t) {
654
657
  return _(e).debug("Protected-endpoint probe failed — not authenticated", t), !1;
655
658
  }
656
- }, at = () => it(g), ot = (e) => e.resolveHttpAdapter() ? f.sso() : $e(e) ? f.credentials() : f.sso(), st = (e, t) => {
659
+ }, ot = () => at(g), st = (e) => e.resolveHttpAdapter() ? f.sso() : et(e) ? f.credentials() : f.sso(), ct = (e, t) => {
657
660
  if (v(e, "session").remove(y(e, w)), t.kind === "unknown") {
658
- let t = ot(e);
661
+ let t = st(e);
659
662
  _(e).info(`Ambiguous auth mode resolved to "${t.kind}"`), b(e, { authMode: t });
660
663
  }
661
664
  return x(e, !0), !0;
662
- }, ct = async (e) => await it(e) ? (_(e).info("User authenticated by the server (ambient SSO / OIDC)"), await Ve(e).catch((t) => _(e).debug("Best-effort CSRF refresh after auto-authentication failed", t)), tt(e, !0), !0) : !1, lt = async (e, t) => {
665
+ }, lt = async (e) => await at(e) ? (_(e).info("User authenticated by the server (ambient SSO / OIDC)"), await He(e).catch((t) => _(e).debug("Best-effort CSRF refresh after auto-authentication failed", t)), nt(e, !0), !0) : !1, ut = async (e, t) => {
663
666
  if (t) {
664
667
  let { username: n, password: r } = t;
665
- return !n || !r ? (_(e).error("Credentials are required for authentication"), x(e, !1), !1) : dt(e, {
668
+ return !n || !r ? (_(e).error("Credentials are required for authentication"), x(e, !1), !1) : ft(e, {
666
669
  username: n,
667
670
  password: r
668
671
  });
669
672
  }
670
673
  let n = e.config.authMode ?? f.unknown();
671
- if (n.kind === "bearer") return ft(e, n);
672
- if (await Ue(e)) return _(e).info("User already authenticated (existing session)"), st(e, n);
674
+ if (n.kind === "bearer") return pt(e, n);
675
+ if (await We(e)) return _(e).info("User already authenticated (existing session)"), ct(e, n);
673
676
  switch (n.kind) {
674
677
  case "credentials": return x(e, !1), !1;
675
- case "oauth": return _(e).info("Initiating OAuth authentication flow"), await Fe(e), x(e, !1), !1;
676
- case "saml": return _(e).info("Initiating SAML authentication flow"), await Le(e), x(e, !1), !1;
677
- case "sso": return _(e).info("Letting the server authenticate the request (ambient SSO)"), await ct(e) ? st(e, n) : (x(e, !1), !1);
678
+ case "oauth": return _(e).info("Initiating OAuth authentication flow"), await Ie(e), x(e, !1), !1;
679
+ case "saml": return _(e).info("Initiating SAML authentication flow"), await Re(e), x(e, !1), !1;
680
+ case "sso": return _(e).info("Letting the server authenticate the request (ambient SSO)"), await lt(e) ? ct(e, n) : (x(e, !1), !1);
678
681
  case "unknown":
679
- if (_(e).info("No provider declared — probing for server-side auto-authentication"), await ct(e)) {
682
+ if (_(e).info("No provider declared — probing for server-side auto-authentication"), await lt(e)) {
680
683
  let t = f.sso();
681
- return b(e, { authMode: t }), st(e, t);
684
+ return b(e, { authMode: t }), ct(e, t);
682
685
  }
683
686
  return _(e).info("No provider, no session and no server-side authentication — falling back to the credentials form"), b(e, { authMode: f.credentials() }), x(e, !1), !1;
684
- default: return Ke(n);
687
+ default: return qe(n);
685
688
  }
686
- }, ut = (e) => lt(g, e);
687
- async function dt(e, t) {
688
- _(e).info("Attempting authentication using credentials"), b(e, { authMode: f.credentials() }), Qe(e);
689
+ }, dt = (e) => ut(g, e);
690
+ async function ft(e, t) {
691
+ _(e).info("Attempting authentication using credentials"), b(e, { authMode: f.credentials() }), $e(e);
689
692
  let { userOverrideActive: n, userOverride: r } = e.config;
690
693
  b(e, {
691
694
  userOverrideActive: !1,
692
695
  userOverride: void 0
693
696
  });
694
697
  try {
695
- await qe(e, t);
698
+ await Je(e, t);
696
699
  } catch (t) {
697
700
  throw x(e, !1), t;
698
701
  } finally {
@@ -703,19 +706,19 @@ async function dt(e, t) {
703
706
  }
704
707
  return x(e, !0), !0;
705
708
  }
706
- async function ft(e, t) {
709
+ async function pt(e, t) {
707
710
  if (_(e).info("Attempting authentication using bearer token"), !p(e.config)) throw x(e, !1), Error("Bearer mode requires a token: set `authMode: AuthMode.bearer(token)`, or the legacy `bearerToken` key.");
708
711
  if (t.sessionCookie !== !1) try {
709
- if (await qe(e, void 0, { recoverable: !0 })) return _(e).info("Bearer token exchanged for a server session"), x(e, !0), !0;
712
+ if (await Je(e, void 0, { recoverable: !0 })) return _(e).info("Bearer token exchanged for a server session"), x(e, !0), !0;
710
713
  } catch (t) {
711
714
  _(e).info("The server refused to exchange the bearer token for a session — continuing with the token alone. Requests this library issues stay authenticated, but what the browser loads by itself (document previews and their sub-resources, thumbnails, /xdownload links) cannot be. Allow the `webtoken` JSON method for this access token to get a session cookie, or set `AuthMode.bearer(token, { sessionCookie: false })` to stop asking.", t);
712
715
  }
713
- if (!await it(e)) throw x(e, !1), Error("The server refused the configured bearer token: it may be expired or revoked, or its JSON method rules may not allow the probe endpoint (see `auth.probeEndpoint`).");
714
- return tt(e, !0), x(e, !0), !0;
716
+ if (!await at(e)) throw x(e, !1), Error("The server refused the configured bearer token: it may be expired or revoked, or its JSON method rules may not allow the probe endpoint (see `auth.probeEndpoint`).");
717
+ return nt(e, !0), x(e, !0), !0;
715
718
  }
716
719
  //#endregion
717
720
  //#region src/authentication/tokens/delete-web-token-cookie.ts
718
- var pt = async (e) => {
721
+ var mt = async (e) => {
719
722
  let t = new URLSearchParams({
720
723
  action: "deleteWebTokenCookie",
721
724
  noUserOverride: "true"
@@ -725,34 +728,34 @@ var pt = async (e) => {
725
728
  noAutoAuthentication: !0,
726
729
  noRecovery: !0
727
730
  });
728
- }, mt = () => pt(g);
731
+ }, ht = () => mt(g);
729
732
  //#endregion
730
733
  //#region src/authentication/session/logout.ts
731
- async function ht(e) {
734
+ async function gt(e) {
732
735
  let { userOverrideActive: t } = e.config;
733
- if (_t(e), et(e), v(e, "session").remove(y(e, w)), _e(e), e.events.emit("loggedOut", {}), !t) try {
734
- let { methodresult: t, logoutUrl: n } = await pt(e);
736
+ if (vt(e), tt(e), v(e, "session").remove(y(e, w)), _e(e), e.events.emit("loggedOut", {}), !t) try {
737
+ let { methodresult: t, logoutUrl: n } = await mt(e);
735
738
  if (t === "ok") return n;
736
739
  _(e).error("logout failed");
737
740
  } catch (t) {
738
741
  _(e).error("logout failed", t);
739
742
  }
740
743
  }
741
- async function gt() {
742
- return ht(g);
744
+ async function _t() {
745
+ return gt(g);
743
746
  }
744
- function _t(e) {
745
- v(e, "local").remove(y(e, C.legacyCsrfToken)), v(e, "session").remove(y(e, C.credentials)), tt(e, !1), x(e, !1);
747
+ function vt(e) {
748
+ v(e, "local").remove(y(e, C.legacyCsrfToken)), v(e, "session").remove(y(e, C.credentials)), nt(e, !1), x(e, !1);
746
749
  }
747
- function vt() {
748
- _t(g);
750
+ function yt() {
751
+ vt(g);
749
752
  }
750
753
  //#endregion
751
754
  //#region src/authentication/session/redirect-guard.ts
752
- function yt(e) {
755
+ function bt(e) {
753
756
  return v(e, "session").get(y(e, w)) !== null;
754
757
  }
755
- var bt = () => yt(g), xt = (e) => !!T(e) || nt(e), St = () => xt(g);
758
+ var xt = () => bt(g), St = (e) => !!T(e) || rt(e), Ct = () => St(g);
756
759
  //#endregion
757
760
  //#region src/web-api/helpers/methods/del.ts
758
761
  async function R(e, t, n, r) {
@@ -768,7 +771,7 @@ async function R(e, t, n, r) {
768
771
  throw _(e).error("Error making DELETE request:", t), t;
769
772
  }
770
773
  }
771
- async function Ct(e, t, n) {
774
+ async function wt(e, t, n) {
772
775
  return R(g, e, t, n);
773
776
  }
774
777
  //#endregion
@@ -788,7 +791,7 @@ async function z(e, t, n, r) {
788
791
  throw _(e).error("Error making PATCH request:", t), t;
789
792
  }
790
793
  }
791
- async function wt(e, t, n) {
794
+ async function Tt(e, t, n) {
792
795
  return z(g, e, t, n);
793
796
  }
794
797
  //#endregion
@@ -808,23 +811,23 @@ async function B(e, t, n, r) {
808
811
  throw _(e).error("Error making PUT request:", t), t;
809
812
  }
810
813
  }
811
- async function Tt(e, t, n) {
814
+ async function Et(e, t, n) {
812
815
  return B(g, e, t, n);
813
816
  }
814
817
  //#endregion
815
818
  //#region src/web-api/v1/fetch-app.ts
816
- async function Et(e, t = g) {
819
+ async function Dt(e, t = g) {
817
820
  let n = e || t.config.app;
818
821
  return L(t, "api/v1/app", new URLSearchParams({ app: n || "" }));
819
822
  }
820
- async function Dt(e = g) {
823
+ async function Ot(e = g) {
821
824
  let { app: t } = e.config;
822
825
  return L(e, "api/v1/app", new URLSearchParams({
823
826
  app: t || "",
824
827
  preLogin: "true"
825
828
  }));
826
829
  }
827
- function Ot(e = g) {
830
+ function kt(e = g) {
828
831
  let { backendUrl: t, app: n } = e.config;
829
832
  if (typeof window < "u") {
830
833
  if (t ||= window.location.origin, !n) {
@@ -841,47 +844,33 @@ function Ot(e = g) {
841
844
  autoOAuthProvider: void 0,
842
845
  autoSAMLProvider: void 0,
843
846
  bearerToken: void 0
844
- }), Promise.resolve({})) : Dt(e).then((t) => (b(e, {
845
- authMode: ze(e.config, t),
847
+ }), Promise.resolve({})) : Ot(e).then((t) => (b(e, {
848
+ authMode: Be(e.config, t),
846
849
  autoOAuthProvider: e.config.autoOAuthProvider || t.autoOAuthProvider,
847
850
  autoSAMLProvider: e.config.autoSAMLProvider || t.autoSAMLProvider
848
851
  }), t)).catch((t) => {
849
852
  throw _(e).error("atomic:fetchAppPreLogin error", t), t;
850
853
  });
851
854
  }
852
- var kt = Ot;
853
- //#endregion
854
- //#region src/web-api/helpers/utils/date-utils.ts
855
- function At(e) {
856
- if (!e) return;
857
- let t = new Date(e);
858
- return Number.isNaN(t.getTime()) ? void 0 : t;
859
- }
860
- function jt(e) {
861
- let t = At(e);
862
- return !!t && t.getTime() <= Date.now();
855
+ var At = kt, jt = 10;
856
+ function Mt(e, t) {
857
+ let n = t?.aggregations;
858
+ if (!n || Array.isArray(n)) return;
859
+ let r = n[e]?.count;
860
+ return typeof r == "number" ? r : void 0;
863
861
  }
864
- function Mt(e, t = 7) {
865
- let n = At(e);
866
- if (!n) return !1;
867
- let r = Date.now(), i = r + t * 24 * 60 * 60 * 1e3, a = n.getTime();
868
- return a > r && a <= i;
862
+ function Nt(e, t, n) {
863
+ let r = Mt(e, t);
864
+ if (r !== void 0) return r;
865
+ let i = n?.[e];
866
+ return typeof i == "number" ? i : 10;
869
867
  }
870
- //#endregion
871
- //#region src/web-api/helpers/utils/with-retry.ts
872
- async function Nt(e, t = 0, n = 1e3) {
873
- let r;
874
- for (let i = 0; i <= t; i++) try {
875
- return await e();
876
- } catch (e) {
877
- if (r = e, e instanceof O && e.status >= 400 && e.status < 500 && e.status !== 429 || e instanceof DOMException && e.name === "AbortError") throw e;
878
- i < t && (c(`Retrying request (${i + 1}/${t})`, { error: e }), await new Promise((e) => setTimeout(e, n)));
879
- }
880
- throw r;
868
+ function Pt(e, t) {
869
+ return e.isDistribution || e.isTree || !e.items ? !1 : e.items.length > t;
881
870
  }
882
871
  //#endregion
883
872
  //#region src/helpers/column-resolver.ts
884
- function Pt(e, t, n) {
873
+ function Ft(e, t, n) {
885
874
  if (!e || !t) return;
886
875
  if (n) {
887
876
  let r = Object.keys(t.queries).find((e) => e === n?.toLowerCase()), i;
@@ -900,14 +889,14 @@ var V = /* @__PURE__ */ function(e) {
900
889
  return e[e.none = 0] = "none", e[e.bool = 1] = "bool", e[e.date = 2] = "date", e[e.dateTime = 3] = "dateTime", e[e.time = 4] = "time", e[e.unsigned = 5] = "unsigned", e[e.integer = 6] = "integer", e[e.float = 7] = "float", e[e.double = 8] = "double", e[e.dates = 9] = "dates", e[e.dateTimes = 10] = "dateTimes", e[e.times = 11] = "times", e[e.varchar = 12] = "varchar", e[e.binary = 13] = "binary", e[e.string = 14] = "string", e[e.csv = 15] = "csv", e;
901
890
  }({}), U = /* @__PURE__ */ function(e) {
902
891
  return e[e.none = 0] = "none", e[e.a = 2053] = "a", e[e.c = 4] = "c", e[e.d = 8] = "d", e[e.e = 2068] = "e", e[e.i = 256] = "i", e[e.l = 2052] = "l", e[e.n = 8192] = "n", e[e.t = 524292] = "t", e[e.x = 8388608] = "x", e[e.z = 33554432] = "z", e[e.f_ordinal = 8192] = "f_ordinal", e[e.f_multidates = 8192] = "f_multidates", e[e.f_varchar = 33554432] = "f_varchar", e[e.f_binary = 33562624] = "f_binary", e[e.f_string = 33562888] = "f_string", e[e.f_csv = 42477853] = "f_csv", e[e.f_overridable = 33554696] = "f_overridable", e;
903
- }({}), Ft = "1.0", It = /* @__PURE__ */ function(e) {
892
+ }({}), It = "1.0", Lt = /* @__PURE__ */ function(e) {
904
893
  return e[e.Original = 0] = "Original", e[e.Corrected = 1] = "Corrected", e;
905
- }({}), Lt = /* @__PURE__ */ function(e) {
894
+ }({}), Rt = /* @__PURE__ */ function(e) {
906
895
  return e[e.none = 0] = "none", e[e.positiveRate = 1] = "positiveRate", e[e.mainlyPosRate = 2] = "mainlyPosRate", e[e.unrate = 4] = "unrate", e[e.mainlyNegRate = 8] = "mainlyNegRate", e[e.negativeRate = 16] = "negativeRate", e[e.all = 31] = "all", e[e.positiveOnly = 7] = "positiveOnly", e[e.negativeOnly = 28] = "negativeOnly", e[e.personalAll = 21] = "personalAll", e[e.personalPosOnly = 5] = "personalPosOnly", e[e.personalNegOnly = 20] = "personalNegOnly", e;
907
896
  }({});
908
897
  //#endregion
909
898
  //#region src/helpers/columns.ts
910
- function Rt(e) {
899
+ function zt(e) {
911
900
  if (!e) return H.none;
912
901
  switch (e.toLocaleLowerCase()) {
913
902
  case "bool":
@@ -929,7 +918,7 @@ function Rt(e) {
929
918
  default: return H.none;
930
919
  }
931
920
  }
932
- function zt(e) {
921
+ function Bt(e) {
933
922
  switch (e) {
934
923
  case "a": return U.a;
935
924
  case "c": return U.c;
@@ -944,9 +933,9 @@ function zt(e) {
944
933
  default: return U.none;
945
934
  }
946
935
  }
947
- function Bt(e) {
936
+ function Vt(e) {
948
937
  let t = U.none;
949
- if (e) for (let n of e) t |= zt(n);
938
+ if (e) for (let n of e) t |= Bt(n);
950
939
  return t;
951
940
  }
952
941
  function W(e, t, n, r) {
@@ -954,12 +943,12 @@ function W(e, t, n, r) {
954
943
  name: e,
955
944
  type: t,
956
945
  typeModifier: n,
957
- eType: Rt(t),
958
- eTypeModifier: Bt(n || ""),
946
+ eType: zt(t),
947
+ eTypeModifier: Vt(n || ""),
959
948
  aliases: r
960
949
  };
961
950
  }
962
- var Vt = {
951
+ var Ht = {
963
952
  id: W("id", "string"),
964
953
  text: W("text", "varchar"),
965
954
  documentlanguages: W("documentlanguages", "csv", "ci", ["language"]),
@@ -977,7 +966,7 @@ var Vt = {
977
966
  };
978
967
  //#endregion
979
968
  //#region src/helpers/filters.ts
980
- function Ht(e) {
969
+ function Ut(e) {
981
970
  return e.filter((e) => !!e);
982
971
  }
983
972
  var G = {
@@ -1055,34 +1044,34 @@ var G = {
1055
1044
  });
1056
1045
  return G.and(...r);
1057
1046
  },
1058
- and: (...e) => Ut("and", e),
1059
- or: (...e) => Ut("or", e),
1047
+ and: (...e) => Wt("and", e),
1048
+ or: (...e) => Wt("or", e),
1060
1049
  not: (...e) => {
1061
- let t = Ht(e);
1050
+ let t = Ut(e);
1062
1051
  return t.length ? {
1063
1052
  operator: "not",
1064
1053
  filters: t
1065
1054
  } : void 0;
1066
1055
  }
1067
1056
  };
1068
- function Ut(e, t) {
1069
- let n = Ht(t);
1057
+ function Wt(e, t) {
1058
+ let n = Ut(t);
1070
1059
  if (n.length !== 0) return n.length === 1 ? n[0] : {
1071
1060
  operator: e,
1072
1061
  filters: n
1073
1062
  };
1074
1063
  }
1075
- function Wt(e) {
1064
+ function Gt(e) {
1076
1065
  if (!e) return;
1077
1066
  let { operator: t, field: n } = e;
1078
1067
  switch (t) {
1079
1068
  case "and":
1080
1069
  case "or": {
1081
- let n = (e.filters ?? []).map((e) => Wt(e));
1070
+ let n = (e.filters ?? []).map((e) => Gt(e));
1082
1071
  return t === "and" ? G.and(...n) : G.or(...n);
1083
1072
  }
1084
1073
  case "not": {
1085
- let t = (e.filters ?? []).map((e) => Wt(e));
1074
+ let t = (e.filters ?? []).map((e) => Gt(e));
1086
1075
  return G.not(...t);
1087
1076
  }
1088
1077
  case "in": return n && e.values?.length ? G.in(n, e.values) : void 0;
@@ -1104,14 +1093,14 @@ function Wt(e) {
1104
1093
  }
1105
1094
  //#endregion
1106
1095
  //#region src/helpers/metadata.ts
1107
- function Gt(e, t) {
1096
+ function Kt(e, t) {
1108
1097
  let n = e[t];
1109
1098
  return n === void 0 ? [] : (typeof n == "string" && (n = String(n).split(",")), Array.isArray(n) ? n.map((e) => {
1110
1099
  if (typeof e == "string") return e.trim();
1111
1100
  if (typeof e == "object" && e && "display" in e) return e.display.trim();
1112
1101
  }).filter((e) => e !== void 0) : [String(n).trim()]);
1113
1102
  }
1114
- function Kt(e, t) {
1103
+ function qt(e, t) {
1115
1104
  let n = e[t];
1116
1105
  if (n === void 0) return [];
1117
1106
  if (typeof n == "string" && (n = String(n).split(",")), Array.isArray(n)) return n.map((e) => {
@@ -1135,7 +1124,7 @@ function Kt(e, t) {
1135
1124
  }
1136
1125
  //#endregion
1137
1126
  //#region src/helpers/pagination.ts
1138
- function qt(e) {
1127
+ function Jt(e) {
1139
1128
  let { page: t, pageSize: n, rowCount: r } = e;
1140
1129
  return t === void 0 || !n || r === void 0 ? {
1141
1130
  nextPage: void 0,
@@ -1150,32 +1139,32 @@ function qt(e) {
1150
1139
  function K(e) {
1151
1140
  return typeof e == "object" && !!e;
1152
1141
  }
1153
- function Jt(e) {
1154
- return K(e) && Object.prototype.toString.call(e) === "[object ArrayBuffer]";
1155
- }
1156
1142
  function Yt(e) {
1157
- return K(e) && Object.prototype.toString.call(e) === "[object Blob]";
1143
+ return K(e) && Object.prototype.toString.call(e) === "[object ArrayBuffer]";
1158
1144
  }
1159
1145
  function Xt(e) {
1160
- return Object.prototype.toString.call(e) === "[object Date]";
1146
+ return K(e) && Object.prototype.toString.call(e) === "[object Blob]";
1161
1147
  }
1162
1148
  function Zt(e) {
1163
- return typeof e == "string";
1149
+ return Object.prototype.toString.call(e) === "[object Date]";
1164
1150
  }
1165
1151
  function Qt(e) {
1166
- return (K(e) || Array.isArray(e)) && !Jt(e) && !Yt(e) && !Zt(e);
1152
+ return typeof e == "string";
1167
1153
  }
1168
1154
  function $t(e) {
1155
+ return (K(e) || Array.isArray(e)) && !Yt(e) && !Xt(e) && !Qt(e);
1156
+ }
1157
+ function en(e) {
1169
1158
  return e ? (e.getHours() * 60 * 60 + e.getMinutes() * 60 + e.getSeconds()) * 1e3 + e.getMilliseconds() : 0;
1170
1159
  }
1171
- function en(e = !0) {
1160
+ function tn(e = !0) {
1172
1161
  let t = Date.now();
1173
1162
  return (e ? "xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx" : "xxxxxxxxxxxx4xxxyxxxxxxxxxxxxxxx").replace(/[xy]/g, (e) => {
1174
1163
  let n = (t + Math.random() * 16) % 16 | 0;
1175
1164
  return t = Math.floor(t / 16), (e === "x" ? n : n & 3 | 8).toString(16);
1176
1165
  });
1177
1166
  }
1178
- function tn(e) {
1167
+ function nn(e) {
1179
1168
  if (!e) return "``";
1180
1169
  if (e = String(e), e.search(/[\\`]/) === -1) return `\`${e}\``;
1181
1170
  let t = ["`"];
@@ -1185,28 +1174,28 @@ function tn(e) {
1185
1174
  }
1186
1175
  return t.push("`"), t.join("");
1187
1176
  }
1188
- function nn(e) {
1189
- if (typeof crypto < "u" && crypto.subtle && typeof crypto.subtle.digest == "function") try {
1190
- return crypto.subtle.digest("SHA-512", new TextEncoder().encode(e)).then((e) => Array.prototype.map.call(new Uint8Array(e), (e) => `00${e.toString(16)}`.slice(-2)).join("")).catch(() => Promise.resolve(rn(e)));
1191
- } catch {
1192
- return Promise.resolve(rn(e));
1177
+ async function rn(e) {
1178
+ let t = globalThis.crypto?.subtle;
1179
+ if (typeof t?.digest != "function") throw Error("sha512 requires the Web Crypto API, and `crypto.subtle` is unavailable here. That usually means an insecure context: it is exposed over HTTPS and on localhost, but not over plain HTTP. Serve the application over HTTPS.");
1180
+ let n = await t.digest("SHA-512", new TextEncoder().encode(e));
1181
+ return Array.from(new Uint8Array(n), (e) => e.toString(16).padStart(2, "0")).join("");
1182
+ }
1183
+ function an(e, t = 0) {
1184
+ let n = 3735928559 ^ t, r = 1103547991 ^ t;
1185
+ for (let t = 0; t < e.length; t++) {
1186
+ let i = e.charCodeAt(t);
1187
+ n = Math.imul(n ^ i, 2654435761), r = Math.imul(r ^ i, 1597334677);
1193
1188
  }
1194
- return Promise.resolve(rn(e));
1195
- }
1196
- function rn(e) {
1197
- let t = 2166136261;
1198
- for (let n = 0; n < e.length; n++) t ^= e.charCodeAt(n), t = t * 16777619 >>> 0;
1199
- let n = t.toString(16).padStart(8, "0"), r = ((t ^ 2863311530) >>> 0).toString(16).padStart(8, "0"), i = ((t ^ 1431655765) >>> 0).toString(16).padStart(8, "0"), a = ((t ^ 3435973836) >>> 0).toString(16).padStart(8, "0"), o = n + r + i + a;
1200
- return (o + o + o + o).substring(0, 128);
1189
+ return n = Math.imul(n ^ n >>> 16, 2246822507) ^ Math.imul(r ^ r >>> 13, 3266489909), r = Math.imul(r ^ r >>> 16, 2246822507) ^ Math.imul(n ^ n >>> 13, 3266489909), (4294967296 * (2097151 & r) + (n >>> 0)).toString(16);
1201
1190
  }
1202
1191
  //#endregion
1203
1192
  //#region src/web-api/v1/fetch-audit.ts
1204
- var an, on;
1193
+ var on, sn;
1205
1194
  function q(e, t = !0) {
1206
- let n = sn(e.$auditRecord);
1207
- n && (cn(n), t && ln(n)), e.$auditRecord = n;
1195
+ let n = cn(e.$auditRecord);
1196
+ n && (ln(n), t && un(n)), e.$auditRecord = n;
1208
1197
  }
1209
- function sn(e) {
1198
+ function cn(e) {
1210
1199
  if (!e) return;
1211
1200
  let t;
1212
1201
  if (Array.isArray(e)) t = e;
@@ -1217,70 +1206,70 @@ function sn(e) {
1217
1206
  }
1218
1207
  return { auditEvents: t };
1219
1208
  }
1220
- function cn(e) {
1221
- let t = un();
1209
+ function ln(e) {
1210
+ let t = dn();
1222
1211
  return e.auditEvents?.forEach((e) => {
1223
1212
  e.detail ||= {}, e.detail.sessionid = t;
1224
1213
  }), e;
1225
1214
  }
1226
- function ln(e) {
1215
+ function un(e) {
1227
1216
  let t = typeof window < "u" ? decodeURIComponent(window.location.href) : "http://localhost";
1228
1217
  return e?.auditEvents?.forEach((e) => {
1229
1218
  e.detail ||= {}, e.detail.url = t;
1230
1219
  }), e;
1231
1220
  }
1232
- function un() {
1233
- return (!an || dn()) && (an = en()), on = /* @__PURE__ */ new Date(), an;
1234
- }
1235
1221
  function dn() {
1236
- return Date.now() - on.getTime() > 600 * 1e3;
1222
+ return (!on || fn()) && (on = tn()), sn = /* @__PURE__ */ new Date(), on;
1237
1223
  }
1238
- async function fn(e, t = !0, n = g) {
1224
+ function fn() {
1225
+ return Date.now() - sn.getTime() > 600 * 1e3;
1226
+ }
1227
+ async function pn(e, t = !0, n = g) {
1239
1228
  let r = {
1240
1229
  event: V.None,
1241
1230
  $auditRecord: e
1242
1231
  };
1243
1232
  return q(r, t), F(n, "api/v1/audit.notify", r, { noRecovery: !0 });
1244
1233
  }
1245
- var pn = { notify: fn };
1234
+ var mn = { notify: pn };
1246
1235
  //#endregion
1247
1236
  //#region src/web-api/v1/fetch-aggregation.ts
1248
- async function mn(e, t, n, r = g) {
1249
- let i = e.items?.length || 0, a = {
1237
+ async function hn(e, t, n, r, i = g) {
1238
+ let a = r ?? Nt(e.name, t, i.config.aggregationCounts), o = e.items?.length || 0, s = {
1250
1239
  query: {
1251
1240
  ...t,
1252
1241
  action: "aggregate",
1253
1242
  aggregations: { [e.name]: {
1254
- skip: i,
1255
- count: 10
1243
+ skip: o,
1244
+ count: a
1256
1245
  } }
1257
1246
  },
1258
- $auditRecord: { auditEvents: [n] }
1247
+ ...n ? { $auditRecord: { auditEvents: [n] } } : {}
1259
1248
  };
1260
- q(a);
1261
- let { aggregations: o } = await Te(await F(r, "api/v1/query", a)), s = o[0];
1262
- return s.$hasMore = s.items.length > 10, s.items = [...e.items, ...s.items], Promise.resolve(s);
1249
+ q(s);
1250
+ let c = (await F(i, "api/v1/query", s)).aggregations[0];
1251
+ return c.$hasMore = Pt(c, a), c.items = [...e.items ?? [], ...c.items ?? []], Promise.resolve(c);
1263
1252
  }
1264
1253
  //#endregion
1265
1254
  //#region src/web-api/v1/fetch-dataset.ts
1266
- async function hn(e, t, n = {}, r = g) {
1255
+ async function gn(e, t, n = {}, r = g) {
1267
1256
  let i = await F(r, `api/v1/search.dataset/${e}/${t}`, { parameters: n }), a = t[0].toLowerCase() + t.slice(1), o = i.datasets[a];
1268
1257
  if ("errorCode" in o && "errorMessage" in o) throw Error(o.errorMessage);
1269
1258
  return o;
1270
1259
  }
1271
- async function gn(e, t, n = g) {
1260
+ async function _n(e, t, n = g) {
1272
1261
  let r = `api/v1/search.dataset/${e}`, { parameters: i = {}, datasets: a = [] } = t;
1273
1262
  return (await F(n, r, {
1274
1263
  parameters: i,
1275
1264
  datasets: a
1276
1265
  })).datasets;
1277
1266
  }
1278
- async function _n(e, t = g) {
1267
+ async function vn(e, t = g) {
1279
1268
  return await L(t, `api/v1/search.dataset/${e}`);
1280
1269
  }
1281
1270
  //#endregion
1282
1271
  //#region src/web-api/v1/fetch-labels.ts
1283
- async function vn(e, t = !0, n, r = g) {
1272
+ async function yn(e, t = !0, n, r = g) {
1284
1273
  try {
1285
1274
  return (await F(r, "api/v1/labels", {
1286
1275
  action: "list",
@@ -1293,7 +1282,7 @@ async function vn(e, t = !0, n, r = g) {
1293
1282
  throw l("Error in fetchLabels", e), e;
1294
1283
  }
1295
1284
  }
1296
- async function yn(e = g) {
1285
+ async function bn(e = g) {
1297
1286
  try {
1298
1287
  let { app: t = "" } = e.config;
1299
1288
  return L(e, "api/v1/labels", new URLSearchParams({
@@ -1304,7 +1293,7 @@ async function yn(e = g) {
1304
1293
  throw l("Error in getUserRights", e), e;
1305
1294
  }
1306
1295
  }
1307
- async function bn(e, t, n = !0, r = g) {
1296
+ async function xn(e, t, n = !0, r = g) {
1308
1297
  try {
1309
1298
  return F(r, "api/v1/labels", {
1310
1299
  action: "add",
@@ -1330,7 +1319,7 @@ async function bn(e, t, n = !0, r = g) {
1330
1319
  throw l("Error in add", e), e;
1331
1320
  }
1332
1321
  }
1333
- async function xn(e, t, n = !0, r = g) {
1322
+ async function Sn(e, t, n = !0, r = g) {
1334
1323
  try {
1335
1324
  return F(r, "api/v1/labels", {
1336
1325
  action: "remove",
@@ -1356,7 +1345,7 @@ async function xn(e, t, n = !0, r = g) {
1356
1345
  throw l("Error in remove", e), e;
1357
1346
  }
1358
1347
  }
1359
- async function Sn(e, t, n = !0, r = g) {
1348
+ async function Cn(e, t, n = !0, r = g) {
1360
1349
  try {
1361
1350
  return F(r, "api/v1/labels", {
1362
1351
  action: "rename",
@@ -1376,7 +1365,7 @@ async function Sn(e, t, n = !0, r = g) {
1376
1365
  throw l("Error in rename", e), e;
1377
1366
  }
1378
1367
  }
1379
- async function Cn(e, t = !0, n = g) {
1368
+ async function wn(e, t = !0, n = g) {
1380
1369
  try {
1381
1370
  return F(n, "api/v1/labels", {
1382
1371
  action: "delete",
@@ -1394,7 +1383,7 @@ async function Cn(e, t = !0, n = g) {
1394
1383
  throw l("Error in deleteLabels", e), e;
1395
1384
  }
1396
1385
  }
1397
- async function wn(e, t, n = !0, r = g) {
1386
+ async function Tn(e, t, n = !0, r = g) {
1398
1387
  try {
1399
1388
  return F(r, "api/v1/labels", {
1400
1389
  action: "bulkAdd",
@@ -1414,7 +1403,7 @@ async function wn(e, t, n = !0, r = g) {
1414
1403
  throw l("Error in bulkAdd", e), e;
1415
1404
  }
1416
1405
  }
1417
- async function Tn(e, t, n = !0, r = g) {
1406
+ async function En(e, t, n = !0, r = g) {
1418
1407
  try {
1419
1408
  return F(r, "api/v1/labels", {
1420
1409
  action: "bulkRemove",
@@ -1435,17 +1424,46 @@ async function Tn(e, t, n = !0, r = g) {
1435
1424
  }
1436
1425
  }
1437
1426
  var J = {
1438
- getUserRights: yn,
1439
- add: bn,
1440
- remove: xn,
1441
- rename: Sn,
1442
- delete: Cn,
1443
- bulkAdd: wn,
1444
- bulkRemove: Tn
1427
+ getUserRights: bn,
1428
+ add: xn,
1429
+ remove: Sn,
1430
+ rename: Cn,
1431
+ delete: wn,
1432
+ bulkAdd: Tn,
1433
+ bulkRemove: En
1445
1434
  };
1446
1435
  //#endregion
1436
+ //#region src/web-api/helpers/utils/date-utils.ts
1437
+ function Dn(e) {
1438
+ if (!e) return;
1439
+ let t = new Date(e);
1440
+ return Number.isNaN(t.getTime()) ? void 0 : t;
1441
+ }
1442
+ function On(e) {
1443
+ let t = Dn(e);
1444
+ return !!t && t.getTime() <= Date.now();
1445
+ }
1446
+ function kn(e, t = 7) {
1447
+ let n = Dn(e);
1448
+ if (!n) return !1;
1449
+ let r = Date.now(), i = r + t * 24 * 60 * 60 * 1e3, a = n.getTime();
1450
+ return a > r && a <= i;
1451
+ }
1452
+ //#endregion
1453
+ //#region src/web-api/helpers/utils/with-retry.ts
1454
+ async function An(e, t = 0, n = 1e3) {
1455
+ let r;
1456
+ for (let i = 0; i <= t; i++) try {
1457
+ return await e();
1458
+ } catch (e) {
1459
+ if (r = e, e instanceof O && e.status >= 400 && e.status < 500 && e.status !== 429 || e instanceof DOMException && e.name === "AbortError") throw e;
1460
+ i < t && (c(`Retrying request (${i + 1}/${t})`, { error: e }), await new Promise((e) => setTimeout(e, n)));
1461
+ }
1462
+ throw r;
1463
+ }
1464
+ //#endregion
1447
1465
  //#region src/web-api/v1/fetch-preview.ts
1448
- async function En(e, t, n = g) {
1466
+ async function jn(e, t, n = g) {
1449
1467
  if (typeof window > "u") return F(n, "api/v1/preview", {
1450
1468
  action: "get",
1451
1469
  id: e,
@@ -1462,7 +1480,7 @@ async function En(e, t, n = g) {
1462
1480
  browserUrl: r
1463
1481
  });
1464
1482
  }
1465
- async function Dn(e) {
1483
+ async function Mn(e) {
1466
1484
  let t = new Headers();
1467
1485
  t.append("content-type", "text"), Te(await fetch(e, {
1468
1486
  method: "GET",
@@ -1471,52 +1489,58 @@ async function Dn(e) {
1471
1489
  }
1472
1490
  //#endregion
1473
1491
  //#region src/web-api/v1/fetch-principal.ts
1474
- async function On(e, t = g) {
1492
+ async function Nn(e, t = g) {
1475
1493
  return L(t, "api/v1/principal", new URLSearchParams({ action: "get" }), {
1476
1494
  noAutoAuthentication: M(t),
1477
1495
  ...e
1478
1496
  });
1479
1497
  }
1480
- async function kn(e, t = g) {
1498
+ async function Pn(e, t = g) {
1481
1499
  let n = new URLSearchParams();
1482
1500
  return Object.entries(e).forEach(([e, t]) => {
1483
1501
  t !== void 0 && n.append(e, String(t));
1484
1502
  }), L(t, "api/v1/principal/list", n, { noAutoAuthentication: M(t) });
1485
1503
  }
1486
- async function An(e, t = g) {
1504
+ async function Fn(e, t = g) {
1487
1505
  return e ? L(t, "api/v1/principal", new URLSearchParams({
1488
1506
  action: "userid",
1489
1507
  userid: e
1490
1508
  }), { noAutoAuthentication: M(t) }) : Promise.reject(/* @__PURE__ */ Error("userid is required"));
1491
1509
  }
1492
- async function jn(e, t = g) {
1510
+ async function In(e, t = g) {
1493
1511
  return e.length === 0 ? Promise.reject(/* @__PURE__ */ Error("userids is required")) : L(t, "api/v1/principal/userids", new URLSearchParams({ userids: [...e].join(",") }), { noAutoAuthentication: M(t) });
1494
1512
  }
1495
- var Mn = { principal: {
1496
- get: On,
1497
- list: kn,
1498
- userid: An,
1499
- userids: jn
1500
- } }, Nn = 11;
1501
- async function Pn(e, t, n, r = g) {
1513
+ var Ln = { principal: {
1514
+ get: Nn,
1515
+ list: Pn,
1516
+ userid: Fn,
1517
+ userids: In
1518
+ } };
1519
+ //#endregion
1520
+ //#region src/web-api/v1/fetch-query.ts
1521
+ function Rn(e, t, n) {
1522
+ let r = n.config.aggregationCounts;
1523
+ e.aggregations?.forEach((e) => {
1524
+ e.$hasMore = Pt(e, Nt(e.name, t, r)), e.isTree && Vn(e);
1525
+ });
1526
+ }
1527
+ async function zn(e, t, n, r = g) {
1502
1528
  let i = await F(r, "api/v1/query", {
1503
1529
  query: e,
1504
1530
  $auditRecord: t,
1505
1531
  queryIntentData: n
1506
1532
  });
1507
- i.aggregations.forEach((e) => {
1508
- e.$hasMore = !1, !e.isDistribution && !e.isTree && e.items && (e.$hasMore = e.items.length === Nn), e.isTree && e.items && Y(e);
1509
- }), i.records?.map((e) => Object.assign(e, {
1533
+ Rn(i, e, r), i.records?.map((e) => Object.assign(e, {
1510
1534
  value: e.title,
1511
1535
  type: "default"
1512
1536
  }));
1513
1537
  let a = {
1514
1538
  ...i,
1515
- ...qt(i)
1539
+ ...Jt(i)
1516
1540
  };
1517
1541
  return Promise.resolve(a);
1518
1542
  }
1519
- async function Fn(e, t, n, r = g) {
1543
+ async function Bn(e, t, n, r = g) {
1520
1544
  let { app: i = "" } = r.config, a = {
1521
1545
  methods: [],
1522
1546
  mode: t,
@@ -1529,10 +1553,8 @@ async function Fn(e, t, n, r = g) {
1529
1553
  query: t
1530
1554
  });
1531
1555
  let o = await F(r, "api/v1/multi", a);
1532
- o.results.forEach((e) => {
1533
- e.aggregations.forEach((e) => {
1534
- e.$hasMore = !1, !e.isDistribution && !e.isTree && e.items && (e.$hasMore = e.items.length === Nn), e.isTree && Y(e);
1535
- });
1556
+ o.results.forEach((t, n) => {
1557
+ Rn(t, e[n], r);
1536
1558
  }), o.results.forEach((e) => {
1537
1559
  e.records?.map((e) => Object.assign(e, {
1538
1560
  value: e.title,
@@ -1541,23 +1563,23 @@ async function Fn(e, t, n, r = g) {
1541
1563
  });
1542
1564
  let s = o.results.map((e) => ({
1543
1565
  ...e,
1544
- ...qt(e)
1566
+ ...Jt(e)
1545
1567
  }));
1546
1568
  return Promise.resolve(s);
1547
1569
  }
1548
- function Y(e, t = "", n = 0) {
1570
+ function Vn(e, t = "", n = 0) {
1549
1571
  let r = [];
1550
1572
  return e.items && e.items.forEach((e) => {
1551
1573
  let i = t ? `${t}/${e.value}` : e.value, a = n + 1;
1552
1574
  r.push({
1553
1575
  path: i,
1554
1576
  level: a
1555
- }), e.$path = i, e.$level = a, e.hasChildren ? r = r.concat(Y(e, i, a)) : e.hasChildren = !1;
1577
+ }), e.$path = i, e.$level = a, e.hasChildren ? r = r.concat(Vn(e, i, a)) : e.hasChildren = !1;
1556
1578
  }), r;
1557
1579
  }
1558
1580
  //#endregion
1559
1581
  //#region src/web-api/v1/fetch-query-export.ts
1560
- async function In({ model: e, appName: t, query: n, article: r }, i = g) {
1582
+ async function Hn({ model: e, appName: t, query: n, article: r }, i = g) {
1561
1583
  let { webservice: a, format: o, maxcount: s, exportedColumns: c, export: l } = e, u = {
1562
1584
  app: t,
1563
1585
  webservice: a,
@@ -1575,17 +1597,17 @@ async function In({ model: e, appName: t, query: n, article: r }, i = g) {
1575
1597
  }
1576
1598
  //#endregion
1577
1599
  //#region src/web-api/v1/fetch-query-intent.ts
1578
- async function Ln(e, t = g) {
1600
+ async function Un(e, t = g) {
1579
1601
  return (await F(t, "api/v1/queryintent", { query: e }))?.intents;
1580
1602
  }
1581
1603
  //#endregion
1582
1604
  //#region src/web-api/v1/fetch-security-principal.ts
1583
- function Rn(e, t, n = g) {
1605
+ function Wn(e, t, n = g) {
1584
1606
  return F(n, "api/v1/security.principal", e, { signal: t });
1585
1607
  }
1586
1608
  //#endregion
1587
1609
  //#region src/web-api/v1/fetch-similar-documents.ts
1588
- async function zn(e, t, n, r = g) {
1610
+ async function Gn(e, t, n, r = g) {
1589
1611
  return (await F(r, "api/v1/similardocuments", {
1590
1612
  sourceDocumentId: e,
1591
1613
  query: { name: t }
@@ -1593,7 +1615,7 @@ async function zn(e, t, n, r = g) {
1593
1615
  }
1594
1616
  //#endregion
1595
1617
  //#region src/web-api/v1/fetch-sponsored-links.ts
1596
- async function Bn(e, t, n = g) {
1618
+ async function Kn(e, t, n = g) {
1597
1619
  return (await F(n, "api/v1/query.links", {
1598
1620
  webservice: e,
1599
1621
  query: t
@@ -1604,9 +1626,9 @@ async function Bn(e, t, n = g) {
1604
1626
  }
1605
1627
  //#endregion
1606
1628
  //#region src/utils/to-sql.ts
1607
- function Vn(e, t) {
1629
+ function qn(e, t) {
1608
1630
  if (typeof e == "number") return `${e}`;
1609
- if (Xt(e)) return t ? `'${Hn(e)}'` : Hn(e);
1631
+ if (Zt(e)) return t ? `'${Jn(e)}'` : Jn(e);
1610
1632
  if (typeof e == "boolean") return e ? "true" : "false";
1611
1633
  if (e === null) return "null";
1612
1634
  if (Array.isArray(e)) {
@@ -1617,10 +1639,10 @@ function Vn(e, t) {
1617
1639
  }
1618
1640
  return t ? `'${e}'` : e;
1619
1641
  }
1620
- function Hn(e) {
1642
+ function Jn(e) {
1621
1643
  if (!e) return "";
1622
1644
  try {
1623
- return $t(e) === 0 ? new Intl.DateTimeFormat("en-CA", {
1645
+ return en(e) === 0 ? new Intl.DateTimeFormat("en-CA", {
1624
1646
  year: "numeric",
1625
1647
  month: "2-digit",
1626
1648
  day: "2-digit"
@@ -1636,7 +1658,7 @@ function Hn(e) {
1636
1658
  }
1637
1659
  //#endregion
1638
1660
  //#region src/web-api/v1/fetch-suggest.ts
1639
- async function Un(e, t, n, r, i, a = g) {
1661
+ async function Yn(e, t, n, r, i, a = g) {
1640
1662
  let { app: o } = a.config, s = {
1641
1663
  app: o || "",
1642
1664
  suggestQuery: e,
@@ -1651,7 +1673,7 @@ async function Un(e, t, n, r, i, a = g) {
1651
1673
  throw console.error("Error fetching suggestions:", e), e;
1652
1674
  }
1653
1675
  }
1654
- async function Wn(e, t, n, r, i = g) {
1676
+ async function Xn(e, t, n, r, i = g) {
1655
1677
  let { app: a } = i.config;
1656
1678
  return (await F(i, "api/v1/suggestquery", {
1657
1679
  app: a || "",
@@ -1661,7 +1683,7 @@ async function Wn(e, t, n, r, i = g) {
1661
1683
  kinds: r
1662
1684
  })).suggests;
1663
1685
  }
1664
- async function Gn(e, t, n, r = g) {
1686
+ async function Zn(e, t, n, r = g) {
1665
1687
  if (!t) return Promise.resolve([]);
1666
1688
  let { app: i } = r.config, a = await F(r, "api/v1/suggestfield", {
1667
1689
  app: i || "",
@@ -1670,12 +1692,12 @@ async function Gn(e, t, n, r = g) {
1670
1692
  query: n
1671
1693
  });
1672
1694
  return a.suggests.forEach((e) => {
1673
- e.display = Vn(e.display);
1695
+ e.display = qn(e.display);
1674
1696
  }), a.suggests;
1675
1697
  }
1676
1698
  //#endregion
1677
1699
  //#region src/web-api/v1/fetch-text-chunk.ts
1678
- async function Kn(e, t, n, r, i, a, o = g) {
1700
+ async function Qn(e, t, n, r, i, a, o = g) {
1679
1701
  return F(o, "api/v1/doc.textchunks", {
1680
1702
  id: e,
1681
1703
  textChunks: t,
@@ -1687,14 +1709,14 @@ async function Kn(e, t, n, r, i, a, o = g) {
1687
1709
  }
1688
1710
  //#endregion
1689
1711
  //#region src/web-api/v1/fetch-user-settings.ts
1690
- async function qn(e = g) {
1712
+ async function $n(e = g) {
1691
1713
  let { app: t } = e.config;
1692
1714
  return L(e, "api/v1/usersettings", new URLSearchParams({
1693
1715
  app: t || "",
1694
1716
  action: "load"
1695
1717
  }));
1696
1718
  }
1697
- async function Jn(e, t, n = g) {
1719
+ async function er(e, t, n = g) {
1698
1720
  let r = {
1699
1721
  action: "save",
1700
1722
  userSettings: e,
@@ -1702,7 +1724,7 @@ async function Jn(e, t, n = g) {
1702
1724
  };
1703
1725
  return q(r), F(n, "api/v1/usersettings", r);
1704
1726
  }
1705
- async function Yn(e, t, n = g) {
1727
+ async function tr(e, t, n = g) {
1706
1728
  let r = {
1707
1729
  action: "patch",
1708
1730
  userSettings: e,
@@ -1710,12 +1732,12 @@ async function Yn(e, t, n = g) {
1710
1732
  };
1711
1733
  return q(r), F(n, "api/v1/usersettings", r);
1712
1734
  }
1713
- async function Xn(e = g) {
1714
- return Jn({}, { type: "UserSettings_Reset" }, e);
1735
+ async function nr(e = g) {
1736
+ return er({}, { type: "UserSettings_Reset" }, e);
1715
1737
  }
1716
1738
  //#endregion
1717
1739
  //#region src/web-api/v2/fetch-change-password.ts
1718
- async function Zn(e, t, n = g) {
1740
+ async function rr(e, t, n = g) {
1719
1741
  return F(n, "api/v2/security/password/change", {
1720
1742
  newPassword: e,
1721
1743
  currentPassword: t
@@ -1723,39 +1745,39 @@ async function Zn(e, t, n = g) {
1723
1745
  }
1724
1746
  //#endregion
1725
1747
  //#region src/web-api/v2/fetch-document-upload-container.ts
1726
- var X = "api/v2/document-upload/container";
1727
- function Qn(e) {
1748
+ var Y = "api/v2/document-upload/container";
1749
+ function ir(e) {
1728
1750
  let t = new URLSearchParams();
1729
1751
  return e.page !== void 0 && t.set("page", String(e.page)), e.pageSize !== void 0 && t.set("pageSize", String(e.pageSize)), t;
1730
1752
  }
1731
- function $n(e = {}, t = g) {
1732
- return L(t, X, Qn(e));
1753
+ function ar(e = {}, t = g) {
1754
+ return L(t, Y, ir(e));
1733
1755
  }
1734
- function er(e, t = g) {
1735
- return L(t, `${X}/${encodeURIComponent(e)}`);
1756
+ function or(e, t = g) {
1757
+ return L(t, `${Y}/${encodeURIComponent(e)}`);
1736
1758
  }
1737
- function tr(e, t = g) {
1738
- return F(t, X, e);
1759
+ function sr(e, t = g) {
1760
+ return F(t, Y, e);
1739
1761
  }
1740
- function nr(e, t, n = g) {
1741
- return B(n, `${X}/${encodeURIComponent(e)}`, t);
1762
+ function cr(e, t, n = g) {
1763
+ return B(n, `${Y}/${encodeURIComponent(e)}`, t);
1742
1764
  }
1743
- async function rr(e, t = g) {
1765
+ async function lr(e, t = g) {
1744
1766
  let n = (await R(t, "api/v2/document-upload/containers", void 0, { body: { containerIds: e } }))?.failed ?? [], r = new Set(n.map((e) => e.containerId));
1745
1767
  return {
1746
1768
  succeeded: e.filter((e) => !r.has(e)),
1747
1769
  failed: n
1748
1770
  };
1749
1771
  }
1750
- function ir(e, t = {}, n = g) {
1751
- return L(n, `${X}/${encodeURIComponent(e)}/documents`, Qn(t));
1772
+ function ur(e, t = {}, n = g) {
1773
+ return L(n, `${Y}/${encodeURIComponent(e)}/documents`, ir(t));
1752
1774
  }
1753
- function ar(e, t, n = g) {
1754
- return R(n, `${X}/${encodeURIComponent(e)}/documents`, void 0, { body: { fileIds: t } });
1775
+ function dr(e, t, n = g) {
1776
+ return R(n, `${Y}/${encodeURIComponent(e)}/documents`, void 0, { body: { fileIds: t } });
1755
1777
  }
1756
1778
  //#endregion
1757
1779
  //#region src/web-api/v2/fetch-forgot-password.ts
1758
- async function or(e, t = g) {
1780
+ async function fr(e, t = g) {
1759
1781
  return F(t, "api/v2/security/password/ask-reset-email", {
1760
1782
  changePasswordRedirectUrl: `${window.location.origin}/login?mode=changepassword`,
1761
1783
  userName: e
@@ -1763,118 +1785,118 @@ async function or(e, t = g) {
1763
1785
  }
1764
1786
  //#endregion
1765
1787
  //#region src/web-api/v2/fetch-user-profile.ts
1766
- async function sr(e, t = g) {
1788
+ async function pr(e, t = g) {
1767
1789
  return await L(t, `api/v2/user-profile/${e}`);
1768
1790
  }
1769
- async function cr(e, t = g) {
1791
+ async function mr(e, t = g) {
1770
1792
  return await F(t, "api/v2/user-profile", e);
1771
1793
  }
1772
- async function lr(e, t, n, r = g) {
1794
+ async function hr(e, t, n, r = g) {
1773
1795
  return await z(r, `api/v2/user-profile/${e.data?.id}/${t}/${n}`, e);
1774
1796
  }
1775
- async function ur(e, t, n, r = g) {
1797
+ async function gr(e, t, n, r = g) {
1776
1798
  return (await R(r, `api/v2/user-profile/${e.data?.id}/${t}/${n}`)).success === !0;
1777
1799
  }
1778
1800
  //#endregion
1779
1801
  //#region src/web-api/v2/fetch-version.ts
1780
- async function dr(e = g) {
1802
+ async function _r(e = g) {
1781
1803
  return await L(e, "api/v2/version");
1782
1804
  }
1783
1805
  //#endregion
1784
1806
  //#region src/client/create-api.ts
1785
- var Z = (e, t) => (...n) => {
1807
+ var X = (e, t) => (...n) => {
1786
1808
  let r = Array(Math.max(0, e.length - n.length)).fill(void 0);
1787
1809
  return e(...n, ...r, t);
1788
1810
  };
1789
- function fr(e) {
1811
+ function vr(e) {
1790
1812
  return {
1791
1813
  app: {
1792
- get: Z(Et, e),
1793
- preLogin: Z(Dt, e)
1814
+ get: X(Dt, e),
1815
+ preLogin: X(Ot, e)
1794
1816
  },
1795
1817
  principal: {
1796
- get: Z(On, e),
1797
- list: Z(kn, e),
1798
- userid: Z(An, e),
1799
- userids: Z(jn, e),
1800
- search: Z(Rn, e)
1818
+ get: X(Nn, e),
1819
+ list: X(Pn, e),
1820
+ userid: X(Fn, e),
1821
+ userids: X(In, e),
1822
+ search: X(Wn, e)
1801
1823
  },
1802
1824
  query: {
1803
- search: Z(Pn, e),
1804
- bulk: Z(Fn, e),
1805
- intent: Z(Ln, e),
1806
- export: Z(In, e),
1807
- aggregate: Z(mn, e),
1808
- sponsoredLinks: Z(Bn, e),
1809
- similarDocuments: Z(zn, e)
1825
+ search: X(zn, e),
1826
+ bulk: X(Bn, e),
1827
+ intent: X(Un, e),
1828
+ export: X(Hn, e),
1829
+ aggregate: X(hn, e),
1830
+ sponsoredLinks: X(Kn, e),
1831
+ similarDocuments: X(Gn, e)
1810
1832
  },
1811
1833
  suggest: {
1812
- get: Z(Un, e),
1813
- query: Z(Wn, e),
1814
- field: Z(Gn, e)
1834
+ get: X(Yn, e),
1835
+ query: X(Xn, e),
1836
+ field: X(Zn, e)
1815
1837
  },
1816
1838
  preview: {
1817
- get: Z(En, e),
1818
- textChunks: Z(Kn, e)
1839
+ get: X(jn, e),
1840
+ textChunks: X(Qn, e)
1819
1841
  },
1820
1842
  labels: {
1821
- get: Z(vn, e),
1822
- rights: Z(J.getUserRights, e),
1823
- add: Z(J.add, e),
1824
- remove: Z(J.remove, e),
1825
- rename: Z(J.rename, e),
1826
- delete: Z(J.delete, e),
1827
- bulkAdd: Z(J.bulkAdd, e),
1828
- bulkRemove: Z(J.bulkRemove, e)
1843
+ get: X(yn, e),
1844
+ rights: X(J.getUserRights, e),
1845
+ add: X(J.add, e),
1846
+ remove: X(J.remove, e),
1847
+ rename: X(J.rename, e),
1848
+ delete: X(J.delete, e),
1849
+ bulkAdd: X(J.bulkAdd, e),
1850
+ bulkRemove: X(J.bulkRemove, e)
1829
1851
  },
1830
1852
  dataset: {
1831
- get: Z(hn, e),
1832
- getMany: Z(gn, e),
1833
- list: Z(_n, e)
1853
+ get: X(gn, e),
1854
+ getMany: X(_n, e),
1855
+ list: X(vn, e)
1834
1856
  },
1835
1857
  userSettings: {
1836
- get: Z(qn, e),
1837
- save: Z(Jn, e),
1838
- patch: Z(Yn, e),
1839
- reset: Z(Xn, e)
1858
+ get: X($n, e),
1859
+ save: X(er, e),
1860
+ patch: X(tr, e),
1861
+ reset: X(nr, e)
1840
1862
  },
1841
1863
  userProfile: {
1842
- get: Z(sr, e),
1843
- create: Z(cr, e),
1844
- patch: Z(lr, e),
1845
- deleteProperty: Z(ur, e)
1864
+ get: X(pr, e),
1865
+ create: X(mr, e),
1866
+ patch: X(hr, e),
1867
+ deleteProperty: X(gr, e)
1846
1868
  },
1847
1869
  containers: {
1848
- list: Z($n, e),
1849
- get: Z(er, e),
1850
- create: Z(tr, e),
1851
- update: Z(nr, e),
1852
- delete: Z(rr, e),
1853
- listDocuments: Z(ir, e),
1854
- deleteDocuments: Z(ar, e)
1870
+ list: X(ar, e),
1871
+ get: X(or, e),
1872
+ create: X(sr, e),
1873
+ update: X(cr, e),
1874
+ delete: X(lr, e),
1875
+ listDocuments: X(ur, e),
1876
+ deleteDocuments: X(dr, e)
1855
1877
  },
1856
1878
  password: {
1857
- change: Z(Zn, e),
1858
- sendResetEmail: Z(or, e)
1879
+ change: X(rr, e),
1880
+ sendResetEmail: X(fr, e)
1859
1881
  },
1860
- version: Z(dr, e)
1882
+ version: X(_r, e)
1861
1883
  };
1862
1884
  }
1863
1885
  //#endregion
1864
1886
  //#region src/client/create-atomic-client.ts
1865
- function pr(e) {
1887
+ function yr(e) {
1866
1888
  return {
1867
1889
  config: e.config,
1868
1890
  storagePrefix: e.storagePrefix,
1869
1891
  configure: (t) => b(e, t),
1870
- initializeConfig: () => Ot(e),
1892
+ initializeConfig: () => kt(e),
1871
1893
  auth: {
1872
- login: (t) => lt(e, t),
1873
- logout: () => ht(e),
1874
- isAuthenticated: () => xt(e),
1875
- hasSession: () => Ue(e),
1876
- isRedirectPending: () => yt(e),
1877
- clearSession: () => _t(e),
1894
+ login: (t) => ut(e, t),
1895
+ logout: () => gt(e),
1896
+ isAuthenticated: () => St(e),
1897
+ hasSession: () => We(e),
1898
+ isRedirectPending: () => bt(e),
1899
+ clearSession: () => vt(e),
1878
1900
  getToken: () => T(e),
1879
1901
  setToken: (t) => A(e, t),
1880
1902
  on: (t, n) => e.events.on(t, n)
@@ -1886,29 +1908,29 @@ function pr(e) {
1886
1908
  patch: (t, n, r) => z(e, t, n, r),
1887
1909
  del: (t, n, r) => R(e, t, n, r)
1888
1910
  },
1889
- api: fr(e),
1911
+ api: vr(e),
1890
1912
  context: e
1891
1913
  };
1892
1914
  }
1893
- function mr(e) {
1915
+ function br(e) {
1894
1916
  let { httpAdapter: t, storagePrefix: n, ...r } = e, i = pe({
1895
1917
  config: {},
1896
1918
  storagePrefix: n,
1897
1919
  httpAdapter: t
1898
1920
  });
1899
- return b(i, r), pr(i);
1921
+ return b(i, r), yr(i);
1900
1922
  }
1901
- var hr = pr(g);
1902
- function gr() {
1903
- return hr;
1923
+ var xr = yr(g);
1924
+ function Sr() {
1925
+ return xr;
1904
1926
  }
1905
1927
  //#endregion
1906
1928
  //#region src/utils/aggregations.ts
1907
- var _r = /.*:\(?([><=\d\-.AND ]+)\)?/;
1908
- function vr(e, t) {
1929
+ var Cr = /.*:\(?([><=\d\-.AND ]+)\)?/;
1930
+ function wr(e, t) {
1909
1931
  return !e?.items || e?.items?.length === 0 ? [] : e.items.reduce((n, r) => {
1910
1932
  if (!r.value || r.value === "") return n;
1911
- let i = yr(r, e.column);
1933
+ let i = Tr(r, e.column);
1912
1934
  return n.push({
1913
1935
  operator: i.operator,
1914
1936
  value: i.value,
@@ -1919,8 +1941,8 @@ function vr(e, t) {
1919
1941
  }), n;
1920
1942
  }, []);
1921
1943
  }
1922
- function yr(e, t) {
1923
- let n = t, r = e.value.match(_r);
1944
+ function Tr(e, t) {
1945
+ let n = t, r = e.value.match(Cr);
1924
1946
  if (r?.[1]) {
1925
1947
  let t = (r?.[1].split(" AND ")).map((t) => ({
1926
1948
  field: n,
@@ -1948,26 +1970,26 @@ function yr(e, t) {
1948
1970
  display: e.display
1949
1971
  };
1950
1972
  }
1951
- function br(e, t, n) {
1973
+ function Er(e, t, n) {
1952
1974
  return e.valuesAreExpressions ? t.display === n.display : t.value === n.value;
1953
1975
  }
1954
- function xr(e) {
1955
- return e.items &&= e.items.map((e) => xr(e)), e.items?.some((e) => e.$selected || e.$opened) && (e.$opened = !0), e;
1976
+ function Dr(e) {
1977
+ return e.items &&= e.items.map((e) => Dr(e)), e.items?.some((e) => e.$selected || e.$opened) && (e.$opened = !0), e;
1956
1978
  }
1957
- function Sr(e, t) {
1979
+ function Or(e, t) {
1958
1980
  let n = [];
1959
1981
  if (e.length > 0) {
1960
1982
  let r = /* @__PURE__ */ new Map(), i = t.replace(/[.*+?^${}()|[\]\\]/g, "\\$&").normalize("NFD").replace(/[\u0300-\u036f]/g, ""), a = RegExp(`\\b${i}`, "i");
1961
1983
  e.forEach((e) => {
1962
1984
  if (e.display.length > 1) {
1963
1985
  let i = e.display.normalize("NFD").replace(/[\u0300-\u036f]/g, ""), o = a.exec(i);
1964
- Cr(n, r, "/", e.display, +(e.frequency || 0), 1, (o?.index || 0) + t.length);
1986
+ kr(n, r, "/", e.display, +(e.frequency || 0), 1, (o?.index || 0) + t.length);
1965
1987
  }
1966
1988
  });
1967
1989
  }
1968
1990
  return n;
1969
1991
  }
1970
- function Cr(e, t, n, r, i, a, o) {
1992
+ function kr(e, t, n, r, i, a, o) {
1971
1993
  let s = r.indexOf("/", n.length), c = r.substring(0, s + 1), l = t.get(c);
1972
1994
  if (!l) {
1973
1995
  let u = c.replace(/^\/|\/$/g, "");
@@ -1981,11 +2003,11 @@ function Cr(e, t, n, r, i, a, o) {
1981
2003
  $path: u
1982
2004
  }, t.set(c, l), e.push(l);
1983
2005
  }
1984
- c.length < r.length && (l.hasChildren = !0, Cr(l.items, t, c, r, i, a + 1, o));
2006
+ c.length < r.length && (l.hasChildren = !0, kr(l.items, t, c, r, i, a + 1, o));
1985
2007
  }
1986
2008
  //#endregion
1987
2009
  //#region src/utils/bisect.ts
1988
- function wr(e, t) {
2010
+ function Ar(e, t) {
1989
2011
  return e.reduce((e, n) => (t(n) ? e.true.push(n) : e.false.push(n), e), {
1990
2012
  true: [],
1991
2013
  false: []
@@ -1993,34 +2015,34 @@ function wr(e, t) {
1993
2015
  }
1994
2016
  //#endregion
1995
2017
  //#region src/utils/concepts.ts
1996
- var Tr = /(([+-])?\(([^)]+)\))|(([+-])?\[([^\]]+)\])|(([+-])?"([^"]+)")|(([+-])?\/([^/]+)\/)|(([+-])?(\S+))/g, Er = 2, Dr = 3, Or = 5, kr = 6, Ar = 8, jr = 9, Mr = 11, Nr = 12, Pr = 14, Fr = 15;
1997
- function Q(e) {
2018
+ var jr = /(([+-])?\(([^)]+)\))|(([+-])?\[([^\]]+)\])|(([+-])?"([^"]+)")|(([+-])?\/([^/]+)\/)|(([+-])?(\S+))/g, Mr = 2, Nr = 3, Pr = 5, Fr = 6, Ir = 8, Lr = 9, Rr = 11, zr = 12, Br = 14, Vr = 15;
2019
+ function Z(e) {
1998
2020
  if (!e) return [];
1999
- let t = [], n = e.matchAll(Tr);
2000
- for (let e of n) e[Dr] ? t.push({
2021
+ let t = [], n = e.matchAll(jr);
2022
+ for (let e of n) e[Nr] ? t.push({
2001
2023
  type: "group",
2002
- value: e[Dr],
2003
- op: e[Er]
2004
- }) : e[kr] ? t.push({
2005
- type: "adjacent",
2006
- value: e[kr],
2007
- op: e[Or]
2008
- }) : e[jr] ? t.push({
2009
- type: "exact",
2010
- value: e[jr],
2011
- op: e[Ar]
2012
- }) : e[Nr] ? t.push({
2013
- type: "regex",
2014
2024
  value: e[Nr],
2015
2025
  op: e[Mr]
2016
- }) : e[Fr] && t.push({
2017
- type: "token",
2026
+ }) : e[Fr] ? t.push({
2027
+ type: "adjacent",
2018
2028
  value: e[Fr],
2019
2029
  op: e[Pr]
2030
+ }) : e[Lr] ? t.push({
2031
+ type: "exact",
2032
+ value: e[Lr],
2033
+ op: e[Ir]
2034
+ }) : e[zr] ? t.push({
2035
+ type: "regex",
2036
+ value: e[zr],
2037
+ op: e[Rr]
2038
+ }) : e[Vr] && t.push({
2039
+ type: "token",
2040
+ value: e[Vr],
2041
+ op: e[Br]
2020
2042
  });
2021
2043
  return t;
2022
2044
  }
2023
- function Ir(e) {
2045
+ function Q(e) {
2024
2046
  return e.map((e) => {
2025
2047
  let t = e.op || "";
2026
2048
  switch (e.type) {
@@ -2033,32 +2055,32 @@ function Ir(e) {
2033
2055
  }
2034
2056
  }).join(" ");
2035
2057
  }
2036
- function Lr(e, t, n) {
2037
- let r = Q(e);
2058
+ function Hr(e, t, n) {
2059
+ let r = Z(e);
2038
2060
  for (let e of t) r.push({
2039
2061
  type: "adjacent",
2040
2062
  value: e,
2041
2063
  op: n
2042
2064
  });
2043
- return Ir(r);
2065
+ return Q(r);
2044
2066
  }
2045
- function Rr(e, t) {
2046
- let n = Q(t), r = n.findIndex((t) => t.value === e);
2047
- return r === -1 ? t : (n.splice(r, 1), Ir(n));
2067
+ function Ur(e, t) {
2068
+ let n = Z(t), r = n.findIndex((t) => t.value === e);
2069
+ return r === -1 ? t : (n.splice(r, 1), Q(n));
2048
2070
  }
2049
- function zr(e) {
2050
- return Ir(Q(e).filter((e) => e.type !== "adjacent"));
2071
+ function Wr(e) {
2072
+ return Q(Z(e).filter((e) => e.type !== "adjacent"));
2051
2073
  }
2052
- function Br(e) {
2053
- return Q(e).filter((e) => e.type === "adjacent").map((e) => e.value);
2074
+ function Gr(e) {
2075
+ return Z(e).filter((e) => e.type === "adjacent").map((e) => e.value);
2054
2076
  }
2055
2077
  //#endregion
2056
2078
  //#region src/utils/date.ts
2057
- function Vr(e, t, n) {
2058
- let r = new Intl.RelativeTimeFormat(e, { numeric: "auto" }), { offset: i, unit: a, isFuture: o } = Hr(t, n);
2079
+ function Kr(e, t, n) {
2080
+ let r = new Intl.RelativeTimeFormat(e, { numeric: "auto" }), { offset: i, unit: a, isFuture: o } = qr(t, n);
2059
2081
  return r.format(i * (o ? 1 : -1), a);
2060
2082
  }
2061
- function Hr(e, t) {
2083
+ function qr(e, t) {
2062
2084
  let n = new Date(e), r = t ? new Date(t) : /* @__PURE__ */ new Date(), i = Math.abs(r.getTime() - n.getTime());
2063
2085
  return {
2064
2086
  offset: Math.floor(i / (1e3 * 60 * 60 * 24)),
@@ -2068,13 +2090,13 @@ function Hr(e, t) {
2068
2090
  }
2069
2091
  //#endregion
2070
2092
  //#region src/utils/is-not-input-event.ts
2071
- function Ur(e) {
2093
+ function Jr(e) {
2072
2094
  let t = e.target;
2073
2095
  return t && t.nodeName !== "INPUT" && t.nodeName !== "TEXTAREA";
2074
2096
  }
2075
2097
  //#endregion
2076
2098
  //#region src/utils/notification.ts
2077
- function Wr(e) {
2099
+ function Yr(e) {
2078
2100
  let t = new CustomEvent("notification", {
2079
2101
  bubbles: !0,
2080
2102
  cancelable: !1,
@@ -2082,30 +2104,30 @@ function Wr(e) {
2082
2104
  });
2083
2105
  dispatchEvent(t);
2084
2106
  }
2085
- var Gr = {
2107
+ var Xr = {
2086
2108
  success: (e, t) => {
2087
- Wr({
2109
+ Yr({
2088
2110
  type: "success",
2089
2111
  message: e,
2090
2112
  options: t
2091
2113
  });
2092
2114
  },
2093
2115
  info: (e, t) => {
2094
- Wr({
2116
+ Yr({
2095
2117
  type: "info",
2096
2118
  message: e,
2097
2119
  options: t
2098
2120
  });
2099
2121
  },
2100
2122
  warning: (e, t) => {
2101
- Wr({
2123
+ Yr({
2102
2124
  type: "warning",
2103
2125
  message: e,
2104
2126
  options: t
2105
2127
  });
2106
2128
  },
2107
2129
  error: (e, t) => {
2108
- Wr({
2130
+ Yr({
2109
2131
  type: "error",
2110
2132
  message: e,
2111
2133
  options: t
@@ -2114,13 +2136,13 @@ var Gr = {
2114
2136
  };
2115
2137
  //#endregion
2116
2138
  //#region src/utils/query-params.ts
2117
- function Kr(e) {
2139
+ function Zr(e) {
2118
2140
  if (e === void 0) return;
2119
2141
  let { q: t, f: n, p: r, s: i, t: a, n: o, b: s } = $(e), [c] = e.split("?");
2120
2142
  return {
2121
2143
  path: c,
2122
2144
  text: t,
2123
- filters: n ? Yr(n) : void 0,
2145
+ filters: n ? ei(n) : void 0,
2124
2146
  page: r ? parseInt(r, 10) : void 0,
2125
2147
  sort: i,
2126
2148
  tab: a,
@@ -2128,17 +2150,17 @@ function Kr(e) {
2128
2150
  basket: s
2129
2151
  };
2130
2152
  }
2131
- function qr(e) {
2153
+ function Qr(e) {
2132
2154
  if (!e) return "";
2133
2155
  let { text: t, filters: n, page: r, sort: i, tab: a, name: o, basket: s } = e, c = {};
2134
2156
  return t && (c.q = t), n && (c.f = JSON.stringify(n)), r && (c.p = r.toString()), i && (c.s = i), a && (c.t = a), o && (c.n = o), s && (c.b = s), new URLSearchParams(c).toString() || "";
2135
2157
  }
2136
- function Jr(e) {
2158
+ function $r(e) {
2137
2159
  if (e === void 0) return [];
2138
2160
  let { f: t } = $(e);
2139
- return Yr(t);
2161
+ return ei(t);
2140
2162
  }
2141
- function Yr(e) {
2163
+ function ei(e) {
2142
2164
  let t = decodeURIComponent(e);
2143
2165
  try {
2144
2166
  return JSON.parse(t ?? "[]");
@@ -2152,41 +2174,41 @@ function $(e) {
2152
2174
  let n = new URLSearchParams(t);
2153
2175
  return Object.fromEntries(n);
2154
2176
  }
2155
- function Xr(e) {
2177
+ function ti(e) {
2156
2178
  let { q: t = "" } = $(e);
2157
2179
  return t;
2158
2180
  }
2159
- function Zr(e) {
2181
+ function ni(e) {
2160
2182
  let { id: t } = $(e);
2161
2183
  return decodeURIComponent(t);
2162
2184
  }
2163
- function Qr(e) {
2185
+ function ri(e) {
2164
2186
  let { p: t = "0" } = $(e);
2165
2187
  return parseInt(t, 10);
2166
2188
  }
2167
- function $r(e) {
2189
+ function ii(e) {
2168
2190
  let { t } = $(e);
2169
2191
  return t;
2170
2192
  }
2171
2193
  //#endregion
2172
2194
  //#region src/utils/syslang.ts
2173
- function ei(e, t) {
2195
+ function ai(e, t) {
2174
2196
  if (!e) return e;
2175
2197
  let n = 0, r = e.length, i = 0;
2176
2198
  if (e[i] === "[") {
2177
2199
  for (; i < r && /[0-9]/.test(e[i]);) i++;
2178
2200
  e[i] === "]" && (n = i + 1);
2179
2201
  }
2180
- let a = ti(e, n, !1);
2202
+ let a = oi(e, n, !1);
2181
2203
  if (!a) return e;
2182
2204
  let o = t.charCodeAt(0), s = t.charCodeAt(1), c = a;
2183
2205
  for (; c;) if (o === c.lang1 && s === c.lang2) {
2184
- let t = ti(e, c.end + 4, !0);
2206
+ let t = oi(e, c.end + 4, !0);
2185
2207
  return e.substring(t.start, t.end);
2186
- } else c = ti(e, c.end + 4, !1);
2208
+ } else c = oi(e, c.end + 4, !1);
2187
2209
  return e.substring(a.start, a.end) || e;
2188
2210
  }
2189
- function ti(e, t, n) {
2211
+ function oi(e, t, n) {
2190
2212
  for (let n = t, r = e.length - 3; n < r; n++) if (e[n] === "[" && e[n + 3] === "]") return {
2191
2213
  start: t,
2192
2214
  end: n,
@@ -2202,7 +2224,7 @@ function ti(e, t, n) {
2202
2224
  }
2203
2225
  //#endregion
2204
2226
  //#region src/utils/utilities.ts
2205
- function ni(e, t) {
2227
+ function si(e, t) {
2206
2228
  let { useLocale: n, useLocaleAsPrefix: r, indexFile: i, path: a, folder: o } = t, s = n ? `${e}/` : null, c = r ? `${e}.${i}` : i ?? "";
2207
2229
  return [
2208
2230
  a,
@@ -2211,4 +2233,4 @@ function ni(e, t) {
2211
2233
  ].filter((e) => e !== void 0).join("/");
2212
2234
  }
2213
2235
  //#endregion
2214
- export { Bn as $, r as $n, Et as $t, gr as A, M as An, Qt as At, er as B, be as Bn, W as Bt, _r as C, Re as Cn, ln as Ct, Sr as D, je as Dn, Jt as Dt, yr as E, Me as En, en as Et, lr as F, k as Fn, Gt as Ft, Xn as G, m as Gn, H as Gt, $n as H, h as Hn, It as Ht, or as I, O as In, Kt as It, Jn as J, ne as Jn, Nt as Jt, qn as K, ie as Kn, V as Kt, tr as L, Se as Ln, G as Lt, cr as M, j as Mn, Zt as Mt, ur as N, we as Nn, nn as Nt, vr as O, F as On, Yt as Ot, sr as P, Ce as Pn, qt as Pt, Wn as Q, te as Qn, kt as Qt, ar as R, E as Rn, Wt as Rt, wr as S, ze as Sn, cn as St, xr as T, I as Tn, $t as Tt, nr as U, ue as Un, Ft as Ut, ir as V, de as Vn, Lt as Vt, Zn as W, ae as Wn, U as Wt, Un as X, p as Xn, jt as Xt, Kn as Y, re as Yn, Mt as Yt, Gn as Z, ee as Zn, At as Zt, Br as _, Ke as _n, _n as _t, Zr as a, z as an, n as ar, Fn as at, zr as b, Be as bn, pn as bt, $r as c, St as cn, On as ct, $ as d, gt as dn, jn as dt, Dt as en, d as er, zn as et, Gr as f, mt as fn, En as ft, Lr as g, Je as gn, hn as gt, Vr as h, Ye as hn, J as ht, Jr as i, wt as in, c as ir, Y as it, dr as j, Te as jn, K as jt, mr as k, De as kn, Xt as kt, Xr as l, bt as ln, kn as lt, Hr as m, at as mn, vn as mt, ei as n, Tt as nn, l as nr, Ln as nt, Qr as o, Ct as on, Pn as ot, Ur as p, ut as pn, Dn as pt, Yn as q, f as qn, Pt as qt, Yr as r, B as rn, s as rr, In as rt, Kr as s, R as sn, Mn as st, ni as t, Ot as tn, o as tr, Rn as tt, qr as u, vt as un, An as ut, Q as v, Ge as vn, gn as vt, br as w, Ie as wn, tn as wt, Ir as x, L as xn, q as xt, Rr as y, He as yn, mn as yt, rr as z, xe as zn, Vt as zt };
2236
+ export { qn as $, ne as $n, Ft as $t, Sr as A, I as An, en as At, or as B, k as Bn, Jt as Bt, Cr as C, Ke as Cn, _n as Ct, Or as D, Be as Dn, ln as Dt, Tr as E, L as En, q as Et, hr as F, M as Fn, Zt as Ft, nr as G, be as Gn, Ht as Gt, ar as H, Se as Hn, qt as Ht, fr as I, Te as In, $t as It, er as J, ue as Jn, Lt as Jt, $n as K, de as Kn, W as Kt, sr as L, j as Ln, K as Lt, mr as M, Me as Mn, an as Mt, gr as N, F as Nn, Yt as Nt, wr as O, ze as On, un as Ot, pr as P, De as Pn, Xt as Pt, Xn as Q, f as Qn, V as Qt, dr as R, we as Rn, Qt as Rt, Ar as S, qe as Sn, vn as St, Dr as T, Ve as Tn, mn as Tt, cr as U, E as Un, G as Ut, ur as V, O as Vn, Kt as Vt, rr as W, xe as Wn, Gt as Wt, Yn as X, m as Xn, U as Xt, Qn as Y, ae as Yn, It as Yt, Zn as Z, ie as Zn, H as Zt, Gr as _, ht as _n, On as _t, ni as a, Ot as an, d as ar, Vn as at, Wr as b, Xe as bn, J as bt, ii as c, B as cn, s as cr, Ln as ct, $ as d, wt as dn, Fn as dt, jt as en, re as er, Kn as et, Xr as f, R as fn, In as ft, Hr as g, _t as gn, kn as gt, Kr as h, yt as hn, An as ht, $r as i, Dt as in, r as ir, Hn as it, _r as j, Ne as jn, tn as jt, br as k, Le as kn, nn as kt, ti as l, Tt as ln, c as lr, Nn as lt, qr as m, xt as mn, Mn as mt, ai as n, Nt as nn, ee as nr, Wn as nt, ri as o, kt as on, o as or, Bn as ot, Jr as p, Ct as pn, jn as pt, tr as q, h as qn, Rt as qt, ei as r, At as rn, te as rr, Un as rt, Zr as s, Et as sn, l as sr, zn as st, si as t, Pt as tn, p as tr, Gn as tt, Qr as u, z as un, n as ur, Pn as ut, Z as v, dt as vn, Dn as vt, Er as w, Ue as wn, hn as wt, Q as x, Ye as xn, gn as xt, Ur as y, ot as yn, yn as yt, lr as z, Ce as zn, rn as zt };