@sinequa/atomic 2.0.1 → 2.0.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (30) hide show
  1. package/README.md +38 -3
  2. package/dist/atomic.cjs +1 -0
  3. package/dist/atomic.js +2 -1927
  4. package/dist/authentication/index.d.ts +1 -1
  5. package/dist/authentication/index.d.ts.map +1 -1
  6. package/dist/authentication/session/index.d.ts +1 -0
  7. package/dist/authentication/session/index.d.ts.map +1 -1
  8. package/dist/authentication/session/login.d.ts.map +1 -1
  9. package/dist/authentication/session/try-auto-authentication.d.ts +19 -0
  10. package/dist/authentication/session/try-auto-authentication.d.ts.map +1 -0
  11. package/dist/authentication/tokens/get-csrf-token.d.ts +12 -6
  12. package/dist/authentication/tokens/get-csrf-token.d.ts.map +1 -1
  13. package/dist/spfx/index.cjs +1 -0
  14. package/dist/spfx/index.d.ts +3 -0
  15. package/dist/spfx/index.d.ts.map +1 -0
  16. package/dist/spfx/index.js +2 -0
  17. package/dist/src-BW4JX9K-.js +1814 -0
  18. package/dist/src-U6mXZKpZ.cjs +1 -0
  19. package/dist/web-api/helpers/aad-http-client-manager.d.ts +53 -0
  20. package/dist/web-api/helpers/aad-http-client-manager.d.ts.map +1 -0
  21. package/dist/web-api/helpers/handle-response.d.ts +5 -2
  22. package/dist/web-api/helpers/handle-response.d.ts.map +1 -1
  23. package/dist/web-api/helpers/methods/del.d.ts.map +1 -1
  24. package/dist/web-api/helpers/methods/get.d.ts +4 -0
  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/package.json +17 -4
  30. package/dist/atomic.umd.cjs +0 -1
