@liforma/client 0.2.1 → 0.3.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.
Files changed (110) hide show
  1. package/CHANGELOG.md +14 -0
  2. package/README.md +28 -1
  3. package/dist/next/index.js +2086 -1429
  4. package/dist/next/index.js.map +1 -1
  5. package/dist/next/react/ExperienceThumbnail.d.ts.map +1 -1
  6. package/dist/next/thumbnail/index.d.ts +2 -1
  7. package/dist/next/thumbnail/index.d.ts.map +1 -1
  8. package/dist/next/thumbnail/lazyLoad.d.ts +2 -0
  9. package/dist/next/thumbnail/lazyLoad.d.ts.map +1 -1
  10. package/dist/next/thumbnail/lazyLoad.test.d.ts +2 -0
  11. package/dist/next/thumbnail/lazyLoad.test.d.ts.map +1 -0
  12. package/dist/next/thumbnail/scrollParallax.d.ts +6 -1
  13. package/dist/next/thumbnail/scrollParallax.d.ts.map +1 -1
  14. package/dist/next/thumbnail/styles.d.ts.map +1 -1
  15. package/dist/next/thumbnail/thumbLoadScheduler.d.ts +14 -0
  16. package/dist/next/thumbnail/thumbLoadScheduler.d.ts.map +1 -0
  17. package/dist/next/v2/embed/iframeHost.d.ts +33 -2
  18. package/dist/next/v2/embed/iframeHost.d.ts.map +1 -1
  19. package/dist/next/v2/embed/playerReachability.d.ts +1 -1
  20. package/dist/next/v2/embed/playerReachability.d.ts.map +1 -1
  21. package/dist/next/v2/embed/protocol.d.ts +53 -0
  22. package/dist/next/v2/embed/protocol.d.ts.map +1 -1
  23. package/dist/next/v2/experience.d.ts +7 -3
  24. package/dist/next/v2/experience.d.ts.map +1 -1
  25. package/dist/next/v2/speech/captureMediaStreamTrack.d.ts +17 -0
  26. package/dist/next/v2/speech/captureMediaStreamTrack.d.ts.map +1 -0
  27. package/dist/next/v2/speech/index.d.ts +4 -0
  28. package/dist/next/v2/speech/index.d.ts.map +1 -0
  29. package/dist/next/v2/speech/speechController.d.ts +16 -0
  30. package/dist/next/v2/speech/speechController.d.ts.map +1 -0
  31. package/dist/next/v2/speech/types.d.ts +176 -0
  32. package/dist/next/v2/speech/types.d.ts.map +1 -0
  33. package/dist/next/v2/types/sessionInteraction.d.ts +6 -3
  34. package/dist/next/v2/types/sessionInteraction.d.ts.map +1 -1
  35. package/dist/npm/index.js +1835 -1178
  36. package/dist/npm/index.js.map +1 -1
  37. package/dist/npm/thumbnail/index.d.ts +2 -1
  38. package/dist/npm/thumbnail/index.d.ts.map +1 -1
  39. package/dist/npm/thumbnail/lazyLoad.d.ts +2 -0
  40. package/dist/npm/thumbnail/lazyLoad.d.ts.map +1 -1
  41. package/dist/npm/thumbnail/scrollParallax.d.ts +6 -1
  42. package/dist/npm/thumbnail/scrollParallax.d.ts.map +1 -1
  43. package/dist/npm/thumbnail/styles.d.ts.map +1 -1
  44. package/dist/npm/thumbnail/thumbLoadScheduler.d.ts +14 -0
  45. package/dist/npm/thumbnail/thumbLoadScheduler.d.ts.map +1 -0
  46. package/dist/npm/v2/embed/iframeHost.d.ts +33 -2
  47. package/dist/npm/v2/embed/iframeHost.d.ts.map +1 -1
  48. package/dist/npm/v2/embed/playerReachability.d.ts +1 -1
  49. package/dist/npm/v2/embed/playerReachability.d.ts.map +1 -1
  50. package/dist/npm/v2/embed/protocol.d.ts +53 -0
  51. package/dist/npm/v2/embed/protocol.d.ts.map +1 -1
  52. package/dist/npm/v2/experience.d.ts +7 -3
  53. package/dist/npm/v2/experience.d.ts.map +1 -1
  54. package/dist/npm/v2/index.d.ts +4 -1
  55. package/dist/npm/v2/index.d.ts.map +1 -1
  56. package/dist/npm/v2/liforma-experience-thumbnail.d.ts.map +1 -1
  57. package/dist/npm/v2/npm.d.ts +4 -2
  58. package/dist/npm/v2/npm.d.ts.map +1 -1
  59. package/dist/npm/v2/speech/captureMediaStreamTrack.d.ts +17 -0
  60. package/dist/npm/v2/speech/captureMediaStreamTrack.d.ts.map +1 -0
  61. package/dist/npm/v2/speech/index.d.ts +4 -0
  62. package/dist/npm/v2/speech/index.d.ts.map +1 -0
  63. package/dist/npm/v2/speech/speechController.d.ts +16 -0
  64. package/dist/npm/v2/speech/speechController.d.ts.map +1 -0
  65. package/dist/npm/v2/speech/types.d.ts +176 -0
  66. package/dist/npm/v2/speech/types.d.ts.map +1 -0
  67. package/dist/npm/v2/types/sessionInteraction.d.ts +6 -3
  68. package/dist/npm/v2/types/sessionInteraction.d.ts.map +1 -1
  69. package/dist/react/component/experienceComponentTypes.d.ts +2 -2
  70. package/dist/react/component/experienceComponentTypes.d.ts.map +1 -1
  71. package/dist/react/index.js +2127 -1461
  72. package/dist/react/index.js.map +1 -1
  73. package/dist/react/react/Experience.d.ts.map +1 -1
  74. package/dist/react/react/ExperienceThumbnail.d.ts.map +1 -1
  75. package/dist/react/thumbnail/index.d.ts +2 -1
  76. package/dist/react/thumbnail/index.d.ts.map +1 -1
  77. package/dist/react/thumbnail/lazyLoad.d.ts +2 -0
  78. package/dist/react/thumbnail/lazyLoad.d.ts.map +1 -1
  79. package/dist/react/thumbnail/lazyLoad.test.d.ts +2 -0
  80. package/dist/react/thumbnail/lazyLoad.test.d.ts.map +1 -0
  81. package/dist/react/thumbnail/scrollParallax.d.ts +6 -1
  82. package/dist/react/thumbnail/scrollParallax.d.ts.map +1 -1
  83. package/dist/react/thumbnail/styles.d.ts.map +1 -1
  84. package/dist/react/thumbnail/thumbLoadScheduler.d.ts +14 -0
  85. package/dist/react/thumbnail/thumbLoadScheduler.d.ts.map +1 -0
  86. package/dist/react/v2/embed/iframeHost.d.ts +33 -2
  87. package/dist/react/v2/embed/iframeHost.d.ts.map +1 -1
  88. package/dist/react/v2/embed/playerReachability.d.ts +1 -1
  89. package/dist/react/v2/embed/playerReachability.d.ts.map +1 -1
  90. package/dist/react/v2/embed/protocol.d.ts +53 -0
  91. package/dist/react/v2/embed/protocol.d.ts.map +1 -1
  92. package/dist/react/v2/experience.d.ts +7 -3
  93. package/dist/react/v2/experience.d.ts.map +1 -1
  94. package/dist/react/v2/speech/captureMediaStreamTrack.d.ts +17 -0
  95. package/dist/react/v2/speech/captureMediaStreamTrack.d.ts.map +1 -0
  96. package/dist/react/v2/speech/index.d.ts +4 -0
  97. package/dist/react/v2/speech/index.d.ts.map +1 -0
  98. package/dist/react/v2/speech/speechController.d.ts +16 -0
  99. package/dist/react/v2/speech/speechController.d.ts.map +1 -0
  100. package/dist/react/v2/speech/types.d.ts +176 -0
  101. package/dist/react/v2/speech/types.d.ts.map +1 -0
  102. package/dist/react/v2/types/sessionInteraction.d.ts +6 -3
  103. package/dist/react/v2/types/sessionInteraction.d.ts.map +1 -1
  104. package/dist/react/v2/types/sessionManifestSchema.d.ts +1 -1
  105. package/dist/sdk/v2/client.js +14 -10
  106. package/dist/sdk/v2/client.js.map +1 -1
  107. package/dist/svelte/Experience.svelte +18 -5
  108. package/dist/svelte/Experience.svelte.d.ts +7 -2
  109. package/dist/svelte/ExperienceThumbnail.svelte +3 -6
  110. package/package.json +4 -2
@@ -1,6 +1,6 @@
1
- var Liforma=(function(e){Object.defineProperty(e,Symbol.toStringTag,{value:`Module`});function t(){if(globalThis.__LIFORMA_STACK===`local`)return!0;if(typeof location>`u`)return!1;try{return new URLSearchParams(location.search).get(`stack`)===`local`}catch{return!1}}var n=`https://api.liforma.ai`,r=`http://localhost:3001`;function i(){let e=globalThis.__LIFORMA_API_BASE_URL;if(e?.trim())return e.trim().replace(/\/$/,``);if(typeof document>`u`)return null;let t=(document.querySelector(`script[data-liforma-sdk][src*="client.js"]`)??document.querySelector(`script[src*="/sdk/v2/client.js"]`))?.getAttribute(`data-api-base-url`)?.trim();return t?t.replace(/\/$/,``):null}function a(){return i()||(t()?r:n)}function o(e,t){let n=e.trim();if(!n)throw Error(`sessionEndpoint must not be empty.`);if(typeof location>`u`)throw Error(`sessionEndpoint is only available in a browser.`);let r=new URL(n,location.href);if(r.origin!==location.origin)throw Error(`sessionEndpoint must be same-origin.`);let i=t.experienceId.trim();if(!i)throw Error(`sessionEndpoint requires experienceId.`);return{url:r.toString(),init:{method:`POST`,credentials:`same-origin`,headers:{Accept:`application/json`,"Content-Type":`application/json`},body:JSON.stringify({experienceId:i,...t.language?{language:t.language}:{},...t.mode?{mode:t.mode}:{},...t.responseMode?{responseMode:t.responseMode}:{},...t.speechInputMode?{speechInputMode:t.speechInputMode}:{},...t.startButton?{startButton:t.startButton}:{},...t.speechOnly===void 0?{}:{speechOnly:t.speechOnly}})}}}var s;function c(e,t,n){function r(n,r){if(n._zod||Object.defineProperty(n,"_zod",{value:{def:r,constr:o,traits:new Set},enumerable:!1}),n._zod.traits.has(e))return;n._zod.traits.add(e),t(n,r);let i=o.prototype,a=Object.keys(i);for(let e=0;e<a.length;e++){let t=a[e];t in n||(n[t]=i[t].bind(n))}}let i=n?.Parent??Object;class a extends i{}Object.defineProperty(a,"name",{value:e});function o(e){var t;let i=n?.Parent?new a:this;r(i,e),(t=i._zod).deferred??(t.deferred=[]);for(let e of i._zod.deferred)e();return i}return Object.defineProperty(o,"init",{value:r}),Object.defineProperty(o,Symbol.hasInstance,{value:t=>n?.Parent&&t instanceof n.Parent?!0:t?._zod?.traits?.has(e)}),Object.defineProperty(o,"name",{value:e}),o}var l=class extends Error{constructor(){super(`Encountered Promise during synchronous parse. Use .parseAsync() instead.`)}},u=class extends Error{constructor(e){super(`Encountered unidirectional transform during encode: ${e}`),this.name=`ZodEncodeError`}};(s=globalThis).__zod_globalConfig??(s.__zod_globalConfig={});var d=globalThis.__zod_globalConfig;function f(e){return e&&Object.assign(d,e),d}function p(e){let t=Object.values(e).filter(e=>typeof e==`number`);return Object.entries(e).filter(([e,n])=>t.indexOf(+e)===-1).map(([e,t])=>t)}function m(e,t){return typeof t==`bigint`?t.toString():t}function h(e){return{get value(){{let t=e();return Object.defineProperty(this,"value",{value:t}),t}throw Error(`cached value already set`)}}}function g(e){return e==null}function _(e){let t=+!!e.startsWith(`^`),n=e.endsWith(`$`)?e.length-1:e.length;return e.slice(t,n)}function ee(e,t){let n=e/t,r=Math.round(n),i=2**-52*Math.max(Math.abs(n),1);return Math.abs(n-r)<i?0:n-r}var v=Symbol(`evaluating`);function y(e,t,n){let r;Object.defineProperty(e,t,{get(){if(r!==v)return r===void 0&&(r=v,r=n()),r},set(n){Object.defineProperty(e,t,{value:n})},configurable:!0})}function b(e,t,n){Object.defineProperty(e,t,{value:n,writable:!0,enumerable:!0,configurable:!0})}function x(...e){let t={};for(let n of e)Object.assign(t,Object.getOwnPropertyDescriptors(n));return Object.defineProperties({},t)}function te(e){return JSON.stringify(e)}function S(e){return e.toLowerCase().trim().replace(/[^\w\s-]/g,``).replace(/[\s_-]+/g,`-`).replace(/^-+|-+$/g,``)}var C=`captureStackTrace`in Error?Error.captureStackTrace:(...e)=>{};function w(e){return typeof e==`object`&&!!e&&!Array.isArray(e)}var T=h(()=>{if(d.jitless||typeof navigator<`u`&&navigator?.userAgent?.includes(`Cloudflare`))return!1;try{return Function(``),!0}catch{return!1}});function E(e){if(w(e)===!1)return!1;let t=e.constructor;if(t===void 0||typeof t!=`function`)return!0;let n=t.prototype;return!(w(n)===!1||Object.prototype.hasOwnProperty.call(n,`isPrototypeOf`)===!1)}function ne(e){return E(e)?{...e}:Array.isArray(e)?[...e]:e instanceof Map?new Map(e):e instanceof Set?new Set(e):e}var re=new Set([`string`,`number`,`symbol`]);function D(e){return e.replace(/[.*+?^${}()|[\]\\]/g,`\\$&`)}function O(e,t,n){let r=new e._zod.constr(t??e._zod.def);return(!t||n?.parent)&&(r._zod.parent=e),r}function k(e){let t=e;if(!t)return{};if(typeof t==`string`)return{error:()=>t};if(t?.message!==void 0){if(t?.error!==void 0)throw Error("Cannot specify both `message` and `error` params");t.error=t.message}return delete t.message,typeof t.error==`string`?{...t,error:()=>t.error}:t}function ie(e){return Object.keys(e).filter(t=>e[t]._zod.optin===`optional`&&e[t]._zod.optout===`optional`)}var ae={safeint:[-(2**53-1),2**53-1],int32:[-2147483648,2147483647],uint32:[0,4294967295],float32:[-34028234663852886e22,34028234663852886e22],float64:[-Number.MAX_VALUE,Number.MAX_VALUE]};function oe(e,t){let n=e._zod.def,r=n.checks;if(r&&r.length>0)throw Error(`.pick() cannot be used on object schemas containing refinements`);return O(e,x(e._zod.def,{get shape(){let e={};for(let r in t){if(!(r in n.shape))throw Error(`Unrecognized key: "${r}"`);t[r]&&(e[r]=n.shape[r])}return b(this,`shape`,e),e},checks:[]}))}function se(e,t){let n=e._zod.def,r=n.checks;if(r&&r.length>0)throw Error(`.omit() cannot be used on object schemas containing refinements`);return O(e,x(e._zod.def,{get shape(){let r={...e._zod.def.shape};for(let e in t){if(!(e in n.shape))throw Error(`Unrecognized key: "${e}"`);t[e]&&delete r[e]}return b(this,`shape`,r),r},checks:[]}))}function ce(e,t){if(!E(t))throw Error(`Invalid input to extend: expected a plain object`);let n=e._zod.def.checks;if(n&&n.length>0){let n=e._zod.def.shape;for(let e in t)if(Object.getOwnPropertyDescriptor(n,e)!==void 0)throw Error("Cannot overwrite keys on object schemas containing refinements. Use `.safeExtend()` instead.")}return O(e,x(e._zod.def,{get shape(){let n={...e._zod.def.shape,...t};return b(this,`shape`,n),n}}))}function le(e,t){if(!E(t))throw Error(`Invalid input to safeExtend: expected a plain object`);return O(e,x(e._zod.def,{get shape(){let n={...e._zod.def.shape,...t};return b(this,`shape`,n),n}}))}function ue(e,t){if(e._zod.def.checks?.length)throw Error(`.merge() cannot be used on object schemas containing refinements. Use .safeExtend() instead.`);return O(e,x(e._zod.def,{get shape(){let n={...e._zod.def.shape,...t._zod.def.shape};return b(this,`shape`,n),n},get catchall(){return t._zod.def.catchall},checks:t._zod.def.checks??[]}))}function A(e,t,n){let r=t._zod.def.checks;if(r&&r.length>0)throw Error(`.partial() cannot be used on object schemas containing refinements`);return O(t,x(t._zod.def,{get shape(){let r=t._zod.def.shape,i={...r};if(n)for(let t in n){if(!(t in r))throw Error(`Unrecognized key: "${t}"`);n[t]&&(i[t]=e?new e({type:`optional`,innerType:r[t]}):r[t])}else for(let t in r)i[t]=e?new e({type:`optional`,innerType:r[t]}):r[t];return b(this,`shape`,i),i},checks:[]}))}function de(e,t,n){return O(t,x(t._zod.def,{get shape(){let r=t._zod.def.shape,i={...r};if(n)for(let t in n){if(!(t in i))throw Error(`Unrecognized key: "${t}"`);n[t]&&(i[t]=new e({type:`nonoptional`,innerType:r[t]}))}else for(let t in r)i[t]=new e({type:`nonoptional`,innerType:r[t]});return b(this,`shape`,i),i}}))}function j(e,t=0){if(e.aborted===!0)return!0;for(let n=t;n<e.issues.length;n++)if(e.issues[n]?.continue!==!0)return!0;return!1}function fe(e,t=0){if(e.aborted===!0)return!0;for(let n=t;n<e.issues.length;n++)if(e.issues[n]?.continue===!1)return!0;return!1}function M(e,t){return t.map(t=>{var n;return(n=t).path??(n.path=[]),t.path.unshift(e),t})}function N(e){return typeof e==`string`?e:e?.message}function P(e,t,n){let r=e.message?e.message:N(e.inst?._zod.def?.error?.(e))??N(t?.error?.(e))??N(n.customError?.(e))??N(n.localeError?.(e))??`Invalid input`,{inst:i,continue:a,input:o,...s}=e;return s.path??=[],s.message=r,t?.reportInput&&(s.input=o),s}function F(e){return Array.isArray(e)?`array`:typeof e==`string`?`string`:`unknown`}function I(...e){let[t,n,r]=e;return typeof t==`string`?{message:t,code:`custom`,input:n,inst:r}:{...t}}var pe=(e,t)=>{e.name=`$ZodError`,Object.defineProperty(e,"_zod",{value:e._zod,enumerable:!1}),Object.defineProperty(e,"issues",{value:t,enumerable:!1}),e.message=JSON.stringify(t,m,2),Object.defineProperty(e,"toString",{value:()=>e.message,enumerable:!1})},me=c(`$ZodError`,pe),L=c(`$ZodError`,pe,{Parent:Error});function he(e,t=e=>e.message){let n={},r=[];for(let i of e.issues)i.path.length>0?(n[i.path[0]]=n[i.path[0]]||[],n[i.path[0]].push(t(i))):r.push(t(i));return{formErrors:r,fieldErrors:n}}function ge(e,t=e=>e.message){let n={_errors:[]},r=(e,i=[])=>{for(let a of e.issues)if(a.code===`invalid_union`&&a.errors.length)a.errors.map(e=>r({issues:e},[...i,...a.path]));else if(a.code===`invalid_key`)r({issues:a.issues},[...i,...a.path]);else if(a.code===`invalid_element`)r({issues:a.issues},[...i,...a.path]);else{let e=[...i,...a.path];if(e.length===0)n._errors.push(t(a));else{let r=n,i=0;for(;i<e.length;){let n=e[i];i===e.length-1?(r[n]=r[n]||{_errors:[]},r[n]._errors.push(t(a))):r[n]=r[n]||{_errors:[]},r=r[n],i++}}}};return r(e),n}var _e=e=>(t,n,r,i)=>{let a=r?{...r,async:!1}:{async:!1},o=t._zod.run({value:n,issues:[]},a);if(o instanceof Promise)throw new l;if(o.issues.length){let t=new(i?.Err??e)(o.issues.map(e=>P(e,a,f())));throw C(t,i?.callee),t}return o.value},ve=e=>async(t,n,r,i)=>{let a=r?{...r,async:!0}:{async:!0},o=t._zod.run({value:n,issues:[]},a);if(o instanceof Promise&&(o=await o),o.issues.length){let t=new(i?.Err??e)(o.issues.map(e=>P(e,a,f())));throw C(t,i?.callee),t}return o.value},ye=e=>(t,n,r)=>{let i=r?{...r,async:!1}:{async:!1},a=t._zod.run({value:n,issues:[]},i);if(a instanceof Promise)throw new l;return a.issues.length?{success:!1,error:new(e??me)(a.issues.map(e=>P(e,i,f())))}:{success:!0,data:a.value}},be=ye(L),R=e=>async(t,n,r)=>{let i=r?{...r,async:!0}:{async:!0},a=t._zod.run({value:n,issues:[]},i);return a instanceof Promise&&(a=await a),a.issues.length?{success:!1,error:new e(a.issues.map(e=>P(e,i,f())))}:{success:!0,data:a.value}},xe=R(L),Se=e=>(t,n,r)=>{let i=r?{...r,direction:`backward`}:{direction:`backward`};return _e(e)(t,n,i)},Ce=e=>(t,n,r)=>_e(e)(t,n,r),we=e=>async(t,n,r)=>{let i=r?{...r,direction:`backward`}:{direction:`backward`};return ve(e)(t,n,i)},z=e=>async(t,n,r)=>ve(e)(t,n,r),Te=e=>(t,n,r)=>{let i=r?{...r,direction:`backward`}:{direction:`backward`};return ye(e)(t,n,i)},Ee=e=>(t,n,r)=>ye(e)(t,n,r),De=e=>async(t,n,r)=>{let i=r?{...r,direction:`backward`}:{direction:`backward`};return R(e)(t,n,i)},Oe=e=>async(t,n,r)=>R(e)(t,n,r),ke=/^[cC][0-9a-z]{6,}$/,Ae=/^[0-9a-z]+$/,je=/^[0-9A-HJKMNP-TV-Za-hjkmnp-tv-z]{26}$/,Me=/^[0-9a-vA-V]{20}$/,Ne=/^[A-Za-z0-9]{27}$/,Pe=/^[a-zA-Z0-9_-]{21}$/,Fe=/^P(?:(\d+W)|(?!.*W)(?=\d|T\d)(\d+Y)?(\d+M)?(\d+D)?(T(?=\d)(\d+H)?(\d+M)?(\d+([.,]\d+)?S)?)?)$/,Ie=/^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$/,Le=e=>e?RegExp(`^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-${e}[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$`):/^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$/,Re=/^(?!\.)(?!.*\.\.)([A-Za-z0-9_'+\-\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\-]*\.)+[A-Za-z]{2,}$/,ze=`^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$`;function Be(){return new RegExp(ze,`u`)}var Ve=/^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])$/,He=/^(([0-9a-fA-F]{1,4}:){7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:))$/,Ue=/^((25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\/([0-9]|[1-2][0-9]|3[0-2])$/,We=/^(([0-9a-fA-F]{1,4}:){7}[0-9a-fA-F]{1,4}|::|([0-9a-fA-F]{1,4})?::([0-9a-fA-F]{1,4}:?){0,6})\/(12[0-8]|1[01][0-9]|[1-9]?[0-9])$/,Ge=/^$|^(?:[0-9a-zA-Z+/]{4})*(?:(?:[0-9a-zA-Z+/]{2}==)|(?:[0-9a-zA-Z+/]{3}=))?$/,Ke=/^[A-Za-z0-9_-]*$/,qe=/^https?$/,Je=/^\+[1-9]\d{6,14}$/,Ye=`(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))`,Xe=RegExp(`^${Ye}$`);function Ze(e){let t=`(?:[01]\\d|2[0-3]):[0-5]\\d`;return typeof e.precision==`number`?e.precision===-1?`${t}`:e.precision===0?`${t}:[0-5]\\d`:`${t}:[0-5]\\d\\.\\d{${e.precision}}`:`${t}(?::[0-5]\\d(?:\\.\\d+)?)?`}function Qe(e){return RegExp(`^${Ze(e)}$`)}function $e(e){let t=Ze({precision:e.precision}),n=[`Z`];e.local&&n.push(``),e.offset&&n.push(`([+-](?:[01]\\d|2[0-3]):[0-5]\\d)`);let r=`${t}(?:${n.join(`|`)})`;return RegExp(`^${Ye}T(?:${r})$`)}var et=e=>{let t=e?`[\\s\\S]{${e?.minimum??0},${e?.maximum??``}}`:`[\\s\\S]*`;return RegExp(`^${t}$`)},tt=/^-?\d+$/,nt=/^-?\d+(?:\.\d+)?$/,rt=/^(?:true|false)$/i,it=/^[^A-Z]*$/,at=/^[^a-z]*$/,B=c(`$ZodCheck`,(e,t)=>{var n;e._zod??={},e._zod.def=t,(n=e._zod).onattach??(n.onattach=[])}),ot={number:`number`,bigint:`bigint`,object:`date`},st=c(`$ZodCheckLessThan`,(e,t)=>{B.init(e,t);let n=ot[typeof t.value];e._zod.onattach.push(e=>{let n=e._zod.bag,r=(t.inclusive?n.maximum:n.exclusiveMaximum)??1/0;t.value<r&&(t.inclusive?n.maximum=t.value:n.exclusiveMaximum=t.value)}),e._zod.check=r=>{(t.inclusive?r.value<=t.value:r.value<t.value)||r.issues.push({origin:n,code:`too_big`,maximum:typeof t.value==`object`?t.value.getTime():t.value,input:r.value,inclusive:t.inclusive,inst:e,continue:!t.abort})}}),ct=c(`$ZodCheckGreaterThan`,(e,t)=>{B.init(e,t);let n=ot[typeof t.value];e._zod.onattach.push(e=>{let n=e._zod.bag,r=(t.inclusive?n.minimum:n.exclusiveMinimum)??-1/0;t.value>r&&(t.inclusive?n.minimum=t.value:n.exclusiveMinimum=t.value)}),e._zod.check=r=>{(t.inclusive?r.value>=t.value:r.value>t.value)||r.issues.push({origin:n,code:`too_small`,minimum:typeof t.value==`object`?t.value.getTime():t.value,input:r.value,inclusive:t.inclusive,inst:e,continue:!t.abort})}}),lt=c(`$ZodCheckMultipleOf`,(e,t)=>{B.init(e,t),e._zod.onattach.push(e=>{var n;(n=e._zod.bag).multipleOf??(n.multipleOf=t.value)}),e._zod.check=n=>{if(typeof n.value!=typeof t.value)throw Error(`Cannot mix number and bigint in multiple_of check.`);(typeof n.value==`bigint`?n.value%t.value===BigInt(0):ee(n.value,t.value)===0)||n.issues.push({origin:typeof n.value,code:`not_multiple_of`,divisor:t.value,input:n.value,inst:e,continue:!t.abort})}}),ut=c(`$ZodCheckNumberFormat`,(e,t)=>{B.init(e,t),t.format=t.format||`float64`;let n=t.format?.includes(`int`),r=n?`int`:`number`,[i,a]=ae[t.format];e._zod.onattach.push(e=>{let r=e._zod.bag;r.format=t.format,r.minimum=i,r.maximum=a,n&&(r.pattern=tt)}),e._zod.check=o=>{let s=o.value;if(n){if(!Number.isInteger(s)){o.issues.push({expected:r,format:t.format,code:`invalid_type`,continue:!1,input:s,inst:e});return}if(!Number.isSafeInteger(s)){s>0?o.issues.push({input:s,code:`too_big`,maximum:2**53-1,note:`Integers must be within the safe integer range.`,inst:e,origin:r,inclusive:!0,continue:!t.abort}):o.issues.push({input:s,code:`too_small`,minimum:-(2**53-1),note:`Integers must be within the safe integer range.`,inst:e,origin:r,inclusive:!0,continue:!t.abort});return}}s<i&&o.issues.push({origin:`number`,input:s,code:`too_small`,minimum:i,inclusive:!0,inst:e,continue:!t.abort}),s>a&&o.issues.push({origin:`number`,input:s,code:`too_big`,maximum:a,inclusive:!0,inst:e,continue:!t.abort})}}),dt=c(`$ZodCheckMaxLength`,(e,t)=>{var n;B.init(e,t),(n=e._zod.def).when??(n.when=e=>{let t=e.value;return!g(t)&&t.length!==void 0}),e._zod.onattach.push(e=>{let n=e._zod.bag.maximum??1/0;t.maximum<n&&(e._zod.bag.maximum=t.maximum)}),e._zod.check=n=>{let r=n.value;if(r.length<=t.maximum)return;let i=F(r);n.issues.push({origin:i,code:`too_big`,maximum:t.maximum,inclusive:!0,input:r,inst:e,continue:!t.abort})}}),ft=c(`$ZodCheckMinLength`,(e,t)=>{var n;B.init(e,t),(n=e._zod.def).when??(n.when=e=>{let t=e.value;return!g(t)&&t.length!==void 0}),e._zod.onattach.push(e=>{let n=e._zod.bag.minimum??-1/0;t.minimum>n&&(e._zod.bag.minimum=t.minimum)}),e._zod.check=n=>{let r=n.value;if(r.length>=t.minimum)return;let i=F(r);n.issues.push({origin:i,code:`too_small`,minimum:t.minimum,inclusive:!0,input:r,inst:e,continue:!t.abort})}}),pt=c(`$ZodCheckLengthEquals`,(e,t)=>{var n;B.init(e,t),(n=e._zod.def).when??(n.when=e=>{let t=e.value;return!g(t)&&t.length!==void 0}),e._zod.onattach.push(e=>{let n=e._zod.bag;n.minimum=t.length,n.maximum=t.length,n.length=t.length}),e._zod.check=n=>{let r=n.value,i=r.length;if(i===t.length)return;let a=F(r),o=i>t.length;n.issues.push({origin:a,...o?{code:`too_big`,maximum:t.length}:{code:`too_small`,minimum:t.length},inclusive:!0,exact:!0,input:n.value,inst:e,continue:!t.abort})}}),mt=c(`$ZodCheckStringFormat`,(e,t)=>{var n,r;B.init(e,t),e._zod.onattach.push(e=>{let n=e._zod.bag;n.format=t.format,t.pattern&&(n.patterns??=new Set,n.patterns.add(t.pattern))}),t.pattern?(n=e._zod).check??(n.check=n=>{t.pattern.lastIndex=0,!t.pattern.test(n.value)&&n.issues.push({origin:`string`,code:`invalid_format`,format:t.format,input:n.value,...t.pattern?{pattern:t.pattern.toString()}:{},inst:e,continue:!t.abort})}):(r=e._zod).check??(r.check=()=>{})}),ht=c(`$ZodCheckRegex`,(e,t)=>{mt.init(e,t),e._zod.check=n=>{t.pattern.lastIndex=0,!t.pattern.test(n.value)&&n.issues.push({origin:`string`,code:`invalid_format`,format:`regex`,input:n.value,pattern:t.pattern.toString(),inst:e,continue:!t.abort})}}),gt=c(`$ZodCheckLowerCase`,(e,t)=>{t.pattern??=it,mt.init(e,t)}),_t=c(`$ZodCheckUpperCase`,(e,t)=>{t.pattern??=at,mt.init(e,t)}),vt=c(`$ZodCheckIncludes`,(e,t)=>{B.init(e,t);let n=D(t.includes),r=new RegExp(typeof t.position==`number`?`^.{${t.position}}${n}`:n);t.pattern=r,e._zod.onattach.push(e=>{let t=e._zod.bag;t.patterns??=new Set,t.patterns.add(r)}),e._zod.check=n=>{n.value.includes(t.includes,t.position)||n.issues.push({origin:`string`,code:`invalid_format`,format:`includes`,includes:t.includes,input:n.value,inst:e,continue:!t.abort})}}),yt=c(`$ZodCheckStartsWith`,(e,t)=>{B.init(e,t);let n=RegExp(`^${D(t.prefix)}.*`);t.pattern??=n,e._zod.onattach.push(e=>{let t=e._zod.bag;t.patterns??=new Set,t.patterns.add(n)}),e._zod.check=n=>{n.value.startsWith(t.prefix)||n.issues.push({origin:`string`,code:`invalid_format`,format:`starts_with`,prefix:t.prefix,input:n.value,inst:e,continue:!t.abort})}}),bt=c(`$ZodCheckEndsWith`,(e,t)=>{B.init(e,t);let n=RegExp(`.*${D(t.suffix)}$`);t.pattern??=n,e._zod.onattach.push(e=>{let t=e._zod.bag;t.patterns??=new Set,t.patterns.add(n)}),e._zod.check=n=>{n.value.endsWith(t.suffix)||n.issues.push({origin:`string`,code:`invalid_format`,format:`ends_with`,suffix:t.suffix,input:n.value,inst:e,continue:!t.abort})}}),xt=c(`$ZodCheckOverwrite`,(e,t)=>{B.init(e,t),e._zod.check=e=>{e.value=t.tx(e.value)}}),St=class{constructor(e=[]){this.content=[],this.indent=0,this&&(this.args=e)}indented(e){this.indent+=1,e(this),--this.indent}write(e){if(typeof e==`function`){e(this,{execution:`sync`}),e(this,{execution:`async`});return}let t=e.split(`
1
+ var Liforma=(function(e){Object.defineProperty(e,Symbol.toStringTag,{value:`Module`});function t(){if(globalThis.__LIFORMA_STACK===`local`)return!0;if(typeof location>`u`)return!1;try{return new URLSearchParams(location.search).get(`stack`)===`local`}catch{return!1}}var n=`https://api.liforma.ai`,r=`http://localhost:3001`;function i(){let e=globalThis.__LIFORMA_API_BASE_URL;if(e?.trim())return e.trim().replace(/\/$/,``);if(typeof document>`u`)return null;let t=(document.querySelector(`script[data-liforma-sdk][src*="client.js"]`)??document.querySelector(`script[src*="/sdk/v2/client.js"]`))?.getAttribute(`data-api-base-url`)?.trim();return t?t.replace(/\/$/,``):null}function a(){return i()||(t()?r:n)}function o(e,t){let n=e.trim();if(!n)throw Error(`sessionEndpoint must not be empty.`);if(typeof location>`u`)throw Error(`sessionEndpoint is only available in a browser.`);let r=new URL(n,location.href);if(r.origin!==location.origin)throw Error(`sessionEndpoint must be same-origin.`);let i=t.experienceId.trim();if(!i)throw Error(`sessionEndpoint requires experienceId.`);return{url:r.toString(),init:{method:`POST`,credentials:`same-origin`,headers:{Accept:`application/json`,"Content-Type":`application/json`},body:JSON.stringify({experienceId:i,...t.language?{language:t.language}:{},...t.mode?{mode:t.mode}:{},...t.responseMode?{responseMode:t.responseMode}:{},...t.speechInputMode?{speechInputMode:t.speechInputMode}:{},...t.startButton?{startButton:t.startButton}:{},...t.speechOnly===void 0?{}:{speechOnly:t.speechOnly}})}}}var s;function c(e,t,n){function r(n,r){if(n._zod||Object.defineProperty(n,"_zod",{value:{def:r,constr:o,traits:new Set},enumerable:!1}),n._zod.traits.has(e))return;n._zod.traits.add(e),t(n,r);let i=o.prototype,a=Object.keys(i);for(let e=0;e<a.length;e++){let t=a[e];t in n||(n[t]=i[t].bind(n))}}let i=n?.Parent??Object;class a extends i{}Object.defineProperty(a,"name",{value:e});function o(e){var t;let i=n?.Parent?new a:this;r(i,e),(t=i._zod).deferred??(t.deferred=[]);for(let e of i._zod.deferred)e();return i}return Object.defineProperty(o,"init",{value:r}),Object.defineProperty(o,Symbol.hasInstance,{value:t=>n?.Parent&&t instanceof n.Parent?!0:t?._zod?.traits?.has(e)}),Object.defineProperty(o,"name",{value:e}),o}var l=class extends Error{constructor(){super(`Encountered Promise during synchronous parse. Use .parseAsync() instead.`)}},u=class extends Error{constructor(e){super(`Encountered unidirectional transform during encode: ${e}`),this.name=`ZodEncodeError`}};(s=globalThis).__zod_globalConfig??(s.__zod_globalConfig={});var d=globalThis.__zod_globalConfig;function f(e){return e&&Object.assign(d,e),d}function p(e){let t=Object.values(e).filter(e=>typeof e==`number`);return Object.entries(e).filter(([e,n])=>t.indexOf(+e)===-1).map(([e,t])=>t)}function m(e,t){return typeof t==`bigint`?t.toString():t}function h(e){return{get value(){{let t=e();return Object.defineProperty(this,"value",{value:t}),t}throw Error(`cached value already set`)}}}function g(e){return e==null}function _(e){let t=+!!e.startsWith(`^`),n=e.endsWith(`$`)?e.length-1:e.length;return e.slice(t,n)}function ee(e,t){let n=e/t,r=Math.round(n),i=2**-52*Math.max(Math.abs(n),1);return Math.abs(n-r)<i?0:n-r}var v=Symbol(`evaluating`);function y(e,t,n){let r;Object.defineProperty(e,t,{get(){if(r!==v)return r===void 0&&(r=v,r=n()),r},set(n){Object.defineProperty(e,t,{value:n})},configurable:!0})}function b(e,t,n){Object.defineProperty(e,t,{value:n,writable:!0,enumerable:!0,configurable:!0})}function x(...e){let t={};for(let n of e)Object.assign(t,Object.getOwnPropertyDescriptors(n));return Object.defineProperties({},t)}function te(e){return JSON.stringify(e)}function S(e){return e.toLowerCase().trim().replace(/[^\w\s-]/g,``).replace(/[\s_-]+/g,`-`).replace(/^-+|-+$/g,``)}var C=`captureStackTrace`in Error?Error.captureStackTrace:(...e)=>{};function w(e){return typeof e==`object`&&!!e&&!Array.isArray(e)}var T=h(()=>{if(d.jitless||typeof navigator<`u`&&navigator?.userAgent?.includes(`Cloudflare`))return!1;try{return Function(``),!0}catch{return!1}});function E(e){if(w(e)===!1)return!1;let t=e.constructor;if(t===void 0||typeof t!=`function`)return!0;let n=t.prototype;return!(w(n)===!1||Object.prototype.hasOwnProperty.call(n,`isPrototypeOf`)===!1)}function ne(e){return E(e)?{...e}:Array.isArray(e)?[...e]:e instanceof Map?new Map(e):e instanceof Set?new Set(e):e}var re=new Set([`string`,`number`,`symbol`]);function D(e){return e.replace(/[.*+?^${}()|[\]\\]/g,`\\$&`)}function O(e,t,n){let r=new e._zod.constr(t??e._zod.def);return(!t||n?.parent)&&(r._zod.parent=e),r}function k(e){let t=e;if(!t)return{};if(typeof t==`string`)return{error:()=>t};if(t?.message!==void 0){if(t?.error!==void 0)throw Error("Cannot specify both `message` and `error` params");t.error=t.message}return delete t.message,typeof t.error==`string`?{...t,error:()=>t.error}:t}function ie(e){return Object.keys(e).filter(t=>e[t]._zod.optin===`optional`&&e[t]._zod.optout===`optional`)}var ae={safeint:[-(2**53-1),2**53-1],int32:[-2147483648,2147483647],uint32:[0,4294967295],float32:[-34028234663852886e22,34028234663852886e22],float64:[-Number.MAX_VALUE,Number.MAX_VALUE]};function oe(e,t){let n=e._zod.def,r=n.checks;if(r&&r.length>0)throw Error(`.pick() cannot be used on object schemas containing refinements`);return O(e,x(e._zod.def,{get shape(){let e={};for(let r in t){if(!(r in n.shape))throw Error(`Unrecognized key: "${r}"`);t[r]&&(e[r]=n.shape[r])}return b(this,`shape`,e),e},checks:[]}))}function se(e,t){let n=e._zod.def,r=n.checks;if(r&&r.length>0)throw Error(`.omit() cannot be used on object schemas containing refinements`);return O(e,x(e._zod.def,{get shape(){let r={...e._zod.def.shape};for(let e in t){if(!(e in n.shape))throw Error(`Unrecognized key: "${e}"`);t[e]&&delete r[e]}return b(this,`shape`,r),r},checks:[]}))}function ce(e,t){if(!E(t))throw Error(`Invalid input to extend: expected a plain object`);let n=e._zod.def.checks;if(n&&n.length>0){let n=e._zod.def.shape;for(let e in t)if(Object.getOwnPropertyDescriptor(n,e)!==void 0)throw Error("Cannot overwrite keys on object schemas containing refinements. Use `.safeExtend()` instead.")}return O(e,x(e._zod.def,{get shape(){let n={...e._zod.def.shape,...t};return b(this,`shape`,n),n}}))}function le(e,t){if(!E(t))throw Error(`Invalid input to safeExtend: expected a plain object`);return O(e,x(e._zod.def,{get shape(){let n={...e._zod.def.shape,...t};return b(this,`shape`,n),n}}))}function ue(e,t){if(e._zod.def.checks?.length)throw Error(`.merge() cannot be used on object schemas containing refinements. Use .safeExtend() instead.`);return O(e,x(e._zod.def,{get shape(){let n={...e._zod.def.shape,...t._zod.def.shape};return b(this,`shape`,n),n},get catchall(){return t._zod.def.catchall},checks:t._zod.def.checks??[]}))}function A(e,t,n){let r=t._zod.def.checks;if(r&&r.length>0)throw Error(`.partial() cannot be used on object schemas containing refinements`);return O(t,x(t._zod.def,{get shape(){let r=t._zod.def.shape,i={...r};if(n)for(let t in n){if(!(t in r))throw Error(`Unrecognized key: "${t}"`);n[t]&&(i[t]=e?new e({type:`optional`,innerType:r[t]}):r[t])}else for(let t in r)i[t]=e?new e({type:`optional`,innerType:r[t]}):r[t];return b(this,`shape`,i),i},checks:[]}))}function de(e,t,n){return O(t,x(t._zod.def,{get shape(){let r=t._zod.def.shape,i={...r};if(n)for(let t in n){if(!(t in i))throw Error(`Unrecognized key: "${t}"`);n[t]&&(i[t]=new e({type:`nonoptional`,innerType:r[t]}))}else for(let t in r)i[t]=new e({type:`nonoptional`,innerType:r[t]});return b(this,`shape`,i),i}}))}function j(e,t=0){if(e.aborted===!0)return!0;for(let n=t;n<e.issues.length;n++)if(e.issues[n]?.continue!==!0)return!0;return!1}function fe(e,t=0){if(e.aborted===!0)return!0;for(let n=t;n<e.issues.length;n++)if(e.issues[n]?.continue===!1)return!0;return!1}function M(e,t){return t.map(t=>{var n;return(n=t).path??(n.path=[]),t.path.unshift(e),t})}function N(e){return typeof e==`string`?e:e?.message}function P(e,t,n){let r=e.message?e.message:N(e.inst?._zod.def?.error?.(e))??N(t?.error?.(e))??N(n.customError?.(e))??N(n.localeError?.(e))??`Invalid input`,{inst:i,continue:a,input:o,...s}=e;return s.path??=[],s.message=r,t?.reportInput&&(s.input=o),s}function pe(e){return Array.isArray(e)?`array`:typeof e==`string`?`string`:`unknown`}function F(...e){let[t,n,r]=e;return typeof t==`string`?{message:t,code:`custom`,input:n,inst:r}:{...t}}var me=(e,t)=>{e.name=`$ZodError`,Object.defineProperty(e,"_zod",{value:e._zod,enumerable:!1}),Object.defineProperty(e,"issues",{value:t,enumerable:!1}),e.message=JSON.stringify(t,m,2),Object.defineProperty(e,"toString",{value:()=>e.message,enumerable:!1})},he=c(`$ZodError`,me),I=c(`$ZodError`,me,{Parent:Error});function ge(e,t=e=>e.message){let n={},r=[];for(let i of e.issues)i.path.length>0?(n[i.path[0]]=n[i.path[0]]||[],n[i.path[0]].push(t(i))):r.push(t(i));return{formErrors:r,fieldErrors:n}}function _e(e,t=e=>e.message){let n={_errors:[]},r=(e,i=[])=>{for(let a of e.issues)if(a.code===`invalid_union`&&a.errors.length)a.errors.map(e=>r({issues:e},[...i,...a.path]));else if(a.code===`invalid_key`)r({issues:a.issues},[...i,...a.path]);else if(a.code===`invalid_element`)r({issues:a.issues},[...i,...a.path]);else{let e=[...i,...a.path];if(e.length===0)n._errors.push(t(a));else{let r=n,i=0;for(;i<e.length;){let n=e[i];i===e.length-1?(r[n]=r[n]||{_errors:[]},r[n]._errors.push(t(a))):r[n]=r[n]||{_errors:[]},r=r[n],i++}}}};return r(e),n}var ve=e=>(t,n,r,i)=>{let a=r?{...r,async:!1}:{async:!1},o=t._zod.run({value:n,issues:[]},a);if(o instanceof Promise)throw new l;if(o.issues.length){let t=new(i?.Err??e)(o.issues.map(e=>P(e,a,f())));throw C(t,i?.callee),t}return o.value},ye=e=>async(t,n,r,i)=>{let a=r?{...r,async:!0}:{async:!0},o=t._zod.run({value:n,issues:[]},a);if(o instanceof Promise&&(o=await o),o.issues.length){let t=new(i?.Err??e)(o.issues.map(e=>P(e,a,f())));throw C(t,i?.callee),t}return o.value},be=e=>(t,n,r)=>{let i=r?{...r,async:!1}:{async:!1},a=t._zod.run({value:n,issues:[]},i);if(a instanceof Promise)throw new l;return a.issues.length?{success:!1,error:new(e??he)(a.issues.map(e=>P(e,i,f())))}:{success:!0,data:a.value}},xe=be(I),L=e=>async(t,n,r)=>{let i=r?{...r,async:!0}:{async:!0},a=t._zod.run({value:n,issues:[]},i);return a instanceof Promise&&(a=await a),a.issues.length?{success:!1,error:new e(a.issues.map(e=>P(e,i,f())))}:{success:!0,data:a.value}},Se=L(I),Ce=e=>(t,n,r)=>{let i=r?{...r,direction:`backward`}:{direction:`backward`};return ve(e)(t,n,i)},we=e=>(t,n,r)=>ve(e)(t,n,r),Te=e=>async(t,n,r)=>{let i=r?{...r,direction:`backward`}:{direction:`backward`};return ye(e)(t,n,i)},R=e=>async(t,n,r)=>ye(e)(t,n,r),Ee=e=>(t,n,r)=>{let i=r?{...r,direction:`backward`}:{direction:`backward`};return be(e)(t,n,i)},De=e=>(t,n,r)=>be(e)(t,n,r),Oe=e=>async(t,n,r)=>{let i=r?{...r,direction:`backward`}:{direction:`backward`};return L(e)(t,n,i)},ke=e=>async(t,n,r)=>L(e)(t,n,r),Ae=/^[cC][0-9a-z]{6,}$/,je=/^[0-9a-z]+$/,Me=/^[0-9A-HJKMNP-TV-Za-hjkmnp-tv-z]{26}$/,Ne=/^[0-9a-vA-V]{20}$/,Pe=/^[A-Za-z0-9]{27}$/,Fe=/^[a-zA-Z0-9_-]{21}$/,Ie=/^P(?:(\d+W)|(?!.*W)(?=\d|T\d)(\d+Y)?(\d+M)?(\d+D)?(T(?=\d)(\d+H)?(\d+M)?(\d+([.,]\d+)?S)?)?)$/,Le=/^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$/,Re=e=>e?RegExp(`^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-${e}[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$`):/^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$/,ze=/^(?!\.)(?!.*\.\.)([A-Za-z0-9_'+\-\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\-]*\.)+[A-Za-z]{2,}$/,Be=`^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$`;function Ve(){return new RegExp(Be,`u`)}var He=/^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])$/,Ue=/^(([0-9a-fA-F]{1,4}:){7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:))$/,We=/^((25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\/([0-9]|[1-2][0-9]|3[0-2])$/,Ge=/^(([0-9a-fA-F]{1,4}:){7}[0-9a-fA-F]{1,4}|::|([0-9a-fA-F]{1,4})?::([0-9a-fA-F]{1,4}:?){0,6})\/(12[0-8]|1[01][0-9]|[1-9]?[0-9])$/,Ke=/^$|^(?:[0-9a-zA-Z+/]{4})*(?:(?:[0-9a-zA-Z+/]{2}==)|(?:[0-9a-zA-Z+/]{3}=))?$/,qe=/^[A-Za-z0-9_-]*$/,Je=/^https?$/,Ye=/^\+[1-9]\d{6,14}$/,Xe=`(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))`,Ze=RegExp(`^${Xe}$`);function Qe(e){let t=`(?:[01]\\d|2[0-3]):[0-5]\\d`;return typeof e.precision==`number`?e.precision===-1?`${t}`:e.precision===0?`${t}:[0-5]\\d`:`${t}:[0-5]\\d\\.\\d{${e.precision}}`:`${t}(?::[0-5]\\d(?:\\.\\d+)?)?`}function $e(e){return RegExp(`^${Qe(e)}$`)}function et(e){let t=Qe({precision:e.precision}),n=[`Z`];e.local&&n.push(``),e.offset&&n.push(`([+-](?:[01]\\d|2[0-3]):[0-5]\\d)`);let r=`${t}(?:${n.join(`|`)})`;return RegExp(`^${Xe}T(?:${r})$`)}var tt=e=>{let t=e?`[\\s\\S]{${e?.minimum??0},${e?.maximum??``}}`:`[\\s\\S]*`;return RegExp(`^${t}$`)},nt=/^-?\d+$/,rt=/^-?\d+(?:\.\d+)?$/,it=/^(?:true|false)$/i,at=/^[^A-Z]*$/,ot=/^[^a-z]*$/,z=c(`$ZodCheck`,(e,t)=>{var n;e._zod??={},e._zod.def=t,(n=e._zod).onattach??(n.onattach=[])}),st={number:`number`,bigint:`bigint`,object:`date`},ct=c(`$ZodCheckLessThan`,(e,t)=>{z.init(e,t);let n=st[typeof t.value];e._zod.onattach.push(e=>{let n=e._zod.bag,r=(t.inclusive?n.maximum:n.exclusiveMaximum)??1/0;t.value<r&&(t.inclusive?n.maximum=t.value:n.exclusiveMaximum=t.value)}),e._zod.check=r=>{(t.inclusive?r.value<=t.value:r.value<t.value)||r.issues.push({origin:n,code:`too_big`,maximum:typeof t.value==`object`?t.value.getTime():t.value,input:r.value,inclusive:t.inclusive,inst:e,continue:!t.abort})}}),lt=c(`$ZodCheckGreaterThan`,(e,t)=>{z.init(e,t);let n=st[typeof t.value];e._zod.onattach.push(e=>{let n=e._zod.bag,r=(t.inclusive?n.minimum:n.exclusiveMinimum)??-1/0;t.value>r&&(t.inclusive?n.minimum=t.value:n.exclusiveMinimum=t.value)}),e._zod.check=r=>{(t.inclusive?r.value>=t.value:r.value>t.value)||r.issues.push({origin:n,code:`too_small`,minimum:typeof t.value==`object`?t.value.getTime():t.value,input:r.value,inclusive:t.inclusive,inst:e,continue:!t.abort})}}),ut=c(`$ZodCheckMultipleOf`,(e,t)=>{z.init(e,t),e._zod.onattach.push(e=>{var n;(n=e._zod.bag).multipleOf??(n.multipleOf=t.value)}),e._zod.check=n=>{if(typeof n.value!=typeof t.value)throw Error(`Cannot mix number and bigint in multiple_of check.`);(typeof n.value==`bigint`?n.value%t.value===BigInt(0):ee(n.value,t.value)===0)||n.issues.push({origin:typeof n.value,code:`not_multiple_of`,divisor:t.value,input:n.value,inst:e,continue:!t.abort})}}),dt=c(`$ZodCheckNumberFormat`,(e,t)=>{z.init(e,t),t.format=t.format||`float64`;let n=t.format?.includes(`int`),r=n?`int`:`number`,[i,a]=ae[t.format];e._zod.onattach.push(e=>{let r=e._zod.bag;r.format=t.format,r.minimum=i,r.maximum=a,n&&(r.pattern=nt)}),e._zod.check=o=>{let s=o.value;if(n){if(!Number.isInteger(s)){o.issues.push({expected:r,format:t.format,code:`invalid_type`,continue:!1,input:s,inst:e});return}if(!Number.isSafeInteger(s)){s>0?o.issues.push({input:s,code:`too_big`,maximum:2**53-1,note:`Integers must be within the safe integer range.`,inst:e,origin:r,inclusive:!0,continue:!t.abort}):o.issues.push({input:s,code:`too_small`,minimum:-(2**53-1),note:`Integers must be within the safe integer range.`,inst:e,origin:r,inclusive:!0,continue:!t.abort});return}}s<i&&o.issues.push({origin:`number`,input:s,code:`too_small`,minimum:i,inclusive:!0,inst:e,continue:!t.abort}),s>a&&o.issues.push({origin:`number`,input:s,code:`too_big`,maximum:a,inclusive:!0,inst:e,continue:!t.abort})}}),ft=c(`$ZodCheckMaxLength`,(e,t)=>{var n;z.init(e,t),(n=e._zod.def).when??(n.when=e=>{let t=e.value;return!g(t)&&t.length!==void 0}),e._zod.onattach.push(e=>{let n=e._zod.bag.maximum??1/0;t.maximum<n&&(e._zod.bag.maximum=t.maximum)}),e._zod.check=n=>{let r=n.value;if(r.length<=t.maximum)return;let i=pe(r);n.issues.push({origin:i,code:`too_big`,maximum:t.maximum,inclusive:!0,input:r,inst:e,continue:!t.abort})}}),pt=c(`$ZodCheckMinLength`,(e,t)=>{var n;z.init(e,t),(n=e._zod.def).when??(n.when=e=>{let t=e.value;return!g(t)&&t.length!==void 0}),e._zod.onattach.push(e=>{let n=e._zod.bag.minimum??-1/0;t.minimum>n&&(e._zod.bag.minimum=t.minimum)}),e._zod.check=n=>{let r=n.value;if(r.length>=t.minimum)return;let i=pe(r);n.issues.push({origin:i,code:`too_small`,minimum:t.minimum,inclusive:!0,input:r,inst:e,continue:!t.abort})}}),mt=c(`$ZodCheckLengthEquals`,(e,t)=>{var n;z.init(e,t),(n=e._zod.def).when??(n.when=e=>{let t=e.value;return!g(t)&&t.length!==void 0}),e._zod.onattach.push(e=>{let n=e._zod.bag;n.minimum=t.length,n.maximum=t.length,n.length=t.length}),e._zod.check=n=>{let r=n.value,i=r.length;if(i===t.length)return;let a=pe(r),o=i>t.length;n.issues.push({origin:a,...o?{code:`too_big`,maximum:t.length}:{code:`too_small`,minimum:t.length},inclusive:!0,exact:!0,input:n.value,inst:e,continue:!t.abort})}}),ht=c(`$ZodCheckStringFormat`,(e,t)=>{var n,r;z.init(e,t),e._zod.onattach.push(e=>{let n=e._zod.bag;n.format=t.format,t.pattern&&(n.patterns??=new Set,n.patterns.add(t.pattern))}),t.pattern?(n=e._zod).check??(n.check=n=>{t.pattern.lastIndex=0,!t.pattern.test(n.value)&&n.issues.push({origin:`string`,code:`invalid_format`,format:t.format,input:n.value,...t.pattern?{pattern:t.pattern.toString()}:{},inst:e,continue:!t.abort})}):(r=e._zod).check??(r.check=()=>{})}),gt=c(`$ZodCheckRegex`,(e,t)=>{ht.init(e,t),e._zod.check=n=>{t.pattern.lastIndex=0,!t.pattern.test(n.value)&&n.issues.push({origin:`string`,code:`invalid_format`,format:`regex`,input:n.value,pattern:t.pattern.toString(),inst:e,continue:!t.abort})}}),_t=c(`$ZodCheckLowerCase`,(e,t)=>{t.pattern??=at,ht.init(e,t)}),vt=c(`$ZodCheckUpperCase`,(e,t)=>{t.pattern??=ot,ht.init(e,t)}),yt=c(`$ZodCheckIncludes`,(e,t)=>{z.init(e,t);let n=D(t.includes),r=new RegExp(typeof t.position==`number`?`^.{${t.position}}${n}`:n);t.pattern=r,e._zod.onattach.push(e=>{let t=e._zod.bag;t.patterns??=new Set,t.patterns.add(r)}),e._zod.check=n=>{n.value.includes(t.includes,t.position)||n.issues.push({origin:`string`,code:`invalid_format`,format:`includes`,includes:t.includes,input:n.value,inst:e,continue:!t.abort})}}),bt=c(`$ZodCheckStartsWith`,(e,t)=>{z.init(e,t);let n=RegExp(`^${D(t.prefix)}.*`);t.pattern??=n,e._zod.onattach.push(e=>{let t=e._zod.bag;t.patterns??=new Set,t.patterns.add(n)}),e._zod.check=n=>{n.value.startsWith(t.prefix)||n.issues.push({origin:`string`,code:`invalid_format`,format:`starts_with`,prefix:t.prefix,input:n.value,inst:e,continue:!t.abort})}}),xt=c(`$ZodCheckEndsWith`,(e,t)=>{z.init(e,t);let n=RegExp(`.*${D(t.suffix)}$`);t.pattern??=n,e._zod.onattach.push(e=>{let t=e._zod.bag;t.patterns??=new Set,t.patterns.add(n)}),e._zod.check=n=>{n.value.endsWith(t.suffix)||n.issues.push({origin:`string`,code:`invalid_format`,format:`ends_with`,suffix:t.suffix,input:n.value,inst:e,continue:!t.abort})}}),St=c(`$ZodCheckOverwrite`,(e,t)=>{z.init(e,t),e._zod.check=e=>{e.value=t.tx(e.value)}}),Ct=class{constructor(e=[]){this.content=[],this.indent=0,this&&(this.args=e)}indented(e){this.indent+=1,e(this),--this.indent}write(e){if(typeof e==`function`){e(this,{execution:`sync`}),e(this,{execution:`async`});return}let t=e.split(`
2
2
  `).filter(e=>e),n=Math.min(...t.map(e=>e.length-e.trimStart().length)),r=t.map(e=>e.slice(n)).map(e=>` `.repeat(this.indent*2)+e);for(let e of r)this.content.push(e)}compile(){let e=Function,t=this?.args,n=[...(this?.content??[``]).map(e=>` ${e}`)];return new e(...t,n.join(`
3
- `))}},Ct={major:4,minor:4,patch:3},V=c(`$ZodType`,(e,t)=>{var n;e??={},e._zod.def=t,e._zod.bag=e._zod.bag||{},e._zod.version=Ct;let r=[...e._zod.def.checks??[]];e._zod.traits.has(`$ZodCheck`)&&r.unshift(e);for(let t of r)for(let n of t._zod.onattach)n(e);if(r.length===0)(n=e._zod).deferred??(n.deferred=[]),e._zod.deferred?.push(()=>{e._zod.run=e._zod.parse});else{let t=(e,t,n)=>{let r=j(e),i;for(let a of t){if(a._zod.def.when){if(fe(e)||!a._zod.def.when(e))continue}else if(r)continue;let t=e.issues.length,o=a._zod.check(e);if(o instanceof Promise&&n?.async===!1)throw new l;if(i||o instanceof Promise)i=(i??Promise.resolve()).then(async()=>{await o,e.issues.length!==t&&(r||=j(e,t))});else{if(e.issues.length===t)continue;r||=j(e,t)}}return i?i.then(()=>e):e},n=(n,i,a)=>{if(j(n))return n.aborted=!0,n;let o=t(i,r,a);if(o instanceof Promise){if(a.async===!1)throw new l;return o.then(t=>e._zod.parse(t,a))}return e._zod.parse(o,a)};e._zod.run=(i,a)=>{if(a.skipChecks)return e._zod.parse(i,a);if(a.direction===`backward`){let t=e._zod.parse({value:i.value,issues:[]},{...a,skipChecks:!0});return t instanceof Promise?t.then(e=>n(e,i,a)):n(t,i,a)}let o=e._zod.parse(i,a);if(o instanceof Promise){if(a.async===!1)throw new l;return o.then(e=>t(e,r,a))}return t(o,r,a)}}y(e,`~standard`,()=>({validate:t=>{try{let n=be(e,t);return n.success?{value:n.data}:{issues:n.error?.issues}}catch{return xe(e,t).then(e=>e.success?{value:e.data}:{issues:e.error?.issues})}},vendor:`zod`,version:1}))}),wt=c(`$ZodString`,(e,t)=>{V.init(e,t),e._zod.pattern=[...e?._zod.bag?.patterns??[]].pop()??et(e._zod.bag),e._zod.parse=(n,r)=>{if(t.coerce)try{n.value=String(n.value)}catch{}return typeof n.value==`string`||n.issues.push({expected:`string`,code:`invalid_type`,input:n.value,inst:e}),n}}),H=c(`$ZodStringFormat`,(e,t)=>{mt.init(e,t),wt.init(e,t)}),Tt=c(`$ZodGUID`,(e,t)=>{t.pattern??=Ie,H.init(e,t)}),Et=c(`$ZodUUID`,(e,t)=>{if(t.version){let e={v1:1,v2:2,v3:3,v4:4,v5:5,v6:6,v7:7,v8:8}[t.version];if(e===void 0)throw Error(`Invalid UUID version: "${t.version}"`);t.pattern??=Le(e)}else t.pattern??=Le();H.init(e,t)}),Dt=c(`$ZodEmail`,(e,t)=>{t.pattern??=Re,H.init(e,t)}),Ot=c(`$ZodURL`,(e,t)=>{H.init(e,t),e._zod.check=n=>{try{let r=n.value.trim();if(!t.normalize&&t.protocol?.source===qe.source&&!/^https?:\/\//i.test(r)){n.issues.push({code:`invalid_format`,format:`url`,note:`Invalid URL format`,input:n.value,inst:e,continue:!t.abort});return}let i=new URL(r);t.hostname&&(t.hostname.lastIndex=0,t.hostname.test(i.hostname)||n.issues.push({code:`invalid_format`,format:`url`,note:`Invalid hostname`,pattern:t.hostname.source,input:n.value,inst:e,continue:!t.abort})),t.protocol&&(t.protocol.lastIndex=0,t.protocol.test(i.protocol.endsWith(`:`)?i.protocol.slice(0,-1):i.protocol)||n.issues.push({code:`invalid_format`,format:`url`,note:`Invalid protocol`,pattern:t.protocol.source,input:n.value,inst:e,continue:!t.abort})),t.normalize?n.value=i.href:n.value=r;return}catch{n.issues.push({code:`invalid_format`,format:`url`,input:n.value,inst:e,continue:!t.abort})}}}),kt=c(`$ZodEmoji`,(e,t)=>{t.pattern??=Be(),H.init(e,t)}),At=c(`$ZodNanoID`,(e,t)=>{t.pattern??=Pe,H.init(e,t)}),jt=c(`$ZodCUID`,(e,t)=>{t.pattern??=ke,H.init(e,t)}),Mt=c(`$ZodCUID2`,(e,t)=>{t.pattern??=Ae,H.init(e,t)}),Nt=c(`$ZodULID`,(e,t)=>{t.pattern??=je,H.init(e,t)}),Pt=c(`$ZodXID`,(e,t)=>{t.pattern??=Me,H.init(e,t)}),Ft=c(`$ZodKSUID`,(e,t)=>{t.pattern??=Ne,H.init(e,t)}),It=c(`$ZodISODateTime`,(e,t)=>{t.pattern??=$e(t),H.init(e,t)}),Lt=c(`$ZodISODate`,(e,t)=>{t.pattern??=Xe,H.init(e,t)}),Rt=c(`$ZodISOTime`,(e,t)=>{t.pattern??=Qe(t),H.init(e,t)}),zt=c(`$ZodISODuration`,(e,t)=>{t.pattern??=Fe,H.init(e,t)}),Bt=c(`$ZodIPv4`,(e,t)=>{t.pattern??=Ve,H.init(e,t),e._zod.bag.format=`ipv4`}),Vt=c(`$ZodIPv6`,(e,t)=>{t.pattern??=He,H.init(e,t),e._zod.bag.format=`ipv6`,e._zod.check=n=>{try{new URL(`http://[${n.value}]`)}catch{n.issues.push({code:`invalid_format`,format:`ipv6`,input:n.value,inst:e,continue:!t.abort})}}}),Ht=c(`$ZodCIDRv4`,(e,t)=>{t.pattern??=Ue,H.init(e,t)}),Ut=c(`$ZodCIDRv6`,(e,t)=>{t.pattern??=We,H.init(e,t),e._zod.check=n=>{let r=n.value.split(`/`);try{if(r.length!==2)throw Error();let[e,t]=r;if(!t)throw Error();let n=Number(t);if(`${n}`!==t||n<0||n>128)throw Error();new URL(`http://[${e}]`)}catch{n.issues.push({code:`invalid_format`,format:`cidrv6`,input:n.value,inst:e,continue:!t.abort})}}});function Wt(e){if(e===``)return!0;if(/\s/.test(e)||e.length%4!=0)return!1;try{return atob(e),!0}catch{return!1}}var Gt=c(`$ZodBase64`,(e,t)=>{t.pattern??=Ge,H.init(e,t),e._zod.bag.contentEncoding=`base64`,e._zod.check=n=>{Wt(n.value)||n.issues.push({code:`invalid_format`,format:`base64`,input:n.value,inst:e,continue:!t.abort})}});function Kt(e){if(!Ke.test(e))return!1;let t=e.replace(/[-_]/g,e=>e===`-`?`+`:`/`);return Wt(t.padEnd(Math.ceil(t.length/4)*4,`=`))}var qt=c(`$ZodBase64URL`,(e,t)=>{t.pattern??=Ke,H.init(e,t),e._zod.bag.contentEncoding=`base64url`,e._zod.check=n=>{Kt(n.value)||n.issues.push({code:`invalid_format`,format:`base64url`,input:n.value,inst:e,continue:!t.abort})}}),Jt=c(`$ZodE164`,(e,t)=>{t.pattern??=Je,H.init(e,t)});function Yt(e,t=null){try{let n=e.split(`.`);if(n.length!==3)return!1;let[r]=n;if(!r)return!1;let i=JSON.parse(atob(r));return!(`typ`in i&&i?.typ!==`JWT`||!i.alg||t&&(!(`alg`in i)||i.alg!==t))}catch{return!1}}var Xt=c(`$ZodJWT`,(e,t)=>{H.init(e,t),e._zod.check=n=>{Yt(n.value,t.alg)||n.issues.push({code:`invalid_format`,format:`jwt`,input:n.value,inst:e,continue:!t.abort})}}),Zt=c(`$ZodNumber`,(e,t)=>{V.init(e,t),e._zod.pattern=e._zod.bag.pattern??nt,e._zod.parse=(n,r)=>{if(t.coerce)try{n.value=Number(n.value)}catch{}let i=n.value;if(typeof i==`number`&&!Number.isNaN(i)&&Number.isFinite(i))return n;let a=typeof i==`number`?Number.isNaN(i)?`NaN`:Number.isFinite(i)?void 0:`Infinity`:void 0;return n.issues.push({expected:`number`,code:`invalid_type`,input:i,inst:e,...a?{received:a}:{}}),n}}),Qt=c(`$ZodNumberFormat`,(e,t)=>{ut.init(e,t),Zt.init(e,t)}),$t=c(`$ZodBoolean`,(e,t)=>{V.init(e,t),e._zod.pattern=rt,e._zod.parse=(n,r)=>{if(t.coerce)try{n.value=!!n.value}catch{}let i=n.value;return typeof i==`boolean`||n.issues.push({expected:`boolean`,code:`invalid_type`,input:i,inst:e}),n}}),en=c(`$ZodUnknown`,(e,t)=>{V.init(e,t),e._zod.parse=e=>e}),tn=c(`$ZodNever`,(e,t)=>{V.init(e,t),e._zod.parse=(t,n)=>(t.issues.push({expected:`never`,code:`invalid_type`,input:t.value,inst:e}),t)});function nn(e,t,n){e.issues.length&&t.issues.push(...M(n,e.issues)),t.value[n]=e.value}var rn=c(`$ZodArray`,(e,t)=>{V.init(e,t),e._zod.parse=(n,r)=>{let i=n.value;if(!Array.isArray(i))return n.issues.push({expected:`array`,code:`invalid_type`,input:i,inst:e}),n;n.value=Array(i.length);let a=[];for(let e=0;e<i.length;e++){let o=i[e],s=t.element._zod.run({value:o,issues:[]},r);s instanceof Promise?a.push(s.then(t=>nn(t,n,e))):nn(s,n,e)}return a.length?Promise.all(a).then(()=>n):n}});function an(e,t,n,r,i,a){let o=n in r;if(e.issues.length){if(i&&a&&!o)return;t.issues.push(...M(n,e.issues))}if(!o&&!i){e.issues.length||t.issues.push({code:`invalid_type`,expected:`nonoptional`,input:void 0,path:[n]});return}e.value===void 0?o&&(t.value[n]=void 0):t.value[n]=e.value}function on(e){let t=Object.keys(e.shape);for(let n of t)if(!e.shape?.[n]?._zod?.traits?.has(`$ZodType`))throw Error(`Invalid element at key "${n}": expected a Zod schema`);let n=ie(e.shape);return{...e,keys:t,keySet:new Set(t),numKeys:t.length,optionalKeys:new Set(n)}}function sn(e,t,n,r,i,a){let o=[],s=i.keySet,c=i.catchall._zod,l=c.def.type,u=c.optin===`optional`,d=c.optout===`optional`;for(let i in t){if(i===`__proto__`||s.has(i))continue;if(l===`never`){o.push(i);continue}let a=c.run({value:t[i],issues:[]},r);a instanceof Promise?e.push(a.then(e=>an(e,n,i,t,u,d))):an(a,n,i,t,u,d)}return o.length&&n.issues.push({code:`unrecognized_keys`,keys:o,input:t,inst:a}),e.length?Promise.all(e).then(()=>n):n}var cn=c(`$ZodObject`,(e,t)=>{if(V.init(e,t),!Object.getOwnPropertyDescriptor(t,`shape`)?.get){let e=t.shape;Object.defineProperty(t,"shape",{get:()=>{let n={...e};return Object.defineProperty(t,"shape",{value:n}),n}})}let n=h(()=>on(t));y(e._zod,`propValues`,()=>{let e=t.shape,n={};for(let t in e){let r=e[t]._zod;if(r.values){n[t]??(n[t]=new Set);for(let e of r.values)n[t].add(e)}}return n});let r=w,i=t.catchall,a;e._zod.parse=(t,o)=>{a??=n.value;let s=t.value;if(!r(s))return t.issues.push({expected:`object`,code:`invalid_type`,input:s,inst:e}),t;t.value={};let c=[],l=a.shape;for(let e of a.keys){let n=l[e],r=n._zod.optin===`optional`,i=n._zod.optout===`optional`,a=n._zod.run({value:s[e],issues:[]},o);a instanceof Promise?c.push(a.then(n=>an(n,t,e,s,r,i))):an(a,t,e,s,r,i)}return i?sn(c,s,t,o,n.value,e):c.length?Promise.all(c).then(()=>t):t}}),ln=c(`$ZodObjectJIT`,(e,t)=>{cn.init(e,t);let n=e._zod.parse,r=h(()=>on(t)),i=e=>{let t=new St([`shape`,`payload`,`ctx`]),n=r.value,i=e=>{let t=te(e);return`shape[${t}]._zod.run({ value: input[${t}], issues: [] }, ctx)`};t.write(`const input = payload.value;`);let a=Object.create(null),o=0;for(let e of n.keys)a[e]=`key_${o++}`;t.write(`const newResult = {};`);for(let r of n.keys){let n=a[r],o=te(r),s=e[r],c=s?._zod?.optin===`optional`,l=s?._zod?.optout===`optional`;t.write(`const ${n} = ${i(r)};`),c&&l?t.write(`
3
+ `))}},wt={major:4,minor:4,patch:3},B=c(`$ZodType`,(e,t)=>{var n;e??={},e._zod.def=t,e._zod.bag=e._zod.bag||{},e._zod.version=wt;let r=[...e._zod.def.checks??[]];e._zod.traits.has(`$ZodCheck`)&&r.unshift(e);for(let t of r)for(let n of t._zod.onattach)n(e);if(r.length===0)(n=e._zod).deferred??(n.deferred=[]),e._zod.deferred?.push(()=>{e._zod.run=e._zod.parse});else{let t=(e,t,n)=>{let r=j(e),i;for(let a of t){if(a._zod.def.when){if(fe(e)||!a._zod.def.when(e))continue}else if(r)continue;let t=e.issues.length,o=a._zod.check(e);if(o instanceof Promise&&n?.async===!1)throw new l;if(i||o instanceof Promise)i=(i??Promise.resolve()).then(async()=>{await o,e.issues.length!==t&&(r||=j(e,t))});else{if(e.issues.length===t)continue;r||=j(e,t)}}return i?i.then(()=>e):e},n=(n,i,a)=>{if(j(n))return n.aborted=!0,n;let o=t(i,r,a);if(o instanceof Promise){if(a.async===!1)throw new l;return o.then(t=>e._zod.parse(t,a))}return e._zod.parse(o,a)};e._zod.run=(i,a)=>{if(a.skipChecks)return e._zod.parse(i,a);if(a.direction===`backward`){let t=e._zod.parse({value:i.value,issues:[]},{...a,skipChecks:!0});return t instanceof Promise?t.then(e=>n(e,i,a)):n(t,i,a)}let o=e._zod.parse(i,a);if(o instanceof Promise){if(a.async===!1)throw new l;return o.then(e=>t(e,r,a))}return t(o,r,a)}}y(e,`~standard`,()=>({validate:t=>{try{let n=xe(e,t);return n.success?{value:n.data}:{issues:n.error?.issues}}catch{return Se(e,t).then(e=>e.success?{value:e.data}:{issues:e.error?.issues})}},vendor:`zod`,version:1}))}),Tt=c(`$ZodString`,(e,t)=>{B.init(e,t),e._zod.pattern=[...e?._zod.bag?.patterns??[]].pop()??tt(e._zod.bag),e._zod.parse=(n,r)=>{if(t.coerce)try{n.value=String(n.value)}catch{}return typeof n.value==`string`||n.issues.push({expected:`string`,code:`invalid_type`,input:n.value,inst:e}),n}}),V=c(`$ZodStringFormat`,(e,t)=>{ht.init(e,t),Tt.init(e,t)}),Et=c(`$ZodGUID`,(e,t)=>{t.pattern??=Le,V.init(e,t)}),Dt=c(`$ZodUUID`,(e,t)=>{if(t.version){let e={v1:1,v2:2,v3:3,v4:4,v5:5,v6:6,v7:7,v8:8}[t.version];if(e===void 0)throw Error(`Invalid UUID version: "${t.version}"`);t.pattern??=Re(e)}else t.pattern??=Re();V.init(e,t)}),Ot=c(`$ZodEmail`,(e,t)=>{t.pattern??=ze,V.init(e,t)}),kt=c(`$ZodURL`,(e,t)=>{V.init(e,t),e._zod.check=n=>{try{let r=n.value.trim();if(!t.normalize&&t.protocol?.source===Je.source&&!/^https?:\/\//i.test(r)){n.issues.push({code:`invalid_format`,format:`url`,note:`Invalid URL format`,input:n.value,inst:e,continue:!t.abort});return}let i=new URL(r);t.hostname&&(t.hostname.lastIndex=0,t.hostname.test(i.hostname)||n.issues.push({code:`invalid_format`,format:`url`,note:`Invalid hostname`,pattern:t.hostname.source,input:n.value,inst:e,continue:!t.abort})),t.protocol&&(t.protocol.lastIndex=0,t.protocol.test(i.protocol.endsWith(`:`)?i.protocol.slice(0,-1):i.protocol)||n.issues.push({code:`invalid_format`,format:`url`,note:`Invalid protocol`,pattern:t.protocol.source,input:n.value,inst:e,continue:!t.abort})),t.normalize?n.value=i.href:n.value=r;return}catch{n.issues.push({code:`invalid_format`,format:`url`,input:n.value,inst:e,continue:!t.abort})}}}),At=c(`$ZodEmoji`,(e,t)=>{t.pattern??=Ve(),V.init(e,t)}),jt=c(`$ZodNanoID`,(e,t)=>{t.pattern??=Fe,V.init(e,t)}),Mt=c(`$ZodCUID`,(e,t)=>{t.pattern??=Ae,V.init(e,t)}),Nt=c(`$ZodCUID2`,(e,t)=>{t.pattern??=je,V.init(e,t)}),Pt=c(`$ZodULID`,(e,t)=>{t.pattern??=Me,V.init(e,t)}),Ft=c(`$ZodXID`,(e,t)=>{t.pattern??=Ne,V.init(e,t)}),It=c(`$ZodKSUID`,(e,t)=>{t.pattern??=Pe,V.init(e,t)}),Lt=c(`$ZodISODateTime`,(e,t)=>{t.pattern??=et(t),V.init(e,t)}),Rt=c(`$ZodISODate`,(e,t)=>{t.pattern??=Ze,V.init(e,t)}),zt=c(`$ZodISOTime`,(e,t)=>{t.pattern??=$e(t),V.init(e,t)}),Bt=c(`$ZodISODuration`,(e,t)=>{t.pattern??=Ie,V.init(e,t)}),Vt=c(`$ZodIPv4`,(e,t)=>{t.pattern??=He,V.init(e,t),e._zod.bag.format=`ipv4`}),Ht=c(`$ZodIPv6`,(e,t)=>{t.pattern??=Ue,V.init(e,t),e._zod.bag.format=`ipv6`,e._zod.check=n=>{try{new URL(`http://[${n.value}]`)}catch{n.issues.push({code:`invalid_format`,format:`ipv6`,input:n.value,inst:e,continue:!t.abort})}}}),Ut=c(`$ZodCIDRv4`,(e,t)=>{t.pattern??=We,V.init(e,t)}),Wt=c(`$ZodCIDRv6`,(e,t)=>{t.pattern??=Ge,V.init(e,t),e._zod.check=n=>{let r=n.value.split(`/`);try{if(r.length!==2)throw Error();let[e,t]=r;if(!t)throw Error();let n=Number(t);if(`${n}`!==t||n<0||n>128)throw Error();new URL(`http://[${e}]`)}catch{n.issues.push({code:`invalid_format`,format:`cidrv6`,input:n.value,inst:e,continue:!t.abort})}}});function Gt(e){if(e===``)return!0;if(/\s/.test(e)||e.length%4!=0)return!1;try{return atob(e),!0}catch{return!1}}var Kt=c(`$ZodBase64`,(e,t)=>{t.pattern??=Ke,V.init(e,t),e._zod.bag.contentEncoding=`base64`,e._zod.check=n=>{Gt(n.value)||n.issues.push({code:`invalid_format`,format:`base64`,input:n.value,inst:e,continue:!t.abort})}});function qt(e){if(!qe.test(e))return!1;let t=e.replace(/[-_]/g,e=>e===`-`?`+`:`/`);return Gt(t.padEnd(Math.ceil(t.length/4)*4,`=`))}var Jt=c(`$ZodBase64URL`,(e,t)=>{t.pattern??=qe,V.init(e,t),e._zod.bag.contentEncoding=`base64url`,e._zod.check=n=>{qt(n.value)||n.issues.push({code:`invalid_format`,format:`base64url`,input:n.value,inst:e,continue:!t.abort})}}),Yt=c(`$ZodE164`,(e,t)=>{t.pattern??=Ye,V.init(e,t)});function Xt(e,t=null){try{let n=e.split(`.`);if(n.length!==3)return!1;let[r]=n;if(!r)return!1;let i=JSON.parse(atob(r));return!(`typ`in i&&i?.typ!==`JWT`||!i.alg||t&&(!(`alg`in i)||i.alg!==t))}catch{return!1}}var Zt=c(`$ZodJWT`,(e,t)=>{V.init(e,t),e._zod.check=n=>{Xt(n.value,t.alg)||n.issues.push({code:`invalid_format`,format:`jwt`,input:n.value,inst:e,continue:!t.abort})}}),Qt=c(`$ZodNumber`,(e,t)=>{B.init(e,t),e._zod.pattern=e._zod.bag.pattern??rt,e._zod.parse=(n,r)=>{if(t.coerce)try{n.value=Number(n.value)}catch{}let i=n.value;if(typeof i==`number`&&!Number.isNaN(i)&&Number.isFinite(i))return n;let a=typeof i==`number`?Number.isNaN(i)?`NaN`:Number.isFinite(i)?void 0:`Infinity`:void 0;return n.issues.push({expected:`number`,code:`invalid_type`,input:i,inst:e,...a?{received:a}:{}}),n}}),$t=c(`$ZodNumberFormat`,(e,t)=>{dt.init(e,t),Qt.init(e,t)}),en=c(`$ZodBoolean`,(e,t)=>{B.init(e,t),e._zod.pattern=it,e._zod.parse=(n,r)=>{if(t.coerce)try{n.value=!!n.value}catch{}let i=n.value;return typeof i==`boolean`||n.issues.push({expected:`boolean`,code:`invalid_type`,input:i,inst:e}),n}}),tn=c(`$ZodUnknown`,(e,t)=>{B.init(e,t),e._zod.parse=e=>e}),nn=c(`$ZodNever`,(e,t)=>{B.init(e,t),e._zod.parse=(t,n)=>(t.issues.push({expected:`never`,code:`invalid_type`,input:t.value,inst:e}),t)});function rn(e,t,n){e.issues.length&&t.issues.push(...M(n,e.issues)),t.value[n]=e.value}var an=c(`$ZodArray`,(e,t)=>{B.init(e,t),e._zod.parse=(n,r)=>{let i=n.value;if(!Array.isArray(i))return n.issues.push({expected:`array`,code:`invalid_type`,input:i,inst:e}),n;n.value=Array(i.length);let a=[];for(let e=0;e<i.length;e++){let o=i[e],s=t.element._zod.run({value:o,issues:[]},r);s instanceof Promise?a.push(s.then(t=>rn(t,n,e))):rn(s,n,e)}return a.length?Promise.all(a).then(()=>n):n}});function on(e,t,n,r,i,a){let o=n in r;if(e.issues.length){if(i&&a&&!o)return;t.issues.push(...M(n,e.issues))}if(!o&&!i){e.issues.length||t.issues.push({code:`invalid_type`,expected:`nonoptional`,input:void 0,path:[n]});return}e.value===void 0?o&&(t.value[n]=void 0):t.value[n]=e.value}function sn(e){let t=Object.keys(e.shape);for(let n of t)if(!e.shape?.[n]?._zod?.traits?.has(`$ZodType`))throw Error(`Invalid element at key "${n}": expected a Zod schema`);let n=ie(e.shape);return{...e,keys:t,keySet:new Set(t),numKeys:t.length,optionalKeys:new Set(n)}}function cn(e,t,n,r,i,a){let o=[],s=i.keySet,c=i.catchall._zod,l=c.def.type,u=c.optin===`optional`,d=c.optout===`optional`;for(let i in t){if(i===`__proto__`||s.has(i))continue;if(l===`never`){o.push(i);continue}let a=c.run({value:t[i],issues:[]},r);a instanceof Promise?e.push(a.then(e=>on(e,n,i,t,u,d))):on(a,n,i,t,u,d)}return o.length&&n.issues.push({code:`unrecognized_keys`,keys:o,input:t,inst:a}),e.length?Promise.all(e).then(()=>n):n}var ln=c(`$ZodObject`,(e,t)=>{if(B.init(e,t),!Object.getOwnPropertyDescriptor(t,`shape`)?.get){let e=t.shape;Object.defineProperty(t,"shape",{get:()=>{let n={...e};return Object.defineProperty(t,"shape",{value:n}),n}})}let n=h(()=>sn(t));y(e._zod,`propValues`,()=>{let e=t.shape,n={};for(let t in e){let r=e[t]._zod;if(r.values){n[t]??(n[t]=new Set);for(let e of r.values)n[t].add(e)}}return n});let r=w,i=t.catchall,a;e._zod.parse=(t,o)=>{a??=n.value;let s=t.value;if(!r(s))return t.issues.push({expected:`object`,code:`invalid_type`,input:s,inst:e}),t;t.value={};let c=[],l=a.shape;for(let e of a.keys){let n=l[e],r=n._zod.optin===`optional`,i=n._zod.optout===`optional`,a=n._zod.run({value:s[e],issues:[]},o);a instanceof Promise?c.push(a.then(n=>on(n,t,e,s,r,i))):on(a,t,e,s,r,i)}return i?cn(c,s,t,o,n.value,e):c.length?Promise.all(c).then(()=>t):t}}),un=c(`$ZodObjectJIT`,(e,t)=>{ln.init(e,t);let n=e._zod.parse,r=h(()=>sn(t)),i=e=>{let t=new Ct([`shape`,`payload`,`ctx`]),n=r.value,i=e=>{let t=te(e);return`shape[${t}]._zod.run({ value: input[${t}], issues: [] }, ctx)`};t.write(`const input = payload.value;`);let a=Object.create(null),o=0;for(let e of n.keys)a[e]=`key_${o++}`;t.write(`const newResult = {};`);for(let r of n.keys){let n=a[r],o=te(r),s=e[r],c=s?._zod?.optin===`optional`,l=s?._zod?.optout===`optional`;t.write(`const ${n} = ${i(r)};`),c&&l?t.write(`
4
4
  if (${n}.issues.length) {
5
5
  if (${o} in input) {
6
6
  payload.issues = payload.issues.concat(${n}.issues.map(iss => ({
@@ -59,9 +59,9 @@ var Liforma=(function(e){Object.defineProperty(e,Symbol.toStringTag,{value:`Modu
59
59
  }
60
60
  }
61
61
 
62
- `)}t.write(`payload.value = newResult;`),t.write(`return payload;`);let s=t.compile();return(t,n)=>s(e,t,n)},a,o=w,s=!d.jitless,c=s&&T.value,l=t.catchall,u;e._zod.parse=(d,f)=>{u??=r.value;let p=d.value;return o(p)?s&&c&&f?.async===!1&&f.jitless!==!0?(a||=i(t.shape),d=a(d,f),l?sn([],p,d,f,u,e):d):n(d,f):(d.issues.push({expected:`object`,code:`invalid_type`,input:p,inst:e}),d)}});function un(e,t,n,r){for(let n of e)if(n.issues.length===0)return t.value=n.value,t;let i=e.filter(e=>!j(e));return i.length===1?(t.value=i[0].value,i[0]):(t.issues.push({code:`invalid_union`,input:t.value,inst:n,errors:e.map(e=>e.issues.map(e=>P(e,r,f())))}),t)}var dn=c(`$ZodUnion`,(e,t)=>{V.init(e,t),y(e._zod,`optin`,()=>t.options.some(e=>e._zod.optin===`optional`)?`optional`:void 0),y(e._zod,`optout`,()=>t.options.some(e=>e._zod.optout===`optional`)?`optional`:void 0),y(e._zod,`values`,()=>{if(t.options.every(e=>e._zod.values))return new Set(t.options.flatMap(e=>Array.from(e._zod.values)))}),y(e._zod,`pattern`,()=>{if(t.options.every(e=>e._zod.pattern)){let e=t.options.map(e=>e._zod.pattern);return RegExp(`^(${e.map(e=>_(e.source)).join(`|`)})$`)}});let n=t.options.length===1?t.options[0]._zod.run:null;e._zod.parse=(r,i)=>{if(n)return n(r,i);let a=!1,o=[];for(let e of t.options){let t=e._zod.run({value:r.value,issues:[]},i);if(t instanceof Promise)o.push(t),a=!0;else{if(t.issues.length===0)return t;o.push(t)}}return a?Promise.all(o).then(t=>un(t,r,e,i)):un(o,r,e,i)}}),fn=c(`$ZodIntersection`,(e,t)=>{V.init(e,t),e._zod.parse=(e,n)=>{let r=e.value,i=t.left._zod.run({value:r,issues:[]},n),a=t.right._zod.run({value:r,issues:[]},n);return i instanceof Promise||a instanceof Promise?Promise.all([i,a]).then(([t,n])=>mn(e,t,n)):mn(e,i,a)}});function pn(e,t){if(e===t||e instanceof Date&&t instanceof Date&&+e==+t)return{valid:!0,data:e};if(E(e)&&E(t)){let n=Object.keys(t),r=Object.keys(e).filter(e=>n.indexOf(e)!==-1),i={...e,...t};for(let n of r){let r=pn(e[n],t[n]);if(!r.valid)return{valid:!1,mergeErrorPath:[n,...r.mergeErrorPath]};i[n]=r.data}return{valid:!0,data:i}}if(Array.isArray(e)&&Array.isArray(t)){if(e.length!==t.length)return{valid:!1,mergeErrorPath:[]};let n=[];for(let r=0;r<e.length;r++){let i=e[r],a=t[r],o=pn(i,a);if(!o.valid)return{valid:!1,mergeErrorPath:[r,...o.mergeErrorPath]};n.push(o.data)}return{valid:!0,data:n}}return{valid:!1,mergeErrorPath:[]}}function mn(e,t,n){let r=new Map,i;for(let n of t.issues)if(n.code===`unrecognized_keys`){i??=n;for(let e of n.keys)r.has(e)||r.set(e,{}),r.get(e).l=!0}else e.issues.push(n);for(let t of n.issues)if(t.code===`unrecognized_keys`)for(let e of t.keys)r.has(e)||r.set(e,{}),r.get(e).r=!0;else e.issues.push(t);let a=[...r].filter(([,e])=>e.l&&e.r).map(([e])=>e);if(a.length&&i&&e.issues.push({...i,keys:a}),j(e))return e;let o=pn(t.value,n.value);if(!o.valid)throw Error(`Unmergable intersection. Error path: ${JSON.stringify(o.mergeErrorPath)}`);return e.value=o.data,e}var hn=c(`$ZodRecord`,(e,t)=>{V.init(e,t),e._zod.parse=(n,r)=>{let i=n.value;if(!E(i))return n.issues.push({expected:`record`,code:`invalid_type`,input:i,inst:e}),n;let a=[],o=t.keyType._zod.values;if(o){n.value={};let s=new Set;for(let c of o)if(typeof c==`string`||typeof c==`number`||typeof c==`symbol`){s.add(typeof c==`number`?c.toString():c);let o=t.keyType._zod.run({value:c,issues:[]},r);if(o instanceof Promise)throw Error(`Async schemas not supported in object keys currently`);if(o.issues.length){n.issues.push({code:`invalid_key`,origin:`record`,issues:o.issues.map(e=>P(e,r,f())),input:c,path:[c],inst:e});continue}let l=o.value,u=t.valueType._zod.run({value:i[c],issues:[]},r);u instanceof Promise?a.push(u.then(e=>{e.issues.length&&n.issues.push(...M(c,e.issues)),n.value[l]=e.value})):(u.issues.length&&n.issues.push(...M(c,u.issues)),n.value[l]=u.value)}let c;for(let e in i)s.has(e)||(c??=[],c.push(e));c&&c.length>0&&n.issues.push({code:`unrecognized_keys`,input:i,inst:e,keys:c})}else{n.value={};for(let o of Reflect.ownKeys(i)){if(o===`__proto__`||!Object.prototype.propertyIsEnumerable.call(i,o))continue;let s=t.keyType._zod.run({value:o,issues:[]},r);if(s instanceof Promise)throw Error(`Async schemas not supported in object keys currently`);if(typeof o==`string`&&nt.test(o)&&s.issues.length){let e=t.keyType._zod.run({value:Number(o),issues:[]},r);if(e instanceof Promise)throw Error(`Async schemas not supported in object keys currently`);e.issues.length===0&&(s=e)}if(s.issues.length){t.mode===`loose`?n.value[o]=i[o]:n.issues.push({code:`invalid_key`,origin:`record`,issues:s.issues.map(e=>P(e,r,f())),input:o,path:[o],inst:e});continue}let c=t.valueType._zod.run({value:i[o],issues:[]},r);c instanceof Promise?a.push(c.then(e=>{e.issues.length&&n.issues.push(...M(o,e.issues)),n.value[s.value]=e.value})):(c.issues.length&&n.issues.push(...M(o,c.issues)),n.value[s.value]=c.value)}}return a.length?Promise.all(a).then(()=>n):n}}),gn=c(`$ZodEnum`,(e,t)=>{V.init(e,t);let n=p(t.entries),r=new Set(n);e._zod.values=r,e._zod.pattern=RegExp(`^(${n.filter(e=>re.has(typeof e)).map(e=>typeof e==`string`?D(e):e.toString()).join(`|`)})$`),e._zod.parse=(t,i)=>{let a=t.value;return r.has(a)||t.issues.push({code:`invalid_value`,values:n,input:a,inst:e}),t}}),_n=c(`$ZodLiteral`,(e,t)=>{if(V.init(e,t),t.values.length===0)throw Error(`Cannot create literal schema with no valid values`);let n=new Set(t.values);e._zod.values=n,e._zod.pattern=RegExp(`^(${t.values.map(e=>typeof e==`string`?D(e):e?D(e.toString()):String(e)).join(`|`)})$`),e._zod.parse=(r,i)=>{let a=r.value;return n.has(a)||r.issues.push({code:`invalid_value`,values:t.values,input:a,inst:e}),r}}),vn=c(`$ZodTransform`,(e,t)=>{V.init(e,t),e._zod.optin=`optional`,e._zod.parse=(n,r)=>{if(r.direction===`backward`)throw new u(e.constructor.name);let i=t.transform(n.value,n);if(r.async)return(i instanceof Promise?i:Promise.resolve(i)).then(e=>(n.value=e,n.fallback=!0,n));if(i instanceof Promise)throw new l;return n.value=i,n.fallback=!0,n}});function yn(e,t){return t===void 0&&(e.issues.length||e.fallback)?{issues:[],value:void 0}:e}var bn=c(`$ZodOptional`,(e,t)=>{V.init(e,t),e._zod.optin=`optional`,e._zod.optout=`optional`,y(e._zod,`values`,()=>t.innerType._zod.values?new Set([...t.innerType._zod.values,void 0]):void 0),y(e._zod,`pattern`,()=>{let e=t.innerType._zod.pattern;return e?RegExp(`^(${_(e.source)})?$`):void 0}),e._zod.parse=(e,n)=>{if(t.innerType._zod.optin===`optional`){let r=e.value,i=t.innerType._zod.run(e,n);return i instanceof Promise?i.then(e=>yn(e,r)):yn(i,r)}return e.value===void 0?e:t.innerType._zod.run(e,n)}}),xn=c(`$ZodExactOptional`,(e,t)=>{bn.init(e,t),y(e._zod,`values`,()=>t.innerType._zod.values),y(e._zod,`pattern`,()=>t.innerType._zod.pattern),e._zod.parse=(e,n)=>t.innerType._zod.run(e,n)}),Sn=c(`$ZodNullable`,(e,t)=>{V.init(e,t),y(e._zod,`optin`,()=>t.innerType._zod.optin),y(e._zod,`optout`,()=>t.innerType._zod.optout),y(e._zod,`pattern`,()=>{let e=t.innerType._zod.pattern;return e?RegExp(`^(${_(e.source)}|null)$`):void 0}),y(e._zod,`values`,()=>t.innerType._zod.values?new Set([...t.innerType._zod.values,null]):void 0),e._zod.parse=(e,n)=>e.value===null?e:t.innerType._zod.run(e,n)}),Cn=c(`$ZodDefault`,(e,t)=>{V.init(e,t),e._zod.optin=`optional`,y(e._zod,`values`,()=>t.innerType._zod.values),e._zod.parse=(e,n)=>{if(n.direction===`backward`)return t.innerType._zod.run(e,n);if(e.value===void 0)return e.value=t.defaultValue,e;let r=t.innerType._zod.run(e,n);return r instanceof Promise?r.then(e=>wn(e,t)):wn(r,t)}});function wn(e,t){return e.value===void 0&&(e.value=t.defaultValue),e}var Tn=c(`$ZodPrefault`,(e,t)=>{V.init(e,t),e._zod.optin=`optional`,y(e._zod,`values`,()=>t.innerType._zod.values),e._zod.parse=(e,n)=>(n.direction===`backward`||e.value===void 0&&(e.value=t.defaultValue),t.innerType._zod.run(e,n))}),En=c(`$ZodNonOptional`,(e,t)=>{V.init(e,t),y(e._zod,`values`,()=>{let e=t.innerType._zod.values;return e?new Set([...e].filter(e=>e!==void 0)):void 0}),e._zod.parse=(n,r)=>{let i=t.innerType._zod.run(n,r);return i instanceof Promise?i.then(t=>Dn(t,e)):Dn(i,e)}});function Dn(e,t){return!e.issues.length&&e.value===void 0&&e.issues.push({code:`invalid_type`,expected:`nonoptional`,input:e.value,inst:t}),e}var On=c(`$ZodCatch`,(e,t)=>{V.init(e,t),e._zod.optin=`optional`,y(e._zod,`optout`,()=>t.innerType._zod.optout),y(e._zod,`values`,()=>t.innerType._zod.values),e._zod.parse=(e,n)=>{if(n.direction===`backward`)return t.innerType._zod.run(e,n);let r=t.innerType._zod.run(e,n);return r instanceof Promise?r.then(r=>(e.value=r.value,r.issues.length&&(e.value=t.catchValue({...e,error:{issues:r.issues.map(e=>P(e,n,f()))},input:e.value}),e.issues=[],e.fallback=!0),e)):(e.value=r.value,r.issues.length&&(e.value=t.catchValue({...e,error:{issues:r.issues.map(e=>P(e,n,f()))},input:e.value}),e.issues=[],e.fallback=!0),e)}}),kn=c(`$ZodPipe`,(e,t)=>{V.init(e,t),y(e._zod,`values`,()=>t.in._zod.values),y(e._zod,`optin`,()=>t.in._zod.optin),y(e._zod,`optout`,()=>t.out._zod.optout),y(e._zod,`propValues`,()=>t.in._zod.propValues),e._zod.parse=(e,n)=>{if(n.direction===`backward`){let r=t.out._zod.run(e,n);return r instanceof Promise?r.then(e=>An(e,t.in,n)):An(r,t.in,n)}let r=t.in._zod.run(e,n);return r instanceof Promise?r.then(e=>An(e,t.out,n)):An(r,t.out,n)}});function An(e,t,n){return e.issues.length?(e.aborted=!0,e):t._zod.run({value:e.value,issues:e.issues,fallback:e.fallback},n)}var jn=c(`$ZodReadonly`,(e,t)=>{V.init(e,t),y(e._zod,`propValues`,()=>t.innerType._zod.propValues),y(e._zod,`values`,()=>t.innerType._zod.values),y(e._zod,`optin`,()=>t.innerType?._zod?.optin),y(e._zod,`optout`,()=>t.innerType?._zod?.optout),e._zod.parse=(e,n)=>{if(n.direction===`backward`)return t.innerType._zod.run(e,n);let r=t.innerType._zod.run(e,n);return r instanceof Promise?r.then(Mn):Mn(r)}});function Mn(e){return e.value=Object.freeze(e.value),e}var Nn=c(`$ZodCustom`,(e,t)=>{B.init(e,t),V.init(e,t),e._zod.parse=(e,t)=>e,e._zod.check=n=>{let r=n.value,i=t.fn(r);if(i instanceof Promise)return i.then(t=>Pn(t,n,r,e));Pn(i,n,r,e)}});function Pn(e,t,n,r){if(!e){let e={code:`custom`,input:n,inst:r,path:[...r._zod.def.path??[]],continue:!r._zod.def.abort};r._zod.def.params&&(e.params=r._zod.def.params),t.issues.push(I(e))}}var Fn,In=class{constructor(){this._map=new WeakMap,this._idmap=new Map}add(e,...t){let n=t[0];return this._map.set(e,n),n&&typeof n==`object`&&`id`in n&&this._idmap.set(n.id,e),this}clear(){return this._map=new WeakMap,this._idmap=new Map,this}remove(e){let t=this._map.get(e);return t&&typeof t==`object`&&`id`in t&&this._idmap.delete(t.id),this._map.delete(e),this}get(e){let t=e._zod.parent;if(t){let n={...this.get(t)??{}};delete n.id;let r={...n,...this._map.get(e)};return Object.keys(r).length?r:void 0}return this._map.get(e)}has(e){return this._map.has(e)}};function Ln(){return new In}(Fn=globalThis).__zod_globalRegistry??(Fn.__zod_globalRegistry=Ln());var Rn=globalThis.__zod_globalRegistry;function zn(e,t){return new e({type:`string`,...k(t)})}function Bn(e,t){return new e({type:`string`,format:`email`,check:`string_format`,abort:!1,...k(t)})}function Vn(e,t){return new e({type:`string`,format:`guid`,check:`string_format`,abort:!1,...k(t)})}function Hn(e,t){return new e({type:`string`,format:`uuid`,check:`string_format`,abort:!1,...k(t)})}function Un(e,t){return new e({type:`string`,format:`uuid`,check:`string_format`,abort:!1,version:`v4`,...k(t)})}function Wn(e,t){return new e({type:`string`,format:`uuid`,check:`string_format`,abort:!1,version:`v6`,...k(t)})}function Gn(e,t){return new e({type:`string`,format:`uuid`,check:`string_format`,abort:!1,version:`v7`,...k(t)})}function Kn(e,t){return new e({type:`string`,format:`url`,check:`string_format`,abort:!1,...k(t)})}function qn(e,t){return new e({type:`string`,format:`emoji`,check:`string_format`,abort:!1,...k(t)})}function Jn(e,t){return new e({type:`string`,format:`nanoid`,check:`string_format`,abort:!1,...k(t)})}function Yn(e,t){return new e({type:`string`,format:`cuid`,check:`string_format`,abort:!1,...k(t)})}function Xn(e,t){return new e({type:`string`,format:`cuid2`,check:`string_format`,abort:!1,...k(t)})}function Zn(e,t){return new e({type:`string`,format:`ulid`,check:`string_format`,abort:!1,...k(t)})}function Qn(e,t){return new e({type:`string`,format:`xid`,check:`string_format`,abort:!1,...k(t)})}function $n(e,t){return new e({type:`string`,format:`ksuid`,check:`string_format`,abort:!1,...k(t)})}function er(e,t){return new e({type:`string`,format:`ipv4`,check:`string_format`,abort:!1,...k(t)})}function tr(e,t){return new e({type:`string`,format:`ipv6`,check:`string_format`,abort:!1,...k(t)})}function nr(e,t){return new e({type:`string`,format:`cidrv4`,check:`string_format`,abort:!1,...k(t)})}function rr(e,t){return new e({type:`string`,format:`cidrv6`,check:`string_format`,abort:!1,...k(t)})}function ir(e,t){return new e({type:`string`,format:`base64`,check:`string_format`,abort:!1,...k(t)})}function ar(e,t){return new e({type:`string`,format:`base64url`,check:`string_format`,abort:!1,...k(t)})}function or(e,t){return new e({type:`string`,format:`e164`,check:`string_format`,abort:!1,...k(t)})}function sr(e,t){return new e({type:`string`,format:`jwt`,check:`string_format`,abort:!1,...k(t)})}function cr(e,t){return new e({type:`string`,format:`datetime`,check:`string_format`,offset:!1,local:!1,precision:null,...k(t)})}function lr(e,t){return new e({type:`string`,format:`date`,check:`string_format`,...k(t)})}function ur(e,t){return new e({type:`string`,format:`time`,check:`string_format`,precision:null,...k(t)})}function dr(e,t){return new e({type:`string`,format:`duration`,check:`string_format`,...k(t)})}function fr(e,t){return new e({type:`number`,checks:[],...k(t)})}function pr(e,t){return new e({type:`number`,check:`number_format`,abort:!1,format:`safeint`,...k(t)})}function mr(e,t){return new e({type:`boolean`,...k(t)})}function hr(e){return new e({type:`unknown`})}function gr(e,t){return new e({type:`never`,...k(t)})}function _r(e,t){return new st({check:`less_than`,...k(t),value:e,inclusive:!1})}function vr(e,t){return new st({check:`less_than`,...k(t),value:e,inclusive:!0})}function yr(e,t){return new ct({check:`greater_than`,...k(t),value:e,inclusive:!1})}function br(e,t){return new ct({check:`greater_than`,...k(t),value:e,inclusive:!0})}function xr(e,t){return new lt({check:`multiple_of`,...k(t),value:e})}function Sr(e,t){return new dt({check:`max_length`,...k(t),maximum:e})}function Cr(e,t){return new ft({check:`min_length`,...k(t),minimum:e})}function wr(e,t){return new pt({check:`length_equals`,...k(t),length:e})}function Tr(e,t){return new ht({check:`string_format`,format:`regex`,...k(t),pattern:e})}function Er(e){return new gt({check:`string_format`,format:`lowercase`,...k(e)})}function Dr(e){return new _t({check:`string_format`,format:`uppercase`,...k(e)})}function Or(e,t){return new vt({check:`string_format`,format:`includes`,...k(t),includes:e})}function kr(e,t){return new yt({check:`string_format`,format:`starts_with`,...k(t),prefix:e})}function Ar(e,t){return new bt({check:`string_format`,format:`ends_with`,...k(t),suffix:e})}function jr(e){return new xt({check:`overwrite`,tx:e})}function Mr(e){return jr(t=>t.normalize(e))}function Nr(){return jr(e=>e.trim())}function Pr(){return jr(e=>e.toLowerCase())}function Fr(){return jr(e=>e.toUpperCase())}function Ir(){return jr(e=>S(e))}function Lr(e,t,n){return new e({type:`array`,element:t,...k(n)})}function Rr(e,t,n){return new e({type:`custom`,check:`custom`,fn:t,...k(n)})}function zr(e,t){let n=Br(t=>(t.addIssue=e=>{if(typeof e==`string`)t.issues.push(I(e,t.value,n._zod.def));else{let r=e;r.fatal&&(r.continue=!1),r.code??=`custom`,r.input??=t.value,r.inst??=n,r.continue??=!n._zod.def.abort,t.issues.push(I(r))}},e(t.value,t)),t);return n}function Br(e,t){let n=new B({check:`custom`,...k(t)});return n._zod.check=e,n}function Vr(e){let t=e?.target??`draft-2020-12`;return t===`draft-4`&&(t=`draft-04`),t===`draft-7`&&(t=`draft-07`),{processors:e.processors??{},metadataRegistry:e?.metadata??Rn,target:t,unrepresentable:e?.unrepresentable??`throw`,override:e?.override??(()=>{}),io:e?.io??`output`,counter:0,seen:new Map,cycles:e?.cycles??`ref`,reused:e?.reused??`inline`,external:e?.external??void 0}}function U(e,t,n={path:[],schemaPath:[]}){var r;let i=e._zod.def,a=t.seen.get(e);if(a)return a.count++,n.schemaPath.includes(e)&&(a.cycle=n.path),a.schema;let o={schema:{},count:1,cycle:void 0,path:n.path};t.seen.set(e,o);let s=e._zod.toJSONSchema?.();if(s)o.schema=s;else{let r={...n,schemaPath:[...n.schemaPath,e],path:n.path};if(e._zod.processJSONSchema)e._zod.processJSONSchema(t,o.schema,r);else{let n=o.schema,a=t.processors[i.type];if(!a)throw Error(`[toJSONSchema]: Non-representable type encountered: ${i.type}`);a(e,t,n,r)}let a=e._zod.parent;a&&(o.ref||=a,U(a,t,r),t.seen.get(a).isParent=!0)}let c=t.metadataRegistry.get(e);return c&&Object.assign(o.schema,c),t.io===`input`&&W(e)&&(delete o.schema.examples,delete o.schema.default),t.io===`input`&&`_prefault`in o.schema&&((r=o.schema).default??(r.default=o.schema._prefault)),delete o.schema._prefault,t.seen.get(e).schema}function Hr(e,t){let n=e.seen.get(t);if(!n)throw Error(`Unprocessed schema. This is a bug in Zod.`);let r=new Map;for(let t of e.seen.entries()){let n=e.metadataRegistry.get(t[0])?.id;if(n){let e=r.get(n);if(e&&e!==t[0])throw Error(`Duplicate schema id "${n}" detected during JSON Schema conversion. Two different schemas cannot share the same id when converted together.`);r.set(n,t[0])}}let i=t=>{let r=e.target===`draft-2020-12`?`$defs`:`definitions`;if(e.external){let n=e.external.registry.get(t[0])?.id,i=e.external.uri??(e=>e);if(n)return{ref:i(n)};let a=t[1].defId??t[1].schema.id??`schema${e.counter++}`;return t[1].defId=a,{defId:a,ref:`${i(`__shared`)}#/${r}/${a}`}}if(t[1]===n)return{ref:`#`};let i=`#/${r}/`,a=t[1].schema.id??`__schema${e.counter++}`;return{defId:a,ref:i+a}},a=e=>{if(e[1].schema.$ref)return;let t=e[1],{ref:n,defId:r}=i(e);t.def={...t.schema},r&&(t.defId=r);let a=t.schema;for(let e in a)delete a[e];a.$ref=n};if(e.cycles===`throw`)for(let t of e.seen.entries()){let e=t[1];if(e.cycle)throw Error(`Cycle detected: #/${e.cycle?.join(`/`)}/<root>
62
+ `)}t.write(`payload.value = newResult;`),t.write(`return payload;`);let s=t.compile();return(t,n)=>s(e,t,n)},a,o=w,s=!d.jitless,c=s&&T.value,l=t.catchall,u;e._zod.parse=(d,f)=>{u??=r.value;let p=d.value;return o(p)?s&&c&&f?.async===!1&&f.jitless!==!0?(a||=i(t.shape),d=a(d,f),l?cn([],p,d,f,u,e):d):n(d,f):(d.issues.push({expected:`object`,code:`invalid_type`,input:p,inst:e}),d)}});function dn(e,t,n,r){for(let n of e)if(n.issues.length===0)return t.value=n.value,t;let i=e.filter(e=>!j(e));return i.length===1?(t.value=i[0].value,i[0]):(t.issues.push({code:`invalid_union`,input:t.value,inst:n,errors:e.map(e=>e.issues.map(e=>P(e,r,f())))}),t)}var fn=c(`$ZodUnion`,(e,t)=>{B.init(e,t),y(e._zod,`optin`,()=>t.options.some(e=>e._zod.optin===`optional`)?`optional`:void 0),y(e._zod,`optout`,()=>t.options.some(e=>e._zod.optout===`optional`)?`optional`:void 0),y(e._zod,`values`,()=>{if(t.options.every(e=>e._zod.values))return new Set(t.options.flatMap(e=>Array.from(e._zod.values)))}),y(e._zod,`pattern`,()=>{if(t.options.every(e=>e._zod.pattern)){let e=t.options.map(e=>e._zod.pattern);return RegExp(`^(${e.map(e=>_(e.source)).join(`|`)})$`)}});let n=t.options.length===1?t.options[0]._zod.run:null;e._zod.parse=(r,i)=>{if(n)return n(r,i);let a=!1,o=[];for(let e of t.options){let t=e._zod.run({value:r.value,issues:[]},i);if(t instanceof Promise)o.push(t),a=!0;else{if(t.issues.length===0)return t;o.push(t)}}return a?Promise.all(o).then(t=>dn(t,r,e,i)):dn(o,r,e,i)}}),pn=c(`$ZodIntersection`,(e,t)=>{B.init(e,t),e._zod.parse=(e,n)=>{let r=e.value,i=t.left._zod.run({value:r,issues:[]},n),a=t.right._zod.run({value:r,issues:[]},n);return i instanceof Promise||a instanceof Promise?Promise.all([i,a]).then(([t,n])=>hn(e,t,n)):hn(e,i,a)}});function mn(e,t){if(e===t||e instanceof Date&&t instanceof Date&&+e==+t)return{valid:!0,data:e};if(E(e)&&E(t)){let n=Object.keys(t),r=Object.keys(e).filter(e=>n.indexOf(e)!==-1),i={...e,...t};for(let n of r){let r=mn(e[n],t[n]);if(!r.valid)return{valid:!1,mergeErrorPath:[n,...r.mergeErrorPath]};i[n]=r.data}return{valid:!0,data:i}}if(Array.isArray(e)&&Array.isArray(t)){if(e.length!==t.length)return{valid:!1,mergeErrorPath:[]};let n=[];for(let r=0;r<e.length;r++){let i=e[r],a=t[r],o=mn(i,a);if(!o.valid)return{valid:!1,mergeErrorPath:[r,...o.mergeErrorPath]};n.push(o.data)}return{valid:!0,data:n}}return{valid:!1,mergeErrorPath:[]}}function hn(e,t,n){let r=new Map,i;for(let n of t.issues)if(n.code===`unrecognized_keys`){i??=n;for(let e of n.keys)r.has(e)||r.set(e,{}),r.get(e).l=!0}else e.issues.push(n);for(let t of n.issues)if(t.code===`unrecognized_keys`)for(let e of t.keys)r.has(e)||r.set(e,{}),r.get(e).r=!0;else e.issues.push(t);let a=[...r].filter(([,e])=>e.l&&e.r).map(([e])=>e);if(a.length&&i&&e.issues.push({...i,keys:a}),j(e))return e;let o=mn(t.value,n.value);if(!o.valid)throw Error(`Unmergable intersection. Error path: ${JSON.stringify(o.mergeErrorPath)}`);return e.value=o.data,e}var gn=c(`$ZodRecord`,(e,t)=>{B.init(e,t),e._zod.parse=(n,r)=>{let i=n.value;if(!E(i))return n.issues.push({expected:`record`,code:`invalid_type`,input:i,inst:e}),n;let a=[],o=t.keyType._zod.values;if(o){n.value={};let s=new Set;for(let c of o)if(typeof c==`string`||typeof c==`number`||typeof c==`symbol`){s.add(typeof c==`number`?c.toString():c);let o=t.keyType._zod.run({value:c,issues:[]},r);if(o instanceof Promise)throw Error(`Async schemas not supported in object keys currently`);if(o.issues.length){n.issues.push({code:`invalid_key`,origin:`record`,issues:o.issues.map(e=>P(e,r,f())),input:c,path:[c],inst:e});continue}let l=o.value,u=t.valueType._zod.run({value:i[c],issues:[]},r);u instanceof Promise?a.push(u.then(e=>{e.issues.length&&n.issues.push(...M(c,e.issues)),n.value[l]=e.value})):(u.issues.length&&n.issues.push(...M(c,u.issues)),n.value[l]=u.value)}let c;for(let e in i)s.has(e)||(c??=[],c.push(e));c&&c.length>0&&n.issues.push({code:`unrecognized_keys`,input:i,inst:e,keys:c})}else{n.value={};for(let o of Reflect.ownKeys(i)){if(o===`__proto__`||!Object.prototype.propertyIsEnumerable.call(i,o))continue;let s=t.keyType._zod.run({value:o,issues:[]},r);if(s instanceof Promise)throw Error(`Async schemas not supported in object keys currently`);if(typeof o==`string`&&rt.test(o)&&s.issues.length){let e=t.keyType._zod.run({value:Number(o),issues:[]},r);if(e instanceof Promise)throw Error(`Async schemas not supported in object keys currently`);e.issues.length===0&&(s=e)}if(s.issues.length){t.mode===`loose`?n.value[o]=i[o]:n.issues.push({code:`invalid_key`,origin:`record`,issues:s.issues.map(e=>P(e,r,f())),input:o,path:[o],inst:e});continue}let c=t.valueType._zod.run({value:i[o],issues:[]},r);c instanceof Promise?a.push(c.then(e=>{e.issues.length&&n.issues.push(...M(o,e.issues)),n.value[s.value]=e.value})):(c.issues.length&&n.issues.push(...M(o,c.issues)),n.value[s.value]=c.value)}}return a.length?Promise.all(a).then(()=>n):n}}),_n=c(`$ZodEnum`,(e,t)=>{B.init(e,t);let n=p(t.entries),r=new Set(n);e._zod.values=r,e._zod.pattern=RegExp(`^(${n.filter(e=>re.has(typeof e)).map(e=>typeof e==`string`?D(e):e.toString()).join(`|`)})$`),e._zod.parse=(t,i)=>{let a=t.value;return r.has(a)||t.issues.push({code:`invalid_value`,values:n,input:a,inst:e}),t}}),vn=c(`$ZodLiteral`,(e,t)=>{if(B.init(e,t),t.values.length===0)throw Error(`Cannot create literal schema with no valid values`);let n=new Set(t.values);e._zod.values=n,e._zod.pattern=RegExp(`^(${t.values.map(e=>typeof e==`string`?D(e):e?D(e.toString()):String(e)).join(`|`)})$`),e._zod.parse=(r,i)=>{let a=r.value;return n.has(a)||r.issues.push({code:`invalid_value`,values:t.values,input:a,inst:e}),r}}),yn=c(`$ZodTransform`,(e,t)=>{B.init(e,t),e._zod.optin=`optional`,e._zod.parse=(n,r)=>{if(r.direction===`backward`)throw new u(e.constructor.name);let i=t.transform(n.value,n);if(r.async)return(i instanceof Promise?i:Promise.resolve(i)).then(e=>(n.value=e,n.fallback=!0,n));if(i instanceof Promise)throw new l;return n.value=i,n.fallback=!0,n}});function bn(e,t){return t===void 0&&(e.issues.length||e.fallback)?{issues:[],value:void 0}:e}var xn=c(`$ZodOptional`,(e,t)=>{B.init(e,t),e._zod.optin=`optional`,e._zod.optout=`optional`,y(e._zod,`values`,()=>t.innerType._zod.values?new Set([...t.innerType._zod.values,void 0]):void 0),y(e._zod,`pattern`,()=>{let e=t.innerType._zod.pattern;return e?RegExp(`^(${_(e.source)})?$`):void 0}),e._zod.parse=(e,n)=>{if(t.innerType._zod.optin===`optional`){let r=e.value,i=t.innerType._zod.run(e,n);return i instanceof Promise?i.then(e=>bn(e,r)):bn(i,r)}return e.value===void 0?e:t.innerType._zod.run(e,n)}}),Sn=c(`$ZodExactOptional`,(e,t)=>{xn.init(e,t),y(e._zod,`values`,()=>t.innerType._zod.values),y(e._zod,`pattern`,()=>t.innerType._zod.pattern),e._zod.parse=(e,n)=>t.innerType._zod.run(e,n)}),Cn=c(`$ZodNullable`,(e,t)=>{B.init(e,t),y(e._zod,`optin`,()=>t.innerType._zod.optin),y(e._zod,`optout`,()=>t.innerType._zod.optout),y(e._zod,`pattern`,()=>{let e=t.innerType._zod.pattern;return e?RegExp(`^(${_(e.source)}|null)$`):void 0}),y(e._zod,`values`,()=>t.innerType._zod.values?new Set([...t.innerType._zod.values,null]):void 0),e._zod.parse=(e,n)=>e.value===null?e:t.innerType._zod.run(e,n)}),wn=c(`$ZodDefault`,(e,t)=>{B.init(e,t),e._zod.optin=`optional`,y(e._zod,`values`,()=>t.innerType._zod.values),e._zod.parse=(e,n)=>{if(n.direction===`backward`)return t.innerType._zod.run(e,n);if(e.value===void 0)return e.value=t.defaultValue,e;let r=t.innerType._zod.run(e,n);return r instanceof Promise?r.then(e=>Tn(e,t)):Tn(r,t)}});function Tn(e,t){return e.value===void 0&&(e.value=t.defaultValue),e}var En=c(`$ZodPrefault`,(e,t)=>{B.init(e,t),e._zod.optin=`optional`,y(e._zod,`values`,()=>t.innerType._zod.values),e._zod.parse=(e,n)=>(n.direction===`backward`||e.value===void 0&&(e.value=t.defaultValue),t.innerType._zod.run(e,n))}),Dn=c(`$ZodNonOptional`,(e,t)=>{B.init(e,t),y(e._zod,`values`,()=>{let e=t.innerType._zod.values;return e?new Set([...e].filter(e=>e!==void 0)):void 0}),e._zod.parse=(n,r)=>{let i=t.innerType._zod.run(n,r);return i instanceof Promise?i.then(t=>On(t,e)):On(i,e)}});function On(e,t){return!e.issues.length&&e.value===void 0&&e.issues.push({code:`invalid_type`,expected:`nonoptional`,input:e.value,inst:t}),e}var kn=c(`$ZodCatch`,(e,t)=>{B.init(e,t),e._zod.optin=`optional`,y(e._zod,`optout`,()=>t.innerType._zod.optout),y(e._zod,`values`,()=>t.innerType._zod.values),e._zod.parse=(e,n)=>{if(n.direction===`backward`)return t.innerType._zod.run(e,n);let r=t.innerType._zod.run(e,n);return r instanceof Promise?r.then(r=>(e.value=r.value,r.issues.length&&(e.value=t.catchValue({...e,error:{issues:r.issues.map(e=>P(e,n,f()))},input:e.value}),e.issues=[],e.fallback=!0),e)):(e.value=r.value,r.issues.length&&(e.value=t.catchValue({...e,error:{issues:r.issues.map(e=>P(e,n,f()))},input:e.value}),e.issues=[],e.fallback=!0),e)}}),An=c(`$ZodPipe`,(e,t)=>{B.init(e,t),y(e._zod,`values`,()=>t.in._zod.values),y(e._zod,`optin`,()=>t.in._zod.optin),y(e._zod,`optout`,()=>t.out._zod.optout),y(e._zod,`propValues`,()=>t.in._zod.propValues),e._zod.parse=(e,n)=>{if(n.direction===`backward`){let r=t.out._zod.run(e,n);return r instanceof Promise?r.then(e=>jn(e,t.in,n)):jn(r,t.in,n)}let r=t.in._zod.run(e,n);return r instanceof Promise?r.then(e=>jn(e,t.out,n)):jn(r,t.out,n)}});function jn(e,t,n){return e.issues.length?(e.aborted=!0,e):t._zod.run({value:e.value,issues:e.issues,fallback:e.fallback},n)}var Mn=c(`$ZodReadonly`,(e,t)=>{B.init(e,t),y(e._zod,`propValues`,()=>t.innerType._zod.propValues),y(e._zod,`values`,()=>t.innerType._zod.values),y(e._zod,`optin`,()=>t.innerType?._zod?.optin),y(e._zod,`optout`,()=>t.innerType?._zod?.optout),e._zod.parse=(e,n)=>{if(n.direction===`backward`)return t.innerType._zod.run(e,n);let r=t.innerType._zod.run(e,n);return r instanceof Promise?r.then(Nn):Nn(r)}});function Nn(e){return e.value=Object.freeze(e.value),e}var Pn=c(`$ZodCustom`,(e,t)=>{z.init(e,t),B.init(e,t),e._zod.parse=(e,t)=>e,e._zod.check=n=>{let r=n.value,i=t.fn(r);if(i instanceof Promise)return i.then(t=>Fn(t,n,r,e));Fn(i,n,r,e)}});function Fn(e,t,n,r){if(!e){let e={code:`custom`,input:n,inst:r,path:[...r._zod.def.path??[]],continue:!r._zod.def.abort};r._zod.def.params&&(e.params=r._zod.def.params),t.issues.push(F(e))}}var In,Ln=class{constructor(){this._map=new WeakMap,this._idmap=new Map}add(e,...t){let n=t[0];return this._map.set(e,n),n&&typeof n==`object`&&`id`in n&&this._idmap.set(n.id,e),this}clear(){return this._map=new WeakMap,this._idmap=new Map,this}remove(e){let t=this._map.get(e);return t&&typeof t==`object`&&`id`in t&&this._idmap.delete(t.id),this._map.delete(e),this}get(e){let t=e._zod.parent;if(t){let n={...this.get(t)??{}};delete n.id;let r={...n,...this._map.get(e)};return Object.keys(r).length?r:void 0}return this._map.get(e)}has(e){return this._map.has(e)}};function Rn(){return new Ln}(In=globalThis).__zod_globalRegistry??(In.__zod_globalRegistry=Rn());var zn=globalThis.__zod_globalRegistry;function Bn(e,t){return new e({type:`string`,...k(t)})}function Vn(e,t){return new e({type:`string`,format:`email`,check:`string_format`,abort:!1,...k(t)})}function Hn(e,t){return new e({type:`string`,format:`guid`,check:`string_format`,abort:!1,...k(t)})}function Un(e,t){return new e({type:`string`,format:`uuid`,check:`string_format`,abort:!1,...k(t)})}function Wn(e,t){return new e({type:`string`,format:`uuid`,check:`string_format`,abort:!1,version:`v4`,...k(t)})}function Gn(e,t){return new e({type:`string`,format:`uuid`,check:`string_format`,abort:!1,version:`v6`,...k(t)})}function Kn(e,t){return new e({type:`string`,format:`uuid`,check:`string_format`,abort:!1,version:`v7`,...k(t)})}function qn(e,t){return new e({type:`string`,format:`url`,check:`string_format`,abort:!1,...k(t)})}function Jn(e,t){return new e({type:`string`,format:`emoji`,check:`string_format`,abort:!1,...k(t)})}function Yn(e,t){return new e({type:`string`,format:`nanoid`,check:`string_format`,abort:!1,...k(t)})}function Xn(e,t){return new e({type:`string`,format:`cuid`,check:`string_format`,abort:!1,...k(t)})}function Zn(e,t){return new e({type:`string`,format:`cuid2`,check:`string_format`,abort:!1,...k(t)})}function Qn(e,t){return new e({type:`string`,format:`ulid`,check:`string_format`,abort:!1,...k(t)})}function $n(e,t){return new e({type:`string`,format:`xid`,check:`string_format`,abort:!1,...k(t)})}function er(e,t){return new e({type:`string`,format:`ksuid`,check:`string_format`,abort:!1,...k(t)})}function tr(e,t){return new e({type:`string`,format:`ipv4`,check:`string_format`,abort:!1,...k(t)})}function nr(e,t){return new e({type:`string`,format:`ipv6`,check:`string_format`,abort:!1,...k(t)})}function rr(e,t){return new e({type:`string`,format:`cidrv4`,check:`string_format`,abort:!1,...k(t)})}function ir(e,t){return new e({type:`string`,format:`cidrv6`,check:`string_format`,abort:!1,...k(t)})}function ar(e,t){return new e({type:`string`,format:`base64`,check:`string_format`,abort:!1,...k(t)})}function or(e,t){return new e({type:`string`,format:`base64url`,check:`string_format`,abort:!1,...k(t)})}function sr(e,t){return new e({type:`string`,format:`e164`,check:`string_format`,abort:!1,...k(t)})}function cr(e,t){return new e({type:`string`,format:`jwt`,check:`string_format`,abort:!1,...k(t)})}function lr(e,t){return new e({type:`string`,format:`datetime`,check:`string_format`,offset:!1,local:!1,precision:null,...k(t)})}function ur(e,t){return new e({type:`string`,format:`date`,check:`string_format`,...k(t)})}function dr(e,t){return new e({type:`string`,format:`time`,check:`string_format`,precision:null,...k(t)})}function fr(e,t){return new e({type:`string`,format:`duration`,check:`string_format`,...k(t)})}function pr(e,t){return new e({type:`number`,checks:[],...k(t)})}function mr(e,t){return new e({type:`number`,check:`number_format`,abort:!1,format:`safeint`,...k(t)})}function hr(e,t){return new e({type:`boolean`,...k(t)})}function gr(e){return new e({type:`unknown`})}function _r(e,t){return new e({type:`never`,...k(t)})}function vr(e,t){return new ct({check:`less_than`,...k(t),value:e,inclusive:!1})}function yr(e,t){return new ct({check:`less_than`,...k(t),value:e,inclusive:!0})}function br(e,t){return new lt({check:`greater_than`,...k(t),value:e,inclusive:!1})}function xr(e,t){return new lt({check:`greater_than`,...k(t),value:e,inclusive:!0})}function Sr(e,t){return new ut({check:`multiple_of`,...k(t),value:e})}function Cr(e,t){return new ft({check:`max_length`,...k(t),maximum:e})}function wr(e,t){return new pt({check:`min_length`,...k(t),minimum:e})}function Tr(e,t){return new mt({check:`length_equals`,...k(t),length:e})}function Er(e,t){return new gt({check:`string_format`,format:`regex`,...k(t),pattern:e})}function Dr(e){return new _t({check:`string_format`,format:`lowercase`,...k(e)})}function Or(e){return new vt({check:`string_format`,format:`uppercase`,...k(e)})}function kr(e,t){return new yt({check:`string_format`,format:`includes`,...k(t),includes:e})}function Ar(e,t){return new bt({check:`string_format`,format:`starts_with`,...k(t),prefix:e})}function jr(e,t){return new xt({check:`string_format`,format:`ends_with`,...k(t),suffix:e})}function Mr(e){return new St({check:`overwrite`,tx:e})}function Nr(e){return Mr(t=>t.normalize(e))}function Pr(){return Mr(e=>e.trim())}function Fr(){return Mr(e=>e.toLowerCase())}function Ir(){return Mr(e=>e.toUpperCase())}function Lr(){return Mr(e=>S(e))}function Rr(e,t,n){return new e({type:`array`,element:t,...k(n)})}function zr(e,t,n){return new e({type:`custom`,check:`custom`,fn:t,...k(n)})}function Br(e,t){let n=Vr(t=>(t.addIssue=e=>{if(typeof e==`string`)t.issues.push(F(e,t.value,n._zod.def));else{let r=e;r.fatal&&(r.continue=!1),r.code??=`custom`,r.input??=t.value,r.inst??=n,r.continue??=!n._zod.def.abort,t.issues.push(F(r))}},e(t.value,t)),t);return n}function Vr(e,t){let n=new z({check:`custom`,...k(t)});return n._zod.check=e,n}function Hr(e){let t=e?.target??`draft-2020-12`;return t===`draft-4`&&(t=`draft-04`),t===`draft-7`&&(t=`draft-07`),{processors:e.processors??{},metadataRegistry:e?.metadata??zn,target:t,unrepresentable:e?.unrepresentable??`throw`,override:e?.override??(()=>{}),io:e?.io??`output`,counter:0,seen:new Map,cycles:e?.cycles??`ref`,reused:e?.reused??`inline`,external:e?.external??void 0}}function H(e,t,n={path:[],schemaPath:[]}){var r;let i=e._zod.def,a=t.seen.get(e);if(a)return a.count++,n.schemaPath.includes(e)&&(a.cycle=n.path),a.schema;let o={schema:{},count:1,cycle:void 0,path:n.path};t.seen.set(e,o);let s=e._zod.toJSONSchema?.();if(s)o.schema=s;else{let r={...n,schemaPath:[...n.schemaPath,e],path:n.path};if(e._zod.processJSONSchema)e._zod.processJSONSchema(t,o.schema,r);else{let n=o.schema,a=t.processors[i.type];if(!a)throw Error(`[toJSONSchema]: Non-representable type encountered: ${i.type}`);a(e,t,n,r)}let a=e._zod.parent;a&&(o.ref||=a,H(a,t,r),t.seen.get(a).isParent=!0)}let c=t.metadataRegistry.get(e);return c&&Object.assign(o.schema,c),t.io===`input`&&U(e)&&(delete o.schema.examples,delete o.schema.default),t.io===`input`&&`_prefault`in o.schema&&((r=o.schema).default??(r.default=o.schema._prefault)),delete o.schema._prefault,t.seen.get(e).schema}function Ur(e,t){let n=e.seen.get(t);if(!n)throw Error(`Unprocessed schema. This is a bug in Zod.`);let r=new Map;for(let t of e.seen.entries()){let n=e.metadataRegistry.get(t[0])?.id;if(n){let e=r.get(n);if(e&&e!==t[0])throw Error(`Duplicate schema id "${n}" detected during JSON Schema conversion. Two different schemas cannot share the same id when converted together.`);r.set(n,t[0])}}let i=t=>{let r=e.target===`draft-2020-12`?`$defs`:`definitions`;if(e.external){let n=e.external.registry.get(t[0])?.id,i=e.external.uri??(e=>e);if(n)return{ref:i(n)};let a=t[1].defId??t[1].schema.id??`schema${e.counter++}`;return t[1].defId=a,{defId:a,ref:`${i(`__shared`)}#/${r}/${a}`}}if(t[1]===n)return{ref:`#`};let i=`#/${r}/`,a=t[1].schema.id??`__schema${e.counter++}`;return{defId:a,ref:i+a}},a=e=>{if(e[1].schema.$ref)return;let t=e[1],{ref:n,defId:r}=i(e);t.def={...t.schema},r&&(t.defId=r);let a=t.schema;for(let e in a)delete a[e];a.$ref=n};if(e.cycles===`throw`)for(let t of e.seen.entries()){let e=t[1];if(e.cycle)throw Error(`Cycle detected: #/${e.cycle?.join(`/`)}/<root>
63
63
 
64
- Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.`)}for(let n of e.seen.entries()){let r=n[1];if(t===n[0]){a(n);continue}if(e.external){let r=e.external.registry.get(n[0])?.id;if(t!==n[0]&&r){a(n);continue}}if(e.metadataRegistry.get(n[0])?.id){a(n);continue}if(r.cycle){a(n);continue}if(r.count>1&&e.reused===`ref`){a(n);continue}}}function Ur(e,t){let n=e.seen.get(t);if(!n)throw Error(`Unprocessed schema. This is a bug in Zod.`);let r=t=>{let n=e.seen.get(t);if(n.ref===null)return;let i=n.def??n.schema,a={...i},o=n.ref;if(n.ref=null,o){r(o);let n=e.seen.get(o),s=n.schema;if(s.$ref&&(e.target===`draft-07`||e.target===`draft-04`||e.target===`openapi-3.0`)?(i.allOf=i.allOf??[],i.allOf.push(s)):Object.assign(i,s),Object.assign(i,a),t._zod.parent===o)for(let e in i)e===`$ref`||e===`allOf`||e in a||delete i[e];if(s.$ref&&n.def)for(let e in i)e===`$ref`||e===`allOf`||e in n.def&&JSON.stringify(i[e])===JSON.stringify(n.def[e])&&delete i[e]}let s=t._zod.parent;if(s&&s!==o){r(s);let t=e.seen.get(s);if(t?.schema.$ref&&(i.$ref=t.schema.$ref,t.def))for(let e in i)e===`$ref`||e===`allOf`||e in t.def&&JSON.stringify(i[e])===JSON.stringify(t.def[e])&&delete i[e]}e.override({zodSchema:t,jsonSchema:i,path:n.path??[]})};for(let t of[...e.seen.entries()].reverse())r(t[0]);let i={};if(e.target===`draft-2020-12`?i.$schema=`https://json-schema.org/draft/2020-12/schema`:e.target===`draft-07`?i.$schema=`http://json-schema.org/draft-07/schema#`:e.target===`draft-04`?i.$schema=`http://json-schema.org/draft-04/schema#`:e.target,e.external?.uri){let n=e.external.registry.get(t)?.id;if(!n)throw Error("Schema is missing an `id` property");i.$id=e.external.uri(n)}Object.assign(i,n.def??n.schema);let a=e.metadataRegistry.get(t)?.id;a!==void 0&&i.id===a&&delete i.id;let o=e.external?.defs??{};for(let t of e.seen.entries()){let e=t[1];e.def&&e.defId&&(e.def.id===e.defId&&delete e.def.id,o[e.defId]=e.def)}e.external||Object.keys(o).length>0&&(e.target===`draft-2020-12`?i.$defs=o:i.definitions=o);try{let n=JSON.parse(JSON.stringify(i));return Object.defineProperty(n,"~standard",{value:{...t[`~standard`],jsonSchema:{input:Gr(t,`input`,e.processors),output:Gr(t,`output`,e.processors)}},enumerable:!1,writable:!1}),n}catch{throw Error(`Error converting schema to JSON.`)}}function W(e,t){let n=t??{seen:new Set};if(n.seen.has(e))return!1;n.seen.add(e);let r=e._zod.def;if(r.type===`transform`)return!0;if(r.type===`array`)return W(r.element,n);if(r.type===`set`)return W(r.valueType,n);if(r.type===`lazy`)return W(r.getter(),n);if(r.type===`promise`||r.type===`optional`||r.type===`nonoptional`||r.type===`nullable`||r.type===`readonly`||r.type==="default"||r.type===`prefault`)return W(r.innerType,n);if(r.type===`intersection`)return W(r.left,n)||W(r.right,n);if(r.type===`record`||r.type===`map`)return W(r.keyType,n)||W(r.valueType,n);if(r.type===`pipe`)return e._zod.traits.has(`$ZodCodec`)?!0:W(r.in,n)||W(r.out,n);if(r.type===`object`){for(let e in r.shape)if(W(r.shape[e],n))return!0;return!1}if(r.type===`union`){for(let e of r.options)if(W(e,n))return!0;return!1}if(r.type===`tuple`){for(let e of r.items)if(W(e,n))return!0;return!!(r.rest&&W(r.rest,n))}return!1}var Wr=(e,t={})=>n=>{let r=Vr({...n,processors:t});return U(e,r),Hr(r,e),Ur(r,e)},Gr=(e,t,n={})=>r=>{let{libraryOptions:i,target:a}=r??{},o=Vr({...i??{},target:a,io:t,processors:n});return U(e,o),Hr(o,e),Ur(o,e)},Kr={guid:`uuid`,url:`uri`,datetime:`date-time`,json_string:`json-string`,regex:``},qr=(e,t,n,r)=>{let i=n;i.type=`string`;let{minimum:a,maximum:o,format:s,patterns:c,contentEncoding:l}=e._zod.bag;if(typeof a==`number`&&(i.minLength=a),typeof o==`number`&&(i.maxLength=o),s&&(i.format=Kr[s]??s,i.format===``&&delete i.format,s===`time`&&delete i.format),l&&(i.contentEncoding=l),c&&c.size>0){let e=[...c];e.length===1?i.pattern=e[0].source:e.length>1&&(i.allOf=[...e.map(e=>({...t.target===`draft-07`||t.target===`draft-04`||t.target===`openapi-3.0`?{type:`string`}:{},pattern:e.source}))])}},Jr=(e,t,n,r)=>{let i=n,{minimum:a,maximum:o,format:s,multipleOf:c,exclusiveMaximum:l,exclusiveMinimum:u}=e._zod.bag;typeof s==`string`&&s.includes(`int`)?i.type=`integer`:i.type=`number`;let d=typeof u==`number`&&u>=(a??-1/0),f=typeof l==`number`&&l<=(o??1/0),p=t.target===`draft-04`||t.target===`openapi-3.0`;d?p?(i.minimum=u,i.exclusiveMinimum=!0):i.exclusiveMinimum=u:typeof a==`number`&&(i.minimum=a),f?p?(i.maximum=l,i.exclusiveMaximum=!0):i.exclusiveMaximum=l:typeof o==`number`&&(i.maximum=o),typeof c==`number`&&(i.multipleOf=c)},Yr=(e,t,n,r)=>{n.type=`boolean`},Xr=(e,t,n,r)=>{n.not={}},Zr=(e,t,n,r)=>{let i=e._zod.def,a=p(i.entries);a.every(e=>typeof e==`number`)&&(n.type=`number`),a.every(e=>typeof e==`string`)&&(n.type=`string`),n.enum=a},Qr=(e,t,n,r)=>{let i=e._zod.def,a=[];for(let e of i.values)if(e===void 0){if(t.unrepresentable===`throw`)throw Error("Literal `undefined` cannot be represented in JSON Schema")}else if(typeof e==`bigint`){if(t.unrepresentable===`throw`)throw Error(`BigInt literals cannot be represented in JSON Schema`);a.push(Number(e))}else a.push(e);if(a.length!==0)if(a.length===1){let e=a[0];n.type=e===null?`null`:typeof e,t.target===`draft-04`||t.target===`openapi-3.0`?n.enum=[e]:n.const=e}else a.every(e=>typeof e==`number`)&&(n.type=`number`),a.every(e=>typeof e==`string`)&&(n.type=`string`),a.every(e=>typeof e==`boolean`)&&(n.type=`boolean`),a.every(e=>e===null)&&(n.type=`null`),n.enum=a},$r=(e,t,n,r)=>{if(t.unrepresentable===`throw`)throw Error(`Custom types cannot be represented in JSON Schema`)},ei=(e,t,n,r)=>{if(t.unrepresentable===`throw`)throw Error(`Transforms cannot be represented in JSON Schema`)},ti=(e,t,n,r)=>{let i=n,a=e._zod.def,{minimum:o,maximum:s}=e._zod.bag;typeof o==`number`&&(i.minItems=o),typeof s==`number`&&(i.maxItems=s),i.type=`array`,i.items=U(a.element,t,{...r,path:[...r.path,`items`]})},ni=(e,t,n,r)=>{let i=n,a=e._zod.def;i.type=`object`,i.properties={};let o=a.shape;for(let e in o)i.properties[e]=U(o[e],t,{...r,path:[...r.path,`properties`,e]});let s=new Set(Object.keys(o)),c=new Set([...s].filter(e=>{let n=a.shape[e]._zod;return t.io===`input`?n.optin===void 0:n.optout===void 0}));c.size>0&&(i.required=Array.from(c)),a.catchall?._zod.def.type===`never`?i.additionalProperties=!1:a.catchall?a.catchall&&(i.additionalProperties=U(a.catchall,t,{...r,path:[...r.path,`additionalProperties`]})):t.io===`output`&&(i.additionalProperties=!1)},ri=(e,t,n,r)=>{let i=e._zod.def,a=i.inclusive===!1,o=i.options.map((e,n)=>U(e,t,{...r,path:[...r.path,a?`oneOf`:`anyOf`,n]}));a?n.oneOf=o:n.anyOf=o},ii=(e,t,n,r)=>{let i=e._zod.def,a=U(i.left,t,{...r,path:[...r.path,`allOf`,0]}),o=U(i.right,t,{...r,path:[...r.path,`allOf`,1]}),s=e=>`allOf`in e&&Object.keys(e).length===1;n.allOf=[...s(a)?a.allOf:[a],...s(o)?o.allOf:[o]]},ai=(e,t,n,r)=>{let i=n,a=e._zod.def;i.type=`object`;let o=a.keyType,s=o._zod.bag?.patterns;if(a.mode===`loose`&&s&&s.size>0){let e=U(a.valueType,t,{...r,path:[...r.path,`patternProperties`,`*`]});i.patternProperties={};for(let t of s)i.patternProperties[t.source]=e}else (t.target===`draft-07`||t.target===`draft-2020-12`)&&(i.propertyNames=U(a.keyType,t,{...r,path:[...r.path,`propertyNames`]})),i.additionalProperties=U(a.valueType,t,{...r,path:[...r.path,`additionalProperties`]});let c=o._zod.values;if(c){let e=[...c].filter(e=>typeof e==`string`||typeof e==`number`);e.length>0&&(i.required=e)}},oi=(e,t,n,r)=>{let i=e._zod.def,a=U(i.innerType,t,r),o=t.seen.get(e);t.target===`openapi-3.0`?(o.ref=i.innerType,n.nullable=!0):n.anyOf=[a,{type:`null`}]},si=(e,t,n,r)=>{let i=e._zod.def;U(i.innerType,t,r);let a=t.seen.get(e);a.ref=i.innerType},ci=(e,t,n,r)=>{let i=e._zod.def;U(i.innerType,t,r);let a=t.seen.get(e);a.ref=i.innerType,n.default=JSON.parse(JSON.stringify(i.defaultValue))},li=(e,t,n,r)=>{let i=e._zod.def;U(i.innerType,t,r);let a=t.seen.get(e);a.ref=i.innerType,t.io===`input`&&(n._prefault=JSON.parse(JSON.stringify(i.defaultValue)))},ui=(e,t,n,r)=>{let i=e._zod.def;U(i.innerType,t,r);let a=t.seen.get(e);a.ref=i.innerType;let o;try{o=i.catchValue(void 0)}catch{throw Error(`Dynamic catch values are not supported in JSON Schema`)}n.default=o},di=(e,t,n,r)=>{let i=e._zod.def,a=i.in._zod.traits.has(`$ZodTransform`),o=t.io===`input`?a?i.out:i.in:i.out;U(o,t,r);let s=t.seen.get(e);s.ref=o},fi=(e,t,n,r)=>{let i=e._zod.def;U(i.innerType,t,r);let a=t.seen.get(e);a.ref=i.innerType,n.readOnly=!0},pi=(e,t,n,r)=>{let i=e._zod.def;U(i.innerType,t,r);let a=t.seen.get(e);a.ref=i.innerType},mi=c(`ZodISODateTime`,(e,t)=>{It.init(e,t),J.init(e,t)});function hi(e){return cr(mi,e)}var gi=c(`ZodISODate`,(e,t)=>{Lt.init(e,t),J.init(e,t)});function _i(e){return lr(gi,e)}var vi=c(`ZodISOTime`,(e,t)=>{Rt.init(e,t),J.init(e,t)});function yi(e){return ur(vi,e)}var bi=c(`ZodISODuration`,(e,t)=>{zt.init(e,t),J.init(e,t)});function xi(e){return dr(bi,e)}var G=c(`ZodError`,(e,t)=>{me.init(e,t),e.name=`ZodError`,Object.defineProperties(e,{format:{value:t=>ge(e,t)},flatten:{value:t=>he(e,t)},addIssue:{value:t=>{e.issues.push(t),e.message=JSON.stringify(e.issues,m,2)}},addIssues:{value:t=>{e.issues.push(...t),e.message=JSON.stringify(e.issues,m,2)}},isEmpty:{get(){return e.issues.length===0}}})},{Parent:Error}),Si=_e(G),Ci=ve(G),wi=ye(G),Ti=R(G),Ei=Se(G),Di=Ce(G),Oi=we(G),ki=z(G),Ai=Te(G),ji=Ee(G),Mi=De(G),Ni=Oe(G),Pi=new WeakMap;function Fi(e,t,n){let r=Object.getPrototypeOf(e),i=Pi.get(r);if(i||(i=new Set,Pi.set(r,i)),!i.has(t)){i.add(t);for(let e in n){let t=n[e];Object.defineProperty(r,e,{configurable:!0,enumerable:!1,get(){let n=t.bind(this);return Object.defineProperty(this,e,{configurable:!0,writable:!0,enumerable:!0,value:n}),n},set(t){Object.defineProperty(this,e,{configurable:!0,writable:!0,enumerable:!0,value:t})}})}}}var K=c(`ZodType`,(e,t)=>(V.init(e,t),Object.assign(e[`~standard`],{jsonSchema:{input:Gr(e,`input`),output:Gr(e,`output`)}}),e.toJSONSchema=Wr(e,{}),e.def=t,e.type=t.type,Object.defineProperty(e,"_def",{value:t}),e.parse=(t,n)=>Si(e,t,n,{callee:e.parse}),e.safeParse=(t,n)=>wi(e,t,n),e.parseAsync=async(t,n)=>Ci(e,t,n,{callee:e.parseAsync}),e.safeParseAsync=async(t,n)=>Ti(e,t,n),e.spa=e.safeParseAsync,e.encode=(t,n)=>Ei(e,t,n),e.decode=(t,n)=>Di(e,t,n),e.encodeAsync=async(t,n)=>Oi(e,t,n),e.decodeAsync=async(t,n)=>ki(e,t,n),e.safeEncode=(t,n)=>Ai(e,t,n),e.safeDecode=(t,n)=>ji(e,t,n),e.safeEncodeAsync=async(t,n)=>Mi(e,t,n),e.safeDecodeAsync=async(t,n)=>Ni(e,t,n),Fi(e,`ZodType`,{check(...e){let t=this.def;return this.clone(x(t,{checks:[...t.checks??[],...e.map(e=>typeof e==`function`?{_zod:{check:e,def:{check:`custom`},onattach:[]}}:e)]}),{parent:!0})},with(...e){return this.check(...e)},clone(e,t){return O(this,e,t)},brand(){return this},register(e,t){return e.add(this,t),this},refine(e,t){return this.check(Ka(e,t))},superRefine(e,t){return this.check(qa(e,t))},overwrite(e){return this.check(jr(e))},optional(){return Oa(this)},exactOptional(){return Aa(this)},nullable(){return Ma(this)},nullish(){return Oa(Ma(this))},nonoptional(e){return Ra(this,e)},array(){return ma(this)},or(e){return _a([this,e])},and(e){return ya(this,e)},transform(e){return Ha(this,Ea(e))},default(e){return Pa(this,e)},prefault(e){return Ia(this,e)},catch(e){return Ba(this,e)},pipe(e){return Ha(this,e)},readonly(){return Wa(this)},describe(e){let t=this.clone();return Rn.add(t,{description:e}),t},meta(...e){if(e.length===0)return Rn.get(this);let t=this.clone();return Rn.add(t,e[0]),t},isOptional(){return this.safeParse(void 0).success},isNullable(){return this.safeParse(null).success},apply(e){return e(this)}}),Object.defineProperty(e,"description",{get(){return Rn.get(e)?.description},configurable:!0}),e)),Ii=c(`_ZodString`,(e,t)=>{wt.init(e,t),K.init(e,t),e._zod.processJSONSchema=(t,n,r)=>qr(e,t,n,r);let n=e._zod.bag;e.format=n.format??null,e.minLength=n.minimum??null,e.maxLength=n.maximum??null,Fi(e,`_ZodString`,{regex(...e){return this.check(Tr(...e))},includes(...e){return this.check(Or(...e))},startsWith(...e){return this.check(kr(...e))},endsWith(...e){return this.check(Ar(...e))},min(...e){return this.check(Cr(...e))},max(...e){return this.check(Sr(...e))},length(...e){return this.check(wr(...e))},nonempty(...e){return this.check(Cr(1,...e))},lowercase(e){return this.check(Er(e))},uppercase(e){return this.check(Dr(e))},trim(){return this.check(Nr())},normalize(...e){return this.check(Mr(...e))},toLowerCase(){return this.check(Pr())},toUpperCase(){return this.check(Fr())},slugify(){return this.check(Ir())}})}),Li=c(`ZodString`,(e,t)=>{wt.init(e,t),Ii.init(e,t),e.email=t=>e.check(Bn(Ri,t)),e.url=t=>e.check(Kn(Vi,t)),e.jwt=t=>e.check(sr(na,t)),e.emoji=t=>e.check(qn(Hi,t)),e.guid=t=>e.check(Vn(zi,t)),e.uuid=t=>e.check(Hn(Bi,t)),e.uuidv4=t=>e.check(Un(Bi,t)),e.uuidv6=t=>e.check(Wn(Bi,t)),e.uuidv7=t=>e.check(Gn(Bi,t)),e.nanoid=t=>e.check(Jn(Ui,t)),e.guid=t=>e.check(Vn(zi,t)),e.cuid=t=>e.check(Yn(Wi,t)),e.cuid2=t=>e.check(Xn(Gi,t)),e.ulid=t=>e.check(Zn(Ki,t)),e.base64=t=>e.check(ir($i,t)),e.base64url=t=>e.check(ar(ea,t)),e.xid=t=>e.check(Qn(qi,t)),e.ksuid=t=>e.check($n(Ji,t)),e.ipv4=t=>e.check(er(Yi,t)),e.ipv6=t=>e.check(tr(Xi,t)),e.cidrv4=t=>e.check(nr(Zi,t)),e.cidrv6=t=>e.check(rr(Qi,t)),e.e164=t=>e.check(or(ta,t)),e.datetime=t=>e.check(hi(t)),e.date=t=>e.check(_i(t)),e.time=t=>e.check(yi(t)),e.duration=t=>e.check(xi(t))});function q(e){return zn(Li,e)}var J=c(`ZodStringFormat`,(e,t)=>{H.init(e,t),Ii.init(e,t)}),Ri=c(`ZodEmail`,(e,t)=>{Dt.init(e,t),J.init(e,t)}),zi=c(`ZodGUID`,(e,t)=>{Tt.init(e,t),J.init(e,t)}),Bi=c(`ZodUUID`,(e,t)=>{Et.init(e,t),J.init(e,t)}),Vi=c(`ZodURL`,(e,t)=>{Ot.init(e,t),J.init(e,t)}),Hi=c(`ZodEmoji`,(e,t)=>{kt.init(e,t),J.init(e,t)}),Ui=c(`ZodNanoID`,(e,t)=>{At.init(e,t),J.init(e,t)}),Wi=c(`ZodCUID`,(e,t)=>{jt.init(e,t),J.init(e,t)}),Gi=c(`ZodCUID2`,(e,t)=>{Mt.init(e,t),J.init(e,t)}),Ki=c(`ZodULID`,(e,t)=>{Nt.init(e,t),J.init(e,t)}),qi=c(`ZodXID`,(e,t)=>{Pt.init(e,t),J.init(e,t)}),Ji=c(`ZodKSUID`,(e,t)=>{Ft.init(e,t),J.init(e,t)}),Yi=c(`ZodIPv4`,(e,t)=>{Bt.init(e,t),J.init(e,t)}),Xi=c(`ZodIPv6`,(e,t)=>{Vt.init(e,t),J.init(e,t)}),Zi=c(`ZodCIDRv4`,(e,t)=>{Ht.init(e,t),J.init(e,t)}),Qi=c(`ZodCIDRv6`,(e,t)=>{Ut.init(e,t),J.init(e,t)}),$i=c(`ZodBase64`,(e,t)=>{Gt.init(e,t),J.init(e,t)}),ea=c(`ZodBase64URL`,(e,t)=>{qt.init(e,t),J.init(e,t)}),ta=c(`ZodE164`,(e,t)=>{Jt.init(e,t),J.init(e,t)}),na=c(`ZodJWT`,(e,t)=>{Xt.init(e,t),J.init(e,t)}),ra=c(`ZodNumber`,(e,t)=>{Zt.init(e,t),K.init(e,t),e._zod.processJSONSchema=(t,n,r)=>Jr(e,t,n,r),Fi(e,`ZodNumber`,{gt(e,t){return this.check(yr(e,t))},gte(e,t){return this.check(br(e,t))},min(e,t){return this.check(br(e,t))},lt(e,t){return this.check(_r(e,t))},lte(e,t){return this.check(vr(e,t))},max(e,t){return this.check(vr(e,t))},int(e){return this.check(oa(e))},safe(e){return this.check(oa(e))},positive(e){return this.check(yr(0,e))},nonnegative(e){return this.check(br(0,e))},negative(e){return this.check(_r(0,e))},nonpositive(e){return this.check(vr(0,e))},multipleOf(e,t){return this.check(xr(e,t))},step(e,t){return this.check(xr(e,t))},finite(){return this}});let n=e._zod.bag;e.minValue=Math.max(n.minimum??-1/0,n.exclusiveMinimum??-1/0)??null,e.maxValue=Math.min(n.maximum??1/0,n.exclusiveMaximum??1/0)??null,e.isInt=(n.format??``).includes(`int`)||Number.isSafeInteger(n.multipleOf??.5),e.isFinite=!0,e.format=n.format??null});function ia(e){return fr(ra,e)}var aa=c(`ZodNumberFormat`,(e,t)=>{Qt.init(e,t),ra.init(e,t)});function oa(e){return pr(aa,e)}var sa=c(`ZodBoolean`,(e,t)=>{$t.init(e,t),K.init(e,t),e._zod.processJSONSchema=(t,n,r)=>Yr(e,t,n,r)});function ca(e){return mr(sa,e)}var la=c(`ZodUnknown`,(e,t)=>{en.init(e,t),K.init(e,t),e._zod.processJSONSchema=(e,t,n)=>void 0});function ua(){return hr(la)}var da=c(`ZodNever`,(e,t)=>{tn.init(e,t),K.init(e,t),e._zod.processJSONSchema=(t,n,r)=>Xr(e,t,n,r)});function fa(e){return gr(da,e)}var pa=c(`ZodArray`,(e,t)=>{rn.init(e,t),K.init(e,t),e._zod.processJSONSchema=(t,n,r)=>ti(e,t,n,r),e.element=t.element,Fi(e,`ZodArray`,{min(e,t){return this.check(Cr(e,t))},nonempty(e){return this.check(Cr(1,e))},max(e,t){return this.check(Sr(e,t))},length(e,t){return this.check(wr(e,t))},unwrap(){return this.element}})});function ma(e,t){return Lr(pa,e,t)}var ha=c(`ZodObject`,(e,t)=>{ln.init(e,t),K.init(e,t),e._zod.processJSONSchema=(t,n,r)=>ni(e,t,n,r),y(e,`shape`,()=>t.shape),Fi(e,`ZodObject`,{keyof(){return X(Object.keys(this._zod.def.shape))},catchall(e){return this.clone({...this._zod.def,catchall:e})},passthrough(){return this.clone({...this._zod.def,catchall:ua()})},loose(){return this.clone({...this._zod.def,catchall:ua()})},strict(){return this.clone({...this._zod.def,catchall:fa()})},strip(){return this.clone({...this._zod.def,catchall:void 0})},extend(e){return ce(this,e)},safeExtend(e){return le(this,e)},merge(e){return ue(this,e)},pick(e){return oe(this,e)},omit(e){return se(this,e)},partial(...e){return A(Da,this,e[0])},required(...e){return de(La,this,e[0])}})});function Y(e,t){return new ha({type:`object`,shape:e??{},...k(t)})}var ga=c(`ZodUnion`,(e,t)=>{dn.init(e,t),K.init(e,t),e._zod.processJSONSchema=(t,n,r)=>ri(e,t,n,r),e.options=t.options});function _a(e,t){return new ga({type:`union`,options:e,...k(t)})}var va=c(`ZodIntersection`,(e,t)=>{fn.init(e,t),K.init(e,t),e._zod.processJSONSchema=(t,n,r)=>ii(e,t,n,r)});function ya(e,t){return new va({type:`intersection`,left:e,right:t})}var ba=c(`ZodRecord`,(e,t)=>{hn.init(e,t),K.init(e,t),e._zod.processJSONSchema=(t,n,r)=>ai(e,t,n,r),e.keyType=t.keyType,e.valueType=t.valueType});function xa(e,t,n){return!t||!t._zod?new ba({type:`record`,keyType:q(),valueType:e,...k(t)}):new ba({type:`record`,keyType:e,valueType:t,...k(n)})}var Sa=c(`ZodEnum`,(e,t)=>{gn.init(e,t),K.init(e,t),e._zod.processJSONSchema=(t,n,r)=>Zr(e,t,n,r),e.enum=t.entries,e.options=Object.values(t.entries);let n=new Set(Object.keys(t.entries));e.extract=(e,r)=>{let i={};for(let r of e)if(n.has(r))i[r]=t.entries[r];else throw Error(`Key ${r} not found in enum`);return new Sa({...t,checks:[],...k(r),entries:i})},e.exclude=(e,r)=>{let i={...t.entries};for(let t of e)if(n.has(t))delete i[t];else throw Error(`Key ${t} not found in enum`);return new Sa({...t,checks:[],...k(r),entries:i})}});function X(e,t){return new Sa({type:`enum`,entries:Array.isArray(e)?Object.fromEntries(e.map(e=>[e,e])):e,...k(t)})}var Ca=c(`ZodLiteral`,(e,t)=>{_n.init(e,t),K.init(e,t),e._zod.processJSONSchema=(t,n,r)=>Qr(e,t,n,r),e.values=new Set(t.values),Object.defineProperty(e,"value",{get(){if(t.values.length>1)throw Error("This schema contains multiple valid literal values. Use `.values` instead.");return t.values[0]}})});function wa(e,t){return new Ca({type:`literal`,values:Array.isArray(e)?e:[e],...k(t)})}var Ta=c(`ZodTransform`,(e,t)=>{vn.init(e,t),K.init(e,t),e._zod.processJSONSchema=(t,n,r)=>ei(e,t,n,r),e._zod.parse=(n,r)=>{if(r.direction===`backward`)throw new u(e.constructor.name);n.addIssue=r=>{if(typeof r==`string`)n.issues.push(I(r,n.value,t));else{let t=r;t.fatal&&(t.continue=!1),t.code??=`custom`,t.input??=n.value,t.inst??=e,n.issues.push(I(t))}};let i=t.transform(n.value,n);return i instanceof Promise?i.then(e=>(n.value=e,n.fallback=!0,n)):(n.value=i,n.fallback=!0,n)}});function Ea(e){return new Ta({type:`transform`,transform:e})}var Da=c(`ZodOptional`,(e,t)=>{bn.init(e,t),K.init(e,t),e._zod.processJSONSchema=(t,n,r)=>pi(e,t,n,r),e.unwrap=()=>e._zod.def.innerType});function Oa(e){return new Da({type:`optional`,innerType:e})}var ka=c(`ZodExactOptional`,(e,t)=>{xn.init(e,t),K.init(e,t),e._zod.processJSONSchema=(t,n,r)=>pi(e,t,n,r),e.unwrap=()=>e._zod.def.innerType});function Aa(e){return new ka({type:`optional`,innerType:e})}var ja=c(`ZodNullable`,(e,t)=>{Sn.init(e,t),K.init(e,t),e._zod.processJSONSchema=(t,n,r)=>oi(e,t,n,r),e.unwrap=()=>e._zod.def.innerType});function Ma(e){return new ja({type:`nullable`,innerType:e})}var Na=c(`ZodDefault`,(e,t)=>{Cn.init(e,t),K.init(e,t),e._zod.processJSONSchema=(t,n,r)=>ci(e,t,n,r),e.unwrap=()=>e._zod.def.innerType,e.removeDefault=e.unwrap});function Pa(e,t){return new Na({type:`default`,innerType:e,get defaultValue(){return typeof t==`function`?t():ne(t)}})}var Fa=c(`ZodPrefault`,(e,t)=>{Tn.init(e,t),K.init(e,t),e._zod.processJSONSchema=(t,n,r)=>li(e,t,n,r),e.unwrap=()=>e._zod.def.innerType});function Ia(e,t){return new Fa({type:`prefault`,innerType:e,get defaultValue(){return typeof t==`function`?t():ne(t)}})}var La=c(`ZodNonOptional`,(e,t)=>{En.init(e,t),K.init(e,t),e._zod.processJSONSchema=(t,n,r)=>si(e,t,n,r),e.unwrap=()=>e._zod.def.innerType});function Ra(e,t){return new La({type:`nonoptional`,innerType:e,...k(t)})}var za=c(`ZodCatch`,(e,t)=>{On.init(e,t),K.init(e,t),e._zod.processJSONSchema=(t,n,r)=>ui(e,t,n,r),e.unwrap=()=>e._zod.def.innerType,e.removeCatch=e.unwrap});function Ba(e,t){return new za({type:`catch`,innerType:e,catchValue:typeof t==`function`?t:()=>t})}var Va=c(`ZodPipe`,(e,t)=>{kn.init(e,t),K.init(e,t),e._zod.processJSONSchema=(t,n,r)=>di(e,t,n,r),e.in=t.in,e.out=t.out});function Ha(e,t){return new Va({type:`pipe`,in:e,out:t})}var Ua=c(`ZodReadonly`,(e,t)=>{jn.init(e,t),K.init(e,t),e._zod.processJSONSchema=(t,n,r)=>fi(e,t,n,r),e.unwrap=()=>e._zod.def.innerType});function Wa(e){return new Ua({type:`readonly`,innerType:e})}var Ga=c(`ZodCustom`,(e,t)=>{Nn.init(e,t),K.init(e,t),e._zod.processJSONSchema=(t,n,r)=>$r(e,t,n,r)});function Ka(e,t={}){return Rr(Ga,e,t)}function qa(e,t){return zr(e,t)}var Ja=Y({visible:ca().optional(),style:X([`icon`,`text`]).optional(),label:q().nullable().optional(),position:q().optional()}).nullable().optional(),Ya=Y({returnUrl:q().optional(),navigateOnClose:ca().optional()}).optional(),Xa=Y({label:q().min(1).max(80).optional(),ariaLabel:q().min(1).max(120).optional(),placement:X([`center`,`bottom-center`,`bottom-left`,`bottom-right`]).optional(),variant:X([`primary`,`secondary`,`minimal`]).optional(),appearance:Y({backgroundColor:q().min(1).max(64).optional(),textColor:q().min(1).max(64).optional(),borderColor:q().min(1).max(64).optional(),borderRadiusPx:ia().min(0).max(999).optional(),size:X([`small`,`medium`,`large`]).optional(),shadow:X([`none`,`soft`,`strong`]).optional()}).optional()}),Za=Y({characterId:q().min(1),displayName:q().min(1),avatarId:q().min(1),voiceId:q().min(1),sttLang:q().min(1),agentId:q().min(1),appearance:Y({costume:q().optional(),costumeClothes:q().optional(),hair:q().optional()}).optional()}),Qa=Y({cx:ia(),cy:ia(),scale:ia(),distanceM:ia()}),$a=Y({type:wa(`image`),layers:ma(q()),assets:xa(q(),xa(q(),q()))}),eo=X([`browser`,`cloud`]),to=Y({placement:eo,provider:q().min(1),model:q().min(1).optional(),config:xa(q(),ua()).default({})}),no=Y({stt:to,llm:to,tts:to,animation:Y({enabled:ca(),placement:eo.optional(),source:X([`azureViseme`,`speechToAnimation`,`none`]),provider:q().min(1).optional(),model:q().min(1).optional(),config:xa(q(),ua()).default({})})}),ro=Y({schemaVersion:wa(1),sessionId:q().min(1),experienceId:q().min(1),expiresAt:q().min(1),sessionToken:q().min(1),experience:Y({title:q(),slug:q(),mode:X([`conversation`,`presenter`]),responseMode:X([`managed`,`custom`,`manual`]),speechInputMode:X([`auto`,`manual`,`off`]),startButton:Xa.optional(),openingMessage:q().optional()}),transport:Y({type:wa(`http`),config:Y({apiBaseUrl:q().min(1)})}),runtime:Y({cdnBaseUrl:q().min(1),input:wa(`browserStt`),renderer:wa(`morph2d`)}),pipeline:no.optional(),capabilities:ma(q()),characters:ma(Za).min(1),activeCharacterId:q().min(1),location:Y({locationId:q(),title:q(),scene:$a.optional(),placement:Qa.optional(),metersPerDepth:ia().positive().optional(),hasZoomVariant:ca().optional()}).optional(),world:Y({worldId:q(),rulesetVersion:ia()}).optional(),state:Y({schemaVersion:wa(1),values:xa(q(),ua())}),tools:ma(ua()),integration:Ya,closeButton:Ja,billing:Y({payer:wa(`creator`),meterId:q()}).optional(),language:X([`en`,`es`]).optional(),languagePackRevision:q().optional(),processorId:q().optional()}).superRefine((e,t)=>{let n=e.activeCharacterId;e.characters.some(e=>e.characterId===n)||t.addIssue({code:`custom`,message:`activeCharacterId must reference a character in characters[]`,path:[`activeCharacterId`]})});function io(e){if(!e||typeof e!=`object`)return e;let t={...e},n=t.experience;if(!n||typeof n!=`object`)return t;let r={...n},i=r.mode===`presenter`?`presenter`:`conversation`;return r.responseMode===void 0&&(r.responseMode=i===`presenter`?`manual`:`managed`),r.speechInputMode===void 0&&(r.speechInputMode=i===`presenter`?`manual`:`auto`),t.experience=r,t}function ao(e){return e.issues.map(e=>`${e.path.length>0?e.path.join(`.`):`(root)`}: ${e.message}`).join(`; `)}function oo(e){let t=ro.safeParse(io(e));if(!t.success)throw Error(`Invalid Session Manifest from Liforma API — ${ao(t.error)}`);return t.data}function so(e){return e.sessionToken.trim().length>0}function co(){try{if(typeof globalThis.location?.origin==`string`&&globalThis.location.origin)return globalThis.location.origin}catch{}}function lo(e,t,n){let r;try{r=JSON.parse(n)}catch{}let i=co(),a=r?.message?.trim(),o=r?.code;if(o===`origin_not_allowed`||/^Origin not allowed/i.test(a??``)&&i){if(a&&a.includes(e)&&a.includes(`allowed origin`))return a;let t=r?.origin??i??`(unknown origin)`;return`Your origin ${t} is not an allowed origin for experience ${e}. If you own this experience, sign in to the Liforma developer portal (app.liforma.ai), open Workspace → Settings → Origins, add ${t} to the list of allowed origins, and ensure “Allow public client-only embeds” is enabled.`}return o===`browser_embeds_disabled`||/^Browser embeds are not enabled/i.test(a??``)?a&&a.includes(`Allow public client-only embeds`)?a:`Browser embeds are not enabled for experience ${e}. If you own this experience, sign in to the Liforma developer portal (app.liforma.ai), open Workspace → Settings → Origins, and enable “Allow public client-only embeds”.`:o===`experience_unavailable`||/^Experience is not available\.?$/i.test(a??``)||/^Unknown experience\.?$/i.test(a??``)?a&&a.includes(`No playable experience found`)?a:`No playable experience found for “${e}”. Check that the experience id is correct (it should look like exp_…), and that the experience exists and is published in the Liforma developer portal (app.liforma.ai). Deleted, archived, and unpublished experiences cannot be started from a browser embed.`:a||n.trim().slice(0,500)||`Public session mint failed (${t})`}async function uo(e,t){let n=a(),r={experienceId:e};t?.language&&(r.language=t.language),t?.mode&&(r.mode=t.mode),t?.responseMode&&(r.responseMode=t.responseMode),t?.speechInputMode&&(r.speechInputMode=t.speechInputMode),t?.startButton&&(r.startButton=t.startButton),t?.speechOnly!==void 0&&(r.speechOnly=t.speechOnly);let i=await fetch(`${n}/v1/public-sessions`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify(r)});if(!i.ok){let t=await i.text();throw Error(lo(e,i.status,t))}let o;try{o=await i.json()}catch{throw Error(`Public session mint returned invalid JSON.`)}return oo(o)}async function fo(e,t){let n=o(e,t),r=new AbortController,i=()=>r.abort(t.signal?.reason);t.signal?.aborted?i():t.signal?.addEventListener(`abort`,i,{once:!0});let a=globalThis.setTimeout(()=>r.abort(new DOMException(`Session endpoint timed out.`,`TimeoutError`)),t.timeoutMs??3e4),s;try{s=await fetch(n.url,{...n.init,signal:r.signal})}finally{globalThis.clearTimeout(a),t.signal?.removeEventListener(`abort`,i)}if(!s.ok){let e=await s.text(),t=e.slice(0,500)||`Session endpoint failed (${s.status})`;try{let n=JSON.parse(e);n.message&&(t=n.message)}catch{}throw Error(t)}if(!s.headers.get(`content-type`)?.toLowerCase().includes(`application/json`))throw Error(`Session endpoint must return a JSON Session Manifest.`);let c;try{c=await s.json()}catch{throw Error(`Session endpoint returned invalid JSON.`)}return oo(c)}function po(e){return typeof e!=`object`||!e?!1:typeof e[Symbol.asyncIterator]==`function`}function mo(e){if(typeof e==`string`){let t=e.trim();if(!t)throw Error(`conversationProcessor returned empty text.`);return{text:t}}let t=e.text.trim();if(!t)throw Error(`conversationProcessor returned empty text.`);return{text:t,...e.characterId?{characterId:e.characterId}:{},...e.behavior?{behavior:e.behavior}:{}}}async function ho(e,t){let n=await e(t);return po(n)?{kind:`stream`,stream:n}:{kind:`complete`,speech:mo(n)}}var go=`3002`;function _o(e){let t=new URL(e);return t.hostname===`localhost`||t.hostname===`127.0.0.1`?`Cannot connect to the Liforma player at ${e} — nothing is listening on port ${t.port||go}. Start the player dev server in player.liforma.ai (npm run dev).`:`Cannot connect to the Liforma player at ${e}. The embed did not load; check your network connection and player URL configuration.`}async function vo(e,t){try{await fetch(e,{method:`GET`,mode:`no-cors`,signal:AbortSignal.timeout(8e3)})}catch{throw Error(_o(t))}}function yo(e,t,n){try{e.postMessage(t,n)}catch(e){throw e instanceof DOMException&&e.name===`SecurityError`?Error(_o(n),{cause:e}):e}}var bo=new Set([1,2]);function xo(e){return typeof e==`number`&&bo.has(e)}var So=new Set([`close`,`stateUpdate`,`commandResult`,`userTranscript`,`characterSpeechStarted`,`characterSpeechEnded`,`conversationUpdate`,`listeningState`,`userSpeechStarted`,`userSpeechEnded`,`modeChange`,`message`,`started`,`widgetReady`,`widgetExpand`,`widgetCollapse`,`widgetAudioSettings`]);function Co(e){if(!e||typeof e!=`object`)return null;let t=e;if(!xo(t.schemaVersion)||!t.type||!So.has(t.type))return null;if(t.type===`widgetReady`||t.type===`widgetExpand`||t.type===`widgetCollapse`)return t;if(t.type===`widgetAudioSettings`){let e=t.payload;return!e||typeof e!=`object`||typeof e.open!=`boolean`?null:t}return!t.payload||typeof t.payload!=`object`?null:t}function wo(e){return{type:`manifest`,schemaVersion:2,payload:{manifest:e}}}function To(){return{type:`parentHello`,schemaVersion:2}}function Eo(e){return{type:`widgetSetChrome`,schemaVersion:2,payload:{mode:e}}}function Do(){return{type:`widgetToggleAudioSettings`,schemaVersion:2,payload:{}}}function Z(){return typeof crypto<`u`&&typeof crypto.randomUUID==`function`?`cmd_${crypto.randomUUID().replace(/-/g,``).slice(0,12)}`:`cmd_${Date.now().toString(36)}${Math.random().toString(36).slice(2,8)}`}function Oo(e){let t=e.container;getComputedStyle(t).position===`static`&&(t.style.position=`relative`);let n=document.createElement(`iframe`);n.src=e.src,n.title=`Liforma experience`,n.setAttribute(`allow`,`microphone; autoplay; clipboard-read; clipboard-write`),n.style.cssText=e.transparent?`display:block;position:absolute;inset:0;width:100%;height:100%;border:0;background:transparent;`:`display:block;position:absolute;inset:0;width:100%;height:100%;border:0;background:#030508;`,e.transparent&&n.setAttribute(`allowtransparency`,`true`);let r=!1,i=new Map,a=new Promise((t,r)=>{let i=()=>{o(),vo(e.src,e.playerOrigin).then(t,r)},a=()=>{o(),r(Error(_o(e.playerOrigin)))},o=()=>{n.removeEventListener(`load`,i),n.removeEventListener(`error`,a)};n.addEventListener(`load`,i),n.addEventListener(`error`,a)}),o=t=>{if(r||t.source!==n.contentWindow||t.origin!==e.playerOrigin)return;let a=Co(t.data);if(a)switch(a.type){case`close`:e.onClose?.(a.payload);break;case`stateUpdate`:e.onStateUpdate?.(a.payload.state);break;case`commandResult`:{let e=i.get(a.payload.correlationId);if(!e)return;i.delete(a.payload.correlationId),a.payload.ok?e.resolve(a.payload.result):e.reject(Error(a.payload.error??`Command failed.`));break}case`userTranscript`:e.onUserTranscript?.(a.payload);break;case`characterSpeechStarted`:e.onCharacterSpeechStarted?.(a.payload);break;case`characterSpeechEnded`:e.onCharacterSpeechEnded?.(a.payload);break;case`conversationUpdate`:e.onConversationUpdate?.(a.payload.conversation);break;case`listeningState`:e.onListeningState?.(a.payload.listening);break;case`userSpeechStarted`:e.onUserSpeechStarted?.(a.payload);break;case`userSpeechEnded`:e.onUserSpeechEnded?.(a.payload);break;case`modeChange`:e.onModeChange?.(a.payload.mode);break;case`message`:e.onMessage?.(a.payload);break;case`started`:e.onStarted?.(a.payload);break;case`widgetReady`:e.onWidgetReady?.();break;case`widgetExpand`:e.onWidgetExpand?.();break;case`widgetCollapse`:e.onWidgetCollapse?.();break;case`widgetAudioSettings`:e.onWidgetAudioSettings?.(a.payload.open);break}};if(window.addEventListener(`message`,o),t.replaceChildren(n),t.clientHeight<2&&!t.style.minHeight){let e=getComputedStyle(t).minHeight;(e===`0px`||e===`auto`)&&(t.style.minHeight=`480px`)}let s=t=>{if(r)return;let i=n.contentWindow;if(!i)throw Error(_o(e.playerOrigin));yo(i,t,e.playerOrigin)},c=(e,t=12e4)=>{let n=e.type!==`parentHello`&&e.payload&&`correlationId`in e.payload?e.payload.correlationId:Z();return e.type!==`parentHello`&&e.payload&&`correlationId`in e.payload||e.type!==`parentHello`&&e.payload&&(e.payload.correlationId=n),new Promise((r,a)=>{i.set(n,{resolve:e=>r(e),reject:a}),s(e),setTimeout(()=>{i.has(n)&&(i.delete(n),a(Error(`Timed out waiting for player command result.`)))},t)})};return{waitForLoad(){return a},postParentHello(){s(To())},postManifest(t){if(r)return;let i=n.contentWindow;if(!i)throw Error(`Liforma embed iframe is not ready.`);let a=wo(t),o=()=>{r||yo(i,a,e.playerOrigin)};o();for(let e=1;e<=12;e+=1)window.setTimeout(o,e*75)},postWidgetSetChrome(e){s(Eo(e))},postWidgetToggleAudioSettings(){s(Do())},speak(e){return c({type:`speak`,schemaVersion:2,payload:{correlationId:Z(),text:e.text,...e.characterId?{characterId:e.characterId}:{},...e.behavior?{behavior:e.behavior}:{}}})},startListening(){return c({type:`startListening`,schemaVersion:2,payload:{correlationId:Z()}})},stopListening(){return c({type:`stopListening`,schemaVersion:2,payload:{correlationId:Z()}})},listenOnce(e){return c({type:`listenOnce`,schemaVersion:2,payload:{correlationId:Z(),...e?.timeoutMs===void 0?{}:{timeoutMs:e.timeoutMs}}})},async speakProcessorStream(e,t){let n=Z(),r=Z(),i=(await c({type:`speakStreamStart`,schemaVersion:2,payload:{correlationId:n,...t?.characterId?{characterId:t.characterId}:{},...t?.behavior?{behavior:t.behavior}:{}}})).streamId;try{for await(let n of e){if(t?.signal?.aborted)throw new DOMException(`Processor stream aborted.`,`AbortError`);n&&s({type:`speakStreamChunk`,schemaVersion:2,payload:{streamId:i,text:n}})}if(t?.signal?.aborted)throw new DOMException(`Processor stream aborted.`,`AbortError`);return await c({type:`speakStreamEnd`,schemaVersion:2,payload:{correlationId:r,streamId:i}})}catch(e){try{await c({type:`speakStreamEnd`,schemaVersion:2,payload:{correlationId:r,streamId:i}})}catch{}throw e}},getConversation(){return c({type:`getConversation`,schemaVersion:2,payload:{correlationId:Z()}})},destroy(){if(!r){r=!0;for(let e of i.values())e.reject(Error(`Iframe host destroyed.`));i.clear(),window.removeEventListener(`message`,o),n.remove()}}}}function ko(e){let t,n=!1,r=!1,i=()=>{r||!n||t===void 0||(r=!0,e(t))};return{setValue(e){t=e,i()},markReady(){n=!0,i()}}}var Ao=`https://player.liforma.ai/embed`,jo=`http://localhost:3002/embed`;function Mo(){let e=globalThis.__LIFORMA_PLAYER_EMBED_URL;if(e?.trim())return e.trim().replace(/\/$/,``);if(typeof document>`u`)return null;let t=(document.querySelector(`script[data-liforma-sdk][src*="client.js"]`)??document.querySelector(`script[src*="/sdk/v2/client.js"]`))?.getAttribute(`data-player-embed-url`)?.trim();return t?t.replace(/\/$/,``):null}function No(){let e=Mo();return e?e.endsWith(`/embed`)?e:`${e}/embed`:t()?jo:Ao}function Po(e,t,n,r,i,a,o){let s=(e??No()).replace(/\/$/,``),c=s.endsWith(`/embed`)?s:`${s}/embed`,l=new URL(c),u=n?.trim();u&&l.searchParams.set(`locationId`,u);let d=r?.trim();return d&&l.searchParams.set(`avatarId`,d),i===`face`&&l.searchParams.set(`fit`,`face`),a===`widget`&&l.searchParams.set(`ui`,`widget`),o&&l.searchParams.set(`close`,`1`),t&&l.searchParams.set(`debug`,`true`),Fo(l.toString())}function Fo(e){if(typeof location>`u`)return e;let t=new URL(e);return t.searchParams.set(`parentOrigin`,location.origin),t.toString()}function Io(e){return new URL(e).origin}function Lo(e){let t=e.filter(e=>e!==`avatar`);return t.includes(`voice`)?t:[`voice`,...t]}function Ro(e){return oo({...e,capabilities:Lo(e.capabilities),pipeline:{...e.pipeline,animation:{enabled:!1,source:`none`,config:{}}},location:{locationId:e.location?.locationId?.trim()||`speech-only`,title:e.location?.title?.trim()||``}})}function zo(){return{ready:new Set,started:new Set,userTranscript:new Set,userSpeechStarted:new Set,userSpeechEnded:new Set,characterSpeechStarted:new Set,characterSpeechEnded:new Set,conversationUpdate:new Set,message:new Set,listeningState:new Set,modeChange:new Set,conversationProcessorError:new Set}}function Bo(e,t,n){return e[t].add(n),()=>e[t].delete(n)}function Q(e,t,n){for(let r of e[t])r(n)}function Vo(e){for(let t of Object.keys(e))e[t].clear()}function Ho(e,t){return t?oo({...e,experience:{...e.experience,startButton:t}}):e}var Uo=class e{launch;conversationProcessor;iframeHost=null;attachInFlight=null;endpointAbortController=null;processorAbortController=null;processorChain=Promise.resolve();resolvedManifest;closed=!1;attached=!1;closeHandlers=[];eventRegistry=zo();readyEvent=null;startedEvent=null;conversationCache=[];constructor(e){this.launch=e,this.conversationProcessor=e.conversationProcessor??null,this.resolvedManifest=e.kind===`manifest`?e.manifest:null}static async startSession(t){if(`sessionEndpoint`in t)return new e({kind:`sessionEndpoint`,experienceId:t.experienceId,sessionEndpoint:t.sessionEndpoint,language:t.language,locationId:t.locationId,avatarId:t.avatarId,embedBaseUrl:t.embedBaseUrl,debug:t.debug,mode:t.mode,responseMode:t.responseMode,speechInputMode:t.speechInputMode,startButton:t.startButton,speechOnly:t.speechOnly,fit:t.fit,ui:t.ui,onStart:t.onStart,onUserTranscript:t.onUserTranscript,conversationProcessor:t.conversationProcessor});if(`experienceId`in t)return new e({kind:`public`,experienceId:t.experienceId,language:t.language,locationId:t.locationId,avatarId:t.avatarId,embedBaseUrl:t.embedBaseUrl,debug:t.debug,mode:t.mode,responseMode:t.responseMode,speechInputMode:t.speechInputMode,startButton:t.startButton,speechOnly:t.speechOnly,fit:t.fit,ui:t.ui,onStart:t.onStart,onUserTranscript:t.onUserTranscript,conversationProcessor:t.conversationProcessor});let n=oo(t.manifest);if(so(n)&&!t.acceptCredentialExposure)throw Error(`Credential-bearing Session Manifest requires acceptCredentialExposure: true. Prefer experienceId, sessionEndpoint, or client-side mint instead of SSR page data.`);return new e({kind:`manifest`,manifest:t.speechOnly?Ro(n):n,embedBaseUrl:t.embedBaseUrl,debug:t.debug,startButton:t.startButton,speechOnly:t.speechOnly,fit:t.fit,ui:t.ui,onStart:t.onStart,onUserTranscript:t.onUserTranscript,conversationProcessor:t.conversationProcessor})}getManifest(){return this.resolvedManifest}on(e,t){let n=Bo(this.eventRegistry,e,t);return e===`ready`&&this.readyEvent&&queueMicrotask(()=>t(this.readyEvent)),e===`started`&&this.startedEvent&&queueMicrotask(()=>t(this.startedEvent)),n}async attach(e){if(this.closed)throw Error(`Session has ended.`);if(!e.container)throw Error(`Experience.attach requires a DOM container element.`);return this.attached&&this.iframeHost?this.createPlayerFacade():(this.attachInFlight||=this.attachInternal(e).finally(()=>{this.attachInFlight=null}),this.attachInFlight)}async attachInternal(e){if(this.closed)throw Error(`Session has ended.`);if(this.attached&&this.iframeHost)return this.createPlayerFacade();this.iframeHost&&=(this.iframeHost.destroy(),null);let t=this.launch.embedBaseUrl??No(),n=this.launch.debug===!0,r=this.launch.speechOnly===!0,i=Po(t,n,r||this.launch.kind===`manifest`?void 0:this.launch.locationId,r||this.launch.kind===`manifest`?void 0:this.launch.avatarId,this.launch.fit,this.launch.ui,e.showClose===!0),a=Io(i),o=null,s=new Promise(e=>{o=e}),c=null,l=new Promise(e=>{c=e}),u=ko(e=>{this.readyEvent||(this.readyEvent={manifest:e},Q(this.eventRegistry,`ready`,this.readyEvent))}),d=this.launch.onUserTranscript,f=Oo({container:e.container,src:i,playerOrigin:a,transparent:this.launch.ui===`widget`,onClose:e=>{for(let t of this.closeHandlers)t(e)},onStateUpdate:t=>{e.onStateUpdate?.(t),t===`loading`&&o&&(o(),o=null),t===`ready`&&c&&(c(),c=null),t===`ready`&&u.markReady()},onUserTranscript:e=>{Q(this.eventRegistry,`userTranscript`,e),d?.(e),this.queueProcessorTurn(e)},onUserSpeechStarted:e=>{Q(this.eventRegistry,`userSpeechStarted`,e)},onUserSpeechEnded:e=>{Q(this.eventRegistry,`userSpeechEnded`,e)},onCharacterSpeechStarted:e=>{Q(this.eventRegistry,`characterSpeechStarted`,e)},onCharacterSpeechEnded:e=>{Q(this.eventRegistry,`characterSpeechEnded`,e)},onListeningState:e=>{Q(this.eventRegistry,`listeningState`,e)},onModeChange:e=>{Q(this.eventRegistry,`modeChange`,e)},onMessage:e=>{Q(this.eventRegistry,`message`,e)},onStarted:e=>{this.startedEvent||(this.startedEvent=e,Q(this.eventRegistry,`started`,e),this.launch.onStart?.(e))},onConversationUpdate:e=>{this.conversationCache=e,Q(this.eventRegistry,`conversationUpdate`,e)},onWidgetReady:()=>e.onWidgetReady?.(),onWidgetExpand:()=>e.onWidgetExpand?.(),onWidgetCollapse:()=>e.onWidgetCollapse?.(),onWidgetAudioSettings:t=>e.onWidgetAudioSettings?.(t)});this.iframeHost=f;let p=this.resolveMintInteraction(),m=this.launch.kind===`sessionEndpoint`?(this.endpointAbortController=new AbortController,fo(this.launch.sessionEndpoint,{experienceId:this.launch.experienceId,language:this.launch.language,mode:p.mode,responseMode:p.responseMode,speechInputMode:p.speechInputMode,startButton:this.launch.startButton,speechOnly:this.launch.speechOnly,signal:this.endpointAbortController.signal})):this.launch.kind===`public`?uo(this.launch.experienceId,{language:this.launch.language,mode:p.mode,responseMode:p.responseMode,speechInputMode:p.speechInputMode,startButton:this.launch.startButton,speechOnly:this.launch.speechOnly}):Promise.resolve(this.launch.kind===`manifest`?this.launch.manifest:null),h;try{[,h]=await Promise.all([f.waitForLoad(),m])}catch(e){throw f.destroy(),this.iframeHost===f&&(this.iframeHost=null),e}finally{this.endpointAbortController=null}if(f.postParentHello(),h){let e=Ho(h,this.launch.startButton);this.launch.speechOnly&&(e=Ro(e)),this.assertBrowserCustomManifest(e),this.resolvedManifest=e,f.postManifest(e),u.setValue(e)}return await Promise.race([s,new Promise((e,t)=>{setTimeout(()=>t(Error(`Timed out waiting for player loading UI.`)),12e4)})]),await Promise.race([l,new Promise((e,t)=>{setTimeout(()=>t(Error(`Timed out waiting for player ready state.`)),12e4)})]),this.attached=!0,this.createPlayerFacade()}async speak(e){return this.assertSessionStarted(),e.behavior===`interrupt`&&(this.processorAbortController?.abort(),this.processorAbortController=null),this.iframeHost.speak({text:e.text,characterId:e.characterId,behavior:e.behavior})}async startListening(){this.assertSessionStarted(),await this.iframeHost.startListening()}async stopListening(){return this.assertSessionStarted(),this.iframeHost.stopListening()}async listenOnce(e){return this.assertSessionStarted(),this.iframeHost.listenOnce({timeoutMs:e?.timeoutMs})}getConversation(){return this.conversationCache}setWidgetChrome(e){this.iframeHost?.postWidgetSetChrome(e)}toggleAudioSettings(){this.iframeHost?.postWidgetToggleAudioSettings()}getLastTurn(){if(this.conversationCache.length===0)return[];let e=this.conversationCache[this.conversationCache.length-1].turnId;return this.conversationCache.filter(t=>t.turnId===e)}async end(){this.close()}destroy(){this.closed||(this.closed=!0,this.processorAbortController?.abort(),this.processorAbortController=null,this.endpointAbortController?.abort(),this.endpointAbortController=null,this.attachInFlight=null,this.iframeHost?.destroy(),this.iframeHost=null,Vo(this.eventRegistry),this.readyEvent=null,this.startedEvent=null,this.closeHandlers.length=0,this.attached=!1)}resolveMintInteraction(){if(this.launch.kind===`manifest`)return{};let e=this.conversationProcessor!==null;return{mode:this.launch.mode,responseMode:e?`custom`:this.launch.responseMode,speechInputMode:this.launch.speechInputMode}}assertBrowserCustomManifest(e){if(this.conversationProcessor){if(e.experience.responseMode!==`custom`)throw Error(`conversationProcessor requires responseMode custom in the Session Manifest.`);if(e.processorId)throw Error(`Browser conversationProcessor cannot be used with a registered processorId.`)}}queueProcessorTurn(e){if(!e.isFinal||!e.text.trim()||!this.conversationProcessor)return;let t=this.conversationProcessor;this.processorAbortController?.abort(),this.processorAbortController=new AbortController;let n=this.processorAbortController.signal;this.processorChain=this.processorChain.then(async()=>{if(!n.aborted)try{let r=await ho(t,{utteranceId:e.utteranceId,text:e.text,conversation:this.conversationCache,signal:n});if(n.aborted)return;if(r.kind===`complete`){let e=r.speech;await this.speak({text:e.text,...e.characterId?{characterId:e.characterId}:{},...e.behavior?{behavior:e.behavior}:{}});return}await this.iframeHost.speakProcessorStream(r.stream,{signal:n})}catch(t){if(n.aborted)return;let r=t instanceof Error?t.message:String(t);Q(this.eventRegistry,`conversationProcessorError`,{utteranceId:e.utteranceId,message:r})}})}assertAttached(){if(!this.attached||!this.iframeHost)throw Error(`Call Experience.attach() before using speech APIs.`)}assertSessionStarted(){if(this.assertAttached(),!this.startedEvent)throw Error(`Session has not started. Wait for the player start button and the started event before using speak() or listening APIs.`)}close(){this.closed||(this.closed=!0,this.endpointAbortController?.abort(),this.endpointAbortController=null,this.attachInFlight=null,this.iframeHost?.destroy(),this.iframeHost=null,this.attached=!1)}createPlayerFacade(){return{close:()=>{this.close()},destroy:()=>{this.destroy()},on:(e,t)=>{e===`close`&&this.closeHandlers.push(t)}}}};function Wo(e,t){let n=e.trim();if(!n)return null;if(/^https?:\/\//i.test(n))try{return new URL(n)}catch{return null}let r=t.replace(/\/$/,``),i=n.startsWith(`/`)?n:`/${n}`;try{return new URL(i,`${r}/`)}catch{return null}}function Go(e){try{if(document.referrer){let e=new URL(document.referrer);if(e.origin===window.location.origin&&e.pathname!==window.location.pathname)return`${e.pathname}${e.search}${e.hash}`}}catch{}return e}function Ko(e,t=`/meet`){if(e.reason!==`user`)return;let n=Wo(e.returnUrl?.trim()||Go(t),window.location.origin);n?.protocol.startsWith(`http`)&&window.location.assign(n.toString())}var qo=/\b(exp_[A-Za-z0-9][A-Za-z0-9_-]{2,127})\b/,Jo=/(?:Your origin|origin)\s+(\S+)\s+is not an allowed origin/i;function Yo(e){return e instanceof Error?e.message:String(e)}function Xo(){try{if(typeof globalThis.location?.origin==`string`&&globalThis.location.origin)return globalThis.location.origin}catch{}}function Zo(e){return qo.exec(e)?.[1]}function Qo(e){return Jo.exec(e)?.[1]}function $o(e,t){let n=Yo(e).trim()||`Unknown error`,r=t?.experienceId?.trim()||Zo(n)||void 0,i=t?.origin?.trim()||Qo(n)||Xo()||void 0;return/No playable experience found/i.test(n)||/^Experience is not available\.?$/i.test(n)||/^Unknown experience\.?$/i.test(n)||/experience_unavailable/i.test(n)?{kind:`not_found`,title:`The application tried to load an avatar experience that doesn’t exist.`,detail:`Experience with id ${r??`the requested experience`} does not exist`,technicalMessage:n,experienceId:r,origin:i}:/origin_not_allowed/i.test(n)||/is not an allowed origin/i.test(n)||/^Origin not allowed/i.test(n)?{kind:`origin_not_allowed`,title:`The application tried to load an avatar experience from a website that isn’t allowed.`,detail:`Origin ${i??`this page`} is not allowed for experience ${r??`the requested experience`}`,technicalMessage:n,experienceId:r,origin:i}:/browser_embeds_disabled/i.test(n)||/^Browser embeds are not enabled/i.test(n)?{kind:`browser_embeds_disabled`,title:`The application tried to load an avatar experience that isn’t enabled for browser embeds.`,detail:`Browser embeds are not enabled for experience ${r??`the requested experience`}`,technicalMessage:n,experienceId:r,origin:i}:{kind:`generic`,title:`This avatar experience couldn’t be started.`,detail:n,technicalMessage:n,experienceId:r,origin:i}}var es=`liforma-experience-load-error-styles`;function ts(){if(typeof document>`u`||document.getElementById(`liforma-experience-load-error-styles`))return;let e=document.createElement(`style`);e.id=es,e.textContent=ns,document.head.append(e)}var ns=`
64
+ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.`)}for(let n of e.seen.entries()){let r=n[1];if(t===n[0]){a(n);continue}if(e.external){let r=e.external.registry.get(n[0])?.id;if(t!==n[0]&&r){a(n);continue}}if(e.metadataRegistry.get(n[0])?.id){a(n);continue}if(r.cycle){a(n);continue}if(r.count>1&&e.reused===`ref`){a(n);continue}}}function Wr(e,t){let n=e.seen.get(t);if(!n)throw Error(`Unprocessed schema. This is a bug in Zod.`);let r=t=>{let n=e.seen.get(t);if(n.ref===null)return;let i=n.def??n.schema,a={...i},o=n.ref;if(n.ref=null,o){r(o);let n=e.seen.get(o),s=n.schema;if(s.$ref&&(e.target===`draft-07`||e.target===`draft-04`||e.target===`openapi-3.0`)?(i.allOf=i.allOf??[],i.allOf.push(s)):Object.assign(i,s),Object.assign(i,a),t._zod.parent===o)for(let e in i)e===`$ref`||e===`allOf`||e in a||delete i[e];if(s.$ref&&n.def)for(let e in i)e===`$ref`||e===`allOf`||e in n.def&&JSON.stringify(i[e])===JSON.stringify(n.def[e])&&delete i[e]}let s=t._zod.parent;if(s&&s!==o){r(s);let t=e.seen.get(s);if(t?.schema.$ref&&(i.$ref=t.schema.$ref,t.def))for(let e in i)e===`$ref`||e===`allOf`||e in t.def&&JSON.stringify(i[e])===JSON.stringify(t.def[e])&&delete i[e]}e.override({zodSchema:t,jsonSchema:i,path:n.path??[]})};for(let t of[...e.seen.entries()].reverse())r(t[0]);let i={};if(e.target===`draft-2020-12`?i.$schema=`https://json-schema.org/draft/2020-12/schema`:e.target===`draft-07`?i.$schema=`http://json-schema.org/draft-07/schema#`:e.target===`draft-04`?i.$schema=`http://json-schema.org/draft-04/schema#`:e.target,e.external?.uri){let n=e.external.registry.get(t)?.id;if(!n)throw Error("Schema is missing an `id` property");i.$id=e.external.uri(n)}Object.assign(i,n.def??n.schema);let a=e.metadataRegistry.get(t)?.id;a!==void 0&&i.id===a&&delete i.id;let o=e.external?.defs??{};for(let t of e.seen.entries()){let e=t[1];e.def&&e.defId&&(e.def.id===e.defId&&delete e.def.id,o[e.defId]=e.def)}e.external||Object.keys(o).length>0&&(e.target===`draft-2020-12`?i.$defs=o:i.definitions=o);try{let n=JSON.parse(JSON.stringify(i));return Object.defineProperty(n,"~standard",{value:{...t[`~standard`],jsonSchema:{input:Kr(t,`input`,e.processors),output:Kr(t,`output`,e.processors)}},enumerable:!1,writable:!1}),n}catch{throw Error(`Error converting schema to JSON.`)}}function U(e,t){let n=t??{seen:new Set};if(n.seen.has(e))return!1;n.seen.add(e);let r=e._zod.def;if(r.type===`transform`)return!0;if(r.type===`array`)return U(r.element,n);if(r.type===`set`)return U(r.valueType,n);if(r.type===`lazy`)return U(r.getter(),n);if(r.type===`promise`||r.type===`optional`||r.type===`nonoptional`||r.type===`nullable`||r.type===`readonly`||r.type==="default"||r.type===`prefault`)return U(r.innerType,n);if(r.type===`intersection`)return U(r.left,n)||U(r.right,n);if(r.type===`record`||r.type===`map`)return U(r.keyType,n)||U(r.valueType,n);if(r.type===`pipe`)return e._zod.traits.has(`$ZodCodec`)?!0:U(r.in,n)||U(r.out,n);if(r.type===`object`){for(let e in r.shape)if(U(r.shape[e],n))return!0;return!1}if(r.type===`union`){for(let e of r.options)if(U(e,n))return!0;return!1}if(r.type===`tuple`){for(let e of r.items)if(U(e,n))return!0;return!!(r.rest&&U(r.rest,n))}return!1}var Gr=(e,t={})=>n=>{let r=Hr({...n,processors:t});return H(e,r),Ur(r,e),Wr(r,e)},Kr=(e,t,n={})=>r=>{let{libraryOptions:i,target:a}=r??{},o=Hr({...i??{},target:a,io:t,processors:n});return H(e,o),Ur(o,e),Wr(o,e)},qr={guid:`uuid`,url:`uri`,datetime:`date-time`,json_string:`json-string`,regex:``},Jr=(e,t,n,r)=>{let i=n;i.type=`string`;let{minimum:a,maximum:o,format:s,patterns:c,contentEncoding:l}=e._zod.bag;if(typeof a==`number`&&(i.minLength=a),typeof o==`number`&&(i.maxLength=o),s&&(i.format=qr[s]??s,i.format===``&&delete i.format,s===`time`&&delete i.format),l&&(i.contentEncoding=l),c&&c.size>0){let e=[...c];e.length===1?i.pattern=e[0].source:e.length>1&&(i.allOf=[...e.map(e=>({...t.target===`draft-07`||t.target===`draft-04`||t.target===`openapi-3.0`?{type:`string`}:{},pattern:e.source}))])}},Yr=(e,t,n,r)=>{let i=n,{minimum:a,maximum:o,format:s,multipleOf:c,exclusiveMaximum:l,exclusiveMinimum:u}=e._zod.bag;typeof s==`string`&&s.includes(`int`)?i.type=`integer`:i.type=`number`;let d=typeof u==`number`&&u>=(a??-1/0),f=typeof l==`number`&&l<=(o??1/0),p=t.target===`draft-04`||t.target===`openapi-3.0`;d?p?(i.minimum=u,i.exclusiveMinimum=!0):i.exclusiveMinimum=u:typeof a==`number`&&(i.minimum=a),f?p?(i.maximum=l,i.exclusiveMaximum=!0):i.exclusiveMaximum=l:typeof o==`number`&&(i.maximum=o),typeof c==`number`&&(i.multipleOf=c)},Xr=(e,t,n,r)=>{n.type=`boolean`},Zr=(e,t,n,r)=>{n.not={}},Qr=(e,t,n,r)=>{let i=e._zod.def,a=p(i.entries);a.every(e=>typeof e==`number`)&&(n.type=`number`),a.every(e=>typeof e==`string`)&&(n.type=`string`),n.enum=a},$r=(e,t,n,r)=>{let i=e._zod.def,a=[];for(let e of i.values)if(e===void 0){if(t.unrepresentable===`throw`)throw Error("Literal `undefined` cannot be represented in JSON Schema")}else if(typeof e==`bigint`){if(t.unrepresentable===`throw`)throw Error(`BigInt literals cannot be represented in JSON Schema`);a.push(Number(e))}else a.push(e);if(a.length!==0)if(a.length===1){let e=a[0];n.type=e===null?`null`:typeof e,t.target===`draft-04`||t.target===`openapi-3.0`?n.enum=[e]:n.const=e}else a.every(e=>typeof e==`number`)&&(n.type=`number`),a.every(e=>typeof e==`string`)&&(n.type=`string`),a.every(e=>typeof e==`boolean`)&&(n.type=`boolean`),a.every(e=>e===null)&&(n.type=`null`),n.enum=a},ei=(e,t,n,r)=>{if(t.unrepresentable===`throw`)throw Error(`Custom types cannot be represented in JSON Schema`)},ti=(e,t,n,r)=>{if(t.unrepresentable===`throw`)throw Error(`Transforms cannot be represented in JSON Schema`)},ni=(e,t,n,r)=>{let i=n,a=e._zod.def,{minimum:o,maximum:s}=e._zod.bag;typeof o==`number`&&(i.minItems=o),typeof s==`number`&&(i.maxItems=s),i.type=`array`,i.items=H(a.element,t,{...r,path:[...r.path,`items`]})},ri=(e,t,n,r)=>{let i=n,a=e._zod.def;i.type=`object`,i.properties={};let o=a.shape;for(let e in o)i.properties[e]=H(o[e],t,{...r,path:[...r.path,`properties`,e]});let s=new Set(Object.keys(o)),c=new Set([...s].filter(e=>{let n=a.shape[e]._zod;return t.io===`input`?n.optin===void 0:n.optout===void 0}));c.size>0&&(i.required=Array.from(c)),a.catchall?._zod.def.type===`never`?i.additionalProperties=!1:a.catchall?a.catchall&&(i.additionalProperties=H(a.catchall,t,{...r,path:[...r.path,`additionalProperties`]})):t.io===`output`&&(i.additionalProperties=!1)},ii=(e,t,n,r)=>{let i=e._zod.def,a=i.inclusive===!1,o=i.options.map((e,n)=>H(e,t,{...r,path:[...r.path,a?`oneOf`:`anyOf`,n]}));a?n.oneOf=o:n.anyOf=o},ai=(e,t,n,r)=>{let i=e._zod.def,a=H(i.left,t,{...r,path:[...r.path,`allOf`,0]}),o=H(i.right,t,{...r,path:[...r.path,`allOf`,1]}),s=e=>`allOf`in e&&Object.keys(e).length===1;n.allOf=[...s(a)?a.allOf:[a],...s(o)?o.allOf:[o]]},oi=(e,t,n,r)=>{let i=n,a=e._zod.def;i.type=`object`;let o=a.keyType,s=o._zod.bag?.patterns;if(a.mode===`loose`&&s&&s.size>0){let e=H(a.valueType,t,{...r,path:[...r.path,`patternProperties`,`*`]});i.patternProperties={};for(let t of s)i.patternProperties[t.source]=e}else (t.target===`draft-07`||t.target===`draft-2020-12`)&&(i.propertyNames=H(a.keyType,t,{...r,path:[...r.path,`propertyNames`]})),i.additionalProperties=H(a.valueType,t,{...r,path:[...r.path,`additionalProperties`]});let c=o._zod.values;if(c){let e=[...c].filter(e=>typeof e==`string`||typeof e==`number`);e.length>0&&(i.required=e)}},si=(e,t,n,r)=>{let i=e._zod.def,a=H(i.innerType,t,r),o=t.seen.get(e);t.target===`openapi-3.0`?(o.ref=i.innerType,n.nullable=!0):n.anyOf=[a,{type:`null`}]},ci=(e,t,n,r)=>{let i=e._zod.def;H(i.innerType,t,r);let a=t.seen.get(e);a.ref=i.innerType},li=(e,t,n,r)=>{let i=e._zod.def;H(i.innerType,t,r);let a=t.seen.get(e);a.ref=i.innerType,n.default=JSON.parse(JSON.stringify(i.defaultValue))},ui=(e,t,n,r)=>{let i=e._zod.def;H(i.innerType,t,r);let a=t.seen.get(e);a.ref=i.innerType,t.io===`input`&&(n._prefault=JSON.parse(JSON.stringify(i.defaultValue)))},di=(e,t,n,r)=>{let i=e._zod.def;H(i.innerType,t,r);let a=t.seen.get(e);a.ref=i.innerType;let o;try{o=i.catchValue(void 0)}catch{throw Error(`Dynamic catch values are not supported in JSON Schema`)}n.default=o},fi=(e,t,n,r)=>{let i=e._zod.def,a=i.in._zod.traits.has(`$ZodTransform`),o=t.io===`input`?a?i.out:i.in:i.out;H(o,t,r);let s=t.seen.get(e);s.ref=o},pi=(e,t,n,r)=>{let i=e._zod.def;H(i.innerType,t,r);let a=t.seen.get(e);a.ref=i.innerType,n.readOnly=!0},mi=(e,t,n,r)=>{let i=e._zod.def;H(i.innerType,t,r);let a=t.seen.get(e);a.ref=i.innerType},hi=c(`ZodISODateTime`,(e,t)=>{Lt.init(e,t),q.init(e,t)});function gi(e){return lr(hi,e)}var _i=c(`ZodISODate`,(e,t)=>{Rt.init(e,t),q.init(e,t)});function vi(e){return ur(_i,e)}var yi=c(`ZodISOTime`,(e,t)=>{zt.init(e,t),q.init(e,t)});function bi(e){return dr(yi,e)}var xi=c(`ZodISODuration`,(e,t)=>{Bt.init(e,t),q.init(e,t)});function Si(e){return fr(xi,e)}var W=c(`ZodError`,(e,t)=>{he.init(e,t),e.name=`ZodError`,Object.defineProperties(e,{format:{value:t=>_e(e,t)},flatten:{value:t=>ge(e,t)},addIssue:{value:t=>{e.issues.push(t),e.message=JSON.stringify(e.issues,m,2)}},addIssues:{value:t=>{e.issues.push(...t),e.message=JSON.stringify(e.issues,m,2)}},isEmpty:{get(){return e.issues.length===0}}})},{Parent:Error}),Ci=ve(W),wi=ye(W),Ti=be(W),Ei=L(W),Di=Ce(W),Oi=we(W),ki=Te(W),Ai=R(W),ji=Ee(W),Mi=De(W),Ni=Oe(W),Pi=ke(W),Fi=new WeakMap;function Ii(e,t,n){let r=Object.getPrototypeOf(e),i=Fi.get(r);if(i||(i=new Set,Fi.set(r,i)),!i.has(t)){i.add(t);for(let e in n){let t=n[e];Object.defineProperty(r,e,{configurable:!0,enumerable:!1,get(){let n=t.bind(this);return Object.defineProperty(this,e,{configurable:!0,writable:!0,enumerable:!0,value:n}),n},set(t){Object.defineProperty(this,e,{configurable:!0,writable:!0,enumerable:!0,value:t})}})}}}var G=c(`ZodType`,(e,t)=>(B.init(e,t),Object.assign(e[`~standard`],{jsonSchema:{input:Kr(e,`input`),output:Kr(e,`output`)}}),e.toJSONSchema=Gr(e,{}),e.def=t,e.type=t.type,Object.defineProperty(e,"_def",{value:t}),e.parse=(t,n)=>Ci(e,t,n,{callee:e.parse}),e.safeParse=(t,n)=>Ti(e,t,n),e.parseAsync=async(t,n)=>wi(e,t,n,{callee:e.parseAsync}),e.safeParseAsync=async(t,n)=>Ei(e,t,n),e.spa=e.safeParseAsync,e.encode=(t,n)=>Di(e,t,n),e.decode=(t,n)=>Oi(e,t,n),e.encodeAsync=async(t,n)=>ki(e,t,n),e.decodeAsync=async(t,n)=>Ai(e,t,n),e.safeEncode=(t,n)=>ji(e,t,n),e.safeDecode=(t,n)=>Mi(e,t,n),e.safeEncodeAsync=async(t,n)=>Ni(e,t,n),e.safeDecodeAsync=async(t,n)=>Pi(e,t,n),Ii(e,`ZodType`,{check(...e){let t=this.def;return this.clone(x(t,{checks:[...t.checks??[],...e.map(e=>typeof e==`function`?{_zod:{check:e,def:{check:`custom`},onattach:[]}}:e)]}),{parent:!0})},with(...e){return this.check(...e)},clone(e,t){return O(this,e,t)},brand(){return this},register(e,t){return e.add(this,t),this},refine(e,t){return this.check(qa(e,t))},superRefine(e,t){return this.check(Ja(e,t))},overwrite(e){return this.check(Mr(e))},optional(){return ka(this)},exactOptional(){return ja(this)},nullable(){return Na(this)},nullish(){return ka(Na(this))},nonoptional(e){return za(this,e)},array(){return ha(this)},or(e){return va([this,e])},and(e){return ba(this,e)},transform(e){return Ua(this,Da(e))},default(e){return Fa(this,e)},prefault(e){return La(this,e)},catch(e){return Va(this,e)},pipe(e){return Ua(this,e)},readonly(){return Ga(this)},describe(e){let t=this.clone();return zn.add(t,{description:e}),t},meta(...e){if(e.length===0)return zn.get(this);let t=this.clone();return zn.add(t,e[0]),t},isOptional(){return this.safeParse(void 0).success},isNullable(){return this.safeParse(null).success},apply(e){return e(this)}}),Object.defineProperty(e,"description",{get(){return zn.get(e)?.description},configurable:!0}),e)),Li=c(`_ZodString`,(e,t)=>{Tt.init(e,t),G.init(e,t),e._zod.processJSONSchema=(t,n,r)=>Jr(e,t,n,r);let n=e._zod.bag;e.format=n.format??null,e.minLength=n.minimum??null,e.maxLength=n.maximum??null,Ii(e,`_ZodString`,{regex(...e){return this.check(Er(...e))},includes(...e){return this.check(kr(...e))},startsWith(...e){return this.check(Ar(...e))},endsWith(...e){return this.check(jr(...e))},min(...e){return this.check(wr(...e))},max(...e){return this.check(Cr(...e))},length(...e){return this.check(Tr(...e))},nonempty(...e){return this.check(wr(1,...e))},lowercase(e){return this.check(Dr(e))},uppercase(e){return this.check(Or(e))},trim(){return this.check(Pr())},normalize(...e){return this.check(Nr(...e))},toLowerCase(){return this.check(Fr())},toUpperCase(){return this.check(Ir())},slugify(){return this.check(Lr())}})}),Ri=c(`ZodString`,(e,t)=>{Tt.init(e,t),Li.init(e,t),e.email=t=>e.check(Vn(zi,t)),e.url=t=>e.check(qn(Hi,t)),e.jwt=t=>e.check(cr(ra,t)),e.emoji=t=>e.check(Jn(Ui,t)),e.guid=t=>e.check(Hn(Bi,t)),e.uuid=t=>e.check(Un(Vi,t)),e.uuidv4=t=>e.check(Wn(Vi,t)),e.uuidv6=t=>e.check(Gn(Vi,t)),e.uuidv7=t=>e.check(Kn(Vi,t)),e.nanoid=t=>e.check(Yn(Wi,t)),e.guid=t=>e.check(Hn(Bi,t)),e.cuid=t=>e.check(Xn(Gi,t)),e.cuid2=t=>e.check(Zn(Ki,t)),e.ulid=t=>e.check(Qn(qi,t)),e.base64=t=>e.check(ar(ea,t)),e.base64url=t=>e.check(or(ta,t)),e.xid=t=>e.check($n(Ji,t)),e.ksuid=t=>e.check(er(Yi,t)),e.ipv4=t=>e.check(tr(Xi,t)),e.ipv6=t=>e.check(nr(Zi,t)),e.cidrv4=t=>e.check(rr(Qi,t)),e.cidrv6=t=>e.check(ir($i,t)),e.e164=t=>e.check(sr(na,t)),e.datetime=t=>e.check(gi(t)),e.date=t=>e.check(vi(t)),e.time=t=>e.check(bi(t)),e.duration=t=>e.check(Si(t))});function K(e){return Bn(Ri,e)}var q=c(`ZodStringFormat`,(e,t)=>{V.init(e,t),Li.init(e,t)}),zi=c(`ZodEmail`,(e,t)=>{Ot.init(e,t),q.init(e,t)}),Bi=c(`ZodGUID`,(e,t)=>{Et.init(e,t),q.init(e,t)}),Vi=c(`ZodUUID`,(e,t)=>{Dt.init(e,t),q.init(e,t)}),Hi=c(`ZodURL`,(e,t)=>{kt.init(e,t),q.init(e,t)}),Ui=c(`ZodEmoji`,(e,t)=>{At.init(e,t),q.init(e,t)}),Wi=c(`ZodNanoID`,(e,t)=>{jt.init(e,t),q.init(e,t)}),Gi=c(`ZodCUID`,(e,t)=>{Mt.init(e,t),q.init(e,t)}),Ki=c(`ZodCUID2`,(e,t)=>{Nt.init(e,t),q.init(e,t)}),qi=c(`ZodULID`,(e,t)=>{Pt.init(e,t),q.init(e,t)}),Ji=c(`ZodXID`,(e,t)=>{Ft.init(e,t),q.init(e,t)}),Yi=c(`ZodKSUID`,(e,t)=>{It.init(e,t),q.init(e,t)}),Xi=c(`ZodIPv4`,(e,t)=>{Vt.init(e,t),q.init(e,t)}),Zi=c(`ZodIPv6`,(e,t)=>{Ht.init(e,t),q.init(e,t)}),Qi=c(`ZodCIDRv4`,(e,t)=>{Ut.init(e,t),q.init(e,t)}),$i=c(`ZodCIDRv6`,(e,t)=>{Wt.init(e,t),q.init(e,t)}),ea=c(`ZodBase64`,(e,t)=>{Kt.init(e,t),q.init(e,t)}),ta=c(`ZodBase64URL`,(e,t)=>{Jt.init(e,t),q.init(e,t)}),na=c(`ZodE164`,(e,t)=>{Yt.init(e,t),q.init(e,t)}),ra=c(`ZodJWT`,(e,t)=>{Zt.init(e,t),q.init(e,t)}),ia=c(`ZodNumber`,(e,t)=>{Qt.init(e,t),G.init(e,t),e._zod.processJSONSchema=(t,n,r)=>Yr(e,t,n,r),Ii(e,`ZodNumber`,{gt(e,t){return this.check(br(e,t))},gte(e,t){return this.check(xr(e,t))},min(e,t){return this.check(xr(e,t))},lt(e,t){return this.check(vr(e,t))},lte(e,t){return this.check(yr(e,t))},max(e,t){return this.check(yr(e,t))},int(e){return this.check(sa(e))},safe(e){return this.check(sa(e))},positive(e){return this.check(br(0,e))},nonnegative(e){return this.check(xr(0,e))},negative(e){return this.check(vr(0,e))},nonpositive(e){return this.check(yr(0,e))},multipleOf(e,t){return this.check(Sr(e,t))},step(e,t){return this.check(Sr(e,t))},finite(){return this}});let n=e._zod.bag;e.minValue=Math.max(n.minimum??-1/0,n.exclusiveMinimum??-1/0)??null,e.maxValue=Math.min(n.maximum??1/0,n.exclusiveMaximum??1/0)??null,e.isInt=(n.format??``).includes(`int`)||Number.isSafeInteger(n.multipleOf??.5),e.isFinite=!0,e.format=n.format??null});function aa(e){return pr(ia,e)}var oa=c(`ZodNumberFormat`,(e,t)=>{$t.init(e,t),ia.init(e,t)});function sa(e){return mr(oa,e)}var ca=c(`ZodBoolean`,(e,t)=>{en.init(e,t),G.init(e,t),e._zod.processJSONSchema=(t,n,r)=>Xr(e,t,n,r)});function la(e){return hr(ca,e)}var ua=c(`ZodUnknown`,(e,t)=>{tn.init(e,t),G.init(e,t),e._zod.processJSONSchema=(e,t,n)=>void 0});function da(){return gr(ua)}var fa=c(`ZodNever`,(e,t)=>{nn.init(e,t),G.init(e,t),e._zod.processJSONSchema=(t,n,r)=>Zr(e,t,n,r)});function pa(e){return _r(fa,e)}var ma=c(`ZodArray`,(e,t)=>{an.init(e,t),G.init(e,t),e._zod.processJSONSchema=(t,n,r)=>ni(e,t,n,r),e.element=t.element,Ii(e,`ZodArray`,{min(e,t){return this.check(wr(e,t))},nonempty(e){return this.check(wr(1,e))},max(e,t){return this.check(Cr(e,t))},length(e,t){return this.check(Tr(e,t))},unwrap(){return this.element}})});function ha(e,t){return Rr(ma,e,t)}var ga=c(`ZodObject`,(e,t)=>{un.init(e,t),G.init(e,t),e._zod.processJSONSchema=(t,n,r)=>ri(e,t,n,r),y(e,`shape`,()=>t.shape),Ii(e,`ZodObject`,{keyof(){return Y(Object.keys(this._zod.def.shape))},catchall(e){return this.clone({...this._zod.def,catchall:e})},passthrough(){return this.clone({...this._zod.def,catchall:da()})},loose(){return this.clone({...this._zod.def,catchall:da()})},strict(){return this.clone({...this._zod.def,catchall:pa()})},strip(){return this.clone({...this._zod.def,catchall:void 0})},extend(e){return ce(this,e)},safeExtend(e){return le(this,e)},merge(e){return ue(this,e)},pick(e){return oe(this,e)},omit(e){return se(this,e)},partial(...e){return A(Oa,this,e[0])},required(...e){return de(Ra,this,e[0])}})});function J(e,t){return new ga({type:`object`,shape:e??{},...k(t)})}var _a=c(`ZodUnion`,(e,t)=>{fn.init(e,t),G.init(e,t),e._zod.processJSONSchema=(t,n,r)=>ii(e,t,n,r),e.options=t.options});function va(e,t){return new _a({type:`union`,options:e,...k(t)})}var ya=c(`ZodIntersection`,(e,t)=>{pn.init(e,t),G.init(e,t),e._zod.processJSONSchema=(t,n,r)=>ai(e,t,n,r)});function ba(e,t){return new ya({type:`intersection`,left:e,right:t})}var xa=c(`ZodRecord`,(e,t)=>{gn.init(e,t),G.init(e,t),e._zod.processJSONSchema=(t,n,r)=>oi(e,t,n,r),e.keyType=t.keyType,e.valueType=t.valueType});function Sa(e,t,n){return!t||!t._zod?new xa({type:`record`,keyType:K(),valueType:e,...k(t)}):new xa({type:`record`,keyType:e,valueType:t,...k(n)})}var Ca=c(`ZodEnum`,(e,t)=>{_n.init(e,t),G.init(e,t),e._zod.processJSONSchema=(t,n,r)=>Qr(e,t,n,r),e.enum=t.entries,e.options=Object.values(t.entries);let n=new Set(Object.keys(t.entries));e.extract=(e,r)=>{let i={};for(let r of e)if(n.has(r))i[r]=t.entries[r];else throw Error(`Key ${r} not found in enum`);return new Ca({...t,checks:[],...k(r),entries:i})},e.exclude=(e,r)=>{let i={...t.entries};for(let t of e)if(n.has(t))delete i[t];else throw Error(`Key ${t} not found in enum`);return new Ca({...t,checks:[],...k(r),entries:i})}});function Y(e,t){return new Ca({type:`enum`,entries:Array.isArray(e)?Object.fromEntries(e.map(e=>[e,e])):e,...k(t)})}var wa=c(`ZodLiteral`,(e,t)=>{vn.init(e,t),G.init(e,t),e._zod.processJSONSchema=(t,n,r)=>$r(e,t,n,r),e.values=new Set(t.values),Object.defineProperty(e,"value",{get(){if(t.values.length>1)throw Error("This schema contains multiple valid literal values. Use `.values` instead.");return t.values[0]}})});function Ta(e,t){return new wa({type:`literal`,values:Array.isArray(e)?e:[e],...k(t)})}var Ea=c(`ZodTransform`,(e,t)=>{yn.init(e,t),G.init(e,t),e._zod.processJSONSchema=(t,n,r)=>ti(e,t,n,r),e._zod.parse=(n,r)=>{if(r.direction===`backward`)throw new u(e.constructor.name);n.addIssue=r=>{if(typeof r==`string`)n.issues.push(F(r,n.value,t));else{let t=r;t.fatal&&(t.continue=!1),t.code??=`custom`,t.input??=n.value,t.inst??=e,n.issues.push(F(t))}};let i=t.transform(n.value,n);return i instanceof Promise?i.then(e=>(n.value=e,n.fallback=!0,n)):(n.value=i,n.fallback=!0,n)}});function Da(e){return new Ea({type:`transform`,transform:e})}var Oa=c(`ZodOptional`,(e,t)=>{xn.init(e,t),G.init(e,t),e._zod.processJSONSchema=(t,n,r)=>mi(e,t,n,r),e.unwrap=()=>e._zod.def.innerType});function ka(e){return new Oa({type:`optional`,innerType:e})}var Aa=c(`ZodExactOptional`,(e,t)=>{Sn.init(e,t),G.init(e,t),e._zod.processJSONSchema=(t,n,r)=>mi(e,t,n,r),e.unwrap=()=>e._zod.def.innerType});function ja(e){return new Aa({type:`optional`,innerType:e})}var Ma=c(`ZodNullable`,(e,t)=>{Cn.init(e,t),G.init(e,t),e._zod.processJSONSchema=(t,n,r)=>si(e,t,n,r),e.unwrap=()=>e._zod.def.innerType});function Na(e){return new Ma({type:`nullable`,innerType:e})}var Pa=c(`ZodDefault`,(e,t)=>{wn.init(e,t),G.init(e,t),e._zod.processJSONSchema=(t,n,r)=>li(e,t,n,r),e.unwrap=()=>e._zod.def.innerType,e.removeDefault=e.unwrap});function Fa(e,t){return new Pa({type:`default`,innerType:e,get defaultValue(){return typeof t==`function`?t():ne(t)}})}var Ia=c(`ZodPrefault`,(e,t)=>{En.init(e,t),G.init(e,t),e._zod.processJSONSchema=(t,n,r)=>ui(e,t,n,r),e.unwrap=()=>e._zod.def.innerType});function La(e,t){return new Ia({type:`prefault`,innerType:e,get defaultValue(){return typeof t==`function`?t():ne(t)}})}var Ra=c(`ZodNonOptional`,(e,t)=>{Dn.init(e,t),G.init(e,t),e._zod.processJSONSchema=(t,n,r)=>ci(e,t,n,r),e.unwrap=()=>e._zod.def.innerType});function za(e,t){return new Ra({type:`nonoptional`,innerType:e,...k(t)})}var Ba=c(`ZodCatch`,(e,t)=>{kn.init(e,t),G.init(e,t),e._zod.processJSONSchema=(t,n,r)=>di(e,t,n,r),e.unwrap=()=>e._zod.def.innerType,e.removeCatch=e.unwrap});function Va(e,t){return new Ba({type:`catch`,innerType:e,catchValue:typeof t==`function`?t:()=>t})}var Ha=c(`ZodPipe`,(e,t)=>{An.init(e,t),G.init(e,t),e._zod.processJSONSchema=(t,n,r)=>fi(e,t,n,r),e.in=t.in,e.out=t.out});function Ua(e,t){return new Ha({type:`pipe`,in:e,out:t})}var Wa=c(`ZodReadonly`,(e,t)=>{Mn.init(e,t),G.init(e,t),e._zod.processJSONSchema=(t,n,r)=>pi(e,t,n,r),e.unwrap=()=>e._zod.def.innerType});function Ga(e){return new Wa({type:`readonly`,innerType:e})}var Ka=c(`ZodCustom`,(e,t)=>{Pn.init(e,t),G.init(e,t),e._zod.processJSONSchema=(t,n,r)=>ei(e,t,n,r)});function qa(e,t={}){return zr(Ka,e,t)}function Ja(e,t){return Br(e,t)}var Ya=J({visible:la().optional(),style:Y([`icon`,`text`]).optional(),label:K().nullable().optional(),position:K().optional()}).nullable().optional(),Xa=J({returnUrl:K().optional(),navigateOnClose:la().optional()}).optional(),Za=J({label:K().min(1).max(80).optional(),ariaLabel:K().min(1).max(120).optional(),placement:Y([`center`,`bottom-center`,`bottom-left`,`bottom-right`]).optional(),variant:Y([`primary`,`secondary`,`minimal`]).optional(),appearance:J({backgroundColor:K().min(1).max(64).optional(),textColor:K().min(1).max(64).optional(),borderColor:K().min(1).max(64).optional(),borderRadiusPx:aa().min(0).max(999).optional(),size:Y([`small`,`medium`,`large`]).optional(),shadow:Y([`none`,`soft`,`strong`]).optional()}).optional()}),Qa=J({characterId:K().min(1),displayName:K().min(1),avatarId:K().min(1),voiceId:K().min(1),sttLang:K().min(1),agentId:K().min(1),appearance:J({costume:K().optional(),costumeClothes:K().optional(),hair:K().optional()}).optional()}),$a=J({cx:aa(),cy:aa(),scale:aa(),distanceM:aa()}),eo=J({type:Ta(`image`),layers:ha(K()),assets:Sa(K(),Sa(K(),K()))}),to=Y([`browser`,`cloud`]),no=J({placement:to,provider:K().min(1),model:K().min(1).optional(),config:Sa(K(),da()).default({})}),ro=J({stt:no,llm:no,tts:no,animation:J({enabled:la(),placement:to.optional(),source:Y([`azureViseme`,`speechToAnimation`,`none`]),provider:K().min(1).optional(),model:K().min(1).optional(),config:Sa(K(),da()).default({})})}),io=J({schemaVersion:Ta(1),sessionId:K().min(1),experienceId:K().min(1),expiresAt:K().min(1),sessionToken:K().min(1),experience:J({title:K(),slug:K(),mode:Y([`conversation`,`presenter`]),responseMode:Y([`managed`,`custom`,`manual`]),speechInputMode:Y([`auto`,`manual`,`off`]),startButton:Za.optional(),openingMessage:K().optional()}),transport:J({type:Ta(`http`),config:J({apiBaseUrl:K().min(1)})}),runtime:J({cdnBaseUrl:K().min(1),input:Ta(`browserStt`),renderer:Ta(`morph2d`)}),pipeline:ro.optional(),capabilities:ha(K()),characters:ha(Qa).min(1),activeCharacterId:K().min(1),location:J({locationId:K(),title:K(),scene:eo.optional(),placement:$a.optional(),metersPerDepth:aa().positive().optional(),hasZoomVariant:la().optional()}).optional(),world:J({worldId:K(),rulesetVersion:aa()}).optional(),state:J({schemaVersion:Ta(1),values:Sa(K(),da())}),tools:ha(da()),integration:Xa,closeButton:Ya,billing:J({payer:Ta(`creator`),meterId:K()}).optional(),language:Y([`en`,`es`]).optional(),languagePackRevision:K().optional(),processorId:K().optional()}).superRefine((e,t)=>{let n=e.activeCharacterId;e.characters.some(e=>e.characterId===n)||t.addIssue({code:`custom`,message:`activeCharacterId must reference a character in characters[]`,path:[`activeCharacterId`]})});function ao(e){if(!e||typeof e!=`object`)return e;let t={...e},n=t.experience;if(!n||typeof n!=`object`)return t;let r={...n},i=r.mode===`presenter`?`presenter`:`conversation`;return r.responseMode===void 0&&(r.responseMode=i===`presenter`?`manual`:`managed`),r.speechInputMode===void 0&&(r.speechInputMode=i===`presenter`?`manual`:`auto`),t.experience=r,t}function oo(e){return e.issues.map(e=>`${e.path.length>0?e.path.join(`.`):`(root)`}: ${e.message}`).join(`; `)}function so(e){let t=io.safeParse(ao(e));if(!t.success)throw Error(`Invalid Session Manifest from Liforma API — ${oo(t.error)}`);return t.data}function co(e){return e.sessionToken.trim().length>0}function lo(){try{if(typeof globalThis.location?.origin==`string`&&globalThis.location.origin)return globalThis.location.origin}catch{}}function uo(e,t,n){let r;try{r=JSON.parse(n)}catch{}let i=lo(),a=r?.message?.trim(),o=r?.code;if(o===`origin_not_allowed`||/^Origin not allowed/i.test(a??``)&&i){if(a&&a.includes(e)&&a.includes(`allowed origin`))return a;let t=r?.origin??i??`(unknown origin)`;return`Your origin ${t} is not an allowed origin for experience ${e}. If you own this experience, sign in to the Liforma developer portal (app.liforma.ai), open Workspace → Settings → Origins, add ${t} to the list of allowed origins, and ensure “Allow public client-only embeds” is enabled.`}return o===`browser_embeds_disabled`||/^Browser embeds are not enabled/i.test(a??``)?a&&a.includes(`Allow public client-only embeds`)?a:`Browser embeds are not enabled for experience ${e}. If you own this experience, sign in to the Liforma developer portal (app.liforma.ai), open Workspace → Settings → Origins, and enable “Allow public client-only embeds”.`:o===`experience_unavailable`||/^Experience is not available\.?$/i.test(a??``)||/^Unknown experience\.?$/i.test(a??``)?a&&a.includes(`No playable experience found`)?a:`No playable experience found for “${e}”. Check that the experience id is correct (it should look like exp_…), and that the experience exists and is published in the Liforma developer portal (app.liforma.ai). Deleted, archived, and unpublished experiences cannot be started from a browser embed.`:a||n.trim().slice(0,500)||`Public session mint failed (${t})`}async function fo(e,t){let n=a(),r={experienceId:e};t?.language&&(r.language=t.language),t?.mode&&(r.mode=t.mode),t?.responseMode&&(r.responseMode=t.responseMode),t?.speechInputMode&&(r.speechInputMode=t.speechInputMode),t?.startButton&&(r.startButton=t.startButton),t?.speechOnly!==void 0&&(r.speechOnly=t.speechOnly);let i=await fetch(`${n}/v1/public-sessions`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify(r)});if(!i.ok){let t=await i.text();throw Error(uo(e,i.status,t))}let o;try{o=await i.json()}catch{throw Error(`Public session mint returned invalid JSON.`)}return so(o)}async function po(e,t){let n=o(e,t),r=new AbortController,i=()=>r.abort(t.signal?.reason);t.signal?.aborted?i():t.signal?.addEventListener(`abort`,i,{once:!0});let a=globalThis.setTimeout(()=>r.abort(new DOMException(`Session endpoint timed out.`,`TimeoutError`)),t.timeoutMs??3e4),s;try{s=await fetch(n.url,{...n.init,signal:r.signal})}finally{globalThis.clearTimeout(a),t.signal?.removeEventListener(`abort`,i)}if(!s.ok){let e=await s.text(),t=e.slice(0,500)||`Session endpoint failed (${s.status})`;try{let n=JSON.parse(e);n.message&&(t=n.message)}catch{}throw Error(t)}if(!s.headers.get(`content-type`)?.toLowerCase().includes(`application/json`))throw Error(`Session endpoint must return a JSON Session Manifest.`);let c;try{c=await s.json()}catch{throw Error(`Session endpoint returned invalid JSON.`)}return so(c)}function mo(e){return typeof e!=`object`||!e?!1:typeof e[Symbol.asyncIterator]==`function`}function ho(e){if(typeof e==`string`){let t=e.trim();if(!t)throw Error(`conversationProcessor returned empty text.`);return{text:t}}let t=e.text.trim();if(!t)throw Error(`conversationProcessor returned empty text.`);return{text:t,...e.characterId?{characterId:e.characterId}:{},...e.behavior?{behavior:e.behavior}:{}}}async function go(e,t){let n=await e(t);return mo(n)?{kind:`stream`,stream:n}:{kind:`complete`,speech:ho(n)}}var _o=`3002`;function vo(e){let t=new URL(e);return t.hostname===`localhost`||t.hostname===`127.0.0.1`?`Cannot connect to the Liforma player at ${e} — nothing is listening on port ${t.port||_o}. Start the player dev server in player.liforma.ai (npm run dev).`:`Cannot connect to the Liforma player at ${e}. The embed did not load; check your network connection and player URL configuration.`}async function yo(e,t){try{await fetch(e,{method:`GET`,mode:`no-cors`,signal:AbortSignal.timeout(8e3)})}catch{throw Error(vo(t))}}function bo(e,t,n,r){try{r&&r.length>0?e.postMessage(t,n,r):e.postMessage(t,n)}catch(e){throw e instanceof DOMException&&e.name===`SecurityError`?Error(vo(n),{cause:e}):e}}var xo=new Set([1,2]);function So(e){return typeof e==`number`&&xo.has(e)}var Co=new Set([`close`,`stateUpdate`,`commandResult`,`userTranscript`,`characterSpeechStarted`,`characterSpeechEnded`,`conversationUpdate`,`listeningState`,`userSpeechStarted`,`userSpeechEnded`,`modeChange`,`message`,`started`,`widgetReady`,`widgetExpand`,`widgetCollapse`,`widgetAudioSettings`]);function wo(e){if(!e||typeof e!=`object`)return null;let t=e;if(!So(t.schemaVersion)||!t.type||!Co.has(t.type))return null;if(t.type===`widgetReady`||t.type===`widgetExpand`||t.type===`widgetCollapse`)return t;if(t.type===`widgetAudioSettings`){let e=t.payload;return!e||typeof e!=`object`||typeof e.open!=`boolean`?null:t}return!t.payload||typeof t.payload!=`object`?null:t}function To(e){return{type:`manifest`,schemaVersion:2,payload:{manifest:e}}}function Eo(){return{type:`parentHello`,schemaVersion:2}}function Do(e){return{type:`widgetSetChrome`,schemaVersion:2,payload:{mode:e}}}function Oo(){return{type:`widgetToggleAudioSettings`,schemaVersion:2,payload:{}}}function X(){return typeof crypto<`u`&&typeof crypto.randomUUID==`function`?`cmd_${crypto.randomUUID().replace(/-/g,``).slice(0,12)}`:`cmd_${Date.now().toString(36)}${Math.random().toString(36).slice(2,8)}`}var ko=3e4;function Ao(e){let t=e.container;getComputedStyle(t).position===`static`&&(t.style.position=`relative`);let n=document.createElement(`iframe`);n.src=e.src,n.title=`Liforma experience`,n.setAttribute(`allow`,`microphone; autoplay; clipboard-read; clipboard-write`),n.style.cssText=e.transparent?`display:block;position:absolute;inset:0;width:100%;height:100%;border:0;background:transparent;`:`display:block;position:absolute;inset:0;width:100%;height:100%;border:0;background:#030508;`,e.transparent&&n.setAttribute(`allowtransparency`,`true`);let r=!1,i=new Map,a=new Promise((t,r)=>{let i=()=>{o(),yo(e.src,e.playerOrigin).then(t,r)},a=()=>{o(),r(Error(vo(e.playerOrigin)))},o=()=>{n.removeEventListener(`load`,i),n.removeEventListener(`error`,a)};n.addEventListener(`load`,i),n.addEventListener(`error`,a)}),o=t=>{if(r||t.source!==n.contentWindow||t.origin!==e.playerOrigin)return;let a=wo(t.data);if(a)switch(a.type){case`close`:e.onClose?.(a.payload);break;case`stateUpdate`:e.onStateUpdate?.(a.payload.state);break;case`commandResult`:{let e=i.get(a.payload.correlationId);if(!e)return;i.delete(a.payload.correlationId),a.payload.ok?e.resolve(a.payload.result):e.reject(Error(a.payload.error??`Command failed.`));break}case`userTranscript`:e.onUserTranscript?.(a.payload);break;case`characterSpeechStarted`:e.onCharacterSpeechStarted?.(a.payload);break;case`characterSpeechEnded`:e.onCharacterSpeechEnded?.(a.payload);break;case`conversationUpdate`:e.onConversationUpdate?.(a.payload.conversation);break;case`listeningState`:e.onListeningState?.(a.payload.listening);break;case`userSpeechStarted`:e.onUserSpeechStarted?.(a.payload);break;case`userSpeechEnded`:e.onUserSpeechEnded?.(a.payload);break;case`modeChange`:e.onModeChange?.(a.payload.mode);break;case`message`:e.onMessage?.(a.payload);break;case`started`:e.onStarted?.(a.payload);break;case`widgetReady`:e.onWidgetReady?.();break;case`widgetExpand`:e.onWidgetExpand?.();break;case`widgetCollapse`:e.onWidgetCollapse?.();break;case`widgetAudioSettings`:e.onWidgetAudioSettings?.(a.payload.open);break}};if(window.addEventListener(`message`,o),t.replaceChildren(n),t.clientHeight<2&&!t.style.minHeight){let e=getComputedStyle(t).minHeight;(e===`0px`||e===`auto`)&&(t.style.minHeight=`480px`)}let s=(t,i)=>{if(r)return;let a=n.contentWindow;if(!a)throw Error(vo(e.playerOrigin));bo(a,t,e.playerOrigin,i)},c=(e,t=12e4,n)=>{let r=e.type!==`parentHello`&&e.payload&&`correlationId`in e.payload?e.payload.correlationId:X();return e.type!==`parentHello`&&e.payload&&`correlationId`in e.payload||e.type!==`parentHello`&&e.payload&&(e.payload.correlationId=r),new Promise((a,o)=>{i.set(r,{resolve:e=>a(e),reject:o}),s(e,n),setTimeout(()=>{i.has(r)&&(i.delete(r),o(Error(`Timed out waiting for player command result.`)))},t)})};return{waitForLoad(){return a},postParentHello(){s(Eo())},postManifest(t){if(r)return;let i=n.contentWindow;if(!i)throw Error(`Liforma embed iframe is not ready.`);let a=To(t),o=()=>{r||bo(i,a,e.playerOrigin)};o();for(let e=1;e<=12;e+=1)window.setTimeout(o,e*75)},postWidgetSetChrome(e){s(Do(e))},postWidgetToggleAudioSettings(){s(Oo())},speak(e){return c({type:`speak`,schemaVersion:2,payload:{correlationId:X(),text:e.text,...e.characterId?{characterId:e.characterId}:{},...e.behavior?{behavior:e.behavior}:{}}})},startListening(){return c({type:`startListening`,schemaVersion:2,payload:{correlationId:X()}})},stopListening(){return c({type:`stopListening`,schemaVersion:2,payload:{correlationId:X()}})},listenOnce(e){return c({type:`listenOnce`,schemaVersion:2,payload:{correlationId:X(),...e?.timeoutMs===void 0?{}:{timeoutMs:e.timeoutMs}}})},async speakProcessorStream(e,t){let n=X(),r=X(),i=(await c({type:`speakStreamStart`,schemaVersion:2,payload:{correlationId:n,...t?.characterId?{characterId:t.characterId}:{},...t?.behavior?{behavior:t.behavior}:{}}})).streamId;try{for await(let n of e){if(t?.signal?.aborted)throw new DOMException(`Processor stream aborted.`,`AbortError`);n&&s({type:`speakStreamChunk`,schemaVersion:2,payload:{streamId:i,text:n}})}if(t?.signal?.aborted)throw new DOMException(`Processor stream aborted.`,`AbortError`);return await c({type:`speakStreamEnd`,schemaVersion:2,payload:{correlationId:r,streamId:i}})}catch(e){try{await c({type:`speakStreamEnd`,schemaVersion:2,payload:{correlationId:r,streamId:i}})}catch{}throw e}},speechPlay(e){let t=X(),n=[];return(e.source.kind===`pcm`||e.source.kind===`encoded`)&&n.push(e.source.data),c({type:`speechPlay`,schemaVersion:2,payload:{correlationId:t,source:e.source,...e.characterId?{characterId:e.characterId}:{},...e.transcript===void 0?{}:{transcript:e.transcript},...e.history?{history:e.history}:{},...e.queue?{queue:e.queue}:{}}},12e4,n)},speechUtteranceBegin(e){return c({type:`speechUtteranceBegin`,schemaVersion:2,payload:{correlationId:X(),utteranceId:e.utteranceId,format:e.format,queue:e.queue,...e.characterId?{characterId:e.characterId}:{}}})},speechUtteranceWrite(e){return c({type:`speechUtteranceWrite`,schemaVersion:2,payload:{correlationId:X(),utteranceId:e.utteranceId,audio:e.audio,byteLength:e.byteLength}},ko,[e.audio])},speechUtteranceClose(e){return c({type:`speechUtteranceClose`,schemaVersion:2,payload:{correlationId:X(),utteranceId:e.utteranceId,...e.transcript===void 0?{}:{transcript:e.transcript},...e.history?{history:e.history}:{}}})},speechUtteranceCancel(e){return c({type:`speechUtteranceCancel`,schemaVersion:2,payload:{correlationId:X(),utteranceId:e.utteranceId}})},speechInterrupt(e){return c({type:`speechInterrupt`,schemaVersion:2,payload:{correlationId:X(),...e}})},getConversation(){return c({type:`getConversation`,schemaVersion:2,payload:{correlationId:X()}})},destroy(){if(!r){r=!0;for(let e of i.values())e.reject(Error(`Iframe host destroyed.`));i.clear(),window.removeEventListener(`message`,o),n.remove()}}}}function jo(e){let t,n=!1,r=!1,i=()=>{r||!n||t===void 0||(r=!0,e(t))};return{setValue(e){t=e,i()},markReady(){n=!0,i()}}}var Mo=`https://player.liforma.ai/embed`,No=`http://localhost:3002/embed`;function Po(){let e=globalThis.__LIFORMA_PLAYER_EMBED_URL;if(e?.trim())return e.trim().replace(/\/$/,``);if(typeof document>`u`)return null;let t=(document.querySelector(`script[data-liforma-sdk][src*="client.js"]`)??document.querySelector(`script[src*="/sdk/v2/client.js"]`))?.getAttribute(`data-player-embed-url`)?.trim();return t?t.replace(/\/$/,``):null}function Fo(){let e=Po();return e?e.endsWith(`/embed`)?e:`${e}/embed`:t()?No:Mo}function Io(e,t,n,r,i,a,o){let s=(e??Fo()).replace(/\/$/,``),c=s.endsWith(`/embed`)?s:`${s}/embed`,l=new URL(c),u=n?.trim();u&&l.searchParams.set(`locationId`,u);let d=r?.trim();return d&&l.searchParams.set(`avatarId`,d),i===`face`&&l.searchParams.set(`fit`,`face`),a===`widget`&&l.searchParams.set(`ui`,`widget`),o&&l.searchParams.set(`close`,`1`),t&&l.searchParams.set(`debug`,`true`),Lo(l.toString())}function Lo(e){if(typeof location>`u`)return e;let t=new URL(e);return t.searchParams.set(`parentOrigin`,location.origin),t.toString()}function Ro(e){return new URL(e).origin}function zo(e){let t=e.filter(e=>e!==`avatar`);return t.includes(`voice`)?t:[`voice`,...t]}function Bo(e){return so({...e,capabilities:zo(e.capabilities),pipeline:{...e.pipeline,animation:{enabled:!1,source:`none`,config:{}}},location:{locationId:e.location?.locationId?.trim()||`speech-only`,title:e.location?.title?.trim()||``}})}function Vo(){return{ready:new Set,started:new Set,userTranscript:new Set,userSpeechStarted:new Set,userSpeechEnded:new Set,characterSpeechStarted:new Set,characterSpeechEnded:new Set,conversationUpdate:new Set,message:new Set,listeningState:new Set,modeChange:new Set,conversationProcessorError:new Set}}function Ho(e,t,n){return e[t].add(n),()=>e[t].delete(n)}function Z(e,t,n){for(let r of e[t])r(n)}function Uo(e){for(let t of Object.keys(e))e[t].clear()}function Wo(e){return`data`in e&&`format`in e&&e.format!=null&&!(`track`in e)}function Go(e){return`url`in e&&typeof e.url==`string`}function Ko(e){if(!(`track`in e))return!1;let t=e.track;return typeof t!=`object`||!t?!1:typeof MediaStreamTrack<`u`&&t instanceof MediaStreamTrack?!0:`kind`in t&&`readyState`in t}function qo(e){return!Wo(e)&&!Go(e)&&!Ko(e)&&`encoding`in e&&typeof e.encoding==`string`}var Jo=[8e3,16e3,22050,24e3,44100,48e3],Yo={MAX_CHUNK_BYTES:64*1024,RECOMMENDED_CHUNK_MS_MIN:20,RECOMMENDED_CHUNK_MS_MAX:200,MAX_BUFFERED_AUDIO_MS:8e3,PLAYBACK_JITTER_BUFFER_MS:150,PLAYBACK_JITTER_BUFFER_MS_MIN:80,PLAYBACK_JITTER_BUFFER_MS_MAX:250,MAX_UTTERANCE_DURATION_MS:9e4,MAX_PENDING_WRITES:8,DEFAULT_WRITE_TIMEOUT_MS:5e3},Xo=class extends Error{operation;requiredCapability;name=`UnsupportedSpeechOperationError`;constructor(e,t){super(`Speech operation "${e}" requires capability "${t}".`),this.operation=e,this.requiredCapability=t}},Zo=class extends Error{name=`SpeechUtteranceClosedError`;constructor(e=`Cannot write to a closed or cancelled speech utterance.`){super(e)}},Q=class extends Error{name=`SpeechRuntimeError`;constructor(e,t){super(e,t)}},Qo=class extends Error{name=`SpeechBufferTimeoutError`;constructor(e=`Timed out waiting for speech buffer capacity.`){super(e)}};function $o(e=`none`){return{mode:e,trackedDurationMs:0,fallbackDurationMs:0}}function es(e){return Jo.includes(e)}function ts(e){if(e.encoding!==`pcm_s16le`)throw new Q(`Unsupported audio encoding: ${e.encoding}`);if(e.channels!==1)throw new Q(`Unsupported channel count: ${e.channels}`);if(!es(e.sampleRate))throw new Q(`Unsupported sample rate: ${e.sampleRate}`)}function ns(e){if(Wo(e)){ts(e.format);return}if(Go(e)){if(!e.url.trim())throw new Q(`Audio URL must be non-empty.`);if(e.sampleRate!==void 0&&!es(e.sampleRate))throw new Q(`Unsupported sample rate: ${e.sampleRate}`);return}if(Ko(e)){if(e.track.kind!==`audio`)throw new Q(`speech.play track must be an audio MediaStreamTrack.`);if(e.sampleRate!==void 0&&!es(e.sampleRate))throw new Q(`Unsupported sample rate: ${e.sampleRate}`);return}if(qo(e)){let t=e.encoding.trim().toLowerCase();if(!t)throw new Q(`Encoded audio MIME type is required.`);if(t===`pcm_s16le`)throw new Q(`Use format: { encoding: "pcm_s16le", … } for raw PCM.`);if(e.sampleRate!==void 0&&!es(e.sampleRate))throw new Q(`Unsupported sample rate: ${e.sampleRate}`);return}throw new Q(`Unsupported speech.play audio shape.`)}function rs(e){if(e.format)return ts(e.format),e.format;if(e.track){let t={encoding:`pcm_s16le`,sampleRate:e.sampleRate??24e3,channels:1};return ts(t),t}throw new Q(`createUtterance requires format or track.`)}function is(e){return e instanceof Uint8Array?e:new Uint8Array(e)}function as(e){return e===`replace-active`||e===`replace-all`?`interrupt`:`enqueue`}function os(e){let t=new ArrayBuffer(e.length*2),n=new DataView(t);for(let t=0;t<e.length;t++){let r=Math.max(-1,Math.min(1,e[t]));n.setInt16(t*2,r<0?r*32768:r*32767,!0)}return t}async function ss(e){let{track:t,utterance:n,sampleRate:r,signal:i}=e;if(typeof MediaStreamTrack>`u`||!(t instanceof MediaStreamTrack))throw new Q(`MediaStreamTrack is not available in this environment.`);if(t.kind!==`audio`)throw new Q(`speech.play track must be an audio MediaStreamTrack.`);if(t.readyState===`ended`||i?.aborted)return;let a=typeof AudioContext<`u`?AudioContext:globalThis.webkitAudioContext;if(!a)throw new Q(`Web Audio is required to capture MediaStreamTrack PCM.`);let o=new a({sampleRate:r}),s=new MediaStream([t]),c=o.createMediaStreamSource(s),l=o.createGain();l.gain.value=0;let u=o.createScriptProcessor?.bind(o);if(!u)throw await o.close().catch(()=>void 0),new Q(`ScriptProcessor is unavailable for MediaStreamTrack capture.`);let d=u(4096,1,1),f=Promise.resolve(),p=!1,m=()=>{if(!p){p=!0,d.onaudioprocess=null;try{c.disconnect(),d.disconnect(),l.disconnect()}catch{}o.close().catch(()=>void 0)}};d.onaudioprocess=e=>{if(p||i?.aborted)return;let t=is(os(e.inputBuffer.getChannelData(0)));f=f.then(async()=>{if(p||i?.aborted)return;let e=0;for(;e<t.byteLength;){let r=Math.min(e+Yo.MAX_CHUNK_BYTES,t.byteLength),i=t.subarray(e,r);e=r,i.byteLength!==0&&await n.write(i)}}).catch(()=>{m()})},c.connect(d),d.connect(l),l.connect(o.destination),o.state===`suspended`&&await o.resume().catch(()=>void 0),await new Promise(e=>{let r=()=>{m(),f.finally(e)};t.addEventListener(`ended`,r,{once:!0}),i?.addEventListener(`abort`,()=>{n.cancel().catch(()=>void 0),r()},{once:!0}),(t.readyState===`ended`||i?.aborted)&&r()})}async function cs(e,t){if(Ko(e))throw new Q(`MediaStreamTrack play is handled on the host before embed.`);if(Wo(e)){let t=is(e.data);if(t.byteLength&1)throw new Q(`PCM byte length must be even.`);return{kind:`pcm`,data:t.slice().buffer,format:e.format}}if(Go(e))return{kind:`url`,url:e.url.trim(),...e.sampleRate===void 0?{}:{sampleRate:e.sampleRate}};if(!qo(e))throw new Q(`Unsupported speech.play audio shape.`);let n;if(typeof Blob<`u`&&e.data instanceof Blob){if(t?.aborted)throw new DOMException(`Play aborted.`,`AbortError`);n=new Uint8Array(await e.data.arrayBuffer())}else n=is(e.data);return{kind:`encoded`,data:n.slice().buffer,encoding:e.encoding.trim(),...e.sampleRate===void 0?{}:{sampleRate:e.sampleRate}}}function ls(){return typeof crypto<`u`&&typeof crypto.randomUUID==`function`?`utt_${crypto.randomUUID().replace(/-/g,``).slice(0,12)}`:`utt_${Date.now().toString(36)}${Math.random().toString(36).slice(2,8)}`}function us(e,t=`completed`){return{utteranceId:e.speechId,characterId:e.characterId,status:t,durationMs:e.durationMs,transcript:e.text,animation:{mode:`tracked`,trackedDurationMs:e.durationMs,fallbackDurationMs:0}}}function ds(e){return e instanceof Error?e:new Q(String(e))}function fs(e){return e instanceof DOMException&&e.name===`AbortError`||e instanceof Error&&e.name===`AbortError`}var ps=class{id;characterId;result;format;host;signal;settleResolve;settleReject;settled=!1;closed=!1;writeChain=Promise.resolve();pendingWriteCount=0;pendingWriteWaiters=[];bufferedMs=0;sampleRate;beginPromise;constructor(e){this.id=e.id,this.characterId=e.characterId,this.format=e.format,this.host=e.host,this.signal=e.signal,this.sampleRate=e.format.sampleRate,this.result=new Promise((e,t)=>{this.settleResolve=e,this.settleReject=t}),this.result.catch(()=>void 0);let t=this.requireHost();this.beginPromise=t.speechUtteranceBegin({utteranceId:this.id,format:this.format,characterId:this.characterId,queue:e.queue}).catch(e=>{throw this.fail(ds(e)),ds(e)}),this.signal?.addEventListener(`abort`,()=>{this.cancel()},{once:!0})}async write(e,t){if(this.closed||this.settled||(await this.beginPromise.catch(()=>void 0),this.closed||this.settled))throw new Zo;let n=is(e);if(n.byteLength&1)throw new Q(`PCM chunk byte length must be even (complete s16 samples).`);if(n.byteLength>Yo.MAX_CHUNK_BYTES)throw new Q(`PCM chunk exceeds MAX_CHUNK_BYTES (${Yo.MAX_CHUNK_BYTES}).`);if(n.byteLength===0)return;let r=t?.timeoutMs??Yo.DEFAULT_WRITE_TIMEOUT_MS;await this.acquireWriteSlot(r);let i=n.byteLength/2/this.sampleRate*1e3;if(this.bufferedMs+i>Yo.MAX_UTTERANCE_DURATION_MS)throw this.releaseWriteSlot(),new Q(`Utterance exceeds MAX_UTTERANCE_DURATION_MS.`);let a=async()=>{if(this.closed||this.settled)throw new Zo;let e=this.requireHost(),t=n.slice(),i=e.speechUtteranceWrite({utteranceId:this.id,audio:t.buffer,byteLength:t.byteLength}),a=await Promise.race([i,new Promise((e,t)=>{setTimeout(()=>t(new Qo),r)})]);this.bufferedMs=Math.max(0,a.bufferedMs)},o=this.writeChain.then(a,a);this.writeChain=o.then(()=>void 0,()=>void 0);try{await o}finally{this.releaseWriteSlot()}}async close(e){if(this.settled)return this.result;this.closed=!0,await this.beginPromise.catch(()=>void 0),await this.writeChain.catch(()=>void 0);try{let t=await this.requireHost().speechUtteranceClose({utteranceId:this.id,transcript:e?.transcript,history:e?.history??`none`});return this.resolve(t),t}catch(e){let t=ds(e);throw this.fail(t),t}}async cancel(){if(this.settled)return this.result;this.closed=!0;try{let e=this.host.getIframeHost();if(e){let t=await e.speechUtteranceCancel({utteranceId:this.id});return this.resolve(t),t}let t={utteranceId:this.id,characterId:this.characterId,status:`cancelled`,durationMs:0,animation:$o(`none`)};return this.resolve(t),t}catch(e){let t=ds(e);throw this.fail(t),t}}adoptExternalResult(e){this.resolve(e)}requireHost(){let e=this.host.getIframeHost();if(!e)throw new Q(`Speech session is not attached.`);return e}resolve(e){this.settled||(this.settled=!0,this.settleResolve(Object.freeze(e)),this.flushWriteWaiters(new Zo))}fail(e){this.settled||(this.settled=!0,this.settleReject(e),this.flushWriteWaiters(e))}async acquireWriteSlot(e){if(this.pendingWriteCount<Yo.MAX_PENDING_WRITES){this.pendingWriteCount+=1;return}await new Promise((t,n)=>{let r=setTimeout(()=>{n(new Qo)},e);this.pendingWriteWaiters.push({resolve:()=>{clearTimeout(r),this.pendingWriteCount+=1,t()},reject:e=>{clearTimeout(r),n(e)}})})}releaseWriteSlot(){this.pendingWriteCount=Math.max(0,this.pendingWriteCount-1),this.pendingWriteWaiters.shift()?.resolve()}flushWriteWaiters(e){for(;this.pendingWriteWaiters.length>0;)this.pendingWriteWaiters.shift()?.reject(e)}};function ms(e){let t=null,n=(t,n)=>{if(!e.getCapabilities()[n])throw new Xo(t,n)},r={async speak(r){if(e.assertSessionStarted(),n(`speak`,`textSpeech`),r.signal?.aborted)throw new DOMException(`Speak aborted.`,`AbortError`);let i=as(r.queue??`append`);i===`interrupt`&&(e.onProcessorInterrupt?.(),t&&=(t.cancel(),null));let a=e.getIframeHost();if(!a)throw new Q(`Speech session is not attached.`);let o=a.speak({text:r.text,characterId:r.characterId,behavior:i});if(r.signal){let t=r.signal;return await new Promise((n,i)=>{let s=()=>{a.speechInterrupt({scope:`active`}).catch(()=>void 0),i(new DOMException(`Speak aborted.`,`AbortError`))};if(t.aborted){s();return}t.addEventListener(`abort`,s,{once:!0}),o.then(e=>{t.removeEventListener(`abort`,s),n(us(e,`completed`))},a=>{if(t.removeEventListener(`abort`,s),fs(a)){n({utteranceId:`utt_interrupted`,characterId:r.characterId??e.getActiveCharacterId(),status:`interrupted`,durationMs:0,transcript:r.text,animation:$o(`none`)});return}i(ds(a))})})}try{return us(await o,`completed`)}catch(t){if(fs(t))return{utteranceId:`utt_interrupted`,characterId:r.characterId??e.getActiveCharacterId(),status:`interrupted`,durationMs:0,transcript:r.text,animation:$o(`none`)};throw ds(t)}},async play(i){if(e.assertSessionStarted(),n(`play`,`externalSpeechAudio`),ns(i.audio),i.signal?.aborted)throw new DOMException(`Play aborted.`,`AbortError`);let a=i.queue??`append`;if((a===`replace-active`||a===`replace-all`)&&(e.onProcessorInterrupt?.(),t&&=(t.cancel(),null)),Ko(i.audio)){let e=i.audio.sampleRate??24e3;return r.createUtterance({format:{encoding:`pcm_s16le`,sampleRate:e,channels:1},track:i.audio.track,characterId:i.characterId,queue:a===`append`?`replace-active`:a,signal:i.signal}).result}let o=e.getIframeHost();if(!o)throw new Q(`Speech session is not attached.`);let s=await cs(i.audio,i.signal);return o.speechPlay({source:s,characterId:i.characterId,transcript:i.transcript,history:i.history??`none`,queue:a,signal:i.signal})},createUtterance(r){e.assertSessionStarted(),n(`createUtterance`,`externalSpeechAudio`);let i=rs(r);if(r.track&&r.track.kind!==`audio`)throw new Q(`createUtterance track must be an audio MediaStreamTrack.`);let a=r.queue??`replace-active`;if(a!==`replace-active`&&a!==`replace-all`)throw new Q(`createUtterance queue must be replace-active or replace-all.`);e.onProcessorInterrupt?.(),t&&=(t.cancel(),null);let o=new ps({id:ls(),characterId:r.characterId??e.getActiveCharacterId(),format:i,queue:a,host:e,signal:r.signal});return t=o,o.result.finally(()=>{t===o&&(t=null)}),r.track&&(async()=>{try{if(await ss({track:r.track,utterance:o,sampleRate:i.sampleRate,signal:r.signal}),r.signal?.aborted)return;await o.close({history:`none`})}catch{await o.cancel().catch(()=>void 0)}})(),o},async interrupt(n){e.assertSessionStarted(),e.onProcessorInterrupt?.();let r=e.getIframeHost();if(!r)return[];let i=await r.speechInterrupt(n??{scope:`active`});if(t){let e=i.find(e=>e.utteranceId===t.id);e&&t.adoptExternalResult(e),t=null}return i}};return r}function hs(e,t){return t?so({...e,experience:{...e.experience,startButton:t}}):e}var gs=class e{launch;conversationProcessor;iframeHost=null;attachInFlight=null;endpointAbortController=null;processorAbortController=null;processorChain=Promise.resolve();resolvedManifest;closed=!1;attached=!1;closeHandlers=[];eventRegistry=Vo();readyEvent=null;startedEvent=null;conversationCache=[];speech;constructor(e){this.launch=e,this.conversationProcessor=e.conversationProcessor??null,this.resolvedManifest=e.kind===`manifest`?e.manifest:null,this.speech=ms({getIframeHost:()=>this.iframeHost,assertSessionStarted:()=>this.assertSessionStarted(),getCapabilities:()=>_s(this.resolvedManifest),getActiveCharacterId:()=>this.resolvedManifest?.activeCharacterId??`character_unknown`,onProcessorInterrupt:()=>{this.processorAbortController?.abort(),this.processorAbortController=null}})}static async startSession(t){if(`sessionEndpoint`in t)return new e({kind:`sessionEndpoint`,experienceId:t.experienceId,sessionEndpoint:t.sessionEndpoint,language:t.language,locationId:t.locationId,avatarId:t.avatarId,embedBaseUrl:t.embedBaseUrl,debug:t.debug,mode:t.mode,responseMode:t.responseMode,speechInputMode:t.speechInputMode,startButton:t.startButton,speechOnly:t.speechOnly,fit:t.fit,ui:t.ui,onStart:t.onStart,onUserTranscript:t.onUserTranscript,conversationProcessor:t.conversationProcessor});if(`experienceId`in t)return new e({kind:`public`,experienceId:t.experienceId,language:t.language,locationId:t.locationId,avatarId:t.avatarId,embedBaseUrl:t.embedBaseUrl,debug:t.debug,mode:t.mode,responseMode:t.responseMode,speechInputMode:t.speechInputMode,startButton:t.startButton,speechOnly:t.speechOnly,fit:t.fit,ui:t.ui,onStart:t.onStart,onUserTranscript:t.onUserTranscript,conversationProcessor:t.conversationProcessor});let n=so(t.manifest);if(co(n)&&!t.acceptCredentialExposure)throw Error(`Credential-bearing Session Manifest requires acceptCredentialExposure: true. Prefer experienceId, sessionEndpoint, or client-side mint instead of SSR page data.`);return new e({kind:`manifest`,manifest:t.speechOnly?Bo(n):n,embedBaseUrl:t.embedBaseUrl,debug:t.debug,startButton:t.startButton,speechOnly:t.speechOnly,fit:t.fit,ui:t.ui,onStart:t.onStart,onUserTranscript:t.onUserTranscript,conversationProcessor:t.conversationProcessor})}getManifest(){return this.resolvedManifest}on(e,t){let n=Ho(this.eventRegistry,e,t);return e===`ready`&&this.readyEvent&&queueMicrotask(()=>t(this.readyEvent)),e===`started`&&this.startedEvent&&queueMicrotask(()=>t(this.startedEvent)),n}async attach(e){if(this.closed)throw Error(`Session has ended.`);if(!e.container)throw Error(`Experience.attach requires a DOM container element.`);return this.attached&&this.iframeHost?this.createPlayerFacade():(this.attachInFlight||=this.attachInternal(e).finally(()=>{this.attachInFlight=null}),this.attachInFlight)}async attachInternal(e){if(this.closed)throw Error(`Session has ended.`);if(this.attached&&this.iframeHost)return this.createPlayerFacade();this.iframeHost&&=(this.iframeHost.destroy(),null);let t=this.launch.embedBaseUrl??Fo(),n=this.launch.debug===!0,r=this.launch.speechOnly===!0,i=Io(t,n,r||this.launch.kind===`manifest`?void 0:this.launch.locationId,r||this.launch.kind===`manifest`?void 0:this.launch.avatarId,this.launch.fit,this.launch.ui,e.showClose===!0),a=Ro(i),o=null,s=new Promise(e=>{o=e}),c=null,l=new Promise(e=>{c=e}),u=jo(e=>{this.readyEvent||(this.readyEvent={manifest:e},Z(this.eventRegistry,`ready`,this.readyEvent))}),d=this.launch.onUserTranscript,f=Ao({container:e.container,src:i,playerOrigin:a,transparent:this.launch.ui===`widget`,onClose:e=>{for(let t of this.closeHandlers)t(e)},onStateUpdate:t=>{e.onStateUpdate?.(t),t===`loading`&&o&&(o(),o=null),t===`ready`&&c&&(c(),c=null),t===`ready`&&u.markReady()},onUserTranscript:e=>{Z(this.eventRegistry,`userTranscript`,e),d?.(e),this.queueProcessorTurn(e)},onUserSpeechStarted:e=>{Z(this.eventRegistry,`userSpeechStarted`,e)},onUserSpeechEnded:e=>{Z(this.eventRegistry,`userSpeechEnded`,e)},onCharacterSpeechStarted:e=>{Z(this.eventRegistry,`characterSpeechStarted`,e)},onCharacterSpeechEnded:e=>{Z(this.eventRegistry,`characterSpeechEnded`,e)},onListeningState:e=>{Z(this.eventRegistry,`listeningState`,e)},onModeChange:e=>{Z(this.eventRegistry,`modeChange`,e)},onMessage:e=>{Z(this.eventRegistry,`message`,e)},onStarted:e=>{this.startedEvent||(this.startedEvent=e,Z(this.eventRegistry,`started`,e),this.launch.onStart?.(e))},onConversationUpdate:e=>{this.conversationCache=e,Z(this.eventRegistry,`conversationUpdate`,e)},onWidgetReady:()=>e.onWidgetReady?.(),onWidgetExpand:()=>e.onWidgetExpand?.(),onWidgetCollapse:()=>e.onWidgetCollapse?.(),onWidgetAudioSettings:t=>e.onWidgetAudioSettings?.(t)});this.iframeHost=f;let p=this.resolveMintInteraction(),m=this.launch.kind===`sessionEndpoint`?(this.endpointAbortController=new AbortController,po(this.launch.sessionEndpoint,{experienceId:this.launch.experienceId,language:this.launch.language,mode:p.mode,responseMode:p.responseMode,speechInputMode:p.speechInputMode,startButton:this.launch.startButton,speechOnly:this.launch.speechOnly,signal:this.endpointAbortController.signal})):this.launch.kind===`public`?fo(this.launch.experienceId,{language:this.launch.language,mode:p.mode,responseMode:p.responseMode,speechInputMode:p.speechInputMode,startButton:this.launch.startButton,speechOnly:this.launch.speechOnly}):Promise.resolve(this.launch.kind===`manifest`?this.launch.manifest:null),h;try{[,h]=await Promise.all([f.waitForLoad(),m])}catch(e){throw f.destroy(),this.iframeHost===f&&(this.iframeHost=null),e}finally{this.endpointAbortController=null}if(f.postParentHello(),h){let e=hs(h,this.launch.startButton);this.launch.speechOnly&&(e=Bo(e)),this.assertBrowserCustomManifest(e),this.resolvedManifest=e,f.postManifest(e),u.setValue(e)}return await Promise.race([s,new Promise((e,t)=>{setTimeout(()=>t(Error(`Timed out waiting for player loading UI.`)),12e4)})]),await Promise.race([l,new Promise((e,t)=>{setTimeout(()=>t(Error(`Timed out waiting for player ready state.`)),12e4)})]),this.attached=!0,this.createPlayerFacade()}async startListening(){this.assertSessionStarted(),await this.iframeHost.startListening()}async stopListening(){return this.assertSessionStarted(),this.iframeHost.stopListening()}async listenOnce(e){return this.assertSessionStarted(),this.iframeHost.listenOnce({timeoutMs:e?.timeoutMs})}getConversation(){return this.conversationCache}setWidgetChrome(e){this.iframeHost?.postWidgetSetChrome(e)}toggleAudioSettings(){this.iframeHost?.postWidgetToggleAudioSettings()}getLastTurn(){if(this.conversationCache.length===0)return[];let e=this.conversationCache[this.conversationCache.length-1].turnId;return this.conversationCache.filter(t=>t.turnId===e)}async end(){this.close()}destroy(){this.closed||(this.closed=!0,this.processorAbortController?.abort(),this.processorAbortController=null,this.endpointAbortController?.abort(),this.endpointAbortController=null,this.attachInFlight=null,this.iframeHost?.destroy(),this.iframeHost=null,Uo(this.eventRegistry),this.readyEvent=null,this.startedEvent=null,this.closeHandlers.length=0,this.attached=!1)}resolveMintInteraction(){if(this.launch.kind===`manifest`)return{};let e=this.conversationProcessor!==null;return{mode:this.launch.mode,responseMode:e?`custom`:this.launch.responseMode,speechInputMode:this.launch.speechInputMode}}assertBrowserCustomManifest(e){if(this.conversationProcessor){if(e.experience.responseMode!==`custom`)throw Error(`conversationProcessor requires responseMode custom in the Session Manifest.`);if(e.processorId)throw Error(`Browser conversationProcessor cannot be used with a registered processorId.`)}}queueProcessorTurn(e){if(!e.isFinal||!e.text.trim()||!this.conversationProcessor)return;let t=this.conversationProcessor;this.processorAbortController?.abort(),this.processorAbortController=new AbortController;let n=this.processorAbortController.signal;this.processorChain=this.processorChain.then(async()=>{if(!n.aborted)try{let r=await go(t,{utteranceId:e.utteranceId,text:e.text,conversation:this.conversationCache,signal:n});if(n.aborted)return;if(r.kind===`complete`){let e=r.speech;await this.speech.speak({text:e.text,...e.characterId?{characterId:e.characterId}:{},queue:e.behavior===`interrupt`?`replace-active`:`append`});return}await this.iframeHost.speakProcessorStream(r.stream,{signal:n})}catch(t){if(n.aborted)return;let r=t instanceof Error?t.message:String(t);Z(this.eventRegistry,`conversationProcessorError`,{utteranceId:e.utteranceId,message:r})}})}assertAttached(){if(!this.attached||!this.iframeHost)throw Error(`Call Experience.attach() before using speech APIs.`)}assertSessionStarted(){if(this.assertAttached(),!this.startedEvent)throw Error(`Session has not started. Wait for the player start button and the started event before using speak() or listening APIs.`)}close(){this.closed||(this.closed=!0,this.endpointAbortController?.abort(),this.endpointAbortController=null,this.attachInFlight=null,this.iframeHost?.destroy(),this.iframeHost=null,this.attached=!1)}createPlayerFacade(){return{close:()=>{this.close()},destroy:()=>{this.destroy()},on:(e,t)=>{e===`close`&&this.closeHandlers.push(t)}}}};function _s(e){let t=e?.capabilities??[],n=t.includes(`textSpeech`),r=t.includes(`externalSpeechAudio`);return!n&&!r?{textSpeech:!0,externalSpeechAudio:!0}:{textSpeech:n,externalSpeechAudio:r}}function vs(e,t){let n=e.trim();if(!n)return null;if(/^https?:\/\//i.test(n))try{return new URL(n)}catch{return null}let r=t.replace(/\/$/,``),i=n.startsWith(`/`)?n:`/${n}`;try{return new URL(i,`${r}/`)}catch{return null}}function ys(e){try{if(document.referrer){let e=new URL(document.referrer);if(e.origin===window.location.origin&&e.pathname!==window.location.pathname)return`${e.pathname}${e.search}${e.hash}`}}catch{}return e}function bs(e,t=`/meet`){if(e.reason!==`user`)return;let n=vs(e.returnUrl?.trim()||ys(t),window.location.origin);n?.protocol.startsWith(`http`)&&window.location.assign(n.toString())}var xs=/\b(exp_[A-Za-z0-9][A-Za-z0-9_-]{2,127})\b/,Ss=/(?:Your origin|origin)\s+(\S+)\s+is not an allowed origin/i;function Cs(e){return e instanceof Error?e.message:String(e)}function ws(){try{if(typeof globalThis.location?.origin==`string`&&globalThis.location.origin)return globalThis.location.origin}catch{}}function Ts(e){return xs.exec(e)?.[1]}function Es(e){return Ss.exec(e)?.[1]}function Ds(e,t){let n=Cs(e).trim()||`Unknown error`,r=t?.experienceId?.trim()||Ts(n)||void 0,i=t?.origin?.trim()||Es(n)||ws()||void 0;return/No playable experience found/i.test(n)||/^Experience is not available\.?$/i.test(n)||/^Unknown experience\.?$/i.test(n)||/experience_unavailable/i.test(n)?{kind:`not_found`,title:`The application tried to load an avatar experience that doesn’t exist.`,detail:`Experience with id ${r??`the requested experience`} does not exist`,technicalMessage:n,experienceId:r,origin:i}:/origin_not_allowed/i.test(n)||/is not an allowed origin/i.test(n)||/^Origin not allowed/i.test(n)?{kind:`origin_not_allowed`,title:`The application tried to load an avatar experience from a website that isn’t allowed.`,detail:`Origin ${i??`this page`} is not allowed for experience ${r??`the requested experience`}`,technicalMessage:n,experienceId:r,origin:i}:/browser_embeds_disabled/i.test(n)||/^Browser embeds are not enabled/i.test(n)?{kind:`browser_embeds_disabled`,title:`The application tried to load an avatar experience that isn’t enabled for browser embeds.`,detail:`Browser embeds are not enabled for experience ${r??`the requested experience`}`,technicalMessage:n,experienceId:r,origin:i}:{kind:`generic`,title:`This avatar experience couldn’t be started.`,detail:n,technicalMessage:n,experienceId:r,origin:i}}var Os=`liforma-experience-load-error-styles`;function ks(){if(typeof document>`u`||document.getElementById(`liforma-experience-load-error-styles`))return;let e=document.createElement(`style`);e.id=Os,e.textContent=As,document.head.append(e)}var As=`
65
65
  .liforma-loading-screen {
66
66
  inset: 0;
67
67
  z-index: 20;
@@ -160,7 +160,7 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
160
160
  .liforma-loading-error-detail[hidden] {
161
161
  display: none;
162
162
  }
163
- `;function rs(e,t){ts();let n=t,r=!1,i=document.createElement(`div`);i.className=`liforma-loading-screen liforma-loading-screen-absolute`,i.setAttribute(`role`,`alert`),i.setAttribute(`aria-live`,`assertive`);let a=document.createElement(`div`);a.className=`liforma-loading-card liforma-loading-card-error`;let o=document.createElement(`p`);o.className=`liforma-loading-kicker`,o.textContent=`Avatar experience`;let s=document.createElement(`p`);s.className=`liforma-loading-error-title`;let c=document.createElement(`button`);c.type=`button`,c.className=`liforma-loading-error-advanced`;let l=document.createElement(`p`);l.className=`liforma-loading-error-detail`,c.addEventListener(`click`,()=>{r=!r,u()}),a.append(o,s,c,l),i.append(a),e.append(i);function u(){s.textContent=n.title,l.textContent=n.detail,l.hidden=!r,c.textContent=r?`Hide details`:`Advanced`,c.setAttribute(`aria-expanded`,r?`true`:`false`)}return u(),{root:i,setPresentation(e){n=e,r=!1,u()},remove(){i.remove()}}}var is=`liforma-experience`;function as(e){let t=e?.trim();return t===`conversation`||t===`presenter`?t:void 0}function os(e){let t=e?.trim();return t===`auto`||t===`manual`||t===`off`?t:void 0}function ss(e){let t=e?.trim();return t===`full`||t===`face`?t:void 0}var cs=class extends HTMLElement{host=null;errorHost=null;errorOverlay=null;experience=null;bootstrapGeneration=0;static get observedAttributes(){return[`experience-id`,`language`,`session-endpoint`,`speech-only`,`mode`,`speech-input-mode`,`fit`]}connectedCallback(){this.style.display=`block`,this.style.position=`relative`,this.style.overflow=`hidden`,this.style.width||(this.style.width=`100%`),this.style.height||(this.style.height=`100%`);let e=getComputedStyle(this).minHeight;!this.style.minHeight&&(e===`0px`||e===`auto`)&&(this.style.minHeight=`480px`),this.errorHost||(this.errorHost=document.createElement(`div`),this.errorHost.style.cssText=`position:absolute;inset:0;z-index:20;pointer-events:none;`,this.append(this.errorHost)),this.host||(this.host=document.createElement(`div`),this.host.style.cssText=`position:absolute;inset:0;overflow:hidden;`,this.append(this.host)),this.bootstrap()}disconnectedCallback(){this.bootstrapGeneration+=1,this.experience?.destroy(),this.experience=null,this.clearError()}attributeChangedCallback(e,t,n){e!==`experience-id`&&e!==`language`&&e!==`session-endpoint`&&e!==`speech-only`&&e!==`mode`&&e!==`speech-input-mode`&&e!==`fit`||t===n||!this.isConnected||(this.bootstrapGeneration+=1,this.experience?.destroy(),this.experience=null,this.clearError(),this.host&&this.host.replaceChildren(),this.bootstrap())}async bootstrap(){let e=this.getAttribute(`experience-id`)?.trim(),t=this.getAttribute(`session-endpoint`)?.trim(),n=this.getAttribute(`language`)?.trim(),r=n===`es`||n===`en`?n:void 0,i=this.getAttribute(`speech-only`)===`true`,a=as(this.getAttribute(`mode`)),o=os(this.getAttribute(`speech-input-mode`)),s=ss(this.getAttribute(`fit`));if(!e||!this.host)return;let c=++this.bootstrapGeneration;this.clearError();try{let n=await Uo.startSession(t?{experienceId:e,sessionEndpoint:t,language:r,speechOnly:i,mode:a,speechInputMode:o,fit:s}:{experienceId:e,language:r,speechOnly:i,mode:a,speechInputMode:o,fit:s});if(c!==this.bootstrapGeneration){n.destroy();return}this.experience=n;let l=await n.attach({container:this.host});if(c!==this.bootstrapGeneration){n.destroy(),this.experience=null;return}l.on(`close`,e=>{this.dispatchEvent(new CustomEvent(`close`,{detail:e,bubbles:!0})),Ko(e)})}catch(t){if(c!==this.bootstrapGeneration)return;this.showError(t,e),console.error(`[liforma-experience]`,t),this.experience?.destroy(),this.experience=null}}showError(e,t){this.clearError(),this.errorHost&&(this.errorHost.style.pointerEvents=`auto`,this.errorOverlay=rs(this.errorHost,$o(e,{experienceId:t})))}clearError(){this.errorOverlay?.remove(),this.errorOverlay=null,this.errorHost&&(this.errorHost.style.pointerEvents=`none`,this.errorHost.replaceChildren())}};typeof customElements<`u`&&!customElements.get(is)&&customElements.define(is,cs);var ls=/(\/avatars\/[^/]+\/)(\d+)(\/)/i,us=/(-)(\d+x\d+)(\.webp)(\?|$)/i;function ds(e){let t=e.trim();if(!t)return t;let n=t.replace(ls,(e,t,n,r)=>n===`256`?`${t}${n}${r}`:`${t}256${r}`);return n=n.replace(us,(e,t,n,r,i)=>n===`256x256`?`${t}${n}${r}${i}`:`${t}256x256${r}${i}`),n}function fs(e){let t=e.avatarImage?.trim()||e.galleryThumb?.avatarImage?.trim()||``;if(!t)return null;let n=e.backgroundImage?.trim()||e.galleryThumb?.backgroundImage?.trim()||``,r=e.foregroundImage?.trim()||e.galleryThumb?.foregroundImage?.trim()||``,i=e.fallbackImage?.trim()||``;return{avatarImage:ds(t),...n?{backgroundImage:ds(n)}:{},...r?{foregroundImage:ds(r)}:{},...i?{fallbackImage:ds(i)}:{}}}var ps=`https://player.liforma.ai`,ms=`http://localhost:3002`;function hs(e){return e.href?.trim()?`anchor`:e.hasClickHandler?`button`:e.experienceId?.trim()?`anchor`:`presentational`}function gs(e){let n=e?.trim();return n?n.replace(/\/$/,``):t()?ms:ps}function _s(e){let t=e.experienceId.trim(),n=gs(e.playerBaseUrl),r=new URL(`${n}/${encodeURIComponent(t)}`),i=e.returnUrl?.trim();return i&&r.searchParams.set(`returnUrl`,i),r.toString()}function vs(e){let t=e.href?.trim();if(t)return t;let n=e.experienceId?.trim();if(!n)return;let r=e.returnUrl?.trim();return!r&&e.useCurrentPageAsReturnUrl&&typeof window<`u`&&(r=window.location.href),_s({experienceId:n,...r?{returnUrl:r}:{},playerBaseUrl:e.playerBaseUrl})}function ys(e,t){let{rootMargin:n=`280px 0px`,onVisibleChange:r}=t,i=!1;if(typeof IntersectionObserver>`u`)return r(!0),()=>{};let a=new IntersectionObserver(e=>{let t=e.some(e=>e.isIntersecting);t!==i&&(i=t,r(i))},{root:null,rootMargin:n,threshold:0});a.observe(e);let o=e.getBoundingClientRect();return typeof window<`u`&&o.bottom>=-280&&o.top<=window.innerHeight+280&&(i=!0,r(!0)),()=>a.disconnect()}function bs(e,t){let n=()=>t();return e.complete?queueMicrotask(n):(e.addEventListener(`load`,n,{once:!0}),e.addEventListener(`error`,n,{once:!0})),()=>{e.removeEventListener(`load`,n),e.removeEventListener(`error`,n)}}function xs(){return typeof window>`u`||window.matchMedia(`(prefers-reduced-motion: reduce)`).matches?!1:window.matchMedia(`(hover: none), (pointer: coarse)`).matches}function Ss(e,t){return((e.top+e.height/2)/Math.max(t,1)-.5)*2}function Cs(e,t){if(!xs())return()=>{};let n=0,r=()=>{n=0,!t.pointerActive?.()&&t.onParallax(Ss(e.getBoundingClientRect(),window.innerHeight))},i=()=>{n===0&&(n=requestAnimationFrame(r))};return r(),window.addEventListener(`scroll`,i,{passive:!0}),window.addEventListener(`resize`,i,{passive:!0}),()=>{n!==0&&cancelAnimationFrame(n),window.removeEventListener(`scroll`,i),window.removeEventListener(`resize`,i)}}function ws(e){let t=0,n=0,r=!1,i=!1,a=!1,o=()=>{let a=r||i;e.classList.toggle(`liforma-et--parallax`,a),e.classList.toggle(`liforma-et--scroll-parallax`,i),e.style.setProperty(`--liforma-et-parallax-x`,String(t)),e.style.setProperty(`--liforma-et-parallax-y`,String(n))},s=Cs(e,{onParallax:e=>{i=!0,a||(t=e,n=0,o())},pointerActive:()=>a}),c=r=>{if(i)return;let a=e.getBoundingClientRect();a.width<=0||a.height<=0||(t=((r.clientX-a.left)/a.width-.5)*2,n=((r.clientY-a.top)/a.height-.5)*2,o())},l=e=>{a=!0,e.pointerType===`mouse`&&(r=!0),o()},u=()=>{let s=a;a=!1,r=!1,i&&s?(t=Ss(e.getBoundingClientRect(),window.innerHeight),n=0):i||(t=0,n=0),o()},d=e=>{e.pointerType===`mouse`&&(r=!0,o())},f=()=>{a||(r=!1,i||(t=0,n=0),o())};return e.addEventListener(`pointermove`,c),e.addEventListener(`pointerdown`,l),e.addEventListener(`pointerup`,u),e.addEventListener(`pointercancel`,u),e.addEventListener(`pointerenter`,d),e.addEventListener(`pointerleave`,f),()=>{s(),e.removeEventListener(`pointermove`,c),e.removeEventListener(`pointerdown`,l),e.removeEventListener(`pointerup`,u),e.removeEventListener(`pointercancel`,u),e.removeEventListener(`pointerenter`,d),e.removeEventListener(`pointerleave`,f),e.classList.remove(`liforma-et--parallax`,`liforma-et--scroll-parallax`),e.style.removeProperty(`--liforma-et-parallax-x`),e.style.removeProperty(`--liforma-et-parallax-y`)}}var Ts=`.liforma-et {
163
+ `;function js(e,t){ks();let n=t,r=!1,i=document.createElement(`div`);i.className=`liforma-loading-screen liforma-loading-screen-absolute`,i.setAttribute(`role`,`alert`),i.setAttribute(`aria-live`,`assertive`);let a=document.createElement(`div`);a.className=`liforma-loading-card liforma-loading-card-error`;let o=document.createElement(`p`);o.className=`liforma-loading-kicker`,o.textContent=`Avatar experience`;let s=document.createElement(`p`);s.className=`liforma-loading-error-title`;let c=document.createElement(`button`);c.type=`button`,c.className=`liforma-loading-error-advanced`;let l=document.createElement(`p`);l.className=`liforma-loading-error-detail`,c.addEventListener(`click`,()=>{r=!r,u()}),a.append(o,s,c,l),i.append(a),e.append(i);function u(){s.textContent=n.title,l.textContent=n.detail,l.hidden=!r,c.textContent=r?`Hide details`:`Advanced`,c.setAttribute(`aria-expanded`,r?`true`:`false`)}return u(),{root:i,setPresentation(e){n=e,r=!1,u()},remove(){i.remove()}}}var Ms=`liforma-experience`;function Ns(e){let t=e?.trim();return t===`conversation`||t===`presenter`?t:void 0}function Ps(e){let t=e?.trim();return t===`auto`||t===`manual`||t===`off`?t:void 0}function Fs(e){let t=e?.trim();return t===`full`||t===`face`?t:void 0}var Is=class extends HTMLElement{host=null;errorHost=null;errorOverlay=null;experience=null;bootstrapGeneration=0;static get observedAttributes(){return[`experience-id`,`language`,`session-endpoint`,`speech-only`,`mode`,`speech-input-mode`,`fit`]}connectedCallback(){this.style.display=`block`,this.style.position=`relative`,this.style.overflow=`hidden`,this.style.width||(this.style.width=`100%`),this.style.height||(this.style.height=`100%`);let e=getComputedStyle(this).minHeight;!this.style.minHeight&&(e===`0px`||e===`auto`)&&(this.style.minHeight=`480px`),this.errorHost||(this.errorHost=document.createElement(`div`),this.errorHost.style.cssText=`position:absolute;inset:0;z-index:20;pointer-events:none;`,this.append(this.errorHost)),this.host||(this.host=document.createElement(`div`),this.host.style.cssText=`position:absolute;inset:0;overflow:hidden;`,this.append(this.host)),this.bootstrap()}disconnectedCallback(){this.bootstrapGeneration+=1,this.experience?.destroy(),this.experience=null,this.clearError()}attributeChangedCallback(e,t,n){e!==`experience-id`&&e!==`language`&&e!==`session-endpoint`&&e!==`speech-only`&&e!==`mode`&&e!==`speech-input-mode`&&e!==`fit`||t===n||!this.isConnected||(this.bootstrapGeneration+=1,this.experience?.destroy(),this.experience=null,this.clearError(),this.host&&this.host.replaceChildren(),this.bootstrap())}async bootstrap(){let e=this.getAttribute(`experience-id`)?.trim(),t=this.getAttribute(`session-endpoint`)?.trim(),n=this.getAttribute(`language`)?.trim(),r=n===`es`||n===`en`?n:void 0,i=this.getAttribute(`speech-only`)===`true`,a=Ns(this.getAttribute(`mode`)),o=Ps(this.getAttribute(`speech-input-mode`)),s=Fs(this.getAttribute(`fit`));if(!e||!this.host)return;let c=++this.bootstrapGeneration;this.clearError();try{let n=await gs.startSession(t?{experienceId:e,sessionEndpoint:t,language:r,speechOnly:i,mode:a,speechInputMode:o,fit:s}:{experienceId:e,language:r,speechOnly:i,mode:a,speechInputMode:o,fit:s});if(c!==this.bootstrapGeneration){n.destroy();return}this.experience=n;let l=await n.attach({container:this.host});if(c!==this.bootstrapGeneration){n.destroy(),this.experience=null;return}l.on(`close`,e=>{this.dispatchEvent(new CustomEvent(`close`,{detail:e,bubbles:!0})),bs(e)})}catch(t){if(c!==this.bootstrapGeneration)return;this.showError(t,e),console.error(`[liforma-experience]`,t),this.experience?.destroy(),this.experience=null}}showError(e,t){this.clearError(),this.errorHost&&(this.errorHost.style.pointerEvents=`auto`,this.errorOverlay=js(this.errorHost,Ds(e,{experienceId:t})))}clearError(){this.errorOverlay?.remove(),this.errorOverlay=null,this.errorHost&&(this.errorHost.style.pointerEvents=`none`,this.errorHost.replaceChildren())}};typeof customElements<`u`&&!customElements.get(Ms)&&customElements.define(Ms,Is);var Ls=/(\/avatars\/[^/]+\/)(\d+)(\/)/i,Rs=/(-)(\d+x\d+)(\.webp)(\?|$)/i;function zs(e){let t=e.trim();if(!t)return t;let n=t.replace(Ls,(e,t,n,r)=>n===`256`?`${t}${n}${r}`:`${t}256${r}`);return n=n.replace(Rs,(e,t,n,r,i)=>n===`256x256`?`${t}${n}${r}${i}`:`${t}256x256${r}${i}`),n}function Bs(e){let t=e.avatarImage?.trim()||e.galleryThumb?.avatarImage?.trim()||``;if(!t)return null;let n=e.backgroundImage?.trim()||e.galleryThumb?.backgroundImage?.trim()||``,r=e.foregroundImage?.trim()||e.galleryThumb?.foregroundImage?.trim()||``,i=e.fallbackImage?.trim()||``;return{avatarImage:zs(t),...n?{backgroundImage:zs(n)}:{},...r?{foregroundImage:zs(r)}:{},...i?{fallbackImage:zs(i)}:{}}}var Vs=`https://player.liforma.ai`,Hs=`http://localhost:3002`;function Us(e){return e.href?.trim()?`anchor`:e.hasClickHandler?`button`:e.experienceId?.trim()?`anchor`:`presentational`}function Ws(e){let n=e?.trim();return n?n.replace(/\/$/,``):t()?Hs:Vs}function Gs(e){let t=e.experienceId.trim(),n=Ws(e.playerBaseUrl),r=new URL(`${n}/${encodeURIComponent(t)}`),i=e.returnUrl?.trim();return i&&r.searchParams.set(`returnUrl`,i),r.toString()}function Ks(e){let t=e.href?.trim();if(t)return t;let n=e.experienceId?.trim();if(!n)return;let r=e.returnUrl?.trim();return!r&&e.useCurrentPageAsReturnUrl&&typeof window<`u`&&(r=window.location.href),Gs({experienceId:n,...r?{returnUrl:r}:{},playerBaseUrl:e.playerBaseUrl})}function qs(){return typeof window>`u`?!1:window.matchMedia(`(hover: none), (pointer: coarse)`).matches}var Js=0,Ys=[];function Xs(){return qs()?4:1/0}function Zs(){return qs()?160:0}function Qs(){let e=Xs();for(;Js<e&&Ys.length>0;){let e=Ys.shift();if(!e||e.cancelled)continue;Js+=1,e.start();let t=Zs();if(t<=0){Js=Math.max(0,Js-1);continue}window.setTimeout(()=>{Js=Math.max(0,Js-1),Qs()},t)}}function $s(e){if(!qs())return e(),()=>{};let t={start:e,cancelled:!1};return Ys.push(t),Qs(),()=>{t.cancelled=!0}}function ec(){return qs()?`96px 0px`:`280px 0px`}function tc(e){let t=e.trim().split(/\s+/)[0]??`0px`,n=Number.parseFloat(t);return Number.isFinite(n)?Math.abs(n):280}function nc(e,t){if(typeof window>`u`)return!1;let n=e.getBoundingClientRect();return n.bottom>=-t&&n.top<=window.innerHeight+t}function rc(e,t){let{onVisibleChange:n}=t,r=t.rootMargin??ec(),i=tc(r),a=!1,o=!1,s=null,c=()=>{o||(s?.(),s=$s(()=>{s=null,o=!0,n(!0)}))},l=e=>{if(e!==a){if(a=e,e){c();return}s?.(),s=null,n(!1)}};if(typeof IntersectionObserver>`u`)return c(),()=>{s?.(),s=null};let u=new IntersectionObserver(e=>{l(e.some(e=>e.isIntersecting))},{root:null,rootMargin:r,threshold:0});return u.observe(e),nc(e,i)&&l(!0),()=>{s?.(),s=null,u.disconnect()}}function ic(e,t){let n=()=>t();return e.complete?queueMicrotask(n):(e.addEventListener(`load`,n,{once:!0}),e.addEventListener(`error`,n,{once:!0})),()=>{e.removeEventListener(`load`,n),e.removeEventListener(`error`,n)}}function ac(){return typeof window>`u`||window.matchMedia(`(prefers-reduced-motion: reduce)`).matches?!1:window.matchMedia(`(hover: none), (pointer: coarse)`).matches}function oc(e,t){return((e.top+e.height/2)/Math.max(t,1)-.5)*2}var sc=new Set,cc=!1,lc=0;function uc(){if(lc=0,sc.size===0||typeof window>`u`)return;let e=window.innerHeight;for(let t of sc){if(t.pointerActive?.())continue;let n=t.element.getBoundingClientRect();n.bottom<-64||n.top>e+64||t.onParallax(oc(n,e))}}function dc(){lc===0&&(lc=requestAnimationFrame(uc))}function fc(){cc||typeof window>`u`||(cc=!0,window.addEventListener(`scroll`,dc,{passive:!0}),window.addEventListener(`resize`,dc,{passive:!0}))}function pc(){sc.size>0||!cc||typeof window>`u`||(cc=!1,lc!==0&&(cancelAnimationFrame(lc),lc=0),window.removeEventListener(`scroll`,dc),window.removeEventListener(`resize`,dc))}function mc(e,t){if(!ac())return()=>{};let n={element:e,onParallax:t.onParallax,pointerActive:t.pointerActive};return sc.add(n),fc(),n.pointerActive?.()||t.onParallax(oc(e.getBoundingClientRect(),window.innerHeight)),()=>{sc.delete(n),pc()}}function hc(e){let t=0,n=0,r=!1,i=!1,a=!1,o=()=>{let a=r||i;e.classList.toggle(`liforma-et--parallax`,a),e.classList.toggle(`liforma-et--scroll-parallax`,i),e.style.setProperty(`--liforma-et-parallax-x`,String(t)),e.style.setProperty(`--liforma-et-parallax-y`,String(n))},s=mc(e,{onParallax:e=>{i=!0,a||(t=e,n=0,o())},pointerActive:()=>a}),c=r=>{if(i)return;let a=e.getBoundingClientRect();a.width<=0||a.height<=0||(t=((r.clientX-a.left)/a.width-.5)*2,n=((r.clientY-a.top)/a.height-.5)*2,o())},l=e=>{a=!0,e.pointerType===`mouse`&&(r=!0),o()},u=()=>{let s=a;a=!1,r=!1,i&&s?(t=oc(e.getBoundingClientRect(),window.innerHeight),n=0):i||(t=0,n=0),o()},d=e=>{e.pointerType===`mouse`&&(r=!0,o())},f=()=>{a||(r=!1,i||(t=0,n=0),o())};return e.addEventListener(`pointermove`,c),e.addEventListener(`pointerdown`,l),e.addEventListener(`pointerup`,u),e.addEventListener(`pointercancel`,u),e.addEventListener(`pointerenter`,d),e.addEventListener(`pointerleave`,f),()=>{s(),e.removeEventListener(`pointermove`,c),e.removeEventListener(`pointerdown`,l),e.removeEventListener(`pointerup`,u),e.removeEventListener(`pointercancel`,u),e.removeEventListener(`pointerenter`,d),e.removeEventListener(`pointerleave`,f),e.classList.remove(`liforma-et--parallax`,`liforma-et--scroll-parallax`),e.style.removeProperty(`--liforma-et-parallax-x`),e.style.removeProperty(`--liforma-et-parallax-y`)}}var gc=`.liforma-et {
164
164
  --liforma-et-parallax-x: 0;
165
165
  --liforma-et-parallax-y: 0;
166
166
  --liforma-et-bg-scale: 1;
@@ -240,7 +240,6 @@ button.liforma-et {
240
240
  transition:
241
241
  opacity var(--liforma-et-reveal-duration) ease,
242
242
  transform 160ms ease;
243
- will-change: transform;
244
243
  }
245
244
 
246
245
  .liforma-et__avatar {
@@ -260,7 +259,6 @@ button.liforma-et {
260
259
  transition:
261
260
  opacity var(--liforma-et-reveal-duration) ease,
262
261
  transform 160ms ease;
263
- will-change: transform;
264
262
  }
265
263
 
266
264
  .liforma-et--scene .liforma-et__avatar {
@@ -286,7 +284,6 @@ button.liforma-et {
286
284
  transition:
287
285
  opacity var(--liforma-et-reveal-duration) ease,
288
286
  transform 160ms ease;
289
- will-change: transform;
290
287
  }
291
288
 
292
289
  .liforma-et--parallax {
@@ -298,6 +295,13 @@ button.liforma-et {
298
295
  --liforma-et-avatar-shift: 4px;
299
296
  }
300
297
 
298
+ /* Promote layers only while parallax is active — avoids N compositor surfaces on galleries. */
299
+ .liforma-et--parallax .liforma-et__background,
300
+ .liforma-et--parallax .liforma-et__foreground,
301
+ .liforma-et--parallax .liforma-et__avatar {
302
+ will-change: transform;
303
+ }
304
+
301
305
  .liforma-et--parallax:not(.liforma-et--scene) {
302
306
  --liforma-et-avatar-scale: 1.05;
303
307
  --liforma-et-avatar-shift: 0px;
@@ -328,7 +332,7 @@ button.liforma-et {
328
332
  .liforma-et__avatar {
329
333
  transition: none;
330
334
  }
331
- }`,Es=!1;function Ds(e){if(typeof document>`u`||Es)return;if(document.querySelector(`style[data-liforma-et]`)){Es=!0;return}let t=document.createElement(`style`);t.setAttribute(`data-liforma-et`,``),t.textContent=e,document.head.appendChild(t),Es=!0}var Os=`liforma-experience-thumbnail`;function ks(e){if(e?.trim())try{let t=JSON.parse(e);if(t&&typeof t.avatarImage==`string`)return t}catch{}}var As=class extends HTMLElement{static get observedAttributes(){return[`experience-id`,`gallery-thumb`,`avatar-image`,`background-image`,`foreground-image`,`fallback-image`,`alt`,`href`,`target`,`rel`,`return-url`,`player-base-url`,`parallax`,`lazy`]}#e=null;#t=[];#n=!1;#r=!1;#i=!1;#a=!1;#o=0;#s=0;#c=!1;#l=!1;#u=!1;#d=!1;connectedCallback(){this.#m()}disconnectedCallback(){this.#f()}attributeChangedCallback(){this.isConnected&&this.#m()}#f(){for(let e of this.#t)e();this.#t=[],this.#e=null}#p(e,t){if(!this.hasAttribute(e))return t;let n=this.getAttribute(e);return n===null||n===``||n===`true`?!0:n===`false`?!1:t}#m(){this.#f();let e=this.shadowRoot??this.attachShadow({mode:`open`}),t=document.createElement(`style`);t.textContent=Ts,e.replaceChildren(t);let n=this.getAttribute(`alt`)?.trim()||`Experience`,r=this.getAttribute(`href`),i=this.getAttribute(`experience-id`),a=hs({href:r,hasClickHandler:this.hasAttribute(`onclick`)||typeof this.onclick==`function`,experienceId:i}),o=fs({galleryThumb:ks(this.getAttribute(`gallery-thumb`)),avatarImage:this.getAttribute(`avatar-image`)??void 0,backgroundImage:this.getAttribute(`background-image`)??void 0,foregroundImage:this.getAttribute(`foreground-image`)??void 0,fallbackImage:this.getAttribute(`fallback-image`)??void 0});if(!o)return;let s=this.#p(`parallax`,!0),c=this.#p(`lazy`,!0);this.#n=!c;let l=a===`anchor`&&!r?.trim()&&!!i?.trim(),u=vs({href:r??void 0,experienceId:i??void 0,returnUrl:this.getAttribute(`return-url`)??void 0,playerBaseUrl:this.getAttribute(`player-base-url`)??void 0,useCurrentPageAsReturnUrl:l&&!this.getAttribute(`return-url`)?.trim()}),d;if(a===`anchor`&&u){let e=document.createElement(`a`);e.href=u;let t=this.getAttribute(`target`),n=this.getAttribute(`rel`);t&&(e.target=t),n&&(e.rel=n),d=e}else if(a===`button`){let e=document.createElement(`button`);e.type=`button`,d=e}else d=document.createElement(`div`),d.setAttribute(`role`,`img`);d.className=`liforma-et`,d.setAttribute(`aria-label`,n),this.#e=d,e.appendChild(d);let f=()=>{let e=!!o.backgroundImage,t=s&&(this.#r||this.#a),n=this.#n&&(!o.backgroundImage||this.#l)&&this.#u&&(!o.foregroundImage||this.#d);d.className=[`liforma-et`,e?`liforma-et--scene`:``,t?`liforma-et--parallax`:``,this.#a?`liforma-et--scroll-parallax`:``,this.#n&&!n?`liforma-et--loading`:``,n?`liforma-et--revealed`:``].filter(Boolean).join(` `),d.style.setProperty(`--liforma-et-parallax-x`,String(this.#o)),d.style.setProperty(`--liforma-et-parallax-y`,String(this.#s))},p=document.createElement(`span`);p.className=`liforma-et__placeholder`,p.setAttribute(`aria-hidden`,`true`),d.appendChild(p);let m=()=>{if(!this.#n)return;let e=this.#c&&o.fallbackImage?o.fallbackImage:o.avatarImage;if(o.backgroundImage&&!d.querySelector(`.liforma-et__background`)){let e=document.createElement(`img`);e.className=`liforma-et__background liforma-et__media`,e.alt=``,e.decoding=`async`,e.src=o.backgroundImage,this.#t.push(bs(e,()=>{this.#l=!0,e.classList.add(`liforma-et__media--ready`),f()})),d.appendChild(e)}let t=d.querySelector(`.liforma-et__avatar`);if(t||(t=document.createElement(`img`),t.className=`liforma-et__avatar liforma-et__media`,t.alt=``,t.decoding=`async`,t.addEventListener(`error`,()=>{o.fallbackImage&&!this.#c?(this.#c=!0,t.src=o.fallbackImage):(this.#u=!0,f())}),this.#t.push(bs(t,()=>{this.#u=!0,t.classList.add(`liforma-et__media--ready`),f()})),d.appendChild(t)),t.src!==e&&(t.src=e),o.foregroundImage&&!d.querySelector(`.liforma-et__foreground`)){let e=document.createElement(`img`);e.className=`liforma-et__foreground liforma-et__media`,e.alt=``,e.decoding=`async`,e.src=o.foregroundImage,this.#t.push(bs(e,()=>{this.#d=!0,e.classList.add(`liforma-et__media--ready`),f()})),d.appendChild(e)}f()};if(c?this.#t.push(ys(d,{onVisibleChange:e=>{e&&(this.#n=!0,m(),f())}})):m(),s){this.#t.push(Cs(d,{onParallax:e=>{this.#a=!0,this.#i||(this.#o=e,this.#s=0,f())},pointerActive:()=>this.#i}));let e=e=>{if(this.#a)return;let t=d.getBoundingClientRect();t.width<=0||t.height<=0||(this.#o=((e.clientX-t.left)/t.width-.5)*2,this.#s=((e.clientY-t.top)/t.height-.5)*2,f())},t=e=>{this.#i=!0,e.pointerType===`mouse`&&(this.#r=!0),f()},n=()=>{let e=this.#i;this.#i=!1,this.#r=!1,this.#a&&e?(this.#o=Ss(d.getBoundingClientRect(),window.innerHeight),this.#s=0):this.#a||(this.#o=0,this.#s=0),f()};d.addEventListener(`pointermove`,e),d.addEventListener(`pointerdown`,t),d.addEventListener(`pointerup`,n),d.addEventListener(`pointercancel`,n),d.addEventListener(`pointerenter`,e=>{e.pointerType===`mouse`&&(this.#r=!0,f())}),d.addEventListener(`pointerleave`,()=>{this.#i||(this.#r=!1,this.#a||(this.#o=0,this.#s=0),f())}),this.#t.push(()=>{d.removeEventListener(`pointermove`,e),d.removeEventListener(`pointerdown`,t),d.removeEventListener(`pointerup`,n),d.removeEventListener(`pointercancel`,n)})}d.addEventListener(`click`,e=>{if(l&&!this.getAttribute(`return-url`)?.trim()){let t=vs({experienceId:i??void 0,playerBaseUrl:this.getAttribute(`player-base-url`)??void 0,useCurrentPageAsReturnUrl:!0});t&&e.button===0&&!e.metaKey&&!e.ctrlKey&&!e.shiftKey&&(e.preventDefault(),window.location.assign(t))}}),f()}};customElements.get(Os)||customElements.define(Os,As);function js(e){if(!e||typeof e!=`object`)return null;let t=e,n=typeof t.avatarImage==`string`?t.avatarImage.trim():``;return n?{avatarImage:n,...typeof t.backgroundImage==`string`&&t.backgroundImage.trim()?{backgroundImage:t.backgroundImage.trim()}:{},...typeof t.foregroundImage==`string`&&t.foregroundImage.trim()?{foregroundImage:t.foregroundImage.trim()}:{}}:null}async function Ms(e,t){let n=e.trim();if(!n)throw Error(`Experience preview requires experienceId.`);let r=(t?.apiBaseUrl??a()).replace(/\/$/,``),i=await fetch(`${r}/v1/experiences/${encodeURIComponent(n)}/preview`,{method:`GET`,headers:{Accept:`application/json`},signal:t?.signal});if(!i.ok){let e=`Experience preview failed (${i.status})`;try{let t=await i.json();t.message?.trim()&&(e=t.message.trim())}catch{}throw Error(e)}let o;try{o=await i.json()}catch{throw Error(`Experience preview returned invalid JSON.`)}if(!o||typeof o!=`object`)throw Error(`Experience preview returned an invalid payload.`);let s=o,c=typeof s.experienceId==`string`?s.experienceId.trim():n,l=typeof s.title==`string`?s.title.trim():``,u=js(s.galleryThumb);if(!u)throw Error(`Experience preview is missing gallery thumb images.`);return{experienceId:c||n,title:l||c||n,galleryThumb:u}}var Ns=`(min-width: 768px)`,Ps=24,Fs=.5,Is=1200,Ls=.85,Rs=9/16;function zs(){if(typeof window>`u`)return 800;let e=window.screen?.availHeight;return typeof e==`number`&&e>0?e:window.innerHeight}function Bs(e=typeof window<`u`?window.innerWidth:1280,t=typeof window<`u`?window.innerHeight:800,n=Ps,r=typeof window<`u`?zs():800){let i=Math.max(160,Math.min(t-n*2,t*Ls)),a=Math.max(120,e-n*2),o=Math.min(r*Fs,Is,i),s=o*Rs;return s>a&&(s=a,o=s/Rs,o>i&&(o=i,s=o*Rs)),{width:Math.round(s),height:Math.round(o)}}function Vs(e,t=typeof window<`u`?window.innerWidth:1280,n=typeof window<`u`?window.innerHeight:800,r=Ps){return{left:Math.max(r,t-e.width-r),top:Math.max(r,n-e.height-r)}}function Hs(e,t,n,r=typeof window<`u`?window.innerWidth:1280,i=typeof window<`u`?window.innerHeight:800,a=Ps){let o=Math.max(a,r-n.width-a),s=Math.max(a,i-n.height-a);return{left:Math.min(Math.max(a,e),o),top:Math.min(Math.max(a,t),s)}}function Us(e=typeof window<`u`?window.matchMedia.bind(window):()=>({matches:!0})){return e(Ns).matches}var Ws=`
335
+ }`,_c=!1;function vc(e){if(typeof document>`u`||_c)return;if(document.querySelector(`style[data-liforma-et]`)){_c=!0;return}let t=document.createElement(`style`);t.setAttribute(`data-liforma-et`,``),t.textContent=e,document.head.appendChild(t),_c=!0}var yc=`liforma-experience-thumbnail`;function bc(e){if(e?.trim())try{let t=JSON.parse(e);if(t&&typeof t.avatarImage==`string`)return t}catch{}}var xc=class extends HTMLElement{static get observedAttributes(){return[`experience-id`,`gallery-thumb`,`avatar-image`,`background-image`,`foreground-image`,`fallback-image`,`alt`,`href`,`target`,`rel`,`return-url`,`player-base-url`,`parallax`,`lazy`]}#e=null;#t=[];#n=!1;#r=!1;#i=!1;#a=!1;#o=0;#s=0;#c=!1;#l=!1;#u=!1;#d=!1;connectedCallback(){this.#m()}disconnectedCallback(){this.#f()}attributeChangedCallback(){this.isConnected&&this.#m()}#f(){for(let e of this.#t)e();this.#t=[],this.#e=null}#p(e,t){if(!this.hasAttribute(e))return t;let n=this.getAttribute(e);return n===null||n===``||n===`true`?!0:n===`false`?!1:t}#m(){this.#f();let e=this.shadowRoot??this.attachShadow({mode:`open`}),t=document.createElement(`style`);t.textContent=gc,e.replaceChildren(t);let n=this.getAttribute(`alt`)?.trim()||`Experience`,r=this.getAttribute(`href`),i=this.getAttribute(`experience-id`),a=Us({href:r,hasClickHandler:this.hasAttribute(`onclick`)||typeof this.onclick==`function`,experienceId:i}),o=Bs({galleryThumb:bc(this.getAttribute(`gallery-thumb`)),avatarImage:this.getAttribute(`avatar-image`)??void 0,backgroundImage:this.getAttribute(`background-image`)??void 0,foregroundImage:this.getAttribute(`foreground-image`)??void 0,fallbackImage:this.getAttribute(`fallback-image`)??void 0});if(!o)return;let s=this.#p(`parallax`,!0),c=this.#p(`lazy`,!0);this.#n=!c;let l=a===`anchor`&&!r?.trim()&&!!i?.trim(),u=Ks({href:r??void 0,experienceId:i??void 0,returnUrl:this.getAttribute(`return-url`)??void 0,playerBaseUrl:this.getAttribute(`player-base-url`)??void 0,useCurrentPageAsReturnUrl:l&&!this.getAttribute(`return-url`)?.trim()}),d;if(a===`anchor`&&u){let e=document.createElement(`a`);e.href=u;let t=this.getAttribute(`target`),n=this.getAttribute(`rel`);t&&(e.target=t),n&&(e.rel=n),d=e}else if(a===`button`){let e=document.createElement(`button`);e.type=`button`,d=e}else d=document.createElement(`div`),d.setAttribute(`role`,`img`);d.className=`liforma-et`,d.setAttribute(`aria-label`,n),this.#e=d,e.appendChild(d);let f=()=>{let e=!!o.backgroundImage,t=s&&(this.#r||this.#a),n=this.#n&&(this.#u||this.#l||this.#d);d.className=[`liforma-et`,e?`liforma-et--scene`:``,t?`liforma-et--parallax`:``,this.#a?`liforma-et--scroll-parallax`:``,this.#n&&!n?`liforma-et--loading`:``,n?`liforma-et--revealed`:``].filter(Boolean).join(` `),d.style.setProperty(`--liforma-et-parallax-x`,String(this.#o)),d.style.setProperty(`--liforma-et-parallax-y`,String(this.#s))},p=document.createElement(`span`);p.className=`liforma-et__placeholder`,p.setAttribute(`aria-hidden`,`true`),d.appendChild(p);let m=()=>{if(!this.#n)return;let e=this.#c&&o.fallbackImage?o.fallbackImage:o.avatarImage;if(o.backgroundImage&&!d.querySelector(`.liforma-et__background`)){let e=document.createElement(`img`);e.className=`liforma-et__background liforma-et__media`,e.alt=``,e.decoding=`async`,e.src=o.backgroundImage,this.#t.push(ic(e,()=>{this.#l=!0,e.classList.add(`liforma-et__media--ready`),f()})),d.appendChild(e)}let t=d.querySelector(`.liforma-et__avatar`);if(t||(t=document.createElement(`img`),t.className=`liforma-et__avatar liforma-et__media`,t.alt=``,t.decoding=`async`,t.addEventListener(`error`,()=>{o.fallbackImage&&!this.#c?(this.#c=!0,t.src=o.fallbackImage):(this.#u=!0,f())}),this.#t.push(ic(t,()=>{this.#u=!0,t.classList.add(`liforma-et__media--ready`),f()})),d.appendChild(t)),t.src!==e&&(t.src=e),o.foregroundImage&&!d.querySelector(`.liforma-et__foreground`)){let e=document.createElement(`img`);e.className=`liforma-et__foreground liforma-et__media`,e.alt=``,e.decoding=`async`,e.src=o.foregroundImage,this.#t.push(ic(e,()=>{this.#d=!0,e.classList.add(`liforma-et__media--ready`),f()})),d.appendChild(e)}f()};if(c?this.#t.push(rc(d,{onVisibleChange:e=>{e&&(this.#n=!0,m(),f())}})):m(),s){this.#t.push(mc(d,{onParallax:e=>{this.#a=!0,this.#i||(this.#o=e,this.#s=0,f())},pointerActive:()=>this.#i}));let e=e=>{if(this.#a)return;let t=d.getBoundingClientRect();t.width<=0||t.height<=0||(this.#o=((e.clientX-t.left)/t.width-.5)*2,this.#s=((e.clientY-t.top)/t.height-.5)*2,f())},t=e=>{this.#i=!0,e.pointerType===`mouse`&&(this.#r=!0),f()},n=()=>{let e=this.#i;this.#i=!1,this.#r=!1,this.#a&&e?(this.#o=oc(d.getBoundingClientRect(),window.innerHeight),this.#s=0):this.#a||(this.#o=0,this.#s=0),f()};d.addEventListener(`pointermove`,e),d.addEventListener(`pointerdown`,t),d.addEventListener(`pointerup`,n),d.addEventListener(`pointercancel`,n),d.addEventListener(`pointerenter`,e=>{e.pointerType===`mouse`&&(this.#r=!0,f())}),d.addEventListener(`pointerleave`,()=>{this.#i||(this.#r=!1,this.#a||(this.#o=0,this.#s=0),f())}),this.#t.push(()=>{d.removeEventListener(`pointermove`,e),d.removeEventListener(`pointerdown`,t),d.removeEventListener(`pointerup`,n),d.removeEventListener(`pointercancel`,n)})}d.addEventListener(`click`,e=>{if(l&&!this.getAttribute(`return-url`)?.trim()){let t=Ks({experienceId:i??void 0,playerBaseUrl:this.getAttribute(`player-base-url`)??void 0,useCurrentPageAsReturnUrl:!0});t&&e.button===0&&!e.metaKey&&!e.ctrlKey&&!e.shiftKey&&(e.preventDefault(),window.location.assign(t))}}),f()}};customElements.get(yc)||customElements.define(yc,xc);function Sc(e){if(!e||typeof e!=`object`)return null;let t=e,n=typeof t.avatarImage==`string`?t.avatarImage.trim():``;return n?{avatarImage:n,...typeof t.backgroundImage==`string`&&t.backgroundImage.trim()?{backgroundImage:t.backgroundImage.trim()}:{},...typeof t.foregroundImage==`string`&&t.foregroundImage.trim()?{foregroundImage:t.foregroundImage.trim()}:{}}:null}async function Cc(e,t){let n=e.trim();if(!n)throw Error(`Experience preview requires experienceId.`);let r=(t?.apiBaseUrl??a()).replace(/\/$/,``),i=await fetch(`${r}/v1/experiences/${encodeURIComponent(n)}/preview`,{method:`GET`,headers:{Accept:`application/json`},signal:t?.signal});if(!i.ok){let e=`Experience preview failed (${i.status})`;try{let t=await i.json();t.message?.trim()&&(e=t.message.trim())}catch{}throw Error(e)}let o;try{o=await i.json()}catch{throw Error(`Experience preview returned invalid JSON.`)}if(!o||typeof o!=`object`)throw Error(`Experience preview returned an invalid payload.`);let s=o,c=typeof s.experienceId==`string`?s.experienceId.trim():n,l=typeof s.title==`string`?s.title.trim():``,u=Sc(s.galleryThumb);if(!u)throw Error(`Experience preview is missing gallery thumb images.`);return{experienceId:c||n,title:l||c||n,galleryThumb:u}}var wc=`(min-width: 768px)`,Tc=24,Ec=.5,Dc=1200,Oc=.85,kc=9/16;function Ac(){if(typeof window>`u`)return 800;let e=window.screen?.availHeight;return typeof e==`number`&&e>0?e:window.innerHeight}function jc(e=typeof window<`u`?window.innerWidth:1280,t=typeof window<`u`?window.innerHeight:800,n=Tc,r=typeof window<`u`?Ac():800){let i=Math.max(160,Math.min(t-n*2,t*Oc)),a=Math.max(120,e-n*2),o=Math.min(r*Ec,Dc,i),s=o*kc;return s>a&&(s=a,o=s/kc,o>i&&(o=i,s=o*kc)),{width:Math.round(s),height:Math.round(o)}}function Mc(e,t=typeof window<`u`?window.innerWidth:1280,n=typeof window<`u`?window.innerHeight:800,r=Tc){return{left:Math.max(r,t-e.width-r),top:Math.max(r,n-e.height-r)}}function Nc(e,t,n,r=typeof window<`u`?window.innerWidth:1280,i=typeof window<`u`?window.innerHeight:800,a=Tc){let o=Math.max(a,r-n.width-a),s=Math.max(a,i-n.height-a);return{left:Math.min(Math.max(a,e),o),top:Math.min(Math.max(a,t),s)}}function Pc(e=typeof window<`u`?window.matchMedia.bind(window):()=>({matches:!0})){return e(wc).matches}var Fc=`
332
336
  .liforma-ew {
333
337
  box-sizing: border-box;
334
338
  position: relative;
@@ -802,5 +806,5 @@ button.liforma-et {
802
806
  transition: none;
803
807
  }
804
808
  }
805
- `,Gs=`liforma-experience-widget-styles`;function Ks(e=Ws){if(typeof document>`u`)return;let t=document.getElementById(Gs);if(t){t.textContent=e;return}let n=document.createElement(`style`);n.id=Gs,n.textContent=e,document.head.append(n)}function qs(e){return e===`bottom-right`||e===`bottom-left`?e:`static`}function Js(e){if(typeof e==`number`&&Number.isFinite(e))return`${e}px`;let t=typeof e==`string`?e.trim():``;return t?/^\d+(\.\d+)?$/.test(t)?`${t}px`:t:`16px`}function $(e){return e===`expanded`||e===`docked`}var Ys=`<svg viewBox="0 0 24 24" aria-hidden="true" focusable="false" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M10.325 4.317c.426-1.756 2.924-1.756 3.35 0a1.724 1.724 0 0 0 2.573 1.066c1.543-.94 3.31.826 2.37 2.37a1.724 1.724 0 0 0 1.065 2.572c1.756.426 1.756 2.924 0 3.35a1.724 1.724 0 0 0-1.066 2.573c.94 1.543-.826 3.31-2.37 2.37a1.724 1.724 0 0 0-2.572 1.065c-.426 1.756-2.924 1.756-3.35 0a1.724 1.724 0 0 0-2.573-1.066c-1.543.94-3.31-.826-2.37-2.37a1.724 1.724 0 0 0-1.065-2.572c-1.756-.426-1.756-2.924 0-3.35a1.724 1.724 0 0 0 1.066-2.573c-.94-1.543.826-3.31 2.37-2.37c1 .608 2.296.07 2.572-1.065"/><path d="M9 12a3 3 0 1 0 6 0a3 3 0 0 0-6 0"/></svg>`,Xs=`<svg viewBox="0 0 24 24" aria-hidden="true" focusable="false"><path fill="currentColor" d="M18.3 5.71a1 1 0 0 0-1.41 0L12 10.59 7.11 5.7A1 1 0 0 0 5.7 7.11L10.59 12l-4.9 4.89a1 1 0 1 0 1.42 1.42L12 13.41l4.89 4.9a1 1 0 0 0 1.42-1.42L13.41 12l4.9-4.89a1 1 0 0 0-.01-1.4Z"/></svg>`,Zs=`<svg viewBox="0 0 24 24" aria-hidden="true" focusable="false" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M18 10h-4V6m6-2l-6 6m-8 4h4v4m0-4l-6 6"/></svg>`,Qs=`<svg viewBox="0 0 24 24" aria-hidden="true" focusable="false" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M16 4h4v4m-6 2l6-6M8 20H4v-4m0 4l6-6"/></svg>`;function $s(e,t,n){Ds(Ts);let r=fs({galleryThumb:t.galleryThumb,avatarImage:t.avatarImage,backgroundImage:t.backgroundImage,foregroundImage:t.foregroundImage,fallbackImage:t.fallbackImage});if(!r)return e.replaceChildren(),null;let i=document.createElement(`div`);i.className=`liforma-et${r.backgroundImage?` liforma-et--scene`:``} liforma-et--revealed`,i.setAttribute(`aria-hidden`,`true`);let a=document.createElement(`span`);a.className=`liforma-et__placeholder`,a.setAttribute(`aria-hidden`,`true`),i.append(a);let o=e=>{e.classList.add(`liforma-et__media--ready`)};if(r.backgroundImage){let e=document.createElement(`img`);e.className=`liforma-et__background liforma-et__media`,e.alt=``,e.decoding=`async`,e.src=r.backgroundImage,e.addEventListener(`load`,()=>o(e),{once:!0}),i.append(e)}let s=document.createElement(`img`);if(s.className=`liforma-et__avatar liforma-et__media`,s.alt=``,s.decoding=`async`,s.src=r.avatarImage,s.addEventListener(`load`,()=>o(s),{once:!0}),s.addEventListener(`error`,()=>{r.fallbackImage&&(s.src=r.fallbackImage)},{once:!0}),i.append(s),r.foregroundImage){let e=document.createElement(`img`);e.className=`liforma-et__foreground liforma-et__media`,e.alt=``,e.decoding=`async`,e.src=r.foregroundImage,e.addEventListener(`load`,()=>o(e),{once:!0}),i.append(e)}return e.replaceChildren(i),n?.parallax===!1?()=>{}:ws(i)}function ec(e){return e.startButton?{...e.startButton,label:e.startButton.label??e.startButtonLabel??`Tap to talk`,placement:e.startButton.placement??`bottom-center`,variant:e.startButton.variant??`primary`}:{label:e.startButtonLabel??`Tap to talk`,placement:`bottom-center`,variant:`primary`}}function tc(e){let t=!1,n=()=>{t||e()},r=()=>{if(t)return;let e=window.requestIdleCallback;if(typeof e==`function`){let t=e(n,{timeout:3e3});i=()=>{window.cancelIdleCallback?.(t)};return}let r=window.setTimeout(n,1);i=()=>window.clearTimeout(r)},i=null;return document.readyState===`complete`?r():window.addEventListener(`load`,r,{once:!0}),()=>{t=!0,window.removeEventListener(`load`,r),i?.()}}function nc(e,t){Ks(Ws);let n=t.experienceId?.trim();if(!n)throw Error(`ExperienceWidget requires experienceId.`);let r=t.prefetch??`onExpand`,i=qs(t.position),a=document.createElement(`div`);a.className=`liforma-ew`,a.dataset.state=`collapsed`,a.dataset.prefetch=r,a.dataset.position=i,a.style.setProperty(`--liforma-ew-max-w`,t.expandedMaxWidth??`100%`),a.style.setProperty(`--liforma-ew-max-h`,t.expandedMaxHeight??`100%`),i!==`static`&&a.style.setProperty(`--liforma-ew-offset`,Js(t.offset));let o=document.createElement(`button`);o.type=`button`,o.className=`liforma-ew__hit`,o.setAttribute(`aria-label`,t.alt),o.disabled=!0;let s=document.createElement(`div`);s.className=`liforma-ew__face`,o.append(s);let c=document.createElement(`div`);c.className=`liforma-ew__face-status`,c.textContent=`Loading…`,s.append(c);let l=document.createElement(`div`);l.className=`liforma-ew__warm`,l.hidden=!0,l.setAttribute(`aria-hidden`,`true`);let u=document.createElement(`div`);u.className=`liforma-ew__overlay`,u.hidden=!0,u.setAttribute(`role`,`dialog`),u.setAttribute(`aria-modal`,`true`),u.setAttribute(`aria-label`,t.alt);let d=document.createElement(`button`);d.type=`button`,d.className=`liforma-ew__backdrop`,d.setAttribute(`aria-label`,`Close experience`);let f=document.createElement(`div`);f.className=`liforma-ew__panel`;let p=document.createElement(`div`);p.className=`liforma-ew__toolbar`,p.hidden=!0;let m=document.createElement(`span`);m.className=`liforma-ew__drag-grip`,m.setAttribute(`aria-hidden`,`true`);let h=document.createElement(`button`);h.type=`button`,h.className=`liforma-ew__icon-btn liforma-ew__dock-toggle`,h.innerHTML=Zs,h.setAttribute(`aria-label`,`Reduce`);let g=document.createElement(`button`);g.type=`button`,g.className=`liforma-ew__icon-btn liforma-ew__settings`,g.innerHTML=Ys,g.setAttribute(`aria-label`,`Audio settings`),g.setAttribute(`aria-pressed`,`false`);let _=document.createElement(`button`);_.type=`button`,_.className=`liforma-ew__icon-btn liforma-ew__close`,_.innerHTML=Xs,_.setAttribute(`aria-label`,`Close`),p.append(m,h,g,_);let ee=document.createElement(`div`);ee.className=`liforma-ew__stage`;let v=document.createElement(`div`);v.className=`liforma-ew__status`,v.hidden=!0,f.append(ee,v),u.append(d,f),a.append(o,l,u,p),e.replaceChildren(a);let y=null,b=!1,x=!1,te=!1,S=!1,C=!1,w=!1,T=!1,E=0,ne=``,re=null,D=null,O=null,k=null,ie=null,ae=null,oe=null,se=0,ce=0,le=new AbortController,ue=t.parallax!==!1,A=()=>{let e=a.dataset.state;return e===`expanded`||e===`docked`||e===`collapsed`?e:`collapsed`},de=()=>{O!==null&&(clearTimeout(O),O=null)},j=()=>{k!==null&&(clearTimeout(k),k=null),a.classList.remove(`liforma-ew--layout-settling`)},fe=()=>{for(let e of[f,l,p])e.style.removeProperty(`left`),e.style.removeProperty(`top`),e.style.removeProperty(`width`),e.style.removeProperty(`height`),e.style.removeProperty(`right`),e.style.removeProperty(`bottom`);p.classList.remove(`liforma-ew__toolbar--dragging`)},M=(e,t,n,r)=>{let i=i=>{i.style.left=`${e}px`,i.style.top=`${t}px`,i.style.width=`${n}px`,i.style.height=`${r}px`,i.style.right=`auto`,i.style.bottom=`auto`};i(f),i(l);let a=p.offsetWidth||120;p.style.left=`${e+n-a-10}px`,p.style.top=`${t+10}px`,p.style.right=`auto`,p.style.bottom=`auto`,p.style.width=`auto`,p.style.height=`auto`},N=()=>{let e=Us(),t=A();if(!e||t!==`expanded`&&t!==`docked`){h.hidden=!0;return}h.hidden=!1,t===`docked`?(h.innerHTML=Qs,h.setAttribute(`aria-label`,`Maximize`)):(h.innerHTML=Zs,h.setAttribute(`aria-label`,`Reduce`))},P=e=>{let t=Bs(),n=e&&ie!==null&&ae!==null?Hs(ie,ae,t):Vs(t);n=Hs(n.left,n.top,t),ie=n.left,ae=n.top,M(n.left,n.top,t.width,t.height),N()},F=()=>{a.classList.remove(`liforma-ew--session-revealed`),requestAnimationFrame(()=>{requestAnimationFrame(()=>{x||!$(a.dataset.state)||a.classList.add(`liforma-ew--session-revealed`)})})},I=e=>{if(j(),a.classList.remove(`liforma-ew--session-revealed`),a.classList.add(`liforma-ew--layout-settling`),e(),!T){a.classList.remove(`liforma-ew--layout-settling`);return}k=setTimeout(()=>{if(k=null,x||!$(a.dataset.state)){a.classList.remove(`liforma-ew--layout-settling`);return}a.classList.remove(`liforma-ew--layout-settling`),F()},220)},pe=()=>(a.classList.add(`liforma-ew--session-concealing`),a.classList.remove(`liforma-ew--session-revealed`),new Promise(e=>{de(),O=setTimeout(()=>{O=null,a.classList.remove(`liforma-ew--session-concealing`),e()},280)})),me={galleryThumb:t.galleryThumb,avatarImage:t.avatarImage,backgroundImage:t.backgroundImage,foregroundImage:t.foregroundImage,fallbackImage:t.fallbackImage},L=e=>{if(!e){v.hidden=!0,v.textContent=``;return}v.hidden=!1,v.textContent=e},he=e=>{if(!e){c.hidden=!0,c.textContent=``;return}c.hidden=!1,c.textContent=e,s.contains(c)||s.append(c)},ge=()=>{te=!0,o.disabled=!1,he(null),r===`onExpand`&&t.onPrefetchReady?.()},_e=()=>{S=!0,a.dataset.warm=`true`,l.hidden=!1,T||(o.tabIndex=-1,o.setAttribute(`aria-hidden`,`true`)),t.onPrefetchReady?.()},ve=e=>{re?.(),re=null;let t=$s(s,e,{parallax:ue});return t?(re=t,!0):!1},ye=()=>{if(ve(me)){ge();return}he(`Loading…`),Ms(n,{signal:le.signal}).then(e=>{if(!x){if(!ve({galleryThumb:e.galleryThumb}))throw Error(`Experience preview is missing gallery thumb images.`);ge()}}).catch(e=>{if(x||le.signal.aborted)return;let n=e instanceof Error?e:Error(String(e));he(`Preview unavailable`),o.disabled=!0,t.onError?.(n),console.error(`[ExperienceWidget]`,n)})},be=()=>({experienceId:n,...t.sessionEndpoint?{sessionEndpoint:t.sessionEndpoint}:{},...t.language?{language:t.language}:{},...t.mode?{mode:t.mode}:{},...t.speechInputMode?{speechInputMode:t.speechInputMode}:{},...t.speechOnly===void 0?{}:{speechOnly:t.speechOnly},...t.fit?{fit:t.fit}:{},...t.embedBaseUrl?{embedBaseUrl:t.embedBaseUrl}:{},startButton:ec(t)}),R=(e=!0)=>{o.hidden=!0,u.hidden=!1,p.hidden=!1,u.setAttribute(`aria-modal`,`true`),fe(),a.dataset.state=`expanded`,L(null),typeof document<`u`&&(ne=document.body.style.overflow,document.body.style.overflow=`hidden`),N(),e&&t.onExpanded?.()},xe=()=>{o.hidden=!0,u.hidden=!1,p.hidden=!1,u.setAttribute(`aria-modal`,`false`),a.dataset.state=`docked`,L(null),typeof document<`u`&&(document.body.style.overflow=ne),P(!0),N()},Se=e=>{e.on(`started`,()=>{x||(T=!0,a.dataset.live=`true`,L(null),t.onStarted?.(),$(a.dataset.state)&&F())})},Ce=()=>{j(),u.hidden=!0,p.hidden=!0,fe(),a.dataset.state=`collapsed`,a.classList.remove(`liforma-ew--session-revealed`),a.classList.remove(`liforma-ew--session-concealing`),g.setAttribute(`aria-pressed`,`false`),o.hidden=!1,o.tabIndex=0,o.removeAttribute(`aria-hidden`),te&&(o.disabled=!1),L(null),typeof document<`u`&&(document.body.style.overflow=ne),N()},we=()=>{de(),j(),E+=1,b=!1,S=!1,C=!1,w=!1,T=!1;let e=y;y=null,e?.destroy(),ee.replaceChildren(),l.replaceChildren(),l.hidden=!0,delete a.dataset.warm,delete a.dataset.live,a.classList.remove(`liforma-ew--session-revealed`)},z=()=>{if(!x&&$(a.dataset.state)){if(b=!1,y&&w){let e=y;(async()=>{T&&(await pe(),x||y!==e)||(S&&e.setWidgetChrome(`collapsed`),Ce(),T?(a.dataset.live=`true`,o.tabIndex=0,o.removeAttribute(`aria-hidden`),o.disabled=!1):S&&_e(),t.onCollapsed?.(),t.onClose?.())})();return}we(),Ce(),t.onCollapsed?.(),t.onClose?.()}},Te=()=>{x||Us()&&A()===`expanded`&&I(()=>{xe()})},Ee=()=>{x||A()===`docked`&&I(()=>{fe(),R(!1),y?.setWidgetChrome(`expanded`)})},De=()=>{!y||!T||(de(),a.classList.remove(`liforma-ew--session-revealed`),R(),y.setWidgetChrome(`expanded`),b=!1,F())},Oe=()=>{!y||!w||T||(de(),a.classList.remove(`liforma-ew--session-revealed`),R(),b=!1,S&&y.setWidgetChrome(`expanded`))},ke=e=>{x||e!==E&&!T||(de(),a.classList.remove(`liforma-ew--session-revealed`),R(),b=!1,y?.setWidgetChrome(`expanded`),T&&F())},Ae=()=>{if(x||C||S||y||$(a.dataset.state))return;C=!0;let e=E;l.hidden=!1,(async()=>{try{let t=await Uo.startSession({...be(),ui:`widget`});if(x||e!==E){t.destroy();return}y=t,Se(t);let n=await t.attach({container:l,onWidgetReady:()=>{x||e!==E||(C=!1,w=!0,_e())},onWidgetExpand:()=>{ke(e)},onWidgetAudioSettings:e=>{x||Pe(e)},onStateUpdate:e=>{x||e===`error`&&$(a.dataset.state)&&L(`Could not load the experience.`)}});if(x||e!==E){t.destroy(),y===t&&(y=null);return}w=!0,n.on(`close`,()=>{x||z()})}catch(n){if(x||e!==E)return;C=!1,l.hidden=!0,l.replaceChildren(),y=null;let r=n instanceof Error?n:Error(String(n));t.onError?.(r),console.error(`[ExperienceWidget] warm prefetch failed`,r)}})()},je=()=>{if(x||b||!te||$(a.dataset.state))return;if(y&&T){De();return}if(y&&w){Oe();return}let e=++E;b=!0,S=!1,C=!1,w=!1,T=!1,delete a.dataset.warm,delete a.dataset.live,l.hidden=!0,l.replaceChildren(),y&&=(y.destroy(),null),(async()=>{try{R();let t=await Uo.startSession(be());if(x||e!==E){t.destroy();return}y=t,Se(t);let n=await t.attach({container:ee,onWidgetAudioSettings:e=>{x||Pe(e)},onStateUpdate:e=>{x||(e===`error`?L(`Could not load the experience.`):$(a.dataset.state)&&L(null))}});if(x||e!==E){t.destroy(),y===t&&(y=null);return}w=!0,n.on(`close`,()=>{x||z()})}catch(n){if(x||e!==E)return;let r=n instanceof Error?n:Error(String(n));L(r.message),t.onError?.(r),console.error(`[ExperienceWidget]`,r)}finally{e===E&&(b=!1)}})()},Me=()=>{if(!(x||$(a.dataset.state))){if(y&&T){De();return}if(y&&w){Oe();return}je()}},Ne=e=>{if(e.stopPropagation(),A()===`expanded`){Te();return}A()===`docked`&&Ee()},Pe=e=>{g.setAttribute(`aria-pressed`,e?`true`:`false`)},Fe=e=>{e.stopPropagation(),$(a.dataset.state)&&y?.toggleAudioSettings()},Ie=e=>{if(A()!==`docked`||!Us()||e.target?.closest(`button`))return;e.preventDefault(),oe=e.pointerId,p.classList.add(`liforma-ew__toolbar--dragging`),p.setPointerCapture(e.pointerId);let t=f.getBoundingClientRect();se=e.clientX-t.left,ce=e.clientY-t.top},Le=e=>{if(oe===null||e.pointerId!==oe||A()!==`docked`)return;let t=Bs(),n=Hs(e.clientX-se,e.clientY-ce,t);ie=n.left,ae=n.top,M(n.left,n.top,t.width,t.height)},Re=e=>{if(!(oe===null||e.pointerId!==oe)){oe=null,p.classList.remove(`liforma-ew__toolbar--dragging`);try{p.releasePointerCapture(e.pointerId)}catch{}}},ze=e=>{e.key===`Escape`&&$(a.dataset.state)&&(e.preventDefault(),z())},Be=()=>{if(!x){if(A()===`docked`){if(!Us()){Ee();return}T?I(()=>{P(!0)}):P(!0);return}N()}},Ve=typeof window<`u`?window.matchMedia(Ns):null,He=()=>{if(!x){if(A()===`docked`&&!Us()){Ee();return}N()}};return o.addEventListener(`click`,Me),d.addEventListener(`click`,z),_.addEventListener(`click`,e=>{e.stopPropagation(),z()}),h.addEventListener(`click`,Ne),g.addEventListener(`click`,Fe),p.addEventListener(`pointerdown`,Ie),p.addEventListener(`pointermove`,Le),p.addEventListener(`pointerup`,Re),p.addEventListener(`pointercancel`,Re),window.addEventListener(`keydown`,ze),window.addEventListener(`resize`,Be),Ve?.addEventListener(`change`,He),ye(),N(),r===`eager`?queueMicrotask(()=>{x||Ae()}):r===`idle`&&(D=tc(()=>{x||Ae()})),{root:a,expand:Me,collapse:z,dock:Te,maximize:Ee,prefetch(){if(r===`onExpand`){Ae();return}Ae()},destroy(){x||(x=!0,D?.(),D=null,le.abort(),re?.(),re=null,window.removeEventListener(`keydown`,ze),window.removeEventListener(`resize`,Be),Ve?.removeEventListener(`change`,He),we(),Ce(),e.replaceChildren())}}}var rc=`liforma-experience-widget`;function ic(e){if(e?.trim())try{let t=JSON.parse(e);if(t&&typeof t==`object`&&typeof t.avatarImage==`string`)return t}catch{}}function ac(e){let t=e?.trim();return t===`conversation`||t===`presenter`?t:void 0}function oc(e){let t=e?.trim();return t===`auto`||t===`manual`||t===`off`?t:void 0}function sc(e){let t=e?.trim();return t===`full`||t===`face`?t:void 0}function cc(e){let t=e?.trim();return t===`en`||t===`es`?t:void 0}function lc(e){let t=e?.trim();return t===`bottom-right`||t===`bottom-left`?t:`static`}var uc=class extends HTMLElement{static get observedAttributes(){return[`experience-id`,`alt`,`gallery-thumb`,`avatar-image`,`background-image`,`foreground-image`,`fallback-image`,`prefetch`,`parallax`,`position`,`offset`,`session-endpoint`,`language`,`mode`,`speech-input-mode`,`speech-only`,`fit`,`expanded-max-width`,`expanded-max-height`,`start-button-label`]}#e=null;#t=null;connectedCallback(){this.#n(),this.#r()}disconnectedCallback(){this.#e?.destroy(),this.#e=null}attributeChangedCallback(){this.isConnected&&(this.#n(),this.#r())}#n(){if(lc(this.getAttribute(`position`))!==`static`){this.style.display=`contents`,this.style.removeProperty(`width`),this.style.removeProperty(`height`),this.style.removeProperty(`min-height`);return}if(this.style.display=`block`,this.style.width||=`100%`,this.style.height||=`100%`,!this.style.minHeight){let e=getComputedStyle(this).minHeight;(e===`0px`||e===`auto`)&&(this.style.minHeight=`224px`)}}#r(){this.#e?.destroy(),this.#e=null;let e=this.getAttribute(`experience-id`)?.trim(),t=this.getAttribute(`alt`)?.trim()||`Open experience`;if(!e)return;let n=lc(this.getAttribute(`position`));this.#t||(this.#t=document.createElement(`div`),this.replaceChildren(this.#t)),this.#t.style.cssText=n===`static`?`width:100%;height:100%;min-height:inherit;`:`display:contents;`;let r=this.getAttribute(`prefetch`)?.trim(),i=r===`idle`||r===`eager`||r===`onExpand`?r:`onExpand`,a=this.getAttribute(`speech-only`),o=this.getAttribute(`offset`);try{this.#e=nc(this.#t,{experienceId:e,alt:t,galleryThumb:ic(this.getAttribute(`gallery-thumb`)),avatarImage:this.getAttribute(`avatar-image`)??void 0,backgroundImage:this.getAttribute(`background-image`)??void 0,foregroundImage:this.getAttribute(`foreground-image`)??void 0,fallbackImage:this.getAttribute(`fallback-image`)??void 0,prefetch:i,parallax:this.getAttribute(`parallax`)!==`false`,position:n,offset:o===null?void 0:o,sessionEndpoint:this.getAttribute(`session-endpoint`)??void 0,language:cc(this.getAttribute(`language`)),mode:ac(this.getAttribute(`mode`)),speechInputMode:oc(this.getAttribute(`speech-input-mode`)),speechOnly:a===null?void 0:a===``||a===`true`,fit:sc(this.getAttribute(`fit`)),expandedMaxWidth:this.getAttribute(`expanded-max-width`)??void 0,expandedMaxHeight:this.getAttribute(`expanded-max-height`)??void 0,startButtonLabel:this.getAttribute(`start-button-label`)??void 0,onExpanded:()=>{this.dispatchEvent(new CustomEvent(`expanded`,{bubbles:!0}))},onCollapsed:()=>{this.dispatchEvent(new CustomEvent(`collapsed`,{bubbles:!0}))},onStarted:()=>{this.dispatchEvent(new CustomEvent(`started`,{bubbles:!0}))},onClose:()=>{this.dispatchEvent(new CustomEvent(`close`,{bubbles:!0}))},onError:e=>{this.dispatchEvent(new CustomEvent(`error`,{detail:e,bubbles:!0}))}})}catch(e){console.error(`[liforma-experience-widget]`,e)}}};return typeof customElements<`u`&&!customElements.get(rc)&&customElements.define(rc,uc),window.Liforma={Experience:Uo,sdkVersion:`v2`,features:{speakApi:!0}},e.Experience=Uo,e})({});
809
+ `,Ic=`liforma-experience-widget-styles`;function Lc(e=Fc){if(typeof document>`u`)return;let t=document.getElementById(Ic);if(t){t.textContent=e;return}let n=document.createElement(`style`);n.id=Ic,n.textContent=e,document.head.append(n)}function Rc(e){return e===`bottom-right`||e===`bottom-left`?e:`static`}function zc(e){if(typeof e==`number`&&Number.isFinite(e))return`${e}px`;let t=typeof e==`string`?e.trim():``;return t?/^\d+(\.\d+)?$/.test(t)?`${t}px`:t:`16px`}function $(e){return e===`expanded`||e===`docked`}var Bc=`<svg viewBox="0 0 24 24" aria-hidden="true" focusable="false" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M10.325 4.317c.426-1.756 2.924-1.756 3.35 0a1.724 1.724 0 0 0 2.573 1.066c1.543-.94 3.31.826 2.37 2.37a1.724 1.724 0 0 0 1.065 2.572c1.756.426 1.756 2.924 0 3.35a1.724 1.724 0 0 0-1.066 2.573c.94 1.543-.826 3.31-2.37 2.37a1.724 1.724 0 0 0-2.572 1.065c-.426 1.756-2.924 1.756-3.35 0a1.724 1.724 0 0 0-2.573-1.066c-1.543.94-3.31-.826-2.37-2.37a1.724 1.724 0 0 0-1.065-2.572c-1.756-.426-1.756-2.924 0-3.35a1.724 1.724 0 0 0 1.066-2.573c-.94-1.543.826-3.31 2.37-2.37c1 .608 2.296.07 2.572-1.065"/><path d="M9 12a3 3 0 1 0 6 0a3 3 0 0 0-6 0"/></svg>`,Vc=`<svg viewBox="0 0 24 24" aria-hidden="true" focusable="false"><path fill="currentColor" d="M18.3 5.71a1 1 0 0 0-1.41 0L12 10.59 7.11 5.7A1 1 0 0 0 5.7 7.11L10.59 12l-4.9 4.89a1 1 0 1 0 1.42 1.42L12 13.41l4.89 4.9a1 1 0 0 0 1.42-1.42L13.41 12l4.9-4.89a1 1 0 0 0-.01-1.4Z"/></svg>`,Hc=`<svg viewBox="0 0 24 24" aria-hidden="true" focusable="false" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M18 10h-4V6m6-2l-6 6m-8 4h4v4m0-4l-6 6"/></svg>`,Uc=`<svg viewBox="0 0 24 24" aria-hidden="true" focusable="false" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M16 4h4v4m-6 2l6-6M8 20H4v-4m0 4l6-6"/></svg>`;function Wc(e,t,n){vc(gc);let r=Bs({galleryThumb:t.galleryThumb,avatarImage:t.avatarImage,backgroundImage:t.backgroundImage,foregroundImage:t.foregroundImage,fallbackImage:t.fallbackImage});if(!r)return e.replaceChildren(),null;let i=document.createElement(`div`);i.className=`liforma-et${r.backgroundImage?` liforma-et--scene`:``} liforma-et--revealed`,i.setAttribute(`aria-hidden`,`true`);let a=document.createElement(`span`);a.className=`liforma-et__placeholder`,a.setAttribute(`aria-hidden`,`true`),i.append(a);let o=e=>{e.classList.add(`liforma-et__media--ready`)};if(r.backgroundImage){let e=document.createElement(`img`);e.className=`liforma-et__background liforma-et__media`,e.alt=``,e.decoding=`async`,e.src=r.backgroundImage,e.addEventListener(`load`,()=>o(e),{once:!0}),i.append(e)}let s=document.createElement(`img`);if(s.className=`liforma-et__avatar liforma-et__media`,s.alt=``,s.decoding=`async`,s.src=r.avatarImage,s.addEventListener(`load`,()=>o(s),{once:!0}),s.addEventListener(`error`,()=>{r.fallbackImage&&(s.src=r.fallbackImage)},{once:!0}),i.append(s),r.foregroundImage){let e=document.createElement(`img`);e.className=`liforma-et__foreground liforma-et__media`,e.alt=``,e.decoding=`async`,e.src=r.foregroundImage,e.addEventListener(`load`,()=>o(e),{once:!0}),i.append(e)}return e.replaceChildren(i),n?.parallax===!1?()=>{}:hc(i)}function Gc(e){return e.startButton?{...e.startButton,label:e.startButton.label??e.startButtonLabel??`Tap to talk`,placement:e.startButton.placement??`bottom-center`,variant:e.startButton.variant??`primary`}:{label:e.startButtonLabel??`Tap to talk`,placement:`bottom-center`,variant:`primary`}}function Kc(e){let t=!1,n=()=>{t||e()},r=()=>{if(t)return;let e=window.requestIdleCallback;if(typeof e==`function`){let t=e(n,{timeout:3e3});i=()=>{window.cancelIdleCallback?.(t)};return}let r=window.setTimeout(n,1);i=()=>window.clearTimeout(r)},i=null;return document.readyState===`complete`?r():window.addEventListener(`load`,r,{once:!0}),()=>{t=!0,window.removeEventListener(`load`,r),i?.()}}function qc(e,t){Lc(Fc);let n=t.experienceId?.trim();if(!n)throw Error(`ExperienceWidget requires experienceId.`);let r=t.prefetch??`onExpand`,i=Rc(t.position),a=document.createElement(`div`);a.className=`liforma-ew`,a.dataset.state=`collapsed`,a.dataset.prefetch=r,a.dataset.position=i,a.style.setProperty(`--liforma-ew-max-w`,t.expandedMaxWidth??`100%`),a.style.setProperty(`--liforma-ew-max-h`,t.expandedMaxHeight??`100%`),i!==`static`&&a.style.setProperty(`--liforma-ew-offset`,zc(t.offset));let o=document.createElement(`button`);o.type=`button`,o.className=`liforma-ew__hit`,o.setAttribute(`aria-label`,t.alt),o.disabled=!0;let s=document.createElement(`div`);s.className=`liforma-ew__face`,o.append(s);let c=document.createElement(`div`);c.className=`liforma-ew__face-status`,c.textContent=`Loading…`,s.append(c);let l=document.createElement(`div`);l.className=`liforma-ew__warm`,l.hidden=!0,l.setAttribute(`aria-hidden`,`true`);let u=document.createElement(`div`);u.className=`liforma-ew__overlay`,u.hidden=!0,u.setAttribute(`role`,`dialog`),u.setAttribute(`aria-modal`,`true`),u.setAttribute(`aria-label`,t.alt);let d=document.createElement(`button`);d.type=`button`,d.className=`liforma-ew__backdrop`,d.setAttribute(`aria-label`,`Close experience`);let f=document.createElement(`div`);f.className=`liforma-ew__panel`;let p=document.createElement(`div`);p.className=`liforma-ew__toolbar`,p.hidden=!0;let m=document.createElement(`span`);m.className=`liforma-ew__drag-grip`,m.setAttribute(`aria-hidden`,`true`);let h=document.createElement(`button`);h.type=`button`,h.className=`liforma-ew__icon-btn liforma-ew__dock-toggle`,h.innerHTML=Hc,h.setAttribute(`aria-label`,`Reduce`);let g=document.createElement(`button`);g.type=`button`,g.className=`liforma-ew__icon-btn liforma-ew__settings`,g.innerHTML=Bc,g.setAttribute(`aria-label`,`Audio settings`),g.setAttribute(`aria-pressed`,`false`);let _=document.createElement(`button`);_.type=`button`,_.className=`liforma-ew__icon-btn liforma-ew__close`,_.innerHTML=Vc,_.setAttribute(`aria-label`,`Close`),p.append(m,h,g,_);let ee=document.createElement(`div`);ee.className=`liforma-ew__stage`;let v=document.createElement(`div`);v.className=`liforma-ew__status`,v.hidden=!0,f.append(ee,v),u.append(d,f),a.append(o,l,u,p),e.replaceChildren(a);let y=null,b=!1,x=!1,te=!1,S=!1,C=!1,w=!1,T=!1,E=0,ne=``,re=null,D=null,O=null,k=null,ie=null,ae=null,oe=null,se=0,ce=0,le=new AbortController,ue=t.parallax!==!1,A=()=>{let e=a.dataset.state;return e===`expanded`||e===`docked`||e===`collapsed`?e:`collapsed`},de=()=>{O!==null&&(clearTimeout(O),O=null)},j=()=>{k!==null&&(clearTimeout(k),k=null),a.classList.remove(`liforma-ew--layout-settling`)},fe=()=>{for(let e of[f,l,p])e.style.removeProperty(`left`),e.style.removeProperty(`top`),e.style.removeProperty(`width`),e.style.removeProperty(`height`),e.style.removeProperty(`right`),e.style.removeProperty(`bottom`);p.classList.remove(`liforma-ew__toolbar--dragging`)},M=(e,t,n,r)=>{let i=i=>{i.style.left=`${e}px`,i.style.top=`${t}px`,i.style.width=`${n}px`,i.style.height=`${r}px`,i.style.right=`auto`,i.style.bottom=`auto`};i(f),i(l);let a=p.offsetWidth||120;p.style.left=`${e+n-a-10}px`,p.style.top=`${t+10}px`,p.style.right=`auto`,p.style.bottom=`auto`,p.style.width=`auto`,p.style.height=`auto`},N=()=>{let e=Pc(),t=A();if(!e||t!==`expanded`&&t!==`docked`){h.hidden=!0;return}h.hidden=!1,t===`docked`?(h.innerHTML=Uc,h.setAttribute(`aria-label`,`Maximize`)):(h.innerHTML=Hc,h.setAttribute(`aria-label`,`Reduce`))},P=e=>{let t=jc(),n=e&&ie!==null&&ae!==null?Nc(ie,ae,t):Mc(t);n=Nc(n.left,n.top,t),ie=n.left,ae=n.top,M(n.left,n.top,t.width,t.height),N()},pe=()=>{a.classList.remove(`liforma-ew--session-revealed`),requestAnimationFrame(()=>{requestAnimationFrame(()=>{x||!$(a.dataset.state)||a.classList.add(`liforma-ew--session-revealed`)})})},F=e=>{if(j(),a.classList.remove(`liforma-ew--session-revealed`),a.classList.add(`liforma-ew--layout-settling`),e(),!T){a.classList.remove(`liforma-ew--layout-settling`);return}k=setTimeout(()=>{if(k=null,x||!$(a.dataset.state)){a.classList.remove(`liforma-ew--layout-settling`);return}a.classList.remove(`liforma-ew--layout-settling`),pe()},220)},me=()=>(a.classList.add(`liforma-ew--session-concealing`),a.classList.remove(`liforma-ew--session-revealed`),new Promise(e=>{de(),O=setTimeout(()=>{O=null,a.classList.remove(`liforma-ew--session-concealing`),e()},280)})),he={galleryThumb:t.galleryThumb,avatarImage:t.avatarImage,backgroundImage:t.backgroundImage,foregroundImage:t.foregroundImage,fallbackImage:t.fallbackImage},I=e=>{if(!e){v.hidden=!0,v.textContent=``;return}v.hidden=!1,v.textContent=e},ge=e=>{if(!e){c.hidden=!0,c.textContent=``;return}c.hidden=!1,c.textContent=e,s.contains(c)||s.append(c)},_e=()=>{te=!0,o.disabled=!1,ge(null),r===`onExpand`&&t.onPrefetchReady?.()},ve=()=>{S=!0,a.dataset.warm=`true`,l.hidden=!1,T||(o.tabIndex=-1,o.setAttribute(`aria-hidden`,`true`)),t.onPrefetchReady?.()},ye=e=>{re?.(),re=null;let t=Wc(s,e,{parallax:ue});return t?(re=t,!0):!1},be=()=>{if(ye(he)){_e();return}ge(`Loading…`),Cc(n,{signal:le.signal}).then(e=>{if(!x){if(!ye({galleryThumb:e.galleryThumb}))throw Error(`Experience preview is missing gallery thumb images.`);_e()}}).catch(e=>{if(x||le.signal.aborted)return;let n=e instanceof Error?e:Error(String(e));ge(`Preview unavailable`),o.disabled=!0,t.onError?.(n),console.error(`[ExperienceWidget]`,n)})},xe=()=>({experienceId:n,...t.sessionEndpoint?{sessionEndpoint:t.sessionEndpoint}:{},...t.language?{language:t.language}:{},...t.mode?{mode:t.mode}:{},...t.speechInputMode?{speechInputMode:t.speechInputMode}:{},...t.speechOnly===void 0?{}:{speechOnly:t.speechOnly},...t.fit?{fit:t.fit}:{},...t.embedBaseUrl?{embedBaseUrl:t.embedBaseUrl}:{},startButton:Gc(t)}),L=(e=!0)=>{o.hidden=!0,u.hidden=!1,p.hidden=!1,u.setAttribute(`aria-modal`,`true`),fe(),a.dataset.state=`expanded`,I(null),typeof document<`u`&&(ne=document.body.style.overflow,document.body.style.overflow=`hidden`),N(),e&&t.onExpanded?.()},Se=()=>{o.hidden=!0,u.hidden=!1,p.hidden=!1,u.setAttribute(`aria-modal`,`false`),a.dataset.state=`docked`,I(null),typeof document<`u`&&(document.body.style.overflow=ne),P(!0),N()},Ce=e=>{e.on(`started`,()=>{x||(T=!0,a.dataset.live=`true`,I(null),t.onStarted?.(),$(a.dataset.state)&&pe())})},we=()=>{j(),u.hidden=!0,p.hidden=!0,fe(),a.dataset.state=`collapsed`,a.classList.remove(`liforma-ew--session-revealed`),a.classList.remove(`liforma-ew--session-concealing`),g.setAttribute(`aria-pressed`,`false`),o.hidden=!1,o.tabIndex=0,o.removeAttribute(`aria-hidden`),te&&(o.disabled=!1),I(null),typeof document<`u`&&(document.body.style.overflow=ne),N()},Te=()=>{de(),j(),E+=1,b=!1,S=!1,C=!1,w=!1,T=!1;let e=y;y=null,e?.destroy(),ee.replaceChildren(),l.replaceChildren(),l.hidden=!0,delete a.dataset.warm,delete a.dataset.live,a.classList.remove(`liforma-ew--session-revealed`)},R=()=>{if(!x&&$(a.dataset.state)){if(b=!1,y&&w){let e=y;(async()=>{T&&(await me(),x||y!==e)||(S&&e.setWidgetChrome(`collapsed`),we(),T?(a.dataset.live=`true`,o.tabIndex=0,o.removeAttribute(`aria-hidden`),o.disabled=!1):S&&ve(),t.onCollapsed?.(),t.onClose?.())})();return}Te(),we(),t.onCollapsed?.(),t.onClose?.()}},Ee=()=>{x||Pc()&&A()===`expanded`&&F(()=>{Se()})},De=()=>{x||A()===`docked`&&F(()=>{fe(),L(!1),y?.setWidgetChrome(`expanded`)})},Oe=()=>{!y||!T||(de(),a.classList.remove(`liforma-ew--session-revealed`),L(),y.setWidgetChrome(`expanded`),b=!1,pe())},ke=()=>{!y||!w||T||(de(),a.classList.remove(`liforma-ew--session-revealed`),L(),b=!1,S&&y.setWidgetChrome(`expanded`))},Ae=e=>{x||e!==E&&!T||(de(),a.classList.remove(`liforma-ew--session-revealed`),L(),b=!1,y?.setWidgetChrome(`expanded`),T&&pe())},je=()=>{if(x||C||S||y||$(a.dataset.state))return;C=!0;let e=E;l.hidden=!1,(async()=>{try{let t=await gs.startSession({...xe(),ui:`widget`});if(x||e!==E){t.destroy();return}y=t,Ce(t);let n=await t.attach({container:l,onWidgetReady:()=>{x||e!==E||(C=!1,w=!0,ve())},onWidgetExpand:()=>{Ae(e)},onWidgetAudioSettings:e=>{x||Fe(e)},onStateUpdate:e=>{x||e===`error`&&$(a.dataset.state)&&I(`Could not load the experience.`)}});if(x||e!==E){t.destroy(),y===t&&(y=null);return}w=!0,n.on(`close`,()=>{x||R()})}catch(n){if(x||e!==E)return;C=!1,l.hidden=!0,l.replaceChildren(),y=null;let r=n instanceof Error?n:Error(String(n));t.onError?.(r),console.error(`[ExperienceWidget] warm prefetch failed`,r)}})()},Me=()=>{if(x||b||!te||$(a.dataset.state))return;if(y&&T){Oe();return}if(y&&w){ke();return}let e=++E;b=!0,S=!1,C=!1,w=!1,T=!1,delete a.dataset.warm,delete a.dataset.live,l.hidden=!0,l.replaceChildren(),y&&=(y.destroy(),null),(async()=>{try{L();let t=await gs.startSession(xe());if(x||e!==E){t.destroy();return}y=t,Ce(t);let n=await t.attach({container:ee,onWidgetAudioSettings:e=>{x||Fe(e)},onStateUpdate:e=>{x||(e===`error`?I(`Could not load the experience.`):$(a.dataset.state)&&I(null))}});if(x||e!==E){t.destroy(),y===t&&(y=null);return}w=!0,n.on(`close`,()=>{x||R()})}catch(n){if(x||e!==E)return;let r=n instanceof Error?n:Error(String(n));I(r.message),t.onError?.(r),console.error(`[ExperienceWidget]`,r)}finally{e===E&&(b=!1)}})()},Ne=()=>{if(!(x||$(a.dataset.state))){if(y&&T){Oe();return}if(y&&w){ke();return}Me()}},Pe=e=>{if(e.stopPropagation(),A()===`expanded`){Ee();return}A()===`docked`&&De()},Fe=e=>{g.setAttribute(`aria-pressed`,e?`true`:`false`)},Ie=e=>{e.stopPropagation(),$(a.dataset.state)&&y?.toggleAudioSettings()},Le=e=>{if(A()!==`docked`||!Pc()||e.target?.closest(`button`))return;e.preventDefault(),oe=e.pointerId,p.classList.add(`liforma-ew__toolbar--dragging`),p.setPointerCapture(e.pointerId);let t=f.getBoundingClientRect();se=e.clientX-t.left,ce=e.clientY-t.top},Re=e=>{if(oe===null||e.pointerId!==oe||A()!==`docked`)return;let t=jc(),n=Nc(e.clientX-se,e.clientY-ce,t);ie=n.left,ae=n.top,M(n.left,n.top,t.width,t.height)},ze=e=>{if(!(oe===null||e.pointerId!==oe)){oe=null,p.classList.remove(`liforma-ew__toolbar--dragging`);try{p.releasePointerCapture(e.pointerId)}catch{}}},Be=e=>{e.key===`Escape`&&$(a.dataset.state)&&(e.preventDefault(),R())},Ve=()=>{if(!x){if(A()===`docked`){if(!Pc()){De();return}T?F(()=>{P(!0)}):P(!0);return}N()}},He=typeof window<`u`?window.matchMedia(wc):null,Ue=()=>{if(!x){if(A()===`docked`&&!Pc()){De();return}N()}};return o.addEventListener(`click`,Ne),d.addEventListener(`click`,R),_.addEventListener(`click`,e=>{e.stopPropagation(),R()}),h.addEventListener(`click`,Pe),g.addEventListener(`click`,Ie),p.addEventListener(`pointerdown`,Le),p.addEventListener(`pointermove`,Re),p.addEventListener(`pointerup`,ze),p.addEventListener(`pointercancel`,ze),window.addEventListener(`keydown`,Be),window.addEventListener(`resize`,Ve),He?.addEventListener(`change`,Ue),be(),N(),r===`eager`?queueMicrotask(()=>{x||je()}):r===`idle`&&(D=Kc(()=>{x||je()})),{root:a,expand:Ne,collapse:R,dock:Ee,maximize:De,prefetch(){if(r===`onExpand`){je();return}je()},destroy(){x||(x=!0,D?.(),D=null,le.abort(),re?.(),re=null,window.removeEventListener(`keydown`,Be),window.removeEventListener(`resize`,Ve),He?.removeEventListener(`change`,Ue),Te(),we(),e.replaceChildren())}}}var Jc=`liforma-experience-widget`;function Yc(e){if(e?.trim())try{let t=JSON.parse(e);if(t&&typeof t==`object`&&typeof t.avatarImage==`string`)return t}catch{}}function Xc(e){let t=e?.trim();return t===`conversation`||t===`presenter`?t:void 0}function Zc(e){let t=e?.trim();return t===`auto`||t===`manual`||t===`off`?t:void 0}function Qc(e){let t=e?.trim();return t===`full`||t===`face`?t:void 0}function $c(e){let t=e?.trim();return t===`en`||t===`es`?t:void 0}function el(e){let t=e?.trim();return t===`bottom-right`||t===`bottom-left`?t:`static`}var tl=class extends HTMLElement{static get observedAttributes(){return[`experience-id`,`alt`,`gallery-thumb`,`avatar-image`,`background-image`,`foreground-image`,`fallback-image`,`prefetch`,`parallax`,`position`,`offset`,`session-endpoint`,`language`,`mode`,`speech-input-mode`,`speech-only`,`fit`,`expanded-max-width`,`expanded-max-height`,`start-button-label`]}#e=null;#t=null;connectedCallback(){this.#n(),this.#r()}disconnectedCallback(){this.#e?.destroy(),this.#e=null}attributeChangedCallback(){this.isConnected&&(this.#n(),this.#r())}#n(){if(el(this.getAttribute(`position`))!==`static`){this.style.display=`contents`,this.style.removeProperty(`width`),this.style.removeProperty(`height`),this.style.removeProperty(`min-height`);return}if(this.style.display=`block`,this.style.width||=`100%`,this.style.height||=`100%`,!this.style.minHeight){let e=getComputedStyle(this).minHeight;(e===`0px`||e===`auto`)&&(this.style.minHeight=`224px`)}}#r(){this.#e?.destroy(),this.#e=null;let e=this.getAttribute(`experience-id`)?.trim(),t=this.getAttribute(`alt`)?.trim()||`Open experience`;if(!e)return;let n=el(this.getAttribute(`position`));this.#t||(this.#t=document.createElement(`div`),this.replaceChildren(this.#t)),this.#t.style.cssText=n===`static`?`width:100%;height:100%;min-height:inherit;`:`display:contents;`;let r=this.getAttribute(`prefetch`)?.trim(),i=r===`idle`||r===`eager`||r===`onExpand`?r:`onExpand`,a=this.getAttribute(`speech-only`),o=this.getAttribute(`offset`);try{this.#e=qc(this.#t,{experienceId:e,alt:t,galleryThumb:Yc(this.getAttribute(`gallery-thumb`)),avatarImage:this.getAttribute(`avatar-image`)??void 0,backgroundImage:this.getAttribute(`background-image`)??void 0,foregroundImage:this.getAttribute(`foreground-image`)??void 0,fallbackImage:this.getAttribute(`fallback-image`)??void 0,prefetch:i,parallax:this.getAttribute(`parallax`)!==`false`,position:n,offset:o===null?void 0:o,sessionEndpoint:this.getAttribute(`session-endpoint`)??void 0,language:$c(this.getAttribute(`language`)),mode:Xc(this.getAttribute(`mode`)),speechInputMode:Zc(this.getAttribute(`speech-input-mode`)),speechOnly:a===null?void 0:a===``||a===`true`,fit:Qc(this.getAttribute(`fit`)),expandedMaxWidth:this.getAttribute(`expanded-max-width`)??void 0,expandedMaxHeight:this.getAttribute(`expanded-max-height`)??void 0,startButtonLabel:this.getAttribute(`start-button-label`)??void 0,onExpanded:()=>{this.dispatchEvent(new CustomEvent(`expanded`,{bubbles:!0}))},onCollapsed:()=>{this.dispatchEvent(new CustomEvent(`collapsed`,{bubbles:!0}))},onStarted:()=>{this.dispatchEvent(new CustomEvent(`started`,{bubbles:!0}))},onClose:()=>{this.dispatchEvent(new CustomEvent(`close`,{bubbles:!0}))},onError:e=>{this.dispatchEvent(new CustomEvent(`error`,{detail:e,bubbles:!0}))}})}catch(e){console.error(`[liforma-experience-widget]`,e)}}};return typeof customElements<`u`&&!customElements.get(Jc)&&customElements.define(Jc,tl),window.Liforma={Experience:gs,sdkVersion:`v2`,features:{speakApi:!0,speechAudioApi:!0}},e.Experience=gs,e.SPEECH_LIMITS=Yo,e.SpeechBufferTimeoutError=Qo,e.SpeechRuntimeError=Q,e.SpeechUtteranceClosedError=Zo,e.UnsupportedSpeechOperationError=Xo,e})({});
806
810
  //# sourceMappingURL=client.js.map