@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.
package/CHANGELOG.md CHANGED
@@ -3,6 +3,31 @@
3
3
  All notable changes to this project will be documented in this file.
4
4
  See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
5
5
 
6
+ ## [4.4.0](https://github.com/callimacus/thamyr-sdk/compare/thamyr-core-v4.3.5...thamyr-core-v4.4.0) (2026-09-29)
7
+
8
+
9
+ ### Features
10
+
11
+ * **callimacus:** export additional action types from hooks for better type safety ([fe22166](https://github.com/callimacus/thamyr-sdk/commit/fe221665c994723d546f972c9379cdf4b4eecbc8))
12
+ * **ContentAPI:** implement getDocumentByGroupId method to retrieve documents based on language and group ID ([fe22166](https://github.com/callimacus/thamyr-sdk/commit/fe221665c994723d546f972c9379cdf4b4eecbc8))
13
+ * **hooks.ts:** enhance useProducts, useAnalytics, and useSitemap hooks with TypeScript interfaces and detailed documentation ([fe22166](https://github.com/callimacus/thamyr-sdk/commit/fe221665c994723d546f972c9379cdf4b4eecbc8))
14
+ * **react:** add eslint-config-xo-react for better React linting ([fe22166](https://github.com/callimacus/thamyr-sdk/commit/fe221665c994723d546f972c9379cdf4b4eecbc8))
15
+ * **react:** implement Callimacus store and hooks for state management ([fe22166](https://github.com/callimacus/thamyr-sdk/commit/fe221665c994723d546f972c9379cdf4b4eecbc8))
16
+ * **service.ts:** add polling transport option to socket connection for improved connectivity in restricted environments ([fe22166](https://github.com/callimacus/thamyr-sdk/commit/fe221665c994723d546f972c9379cdf4b4eecbc8))
17
+ * **service.ts:** add referrer to auth object for enhanced tracking and analytics ([fe22166](https://github.com/callimacus/thamyr-sdk/commit/fe221665c994723d546f972c9379cdf4b4eecbc8))
18
+ * **thamyr:** parity with the v2 wire, rounds without a message, acknowledged suggestions, receptors and block keys ([#784](https://github.com/callimacus/thamyr-sdk/issues/784)) ([fe22166](https://github.com/callimacus/thamyr-sdk/commit/fe221665c994723d546f972c9379cdf4b4eecbc8))
19
+
20
+
21
+ ### Bug Fixes
22
+
23
+ * **AnalyticsAPI.ts, Thamyr.ts:** remove array type from content parameter in trackEvent method for consistency and simplification ([fe22166](https://github.com/callimacus/thamyr-sdk/commit/fe221665c994723d546f972c9379cdf4b4eecbc8))
24
+ * **core/package.json:** update @solomei-ai/intent to version 1.9.2 for latest features and fixes ([fe22166](https://github.com/callimacus/thamyr-sdk/commit/fe221665c994723d546f972c9379cdf4b4eecbc8))
25
+ * **package.json:** remove redundant comma in scripts section to ensure JSON validity ([fe22166](https://github.com/callimacus/thamyr-sdk/commit/fe221665c994723d546f972c9379cdf4b4eecbc8))
26
+ * **package.json:** update @types/react to version 19.2.10 for improved type definitions chore(package.json): bump react and react-dom to version 19.2.4 for latest features and fixes ([fe22166](https://github.com/callimacus/thamyr-sdk/commit/fe221665c994723d546f972c9379cdf4b4eecbc8))
27
+ * **react:** ensure consistent export style across components ([fe22166](https://github.com/callimacus/thamyr-sdk/commit/fe221665c994723d546f972c9379cdf4b4eecbc8))
28
+ * **react:** remove obsolete global type declarations ([fe22166](https://github.com/callimacus/thamyr-sdk/commit/fe221665c994723d546f972c9379cdf4b4eecbc8))
29
+ * remove legacy-peer-deps from .npmrc and update registry configuration for scoped package ([fe22166](https://github.com/callimacus/thamyr-sdk/commit/fe221665c994723d546f972c9379cdf4b4eecbc8))
30
+
6
31
  ## [4.3.5](https://github.com/callimacus/thamyr-sdk/compare/thamyr-core-v4.3.4...thamyr-core-v4.3.5) (2026-09-29)
7
32
 
8
33
 
package/dist/esm/index.js CHANGED
@@ -5,5 +5,5 @@
5
5
  * See LICENSE.md for the full terms.
6
6
  *
7
7
  */
8
- export*from"@callimacus/intent";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={bodySerializer:e=>JSON.stringify(e,(e,t)=>"bigint"==typeof t?t.toString():t)},x=Object.entries({$body_:"body",$headers_:"headers",$path_:"path",$query_:"query"});function C(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&&C(s.args,t);return t}function I(e,t){const s={headers:Object.create(null),path:Object.create(null),query:Object.create(null)},n=C(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=x.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 A=({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):j({allowReserved:e,name:s,value:t})).join(i);return"label"===n||"matrix"===n?i+o:o},j=({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)}`},_=({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])=>j({allowReserved:e,name:"deepObject"===n?`${s}[${t}]`:t,value:r})).join(o);return"label"===n||"matrix"===n?o+a:a},U=/\{[^{}]+\}/g,$=({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(U);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,A({explode:n,name:r,style:i,value:o}));continue}if("object"==typeof o){s=s.replace(t,_({explode:n,name:r,style:i,value:o,valueOnly:!0}));continue}if("matrix"===i){s=s.replace(t,`;${j({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 D(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 q=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},N=({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=A({allowReserved:o.allowReserved,explode:!0,name:r,style:"form",value:i,...o.array});e&&n.push(e)}else if("object"==typeof i){const e=_({allowReserved:o.allowReserved,explode:!0,name:r,style:"deepObject",value:i,...o.object});e&&n.push(e)}else{const e=j({allowReserved:o.allowReserved,name:r,value:i});e&&n.push(e)}}return n.join("&")},L=(e,t)=>!!t&&!!(e.headers.has(t)||e.query?.[t]||e.headers.get("Cookie")?.includes(`${t}=`));const K=e=>$({baseUrl:e.baseUrl,path:e.path,query:e.query,querySerializer:"function"==typeof e.querySerializer?e.querySerializer:N(e.querySerializer),url:e.url}),B=(e,t)=>{const s={...e,...t};return s.baseUrl?.endsWith("/")&&(s.baseUrl=s.baseUrl.substring(0,s.baseUrl.length-1)),s.headers=M(e.headers,t.headers),s},z=e=>{const t=[];return e.forEach((e,s)=>{t.push([s,e])}),t},M=(...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 V{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 H=N({allowReserved:!1,array:{explode:!0,style:"form"},object:{explode:!0,style:"deepObject"}}),P={"Content-Type":"application/json"},W=(e={})=>({...O,headers:P,parseAs:"auto",querySerializer:H,...e}),Y=(e={})=>{let t=B(W(),e);const s=()=>({...t}),n={error:new V,request:new V,response:new V},r=async e=>{const s={...t,...e,fetch:e.fetch??t.fetch??globalThis.fetch,headers:M(t.headers,e.headers),serializedBody:void 0};s.security&&await async function(e){for(const t of e.security??[]){if(L(e,t.name))continue;const s=await q(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:K(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:D(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:D(s),url:i})};return{buildUrl:e=>K({...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=B(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 F{client;constructor(e){this.client=e.client}}class G{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 J extends F{getPage(e,t){const s=I([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=I([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=I([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=I([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=I([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=I([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 Q extends F{getShared(e,t){const s=I([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=I([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 Z extends F{getSimilar(e,t){const s=I([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=I([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 X extends F{getLast(e,t){const s=I([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 F{trackEvent(e,t){const s=I([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 F{getCart(e){return(e?.client??this.client).get({security:[{name:"x-sl-access-token",type:"apiKey"}],url:"/cart",...e})}addItemToCart(e,t){const s=I([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=I([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=I([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 se extends F{similar(e,t){const s=I([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=I([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 ne extends F{static __registry=new G;constructor(e){super(e),ne.__registry.set(this,e.key)}_content;get content(){return this._content??=new J({client:this.client})}_stories;get stories(){return this._stories??=new Q({client:this.client})}_products;get products(){return this._products??=new Z({client:this.client})}_whisper;get whisper(){return this._whisper??=new X({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 se({client:this.client})}}class re 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=Y(W({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 re(""===e?{}:e??{},s,n)}),t}export{ne 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,re as ThamyrHttpError,t as ThamyrResponseType,p as UserInteractionType,T as callimacusService,E as classifyConnectError,ie as createContractClient,g as extractTtsAudio,a as isCustomBlock,l as isMasterProduct,c as isSetProduct,u as logger,v as parseConnectRejection,y as randomUuid,w as shouldRetryHandshake,h as transformImageUrl};
8
+ export*from"@callimacus/intent";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 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.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 S,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,$=e=>j(e)&&U(e.size)&&U(e.variantId)&&"boolean"==typeof e.orderable;function N(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($)?{status:"size_selection_needed",productSku:t.productSku,productName:t.productName,availableSizes:t.availableSizes}:void 0}const q=e=>j(e)?e:{};function D(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:{...q(e.values),...t.values},inputs:{...q(e.inputs),...t.inputs},textRuns:{...q(e.textRuns),...t.textRuns}}}(e[n],s):D(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=D(r.data,t.contentId.split("."),t);return i?{...e,blocks:s.with(n,{...r,data:i})}:e}const L={bodySerializer:e=>JSON.stringify(e,(e,t)=>"bigint"==typeof t?t.toString():t)},K=Object.entries({$body_:"body",$headers_:"headers",$path_:"path",$query_:"query"});function B(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&&B(s.args,t);return t}function M(e,t){const s={headers:Object.create(null),path:Object.create(null),query:Object.create(null)},n=B(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=K.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 P=({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):V({allowReserved:e,name:s,value:t})).join(i);return"label"===n||"matrix"===n?i+o:o},V=({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)}`},H=({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])=>V({allowReserved:e,name:"deepObject"===n?`${s}[${t}]`:t,value:r})).join(o);return"label"===n||"matrix"===n?o+a:a},W=/\{[^{}]+\}/g,G=({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(W);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,P({explode:n,name:r,style:i,value:o}));continue}if("object"==typeof o){s=s.replace(t,H({explode:n,name:r,style:i,value:o,valueOnly:!0}));continue}if("matrix"===i){s=s.replace(t,`;${V({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 Y(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 F=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},J=({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=P({allowReserved:o.allowReserved,explode:!0,name:r,style:"form",value:i,...o.array});e&&n.push(e)}else if("object"==typeof i){const e=H({allowReserved:o.allowReserved,explode:!0,name:r,style:"deepObject",value:i,...o.object});e&&n.push(e)}else{const e=V({allowReserved:o.allowReserved,name:r,value:i});e&&n.push(e)}}return n.join("&")},Q=(e,t)=>!!t&&!!(e.headers.has(t)||e.query?.[t]||e.headers.get("Cookie")?.includes(`${t}=`));const Z=e=>G({baseUrl:e.baseUrl,path:e.path,query:e.query,querySerializer:"function"==typeof e.querySerializer?e.querySerializer:J(e.querySerializer),url:e.url}),X=(e,t)=>{const s={...e,...t};return s.baseUrl?.endsWith("/")&&(s.baseUrl=s.baseUrl.substring(0,s.baseUrl.length-1)),s.headers=te(e.headers,t.headers),s},ee=e=>{const t=[];return e.forEach((e,s)=>{t.push([s,e])}),t},te=(...e)=>{const t=new Headers;for(const s of e){if(!s)continue;const e=s instanceof Headers?ee(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 se{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 ne=J({allowReserved:!1,array:{explode:!0,style:"form"},object:{explode:!0,style:"deepObject"}}),re={"Content-Type":"application/json"},ie=(e={})=>({...L,headers:re,parseAs:"auto",querySerializer:ne,...e}),oe=(e={})=>{let t=X(ie(),e);const s=()=>({...t}),n={error:new se,request:new se,response:new se},r=async e=>{const s={...t,...e,fetch:e.fetch??t.fetch??globalThis.fetch,headers:te(t.headers,e.headers),serializedBody:void 0};s.security&&await async function(e){for(const t of e.security??[]){if(Q(e,t.name))continue;const s=await F(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:Z(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:Y(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:Y(s),url:i})};return{buildUrl:e=>Z({...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=X(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 ae{client;constructor(e){this.client=e.client}}class ce{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 le extends ae{getPage(e,t){const s=M([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=M([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=M([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=M([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=M([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=M([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 de extends ae{getShared(e,t){const s=M([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=M([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 ue extends ae{getSimilar(e,t){const s=M([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=M([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 he extends ae{getLast(e,t){const s=M([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 ye extends ae{trackEvent(e,t){const s=M([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 pe extends ae{getCart(e){return(e?.client??this.client).get({security:[{name:"x-sl-access-token",type:"apiKey"}],url:"/cart",...e})}addItemToCart(e,t){const s=M([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=M([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=M([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 fe extends ae{similar(e,t){const s=M([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=M([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 me extends ae{static __registry=new ce;constructor(e){super(e),me.__registry.set(this,e.key)}_content;get content(){return this._content??=new le({client:this.client})}_stories;get stories(){return this._stories??=new de({client:this.client})}_products;get products(){return this._products??=new ue({client:this.client})}_whisper;get whisper(){return this._whisper??=new he({client:this.client})}_analytics;get analytics(){return this._analytics??=new ye({client:this.client})}_cart;get cart(){return this._cart??=new pe({client:this.client})}_skesis;get skesis(){return this._skesis??=new fe({client:this.client})}}class ge 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 be(e){const t=oe(ie({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 ge(""===e?{}:e??{},s,n)}),t}export{_ as ADD_TO_CART_RESULT_BLOCK,me as CallimacusApi,f as CallimacusEvent,S 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,ge as ThamyrHttpError,t as ThamyrResponseType,p as UserInteractionType,N as addToCartResultOf,z as applyBlockPatch,A as blockKeyOf,T as callimacusService,E as classifyConnectError,be as createContractClient,g as extractTtsAudio,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,w as shouldRetryHandshake,h as transformImageUrl};
9
9
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.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/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],"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","jsonBodySerializer","bodySerializer","body","_key","extraPrefixes","entries","$body_","$headers_","$path_","$query_","buildKeyMap","fields","in","buildClientParams","params","create","query","writeSlot","slot","record","arg","field","name","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","has","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.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/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","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","jsonBodySerializer","bodySerializer","body","_key","extraPrefixes","entries","$body_","$headers_","$path_","$query_","buildKeyMap","fields","in","buildClientParams","params","create","query","writeSlot","slot","record","arg","field","name","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","has","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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"}