@sinequa/atomic 2.0.2 → 2.0.5

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