@sinequa/atomic 0.0.124 → 0.0.134

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (38) hide show
  1. package/README.md +188 -36
  2. package/dist/atomic.js +762 -629
  3. package/dist/atomic.umd.cjs +1 -1
  4. package/dist/authentication/session/login.d.ts.map +1 -1
  5. package/dist/helpers/metadata.d.ts +32 -0
  6. package/dist/helpers/metadata.d.ts.map +1 -1
  7. package/dist/types/aggregations/AggregationItem.d.ts +4 -0
  8. package/dist/types/aggregations/AggregationItem.d.ts.map +1 -1
  9. package/dist/types/api-endpoints.d.ts +1 -1
  10. package/dist/types/api-endpoints.d.ts.map +1 -1
  11. package/dist/types/index.d.ts +6 -5
  12. package/dist/types/index.d.ts.map +1 -1
  13. package/dist/types/principal/Principal.d.ts +2 -0
  14. package/dist/types/principal/Principal.d.ts.map +1 -1
  15. package/dist/types/user-profile/user-profile.d.ts +31 -0
  16. package/dist/types/user-profile/user-profile.d.ts.map +1 -0
  17. package/dist/utils/notification.d.ts +6 -1
  18. package/dist/utils/notification.d.ts.map +1 -1
  19. package/dist/web-api/helpers/handle-response.d.ts +1 -1
  20. package/dist/web-api/helpers/handle-response.d.ts.map +1 -1
  21. package/dist/web-api/helpers/index.d.ts +9 -8
  22. package/dist/web-api/helpers/index.d.ts.map +1 -1
  23. package/dist/web-api/helpers/methods/patch.d.ts.map +1 -1
  24. package/dist/web-api/helpers/methods/post.d.ts.map +1 -1
  25. package/dist/web-api/helpers/utils/date-utils..d.ts +14 -0
  26. package/dist/web-api/helpers/utils/date-utils..d.ts.map +1 -0
  27. package/dist/web-api/index.d.ts +5 -2
  28. package/dist/web-api/index.d.ts.map +1 -1
  29. package/dist/web-api/v1/fetch-app.d.ts.map +1 -1
  30. package/dist/web-api/v1/fetch-principal.d.ts +55 -0
  31. package/dist/web-api/v1/fetch-principal.d.ts.map +1 -1
  32. package/dist/web-api/v2/fetch-change-password.d.ts +12 -2
  33. package/dist/web-api/v2/fetch-change-password.d.ts.map +1 -1
  34. package/dist/web-api/v2/fetch-forgot-password.d.ts +11 -0
  35. package/dist/web-api/v2/fetch-forgot-password.d.ts.map +1 -0
  36. package/dist/web-api/v2/fetch-user-profile.d.ts +50 -0
  37. package/dist/web-api/v2/fetch-user-profile.d.ts.map +1 -0
  38. package/package.json +2 -2
