@sinequa/atomic 0.0.122 → 0.0.123
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/dist/atomic.js
CHANGED
|
@@ -135,20 +135,20 @@ function ot(e) {
|
|
|
135
135
|
}
|
|
136
136
|
function U(e, t, r) {
|
|
137
137
|
if (e < L.level) return;
|
|
138
|
-
const
|
|
138
|
+
const a = `${`[${E[e]}]`} ${t}`;
|
|
139
139
|
if (L.enableConsoleOutput)
|
|
140
140
|
switch (e) {
|
|
141
141
|
case 0:
|
|
142
|
-
console.debug(
|
|
142
|
+
console.debug(a, r || "");
|
|
143
143
|
break;
|
|
144
144
|
case 1:
|
|
145
|
-
console.info(
|
|
145
|
+
console.info(a, r || "");
|
|
146
146
|
break;
|
|
147
147
|
case 2:
|
|
148
|
-
console.warn(
|
|
148
|
+
console.warn(a, r || "");
|
|
149
149
|
break;
|
|
150
150
|
case 3:
|
|
151
|
-
console.error(
|
|
151
|
+
console.error(a, r || "");
|
|
152
152
|
break;
|
|
153
153
|
}
|
|
154
154
|
}
|
package/dist/atomic.umd.cjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(o,h){typeof exports=="object"&&typeof module<"u"?h(exports):typeof define=="function"&&define.amd?define(["exports"],h):(o=typeof globalThis<"u"?globalThis:o||self,h(o.atomic={}))})(this,function(o){"use strict";var rr=Object.defineProperty;var nr=(o,h,f)=>h in o?rr(o,h,{enumerable:!0,configurable:!0,writable:!0,value:f}):o[h]=f;var ye=(o,h,f)=>nr(o,typeof h!="symbol"?h+"":h,f);function h(e){const t=new CustomEvent("authenticated",{bubbles:!0,cancelable:!1,detail:{authenticated:e}});dispatchEvent(t)}const f={loginPath:"/login",createRoutes:!1};function w(e){Object.assign(f,e)}function pe(e,t,r){var s,l,c,i;if(!e||!t)return;if(r){const u=Object.keys(t.queries).find(J=>J===(r==null?void 0:r.toLowerCase()));let g;u&&(g=t.queries[u]);const H=(l=((s=g==null?void 0:g.columnsInfo)==null?void 0:s.columns)||[])==null?void 0:l.find(J=>{var Le,Oe;return(Oe=(Le=J.aliases)==null?void 0:Le.split(","))==null?void 0:Oe.includes(e)});if(H)return H.name}const n=(i=(c=t.indexes)==null?void 0:c._)==null?void 0:i.columns,a=Object.entries(n).find(u=>{var g;return(g=u[1].aliases)==null?void 0:g.includes(e)});if(a)return a[0]}function Ue(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 y(e){return e!==null&&typeof e=="object"}function W(e){return y(e)&&Object.prototype.toString.call(e)==="[object ArrayBuffer]"}function M(e){return y(e)&&Object.prototype.toString.call(e)==="[object Blob]"}function X(e){return typeof e=="string"}function $e(e){return(y(e)||Array.isArray(e))&&!W(e)&&!M(e)&&!X(e)}function Y(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 Ie(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 Ae(e){if(typeof crypto<"u"&&crypto.subtle&&typeof crypto.subtle.digest=="function")try{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("")).catch(()=>Promise.resolve(B(e)))}catch{return Promise.resolve(B(e))}return Promise.resolve(B(e))}function B(e){let n=2166136261;for(let g=0;g<e.length;g++)n^=e.charCodeAt(g),n=n*16777619>>>0;const a=n.toString(16).padStart(8,"0"),s=((n^2863311530)>>>0).toString(16).padStart(8,"0"),l=((n^1431655765)>>>0).toString(16).padStart(8,"0"),c=((n^3435973836)>>>0).toString(16).padStart(8,"0"),i=a+s+l+c;return(i+i+i+i).substring(0,128)}var k=(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||{}),K=(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))(K||{}),Z=(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))(Z||{});const De="1.0";var E=(e=>(e[e.Original=0]="Original",e[e.Corrected=1]="Corrected",e))(E||{}),T=(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))(T||{});class b extends Error{constructor(r,n){super(r);ye(this,"status");this.name="ApiError",this.status=n}}class Q extends b{constructor(t="Unauthorized access"){super(t,401),this.name="UnauthorizedError"}}class ee extends b{constructor(t="Server error"){super(t,500),this.name="ServerError"}}class te extends b{constructor(t="Request timed out"){super(t,408),this.name="TimeoutError"}}function Fe(e){const t=new AbortController,{signal:r}=t;return e&&setTimeout(()=>{r.aborted||t.abort(new te(`Request timed out after ${e}ms`))},e),{controller:t,signal:r}}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 $={level:1,enableConsoleOutput:!0};function Ne(e){$={...$,...e}}function I(e,t,r){if(e<$.level)return;const n=new Date().toISOString(),s=`${`[${q[e]}][${n}]`} ${t}`;if($.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){I(0,e,t)}function m(e,t){I(1,e,t)}function P(e,t){I(2,e,t)}function _(e,t){I(3,e,t)}async function Be(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 b&&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(l=>setTimeout(l,r)))}throw n}function L(e){const t=N(),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}=f;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 C(e,t="json"){const r=e.headers.get("sinequa-jwt-refresh");if(r!==null&&U(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(f.userOverrideActive)throw f.userOverrideActive=!1,P("Unauthorized access attempt with user override",{endpoint:e.url}),new Q("Unauthorized... User override failed.");await re(e,401)}throw e.status===500&&(_("Server error occurred",{endpoint:e.url}),await re(e,500)),P(`Unexpected response status: ${e.status}`,{endpoint:e.url}),new b(`Request failed with status ${e.status}`,e.status)}async function re(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 b(`Request failed with status ${t}`,t);const s=JSON.parse(new TextDecoder().decode(a));throw s.status=t,s}catch(n){throw n instanceof b?n:t===401?new Q:t===500?new ee:new b(`Request failed with status ${t}`,t)}}const ne=/.*\:\(?([><=\d\-\.AND ]+)\)?/;function Qe(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,l)=>{if(!l.value||l.value==="")return s;const c=ae(l,e.column);return s.push({operator:c.operator,value:c.value,display:l.display||c.display,filters:c.filters,disabled:l.count===0,hidden:l.count===0&&e.isDistribution?!t:!1}),s},[])}function ae(e,t){const r=t,n=e.value.match(ne);if(n!=null&&n[1]){const s=(n==null?void 0:n[1].split(" AND ")).map(l=>{const c=l.indexOf(">=")!==-1?"gte":"lt";let i=l.substring(l.indexOf(" ")+1);return{field:r,operator:c,value:i,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 qe(e,t,r){return e.valuesAreExpressions?t.display===r.display:t.value===r.value}function oe(e){return e.items&&(e.items=e.items.map(t=>oe(t))),e.items&&e.items.some(t=>t.$selected||t.$opened)&&(e.$opened=!0),e}function Ve(e,t){const r=[];if(e.length>0){const n=new Map,s=t.replace(/[.*+?^${}()|[\]\\]/g,"\\$&").normalize("NFD").replace(/[\u0300-\u036f]/g,""),l=new RegExp("\\b"+s,"i");e.forEach(c=>{if(c.display.length>1){const i=c.display.normalize("NFD").replace(/[\u0300-\u036f]/g,""),u=l.exec(i);se(r,n,"/",c.display,+(c.frequency||0),1,((u==null?void 0:u.index)||0)+t.length)}})}return r}function se(e,t,r,n,a,s,l){const c=n.indexOf("/",r.length),i=n.substring(0,c+1);let u=t.get(i);if(!u){const g=i.replace(/^\/|\/$/g,"");u={value:n.substring(r.length,c),count:a,items:[],hasChildren:!1,$level:s,$opened:l>=i.length,$path:g},t.set(i,u),e.push(u)}i.length<n.length&&(u.hasChildren=!0,se(u.items,t,i,n,a,s+1,l))}function je(e,t){return e.reduce((r,n)=>(t(n)?r.true.push(n):r.false.push(n),r),{true:[],false:[]})}const xe=/(([\+\-])?\(([^\)]+)\))|(([\+\-])?\[([^\]]+)\])|(([\+\-])?\"([^\"]+)\")|(([\+\-])?\/([^\/]+)\/)|(([\+\-])?(\S+))/g,Ge=2,ce=3,ze=5,ie=6,He=8,le=9,Je=11,ue=12,We=14,fe=15;function p(e){if(!e)return[];const t=[],r=e.matchAll(xe);for(let n of r)n[ce]?t.push({type:"group",value:n[ce],op:n[Ge]}):n[ie]?t.push({type:"adjacent",value:n[ie],op:n[ze]}):n[le]?t.push({type:"exact",value:n[le],op:n[He]}):n[ue]?t.push({type:"regex",value:n[ue],op:n[Je]}):n[fe]&&t.push({type:"token",value:n[fe],op:n[We]});return t}function A(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 Me(e,t,r){let n=p(e);for(let a of t)n.push({type:"adjacent",value:a,op:r});return A(n)}function Xe(e,t){const r=p(t),n=r.findIndex(a=>a.value===e);return n!==-1?(r.splice(n,1),t=A(r)):t}function Ye(e){const t=p(e).filter(r=>r.type!=="adjacent");return A(t)}function Ke(e){return p(e).filter(t=>t.type==="adjacent").map(t=>t.value)}function Ze(e,t,r){const n=new Intl.RelativeTimeFormat(e,{numeric:"auto"}),{offset:a,unit:s,isFuture:l}=de(t,r);return n.format(a*(l?1:-1),s)}function de(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 Ee(e){const t=e.target;return t&&t.nodeName!=="INPUT"&&t.nodeName!=="TEXTAREA"}function Te(e){if(e===void 0)return;const{q:t,f:r,p:n,s:a,t:s,n:l,b:c}=R(e),[i]=e.split("?");return{path:i,text:t,filters:r?V(r):void 0,page:n?parseInt(n,10):void 0,sort:a,tab:s,name:l,basket:c}}function et(e){if(!e)return"";const{text:t,filters:r,page:n,sort:a,tab:s,name:l,basket:c}=e,i={};t&&(i.q=t),r&&(i.f=JSON.stringify(r)),n&&(i.p=n.toString()),a&&(i.s=a),s&&(i.t=s),l&&(i.n=l),c&&(i.b=c);const u=new URLSearchParams(i).toString();return u||""}function tt(e){if(e===void 0)return[];const{f:t}=R(e);return V(t)}function V(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 rt(e){const{q:t=""}=R(e);return t}function nt(e){const{id:t}=R(e);return decodeURIComponent(t)}function at(e){const{p:t="0"}=R(e);return parseInt(t,10)}function ot(e){const{t}=R(e);return t}function st(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=j(e,r,!1);if(!s)return e;const l=t.charCodeAt(0),c=t.charCodeAt(1);let i=s;for(;i;)if(l===i.lang1&&c===i.lang2){const g=j(e,i.end+4,!0);return e.substring(g.start,g.end)}else i=j(e,i.end+4,!1);const u=e.substring(s.start,s.end);return u||e}function j(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 ct(e,t){const{useLocale:r,useLocaleAsPrefix:n,indexFile:a,path:s,folder:l}=t,c=r?`${e}/`:null,i=n?`${e}.${a}`:a??"";return[s,l,`${c||""}${i}`].filter(u=>u!==void 0).join("/")}function D(e){const t=new CustomEvent("notification",{bubbles:!0,cancelable:!1,detail:e});dispatchEvent(t)}const it={success:(e,t)=>{D({type:"success",message:e,options:t})},info:(e,t)=>{D({type:"info",message:e,options:t})},warning:(e,t)=>{D({type:"warning",message:e,options:t})},error:(e,t)=>{D({type:"error",message:e,options:t})}};async function d(e,t,r){const n=L(r==null?void 0:r.headers),{app:a,backendUrl:s}=f,l={app:a,...t,locale:t.locale||navigator.language,noUserOverride:!0,noAutoAuthentication:!0};e.startsWith("plugin")&&(e=`api/v1/${e}`);const c=s?`${s}/${e}`:`${e}`;v(`Making POST request to: ${c}`);try{const i=await fetch(c,{method:"POST",headers:n,credentials:"include",body:JSON.stringify(l),signal:r==null?void 0:r.signal});return C(i,r==null?void 0:r.responseType)}catch(i){throw _("Error making POST request:",i),i}}async function S(e,t,r){const n=L(r==null?void 0:r.headers),{backendUrl:a}=f,s=t?`?${new URLSearchParams(t)}`:"";e.startsWith("plugin")&&(e=`api/v1/${e}`);const l=a?`${a}/${e}${s}`:`${e}${s}`;v(`Making GET request to: ${l}`);try{const c=await fetch(l,{method:"GET",credentials:"include",headers:n,signal:r==null?void 0:r.signal});return C(c,r==null?void 0:r.responseType)}catch(c){throw _("Error making GET request:",c),c}}async function lt(e,t,r){const n=L(r==null?void 0:r.headers),{app:a,backendUrl:s}=f,l={app:a,...t,locale:t.locale||navigator.language,noUserOverride:!0,noAutoAuthentication:!0},c=`${s}/${e}`;v(`Making PUT request to: ${c}`);try{const i=await fetch(c,{method:"PUT",headers:n,credentials:"include",body:JSON.stringify(l)});return C(i,r==null?void 0:r.responseType)}catch(i){throw _("Error making PUT request:",i),i}}async function ut(e,t,r){const n=L(r==null?void 0:r.headers),{backendUrl:a}=f,s=t?`?${new URLSearchParams(t)}`:"",l=a?`${a}/${e}${s}`:`${e}${s}`;v(`Making DELETE request to: ${l}`);try{const c=await fetch(l,{method:"DELETE",credentials:"include",headers:n});return C(c,r==null?void 0:r.responseType)}catch(c){throw _("Error making DELETE request:",c),c}}async function ft(e,t,r){const n=L(r==null?void 0:r.headers),{app:a,backendUrl:s}=f,l={app:a,...t,locale:t.locale||navigator.language,noUserOverride:!0,noAutoAuthentication:!0},c=s?`${s}/${e}`:`${e}`;v(`Making PATCH request to: ${c}`);try{const i=await fetch(c,{method:"PATCH",headers:n,credentials:"include",body:JSON.stringify(l)});return C(i,r==null?void 0:r.responseType)}catch(i){throw _("Error making PATCH request:",i),i}}let x,he;function O(e,t=!0){let r=dt(e.$auditRecord);r&&(_e(r),t&&ge(r)),e.$auditRecord=r}function dt(e){if(!e)return;let t;if(Array.isArray(e))t=e;else if(y(e)){const r=e;if(r.auditEvents||r.mlAuditEvents)return r;t=[e]}return{auditEvents:t}}function _e(e){var r;const t=ht();return(r=e.auditEvents)==null||r.forEach(n=>{n.detail||(n.detail={}),n.detail.sessionid=t}),e}function ge(e){var r;const t=typeof window<"u"?decodeURIComponent(window.location.href):"http://localhost";return(r=e==null?void 0:e.auditEvents)==null||r.forEach(n=>{n.detail||(n.detail={}),n.detail.url=t}),e}function ht(){return(!x||_t())&&(x=Y()),he=new Date,x}function _t(){return new Date().getTime()-he.getTime()>10*60*1e3}async function gt(e,t=!0){const r={event:k.None,$auditRecord:e};return O(r,t),d("api/v1/audit.notify",r)}const mt={notify:gt};async function St(e,t,r){var g;const n=((g=e.items)==null?void 0:g.length)||0,a=10,s={query:{...t,action:"aggregate",aggregations:{[e.name]:{skip:n,count:a}}},$auditRecord:{auditEvents:[r]}};O(s);const l=await d("api/v1/query",s),c=await C(l),{aggregations:i}=c,u=i[0];return u.$hasMore=u.items.length>a,u.items=[...e.items,...u.items],Promise.resolve(u)}async function wt(){const{app:e}=f,t=new URLSearchParams({app:e||""});return S("api/v1/app",t)}async function me(){const{app:e}=f,t=new URLSearchParams({app:e||"",preLogin:"true"});return S("api/v1/app",t)}function kt(){let{backendUrl:e,app:t}=f;if(typeof window<"u"){if(e||(e=window.location.origin),!t){const r=window.location.pathname.match(/\/app(?:-debug)?\/([^/#]+)/);r&&(t=r[1])}w({...f,backendUrl:e,app:t})}return me().then(r=>{const{autoOAuthProvider:n,autoSAMLProvider:a}=f,s=!n&&!r.autoOAuthProvider&&!a&&!r.autoSAMLProvider;return w({...f,autoOAuthProvider:n||r.autoOAuthProvider,autoSAMLProvider:a||r.autoSAMLProvider,useCredentials:s,useSSO:s}),r}).catch(r=>{throw _("atomic:fetchAppPreLogin error",r),r})}async function bt(e,t,r={}){const n=`api/v1/search.dataset/${e}/${t}`,a=await d(n,{parameters:r}),s=t[0].toLowerCase()+t.slice(1),l=a.datasets[s];if("errorCode"in l&&"errorMessage"in l)throw new Error(l.errorMessage);return l}async function Ct(e,t){const r=`api/v1/search.dataset/${e}`,{parameters:n={},datasets:a=[]}=t;return(await d(r,{parameters:n,datasets:a})).datasets}async function vt(e){return await S(`api/v1/search.dataset/${e}`)}async function Rt(e,t=!0,r){try{return(await d("api/v1/labels",{action:"list",q:e,public:t,locale:r,localize:!1})).labels}catch(n){throw _("Error in fetchLabels",n),n}}async function Pt(){try{const{app:e=""}=f,t=new URLSearchParams({app:e,action:"getUserRights"});return S("api/v1/labels",t)}catch(e){throw _("Error in getUserRights",e),e}}async function Lt(e,t,r=!0){try{const n={action:"add",labels:e,ids:t,public:r,$auditRecord:{auditEvents:[{type:k.Label_AddDoc,detail:{public:r,label:e?e.toString():null,doccount:t?t.length:0}}],mlAuditEvents:[{actionType:"addToLabel",documentIds:t}]}};return d("api/v1/labels",n)}catch(n){throw _("Error in add",n),n}}async function Ot(e,t,r=!0){try{const n={action:"remove",labels:e,ids:t,public:r,$auditRecord:{auditEvents:[{type:k.Label_RemoveDoc,detail:{public:r,label:e?e.toString():null,doccount:t?t.length:0}}],mlAuditEvents:[{actionType:"removeFromLabel",documentIds:t}]}};return d("api/v1/labels",n)}catch(n){throw _("Error in remove",n),n}}async function yt(e,t,r=!0){try{const n={action:"rename",labels:e,newLabel:t,public:r,auditEvents:{type:k.Label_Rename,detail:{public:r,oldlabel:e?e.toString():null,label:t}}};return d("api/v1/labels",n)}catch(n){throw _("Error in rename",n),n}}async function pt(e,t=!0){try{const r={action:"delete",labels:e,public:t,auditEvents:{type:k.Label_Delete,detail:{public:t,label:e?e.toString():null}}};return d("api/v1/labels",r)}catch(r){throw _("Error in deleteLabels",r),r}}async function Ut(e,t,r=!0){try{const n={action:"bulkAdd",labels:e,query:t,public:r,auditEvents:{type:k.Label_Add,detail:{public:r,label:e?e.toString():null,query:t!==null?t.name:null}}};return d("api/v1/labels",n)}catch(n){throw _("Error in bulkAdd",n),n}}async function $t(e,t,r=!0){try{const n={action:"bulkRemove",labels:e,query:t,public:r,auditEvents:{type:k.Label_Delete,detail:{public:r,label:e?e.toString():null,query:t!==null?t.name:null}}};return d("api/v1/labels",n)}catch(n){throw _("Error in bulkRemove",n),n}}const It={getUserRights:Pt,add:Lt,remove:Ot,rename:yt,delete:pt,bulkAdd:Ut,bulkRemove:$t};async function At(e,t){if(typeof window>"u")return d("api/v1/preview",{action:"get",id:e,query: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("api/v1/preview",{action:"get",id:e,query:n,browserUrl:r})}async function Dt(e){const t=new Headers;t.append("content-type","text");const r=await fetch(e,{method:"GET",headers:t});C(r)}async function Se(){const e=new URLSearchParams({action:"get",noAutoAuthentication:"true"});return S("api/v1/principal",e)}const we=11;async function Ft(e,t,r){var l;const a=await d("api/v1/query",{query:e,$auditRecord:t,queryIntentData:r});a.aggregations.forEach(c=>{c.$hasMore=!1,!c.isDistribution&&!c.isTree&&c.items&&(c.$hasMore=c.items.length===we),c.isTree&&c.items&&F(c)}),(l=a.records)==null||l.map(c=>Object.assign(c,{value:c.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 Nt(e,t,r){const{app:n=""}=f,a={methods:[],mode:t,propagateErrors:!0,$auditRecord:{auditEvents:[r]}};for(const c of e)a.methods.push({method:"query",app:n,query:c});const s=await d("api/v1/multi",a);s.results.forEach(c=>{c.aggregations.forEach(i=>{i.$hasMore=!1,!i.isDistribution&&!i.isTree&&i.items&&(i.$hasMore=i.items.length===we),i.isTree&&F(i)})}),s.results.forEach(c=>{var i;return(i=c.records)==null?void 0:i.map(u=>Object.assign(u,{value:u.title,type:"default"}))});const l=s.results.map(c=>({...c,nextPage:c.page<Math.ceil(c.rowCount/c.pageSize)?c.page+1:void 0,previousPage:c.page>1?c.page-1:void 0}));return Promise.resolve(l)}function F(e,t="",r=0){let n=[];return e.items&&e.items.forEach(a=>{let s=t?`${t}/${a.value}`:a.value,l=r+1;n.push({path:s,level:l}),a.$path=s,a.$level=l,a.hasChildren?n=n.concat(F(a,s,l)):a.hasChildren=!1}),n}async function Bt(e){const r=await d("api/v1/queryintent",{query:e});return r==null?void 0:r.intents}async function Qt({model:e,appName:t,query:r,article:n}){const{webservice:a,format:s,maxcount:l,exportedColumns:c,export:i}=e,u={app:t,webservice:a,query:r,type:i,format:s,maxcount:l,exportedColumns:c,$auditRecord:{auditEvents:[{type:"Search_ExportCSV",detail:{resultid:n?n.id:void 0}}]}};return O(u),await d("api/v1/search.queryexport",u,{responseType:"blob"})}async function qt(e,t,r){return(await d("api/v1/similardocuments",{sourceDocumentId:e,query:{name:t}},{signal:r})).data}async function Vt(e,t){var a;const n=await d("api/v1/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 jt(e,t,r,n,a){const{app:s}=f,l={app:s||"",suggestQuery:e,text:t,filter:r,kinds:n,showSource:a};try{return(await d("api/v1/search.suggest",l)).suggests}catch(c){throw console.error("Error fetching suggestions:",c),c}}async function xt(e,t,r,n){const{app:a}=f;return(await d("api/v1/suggestquery",{app:a||"",suggestQuery:e,text:t,query:r,kinds:n})).suggests}async function Gt(e,t){if(!t)return Promise.resolve([]);const{app:r}=f;return(await d("api/v1/suggestfield",{app:r||"",text:e,action:"suggests",fields:t})).suggests}async function zt(e,t,r,n,a,s){return d("api/v1/doc.textchunks",{id:e,textChunks:t,highlights:r,query:n,leftSentencesCount:a,rightSentencesCount:s})}async function Ht(){const{app:e}=f,t=new URLSearchParams({app:e||"",action:"load"});return S("api/v1/usersettings",t)}async function ke(e,t){const r={action:"save",userSettings:e,$auditRecord:{auditEvents:[t]}};return O(r),d("api/v1/usersettings",r)}async function Jt(e,t){const n={action:"patch",userSettings:e,$auditRecord:t?{auditEvents:[t]}:void 0};return O(n),d("api/v1/usersettings",n)}async function Wt(){return ke({},{type:"UserSettings_Reset"})}async function Mt(){return await S("api/v2/version")}const be=async()=>{const{autoOAuthProvider:e}=f;if(typeof window>"u")return d("security.oauth",{action:"getcode",provider:e,tokenInCookie:!0,originalUrl:"http://localhost"});const t={action:"getcode",provider:e,tokenInCookie:!0,originalUrl:window.location.href};try{const r=await d("api/v1/security.oauth",t);return r.redirectUrl&&(window.location.href=r.redirectUrl),r}catch(r){throw console.error("Failed to authenticate with OAuth",r),r}},Ce=async()=>{const{autoSAMLProvider:e}=f;if(typeof window>"u")return d("security.saml",{action:"getresponse",provider:e,tokenInCookie:!0,originalUrl:"http://localhost"});const t={action:"getresponse",provider:e,tokenInCookie:!0,originalUrl:window.location.href};try{const r=await d("api/v1/security.saml",t);return r.redirectUrl&&(window.location.href=r.redirectUrl),r}catch(r){throw console.error("Failed to authenticate with SAML",r),r}},G={store:{},getItem(e){return this.store[e]??null},setItem(e,t){this.store[e]=t.toString()},removeItem(e){delete this.store[e]},clear(){this.store={}}},z=G;function Xt(e){return typeof window>"u"||!window.localStorage?G.getItem(e):window.localStorage.getItem(e)}function Yt(e){typeof window>"u"||!window.localStorage?G.removeItem(e):window.localStorage.removeItem(e)}function Kt(e){return typeof window>"u"||!window.sessionStorage?z.getItem(e):window.sessionStorage.getItem(e)}function Zt(e,t){typeof window>"u"||!window.sessionStorage?z.setItem(e,t):window.sessionStorage.setItem(e,t)}function Et(e){typeof window>"u"||!window.sessionStorage?z.removeItem(e):window.sessionStorage.removeItem(e)}const U=e=>Zt("sinequa-credentials",JSON.stringify({data:{csrfToken:e}})),ve=async()=>{try{const e=await S("api/v1/challenge?action=getCsrfToken&suppressErrors=true");return e!=null&&e.csrfToken?(U(e.csrfToken),e.csrfToken):null}catch(e){throw _("Failed to get CSRF token",e),e}};async function Re(e){if(e){const{username:t,password:r}=e,n={action:"get",tokenInCookie:!0,user:t,password:r,noUserOverride:!0,noAutoAuthentication:!0};try{const a=await d("api/v1/security.webtoken",n);return a!=null&&a.csrfToken?(U(a.csrfToken),a.csrfToken):null}catch(a){throw console.error("Failed to get JWT",a),a}}else{const t={action:"get",tokenInCookie:!0,noUserOverride:!0,noAutoAuthentication:!1},{bearerToken:r}=f;if(!r)throw new Error("Bearer token is required in globalConfig for credentialless JWT retrieval.");const n=new Headers;n.append("Sinequa-Force-Camel-Case","true"),n.append("accept","application/json"),n.append("Content-Type","application/json"),n.append("Authorization",`Bearer ${r}`);try{const a=await d("api/v1/security.webtoken",t,{headers:n});return a.csrfToken?(U(a.csrfToken),a.csrfToken):null}catch(a){throw console.error("Failed to get JWT without credentials",a),a}}}const N=()=>{var r;const e=Kt("sinequa-credentials");if(e)try{const a=(r=JSON.parse(e).data)==null?void 0:r.csrfToken;if(a!==void 0)return a}catch{}const t=Xt("csrfToken");return t!==null?t:null},Tt=async e=>{if(e)m("Attempting authentication using credentials"),w({useCredentials:!0,useSSO:!1});else{let c=null;try{m("Attempting to retrieve CSRF token from the backend"),c=await ve(),v("CSRF token retrieval result",c?"success":"failed")}catch(i){_("Failed to retrieve CSRF token",i)}try{if(c===null){const{autoOAuthProvider:i,autoSAMLProvider:u,useSAML:g}=f;if(i&&!g)return m("Initiating OAuth authentication flow"),await be(),P("OAuth authentication flow did not redirect as expected"),h(!1),!1;if(u)return m("Initiating SAML authentication flow"),await Ce(),P("SAML authentication flow did not redirect as expected"),h(!1),!1;m("No direct authentication method available, will try SSO then credentials"),w({useCredentials:!0,useSSO:!0})}else return m("User authenticated via existing token"),h(!0),!0}catch(i){throw _("Unexpected error during authentication",i),h(!1),i}}if(f.useCredentials&&f.useSSO)try{if(m("Checking if user is authenticated via SSO"),await Se())return m("User authenticated using SSO"),w({useCredentials:!1,useSSO:!0}),h(!0),!0}catch(c){if((c==null?void 0:c.status)===401)return m("SSO authentication failed with 401, falling back to credentials"),w({useCredentials:!0,useSSO:!1}),!1;throw _("SSO authentication failed with unexpected error",c),h(!1),_}const{useSSO:r}=f,n=N();if(n&&n!==null||r)return m("user already authenticated",n),w({isRedirectUrl:!1}),h(!0),!0;const{useCredentials:a}=f,{username:s,password:l}=e||{};if(a&&!s&&!l)return _("Credentials are required for authentication"),h(!1),!1;if(s&&l)try{return m("authentication using credentials..."),w({useCredentials:!0,useSSO:!1}),await Re({username:s,password:l}),h(!0),!0}catch(c){throw h(!1),c}return h(!1),_("No authentication method available. Please provide credentials or configure OAuth/SAML."),!1},Pe=async()=>{const e=new URLSearchParams({action:"deleteWebTokenCookie",noUserOverride:"true",noAutoAuthentication:"true"});return S("api/v1/challenge",e)},er=async()=>{const{useCredentials:e,userOverrideActive:t}=f;Yt("csrfToken"),Et("sinequa-credentials"),e&&!t?(await Pe()).methodresult==="ok"?h(!1):console.error("logout failed"):h(!1)},tr=()=>!!N();o.ApiError=b,o.Audit=mt,o.AuditEventType=k,o.DidYouMeanKind=E,o.EngineType=K,o.EngineTypeModifier=Z,o.LogLevel=q,o.MINIMUM_COMPATIBLE_SERVER_API_VERSION=De,o.RFMDisplay=T,o.ServerError=ee,o.TimeoutError=te,o.UnauthorizedError=Q,o.addAuditAdditionalInfo=O,o.addConcepts=Me,o.addSessionId=_e,o.addUrl=ge,o.aggItemRegex=ne,o.aggregationItemStrictCompare=qe,o.appInitializerFn=kt,o.bisect=je,o.buildPathsAndLevels=F,o.configureLogger=Ne,o.createHeaders=L,o.createTimeoutController=Fe,o.debug=v,o.del=ut,o.deleteUserSettings=Wt,o.deleteWebTokenCookie=Pe,o.emitAuthenticatedEvent=h,o.error=_,o.escapeExpr=Ie,o.fetchAggregation=St,o.fetchApp=wt,o.fetchAppPreLogin=me,o.fetchBulkQuery=Nt,o.fetchDataset=bt,o.fetchDatasetList=vt,o.fetchDatasets=Ct,o.fetchLabels=Rt,o.fetchPreview=At,o.fetchPreviewUrl=Dt,o.fetchPrincipal=Se,o.fetchQuery=Ft,o.fetchQueryExport=Qt,o.fetchQueryIntent=Bt,o.fetchSimilarDocuments=qt,o.fetchSponsoredLinks=Vt,o.fetchSuggest=jt,o.fetchSuggestField=Gt,o.fetchSuggestQuery=xt,o.fetchTextChunks=zt,o.fetchUserSettings=Ht,o.fetchVersion=Mt,o.get=S,o.getConcepts=Ke,o.getCsrfToken=ve,o.getFiltersFromURI=V,o.getFiltersFromUrl=tt,o.getHelpIndexUrl=ct,o.getIdFromUrl=nt,o.getJWToken=Re,o.getMetadata=Ue,o.getOffsetFromDates=de,o.getQueryPageFromUrl=at,o.getQueryParamsFromUrl=Te,o.getQueryTabFromUrl=ot,o.getQueryTextFromUrl=rt,o.getRelativeDate=Ze,o.getToken=N,o.getUrlParamsFromQueryParams=et,o.globalConfig=f,o.guid=Y,o.handleResponse=C,o.info=m,o.isArrayBuffer=W,o.isAuthenticated=tr,o.isBlob=M,o.isJsonable=$e,o.isNotInputEvent=Ee,o.isObject=y,o.isString=X,o.labels=It,o.login=Tt,o.logout=er,o.notify=it,o.openParentNodes=oe,o.parseText=p,o.parseValueAndOperatorFromItem=ae,o.patch=ft,o.patchUserSettings=Jt,o.post=d,o.put=lt,o.queryParamsFromUrl=R,o.removeConcept=Xe,o.removeConcepts=Ye,o.resolveToColumnName=pe,o.rewriteText=A,o.saveUserSettings=ke,o.setGlobalConfig=w,o.setToken=U,o.sha512=Ae,o.suggestionsToTreeAggregationNodes=Ve,o.sysLang=st,o.translateAggregationToDateOptions=Qe,o.tryOAuthAuthentication=be,o.trySAMLAuthentication=Ce,o.warn=P,o.withRetry=Be,Object.defineProperty(o,Symbol.toStringTag,{value:"Module"})});
|
|
1
|
+
(function(o,h){typeof exports=="object"&&typeof module<"u"?h(exports):typeof define=="function"&&define.amd?define(["exports"],h):(o=typeof globalThis<"u"?globalThis:o||self,h(o.atomic={}))})(this,function(o){"use strict";var rr=Object.defineProperty;var nr=(o,h,f)=>h in o?rr(o,h,{enumerable:!0,configurable:!0,writable:!0,value:f}):o[h]=f;var ye=(o,h,f)=>nr(o,typeof h!="symbol"?h+"":h,f);function h(e){const t=new CustomEvent("authenticated",{bubbles:!0,cancelable:!1,detail:{authenticated:e}});dispatchEvent(t)}const f={loginPath:"/login",createRoutes:!1};function w(e){Object.assign(f,e)}function pe(e,t,r){var s,l,c,i;if(!e||!t)return;if(r){const u=Object.keys(t.queries).find(J=>J===(r==null?void 0:r.toLowerCase()));let g;u&&(g=t.queries[u]);const H=(l=((s=g==null?void 0:g.columnsInfo)==null?void 0:s.columns)||[])==null?void 0:l.find(J=>{var Le,Oe;return(Oe=(Le=J.aliases)==null?void 0:Le.split(","))==null?void 0:Oe.includes(e)});if(H)return H.name}const n=(i=(c=t.indexes)==null?void 0:c._)==null?void 0:i.columns,a=Object.entries(n).find(u=>{var g;return(g=u[1].aliases)==null?void 0:g.includes(e)});if(a)return a[0]}function Ue(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 y(e){return e!==null&&typeof e=="object"}function W(e){return y(e)&&Object.prototype.toString.call(e)==="[object ArrayBuffer]"}function M(e){return y(e)&&Object.prototype.toString.call(e)==="[object Blob]"}function X(e){return typeof e=="string"}function $e(e){return(y(e)||Array.isArray(e))&&!W(e)&&!M(e)&&!X(e)}function Y(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 Ie(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 Ae(e){if(typeof crypto<"u"&&crypto.subtle&&typeof crypto.subtle.digest=="function")try{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("")).catch(()=>Promise.resolve(B(e)))}catch{return Promise.resolve(B(e))}return Promise.resolve(B(e))}function B(e){let n=2166136261;for(let g=0;g<e.length;g++)n^=e.charCodeAt(g),n=n*16777619>>>0;const a=n.toString(16).padStart(8,"0"),s=((n^2863311530)>>>0).toString(16).padStart(8,"0"),l=((n^1431655765)>>>0).toString(16).padStart(8,"0"),c=((n^3435973836)>>>0).toString(16).padStart(8,"0"),i=a+s+l+c;return(i+i+i+i).substring(0,128)}var k=(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||{}),K=(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))(K||{}),Z=(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))(Z||{});const De="1.0";var E=(e=>(e[e.Original=0]="Original",e[e.Corrected=1]="Corrected",e))(E||{}),T=(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))(T||{});class b extends Error{constructor(r,n){super(r);ye(this,"status");this.name="ApiError",this.status=n}}class Q extends b{constructor(t="Unauthorized access"){super(t,401),this.name="UnauthorizedError"}}class ee extends b{constructor(t="Server error"){super(t,500),this.name="ServerError"}}class te extends b{constructor(t="Request timed out"){super(t,408),this.name="TimeoutError"}}function Fe(e){const t=new AbortController,{signal:r}=t;return e&&setTimeout(()=>{r.aborted||t.abort(new te(`Request timed out after ${e}ms`))},e),{controller:t,signal:r}}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 $={level:1,enableConsoleOutput:!0};function Ne(e){$={...$,...e}}function I(e,t,r){if(e<$.level)return;const a=`${`[${q[e]}]`} ${t}`;if($.enableConsoleOutput)switch(e){case 0:console.debug(a,r||"");break;case 1:console.info(a,r||"");break;case 2:console.warn(a,r||"");break;case 3:console.error(a,r||"");break}}function v(e,t){I(0,e,t)}function m(e,t){I(1,e,t)}function P(e,t){I(2,e,t)}function _(e,t){I(3,e,t)}async function Be(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 b&&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(l=>setTimeout(l,r)))}throw n}function L(e){const t=N(),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}=f;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 C(e,t="json"){const r=e.headers.get("sinequa-jwt-refresh");if(r!==null&&U(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(f.userOverrideActive)throw f.userOverrideActive=!1,P("Unauthorized access attempt with user override",{endpoint:e.url}),new Q("Unauthorized... User override failed.");await re(e,401)}throw e.status===500&&(_("Server error occurred",{endpoint:e.url}),await re(e,500)),P(`Unexpected response status: ${e.status}`,{endpoint:e.url}),new b(`Request failed with status ${e.status}`,e.status)}async function re(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 b(`Request failed with status ${t}`,t);const s=JSON.parse(new TextDecoder().decode(a));throw s.status=t,s}catch(n){throw n instanceof b?n:t===401?new Q:t===500?new ee:new b(`Request failed with status ${t}`,t)}}const ne=/.*\:\(?([><=\d\-\.AND ]+)\)?/;function Qe(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,l)=>{if(!l.value||l.value==="")return s;const c=ae(l,e.column);return s.push({operator:c.operator,value:c.value,display:l.display||c.display,filters:c.filters,disabled:l.count===0,hidden:l.count===0&&e.isDistribution?!t:!1}),s},[])}function ae(e,t){const r=t,n=e.value.match(ne);if(n!=null&&n[1]){const s=(n==null?void 0:n[1].split(" AND ")).map(l=>{const c=l.indexOf(">=")!==-1?"gte":"lt";let i=l.substring(l.indexOf(" ")+1);return{field:r,operator:c,value:i,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 qe(e,t,r){return e.valuesAreExpressions?t.display===r.display:t.value===r.value}function oe(e){return e.items&&(e.items=e.items.map(t=>oe(t))),e.items&&e.items.some(t=>t.$selected||t.$opened)&&(e.$opened=!0),e}function Ve(e,t){const r=[];if(e.length>0){const n=new Map,s=t.replace(/[.*+?^${}()|[\]\\]/g,"\\$&").normalize("NFD").replace(/[\u0300-\u036f]/g,""),l=new RegExp("\\b"+s,"i");e.forEach(c=>{if(c.display.length>1){const i=c.display.normalize("NFD").replace(/[\u0300-\u036f]/g,""),u=l.exec(i);se(r,n,"/",c.display,+(c.frequency||0),1,((u==null?void 0:u.index)||0)+t.length)}})}return r}function se(e,t,r,n,a,s,l){const c=n.indexOf("/",r.length),i=n.substring(0,c+1);let u=t.get(i);if(!u){const g=i.replace(/^\/|\/$/g,"");u={value:n.substring(r.length,c),count:a,items:[],hasChildren:!1,$level:s,$opened:l>=i.length,$path:g},t.set(i,u),e.push(u)}i.length<n.length&&(u.hasChildren=!0,se(u.items,t,i,n,a,s+1,l))}function je(e,t){return e.reduce((r,n)=>(t(n)?r.true.push(n):r.false.push(n),r),{true:[],false:[]})}const xe=/(([\+\-])?\(([^\)]+)\))|(([\+\-])?\[([^\]]+)\])|(([\+\-])?\"([^\"]+)\")|(([\+\-])?\/([^\/]+)\/)|(([\+\-])?(\S+))/g,Ge=2,ce=3,ze=5,ie=6,He=8,le=9,Je=11,ue=12,We=14,fe=15;function p(e){if(!e)return[];const t=[],r=e.matchAll(xe);for(let n of r)n[ce]?t.push({type:"group",value:n[ce],op:n[Ge]}):n[ie]?t.push({type:"adjacent",value:n[ie],op:n[ze]}):n[le]?t.push({type:"exact",value:n[le],op:n[He]}):n[ue]?t.push({type:"regex",value:n[ue],op:n[Je]}):n[fe]&&t.push({type:"token",value:n[fe],op:n[We]});return t}function A(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 Me(e,t,r){let n=p(e);for(let a of t)n.push({type:"adjacent",value:a,op:r});return A(n)}function Xe(e,t){const r=p(t),n=r.findIndex(a=>a.value===e);return n!==-1?(r.splice(n,1),t=A(r)):t}function Ye(e){const t=p(e).filter(r=>r.type!=="adjacent");return A(t)}function Ke(e){return p(e).filter(t=>t.type==="adjacent").map(t=>t.value)}function Ze(e,t,r){const n=new Intl.RelativeTimeFormat(e,{numeric:"auto"}),{offset:a,unit:s,isFuture:l}=de(t,r);return n.format(a*(l?1:-1),s)}function de(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 Ee(e){const t=e.target;return t&&t.nodeName!=="INPUT"&&t.nodeName!=="TEXTAREA"}function Te(e){if(e===void 0)return;const{q:t,f:r,p:n,s:a,t:s,n:l,b:c}=R(e),[i]=e.split("?");return{path:i,text:t,filters:r?V(r):void 0,page:n?parseInt(n,10):void 0,sort:a,tab:s,name:l,basket:c}}function et(e){if(!e)return"";const{text:t,filters:r,page:n,sort:a,tab:s,name:l,basket:c}=e,i={};t&&(i.q=t),r&&(i.f=JSON.stringify(r)),n&&(i.p=n.toString()),a&&(i.s=a),s&&(i.t=s),l&&(i.n=l),c&&(i.b=c);const u=new URLSearchParams(i).toString();return u||""}function tt(e){if(e===void 0)return[];const{f:t}=R(e);return V(t)}function V(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 rt(e){const{q:t=""}=R(e);return t}function nt(e){const{id:t}=R(e);return decodeURIComponent(t)}function at(e){const{p:t="0"}=R(e);return parseInt(t,10)}function ot(e){const{t}=R(e);return t}function st(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=j(e,r,!1);if(!s)return e;const l=t.charCodeAt(0),c=t.charCodeAt(1);let i=s;for(;i;)if(l===i.lang1&&c===i.lang2){const g=j(e,i.end+4,!0);return e.substring(g.start,g.end)}else i=j(e,i.end+4,!1);const u=e.substring(s.start,s.end);return u||e}function j(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 ct(e,t){const{useLocale:r,useLocaleAsPrefix:n,indexFile:a,path:s,folder:l}=t,c=r?`${e}/`:null,i=n?`${e}.${a}`:a??"";return[s,l,`${c||""}${i}`].filter(u=>u!==void 0).join("/")}function D(e){const t=new CustomEvent("notification",{bubbles:!0,cancelable:!1,detail:e});dispatchEvent(t)}const it={success:(e,t)=>{D({type:"success",message:e,options:t})},info:(e,t)=>{D({type:"info",message:e,options:t})},warning:(e,t)=>{D({type:"warning",message:e,options:t})},error:(e,t)=>{D({type:"error",message:e,options:t})}};async function d(e,t,r){const n=L(r==null?void 0:r.headers),{app:a,backendUrl:s}=f,l={app:a,...t,locale:t.locale||navigator.language,noUserOverride:!0,noAutoAuthentication:!0};e.startsWith("plugin")&&(e=`api/v1/${e}`);const c=s?`${s}/${e}`:`${e}`;v(`Making POST request to: ${c}`);try{const i=await fetch(c,{method:"POST",headers:n,credentials:"include",body:JSON.stringify(l),signal:r==null?void 0:r.signal});return C(i,r==null?void 0:r.responseType)}catch(i){throw _("Error making POST request:",i),i}}async function S(e,t,r){const n=L(r==null?void 0:r.headers),{backendUrl:a}=f,s=t?`?${new URLSearchParams(t)}`:"";e.startsWith("plugin")&&(e=`api/v1/${e}`);const l=a?`${a}/${e}${s}`:`${e}${s}`;v(`Making GET request to: ${l}`);try{const c=await fetch(l,{method:"GET",credentials:"include",headers:n,signal:r==null?void 0:r.signal});return C(c,r==null?void 0:r.responseType)}catch(c){throw _("Error making GET request:",c),c}}async function lt(e,t,r){const n=L(r==null?void 0:r.headers),{app:a,backendUrl:s}=f,l={app:a,...t,locale:t.locale||navigator.language,noUserOverride:!0,noAutoAuthentication:!0},c=`${s}/${e}`;v(`Making PUT request to: ${c}`);try{const i=await fetch(c,{method:"PUT",headers:n,credentials:"include",body:JSON.stringify(l)});return C(i,r==null?void 0:r.responseType)}catch(i){throw _("Error making PUT request:",i),i}}async function ut(e,t,r){const n=L(r==null?void 0:r.headers),{backendUrl:a}=f,s=t?`?${new URLSearchParams(t)}`:"",l=a?`${a}/${e}${s}`:`${e}${s}`;v(`Making DELETE request to: ${l}`);try{const c=await fetch(l,{method:"DELETE",credentials:"include",headers:n});return C(c,r==null?void 0:r.responseType)}catch(c){throw _("Error making DELETE request:",c),c}}async function ft(e,t,r){const n=L(r==null?void 0:r.headers),{app:a,backendUrl:s}=f,l={app:a,...t,locale:t.locale||navigator.language,noUserOverride:!0,noAutoAuthentication:!0},c=s?`${s}/${e}`:`${e}`;v(`Making PATCH request to: ${c}`);try{const i=await fetch(c,{method:"PATCH",headers:n,credentials:"include",body:JSON.stringify(l)});return C(i,r==null?void 0:r.responseType)}catch(i){throw _("Error making PATCH request:",i),i}}let x,he;function O(e,t=!0){let r=dt(e.$auditRecord);r&&(_e(r),t&&ge(r)),e.$auditRecord=r}function dt(e){if(!e)return;let t;if(Array.isArray(e))t=e;else if(y(e)){const r=e;if(r.auditEvents||r.mlAuditEvents)return r;t=[e]}return{auditEvents:t}}function _e(e){var r;const t=ht();return(r=e.auditEvents)==null||r.forEach(n=>{n.detail||(n.detail={}),n.detail.sessionid=t}),e}function ge(e){var r;const t=typeof window<"u"?decodeURIComponent(window.location.href):"http://localhost";return(r=e==null?void 0:e.auditEvents)==null||r.forEach(n=>{n.detail||(n.detail={}),n.detail.url=t}),e}function ht(){return(!x||_t())&&(x=Y()),he=new Date,x}function _t(){return new Date().getTime()-he.getTime()>10*60*1e3}async function gt(e,t=!0){const r={event:k.None,$auditRecord:e};return O(r,t),d("api/v1/audit.notify",r)}const mt={notify:gt};async function St(e,t,r){var g;const n=((g=e.items)==null?void 0:g.length)||0,a=10,s={query:{...t,action:"aggregate",aggregations:{[e.name]:{skip:n,count:a}}},$auditRecord:{auditEvents:[r]}};O(s);const l=await d("api/v1/query",s),c=await C(l),{aggregations:i}=c,u=i[0];return u.$hasMore=u.items.length>a,u.items=[...e.items,...u.items],Promise.resolve(u)}async function wt(){const{app:e}=f,t=new URLSearchParams({app:e||""});return S("api/v1/app",t)}async function me(){const{app:e}=f,t=new URLSearchParams({app:e||"",preLogin:"true"});return S("api/v1/app",t)}function kt(){let{backendUrl:e,app:t}=f;if(typeof window<"u"){if(e||(e=window.location.origin),!t){const r=window.location.pathname.match(/\/app(?:-debug)?\/([^/#]+)/);r&&(t=r[1])}w({...f,backendUrl:e,app:t})}return me().then(r=>{const{autoOAuthProvider:n,autoSAMLProvider:a}=f,s=!n&&!r.autoOAuthProvider&&!a&&!r.autoSAMLProvider;return w({...f,autoOAuthProvider:n||r.autoOAuthProvider,autoSAMLProvider:a||r.autoSAMLProvider,useCredentials:s,useSSO:s}),r}).catch(r=>{throw _("atomic:fetchAppPreLogin error",r),r})}async function bt(e,t,r={}){const n=`api/v1/search.dataset/${e}/${t}`,a=await d(n,{parameters:r}),s=t[0].toLowerCase()+t.slice(1),l=a.datasets[s];if("errorCode"in l&&"errorMessage"in l)throw new Error(l.errorMessage);return l}async function Ct(e,t){const r=`api/v1/search.dataset/${e}`,{parameters:n={},datasets:a=[]}=t;return(await d(r,{parameters:n,datasets:a})).datasets}async function vt(e){return await S(`api/v1/search.dataset/${e}`)}async function Rt(e,t=!0,r){try{return(await d("api/v1/labels",{action:"list",q:e,public:t,locale:r,localize:!1})).labels}catch(n){throw _("Error in fetchLabels",n),n}}async function Pt(){try{const{app:e=""}=f,t=new URLSearchParams({app:e,action:"getUserRights"});return S("api/v1/labels",t)}catch(e){throw _("Error in getUserRights",e),e}}async function Lt(e,t,r=!0){try{const n={action:"add",labels:e,ids:t,public:r,$auditRecord:{auditEvents:[{type:k.Label_AddDoc,detail:{public:r,label:e?e.toString():null,doccount:t?t.length:0}}],mlAuditEvents:[{actionType:"addToLabel",documentIds:t}]}};return d("api/v1/labels",n)}catch(n){throw _("Error in add",n),n}}async function Ot(e,t,r=!0){try{const n={action:"remove",labels:e,ids:t,public:r,$auditRecord:{auditEvents:[{type:k.Label_RemoveDoc,detail:{public:r,label:e?e.toString():null,doccount:t?t.length:0}}],mlAuditEvents:[{actionType:"removeFromLabel",documentIds:t}]}};return d("api/v1/labels",n)}catch(n){throw _("Error in remove",n),n}}async function yt(e,t,r=!0){try{const n={action:"rename",labels:e,newLabel:t,public:r,auditEvents:{type:k.Label_Rename,detail:{public:r,oldlabel:e?e.toString():null,label:t}}};return d("api/v1/labels",n)}catch(n){throw _("Error in rename",n),n}}async function pt(e,t=!0){try{const r={action:"delete",labels:e,public:t,auditEvents:{type:k.Label_Delete,detail:{public:t,label:e?e.toString():null}}};return d("api/v1/labels",r)}catch(r){throw _("Error in deleteLabels",r),r}}async function Ut(e,t,r=!0){try{const n={action:"bulkAdd",labels:e,query:t,public:r,auditEvents:{type:k.Label_Add,detail:{public:r,label:e?e.toString():null,query:t!==null?t.name:null}}};return d("api/v1/labels",n)}catch(n){throw _("Error in bulkAdd",n),n}}async function $t(e,t,r=!0){try{const n={action:"bulkRemove",labels:e,query:t,public:r,auditEvents:{type:k.Label_Delete,detail:{public:r,label:e?e.toString():null,query:t!==null?t.name:null}}};return d("api/v1/labels",n)}catch(n){throw _("Error in bulkRemove",n),n}}const It={getUserRights:Pt,add:Lt,remove:Ot,rename:yt,delete:pt,bulkAdd:Ut,bulkRemove:$t};async function At(e,t){if(typeof window>"u")return d("api/v1/preview",{action:"get",id:e,query: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("api/v1/preview",{action:"get",id:e,query:n,browserUrl:r})}async function Dt(e){const t=new Headers;t.append("content-type","text");const r=await fetch(e,{method:"GET",headers:t});C(r)}async function Se(){const e=new URLSearchParams({action:"get",noAutoAuthentication:"true"});return S("api/v1/principal",e)}const we=11;async function Ft(e,t,r){var l;const a=await d("api/v1/query",{query:e,$auditRecord:t,queryIntentData:r});a.aggregations.forEach(c=>{c.$hasMore=!1,!c.isDistribution&&!c.isTree&&c.items&&(c.$hasMore=c.items.length===we),c.isTree&&c.items&&F(c)}),(l=a.records)==null||l.map(c=>Object.assign(c,{value:c.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 Nt(e,t,r){const{app:n=""}=f,a={methods:[],mode:t,propagateErrors:!0,$auditRecord:{auditEvents:[r]}};for(const c of e)a.methods.push({method:"query",app:n,query:c});const s=await d("api/v1/multi",a);s.results.forEach(c=>{c.aggregations.forEach(i=>{i.$hasMore=!1,!i.isDistribution&&!i.isTree&&i.items&&(i.$hasMore=i.items.length===we),i.isTree&&F(i)})}),s.results.forEach(c=>{var i;return(i=c.records)==null?void 0:i.map(u=>Object.assign(u,{value:u.title,type:"default"}))});const l=s.results.map(c=>({...c,nextPage:c.page<Math.ceil(c.rowCount/c.pageSize)?c.page+1:void 0,previousPage:c.page>1?c.page-1:void 0}));return Promise.resolve(l)}function F(e,t="",r=0){let n=[];return e.items&&e.items.forEach(a=>{let s=t?`${t}/${a.value}`:a.value,l=r+1;n.push({path:s,level:l}),a.$path=s,a.$level=l,a.hasChildren?n=n.concat(F(a,s,l)):a.hasChildren=!1}),n}async function Bt(e){const r=await d("api/v1/queryintent",{query:e});return r==null?void 0:r.intents}async function Qt({model:e,appName:t,query:r,article:n}){const{webservice:a,format:s,maxcount:l,exportedColumns:c,export:i}=e,u={app:t,webservice:a,query:r,type:i,format:s,maxcount:l,exportedColumns:c,$auditRecord:{auditEvents:[{type:"Search_ExportCSV",detail:{resultid:n?n.id:void 0}}]}};return O(u),await d("api/v1/search.queryexport",u,{responseType:"blob"})}async function qt(e,t,r){return(await d("api/v1/similardocuments",{sourceDocumentId:e,query:{name:t}},{signal:r})).data}async function Vt(e,t){var a;const n=await d("api/v1/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 jt(e,t,r,n,a){const{app:s}=f,l={app:s||"",suggestQuery:e,text:t,filter:r,kinds:n,showSource:a};try{return(await d("api/v1/search.suggest",l)).suggests}catch(c){throw console.error("Error fetching suggestions:",c),c}}async function xt(e,t,r,n){const{app:a}=f;return(await d("api/v1/suggestquery",{app:a||"",suggestQuery:e,text:t,query:r,kinds:n})).suggests}async function Gt(e,t){if(!t)return Promise.resolve([]);const{app:r}=f;return(await d("api/v1/suggestfield",{app:r||"",text:e,action:"suggests",fields:t})).suggests}async function zt(e,t,r,n,a,s){return d("api/v1/doc.textchunks",{id:e,textChunks:t,highlights:r,query:n,leftSentencesCount:a,rightSentencesCount:s})}async function Ht(){const{app:e}=f,t=new URLSearchParams({app:e||"",action:"load"});return S("api/v1/usersettings",t)}async function ke(e,t){const r={action:"save",userSettings:e,$auditRecord:{auditEvents:[t]}};return O(r),d("api/v1/usersettings",r)}async function Jt(e,t){const n={action:"patch",userSettings:e,$auditRecord:t?{auditEvents:[t]}:void 0};return O(n),d("api/v1/usersettings",n)}async function Wt(){return ke({},{type:"UserSettings_Reset"})}async function Mt(){return await S("api/v2/version")}const be=async()=>{const{autoOAuthProvider:e}=f;if(typeof window>"u")return d("security.oauth",{action:"getcode",provider:e,tokenInCookie:!0,originalUrl:"http://localhost"});const t={action:"getcode",provider:e,tokenInCookie:!0,originalUrl:window.location.href};try{const r=await d("api/v1/security.oauth",t);return r.redirectUrl&&(window.location.href=r.redirectUrl),r}catch(r){throw console.error("Failed to authenticate with OAuth",r),r}},Ce=async()=>{const{autoSAMLProvider:e}=f;if(typeof window>"u")return d("security.saml",{action:"getresponse",provider:e,tokenInCookie:!0,originalUrl:"http://localhost"});const t={action:"getresponse",provider:e,tokenInCookie:!0,originalUrl:window.location.href};try{const r=await d("api/v1/security.saml",t);return r.redirectUrl&&(window.location.href=r.redirectUrl),r}catch(r){throw console.error("Failed to authenticate with SAML",r),r}},G={store:{},getItem(e){return this.store[e]??null},setItem(e,t){this.store[e]=t.toString()},removeItem(e){delete this.store[e]},clear(){this.store={}}},z=G;function Xt(e){return typeof window>"u"||!window.localStorage?G.getItem(e):window.localStorage.getItem(e)}function Yt(e){typeof window>"u"||!window.localStorage?G.removeItem(e):window.localStorage.removeItem(e)}function Kt(e){return typeof window>"u"||!window.sessionStorage?z.getItem(e):window.sessionStorage.getItem(e)}function Zt(e,t){typeof window>"u"||!window.sessionStorage?z.setItem(e,t):window.sessionStorage.setItem(e,t)}function Et(e){typeof window>"u"||!window.sessionStorage?z.removeItem(e):window.sessionStorage.removeItem(e)}const U=e=>Zt("sinequa-credentials",JSON.stringify({data:{csrfToken:e}})),ve=async()=>{try{const e=await S("api/v1/challenge?action=getCsrfToken&suppressErrors=true");return e!=null&&e.csrfToken?(U(e.csrfToken),e.csrfToken):null}catch(e){throw _("Failed to get CSRF token",e),e}};async function Re(e){if(e){const{username:t,password:r}=e,n={action:"get",tokenInCookie:!0,user:t,password:r,noUserOverride:!0,noAutoAuthentication:!0};try{const a=await d("api/v1/security.webtoken",n);return a!=null&&a.csrfToken?(U(a.csrfToken),a.csrfToken):null}catch(a){throw console.error("Failed to get JWT",a),a}}else{const t={action:"get",tokenInCookie:!0,noUserOverride:!0,noAutoAuthentication:!1},{bearerToken:r}=f;if(!r)throw new Error("Bearer token is required in globalConfig for credentialless JWT retrieval.");const n=new Headers;n.append("Sinequa-Force-Camel-Case","true"),n.append("accept","application/json"),n.append("Content-Type","application/json"),n.append("Authorization",`Bearer ${r}`);try{const a=await d("api/v1/security.webtoken",t,{headers:n});return a.csrfToken?(U(a.csrfToken),a.csrfToken):null}catch(a){throw console.error("Failed to get JWT without credentials",a),a}}}const N=()=>{var r;const e=Kt("sinequa-credentials");if(e)try{const a=(r=JSON.parse(e).data)==null?void 0:r.csrfToken;if(a!==void 0)return a}catch{}const t=Xt("csrfToken");return t!==null?t:null},Tt=async e=>{if(e)m("Attempting authentication using credentials"),w({useCredentials:!0,useSSO:!1});else{let c=null;try{m("Attempting to retrieve CSRF token from the backend"),c=await ve(),v("CSRF token retrieval result",c?"success":"failed")}catch(i){_("Failed to retrieve CSRF token",i)}try{if(c===null){const{autoOAuthProvider:i,autoSAMLProvider:u,useSAML:g}=f;if(i&&!g)return m("Initiating OAuth authentication flow"),await be(),P("OAuth authentication flow did not redirect as expected"),h(!1),!1;if(u)return m("Initiating SAML authentication flow"),await Ce(),P("SAML authentication flow did not redirect as expected"),h(!1),!1;m("No direct authentication method available, will try SSO then credentials"),w({useCredentials:!0,useSSO:!0})}else return m("User authenticated via existing token"),h(!0),!0}catch(i){throw _("Unexpected error during authentication",i),h(!1),i}}if(f.useCredentials&&f.useSSO)try{if(m("Checking if user is authenticated via SSO"),await Se())return m("User authenticated using SSO"),w({useCredentials:!1,useSSO:!0}),h(!0),!0}catch(c){if((c==null?void 0:c.status)===401)return m("SSO authentication failed with 401, falling back to credentials"),w({useCredentials:!0,useSSO:!1}),!1;throw _("SSO authentication failed with unexpected error",c),h(!1),_}const{useSSO:r}=f,n=N();if(n&&n!==null||r)return m("user already authenticated",n),w({isRedirectUrl:!1}),h(!0),!0;const{useCredentials:a}=f,{username:s,password:l}=e||{};if(a&&!s&&!l)return _("Credentials are required for authentication"),h(!1),!1;if(s&&l)try{return m("authentication using credentials..."),w({useCredentials:!0,useSSO:!1}),await Re({username:s,password:l}),h(!0),!0}catch(c){throw h(!1),c}return h(!1),_("No authentication method available. Please provide credentials or configure OAuth/SAML."),!1},Pe=async()=>{const e=new URLSearchParams({action:"deleteWebTokenCookie",noUserOverride:"true",noAutoAuthentication:"true"});return S("api/v1/challenge",e)},er=async()=>{const{useCredentials:e,userOverrideActive:t}=f;Yt("csrfToken"),Et("sinequa-credentials"),e&&!t?(await Pe()).methodresult==="ok"?h(!1):console.error("logout failed"):h(!1)},tr=()=>!!N();o.ApiError=b,o.Audit=mt,o.AuditEventType=k,o.DidYouMeanKind=E,o.EngineType=K,o.EngineTypeModifier=Z,o.LogLevel=q,o.MINIMUM_COMPATIBLE_SERVER_API_VERSION=De,o.RFMDisplay=T,o.ServerError=ee,o.TimeoutError=te,o.UnauthorizedError=Q,o.addAuditAdditionalInfo=O,o.addConcepts=Me,o.addSessionId=_e,o.addUrl=ge,o.aggItemRegex=ne,o.aggregationItemStrictCompare=qe,o.appInitializerFn=kt,o.bisect=je,o.buildPathsAndLevels=F,o.configureLogger=Ne,o.createHeaders=L,o.createTimeoutController=Fe,o.debug=v,o.del=ut,o.deleteUserSettings=Wt,o.deleteWebTokenCookie=Pe,o.emitAuthenticatedEvent=h,o.error=_,o.escapeExpr=Ie,o.fetchAggregation=St,o.fetchApp=wt,o.fetchAppPreLogin=me,o.fetchBulkQuery=Nt,o.fetchDataset=bt,o.fetchDatasetList=vt,o.fetchDatasets=Ct,o.fetchLabels=Rt,o.fetchPreview=At,o.fetchPreviewUrl=Dt,o.fetchPrincipal=Se,o.fetchQuery=Ft,o.fetchQueryExport=Qt,o.fetchQueryIntent=Bt,o.fetchSimilarDocuments=qt,o.fetchSponsoredLinks=Vt,o.fetchSuggest=jt,o.fetchSuggestField=Gt,o.fetchSuggestQuery=xt,o.fetchTextChunks=zt,o.fetchUserSettings=Ht,o.fetchVersion=Mt,o.get=S,o.getConcepts=Ke,o.getCsrfToken=ve,o.getFiltersFromURI=V,o.getFiltersFromUrl=tt,o.getHelpIndexUrl=ct,o.getIdFromUrl=nt,o.getJWToken=Re,o.getMetadata=Ue,o.getOffsetFromDates=de,o.getQueryPageFromUrl=at,o.getQueryParamsFromUrl=Te,o.getQueryTabFromUrl=ot,o.getQueryTextFromUrl=rt,o.getRelativeDate=Ze,o.getToken=N,o.getUrlParamsFromQueryParams=et,o.globalConfig=f,o.guid=Y,o.handleResponse=C,o.info=m,o.isArrayBuffer=W,o.isAuthenticated=tr,o.isBlob=M,o.isJsonable=$e,o.isNotInputEvent=Ee,o.isObject=y,o.isString=X,o.labels=It,o.login=Tt,o.logout=er,o.notify=it,o.openParentNodes=oe,o.parseText=p,o.parseValueAndOperatorFromItem=ae,o.patch=ft,o.patchUserSettings=Jt,o.post=d,o.put=lt,o.queryParamsFromUrl=R,o.removeConcept=Xe,o.removeConcepts=Ye,o.resolveToColumnName=pe,o.rewriteText=A,o.saveUserSettings=ke,o.setGlobalConfig=w,o.setToken=U,o.sha512=Ae,o.suggestionsToTreeAggregationNodes=Ve,o.sysLang=st,o.translateAggregationToDateOptions=Qe,o.tryOAuthAuthentication=be,o.trySAMLAuthentication=Ce,o.warn=P,o.withRetry=Be,Object.defineProperty(o,Symbol.toStringTag,{value:"Module"})});
|
package/dist/utils/logger.d.ts
CHANGED
|
@@ -23,18 +23,18 @@ export declare function configureLogger(config: Partial<LoggerConfig>): void;
|
|
|
23
23
|
/**
|
|
24
24
|
* Log a debug message
|
|
25
25
|
*/
|
|
26
|
-
export declare function debug(message: string, data?:
|
|
26
|
+
export declare function debug(message: string, data?: unknown): void;
|
|
27
27
|
/**
|
|
28
28
|
* Log an info message
|
|
29
29
|
*/
|
|
30
|
-
export declare function info(message: string, data?:
|
|
30
|
+
export declare function info(message: string, data?: unknown): void;
|
|
31
31
|
/**
|
|
32
32
|
* Log a warning message
|
|
33
33
|
*/
|
|
34
|
-
export declare function warn(message: string, data?:
|
|
34
|
+
export declare function warn(message: string, data?: unknown): void;
|
|
35
35
|
/**
|
|
36
36
|
* Log an error message
|
|
37
37
|
*/
|
|
38
|
-
export declare function error(message: string, error?:
|
|
38
|
+
export declare function error(message: string, error?: unknown): void;
|
|
39
39
|
export {};
|
|
40
40
|
//# sourceMappingURL=logger.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"logger.d.ts","sourceRoot":"","sources":["../../src/utils/logger.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,oBAAY,QAAQ;IAClB,KAAK,IAAI;IACT,IAAI,IAAI;IACR,IAAI,IAAI;IACR,KAAK,IAAI;IACT,IAAI,IAAI;CACT;AAED,UAAU,YAAY;IACpB,KAAK,EAAE,QAAQ,CAAC;IAChB,mBAAmB,EAAE,OAAO,CAAC;CAE9B;AAQD;;;GAGG;AACH,wBAAgB,eAAe,CAAC,MAAM,EAAE,OAAO,CAAC,YAAY,CAAC,GAAG,IAAI,CAEnE;
|
|
1
|
+
{"version":3,"file":"logger.d.ts","sourceRoot":"","sources":["../../src/utils/logger.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,oBAAY,QAAQ;IAClB,KAAK,IAAI;IACT,IAAI,IAAI;IACR,IAAI,IAAI;IACR,KAAK,IAAI;IACT,IAAI,IAAI;CACT;AAED,UAAU,YAAY;IACpB,KAAK,EAAE,QAAQ,CAAC;IAChB,mBAAmB,EAAE,OAAO,CAAC;CAE9B;AAQD;;;GAGG;AACH,wBAAgB,eAAe,CAAC,MAAM,EAAE,OAAO,CAAC,YAAY,CAAC,GAAG,IAAI,CAEnE;AA+BD;;GAEG;AACH,wBAAgB,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,OAAO,GAAG,IAAI,CAE3D;AAED;;GAEG;AACH,wBAAgB,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,OAAO,GAAG,IAAI,CAE1D;AAED;;GAEG;AACH,wBAAgB,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,OAAO,GAAG,IAAI,CAE1D;AAED;;GAEG;AACH,wBAAgB,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,OAAO,GAAG,IAAI,CAE5D"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fetch-app.d.ts","sourceRoot":"","sources":["../../../src/web-api/v1/fetch-app.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"fetch-app.d.ts","sourceRoot":"","sources":["../../../src/web-api/v1/fetch-app.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,KAAK,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAIxD;;;GAGG;AACH,wBAAsB,QAAQ,IAAI,OAAO,CAAC,KAAK,CAAC,CAK/C;AAED;;;GAGG;AACH,wBAAsB,gBAAgB,IAAI,OAAO,CAAC,aAAa,CAAC,CAQ/D;AAED;;;GAGG;AACH,wBAAgB,gBAAgB,IAAI,OAAO,CAAC,aAAa,CAAC,CA2DzD"}
|