@sinequa/atomic 1.1.4 → 2.0.1

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/atomic.js CHANGED
@@ -1,4 +1,4 @@
1
- function w(e) {
1
+ function m(e) {
2
2
  if (typeof CustomEvent > "u" || typeof dispatchEvent > "u")
3
3
  return;
4
4
  const t = new CustomEvent("authenticated", {
@@ -8,18 +8,94 @@ function w(e) {
8
8
  });
9
9
  dispatchEvent(t);
10
10
  }
11
- const u = {
11
+ const g = {
12
+ credentials: () => ({ kind: "credentials" }),
13
+ sso: () => ({ kind: "sso" }),
14
+ oauth: (e) => ({ kind: "oauth", provider: e }),
15
+ saml: (e) => ({ kind: "saml", provider: e }),
16
+ bearer: (e) => ({ kind: "bearer", token: e }),
17
+ unknown: () => ({ kind: "unknown" })
18
+ };
19
+ function he(e, t) {
20
+ const { useCredentials: r, useSSO: n, useSAML: o } = e;
21
+ return o && t.autoSAMLProvider ? g.saml(t.autoSAMLProvider) : r && n ? g.unknown() : r ? g.credentials() : n ? g.sso() : t.authMode ?? g.unknown();
22
+ }
23
+ const l = {
12
24
  loginPath: "/login",
13
- createRoutes: !1
25
+ createRoutes: !1,
26
+ authMode: g.unknown()
14
27
  };
15
- function k(e) {
16
- Object.assign(u, e);
28
+ Object.defineProperties(l, {
29
+ useCredentials: {
30
+ enumerable: !1,
31
+ configurable: !0,
32
+ get() {
33
+ const e = l.authMode?.kind;
34
+ return e === "credentials" || e === "unknown";
35
+ }
36
+ },
37
+ useSSO: {
38
+ enumerable: !1,
39
+ configurable: !0,
40
+ get() {
41
+ const e = l.authMode?.kind;
42
+ return e === "sso" || e === "unknown";
43
+ }
44
+ },
45
+ useSAML: {
46
+ enumerable: !1,
47
+ configurable: !0,
48
+ get() {
49
+ return l.authMode?.kind === "saml";
50
+ }
51
+ }
52
+ });
53
+ function S(e) {
54
+ const { useCredentials: t, useSSO: r, useSAML: n, authMode: o, ...a } = e;
55
+ if (Object.assign(l, a), o !== void 0) {
56
+ l.authMode = o;
57
+ return;
58
+ }
59
+ (t !== void 0 || r !== void 0 || n !== void 0) && (l.authMode = he(
60
+ { useCredentials: t, useSSO: r, useSAML: n },
61
+ l
62
+ ));
63
+ }
64
+ const H = {
65
+ store: {},
66
+ getItem(e) {
67
+ return this.store[e] ?? null;
68
+ },
69
+ setItem(e, t) {
70
+ this.store[e] = t.toString();
71
+ },
72
+ removeItem(e) {
73
+ delete this.store[e];
74
+ },
75
+ clear() {
76
+ this.store = {};
77
+ }
78
+ }, J = H;
79
+ function ge(e) {
80
+ return typeof window > "u" || !window.localStorage ? H.getItem(e) : window.localStorage.getItem(e);
81
+ }
82
+ function pe(e) {
83
+ typeof window > "u" || !window.localStorage ? H.removeItem(e) : window.localStorage.removeItem(e);
84
+ }
85
+ function W(e) {
86
+ return typeof window > "u" || !window.sessionStorage ? J.getItem(e) : window.sessionStorage.getItem(e);
87
+ }
88
+ function X(e, t) {
89
+ typeof window > "u" || !window.sessionStorage ? J.setItem(e, t) : window.sessionStorage.setItem(e, t);
17
90
  }
18
- const ce = /.*:\(?([><=\d\-.AND ]+)\)?/;
19
- function ut(e, t) {
91
+ function $(e) {
92
+ typeof window > "u" || !window.sessionStorage ? J.removeItem(e) : window.sessionStorage.removeItem(e);
93
+ }
94
+ const me = /.*:\(?([><=\d\-.AND ]+)\)?/;
95
+ function wt(e, t) {
20
96
  return !e?.items || e?.items?.length === 0 ? [] : e.items.reduce((o, a) => {
21
97
  if (!a.value || a.value === "") return o;
22
- const s = le(a, e.column);
98
+ const s = we(a, e.column);
23
99
  return o.push({
24
100
  operator: s.operator,
25
101
  value: s.value,
@@ -30,12 +106,12 @@ function ut(e, t) {
30
106
  }), o;
31
107
  }, []);
32
108
  }
33
- function le(e, t) {
34
- const r = t, n = e.value.match(ce);
109
+ function we(e, t) {
110
+ const r = t, n = e.value.match(me);
35
111
  if (n?.[1]) {
36
112
  const a = (n?.[1].split(" AND ")).map((s) => {
37
- const i = s.indexOf(">=") !== -1 ? "gte" : "lt", c = s.substring(s.indexOf(" ") + 1);
38
- return { field: r, operator: i, value: c, display: e.display || e.value };
113
+ const c = s.indexOf(">=") !== -1 ? "gte" : "lt", i = s.substring(s.indexOf(" ") + 1);
114
+ return { field: r, operator: c, value: i, display: e.display || e.value };
39
115
  });
40
116
  if (a.length === 2)
41
117
  return {
@@ -56,25 +132,25 @@ function le(e, t) {
56
132
  display: e.display
57
133
  };
58
134
  }
59
- function dt(e, t, r) {
135
+ function _t(e, t, r) {
60
136
  return e.valuesAreExpressions ? t.display === r.display : t.value === r.value;
61
137
  }
62
- function ue(e) {
63
- return e.items && (e.items = e.items.map((t) => ue(t))), e.items && e.items.some((t) => t.$selected || t.$opened) && (e.$opened = !0), e;
138
+ function _e(e) {
139
+ return e.items && (e.items = e.items.map((t) => _e(t))), e.items && e.items.some((t) => t.$selected || t.$opened) && (e.$opened = !0), e;
64
140
  }
65
- function ft(e, t) {
141
+ function kt(e, t) {
66
142
  const r = [];
67
143
  if (e.length > 0) {
68
144
  const n = /* @__PURE__ */ new Map(), a = t.replace(/[.*+?^${}()|[\]\\]/g, "\\$&").normalize("NFD").replace(/[\u0300-\u036f]/g, ""), s = new RegExp("\\b" + a, "i");
69
- e.forEach((i) => {
70
- if (i.display.length > 1) {
71
- const c = i.display.normalize("NFD").replace(/[\u0300-\u036f]/g, ""), d = s.exec(c);
72
- ee(
145
+ e.forEach((c) => {
146
+ if (c.display.length > 1) {
147
+ const i = c.display.normalize("NFD").replace(/[\u0300-\u036f]/g, ""), d = s.exec(i);
148
+ ae(
73
149
  r,
74
150
  n,
75
151
  "/",
76
- i.display,
77
- +(i.frequency || 0),
152
+ c.display,
153
+ +(c.frequency || 0),
78
154
  1,
79
155
  (d?.index || 0) + t.length
80
156
  );
@@ -83,43 +159,43 @@ function ft(e, t) {
83
159
  }
84
160
  return r;
85
161
  }
86
- function ee(e, t, r, n, o, a, s) {
87
- const i = n.indexOf("/", r.length), c = n.substring(0, i + 1);
88
- let d = t.get(c);
162
+ function ae(e, t, r, n, o, a, s) {
163
+ const c = n.indexOf("/", r.length), i = n.substring(0, c + 1);
164
+ let d = t.get(i);
89
165
  if (!d) {
90
- const _ = c.replace(/^\/|\/$/g, "");
166
+ const k = i.replace(/^\/|\/$/g, "");
91
167
  d = {
92
- value: n.substring(r.length, i),
168
+ value: n.substring(r.length, c),
93
169
  count: o,
94
170
  items: [],
95
171
  hasChildren: !1,
96
172
  $level: a,
97
- $opened: s >= c.length,
98
- $path: _
99
- }, t.set(c, d), e.push(d);
173
+ $opened: s >= i.length,
174
+ $path: k
175
+ }, t.set(i, d), e.push(d);
100
176
  }
101
- c.length < n.length && (d.hasChildren = !0, ee(
177
+ i.length < n.length && (d.hasChildren = !0, ae(
102
178
  d.items,
103
179
  t,
104
- c,
180
+ i,
105
181
  n,
106
182
  o,
107
183
  a + 1,
108
184
  s
109
185
  ));
110
186
  }
111
- function ht(e, t) {
187
+ function St(e, t) {
112
188
  return e.reduce((r, n) => (t(n) ? r.true.push(n) : r.false.push(n), r), { true: [], false: [] });
113
189
  }
114
- const de = /(([\+\-])?\(([^\)]+)\))|(([\+\-])?\[([^\]]+)\])|(([\+\-])?\"([^\"]+)\")|(([\+\-])?\/([^\/]+)\/)|(([\+\-])?(\S+))/g, fe = 2, M = 3, he = 5, X = 6, ge = 8, Y = 9, pe = 11, K = 12, me = 14, Z = 15;
115
- function A(e) {
190
+ const ke = /(([\+\-])?\(([^\)]+)\))|(([\+\-])?\[([^\]]+)\])|(([\+\-])?\"([^\"]+)\")|(([\+\-])?\/([^\/]+)\/)|(([\+\-])?(\S+))/g, Se = 2, E = 3, be = 5, T = 6, ve = 8, ee = 9, Ce = 11, te = 12, Re = 14, re = 15;
191
+ function F(e) {
116
192
  if (!e) return [];
117
- const t = [], r = e.matchAll(de);
193
+ const t = [], r = e.matchAll(ke);
118
194
  for (let n of r)
119
- n[M] ? t.push({ type: "group", value: n[M], op: n[fe] }) : n[X] ? t.push({ type: "adjacent", value: n[X], op: n[he] }) : n[Y] ? t.push({ type: "exact", value: n[Y], op: n[ge] }) : n[K] ? t.push({ type: "regex", value: n[K], op: n[pe] }) : n[Z] && t.push({ type: "token", value: n[Z], op: n[me] });
195
+ n[E] ? t.push({ type: "group", value: n[E], op: n[Se] }) : n[T] ? t.push({ type: "adjacent", value: n[T], op: n[be] }) : n[ee] ? t.push({ type: "exact", value: n[ee], op: n[ve] }) : n[te] ? t.push({ type: "regex", value: n[te], op: n[Ce] }) : n[re] && t.push({ type: "token", value: n[re], op: n[Re] });
120
196
  return t;
121
197
  }
122
- function G(e) {
198
+ function Y(e) {
123
199
  return e.map((t) => {
124
200
  const r = t.op || "";
125
201
  switch (t.type) {
@@ -136,28 +212,28 @@ function G(e) {
136
212
  }
137
213
  }).join(" ");
138
214
  }
139
- function gt(e, t, r) {
140
- let n = A(e);
215
+ function bt(e, t, r) {
216
+ let n = F(e);
141
217
  for (let o of t)
142
218
  n.push({ type: "adjacent", value: o, op: r });
143
- return G(n);
219
+ return Y(n);
144
220
  }
145
- function pt(e, t) {
146
- const r = A(t), n = r.findIndex((o) => o.value === e);
147
- return n !== -1 ? (r.splice(n, 1), t = G(r)) : t;
221
+ function vt(e, t) {
222
+ const r = F(t), n = r.findIndex((o) => o.value === e);
223
+ return n !== -1 ? (r.splice(n, 1), t = Y(r)) : t;
148
224
  }
149
- function mt(e) {
150
- const t = A(e).filter((r) => r.type !== "adjacent");
151
- return G(t);
225
+ function Ct(e) {
226
+ const t = F(e).filter((r) => r.type !== "adjacent");
227
+ return Y(t);
152
228
  }
153
- function wt(e) {
154
- return A(e).filter((t) => t.type === "adjacent").map((t) => t.value);
229
+ function Rt(e) {
230
+ return F(e).filter((t) => t.type === "adjacent").map((t) => t.value);
155
231
  }
156
- function _t(e, t, r) {
157
- const n = new Intl.RelativeTimeFormat(e, { numeric: "auto" }), { offset: o, unit: a, isFuture: s } = we(t, r);
232
+ function Pt(e, t, r) {
233
+ const n = new Intl.RelativeTimeFormat(e, { numeric: "auto" }), { offset: o, unit: a, isFuture: s } = Pe(t, r);
158
234
  return n.format(o * (s ? 1 : -1), a);
159
235
  }
160
- function we(e, t) {
236
+ function Pe(e, t) {
161
237
  const r = new Date(e), n = t ? new Date(t) : /* @__PURE__ */ new Date(), o = Math.abs(n.getTime() - r.getTime());
162
238
  return {
163
239
  offset: Math.floor(o / (1e3 * 60 * 60 * 24)),
@@ -165,37 +241,37 @@ function we(e, t) {
165
241
  isFuture: r > n
166
242
  };
167
243
  }
168
- function St(e) {
244
+ function yt(e) {
169
245
  const t = e.target;
170
246
  return t && t.nodeName !== "INPUT" && t.nodeName !== "TEXTAREA";
171
247
  }
172
- function kt(e) {
248
+ function xt(e) {
173
249
  if (e === void 0) return;
174
- const { q: t, f: r, p: n, s: o, t: a, n: s, b: i } = y(e), [c] = e.split("?");
250
+ const { q: t, f: r, p: n, s: o, t: a, n: s, b: c } = L(e), [i] = e.split("?");
175
251
  return {
176
- path: c,
252
+ path: i,
177
253
  text: t,
178
- filters: r ? te(r) : void 0,
254
+ filters: r ? se(r) : void 0,
179
255
  page: n ? parseInt(n, 10) : void 0,
180
256
  sort: o,
181
257
  tab: a,
182
258
  name: s,
183
- basket: i
259
+ basket: c
184
260
  };
185
261
  }
186
- function bt(e) {
262
+ function Lt(e) {
187
263
  if (!e) return "";
188
- const { text: t, filters: r, page: n, sort: o, tab: a, name: s, basket: i } = e, c = {};
189
- t && (c.q = t), r && (c.f = JSON.stringify(r)), n && (c.p = n.toString()), o && (c.s = o), a && (c.t = a), s && (c.n = s), i && (c.b = i);
190
- const d = new URLSearchParams(c).toString();
264
+ const { text: t, filters: r, page: n, sort: o, tab: a, name: s, basket: c } = e, i = {};
265
+ t && (i.q = t), r && (i.f = JSON.stringify(r)), n && (i.p = n.toString()), o && (i.s = o), a && (i.t = a), s && (i.n = s), c && (i.b = c);
266
+ const d = new URLSearchParams(i).toString();
191
267
  return d || "";
192
268
  }
193
- function vt(e) {
269
+ function $t(e) {
194
270
  if (e === void 0) return [];
195
- const { f: t } = y(e);
196
- return te(t);
271
+ const { f: t } = L(e);
272
+ return se(t);
197
273
  }
198
- function te(e) {
274
+ function se(e) {
199
275
  const t = decodeURIComponent(e);
200
276
  try {
201
277
  return JSON.parse(t ?? "[]");
@@ -203,29 +279,29 @@ function te(e) {
203
279
  return console.error(`Error parsing filters from URI: ${e}`), [];
204
280
  }
205
281
  }
206
- function y(e) {
282
+ function L(e) {
207
283
  const t = e.split("?")[1];
208
284
  if (t === void 0) return {};
209
285
  const r = new URLSearchParams(t);
210
286
  return Object.fromEntries(r);
211
287
  }
212
- function Ct(e) {
213
- const { q: t = "" } = y(e);
288
+ function Ut(e) {
289
+ const { q: t = "" } = L(e);
214
290
  return t;
215
291
  }
216
- function Rt(e) {
217
- const { id: t } = y(e);
292
+ function Ot(e) {
293
+ const { id: t } = L(e);
218
294
  return decodeURIComponent(t);
219
295
  }
220
- function Pt(e) {
221
- const { p: t = "0" } = y(e);
296
+ function At(e) {
297
+ const { p: t = "0" } = L(e);
222
298
  return parseInt(t, 10);
223
299
  }
224
- function yt(e) {
225
- const { t } = y(e);
300
+ function Dt(e) {
301
+ const { t } = L(e);
226
302
  return t;
227
303
  }
228
- function xt(e, t) {
304
+ function It(e, t) {
229
305
  if (!e)
230
306
  return e;
231
307
  let r = 0;
@@ -236,21 +312,21 @@ function xt(e, t) {
236
312
  o++;
237
313
  e[o] === "]" && (r = o + 1);
238
314
  }
239
- const a = F(e, r, !1);
315
+ const a = j(e, r, !1);
240
316
  if (!a)
241
317
  return e;
242
- const s = t.charCodeAt(0), i = t.charCodeAt(1);
243
- let c = a;
244
- for (; c; )
245
- if (s === c.lang1 && i === c.lang2) {
246
- const _ = F(e, c.end + 4, !0);
247
- return e.substring(_.start, _.end);
318
+ const s = t.charCodeAt(0), c = t.charCodeAt(1);
319
+ let i = a;
320
+ for (; i; )
321
+ if (s === i.lang1 && c === i.lang2) {
322
+ const k = j(e, i.end + 4, !0);
323
+ return e.substring(k.start, k.end);
248
324
  } else
249
- c = F(e, c.end + 4, !1);
325
+ i = j(e, i.end + 4, !1);
250
326
  const d = e.substring(a.start, a.end);
251
327
  return d || e;
252
328
  }
253
- function F(e, t, r) {
329
+ function j(e, t, r) {
254
330
  for (let n = t, o = e.length - 3; n < o; n++)
255
331
  if (e[n] === "[" && e[n + 3] === "]")
256
332
  return {
@@ -267,11 +343,11 @@ function F(e, t, r) {
267
343
  lang2: -1
268
344
  };
269
345
  }
270
- function Lt(e, t) {
271
- const { useLocale: r, useLocaleAsPrefix: n, indexFile: o, path: a, folder: s } = t, i = r ? `${e}/` : null, c = n ? `${e}.${o}` : o ?? "";
272
- return [a, s, `${i || ""}${c}`].filter((d) => d !== void 0).join("/");
346
+ function Nt(e, t) {
347
+ const { useLocale: r, useLocaleAsPrefix: n, indexFile: o, path: a, folder: s } = t, c = r ? `${e}/` : null, i = n ? `${e}.${o}` : o ?? "";
348
+ return [a, s, `${c || ""}${i}`].filter((d) => d !== void 0).join("/");
273
349
  }
274
- function $(e) {
350
+ function D(e) {
275
351
  const t = new CustomEvent("notification", {
276
352
  bubbles: !0,
277
353
  cancelable: !1,
@@ -279,48 +355,48 @@ function $(e) {
279
355
  });
280
356
  dispatchEvent(t);
281
357
  }
282
- const Ot = {
358
+ const qt = {
283
359
  success: (e, t) => {
284
- $({
360
+ D({
285
361
  type: "success",
286
362
  message: e,
287
363
  options: t
288
364
  });
289
365
  },
290
366
  info: (e, t) => {
291
- $({
367
+ D({
292
368
  type: "info",
293
369
  message: e,
294
370
  options: t
295
371
  });
296
372
  },
297
373
  warning: (e, t) => {
298
- $({
374
+ D({
299
375
  type: "warning",
300
376
  message: e,
301
377
  options: t
302
378
  });
303
379
  },
304
380
  error: (e, t) => {
305
- $({
381
+ D({
306
382
  type: "error",
307
383
  message: e,
308
384
  options: t
309
385
  });
310
386
  }
311
387
  };
312
- var re = /* @__PURE__ */ ((e) => (e[e.DEBUG = 0] = "DEBUG", e[e.INFO = 1] = "INFO", e[e.WARN = 2] = "WARN", e[e.ERROR = 3] = "ERROR", e[e.NONE = 4] = "NONE", e))(re || {});
313
- let U = {
388
+ var ie = /* @__PURE__ */ ((e) => (e[e.DEBUG = 0] = "DEBUG", e[e.INFO = 1] = "INFO", e[e.WARN = 2] = "WARN", e[e.ERROR = 3] = "ERROR", e[e.NONE = 4] = "NONE", e))(ie || {});
389
+ let I = {
314
390
  level: 1,
315
391
  enableConsoleOutput: !0
316
392
  };
317
- function $t(e) {
318
- U = { ...U, ...e };
393
+ function Ft(e) {
394
+ I = { ...I, ...e };
319
395
  }
320
- function N(e, t, r) {
321
- if (e < U.level) return;
322
- const o = `${`[${re[e]}]`} ${t}`;
323
- if (U.enableConsoleOutput)
396
+ function B(e, t, r) {
397
+ if (e < I.level) return;
398
+ const o = `${`[${ie[e]}]`} ${t}`;
399
+ if (I.enableConsoleOutput)
324
400
  switch (e) {
325
401
  case 0:
326
402
  console.debug(o, r || "");
@@ -336,48 +412,48 @@ function N(e, t, r) {
336
412
  break;
337
413
  }
338
414
  }
339
- function x(e, t) {
340
- N(0, e, t);
415
+ function U(e, t) {
416
+ B(0, e, t);
341
417
  }
342
- function S(e, t) {
343
- N(1, e, t);
418
+ function x(e, t) {
419
+ B(1, e, t);
344
420
  }
345
- function D(e, t) {
346
- N(2, e, t);
421
+ function N(e, t) {
422
+ B(2, e, t);
347
423
  }
348
424
  function f(e, t) {
349
- N(3, e, t);
425
+ B(3, e, t);
350
426
  }
351
- function L(e) {
352
- const t = W(), r = new Headers(e);
427
+ function O(e) {
428
+ const t = Z(), r = new Headers(e);
353
429
  r.append("Sinequa-Force-Camel-Case", "true"), r.append("accept", "application/json"), t && r.append("Sinequa-csrf-token", t);
354
- const { userOverride: n, userOverrideActive: o, bearerToken: a } = u;
430
+ const { userOverride: n, userOverrideActive: o, bearerToken: a } = l;
355
431
  return a && r.append("Authorization", `Bearer ${a}`), n && o && (r.append("sinequa-override-user", n.username), r.append("sinequa-override-domain", n.domain)), r;
356
432
  }
357
- class R extends Error {
433
+ class P extends Error {
358
434
  status;
359
435
  constructor(t, r) {
360
436
  super(t), this.name = "ApiError", this.status = r;
361
437
  }
362
438
  }
363
- class E extends R {
439
+ class ne extends P {
364
440
  constructor(t = "Server error") {
365
441
  super(t, 500), this.name = "ServerError";
366
442
  }
367
443
  }
368
- class _e extends R {
444
+ class ye extends P {
369
445
  constructor(t = "Request timed out") {
370
446
  super(t, 408), this.name = "TimeoutError";
371
447
  }
372
448
  }
373
- class V extends R {
449
+ class G extends P {
374
450
  constructor(t = "Unauthorized access") {
375
451
  super(t, 401), this.name = "UnauthorizedError";
376
452
  }
377
453
  }
378
- async function P(e, t = "json") {
454
+ async function y(e, t = "json") {
379
455
  const r = e.headers.get("sinequa-jwt-refresh");
380
- if (r !== null && I(r), e.status === 200)
456
+ if (r !== null && q(r), e.status === 200)
381
457
  switch (t) {
382
458
  case "arraybuffer":
383
459
  return await e.arrayBuffer();
@@ -389,33 +465,33 @@ async function P(e, t = "json") {
389
465
  return await e.json();
390
466
  }
391
467
  if (e.status === 401) {
392
- if (u.userOverrideActive) {
468
+ if (l.userOverrideActive) {
393
469
  let n = {};
394
470
  try {
395
471
  n = await e.clone().json();
396
472
  } catch {
397
473
  }
398
- throw D("Unauthorized access attempt with user override", {
474
+ throw N("Unauthorized access attempt with user override", {
399
475
  endpoint: e.url,
400
476
  error: n
401
- }), new V(
477
+ }), new G(
402
478
  n.errorMessage ?? n.message ?? "Unauthorized... User override failed."
403
479
  );
404
480
  }
405
- return await B(e, 401);
481
+ return await Q(e, 401);
406
482
  }
407
- return e.status === 500 ? (f("Server error occurred", { endpoint: e.url }), await B(e, 500)) : (D(`Unexpected response status: ${e.status}`, {
483
+ return e.status === 500 ? (f("Server error occurred", { endpoint: e.url }), await Q(e, 500)) : (N(`Unexpected response status: ${e.status}`, {
408
484
  endpoint: e.url
409
- }), await B(e, e.status));
485
+ }), await Q(e, e.status));
410
486
  }
411
- async function B(e, t) {
487
+ async function Q(e, t) {
412
488
  try {
413
489
  const { done: r, value: n } = await e.body?.getReader().read() || {
414
490
  done: !0,
415
491
  value: void 0
416
492
  };
417
493
  if (r || !n)
418
- throw t === 401 ? new V() : t === 500 ? new E() : new R(`Request failed with status ${t}`, t);
494
+ throw t === 401 ? new G() : t === 500 ? new ne() : new P(`Request failed with status ${t}`, t);
419
495
  const o = JSON.parse(new TextDecoder().decode(n));
420
496
  throw new Error(
421
497
  o.errorMessage || o.message || `Request failed with status ${t}`,
@@ -427,68 +503,68 @@ async function B(e, t) {
427
503
  }
428
504
  );
429
505
  } catch (r) {
430
- throw r instanceof R ? r : t === 401 ? new V(r.message) : t === 500 ? new E(r.message) : new R(
506
+ throw r instanceof P ? r : t === 401 ? new G(r.message) : t === 500 ? new ne(r.message) : new P(
431
507
  r.message ?? `Request failed with status ${t}`,
432
508
  t
433
509
  );
434
510
  }
435
511
  }
436
- async function Se(e, t, r) {
437
- const n = L(r?.headers), { backendUrl: o } = u, a = t ? `?${new URLSearchParams(t)}` : "", s = o ? `${o}/${e}${a}` : `${e}${a}`;
438
- x(`Making DELETE request to: ${s}`);
512
+ async function xe(e, t, r) {
513
+ const n = O(r?.headers), { backendUrl: o } = l, a = t ? `?${new URLSearchParams(t)}` : "", s = o ? `${o}/${e}${a}` : `${e}${a}`;
514
+ U(`Making DELETE request to: ${s}`);
439
515
  try {
440
- const i = await fetch(s, {
516
+ const c = await fetch(s, {
441
517
  method: "DELETE",
442
518
  credentials: "include",
443
519
  headers: n
444
520
  });
445
- return P(i, r?.responseType);
446
- } catch (i) {
447
- throw f("Error making DELETE request:", i), i;
521
+ return y(c, r?.responseType);
522
+ } catch (c) {
523
+ throw f("Error making DELETE request:", c), c;
448
524
  }
449
525
  }
450
- async function m(e, t, r) {
451
- const n = L(r?.headers), { backendUrl: o } = u, a = t ? `?${new URLSearchParams(t)}` : "";
526
+ async function _(e, t, r) {
527
+ const n = O(r?.headers), { backendUrl: o } = l, a = t ? `?${new URLSearchParams(t)}` : "";
452
528
  e.startsWith("plugin") && (e = `api/v1/${e}`);
453
529
  const s = o ? `${o}/${e}${a}` : `${e}${a}`;
454
- x(`Making GET request to: ${s}`);
530
+ U(`Making GET request to: ${s}`);
455
531
  try {
456
- const i = await fetch(s, {
532
+ const c = await fetch(s, {
457
533
  method: "GET",
458
534
  credentials: "include",
459
535
  headers: n,
460
536
  signal: r?.signal
461
537
  });
462
- return P(i, r?.responseType);
463
- } catch (i) {
464
- throw f("Error making GET request:", i), i;
538
+ return y(c, r?.responseType);
539
+ } catch (c) {
540
+ throw f("Error making GET request:", c), c;
465
541
  }
466
542
  }
467
- async function ke(e, t, r) {
468
- const n = L(r?.headers);
543
+ async function Le(e, t, r) {
544
+ const n = O(r?.headers);
469
545
  n.append("content-type", "application/json");
470
- const { app: o, backendUrl: a } = u, s = {
546
+ const { app: o, backendUrl: a } = l, s = {
471
547
  app: o,
472
548
  ...t,
473
549
  locale: t.locale || navigator.language,
474
550
  noUserOverride: !0,
475
551
  noAutoAuthentication: !0
476
- }, i = a ? `${a}/${e}` : `${e}`;
477
- x(`Making PATCH request to: ${i}`);
552
+ }, c = a ? `${a}/${e}` : `${e}`;
553
+ U(`Making PATCH request to: ${c}`);
478
554
  try {
479
- const c = await fetch(i, {
555
+ const i = await fetch(c, {
480
556
  method: "PATCH",
481
557
  headers: n,
482
558
  credentials: "include",
483
559
  body: JSON.stringify(s)
484
560
  });
485
- return P(c, r?.responseType);
486
- } catch (c) {
487
- throw f("Error making PATCH request:", c), c;
561
+ return y(i, r?.responseType);
562
+ } catch (i) {
563
+ throw f("Error making PATCH request:", i), i;
488
564
  }
489
565
  }
490
- async function l(e, t, r) {
491
- const n = L(r?.headers), { app: o, backendUrl: a } = u;
566
+ async function u(e, t, r) {
567
+ const n = O(r?.headers), { app: o, backendUrl: a } = l;
492
568
  n.has("Content-Type") || n.set("Content-Type", "application/json");
493
569
  const s = {
494
570
  app: o,
@@ -498,91 +574,91 @@ async function l(e, t, r) {
498
574
  noAutoAuthentication: !0
499
575
  };
500
576
  e.startsWith("plugin") && (e = `api/v1/${e}`);
501
- const i = a ? `${a}/${e}` : `${e}`;
502
- x(`Making POST request to: ${i}`);
577
+ const c = a ? `${a}/${e}` : `${e}`;
578
+ U(`Making POST request to: ${c}`);
503
579
  try {
504
- const c = await fetch(i, {
580
+ const i = await fetch(c, {
505
581
  method: "POST",
506
582
  headers: n,
507
583
  credentials: "include",
508
584
  body: JSON.stringify(s),
509
585
  signal: r?.signal
510
586
  });
511
- return P(c, r?.responseType);
512
- } catch (c) {
513
- throw f("Error making POST request:", c), c;
587
+ return y(i, r?.responseType);
588
+ } catch (i) {
589
+ throw f("Error making POST request:", i), i;
514
590
  }
515
591
  }
516
- async function Ut(e, t, r) {
517
- const n = L(r?.headers), { app: o, backendUrl: a } = u, s = {
592
+ async function Bt(e, t, r) {
593
+ const n = O(r?.headers), { app: o, backendUrl: a } = l, s = {
518
594
  app: o,
519
595
  ...t,
520
596
  locale: t.locale || navigator.language,
521
597
  noUserOverride: !0,
522
598
  noAutoAuthentication: !0
523
- }, i = `${a}/${e}`;
524
- x(`Making PUT request to: ${i}`);
599
+ }, c = `${a}/${e}`;
600
+ U(`Making PUT request to: ${c}`);
525
601
  try {
526
- const c = await fetch(i, {
602
+ const i = await fetch(c, {
527
603
  method: "PUT",
528
604
  headers: n,
529
605
  credentials: "include",
530
606
  body: JSON.stringify(s)
531
607
  });
532
- return P(c, r?.responseType);
533
- } catch (c) {
534
- throw f("Error making PUT request:", c), c;
608
+ return y(i, r?.responseType);
609
+ } catch (i) {
610
+ throw f("Error making PUT request:", i), i;
535
611
  }
536
612
  }
537
- function b(e) {
613
+ function v(e) {
538
614
  const t = new AbortController(), { signal: r } = t;
539
615
  return e && setTimeout(() => {
540
- r.aborted || t.abort(new _e(`Request timed out after ${e}ms`));
616
+ r.aborted || t.abort(new ye(`Request timed out after ${e}ms`));
541
617
  }, e), { controller: t, signal: r };
542
618
  }
543
- function ne(e) {
619
+ function ce(e) {
544
620
  if (!e) return;
545
621
  const t = new Date(e);
546
622
  return Number.isNaN(t.getTime()) ? void 0 : t;
547
623
  }
548
- function Dt(e) {
549
- const t = ne(e);
624
+ function Mt(e) {
625
+ const t = ce(e);
550
626
  return !!t && t.getTime() <= Date.now();
551
627
  }
552
- function It(e, t = 7) {
553
- const r = ne(e);
628
+ function jt(e, t = 7) {
629
+ const r = ce(e);
554
630
  if (!r) return !1;
555
631
  const n = Date.now(), o = n + t * 24 * 60 * 60 * 1e3, a = r.getTime();
556
632
  return a > n && a <= o;
557
633
  }
558
- async function At(e, t = 0, r = 1e3) {
634
+ async function Qt(e, t = 0, r = 1e3) {
559
635
  let n;
560
636
  for (let o = 0; o <= t; o++)
561
637
  try {
562
638
  return await e();
563
639
  } catch (a) {
564
- if (n = a, a instanceof R && a.status >= 400 && a.status < 500 && a.status !== 429 || a instanceof DOMException && a.name === "AbortError")
640
+ if (n = a, a instanceof P && a.status >= 400 && a.status < 500 && a.status !== 429 || a instanceof DOMException && a.name === "AbortError")
565
641
  throw a;
566
- o < t && (D(`Retrying request (${o + 1}/${t})`, { error: a }), await new Promise((s) => setTimeout(s, r)));
642
+ o < t && (N(`Retrying request (${o + 1}/${t})`, { error: a }), await new Promise((s) => setTimeout(s, r)));
567
643
  }
568
644
  throw n;
569
645
  }
570
- function Nt(e, t, r) {
646
+ function Vt(e, t, r) {
571
647
  if (!e || !t) return;
572
648
  if (r) {
573
- const a = Object.keys(t.queries).find((c) => c === r?.toLowerCase());
649
+ const a = Object.keys(t.queries).find((i) => i === r?.toLowerCase());
574
650
  let s;
575
651
  a && (s = t.queries[a]);
576
- const i = (s?.columnsInfo?.columns || [])?.find((c) => c.aliases?.split(",")?.includes(e));
577
- if (i) return i.name;
652
+ const c = (s?.columnsInfo?.columns || [])?.find((i) => i.aliases?.split(",")?.includes(e));
653
+ if (c) return c.name;
578
654
  }
579
655
  const n = t.indexes?._?.columns, o = Object.entries(n).find((a) => a[1].aliases?.includes(e));
580
656
  if (o) return o[0];
581
657
  }
582
- var C = /* @__PURE__ */ ((e) => (e.None = "None", e.Search_FirstPage = "Search_FirstPage", e.Search_Text = "Search_Text", e.Search_Refine = "Search_Refine", e.Search_Select_Item = "Search_Select_Item", e.Search_Select_Custom = "Search_Select_Custom", e.Search_Select_Concept = "Search_Select_Concept", e.Search_Select_Correction = "Search_Select_Correction", e.Search_GotoPage = "Search_GotoPage", e.Search_GotoTab = "Search_GotoTab", e.Search_DisplayResult = "Search_DisplayResult", e.Search_RemoveResult = "Search_RemoveResult", e.Search_RemoveAdvanced = "Search_RemoveAdvanced", e.Search_SavedQuery = "Search_SavedQuery", e.Search_WebService = "Search_WebService", e.Search_DidYouMean_Original = "Search_DidYouMean_Original", e.Search_DidYouMean_Correction = "Search_DidYouMean_Correction", e.Search_ExportCSV = "Search_ExportCSV", e.Search_SavedQuery_ExportCSV = "Search_SavedQuery_ExportCSV", e.Search_Selection_ExportCSV = "Search_Selection_ExportCSV", e.Search_AlertQuery = "Search_AlertQuery", e.Search_Select_AnalyticsItem = "Search_Select_AnalyticsItem", e.Search_Sort = "Search_Sort", e.Search_Exit_Logout = "Search_Exit_Logout", e.Search_Timeline_Usage = "Search_Timeline_Usage", e.Search_AutoComplete = "Search_Autocomplete", e.Search_Login_Success = "Login_Success_Form", e.Search_QueryIntent_Detected = "Search_QueryIntent_Detected", e.SavedQuery_Add = "SavedQuery_Add", e.SavedQuery_Delete = "SavedQuery_Delete", e.SavedQuery_DeleteAll = "SavedQuery_DeleteAll", e.SavedQuery_Rename = "SavedQuery_Rename", e.Alert_Edit = "Alert_Edit", e.Alert_Delete = "Alert_Delete", e.Alert_DeleteAll = "Alert_DeleteAll", e.Link_Display = "Link_Display", e.Link_Click = "Link_Click", e.Basket_Add = "Basket_Add", e.Basket_Delete = "Basket_Delete", e.Basket_DeleteAll = "Basket_DeleteAll", e.Basket_Rename = "Basket_Rename", e.Basket_AddDoc = "Basket_AddDoc", e.Basket_RemoveDoc = "Basket_RemoveDoc", e.Basket_Open = "Basket_Open", e.Basket_ExportCSV = "Basket_ExportCSV", e.Label_Add = "Label_Add", e.Label_Delete = "Label_Delete", e.Label_Rename = "Label_Rename", e.Label_Open = "Label_Open", e.Label_AddDoc = "Label_AddDoc", e.Label_RemoveDoc = "Label_RemoveDoc", e.Label_ExportCSV = "Label_ExportCSV", e.Label_Menu_ExportCSV = "Label_Menu_ExportCSV", e.Rating_Set = "Rating_Set", e.Rating_Delete = "Rating_Delete", e.Doc_Preview = "Doc_Preview", e.Doc_CacheHtml = "Doc_CacheHtml", e.Doc_CachePdf = "Doc_CachePdf", e.Doc_CacheOriginal = "Doc_CacheOriginal", e.Doc_Url1 = "Doc_Url1", e.Doc_Url2 = "Doc_Url2", e.Preview_Close = "Preview_Close", e.Click_ResultLink = "Click_ResultLink", e.Click_ResultLink1 = "Click_ResultLink1", e.Click_ResultLink2 = "Click_ResultLink2", e.Click_ResultLink3 = "Click_ResultLink3", e.Click_ResultLink4 = "Click_ResultLink4", e.Click_ResultLink5 = "Click_ResultLink5", e.Click_ResultLink6 = "Click_ResultLink6", e.Click_ResultLink7 = "Click_ResultLink7", e.Click_ResultLink8 = "Click_ResultLink8", e.Click_ResultLink9 = "Click_ResultLink9", e.Click_ResultLink10 = "Click_ResultLink10", e.Click_PreviewLink1 = "Click_PreviewLink1", e.Click_PreviewLink2 = "Click_PreviewLink2", e.Click_PreviewLink3 = "Click_PreviewLink3", e.Click_PreviewLink4 = "Click_PreviewLink4", e.Click_PreviewLink5 = "Click_PreviewLink5", e.Click_PreviewLink6 = "Click_PreviewLink6", e.Click_PreviewLink7 = "Click_PreviewLink7", e.Click_PreviewLink8 = "Click_PreviewLink8", e.Click_PreviewLink9 = "Click_PreviewLink9", e.Click_PreviewLink10 = "Click_PreviewLink10", e.RFM_ClickSet = "RFM_ClickSet", e.RFM_ClickReset = "RFM_ClickReset", e.RFM_Like = "RFM_Like", e.RFM_LikeReset = "RFM_LikeReset", e.RFM_Dislike = "RFM_Dislike", e.RFM_Important = "RFM_Important", e.RFM_ImportantReset = "RFM_ImportantReset", e.RFM_Ban = "RFM_Ban", e.Navigation_Exit = "Navigation_Exit", e.Navigation_Return = "Navigation_Return", e.Navigation_Route = "Navigation_Route", e.Answer_Display = "Answer_Display", e.Answer_Click = "Answer_Click", e.Answer_Result = "Answer_Result", e.Answer_Liked = "Answer_Liked", e.Answer_Disliked = "Answer_Disliked", e.Answer_Liked_Cancelled = "Answer_Liked_Cancelled", e.Answer_Disliked_Cancelled = "Answer_Disliked_Cancelled", e.TopPassages_Display = "TopPassages_Display", e.TopPassages_Click = "TopPassages_Click", e.UserSettings_Reset = "UserSettings_Reset", e.Change_Password_Failed = "change.password.failed", e.Change_Password_Success_Form = "change.password.success.form", e.Forgot_Password_Request = "forgot.password.request", e.Login_Denied = "login.denied", e.Login_Success_Form = "login.success.form", e.Send_Reset_Password_Link = "send.reset.password.link", e.Xrest_ChangePassword = "xrest.changepassword", e))(C || {}), h = /* @__PURE__ */ ((e) => (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))(h || {}), p = /* @__PURE__ */ ((e) => (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))(p || {});
583
- const qt = "1.0";
584
- var be = /* @__PURE__ */ ((e) => (e[e.Original = 0] = "Original", e[e.Corrected = 1] = "Corrected", e))(be || {}), ve = /* @__PURE__ */ ((e) => (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))(ve || {});
585
- function Ce(e) {
658
+ var R = /* @__PURE__ */ ((e) => (e.None = "None", e.Search_FirstPage = "Search_FirstPage", e.Search_Text = "Search_Text", e.Search_Refine = "Search_Refine", e.Search_Select_Item = "Search_Select_Item", e.Search_Select_Custom = "Search_Select_Custom", e.Search_Select_Concept = "Search_Select_Concept", e.Search_Select_Correction = "Search_Select_Correction", e.Search_GotoPage = "Search_GotoPage", e.Search_GotoTab = "Search_GotoTab", e.Search_DisplayResult = "Search_DisplayResult", e.Search_RemoveResult = "Search_RemoveResult", e.Search_RemoveAdvanced = "Search_RemoveAdvanced", e.Search_SavedQuery = "Search_SavedQuery", e.Search_WebService = "Search_WebService", e.Search_DidYouMean_Original = "Search_DidYouMean_Original", e.Search_DidYouMean_Correction = "Search_DidYouMean_Correction", e.Search_ExportCSV = "Search_ExportCSV", e.Search_SavedQuery_ExportCSV = "Search_SavedQuery_ExportCSV", e.Search_Selection_ExportCSV = "Search_Selection_ExportCSV", e.Search_AlertQuery = "Search_AlertQuery", e.Search_Select_AnalyticsItem = "Search_Select_AnalyticsItem", e.Search_Sort = "Search_Sort", e.Search_Exit_Logout = "Search_Exit_Logout", e.Search_Timeline_Usage = "Search_Timeline_Usage", e.Search_AutoComplete = "Search_Autocomplete", e.Search_Login_Success = "Login_Success_Form", e.Search_QueryIntent_Detected = "Search_QueryIntent_Detected", e.SavedQuery_Add = "SavedQuery_Add", e.SavedQuery_Delete = "SavedQuery_Delete", e.SavedQuery_DeleteAll = "SavedQuery_DeleteAll", e.SavedQuery_Rename = "SavedQuery_Rename", e.Alert_Edit = "Alert_Edit", e.Alert_Delete = "Alert_Delete", e.Alert_DeleteAll = "Alert_DeleteAll", e.Link_Display = "Link_Display", e.Link_Click = "Link_Click", e.Basket_Add = "Basket_Add", e.Basket_Delete = "Basket_Delete", e.Basket_DeleteAll = "Basket_DeleteAll", e.Basket_Rename = "Basket_Rename", e.Basket_AddDoc = "Basket_AddDoc", e.Basket_RemoveDoc = "Basket_RemoveDoc", e.Basket_Open = "Basket_Open", e.Basket_ExportCSV = "Basket_ExportCSV", e.Label_Add = "Label_Add", e.Label_Delete = "Label_Delete", e.Label_Rename = "Label_Rename", e.Label_Open = "Label_Open", e.Label_AddDoc = "Label_AddDoc", e.Label_RemoveDoc = "Label_RemoveDoc", e.Label_ExportCSV = "Label_ExportCSV", e.Label_Menu_ExportCSV = "Label_Menu_ExportCSV", e.Rating_Set = "Rating_Set", e.Rating_Delete = "Rating_Delete", e.Doc_Preview = "Doc_Preview", e.Doc_CacheHtml = "Doc_CacheHtml", e.Doc_CachePdf = "Doc_CachePdf", e.Doc_CacheOriginal = "Doc_CacheOriginal", e.Doc_Url1 = "Doc_Url1", e.Doc_Url2 = "Doc_Url2", e.Preview_Close = "Preview_Close", e.Click_ResultLink = "Click_ResultLink", e.Click_ResultLink1 = "Click_ResultLink1", e.Click_ResultLink2 = "Click_ResultLink2", e.Click_ResultLink3 = "Click_ResultLink3", e.Click_ResultLink4 = "Click_ResultLink4", e.Click_ResultLink5 = "Click_ResultLink5", e.Click_ResultLink6 = "Click_ResultLink6", e.Click_ResultLink7 = "Click_ResultLink7", e.Click_ResultLink8 = "Click_ResultLink8", e.Click_ResultLink9 = "Click_ResultLink9", e.Click_ResultLink10 = "Click_ResultLink10", e.Click_PreviewLink1 = "Click_PreviewLink1", e.Click_PreviewLink2 = "Click_PreviewLink2", e.Click_PreviewLink3 = "Click_PreviewLink3", e.Click_PreviewLink4 = "Click_PreviewLink4", e.Click_PreviewLink5 = "Click_PreviewLink5", e.Click_PreviewLink6 = "Click_PreviewLink6", e.Click_PreviewLink7 = "Click_PreviewLink7", e.Click_PreviewLink8 = "Click_PreviewLink8", e.Click_PreviewLink9 = "Click_PreviewLink9", e.Click_PreviewLink10 = "Click_PreviewLink10", e.RFM_ClickSet = "RFM_ClickSet", e.RFM_ClickReset = "RFM_ClickReset", e.RFM_Like = "RFM_Like", e.RFM_LikeReset = "RFM_LikeReset", e.RFM_Dislike = "RFM_Dislike", e.RFM_Important = "RFM_Important", e.RFM_ImportantReset = "RFM_ImportantReset", e.RFM_Ban = "RFM_Ban", e.Navigation_Exit = "Navigation_Exit", e.Navigation_Return = "Navigation_Return", e.Navigation_Route = "Navigation_Route", e.Answer_Display = "Answer_Display", e.Answer_Click = "Answer_Click", e.Answer_Result = "Answer_Result", e.Answer_Liked = "Answer_Liked", e.Answer_Disliked = "Answer_Disliked", e.Answer_Liked_Cancelled = "Answer_Liked_Cancelled", e.Answer_Disliked_Cancelled = "Answer_Disliked_Cancelled", e.TopPassages_Display = "TopPassages_Display", e.TopPassages_Click = "TopPassages_Click", e.UserSettings_Reset = "UserSettings_Reset", e.Change_Password_Failed = "change.password.failed", e.Change_Password_Success_Form = "change.password.success.form", e.Forgot_Password_Request = "forgot.password.request", e.Login_Denied = "login.denied", e.Login_Success_Form = "login.success.form", e.Send_Reset_Password_Link = "send.reset.password.link", e.Xrest_ChangePassword = "xrest.changepassword", e))(R || {}), h = /* @__PURE__ */ ((e) => (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))(h || {}), w = /* @__PURE__ */ ((e) => (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))(w || {});
659
+ const zt = "1.0";
660
+ var $e = /* @__PURE__ */ ((e) => (e[e.Original = 0] = "Original", e[e.Corrected = 1] = "Corrected", e))($e || {}), Ue = /* @__PURE__ */ ((e) => (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))(Ue || {});
661
+ function Oe(e) {
586
662
  if (!e)
587
663
  return h.none;
588
664
  switch (e.toLocaleLowerCase()) {
@@ -621,41 +697,41 @@ function Ce(e) {
621
697
  return h.none;
622
698
  }
623
699
  }
624
- function Re(e) {
700
+ function Ae(e) {
625
701
  switch (e) {
626
702
  case "a":
627
- return p.a;
703
+ return w.a;
628
704
  case "c":
629
- return p.c;
705
+ return w.c;
630
706
  case "d":
631
- return p.d;
707
+ return w.d;
632
708
  case "e":
633
- return p.e;
709
+ return w.e;
634
710
  case "i":
635
- return p.i;
711
+ return w.i;
636
712
  case "l":
637
- return p.l;
713
+ return w.l;
638
714
  case "n":
639
- return p.n;
715
+ return w.n;
640
716
  case "t":
641
- return p.t;
717
+ return w.t;
642
718
  case "x":
643
- return p.x;
719
+ return w.x;
644
720
  case "z":
645
- return p.z;
721
+ return w.z;
646
722
  default:
647
- return p.none;
723
+ return w.none;
648
724
  }
649
725
  }
650
- function Pe(e) {
651
- let t = p.none;
726
+ function De(e) {
727
+ let t = w.none;
652
728
  if (e)
653
729
  for (const r of e)
654
- t |= Re(r);
730
+ t |= Ae(r);
655
731
  return t;
656
732
  }
657
- function g(e, t, r, n) {
658
- const o = Ce(t), a = Pe(r || "");
733
+ function p(e, t, r, n) {
734
+ const o = Oe(t), a = De(r || "");
659
735
  return {
660
736
  name: e,
661
737
  type: t,
@@ -665,29 +741,29 @@ function g(e, t, r, n) {
665
741
  aliases: n
666
742
  };
667
743
  }
668
- const Ft = {
669
- id: g("id", "string"),
670
- text: g("text", "varchar"),
671
- documentlanguages: g("documentlanguages", "csv", "ci", ["language"]),
672
- databasealias: g("databasealias", "varchar"),
673
- globalrelevance: g("globalrelevance", "double"),
674
- matchingpartnames: g("matchingpartnames", "csv"),
675
- matchlocations: g("matchlocations", "csv"),
676
- matchlocationsperpartname: g("matchlocationsperpartname", "varchar"),
744
+ const Gt = {
745
+ id: p("id", "string"),
746
+ text: p("text", "varchar"),
747
+ documentlanguages: p("documentlanguages", "csv", "ci", ["language"]),
748
+ databasealias: p("databasealias", "varchar"),
749
+ globalrelevance: p("globalrelevance", "double"),
750
+ matchingpartnames: p("matchingpartnames", "csv"),
751
+ matchlocations: p("matchlocations", "csv"),
752
+ matchlocationsperpartname: p("matchlocationsperpartname", "varchar"),
677
753
  // json
678
- extracts: g("extracts", "csv"),
679
- extractsperpartname: g("extractsperpartname", "varchar"),
754
+ extracts: p("extracts", "csv"),
755
+ extractsperpartname: p("extractsperpartname", "varchar"),
680
756
  // json
681
- extractslocations: g("extractslocations", "csv"),
682
- documentweight: g("documentweight", "varchar"),
683
- groupcount: g("groupcount", "integer"),
684
- accesslists: g("accesslists", "varchar", void 0, ["accessLists"])
757
+ extractslocations: p("extractslocations", "csv"),
758
+ documentweight: p("documentweight", "varchar"),
759
+ groupcount: p("groupcount", "integer"),
760
+ accesslists: p("accesslists", "varchar", void 0, ["accessLists"])
685
761
  // json
686
762
  };
687
- function oe(e) {
763
+ function le(e) {
688
764
  return e.filter((t) => !!t);
689
765
  }
690
- const Bt = {
766
+ const Ht = {
691
767
  // ── Scalar (leaf) operators ───────────────────────────────────────────────
692
768
  /** `field = value`. */
693
769
  eq: (e, t) => ({
@@ -769,23 +845,23 @@ const Bt = {
769
845
  * Combine filters with logical AND. Falsy operands are ignored; with a single
770
846
  * effective operand the operand is returned as-is, with none `undefined`.
771
847
  */
772
- and: (...e) => T("and", e),
848
+ and: (...e) => oe("and", e),
773
849
  /** Combine filters with logical OR. Same collapsing rules as {@link filter.and}. */
774
- or: (...e) => T("or", e),
850
+ or: (...e) => oe("or", e),
775
851
  /**
776
852
  * Negate filters. Falsy operands are ignored; returns `undefined` if nothing
777
853
  * remains. A `not` node is always kept (even with a single operand).
778
854
  */
779
855
  not: (...e) => {
780
- const t = oe(e);
856
+ const t = le(e);
781
857
  return t.length ? { operator: "not", filters: t } : void 0;
782
858
  }
783
859
  };
784
- function T(e, t) {
785
- const r = oe(t);
860
+ function oe(e, t) {
861
+ const r = le(t);
786
862
  return r.length === 0 ? void 0 : r.length === 1 ? r[0] : { operator: e, filters: r };
787
863
  }
788
- function jt(e, t) {
864
+ function Jt(e, t) {
789
865
  let r = e[t];
790
866
  return r === void 0 ? [] : (typeof r == "string" && (r = String(r).split(",")), Array.isArray(r) ? r.map((n) => {
791
867
  if (typeof n == "string") return n.trim();
@@ -793,7 +869,7 @@ function jt(e, t) {
793
869
  return n.display.trim();
794
870
  }).filter((n) => n !== void 0) : [String(r).trim()]);
795
871
  }
796
- function Qt(e, t) {
872
+ function Wt(e, t) {
797
873
  let r = e[t];
798
874
  if (r === void 0) return [];
799
875
  if (typeof r == "string" && (r = String(r).split(",")), Array.isArray(r))
@@ -810,35 +886,35 @@ function Qt(e, t) {
810
886
  const n = String(r).trim();
811
887
  return [{ display: n, value: n }];
812
888
  }
813
- function q(e) {
889
+ function M(e) {
814
890
  return e !== null && typeof e == "object";
815
891
  }
816
- function ye(e) {
817
- return q(e) && Object.prototype.toString.call(e) === "[object ArrayBuffer]";
892
+ function Ie(e) {
893
+ return M(e) && Object.prototype.toString.call(e) === "[object ArrayBuffer]";
818
894
  }
819
- function xe(e) {
820
- return q(e) && Object.prototype.toString.call(e) === "[object Blob]";
895
+ function Ne(e) {
896
+ return M(e) && Object.prototype.toString.call(e) === "[object Blob]";
821
897
  }
822
- function Le(e) {
898
+ function qe(e) {
823
899
  return Object.prototype.toString.call(e) === "[object Date]";
824
900
  }
825
- function Oe(e) {
901
+ function Fe(e) {
826
902
  return typeof e == "string";
827
903
  }
828
- function Vt(e) {
829
- return (q(e) || Array.isArray(e)) && !ye(e) && !xe(e) && !Oe(e);
904
+ function Xt(e) {
905
+ return (M(e) || Array.isArray(e)) && !Ie(e) && !Ne(e) && !Fe(e);
830
906
  }
831
- function $e(e) {
907
+ function Be(e) {
832
908
  return e ? (e.getHours() * 60 * 60 + e.getMinutes() * 60 + e.getSeconds()) * 1e3 + e.getMilliseconds() : 0;
833
909
  }
834
- function Ue(e = !0) {
910
+ function Me(e = !0) {
835
911
  let t = Date.now();
836
912
  return (e ? "xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx" : "xxxxxxxxxxxx4xxxyxxxxxxxxxxxxxxx").replace(/[xy]/g, (n) => {
837
913
  const o = (t + Math.random() * 16) % 16 | 0;
838
914
  return t = Math.floor(t / 16), (n === "x" ? o : o & 3 | 8).toString(16);
839
915
  });
840
916
  }
841
- function Gt(e) {
917
+ function Yt(e) {
842
918
  if (!e)
843
919
  return "``";
844
920
  if (e = String(e), e.search(/[\\`]/) === -1)
@@ -850,36 +926,36 @@ function Gt(e) {
850
926
  }
851
927
  return t.push("`"), t.join("");
852
928
  }
853
- function zt(e) {
929
+ function Kt(e) {
854
930
  if (typeof crypto < "u" && crypto.subtle && typeof crypto.subtle.digest == "function")
855
931
  try {
856
932
  return crypto.subtle.digest("SHA-512", new TextEncoder().encode(e)).then(
857
933
  (t) => Array.prototype.map.call(new Uint8Array(t), (r) => `00${r.toString(16)}`.slice(-2)).join("")
858
- ).catch(() => Promise.resolve(j(e)));
934
+ ).catch(() => Promise.resolve(V(e)));
859
935
  } catch {
860
- return Promise.resolve(j(e));
936
+ return Promise.resolve(V(e));
861
937
  }
862
- return Promise.resolve(j(e));
938
+ return Promise.resolve(V(e));
863
939
  }
864
- function j(e) {
940
+ function V(e) {
865
941
  let n = 2166136261;
866
- for (let _ = 0; _ < e.length; _++)
867
- n ^= e.charCodeAt(_), n = n * 16777619 >>> 0;
868
- const o = n.toString(16).padStart(8, "0"), a = ((n ^ 2863311530) >>> 0).toString(16).padStart(8, "0"), s = ((n ^ 1431655765) >>> 0).toString(16).padStart(8, "0"), i = ((n ^ 3435973836) >>> 0).toString(16).padStart(8, "0"), c = o + a + s + i;
869
- return (c + c + c + c).substring(0, 128);
942
+ for (let k = 0; k < e.length; k++)
943
+ n ^= e.charCodeAt(k), n = n * 16777619 >>> 0;
944
+ const o = n.toString(16).padStart(8, "0"), a = ((n ^ 2863311530) >>> 0).toString(16).padStart(8, "0"), s = ((n ^ 1431655765) >>> 0).toString(16).padStart(8, "0"), c = ((n ^ 3435973836) >>> 0).toString(16).padStart(8, "0"), i = o + a + s + c;
945
+ return (i + i + i + i).substring(0, 128);
870
946
  }
871
- let Q, ae;
872
- function O(e, t = !0) {
873
- let r = De(e.$auditRecord);
874
- r && (Ie(r), t && Ae(r)), e.$auditRecord = r;
947
+ let z, ue;
948
+ function A(e, t = !0) {
949
+ let r = je(e.$auditRecord);
950
+ r && (Qe(r), t && Ve(r)), e.$auditRecord = r;
875
951
  }
876
- function De(e) {
952
+ function je(e) {
877
953
  if (!e)
878
954
  return;
879
955
  let t;
880
956
  if (Array.isArray(e))
881
957
  t = e;
882
- else if (q(e)) {
958
+ else if (M(e)) {
883
959
  const r = e;
884
960
  if (r.auditEvents || r.mlAuditEvents)
885
961
  return r;
@@ -887,104 +963,105 @@ function De(e) {
887
963
  }
888
964
  return { auditEvents: t };
889
965
  }
890
- function Ie(e) {
891
- const t = Ne();
966
+ function Qe(e) {
967
+ const t = ze();
892
968
  return e.auditEvents?.forEach((r) => {
893
969
  r.detail || (r.detail = {}), r.detail.sessionid = t;
894
970
  }), e;
895
971
  }
896
- function Ae(e) {
972
+ function Ve(e) {
897
973
  const t = typeof window < "u" ? decodeURIComponent(window.location.href) : "http://localhost";
898
974
  return e?.auditEvents?.forEach((r) => {
899
975
  r.detail || (r.detail = {}), r.detail.url = t;
900
976
  }), e;
901
977
  }
902
- function Ne() {
903
- return (!Q || qe()) && (Q = Ue()), ae = /* @__PURE__ */ new Date(), Q;
978
+ function ze() {
979
+ return (!z || Ge()) && (z = Me()), ue = /* @__PURE__ */ new Date(), z;
904
980
  }
905
- function qe() {
906
- return (/* @__PURE__ */ new Date()).getTime() - ae.getTime() > 600 * 1e3;
981
+ function Ge() {
982
+ return (/* @__PURE__ */ new Date()).getTime() - ue.getTime() > 600 * 1e3;
907
983
  }
908
- async function Fe(e, t = !0) {
984
+ async function He(e, t = !0) {
909
985
  const r = {
910
- event: C.None,
986
+ event: R.None,
911
987
  $auditRecord: e
912
988
  };
913
- return O(r, t), l("api/v1/audit.notify", r);
989
+ return A(r, t), u("api/v1/audit.notify", r);
914
990
  }
915
- const Ht = { notify: Fe };
916
- async function Jt(e, t, r) {
991
+ const Zt = { notify: He };
992
+ async function Et(e, t, r) {
917
993
  const n = e.items?.length || 0, o = 10, a = {
918
994
  query: { ...t, action: "aggregate", aggregations: { [e.name]: { skip: n, count: o } } },
919
995
  $auditRecord: { auditEvents: [r] }
920
996
  };
921
- O(a);
922
- const s = await l("api/v1/query", a), i = await P(s), { aggregations: c } = i, d = c[0];
997
+ A(a);
998
+ const s = await u("api/v1/query", a), c = await y(s), { aggregations: i } = c, d = i[0];
923
999
  return d.$hasMore = d.items.length > o, d.items = [...e.items, ...d.items], Promise.resolve(d);
924
1000
  }
925
- async function Wt(e) {
926
- const t = e || u.app, r = new URLSearchParams({ app: t || "" });
927
- return m("api/v1/app", r);
1001
+ function Je(e, t) {
1002
+ if (e.authMode?.kind === "credentials") return g.credentials();
1003
+ if (e.bearerToken) return g.bearer(e.bearerToken);
1004
+ const r = e.autoOAuthProvider || t?.autoOAuthProvider;
1005
+ if (r) return g.oauth(r);
1006
+ const n = e.autoSAMLProvider || t?.autoSAMLProvider;
1007
+ return n ? g.saml(n) : g.unknown();
1008
+ }
1009
+ async function Tt(e) {
1010
+ const t = e || l.app, r = new URLSearchParams({ app: t || "" });
1011
+ return _("api/v1/app", r);
928
1012
  }
929
- async function Be() {
930
- const { app: e } = u, t = new URLSearchParams({
1013
+ async function We() {
1014
+ const { app: e } = l, t = new URLSearchParams({
931
1015
  app: e || "",
932
1016
  preLogin: "true"
933
1017
  });
934
- return m("api/v1/app", t);
1018
+ return _("api/v1/app", t);
935
1019
  }
936
- function Mt() {
937
- let { backendUrl: e, app: t, useCredentials: r } = u;
1020
+ function Xe() {
1021
+ let { backendUrl: e, app: t } = l;
938
1022
  if (typeof window < "u") {
939
1023
  if (e || (e = window.location.origin), !t) {
940
- const n = window.location.pathname.match(
1024
+ const r = window.location.pathname.match(
941
1025
  /\/app(?:-debug)?\/([^/#]+)/
942
1026
  );
943
- n && (t = n[1]);
1027
+ r && (t = r[1]);
944
1028
  }
945
- k({
946
- ...u,
947
- backendUrl: e,
948
- app: t
949
- });
1029
+ S({ backendUrl: e, app: t });
950
1030
  }
951
- return r ? (k({
952
- ...u,
953
- useCredentials: !0,
954
- useSSO: !1,
1031
+ return l.authMode?.kind === "credentials" ? (S({
1032
+ authMode: g.credentials(),
955
1033
  autoOAuthProvider: void 0,
956
1034
  autoSAMLProvider: void 0,
957
- bearerToken: void 0,
958
- useSAML: void 0
959
- }), Promise.resolve({})) : Be().then((n) => {
960
- const { autoOAuthProvider: o, autoSAMLProvider: a } = u, s = !o && !n.autoOAuthProvider && !a && !n.autoSAMLProvider;
961
- return k({
962
- ...u,
963
- autoOAuthProvider: o || n.autoOAuthProvider,
964
- autoSAMLProvider: a || n.autoSAMLProvider,
965
- useCredentials: s,
966
- useSSO: s
967
- }), n;
968
- }).catch((n) => {
969
- throw f("atomic:fetchAppPreLogin error", n), n;
1035
+ bearerToken: void 0
1036
+ }), Promise.resolve({})) : We().then((r) => {
1037
+ const n = Je(l, r);
1038
+ return S({
1039
+ authMode: n,
1040
+ // Persist the resolved providers as inputs so login()/redirect helpers can read them.
1041
+ autoOAuthProvider: l.autoOAuthProvider || r.autoOAuthProvider,
1042
+ autoSAMLProvider: l.autoSAMLProvider || r.autoSAMLProvider
1043
+ }), r;
1044
+ }).catch((r) => {
1045
+ throw f("atomic:fetchAppPreLogin error", r), r;
970
1046
  });
971
1047
  }
972
- async function Xt(e, t, r = {}) {
973
- const n = `api/v1/search.dataset/${e}/${t}`, o = await l(n, { parameters: r }), a = t[0].toLowerCase() + t.slice(1), s = o.datasets[a];
1048
+ const er = Xe;
1049
+ async function tr(e, t, r = {}) {
1050
+ const n = `api/v1/search.dataset/${e}/${t}`, o = await u(n, { parameters: r }), a = t[0].toLowerCase() + t.slice(1), s = o.datasets[a];
974
1051
  if ("errorCode" in s && "errorMessage" in s)
975
1052
  throw new Error(s.errorMessage);
976
1053
  return s;
977
1054
  }
978
- async function Yt(e, t) {
1055
+ async function rr(e, t) {
979
1056
  const r = `api/v1/search.dataset/${e}`, { parameters: n = {}, datasets: o = [] } = t;
980
- return (await l(r, { parameters: n, datasets: o })).datasets;
1057
+ return (await u(r, { parameters: n, datasets: o })).datasets;
981
1058
  }
982
- async function Kt(e) {
983
- return await m(`api/v1/search.dataset/${e}`);
1059
+ async function nr(e) {
1060
+ return await _(`api/v1/search.dataset/${e}`);
984
1061
  }
985
- async function Zt(e, t = !0, r) {
1062
+ async function or(e, t = !0, r) {
986
1063
  try {
987
- return (await l("api/v1/labels", {
1064
+ return (await u("api/v1/labels", {
988
1065
  action: "list",
989
1066
  q: e,
990
1067
  public: t,
@@ -995,18 +1072,18 @@ async function Zt(e, t = !0, r) {
995
1072
  throw f("Error in fetchLabels", n), n;
996
1073
  }
997
1074
  }
998
- async function je() {
1075
+ async function Ye() {
999
1076
  try {
1000
- const { app: e = "" } = u, t = new URLSearchParams({
1077
+ const { app: e = "" } = l, t = new URLSearchParams({
1001
1078
  app: e,
1002
1079
  action: "getUserRights"
1003
1080
  });
1004
- return m("api/v1/labels", t);
1081
+ return _("api/v1/labels", t);
1005
1082
  } catch (e) {
1006
1083
  throw f("Error in getUserRights", e), e;
1007
1084
  }
1008
1085
  }
1009
- async function Qe(e, t, r = !0) {
1086
+ async function Ke(e, t, r = !0) {
1010
1087
  try {
1011
1088
  const n = {
1012
1089
  action: "add",
@@ -1016,7 +1093,7 @@ async function Qe(e, t, r = !0) {
1016
1093
  $auditRecord: {
1017
1094
  auditEvents: [
1018
1095
  {
1019
- type: C.Label_AddDoc,
1096
+ type: R.Label_AddDoc,
1020
1097
  detail: {
1021
1098
  public: r,
1022
1099
  label: e ? e.toString() : null,
@@ -1032,12 +1109,12 @@ async function Qe(e, t, r = !0) {
1032
1109
  ]
1033
1110
  }
1034
1111
  };
1035
- return l("api/v1/labels", n);
1112
+ return u("api/v1/labels", n);
1036
1113
  } catch (n) {
1037
1114
  throw f("Error in add", n), n;
1038
1115
  }
1039
1116
  }
1040
- async function Ve(e, t, r = !0) {
1117
+ async function Ze(e, t, r = !0) {
1041
1118
  try {
1042
1119
  const n = {
1043
1120
  action: "remove",
@@ -1047,7 +1124,7 @@ async function Ve(e, t, r = !0) {
1047
1124
  $auditRecord: {
1048
1125
  auditEvents: [
1049
1126
  {
1050
- type: C.Label_RemoveDoc,
1127
+ type: R.Label_RemoveDoc,
1051
1128
  detail: {
1052
1129
  public: r,
1053
1130
  label: e ? e.toString() : null,
@@ -1063,12 +1140,12 @@ async function Ve(e, t, r = !0) {
1063
1140
  ]
1064
1141
  }
1065
1142
  };
1066
- return l("api/v1/labels", n);
1143
+ return u("api/v1/labels", n);
1067
1144
  } catch (n) {
1068
1145
  throw f("Error in remove", n), n;
1069
1146
  }
1070
1147
  }
1071
- async function Ge(e, t, r = !0) {
1148
+ async function Ee(e, t, r = !0) {
1072
1149
  try {
1073
1150
  const n = {
1074
1151
  action: "rename",
@@ -1076,7 +1153,7 @@ async function Ge(e, t, r = !0) {
1076
1153
  newLabel: t,
1077
1154
  public: r,
1078
1155
  auditEvents: {
1079
- type: C.Label_Rename,
1156
+ type: R.Label_Rename,
1080
1157
  detail: {
1081
1158
  public: r,
1082
1159
  oldlabel: e ? e.toString() : null,
@@ -1084,31 +1161,31 @@ async function Ge(e, t, r = !0) {
1084
1161
  }
1085
1162
  }
1086
1163
  };
1087
- return l("api/v1/labels", n);
1164
+ return u("api/v1/labels", n);
1088
1165
  } catch (n) {
1089
1166
  throw f("Error in rename", n), n;
1090
1167
  }
1091
1168
  }
1092
- async function ze(e, t = !0) {
1169
+ async function Te(e, t = !0) {
1093
1170
  try {
1094
1171
  const r = {
1095
1172
  action: "delete",
1096
1173
  labels: e,
1097
1174
  public: t,
1098
1175
  auditEvents: {
1099
- type: C.Label_Delete,
1176
+ type: R.Label_Delete,
1100
1177
  detail: {
1101
1178
  public: t,
1102
1179
  label: e ? e.toString() : null
1103
1180
  }
1104
1181
  }
1105
1182
  };
1106
- return l("api/v1/labels", r);
1183
+ return u("api/v1/labels", r);
1107
1184
  } catch (r) {
1108
1185
  throw f("Error in deleteLabels", r), r;
1109
1186
  }
1110
1187
  }
1111
- async function He(e, t, r = !0) {
1188
+ async function et(e, t, r = !0) {
1112
1189
  try {
1113
1190
  const n = {
1114
1191
  action: "bulkAdd",
@@ -1116,7 +1193,7 @@ async function He(e, t, r = !0) {
1116
1193
  query: t,
1117
1194
  public: r,
1118
1195
  auditEvents: {
1119
- type: C.Label_Add,
1196
+ type: R.Label_Add,
1120
1197
  detail: {
1121
1198
  public: r,
1122
1199
  label: e ? e.toString() : null,
@@ -1124,12 +1201,12 @@ async function He(e, t, r = !0) {
1124
1201
  }
1125
1202
  }
1126
1203
  };
1127
- return l("api/v1/labels", n);
1204
+ return u("api/v1/labels", n);
1128
1205
  } catch (n) {
1129
1206
  throw f("Error in bulkAdd", n), n;
1130
1207
  }
1131
1208
  }
1132
- async function Je(e, t, r = !0) {
1209
+ async function tt(e, t, r = !0) {
1133
1210
  try {
1134
1211
  const n = {
1135
1212
  action: "bulkRemove",
@@ -1137,7 +1214,7 @@ async function Je(e, t, r = !0) {
1137
1214
  query: t,
1138
1215
  public: r,
1139
1216
  auditEvents: {
1140
- type: C.Label_Delete,
1217
+ type: R.Label_Delete,
1141
1218
  detail: {
1142
1219
  public: r,
1143
1220
  label: e ? e.toString() : null,
@@ -1145,36 +1222,36 @@ async function Je(e, t, r = !0) {
1145
1222
  }
1146
1223
  }
1147
1224
  };
1148
- return l("api/v1/labels", n);
1225
+ return u("api/v1/labels", n);
1149
1226
  } catch (n) {
1150
1227
  throw f("Error in bulkRemove", n), n;
1151
1228
  }
1152
1229
  }
1153
- const Et = {
1154
- getUserRights: je,
1155
- add: Qe,
1156
- remove: Ve,
1157
- rename: Ge,
1158
- delete: ze,
1159
- bulkAdd: He,
1160
- bulkRemove: Je
1230
+ const ar = {
1231
+ getUserRights: Ye,
1232
+ add: Ke,
1233
+ remove: Ze,
1234
+ rename: Ee,
1235
+ delete: Te,
1236
+ bulkAdd: et,
1237
+ bulkRemove: tt
1161
1238
  };
1162
- async function Tt(e, t) {
1239
+ async function sr(e, t) {
1163
1240
  if (typeof window > "u")
1164
- return l("api/v1/preview", {
1241
+ return u("api/v1/preview", {
1165
1242
  action: "get",
1166
1243
  id: e,
1167
1244
  query: t
1168
1245
  });
1169
1246
  const r = `${window.location.origin}${window.location.pathname}`, n = { name: t?.name, text: t?.text };
1170
- return l("api/v1/preview", {
1247
+ return u("api/v1/preview", {
1171
1248
  action: "get",
1172
1249
  id: e,
1173
1250
  query: n,
1174
1251
  browserUrl: r
1175
1252
  });
1176
1253
  }
1177
- async function er(e) {
1254
+ async function ir(e) {
1178
1255
  const t = new Headers();
1179
1256
  t.append("content-type", "text");
1180
1257
  const r = await fetch(
@@ -1184,25 +1261,25 @@ async function er(e) {
1184
1261
  headers: t
1185
1262
  }
1186
1263
  );
1187
- P(r);
1264
+ y(r);
1188
1265
  }
1189
- async function se() {
1266
+ async function rt() {
1190
1267
  const e = new URLSearchParams({
1191
1268
  action: "get",
1192
1269
  noAutoAuthentication: "true"
1193
1270
  });
1194
- return m("api/v1/principal", e);
1271
+ return _("api/v1/principal", e);
1195
1272
  }
1196
- async function We(e) {
1273
+ async function nt(e) {
1197
1274
  const t = {
1198
1275
  noAutoAuthentication: "true",
1199
1276
  ...e
1200
1277
  }, r = new URLSearchParams();
1201
1278
  return Object.entries(t).forEach(([n, o]) => {
1202
1279
  o !== void 0 && r.append(n, String(o));
1203
- }), m("api/v1/principal/list", r);
1280
+ }), _("api/v1/principal/list", r);
1204
1281
  }
1205
- async function Me(e) {
1282
+ async function ot(e) {
1206
1283
  if (!e)
1207
1284
  return Promise.reject(new Error("userid is required"));
1208
1285
  const t = new URLSearchParams({
@@ -1210,75 +1287,75 @@ async function Me(e) {
1210
1287
  noAutoAuthentication: "true",
1211
1288
  userid: e
1212
1289
  });
1213
- return m("api/v1/principal", t);
1290
+ return _("api/v1/principal", t);
1214
1291
  }
1215
- async function Xe(e) {
1292
+ async function at(e) {
1216
1293
  if (e.length === 0)
1217
1294
  return Promise.reject(new Error("userids is required"));
1218
1295
  const t = new URLSearchParams({
1219
1296
  noAutoAuthentication: "true",
1220
1297
  userids: [...e].join(",")
1221
1298
  });
1222
- return m("api/v1/principal/userids", t);
1299
+ return _("api/v1/principal/userids", t);
1223
1300
  }
1224
- const tr = {
1301
+ const cr = {
1225
1302
  principal: {
1226
- get: se,
1227
- list: We,
1228
- userid: Me,
1229
- userids: Xe
1303
+ get: rt,
1304
+ list: nt,
1305
+ userid: ot,
1306
+ userids: at
1230
1307
  }
1231
- }, ie = 11;
1232
- async function rr(e, t, r) {
1233
- const o = await l("api/v1/query", {
1308
+ }, de = 11;
1309
+ async function lr(e, t, r) {
1310
+ const o = await u("api/v1/query", {
1234
1311
  query: e,
1235
1312
  $auditRecord: t,
1236
1313
  queryIntentData: r
1237
1314
  });
1238
1315
  o.aggregations.forEach((s) => {
1239
- s.$hasMore = !1, !s.isDistribution && !s.isTree && s.items && (s.$hasMore = s.items.length === ie), s.isTree && s.items && z(s);
1316
+ s.$hasMore = !1, !s.isDistribution && !s.isTree && s.items && (s.$hasMore = s.items.length === de), s.isTree && s.items && K(s);
1240
1317
  }), o.records?.map((s) => Object.assign(s, { value: s.title, type: "default" }));
1241
1318
  const a = { ...o, nextPage: o.page < Math.ceil(o.rowCount / o.pageSize) ? o.page + 1 : void 0, previousPage: o.page > 1 ? o.page - 1 : void 0 };
1242
1319
  return Promise.resolve(a);
1243
1320
  }
1244
- async function nr(e, t, r) {
1245
- const { app: n = "" } = u, o = {
1321
+ async function ur(e, t, r) {
1322
+ const { app: n = "" } = l, o = {
1246
1323
  methods: [],
1247
1324
  mode: t,
1248
1325
  propagateErrors: !0,
1249
1326
  $auditRecord: { auditEvents: [r] }
1250
1327
  };
1251
- for (const i of e)
1328
+ for (const c of e)
1252
1329
  o.methods.push({
1253
1330
  method: "query",
1254
1331
  app: n,
1255
- query: i
1332
+ query: c
1256
1333
  });
1257
- const a = await l("api/v1/multi", o);
1258
- a.results.forEach((i) => {
1259
- i.aggregations.forEach((c) => {
1260
- c.$hasMore = !1, !c.isDistribution && !c.isTree && c.items && (c.$hasMore = c.items.length === ie), c.isTree && z(c);
1334
+ const a = await u("api/v1/multi", o);
1335
+ a.results.forEach((c) => {
1336
+ c.aggregations.forEach((i) => {
1337
+ i.$hasMore = !1, !i.isDistribution && !i.isTree && i.items && (i.$hasMore = i.items.length === de), i.isTree && K(i);
1261
1338
  });
1262
- }), a.results.forEach((i) => i.records?.map((c) => Object.assign(c, { value: c.title, type: "default" })));
1263
- const s = a.results.map((i) => ({ ...i, nextPage: i.page < Math.ceil(i.rowCount / i.pageSize) ? i.page + 1 : void 0, previousPage: i.page > 1 ? i.page - 1 : void 0 }));
1339
+ }), a.results.forEach((c) => c.records?.map((i) => Object.assign(i, { value: i.title, type: "default" })));
1340
+ const s = a.results.map((c) => ({ ...c, nextPage: c.page < Math.ceil(c.rowCount / c.pageSize) ? c.page + 1 : void 0, previousPage: c.page > 1 ? c.page - 1 : void 0 }));
1264
1341
  return Promise.resolve(s);
1265
1342
  }
1266
- function z(e, t = "", r = 0) {
1343
+ function K(e, t = "", r = 0) {
1267
1344
  let n = [];
1268
1345
  return e.items && e.items.forEach((o) => {
1269
1346
  let a = t ? `${t}/${o.value}` : o.value, s = r + 1;
1270
- n.push({ path: a, level: s }), o.$path = a, o.$level = s, o.hasChildren ? n = n.concat(z(o, a, s)) : o.hasChildren = !1;
1347
+ n.push({ path: a, level: s }), o.$path = a, o.$level = s, o.hasChildren ? n = n.concat(K(o, a, s)) : o.hasChildren = !1;
1271
1348
  }), n;
1272
1349
  }
1273
- async function or({ model: e, appName: t, query: r, article: n }) {
1274
- const { webservice: o, format: a, maxcount: s, exportedColumns: i, export: c } = e, d = {
1350
+ async function dr({ model: e, appName: t, query: r, article: n }) {
1351
+ const { webservice: o, format: a, maxcount: s, exportedColumns: c, export: i } = e, d = {
1275
1352
  app: t,
1276
1353
  webservice: o,
1277
1354
  query: r,
1278
- type: c,
1355
+ type: i,
1279
1356
  format: a,
1280
1357
  maxcount: s,
1281
- exportedColumns: i,
1358
+ exportedColumns: c,
1282
1359
  $auditRecord: {
1283
1360
  auditEvents: [{
1284
1361
  type: "Search_ExportCSV",
@@ -1288,15 +1365,15 @@ async function or({ model: e, appName: t, query: r, article: n }) {
1288
1365
  }]
1289
1366
  }
1290
1367
  };
1291
- return O(d), await l("api/v1/search.queryexport", d, { responseType: "blob" });
1368
+ return A(d), await u("api/v1/search.queryexport", d, { responseType: "blob" });
1292
1369
  }
1293
- async function ar(e) {
1294
- return (await l("api/v1/queryintent", {
1370
+ async function fr(e) {
1371
+ return (await u("api/v1/queryintent", {
1295
1372
  query: e
1296
1373
  }))?.intents;
1297
1374
  }
1298
- async function sr(e, t, r) {
1299
- return (await l(
1375
+ async function hr(e, t, r) {
1376
+ return (await u(
1300
1377
  "api/v1/similardocuments",
1301
1378
  {
1302
1379
  sourceDocumentId: e,
@@ -1307,17 +1384,17 @@ async function sr(e, t, r) {
1307
1384
  { signal: r }
1308
1385
  )).data;
1309
1386
  }
1310
- async function ir(e, t) {
1311
- return (await l("api/v1/query.links", {
1387
+ async function gr(e, t) {
1388
+ return (await u("api/v1/query.links", {
1312
1389
  webservice: e,
1313
1390
  query: t
1314
1391
  }))?.links?.map((o) => ({ ...o, query: t }));
1315
1392
  }
1316
- function Ye(e, t) {
1393
+ function st(e, t) {
1317
1394
  if (typeof e == "number")
1318
1395
  return `${e}`;
1319
- if (Le(e))
1320
- return Ke(e);
1396
+ if (qe(e))
1397
+ return it(e);
1321
1398
  if (typeof e == "boolean")
1322
1399
  return e ? "true" : "false";
1323
1400
  if (e === null)
@@ -1330,11 +1407,11 @@ function Ye(e, t) {
1330
1407
  }
1331
1408
  return e;
1332
1409
  }
1333
- function Ke(e) {
1410
+ function it(e) {
1334
1411
  if (!e)
1335
1412
  return "";
1336
1413
  try {
1337
- if ($e(e) === 0)
1414
+ if (Be(e) === 0)
1338
1415
  return new Intl.DateTimeFormat("en-CA", {
1339
1416
  year: "numeric",
1340
1417
  month: "2-digit",
@@ -1353,8 +1430,8 @@ function Ke(e) {
1353
1430
  return "Invalid date";
1354
1431
  }
1355
1432
  }
1356
- async function cr(e, t, r, n, o) {
1357
- const { app: a } = u, s = {
1433
+ async function pr(e, t, r, n, o) {
1434
+ const { app: a } = l, s = {
1358
1435
  app: a || "",
1359
1436
  suggestQuery: e,
1360
1437
  text: t,
@@ -1363,17 +1440,17 @@ async function cr(e, t, r, n, o) {
1363
1440
  showSource: o
1364
1441
  };
1365
1442
  try {
1366
- return (await l(
1443
+ return (await u(
1367
1444
  "api/v1/search.suggest",
1368
1445
  s
1369
1446
  )).suggests;
1370
- } catch (i) {
1371
- throw console.error("Error fetching suggestions:", i), i;
1447
+ } catch (c) {
1448
+ throw console.error("Error fetching suggestions:", c), c;
1372
1449
  }
1373
1450
  }
1374
- async function lr(e, t, r, n) {
1375
- const { app: o } = u;
1376
- return (await l(
1451
+ async function mr(e, t, r, n) {
1452
+ const { app: o } = l;
1453
+ return (await u(
1377
1454
  "api/v1/suggestquery",
1378
1455
  {
1379
1456
  app: o || "",
@@ -1384,9 +1461,9 @@ async function lr(e, t, r, n) {
1384
1461
  }
1385
1462
  )).suggests;
1386
1463
  }
1387
- async function ur(e, t, r) {
1464
+ async function wr(e, t, r) {
1388
1465
  if (!t) return Promise.resolve([]);
1389
- const { app: n } = u, a = await l(
1466
+ const { app: n } = l, a = await u(
1390
1467
  "api/v1/suggestfield",
1391
1468
  {
1392
1469
  app: n || "",
@@ -1396,11 +1473,11 @@ async function ur(e, t, r) {
1396
1473
  }
1397
1474
  );
1398
1475
  return a.suggests.forEach((s) => {
1399
- s.display = Ye(s.display);
1476
+ s.display = st(s.display);
1400
1477
  }), a.suggests;
1401
1478
  }
1402
- async function dr(e, t, r, n, o, a) {
1403
- return l("api/v1/doc.textchunks", {
1479
+ async function _r(e, t, r, n, o, a) {
1480
+ return u("api/v1/doc.textchunks", {
1404
1481
  id: e,
1405
1482
  textChunks: t,
1406
1483
  highlights: r,
@@ -1409,74 +1486,74 @@ async function dr(e, t, r, n, o, a) {
1409
1486
  rightSentencesCount: a
1410
1487
  });
1411
1488
  }
1412
- async function fr() {
1413
- const { app: e } = u, t = new URLSearchParams({
1489
+ async function kr() {
1490
+ const { app: e } = l, t = new URLSearchParams({
1414
1491
  app: e || "",
1415
1492
  action: "load"
1416
1493
  });
1417
- return m("api/v1/usersettings", t);
1494
+ return _("api/v1/usersettings", t);
1418
1495
  }
1419
- async function Ze(e, t) {
1496
+ async function ct(e, t) {
1420
1497
  const r = {
1421
1498
  action: "save",
1422
1499
  userSettings: e,
1423
1500
  $auditRecord: { auditEvents: [t] }
1424
1501
  };
1425
- return O(r), l("api/v1/usersettings", r);
1502
+ return A(r), u("api/v1/usersettings", r);
1426
1503
  }
1427
- async function hr(e, t) {
1504
+ async function Sr(e, t) {
1428
1505
  const n = {
1429
1506
  action: "patch",
1430
1507
  userSettings: e,
1431
1508
  $auditRecord: t ? { auditEvents: [t] } : void 0
1432
1509
  };
1433
- return O(n), l("api/v1/usersettings", n);
1510
+ return A(n), u("api/v1/usersettings", n);
1434
1511
  }
1435
- async function gr() {
1436
- return Ze({}, { type: "UserSettings_Reset" });
1512
+ async function br() {
1513
+ return ct({}, { type: "UserSettings_Reset" });
1437
1514
  }
1438
- async function pr(e, t) {
1439
- return l("api/v2/security/password/change", { newPassword: e, currentPassword: t });
1515
+ async function vr(e, t) {
1516
+ return u("api/v2/security/password/change", { newPassword: e, currentPassword: t });
1440
1517
  }
1441
- async function mr(e) {
1518
+ async function Cr(e) {
1442
1519
  const t = "api/v2/security/password/ask-reset-email", n = {
1443
1520
  changePasswordRedirectUrl: `${window.location.origin}/login?mode=changepassword`,
1444
1521
  userName: e
1445
1522
  };
1446
- return l(t, n);
1523
+ return u(t, n);
1447
1524
  }
1448
- async function wr(e) {
1449
- return await m(`api/v2/user-profile/${e}`);
1525
+ async function Rr(e) {
1526
+ return await _(`api/v2/user-profile/${e}`);
1450
1527
  }
1451
- async function _r(e) {
1452
- return await l("api/v2/user-profile", e);
1528
+ async function Pr(e) {
1529
+ return await u("api/v2/user-profile", e);
1453
1530
  }
1454
- async function Sr(e, t, r) {
1455
- return await ke(
1531
+ async function yr(e, t, r) {
1532
+ return await Le(
1456
1533
  `api/v2/user-profile/${e.data?.id}/${t}/${r}`,
1457
1534
  e
1458
1535
  );
1459
1536
  }
1460
- async function kr(e, t, r) {
1537
+ async function xr(e, t, r) {
1461
1538
  try {
1462
- return (await Se(
1539
+ return (await xe(
1463
1540
  `api/v2/user-profile/${e.data?.id}/${t}/${r}`
1464
1541
  )).success === !0;
1465
1542
  } catch {
1466
1543
  return !1;
1467
1544
  }
1468
1545
  }
1469
- async function br() {
1470
- return await m("api/v2/version");
1546
+ async function Lr() {
1547
+ return await _("api/v2/version");
1471
1548
  }
1472
- const v = 1e4, Ee = async () => {
1473
- const { autoOAuthProvider: e } = u;
1549
+ const C = 1e4, b = "sinequa-auth-redirect-attempt", lt = async () => {
1550
+ const { autoOAuthProvider: e } = l;
1474
1551
  if (!e)
1475
1552
  throw new Error("autoOAuthProvider is not configured in globalConfig");
1476
1553
  if (typeof window > "u")
1477
1554
  try {
1478
- const { signal: r } = b(v);
1479
- return await l(
1555
+ const { signal: r } = v(C);
1556
+ return await u(
1480
1557
  "security.oauth",
1481
1558
  {
1482
1559
  action: "getcode",
@@ -1496,27 +1573,33 @@ const v = 1e4, Ee = async () => {
1496
1573
  originalUrl: window.location.href
1497
1574
  };
1498
1575
  try {
1499
- const { signal: r } = b(v), n = await l(
1576
+ const { signal: r } = v(C), n = await u(
1500
1577
  "api/v1/security.oauth",
1501
1578
  t,
1502
1579
  { signal: r }
1503
1580
  );
1504
1581
  if (n.redirectUrl) {
1505
1582
  const o = new URL(n.redirectUrl, window.location.origin);
1506
- (o.protocol === "https:" || o.protocol === "http:") && (window.location.href = o.href);
1583
+ if (o.protocol === "https:" || o.protocol === "http:") {
1584
+ if (W(b))
1585
+ throw $(b), new Error(
1586
+ `OAuth sign-in with provider "${e}" did not establish a session — its callback is likely not authorized for this application.`
1587
+ );
1588
+ X(b, "1"), window.location.href = o.href;
1589
+ }
1507
1590
  }
1508
1591
  return n;
1509
1592
  } catch (r) {
1510
1593
  throw f("Failed to authenticate with OAuth", r), r;
1511
1594
  }
1512
- }, Te = async () => {
1513
- const { autoSAMLProvider: e } = u;
1595
+ }, ut = async () => {
1596
+ const { autoSAMLProvider: e } = l;
1514
1597
  if (!e)
1515
1598
  throw new Error("autoSAMLProvider is not configured in globalConfig");
1516
1599
  if (typeof window > "u")
1517
1600
  try {
1518
- const { signal: r } = b(v);
1519
- return await l(
1601
+ const { signal: r } = v(C);
1602
+ return await u(
1520
1603
  "security.saml",
1521
1604
  {
1522
1605
  action: "getresponse",
@@ -1536,67 +1619,43 @@ const v = 1e4, Ee = async () => {
1536
1619
  originalUrl: window.location.href
1537
1620
  };
1538
1621
  try {
1539
- const { signal: r } = b(v), n = await l(
1622
+ const { signal: r } = v(C), n = await u(
1540
1623
  "api/v1/security.saml",
1541
1624
  t,
1542
1625
  { signal: r }
1543
1626
  );
1544
1627
  if (n.redirectUrl) {
1545
1628
  const o = new URL(n.redirectUrl, window.location.origin);
1546
- (o.protocol === "https:" || o.protocol === "http:") && (window.location.href = o.href);
1629
+ if (o.protocol === "https:" || o.protocol === "http:") {
1630
+ if (W(b))
1631
+ throw $(b), new Error(
1632
+ `SAML sign-in with provider "${e}" did not establish a session — its callback is likely not authorized for this application.`
1633
+ );
1634
+ X(b, "1"), window.location.href = o.href;
1635
+ }
1547
1636
  }
1548
1637
  return n;
1549
1638
  } catch (r) {
1550
1639
  throw f("Failed to authenticate with SAML", r), r;
1551
1640
  }
1552
- }, H = {
1553
- store: {},
1554
- getItem(e) {
1555
- return this.store[e] ?? null;
1556
- },
1557
- setItem(e, t) {
1558
- this.store[e] = t.toString();
1559
- },
1560
- removeItem(e) {
1561
- delete this.store[e];
1562
- },
1563
- clear() {
1564
- this.store = {};
1565
- }
1566
- }, J = H;
1567
- function et(e) {
1568
- return typeof window > "u" || !window.localStorage ? H.getItem(e) : window.localStorage.getItem(e);
1569
- }
1570
- function tt(e) {
1571
- typeof window > "u" || !window.localStorage ? H.removeItem(e) : window.localStorage.removeItem(e);
1572
- }
1573
- function rt(e) {
1574
- return typeof window > "u" || !window.sessionStorage ? J.getItem(e) : window.sessionStorage.getItem(e);
1575
- }
1576
- function nt(e, t) {
1577
- typeof window > "u" || !window.sessionStorage ? J.setItem(e, t) : window.sessionStorage.setItem(e, t);
1578
- }
1579
- function ot(e) {
1580
- typeof window > "u" || !window.sessionStorage ? J.removeItem(e) : window.sessionStorage.removeItem(e);
1581
- }
1582
- const I = (e) => nt(
1641
+ }, q = (e) => X(
1583
1642
  "sinequa-credentials",
1584
1643
  JSON.stringify({ data: { csrfToken: e } })
1585
- ), at = async () => {
1644
+ ), dt = async () => {
1586
1645
  try {
1587
- const { signal: e } = b(v), t = await m(
1646
+ const { signal: e } = v(C), t = await _(
1588
1647
  "api/v1/challenge?action=getCsrfToken&suppressErrors=true",
1589
1648
  void 0,
1590
1649
  { signal: e }
1591
1650
  );
1592
1651
  if (t?.csrfToken)
1593
- return I(t.csrfToken), t.csrfToken;
1652
+ return q(t.csrfToken), t.csrfToken;
1594
1653
  throw new Error("No CSRF token returned");
1595
1654
  } catch (e) {
1596
1655
  throw f("Failed to get CSRF token", e), e;
1597
1656
  }
1598
1657
  };
1599
- async function st(e) {
1658
+ async function fe(e) {
1600
1659
  if (e) {
1601
1660
  const { username: t, password: r } = e, n = {
1602
1661
  action: "get",
@@ -1607,12 +1666,12 @@ async function st(e) {
1607
1666
  noAutoAuthentication: !0
1608
1667
  };
1609
1668
  try {
1610
- const { signal: o } = b(v), a = await l(
1669
+ const { signal: o } = v(C), a = await u(
1611
1670
  "api/v1/security.webtoken",
1612
1671
  n,
1613
1672
  { signal: o }
1614
1673
  );
1615
- return a?.csrfToken ? (I(a.csrfToken), a.csrfToken) : null;
1674
+ return a?.csrfToken ? (q(a.csrfToken), a.csrfToken) : null;
1616
1675
  } catch (o) {
1617
1676
  throw f("Failed to get JWT", o), o;
1618
1677
  }
@@ -1623,7 +1682,7 @@ async function st(e) {
1623
1682
  noUserOverride: !0,
1624
1683
  noAutoAuthentication: !1
1625
1684
  // Allow auto authentication for credentialless requests
1626
- }, { bearerToken: r } = u;
1685
+ }, { bearerToken: r } = l;
1627
1686
  if (!r)
1628
1687
  throw new Error(
1629
1688
  "Bearer token is required in globalConfig for credentialless JWT retrieval."
@@ -1631,100 +1690,96 @@ async function st(e) {
1631
1690
  const n = new Headers();
1632
1691
  n.append("Sinequa-Force-Camel-Case", "true"), n.append("accept", "application/json"), n.append("Content-Type", "application/json"), n.append("Authorization", `Bearer ${r}`);
1633
1692
  try {
1634
- const { signal: o } = b(v), a = await l(
1693
+ const { signal: o } = v(C), a = await u(
1635
1694
  "api/v1/security.webtoken",
1636
1695
  t,
1637
1696
  { headers: n, signal: o }
1638
1697
  );
1639
- return a?.csrfToken ? (I(a.csrfToken), a.csrfToken) : null;
1698
+ return a?.csrfToken ? (q(a.csrfToken), a.csrfToken) : null;
1640
1699
  } catch (o) {
1641
1700
  throw f("Failed to get JWT without credentials", o), o;
1642
1701
  }
1643
1702
  }
1644
1703
  }
1645
- const W = () => {
1646
- const e = rt("sinequa-credentials");
1704
+ const Z = () => {
1705
+ const e = W("sinequa-credentials");
1647
1706
  if (e)
1648
1707
  try {
1649
1708
  const n = JSON.parse(e).data?.csrfToken;
1650
1709
  if (n) return n;
1651
1710
  } catch (r) {
1652
- D(
1711
+ N(
1653
1712
  "Failed to parse session storage credentials, falling back to local storage",
1654
1713
  r
1655
1714
  );
1656
1715
  }
1657
- const t = et("csrfToken");
1716
+ const t = ge("csrfToken");
1658
1717
  return t || null;
1659
- }, vr = async (e) => {
1660
- if (e)
1661
- S("Attempting authentication using credentials"), k({ useCredentials: !0, useSSO: !1 });
1662
- else {
1663
- let i = null;
1664
- try {
1665
- S("Attempting to retrieve CSRF token from the backend"), i = await at(), x("CSRF token retrieval result", i ? "success" : "failed");
1666
- } catch {
1667
- }
1668
- try {
1669
- if (i === null) {
1670
- const { autoOAuthProvider: c, autoSAMLProvider: d, useSAML: _ } = u;
1671
- if (c && !_)
1672
- return S("Initiating OAuth authentication flow"), await Ee(), w(!1), !1;
1673
- if (d)
1674
- return S("Initiating SAML authentication flow"), await Te(), w(!1), !1;
1675
- S(
1676
- "No direct authentication method available, will try SSO then credentials"
1677
- ), k({ useCredentials: !0, useSSO: !0 });
1678
- } else
1679
- return S("User authenticated via existing token"), w(!0), !0;
1680
- } catch (c) {
1681
- throw f("Unexpected error during authentication", c), w(!1), c;
1682
- }
1683
- return !1;
1718
+ }, $r = async (e) => {
1719
+ if (e) {
1720
+ const { username: r, password: n } = e;
1721
+ return !r || !n ? (f("Credentials are required for authentication"), m(!1), !1) : ft({ username: r, password: n });
1684
1722
  }
1685
- if (u.useCredentials && u.useSSO)
1686
- try {
1687
- if (S("Checking if user is authenticated via SSO"), await se())
1688
- return S("User authenticated using SSO"), k({ useCredentials: !1, useSSO: !0 }), w(!0), !0;
1689
- } catch (i) {
1690
- if (i?.status === 401)
1691
- return S("SSO authentication failed with 401, falling back to credentials"), k({ useCredentials: !0, useSSO: !1 }), !1;
1692
- throw f("SSO authentication failed with unexpected error", i), w(!1), i;
1693
- }
1694
- const { useSSO: r } = u, n = W();
1695
- if (n || r)
1696
- return S("user already authenticated", n), k({ isRedirectUrl: !1 }), w(!0), !0;
1697
- const { useCredentials: o } = u, { username: a, password: s } = e || {};
1698
- if (o && (!a || !s))
1699
- return f("Credentials are required for authentication"), w(!1), !1;
1700
- if (a && s)
1701
- try {
1702
- S("authentication using credentials..."), k({ useCredentials: !0, useSSO: !1 });
1703
- const { userOverrideActive: i, useroverride: c } = u;
1704
- return k({ userOverrideActive: !1, useroverride: void 0 }), await st({ username: a, password: s }), k({ userOverrideActive: i, useroverride: c }), w(!0), !0;
1705
- } catch (i) {
1706
- throw w(!1), i;
1707
- }
1708
- return w(!1), f(
1709
- "No authentication method available. Please provide credentials or configure OAuth/SAML."
1710
- ), !1;
1711
- }, it = async () => {
1723
+ const t = l.authMode ?? g.unknown();
1724
+ if (t.kind === "credentials")
1725
+ return m(!1), !1;
1726
+ if (t.kind === "bearer")
1727
+ return ht();
1728
+ if (Z())
1729
+ return S({ isRedirectUrl: !1 }), $(b), m(!0), !0;
1730
+ try {
1731
+ if (x("Checking for an existing session via CSRF token retrieval"), await dt())
1732
+ return x("User already authenticated (existing session / SSO)"), $(b), t.kind === "unknown" && S({ authMode: g.sso() }), m(!0), !0;
1733
+ } catch {
1734
+ }
1735
+ switch (t.kind) {
1736
+ case "oauth":
1737
+ return x("Initiating OAuth authentication flow"), await lt(), m(!1), !1;
1738
+ case "saml":
1739
+ return x("Initiating SAML authentication flow"), await ut(), m(!1), !1;
1740
+ case "sso":
1741
+ return m(!1), !1;
1742
+ default:
1743
+ return S({ authMode: g.credentials() }), m(!1), !1;
1744
+ }
1745
+ };
1746
+ async function ft(e) {
1747
+ x("Attempting authentication using credentials"), S({ authMode: g.credentials() });
1748
+ const { userOverrideActive: t, userOverride: r } = l;
1749
+ S({ userOverrideActive: !1, userOverride: void 0 });
1750
+ try {
1751
+ await fe(e);
1752
+ } catch (n) {
1753
+ throw m(!1), n;
1754
+ }
1755
+ return S({ userOverrideActive: t, userOverride: r }), m(!0), !0;
1756
+ }
1757
+ async function ht() {
1758
+ try {
1759
+ if (x("Attempting authentication using bearer token"), await fe())
1760
+ return m(!0), !0;
1761
+ } catch (e) {
1762
+ throw f("Bearer authentication failed", e), m(!1), e;
1763
+ }
1764
+ return m(!1), !1;
1765
+ }
1766
+ const gt = async () => {
1712
1767
  const e = new URLSearchParams({
1713
1768
  action: "deleteWebTokenCookie",
1714
1769
  noUserOverride: "true",
1715
1770
  noAutoAuthentication: "true"
1716
- }), { signal: t } = b(v);
1717
- return m(
1771
+ }), { signal: t } = v(C);
1772
+ return _(
1718
1773
  "api/v1/challenge",
1719
1774
  e,
1720
1775
  { signal: t }
1721
1776
  );
1722
1777
  };
1723
- async function Cr() {
1724
- const { userOverrideActive: e } = u;
1725
- if (ct(), !e)
1778
+ async function Ur() {
1779
+ const { userOverrideActive: e } = l;
1780
+ if (pt(), !e)
1726
1781
  try {
1727
- const { methodresult: t, logoutUrl: r } = await it();
1782
+ const { methodresult: t, logoutUrl: r } = await gt();
1728
1783
  if (t === "ok")
1729
1784
  return r;
1730
1785
  f("logout failed");
@@ -1732,137 +1787,141 @@ async function Cr() {
1732
1787
  f("logout failed", t);
1733
1788
  }
1734
1789
  }
1735
- function ct() {
1736
- tt("csrfToken"), ot("sinequa-credentials"), w(!1);
1790
+ function pt() {
1791
+ pe("csrfToken"), $("sinequa-credentials"), m(!1);
1737
1792
  }
1738
- const Rr = () => !!W();
1793
+ const Or = () => !!Z();
1739
1794
  export {
1740
- tr as API,
1741
- R as ApiError,
1742
- Ht as Audit,
1743
- C as AuditEventType,
1744
- be as DidYouMeanKind,
1795
+ cr as API,
1796
+ P as ApiError,
1797
+ Zt as Audit,
1798
+ R as AuditEventType,
1799
+ g as AuthMode,
1800
+ $e as DidYouMeanKind,
1745
1801
  h as EngineType,
1746
- p as EngineTypeModifier,
1747
- re as LogLevel,
1748
- qt as MINIMUM_COMPATIBLE_SERVER_API_VERSION,
1749
- ve as RFMDisplay,
1750
- E as ServerError,
1751
- _e as TimeoutError,
1752
- V as UnauthorizedError,
1753
- O as addAuditAdditionalInfo,
1754
- gt as addConcepts,
1755
- Ie as addSessionId,
1756
- Ae as addUrl,
1757
- ce as aggItemRegex,
1758
- dt as aggregationItemStrictCompare,
1759
- Mt as appInitializerFn,
1760
- ht as bisect,
1761
- z as buildPathsAndLevels,
1762
- ct as clearSessionTokens,
1763
- $t as configureLogger,
1764
- L as createHeaders,
1765
- b as createTimeoutController,
1766
- _r as createUserProfile,
1767
- x as debug,
1768
- Se as del,
1769
- kr as deleteUserProfileProperty,
1770
- gr as deleteUserSettings,
1771
- it as deleteWebTokenCookie,
1772
- w as emitAuthenticatedEvent,
1802
+ w as EngineTypeModifier,
1803
+ ie as LogLevel,
1804
+ zt as MINIMUM_COMPATIBLE_SERVER_API_VERSION,
1805
+ Ue as RFMDisplay,
1806
+ ne as ServerError,
1807
+ ye as TimeoutError,
1808
+ G as UnauthorizedError,
1809
+ A as addAuditAdditionalInfo,
1810
+ bt as addConcepts,
1811
+ Qe as addSessionId,
1812
+ Ve as addUrl,
1813
+ me as aggItemRegex,
1814
+ _t as aggregationItemStrictCompare,
1815
+ er as appInitializerFn,
1816
+ St as bisect,
1817
+ K as buildPathsAndLevels,
1818
+ pt as clearSessionTokens,
1819
+ Ft as configureLogger,
1820
+ O as createHeaders,
1821
+ v as createTimeoutController,
1822
+ Pr as createUserProfile,
1823
+ U as debug,
1824
+ xe as del,
1825
+ xr as deleteUserProfileProperty,
1826
+ br as deleteUserSettings,
1827
+ gt as deleteWebTokenCookie,
1828
+ Je as detectAuthMode,
1829
+ m as emitAuthenticatedEvent,
1773
1830
  f as error,
1774
- Gt as escapeExpr,
1775
- It as expiresSoon,
1776
- Ft as extraColumns,
1777
- Jt as fetchAggregation,
1778
- Wt as fetchApp,
1779
- Be as fetchAppPreLogin,
1780
- nr as fetchBulkQuery,
1781
- pr as fetchChangePassword,
1782
- Xt as fetchDataset,
1783
- Kt as fetchDatasetList,
1784
- Yt as fetchDatasets,
1785
- Zt as fetchLabels,
1786
- Tt as fetchPreview,
1787
- er as fetchPreviewUrl,
1788
- se as fetchPrincipal,
1789
- We as fetchPrincipalList,
1790
- Me as fetchPrincipalUserid,
1791
- Xe as fetchPrincipalUserids,
1792
- rr as fetchQuery,
1793
- or as fetchQueryExport,
1794
- ar as fetchQueryIntent,
1795
- mr as fetchSendPasswordResetEmail,
1796
- sr as fetchSimilarDocuments,
1797
- ir as fetchSponsoredLinks,
1798
- cr as fetchSuggest,
1799
- ur as fetchSuggestField,
1800
- lr as fetchSuggestQuery,
1801
- dr as fetchTextChunks,
1802
- wr as fetchUserProfile,
1803
- fr as fetchUserSettings,
1804
- br as fetchVersion,
1805
- Bt as filter,
1806
- m as get,
1807
- wt as getConcepts,
1808
- at as getCsrfToken,
1809
- te as getFiltersFromURI,
1810
- vt as getFiltersFromUrl,
1811
- Lt as getHelpIndexUrl,
1812
- Rt as getIdFromUrl,
1813
- st as getJWToken,
1814
- jt as getMetadata,
1815
- Qt as getMetadataWithValues,
1816
- we as getOffsetFromDates,
1817
- Pt as getQueryPageFromUrl,
1818
- kt as getQueryParamsFromUrl,
1819
- yt as getQueryTabFromUrl,
1820
- Ct as getQueryTextFromUrl,
1821
- _t as getRelativeDate,
1822
- $e as getTime,
1823
- W as getToken,
1824
- bt as getUrlParamsFromQueryParams,
1825
- u as globalConfig,
1826
- Ue as guid,
1827
- P as handleResponse,
1828
- S as info,
1829
- ye as isArrayBuffer,
1830
- Rr as isAuthenticated,
1831
- xe as isBlob,
1832
- Le as isDate,
1833
- Dt as isExpired,
1834
- Vt as isJsonable,
1835
- St as isNotInputEvent,
1836
- q as isObject,
1837
- Oe as isString,
1838
- Et as labels,
1839
- vr as login,
1840
- Cr as logout,
1841
- g as makeColumn,
1842
- Ot as notify,
1843
- ue as openParentNodes,
1844
- A as parseText,
1845
- le as parseValueAndOperatorFromItem,
1846
- ke as patch,
1847
- Sr as patchUserProfile,
1848
- hr as patchUserSettings,
1849
- l as post,
1850
- Ut as put,
1851
- y as queryParamsFromUrl,
1852
- pt as removeConcept,
1853
- mt as removeConcepts,
1854
- Nt as resolveToColumnName,
1855
- G as rewriteText,
1856
- Ze as saveUserSettings,
1857
- k as setGlobalConfig,
1858
- I as setToken,
1859
- zt as sha512,
1860
- ft as suggestionsToTreeAggregationNodes,
1861
- xt as sysLang,
1862
- ne as toDate,
1863
- ut as translateAggregationToDateOptions,
1864
- Ee as tryOAuthAuthentication,
1865
- Te as trySAMLAuthentication,
1866
- D as warn,
1867
- At as withRetry
1831
+ Yt as escapeExpr,
1832
+ jt as expiresSoon,
1833
+ Gt as extraColumns,
1834
+ Et as fetchAggregation,
1835
+ Tt as fetchApp,
1836
+ We as fetchAppPreLogin,
1837
+ ur as fetchBulkQuery,
1838
+ vr as fetchChangePassword,
1839
+ tr as fetchDataset,
1840
+ nr as fetchDatasetList,
1841
+ rr as fetchDatasets,
1842
+ or as fetchLabels,
1843
+ sr as fetchPreview,
1844
+ ir as fetchPreviewUrl,
1845
+ rt as fetchPrincipal,
1846
+ nt as fetchPrincipalList,
1847
+ ot as fetchPrincipalUserid,
1848
+ at as fetchPrincipalUserids,
1849
+ lr as fetchQuery,
1850
+ dr as fetchQueryExport,
1851
+ fr as fetchQueryIntent,
1852
+ Cr as fetchSendPasswordResetEmail,
1853
+ hr as fetchSimilarDocuments,
1854
+ gr as fetchSponsoredLinks,
1855
+ pr as fetchSuggest,
1856
+ wr as fetchSuggestField,
1857
+ mr as fetchSuggestQuery,
1858
+ _r as fetchTextChunks,
1859
+ Rr as fetchUserProfile,
1860
+ kr as fetchUserSettings,
1861
+ Lr as fetchVersion,
1862
+ Ht as filter,
1863
+ _ as get,
1864
+ Rt as getConcepts,
1865
+ dt as getCsrfToken,
1866
+ se as getFiltersFromURI,
1867
+ $t as getFiltersFromUrl,
1868
+ Nt as getHelpIndexUrl,
1869
+ Ot as getIdFromUrl,
1870
+ fe as getJWToken,
1871
+ Jt as getMetadata,
1872
+ Wt as getMetadataWithValues,
1873
+ Pe as getOffsetFromDates,
1874
+ At as getQueryPageFromUrl,
1875
+ xt as getQueryParamsFromUrl,
1876
+ Dt as getQueryTabFromUrl,
1877
+ Ut as getQueryTextFromUrl,
1878
+ Pt as getRelativeDate,
1879
+ Be as getTime,
1880
+ Z as getToken,
1881
+ Lt as getUrlParamsFromQueryParams,
1882
+ l as globalConfig,
1883
+ Me as guid,
1884
+ y as handleResponse,
1885
+ x as info,
1886
+ Xe as initializeAppConfig,
1887
+ Ie as isArrayBuffer,
1888
+ Or as isAuthenticated,
1889
+ Ne as isBlob,
1890
+ qe as isDate,
1891
+ Mt as isExpired,
1892
+ Xt as isJsonable,
1893
+ yt as isNotInputEvent,
1894
+ M as isObject,
1895
+ Fe as isString,
1896
+ ar as labels,
1897
+ he as legacyBooleansToAuthMode,
1898
+ $r as login,
1899
+ Ur as logout,
1900
+ p as makeColumn,
1901
+ qt as notify,
1902
+ _e as openParentNodes,
1903
+ F as parseText,
1904
+ we as parseValueAndOperatorFromItem,
1905
+ Le as patch,
1906
+ yr as patchUserProfile,
1907
+ Sr as patchUserSettings,
1908
+ u as post,
1909
+ Bt as put,
1910
+ L as queryParamsFromUrl,
1911
+ vt as removeConcept,
1912
+ Ct as removeConcepts,
1913
+ Vt as resolveToColumnName,
1914
+ Y as rewriteText,
1915
+ ct as saveUserSettings,
1916
+ S as setGlobalConfig,
1917
+ q as setToken,
1918
+ Kt as sha512,
1919
+ kt as suggestionsToTreeAggregationNodes,
1920
+ It as sysLang,
1921
+ ce as toDate,
1922
+ wt as translateAggregationToDateOptions,
1923
+ lt as tryOAuthAuthentication,
1924
+ ut as trySAMLAuthentication,
1925
+ N as warn,
1926
+ Qt as withRetry
1868
1927
  };