package/dist/atomic.js CHANGED
@@ -1,1927 +1,2 @@
1
- function m(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 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 = {
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 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);
90
- }
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) {
96
- return !e?.items || e?.items?.length === 0 ? [] : e.items.reduce((o, a) => {
97
- if (!a.value || a.value === "") return o;
98
- const s = we(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 we(e, t) {
110
- const r = t, n = e.value.match(me);
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 _t(e, t, r) {
136
- return e.valuesAreExpressions ? t.display === r.display : t.value === r.value;
137
- }
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;
140
- }
141
- function kt(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
- ae(
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 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);
165
- if (!d) {
166
- const k = 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: k
175
- }, t.set(i, d), e.push(d);
176
- }
177
- i.length < n.length && (d.hasChildren = !0, ae(
178
- d.items,
179
- t,
180
- i,
181
- n,
182
- o,
183
- a + 1,
184
- s
185
- ));
186
- }
187
- function St(e, t) {
188
- return e.reduce((r, n) => (t(n) ? r.true.push(n) : r.false.push(n), r), { true: [], false: [] });
189
- }
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) {
192
- if (!e) return [];
193
- const t = [], r = e.matchAll(ke);
194
- for (let n of r)
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] });
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 bt(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 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;
224
- }
225
- function Ct(e) {
226
- const t = F(e).filter((r) => r.type !== "adjacent");
227
- return Y(t);
228
- }
229
- function Rt(e) {
230
- return F(e).filter((t) => t.type === "adjacent").map((t) => t.value);
231
- }
232
- function Pt(e, t, r) {
233
- const n = new Intl.RelativeTimeFormat(e, { numeric: "auto" }), { offset: o, unit: a, isFuture: s } = Pe(t, r);
234
- return n.format(o * (s ? 1 : -1), a);
235
- }
236
- function Pe(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 yt(e) {
245
- const t = e.target;
246
- return t && t.nodeName !== "INPUT" && t.nodeName !== "TEXTAREA";
247
- }
248
- function xt(e) {
249
- if (e === void 0) return;
250
- const { q: t, f: r, p: n, s: o, t: a, n: s, b: c } = L(e), [i] = e.split("?");
251
- return {
252
- path: i,
253
- text: t,
254
- filters: r ? se(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 Lt(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 $t(e) {
270
- if (e === void 0) return [];
271
- const { f: t } = L(e);
272
- return se(t);
273
- }
274
- function se(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 L(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 Ut(e) {
289
- const { q: t = "" } = L(e);
290
- return t;
291
- }
292
- function Ot(e) {
293
- const { id: t } = L(e);
294
- return decodeURIComponent(t);
295
- }
296
- function At(e) {
297
- const { p: t = "0" } = L(e);
298
- return parseInt(t, 10);
299
- }
300
- function Dt(e) {
301
- const { t } = L(e);
302
- return t;
303
- }
304
- function It(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 k = j(e, i.end + 4, !0);
323
- return e.substring(k.start, k.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 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("/");
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 qt = {
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 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 = {
390
- level: 1,
391
- enableConsoleOutput: !0
392
- };
393
- function Ft(e) {
394
- I = { ...I, ...e };
395
- }
396
- function B(e, t, r) {
397
- if (e < I.level) return;
398
- const o = `${`[${ie[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 x(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 P extends Error {
434
- status;
435
- constructor(t, r) {
436
- super(t), this.name = "ApiError", this.status = r;
437
- }
438
- }
439
- class ne extends P {
440
- constructor(t = "Server error") {
441
- super(t, 500), this.name = "ServerError";
442
- }
443
- }
444
- class ye extends P {
445
- constructor(t = "Request timed out") {
446
- super(t, 408), this.name = "TimeoutError";
447
- }
448
- }
449
- class G extends P {
450
- constructor(t = "Unauthorized access") {
451
- super(t, 401), this.name = "UnauthorizedError";
452
- }
453
- }
454
- async function y(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 P(`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 P ? r : t === 401 ? new G(r.message) : t === 500 ? new ne(r.message) : new P(
507
- r.message ?? `Request failed with status ${t}`,
508
- t
509
- );
510
- }
511
- }
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}`);
515
- try {
516
- const c = await fetch(s, {
517
- method: "DELETE",
518
- credentials: "include",
519
- headers: n
520
- });
521
- return y(c, r?.responseType);
522
- } catch (c) {
523
- throw f("Error making DELETE request:", c), c;
524
- }
525
- }
526
- async function _(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
- });
538
- return y(c, r?.responseType);
539
- } catch (c) {
540
- throw f("Error making GET request:", c), c;
541
- }
542
- }
543
- async function Le(e, t, r) {
544
- const n = O(r?.headers);
545
- n.append("content-type", "application/json");
546
- const { app: o, backendUrl: a } = l, s = {
547
- app: o,
548
- ...t,
549
- locale: t.locale || navigator.language,
550
- noUserOverride: !0,
551
- noAutoAuthentication: !0
552
- }, c = a ? `${a}/${e}` : `${e}`;
553
- U(`Making PATCH request to: ${c}`);
554
- try {
555
- const i = await fetch(c, {
556
- method: "PATCH",
557
- headers: n,
558
- credentials: "include",
559
- body: JSON.stringify(s)
560
- });
561
- return y(i, r?.responseType);
562
- } catch (i) {
563
- throw f("Error making PATCH request:", i), i;
564
- }
565
- }
566
- async function u(e, t, r) {
567
- const n = O(r?.headers), { app: o, backendUrl: a } = l;
568
- n.has("Content-Type") || n.set("Content-Type", "application/json");
569
- const s = {
570
- app: o,
571
- ...t,
572
- locale: t.locale || navigator.language,
573
- noUserOverride: !0,
574
- noAutoAuthentication: !0
575
- };
576
- e.startsWith("plugin") && (e = `api/v1/${e}`);
577
- const c = a ? `${a}/${e}` : `${e}`;
578
- U(`Making POST request to: ${c}`);
579
- try {
580
- const i = await fetch(c, {
581
- method: "POST",
582
- headers: n,
583
- credentials: "include",
584
- body: JSON.stringify(s),
585
- signal: r?.signal
586
- });
587
- return y(i, r?.responseType);
588
- } catch (i) {
589
- throw f("Error making POST request:", i), i;
590
- }
591
- }
592
- async function Bt(e, t, r) {
593
- const n = O(r?.headers), { app: o, backendUrl: a } = l, s = {
594
- app: o,
595
- ...t,
596
- locale: t.locale || navigator.language,
597
- noUserOverride: !0,
598
- noAutoAuthentication: !0
599
- }, c = `${a}/${e}`;
600
- U(`Making PUT request to: ${c}`);
601
- try {
602
- const i = await fetch(c, {
603
- method: "PUT",
604
- headers: n,
605
- credentials: "include",
606
- body: JSON.stringify(s)
607
- });
608
- return y(i, r?.responseType);
609
- } catch (i) {
610
- throw f("Error making PUT request:", i), i;
611
- }
612
- }
613
- function v(e) {
614
- const t = new AbortController(), { signal: r } = t;
615
- return e && setTimeout(() => {
616
- r.aborted || t.abort(new ye(`Request timed out after ${e}ms`));
617
- }, e), { controller: t, signal: r };
618
- }
619
- function ce(e) {
620
- if (!e) return;
621
- const t = new Date(e);
622
- return Number.isNaN(t.getTime()) ? void 0 : t;
623
- }
624
- function Mt(e) {
625
- const t = ce(e);
626
- return !!t && t.getTime() <= Date.now();
627
- }
628
- function jt(e, t = 7) {
629
- const r = ce(e);
630
- if (!r) return !1;
631
- const n = Date.now(), o = n + t * 24 * 60 * 60 * 1e3, a = r.getTime();
632
- return a > n && a <= o;
633
- }
634
- async function Qt(e, t = 0, r = 1e3) {
635
- let n;
636
- for (let o = 0; o <= t; o++)
637
- try {
638
- return await e();
639
- } catch (a) {
640
- if (n = a, a instanceof P && a.status >= 400 && a.status < 500 && a.status !== 429 || a instanceof DOMException && a.name === "AbortError")
641
- throw a;
642
- o < t && (N(`Retrying request (${o + 1}/${t})`, { error: a }), await new Promise((s) => setTimeout(s, r)));
643
- }
644
- throw n;
645
- }
646
- function Vt(e, t, r) {
647
- if (!e || !t) return;
648
- if (r) {
649
- const a = Object.keys(t.queries).find((i) => i === r?.toLowerCase());
650
- let s;
651
- a && (s = t.queries[a]);
652
- const c = (s?.columnsInfo?.columns || [])?.find((i) => i.aliases?.split(",")?.includes(e));
653
- if (c) return c.name;
654
- }
655
- const n = t.indexes?._?.columns, o = Object.entries(n).find((a) => a[1].aliases?.includes(e));
656
- if (o) return o[0];
657
- }
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) {
662
- if (!e)
663
- return h.none;
664
- switch (e.toLocaleLowerCase()) {
665
- case "bool":
666
- case "boolean":
667
- return h.bool;
668
- case "date":
669
- return h.date;
670
- case "datetime":
671
- return h.dateTime;
672
- case "time":
673
- return h.time;
674
- case "unsigned":
675
- return h.unsigned;
676
- case "integer":
677
- return h.integer;
678
- case "float":
679
- return h.float;
680
- case "double":
681
- return h.double;
682
- case "dates":
683
- return h.dates;
684
- case "datetimes":
685
- return h.dateTimes;
686
- case "times":
687
- return h.times;
688
- case "varchar":
689
- return h.varchar;
690
- case "binary":
691
- return h.binary;
692
- case "string":
693
- return h.string;
694
- case "csv":
695
- return h.csv;
696
- default:
697
- return h.none;
698
- }
699
- }
700
- function Ae(e) {
701
- switch (e) {
702
- case "a":
703
- return w.a;
704
- case "c":
705
- return w.c;
706
- case "d":
707
- return w.d;
708
- case "e":
709
- return w.e;
710
- case "i":
711
- return w.i;
712
- case "l":
713
- return w.l;
714
- case "n":
715
- return w.n;
716
- case "t":
717
- return w.t;
718
- case "x":
719
- return w.x;
720
- case "z":
721
- return w.z;
722
- default:
723
- return w.none;
724
- }
725
- }
726
- function De(e) {
727
- let t = w.none;
728
- if (e)
729
- for (const r of e)
730
- t |= Ae(r);
731
- return t;
732
- }
733
- function p(e, t, r, n) {
734
- const o = Oe(t), a = De(r || "");
735
- return {
736
- name: e,
737
- type: t,
738
- typeModifier: r,
739
- eType: o,
740
- eTypeModifier: a,
741
- aliases: n
742
- };
743
- }
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"),
753
- // json
754
- extracts: p("extracts", "csv"),
755
- extractsperpartname: p("extractsperpartname", "varchar"),
756
- // json
757
- extractslocations: p("extractslocations", "csv"),
758
- documentweight: p("documentweight", "varchar"),
759
- groupcount: p("groupcount", "integer"),
760
- accesslists: p("accesslists", "varchar", void 0, ["accessLists"])
761
- // json
762
- };
763
- function le(e) {
764
- return e.filter((t) => !!t);
765
- }
766
- const Ht = {
767
- // ── Scalar (leaf) operators ───────────────────────────────────────────────
768
- /** `field = value`. */
769
- eq: (e, t) => ({
770
- field: e,
771
- operator: "eq",
772
- value: t
773
- }),
774
- /** `field <> value`. */
775
- neq: (e, t) => ({
776
- field: e,
777
- operator: "neq",
778
- value: t
779
- }),
780
- /** `field > value`. */
781
- gt: (e, t) => ({
782
- field: e,
783
- operator: "gt",
784
- value: t
785
- }),
786
- /** `field >= value`. */
787
- gte: (e, t) => ({
788
- field: e,
789
- operator: "gte",
790
- value: t
791
- }),
792
- /** `field < value`. */
793
- lt: (e, t) => ({
794
- field: e,
795
- operator: "lt",
796
- value: t
797
- }),
798
- /** `field <= value`. */
799
- lte: (e, t) => ({
800
- field: e,
801
- operator: "lte",
802
- value: t
803
- }),
804
- /** SQL `LIKE` pattern match (use `*`/`?` wildcards as supported by the engine). */
805
- like: (e, t) => ({
806
- field: e,
807
- operator: "like",
808
- value: t
809
- }),
810
- /** Substring containment. */
811
- contains: (e, t) => ({
812
- field: e,
813
- operator: "contains",
814
- value: t
815
- }),
816
- /** Regular-expression match. */
817
- regex: (e, t) => ({
818
- field: e,
819
- operator: "regex",
820
- value: t
821
- }),
822
- /** `field IS NULL` (no value). */
823
- isNull: (e) => ({ field: e, operator: "null" }),
824
- /** `field IS NOT NULL` (no value). */
825
- isNotNull: (e) => ({ field: e, operator: "notnull" }),
826
- // ── Range operators ───────────────────────────────────────────────────────
827
- /**
828
- * `field IN (...values)` — matches any of the values (logical OR within a field).
829
- * Prefer this over several `eq` combined with `or` for the same field.
830
- */
831
- in: (e, t) => ({
832
- field: e,
833
- operator: "in",
834
- values: t
835
- }),
836
- /** `field BETWEEN start AND end` (inclusive). Works for numbers and ISO dates. */
837
- between: (e, t, r) => ({
838
- field: e,
839
- operator: "between",
840
- start: t,
841
- end: r
842
- }),
843
- // ── Boolean combinators ───────────────────────────────────────────────────
844
- /**
845
- * Combine filters with logical AND. Falsy operands are ignored; with a single
846
- * effective operand the operand is returned as-is, with none `undefined`.
847
- */
848
- and: (...e) => oe("and", e),
849
- /** Combine filters with logical OR. Same collapsing rules as {@link filter.and}. */
850
- or: (...e) => oe("or", e),
851
- /**
852
- * Negate filters. Falsy operands are ignored; returns `undefined` if nothing
853
- * remains. A `not` node is always kept (even with a single operand).
854
- */
855
- not: (...e) => {
856
- const t = le(e);
857
- return t.length ? { operator: "not", filters: t } : void 0;
858
- }
859
- };
860
- function oe(e, t) {
861
- const r = le(t);
862
- return r.length === 0 ? void 0 : r.length === 1 ? r[0] : { operator: e, filters: r };
863
- }
864
- function Jt(e, t) {
865
- let r = e[t];
866
- return r === void 0 ? [] : (typeof r == "string" && (r = String(r).split(",")), Array.isArray(r) ? r.map((n) => {
867
- if (typeof n == "string") return n.trim();
868
- if (typeof n == "object" && n !== null && "display" in n)
869
- return n.display.trim();
870
- }).filter((n) => n !== void 0) : [String(r).trim()]);
871
- }
872
- function Wt(e, t) {
873
- let r = e[t];
874
- if (r === void 0) return [];
875
- if (typeof r == "string" && (r = String(r).split(",")), Array.isArray(r))
876
- return r.map((o) => {
877
- if (typeof o == "string")
878
- return { display: o.trim(), value: o.trim() };
879
- if (typeof o == "object" && o !== null && "display" in o) {
880
- const a = o.display.trim(), s = "value" in o ? String(o.value).trim() : a;
881
- return { display: a, value: s };
882
- }
883
- }).filter(
884
- (o) => o !== void 0
885
- );
886
- const n = String(r).trim();
887
- return [{ display: n, value: n }];
888
- }
889
- function M(e) {
890
- return e !== null && typeof e == "object";
891
- }
892
- function Ie(e) {
893
- return M(e) && Object.prototype.toString.call(e) === "[object ArrayBuffer]";
894
- }
895
- function Ne(e) {
896
- return M(e) && Object.prototype.toString.call(e) === "[object Blob]";
897
- }
898
- function qe(e) {
899
- return Object.prototype.toString.call(e) === "[object Date]";
900
- }
901
- function Fe(e) {
902
- return typeof e == "string";
903
- }
904
- function Xt(e) {
905
- return (M(e) || Array.isArray(e)) && !Ie(e) && !Ne(e) && !Fe(e);
906
- }
907
- function Be(e) {
908
- return e ? (e.getHours() * 60 * 60 + e.getMinutes() * 60 + e.getSeconds()) * 1e3 + e.getMilliseconds() : 0;
909
- }
910
- function Me(e = !0) {
911
- let t = Date.now();
912
- return (e ? "xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx" : "xxxxxxxxxxxx4xxxyxxxxxxxxxxxxxxx").replace(/[xy]/g, (n) => {
913
- const o = (t + Math.random() * 16) % 16 | 0;
914
- return t = Math.floor(t / 16), (n === "x" ? o : o & 3 | 8).toString(16);
915
- });
916
- }
917
- function Yt(e) {
918
- if (!e)
919
- return "``";
920
- if (e = String(e), e.search(/[\\`]/) === -1)
921
- return `\`${e}\``;
922
- const t = ["`"];
923
- for (let r = 0, n = e.length; r < n; r++) {
924
- const o = e[r];
925
- (o === "\\" || o === "`") && t.push("\\"), t.push(o);
926
- }
927
- return t.push("`"), t.join("");
928
- }
929
- function Kt(e) {
930
- if (typeof crypto < "u" && crypto.subtle && typeof crypto.subtle.digest == "function")
931
- try {
932
- return crypto.subtle.digest("SHA-512", new TextEncoder().encode(e)).then(
933
- (t) => Array.prototype.map.call(new Uint8Array(t), (r) => `00${r.toString(16)}`.slice(-2)).join("")
934
- ).catch(() => Promise.resolve(V(e)));
935
- } catch {
936
- return Promise.resolve(V(e));
937
- }
938
- return Promise.resolve(V(e));
939
- }
940
- function V(e) {
941
- let n = 2166136261;
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);
946
- }
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;
951
- }
952
- function je(e) {
953
- if (!e)
954
- return;
955
- let t;
956
- if (Array.isArray(e))
957
- t = e;
958
- else if (M(e)) {
959
- const r = e;
960
- if (r.auditEvents || r.mlAuditEvents)
961
- return r;
962
- t = [e];
963
- }
964
- return { auditEvents: t };
965
- }
966
- function Qe(e) {
967
- const t = ze();
968
- return e.auditEvents?.forEach((r) => {
969
- r.detail || (r.detail = {}), r.detail.sessionid = t;
970
- }), e;
971
- }
972
- function Ve(e) {
973
- const t = typeof window < "u" ? decodeURIComponent(window.location.href) : "http://localhost";
974
- return e?.auditEvents?.forEach((r) => {
975
- r.detail || (r.detail = {}), r.detail.url = t;
976
- }), e;
977
- }
978
- function ze() {
979
- return (!z || Ge()) && (z = Me()), ue = /* @__PURE__ */ new Date(), z;
980
- }
981
- function Ge() {
982
- return (/* @__PURE__ */ new Date()).getTime() - ue.getTime() > 600 * 1e3;
983
- }
984
- async function He(e, t = !0) {
985
- const r = {
986
- event: R.None,
987
- $auditRecord: e
988
- };
989
- return A(r, t), u("api/v1/audit.notify", r);
990
- }
991
- const Zt = { notify: He };
992
- async function Et(e, t, r) {
993
- const n = e.items?.length || 0, o = 10, a = {
994
- query: { ...t, action: "aggregate", aggregations: { [e.name]: { skip: n, count: o } } },
995
- $auditRecord: { auditEvents: [r] }
996
- };
997
- A(a);
998
- const s = await u("api/v1/query", a), c = await y(s), { aggregations: i } = c, d = i[0];
999
- return d.$hasMore = d.items.length > o, d.items = [...e.items, ...d.items], Promise.resolve(d);
1000
- }
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);
1012
- }
1013
- async function We() {
1014
- const { app: e } = l, t = new URLSearchParams({
1015
- app: e || "",
1016
- preLogin: "true"
1017
- });
1018
- return _("api/v1/app", t);
1019
- }
1020
- function Xe() {
1021
- let { backendUrl: e, app: t } = l;
1022
- if (typeof window < "u") {
1023
- if (e || (e = window.location.origin), !t) {
1024
- const r = window.location.pathname.match(
1025
- /\/app(?:-debug)?\/([^/#]+)/
1026
- );
1027
- r && (t = r[1]);
1028
- }
1029
- S({ backendUrl: e, app: t });
1030
- }
1031
- return l.authMode?.kind === "credentials" ? (S({
1032
- authMode: g.credentials(),
1033
- autoOAuthProvider: void 0,
1034
- autoSAMLProvider: void 0,
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;
1046
- });
1047
- }
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];
1051
- if ("errorCode" in s && "errorMessage" in s)
1052
- throw new Error(s.errorMessage);
1053
- return s;
1054
- }
1055
- async function rr(e, t) {
1056
- const r = `api/v1/search.dataset/${e}`, { parameters: n = {}, datasets: o = [] } = t;
1057
- return (await u(r, { parameters: n, datasets: o })).datasets;
1058
- }
1059
- async function nr(e) {
1060
- return await _(`api/v1/search.dataset/${e}`);
1061
- }
1062
- async function or(e, t = !0, r) {
1063
- try {
1064
- return (await u("api/v1/labels", {
1065
- action: "list",
1066
- q: e,
1067
- public: t,
1068
- locale: r,
1069
- localize: !1
1070
- })).labels;
1071
- } catch (n) {
1072
- throw f("Error in fetchLabels", n), n;
1073
- }
1074
- }
1075
- async function Ye() {
1076
- try {
1077
- const { app: e = "" } = l, t = new URLSearchParams({
1078
- app: e,
1079
- action: "getUserRights"
1080
- });
1081
- return _("api/v1/labels", t);
1082
- } catch (e) {
1083
- throw f("Error in getUserRights", e), e;
1084
- }
1085
- }
1086
- async function Ke(e, t, r = !0) {
1087
- try {
1088
- const n = {
1089
- action: "add",
1090
- labels: e,
1091
- ids: t,
1092
- public: r,
1093
- $auditRecord: {
1094
- auditEvents: [
1095
- {
1096
- type: R.Label_AddDoc,
1097
- detail: {
1098
- public: r,
1099
- label: e ? e.toString() : null,
1100
- doccount: t ? t.length : 0
1101
- }
1102
- }
1103
- ],
1104
- mlAuditEvents: [
1105
- {
1106
- actionType: "addToLabel",
1107
- documentIds: t
1108
- }
1109
- ]
1110
- }
1111
- };
1112
- return u("api/v1/labels", n);
1113
- } catch (n) {
1114
- throw f("Error in add", n), n;
1115
- }
1116
- }
1117
- async function Ze(e, t, r = !0) {
1118
- try {
1119
- const n = {
1120
- action: "remove",
1121
- labels: e,
1122
- ids: t,
1123
- public: r,
1124
- $auditRecord: {
1125
- auditEvents: [
1126
- {
1127
- type: R.Label_RemoveDoc,
1128
- detail: {
1129
- public: r,
1130
- label: e ? e.toString() : null,
1131
- doccount: t ? t.length : 0
1132
- }
1133
- }
1134
- ],
1135
- mlAuditEvents: [
1136
- {
1137
- actionType: "removeFromLabel",
1138
- documentIds: t
1139
- }
1140
- ]
1141
- }
1142
- };
1143
- return u("api/v1/labels", n);
1144
- } catch (n) {
1145
- throw f("Error in remove", n), n;
1146
- }
1147
- }
1148
- async function Ee(e, t, r = !0) {
1149
- try {
1150
- const n = {
1151
- action: "rename",
1152
- labels: e,
1153
- newLabel: t,
1154
- public: r,
1155
- auditEvents: {
1156
- type: R.Label_Rename,
1157
- detail: {
1158
- public: r,
1159
- oldlabel: e ? e.toString() : null,
1160
- label: t
1161
- }
1162
- }
1163
- };
1164
- return u("api/v1/labels", n);
1165
- } catch (n) {
1166
- throw f("Error in rename", n), n;
1167
- }
1168
- }
1169
- async function Te(e, t = !0) {
1170
- try {
1171
- const r = {
1172
- action: "delete",
1173
- labels: e,
1174
- public: t,
1175
- auditEvents: {
1176
- type: R.Label_Delete,
1177
- detail: {
1178
- public: t,
1179
- label: e ? e.toString() : null
1180
- }
1181
- }
1182
- };
1183
- return u("api/v1/labels", r);
1184
- } catch (r) {
1185
- throw f("Error in deleteLabels", r), r;
1186
- }
1187
- }
1188
- async function et(e, t, r = !0) {
1189
- try {
1190
- const n = {
1191
- action: "bulkAdd",
1192
- labels: e,
1193
- query: t,
1194
- public: r,
1195
- auditEvents: {
1196
- type: R.Label_Add,
1197
- detail: {
1198
- public: r,
1199
- label: e ? e.toString() : null,
1200
- query: t !== null ? t.name : null
1201
- }
1202
- }
1203
- };
1204
- return u("api/v1/labels", n);
1205
- } catch (n) {
1206
- throw f("Error in bulkAdd", n), n;
1207
- }
1208
- }
1209
- async function tt(e, t, r = !0) {
1210
- try {
1211
- const n = {
1212
- action: "bulkRemove",
1213
- labels: e,
1214
- query: t,
1215
- public: r,
1216
- auditEvents: {
1217
- type: R.Label_Delete,
1218
- detail: {
1219
- public: r,
1220
- label: e ? e.toString() : null,
1221
- query: t !== null ? t.name : null
1222
- }
1223
- }
1224
- };
1225
- return u("api/v1/labels", n);
1226
- } catch (n) {
1227
- throw f("Error in bulkRemove", n), n;
1228
- }
1229
- }
1230
- const ar = {
1231
- getUserRights: Ye,
1232
- add: Ke,
1233
- remove: Ze,
1234
- rename: Ee,
1235
- delete: Te,
1236
- bulkAdd: et,
1237
- bulkRemove: tt
1238
- };
1239
- async function sr(e, t) {
1240
- if (typeof window > "u")
1241
- return u("api/v1/preview", {
1242
- action: "get",
1243
- id: e,
1244
- query: t
1245
- });
1246
- const r = `${window.location.origin}${window.location.pathname}`, n = { name: t?.name, text: t?.text };
1247
- return u("api/v1/preview", {
1248
- action: "get",
1249
- id: e,
1250
- query: n,
1251
- browserUrl: r
1252
- });
1253
- }
1254
- async function ir(e) {
1255
- const t = new Headers();
1256
- t.append("content-type", "text");
1257
- const r = await fetch(
1258
- e,
1259
- {
1260
- method: "GET",
1261
- headers: t
1262
- }
1263
- );
1264
- y(r);
1265
- }
1266
- async function rt() {
1267
- const e = new URLSearchParams({
1268
- action: "get",
1269
- noAutoAuthentication: "true"
1270
- });
1271
- return _("api/v1/principal", e);
1272
- }
1273
- async function nt(e) {
1274
- const t = {
1275
- noAutoAuthentication: "true",
1276
- ...e
1277
- }, r = new URLSearchParams();
1278
- return Object.entries(t).forEach(([n, o]) => {
1279
- o !== void 0 && r.append(n, String(o));
1280
- }), _("api/v1/principal/list", r);
1281
- }
1282
- async function ot(e) {
1283
- if (!e)
1284
- return Promise.reject(new Error("userid is required"));
1285
- const t = new URLSearchParams({
1286
- action: "userid",
1287
- noAutoAuthentication: "true",
1288
- userid: e
1289
- });
1290
- return _("api/v1/principal", t);
1291
- }
1292
- async function at(e) {
1293
- if (e.length === 0)
1294
- return Promise.reject(new Error("userids is required"));
1295
- const t = new URLSearchParams({
1296
- noAutoAuthentication: "true",
1297
- userids: [...e].join(",")
1298
- });
1299
- return _("api/v1/principal/userids", t);
1300
- }
1301
- const cr = {
1302
- principal: {
1303
- get: rt,
1304
- list: nt,
1305
- userid: ot,
1306
- userids: at
1307
- }
1308
- }, de = 11;
1309
- async function lr(e, t, r) {
1310
- const o = await u("api/v1/query", {
1311
- query: e,
1312
- $auditRecord: t,
1313
- queryIntentData: r
1314
- });
1315
- o.aggregations.forEach((s) => {
1316
- s.$hasMore = !1, !s.isDistribution && !s.isTree && s.items && (s.$hasMore = s.items.length === de), s.isTree && s.items && K(s);
1317
- }), o.records?.map((s) => Object.assign(s, { value: s.title, type: "default" }));
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 };
1319
- return Promise.resolve(a);
1320
- }
1321
- async function ur(e, t, r) {
1322
- const { app: n = "" } = l, o = {
1323
- methods: [],
1324
- mode: t,
1325
- propagateErrors: !0,
1326
- $auditRecord: { auditEvents: [r] }
1327
- };
1328
- for (const c of e)
1329
- o.methods.push({
1330
- method: "query",
1331
- app: n,
1332
- query: c
1333
- });
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);
1338
- });
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 }));
1341
- return Promise.resolve(s);
1342
- }
1343
- function K(e, t = "", r = 0) {
1344
- let n = [];
1345
- return e.items && e.items.forEach((o) => {
1346
- let a = t ? `${t}/${o.value}` : o.value, s = r + 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;
1348
- }), n;
1349
- }
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 = {
1352
- app: t,
1353
- webservice: o,
1354
- query: r,
1355
- type: i,
1356
- format: a,
1357
- maxcount: s,
1358
- exportedColumns: c,
1359
- $auditRecord: {
1360
- auditEvents: [{
1361
- type: "Search_ExportCSV",
1362
- detail: {
1363
- resultid: n ? n.id : void 0
1364
- }
1365
- }]
1366
- }
1367
- };
1368
- return A(d), await u("api/v1/search.queryexport", d, { responseType: "blob" });
1369
- }
1370
- async function fr(e) {
1371
- return (await u("api/v1/queryintent", {
1372
- query: e
1373
- }))?.intents;
1374
- }
1375
- async function hr(e, t, r) {
1376
- return (await u(
1377
- "api/v1/similardocuments",
1378
- {
1379
- sourceDocumentId: e,
1380
- query: {
1381
- name: t
1382
- }
1383
- },
1384
- { signal: r }
1385
- )).data;
1386
- }
1387
- async function gr(e, t) {
1388
- return (await u("api/v1/query.links", {
1389
- webservice: e,
1390
- query: t
1391
- }))?.links?.map((o) => ({ ...o, query: t }));
1392
- }
1393
- function st(e, t) {
1394
- if (typeof e == "number")
1395
- return `${e}`;
1396
- if (qe(e))
1397
- return it(e);
1398
- if (typeof e == "boolean")
1399
- return e ? "true" : "false";
1400
- if (e === null)
1401
- return "null";
1402
- if (Array.isArray(e)) {
1403
- const r = [];
1404
- return e.forEach((n) => {
1405
- r.length > 0 && r.push(","), n ? typeof n == "string" ? r.push(n) : r.push(n.display || n.value || "") : r.push("null");
1406
- }), r.splice(0, 0, "["), r.push("]"), r.join("");
1407
- }
1408
- return e;
1409
- }
1410
- function it(e) {
1411
- if (!e)
1412
- return "";
1413
- try {
1414
- if (Be(e) === 0)
1415
- return new Intl.DateTimeFormat("en-CA", {
1416
- year: "numeric",
1417
- month: "2-digit",
1418
- day: "2-digit"
1419
- }).format(e);
1420
- {
1421
- const t = new Intl.DateTimeFormat("en-CA").format(e), r = new Intl.DateTimeFormat("en-CA", {
1422
- hour: "2-digit",
1423
- minute: "2-digit",
1424
- second: "2-digit",
1425
- hour12: !1
1426
- }).format(e);
1427
- return `${t} ${r}`;
1428
- }
1429
- } catch {
1430
- return "Invalid date";
1431
- }
1432
- }
1433
- async function pr(e, t, r, n, o) {
1434
- const { app: a } = l, s = {
1435
- app: a || "",
1436
- suggestQuery: e,
1437
- text: t,
1438
- filter: r,
1439
- kinds: n,
1440
- showSource: o
1441
- };
1442
- try {
1443
- return (await u(
1444
- "api/v1/search.suggest",
1445
- s
1446
- )).suggests;
1447
- } catch (c) {
1448
- throw console.error("Error fetching suggestions:", c), c;
1449
- }
1450
- }
1451
- async function mr(e, t, r, n) {
1452
- const { app: o } = l;
1453
- return (await u(
1454
- "api/v1/suggestquery",
1455
- {
1456
- app: o || "",
1457
- suggestQuery: e,
1458
- text: t,
1459
- query: r,
1460
- kinds: n
1461
- }
1462
- )).suggests;
1463
- }
1464
- async function wr(e, t, r) {
1465
- if (!t) return Promise.resolve([]);
1466
- const { app: n } = l, a = await u(
1467
- "api/v1/suggestfield",
1468
- {
1469
- app: n || "",
1470
- text: e,
1471
- fields: t,
1472
- query: r
1473
- }
1474
- );
1475
- return a.suggests.forEach((s) => {
1476
- s.display = st(s.display);
1477
- }), a.suggests;
1478
- }
1479
- async function _r(e, t, r, n, o, a) {
1480
- return u("api/v1/doc.textchunks", {
1481
- id: e,
1482
- textChunks: t,
1483
- highlights: r,
1484
- query: n,
1485
- leftSentencesCount: o,
1486
- rightSentencesCount: a
1487
- });
1488
- }
1489
- async function kr() {
1490
- const { app: e } = l, t = new URLSearchParams({
1491
- app: e || "",
1492
- action: "load"
1493
- });
1494
- return _("api/v1/usersettings", t);
1495
- }
1496
- async function ct(e, t) {
1497
- const r = {
1498
- action: "save",
1499
- userSettings: e,
1500
- $auditRecord: { auditEvents: [t] }
1501
- };
1502
- return A(r), u("api/v1/usersettings", r);
1503
- }
1504
- async function Sr(e, t) {
1505
- const n = {
1506
- action: "patch",
1507
- userSettings: e,
1508
- $auditRecord: t ? { auditEvents: [t] } : void 0
1509
- };
1510
- return A(n), u("api/v1/usersettings", n);
1511
- }
1512
- async function br() {
1513
- return ct({}, { type: "UserSettings_Reset" });
1514
- }
1515
- async function vr(e, t) {
1516
- return u("api/v2/security/password/change", { newPassword: e, currentPassword: t });
1517
- }
1518
- async function Cr(e) {
1519
- const t = "api/v2/security/password/ask-reset-email", n = {
1520
- changePasswordRedirectUrl: `${window.location.origin}/login?mode=changepassword`,
1521
- userName: e
1522
- };
1523
- return u(t, n);
1524
- }
1525
- async function Rr(e) {
1526
- return await _(`api/v2/user-profile/${e}`);
1527
- }
1528
- async function Pr(e) {
1529
- return await u("api/v2/user-profile", e);
1530
- }
1531
- async function yr(e, t, r) {
1532
- return await Le(
1533
- `api/v2/user-profile/${e.data?.id}/${t}/${r}`,
1534
- e
1535
- );
1536
- }
1537
- async function xr(e, t, r) {
1538
- try {
1539
- return (await xe(
1540
- `api/v2/user-profile/${e.data?.id}/${t}/${r}`
1541
- )).success === !0;
1542
- } catch {
1543
- return !1;
1544
- }
1545
- }
1546
- async function Lr() {
1547
- return await _("api/v2/version");
1548
- }
1549
- const C = 1e4, b = "sinequa-auth-redirect-attempt", lt = async () => {
1550
- const { autoOAuthProvider: e } = l;
1551
- if (!e)
1552
- throw new Error("autoOAuthProvider is not configured in globalConfig");
1553
- if (typeof window > "u")
1554
- try {
1555
- const { signal: r } = v(C);
1556
- return await u(
1557
- "security.oauth",
1558
- {
1559
- action: "getcode",
1560
- provider: e,
1561
- tokenInCookie: !0,
1562
- originalUrl: "http://localhost"
1563
- },
1564
- { signal: r }
1565
- );
1566
- } catch (r) {
1567
- throw f("Failed to authenticate with OAuth", r), r;
1568
- }
1569
- const t = {
1570
- action: "getcode",
1571
- provider: e,
1572
- tokenInCookie: !0,
1573
- originalUrl: window.location.href
1574
- };
1575
- try {
1576
- const { signal: r } = v(C), n = await u(
1577
- "api/v1/security.oauth",
1578
- t,
1579
- { signal: r }
1580
- );
1581
- if (n.redirectUrl) {
1582
- const o = new URL(n.redirectUrl, window.location.origin);
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
- }
1590
- }
1591
- return n;
1592
- } catch (r) {
1593
- throw f("Failed to authenticate with OAuth", r), r;
1594
- }
1595
- }, ut = async () => {
1596
- const { autoSAMLProvider: e } = l;
1597
- if (!e)
1598
- throw new Error("autoSAMLProvider is not configured in globalConfig");
1599
- if (typeof window > "u")
1600
- try {
1601
- const { signal: r } = v(C);
1602
- return await u(
1603
- "security.saml",
1604
- {
1605
- action: "getresponse",
1606
- provider: e,
1607
- tokenInCookie: !0,
1608
- originalUrl: "http://localhost"
1609
- },
1610
- { signal: r }
1611
- );
1612
- } catch (r) {
1613
- throw f("Failed to authenticate with SAML", r), r;
1614
- }
1615
- const t = {
1616
- action: "getresponse",
1617
- provider: e,
1618
- tokenInCookie: !0,
1619
- originalUrl: window.location.href
1620
- };
1621
- try {
1622
- const { signal: r } = v(C), n = await u(
1623
- "api/v1/security.saml",
1624
- t,
1625
- { signal: r }
1626
- );
1627
- if (n.redirectUrl) {
1628
- const o = new URL(n.redirectUrl, window.location.origin);
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
- }
1636
- }
1637
- return n;
1638
- } catch (r) {
1639
- throw f("Failed to authenticate with SAML", r), r;
1640
- }
1641
- }, q = (e) => X(
1642
- "sinequa-credentials",
1643
- JSON.stringify({ data: { csrfToken: e } })
1644
- ), dt = async () => {
1645
- try {
1646
- const { signal: e } = v(C), t = await _(
1647
- "api/v1/challenge?action=getCsrfToken&suppressErrors=true",
1648
- void 0,
1649
- { signal: e }
1650
- );
1651
- if (t?.csrfToken)
1652
- return q(t.csrfToken), t.csrfToken;
1653
- throw new Error("No CSRF token returned");
1654
- } catch (e) {
1655
- throw f("Failed to get CSRF token", e), e;
1656
- }
1657
- };
1658
- async function fe(e) {
1659
- if (e) {
1660
- const { username: t, password: r } = e, n = {
1661
- action: "get",
1662
- tokenInCookie: !0,
1663
- user: t,
1664
- password: r,
1665
- noUserOverride: !0,
1666
- noAutoAuthentication: !0
1667
- };
1668
- try {
1669
- const { signal: o } = v(C), a = await u(
1670
- "api/v1/security.webtoken",
1671
- n,
1672
- { signal: o }
1673
- );
1674
- return a?.csrfToken ? (q(a.csrfToken), a.csrfToken) : null;
1675
- } catch (o) {
1676
- throw f("Failed to get JWT", o), o;
1677
- }
1678
- } else {
1679
- const t = {
1680
- action: "get",
1681
- tokenInCookie: !0,
1682
- noUserOverride: !0,
1683
- noAutoAuthentication: !1
1684
- // Allow auto authentication for credentialless requests
1685
- }, { bearerToken: r } = l;
1686
- if (!r)
1687
- throw new Error(
1688
- "Bearer token is required in globalConfig for credentialless JWT retrieval."
1689
- );
1690
- const n = new Headers();
1691
- n.append("Sinequa-Force-Camel-Case", "true"), n.append("accept", "application/json"), n.append("Content-Type", "application/json"), n.append("Authorization", `Bearer ${r}`);
1692
- try {
1693
- const { signal: o } = v(C), a = await u(
1694
- "api/v1/security.webtoken",
1695
- t,
1696
- { headers: n, signal: o }
1697
- );
1698
- return a?.csrfToken ? (q(a.csrfToken), a.csrfToken) : null;
1699
- } catch (o) {
1700
- throw f("Failed to get JWT without credentials", o), o;
1701
- }
1702
- }
1703
- }
1704
- const Z = () => {
1705
- const e = W("sinequa-credentials");
1706
- if (e)
1707
- try {
1708
- const n = JSON.parse(e).data?.csrfToken;
1709
- if (n) return n;
1710
- } catch (r) {
1711
- N(
1712
- "Failed to parse session storage credentials, falling back to local storage",
1713
- r
1714
- );
1715
- }
1716
- const t = ge("csrfToken");
1717
- return t || null;
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 });
1722
- }
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 () => {
1767
- const e = new URLSearchParams({
1768
- action: "deleteWebTokenCookie",
1769
- noUserOverride: "true",
1770
- noAutoAuthentication: "true"
1771
- }), { signal: t } = v(C);
1772
- return _(
1773
- "api/v1/challenge",
1774
- e,
1775
- { signal: t }
1776
- );
1777
- };
1778
- async function Ur() {
1779
- const { userOverrideActive: e } = l;
1780
- if (pt(), !e)
1781
- try {
1782
- const { methodresult: t, logoutUrl: r } = await gt();
1783
- if (t === "ok")
1784
- return r;
1785
- f("logout failed");
1786
- } catch (t) {
1787
- f("logout failed", t);
1788
- }
1789
- }
1790
- function pt() {
1791
- pe("csrfToken"), $("sinequa-credentials"), m(!1);
1792
- }
1793
- const Or = () => !!Z();
1794
- export {
1795
- cr as API,
1796
- P as ApiError,
1797
- Zt as Audit,
1798
- R as AuditEventType,
1799
- g as AuthMode,
1800
- $e as DidYouMeanKind,
1801
- h as EngineType,
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,
1830
- f as error,
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
1927
- };
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, G as g, Gt as _, H as v, Ht as y, I as b, J as x, Jt as S, K as C, Kt as w, L as T, Lt as E, M as D, Mt as O, N as k, Nt as A, O as j, Ot as M, P as N, Pt as P, Q as F, Qt as I, R as L, Rt as R, S as z, Sn as B, St as V, T as H, Tn as U, Tt as W, U as G, Ut as K, V as q, Vt as J, W as Y, Wt as X, X as Z, Xt as Q, Y as $, Yt as ee, Z as te, Zt as ne, _ as re, _n as ie, _t as ae, a as oe, an as se, at as ce, b as le, bn as ue, bt as de, c as fe, cn as pe, ct as me, d as he, dn as ge, dt as _e, en as ve, et as ye, f as be, fn as xe, ft as Se, g as Ce, gn as we, gt as Te, h as Ee, hn as De, ht as Oe, i as ke, in as Ae, it as je, j as Me, jt as Ne, k as Pe, kt as Fe, l as Ie, ln as Le, lt as Re, m as ze, mn as Be, mt as Ve, n as He, nn as Ue, nt as We, o as Ge, on as Ke, ot as qe, p as Je, pn as Ye, pt as Xe, q as Ze, qt as Qe, r as $e, rn as et, rt as tt, s as nt, sn as rt, st as it, t as at, tn as ot, tt as st, u as ct, un as lt, ut, v as dt, vn as ft, vt as pt, w as mt, wn as ht, wt as gt, x as _t, xn as vt, xt as yt, y as bt, yn as xt, yt as St, z as Ct, zt as wt } from "./src-BW4JX9K-.js";
2
+ export { h as API, J as ApiError, e as Audit, c as AuditEventType, U as AuthMode, St as DidYouMeanKind, V as EngineType, yt as EngineTypeModifier, K as LogLevel, de as MINIMUM_COMPATIBLE_SERVER_API_VERSION, pt as RFMDisplay, a as ServerError, wt as TimeoutError, R as UnauthorizedError, ye as addAuditAdditionalInfo, lt as addConcepts, st as addSessionId, We as addUrl, ie as aggItemRegex, ft as aggregationItemStrictCompare, Ze as appInitializerFn, we as bisect, D as buildPathsAndLevels, He as clearSessionTokens, X as configureLogger, y as createHeaders, Fe as createTimeoutController, ze as createUserProfile, _ as debug, P as del, Ee as deleteUserProfileProperty, le as deleteUserSettings, ke as deleteWebTokenCookie, te as detectAuthMode, u as emitAuthenticatedEvent, w as error, tt as escapeExpr, m as expiresSoon, Te as extraColumns, F as fetchAggregation, x as fetchApp, $ as fetchAppPreLogin, k as fetchBulkQuery, bt as fetchChangePassword, Y as fetchDataset, g as fetchDatasetList, C as fetchDatasets, v as fetchLabels, i as fetchPreview, q as fetchPreviewUrl, b as fetchPrincipal, T as fetchPrincipalList, L as fetchPrincipalUserid, Ct as fetchPrincipalUserids, N as fetchQuery, Me as fetchQueryExport, n as fetchQueryIntent, dt as fetchSendPasswordResetEmail, Pe as fetchSimilarDocuments, j as fetchSponsoredLinks, H as fetchSuggest, f as fetchSuggestField, l as fetchSuggestQuery, mt as fetchTextChunks, Ce as fetchUserProfile, _t as fetchUserSettings, Je as fetchVersion, Oe as filter, A as get, ge as getConcepts, Ie as getCsrfToken, I as getFiltersFromURI, t as getFiltersFromUrl, Q as getHelpIndexUrl, ve as getIdFromUrl, fe as getJWToken, Xe as getMetadata, Ve as getMetadataWithValues, pe as getOffsetFromDates, ot as getQueryPageFromUrl, Ue as getQueryParamsFromUrl, et as getQueryTabFromUrl, Ae as getQueryTextFromUrl, Le as getRelativeDate, je as getTime, nt as getToken, se as getUrlParamsFromQueryParams, s as globalConfig, ce as guid, E as handleResponse, Qe as info, Z as initializeAppConfig, qe as isArrayBuffer, at as isAuthenticated, it as isBlob, me as isDate, d as isExpired, Re as isJsonable, rt as isNotInputEvent, ut as isObject, _e as isString, G as labels, p as legacyBooleansToAuthMode, oe as login, $e as logout, ae as makeColumn, ee as notify, xt as openParentNodes, xe as parseText, ue as parseValueAndOperatorFromItem, O as patch, re as patchUserProfile, z as patchUserSettings, Ne as post, r as put, Ke as queryParamsFromUrl, Ye as removeConcept, Be as removeConcepts, gt as resolveToColumnName, De as rewriteText, o as saveUserSettings, ht as setGlobalConfig, ct as setToken, Se as sha512, vt as suggestionsToTreeAggregationNodes, ne as sysLang, M as toDate, B as translateAggregationToDateOptions, Ge as tryAutoAuthentication, be as tryOAuthAuthentication, he as trySAMLAuthentication, S as warn, W as withRetry };