@callimacus/thamyr-react 4.14.1 → 4.15.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.core.md +7 -0
- package/CHANGELOG.md +15 -0
- package/dist/esm/chunks/api-Dk2hENdd.js +9 -0
- package/dist/esm/chunks/api-Dk2hENdd.js.map +1 -0
- package/dist/esm/index.js +1 -1
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/query.js +1 -1
- package/dist/types/index.d.ts +54 -10
- package/package.json +3 -3
- package/dist/esm/chunks/api-BDSbXlo-.js +0 -9
- package/dist/esm/chunks/api-BDSbXlo-.js.map +0 -1
package/CHANGELOG.core.md
CHANGED
|
@@ -3,6 +3,13 @@
|
|
|
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.15.0](https://github.com/callimacus/thamyr-sdk/compare/thamyr-core-v4.14.1...thamyr-core-v4.15.0) (2026-10-29)
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
### Features
|
|
10
|
+
|
|
11
|
+
* **woocommerce:** a site sells from its WooCommerce store: a cart in the browser on the Store API, checkout on the store, and the chat's add to the bag ([#865](https://github.com/callimacus/thamyr-sdk/issues/865)) ([9b2690c](https://github.com/callimacus/thamyr-sdk/commit/9b2690c9d633874ac86b308e4938e0a77109a2d8))
|
|
12
|
+
|
|
6
13
|
## [4.14.1](https://github.com/callimacus/thamyr-sdk/compare/thamyr-core-v4.14.0...thamyr-core-v4.14.1) (2026-10-28)
|
|
7
14
|
|
|
8
15
|
|
package/CHANGELOG.md
CHANGED
|
@@ -3,6 +3,21 @@
|
|
|
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.15.0](https://github.com/callimacus/thamyr-sdk/compare/thamyr-react-v4.14.1...thamyr-react-v4.15.0) (2026-10-29)
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
### Features
|
|
10
|
+
|
|
11
|
+
* **woocommerce:** a site sells from its WooCommerce store: a cart in the browser on the Store API, checkout on the store, and the chat's add to the bag ([#865](https://github.com/callimacus/thamyr-sdk/issues/865)) ([9b2690c](https://github.com/callimacus/thamyr-sdk/commit/9b2690c9d633874ac86b308e4938e0a77109a2d8))
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
### Dependencies
|
|
15
|
+
|
|
16
|
+
* The following workspace dependencies were updated
|
|
17
|
+
* dependencies
|
|
18
|
+
* @callimacus/thamyr bumped from ^4.14.1 to ^4.15.0
|
|
19
|
+
* @callimacus/thamyr-core bumped from ^4.14.1 to ^4.15.0
|
|
20
|
+
|
|
6
21
|
## [4.14.1](https://github.com/callimacus/thamyr-sdk/compare/thamyr-react-v4.14.0...thamyr-react-v4.14.1) (2026-10-28)
|
|
7
22
|
|
|
8
23
|
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
/*!
|
|
2
|
+
* Copyright © 2025–2026 Solomei AI SRL. All rights reserved.
|
|
3
|
+
*
|
|
4
|
+
* Proprietary software, licensed for use by Callimacus customers only.
|
|
5
|
+
* See LICENSE.md for the full terms.
|
|
6
|
+
*
|
|
7
|
+
*/
|
|
8
|
+
import{Thamyr as e}from"@callimacus/thamyr";import{UserInteractionType as t,callimacusService as n,ThamyrResponseType as r,applyBlockPatch as o}from"@callimacus/thamyr-core";import s from"react";const i=e=>{let t;const n=new Set,r=(e,r)=>{const o="function"==typeof e?e(t):e;if(!Object.is(o,t)){const e=t;t=(null!=r?r:"object"!=typeof o||null===o)?o:Object.assign({},t,o),n.forEach(n=>n(t,e))}},o=()=>t,s={setState:r,getState:o,getInitialState:()=>i,subscribe:e=>(n.add(e),()=>n.delete(e))},i=t=e(r,o,s);return s},c=e=>e;const a=e=>{const t=(e=>e?i(e):i)(e),n=e=>function(e,t=c){const n=s.useSyncExternalStore(e.subscribe,s.useCallback(()=>t(e.getState()),[e,t]),()=>t(e.getInitialState()));return s.useDebugValue(n),n}(t,e);return Object.assign(n,t),n},d=e=>e?a(e):a;function u(e,t){for(const n of e)try{n(t)}catch(e){console.error("[Thamyr] Listener threw:",e)}}function l(e,t){let n=!1;const s=e.map(e=>{if(e.type!==r.CHAPTER_EVENT)return e;const s=o(e.chapter,t);return s===e.chapter?e:(n=!0,{...e,chapter:s})});return n?s:e}const m=d()((o,s)=>{let i,c=0;const a=new Set,d=new Set,m=new Set,y=()=>void 0!==s()._shopify?{shopifyCart:!0}:s()._woocommerce?{woocommerceCart:!0}:void 0;return{connectionStatus:"idle",messages:[],storyId:void 0,error:void 0,_initialized:!1,_thamyr:void 0,_shopify:void 0,_woocommerce:!1,cartNotices:[],init(t){if(s()._initialized)return;if("undefined"==typeof window)return void console.debug("[Thamyr] init() skipped: no browser environment detected (SSR).");const{clientId:y}=t;if(!y){console.error("[Thamyr] clientId is required. Pass your Callimacus Client ID (`cal-pk-…`) to useInitThamyr().");const e={code:0,message:"clientId is required. Pass your Callimacus Client ID (`cal-pk-…`) to useInitThamyr()."};return o({connectionStatus:"error",error:e}),u(m,e),void u(d,"error")}void 0!==t.maxMessages&&t.maxMessages<0&&console.warn("[Thamyr] maxMessages must be >= 0. Received:",t.maxMessages,". Clamping to 1.");const h=0===t.maxMessages?1/0:Math.max(1,t.maxMessages??50);let f;o({connectionStatus:"connecting",error:void 0});try{f=new e({clientId:y,endpoint:t.endpoint,uiObserver:t.uiObserver})}catch(e){console.error("[Thamyr] Failed to create Thamyr instance:",e);const t={code:0,message:e instanceof Error?e.message:String(e)};return o({connectionStatus:"error",error:t}),u(m,t),void u(d,"error")}const w=++c;f.onResponse(e=>{c===w&&(e.type===r.BLOCK_PATCH?o(t=>({messages:l(t.messages,e.data)})):e.type!==r.CART_COMMAND&&o(t=>{const n=[...t.messages,e];return{messages:n.length>h?n.slice(-h):n,...e.type===r.STORY_CREATED&&{storyId:e.story.id}}}),u(a,e))}),f.onError(e=>{c===w&&(o({error:e}),u(m,e))}),i=n.onConnectionStatus(e=>{if(c!==w)return;const t=e?"connected":"disconnected";o({connectionStatus:t}),u(d,t)}),function(e,t,n=!1){o({_initialized:Boolean(e),_thamyr:e,_shopify:t,_woocommerce:n})}(f,t.shopify,t.woocommerce)},reset(){if(s()._initialized){c++;try{i?.()}catch(e){console.error("[Thamyr] Error unsubscribing connection status listener:",e)}try{n.disconnect()}catch(e){console.error("[Thamyr] Error disconnecting:",e)}i=void 0,o({_initialized:!1,_thamyr:void 0,_shopify:void 0,_woocommerce:!1,cartNotices:[],connectionStatus:"idle",messages:[],storyId:void 0,error:void 0})}else"idle"!==s().connectionStatus&&o({connectionStatus:"idle",error:void 0})},sendEvent(e,n){const r=s()._thamyr;if(!r)throw new Error("[Thamyr] SDK is not initialized yet. Ensure useInitThamyr() has been called.");const{connectionStatus:i}=s();if("connected"!==i){const e={code:0,message:`Cannot send event: connection status is "${i}". Wait for connected status before sending.`};throw o({error:e}),u(m,e),new Error(e.message)}const c=y(),a=c&&e===t.CREATE_ROUND?{...n,context:{...n.context,...c}}:n;r.sendUserInteraction(e,a)},sendAudio(e,t){const n=s()._thamyr;if(!n)throw new Error("[Thamyr] SDK is not initialized yet. Ensure useInitThamyr() has been called.");const{connectionStatus:r}=s();if("connected"!==r){const e={code:0,message:`Cannot send audio: connection status is "${r}". Wait for connected status before sending.`};throw o({error:e}),u(m,e),new Error(e.message)}n.sendAudio(e,t,y())},addResponseListener:e=>(a.add(e),()=>{a.delete(e)}),addConnectionListener:e=>(d.add(e),()=>{d.delete(e)}),addErrorListener:e=>(m.add(e),()=>{m.delete(e)}),_addCartNotice(e){o(t=>({cartNotices:[...t.cartNotices,e].slice(-20)}))}}});let y=!1,h=0;const f=new Set;function w(){y=!0}function g(){h++,y=!0}function p(){h--,queueMicrotask(()=>{if(h>0)return;y=!1;const e=[...f];f.clear();for(const t of e)t(new Error("[Thamyr] SDK was torn down: useInitThamyr() unmounted while this call was waiting for initialization."))})}function S(e){return new Error(`[Thamyr] SDK initialization failed: ${e?.message??"unknown error"}`)}async function T(){if("undefined"==typeof window)throw new Error("[Thamyr] The generated API is browser-only; this call ran without a browser environment (SSR).");const e=m.getState();if(e._thamyr)return e._thamyr;if(!y)throw new Error("[Thamyr] SDK is not initialized and no useInitThamyr() is mounted. Add useInitThamyr({clientId: 'cal-pk-…'}) to your root component.");if("error"===e.connectionStatus)throw S(e.error);return new Promise((e,t)=>{let n=!1;const r=e=>{n||(n=!0,s(),f.delete(o),e())},o=e=>{r(()=>{t(e)})};f.add(o);const s=m.subscribe(n=>{if(n._thamyr){const t=n._thamyr;r(()=>{e(t)})}else"error"===n.connectionStatus&&r(()=>{t(S(n.error))})})})}const b=new Set(["then","catch","finally","toJSON"]),_=new Set(Object.getOwnPropertyNames(Object.prototype));function v(e){return"string"!=typeof e||_.has(e)}const E=new Map,I=new Proxy({},{get(e,t){if(v(t))return Reflect.get(e,t);if(b.has(t))return;const n=t;let r=E.get(n);return void 0===r&&(r=function(e){const t=new Map;return new Proxy({},{get(n,r){if(v(r))return Reflect.get(n,r);if(b.has(r))return;const o=r;let s=t.get(o);return void 0===s&&(s=async(...t)=>{const n=(await T())[e],r=n?.[o];if("function"!=typeof r)throw new TypeError(`[Thamyr] ${e}.${o} is not part of the generated API surface.`);return Reflect.apply(r,n,t)},t.set(o,s)),s}})}(n),E.set(n,r)),r}});export{w as a,g as b,d as c,p as m,I as t,m as u,T as w};
|
|
9
|
+
//# sourceMappingURL=api-Dk2hENdd.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"api-Dk2hENdd.js","sources":["../../../../../node_modules/zustand/esm/vanilla.mjs","../../../../../node_modules/zustand/esm/react.mjs","../../../../src/callimacus/store.ts","../../../../src/callimacus/api.ts"],"sourcesContent":["const createStoreImpl = (createState) => {\n let state;\n const listeners = /* @__PURE__ */ new Set();\n const setState = (partial, replace) => {\n const nextState = typeof partial === \"function\" ? partial(state) : partial;\n if (!Object.is(nextState, state)) {\n const previousState = state;\n state = (replace != null ? replace : typeof nextState !== \"object\" || nextState === null) ? nextState : Object.assign({}, state, nextState);\n listeners.forEach((listener) => listener(state, previousState));\n }\n };\n const getState = () => state;\n const getInitialState = () => initialState;\n const subscribe = (listener) => {\n listeners.add(listener);\n return () => listeners.delete(listener);\n };\n const api = { setState, getState, getInitialState, subscribe };\n const initialState = state = createState(setState, getState, api);\n return api;\n};\nconst createStore = ((createState) => createState ? createStoreImpl(createState) : createStoreImpl);\n\nexport { createStore };\n","import React from 'react';\nimport { createStore } from 'zustand/vanilla';\n\nconst identity = (arg) => arg;\nfunction useStore(api, selector = identity) {\n const slice = React.useSyncExternalStore(\n api.subscribe,\n React.useCallback(() => selector(api.getState()), [api, selector]),\n () => selector(api.getInitialState())\n );\n React.useDebugValue(slice);\n return slice;\n}\nconst createImpl = (createState) => {\n const api = createStore(createState);\n const useBoundStore = (selector) => useStore(api, selector);\n Object.assign(useBoundStore, api);\n return useBoundStore;\n};\nconst create = ((createState) => createState ? createImpl(createState) : createImpl);\n\nexport { create, useStore };\n",null,null],"names":["createStoreImpl","createState","state","listeners","Set","setState","partial","replace","nextState","Object","is","previousState","assign","forEach","listener","getState","api","getInitialState","initialState","subscribe","add","delete","identity","arg","createImpl","createStore","useBoundStore","selector","slice","React","useSyncExternalStore","useCallback","useDebugValue","useStore","create","notifyListeners","error","console","patchedHistory","messages","patch","isPatched","patched","map","message","type","ThamyrResponseType","CHAPTER_EVENT","chapter","applyBlockPatch","useCallimacusStore","set","get","unsubConnectionStatus","generation","responseListeners","connectionListeners","errorListeners","cartContext","undefined","_shopify","shopifyCart","_woocommerce","woocommerceCart","connectionStatus","storyId","_initialized","_thamyr","cartNotices","init","config","window","debug","clientId","errorMessage","code","maxMessages","warn","Infinity","Math","max","thamyr","Thamyr","endpoint","uiObserver","Error","String","currentGen","onResponse","response","BLOCK_PATCH","data","CART_COMMAND","length","STORY_CREATED","story","id","onError","callimacusService","onConnectionStatus","connected","status","shopify","hasWooCommerce","Boolean","setInitState","woocommerce","reset","disconnect","sendEvent","payload","cart","declared","UserInteractionType","CREATE_ROUND","context","sendUserInteraction","sendAudio","audio","query","addResponseListener","cb","addConnectionListener","addErrorListener","_addCartNotice","notice","wasInitRequested","mountedInitOwners","pendingRejecters","markInitRequested","markInitOwnerMounted","markInitOwnerUnmounted","queueMicrotask","rejecters","clear","rejectWaiter","initError","async","waitForInstance","Promise","resolve","reject","isSettled","settle","action","unsubscribe","rejecter","current","instance","blockedNames","objectPrototypeMembers","getOwnPropertyNames","prototype","isPassthroughProperty","property","has","namespaces","Map","thamyrApi","Proxy","target","Reflect","name","namespace","namespaceName","methods","method","args","fn","TypeError","apply","createNamespaceFacade"],"mappings":"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","x_google_ignoreList":[0,1]}
|
package/dist/esm/index.js
CHANGED
|
@@ -5,5 +5,5 @@
|
|
|
5
5
|
* See LICENSE.md for the full terms.
|
|
6
6
|
*
|
|
7
7
|
*/
|
|
8
|
-
import{isVariantGid as n,createShopifyCart as t,createPageStorage as e,cartSettingsFor as r,readShopifySettings as a,createContractClient as o,ThamyrResponseType as i,UserInteractionType as c,interactionRound as s,landingRound as l,parseMapPath as d,resolveMapPage as u,randomUuid as m,deliverResultOf as p}from"@callimacus/thamyr-core";export{ACTION_TYPES,ADD_TO_CART_RESULT_BLOCK,CallimacusEvent,ChapterStatus,ClientEvents,DELIVER_RESULT_BLOCK,GalleryMode,LANDING_VALUE_MAX_LENGTH,SLInputEventType,STOREFRONT_API_VERSION,ServerEvents,ThamyrHttpError,ThamyrResponseType,UserInteractionType,actionOf,addToCartResultOf,applyBlockPatch,blockKeyOf,callimacusService,clearIntentSessionId,deliverResultOf,ensureIntentSessionId,extractTtsAudio,fieldsOf,getIntentSessionId,initIntent,interactionRound,isSetProduct,landingRound,logger,parseMapPath,receptorsOf,resolveMapPage,setConsent,setDebug,setDebugPanel,setGeo,setIntentSessionMaxAge,transformImageUrl}from"@callimacus/thamyr-core";import{jsx as g,jsxs as b,Fragment as h}from"react/jsx-runtime";import{useMemo as f,useEffect as v,useState as y,useRef as x,useCallback as w,useId as k}from"react";import{u as _,w as q,t as I,m as S,a as C,b as L,c as E}from"./chunks/api-BDSbXlo-.js";import"@callimacus/thamyr";const T=new WeakMap;const z=new Map;let N;function R(n){let i=z.get(n);if(void 0===i){const c="undefined"!=typeof window;i=t({settings:async()=>r(await async function(){const n=await q();let t=T.get(n);if(void 0===t){const{endpoint:e,accessToken:r}=n.sitemap.config;t=a(o({endpoint:e,accessToken:r}),_.getState()._shopify),T.set(n,t)}return t}(),n??function(){const n="undefined"==typeof document?"":document.documentElement.lang;return""!==n?n:"undefined"==typeof navigator?void 0:navigator.language}()),...c&&{storage:N??=e()}}),c&&z.set(n,i)}return i}const M=()=>void 0!==_.getState()._shopify;function A(n={}){const{locale:t}=n;return f(()=>R(t),[t])}const O="callimacus:shopify-cart-commands",D=new Set;function V(n){const t=function(){try{const n=JSON.parse(localStorage.getItem(O)??"[]");return Array.isArray(n)?n.filter(n=>"string"==typeof n):[]}catch{return}}();if(t?.includes(n)||D.has(n))return!1;try{localStorage.setItem(O,JSON.stringify([...t??[],n].slice(-50)))}catch{D.add(n)}return!0}const U=new Set(["cart_disabled","cart_unavailable"]);async function j(t){if("shopify-add"!==t.command||!M()||!n(t.variantId)||!V(t.chapterId))return;const e=Math.trunc(t.quantity),r=Math.min(Math.max(Number.isFinite(e)?e:1,1),10),a=await R().addItem(t.variantId,r),o=function(n,t,e){const r=`${t>1?`${t} × `:""}${n.item.name}${n.item.options.length>0?` (${n.item.options.map(n=>n.value).join(", ")})`:""}`,a={id:n.chapterId,item:n.item,quantity:t};return void 0===e.error?{...a,outcome:"added",message:e.warnings[0]?.message??`${r} is in your bag.`}:"refused"===e.error.code?{...a,outcome:"refused",message:e.error.message}:U.has(e.error.code)?{...a,outcome:"unavailable",message:"The bag is not available on this site right now."}:{...a,outcome:"failed",message:e.error.message}}(t,r,a);_.getState()._addCartNotice(o);try{const n=await q();await n.analytics.trackEvent({storyId:t.storyId,eventName:"shopify_cart_add",payload:{chapterId:t.chapterId,variantId:t.variantId,quantity:r,outcome:o.outcome,...a.error&&{code:a.error.code}}})}catch{}return o}function H(){return _(n=>n.cartNotices)}function P(n,t){const e=x(t);e.current=t,v(()=>n(n=>{e.current(n)}),[n])}function B(n){const t=_(n=>n.init),e=_(n=>n.reset);C(),v(()=>{L(),t(n);const r=_.getState().addResponseListener(n=>{n.type===i.CART_COMMAND&&j(n.data)});return()=>{r(),e(),S()}},[t,e,n.clientId,n.endpoint])}function F(){const n=_(n=>n.messages),t=_(n=>n.sendEvent),e=_(n=>n.sendAudio),r=f(()=>({openLanding(n,e={}){t(c.CREATE_ROUND,l(n,e))},sendInteraction(n,e={}){t(c.CREATE_ROUND,s(n,e))},refresh(n,e,r={}){t(c.CREATE_ROUND,s(e,{...r,block:n}))}}),[t]);return{history:n,sendEvent:t,sendAudio:e,...r}}const $={suggestions:[],loading:!1};function K(n,t={}){const{storyId:e,language:r,debounceMs:a=200}=t,o=_(n=>"connected"===n.connectionStatus),[i,c]=y($),[s,l]=y(o);return s!==o&&(l(o),o||c($)),v(()=>{if(!o)return;let t=!1;const i=setTimeout(()=>{c(n=>({...n,loading:!0}));(_.getState()._thamyr?.suggest(n,{storyId:e,language:r})??Promise.resolve($)).then(({suggestions:n})=>{t||c({suggestions:n,loading:!1})}).catch(()=>{t||c($)})},""===n?0:a);return()=>{t=!0,clearTimeout(i)}},[n,e,r,a,o]),o?i:$}function G(){return{status:_(n=>n.connectionStatus)}}function Q(n){P(_(n=>n.addResponseListener),n)}function J(n){P(_(n=>n.addConnectionListener),n)}function W(n){P(_(n=>n.addErrorListener),n)}function X(){return f(()=>({getCart:async()=>(await q()).cart.getCart(),addItem:async n=>(await q()).cart.addItemToCart({productId:n}),removeItem:async n=>(await q()).cart.removeItemFromCart({productId:n}),updateQuantity:async(n,t)=>(await q()).cart.updateProductQuantity({productId:n,quantity:t})}),[])}function Y(){return I}function Z(){return f(()=>({similar:async(n,t)=>(await q()).skesis.similar({anchorId:n,...t}),related:async(n,t)=>(await q()).skesis.related({anchorId:n,...t})}),[])}function nn(){return f(()=>({getSitemap:async()=>(await q()).sitemap.getSitemap()}),[])}function tn(n){const[t,e]=y(),r=void 0!==d(n);v(()=>{if(!r)return;let t=!1;return u(I,n).then(r=>{t||e({pathname:n,page:r})}).catch(r=>{t||e({pathname:n,error:r instanceof Error?r:new Error(String(r))})}),()=>{t=!0}},[n,r]);const a=r&&t?.pathname===n?t:void 0;return{page:a?.page,loading:r&&void 0===a,error:a?.error}}const en=n=>({ok:!1,error:n});const rn={state:"idle"},an=E(()=>({})),on=new Map;function cn(){const n=_(n=>"connected"===n.connectionStatus),t=_(n=>n.storyId),e=_(n=>n.sendEvent),r=_(n=>n.addResponseListener),a=w(async(n,a={})=>{const o=a.storyId??t,i=n=>{try{return e(c.CREATE_ROUND,{...n,...void 0!==o&&{storyId:o}}),{ok:!0}}catch(n){return en(n)}};switch(n.type){case"link":return void 0===globalThis.location?en(new Error("[thamyr] a link action needs a browser")):(n.newTab?globalThis.open(n.url,"_blank","noopener"):globalThis.location.assign(n.url),{ok:!0});case"ask":return i({inputEvent:{type:"question",data:{value:n.value}}});case"interact":return i(s(n.id,{value:n.value,payload:n.payload,block:n.block}));case"cart":return async function(n){try{const{error:t}=await n;return void 0===t?{ok:!0}:en(t)}catch(n){return en(n)}}(q().then(async t=>M()?R().addItem(n.productId):t.cart.addItemToCart({productId:n.productId})));case"submit":{const t=m();on.set(n.form,t),an.setState({[n.form]:{state:"sending"}});const e=i({...s(n.form,{payload:a.fields??{},submissionId:t}),...void 0!==globalThis.document&&{context:{title:(l=globalThis.document.title,l.replaceAll(/\p{Control}/gv,"").slice(0,500).replace(/\p{Surrogate}$/v,""))}}}),o=e.ok?await async function(n,t){return new Promise(e=>{let r=()=>{};const a=setTimeout(()=>{r(),e(en("timeout"))},3e4);r=t(t=>{if("chapter-event"!==t.type||"customInteraction"!==t.chapter.inputEvent?.type||t.chapter.inputEvent.data.submissionId!==n)return;const o=(t.chapter.blocks??[]).map(n=>p(n)).find(t=>t?.submissionId===n);void 0!==o&&(clearTimeout(a),r(),e({ok:!0,result:o}))})})}(t,r):e;return on.get(n.form)===t&&an.setState({[n.form]:o.ok?{state:"done",result:o.result}:rn}),o}}var l},[e,t,r]);return f(()=>({run:a,ready:n,storyId:t}),[a,n,t])}function sn(n){return an(t=>t[n]??rn)}const ln=-45,dn=1800,un=3e4;function mn({silenceThreshold:n=ln,silenceDuration:t=dn,maxDuration:e=un,onRecordingComplete:r}){const[a,o]=y("idle"),[i,c]=y([]),[s,l]=y(void 0),d=x(void 0),u=x(void 0),m=x(void 0),p=x(void 0),g=x(0),b=x(0),h=x(void 0),f=x([]),k=x(!1),_=w(()=>{if(0!==g.current&&(cancelAnimationFrame(g.current),g.current=0),void 0!==h.current&&(clearTimeout(h.current),h.current=void 0),p.current){for(const n of p.current.getTracks())n.stop();p.current=void 0}"closed"!==u.current?.state&&u.current?.close(),u.current=void 0,m.current=void 0,d.current=void 0,k.current=!1},[]);v(()=>_,[_]);const q=w(()=>{k.current||(k.current=!0,"recording"===d.current?.state&&d.current.stop(),0!==g.current&&(cancelAnimationFrame(g.current),g.current=0),void 0!==h.current&&(clearTimeout(h.current),h.current=void 0))},[]),I=w(async()=>{l(void 0),f.current=[],k.current=!1;try{const a=await navigator.mediaDevices.getUserMedia({audio:{echoCancellation:!0,noiseSuppression:!0,sampleRate:16e3}});p.current=a;const i=new AudioContext({sampleRate:16e3});u.current=i;const s=i.createMediaStreamSource(a),l=i.createAnalyser();l.fftSize=256,l.smoothingTimeConstant=.7,s.connect(l),m.current=l;const v=MediaRecorder.isTypeSupported("audio/webm;codecs=opus")?"audio/webm;codecs=opus":"audio/webm",y=new MediaRecorder(a,{mimeType:v});d.current=y,y.addEventListener("dataavailable",n=>{n.data.size>0&&f.current.push(n.data)}),y.addEventListener("stop",()=>{o("processing");const n=new Blob(f.current,{type:v});_(),r(n)}),y.start(250),o("recording"),b.current=0,h.current=setTimeout(()=>{q()},e);const x=()=>{if(!m.current||k.current)return;const e=m.current.frequencyBinCount,r=new Uint8Array(e);m.current.getByteFrequencyData(r);const a=Math.floor(e/32),o=[];for(let n=0;n<32;n++){let t=0;for(let e=0;e<a;e++)t+=r[n*a+e];o.push(t/a/255)}c(o);let i=0;for(const n of r){const t=n/255;i+=t*t}const s=Math.sqrt(i/e);if((s>0?20*Math.log10(s):-100)<n){if(0===b.current)b.current=Date.now();else if(Date.now()-b.current>t)return void q()}else b.current=0;g.current=requestAnimationFrame(x)};x()}catch{l("Microphone access denied"),o("idle"),_()}},[n,t,e,r,q,_]),S=w(()=>{o("idle"),c([])},[]);return{state:a,audioLevels:i,startRecording:I,stopRecording:q,reset:S,error:s}}function pn(n){const t=x(void 0),[e,r]=y("idle"),[a,o]=y(void 0);v(()=>{const e=n?.audioUrl;if("undefined"==typeof Audio||void 0===e||""===e)return t.current=void 0,void r("idle");const a=new Audio(e);a.preload="none",t.current=a,r("idle"),o(void 0);const i=()=>{r("playing")},c=()=>{r("loading")},s=()=>{r(n=>"ended"===n?n:"paused")},l=()=>{r("ended")},d=()=>{o("Audio playback failed"),r("error")};return a.addEventListener("playing",i),a.addEventListener("waiting",c),a.addEventListener("pause",s),a.addEventListener("ended",l),a.addEventListener("error",d),()=>{a.pause(),a.removeEventListener("playing",i),a.removeEventListener("waiting",c),a.removeEventListener("pause",s),a.removeEventListener("ended",l),a.removeEventListener("error",d),a.src="",t.current=void 0}},[n?.audioUrl]);const i=w(async()=>{const n=t.current;if(n)try{o(void 0),r("loading"),await n.play()}catch{o("Audio playback failed"),r("error")}},[]),c=w(()=>{t.current?.pause()},[]),s=w(()=>{const n=t.current;n&&(n.pause(),n.currentTime=0,r("idle"))},[]),l=w(()=>{const n=t.current;n&&(n.paused?i():n.pause())},[i]);return{state:e,isPlaying:"playing"===e||"loading"===e,error:a,play:i,pause:c,toggle:l,stop:s}}function gn(n){return g("svg",{viewBox:"0 0 40 45",fill:"currentColor",role:"img","aria-label":"Callimacus",...n,children:g("path",{d:"M39.2 21.6q.8-.6.8-1 0-.2-.3-.2h-1.3l-.5.1h-.3c-.3-.2-.6-1-.9-1.5l-.5-1q-.2-.2-.4-.2t-.3.2l-.2 1.2-.4 1.5h-.1l-.3-.3-.4-.3q-1.5-1.9-2.7-3.8Q27.7 11 23.3 6l-.9-1.1q.1-.4.7-1l.5-.5v-.5l-.4-.1-1 .1h-.4q-.7-.1-.9-1.3-.2-1-.6-1.4L20 0q-.5.4-.6 1.3-.2.8-.5 1-.5.3-1.7.2l-1 .1v.7q0 .3.6.5c.4.2 1 .5 1 .8q-.2.4-1 .8l-.3.3-1.1 1-1 1L13 8.9c-1.9 1.7-4 3.5-5.4 5.7l-2.3.8q-.6-.2-.8-.9h-.4q-.2 0-.1 1v.6l-.1.2v.7L1 18.1v.3l.3.2 2.7.2.5 2.3-.4 2.8-.5 4.2v.3l.1.3-.1.3-.2.3-.1.3c0 .3-.3 1-.4 1H0v.2q0 .3.2.4l.9.5q1 .3 1.3.9l-.2 1-.2.3q-.5.8-.4 1l.1.2q.7-.1 1.6-1l1.2-.8 1.7 2H7v-.1L6.5 33h.1l8.3 4.7.8.5 1.3.7q1 .5 2 1.3h.1H18l-.8.2-.1.2.2.4h.1l.4.5.3.4.5.3.7.4v.2q-.7 1-.6 2v.2h.2c.3 0 1.2-.8 1.4-1l.3-.4q.3-.5.6-.6.6.2 1.4.9l1 .6h.4V44l-.4-1-.3-.8.7-.4.3-.2 1-.7v-.6l-.3-.1h-2V40l.6-1 .5-.7 6-8.1 1-1.5c1.2-1.7 2.6-4 3.1-4.2v1l.2.1h.1l.8-.7c.5-.4 1.2-1 1.4-1l.6.3 1.3 1q.3.5.6.5l.2-.1c.1 0 0-.4-.6-2.2l-.4-1 .5-.6zM17.7 3.7l-.4-.3q-.3 0-.4-.3h1q1 0 1.4-.2l.5-1.2.3-.7V.9l.3.9q.3 1 .6 1.4.1.3.7.2h1L21.4 5l.3 2-.1-.1-.9-1-.2-.2-.1-.2q-.1-.4-.5-.4h-.3v.2c-.3.5-1.2 1.3-1.4 1.5q0-.6.4-1.4v-.1q.4-.3 0-.8zM8 15.5l.4-.8.3-.7c.9-1.4 3.1-3.4 4.7-4.8l4-3.5.4-.3-.6 2.3.3.1c.5 0 1.1-.7 1.6-1.2L20 6l.7.8q.5.7 1.1 1l.5.2q.1 0 .2-.2.2-.3-.1-1.5l-.2-.8a42 42 0 0 1 6.3 8l1.8 2.2 3 4 .4 1-1.4-.1q-1.2 0-2.5-.2-3.1-.5-6.7-.7l-3.4-.6.9-12.5h-.3l-.4.1v1.4l-.3 3.7-.3 3.3V18q-.3.5-.3 1.1l-4.7-.7-1-.2-2-.4h-1l-1 .1q-.9 0-1.6-.4l-.5-.5.4-.5zm13.1 11.9h-1l-.3-.1-.4-.2h-.2q-.5 0-1 .4l-.7.4-.1-.1q0-.3.2-.8l.1-1q-.2-.4-1.1-.4l-1-.2v-.1l.6-.2q.6 0 1-.4l.2-1.1.2-.9 1.2 1.5q.7-.1 1.2-.5l1.2-.5-.5 1.6-.3.5-.4.9q.1.3.5.4l.4.2zM14 18.9l2.1.3 2.7.5q.2.9 0 1.8l-.1 1.4-.9-1.2-.2-.3h-.2q-.4 0-.3.6v.3l-.4 1.5-2-1q-1.5-.6-2.7-1.3l-1.3-.9-1-.7-.7-.4-1.2-.7h1.2l.3-.3q.6-.2 1.3-.2 1.2 0 2.4.4zm-5.5 1 1.6 1 1.3 1 2.3 1.2 2.5 1.3-.4.2h-.2l-.2.2q-.5 0-1 .4-.1 0-.2.2 0 .3.2.3l1 .2.8.2a25 25 0 0 1-4 2h-.2l-1-1.6q-.7-.7-1.2-1.6c-1.1-1.7-2.6-4-3.5-5.8v-.2zm10.8 3.6v-2.2zm1.7 2.1.4-1q.7-1.3.6-1.7t-.4-.4l-2.3.9.2-3.6h.8l1.4.2.9.2q1.5.3 3 .2l2.3.2.8.2.6.2 1 .1a6 6 0 0 1 2.7.8l1 .5-3.8 1.3zM4.5 18.1H2.8l2-.9V17l-.2-.3v-1q.3 0 .2.4l.2.1 1.2-.4 1.4-.5L6.3 17q.5.7 1 .9l.5.2-1 .2-.5-.2-.6-.1-.5.1v.6q.3.2.2.3L5 20.3l-.1-.9zm.6 3.9q.3-.1.4-.4l.2-.9.2-1.2 5.7 9h-.3l-1.7.8q-1.4.9-2.2 1l-.4.1H5.6l-.1-.2L5 29v-.6l-.2-.6-.2-.2h-.1c-.1-.3.4-4.8.6-5.6M5.6 32q0 .6.3 1.1l.3 1L5 32.9l-.4-.3q-.3 0-.4.3l-.2.1q-.7.5-1.3.9l.5-1.8-.2-.1q-.7-.2-1.2-.7H2l.6.1.5.2.2-.1.5-1 .5-1.4.5 1.1.3 1h.3l.3-.1.1-.1L7 31v.2zm1 .1 1-.5.8-.5q.3-.2.2-.4v-.1l-.2-.1 2.7-1.4.9-.2 6.8 10.2zm6-3.5 4.2-2h.3l-.3 1-.3 1q0 0 .2.3l.3.1h.2l.2-.3.4-.3.6-.3.6-.2.4 1.7v1.8l-.1 1.3v2q.2 2.1 0 4v.1zM23 40.8h1l-.3.4-.5.2-.4.3h-.2l-.5.4v.1q.5.3.6.8l.2.3q-.3-.1-.8-.5l-1-.5H21L19.3 44q.1-.6.4-1h.2l.2-.3v-.5q-.3-.2-.5-.2h-.3c-.3-.2-1-.7-1.1-1h1.1l.6.1.5-.1.8-2.3.2.8q.1 1 .5 1.3H23m-3.2.2h.1m14.3-17.3-8.6 11.6-1 1.5-2.1 2.8-.3.2-.3-1.2q-.1-1.2-.4-1.3l-.2-.1H21l-1 2.4v-5.9l-.2-5.7 1.8.1.2.1.7.1h.3V28l-.4-.4-.3-.2-.8-1.1L27 25l1.2-.2 2-.5 1.1-.3c1-.4 2.6-.9 3-.9h.1q0 .3-.3.5m4.2-2.1-.4.3-.8.7q.1.4.4.3h.2l.6 1.4-1.8-1.2q-.4 0-.4.3v.1l-1.2.9q0-.8.4-1.4h.1q.3-.2.2-.5-.3-.5-1.2-.7-.8 0-1.1-.5h1l.7.2.5-.1q0-1.4.5-2.4c.2.3.8 1.4.9 1.9v.1l-.1.2h.2l1.8-.2zm-19 1.9.2-2.2zm1.8 3.9zm1.5.9h-.1m.3 15zm12.9-25.5"})})}const bn={send:"Send",clear:"Clear prompt",suggestions:"Suggestions",history:"History",historyEmpty:"No earlier prompts yet",startVoice:"Talk",stopVoice:"Stop listening",addImages:"Add images",removeImage:"Remove"};function hn({onSubmit:n,value:t,onValueChange:e,placeholder:r="Ask about anything",appearance:a,colorScheme:o,radius:i,glow:c,suggestions:s,suggestionsAlign:l,history:d,onVoice:u,acceptImages:m,poweredBy:p=!0,labels:h,sendIcon:f,actions:w,font:_,loading:q,disabled:I,autoFocus:S,className:C="",style:L,children:E,sendLabel:T,tint:z}){const[N,R]=y(""),M=t??N,{ref:A,isMultiline:O}=function(n){const t=x(null),[e,r]=y(!1);return v(()=>{const n=t.current;if(!n||"undefined"==typeof ResizeObserver)return;const e=new ResizeObserver(()=>{r(n.clientHeight>1.5*Number.parseFloat(getComputedStyle(n).lineHeight))});return e.observe(n),()=>{e.disconnect()}},[]),v(()=>{const n=t.current;!n||"undefined"!=typeof CSS&&CSS.supports("field-sizing","content")||(n.style.height="auto",n.style.height=`${n.scrollHeight}px`)},[n]),{ref:t,isMultiline:e}}(M),{ref:D,isOpen:V,setIsOpen:U}=function(){const n=x(null),[t,e]=y(!1);return v(()=>{if(!t)return;const r=t=>{t.target instanceof Node&&!n.current?.contains(t.target)&&e(!1)};return document.addEventListener("pointerdown",r),()=>{document.removeEventListener("pointerdown",r)}},[t]),{ref:n,isOpen:t,setIsOpen:e}}(),{picked:j,add:H,remove:P,clear:B}=function(){const[n,t]=y([]),e=x(new Set);v(()=>{const n=e.current;return()=>{for(const t of n)URL.revokeObjectURL(t);n.clear()}},[]);const r=n=>{URL.revokeObjectURL(n),e.current.delete(n)};return{picked:n,add(n){const r=n.map(n=>({file:n,url:URL.createObjectURL(n)}));for(const{url:n}of r)e.current.add(n);t(n=>[...n,...r])},remove(n){r(n),t(t=>t.filter(t=>t.url!==n))},clear(){for(const{url:t}of n)r(t);t([])}}}(),F=k(),$=function(n,t){return{...bn,...void 0!==t&&{send:t},...n}}(h,T),K=function({history:n,onVoice:t,acceptImages:e}){return void 0!==n||void 0!==t||!0===e?"tools":"compact"}({history:d,onVoice:u,acceptImages:m}),G=n=>{R(n),e?.(n)},Q=M.trim(),J=function(n,t,e,r){return(""!==n||t.length>0)&&!e&&!r}(Q,j,q,I),W=()=>{J&&(n(Q,j.map(n=>n.file)),G(""),B(),U(!1))},X=n=>{n.preventDefault(),W()},Y=n=>{G(n),U(!1),A.current?.focus()};if(E)return g(fn,{className:C,loading:q,poweredBy:p,style:Rn({colorScheme:o,radius:i,glow:c,paint:z,font:_,style:L}),onSubmit:X,children:E({fieldProps:{ref:A,value:M,placeholder:r,"aria-label":r,enterKeyHint:"send",rows:1,disabled:I,autoFocus:S,onChange(n){G(n.target.value)},onKeyDown:Nn},value:M,setValue:G,fill:Y,canSubmit:J,submit:W,images:j,addImages:H,removeImage:P})});return b("div",{ref:D,className:`cm-bar ${C}`.trimEnd(),"data-appearance":a,"data-layout":K,"data-multiline":O||void 0,"data-loading":!0===q||void 0,style:Rn({colorScheme:o,radius:i,glow:c,paint:z,font:_,style:L}),onKeyDown:n=>{V&&"Escape"===n.key&&(U(!1),A.current?.focus())},children:[g("style",{children:Mn}),g(xn,{suggestions:V?void 0:s,align:l,label:$.suggestions,disabled:I,onPick:Y}),b("div",{className:"cm-bar-shell",children:[g(yn,{glow:c,paint:z,loading:q}),g(wn,{id:F,isOpen:V,entries:d,labels:$,onPick:Y}),b("form",{className:"cm-bar-field","aria-busy":q,onSubmit:X,children:[g(kn,{picked:j,label:$.removeImage,onRemove:P}),b("div",{className:"cm-bar-row",children:["compact"===K&&g(gn,{className:"cm-bar-mark"}),g("textarea",{ref:A,className:"cm-bar-input",rows:1,value:M,placeholder:r,"aria-label":r,enterKeyHint:"send",disabled:I,autoFocus:S,onChange:n=>{G(n.target.value)},onKeyDown:Nn}),g(_n,{isShown:""!==M,label:$.clear,disabled:I,onClear:()=>{Y("")}}),"compact"===K&&w,g("button",{type:"submit",className:"cm-bar-send",disabled:!J,"aria-label":$.send,children:f??g(Cn,{})})]}),"tools"===K&&b("div",{className:"cm-bar-footer",children:[b("div",{className:"cm-bar-tools",children:[m&&g(In,{label:$.addImages,disabled:I,onAdd:H}),d&&g(qn,{label:$.history,disabled:I,"aria-expanded":V,"aria-controls":F,onClick:()=>{U(n=>!n)},children:g(Tn,{})}),u&&g(Sn,{labels:$,disabled:I,loading:q,onVoice:u}),w]}),g(vn,{})]})]})]}),"compact"===K&&p&&g(vn,{})]})}function fn({className:n,loading:t,poweredBy:e,style:r,onSubmit:a,children:o}){return b("div",{className:`cm-bar ${n}`.trimEnd(),"data-layout":"custom","data-loading":!0===t||void 0,style:r,children:[g("style",{children:Mn}),b("form",{className:"cm-bar-custom","aria-busy":t,onSubmit:a,children:[g(gn,{className:"cm-bar-mark"}),o]}),e&&g(vn,{})]})}function vn(){return g("span",{className:"cm-bar-powered-by",children:"Powered by Callimacus"})}function yn({glow:n,paint:t,loading:e}){return void 0!==n&&!1!==n||void 0!==t||!0===e?g("span",{className:"cm-bar-glow","aria-hidden":"true"}):null}function xn({suggestions:n=[],align:t,label:e,disabled:r,onPick:a}){return 0===n.length?null:g("div",{className:"cm-bar-suggestions",role:"group","aria-label":e,"data-align":t,children:n.map((n,t)=>g("button",{type:"button",className:"cm-bar-suggestion",disabled:r,onClick:()=>{a(n)},children:n},t))})}function wn({id:n,isOpen:t,entries:e=[],labels:r,onPick:a}){return t?g("div",{id:n,className:"cm-bar-history",role:"group","aria-label":r.history,children:0===e.length?g("p",{className:"cm-bar-history-empty",children:r.historyEmpty}):g("ul",{children:e.map((n,t)=>g("li",{children:g("button",{type:"button",className:"cm-bar-history-item",onClick:()=>{a(n)},children:n})},t))})}):null}function kn({picked:n,label:t,onRemove:e}){return 0===n.length?null:g("ul",{className:"cm-bar-images",children:n.map(({file:n,url:r})=>b("li",{className:"cm-bar-image",children:[g("img",{src:r,alt:n.name}),g("button",{type:"button","aria-label":`${t} ${n.name}`,title:`${t} ${n.name}`,onClick:()=>{e(r)},children:g(Ln,{})})]},r))})}function _n({isShown:n,label:t,disabled:e,onClear:r}){return n?g("button",{type:"button",className:"cm-bar-clear","aria-label":t,title:t,disabled:e,onClick:r,children:g(Ln,{})}):null}function qn({label:n,children:t,...e}){return g("button",{type:"button",className:"cm-bar-tool","aria-label":n,title:n,...e,children:t})}function In({label:n,disabled:t,onAdd:e}){const r=x(null);return b(h,{children:[g(qn,{label:n,disabled:t,onClick:()=>{r.current?.click()},children:g(En,{})}),g("input",{ref:r,hidden:!0,type:"file",accept:"image/*",multiple:!0,onChange:n=>{e([...n.target.files??[]]),n.target.value=""}})]})}function Sn({labels:n,disabled:t,loading:e,onVoice:r}){const a=mn({onRecordingComplete:r}),o="recording"===a.state,i=o?n.stopVoice:n.startVoice,c=(!0===t||!0===e)&&!o;return g(qn,{label:a.error??i,disabled:c,"aria-pressed":o,onClick:()=>{o?a.stopRecording():a.startRecording()},children:g(zn,{})})}function Cn(){return g("svg",{viewBox:"0 0 10 11",fill:"none",stroke:"currentColor",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",children:g("path",{d:"M.5 4.67 4.88.5m0 0 4.37 4.17M4.88.5v10"})})}function Ln(){return g("svg",{viewBox:"0 0 10 10",fill:"none",stroke:"currentColor",strokeLinecap:"round","aria-hidden":"true",children:g("path",{d:"M.5.5l9 9m0-9-9 9"})})}function En(){return g("svg",{viewBox:"0 0 16 16",fill:"none",stroke:"currentColor",strokeLinecap:"round","aria-hidden":"true",children:g("path",{d:"M8 2.5v11M2.5 8h11"})})}function Tn(){return g("svg",{viewBox:"0 0 16 16",fill:"none",stroke:"currentColor",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",children:g("path",{d:"M8 4.5C6.9 3.6 5.3 3.2 2.5 3.2v8.9c2.8 0 4.4.4 5.5 1.4 1.1-1 2.7-1.4 5.5-1.4V3.2c-2.8 0-4.4.4-5.5 1.3Zm0 0v9"})})}function zn(){return b("svg",{viewBox:"0 0 16 16",fill:"none",stroke:"currentColor",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",children:[g("rect",{x:"6",y:"2.5",width:"4",height:"7",rx:"2"}),g("path",{d:"M3.5 8a4.5 4.5 0 0 0 9 0M8 12.5v1"})]})}function Nn(n){"Enter"!==n.key||n.shiftKey||n.nativeEvent.isComposing||(n.preventDefault(),n.currentTarget.form?.requestSubmit())}function Rn({colorScheme:n,radius:t,glow:e,paint:r,font:a,style:o}){return{colorScheme:"auto"===n?void 0:n,"--cm-radius":"pill"===t?"999px":void 0===t?void 0:`${t}px`,"--cm-glow-colors":"object"==typeof e&&e.length>0?[...e,e[0]].join(", "):void 0,"--cm-tint":r,"--cm-font":a,...o}}const Mn="\n.cm-bar {\n\t--_ink: var(--cm-fg, light-dark(#212121, #fff));\n\t--_fill: var(--cm-bg, light-dark(#fff, #404040));\n\t--_edge: var(--cm-border-color, light-dark(#f2f2f2, rgb(242 242 242 / .3)));\n\t--_button-fill: var(--_fill);\n\t--_button-edge: var(--cm-border-color, light-dark(#f2f2f2, rgb(136 136 136 / .3)));\n\t--_chip-edge: var(--cm-border-color, light-dark(#f2f2f2, rgb(242 242 242 / .3)));\n\t--_blur: none;\n\t--_radius: var(--cm-radius, 999px);\n\t--_corner: var(--_radius);\n\t--_size: var(--cm-size, 34px);\n\t--_pad: var(--cm-padding, 12px);\n\t--_glow-colors: var(--cm-glow-colors, #d698c7, #ffc691, #a8dfdb, #c1b1f0, #d698c7);\n\tbox-sizing: border-box;\n\tdisplay: flex;\n\tflex-direction: column;\n\twidth: 100%;\n\tfont-family: var(--cm-font, inherit);\n\tfont-size: var(--cm-font-size, 1rem);\n\tline-height: 1.25;\n}\n\n/* Figma \"Transparent\": the fill at 64% over the page, blurred. */\n.cm-bar[data-appearance='glass'] {\n\t--_fill: var(--cm-bg, light-dark(rgb(255 255 255 / .64), rgb(64 64 64 / .64)));\n\t--_edge: var(--cm-border-color, rgb(242 242 242 / .3));\n\t--_button-edge: var(--cm-border-color, light-dark(rgb(242 242 242 / .3), rgb(136 136 136 / .3)));\n\t--_chip-edge: var(--cm-border-color, light-dark(rgb(242 242 242 / .64), rgb(242 242 242 / .3)));\n\t--_blur: blur(var(--cm-blur, 7.3px));\n}\n\n/* The bar with tools is two rows tall, too tall for a pill: the Figma stops it at 16px. */\n.cm-bar[data-layout='tools'] {\n\t--_radius: min(var(--cm-radius, 999px), 16px);\n}\n\n/* Over the bar with tools, white glass keeps a white edge and a lighter send button. */\n.cm-bar[data-appearance='glass'][data-layout='tools'] {\n\t--_edge: var(--cm-border-color, light-dark(#f2f2f2, rgb(242 242 242 / .3)));\n\t--_button-fill: light-dark(rgb(255 255 255 / .3), rgb(64 64 64 / .64));\n\t--_button-edge: var(--cm-border-color, light-dark(#f2f2f2, rgb(136 136 136 / .3)));\n}\n\n/* A wrapped prompt is too tall for a pill. */\n.cm-bar[data-multiline] {\n\t--_corner: min(var(--_radius), 24px);\n}\n\n.cm-bar-suggestions {\n\t/* Above the glow, which spills over the bar's top edge. */\n\tposition: relative;\n\tz-index: 1;\n\tdisplay: flex;\n\tflex-wrap: wrap;\n\tjustify-content: center;\n\tgap: 4px;\n\tmargin-bottom: 4px;\n}\n\n.cm-bar[data-layout='tools'] .cm-bar-suggestions {\n\tjustify-content: flex-start;\n\tmargin-bottom: 5px;\n}\n\n.cm-bar .cm-bar-suggestions[data-align='start'] {\n\tjustify-content: flex-start;\n}\n\n.cm-bar .cm-bar-suggestions[data-align='center'] {\n\tjustify-content: center;\n}\n\n.cm-bar-suggestion {\n\tbox-sizing: border-box;\n\theight: 32px;\n\tmargin: 0;\n\tpadding: 0 16px;\n\tborder: 1px solid var(--_chip-edge);\n\tborder-radius: calc(var(--_radius) / 2);\n\tbackground: var(--_fill);\n\t-webkit-backdrop-filter: var(--_blur);\n\tbackdrop-filter: var(--_blur);\n\tcolor: var(--_ink);\n\tfont: inherit;\n\tfont-size: .875em;\n\tline-height: 1;\n\twhite-space: nowrap;\n\tcursor: pointer;\n\ttransition: translate .16s, box-shadow .16s;\n}\n\n.cm-bar-suggestion:enabled:hover {\n\ttranslate: 0 -1px;\n\tbox-shadow: 0 2px 6px rgb(0 0 0 / .08);\n}\n\n.cm-bar-suggestion:disabled {\n\tcursor: default;\n\topacity: .5;\n}\n\n.cm-bar-shell {\n\tposition: relative;\n}\n\n/* Figma draws the glow as a 4px gradient stroke centred on the bar's edge, under a 10px blur.\nThe blur sits on the outer box so the ring's mask doesn't clip it. */\n.cm-bar-glow {\n\tposition: absolute;\n\tinset: 0;\n\topacity: var(--cm-glow, 1);\n\tfilter: blur(5px);\n\tpointer-events: none;\n}\n\n.cm-bar-glow::before {\n\tcontent: '';\n\tposition: absolute;\n\tinset: -2px;\n\tpadding: 4px;\n\tborder-radius: calc(var(--_corner) + 2px);\n\tbackground: var(--cm-tint, conic-gradient(from var(--cm-bar-angle), var(--_glow-colors)));\n\t-webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);\n\t-webkit-mask-composite: xor;\n\tmask-composite: exclude;\n\tanimation: cm-bar-turn 6s linear infinite;\n}\n\n.cm-bar[data-loading] .cm-bar-glow::before {\n\tanimation-duration: 2s;\n}\n\n.cm-bar-field {\n\tposition: relative;\n\tbox-sizing: border-box;\n\tdisplay: flex;\n\tflex-direction: column;\n\tmargin: 0;\n\tpadding: var(--_pad) var(--_pad) var(--_pad) calc(var(--_pad) + 4px);\n\tborder: var(--cm-border-width, 1px) solid var(--_edge);\n\tborder-radius: var(--_corner);\n\tbackground: var(--_fill);\n\t-webkit-backdrop-filter: var(--_blur);\n\tbackdrop-filter: var(--_blur);\n\tbox-shadow: var(--cm-shadow, 0 4px 4px rgb(0 0 0 / .12));\n\tcolor: var(--_ink);\n\ttransition: border-radius .2s;\n}\n\n.cm-bar[data-layout='tools'] .cm-bar-field {\n\tgap: 8px;\n\tpadding-block: calc(var(--_pad) - 4px);\n}\n\n.cm-bar-field:has(.cm-bar-input:disabled) {\n\topacity: .5;\n}\n\n.cm-bar-row {\n\tdisplay: flex;\n\talign-items: center;\n\tgap: 12px;\n}\n\n.cm-bar[data-layout='tools'] .cm-bar-row {\n\tpadding-bottom: 8px;\n\tborder-bottom: 1px solid rgb(33 33 33 / .1);\n}\n\n/* A wrapped prompt keeps the mark and the buttons on its last line. */\n.cm-bar[data-multiline] .cm-bar-row {\n\talign-items: flex-end;\n}\n\n/* The mark is the one fixed part of the compact bar: color and size are themable, hiding it is not. */\n.cm-bar-mark {\n\tflex: none;\n\tdisplay: block !important;\n\tvisibility: visible !important;\n\topacity: 1 !important;\n\twidth: auto;\n\theight: calc(var(--_size) * .8);\n\tmin-width: 1.1rem !important;\n\tmin-height: 1.25rem !important;\n\tcolor: var(--cm-mark-color, currentColor);\n}\n\n.cm-bar[data-loading] .cm-bar-mark {\n\tanimation: cm-bar-twinkle 1.5s ease-in-out infinite;\n}\n\n.cm-bar-input {\n\tflex: 1;\n\tbox-sizing: border-box;\n\tmin-width: 0;\n\tmin-height: 1lh;\n\tmax-height: 6lh;\n\tmargin: max(0px, calc((var(--_size) - 1lh) / 2)) 0;\n\tpadding: 0;\n\tborder: 0;\n\tborder-radius: 0;\n\toutline: 0;\n\tbackground: none;\n\tcolor: inherit;\n\tfont: inherit;\n\tresize: none;\n\tfield-sizing: content;\n}\n\n.cm-bar[data-multiline] .cm-bar-input {\n\tmargin-block: 0;\n}\n\n.cm-bar-input::placeholder {\n\tcolor: inherit;\n\topacity: .2;\n}\n\n.cm-bar-clear {\n\tflex: none;\n\tdisplay: grid;\n\tplace-items: center;\n\twidth: 20px;\n\theight: var(--_size);\n\tmargin: 0 -4px 0 0;\n\tpadding: 0;\n\tborder: 0;\n\tbackground: none;\n\tcolor: inherit;\n\tcursor: pointer;\n\topacity: .85;\n\ttransition: opacity .16s;\n}\n\n.cm-bar-clear:hover {\n\topacity: 1;\n}\n\n.cm-bar-clear svg {\n\twidth: 10px;\n\theight: 10px;\n}\n\n.cm-bar-send {\n\tflex: none;\n\tbox-sizing: border-box;\n\tdisplay: grid;\n\tplace-items: center;\n\twidth: var(--_size);\n\theight: var(--_size);\n\tmargin: 0;\n\tpadding: 0;\n\tborder: 1px solid var(--_button-edge);\n\tborder-radius: calc(var(--_radius) / 2);\n\tbackground: var(--cm-button-bg, var(--_button-fill));\n\tcolor: var(--cm-button-fg, inherit);\n\tcursor: pointer;\n\ttransition: translate .16s, background-color .16s;\n}\n\n.cm-bar-send:enabled:hover {\n\ttranslate: 0 -1px;\n}\n\n.cm-bar-send:disabled {\n\tcursor: default;\n}\n\n.cm-bar-send:disabled > * {\n\topacity: .2;\n}\n\n.cm-bar-send svg {\n\twidth: 30%;\n\theight: auto;\n}\n\n.cm-bar-footer {\n\tdisplay: flex;\n\talign-items: center;\n\tjustify-content: space-between;\n\tgap: 8px;\n\theight: 20px;\n}\n\n/* The icons sit on one 16px grid; pulling the row in by the plus's own inset puts its stroke on the text's edge. */\n.cm-bar-tools {\n\tdisplay: flex;\n\talign-items: center;\n\tgap: 4px;\n\tmargin-left: -6px;\n}\n\n.cm-bar-tool {\n\tdisplay: grid;\n\tplace-items: center;\n\twidth: 24px;\n\theight: 20px;\n\tmargin: 0;\n\tpadding: 0;\n\tborder: 0;\n\tborder-radius: 6px;\n\tbackground: none;\n\tcolor: var(--cm-tool-color, light-dark(#6c6c6c, #fff));\n\tcursor: pointer;\n}\n\n.cm-bar-tool svg {\n\tdisplay: block;\n\twidth: 16px;\n\theight: 16px;\n}\n\n.cm-bar-tool:enabled:hover,\n.cm-bar-tool[aria-expanded='true'] {\n\tbackground: rgb(127 127 127 / .14);\n}\n\n.cm-bar-tool:disabled {\n\tcursor: default;\n\topacity: .5;\n}\n\n.cm-bar-tool[aria-pressed='true'] {\n\tcolor: #e5484d;\n\tanimation: cm-bar-listening 1.2s ease-in-out infinite;\n}\n\n.cm-bar-images {\n\tdisplay: flex;\n\tflex-wrap: wrap;\n\tgap: 6px;\n\tmargin: 0;\n\tpadding: 0;\n\tlist-style: none;\n}\n\n.cm-bar-image {\n\tposition: relative;\n\twidth: 44px;\n\theight: 44px;\n}\n\n.cm-bar-image img {\n\tdisplay: block;\n\tbox-sizing: border-box;\n\twidth: 100%;\n\theight: 100%;\n\tborder: 1px solid var(--_edge);\n\tborder-radius: 6px;\n\tobject-fit: cover;\n}\n\n.cm-bar-image button {\n\tposition: absolute;\n\ttop: -5px;\n\tright: -5px;\n\tdisplay: grid;\n\tplace-items: center;\n\twidth: 16px;\n\theight: 16px;\n\tmargin: 0;\n\tpadding: 0;\n\tborder: 0;\n\tborder-radius: 50%;\n\tbackground: #212121;\n\tcolor: #fff;\n\tcursor: pointer;\n}\n\n.cm-bar-image svg {\n\twidth: 7px;\n\theight: 7px;\n}\n\n.cm-bar-history {\n\tposition: absolute;\n\tz-index: 2;\n\tleft: 0;\n\tright: 0;\n\tbottom: calc(100% + 8px);\n\tbox-sizing: border-box;\n\tmax-height: 220px;\n\toverflow-y: auto;\n\tpadding: 6px;\n\tborder: 1px solid var(--_edge);\n\tborder-radius: 12px;\n\tbackground: var(--_fill);\n\t-webkit-backdrop-filter: blur(14px);\n\tbackdrop-filter: blur(14px);\n\tbox-shadow: 0 8px 24px rgb(0 0 0 / .12);\n\tcolor: var(--_ink);\n}\n\n.cm-bar[data-appearance='glass'] .cm-bar-history {\n\tbackground: var(--cm-bg, light-dark(rgb(255 255 255 / .64), rgb(48 48 48 / .86)));\n}\n\n.cm-bar-history ul {\n\tmargin: 0;\n\tpadding: 0;\n\tlist-style: none;\n}\n\n.cm-bar-history-item {\n\tdisplay: block;\n\tbox-sizing: border-box;\n\twidth: 100%;\n\tmargin: 0;\n\tpadding: 8px 10px;\n\tborder: 0;\n\tborder-radius: 8px;\n\tbackground: none;\n\tcolor: inherit;\n\tfont: inherit;\n\tfont-size: .875em;\n\tline-height: 1.3;\n\ttext-align: start;\n\tcursor: pointer;\n}\n\n.cm-bar-history-item:hover,\n.cm-bar-history-item:focus-visible {\n\tbackground: rgb(127 127 127 / .14);\n\toutline: none;\n}\n\n.cm-bar-history-empty {\n\tmargin: 0;\n\tpadding: 8px 10px;\n\tfont-size: .8125em;\n\topacity: .5;\n}\n\n.cm-bar-suggestion:focus-visible,\n.cm-bar-clear:focus-visible,\n.cm-bar-send:focus-visible,\n.cm-bar-tool:focus-visible,\n.cm-bar-image button:focus-visible {\n\toutline: 2px solid light-dark(rgb(33 33 33 / .4), rgb(255 255 255 / .6));\n\toutline-offset: 2px;\n}\n\n.cm-bar-powered-by {\n\tmargin-top: 10px;\n\tcolor: var(--cm-powered-by-color, inherit);\n\tfont-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;\n\tfont-size: .5em;\n\tline-height: 1;\n\ttext-align: center;\n\ttext-transform: uppercase;\n\twhite-space: nowrap;\n}\n\n/* In the tools row it takes the bar's ink, trimmed to its capitals so it lines up with the icons. */\n.cm-bar-footer .cm-bar-powered-by {\n\tmargin: 0;\n\ttext-box: trim-both cap alphabetic;\n}\n\n/* The colours travel round the edge: a conic gradient whose start angle turns. */\n@property --cm-bar-angle {\n\tsyntax: '<angle>';\n\tinherits: false;\n\tinitial-value: 0deg;\n}\n\n@keyframes cm-bar-turn {\n\tto {\n\t\t--cm-bar-angle: 360deg;\n\t}\n}\n\n/* Transform only: the mark's opacity is pinned to 1. */\n@keyframes cm-bar-twinkle {\n\t50% {\n\t\ttransform: scale(.85) rotate(-10deg);\n\t}\n}\n\n@keyframes cm-bar-listening {\n\t50% {\n\t\tbackground: rgb(229 72 77 / .14);\n\t}\n}\n\n@media (prefers-reduced-motion: reduce) {\n\t.cm-bar *,\n\t.cm-bar *::before {\n\t\tanimation: none !important;\n\t\ttransition: none !important;\n\t}\n}\n";export{hn as CallimacusBar,gn as CallimacusMark,j as runCartCommand,I as thamyrApi,cn as useActions,Y as useApi,_ as useCallimacusStore,X as useCart,G as useConnection,B as useInitThamyr,tn as useMapPage,J as useOnConnectionChange,W as useOnError,Q as useOnResponse,A as useShopifyCart,H as useShopifyCartNotices,nn as useSitemap,Z as useSkesis,sn as useSubmission,K as useSuggestions,F as useThamyr,pn as useTtsAudio,mn as useVoiceRecorder};
|
|
8
|
+
import{createPageStorage as t,createWooCommerceCart as n,webLocks as e,leaseLock as r,createContractClient as a,isVariantGid as o,createShopifyCart as i,cartSettingsFor as c,readShopifySettings as s,ThamyrResponseType as l,UserInteractionType as d,interactionRound as u,landingRound as m,parseMapPath as p,resolveMapPage as g,randomUuid as b,deliverResultOf as h}from"@callimacus/thamyr-core";export{ACTION_TYPES,ADD_TO_CART_RESULT_BLOCK,CallimacusEvent,ChapterStatus,ClientEvents,DELIVER_RESULT_BLOCK,GalleryMode,LANDING_VALUE_MAX_LENGTH,SLInputEventType,STOREFRONT_API_VERSION,ServerEvents,ThamyrHttpError,ThamyrResponseType,UserInteractionType,actionOf,addToCartResultOf,applyBlockPatch,blockKeyOf,callimacusService,clearIntentSessionId,deliverResultOf,ensureIntentSessionId,extractTtsAudio,fieldsOf,getIntentSessionId,initIntent,interactionRound,isSetProduct,landingRound,logger,parseMapPath,receptorsOf,resolveMapPage,setConsent,setDebug,setDebugPanel,setGeo,setIntentSessionMaxAge,transformImageUrl}from"@callimacus/thamyr-core";import{jsx as f,jsxs as v,Fragment as y}from"react/jsx-runtime";import{useMemo as x,useEffect as w,useState as k,useRef as _,useCallback as q,useId as I}from"react";import{w as S,u as C,t as L,m as T,a as E,b as z,c as N}from"./chunks/api-Dk2hENdd.js";import"@callimacus/thamyr";let R;function M(){if(void 0!==R)return R;const o=t(),i=n({async start(){const t=await S(),{endpoint:n,accessToken:e}=t.sitemap.config,{data:r,response:o}=await a({endpoint:n,accessToken:e}).post({url:"/woocommerce/cart"});return 200===o?.status?r:void 0},storage:o,lock:e()??r(o)});return"undefined"!=typeof window&&(R=i),i}function A(){return x(()=>M(),[])}const O=new WeakMap;const D=new Map;let V;function U(n){let e=D.get(n);if(void 0===e){const r="undefined"!=typeof window;e=i({settings:async()=>c(await async function(){const t=await S();let n=O.get(t);if(void 0===n){const{endpoint:e,accessToken:r}=t.sitemap.config;n=s(a({endpoint:e,accessToken:r}),C.getState()._shopify),O.set(t,n)}return n}(),n??function(){const t="undefined"==typeof document?"":document.documentElement.lang;return""!==t?t:"undefined"==typeof navigator?void 0:navigator.language}()),...r&&{storage:V??=t()}}),r&&D.set(n,e)}return e}const j=()=>void 0!==C.getState()._shopify;function H(t={}){const{locale:n}=t;return x(()=>U(n),[n])}const P="callimacus:shopify-cart-commands",B=new Set;function F(t){const n=function(){try{const t=JSON.parse(localStorage.getItem(P)??"[]");return Array.isArray(t)?t.filter(t=>"string"==typeof t):[]}catch{return}}();if(n?.includes(t)||B.has(t))return!1;try{localStorage.setItem(P,JSON.stringify([...n??[],t].slice(-50)))}catch{B.add(t)}return!0}const $=new Set(["cart_disabled","cart_unavailable"]);async function K(t){const n=function(t){return"shopify-add"===t.command&&j()&&o(t.variantId)?async n=>U().addItem(t.variantId,n):"woocommerce-add"===t.command&&C.getState()._woocommerce?async n=>M().addItem(t.variantId,n):void 0}(t);if(void 0===n||!F(t.chapterId))return;const e=Math.trunc(t.quantity),r=Math.min(Math.max(Number.isFinite(e)?e:1,1),10),a=await n(r),i=function(t,n,e){const r=`${n>1?`${n} × `:""}${t.item.name}${t.item.options.length>0?` (${t.item.options.map(t=>t.value).join(", ")})`:""}`,a={id:t.chapterId,item:t.item,quantity:n};return void 0===e.error?{...a,outcome:"added",message:e.warnings?.[0]?.message??`${r} is in your bag.`}:"refused"===e.error.code?{...a,outcome:"refused",message:e.error.message}:$.has(e.error.code)?{...a,outcome:"unavailable",message:"The bag is not available on this site right now."}:{...a,outcome:"failed",message:e.error.message}}(t,r,a);C.getState()._addCartNotice(i);try{const n=await S();await n.analytics.trackEvent({storyId:t.storyId,eventName:"woocommerce-add"===t.command?"woocommerce_cart_add":"shopify_cart_add",payload:{chapterId:t.chapterId,variantId:t.variantId,quantity:r,outcome:i.outcome,...a.error&&{code:a.error.code}}})}catch{}return i}function G(){return C(t=>t.cartNotices)}function Q(t,n){const e=_(n);e.current=n,w(()=>t(t=>{e.current(t)}),[t])}function J(t){const n=C(t=>t.init),e=C(t=>t.reset);E(),w(()=>{z(),n(t);const r=C.getState().addResponseListener(t=>{t.type===l.CART_COMMAND&&K(t.data)});return()=>{r(),e(),T()}},[n,e,t.clientId,t.endpoint])}function W(){const t=C(t=>t.messages),n=C(t=>t.sendEvent),e=C(t=>t.sendAudio),r=x(()=>({openLanding(t,e={}){n(d.CREATE_ROUND,m(t,e))},sendInteraction(t,e={}){n(d.CREATE_ROUND,u(t,e))},refresh(t,e,r={}){n(d.CREATE_ROUND,u(e,{...r,block:t}))}}),[n]);return{history:t,sendEvent:n,sendAudio:e,...r}}const X={suggestions:[],loading:!1};function Y(t,n={}){const{storyId:e,language:r,debounceMs:a=200}=n,o=C(t=>"connected"===t.connectionStatus),[i,c]=k(X),[s,l]=k(o);return s!==o&&(l(o),o||c(X)),w(()=>{if(!o)return;let n=!1;const i=setTimeout(()=>{c(t=>({...t,loading:!0}));(C.getState()._thamyr?.suggest(t,{storyId:e,language:r})??Promise.resolve(X)).then(({suggestions:t})=>{n||c({suggestions:t,loading:!1})}).catch(()=>{n||c(X)})},""===t?0:a);return()=>{n=!0,clearTimeout(i)}},[t,e,r,a,o]),o?i:X}function Z(){return{status:C(t=>t.connectionStatus)}}function tt(t){Q(C(t=>t.addResponseListener),t)}function nt(t){Q(C(t=>t.addConnectionListener),t)}function et(t){Q(C(t=>t.addErrorListener),t)}function rt(){return x(()=>({getCart:async()=>(await S()).cart.getCart(),addItem:async t=>(await S()).cart.addItemToCart({productId:t}),removeItem:async t=>(await S()).cart.removeItemFromCart({productId:t}),updateQuantity:async(t,n)=>(await S()).cart.updateProductQuantity({productId:t,quantity:n})}),[])}function at(){return L}function ot(){return x(()=>({similar:async(t,n)=>(await S()).skesis.similar({anchorId:t,...n}),related:async(t,n)=>(await S()).skesis.related({anchorId:t,...n})}),[])}function it(){return x(()=>({getSitemap:async()=>(await S()).sitemap.getSitemap()}),[])}function ct(t){const[n,e]=k(),r=void 0!==p(t);w(()=>{if(!r)return;let n=!1;return g(L,t).then(r=>{n||e({pathname:t,page:r})}).catch(r=>{n||e({pathname:t,error:r instanceof Error?r:new Error(String(r))})}),()=>{n=!0}},[t,r]);const a=r&&n?.pathname===t?n:void 0;return{page:a?.page,loading:r&&void 0===a,error:a?.error}}const st=t=>({ok:!1,error:t});const lt={state:"idle"},dt=N(()=>({})),ut=new Map;function mt(){const t=C(t=>"connected"===t.connectionStatus),n=C(t=>t.storyId),e=C(t=>t.sendEvent),r=C(t=>t.addResponseListener),a=q(async(t,a={})=>{const o=a.storyId??n,i=t=>{try{return e(d.CREATE_ROUND,{...t,...void 0!==o&&{storyId:o}}),{ok:!0}}catch(t){return st(t)}};switch(t.type){case"link":return void 0===globalThis.location?st(new Error("[thamyr] a link action needs a browser")):(t.newTab?globalThis.open(t.url,"_blank","noopener"):globalThis.location.assign(t.url),{ok:!0});case"ask":return i({inputEvent:{type:"question",data:{value:t.value}}});case"interact":return i(u(t.id,{value:t.value,payload:t.payload,block:t.block}));case"cart":return async function(t){try{const{error:n}=await t;return void 0===n?{ok:!0}:st(n)}catch(t){return st(t)}}(S().then(async n=>j()?U().addItem(t.productId):C.getState()._woocommerce?M().addItem(t.productId):n.cart.addItemToCart({productId:t.productId})));case"submit":{const n=b();ut.set(t.form,n),dt.setState({[t.form]:{state:"sending"}});const e=i({...u(t.form,{payload:a.fields??{},submissionId:n}),...void 0!==globalThis.document&&{context:{title:(c=globalThis.document.title,c.replaceAll(/\p{Control}/gv,"").slice(0,500).replace(/\p{Surrogate}$/v,""))}}}),o=e.ok?await async function(t,n){return new Promise(e=>{let r=()=>{};const a=setTimeout(()=>{r(),e(st("timeout"))},3e4);r=n(n=>{if("chapter-event"!==n.type||"customInteraction"!==n.chapter.inputEvent?.type||n.chapter.inputEvent.data.submissionId!==t)return;const o=(n.chapter.blocks??[]).map(t=>h(t)).find(n=>n?.submissionId===t);void 0!==o&&(clearTimeout(a),r(),e({ok:!0,result:o}))})})}(n,r):e;return ut.get(t.form)===n&&dt.setState({[t.form]:o.ok?{state:"done",result:o.result}:lt}),o}}var c},[e,n,r]);return x(()=>({run:a,ready:t,storyId:n}),[a,t,n])}function pt(t){return dt(n=>n[t]??lt)}const gt=-45,bt=1800,ht=3e4;function ft({silenceThreshold:t=gt,silenceDuration:n=bt,maxDuration:e=ht,onRecordingComplete:r}){const[a,o]=k("idle"),[i,c]=k([]),[s,l]=k(void 0),d=_(void 0),u=_(void 0),m=_(void 0),p=_(void 0),g=_(0),b=_(0),h=_(void 0),f=_([]),v=_(!1),y=q(()=>{if(0!==g.current&&(cancelAnimationFrame(g.current),g.current=0),void 0!==h.current&&(clearTimeout(h.current),h.current=void 0),p.current){for(const t of p.current.getTracks())t.stop();p.current=void 0}"closed"!==u.current?.state&&u.current?.close(),u.current=void 0,m.current=void 0,d.current=void 0,v.current=!1},[]);w(()=>y,[y]);const x=q(()=>{v.current||(v.current=!0,"recording"===d.current?.state&&d.current.stop(),0!==g.current&&(cancelAnimationFrame(g.current),g.current=0),void 0!==h.current&&(clearTimeout(h.current),h.current=void 0))},[]),I=q(async()=>{l(void 0),f.current=[],v.current=!1;try{const a=await navigator.mediaDevices.getUserMedia({audio:{echoCancellation:!0,noiseSuppression:!0,sampleRate:16e3}});p.current=a;const i=new AudioContext({sampleRate:16e3});u.current=i;const s=i.createMediaStreamSource(a),l=i.createAnalyser();l.fftSize=256,l.smoothingTimeConstant=.7,s.connect(l),m.current=l;const w=MediaRecorder.isTypeSupported("audio/webm;codecs=opus")?"audio/webm;codecs=opus":"audio/webm",k=new MediaRecorder(a,{mimeType:w});d.current=k,k.addEventListener("dataavailable",t=>{t.data.size>0&&f.current.push(t.data)}),k.addEventListener("stop",()=>{o("processing");const t=new Blob(f.current,{type:w});y(),r(t)}),k.start(250),o("recording"),b.current=0,h.current=setTimeout(()=>{x()},e);const _=()=>{if(!m.current||v.current)return;const e=m.current.frequencyBinCount,r=new Uint8Array(e);m.current.getByteFrequencyData(r);const a=Math.floor(e/32),o=[];for(let t=0;t<32;t++){let n=0;for(let e=0;e<a;e++)n+=r[t*a+e];o.push(n/a/255)}c(o);let i=0;for(const t of r){const n=t/255;i+=n*n}const s=Math.sqrt(i/e);if((s>0?20*Math.log10(s):-100)<t){if(0===b.current)b.current=Date.now();else if(Date.now()-b.current>n)return void x()}else b.current=0;g.current=requestAnimationFrame(_)};_()}catch{l("Microphone access denied"),o("idle"),y()}},[t,n,e,r,x,y]),S=q(()=>{o("idle"),c([])},[]);return{state:a,audioLevels:i,startRecording:I,stopRecording:x,reset:S,error:s}}function vt(t){const n=_(void 0),[e,r]=k("idle"),[a,o]=k(void 0);w(()=>{const e=t?.audioUrl;if("undefined"==typeof Audio||void 0===e||""===e)return n.current=void 0,void r("idle");const a=new Audio(e);a.preload="none",n.current=a,r("idle"),o(void 0);const i=()=>{r("playing")},c=()=>{r("loading")},s=()=>{r(t=>"ended"===t?t:"paused")},l=()=>{r("ended")},d=()=>{o("Audio playback failed"),r("error")};return a.addEventListener("playing",i),a.addEventListener("waiting",c),a.addEventListener("pause",s),a.addEventListener("ended",l),a.addEventListener("error",d),()=>{a.pause(),a.removeEventListener("playing",i),a.removeEventListener("waiting",c),a.removeEventListener("pause",s),a.removeEventListener("ended",l),a.removeEventListener("error",d),a.src="",n.current=void 0}},[t?.audioUrl]);const i=q(async()=>{const t=n.current;if(t)try{o(void 0),r("loading"),await t.play()}catch{o("Audio playback failed"),r("error")}},[]),c=q(()=>{n.current?.pause()},[]),s=q(()=>{const t=n.current;t&&(t.pause(),t.currentTime=0,r("idle"))},[]),l=q(()=>{const t=n.current;t&&(t.paused?i():t.pause())},[i]);return{state:e,isPlaying:"playing"===e||"loading"===e,error:a,play:i,pause:c,toggle:l,stop:s}}function yt(t){return f("svg",{viewBox:"0 0 40 45",fill:"currentColor",role:"img","aria-label":"Callimacus",...t,children:f("path",{d:"M39.2 21.6q.8-.6.8-1 0-.2-.3-.2h-1.3l-.5.1h-.3c-.3-.2-.6-1-.9-1.5l-.5-1q-.2-.2-.4-.2t-.3.2l-.2 1.2-.4 1.5h-.1l-.3-.3-.4-.3q-1.5-1.9-2.7-3.8Q27.7 11 23.3 6l-.9-1.1q.1-.4.7-1l.5-.5v-.5l-.4-.1-1 .1h-.4q-.7-.1-.9-1.3-.2-1-.6-1.4L20 0q-.5.4-.6 1.3-.2.8-.5 1-.5.3-1.7.2l-1 .1v.7q0 .3.6.5c.4.2 1 .5 1 .8q-.2.4-1 .8l-.3.3-1.1 1-1 1L13 8.9c-1.9 1.7-4 3.5-5.4 5.7l-2.3.8q-.6-.2-.8-.9h-.4q-.2 0-.1 1v.6l-.1.2v.7L1 18.1v.3l.3.2 2.7.2.5 2.3-.4 2.8-.5 4.2v.3l.1.3-.1.3-.2.3-.1.3c0 .3-.3 1-.4 1H0v.2q0 .3.2.4l.9.5q1 .3 1.3.9l-.2 1-.2.3q-.5.8-.4 1l.1.2q.7-.1 1.6-1l1.2-.8 1.7 2H7v-.1L6.5 33h.1l8.3 4.7.8.5 1.3.7q1 .5 2 1.3h.1H18l-.8.2-.1.2.2.4h.1l.4.5.3.4.5.3.7.4v.2q-.7 1-.6 2v.2h.2c.3 0 1.2-.8 1.4-1l.3-.4q.3-.5.6-.6.6.2 1.4.9l1 .6h.4V44l-.4-1-.3-.8.7-.4.3-.2 1-.7v-.6l-.3-.1h-2V40l.6-1 .5-.7 6-8.1 1-1.5c1.2-1.7 2.6-4 3.1-4.2v1l.2.1h.1l.8-.7c.5-.4 1.2-1 1.4-1l.6.3 1.3 1q.3.5.6.5l.2-.1c.1 0 0-.4-.6-2.2l-.4-1 .5-.6zM17.7 3.7l-.4-.3q-.3 0-.4-.3h1q1 0 1.4-.2l.5-1.2.3-.7V.9l.3.9q.3 1 .6 1.4.1.3.7.2h1L21.4 5l.3 2-.1-.1-.9-1-.2-.2-.1-.2q-.1-.4-.5-.4h-.3v.2c-.3.5-1.2 1.3-1.4 1.5q0-.6.4-1.4v-.1q.4-.3 0-.8zM8 15.5l.4-.8.3-.7c.9-1.4 3.1-3.4 4.7-4.8l4-3.5.4-.3-.6 2.3.3.1c.5 0 1.1-.7 1.6-1.2L20 6l.7.8q.5.7 1.1 1l.5.2q.1 0 .2-.2.2-.3-.1-1.5l-.2-.8a42 42 0 0 1 6.3 8l1.8 2.2 3 4 .4 1-1.4-.1q-1.2 0-2.5-.2-3.1-.5-6.7-.7l-3.4-.6.9-12.5h-.3l-.4.1v1.4l-.3 3.7-.3 3.3V18q-.3.5-.3 1.1l-4.7-.7-1-.2-2-.4h-1l-1 .1q-.9 0-1.6-.4l-.5-.5.4-.5zm13.1 11.9h-1l-.3-.1-.4-.2h-.2q-.5 0-1 .4l-.7.4-.1-.1q0-.3.2-.8l.1-1q-.2-.4-1.1-.4l-1-.2v-.1l.6-.2q.6 0 1-.4l.2-1.1.2-.9 1.2 1.5q.7-.1 1.2-.5l1.2-.5-.5 1.6-.3.5-.4.9q.1.3.5.4l.4.2zM14 18.9l2.1.3 2.7.5q.2.9 0 1.8l-.1 1.4-.9-1.2-.2-.3h-.2q-.4 0-.3.6v.3l-.4 1.5-2-1q-1.5-.6-2.7-1.3l-1.3-.9-1-.7-.7-.4-1.2-.7h1.2l.3-.3q.6-.2 1.3-.2 1.2 0 2.4.4zm-5.5 1 1.6 1 1.3 1 2.3 1.2 2.5 1.3-.4.2h-.2l-.2.2q-.5 0-1 .4-.1 0-.2.2 0 .3.2.3l1 .2.8.2a25 25 0 0 1-4 2h-.2l-1-1.6q-.7-.7-1.2-1.6c-1.1-1.7-2.6-4-3.5-5.8v-.2zm10.8 3.6v-2.2zm1.7 2.1.4-1q.7-1.3.6-1.7t-.4-.4l-2.3.9.2-3.6h.8l1.4.2.9.2q1.5.3 3 .2l2.3.2.8.2.6.2 1 .1a6 6 0 0 1 2.7.8l1 .5-3.8 1.3zM4.5 18.1H2.8l2-.9V17l-.2-.3v-1q.3 0 .2.4l.2.1 1.2-.4 1.4-.5L6.3 17q.5.7 1 .9l.5.2-1 .2-.5-.2-.6-.1-.5.1v.6q.3.2.2.3L5 20.3l-.1-.9zm.6 3.9q.3-.1.4-.4l.2-.9.2-1.2 5.7 9h-.3l-1.7.8q-1.4.9-2.2 1l-.4.1H5.6l-.1-.2L5 29v-.6l-.2-.6-.2-.2h-.1c-.1-.3.4-4.8.6-5.6M5.6 32q0 .6.3 1.1l.3 1L5 32.9l-.4-.3q-.3 0-.4.3l-.2.1q-.7.5-1.3.9l.5-1.8-.2-.1q-.7-.2-1.2-.7H2l.6.1.5.2.2-.1.5-1 .5-1.4.5 1.1.3 1h.3l.3-.1.1-.1L7 31v.2zm1 .1 1-.5.8-.5q.3-.2.2-.4v-.1l-.2-.1 2.7-1.4.9-.2 6.8 10.2zm6-3.5 4.2-2h.3l-.3 1-.3 1q0 0 .2.3l.3.1h.2l.2-.3.4-.3.6-.3.6-.2.4 1.7v1.8l-.1 1.3v2q.2 2.1 0 4v.1zM23 40.8h1l-.3.4-.5.2-.4.3h-.2l-.5.4v.1q.5.3.6.8l.2.3q-.3-.1-.8-.5l-1-.5H21L19.3 44q.1-.6.4-1h.2l.2-.3v-.5q-.3-.2-.5-.2h-.3c-.3-.2-1-.7-1.1-1h1.1l.6.1.5-.1.8-2.3.2.8q.1 1 .5 1.3H23m-3.2.2h.1m14.3-17.3-8.6 11.6-1 1.5-2.1 2.8-.3.2-.3-1.2q-.1-1.2-.4-1.3l-.2-.1H21l-1 2.4v-5.9l-.2-5.7 1.8.1.2.1.7.1h.3V28l-.4-.4-.3-.2-.8-1.1L27 25l1.2-.2 2-.5 1.1-.3c1-.4 2.6-.9 3-.9h.1q0 .3-.3.5m4.2-2.1-.4.3-.8.7q.1.4.4.3h.2l.6 1.4-1.8-1.2q-.4 0-.4.3v.1l-1.2.9q0-.8.4-1.4h.1q.3-.2.2-.5-.3-.5-1.2-.7-.8 0-1.1-.5h1l.7.2.5-.1q0-1.4.5-2.4c.2.3.8 1.4.9 1.9v.1l-.1.2h.2l1.8-.2zm-19 1.9.2-2.2zm1.8 3.9zm1.5.9h-.1m.3 15zm12.9-25.5"})})}const xt={send:"Send",clear:"Clear prompt",suggestions:"Suggestions",history:"History",historyEmpty:"No earlier prompts yet",startVoice:"Talk",stopVoice:"Stop listening",addImages:"Add images",removeImage:"Remove"};function wt({onSubmit:t,value:n,onValueChange:e,placeholder:r="Ask about anything",appearance:a,colorScheme:o,radius:i,glow:c,suggestions:s,suggestionsAlign:l,history:d,onVoice:u,acceptImages:m,poweredBy:p=!0,labels:g,sendIcon:b,actions:h,font:y,loading:x,disabled:q,autoFocus:S,className:C="",style:L,children:T,sendLabel:E,tint:z}){const[N,R]=k(""),M=n??N,{ref:A,isMultiline:O}=function(t){const n=_(null),[e,r]=k(!1);return w(()=>{const t=n.current;if(!t||"undefined"==typeof ResizeObserver)return;const e=new ResizeObserver(()=>{r(t.clientHeight>1.5*Number.parseFloat(getComputedStyle(t).lineHeight))});return e.observe(t),()=>{e.disconnect()}},[]),w(()=>{const t=n.current;!t||"undefined"!=typeof CSS&&CSS.supports("field-sizing","content")||(t.style.height="auto",t.style.height=`${t.scrollHeight}px`)},[t]),{ref:n,isMultiline:e}}(M),{ref:D,isOpen:V,setIsOpen:U}=function(){const t=_(null),[n,e]=k(!1);return w(()=>{if(!n)return;const r=n=>{n.target instanceof Node&&!t.current?.contains(n.target)&&e(!1)};return document.addEventListener("pointerdown",r),()=>{document.removeEventListener("pointerdown",r)}},[n]),{ref:t,isOpen:n,setIsOpen:e}}(),{picked:j,add:H,remove:P,clear:B}=function(){const[t,n]=k([]),e=_(new Set);w(()=>{const t=e.current;return()=>{for(const n of t)URL.revokeObjectURL(n);t.clear()}},[]);const r=t=>{URL.revokeObjectURL(t),e.current.delete(t)};return{picked:t,add(t){const r=t.map(t=>({file:t,url:URL.createObjectURL(t)}));for(const{url:t}of r)e.current.add(t);n(t=>[...t,...r])},remove(t){r(t),n(n=>n.filter(n=>n.url!==t))},clear(){for(const{url:n}of t)r(n);n([])}}}(),F=I(),$=function(t,n){return{...xt,...void 0!==n&&{send:n},...t}}(g,E),K=function({history:t,onVoice:n,acceptImages:e}){return void 0!==t||void 0!==n||!0===e?"tools":"compact"}({history:d,onVoice:u,acceptImages:m}),G=t=>{R(t),e?.(t)},Q=M.trim(),J=function(t,n,e,r){return(""!==t||n.length>0)&&!e&&!r}(Q,j,x,q),W=()=>{J&&(t(Q,j.map(t=>t.file)),G(""),B(),U(!1))},X=t=>{t.preventDefault(),W()},Y=t=>{G(t),U(!1),A.current?.focus()};if(T)return f(kt,{className:C,loading:x,poweredBy:p,style:Vt({colorScheme:o,radius:i,glow:c,paint:z,font:y,style:L}),onSubmit:X,children:T({fieldProps:{ref:A,value:M,placeholder:r,"aria-label":r,enterKeyHint:"send",rows:1,disabled:q,autoFocus:S,onChange(t){G(t.target.value)},onKeyDown:Dt},value:M,setValue:G,fill:Y,canSubmit:J,submit:W,images:j,addImages:H,removeImage:P})});return v("div",{ref:D,className:`cm-bar ${C}`.trimEnd(),"data-appearance":a,"data-layout":K,"data-multiline":O||void 0,"data-loading":!0===x||void 0,style:Vt({colorScheme:o,radius:i,glow:c,paint:z,font:y,style:L}),onKeyDown:t=>{V&&"Escape"===t.key&&(U(!1),A.current?.focus())},children:[f("style",{children:Ut}),f(It,{suggestions:V?void 0:s,align:l,label:$.suggestions,disabled:q,onPick:Y}),v("div",{className:"cm-bar-shell",children:[f(qt,{glow:c,paint:z,loading:x}),f(St,{id:F,isOpen:V,entries:d,labels:$,onPick:Y}),v("form",{className:"cm-bar-field","aria-busy":x,onSubmit:X,children:[f(Ct,{picked:j,label:$.removeImage,onRemove:P}),v("div",{className:"cm-bar-row",children:["compact"===K&&f(yt,{className:"cm-bar-mark"}),f("textarea",{ref:A,className:"cm-bar-input",rows:1,value:M,placeholder:r,"aria-label":r,enterKeyHint:"send",disabled:q,autoFocus:S,onChange:t=>{G(t.target.value)},onKeyDown:Dt}),f(Lt,{isShown:""!==M,label:$.clear,disabled:q,onClear:()=>{Y("")}}),"compact"===K&&h,f("button",{type:"submit",className:"cm-bar-send",disabled:!J,"aria-label":$.send,children:b??f(Nt,{})})]}),"tools"===K&&v("div",{className:"cm-bar-footer",children:[v("div",{className:"cm-bar-tools",children:[m&&f(Et,{label:$.addImages,disabled:q,onAdd:H}),d&&f(Tt,{label:$.history,disabled:q,"aria-expanded":V,"aria-controls":F,onClick:()=>{U(t=>!t)},children:f(At,{})}),u&&f(zt,{labels:$,disabled:q,loading:x,onVoice:u}),h]}),f(_t,{})]})]})]}),"compact"===K&&p&&f(_t,{})]})}function kt({className:t,loading:n,poweredBy:e,style:r,onSubmit:a,children:o}){return v("div",{className:`cm-bar ${t}`.trimEnd(),"data-layout":"custom","data-loading":!0===n||void 0,style:r,children:[f("style",{children:Ut}),v("form",{className:"cm-bar-custom","aria-busy":n,onSubmit:a,children:[f(yt,{className:"cm-bar-mark"}),o]}),e&&f(_t,{})]})}function _t(){return f("span",{className:"cm-bar-powered-by",children:"Powered by Callimacus"})}function qt({glow:t,paint:n,loading:e}){return void 0!==t&&!1!==t||void 0!==n||!0===e?f("span",{className:"cm-bar-glow","aria-hidden":"true"}):null}function It({suggestions:t=[],align:n,label:e,disabled:r,onPick:a}){return 0===t.length?null:f("div",{className:"cm-bar-suggestions",role:"group","aria-label":e,"data-align":n,children:t.map((t,n)=>f("button",{type:"button",className:"cm-bar-suggestion",disabled:r,onClick:()=>{a(t)},children:t},n))})}function St({id:t,isOpen:n,entries:e=[],labels:r,onPick:a}){return n?f("div",{id:t,className:"cm-bar-history",role:"group","aria-label":r.history,children:0===e.length?f("p",{className:"cm-bar-history-empty",children:r.historyEmpty}):f("ul",{children:e.map((t,n)=>f("li",{children:f("button",{type:"button",className:"cm-bar-history-item",onClick:()=>{a(t)},children:t})},n))})}):null}function Ct({picked:t,label:n,onRemove:e}){return 0===t.length?null:f("ul",{className:"cm-bar-images",children:t.map(({file:t,url:r})=>v("li",{className:"cm-bar-image",children:[f("img",{src:r,alt:t.name}),f("button",{type:"button","aria-label":`${n} ${t.name}`,title:`${n} ${t.name}`,onClick:()=>{e(r)},children:f(Rt,{})})]},r))})}function Lt({isShown:t,label:n,disabled:e,onClear:r}){return t?f("button",{type:"button",className:"cm-bar-clear","aria-label":n,title:n,disabled:e,onClick:r,children:f(Rt,{})}):null}function Tt({label:t,children:n,...e}){return f("button",{type:"button",className:"cm-bar-tool","aria-label":t,title:t,...e,children:n})}function Et({label:t,disabled:n,onAdd:e}){const r=_(null);return v(y,{children:[f(Tt,{label:t,disabled:n,onClick:()=>{r.current?.click()},children:f(Mt,{})}),f("input",{ref:r,hidden:!0,type:"file",accept:"image/*",multiple:!0,onChange:t=>{e([...t.target.files??[]]),t.target.value=""}})]})}function zt({labels:t,disabled:n,loading:e,onVoice:r}){const a=ft({onRecordingComplete:r}),o="recording"===a.state,i=o?t.stopVoice:t.startVoice,c=(!0===n||!0===e)&&!o;return f(Tt,{label:a.error??i,disabled:c,"aria-pressed":o,onClick:()=>{o?a.stopRecording():a.startRecording()},children:f(Ot,{})})}function Nt(){return f("svg",{viewBox:"0 0 10 11",fill:"none",stroke:"currentColor",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",children:f("path",{d:"M.5 4.67 4.88.5m0 0 4.37 4.17M4.88.5v10"})})}function Rt(){return f("svg",{viewBox:"0 0 10 10",fill:"none",stroke:"currentColor",strokeLinecap:"round","aria-hidden":"true",children:f("path",{d:"M.5.5l9 9m0-9-9 9"})})}function Mt(){return f("svg",{viewBox:"0 0 16 16",fill:"none",stroke:"currentColor",strokeLinecap:"round","aria-hidden":"true",children:f("path",{d:"M8 2.5v11M2.5 8h11"})})}function At(){return f("svg",{viewBox:"0 0 16 16",fill:"none",stroke:"currentColor",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",children:f("path",{d:"M8 4.5C6.9 3.6 5.3 3.2 2.5 3.2v8.9c2.8 0 4.4.4 5.5 1.4 1.1-1 2.7-1.4 5.5-1.4V3.2c-2.8 0-4.4.4-5.5 1.3Zm0 0v9"})})}function Ot(){return v("svg",{viewBox:"0 0 16 16",fill:"none",stroke:"currentColor",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",children:[f("rect",{x:"6",y:"2.5",width:"4",height:"7",rx:"2"}),f("path",{d:"M3.5 8a4.5 4.5 0 0 0 9 0M8 12.5v1"})]})}function Dt(t){"Enter"!==t.key||t.shiftKey||t.nativeEvent.isComposing||(t.preventDefault(),t.currentTarget.form?.requestSubmit())}function Vt({colorScheme:t,radius:n,glow:e,paint:r,font:a,style:o}){return{colorScheme:"auto"===t?void 0:t,"--cm-radius":"pill"===n?"999px":void 0===n?void 0:`${n}px`,"--cm-glow-colors":"object"==typeof e&&e.length>0?[...e,e[0]].join(", "):void 0,"--cm-tint":r,"--cm-font":a,...o}}const Ut="\n.cm-bar {\n\t--_ink: var(--cm-fg, light-dark(#212121, #fff));\n\t--_fill: var(--cm-bg, light-dark(#fff, #404040));\n\t--_edge: var(--cm-border-color, light-dark(#f2f2f2, rgb(242 242 242 / .3)));\n\t--_button-fill: var(--_fill);\n\t--_button-edge: var(--cm-border-color, light-dark(#f2f2f2, rgb(136 136 136 / .3)));\n\t--_chip-edge: var(--cm-border-color, light-dark(#f2f2f2, rgb(242 242 242 / .3)));\n\t--_blur: none;\n\t--_radius: var(--cm-radius, 999px);\n\t--_corner: var(--_radius);\n\t--_size: var(--cm-size, 34px);\n\t--_pad: var(--cm-padding, 12px);\n\t--_glow-colors: var(--cm-glow-colors, #d698c7, #ffc691, #a8dfdb, #c1b1f0, #d698c7);\n\tbox-sizing: border-box;\n\tdisplay: flex;\n\tflex-direction: column;\n\twidth: 100%;\n\tfont-family: var(--cm-font, inherit);\n\tfont-size: var(--cm-font-size, 1rem);\n\tline-height: 1.25;\n}\n\n/* Figma \"Transparent\": the fill at 64% over the page, blurred. */\n.cm-bar[data-appearance='glass'] {\n\t--_fill: var(--cm-bg, light-dark(rgb(255 255 255 / .64), rgb(64 64 64 / .64)));\n\t--_edge: var(--cm-border-color, rgb(242 242 242 / .3));\n\t--_button-edge: var(--cm-border-color, light-dark(rgb(242 242 242 / .3), rgb(136 136 136 / .3)));\n\t--_chip-edge: var(--cm-border-color, light-dark(rgb(242 242 242 / .64), rgb(242 242 242 / .3)));\n\t--_blur: blur(var(--cm-blur, 7.3px));\n}\n\n/* The bar with tools is two rows tall, too tall for a pill: the Figma stops it at 16px. */\n.cm-bar[data-layout='tools'] {\n\t--_radius: min(var(--cm-radius, 999px), 16px);\n}\n\n/* Over the bar with tools, white glass keeps a white edge and a lighter send button. */\n.cm-bar[data-appearance='glass'][data-layout='tools'] {\n\t--_edge: var(--cm-border-color, light-dark(#f2f2f2, rgb(242 242 242 / .3)));\n\t--_button-fill: light-dark(rgb(255 255 255 / .3), rgb(64 64 64 / .64));\n\t--_button-edge: var(--cm-border-color, light-dark(#f2f2f2, rgb(136 136 136 / .3)));\n}\n\n/* A wrapped prompt is too tall for a pill. */\n.cm-bar[data-multiline] {\n\t--_corner: min(var(--_radius), 24px);\n}\n\n.cm-bar-suggestions {\n\t/* Above the glow, which spills over the bar's top edge. */\n\tposition: relative;\n\tz-index: 1;\n\tdisplay: flex;\n\tflex-wrap: wrap;\n\tjustify-content: center;\n\tgap: 4px;\n\tmargin-bottom: 4px;\n}\n\n.cm-bar[data-layout='tools'] .cm-bar-suggestions {\n\tjustify-content: flex-start;\n\tmargin-bottom: 5px;\n}\n\n.cm-bar .cm-bar-suggestions[data-align='start'] {\n\tjustify-content: flex-start;\n}\n\n.cm-bar .cm-bar-suggestions[data-align='center'] {\n\tjustify-content: center;\n}\n\n.cm-bar-suggestion {\n\tbox-sizing: border-box;\n\theight: 32px;\n\tmargin: 0;\n\tpadding: 0 16px;\n\tborder: 1px solid var(--_chip-edge);\n\tborder-radius: calc(var(--_radius) / 2);\n\tbackground: var(--_fill);\n\t-webkit-backdrop-filter: var(--_blur);\n\tbackdrop-filter: var(--_blur);\n\tcolor: var(--_ink);\n\tfont: inherit;\n\tfont-size: .875em;\n\tline-height: 1;\n\twhite-space: nowrap;\n\tcursor: pointer;\n\ttransition: translate .16s, box-shadow .16s;\n}\n\n.cm-bar-suggestion:enabled:hover {\n\ttranslate: 0 -1px;\n\tbox-shadow: 0 2px 6px rgb(0 0 0 / .08);\n}\n\n.cm-bar-suggestion:disabled {\n\tcursor: default;\n\topacity: .5;\n}\n\n.cm-bar-shell {\n\tposition: relative;\n}\n\n/* Figma draws the glow as a 4px gradient stroke centred on the bar's edge, under a 10px blur.\nThe blur sits on the outer box so the ring's mask doesn't clip it. */\n.cm-bar-glow {\n\tposition: absolute;\n\tinset: 0;\n\topacity: var(--cm-glow, 1);\n\tfilter: blur(5px);\n\tpointer-events: none;\n}\n\n.cm-bar-glow::before {\n\tcontent: '';\n\tposition: absolute;\n\tinset: -2px;\n\tpadding: 4px;\n\tborder-radius: calc(var(--_corner) + 2px);\n\tbackground: var(--cm-tint, conic-gradient(from var(--cm-bar-angle), var(--_glow-colors)));\n\t-webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);\n\t-webkit-mask-composite: xor;\n\tmask-composite: exclude;\n\tanimation: cm-bar-turn 6s linear infinite;\n}\n\n.cm-bar[data-loading] .cm-bar-glow::before {\n\tanimation-duration: 2s;\n}\n\n.cm-bar-field {\n\tposition: relative;\n\tbox-sizing: border-box;\n\tdisplay: flex;\n\tflex-direction: column;\n\tmargin: 0;\n\tpadding: var(--_pad) var(--_pad) var(--_pad) calc(var(--_pad) + 4px);\n\tborder: var(--cm-border-width, 1px) solid var(--_edge);\n\tborder-radius: var(--_corner);\n\tbackground: var(--_fill);\n\t-webkit-backdrop-filter: var(--_blur);\n\tbackdrop-filter: var(--_blur);\n\tbox-shadow: var(--cm-shadow, 0 4px 4px rgb(0 0 0 / .12));\n\tcolor: var(--_ink);\n\ttransition: border-radius .2s;\n}\n\n.cm-bar[data-layout='tools'] .cm-bar-field {\n\tgap: 8px;\n\tpadding-block: calc(var(--_pad) - 4px);\n}\n\n.cm-bar-field:has(.cm-bar-input:disabled) {\n\topacity: .5;\n}\n\n.cm-bar-row {\n\tdisplay: flex;\n\talign-items: center;\n\tgap: 12px;\n}\n\n.cm-bar[data-layout='tools'] .cm-bar-row {\n\tpadding-bottom: 8px;\n\tborder-bottom: 1px solid rgb(33 33 33 / .1);\n}\n\n/* A wrapped prompt keeps the mark and the buttons on its last line. */\n.cm-bar[data-multiline] .cm-bar-row {\n\talign-items: flex-end;\n}\n\n/* The mark is the one fixed part of the compact bar: color and size are themable, hiding it is not. */\n.cm-bar-mark {\n\tflex: none;\n\tdisplay: block !important;\n\tvisibility: visible !important;\n\topacity: 1 !important;\n\twidth: auto;\n\theight: calc(var(--_size) * .8);\n\tmin-width: 1.1rem !important;\n\tmin-height: 1.25rem !important;\n\tcolor: var(--cm-mark-color, currentColor);\n}\n\n.cm-bar[data-loading] .cm-bar-mark {\n\tanimation: cm-bar-twinkle 1.5s ease-in-out infinite;\n}\n\n.cm-bar-input {\n\tflex: 1;\n\tbox-sizing: border-box;\n\tmin-width: 0;\n\tmin-height: 1lh;\n\tmax-height: 6lh;\n\tmargin: max(0px, calc((var(--_size) - 1lh) / 2)) 0;\n\tpadding: 0;\n\tborder: 0;\n\tborder-radius: 0;\n\toutline: 0;\n\tbackground: none;\n\tcolor: inherit;\n\tfont: inherit;\n\tresize: none;\n\tfield-sizing: content;\n}\n\n.cm-bar[data-multiline] .cm-bar-input {\n\tmargin-block: 0;\n}\n\n.cm-bar-input::placeholder {\n\tcolor: inherit;\n\topacity: .2;\n}\n\n.cm-bar-clear {\n\tflex: none;\n\tdisplay: grid;\n\tplace-items: center;\n\twidth: 20px;\n\theight: var(--_size);\n\tmargin: 0 -4px 0 0;\n\tpadding: 0;\n\tborder: 0;\n\tbackground: none;\n\tcolor: inherit;\n\tcursor: pointer;\n\topacity: .85;\n\ttransition: opacity .16s;\n}\n\n.cm-bar-clear:hover {\n\topacity: 1;\n}\n\n.cm-bar-clear svg {\n\twidth: 10px;\n\theight: 10px;\n}\n\n.cm-bar-send {\n\tflex: none;\n\tbox-sizing: border-box;\n\tdisplay: grid;\n\tplace-items: center;\n\twidth: var(--_size);\n\theight: var(--_size);\n\tmargin: 0;\n\tpadding: 0;\n\tborder: 1px solid var(--_button-edge);\n\tborder-radius: calc(var(--_radius) / 2);\n\tbackground: var(--cm-button-bg, var(--_button-fill));\n\tcolor: var(--cm-button-fg, inherit);\n\tcursor: pointer;\n\ttransition: translate .16s, background-color .16s;\n}\n\n.cm-bar-send:enabled:hover {\n\ttranslate: 0 -1px;\n}\n\n.cm-bar-send:disabled {\n\tcursor: default;\n}\n\n.cm-bar-send:disabled > * {\n\topacity: .2;\n}\n\n.cm-bar-send svg {\n\twidth: 30%;\n\theight: auto;\n}\n\n.cm-bar-footer {\n\tdisplay: flex;\n\talign-items: center;\n\tjustify-content: space-between;\n\tgap: 8px;\n\theight: 20px;\n}\n\n/* The icons sit on one 16px grid; pulling the row in by the plus's own inset puts its stroke on the text's edge. */\n.cm-bar-tools {\n\tdisplay: flex;\n\talign-items: center;\n\tgap: 4px;\n\tmargin-left: -6px;\n}\n\n.cm-bar-tool {\n\tdisplay: grid;\n\tplace-items: center;\n\twidth: 24px;\n\theight: 20px;\n\tmargin: 0;\n\tpadding: 0;\n\tborder: 0;\n\tborder-radius: 6px;\n\tbackground: none;\n\tcolor: var(--cm-tool-color, light-dark(#6c6c6c, #fff));\n\tcursor: pointer;\n}\n\n.cm-bar-tool svg {\n\tdisplay: block;\n\twidth: 16px;\n\theight: 16px;\n}\n\n.cm-bar-tool:enabled:hover,\n.cm-bar-tool[aria-expanded='true'] {\n\tbackground: rgb(127 127 127 / .14);\n}\n\n.cm-bar-tool:disabled {\n\tcursor: default;\n\topacity: .5;\n}\n\n.cm-bar-tool[aria-pressed='true'] {\n\tcolor: #e5484d;\n\tanimation: cm-bar-listening 1.2s ease-in-out infinite;\n}\n\n.cm-bar-images {\n\tdisplay: flex;\n\tflex-wrap: wrap;\n\tgap: 6px;\n\tmargin: 0;\n\tpadding: 0;\n\tlist-style: none;\n}\n\n.cm-bar-image {\n\tposition: relative;\n\twidth: 44px;\n\theight: 44px;\n}\n\n.cm-bar-image img {\n\tdisplay: block;\n\tbox-sizing: border-box;\n\twidth: 100%;\n\theight: 100%;\n\tborder: 1px solid var(--_edge);\n\tborder-radius: 6px;\n\tobject-fit: cover;\n}\n\n.cm-bar-image button {\n\tposition: absolute;\n\ttop: -5px;\n\tright: -5px;\n\tdisplay: grid;\n\tplace-items: center;\n\twidth: 16px;\n\theight: 16px;\n\tmargin: 0;\n\tpadding: 0;\n\tborder: 0;\n\tborder-radius: 50%;\n\tbackground: #212121;\n\tcolor: #fff;\n\tcursor: pointer;\n}\n\n.cm-bar-image svg {\n\twidth: 7px;\n\theight: 7px;\n}\n\n.cm-bar-history {\n\tposition: absolute;\n\tz-index: 2;\n\tleft: 0;\n\tright: 0;\n\tbottom: calc(100% + 8px);\n\tbox-sizing: border-box;\n\tmax-height: 220px;\n\toverflow-y: auto;\n\tpadding: 6px;\n\tborder: 1px solid var(--_edge);\n\tborder-radius: 12px;\n\tbackground: var(--_fill);\n\t-webkit-backdrop-filter: blur(14px);\n\tbackdrop-filter: blur(14px);\n\tbox-shadow: 0 8px 24px rgb(0 0 0 / .12);\n\tcolor: var(--_ink);\n}\n\n.cm-bar[data-appearance='glass'] .cm-bar-history {\n\tbackground: var(--cm-bg, light-dark(rgb(255 255 255 / .64), rgb(48 48 48 / .86)));\n}\n\n.cm-bar-history ul {\n\tmargin: 0;\n\tpadding: 0;\n\tlist-style: none;\n}\n\n.cm-bar-history-item {\n\tdisplay: block;\n\tbox-sizing: border-box;\n\twidth: 100%;\n\tmargin: 0;\n\tpadding: 8px 10px;\n\tborder: 0;\n\tborder-radius: 8px;\n\tbackground: none;\n\tcolor: inherit;\n\tfont: inherit;\n\tfont-size: .875em;\n\tline-height: 1.3;\n\ttext-align: start;\n\tcursor: pointer;\n}\n\n.cm-bar-history-item:hover,\n.cm-bar-history-item:focus-visible {\n\tbackground: rgb(127 127 127 / .14);\n\toutline: none;\n}\n\n.cm-bar-history-empty {\n\tmargin: 0;\n\tpadding: 8px 10px;\n\tfont-size: .8125em;\n\topacity: .5;\n}\n\n.cm-bar-suggestion:focus-visible,\n.cm-bar-clear:focus-visible,\n.cm-bar-send:focus-visible,\n.cm-bar-tool:focus-visible,\n.cm-bar-image button:focus-visible {\n\toutline: 2px solid light-dark(rgb(33 33 33 / .4), rgb(255 255 255 / .6));\n\toutline-offset: 2px;\n}\n\n.cm-bar-powered-by {\n\tmargin-top: 10px;\n\tcolor: var(--cm-powered-by-color, inherit);\n\tfont-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;\n\tfont-size: .5em;\n\tline-height: 1;\n\ttext-align: center;\n\ttext-transform: uppercase;\n\twhite-space: nowrap;\n}\n\n/* In the tools row it takes the bar's ink, trimmed to its capitals so it lines up with the icons. */\n.cm-bar-footer .cm-bar-powered-by {\n\tmargin: 0;\n\ttext-box: trim-both cap alphabetic;\n}\n\n/* The colours travel round the edge: a conic gradient whose start angle turns. */\n@property --cm-bar-angle {\n\tsyntax: '<angle>';\n\tinherits: false;\n\tinitial-value: 0deg;\n}\n\n@keyframes cm-bar-turn {\n\tto {\n\t\t--cm-bar-angle: 360deg;\n\t}\n}\n\n/* Transform only: the mark's opacity is pinned to 1. */\n@keyframes cm-bar-twinkle {\n\t50% {\n\t\ttransform: scale(.85) rotate(-10deg);\n\t}\n}\n\n@keyframes cm-bar-listening {\n\t50% {\n\t\tbackground: rgb(229 72 77 / .14);\n\t}\n}\n\n@media (prefers-reduced-motion: reduce) {\n\t.cm-bar *,\n\t.cm-bar *::before {\n\t\tanimation: none !important;\n\t\ttransition: none !important;\n\t}\n}\n";export{wt as CallimacusBar,yt as CallimacusMark,K as runCartCommand,L as thamyrApi,mt as useActions,at as useApi,C as useCallimacusStore,rt as useCart,Z as useConnection,J as useInitThamyr,ct as useMapPage,nt as useOnConnectionChange,et as useOnError,tt as useOnResponse,H as useShopifyCart,G as useShopifyCartNotices,it as useSitemap,ot as useSkesis,pt as useSubmission,Y as useSuggestions,W as useThamyr,vt as useTtsAudio,ft as useVoiceRecorder,A as useWooCommerceCart};
|
|
9
9
|
//# sourceMappingURL=index.js.map
|
package/dist/esm/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["../../../src/callimacus/shopify-cart.ts","../../../src/callimacus/hooks.ts","../../../src/callimacus/map.ts","../../../src/callimacus/actions.ts","../../../src/voice/use-voice-recorder.ts","../../../src/audio/use-tts-audio.ts","../../../src/callimacus-bar/callimacus-mark.tsx","../../../src/callimacus-bar/callimacus-bar.tsx"],"sourcesContent":[null,null,null,null,null,null,null,null],"names":["settingsByInstance","WeakMap","carts","Map","pageStorage","shopifyCart","locale","cart","get","undefined","isBrowser","window","createShopifyCart","settings","async","cartSettingsFor","thamyr","waitForInstance","endpoint","accessToken","sitemap","config","readShopifySettings","createContractClient","useCallimacusStore","getState","_shopify","set","shopifySettings","language","document","documentElement","lang","navigator","pageLocale","storage","createPageStorage","hasShopifySettings","useShopifyCart","options","useMemo","RAN_KEY","ranInPage","Set","isNewRound","chapterId","ran","JSON","parse","localStorage","getItem","Array","isArray","filter","id","storedRounds","includes","has","setItem","stringify","slice","add","UNAVAILABLE","runCartCommand","command","isVariantGid","variantId","asked","Math","trunc","quantity","min","max","Number","isFinite","result","addItem","notice","named","item","name","length","map","option","value","join","base","error","outcome","message","warnings","code","noticeOf","_addCartNotice","analytics","trackEvent","storyId","eventName","payload","useShopifyCartNotices","state","cartNotices","useEventListener","addListener","callback","callbackRef","useRef","current","useEffect","arg","useInitThamyr","init","s","reset","markInitRequested","markInitOwnerMounted","stopCartCommands","addResponseListener","response","type","ThamyrResponseType","CART_COMMAND","data","markInitOwnerUnmounted","clientId","useThamyr","history","messages","sendEvent","sendAudio","rounds","openLanding","UserInteractionType","CREATE_ROUND","landingRound","sendInteraction","interactionRound","refresh","block","interaction","NO_SUGGESTIONS","suggestions","loading","useSuggestions","prefix","debounceMs","isConnected","connectionStatus","setState","useState","wasConnected","setWasConnected","isStale","timer","setTimeout","_thamyr","suggest","Promise","resolve","then","catch","clearTimeout","useConnection","status","useOnResponse","useOnConnectionChange","addConnectionListener","useOnError","addErrorListener","useCart","getCart","productId","addItemToCart","removeItemFromCart","updateProductQuantity","useApi","thamyrApi","useSkesis","anchorId","skesis","similar","related","useSitemap","getSitemap","useMapPage","pathname","settled","setSettled","isMapPath","parseMapPath","resolveMapPage","page","Error","String","failed","ok","IDLE","useSubmissions","create","latestSubmission","useActions","isReady","subscribe","run","useCallback","action","story","round","globalThis","location","newTab","open","url","assign","inputEvent","call","submissionId","randomUuid","form","sent","fields","context","title","replaceAll","replace","unsubscribe","chapter","blocks","deliverResultOf","find","found","deliveredResult","ready","useSubmission","defaultOptions","useVoiceRecorder","silenceThreshold","silenceDuration","maxDuration","onRecordingComplete","audioLevels","setAudioLevels","setError","mediaRecorderRef","audioContextRef","analyserRef","streamRef","animationFrameRef","silenceStartRef","maxDurationTimerRef","chunksRef","stoppingRef","cleanup","cancelAnimationFrame","track","getTracks","stop","close","stopRecording","startRecording","stream","mediaDevices","getUserMedia","audio","echoCancellation","noiseSuppression","sampleRate","audioContext","AudioContext","source","createMediaStreamSource","analyser","createAnalyser","fftSize","smoothingTimeConstant","connect","mimeType","MediaRecorder","isTypeSupported","mediaRecorder","addEventListener","event","size","push","audioBlob","Blob","start","monitorAudio","bufferLength","frequencyBinCount","dataArray","Uint8Array","getByteFrequencyData","step","floor","levels","i","sum","j","sumSquares","normalized","rms","sqrt","log10","Date","now","requestAnimationFrame","useTtsAudio","audioRef","audioUrl","Audio","element","preload","onPlaying","onWaiting","onPause","previous","onEnded","onError","pause","removeEventListener","src","play","currentTime","toggle","paused","isPlaying","CallimacusMark","props","_jsx","viewBox","fill","role","children","d","defaultLabels","send","clear","historyEmpty","startVoice","stopVoice","addImages","removeImage","CallimacusBar","onSubmit","controlledValue","onValueChange","placeholder","appearance","colorScheme","radius","glow","suggestionsAlign","onVoice","acceptImages","poweredBy","labels","labelOverrides","sendIcon","actions","font","disabled","autoFocus","className","style","sendLabel","tint","ownValue","setOwnValue","ref","inputRef","isMultiline","setIsMultiline","input","ResizeObserver","observer","clientHeight","parseFloat","getComputedStyle","lineHeight","observe","disconnect","CSS","supports","height","scrollHeight","useTextField","rootRef","isOpen","isHistoryOpen","setIsOpen","setIsHistoryOpen","closeOutside","target","Node","contains","usePopover","picked","remove","clearImages","setPicked","urlsRef","urls","URL","revokeObjectURL","release","delete","files","added","file","createObjectURL","image","useImages","historyId","useId","overrides","labelsOf","layout","layoutOf","setValue","next","prompt","trim","canSubmit","images","canSend","submit","preventDefault","focus","HostBar","barStyle","paint","fieldProps","enterKeyHint","rows","onChange","onKeyDown","sendOnEnter","_jsxs","trimEnd","key","css","Suggestions","align","label","onPick","Glow","History","entries","Images","onRemove","ClearButton","isShown","onClear","ArrowIcon","AddImagesButton","onAdd","ToolButton","onClick","BookIcon","VoiceButton","PoweredBy","suggestion","index","entry","alt","CloseIcon","_Fragment","click","PlusIcon","hidden","accept","multiple","recorder","isRecording","isBlocked","MicIcon","stroke","strokeLinecap","strokeLinejoin","x","y","width","rx","shiftKey","nativeEvent","isComposing","currentTarget","requestSubmit"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../../src/callimacus/woocommerce-cart.ts","../../../src/callimacus/shopify-cart.ts","../../../src/callimacus/hooks.ts","../../../src/callimacus/map.ts","../../../src/callimacus/actions.ts","../../../src/voice/use-voice-recorder.ts","../../../src/audio/use-tts-audio.ts","../../../src/callimacus-bar/callimacus-mark.tsx","../../../src/callimacus-bar/callimacus-bar.tsx"],"sourcesContent":[null,null,null,null,null,null,null,null,null],"names":["cart","woocommerceCart","undefined","storage","createPageStorage","client","createWooCommerceCart","start","thamyr","waitForInstance","endpoint","accessToken","sitemap","config","data","response","createContractClient","post","url","status","lock","webLocks","leaseLock","window","useWooCommerceCart","useMemo","settingsByInstance","WeakMap","carts","Map","pageStorage","shopifyCart","locale","get","isBrowser","createShopifyCart","settings","async","cartSettingsFor","readShopifySettings","useCallimacusStore","getState","_shopify","set","shopifySettings","language","document","documentElement","lang","navigator","pageLocale","hasShopifySettings","useShopifyCart","options","RAN_KEY","ranInPage","Set","isNewRound","chapterId","ran","JSON","parse","localStorage","getItem","Array","isArray","filter","id","storedRounds","includes","has","setItem","stringify","slice","add","UNAVAILABLE","runCartCommand","command","isVariantGid","variantId","quantity","addItem","_woocommerce","cartAddOf","asked","Math","trunc","min","max","Number","isFinite","result","notice","named","item","name","length","map","option","value","join","base","error","outcome","message","warnings","code","noticeOf","_addCartNotice","analytics","trackEvent","storyId","eventName","payload","useShopifyCartNotices","state","cartNotices","useEventListener","addListener","callback","callbackRef","useRef","current","useEffect","arg","useInitThamyr","init","s","reset","markInitRequested","markInitOwnerMounted","stopCartCommands","addResponseListener","type","ThamyrResponseType","CART_COMMAND","markInitOwnerUnmounted","clientId","useThamyr","history","messages","sendEvent","sendAudio","rounds","openLanding","UserInteractionType","CREATE_ROUND","landingRound","sendInteraction","interactionRound","refresh","block","interaction","NO_SUGGESTIONS","suggestions","loading","useSuggestions","prefix","debounceMs","isConnected","connectionStatus","setState","useState","wasConnected","setWasConnected","isStale","timer","setTimeout","_thamyr","suggest","Promise","resolve","then","catch","clearTimeout","useConnection","useOnResponse","useOnConnectionChange","addConnectionListener","useOnError","addErrorListener","useCart","getCart","productId","addItemToCart","removeItemFromCart","updateProductQuantity","useApi","thamyrApi","useSkesis","anchorId","skesis","similar","related","useSitemap","getSitemap","useMapPage","pathname","settled","setSettled","isMapPath","parseMapPath","resolveMapPage","page","Error","String","failed","ok","IDLE","useSubmissions","create","latestSubmission","useActions","isReady","subscribe","run","useCallback","action","story","round","globalThis","location","newTab","open","assign","inputEvent","call","submissionId","randomUuid","form","sent","fields","context","title","replaceAll","replace","unsubscribe","chapter","blocks","deliverResultOf","find","found","deliveredResult","ready","useSubmission","defaultOptions","useVoiceRecorder","silenceThreshold","silenceDuration","maxDuration","onRecordingComplete","audioLevels","setAudioLevels","setError","mediaRecorderRef","audioContextRef","analyserRef","streamRef","animationFrameRef","silenceStartRef","maxDurationTimerRef","chunksRef","stoppingRef","cleanup","cancelAnimationFrame","track","getTracks","stop","close","stopRecording","startRecording","stream","mediaDevices","getUserMedia","audio","echoCancellation","noiseSuppression","sampleRate","audioContext","AudioContext","source","createMediaStreamSource","analyser","createAnalyser","fftSize","smoothingTimeConstant","connect","mimeType","MediaRecorder","isTypeSupported","mediaRecorder","addEventListener","event","size","push","audioBlob","Blob","monitorAudio","bufferLength","frequencyBinCount","dataArray","Uint8Array","getByteFrequencyData","step","floor","levels","i","sum","j","sumSquares","normalized","rms","sqrt","log10","Date","now","requestAnimationFrame","useTtsAudio","audioRef","audioUrl","Audio","element","preload","onPlaying","onWaiting","onPause","previous","onEnded","onError","pause","removeEventListener","src","play","currentTime","toggle","paused","isPlaying","CallimacusMark","props","_jsx","viewBox","fill","role","children","d","defaultLabels","send","clear","historyEmpty","startVoice","stopVoice","addImages","removeImage","CallimacusBar","onSubmit","controlledValue","onValueChange","placeholder","appearance","colorScheme","radius","glow","suggestionsAlign","onVoice","acceptImages","poweredBy","labels","labelOverrides","sendIcon","actions","font","disabled","autoFocus","className","style","sendLabel","tint","ownValue","setOwnValue","ref","inputRef","isMultiline","setIsMultiline","input","ResizeObserver","observer","clientHeight","parseFloat","getComputedStyle","lineHeight","observe","disconnect","CSS","supports","height","scrollHeight","useTextField","rootRef","isOpen","isHistoryOpen","setIsOpen","setIsHistoryOpen","closeOutside","target","Node","contains","usePopover","picked","remove","clearImages","setPicked","urlsRef","urls","URL","revokeObjectURL","release","delete","files","added","file","createObjectURL","image","useImages","historyId","useId","overrides","labelsOf","layout","layoutOf","setValue","next","prompt","trim","canSubmit","images","canSend","submit","preventDefault","focus","HostBar","barStyle","paint","fieldProps","enterKeyHint","rows","onChange","onKeyDown","sendOnEnter","_jsxs","trimEnd","key","css","Suggestions","align","label","onPick","Glow","History","entries","Images","onRemove","ClearButton","isShown","onClear","ArrowIcon","AddImagesButton","onAdd","ToolButton","onClick","BookIcon","VoiceButton","PoweredBy","suggestion","index","entry","alt","CloseIcon","_Fragment","click","PlusIcon","hidden","accept","multiple","recorder","isRecording","isBlocked","MicIcon","stroke","strokeLinecap","strokeLinejoin","x","y","width","rx","shiftKey","nativeEvent","isComposing","currentTarget","requestSubmit"],"mappings":";;;;;;;kyCAaA,IAAIA,WAOYC,IACf,QAAaC,IAATF,EACH,OAAOA,EAGR,MAAMG,EAAUC,IACVC,EAASC,EAAsB,CACpC,WAAMC,GAEL,MAAMC,QAAeC,KACfC,SAACA,EAAQC,YAAEA,GAAeH,EAAOI,QAAQC,QACzCC,KAACA,EAAIC,SAAEA,SAAkBC,EAAqB,CAACN,WAAUC,gBAAcM,KAA8B,CAACC,IAAK,sBACjH,OAA4B,MAArBH,GAAUI,OAAiBL,OAAOZ,CAC1C,EACAC,UACAiB,KAAMC,KAAcC,EAAUnB,KAM/B,MAJsB,oBAAXoB,SACVvB,EAAOK,GAGDA,CACR,UA4BgBmB,IACf,OAAOC,EAAQ,IAAMxB,IAAmB,GACzC,CCjCA,MAAMyB,EAAqB,IAAIC,QA0B/B,MAAMC,EAAQ,IAAIC,IAClB,IAAIC,EAOE,SAAUC,EAAYC,GAC3B,IAAIhC,EAAO4B,EAAMK,IAAID,GACrB,QAAa9B,IAATF,EAAoB,CAEvB,MAAMkC,EAA8B,oBAAXX,OACzBvB,EAAOmC,EAAkB,CACxBC,SAAUC,SAAYC,QAtCzBD,iBACC,MAAM7B,QAAeC,IACrB,IAAI2B,EAAWV,EAAmBO,IAAIzB,GACtC,QAAiBN,IAAbkC,EAAwB,CAE3B,MAAM1B,SAACA,EAAQC,YAAEA,GAAeH,EAAOI,QAAQC,OAC/CuB,EAAWG,EAAoBvB,EAAqB,CAACN,WAAUC,gBAAe6B,EAAmBC,WAAWC,UAC5GhB,EAAmBiB,IAAInC,EAAQ4B,EAChC,CAEA,OAAOA,CACR,CA2B+CQ,GAAmBZ,GAzBlE,WACC,MAAMa,EAA+B,oBAAbC,SAA2B,GAAKA,SAASC,gBAAgBC,KACjF,MAAiB,KAAbH,EACIA,EAGoB,oBAAdI,eAA4B/C,EAAY+C,UAAUJ,QACjE,CAkB4EK,OACrEhB,GAAa,CAAC/B,QAAS2B,IAAgB1B,OAExC8B,GACHN,EAAMe,IAAIX,EAAQhC,EAEpB,CAEA,OAAOA,CACR,CAOO,MAAMmD,EAAqB,SAA0DjD,IAA3CsC,EAAmBC,WAAWC,SA4BzE,SAAUU,EAAeC,EAAiC,IAC/D,MAAMrB,OAACA,GAAUqB,EACjB,OAAO5B,EAAQ,IAAMM,EAAYC,GAAS,CAACA,GAC5C,CAIA,MAEMsB,EAAU,mCAIVC,EAAY,IAAIC,IActB,SAASC,EAAWC,GACnB,MAAMC,EAbP,WACC,IACC,MAAMA,EAAeC,KAAKC,MAAMC,aAAaC,QAAQT,IAAY,MACjE,OAAOU,MAAMC,QAAQN,GAAOA,EAAIO,OAAQC,GAAmC,iBAAPA,GAAmB,EACxF,CAAE,MACD,MACD,CACD,CAMaC,GACZ,GAAKT,GAAKU,SAASX,IAAwBH,EAAUe,IAAIZ,GACxD,OAAO,EAGR,IACCI,aAAaS,QAAQjB,EAASM,KAAKY,UAAU,IAAIb,GAAO,GAAID,GAAWe,OAxBxD,KAyBhB,CAAE,MACDlB,EAAUmB,IAAIhB,EACf,CAEA,OAAO,CACR,CAEA,MAAMiB,EAA4E,IAAInB,IAAI,CAAC,gBAAiB,qBAuCrGnB,eAAeuC,EAAeC,GAEpC,MAAMH,EApCP,SAAmBG,GAClB,MAAwB,gBAApBA,EAAQA,SAA6B1B,KAAwB2B,EAAaD,EAAQE,WAC9E1C,MAAM2C,GAAYjD,IAAckD,QAAQJ,EAAQE,UAAWC,GAGxC,oBAApBH,EAAQA,SAAiCrC,EAAmBC,WAAWyC,aAC3E7C,MAAM2C,GAAY/E,IAAkBgF,QAAQJ,EAAQE,UAAWC,QAC/D9E,CACJ,CA4BaiF,CAAUN,GACtB,QAAY3E,IAARwE,IAAsBjB,EAAWoB,EAAQnB,WAC5C,OAGD,MAAM0B,EAAQC,KAAKC,MAAMT,EAAQG,UAC3BA,EAAWK,KAAKE,IAAIF,KAAKG,IAAIC,OAAOC,SAASN,GAASA,EAAQ,EAAG,GAlFnD,IAmFdO,QAAejB,EAAIM,GACnBY,EAlCP,SAAkBf,EAAsBG,EAAkBW,GACzD,MAAME,EAAQ,GAAGb,EAAW,EAAI,GAAGA,OAAgB,KAAKH,EAAQiB,KAAKC,OAAOlB,EAAQiB,KAAKzC,QAAQ2C,OAAS,EAAI,KAAKnB,EAAQiB,KAAKzC,QAAQ4C,IAAIC,GAAUA,EAAOC,OAAOC,KAAK,SAAW,KAC9KC,EAAO,CAAClC,GAAIU,EAAQnB,UAAWoC,KAAMjB,EAAQiB,KAAMd,YACzD,YAAqB9E,IAAjByF,EAAOW,MACH,IAAID,EAAME,QAAS,QAASC,QAASb,EAAOc,WAAW,IAAID,SAAW,GAAGX,qBAGvD,YAAtBF,EAAOW,MAAMI,KACT,IAAIL,EAAME,QAAS,UAAWC,QAASb,EAAOW,MAAME,SAGrD7B,EAAYL,IAAIqB,EAAOW,MAAMI,MACjC,IAAIL,EAAME,QAAS,cAAeC,QAAS,oDAC3C,IAAIH,EAAME,QAAS,SAAUC,QAASb,EAAOW,MAAME,QACvD,CAoBgBG,CAAS9B,EAASG,EAAUW,GAC3CnD,EAAmBC,WAAWmE,eAAehB,GAC7C,IACC,MAAMpF,QAAeC,UACfD,EAAOqG,UAAUC,WAAW,CACjCC,QAASlC,EAAQkC,QACjBC,UAA+B,oBAApBnC,EAAQA,QAAgC,uBAAyB,mBAC5EoC,QAAS,CACRvD,UAAWmB,EAAQnB,UAAWqB,UAAWF,EAAQE,UAAWC,WAAUuB,QAASX,EAAOW,WAAaZ,EAAOW,OAAS,CAACI,KAAMf,EAAOW,MAAMI,QAG1I,CAAE,MAAO,CAET,OAAOd,CACR,UAMgBsB,IACf,OAAO1E,EAAmB2E,GAASA,EAAMC,YAC1C,CCpMA,SAASC,EACRC,EACAC,GAEA,MAAMC,EAAcC,EAAOF,GAE3BC,EAAYE,QAAUH,EAEtBI,EAAU,IACWL,EAAYM,IAC/BJ,EAAYE,QAAQE,KAGnB,CAACN,GACL,CAyBM,SAAUO,EAAchH,GAC7B,MAAMiH,EAAOtF,EAAmBuF,GAAKA,EAAED,MACjCE,EAAQxF,EAAmBuF,GAAKA,EAAEC,OAIxCC,IAEAN,EAAU,KACTO,IACAJ,EAAKjH,GAEL,MAAMsH,EAAmB3F,EAAmBC,WAAW2F,oBAAoBrH,IACtEA,EAASsH,OAASC,EAAmBC,cACnC3D,EAAe7D,EAASD,QAI/B,MAAO,KACNqH,IACAH,IAIAQ,MAGC,CAACV,EAAME,EAAOnH,EAAO4H,SAAU5H,EAAOH,UAC1C,UAiCgBgI,IACf,MAAMC,EAAUnG,EAAmBuF,GAAKA,EAAEa,UACpCC,EAAYrG,EAAmBuF,GAAKA,EAAEc,WACtCC,EAAYtG,EAAmBuF,GAAKA,EAAEe,WACtCC,EAAStH,EAAQ,KAAA,CACtB,WAAAuH,CAAY7C,EAAgB9C,EAAwB,IACnDwF,EAAUI,EAAoBC,aAAcC,EAAahD,EAAO9C,GACjE,EACA,eAAA+F,CAAyCjF,EAAOd,EAAiC,IAChFwF,EAAUI,EAAoBC,aAAcG,EAAiBlF,EAAId,GAClE,EACA,OAAAiG,CAAQC,EAAeC,EAA4BnG,EAAwB,CAAA,GAC1EwF,EAAUI,EAAoBC,aAAcG,EAAiBG,EAAa,IAAInG,EAASkG,UACxF,IACG,CAACV,IACL,MAAO,CACNF,UAASE,YAAWC,eAAcC,EAEpC,CAUA,MAAMU,EAAmC,CAACC,YAAa,GAAIC,SAAS,YAgCpDC,EAAeC,EAAgBxG,EAA8B,IAC5E,MAAM0D,QAACA,EAAOlE,SAAEA,EAAQiH,WAAEA,EAAa,KAAOzG,EACxC0G,EAAcvH,EAAmBuF,GAA4B,cAAvBA,EAAEiC,mBACvC7C,EAAO8C,GAAYC,EAA2BT,IAC9CU,EAAcC,GAAmBF,EAASH,GAyCjD,OAvCII,IAAiBJ,IACpBK,EAAgBL,GACXA,GAGJE,EAASR,IAIX9B,EAAU,KACT,IAAKoC,EACJ,OAKD,IAAIM,GAAU,EACd,MAAMC,EAAQC,WAAW,KACxBN,EAASvC,IAAO,IAASA,EAASiC,SAAS,MAC3BnH,EAAmBC,WAAW+H,SAASC,QAAQZ,EAAQ,CAAC9C,UAASlE,cAAc6H,QAAQC,QAAQlB,IAE7GmB,KAAK,EAAElB,kBACFW,GACJJ,EAAS,CAACP,cAAaC,SAAS,MAGjCkB,MAAM,KACDR,GACJJ,EAASR,MAGC,KAAXI,EAAgB,EAAIC,GAEvB,MAAO,KACNO,GAAU,EACVS,aAAaR,KAEZ,CAACT,EAAQ9C,EAASlE,EAAUiH,EAAYC,IAEpCA,EAAc5C,EAAQsC,CAC9B,UAqBgBsB,IAEf,MAAO,CAAC5J,OADOqB,EAAmBuF,GAAKA,EAAEiC,kBAE1C,CAiBM,SAAUgB,GAAczD,GAC7BF,EAAiB7E,EAAmBuF,GAAKA,EAAEK,qBAAsBb,EAClE,CAkBM,SAAU0D,GAAsB1D,GACrCF,EAAiB7E,EAAmBuF,GAAKA,EAAEmD,uBAAwB3D,EACpE,CAiBM,SAAU4D,GAAW5D,GAC1BF,EAAiB7E,EAAmBuF,GAAKA,EAAEqD,kBAAmB7D,EAC/D,UA4DgB8D,KACf,OAAO5J,EAAQ,KAAA,CACdY,QAAa,gBACS5B,KACPT,KAAKsL,UAEpBjJ,QAAa,MAACkJ,UACQ9K,KACPT,KAAKwL,cAAc,CAACD,cAEnClJ,WAAgB,MAACkJ,UACK9K,KACPT,KAAKyL,mBAAmB,CAACF,cAExClJ,eAAoB,MAACkJ,EAAmBvG,WAClBvE,KACPT,KAAK0L,sBAAsB,CAACH,YAAWvG,eAEnD,GACL,UAagB2G,KACf,OAAOC,CACR,UAoCgBC,KACf,OAAOpK,EAAQ,KAAA,CACdY,QAAa,MAACyJ,EAAkBzI,WACV5C,KACPsL,OAAOC,QAAQ,CAACF,cAAazI,IAE5ChB,QAAa,MAACyJ,EAAkBzI,WACV5C,KACPsL,OAAOE,QAAQ,CAACH,cAAazI,MAEzC,GACL,UA2BgB6I,KACf,OAAOzK,EAAQ,KAAA,CACdY,WAAgB,gBACM5B,KACPG,QAAQuL,eAEpB,GACL,CC3cM,SAAUC,GAAWC,GAE1B,MAAOC,EAASC,GAAcrC,IACxBsC,OAAuCtM,IAA3BuM,EAAaJ,GAE/B1E,EAAU,KACT,IAAK6E,EACJ,OAGD,IAAInC,GAAU,EAYd,OAXAqC,EAAed,EAAWS,GACxBzB,KAAK+B,IACAtC,GACJkC,EAAW,CAACF,WAAUM,WAGvB9B,MAAOvE,IACF+D,GACJkC,EAAW,CAACF,WAAU/F,MAAOA,aAAiBsG,MAAQtG,EAAQ,IAAIsG,MAAMC,OAAOvG,QAG3E,KACN+D,GAAU,IAET,CAACgC,EAAUG,IAEd,MAAM9E,EAAU8E,GAAaF,GAASD,WAAaA,EAAWC,OAAUpM,EACxE,MAAO,CAACyM,KAAMjF,GAASiF,KAAMhD,QAAS6C,QAAyBtM,IAAZwH,EAAuBpB,MAAOoB,GAASpB,MAC3F,CCVO,MAEDwG,GAAUxG,IAAc,CAAqByG,IAAI,EAAOzG,UAc9D,MAEM0G,GAAmB,CAAC7F,MAAO,QAC3B8F,GAAiBC,EAAmC,KAAA,CAAS,IAE7DC,GAAmB,IAAItL,aAiDbuL,KACf,MAAMC,EAAU7K,EAAmBuF,GAA4B,cAAvBA,EAAEiC,kBACpCjD,EAAUvE,EAAmBuF,GAAKA,EAAEhB,SACpC8B,EAAYrG,EAAmBuF,GAAKA,EAAEc,WACtCyE,EAAY9K,EAAmBuF,GAAKA,EAAEK,qBAEtCmF,EAAMC,EAAYnL,MAAOoL,EAAgBpK,EAAsB,CAAA,KAEpE,MAAMqK,EAAQrK,EAAQ0D,SAAWA,EAC3B4G,EAAS1G,IACd,IAEC,OADA4B,EAAUI,EAAoBC,aAAc,IAAIjC,UAAuB/G,IAAVwN,GAAuB,CAAC3G,QAAS2G,KACvF,CAACX,IAAI,EACb,CAAE,MAAOzG,GACR,OAAOwG,GAAOxG,EACf,GAGD,OAAQmH,EAAOpF,MACd,IAAK,OACJ,YAA4BnI,IAAxB0N,WAAWC,SACPf,GAAO,IAAIF,MAAM,4CAGrBa,EAAOK,OACVF,WAAWG,KAAKN,EAAOvM,IAAK,SAAU,YAEtC0M,WAAWC,SAASG,OAAOP,EAAOvM,KAG5B,CAAC6L,IAAI,IAGb,IAAK,MACJ,OAAOY,EAAM,CAACM,WAAY,CAAC5F,KAAM,WAAYvH,KAAM,CAACqF,MAAOsH,EAAOtH,UAGnE,IAAK,WACJ,OAAOwH,EAAMtE,EAAiBoE,EAAOtJ,GAAI,CAACgC,MAAOsH,EAAOtH,MAAOc,QAASwG,EAAOxG,QAASsC,MAAOkE,EAAOlE,SAGvG,IAAK,OAGJ,OA7GJlH,eAAuB6L,GACtB,IACC,MAAM5H,MAACA,SAAe4H,EACtB,YAAiBhO,IAAVoG,EAAsB,CAACyG,IAAI,GAAQD,GAAOxG,EAClD,CAAE,MAAOA,GACR,OAAOwG,GAAOxG,EACf,CACD,CAsGWgG,CAAQ7L,IAAkBmK,KAAKvI,MAAM7B,GACvC2C,IACIpB,IAAckD,QAAQwI,EAAOlC,WAG9B/I,EAAmBC,WAAWyC,aAClCjF,IAAkBgF,QAAQwI,EAAOlC,WACjC/K,EAAOR,KAAKwL,cAAc,CAACD,UAAWkC,EAAOlC,cAIlD,IAAK,SAAU,CAEd,MAAM4C,EAAeC,IACrBjB,GAAiBxK,IAAI8K,EAAOY,KAAMF,GAClClB,GAAehD,SAAS,CAAC,CAACwD,EAAOY,MAAO,CAAClH,MAAO,aAChD,MAAMmH,EAAOX,EAAM,IACftE,EAAiBoE,EAAOY,KAAM,CAACpH,QAAS5D,EAAQkL,QAAU,GAAIJ,yBACrCjO,IAAxB0N,WAAW9K,UAA0B,CAAC0L,QAAS,CAACC,OApHtCA,EAoHuDb,WAAW9K,SAAS2L,MApHjDA,EAAMC,WAAW,gBAAiB,IAAIjK,MAAM,EAAG,KAAKkK,QAAQ,kBAAmB,SAuHlHhJ,EAAS2I,EAAKvB,SA7GxB1K,eAA+B8L,EAAsBb,GACpD,OAAO,IAAI5C,QAAQC,IAElB,IAAIiE,EAA0B,OAC9B,MAAMtE,EAAQC,WAAW,KACxBqE,IACAjE,EAAQmC,GAAO,aAhCe,KAkC/B8B,EAActB,EAAU9G,IACvB,GAAqB,kBAAjBA,EAAQ6B,MAAiE,sBAArC7B,EAAQqI,QAAQZ,YAAY5F,MAChE7B,EAAQqI,QAAQZ,WAAWnN,KAAKqN,eAAiBA,EACpD,OAGD,MAAMxI,GAAUa,EAAQqI,QAAQC,QAAU,IAAI7I,IAAIsD,GAASwF,EAAgBxF,IAAQyF,KAAKC,GAASA,GAAOd,eAAiBA,QAC1GjO,IAAXyF,IAIJmF,aAAaR,GACbsE,IACAjE,EAAQ,CAACoC,IAAI,EAAMpH,eAGtB,CAqFmCuJ,CAAgBf,EAAcb,GAAagB,EAK1E,OAJInB,GAAiBlL,IAAIwL,EAAOY,QAAUF,GACzClB,GAAehD,SAAS,CAAC,CAACwD,EAAOY,MAAO1I,EAAOoH,GAAK,CAAC5F,MAAO,OAAQxB,OAAQA,EAAOA,QAAUqH,KAGvFrH,CACR,EA7He,IAAC8I,GA+Hf,CAAC5F,EAAW9B,EAASuG,IAExB,OAAO7L,EAAQ,KAAA,CAAQ8L,MAAK4B,MAAO9B,EAAStG,YAAW,CAACwG,EAAKF,EAAStG,GACvE,CAYM,SAAUqI,GAAcf,GAC7B,OAAOpB,GAAelF,GAAKA,EAAEsG,IAASrB,GACvC,CCtMA,MAAMqC,IACa,GADbA,GAEY,KAFZA,GAGQ,IAGR,SAAUC,IAAiBC,iBAChCA,EAAmBF,GAA+BG,gBAClDA,EAAkBH,GAA8BI,YAChDA,EAAcJ,GAA0BK,oBACxCA,IAEA,MAAOvI,EAAO8C,GAAYC,EAA6B,SAChDyF,EAAaC,GAAkB1F,EAAmB,KAClD5D,EAAOuJ,GAAY3F,OAA6BhK,GAEjD4P,EAAmBrI,OAAkCvH,GACrD6P,EAAkBtI,OAAiCvH,GACnD8P,EAAcvI,OAAiCvH,GAC/C+P,EAAYxI,OAAgCvH,GAC5CgQ,EAAoBzI,EAAe,GACnC0I,EAAkB1I,EAAe,GACjC2I,EAAsB3I,OAAsCvH,GAC5DmQ,EAAY5I,EAAe,IAC3B6I,EAAc7I,GAAO,GAGrB8I,EAAU/C,EAAY,KAW3B,GAVkC,IAA9B0C,EAAkBxI,UACrB8I,qBAAqBN,EAAkBxI,SACvCwI,EAAkBxI,QAAU,QAGOxH,IAAhCkQ,EAAoB1I,UACvBoD,aAAasF,EAAoB1I,SACjC0I,EAAoB1I,aAAUxH,GAG3B+P,EAAUvI,QAAS,CACtB,IAAK,MAAM+I,KAASR,EAAUvI,QAAQgJ,YACrCD,EAAME,OAGPV,EAAUvI,aAAUxH,CACrB,CAEuC,WAAnC6P,EAAgBrI,SAASP,OACvB4I,EAAgBrI,SAASkJ,QAG/Bb,EAAgBrI,aAAUxH,EAC1B8P,EAAYtI,aAAUxH,EACtB4P,EAAiBpI,aAAUxH,EAC3BoQ,EAAY5I,SAAU,GACpB,IAEHC,EAAU,IAAM4I,EAAS,CAACA,IAE1B,MAAMM,EAAgBrD,EAAY,KAC7B8C,EAAY5I,UAIhB4I,EAAY5I,SAAU,EAEkB,cAApCoI,EAAiBpI,SAASP,OAC7B2I,EAAiBpI,QAAQiJ,OAGQ,IAA9BT,EAAkBxI,UACrB8I,qBAAqBN,EAAkBxI,SACvCwI,EAAkBxI,QAAU,QAGOxH,IAAhCkQ,EAAoB1I,UAIxBoD,aAAasF,EAAoB1I,SACjC0I,EAAoB1I,aAAUxH,KAC5B,IAEG4Q,EAAiBtD,EAAYnL,UAClCwN,OAAS3P,GACTmQ,EAAU3I,QAAU,GACpB4I,EAAY5I,SAAU,EAEtB,IACC,MAAMqJ,QAAe9N,UAAU+N,aAAaC,aAAa,CACxDC,MAAO,CACNC,kBAAkB,EAClBC,kBAAkB,EAClBC,WAAY,QAIdpB,EAAUvI,QAAUqJ,EAEpB,MAAMO,EAAe,IAAIC,aAAa,CAACF,WAAY,OACnDtB,EAAgBrI,QAAU4J,EAE1B,MAAME,EAASF,EAAaG,wBAAwBV,GAC9CW,EAAWJ,EAAaK,iBAC9BD,EAASE,QAAU,IACnBF,EAASG,sBAAwB,GACjCL,EAAOM,QAAQJ,GACf1B,EAAYtI,QAAUgK,EAEtB,MAAMK,EAAWC,cAAcC,gBAAgB,0BAC5C,yBACA,aAEGC,EAAgB,IAAIF,cAAcjB,EAAQ,CAACgB,aACjDjC,EAAiBpI,QAAUwK,EAE3BA,EAAcC,iBAAiB,gBAAkBC,IAC5CA,EAAMtR,KAAKuR,KAAO,GACrBhC,EAAU3I,QAAQ4K,KAAKF,EAAMtR,QAI/BoR,EAAcC,iBAAiB,OAAQ,KACtClI,EAAS,cACT,MAAMsI,EAAY,IAAIC,KAAKnC,EAAU3I,QAAS,CAACW,KAAM0J,IACrDxB,IACAb,EAAoB6C,KAGrBL,EAAc3R,MAAM,KACpB0J,EAAS,aACTkG,EAAgBzI,QAAU,EAE1B0I,EAAoB1I,QAAU6C,WAAW,KACxCsG,KACEpB,GAEH,MAAMgD,EAAe,KACpB,IAAKzC,EAAYtI,SAAW4I,EAAY5I,QACvC,OAGD,MAAMgL,EAAe1C,EAAYtI,QAAQiL,kBACnCC,EAAY,IAAIC,WAAWH,GACjC1C,EAAYtI,QAAQoL,qBAAqBF,GAEzC,MAAMG,EAAO1N,KAAK2N,MAAMN,EAxHT,IAyHTO,EAAmB,GACzB,IAAK,IAAIC,EAAI,EAAGA,EA1HD,GA0HgBA,IAAK,CACnC,IAAIC,EAAM,EACV,IAAK,IAAIC,EAAI,EAAGA,EAAIL,EAAMK,IACzBD,GAAOP,EAAWM,EAAIH,EAAQK,GAG/BH,EAAOX,KAAKa,EAAMJ,EAAO,IAC1B,CAEAnD,EAAeqD,GAEf,IAAII,EAAa,EACjB,IAAK,MAAMlN,KAASyM,EAAW,CAC9B,MAAMU,EAAanN,EAAQ,IAC3BkN,GAAcC,EAAaA,CAC5B,CAEA,MAAMC,EAAMlO,KAAKmO,KAAKH,EAAaX,GAGnC,IAFWa,EAAM,EAAI,GAAKlO,KAAKoO,MAAMF,IAAQ,KAEpChE,GACR,GAAgC,IAA5BY,EAAgBzI,QACnByI,EAAgBzI,QAAUgM,KAAKC,WACzB,GAAID,KAAKC,MAAQxD,EAAgBzI,QAAU8H,EAEjD,YADAqB,SAIDV,EAAgBzI,QAAU,EAG3BwI,EAAkBxI,QAAUkM,sBAAsBnB,IAGnDA,GACD,CAAE,MACD5C,EAAS,4BACT5F,EAAS,QACTsG,GACD,GACE,CAAChB,EAAkBC,EAAiBC,EAAaC,EAAqBmB,EAAeN,IAElFvI,EAAQwF,EAAY,KACzBvD,EAAS,QACT2F,EAAe,KACb,IAEH,MAAO,CACNzI,QAAOwI,cAAamB,iBAAgBD,gBAAe7I,QAAO1B,QAE5D,CC5KM,SAAUuN,GAAY3C,GAC3B,MAAM4C,EAAWrM,OAAqCvH,IAC/CiH,EAAO8C,GAAYC,EAAwB,SAC3C5D,EAAOuJ,GAAY3F,OAA6BhK,GAEvDyH,EAAU,KACT,MAAMoM,EAAW7C,GAAO6C,SACxB,GAAqB,oBAAVC,YAAsC9T,IAAb6T,GAAuC,KAAbA,EAI7D,OAHAD,EAASpM,aAAUxH,OAEnB+J,EAAS,QAIV,MAAMgK,EAAU,IAAID,MAAMD,GAC1BE,EAAQC,QAAU,OAClBJ,EAASpM,QAAUuM,EAEnBhK,EAAS,QACT4F,OAAS3P,GAET,MAAMiU,EAAY,KACjBlK,EAAS,YAGJmK,EAAY,KACjBnK,EAAS,YAGJoK,EAAU,KACfpK,EAASqK,GAA0B,UAAbA,EAAuBA,EAAW,WAGnDC,EAAU,KACftK,EAAS,UAGJuK,EAAU,KACf3E,EAAS,yBACT5F,EAAS,UASV,OANAgK,EAAQ9B,iBAAiB,UAAWgC,GACpCF,EAAQ9B,iBAAiB,UAAWiC,GACpCH,EAAQ9B,iBAAiB,QAASkC,GAClCJ,EAAQ9B,iBAAiB,QAASoC,GAClCN,EAAQ9B,iBAAiB,QAASqC,GAE3B,KACNP,EAAQQ,QACRR,EAAQS,oBAAoB,UAAWP,GACvCF,EAAQS,oBAAoB,UAAWN,GACvCH,EAAQS,oBAAoB,QAASL,GACrCJ,EAAQS,oBAAoB,QAASH,GACrCN,EAAQS,oBAAoB,QAASF,GACrCP,EAAQU,IAAM,GACdb,EAASpM,aAAUxH,IAElB,CAACgR,GAAO6C,WAEX,MAAMa,EAAOpH,EAAYnL,UACxB,MAAM4R,EAAUH,EAASpM,QACzB,GAAKuM,EAIL,IACCpE,OAAS3P,GACT+J,EAAS,iBACHgK,EAAQW,MACf,CAAE,MACD/E,EAAS,yBACT5F,EAAS,QACV,GACE,IAEGwK,EAAQjH,EAAY,KACzBsG,EAASpM,SAAS+M,SAChB,IAEG9D,EAAOnD,EAAY,KACxB,MAAMyG,EAAUH,EAASpM,QACpBuM,IAILA,EAAQQ,QACRR,EAAQY,YAAc,EACtB5K,EAAS,UACP,IAEG6K,EAAStH,EAAY,KAC1B,MAAMyG,EAAUH,EAASpM,QACpBuM,IAIDA,EAAQc,OACNH,IAELX,EAAQQ,UAEP,CAACG,IAEJ,MAAO,CACNzN,QACA6N,UAAqB,YAAV7N,GAAiC,YAAVA,EAClCb,QACAsO,OACAH,QACAK,SACAnE,OAEF,CC9JM,SAAUsE,GAAeC,GAC9B,OACCC,EAAA,MAAA,CAAKC,QAAQ,YAAYC,KAAK,eAAeC,KAAK,MAAK,aAAY,gBAAiBJ,EAAKK,SAExFJ,EAAA,OAAA,CAAMK,EAAE,ipGAGX,CC8LA,MAAMC,GAAqC,CAC1CC,KAAM,OACNC,MAAO,eACPjM,YAAa,cACbf,QAAS,UACTiN,aAAc,yBACdC,WAAY,OACZC,UAAW,iBACXC,UAAW,aACXC,YAAa,UAWR,SAAUC,IAAcC,SAC7BA,EACA/P,MAAOgQ,EAAeC,cACtBA,EAAaC,YACbA,EAAc,qBAAoBC,WAClCA,EAAUC,YACVA,EAAWC,OACXA,EAAMC,KACNA,EAAI/M,YACJA,EAAWgN,iBACXA,EAAgB/N,QAChBA,EAAOgO,QACPA,EAAOC,aACPA,EAAYC,UACZA,GAAY,EACZC,OAAQC,EAAcC,SACtBA,EAAQC,QACRA,EAAOC,KACPA,EAAIvN,QACJA,EAAOwN,SACPA,EAAQC,UACRA,EAASC,UACTA,EAAY,GAAEC,MACdA,EAAK/B,SACLA,EAAQgC,UAERA,EAASC,KAETA,IAEA,MAAOC,EAAUC,GAAexN,EAAS,IACnC/D,EAAQgQ,GAAmBsB,GAC1BE,IAAKC,EAAQC,YAAEA,GAkbvB,SAAsB1R,GACrB,MAAMwR,EAAMlQ,EAA4B,OACjCoQ,EAAaC,GAAkB5N,GAAS,GA6B/C,OA3BAvC,EAAU,KACT,MAAMoQ,EAAQJ,EAAIjQ,QAClB,IAAKqQ,GAAmC,oBAAnBC,eACpB,OAGD,MAAMC,EAAW,IAAID,eAAe,KAEnCF,EAAeC,EAAMG,aAAuE,IAAxDzS,OAAO0S,WAAWC,iBAAiBL,GAAOM,eAG/E,OADAJ,EAASK,QAAQP,GACV,KACNE,EAASM,eAER,IAGH5Q,EAAU,KACT,MAAMoQ,EAAQJ,EAAIjQ,SACbqQ,GAAyB,oBAARS,KAAuBA,IAAIC,SAAS,eAAgB,aAI1EV,EAAMT,MAAMoB,OAAS,OACrBX,EAAMT,MAAMoB,OAAS,GAAGX,EAAMY,mBAC5B,CAACxS,IAEG,CAACwR,MAAKE,cACd,CAldsCe,CAAazS,IAC3CwR,IAAKkB,EAASC,OAAQC,EAAeC,UAAWC,GAsdxD,WACC,MAAMtB,EAAMlQ,EAAuB,OAC5BqR,EAAQE,GAAa9O,GAAS,GAmBrC,OAjBAvC,EAAU,KACT,IAAKmR,EACJ,OAGD,MAAMI,EAAgB9G,IACjBA,EAAM+G,kBAAkBC,OAASzB,EAAIjQ,SAAS2R,SAASjH,EAAM+G,SAChEH,GAAU,IAKZ,OADAlW,SAASqP,iBAAiB,cAAe+G,GAClC,KACNpW,SAAS4R,oBAAoB,cAAewE,KAE3C,CAACJ,IAEG,CAACnB,MAAKmB,SAAQE,YACtB,CA5e4EM,IACrEC,OACLA,EAAQ7U,IAAKqR,EAAWyD,OAAQxD,EAAaL,MAAO8D,GAgftD,WACC,MAAOF,EAAQG,GAAaxP,EAAiC,IACvDyP,EAAUlS,EAAO,IAAIjE,KAE3BmE,EAAU,KACT,MAAMiS,EAAOD,EAAQjS,QACrB,MAAO,KACN,IAAK,MAAMxG,KAAO0Y,EACjBC,IAAIC,gBAAgB5Y,GAGrB0Y,EAAKjE,UAEJ,IAEH,MAAMoE,EAAW7Y,IAChB2Y,IAAIC,gBAAgB5Y,GACpByY,EAAQjS,QAAQsS,OAAO9Y,IAGxB,MAAO,CACNqY,SACA,GAAA7U,CAAIuV,GACH,MAAMC,EAAQD,EAAMhU,IAAIkU,IAAI,CAAMA,OAAMjZ,IAAK2Y,IAAIO,gBAAgBD,MACjE,IAAK,MAAMjZ,IAACA,KAAQgZ,EACnBP,EAAQjS,QAAQhD,IAAIxD,GAGrBwY,EAAUhS,GAAW,IAAIA,KAAYwS,GACtC,EACA,MAAAV,CAAOtY,GACN6Y,EAAQ7Y,GACRwY,EAAUhS,GAAWA,EAAQxD,OAAOmW,GAASA,EAAMnZ,MAAQA,GAC5D,EACA,KAAAyU,GACC,IAAK,MAAMzU,IAACA,KAAQqY,EACnBQ,EAAQ7Y,GAGTwY,EAAU,GACX,EAEF,CAzhBKY,GACEC,EAAYC,IACZ1D,EA8JP,SAAkB2D,EAAqDlD,GACtE,MAAO,IAAI9B,WAAiCvV,IAAdqX,GAA2B,CAAC7B,KAAM6B,MAAgBkD,EACjF,CAhKgBC,CAAS3D,EAAgBQ,GAClCoD,EAiKP,UAAkBhS,QAACA,EAAOgO,QAAEA,EAAOC,aAAEA,IACpC,YAAmB1W,IAAZyI,QAAqCzI,IAAZyW,IAA0C,IAAjBC,EAAwB,QAAU,SAC5F,CAnKgBgE,CAAS,CAACjS,UAASgO,UAASC,iBAErCiE,EAAYC,IACjBpD,EAAYoD,GACZ1E,IAAgB0E,IAGXC,EAAS5U,EAAM6U,OACfC,EAiJP,SAAiBF,EAAgBG,EAAgCvR,EAA8BwN,GAC9F,OAAmB,KAAX4D,GAAiBG,EAAOlV,OAAS,KAAO2D,IAAYwN,CAC7D,CAnJmBgE,CAAQJ,EAAQxB,EAAQ5P,EAASwN,GAE7CzB,EAAO,KACPuF,IAIL/E,EAAS6E,EAAQxB,EAAOtT,IAAIoU,GAASA,EAAMF,OAC3CU,EAAS,IACTpB,IACAR,GAAiB,KAGZmC,EAAUhJ,IACfA,EAAMiJ,iBACN3F,KAGKL,EAAQyF,IACbD,EAASC,GACT7B,GAAiB,GACjBrB,EAASlQ,SAAS4T,SAGnB,GAAI/F,EACH,OACCJ,EAACoG,IACAlE,UAAWA,EACX1N,QAASA,EACTkN,UAAWA,EACXS,MAAOkE,GAAS,CACfjF,cAAaC,SAAQC,OAAMgF,MAAOjE,EAAMN,OAAMI,UAE/CpB,SAAUkF,EAAM7F,SAEfA,EAAS,CACTmG,WAAY,CACX/D,IAAKC,EACLzR,QACAkQ,cACA,aAAcA,EACdsF,aAAc,OACdC,KAAM,EACNzE,WACAC,YACA,QAAAyE,CAASzJ,GACRyI,EAASzI,EAAM+G,OAAOhT,MACvB,EACA2V,UAAWC,IAEZ5V,QACA0U,WACAxF,OACA4F,YACAG,OAAQ1F,EACRwF,OAAQ3B,EACRxD,YACAC,kBAeJ,OACCgG,EAAA,MAAA,CACCrE,IAAKkB,EACLxB,UAAW,UAAUA,IAAY4E,UAAS,kBACzB3F,EAAU,cACdqE,EAAM,iBACH9C,QAAe3X,kBACL,IAAZyJ,QAAoBzJ,EAClCoX,MAAOkE,GAAS,CACfjF,cAAaC,SAAQC,OAAMgF,MAAOjE,EAAMN,OAAMI,UAE/CwE,UApBqB1J,IACjB2G,GAA+B,WAAd3G,EAAM8J,MAI5BjD,GAAiB,GACjBrB,EAASlQ,SAAS4T,UAcO/F,SAAA,CAIxBJ,EAAA,QAAA,CAAAI,SAAQ4G,KAERhH,EAACiH,IAAY1S,YAAaqP,OAAgB7Y,EAAYwJ,EAAa2S,MAAO3F,EAAkB4F,MAAOxF,EAAOpN,YAAayN,SAAUA,EAAUoF,OAAQlH,IACnJ2G,EAAA,MAAA,CAAK3E,UAAU,yBACdlC,EAACqH,IAAK/F,KAAMA,EAAMgF,MAAOjE,EAAM7N,QAASA,IACxCwL,EAACsH,IAAQtY,GAAIoW,EAAWzB,OAAQC,EAAe2D,QAAS/T,EAASmO,OAAQA,EAAQyF,OAAQlH,IACzF2G,UAAM3E,UAAU,eAAc,YAAY1N,EAASuM,SAAUkF,EAAM7F,SAAA,CAClEJ,EAACwH,GAAM,CAACpD,OAAQA,EAAQ+C,MAAOxF,EAAOd,YAAa4G,SAAU5G,IAC7DgG,EAAA,MAAA,CAAK3E,UAAU,uBACF,YAAXsD,GAAwBxF,EAACF,GAAc,CAACoC,UAAU,gBACnDlC,EAAA,WAAA,CACCwC,IAAKC,EACLP,UAAU,eACVuE,KAAM,EACNzV,MAAOA,EACPkQ,YAAaA,eACDA,EACZsF,aAAa,OACbxE,SAAUA,EACVC,UAAWA,EACXyE,SAAUzJ,IACTyI,EAASzI,EAAM+G,OAAOhT,QAEvB2V,UAAWC,KAEZ5G,EAAC0H,GAAW,CAACC,QAAmB,KAAV3W,EAAcmW,MAAOxF,EAAOnB,MAAOwB,SAAUA,EAAU4F,QAAS,KACrF1H,EAAK,OAEM,YAAXsF,GAAwB1D,EACzB9B,EAAA,SAAA,CAAQ9M,KAAK,SAASgP,UAAU,cAAcF,UAAW8D,EAAS,aAAcnE,EAAOpB,cACrFsB,GAAY7B,EAAC6H,GAAS,CAAA,QAGb,UAAXrC,GACAqB,EAAA,MAAA,CAAK3E,UAAU,0BACd2E,EAAA,MAAA,CAAK3E,UAAU,eAAc9B,SAAA,CAC3BqB,GAAgBzB,EAAC8H,GAAe,CAACX,MAAOxF,EAAOf,UAAWoB,SAAUA,EAAU+F,MAAOnH,IACrFpN,GACAwM,EAACgI,GAAU,CAACb,MAAOxF,EAAOnO,QAASwO,SAAUA,EAAQ,gBAAiB4B,EAAa,gBAAiBwB,EAAW6C,QAAS,KACvHnE,EAAiBH,IAAWA,IAC5BvD,SACAJ,EAACkI,GAAQ,CAAA,KAGV1G,GAAWxB,EAACmI,IAAYxG,OAAQA,EAAQK,SAAUA,EAAUxN,QAASA,EAASgN,QAASA,IACvFM,KAEF9B,EAACoI,GAAS,CAAA,YAKF,YAAX5C,GAAwB9D,GAAa1B,EAACoI,GAAS,CAAA,KAGnD,CAgBA,SAAShC,IAAQlE,UAChBA,EAAS1N,QAAEA,EAAOkN,UAAEA,EAASS,MAAEA,EAAKpB,SAAEA,EAAQX,SAAEA,IAShD,OACCyG,EAAA,MAAA,CAAK3E,UAAW,UAAUA,IAAY4E,UAAS,cAAc,SAAQ,gBAA2B,IAAZtS,QAAoBzJ,EAAWoX,MAAOA,EAAK/B,SAAA,CAC9HJ,EAAA,QAAA,CAAAI,SAAQ4G,KACRH,EAAA,OAAA,CAAM3E,UAAU,gBAAe,YAAY1N,EAASuM,SAAUA,EAAQX,SAAA,CACrEJ,EAACF,GAAc,CAACoC,UAAU,gBACzB9B,KAEDsB,GAAa1B,EAACoI,GAAS,CAAA,KAG3B,CAEA,SAASA,KACR,OAAOpI,EAAA,OAAA,CAAMkC,UAAU,sDACxB,CAEA,SAASmF,IAAK/F,KAACA,EAAIgF,MAAEA,EAAK9R,QAAEA,IAO3B,YAD4BzJ,IAATuW,IAA+B,IAATA,QAA6BvW,IAAVub,IAAmC,IAAZ9R,EAChEwL,UAAMkC,UAAU,cAAa,cAAa,SAAW,IACzE,CAEA,SAAS+E,IAAY1S,YACpBA,EAAc,GAAE2S,MAAEA,EAAKC,MAAEA,EAAKnF,SAAEA,EAAQoF,OAAEA,IAQ1C,OAA2B,IAAvB7S,EAAY1D,OACR,KAIPmP,EAAA,MAAA,CAAKkC,UAAU,qBAAqB/B,KAAK,qBAAoBgH,EAAK,aAAcD,EAAK9G,SACnF7L,EAAYzD,IAAI,CAACuX,EAAYC,IAE7BtI,YAAoB9M,KAAK,SAASgP,UAAU,oBAAoBF,SAAUA,EAAUiG,QAAS,KAC5Fb,EAAOiB,IACPjI,SACCiI,GAHWC,KAQjB,CAEA,SAAShB,IAAQtY,GAChBA,EAAE2U,OAAEA,EAAM4D,QAAEA,EAAU,GAAE5F,OAAEA,EAAMyF,OAAEA,IAQlC,OAAKzD,EAKJ3D,SAAKhR,GAAIA,EAAIkT,UAAU,iBAAiB/B,KAAK,QAAO,aAAawB,EAAOnO,iBACnD,IAAnB+T,EAAQ1W,OACNmP,OAAGkC,UAAU,uBAAsB9B,SAAEuB,EAAOlB,eAE7CT,EAAA,KAAA,CAAAI,SACEmH,EAAQzW,IAAI,CAACyX,EAAOD,IAEpBtI,EAAA,KAAA,CAAAI,SACCJ,EAAA,SAAA,CAAQ9M,KAAK,SAASgP,UAAU,sBAAsB+F,QAAS,KAC9Db,EAAOmB,IACPnI,SACCmI,KAJMD,QAXP,IAuBT,CAEA,SAASd,IAAOpD,OAACA,EAAM+C,MAAEA,EAAKM,SAAEA,IAK/B,OAAsB,IAAlBrD,EAAOvT,OACH,KAIPmP,EAAA,KAAA,CAAIkC,UAAU,gBAAe9B,SAC3BgE,EAAOtT,IAAI,EAAEkU,OAAMjZ,SACnB8a,EAAA,KAAA,CAAc3E,UAAU,eAAc9B,SAAA,CACrCJ,EAAA,MAAA,CAAKR,IAAKzT,EAAKyc,IAAKxD,EAAKpU,OACzBoP,EAAA,SAAA,CAAQ9M,KAAK,SAAQ,aAAa,GAAGiU,KAASnC,EAAKpU,OAAQ0I,MAAO,GAAG6N,KAASnC,EAAKpU,OAAQqX,QAAS,KACnGR,EAAS1b,IACTqU,SACAJ,EAACyI,GAAS,CAAA,OALH1c,KAWb,CAEA,SAAS2b,IAAYC,QACpBA,EAAOR,MAAEA,EAAKnF,SAAEA,EAAQ4F,QAAEA,IAO1B,OAAKD,EAKJ3H,EAAA,SAAA,CAAQ9M,KAAK,SAASgP,UAAU,eAAc,aAAaiF,EAAO7N,MAAO6N,EAAOnF,SAAUA,EAAUiG,QAASL,EAAOxH,SACnHJ,EAACyI,GAAS,CAAA,KALJ,IAQT,CAEA,SAAST,IAAWb,MAACA,EAAK/G,SAAEA,KAAaL,IASxC,OACCC,YAAQ9M,KAAK,SAASgP,UAAU,cAAa,aAAaiF,EAAO7N,MAAO6N,KAAWpH,EAAKK,SACtFA,GAGJ,CAEA,SAAS0H,IAAgBX,MAACA,EAAKnF,SAAEA,EAAQ+F,MAAEA,IAK1C,MAAMtF,EAAWnQ,EAAyB,MAC1C,OACCuU,EAAA6B,EAAA,CAAAtI,SAAA,CACCJ,EAACgI,GAAU,CAACb,MAAOA,EAAOnF,SAAUA,EAAUiG,QAAS,KACtDxF,EAASlQ,SAASoW,SAClBvI,SACAJ,EAAC4I,GAAQ,CAAA,KAEV5I,EAAA,QAAA,CAAOwC,IAAKC,EAAUoG,QAAM,EAAC3V,KAAK,OAAO4V,OAAO,UAAUC,UAAQ,EAACrC,SAAUzJ,IAC5E8K,EAAM,IAAK9K,EAAM+G,OAAOc,OAAS,KAEjC7H,EAAM+G,OAAOhT,MAAQ,QAIzB,CAEA,SAASmX,IAAYxG,OACpBA,EAAMK,SAAEA,EAAQxN,QAAEA,EAAOgN,QAAEA,IAO3B,MAAMwH,EAAW7O,GAAiB,CAACI,oBAAqBiH,IAClDyH,EAAiC,cAAnBD,EAAShX,MACvBmV,EAAQ8B,EAActH,EAAOhB,UAAYgB,EAAOjB,WAEhDwI,IAA0B,IAAblH,IAAiC,IAAZxN,KAAsByU,EAC9D,OACCjJ,EAACgI,GAAU,CAACb,MAAO6B,EAAS7X,OAASgW,EAAOnF,SAAUkH,EAAS,eAAgBD,EAAahB,QAAS,KAChGgB,EACHD,EAAStN,gBAEJsN,EAASrN,2BAGfqE,EAACmJ,GAAO,CAAA,IAGX,CAEA,SAAStB,KACR,OACC7H,EAAA,MAAA,CAAKC,QAAQ,YAAYC,KAAK,OAAOkJ,OAAO,eAAeC,cAAc,QAAQC,eAAe,sBAAoB,OAAMlJ,SACzHJ,EAAA,OAAA,CAAMK,EAAE,6CAGX,CAEA,SAASoI,KACR,OACCzI,EAAA,MAAA,CAAKC,QAAQ,YAAYC,KAAK,OAAOkJ,OAAO,eAAeC,cAAc,QAAO,cAAa,OAAMjJ,SAClGJ,EAAA,OAAA,CAAMK,EAAE,uBAGX,CAEA,SAASuI,KACR,OACC5I,EAAA,MAAA,CAAKC,QAAQ,YAAYC,KAAK,OAAOkJ,OAAO,eAAeC,cAAc,QAAO,cAAa,OAAMjJ,SAClGJ,EAAA,OAAA,CAAMK,EAAE,wBAGX,CAEA,SAAS6H,KACR,OACClI,EAAA,MAAA,CAAKC,QAAQ,YAAYC,KAAK,OAAOkJ,OAAO,eAAeC,cAAc,QAAQC,eAAe,sBAAoB,OAAMlJ,SACzHJ,EAAA,OAAA,CAAMK,EAAE,kHAGX,CAEA,SAAS8I,KACR,OACCtC,EAAA,MAAA,CAAK5G,QAAQ,YAAYC,KAAK,OAAOkJ,OAAO,eAAeC,cAAc,QAAQC,eAAe,QAAO,cAAa,OAAMlJ,SAAA,CACzHJ,EAAA,OAAA,CAAMuJ,EAAE,IAAIC,EAAE,MAAMC,MAAM,IAAIlG,OAAO,IAAImG,GAAG,MAC5C1J,EAAA,OAAA,CAAMK,EAAE,wCAGX,CAGA,SAASuG,GAAY3J,GACF,UAAdA,EAAM8J,KAAmB9J,EAAM0M,UAAY1M,EAAM2M,YAAYC,cAIjE5M,EAAMiJ,iBACNjJ,EAAM6M,cAAc5Q,MAAM6Q,gBAC3B,CAsHA,SAAS1D,IAASjF,YACjBA,EAAWC,OAAEA,EAAMC,KAAEA,EAAIgF,MAAEA,EAAKvE,KAAEA,EAAII,MAAEA,IAIxC,MAAO,CACNf,YAA6B,SAAhBA,OAAyBrW,EAAYqW,EAClD,cAA0B,SAAXC,EAAoB,aAAsBtW,IAAXsW,OAAuBtW,EAAY,GAAGsW,MAEpF,mBAAoC,iBAATC,GAAqBA,EAAKzQ,OAAS,EAAI,IAAIyQ,EAAMA,EAAK,IAAIrQ,KAAK,WAAQlG,EAClG,YAAaub,EACb,YAAavE,KACVI,EAEL,CAMA,MAAM6E,GAAM"}
|
package/dist/esm/query.js
CHANGED
|
@@ -5,5 +5,5 @@
|
|
|
5
5
|
* See LICENSE.md for the full terms.
|
|
6
6
|
*
|
|
7
7
|
*/
|
|
8
|
-
import{queryOptions as t}from"@tanstack/react-query";import{t as r}from"./chunks/api-
|
|
8
|
+
import{queryOptions as t}from"@tanstack/react-query";import{t as r}from"./chunks/api-Dk2hENdd.js";import"@callimacus/thamyr";import"@callimacus/thamyr-core";import"react";async function a(t,a,n,o){const i=r[t][a],c={signal:o,throwOnError:!0};return(await(void 0===n?i(c):i(n,c))).data}function n(r,n,o){return t({queryKey:["thamyr",r,n,o],queryFn:async({signal:t})=>a(r,n,o,t)})}function o(t,r){return{mutationKey:["thamyr",t,r],mutationFn:async n=>a(t,r,n)}}export{o as thamyrMutationOptions,n as thamyrQueryOptions};
|
|
9
9
|
//# sourceMappingURL=query.js.map
|
package/dist/types/index.d.ts
CHANGED
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
*
|
|
7
7
|
*/
|
|
8
8
|
import * as _callimacus_thamyr_core from '@callimacus/thamyr-core';
|
|
9
|
-
import { UiObserverConfig, ShopifyConfig, CartCommand, RoundOptions, CallimacusApi, ErrorMessage, ThamyrResponse, InteractionId, InteractionOptions, UserInteractionType, ShopifyCartClient, MapPage, InteractionPayloadMap, DeliverResult, Action, TtsAudio } from '@callimacus/thamyr-core';
|
|
9
|
+
import { UiObserverConfig, ShopifyConfig, CartCommand, RoundOptions, CallimacusApi, ErrorMessage, ThamyrResponse, InteractionId, InteractionOptions, UserInteractionType, ShopifyCartClient, WooCommerceCartClient, MapPage, InteractionPayloadMap, DeliverResult, Action, TtsAudio } from '@callimacus/thamyr-core';
|
|
10
10
|
export { ACTION_TYPES, ADD_TO_CART_RESULT_BLOCK, Action, ActionType, AddToCartResult, Block, BlockPatch, BoundingBox, CallimacusEvent, CartCommand, Chapter, ChapterStatus, ClientEvents, ClientInfo, ConnectionStatusCallback, DELIVER_RESULT_BLOCK, DeliverResult, DocumentIndexEntry, ErrorCallback, ErrorMessage, Gallery, GalleryMode, Image, ImageEdits, ImageFormatEdit, ImageResizeEdit, InteractionContext, InteractionId, InteractionOptions, InteractionPayload, InteractionPayloadMap, LANDING_VALUE_MAX_LENGTH, LocalizedEPArtwork, LocalizedEPChapter, LogLevel, LoggerConfig, MapPage, MapPath, ProductMatch, RiveManifest, RoundOptions, SLDocument, SLDocumentSection, SLInputEvent, SLInputEventType, STOREFRONT_API_VERSION, ServerEvents, ServerResponseCallback, ShopifyCart, ShopifyCartError, ShopifyCartErrorCode, ShopifyCartLine, ShopifyCartResult, ShopifyCartWarning, ShopifyConfig, ShopifyMoney, ShopifyUserError, SkesisItemPage, Story, SuggestPayload, Suggestions, ThamyrHttpError, ThamyrInteractionMap, ThamyrResponse, ThamyrResponseType, Topic, TtsAudio, UiElement, UiObserverConfig, UiSnapshot, UserInteraction, UserInteractionType, Video, WhisperPayload, actionOf, addToCartResultOf, applyBlockPatch, blockKeyOf, callimacusService, clearIntentSessionId, deliverResultOf, ensureIntentSessionId, extractTtsAudio, fieldsOf, getIntentSessionId, initIntent, interactionRound, isSetProduct, landingRound, logger, parseMapPath, receptorsOf, resolveMapPage, setConsent, setDebug, setDebugPanel, setGeo, setIntentSessionMaxAge, transformImageUrl } from '@callimacus/thamyr-core';
|
|
11
11
|
import { Thamyr } from '@callimacus/thamyr';
|
|
12
12
|
import * as zustand from 'zustand';
|
|
@@ -46,6 +46,13 @@ type CallimacusInitConfig = {
|
|
|
46
46
|
one is connected to the project. Until then its adds resolve `cart_unavailable`.
|
|
47
47
|
*/
|
|
48
48
|
shopify?: ShopifyConfig;
|
|
49
|
+
/**
|
|
50
|
+
The site sells from the WooCommerce store of the WordPress site connected to its project: its cart
|
|
51
|
+
(`useWooCommerceCart`, and the `cart` action) then lives on the store, called from the shopper's browser,
|
|
52
|
+
and checkout is the store's own (WooCommerce 10.0 or later). Until a site is connected, adds resolve
|
|
53
|
+
`cart_unavailable`.
|
|
54
|
+
*/
|
|
55
|
+
woocommerce?: boolean;
|
|
49
56
|
};
|
|
50
57
|
/**
|
|
51
58
|
What one of the chat's adds to the bag came to, for the chat to show: `added`, `refused` by Shopify
|
|
@@ -198,7 +205,7 @@ declare function useThamyr(): {
|
|
|
198
205
|
publishedAt?: string | null;
|
|
199
206
|
unpublishedAt?: string | null;
|
|
200
207
|
authors?: Array<string>;
|
|
201
|
-
source?: "backoffice" | "api" | "salesforce";
|
|
208
|
+
source?: "backoffice" | "api" | "wordpress" | "salesforce";
|
|
202
209
|
slug?: string;
|
|
203
210
|
documentGroupId: string;
|
|
204
211
|
id: string;
|
|
@@ -243,6 +250,7 @@ declare function useThamyr(): {
|
|
|
243
250
|
height: number;
|
|
244
251
|
};
|
|
245
252
|
poster?: string;
|
|
253
|
+
duration?: number;
|
|
246
254
|
playerConfig?: {
|
|
247
255
|
autoplay: boolean;
|
|
248
256
|
muted: boolean;
|
|
@@ -372,7 +380,7 @@ declare function useThamyr(): {
|
|
|
372
380
|
publishedAt?: string | null;
|
|
373
381
|
unpublishedAt?: string | null;
|
|
374
382
|
authors?: Array<string>;
|
|
375
|
-
source?: "backoffice" | "api" | "salesforce";
|
|
383
|
+
source?: "backoffice" | "api" | "wordpress" | "salesforce";
|
|
376
384
|
slug?: string;
|
|
377
385
|
documentGroupId: string;
|
|
378
386
|
id: string;
|
|
@@ -417,6 +425,7 @@ declare function useThamyr(): {
|
|
|
417
425
|
height: number;
|
|
418
426
|
};
|
|
419
427
|
poster?: string;
|
|
428
|
+
duration?: number;
|
|
420
429
|
playerConfig?: {
|
|
421
430
|
autoplay: boolean;
|
|
422
431
|
muted: boolean;
|
|
@@ -1058,7 +1067,7 @@ declare function useThamyr(): {
|
|
|
1058
1067
|
publishedAt?: string | null;
|
|
1059
1068
|
unpublishedAt?: string | null;
|
|
1060
1069
|
authors?: Array<string>;
|
|
1061
|
-
source?: "backoffice" | "api" | "salesforce";
|
|
1070
|
+
source?: "backoffice" | "api" | "wordpress" | "salesforce";
|
|
1062
1071
|
slug?: string;
|
|
1063
1072
|
documentGroupId: string;
|
|
1064
1073
|
id: string;
|
|
@@ -1103,6 +1112,7 @@ declare function useThamyr(): {
|
|
|
1103
1112
|
height: number;
|
|
1104
1113
|
};
|
|
1105
1114
|
poster?: string;
|
|
1115
|
+
duration?: number;
|
|
1106
1116
|
playerConfig?: {
|
|
1107
1117
|
autoplay: boolean;
|
|
1108
1118
|
muted: boolean;
|
|
@@ -1232,7 +1242,7 @@ declare function useThamyr(): {
|
|
|
1232
1242
|
publishedAt?: string | null;
|
|
1233
1243
|
unpublishedAt?: string | null;
|
|
1234
1244
|
authors?: Array<string>;
|
|
1235
|
-
source?: "backoffice" | "api" | "salesforce";
|
|
1245
|
+
source?: "backoffice" | "api" | "wordpress" | "salesforce";
|
|
1236
1246
|
slug?: string;
|
|
1237
1247
|
documentGroupId: string;
|
|
1238
1248
|
id: string;
|
|
@@ -1277,6 +1287,7 @@ declare function useThamyr(): {
|
|
|
1277
1287
|
height: number;
|
|
1278
1288
|
};
|
|
1279
1289
|
poster?: string;
|
|
1290
|
+
duration?: number;
|
|
1280
1291
|
playerConfig?: {
|
|
1281
1292
|
autoplay: boolean;
|
|
1282
1293
|
muted: boolean;
|
|
@@ -1879,7 +1890,7 @@ declare function useThamyr(): {
|
|
|
1879
1890
|
data: {
|
|
1880
1891
|
storyId: string;
|
|
1881
1892
|
chapterId: string;
|
|
1882
|
-
command: "shopify-add";
|
|
1893
|
+
command: "shopify-add" | "woocommerce-add";
|
|
1883
1894
|
variantId: string;
|
|
1884
1895
|
quantity: number;
|
|
1885
1896
|
item: {
|
|
@@ -2195,9 +2206,10 @@ function AddToBag({ variantId }: { variantId: string }) {
|
|
|
2195
2206
|
*/
|
|
2196
2207
|
declare function useShopifyCart(options?: UseShopifyCartOptions): ShopifyCartActions;
|
|
2197
2208
|
/**
|
|
2198
|
-
Runs one of the chat's adds to the bag (a `cart-command`) in the Shopify
|
|
2199
|
-
round: a command for a round already run (a replay, a redelivery, a reload)
|
|
2200
|
-
Shopify variant id goes
|
|
2209
|
+
Runs one of the chat's adds to the bag (a `cart-command`) in the site's Shopify or WooCommerce
|
|
2210
|
+
cart, at most once per round: a command for a round already run (a replay, a redelivery, a reload)
|
|
2211
|
+
adds nothing. Only a Shopify variant id goes to the Shopify cart, only a WooCommerce product id to
|
|
2212
|
+
the WooCommerce cart, and at most 10 of it. The outcome becomes a local notice
|
|
2201
2213
|
(`useShopifyCartNotices`) and a track event, which starts no round. Never rejects; resolves the
|
|
2202
2214
|
notice, or nothing when the command was not run.
|
|
2203
2215
|
*/
|
|
@@ -2208,6 +2220,34 @@ What the chat's adds to the bag came to, newest last: show them as local notices
|
|
|
2208
2220
|
*/
|
|
2209
2221
|
declare function useShopifyCartNotices(): ShopifyCartNotice[];
|
|
2210
2222
|
|
|
2223
|
+
/**
|
|
2224
|
+
The WooCommerce cart, kept on the store: `getCart`, `addItem` (a product or variation id), `removeItem`,
|
|
2225
|
+
`updateQuantity` and `checkout()`, called from the shopper's browser straight on the store's Store API. The
|
|
2226
|
+
first add starts the cart through Callimacus, the only call that goes there; the cart then survives a reload
|
|
2227
|
+
and is shared by the tabs of the browser. `checkout()` opens the store's own checkout with the lines, and the
|
|
2228
|
+
cart moves there. Needs `woocommerce: true` in the `useInitThamyr` config and a WordPress site with
|
|
2229
|
+
WooCommerce 10.0 or later connected to the project.
|
|
2230
|
+
|
|
2231
|
+
Every method resolves `{data, error}` and never rejects: `data` is the cart as WooCommerce sends it (`undefined`
|
|
2232
|
+
before the first add), and `error.code` says what went wrong (`refused` with the store's own words for a sold-out
|
|
2233
|
+
product, `cart_unavailable` with no store connected, `network`, …).
|
|
2234
|
+
|
|
2235
|
+
@returns A referentially stable object.
|
|
2236
|
+
|
|
2237
|
+
@example
|
|
2238
|
+
```tsx
|
|
2239
|
+
function AddToBag({ variationId }: { variationId: number }) {
|
|
2240
|
+
const { addItem } = useWooCommerceCart();
|
|
2241
|
+
const onClick = async () => {
|
|
2242
|
+
const { error } = await addItem(variationId, 1);
|
|
2243
|
+
if (error) showNotice(error.message);
|
|
2244
|
+
};
|
|
2245
|
+
return <button onClick={onClick}>Add to bag</button>;
|
|
2246
|
+
}
|
|
2247
|
+
```
|
|
2248
|
+
*/
|
|
2249
|
+
declare function useWooCommerceCart(): WooCommerceCartClient;
|
|
2250
|
+
|
|
2211
2251
|
/**
|
|
2212
2252
|
What {@link useMapPage} returns.
|
|
2213
2253
|
*/
|
|
@@ -2268,6 +2308,10 @@ type CallimacusState = {
|
|
|
2268
2308
|
*/
|
|
2269
2309
|
_shopify: ShopifyConfig | undefined;
|
|
2270
2310
|
/**
|
|
2311
|
+
Whether the init config sells from WooCommerce: the `cart` action then adds to the WooCommerce cart.
|
|
2312
|
+
*/
|
|
2313
|
+
_woocommerce: boolean;
|
|
2314
|
+
/**
|
|
2271
2315
|
What the chat's adds to the bag came to, newest last: the local notices a chat shows (`useShopifyCartNotices`).
|
|
2272
2316
|
*/
|
|
2273
2317
|
cartNotices: ShopifyCartNotice[];
|
|
@@ -2623,5 +2667,5 @@ The Callimacus constellation mark. Inherits `currentColor`.
|
|
|
2623
2667
|
*/
|
|
2624
2668
|
declare function CallimacusMark(props: SVGProps<SVGSVGElement>): react.JSX.Element;
|
|
2625
2669
|
|
|
2626
|
-
export { CallimacusBar, CallimacusMark, runCartCommand, thamyrApi, useActions, useApi, useCallimacusStore, useCart, useConnection, useInitThamyr, useMapPage, useOnConnectionChange, useOnError, useOnResponse, useShopifyCart, useShopifyCartNotices, useSitemap, useSkesis, useSubmission, useSuggestions, useThamyr, useTtsAudio, useVoiceRecorder };
|
|
2670
|
+
export { CallimacusBar, CallimacusMark, runCartCommand, thamyrApi, useActions, useApi, useCallimacusStore, useCart, useConnection, useInitThamyr, useMapPage, useOnConnectionChange, useOnError, useOnResponse, useShopifyCart, useShopifyCartNotices, useSitemap, useSkesis, useSubmission, useSuggestions, useThamyr, useTtsAudio, useVoiceRecorder, useWooCommerceCart };
|
|
2627
2671
|
export type { ActionResult, Actions, CallimacusBarAppearance, CallimacusBarColorScheme, CallimacusBarLabels, CallimacusBarProps, CallimacusInitConfig, CartActions, ConnectionStatus, MapPageState, RunOptions, ShopifyCartActions, ShopifyCartNotice, SitemapActions, SkesisActions, Submission, SuggestionsOptions, SuggestionsState, TtsAudioState, UseShopifyCartOptions, UseTtsAudioReturn, UseVoiceRecorderOptions, UseVoiceRecorderReturn, VoiceRecorderState };
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@callimacus/thamyr-react",
|
|
3
|
-
"version": "4.
|
|
3
|
+
"version": "4.15.0",
|
|
4
4
|
"private": false,
|
|
5
5
|
"description": "React package for Thamyr",
|
|
6
6
|
"license": "SEE LICENSE IN LICENSE.md",
|
|
@@ -40,8 +40,8 @@
|
|
|
40
40
|
"storybook": "storybook dev -p 6006"
|
|
41
41
|
},
|
|
42
42
|
"dependencies": {
|
|
43
|
-
"@callimacus/thamyr": "^4.
|
|
44
|
-
"@callimacus/thamyr-core": "^4.
|
|
43
|
+
"@callimacus/thamyr": "^4.15.0",
|
|
44
|
+
"@callimacus/thamyr-core": "^4.15.0",
|
|
45
45
|
"zustand": "^5.0.16"
|
|
46
46
|
},
|
|
47
47
|
"peerDependencies": {
|
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
/*!
|
|
2
|
-
* Copyright © 2025–2026 Solomei AI SRL. All rights reserved.
|
|
3
|
-
*
|
|
4
|
-
* Proprietary software, licensed for use by Callimacus customers only.
|
|
5
|
-
* See LICENSE.md for the full terms.
|
|
6
|
-
*
|
|
7
|
-
*/
|
|
8
|
-
import{Thamyr as e}from"@callimacus/thamyr";import{UserInteractionType as t,callimacusService as n,ThamyrResponseType as r,applyBlockPatch as o}from"@callimacus/thamyr-core";import s from"react";const i=e=>{let t;const n=new Set,r=(e,r)=>{const o="function"==typeof e?e(t):e;if(!Object.is(o,t)){const e=t;t=(null!=r?r:"object"!=typeof o||null===o)?o:Object.assign({},t,o),n.forEach(n=>n(t,e))}},o=()=>t,s={setState:r,getState:o,getInitialState:()=>i,subscribe:e=>(n.add(e),()=>n.delete(e))},i=t=e(r,o,s);return s},a=e=>e;const c=e=>{const t=(e=>e?i(e):i)(e),n=e=>function(e,t=a){const n=s.useSyncExternalStore(e.subscribe,s.useCallback(()=>t(e.getState()),[e,t]),()=>t(e.getInitialState()));return s.useDebugValue(n),n}(t,e);return Object.assign(n,t),n},d=e=>e?c(e):c;function u(e,t){for(const n of e)try{n(t)}catch(e){console.error("[Thamyr] Listener threw:",e)}}function l(e,t){let n=!1;const s=e.map(e=>{if(e.type!==r.CHAPTER_EVENT)return e;const s=o(e.chapter,t);return s===e.chapter?e:(n=!0,{...e,chapter:s})});return n?s:e}const m=d()((o,s)=>{let i,a=0;const c=new Set,d=new Set,m=new Set,y=e=>({...e,shopifyCart:!0});return{connectionStatus:"idle",messages:[],storyId:void 0,error:void 0,_initialized:!1,_thamyr:void 0,_shopify:void 0,cartNotices:[],init(t){if(s()._initialized)return;if("undefined"==typeof window)return void console.debug("[Thamyr] init() skipped: no browser environment detected (SSR).");const{clientId:y}=t;if(!y){console.error("[Thamyr] clientId is required. Pass your Callimacus Client ID (`cal-pk-…`) to useInitThamyr().");const e={code:0,message:"clientId is required. Pass your Callimacus Client ID (`cal-pk-…`) to useInitThamyr()."};return o({connectionStatus:"error",error:e}),u(m,e),void u(d,"error")}void 0!==t.maxMessages&&t.maxMessages<0&&console.warn("[Thamyr] maxMessages must be >= 0. Received:",t.maxMessages,". Clamping to 1.");const h=0===t.maxMessages?1/0:Math.max(1,t.maxMessages??50);let f;o({connectionStatus:"connecting",error:void 0});try{f=new e({clientId:y,endpoint:t.endpoint,uiObserver:t.uiObserver})}catch(e){console.error("[Thamyr] Failed to create Thamyr instance:",e);const t={code:0,message:e instanceof Error?e.message:String(e)};return o({connectionStatus:"error",error:t}),u(m,t),void u(d,"error")}const w=++a;f.onResponse(e=>{a===w&&(e.type===r.BLOCK_PATCH?o(t=>({messages:l(t.messages,e.data)})):e.type!==r.CART_COMMAND&&o(t=>{const n=[...t.messages,e];return{messages:n.length>h?n.slice(-h):n,...e.type===r.STORY_CREATED&&{storyId:e.story.id}}}),u(c,e))}),f.onError(e=>{a===w&&(o({error:e}),u(m,e))}),i=n.onConnectionStatus(e=>{if(a!==w)return;const t=e?"connected":"disconnected";o({connectionStatus:t}),u(d,t)}),function(e,t){o({_initialized:Boolean(e),_thamyr:e,_shopify:t})}(f,t.shopify)},reset(){if(s()._initialized){a++;try{i?.()}catch(e){console.error("[Thamyr] Error unsubscribing connection status listener:",e)}try{n.disconnect()}catch(e){console.error("[Thamyr] Error disconnecting:",e)}i=void 0,o({_initialized:!1,_thamyr:void 0,_shopify:void 0,cartNotices:[],connectionStatus:"idle",messages:[],storyId:void 0,error:void 0})}else"idle"!==s().connectionStatus&&o({connectionStatus:"idle",error:void 0})},sendEvent(e,n){const r=s()._thamyr;if(!r)throw new Error("[Thamyr] SDK is not initialized yet. Ensure useInitThamyr() has been called.");const{connectionStatus:i}=s();if("connected"!==i){const e={code:0,message:`Cannot send event: connection status is "${i}". Wait for connected status before sending.`};throw o({error:e}),u(m,e),new Error(e.message)}const a=e===t.CREATE_ROUND&&void 0!==s()._shopify?{...n,context:y(n.context)}:n;r.sendUserInteraction(e,a)},sendAudio(e,t){const n=s()._thamyr;if(!n)throw new Error("[Thamyr] SDK is not initialized yet. Ensure useInitThamyr() has been called.");const{connectionStatus:r}=s();if("connected"!==r){const e={code:0,message:`Cannot send audio: connection status is "${r}". Wait for connected status before sending.`};throw o({error:e}),u(m,e),new Error(e.message)}n.sendAudio(e,t,void 0===s()._shopify?void 0:y())},addResponseListener:e=>(c.add(e),()=>{c.delete(e)}),addConnectionListener:e=>(d.add(e),()=>{d.delete(e)}),addErrorListener:e=>(m.add(e),()=>{m.delete(e)}),_addCartNotice(e){o(t=>({cartNotices:[...t.cartNotices,e].slice(-20)}))}}});let y=!1,h=0;const f=new Set;function w(){y=!0}function g(){h++,y=!0}function p(){h--,queueMicrotask(()=>{if(h>0)return;y=!1;const e=[...f];f.clear();for(const t of e)t(new Error("[Thamyr] SDK was torn down: useInitThamyr() unmounted while this call was waiting for initialization."))})}function S(e){return new Error(`[Thamyr] SDK initialization failed: ${e?.message??"unknown error"}`)}async function T(){if("undefined"==typeof window)throw new Error("[Thamyr] The generated API is browser-only; this call ran without a browser environment (SSR).");const e=m.getState();if(e._thamyr)return e._thamyr;if(!y)throw new Error("[Thamyr] SDK is not initialized and no useInitThamyr() is mounted. Add useInitThamyr({clientId: 'cal-pk-…'}) to your root component.");if("error"===e.connectionStatus)throw S(e.error);return new Promise((e,t)=>{let n=!1;const r=e=>{n||(n=!0,s(),f.delete(o),e())},o=e=>{r(()=>{t(e)})};f.add(o);const s=m.subscribe(n=>{if(n._thamyr){const t=n._thamyr;r(()=>{e(t)})}else"error"===n.connectionStatus&&r(()=>{t(S(n.error))})})})}const b=new Set(["then","catch","finally","toJSON"]),v=new Set(Object.getOwnPropertyNames(Object.prototype));function E(e){return"string"!=typeof e||v.has(e)}const _=new Map,I=new Proxy({},{get(e,t){if(E(t))return Reflect.get(e,t);if(b.has(t))return;const n=t;let r=_.get(n);return void 0===r&&(r=function(e){const t=new Map;return new Proxy({},{get(n,r){if(E(r))return Reflect.get(n,r);if(b.has(r))return;const o=r;let s=t.get(o);return void 0===s&&(s=async(...t)=>{const n=(await T())[e],r=n?.[o];if("function"!=typeof r)throw new TypeError(`[Thamyr] ${e}.${o} is not part of the generated API surface.`);return Reflect.apply(r,n,t)},t.set(o,s)),s}})}(n),_.set(n,r)),r}});export{w as a,g as b,d as c,p as m,I as t,m as u,T as w};
|
|
9
|
-
//# sourceMappingURL=api-BDSbXlo-.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"api-BDSbXlo-.js","sources":["../../../../../node_modules/zustand/esm/vanilla.mjs","../../../../../node_modules/zustand/esm/react.mjs","../../../../src/callimacus/store.ts","../../../../src/callimacus/api.ts"],"sourcesContent":["const createStoreImpl = (createState) => {\n let state;\n const listeners = /* @__PURE__ */ new Set();\n const setState = (partial, replace) => {\n const nextState = typeof partial === \"function\" ? partial(state) : partial;\n if (!Object.is(nextState, state)) {\n const previousState = state;\n state = (replace != null ? replace : typeof nextState !== \"object\" || nextState === null) ? nextState : Object.assign({}, state, nextState);\n listeners.forEach((listener) => listener(state, previousState));\n }\n };\n const getState = () => state;\n const getInitialState = () => initialState;\n const subscribe = (listener) => {\n listeners.add(listener);\n return () => listeners.delete(listener);\n };\n const api = { setState, getState, getInitialState, subscribe };\n const initialState = state = createState(setState, getState, api);\n return api;\n};\nconst createStore = ((createState) => createState ? createStoreImpl(createState) : createStoreImpl);\n\nexport { createStore };\n","import React from 'react';\nimport { createStore } from 'zustand/vanilla';\n\nconst identity = (arg) => arg;\nfunction useStore(api, selector = identity) {\n const slice = React.useSyncExternalStore(\n api.subscribe,\n React.useCallback(() => selector(api.getState()), [api, selector]),\n () => selector(api.getInitialState())\n );\n React.useDebugValue(slice);\n return slice;\n}\nconst createImpl = (createState) => {\n const api = createStore(createState);\n const useBoundStore = (selector) => useStore(api, selector);\n Object.assign(useBoundStore, api);\n return useBoundStore;\n};\nconst create = ((createState) => createState ? createImpl(createState) : createImpl);\n\nexport { create, useStore };\n",null,null],"names":["createStoreImpl","createState","state","listeners","Set","setState","partial","replace","nextState","Object","is","previousState","assign","forEach","listener","getState","api","getInitialState","initialState","subscribe","add","delete","identity","arg","createImpl","createStore","useBoundStore","selector","slice","React","useSyncExternalStore","useCallback","useDebugValue","useStore","create","notifyListeners","error","console","patchedHistory","messages","patch","isPatched","patched","map","message","type","ThamyrResponseType","CHAPTER_EVENT","chapter","applyBlockPatch","useCallimacusStore","set","get","unsubConnectionStatus","generation","responseListeners","connectionListeners","errorListeners","withShopifyCart","context","shopifyCart","connectionStatus","storyId","undefined","_initialized","_thamyr","_shopify","cartNotices","init","config","window","debug","clientId","errorMessage","code","maxMessages","warn","Infinity","Math","max","thamyr","Thamyr","endpoint","uiObserver","Error","String","currentGen","onResponse","response","BLOCK_PATCH","data","CART_COMMAND","length","STORY_CREATED","story","id","onError","callimacusService","onConnectionStatus","connected","status","shopify","Boolean","setInitState","reset","disconnect","sendEvent","payload","declared","UserInteractionType","CREATE_ROUND","sendUserInteraction","sendAudio","audio","query","addResponseListener","cb","addConnectionListener","addErrorListener","_addCartNotice","notice","wasInitRequested","mountedInitOwners","pendingRejecters","markInitRequested","markInitOwnerMounted","markInitOwnerUnmounted","queueMicrotask","rejecters","clear","rejectWaiter","initError","async","waitForInstance","Promise","resolve","reject","isSettled","settle","action","unsubscribe","rejecter","current","instance","blockedNames","objectPrototypeMembers","getOwnPropertyNames","prototype","isPassthroughProperty","property","has","namespaces","Map","thamyrApi","Proxy","target","Reflect","name","namespace","namespaceName","methods","method","args","fn","TypeError","apply","createNamespaceFacade"],"mappings":"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","x_google_ignoreList":[0,1]}
|