@@ -1 +1 @@
1
- (function(s,h){typeof exports=="object"&&typeof module<"u"?h(exports):typeof define=="function"&&define.amd?define(["exports"],h):(s=typeof globalThis<"u"?globalThis:s||self,h(s.atomic={}))})(this,function(s){"use strict";var cr=Object.defineProperty;var ir=(s,h,d)=>h in s?cr(s,h,{enumerable:!0,configurable:!0,writable:!0,value:d}):s[h]=d;var Oe=(s,h,d)=>ir(s,typeof h!="symbol"?h+"":h,d);function h(e){const t=new CustomEvent("authenticated",{bubbles:!0,cancelable:!1,detail:{authenticated:e}});dispatchEvent(t)}const d={loginPath:"/login",createRoutes:!1};function v(e){Object.assign(d,e)}function Ue(e,t,r){var o,l,c,i;if(!e||!t)return;if(r){const u=Object.keys(t.queries).find(X=>X===(r==null?void 0:r.toLowerCase()));let g;u&&(g=t.queries[u]);const M=(l=((o=g==null?void 0:g.columnsInfo)==null?void 0:o.columns)||[])==null?void 0:l.find(X=>{var pe,ye;return(ye=(pe=X.aliases)==null?void 0:pe.split(","))==null?void 0:ye.includes(e)});if(M)return M.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]}var C=(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))(C||{}),_=(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))(_||{}),w=(e=>(e[e.none=0]="none",e[e.a=2053]="a",e[e.c=4]="c",e[e.d=8]="d",e[e.e=2068]="e",e[e.i=256]="i",e[e.l=2052]="l",e[e.n=8192]="n",e[e.t=524292]="t",e[e.x=8388608]="x",e[e.z=33554432]="z",e[e.f_ordinal=8192]="f_ordinal",e[e.f_multidates=8192]="f_multidates",e[e.f_varchar=33554432]="f_varchar",e[e.f_binary=33562624]="f_binary",e[e.f_string=33562888]="f_string",e[e.f_csv=42477853]="f_csv",e[e.f_overridable=33554696]="f_overridable",e))(w||{});const $e="1.0";var Y=(e=>(e[e.Original=0]="Original",e[e.Corrected=1]="Corrected",e))(Y||{}),K=(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))(K||{});function Ie(e){if(!e)return _.none;switch(e.toLocaleLowerCase()){case"bool":case"boolean":return _.bool;case"date":return _.date;case"datetime":return _.dateTime;case"time":return _.time;case"unsigned":return _.unsigned;case"integer":return _.integer;case"float":return _.float;case"double":return _.double;case"dates":return _.dates;case"datetimes":return _.dateTimes;case"times":return _.times;case"varchar":return _.varchar;case"binary":return _.binary;case"string":return _.string;case"csv":return _.csv;default:return _.none}}function Ae(e){switch(e){case"a":return w.a;case"c":return w.c;case"d":return w.d;case"e":return w.e;case"i":return w.i;case"l":return w.l;case"n":return w.n;case"t":return w.t;case"x":return w.x;case"z":return w.z;default:return w.none}}function De(e){let t=w.none;if(e)for(const r of e)t|=Ae(r);return t}function S(e,t,r,n){const a=Ie(t),o=De(r||"");return{name:e,type:t,typeModifier:r,eType:a,eTypeModifier:o,aliases:n}}const Fe={id:S("id","string"),text:S("text","varchar"),documentlanguages:S("documentlanguages","csv","ci",["language"]),databasealias:S("databasealias","varchar"),globalrelevance:S("globalrelevance","double"),matchingpartnames:S("matchingpartnames","csv"),matchlocations:S("matchlocations","csv"),matchlocationsperpartname:S("matchlocationsperpartname","varchar"),extracts:S("extracts","csv"),extractsperpartname:S("extractsperpartname","varchar"),extractslocations:S("extractslocations","csv"),documentweight:S("documentweight","varchar"),groupcount:S("groupcount","integer"),accesslists:S("accesslists","varchar",void 0,["accessLists"])};function Ne(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 Z(e){return $(e)&&Object.prototype.toString.call(e)==="[object ArrayBuffer]"}function E(e){return $(e)&&Object.prototype.toString.call(e)==="[object Blob]"}function T(e){return typeof e=="string"}function Be(e){return($(e)||Array.isArray(e))&&!Z(e)&&!E(e)&&!T(e)}function ee(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 Qe(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 qe(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(x(e)))}catch{return Promise.resolve(x(e))}return Promise.resolve(x(e))}function x(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"),o=((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+o+l+c;return(i+i+i+i).substring(0,128)}class R extends Error{constructor(r,n){super(r);Oe(this,"status");this.name="ApiError",this.status=n}}class V extends R{constructor(t="Unauthorized access"){super(t,401),this.name="UnauthorizedError"}}class te extends R{constructor(t="Server error"){super(t,500),this.name="ServerError"}}class re extends R{constructor(t="Request timed out"){super(t,408),this.name="TimeoutError"}}function xe(e){const t=new AbortController,{signal:r}=t;return e&&setTimeout(()=>{r.aborted||t.abort(new re(`Request timed out after ${e}ms`))},e),{controller:t,signal:r}}var j=(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))(j||{});let D={level:1,enableConsoleOutput:!0};function Ve(e){D={...D,...e}}function F(e,t,r){if(e<D.level)return;const a=`${`[${j[e]}]`} ${t}`;if(D.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 L(e,t){F(0,e,t)}function k(e,t){F(1,e,t)}function y(e,t){F(2,e,t)}function m(e,t){F(3,e,t)}async function je(e,t=0,r=1e3){let n;for(let a=0;a<=t;a++)try{return await e()}catch(o){if(n=o,o instanceof R&&o.status>=400&&o.status<500&&o.status!==429||o instanceof DOMException&&o.name==="AbortError")throw o;a<t&&(y(`Retrying request (${a+1}/${t})`,{error:o}),await new Promise(l=>setTimeout(l,r)))}throw n}function O(e){const t=q(),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:o}=d;return o&&r.append("Authorization",`Bearer ${o}`),n&&a&&(r.append("sinequa-override-user",n.username),r.append("sinequa-override-domain",n.domain)),r}async function P(e,t="json"){const r=e.headers.get("sinequa-jwt-refresh");if(r!==null&&A(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,y("Unauthorized access attempt with user override",{endpoint:e.url}),new V("Unauthorized... User override failed.");await ne(e,401)}throw e.status===500&&(m("Server error occurred",{endpoint:e.url}),await ne(e,500)),y(`Unexpected response status: ${e.status}`,{endpoint:e.url}),new R(`Request failed with status ${e.status}`,e.status)}async function ne(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 R(`Request failed with status ${t}`,t);const o=JSON.parse(new TextDecoder().decode(a));throw o.status=t,o}catch(n){throw n instanceof R?n:t===401?new V:t===500?new te:new R(`Request failed with status ${t}`,t)}}const ae=/.*\:\(?([><=\d\-\.AND ]+)\)?/;function Ge(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((o,l)=>{if(!l.value||l.value==="")return o;const c=se(l,e.column);return o.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}),o},[])}function se(e,t){const r=t,n=e.value.match(ae);if(n!=null&&n[1]){const o=(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(o.length===2)return{field:r,operator:"and",filters:o,value:e.value,display:o[0].display||o[0].value};if(o.length===1)return{...o[0],field:r};throw new Error("Failed to parse distribution expression")}return{field:r,operator:"eq",value:e.value,display:e.display}}function ze(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 He(e,t){const r=[];if(e.length>0){const n=new Map,o=t.replace(/[.*+?^${}()|[\]\\]/g,"\\$&").normalize("NFD").replace(/[\u0300-\u036f]/g,""),l=new RegExp("\\b"+o,"i");e.forEach(c=>{if(c.display.length>1){const i=c.display.normalize("NFD").replace(/[\u0300-\u036f]/g,""),u=l.exec(i);ce(r,n,"/",c.display,+(c.frequency||0),1,((u==null?void 0:u.index)||0)+t.length)}})}return r}function ce(e,t,r,n,a,o,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:o,$opened:l>=i.length,$path:g},t.set(i,u),e.push(u)}i.length<n.length&&(u.hasChildren=!0,ce(u.items,t,i,n,a,o+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 We=/(([\+\-])?\(([^\)]+)\))|(([\+\-])?\[([^\]]+)\])|(([\+\-])?\"([^\"]+)\")|(([\+\-])?\/([^\/]+)\/)|(([\+\-])?(\S+))/g,Me=2,ie=3,Xe=5,le=6,Ye=8,ue=9,Ke=11,de=12,Ze=14,fe=15;function I(e){if(!e)return[];const t=[],r=e.matchAll(We);for(let n of r)n[ie]?t.push({type:"group",value:n[ie],op:n[Me]}):n[le]?t.push({type:"adjacent",value:n[le],op:n[Xe]}):n[ue]?t.push({type:"exact",value:n[ue],op:n[Ye]}):n[de]?t.push({type:"regex",value:n[de],op:n[Ke]}):n[fe]&&t.push({type:"token",value:n[fe],op:n[Ze]});return t}function N(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 Ee(e,t,r){let n=I(e);for(let a of t)n.push({type:"adjacent",value:a,op:r});return N(n)}function Te(e,t){const r=I(t),n=r.findIndex(a=>a.value===e);return n!==-1?(r.splice(n,1),t=N(r)):t}function et(e){const t=I(e).filter(r=>r.type!=="adjacent");return N(t)}function tt(e){return I(e).filter(t=>t.type==="adjacent").map(t=>t.value)}function rt(e,t,r){const n=new Intl.RelativeTimeFormat(e,{numeric:"auto"}),{offset:a,unit:o,isFuture:l}=he(t,r);return n.format(a*(l?1:-1),o)}function he(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 nt(e){const t=e.target;return t&&t.nodeName!=="INPUT"&&t.nodeName!=="TEXTAREA"}function at(e){if(e===void 0)return;const{q:t,f:r,p:n,s:a,t:o,n:l,b:c}=p(e),[i]=e.split("?");return{path:i,text:t,filters:r?G(r):void 0,page:n?parseInt(n,10):void 0,sort:a,tab:o,name:l,basket:c}}function st(e){if(!e)return"";const{text:t,filters:r,page:n,sort:a,tab:o,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),o&&(i.t=o),l&&(i.n=l),c&&(i.b=c);const u=new URLSearchParams(i).toString();return u||""}function ot(e){if(e===void 0)return[];const{f:t}=p(e);return G(t)}function G(e){const t=decodeURIComponent(e);try{return JSON.parse(t??"[]")}catch{return console.error(`Error parsing filters from URI: ${e}`),[]}}function p(e){const t=e.split("?")[1];if(t===void 0)return{};const r=new URLSearchParams(t);return Object.fromEntries(r)}function ct(e){const{q:t=""}=p(e);return t}function it(e){const{id:t}=p(e);return decodeURIComponent(t)}function lt(e){const{p:t="0"}=p(e);return parseInt(t,10)}function ut(e){const{t}=p(e);return t}function dt(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 o=z(e,r,!1);if(!o)return e;const l=t.charCodeAt(0),c=t.charCodeAt(1);let i=o;for(;i;)if(l===i.lang1&&c===i.lang2){const g=z(e,i.end+4,!0);return e.substring(g.start,g.end)}else i=z(e,i.end+4,!1);const u=e.substring(o.start,o.end);return u||e}function z(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 ft(e,t){const{useLocale:r,useLocaleAsPrefix:n,indexFile:a,path:o,folder:l}=t,c=r?`${e}/`:null,i=n?`${e}.${a}`:a??"";return[o,l,`${c||""}${i}`].filter(u=>u!==void 0).join("/")}function B(e){const t=new CustomEvent("notification",{bubbles:!0,cancelable:!1,detail:e});dispatchEvent(t)}const ht={success:(e,t)=>{B({type:"success",message:e,options:t})},info:(e,t)=>{B({type:"info",message:e,options:t})},warning:(e,t)=>{B({type:"warning",message:e,options:t})},error:(e,t)=>{B({type:"error",message:e,options:t})}};async function f(e,t,r){const n=O(r==null?void 0:r.headers),{app:a,backendUrl:o}=d,l={app:a,...t,locale:t.locale||navigator.language,noUserOverride:!0,noAutoAuthentication:!0};e.startsWith("plugin")&&(e=`api/v1/${e}`);const c=o?`${o}/${e}`:`${e}`;L(`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 P(i,r==null?void 0:r.responseType)}catch(i){throw m("Error making POST request:",i),i}}async function b(e,t,r){const n=O(r==null?void 0:r.headers),{backendUrl:a}=d,o=t?`?${new URLSearchParams(t)}`:"";e.startsWith("plugin")&&(e=`api/v1/${e}`);const l=a?`${a}/${e}${o}`:`${e}${o}`;L(`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 P(c,r==null?void 0:r.responseType)}catch(c){throw m("Error making GET request:",c),c}}async function mt(e,t,r){const n=O(r==null?void 0:r.headers),{app:a,backendUrl:o}=d,l={app:a,...t,locale:t.locale||navigator.language,noUserOverride:!0,noAutoAuthentication:!0},c=`${o}/${e}`;L(`Making PUT request to: ${c}`);try{const i=await fetch(c,{method:"PUT",headers:n,credentials:"include",body:JSON.stringify(l)});return P(i,r==null?void 0:r.responseType)}catch(i){throw m("Error making PUT request:",i),i}}async function gt(e,t,r){const n=O(r==null?void 0:r.headers),{backendUrl:a}=d,o=t?`?${new URLSearchParams(t)}`:"",l=a?`${a}/${e}${o}`:`${e}${o}`;L(`Making DELETE request to: ${l}`);try{const c=await fetch(l,{method:"DELETE",credentials:"include",headers:n});return P(c,r==null?void 0:r.responseType)}catch(c){throw m("Error making DELETE request:",c),c}}async function _t(e,t,r){const n=O(r==null?void 0:r.headers),{app:a,backendUrl:o}=d,l={app:a,...t,locale:t.locale||navigator.language,noUserOverride:!0,noAutoAuthentication:!0},c=o?`${o}/${e}`:`${e}`;L(`Making PATCH request to: ${c}`);try{const i=await fetch(c,{method:"PATCH",headers:n,credentials:"include",body:JSON.stringify(l)});return P(i,r==null?void 0:r.responseType)}catch(i){throw m("Error making PATCH request:",i),i}}let H,me;function U(e,t=!0){let r=St(e.$auditRecord);r&&(ge(r),t&&_e(r)),e.$auditRecord=r}function St(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 ge(e){var r;const t=wt();return(r=e.auditEvents)==null||r.forEach(n=>{n.detail||(n.detail={}),n.detail.sessionid=t}),e}function _e(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 wt(){return(!H||kt())&&(H=ee()),me=new Date,H}function kt(){return new Date().getTime()-me.getTime()>10*60*1e3}async function bt(e,t=!0){const r={event:C.None,$auditRecord:e};return U(r,t),f("api/v1/audit.notify",r)}const vt={notify:bt};async function Ct(e,t,r){var g;const n=((g=e.items)==null?void 0:g.length)||0,a=10,o={query:{...t,action:"aggregate",aggregations:{[e.name]:{skip:n,count:a}}},$auditRecord:{auditEvents:[r]}};U(o);const l=await f("api/v1/query",o),c=await P(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 Rt(){const{app:e}=d,t=new URLSearchParams({app:e||""});return b("api/v1/app",t)}async function Se(){const{app:e}=d,t=new URLSearchParams({app:e||"",preLogin:"true"});return b("api/v1/app",t)}function Pt(){let{backendUrl:e,app:t}=d;if(typeof window<"u"){if(e||(e=window.location.origin),!t){const r=window.location.pathname.match(/\/app(?:-debug)?\/([^/#]+)/);r&&(t=r[1])}v({...d,backendUrl:e,app:t})}return Se().then(r=>{const{autoOAuthProvider:n,autoSAMLProvider:a}=d,o=!n&&!r.autoOAuthProvider&&!a&&!r.autoSAMLProvider;return v({...d,autoOAuthProvider:n||r.autoOAuthProvider,autoSAMLProvider:a||r.autoSAMLProvider,useCredentials:o,useSSO:o}),r}).catch(r=>{throw m("atomic:fetchAppPreLogin error",r),r})}async function Lt(e,t,r={}){const n=`api/v1/search.dataset/${e}/${t}`,a=await f(n,{parameters:r}),o=t[0].toLowerCase()+t.slice(1),l=a.datasets[o];if("errorCode"in l&&"errorMessage"in l)throw new Error(l.errorMessage);return l}async function pt(e,t){const r=`api/v1/search.dataset/${e}`,{parameters:n={},datasets:a=[]}=t;return(await f(r,{parameters:n,datasets:a})).datasets}async function yt(e){return await b(`api/v1/search.dataset/${e}`)}async function Ot(e,t=!0,r){try{return(await f("api/v1/labels",{action:"list",q:e,public:t,locale:r,localize:!1})).labels}catch(n){throw m("Error in fetchLabels",n),n}}async function Ut(){try{const{app:e=""}=d,t=new URLSearchParams({app:e,action:"getUserRights"});return b("api/v1/labels",t)}catch(e){throw m("Error in getUserRights",e),e}}async function $t(e,t,r=!0){try{const n={action:"add",labels:e,ids:t,public:r,$auditRecord:{auditEvents:[{type:C.Label_AddDoc,detail:{public:r,label:e?e.toString():null,doccount:t?t.length:0}}],mlAuditEvents:[{actionType:"addToLabel",documentIds:t}]}};return f("api/v1/labels",n)}catch(n){throw m("Error in add",n),n}}async function It(e,t,r=!0){try{const n={action:"remove",labels:e,ids:t,public:r,$auditRecord:{auditEvents:[{type:C.Label_RemoveDoc,detail:{public:r,label:e?e.toString():null,doccount:t?t.length:0}}],mlAuditEvents:[{actionType:"removeFromLabel",documentIds:t}]}};return f("api/v1/labels",n)}catch(n){throw m("Error in remove",n),n}}async function At(e,t,r=!0){try{const n={action:"rename",labels:e,newLabel:t,public:r,auditEvents:{type:C.Label_Rename,detail:{public:r,oldlabel:e?e.toString():null,label:t}}};return f("api/v1/labels",n)}catch(n){throw m("Error in rename",n),n}}async function Dt(e,t=!0){try{const r={action:"delete",labels:e,public:t,auditEvents:{type:C.Label_Delete,detail:{public:t,label:e?e.toString():null}}};return f("api/v1/labels",r)}catch(r){throw m("Error in deleteLabels",r),r}}async function Ft(e,t,r=!0){try{const n={action:"bulkAdd",labels:e,query:t,public:r,auditEvents:{type:C.Label_Add,detail:{public:r,label:e?e.toString():null,query:t!==null?t.name:null}}};return f("api/v1/labels",n)}catch(n){throw m("Error in bulkAdd",n),n}}async function Nt(e,t,r=!0){try{const n={action:"bulkRemove",labels:e,query:t,public:r,auditEvents:{type:C.Label_Delete,detail:{public:r,label:e?e.toString():null,query:t!==null?t.name:null}}};return f("api/v1/labels",n)}catch(n){throw m("Error in bulkRemove",n),n}}const Bt={getUserRights:Ut,add:$t,remove:It,rename:At,delete:Dt,bulkAdd:Ft,bulkRemove:Nt};async function Qt(e,t){if(typeof window>"u")return f("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 f("api/v1/preview",{action:"get",id:e,query:n,browserUrl:r})}async function qt(e){const t=new Headers;t.append("content-type","text");const r=await fetch(e,{method:"GET",headers:t});P(r)}async function we(){const e=new URLSearchParams({action:"get",noAutoAuthentication:"true"});return b("api/v1/principal",e)}const ke=11;async function xt(e,t,r){var l;const a=await f("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===ke),c.isTree&&c.items&&Q(c)}),(l=a.records)==null||l.map(c=>Object.assign(c,{value:c.title,type:"default"}));const o={...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(o)}async function Vt(e,t,r){const{app:n=""}=d,a={methods:[],mode:t,propagateErrors:!0,$auditRecord:{auditEvents:[r]}};for(const c of e)a.methods.push({method:"query",app:n,query:c});const o=await f("api/v1/multi",a);o.results.forEach(c=>{c.aggregations.forEach(i=>{i.$hasMore=!1,!i.isDistribution&&!i.isTree&&i.items&&(i.$hasMore=i.items.length===ke),i.isTree&&Q(i)})}),o.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=o.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 Q(e,t="",r=0){let n=[];return e.items&&e.items.forEach(a=>{let o=t?`${t}/${a.value}`:a.value,l=r+1;n.push({path:o,level:l}),a.$path=o,a.$level=l,a.hasChildren?n=n.concat(Q(a,o,l)):a.hasChildren=!1}),n}async function jt(e){const r=await f("api/v1/queryintent",{query:e});return r==null?void 0:r.intents}async function Gt({model:e,appName:t,query:r,article:n}){const{webservice:a,format:o,maxcount:l,exportedColumns:c,export:i}=e,u={app:t,webservice:a,query:r,type:i,format:o,maxcount:l,exportedColumns:c,$auditRecord:{auditEvents:[{type:"Search_ExportCSV",detail:{resultid:n?n.id:void 0}}]}};return U(u),await f("api/v1/search.queryexport",u,{responseType:"blob"})}async function zt(e,t,r){return(await f("api/v1/similardocuments",{sourceDocumentId:e,query:{name:t}},{signal:r})).data}async function Ht(e,t){var a;const n=await f("api/v1/query.links",{webservice:e,query:t});return(a=n==null?void 0:n.links)==null?void 0:a.map(o=>({...o,query:t}))}async function Jt(e,t,r,n,a){const{app:o}=d,l={app:o||"",suggestQuery:e,text:t,filter:r,kinds:n,showSource:a};try{return(await f("api/v1/search.suggest",l)).suggests}catch(c){throw console.error("Error fetching suggestions:",c),c}}async function Wt(e,t,r,n){const{app:a}=d;return(await f("api/v1/suggestquery",{app:a||"",suggestQuery:e,text:t,query:r,kinds:n})).suggests}async function Mt(e,t){if(!t)return Promise.resolve([]);const{app:r}=d;return(await f("api/v1/suggestfield",{app:r||"",text:e,action:"suggests",fields:t})).suggests}async function Xt(e,t,r,n,a,o){return f("api/v1/doc.textchunks",{id:e,textChunks:t,highlights:r,query:n,leftSentencesCount:a,rightSentencesCount:o})}async function Yt(){const{app:e}=d,t=new URLSearchParams({app:e||"",action:"load"});return b("api/v1/usersettings",t)}async function be(e,t){const r={action:"save",userSettings:e,$auditRecord:{auditEvents:[t]}};return U(r),f("api/v1/usersettings",r)}async function Kt(e,t){const n={action:"patch",userSettings:e,$auditRecord:t?{auditEvents:[t]}:void 0};return U(n),f("api/v1/usersettings",n)}async function Zt(){return be({},{type:"UserSettings_Reset"})}async function Et(){return await b("api/v2/version")}const ve=async()=>{const{autoOAuthProvider:e}=d;if(typeof window>"u")return f("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 f("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}=d;if(typeof window>"u")return f("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 f("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}},J={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={}}},W=J;function Tt(e){return typeof window>"u"||!window.localStorage?J.getItem(e):window.localStorage.getItem(e)}function er(e){typeof window>"u"||!window.localStorage?J.removeItem(e):window.localStorage.removeItem(e)}function tr(e){return typeof window>"u"||!window.sessionStorage?W.getItem(e):window.sessionStorage.getItem(e)}function rr(e,t){typeof window>"u"||!window.sessionStorage?W.setItem(e,t):window.sessionStorage.setItem(e,t)}function nr(e){typeof window>"u"||!window.sessionStorage?W.removeItem(e):window.sessionStorage.removeItem(e)}const A=e=>rr("sinequa-credentials",JSON.stringify({data:{csrfToken:e}})),Re=async()=>{try{const e=await b("api/v1/challenge?action=getCsrfToken&suppressErrors=true");return e!=null&&e.csrfToken?(A(e.csrfToken),e.csrfToken):null}catch(e){throw m("Failed to get CSRF token",e),e}};async function Pe(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 f("api/v1/security.webtoken",n);return a!=null&&a.csrfToken?(A(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}=d;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 f("api/v1/security.webtoken",t,{headers:n});return a.csrfToken?(A(a.csrfToken),a.csrfToken):null}catch(a){throw console.error("Failed to get JWT without credentials",a),a}}}const q=()=>{var r;const e=tr("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=Tt("csrfToken");return t!==null?t:null},ar=async e=>{if(e)k("Attempting authentication using credentials"),v({useCredentials:!0,useSSO:!1});else{let c=null;try{k("Attempting to retrieve CSRF token from the backend"),c=await Re(),L("CSRF token retrieval result",c?"success":"failed")}catch(i){m("Failed to retrieve CSRF token",i)}try{if(c===null){const{autoOAuthProvider:i,autoSAMLProvider:u,useSAML:g}=d;if(i&&!g)return k("Initiating OAuth authentication flow"),await ve(),y("OAuth authentication flow did not redirect as expected"),h(!1),!1;if(u)return k("Initiating SAML authentication flow"),await Ce(),y("SAML authentication flow did not redirect as expected"),h(!1),!1;k("No direct authentication method available, will try SSO then credentials"),v({useCredentials:!0,useSSO:!0})}else return k("User authenticated via existing token"),h(!0),!0}catch(i){throw m("Unexpected error during authentication",i),h(!1),i}}if(d.useCredentials&&d.useSSO)try{if(k("Checking if user is authenticated via SSO"),await we())return k("User authenticated using SSO"),v({useCredentials:!1,useSSO:!0}),h(!0),!0}catch(c){if((c==null?void 0:c.status)===401)return k("SSO authentication failed with 401, falling back to credentials"),v({useCredentials:!0,useSSO:!1}),!1;throw m("SSO authentication failed with unexpected error",c),h(!1),m}const{useSSO:r}=d,n=q();if(n&&n!==null||r)return k("user already authenticated",n),v({isRedirectUrl:!1}),h(!0),!0;const{useCredentials:a}=d,{username:o,password:l}=e||{};if(a&&!o&&!l)return m("Credentials are required for authentication"),h(!1),!1;if(o&&l)try{return k("authentication using credentials..."),v({useCredentials:!0,useSSO:!1}),await Pe({username:o,password:l}),h(!0),!0}catch(c){throw h(!1),c}return h(!1),m("No authentication method available. Please provide credentials or configure OAuth/SAML."),!1},Le=async()=>{const e=new URLSearchParams({action:"deleteWebTokenCookie",noUserOverride:"true",noAutoAuthentication:"true"});return b("api/v1/challenge",e)},sr=async()=>{const{useCredentials:e,userOverrideActive:t}=d;er("csrfToken"),nr("sinequa-credentials"),e&&!t?(await Le()).methodresult==="ok"?h(!1):console.error("logout failed"):h(!1)},or=()=>!!q();s.ApiError=R,s.Audit=vt,s.AuditEventType=C,s.DidYouMeanKind=Y,s.EngineType=_,s.EngineTypeModifier=w,s.LogLevel=j,s.MINIMUM_COMPATIBLE_SERVER_API_VERSION=$e,s.RFMDisplay=K,s.ServerError=te,s.TimeoutError=re,s.UnauthorizedError=V,s.addAuditAdditionalInfo=U,s.addConcepts=Ee,s.addSessionId=ge,s.addUrl=_e,s.aggItemRegex=ae,s.aggregationItemStrictCompare=ze,s.appInitializerFn=Pt,s.bisect=Je,s.buildPathsAndLevels=Q,s.configureLogger=Ve,s.createHeaders=O,s.createTimeoutController=xe,s.debug=L,s.del=gt,s.deleteUserSettings=Zt,s.deleteWebTokenCookie=Le,s.emitAuthenticatedEvent=h,s.error=m,s.escapeExpr=Qe,s.extraColumns=Fe,s.fetchAggregation=Ct,s.fetchApp=Rt,s.fetchAppPreLogin=Se,s.fetchBulkQuery=Vt,s.fetchDataset=Lt,s.fetchDatasetList=yt,s.fetchDatasets=pt,s.fetchLabels=Ot,s.fetchPreview=Qt,s.fetchPreviewUrl=qt,s.fetchPrincipal=we,s.fetchQuery=xt,s.fetchQueryExport=Gt,s.fetchQueryIntent=jt,s.fetchSimilarDocuments=zt,s.fetchSponsoredLinks=Ht,s.fetchSuggest=Jt,s.fetchSuggestField=Mt,s.fetchSuggestQuery=Wt,s.fetchTextChunks=Xt,s.fetchUserSettings=Yt,s.fetchVersion=Et,s.get=b,s.getConcepts=tt,s.getCsrfToken=Re,s.getFiltersFromURI=G,s.getFiltersFromUrl=ot,s.getHelpIndexUrl=ft,s.getIdFromUrl=it,s.getJWToken=Pe,s.getMetadata=Ne,s.getOffsetFromDates=he,s.getQueryPageFromUrl=lt,s.getQueryParamsFromUrl=at,s.getQueryTabFromUrl=ut,s.getQueryTextFromUrl=ct,s.getRelativeDate=rt,s.getToken=q,s.getUrlParamsFromQueryParams=st,s.globalConfig=d,s.guid=ee,s.handleResponse=P,s.info=k,s.isArrayBuffer=Z,s.isAuthenticated=or,s.isBlob=E,s.isJsonable=Be,s.isNotInputEvent=nt,s.isObject=$,s.isString=T,s.labels=Bt,s.login=ar,s.logout=sr,s.makeColumn=S,s.notify=ht,s.openParentNodes=oe,s.parseText=I,s.parseValueAndOperatorFromItem=se,s.patch=_t,s.patchUserSettings=Kt,s.post=f,s.put=mt,s.queryParamsFromUrl=p,s.removeConcept=Te,s.removeConcepts=et,s.resolveToColumnName=Ue,s.rewriteText=N,s.saveUserSettings=be,s.setGlobalConfig=v,s.setToken=A,s.sha512=qe,s.suggestionsToTreeAggregationNodes=He,s.sysLang=dt,s.translateAggregationToDateOptions=Ge,s.tryOAuthAuthentication=ve,s.trySAMLAuthentication=Ce,s.warn=y,s.withRetry=je,Object.defineProperty(s,Symbol.toStringTag,{value:"Module"})});
1
+ (function(s,h){typeof exports=="object"&&typeof module<"u"?h(exports):typeof define=="function"&&define.amd?define(["exports"],h):(s=typeof globalThis<"u"?globalThis:s||self,h(s.atomic={}))})(this,function(s){"use strict";var vr=Object.defineProperty;var br=(s,h,d)=>h in s?vr(s,h,{enumerable:!0,configurable:!0,writable:!0,value:d}):s[h]=d;var De=(s,h,d)=>br(s,typeof h!="symbol"?h+"":h,d);function h(e){const t=new CustomEvent("authenticated",{bubbles:!0,cancelable:!1,detail:{authenticated:e}});dispatchEvent(t)}const d={loginPath:"/login",createRoutes:!1};function v(e){Object.assign(d,e)}function L(e){const t=j(),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:o}=d;return o&&r.append("Authorization",`Bearer ${o}`),n&&a&&(r.append("sinequa-override-user",n.username),r.append("sinequa-override-domain",n.domain)),r}class p extends Error{constructor(r,n){super(r);De(this,"status");this.name="ApiError",this.status=n}}class V extends p{constructor(t="Server error"){super(t,500),this.name="ServerError"}}class T extends p{constructor(t="Request timed out"){super(t,408),this.name="TimeoutError"}}class D extends p{constructor(t="Unauthorized access"){super(t,401),this.name="UnauthorizedError"}}const ee=/.*\:\(?([><=\d\-\.AND ]+)\)?/;function Fe(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((o,l)=>{if(!l.value||l.value==="")return o;const i=te(l,e.column);return o.push({operator:i.operator,value:i.value,display:l.display||i.display,filters:i.filters,disabled:l.count===0,hidden:l.count===0&&e.isDistribution?!t:!1}),o},[])}function te(e,t){const r=t,n=e.value.match(ee);if(n!=null&&n[1]){const o=(n==null?void 0:n[1].split(" AND ")).map(l=>{const i=l.indexOf(">=")!==-1?"gte":"lt";let c=l.substring(l.indexOf(" ")+1);return{field:r,operator:i,value:c,display:e.display||e.value}});if(o.length===2)return{field:r,operator:"and",filters:o,value:e.value,display:o[0].display||o[0].value};if(o.length===1)return{...o[0],field:r};throw new Error("Failed to parse distribution expression")}return{field:r,operator:"eq",value:e.value,display:e.display}}function Ne(e,t,r){return e.valuesAreExpressions?t.display===r.display:t.value===r.value}function re(e){return e.items&&(e.items=e.items.map(t=>re(t))),e.items&&e.items.some(t=>t.$selected||t.$opened)&&(e.$opened=!0),e}function Be(e,t){const r=[];if(e.length>0){const n=new Map,o=t.replace(/[.*+?^${}()|[\]\\]/g,"\\$&").normalize("NFD").replace(/[\u0300-\u036f]/g,""),l=new RegExp("\\b"+o,"i");e.forEach(i=>{if(i.display.length>1){const c=i.display.normalize("NFD").replace(/[\u0300-\u036f]/g,""),u=l.exec(c);ne(r,n,"/",i.display,+(i.frequency||0),1,((u==null?void 0:u.index)||0)+t.length)}})}return r}function ne(e,t,r,n,a,o,l){const i=n.indexOf("/",r.length),c=n.substring(0,i+1);let u=t.get(c);if(!u){const m=c.replace(/^\/|\/$/g,"");u={value:n.substring(r.length,i),count:a,items:[],hasChildren:!1,$level:o,$opened:l>=c.length,$path:m},t.set(c,u),e.push(u)}c.length<n.length&&(u.hasChildren=!0,ne(u.items,t,c,n,a,o+1,l))}function Qe(e,t){return e.reduce((r,n)=>(t(n)?r.true.push(n):r.false.push(n),r),{true:[],false:[]})}const qe=/(([\+\-])?\(([^\)]+)\))|(([\+\-])?\[([^\]]+)\])|(([\+\-])?\"([^\"]+)\")|(([\+\-])?\/([^\/]+)\/)|(([\+\-])?(\S+))/g,je=2,ae=3,Ve=5,se=6,xe=8,oe=9,Ge=11,ie=12,ze=14,ce=15;function $(e){if(!e)return[];const t=[],r=e.matchAll(qe);for(let n of r)n[ae]?t.push({type:"group",value:n[ae],op:n[je]}):n[se]?t.push({type:"adjacent",value:n[se],op:n[Ve]}):n[oe]?t.push({type:"exact",value:n[oe],op:n[xe]}):n[ie]?t.push({type:"regex",value:n[ie],op:n[Ge]}):n[ce]&&t.push({type:"token",value:n[ce],op:n[ze]});return t}function F(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 He(e,t,r){let n=$(e);for(let a of t)n.push({type:"adjacent",value:a,op:r});return F(n)}function Je(e,t){const r=$(t),n=r.findIndex(a=>a.value===e);return n!==-1?(r.splice(n,1),t=F(r)):t}function Me(e){const t=$(e).filter(r=>r.type!=="adjacent");return F(t)}function We(e){return $(e).filter(t=>t.type==="adjacent").map(t=>t.value)}function Xe(e,t,r){const n=new Intl.RelativeTimeFormat(e,{numeric:"auto"}),{offset:a,unit:o,isFuture:l}=le(t,r);return n.format(a*(l?1:-1),o)}function le(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 Ye(e){const t=e.target;return t&&t.nodeName!=="INPUT"&&t.nodeName!=="TEXTAREA"}function Ke(e){if(e===void 0)return;const{q:t,f:r,p:n,s:a,t:o,n:l,b:i}=R(e),[c]=e.split("?");return{path:c,text:t,filters:r?x(r):void 0,page:n?parseInt(n,10):void 0,sort:a,tab:o,name:l,basket:i}}function Ze(e){if(!e)return"";const{text:t,filters:r,page:n,sort:a,tab:o,name:l,basket:i}=e,c={};t&&(c.q=t),r&&(c.f=JSON.stringify(r)),n&&(c.p=n.toString()),a&&(c.s=a),o&&(c.t=o),l&&(c.n=l),i&&(c.b=i);const u=new URLSearchParams(c).toString();return u||""}function Ee(e){if(e===void 0)return[];const{f:t}=R(e);return x(t)}function x(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 Te(e){const{q:t=""}=R(e);return t}function et(e){const{id:t}=R(e);return decodeURIComponent(t)}function tt(e){const{p:t="0"}=R(e);return parseInt(t,10)}function rt(e){const{t}=R(e);return t}function nt(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 o=G(e,r,!1);if(!o)return e;const l=t.charCodeAt(0),i=t.charCodeAt(1);let c=o;for(;c;)if(l===c.lang1&&i===c.lang2){const m=G(e,c.end+4,!0);return e.substring(m.start,m.end)}else c=G(e,c.end+4,!1);const u=e.substring(o.start,o.end);return u||e}function G(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 at(e,t){const{useLocale:r,useLocaleAsPrefix:n,indexFile:a,path:o,folder:l}=t,i=r?`${e}/`:null,c=n?`${e}.${a}`:a??"";return[o,l,`${i||""}${c}`].filter(u=>u!==void 0).join("/")}function N(e){const t=new CustomEvent("notification",{bubbles:!0,cancelable:!1,detail:e});dispatchEvent(t)}const st={success:(e,t)=>{N({type:"success",message:e,options:t})},info:(e,t)=>{N({type:"info",message:e,options:t})},warning:(e,t)=>{N({type:"warning",message:e,options:t})},error:(e,t)=>{N({type:"error",message:e,options:t})}};var z=(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))(z||{});let B={level:1,enableConsoleOutput:!0};function ot(e){B={...B,...e}}function Q(e,t,r){if(e<B.level)return;const a=`${`[${z[e]}]`} ${t}`;if(B.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 y(e,t){Q(0,e,t)}function b(e,t){Q(1,e,t)}function U(e,t){Q(2,e,t)}function g(e,t){Q(3,e,t)}async function P(e,t="json"){const r=e.headers.get("sinequa-jwt-refresh");if(r!==null&&I(r),e.status===200)switch(t){case"arraybuffer":return await e.arrayBuffer();case"blob":return await e.blob();case"text":return await e.text();default:return await e.json()}if(e.status===401){if(d.userOverrideActive)throw U("Unauthorized access attempt with user override",{endpoint:e.url}),new D("Unauthorized... User override failed.");return await H(e,401)}return e.status===500?(g("Server error occurred",{endpoint:e.url}),await H(e,500)):(U(`Unexpected response status: ${e.status}`,{endpoint:e.url}),await H(e,e.status))}async function H(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 t===401?new D:t===500?new V:new p(`Request failed with status ${t}`,t);const o=JSON.parse(new TextDecoder().decode(a));throw new Error(o.errorMessage||o.message||`Request failed with status ${t}`,{cause:{errorCode:o.errorCode,errorCodeTest:o.errorCodeTest}})}catch(n){throw n instanceof p?n:t===401?new D(n.message):t===500?new V(n.message):new p(n.message??`Request failed with status ${t}`,t)}}async function it(e,t,r){const n=L(r==null?void 0:r.headers),{backendUrl:a}=d,o=t?`?${new URLSearchParams(t)}`:"",l=a?`${a}/${e}${o}`:`${e}${o}`;y(`Making DELETE request to: ${l}`);try{const i=await fetch(l,{method:"DELETE",credentials:"include",headers:n});return P(i,r==null?void 0:r.responseType)}catch(i){throw g("Error making DELETE request:",i),i}}async function _(e,t,r){const n=L(r==null?void 0:r.headers),{backendUrl:a}=d,o=t?`?${new URLSearchParams(t)}`:"";e.startsWith("plugin")&&(e=`api/v1/${e}`);const l=a?`${a}/${e}${o}`:`${e}${o}`;y(`Making GET request to: ${l}`);try{const i=await fetch(l,{method:"GET",credentials:"include",headers:n,signal:r==null?void 0:r.signal});return P(i,r==null?void 0:r.responseType)}catch(i){throw g("Error making GET request:",i),i}}async function ue(e,t,r){const n=L(r==null?void 0:r.headers);n.append("content-type","application/json");const{app:a,backendUrl:o}=d,l={app:a,...t,locale:t.locale||navigator.language,noUserOverride:!0,noAutoAuthentication:!0},i=o?`${o}/${e}`:`${e}`;y(`Making PATCH request to: ${i}`);try{const c=await fetch(i,{method:"PATCH",headers:n,credentials:"include",body:JSON.stringify(l)});return P(c,r==null?void 0:r.responseType)}catch(c){throw g("Error making PATCH request:",c),c}}async function f(e,t,r){const n=L(r==null?void 0:r.headers),{app:a,backendUrl:o}=d;n.has("Content-Type")||n.set("Content-Type","application/json");const l={app:a,...t,locale:t.locale||navigator.language,noUserOverride:!0,noAutoAuthentication:!0};e.startsWith("plugin")&&(e=`api/v1/${e}`);const i=o?`${o}/${e}`:`${e}`;y(`Making POST request to: ${i}`);try{const c=await fetch(i,{method:"POST",headers:n,credentials:"include",body:JSON.stringify(l),signal:r==null?void 0:r.signal});return P(c,r==null?void 0:r.responseType)}catch(c){throw g("Error making POST request:",c),c}}async function ct(e,t,r){const n=L(r==null?void 0:r.headers),{app:a,backendUrl:o}=d,l={app:a,...t,locale:t.locale||navigator.language,noUserOverride:!0,noAutoAuthentication:!0},i=`${o}/${e}`;y(`Making PUT request to: ${i}`);try{const c=await fetch(i,{method:"PUT",headers:n,credentials:"include",body:JSON.stringify(l)});return P(c,r==null?void 0:r.responseType)}catch(c){throw g("Error making PUT request:",c),c}}function lt(e){const t=new AbortController,{signal:r}=t;return e&&setTimeout(()=>{r.aborted||t.abort(new T(`Request timed out after ${e}ms`))},e),{controller:t,signal:r}}function J(e){if(!e)return;const t=new Date(e);return Number.isNaN(t.getTime())?void 0:t}function ut(e){const t=J(e);return!!t&&t.getTime()<=Date.now()}function dt(e,t=7){const r=J(e);if(!r)return!1;const n=Date.now(),a=n+t*24*60*60*1e3,o=r.getTime();return o>n&&o<=a}async function ft(e,t=0,r=1e3){let n;for(let a=0;a<=t;a++)try{return await e()}catch(o){if(n=o,o instanceof p&&o.status>=400&&o.status<500&&o.status!==429||o instanceof DOMException&&o.name==="AbortError")throw o;a<t&&(U(`Retrying request (${a+1}/${t})`,{error:o}),await new Promise(l=>setTimeout(l,r)))}throw n}function ht(e,t,r){var o,l,i,c;if(!e||!t)return;if(r){const u=Object.keys(t.queries).find(E=>E===(r==null?void 0:r.toLowerCase()));let m;u&&(m=t.queries[u]);const Z=(l=((o=m==null?void 0:m.columnsInfo)==null?void 0:o.columns)||[])==null?void 0:l.find(E=>{var Ae,Ie;return(Ie=(Ae=E.aliases)==null?void 0:Ae.split(","))==null?void 0:Ie.includes(e)});if(Z)return Z.name}const n=(c=(i=t.indexes)==null?void 0:i._)==null?void 0:c.columns,a=Object.entries(n).find(u=>{var m;return(m=u[1].aliases)==null?void 0:m.includes(e)});if(a)return a[0]}var C=(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))(C||{}),w=(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))(w||{}),k=(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))(k||{});const gt="1.0";var de=(e=>(e[e.Original=0]="Original",e[e.Corrected=1]="Corrected",e))(de||{}),fe=(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))(fe||{});function mt(e){if(!e)return w.none;switch(e.toLocaleLowerCase()){case"bool":case"boolean":return w.bool;case"date":return w.date;case"datetime":return w.dateTime;case"time":return w.time;case"unsigned":return w.unsigned;case"integer":return w.integer;case"float":return w.float;case"double":return w.double;case"dates":return w.dates;case"datetimes":return w.dateTimes;case"times":return w.times;case"varchar":return w.varchar;case"binary":return w.binary;case"string":return w.string;case"csv":return w.csv;default:return w.none}}function wt(e){switch(e){case"a":return k.a;case"c":return k.c;case"d":return k.d;case"e":return k.e;case"i":return k.i;case"l":return k.l;case"n":return k.n;case"t":return k.t;case"x":return k.x;case"z":return k.z;default:return k.none}}function St(e){let t=k.none;if(e)for(const r of e)t|=wt(r);return t}function S(e,t,r,n){const a=mt(t),o=St(r||"");return{name:e,type:t,typeModifier:r,eType:a,eTypeModifier:o,aliases:n}}const _t={id:S("id","string"),text:S("text","varchar"),documentlanguages:S("documentlanguages","csv","ci",["language"]),databasealias:S("databasealias","varchar"),globalrelevance:S("globalrelevance","double"),matchingpartnames:S("matchingpartnames","csv"),matchlocations:S("matchlocations","csv"),matchlocationsperpartname:S("matchlocationsperpartname","varchar"),extracts:S("extracts","csv"),extractsperpartname:S("extractsperpartname","varchar"),extractslocations:S("extractslocations","csv"),documentweight:S("documentweight","varchar"),groupcount:S("groupcount","integer"),accesslists:S("accesslists","varchar",void 0,["accessLists"])};function kt(e,t){let r=e[t];return r===void 0?[]:(typeof r=="string"&&(r=String(r).split(",")),Array.isArray(r)?r.map(n=>{if(typeof n=="string")return n.trim();if(typeof n=="object"&&n!==null&&"display"in n)return n.display.trim()}).filter(n=>n!==void 0):[String(r).trim()])}function vt(e,t){let r=e[t];if(r===void 0)return[];if(typeof r=="string"&&(r=String(r).split(",")),Array.isArray(r))return r.map(a=>{if(typeof a=="string")return{display:a.trim(),value:a.trim()};if(typeof a=="object"&&a!==null&&"display"in a){const o=a.display.trim(),l="value"in a?String(a.value).trim():o;return{display:o,value:l}}}).filter(a=>a!==void 0);const n=String(r).trim();return[{display:n,value:n}]}function A(e){return e!==null&&typeof e=="object"}function he(e){return A(e)&&Object.prototype.toString.call(e)==="[object ArrayBuffer]"}function ge(e){return A(e)&&Object.prototype.toString.call(e)==="[object Blob]"}function me(e){return typeof e=="string"}function bt(e){return(A(e)||Array.isArray(e))&&!he(e)&&!ge(e)&&!me(e)}function we(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 Ct(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 pt(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(M(e)))}catch{return Promise.resolve(M(e))}return Promise.resolve(M(e))}function M(e){let n=2166136261;for(let m=0;m<e.length;m++)n^=e.charCodeAt(m),n=n*16777619>>>0;const a=n.toString(16).padStart(8,"0"),o=((n^2863311530)>>>0).toString(16).padStart(8,"0"),l=((n^1431655765)>>>0).toString(16).padStart(8,"0"),i=((n^3435973836)>>>0).toString(16).padStart(8,"0"),c=a+o+l+i;return(c+c+c+c).substring(0,128)}let W,Se;function O(e,t=!0){let r=Pt(e.$auditRecord);r&&(_e(r),t&&ke(r)),e.$auditRecord=r}function Pt(e){if(!e)return;let t;if(Array.isArray(e))t=e;else if(A(e)){const r=e;if(r.auditEvents||r.mlAuditEvents)return r;t=[e]}return{auditEvents:t}}function _e(e){var r;const t=Rt();return(r=e.auditEvents)==null||r.forEach(n=>{n.detail||(n.detail={}),n.detail.sessionid=t}),e}function ke(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 Rt(){return(!W||yt())&&(W=we()),Se=new Date,W}function yt(){return new Date().getTime()-Se.getTime()>10*60*1e3}async function Lt(e,t=!0){const r={event:C.None,$auditRecord:e};return O(r,t),f("api/v1/audit.notify",r)}const Ut={notify:Lt};async function Ot(e,t,r){var m;const n=((m=e.items)==null?void 0:m.length)||0,a=10,o={query:{...t,action:"aggregate",aggregations:{[e.name]:{skip:n,count:a}}},$auditRecord:{auditEvents:[r]}};O(o);const l=await f("api/v1/query",o),i=await P(l),{aggregations:c}=i,u=c[0];return u.$hasMore=u.items.length>a,u.items=[...e.items,...u.items],Promise.resolve(u)}async function $t(){const{app:e}=d,t=new URLSearchParams({app:e||""});return _("api/v1/app",t)}async function ve(){const{app:e}=d,t=new URLSearchParams({app:e||"",preLogin:"true"});return _("api/v1/app",t)}function At(){let{backendUrl:e,app:t,useCredentials:r}=d;if(typeof window<"u"){if(e||(e=window.location.origin),!t){const n=window.location.pathname.match(/\/app(?:-debug)?\/([^/#]+)/);n&&(t=n[1])}v({...d,backendUrl:e,app:t})}return r?(v({...d,useCredentials:!0,useSSO:!1,autoOAuthProvider:void 0,autoSAMLProvider:void 0,bearerToken:void 0,useSAML:void 0}),Promise.resolve({})):ve().then(n=>{const{autoOAuthProvider:a,autoSAMLProvider:o}=d,l=!a&&!n.autoOAuthProvider&&!o&&!n.autoSAMLProvider;return v({...d,autoOAuthProvider:a||n.autoOAuthProvider,autoSAMLProvider:o||n.autoSAMLProvider,useCredentials:l,useSSO:l}),n}).catch(n=>{throw g("atomic:fetchAppPreLogin error",n),n})}async function It(e,t,r={}){const n=`api/v1/search.dataset/${e}/${t}`,a=await f(n,{parameters:r}),o=t[0].toLowerCase()+t.slice(1),l=a.datasets[o];if("errorCode"in l&&"errorMessage"in l)throw new Error(l.errorMessage);return l}async function Dt(e,t){const r=`api/v1/search.dataset/${e}`,{parameters:n={},datasets:a=[]}=t;return(await f(r,{parameters:n,datasets:a})).datasets}async function Ft(e){return await _(`api/v1/search.dataset/${e}`)}async function Nt(e,t=!0,r){try{return(await f("api/v1/labels",{action:"list",q:e,public:t,locale:r,localize:!1})).labels}catch(n){throw g("Error in fetchLabels",n),n}}async function Bt(){try{const{app:e=""}=d,t=new URLSearchParams({app:e,action:"getUserRights"});return _("api/v1/labels",t)}catch(e){throw g("Error in getUserRights",e),e}}async function Qt(e,t,r=!0){try{const n={action:"add",labels:e,ids:t,public:r,$auditRecord:{auditEvents:[{type:C.Label_AddDoc,detail:{public:r,label:e?e.toString():null,doccount:t?t.length:0}}],mlAuditEvents:[{actionType:"addToLabel",documentIds:t}]}};return f("api/v1/labels",n)}catch(n){throw g("Error in add",n),n}}async function qt(e,t,r=!0){try{const n={action:"remove",labels:e,ids:t,public:r,$auditRecord:{auditEvents:[{type:C.Label_RemoveDoc,detail:{public:r,label:e?e.toString():null,doccount:t?t.length:0}}],mlAuditEvents:[{actionType:"removeFromLabel",documentIds:t}]}};return f("api/v1/labels",n)}catch(n){throw g("Error in remove",n),n}}async function jt(e,t,r=!0){try{const n={action:"rename",labels:e,newLabel:t,public:r,auditEvents:{type:C.Label_Rename,detail:{public:r,oldlabel:e?e.toString():null,label:t}}};return f("api/v1/labels",n)}catch(n){throw g("Error in rename",n),n}}async function Vt(e,t=!0){try{const r={action:"delete",labels:e,public:t,auditEvents:{type:C.Label_Delete,detail:{public:t,label:e?e.toString():null}}};return f("api/v1/labels",r)}catch(r){throw g("Error in deleteLabels",r),r}}async function xt(e,t,r=!0){try{const n={action:"bulkAdd",labels:e,query:t,public:r,auditEvents:{type:C.Label_Add,detail:{public:r,label:e?e.toString():null,query:t!==null?t.name:null}}};return f("api/v1/labels",n)}catch(n){throw g("Error in bulkAdd",n),n}}async function Gt(e,t,r=!0){try{const n={action:"bulkRemove",labels:e,query:t,public:r,auditEvents:{type:C.Label_Delete,detail:{public:r,label:e?e.toString():null,query:t!==null?t.name:null}}};return f("api/v1/labels",n)}catch(n){throw g("Error in bulkRemove",n),n}}const zt={getUserRights:Bt,add:Qt,remove:qt,rename:jt,delete:Vt,bulkAdd:xt,bulkRemove:Gt};async function Ht(e,t){if(typeof window>"u")return f("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 f("api/v1/preview",{action:"get",id:e,query:n,browserUrl:r})}async function Jt(e){const t=new Headers;t.append("content-type","text");const r=await fetch(e,{method:"GET",headers:t});P(r)}async function X(){const e=new URLSearchParams({action:"get",noAutoAuthentication:"true"});return _("api/v1/principal",e)}async function be(e){const t={noAutoAuthentication:"true",...e},r=new URLSearchParams;return Object.entries(t).forEach(([n,a])=>{a!==void 0&&r.append(n,String(a))}),_("api/v1/principal/list",r)}async function Ce(e){if(!e)return Promise.reject(new Error("userid is required"));const t=new URLSearchParams({action:"userid",noAutoAuthentication:"true",userid:e});return _("api/v1/principal",t)}async function pe(e){if(e.length===0)return Promise.reject(new Error("userids is required"));const t=new URLSearchParams({noAutoAuthentication:"true",userids:[...e].join(",")});return _("api/v1/principal/userids",t)}const Mt={principal:{get:X,list:be,userid:Ce,userids:pe}},Pe=11;async function Wt(e,t,r){var l;const a=await f("api/v1/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===Pe),i.isTree&&i.items&&q(i)}),(l=a.records)==null||l.map(i=>Object.assign(i,{value:i.title,type:"default"}));const o={...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(o)}async function Xt(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 o=await f("api/v1/multi",a);o.results.forEach(i=>{i.aggregations.forEach(c=>{c.$hasMore=!1,!c.isDistribution&&!c.isTree&&c.items&&(c.$hasMore=c.items.length===Pe),c.isTree&&q(c)})}),o.results.forEach(i=>{var c;return(c=i.records)==null?void 0:c.map(u=>Object.assign(u,{value:u.title,type:"default"}))});const l=o.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(l)}function q(e,t="",r=0){let n=[];return e.items&&e.items.forEach(a=>{let o=t?`${t}/${a.value}`:a.value,l=r+1;n.push({path:o,level:l}),a.$path=o,a.$level=l,a.hasChildren?n=n.concat(q(a,o,l)):a.hasChildren=!1}),n}async function Yt({model:e,appName:t,query:r,article:n}){const{webservice:a,format:o,maxcount:l,exportedColumns:i,export:c}=e,u={app:t,webservice:a,query:r,type:c,format:o,maxcount:l,exportedColumns:i,$auditRecord:{auditEvents:[{type:"Search_ExportCSV",detail:{resultid:n?n.id:void 0}}]}};return O(u),await f("api/v1/search.queryexport",u,{responseType:"blob"})}async function Kt(e){const r=await f("api/v1/queryintent",{query:e});return r==null?void 0:r.intents}async function Zt(e,t,r){return(await f("api/v1/similardocuments",{sourceDocumentId:e,query:{name:t}},{signal:r})).data}async function Et(e,t){var a;const n=await f("api/v1/query.links",{webservice:e,query:t});return(a=n==null?void 0:n.links)==null?void 0:a.map(o=>({...o,query:t}))}async function Tt(e,t,r,n,a){const{app:o}=d,l={app:o||"",suggestQuery:e,text:t,filter:r,kinds:n,showSource:a};try{return(await f("api/v1/search.suggest",l)).suggests}catch(i){throw console.error("Error fetching suggestions:",i),i}}async function er(e,t,r,n){const{app:a}=d;return(await f("api/v1/suggestquery",{app:a||"",suggestQuery:e,text:t,query:r,kinds:n})).suggests}async function tr(e,t){if(!t)return Promise.resolve([]);const{app:r}=d;return(await f("api/v1/suggestfield",{app:r||"",text:e,action:"suggests",fields:t})).suggests}async function rr(e,t,r,n,a,o){return f("api/v1/doc.textchunks",{id:e,textChunks:t,highlights:r,query:n,leftSentencesCount:a,rightSentencesCount:o})}async function nr(){const{app:e}=d,t=new URLSearchParams({app:e||"",action:"load"});return _("api/v1/usersettings",t)}async function Re(e,t){const r={action:"save",userSettings:e,$auditRecord:{auditEvents:[t]}};return O(r),f("api/v1/usersettings",r)}async function ar(e,t){const n={action:"patch",userSettings:e,$auditRecord:t?{auditEvents:[t]}:void 0};return O(n),f("api/v1/usersettings",n)}async function sr(){return Re({},{type:"UserSettings_Reset"})}async function or(e,t){return f("api/v2/security/password/change",{newPassword:e,currentPassword:t})}async function ir(e){const t="api/v2/security/password/ask-reset-email",n={changePasswordRedirectUrl:`${window.location.origin}/login?mode=changepassword`,userName:e};return f(t,n)}async function cr(e){return await _(`api/v2/user-profile/${e}`)}async function lr(e){return await f("api/v2/user-profile",e)}async function ur(e,t,r){var a;return await ue(`api/v2/user-profile/${(a=e.data)==null?void 0:a.id}/${t}/${r}`,e)}async function dr(){return await _("api/v2/version")}const ye=async()=>{const{autoOAuthProvider:e}=d;if(typeof window>"u")return f("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 f("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}},Le=async()=>{const{autoSAMLProvider:e}=d;if(typeof window>"u")return f("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 f("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}},Y={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={}}},K=Y;function fr(e){return typeof window>"u"||!window.localStorage?Y.getItem(e):window.localStorage.getItem(e)}function hr(e){typeof window>"u"||!window.localStorage?Y.removeItem(e):window.localStorage.removeItem(e)}function gr(e){return typeof window>"u"||!window.sessionStorage?K.getItem(e):window.sessionStorage.getItem(e)}function mr(e,t){typeof window>"u"||!window.sessionStorage?K.setItem(e,t):window.sessionStorage.setItem(e,t)}function wr(e){typeof window>"u"||!window.sessionStorage?K.removeItem(e):window.sessionStorage.removeItem(e)}const I=e=>mr("sinequa-credentials",JSON.stringify({data:{csrfToken:e}})),Ue=async()=>{try{const e=await _("api/v1/challenge?action=getCsrfToken&suppressErrors=true");return e!=null&&e.csrfToken?(I(e.csrfToken),e.csrfToken):null}catch(e){throw g("Failed to get CSRF token",e),e}};async function Oe(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 f("api/v1/security.webtoken",n);return a!=null&&a.csrfToken?(I(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}=d;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 f("api/v1/security.webtoken",t,{headers:n});return a.csrfToken?(I(a.csrfToken),a.csrfToken):null}catch(a){throw console.error("Failed to get JWT without credentials",a),a}}}const j=()=>{var r;const e=gr("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=fr("csrfToken");return t!==null?t:null},Sr=async e=>{if(e)b("Attempting authentication using credentials"),v({useCredentials:!0,useSSO:!1});else{let i=null;try{b("Attempting to retrieve CSRF token from the backend"),i=await Ue(),y("CSRF token retrieval result",i?"success":"failed")}catch(c){g("Failed to retrieve CSRF token",c)}try{if(i===null){const{autoOAuthProvider:c,autoSAMLProvider:u,useSAML:m}=d;if(c&&!m)return b("Initiating OAuth authentication flow"),await ye(),U("OAuth authentication flow did not redirect as expected"),h(!1),!1;if(u)return b("Initiating SAML authentication flow"),await Le(),U("SAML authentication flow did not redirect as expected"),h(!1),!1;b("No direct authentication method available, will try SSO then credentials"),v({useCredentials:!0,useSSO:!0})}else return b("User authenticated via existing token"),h(!0),!0}catch(c){throw g("Unexpected error during authentication",c),h(!1),c}}if(d.useCredentials&&d.useSSO)try{if(b("Checking if user is authenticated via SSO"),await X())return b("User authenticated using SSO"),v({useCredentials:!1,useSSO:!0}),h(!0),!0}catch(i){if((i==null?void 0:i.status)===401)return b("SSO authentication failed with 401, falling back to credentials"),v({useCredentials:!0,useSSO:!1}),!1;throw g("SSO authentication failed with unexpected error",i),h(!1),g}const{useSSO:r}=d,n=j();if(n&&n!==null||r)return b("user already authenticated",n),v({isRedirectUrl:!1}),h(!0),!0;const{useCredentials:a}=d,{username:o,password:l}=e||{};if(a&&!o&&!l)return g("Credentials are required for authentication"),h(!1),!1;if(o&&l)try{b("authentication using credentials..."),v({useCredentials:!0,useSSO:!1});const{userOverrideActive:i,useroverride:c}=d;return v({userOverrideActive:!1,useroverride:void 0}),await Oe({username:o,password:l}),v({userOverrideActive:i,useroverride:c}),h(!0),!0}catch(i){throw h(!1),i}return h(!1),g("No authentication method available. Please provide credentials or configure OAuth/SAML."),!1},$e=async()=>{const e=new URLSearchParams({action:"deleteWebTokenCookie",noUserOverride:"true",noAutoAuthentication:"true"});return _("api/v1/challenge",e)},_r=async()=>{const{useCredentials:e,userOverrideActive:t}=d;hr("csrfToken"),wr("sinequa-credentials"),e&&!t?(await $e()).methodresult==="ok"?h(!1):console.error("logout failed"):h(!1)},kr=()=>!!j();s.API=Mt,s.ApiError=p,s.Audit=Ut,s.AuditEventType=C,s.DidYouMeanKind=de,s.EngineType=w,s.EngineTypeModifier=k,s.LogLevel=z,s.MINIMUM_COMPATIBLE_SERVER_API_VERSION=gt,s.RFMDisplay=fe,s.ServerError=V,s.TimeoutError=T,s.UnauthorizedError=D,s.addAuditAdditionalInfo=O,s.addConcepts=He,s.addSessionId=_e,s.addUrl=ke,s.aggItemRegex=ee,s.aggregationItemStrictCompare=Ne,s.appInitializerFn=At,s.bisect=Qe,s.buildPathsAndLevels=q,s.configureLogger=ot,s.createHeaders=L,s.createTimeoutController=lt,s.createUserProfile=lr,s.debug=y,s.del=it,s.deleteUserSettings=sr,s.deleteWebTokenCookie=$e,s.emitAuthenticatedEvent=h,s.error=g,s.escapeExpr=Ct,s.expiresSoon=dt,s.extraColumns=_t,s.fetchAggregation=Ot,s.fetchApp=$t,s.fetchAppPreLogin=ve,s.fetchBulkQuery=Xt,s.fetchChangePassword=or,s.fetchDataset=It,s.fetchDatasetList=Ft,s.fetchDatasets=Dt,s.fetchLabels=Nt,s.fetchPreview=Ht,s.fetchPreviewUrl=Jt,s.fetchPrincipal=X,s.fetchPrincipalList=be,s.fetchPrincipalUserid=Ce,s.fetchPrincipalUserids=pe,s.fetchQuery=Wt,s.fetchQueryExport=Yt,s.fetchQueryIntent=Kt,s.fetchSendPasswordResetEmail=ir,s.fetchSimilarDocuments=Zt,s.fetchSponsoredLinks=Et,s.fetchSuggest=Tt,s.fetchSuggestField=tr,s.fetchSuggestQuery=er,s.fetchTextChunks=rr,s.fetchUserProfile=cr,s.fetchUserSettings=nr,s.fetchVersion=dr,s.get=_,s.getConcepts=We,s.getCsrfToken=Ue,s.getFiltersFromURI=x,s.getFiltersFromUrl=Ee,s.getHelpIndexUrl=at,s.getIdFromUrl=et,s.getJWToken=Oe,s.getMetadata=kt,s.getMetadataWithValues=vt,s.getOffsetFromDates=le,s.getQueryPageFromUrl=tt,s.getQueryParamsFromUrl=Ke,s.getQueryTabFromUrl=rt,s.getQueryTextFromUrl=Te,s.getRelativeDate=Xe,s.getToken=j,s.getUrlParamsFromQueryParams=Ze,s.globalConfig=d,s.guid=we,s.handleResponse=P,s.info=b,s.isArrayBuffer=he,s.isAuthenticated=kr,s.isBlob=ge,s.isExpired=ut,s.isJsonable=bt,s.isNotInputEvent=Ye,s.isObject=A,s.isString=me,s.labels=zt,s.login=Sr,s.logout=_r,s.makeColumn=S,s.notify=st,s.openParentNodes=re,s.parseText=$,s.parseValueAndOperatorFromItem=te,s.patch=ue,s.patchUserProfile=ur,s.patchUserSettings=ar,s.post=f,s.put=ct,s.queryParamsFromUrl=R,s.removeConcept=Je,s.removeConcepts=Me,s.resolveToColumnName=ht,s.rewriteText=F,s.saveUserSettings=Re,s.setGlobalConfig=v,s.setToken=I,s.sha512=pt,s.suggestionsToTreeAggregationNodes=Be,s.sysLang=nt,s.toDate=J,s.translateAggregationToDateOptions=Fe,s.tryOAuthAuthentication=ye,s.trySAMLAuthentication=Le,s.warn=U,s.withRetry=ft,Object.defineProperty(s,Symbol.toStringTag,{value:"Module"})});
@@ -1 +1 @@
1
- {"version":3,"file":"login.d.ts","sourceRoot":"","sources":["../../../src/authentication/session/login.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAU/C;;;;;GAKG;AACH,eAAO,MAAM,KAAK,GAAU,cAAc,WAAW,KAAG,OAAO,CAAC,OAAO,CAmItE,CAAC"}
1
+ {"version":3,"file":"login.d.ts","sourceRoot":"","sources":["../../../src/authentication/session/login.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAU/C;;;;;GAKG;AACH,eAAO,MAAM,KAAK,GAAU,cAAc,WAAW,KAAG,OAAO,CAAC,OAAO,CAwItE,CAAC"}
@@ -19,10 +19,42 @@ import { KeyOf } from "./ts-helper";
19
19
  *
20
20
  * @example
21
21
  * getMetadata({ tags: ['foo', 'bar'] }, 'tags'); // ['foo', 'bar']
22
+ * getMetadata({ tags: 'foo,bar' }, 'tags'); // ['foo', 'bar']
22
23
  * getMetadata({ authors: [{ display: 'Alice' }, { display: 'Bob' }] }, 'authors'); // ['Alice', 'Bob']
23
24
  * getMetadata({ title: 'Hello World' }, 'title'); // ['Hello World']
24
25
  * getMetadata({ year: 2024 }, 'year'); // ['2024']
25
26
  * getMetadata({}, 'nonexistent'); // []
26
27
  */
27
28
  export declare function getMetadata(article: Partial<Article & Record<string, unknown>>, metadata: KeyOf<Article & Record<string, unknown>>): string[];
29
+ /**
30
+ * Retrieves metadata values from an article object for a given metadata key as display-value pairs.
31
+ *
32
+ * This function handles metadata values that can be:
33
+ * - An array of strings
34
+ * - An array of objects with a `display` property (and optionally a `value` property)
35
+ * - A single string or number
36
+ *
37
+ * If the metadata value is undefined, it returns an empty array.
38
+ * If the metadata value is an array, it maps each item to an object with `display` and `value` properties.
39
+ * For objects with a `value` property, it uses that; otherwise, it uses the `display` value as both.
40
+ * If the metadata value is a single value, it converts it to a string and returns it as both display and value.
41
+ *
42
+ * @param article - The article object containing metadata, possibly partial and with additional properties.
43
+ * @param metadata - The key of the metadata to retrieve from the article.
44
+ * @returns An array of objects with `display` and `value` string properties.
45
+ *
46
+ * @example
47
+ * getMetadataWithValues({ tags: ['foo', 'bar'] }, 'tags');
48
+ * // [{ display: 'foo', value: 'foo' }, { display: 'bar', value: 'bar' }]
49
+ *
50
+ * getMetadataWithValues({ authors: [{ display: 'Alice', value: 'alice123' }] }, 'authors');
51
+ * // [{ display: 'Alice', value: 'alice123' }]
52
+ *
53
+ * getMetadataWithValues({ title: 'Hello World' }, 'title');
54
+ * // [{ display: 'Hello World', value: 'Hello World' }]
55
+ */
56
+ export declare function getMetadataWithValues(article: Partial<Article & Record<string, unknown>>, metadata: KeyOf<Article & Record<string, unknown>>): {
57
+ display: string;
58
+ value: string;
59
+ }[];
28
60
  //# 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;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"}
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;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,wBAAgB,WAAW,CACzB,OAAO,EAAE,OAAO,CAAC,OAAO,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,EACnD,QAAQ,EAAE,KAAK,CAAC,OAAO,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,GACjD,MAAM,EAAE,CA6BV;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,wBAAgB,qBAAqB,CACnC,OAAO,EAAE,OAAO,CAAC,OAAO,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,EACnD,QAAQ,EAAE,KAAK,CAAC,OAAO,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,GACjD;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,EAAE,CAyCtC"}
@@ -24,6 +24,10 @@ export type AggregationItem = {
24
24
  * A client-side field that indicates whether this item is currently selected
25
25
  */
26
26
  $selected?: boolean;
27
+ /**
28
+ * A client-side field that indicates whether this item is visually selected (checked in the DOM but not sent in the query filters)
29
+ */
30
+ $selectedVisually?: boolean;
27
31
  $cached?: boolean;
28
32
  };
29
33
  export {};
@@ -1 +1 @@
1
- {"version":3,"file":"AggregationItem.d.ts","sourceRoot":"","sources":["../../../src/types/aggregations/AggregationItem.ts"],"names":[],"mappings":"AACA;;GAEG;AAEH,QAAA,MAAM,mBAAmB,6DAAmE,CAAA;AAE5F,MAAM,MAAM,eAAe,GAAG;IAC1B;;OAEG;IACH,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,IAAI,CAAC;IACxC;;OAEG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB;;OAEG;IACH,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf;;OAEG;IACH,eAAe,CAAC,EAAE,MAAM,CAAC,OAAO,mBAAmB,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC,CAAC;IAC5E;;OAEG;IACH,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,OAAO,CAAC,EAAE,OAAO,CAAC;CACrB,CAAA"}
1
+ {"version":3,"file":"AggregationItem.d.ts","sourceRoot":"","sources":["../../../src/types/aggregations/AggregationItem.ts"],"names":[],"mappings":"AACA;;GAEG;AAEH,QAAA,MAAM,mBAAmB,6DAAmE,CAAA;AAE5F,MAAM,MAAM,eAAe,GAAG;IAC1B;;OAEG;IACH,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,IAAI,CAAC;IACxC;;OAEG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB;;OAEG;IACH,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf;;OAEG;IACH,eAAe,CAAC,EAAE,MAAM,CAAC,OAAO,mBAAmB,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC,CAAC;IAC5E;;OAEG;IACH,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB;;OAEG;IACH,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,OAAO,CAAC,EAAE,OAAO,CAAC;CACrB,CAAA"}
@@ -1,4 +1,4 @@
1
1
  type StringWithAutocomplete<T> = T | (string & Record<never, never>);
2
- export type API_ENDPOINTS = StringWithAutocomplete<"api/v1/app" | "api/v1/audit.notify" | "api/v1/challenge" | "api/v1/doc.textchunks" | "api/v1/labels" | "api/v1/multi" | "api/v1/OriginalDocMerge" | "api/v1/plugin" | "api/v1/preview" | "api/v1/principal" | "api/v1/principal/list" | "api/v1/principal/userId" | "api/v1/principal/userids" | "api/v1/query" | "api/v1/query.export" | "api/v1/query.links" | "api/v1/queryintent" | "api/v1/ratings" | "api/v1/recentqueries" | "api/v1/search.dataset" | "api/v1/search.rfm" | "api/v1/search.suggest" | "api/v1/search.queryexport" | "api/v1/similardocuments" | "api/v1/suggestfield" | "api/v1/suggestquery" | "api/v1/usersettings" | "api/v1/security.webtoken" | "api/v1/security.oauth" | "api/v1/security.saml">;
2
+ export type API_ENDPOINTS = StringWithAutocomplete<"api/v1/app" | "api/v1/audit.notify" | "api/v1/challenge" | "api/v1/doc.textchunks" | "api/v1/labels" | "api/v1/multi" | "api/v1/OriginalDocMerge" | "api/v1/plugin" | "api/v1/preview" | "api/v1/principal" | "api/v1/principal/list" | "api/v1/principal/userids" | "api/v1/query" | "api/v1/query.export" | "api/v1/query.links" | "api/v1/queryintent" | "api/v1/ratings" | "api/v1/recentqueries" | "api/v1/search.dataset" | "api/v1/search.rfm" | "api/v1/search.suggest" | "api/v1/search.queryexport" | "api/v1/similardocuments" | "api/v1/suggestfield" | "api/v1/suggestquery" | "api/v1/usersettings" | "api/v1/security.webtoken" | "api/v1/security.oauth" | "api/v1/security.saml">;
3
3
  export {};
4
4
  //# sourceMappingURL=api-endpoints.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"api-endpoints.d.ts","sourceRoot":"","sources":["../../src/types/api-endpoints.ts"],"names":[],"mappings":"AAAA,KAAK,sBAAsB,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,GAAG,MAAM,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC;AACrE,MAAM,MAAM,aAAa,GAAG,sBAAsB,CAChD,YAAY,GACZ,qBAAqB,GACrB,kBAAkB,GAClB,uBAAuB,GACvB,eAAe,GACf,cAAc,GACd,yBAAyB,GACzB,eAAe,GACf,gBAAgB,GAChB,kBAAkB,GAClB,uBAAuB,GACvB,yBAAyB,GACzB,0BAA0B,GAC1B,cAAc,GACd,qBAAqB,GACrB,oBAAoB,GACpB,oBAAoB,GACpB,gBAAgB,GAChB,sBAAsB,GACtB,uBAAuB,GACvB,mBAAmB,GACnB,uBAAuB,GACvB,2BAA2B,GAC3B,yBAAyB,GACzB,qBAAqB,GACrB,qBAAqB,GACrB,qBAAqB,GACrB,0BAA0B,GAC1B,uBAAuB,GACvB,sBAAsB,CACvB,CAAC"}
1
+ {"version":3,"file":"api-endpoints.d.ts","sourceRoot":"","sources":["../../src/types/api-endpoints.ts"],"names":[],"mappings":"AAAA,KAAK,sBAAsB,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,GAAG,MAAM,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC;AACrE,MAAM,MAAM,aAAa,GAAG,sBAAsB,CAC9C,YAAY,GACZ,qBAAqB,GACrB,kBAAkB,GAClB,uBAAuB,GACvB,eAAe,GACf,cAAc,GACd,yBAAyB,GACzB,eAAe,GACf,gBAAgB,GAChB,kBAAkB,GAClB,uBAAuB,GACvB,0BAA0B,GAC1B,cAAc,GACd,qBAAqB,GACrB,oBAAoB,GACpB,oBAAoB,GACpB,gBAAgB,GAChB,sBAAsB,GACtB,uBAAuB,GACvB,mBAAmB,GACnB,uBAAuB,GACvB,2BAA2B,GAC3B,yBAAyB,GACzB,qBAAqB,GACrB,qBAAqB,GACrB,qBAAqB,GACrB,0BAA0B,GAC1B,uBAAuB,GACvB,sBAAsB,CACzB,CAAC"}
@@ -1,17 +1,18 @@
1
1
  export * from "./aggregations";
2
+ export * from "./api-endpoints";
2
3
  export * from "./audit";
4
+ export * from "./chunks";
3
5
  export * from "./config";
6
+ export * from "./credentials";
7
+ export * from "./export/types";
4
8
  export * from "./filters";
5
9
  export * from "./interfaces";
10
+ export * from "./labels/label-rights";
6
11
  export * from "./link-results";
7
12
  export * from "./preview";
8
13
  export * from "./principal";
9
14
  export * from "./search";
10
15
  export * from "./suggest/suggestion";
16
+ export * from "./user-profile/user-profile";
11
17
  export * from "./user-settings/user-settings";
12
- export * from "./chunks";
13
- export * from "./labels/label-rights";
14
- export * from "./export/types";
15
- export * from "./api-endpoints";
16
- export * from "./credentials";
17
18
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"AAAA,cAAc,gBAAgB,CAAC;AAC/B,cAAc,SAAS,CAAC;AACxB,cAAc,UAAU,CAAC;AACzB,cAAc,WAAW,CAAC;AAC1B,cAAc,cAAc,CAAC;AAC7B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,WAAW,CAAC;AAC1B,cAAc,aAAa,CAAC;AAC5B,cAAc,UAAU,CAAC;AACzB,cAAc,sBAAsB,CAAC;AACrC,cAAc,+BAA+B,CAAC;AAC9C,cAAc,UAAU,CAAC;AACzB,cAAc,uBAAuB,CAAC;AACtC,cAAc,gBAAgB,CAAC;AAE/B,cAAc,iBAAiB,CAAC;AAChC,cAAc,eAAe,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"AAAA,cAAc,gBAAgB,CAAC;AAC/B,cAAc,iBAAiB,CAAC;AAChC,cAAc,SAAS,CAAC;AACxB,cAAc,UAAU,CAAC;AACzB,cAAc,UAAU,CAAC;AACzB,cAAc,eAAe,CAAC;AAC9B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,WAAW,CAAC;AAC1B,cAAc,cAAc,CAAC;AAC7B,cAAc,uBAAuB,CAAC;AACtC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,WAAW,CAAC;AAC1B,cAAc,aAAa,CAAC;AAC5B,cAAc,UAAU,CAAC;AACzB,cAAc,sBAAsB,CAAC;AACrC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,+BAA+B,CAAC"}
@@ -15,6 +15,8 @@ export type Principal = {
15
15
  fullName: string;
16
16
  isAdministrator: boolean;
17
17
  isDelegatedAdmin: boolean;
18
+ editablePartition?: boolean;
19
+ passwordExpirationDate?: string | null;
18
20
  param1: string;
19
21
  param2: string;
20
22
  param3: string;
@@ -1 +1 @@
1
- {"version":3,"file":"Principal.d.ts","sourceRoot":"","sources":["../../../src/types/principal/Principal.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,MAAM,MAAM,SAAS,GAAG;IACpB,EAAE,EAAE,MAAM,CAAC;IACX,GAAG,EAAE,MAAM,CAAC;IACZ,GAAG,EAAE,MAAM,CAAC;IACZ,GAAG,EAAE,MAAM,CAAC;IACZ,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,eAAe,EAAE,OAAO,CAAC;IACzB,gBAAgB,EAAE,OAAO,CAAC;IAC1B,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAA;CAClB,CAAA"}
1
+ {"version":3,"file":"Principal.d.ts","sourceRoot":"","sources":["../../../src/types/principal/Principal.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,MAAM,MAAM,SAAS,GAAG;IACtB,EAAE,EAAE,MAAM,CAAC;IACX,GAAG,EAAE,MAAM,CAAC;IACZ,GAAG,EAAE,MAAM,CAAC;IACZ,GAAG,EAAE,MAAM,CAAC;IACZ,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,eAAe,EAAE,OAAO,CAAC;IACzB,gBAAgB,EAAE,OAAO,CAAC;IAC1B,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,sBAAsB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACvC,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;CACjB,CAAC"}
@@ -0,0 +1,31 @@
1
+ export type UserProfile = {
2
+ /** Main data with static fields */
3
+ data: UserProfileData;
4
+ /** Custom data which can contain any parameters */
5
+ customData?: Record<string, unknown>;
6
+ /** Profile creation date */
7
+ created?: string;
8
+ /** Profile last modification date */
9
+ modified?: string;
10
+ };
11
+ export type UserProfileData = {
12
+ /** User ID */
13
+ id: string;
14
+ /** E-mail address */
15
+ mail: string;
16
+ /** Full name */
17
+ fullName: string;
18
+ /** Job title (e.g. Product Owner) */
19
+ jobTitle?: string;
20
+ /** Company group (e.g. R&D) */
21
+ group?: string;
22
+ /** Organisation (e.g. Sinequa) */
23
+ organisation?: string;
24
+ /** Location */
25
+ location?: string;
26
+ /** Profile photo link (on the API side, the image is stored without any special processing) */
27
+ profilePhoto?: string;
28
+ /** List of skills */
29
+ skills?: string;
30
+ };
31
+ //# sourceMappingURL=user-profile.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"user-profile.d.ts","sourceRoot":"","sources":["../../../src/types/user-profile/user-profile.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,WAAW,GAAG;IACxB,mCAAmC;IACnC,IAAI,EAAE,eAAe,CAAC;IACtB,mDAAmD;IACnD,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACrC,4BAA4B;IAC5B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,qCAAqC;IACrC,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB,CAAC;AAEF,MAAM,MAAM,eAAe,GAAG;IAC5B,cAAc;IACd,EAAE,EAAE,MAAM,CAAC;IACX,qBAAqB;IACrB,IAAI,EAAE,MAAM,CAAC;IACb,gBAAgB;IAChB,QAAQ,EAAE,MAAM,CAAC;IACjB,qCAAqC;IACrC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,+BAA+B;IAC/B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,kCAAkC;IAClC,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,eAAe;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,+FAA+F;IAC/F,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,qBAAqB;IACrB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB,CAAC"}
@@ -2,12 +2,17 @@ export type NotificationsEventOptions = {
2
2
  duration?: number;
3
3
  description?: string;
4
4
  closeButton?: boolean;
5
+ action?: NotificationAction;
5
6
  };
6
7
  export type NotificationEvent = {
7
- type: 'success' | 'info' | 'warning' | 'error';
8
+ type: "success" | "info" | "warning" | "error";
8
9
  message: string;
9
10
  options?: NotificationsEventOptions;
10
11
  };
12
+ export type NotificationAction = {
13
+ label: string;
14
+ onClick: () => void;
15
+ };
11
16
  export declare const notify: {
12
17
  success: (message: string, options?: NotificationsEventOptions) => void;
13
18
  info: (message: string, options?: NotificationsEventOptions) => void;
@@ -1 +1 @@
1
- {"version":3,"file":"notification.d.ts","sourceRoot":"","sources":["../../src/utils/notification.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,yBAAyB,GAAG;IACtC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB,CAAC;AAEF,MAAM,MAAM,iBAAiB,GAAG;IAC9B,IAAI,EAAE,SAAS,GAAG,MAAM,GAAG,SAAS,GAAG,OAAO,CAAC;IAC/C,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,yBAAyB,CAAC;CACrC,CAAC;AAWF,eAAO,MAAM,MAAM;uBACE,MAAM,YAAY,yBAAyB;oBAQ9C,MAAM,YAAY,yBAAyB;uBAQxC,MAAM,YAAY,yBAAyB;qBAQ7C,MAAM,YAAY,yBAAyB;CAO7D,CAAC"}
1
+ {"version":3,"file":"notification.d.ts","sourceRoot":"","sources":["../../src/utils/notification.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,yBAAyB,GAAG;IACtC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,MAAM,CAAC,EAAE,kBAAkB,CAAC;CAC7B,CAAC;AAEF,MAAM,MAAM,iBAAiB,GAAG;IAC9B,IAAI,EAAE,SAAS,GAAG,MAAM,GAAG,SAAS,GAAG,OAAO,CAAC;IAC/C,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,yBAAyB,CAAC;CACrC,CAAC;AAEF,MAAM,MAAM,kBAAkB,GAAG;IAC/B,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,IAAI,CAAC;CACrB,CAAC;AAWF,eAAO,MAAM,MAAM;uBACE,MAAM,YAAY,yBAAyB;oBAQ9C,MAAM,YAAY,yBAAyB;uBAQxC,MAAM,YAAY,yBAAyB;qBAQ7C,MAAM,YAAY,yBAAyB;CAO7D,CAAC"}
@@ -5,5 +5,5 @@
5
5
  * @param responseType - The type of response expected ('arraybuffer', 'blob', 'json', or 'text')
6
6
  * @returns A promise that resolves to the response data of type T.
7
7
  */
8
- export declare function handleResponse<T>(response: Response, responseType?: 'arraybuffer' | 'blob' | 'json' | 'text'): Promise<T>;
8
+ export declare function handleResponse<T>(response: Response, responseType?: "arraybuffer" | "blob" | "json" | "text"): Promise<T>;
9
9
  //# sourceMappingURL=handle-response.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"handle-response.d.ts","sourceRoot":"","sources":["../../../src/web-api/helpers/handle-response.ts"],"names":[],"mappings":"AAOA;;;;;;GAMG;AACH,wBAAsB,cAAc,CAAC,CAAC,EAAE,QAAQ,EAAE,QAAQ,EAAE,YAAY,GAAE,aAAa,GAAC,MAAM,GAAC,MAAM,GAAC,MAAe,GAAG,OAAO,CAAC,CAAC,CAAC,CAsCjI"}
1
+ {"version":3,"file":"handle-response.d.ts","sourceRoot":"","sources":["../../../src/web-api/helpers/handle-response.ts"],"names":[],"mappings":"AAOA;;;;;;GAMG;AACH,wBAAsB,cAAc,CAAC,CAAC,EACpC,QAAQ,EAAE,QAAQ,EAClB,YAAY,GAAE,aAAa,GAAG,MAAM,GAAG,MAAM,GAAG,MAAe,GAC9D,OAAO,CAAC,CAAC,CAAC,CAwCZ"}
@@ -1,15 +1,16 @@
1
+ export * from "./create-headers";
1
2
  export * from "./errors/api-error";
2
- export * from "./errors/unauthorized-error";
3
3
  export * from "./errors/server-error";
4
4
  export * from "./errors/timeout-error";
5
- export * from "./request-options";
6
- export * from "./utils/create-timeout-controller";
7
- export * from "./utils/with-retry";
8
- export * from "./create-headers";
5
+ export * from "./errors/unauthorized-error";
9
6
  export * from "./handle-response";
10
- export * from "./methods/post";
11
- export * from "./methods/get";
12
- export * from "./methods/put";
13
7
  export * from "./methods/del";
8
+ export * from "./methods/get";
14
9
  export * from "./methods/patch";
10
+ export * from "./methods/post";
11
+ export * from "./methods/put";
12
+ export * from "./request-options";
13
+ export * from "./utils/create-timeout-controller";
14
+ export * from "./utils/date-utils.";
15
+ export * from "./utils/with-retry";
15
16
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/web-api/helpers/index.ts"],"names":[],"mappings":"AACA,cAAc,oBAAoB,CAAC;AACnC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,uBAAuB,CAAC;AACtC,cAAc,wBAAwB,CAAC;AACvC,cAAc,mBAAmB,CAAC;AAClC,cAAc,mCAAmC,CAAC;AAClD,cAAc,oBAAoB,CAAC;AACnC,cAAc,kBAAkB,CAAC;AACjC,cAAc,mBAAmB,CAAC;AAClC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,eAAe,CAAC;AAC9B,cAAc,eAAe,CAAC;AAC9B,cAAc,eAAe,CAAC;AAC9B,cAAc,iBAAiB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/web-api/helpers/index.ts"],"names":[],"mappings":"AAAA,cAAc,kBAAkB,CAAC;AACjC,cAAc,oBAAoB,CAAC;AACnC,cAAc,uBAAuB,CAAC;AACtC,cAAc,wBAAwB,CAAC;AACvC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,mBAAmB,CAAC;AAClC,cAAc,eAAe,CAAC;AAC9B,cAAc,eAAe,CAAC;AAC9B,cAAc,iBAAiB,CAAC;AAChC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,eAAe,CAAC;AAC9B,cAAc,mBAAmB,CAAC;AAClC,cAAc,mCAAmC,CAAC;AAClD,cAAc,qBAAqB,CAAC;AACpC,cAAc,oBAAoB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"patch.d.ts","sourceRoot":"","sources":["../../../../src/web-api/helpers/methods/patch.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAKpD;;;;;;;;;GASG;AACH,wBAAsB,KAAK,CAAC,CAAC,EAC3B,QAAQ,EAAE,aAAa,EACvB,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC7B,OAAO,CAAC,EAAE;IACR,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,YAAY,CAAC,EAAE,aAAa,GAAG,MAAM,GAAG,MAAM,GAAG,MAAM,CAAC;CACzD,GACA,OAAO,CAAC,CAAC,CAAC,CA2BZ"}
1
+ {"version":3,"file":"patch.d.ts","sourceRoot":"","sources":["../../../../src/web-api/helpers/methods/patch.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAKpD;;;;;;;;;GASG;AACH,wBAAsB,KAAK,CAAC,CAAC,EAC3B,QAAQ,EAAE,aAAa,EACvB,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC7B,OAAO,CAAC,EAAE;IACR,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,YAAY,CAAC,EAAE,aAAa,GAAG,MAAM,GAAG,MAAM,GAAG,MAAM,CAAC;CACzD,GACA,OAAO,CAAC,CAAC,CAAC,CA4BZ"}
@@ -1 +1 @@
1
- {"version":3,"file":"post.d.ts","sourceRoot":"","sources":["../../../../src/web-api/helpers/methods/post.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAKpD;;;;;;;;;;GAUG;AACH,wBAAsB,IAAI,CAAC,CAAC,EAC1B,QAAQ,EAAE,aAAa,EACvB,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC7B,OAAO,CAAC,EAAE;IACR,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,YAAY,CAAC,EAAE,aAAa,GAAG,MAAM,GAAG,MAAM,GAAG,MAAM,CAAC;IACxD,MAAM,CAAC,EAAE,WAAW,CAAC;CACtB,GACA,OAAO,CAAC,CAAC,CAAC,CAiCZ"}
1
+ {"version":3,"file":"post.d.ts","sourceRoot":"","sources":["../../../../src/web-api/helpers/methods/post.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAKpD;;;;;;;;;;GAUG;AACH,wBAAsB,IAAI,CAAC,CAAC,EAC1B,QAAQ,EAAE,aAAa,EACvB,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC7B,OAAO,CAAC,EAAE;IACR,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,YAAY,CAAC,EAAE,aAAa,GAAG,MAAM,GAAG,MAAM,GAAG,MAAM,CAAC;IACxD,MAAM,CAAC,EAAE,WAAW,CAAC;CACtB,GACA,OAAO,CAAC,CAAC,CAAC,CAsCZ"}
@@ -0,0 +1,14 @@
1
+ /**
2
+ * Centralizes date handling for web-api helpers:
3
+ * - parse/normalize backend date values into a consistent Date (`toDate`)
4
+ * - simple comparisons for expiry / validity (`isExpired`, `expiresSoon`)
5
+ * The goal is to keep behaviour consistent (parsing, timezone, now vs future)
6
+ * and avoid duplicating this logic across callers.
7
+ */
8
+ /** Safely parses an ISO date string to a Date. */
9
+ export declare function toDate(iso?: string): Date | undefined;
10
+ /** Returns true if the given ISO date is in the past (or now). */
11
+ export declare function isExpired(iso?: string): boolean;
12
+ /** Returns true if the given ISO date is within the next N days. */
13
+ export declare function expiresSoon(iso?: string, days?: number): boolean;
14
+ //# sourceMappingURL=date-utils..d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"date-utils..d.ts","sourceRoot":"","sources":["../../../../src/web-api/helpers/utils/date-utils..ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,kDAAkD;AAClD,wBAAgB,MAAM,CAAC,GAAG,CAAC,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,CAKrD;AAED,kEAAkE;AAClE,wBAAgB,SAAS,CAAC,GAAG,CAAC,EAAE,MAAM,GAAG,OAAO,CAG/C;AAED,oEAAoE;AACpE,wBAAgB,WAAW,CAAC,GAAG,CAAC,EAAE,MAAM,EAAE,IAAI,SAAI,GAAG,OAAO,CAS3D"}
@@ -1,3 +1,4 @@
1
+ export * from "./helpers";
1
2
  export * from "./v1/fetch-aggregation";
2
3
  export * from "./v1/fetch-app";
3
4
  export * from "./v1/fetch-audit";
@@ -6,13 +7,15 @@ export * from "./v1/fetch-labels";
6
7
  export * from "./v1/fetch-preview";
7
8
  export * from "./v1/fetch-principal";
8
9
  export * from "./v1/fetch-query";
9
- export * from "./v1/fetch-query-intent";
10
10
  export * from "./v1/fetch-query-export";
11
+ export * from "./v1/fetch-query-intent";
11
12
  export * from "./v1/fetch-similar-documents";
12
13
  export * from "./v1/fetch-sponsored-links";
13
14
  export * from "./v1/fetch-suggest";
14
15
  export * from "./v1/fetch-text-chunk";
15
16
  export * from "./v1/fetch-user-settings";
16
- export * from "./helpers";
17
+ export * from "./v2/fetch-change-password";
18
+ export * from "./v2/fetch-forgot-password";
19
+ export * from "./v2/fetch-user-profile";
17
20
  export * from "./v2/fetch-version";
18
21
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/web-api/index.ts"],"names":[],"mappings":"AAAA,cAAc,wBAAwB,CAAC;AACvC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,kBAAkB,CAAC;AACjC,cAAc,oBAAoB,CAAC;AACnC,cAAc,mBAAmB,CAAC;AAClC,cAAc,oBAAoB,CAAC;AACnC,cAAc,sBAAsB,CAAC;AACrC,cAAc,kBAAkB,CAAC;AACjC,cAAc,yBAAyB,CAAC;AACxC,cAAc,yBAAyB,CAAC;AACxC,cAAc,8BAA8B,CAAC;AAC7C,cAAc,4BAA4B,CAAC;AAC3C,cAAc,oBAAoB,CAAC;AACnC,cAAc,uBAAuB,CAAC;AACtC,cAAc,0BAA0B,CAAC;AAEzC,cAAc,WAAW,CAAC;AAE1B,cAAc,oBAAoB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/web-api/index.ts"],"names":[],"mappings":"AAAA,cAAc,WAAW,CAAC;AAC1B,cAAc,wBAAwB,CAAC;AACvC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,kBAAkB,CAAC;AACjC,cAAc,oBAAoB,CAAC;AACnC,cAAc,mBAAmB,CAAC;AAClC,cAAc,oBAAoB,CAAC;AACnC,cAAc,sBAAsB,CAAC;AACrC,cAAc,kBAAkB,CAAC;AACjC,cAAc,yBAAyB,CAAC;AACxC,cAAc,yBAAyB,CAAC;AACxC,cAAc,8BAA8B,CAAC;AAC7C,cAAc,4BAA4B,CAAC;AAC3C,cAAc,oBAAoB,CAAC;AACnC,cAAc,uBAAuB,CAAC;AACtC,cAAc,0BAA0B,CAAC;AACzC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,4BAA4B,CAAC;AAC3C,cAAc,yBAAyB,CAAC;AACxC,cAAc,oBAAoB,CAAC"}
@@ -1 +1 @@
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"}
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,CA0EzD"}
@@ -10,4 +10,59 @@ import { Principal } from "../../types";
10
10
  * the current user's information.
11
11
  */
12
12
  export declare function fetchPrincipal(): Promise<Principal>;
13
+ type ListOptions = {
14
+ search?: string;
15
+ isuser?: boolean;
16
+ isgroup?: boolean;
17
+ };
18
+ /**
19
+ * Fetches a list of principals based on the provided options.
20
+ *
21
+ * @param options - An object containing optional filters for the principal list.
22
+ * @returns A promise that resolves to an array of Principal objects matching the criteria.
23
+ * @remarks
24
+ * This function performs an API call with automatic authentication disabled.
25
+ * The API endpoint used is "api/v1/principal" with the action set to "list".
26
+ * The options parameter can include search, isuser, and isgroup filters.
27
+ *
28
+ * @example
29
+ * ```typescript
30
+ * const principals = await fetchPrincipalList({ search: "john", isuser: true });
31
+ * ```
32
+ */
33
+ export declare function fetchPrincipalList(options: ListOptions): Promise<Principal[]>;
34
+ /**
35
+ * Fetches principal information for a given user ID.
36
+ *
37
+ * @param userid - Indicates a principal identifier (Domain|ID) for which you want to retrieve configuration information.
38
+ * @returns A Promise that resolves to a Principal object containing the user's principal information
39
+ * @throws {Error} When userid parameter is empty or undefined
40
+ *
41
+ * @remarks
42
+ * This function performs an API call with automatic authentication disabled.
43
+ * The API endpoint used is "api/v1/principal".
44
+ */
45
+ export declare function fetchPrincipalUserid(userid: string): Promise<Principal>;
46
+ /**
47
+ * Fetches principal information for the specified user IDs.
48
+ *
49
+ * @param userids - An array of user IDs to fetch principal information for. Must not be empty.
50
+ * @returns A promise that resolves to an array of Principal objects corresponding to the provided user IDs.
51
+ * @throws {Error} If the userids array is empty.
52
+ *
53
+ * @example
54
+ * ```typescript
55
+ * const principals = await fetchPrincipalUserids(['user1', 'user2']);
56
+ * ```
57
+ */
58
+ export declare function fetchPrincipalUserids(userids: string[]): Promise<Principal[]>;
59
+ export declare const API: {
60
+ principal: {
61
+ get: typeof fetchPrincipal;
62
+ list: typeof fetchPrincipalList;
63
+ userid: typeof fetchPrincipalUserid;
64
+ userids: typeof fetchPrincipalUserids;
65
+ };
66
+ };
67
+ export {};
13
68
  //# sourceMappingURL=fetch-principal.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"fetch-principal.d.ts","sourceRoot":"","sources":["../../../src/web-api/v1/fetch-principal.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAGxC;;;;;;;;;GASG;AACH,wBAAsB,cAAc,IAAI,OAAO,CAAC,SAAS,CAAC,CAOzD"}
1
+ {"version":3,"file":"fetch-principal.d.ts","sourceRoot":"","sources":["../../../src/web-api/v1/fetch-principal.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAGxC;;;;;;;;;GASG;AACH,wBAAsB,cAAc,IAAI,OAAO,CAAC,SAAS,CAAC,CAOzD;AAED,KAAK,WAAW,GAAG;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB,CAAC;AAEF;;;;;;;;;;;;;;GAcG;AACH,wBAAsB,kBAAkB,CACtC,OAAO,EAAE,WAAW,GACnB,OAAO,CAAC,SAAS,EAAE,CAAC,CAatB;AAED;;;;;;;;;;GAUG;AACH,wBAAsB,oBAAoB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,CAAC,CAU7E;AAED;;;;;;;;;;;GAWG;AACH,wBAAsB,qBAAqB,CACzC,OAAO,EAAE,MAAM,EAAE,GAChB,OAAO,CAAC,SAAS,EAAE,CAAC,CAStB;AAED,eAAO,MAAM,GAAG;;;;;;;CAOf,CAAC"}