@callimacus/thamyr-core 4.3.5 → 4.4.0

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.
@@ -5,5 +5,5 @@
5
5
  * See LICENSE.md for the full terms.
6
6
  *
7
7
  */
8
- import{io as e}from"socket.io-client";const t={ERROR:"error",CHAPTER_EVENT:"chapter-event",CHAPTER_DELETED:"chapter-deleted",STORY_RESET:"story-reset",STORY_CREATED:"story-created",STORY_SHARED:"story-shared"},s={ERROR:"error",SYSTEM_MESSAGE:"system-message",SERVER_STATUS:"server-status",SERVER_RESPONSE:"server-response"},n={CLIENT_READY:"client-ready",USER_INTERACTION:"user-interaction"},r={question:"question",content:"content",topic:"topic",tag:"tag",image:"image",video:"video",gallery:"gallery",relatedQuestion:"relatedQuestion",page:"page",customInteraction:"customInteraction",customPage:"customPage"},i={masonry:"masonry",carousel:"carousel"},o={understandingQuery:1,craftingAnswer:2,curatingContent:3,done:4};function a(e){return e.type.startsWith("custom:")}function c(e){return"set"in e.type&&e.type.set}function l(e){return"master"in e.type&&e.type.master}const d={debug:0,info:1,warn:2,error:3,silent:4};const u=new class{config={enabled:!1,level:"info",prefix:"[Thamyr]"};debug=(...e)=>{this.log("debug",...e)};info=(...e)=>{this.log("info",...e)};warn=(...e)=>{this.log("warn",...e)};error=(...e)=>{this.log("error",...e)};log(e,...t){if(!(this.config.enabled&&d[e]>=d[this.config.level]))return;const{prefix:s}=this.config,n=void 0===s||""===s?t:[s,...t];console[e](...n)}configure(e){this.config={...this.config,...e}}getConfig(){return{...this.config}}};function h(e,t){const s=new URL(e),n=decodeURIComponent(s.pathname.slice(1)),r=(new TextEncoder).encode(JSON.stringify({bucket:"storage.callimacus.ai",key:n,edits:t})).toBase64();return`${s.origin}/${encodeURIComponent(r)}`}function y(){const e="undefined"==typeof crypto?void 0:crypto;if("function"==typeof e?.randomUUID)return e.randomUUID();const t=new Uint8Array(16);if("function"==typeof e?.getRandomValues)e.getRandomValues(t);else for(let e=0;e<16;e++)t[e]=Math.floor(256*Math.random());t[6]=15&t[6]|64,t[8]=63&t[8]|128;const s=[...t].map(e=>e.toString(16).padStart(2,"0"));return[s.slice(0,4).join(""),s.slice(4,6).join(""),s.slice(6,8).join(""),s.slice(8,10).join(""),s.slice(10,16).join("")].join("-")}var p,f;function m(e){if("object"!=typeof e||null===e)return!1;const t=e;return"string"==typeof t.audioUrl&&"string"==typeof t.mimeType}function g(e){if("object"==typeof e&&null!==e)for(const t of Object.values(e))if(m(t))return t}!function(e){e.GET_STORY="get-story",e.CREATE_ROUND="create-round",e.RESET_STORY="reset-story",e.BACK_FROM_ROUND="back-from-round",e.SHARE_STORY="share-story",e.GET_SHARED_STORY="get-shared-story"}(p||(p={})),function(e){e.ROUND_CREATED="round-created",e.ROUND_EVENT="round-event",e.ROUND_COMPLETED="round-completed",e.ERROR="error"}(f||(f={}));const b={productSelector:"[data-product-id]",blockSelector:"[data-block-id]",maxTrackedElements:40,minVisibilityRatio:.5};class k{elements=new Map;elementRefs=new Map;elementKeys=new WeakMap;blocks=new Map;blockRefs=new Map;blockKeys=new WeakMap;started=!1;config;constructor(e={}){const t=e.minVisibilityRatio??b.minVisibilityRatio;this.config={productSelector:e.productSelector??b.productSelector,blockSelector:e.blockSelector??b.blockSelector,maxTrackedElements:e.maxTrackedElements??b.maxTrackedElements,minVisibilityRatio:Math.min(1,Math.max(0,t))}}rescanUi(){if(!this.canUseDom())return;let e,t;try{e=document.querySelectorAll(this.config.productSelector),t=document.querySelectorAll(this.config.blockSelector)}catch(e){return void u.warn("UI Observer: invalid selector, skipping rescan:",e)}const s=Date.now();for(const t of e){const e=this.normalizeRect(t.getBoundingClientRect()),n=this.calculateVisibilityRatio(e);this.syncTrackedElement(t,{bounds:e,isVisible:n>=this.config.minVisibilityRatio,visibilityRatio:n,observedAt:s})}for(const e of t){const t=this.normalizeRect(e.getBoundingClientRect()),n=this.calculateVisibilityRatio(t);this.syncTrackedBlock(e,{bounds:t,isVisible:n>=this.config.minVisibilityRatio,visibilityRatio:n,observedAt:s})}this.pruneTrackedElements(),this.pruneTrackedBlocks()}pruneTrackedElements(){if(this.elements.size<=this.config.maxTrackedElements)return;const e=[...this.elements].sort(([,e],[,t])=>{const s=e.visibilityRatio-t.visibilityRatio;return 0===s||Number.isNaN(s)?e.observedAt-t.observedAt:s}).slice(0,this.elements.size-this.config.maxTrackedElements);for(const[t]of e)this.elements.delete(t),this.elementRefs.delete(t)}pruneTrackedBlocks(){if(this.blocks.size<=this.config.maxTrackedElements)return;const e=[...this.blocks].sort(([,e],[,t])=>{const s=e.visibilityRatio-t.visibilityRatio;return 0===s||Number.isNaN(s)?e.observedAt-t.observedAt:s}).slice(0,this.blocks.size-this.config.maxTrackedElements);for(const[t]of e)this.blocks.delete(t),this.blockRefs.delete(t)}syncTrackedElement(e,t){const s=this.resolveElementId(e),n=this.resolveBlockId(e),r=this.createTrackingKey(s,n),i=this.elementKeys.get(e);void 0!==i&&""!==i&&i!==r&&(this.elements.delete(i),this.elementRefs.delete(i)),this.elementKeys.set(e,r),this.elementRefs.set(r,e),this.elements.set(r,{id:s,blockId:n,trackingKey:r,...t})}syncTrackedBlock(e,t){const s=this.resolveTrackedBlockId(e),n=this.blockKeys.get(e),r=s;void 0!==n&&""!==n&&n!==r&&(this.blocks.delete(n),this.blockRefs.delete(n)),this.blockKeys.set(e,r),this.blockRefs.set(r,e),this.blocks.set(r,{id:s,...t})}resolveElementId(e){return[e.dataset.productId,e.dataset.productid,e.dataset.sku,e.id].find(e=>void 0!==e&&""!==e)??`${e.tagName}-${e.dataset.productId??this.elements.size}`}resolveBlockId(e){let t;try{t=e.closest(this.config.blockSelector)??void 0}catch{return}return t instanceof HTMLElement?this.resolveTrackedBlockId(t):void 0}resolveTrackedBlockId(e){return[e.dataset.blockId,e.dataset.blockid,e.id].find(e=>void 0!==e&&""!==e)??`${e.tagName}-${e.dataset.blockId??this.blocks.size}`}createTrackingKey(e,t){return void 0===t||""===t?e:`${e}::${t}`}normalizeRect(e){return{x:e.x,y:e.y,width:e.width,height:e.height,top:e.top,left:e.left,right:e.right,bottom:e.bottom}}calculateVisibilityRatio(e){const t=Math.max(0,Math.min(e.right,window.innerWidth)-Math.max(e.left,0))*Math.max(0,Math.min(e.bottom,window.innerHeight)-Math.max(e.top,0)),s=e.width*e.height;if(s<=0)return 0;const n=window.innerWidth*window.innerHeight,r=n>0?Math.min(s,n):s;return Math.min(1,Math.max(0,t/r))}canUseDom(){return void 0!==globalThis.window&&"undefined"!=typeof document}start(){!this.started&&this.canUseDom()&&(this.started=!0)}stop(){this.started&&(this.started=!1,this.elements.clear(),this.elementRefs.clear(),this.blocks.clear(),this.blockRefs.clear())}getSnapshot(){if(!this.canUseDom())return;this.rescanUi();const e=[],t=[],s=Date.now();for(const[t,s]of this.elements){const n=this.elementRefs.get(t);n?.isConnected?s.visibilityRatio<=0||e.push({blockId:s.blockId,element:{id:s.id,bounds:s.bounds,isVisible:s.visibilityRatio>=this.config.minVisibilityRatio,visibilityRatio:s.visibilityRatio}}):(this.elements.delete(t),this.elementRefs.delete(t))}for(const[e,s]of this.blocks){const n=this.blockRefs.get(e);n?.isConnected?s.visibilityRatio<this.config.minVisibilityRatio||t.push(s.id):(this.blocks.delete(e),this.blockRefs.delete(e))}const n=e.slice(0,this.config.maxTrackedElements);return{timestamp:s,viewport:{width:window.innerWidth,height:window.innerHeight},blockIds:[...new Set([...t,...n.flatMap(e=>e.blockId??[])])],elements:n.map(e=>e.element)}}}function v(e){const{data:t}=e;if("object"!=typeof t||null===t)return;const{code:s,reason:n}=t;return"number"==typeof s?{code:s,..."string"==typeof n&&{reason:n}}:void 0}const R=3;function w(e,t){return e>=500&&t<3}function E(e,t){return t?void 0:v(e)??{code:0}}class S{socket;serverResponseListeners=new Set;connectionStatusListeners=new Set;errorListeners=new Set;uiObserver;uiObserverConfig=b;handshakeRetryAttempts=0;handshakeRetryTimer;setupEventListeners(){this.socket&&(this.socket.on("connect",()=>{u.debug("Connected to Callimacus"),this.clearHandshakeRetry(),this.handshakeRetryAttempts=0,this.updateConnectionStatus(!0),this.socket?.emit(n.CLIENT_READY)}),this.socket.on("disconnect",()=>{u.info("Disconnected from Callimacus"),this.updateConnectionStatus(!1)}),this.socket.on("connect_error",e=>{this.updateConnectionStatus(!1);const t=E(e,this.socket?.active??!0);t&&(u.error("Connection refused by Callimacus:",e.message,t.reason??""),this.notifyRejection(t,e.message),this.scheduleHandshakeRetry(t.code))}),this.socket.on(s.ERROR,e=>{u.error("Received error from Callimacus:",e),this.notifyErrorListeners(e)}),this.socket.io.on("reconnect",e=>{u.info(`Reconnected to Callimacus after ${e} attempts`)}),this.socket.io.on("reconnect_attempt",e=>{u.info(`Attempting to reconnect: attempt ${e}`)}),this.socket.io.on("reconnect_error",e=>{u.error("Reconnection error:",e)}),this.socket.io.on("reconnect_failed",()=>{u.error("Failed to reconnect to Callimacus service!"),this.updateConnectionStatus(!1)}),this.socket.on(s.SERVER_RESPONSE,e=>{this.notifyServerResponseListeners(e)}))}notifyServerResponseListeners(e){this.serverResponseListeners.forEach(t=>{try{t(e)}catch(e){u.error("Error in server response listener:",e)}})}updateConnectionStatus(e){this.connectionStatusListeners.forEach(t=>{try{t(e)}catch(e){u.error("Error in connection status listener:",e)}})}notifyRejection(e,t){this.notifyErrorListeners({code:e.code,message:t,...void 0!==e.reason&&{reason:e.reason}})}scheduleHandshakeRetry(e){if(!this.socket)return;if(this.clearHandshakeRetry(),!w(e,this.handshakeRetryAttempts))return void(e>=500&&(u.error("Giving up on the Callimacus connection after 3 retries"),this.notifyRejection({code:e,reason:"retries_exhausted"},"Connection failed after 3 retries; call connect() to try again")));const t=2**(this.handshakeRetryAttempts+1);this.handshakeRetryAttempts+=1,u.info(`Retrying Callimacus connection in ${t}s (attempt ${this.handshakeRetryAttempts}/3)`),this.handshakeRetryTimer=setTimeout(()=>{this.socket?.connect()},1e3*t)}clearHandshakeRetry(){void 0!==this.handshakeRetryTimer&&(clearTimeout(this.handshakeRetryTimer),this.handshakeRetryTimer=void 0)}notifyErrorListeners(e){this.errorListeners.forEach(t=>{try{t(e)}catch(e){u.error("Error in error listener:",e)}})}async getLocation(){if("undefined"!=typeof navigator&&"function"==typeof navigator.geolocation?.getCurrentPosition)return new Promise(e=>{navigator.geolocation.getCurrentPosition(t=>{e(t)},()=>{e(void 0)})})}enrichPayloadWithUiContext(e){try{this.ensureUiObserver();const t=this.uiObserver?.getSnapshot();return t?{...e,context:{...e.context,uiSnapshot:t}}:e}catch(t){return u.error("Error enriching payload with UI context:",t),e}}ensureUiObserver(){"undefined"!=typeof window&&"undefined"!=typeof document&&this.uiObserverConfig.enabled&&(this.uiObserver??=new k(this.uiObserverConfig),this.uiObserver.start())}socketEndpoint(e){const t=new URL(e),s=new URL("thamyr",t).pathname;return{origin:t.origin,path:s}}connect(t="wss://localhost:4000",s,n){this.socket&&(u.warn("Already connected to Thamyr. Disconnecting first...."),this.disconnect());const r=this.socketEndpoint(t);let i;"undefined"!=typeof window&&void 0!==globalThis.location&&(i=globalThis.location.href);const o={...void 0!==i&&""!==i&&{referrer:i},...n};u.info("Connecting to Thamyr at",r),this.socket=e(r.origin,{path:r.path,transports:["websocket","polling"],tryAllTransports:!0,extraHeaders:s,auth:o}),this.setupEventListeners(),this.ensureUiObserver()}disconnect(){this.clearHandshakeRetry(),this.handshakeRetryAttempts=0,this.socket&&(this.socket.disconnect(),this.socket=void 0,this.uiObserver?.stop(),this.uiObserver=void 0,this.updateConnectionStatus(!1),u.info("Disconnected from Callimacus"))}configureUiObserver(e){if(!e)return this.uiObserver?.stop(),this.uiObserver=void 0,void(this.uiObserverConfig={...b,enabled:!1});const t=e.enabled??(void 0!==e.productSelector||void 0!==e.blockSelector||void 0!==e.maxTrackedElements||void 0!==e.minVisibilityRatio||this.uiObserverConfig.enabled);if(this.uiObserverConfig={...this.uiObserverConfig,...e,enabled:t},"undefined"==typeof window||"undefined"==typeof document||!this.uiObserverConfig.enabled)return this.uiObserver?.stop(),void(this.uiObserver=void 0);this.uiObserver&&this.uiObserver.stop(),this.uiObserver=new k(this.uiObserverConfig),this.uiObserver.start()}sendUserInteraction(e,t){if(!this.socket)return void u.error("Socket is not connected. Cannot send interaction.");if(e===p.BACK_FROM_ROUND){if(void 0===t.chapterId)return void u.error("BACK_FROM_ROUND requires chapterId.")}const s={type:e,payload:this.enrichPayloadWithUiContext(t)},r={id:y()};this.socket.emit(n.USER_INTERACTION,{type:s.type,payload:s.payload},r.id)}async gatherClientInfo(){const e="undefined"==typeof navigator?void 0:navigator,t="undefined"==typeof window?void 0:window.screen;return{userAgent:e?.userAgent??"",language:e?.language??"",timezone:(new Intl.DateTimeFormat).resolvedOptions().timeZone,localTime:(new Date).toLocaleString(),screenResolution:void 0===t?"":`${t.width}x${t.height}`,location:await this.getLocation()}}onServerResponse(e){return this.serverResponseListeners.add(e),()=>{this.serverResponseListeners.delete(e)}}onConnectionStatus(e){return this.connectionStatusListeners.add(e),()=>{this.connectionStatusListeners.delete(e)}}onError(e){return this.errorListeners.add(e),()=>{this.errorListeners.delete(e)}}}const T=new S,O=new Set;function x(e){O.has(e)||(O.add(e),u.warn(`${e}() is a browser-only intent API and does nothing on React Native. Use @callimacus/intent/native (initIntentNative) for intent tracking on native.`))}function C(e){x("setConsent")}function I(e){x("setGeo")}function A(e){x("setDebug")}function j(e){x("setDebugPanel")}function _(e={}){x("initIntent")}function U(){x("getIntentSessionId")}function $(){x("ensureIntentSessionId")}function D(){x("clearIntentSessionId")}function q(e){x("setIntentSessionMaxAge")}const N={bodySerializer:e=>JSON.stringify(e,(e,t)=>"bigint"==typeof t?t.toString():t)},L=Object.entries({$body_:"body",$headers_:"headers",$path_:"path",$query_:"query"});function K(e,t){t||(t=new Map);for(const s of e)"in"in s?s.key&&t.set(s.key,{in:s.in,map:s.map}):"key"in s?t.set(s.key,{map:s.map}):s.args&&K(s.args,t);return t}function B(e,t){const s={headers:Object.create(null),path:Object.create(null),query:Object.create(null)},n=K(t);function r(e,t,n){let r=s[e];void 0===r&&(r=Object.create(null),s[e]=r),r[t]=n}let i;for(const[o,a]of e.entries())if(t[o]&&(i=t[o]),i)if("in"in i)if(i.key){const e=n.get(i.key),t=e.map||i.key;e.in&&r(e.in,t,a)}else s.body=a;else for(const[e,t]of Object.entries(a??{})){const o=n.get(e);if(o)if(o.in){const s=o.map||e;r(o.in,s,t)}else s[o.map]=t;else{const s=L.find(([t])=>e.startsWith(t));if(s){const[n,i]=s;r(i,e.slice(n.length),t)}else if("allowExtra"in i&&i.allowExtra)for(const[s,n]of Object.entries(i.allowExtra))if(n){r(s,e,t);break}}}return function(e){for(const[t,s]of Object.entries(e))"body"!==t&&(!s||"object"!=typeof s||Array.isArray(s)||Object.keys(s).length||delete e[t])}(s),s}const M=({allowReserved:e,explode:t,name:s,style:n,value:r})=>{if(!t){const t=(e?r:r.map(e=>encodeURIComponent(e))).join((e=>{switch(e){case"form":default:return",";case"pipeDelimited":return"|";case"spaceDelimited":return"%20"}})(n));switch(n){case"label":return`.${t}`;case"matrix":return`;${s}=${t}`;case"simple":return t;default:return`${s}=${t}`}}const i=(e=>{switch(e){case"label":return".";case"matrix":return";";case"simple":return",";default:return"&"}})(n),o=r.map(t=>"label"===n||"simple"===n?e?t:encodeURIComponent(t):z({allowReserved:e,name:s,value:t})).join(i);return"label"===n||"matrix"===n?i+o:o},z=({allowReserved:e,name:t,value:s})=>{if(null==s)return"";if("object"==typeof s)throw new Error("Deeply-nested arrays/objects aren’t supported. Provide your own `querySerializer()` to handle these.");return`${t}=${e?s:encodeURIComponent(s)}`},P=({allowReserved:e,explode:t,name:s,style:n,value:r,valueOnly:i})=>{if(r instanceof Date)return i?r.toISOString():`${s}=${r.toISOString()}`;if("deepObject"!==n&&!t){let t=[];Object.entries(r).forEach(([s,n])=>{t=[...t,s,e?n:encodeURIComponent(n)]});const i=t.join(",");switch(n){case"form":return`${s}=${i}`;case"label":return`.${i}`;case"matrix":return`;${s}=${i}`;default:return i}}const o=(e=>{switch(e){case"label":return".";case"matrix":return";";case"simple":return",";default:return"&"}})(n),a=Object.entries(r).map(([t,r])=>z({allowReserved:e,name:"deepObject"===n?`${s}[${t}]`:t,value:r})).join(o);return"label"===n||"matrix"===n?o+a:a},V=/\{[^{}]+\}/g,H=({baseUrl:e,path:t,query:s,querySerializer:n,url:r})=>{let i=(e??"")+(r.startsWith("/")?r:`/${r}`);t&&(i=(({path:e,url:t})=>{let s=t;const n=t.match(V);if(n)for(const t of n){let n=!1,r=t.substring(1,t.length-1),i="simple";r.endsWith("*")&&(n=!0,r=r.substring(0,r.length-1)),r.startsWith(".")?(r=r.substring(1),i="label"):r.startsWith(";")&&(r=r.substring(1),i="matrix");const o=e[r];if(null==o)continue;if(Array.isArray(o)){s=s.replace(t,M({explode:n,name:r,style:i,value:o}));continue}if("object"==typeof o){s=s.replace(t,P({explode:n,name:r,style:i,value:o,valueOnly:!0}));continue}if("matrix"===i){s=s.replace(t,`;${z({name:r,value:o})}`);continue}const a=encodeURIComponent("label"===i?`.${o}`:o);s=s.replace(t,a)}return s})({path:t,url:i}));let o=s?n(s):"";return o.startsWith("?")&&(o=o.substring(1)),o&&(i+=`?${o}`),i};function W(e){const t=void 0!==e.body;if(t&&e.bodySerializer){if("serializedBody"in e){return void 0!==e.serializedBody&&""!==e.serializedBody?e.serializedBody:null}return""!==e.body?e.body:null}if(t)return e.body}const Y=async(e,t)=>{const s="function"==typeof t?await t(e):t;if(s)return"bearer"===e.scheme?`Bearer ${s}`:"basic"===e.scheme?`Basic ${btoa(s)}`:s},F=({parameters:e={},...t}={})=>s=>{const n=[];if(s&&"object"==typeof s)for(const r in s){const i=s[r];if(null==i)continue;const o=e[r]||t;if(Array.isArray(i)){const e=M({allowReserved:o.allowReserved,explode:!0,name:r,style:"form",value:i,...o.array});e&&n.push(e)}else if("object"==typeof i){const e=P({allowReserved:o.allowReserved,explode:!0,name:r,style:"deepObject",value:i,...o.object});e&&n.push(e)}else{const e=z({allowReserved:o.allowReserved,name:r,value:i});e&&n.push(e)}}return n.join("&")},G=(e,t)=>!!t&&!!(e.headers.has(t)||e.query?.[t]||e.headers.get("Cookie")?.includes(`${t}=`));const J=e=>H({baseUrl:e.baseUrl,path:e.path,query:e.query,querySerializer:"function"==typeof e.querySerializer?e.querySerializer:F(e.querySerializer),url:e.url}),Q=(e,t)=>{const s={...e,...t};return s.baseUrl?.endsWith("/")&&(s.baseUrl=s.baseUrl.substring(0,s.baseUrl.length-1)),s.headers=X(e.headers,t.headers),s},Z=e=>{const t=[];return e.forEach((e,s)=>{t.push([s,e])}),t},X=(...e)=>{const t=new Headers;for(const s of e){if(!s)continue;const e=s instanceof Headers?Z(s):Object.entries(s);for(const[s,n]of e)if(null===n)t.delete(s);else if(Array.isArray(n))for(const e of n)t.append(s,e);else void 0!==n&&t.set(s,"object"==typeof n?JSON.stringify(n):n)}return t};class ee{fns=[];clear(){this.fns=[]}eject(e){const t=this.getInterceptorIndex(e);this.fns[t]&&(this.fns[t]=null)}exists(e){const t=this.getInterceptorIndex(e);return Boolean(this.fns[t])}getInterceptorIndex(e){return"number"==typeof e?this.fns[e]?e:-1:this.fns.indexOf(e)}update(e,t){const s=this.getInterceptorIndex(e);return!!this.fns[s]&&(this.fns[s]=t,e)}use(e){return this.fns.push(e),this.fns.length-1}}const te=F({allowReserved:!1,array:{explode:!0,style:"form"},object:{explode:!0,style:"deepObject"}}),se={"Content-Type":"application/json"},ne=(e={})=>({...N,headers:se,parseAs:"auto",querySerializer:te,...e}),re=(e={})=>{let t=Q(ne(),e);const s=()=>({...t}),n={error:new ee,request:new ee,response:new ee},r=async e=>{const s={...t,...e,fetch:e.fetch??t.fetch??globalThis.fetch,headers:X(t.headers,e.headers),serializedBody:void 0};s.security&&await async function(e){for(const t of e.security??[]){if(G(e,t.name))continue;const s=await Y(t,e.auth);if(!s)continue;const n=t.name??"Authorization";switch(t.in){case"query":e.query||(e.query={}),e.query[n]=s;break;case"cookie":e.headers.append("Cookie",`${n}=${s}`);break;default:e.headers.set(n,s)}}}(s),s.requestValidator&&await s.requestValidator(s),void 0!==s.body&&s.bodySerializer&&(s.serializedBody=s.bodySerializer(s.body)),void 0!==s.body&&""!==s.serializedBody||s.headers.delete("Content-Type");return{opts:s,url:J(s)}},i=async e=>{const s=e.throwOnError??t.throwOnError,i=e.responseStyle??t.responseStyle;let o,a;try{const{opts:t,url:s}=await r(e),i={redirect:"follow",...t,body:W(t)};o=new Request(s,i);for(const e of n.request.fns)e&&(o=await e(o,t));const c=t.fetch;a=await c(o);for(const e of n.response.fns)e&&(a=await e(a,o,t));const l={request:o,response:a};if(a.ok){const e=("auto"===t.parseAs?(e=>{if(!e)return"stream";const t=e.split(";")[0]?.trim();return t?t.startsWith("application/json")||t.endsWith("+json")?"json":"multipart/form-data"===t?"formData":["application/","audio/","image/","video/"].some(e=>t.startsWith(e))?"blob":t.startsWith("text/")?"text":void 0:void 0})(a.headers.get("Content-Type")):t.parseAs)??"json";if(204===a.status||"0"===a.headers.get("Content-Length")){let s;switch(e){case"arrayBuffer":case"blob":case"text":s=await a[e]();break;case"formData":s=new FormData;break;case"stream":s=a.body;break;default:s={}}return"data"===t.responseStyle?s:{data:s,...l}}let s;switch(e){case"arrayBuffer":case"blob":case"formData":case"text":s=await a[e]();break;case"json":{const e=await a.text();s=e?JSON.parse(e):{};break}case"stream":return"data"===t.responseStyle?a.body:{data:a.body,...l}}return"json"===e&&(t.responseValidator&&await t.responseValidator(s),t.responseTransformer&&(s=await t.responseTransformer(s))),"data"===t.responseStyle?s:{data:s,...l}}const d=await a.text();let u;try{u=JSON.parse(d)}catch{}throw u??d}catch(t){let r=t;for(const t of n.error.fns)t&&(r=await t(r,a,o,e));if(r=r||{},s)throw r;return"data"===i?void 0:{error:r,request:o,response:a}}},o=e=>t=>i({...t,method:e}),a=e=>async t=>{const{opts:s,url:i}=await r(t);return function({onRequest:e,onSseError:t,onSseEvent:s,responseTransformer:n,responseValidator:r,sseDefaultRetryDelay:i,sseMaxRetryAttempts:o,sseMaxRetryDelay:a,sseSleepFn:c,url:l,...d}){let u;const h=c??(e=>new Promise(t=>setTimeout(t,e)));return{stream:async function*(){let c=i??3e3,y=0;const p=d.signal??(new AbortController).signal;for(;!p.aborted;){y++;const i=d.headers instanceof Headers?d.headers:new Headers(d.headers);void 0!==u&&i.set("Last-Event-ID",u);try{const t={redirect:"follow",...d,body:d.serializedBody,headers:i,signal:p};let o=new Request(l,t);e&&(o=await e(l,t));const a=d.fetch??globalThis.fetch,h=await a(o);if(!h.ok)throw new Error(`SSE failed: ${h.status} ${h.statusText}`);if(!h.body)throw new Error("No body in SSE response");const y=h.body.pipeThrough(new TextDecoderStream).getReader();let f="";const m=()=>{try{y.cancel()}catch{}};p.addEventListener("abort",m);try{for(;;){const{done:e,value:t}=await y.read();if(e)break;f+=t,f=f.replace(/\r\n?/g,"\n");const i=f.split("\n\n");f=i.pop()??"";for(const e of i){const t=e.split("\n"),i=[];let o,a;for(const e of t)if(e.startsWith("data:"))i.push(e.replace(/^data:\s*/,""));else if(e.startsWith("event:"))o=e.replace(/^event:\s*/,"");else if(e.startsWith("id:"))u=e.replace(/^id:\s*/,"");else if(e.startsWith("retry:")){const t=Number.parseInt(e.replace(/^retry:\s*/,""),10);Number.isNaN(t)||(c=t)}let l=!1;if(i.length){const e=i.join("\n");try{a=JSON.parse(e),l=!0}catch{a=e}}l&&(r&&await r(a),n&&(a=await n(a))),s?.({data:a,event:o,id:u,retry:c}),i.length&&(yield a)}}}finally{p.removeEventListener("abort",m),y.releaseLock()}break}catch(e){if(t?.(e),void 0!==o&&y>=o)break;const s=Math.min(c*2**(y-1),a??3e4);await h(s)}}}()}}({...s,body:s.body,method:e,onRequest:async(e,t)=>{let r=new Request(e,t);for(const e of n.request.fns)e&&(r=await e(r,s));return r},serializedBody:W(s),url:i})};return{buildUrl:e=>J({...t,...e}),connect:o("CONNECT"),delete:o("DELETE"),get:o("GET"),getConfig:s,head:o("HEAD"),interceptors:n,options:o("OPTIONS"),patch:o("PATCH"),post:o("POST"),put:o("PUT"),request:i,setConfig:e=>(t=Q(t,e),s()),sse:{connect:a("CONNECT"),delete:a("DELETE"),get:a("GET"),head:a("HEAD"),options:a("OPTIONS"),patch:a("PATCH"),post:a("POST"),put:a("PUT"),trace:a("TRACE")},trace:o("TRACE")}};class ie{client;constructor(e){this.client=e.client}}class oe{defaultKey="default";instances=new Map;get(e){const t=this.instances.get(e??this.defaultKey);if(!t)throw new Error('No SDK client found. Create one with "new CallimacusApi()" to fix this error.');return t}set(e,t){this.instances.set(t??this.defaultKey,e)}}class ae extends ie{getPage(e,t){const s=B([e],[{args:[{in:"path",key:"language"},{in:"path",key:"id"}]}]);return(t?.client??this.client).get({security:[{name:"x-sl-access-token",type:"apiKey"}],url:"/page/{language}/{id}",...t,...s})}listTopics(e,t){const s=B([e],[{args:[{in:"path",key:"language"}]}]);return(t?.client??this.client).get({security:[{name:"x-sl-access-token",type:"apiKey"}],url:"/topic/{language}",...t,...s})}getTopicContents(e,t){const s=B([e],[{args:[{in:"path",key:"language"},{in:"path",key:"idOrSlug"},{in:"query",key:"offset"},{in:"query",key:"limit"}]}]);return(t?.client??this.client).get({security:[{name:"x-sl-access-token",type:"apiKey"}],url:"/topic/{language}/{idOrSlug}",...t,...s})}getDocumentBySlug(e,t){const s=B([e],[{args:[{in:"path",key:"language"},{in:"path",key:"slug"}]}]);return(t?.client??this.client).get({security:[{name:"x-sl-access-token",type:"apiKey"}],url:"/document/{language}/{slug}",...t,...s})}getDocumentByGroup(e,t){const s=B([e],[{args:[{in:"path",key:"language"},{in:"path",key:"groupId"}]}]);return(t?.client??this.client).get({security:[{name:"x-sl-access-token",type:"apiKey"}],url:"/document/by-group/{language}/{groupId}",...t,...s})}getDocumentByPath(e,t){const s=B([e],[{args:[{in:"query",key:"path"}]}]);return(t?.client??this.client).get({security:[{name:"x-sl-access-token",type:"apiKey"}],url:"/document/by-path",...t,...s})}}class ce extends ie{getShared(e,t){const s=B([e],[{args:[{in:"path",key:"id"}]}]);return(t?.client??this.client).get({security:[{name:"x-sl-access-token",type:"apiKey"}],url:"/share/{id}",...t,...s})}share(e,t){const s=B([e],[{args:[{in:"path",key:"id"}]}]);return(t?.client??this.client).post({security:[{name:"x-sl-access-token",type:"apiKey"}],url:"/share/{id}",...t,...s})}}class le extends ie{getSimilar(e,t){const s=B([e],[{args:[{in:"path",key:"productId"},{in:"query",key:"topK"},{in:"query",key:"language"}]}]);return(t?.client??this.client).get({security:[{name:"x-sl-access-token",type:"apiKey"}],url:"/product/{productId}/similar",...t,...s})}getRecommendations(e,t){const s=B([e],[{args:[{in:"path",key:"productId"},{in:"query",key:"language"}]}]);return(t?.client??this.client).get({security:[{name:"x-sl-access-token",type:"apiKey"}],url:"/product/{productId}/recommendations",...t,...s})}}class de extends ie{getLast(e,t){const s=B([e],[{args:[{in:"query",key:"storyId"}]}]);return(t?.client??this.client).get({security:[{name:"x-sl-access-token",type:"apiKey"}],url:"/whisper",...t,...s})}}class ue extends ie{trackEvent(e,t){const s=B([e],[{args:[{in:"body",key:"storyId"},{in:"body",key:"eventName"},{in:"body",key:"content"},{in:"body",key:"payload"}]}]);return(t?.client??this.client).post({security:[{name:"x-sl-access-token",type:"apiKey"}],url:"/track-event",...t,...s,headers:{"Content-Type":"application/json",...t?.headers,...s.headers}})}}class he extends ie{getCart(e){return(e?.client??this.client).get({security:[{name:"x-sl-access-token",type:"apiKey"}],url:"/cart",...e})}addItemToCart(e,t){const s=B([e],[{args:[{in:"body",key:"productId"}]}]);return(t?.client??this.client).post({security:[{name:"x-sl-access-token",type:"apiKey"}],url:"/cart/add",...t,...s,headers:{"Content-Type":"application/json",...t?.headers,...s.headers}})}removeItemFromCart(e,t){const s=B([e],[{args:[{in:"body",key:"productId"}]}]);return(t?.client??this.client).post({security:[{name:"x-sl-access-token",type:"apiKey"}],url:"/cart/remove",...t,...s,headers:{"Content-Type":"application/json",...t?.headers,...s.headers}})}updateProductQuantity(e,t){const s=B([e],[{args:[{in:"body",key:"productId"},{in:"body",key:"quantity"}]}]);return(t?.client??this.client).post({security:[{name:"x-sl-access-token",type:"apiKey"}],url:"/cart/update",...t,...s,headers:{"Content-Type":"application/json",...t?.headers,...s.headers}})}}class ye extends ie{similar(e,t){const s=B([e],[{args:[{in:"body",key:"anchorId"},{in:"body",key:"topK"},{in:"body",key:"locale"}]}]);return(t?.client??this.client).post({security:[{name:"x-sl-access-token",type:"apiKey"}],url:"/skesis/query/similar",...t,...s,headers:{"Content-Type":"application/json",...t?.headers,...s.headers}})}related(e,t){const s=B([e],[{args:[{in:"body",key:"anchorId"},{in:"body",key:"locale"}]}]);return(t?.client??this.client).post({security:[{name:"x-sl-access-token",type:"apiKey"}],url:"/skesis/query/related",...t,...s,headers:{"Content-Type":"application/json",...t?.headers,...s.headers}})}}class pe extends ie{static __registry=new oe;constructor(e){super(e),pe.__registry.set(this,e.key)}_content;get content(){return this._content??=new ae({client:this.client})}_stories;get stories(){return this._stories??=new ce({client:this.client})}_products;get products(){return this._products??=new le({client:this.client})}_whisper;get whisper(){return this._whisper??=new de({client:this.client})}_analytics;get analytics(){return this._analytics??=new ue({client:this.client})}_cart;get cart(){return this._cart??=new he({client:this.client})}_skesis;get skesis(){return this._skesis??=new ye({client:this.client})}}class fe extends Error{status;body;response;request;constructor(e,t,s){const n=t?.status,r=s?`${s.method} ${s.url}`:"request";let i=`[thamyr] ${r} failed before a response arrived`;t&&(i=t.ok?`[thamyr] ${r} → ${t.status}, but the response could not be processed`:`[thamyr] ${r} → ${t.status}`),super(i,e instanceof Error?{cause:e}:void 0),this.name="ThamyrHttpError",this.status=n,this.body=e,this.response=t,this.request=s}}function me(e){const t=re(ne({baseUrl:new URL("api/v3",e.endpoint).href,headers:{Authorization:`Bearer ${e.accessToken}`,"x-sl-access-token":e.accessToken},credentials:e.withCredentials?"include":"same-origin"}));return t.interceptors.error.use((e,s,n,r)=>{if(!(r.throwOnError??t.getConfig().throwOnError??!1)||!0===r.signal?.aborted)return e;return new fe(""===e?{}:e??{},s,n)}),t}export{pe as CallimacusApi,f as CallimacusEvent,S as CallimacusService,o as ChapterStatus,n as ClientEvents,i as GalleryMode,R as MAX_HANDSHAKE_RETRIES,r as SLInputEventType,s as ServerEvents,fe as ThamyrHttpError,t as ThamyrResponseType,p as UserInteractionType,T as callimacusService,E as classifyConnectError,D as clearIntentSessionId,me as createContractClient,$ as ensureIntentSessionId,g as extractTtsAudio,U as getIntentSessionId,_ as initIntent,a as isCustomBlock,l as isMasterProduct,c as isSetProduct,u as logger,v as parseConnectRejection,y as randomUuid,C as setConsent,A as setDebug,j as setDebugPanel,I as setGeo,q as setIntentSessionMaxAge,w as shouldRetryHandshake,h as transformImageUrl};
8
+ import{io as e}from"socket.io-client";const t={ERROR:"error",CHAPTER_EVENT:"chapter-event",CHAPTER_DELETED:"chapter-deleted",STORY_RESET:"story-reset",STORY_CREATED:"story-created",STORY_SHARED:"story-shared",BLOCK_PATCH:"block-patch"},s={ERROR:"error",SYSTEM_MESSAGE:"system-message",SERVER_STATUS:"server-status",SERVER_RESPONSE:"server-response"},n={CLIENT_READY:"client-ready",USER_INTERACTION:"user-interaction"},r={question:"question",content:"content",topic:"topic",tag:"tag",image:"image",video:"video",gallery:"gallery",relatedQuestion:"relatedQuestion",page:"page",customInteraction:"customInteraction",customPage:"customPage"},i={masonry:"masonry",carousel:"carousel"},o={understandingQuery:1,craftingAnswer:2,curatingContent:3,done:4};function a(e){return e.type.startsWith("custom:")}function c(e){return"set"in e.type&&e.type.set}function l(e){return"master"in e.type&&e.type.master}const d={debug:0,info:1,warn:2,error:3,silent:4};const u=new class{config={enabled:!1,level:"info",prefix:"[Thamyr]"};debug=(...e)=>{this.log("debug",...e)};info=(...e)=>{this.log("info",...e)};warn=(...e)=>{this.log("warn",...e)};error=(...e)=>{this.log("error",...e)};log(e,...t){if(!(this.config.enabled&&d[e]>=d[this.config.level]))return;const{prefix:s}=this.config,n=void 0===s||""===s?t:[s,...t];console[e](...n)}configure(e){this.config={...this.config,...e}}getConfig(){return{...this.config}}};function h(e,t){const s=new URL(e),n=decodeURIComponent(s.pathname.slice(1)),r=(new TextEncoder).encode(JSON.stringify({bucket:"storage.callimacus.ai",key:n,edits:t})).toBase64();return`${s.origin}/${encodeURIComponent(r)}`}function y(){const e="undefined"==typeof crypto?void 0:crypto;if("function"==typeof e?.randomUUID)return e.randomUUID();const t=new Uint8Array(16);if("function"==typeof e?.getRandomValues)e.getRandomValues(t);else for(let e=0;e<16;e++)t[e]=Math.floor(256*Math.random());t[6]=15&t[6]|64,t[8]=63&t[8]|128;const s=[...t].map(e=>e.toString(16).padStart(2,"0"));return[s.slice(0,4).join(""),s.slice(4,6).join(""),s.slice(6,8).join(""),s.slice(8,10).join(""),s.slice(10,16).join("")].join("-")}var p,f;function m(e){if("object"!=typeof e||null===e)return!1;const t=e;return"string"==typeof t.audioUrl&&"string"==typeof t.mimeType}function g(e){if("object"==typeof e&&null!==e)for(const t of Object.values(e))if(m(t))return t}!function(e){e.GET_STORY="get-story",e.CREATE_ROUND="create-round",e.RESET_STORY="reset-story",e.BACK_FROM_ROUND="back-from-round",e.SHARE_STORY="share-story",e.GET_SHARED_STORY="get-shared-story",e.SUGGEST="suggest"}(p||(p={})),function(e){e.ROUND_CREATED="round-created",e.ROUND_EVENT="round-event",e.ROUND_COMPLETED="round-completed",e.ERROR="error"}(f||(f={}));const b={productSelector:"[data-product-id]",blockSelector:"[data-block-id]",maxTrackedElements:40,minVisibilityRatio:.5};class k{elements=new Map;elementRefs=new Map;elementKeys=new WeakMap;blocks=new Map;blockRefs=new Map;blockKeys=new WeakMap;started=!1;config;constructor(e={}){const t=e.minVisibilityRatio??b.minVisibilityRatio;this.config={productSelector:e.productSelector??b.productSelector,blockSelector:e.blockSelector??b.blockSelector,maxTrackedElements:e.maxTrackedElements??b.maxTrackedElements,minVisibilityRatio:Math.min(1,Math.max(0,t))}}rescanUi(){if(!this.canUseDom())return;let e,t;try{e=document.querySelectorAll(this.config.productSelector),t=document.querySelectorAll(this.config.blockSelector)}catch(e){return void u.warn("UI Observer: invalid selector, skipping rescan:",e)}const s=Date.now();for(const t of e){const e=this.normalizeRect(t.getBoundingClientRect()),n=this.calculateVisibilityRatio(e);this.syncTrackedElement(t,{bounds:e,isVisible:n>=this.config.minVisibilityRatio,visibilityRatio:n,observedAt:s})}for(const e of t){const t=this.normalizeRect(e.getBoundingClientRect()),n=this.calculateVisibilityRatio(t);this.syncTrackedBlock(e,{bounds:t,isVisible:n>=this.config.minVisibilityRatio,visibilityRatio:n,observedAt:s})}this.pruneTrackedElements(),this.pruneTrackedBlocks()}pruneTrackedElements(){if(this.elements.size<=this.config.maxTrackedElements)return;const e=[...this.elements].sort(([,e],[,t])=>{const s=e.visibilityRatio-t.visibilityRatio;return 0===s||Number.isNaN(s)?e.observedAt-t.observedAt:s}).slice(0,this.elements.size-this.config.maxTrackedElements);for(const[t]of e)this.elements.delete(t),this.elementRefs.delete(t)}pruneTrackedBlocks(){if(this.blocks.size<=this.config.maxTrackedElements)return;const e=[...this.blocks].sort(([,e],[,t])=>{const s=e.visibilityRatio-t.visibilityRatio;return 0===s||Number.isNaN(s)?e.observedAt-t.observedAt:s}).slice(0,this.blocks.size-this.config.maxTrackedElements);for(const[t]of e)this.blocks.delete(t),this.blockRefs.delete(t)}syncTrackedElement(e,t){const s=this.resolveElementId(e),n=this.resolveBlockId(e),r=this.createTrackingKey(s,n),i=this.elementKeys.get(e);void 0!==i&&""!==i&&i!==r&&(this.elements.delete(i),this.elementRefs.delete(i)),this.elementKeys.set(e,r),this.elementRefs.set(r,e),this.elements.set(r,{id:s,blockId:n,trackingKey:r,...t})}syncTrackedBlock(e,t){const s=this.resolveTrackedBlockId(e),n=this.blockKeys.get(e),r=s;void 0!==n&&""!==n&&n!==r&&(this.blocks.delete(n),this.blockRefs.delete(n)),this.blockKeys.set(e,r),this.blockRefs.set(r,e),this.blocks.set(r,{id:s,...t})}resolveElementId(e){return[e.dataset.productId,e.dataset.productid,e.dataset.sku,e.id].find(e=>void 0!==e&&""!==e)??`${e.tagName}-${e.dataset.productId??this.elements.size}`}resolveBlockId(e){let t;try{t=e.closest(this.config.blockSelector)??void 0}catch{return}return t instanceof HTMLElement?this.resolveTrackedBlockId(t):void 0}resolveTrackedBlockId(e){return[e.dataset.blockId,e.dataset.blockid,e.id].find(e=>void 0!==e&&""!==e)??`${e.tagName}-${e.dataset.blockId??this.blocks.size}`}createTrackingKey(e,t){return void 0===t||""===t?e:`${e}::${t}`}normalizeRect(e){return{x:e.x,y:e.y,width:e.width,height:e.height,top:e.top,left:e.left,right:e.right,bottom:e.bottom}}calculateVisibilityRatio(e){const t=Math.max(0,Math.min(e.right,window.innerWidth)-Math.max(e.left,0))*Math.max(0,Math.min(e.bottom,window.innerHeight)-Math.max(e.top,0)),s=e.width*e.height;if(s<=0)return 0;const n=window.innerWidth*window.innerHeight,r=n>0?Math.min(s,n):s;return Math.min(1,Math.max(0,t/r))}canUseDom(){return void 0!==globalThis.window&&"undefined"!=typeof document}start(){!this.started&&this.canUseDom()&&(this.started=!0)}stop(){this.started&&(this.started=!1,this.elements.clear(),this.elementRefs.clear(),this.blocks.clear(),this.blockRefs.clear())}getSnapshot(){if(!this.canUseDom())return;this.rescanUi();const e=[],t=[],s=Date.now();for(const[t,s]of this.elements){const n=this.elementRefs.get(t);n?.isConnected?s.visibilityRatio<=0||e.push({blockId:s.blockId,element:{id:s.id,bounds:s.bounds,isVisible:s.visibilityRatio>=this.config.minVisibilityRatio,visibilityRatio:s.visibilityRatio}}):(this.elements.delete(t),this.elementRefs.delete(t))}for(const[e,s]of this.blocks){const n=this.blockRefs.get(e);n?.isConnected?s.visibilityRatio<this.config.minVisibilityRatio||t.push(s.id):(this.blocks.delete(e),this.blockRefs.delete(e))}const n=e.slice(0,this.config.maxTrackedElements);return{timestamp:s,viewport:{width:window.innerWidth,height:window.innerHeight},blockIds:[...new Set([...t,...n.flatMap(e=>e.blockId??[])])],elements:n.map(e=>e.element)}}}function v(e){const{data:t}=e;if("object"!=typeof t||null===t)return;const{code:s,reason:n}=t;return"number"==typeof s?{code:s,..."string"==typeof n&&{reason:n}}:void 0}const R=3;function w(e,t){return e>=500&&t<3}function S(e,t){return t?void 0:v(e)??{code:0}}class E{socket;serverResponseListeners=new Set;connectionStatusListeners=new Set;errorListeners=new Set;uiObserver;uiObserverConfig=b;handshakeRetryAttempts=0;handshakeRetryTimer;setupEventListeners(){this.socket&&(this.socket.on("connect",()=>{u.debug("Connected to Callimacus"),this.clearHandshakeRetry(),this.handshakeRetryAttempts=0,this.updateConnectionStatus(!0),this.socket?.emit(n.CLIENT_READY)}),this.socket.on("disconnect",()=>{u.info("Disconnected from Callimacus"),this.updateConnectionStatus(!1)}),this.socket.on("connect_error",e=>{this.updateConnectionStatus(!1);const t=S(e,this.socket?.active??!0);t&&(u.error("Connection refused by Callimacus:",e.message,t.reason??""),this.notifyRejection(t,e.message),this.scheduleHandshakeRetry(t.code))}),this.socket.on(s.ERROR,e=>{u.error("Received error from Callimacus:",e),this.notifyErrorListeners(e)}),this.socket.io.on("reconnect",e=>{u.info(`Reconnected to Callimacus after ${e} attempts`)}),this.socket.io.on("reconnect_attempt",e=>{u.info(`Attempting to reconnect: attempt ${e}`)}),this.socket.io.on("reconnect_error",e=>{u.error("Reconnection error:",e)}),this.socket.io.on("reconnect_failed",()=>{u.error("Failed to reconnect to Callimacus service!"),this.updateConnectionStatus(!1)}),this.socket.on(s.SERVER_RESPONSE,e=>{this.notifyServerResponseListeners(e)}))}notifyServerResponseListeners(e){this.serverResponseListeners.forEach(t=>{try{t(e)}catch(e){u.error("Error in server response listener:",e)}})}updateConnectionStatus(e){this.connectionStatusListeners.forEach(t=>{try{t(e)}catch(e){u.error("Error in connection status listener:",e)}})}notifyRejection(e,t){this.notifyErrorListeners({code:e.code,message:t,...void 0!==e.reason&&{reason:e.reason}})}scheduleHandshakeRetry(e){if(!this.socket)return;if(this.clearHandshakeRetry(),!w(e,this.handshakeRetryAttempts))return void(e>=500&&(u.error("Giving up on the Callimacus connection after 3 retries"),this.notifyRejection({code:e,reason:"retries_exhausted"},"Connection failed after 3 retries; call connect() to try again")));const t=2**(this.handshakeRetryAttempts+1);this.handshakeRetryAttempts+=1,u.info(`Retrying Callimacus connection in ${t}s (attempt ${this.handshakeRetryAttempts}/3)`),this.handshakeRetryTimer=setTimeout(()=>{this.socket?.connect()},1e3*t)}clearHandshakeRetry(){void 0!==this.handshakeRetryTimer&&(clearTimeout(this.handshakeRetryTimer),this.handshakeRetryTimer=void 0)}notifyErrorListeners(e){this.errorListeners.forEach(t=>{try{t(e)}catch(e){u.error("Error in error listener:",e)}})}async getLocation(){if("undefined"!=typeof navigator&&"function"==typeof navigator.geolocation?.getCurrentPosition)return new Promise(e=>{navigator.geolocation.getCurrentPosition(t=>{e(t)},()=>{e(void 0)})})}enrichPayloadWithUiContext(e){try{this.ensureUiObserver();const t=this.uiObserver?.getSnapshot();return t?{...e,context:{...e.context,uiSnapshot:t}}:e}catch(t){return u.error("Error enriching payload with UI context:",t),e}}ensureUiObserver(){"undefined"!=typeof window&&"undefined"!=typeof document&&this.uiObserverConfig.enabled&&(this.uiObserver??=new k(this.uiObserverConfig),this.uiObserver.start())}socketEndpoint(e){const t=new URL(e),s=new URL("thamyr",t).pathname;return{origin:t.origin,path:s}}connect(t="wss://localhost:4000",s,n){this.socket&&(u.warn("Already connected to Thamyr. Disconnecting first...."),this.disconnect());const r=this.socketEndpoint(t);let i;"undefined"!=typeof window&&void 0!==globalThis.location&&(i=globalThis.location.href);const o={...void 0!==i&&""!==i&&{referrer:i},...n};u.info("Connecting to Thamyr at",r),this.socket=e(r.origin,{path:r.path,transports:["websocket","polling"],tryAllTransports:!0,extraHeaders:s,auth:o}),this.setupEventListeners(),this.ensureUiObserver()}disconnect(){this.clearHandshakeRetry(),this.handshakeRetryAttempts=0,this.socket&&(this.socket.disconnect(),this.socket=void 0,this.uiObserver?.stop(),this.uiObserver=void 0,this.updateConnectionStatus(!1),u.info("Disconnected from Callimacus"))}configureUiObserver(e){if(!e)return this.uiObserver?.stop(),this.uiObserver=void 0,void(this.uiObserverConfig={...b,enabled:!1});const t=e.enabled??(void 0!==e.productSelector||void 0!==e.blockSelector||void 0!==e.maxTrackedElements||void 0!==e.minVisibilityRatio||this.uiObserverConfig.enabled);if(this.uiObserverConfig={...this.uiObserverConfig,...e,enabled:t},"undefined"==typeof window||"undefined"==typeof document||!this.uiObserverConfig.enabled)return this.uiObserver?.stop(),void(this.uiObserver=void 0);this.uiObserver&&this.uiObserver.stop(),this.uiObserver=new k(this.uiObserverConfig),this.uiObserver.start()}sendUserInteraction(e,t){if(!this.socket)return void u.error("Socket is not connected. Cannot send interaction.");if(e===p.SUGGEST)return void u.error("SUGGEST is a request/response command. Use suggest() instead.");if(e===p.BACK_FROM_ROUND){if(void 0===t.chapterId)return void u.error("BACK_FROM_ROUND requires chapterId.")}const s={type:e,payload:this.enrichPayloadWithUiContext(t)},r={id:y()};this.socket.emit(n.USER_INTERACTION,{type:s.type,payload:s.payload},r.id)}async suggest(e,t={}){if(!this.socket?.connected)return{suggestions:[]};try{return function(e){const t=e?.suggestions;return{suggestions:Array.isArray(t)?t.filter(e=>"string"==typeof e):[]}}(await this.socket.timeout(t.timeoutMs??4e3).emitWithAck(n.USER_INTERACTION,{type:p.SUGGEST,payload:e}))}catch(e){return u.warn("Suggestions failed or timed out; serving none.",e),{suggestions:[]}}}async gatherClientInfo(){const e="undefined"==typeof navigator?void 0:navigator,t="undefined"==typeof window?void 0:window.screen;return{userAgent:e?.userAgent??"",language:e?.language??"",timezone:(new Intl.DateTimeFormat).resolvedOptions().timeZone,localTime:(new Date).toLocaleString(),screenResolution:void 0===t?"":`${t.width}x${t.height}`,location:await this.getLocation()}}onServerResponse(e){return this.serverResponseListeners.add(e),()=>{this.serverResponseListeners.delete(e)}}onConnectionStatus(e){return this.connectionStatusListeners.add(e),()=>{this.connectionStatusListeners.delete(e)}}onError(e){return this.errorListeners.add(e),()=>{this.errorListeners.delete(e)}}}const T=new E,O=200;function x(e,t={}){if(void 0!==e&&e.length>200)throw new RangeError("[thamyr] landing value exceeds 200 characters");return{inputEvent:{type:"customPage",data:void 0===e?{}:{value:e}},...t}}function C(e,t={}){const{block:s,payload:n,value:r,...i}=t;return{inputEvent:{type:"customInteraction",data:{interactionId:e,...void 0!==s&&{nodeKey:s},...void 0!==n&&{payload:n},...void 0!==r&&{value:r}}},...i}}function I(e){return e.receptors??e.intent??[]}function A(e){return"key"in e?e.key:void 0}const _="custom:addToCartResult";function j(e){return"object"==typeof e&&null!==e&&!Array.isArray(e)}const U=e=>"string"==typeof e&&e.length>0,N=e=>j(e)&&U(e.size)&&U(e.variantId)&&"boolean"==typeof e.orderable;function $(e){if(!j(e.data)||!j(e.data.addToCart))return;const t=e.data.addToCart;return"error"===t.status?{status:"error"}:"resolved"===t.status&&U(t.variantId)&&U(t.productName)&&U(t.size)?{status:"resolved",variantId:t.variantId,productName:t.productName,size:t.size}:"size_selection_needed"===t.status&&U(t.productSku)&&U(t.productName)&&Array.isArray(t.availableSizes)&&t.availableSizes.every(N)?{status:"size_selection_needed",productSku:t.productSku,productName:t.productName,availableSizes:t.availableSizes}:void 0}const D=e=>j(e)?e:{};function q(e,t,s){const[n,...r]=t;if(!j(e)||!Object.hasOwn(e,n))return;const i=0===r.length?function(e,t){if(j(e)&&"string"==typeof e.docId)return{...e,values:{...D(e.values),...t.values},inputs:{...D(e.inputs),...t.inputs},textRuns:{...D(e.textRuns),...t.textRuns}}}(e[n],s):q(e[n],r,s);return i&&{...e,[n]:i}}function z(e,t){const s=e.blocks??[],n=e.id===t.chapterId?s.findIndex(e=>e.id===t.blockId):-1;if(-1===n)return e;const r=s[n],i=q(r.data,t.contentId.split("."),t);return i?{...e,blocks:s.with(n,{...r,data:i})}:e}const L=new Set;function K(e){L.has(e)||(L.add(e),u.warn(`${e}() is a browser-only intent API and does nothing on React Native. Use @callimacus/intent/native (initIntentNative) for intent tracking on native.`))}function B(e){K("setConsent")}function M(e){K("setGeo")}function P(e){K("setDebug")}function V(e){K("setDebugPanel")}function H(e={}){K("initIntent")}function W(){K("getIntentSessionId")}function G(){K("ensureIntentSessionId")}function Y(){K("clearIntentSessionId")}function F(e){K("setIntentSessionMaxAge")}const J={bodySerializer:e=>JSON.stringify(e,(e,t)=>"bigint"==typeof t?t.toString():t)},Q=Object.entries({$body_:"body",$headers_:"headers",$path_:"path",$query_:"query"});function Z(e,t){t||(t=new Map);for(const s of e)"in"in s?s.key&&t.set(s.key,{in:s.in,map:s.map}):"key"in s?t.set(s.key,{map:s.map}):s.args&&Z(s.args,t);return t}function X(e,t){const s={headers:Object.create(null),path:Object.create(null),query:Object.create(null)},n=Z(t);function r(e,t,n){let r=s[e];void 0===r&&(r=Object.create(null),s[e]=r),r[t]=n}let i;for(const[o,a]of e.entries())if(t[o]&&(i=t[o]),i)if("in"in i)if(i.key){const e=n.get(i.key),t=e.map||i.key;e.in&&r(e.in,t,a)}else s.body=a;else for(const[e,t]of Object.entries(a??{})){const o=n.get(e);if(o)if(o.in){const s=o.map||e;r(o.in,s,t)}else s[o.map]=t;else{const s=Q.find(([t])=>e.startsWith(t));if(s){const[n,i]=s;r(i,e.slice(n.length),t)}else if("allowExtra"in i&&i.allowExtra)for(const[s,n]of Object.entries(i.allowExtra))if(n){r(s,e,t);break}}}return function(e){for(const[t,s]of Object.entries(e))"body"!==t&&(!s||"object"!=typeof s||Array.isArray(s)||Object.keys(s).length||delete e[t])}(s),s}const ee=({allowReserved:e,explode:t,name:s,style:n,value:r})=>{if(!t){const t=(e?r:r.map(e=>encodeURIComponent(e))).join((e=>{switch(e){case"form":default:return",";case"pipeDelimited":return"|";case"spaceDelimited":return"%20"}})(n));switch(n){case"label":return`.${t}`;case"matrix":return`;${s}=${t}`;case"simple":return t;default:return`${s}=${t}`}}const i=(e=>{switch(e){case"label":return".";case"matrix":return";";case"simple":return",";default:return"&"}})(n),o=r.map(t=>"label"===n||"simple"===n?e?t:encodeURIComponent(t):te({allowReserved:e,name:s,value:t})).join(i);return"label"===n||"matrix"===n?i+o:o},te=({allowReserved:e,name:t,value:s})=>{if(null==s)return"";if("object"==typeof s)throw new Error("Deeply-nested arrays/objects aren’t supported. Provide your own `querySerializer()` to handle these.");return`${t}=${e?s:encodeURIComponent(s)}`},se=({allowReserved:e,explode:t,name:s,style:n,value:r,valueOnly:i})=>{if(r instanceof Date)return i?r.toISOString():`${s}=${r.toISOString()}`;if("deepObject"!==n&&!t){let t=[];Object.entries(r).forEach(([s,n])=>{t=[...t,s,e?n:encodeURIComponent(n)]});const i=t.join(",");switch(n){case"form":return`${s}=${i}`;case"label":return`.${i}`;case"matrix":return`;${s}=${i}`;default:return i}}const o=(e=>{switch(e){case"label":return".";case"matrix":return";";case"simple":return",";default:return"&"}})(n),a=Object.entries(r).map(([t,r])=>te({allowReserved:e,name:"deepObject"===n?`${s}[${t}]`:t,value:r})).join(o);return"label"===n||"matrix"===n?o+a:a},ne=/\{[^{}]+\}/g,re=({baseUrl:e,path:t,query:s,querySerializer:n,url:r})=>{let i=(e??"")+(r.startsWith("/")?r:`/${r}`);t&&(i=(({path:e,url:t})=>{let s=t;const n=t.match(ne);if(n)for(const t of n){let n=!1,r=t.substring(1,t.length-1),i="simple";r.endsWith("*")&&(n=!0,r=r.substring(0,r.length-1)),r.startsWith(".")?(r=r.substring(1),i="label"):r.startsWith(";")&&(r=r.substring(1),i="matrix");const o=e[r];if(null==o)continue;if(Array.isArray(o)){s=s.replace(t,ee({explode:n,name:r,style:i,value:o}));continue}if("object"==typeof o){s=s.replace(t,se({explode:n,name:r,style:i,value:o,valueOnly:!0}));continue}if("matrix"===i){s=s.replace(t,`;${te({name:r,value:o})}`);continue}const a=encodeURIComponent("label"===i?`.${o}`:o);s=s.replace(t,a)}return s})({path:t,url:i}));let o=s?n(s):"";return o.startsWith("?")&&(o=o.substring(1)),o&&(i+=`?${o}`),i};function ie(e){const t=void 0!==e.body;if(t&&e.bodySerializer){if("serializedBody"in e){return void 0!==e.serializedBody&&""!==e.serializedBody?e.serializedBody:null}return""!==e.body?e.body:null}if(t)return e.body}const oe=async(e,t)=>{const s="function"==typeof t?await t(e):t;if(s)return"bearer"===e.scheme?`Bearer ${s}`:"basic"===e.scheme?`Basic ${btoa(s)}`:s},ae=({parameters:e={},...t}={})=>s=>{const n=[];if(s&&"object"==typeof s)for(const r in s){const i=s[r];if(null==i)continue;const o=e[r]||t;if(Array.isArray(i)){const e=ee({allowReserved:o.allowReserved,explode:!0,name:r,style:"form",value:i,...o.array});e&&n.push(e)}else if("object"==typeof i){const e=se({allowReserved:o.allowReserved,explode:!0,name:r,style:"deepObject",value:i,...o.object});e&&n.push(e)}else{const e=te({allowReserved:o.allowReserved,name:r,value:i});e&&n.push(e)}}return n.join("&")},ce=(e,t)=>!!t&&!!(e.headers.has(t)||e.query?.[t]||e.headers.get("Cookie")?.includes(`${t}=`));const le=e=>re({baseUrl:e.baseUrl,path:e.path,query:e.query,querySerializer:"function"==typeof e.querySerializer?e.querySerializer:ae(e.querySerializer),url:e.url}),de=(e,t)=>{const s={...e,...t};return s.baseUrl?.endsWith("/")&&(s.baseUrl=s.baseUrl.substring(0,s.baseUrl.length-1)),s.headers=he(e.headers,t.headers),s},ue=e=>{const t=[];return e.forEach((e,s)=>{t.push([s,e])}),t},he=(...e)=>{const t=new Headers;for(const s of e){if(!s)continue;const e=s instanceof Headers?ue(s):Object.entries(s);for(const[s,n]of e)if(null===n)t.delete(s);else if(Array.isArray(n))for(const e of n)t.append(s,e);else void 0!==n&&t.set(s,"object"==typeof n?JSON.stringify(n):n)}return t};class ye{fns=[];clear(){this.fns=[]}eject(e){const t=this.getInterceptorIndex(e);this.fns[t]&&(this.fns[t]=null)}exists(e){const t=this.getInterceptorIndex(e);return Boolean(this.fns[t])}getInterceptorIndex(e){return"number"==typeof e?this.fns[e]?e:-1:this.fns.indexOf(e)}update(e,t){const s=this.getInterceptorIndex(e);return!!this.fns[s]&&(this.fns[s]=t,e)}use(e){return this.fns.push(e),this.fns.length-1}}const pe=ae({allowReserved:!1,array:{explode:!0,style:"form"},object:{explode:!0,style:"deepObject"}}),fe={"Content-Type":"application/json"},me=(e={})=>({...J,headers:fe,parseAs:"auto",querySerializer:pe,...e}),ge=(e={})=>{let t=de(me(),e);const s=()=>({...t}),n={error:new ye,request:new ye,response:new ye},r=async e=>{const s={...t,...e,fetch:e.fetch??t.fetch??globalThis.fetch,headers:he(t.headers,e.headers),serializedBody:void 0};s.security&&await async function(e){for(const t of e.security??[]){if(ce(e,t.name))continue;const s=await oe(t,e.auth);if(!s)continue;const n=t.name??"Authorization";switch(t.in){case"query":e.query||(e.query={}),e.query[n]=s;break;case"cookie":e.headers.append("Cookie",`${n}=${s}`);break;default:e.headers.set(n,s)}}}(s),s.requestValidator&&await s.requestValidator(s),void 0!==s.body&&s.bodySerializer&&(s.serializedBody=s.bodySerializer(s.body)),void 0!==s.body&&""!==s.serializedBody||s.headers.delete("Content-Type");return{opts:s,url:le(s)}},i=async e=>{const s=e.throwOnError??t.throwOnError,i=e.responseStyle??t.responseStyle;let o,a;try{const{opts:t,url:s}=await r(e),i={redirect:"follow",...t,body:ie(t)};o=new Request(s,i);for(const e of n.request.fns)e&&(o=await e(o,t));const c=t.fetch;a=await c(o);for(const e of n.response.fns)e&&(a=await e(a,o,t));const l={request:o,response:a};if(a.ok){const e=("auto"===t.parseAs?(e=>{if(!e)return"stream";const t=e.split(";")[0]?.trim();return t?t.startsWith("application/json")||t.endsWith("+json")?"json":"multipart/form-data"===t?"formData":["application/","audio/","image/","video/"].some(e=>t.startsWith(e))?"blob":t.startsWith("text/")?"text":void 0:void 0})(a.headers.get("Content-Type")):t.parseAs)??"json";if(204===a.status||"0"===a.headers.get("Content-Length")){let s;switch(e){case"arrayBuffer":case"blob":case"text":s=await a[e]();break;case"formData":s=new FormData;break;case"stream":s=a.body;break;default:s={}}return"data"===t.responseStyle?s:{data:s,...l}}let s;switch(e){case"arrayBuffer":case"blob":case"formData":case"text":s=await a[e]();break;case"json":{const e=await a.text();s=e?JSON.parse(e):{};break}case"stream":return"data"===t.responseStyle?a.body:{data:a.body,...l}}return"json"===e&&(t.responseValidator&&await t.responseValidator(s),t.responseTransformer&&(s=await t.responseTransformer(s))),"data"===t.responseStyle?s:{data:s,...l}}const d=await a.text();let u;try{u=JSON.parse(d)}catch{}throw u??d}catch(t){let r=t;for(const t of n.error.fns)t&&(r=await t(r,a,o,e));if(r=r||{},s)throw r;return"data"===i?void 0:{error:r,request:o,response:a}}},o=e=>t=>i({...t,method:e}),a=e=>async t=>{const{opts:s,url:i}=await r(t);return function({onRequest:e,onSseError:t,onSseEvent:s,responseTransformer:n,responseValidator:r,sseDefaultRetryDelay:i,sseMaxRetryAttempts:o,sseMaxRetryDelay:a,sseSleepFn:c,url:l,...d}){let u;const h=c??(e=>new Promise(t=>setTimeout(t,e)));return{stream:async function*(){let c=i??3e3,y=0;const p=d.signal??(new AbortController).signal;for(;!p.aborted;){y++;const i=d.headers instanceof Headers?d.headers:new Headers(d.headers);void 0!==u&&i.set("Last-Event-ID",u);try{const t={redirect:"follow",...d,body:d.serializedBody,headers:i,signal:p};let o=new Request(l,t);e&&(o=await e(l,t));const a=d.fetch??globalThis.fetch,h=await a(o);if(!h.ok)throw new Error(`SSE failed: ${h.status} ${h.statusText}`);if(!h.body)throw new Error("No body in SSE response");const y=h.body.pipeThrough(new TextDecoderStream).getReader();let f="";const m=()=>{try{y.cancel()}catch{}};p.addEventListener("abort",m);try{for(;;){const{done:e,value:t}=await y.read();if(e)break;f+=t,f=f.replace(/\r\n?/g,"\n");const i=f.split("\n\n");f=i.pop()??"";for(const e of i){const t=e.split("\n"),i=[];let o,a;for(const e of t)if(e.startsWith("data:"))i.push(e.replace(/^data:\s*/,""));else if(e.startsWith("event:"))o=e.replace(/^event:\s*/,"");else if(e.startsWith("id:"))u=e.replace(/^id:\s*/,"");else if(e.startsWith("retry:")){const t=Number.parseInt(e.replace(/^retry:\s*/,""),10);Number.isNaN(t)||(c=t)}let l=!1;if(i.length){const e=i.join("\n");try{a=JSON.parse(e),l=!0}catch{a=e}}l&&(r&&await r(a),n&&(a=await n(a))),s?.({data:a,event:o,id:u,retry:c}),i.length&&(yield a)}}}finally{p.removeEventListener("abort",m),y.releaseLock()}break}catch(e){if(t?.(e),void 0!==o&&y>=o)break;const s=Math.min(c*2**(y-1),a??3e4);await h(s)}}}()}}({...s,body:s.body,method:e,onRequest:async(e,t)=>{let r=new Request(e,t);for(const e of n.request.fns)e&&(r=await e(r,s));return r},serializedBody:ie(s),url:i})};return{buildUrl:e=>le({...t,...e}),connect:o("CONNECT"),delete:o("DELETE"),get:o("GET"),getConfig:s,head:o("HEAD"),interceptors:n,options:o("OPTIONS"),patch:o("PATCH"),post:o("POST"),put:o("PUT"),request:i,setConfig:e=>(t=de(t,e),s()),sse:{connect:a("CONNECT"),delete:a("DELETE"),get:a("GET"),head:a("HEAD"),options:a("OPTIONS"),patch:a("PATCH"),post:a("POST"),put:a("PUT"),trace:a("TRACE")},trace:o("TRACE")}};class be{client;constructor(e){this.client=e.client}}class ke{defaultKey="default";instances=new Map;get(e){const t=this.instances.get(e??this.defaultKey);if(!t)throw new Error('No SDK client found. Create one with "new CallimacusApi()" to fix this error.');return t}set(e,t){this.instances.set(t??this.defaultKey,e)}}class ve extends be{getPage(e,t){const s=X([e],[{args:[{in:"path",key:"language"},{in:"path",key:"id"}]}]);return(t?.client??this.client).get({security:[{name:"x-sl-access-token",type:"apiKey"}],url:"/page/{language}/{id}",...t,...s})}listTopics(e,t){const s=X([e],[{args:[{in:"path",key:"language"}]}]);return(t?.client??this.client).get({security:[{name:"x-sl-access-token",type:"apiKey"}],url:"/topic/{language}",...t,...s})}getTopicContents(e,t){const s=X([e],[{args:[{in:"path",key:"language"},{in:"path",key:"idOrSlug"},{in:"query",key:"offset"},{in:"query",key:"limit"}]}]);return(t?.client??this.client).get({security:[{name:"x-sl-access-token",type:"apiKey"}],url:"/topic/{language}/{idOrSlug}",...t,...s})}getDocumentBySlug(e,t){const s=X([e],[{args:[{in:"path",key:"language"},{in:"path",key:"slug"}]}]);return(t?.client??this.client).get({security:[{name:"x-sl-access-token",type:"apiKey"}],url:"/document/{language}/{slug}",...t,...s})}getDocumentByGroup(e,t){const s=X([e],[{args:[{in:"path",key:"language"},{in:"path",key:"groupId"}]}]);return(t?.client??this.client).get({security:[{name:"x-sl-access-token",type:"apiKey"}],url:"/document/by-group/{language}/{groupId}",...t,...s})}getDocumentByPath(e,t){const s=X([e],[{args:[{in:"query",key:"path"}]}]);return(t?.client??this.client).get({security:[{name:"x-sl-access-token",type:"apiKey"}],url:"/document/by-path",...t,...s})}}class Re extends be{getShared(e,t){const s=X([e],[{args:[{in:"path",key:"id"}]}]);return(t?.client??this.client).get({security:[{name:"x-sl-access-token",type:"apiKey"}],url:"/share/{id}",...t,...s})}share(e,t){const s=X([e],[{args:[{in:"path",key:"id"}]}]);return(t?.client??this.client).post({security:[{name:"x-sl-access-token",type:"apiKey"}],url:"/share/{id}",...t,...s})}}class we extends be{getSimilar(e,t){const s=X([e],[{args:[{in:"path",key:"productId"},{in:"query",key:"topK"},{in:"query",key:"language"}]}]);return(t?.client??this.client).get({security:[{name:"x-sl-access-token",type:"apiKey"}],url:"/product/{productId}/similar",...t,...s})}getRecommendations(e,t){const s=X([e],[{args:[{in:"path",key:"productId"},{in:"query",key:"language"}]}]);return(t?.client??this.client).get({security:[{name:"x-sl-access-token",type:"apiKey"}],url:"/product/{productId}/recommendations",...t,...s})}}class Se extends be{getLast(e,t){const s=X([e],[{args:[{in:"query",key:"storyId"}]}]);return(t?.client??this.client).get({security:[{name:"x-sl-access-token",type:"apiKey"}],url:"/whisper",...t,...s})}}class Ee extends be{trackEvent(e,t){const s=X([e],[{args:[{in:"body",key:"storyId"},{in:"body",key:"eventName"},{in:"body",key:"content"},{in:"body",key:"payload"}]}]);return(t?.client??this.client).post({security:[{name:"x-sl-access-token",type:"apiKey"}],url:"/track-event",...t,...s,headers:{"Content-Type":"application/json",...t?.headers,...s.headers}})}}class Te extends be{getCart(e){return(e?.client??this.client).get({security:[{name:"x-sl-access-token",type:"apiKey"}],url:"/cart",...e})}addItemToCart(e,t){const s=X([e],[{args:[{in:"body",key:"productId"}]}]);return(t?.client??this.client).post({security:[{name:"x-sl-access-token",type:"apiKey"}],url:"/cart/add",...t,...s,headers:{"Content-Type":"application/json",...t?.headers,...s.headers}})}removeItemFromCart(e,t){const s=X([e],[{args:[{in:"body",key:"productId"}]}]);return(t?.client??this.client).post({security:[{name:"x-sl-access-token",type:"apiKey"}],url:"/cart/remove",...t,...s,headers:{"Content-Type":"application/json",...t?.headers,...s.headers}})}updateProductQuantity(e,t){const s=X([e],[{args:[{in:"body",key:"productId"},{in:"body",key:"quantity"}]}]);return(t?.client??this.client).post({security:[{name:"x-sl-access-token",type:"apiKey"}],url:"/cart/update",...t,...s,headers:{"Content-Type":"application/json",...t?.headers,...s.headers}})}}class Oe extends be{similar(e,t){const s=X([e],[{args:[{in:"body",key:"anchorId"},{in:"body",key:"topK"},{in:"body",key:"locale"}]}]);return(t?.client??this.client).post({security:[{name:"x-sl-access-token",type:"apiKey"}],url:"/skesis/query/similar",...t,...s,headers:{"Content-Type":"application/json",...t?.headers,...s.headers}})}related(e,t){const s=X([e],[{args:[{in:"body",key:"anchorId"},{in:"body",key:"locale"}]}]);return(t?.client??this.client).post({security:[{name:"x-sl-access-token",type:"apiKey"}],url:"/skesis/query/related",...t,...s,headers:{"Content-Type":"application/json",...t?.headers,...s.headers}})}}class xe extends be{static __registry=new ke;constructor(e){super(e),xe.__registry.set(this,e.key)}_content;get content(){return this._content??=new ve({client:this.client})}_stories;get stories(){return this._stories??=new Re({client:this.client})}_products;get products(){return this._products??=new we({client:this.client})}_whisper;get whisper(){return this._whisper??=new Se({client:this.client})}_analytics;get analytics(){return this._analytics??=new Ee({client:this.client})}_cart;get cart(){return this._cart??=new Te({client:this.client})}_skesis;get skesis(){return this._skesis??=new Oe({client:this.client})}}class Ce extends Error{status;body;response;request;constructor(e,t,s){const n=t?.status,r=s?`${s.method} ${s.url}`:"request";let i=`[thamyr] ${r} failed before a response arrived`;t&&(i=t.ok?`[thamyr] ${r} → ${t.status}, but the response could not be processed`:`[thamyr] ${r} → ${t.status}`),super(i,e instanceof Error?{cause:e}:void 0),this.name="ThamyrHttpError",this.status=n,this.body=e,this.response=t,this.request=s}}function Ie(e){const t=ge(me({baseUrl:new URL("api/v3",e.endpoint).href,headers:{Authorization:`Bearer ${e.accessToken}`,"x-sl-access-token":e.accessToken},credentials:e.withCredentials?"include":"same-origin"}));return t.interceptors.error.use((e,s,n,r)=>{if(!(r.throwOnError??t.getConfig().throwOnError??!1)||!0===r.signal?.aborted)return e;return new Ce(""===e?{}:e??{},s,n)}),t}export{_ as ADD_TO_CART_RESULT_BLOCK,xe as CallimacusApi,f as CallimacusEvent,E as CallimacusService,o as ChapterStatus,n as ClientEvents,i as GalleryMode,O as LANDING_VALUE_MAX_LENGTH,R as MAX_HANDSHAKE_RETRIES,r as SLInputEventType,s as ServerEvents,Ce as ThamyrHttpError,t as ThamyrResponseType,p as UserInteractionType,$ as addToCartResultOf,z as applyBlockPatch,A as blockKeyOf,T as callimacusService,S as classifyConnectError,Y as clearIntentSessionId,Ie as createContractClient,G as ensureIntentSessionId,g as extractTtsAudio,W as getIntentSessionId,H as initIntent,C as interactionRound,a as isCustomBlock,l as isMasterProduct,c as isSetProduct,x as landingRound,u as logger,v as parseConnectRejection,y as randomUuid,I as receptorsOf,B as setConsent,P as setDebug,V as setDebugPanel,M as setGeo,F as setIntentSessionMaxAge,w as shouldRetryHandshake,h as transformImageUrl};
9
9
  //# sourceMappingURL=index.native.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.native.js","sources":["../../../src/contract/index.ts","../../../src/utils/logger.ts","../../../src/utils/image-transform.ts","../../../src/utils/uuid.ts","../../../src/services/callimacus/types/interactions.ts","../../../src/services/callimacus/types/responses.ts","../../../src/services/callimacus/types/tts.ts","../../../src/services/callimacus/ui-observer.ts","../../../src/services/callimacus/connect-rejection.ts","../../../src/services/callimacus/service.ts","../../../src/intent-native.ts","../../../src/contract/generated/core/bodySerializer.gen.ts","../../../src/contract/generated/core/params.gen.ts","../../../src/contract/generated/core/pathSerializer.gen.ts","../../../src/contract/generated/core/utils.gen.ts","../../../src/contract/generated/core/auth.gen.ts","../../../src/contract/generated/client/utils.gen.ts","../../../src/contract/generated/client/client.gen.ts","../../../src/contract/generated/core/serverSentEvents.gen.ts","../../../src/contract/generated/sdk.gen.ts","../../../src/contract/http.ts"],"sourcesContent":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null],"names":["ThamyrResponseType","ERROR","CHAPTER_EVENT","CHAPTER_DELETED","STORY_RESET","STORY_CREATED","STORY_SHARED","ServerEvents","SYSTEM_MESSAGE","SERVER_STATUS","SERVER_RESPONSE","ClientEvents","CLIENT_READY","USER_INTERACTION","SLInputEventType","question","content","topic","tag","image","video","gallery","relatedQuestion","page","customInteraction","customPage","GalleryMode","masonry","carousel","ChapterStatus","understandingQuery","craftingAnswer","curatingContent","done","isCustomBlock","block","type","startsWith","isSetProduct","product","set","isMasterProduct","master","LOG_LEVELS","debug","info","warn","error","silent","logger","config","enabled","level","prefix","args","this","log","method","output","undefined","console","configure","getConfig","transformImageUrl","cdnUrl","edits","url","URL","key","decodeURIComponent","pathname","slice","request","TextEncoder","encode","JSON","stringify","bucket","toBase64","origin","encodeURIComponent","randomUuid","cryptoObject","crypto","randomUUID","bytes","Uint8Array","getRandomValues","index","Math","floor","random","hex","map","byte","toString","padStart","join","UserInteractionType","CallimacusEvent","isTtsAudio","value","v","audioUrl","mimeType","extractTtsAudio","data","Object","values","DEFAULT_OBSERVER_CONFIG","productSelector","blockSelector","maxTrackedElements","minVisibilityRatio","AutonomousUiObserver","elements","Map","elementRefs","elementKeys","WeakMap","blocks","blockRefs","blockKeys","started","constructor","min","max","rescanUi","canUseDom","nodes","blockNodes","document","querySelectorAll","now","Date","element","bounds","normalizeRect","getBoundingClientRect","visibilityRatio","calculateVisibilityRatio","syncTrackedElement","isVisible","observedAt","syncTrackedBlock","pruneTrackedElements","pruneTrackedBlocks","size","toRemove","sort","left","right","byVisibility","Number","isNaN","id","delete","updates","resolveElementId","blockId","resolveBlockId","trackingKey","createTrackingKey","previousTrackingKey","get","resolveTrackedBlockId","dataset","productId","productid","sku","find","candidate","tagName","blockElement","closest","HTMLElement","blockid","rect","x","y","width","height","top","bottom","visibleArea","window","innerWidth","innerHeight","totalArea","viewportArea","reference","globalThis","start","stop","clear","getSnapshot","visibleEntries","visibleBlockIds","domElement","isConnected","push","limitedVisibleEntries","timestamp","viewport","blockIds","Set","flatMap","entry","parseConnectRejection","code","reason","MAX_HANDSHAKE_RETRIES","shouldRetryHandshake","attemptsSoFar","classifyConnectError","isActive","CallimacusService","socket","serverResponseListeners","connectionStatusListeners","errorListeners","uiObserver","uiObserverConfig","handshakeRetryAttempts","handshakeRetryTimer","setupEventListeners","on","clearHandshakeRetry","updateConnectionStatus","emit","rejection","active","message","notifyRejection","scheduleHandshakeRetry","notifyErrorListeners","io","attempt","response","notifyServerResponseListeners","forEach","listener","delaySeconds","setTimeout","connect","clearTimeout","listenerError","getLocation","navigator","geolocation","getCurrentPosition","Promise","resolve","position","enrichPayloadWithUiContext","payload","ensureUiObserver","snapshot","context","uiSnapshot","socketEndpoint","endpoint","u","path","headers","auth","disconnect","referrer","location","href","finalAuth","transports","tryAllTransports","extraHeaders","configureUiObserver","shouldEnable","sendUserInteraction","BACK_FROM_ROUND","chapterId","interaction","storedInteraction","gatherClientInfo","nav","screen","userAgent","language","timezone","Intl","DateTimeFormat","resolvedOptions","timeZone","localTime","toLocaleString","screenResolution","onServerResponse","callback","add","onConnectionStatus","onError","callimacusService","warned","unavailable","name","has","setConsent","_isGranted","setGeo","_isEnabled","setDebug","setDebugPanel","initIntent","_options","getIntentSessionId","ensureIntentSessionId","clearIntentSessionId","setIntentSessionMaxAge","_seconds","jsonBodySerializer","bodySerializer","body","_key","extraPrefixes","entries","$body_","$headers_","$path_","$query_","buildKeyMap","fields","in","buildClientParams","params","create","query","writeSlot","slot","record","arg","field","extra","length","allowExtra","allowed","Array","isArray","keys","stripEmptySlots","serializeArrayParam","allowReserved","explode","style","joinedValues","separatorArrayNoExplode","separator","separatorArrayExplode","serializePrimitiveParam","Error","serializeObjectParam","valueOnly","toISOString","separatorObjectExplode","PATH_PARAM_RE","getUrl","baseUrl","querySerializer","_url","matches","match","substring","endsWith","replace","replaceValue","defaultPathSerializer","search","getValidRequestBody","options","hasBody","serializedBody","getAuthToken","async","token","scheme","btoa","createQuerySerializer","parameters","queryParams","serializedArray","array","serializedObject","object","serializedPrimitive","checkForExistence","includes","buildUrl","mergeConfigs","a","b","mergeHeaders","headersEntries","mergedHeaders","Headers","header","iterator","append","Interceptors","fns","eject","getInterceptorIndex","exists","Boolean","indexOf","update","fn","use","defaultQuerySerializer","defaultHeaders","createConfig","override","parseAs","createClient","_config","interceptors","beforeRequest","opts","fetch","security","setAuthParams","requestValidator","throwOnError","responseStyle","requestInit","redirect","Request","_fetch","result","ok","contentType","cleanContent","split","trim","some","getParseAs","status","emptyData","FormData","text","parse","responseValidator","responseTransformer","textError","jsonError","finalError","makeMethodFn","makeSseFn","onRequest","onSseError","onSseEvent","sseDefaultRetryDelay","sseMaxRetryAttempts","sseMaxRetryDelay","sseSleepFn","lastEventId","sleep","ms","stream","retryDelay","signal","AbortController","aborted","statusText","reader","pipeThrough","TextDecoderStream","getReader","buffer","abortHandler","cancel","addEventListener","read","chunks","pop","chunk","lines","dataLines","eventName","line","parsed","parseInt","parsedJson","rawData","event","retry","removeEventListener","releaseLock","backoff","createStream","createSseClient","init","head","patch","post","put","setConfig","sse","trace","HeyApiClient","client","HeyApiRegistry","defaultKey","instances","instance","Content","getPage","listTopics","getTopicContents","getDocumentBySlug","getDocumentByGroup","getDocumentByPath","Stories","getShared","share","Products","getSimilar","getRecommendations","Whisper","getLast","Analytics","trackEvent","Cart","getCart","addItemToCart","removeItemFromCart","updateProductQuantity","Skesis","similar","related","CallimacusApi","static","super","__registry","_content","_stories","stories","_products","products","_whisper","whisper","_analytics","analytics","_cart","cart","_skesis","skesis","ThamyrHttpError","target","cause","createContractClient","Authorization","accessToken","credentials","withCredentials"],"mappings":"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"}
