@sinequa/atomic 0.0.96 → 0.0.101

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -1,18 +1,67 @@
1
- # atomic
2
- This is a package created to practice building a TypeScript package with Vite.
1
+ # @sinequa/atomic
3
2
 
4
- ## How to publish a new version
5
- * first commit your changes
6
- * build a new version (the version number will be incremented)
3
+ ![npm](https://img.shields.io/npm/v/@sinequa/atomic.svg)
4
+ ![license](https://img.shields.io/npm/l/@sinequa/atomic.svg)
7
5
 
6
+ A modern TypeScript package designed for use with [Sinequa](https://www.sinequa.com/), providing web API helpers, authentication, configurations, and utilities.
7
+
8
+ ---
9
+
10
+ ## Table of Contents
11
+
12
+ - [Features](#features)
13
+ - [Installation](#installation)
14
+ - [Usage](#usage)
15
+ - [Documentation](#documentation)
16
+ - [License](#license)
17
+
18
+ ---
19
+
20
+ ## Features
21
+
22
+ - **Web API Helpers**: Simplify API calls with helpers for aggregations, datasets, preview, principal, query, and more.
23
+ - **Authentication**: Easy-to-use authentication utilities (OAuth, SAML, JWT, CSRF, etc.).
24
+ - **Configurations**: Centralized and type-safe configuration management.
25
+ - **Helpers & Utilities**: Includes bisect, date, logger, syslang, and more.
26
+ - **Type Definitions**: Strongly-typed interfaces for API endpoints and data structures.
27
+ - ...and many more functions to help you build with Sinequa.
28
+
29
+ Explore the full feature set in the [online documentation](https://sinequa.github.io/sba-mint/atomic/intro).
30
+
31
+ ---
32
+
33
+ ## Installation
34
+
35
+ ```sh
36
+ npm install @sinequa/atomic
8
37
  ```
9
- npm run build:patch
10
- ```
11
38
 
39
+ ---
40
+
41
+ ## Usage
42
+
43
+ Import and use helpers in your TypeScript project:
12
44
 
13
- * commit the changes (then new version number)
14
- * publish the package to verdaccio
45
+ ```ts
46
+ import { fetchQuery, fetchAggregation, isAuthenticated } from '@sinequa/atomic';
15
47
 
48
+ // Example: Fetch data
49
+ const data = await fetchQuery({ query: 'example' });
50
+
51
+ // Example: Check authentication
52
+ if (isAuthenticated()) {
53
+ // ...
54
+ }
16
55
  ```
17
- npm run v:publish
18
- ```
56
+
57
+ ---
58
+
59
+ ## Documentation
60
+
61
+ Comprehensive documentation is available in the [Atomic Documentation Portal](https://sinequa.github.io/sba-mint/atomic/intro).
62
+
63
+ ---
64
+
65
+ ## License
66
+
67
+ This project is licensed under the MIT License. See the [LICENSE](./LICENSE) file for details.
package/dist/atomic.js CHANGED
@@ -1,9 +1,9 @@
1
1
  var T = Object.defineProperty;
2
2
  var ee = (e, t, r) => t in e ? T(e, t, { enumerable: !0, configurable: !0, writable: !0, value: r }) : e[t] = r;
3
3
  var G = (e, t, r) => ee(e, typeof t != "symbol" ? t + "" : t, r);
4
- let u = { apiPath: "api/v1", loginPath: "/login", backendUrl: window.location.origin };
4
+ const u = { apiPath: "api/v1", loginPath: "/login", backendUrl: window.location.origin };
5
5
  function m(e) {
6
- u = { ...u, ...e };
6
+ Object.assign(u, e);
7
7
  }
8
8
  function je(e, t) {
9
9
  var n;
@@ -39,7 +39,7 @@ function te(e, t) {
39
39
  function Ve(e, t, r) {
40
40
  return e.valuesAreExpressions ? t.display === r.display : t.value === r.value;
41
41
  }
42
- function Je(e, t) {
42
+ function ze(e, t) {
43
43
  const r = [];
44
44
  if (e.length > 0) {
45
45
  const a = /* @__PURE__ */ new Map(), n = t.replace(/[.*+?^${}()|[\]\\]/g, "\\$&"), o = new RegExp("\\b" + n, "i");
@@ -56,7 +56,7 @@ function X(e, t, r, a, n, o, s) {
56
56
  const c = a.indexOf("/", r.length), i = a.substring(0, c + 1);
57
57
  let l = t.get(i);
58
58
  if (!l) {
59
- const h = i.replace(/^\/|\/$/g, "");
59
+ const f = i.replace(/^\/|\/$/g, "");
60
60
  l = {
61
61
  value: a.substring(r.length, c),
62
62
  count: n,
@@ -64,20 +64,20 @@ function X(e, t, r, a, n, o, s) {
64
64
  hasChildren: !1,
65
65
  $level: o,
66
66
  $opened: s >= i.length,
67
- $path: h
67
+ $path: f
68
68
  }, t.set(i, l), e.push(l);
69
69
  }
70
70
  i.length < a.length && (l.hasChildren = !0, X(l.items, t, i, a, n, o + 1, s));
71
71
  }
72
- function ze(e, t) {
72
+ function Je(e, t) {
73
73
  return e.reduce((r, a) => (t(a) ? r.true.push(a) : r.false.push(a), r), { true: [], false: [] });
74
74
  }
75
- const re = /(([\+\-])?\(([^\)]+)\))|(([\+\-])?\[([^\]]+)\])|(([\+\-])?\"([^\"]+)\")|(([\+\-])?\/([^\/]+)\/)|(([\+\-])?(\S+))/g, ae = 2, j = 3, ne = 5, V = 6, oe = 8, J = 9, se = 11, z = 12, ce = 14, H = 15;
75
+ const re = /(([\+\-])?\(([^\)]+)\))|(([\+\-])?\[([^\]]+)\])|(([\+\-])?\"([^\"]+)\")|(([\+\-])?\/([^\/]+)\/)|(([\+\-])?(\S+))/g, ae = 2, j = 3, ne = 5, V = 6, oe = 8, z = 9, se = 11, J = 12, ce = 14, H = 15;
76
76
  function U(e) {
77
77
  if (!e) return [];
78
78
  const t = [], r = e.matchAll(re);
79
79
  for (let a of r)
80
- a[j] ? t.push({ type: "group", value: a[j], op: a[ae] }) : a[V] ? t.push({ type: "adjacent", value: a[V], op: a[ne] }) : a[J] ? t.push({ type: "exact", value: a[J], op: a[oe] }) : a[z] ? t.push({ type: "regex", value: a[z], op: a[se] }) : a[H] && t.push({ type: "token", value: a[H], op: a[ce] });
80
+ a[j] ? t.push({ type: "group", value: a[j], op: a[ae] }) : a[V] ? t.push({ type: "adjacent", value: a[V], op: a[ne] }) : a[z] ? t.push({ type: "exact", value: a[z], op: a[oe] }) : a[J] ? t.push({ type: "regex", value: a[J], op: a[se] }) : a[H] && t.push({ type: "token", value: a[H], op: a[ce] });
81
81
  return t;
82
82
  }
83
83
  function N(e) {
@@ -132,15 +132,16 @@ function Ze(e) {
132
132
  }
133
133
  function Me(e) {
134
134
  if (e === void 0) return;
135
- const { q: t, f: r, p: a, s: n, t: o, ...s } = R(e), [c] = e.split("?");
135
+ const { q: t, f: r, p: a, s: n, t: o, n: s, b: c } = R(e), [i] = e.split("?");
136
136
  return {
137
- path: c,
137
+ path: i,
138
138
  text: t,
139
139
  filters: r ? Y(r) : void 0,
140
140
  page: a ? parseInt(a, 10) : void 0,
141
141
  sort: n,
142
142
  tab: o,
143
- ...s
143
+ name: s,
144
+ basket: c
144
145
  };
145
146
  }
146
147
  function Ee(e) {
@@ -196,8 +197,8 @@ function at(e, t) {
196
197
  let i = o;
197
198
  for (; i; )
198
199
  if (s === i.lang1 && c === i.lang2) {
199
- const h = y(e, i.end + 4, !0);
200
- return e.substring(h.start, h.end);
200
+ const f = y(e, i.end + 4, !0);
201
+ return e.substring(f.start, f.end);
201
202
  } else
202
203
  i = y(e, i.end + 4, !1);
203
204
  const l = e.substring(o.start, o.end);
@@ -260,7 +261,7 @@ function S(e, t) {
260
261
  function C(e, t) {
261
262
  $(2, e, t);
262
263
  }
263
- function f(e, t) {
264
+ function h(e, t) {
264
265
  $(3, e, t);
265
266
  }
266
267
  function st(e, t, r) {
@@ -268,23 +269,28 @@ function st(e, t, r) {
268
269
  if (!e || !t) return;
269
270
  if (r) {
270
271
  const l = Object.keys(t.queries).find((I) => I === (r == null ? void 0 : r.toLowerCase()));
271
- let h;
272
- l && (h = t.queries[l]);
273
- const v = (s = ((o = h == null ? void 0 : h.columnsInfo) == null ? void 0 : o.columns) || []) == null ? void 0 : s.find((I) => {
272
+ let f;
273
+ l && (f = t.queries[l]);
274
+ const v = (s = ((o = f == null ? void 0 : f.columnsInfo) == null ? void 0 : o.columns) || []) == null ? void 0 : s.find((I) => {
274
275
  var q, Q;
275
276
  return (Q = (q = I.aliases) == null ? void 0 : q.split(",")) == null ? void 0 : Q.includes(e);
276
277
  });
277
278
  if (v) return v.name;
278
279
  }
279
280
  const a = (i = (c = t.indexes) == null ? void 0 : c._) == null ? void 0 : i.columns, n = Object.entries(a).find((l) => {
280
- var h;
281
- return (h = l[1].aliases) == null ? void 0 : h.includes(e);
281
+ var f;
282
+ return (f = l[1].aliases) == null ? void 0 : f.includes(e);
282
283
  });
283
284
  if (n) return n[0];
284
285
  }
285
286
  function ct(e, t) {
286
287
  const r = e[t];
287
- return r === void 0 ? [] : Array.isArray(r) ? r.map((a) => typeof a == "string" ? { display: a } : a) : [{ display: r }];
288
+ return r === void 0 ? [] : Array.isArray(r) ? r.map((a) => {
289
+ if (typeof a == "string")
290
+ return a;
291
+ if (typeof a == "object" && a !== null && "display" in a)
292
+ return a.display;
293
+ }).filter((a) => a !== void 0) : [String(r)];
288
294
  }
289
295
  function D(e) {
290
296
  return e !== null && typeof e == "object";
@@ -301,7 +307,7 @@ function de(e) {
301
307
  function it(e) {
302
308
  return (D(e) || Array.isArray(e)) && !le(e) && !ue(e) && !de(e);
303
309
  }
304
- function he(e = !0) {
310
+ function fe(e = !0) {
305
311
  let t = Date.now();
306
312
  return (e ? "xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx" : "xxxxxxxxxxxx4xxxyxxxxxxxxxxxxxxx").replace(/[xy]/g, (a) => {
307
313
  const n = (t + Math.random() * 16) % 16 | 0;
@@ -323,7 +329,7 @@ function lt(e) {
323
329
  function ut(e) {
324
330
  return crypto.subtle.digest("SHA-512", new TextEncoder().encode(e)).then((t) => Array.prototype.map.call(new Uint8Array(t), (r) => ("00" + r.toString(16)).slice(-2)).join(""));
325
331
  }
326
- var k = /* @__PURE__ */ ((e) => (e.None = "None", e.Search_FirstPage = "Search_FirstPage", e.Search_Text = "Search_Text", e.Search_Refine = "Search_Refine", e.Search_Select_Item = "Search_Select_Item", e.Search_Select_Custom = "Search_Select_Custom", e.Search_Select_Concept = "Search_Select_Concept", e.Search_Select_Correction = "Search_Select_Correction", e.Search_GotoPage = "Search_GotoPage", e.Search_GotoTab = "Search_GotoTab", e.Search_DisplayResult = "Search_DisplayResult", e.Search_RemoveResult = "Search_RemoveResult", e.Search_RemoveAdvanced = "Search_RemoveAdvanced", e.Search_SavedQuery = "Search_SavedQuery", e.Search_WebService = "Search_WebService", e.Search_DidYouMean_Original = "Search_DidYouMean_Original", e.Search_DidYouMean_Correction = "Search_DidYouMean_Correction", e.Search_ExportCSV = "Search_ExportCSV", e.Search_SavedQuery_ExportCSV = "Search_SavedQuery_ExportCSV", e.Search_Selection_ExportCSV = "Search_Selection_ExportCSV", e.Search_AlertQuery = "Search_AlertQuery", e.Search_Select_AnalyticsItem = "Search_Select_AnalyticsItem", e.Search_Sort = "Search_Sort", e.Search_Exit_Logout = "Search_Exit_Logout", e.Search_Timeline_Usage = "Search_Timeline_Usage", e.Search_AutoComplete = "Search_Autocomplete", e.Search_Login_Success = "Login_Success_Form", e.Search_QueryIntent_Detected = "Search_QueryIntent_Detected", e.SavedQuery_Add = "SavedQuery_Add", e.SavedQuery_Delete = "SavedQuery_Delete", e.SavedQuery_DeleteAll = "SavedQuery_DeleteAll", e.SavedQuery_Rename = "SavedQuery_Rename", e.Alert_Edit = "Alert_Edit", e.Alert_Delete = "Alert_Delete", e.Alert_DeleteAll = "Alert_DeleteAll", e.Link_Display = "Link_Display", e.Link_Click = "Link_Click", e.Basket_Add = "Basket_Add", e.Basket_Delete = "Basket_Delete", e.Basket_DeleteAll = "Basket_DeleteAll", e.Basket_Rename = "Basket_Rename", e.Basket_AddDoc = "Basket_AddDoc", e.Basket_RemoveDoc = "Basket_RemoveDoc", e.Basket_Open = "Basket_Open", e.Basket_ExportCSV = "Basket_ExportCSV", e.Label_Add = "Label_Add", e.Label_Delete = "Label_Delete", e.Label_Rename = "Label_Rename", e.Label_Open = "Label_Open", e.Label_AddDoc = "Label_AddDoc", e.Label_RemoveDoc = "Label_RemoveDoc", e.Label_ExportCSV = "Label_ExportCSV", e.Label_Menu_ExportCSV = "Label_Menu_ExportCSV", e.Rating_Set = "Rating_Set", e.Rating_Delete = "Rating_Delete", e.Doc_Preview = "Doc_Preview", e.Doc_CacheHtml = "Doc_CacheHtml", e.Doc_CachePdf = "Doc_CachePdf", e.Doc_CacheOriginal = "Doc_CacheOriginal", e.Doc_Url1 = "Doc_Url1", e.Doc_Url2 = "Doc_Url2", e.Preview_Close = "Preview_Close", e.Click_ResultLink = "Click_ResultLink", e.Click_ResultLink1 = "Click_ResultLink1", e.Click_ResultLink2 = "Click_ResultLink2", e.Click_ResultLink3 = "Click_ResultLink3", e.Click_ResultLink4 = "Click_ResultLink4", e.Click_ResultLink5 = "Click_ResultLink5", e.Click_ResultLink6 = "Click_ResultLink6", e.Click_ResultLink7 = "Click_ResultLink7", e.Click_ResultLink8 = "Click_ResultLink8", e.Click_ResultLink9 = "Click_ResultLink9", e.Click_ResultLink10 = "Click_ResultLink10", e.Click_PreviewLink1 = "Click_PreviewLink1", e.Click_PreviewLink2 = "Click_PreviewLink2", e.Click_PreviewLink3 = "Click_PreviewLink3", e.Click_PreviewLink4 = "Click_PreviewLink4", e.Click_PreviewLink5 = "Click_PreviewLink5", e.Click_PreviewLink6 = "Click_PreviewLink6", e.Click_PreviewLink7 = "Click_PreviewLink7", e.Click_PreviewLink8 = "Click_PreviewLink8", e.Click_PreviewLink9 = "Click_PreviewLink9", e.Click_PreviewLink10 = "Click_PreviewLink10", e.RFM_ClickSet = "RFM_ClickSet", e.RFM_ClickReset = "RFM_ClickReset", e.RFM_Like = "RFM_Like", e.RFM_LikeReset = "RFM_LikeReset", e.RFM_Dislike = "RFM_Dislike", e.RFM_Important = "RFM_Important", e.RFM_ImportantReset = "RFM_ImportantReset", e.RFM_Ban = "RFM_Ban", e.Navigation_Exit = "Navigation_Exit", e.Navigation_Return = "Navigation_Return", e.Navigation_Route = "Navigation_Route", e.Answer_Display = "Answer_Display", e.Answer_Click = "Answer_Click", e.Answer_Result = "Answer_Result", e.Answer_Liked = "Answer_Liked", e.Answer_Disliked = "Answer_Disliked", e.Answer_Liked_Cancelled = "Answer_Liked_Cancelled", e.Answer_Disliked_Cancelled = "Answer_Disliked_Cancelled", e.TopPassages_Display = "TopPassages_Display", e.TopPassages_Click = "TopPassages_Click", e.UserSettings_Reset = "UserSettings_Reset", e))(k || {}), fe = /* @__PURE__ */ ((e) => (e[e.none = 0] = "none", e[e.bool = 1] = "bool", e[e.date = 2] = "date", e[e.dateTime = 3] = "dateTime", e[e.time = 4] = "time", e[e.unsigned = 5] = "unsigned", e[e.integer = 6] = "integer", e[e.float = 7] = "float", e[e.double = 8] = "double", e[e.dates = 9] = "dates", e[e.dateTimes = 10] = "dateTimes", e[e.times = 11] = "times", e[e.varchar = 12] = "varchar", e[e.binary = 13] = "binary", e[e.string = 14] = "string", e[e.csv = 15] = "csv", e))(fe || {}), _e = /* @__PURE__ */ ((e) => (e[e.none = 0] = "none", e[e.a = 2053] = "a", e[e.c = 4] = "c", e[e.d = 8] = "d", e[e.e = 2068] = "e", e[e.i = 256] = "i", e[e.l = 2052] = "l", e[e.n = 8192] = "n", e[e.t = 524292] = "t", e[e.x = 8388608] = "x", e[e.z = 33554432] = "z", e[e.f_ordinal = 8192] = "f_ordinal", e[e.f_multidates = 8192] = "f_multidates", e[e.f_varchar = 33554432] = "f_varchar", e[e.f_binary = 33562624] = "f_binary", e[e.f_string = 33562888] = "f_string", e[e.f_csv = 42477853] = "f_csv", e[e.f_overridable = 33554696] = "f_overridable", e))(_e || {});
332
+ var k = /* @__PURE__ */ ((e) => (e.None = "None", e.Search_FirstPage = "Search_FirstPage", e.Search_Text = "Search_Text", e.Search_Refine = "Search_Refine", e.Search_Select_Item = "Search_Select_Item", e.Search_Select_Custom = "Search_Select_Custom", e.Search_Select_Concept = "Search_Select_Concept", e.Search_Select_Correction = "Search_Select_Correction", e.Search_GotoPage = "Search_GotoPage", e.Search_GotoTab = "Search_GotoTab", e.Search_DisplayResult = "Search_DisplayResult", e.Search_RemoveResult = "Search_RemoveResult", e.Search_RemoveAdvanced = "Search_RemoveAdvanced", e.Search_SavedQuery = "Search_SavedQuery", e.Search_WebService = "Search_WebService", e.Search_DidYouMean_Original = "Search_DidYouMean_Original", e.Search_DidYouMean_Correction = "Search_DidYouMean_Correction", e.Search_ExportCSV = "Search_ExportCSV", e.Search_SavedQuery_ExportCSV = "Search_SavedQuery_ExportCSV", e.Search_Selection_ExportCSV = "Search_Selection_ExportCSV", e.Search_AlertQuery = "Search_AlertQuery", e.Search_Select_AnalyticsItem = "Search_Select_AnalyticsItem", e.Search_Sort = "Search_Sort", e.Search_Exit_Logout = "Search_Exit_Logout", e.Search_Timeline_Usage = "Search_Timeline_Usage", e.Search_AutoComplete = "Search_Autocomplete", e.Search_Login_Success = "Login_Success_Form", e.Search_QueryIntent_Detected = "Search_QueryIntent_Detected", e.SavedQuery_Add = "SavedQuery_Add", e.SavedQuery_Delete = "SavedQuery_Delete", e.SavedQuery_DeleteAll = "SavedQuery_DeleteAll", e.SavedQuery_Rename = "SavedQuery_Rename", e.Alert_Edit = "Alert_Edit", e.Alert_Delete = "Alert_Delete", e.Alert_DeleteAll = "Alert_DeleteAll", e.Link_Display = "Link_Display", e.Link_Click = "Link_Click", e.Basket_Add = "Basket_Add", e.Basket_Delete = "Basket_Delete", e.Basket_DeleteAll = "Basket_DeleteAll", e.Basket_Rename = "Basket_Rename", e.Basket_AddDoc = "Basket_AddDoc", e.Basket_RemoveDoc = "Basket_RemoveDoc", e.Basket_Open = "Basket_Open", e.Basket_ExportCSV = "Basket_ExportCSV", e.Label_Add = "Label_Add", e.Label_Delete = "Label_Delete", e.Label_Rename = "Label_Rename", e.Label_Open = "Label_Open", e.Label_AddDoc = "Label_AddDoc", e.Label_RemoveDoc = "Label_RemoveDoc", e.Label_ExportCSV = "Label_ExportCSV", e.Label_Menu_ExportCSV = "Label_Menu_ExportCSV", e.Rating_Set = "Rating_Set", e.Rating_Delete = "Rating_Delete", e.Doc_Preview = "Doc_Preview", e.Doc_CacheHtml = "Doc_CacheHtml", e.Doc_CachePdf = "Doc_CachePdf", e.Doc_CacheOriginal = "Doc_CacheOriginal", e.Doc_Url1 = "Doc_Url1", e.Doc_Url2 = "Doc_Url2", e.Preview_Close = "Preview_Close", e.Click_ResultLink = "Click_ResultLink", e.Click_ResultLink1 = "Click_ResultLink1", e.Click_ResultLink2 = "Click_ResultLink2", e.Click_ResultLink3 = "Click_ResultLink3", e.Click_ResultLink4 = "Click_ResultLink4", e.Click_ResultLink5 = "Click_ResultLink5", e.Click_ResultLink6 = "Click_ResultLink6", e.Click_ResultLink7 = "Click_ResultLink7", e.Click_ResultLink8 = "Click_ResultLink8", e.Click_ResultLink9 = "Click_ResultLink9", e.Click_ResultLink10 = "Click_ResultLink10", e.Click_PreviewLink1 = "Click_PreviewLink1", e.Click_PreviewLink2 = "Click_PreviewLink2", e.Click_PreviewLink3 = "Click_PreviewLink3", e.Click_PreviewLink4 = "Click_PreviewLink4", e.Click_PreviewLink5 = "Click_PreviewLink5", e.Click_PreviewLink6 = "Click_PreviewLink6", e.Click_PreviewLink7 = "Click_PreviewLink7", e.Click_PreviewLink8 = "Click_PreviewLink8", e.Click_PreviewLink9 = "Click_PreviewLink9", e.Click_PreviewLink10 = "Click_PreviewLink10", e.RFM_ClickSet = "RFM_ClickSet", e.RFM_ClickReset = "RFM_ClickReset", e.RFM_Like = "RFM_Like", e.RFM_LikeReset = "RFM_LikeReset", e.RFM_Dislike = "RFM_Dislike", e.RFM_Important = "RFM_Important", e.RFM_ImportantReset = "RFM_ImportantReset", e.RFM_Ban = "RFM_Ban", e.Navigation_Exit = "Navigation_Exit", e.Navigation_Return = "Navigation_Return", e.Navigation_Route = "Navigation_Route", e.Answer_Display = "Answer_Display", e.Answer_Click = "Answer_Click", e.Answer_Result = "Answer_Result", e.Answer_Liked = "Answer_Liked", e.Answer_Disliked = "Answer_Disliked", e.Answer_Liked_Cancelled = "Answer_Liked_Cancelled", e.Answer_Disliked_Cancelled = "Answer_Disliked_Cancelled", e.TopPassages_Display = "TopPassages_Display", e.TopPassages_Click = "TopPassages_Click", e.UserSettings_Reset = "UserSettings_Reset", e))(k || {}), he = /* @__PURE__ */ ((e) => (e[e.none = 0] = "none", e[e.bool = 1] = "bool", e[e.date = 2] = "date", e[e.dateTime = 3] = "dateTime", e[e.time = 4] = "time", e[e.unsigned = 5] = "unsigned", e[e.integer = 6] = "integer", e[e.float = 7] = "float", e[e.double = 8] = "double", e[e.dates = 9] = "dates", e[e.dateTimes = 10] = "dateTimes", e[e.times = 11] = "times", e[e.varchar = 12] = "varchar", e[e.binary = 13] = "binary", e[e.string = 14] = "string", e[e.csv = 15] = "csv", e))(he || {}), _e = /* @__PURE__ */ ((e) => (e[e.none = 0] = "none", e[e.a = 2053] = "a", e[e.c = 4] = "c", e[e.d = 8] = "d", e[e.e = 2068] = "e", e[e.i = 256] = "i", e[e.l = 2052] = "l", e[e.n = 8192] = "n", e[e.t = 524292] = "t", e[e.x = 8388608] = "x", e[e.z = 33554432] = "z", e[e.f_ordinal = 8192] = "f_ordinal", e[e.f_multidates = 8192] = "f_multidates", e[e.f_varchar = 33554432] = "f_varchar", e[e.f_binary = 33562624] = "f_binary", e[e.f_string = 33562888] = "f_string", e[e.f_csv = 42477853] = "f_csv", e[e.f_overridable = 33554696] = "f_overridable", e))(_e || {});
327
333
  const dt = "1.0";
328
334
  var Se = /* @__PURE__ */ ((e) => (e[e.Original = 0] = "Original", e[e.Corrected = 1] = "Corrected", e))(Se || {}), me = /* @__PURE__ */ ((e) => (e[e.none = 0] = "none", e[e.positiveRate = 1] = "positiveRate", e[e.mainlyPosRate = 2] = "mainlyPosRate", e[e.unrate = 4] = "unrate", e[e.mainlyNegRate = 8] = "mainlyNegRate", e[e.negativeRate = 16] = "negativeRate", e[e.all = 31] = "all", e[e.positiveOnly = 7] = "positiveOnly", e[e.negativeOnly = 28] = "negativeOnly", e[e.personalAll = 21] = "personalAll", e[e.personalPosOnly = 5] = "personalPosOnly", e[e.personalNegOnly = 20] = "personalNegOnly", e))(me || {});
329
335
  class w extends Error {
@@ -348,13 +354,13 @@ class ke extends w {
348
354
  super(t, 408), this.name = "TimeoutError";
349
355
  }
350
356
  }
351
- function ht(e) {
357
+ function ft(e) {
352
358
  const t = new AbortController(), { signal: r } = t;
353
359
  return e && setTimeout(() => {
354
360
  r.aborted || t.abort(new ke(`Request timed out after ${e}ms`));
355
361
  }, e), { controller: t, signal: r };
356
362
  }
357
- async function ft(e, t = 0, r = 1e3) {
363
+ async function ht(e, t = 0, r = 1e3) {
358
364
  let a;
359
365
  for (let n = 0; n <= t; n++)
360
366
  try {
@@ -366,11 +372,11 @@ async function ft(e, t = 0, r = 1e3) {
366
372
  }
367
373
  throw a;
368
374
  }
369
- function P(e) {
375
+ function p(e) {
370
376
  const t = O(), r = new Headers(e);
371
377
  r.append("Sinequa-Force-Camel-Case", "true"), r.append("accept", "application/json"), t && r.append("Sinequa-csrf-token", t);
372
- const { userOverride: a, userOverrideActive: n } = u;
373
- return a && n && (r.append("sinequa-override-user", a.username), r.append("sinequa-override-domain", a.domain)), r;
378
+ const { userOverride: a, userOverrideActive: n, bearerToken: o } = u;
379
+ return o && r.append("Authorization", `Bearer ${o}`), a && n && (r.append("sinequa-override-user", a.username), r.append("sinequa-override-domain", a.domain)), r;
374
380
  }
375
381
  async function g(e, t = "json") {
376
382
  const r = e.headers.get("sinequa-jwt-refresh");
@@ -391,7 +397,7 @@ async function g(e, t = "json") {
391
397
  throw u.userOverrideActive = !1, C("Unauthorized access attempt with user override", { endpoint: e.url }), new Z("Unauthorized... User override failed.");
392
398
  await W(e, 401);
393
399
  }
394
- throw e.status === 500 && (f("Server error occurred", { endpoint: e.url }), await W(e, 500)), C(`Unexpected response status: ${e.status}`, { endpoint: e.url }), new w(`Request failed with status ${e.status}`, e.status);
400
+ throw e.status === 500 && (h("Server error occurred", { endpoint: e.url }), await W(e, 500)), C(`Unexpected response status: ${e.status}`, { endpoint: e.url }), new w(`Request failed with status ${e.status}`, e.status);
395
401
  }
396
402
  async function W(e, t) {
397
403
  var r;
@@ -406,7 +412,7 @@ async function W(e, t) {
406
412
  }
407
413
  }
408
414
  async function d(e, t, r) {
409
- const a = P(r == null ? void 0 : r.headers), { app: n, backendUrl: o, apiPath: s } = u, c = {
415
+ const a = p(r == null ? void 0 : r.headers), { app: n, backendUrl: o, apiPath: s } = u, c = {
410
416
  app: n,
411
417
  ...t,
412
418
  locale: t.locale || navigator.language,
@@ -426,11 +432,11 @@ async function d(e, t, r) {
426
432
  );
427
433
  return g(l, r == null ? void 0 : r.responseType);
428
434
  } catch (l) {
429
- throw f("Error making POST request:", l), l;
435
+ throw h("Error making POST request:", l), l;
430
436
  }
431
437
  }
432
438
  async function b(e, t, r) {
433
- const a = P(r == null ? void 0 : r.headers), { backendUrl: n, apiPath: o } = u, s = t ? `?${new URLSearchParams(t)}` : "", c = `${n}/${o}/${e}${s}`;
439
+ const a = p(r == null ? void 0 : r.headers), { backendUrl: n, apiPath: o } = u, s = t ? `?${new URLSearchParams(t)}` : "", c = `${n}/${o}/${e}${s}`;
434
440
  x(`Making GET request to: ${c}`);
435
441
  try {
436
442
  const i = await fetch(
@@ -443,11 +449,11 @@ async function b(e, t, r) {
443
449
  );
444
450
  return g(i, r == null ? void 0 : r.responseType);
445
451
  } catch (i) {
446
- throw f("Error making GET request:", i), i;
452
+ throw h("Error making GET request:", i), i;
447
453
  }
448
454
  }
449
455
  async function _t(e, t, r) {
450
- const a = P(r == null ? void 0 : r.headers), { app: n, backendUrl: o, apiPath: s } = u, c = {
456
+ const a = p(r == null ? void 0 : r.headers), { app: n, backendUrl: o, apiPath: s } = u, c = {
451
457
  app: n,
452
458
  ...t,
453
459
  locale: t.locale || navigator.language,
@@ -467,11 +473,11 @@ async function _t(e, t, r) {
467
473
  );
468
474
  return g(l, r == null ? void 0 : r.responseType);
469
475
  } catch (l) {
470
- throw f("Error making PUT request:", l), l;
476
+ throw h("Error making PUT request:", l), l;
471
477
  }
472
478
  }
473
479
  async function St(e, t, r) {
474
- const a = P(r == null ? void 0 : r.headers), { backendUrl: n, apiPath: o } = u, s = t ? `?${new URLSearchParams(t)}` : "", c = `${n}/${o}/${e}${s}`;
480
+ const a = p(r == null ? void 0 : r.headers), { backendUrl: n, apiPath: o } = u, s = t ? `?${new URLSearchParams(t)}` : "", c = `${n}/${o}/${e}${s}`;
475
481
  x(`Making DELETE request to: ${c}`);
476
482
  try {
477
483
  const i = await fetch(
@@ -484,11 +490,11 @@ async function St(e, t, r) {
484
490
  );
485
491
  return g(i, r == null ? void 0 : r.responseType);
486
492
  } catch (i) {
487
- throw f("Error making DELETE request:", i), i;
493
+ throw h("Error making DELETE request:", i), i;
488
494
  }
489
495
  }
490
496
  async function mt(e, t, r) {
491
- const a = P(r == null ? void 0 : r.headers), { app: n, backendUrl: o, apiPath: s } = u, c = {
497
+ const a = p(r == null ? void 0 : r.headers), { app: n, backendUrl: o, apiPath: s } = u, c = {
492
498
  app: n,
493
499
  ...t,
494
500
  locale: t.locale || navigator.language,
@@ -508,11 +514,11 @@ async function mt(e, t, r) {
508
514
  );
509
515
  return g(l, r == null ? void 0 : r.responseType);
510
516
  } catch (l) {
511
- throw f("Error making PATCH request:", l), l;
517
+ throw h("Error making PATCH request:", l), l;
512
518
  }
513
519
  }
514
520
  let A, M;
515
- function p(e, t = !0) {
521
+ function P(e, t = !0) {
516
522
  let r = ge(e.$auditRecord);
517
523
  r && (be(r), t && Ce(r)), e.$auditRecord = r;
518
524
  }
@@ -545,7 +551,7 @@ function Ce(e) {
545
551
  }), e;
546
552
  }
547
553
  function Re() {
548
- return (!A || xe()) && (A = he()), M = /* @__PURE__ */ new Date(), A;
554
+ return (!A || xe()) && (A = fe()), M = /* @__PURE__ */ new Date(), A;
549
555
  }
550
556
  function xe() {
551
557
  return (/* @__PURE__ */ new Date()).getTime() - M.getTime() > 10 * 60 * 1e3;
@@ -555,16 +561,16 @@ async function ve(e, t = !0) {
555
561
  event: k.None,
556
562
  $auditRecord: e
557
563
  };
558
- return p(r, t), d("audit.notify", r);
564
+ return P(r, t), d("audit.notify", r);
559
565
  }
560
566
  const wt = { notify: ve };
561
567
  async function kt(e, t, r) {
562
- var h;
563
- const a = ((h = e.items) == null ? void 0 : h.length) || 0, n = 10, o = {
568
+ var f;
569
+ const a = ((f = e.items) == null ? void 0 : f.length) || 0, n = 10, o = {
564
570
  query: { ...t, action: "aggregate", aggregations: { [e.name]: { skip: a, count: n } } },
565
571
  $auditRecord: { auditEvents: [r] }
566
572
  };
567
- p(o);
573
+ P(o);
568
574
  const s = await d("query", o), c = await g(s), { aggregations: i } = c, l = i[0];
569
575
  return l.$hasMore = l.items.length > n, l.items = [...e.items, ...l.items], Promise.resolve(l);
570
576
  }
@@ -572,7 +578,7 @@ async function gt() {
572
578
  const { app: e } = u, t = new URLSearchParams({ app: e || "" });
573
579
  return b("app", t);
574
580
  }
575
- async function Pe() {
581
+ async function pe() {
576
582
  const { app: e } = u, t = new URLSearchParams({
577
583
  app: e || "",
578
584
  preLogin: "true"
@@ -589,7 +595,7 @@ function bt() {
589
595
  ...u,
590
596
  backendUrl: e,
591
597
  app: t
592
- }), Pe().then((r) => {
598
+ }), pe().then((r) => {
593
599
  const { autoOAuthProvider: a, autoSAMLProvider: n } = u, o = !a && !r.autoOAuthProvider && !n && !r.autoSAMLProvider;
594
600
  return m({
595
601
  ...u,
@@ -624,10 +630,10 @@ async function vt(e, t = !0, r) {
624
630
  localize: !1
625
631
  })).labels;
626
632
  } catch (a) {
627
- throw f("Error in fetchLabels", a), a;
633
+ throw h("Error in fetchLabels", a), a;
628
634
  }
629
635
  }
630
- async function pe() {
636
+ async function Pe() {
631
637
  try {
632
638
  const { app: e = "" } = u, t = new URLSearchParams({
633
639
  app: e,
@@ -635,7 +641,7 @@ async function pe() {
635
641
  });
636
642
  return b("labels", t);
637
643
  } catch (e) {
638
- throw f("Error in getUserRights", e), e;
644
+ throw h("Error in getUserRights", e), e;
639
645
  }
640
646
  }
641
647
  async function Le(e, t, r = !0) {
@@ -666,7 +672,7 @@ async function Le(e, t, r = !0) {
666
672
  };
667
673
  return d("labels", a);
668
674
  } catch (a) {
669
- throw f("Error in add", a), a;
675
+ throw h("Error in add", a), a;
670
676
  }
671
677
  }
672
678
  async function Oe(e, t, r = !0) {
@@ -697,7 +703,7 @@ async function Oe(e, t, r = !0) {
697
703
  };
698
704
  return d("labels", a);
699
705
  } catch (a) {
700
- throw f("Error in remove", a), a;
706
+ throw h("Error in remove", a), a;
701
707
  }
702
708
  }
703
709
  async function Ue(e, t, r = !0) {
@@ -718,7 +724,7 @@ async function Ue(e, t, r = !0) {
718
724
  };
719
725
  return d("labels", a);
720
726
  } catch (a) {
721
- throw f("Error in rename", a), a;
727
+ throw h("Error in rename", a), a;
722
728
  }
723
729
  }
724
730
  async function $e(e, t = !0) {
@@ -737,7 +743,7 @@ async function $e(e, t = !0) {
737
743
  };
738
744
  return d("labels", r);
739
745
  } catch (r) {
740
- throw f("Error in deleteLabels", r), r;
746
+ throw h("Error in deleteLabels", r), r;
741
747
  }
742
748
  }
743
749
  async function De(e, t, r = !0) {
@@ -758,7 +764,7 @@ async function De(e, t, r = !0) {
758
764
  };
759
765
  return d("labels", a);
760
766
  } catch (a) {
761
- throw f("Error in bulkAdd", a), a;
767
+ throw h("Error in bulkAdd", a), a;
762
768
  }
763
769
  }
764
770
  async function Ie(e, t, r = !0) {
@@ -779,11 +785,11 @@ async function Ie(e, t, r = !0) {
779
785
  };
780
786
  return d("labels", a);
781
787
  } catch (a) {
782
- throw f("Error in bulkRemove", a), a;
788
+ throw h("Error in bulkRemove", a), a;
783
789
  }
784
790
  }
785
- const Pt = {
786
- getUserRights: pe,
791
+ const pt = {
792
+ getUserRights: Pe,
787
793
  add: Le,
788
794
  remove: Oe,
789
795
  rename: Ue,
@@ -791,7 +797,7 @@ const Pt = {
791
797
  bulkAdd: De,
792
798
  bulkRemove: Ie
793
799
  };
794
- async function pt(e, t) {
800
+ async function Pt(e, t) {
795
801
  const r = `${window.location.origin}${window.location.pathname}`, a = { name: t == null ? void 0 : t.name, text: t == null ? void 0 : t.text };
796
802
  return d("preview", {
797
803
  action: "get",
@@ -889,7 +895,7 @@ async function Dt({ model: e, appName: t, query: r, article: a }) {
889
895
  }]
890
896
  }
891
897
  };
892
- return p(l), await d("search.queryexport", l, { responseType: "blob" });
898
+ return P(l), await d("search.queryexport", l, { responseType: "blob" });
893
899
  }
894
900
  async function It(e, t) {
895
901
  return await d(
@@ -968,7 +974,7 @@ async function Ae(e, t) {
968
974
  userSettings: e,
969
975
  $auditRecord: { auditEvents: [t] }
970
976
  };
971
- return p(r), d("usersettings", r);
977
+ return P(r), d("usersettings", r);
972
978
  }
973
979
  async function Qt(e, t) {
974
980
  const a = {
@@ -976,7 +982,7 @@ async function Qt(e, t) {
976
982
  userSettings: e,
977
983
  $auditRecord: t ? { auditEvents: [t] } : void 0
978
984
  };
979
- return p(a), d("usersettings", a);
985
+ return P(a), d("usersettings", a);
980
986
  }
981
987
  async function Gt() {
982
988
  return Ae({}, { type: "UserSettings_Reset" });
@@ -1054,16 +1060,16 @@ const Ne = async () => {
1054
1060
  if (x("CSRF token retrieval result", i ? "success" : "failed"), i === null) {
1055
1061
  if (s || c)
1056
1062
  return C("Redirection from provider failed after previous attempt"), localStorage.removeItem("oauthRedirectUrl"), localStorage.removeItem("samlRedirectUrl"), _(!1), !1;
1057
- const { autoOAuthProvider: l, autoSAMLProvider: h, useSAML: v } = u;
1063
+ const { autoOAuthProvider: l, autoSAMLProvider: f, useSAML: v } = u;
1058
1064
  if (l && !v)
1059
1065
  return S("Initiating OAuth authentication flow"), await Ne(), C("OAuth authentication flow did not redirect as expected"), _(!1), !1;
1060
- if (h)
1066
+ if (f)
1061
1067
  return S("Initiating SAML authentication flow"), await Be(), C("SAML authentication flow did not redirect as expected"), _(!1), !1;
1062
1068
  S("No direct authentication method available, will try SSO then credentials"), m({ useCredentials: !0, useSSO: !0, useCredentialsOrSSO: !0 });
1063
1069
  } else
1064
1070
  return localStorage.removeItem("oauthRedirectUrl"), localStorage.removeItem("samlRedirectUrl"), S("User authenticated via existing token"), _(!0), !0;
1065
1071
  } catch (s) {
1066
- throw f("Unexpected error during authentication", s), _(!1), s;
1072
+ throw h("Unexpected error during authentication", s), _(!1), s;
1067
1073
  }
1068
1074
  const { useSSO: t, useCredentialsOrSSO: r, useCredentials: a } = u;
1069
1075
  if (r)
@@ -1074,7 +1080,7 @@ const Ne = async () => {
1074
1080
  if ((s == null ? void 0 : s.status) === 401)
1075
1081
  S("SSO authentication failed with 401, falling back to credentials"), m({ useCredentials: !0, useSSO: !1, useCredentialsOrSSO: !1 });
1076
1082
  else
1077
- throw f("SSO authentication failed with unexpected error", s), _(!1), f;
1083
+ throw h("SSO authentication failed with unexpected error", s), _(!1), h;
1078
1084
  }
1079
1085
  if (O() || t)
1080
1086
  return console.log("user already authenticated", O()), m({ isRedirectUrl: !1 }), _(!0), !0;
@@ -1091,7 +1097,7 @@ const Ne = async () => {
1091
1097
  }, Vt = async () => {
1092
1098
  const { useCredentials: e, userOverrideActive: t } = u;
1093
1099
  localStorage.removeItem("csrfToken"), sessionStorage.removeItem("sinequa-credentials"), e && !t ? (await qe()).methodresult === "ok" ? _(!1) : console.error("logout failed") : _(!1);
1094
- }, Jt = () => !!O(), Qe = async () => {
1100
+ }, zt = () => !!O(), Qe = async () => {
1095
1101
  const { backendUrl: e, apiPath: t } = u;
1096
1102
  try {
1097
1103
  const a = await (await fetch(`${e}/${t}/challenge?action=getCsrfToken&suppressErrors=true`)).json();
@@ -1105,7 +1111,7 @@ export {
1105
1111
  wt as Audit,
1106
1112
  k as AuditEventType,
1107
1113
  Se as DidYouMeanKind,
1108
- fe as EngineType,
1114
+ he as EngineType,
1109
1115
  _e as EngineTypeModifier,
1110
1116
  K as LogLevel,
1111
1117
  dt as MINIMUM_COMPATIBLE_SERVER_API_VERSION,
@@ -1113,32 +1119,32 @@ export {
1113
1119
  we as ServerError,
1114
1120
  ke as TimeoutError,
1115
1121
  Z as UnauthorizedError,
1116
- p as addAuditAdditionalInfo,
1122
+ P as addAuditAdditionalInfo,
1117
1123
  He as addConcepts,
1118
1124
  be as addSessionId,
1119
1125
  Ce as addUrl,
1120
1126
  Ve as aggregationItemStrictCompare,
1121
1127
  bt as appInitializerFn,
1122
- ze as bisect,
1128
+ Je as bisect,
1123
1129
  B as buildPathsAndLevels,
1124
1130
  ot as configureLogger,
1125
- P as createHeaders,
1126
- ht as createTimeoutController,
1131
+ p as createHeaders,
1132
+ ft as createTimeoutController,
1127
1133
  x as debug,
1128
1134
  St as del,
1129
1135
  Gt as deleteUserSettings,
1130
1136
  qe as deleteWebTokenCookie,
1131
- f as error,
1137
+ h as error,
1132
1138
  lt as escapeExpr,
1133
1139
  kt as fetchAggregation,
1134
1140
  gt as fetchApp,
1135
- Pe as fetchAppPreLogin,
1141
+ pe as fetchAppPreLogin,
1136
1142
  Ut as fetchBulkQuery,
1137
1143
  Ct as fetchDataset,
1138
1144
  xt as fetchDatasetList,
1139
1145
  Rt as fetchDatasets,
1140
1146
  vt as fetchLabels,
1141
- pt as fetchPreview,
1147
+ Pt as fetchPreview,
1142
1148
  Lt as fetchPreviewUrl,
1143
1149
  ye as fetchPrincipal,
1144
1150
  Ot as fetchQuery,
@@ -1168,17 +1174,17 @@ export {
1168
1174
  Ke as getRelativeDate,
1169
1175
  O as getToken,
1170
1176
  u as globalConfig,
1171
- he as guid,
1177
+ fe as guid,
1172
1178
  g as handleResponse,
1173
1179
  S as info,
1174
1180
  le as isArrayBuffer,
1175
- Jt as isAuthenticated,
1181
+ zt as isAuthenticated,
1176
1182
  ue as isBlob,
1177
1183
  it as isJsonable,
1178
1184
  Ze as isNotInputEvent,
1179
1185
  D as isObject,
1180
1186
  de as isString,
1181
- Pt as labels,
1187
+ pt as labels,
1182
1188
  jt as login,
1183
1189
  Vt as logout,
1184
1190
  U as parseText,
@@ -1196,11 +1202,11 @@ export {
1196
1202
  m as setGlobalConfig,
1197
1203
  F as setToken,
1198
1204
  ut as sha512,
1199
- Je as suggestionsToTreeAggregationNodes,
1205
+ ze as suggestionsToTreeAggregationNodes,
1200
1206
  at as sysLang,
1201
1207
  je as translateAggregationToDateOptions,
1202
1208
  Ne as tryOAuthAuthentication,
1203
1209
  Be as trySAMLAuthentication,
1204
1210
  C as warn,
1205
- ft as withRetry
1211
+ ht as withRetry
1206
1212
  };
@@ -1 +1 @@
1
- (function(a,f){typeof exports=="object"&&typeof module<"u"?f(exports):typeof define=="function"&&define.amd?define(["exports"],f):(a=typeof globalThis<"u"?globalThis:a||self,f(a.atomic={}))})(this,function(a){"use strict";var Vt=Object.defineProperty;var Jt=(a,f,P)=>f in a?Vt(a,f,{enumerable:!0,configurable:!0,writable:!0,value:P}):a[f]=P;var Ce=(a,f,P)=>Jt(a,typeof f!="symbol"?f+"":f,P);a.globalConfig={apiPath:"api/v1",loginPath:"/login",backendUrl:window.location.origin};function f(e){a.globalConfig={...a.globalConfig,...e}}function P(e,t){var o;return!(e!=null&&e.items)||((o=e==null?void 0:e.items)==null?void 0:o.length)===0?[]:e.items.reduce((s,c)=>{if(!c.value||c.value==="")return s;const i=J(c,e.column);return s.push({operator:i.operator,value:i.value,display:c.display||i.display,filters:i.filters,disabled:c.count===0,hidden:c.count===0&&e.isDistribution?!t:!1}),s},[])}function J(e,t){const r=t,n=e.value.match(/.*\:\(?([><=\d\-\.AND ]+)\)?/);if(n!=null&&n[1]){const s=(n==null?void 0:n[1].split(" AND ")).map(c=>{const i=c.indexOf(">=")!==-1?"gte":"lt";let l=c.substring(c.indexOf(" ")+1);return{field:r,operator:i,value:l,display:e.display||e.value}});if(s.length===2)return{field:r,operator:"and",filters:s,value:e.value,display:s[0].display||s[0].value};if(s.length===1)return{...s[0],field:r};throw new Error("Failed to parse distribution expression")}return{field:r,operator:"eq",value:e.value,display:e.display}}function Re(e,t,r){return e.valuesAreExpressions?t.display===r.display:t.value===r.value}function ve(e,t){const r=[];if(e.length>0){const n=new Map,o=t.replace(/[.*+?^${}()|[\]\\]/g,"\\$&"),s=new RegExp("\\b"+o,"i");e.forEach(c=>{if(c.display.length>1){const i=s.exec(c.display);z(r,n,"/",c.display,+(c.frequency||0),1,((i==null?void 0:i.index)||0)+t.length)}})}return r}function z(e,t,r,n,o,s,c){const i=n.indexOf("/",r.length),l=n.substring(0,i+1);let u=t.get(l);if(!u){const g=l.replace(/^\/|\/$/g,"");u={value:n.substring(r.length,i),count:o,items:[],hasChildren:!1,$level:s,$opened:c>=l.length,$path:g},t.set(l,u),e.push(u)}l.length<n.length&&(u.hasChildren=!0,z(u.items,t,l,n,o,s+1,c))}function Pe(e,t){return e.reduce((r,n)=>(t(n)?r.true.push(n):r.false.push(n),r),{true:[],false:[]})}const Le=/(([\+\-])?\(([^\)]+)\))|(([\+\-])?\[([^\]]+)\])|(([\+\-])?\"([^\"]+)\")|(([\+\-])?\/([^\/]+)\/)|(([\+\-])?(\S+))/g,Ue=2,H=3,Oe=5,W=6,$e=8,M=9,ye=11,X=12,De=14,Y=15;function O(e){if(!e)return[];const t=[],r=e.matchAll(Le);for(let n of r)n[H]?t.push({type:"group",value:n[H],op:n[Ue]}):n[W]?t.push({type:"adjacent",value:n[W],op:n[Oe]}):n[M]?t.push({type:"exact",value:n[M],op:n[$e]}):n[X]?t.push({type:"regex",value:n[X],op:n[ye]}):n[Y]&&t.push({type:"token",value:n[Y],op:n[De]});return t}function I(e){return e.map(t=>{const r=t.op||"";switch(t.type){case"group":return`${r}(${t.value})`;case"adjacent":return`${r}[${t.value}]`;case"exact":return`${r}"${t.value}"`;case"regex":return`${r}/${t.value}/`;case"token":return`${r}${t.value}`}}).join(" ")}function Ie(e,t,r){let n=O(e);for(let o of t)n.push({type:"adjacent",value:o,op:r});return I(n)}function Ae(e,t){const r=O(t),n=r.findIndex(o=>o.value===e);return n!==-1?(r.splice(n,1),t=I(r)):t}function Fe(e){const t=O(e).filter(r=>r.type!=="adjacent");return I(t)}function Ne(e){return O(e).filter(t=>t.type==="adjacent").map(t=>t.value)}function Qe(e,t,r){const n=new Intl.RelativeTimeFormat(e,{numeric:"auto"}),{offset:o,unit:s,isFuture:c}=K(t,r);return n.format(o*(c?1:-1),s)}function K(e,t){const r=new Date(e),n=t?new Date(t):new Date,o=Math.abs(n.getTime()-r.getTime());return{offset:Math.floor(o/(1e3*60*60*24)),unit:"day",isFuture:r>n}}function Be(e){const t=e.target;return t&&t.nodeName!=="INPUT"&&t.nodeName!=="TEXTAREA"}function qe(e){if(e===void 0)return;const{q:t,f:r,p:n,s:o,t:s,...c}=C(e),[i]=e.split("?");return{path:i,text:t,filters:r?B(r):void 0,page:n?parseInt(n,10):void 0,sort:o,tab:s,...c}}function Ge(e){if(e===void 0)return[];const{f:t}=C(e);return B(t)}function B(e){const t=decodeURIComponent(e);try{return JSON.parse(t??"[]")}catch{return console.error(`Error parsing filters from URI: ${e}`),[]}}function C(e){const t=e.split("?")[1];if(t===void 0)return{};const r=new URLSearchParams(t);return Object.fromEntries(r)}function pe(e){const{q:t=""}=C(e);return t}function je(e){const{id:t}=C(e);return decodeURIComponent(t)}function Ve(e){const{p:t="0"}=C(e);return parseInt(t,10)}function Je(e){const{t}=C(e);return t}function ze(e,t){if(!e)return e;let r=0;const n=e.length;let o=0;if(e[o]==="["){for(;o<n&&/[0-9]/.test(e[o]);)o++;e[o]==="]"&&(r=o+1)}const s=q(e,r,!1);if(!s)return e;const c=t.charCodeAt(0),i=t.charCodeAt(1);let l=s;for(;l;)if(c===l.lang1&&i===l.lang2){const g=q(e,l.end+4,!0);return e.substring(g.start,g.end)}else l=q(e,l.end+4,!1);const u=e.substring(s.start,s.end);return u||e}function q(e,t,r){for(let n=t,o=e.length-3;n<o;n++)if(e[n]==="["&&e[n+3]==="]")return{start:t,end:n,lang1:e.charCodeAt(n+1),lang2:e.charCodeAt(n+2)};if(r)return{start:t,end:e.length,lang1:-1,lang2:-1}}function He(e,t){const{useLocale:r,useLocaleAsPrefix:n,indexFile:o,path:s,folder:c}=t,i=r?`${e}/`:null,l=n?`${e}.${o}`:o??"";return[s,c,`${i||""}${l}`].filter(u=>u!==void 0).join("/")}var G=(e=>(e[e.DEBUG=0]="DEBUG",e[e.INFO=1]="INFO",e[e.WARN=2]="WARN",e[e.ERROR=3]="ERROR",e[e.NONE=4]="NONE",e))(G||{});let A={level:1,enableConsoleOutput:!0};function We(e){A={...A,...e}}function F(e,t,r){if(e<A.level)return;const n=new Date().toISOString(),s=`${`[${G[e]}][${n}]`} ${t}`;if(A.enableConsoleOutput)switch(e){case 0:console.debug(s,r||"");break;case 1:console.info(s,r||"");break;case 2:console.warn(s,r||"");break;case 3:console.error(s,r||"");break}}function R(e,t){F(0,e,t)}function m(e,t){F(1,e,t)}function v(e,t){F(2,e,t)}function h(e,t){F(3,e,t)}function Me(e,t,r){var s,c,i,l;if(!e||!t)return;if(r){const u=Object.keys(t.queries).find(V=>V===(r==null?void 0:r.toLowerCase()));let g;u&&(g=t.queries[u]);const D=(c=((s=g==null?void 0:g.columnsInfo)==null?void 0:s.columns)||[])==null?void 0:c.find(V=>{var ke,be;return(be=(ke=V.aliases)==null?void 0:ke.split(","))==null?void 0:be.includes(e)});if(D)return D.name}const n=(l=(i=t.indexes)==null?void 0:i._)==null?void 0:l.columns,o=Object.entries(n).find(u=>{var g;return(g=u[1].aliases)==null?void 0:g.includes(e)});if(o)return o[0]}function Xe(e,t){const r=e[t];return r===void 0?[]:Array.isArray(r)?r.map(n=>typeof n=="string"?{display:n}:n):[{display:r}]}function $(e){return e!==null&&typeof e=="object"}function Z(e){return $(e)&&Object.prototype.toString.call(e)==="[object ArrayBuffer]"}function x(e){return $(e)&&Object.prototype.toString.call(e)==="[object Blob]"}function E(e){return typeof e=="string"}function Ye(e){return($(e)||Array.isArray(e))&&!Z(e)&&!x(e)&&!E(e)}function T(e=!0){let t=Date.now();return(e?"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx":"xxxxxxxxxxxx4xxxyxxxxxxxxxxxxxxx").replace(/[xy]/g,n=>{const o=(t+Math.random()*16)%16|0;return t=Math.floor(t/16),(n==="x"?o:o&3|8).toString(16)})}function Ke(e){if(!e)return"``";if(e=String(e),e.search(/[\\`]/)===-1)return"`"+e+"`";const t=["`"];for(let r=0,n=e.length;r<n;r++){const o=e[r];(o==="\\"||o==="`")&&t.push("\\"),t.push(o)}return t.push("`"),t.join("")}function Ze(e){return crypto.subtle.digest("SHA-512",new TextEncoder().encode(e)).then(t=>Array.prototype.map.call(new Uint8Array(t),r=>("00"+r.toString(16)).slice(-2)).join(""))}var S=(e=>(e.None="None",e.Search_FirstPage="Search_FirstPage",e.Search_Text="Search_Text",e.Search_Refine="Search_Refine",e.Search_Select_Item="Search_Select_Item",e.Search_Select_Custom="Search_Select_Custom",e.Search_Select_Concept="Search_Select_Concept",e.Search_Select_Correction="Search_Select_Correction",e.Search_GotoPage="Search_GotoPage",e.Search_GotoTab="Search_GotoTab",e.Search_DisplayResult="Search_DisplayResult",e.Search_RemoveResult="Search_RemoveResult",e.Search_RemoveAdvanced="Search_RemoveAdvanced",e.Search_SavedQuery="Search_SavedQuery",e.Search_WebService="Search_WebService",e.Search_DidYouMean_Original="Search_DidYouMean_Original",e.Search_DidYouMean_Correction="Search_DidYouMean_Correction",e.Search_ExportCSV="Search_ExportCSV",e.Search_SavedQuery_ExportCSV="Search_SavedQuery_ExportCSV",e.Search_Selection_ExportCSV="Search_Selection_ExportCSV",e.Search_AlertQuery="Search_AlertQuery",e.Search_Select_AnalyticsItem="Search_Select_AnalyticsItem",e.Search_Sort="Search_Sort",e.Search_Exit_Logout="Search_Exit_Logout",e.Search_Timeline_Usage="Search_Timeline_Usage",e.Search_AutoComplete="Search_Autocomplete",e.Search_Login_Success="Login_Success_Form",e.Search_QueryIntent_Detected="Search_QueryIntent_Detected",e.SavedQuery_Add="SavedQuery_Add",e.SavedQuery_Delete="SavedQuery_Delete",e.SavedQuery_DeleteAll="SavedQuery_DeleteAll",e.SavedQuery_Rename="SavedQuery_Rename",e.Alert_Edit="Alert_Edit",e.Alert_Delete="Alert_Delete",e.Alert_DeleteAll="Alert_DeleteAll",e.Link_Display="Link_Display",e.Link_Click="Link_Click",e.Basket_Add="Basket_Add",e.Basket_Delete="Basket_Delete",e.Basket_DeleteAll="Basket_DeleteAll",e.Basket_Rename="Basket_Rename",e.Basket_AddDoc="Basket_AddDoc",e.Basket_RemoveDoc="Basket_RemoveDoc",e.Basket_Open="Basket_Open",e.Basket_ExportCSV="Basket_ExportCSV",e.Label_Add="Label_Add",e.Label_Delete="Label_Delete",e.Label_Rename="Label_Rename",e.Label_Open="Label_Open",e.Label_AddDoc="Label_AddDoc",e.Label_RemoveDoc="Label_RemoveDoc",e.Label_ExportCSV="Label_ExportCSV",e.Label_Menu_ExportCSV="Label_Menu_ExportCSV",e.Rating_Set="Rating_Set",e.Rating_Delete="Rating_Delete",e.Doc_Preview="Doc_Preview",e.Doc_CacheHtml="Doc_CacheHtml",e.Doc_CachePdf="Doc_CachePdf",e.Doc_CacheOriginal="Doc_CacheOriginal",e.Doc_Url1="Doc_Url1",e.Doc_Url2="Doc_Url2",e.Preview_Close="Preview_Close",e.Click_ResultLink="Click_ResultLink",e.Click_ResultLink1="Click_ResultLink1",e.Click_ResultLink2="Click_ResultLink2",e.Click_ResultLink3="Click_ResultLink3",e.Click_ResultLink4="Click_ResultLink4",e.Click_ResultLink5="Click_ResultLink5",e.Click_ResultLink6="Click_ResultLink6",e.Click_ResultLink7="Click_ResultLink7",e.Click_ResultLink8="Click_ResultLink8",e.Click_ResultLink9="Click_ResultLink9",e.Click_ResultLink10="Click_ResultLink10",e.Click_PreviewLink1="Click_PreviewLink1",e.Click_PreviewLink2="Click_PreviewLink2",e.Click_PreviewLink3="Click_PreviewLink3",e.Click_PreviewLink4="Click_PreviewLink4",e.Click_PreviewLink5="Click_PreviewLink5",e.Click_PreviewLink6="Click_PreviewLink6",e.Click_PreviewLink7="Click_PreviewLink7",e.Click_PreviewLink8="Click_PreviewLink8",e.Click_PreviewLink9="Click_PreviewLink9",e.Click_PreviewLink10="Click_PreviewLink10",e.RFM_ClickSet="RFM_ClickSet",e.RFM_ClickReset="RFM_ClickReset",e.RFM_Like="RFM_Like",e.RFM_LikeReset="RFM_LikeReset",e.RFM_Dislike="RFM_Dislike",e.RFM_Important="RFM_Important",e.RFM_ImportantReset="RFM_ImportantReset",e.RFM_Ban="RFM_Ban",e.Navigation_Exit="Navigation_Exit",e.Navigation_Return="Navigation_Return",e.Navigation_Route="Navigation_Route",e.Answer_Display="Answer_Display",e.Answer_Click="Answer_Click",e.Answer_Result="Answer_Result",e.Answer_Liked="Answer_Liked",e.Answer_Disliked="Answer_Disliked",e.Answer_Liked_Cancelled="Answer_Liked_Cancelled",e.Answer_Disliked_Cancelled="Answer_Disliked_Cancelled",e.TopPassages_Display="TopPassages_Display",e.TopPassages_Click="TopPassages_Click",e.UserSettings_Reset="UserSettings_Reset",e))(S||{}),ee=(e=>(e[e.none=0]="none",e[e.bool=1]="bool",e[e.date=2]="date",e[e.dateTime=3]="dateTime",e[e.time=4]="time",e[e.unsigned=5]="unsigned",e[e.integer=6]="integer",e[e.float=7]="float",e[e.double=8]="double",e[e.dates=9]="dates",e[e.dateTimes=10]="dateTimes",e[e.times=11]="times",e[e.varchar=12]="varchar",e[e.binary=13]="binary",e[e.string=14]="string",e[e.csv=15]="csv",e))(ee||{}),te=(e=>(e[e.none=0]="none",e[e.a=2053]="a",e[e.c=4]="c",e[e.d=8]="d",e[e.e=2068]="e",e[e.i=256]="i",e[e.l=2052]="l",e[e.n=8192]="n",e[e.t=524292]="t",e[e.x=8388608]="x",e[e.z=33554432]="z",e[e.f_ordinal=8192]="f_ordinal",e[e.f_multidates=8192]="f_multidates",e[e.f_varchar=33554432]="f_varchar",e[e.f_binary=33562624]="f_binary",e[e.f_string=33562888]="f_string",e[e.f_csv=42477853]="f_csv",e[e.f_overridable=33554696]="f_overridable",e))(te||{});const xe="1.0";var re=(e=>(e[e.Original=0]="Original",e[e.Corrected=1]="Corrected",e))(re||{}),ne=(e=>(e[e.none=0]="none",e[e.positiveRate=1]="positiveRate",e[e.mainlyPosRate=2]="mainlyPosRate",e[e.unrate=4]="unrate",e[e.mainlyNegRate=8]="mainlyNegRate",e[e.negativeRate=16]="negativeRate",e[e.all=31]="all",e[e.positiveOnly=7]="positiveOnly",e[e.negativeOnly=28]="negativeOnly",e[e.personalAll=21]="personalAll",e[e.personalPosOnly=5]="personalPosOnly",e[e.personalNegOnly=20]="personalNegOnly",e))(ne||{});class w extends Error{constructor(r,n){super(r);Ce(this,"status");this.name="ApiError",this.status=n}}class p extends w{constructor(t="Unauthorized access"){super(t,401),this.name="UnauthorizedError"}}class ae extends w{constructor(t="Server error"){super(t,500),this.name="ServerError"}}class oe extends w{constructor(t="Request timed out"){super(t,408),this.name="TimeoutError"}}function Ee(e){const t=new AbortController,{signal:r}=t;return e&&setTimeout(()=>{r.aborted||t.abort(new oe(`Request timed out after ${e}ms`))},e),{controller:t,signal:r}}async function Te(e,t=0,r=1e3){let n;for(let o=0;o<=t;o++)try{return await e()}catch(s){if(n=s,s instanceof w&&s.status>=400&&s.status<500&&s.status!==429||s instanceof DOMException&&s.name==="AbortError")throw s;o<t&&(v(`Retrying request (${o+1}/${t})`,{error:s}),await new Promise(c=>setTimeout(c,r)))}throw n}function L(e){const t=y(),r=new Headers(e);r.append("Sinequa-Force-Camel-Case","true"),r.append("accept","application/json"),t&&r.append("Sinequa-csrf-token",t);const{userOverride:n,userOverrideActive:o}=a.globalConfig;return n&&o&&(r.append("sinequa-override-user",n.username),r.append("sinequa-override-domain",n.domain)),r}async function k(e,t="json"){const r=e.headers.get("sinequa-jwt-refresh");if(r!==null&&Q(r),e.status===200)switch(t){case"arraybuffer":return await e.arrayBuffer();case"blob":return await e.blob();case"text":return await e.text();case"json":default:return await e.json()}if(e.status===401){if(a.globalConfig.userOverrideActive)throw a.globalConfig.userOverrideActive=!1,v("Unauthorized access attempt with user override",{endpoint:e.url}),new p("Unauthorized... User override failed.");await se(e,401)}throw e.status===500&&(h("Server error occurred",{endpoint:e.url}),await se(e,500)),v(`Unexpected response status: ${e.status}`,{endpoint:e.url}),new w(`Request failed with status ${e.status}`,e.status)}async function se(e,t){var r;try{const{done:n,value:o}=await((r=e.body)==null?void 0:r.getReader().read())||{done:!0,value:void 0};if(n||!o)throw new w(`Request failed with status ${t}`,t);const s=JSON.parse(new TextDecoder().decode(o));throw s.status=t,s}catch(n){throw n instanceof w?n:t===401?new p("Failed to parse error response"):t===500?new ae("Failed to parse error response"):new w(`Request failed with status ${t}`,t)}}async function d(e,t,r){const n=L(r==null?void 0:r.headers),{app:o,backendUrl:s,apiPath:c}=a.globalConfig,i={app:o,...t,locale:t.locale||navigator.language,noUserOverride:!0,noAutoAuthentication:!0},l=`${s}/${c}/${e}`;R(`Making POST request to: ${l}`);try{const u=await fetch(l,{method:"POST",headers:n,credentials:"include",body:JSON.stringify(i)});return k(u,r==null?void 0:r.responseType)}catch(u){throw h("Error making POST request:",u),u}}async function b(e,t,r){const n=L(r==null?void 0:r.headers),{backendUrl:o,apiPath:s}=a.globalConfig,c=t?`?${new URLSearchParams(t)}`:"",i=`${o}/${s}/${e}${c}`;R(`Making GET request to: ${i}`);try{const l=await fetch(i,{method:"GET",credentials:"include",headers:n});return k(l,r==null?void 0:r.responseType)}catch(l){throw h("Error making GET request:",l),l}}async function et(e,t,r){const n=L(r==null?void 0:r.headers),{app:o,backendUrl:s,apiPath:c}=a.globalConfig,i={app:o,...t,locale:t.locale||navigator.language,noUserOverride:!0,noAutoAuthentication:!0},l=`${s}/${c}/${e}`;R(`Making PUT request to: ${l}`);try{const u=await fetch(l,{method:"PUT",headers:n,credentials:"include",body:JSON.stringify(i)});return k(u,r==null?void 0:r.responseType)}catch(u){throw h("Error making PUT request:",u),u}}async function tt(e,t,r){const n=L(r==null?void 0:r.headers),{backendUrl:o,apiPath:s}=a.globalConfig,c=t?`?${new URLSearchParams(t)}`:"",i=`${o}/${s}/${e}${c}`;R(`Making DELETE request to: ${i}`);try{const l=await fetch(i,{method:"DELETE",credentials:"include",headers:n});return k(l,r==null?void 0:r.responseType)}catch(l){throw h("Error making DELETE request:",l),l}}async function rt(e,t,r){const n=L(r==null?void 0:r.headers),{app:o,backendUrl:s,apiPath:c}=a.globalConfig,i={app:o,...t,locale:t.locale||navigator.language,noUserOverride:!0,noAutoAuthentication:!0},l=`${s}/${c}/${e}`;R(`Making PATCH request to: ${l}`);try{const u=await fetch(l,{method:"PATCH",headers:n,credentials:"include",body:JSON.stringify(i)});return k(u,r==null?void 0:r.responseType)}catch(u){throw h("Error making PATCH request:",u),u}}let j,ce;function U(e,t=!0){let r=nt(e.$auditRecord);r&&(ie(r),t&&le(r)),e.$auditRecord=r}function nt(e){if(!e)return;let t;if(Array.isArray(e))t=e;else if($(e)){const r=e;if(r.auditEvents||r.mlAuditEvents)return r;t=[e]}return{auditEvents:t}}function ie(e){var r;const t=at();return(r=e.auditEvents)==null||r.forEach(n=>{n.detail||(n.detail={}),n.detail.sessionid=t}),e}function le(e){var r;const t=decodeURIComponent(window.location.href);return(r=e==null?void 0:e.auditEvents)==null||r.forEach(n=>{n.detail||(n.detail={}),n.detail.url=t}),e}function at(){return(!j||ot())&&(j=T()),ce=new Date,j}function ot(){return new Date().getTime()-ce.getTime()>10*60*1e3}async function st(e,t=!0){const r={event:S.None,$auditRecord:e};return U(r,t),d("audit.notify",r)}const ct={notify:st};async function it(e,t,r){var g;const n=((g=e.items)==null?void 0:g.length)||0,o=10,s={query:{...t,action:"aggregate",aggregations:{[e.name]:{skip:n,count:o}}},$auditRecord:{auditEvents:[r]}};U(s);const c=await d("query",s),i=await k(c),{aggregations:l}=i,u=l[0];return u.$hasMore=u.items.length>o,u.items=[...e.items,...u.items],Promise.resolve(u)}async function lt(){const{app:e}=a.globalConfig,t=new URLSearchParams({app:e||""});return b("app",t)}async function ue(){const{app:e}=a.globalConfig,t=new URLSearchParams({app:e||"",preLogin:"true"});return b("app",t)}function ut(){let{backendUrl:e,app:t}=a.globalConfig;if(e||(e=window.location.origin),!t){const r=window.location.pathname.match(/\/app(?:-debug)?\/([^\/#]+)/);r&&(t=r[1])}return f({...a.globalConfig,backendUrl:e,app:t}),ue().then(r=>{const{autoOAuthProvider:n,autoSAMLProvider:o}=a.globalConfig,s=!n&&!r.autoOAuthProvider&&!o&&!r.autoSAMLProvider;return f({...a.globalConfig,autoOAuthProvider:n||r.autoOAuthProvider,autoSAMLProvider:o||r.autoSAMLProvider,useCredentialsOrSSO:s}),r}).catch(r=>{throw console.error("atomic:fetchAppPreLogin error",r),r})}async function dt(e,t,r={}){const n=`search.dataset/${e}/${t}`,o=await d(n,{parameters:r}),s=t[0].toLowerCase()+t.slice(1),c=o.datasets[s];if("errorCode"in c&&"errorMessage"in c)throw new Error(c.errorMessage);return c}async function ft(e,t){const r=`search.dataset/${e}`,{parameters:n={},datasets:o=[]}=t;return(await d(r,{parameters:n,datasets:o})).datasets}async function ht(e){return await b(`search.dataset/${e}`)}async function gt(e,t=!0,r){try{return(await d("labels",{action:"list",q:e,public:t,locale:r,localize:!1})).labels}catch(n){throw h("Error in fetchLabels",n),n}}async function _t(){try{const{app:e=""}=a.globalConfig,t=new URLSearchParams({app:e,action:"getUserRights"});return b("labels",t)}catch(e){throw h("Error in getUserRights",e),e}}async function mt(e,t,r=!0){try{const n={action:"add",labels:e,ids:t,public:r,$auditRecord:{auditEvents:[{type:S.Label_AddDoc,detail:{public:r,label:e?e.toString():null,doccount:t?t.length:0}}],mlAuditEvents:[{actionType:"addToLabel",documentIds:t}]}};return d("labels",n)}catch(n){throw h("Error in add",n),n}}async function St(e,t,r=!0){try{const n={action:"remove",labels:e,ids:t,public:r,$auditRecord:{auditEvents:[{type:S.Label_RemoveDoc,detail:{public:r,label:e?e.toString():null,doccount:t?t.length:0}}],mlAuditEvents:[{actionType:"removeFromLabel",documentIds:t}]}};return d("labels",n)}catch(n){throw h("Error in remove",n),n}}async function wt(e,t,r=!0){try{const n={action:"rename",labels:e,newLabel:t,public:r,auditEvents:{type:S.Label_Rename,detail:{public:r,oldlabel:e?e.toString():null,label:t}}};return d("labels",n)}catch(n){throw h("Error in rename",n),n}}async function kt(e,t=!0){try{const r={action:"delete",labels:e,public:t,auditEvents:{type:S.Label_Delete,detail:{public:t,label:e?e.toString():null}}};return d("labels",r)}catch(r){throw h("Error in deleteLabels",r),r}}async function bt(e,t,r=!0){try{const n={action:"bulkAdd",labels:e,query:t,public:r,auditEvents:{type:S.Label_Add,detail:{public:r,label:e?e.toString():null,query:t!==null?t.name:null}}};return d("labels",n)}catch(n){throw h("Error in bulkAdd",n),n}}async function Ct(e,t,r=!0){try{const n={action:"bulkRemove",labels:e,query:t,public:r,auditEvents:{type:S.Label_Delete,detail:{public:r,label:e?e.toString():null,query:t!==null?t.name:null}}};return d("labels",n)}catch(n){throw h("Error in bulkRemove",n),n}}const Rt={getUserRights:_t,add:mt,remove:St,rename:wt,delete:kt,bulkAdd:bt,bulkRemove:Ct};async function vt(e,t){const r=`${window.location.origin}${window.location.pathname}`,n={name:t==null?void 0:t.name,text:t==null?void 0:t.text};return d("preview",{action:"get",id:e,query:n,browserUrl:r})}async function Pt(e){const t=new Headers;t.append("content-type","text");const r=await fetch(e,{method:"GET",headers:t});k(r)}async function de(){const e=new URLSearchParams({action:"get",noAutoAuthentication:"true"});return b("principal",e)}const fe=11;async function Lt(e,t,r){var c;const o=await d("query",{query:e,$auditRecord:t,queryIntentData:r});o.aggregations.forEach(i=>{i.$hasMore=!1,!i.isDistribution&&!i.isTree&&i.items&&(i.$hasMore=i.items.length===fe),i.isTree&&i.items&&N(i)}),(c=o.records)==null||c.map(i=>Object.assign(i,{value:i.title,type:"default"}));const s={...o,nextPage:o.page<Math.ceil(o.rowCount/o.pageSize)?o.page+1:void 0,previousPage:o.page>1?o.page-1:void 0};return Promise.resolve(s)}async function Ut(e,t,r){const{app:n=""}=a.globalConfig,o={methods:[],mode:t,propagateErrors:!0,$auditRecord:{auditEvents:[r]}};for(const i of e)o.methods.push({method:"query",app:n,query:i});const s=await d("multi",o);s.results.forEach(i=>{i.aggregations.forEach(l=>{l.$hasMore=!1,!l.isDistribution&&!l.isTree&&l.items&&(l.$hasMore=l.items.length===fe),l.isTree&&N(l)})}),s.results.forEach(i=>{var l;return(l=i.records)==null?void 0:l.map(u=>Object.assign(u,{value:u.title,type:"default"}))});const c=s.results.map(i=>({...i,nextPage:i.page<Math.ceil(i.rowCount/i.pageSize)?i.page+1:void 0,previousPage:i.page>1?i.page-1:void 0}));return Promise.resolve(c)}function N(e,t="",r=0){let n=[];return e.items&&e.items.forEach(o=>{let s=t?`${t}/${o.value}`:o.value,c=r+1;n.push({path:s,level:c}),o.$path=s,o.$level=c,o.hasChildren?n=n.concat(N(o,s,c)):o.hasChildren=!1}),n}async function Ot(e){const r=await d("queryintent",{query:e});return r==null?void 0:r.intents}async function $t({model:e,appName:t,query:r,article:n}){const{webservice:o,format:s,maxcount:c,exportedColumns:i,export:l}=e,u={app:t,webservice:o,query:r,type:l,format:s,maxcount:c,exportedColumns:i,$auditRecord:{auditEvents:[{type:"Search_ExportCSV",detail:{resultid:n?n.id:void 0}}]}};return U(u),await d("search.queryexport",u,{responseType:"blob"})}async function yt(e,t){return await d("similardocuments",{sourceDocumentId:e,query:{name:t}})}async function Dt(e,t){var o;const n=await d("query.links",{webservice:e,query:t});return(o=n==null?void 0:n.links)==null?void 0:o.map(s=>({...s,query:t}))}async function It(e,t,r,n,o){const{app:s}=a.globalConfig,c={app:s||"",suggestQuery:e,text:t,filter:r,kinds:n,showSource:o};try{return(await d("search.suggest",c)).suggests}catch(i){throw console.error("Error fetching suggestions:",i),i}}async function At(e,t,r,n){const{app:o}=a.globalConfig;return(await d("suggestquery",{app:o||"",suggestQuery:e,text:t,query:r,kinds:n})).suggests}async function Ft(e,t){if(!t)return Promise.resolve([]);const{app:r}=a.globalConfig;return(await d("suggestfield",{app:r||"",text:e,action:"suggests",fields:t})).suggests}async function Nt(e,t,r,n,o,s){return d("doc.textchunks",{id:e,textChunks:t,highlights:r,query:n,leftSentencesCount:o,rightSentencesCount:s})}async function Qt(){const{app:e}=a.globalConfig,t=new URLSearchParams({app:e||"",action:"load"});return b("usersettings",t)}async function he(e,t){const r={action:"save",userSettings:e,$auditRecord:{auditEvents:[t]}};return U(r),d("usersettings",r)}async function Bt(e,t){const n={action:"patch",userSettings:e,$auditRecord:t?{auditEvents:[t]}:void 0};return U(n),d("usersettings",n)}async function qt(){return he({},{type:"UserSettings_Reset"})}function _(e){const t=new CustomEvent("authenticated",{bubbles:!0,cancelable:!1,detail:{authenticated:e}});dispatchEvent(t)}const ge=async()=>{const{autoOAuthProvider:e}=a.globalConfig,t={action:"getcode",provider:e,tokenInCookie:!0,originalUrl:window.location.href};try{const r=await d("security.oauth",t);return r.redirectUrl&&(localStorage.setItem("oauthRedirectUrl",r.redirectUrl),window.location.href=r.redirectUrl),r}catch(r){throw console.error("Failed to authenticate with OAuth",r),r}},_e=async()=>{const{autoSAMLProvider:e}=a.globalConfig,t={action:"getresponse",provider:e,tokenInCookie:!0,originalUrl:window.location.href};try{const r=await d("security.saml",t);return r.redirectUrl&&(localStorage.setItem("samlRedirectUrl",r.redirectUrl),window.location.href=r.redirectUrl),r}catch(r){throw console.error("Failed to authenticate with SAML",r),r}},me=async e=>{const{username:t,password:r}=e||{},n={action:"get",tokenInCookie:!0,user:t,password:r,noUserOverride:!0,noAutoAuthentication:!0};try{const o=await d("security.webtoken",n);return o.csrfToken?(Q(o.csrfToken),o.csrfToken):null}catch(o){throw console.error("Failed to get JWT",o),o}},Se=async()=>{const e=new URLSearchParams({action:"deleteWebTokenCookie",noUserOverride:"true",noAutoAuthentication:"true"});return b("challenge",e)},y=()=>{const e=localStorage.getItem("csrfToken"),t=sessionStorage.getItem("sinequa-credentials");return t?JSON.parse(t).data.csrfToken:e||null},Q=e=>sessionStorage.setItem("sinequa-credentials",JSON.stringify({data:{csrfToken:e}})),Gt=async e=>{if(e)m("Attempting authentication using credentials"),f({useCredentials:!0,useCredentialsOrSSO:!1,useSSO:!1});else try{const c=localStorage.getItem("oauthRedirectUrl"),i=localStorage.getItem("samlRedirectUrl");m("Attempting to retrieve CSRF token");const l=await we();if(R("CSRF token retrieval result",l?"success":"failed"),l===null){if(c||i)return v("Redirection from provider failed after previous attempt"),localStorage.removeItem("oauthRedirectUrl"),localStorage.removeItem("samlRedirectUrl"),_(!1),!1;const{autoOAuthProvider:u,autoSAMLProvider:g,useSAML:D}=a.globalConfig;if(u&&!D)return m("Initiating OAuth authentication flow"),await ge(),v("OAuth authentication flow did not redirect as expected"),_(!1),!1;if(g)return m("Initiating SAML authentication flow"),await _e(),v("SAML authentication flow did not redirect as expected"),_(!1),!1;m("No direct authentication method available, will try SSO then credentials"),f({useCredentials:!0,useSSO:!0,useCredentialsOrSSO:!0})}else return localStorage.removeItem("oauthRedirectUrl"),localStorage.removeItem("samlRedirectUrl"),m("User authenticated via existing token"),_(!0),!0}catch(c){throw h("Unexpected error during authentication",c),_(!1),c}const{useSSO:t,useCredentialsOrSSO:r,useCredentials:n}=a.globalConfig;if(r)try{if(m("Checking if user is authenticated via SSO"),await de())return m("User authenticated using SSO"),f({useCredentials:!1,useCredentialsOrSSO:!1,useSSO:!0}),_(!0),!0}catch(c){if((c==null?void 0:c.status)===401)m("SSO authentication failed with 401, falling back to credentials"),f({useCredentials:!0,useSSO:!1,useCredentialsOrSSO:!1});else throw h("SSO authentication failed with unexpected error",c),_(!1),h}if(y()||t)return console.log("user already authenticated",y()),f({isRedirectUrl:!1}),_(!0),!0;const{username:o,password:s}=e||{};if(n&&!o&&!s)return console.error("Credentials are required for authentication"),_(!1),!1;if(o&&s)try{return console.log("authentication using credentials..."),f({useCredentials:!0}),await me(e),_(!0),!0}catch(c){throw _(!1),c}return _(!1),console.error("No authentication method available. Please provide credentials or configure OAuth/SAML."),!1},pt=async()=>{const{useCredentials:e,userOverrideActive:t}=a.globalConfig;localStorage.removeItem("csrfToken"),sessionStorage.removeItem("sinequa-credentials"),e&&!t?(await Se()).methodresult==="ok"?_(!1):console.error("logout failed"):_(!1)},jt=()=>!!y(),we=async()=>{const{backendUrl:e,apiPath:t}=a.globalConfig;try{const n=await(await fetch(`${e}/${t}/challenge?action=getCsrfToken&suppressErrors=true`)).json();return n!=null&&n.csrfToken?(Q(n.csrfToken),n.csrfToken):null}catch(r){throw console.error("Failed to get CSRF token",r),r}};a.ApiError=w,a.Audit=ct,a.AuditEventType=S,a.DidYouMeanKind=re,a.EngineType=ee,a.EngineTypeModifier=te,a.LogLevel=G,a.MINIMUM_COMPATIBLE_SERVER_API_VERSION=xe,a.RFMDisplay=ne,a.ServerError=ae,a.TimeoutError=oe,a.UnauthorizedError=p,a.addAuditAdditionalInfo=U,a.addConcepts=Ie,a.addSessionId=ie,a.addUrl=le,a.aggregationItemStrictCompare=Re,a.appInitializerFn=ut,a.bisect=Pe,a.buildPathsAndLevels=N,a.configureLogger=We,a.createHeaders=L,a.createTimeoutController=Ee,a.debug=R,a.del=tt,a.deleteUserSettings=qt,a.deleteWebTokenCookie=Se,a.error=h,a.escapeExpr=Ke,a.fetchAggregation=it,a.fetchApp=lt,a.fetchAppPreLogin=ue,a.fetchBulkQuery=Ut,a.fetchDataset=dt,a.fetchDatasetList=ht,a.fetchDatasets=ft,a.fetchLabels=gt,a.fetchPreview=vt,a.fetchPreviewUrl=Pt,a.fetchPrincipal=de,a.fetchQuery=Lt,a.fetchQueryExport=$t,a.fetchQueryIntent=Ot,a.fetchSimilarDocuments=yt,a.fetchSponsoredLinks=Dt,a.fetchSuggest=It,a.fetchSuggestField=Ft,a.fetchSuggestQuery=At,a.fetchTextChunks=Nt,a.fetchUserSettings=Qt,a.get=b,a.getConcepts=Ne,a.getCsrfToken=we,a.getFiltersFromURI=B,a.getFiltersFromUrl=Ge,a.getHelpIndexUrl=He,a.getIdFromUrl=je,a.getJWToken=me,a.getMetadata=Xe,a.getOffsetFromDates=K,a.getQueryPageFromUrl=Ve,a.getQueryParamsFromUrl=qe,a.getQueryTabFromUrl=Je,a.getQueryTextFromUrl=pe,a.getRelativeDate=Qe,a.getToken=y,a.guid=T,a.handleResponse=k,a.info=m,a.isArrayBuffer=Z,a.isAuthenticated=jt,a.isBlob=x,a.isJsonable=Ye,a.isNotInputEvent=Be,a.isObject=$,a.isString=E,a.labels=Rt,a.login=Gt,a.logout=pt,a.parseText=O,a.parseValueAndOperatorFromItem=J,a.patch=rt,a.patchUserSettings=Bt,a.post=d,a.put=et,a.queryParamsFromUrl=C,a.removeConcept=Ae,a.removeConcepts=Fe,a.resolveToColumnName=Me,a.rewriteText=I,a.saveUserSettings=he,a.setGlobalConfig=f,a.setToken=Q,a.sha512=Ze,a.suggestionsToTreeAggregationNodes=ve,a.sysLang=ze,a.translateAggregationToDateOptions=P,a.tryOAuthAuthentication=ge,a.trySAMLAuthentication=_e,a.warn=v,a.withRetry=Te,Object.defineProperty(a,Symbol.toStringTag,{value:"Module"})});
1
+ (function(o,d){typeof exports=="object"&&typeof module<"u"?d(exports):typeof define=="function"&&define.amd?define(["exports"],d):(o=typeof globalThis<"u"?globalThis:o||self,d(o.atomic={}))})(this,function(o){"use strict";var Vt=Object.defineProperty;var zt=(o,d,m)=>d in o?Vt(o,d,{enumerable:!0,configurable:!0,writable:!0,value:m}):o[d]=m;var Ce=(o,d,m)=>zt(o,typeof d!="symbol"?d+"":d,m);const d={apiPath:"api/v1",loginPath:"/login",backendUrl:window.location.origin};function m(e){Object.assign(d,e)}function Re(e,t){var a;return!(e!=null&&e.items)||((a=e==null?void 0:e.items)==null?void 0:a.length)===0?[]:e.items.reduce((s,c)=>{if(!c.value||c.value==="")return s;const i=V(c,e.column);return s.push({operator:i.operator,value:i.value,display:c.display||i.display,filters:i.filters,disabled:c.count===0,hidden:c.count===0&&e.isDistribution?!t:!1}),s},[])}function V(e,t){const r=t,n=e.value.match(/.*\:\(?([><=\d\-\.AND ]+)\)?/);if(n!=null&&n[1]){const s=(n==null?void 0:n[1].split(" AND ")).map(c=>{const i=c.indexOf(">=")!==-1?"gte":"lt";let l=c.substring(c.indexOf(" ")+1);return{field:r,operator:i,value:l,display:e.display||e.value}});if(s.length===2)return{field:r,operator:"and",filters:s,value:e.value,display:s[0].display||s[0].value};if(s.length===1)return{...s[0],field:r};throw new Error("Failed to parse distribution expression")}return{field:r,operator:"eq",value:e.value,display:e.display}}function ve(e,t,r){return e.valuesAreExpressions?t.display===r.display:t.value===r.value}function Pe(e,t){const r=[];if(e.length>0){const n=new Map,a=t.replace(/[.*+?^${}()|[\]\\]/g,"\\$&"),s=new RegExp("\\b"+a,"i");e.forEach(c=>{if(c.display.length>1){const i=s.exec(c.display);z(r,n,"/",c.display,+(c.frequency||0),1,((i==null?void 0:i.index)||0)+t.length)}})}return r}function z(e,t,r,n,a,s,c){const i=n.indexOf("/",r.length),l=n.substring(0,i+1);let u=t.get(l);if(!u){const _=l.replace(/^\/|\/$/g,"");u={value:n.substring(r.length,i),count:a,items:[],hasChildren:!1,$level:s,$opened:c>=l.length,$path:_},t.set(l,u),e.push(u)}l.length<n.length&&(u.hasChildren=!0,z(u.items,t,l,n,a,s+1,c))}function Le(e,t){return e.reduce((r,n)=>(t(n)?r.true.push(n):r.false.push(n),r),{true:[],false:[]})}const Ue=/(([\+\-])?\(([^\)]+)\))|(([\+\-])?\[([^\]]+)\])|(([\+\-])?\"([^\"]+)\")|(([\+\-])?\/([^\/]+)\/)|(([\+\-])?(\S+))/g,Oe=2,J=3,$e=5,H=6,ye=8,W=9,De=11,M=12,Ie=14,X=15;function O(e){if(!e)return[];const t=[],r=e.matchAll(Ue);for(let n of r)n[J]?t.push({type:"group",value:n[J],op:n[Oe]}):n[H]?t.push({type:"adjacent",value:n[H],op:n[$e]}):n[W]?t.push({type:"exact",value:n[W],op:n[ye]}):n[M]?t.push({type:"regex",value:n[M],op:n[De]}):n[X]&&t.push({type:"token",value:n[X],op:n[Ie]});return t}function I(e){return e.map(t=>{const r=t.op||"";switch(t.type){case"group":return`${r}(${t.value})`;case"adjacent":return`${r}[${t.value}]`;case"exact":return`${r}"${t.value}"`;case"regex":return`${r}/${t.value}/`;case"token":return`${r}${t.value}`}}).join(" ")}function Ae(e,t,r){let n=O(e);for(let a of t)n.push({type:"adjacent",value:a,op:r});return I(n)}function pe(e,t){const r=O(t),n=r.findIndex(a=>a.value===e);return n!==-1?(r.splice(n,1),t=I(r)):t}function Fe(e){const t=O(e).filter(r=>r.type!=="adjacent");return I(t)}function Ne(e){return O(e).filter(t=>t.type==="adjacent").map(t=>t.value)}function Be(e,t,r){const n=new Intl.RelativeTimeFormat(e,{numeric:"auto"}),{offset:a,unit:s,isFuture:c}=Y(t,r);return n.format(a*(c?1:-1),s)}function Y(e,t){const r=new Date(e),n=t?new Date(t):new Date,a=Math.abs(n.getTime()-r.getTime());return{offset:Math.floor(a/(1e3*60*60*24)),unit:"day",isFuture:r>n}}function Qe(e){const t=e.target;return t&&t.nodeName!=="INPUT"&&t.nodeName!=="TEXTAREA"}function qe(e){if(e===void 0)return;const{q:t,f:r,p:n,s:a,t:s,n:c,b:i}=R(e),[l]=e.split("?");return{path:l,text:t,filters:r?B(r):void 0,page:n?parseInt(n,10):void 0,sort:a,tab:s,name:c,basket:i}}function xe(e){if(e===void 0)return[];const{f:t}=R(e);return B(t)}function B(e){const t=decodeURIComponent(e);try{return JSON.parse(t??"[]")}catch{return console.error(`Error parsing filters from URI: ${e}`),[]}}function R(e){const t=e.split("?")[1];if(t===void 0)return{};const r=new URLSearchParams(t);return Object.fromEntries(r)}function Ge(e){const{q:t=""}=R(e);return t}function je(e){const{id:t}=R(e);return decodeURIComponent(t)}function Ve(e){const{p:t="0"}=R(e);return parseInt(t,10)}function ze(e){const{t}=R(e);return t}function Je(e,t){if(!e)return e;let r=0;const n=e.length;let a=0;if(e[a]==="["){for(;a<n&&/[0-9]/.test(e[a]);)a++;e[a]==="]"&&(r=a+1)}const s=Q(e,r,!1);if(!s)return e;const c=t.charCodeAt(0),i=t.charCodeAt(1);let l=s;for(;l;)if(c===l.lang1&&i===l.lang2){const _=Q(e,l.end+4,!0);return e.substring(_.start,_.end)}else l=Q(e,l.end+4,!1);const u=e.substring(s.start,s.end);return u||e}function Q(e,t,r){for(let n=t,a=e.length-3;n<a;n++)if(e[n]==="["&&e[n+3]==="]")return{start:t,end:n,lang1:e.charCodeAt(n+1),lang2:e.charCodeAt(n+2)};if(r)return{start:t,end:e.length,lang1:-1,lang2:-1}}function He(e,t){const{useLocale:r,useLocaleAsPrefix:n,indexFile:a,path:s,folder:c}=t,i=r?`${e}/`:null,l=n?`${e}.${a}`:a??"";return[s,c,`${i||""}${l}`].filter(u=>u!==void 0).join("/")}var q=(e=>(e[e.DEBUG=0]="DEBUG",e[e.INFO=1]="INFO",e[e.WARN=2]="WARN",e[e.ERROR=3]="ERROR",e[e.NONE=4]="NONE",e))(q||{});let A={level:1,enableConsoleOutput:!0};function We(e){A={...A,...e}}function p(e,t,r){if(e<A.level)return;const n=new Date().toISOString(),s=`${`[${q[e]}][${n}]`} ${t}`;if(A.enableConsoleOutput)switch(e){case 0:console.debug(s,r||"");break;case 1:console.info(s,r||"");break;case 2:console.warn(s,r||"");break;case 3:console.error(s,r||"");break}}function v(e,t){p(0,e,t)}function g(e,t){p(1,e,t)}function P(e,t){p(2,e,t)}function h(e,t){p(3,e,t)}function Me(e,t,r){var s,c,i,l;if(!e||!t)return;if(r){const u=Object.keys(t.queries).find(j=>j===(r==null?void 0:r.toLowerCase()));let _;u&&(_=t.queries[u]);const D=(c=((s=_==null?void 0:_.columnsInfo)==null?void 0:s.columns)||[])==null?void 0:c.find(j=>{var ke,be;return(be=(ke=j.aliases)==null?void 0:ke.split(","))==null?void 0:be.includes(e)});if(D)return D.name}const n=(l=(i=t.indexes)==null?void 0:i._)==null?void 0:l.columns,a=Object.entries(n).find(u=>{var _;return(_=u[1].aliases)==null?void 0:_.includes(e)});if(a)return a[0]}function Xe(e,t){const r=e[t];return r===void 0?[]:Array.isArray(r)?r.map(n=>{if(typeof n=="string")return n;if(typeof n=="object"&&n!==null&&"display"in n)return n.display}).filter(n=>n!==void 0):[String(r)]}function $(e){return e!==null&&typeof e=="object"}function K(e){return $(e)&&Object.prototype.toString.call(e)==="[object ArrayBuffer]"}function Z(e){return $(e)&&Object.prototype.toString.call(e)==="[object Blob]"}function E(e){return typeof e=="string"}function Ye(e){return($(e)||Array.isArray(e))&&!K(e)&&!Z(e)&&!E(e)}function T(e=!0){let t=Date.now();return(e?"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx":"xxxxxxxxxxxx4xxxyxxxxxxxxxxxxxxx").replace(/[xy]/g,n=>{const a=(t+Math.random()*16)%16|0;return t=Math.floor(t/16),(n==="x"?a:a&3|8).toString(16)})}function Ke(e){if(!e)return"``";if(e=String(e),e.search(/[\\`]/)===-1)return"`"+e+"`";const t=["`"];for(let r=0,n=e.length;r<n;r++){const a=e[r];(a==="\\"||a==="`")&&t.push("\\"),t.push(a)}return t.push("`"),t.join("")}function Ze(e){return crypto.subtle.digest("SHA-512",new TextEncoder().encode(e)).then(t=>Array.prototype.map.call(new Uint8Array(t),r=>("00"+r.toString(16)).slice(-2)).join(""))}var w=(e=>(e.None="None",e.Search_FirstPage="Search_FirstPage",e.Search_Text="Search_Text",e.Search_Refine="Search_Refine",e.Search_Select_Item="Search_Select_Item",e.Search_Select_Custom="Search_Select_Custom",e.Search_Select_Concept="Search_Select_Concept",e.Search_Select_Correction="Search_Select_Correction",e.Search_GotoPage="Search_GotoPage",e.Search_GotoTab="Search_GotoTab",e.Search_DisplayResult="Search_DisplayResult",e.Search_RemoveResult="Search_RemoveResult",e.Search_RemoveAdvanced="Search_RemoveAdvanced",e.Search_SavedQuery="Search_SavedQuery",e.Search_WebService="Search_WebService",e.Search_DidYouMean_Original="Search_DidYouMean_Original",e.Search_DidYouMean_Correction="Search_DidYouMean_Correction",e.Search_ExportCSV="Search_ExportCSV",e.Search_SavedQuery_ExportCSV="Search_SavedQuery_ExportCSV",e.Search_Selection_ExportCSV="Search_Selection_ExportCSV",e.Search_AlertQuery="Search_AlertQuery",e.Search_Select_AnalyticsItem="Search_Select_AnalyticsItem",e.Search_Sort="Search_Sort",e.Search_Exit_Logout="Search_Exit_Logout",e.Search_Timeline_Usage="Search_Timeline_Usage",e.Search_AutoComplete="Search_Autocomplete",e.Search_Login_Success="Login_Success_Form",e.Search_QueryIntent_Detected="Search_QueryIntent_Detected",e.SavedQuery_Add="SavedQuery_Add",e.SavedQuery_Delete="SavedQuery_Delete",e.SavedQuery_DeleteAll="SavedQuery_DeleteAll",e.SavedQuery_Rename="SavedQuery_Rename",e.Alert_Edit="Alert_Edit",e.Alert_Delete="Alert_Delete",e.Alert_DeleteAll="Alert_DeleteAll",e.Link_Display="Link_Display",e.Link_Click="Link_Click",e.Basket_Add="Basket_Add",e.Basket_Delete="Basket_Delete",e.Basket_DeleteAll="Basket_DeleteAll",e.Basket_Rename="Basket_Rename",e.Basket_AddDoc="Basket_AddDoc",e.Basket_RemoveDoc="Basket_RemoveDoc",e.Basket_Open="Basket_Open",e.Basket_ExportCSV="Basket_ExportCSV",e.Label_Add="Label_Add",e.Label_Delete="Label_Delete",e.Label_Rename="Label_Rename",e.Label_Open="Label_Open",e.Label_AddDoc="Label_AddDoc",e.Label_RemoveDoc="Label_RemoveDoc",e.Label_ExportCSV="Label_ExportCSV",e.Label_Menu_ExportCSV="Label_Menu_ExportCSV",e.Rating_Set="Rating_Set",e.Rating_Delete="Rating_Delete",e.Doc_Preview="Doc_Preview",e.Doc_CacheHtml="Doc_CacheHtml",e.Doc_CachePdf="Doc_CachePdf",e.Doc_CacheOriginal="Doc_CacheOriginal",e.Doc_Url1="Doc_Url1",e.Doc_Url2="Doc_Url2",e.Preview_Close="Preview_Close",e.Click_ResultLink="Click_ResultLink",e.Click_ResultLink1="Click_ResultLink1",e.Click_ResultLink2="Click_ResultLink2",e.Click_ResultLink3="Click_ResultLink3",e.Click_ResultLink4="Click_ResultLink4",e.Click_ResultLink5="Click_ResultLink5",e.Click_ResultLink6="Click_ResultLink6",e.Click_ResultLink7="Click_ResultLink7",e.Click_ResultLink8="Click_ResultLink8",e.Click_ResultLink9="Click_ResultLink9",e.Click_ResultLink10="Click_ResultLink10",e.Click_PreviewLink1="Click_PreviewLink1",e.Click_PreviewLink2="Click_PreviewLink2",e.Click_PreviewLink3="Click_PreviewLink3",e.Click_PreviewLink4="Click_PreviewLink4",e.Click_PreviewLink5="Click_PreviewLink5",e.Click_PreviewLink6="Click_PreviewLink6",e.Click_PreviewLink7="Click_PreviewLink7",e.Click_PreviewLink8="Click_PreviewLink8",e.Click_PreviewLink9="Click_PreviewLink9",e.Click_PreviewLink10="Click_PreviewLink10",e.RFM_ClickSet="RFM_ClickSet",e.RFM_ClickReset="RFM_ClickReset",e.RFM_Like="RFM_Like",e.RFM_LikeReset="RFM_LikeReset",e.RFM_Dislike="RFM_Dislike",e.RFM_Important="RFM_Important",e.RFM_ImportantReset="RFM_ImportantReset",e.RFM_Ban="RFM_Ban",e.Navigation_Exit="Navigation_Exit",e.Navigation_Return="Navigation_Return",e.Navigation_Route="Navigation_Route",e.Answer_Display="Answer_Display",e.Answer_Click="Answer_Click",e.Answer_Result="Answer_Result",e.Answer_Liked="Answer_Liked",e.Answer_Disliked="Answer_Disliked",e.Answer_Liked_Cancelled="Answer_Liked_Cancelled",e.Answer_Disliked_Cancelled="Answer_Disliked_Cancelled",e.TopPassages_Display="TopPassages_Display",e.TopPassages_Click="TopPassages_Click",e.UserSettings_Reset="UserSettings_Reset",e))(w||{}),ee=(e=>(e[e.none=0]="none",e[e.bool=1]="bool",e[e.date=2]="date",e[e.dateTime=3]="dateTime",e[e.time=4]="time",e[e.unsigned=5]="unsigned",e[e.integer=6]="integer",e[e.float=7]="float",e[e.double=8]="double",e[e.dates=9]="dates",e[e.dateTimes=10]="dateTimes",e[e.times=11]="times",e[e.varchar=12]="varchar",e[e.binary=13]="binary",e[e.string=14]="string",e[e.csv=15]="csv",e))(ee||{}),te=(e=>(e[e.none=0]="none",e[e.a=2053]="a",e[e.c=4]="c",e[e.d=8]="d",e[e.e=2068]="e",e[e.i=256]="i",e[e.l=2052]="l",e[e.n=8192]="n",e[e.t=524292]="t",e[e.x=8388608]="x",e[e.z=33554432]="z",e[e.f_ordinal=8192]="f_ordinal",e[e.f_multidates=8192]="f_multidates",e[e.f_varchar=33554432]="f_varchar",e[e.f_binary=33562624]="f_binary",e[e.f_string=33562888]="f_string",e[e.f_csv=42477853]="f_csv",e[e.f_overridable=33554696]="f_overridable",e))(te||{});const Ee="1.0";var re=(e=>(e[e.Original=0]="Original",e[e.Corrected=1]="Corrected",e))(re||{}),ne=(e=>(e[e.none=0]="none",e[e.positiveRate=1]="positiveRate",e[e.mainlyPosRate=2]="mainlyPosRate",e[e.unrate=4]="unrate",e[e.mainlyNegRate=8]="mainlyNegRate",e[e.negativeRate=16]="negativeRate",e[e.all=31]="all",e[e.positiveOnly=7]="positiveOnly",e[e.negativeOnly=28]="negativeOnly",e[e.personalAll=21]="personalAll",e[e.personalPosOnly=5]="personalPosOnly",e[e.personalNegOnly=20]="personalNegOnly",e))(ne||{});class k extends Error{constructor(r,n){super(r);Ce(this,"status");this.name="ApiError",this.status=n}}class x extends k{constructor(t="Unauthorized access"){super(t,401),this.name="UnauthorizedError"}}class ae extends k{constructor(t="Server error"){super(t,500),this.name="ServerError"}}class oe extends k{constructor(t="Request timed out"){super(t,408),this.name="TimeoutError"}}function Te(e){const t=new AbortController,{signal:r}=t;return e&&setTimeout(()=>{r.aborted||t.abort(new oe(`Request timed out after ${e}ms`))},e),{controller:t,signal:r}}async function et(e,t=0,r=1e3){let n;for(let a=0;a<=t;a++)try{return await e()}catch(s){if(n=s,s instanceof k&&s.status>=400&&s.status<500&&s.status!==429||s instanceof DOMException&&s.name==="AbortError")throw s;a<t&&(P(`Retrying request (${a+1}/${t})`,{error:s}),await new Promise(c=>setTimeout(c,r)))}throw n}function L(e){const t=y(),r=new Headers(e);r.append("Sinequa-Force-Camel-Case","true"),r.append("accept","application/json"),t&&r.append("Sinequa-csrf-token",t);const{userOverride:n,userOverrideActive:a,bearerToken:s}=d;return s&&r.append("Authorization",`Bearer ${s}`),n&&a&&(r.append("sinequa-override-user",n.username),r.append("sinequa-override-domain",n.domain)),r}async function b(e,t="json"){const r=e.headers.get("sinequa-jwt-refresh");if(r!==null&&N(r),e.status===200)switch(t){case"arraybuffer":return await e.arrayBuffer();case"blob":return await e.blob();case"text":return await e.text();case"json":default:return await e.json()}if(e.status===401){if(d.userOverrideActive)throw d.userOverrideActive=!1,P("Unauthorized access attempt with user override",{endpoint:e.url}),new x("Unauthorized... User override failed.");await se(e,401)}throw e.status===500&&(h("Server error occurred",{endpoint:e.url}),await se(e,500)),P(`Unexpected response status: ${e.status}`,{endpoint:e.url}),new k(`Request failed with status ${e.status}`,e.status)}async function se(e,t){var r;try{const{done:n,value:a}=await((r=e.body)==null?void 0:r.getReader().read())||{done:!0,value:void 0};if(n||!a)throw new k(`Request failed with status ${t}`,t);const s=JSON.parse(new TextDecoder().decode(a));throw s.status=t,s}catch(n){throw n instanceof k?n:t===401?new x("Failed to parse error response"):t===500?new ae("Failed to parse error response"):new k(`Request failed with status ${t}`,t)}}async function f(e,t,r){const n=L(r==null?void 0:r.headers),{app:a,backendUrl:s,apiPath:c}=d,i={app:a,...t,locale:t.locale||navigator.language,noUserOverride:!0,noAutoAuthentication:!0},l=`${s}/${c}/${e}`;v(`Making POST request to: ${l}`);try{const u=await fetch(l,{method:"POST",headers:n,credentials:"include",body:JSON.stringify(i)});return b(u,r==null?void 0:r.responseType)}catch(u){throw h("Error making POST request:",u),u}}async function C(e,t,r){const n=L(r==null?void 0:r.headers),{backendUrl:a,apiPath:s}=d,c=t?`?${new URLSearchParams(t)}`:"",i=`${a}/${s}/${e}${c}`;v(`Making GET request to: ${i}`);try{const l=await fetch(i,{method:"GET",credentials:"include",headers:n});return b(l,r==null?void 0:r.responseType)}catch(l){throw h("Error making GET request:",l),l}}async function tt(e,t,r){const n=L(r==null?void 0:r.headers),{app:a,backendUrl:s,apiPath:c}=d,i={app:a,...t,locale:t.locale||navigator.language,noUserOverride:!0,noAutoAuthentication:!0},l=`${s}/${c}/${e}`;v(`Making PUT request to: ${l}`);try{const u=await fetch(l,{method:"PUT",headers:n,credentials:"include",body:JSON.stringify(i)});return b(u,r==null?void 0:r.responseType)}catch(u){throw h("Error making PUT request:",u),u}}async function rt(e,t,r){const n=L(r==null?void 0:r.headers),{backendUrl:a,apiPath:s}=d,c=t?`?${new URLSearchParams(t)}`:"",i=`${a}/${s}/${e}${c}`;v(`Making DELETE request to: ${i}`);try{const l=await fetch(i,{method:"DELETE",credentials:"include",headers:n});return b(l,r==null?void 0:r.responseType)}catch(l){throw h("Error making DELETE request:",l),l}}async function nt(e,t,r){const n=L(r==null?void 0:r.headers),{app:a,backendUrl:s,apiPath:c}=d,i={app:a,...t,locale:t.locale||navigator.language,noUserOverride:!0,noAutoAuthentication:!0},l=`${s}/${c}/${e}`;v(`Making PATCH request to: ${l}`);try{const u=await fetch(l,{method:"PATCH",headers:n,credentials:"include",body:JSON.stringify(i)});return b(u,r==null?void 0:r.responseType)}catch(u){throw h("Error making PATCH request:",u),u}}let G,ce;function U(e,t=!0){let r=at(e.$auditRecord);r&&(ie(r),t&&le(r)),e.$auditRecord=r}function at(e){if(!e)return;let t;if(Array.isArray(e))t=e;else if($(e)){const r=e;if(r.auditEvents||r.mlAuditEvents)return r;t=[e]}return{auditEvents:t}}function ie(e){var r;const t=ot();return(r=e.auditEvents)==null||r.forEach(n=>{n.detail||(n.detail={}),n.detail.sessionid=t}),e}function le(e){var r;const t=decodeURIComponent(window.location.href);return(r=e==null?void 0:e.auditEvents)==null||r.forEach(n=>{n.detail||(n.detail={}),n.detail.url=t}),e}function ot(){return(!G||st())&&(G=T()),ce=new Date,G}function st(){return new Date().getTime()-ce.getTime()>10*60*1e3}async function ct(e,t=!0){const r={event:w.None,$auditRecord:e};return U(r,t),f("audit.notify",r)}const it={notify:ct};async function lt(e,t,r){var _;const n=((_=e.items)==null?void 0:_.length)||0,a=10,s={query:{...t,action:"aggregate",aggregations:{[e.name]:{skip:n,count:a}}},$auditRecord:{auditEvents:[r]}};U(s);const c=await f("query",s),i=await b(c),{aggregations:l}=i,u=l[0];return u.$hasMore=u.items.length>a,u.items=[...e.items,...u.items],Promise.resolve(u)}async function ut(){const{app:e}=d,t=new URLSearchParams({app:e||""});return C("app",t)}async function ue(){const{app:e}=d,t=new URLSearchParams({app:e||"",preLogin:"true"});return C("app",t)}function dt(){let{backendUrl:e,app:t}=d;if(e||(e=window.location.origin),!t){const r=window.location.pathname.match(/\/app(?:-debug)?\/([^\/#]+)/);r&&(t=r[1])}return m({...d,backendUrl:e,app:t}),ue().then(r=>{const{autoOAuthProvider:n,autoSAMLProvider:a}=d,s=!n&&!r.autoOAuthProvider&&!a&&!r.autoSAMLProvider;return m({...d,autoOAuthProvider:n||r.autoOAuthProvider,autoSAMLProvider:a||r.autoSAMLProvider,useCredentialsOrSSO:s}),r}).catch(r=>{throw console.error("atomic:fetchAppPreLogin error",r),r})}async function ft(e,t,r={}){const n=`search.dataset/${e}/${t}`,a=await f(n,{parameters:r}),s=t[0].toLowerCase()+t.slice(1),c=a.datasets[s];if("errorCode"in c&&"errorMessage"in c)throw new Error(c.errorMessage);return c}async function ht(e,t){const r=`search.dataset/${e}`,{parameters:n={},datasets:a=[]}=t;return(await f(r,{parameters:n,datasets:a})).datasets}async function _t(e){return await C(`search.dataset/${e}`)}async function mt(e,t=!0,r){try{return(await f("labels",{action:"list",q:e,public:t,locale:r,localize:!1})).labels}catch(n){throw h("Error in fetchLabels",n),n}}async function St(){try{const{app:e=""}=d,t=new URLSearchParams({app:e,action:"getUserRights"});return C("labels",t)}catch(e){throw h("Error in getUserRights",e),e}}async function gt(e,t,r=!0){try{const n={action:"add",labels:e,ids:t,public:r,$auditRecord:{auditEvents:[{type:w.Label_AddDoc,detail:{public:r,label:e?e.toString():null,doccount:t?t.length:0}}],mlAuditEvents:[{actionType:"addToLabel",documentIds:t}]}};return f("labels",n)}catch(n){throw h("Error in add",n),n}}async function wt(e,t,r=!0){try{const n={action:"remove",labels:e,ids:t,public:r,$auditRecord:{auditEvents:[{type:w.Label_RemoveDoc,detail:{public:r,label:e?e.toString():null,doccount:t?t.length:0}}],mlAuditEvents:[{actionType:"removeFromLabel",documentIds:t}]}};return f("labels",n)}catch(n){throw h("Error in remove",n),n}}async function kt(e,t,r=!0){try{const n={action:"rename",labels:e,newLabel:t,public:r,auditEvents:{type:w.Label_Rename,detail:{public:r,oldlabel:e?e.toString():null,label:t}}};return f("labels",n)}catch(n){throw h("Error in rename",n),n}}async function bt(e,t=!0){try{const r={action:"delete",labels:e,public:t,auditEvents:{type:w.Label_Delete,detail:{public:t,label:e?e.toString():null}}};return f("labels",r)}catch(r){throw h("Error in deleteLabels",r),r}}async function Ct(e,t,r=!0){try{const n={action:"bulkAdd",labels:e,query:t,public:r,auditEvents:{type:w.Label_Add,detail:{public:r,label:e?e.toString():null,query:t!==null?t.name:null}}};return f("labels",n)}catch(n){throw h("Error in bulkAdd",n),n}}async function Rt(e,t,r=!0){try{const n={action:"bulkRemove",labels:e,query:t,public:r,auditEvents:{type:w.Label_Delete,detail:{public:r,label:e?e.toString():null,query:t!==null?t.name:null}}};return f("labels",n)}catch(n){throw h("Error in bulkRemove",n),n}}const vt={getUserRights:St,add:gt,remove:wt,rename:kt,delete:bt,bulkAdd:Ct,bulkRemove:Rt};async function Pt(e,t){const r=`${window.location.origin}${window.location.pathname}`,n={name:t==null?void 0:t.name,text:t==null?void 0:t.text};return f("preview",{action:"get",id:e,query:n,browserUrl:r})}async function Lt(e){const t=new Headers;t.append("content-type","text");const r=await fetch(e,{method:"GET",headers:t});b(r)}async function de(){const e=new URLSearchParams({action:"get",noAutoAuthentication:"true"});return C("principal",e)}const fe=11;async function Ut(e,t,r){var c;const a=await f("query",{query:e,$auditRecord:t,queryIntentData:r});a.aggregations.forEach(i=>{i.$hasMore=!1,!i.isDistribution&&!i.isTree&&i.items&&(i.$hasMore=i.items.length===fe),i.isTree&&i.items&&F(i)}),(c=a.records)==null||c.map(i=>Object.assign(i,{value:i.title,type:"default"}));const s={...a,nextPage:a.page<Math.ceil(a.rowCount/a.pageSize)?a.page+1:void 0,previousPage:a.page>1?a.page-1:void 0};return Promise.resolve(s)}async function Ot(e,t,r){const{app:n=""}=d,a={methods:[],mode:t,propagateErrors:!0,$auditRecord:{auditEvents:[r]}};for(const i of e)a.methods.push({method:"query",app:n,query:i});const s=await f("multi",a);s.results.forEach(i=>{i.aggregations.forEach(l=>{l.$hasMore=!1,!l.isDistribution&&!l.isTree&&l.items&&(l.$hasMore=l.items.length===fe),l.isTree&&F(l)})}),s.results.forEach(i=>{var l;return(l=i.records)==null?void 0:l.map(u=>Object.assign(u,{value:u.title,type:"default"}))});const c=s.results.map(i=>({...i,nextPage:i.page<Math.ceil(i.rowCount/i.pageSize)?i.page+1:void 0,previousPage:i.page>1?i.page-1:void 0}));return Promise.resolve(c)}function F(e,t="",r=0){let n=[];return e.items&&e.items.forEach(a=>{let s=t?`${t}/${a.value}`:a.value,c=r+1;n.push({path:s,level:c}),a.$path=s,a.$level=c,a.hasChildren?n=n.concat(F(a,s,c)):a.hasChildren=!1}),n}async function $t(e){const r=await f("queryintent",{query:e});return r==null?void 0:r.intents}async function yt({model:e,appName:t,query:r,article:n}){const{webservice:a,format:s,maxcount:c,exportedColumns:i,export:l}=e,u={app:t,webservice:a,query:r,type:l,format:s,maxcount:c,exportedColumns:i,$auditRecord:{auditEvents:[{type:"Search_ExportCSV",detail:{resultid:n?n.id:void 0}}]}};return U(u),await f("search.queryexport",u,{responseType:"blob"})}async function Dt(e,t){return await f("similardocuments",{sourceDocumentId:e,query:{name:t}})}async function It(e,t){var a;const n=await f("query.links",{webservice:e,query:t});return(a=n==null?void 0:n.links)==null?void 0:a.map(s=>({...s,query:t}))}async function At(e,t,r,n,a){const{app:s}=d,c={app:s||"",suggestQuery:e,text:t,filter:r,kinds:n,showSource:a};try{return(await f("search.suggest",c)).suggests}catch(i){throw console.error("Error fetching suggestions:",i),i}}async function pt(e,t,r,n){const{app:a}=d;return(await f("suggestquery",{app:a||"",suggestQuery:e,text:t,query:r,kinds:n})).suggests}async function Ft(e,t){if(!t)return Promise.resolve([]);const{app:r}=d;return(await f("suggestfield",{app:r||"",text:e,action:"suggests",fields:t})).suggests}async function Nt(e,t,r,n,a,s){return f("doc.textchunks",{id:e,textChunks:t,highlights:r,query:n,leftSentencesCount:a,rightSentencesCount:s})}async function Bt(){const{app:e}=d,t=new URLSearchParams({app:e||"",action:"load"});return C("usersettings",t)}async function he(e,t){const r={action:"save",userSettings:e,$auditRecord:{auditEvents:[t]}};return U(r),f("usersettings",r)}async function Qt(e,t){const n={action:"patch",userSettings:e,$auditRecord:t?{auditEvents:[t]}:void 0};return U(n),f("usersettings",n)}async function qt(){return he({},{type:"UserSettings_Reset"})}function S(e){const t=new CustomEvent("authenticated",{bubbles:!0,cancelable:!1,detail:{authenticated:e}});dispatchEvent(t)}const _e=async()=>{const{autoOAuthProvider:e}=d,t={action:"getcode",provider:e,tokenInCookie:!0,originalUrl:window.location.href};try{const r=await f("security.oauth",t);return r.redirectUrl&&(localStorage.setItem("oauthRedirectUrl",r.redirectUrl),window.location.href=r.redirectUrl),r}catch(r){throw console.error("Failed to authenticate with OAuth",r),r}},me=async()=>{const{autoSAMLProvider:e}=d,t={action:"getresponse",provider:e,tokenInCookie:!0,originalUrl:window.location.href};try{const r=await f("security.saml",t);return r.redirectUrl&&(localStorage.setItem("samlRedirectUrl",r.redirectUrl),window.location.href=r.redirectUrl),r}catch(r){throw console.error("Failed to authenticate with SAML",r),r}},Se=async e=>{const{username:t,password:r}=e||{},n={action:"get",tokenInCookie:!0,user:t,password:r,noUserOverride:!0,noAutoAuthentication:!0};try{const a=await f("security.webtoken",n);return a.csrfToken?(N(a.csrfToken),a.csrfToken):null}catch(a){throw console.error("Failed to get JWT",a),a}},ge=async()=>{const e=new URLSearchParams({action:"deleteWebTokenCookie",noUserOverride:"true",noAutoAuthentication:"true"});return C("challenge",e)},y=()=>{const e=localStorage.getItem("csrfToken"),t=sessionStorage.getItem("sinequa-credentials");return t?JSON.parse(t).data.csrfToken:e||null},N=e=>sessionStorage.setItem("sinequa-credentials",JSON.stringify({data:{csrfToken:e}})),xt=async e=>{if(e)g("Attempting authentication using credentials"),m({useCredentials:!0,useCredentialsOrSSO:!1,useSSO:!1});else try{const c=localStorage.getItem("oauthRedirectUrl"),i=localStorage.getItem("samlRedirectUrl");g("Attempting to retrieve CSRF token");const l=await we();if(v("CSRF token retrieval result",l?"success":"failed"),l===null){if(c||i)return P("Redirection from provider failed after previous attempt"),localStorage.removeItem("oauthRedirectUrl"),localStorage.removeItem("samlRedirectUrl"),S(!1),!1;const{autoOAuthProvider:u,autoSAMLProvider:_,useSAML:D}=d;if(u&&!D)return g("Initiating OAuth authentication flow"),await _e(),P("OAuth authentication flow did not redirect as expected"),S(!1),!1;if(_)return g("Initiating SAML authentication flow"),await me(),P("SAML authentication flow did not redirect as expected"),S(!1),!1;g("No direct authentication method available, will try SSO then credentials"),m({useCredentials:!0,useSSO:!0,useCredentialsOrSSO:!0})}else return localStorage.removeItem("oauthRedirectUrl"),localStorage.removeItem("samlRedirectUrl"),g("User authenticated via existing token"),S(!0),!0}catch(c){throw h("Unexpected error during authentication",c),S(!1),c}const{useSSO:t,useCredentialsOrSSO:r,useCredentials:n}=d;if(r)try{if(g("Checking if user is authenticated via SSO"),await de())return g("User authenticated using SSO"),m({useCredentials:!1,useCredentialsOrSSO:!1,useSSO:!0}),S(!0),!0}catch(c){if((c==null?void 0:c.status)===401)g("SSO authentication failed with 401, falling back to credentials"),m({useCredentials:!0,useSSO:!1,useCredentialsOrSSO:!1});else throw h("SSO authentication failed with unexpected error",c),S(!1),h}if(y()||t)return console.log("user already authenticated",y()),m({isRedirectUrl:!1}),S(!0),!0;const{username:a,password:s}=e||{};if(n&&!a&&!s)return console.error("Credentials are required for authentication"),S(!1),!1;if(a&&s)try{return console.log("authentication using credentials..."),m({useCredentials:!0}),await Se(e),S(!0),!0}catch(c){throw S(!1),c}return S(!1),console.error("No authentication method available. Please provide credentials or configure OAuth/SAML."),!1},Gt=async()=>{const{useCredentials:e,userOverrideActive:t}=d;localStorage.removeItem("csrfToken"),sessionStorage.removeItem("sinequa-credentials"),e&&!t?(await ge()).methodresult==="ok"?S(!1):console.error("logout failed"):S(!1)},jt=()=>!!y(),we=async()=>{const{backendUrl:e,apiPath:t}=d;try{const n=await(await fetch(`${e}/${t}/challenge?action=getCsrfToken&suppressErrors=true`)).json();return n!=null&&n.csrfToken?(N(n.csrfToken),n.csrfToken):null}catch(r){throw console.error("Failed to get CSRF token",r),r}};o.ApiError=k,o.Audit=it,o.AuditEventType=w,o.DidYouMeanKind=re,o.EngineType=ee,o.EngineTypeModifier=te,o.LogLevel=q,o.MINIMUM_COMPATIBLE_SERVER_API_VERSION=Ee,o.RFMDisplay=ne,o.ServerError=ae,o.TimeoutError=oe,o.UnauthorizedError=x,o.addAuditAdditionalInfo=U,o.addConcepts=Ae,o.addSessionId=ie,o.addUrl=le,o.aggregationItemStrictCompare=ve,o.appInitializerFn=dt,o.bisect=Le,o.buildPathsAndLevels=F,o.configureLogger=We,o.createHeaders=L,o.createTimeoutController=Te,o.debug=v,o.del=rt,o.deleteUserSettings=qt,o.deleteWebTokenCookie=ge,o.error=h,o.escapeExpr=Ke,o.fetchAggregation=lt,o.fetchApp=ut,o.fetchAppPreLogin=ue,o.fetchBulkQuery=Ot,o.fetchDataset=ft,o.fetchDatasetList=_t,o.fetchDatasets=ht,o.fetchLabels=mt,o.fetchPreview=Pt,o.fetchPreviewUrl=Lt,o.fetchPrincipal=de,o.fetchQuery=Ut,o.fetchQueryExport=yt,o.fetchQueryIntent=$t,o.fetchSimilarDocuments=Dt,o.fetchSponsoredLinks=It,o.fetchSuggest=At,o.fetchSuggestField=Ft,o.fetchSuggestQuery=pt,o.fetchTextChunks=Nt,o.fetchUserSettings=Bt,o.get=C,o.getConcepts=Ne,o.getCsrfToken=we,o.getFiltersFromURI=B,o.getFiltersFromUrl=xe,o.getHelpIndexUrl=He,o.getIdFromUrl=je,o.getJWToken=Se,o.getMetadata=Xe,o.getOffsetFromDates=Y,o.getQueryPageFromUrl=Ve,o.getQueryParamsFromUrl=qe,o.getQueryTabFromUrl=ze,o.getQueryTextFromUrl=Ge,o.getRelativeDate=Be,o.getToken=y,o.globalConfig=d,o.guid=T,o.handleResponse=b,o.info=g,o.isArrayBuffer=K,o.isAuthenticated=jt,o.isBlob=Z,o.isJsonable=Ye,o.isNotInputEvent=Qe,o.isObject=$,o.isString=E,o.labels=vt,o.login=xt,o.logout=Gt,o.parseText=O,o.parseValueAndOperatorFromItem=V,o.patch=nt,o.patchUserSettings=Qt,o.post=f,o.put=tt,o.queryParamsFromUrl=R,o.removeConcept=pe,o.removeConcepts=Fe,o.resolveToColumnName=Me,o.rewriteText=I,o.saveUserSettings=he,o.setGlobalConfig=m,o.setToken=N,o.sha512=Ze,o.suggestionsToTreeAggregationNodes=Pe,o.sysLang=Je,o.translateAggregationToDateOptions=Re,o.tryOAuthAuthentication=_e,o.trySAMLAuthentication=me,o.warn=P,o.withRetry=et,Object.defineProperty(o,Symbol.toStringTag,{value:"Module"})});
@@ -13,6 +13,7 @@ export type AppGlobalConfig<T extends Record<string, any> = {}> = {
13
13
  apiPath: string;
14
14
  autoOAuthProvider: string;
15
15
  autoSAMLProvider: string;
16
+ bearerToken: string;
16
17
  loginPath: string;
17
18
  userOverride: {
18
19
  username: string;
@@ -28,7 +29,7 @@ export type AppGlobalConfig<T extends Record<string, any> = {}> = {
28
29
  /**
29
30
  * Configuration object for global settings.
30
31
  */
31
- declare let globalConfig: Partial<AppGlobalConfig & Record<string, any>>;
32
+ declare const globalConfig: Partial<AppGlobalConfig & Record<string, any>>;
32
33
  /**
33
34
  * Sets the global configuration for the application.
34
35
  * @param config - The partial configuration object to be merged with the existing global configuration.
@@ -1 +1 @@
1
- {"version":3,"file":"global.config.d.ts","sourceRoot":"","sources":["../../src/configurations/global.config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAC;AAEpC;;;;;;;GAOG;AACH,MAAM,MAAM,eAAe,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,EAAE,IAAI;IAChE,GAAG,EAAE,MAAM,CAAC;IACZ,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,MAAM,CAAC;IAChB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,gBAAgB,EAAE,MAAM,CAAC;IACzB,SAAS,EAAE,MAAM,CAAC;IAClB,YAAY,EAAE;QACZ,QAAQ,EAAE,MAAM,CAAC;QACjB,MAAM,EAAE,MAAM,CAAC;KAChB,CAAC;IACF,kBAAkB,EAAE,OAAO,CAAC;IAC5B,cAAc,EAAE,OAAO,CAAC;IACxB,MAAM,EAAE,OAAO,CAAC;IAChB,mBAAmB,EAAE,OAAO,CAAC;IAC7B,OAAO,EAAE,OAAO,CAAC;IACjB,QAAQ,EAAE,QAAQ,CAAC;CACpB,GAAG,CAAC,CAAC;AAEN;;GAEG;AACH,QAAA,IAAI,YAAY,EAAE,OAAO,CAAC,eAAe,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAkF,CAAC;AAElJ;;;GAGG;AACH,wBAAgB,eAAe,CAAC,MAAM,EAAE,OAAO,CAAC,eAAe,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,GAAG,IAAI,CAE5F;AAED,OAAO,EAAE,YAAY,EAAE,CAAC"}
1
+ {"version":3,"file":"global.config.d.ts","sourceRoot":"","sources":["../../src/configurations/global.config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAC;AAEpC;;;;;;;GAOG;AACH,MAAM,MAAM,eAAe,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,EAAE,IAAI;IAChE,GAAG,EAAE,MAAM,CAAC;IACZ,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,MAAM,CAAC;IAChB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,gBAAgB,EAAE,MAAM,CAAC;IACzB,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;IAClB,YAAY,EAAE;QACZ,QAAQ,EAAE,MAAM,CAAC;QACjB,MAAM,EAAE,MAAM,CAAC;KAChB,CAAC;IACF,kBAAkB,EAAE,OAAO,CAAC;IAC5B,cAAc,EAAE,OAAO,CAAC;IACxB,MAAM,EAAE,OAAO,CAAC;IAChB,mBAAmB,EAAE,OAAO,CAAC;IAC7B,OAAO,EAAE,OAAO,CAAC;IACjB,QAAQ,EAAE,QAAQ,CAAC;CACpB,GAAG,CAAC,CAAC;AAEN;;GAEG;AACH,QAAA,MAAM,YAAY,EAAE,OAAO,CAAC,eAAe,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAkF,CAAC;AAEpJ;;;GAGG;AACH,wBAAgB,eAAe,CAAC,MAAM,EAAE,OAAO,CAAC,eAAe,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,GAAG,IAAI,CAK5F;AAED,OAAO,EAAE,YAAY,EAAE,CAAC"}
@@ -1,13 +1,28 @@
1
1
  import { Article } from "../types";
2
2
  import { KeyOf } from "./ts-helper";
3
3
  /**
4
- * Retrieves metadata from an article object.
4
+ * Retrieves metadata values from an article object for a given metadata key.
5
5
  *
6
- * @param article - The article object containing the metadata.
7
- * @param metadata - The key of the metadata to retrieve.
8
- * @returns An array of objects with a `display` property representing the metadata.
6
+ * This function handles metadata values that can be:
7
+ * - An array of strings
8
+ * - An array of objects with a `display` property
9
+ * - A single string or number
10
+ *
11
+ * If the metadata value is undefined, it returns an empty array.
12
+ * If the metadata value is an array, it maps each item to its string representation,
13
+ * using the `display` property if present.
14
+ * If the metadata value is a single value, it converts it to a string and returns it in an array.
15
+ *
16
+ * @param article - The article object containing metadata, possibly partial and with additional properties.
17
+ * @param metadata - The key of the metadata to retrieve from the article.
18
+ * @returns An array of string representations of the metadata values.
19
+ *
20
+ * @example
21
+ * getMetadata({ tags: ['foo', 'bar'] }, 'tags'); // ['foo', 'bar']
22
+ * getMetadata({ authors: [{ display: 'Alice' }, { display: 'Bob' }] }, 'authors'); // ['Alice', 'Bob']
23
+ * getMetadata({ title: 'Hello World' }, 'title'); // ['Hello World']
24
+ * getMetadata({ year: 2024 }, 'year'); // ['2024']
25
+ * getMetadata({}, 'nonexistent'); // []
9
26
  */
10
- export declare function getMetadata(article: Partial<Article & Record<string, unknown>>, metadata: KeyOf<Article & Record<string, unknown>>): {
11
- display: string;
12
- }[];
27
+ export declare function getMetadata(article: Partial<Article & Record<string, unknown>>, metadata: KeyOf<Article & Record<string, unknown>>): string[];
13
28
  //# sourceMappingURL=metadata.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"metadata.d.ts","sourceRoot":"","sources":["../../src/helpers/metadata.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,UAAU,CAAC;AACnC,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AAEpC;;;;;;GAMG;AACH,wBAAgB,WAAW,CAAC,OAAO,EAAE,OAAO,CAAC,OAAO,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,EAAE,QAAQ,EAAE,KAAK,CAAC,OAAO,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,GAAG;IAAE,OAAO,EAAE,MAAM,CAAA;CAAE,EAAE,CAa1J"}
1
+ {"version":3,"file":"metadata.d.ts","sourceRoot":"","sources":["../../src/helpers/metadata.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,UAAU,CAAC;AACnC,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AAGpC;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,wBAAgB,WAAW,CAAC,OAAO,EAAE,OAAO,CAAC,OAAO,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,EAAE,QAAQ,EAAE,KAAK,CAAC,OAAO,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,GAAG,MAAM,EAAE,CAuB7I"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=metadata.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"metadata.test.d.ts","sourceRoot":"","sources":["../../src/helpers/metadata.test.ts"],"names":[],"mappings":""}
@@ -3,13 +3,11 @@ import { LegacyFilter, Query } from "../types";
3
3
  * `path`: hash of the search without the bang in form of `/search/all`
4
4
  * `filters`: filters associated to the query
5
5
  * `id`: document id if there's one opened,
6
- * `queryName`: name of the query
7
6
  */
8
- export type QueryParams = Query & {
7
+ export type QueryParams = Partial<Omit<Query, "filters">> & {
9
8
  path?: string;
10
9
  filters?: LegacyFilter[];
11
10
  id?: string;
12
- queryName?: string;
13
11
  };
14
12
  /**
15
13
  * Get {@link QueryParams} from url string
@@ -1 +1 @@
1
- {"version":3,"file":"query-params.d.ts","sourceRoot":"","sources":["../../src/utils/query-params.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,KAAK,EAAE,MAAM,UAAU,CAAC;AAE/C;;;;;GAKG;AACH,MAAM,MAAM,WAAW,GAAG,KAAK,GAAG;IAChC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,YAAY,EAAE,CAAC;IACzB,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB,CAAA;AAED;;;;;GAKG;AACH,wBAAgB,qBAAqB,CAAC,GAAG,EAAE,MAAM,GAAG,SAAS,GAAG,WAAW,GAAG,SAAS,CAetF;AAED;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,MAAM,GAAG,SAAS,GAAG,YAAY,EAAE,CAKzE;AAED;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,MAAM,GAAG,YAAY,EAAE,CAQ7D;AAED;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAOtE;AAGD;;;;GAIG;AACH,wBAAgB,mBAAmB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAGvD;AAED;;;;GAIG;AACH,wBAAgB,YAAY,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAIhD;AAED;;;;;GAKG;AACH,wBAAgB,mBAAmB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAIvD;AAED,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAItD"}
1
+ {"version":3,"file":"query-params.d.ts","sourceRoot":"","sources":["../../src/utils/query-params.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,KAAK,EAAE,MAAM,UAAU,CAAC;AAE/C;;;;GAIG;AACH,MAAM,MAAM,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC,GAAG;IAC1D,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,YAAY,EAAE,CAAC;IACzB,EAAE,CAAC,EAAE,MAAM,CAAC;CACb,CAAC;AAEF;;;;;GAKG;AACH,wBAAgB,qBAAqB,CACnC,GAAG,EAAE,MAAM,GAAG,SAAS,GACtB,WAAW,GAAG,SAAS,CAgBzB;AAED;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,MAAM,GAAG,SAAS,GAAG,YAAY,EAAE,CAKzE;AAED;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,MAAM,GAAG,YAAY,EAAE,CAQ7D;AAED;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAOtE;AAED;;;;GAIG;AACH,wBAAgB,mBAAmB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAGvD;AAED;;;;GAIG;AACH,wBAAgB,YAAY,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAIhD;AAED;;;;;GAKG;AACH,wBAAgB,mBAAmB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAIvD;AAED,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAItD"}
@@ -1 +1 @@
1
- {"version":3,"file":"helpers.d.ts","sourceRoot":"","sources":["../../src/web-api/helpers.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"helpers.d.ts","sourceRoot":"","sources":["../../src/web-api/helpers.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,42 +1,42 @@
1
- {
2
- "name": "@sinequa/atomic",
3
- "private": false,
4
- "version": "0.0.96",
5
- "type": "module",
6
- "main": "./dist/atomic.umd.cjs",
7
- "module": "./dist/atomic.js",
8
- "types": "./dist/index.d.ts",
9
- "exports": {
10
- ".": {
11
- "import": "./dist/atomic.js",
12
- "require": "./dist/atomic.umd.cjs"
13
- }
14
- },
15
- "files": [
16
- "dist"
17
- ],
18
- "scripts": {
19
- "dev": "vite",
20
- "build": "vite build && tsc",
21
- "build:patch": "npm run build",
22
- "build:minor": "npm run build",
23
- "build:major": "npm run build",
24
- "dev:pack": "npm run build && npm pack --pack-destination=package",
25
- "prebuild:patch": "npm version patch",
26
- "prebuild:minor": "npm version minor",
27
- "prebuild:major": "npm version major",
28
- "preview": "vite preview",
29
- "watch": "vite build --watch",
30
- "test": "vitest",
31
- "v:publish": "npm publish --registry https://npm.sinequa.com",
32
- "v:unpublish": "npm unpublish --registry https://npm.sinequa.com --force"
33
- },
34
- "devDependencies": {
35
- "@types/node": "^20.11.0",
36
- "jsdom": "^26.0.0",
37
- "typescript": "^5.7.3",
38
- "vite": "^6.2.0",
39
- "vite-plugin-dts": "^4.5.0",
40
- "vitest": "^3.0.7"
41
- }
42
- }
1
+ {
2
+ "name": "@sinequa/atomic",
3
+ "private": false,
4
+ "version": "0.0.101",
5
+ "type": "module",
6
+ "main": "./dist/atomic.umd.cjs",
7
+ "module": "./dist/atomic.js",
8
+ "types": "./dist/index.d.ts",
9
+ "exports": {
10
+ ".": {
11
+ "import": "./dist/atomic.js",
12
+ "require": "./dist/atomic.umd.cjs"
13
+ }
14
+ },
15
+ "files": [
16
+ "dist"
17
+ ],
18
+ "scripts": {
19
+ "dev": "vite",
20
+ "build": "vite build && tsc",
21
+ "build:patch": "npm run build",
22
+ "build:minor": "npm run build",
23
+ "build:major": "npm run build",
24
+ "dev:pack": "npm run build && npm pack --pack-destination=package",
25
+ "prebuild:patch": "npm version patch",
26
+ "prebuild:minor": "npm version minor",
27
+ "prebuild:major": "npm version major",
28
+ "preview": "vite preview",
29
+ "watch": "vite build --watch",
30
+ "test": "vitest",
31
+ "v:publish": "npm publish --registry https://npm.sinequa.com",
32
+ "v:unpublish": "npm unpublish --registry https://npm.sinequa.com --force"
33
+ },
34
+ "devDependencies": {
35
+ "@types/node": "^20.11.0",
36
+ "jsdom": "^26.0.0",
37
+ "typescript": "^5.7.3",
38
+ "vite": "^6.2.0",
39
+ "vite-plugin-dts": "^4.5.0",
40
+ "vitest": "^3.0.7"
41
+ }
42
+ }