@sinequa/atomic 2.0.2 → 2.0.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +38 -3
- package/dist/atomic.cjs +1 -0
- package/dist/atomic.js +2 -1948
- package/dist/authentication/session/login.d.ts.map +1 -1
- package/dist/authentication/tokens/get-csrf-token.d.ts +12 -6
- package/dist/authentication/tokens/get-csrf-token.d.ts.map +1 -1
- package/dist/spfx/index.cjs +1 -0
- package/dist/spfx/index.d.ts +3 -0
- package/dist/spfx/index.d.ts.map +1 -0
- package/dist/spfx/index.js +2 -0
- package/dist/src-BW4JX9K-.js +1814 -0
- package/dist/src-U6mXZKpZ.cjs +1 -0
- package/dist/web-api/helpers/aad-http-client-manager.d.ts +53 -0
- package/dist/web-api/helpers/aad-http-client-manager.d.ts.map +1 -0
- package/dist/web-api/helpers/handle-response.d.ts +5 -2
- package/dist/web-api/helpers/handle-response.d.ts.map +1 -1
- package/dist/web-api/helpers/methods/del.d.ts.map +1 -1
- package/dist/web-api/helpers/methods/get.d.ts.map +1 -1
- package/dist/web-api/helpers/methods/patch.d.ts.map +1 -1
- package/dist/web-api/helpers/methods/post.d.ts.map +1 -1
- package/dist/web-api/helpers/methods/put.d.ts.map +1 -1
- package/package.json +17 -4
- package/dist/atomic.umd.cjs +0 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
function e(e){if(typeof CustomEvent>`u`||typeof dispatchEvent>`u`)return;let t=new CustomEvent(`authenticated`,{bubbles:!0,cancelable:!1,detail:{authenticated:e}});dispatchEvent(t)}var t={credentials:()=>({kind:`credentials`}),sso:()=>({kind:`sso`}),oauth:e=>({kind:`oauth`,provider:e}),saml:e=>({kind:`saml`,provider:e}),bearer:e=>({kind:`bearer`,token:e}),unknown:()=>({kind:`unknown`})};function n(e,n){let{useCredentials:r,useSSO:i,useSAML:a}=e;return a&&n.autoSAMLProvider?t.saml(n.autoSAMLProvider):r&&i?t.unknown():r?t.credentials():i?t.sso():n.authMode??t.unknown()}var r={loginPath:`/login`,createRoutes:!1,authMode:t.unknown()};Object.defineProperties(r,{useCredentials:{enumerable:!1,configurable:!0,get(){let e=r.authMode?.kind;return e===`credentials`||e===`unknown`}},useSSO:{enumerable:!1,configurable:!0,get(){let e=r.authMode?.kind;return e===`sso`||e===`unknown`}},useSAML:{enumerable:!1,configurable:!0,get(){return r.authMode?.kind===`saml`}}});function i(e){let{useCredentials:t,useSSO:i,useSAML:a,authMode:o,...s}=e;if(Object.assign(r,s),o!==void 0){r.authMode=o;return}(t!==void 0||i!==void 0||a!==void 0)&&(r.authMode=n({useCredentials:t,useSSO:i,useSAML:a},r))}var a={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={}}},o=a;function s(e){return typeof window>`u`||!window.localStorage?a.getItem(e):window.localStorage.getItem(e)}function c(e){typeof window>`u`||!window.localStorage?a.removeItem(e):window.localStorage.removeItem(e)}function l(e){return typeof window>`u`||!window.sessionStorage?o.getItem(e):window.sessionStorage.getItem(e)}function u(e,t){typeof window>`u`||!window.sessionStorage?o.setItem(e,t):window.sessionStorage.setItem(e,t)}function d(e){typeof window>`u`||!window.sessionStorage?o.removeItem(e):window.sessionStorage.removeItem(e)}var ee=/.*:\(?([><=\d\-.AND ]+)\)?/;function te(e,t){return!e?.items||e?.items?.length===0?[]:e.items.reduce((n,r)=>{if(!r.value||r.value===``)return n;let i=ne(r,e.column);return n.push({operator:i.operator,value:i.value,display:r.display||i.display,filters:i.filters,disabled:r.count===0,hidden:r.count===0&&e.isDistribution?!t:!1}),n},[])}function ne(e,t){let n=t,r=e.value.match(ee);if(r?.[1]){let t=(r?.[1].split(` AND `)).map(t=>({field:n,operator:t.indexOf(`>=`)===-1?`lt`:`gte`,value:t.substring(t.indexOf(` `)+1),display:e.display||e.value}));if(t.length===2)return{field:n,operator:`and`,filters:t,value:e.value,display:t[0].display||t[0].value};if(t.length===1)return{...t[0],field:n};throw Error(`Failed to parse distribution expression`)}return{field:n,operator:`eq`,value:e.value,display:e.display}}function re(e,t,n){return e.valuesAreExpressions?t.display===n.display:t.value===n.value}function f(e){return e.items&&=e.items.map(e=>f(e)),e.items&&e.items.some(e=>e.$selected||e.$opened)&&(e.$opened=!0),e}function ie(e,t){let n=[];if(e.length>0){let r=new Map,i=t.replace(/[.*+?^${}()|[\]\\]/g,`\\$&`).normalize(`NFD`).replace(/[\u0300-\u036f]/g,``),a=RegExp(`\\b`+i,`i`);e.forEach(e=>{if(e.display.length>1){let i=e.display.normalize(`NFD`).replace(/[\u0300-\u036f]/g,``),o=a.exec(i);ae(n,r,`/`,e.display,+(e.frequency||0),1,(o?.index||0)+t.length)}})}return n}function ae(e,t,n,r,i,a,o){let s=r.indexOf(`/`,n.length),c=r.substring(0,s+1),l=t.get(c);if(!l){let u=c.replace(/^\/|\/$/g,``);l={value:r.substring(n.length,s),count:i,items:[],hasChildren:!1,$level:a,$opened:o>=c.length,$path:u},t.set(c,l),e.push(l)}c.length<r.length&&(l.hasChildren=!0,ae(l.items,t,c,r,i,a+1,o))}function oe(e,t){return e.reduce((e,n)=>(t(n)?e.true.push(n):e.false.push(n),e),{true:[],false:[]})}var se=/(([\+\-])?\(([^\)]+)\))|(([\+\-])?\[([^\]]+)\])|(([\+\-])?\"([^\"]+)\")|(([\+\-])?\/([^\/]+)\/)|(([\+\-])?(\S+))/g,ce=2,le=3,ue=5,de=6,fe=8,p=9,pe=11,me=12,he=14,ge=15;function m(e){if(!e)return[];let t=[],n=e.matchAll(se);for(let e of n)e[le]?t.push({type:`group`,value:e[le],op:e[ce]}):e[de]?t.push({type:`adjacent`,value:e[de],op:e[ue]}):e[p]?t.push({type:`exact`,value:e[p],op:e[fe]}):e[me]?t.push({type:`regex`,value:e[me],op:e[pe]}):e[ge]&&t.push({type:`token`,value:e[ge],op:e[he]});return t}function h(e){return e.map(e=>{let t=e.op||``;switch(e.type){case`group`:return`${t}(${e.value})`;case`adjacent`:return`${t}[${e.value}]`;case`exact`:return`${t}"${e.value}"`;case`regex`:return`${t}/${e.value}/`;case`token`:return`${t}${e.value}`}}).join(` `)}function _e(e,t,n){let r=m(e);for(let e of t)r.push({type:`adjacent`,value:e,op:n});return h(r)}function ve(e,t){let n=m(t),r=n.findIndex(t=>t.value===e);return r===-1?t:(n.splice(r,1),t=h(n))}function ye(e){return h(m(e).filter(e=>e.type!==`adjacent`))}function be(e){return m(e).filter(e=>e.type===`adjacent`).map(e=>e.value)}function xe(e,t,n){let r=new Intl.RelativeTimeFormat(e,{numeric:`auto`}),{offset:i,unit:a,isFuture:o}=Se(t,n);return r.format(i*(o?1:-1),a)}function Se(e,t){let n=new Date(e),r=t?new Date(t):new Date,i=Math.abs(r.getTime()-n.getTime());return{offset:Math.floor(i/(1e3*60*60*24)),unit:`day`,isFuture:n>r}}function Ce(e){let t=e.target;return t&&t.nodeName!==`INPUT`&&t.nodeName!==`TEXTAREA`}function we(e){if(e===void 0)return;let{q:t,f:n,p:r,s:i,t:a,n:o,b:s}=_(e),[c]=e.split(`?`);return{path:c,text:t,filters:n?g(n):void 0,page:r?parseInt(r,10):void 0,sort:i,tab:a,name:o,basket:s}}function Te(e){if(!e)return``;let{text:t,filters:n,page:r,sort:i,tab:a,name:o,basket:s}=e,c={};return t&&(c.q=t),n&&(c.f=JSON.stringify(n)),r&&(c.p=r.toString()),i&&(c.s=i),a&&(c.t=a),o&&(c.n=o),s&&(c.b=s),new URLSearchParams(c).toString()||``}function Ee(e){if(e===void 0)return[];let{f:t}=_(e);return g(t)}function g(e){let t=decodeURIComponent(e);try{return JSON.parse(t??`[]`)}catch{return console.error(`Error parsing filters from URI: ${e}`),[]}}function _(e){let t=e.split(`?`)[1];if(t===void 0)return{};let n=new URLSearchParams(t);return Object.fromEntries(n)}function De(e){let{q:t=``}=_(e);return t}function Oe(e){let{id:t}=_(e);return decodeURIComponent(t)}function ke(e){let{p:t=`0`}=_(e);return parseInt(t,10)}function Ae(e){let{t}=_(e);return t}function je(e,t){if(!e)return e;let n=0,r=e.length,i=0;if(e[i]===`[`){for(;i<r&&/[0-9]/.test(e[i]);)i++;e[i]===`]`&&(n=i+1)}let a=v(e,n,!1);if(!a)return e;let o=t.charCodeAt(0),s=t.charCodeAt(1),c=a;for(;c;)if(o===c.lang1&&s===c.lang2){let t=v(e,c.end+4,!0);return e.substring(t.start,t.end)}else c=v(e,c.end+4,!1);return e.substring(a.start,a.end)||e}function v(e,t,n){for(let n=t,r=e.length-3;n<r;n++)if(e[n]===`[`&&e[n+3]===`]`)return{start:t,end:n,lang1:e.charCodeAt(n+1),lang2:e.charCodeAt(n+2)};if(n)return{start:t,end:e.length,lang1:-1,lang2:-1}}function Me(e,t){let{useLocale:n,useLocaleAsPrefix:r,indexFile:i,path:a,folder:o}=t,s=n?`${e}/`:null,c=r?`${e}.${i}`:i??``;return[a,o,`${s||``}${c}`].filter(e=>e!==void 0).join(`/`)}function y(e){let t=new CustomEvent(`notification`,{bubbles:!0,cancelable:!1,detail:e});dispatchEvent(t)}var Ne={success:(e,t)=>{y({type:`success`,message:e,options:t})},info:(e,t)=>{y({type:`info`,message:e,options:t})},warning:(e,t)=>{y({type:`warning`,message:e,options:t})},error:(e,t)=>{y({type:`error`,message:e,options:t})}},Pe=function(e){return e[e.DEBUG=0]=`DEBUG`,e[e.INFO=1]=`INFO`,e[e.WARN=2]=`WARN`,e[e.ERROR=3]=`ERROR`,e[e.NONE=4]=`NONE`,e}({}),b={level:1,enableConsoleOutput:!0};function Fe(e){b={...b,...e}}function x(e,t,n){if(e<b.level)return;let r=`${`[${Pe[e]}]`} ${t}`;if(b.enableConsoleOutput)switch(e){case 0:console.debug(r,n||``);break;case 1:console.info(r,n||``);break;case 2:console.warn(r,n||``);break;case 3:console.error(r,n||``);break}}function S(e,t){x(0,e,t)}function C(e,t){x(1,e,t)}function w(e,t){x(2,e,t)}function T(e,t){x(3,e,t)}function E(e){let t=$(),n=new Headers(e);n.append(`Sinequa-Force-Camel-Case`,`true`),n.append(`accept`,`application/json`),t&&n.append(`Sinequa-csrf-token`,t);let{userOverride:i,userOverrideActive:a,bearerToken:o}=r;return o&&n.append(`Authorization`,`Bearer ${o}`),i&&a&&(n.append(`sinequa-override-user`,i.username),n.append(`sinequa-override-domain`,i.domain)),n}var D=class extends Error{status;constructor(e,t){super(e),this.name=`ApiError`,this.status=t}},O=class extends D{constructor(e=`Server error`){super(e,500),this.name=`ServerError`}},Ie=class extends D{constructor(e=`Request timed out`){super(e,408),this.name=`TimeoutError`}},k=class extends D{constructor(e=`Unauthorized access`){super(e,401),this.name=`UnauthorizedError`}};async function A(e,t=`json`){let n=e.headers.get(`sinequa-jwt-refresh`);if(n!==null&&X(n),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(r.userOverrideActive){let t={};try{t=await(e.clone?.()??e).json()}catch{}throw w(`Unauthorized access attempt with user override`,{endpoint:e.url??``,error:t}),new k(t.errorMessage??t.message??`Unauthorized... User override failed.`)}return await j(e,401)}return e.status===500?(T(`Server error occurred`,{endpoint:e.url??``}),await j(e,500)):(w(`Unexpected response status: ${e.status}`,{endpoint:e.url??``}),await j(e,e.status))}async function j(e,t){try{let{done:n,value:r}=await e.body?.getReader().read()||{done:!0,value:void 0};if(n||!r)throw t===401?new k:t===500?new O:new D(`Request failed with status ${t}`,t);let i=JSON.parse(new TextDecoder().decode(r));throw Error(i.errorMessage||i.message||`Request failed with status ${t}`,{cause:{errorCode:i.errorCode,errorCodeTest:i.errorCodeTest}})}catch(e){throw e instanceof D?e:t===401?new k(e.message):t===500?new O(e.message):new D(e.message??`Request failed with status ${t}`,t)}}var M=new class{client=null;initialize(e){this.client=e}getClient(){if(!this.client)throw Error(`AadHttpClient not initialized. Call initializeAadHttpClient first.`);return this.client}isInitialized(){return this.client!==null}};function Le(e){M.initialize(e)}async function N(e,t,n){let i=E(n?.headers),{backendUrl:a}=r,o=t?`?${new URLSearchParams(t)}`:``,s=a?`${a}/${e}${o}`:`${e}${o}`;S(`Making DELETE request to: ${s}`);try{if(M.isInitialized()){let e=M.getClient();return A(await e.fetch(s,e.constructor.configurations.v1,{method:`DELETE`,headers:i}),n?.responseType)}return A(await fetch(s,{method:`DELETE`,credentials:`include`,headers:i}),n?.responseType)}catch(e){throw T(`Error making DELETE request:`,e),e}}async function P(e,t,n){let i=E(n?.headers),{backendUrl:a}=r,o=t?`?${new URLSearchParams(t)}`:``;e.startsWith(`plugin`)&&(e=`api/v1/${e}`);let s=a?`${a}/${e}${o}`:`${e}${o}`;S(`Making GET request to: ${s}`);try{if(M.isInitialized()){let e=M.getClient();return A(await e.get(s,e.constructor.configurations.v1,{headers:i,signal:n?.signal}),n?.responseType)}return A(await fetch(s,{method:`GET`,credentials:`include`,headers:i,signal:n?.signal,redirect:n?.redirect}),n?.responseType)}catch(e){throw T(`Error making GET request:`,e),e}}async function Re(e,t,n){let i=E(n?.headers);i.append(`content-type`,`application/json`);let{app:a,backendUrl:o}=r,s={app:a,...t,locale:t.locale||navigator.language,noUserOverride:!0,noAutoAuthentication:!0},c=o?`${o}/${e}`:`${e}`;S(`Making PATCH request to: ${c}`);try{if(M.isInitialized()){let e=M.getClient();return A(await e.fetch(c,e.constructor.configurations.v1,{method:`PATCH`,headers:i,body:JSON.stringify(s)}),n?.responseType)}return A(await fetch(c,{method:`PATCH`,headers:i,credentials:`include`,body:JSON.stringify(s)}),n?.responseType)}catch(e){throw T(`Error making PATCH request:`,e),e}}async function F(e,t,n){let i=E(n?.headers),{app:a,backendUrl:o}=r;i.has(`Content-Type`)||i.set(`Content-Type`,`application/json`);let s={app:a,...t,locale:t.locale||navigator.language,noUserOverride:!0,noAutoAuthentication:!0};e.startsWith(`plugin`)&&(e=`api/v1/${e}`);let c=o?`${o}/${e}`:`${e}`;S(`Making POST request to: ${c}`);try{if(M.isInitialized()){let e=M.getClient();return A(await e.post(c,e.constructor.configurations.v1,{headers:i,body:JSON.stringify(s),signal:n?.signal}),n?.responseType)}return A(await fetch(c,{method:`POST`,headers:i,credentials:`include`,body:JSON.stringify(s),signal:n?.signal}),n?.responseType)}catch(e){throw T(`Error making POST request:`,e),e}}async function ze(e,t,n){let i=E(n?.headers),{app:a,backendUrl:o}=r,s={app:a,...t,locale:t.locale||navigator.language,noUserOverride:!0,noAutoAuthentication:!0},c=`${o}/${e}`;S(`Making PUT request to: ${c}`);try{if(M.isInitialized()){let e=M.getClient();return A(await e.fetch(c,e.constructor.configurations.v1,{method:`PUT`,headers:i,body:JSON.stringify(s)}),n?.responseType)}return A(await fetch(c,{method:`PUT`,headers:i,credentials:`include`,body:JSON.stringify(s)}),n?.responseType)}catch(e){throw T(`Error making PUT request:`,e),e}}function I(e){let t=new AbortController,{signal:n}=t;return e&&setTimeout(()=>{n.aborted||t.abort(new Ie(`Request timed out after ${e}ms`))},e),{controller:t,signal:n}}function L(e){if(!e)return;let t=new Date(e);return Number.isNaN(t.getTime())?void 0:t}function Be(e){let t=L(e);return!!t&&t.getTime()<=Date.now()}function Ve(e,t=7){let n=L(e);if(!n)return!1;let r=Date.now(),i=r+t*24*60*60*1e3,a=n.getTime();return a>r&&a<=i}async function He(e,t=0,n=1e3){let r;for(let i=0;i<=t;i++)try{return await e()}catch(e){if(r=e,e instanceof D&&e.status>=400&&e.status<500&&e.status!==429||e instanceof DOMException&&e.name===`AbortError`)throw e;i<t&&(w(`Retrying request (${i+1}/${t})`,{error:e}),await new Promise(e=>setTimeout(e,n)))}throw r}function Ue(e,t,n){if(!e||!t)return;if(n){let r=Object.keys(t.queries).find(e=>e===n?.toLowerCase()),i;r&&(i=t.queries[r]);let a=(i?.columnsInfo?.columns||[])?.find(t=>t.aliases?.split(`,`)?.includes(e));if(a)return a.name}let r=t.indexes?._?.columns,i=Object.entries(r).find(t=>t[1].aliases?.includes(e));if(i)return i[0]}var R=function(e){return e.None=`None`,e.Search_FirstPage=`Search_FirstPage`,e.Search_Text=`Search_Text`,e.Search_Refine=`Search_Refine`,e.Search_Select_Item=`Search_Select_Item`,e.Search_Select_Custom=`Search_Select_Custom`,e.Search_Select_Concept=`Search_Select_Concept`,e.Search_Select_Correction=`Search_Select_Correction`,e.Search_GotoPage=`Search_GotoPage`,e.Search_GotoTab=`Search_GotoTab`,e.Search_DisplayResult=`Search_DisplayResult`,e.Search_RemoveResult=`Search_RemoveResult`,e.Search_RemoveAdvanced=`Search_RemoveAdvanced`,e.Search_SavedQuery=`Search_SavedQuery`,e.Search_WebService=`Search_WebService`,e.Search_DidYouMean_Original=`Search_DidYouMean_Original`,e.Search_DidYouMean_Correction=`Search_DidYouMean_Correction`,e.Search_ExportCSV=`Search_ExportCSV`,e.Search_SavedQuery_ExportCSV=`Search_SavedQuery_ExportCSV`,e.Search_Selection_ExportCSV=`Search_Selection_ExportCSV`,e.Search_AlertQuery=`Search_AlertQuery`,e.Search_Select_AnalyticsItem=`Search_Select_AnalyticsItem`,e.Search_Sort=`Search_Sort`,e.Search_Exit_Logout=`Search_Exit_Logout`,e.Search_Timeline_Usage=`Search_Timeline_Usage`,e.Search_AutoComplete=`Search_Autocomplete`,e.Search_Login_Success=`Login_Success_Form`,e.Search_QueryIntent_Detected=`Search_QueryIntent_Detected`,e.SavedQuery_Add=`SavedQuery_Add`,e.SavedQuery_Delete=`SavedQuery_Delete`,e.SavedQuery_DeleteAll=`SavedQuery_DeleteAll`,e.SavedQuery_Rename=`SavedQuery_Rename`,e.Alert_Edit=`Alert_Edit`,e.Alert_Delete=`Alert_Delete`,e.Alert_DeleteAll=`Alert_DeleteAll`,e.Link_Display=`Link_Display`,e.Link_Click=`Link_Click`,e.Basket_Add=`Basket_Add`,e.Basket_Delete=`Basket_Delete`,e.Basket_DeleteAll=`Basket_DeleteAll`,e.Basket_Rename=`Basket_Rename`,e.Basket_AddDoc=`Basket_AddDoc`,e.Basket_RemoveDoc=`Basket_RemoveDoc`,e.Basket_Open=`Basket_Open`,e.Basket_ExportCSV=`Basket_ExportCSV`,e.Label_Add=`Label_Add`,e.Label_Delete=`Label_Delete`,e.Label_Rename=`Label_Rename`,e.Label_Open=`Label_Open`,e.Label_AddDoc=`Label_AddDoc`,e.Label_RemoveDoc=`Label_RemoveDoc`,e.Label_ExportCSV=`Label_ExportCSV`,e.Label_Menu_ExportCSV=`Label_Menu_ExportCSV`,e.Rating_Set=`Rating_Set`,e.Rating_Delete=`Rating_Delete`,e.Doc_Preview=`Doc_Preview`,e.Doc_CacheHtml=`Doc_CacheHtml`,e.Doc_CachePdf=`Doc_CachePdf`,e.Doc_CacheOriginal=`Doc_CacheOriginal`,e.Doc_Url1=`Doc_Url1`,e.Doc_Url2=`Doc_Url2`,e.Preview_Close=`Preview_Close`,e.Click_ResultLink=`Click_ResultLink`,e.Click_ResultLink1=`Click_ResultLink1`,e.Click_ResultLink2=`Click_ResultLink2`,e.Click_ResultLink3=`Click_ResultLink3`,e.Click_ResultLink4=`Click_ResultLink4`,e.Click_ResultLink5=`Click_ResultLink5`,e.Click_ResultLink6=`Click_ResultLink6`,e.Click_ResultLink7=`Click_ResultLink7`,e.Click_ResultLink8=`Click_ResultLink8`,e.Click_ResultLink9=`Click_ResultLink9`,e.Click_ResultLink10=`Click_ResultLink10`,e.Click_PreviewLink1=`Click_PreviewLink1`,e.Click_PreviewLink2=`Click_PreviewLink2`,e.Click_PreviewLink3=`Click_PreviewLink3`,e.Click_PreviewLink4=`Click_PreviewLink4`,e.Click_PreviewLink5=`Click_PreviewLink5`,e.Click_PreviewLink6=`Click_PreviewLink6`,e.Click_PreviewLink7=`Click_PreviewLink7`,e.Click_PreviewLink8=`Click_PreviewLink8`,e.Click_PreviewLink9=`Click_PreviewLink9`,e.Click_PreviewLink10=`Click_PreviewLink10`,e.RFM_ClickSet=`RFM_ClickSet`,e.RFM_ClickReset=`RFM_ClickReset`,e.RFM_Like=`RFM_Like`,e.RFM_LikeReset=`RFM_LikeReset`,e.RFM_Dislike=`RFM_Dislike`,e.RFM_Important=`RFM_Important`,e.RFM_ImportantReset=`RFM_ImportantReset`,e.RFM_Ban=`RFM_Ban`,e.Navigation_Exit=`Navigation_Exit`,e.Navigation_Return=`Navigation_Return`,e.Navigation_Route=`Navigation_Route`,e.Answer_Display=`Answer_Display`,e.Answer_Click=`Answer_Click`,e.Answer_Result=`Answer_Result`,e.Answer_Liked=`Answer_Liked`,e.Answer_Disliked=`Answer_Disliked`,e.Answer_Liked_Cancelled=`Answer_Liked_Cancelled`,e.Answer_Disliked_Cancelled=`Answer_Disliked_Cancelled`,e.TopPassages_Display=`TopPassages_Display`,e.TopPassages_Click=`TopPassages_Click`,e.UserSettings_Reset=`UserSettings_Reset`,e.Change_Password_Failed=`change.password.failed`,e.Change_Password_Success_Form=`change.password.success.form`,e.Forgot_Password_Request=`forgot.password.request`,e.Login_Denied=`login.denied`,e.Login_Success_Form=`login.success.form`,e.Send_Reset_Password_Link=`send.reset.password.link`,e.Xrest_ChangePassword=`xrest.changepassword`,e}({}),z=function(e){return e[e.none=0]=`none`,e[e.bool=1]=`bool`,e[e.date=2]=`date`,e[e.dateTime=3]=`dateTime`,e[e.time=4]=`time`,e[e.unsigned=5]=`unsigned`,e[e.integer=6]=`integer`,e[e.float=7]=`float`,e[e.double=8]=`double`,e[e.dates=9]=`dates`,e[e.dateTimes=10]=`dateTimes`,e[e.times=11]=`times`,e[e.varchar=12]=`varchar`,e[e.binary=13]=`binary`,e[e.string=14]=`string`,e[e.csv=15]=`csv`,e}({}),B=function(e){return e[e.none=0]=`none`,e[e.a=2053]=`a`,e[e.c=4]=`c`,e[e.d=8]=`d`,e[e.e=2068]=`e`,e[e.i=256]=`i`,e[e.l=2052]=`l`,e[e.n=8192]=`n`,e[e.t=524292]=`t`,e[e.x=8388608]=`x`,e[e.z=33554432]=`z`,e[e.f_ordinal=8192]=`f_ordinal`,e[e.f_multidates=8192]=`f_multidates`,e[e.f_varchar=33554432]=`f_varchar`,e[e.f_binary=33562624]=`f_binary`,e[e.f_string=33562888]=`f_string`,e[e.f_csv=42477853]=`f_csv`,e[e.f_overridable=33554696]=`f_overridable`,e}({}),We=`1.0`,Ge=function(e){return e[e.Original=0]=`Original`,e[e.Corrected=1]=`Corrected`,e}({}),Ke=function(e){return e[e.none=0]=`none`,e[e.positiveRate=1]=`positiveRate`,e[e.mainlyPosRate=2]=`mainlyPosRate`,e[e.unrate=4]=`unrate`,e[e.mainlyNegRate=8]=`mainlyNegRate`,e[e.negativeRate=16]=`negativeRate`,e[e.all=31]=`all`,e[e.positiveOnly=7]=`positiveOnly`,e[e.negativeOnly=28]=`negativeOnly`,e[e.personalAll=21]=`personalAll`,e[e.personalPosOnly=5]=`personalPosOnly`,e[e.personalNegOnly=20]=`personalNegOnly`,e}({});function qe(e){if(!e)return z.none;switch(e.toLocaleLowerCase()){case`bool`:case`boolean`:return z.bool;case`date`:return z.date;case`datetime`:return z.dateTime;case`time`:return z.time;case`unsigned`:return z.unsigned;case`integer`:return z.integer;case`float`:return z.float;case`double`:return z.double;case`dates`:return z.dates;case`datetimes`:return z.dateTimes;case`times`:return z.times;case`varchar`:return z.varchar;case`binary`:return z.binary;case`string`:return z.string;case`csv`:return z.csv;default:return z.none}}function Je(e){switch(e){case`a`:return B.a;case`c`:return B.c;case`d`:return B.d;case`e`:return B.e;case`i`:return B.i;case`l`:return B.l;case`n`:return B.n;case`t`:return B.t;case`x`:return B.x;case`z`:return B.z;default:return B.none}}function Ye(e){let t=B.none;if(e)for(let n of e)t|=Je(n);return t}function V(e,t,n,r){return{name:e,type:t,typeModifier:n,eType:qe(t),eTypeModifier:Ye(n||``),aliases:r}}var Xe={id:V(`id`,`string`),text:V(`text`,`varchar`),documentlanguages:V(`documentlanguages`,`csv`,`ci`,[`language`]),databasealias:V(`databasealias`,`varchar`),globalrelevance:V(`globalrelevance`,`double`),matchingpartnames:V(`matchingpartnames`,`csv`),matchlocations:V(`matchlocations`,`csv`),matchlocationsperpartname:V(`matchlocationsperpartname`,`varchar`),extracts:V(`extracts`,`csv`),extractsperpartname:V(`extractsperpartname`,`varchar`),extractslocations:V(`extractslocations`,`csv`),documentweight:V(`documentweight`,`varchar`),groupcount:V(`groupcount`,`integer`),accesslists:V(`accesslists`,`varchar`,void 0,[`accessLists`])};function Ze(e){return e.filter(e=>!!e)}var Qe={eq:(e,t)=>({field:e,operator:`eq`,value:t}),neq:(e,t)=>({field:e,operator:`neq`,value:t}),gt:(e,t)=>({field:e,operator:`gt`,value:t}),gte:(e,t)=>({field:e,operator:`gte`,value:t}),lt:(e,t)=>({field:e,operator:`lt`,value:t}),lte:(e,t)=>({field:e,operator:`lte`,value:t}),like:(e,t)=>({field:e,operator:`like`,value:t}),contains:(e,t)=>({field:e,operator:`contains`,value:t}),regex:(e,t)=>({field:e,operator:`regex`,value:t}),isNull:e=>({field:e,operator:`null`}),isNotNull:e=>({field:e,operator:`notnull`}),in:(e,t)=>({field:e,operator:`in`,values:t}),between:(e,t,n)=>({field:e,operator:`between`,start:t,end:n}),and:(...e)=>$e(`and`,e),or:(...e)=>$e(`or`,e),not:(...e)=>{let t=Ze(e);return t.length?{operator:`not`,filters:t}:void 0}};function $e(e,t){let n=Ze(t);if(n.length!==0)return n.length===1?n[0]:{operator:e,filters:n}}function et(e,t){let n=e[t];return n===void 0?[]:(typeof n==`string`&&(n=String(n).split(`,`)),Array.isArray(n)?n.map(e=>{if(typeof e==`string`)return e.trim();if(typeof e==`object`&&e&&`display`in e)return e.display.trim()}).filter(e=>e!==void 0):[String(n).trim()])}function tt(e,t){let n=e[t];if(n===void 0)return[];if(typeof n==`string`&&(n=String(n).split(`,`)),Array.isArray(n))return n.map(e=>{if(typeof e==`string`)return{display:e.trim(),value:e.trim()};if(typeof e==`object`&&e&&`display`in e){let t=e.display.trim();return{display:t,value:`value`in e?String(e.value).trim():t}}}).filter(e=>e!==void 0);let r=String(n).trim();return[{display:r,value:r}]}function H(e){return typeof e==`object`&&!!e}function nt(e){return H(e)&&Object.prototype.toString.call(e)===`[object ArrayBuffer]`}function rt(e){return H(e)&&Object.prototype.toString.call(e)===`[object Blob]`}function it(e){return Object.prototype.toString.call(e)===`[object Date]`}function at(e){return typeof e==`string`}function ot(e){return(H(e)||Array.isArray(e))&&!nt(e)&&!rt(e)&&!at(e)}function st(e){return e?(e.getHours()*60*60+e.getMinutes()*60+e.getSeconds())*1e3+e.getMilliseconds():0}function ct(e=!0){let t=Date.now();return(e?`xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx`:`xxxxxxxxxxxx4xxxyxxxxxxxxxxxxxxx`).replace(/[xy]/g,e=>{let n=(t+Math.random()*16)%16|0;return t=Math.floor(t/16),(e===`x`?n:n&3|8).toString(16)})}function lt(e){if(!e)return"``";if(e=String(e),e.search(/[\\`]/)===-1)return`\`${e}\``;let t=["`"];for(let n=0,r=e.length;n<r;n++){let r=e[n];(r===`\\`||r==="`")&&t.push(`\\`),t.push(r)}return t.push("`"),t.join(``)}function ut(e){if(typeof crypto<`u`&&crypto.subtle&&typeof crypto.subtle.digest==`function`)try{return crypto.subtle.digest(`SHA-512`,new TextEncoder().encode(e)).then(e=>Array.prototype.map.call(new Uint8Array(e),e=>`00${e.toString(16)}`.slice(-2)).join(``)).catch(()=>Promise.resolve(U(e)))}catch{return Promise.resolve(U(e))}return Promise.resolve(U(e))}function U(e){let t=2166136261;for(let n=0;n<e.length;n++)t^=e.charCodeAt(n),t=t*16777619>>>0;let n=t.toString(16).padStart(8,`0`),r=((t^2863311530)>>>0).toString(16).padStart(8,`0`),i=((t^1431655765)>>>0).toString(16).padStart(8,`0`),a=((t^3435973836)>>>0).toString(16).padStart(8,`0`),o=n+r+i+a;return(o+o+o+o).substring(0,128)}var W,dt;function G(e,t=!0){let n=ft(e.$auditRecord);n&&(pt(n),t&&mt(n)),e.$auditRecord=n}function ft(e){if(!e)return;let t;if(Array.isArray(e))t=e;else if(H(e)){let n=e;if(n.auditEvents||n.mlAuditEvents)return n;t=[e]}return{auditEvents:t}}function pt(e){let t=ht();return e.auditEvents?.forEach(e=>{e.detail||={},e.detail.sessionid=t}),e}function mt(e){let t=typeof window<`u`?decodeURIComponent(window.location.href):`http://localhost`;return e?.auditEvents?.forEach(e=>{e.detail||={},e.detail.url=t}),e}function ht(){return(!W||gt())&&(W=ct()),dt=new Date,W}function gt(){return new Date().getTime()-dt.getTime()>600*1e3}async function _t(e,t=!0){let n={event:R.None,$auditRecord:e};return G(n,t),F(`api/v1/audit.notify`,n)}var vt={notify:_t};async function yt(e,t,n){let r=e.items?.length||0,i={query:{...t,action:`aggregate`,aggregations:{[e.name]:{skip:r,count:10}}},$auditRecord:{auditEvents:[n]}};G(i);let{aggregations:a}=await A(await F(`api/v1/query`,i)),o=a[0];return o.$hasMore=o.items.length>10,o.items=[...e.items,...o.items],Promise.resolve(o)}function bt(e,n){if(e.authMode?.kind===`credentials`)return t.credentials();if(e.bearerToken)return t.bearer(e.bearerToken);let r=e.autoOAuthProvider||n?.autoOAuthProvider;if(r)return t.oauth(r);let i=e.autoSAMLProvider||n?.autoSAMLProvider;return i?t.saml(i):t.unknown()}async function xt(e){let t=e||r.app;return P(`api/v1/app`,new URLSearchParams({app:t||``}))}async function St(){let{app:e}=r;return P(`api/v1/app`,new URLSearchParams({app:e||``,preLogin:`true`}))}function Ct(){let{backendUrl:e,app:n}=r;if(typeof window<`u`){if(e||=window.location.origin,!n){let e=window.location.pathname.match(/\/app(?:-debug)?\/([^/#]+)/);e&&(n=e[1])}i({backendUrl:e,app:n})}return r.authMode?.kind===`credentials`?(i({authMode:t.credentials(),autoOAuthProvider:void 0,autoSAMLProvider:void 0,bearerToken:void 0}),Promise.resolve({})):St().then(e=>(i({authMode:bt(r,e),autoOAuthProvider:r.autoOAuthProvider||e.autoOAuthProvider,autoSAMLProvider:r.autoSAMLProvider||e.autoSAMLProvider}),e)).catch(e=>{throw T(`atomic:fetchAppPreLogin error`,e),e})}var wt=Ct;async function Tt(e,t,n={}){let r=await F(`api/v1/search.dataset/${e}/${t}`,{parameters:n}),i=t[0].toLowerCase()+t.slice(1),a=r.datasets[i];if(`errorCode`in a&&`errorMessage`in a)throw Error(a.errorMessage);return a}async function Et(e,t){let n=`api/v1/search.dataset/${e}`,{parameters:r={},datasets:i=[]}=t;return(await F(n,{parameters:r,datasets:i})).datasets}async function Dt(e){return await P(`api/v1/search.dataset/${e}`)}async function Ot(e,t=!0,n){try{return(await F(`api/v1/labels`,{action:`list`,q:e,public:t,locale:n,localize:!1})).labels}catch(e){throw T(`Error in fetchLabels`,e),e}}async function kt(){try{let{app:e=``}=r;return P(`api/v1/labels`,new URLSearchParams({app:e,action:`getUserRights`}))}catch(e){throw T(`Error in getUserRights`,e),e}}async function At(e,t,n=!0){try{return F(`api/v1/labels`,{action:`add`,labels:e,ids:t,public:n,$auditRecord:{auditEvents:[{type:R.Label_AddDoc,detail:{public:n,label:e?e.toString():null,doccount:t?t.length:0}}],mlAuditEvents:[{actionType:`addToLabel`,documentIds:t}]}})}catch(e){throw T(`Error in add`,e),e}}async function jt(e,t,n=!0){try{return F(`api/v1/labels`,{action:`remove`,labels:e,ids:t,public:n,$auditRecord:{auditEvents:[{type:R.Label_RemoveDoc,detail:{public:n,label:e?e.toString():null,doccount:t?t.length:0}}],mlAuditEvents:[{actionType:`removeFromLabel`,documentIds:t}]}})}catch(e){throw T(`Error in remove`,e),e}}async function Mt(e,t,n=!0){try{return F(`api/v1/labels`,{action:`rename`,labels:e,newLabel:t,public:n,auditEvents:{type:R.Label_Rename,detail:{public:n,oldlabel:e?e.toString():null,label:t}}})}catch(e){throw T(`Error in rename`,e),e}}async function Nt(e,t=!0){try{return F(`api/v1/labels`,{action:`delete`,labels:e,public:t,auditEvents:{type:R.Label_Delete,detail:{public:t,label:e?e.toString():null}}})}catch(e){throw T(`Error in deleteLabels`,e),e}}async function Pt(e,t,n=!0){try{return F(`api/v1/labels`,{action:`bulkAdd`,labels:e,query:t,public:n,auditEvents:{type:R.Label_Add,detail:{public:n,label:e?e.toString():null,query:t===null?null:t.name}}})}catch(e){throw T(`Error in bulkAdd`,e),e}}async function Ft(e,t,n=!0){try{return F(`api/v1/labels`,{action:`bulkRemove`,labels:e,query:t,public:n,auditEvents:{type:R.Label_Delete,detail:{public:n,label:e?e.toString():null,query:t===null?null:t.name}}})}catch(e){throw T(`Error in bulkRemove`,e),e}}var It={getUserRights:kt,add:At,remove:jt,rename:Mt,delete:Nt,bulkAdd:Pt,bulkRemove:Ft};async function Lt(e,t){if(typeof window>`u`)return F(`api/v1/preview`,{action:`get`,id:e,query:t});let n=`${window.location.origin}${window.location.pathname}`;return F(`api/v1/preview`,{action:`get`,id:e,query:{name:t?.name,text:t?.text},browserUrl:n})}async function Rt(e){let t=new Headers;t.append(`content-type`,`text`),A(await fetch(e,{method:`GET`,headers:t}))}async function zt(){return P(`api/v1/principal`,new URLSearchParams({action:`get`,noAutoAuthentication:`true`}))}async function Bt(e){let t={noAutoAuthentication:`true`,...e},n=new URLSearchParams;return Object.entries(t).forEach(([e,t])=>{t!==void 0&&n.append(e,String(t))}),P(`api/v1/principal/list`,n)}async function Vt(e){return e?P(`api/v1/principal`,new URLSearchParams({action:`userid`,noAutoAuthentication:`true`,userid:e})):Promise.reject(Error(`userid is required`))}async function Ht(e){return e.length===0?Promise.reject(Error(`userids is required`)):P(`api/v1/principal/userids`,new URLSearchParams({noAutoAuthentication:`true`,userids:[...e].join(`,`)}))}var Ut={principal:{get:zt,list:Bt,userid:Vt,userids:Ht}},Wt=11;async function Gt(e,t,n){let r=await F(`api/v1/query`,{query:e,$auditRecord:t,queryIntentData:n});r.aggregations.forEach(e=>{e.$hasMore=!1,!e.isDistribution&&!e.isTree&&e.items&&(e.$hasMore=e.items.length===Wt),e.isTree&&e.items&&K(e)}),r.records?.map(e=>Object.assign(e,{value:e.title,type:`default`}));let i={...r,nextPage:r.page<Math.ceil(r.rowCount/r.pageSize)?r.page+1:void 0,previousPage:r.page>1?r.page-1:void 0};return Promise.resolve(i)}async function Kt(e,t,n){let{app:i=``}=r,a={methods:[],mode:t,propagateErrors:!0,$auditRecord:{auditEvents:[n]}};for(let t of e)a.methods.push({method:`query`,app:i,query:t});let o=await F(`api/v1/multi`,a);o.results.forEach(e=>{e.aggregations.forEach(e=>{e.$hasMore=!1,!e.isDistribution&&!e.isTree&&e.items&&(e.$hasMore=e.items.length===Wt),e.isTree&&K(e)})}),o.results.forEach(e=>e.records?.map(e=>Object.assign(e,{value:e.title,type:`default`})));let s=o.results.map(e=>({...e,nextPage:e.page<Math.ceil(e.rowCount/e.pageSize)?e.page+1:void 0,previousPage:e.page>1?e.page-1:void 0}));return Promise.resolve(s)}function K(e,t=``,n=0){let r=[];return e.items&&e.items.forEach(e=>{let i=t?`${t}/${e.value}`:e.value,a=n+1;r.push({path:i,level:a}),e.$path=i,e.$level=a,e.hasChildren?r=r.concat(K(e,i,a)):e.hasChildren=!1}),r}async function qt({model:e,appName:t,query:n,article:r}){let{webservice:i,format:a,maxcount:o,exportedColumns:s,export:c}=e,l={app:t,webservice:i,query:n,type:c,format:a,maxcount:o,exportedColumns:s,$auditRecord:{auditEvents:[{type:`Search_ExportCSV`,detail:{resultid:r?r.id:void 0}}]}};return G(l),await F(`api/v1/search.queryexport`,l,{responseType:`blob`})}async function Jt(e){return(await F(`api/v1/queryintent`,{query:e}))?.intents}async function Yt(e,t,n){return(await F(`api/v1/similardocuments`,{sourceDocumentId:e,query:{name:t}},{signal:n})).data}async function Xt(e,t){return(await F(`api/v1/query.links`,{webservice:e,query:t}))?.links?.map(e=>({...e,query:t}))}function Zt(e,t){if(typeof e==`number`)return`${e}`;if(it(e))return t?`'${Qt(e)}'`:Qt(e);if(typeof e==`boolean`)return e?`true`:`false`;if(e===null)return`null`;if(Array.isArray(e)){let t=[];return e.forEach(e=>{t.length>0&&t.push(`,`),e?typeof e==`string`?t.push(e):t.push(e.display||e.value||``):t.push(`null`)}),t.splice(0,0,`[`),t.push(`]`),t.join(``)}return t?`'${e}'`:e}function Qt(e){if(!e)return``;try{return st(e)===0?new Intl.DateTimeFormat(`en-CA`,{year:`numeric`,month:`2-digit`,day:`2-digit`}).format(e):`${new Intl.DateTimeFormat(`en-CA`).format(e)} ${new Intl.DateTimeFormat(`en-CA`,{hour:`2-digit`,minute:`2-digit`,second:`2-digit`,hour12:!1}).format(e)}`}catch{return`Invalid date`}}async function $t(e,t,n,i,a){let{app:o}=r,s={app:o||``,suggestQuery:e,text:t,filter:n,kinds:i,showSource:a};try{return(await F(`api/v1/search.suggest`,s)).suggests}catch(e){throw console.error(`Error fetching suggestions:`,e),e}}async function en(e,t,n,i){let{app:a}=r;return(await F(`api/v1/suggestquery`,{app:a||``,suggestQuery:e,text:t,query:n,kinds:i})).suggests}async function tn(e,t,n){if(!t)return Promise.resolve([]);let{app:i}=r,a=await F(`api/v1/suggestfield`,{app:i||``,text:e,fields:t,query:n});return a.suggests.forEach(e=>{e.display=Zt(e.display)}),a.suggests}async function nn(e,t,n,r,i,a){return F(`api/v1/doc.textchunks`,{id:e,textChunks:t,highlights:n,query:r,leftSentencesCount:i,rightSentencesCount:a})}async function rn(){let{app:e}=r;return P(`api/v1/usersettings`,new URLSearchParams({app:e||``,action:`load`}))}async function an(e,t){let n={action:`save`,userSettings:e,$auditRecord:{auditEvents:[t]}};return G(n),F(`api/v1/usersettings`,n)}async function on(e,t){let n={action:`patch`,userSettings:e,$auditRecord:t?{auditEvents:[t]}:void 0};return G(n),F(`api/v1/usersettings`,n)}async function sn(){return an({},{type:`UserSettings_Reset`})}async function cn(e,t){return F(`api/v2/security/password/change`,{newPassword:e,currentPassword:t})}async function ln(e){return F(`api/v2/security/password/ask-reset-email`,{changePasswordRedirectUrl:`${window.location.origin}/login?mode=changepassword`,userName:e})}async function un(e){return await P(`api/v2/user-profile/${e}`)}async function dn(e){return await F(`api/v2/user-profile`,e)}async function fn(e,t,n){return await Re(`api/v2/user-profile/${e.data?.id}/${t}/${n}`,e)}async function pn(e,t,n){try{return(await N(`api/v2/user-profile/${e.data?.id}/${t}/${n}`)).success===!0}catch{return!1}}async function mn(){return await P(`api/v2/version`)}var q=1e4,J=`sinequa-auth-redirect-attempt`,Y=async()=>{let{autoOAuthProvider:e}=r;if(!e)throw Error(`autoOAuthProvider is not configured in globalConfig`);if(typeof window>`u`)try{let{signal:t}=I(q);return await F(`security.oauth`,{action:`getcode`,provider:e,tokenInCookie:!0,originalUrl:`http://localhost`},{signal:t})}catch(e){throw T(`Failed to authenticate with OAuth`,e),e}let t={action:`getcode`,provider:e,tokenInCookie:!0,originalUrl:window.location.href};try{let{signal:n}=I(q),r=await F(`api/v1/security.oauth`,t,{signal:n});if(r.redirectUrl){let t=new URL(r.redirectUrl,window.location.origin);if(t.protocol===`https:`||t.protocol===`http:`){if(l(`sinequa-auth-redirect-attempt`))throw d(J),Error(`OAuth sign-in with provider "${e}" did not establish a session — its callback is likely not authorized for this application.`);u(J,`1`),window.location.href=t.href}}return r}catch(e){throw T(`Failed to authenticate with OAuth`,e),e}},hn=async()=>{let{autoSAMLProvider:e}=r;if(!e)throw Error(`autoSAMLProvider is not configured in globalConfig`);if(typeof window>`u`)try{let{signal:t}=I(q);return await F(`security.saml`,{action:`getresponse`,provider:e,tokenInCookie:!0,originalUrl:`http://localhost`},{signal:t})}catch(e){throw T(`Failed to authenticate with SAML`,e),e}let t={action:`getresponse`,provider:e,tokenInCookie:!0,originalUrl:window.location.href};try{let{signal:n}=I(q),r=await F(`api/v1/security.saml`,t,{signal:n});if(r.redirectUrl){let t=new URL(r.redirectUrl,window.location.origin);if(t.protocol===`https:`||t.protocol===`http:`){if(l(`sinequa-auth-redirect-attempt`))throw d(J),Error(`SAML sign-in with provider "${e}" did not establish a session — its callback is likely not authorized for this application.`);u(J,`1`),window.location.href=t.href}}return r}catch(e){throw T(`Failed to authenticate with SAML`,e),e}},X=e=>u(`sinequa-credentials`,JSON.stringify({data:{csrfToken:e}})),Z=async()=>{let e;try{let{signal:t}=I(q);e=await P(`api/v1/challenge?action=getCsrfToken&suppressErrors=true`,void 0,{signal:t})}catch(e){throw w(`CSRF token fetch failed`,e),e}return e?.csrfToken?(X(e.csrfToken),e.csrfToken):null};async function Q(e){if(e){let{username:t,password:n}=e,r={action:`get`,tokenInCookie:!0,user:t,password:n,noUserOverride:!0,noAutoAuthentication:!0};try{let{signal:e}=I(q),t=await F(`api/v1/security.webtoken`,r,{signal:e});return t?.csrfToken?(X(t.csrfToken),t.csrfToken):null}catch(e){throw T(`Failed to get JWT`,e),e}}else{let e={action:`get`,tokenInCookie:!0,noUserOverride:!0,noAutoAuthentication:!1},{bearerToken:t}=r;if(!t)throw Error(`Bearer token is required in globalConfig for credentialless JWT retrieval.`);let 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 ${t}`);try{let{signal:t}=I(q),r=await F(`api/v1/security.webtoken`,e,{headers:n,signal:t});return r?.csrfToken?(X(r.csrfToken),r.csrfToken):null}catch(e){throw T(`Failed to get JWT without credentials`,e),e}}}var $=()=>{let e=l(`sinequa-credentials`);if(e)try{let t=JSON.parse(e).data?.csrfToken;if(t)return t}catch(e){w(`Failed to parse session storage credentials, falling back to local storage`,e)}return s(`csrfToken`)||null},gn=async()=>{try{let{signal:e}=I(q);return await P(`api/v1/principal`,new URLSearchParams({action:`get`}),{signal:e,redirect:`manual`}),C(`Server auto-authenticated the user (OIDC)`),!0}catch{return!1}},_n=async n=>{if(n){let{username:t,password:r}=n;return!t||!r?(T(`Credentials are required for authentication`),e(!1),!1):vn({username:t,password:r})}let a=r.authMode??t.unknown();if(a.kind===`credentials`)return e(!1),!1;if(a.kind===`bearer`)return yn();if($())return i({isRedirectUrl:!1}),d(J),e(!0),!0;try{if(C(`Checking for an existing session via CSRF token retrieval`),await Z())return C(`User already authenticated (existing session / SSO)`),d(J),a.kind===`unknown`&&i({authMode:t.sso()}),e(!0),!0}catch{}switch(a.kind){case`oauth`:return C(`Initiating OAuth authentication flow`),await Y(),e(!1),!1;case`saml`:return C(`Initiating SAML authentication flow`),await hn(),e(!1),!1;case`sso`:return e(!1),!1;default:return C(`No provider declared — probing for server-side auto-authentication (OIDC)`),await gn()?(C(`User auto-authenticated by the server (OIDC)`),d(J),i({authMode:t.sso()}),await Z().catch(()=>{}),e(!0),!0):(i({authMode:t.credentials()}),e(!1),!1)}};async function vn(n){C(`Attempting authentication using credentials`),i({authMode:t.credentials()});let{userOverrideActive:a,userOverride:o}=r;i({userOverrideActive:!1,userOverride:void 0});try{await Q(n)}catch(t){throw e(!1),t}return i({userOverrideActive:a,userOverride:o}),e(!0),!0}async function yn(){try{if(C(`Attempting authentication using bearer token`),await Q())return e(!0),!0}catch(t){throw T(`Bearer authentication failed`,t),e(!1),t}return e(!1),!1}var bn=async()=>{let e=new URLSearchParams({action:`deleteWebTokenCookie`,noUserOverride:`true`,noAutoAuthentication:`true`}),{signal:t}=I(q);return P(`api/v1/challenge`,e,{signal:t})};async function xn(){let{userOverrideActive:e}=r;if(Sn(),!e)try{let{methodresult:e,logoutUrl:t}=await bn();if(e===`ok`)return t;T(`logout failed`)}catch(e){T(`logout failed`,e)}}function Sn(){c(`csrfToken`),d(`sinequa-credentials`),e(!1)}var Cn=()=>!!$();Object.defineProperty(exports,"$",{enumerable:!0,get:function(){return vt}}),Object.defineProperty(exports,"$t",{enumerable:!0,get:function(){return Ee}}),Object.defineProperty(exports,"A",{enumerable:!0,get:function(){return Jt}}),Object.defineProperty(exports,"At",{enumerable:!0,get:function(){return ze}}),Object.defineProperty(exports,"B",{enumerable:!0,get:function(){return Lt}}),Object.defineProperty(exports,"Bt",{enumerable:!0,get:function(){return O}}),Object.defineProperty(exports,"C",{enumerable:!0,get:function(){return an}}),Object.defineProperty(exports,"Cn",{enumerable:!0,get:function(){return r}}),Object.defineProperty(exports,"Ct",{enumerable:!0,get:function(){return R}}),Object.defineProperty(exports,"D",{enumerable:!0,get:function(){return en}}),Object.defineProperty(exports,"Dn",{enumerable:!0,get:function(){return e}}),Object.defineProperty(exports,"Dt",{enumerable:!0,get:function(){return Be}}),Object.defineProperty(exports,"E",{enumerable:!0,get:function(){return tn}}),Object.defineProperty(exports,"En",{enumerable:!0,get:function(){return n}}),Object.defineProperty(exports,"Et",{enumerable:!0,get:function(){return Ve}}),Object.defineProperty(exports,"F",{enumerable:!0,get:function(){return Ut}}),Object.defineProperty(exports,"Ft",{enumerable:!0,get:function(){return M}}),Object.defineProperty(exports,"G",{enumerable:!0,get:function(){return Dt}}),Object.defineProperty(exports,"Gt",{enumerable:!0,get:function(){return S}}),Object.defineProperty(exports,"H",{enumerable:!0,get:function(){return Ot}}),Object.defineProperty(exports,"Ht",{enumerable:!0,get:function(){return E}}),Object.defineProperty(exports,"I",{enumerable:!0,get:function(){return zt}}),Object.defineProperty(exports,"It",{enumerable:!0,get:function(){return Le}}),Object.defineProperty(exports,"J",{enumerable:!0,get:function(){return xt}}),Object.defineProperty(exports,"Jt",{enumerable:!0,get:function(){return w}}),Object.defineProperty(exports,"K",{enumerable:!0,get:function(){return Et}}),Object.defineProperty(exports,"Kt",{enumerable:!0,get:function(){return T}}),Object.defineProperty(exports,"L",{enumerable:!0,get:function(){return Bt}}),Object.defineProperty(exports,"Lt",{enumerable:!0,get:function(){return A}}),Object.defineProperty(exports,"M",{enumerable:!0,get:function(){return K}}),Object.defineProperty(exports,"Mt",{enumerable:!0,get:function(){return Re}}),Object.defineProperty(exports,"N",{enumerable:!0,get:function(){return Kt}}),Object.defineProperty(exports,"Nt",{enumerable:!0,get:function(){return P}}),Object.defineProperty(exports,"O",{enumerable:!0,get:function(){return Xt}}),Object.defineProperty(exports,"Ot",{enumerable:!0,get:function(){return L}}),Object.defineProperty(exports,"P",{enumerable:!0,get:function(){return Gt}}),Object.defineProperty(exports,"Pt",{enumerable:!0,get:function(){return N}}),Object.defineProperty(exports,"Q",{enumerable:!0,get:function(){return yt}}),Object.defineProperty(exports,"Qt",{enumerable:!0,get:function(){return g}}),Object.defineProperty(exports,"R",{enumerable:!0,get:function(){return Vt}}),Object.defineProperty(exports,"Rt",{enumerable:!0,get:function(){return k}}),Object.defineProperty(exports,"S",{enumerable:!0,get:function(){return on}}),Object.defineProperty(exports,"Sn",{enumerable:!0,get:function(){return te}}),Object.defineProperty(exports,"St",{enumerable:!0,get:function(){return z}}),Object.defineProperty(exports,"T",{enumerable:!0,get:function(){return $t}}),Object.defineProperty(exports,"Tn",{enumerable:!0,get:function(){return t}}),Object.defineProperty(exports,"Tt",{enumerable:!0,get:function(){return He}}),Object.defineProperty(exports,"U",{enumerable:!0,get:function(){return It}}),Object.defineProperty(exports,"Ut",{enumerable:!0,get:function(){return Pe}}),Object.defineProperty(exports,"V",{enumerable:!0,get:function(){return Rt}}),Object.defineProperty(exports,"Vt",{enumerable:!0,get:function(){return D}}),Object.defineProperty(exports,"W",{enumerable:!0,get:function(){return Tt}}),Object.defineProperty(exports,"Wt",{enumerable:!0,get:function(){return Fe}}),Object.defineProperty(exports,"X",{enumerable:!0,get:function(){return Ct}}),Object.defineProperty(exports,"Xt",{enumerable:!0,get:function(){return Me}}),Object.defineProperty(exports,"Y",{enumerable:!0,get:function(){return St}}),Object.defineProperty(exports,"Yt",{enumerable:!0,get:function(){return Ne}}),Object.defineProperty(exports,"Z",{enumerable:!0,get:function(){return bt}}),Object.defineProperty(exports,"Zt",{enumerable:!0,get:function(){return je}}),Object.defineProperty(exports,"_",{enumerable:!0,get:function(){return fn}}),Object.defineProperty(exports,"_n",{enumerable:!0,get:function(){return ee}}),Object.defineProperty(exports,"_t",{enumerable:!0,get:function(){return V}}),Object.defineProperty(exports,"a",{enumerable:!0,get:function(){return _n}}),Object.defineProperty(exports,"an",{enumerable:!0,get:function(){return Te}}),Object.defineProperty(exports,"at",{enumerable:!0,get:function(){return ct}}),Object.defineProperty(exports,"b",{enumerable:!0,get:function(){return sn}}),Object.defineProperty(exports,"bn",{enumerable:!0,get:function(){return ne}}),Object.defineProperty(exports,"bt",{enumerable:!0,get:function(){return We}}),Object.defineProperty(exports,"c",{enumerable:!0,get:function(){return Q}}),Object.defineProperty(exports,"cn",{enumerable:!0,get:function(){return Se}}),Object.defineProperty(exports,"ct",{enumerable:!0,get:function(){return it}}),Object.defineProperty(exports,"d",{enumerable:!0,get:function(){return hn}}),Object.defineProperty(exports,"dn",{enumerable:!0,get:function(){return be}}),Object.defineProperty(exports,"dt",{enumerable:!0,get:function(){return at}}),Object.defineProperty(exports,"en",{enumerable:!0,get:function(){return Oe}}),Object.defineProperty(exports,"et",{enumerable:!0,get:function(){return G}}),Object.defineProperty(exports,"f",{enumerable:!0,get:function(){return Y}}),Object.defineProperty(exports,"fn",{enumerable:!0,get:function(){return m}}),Object.defineProperty(exports,"ft",{enumerable:!0,get:function(){return ut}}),Object.defineProperty(exports,"g",{enumerable:!0,get:function(){return un}}),Object.defineProperty(exports,"gn",{enumerable:!0,get:function(){return oe}}),Object.defineProperty(exports,"gt",{enumerable:!0,get:function(){return Xe}}),Object.defineProperty(exports,"h",{enumerable:!0,get:function(){return pn}}),Object.defineProperty(exports,"hn",{enumerable:!0,get:function(){return h}}),Object.defineProperty(exports,"ht",{enumerable:!0,get:function(){return Qe}}),Object.defineProperty(exports,"i",{enumerable:!0,get:function(){return bn}}),Object.defineProperty(exports,"in",{enumerable:!0,get:function(){return De}}),Object.defineProperty(exports,"it",{enumerable:!0,get:function(){return st}}),Object.defineProperty(exports,"j",{enumerable:!0,get:function(){return qt}}),Object.defineProperty(exports,"jt",{enumerable:!0,get:function(){return F}}),Object.defineProperty(exports,"k",{enumerable:!0,get:function(){return Yt}}),Object.defineProperty(exports,"kt",{enumerable:!0,get:function(){return I}}),Object.defineProperty(exports,"l",{enumerable:!0,get:function(){return Z}}),Object.defineProperty(exports,"ln",{enumerable:!0,get:function(){return xe}}),Object.defineProperty(exports,"lt",{enumerable:!0,get:function(){return ot}}),Object.defineProperty(exports,"m",{enumerable:!0,get:function(){return dn}}),Object.defineProperty(exports,"mn",{enumerable:!0,get:function(){return ye}}),Object.defineProperty(exports,"mt",{enumerable:!0,get:function(){return tt}}),Object.defineProperty(exports,"n",{enumerable:!0,get:function(){return Sn}}),Object.defineProperty(exports,"nn",{enumerable:!0,get:function(){return we}}),Object.defineProperty(exports,"nt",{enumerable:!0,get:function(){return mt}}),Object.defineProperty(exports,"o",{enumerable:!0,get:function(){return gn}}),Object.defineProperty(exports,"on",{enumerable:!0,get:function(){return _}}),Object.defineProperty(exports,"ot",{enumerable:!0,get:function(){return nt}}),Object.defineProperty(exports,"p",{enumerable:!0,get:function(){return mn}}),Object.defineProperty(exports,"pn",{enumerable:!0,get:function(){return ve}}),Object.defineProperty(exports,"pt",{enumerable:!0,get:function(){return et}}),Object.defineProperty(exports,"q",{enumerable:!0,get:function(){return wt}}),Object.defineProperty(exports,"qt",{enumerable:!0,get:function(){return C}}),Object.defineProperty(exports,"r",{enumerable:!0,get:function(){return xn}}),Object.defineProperty(exports,"rn",{enumerable:!0,get:function(){return Ae}}),Object.defineProperty(exports,"rt",{enumerable:!0,get:function(){return lt}}),Object.defineProperty(exports,"s",{enumerable:!0,get:function(){return $}}),Object.defineProperty(exports,"sn",{enumerable:!0,get:function(){return Ce}}),Object.defineProperty(exports,"st",{enumerable:!0,get:function(){return rt}}),Object.defineProperty(exports,"t",{enumerable:!0,get:function(){return Cn}}),Object.defineProperty(exports,"tn",{enumerable:!0,get:function(){return ke}}),Object.defineProperty(exports,"tt",{enumerable:!0,get:function(){return pt}}),Object.defineProperty(exports,"u",{enumerable:!0,get:function(){return X}}),Object.defineProperty(exports,"un",{enumerable:!0,get:function(){return _e}}),Object.defineProperty(exports,"ut",{enumerable:!0,get:function(){return H}}),Object.defineProperty(exports,"v",{enumerable:!0,get:function(){return ln}}),Object.defineProperty(exports,"vn",{enumerable:!0,get:function(){return re}}),Object.defineProperty(exports,"vt",{enumerable:!0,get:function(){return Ke}}),Object.defineProperty(exports,"w",{enumerable:!0,get:function(){return nn}}),Object.defineProperty(exports,"wn",{enumerable:!0,get:function(){return i}}),Object.defineProperty(exports,"wt",{enumerable:!0,get:function(){return Ue}}),Object.defineProperty(exports,"x",{enumerable:!0,get:function(){return rn}}),Object.defineProperty(exports,"xn",{enumerable:!0,get:function(){return ie}}),Object.defineProperty(exports,"xt",{enumerable:!0,get:function(){return B}}),Object.defineProperty(exports,"y",{enumerable:!0,get:function(){return cn}}),Object.defineProperty(exports,"yn",{enumerable:!0,get:function(){return f}}),Object.defineProperty(exports,"yt",{enumerable:!0,get:function(){return Ge}}),Object.defineProperty(exports,"z",{enumerable:!0,get:function(){return Ht}}),Object.defineProperty(exports,"zt",{enumerable:!0,get:function(){return Ie}});
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Minimal structural response shape common to the DOM `Response` and the SPFx `HttpClientResponse`.
|
|
3
|
+
*
|
|
4
|
+
* SPFx's `HttpClientResponse` does NOT fully implement the current DOM `Response` (it lacks newer
|
|
5
|
+
* members such as `redirected`, `body` and `bytes`), so we cannot type the client around `Response`
|
|
6
|
+
* directly. We model only what the shared HTTP layer (`handleResponse`) actually consumes, so both a
|
|
7
|
+
* real `AadHttpClient` and a `fetch`-based `Response` satisfy it.
|
|
8
|
+
*/
|
|
9
|
+
export interface AadHttpResponseLike {
|
|
10
|
+
status: number;
|
|
11
|
+
headers: {
|
|
12
|
+
get(name: string): string | null;
|
|
13
|
+
};
|
|
14
|
+
url?: string;
|
|
15
|
+
arrayBuffer(): Promise<ArrayBuffer>;
|
|
16
|
+
blob(): Promise<Blob>;
|
|
17
|
+
text(): Promise<string>;
|
|
18
|
+
json(): Promise<unknown>;
|
|
19
|
+
body?: ReadableStream<Uint8Array> | null;
|
|
20
|
+
clone?(): AadHttpResponseLike;
|
|
21
|
+
}
|
|
22
|
+
/**
|
|
23
|
+
* A structural stand-in for the SPFx `AadHttpClient`. A real `@microsoft/sp-http` `AadHttpClient` is
|
|
24
|
+
* assignable to this, so the shared HTTP layer can route through it WITHOUT depending on the SharePoint
|
|
25
|
+
* SDK.
|
|
26
|
+
*/
|
|
27
|
+
export interface AadHttpClientLike {
|
|
28
|
+
get(url: string, configuration: unknown, options?: unknown): Promise<AadHttpResponseLike>;
|
|
29
|
+
post(url: string, configuration: unknown, options?: unknown): Promise<AadHttpResponseLike>;
|
|
30
|
+
fetch(url: string, configuration: unknown, options?: unknown): Promise<AadHttpResponseLike>;
|
|
31
|
+
}
|
|
32
|
+
/**
|
|
33
|
+
* Holds an optional AadHttpClient. When one is supplied (in an SPFx host, via
|
|
34
|
+
* `initializeAadHttpClient`), the shared HTTP helpers route every request through it so the Azure AD
|
|
35
|
+
* bearer token is attached automatically; otherwise they fall back to `fetch`. In the core build no
|
|
36
|
+
* client is ever set, so behaviour is unchanged.
|
|
37
|
+
*/
|
|
38
|
+
declare class AadHttpClientManager {
|
|
39
|
+
private client;
|
|
40
|
+
/** Set the active client, or pass `null` to detach it. */
|
|
41
|
+
initialize(client: AadHttpClientLike | null): void;
|
|
42
|
+
/** @throws if no client has been initialized. */
|
|
43
|
+
getClient(): AadHttpClientLike;
|
|
44
|
+
isInitialized(): boolean;
|
|
45
|
+
}
|
|
46
|
+
export declare const aadHttpClientManager: AadHttpClientManager;
|
|
47
|
+
/**
|
|
48
|
+
* Supply the SPFx `AadHttpClient` so the HTTP helpers route through it (attaching the Azure AD token).
|
|
49
|
+
* Pass `null` to detach it.
|
|
50
|
+
*/
|
|
51
|
+
export declare function initializeAadHttpClient(client: AadHttpClientLike | null): void;
|
|
52
|
+
export {};
|
|
53
|
+
//# sourceMappingURL=aad-http-client-manager.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"aad-http-client-manager.d.ts","sourceRoot":"","sources":["../../../src/web-api/helpers/aad-http-client-manager.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,MAAM,WAAW,mBAAmB;IAClC,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE;QAAE,GAAG,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAAA;KAAE,CAAC;IAC9C,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,WAAW,IAAI,OAAO,CAAC,WAAW,CAAC,CAAC;IACpC,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IACtB,IAAI,IAAI,OAAO,CAAC,MAAM,CAAC,CAAC;IACxB,IAAI,IAAI,OAAO,CAAC,OAAO,CAAC,CAAC;IACzB,IAAI,CAAC,EAAE,cAAc,CAAC,UAAU,CAAC,GAAG,IAAI,CAAC;IACzC,KAAK,CAAC,IAAI,mBAAmB,CAAC;CAC/B;AAED;;;;GAIG;AACH,MAAM,WAAW,iBAAiB;IAChC,GAAG,CACD,GAAG,EAAE,MAAM,EACX,aAAa,EAAE,OAAO,EACtB,OAAO,CAAC,EAAE,OAAO,GAChB,OAAO,CAAC,mBAAmB,CAAC,CAAC;IAChC,IAAI,CACF,GAAG,EAAE,MAAM,EACX,aAAa,EAAE,OAAO,EACtB,OAAO,CAAC,EAAE,OAAO,GAChB,OAAO,CAAC,mBAAmB,CAAC,CAAC;IAChC,KAAK,CACH,GAAG,EAAE,MAAM,EACX,aAAa,EAAE,OAAO,EACtB,OAAO,CAAC,EAAE,OAAO,GAChB,OAAO,CAAC,mBAAmB,CAAC,CAAC;CACjC;AAED;;;;;GAKG;AACH,cAAM,oBAAoB;IACxB,OAAO,CAAC,MAAM,CAAkC;IAEhD,0DAA0D;IAC1D,UAAU,CAAC,MAAM,EAAE,iBAAiB,GAAG,IAAI,GAAG,IAAI;IAIlD,iDAAiD;IACjD,SAAS,IAAI,iBAAiB;IAS9B,aAAa,IAAI,OAAO;CAGzB;AAGD,eAAO,MAAM,oBAAoB,sBAA6B,CAAC;AAE/D;;;GAGG;AACH,wBAAgB,uBAAuB,CACrC,MAAM,EAAE,iBAAiB,GAAG,IAAI,GAC/B,IAAI,CAEN"}
|
|
@@ -1,9 +1,12 @@
|
|
|
1
|
+
import type { AadHttpResponseLike } from "./aad-http-client-manager";
|
|
2
|
+
type ResponseLike = Response | AadHttpResponseLike;
|
|
1
3
|
/**
|
|
2
4
|
* Handles the response from the web API.
|
|
3
5
|
*
|
|
4
|
-
* @param response - The response from the web API.
|
|
6
|
+
* @param response - The response from the web API (standard Response or SPFx HttpClientResponse).
|
|
5
7
|
* @param responseType - The type of response expected ('arraybuffer', 'blob', 'json', or 'text')
|
|
6
8
|
* @returns A promise that resolves to the response data of type T.
|
|
7
9
|
*/
|
|
8
|
-
export declare function handleResponse<T>(response:
|
|
10
|
+
export declare function handleResponse<T>(response: ResponseLike, responseType?: "arraybuffer" | "blob" | "json" | "text"): Promise<T>;
|
|
11
|
+
export {};
|
|
9
12
|
//# 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":"
|
|
1
|
+
{"version":3,"file":"handle-response.d.ts","sourceRoot":"","sources":["../../../src/web-api/helpers/handle-response.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,2BAA2B,CAAC;AAMrE,KAAK,YAAY,GAAG,QAAQ,GAAG,mBAAmB,CAAC;AAEnD;;;;;;GAMG;AACH,wBAAsB,cAAc,CAAC,CAAC,EACpC,QAAQ,EAAE,YAAY,EACtB,YAAY,GAAE,aAAa,GAAG,MAAM,GAAG,MAAM,GAAG,MAAe,GAC9D,OAAO,CAAC,CAAC,CAAC,CAoDZ"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"del.d.ts","sourceRoot":"","sources":["../../../../src/web-api/helpers/methods/del.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"del.d.ts","sourceRoot":"","sources":["../../../../src/web-api/helpers/methods/del.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAMpD;;;;;;;;;GASG;AACH,wBAAsB,GAAG,CAAC,CAAC,EACzB,QAAQ,EAAE,aAAa,EACvB,MAAM,CAAC,EAAE,eAAe,EACxB,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,CAqCZ"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"get.d.ts","sourceRoot":"","sources":["../../../../src/web-api/helpers/methods/get.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"get.d.ts","sourceRoot":"","sources":["../../../../src/web-api/helpers/methods/get.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAMpD;;;;;;;;;;;;GAYG;AACH,wBAAsB,GAAG,CAAC,CAAC,EACzB,QAAQ,EAAE,aAAa,EACvB,MAAM,CAAC,EAAE,eAAe,EACxB,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;IACrB,QAAQ,CAAC,EAAE,eAAe,CAAC;CAC5B,GACA,OAAO,CAAC,CAAC,CAAC,CA6CZ"}
|
|
@@ -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;
|
|
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;AAMpD;;;;;;;;;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,CA2CZ"}
|
|
@@ -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;
|
|
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;AAMpD;;;;;;;;;;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,CAqDZ"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"put.d.ts","sourceRoot":"","sources":["../../../../src/web-api/helpers/methods/put.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"put.d.ts","sourceRoot":"","sources":["../../../../src/web-api/helpers/methods/put.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAMpD;;;;;;;;;GASG;AACH,wBAAsB,GAAG,CAAC,CAAC,EACzB,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,CA0CZ"}
|
package/package.json
CHANGED
|
@@ -1,16 +1,21 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@sinequa/atomic",
|
|
3
3
|
"private": false,
|
|
4
|
-
"version": "2.0.
|
|
4
|
+
"version": "2.0.4",
|
|
5
5
|
"type": "module",
|
|
6
|
-
"main": "./dist/atomic.
|
|
6
|
+
"main": "./dist/atomic.cjs",
|
|
7
7
|
"module": "./dist/atomic.js",
|
|
8
8
|
"types": "./dist/index.d.ts",
|
|
9
9
|
"exports": {
|
|
10
10
|
".": {
|
|
11
11
|
"types": "./dist/index.d.ts",
|
|
12
12
|
"import": "./dist/atomic.js",
|
|
13
|
-
"require": "./dist/atomic.
|
|
13
|
+
"require": "./dist/atomic.cjs"
|
|
14
|
+
},
|
|
15
|
+
"./spfx": {
|
|
16
|
+
"types": "./dist/spfx/index.d.ts",
|
|
17
|
+
"import": "./dist/spfx/index.js",
|
|
18
|
+
"require": "./dist/spfx/index.cjs"
|
|
14
19
|
}
|
|
15
20
|
},
|
|
16
21
|
"files": [
|
|
@@ -41,6 +46,14 @@
|
|
|
41
46
|
"npx @biomejs/biome check --write --files-ignore-unknown=true --no-errors-on-unmatched"
|
|
42
47
|
]
|
|
43
48
|
},
|
|
49
|
+
"peerDependencies": {
|
|
50
|
+
"@microsoft/sp-http": "^1.20.0"
|
|
51
|
+
},
|
|
52
|
+
"peerDependenciesMeta": {
|
|
53
|
+
"@microsoft/sp-http": {
|
|
54
|
+
"optional": true
|
|
55
|
+
}
|
|
56
|
+
},
|
|
44
57
|
"overrides": {
|
|
45
58
|
"minimatch": "^10.2.3"
|
|
46
59
|
},
|
|
@@ -51,7 +64,7 @@
|
|
|
51
64
|
"jsdom": "^26.0.0",
|
|
52
65
|
"lint-staged": "^16.2.6",
|
|
53
66
|
"typescript": "^5.7.3",
|
|
54
|
-
"vite": "^
|
|
67
|
+
"vite": "^8.0.0",
|
|
55
68
|
"vite-plugin-dts": "^4.5.4",
|
|
56
69
|
"vitest": "^4.1.8"
|
|
57
70
|
}
|
package/dist/atomic.umd.cjs
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
(function(o,g){typeof exports=="object"&&typeof module<"u"?g(exports):typeof define=="function"&&define.amd?define(["exports"],g):(o=typeof globalThis<"u"?globalThis:o||self,g(o.atomic={}))})(this,(function(o){"use strict";function g(e){if(typeof CustomEvent>"u"||typeof dispatchEvent>"u")return;const t=new CustomEvent("authenticated",{bubbles:!0,cancelable:!1,detail:{authenticated:e}});dispatchEvent(t)}const w={credentials:()=>({kind:"credentials"}),sso:()=>({kind:"sso"}),oauth:e=>({kind:"oauth",provider:e}),saml:e=>({kind:"saml",provider:e}),bearer:e=>({kind:"bearer",token:e}),unknown:()=>({kind:"unknown"})};function oe(e,t){const{useCredentials:r,useSSO:n,useSAML:a}=e;return a&&t.autoSAMLProvider?w.saml(t.autoSAMLProvider):r&&n?w.unknown():r?w.credentials():n?w.sso():t.authMode??w.unknown()}const u={loginPath:"/login",createRoutes:!1,authMode:w.unknown()};Object.defineProperties(u,{useCredentials:{enumerable:!1,configurable:!0,get(){const e=u.authMode?.kind;return e==="credentials"||e==="unknown"}},useSSO:{enumerable:!1,configurable:!0,get(){const e=u.authMode?.kind;return e==="sso"||e==="unknown"}},useSAML:{enumerable:!1,configurable:!0,get(){return u.authMode?.kind==="saml"}}});function p(e){const{useCredentials:t,useSSO:r,useSAML:n,authMode:a,...s}=e;if(Object.assign(u,s),a!==void 0){u.authMode=a;return}(t!==void 0||r!==void 0||n!==void 0)&&(u.authMode=oe({useCredentials:t,useSSO:r,useSAML:n},u))}const 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 We(e){return typeof window>"u"||!window.localStorage?J.getItem(e):window.localStorage.getItem(e)}function xe(e){typeof window>"u"||!window.localStorage?J.removeItem(e):window.localStorage.removeItem(e)}function x(e){return typeof window>"u"||!window.sessionStorage?W.getItem(e):window.sessionStorage.getItem(e)}function X(e,t){typeof window>"u"||!window.sessionStorage?W.setItem(e,t):window.sessionStorage.setItem(e,t)}function A(e){typeof window>"u"||!window.sessionStorage?W.removeItem(e):window.sessionStorage.removeItem(e)}const se=/.*:\(?([><=\d\-.AND ]+)\)?/;function Xe(e,t){return!e?.items||e?.items?.length===0?[]:e.items.reduce((a,s)=>{if(!s.value||s.value==="")return a;const i=ie(s,e.column);return a.push({operator:i.operator,value:i.value,display:s.display||i.display,filters:i.filters,disabled:s.count===0,hidden:s.count===0&&e.isDistribution?!t:!1}),a},[])}function ie(e,t){const r=t,n=e.value.match(se);if(n?.[1]){const s=(n?.[1].split(" AND ")).map(i=>{const l=i.indexOf(">=")!==-1?"gte":"lt",c=i.substring(i.indexOf(" ")+1);return{field:r,operator:l,value:c,display:e.display||e.value}});if(s.length===2)return{field:r,operator:"and",filters:s,value:e.value,display:s[0].display||s[0].value};if(s.length===1)return{...s[0],field:r};throw new Error("Failed to parse distribution expression")}return{field:r,operator:"eq",value:e.value,display:e.display}}function Ye(e,t,r){return e.valuesAreExpressions?t.display===r.display:t.value===r.value}function ce(e){return e.items&&(e.items=e.items.map(t=>ce(t))),e.items&&e.items.some(t=>t.$selected||t.$opened)&&(e.$opened=!0),e}function Ke(e,t){const r=[];if(e.length>0){const n=new Map,s=t.replace(/[.*+?^${}()|[\]\\]/g,"\\$&").normalize("NFD").replace(/[\u0300-\u036f]/g,""),i=new RegExp("\\b"+s,"i");e.forEach(l=>{if(l.display.length>1){const c=l.display.normalize("NFD").replace(/[\u0300-\u036f]/g,""),h=i.exec(c);le(r,n,"/",l.display,+(l.frequency||0),1,(h?.index||0)+t.length)}})}return r}function le(e,t,r,n,a,s,i){const l=n.indexOf("/",r.length),c=n.substring(0,l+1);let h=t.get(c);if(!h){const R=c.replace(/^\/|\/$/g,"");h={value:n.substring(r.length,l),count:a,items:[],hasChildren:!1,$level:s,$opened:i>=c.length,$path:R},t.set(c,h),e.push(h)}c.length<n.length&&(h.hasChildren=!0,le(h.items,t,c,n,a,s+1,i))}function Ze(e,t){return e.reduce((r,n)=>(t(n)?r.true.push(n):r.false.push(n),r),{true:[],false:[]})}const Ee=/(([\+\-])?\(([^\)]+)\))|(([\+\-])?\[([^\]]+)\])|(([\+\-])?\"([^\"]+)\")|(([\+\-])?\/([^\/]+)\/)|(([\+\-])?(\S+))/g,Te=2,ue=3,et=5,de=6,tt=8,fe=9,rt=11,he=12,nt=14,ge=15;function F(e){if(!e)return[];const t=[],r=e.matchAll(Ee);for(let n of r)n[ue]?t.push({type:"group",value:n[ue],op:n[Te]}):n[de]?t.push({type:"adjacent",value:n[de],op:n[et]}):n[fe]?t.push({type:"exact",value:n[fe],op:n[tt]}):n[he]?t.push({type:"regex",value:n[he],op:n[rt]}):n[ge]&&t.push({type:"token",value:n[ge],op:n[nt]});return t}function B(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 at(e,t,r){let n=F(e);for(let a of t)n.push({type:"adjacent",value:a,op:r});return B(n)}function ot(e,t){const r=F(t),n=r.findIndex(a=>a.value===e);return n!==-1?(r.splice(n,1),t=B(r)):t}function st(e){const t=F(e).filter(r=>r.type!=="adjacent");return B(t)}function it(e){return F(e).filter(t=>t.type==="adjacent").map(t=>t.value)}function ct(e,t,r){const n=new Intl.RelativeTimeFormat(e,{numeric:"auto"}),{offset:a,unit:s,isFuture:i}=me(t,r);return n.format(a*(i?1:-1),s)}function me(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 lt(e){const t=e.target;return t&&t.nodeName!=="INPUT"&&t.nodeName!=="TEXTAREA"}function ut(e){if(e===void 0)return;const{q:t,f:r,p:n,s:a,t:s,n:i,b:l}=O(e),[c]=e.split("?");return{path:c,text:t,filters:r?Y(r):void 0,page:n?parseInt(n,10):void 0,sort:a,tab:s,name:i,basket:l}}function dt(e){if(!e)return"";const{text:t,filters:r,page:n,sort:a,tab:s,name:i,basket:l}=e,c={};t&&(c.q=t),r&&(c.f=JSON.stringify(r)),n&&(c.p=n.toString()),a&&(c.s=a),s&&(c.t=s),i&&(c.n=i),l&&(c.b=l);const h=new URLSearchParams(c).toString();return h||""}function ft(e){if(e===void 0)return[];const{f:t}=O(e);return Y(t)}function Y(e){const t=decodeURIComponent(e);try{return JSON.parse(t??"[]")}catch{return console.error(`Error parsing filters from URI: ${e}`),[]}}function O(e){const t=e.split("?")[1];if(t===void 0)return{};const r=new URLSearchParams(t);return Object.fromEntries(r)}function ht(e){const{q:t=""}=O(e);return t}function gt(e){const{id:t}=O(e);return decodeURIComponent(t)}function mt(e){const{p:t="0"}=O(e);return parseInt(t,10)}function wt(e){const{t}=O(e);return t}function _t(e,t){if(!e)return e;let r=0;const n=e.length;let a=0;if(e[a]==="["){for(;a<n&&/[0-9]/.test(e[a]);)a++;e[a]==="]"&&(r=a+1)}const s=K(e,r,!1);if(!s)return e;const i=t.charCodeAt(0),l=t.charCodeAt(1);let c=s;for(;c;)if(i===c.lang1&&l===c.lang2){const R=K(e,c.end+4,!0);return e.substring(R.start,R.end)}else c=K(e,c.end+4,!1);const h=e.substring(s.start,s.end);return h||e}function K(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 St(e,t){const{useLocale:r,useLocaleAsPrefix:n,indexFile:a,path:s,folder:i}=t,l=r?`${e}/`:null,c=n?`${e}.${a}`:a??"";return[s,i,`${l||""}${c}`].filter(h=>h!==void 0).join("/")}function Q(e){const t=new CustomEvent("notification",{bubbles:!0,cancelable:!1,detail:e});dispatchEvent(t)}const kt={success:(e,t)=>{Q({type:"success",message:e,options:t})},info:(e,t)=>{Q({type:"info",message:e,options:t})},warning:(e,t)=>{Q({type:"warning",message:e,options:t})},error:(e,t)=>{Q({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 j={level:1,enableConsoleOutput:!0};function pt(e){j={...j,...e}}function V(e,t,r){if(e<j.level)return;const a=`${`[${Z[e]}]`} ${t}`;if(j.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 $(e,t){V(0,e,t)}function b(e,t){V(1,e,t)}function N(e,t){V(2,e,t)}function f(e,t){V(3,e,t)}function I(e){const t=H(),r=new Headers(e);r.append("Sinequa-Force-Camel-Case","true"),r.append("accept","application/json"),t&&r.append("Sinequa-csrf-token",t);const{userOverride:n,userOverrideActive:a,bearerToken:s}=u;return s&&r.append("Authorization",`Bearer ${s}`),n&&a&&(r.append("sinequa-override-user",n.username),r.append("sinequa-override-domain",n.domain)),r}class L extends Error{status;constructor(t,r){super(t),this.name="ApiError",this.status=r}}class E extends L{constructor(t="Server error"){super(t,500),this.name="ServerError"}}class we extends L{constructor(t="Request timed out"){super(t,408),this.name="TimeoutError"}}class z extends L{constructor(t="Unauthorized access"){super(t,401),this.name="UnauthorizedError"}}async function U(e,t="json"){const r=e.headers.get("sinequa-jwt-refresh");if(r!==null&&M(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(u.userOverrideActive){let n={};try{n=await e.clone().json()}catch{}throw N("Unauthorized access attempt with user override",{endpoint:e.url,error:n}),new z(n.errorMessage??n.message??"Unauthorized... User override failed.")}return await T(e,401)}return e.status===500?(f("Server error occurred",{endpoint:e.url}),await T(e,500)):(N(`Unexpected response status: ${e.status}`,{endpoint:e.url}),await T(e,e.status))}async function T(e,t){try{const{done:r,value:n}=await e.body?.getReader().read()||{done:!0,value:void 0};if(r||!n)throw t===401?new z:t===500?new E:new L(`Request failed with status ${t}`,t);const a=JSON.parse(new TextDecoder().decode(n));throw new Error(a.errorMessage||a.message||`Request failed with status ${t}`,{cause:{errorCode:a.errorCode,errorCodeTest:a.errorCodeTest}})}catch(r){throw r instanceof L?r:t===401?new z(r.message):t===500?new E(r.message):new L(r.message??`Request failed with status ${t}`,t)}}async function _e(e,t,r){const n=I(r?.headers),{backendUrl:a}=u,s=t?`?${new URLSearchParams(t)}`:"",i=a?`${a}/${e}${s}`:`${e}${s}`;$(`Making DELETE request to: ${i}`);try{const l=await fetch(i,{method:"DELETE",credentials:"include",headers:n});return U(l,r?.responseType)}catch(l){throw f("Error making DELETE request:",l),l}}async function _(e,t,r){const n=I(r?.headers),{backendUrl:a}=u,s=t?`?${new URLSearchParams(t)}`:"";e.startsWith("plugin")&&(e=`api/v1/${e}`);const i=a?`${a}/${e}${s}`:`${e}${s}`;$(`Making GET request to: ${i}`);try{const l=await fetch(i,{method:"GET",credentials:"include",headers:n,signal:r?.signal,redirect:r?.redirect});return U(l,r?.responseType)}catch(l){throw f("Error making GET request:",l),l}}async function Se(e,t,r){const n=I(r?.headers);n.append("content-type","application/json");const{app:a,backendUrl:s}=u,i={app:a,...t,locale:t.locale||navigator.language,noUserOverride:!0,noAutoAuthentication:!0},l=s?`${s}/${e}`:`${e}`;$(`Making PATCH request to: ${l}`);try{const c=await fetch(l,{method:"PATCH",headers:n,credentials:"include",body:JSON.stringify(i)});return U(c,r?.responseType)}catch(c){throw f("Error making PATCH request:",c),c}}async function d(e,t,r){const n=I(r?.headers),{app:a,backendUrl:s}=u;n.has("Content-Type")||n.set("Content-Type","application/json");const i={app:a,...t,locale:t.locale||navigator.language,noUserOverride:!0,noAutoAuthentication:!0};e.startsWith("plugin")&&(e=`api/v1/${e}`);const l=s?`${s}/${e}`:`${e}`;$(`Making POST request to: ${l}`);try{const c=await fetch(l,{method:"POST",headers:n,credentials:"include",body:JSON.stringify(i),signal:r?.signal});return U(c,r?.responseType)}catch(c){throw f("Error making POST request:",c),c}}async function bt(e,t,r){const n=I(r?.headers),{app:a,backendUrl:s}=u,i={app:a,...t,locale:t.locale||navigator.language,noUserOverride:!0,noAutoAuthentication:!0},l=`${s}/${e}`;$(`Making PUT request to: ${l}`);try{const c=await fetch(l,{method:"PUT",headers:n,credentials:"include",body:JSON.stringify(i)});return U(c,r?.responseType)}catch(c){throw f("Error making PUT request:",c),c}}function v(e){const t=new AbortController,{signal:r}=t;return e&&setTimeout(()=>{r.aborted||t.abort(new we(`Request timed out after ${e}ms`))},e),{controller:t,signal:r}}function ee(e){if(!e)return;const t=new Date(e);return Number.isNaN(t.getTime())?void 0:t}function vt(e){const t=ee(e);return!!t&&t.getTime()<=Date.now()}function Ct(e,t=7){const r=ee(e);if(!r)return!1;const n=Date.now(),a=n+t*24*60*60*1e3,s=r.getTime();return s>n&&s<=a}async function yt(e,t=0,r=1e3){let n;for(let a=0;a<=t;a++)try{return await e()}catch(s){if(n=s,s instanceof L&&s.status>=400&&s.status<500&&s.status!==429||s instanceof DOMException&&s.name==="AbortError")throw s;a<t&&(N(`Retrying request (${a+1}/${t})`,{error:s}),await new Promise(i=>setTimeout(i,r)))}throw n}function Pt(e,t,r){if(!e||!t)return;if(r){const s=Object.keys(t.queries).find(c=>c===r?.toLowerCase());let i;s&&(i=t.queries[s]);const l=(i?.columnsInfo?.columns||[])?.find(c=>c.aliases?.split(",")?.includes(e));if(l)return l.name}const n=t.indexes?._?.columns,a=Object.entries(n).find(s=>s[1].aliases?.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.Change_Password_Failed="change.password.failed",e.Change_Password_Success_Form="change.password.success.form",e.Forgot_Password_Request="forgot.password.request",e.Login_Denied="login.denied",e.Login_Success_Form="login.success.form",e.Send_Reset_Password_Link="send.reset.password.link",e.Xrest_ChangePassword="xrest.changepassword",e))(C||{}),m=(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))(m||{}),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 Rt="1.0";var ke=(e=>(e[e.Original=0]="Original",e[e.Corrected=1]="Corrected",e))(ke||{}),pe=(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))(pe||{});function Lt(e){if(!e)return m.none;switch(e.toLocaleLowerCase()){case"bool":case"boolean":return m.bool;case"date":return m.date;case"datetime":return m.dateTime;case"time":return m.time;case"unsigned":return m.unsigned;case"integer":return m.integer;case"float":return m.float;case"double":return m.double;case"dates":return m.dates;case"datetimes":return m.dateTimes;case"times":return m.times;case"varchar":return m.varchar;case"binary":return m.binary;case"string":return m.string;case"csv":return m.csv;default:return m.none}}function Ut(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 Ot(e){let t=k.none;if(e)for(const r of e)t|=Ut(r);return t}function S(e,t,r,n){const a=Lt(t),s=Ot(r||"");return{name:e,type:t,typeModifier:r,eType:a,eTypeModifier:s,aliases:n}}const At={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 be(e){return e.filter(t=>!!t)}const $t={eq:(e,t)=>({field:e,operator:"eq",value:t}),neq:(e,t)=>({field:e,operator:"neq",value:t}),gt:(e,t)=>({field:e,operator:"gt",value:t}),gte:(e,t)=>({field:e,operator:"gte",value:t}),lt:(e,t)=>({field:e,operator:"lt",value:t}),lte:(e,t)=>({field:e,operator:"lte",value:t}),like:(e,t)=>({field:e,operator:"like",value:t}),contains:(e,t)=>({field:e,operator:"contains",value:t}),regex:(e,t)=>({field:e,operator:"regex",value:t}),isNull:e=>({field:e,operator:"null"}),isNotNull:e=>({field:e,operator:"notnull"}),in:(e,t)=>({field:e,operator:"in",values:t}),between:(e,t,r)=>({field:e,operator:"between",start:t,end:r}),and:(...e)=>ve("and",e),or:(...e)=>ve("or",e),not:(...e)=>{const t=be(e);return t.length?{operator:"not",filters:t}:void 0}};function ve(e,t){const r=be(t);return r.length===0?void 0:r.length===1?r[0]:{operator:e,filters:r}}function It(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 Dt(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 s=a.display.trim(),i="value"in a?String(a.value).trim():s;return{display:s,value:i}}}).filter(a=>a!==void 0);const n=String(r).trim();return[{display:n,value:n}]}function q(e){return e!==null&&typeof e=="object"}function Ce(e){return q(e)&&Object.prototype.toString.call(e)==="[object ArrayBuffer]"}function ye(e){return q(e)&&Object.prototype.toString.call(e)==="[object Blob]"}function Pe(e){return Object.prototype.toString.call(e)==="[object Date]"}function Re(e){return typeof e=="string"}function Ft(e){return(q(e)||Array.isArray(e))&&!Ce(e)&&!ye(e)&&!Re(e)}function Le(e){return e?(e.getHours()*60*60+e.getMinutes()*60+e.getSeconds())*1e3+e.getMilliseconds():0}function Ue(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 Nt(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 qt(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(te(e)))}catch{return Promise.resolve(te(e))}return Promise.resolve(te(e))}function te(e){let n=2166136261;for(let R=0;R<e.length;R++)n^=e.charCodeAt(R),n=n*16777619>>>0;const a=n.toString(16).padStart(8,"0"),s=((n^2863311530)>>>0).toString(16).padStart(8,"0"),i=((n^1431655765)>>>0).toString(16).padStart(8,"0"),l=((n^3435973836)>>>0).toString(16).padStart(8,"0"),c=a+s+i+l;return(c+c+c+c).substring(0,128)}let re,Oe;function D(e,t=!0){let r=Mt(e.$auditRecord);r&&(Ae(r),t&&$e(r)),e.$auditRecord=r}function Mt(e){if(!e)return;let t;if(Array.isArray(e))t=e;else if(q(e)){const r=e;if(r.auditEvents||r.mlAuditEvents)return r;t=[e]}return{auditEvents:t}}function Ae(e){const t=Bt();return e.auditEvents?.forEach(r=>{r.detail||(r.detail={}),r.detail.sessionid=t}),e}function $e(e){const t=typeof window<"u"?decodeURIComponent(window.location.href):"http://localhost";return e?.auditEvents?.forEach(r=>{r.detail||(r.detail={}),r.detail.url=t}),e}function Bt(){return(!re||Qt())&&(re=Ue()),Oe=new Date,re}function Qt(){return new Date().getTime()-Oe.getTime()>600*1e3}async function jt(e,t=!0){const r={event:C.None,$auditRecord:e};return D(r,t),d("api/v1/audit.notify",r)}const Vt={notify:jt};async function zt(e,t,r){const n=e.items?.length||0,a=10,s={query:{...t,action:"aggregate",aggregations:{[e.name]:{skip:n,count:a}}},$auditRecord:{auditEvents:[r]}};D(s);const i=await d("api/v1/query",s),l=await U(i),{aggregations:c}=l,h=c[0];return h.$hasMore=h.items.length>a,h.items=[...e.items,...h.items],Promise.resolve(h)}function Ie(e,t){if(e.authMode?.kind==="credentials")return w.credentials();if(e.bearerToken)return w.bearer(e.bearerToken);const r=e.autoOAuthProvider||t?.autoOAuthProvider;if(r)return w.oauth(r);const n=e.autoSAMLProvider||t?.autoSAMLProvider;return n?w.saml(n):w.unknown()}async function Gt(e){const t=e||u.app,r=new URLSearchParams({app:t||""});return _("api/v1/app",r)}async function De(){const{app:e}=u,t=new URLSearchParams({app:e||"",preLogin:"true"});return _("api/v1/app",t)}function Fe(){let{backendUrl:e,app:t}=u;if(typeof window<"u"){if(e||(e=window.location.origin),!t){const r=window.location.pathname.match(/\/app(?:-debug)?\/([^/#]+)/);r&&(t=r[1])}p({backendUrl:e,app:t})}return u.authMode?.kind==="credentials"?(p({authMode:w.credentials(),autoOAuthProvider:void 0,autoSAMLProvider:void 0,bearerToken:void 0}),Promise.resolve({})):De().then(r=>{const n=Ie(u,r);return p({authMode:n,autoOAuthProvider:u.autoOAuthProvider||r.autoOAuthProvider,autoSAMLProvider:u.autoSAMLProvider||r.autoSAMLProvider}),r}).catch(r=>{throw f("atomic:fetchAppPreLogin error",r),r})}const Ht=Fe;async function Jt(e,t,r={}){const n=`api/v1/search.dataset/${e}/${t}`,a=await d(n,{parameters:r}),s=t[0].toLowerCase()+t.slice(1),i=a.datasets[s];if("errorCode"in i&&"errorMessage"in i)throw new Error(i.errorMessage);return i}async function Wt(e,t){const r=`api/v1/search.dataset/${e}`,{parameters:n={},datasets:a=[]}=t;return(await d(r,{parameters:n,datasets:a})).datasets}async function xt(e){return await _(`api/v1/search.dataset/${e}`)}async function Xt(e,t=!0,r){try{return(await d("api/v1/labels",{action:"list",q:e,public:t,locale:r,localize:!1})).labels}catch(n){throw f("Error in fetchLabels",n),n}}async function Yt(){try{const{app:e=""}=u,t=new URLSearchParams({app:e,action:"getUserRights"});return _("api/v1/labels",t)}catch(e){throw f("Error in getUserRights",e),e}}async function Kt(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 d("api/v1/labels",n)}catch(n){throw f("Error in add",n),n}}async function Zt(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 d("api/v1/labels",n)}catch(n){throw f("Error in remove",n),n}}async function Et(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 d("api/v1/labels",n)}catch(n){throw f("Error in rename",n),n}}async function Tt(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 d("api/v1/labels",r)}catch(r){throw f("Error in deleteLabels",r),r}}async function er(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 d("api/v1/labels",n)}catch(n){throw f("Error in bulkAdd",n),n}}async function tr(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 d("api/v1/labels",n)}catch(n){throw f("Error in bulkRemove",n),n}}const rr={getUserRights:Yt,add:Kt,remove:Zt,rename:Et,delete:Tt,bulkAdd:er,bulkRemove:tr};async function nr(e,t){if(typeof window>"u")return d("api/v1/preview",{action:"get",id:e,query:t});const r=`${window.location.origin}${window.location.pathname}`,n={name:t?.name,text:t?.text};return d("api/v1/preview",{action:"get",id:e,query:n,browserUrl:r})}async function ar(e){const t=new Headers;t.append("content-type","text");const r=await fetch(e,{method:"GET",headers:t});U(r)}async function Ne(){const e=new URLSearchParams({action:"get",noAutoAuthentication:"true"});return _("api/v1/principal",e)}async function qe(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 Me(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 Be(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 or={principal:{get:Ne,list:qe,userid:Me,userids:Be}},Qe=11;async function sr(e,t,r){const a=await d("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===Qe),i.isTree&&i.items&&G(i)}),a.records?.map(i=>Object.assign(i,{value:i.title,type:"default"}));const s={...a,nextPage:a.page<Math.ceil(a.rowCount/a.pageSize)?a.page+1:void 0,previousPage:a.page>1?a.page-1:void 0};return Promise.resolve(s)}async function ir(e,t,r){const{app:n=""}=u,a={methods:[],mode:t,propagateErrors:!0,$auditRecord:{auditEvents:[r]}};for(const l of e)a.methods.push({method:"query",app:n,query:l});const s=await d("api/v1/multi",a);s.results.forEach(l=>{l.aggregations.forEach(c=>{c.$hasMore=!1,!c.isDistribution&&!c.isTree&&c.items&&(c.$hasMore=c.items.length===Qe),c.isTree&&G(c)})}),s.results.forEach(l=>l.records?.map(c=>Object.assign(c,{value:c.title,type:"default"})));const i=s.results.map(l=>({...l,nextPage:l.page<Math.ceil(l.rowCount/l.pageSize)?l.page+1:void 0,previousPage:l.page>1?l.page-1:void 0}));return Promise.resolve(i)}function G(e,t="",r=0){let n=[];return e.items&&e.items.forEach(a=>{let s=t?`${t}/${a.value}`:a.value,i=r+1;n.push({path:s,level:i}),a.$path=s,a.$level=i,a.hasChildren?n=n.concat(G(a,s,i)):a.hasChildren=!1}),n}async function cr({model:e,appName:t,query:r,article:n}){const{webservice:a,format:s,maxcount:i,exportedColumns:l,export:c}=e,h={app:t,webservice:a,query:r,type:c,format:s,maxcount:i,exportedColumns:l,$auditRecord:{auditEvents:[{type:"Search_ExportCSV",detail:{resultid:n?n.id:void 0}}]}};return D(h),await d("api/v1/search.queryexport",h,{responseType:"blob"})}async function lr(e){return(await d("api/v1/queryintent",{query:e}))?.intents}async function ur(e,t,r){return(await d("api/v1/similardocuments",{sourceDocumentId:e,query:{name:t}},{signal:r})).data}async function dr(e,t){return(await d("api/v1/query.links",{webservice:e,query:t}))?.links?.map(a=>({...a,query:t}))}function fr(e,t){if(typeof e=="number")return`${e}`;if(Pe(e))return hr(e);if(typeof e=="boolean")return e?"true":"false";if(e===null)return"null";if(Array.isArray(e)){const r=[];return e.forEach(n=>{r.length>0&&r.push(","),n?typeof n=="string"?r.push(n):r.push(n.display||n.value||""):r.push("null")}),r.splice(0,0,"["),r.push("]"),r.join("")}return e}function hr(e){if(!e)return"";try{if(Le(e)===0)return new Intl.DateTimeFormat("en-CA",{year:"numeric",month:"2-digit",day:"2-digit"}).format(e);{const t=new Intl.DateTimeFormat("en-CA").format(e),r=new Intl.DateTimeFormat("en-CA",{hour:"2-digit",minute:"2-digit",second:"2-digit",hour12:!1}).format(e);return`${t} ${r}`}}catch{return"Invalid date"}}async function gr(e,t,r,n,a){const{app:s}=u,i={app:s||"",suggestQuery:e,text:t,filter:r,kinds:n,showSource:a};try{return(await d("api/v1/search.suggest",i)).suggests}catch(l){throw console.error("Error fetching suggestions:",l),l}}async function mr(e,t,r,n){const{app:a}=u;return(await d("api/v1/suggestquery",{app:a||"",suggestQuery:e,text:t,query:r,kinds:n})).suggests}async function wr(e,t,r){if(!t)return Promise.resolve([]);const{app:n}=u,s=await d("api/v1/suggestfield",{app:n||"",text:e,fields:t,query:r});return s.suggests.forEach(i=>{i.display=fr(i.display)}),s.suggests}async function _r(e,t,r,n,a,s){return d("api/v1/doc.textchunks",{id:e,textChunks:t,highlights:r,query:n,leftSentencesCount:a,rightSentencesCount:s})}async function Sr(){const{app:e}=u,t=new URLSearchParams({app:e||"",action:"load"});return _("api/v1/usersettings",t)}async function je(e,t){const r={action:"save",userSettings:e,$auditRecord:{auditEvents:[t]}};return D(r),d("api/v1/usersettings",r)}async function kr(e,t){const n={action:"patch",userSettings:e,$auditRecord:t?{auditEvents:[t]}:void 0};return D(n),d("api/v1/usersettings",n)}async function pr(){return je({},{type:"UserSettings_Reset"})}async function br(e,t){return d("api/v2/security/password/change",{newPassword:e,currentPassword:t})}async function vr(e){const t="api/v2/security/password/ask-reset-email",n={changePasswordRedirectUrl:`${window.location.origin}/login?mode=changepassword`,userName:e};return d(t,n)}async function Cr(e){return await _(`api/v2/user-profile/${e}`)}async function yr(e){return await d("api/v2/user-profile",e)}async function Pr(e,t,r){return await Se(`api/v2/user-profile/${e.data?.id}/${t}/${r}`,e)}async function Rr(e,t,r){try{return(await _e(`api/v2/user-profile/${e.data?.id}/${t}/${r}`)).success===!0}catch{return!1}}async function Lr(){return await _("api/v2/version")}const y=1e4,P="sinequa-auth-redirect-attempt",Ve=async()=>{const{autoOAuthProvider:e}=u;if(!e)throw new Error("autoOAuthProvider is not configured in globalConfig");if(typeof window>"u")try{const{signal:r}=v(y);return await d("security.oauth",{action:"getcode",provider:e,tokenInCookie:!0,originalUrl:"http://localhost"},{signal:r})}catch(r){throw f("Failed to authenticate with OAuth",r),r}const t={action:"getcode",provider:e,tokenInCookie:!0,originalUrl:window.location.href};try{const{signal:r}=v(y),n=await d("api/v1/security.oauth",t,{signal:r});if(n.redirectUrl){const a=new URL(n.redirectUrl,window.location.origin);if(a.protocol==="https:"||a.protocol==="http:"){if(x(P))throw A(P),new Error(`OAuth sign-in with provider "${e}" did not establish a session — its callback is likely not authorized for this application.`);X(P,"1"),window.location.href=a.href}}return n}catch(r){throw f("Failed to authenticate with OAuth",r),r}},ze=async()=>{const{autoSAMLProvider:e}=u;if(!e)throw new Error("autoSAMLProvider is not configured in globalConfig");if(typeof window>"u")try{const{signal:r}=v(y);return await d("security.saml",{action:"getresponse",provider:e,tokenInCookie:!0,originalUrl:"http://localhost"},{signal:r})}catch(r){throw f("Failed to authenticate with SAML",r),r}const t={action:"getresponse",provider:e,tokenInCookie:!0,originalUrl:window.location.href};try{const{signal:r}=v(y),n=await d("api/v1/security.saml",t,{signal:r});if(n.redirectUrl){const a=new URL(n.redirectUrl,window.location.origin);if(a.protocol==="https:"||a.protocol==="http:"){if(x(P))throw A(P),new Error(`SAML sign-in with provider "${e}" did not establish a session — its callback is likely not authorized for this application.`);X(P,"1"),window.location.href=a.href}}return n}catch(r){throw f("Failed to authenticate with SAML",r),r}},M=e=>X("sinequa-credentials",JSON.stringify({data:{csrfToken:e}})),ne=async()=>{try{const{signal:e}=v(y),t=await _("api/v1/challenge?action=getCsrfToken&suppressErrors=true",void 0,{signal:e});if(t?.csrfToken)return M(t.csrfToken),t.csrfToken;throw new Error("No CSRF token returned")}catch(e){throw f("Failed to get CSRF token",e),e}};async function ae(e){if(e){const{username:t,password:r}=e,n={action:"get",tokenInCookie:!0,user:t,password:r,noUserOverride:!0,noAutoAuthentication:!0};try{const{signal:a}=v(y),s=await d("api/v1/security.webtoken",n,{signal:a});return s?.csrfToken?(M(s.csrfToken),s.csrfToken):null}catch(a){throw f("Failed to get JWT",a),a}}else{const t={action:"get",tokenInCookie:!0,noUserOverride:!0,noAutoAuthentication:!1},{bearerToken:r}=u;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{signal:a}=v(y),s=await d("api/v1/security.webtoken",t,{headers:n,signal:a});return s?.csrfToken?(M(s.csrfToken),s.csrfToken):null}catch(a){throw f("Failed to get JWT without credentials",a),a}}}const H=()=>{const e=x("sinequa-credentials");if(e)try{const n=JSON.parse(e).data?.csrfToken;if(n)return n}catch(r){N("Failed to parse session storage credentials, falling back to local storage",r)}const t=We("csrfToken");return t||null},Ge=async()=>{try{const{signal:e}=v(y);return await _("api/v1/principal",new URLSearchParams({action:"get"}),{signal:e,redirect:"manual"}),b("Server auto-authenticated the user (OIDC)"),!0}catch{return!1}},Ur=async e=>{if(e){const{username:r,password:n}=e;return!r||!n?(f("Credentials are required for authentication"),g(!1),!1):Or({username:r,password:n})}const t=u.authMode??w.unknown();if(t.kind==="credentials")return g(!1),!1;if(t.kind==="bearer")return Ar();if(H())return p({isRedirectUrl:!1}),A(P),g(!0),!0;try{if(b("Checking for an existing session via CSRF token retrieval"),await ne())return b("User already authenticated (existing session / SSO)"),A(P),t.kind==="unknown"&&p({authMode:w.sso()}),g(!0),!0}catch{}switch(t.kind){case"oauth":return b("Initiating OAuth authentication flow"),await Ve(),g(!1),!1;case"saml":return b("Initiating SAML authentication flow"),await ze(),g(!1),!1;case"sso":return g(!1),!1;default:{if(b("No provider declared — probing for server-side auto-authentication (OIDC)"),await Ge())try{if(await ne())return b("User auto-authenticated by the server (OIDC)"),A(P),p({authMode:w.sso()}),g(!0),!0}catch{}return p({authMode:w.credentials()}),g(!1),!1}}};async function Or(e){b("Attempting authentication using credentials"),p({authMode:w.credentials()});const{userOverrideActive:t,userOverride:r}=u;p({userOverrideActive:!1,userOverride:void 0});try{await ae(e)}catch(n){throw g(!1),n}return p({userOverrideActive:t,userOverride:r}),g(!0),!0}async function Ar(){try{if(b("Attempting authentication using bearer token"),await ae())return g(!0),!0}catch(e){throw f("Bearer authentication failed",e),g(!1),e}return g(!1),!1}const He=async()=>{const e=new URLSearchParams({action:"deleteWebTokenCookie",noUserOverride:"true",noAutoAuthentication:"true"}),{signal:t}=v(y);return _("api/v1/challenge",e,{signal:t})};async function $r(){const{userOverrideActive:e}=u;if(Je(),!e)try{const{methodresult:t,logoutUrl:r}=await He();if(t==="ok")return r;f("logout failed")}catch(t){f("logout failed",t)}}function Je(){xe("csrfToken"),A("sinequa-credentials"),g(!1)}const Ir=()=>!!H();o.API=or,o.ApiError=L,o.Audit=Vt,o.AuditEventType=C,o.AuthMode=w,o.DidYouMeanKind=ke,o.EngineType=m,o.EngineTypeModifier=k,o.LogLevel=Z,o.MINIMUM_COMPATIBLE_SERVER_API_VERSION=Rt,o.RFMDisplay=pe,o.ServerError=E,o.TimeoutError=we,o.UnauthorizedError=z,o.addAuditAdditionalInfo=D,o.addConcepts=at,o.addSessionId=Ae,o.addUrl=$e,o.aggItemRegex=se,o.aggregationItemStrictCompare=Ye,o.appInitializerFn=Ht,o.bisect=Ze,o.buildPathsAndLevels=G,o.clearSessionTokens=Je,o.configureLogger=pt,o.createHeaders=I,o.createTimeoutController=v,o.createUserProfile=yr,o.debug=$,o.del=_e,o.deleteUserProfileProperty=Rr,o.deleteUserSettings=pr,o.deleteWebTokenCookie=He,o.detectAuthMode=Ie,o.emitAuthenticatedEvent=g,o.error=f,o.escapeExpr=Nt,o.expiresSoon=Ct,o.extraColumns=At,o.fetchAggregation=zt,o.fetchApp=Gt,o.fetchAppPreLogin=De,o.fetchBulkQuery=ir,o.fetchChangePassword=br,o.fetchDataset=Jt,o.fetchDatasetList=xt,o.fetchDatasets=Wt,o.fetchLabels=Xt,o.fetchPreview=nr,o.fetchPreviewUrl=ar,o.fetchPrincipal=Ne,o.fetchPrincipalList=qe,o.fetchPrincipalUserid=Me,o.fetchPrincipalUserids=Be,o.fetchQuery=sr,o.fetchQueryExport=cr,o.fetchQueryIntent=lr,o.fetchSendPasswordResetEmail=vr,o.fetchSimilarDocuments=ur,o.fetchSponsoredLinks=dr,o.fetchSuggest=gr,o.fetchSuggestField=wr,o.fetchSuggestQuery=mr,o.fetchTextChunks=_r,o.fetchUserProfile=Cr,o.fetchUserSettings=Sr,o.fetchVersion=Lr,o.filter=$t,o.get=_,o.getConcepts=it,o.getCsrfToken=ne,o.getFiltersFromURI=Y,o.getFiltersFromUrl=ft,o.getHelpIndexUrl=St,o.getIdFromUrl=gt,o.getJWToken=ae,o.getMetadata=It,o.getMetadataWithValues=Dt,o.getOffsetFromDates=me,o.getQueryPageFromUrl=mt,o.getQueryParamsFromUrl=ut,o.getQueryTabFromUrl=wt,o.getQueryTextFromUrl=ht,o.getRelativeDate=ct,o.getTime=Le,o.getToken=H,o.getUrlParamsFromQueryParams=dt,o.globalConfig=u,o.guid=Ue,o.handleResponse=U,o.info=b,o.initializeAppConfig=Fe,o.isArrayBuffer=Ce,o.isAuthenticated=Ir,o.isBlob=ye,o.isDate=Pe,o.isExpired=vt,o.isJsonable=Ft,o.isNotInputEvent=lt,o.isObject=q,o.isString=Re,o.labels=rr,o.legacyBooleansToAuthMode=oe,o.login=Ur,o.logout=$r,o.makeColumn=S,o.notify=kt,o.openParentNodes=ce,o.parseText=F,o.parseValueAndOperatorFromItem=ie,o.patch=Se,o.patchUserProfile=Pr,o.patchUserSettings=kr,o.post=d,o.put=bt,o.queryParamsFromUrl=O,o.removeConcept=ot,o.removeConcepts=st,o.resolveToColumnName=Pt,o.rewriteText=B,o.saveUserSettings=je,o.setGlobalConfig=p,o.setToken=M,o.sha512=qt,o.suggestionsToTreeAggregationNodes=Ke,o.sysLang=_t,o.toDate=ee,o.translateAggregationToDateOptions=Xe,o.tryAutoAuthentication=Ge,o.tryOAuthAuthentication=Ve,o.trySAMLAuthentication=ze,o.warn=N,o.withRetry=yt,Object.defineProperty(o,Symbol.toStringTag,{value:"Module"})}));
|