@sinequa/atomic 2.2.0 → 2.3.0

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