1
+ {"version":3,"file":"index.native.js","sources":["../../../src/contract/index.ts","../../../src/utils/logger.ts","../../../src/utils/image-transform.ts","../../../src/utils/uuid.ts","../../../src/services/callimacus/types/interactions.ts","../../../src/services/callimacus/types/responses.ts","../../../src/services/callimacus/types/tts.ts","../../../src/services/callimacus/ui-observer.ts","../../../src/services/callimacus/connect-rejection.ts","../../../src/services/callimacus/service.ts","../../../src/services/callimacus/rounds.ts","../../../src/intent-native.ts","../../../src/contract/generated/core/bodySerializer.gen.ts","../../../src/contract/generated/core/params.gen.ts","../../../src/contract/generated/core/pathSerializer.gen.ts","../../../src/contract/generated/core/utils.gen.ts","../../../src/contract/generated/core/auth.gen.ts","../../../src/contract/generated/client/utils.gen.ts","../../../src/contract/generated/client/client.gen.ts","../../../src/contract/generated/core/serverSentEvents.gen.ts","../../../src/contract/generated/sdk.gen.ts","../../../src/contract/http.ts"],"sourcesContent":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null],"names":["ThamyrResponseType","ERROR","CHAPTER_EVENT","CHAPTER_DELETED","STORY_RESET","STORY_CREATED","STORY_SHARED","BLOCK_PATCH","ServerEvents","SYSTEM_MESSAGE","SERVER_STATUS","SERVER_RESPONSE","ClientEvents","CLIENT_READY","USER_INTERACTION","SLInputEventType","question","content","topic","tag","image","video","gallery","relatedQuestion","page","customInteraction","customPage","GalleryMode","masonry","carousel","ChapterStatus","understandingQuery","craftingAnswer","curatingContent","done","isCustomBlock","block","type","startsWith","isSetProduct","product","set","isMasterProduct","master","LOG_LEVELS","debug","info","warn","error","silent","logger","config","enabled","level","prefix","args","this","log","method","output","undefined","console","configure","getConfig","transformImageUrl","cdnUrl","edits","url","URL","key","decodeURIComponent","pathname","slice","request","TextEncoder","encode","JSON","stringify","bucket","toBase64","origin","encodeURIComponent","randomUuid","cryptoObject","crypto","randomUUID","bytes","Uint8Array","getRandomValues","index","Math","floor","random","hex","map","byte","toString","padStart","join","UserInteractionType","CallimacusEvent","isTtsAudio","value","v","audioUrl","mimeType","extractTtsAudio","data","Object","values","DEFAULT_OBSERVER_CONFIG","productSelector","blockSelector","maxTrackedElements","minVisibilityRatio","AutonomousUiObserver","elements","Map","elementRefs","elementKeys","WeakMap","blocks","blockRefs","blockKeys","started","constructor","min","max","rescanUi","canUseDom","nodes","blockNodes","document","querySelectorAll","now","Date","element","bounds","normalizeRect","getBoundingClientRect","visibilityRatio","calculateVisibilityRatio","syncTrackedElement","isVisible","observedAt","syncTrackedBlock","pruneTrackedElements","pruneTrackedBlocks","size","toRemove","sort","left","right","byVisibility","Number","isNaN","id","delete","updates","resolveElementId","blockId","resolveBlockId","trackingKey","createTrackingKey","previousTrackingKey","get","resolveTrackedBlockId","dataset","productId","productid","sku","find","candidate","tagName","blockElement","closest","HTMLElement","blockid","rect","x","y","width","height","top","bottom","visibleArea","window","innerWidth","innerHeight","totalArea","viewportArea","reference","globalThis","start","stop","clear","getSnapshot","visibleEntries","visibleBlockIds","domElement","isConnected","push","limitedVisibleEntries","timestamp","viewport","blockIds","Set","flatMap","entry","parseConnectRejection","code","reason","MAX_HANDSHAKE_RETRIES","shouldRetryHandshake","attemptsSoFar","classifyConnectError","isActive","CallimacusService","socket","serverResponseListeners","connectionStatusListeners","errorListeners","uiObserver","uiObserverConfig","handshakeRetryAttempts","handshakeRetryTimer","setupEventListeners","on","clearHandshakeRetry","updateConnectionStatus","emit","rejection","active","message","notifyRejection","scheduleHandshakeRetry","notifyErrorListeners","io","attempt","response","notifyServerResponseListeners","forEach","listener","delaySeconds","setTimeout","connect","clearTimeout","listenerError","getLocation","navigator","geolocation","getCurrentPosition","Promise","resolve","position","enrichPayloadWithUiContext","payload","ensureUiObserver","snapshot","context","uiSnapshot","socketEndpoint","endpoint","u","path","headers","auth","disconnect","referrer","location","href","finalAuth","transports","tryAllTransports","extraHeaders","configureUiObserver","shouldEnable","sendUserInteraction","SUGGEST","BACK_FROM_ROUND","chapterId","interaction","storedInteraction","suggest","options","connected","suggestions","list","Array","isArray","filter","suggestionsOf","timeout","timeoutMs","emitWithAck","gatherClientInfo","nav","screen","userAgent","language","timezone","Intl","DateTimeFormat","resolvedOptions","timeZone","localTime","toLocaleString","screenResolution","onServerResponse","callback","add","onConnectionStatus","onError","callimacusService","LANDING_VALUE_MAX_LENGTH","landingRound","length","RangeError","inputEvent","interactionRound","round","interactionId","nodeKey","receptorsOf","chapter","receptors","intent","blockKeyOf","ADD_TO_CART_RESULT_BLOCK","isRecord","isText","isSize","variantId","orderable","addToCartResultOf","addToCart","result","status","productName","productSku","availableSizes","every","recordOrEmpty","mergedAt","node","patch","head","rest","hasOwn","next","docId","inputs","textRuns","mergedAnimation","applyBlockPatch","findIndex","contentId","split","with","warned","unavailable","name","has","setConsent","_isGranted","setGeo","_isEnabled","setDebug","setDebugPanel","initIntent","_options","getIntentSessionId","ensureIntentSessionId","clearIntentSessionId","setIntentSessionMaxAge","_seconds","jsonBodySerializer","bodySerializer","body","_key","extraPrefixes","entries","$body_","$headers_","$path_","$query_","buildKeyMap","fields","in","buildClientParams","params","create","query","writeSlot","slot","record","arg","field","extra","allowExtra","allowed","keys","stripEmptySlots","serializeArrayParam","allowReserved","explode","style","joinedValues","separatorArrayNoExplode","separator","separatorArrayExplode","serializePrimitiveParam","Error","serializeObjectParam","valueOnly","toISOString","separatorObjectExplode","PATH_PARAM_RE","getUrl","baseUrl","querySerializer","_url","matches","match","substring","endsWith","replace","replaceValue","defaultPathSerializer","search","getValidRequestBody","hasBody","serializedBody","getAuthToken","async","token","scheme","btoa","createQuerySerializer","parameters","queryParams","serializedArray","array","serializedObject","object","serializedPrimitive","checkForExistence","includes","buildUrl","mergeConfigs","a","b","mergeHeaders","headersEntries","mergedHeaders","Headers","header","iterator","append","Interceptors","fns","eject","getInterceptorIndex","exists","Boolean","indexOf","update","fn","use","defaultQuerySerializer","defaultHeaders","createConfig","override","parseAs","createClient","_config","interceptors","beforeRequest","opts","fetch","security","setAuthParams","requestValidator","throwOnError","responseStyle","requestInit","redirect","Request","_fetch","ok","contentType","cleanContent","trim","some","getParseAs","emptyData","FormData","text","parse","responseValidator","responseTransformer","textError","jsonError","finalError","makeMethodFn","makeSseFn","onRequest","onSseError","onSseEvent","sseDefaultRetryDelay","sseMaxRetryAttempts","sseMaxRetryDelay","sseSleepFn","lastEventId","sleep","ms","stream","retryDelay","signal","AbortController","aborted","statusText","reader","pipeThrough","TextDecoderStream","getReader","buffer","abortHandler","cancel","addEventListener","read","chunks","pop","chunk","lines","dataLines","eventName","line","parsed","parseInt","parsedJson","rawData","event","retry","removeEventListener","releaseLock","backoff","createStream","createSseClient","init","post","put","setConfig","sse","trace","HeyApiClient","client","HeyApiRegistry","defaultKey","instances","instance","Content","getPage","listTopics","getTopicContents","getDocumentBySlug","getDocumentByGroup","getDocumentByPath","Stories","getShared","share","Products","getSimilar","getRecommendations","Whisper","getLast","Analytics","trackEvent","Cart","getCart","addItemToCart","removeItemFromCart","updateProductQuantity","Skesis","similar","related","CallimacusApi","static","super","__registry","_content","_stories","stories","_products","products","_whisper","whisper","_analytics","analytics","_cart","cart","_skesis","skesis","ThamyrHttpError","target","cause","createContractClient","Authorization","accessToken","credentials","withCredentials"],"mappings":"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"}