@sinequa/atomic 2.0.1 → 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 -1927
- package/dist/authentication/index.d.ts +1 -1
- package/dist/authentication/index.d.ts.map +1 -1
- package/dist/authentication/session/index.d.ts +1 -0
- package/dist/authentication/session/index.d.ts.map +1 -1
- package/dist/authentication/session/login.d.ts.map +1 -1
- package/dist/authentication/session/try-auto-authentication.d.ts +19 -0
- package/dist/authentication/session/try-auto-authentication.d.ts.map +1 -0
- 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 +4 -0
- 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"}
|
|
@@ -7,11 +7,15 @@ import type { API_ENDPOINTS } from "../../../types";
|
|
|
7
7
|
* @param options - Additional options for the request.
|
|
8
8
|
* @param options.headers - Custom headers to include in the request.
|
|
9
9
|
* @param options.responseType - The expected type of response data.
|
|
10
|
+
* @param options.redirect - How to handle a redirect response (defaults to the browser's `follow`).
|
|
11
|
+
* Pass `"manual"` to avoid following a cross-origin redirect (e.g. an auth challenge to an IdP),
|
|
12
|
+
* which would otherwise surface as a CORS network error.
|
|
10
13
|
* @returns A Promise that resolves to the response data of type T.
|
|
11
14
|
*/
|
|
12
15
|
export declare function get<T>(endpoint: API_ENDPOINTS, params?: URLSearchParams, options?: {
|
|
13
16
|
headers?: Headers;
|
|
14
17
|
responseType?: "arraybuffer" | "blob" | "json" | "text";
|
|
15
18
|
signal?: AbortSignal;
|
|
19
|
+
redirect?: RequestRedirect;
|
|
16
20
|
}): Promise<T>;
|
|
17
21
|
//# sourceMappingURL=get.d.ts.map
|
|
@@ -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 ae(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=ae({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 Je(e){return typeof window>"u"||!window.localStorage?J.getItem(e):window.localStorage.getItem(e)}function We(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 D(e){typeof window>"u"||!window.sessionStorage?W.removeItem(e):window.sessionStorage.removeItem(e)}const oe=/.*:\(?([><=\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=se(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 se(e,t){const r=t,n=e.value.match(oe);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 Xe(e,t,r){return e.valuesAreExpressions?t.display===r.display:t.value===r.value}function ie(e){return e.items&&(e.items=e.items.map(t=>ie(t))),e.items&&e.items.some(t=>t.$selected||t.$opened)&&(e.$opened=!0),e}function Ye(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);ce(r,n,"/",l.display,+(l.frequency||0),1,(h?.index||0)+t.length)}})}return r}function ce(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 C=c.replace(/^\/|\/$/g,"");h={value:n.substring(r.length,l),count:a,items:[],hasChildren:!1,$level:s,$opened:i>=c.length,$path:C},t.set(c,h),e.push(h)}c.length<n.length&&(h.hasChildren=!0,ce(h.items,t,c,n,a,s+1,i))}function Ke(e,t){return e.reduce((r,n)=>(t(n)?r.true.push(n):r.false.push(n),r),{true:[],false:[]})}const Ze=/(([\+\-])?\(([^\)]+)\))|(([\+\-])?\[([^\]]+)\])|(([\+\-])?\"([^\"]+)\")|(([\+\-])?\/([^\/]+)\/)|(([\+\-])?(\S+))/g,Ee=2,le=3,Te=5,ue=6,et=8,de=9,tt=11,fe=12,rt=14,he=15;function F(e){if(!e)return[];const t=[],r=e.matchAll(Ze);for(let n of r)n[le]?t.push({type:"group",value:n[le],op:n[Ee]}):n[ue]?t.push({type:"adjacent",value:n[ue],op:n[Te]}):n[de]?t.push({type:"exact",value:n[de],op:n[et]}):n[fe]?t.push({type:"regex",value:n[fe],op:n[tt]}):n[he]&&t.push({type:"token",value:n[he],op:n[rt]});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 nt(e,t,r){let n=F(e);for(let a of t)n.push({type:"adjacent",value:a,op:r});return B(n)}function at(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 ot(e){const t=F(e).filter(r=>r.type!=="adjacent");return B(t)}function st(e){return F(e).filter(t=>t.type==="adjacent").map(t=>t.value)}function it(e,t,r){const n=new Intl.RelativeTimeFormat(e,{numeric:"auto"}),{offset:a,unit:s,isFuture:i}=ge(t,r);return n.format(a*(i?1:-1),s)}function ge(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 ct(e){const t=e.target;return t&&t.nodeName!=="INPUT"&&t.nodeName!=="TEXTAREA"}function lt(e){if(e===void 0)return;const{q:t,f:r,p:n,s:a,t:s,n:i,b:l}=U(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 ut(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 dt(e){if(e===void 0)return[];const{f:t}=U(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 U(e){const t=e.split("?")[1];if(t===void 0)return{};const r=new URLSearchParams(t);return Object.fromEntries(r)}function ft(e){const{q:t=""}=U(e);return t}function ht(e){const{id:t}=U(e);return decodeURIComponent(t)}function gt(e){const{p:t="0"}=U(e);return parseInt(t,10)}function mt(e){const{t}=U(e);return t}function wt(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 C=K(e,c.end+4,!0);return e.substring(C.start,C.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 _t(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 St={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 kt(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 O(e,t){V(1,e,t)}function N(e,t){V(2,e,t)}function f(e,t){V(3,e,t)}function A(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 P extends Error{status;constructor(t,r){super(t),this.name="ApiError",this.status=r}}class E extends P{constructor(t="Server error"){super(t,500),this.name="ServerError"}}class me extends P{constructor(t="Request timed out"){super(t,408),this.name="TimeoutError"}}class z extends P{constructor(t="Unauthorized access"){super(t,401),this.name="UnauthorizedError"}}async function y(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 P(`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 P?r:t===401?new z(r.message):t===500?new E(r.message):new P(r.message??`Request failed with status ${t}`,t)}}async function we(e,t,r){const n=A(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 y(l,r?.responseType)}catch(l){throw f("Error making DELETE request:",l),l}}async function S(e,t,r){const n=A(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});return y(l,r?.responseType)}catch(l){throw f("Error making GET request:",l),l}}async function _e(e,t,r){const n=A(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 y(c,r?.responseType)}catch(c){throw f("Error making PATCH request:",c),c}}async function d(e,t,r){const n=A(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 y(c,r?.responseType)}catch(c){throw f("Error making POST request:",c),c}}async function pt(e,t,r){const n=A(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 y(c,r?.responseType)}catch(c){throw f("Error making PUT request:",c),c}}function b(e){const t=new AbortController,{signal:r}=t;return e&&setTimeout(()=>{r.aborted||t.abort(new me(`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 bt(e){const t=ee(e);return!!t&&t.getTime()<=Date.now()}function vt(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 Ct(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 P&&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 v=(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))(v||{}),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 yt="1.0";var Se=(e=>(e[e.Original=0]="Original",e[e.Corrected=1]="Corrected",e))(Se||{}),ke=(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))(ke||{});function Rt(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 Lt(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 Ut(e){let t=k.none;if(e)for(const r of e)t|=Lt(r);return t}function _(e,t,r,n){const a=Rt(t),s=Ut(r||"");return{name:e,type:t,typeModifier:r,eType:a,eTypeModifier:s,aliases:n}}const Ot={id:_("id","string"),text:_("text","varchar"),documentlanguages:_("documentlanguages","csv","ci",["language"]),databasealias:_("databasealias","varchar"),globalrelevance:_("globalrelevance","double"),matchingpartnames:_("matchingpartnames","csv"),matchlocations:_("matchlocations","csv"),matchlocationsperpartname:_("matchlocationsperpartname","varchar"),extracts:_("extracts","csv"),extractsperpartname:_("extractsperpartname","varchar"),extractslocations:_("extractslocations","csv"),documentweight:_("documentweight","varchar"),groupcount:_("groupcount","integer"),accesslists:_("accesslists","varchar",void 0,["accessLists"])};function pe(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)=>be("and",e),or:(...e)=>be("or",e),not:(...e)=>{const t=pe(e);return t.length?{operator:"not",filters:t}:void 0}};function be(e,t){const r=pe(t);return r.length===0?void 0:r.length===1?r[0]:{operator:e,filters:r}}function At(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 It(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 ve(e){return q(e)&&Object.prototype.toString.call(e)==="[object ArrayBuffer]"}function Ce(e){return q(e)&&Object.prototype.toString.call(e)==="[object Blob]"}function Pe(e){return Object.prototype.toString.call(e)==="[object Date]"}function ye(e){return typeof e=="string"}function Dt(e){return(q(e)||Array.isArray(e))&&!ve(e)&&!Ce(e)&&!ye(e)}function Re(e){return e?(e.getHours()*60*60+e.getMinutes()*60+e.getSeconds())*1e3+e.getMilliseconds():0}function Le(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 Ft(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 Nt(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 C=0;C<e.length;C++)n^=e.charCodeAt(C),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,Ue;function I(e,t=!0){let r=qt(e.$auditRecord);r&&(Oe(r),t&&$e(r)),e.$auditRecord=r}function qt(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 Oe(e){const t=Mt();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 Mt(){return(!re||Bt())&&(re=Le()),Ue=new Date,re}function Bt(){return new Date().getTime()-Ue.getTime()>600*1e3}async function Qt(e,t=!0){const r={event:v.None,$auditRecord:e};return I(r,t),d("api/v1/audit.notify",r)}const jt={notify:Qt};async function Vt(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]}};I(s);const i=await d("api/v1/query",s),l=await y(i),{aggregations:c}=l,h=c[0];return h.$hasMore=h.items.length>a,h.items=[...e.items,...h.items],Promise.resolve(h)}function Ae(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 zt(e){const t=e||u.app,r=new URLSearchParams({app:t||""});return S("api/v1/app",r)}async function Ie(){const{app:e}=u,t=new URLSearchParams({app:e||"",preLogin:"true"});return S("api/v1/app",t)}function De(){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({})):Ie().then(r=>{const n=Ae(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 Gt=De;async function Ht(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 Jt(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 Wt(e){return await S(`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 Xt(){try{const{app:e=""}=u,t=new URLSearchParams({app:e,action:"getUserRights"});return S("api/v1/labels",t)}catch(e){throw f("Error in getUserRights",e),e}}async function Yt(e,t,r=!0){try{const n={action:"add",labels:e,ids:t,public:r,$auditRecord:{auditEvents:[{type:v.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 Kt(e,t,r=!0){try{const n={action:"remove",labels:e,ids:t,public:r,$auditRecord:{auditEvents:[{type:v.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 Zt(e,t,r=!0){try{const n={action:"rename",labels:e,newLabel:t,public:r,auditEvents:{type:v.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 Et(e,t=!0){try{const r={action:"delete",labels:e,public:t,auditEvents:{type:v.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 Tt(e,t,r=!0){try{const n={action:"bulkAdd",labels:e,query:t,public:r,auditEvents:{type:v.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 er(e,t,r=!0){try{const n={action:"bulkRemove",labels:e,query:t,public:r,auditEvents:{type:v.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 tr={getUserRights:Xt,add:Yt,remove:Kt,rename:Zt,delete:Et,bulkAdd:Tt,bulkRemove:er};async function rr(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 nr(e){const t=new Headers;t.append("content-type","text");const r=await fetch(e,{method:"GET",headers:t});y(r)}async function Fe(){const e=new URLSearchParams({action:"get",noAutoAuthentication:"true"});return S("api/v1/principal",e)}async function Ne(e){const t={noAutoAuthentication:"true",...e},r=new URLSearchParams;return Object.entries(t).forEach(([n,a])=>{a!==void 0&&r.append(n,String(a))}),S("api/v1/principal/list",r)}async function qe(e){if(!e)return Promise.reject(new Error("userid is required"));const t=new URLSearchParams({action:"userid",noAutoAuthentication:"true",userid:e});return S("api/v1/principal",t)}async function Me(e){if(e.length===0)return Promise.reject(new Error("userids is required"));const t=new URLSearchParams({noAutoAuthentication:"true",userids:[...e].join(",")});return S("api/v1/principal/userids",t)}const ar={principal:{get:Fe,list:Ne,userid:qe,userids:Me}},Be=11;async function or(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===Be),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 sr(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===Be),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 ir({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 I(h),await d("api/v1/search.queryexport",h,{responseType:"blob"})}async function cr(e){return(await d("api/v1/queryintent",{query:e}))?.intents}async function lr(e,t,r){return(await d("api/v1/similardocuments",{sourceDocumentId:e,query:{name:t}},{signal:r})).data}async function ur(e,t){return(await d("api/v1/query.links",{webservice:e,query:t}))?.links?.map(a=>({...a,query:t}))}function dr(e,t){if(typeof e=="number")return`${e}`;if(Pe(e))return fr(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 fr(e){if(!e)return"";try{if(Re(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 hr(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 gr(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 mr(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=dr(i.display)}),s.suggests}async function wr(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 _r(){const{app:e}=u,t=new URLSearchParams({app:e||"",action:"load"});return S("api/v1/usersettings",t)}async function Qe(e,t){const r={action:"save",userSettings:e,$auditRecord:{auditEvents:[t]}};return I(r),d("api/v1/usersettings",r)}async function Sr(e,t){const n={action:"patch",userSettings:e,$auditRecord:t?{auditEvents:[t]}:void 0};return I(n),d("api/v1/usersettings",n)}async function kr(){return Qe({},{type:"UserSettings_Reset"})}async function pr(e,t){return d("api/v2/security/password/change",{newPassword:e,currentPassword:t})}async function br(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 vr(e){return await S(`api/v2/user-profile/${e}`)}async function Cr(e){return await d("api/v2/user-profile",e)}async function Pr(e,t,r){return await _e(`api/v2/user-profile/${e.data?.id}/${t}/${r}`,e)}async function yr(e,t,r){try{return(await we(`api/v2/user-profile/${e.data?.id}/${t}/${r}`)).success===!0}catch{return!1}}async function Rr(){return await S("api/v2/version")}const R=1e4,L="sinequa-auth-redirect-attempt",je=async()=>{const{autoOAuthProvider:e}=u;if(!e)throw new Error("autoOAuthProvider is not configured in globalConfig");if(typeof window>"u")try{const{signal:r}=b(R);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}=b(R),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(L))throw D(L),new Error(`OAuth sign-in with provider "${e}" did not establish a session — its callback is likely not authorized for this application.`);X(L,"1"),window.location.href=a.href}}return n}catch(r){throw f("Failed to authenticate with OAuth",r),r}},Ve=async()=>{const{autoSAMLProvider:e}=u;if(!e)throw new Error("autoSAMLProvider is not configured in globalConfig");if(typeof window>"u")try{const{signal:r}=b(R);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}=b(R),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(L))throw D(L),new Error(`SAML sign-in with provider "${e}" did not establish a session — its callback is likely not authorized for this application.`);X(L,"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}})),ze=async()=>{try{const{signal:e}=b(R),t=await S("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 ne(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}=b(R),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}=b(R),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=Je("csrfToken");return t||null},Lr=async e=>{if(e){const{username:r,password:n}=e;return!r||!n?(f("Credentials are required for authentication"),g(!1),!1):Ur({username:r,password:n})}const t=u.authMode??w.unknown();if(t.kind==="credentials")return g(!1),!1;if(t.kind==="bearer")return Or();if(H())return p({isRedirectUrl:!1}),D(L),g(!0),!0;try{if(O("Checking for an existing session via CSRF token retrieval"),await ze())return O("User already authenticated (existing session / SSO)"),D(L),t.kind==="unknown"&&p({authMode:w.sso()}),g(!0),!0}catch{}switch(t.kind){case"oauth":return O("Initiating OAuth authentication flow"),await je(),g(!1),!1;case"saml":return O("Initiating SAML authentication flow"),await Ve(),g(!1),!1;case"sso":return g(!1),!1;default:return p({authMode:w.credentials()}),g(!1),!1}};async function Ur(e){O("Attempting authentication using credentials"),p({authMode:w.credentials()});const{userOverrideActive:t,userOverride:r}=u;p({userOverrideActive:!1,userOverride:void 0});try{await ne(e)}catch(n){throw g(!1),n}return p({userOverrideActive:t,userOverride:r}),g(!0),!0}async function Or(){try{if(O("Attempting authentication using bearer token"),await ne())return g(!0),!0}catch(e){throw f("Bearer authentication failed",e),g(!1),e}return g(!1),!1}const Ge=async()=>{const e=new URLSearchParams({action:"deleteWebTokenCookie",noUserOverride:"true",noAutoAuthentication:"true"}),{signal:t}=b(R);return S("api/v1/challenge",e,{signal:t})};async function $r(){const{userOverrideActive:e}=u;if(He(),!e)try{const{methodresult:t,logoutUrl:r}=await Ge();if(t==="ok")return r;f("logout failed")}catch(t){f("logout failed",t)}}function He(){We("csrfToken"),D("sinequa-credentials"),g(!1)}const Ar=()=>!!H();o.API=ar,o.ApiError=P,o.Audit=jt,o.AuditEventType=v,o.AuthMode=w,o.DidYouMeanKind=Se,o.EngineType=m,o.EngineTypeModifier=k,o.LogLevel=Z,o.MINIMUM_COMPATIBLE_SERVER_API_VERSION=yt,o.RFMDisplay=ke,o.ServerError=E,o.TimeoutError=me,o.UnauthorizedError=z,o.addAuditAdditionalInfo=I,o.addConcepts=nt,o.addSessionId=Oe,o.addUrl=$e,o.aggItemRegex=oe,o.aggregationItemStrictCompare=Xe,o.appInitializerFn=Gt,o.bisect=Ke,o.buildPathsAndLevels=G,o.clearSessionTokens=He,o.configureLogger=kt,o.createHeaders=A,o.createTimeoutController=b,o.createUserProfile=Cr,o.debug=$,o.del=we,o.deleteUserProfileProperty=yr,o.deleteUserSettings=kr,o.deleteWebTokenCookie=Ge,o.detectAuthMode=Ae,o.emitAuthenticatedEvent=g,o.error=f,o.escapeExpr=Ft,o.expiresSoon=vt,o.extraColumns=Ot,o.fetchAggregation=Vt,o.fetchApp=zt,o.fetchAppPreLogin=Ie,o.fetchBulkQuery=sr,o.fetchChangePassword=pr,o.fetchDataset=Ht,o.fetchDatasetList=Wt,o.fetchDatasets=Jt,o.fetchLabels=xt,o.fetchPreview=rr,o.fetchPreviewUrl=nr,o.fetchPrincipal=Fe,o.fetchPrincipalList=Ne,o.fetchPrincipalUserid=qe,o.fetchPrincipalUserids=Me,o.fetchQuery=or,o.fetchQueryExport=ir,o.fetchQueryIntent=cr,o.fetchSendPasswordResetEmail=br,o.fetchSimilarDocuments=lr,o.fetchSponsoredLinks=ur,o.fetchSuggest=hr,o.fetchSuggestField=mr,o.fetchSuggestQuery=gr,o.fetchTextChunks=wr,o.fetchUserProfile=vr,o.fetchUserSettings=_r,o.fetchVersion=Rr,o.filter=$t,o.get=S,o.getConcepts=st,o.getCsrfToken=ze,o.getFiltersFromURI=Y,o.getFiltersFromUrl=dt,o.getHelpIndexUrl=_t,o.getIdFromUrl=ht,o.getJWToken=ne,o.getMetadata=At,o.getMetadataWithValues=It,o.getOffsetFromDates=ge,o.getQueryPageFromUrl=gt,o.getQueryParamsFromUrl=lt,o.getQueryTabFromUrl=mt,o.getQueryTextFromUrl=ft,o.getRelativeDate=it,o.getTime=Re,o.getToken=H,o.getUrlParamsFromQueryParams=ut,o.globalConfig=u,o.guid=Le,o.handleResponse=y,o.info=O,o.initializeAppConfig=De,o.isArrayBuffer=ve,o.isAuthenticated=Ar,o.isBlob=Ce,o.isDate=Pe,o.isExpired=bt,o.isJsonable=Dt,o.isNotInputEvent=ct,o.isObject=q,o.isString=ye,o.labels=tr,o.legacyBooleansToAuthMode=ae,o.login=Lr,o.logout=$r,o.makeColumn=_,o.notify=St,o.openParentNodes=ie,o.parseText=F,o.parseValueAndOperatorFromItem=se,o.patch=_e,o.patchUserProfile=Pr,o.patchUserSettings=Sr,o.post=d,o.put=pt,o.queryParamsFromUrl=U,o.removeConcept=at,o.removeConcepts=ot,o.resolveToColumnName=Pt,o.rewriteText=B,o.saveUserSettings=Qe,o.setGlobalConfig=p,o.setToken=M,o.sha512=Nt,o.suggestionsToTreeAggregationNodes=Ye,o.sysLang=wt,o.toDate=ee,o.translateAggregationToDateOptions=xe,o.tryOAuthAuthentication=je,o.trySAMLAuthentication=Ve,o.warn=N,o.withRetry=Ct,Object.defineProperty(o,Symbol.toStringTag,{value:"Module"})}));
|