@sinequa/atomic 2.2.0 → 2.3.1

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