@gengage/assistant-fe 0.6.42 → 0.6.45

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 (38) hide show
  1. package/dist/chat/components/ChatDrawer.d.ts +5 -1
  2. package/dist/chat/components/productMentionLinker.d.ts +5 -5
  3. package/dist/chat/runtime.d.ts +4 -1
  4. package/dist/chat/types.d.ts +18 -0
  5. package/dist/chat-runtime.js +1 -1
  6. package/dist/chat.iife.js +12 -12
  7. package/dist/chat.js +1 -1
  8. package/dist/common/overlay.d.ts +1 -0
  9. package/dist/common/transport.d.ts +1 -0
  10. package/dist/common/types.d.ts +1 -0
  11. package/dist/{common-B9n_o9ki.js → common-BqApfsJV.js} +2 -2
  12. package/dist/common.js +7 -7
  13. package/dist/{connection-warning-ByY3TKaG.js → connection-warning-B829KlSR.js} +1 -1
  14. package/dist/{fastIntent-BaNC2CJz.js → fastIntent-DtopsdAD.js} +1 -1
  15. package/dist/index.d.ts +1 -1
  16. package/dist/index.js +12 -12
  17. package/dist/{native-webview-Ch9lsx7E.js → native-webview-CYX30O3Q.js} +1 -1
  18. package/dist/native.iife.js +8 -8
  19. package/dist/native.js +1 -1
  20. package/dist/{overlay-CPLLn1eK.js → overlay-BPZEIyo_.js} +1 -1
  21. package/dist/overlay.js +1 -1
  22. package/dist/qna-runtime.js +1 -1
  23. package/dist/qna.iife.js +8 -8
  24. package/dist/qna.js +1 -1
  25. package/dist/request-response-cache-DIu22gmN.js +1491 -0
  26. package/dist/{runtime-_ly8XVXC.js → runtime-5Iu4s-BA.js} +1206 -1153
  27. package/dist/{runtime-CmpEARET.js → runtime-BmIfwBR6.js} +3 -3
  28. package/dist/{runtime-BkqUiRUi.js → runtime-Dly7YrGI.js} +3 -3
  29. package/dist/{simbut-CltMk2OF.js → simbut-DN8UCH7t.js} +1 -1
  30. package/dist/simbut.iife.js +2 -2
  31. package/dist/simbut.js +1 -1
  32. package/dist/{simrel-BuCc53Pw.js → simrel-DGfunNnJ.js} +1 -1
  33. package/dist/simrel-runtime.js +1 -1
  34. package/dist/simrel.iife.js +3 -3
  35. package/dist/simrel.js +2 -2
  36. package/dist/{widget-base-vDXD27_n.js → widget-base-DH9dsYIO.js} +4 -1
  37. package/package.json +1 -1
  38. package/dist/request-response-cache-DkilqELR.js +0 -1475
package/dist/qna.iife.js CHANGED
@@ -1,4 +1,4 @@
1
- (function(M){Object.defineProperty(M,Symbol.toStringTag,{value:"Module"});var xn=({element:e,renderElement:t})=>{if(!e.children||e.children.length===0)return null;const n=document.createElement("div");for(const r of e.children){const o=t(r);o&&n.appendChild(o)}return n};function On(e){const t=document.createElement("div");if(t.className=e.containerClassName,!e.spec.elements[e.spec.root])return t;const n=e.unknownRenderer??xn,r=i=>{const s=e.spec.elements[i];if(!s)return null;const a=e.registry[s.type];return a?a({elementId:i,element:s,spec:e.spec,context:e.context,renderElement:r}):n({elementId:i,element:s,spec:e.spec,context:e.context,renderElement:r})},o=r(e.spec.root);return o&&t.appendChild(o),t}function Zn(e,t){if(!t)return e;const n={...e};for(const[r,o]of Object.entries(t))o&&(n[r]=o);return n}var Rn=["http:","https:"];function Ln(e){const t=e.trim();if(!t)return!1;if(t.startsWith("/")&&!t.startsWith("//"))return!0;try{return Rn.includes(new URL(t).protocol)}catch{return!1}}function Nn(){return typeof window<"u"&&Array.isArray(window.dataLayer)}function Pe(e,t){const n={event:e,...t};Nn()&&window.dataLayer.push(n)}function jn(e){Pe("gengage-on-init",{gengage_widget:e})}function qn(e){Pe("gengage-show",{gengage_widget:e})}function Dn(e,t){Pe("gengage-suggested-question",{gengage_question_title:e,gengage_action_type:t})}function Ce(e,t){window.dispatchEvent(new CustomEvent(e,{detail:t,bubbles:!1}))}function nt(e,t){const n=r=>{t(r.detail)};return window.addEventListener(e,n),()=>window.removeEventListener(e,n)}function Un(){const e=window.__gengageSessionId??sessionStorage.getItem("gengage_session_id")??null??crypto.randomUUID();return window.__gengageSessionId=e,sessionStorage.setItem("gengage_session_id",e),window.gengage||(window.gengage={}),window.gengage.sessionId=e,e}function Bn(e){return{sessionId:e?.sessionId??Un(),...e}}var rt={"--gengage-chat-offset":"20px","--gengage-chat-launcher-width":"56px","--gengage-chat-launcher-height":"56px","--gengage-chat-width":"400px","--gengage-chat-shell-radius":"1rem","--gengage-chat-header-height":"72px","--gengage-chat-conversation-width":"396px","--gengage-chat-panel-min-width":"320px","--gengage-chat-panel-max-width":"1200px","--gengage-chat-input-height":"48px","--gengage-qna-pill-radius":"999px","--gengage-qna-input-radius":"12px","--gengage-simrel-card-radius":"0.75rem","--radius-control":"12px","--radius-card":"16px","--radius-panel":"24px","--radius-pill":"999px","--surface-card-muted":"#f8fafc","--text-secondary":"#4b5563","--text-muted":"#6b7280","--border-default":"rgba(17, 24, 39, 0.10)"};function Mn(e){if(!e)return{...rt};const t={...rt,...e},n=e["--gengage-chat-launcher-size"];return n!==void 0&&(e["--gengage-chat-launcher-width"]===void 0&&(t["--gengage-chat-launcher-width"]=n),e["--gengage-chat-launcher-height"]===void 0&&(t["--gengage-chat-launcher-height"]=n)),t}var R={primaryColor:"#b7102a",primaryForeground:"#ffffff",backgroundColor:"#ffffff",foregroundColor:"#111827",borderRadius:"0.75rem",fontFamily:'"Plus Jakarta Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif',fontSize:"14px",zIndex:"1000","--glov-chatbot-width":"420px","--glov-left-spacing":"260px","--chatbot-padding":"16px","--root-wrapper-background-color":"#f8f9fa","--root-wrapper-border-color":"#edeeef","--gengage-chat-width":"400px","--gengage-chat-shell-radius":"1rem","--gengage-chat-header-height":"72px","--gengage-chat-conversation-width":"396px","--gengage-chat-panel-min-width":"320px","--gengage-chat-panel-max-width":"1200px","--gengage-chat-input-height":"48px","--gengage-qna-pill-radius":"999px","--gengage-qna-input-radius":"0.75rem","--gengage-simrel-card-radius":"0.75rem","--client-primary":"#b7102a","--client-primary-hover":"color-mix(in srgb, #b7102a 88%, black 12%)","--client-primary-active":"color-mix(in srgb, #b7102a 78%, black 22%)","--client-primary-subtle":"color-mix(in srgb, #b7102a 12%, white)","--client-primary-soft":"color-mix(in srgb, #b7102a 20%, white)","--client-on-primary":"#ffffff","--client-focus-ring":"color-mix(in srgb, #b7102a 32%, transparent)","--surface-page":"#f6f7fb","--surface-shell":"#10131a","--surface-card":"#ffffff","--surface-card-muted":"#f8fafc","--surface-card-soft":"#f8fafc","--surface-elevated":"#ffffff","--surface-input":"#ffffff","--surface-overlay":"rgba(16, 19, 26, 0.52)","--text-primary":"#111827","--text-secondary":"#4b5563","--text-muted":"#6b7280","--text-inverse":"#f9fafb","--border-subtle":"rgba(17, 24, 39, 0.06)","--border-default":"rgba(17, 24, 39, 0.10)","--border-strong":"rgba(17, 24, 39, 0.18)","--shadow-1":"0 1px 2px rgba(16, 24, 40, 0.04), 0 1px 3px rgba(16, 24, 40, 0.06)","--shadow-2":"0 4px 12px rgba(16, 24, 40, 0.08)","--shadow-3":"0 10px 24px rgba(16, 24, 40, 0.12)","--radius-control":"12px","--radius-card":"16px","--radius-panel":"24px","--radius-pill":"999px","--success":"#16a34a","--warning":"#d97706","--error":"#dc2626","--info":"#2563eb","--rating":"#f5b301","--ai-accent-start":"#0b24d6","--ai-accent-end":"#f768f2","--ai-accent-soft":"linear-gradient(135deg, rgba(11, 36, 214, 0.08), rgba(247, 104, 242, 0.08))"},D="gengage-global-toast-root",ot="gengage-global-toast-style",xe="gengage-global-toast-root--visible",Fn=4200,Hn=1500,Jn=15e3,Qn=["--gengage-font-family","--surface-card","--text-primary","--text-muted","--border-default","--radius-card","--shadow-3","--error","--ds-toast-error-bg","--ds-toast-error-border","--ds-toast-error-accent","--ds-toast-error-fg","--ds-toast-error-shadow"],it=!1,F=null,Wn=[/failed to fetch/i,/networkerror/i,/network request failed/i,/load failed/i,/err_network/i,/fetch failed/i,/network error/i];function st(e){return typeof e=="string"&&e.toLowerCase().startsWith("tr")}function Vn(e){if(typeof navigator<"u"&&navigator.onLine===!1)return!0;const t=e instanceof Error?e.message.trim():"";return t?Wn.some(n=>n.test(t)):!1}function Gn(e,t){return Vn(t)?st(e)?"Bağlantı sorunu oluştu. Lütfen tekrar deneyin.":"Connection issue. Please try again.":st(e)?"Bir hata oluştu. Lütfen tekrar deneyin.":"Something went wrong. Please try again."}function Kn(){it||typeof window>"u"||typeof document>"u"||(it=!0,nt("gengage:global:error",e=>{Oe(e)}))}function Oe(e){if(typeof document>"u")return;const t=e.message.trim();if(!t)return;nr();const n=Xn();er(n),n.innerHTML="";const r=document.createElement("section");r.className="gengage-global-toast gengage-global-toast--error",r.setAttribute("role","status"),r.setAttribute("aria-live","polite");const o=document.createElement("div");o.className="gengage-global-toast-title",o.textContent=Yn(e.source);const i=document.createElement("div");i.className="gengage-global-toast-message",i.textContent=t,r.appendChild(o),r.appendChild(i),n.appendChild(r),n.classList.add(xe),F&&(clearTimeout(F),F=null),e.sticky!==!0&&(F=setTimeout(()=>{at()},tr(e.durationMs)))}function at(){if(typeof document>"u")return;const e=document.getElementById(D);e&&(e.classList.remove(xe),e.innerHTML="",F&&(clearTimeout(F),F=null))}function Yn(e){switch(e){case"chat":return"Chat warning";case"qna":return"QnA warning";case"simrel":return"Widget warning";default:return"Connection warning"}}function Xn(){const e=document.getElementById(D);if(e instanceof HTMLElement)return e;const t=document.createElement("div");return t.id=D,t.className="gengage-global-toast-root",document.body.appendChild(t),t}function er(e){if(typeof document>"u"||typeof window>"u")return;const t=document.querySelector(".gengage-chat-root, .gengage-qna-container, .gengage-simrel-container, .gengage-simbut-root");if(!t)return;const n=window.getComputedStyle(t);for(const r of Qn){const o=n.getPropertyValue(r).trim();o?e.style.setProperty(r,o):e.style.removeProperty(r)}}function tr(e){return typeof e!="number"||!Number.isFinite(e)?Fn:Math.min(Jn,Math.max(Hn,Math.round(e)))}function nr(){if(document.getElementById(ot))return;const e=document.createElement("style");e.id=ot;const t=R["--surface-card"]??R.backgroundColor??"#ffffff",n=R["--text-primary"]??R.foregroundColor??"#111827",r=R["--border-default"]??"rgba(17, 24, 39, 0.10)",o=R["--error"]??"#dc2626",i=R["--shadow-3"]??"0 10px 24px rgba(16, 24, 40, 0.12)",s=R["--radius-card"]??"16px",a=R["--text-muted"]??"#6b7280";e.textContent=`
1
+ (function(M){Object.defineProperty(M,Symbol.toStringTag,{value:"Module"});var xn=({element:e,renderElement:t})=>{if(!e.children||e.children.length===0)return null;const n=document.createElement("div");for(const r of e.children){const o=t(r);o&&n.appendChild(o)}return n};function On(e){const t=document.createElement("div");if(t.className=e.containerClassName,!e.spec.elements[e.spec.root])return t;const n=e.unknownRenderer??xn,r=i=>{const s=e.spec.elements[i];if(!s)return null;const a=e.registry[s.type];return a?a({elementId:i,element:s,spec:e.spec,context:e.context,renderElement:r}):n({elementId:i,element:s,spec:e.spec,context:e.context,renderElement:r})},o=r(e.spec.root);return o&&t.appendChild(o),t}function Zn(e,t){if(!t)return e;const n={...e};for(const[r,o]of Object.entries(t))o&&(n[r]=o);return n}var Rn=["http:","https:"];function Ln(e){const t=e.trim();if(!t)return!1;if(t.startsWith("/")&&!t.startsWith("//"))return!0;try{return Rn.includes(new URL(t).protocol)}catch{return!1}}function Nn(){return typeof window<"u"&&Array.isArray(window.dataLayer)}function Pe(e,t){const n={event:e,...t};Nn()&&window.dataLayer.push(n)}function jn(e){Pe("gengage-on-init",{gengage_widget:e})}function qn(e){Pe("gengage-show",{gengage_widget:e})}function Dn(e,t){Pe("gengage-suggested-question",{gengage_question_title:e,gengage_action_type:t})}function Ce(e,t){window.dispatchEvent(new CustomEvent(e,{detail:t,bubbles:!1}))}function nt(e,t){const n=r=>{t(r.detail)};return window.addEventListener(e,n),()=>window.removeEventListener(e,n)}function Un(){const e=window.__gengageSessionId??sessionStorage.getItem("gengage_session_id")??null??crypto.randomUUID();return window.__gengageSessionId=e,sessionStorage.setItem("gengage_session_id",e),window.gengage||(window.gengage={}),window.gengage.sessionId=e,e}function Bn(e){return{sessionId:e?.sessionId??Un(),...e}}var rt={"--gengage-chat-offset":"20px","--gengage-chat-launcher-width":"56px","--gengage-chat-launcher-height":"56px","--gengage-chat-width":"400px","--gengage-chat-shell-radius":"1rem","--gengage-chat-header-height":"72px","--gengage-chat-conversation-width":"396px","--gengage-chat-panel-min-width":"320px","--gengage-chat-panel-max-width":"1200px","--gengage-chat-input-height":"48px","--gengage-qna-pill-radius":"999px","--gengage-qna-input-radius":"12px","--gengage-simrel-card-radius":"0.75rem","--radius-control":"12px","--radius-card":"16px","--radius-panel":"24px","--radius-pill":"999px","--surface-card-muted":"#f8fafc","--text-secondary":"#4b5563","--text-muted":"#6b7280","--border-default":"rgba(17, 24, 39, 0.10)"};function Mn(e){if(!e)return{...rt};const t={...rt,...e},n=e["--gengage-chat-launcher-size"];return n!==void 0&&(e["--gengage-chat-launcher-width"]===void 0&&(t["--gengage-chat-launcher-width"]=n),e["--gengage-chat-launcher-height"]===void 0&&(t["--gengage-chat-launcher-height"]=n)),t}var R={primaryColor:"#b7102a",primaryForeground:"#ffffff",backgroundColor:"#ffffff",foregroundColor:"#111827",borderRadius:"0.75rem",fontFamily:'"Plus Jakarta Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif',fontSize:"14px",zIndex:"1000","--glov-chatbot-width":"420px","--glov-left-spacing":"260px","--chatbot-padding":"16px","--root-wrapper-background-color":"#f8f9fa","--root-wrapper-border-color":"#edeeef","--gengage-chat-width":"400px","--gengage-chat-shell-radius":"1rem","--gengage-chat-header-height":"72px","--gengage-chat-conversation-width":"396px","--gengage-chat-panel-min-width":"320px","--gengage-chat-panel-max-width":"1200px","--gengage-chat-input-height":"48px","--gengage-qna-pill-radius":"999px","--gengage-qna-input-radius":"0.75rem","--gengage-simrel-card-radius":"0.75rem","--client-primary":"#b7102a","--client-primary-hover":"color-mix(in srgb, #b7102a 88%, black 12%)","--client-primary-active":"color-mix(in srgb, #b7102a 78%, black 22%)","--client-primary-subtle":"color-mix(in srgb, #b7102a 12%, white)","--client-primary-soft":"color-mix(in srgb, #b7102a 20%, white)","--client-on-primary":"#ffffff","--client-focus-ring":"color-mix(in srgb, #b7102a 32%, transparent)","--surface-page":"#f6f7fb","--surface-shell":"#10131a","--surface-card":"#ffffff","--surface-card-muted":"#f8fafc","--surface-card-soft":"#f8fafc","--surface-elevated":"#ffffff","--surface-input":"#ffffff","--surface-overlay":"rgba(16, 19, 26, 0.52)","--text-primary":"#111827","--text-secondary":"#4b5563","--text-muted":"#6b7280","--text-inverse":"#f9fafb","--border-subtle":"rgba(17, 24, 39, 0.06)","--border-default":"rgba(17, 24, 39, 0.10)","--border-strong":"rgba(17, 24, 39, 0.18)","--shadow-1":"0 1px 2px rgba(16, 24, 40, 0.04), 0 1px 3px rgba(16, 24, 40, 0.06)","--shadow-2":"0 4px 12px rgba(16, 24, 40, 0.08)","--shadow-3":"0 10px 24px rgba(16, 24, 40, 0.12)","--radius-control":"12px","--radius-card":"16px","--radius-panel":"24px","--radius-pill":"999px","--success":"#16a34a","--warning":"#d97706","--error":"#dc2626","--info":"#2563eb","--rating":"#f5b301","--gengage-brand-accent-start":"#0b24d6","--gengage-brand-accent-mid":"#f768f2","--gengage-brand-accent-end":"#ffed74","--ai-accent-start":"#0b24d6","--ai-accent-end":"#f768f2","--ai-accent-soft":"linear-gradient(135deg, rgba(11, 36, 214, 0.08), rgba(247, 104, 242, 0.08))"},D="gengage-global-toast-root",ot="gengage-global-toast-style",xe="gengage-global-toast-root--visible",Fn=4200,Hn=1500,Jn=15e3,Qn=["--gengage-font-family","--surface-card","--text-primary","--text-muted","--border-default","--radius-card","--shadow-3","--error","--ds-toast-error-bg","--ds-toast-error-border","--ds-toast-error-accent","--ds-toast-error-fg","--ds-toast-error-shadow"],it=!1,F=null,Wn=[/failed to fetch/i,/networkerror/i,/network request failed/i,/load failed/i,/err_network/i,/fetch failed/i,/network error/i];function st(e){return typeof e=="string"&&e.toLowerCase().startsWith("tr")}function Vn(e){if(typeof navigator<"u"&&navigator.onLine===!1)return!0;const t=e instanceof Error?e.message.trim():"";return t?Wn.some(n=>n.test(t)):!1}function Gn(e,t){return Vn(t)?st(e)?"Bağlantı sorunu oluştu. Lütfen tekrar deneyin.":"Connection issue. Please try again.":st(e)?"Bir hata oluştu. Lütfen tekrar deneyin.":"Something went wrong. Please try again."}function Kn(){it||typeof window>"u"||typeof document>"u"||(it=!0,nt("gengage:global:error",e=>{Oe(e)}))}function Oe(e){if(typeof document>"u")return;const t=e.message.trim();if(!t)return;nr();const n=Xn();er(n),n.innerHTML="";const r=document.createElement("section");r.className="gengage-global-toast gengage-global-toast--error",r.setAttribute("role","status"),r.setAttribute("aria-live","polite");const o=document.createElement("div");o.className="gengage-global-toast-title",o.textContent=Yn(e.source);const i=document.createElement("div");i.className="gengage-global-toast-message",i.textContent=t,r.appendChild(o),r.appendChild(i),n.appendChild(r),n.classList.add(xe),F&&(clearTimeout(F),F=null),e.sticky!==!0&&(F=setTimeout(()=>{at()},tr(e.durationMs)))}function at(){if(typeof document>"u")return;const e=document.getElementById(D);e&&(e.classList.remove(xe),e.innerHTML="",F&&(clearTimeout(F),F=null))}function Yn(e){switch(e){case"chat":return"Chat warning";case"qna":return"QnA warning";case"simrel":return"Widget warning";default:return"Connection warning"}}function Xn(){const e=document.getElementById(D);if(e instanceof HTMLElement)return e;const t=document.createElement("div");return t.id=D,t.className="gengage-global-toast-root",document.body.appendChild(t),t}function er(e){if(typeof document>"u"||typeof window>"u")return;const t=document.querySelector(".gengage-chat-root, .gengage-qna-container, .gengage-simrel-container, .gengage-simbut-root");if(!t)return;const n=window.getComputedStyle(t);for(const r of Qn){const o=n.getPropertyValue(r).trim();o?e.style.setProperty(r,o):e.style.removeProperty(r)}}function tr(e){return typeof e!="number"||!Number.isFinite(e)?Fn:Math.min(Jn,Math.max(Hn,Math.round(e)))}function nr(){if(document.getElementById(ot))return;const e=document.createElement("style");e.id=ot;const t=R["--surface-card"]??R.backgroundColor??"#ffffff",n=R["--text-primary"]??R.foregroundColor??"#111827",r=R["--border-default"]??"rgba(17, 24, 39, 0.10)",o=R["--error"]??"#dc2626",i=R["--shadow-3"]??"0 10px 24px rgba(16, 24, 40, 0.12)",s=R["--radius-card"]??"16px",a=R["--text-muted"]??"#6b7280";e.textContent=`
2
2
  #${D} {
3
3
  position: fixed;
4
4
  top: 16px;
@@ -44,10 +44,10 @@
44
44
  transform: translateY(0);
45
45
  }
46
46
  }
47
- `,document.head.appendChild(e)}var te=null;function rr(){if(te!==null)return te;try{te=localStorage.getItem("gengage:debug")==="1"}catch{te=!1}return te}function Ze(e,t,n){if(!rr())return;const r=[`[gengage:${e}]`,t];n!==void 0&&r.push(n),console.debug(...r)}var or=("0.6.42".trim(),"0.6.42".trim()),ir=("iife-build".trim(),"iife-build".trim());function sr(){if(typeof window>"u")return;const e=window;e.__gengageSdkRuntimeInfoLogged||(e.__gengageSdkRuntimeInfoLogged=!0,console.info(`[gengage] @gengage/assistant-fe v${or} (${ir})`))}var ar=class{constructor(){this.isVisible=!1,this.isInitialised=!1,this._handlers=new Map,this._cleanups=[],this._ownsRoot=!1,this._destroying=!1}async init(e){if(this.isInitialised){console.warn("[gengage] Widget already initialised. Call update() instead.");return}const t=Mn(e.theme);sr(),this.config={...e,theme:t,session:Bn(e.session)},this.root=this._resolveMount(e.mountTarget),this._applyTheme(t),Kn();const n=nt("gengage:context:update",r=>this.update(r));this._cleanups.push(n),Ze("lifecycle",`${this.constructor.name}.init`,{accountId:e.accountId,sku:e.pageContext?.sku});try{await this.onInit(this.config)}catch(r){throw this.destroy(),r}this._destroying||(this.isInitialised=!0,Ze("lifecycle",`${this.constructor.name} ready`),this.emit("ready"))}update(e){this.isInitialised&&(this.config.pageContext?this.config={...this.config,pageContext:{...this.config.pageContext,...e}}:e.pageType!==void 0&&(this.config={...this.config,pageContext:e}),this.onUpdate(e),this.emit("context-update",this.config.pageContext))}show(){this.isVisible||(this.isVisible=!0,this.root.style.display="",this.onShow(),this.emit("show"))}hide(){this.isVisible&&(this.isVisible=!1,this.root.style.display="none",this.onHide(),this.emit("hide"))}destroy(){this._destroying||(this._destroying=!0,this.emit("destroy"),this._cleanups.forEach(e=>e()),this._cleanups.length=0,this._handlers.clear(),this.onDestroy(),this._cleanupRoot(),this.isInitialised=!1)}_cleanupRoot(){this._ownsRoot?this.root.remove():this.root.innerHTML=""}on(e,t){return this._handlers.has(e)||this._handlers.set(e,new Set),this._handlers.get(e).add(t),()=>this._handlers.get(e)?.delete(t)}emit(e,...t){this._handlers.get(e)?.forEach(n=>n(...t))}addCleanup(e){this._cleanups.push(e)}_resolveMount(e){if(e instanceof HTMLElement)return e;if(typeof e=="string"){const n=document.querySelector(e);if(!n)throw new Error(`[gengage] Mount target not found: "${e}"`);return n}const t=document.createElement("div");return t.dataset.gengageWidget=this.constructor.name.toLowerCase(),document.body.insertBefore(t,document.body.firstChild),this._ownsRoot=!0,t}_applyTheme(e){if(e){for(const[t,n]of Object.entries(e))if(n!==void 0){const r=t.startsWith("--")?t:`--gengage-${cr(t)}`;this.root.style.setProperty(r,n)}}}};function cr(e){return e.replace(/([A-Z])/g,"-$1").toLowerCase()}function ct(e){const t=e?.trim();return t||"tr"}var ur=8e3,lr=5e3,dr="https://www.google.com/favicon.ico",q=new Map,ut=!1,K=null,ne=null,H=!1;function fr(e){return typeof e=="string"&&e.toLowerCase().startsWith("tr")}function lt(e){return fr(e)?"İnternet bağlantısında sorun var gibi görünüyor. İstek sürerken yeniden deneyeceğiz.":"Your internet connection looks unstable. We'll keep retrying while this request is active."}function dt(){let e;for(const t of q.values())e=t;return e}function Re(){K&&(clearTimeout(K),K=null)}function pr(){ne&&(clearInterval(ne),ne=null)}async function ft(){try{if(typeof navigator<"u"&&navigator.onLine===!1)return!1;if(typeof window<"u"){const n=window.location.hostname;if(n==="localhost"||n==="127.0.0.1")return navigator.onLine}const e=new AbortController,t=setTimeout(()=>e.abort(),3e3);try{return await fetch(dr,{method:"HEAD",mode:"no-cors",cache:"no-cache",signal:e.signal}),!0}catch{return navigator.onLine}finally{clearTimeout(t)}}catch{return typeof navigator>"u"?!0:navigator.onLine}}function fe(){H=!1,pr(),at()}function pe(){K||H||q.size===0||(K=setTimeout(async()=>{K=null,!(H||q.size===0)&&!await ft()&&q.size>0&&(H=!0,Oe({source:"sdk",message:lt(dt()),sticky:!0}),ne||(ne=setInterval(async()=>{if(q.size===0){fe();return}await ft()&&(fe(),pe())},lr)))},ur))}function gr(){ut||typeof window>"u"||(ut=!0,window.addEventListener("online",()=>{fe(),pe()}),window.addEventListener("offline",()=>{q.size===0||H||(H=!0,Re(),Oe({source:"sdk",message:lt(dt()),sticky:!0}))}))}function hr(e){gr();const t=Symbol(e.source);q.set(t,e.locale),pe();let n=!1;return()=>{if(!n){if(n=!0,q.delete(t),q.size===0){Re(),fe();return}H||(Re(),pe())}}}function pt(e){return typeof e=="object"&&e!==null&&typeof e.type=="string"}function mr(e){const t=[];let n=0,r=!1,o=!1,i=0;for(let s=0;s<e.length;s++){const a=e[s];if(o){o=!1;continue}if(a==="\\"&&r){o=!0;continue}if(a==='"'){r=!r;continue}r||(a==="{"&&n++,a==="}"&&(n--,n===0&&(t.push(e.slice(i,s+1)),i=s+1)))}return t.length>0?t:[e]}function gt(e,t){const n=e.trim();if(!n||n.startsWith(":"))return!1;const r=n.startsWith("data: ")?n.slice(6):n;if(r==="[DONE]")return t.onDone?.(),!0;try{const o=JSON.parse(r);return pt(o)?(Ze("stream",`event: ${o.type}`,o),t.onEvent(o),o.type==="done"?(t.onDone?.(),!0):!1):!1}catch{const o=mr(r);if(o.length>1){for(const i of o)try{const s=JSON.parse(i);if(!pt(s))continue;if(t.onEvent(s),s.type==="done")return t.onDone?.(),!0}catch{}return!1}return!1}}async function yr(e,t){if(!e.ok){t.onError?.(new Error(`HTTP ${e.status}: ${e.statusText}`));return}if(!e.body){t.onError?.(new Error("Response body is null — streaming not supported"));return}const n=e.body.getReader(),r=new TextDecoder("utf-8");let o="";const i=t.idleTimeoutMs??6e4,s=Symbol("idle-timeout");let a=!1;try{for(;;){const c=n.read();let u;const d=await(i>0?Promise.race([c.then(h=>(clearTimeout(u),h)),new Promise(h=>{u=setTimeout(()=>h(s),i)})]):c);if(d===s){a=!0,await n.cancel();break}const{done:p,value:g}=d;if(p)break;o+=r.decode(g,{stream:!0});const f=o.split(`
48
- `);o=f.pop()??"";for(const h of f)if(gt(h,t))return}if(o.trim()&&gt(o,t))return}catch(c){if(c instanceof DOMException&&c.name==="AbortError")return;t.onError?.(c instanceof Error?c:new Error(String(c)))}finally{a||n.releaseLock()}t.onDone?.()}var _r={process_action:"/process_action",launcher_action:"/launcher_action",similar_products:"/similar_products",product_groupings:"/product_groupings"};function vr(e){if(e===void 0)throw new Error("[gengage] middlewareUrl is required. Pass your Gengage backend URL in widget config.");const t=e.trim();return t===""?"":t.replace(/\/+$/,"")}function br(e,t){return`${vr(t?.middlewareUrl)}/chat${_r[e]}`}var ht=3,wr=(e,t)=>{const n=e.replace(/\s+/g," ").trim().replace(/^[,.;:!?•-]+|[,.;:!?•-]+$/g,"");if(!n)return"";const r=t?.stripLeadingStopWords?n.replace(/^(?:daha|için)\s+/i,"").trim():n;return r?r.split(/\s+/).slice(0,3).join(" ").trim():""},Le=(e,t)=>e?e.split(/[•,;:/()]|(?:\sve\s)|(?:\sand\s)|(?:\sile\s)|(?:\sfor\s)|(?:\swith\s)/i).map(n=>wr(n,t)).filter(Boolean):[];function kr(e){const t=(e.display_keywords??[]).flatMap(o=>Le(o,{stripLeadingStopWords:!0})),n=t.filter((o,i)=>t.indexOf(o)===i);if(n.length>0)return n.slice(0,ht);const r=[...Le(e.chosen_attribute,{stripLeadingStopWords:!0}),...Le(e.short_name)];return r.filter((o,i)=>r.indexOf(o)===i).slice(0,ht)}function Sr(e){return kr(e).join(" • ")}function zr(e){return e==="beauty_consulting"||e==="account_expert"}function re(...e){for(const t of e){if(typeof t!="string")continue;const n=t.trim();if(n.length>0)return n}}function oe(e){return Array.isArray(e)?e.filter(t=>typeof t=="string"&&t.trim().length>0).map(t=>t.trim()):[]}function ge(e){const t={...e},n=re(t.sku),r=oe(t.group_skus);if(n?t.sku=n:delete t.sku,r.length>0?t.group_skus=r:delete t.group_skus,n||r.length>0)delete t.image_url;else{const o=re(t.image_url);o?t.image_url=o:delete t.image_url}return t}function Ar(e){if(typeof e.type!="string")return null;if(Er(e))return e;const t=e;switch(t.type){case"outputText":return Tr(t);case"suggestedActions":return $r(t);case"productList":return Ir(t);case"productDetails":return Pr(t);case"productDetailsSimilars":return Cr(t);case"comparisonTable":return xr(t);case"context":return Lr(t);case"chatStreamEnd":return Nr();case"loading":return jr(t);case"panelLoading":return qr(t);case"similarLoading":return Dr(t);case"redirect":return Ur(t);case"error":return Br(t);case"dummy":return Mr(t);case"launcherAction":return Fr(t);case"text":return Ne(t);case"productItem":return Hr(t);case"text_image":return mt(t);case"quick_qna":return yt(t);case"reviewHighlights":return Jr(t);case"aiProductSuggestions":return Vr(t);case"aiProductGroupings":return Gr(t);case"aiSuggestedSearches":return Xr(t);case"prosAndCons":return Qr(t);case"getGroundingReview":return eo(t);case"voice":return no(t);case"visitorDataResponse":return Wr(t);case"productListPreview":return to();case"groupList":return ro(t);case"formGetInfo":case"formTestDrive":case"formServiceRequest":case"launchFormPage":return oo(t);case"launcherContent":return so(t);case"handoff":return io(t);case"uiSpec":return ho(t);default:return null}}function Er(e){const t=e.type;if(typeof t!="string")return!1;switch(t){case"metadata":return typeof e.sessionId=="string"&&typeof e.model=="string";case"text_chunk":return typeof e.content=="string";case"ui_spec":{const n=e.widget;if(n!=="chat"&&n!=="qna"&&n!=="simrel")return!1;const r=C(e.spec);return r?typeof r.root=="string"&&C(r.elements)!==null:!1}case"action":{const n=C(e.action);return n!==null&&typeof n.kind=="string"}case"error":return typeof e.code=="string"&&typeof e.message=="string";case"done":return!0;default:return!1}}function Tr(e){const t=_(e.payload.text,e.payload.plain_text)??"",n=_(e.payload.plain_text,e.payload.text)??t;if(e.payload.is_error)return{type:"error",code:"BACKEND_ERROR",message:n||"Backend returned an error"};const r={type:"text_chunk",content:t,final:!0},o=e.payload.product_mentions;Array.isArray(o)&&o.length>0&&(r.productMentions=o.filter(c=>typeof c=="object"&&c!==null&&typeof c.sku=="string"&&typeof c.short_name=="string"));const i=e.payload.sku_to_product_item;i&&typeof i=="object"&&!Array.isArray(i)&&(r.skuToProductItem=i);const s=e.payload.conversation_mode;typeof s=="string"&&s&&(r.conversationMode=s);const a=e.payload.render_hint;return typeof a=="string"&&a&&(r.renderHint=a),e.payload.kvkk===!0&&(r.kvkk=!0),r}function $r(e){return _t((e.payload.actions??[]).map(t=>{const n=_(t.title)??"",r=O(t.requestDetails,n),o=r?{label:n,action:r}:null;return o?(typeof t.icon=="string"&&(o.icon=t.icon),typeof t.image=="string"&&(o.image=t.image),o):null}).filter(se),"chat")}function Ir(e){const t=Array.isArray(e.payload.grouped_assignment)?e.payload.grouped_assignment:[],n=(Array.isArray(e.payload.style_variations)?e.payload.style_variations:[]).map(a=>{const c=_(a.style_label);if(!c)return null;const u=_(a.style_mood),d=_(a.image_url??void 0),p=(Array.isArray(a.product_list)?a.product_list:[]).map(f=>{const h=C(f);return h?De(C(h.product_detail)??C(h.product)??h):null}).filter(se),g=Array.isArray(a.recommendation_groups)?a.recommendation_groups.map(f=>({label:_(f.label)??"",reason:_(f.reason)??"",skus:Array.isArray(f.skus)?f.skus.filter(h=>typeof h=="string"&&h.trim().length>0):[]})):[];return{style_label:c,style_mood:u??"",...d?{image_url:d}:{},...typeof a.status=="string"?{status:a.status}:{},product_list:p,recommendation_groups:g}}).filter(se),r=e.payload.product_list??[],o=zr(e.payload.source)&&n.length>0?n[0].product_list:null,i=o?co(o,"chat"):t.length>0?ao(t,r,"chat")??qe(r,"chat"):qe(r,"chat");i.panelHint="panel";const s=i.spec.elements[i.spec.root];if(s){const a={};typeof e.payload.offset=="number"&&(a.offset=e.payload.offset),typeof e.payload.end_of_list=="boolean"&&(a.endOfList=e.payload.end_of_list),typeof e.payload.title=="string"&&(a.panelTitle=e.payload.title),typeof e.payload.source=="string"&&(a.source=e.payload.source),n.length>0&&(a.styleVariations=n),e.payload.replace_panel===!0&&(a.replacePanel=!0),(e.payload.ranking_state==="pending"||e.payload.ranking_state==="final")&&(a.rankingState=e.payload.ranking_state);const c=e.payload.sequence_id??e.payload.search_id;typeof c=="string"&&c.length>0&&(a.sequenceId=c),Object.keys(a).length>0&&(s.props={...s.props,...a})}return i}function Pr(e){const t=e.payload.productDetails;if(!t)return lo("chat");const n=J(t);return{type:"ui_spec",widget:"chat",spec:{root:"root",elements:{root:{type:"ProductDetailsPanel",props:{product:{...t,...n}}}}},panelHint:"panel"}}function Cr(e){const t=qe(e.payload.similarProducts??[],"chat"),n=t.spec.elements[t.spec.root];return n&&(n.props={...n.props,similarsAppend:!0}),{...t,panelHint:"panel"}}function xr(e){const t=e.payload.multiple_product_details??[],n=e.payload,r={key_differences:n.key_differences,recommended_choice:n.recommended_choice,recommended_choice_sku:n.recommended_choice_sku,special_considerations:n.special_considerations,criteria_view:n.criteria_view,criteria_view_short:n.criteria_view_short,compared_field_names:n.compared_field_names,winner_product:n.winner_product,winner_hits:n.winner_hits,...e.payload.product_comparison_framework??{}},o=e.payload.table,i=e.payload.features_list,s=[];for(const v of t){const w=J(v);s.push(w)}const a=Or(o,s,r,i);let c;r?.recommended_choice_sku?c=r.recommended_choice_sku:r?.winner_product&&r.winner_product.length>0&&(c=r.winner_product[0]?.product_detail?.sku??r.winner_product[0]?.sku);const u=c?s.find(v=>v.sku===c)??s[0]:s[0],d=[];if(Array.isArray(r?.key_differences))for(const v of r.key_differences)typeof v=="string"&&d.push(v);const p=vt(r?.special_considerations),g=r?.recommended_choice,f=r?.winner_hits,h={};for(const v of s){const w=v.sku;w&&(h[w]={title:v.name??w,type:"launchSingleProduct",payload:{sku:w}})}const m={products:s,attributes:a,highlights:d,productActions:h};return u&&(m.recommended=u),p.length>0&&(m.specialCases=p),g&&(m.recommendedText=g),f&&(m.winnerHits=f),typeof r?.key_differences=="string"&&(m.keyDifferencesHtml=r.key_differences),r?.special_considerations&&(m.specialConsiderations=r.special_considerations),{type:"ui_spec",widget:"chat",spec:{root:"root",elements:{root:{type:"ComparisonTable",props:m}}},panelHint:"panel"}}function Or(e,t,n,r){if(!e)return[];const o=Object.entries(e);if(o.length===0)return[];const i=o[0]?.[1];if(Array.isArray(i)){const p=n.criteria_view??n.criteria_view_short??{},g=n.compared_field_names??Object.keys(e),f=[];for(const h of g){const m=e[h];if(!m||!Array.isArray(m))continue;const v=p[h]??h;f.push({label:v,values:m.map(w=>typeof w=="string"?w:String(w??""))})}return f}const s=e,a=t.map(p=>String(p.sku??"")).filter(p=>p.length>0),c=n.criteria_view??n.criteria_view_short??{},u=(r&&r.length>0?r:n.compared_field_names&&n.compared_field_names.length>0?n.compared_field_names:Zr(s)).filter(p=>p!=="name"&&p!=="name_short"&&!p.endsWith("_short")),d=[];for(const p of u){const g=a.map(h=>{const m=s[h];if(!m||typeof m!="object")return"";const v=m[`${p}_short`],w=m[p];return Rr(v??w)});if(g.every(h=>h.length===0))continue;const f=c[p]??p;d.push({label:f,values:g})}return d}function Zr(e){const t=[],n=new Set;for(const r of Object.values(e))if(!(!r||typeof r!="object"))for(const o of Object.keys(r))n.has(o)||(n.add(o),t.push(o));return t}function Rr(e){return typeof e=="string"?e:typeof e=="number"||typeof e=="boolean"?String(e):""}function Lr(e){return{type:"metadata",sessionId:"",model:"",meta:{panel:e.payload.panel,messages:e.payload.messages,message_id:e.payload.message_id}}}function Nr(){return{type:"done"}}function jr(e){return{type:"metadata",sessionId:"",model:"",meta:{loading:!0,loadingText:e.payload.text,thinkingMessages:e.payload.thinking_messages,dynamicLoading:e.payload.is_dynamic===!0}}}function qr(e){return{type:"metadata",sessionId:"",model:"",meta:{loading:!0,panelLoading:!0,panelPendingType:e.payload?.pending_type,loadingText:e.payload?.text}}}function Dr(e){return{type:"metadata",sessionId:"",model:"",meta:{loading:!0,similarPanelLoading:!0,panelPendingType:e.payload?.pending_type,loadingText:e.payload?.text}}}function Ur(e){const t=_(e.payload.url);return t?{type:"action",action:{kind:"navigate",url:t,newTab:e.payload.new_tab===!0}}:{type:"metadata",sessionId:"",model:"",meta:{redirect:e.payload,redirectTarget:_(e.payload.to)}}}function Br(e){return{type:"error",code:"BACKEND_ERROR",message:_(e.payload?.text,e.payload?.message,e.payload?.error)??"Backend returned an error"}}function Mr(e){return{type:"metadata",sessionId:"",model:"",meta:{noop:!0}}}function Fr(e){const t=e.payload??{};if(Array.isArray(t.action_list)){const o={action_list:t.action_list},i=typeof t.type=="string"?t.type:void 0,s=typeof t.theme=="string"?t.theme:void 0;return i!==void 0&&(o.type=i),s!==void 0&&(o.theme=s),yt({type:"quick_qna",payload:o})}const n=C(t.action);if(n){const o={action:n},i=typeof t.text=="string"?t.text:void 0,s=typeof t.image_url=="string"?t.image_url:void 0,a=typeof t.theme=="string"?t.theme:void 0;return i!==void 0&&(o.text=i),s!==void 0&&(o.image_url=s),a!==void 0&&(o.theme=a),mt({type:"text_image",payload:o})}const r=typeof t.text=="string"?t.text:"";if(r){const o={text:r},i=typeof t.type=="string"?t.type:void 0,s=typeof t.theme=="string"?t.theme:void 0,a=C(t.payload)??void 0;return i!==void 0&&(o.type=i),a!==void 0&&(o.payload=a),s!==void 0&&(o.theme=s),Ne({type:"text",payload:o})}return{type:"metadata",sessionId:"",model:"",meta:{launcherAction:t}}}function Ne(e){const t={text:_(e.payload.text)??""};return typeof e.payload.theme=="string"&&(t.theme=e.payload.theme),e.payload.payload!==void 0&&(t.payload=e.payload.payload),{type:"ui_spec",widget:"qna",spec:{root:"root",elements:{root:{type:"QuestionHeading",props:t}}}}}function Hr(e){return uo(e.payload,"qna")}function mt(e){const t=_(e.payload.text)??"",n=O(e.payload.action,t);if(n){const o={label:t||n.title,action:n};return typeof e.payload.image_url=="string"&&(o.image=e.payload.image_url),typeof e.payload.theme=="string"&&(o.theme=e.payload.theme),{type:"ui_spec",widget:"qna",spec:{root:"root",elements:{root:{type:"ActionButton",props:o}}}}}const r={text:t};return typeof e.payload.theme=="string"&&(r.theme=e.payload.theme),Ne({type:"text",payload:r})}function yt(e){return _t((e.payload.action_list??[]).map(t=>{const n=_(t.title)??"",r=O(t.requestDetails,n),o=r?{label:n,action:r}:null;return o?(typeof t.icon=="string"&&(o.icon=t.icon),typeof t.image=="string"&&(o.image=t.image),o):null}).filter(se),"qna")}function Jr(e){const t={reviews:(e.payload.reviews??[]).map(n=>{const r={};return typeof n.review_class=="string"&&(r.review_class=n.review_class),typeof n.review_text=="string"&&(r.review_text=n.review_text),(typeof n.review_rating=="string"||typeof n.review_rating=="number")&&(r.review_rating=n.review_rating),typeof n.review_tag=="string"&&(r.review_tag=n.review_tag),r})};return typeof e.payload.sku=="string"&&(t.sku=e.payload.sku),{type:"ui_spec",widget:"chat",spec:{root:"root",elements:{root:{type:"ReviewHighlights",props:t}}}}}function Qr(e){const t={};return Array.isArray(e.payload.pros)&&(t.pros=e.payload.pros),Array.isArray(e.payload.cons)&&(t.cons=e.payload.cons),typeof e.payload.product_name=="string"&&(t.productName=e.payload.product_name),{type:"ui_spec",widget:"chat",spec:{root:"root",elements:{root:{type:"ProsAndCons",props:t}}}}}function Wr(e){return{type:"metadata",sessionId:"",model:"",meta:{visitorDataResponse:e.payload}}}function Vr(e){const t=e.payload.product_suggestions??[],n=[];for(let r=0;r<t.length;r++){const o=t[r];if(!o)continue;const i=fo(o);if(!i)continue;const s={product:i},a=O(o.requestDetails,i.name);a&&(s.action=a),typeof o.role=="string"&&(s.role=o.role),typeof o.reason=="string"&&(s.reason=o.reason),typeof o.review_highlight=="string"&&(s.reviewHighlight=o.review_highlight),Array.isArray(o.labels)&&(s.labels=o.labels),typeof o.expert_quality_score=="number"&&(s.expertQualityScore=o.expert_quality_score),n.push(s)}return n.length===0?{type:"metadata",sessionId:"",model:"",meta:{aiProductSuggestions:e.payload.product_suggestions??[]}}:{type:"ui_spec",widget:"chat",spec:{root:"root",elements:{root:{type:"AITopPicks",props:{suggestions:n}}}}}}function Gr(e){const t=e.payload.product_groupings??[],n=[],r=[];for(let o=0;o<t.length;o++){const i=t[o];if(!i)continue;const s=_(i.name)??"",a=_(i.description),c=_(i.highlight),u=Array.isArray(i.labels)?vt(i.labels):[],d=_(i.sku,i.repr_sku),p=_(i.image,i.repr_image),g=Kr(i,s,d),f=(Array.isArray(i.group_products)?i.group_products:[]).map(v=>{const w=C(v);return w?De(w):null}).filter(se),h=p??_(...f.map(v=>v.imageUrl));if(s&&f.length>0){const v={groupName:s,products:f};h&&(v.image=h),a&&(v.description=a),c&&(v.highlight=c),u.length>0&&(v.labels=u),n.push(v)}if(!g)continue;const m={name:s,action:g};u.length>0&&(m.labels=u),p!==void 0&&(m.image=p),r.push(m)}return n.length>0?{type:"ui_spec",widget:"chat",spec:{root:"root",elements:{root:{type:"CategoriesContainer",props:{groups:n}}}},panelHint:"panel"}:r.length===0?{type:"metadata",sessionId:"",model:"",meta:{aiProductGroupings:e.payload.product_groupings??[]}}:{type:"ui_spec",widget:"chat",spec:{root:"root",elements:{root:{type:"AIGroupingCards",props:{entries:r}}}}}}function Kr(e,t,n){const r=C(e.requestDetails);if(r){if(r.type!=="findSimilar")return O(r,t);const s={...C(r.payload)??{}};n&&!re(s.sku)&&(s.sku=n);const a=oe(e.group_skus);return a.length>0&&(s.group_skus=a),O({...r,payload:ge(s)},t)}const o={};n&&(o.sku=n);const i=oe(e.group_skus);return i.length>0&&(o.group_skus=i),Object.keys(o).length===0?null:O({type:"findSimilar",payload:ge(o)},t)}function Yr(e,t){const n=C(e.requestDetails),r=C(n?.payload),o=_(e.detailed_user_message),i=e.group_skus&&Array.isArray(e.group_skus)?oe(e.group_skus):oe(r?.group_skus),s=_(e.sku,e.representative_product_sku,r?.sku);if(n?.type==="findSimilar"){const c={...r??{}};return s&&(c.sku=s),i.length>0&&(c.group_skus=i),o&&(c.input=o,re(c.text)||(c.text=o)),c.is_search_suggestion=1,O({...n,payload:ge(c)},t)}if(s){const c={sku:s,is_search_suggestion:1};return i.length>0&&(c.group_skus=i),o&&(c.input=o,c.text=o),O({type:"findSimilar",payload:ge(c)},t)}const a={...r??{},is_suggested_text:1,is_search_suggestion:1};return o&&!re(a.text)&&(a.text=o),i.length>0&&(a.group_skus=i),O(n?.type==="inputText"?{...n,payload:a}:{type:"inputText",payload:a},t)}function Xr(e){const t=e.payload.suggested_searches??[],n=[];for(let r=0;r<t.length;r++){const o=t[r];if(!o)continue;const i=_(o.short_name,o.chosen_attribute,o.detailed_user_message)??`Search ${r+1}`,s=Yr(o,i);if(!s)continue;const a={shortName:i,action:s},c=_(o.detailed_user_message);c&&c!==i&&(a.detailedMessage=c);const u=Sr(o);u&&u!==i&&u!==(c??"")&&(a.whyDifferent=u),typeof o.image=="string"&&(a.image=o.image),n.push(a)}return n.length===0?{type:"metadata",sessionId:"",model:"",meta:{aiSuggestedSearches:e.payload.suggested_searches??[]}}:{type:"ui_spec",widget:"chat",spec:{root:"root",elements:{root:{type:"AISuggestedSearchCards",props:{entries:n}}}}}}function eo(e){const t=e.payload,n=O(t.requestDetails??t.request_details,_(t.review_count,t.reviewCount,t.text,t.title)??"Show product reviews");if(!n)return{type:"metadata",sessionId:"",model:"",meta:{groundingReview:t}};const r={action:n};return t.title&&(r.title=t.title),t.text&&(r.text=t.text),t.review_count?r.reviewCount=t.review_count:typeof t.reviewCount=="string"&&t.reviewCount.trim()&&(r.reviewCount=t.reviewCount),{type:"ui_spec",widget:"chat",spec:{root:"root",elements:{root:{type:"GroundingReviewCard",props:r}}}}}function to(){return{type:"metadata",sessionId:"",model:"",meta:{analyzeAnimation:!0}}}function no(e){return{type:"metadata",sessionId:"",model:"",meta:{voice:e.payload}}}function ro(e){const t=e.payload.group_list??[],n=[];for(const o of t){const i=o.group_name??"",s=(o.product_list??[]).map(J);n.push({groupName:i,products:s})}const r=[];for(const o of e.payload.filter_tags??[]){const i=o.title??"";if(!i)continue;const s=O(o.requestDetails,i),a={title:i};s&&(a.action=s),r.push(a)}return{type:"ui_spec",widget:"chat",spec:{root:"root",elements:{root:{type:"CategoriesContainer",props:{groups:n,filterTags:r}}}},panelHint:"panel"}}function oo(e){return{type:"metadata",sessionId:"",model:"",meta:{formType:e.type,formPayload:e.payload??{}}}}function io(e){const t={};return typeof e.payload?.summary=="string"&&(t.summary=e.payload.summary),Array.isArray(e.payload?.products_discussed)&&(t.products_discussed=e.payload.products_discussed),typeof e.payload?.user_sentiment=="string"&&(t.user_sentiment=e.payload.user_sentiment),{type:"ui_spec",widget:"chat",spec:{root:"root",elements:{root:{type:"HandoffNotice",props:t}}}}}function so(e){return{type:"metadata",sessionId:"",model:"",meta:{launcherContent:e.payload??{}}}}function je(e,t){const n={product:e,index:t},r=e,o=typeof r.sku=="string"?r.sku:void 0;return o&&(n.action={title:typeof r.name=="string"?r.name:"",type:"launchSingleProduct",payload:{sku:o}}),{type:"ProductCard",props:n}}function _t(e,t){const n={},r=[];for(let o=0;o<e.length;o++){const i=e[o];if(!i)continue;const s=`action-${o}`;r.push(s);const a={label:i.label,action:i.action};i.icon!==void 0&&(a.icon=i.icon),i.image!==void 0&&(a.image=i.image),i.description!==void 0&&(a.description=i.description),n[s]={type:"ActionButton",props:a}}return n.root={type:"ActionButtons",props:{buttons:e.map(o=>{const i={label:o.label,action:o.action};return o.image!==void 0&&(i.image=o.image),o.description!==void 0&&(i.description=o.description),o.icon!==void 0&&(i.icon=o.icon),i})},children:r},{type:"ui_spec",widget:t,spec:{root:"root",elements:n}}}function qe(e,t){const n={},r=[];for(let o=0;o<e.length;o++){const i=e[o];if(!i)continue;const s=J(i),a=`product-${o}`;r.push(a),n[a]=je(s,o)}return n.root={type:"ProductGrid",props:{layout:"grid"},children:r},{type:"ui_spec",widget:t,spec:{root:"root",elements:n}}}function ao(e,t,n){const r=new Map;for(const u of t)u?.sku&&r.set(u.sku,u);if(r.size===0)return null;const o=new Set,i={},s=[],a=[];let c=0;for(let u=0;u<e.length;u++){const d=e[u],p=_(d?.title)??"",g=Array.isArray(d?.skus)?d.skus:[],f=[];for(let h=0;h<g.length;h++){const m=typeof g[h]=="string"?g[h].trim():"";if(!m||o.has(m))continue;const v=r.get(m);if(!v)continue;o.add(m);const w=`product-${u}-${h}`,k=J(v);s.push(w),f.push(w),i[w]=je(k,c),c+=1}f.length>0&&a.push({title:p,children:f})}return a.length===0||o.size<r.size?null:(i.root={type:"ProductGrid",props:{layout:"grouped",productSections:a},children:s},{type:"ui_spec",widget:n,spec:{root:"root",elements:i}})}function co(e,t){const n={},r=[];for(let o=0;o<e.length;o++){const i=e[o];if(!i)continue;const s=`product-${o}`;r.push(s),n[s]=je(i,o)}return n.root={type:"ProductGrid",props:{layout:"grid"},children:r},{type:"ui_spec",widget:t,spec:{root:"root",elements:n}}}function uo(e,t){return{type:"ui_spec",widget:t,spec:{root:"root",elements:{root:{type:"ProductCard",props:{product:J(e),index:0}}}}}}function lo(e){return{type:"ui_spec",widget:e,spec:{root:"root",elements:{root:{type:"ActionButtons",props:{buttons:[]},children:[]}}}}}function fo(e){const t=_(e.sku),n=_(e.short_name),r={...C(e.product_item)??e},o=_(e.discount_reason,e.discountReason);return o&&!_(r.discount_reason,r.discountReason)&&(r.discount_reason=o),De(r,t,n)}function De(e,t,n){const r=_(e.sku,t),o=_(e.name,n);if(!r||!o)return null;const i={sku:r,name:o},s=_(e.brand);s&&(i.brand=s);const a=_(e.url);a&&(i.url=a);const c=po(e.images);if(c.length>0)i.images=c;else{const m=_(e.image,e.image_url,e.imageUrl);m&&(i.images=[m])}const u=ie(e.price_discounted);u!==void 0&&(i.price_discounted=u);const d=ie(e.price);d!==void 0&&(i.price=d);const p=ie(e.rating);p!==void 0&&(i.rating=p);const g=ie(e.review_count)??ie(e.reviewCount);g!==void 0&&(i.review_count=g);const f=_(e.cart_code,e.cartCode);f&&(i.cart_code=f),typeof e.in_stock=="boolean"&&(i.in_stock=e.in_stock),typeof e.inStock=="boolean"&&(i.in_stock=e.inStock);const h=_(e.discount_reason,e.discountReason);return h&&(i.discount_reason=h),J(i)}function O(e,t){const n=C(e);if(!n)return null;const r=n.type;if(typeof r!="string"||r.length===0)return null;const o={title:t||r,type:r};return n.payload!==void 0&&(o.payload=n.payload),o}function C(e){return!e||typeof e!="object"||Array.isArray(e)?null:e}function _(...e){for(const t of e)if(typeof t=="string"){const n=t.trim();if(n.length>0)return n}}function po(e){return Array.isArray(e)?e.filter(t=>typeof t=="string"&&t.length>0):[]}function vt(e){if(typeof e=="string"){const t=e.trim();return t?[t]:[]}return Array.isArray(e)?e.filter(t=>typeof t=="string").map(t=>t.trim()).filter(t=>t.length>0):[]}function ie(e){if(typeof e=="number"&&Number.isFinite(e))return e;if(typeof e=="string"){let t;e.includes(".")&&e.includes(",")?t=e.replace(/\./g,"").replace(",","."):t=e.replace(",",".");const n=Number(t);if(Number.isFinite(n))return n}}function se(e){return e!=null}var go=new Set(["sku","name","brand","images","price","price_discounted","price_discount_rate","price_currency","discount_reason","url","rating","review_count","cart_code","in_stock","description","description_html","features","specifications","short_name","category_ids","category_names","variants","facet_hits","promotions"]);function J(e){const t=e.price_discounted!=null&&e.price_discounted>0,n=t?e.price_discounted:e.price,r=t&&e.price!=null?e.price:void 0;let o;r!=null&&n!=null&&r>0?o=Math.round((r-n)/r*100):e.price_discount_rate!=null&&e.price_discount_rate>0&&(o=e.price_discount_rate);const i=_(e.brand),s=_(e.name)??e.sku,a=i&&!s.toLowerCase().startsWith(i.toLowerCase())?`${i} ${s}`:s,c={sku:e.sku,name:a,url:_(e.url)??""},u=e.images?.[0];u&&(c.imageUrl=u),e.images&&e.images.length>1&&(c.images=e.images),n!=null&&n>0&&(c.price=String(n)),r!=null&&r>0&&(c.originalPrice=String(r)),o!==void 0&&(c.discountPercent=o),i!==void 0&&(c.brand=i),e.rating!==void 0&&(c.rating=e.rating),e.review_count!==void 0&&(c.reviewCount=e.review_count),e.cart_code!==void 0&&(c.cartCode=e.cart_code),e.in_stock!==void 0&&(c.inStock=e.in_stock),e.variants&&e.variants.length>0&&(c.variants=e.variants),e.discount_reason!==void 0&&(c.discountReason=e.discount_reason),e.promotions&&e.promotions.length>0&&(c.promotions=e.promotions),e.description!==void 0&&(c.description=e.description),e.description_html!==void 0&&(c.descriptionHtml=e.description_html),e.features&&e.features.length>0&&(c.features=e.features),e.specifications!==void 0&&(c.specifications=e.specifications),e.facet_hits&&(c.facetHits=e.facet_hits),e.category_names&&e.category_names.length>0&&(c.categoryNames=e.category_names),e.short_name!==void 0&&(c.shortName=e.short_name);const d=e,p={};let g=!1;for(const f of Object.keys(d))go.has(f)||(p[f]=d[f],g=!0);return g&&(c.extras=p),c}function ho(e){const t=e.payload.type,{type:n,...r}=e.payload;return{type:"ui_spec",widget:"chat",spec:{root:"root",elements:{root:{type:t,props:r}}}}}var mo=7200*1e3,bt=200,yo=5*1024*1024,_o="gengage_request_response_cache",vo=1,L="responses",bo=new Set(["addToCart","like"]),N=new Map,wt=null;async function wo(e,t={},n={}){const r=ko(e,t);if(!r)return fetch(e,t);const o=Date.now(),i=await Eo(r,o);if(i)return Io(i);const s=await fetch(e,t);return s.ok&&To(r,s.clone(),o,{ttlMs:n.ttlMs??mo,maxEntries:n.maxEntries??bt,maxBodyBytes:n.maxBodyBytes??yo}),s}function ko(e,t={}){if(typeof Request<"u"&&e instanceof Request)return null;const n=String(t.method||"GET").toUpperCase();if(n!=="POST"||typeof t.body!="string")return null;const r=So(t.body);if(zo(r))return null;const o=Ao(r);if(o){const i=ae(r?.action);return`rr:${At(zt({url:String(e),method:n,headers:kt(t.headers),type:r?.type??i?.type??"",account_id:r?.account_id??r?.accountId??"",locale:r?.locale??"",outputLanguage:ae(r?.meta)?.outputLanguage??"",cache_key:o}))}`}return`rr:${At(zt({url:String(e),method:n,headers:kt(t.headers),body:t.body}))}`}function So(e){try{const t=JSON.parse(e);return!t||typeof t!="object"||Array.isArray(t)?null:t}catch{return null}}function zo(e){const t=e?.type;return typeof t=="string"&&bo.has(t)}function Ao(e){const t=(ae(e?.payload)??ae(ae(e?.action)?.payload))?.cache_key;return typeof t=="string"&&t.trim().length>0?t.trim():null}async function Eo(e,t){const n=N.get(e);if(n)if(n.expiresAt<=t)N.delete(e);else return n.lastAccessedAt=t,N.delete(e),N.set(e,n),Ue(n),n;const r=await Co(e);return r?r.expiresAt<=t?(N.delete(e),xo(e),null):(r.lastAccessedAt=t,N.set(e,r),Ue(r),St(bt),r):null}async function To(e,t,n,r){try{const o=await t.text();if(Zo(o)>r.maxBodyBytes||$o(o))return;const i={key:e,status:t.status,statusText:t.statusText,headers:Po(t.headers),body:o,createdAt:n,expiresAt:n+r.ttlMs,lastAccessedAt:n};N.set(e,i),St(r.maxEntries),await Ue(i),await Oo(r.maxEntries,n)}catch{}}function $o(e){return/"_error"\s*:/u.test(e)||/"type"\s*:\s*"error"/u.test(e)}function Io(e){return new Response(e.body,{status:e.status,statusText:e.statusText,headers:new Headers(e.headers)})}function kt(e){const t=new Headers(e),n=[];return t.forEach((r,o)=>{const i=o.toLowerCase();i!=="authorization"&&i!=="cookie"&&n.push([i,r])}),n.sort(([r],[o])=>r.localeCompare(o))}function Po(e){const t=[];return e.forEach((n,r)=>{const o=r.toLowerCase();o!=="set-cookie"&&t.push([o,n])}),t.sort(([n],[r])=>n.localeCompare(r))}function St(e){for(;N.size>e;){const t=[...N.values()].sort((n,r)=>n.lastAccessedAt-r.lastAccessedAt)[0];if(!t)break;N.delete(t.key)}}async function he(){return typeof indexedDB>"u"?null:(wt??=new Promise(e=>{const t=indexedDB.open(_o,vo);t.onupgradeneeded=()=>{const n=t.result;n.objectStoreNames.contains(L)||n.createObjectStore(L,{keyPath:"key"}).createIndex("lastAccessedAt","lastAccessedAt",{unique:!1})},t.onsuccess=()=>e(t.result),t.onerror=()=>e(null),t.onblocked=()=>e(null)}),wt)}async function Co(e){const t=await he();return t?new Promise(n=>{const r=t.transaction(L,"readonly"),o=r.objectStore(L).get(e);o.onsuccess=()=>n(o.result??null),o.onerror=()=>n(null),r.onerror=()=>n(null)}):null}async function Ue(e){const t=await he();t&&await new Promise(n=>{const r=t.transaction(L,"readwrite");r.objectStore(L).put(e),r.oncomplete=()=>n(),r.onerror=()=>n(),r.onabort=()=>n()})}async function xo(e){const t=await he();t&&await new Promise(n=>{const r=t.transaction(L,"readwrite");r.objectStore(L).delete(e),r.oncomplete=()=>n(),r.onerror=()=>n(),r.onabort=()=>n()})}async function Oo(e,t){const n=await he();n&&await new Promise(r=>{const o=n.transaction(L,"readwrite"),i=o.objectStore(L),s=[],a=i.openCursor();a.onsuccess=()=>{const c=a.result;if(!c){const u=s.filter(p=>p.expiresAt<=t),d=s.filter(p=>p.expiresAt>t).sort((p,g)=>p.lastAccessedAt-g.lastAccessedAt).slice(0,Math.max(0,s.length-u.length-e));for(const p of[...u,...d])i.delete(p.key);return}s.push(c.value),c.continue()},a.onerror=()=>r(),o.oncomplete=()=>r(),o.onerror=()=>r(),o.onabort=()=>r()})}function zt(e){return JSON.stringify(Be(e))}function ae(e){return e&&typeof e=="object"&&!Array.isArray(e)?e:null}function Be(e){return Array.isArray(e)?e.map(Be):!e||typeof e!="object"?e:Object.fromEntries(Object.entries(e).sort(([t],[n])=>t.localeCompare(n)).map(([t,n])=>[t,Be(n)]))}function At(e){let t=14695981039346656037n;const n=1099511628211n;for(let r=0;r<e.length;r+=1)t^=BigInt(e.charCodeAt(r)),t=BigInt.asUintN(64,t*n);return t.toString(16).padStart(16,"0")}function Zo(e){return typeof TextEncoder<"u"?new TextEncoder().encode(e).byteLength:e.length}async function Ro(e,t,n){const r=br("launcher_action",t),o={uiSpecs:[],actions:[]},i={method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(e)};n!==void 0&&(i.signal=n);const s=await wo(r,i);if(!s.ok)throw new Error(`HTTP ${s.status}: ${s.statusText}`);const a={onEvent:c=>{const u=Ar(c);if(u&&(u.type==="ui_spec"&&o.uiSpecs.push(u.spec),u.type==="ui_spec"&&u.spec.elements)){for(const d of Object.values(u.spec.elements))if(d.type==="ActionButton"&&d.props?.action){const p=d.props.action;o.actions.push(p)}}}};return n!==void 0&&(a.signal=n),await yr(s,a),o}function Et(e){const t=document.createElement("div");t.className="gengage-qna-buttons gds-toolbar",t.dataset.gengagePart="qna-button-row",t.setAttribute("role","group"),t.setAttribute("aria-label",e.quickQuestionsAriaLabel??"Quick questions"),e.orientation==="vertical"&&(t.style.flexDirection="column");for(const n of e.actions){const r=document.createElement("button");r.className="gengage-qna-button gds-chip",r.dataset.gengagePart="qna-quick-question",r.textContent=n.title,r.type="button",r.addEventListener("click",()=>{const o={title:n.title,type:n.type};n.payload!==void 0&&(o.payload=n.payload),e.onAction(o)}),t.appendChild(r)}if(e.ctaText||e.onOpenChat){const n=document.createElement("button");n.className="gengage-qna-cta gds-btn gds-btn-secondary",n.dataset.gengagePart="qna-cta",n.textContent=e.ctaText??e.defaultCtaText??"Ask something else",n.type="button",n.addEventListener("click",()=>{e.onOpenChat?.()}),t.appendChild(n)}return t}function Lo(e){const t=document.createElement("div");t.className="gengage-qna-input-wrapper",t.dataset.gengagePart="qna-input-wrapper";const n=document.createElement("div");n.className="gengage-qna-input-combo",n.dataset.gengagePart="qna-input-combo";const r=document.createElement("input");r.type="text",r.className="gengage-qna-input",r.dataset.gengagePart="qna-input",r.setAttribute("aria-label",e.askQuestionAriaLabel??"Ask a question");const o=Array.isArray(e.placeholders)?e.placeholders:e.placeholders?[e.placeholders]:[e.defaultInputPlaceholder??"Ask a question..."];let i=0,s=o[0]??"";r.placeholder=s;let a=null,c=null,u=!1;const d=()=>{a&&clearInterval(a),a=null,c&&clearTimeout(c),c=null,r.classList.remove("gengage-qna-input--fade")},p=()=>o.length>1&&!u&&r.value.trim().length===0,g=()=>{d(),p()&&(a=setInterval(()=>{p()&&(r.classList.add("gengage-qna-input--fade"),c=setTimeout(()=>{i=(i+1)%o.length,s=o[i]??"",r.placeholder=s,r.classList.remove("gengage-qna-input--fade")},180))},3e3))},f=document.createElement("div");f.className="gengage-qna-input-actions",f.dataset.gengagePart="qna-input-actions";const h=document.createElement("button");h.className="gengage-qna-icon-btn gengage-qna-clear gengage-qna-icon-btn--hidden",h.type="button",h.dataset.gengagePart="qna-clear",h.setAttribute("aria-label","Clear question"),h.innerHTML='<svg viewBox="0 0 24 24" aria-hidden="true" focusable="false"><path d="M18 6L6 18" /><path d="M6 6L18 18" /></svg>';const m=document.createElement("button");m.className="gengage-qna-icon-btn gengage-qna-send gengage-qna-icon-btn--hidden",m.type="button",m.dataset.gengagePart="qna-send",m.setAttribute("aria-label",e.sendQuestionAriaLabel??"Send question"),m.disabled=!0,m.innerHTML=`<svg viewBox="0 0 24 24" aria-hidden="true" focusable="false"><path d="M22 2L11 13" /><path d="M22 2L15 22L11 13L2 9L22 2Z" /></svg><span class="gengage-qna-sr-only">${e.ctaLabel??e.sendButtonText??"Ask"}</span>`;const v=()=>{const k=r.value.trim().length>0;h.classList.toggle("gengage-qna-icon-btn--hidden",!k),m.classList.toggle("gengage-qna-icon-btn--hidden",!k),m.classList.toggle("gengage-qna-send--active",k),m.disabled=!k},w=()=>{const k=r.value.trim();k&&(e.onSubmit({title:k,type:"user_message",payload:k}),r.value="",v(),g())};return h.addEventListener("click",()=>{r.value="",v(),r.focus({preventScroll:!0})}),m.addEventListener("click",w),r.addEventListener("focus",()=>{u=!0,d(),r.placeholder=""}),r.addEventListener("blur",()=>{u=!1,r.value.trim().length===0&&(r.placeholder=s),g()}),r.addEventListener("input",()=>{if(v(),r.value.trim().length>0){d();return}r.placeholder=u?"":s,g()}),r.addEventListener("keydown",k=>{k.key==="Enter"&&(k.preventDefault(),w()),k.key==="Escape"&&r.value.length>0&&(r.value="",v(),g())}),f.appendChild(h),f.appendChild(m),n.appendChild(r),n.appendChild(f),t.appendChild(n),v(),g(),t._cleanup=()=>{d()},t}function me(e,t){if(!e||typeof e!="object")return null;const n=e,r=n.type;if(typeof r!="string"||r.length===0)return null;const o=n.title,i=n.payload,s=typeof o=="string"&&o.length>0?o:t;if(!s)return null;const a={title:s,type:r};return i!==void 0&&(a.payload=i),a}function Tt(e){const t={title:e.title,type:e.type};return e.payload!==void 0&&(t.payload=e.payload),t}function $t(e,t){const n=[],r=e.props?.actions;if(Array.isArray(r))for(const s of r){const a=me(s);a&&n.push(a)}const o=e.props?.buttons;if(Array.isArray(o))for(const s of o){if(!s||typeof s!="object")continue;const a=s,c=typeof a.label=="string"?a.label:void 0,u=me(a.action,c);u&&n.push(u)}if(e.children)for(const s of e.children){const a=t.elements[s];if(!a||a.type!=="ActionButton")continue;const c=typeof a.props?.label=="string"?a.props.label:void 0,u=me(a.props?.action,c);u&&n.push(u)}const i=new Set;return n.filter(s=>i.has(s.title)?!1:(i.add(s.title),!0))}var It={ButtonRow:({element:e,spec:t,context:n})=>{const r=$t(e,t).map(Tt),o=e.props?.orientation,i={actions:r,onAction:n.onAction,defaultCtaText:n.i18n.defaultCtaText,quickQuestionsAriaLabel:n.i18n.quickQuestionsAriaLabel};return n.onOpenChat!==void 0&&(i.onOpenChat=n.onOpenChat),n.ctaText!==void 0&&(i.ctaText=n.ctaText),(o==="horizontal"||o==="vertical")&&(i.orientation=o),Et(i)},ActionButtons:({element:e,spec:t,context:n})=>{const r={actions:$t(e,t).map(Tt),onAction:n.onAction,defaultCtaText:n.i18n.defaultCtaText,quickQuestionsAriaLabel:n.i18n.quickQuestionsAriaLabel};return n.onOpenChat!==void 0&&(r.onOpenChat=n.onOpenChat),n.ctaText!==void 0&&(r.ctaText=n.ctaText),Et(r)},ActionButton:({element:e,context:t})=>{const n=document.createElement("button");n.className="gengage-qna-button gds-chip",n.type="button",n.dataset.gengagePart="qna-action-button";const r=e.props?.label;typeof r=="string"?n.textContent=r:n.textContent=t.i18n.defaultCtaText;const o=me(e.props?.action,typeof r=="string"?r:void 0);return o&&n.addEventListener("click",()=>t.onAction(o)),n},TextInput:({element:e,context:t})=>{const n=e.props?.placeholder,r=typeof n=="string"||Array.isArray(n)?n:t.inputPlaceholder,o=typeof e.props?.ctaLabel=="string"?e.props.ctaLabel:void 0,i={onSubmit:t.onAction,askQuestionAriaLabel:t.i18n.askQuestionAriaLabel,defaultInputPlaceholder:t.i18n.defaultInputPlaceholder,sendButtonText:t.i18n.sendButton,sendQuestionAriaLabel:t.i18n.sendQuestionAriaLabel};return r!==void 0&&(i.placeholders=r),o!==void 0&&(i.ctaLabel=o),Lo(i)},QuestionHeading:({element:e,context:t})=>{const n=document.createElement("h3");n.className="gengage-qna-heading",n.dataset.gengagePart="qna-heading";const r=e.props?.text,o=t.headingTitleOverride;return n.textContent=typeof o=="string"&&o.trim().length>0?o:typeof r=="string"?r:"",n},ProductCard:()=>null},Me=({element:e,renderElement:t})=>{if(!e.children||e.children.length===0)return null;const n=document.createElement("div");for(const r of e.children){const o=t(r);o&&n.appendChild(o)}return n};function Pt(){return{...It}}function Ct(e,t,n=It,r=Me){return On({spec:e,context:t,registry:n,containerClassName:"gengage-qna-uispec",unknownRenderer:r})}function No(e){if(!e)return;const t=e.extra;if(t&&typeof t=="object"&&!Array.isArray(t)){const r=t.visible_skus??t.visibleSkus;if(Array.isArray(r)){const o=r.filter(i=>typeof i=="string"&&i.trim().length>0).map(i=>i.trim()).slice(0,200);if(o.length>0)return o}}const n=typeof e.sku=="string"&&e.sku.trim()?e.sku.trim():void 0;return n?[n]:void 0}function xt(e,t){if(!e)return null;const n=e.action;if(!n||typeof n!="object")return null;const r=n,o=r.type;if(typeof o!="string"||o.length===0)return null;const i=r.title,s=typeof i=="string"&&i.length>0?i:typeof t=="string"&&t.length>0?t:"";if(!s)return null;const a=r.payload,c={title:s,type:o};return a!==void 0&&(c.payload=a),c}function jo(e,t){const n=e.elements[e.root];if(!n)return!1;const r=o=>{if(o.type!=="ActionButton")return!1;const i=o.props;if(!i||typeof i!="object")return!1;const s=typeof i.label=="string"?i.label:void 0;return s===t?!0:xt(i,s)?.title===t};if(n.type==="ActionButton")return r(n);if(n.children)for(const o of n.children){const i=e.elements[o];if(i&&r(i))return!0}if(n.type==="ActionButtons"&&Array.isArray(n.props?.buttons)){for(const o of n.props.buttons)if(o?.label===t||o?.action?.title===t)return!0}return!1}var Ot=0;function Zt(){return Ot+=1,`gengage-merge-${Ot}`}function qo(e,t){const n=e.elements[e.root];if(!n||n.type!=="ButtonRow")return;const r=Zt();e.elements[r]={type:"ActionButton",props:{label:t.title,action:{title:t.title,type:t.type,...t.payload!==void 0?{payload:t.payload}:{}}}},n.children=n.children?[r,...n.children]:[r]}function Do(e,t){const n=e.elements[e.root];if(!n||n.type!=="ActionButtons")return;const r=Zt();e.elements[r]={type:"ActionButton",props:{label:t.title,action:{title:t.title,type:t.type,...t.payload!==void 0?{payload:t.payload}:{}}}},n.children=n.children?[r,...n.children]:[r];const o=n.props?.buttons??[],i={label:t.title,action:{title:t.title,type:t.type,...t.payload!==void 0?{payload:t.payload}:{}}};n.props={...n.props,buttons:[i,...o]}}function Uo(e){const t={},n=[];for(let r=0;r<e.length;r++){const o=e[r],i=`action-${r}`;n.push(i),t[i]={type:"ActionButton",props:{label:o.title,action:{title:o.title,type:o.type,...o.payload!==void 0?{payload:o.payload}:{}}}}}return t.root={type:"ButtonRow",children:n},{root:"root",elements:t}}function Bo(e){return e.find(t=>{const n=t.elements[t.root];return n?.type==="ActionButtons"||n?.type==="ButtonRow"})}function Rt(e,t){const n=e.productContextQuickPillLabel,r={text:n};return t&&t.length>0&&(r.sku_list=t),{title:n,type:"user_message",payload:r}}function Mo(e,t,n){const r=n?.skuList,o=[],i=[];for(const c of e){const u=c.elements[c.root];if(u?.type==="ActionButton"){const d=u.props;if(xt(d,typeof d?.label=="string"?d.label:void 0)?.type==="findSimilar"){o.push(Rt(t,r));continue}}i.push(c)}if(o.length===0)return e;const s=Rt(t,r),a=Bo(i);if(!a)return[...i,Uo([s])];if(!jo(a,s.title)){const c=a.elements[a.root];c?.type==="ActionButtons"?Do(a,s):c?.type==="ButtonRow"&&qo(a,s)}return i}var Lt={quickQuestionsAriaLabel:"Hızlı sorular",askQuestionAriaLabel:"Soru sorun",defaultInputPlaceholder:"Bir soru sorun...",sendButton:"Sor",sendQuestionAriaLabel:"Soruyu gönder",defaultCtaText:"Başka bir şey sor",redirectingToChat:"Sohbete yönlendiriliyor...",productContextQuickPillLabel:"Bu ürün hakkında ne bilmeliyim?"},Fo={quickQuestionsAriaLabel:"Quick questions",askQuestionAriaLabel:"Ask a question",defaultInputPlaceholder:"Ask a question...",sendButton:"Ask",sendQuestionAriaLabel:"Send question",defaultCtaText:"Ask something else",redirectingToChat:"Redirecting to chat...",productContextQuickPillLabel:"What should I know about this product?"};function Ho(e){return e?e.toLowerCase().split("-")[0]??"tr":"tr"}function Jo(e){return Ho(e)==="en"?Fo:Lt}var Nt=class extends ar{constructor(...e){super(...e),this._abortController=null,this._debounceTimer=null,this._contentEl=null,this._i18n=Lt,this._actionHandler=this._handleAction.bind(this),this._openChatHandler=this._handleOpenChat.bind(this)}async onInit(e){this._i18n=this._resolveI18n(e),this._contentEl=document.createElement("div"),this._contentEl.className="gengage-qna-container",this._contentEl.dataset.gengagePart="qna-container",this._contentEl.lang=ct(e.locale);const t=this._createChrome(e);if(t){const r=document.createElement("div");r.className="gengage-qna-chrome-widget",r.dataset.gengagePart="qna-chrome-widget",r.appendChild(this._contentEl),t.appendChild(r),this.root.appendChild(t)}else this.root.appendChild(this._contentEl);const n=e.pageContext?.sku;n&&(this._lastSku=n,await this._fetchAndRender(n)),jn("qna")}onUpdate(e){const t=e.sku;!t||t===this._lastSku||(this._debounceTimer&&clearTimeout(this._debounceTimer),this._debounceTimer=setTimeout(()=>{this._debounceTimer=null,this._lastSku=t,this._fetchAndRender(t)},50))}onShow(){this._contentEl&&(this._contentEl.style.opacity="0",this._contentEl.style.transition="opacity 0.2s ease-in",requestAnimationFrame(()=>{this._contentEl&&(this._contentEl.style.opacity="1")}))}onHide(){}onDestroy(){this._abort(),this._debounceTimer&&(clearTimeout(this._debounceTimer),this._debounceTimer=null),this._contentEl&&(this._cleanupTextInputTimers(),this._contentEl.remove(),this._contentEl=null)}_abort(){this._abortController?.abort(),this._abortController=null}_resolvedQnaHeaderTitle(){const e=this.config.headerTitle??this.config.headingTitle;if(typeof e!="string")return;const t=e.trim();return t.length>0?t:void 0}_cleanupTextInputTimers(){if(!this._contentEl)return;const e=this._contentEl.querySelectorAll(".gengage-qna-input-wrapper");for(const t of e)t._cleanup?.()}async _fetchAndRender(e){if(this._abort(),this._abortController=new AbortController,!this._contentEl)return;this._cleanupTextInputTimers(),this._contentEl.innerHTML="";const t=this._createLoadingIndicator();this._contentEl.appendChild(t);const n={middlewareUrl:this.config.middlewareUrl},r=hr({source:"qna",locale:this.config.locale});try{const o=this.config.session?.sessionId??"",i={account_id:this.config.accountId,session_id:o,correlation_id:o,sku:e,locale:ct(this.config.locale)};this.config.session?.userId!==void 0&&(i.user_id=this.config.session.userId),this.config.session?.viewId!==void 0&&(i.view_id=this.config.session.viewId);const s=this.config.pageContext?.pageType;s!==void 0&&(i.page_type=s);const a=await Ro(i,n,this._abortController.signal);if(!this._contentEl)return;this._contentEl.innerHTML="";const c=document.createElement("div");c.className="gengage-qna-panel gds-panel",c.dataset.gengagePart="qna-panel",this._contentEl.appendChild(c);const u=this._specIncludesType(a.uiSpecs,"QuestionHeading"),d=this._resolvedQnaHeaderTitle()??(this.config.showStaticQuestion&&this.config.staticQuestionText?this.config.staticQuestionText:void 0);if(!u&&d){const k=document.createElement("h3");k.className="gengage-qna-heading",k.textContent=d,c.appendChild(k)}const p=this.config.inputPlaceholder;let g;if(p!==!0)g=p??this._i18n.defaultInputPlaceholder;else if(a.actions.length>0){const k=a.actions.filter(I=>I.type==="user_message"||I.title.includes("?")).map(I=>I.title);g=k.length>0?k:this._i18n.defaultInputPlaceholder}else g=this._i18n.defaultInputPlaceholder;const f={onAction:this._actionHandler,i18n:this._i18n},h=this._resolvedQnaHeaderTitle();h!==void 0&&(f.headingTitleOverride=h),this.config.hideButtonRowCta||(f.onOpenChat=this._openChatHandler,this.config.ctaText!==void 0&&(f.ctaText=this.config.ctaText)),g!==void 0&&(f.inputPlaceholder=g);const m=this._buildFallbackActionsSpec(a.actions),v=No(this.config.pageContext),w=(a.uiSpecs.length>0?Mo(a.uiSpecs,this._i18n,{skuList:v}):[m]).filter(k=>Object.keys(k.elements).length>0);for(const k of w){const I=this._renderUISpec(k,f);c.appendChild(I)}w.length>0&&qn("qna"),this._specIncludesType(w,"TextInput")||this._insertStandaloneInputBeforePills(c,f,g)}catch(o){if(o instanceof DOMException&&o.name==="AbortError")return;if(Ce("gengage:global:error",{source:"qna",code:"FETCH_ERROR",message:Gn(this.config.locale,o)}),this._contentEl){this._cleanupTextInputTimers(),this._contentEl.innerHTML="";const i=document.createElement("div");i.className="gengage-qna-panel",this._contentEl.appendChild(i);const s=this.config.inputPlaceholder===!0?this._i18n.defaultInputPlaceholder:this.config.inputPlaceholder??this._i18n.defaultInputPlaceholder,a={onAction:this._actionHandler,i18n:this._i18n,onOpenChat:this._openChatHandler},c=this._resolvedQnaHeaderTitle();c!==void 0&&(a.headingTitleOverride=c),this.config.ctaText!==void 0&&(a.ctaText=this.config.ctaText),this._appendStandaloneInput(a,s,i)}}finally{r()}}_createLoadingIndicator(){const e=document.createElement("div");e.className="gengage-qna-loading";for(let t=0;t<3;t++){const n=document.createElement("div");n.className="gengage-qna-loading-dot",e.appendChild(n)}return e}_resolveI18n(e){return{...Jo(e.locale),...e.i18n}}_createChrome(e){const t=e.chrome;if(!t)return null;const n=typeof t.title=="string"?t.title.trim():"",r=typeof t.subtitle=="string"?t.subtitle.trim():"",o=typeof t.startButtonLabel=="string"?t.startButtonLabel.trim():"",i=typeof t.imageUrl=="string"?t.imageUrl.trim():"",s=typeof t.imagePadding=="string"?t.imagePadding.trim():"",a=document.createElement("section");a.className="gengage-qna-chrome",a.dataset.gengagePart="qna-chrome",t.layout==="side-image"&&(a.classList.add("gengage-qna-chrome--side-image"),a.dataset.gengageChromeLayout="side-image"),s&&a.style.setProperty("--gengage-qna-chrome-image-padding",s);const c=document.createElement("div");if(c.className="gengage-qna-chrome-copy",c.dataset.gengagePart="qna-chrome-copy",n){const u=document.createElement("h2");u.className="gengage-qna-chrome-title",u.dataset.gengagePart="qna-chrome-title",u.textContent=n,c.appendChild(u)}if(r){const u=document.createElement("p");u.className="gengage-qna-chrome-subtitle",u.dataset.gengagePart="qna-chrome-subtitle",u.textContent=r,c.appendChild(u)}if(c.children.length>0&&a.appendChild(c),i&&Ln(i)){const u=document.createElement("img");u.className="gengage-qna-chrome-image",u.dataset.gengagePart="qna-chrome-image",u.src=i,u.alt=typeof t.imageAlt=="string"?t.imageAlt:"",u.loading="lazy",u.addEventListener("error",()=>{u.style.display="none"},{once:!0}),a.appendChild(u)}if(o){const u=document.createElement("button");u.className="gengage-qna-chrome-start",u.dataset.gengagePart="qna-chrome-start",u.type="button",u.textContent=o,u.addEventListener("click",()=>this._handleOpenChat()),a.appendChild(u)}return a.children.length===0?null:a}_resolveUISpecRegistry(){return Zn(Pt(),this.config.renderer?.registry)}_renderUISpec(e,t){const n=this._resolveUISpecRegistry(),r=this.config.renderer?.unknownRenderer??Me,o=(s,a)=>Ct(s,a,n,r),i=this.config.renderer?.renderUISpec;return i?i(e,t,{registry:n,unknownRenderer:r,defaultRender:o}):o(e,t)}_specIncludesType(e,t){for(const n of e)for(const r of Object.values(n.elements))if(r.type===t)return!0;return!1}_buildFallbackActionsSpec(e){if(e.length===0)return{root:"root",elements:{}};const t={},n=[];for(let r=0;r<e.length;r++){const o=e[r],i=`action-${r}`;n.push(i),t[i]={type:"ActionButton",props:{label:o.title,action:{title:o.title,type:o.type,payload:o.payload}}}}return t.root={type:"ButtonRow",children:n},{root:"root",elements:t}}_insertStandaloneInputBeforePills(e,t,n){const r={root:"root",elements:{root:{type:"TextInput",props:{placeholder:n}}}},o=this._renderUISpec(r,t),i=o.querySelector(".gengage-qna-input-wrapper");if(!i)return;const s=e.querySelector(".gengage-qna-uispec"),a=e.querySelector(".gengage-qna-uispec > .gengage-qna-buttons"),c=this.config.inputAfterPills===!0;if(a)c?a.insertAdjacentElement("afterend",i):a.insertAdjacentElement("beforebegin",i);else if(s){const u=s.querySelector(":scope > .gengage-qna-heading");!c&&u?u.insertAdjacentElement("afterend",i):s.appendChild(i)}else{e.appendChild(o);return}o.remove()}_appendStandaloneInput(e,t,n){if(!this._contentEl)return;const r={root:"root",elements:{root:{type:"TextInput",props:{placeholder:t}}}},o=this._renderUISpec(r,e);(n??this._contentEl).appendChild(o)}_handleAction(e){this._showTransitionIndicator(),Dn(e.title,e.type),this.config.onActionSelected?.(e),setTimeout(()=>Ce("gengage:qna:action",e),350)}_handleOpenChat(){this._showTransitionIndicator(),this.config.onOpenChat?.(),setTimeout(()=>Ce("gengage:qna:open-chat",{}),350)}_showTransitionIndicator(){if(!this._contentEl)return;this._contentEl.querySelector(".gengage-qna-transition-indicator")?.remove(),this._contentEl.classList.add("gengage-qna--transitioning");const e=this._i18n.redirectingToChat??"Redirecting to chat...",t=document.createElement("div");t.className="gengage-qna-transition-indicator",t.textContent=e,(this._contentEl.querySelector(".gengage-qna-panel")??this._contentEl).appendChild(t),setTimeout(()=>{this._contentEl?.classList.remove("gengage-qna--transitioning"),t.remove()},600)}};function Qo(){return new Nt}var jt;function l(e,t,n){function r(a,c){if(a._zod||Object.defineProperty(a,"_zod",{value:{def:c,constr:s,traits:new Set},enumerable:!1}),a._zod.traits.has(e))return;a._zod.traits.add(e),t(a,c);const u=s.prototype,d=Object.keys(u);for(let p=0;p<d.length;p++){const g=d[p];g in a||(a[g]=u[g].bind(a))}}const o=n?.Parent??Object;class i extends o{}Object.defineProperty(i,"name",{value:e});function s(a){var c;const u=n?.Parent?new i:this;r(u,a),(c=u._zod).deferred??(c.deferred=[]);for(const d of u._zod.deferred)d();return u}return Object.defineProperty(s,"init",{value:r}),Object.defineProperty(s,Symbol.hasInstance,{value:a=>n?.Parent&&a instanceof n.Parent?!0:a?._zod?.traits?.has(e)}),Object.defineProperty(s,"name",{value:e}),s}var Y=class extends Error{constructor(){super("Encountered Promise during synchronous parse. Use .parseAsync() instead.")}},qt=class extends Error{constructor(e){super(`Encountered unidirectional transform during encode: ${e}`),this.name="ZodEncodeError"}};(jt=globalThis).__zod_globalConfig??(jt.__zod_globalConfig={});var ye=globalThis.__zod_globalConfig;function Q(e){return e&&Object.assign(ye,e),ye}function Dt(e){const t=Object.values(e).filter(n=>typeof n=="number");return Object.entries(e).filter(([n,r])=>t.indexOf(+n)===-1).map(([n,r])=>r)}function Fe(e,t){return typeof t=="bigint"?t.toString():t}function He(e){return{get value(){{const t=e();return Object.defineProperty(this,"value",{value:t}),t}throw new Error("cached value already set")}}}function Je(e){return e==null}function Qe(e){const t=e.startsWith("^")?1:0,n=e.endsWith("$")?e.length-1:e.length;return e.slice(t,n)}var Ut=Symbol("evaluating");function b(e,t,n){let r;Object.defineProperty(e,t,{get(){if(r!==Ut)return r===void 0&&(r=Ut,r=n()),r},set(o){Object.defineProperty(e,t,{value:o})},configurable:!0})}function W(e,t,n){Object.defineProperty(e,t,{value:n,writable:!0,enumerable:!0,configurable:!0})}function U(...e){const t={};for(const n of e)Object.assign(t,Object.getOwnPropertyDescriptors(n));return Object.defineProperties({},t)}function Bt(e){return JSON.stringify(e)}function Wo(e){return e.toLowerCase().trim().replace(/[^\w\s-]/g,"").replace(/[\s_-]+/g,"-").replace(/^-+|-+$/g,"")}var Mt="captureStackTrace"in Error?Error.captureStackTrace:(...e)=>{};function _e(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}var Vo=He(()=>{if(ye.jitless||typeof navigator<"u"&&navigator?.userAgent?.includes("Cloudflare"))return!1;try{return new Function(""),!0}catch{return!1}});function ce(e){if(_e(e)===!1)return!1;const t=e.constructor;if(t===void 0||typeof t!="function")return!0;const n=t.prototype;return!(_e(n)===!1||Object.prototype.hasOwnProperty.call(n,"isPrototypeOf")===!1)}function Ft(e){return ce(e)?{...e}:Array.isArray(e)?[...e]:e instanceof Map?new Map(e):e instanceof Set?new Set(e):e}var Go=new Set(["string","number","symbol"]);function ve(e){return e.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function B(e,t,n){const r=new e._zod.constr(t??e._zod.def);return(!t||n?.parent)&&(r._zod.parent=e),r}function y(e){const t=e;if(!t)return{};if(typeof t=="string")return{error:()=>t};if(t?.message!==void 0){if(t?.error!==void 0)throw new 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 Ko(e){return Object.keys(e).filter(t=>e[t]._zod.optin==="optional"&&e[t]._zod.optout==="optional")}var Su={safeint:[Number.MIN_SAFE_INTEGER,Number.MAX_SAFE_INTEGER],int32:[-2147483648,2147483647],uint32:[0,4294967295],float32:[-34028234663852886e22,34028234663852886e22],float64:[-Number.MAX_VALUE,Number.MAX_VALUE]};function Yo(e,t){const n=e._zod.def,r=n.checks;if(r&&r.length>0)throw new Error(".pick() cannot be used on object schemas containing refinements");return B(e,U(e._zod.def,{get shape(){const o={};for(const i in t){if(!(i in n.shape))throw new Error(`Unrecognized key: "${i}"`);t[i]&&(o[i]=n.shape[i])}return W(this,"shape",o),o},checks:[]}))}function Xo(e,t){const n=e._zod.def,r=n.checks;if(r&&r.length>0)throw new Error(".omit() cannot be used on object schemas containing refinements");return B(e,U(e._zod.def,{get shape(){const o={...e._zod.def.shape};for(const i in t){if(!(i in n.shape))throw new Error(`Unrecognized key: "${i}"`);t[i]&&delete o[i]}return W(this,"shape",o),o},checks:[]}))}function ei(e,t){if(!ce(t))throw new Error("Invalid input to extend: expected a plain object");const n=e._zod.def.checks;if(n&&n.length>0){const r=e._zod.def.shape;for(const o in t)if(Object.getOwnPropertyDescriptor(r,o)!==void 0)throw new Error("Cannot overwrite keys on object schemas containing refinements. Use `.safeExtend()` instead.")}return B(e,U(e._zod.def,{get shape(){const r={...e._zod.def.shape,...t};return W(this,"shape",r),r}}))}function ti(e,t){if(!ce(t))throw new Error("Invalid input to safeExtend: expected a plain object");return B(e,U(e._zod.def,{get shape(){const n={...e._zod.def.shape,...t};return W(this,"shape",n),n}}))}function ni(e,t){if(e._zod.def.checks?.length)throw new Error(".merge() cannot be used on object schemas containing refinements. Use .safeExtend() instead.");return B(e,U(e._zod.def,{get shape(){const n={...e._zod.def.shape,...t._zod.def.shape};return W(this,"shape",n),n},get catchall(){return t._zod.def.catchall},checks:t._zod.def.checks??[]}))}function ri(e,t,n){const r=t._zod.def.checks;if(r&&r.length>0)throw new Error(".partial() cannot be used on object schemas containing refinements");return B(t,U(t._zod.def,{get shape(){const o=t._zod.def.shape,i={...o};if(n)for(const s in n){if(!(s in o))throw new Error(`Unrecognized key: "${s}"`);n[s]&&(i[s]=e?new e({type:"optional",innerType:o[s]}):o[s])}else for(const s in o)i[s]=e?new e({type:"optional",innerType:o[s]}):o[s];return W(this,"shape",i),i},checks:[]}))}function oi(e,t,n){return B(t,U(t._zod.def,{get shape(){const r=t._zod.def.shape,o={...r};if(n)for(const i in n){if(!(i in o))throw new Error(`Unrecognized key: "${i}"`);n[i]&&(o[i]=new e({type:"nonoptional",innerType:r[i]}))}else for(const i in r)o[i]=new e({type:"nonoptional",innerType:r[i]});return W(this,"shape",o),o}}))}function X(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 ii(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 Ht(e,t){return t.map(n=>{var r;return(r=n).path??(r.path=[]),n.path.unshift(e),n})}function be(e){return typeof e=="string"?e:e?.message}function V(e,t,n){const r=e.message?e.message:be(e.inst?._zod.def?.error?.(e))??be(t?.error?.(e))??be(n.customError?.(e))??be(n.localeError?.(e))??"Invalid input",{inst:o,continue:i,input:s,...a}=e;return a.path??(a.path=[]),a.message=r,t?.reportInput&&(a.input=s),a}function We(e){return Array.isArray(e)?"array":typeof e=="string"?"string":"unknown"}function ue(...e){const[t,n,r]=e;return typeof t=="string"?{message:t,code:"custom",input:n,inst:r}:{...t}}var Jt=(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,Fe,2),Object.defineProperty(e,"toString",{value:()=>e.message,enumerable:!1})},Qt=l("$ZodError",Jt),Wt=l("$ZodError",Jt,{Parent:Error});function si(e,t=n=>n.message){const n={},r=[];for(const o of e.issues)o.path.length>0?(n[o.path[0]]=n[o.path[0]]||[],n[o.path[0]].push(t(o))):r.push(t(o));return{formErrors:r,fieldErrors:n}}function ai(e,t=n=>n.message){const n={_errors:[]},r=(o,i=[])=>{for(const s of o.issues)if(s.code==="invalid_union"&&s.errors.length)s.errors.map(a=>r({issues:a},[...i,...s.path]));else if(s.code==="invalid_key")r({issues:s.issues},[...i,...s.path]);else if(s.code==="invalid_element")r({issues:s.issues},[...i,...s.path]);else{const a=[...i,...s.path];if(a.length===0)n._errors.push(t(s));else{let c=n,u=0;for(;u<a.length;){const d=a[u];u!==a.length-1?c[d]=c[d]||{_errors:[]}:(c[d]=c[d]||{_errors:[]},c[d]._errors.push(t(s))),c=c[d],u++}}}};return r(e),n}var Ve=e=>(t,n,r,o)=>{const i=r?{...r,async:!1}:{async:!1},s=t._zod.run({value:n,issues:[]},i);if(s instanceof Promise)throw new Y;if(s.issues.length){const a=new(o?.Err??e)(s.issues.map(c=>V(c,i,Q())));throw Mt(a,o?.callee),a}return s.value},Ge=e=>async(t,n,r,o)=>{const i=r?{...r,async:!0}:{async:!0};let s=t._zod.run({value:n,issues:[]},i);if(s instanceof Promise&&(s=await s),s.issues.length){const a=new(o?.Err??e)(s.issues.map(c=>V(c,i,Q())));throw Mt(a,o?.callee),a}return s.value},we=e=>(t,n,r)=>{const o=r?{...r,async:!1}:{async:!1},i=t._zod.run({value:n,issues:[]},o);if(i instanceof Promise)throw new Y;return i.issues.length?{success:!1,error:new(e??Qt)(i.issues.map(s=>V(s,o,Q())))}:{success:!0,data:i.value}},ci=we(Wt),ke=e=>async(t,n,r)=>{const o=r?{...r,async:!0}:{async:!0};let i=t._zod.run({value:n,issues:[]},o);return i instanceof Promise&&(i=await i),i.issues.length?{success:!1,error:new e(i.issues.map(s=>V(s,o,Q())))}:{success:!0,data:i.value}},ui=ke(Wt),li=e=>(t,n,r)=>{const o=r?{...r,direction:"backward"}:{direction:"backward"};return Ve(e)(t,n,o)},di=e=>(t,n,r)=>Ve(e)(t,n,r),fi=e=>async(t,n,r)=>{const o=r?{...r,direction:"backward"}:{direction:"backward"};return Ge(e)(t,n,o)},pi=e=>async(t,n,r)=>Ge(e)(t,n,r),gi=e=>(t,n,r)=>{const o=r?{...r,direction:"backward"}:{direction:"backward"};return we(e)(t,n,o)},hi=e=>(t,n,r)=>we(e)(t,n,r),mi=e=>async(t,n,r)=>{const o=r?{...r,direction:"backward"}:{direction:"backward"};return ke(e)(t,n,o)},yi=e=>async(t,n,r)=>ke(e)(t,n,r),_i=/^[cC][0-9a-z]{6,}$/,vi=/^[0-9a-z]+$/,bi=/^[0-9A-HJKMNP-TV-Za-hjkmnp-tv-z]{26}$/,wi=/^[0-9a-vA-V]{20}$/,ki=/^[A-Za-z0-9]{27}$/,Si=/^[a-zA-Z0-9_-]{21}$/,zi=/^P(?:(\d+W)|(?!.*W)(?=\d|T\d)(\d+Y)?(\d+M)?(\d+D)?(T(?=\d)(\d+H)?(\d+M)?(\d+([.,]\d+)?S)?)?)$/,Ai=/^([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})$/,Vt=e=>e?new 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)$/,Ei=/^(?!\.)(?!.*\.\.)([A-Za-z0-9_'+\-\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\-]*\.)+[A-Za-z]{2,}$/,Ti="^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$";function $i(){return new RegExp(Ti,"u")}var Ii=/^(?:(?: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])$/,Pi=/^(([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}|:))$/,Ci=/^((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])$/,xi=/^(([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])$/,Oi=/^$|^(?:[0-9a-zA-Z+/]{4})*(?:(?:[0-9a-zA-Z+/]{2}==)|(?:[0-9a-zA-Z+/]{3}=))?$/,Gt=/^[A-Za-z0-9_-]*$/,Zi=/^https?$/,Ri=/^\+[1-9]\d{6,14}$/,Kt="(?:(?:\\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])))",Li=new RegExp(`^${Kt}$`);function Yt(e){const 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 Ni(e){return new RegExp(`^${Yt(e)}$`)}function ji(e){const t=Yt({precision:e.precision}),n=["Z"];e.local&&n.push(""),e.offset&&n.push("([+-](?:[01]\\d|2[0-3]):[0-5]\\d)");const r=`${t}(?:${n.join("|")})`;return new RegExp(`^${Kt}T(?:${r})$`)}var qi=e=>{const t=e?`[\\s\\S]{${e?.minimum??0},${e?.maximum??""}}`:"[\\s\\S]*";return new RegExp(`^${t}$`)},Di=/^(?:true|false)$/i,Ui=/^[^A-Z]*$/,Bi=/^[^a-z]*$/,j=l("$ZodCheck",(e,t)=>{var n;e._zod??(e._zod={}),e._zod.def=t,(n=e._zod).onattach??(n.onattach=[])}),Mi=l("$ZodCheckMaxLength",(e,t)=>{var n;j.init(e,t),(n=e._zod.def).when??(n.when=r=>{const o=r.value;return!Je(o)&&o.length!==void 0}),e._zod.onattach.push(r=>{const o=r._zod.bag.maximum??Number.POSITIVE_INFINITY;t.maximum<o&&(r._zod.bag.maximum=t.maximum)}),e._zod.check=r=>{const o=r.value;if(o.length<=t.maximum)return;const i=We(o);r.issues.push({origin:i,code:"too_big",maximum:t.maximum,inclusive:!0,input:o,inst:e,continue:!t.abort})}}),Fi=l("$ZodCheckMinLength",(e,t)=>{var n;j.init(e,t),(n=e._zod.def).when??(n.when=r=>{const o=r.value;return!Je(o)&&o.length!==void 0}),e._zod.onattach.push(r=>{const o=r._zod.bag.minimum??Number.NEGATIVE_INFINITY;t.minimum>o&&(r._zod.bag.minimum=t.minimum)}),e._zod.check=r=>{const o=r.value;if(o.length>=t.minimum)return;const i=We(o);r.issues.push({origin:i,code:"too_small",minimum:t.minimum,inclusive:!0,input:o,inst:e,continue:!t.abort})}}),Hi=l("$ZodCheckLengthEquals",(e,t)=>{var n;j.init(e,t),(n=e._zod.def).when??(n.when=r=>{const o=r.value;return!Je(o)&&o.length!==void 0}),e._zod.onattach.push(r=>{const o=r._zod.bag;o.minimum=t.length,o.maximum=t.length,o.length=t.length}),e._zod.check=r=>{const o=r.value,i=o.length;if(i===t.length)return;const s=We(o),a=i>t.length;r.issues.push({origin:s,...a?{code:"too_big",maximum:t.length}:{code:"too_small",minimum:t.length},inclusive:!0,exact:!0,input:r.value,inst:e,continue:!t.abort})}}),Se=l("$ZodCheckStringFormat",(e,t)=>{var n,r;j.init(e,t),e._zod.onattach.push(o=>{const i=o._zod.bag;i.format=t.format,t.pattern&&(i.patterns??(i.patterns=new Set),i.patterns.add(t.pattern))}),t.pattern?(n=e._zod).check??(n.check=o=>{t.pattern.lastIndex=0,!t.pattern.test(o.value)&&o.issues.push({origin:"string",code:"invalid_format",format:t.format,input:o.value,...t.pattern?{pattern:t.pattern.toString()}:{},inst:e,continue:!t.abort})}):(r=e._zod).check??(r.check=()=>{})}),Ji=l("$ZodCheckRegex",(e,t)=>{Se.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})}}),Qi=l("$ZodCheckLowerCase",(e,t)=>{t.pattern??(t.pattern=Ui),Se.init(e,t)}),Wi=l("$ZodCheckUpperCase",(e,t)=>{t.pattern??(t.pattern=Bi),Se.init(e,t)}),Vi=l("$ZodCheckIncludes",(e,t)=>{j.init(e,t);const n=ve(t.includes),r=new RegExp(typeof t.position=="number"?`^.{${t.position}}${n}`:n);t.pattern=r,e._zod.onattach.push(o=>{const i=o._zod.bag;i.patterns??(i.patterns=new Set),i.patterns.add(r)}),e._zod.check=o=>{o.value.includes(t.includes,t.position)||o.issues.push({origin:"string",code:"invalid_format",format:"includes",includes:t.includes,input:o.value,inst:e,continue:!t.abort})}}),Gi=l("$ZodCheckStartsWith",(e,t)=>{j.init(e,t);const n=new RegExp(`^${ve(t.prefix)}.*`);t.pattern??(t.pattern=n),e._zod.onattach.push(r=>{const o=r._zod.bag;o.patterns??(o.patterns=new Set),o.patterns.add(n)}),e._zod.check=r=>{r.value.startsWith(t.prefix)||r.issues.push({origin:"string",code:"invalid_format",format:"starts_with",prefix:t.prefix,input:r.value,inst:e,continue:!t.abort})}}),Ki=l("$ZodCheckEndsWith",(e,t)=>{j.init(e,t);const n=new RegExp(`.*${ve(t.suffix)}$`);t.pattern??(t.pattern=n),e._zod.onattach.push(r=>{const o=r._zod.bag;o.patterns??(o.patterns=new Set),o.patterns.add(n)}),e._zod.check=r=>{r.value.endsWith(t.suffix)||r.issues.push({origin:"string",code:"invalid_format",format:"ends_with",suffix:t.suffix,input:r.value,inst:e,continue:!t.abort})}}),Yi=l("$ZodCheckOverwrite",(e,t)=>{j.init(e,t),e._zod.check=n=>{n.value=t.tx(n.value)}}),Xi=class{constructor(e=[]){this.content=[],this.indent=0,this&&(this.args=e)}indented(e){this.indent+=1,e(this),this.indent-=1}write(e){if(typeof e=="function"){e(this,{execution:"sync"}),e(this,{execution:"async"});return}const t=e.split(`
47
+ `,document.head.appendChild(e)}var te=null;function rr(){if(te!==null)return te;try{te=localStorage.getItem("gengage:debug")==="1"}catch{te=!1}return te}function Ze(e,t,n){if(!rr())return;const r=[`[gengage:${e}]`,t];n!==void 0&&r.push(n),console.debug(...r)}var or=("0.6.45".trim(),"0.6.45".trim()),ir=("iife-build".trim(),"iife-build".trim());function sr(){if(typeof window>"u")return;const e=window;e.__gengageSdkRuntimeInfoLogged||(e.__gengageSdkRuntimeInfoLogged=!0,console.info(`[gengage] @gengage/assistant-fe v${or} (${ir})`))}var ar=class{constructor(){this.isVisible=!1,this.isInitialised=!1,this._handlers=new Map,this._cleanups=[],this._ownsRoot=!1,this._destroying=!1}async init(e){if(this.isInitialised){console.warn("[gengage] Widget already initialised. Call update() instead.");return}const t=Mn(e.theme);sr(),this.config={...e,theme:t,session:Bn(e.session)},this.root=this._resolveMount(e.mountTarget),this._applyTheme(t),Kn();const n=nt("gengage:context:update",r=>this.update(r));this._cleanups.push(n),Ze("lifecycle",`${this.constructor.name}.init`,{accountId:e.accountId,sku:e.pageContext?.sku});try{await this.onInit(this.config)}catch(r){throw this.destroy(),r}this._destroying||(this.isInitialised=!0,Ze("lifecycle",`${this.constructor.name} ready`),this.emit("ready"))}update(e){this.isInitialised&&(this.config.pageContext?this.config={...this.config,pageContext:{...this.config.pageContext,...e}}:e.pageType!==void 0&&(this.config={...this.config,pageContext:e}),this.onUpdate(e),this.emit("context-update",this.config.pageContext))}show(){this.isVisible||(this.isVisible=!0,this.root.style.display="",this.onShow(),this.emit("show"))}hide(){this.isVisible&&(this.isVisible=!1,this.root.style.display="none",this.onHide(),this.emit("hide"))}destroy(){this._destroying||(this._destroying=!0,this.emit("destroy"),this._cleanups.forEach(e=>e()),this._cleanups.length=0,this._handlers.clear(),this.onDestroy(),this._cleanupRoot(),this.isInitialised=!1)}_cleanupRoot(){this._ownsRoot?this.root.remove():this.root.innerHTML=""}on(e,t){return this._handlers.has(e)||this._handlers.set(e,new Set),this._handlers.get(e).add(t),()=>this._handlers.get(e)?.delete(t)}emit(e,...t){this._handlers.get(e)?.forEach(n=>n(...t))}addCleanup(e){this._cleanups.push(e)}_resolveMount(e){if(e instanceof HTMLElement)return e;if(typeof e=="string"){const n=document.querySelector(e);if(!n)throw new Error(`[gengage] Mount target not found: "${e}"`);return n}const t=document.createElement("div");return t.dataset.gengageWidget=this.constructor.name.toLowerCase(),document.body.insertBefore(t,document.body.firstChild),this._ownsRoot=!0,t}_applyTheme(e){if(e){for(const[t,n]of Object.entries(e))if(n!==void 0){const r=t.startsWith("--")?t:`--gengage-${cr(t)}`;this.root.style.setProperty(r,n)}}}};function cr(e){return e.replace(/([A-Z])/g,"-$1").toLowerCase()}function ct(e){const t=e?.trim();return t||"tr"}var ur=8e3,lr=5e3,dr="https://www.google.com/favicon.ico",q=new Map,ut=!1,K=null,ne=null,H=!1;function fr(e){return typeof e=="string"&&e.toLowerCase().startsWith("tr")}function lt(e){return fr(e)?"İnternet bağlantısında sorun var gibi görünüyor. İstek sürerken yeniden deneyeceğiz.":"Your internet connection looks unstable. We'll keep retrying while this request is active."}function dt(){let e;for(const t of q.values())e=t;return e}function Re(){K&&(clearTimeout(K),K=null)}function pr(){ne&&(clearInterval(ne),ne=null)}async function ft(){try{if(typeof navigator<"u"&&navigator.onLine===!1)return!1;if(typeof window<"u"){const n=window.location.hostname;if(n==="localhost"||n==="127.0.0.1")return navigator.onLine}const e=new AbortController,t=setTimeout(()=>e.abort(),3e3);try{return await fetch(dr,{method:"HEAD",mode:"no-cors",cache:"no-cache",signal:e.signal}),!0}catch{return navigator.onLine}finally{clearTimeout(t)}}catch{return typeof navigator>"u"?!0:navigator.onLine}}function fe(){H=!1,pr(),at()}function pe(){K||H||q.size===0||(K=setTimeout(async()=>{K=null,!(H||q.size===0)&&!await ft()&&q.size>0&&(H=!0,Oe({source:"sdk",message:lt(dt()),sticky:!0}),ne||(ne=setInterval(async()=>{if(q.size===0){fe();return}await ft()&&(fe(),pe())},lr)))},ur))}function gr(){ut||typeof window>"u"||(ut=!0,window.addEventListener("online",()=>{fe(),pe()}),window.addEventListener("offline",()=>{q.size===0||H||(H=!0,Re(),Oe({source:"sdk",message:lt(dt()),sticky:!0}))}))}function hr(e){gr();const t=Symbol(e.source);q.set(t,e.locale),pe();let n=!1;return()=>{if(!n){if(n=!0,q.delete(t),q.size===0){Re(),fe();return}H||(Re(),pe())}}}function pt(e){return typeof e=="object"&&e!==null&&typeof e.type=="string"}function mr(e){const t=[];let n=0,r=!1,o=!1,i=0;for(let s=0;s<e.length;s++){const a=e[s];if(o){o=!1;continue}if(a==="\\"&&r){o=!0;continue}if(a==='"'){r=!r;continue}r||(a==="{"&&n++,a==="}"&&(n--,n===0&&(t.push(e.slice(i,s+1)),i=s+1)))}return t.length>0?t:[e]}function gt(e,t){const n=e.trim();if(!n||n.startsWith(":"))return!1;const r=n.startsWith("data: ")?n.slice(6):n;if(r==="[DONE]")return t.onDone?.(),!0;try{const o=JSON.parse(r);return pt(o)?(Ze("stream",`event: ${o.type}`,o),t.onEvent(o),o.type==="done"?(t.onDone?.(),!0):!1):!1}catch{const o=mr(r);if(o.length>1){for(const i of o)try{const s=JSON.parse(i);if(!pt(s))continue;if(t.onEvent(s),s.type==="done")return t.onDone?.(),!0}catch{}return!1}return!1}}async function yr(e,t){if(!e.ok){t.onError?.(new Error(`HTTP ${e.status}: ${e.statusText}`));return}if(!e.body){t.onError?.(new Error("Response body is null — streaming not supported"));return}const n=e.body.getReader(),r=new TextDecoder("utf-8");let o="";const i=t.idleTimeoutMs??6e4,s=Symbol("idle-timeout");let a=!1;try{for(;;){const c=n.read();let u;const d=await(i>0?Promise.race([c.then(h=>(clearTimeout(u),h)),new Promise(h=>{u=setTimeout(()=>h(s),i)})]):c);if(d===s){a=!0,await n.cancel();break}const{done:f,value:g}=d;if(f)break;o+=r.decode(g,{stream:!0});const p=o.split(`
48
+ `);o=p.pop()??"";for(const h of p)if(gt(h,t))return}if(o.trim()&&gt(o,t))return}catch(c){if(c instanceof DOMException&&c.name==="AbortError")return;t.onError?.(c instanceof Error?c:new Error(String(c)))}finally{a||n.releaseLock()}t.onDone?.()}var _r={process_action:"/process_action",launcher_action:"/launcher_action",similar_products:"/similar_products",product_groupings:"/product_groupings"};function vr(e){if(e===void 0)throw new Error("[gengage] middlewareUrl is required. Pass your Gengage backend URL in widget config.");const t=e.trim();return t===""?"":t.replace(/\/+$/,"")}function br(e,t){return`${vr(t?.middlewareUrl)}/chat${_r[e]}`}var ht=3,wr=(e,t)=>{const n=e.replace(/\s+/g," ").trim().replace(/^[,.;:!?•-]+|[,.;:!?•-]+$/g,"");if(!n)return"";const r=t?.stripLeadingStopWords?n.replace(/^(?:daha|için)\s+/i,"").trim():n;return r?r.split(/\s+/).slice(0,3).join(" ").trim():""},Le=(e,t)=>e?e.split(/[•,;:/()]|(?:\sve\s)|(?:\sand\s)|(?:\sile\s)|(?:\sfor\s)|(?:\swith\s)/i).map(n=>wr(n,t)).filter(Boolean):[];function kr(e){const t=(e.display_keywords??[]).flatMap(o=>Le(o,{stripLeadingStopWords:!0})),n=t.filter((o,i)=>t.indexOf(o)===i);if(n.length>0)return n.slice(0,ht);const r=[...Le(e.chosen_attribute,{stripLeadingStopWords:!0}),...Le(e.short_name)];return r.filter((o,i)=>r.indexOf(o)===i).slice(0,ht)}function Sr(e){return kr(e).join(" • ")}function zr(e){return e==="beauty_consulting"||e==="account_expert"}function re(...e){for(const t of e){if(typeof t!="string")continue;const n=t.trim();if(n.length>0)return n}}function oe(e){return Array.isArray(e)?e.filter(t=>typeof t=="string"&&t.trim().length>0).map(t=>t.trim()):[]}function ge(e){const t={...e},n=re(t.sku),r=oe(t.group_skus);if(n?t.sku=n:delete t.sku,r.length>0?t.group_skus=r:delete t.group_skus,n||r.length>0)delete t.image_url;else{const o=re(t.image_url);o?t.image_url=o:delete t.image_url}return t}function Ar(e){if(typeof e.type!="string")return null;if(Er(e))return e;const t=e;switch(t.type){case"outputText":return Tr(t);case"suggestedActions":return $r(t);case"productList":return Ir(t);case"productDetails":return Pr(t);case"productDetailsSimilars":return Cr(t);case"comparisonTable":return xr(t);case"context":return Lr(t);case"chatStreamEnd":return Nr();case"loading":return jr(t);case"panelLoading":return qr(t);case"similarLoading":return Dr(t);case"redirect":return Ur(t);case"error":return Br(t);case"dummy":return Mr(t);case"launcherAction":return Fr(t);case"text":return Ne(t);case"productItem":return Hr(t);case"text_image":return mt(t);case"quick_qna":return yt(t);case"reviewHighlights":return Jr(t);case"aiProductSuggestions":return Vr(t);case"aiProductGroupings":return Gr(t);case"aiSuggestedSearches":return Xr(t);case"prosAndCons":return Qr(t);case"getGroundingReview":return eo(t);case"voice":return no(t);case"visitorDataResponse":return Wr(t);case"productListPreview":return to();case"groupList":return ro(t);case"formGetInfo":case"formTestDrive":case"formServiceRequest":case"launchFormPage":return oo(t);case"launcherContent":return so(t);case"handoff":return io(t);case"uiSpec":return ho(t);default:return null}}function Er(e){const t=e.type;if(typeof t!="string")return!1;switch(t){case"metadata":return typeof e.sessionId=="string"&&typeof e.model=="string";case"text_chunk":return typeof e.content=="string";case"ui_spec":{const n=e.widget;if(n!=="chat"&&n!=="qna"&&n!=="simrel")return!1;const r=C(e.spec);return r?typeof r.root=="string"&&C(r.elements)!==null:!1}case"action":{const n=C(e.action);return n!==null&&typeof n.kind=="string"}case"error":return typeof e.code=="string"&&typeof e.message=="string";case"done":return!0;default:return!1}}function Tr(e){const t=_(e.payload.text,e.payload.plain_text)??"",n=_(e.payload.plain_text,e.payload.text)??t;if(e.payload.is_error)return{type:"error",code:"BACKEND_ERROR",message:n||"Backend returned an error"};const r={type:"text_chunk",content:t,final:!0},o=e.payload.sku_to_product_item;o&&typeof o=="object"&&!Array.isArray(o)&&(r.skuToProductItem=o);const i=e.payload.product_mentions;Array.isArray(i)&&i.length>0&&(r.productMentions=i.map(c=>{if(typeof c!="object"||c===null||typeof c.sku!="string")return null;const u=typeof c.short_name=="string"?c.short_name:"";if(!u)return null;const d=(typeof c.url=="string"&&c.url.trim()?c.url.trim():void 0)??(()=>{const f=r.skuToProductItem?.[c.sku];return typeof f?.url=="string"&&f.url.trim()?f.url.trim():void 0})();return d?{sku:c.sku,short_name:u,url:d}:{sku:c.sku,short_name:u}}).filter(c=>c!==null));const s=e.payload.conversation_mode;typeof s=="string"&&s&&(r.conversationMode=s);const a=e.payload.render_hint;return typeof a=="string"&&a&&(r.renderHint=a),e.payload.kvkk===!0&&(r.kvkk=!0),r}function $r(e){return _t((e.payload.actions??[]).map(t=>{const n=_(t.title)??"",r=O(t.requestDetails,n),o=r?{label:n,action:r}:null;return o?(typeof t.icon=="string"&&(o.icon=t.icon),typeof t.image=="string"&&(o.image=t.image),o):null}).filter(se),"chat")}function Ir(e){const t=Array.isArray(e.payload.grouped_assignment)?e.payload.grouped_assignment:[],n=(Array.isArray(e.payload.style_variations)?e.payload.style_variations:[]).map(a=>{const c=_(a.style_label);if(!c)return null;const u=_(a.style_mood),d=_(a.image_url??void 0),f=(Array.isArray(a.product_list)?a.product_list:[]).map(p=>{const h=C(p);return h?De(C(h.product_detail)??C(h.product)??h):null}).filter(se),g=Array.isArray(a.recommendation_groups)?a.recommendation_groups.map(p=>({label:_(p.label)??"",reason:_(p.reason)??"",skus:Array.isArray(p.skus)?p.skus.filter(h=>typeof h=="string"&&h.trim().length>0):[]})):[];return{style_label:c,style_mood:u??"",...d?{image_url:d}:{},...typeof a.status=="string"?{status:a.status}:{},product_list:f,recommendation_groups:g}}).filter(se),r=e.payload.product_list??[],o=zr(e.payload.source)&&n.length>0?n[0].product_list:null,i=o?co(o,"chat"):t.length>0?ao(t,r,"chat")??qe(r,"chat"):qe(r,"chat");i.panelHint="panel";const s=i.spec.elements[i.spec.root];if(s){const a={};typeof e.payload.offset=="number"&&(a.offset=e.payload.offset),typeof e.payload.end_of_list=="boolean"&&(a.endOfList=e.payload.end_of_list),typeof e.payload.title=="string"&&(a.panelTitle=e.payload.title),typeof e.payload.source=="string"&&(a.source=e.payload.source),n.length>0&&(a.styleVariations=n),e.payload.replace_panel===!0&&(a.replacePanel=!0),(e.payload.ranking_state==="pending"||e.payload.ranking_state==="final")&&(a.rankingState=e.payload.ranking_state);const c=e.payload.sequence_id??e.payload.search_id;typeof c=="string"&&c.length>0&&(a.sequenceId=c),Object.keys(a).length>0&&(s.props={...s.props,...a})}return i}function Pr(e){const t=e.payload.productDetails;if(!t)return lo("chat");const n=J(t);return{type:"ui_spec",widget:"chat",spec:{root:"root",elements:{root:{type:"ProductDetailsPanel",props:{product:{...t,...n}}}}},panelHint:"panel"}}function Cr(e){const t=qe(e.payload.similarProducts??[],"chat"),n=t.spec.elements[t.spec.root];return n&&(n.props={...n.props,similarsAppend:!0}),{...t,panelHint:"panel"}}function xr(e){const t=e.payload.multiple_product_details??[],n=e.payload,r={key_differences:n.key_differences,recommended_choice:n.recommended_choice,recommended_choice_sku:n.recommended_choice_sku,special_considerations:n.special_considerations,criteria_view:n.criteria_view,criteria_view_short:n.criteria_view_short,compared_field_names:n.compared_field_names,winner_product:n.winner_product,winner_hits:n.winner_hits,...e.payload.product_comparison_framework??{}},o=e.payload.table,i=e.payload.features_list,s=[];for(const v of t){const w=J(v);s.push(w)}const a=Or(o,s,r,i);let c;r?.recommended_choice_sku?c=r.recommended_choice_sku:r?.winner_product&&r.winner_product.length>0&&(c=r.winner_product[0]?.product_detail?.sku??r.winner_product[0]?.sku);const u=c?s.find(v=>v.sku===c)??s[0]:s[0],d=[];if(Array.isArray(r?.key_differences))for(const v of r.key_differences)typeof v=="string"&&d.push(v);const f=vt(r?.special_considerations),g=r?.recommended_choice,p=r?.winner_hits,h={};for(const v of s){const w=v.sku;w&&(h[w]={title:v.name??w,type:"launchSingleProduct",payload:{sku:w}})}const m={products:s,attributes:a,highlights:d,productActions:h};return u&&(m.recommended=u),f.length>0&&(m.specialCases=f),g&&(m.recommendedText=g),p&&(m.winnerHits=p),typeof r?.key_differences=="string"&&(m.keyDifferencesHtml=r.key_differences),r?.special_considerations&&(m.specialConsiderations=r.special_considerations),{type:"ui_spec",widget:"chat",spec:{root:"root",elements:{root:{type:"ComparisonTable",props:m}}},panelHint:"panel"}}function Or(e,t,n,r){if(!e)return[];const o=Object.entries(e);if(o.length===0)return[];const i=o[0]?.[1];if(Array.isArray(i)){const f=n.criteria_view??n.criteria_view_short??{},g=n.compared_field_names??Object.keys(e),p=[];for(const h of g){const m=e[h];if(!m||!Array.isArray(m))continue;const v=f[h]??h;p.push({label:v,values:m.map(w=>typeof w=="string"?w:String(w??""))})}return p}const s=e,a=t.map(f=>String(f.sku??"")).filter(f=>f.length>0),c=n.criteria_view??n.criteria_view_short??{},u=(r&&r.length>0?r:n.compared_field_names&&n.compared_field_names.length>0?n.compared_field_names:Zr(s)).filter(f=>f!=="name"&&f!=="name_short"&&!f.endsWith("_short")),d=[];for(const f of u){const g=a.map(h=>{const m=s[h];if(!m||typeof m!="object")return"";const v=m[`${f}_short`],w=m[f];return Rr(v??w)});if(g.every(h=>h.length===0))continue;const p=c[f]??f;d.push({label:p,values:g})}return d}function Zr(e){const t=[],n=new Set;for(const r of Object.values(e))if(!(!r||typeof r!="object"))for(const o of Object.keys(r))n.has(o)||(n.add(o),t.push(o));return t}function Rr(e){return typeof e=="string"?e:typeof e=="number"||typeof e=="boolean"?String(e):""}function Lr(e){return{type:"metadata",sessionId:"",model:"",meta:{panel:e.payload.panel,messages:e.payload.messages,message_id:e.payload.message_id}}}function Nr(){return{type:"done"}}function jr(e){return{type:"metadata",sessionId:"",model:"",meta:{loading:!0,loadingText:e.payload.text,thinkingMessages:e.payload.thinking_messages,dynamicLoading:e.payload.is_dynamic===!0}}}function qr(e){return{type:"metadata",sessionId:"",model:"",meta:{loading:!0,panelLoading:!0,panelPendingType:e.payload?.pending_type,loadingText:e.payload?.text}}}function Dr(e){return{type:"metadata",sessionId:"",model:"",meta:{loading:!0,similarPanelLoading:!0,panelPendingType:e.payload?.pending_type,loadingText:e.payload?.text}}}function Ur(e){const t=_(e.payload.url);return t?{type:"action",action:{kind:"navigate",url:t,newTab:e.payload.new_tab===!0}}:{type:"metadata",sessionId:"",model:"",meta:{redirect:e.payload,redirectTarget:_(e.payload.to)}}}function Br(e){return{type:"error",code:"BACKEND_ERROR",message:_(e.payload?.text,e.payload?.message,e.payload?.error)??"Backend returned an error"}}function Mr(e){return{type:"metadata",sessionId:"",model:"",meta:{noop:!0}}}function Fr(e){const t=e.payload??{};if(Array.isArray(t.action_list)){const o={action_list:t.action_list},i=typeof t.type=="string"?t.type:void 0,s=typeof t.theme=="string"?t.theme:void 0;return i!==void 0&&(o.type=i),s!==void 0&&(o.theme=s),yt({type:"quick_qna",payload:o})}const n=C(t.action);if(n){const o={action:n},i=typeof t.text=="string"?t.text:void 0,s=typeof t.image_url=="string"?t.image_url:void 0,a=typeof t.theme=="string"?t.theme:void 0;return i!==void 0&&(o.text=i),s!==void 0&&(o.image_url=s),a!==void 0&&(o.theme=a),mt({type:"text_image",payload:o})}const r=typeof t.text=="string"?t.text:"";if(r){const o={text:r},i=typeof t.type=="string"?t.type:void 0,s=typeof t.theme=="string"?t.theme:void 0,a=C(t.payload)??void 0;return i!==void 0&&(o.type=i),a!==void 0&&(o.payload=a),s!==void 0&&(o.theme=s),Ne({type:"text",payload:o})}return{type:"metadata",sessionId:"",model:"",meta:{launcherAction:t}}}function Ne(e){const t={text:_(e.payload.text)??""};return typeof e.payload.theme=="string"&&(t.theme=e.payload.theme),e.payload.payload!==void 0&&(t.payload=e.payload.payload),{type:"ui_spec",widget:"qna",spec:{root:"root",elements:{root:{type:"QuestionHeading",props:t}}}}}function Hr(e){return uo(e.payload,"qna")}function mt(e){const t=_(e.payload.text)??"",n=O(e.payload.action,t);if(n){const o={label:t||n.title,action:n};return typeof e.payload.image_url=="string"&&(o.image=e.payload.image_url),typeof e.payload.theme=="string"&&(o.theme=e.payload.theme),{type:"ui_spec",widget:"qna",spec:{root:"root",elements:{root:{type:"ActionButton",props:o}}}}}const r={text:t};return typeof e.payload.theme=="string"&&(r.theme=e.payload.theme),Ne({type:"text",payload:r})}function yt(e){return _t((e.payload.action_list??[]).map(t=>{const n=_(t.title)??"",r=O(t.requestDetails,n),o=r?{label:n,action:r}:null;return o?(typeof t.icon=="string"&&(o.icon=t.icon),typeof t.image=="string"&&(o.image=t.image),o):null}).filter(se),"qna")}function Jr(e){const t={reviews:(e.payload.reviews??[]).map(n=>{const r={};return typeof n.review_class=="string"&&(r.review_class=n.review_class),typeof n.review_text=="string"&&(r.review_text=n.review_text),(typeof n.review_rating=="string"||typeof n.review_rating=="number")&&(r.review_rating=n.review_rating),typeof n.review_tag=="string"&&(r.review_tag=n.review_tag),r})};return typeof e.payload.sku=="string"&&(t.sku=e.payload.sku),{type:"ui_spec",widget:"chat",spec:{root:"root",elements:{root:{type:"ReviewHighlights",props:t}}}}}function Qr(e){const t={};return Array.isArray(e.payload.pros)&&(t.pros=e.payload.pros),Array.isArray(e.payload.cons)&&(t.cons=e.payload.cons),typeof e.payload.product_name=="string"&&(t.productName=e.payload.product_name),{type:"ui_spec",widget:"chat",spec:{root:"root",elements:{root:{type:"ProsAndCons",props:t}}}}}function Wr(e){return{type:"metadata",sessionId:"",model:"",meta:{visitorDataResponse:e.payload}}}function Vr(e){const t=e.payload.product_suggestions??[],n=[];for(let r=0;r<t.length;r++){const o=t[r];if(!o)continue;const i=fo(o);if(!i)continue;const s={product:i},a=O(o.requestDetails,i.name);a&&(s.action=a),typeof o.role=="string"&&(s.role=o.role),typeof o.reason=="string"&&(s.reason=o.reason),typeof o.review_highlight=="string"&&(s.reviewHighlight=o.review_highlight),Array.isArray(o.labels)&&(s.labels=o.labels),typeof o.expert_quality_score=="number"&&(s.expertQualityScore=o.expert_quality_score),n.push(s)}return n.length===0?{type:"metadata",sessionId:"",model:"",meta:{aiProductSuggestions:e.payload.product_suggestions??[]}}:{type:"ui_spec",widget:"chat",spec:{root:"root",elements:{root:{type:"AITopPicks",props:{suggestions:n}}}}}}function Gr(e){const t=e.payload.product_groupings??[],n=[],r=[];for(let o=0;o<t.length;o++){const i=t[o];if(!i)continue;const s=_(i.name)??"",a=_(i.description),c=_(i.highlight),u=Array.isArray(i.labels)?vt(i.labels):[],d=_(i.sku,i.repr_sku),f=_(i.image,i.repr_image),g=Kr(i,s,d),p=(Array.isArray(i.group_products)?i.group_products:[]).map(v=>{const w=C(v);return w?De(w):null}).filter(se),h=f??_(...p.map(v=>v.imageUrl));if(s&&p.length>0){const v={groupName:s,products:p};h&&(v.image=h),a&&(v.description=a),c&&(v.highlight=c),u.length>0&&(v.labels=u),n.push(v)}if(!g)continue;const m={name:s,action:g};u.length>0&&(m.labels=u),f!==void 0&&(m.image=f),r.push(m)}return n.length>0?{type:"ui_spec",widget:"chat",spec:{root:"root",elements:{root:{type:"CategoriesContainer",props:{groups:n}}}},panelHint:"panel"}:r.length===0?{type:"metadata",sessionId:"",model:"",meta:{aiProductGroupings:e.payload.product_groupings??[]}}:{type:"ui_spec",widget:"chat",spec:{root:"root",elements:{root:{type:"AIGroupingCards",props:{entries:r}}}}}}function Kr(e,t,n){const r=C(e.requestDetails);if(r){if(r.type!=="findSimilar")return O(r,t);const s={...C(r.payload)??{}};n&&!re(s.sku)&&(s.sku=n);const a=oe(e.group_skus);return a.length>0&&(s.group_skus=a),O({...r,payload:ge(s)},t)}const o={};n&&(o.sku=n);const i=oe(e.group_skus);return i.length>0&&(o.group_skus=i),Object.keys(o).length===0?null:O({type:"findSimilar",payload:ge(o)},t)}function Yr(e,t){const n=C(e.requestDetails),r=C(n?.payload),o=_(e.detailed_user_message),i=e.group_skus&&Array.isArray(e.group_skus)?oe(e.group_skus):oe(r?.group_skus),s=_(e.sku,e.representative_product_sku,r?.sku);if(n?.type==="findSimilar"){const c={...r??{}};return s&&(c.sku=s),i.length>0&&(c.group_skus=i),o&&(c.input=o,re(c.text)||(c.text=o)),c.is_search_suggestion=1,O({...n,payload:ge(c)},t)}if(s){const c={sku:s,is_search_suggestion:1};return i.length>0&&(c.group_skus=i),o&&(c.input=o,c.text=o),O({type:"findSimilar",payload:ge(c)},t)}const a={...r??{},is_suggested_text:1,is_search_suggestion:1};return o&&!re(a.text)&&(a.text=o),i.length>0&&(a.group_skus=i),O(n?.type==="inputText"?{...n,payload:a}:{type:"inputText",payload:a},t)}function Xr(e){const t=e.payload.suggested_searches??[],n=[];for(let r=0;r<t.length;r++){const o=t[r];if(!o)continue;const i=_(o.short_name,o.chosen_attribute,o.detailed_user_message)??`Search ${r+1}`,s=Yr(o,i);if(!s)continue;const a={shortName:i,action:s},c=_(o.detailed_user_message);c&&c!==i&&(a.detailedMessage=c);const u=Sr(o);u&&u!==i&&u!==(c??"")&&(a.whyDifferent=u),typeof o.image=="string"&&(a.image=o.image),n.push(a)}return n.length===0?{type:"metadata",sessionId:"",model:"",meta:{aiSuggestedSearches:e.payload.suggested_searches??[]}}:{type:"ui_spec",widget:"chat",spec:{root:"root",elements:{root:{type:"AISuggestedSearchCards",props:{entries:n}}}}}}function eo(e){const t=e.payload,n=O(t.requestDetails??t.request_details,_(t.review_count,t.reviewCount,t.text,t.title)??"Show product reviews");if(!n)return{type:"metadata",sessionId:"",model:"",meta:{groundingReview:t}};const r={action:n};return t.title&&(r.title=t.title),t.text&&(r.text=t.text),t.review_count?r.reviewCount=t.review_count:typeof t.reviewCount=="string"&&t.reviewCount.trim()&&(r.reviewCount=t.reviewCount),{type:"ui_spec",widget:"chat",spec:{root:"root",elements:{root:{type:"GroundingReviewCard",props:r}}}}}function to(){return{type:"metadata",sessionId:"",model:"",meta:{analyzeAnimation:!0}}}function no(e){return{type:"metadata",sessionId:"",model:"",meta:{voice:e.payload}}}function ro(e){const t=e.payload.group_list??[],n=[];for(const o of t){const i=o.group_name??"",s=(o.product_list??[]).map(J);n.push({groupName:i,products:s})}const r=[];for(const o of e.payload.filter_tags??[]){const i=o.title??"";if(!i)continue;const s=O(o.requestDetails,i),a={title:i};s&&(a.action=s),r.push(a)}return{type:"ui_spec",widget:"chat",spec:{root:"root",elements:{root:{type:"CategoriesContainer",props:{groups:n,filterTags:r}}}},panelHint:"panel"}}function oo(e){return{type:"metadata",sessionId:"",model:"",meta:{formType:e.type,formPayload:e.payload??{}}}}function io(e){const t={};return typeof e.payload?.summary=="string"&&(t.summary=e.payload.summary),Array.isArray(e.payload?.products_discussed)&&(t.products_discussed=e.payload.products_discussed),typeof e.payload?.user_sentiment=="string"&&(t.user_sentiment=e.payload.user_sentiment),{type:"ui_spec",widget:"chat",spec:{root:"root",elements:{root:{type:"HandoffNotice",props:t}}}}}function so(e){return{type:"metadata",sessionId:"",model:"",meta:{launcherContent:e.payload??{}}}}function je(e,t){const n={product:e,index:t},r=e,o=typeof r.sku=="string"?r.sku:void 0;return o&&(n.action={title:typeof r.name=="string"?r.name:"",type:"launchSingleProduct",payload:{sku:o}}),{type:"ProductCard",props:n}}function _t(e,t){const n={},r=[];for(let o=0;o<e.length;o++){const i=e[o];if(!i)continue;const s=`action-${o}`;r.push(s);const a={label:i.label,action:i.action};i.icon!==void 0&&(a.icon=i.icon),i.image!==void 0&&(a.image=i.image),i.description!==void 0&&(a.description=i.description),n[s]={type:"ActionButton",props:a}}return n.root={type:"ActionButtons",props:{buttons:e.map(o=>{const i={label:o.label,action:o.action};return o.image!==void 0&&(i.image=o.image),o.description!==void 0&&(i.description=o.description),o.icon!==void 0&&(i.icon=o.icon),i})},children:r},{type:"ui_spec",widget:t,spec:{root:"root",elements:n}}}function qe(e,t){const n={},r=[];for(let o=0;o<e.length;o++){const i=e[o];if(!i)continue;const s=J(i),a=`product-${o}`;r.push(a),n[a]=je(s,o)}return n.root={type:"ProductGrid",props:{layout:"grid"},children:r},{type:"ui_spec",widget:t,spec:{root:"root",elements:n}}}function ao(e,t,n){const r=new Map;for(const u of t)u?.sku&&r.set(u.sku,u);if(r.size===0)return null;const o=new Set,i={},s=[],a=[];let c=0;for(let u=0;u<e.length;u++){const d=e[u],f=_(d?.title)??"",g=Array.isArray(d?.skus)?d.skus:[],p=[];for(let h=0;h<g.length;h++){const m=typeof g[h]=="string"?g[h].trim():"";if(!m||o.has(m))continue;const v=r.get(m);if(!v)continue;o.add(m);const w=`product-${u}-${h}`,k=J(v);s.push(w),p.push(w),i[w]=je(k,c),c+=1}p.length>0&&a.push({title:f,children:p})}return a.length===0||o.size<r.size?null:(i.root={type:"ProductGrid",props:{layout:"grouped",productSections:a},children:s},{type:"ui_spec",widget:n,spec:{root:"root",elements:i}})}function co(e,t){const n={},r=[];for(let o=0;o<e.length;o++){const i=e[o];if(!i)continue;const s=`product-${o}`;r.push(s),n[s]=je(i,o)}return n.root={type:"ProductGrid",props:{layout:"grid"},children:r},{type:"ui_spec",widget:t,spec:{root:"root",elements:n}}}function uo(e,t){return{type:"ui_spec",widget:t,spec:{root:"root",elements:{root:{type:"ProductCard",props:{product:J(e),index:0}}}}}}function lo(e){return{type:"ui_spec",widget:e,spec:{root:"root",elements:{root:{type:"ActionButtons",props:{buttons:[]},children:[]}}}}}function fo(e){const t=_(e.sku),n=_(e.short_name),r={...C(e.product_item)??e},o=_(e.discount_reason,e.discountReason);return o&&!_(r.discount_reason,r.discountReason)&&(r.discount_reason=o),De(r,t,n)}function De(e,t,n){const r=_(e.sku,t),o=_(e.name,n);if(!r||!o)return null;const i={sku:r,name:o},s=_(e.brand);s&&(i.brand=s);const a=_(e.url);a&&(i.url=a);const c=po(e.images);if(c.length>0)i.images=c;else{const m=_(e.image,e.image_url,e.imageUrl);m&&(i.images=[m])}const u=ie(e.price_discounted);u!==void 0&&(i.price_discounted=u);const d=ie(e.price);d!==void 0&&(i.price=d);const f=ie(e.rating);f!==void 0&&(i.rating=f);const g=ie(e.review_count)??ie(e.reviewCount);g!==void 0&&(i.review_count=g);const p=_(e.cart_code,e.cartCode);p&&(i.cart_code=p),typeof e.in_stock=="boolean"&&(i.in_stock=e.in_stock),typeof e.inStock=="boolean"&&(i.in_stock=e.inStock);const h=_(e.discount_reason,e.discountReason);return h&&(i.discount_reason=h),J(i)}function O(e,t){const n=C(e);if(!n)return null;const r=n.type;if(typeof r!="string"||r.length===0)return null;const o={title:t||r,type:r};return n.payload!==void 0&&(o.payload=n.payload),o}function C(e){return!e||typeof e!="object"||Array.isArray(e)?null:e}function _(...e){for(const t of e)if(typeof t=="string"){const n=t.trim();if(n.length>0)return n}}function po(e){return Array.isArray(e)?e.filter(t=>typeof t=="string"&&t.length>0):[]}function vt(e){if(typeof e=="string"){const t=e.trim();return t?[t]:[]}return Array.isArray(e)?e.filter(t=>typeof t=="string").map(t=>t.trim()).filter(t=>t.length>0):[]}function ie(e){if(typeof e=="number"&&Number.isFinite(e))return e;if(typeof e=="string"){let t;e.includes(".")&&e.includes(",")?t=e.replace(/\./g,"").replace(",","."):t=e.replace(",",".");const n=Number(t);if(Number.isFinite(n))return n}}function se(e){return e!=null}var go=new Set(["sku","name","brand","images","price","price_discounted","price_discount_rate","price_currency","discount_reason","url","rating","review_count","cart_code","in_stock","description","description_html","features","specifications","short_name","category_ids","category_names","variants","facet_hits","promotions"]);function J(e){const t=e.price_discounted!=null&&e.price_discounted>0,n=t?e.price_discounted:e.price,r=t&&e.price!=null?e.price:void 0;let o;r!=null&&n!=null&&r>0?o=Math.round((r-n)/r*100):e.price_discount_rate!=null&&e.price_discount_rate>0&&(o=e.price_discount_rate);const i=_(e.brand),s=_(e.name)??e.sku,a=i&&!s.toLowerCase().startsWith(i.toLowerCase())?`${i} ${s}`:s,c={sku:e.sku,name:a,url:_(e.url)??""},u=e.images?.[0];u&&(c.imageUrl=u),e.images&&e.images.length>1&&(c.images=e.images),n!=null&&n>0&&(c.price=String(n)),r!=null&&r>0&&(c.originalPrice=String(r)),o!==void 0&&(c.discountPercent=o),i!==void 0&&(c.brand=i),e.rating!==void 0&&(c.rating=e.rating),e.review_count!==void 0&&(c.reviewCount=e.review_count),e.cart_code!==void 0&&(c.cartCode=e.cart_code),e.in_stock!==void 0&&(c.inStock=e.in_stock),e.variants&&e.variants.length>0&&(c.variants=e.variants),e.discount_reason!==void 0&&(c.discountReason=e.discount_reason),e.promotions&&e.promotions.length>0&&(c.promotions=e.promotions),e.description!==void 0&&(c.description=e.description),e.description_html!==void 0&&(c.descriptionHtml=e.description_html),e.features&&e.features.length>0&&(c.features=e.features),e.specifications!==void 0&&(c.specifications=e.specifications),e.facet_hits&&(c.facetHits=e.facet_hits),e.category_names&&e.category_names.length>0&&(c.categoryNames=e.category_names),e.short_name!==void 0&&(c.shortName=e.short_name);const d=e,f={};let g=!1;for(const p of Object.keys(d))go.has(p)||(f[p]=d[p],g=!0);return g&&(c.extras=f),c}function ho(e){const t=e.payload.type,{type:n,...r}=e.payload;return{type:"ui_spec",widget:"chat",spec:{root:"root",elements:{root:{type:t,props:r}}}}}var mo=7200*1e3,bt=200,yo=5*1024*1024,_o="gengage_request_response_cache",vo=1,L="responses",bo=new Set(["addToCart","like"]),N=new Map,wt=null;async function wo(e,t={},n={}){const r=ko(e,t);if(!r)return fetch(e,t);const o=Date.now(),i=await Eo(r,o);if(i)return Io(i);const s=await fetch(e,t);return s.ok&&To(r,s.clone(),o,{ttlMs:n.ttlMs??mo,maxEntries:n.maxEntries??bt,maxBodyBytes:n.maxBodyBytes??yo}),s}function ko(e,t={}){if(typeof Request<"u"&&e instanceof Request)return null;const n=String(t.method||"GET").toUpperCase();if(n!=="POST"||typeof t.body!="string")return null;const r=So(t.body);if(zo(r))return null;const o=Ao(r);if(o){const i=ae(r?.action);return`rr:${At(zt({url:String(e),method:n,headers:kt(t.headers),type:r?.type??i?.type??"",account_id:r?.account_id??r?.accountId??"",locale:r?.locale??"",outputLanguage:ae(r?.meta)?.outputLanguage??"",cache_key:o}))}`}return`rr:${At(zt({url:String(e),method:n,headers:kt(t.headers),body:t.body}))}`}function So(e){try{const t=JSON.parse(e);return!t||typeof t!="object"||Array.isArray(t)?null:t}catch{return null}}function zo(e){const t=e?.type;return typeof t=="string"&&bo.has(t)}function Ao(e){const t=(ae(e?.payload)??ae(ae(e?.action)?.payload))?.cache_key;return typeof t=="string"&&t.trim().length>0?t.trim():null}async function Eo(e,t){const n=N.get(e);if(n)if(n.expiresAt<=t)N.delete(e);else return n.lastAccessedAt=t,N.delete(e),N.set(e,n),Ue(n),n;const r=await Co(e);return r?r.expiresAt<=t?(N.delete(e),xo(e),null):(r.lastAccessedAt=t,N.set(e,r),Ue(r),St(bt),r):null}async function To(e,t,n,r){try{const o=await t.text();if(Zo(o)>r.maxBodyBytes||$o(o))return;const i={key:e,status:t.status,statusText:t.statusText,headers:Po(t.headers),body:o,createdAt:n,expiresAt:n+r.ttlMs,lastAccessedAt:n};N.set(e,i),St(r.maxEntries),await Ue(i),await Oo(r.maxEntries,n)}catch{}}function $o(e){return/"_error"\s*:/u.test(e)||/"type"\s*:\s*"error"/u.test(e)}function Io(e){return new Response(e.body,{status:e.status,statusText:e.statusText,headers:new Headers(e.headers)})}function kt(e){const t=new Headers(e),n=[];return t.forEach((r,o)=>{const i=o.toLowerCase();i!=="authorization"&&i!=="cookie"&&n.push([i,r])}),n.sort(([r],[o])=>r.localeCompare(o))}function Po(e){const t=[];return e.forEach((n,r)=>{const o=r.toLowerCase();o!=="set-cookie"&&t.push([o,n])}),t.sort(([n],[r])=>n.localeCompare(r))}function St(e){for(;N.size>e;){const t=[...N.values()].sort((n,r)=>n.lastAccessedAt-r.lastAccessedAt)[0];if(!t)break;N.delete(t.key)}}async function he(){return typeof indexedDB>"u"?null:(wt??=new Promise(e=>{const t=indexedDB.open(_o,vo);t.onupgradeneeded=()=>{const n=t.result;n.objectStoreNames.contains(L)||n.createObjectStore(L,{keyPath:"key"}).createIndex("lastAccessedAt","lastAccessedAt",{unique:!1})},t.onsuccess=()=>e(t.result),t.onerror=()=>e(null),t.onblocked=()=>e(null)}),wt)}async function Co(e){const t=await he();return t?new Promise(n=>{const r=t.transaction(L,"readonly"),o=r.objectStore(L).get(e);o.onsuccess=()=>n(o.result??null),o.onerror=()=>n(null),r.onerror=()=>n(null)}):null}async function Ue(e){const t=await he();t&&await new Promise(n=>{const r=t.transaction(L,"readwrite");r.objectStore(L).put(e),r.oncomplete=()=>n(),r.onerror=()=>n(),r.onabort=()=>n()})}async function xo(e){const t=await he();t&&await new Promise(n=>{const r=t.transaction(L,"readwrite");r.objectStore(L).delete(e),r.oncomplete=()=>n(),r.onerror=()=>n(),r.onabort=()=>n()})}async function Oo(e,t){const n=await he();n&&await new Promise(r=>{const o=n.transaction(L,"readwrite"),i=o.objectStore(L),s=[],a=i.openCursor();a.onsuccess=()=>{const c=a.result;if(!c){const u=s.filter(f=>f.expiresAt<=t),d=s.filter(f=>f.expiresAt>t).sort((f,g)=>f.lastAccessedAt-g.lastAccessedAt).slice(0,Math.max(0,s.length-u.length-e));for(const f of[...u,...d])i.delete(f.key);return}s.push(c.value),c.continue()},a.onerror=()=>r(),o.oncomplete=()=>r(),o.onerror=()=>r(),o.onabort=()=>r()})}function zt(e){return JSON.stringify(Be(e))}function ae(e){return e&&typeof e=="object"&&!Array.isArray(e)?e:null}function Be(e){return Array.isArray(e)?e.map(Be):!e||typeof e!="object"?e:Object.fromEntries(Object.entries(e).sort(([t],[n])=>t.localeCompare(n)).map(([t,n])=>[t,Be(n)]))}function At(e){let t=14695981039346656037n;const n=1099511628211n;for(let r=0;r<e.length;r+=1)t^=BigInt(e.charCodeAt(r)),t=BigInt.asUintN(64,t*n);return t.toString(16).padStart(16,"0")}function Zo(e){return typeof TextEncoder<"u"?new TextEncoder().encode(e).byteLength:e.length}async function Ro(e,t,n){const r=br("launcher_action",t),o={uiSpecs:[],actions:[]},i={method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(e)};n!==void 0&&(i.signal=n);const s=await wo(r,i);if(!s.ok)throw new Error(`HTTP ${s.status}: ${s.statusText}`);const a={onEvent:c=>{const u=Ar(c);if(u&&(u.type==="ui_spec"&&o.uiSpecs.push(u.spec),u.type==="ui_spec"&&u.spec.elements)){for(const d of Object.values(u.spec.elements))if(d.type==="ActionButton"&&d.props?.action){const f=d.props.action;o.actions.push(f)}}}};return n!==void 0&&(a.signal=n),await yr(s,a),o}function Et(e){const t=document.createElement("div");t.className="gengage-qna-buttons gds-toolbar",t.dataset.gengagePart="qna-button-row",t.setAttribute("role","group"),t.setAttribute("aria-label",e.quickQuestionsAriaLabel??"Quick questions"),e.orientation==="vertical"&&(t.style.flexDirection="column");for(const n of e.actions){const r=document.createElement("button");r.className="gengage-qna-button gds-chip",r.dataset.gengagePart="qna-quick-question",r.textContent=n.title,r.type="button",r.addEventListener("click",()=>{const o={title:n.title,type:n.type};n.payload!==void 0&&(o.payload=n.payload),e.onAction(o)}),t.appendChild(r)}if(e.ctaText||e.onOpenChat){const n=document.createElement("button");n.className="gengage-qna-cta gds-btn gds-btn-secondary",n.dataset.gengagePart="qna-cta",n.textContent=e.ctaText??e.defaultCtaText??"Ask something else",n.type="button",n.addEventListener("click",()=>{e.onOpenChat?.()}),t.appendChild(n)}return t}function Lo(e){const t=document.createElement("div");t.className="gengage-qna-input-wrapper",t.dataset.gengagePart="qna-input-wrapper";const n=document.createElement("div");n.className="gengage-qna-input-combo",n.dataset.gengagePart="qna-input-combo";const r=document.createElement("input");r.type="text",r.className="gengage-qna-input",r.dataset.gengagePart="qna-input",r.setAttribute("aria-label",e.askQuestionAriaLabel??"Ask a question");const o=Array.isArray(e.placeholders)?e.placeholders:e.placeholders?[e.placeholders]:[e.defaultInputPlaceholder??"Ask a question..."];let i=0,s=o[0]??"";r.placeholder=s;let a=null,c=null,u=!1;const d=()=>{a&&clearInterval(a),a=null,c&&clearTimeout(c),c=null,r.classList.remove("gengage-qna-input--fade")},f=()=>o.length>1&&!u&&r.value.trim().length===0,g=()=>{d(),f()&&(a=setInterval(()=>{f()&&(r.classList.add("gengage-qna-input--fade"),c=setTimeout(()=>{i=(i+1)%o.length,s=o[i]??"",r.placeholder=s,r.classList.remove("gengage-qna-input--fade")},180))},3e3))},p=document.createElement("div");p.className="gengage-qna-input-actions",p.dataset.gengagePart="qna-input-actions";const h=document.createElement("button");h.className="gengage-qna-icon-btn gengage-qna-clear gengage-qna-icon-btn--hidden",h.type="button",h.dataset.gengagePart="qna-clear",h.setAttribute("aria-label","Clear question"),h.innerHTML='<svg viewBox="0 0 24 24" aria-hidden="true" focusable="false"><path d="M18 6L6 18" /><path d="M6 6L18 18" /></svg>';const m=document.createElement("button");m.className="gengage-qna-icon-btn gengage-qna-send gengage-qna-icon-btn--hidden",m.type="button",m.dataset.gengagePart="qna-send",m.setAttribute("aria-label",e.sendQuestionAriaLabel??"Send question"),m.disabled=!0,m.innerHTML=`<svg viewBox="0 0 24 24" aria-hidden="true" focusable="false"><path d="M22 2L11 13" /><path d="M22 2L15 22L11 13L2 9L22 2Z" /></svg><span class="gengage-qna-sr-only">${e.ctaLabel??e.sendButtonText??"Ask"}</span>`;const v=()=>{const k=r.value.trim().length>0;h.classList.toggle("gengage-qna-icon-btn--hidden",!k),m.classList.toggle("gengage-qna-icon-btn--hidden",!k),m.classList.toggle("gengage-qna-send--active",k),m.disabled=!k},w=()=>{const k=r.value.trim();k&&(e.onSubmit({title:k,type:"user_message",payload:k}),r.value="",v(),g())};return h.addEventListener("click",()=>{r.value="",v(),r.focus({preventScroll:!0})}),m.addEventListener("click",w),r.addEventListener("focus",()=>{u=!0,d(),r.placeholder=""}),r.addEventListener("blur",()=>{u=!1,r.value.trim().length===0&&(r.placeholder=s),g()}),r.addEventListener("input",()=>{if(v(),r.value.trim().length>0){d();return}r.placeholder=u?"":s,g()}),r.addEventListener("keydown",k=>{k.key==="Enter"&&(k.preventDefault(),w()),k.key==="Escape"&&r.value.length>0&&(r.value="",v(),g())}),p.appendChild(h),p.appendChild(m),n.appendChild(r),n.appendChild(p),t.appendChild(n),v(),g(),t._cleanup=()=>{d()},t}function me(e,t){if(!e||typeof e!="object")return null;const n=e,r=n.type;if(typeof r!="string"||r.length===0)return null;const o=n.title,i=n.payload,s=typeof o=="string"&&o.length>0?o:t;if(!s)return null;const a={title:s,type:r};return i!==void 0&&(a.payload=i),a}function Tt(e){const t={title:e.title,type:e.type};return e.payload!==void 0&&(t.payload=e.payload),t}function $t(e,t){const n=[],r=e.props?.actions;if(Array.isArray(r))for(const s of r){const a=me(s);a&&n.push(a)}const o=e.props?.buttons;if(Array.isArray(o))for(const s of o){if(!s||typeof s!="object")continue;const a=s,c=typeof a.label=="string"?a.label:void 0,u=me(a.action,c);u&&n.push(u)}if(e.children)for(const s of e.children){const a=t.elements[s];if(!a||a.type!=="ActionButton")continue;const c=typeof a.props?.label=="string"?a.props.label:void 0,u=me(a.props?.action,c);u&&n.push(u)}const i=new Set;return n.filter(s=>i.has(s.title)?!1:(i.add(s.title),!0))}var It={ButtonRow:({element:e,spec:t,context:n})=>{const r=$t(e,t).map(Tt),o=e.props?.orientation,i={actions:r,onAction:n.onAction,defaultCtaText:n.i18n.defaultCtaText,quickQuestionsAriaLabel:n.i18n.quickQuestionsAriaLabel};return n.onOpenChat!==void 0&&(i.onOpenChat=n.onOpenChat),n.ctaText!==void 0&&(i.ctaText=n.ctaText),(o==="horizontal"||o==="vertical")&&(i.orientation=o),Et(i)},ActionButtons:({element:e,spec:t,context:n})=>{const r={actions:$t(e,t).map(Tt),onAction:n.onAction,defaultCtaText:n.i18n.defaultCtaText,quickQuestionsAriaLabel:n.i18n.quickQuestionsAriaLabel};return n.onOpenChat!==void 0&&(r.onOpenChat=n.onOpenChat),n.ctaText!==void 0&&(r.ctaText=n.ctaText),Et(r)},ActionButton:({element:e,context:t})=>{const n=document.createElement("button");n.className="gengage-qna-button gds-chip",n.type="button",n.dataset.gengagePart="qna-action-button";const r=e.props?.label;typeof r=="string"?n.textContent=r:n.textContent=t.i18n.defaultCtaText;const o=me(e.props?.action,typeof r=="string"?r:void 0);return o&&n.addEventListener("click",()=>t.onAction(o)),n},TextInput:({element:e,context:t})=>{const n=e.props?.placeholder,r=typeof n=="string"||Array.isArray(n)?n:t.inputPlaceholder,o=typeof e.props?.ctaLabel=="string"?e.props.ctaLabel:void 0,i={onSubmit:t.onAction,askQuestionAriaLabel:t.i18n.askQuestionAriaLabel,defaultInputPlaceholder:t.i18n.defaultInputPlaceholder,sendButtonText:t.i18n.sendButton,sendQuestionAriaLabel:t.i18n.sendQuestionAriaLabel};return r!==void 0&&(i.placeholders=r),o!==void 0&&(i.ctaLabel=o),Lo(i)},QuestionHeading:({element:e,context:t})=>{const n=document.createElement("h3");n.className="gengage-qna-heading",n.dataset.gengagePart="qna-heading";const r=e.props?.text,o=t.headingTitleOverride;return n.textContent=typeof o=="string"&&o.trim().length>0?o:typeof r=="string"?r:"",n},ProductCard:()=>null},Me=({element:e,renderElement:t})=>{if(!e.children||e.children.length===0)return null;const n=document.createElement("div");for(const r of e.children){const o=t(r);o&&n.appendChild(o)}return n};function Pt(){return{...It}}function Ct(e,t,n=It,r=Me){return On({spec:e,context:t,registry:n,containerClassName:"gengage-qna-uispec",unknownRenderer:r})}function No(e){if(!e)return;const t=e.extra;if(t&&typeof t=="object"&&!Array.isArray(t)){const r=t.visible_skus??t.visibleSkus;if(Array.isArray(r)){const o=r.filter(i=>typeof i=="string"&&i.trim().length>0).map(i=>i.trim()).slice(0,200);if(o.length>0)return o}}const n=typeof e.sku=="string"&&e.sku.trim()?e.sku.trim():void 0;return n?[n]:void 0}function xt(e,t){if(!e)return null;const n=e.action;if(!n||typeof n!="object")return null;const r=n,o=r.type;if(typeof o!="string"||o.length===0)return null;const i=r.title,s=typeof i=="string"&&i.length>0?i:typeof t=="string"&&t.length>0?t:"";if(!s)return null;const a=r.payload,c={title:s,type:o};return a!==void 0&&(c.payload=a),c}function jo(e,t){const n=e.elements[e.root];if(!n)return!1;const r=o=>{if(o.type!=="ActionButton")return!1;const i=o.props;if(!i||typeof i!="object")return!1;const s=typeof i.label=="string"?i.label:void 0;return s===t?!0:xt(i,s)?.title===t};if(n.type==="ActionButton")return r(n);if(n.children)for(const o of n.children){const i=e.elements[o];if(i&&r(i))return!0}if(n.type==="ActionButtons"&&Array.isArray(n.props?.buttons)){for(const o of n.props.buttons)if(o?.label===t||o?.action?.title===t)return!0}return!1}var Ot=0;function Zt(){return Ot+=1,`gengage-merge-${Ot}`}function qo(e,t){const n=e.elements[e.root];if(!n||n.type!=="ButtonRow")return;const r=Zt();e.elements[r]={type:"ActionButton",props:{label:t.title,action:{title:t.title,type:t.type,...t.payload!==void 0?{payload:t.payload}:{}}}},n.children=n.children?[r,...n.children]:[r]}function Do(e,t){const n=e.elements[e.root];if(!n||n.type!=="ActionButtons")return;const r=Zt();e.elements[r]={type:"ActionButton",props:{label:t.title,action:{title:t.title,type:t.type,...t.payload!==void 0?{payload:t.payload}:{}}}},n.children=n.children?[r,...n.children]:[r];const o=n.props?.buttons??[],i={label:t.title,action:{title:t.title,type:t.type,...t.payload!==void 0?{payload:t.payload}:{}}};n.props={...n.props,buttons:[i,...o]}}function Uo(e){const t={},n=[];for(let r=0;r<e.length;r++){const o=e[r],i=`action-${r}`;n.push(i),t[i]={type:"ActionButton",props:{label:o.title,action:{title:o.title,type:o.type,...o.payload!==void 0?{payload:o.payload}:{}}}}}return t.root={type:"ButtonRow",children:n},{root:"root",elements:t}}function Bo(e){return e.find(t=>{const n=t.elements[t.root];return n?.type==="ActionButtons"||n?.type==="ButtonRow"})}function Rt(e,t){const n=e.productContextQuickPillLabel,r={text:n};return t&&t.length>0&&(r.sku_list=t),{title:n,type:"user_message",payload:r}}function Mo(e,t,n){const r=n?.skuList,o=[],i=[];for(const c of e){const u=c.elements[c.root];if(u?.type==="ActionButton"){const d=u.props;if(xt(d,typeof d?.label=="string"?d.label:void 0)?.type==="findSimilar"){o.push(Rt(t,r));continue}}i.push(c)}if(o.length===0)return e;const s=Rt(t,r),a=Bo(i);if(!a)return[...i,Uo([s])];if(!jo(a,s.title)){const c=a.elements[a.root];c?.type==="ActionButtons"?Do(a,s):c?.type==="ButtonRow"&&qo(a,s)}return i}var Lt={quickQuestionsAriaLabel:"Hızlı sorular",askQuestionAriaLabel:"Soru sorun",defaultInputPlaceholder:"Bir soru sorun...",sendButton:"Sor",sendQuestionAriaLabel:"Soruyu gönder",defaultCtaText:"Başka bir şey sor",redirectingToChat:"Sohbete yönlendiriliyor...",productContextQuickPillLabel:"Bu ürün hakkında ne bilmeliyim?"},Fo={quickQuestionsAriaLabel:"Quick questions",askQuestionAriaLabel:"Ask a question",defaultInputPlaceholder:"Ask a question...",sendButton:"Ask",sendQuestionAriaLabel:"Send question",defaultCtaText:"Ask something else",redirectingToChat:"Redirecting to chat...",productContextQuickPillLabel:"What should I know about this product?"};function Ho(e){return e?e.toLowerCase().split("-")[0]??"tr":"tr"}function Jo(e){return Ho(e)==="en"?Fo:Lt}var Nt=class extends ar{constructor(...e){super(...e),this._abortController=null,this._debounceTimer=null,this._contentEl=null,this._i18n=Lt,this._actionHandler=this._handleAction.bind(this),this._openChatHandler=this._handleOpenChat.bind(this)}async onInit(e){this._i18n=this._resolveI18n(e),this._contentEl=document.createElement("div"),this._contentEl.className="gengage-qna-container",this._contentEl.dataset.gengagePart="qna-container",this._contentEl.lang=ct(e.locale);const t=this._createChrome(e);if(t){const r=document.createElement("div");r.className="gengage-qna-chrome-widget",r.dataset.gengagePart="qna-chrome-widget",r.appendChild(this._contentEl),t.appendChild(r),this.root.appendChild(t)}else this.root.appendChild(this._contentEl);const n=e.pageContext?.sku;n&&(this._lastSku=n,await this._fetchAndRender(n)),jn("qna")}onUpdate(e){const t=e.sku;!t||t===this._lastSku||(this._debounceTimer&&clearTimeout(this._debounceTimer),this._debounceTimer=setTimeout(()=>{this._debounceTimer=null,this._lastSku=t,this._fetchAndRender(t)},50))}onShow(){this._contentEl&&(this._contentEl.style.opacity="0",this._contentEl.style.transition="opacity 0.2s ease-in",requestAnimationFrame(()=>{this._contentEl&&(this._contentEl.style.opacity="1")}))}onHide(){}onDestroy(){this._abort(),this._debounceTimer&&(clearTimeout(this._debounceTimer),this._debounceTimer=null),this._contentEl&&(this._cleanupTextInputTimers(),this._contentEl.remove(),this._contentEl=null)}_abort(){this._abortController?.abort(),this._abortController=null}_resolvedQnaHeaderTitle(){const e=this.config.headerTitle??this.config.headingTitle;if(typeof e!="string")return;const t=e.trim();return t.length>0?t:void 0}_cleanupTextInputTimers(){if(!this._contentEl)return;const e=this._contentEl.querySelectorAll(".gengage-qna-input-wrapper");for(const t of e)t._cleanup?.()}async _fetchAndRender(e){if(this._abort(),this._abortController=new AbortController,!this._contentEl)return;this._cleanupTextInputTimers(),this._contentEl.innerHTML="";const t=this._createLoadingIndicator();this._contentEl.appendChild(t);const n={middlewareUrl:this.config.middlewareUrl},r=hr({source:"qna",locale:this.config.locale});try{const o=this.config.session?.sessionId??"",i={account_id:this.config.accountId,session_id:o,correlation_id:o,sku:e,locale:ct(this.config.locale)};this.config.session?.userId!==void 0&&(i.user_id=this.config.session.userId),this.config.session?.viewId!==void 0&&(i.view_id=this.config.session.viewId);const s=this.config.pageContext?.pageType;s!==void 0&&(i.page_type=s);const a=await Ro(i,n,this._abortController.signal);if(!this._contentEl)return;this._contentEl.innerHTML="";const c=document.createElement("div");c.className="gengage-qna-panel gds-panel",c.dataset.gengagePart="qna-panel",this._contentEl.appendChild(c);const u=this._specIncludesType(a.uiSpecs,"QuestionHeading"),d=this._resolvedQnaHeaderTitle()??(this.config.showStaticQuestion&&this.config.staticQuestionText?this.config.staticQuestionText:void 0);if(!u&&d){const k=document.createElement("h3");k.className="gengage-qna-heading",k.textContent=d,c.appendChild(k)}const f=this.config.inputPlaceholder;let g;if(f!==!0)g=f??this._i18n.defaultInputPlaceholder;else if(a.actions.length>0){const k=a.actions.filter(I=>I.type==="user_message"||I.title.includes("?")).map(I=>I.title);g=k.length>0?k:this._i18n.defaultInputPlaceholder}else g=this._i18n.defaultInputPlaceholder;const p={onAction:this._actionHandler,i18n:this._i18n},h=this._resolvedQnaHeaderTitle();h!==void 0&&(p.headingTitleOverride=h),this.config.hideButtonRowCta||(p.onOpenChat=this._openChatHandler,this.config.ctaText!==void 0&&(p.ctaText=this.config.ctaText)),g!==void 0&&(p.inputPlaceholder=g);const m=this._buildFallbackActionsSpec(a.actions),v=No(this.config.pageContext),w=(a.uiSpecs.length>0?Mo(a.uiSpecs,this._i18n,{skuList:v}):[m]).filter(k=>Object.keys(k.elements).length>0);for(const k of w){const I=this._renderUISpec(k,p);c.appendChild(I)}w.length>0&&qn("qna"),this._specIncludesType(w,"TextInput")||this._insertStandaloneInputBeforePills(c,p,g)}catch(o){if(o instanceof DOMException&&o.name==="AbortError")return;if(Ce("gengage:global:error",{source:"qna",code:"FETCH_ERROR",message:Gn(this.config.locale,o)}),this._contentEl){this._cleanupTextInputTimers(),this._contentEl.innerHTML="";const i=document.createElement("div");i.className="gengage-qna-panel",this._contentEl.appendChild(i);const s=this.config.inputPlaceholder===!0?this._i18n.defaultInputPlaceholder:this.config.inputPlaceholder??this._i18n.defaultInputPlaceholder,a={onAction:this._actionHandler,i18n:this._i18n,onOpenChat:this._openChatHandler},c=this._resolvedQnaHeaderTitle();c!==void 0&&(a.headingTitleOverride=c),this.config.ctaText!==void 0&&(a.ctaText=this.config.ctaText),this._appendStandaloneInput(a,s,i)}}finally{r()}}_createLoadingIndicator(){const e=document.createElement("div");e.className="gengage-qna-loading";for(let t=0;t<3;t++){const n=document.createElement("div");n.className="gengage-qna-loading-dot",e.appendChild(n)}return e}_resolveI18n(e){return{...Jo(e.locale),...e.i18n}}_createChrome(e){const t=e.chrome;if(!t)return null;const n=typeof t.title=="string"?t.title.trim():"",r=typeof t.subtitle=="string"?t.subtitle.trim():"",o=typeof t.startButtonLabel=="string"?t.startButtonLabel.trim():"",i=typeof t.imageUrl=="string"?t.imageUrl.trim():"",s=typeof t.imagePadding=="string"?t.imagePadding.trim():"",a=document.createElement("section");a.className="gengage-qna-chrome",a.dataset.gengagePart="qna-chrome",t.layout==="side-image"&&(a.classList.add("gengage-qna-chrome--side-image"),a.dataset.gengageChromeLayout="side-image"),s&&a.style.setProperty("--gengage-qna-chrome-image-padding",s);const c=document.createElement("div");if(c.className="gengage-qna-chrome-copy",c.dataset.gengagePart="qna-chrome-copy",n){const u=document.createElement("h2");u.className="gengage-qna-chrome-title",u.dataset.gengagePart="qna-chrome-title",u.textContent=n,c.appendChild(u)}if(r){const u=document.createElement("p");u.className="gengage-qna-chrome-subtitle",u.dataset.gengagePart="qna-chrome-subtitle",u.textContent=r,c.appendChild(u)}if(c.children.length>0&&a.appendChild(c),i&&Ln(i)){const u=document.createElement("img");u.className="gengage-qna-chrome-image",u.dataset.gengagePart="qna-chrome-image",u.src=i,u.alt=typeof t.imageAlt=="string"?t.imageAlt:"",u.loading="lazy",u.addEventListener("error",()=>{u.style.display="none"},{once:!0}),a.appendChild(u)}if(o){const u=document.createElement("button");u.className="gengage-qna-chrome-start",u.dataset.gengagePart="qna-chrome-start",u.type="button",u.textContent=o,u.addEventListener("click",()=>this._handleOpenChat()),a.appendChild(u)}return a.children.length===0?null:a}_resolveUISpecRegistry(){return Zn(Pt(),this.config.renderer?.registry)}_renderUISpec(e,t){const n=this._resolveUISpecRegistry(),r=this.config.renderer?.unknownRenderer??Me,o=(s,a)=>Ct(s,a,n,r),i=this.config.renderer?.renderUISpec;return i?i(e,t,{registry:n,unknownRenderer:r,defaultRender:o}):o(e,t)}_specIncludesType(e,t){for(const n of e)for(const r of Object.values(n.elements))if(r.type===t)return!0;return!1}_buildFallbackActionsSpec(e){if(e.length===0)return{root:"root",elements:{}};const t={},n=[];for(let r=0;r<e.length;r++){const o=e[r],i=`action-${r}`;n.push(i),t[i]={type:"ActionButton",props:{label:o.title,action:{title:o.title,type:o.type,payload:o.payload}}}}return t.root={type:"ButtonRow",children:n},{root:"root",elements:t}}_insertStandaloneInputBeforePills(e,t,n){const r={root:"root",elements:{root:{type:"TextInput",props:{placeholder:n}}}},o=this._renderUISpec(r,t),i=o.querySelector(".gengage-qna-input-wrapper");if(!i)return;const s=e.querySelector(".gengage-qna-uispec"),a=e.querySelector(".gengage-qna-uispec > .gengage-qna-buttons"),c=this.config.inputAfterPills===!0;if(a)c?a.insertAdjacentElement("afterend",i):a.insertAdjacentElement("beforebegin",i);else if(s){const u=s.querySelector(":scope > .gengage-qna-heading");!c&&u?u.insertAdjacentElement("afterend",i):s.appendChild(i)}else{e.appendChild(o);return}o.remove()}_appendStandaloneInput(e,t,n){if(!this._contentEl)return;const r={root:"root",elements:{root:{type:"TextInput",props:{placeholder:t}}}},o=this._renderUISpec(r,e);(n??this._contentEl).appendChild(o)}_handleAction(e){this._showTransitionIndicator(),Dn(e.title,e.type),this.config.onActionSelected?.(e),setTimeout(()=>Ce("gengage:qna:action",e),350)}_handleOpenChat(){this._showTransitionIndicator(),this.config.onOpenChat?.(),setTimeout(()=>Ce("gengage:qna:open-chat",{}),350)}_showTransitionIndicator(){if(!this._contentEl)return;this._contentEl.querySelector(".gengage-qna-transition-indicator")?.remove(),this._contentEl.classList.add("gengage-qna--transitioning");const e=this._i18n.redirectingToChat??"Redirecting to chat...",t=document.createElement("div");t.className="gengage-qna-transition-indicator",t.textContent=e,(this._contentEl.querySelector(".gengage-qna-panel")??this._contentEl).appendChild(t),setTimeout(()=>{this._contentEl?.classList.remove("gengage-qna--transitioning"),t.remove()},600)}};function Qo(){return new Nt}var jt;function l(e,t,n){function r(a,c){if(a._zod||Object.defineProperty(a,"_zod",{value:{def:c,constr:s,traits:new Set},enumerable:!1}),a._zod.traits.has(e))return;a._zod.traits.add(e),t(a,c);const u=s.prototype,d=Object.keys(u);for(let f=0;f<d.length;f++){const g=d[f];g in a||(a[g]=u[g].bind(a))}}const o=n?.Parent??Object;class i extends o{}Object.defineProperty(i,"name",{value:e});function s(a){var c;const u=n?.Parent?new i:this;r(u,a),(c=u._zod).deferred??(c.deferred=[]);for(const d of u._zod.deferred)d();return u}return Object.defineProperty(s,"init",{value:r}),Object.defineProperty(s,Symbol.hasInstance,{value:a=>n?.Parent&&a instanceof n.Parent?!0:a?._zod?.traits?.has(e)}),Object.defineProperty(s,"name",{value:e}),s}var Y=class extends Error{constructor(){super("Encountered Promise during synchronous parse. Use .parseAsync() instead.")}},qt=class extends Error{constructor(e){super(`Encountered unidirectional transform during encode: ${e}`),this.name="ZodEncodeError"}};(jt=globalThis).__zod_globalConfig??(jt.__zod_globalConfig={});var ye=globalThis.__zod_globalConfig;function Q(e){return e&&Object.assign(ye,e),ye}function Dt(e){const t=Object.values(e).filter(n=>typeof n=="number");return Object.entries(e).filter(([n,r])=>t.indexOf(+n)===-1).map(([n,r])=>r)}function Fe(e,t){return typeof t=="bigint"?t.toString():t}function He(e){return{get value(){{const t=e();return Object.defineProperty(this,"value",{value:t}),t}throw new Error("cached value already set")}}}function Je(e){return e==null}function Qe(e){const t=e.startsWith("^")?1:0,n=e.endsWith("$")?e.length-1:e.length;return e.slice(t,n)}var Ut=Symbol("evaluating");function b(e,t,n){let r;Object.defineProperty(e,t,{get(){if(r!==Ut)return r===void 0&&(r=Ut,r=n()),r},set(o){Object.defineProperty(e,t,{value:o})},configurable:!0})}function W(e,t,n){Object.defineProperty(e,t,{value:n,writable:!0,enumerable:!0,configurable:!0})}function U(...e){const t={};for(const n of e)Object.assign(t,Object.getOwnPropertyDescriptors(n));return Object.defineProperties({},t)}function Bt(e){return JSON.stringify(e)}function Wo(e){return e.toLowerCase().trim().replace(/[^\w\s-]/g,"").replace(/[\s_-]+/g,"-").replace(/^-+|-+$/g,"")}var Mt="captureStackTrace"in Error?Error.captureStackTrace:(...e)=>{};function _e(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}var Vo=He(()=>{if(ye.jitless||typeof navigator<"u"&&navigator?.userAgent?.includes("Cloudflare"))return!1;try{return new Function(""),!0}catch{return!1}});function ce(e){if(_e(e)===!1)return!1;const t=e.constructor;if(t===void 0||typeof t!="function")return!0;const n=t.prototype;return!(_e(n)===!1||Object.prototype.hasOwnProperty.call(n,"isPrototypeOf")===!1)}function Ft(e){return ce(e)?{...e}:Array.isArray(e)?[...e]:e instanceof Map?new Map(e):e instanceof Set?new Set(e):e}var Go=new Set(["string","number","symbol"]);function ve(e){return e.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function B(e,t,n){const r=new e._zod.constr(t??e._zod.def);return(!t||n?.parent)&&(r._zod.parent=e),r}function y(e){const t=e;if(!t)return{};if(typeof t=="string")return{error:()=>t};if(t?.message!==void 0){if(t?.error!==void 0)throw new 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 Ko(e){return Object.keys(e).filter(t=>e[t]._zod.optin==="optional"&&e[t]._zod.optout==="optional")}var Su={safeint:[Number.MIN_SAFE_INTEGER,Number.MAX_SAFE_INTEGER],int32:[-2147483648,2147483647],uint32:[0,4294967295],float32:[-34028234663852886e22,34028234663852886e22],float64:[-Number.MAX_VALUE,Number.MAX_VALUE]};function Yo(e,t){const n=e._zod.def,r=n.checks;if(r&&r.length>0)throw new Error(".pick() cannot be used on object schemas containing refinements");return B(e,U(e._zod.def,{get shape(){const o={};for(const i in t){if(!(i in n.shape))throw new Error(`Unrecognized key: "${i}"`);t[i]&&(o[i]=n.shape[i])}return W(this,"shape",o),o},checks:[]}))}function Xo(e,t){const n=e._zod.def,r=n.checks;if(r&&r.length>0)throw new Error(".omit() cannot be used on object schemas containing refinements");return B(e,U(e._zod.def,{get shape(){const o={...e._zod.def.shape};for(const i in t){if(!(i in n.shape))throw new Error(`Unrecognized key: "${i}"`);t[i]&&delete o[i]}return W(this,"shape",o),o},checks:[]}))}function ei(e,t){if(!ce(t))throw new Error("Invalid input to extend: expected a plain object");const n=e._zod.def.checks;if(n&&n.length>0){const r=e._zod.def.shape;for(const o in t)if(Object.getOwnPropertyDescriptor(r,o)!==void 0)throw new Error("Cannot overwrite keys on object schemas containing refinements. Use `.safeExtend()` instead.")}return B(e,U(e._zod.def,{get shape(){const r={...e._zod.def.shape,...t};return W(this,"shape",r),r}}))}function ti(e,t){if(!ce(t))throw new Error("Invalid input to safeExtend: expected a plain object");return B(e,U(e._zod.def,{get shape(){const n={...e._zod.def.shape,...t};return W(this,"shape",n),n}}))}function ni(e,t){if(e._zod.def.checks?.length)throw new Error(".merge() cannot be used on object schemas containing refinements. Use .safeExtend() instead.");return B(e,U(e._zod.def,{get shape(){const n={...e._zod.def.shape,...t._zod.def.shape};return W(this,"shape",n),n},get catchall(){return t._zod.def.catchall},checks:t._zod.def.checks??[]}))}function ri(e,t,n){const r=t._zod.def.checks;if(r&&r.length>0)throw new Error(".partial() cannot be used on object schemas containing refinements");return B(t,U(t._zod.def,{get shape(){const o=t._zod.def.shape,i={...o};if(n)for(const s in n){if(!(s in o))throw new Error(`Unrecognized key: "${s}"`);n[s]&&(i[s]=e?new e({type:"optional",innerType:o[s]}):o[s])}else for(const s in o)i[s]=e?new e({type:"optional",innerType:o[s]}):o[s];return W(this,"shape",i),i},checks:[]}))}function oi(e,t,n){return B(t,U(t._zod.def,{get shape(){const r=t._zod.def.shape,o={...r};if(n)for(const i in n){if(!(i in o))throw new Error(`Unrecognized key: "${i}"`);n[i]&&(o[i]=new e({type:"nonoptional",innerType:r[i]}))}else for(const i in r)o[i]=new e({type:"nonoptional",innerType:r[i]});return W(this,"shape",o),o}}))}function X(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 ii(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 Ht(e,t){return t.map(n=>{var r;return(r=n).path??(r.path=[]),n.path.unshift(e),n})}function be(e){return typeof e=="string"?e:e?.message}function V(e,t,n){const r=e.message?e.message:be(e.inst?._zod.def?.error?.(e))??be(t?.error?.(e))??be(n.customError?.(e))??be(n.localeError?.(e))??"Invalid input",{inst:o,continue:i,input:s,...a}=e;return a.path??(a.path=[]),a.message=r,t?.reportInput&&(a.input=s),a}function We(e){return Array.isArray(e)?"array":typeof e=="string"?"string":"unknown"}function ue(...e){const[t,n,r]=e;return typeof t=="string"?{message:t,code:"custom",input:n,inst:r}:{...t}}var Jt=(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,Fe,2),Object.defineProperty(e,"toString",{value:()=>e.message,enumerable:!1})},Qt=l("$ZodError",Jt),Wt=l("$ZodError",Jt,{Parent:Error});function si(e,t=n=>n.message){const n={},r=[];for(const o of e.issues)o.path.length>0?(n[o.path[0]]=n[o.path[0]]||[],n[o.path[0]].push(t(o))):r.push(t(o));return{formErrors:r,fieldErrors:n}}function ai(e,t=n=>n.message){const n={_errors:[]},r=(o,i=[])=>{for(const s of o.issues)if(s.code==="invalid_union"&&s.errors.length)s.errors.map(a=>r({issues:a},[...i,...s.path]));else if(s.code==="invalid_key")r({issues:s.issues},[...i,...s.path]);else if(s.code==="invalid_element")r({issues:s.issues},[...i,...s.path]);else{const a=[...i,...s.path];if(a.length===0)n._errors.push(t(s));else{let c=n,u=0;for(;u<a.length;){const d=a[u];u!==a.length-1?c[d]=c[d]||{_errors:[]}:(c[d]=c[d]||{_errors:[]},c[d]._errors.push(t(s))),c=c[d],u++}}}};return r(e),n}var Ve=e=>(t,n,r,o)=>{const i=r?{...r,async:!1}:{async:!1},s=t._zod.run({value:n,issues:[]},i);if(s instanceof Promise)throw new Y;if(s.issues.length){const a=new(o?.Err??e)(s.issues.map(c=>V(c,i,Q())));throw Mt(a,o?.callee),a}return s.value},Ge=e=>async(t,n,r,o)=>{const i=r?{...r,async:!0}:{async:!0};let s=t._zod.run({value:n,issues:[]},i);if(s instanceof Promise&&(s=await s),s.issues.length){const a=new(o?.Err??e)(s.issues.map(c=>V(c,i,Q())));throw Mt(a,o?.callee),a}return s.value},we=e=>(t,n,r)=>{const o=r?{...r,async:!1}:{async:!1},i=t._zod.run({value:n,issues:[]},o);if(i instanceof Promise)throw new Y;return i.issues.length?{success:!1,error:new(e??Qt)(i.issues.map(s=>V(s,o,Q())))}:{success:!0,data:i.value}},ci=we(Wt),ke=e=>async(t,n,r)=>{const o=r?{...r,async:!0}:{async:!0};let i=t._zod.run({value:n,issues:[]},o);return i instanceof Promise&&(i=await i),i.issues.length?{success:!1,error:new e(i.issues.map(s=>V(s,o,Q())))}:{success:!0,data:i.value}},ui=ke(Wt),li=e=>(t,n,r)=>{const o=r?{...r,direction:"backward"}:{direction:"backward"};return Ve(e)(t,n,o)},di=e=>(t,n,r)=>Ve(e)(t,n,r),fi=e=>async(t,n,r)=>{const o=r?{...r,direction:"backward"}:{direction:"backward"};return Ge(e)(t,n,o)},pi=e=>async(t,n,r)=>Ge(e)(t,n,r),gi=e=>(t,n,r)=>{const o=r?{...r,direction:"backward"}:{direction:"backward"};return we(e)(t,n,o)},hi=e=>(t,n,r)=>we(e)(t,n,r),mi=e=>async(t,n,r)=>{const o=r?{...r,direction:"backward"}:{direction:"backward"};return ke(e)(t,n,o)},yi=e=>async(t,n,r)=>ke(e)(t,n,r),_i=/^[cC][0-9a-z]{6,}$/,vi=/^[0-9a-z]+$/,bi=/^[0-9A-HJKMNP-TV-Za-hjkmnp-tv-z]{26}$/,wi=/^[0-9a-vA-V]{20}$/,ki=/^[A-Za-z0-9]{27}$/,Si=/^[a-zA-Z0-9_-]{21}$/,zi=/^P(?:(\d+W)|(?!.*W)(?=\d|T\d)(\d+Y)?(\d+M)?(\d+D)?(T(?=\d)(\d+H)?(\d+M)?(\d+([.,]\d+)?S)?)?)$/,Ai=/^([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})$/,Vt=e=>e?new 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)$/,Ei=/^(?!\.)(?!.*\.\.)([A-Za-z0-9_'+\-\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\-]*\.)+[A-Za-z]{2,}$/,Ti="^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$";function $i(){return new RegExp(Ti,"u")}var Ii=/^(?:(?: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])$/,Pi=/^(([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}|:))$/,Ci=/^((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])$/,xi=/^(([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])$/,Oi=/^$|^(?:[0-9a-zA-Z+/]{4})*(?:(?:[0-9a-zA-Z+/]{2}==)|(?:[0-9a-zA-Z+/]{3}=))?$/,Gt=/^[A-Za-z0-9_-]*$/,Zi=/^https?$/,Ri=/^\+[1-9]\d{6,14}$/,Kt="(?:(?:\\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])))",Li=new RegExp(`^${Kt}$`);function Yt(e){const 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 Ni(e){return new RegExp(`^${Yt(e)}$`)}function ji(e){const t=Yt({precision:e.precision}),n=["Z"];e.local&&n.push(""),e.offset&&n.push("([+-](?:[01]\\d|2[0-3]):[0-5]\\d)");const r=`${t}(?:${n.join("|")})`;return new RegExp(`^${Kt}T(?:${r})$`)}var qi=e=>{const t=e?`[\\s\\S]{${e?.minimum??0},${e?.maximum??""}}`:"[\\s\\S]*";return new RegExp(`^${t}$`)},Di=/^(?:true|false)$/i,Ui=/^[^A-Z]*$/,Bi=/^[^a-z]*$/,j=l("$ZodCheck",(e,t)=>{var n;e._zod??(e._zod={}),e._zod.def=t,(n=e._zod).onattach??(n.onattach=[])}),Mi=l("$ZodCheckMaxLength",(e,t)=>{var n;j.init(e,t),(n=e._zod.def).when??(n.when=r=>{const o=r.value;return!Je(o)&&o.length!==void 0}),e._zod.onattach.push(r=>{const o=r._zod.bag.maximum??Number.POSITIVE_INFINITY;t.maximum<o&&(r._zod.bag.maximum=t.maximum)}),e._zod.check=r=>{const o=r.value;if(o.length<=t.maximum)return;const i=We(o);r.issues.push({origin:i,code:"too_big",maximum:t.maximum,inclusive:!0,input:o,inst:e,continue:!t.abort})}}),Fi=l("$ZodCheckMinLength",(e,t)=>{var n;j.init(e,t),(n=e._zod.def).when??(n.when=r=>{const o=r.value;return!Je(o)&&o.length!==void 0}),e._zod.onattach.push(r=>{const o=r._zod.bag.minimum??Number.NEGATIVE_INFINITY;t.minimum>o&&(r._zod.bag.minimum=t.minimum)}),e._zod.check=r=>{const o=r.value;if(o.length>=t.minimum)return;const i=We(o);r.issues.push({origin:i,code:"too_small",minimum:t.minimum,inclusive:!0,input:o,inst:e,continue:!t.abort})}}),Hi=l("$ZodCheckLengthEquals",(e,t)=>{var n;j.init(e,t),(n=e._zod.def).when??(n.when=r=>{const o=r.value;return!Je(o)&&o.length!==void 0}),e._zod.onattach.push(r=>{const o=r._zod.bag;o.minimum=t.length,o.maximum=t.length,o.length=t.length}),e._zod.check=r=>{const o=r.value,i=o.length;if(i===t.length)return;const s=We(o),a=i>t.length;r.issues.push({origin:s,...a?{code:"too_big",maximum:t.length}:{code:"too_small",minimum:t.length},inclusive:!0,exact:!0,input:r.value,inst:e,continue:!t.abort})}}),Se=l("$ZodCheckStringFormat",(e,t)=>{var n,r;j.init(e,t),e._zod.onattach.push(o=>{const i=o._zod.bag;i.format=t.format,t.pattern&&(i.patterns??(i.patterns=new Set),i.patterns.add(t.pattern))}),t.pattern?(n=e._zod).check??(n.check=o=>{t.pattern.lastIndex=0,!t.pattern.test(o.value)&&o.issues.push({origin:"string",code:"invalid_format",format:t.format,input:o.value,...t.pattern?{pattern:t.pattern.toString()}:{},inst:e,continue:!t.abort})}):(r=e._zod).check??(r.check=()=>{})}),Ji=l("$ZodCheckRegex",(e,t)=>{Se.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})}}),Qi=l("$ZodCheckLowerCase",(e,t)=>{t.pattern??(t.pattern=Ui),Se.init(e,t)}),Wi=l("$ZodCheckUpperCase",(e,t)=>{t.pattern??(t.pattern=Bi),Se.init(e,t)}),Vi=l("$ZodCheckIncludes",(e,t)=>{j.init(e,t);const n=ve(t.includes),r=new RegExp(typeof t.position=="number"?`^.{${t.position}}${n}`:n);t.pattern=r,e._zod.onattach.push(o=>{const i=o._zod.bag;i.patterns??(i.patterns=new Set),i.patterns.add(r)}),e._zod.check=o=>{o.value.includes(t.includes,t.position)||o.issues.push({origin:"string",code:"invalid_format",format:"includes",includes:t.includes,input:o.value,inst:e,continue:!t.abort})}}),Gi=l("$ZodCheckStartsWith",(e,t)=>{j.init(e,t);const n=new RegExp(`^${ve(t.prefix)}.*`);t.pattern??(t.pattern=n),e._zod.onattach.push(r=>{const o=r._zod.bag;o.patterns??(o.patterns=new Set),o.patterns.add(n)}),e._zod.check=r=>{r.value.startsWith(t.prefix)||r.issues.push({origin:"string",code:"invalid_format",format:"starts_with",prefix:t.prefix,input:r.value,inst:e,continue:!t.abort})}}),Ki=l("$ZodCheckEndsWith",(e,t)=>{j.init(e,t);const n=new RegExp(`.*${ve(t.suffix)}$`);t.pattern??(t.pattern=n),e._zod.onattach.push(r=>{const o=r._zod.bag;o.patterns??(o.patterns=new Set),o.patterns.add(n)}),e._zod.check=r=>{r.value.endsWith(t.suffix)||r.issues.push({origin:"string",code:"invalid_format",format:"ends_with",suffix:t.suffix,input:r.value,inst:e,continue:!t.abort})}}),Yi=l("$ZodCheckOverwrite",(e,t)=>{j.init(e,t),e._zod.check=n=>{n.value=t.tx(n.value)}}),Xi=class{constructor(e=[]){this.content=[],this.indent=0,this&&(this.args=e)}indented(e){this.indent+=1,e(this),this.indent-=1}write(e){if(typeof e=="function"){e(this,{execution:"sync"}),e(this,{execution:"async"});return}const t=e.split(`
49
49
  `).filter(o=>o),n=Math.min(...t.map(o=>o.length-o.trimStart().length)),r=t.map(o=>o.slice(n)).map(o=>" ".repeat(this.indent*2)+o);for(const o of r)this.content.push(o)}compile(){const e=Function,t=this?.args,n=[...(this?.content??[""]).map(r=>` ${r}`)];return new e(...t,n.join(`
50
- `))}},es={major:4,minor:4,patch:3},E=l("$ZodType",(e,t)=>{var n;e??(e={}),e._zod.def=t,e._zod.bag=e._zod.bag||{},e._zod.version=es;const r=[...e._zod.def.checks??[]];e._zod.traits.has("$ZodCheck")&&r.unshift(e);for(const o of r)for(const i of o._zod.onattach)i(e);if(r.length===0)(n=e._zod).deferred??(n.deferred=[]),e._zod.deferred?.push(()=>{e._zod.run=e._zod.parse});else{const o=(s,a,c)=>{let u=X(s),d;for(const p of a){if(p._zod.def.when){if(ii(s)||!p._zod.def.when(s))continue}else if(u)continue;const g=s.issues.length,f=p._zod.check(s);if(f instanceof Promise&&c?.async===!1)throw new Y;if(d||f instanceof Promise)d=(d??Promise.resolve()).then(async()=>{await f,s.issues.length!==g&&(u||(u=X(s,g)))});else{if(s.issues.length===g)continue;u||(u=X(s,g))}}return d?d.then(()=>s):s},i=(s,a,c)=>{if(X(s))return s.aborted=!0,s;const u=o(a,r,c);if(u instanceof Promise){if(c.async===!1)throw new Y;return u.then(d=>e._zod.parse(d,c))}return e._zod.parse(u,c)};e._zod.run=(s,a)=>{if(a.skipChecks)return e._zod.parse(s,a);if(a.direction==="backward"){const u=e._zod.parse({value:s.value,issues:[]},{...a,skipChecks:!0});return u instanceof Promise?u.then(d=>i(d,s,a)):i(u,s,a)}const c=e._zod.parse(s,a);if(c instanceof Promise){if(a.async===!1)throw new Y;return c.then(u=>o(u,r,a))}return o(c,r,a)}}b(e,"~standard",()=>({validate:o=>{try{const i=ci(e,o);return i.success?{value:i.data}:{issues:i.error?.issues}}catch{return ui(e,o).then(s=>s.success?{value:s.data}:{issues:s.error?.issues})}},vendor:"zod",version:1}))}),Ke=l("$ZodString",(e,t)=>{E.init(e,t),e._zod.pattern=[...e?._zod.bag?.patterns??[]].pop()??qi(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}}),S=l("$ZodStringFormat",(e,t)=>{Se.init(e,t),Ke.init(e,t)}),ts=l("$ZodGUID",(e,t)=>{t.pattern??(t.pattern=Ai),S.init(e,t)}),ns=l("$ZodUUID",(e,t)=>{if(t.version){const n={v1:1,v2:2,v3:3,v4:4,v5:5,v6:6,v7:7,v8:8}[t.version];if(n===void 0)throw new Error(`Invalid UUID version: "${t.version}"`);t.pattern??(t.pattern=Vt(n))}else t.pattern??(t.pattern=Vt());S.init(e,t)}),rs=l("$ZodEmail",(e,t)=>{t.pattern??(t.pattern=Ei),S.init(e,t)}),os=l("$ZodURL",(e,t)=>{S.init(e,t),e._zod.check=n=>{try{const r=n.value.trim();if(!t.normalize&&t.protocol?.source===Zi.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}const o=new URL(r);t.hostname&&(t.hostname.lastIndex=0,t.hostname.test(o.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(o.protocol.endsWith(":")?o.protocol.slice(0,-1):o.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=o.href:n.value=r;return}catch{n.issues.push({code:"invalid_format",format:"url",input:n.value,inst:e,continue:!t.abort})}}}),is=l("$ZodEmoji",(e,t)=>{t.pattern??(t.pattern=$i()),S.init(e,t)}),ss=l("$ZodNanoID",(e,t)=>{t.pattern??(t.pattern=Si),S.init(e,t)}),as=l("$ZodCUID",(e,t)=>{t.pattern??(t.pattern=_i),S.init(e,t)}),cs=l("$ZodCUID2",(e,t)=>{t.pattern??(t.pattern=vi),S.init(e,t)}),us=l("$ZodULID",(e,t)=>{t.pattern??(t.pattern=bi),S.init(e,t)}),ls=l("$ZodXID",(e,t)=>{t.pattern??(t.pattern=wi),S.init(e,t)}),ds=l("$ZodKSUID",(e,t)=>{t.pattern??(t.pattern=ki),S.init(e,t)}),fs=l("$ZodISODateTime",(e,t)=>{t.pattern??(t.pattern=ji(t)),S.init(e,t)}),ps=l("$ZodISODate",(e,t)=>{t.pattern??(t.pattern=Li),S.init(e,t)}),gs=l("$ZodISOTime",(e,t)=>{t.pattern??(t.pattern=Ni(t)),S.init(e,t)}),hs=l("$ZodISODuration",(e,t)=>{t.pattern??(t.pattern=zi),S.init(e,t)}),ms=l("$ZodIPv4",(e,t)=>{t.pattern??(t.pattern=Ii),S.init(e,t),e._zod.bag.format="ipv4"}),ys=l("$ZodIPv6",(e,t)=>{t.pattern??(t.pattern=Pi),S.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})}}}),_s=l("$ZodCIDRv4",(e,t)=>{t.pattern??(t.pattern=Ci),S.init(e,t)}),vs=l("$ZodCIDRv6",(e,t)=>{t.pattern??(t.pattern=xi),S.init(e,t),e._zod.check=n=>{const r=n.value.split("/");try{if(r.length!==2)throw new Error;const[o,i]=r;if(!i)throw new Error;const s=Number(i);if(`${s}`!==i)throw new Error;if(s<0||s>128)throw new Error;new URL(`http://[${o}]`)}catch{n.issues.push({code:"invalid_format",format:"cidrv6",input:n.value,inst:e,continue:!t.abort})}}});function Xt(e){if(e==="")return!0;if(/\s/.test(e)||e.length%4!==0)return!1;try{return atob(e),!0}catch{return!1}}var bs=l("$ZodBase64",(e,t)=>{t.pattern??(t.pattern=Oi),S.init(e,t),e._zod.bag.contentEncoding="base64",e._zod.check=n=>{Xt(n.value)||n.issues.push({code:"invalid_format",format:"base64",input:n.value,inst:e,continue:!t.abort})}});function ws(e){if(!Gt.test(e))return!1;const t=e.replace(/[-_]/g,n=>n==="-"?"+":"/");return Xt(t.padEnd(Math.ceil(t.length/4)*4,"="))}var ks=l("$ZodBase64URL",(e,t)=>{t.pattern??(t.pattern=Gt),S.init(e,t),e._zod.bag.contentEncoding="base64url",e._zod.check=n=>{ws(n.value)||n.issues.push({code:"invalid_format",format:"base64url",input:n.value,inst:e,continue:!t.abort})}}),Ss=l("$ZodE164",(e,t)=>{t.pattern??(t.pattern=Ri),S.init(e,t)});function zs(e,t=null){try{const n=e.split(".");if(n.length!==3)return!1;const[r]=n;if(!r)return!1;const o=JSON.parse(atob(r));return!("typ"in o&&o?.typ!=="JWT"||!o.alg||t&&(!("alg"in o)||o.alg!==t))}catch{return!1}}var As=l("$ZodJWT",(e,t)=>{S.init(e,t),e._zod.check=n=>{zs(n.value,t.alg)||n.issues.push({code:"invalid_format",format:"jwt",input:n.value,inst:e,continue:!t.abort})}}),Es=l("$ZodBoolean",(e,t)=>{E.init(e,t),e._zod.pattern=Di,e._zod.parse=(n,r)=>{if(t.coerce)try{n.value=!!n.value}catch{}const o=n.value;return typeof o=="boolean"||n.issues.push({expected:"boolean",code:"invalid_type",input:o,inst:e}),n}}),Ts=l("$ZodUnknown",(e,t)=>{E.init(e,t),e._zod.parse=n=>n}),$s=l("$ZodNever",(e,t)=>{E.init(e,t),e._zod.parse=(n,r)=>(n.issues.push({expected:"never",code:"invalid_type",input:n.value,inst:e}),n)});function en(e,t,n){e.issues.length&&t.issues.push(...Ht(n,e.issues)),t.value[n]=e.value}var Is=l("$ZodArray",(e,t)=>{E.init(e,t),e._zod.parse=(n,r)=>{const o=n.value;if(!Array.isArray(o))return n.issues.push({expected:"array",code:"invalid_type",input:o,inst:e}),n;n.value=Array(o.length);const i=[];for(let s=0;s<o.length;s++){const a=o[s],c=t.element._zod.run({value:a,issues:[]},r);c instanceof Promise?i.push(c.then(u=>en(u,n,s))):en(c,n,s)}return i.length?Promise.all(i).then(()=>n):n}});function ze(e,t,n,r,o,i){const s=n in r;if(e.issues.length){if(o&&i&&!s)return;t.issues.push(...Ht(n,e.issues))}if(!s&&!o){e.issues.length||t.issues.push({code:"invalid_type",expected:"nonoptional",input:void 0,path:[n]});return}e.value===void 0?s&&(t.value[n]=void 0):t.value[n]=e.value}function tn(e){const t=Object.keys(e.shape);for(const r of t)if(!e.shape?.[r]?._zod?.traits?.has("$ZodType"))throw new Error(`Invalid element at key "${r}": expected a Zod schema`);const n=Ko(e.shape);return{...e,keys:t,keySet:new Set(t),numKeys:t.length,optionalKeys:new Set(n)}}function nn(e,t,n,r,o,i){const s=[],a=o.keySet,c=o.catchall._zod,u=c.def.type,d=c.optin==="optional",p=c.optout==="optional";for(const g in t){if(g==="__proto__"||a.has(g))continue;if(u==="never"){s.push(g);continue}const f=c.run({value:t[g],issues:[]},r);f instanceof Promise?e.push(f.then(h=>ze(h,n,g,t,d,p))):ze(f,n,g,t,d,p)}return s.length&&n.issues.push({code:"unrecognized_keys",keys:s,input:t,inst:i}),e.length?Promise.all(e).then(()=>n):n}var Ps=l("$ZodObject",(e,t)=>{if(E.init(e,t),!Object.getOwnPropertyDescriptor(t,"shape")?.get){const s=t.shape;Object.defineProperty(t,"shape",{get:()=>{const a={...s};return Object.defineProperty(t,"shape",{value:a}),a}})}const n=He(()=>tn(t));b(e._zod,"propValues",()=>{const s=t.shape,a={};for(const c in s){const u=s[c]._zod;if(u.values){a[c]??(a[c]=new Set);for(const d of u.values)a[c].add(d)}}return a});const r=_e,o=t.catchall;let i;e._zod.parse=(s,a)=>{i??(i=n.value);const c=s.value;if(!r(c))return s.issues.push({expected:"object",code:"invalid_type",input:c,inst:e}),s;s.value={};const u=[],d=i.shape;for(const p of i.keys){const g=d[p],f=g._zod.optin==="optional",h=g._zod.optout==="optional",m=g._zod.run({value:c[p],issues:[]},a);m instanceof Promise?u.push(m.then(v=>ze(v,s,p,c,f,h))):ze(m,s,p,c,f,h)}return o?nn(u,c,s,a,n.value,e):u.length?Promise.all(u).then(()=>s):s}}),Cs=l("$ZodObjectJIT",(e,t)=>{Ps.init(e,t);const n=e._zod.parse,r=He(()=>tn(t)),o=g=>{const f=new Xi(["shape","payload","ctx"]),h=r.value,m=I=>{const A=Bt(I);return`shape[${A}]._zod.run({ value: input[${A}], issues: [] }, ctx)`};f.write("const input = payload.value;");const v=Object.create(null);let w=0;for(const I of h.keys)v[I]=`key_${w++}`;f.write("const newResult = {};");for(const I of h.keys){const A=v[I],P=Bt(I),Pn=g[I],Cn=Pn?._zod?.optin==="optional",ku=Pn?._zod?.optout==="optional";f.write(`const ${A} = ${m(I)};`),Cn&&ku?f.write(`
50
+ `))}},es={major:4,minor:4,patch:3},E=l("$ZodType",(e,t)=>{var n;e??(e={}),e._zod.def=t,e._zod.bag=e._zod.bag||{},e._zod.version=es;const r=[...e._zod.def.checks??[]];e._zod.traits.has("$ZodCheck")&&r.unshift(e);for(const o of r)for(const i of o._zod.onattach)i(e);if(r.length===0)(n=e._zod).deferred??(n.deferred=[]),e._zod.deferred?.push(()=>{e._zod.run=e._zod.parse});else{const o=(s,a,c)=>{let u=X(s),d;for(const f of a){if(f._zod.def.when){if(ii(s)||!f._zod.def.when(s))continue}else if(u)continue;const g=s.issues.length,p=f._zod.check(s);if(p instanceof Promise&&c?.async===!1)throw new Y;if(d||p instanceof Promise)d=(d??Promise.resolve()).then(async()=>{await p,s.issues.length!==g&&(u||(u=X(s,g)))});else{if(s.issues.length===g)continue;u||(u=X(s,g))}}return d?d.then(()=>s):s},i=(s,a,c)=>{if(X(s))return s.aborted=!0,s;const u=o(a,r,c);if(u instanceof Promise){if(c.async===!1)throw new Y;return u.then(d=>e._zod.parse(d,c))}return e._zod.parse(u,c)};e._zod.run=(s,a)=>{if(a.skipChecks)return e._zod.parse(s,a);if(a.direction==="backward"){const u=e._zod.parse({value:s.value,issues:[]},{...a,skipChecks:!0});return u instanceof Promise?u.then(d=>i(d,s,a)):i(u,s,a)}const c=e._zod.parse(s,a);if(c instanceof Promise){if(a.async===!1)throw new Y;return c.then(u=>o(u,r,a))}return o(c,r,a)}}b(e,"~standard",()=>({validate:o=>{try{const i=ci(e,o);return i.success?{value:i.data}:{issues:i.error?.issues}}catch{return ui(e,o).then(s=>s.success?{value:s.data}:{issues:s.error?.issues})}},vendor:"zod",version:1}))}),Ke=l("$ZodString",(e,t)=>{E.init(e,t),e._zod.pattern=[...e?._zod.bag?.patterns??[]].pop()??qi(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}}),S=l("$ZodStringFormat",(e,t)=>{Se.init(e,t),Ke.init(e,t)}),ts=l("$ZodGUID",(e,t)=>{t.pattern??(t.pattern=Ai),S.init(e,t)}),ns=l("$ZodUUID",(e,t)=>{if(t.version){const n={v1:1,v2:2,v3:3,v4:4,v5:5,v6:6,v7:7,v8:8}[t.version];if(n===void 0)throw new Error(`Invalid UUID version: "${t.version}"`);t.pattern??(t.pattern=Vt(n))}else t.pattern??(t.pattern=Vt());S.init(e,t)}),rs=l("$ZodEmail",(e,t)=>{t.pattern??(t.pattern=Ei),S.init(e,t)}),os=l("$ZodURL",(e,t)=>{S.init(e,t),e._zod.check=n=>{try{const r=n.value.trim();if(!t.normalize&&t.protocol?.source===Zi.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}const o=new URL(r);t.hostname&&(t.hostname.lastIndex=0,t.hostname.test(o.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(o.protocol.endsWith(":")?o.protocol.slice(0,-1):o.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=o.href:n.value=r;return}catch{n.issues.push({code:"invalid_format",format:"url",input:n.value,inst:e,continue:!t.abort})}}}),is=l("$ZodEmoji",(e,t)=>{t.pattern??(t.pattern=$i()),S.init(e,t)}),ss=l("$ZodNanoID",(e,t)=>{t.pattern??(t.pattern=Si),S.init(e,t)}),as=l("$ZodCUID",(e,t)=>{t.pattern??(t.pattern=_i),S.init(e,t)}),cs=l("$ZodCUID2",(e,t)=>{t.pattern??(t.pattern=vi),S.init(e,t)}),us=l("$ZodULID",(e,t)=>{t.pattern??(t.pattern=bi),S.init(e,t)}),ls=l("$ZodXID",(e,t)=>{t.pattern??(t.pattern=wi),S.init(e,t)}),ds=l("$ZodKSUID",(e,t)=>{t.pattern??(t.pattern=ki),S.init(e,t)}),fs=l("$ZodISODateTime",(e,t)=>{t.pattern??(t.pattern=ji(t)),S.init(e,t)}),ps=l("$ZodISODate",(e,t)=>{t.pattern??(t.pattern=Li),S.init(e,t)}),gs=l("$ZodISOTime",(e,t)=>{t.pattern??(t.pattern=Ni(t)),S.init(e,t)}),hs=l("$ZodISODuration",(e,t)=>{t.pattern??(t.pattern=zi),S.init(e,t)}),ms=l("$ZodIPv4",(e,t)=>{t.pattern??(t.pattern=Ii),S.init(e,t),e._zod.bag.format="ipv4"}),ys=l("$ZodIPv6",(e,t)=>{t.pattern??(t.pattern=Pi),S.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})}}}),_s=l("$ZodCIDRv4",(e,t)=>{t.pattern??(t.pattern=Ci),S.init(e,t)}),vs=l("$ZodCIDRv6",(e,t)=>{t.pattern??(t.pattern=xi),S.init(e,t),e._zod.check=n=>{const r=n.value.split("/");try{if(r.length!==2)throw new Error;const[o,i]=r;if(!i)throw new Error;const s=Number(i);if(`${s}`!==i)throw new Error;if(s<0||s>128)throw new Error;new URL(`http://[${o}]`)}catch{n.issues.push({code:"invalid_format",format:"cidrv6",input:n.value,inst:e,continue:!t.abort})}}});function Xt(e){if(e==="")return!0;if(/\s/.test(e)||e.length%4!==0)return!1;try{return atob(e),!0}catch{return!1}}var bs=l("$ZodBase64",(e,t)=>{t.pattern??(t.pattern=Oi),S.init(e,t),e._zod.bag.contentEncoding="base64",e._zod.check=n=>{Xt(n.value)||n.issues.push({code:"invalid_format",format:"base64",input:n.value,inst:e,continue:!t.abort})}});function ws(e){if(!Gt.test(e))return!1;const t=e.replace(/[-_]/g,n=>n==="-"?"+":"/");return Xt(t.padEnd(Math.ceil(t.length/4)*4,"="))}var ks=l("$ZodBase64URL",(e,t)=>{t.pattern??(t.pattern=Gt),S.init(e,t),e._zod.bag.contentEncoding="base64url",e._zod.check=n=>{ws(n.value)||n.issues.push({code:"invalid_format",format:"base64url",input:n.value,inst:e,continue:!t.abort})}}),Ss=l("$ZodE164",(e,t)=>{t.pattern??(t.pattern=Ri),S.init(e,t)});function zs(e,t=null){try{const n=e.split(".");if(n.length!==3)return!1;const[r]=n;if(!r)return!1;const o=JSON.parse(atob(r));return!("typ"in o&&o?.typ!=="JWT"||!o.alg||t&&(!("alg"in o)||o.alg!==t))}catch{return!1}}var As=l("$ZodJWT",(e,t)=>{S.init(e,t),e._zod.check=n=>{zs(n.value,t.alg)||n.issues.push({code:"invalid_format",format:"jwt",input:n.value,inst:e,continue:!t.abort})}}),Es=l("$ZodBoolean",(e,t)=>{E.init(e,t),e._zod.pattern=Di,e._zod.parse=(n,r)=>{if(t.coerce)try{n.value=!!n.value}catch{}const o=n.value;return typeof o=="boolean"||n.issues.push({expected:"boolean",code:"invalid_type",input:o,inst:e}),n}}),Ts=l("$ZodUnknown",(e,t)=>{E.init(e,t),e._zod.parse=n=>n}),$s=l("$ZodNever",(e,t)=>{E.init(e,t),e._zod.parse=(n,r)=>(n.issues.push({expected:"never",code:"invalid_type",input:n.value,inst:e}),n)});function en(e,t,n){e.issues.length&&t.issues.push(...Ht(n,e.issues)),t.value[n]=e.value}var Is=l("$ZodArray",(e,t)=>{E.init(e,t),e._zod.parse=(n,r)=>{const o=n.value;if(!Array.isArray(o))return n.issues.push({expected:"array",code:"invalid_type",input:o,inst:e}),n;n.value=Array(o.length);const i=[];for(let s=0;s<o.length;s++){const a=o[s],c=t.element._zod.run({value:a,issues:[]},r);c instanceof Promise?i.push(c.then(u=>en(u,n,s))):en(c,n,s)}return i.length?Promise.all(i).then(()=>n):n}});function ze(e,t,n,r,o,i){const s=n in r;if(e.issues.length){if(o&&i&&!s)return;t.issues.push(...Ht(n,e.issues))}if(!s&&!o){e.issues.length||t.issues.push({code:"invalid_type",expected:"nonoptional",input:void 0,path:[n]});return}e.value===void 0?s&&(t.value[n]=void 0):t.value[n]=e.value}function tn(e){const t=Object.keys(e.shape);for(const r of t)if(!e.shape?.[r]?._zod?.traits?.has("$ZodType"))throw new Error(`Invalid element at key "${r}": expected a Zod schema`);const n=Ko(e.shape);return{...e,keys:t,keySet:new Set(t),numKeys:t.length,optionalKeys:new Set(n)}}function nn(e,t,n,r,o,i){const s=[],a=o.keySet,c=o.catchall._zod,u=c.def.type,d=c.optin==="optional",f=c.optout==="optional";for(const g in t){if(g==="__proto__"||a.has(g))continue;if(u==="never"){s.push(g);continue}const p=c.run({value:t[g],issues:[]},r);p instanceof Promise?e.push(p.then(h=>ze(h,n,g,t,d,f))):ze(p,n,g,t,d,f)}return s.length&&n.issues.push({code:"unrecognized_keys",keys:s,input:t,inst:i}),e.length?Promise.all(e).then(()=>n):n}var Ps=l("$ZodObject",(e,t)=>{if(E.init(e,t),!Object.getOwnPropertyDescriptor(t,"shape")?.get){const s=t.shape;Object.defineProperty(t,"shape",{get:()=>{const a={...s};return Object.defineProperty(t,"shape",{value:a}),a}})}const n=He(()=>tn(t));b(e._zod,"propValues",()=>{const s=t.shape,a={};for(const c in s){const u=s[c]._zod;if(u.values){a[c]??(a[c]=new Set);for(const d of u.values)a[c].add(d)}}return a});const r=_e,o=t.catchall;let i;e._zod.parse=(s,a)=>{i??(i=n.value);const c=s.value;if(!r(c))return s.issues.push({expected:"object",code:"invalid_type",input:c,inst:e}),s;s.value={};const u=[],d=i.shape;for(const f of i.keys){const g=d[f],p=g._zod.optin==="optional",h=g._zod.optout==="optional",m=g._zod.run({value:c[f],issues:[]},a);m instanceof Promise?u.push(m.then(v=>ze(v,s,f,c,p,h))):ze(m,s,f,c,p,h)}return o?nn(u,c,s,a,n.value,e):u.length?Promise.all(u).then(()=>s):s}}),Cs=l("$ZodObjectJIT",(e,t)=>{Ps.init(e,t);const n=e._zod.parse,r=He(()=>tn(t)),o=g=>{const p=new Xi(["shape","payload","ctx"]),h=r.value,m=I=>{const A=Bt(I);return`shape[${A}]._zod.run({ value: input[${A}], issues: [] }, ctx)`};p.write("const input = payload.value;");const v=Object.create(null);let w=0;for(const I of h.keys)v[I]=`key_${w++}`;p.write("const newResult = {};");for(const I of h.keys){const A=v[I],P=Bt(I),Pn=g[I],Cn=Pn?._zod?.optin==="optional",ku=Pn?._zod?.optout==="optional";p.write(`const ${A} = ${m(I)};`),Cn&&ku?p.write(`
51
51
  if (${A}.issues.length) {
52
52
  if (${P} in input) {
53
53
  payload.issues = payload.issues.concat(${A}.issues.map(iss => ({
@@ -65,7 +65,7 @@
65
65
  newResult[${P}] = ${A}.value;
66
66
  }
67
67
 
68
- `):Cn?f.write(`
68
+ `):Cn?p.write(`
69
69
  if (${A}.issues.length) {
70
70
  payload.issues = payload.issues.concat(${A}.issues.map(iss => ({
71
71
  ...iss,
@@ -81,7 +81,7 @@
81
81
  newResult[${P}] = ${A}.value;
82
82
  }
83
83
 
84
- `):f.write(`
84
+ `):p.write(`
85
85
  const ${A}_present = ${P} in input;
86
86
  if (${A}.issues.length) {
87
87
  payload.issues = payload.issues.concat(${A}.issues.map(iss => ({
@@ -106,6 +106,6 @@
106
106
  }
107
107
  }
108
108
 
109
- `)}f.write("payload.value = newResult;"),f.write("return payload;");const k=f.compile();return(I,A)=>k(g,I,A)};let i;const s=_e,a=!ye.jitless,u=a&&Vo.value,d=t.catchall;let p;e._zod.parse=(g,f)=>{p??(p=r.value);const h=g.value;return s(h)?a&&u&&f?.async===!1&&f.jitless!==!0?(i||(i=o(t.shape)),g=i(g,f),d?nn([],h,g,f,p,e):g):n(g,f):(g.issues.push({expected:"object",code:"invalid_type",input:h,inst:e}),g)}});function rn(e,t,n,r){for(const i of e)if(i.issues.length===0)return t.value=i.value,t;const o=e.filter(i=>!X(i));return o.length===1?(t.value=o[0].value,o[0]):(t.issues.push({code:"invalid_union",input:t.value,inst:n,errors:e.map(i=>i.issues.map(s=>V(s,r,Q())))}),t)}var xs=l("$ZodUnion",(e,t)=>{E.init(e,t),b(e._zod,"optin",()=>t.options.some(r=>r._zod.optin==="optional")?"optional":void 0),b(e._zod,"optout",()=>t.options.some(r=>r._zod.optout==="optional")?"optional":void 0),b(e._zod,"values",()=>{if(t.options.every(r=>r._zod.values))return new Set(t.options.flatMap(r=>Array.from(r._zod.values)))}),b(e._zod,"pattern",()=>{if(t.options.every(r=>r._zod.pattern)){const r=t.options.map(o=>o._zod.pattern);return new RegExp(`^(${r.map(o=>Qe(o.source)).join("|")})$`)}});const n=t.options.length===1?t.options[0]._zod.run:null;e._zod.parse=(r,o)=>{if(n)return n(r,o);let i=!1;const s=[];for(const a of t.options){const c=a._zod.run({value:r.value,issues:[]},o);if(c instanceof Promise)s.push(c),i=!0;else{if(c.issues.length===0)return c;s.push(c)}}return i?Promise.all(s).then(a=>rn(a,r,e,o)):rn(s,r,e,o)}}),Os=l("$ZodIntersection",(e,t)=>{E.init(e,t),e._zod.parse=(n,r)=>{const o=n.value,i=t.left._zod.run({value:o,issues:[]},r),s=t.right._zod.run({value:o,issues:[]},r);return i instanceof Promise||s instanceof Promise?Promise.all([i,s]).then(([a,c])=>on(n,a,c)):on(n,i,s)}});function Ye(e,t){if(e===t)return{valid:!0,data:e};if(e instanceof Date&&t instanceof Date&&+e==+t)return{valid:!0,data:e};if(ce(e)&&ce(t)){const n=Object.keys(t),r=Object.keys(e).filter(i=>n.indexOf(i)!==-1),o={...e,...t};for(const i of r){const s=Ye(e[i],t[i]);if(!s.valid)return{valid:!1,mergeErrorPath:[i,...s.mergeErrorPath]};o[i]=s.data}return{valid:!0,data:o}}if(Array.isArray(e)&&Array.isArray(t)){if(e.length!==t.length)return{valid:!1,mergeErrorPath:[]};const n=[];for(let r=0;r<e.length;r++){const o=e[r],i=t[r],s=Ye(o,i);if(!s.valid)return{valid:!1,mergeErrorPath:[r,...s.mergeErrorPath]};n.push(s.data)}return{valid:!0,data:n}}return{valid:!1,mergeErrorPath:[]}}function on(e,t,n){const r=new Map;let o;for(const a of t.issues)if(a.code==="unrecognized_keys"){o??(o=a);for(const c of a.keys)r.has(c)||r.set(c,{}),r.get(c).l=!0}else e.issues.push(a);for(const a of n.issues)if(a.code==="unrecognized_keys")for(const c of a.keys)r.has(c)||r.set(c,{}),r.get(c).r=!0;else e.issues.push(a);const i=[...r].filter(([,a])=>a.l&&a.r).map(([a])=>a);if(i.length&&o&&e.issues.push({...o,keys:i}),X(e))return e;const s=Ye(t.value,n.value);if(!s.valid)throw new Error(`Unmergable intersection. Error path: ${JSON.stringify(s.mergeErrorPath)}`);return e.value=s.data,e}var Zs=l("$ZodEnum",(e,t)=>{E.init(e,t);const n=Dt(t.entries),r=new Set(n);e._zod.values=r,e._zod.pattern=new RegExp(`^(${n.filter(o=>Go.has(typeof o)).map(o=>typeof o=="string"?ve(o):o.toString()).join("|")})$`),e._zod.parse=(o,i)=>{const s=o.value;return r.has(s)||o.issues.push({code:"invalid_value",values:n,input:s,inst:e}),o}}),Rs=l("$ZodTransform",(e,t)=>{E.init(e,t),e._zod.optin="optional",e._zod.parse=(n,r)=>{if(r.direction==="backward")throw new qt(e.constructor.name);const o=t.transform(n.value,n);if(r.async)return(o instanceof Promise?o:Promise.resolve(o)).then(i=>(n.value=i,n.fallback=!0,n));if(o instanceof Promise)throw new Y;return n.value=o,n.fallback=!0,n}});function sn(e,t){return t===void 0&&(e.issues.length||e.fallback)?{issues:[],value:void 0}:e}var an=l("$ZodOptional",(e,t)=>{E.init(e,t),e._zod.optin="optional",e._zod.optout="optional",b(e._zod,"values",()=>t.innerType._zod.values?new Set([...t.innerType._zod.values,void 0]):void 0),b(e._zod,"pattern",()=>{const n=t.innerType._zod.pattern;return n?new RegExp(`^(${Qe(n.source)})?$`):void 0}),e._zod.parse=(n,r)=>{if(t.innerType._zod.optin==="optional"){const o=n.value,i=t.innerType._zod.run(n,r);return i instanceof Promise?i.then(s=>sn(s,o)):sn(i,o)}return n.value===void 0?n:t.innerType._zod.run(n,r)}}),Ls=l("$ZodExactOptional",(e,t)=>{an.init(e,t),b(e._zod,"values",()=>t.innerType._zod.values),b(e._zod,"pattern",()=>t.innerType._zod.pattern),e._zod.parse=(n,r)=>t.innerType._zod.run(n,r)}),Ns=l("$ZodNullable",(e,t)=>{E.init(e,t),b(e._zod,"optin",()=>t.innerType._zod.optin),b(e._zod,"optout",()=>t.innerType._zod.optout),b(e._zod,"pattern",()=>{const n=t.innerType._zod.pattern;return n?new RegExp(`^(${Qe(n.source)}|null)$`):void 0}),b(e._zod,"values",()=>t.innerType._zod.values?new Set([...t.innerType._zod.values,null]):void 0),e._zod.parse=(n,r)=>n.value===null?n:t.innerType._zod.run(n,r)}),js=l("$ZodDefault",(e,t)=>{E.init(e,t),e._zod.optin="optional",b(e._zod,"values",()=>t.innerType._zod.values),e._zod.parse=(n,r)=>{if(r.direction==="backward")return t.innerType._zod.run(n,r);if(n.value===void 0)return n.value=t.defaultValue,n;const o=t.innerType._zod.run(n,r);return o instanceof Promise?o.then(i=>cn(i,t)):cn(o,t)}});function cn(e,t){return e.value===void 0&&(e.value=t.defaultValue),e}var qs=l("$ZodPrefault",(e,t)=>{E.init(e,t),e._zod.optin="optional",b(e._zod,"values",()=>t.innerType._zod.values),e._zod.parse=(n,r)=>(r.direction==="backward"||n.value===void 0&&(n.value=t.defaultValue),t.innerType._zod.run(n,r))}),Ds=l("$ZodNonOptional",(e,t)=>{E.init(e,t),b(e._zod,"values",()=>{const n=t.innerType._zod.values;return n?new Set([...n].filter(r=>r!==void 0)):void 0}),e._zod.parse=(n,r)=>{const o=t.innerType._zod.run(n,r);return o instanceof Promise?o.then(i=>un(i,e)):un(o,e)}});function un(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 Us=l("$ZodCatch",(e,t)=>{E.init(e,t),e._zod.optin="optional",b(e._zod,"optout",()=>t.innerType._zod.optout),b(e._zod,"values",()=>t.innerType._zod.values),e._zod.parse=(n,r)=>{if(r.direction==="backward")return t.innerType._zod.run(n,r);const o=t.innerType._zod.run(n,r);return o instanceof Promise?o.then(i=>(n.value=i.value,i.issues.length&&(n.value=t.catchValue({...n,error:{issues:i.issues.map(s=>V(s,r,Q()))},input:n.value}),n.issues=[],n.fallback=!0),n)):(n.value=o.value,o.issues.length&&(n.value=t.catchValue({...n,error:{issues:o.issues.map(i=>V(i,r,Q()))},input:n.value}),n.issues=[],n.fallback=!0),n)}}),Bs=l("$ZodPipe",(e,t)=>{E.init(e,t),b(e._zod,"values",()=>t.in._zod.values),b(e._zod,"optin",()=>t.in._zod.optin),b(e._zod,"optout",()=>t.out._zod.optout),b(e._zod,"propValues",()=>t.in._zod.propValues),e._zod.parse=(n,r)=>{if(r.direction==="backward"){const i=t.out._zod.run(n,r);return i instanceof Promise?i.then(s=>Ae(s,t.in,r)):Ae(i,t.in,r)}const o=t.in._zod.run(n,r);return o instanceof Promise?o.then(i=>Ae(i,t.out,r)):Ae(o,t.out,r)}});function Ae(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 Ms=l("$ZodReadonly",(e,t)=>{E.init(e,t),b(e._zod,"propValues",()=>t.innerType._zod.propValues),b(e._zod,"values",()=>t.innerType._zod.values),b(e._zod,"optin",()=>t.innerType?._zod?.optin),b(e._zod,"optout",()=>t.innerType?._zod?.optout),e._zod.parse=(n,r)=>{if(r.direction==="backward")return t.innerType._zod.run(n,r);const o=t.innerType._zod.run(n,r);return o instanceof Promise?o.then(ln):ln(o)}});function ln(e){return e.value=Object.freeze(e.value),e}var Fs=l("$ZodCustom",(e,t)=>{j.init(e,t),E.init(e,t),e._zod.parse=(n,r)=>n,e._zod.check=n=>{const r=n.value,o=t.fn(r);if(o instanceof Promise)return o.then(i=>dn(i,n,r,e));dn(o,n,r,e)}});function dn(e,t,n,r){if(!e){const o={code:"custom",input:n,inst:r,path:[...r._zod.def.path??[]],continue:!r._zod.def.abort};r._zod.def.params&&(o.params=r._zod.def.params),t.issues.push(ue(o))}}var fn,Hs=class{constructor(){this._map=new WeakMap,this._idmap=new Map}add(e,...t){const 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){const 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){const t=e._zod.parent;if(t){const n={...this.get(t)??{}};delete n.id;const 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 Js(){return new Hs}(fn=globalThis).__zod_globalRegistry??(fn.__zod_globalRegistry=Js());var le=globalThis.__zod_globalRegistry;function Qs(e,t){return new e({type:"string",...y(t)})}function Ws(e,t){return new e({type:"string",format:"email",check:"string_format",abort:!1,...y(t)})}function pn(e,t){return new e({type:"string",format:"guid",check:"string_format",abort:!1,...y(t)})}function Vs(e,t){return new e({type:"string",format:"uuid",check:"string_format",abort:!1,...y(t)})}function Gs(e,t){return new e({type:"string",format:"uuid",check:"string_format",abort:!1,version:"v4",...y(t)})}function Ks(e,t){return new e({type:"string",format:"uuid",check:"string_format",abort:!1,version:"v6",...y(t)})}function Ys(e,t){return new e({type:"string",format:"uuid",check:"string_format",abort:!1,version:"v7",...y(t)})}function Xs(e,t){return new e({type:"string",format:"url",check:"string_format",abort:!1,...y(t)})}function ea(e,t){return new e({type:"string",format:"emoji",check:"string_format",abort:!1,...y(t)})}function ta(e,t){return new e({type:"string",format:"nanoid",check:"string_format",abort:!1,...y(t)})}function na(e,t){return new e({type:"string",format:"cuid",check:"string_format",abort:!1,...y(t)})}function ra(e,t){return new e({type:"string",format:"cuid2",check:"string_format",abort:!1,...y(t)})}function oa(e,t){return new e({type:"string",format:"ulid",check:"string_format",abort:!1,...y(t)})}function ia(e,t){return new e({type:"string",format:"xid",check:"string_format",abort:!1,...y(t)})}function sa(e,t){return new e({type:"string",format:"ksuid",check:"string_format",abort:!1,...y(t)})}function aa(e,t){return new e({type:"string",format:"ipv4",check:"string_format",abort:!1,...y(t)})}function ca(e,t){return new e({type:"string",format:"ipv6",check:"string_format",abort:!1,...y(t)})}function ua(e,t){return new e({type:"string",format:"cidrv4",check:"string_format",abort:!1,...y(t)})}function la(e,t){return new e({type:"string",format:"cidrv6",check:"string_format",abort:!1,...y(t)})}function da(e,t){return new e({type:"string",format:"base64",check:"string_format",abort:!1,...y(t)})}function fa(e,t){return new e({type:"string",format:"base64url",check:"string_format",abort:!1,...y(t)})}function pa(e,t){return new e({type:"string",format:"e164",check:"string_format",abort:!1,...y(t)})}function ga(e,t){return new e({type:"string",format:"jwt",check:"string_format",abort:!1,...y(t)})}function ha(e,t){return new e({type:"string",format:"datetime",check:"string_format",offset:!1,local:!1,precision:null,...y(t)})}function ma(e,t){return new e({type:"string",format:"date",check:"string_format",...y(t)})}function ya(e,t){return new e({type:"string",format:"time",check:"string_format",precision:null,...y(t)})}function _a(e,t){return new e({type:"string",format:"duration",check:"string_format",...y(t)})}function va(e,t){return new e({type:"boolean",...y(t)})}function ba(e){return new e({type:"unknown"})}function wa(e,t){return new e({type:"never",...y(t)})}function gn(e,t){return new Mi({check:"max_length",...y(t),maximum:e})}function Ee(e,t){return new Fi({check:"min_length",...y(t),minimum:e})}function hn(e,t){return new Hi({check:"length_equals",...y(t),length:e})}function ka(e,t){return new Ji({check:"string_format",format:"regex",...y(t),pattern:e})}function Sa(e){return new Qi({check:"string_format",format:"lowercase",...y(e)})}function za(e){return new Wi({check:"string_format",format:"uppercase",...y(e)})}function Aa(e,t){return new Vi({check:"string_format",format:"includes",...y(t),includes:e})}function Ea(e,t){return new Gi({check:"string_format",format:"starts_with",...y(t),prefix:e})}function Ta(e,t){return new Ki({check:"string_format",format:"ends_with",...y(t),suffix:e})}function ee(e){return new Yi({check:"overwrite",tx:e})}function $a(e){return ee(t=>t.normalize(e))}function Ia(){return ee(e=>e.trim())}function Pa(){return ee(e=>e.toLowerCase())}function Ca(){return ee(e=>e.toUpperCase())}function xa(){return ee(e=>Wo(e))}function Oa(e,t,n){return new e({type:"array",element:t,...y(n)})}function Za(e,t,n){return new e({type:"custom",check:"custom",fn:t,...y(n)})}function Ra(e,t){const n=La(r=>(r.addIssue=o=>{if(typeof o=="string")r.issues.push(ue(o,r.value,n._zod.def));else{const i=o;i.fatal&&(i.continue=!1),i.code??(i.code="custom"),i.input??(i.input=r.value),i.inst??(i.inst=n),i.continue??(i.continue=!n._zod.def.abort),r.issues.push(ue(i))}},e(r.value,r)),t);return n}function La(e,t){const n=new j({check:"custom",...y(t)});return n._zod.check=e,n}function mn(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??le,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 $(e,t,n={path:[],schemaPath:[]}){var r;const o=e._zod.def,i=t.seen.get(e);if(i)return i.count++,n.schemaPath.includes(e)&&(i.cycle=n.path),i.schema;const s={schema:{},count:1,cycle:void 0,path:n.path};t.seen.set(e,s);const a=e._zod.toJSONSchema?.();if(a)s.schema=a;else{const u={...n,schemaPath:[...n.schemaPath,e],path:n.path};if(e._zod.processJSONSchema)e._zod.processJSONSchema(t,s.schema,u);else{const p=s.schema,g=t.processors[o.type];if(!g)throw new Error(`[toJSONSchema]: Non-representable type encountered: ${o.type}`);g(e,t,p,u)}const d=e._zod.parent;d&&(s.ref||(s.ref=d),$(d,t,u),t.seen.get(d).isParent=!0)}const c=t.metadataRegistry.get(e);return c&&Object.assign(s.schema,c),t.io==="input"&&x(e)&&(delete s.schema.examples,delete s.schema.default),t.io==="input"&&"_prefault"in s.schema&&((r=s.schema).default??(r.default=s.schema._prefault)),delete s.schema._prefault,t.seen.get(e).schema}function yn(e,t){const n=e.seen.get(t);if(!n)throw new Error("Unprocessed schema. This is a bug in Zod.");const r=new Map;for(const s of e.seen.entries()){const a=e.metadataRegistry.get(s[0])?.id;if(a){const c=r.get(a);if(c&&c!==s[0])throw new Error(`Duplicate schema id "${a}" detected during JSON Schema conversion. Two different schemas cannot share the same id when converted together.`);r.set(a,s[0])}}const o=s=>{const a=e.target==="draft-2020-12"?"$defs":"definitions";if(e.external){const d=e.external.registry.get(s[0])?.id,p=e.external.uri??(f=>f);if(d)return{ref:p(d)};const g=s[1].defId??s[1].schema.id??`schema${e.counter++}`;return s[1].defId=g,{defId:g,ref:`${p("__shared")}#/${a}/${g}`}}if(s[1]===n)return{ref:"#"};const c=`#/${a}/`,u=s[1].schema.id??`__schema${e.counter++}`;return{defId:u,ref:c+u}},i=s=>{if(s[1].schema.$ref)return;const a=s[1],{ref:c,defId:u}=o(s);a.def={...a.schema},u&&(a.defId=u);const d=a.schema;for(const p in d)delete d[p];d.$ref=c};if(e.cycles==="throw")for(const s of e.seen.entries()){const a=s[1];if(a.cycle)throw new Error(`Cycle detected: #/${a.cycle?.join("/")}/<root>
109
+ `)}p.write("payload.value = newResult;"),p.write("return payload;");const k=p.compile();return(I,A)=>k(g,I,A)};let i;const s=_e,a=!ye.jitless,u=a&&Vo.value,d=t.catchall;let f;e._zod.parse=(g,p)=>{f??(f=r.value);const h=g.value;return s(h)?a&&u&&p?.async===!1&&p.jitless!==!0?(i||(i=o(t.shape)),g=i(g,p),d?nn([],h,g,p,f,e):g):n(g,p):(g.issues.push({expected:"object",code:"invalid_type",input:h,inst:e}),g)}});function rn(e,t,n,r){for(const i of e)if(i.issues.length===0)return t.value=i.value,t;const o=e.filter(i=>!X(i));return o.length===1?(t.value=o[0].value,o[0]):(t.issues.push({code:"invalid_union",input:t.value,inst:n,errors:e.map(i=>i.issues.map(s=>V(s,r,Q())))}),t)}var xs=l("$ZodUnion",(e,t)=>{E.init(e,t),b(e._zod,"optin",()=>t.options.some(r=>r._zod.optin==="optional")?"optional":void 0),b(e._zod,"optout",()=>t.options.some(r=>r._zod.optout==="optional")?"optional":void 0),b(e._zod,"values",()=>{if(t.options.every(r=>r._zod.values))return new Set(t.options.flatMap(r=>Array.from(r._zod.values)))}),b(e._zod,"pattern",()=>{if(t.options.every(r=>r._zod.pattern)){const r=t.options.map(o=>o._zod.pattern);return new RegExp(`^(${r.map(o=>Qe(o.source)).join("|")})$`)}});const n=t.options.length===1?t.options[0]._zod.run:null;e._zod.parse=(r,o)=>{if(n)return n(r,o);let i=!1;const s=[];for(const a of t.options){const c=a._zod.run({value:r.value,issues:[]},o);if(c instanceof Promise)s.push(c),i=!0;else{if(c.issues.length===0)return c;s.push(c)}}return i?Promise.all(s).then(a=>rn(a,r,e,o)):rn(s,r,e,o)}}),Os=l("$ZodIntersection",(e,t)=>{E.init(e,t),e._zod.parse=(n,r)=>{const o=n.value,i=t.left._zod.run({value:o,issues:[]},r),s=t.right._zod.run({value:o,issues:[]},r);return i instanceof Promise||s instanceof Promise?Promise.all([i,s]).then(([a,c])=>on(n,a,c)):on(n,i,s)}});function Ye(e,t){if(e===t)return{valid:!0,data:e};if(e instanceof Date&&t instanceof Date&&+e==+t)return{valid:!0,data:e};if(ce(e)&&ce(t)){const n=Object.keys(t),r=Object.keys(e).filter(i=>n.indexOf(i)!==-1),o={...e,...t};for(const i of r){const s=Ye(e[i],t[i]);if(!s.valid)return{valid:!1,mergeErrorPath:[i,...s.mergeErrorPath]};o[i]=s.data}return{valid:!0,data:o}}if(Array.isArray(e)&&Array.isArray(t)){if(e.length!==t.length)return{valid:!1,mergeErrorPath:[]};const n=[];for(let r=0;r<e.length;r++){const o=e[r],i=t[r],s=Ye(o,i);if(!s.valid)return{valid:!1,mergeErrorPath:[r,...s.mergeErrorPath]};n.push(s.data)}return{valid:!0,data:n}}return{valid:!1,mergeErrorPath:[]}}function on(e,t,n){const r=new Map;let o;for(const a of t.issues)if(a.code==="unrecognized_keys"){o??(o=a);for(const c of a.keys)r.has(c)||r.set(c,{}),r.get(c).l=!0}else e.issues.push(a);for(const a of n.issues)if(a.code==="unrecognized_keys")for(const c of a.keys)r.has(c)||r.set(c,{}),r.get(c).r=!0;else e.issues.push(a);const i=[...r].filter(([,a])=>a.l&&a.r).map(([a])=>a);if(i.length&&o&&e.issues.push({...o,keys:i}),X(e))return e;const s=Ye(t.value,n.value);if(!s.valid)throw new Error(`Unmergable intersection. Error path: ${JSON.stringify(s.mergeErrorPath)}`);return e.value=s.data,e}var Zs=l("$ZodEnum",(e,t)=>{E.init(e,t);const n=Dt(t.entries),r=new Set(n);e._zod.values=r,e._zod.pattern=new RegExp(`^(${n.filter(o=>Go.has(typeof o)).map(o=>typeof o=="string"?ve(o):o.toString()).join("|")})$`),e._zod.parse=(o,i)=>{const s=o.value;return r.has(s)||o.issues.push({code:"invalid_value",values:n,input:s,inst:e}),o}}),Rs=l("$ZodTransform",(e,t)=>{E.init(e,t),e._zod.optin="optional",e._zod.parse=(n,r)=>{if(r.direction==="backward")throw new qt(e.constructor.name);const o=t.transform(n.value,n);if(r.async)return(o instanceof Promise?o:Promise.resolve(o)).then(i=>(n.value=i,n.fallback=!0,n));if(o instanceof Promise)throw new Y;return n.value=o,n.fallback=!0,n}});function sn(e,t){return t===void 0&&(e.issues.length||e.fallback)?{issues:[],value:void 0}:e}var an=l("$ZodOptional",(e,t)=>{E.init(e,t),e._zod.optin="optional",e._zod.optout="optional",b(e._zod,"values",()=>t.innerType._zod.values?new Set([...t.innerType._zod.values,void 0]):void 0),b(e._zod,"pattern",()=>{const n=t.innerType._zod.pattern;return n?new RegExp(`^(${Qe(n.source)})?$`):void 0}),e._zod.parse=(n,r)=>{if(t.innerType._zod.optin==="optional"){const o=n.value,i=t.innerType._zod.run(n,r);return i instanceof Promise?i.then(s=>sn(s,o)):sn(i,o)}return n.value===void 0?n:t.innerType._zod.run(n,r)}}),Ls=l("$ZodExactOptional",(e,t)=>{an.init(e,t),b(e._zod,"values",()=>t.innerType._zod.values),b(e._zod,"pattern",()=>t.innerType._zod.pattern),e._zod.parse=(n,r)=>t.innerType._zod.run(n,r)}),Ns=l("$ZodNullable",(e,t)=>{E.init(e,t),b(e._zod,"optin",()=>t.innerType._zod.optin),b(e._zod,"optout",()=>t.innerType._zod.optout),b(e._zod,"pattern",()=>{const n=t.innerType._zod.pattern;return n?new RegExp(`^(${Qe(n.source)}|null)$`):void 0}),b(e._zod,"values",()=>t.innerType._zod.values?new Set([...t.innerType._zod.values,null]):void 0),e._zod.parse=(n,r)=>n.value===null?n:t.innerType._zod.run(n,r)}),js=l("$ZodDefault",(e,t)=>{E.init(e,t),e._zod.optin="optional",b(e._zod,"values",()=>t.innerType._zod.values),e._zod.parse=(n,r)=>{if(r.direction==="backward")return t.innerType._zod.run(n,r);if(n.value===void 0)return n.value=t.defaultValue,n;const o=t.innerType._zod.run(n,r);return o instanceof Promise?o.then(i=>cn(i,t)):cn(o,t)}});function cn(e,t){return e.value===void 0&&(e.value=t.defaultValue),e}var qs=l("$ZodPrefault",(e,t)=>{E.init(e,t),e._zod.optin="optional",b(e._zod,"values",()=>t.innerType._zod.values),e._zod.parse=(n,r)=>(r.direction==="backward"||n.value===void 0&&(n.value=t.defaultValue),t.innerType._zod.run(n,r))}),Ds=l("$ZodNonOptional",(e,t)=>{E.init(e,t),b(e._zod,"values",()=>{const n=t.innerType._zod.values;return n?new Set([...n].filter(r=>r!==void 0)):void 0}),e._zod.parse=(n,r)=>{const o=t.innerType._zod.run(n,r);return o instanceof Promise?o.then(i=>un(i,e)):un(o,e)}});function un(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 Us=l("$ZodCatch",(e,t)=>{E.init(e,t),e._zod.optin="optional",b(e._zod,"optout",()=>t.innerType._zod.optout),b(e._zod,"values",()=>t.innerType._zod.values),e._zod.parse=(n,r)=>{if(r.direction==="backward")return t.innerType._zod.run(n,r);const o=t.innerType._zod.run(n,r);return o instanceof Promise?o.then(i=>(n.value=i.value,i.issues.length&&(n.value=t.catchValue({...n,error:{issues:i.issues.map(s=>V(s,r,Q()))},input:n.value}),n.issues=[],n.fallback=!0),n)):(n.value=o.value,o.issues.length&&(n.value=t.catchValue({...n,error:{issues:o.issues.map(i=>V(i,r,Q()))},input:n.value}),n.issues=[],n.fallback=!0),n)}}),Bs=l("$ZodPipe",(e,t)=>{E.init(e,t),b(e._zod,"values",()=>t.in._zod.values),b(e._zod,"optin",()=>t.in._zod.optin),b(e._zod,"optout",()=>t.out._zod.optout),b(e._zod,"propValues",()=>t.in._zod.propValues),e._zod.parse=(n,r)=>{if(r.direction==="backward"){const i=t.out._zod.run(n,r);return i instanceof Promise?i.then(s=>Ae(s,t.in,r)):Ae(i,t.in,r)}const o=t.in._zod.run(n,r);return o instanceof Promise?o.then(i=>Ae(i,t.out,r)):Ae(o,t.out,r)}});function Ae(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 Ms=l("$ZodReadonly",(e,t)=>{E.init(e,t),b(e._zod,"propValues",()=>t.innerType._zod.propValues),b(e._zod,"values",()=>t.innerType._zod.values),b(e._zod,"optin",()=>t.innerType?._zod?.optin),b(e._zod,"optout",()=>t.innerType?._zod?.optout),e._zod.parse=(n,r)=>{if(r.direction==="backward")return t.innerType._zod.run(n,r);const o=t.innerType._zod.run(n,r);return o instanceof Promise?o.then(ln):ln(o)}});function ln(e){return e.value=Object.freeze(e.value),e}var Fs=l("$ZodCustom",(e,t)=>{j.init(e,t),E.init(e,t),e._zod.parse=(n,r)=>n,e._zod.check=n=>{const r=n.value,o=t.fn(r);if(o instanceof Promise)return o.then(i=>dn(i,n,r,e));dn(o,n,r,e)}});function dn(e,t,n,r){if(!e){const o={code:"custom",input:n,inst:r,path:[...r._zod.def.path??[]],continue:!r._zod.def.abort};r._zod.def.params&&(o.params=r._zod.def.params),t.issues.push(ue(o))}}var fn,Hs=class{constructor(){this._map=new WeakMap,this._idmap=new Map}add(e,...t){const 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){const 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){const t=e._zod.parent;if(t){const n={...this.get(t)??{}};delete n.id;const 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 Js(){return new Hs}(fn=globalThis).__zod_globalRegistry??(fn.__zod_globalRegistry=Js());var le=globalThis.__zod_globalRegistry;function Qs(e,t){return new e({type:"string",...y(t)})}function Ws(e,t){return new e({type:"string",format:"email",check:"string_format",abort:!1,...y(t)})}function pn(e,t){return new e({type:"string",format:"guid",check:"string_format",abort:!1,...y(t)})}function Vs(e,t){return new e({type:"string",format:"uuid",check:"string_format",abort:!1,...y(t)})}function Gs(e,t){return new e({type:"string",format:"uuid",check:"string_format",abort:!1,version:"v4",...y(t)})}function Ks(e,t){return new e({type:"string",format:"uuid",check:"string_format",abort:!1,version:"v6",...y(t)})}function Ys(e,t){return new e({type:"string",format:"uuid",check:"string_format",abort:!1,version:"v7",...y(t)})}function Xs(e,t){return new e({type:"string",format:"url",check:"string_format",abort:!1,...y(t)})}function ea(e,t){return new e({type:"string",format:"emoji",check:"string_format",abort:!1,...y(t)})}function ta(e,t){return new e({type:"string",format:"nanoid",check:"string_format",abort:!1,...y(t)})}function na(e,t){return new e({type:"string",format:"cuid",check:"string_format",abort:!1,...y(t)})}function ra(e,t){return new e({type:"string",format:"cuid2",check:"string_format",abort:!1,...y(t)})}function oa(e,t){return new e({type:"string",format:"ulid",check:"string_format",abort:!1,...y(t)})}function ia(e,t){return new e({type:"string",format:"xid",check:"string_format",abort:!1,...y(t)})}function sa(e,t){return new e({type:"string",format:"ksuid",check:"string_format",abort:!1,...y(t)})}function aa(e,t){return new e({type:"string",format:"ipv4",check:"string_format",abort:!1,...y(t)})}function ca(e,t){return new e({type:"string",format:"ipv6",check:"string_format",abort:!1,...y(t)})}function ua(e,t){return new e({type:"string",format:"cidrv4",check:"string_format",abort:!1,...y(t)})}function la(e,t){return new e({type:"string",format:"cidrv6",check:"string_format",abort:!1,...y(t)})}function da(e,t){return new e({type:"string",format:"base64",check:"string_format",abort:!1,...y(t)})}function fa(e,t){return new e({type:"string",format:"base64url",check:"string_format",abort:!1,...y(t)})}function pa(e,t){return new e({type:"string",format:"e164",check:"string_format",abort:!1,...y(t)})}function ga(e,t){return new e({type:"string",format:"jwt",check:"string_format",abort:!1,...y(t)})}function ha(e,t){return new e({type:"string",format:"datetime",check:"string_format",offset:!1,local:!1,precision:null,...y(t)})}function ma(e,t){return new e({type:"string",format:"date",check:"string_format",...y(t)})}function ya(e,t){return new e({type:"string",format:"time",check:"string_format",precision:null,...y(t)})}function _a(e,t){return new e({type:"string",format:"duration",check:"string_format",...y(t)})}function va(e,t){return new e({type:"boolean",...y(t)})}function ba(e){return new e({type:"unknown"})}function wa(e,t){return new e({type:"never",...y(t)})}function gn(e,t){return new Mi({check:"max_length",...y(t),maximum:e})}function Ee(e,t){return new Fi({check:"min_length",...y(t),minimum:e})}function hn(e,t){return new Hi({check:"length_equals",...y(t),length:e})}function ka(e,t){return new Ji({check:"string_format",format:"regex",...y(t),pattern:e})}function Sa(e){return new Qi({check:"string_format",format:"lowercase",...y(e)})}function za(e){return new Wi({check:"string_format",format:"uppercase",...y(e)})}function Aa(e,t){return new Vi({check:"string_format",format:"includes",...y(t),includes:e})}function Ea(e,t){return new Gi({check:"string_format",format:"starts_with",...y(t),prefix:e})}function Ta(e,t){return new Ki({check:"string_format",format:"ends_with",...y(t),suffix:e})}function ee(e){return new Yi({check:"overwrite",tx:e})}function $a(e){return ee(t=>t.normalize(e))}function Ia(){return ee(e=>e.trim())}function Pa(){return ee(e=>e.toLowerCase())}function Ca(){return ee(e=>e.toUpperCase())}function xa(){return ee(e=>Wo(e))}function Oa(e,t,n){return new e({type:"array",element:t,...y(n)})}function Za(e,t,n){return new e({type:"custom",check:"custom",fn:t,...y(n)})}function Ra(e,t){const n=La(r=>(r.addIssue=o=>{if(typeof o=="string")r.issues.push(ue(o,r.value,n._zod.def));else{const i=o;i.fatal&&(i.continue=!1),i.code??(i.code="custom"),i.input??(i.input=r.value),i.inst??(i.inst=n),i.continue??(i.continue=!n._zod.def.abort),r.issues.push(ue(i))}},e(r.value,r)),t);return n}function La(e,t){const n=new j({check:"custom",...y(t)});return n._zod.check=e,n}function mn(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??le,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 $(e,t,n={path:[],schemaPath:[]}){var r;const o=e._zod.def,i=t.seen.get(e);if(i)return i.count++,n.schemaPath.includes(e)&&(i.cycle=n.path),i.schema;const s={schema:{},count:1,cycle:void 0,path:n.path};t.seen.set(e,s);const a=e._zod.toJSONSchema?.();if(a)s.schema=a;else{const u={...n,schemaPath:[...n.schemaPath,e],path:n.path};if(e._zod.processJSONSchema)e._zod.processJSONSchema(t,s.schema,u);else{const f=s.schema,g=t.processors[o.type];if(!g)throw new Error(`[toJSONSchema]: Non-representable type encountered: ${o.type}`);g(e,t,f,u)}const d=e._zod.parent;d&&(s.ref||(s.ref=d),$(d,t,u),t.seen.get(d).isParent=!0)}const c=t.metadataRegistry.get(e);return c&&Object.assign(s.schema,c),t.io==="input"&&x(e)&&(delete s.schema.examples,delete s.schema.default),t.io==="input"&&"_prefault"in s.schema&&((r=s.schema).default??(r.default=s.schema._prefault)),delete s.schema._prefault,t.seen.get(e).schema}function yn(e,t){const n=e.seen.get(t);if(!n)throw new Error("Unprocessed schema. This is a bug in Zod.");const r=new Map;for(const s of e.seen.entries()){const a=e.metadataRegistry.get(s[0])?.id;if(a){const c=r.get(a);if(c&&c!==s[0])throw new Error(`Duplicate schema id "${a}" detected during JSON Schema conversion. Two different schemas cannot share the same id when converted together.`);r.set(a,s[0])}}const o=s=>{const a=e.target==="draft-2020-12"?"$defs":"definitions";if(e.external){const d=e.external.registry.get(s[0])?.id,f=e.external.uri??(p=>p);if(d)return{ref:f(d)};const g=s[1].defId??s[1].schema.id??`schema${e.counter++}`;return s[1].defId=g,{defId:g,ref:`${f("__shared")}#/${a}/${g}`}}if(s[1]===n)return{ref:"#"};const c=`#/${a}/`,u=s[1].schema.id??`__schema${e.counter++}`;return{defId:u,ref:c+u}},i=s=>{if(s[1].schema.$ref)return;const a=s[1],{ref:c,defId:u}=o(s);a.def={...a.schema},u&&(a.defId=u);const d=a.schema;for(const f in d)delete d[f];d.$ref=c};if(e.cycles==="throw")for(const s of e.seen.entries()){const a=s[1];if(a.cycle)throw new Error(`Cycle detected: #/${a.cycle?.join("/")}/<root>
110
110
 
111
- Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.`)}for(const s of e.seen.entries()){const a=s[1];if(t===s[0]){i(s);continue}if(e.external){const c=e.external.registry.get(s[0])?.id;if(t!==s[0]&&c){i(s);continue}}if(e.metadataRegistry.get(s[0])?.id){i(s);continue}if(a.cycle){i(s);continue}if(a.count>1&&e.reused==="ref"){i(s);continue}}}function _n(e,t){const n=e.seen.get(t);if(!n)throw new Error("Unprocessed schema. This is a bug in Zod.");const r=a=>{const c=e.seen.get(a);if(c.ref===null)return;const u=c.def??c.schema,d={...u},p=c.ref;if(c.ref=null,p){r(p);const f=e.seen.get(p),h=f.schema;if(h.$ref&&(e.target==="draft-07"||e.target==="draft-04"||e.target==="openapi-3.0")?(u.allOf=u.allOf??[],u.allOf.push(h)):Object.assign(u,h),Object.assign(u,d),a._zod.parent===p)for(const m in u)m==="$ref"||m==="allOf"||m in d||delete u[m];if(h.$ref&&f.def)for(const m in u)m==="$ref"||m==="allOf"||m in f.def&&JSON.stringify(u[m])===JSON.stringify(f.def[m])&&delete u[m]}const g=a._zod.parent;if(g&&g!==p){r(g);const f=e.seen.get(g);if(f?.schema.$ref&&(u.$ref=f.schema.$ref,f.def))for(const h in u)h==="$ref"||h==="allOf"||h in f.def&&JSON.stringify(u[h])===JSON.stringify(f.def[h])&&delete u[h]}e.override({zodSchema:a,jsonSchema:u,path:c.path??[]})};for(const a of[...e.seen.entries()].reverse())r(a[0]);const o={};if(e.target==="draft-2020-12"?o.$schema="https://json-schema.org/draft/2020-12/schema":e.target==="draft-07"?o.$schema="http://json-schema.org/draft-07/schema#":e.target==="draft-04"?o.$schema="http://json-schema.org/draft-04/schema#":e.target,e.external?.uri){const a=e.external.registry.get(t)?.id;if(!a)throw new Error("Schema is missing an `id` property");o.$id=e.external.uri(a)}Object.assign(o,n.def??n.schema);const i=e.metadataRegistry.get(t)?.id;i!==void 0&&o.id===i&&delete o.id;const s=e.external?.defs??{};for(const a of e.seen.entries()){const c=a[1];c.def&&c.defId&&(c.def.id===c.defId&&delete c.def.id,s[c.defId]=c.def)}e.external||Object.keys(s).length>0&&(e.target==="draft-2020-12"?o.$defs=s:o.definitions=s);try{const a=JSON.parse(JSON.stringify(o));return Object.defineProperty(a,"~standard",{value:{...t["~standard"],jsonSchema:{input:Te(t,"input",e.processors),output:Te(t,"output",e.processors)}},enumerable:!1,writable:!1}),a}catch{throw new Error("Error converting schema to JSON.")}}function x(e,t){const n=t??{seen:new Set};if(n.seen.has(e))return!1;n.seen.add(e);const r=e._zod.def;if(r.type==="transform")return!0;if(r.type==="array")return x(r.element,n);if(r.type==="set")return x(r.valueType,n);if(r.type==="lazy")return x(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 x(r.innerType,n);if(r.type==="intersection")return x(r.left,n)||x(r.right,n);if(r.type==="record"||r.type==="map")return x(r.keyType,n)||x(r.valueType,n);if(r.type==="pipe")return e._zod.traits.has("$ZodCodec")?!0:x(r.in,n)||x(r.out,n);if(r.type==="object"){for(const o in r.shape)if(x(r.shape[o],n))return!0;return!1}if(r.type==="union"){for(const o of r.options)if(x(o,n))return!0;return!1}if(r.type==="tuple"){for(const o of r.items)if(x(o,n))return!0;return!!(r.rest&&x(r.rest,n))}return!1}var Na=(e,t={})=>n=>{const r=mn({...n,processors:t});return $(e,r),yn(r,e),_n(r,e)},Te=(e,t,n={})=>r=>{const{libraryOptions:o,target:i}=r??{},s=mn({...o??{},target:i,io:t,processors:n});return $(e,s),yn(s,e),_n(s,e)},ja={guid:"uuid",url:"uri",datetime:"date-time",json_string:"json-string",regex:""},qa=(e,t,n,r)=>{const o=n;o.type="string";const{minimum:i,maximum:s,format:a,patterns:c,contentEncoding:u}=e._zod.bag;if(typeof i=="number"&&(o.minLength=i),typeof s=="number"&&(o.maxLength=s),a&&(o.format=ja[a]??a,o.format===""&&delete o.format,a==="time"&&delete o.format),u&&(o.contentEncoding=u),c&&c.size>0){const d=[...c];d.length===1?o.pattern=d[0].source:d.length>1&&(o.allOf=[...d.map(p=>({...t.target==="draft-07"||t.target==="draft-04"||t.target==="openapi-3.0"?{type:"string"}:{},pattern:p.source}))])}},Da=(e,t,n,r)=>{n.type="boolean"},Ua=(e,t,n,r)=>{n.not={}},Ba=(e,t,n,r)=>{},Ma=(e,t,n,r)=>{const o=e._zod.def,i=Dt(o.entries);i.every(s=>typeof s=="number")&&(n.type="number"),i.every(s=>typeof s=="string")&&(n.type="string"),n.enum=i},Fa=(e,t,n,r)=>{if(t.unrepresentable==="throw")throw new Error("Custom types cannot be represented in JSON Schema")},Ha=(e,t,n,r)=>{if(t.unrepresentable==="throw")throw new Error("Transforms cannot be represented in JSON Schema")},Ja=(e,t,n,r)=>{const o=n,i=e._zod.def,{minimum:s,maximum:a}=e._zod.bag;typeof s=="number"&&(o.minItems=s),typeof a=="number"&&(o.maxItems=a),o.type="array",o.items=$(i.element,t,{...r,path:[...r.path,"items"]})},Qa=(e,t,n,r)=>{const o=n,i=e._zod.def;o.type="object",o.properties={};const s=i.shape;for(const u in s)o.properties[u]=$(s[u],t,{...r,path:[...r.path,"properties",u]});const a=new Set(Object.keys(s)),c=new Set([...a].filter(u=>{const d=i.shape[u]._zod;return t.io==="input"?d.optin===void 0:d.optout===void 0}));c.size>0&&(o.required=Array.from(c)),i.catchall?._zod.def.type==="never"?o.additionalProperties=!1:i.catchall?i.catchall&&(o.additionalProperties=$(i.catchall,t,{...r,path:[...r.path,"additionalProperties"]})):t.io==="output"&&(o.additionalProperties=!1)},Wa=(e,t,n,r)=>{const o=e._zod.def,i=o.inclusive===!1,s=o.options.map((a,c)=>$(a,t,{...r,path:[...r.path,i?"oneOf":"anyOf",c]}));i?n.oneOf=s:n.anyOf=s},Va=(e,t,n,r)=>{const o=e._zod.def,i=$(o.left,t,{...r,path:[...r.path,"allOf",0]}),s=$(o.right,t,{...r,path:[...r.path,"allOf",1]}),a=c=>"allOf"in c&&Object.keys(c).length===1;n.allOf=[...a(i)?i.allOf:[i],...a(s)?s.allOf:[s]]},Ga=(e,t,n,r)=>{const o=e._zod.def,i=$(o.innerType,t,r),s=t.seen.get(e);t.target==="openapi-3.0"?(s.ref=o.innerType,n.nullable=!0):n.anyOf=[i,{type:"null"}]},Ka=(e,t,n,r)=>{const o=e._zod.def;$(o.innerType,t,r);const i=t.seen.get(e);i.ref=o.innerType},Ya=(e,t,n,r)=>{const o=e._zod.def;$(o.innerType,t,r);const i=t.seen.get(e);i.ref=o.innerType,n.default=JSON.parse(JSON.stringify(o.defaultValue))},Xa=(e,t,n,r)=>{const o=e._zod.def;$(o.innerType,t,r);const i=t.seen.get(e);i.ref=o.innerType,t.io==="input"&&(n._prefault=JSON.parse(JSON.stringify(o.defaultValue)))},ec=(e,t,n,r)=>{const o=e._zod.def;$(o.innerType,t,r);const i=t.seen.get(e);i.ref=o.innerType;let s;try{s=o.catchValue(void 0)}catch{throw new Error("Dynamic catch values are not supported in JSON Schema")}n.default=s},tc=(e,t,n,r)=>{const o=e._zod.def,i=o.in._zod.traits.has("$ZodTransform"),s=t.io==="input"?i?o.out:o.in:o.out;$(s,t,r);const a=t.seen.get(e);a.ref=s},nc=(e,t,n,r)=>{const o=e._zod.def;$(o.innerType,t,r);const i=t.seen.get(e);i.ref=o.innerType,n.readOnly=!0},vn=(e,t,n,r)=>{const o=e._zod.def;$(o.innerType,t,r);const i=t.seen.get(e);i.ref=o.innerType},rc=l("ZodISODateTime",(e,t)=>{fs.init(e,t),z.init(e,t)});function oc(e){return ha(rc,e)}var ic=l("ZodISODate",(e,t)=>{ps.init(e,t),z.init(e,t)});function sc(e){return ma(ic,e)}var ac=l("ZodISOTime",(e,t)=>{gs.init(e,t),z.init(e,t)});function cc(e){return ya(ac,e)}var uc=l("ZodISODuration",(e,t)=>{hs.init(e,t),z.init(e,t)});function lc(e){return _a(uc,e)}var dc=(e,t)=>{Qt.init(e,t),e.name="ZodError",Object.defineProperties(e,{format:{value:n=>ai(e,n)},flatten:{value:n=>si(e,n)},addIssue:{value:n=>{e.issues.push(n),e.message=JSON.stringify(e.issues,Fe,2)}},addIssues:{value:n=>{e.issues.push(...n),e.message=JSON.stringify(e.issues,Fe,2)}},isEmpty:{get(){return e.issues.length===0}}})},Z=l("ZodError",dc,{Parent:Error}),fc=Ve(Z),pc=Ge(Z),gc=we(Z),hc=ke(Z),mc=li(Z),yc=di(Z),_c=fi(Z),vc=pi(Z),bc=gi(Z),wc=hi(Z),kc=mi(Z),Sc=yi(Z),bn=new WeakMap;function $e(e,t,n){const r=Object.getPrototypeOf(e);let o=bn.get(r);if(o||(o=new Set,bn.set(r,o)),!o.has(t)){o.add(t);for(const i in n){const s=n[i];Object.defineProperty(r,i,{configurable:!0,enumerable:!1,get(){const a=s.bind(this);return Object.defineProperty(this,i,{configurable:!0,writable:!0,enumerable:!0,value:a}),a},set(a){Object.defineProperty(this,i,{configurable:!0,writable:!0,enumerable:!0,value:a})}})}}}var T=l("ZodType",(e,t)=>(E.init(e,t),Object.assign(e["~standard"],{jsonSchema:{input:Te(e,"input"),output:Te(e,"output")}}),e.toJSONSchema=Na(e,{}),e.def=t,e.type=t.type,Object.defineProperty(e,"_def",{value:t}),e.parse=(n,r)=>fc(e,n,r,{callee:e.parse}),e.safeParse=(n,r)=>gc(e,n,r),e.parseAsync=async(n,r)=>pc(e,n,r,{callee:e.parseAsync}),e.safeParseAsync=async(n,r)=>hc(e,n,r),e.spa=e.safeParseAsync,e.encode=(n,r)=>mc(e,n,r),e.decode=(n,r)=>yc(e,n,r),e.encodeAsync=async(n,r)=>_c(e,n,r),e.decodeAsync=async(n,r)=>vc(e,n,r),e.safeEncode=(n,r)=>bc(e,n,r),e.safeDecode=(n,r)=>wc(e,n,r),e.safeEncodeAsync=async(n,r)=>kc(e,n,r),e.safeDecodeAsync=async(n,r)=>Sc(e,n,r),$e(e,"ZodType",{check(...n){const r=this.def;return this.clone(U(r,{checks:[...r.checks??[],...n.map(o=>typeof o=="function"?{_zod:{check:o,def:{check:"custom"},onattach:[]}}:o)]}),{parent:!0})},with(...n){return this.check(...n)},clone(n,r){return B(this,n,r)},brand(){return this},register(n,r){return n.add(this,r),this},refine(n,r){return this.check(gu(n,r))},superRefine(n,r){return this.check(hu(n,r))},overwrite(n){return this.check(ee(n))},optional(){return En(this)},exactOptional(){return tu(this)},nullable(){return Tn(this)},nullish(){return En(Tn(this))},nonoptional(n){return au(this,n)},array(){return Sn(this)},or(n){return zn([this,n])},and(n){return Kc(this,n)},transform(n){return In(this,Xc(n))},default(n){return ou(this,n)},prefault(n){return su(this,n)},catch(n){return uu(this,n)},pipe(n){return In(this,n)},readonly(){return fu(this)},describe(n){const r=this.clone();return le.add(r,{description:n}),r},meta(...n){if(n.length===0)return le.get(this);const r=this.clone();return le.add(r,n[0]),r},isOptional(){return this.safeParse(void 0).success},isNullable(){return this.safeParse(null).success},apply(n){return n(this)}}),Object.defineProperty(e,"description",{get(){return le.get(e)?.description},configurable:!0}),e)),wn=l("_ZodString",(e,t)=>{Ke.init(e,t),T.init(e,t),e._zod.processJSONSchema=(r,o,i)=>qa(e,r,o,i);const n=e._zod.bag;e.format=n.format??null,e.minLength=n.minimum??null,e.maxLength=n.maximum??null,$e(e,"_ZodString",{regex(...r){return this.check(ka(...r))},includes(...r){return this.check(Aa(...r))},startsWith(...r){return this.check(Ea(...r))},endsWith(...r){return this.check(Ta(...r))},min(...r){return this.check(Ee(...r))},max(...r){return this.check(gn(...r))},length(...r){return this.check(hn(...r))},nonempty(...r){return this.check(Ee(1,...r))},lowercase(r){return this.check(Sa(r))},uppercase(r){return this.check(za(r))},trim(){return this.check(Ia())},normalize(...r){return this.check($a(...r))},toLowerCase(){return this.check(Pa())},toUpperCase(){return this.check(Ca())},slugify(){return this.check(xa())}})}),zc=l("ZodString",(e,t)=>{Ke.init(e,t),wn.init(e,t),e.email=n=>e.check(Ws(Ac,n)),e.url=n=>e.check(Xs(Ec,n)),e.jwt=n=>e.check(ga(Uc,n)),e.emoji=n=>e.check(ea(Tc,n)),e.guid=n=>e.check(pn(kn,n)),e.uuid=n=>e.check(Vs(Ie,n)),e.uuidv4=n=>e.check(Gs(Ie,n)),e.uuidv6=n=>e.check(Ks(Ie,n)),e.uuidv7=n=>e.check(Ys(Ie,n)),e.nanoid=n=>e.check(ta($c,n)),e.guid=n=>e.check(pn(kn,n)),e.cuid=n=>e.check(na(Ic,n)),e.cuid2=n=>e.check(ra(Pc,n)),e.ulid=n=>e.check(oa(Cc,n)),e.base64=n=>e.check(da(jc,n)),e.base64url=n=>e.check(fa(qc,n)),e.xid=n=>e.check(ia(xc,n)),e.ksuid=n=>e.check(sa(Oc,n)),e.ipv4=n=>e.check(aa(Zc,n)),e.ipv6=n=>e.check(ca(Rc,n)),e.cidrv4=n=>e.check(ua(Lc,n)),e.cidrv6=n=>e.check(la(Nc,n)),e.e164=n=>e.check(pa(Dc,n)),e.datetime=n=>e.check(oc(n)),e.date=n=>e.check(sc(n)),e.time=n=>e.check(cc(n)),e.duration=n=>e.check(lc(n))});function G(e){return Qs(zc,e)}var z=l("ZodStringFormat",(e,t)=>{S.init(e,t),wn.init(e,t)}),Ac=l("ZodEmail",(e,t)=>{rs.init(e,t),z.init(e,t)}),kn=l("ZodGUID",(e,t)=>{ts.init(e,t),z.init(e,t)}),Ie=l("ZodUUID",(e,t)=>{ns.init(e,t),z.init(e,t)}),Ec=l("ZodURL",(e,t)=>{os.init(e,t),z.init(e,t)}),Tc=l("ZodEmoji",(e,t)=>{is.init(e,t),z.init(e,t)}),$c=l("ZodNanoID",(e,t)=>{ss.init(e,t),z.init(e,t)}),Ic=l("ZodCUID",(e,t)=>{as.init(e,t),z.init(e,t)}),Pc=l("ZodCUID2",(e,t)=>{cs.init(e,t),z.init(e,t)}),Cc=l("ZodULID",(e,t)=>{us.init(e,t),z.init(e,t)}),xc=l("ZodXID",(e,t)=>{ls.init(e,t),z.init(e,t)}),Oc=l("ZodKSUID",(e,t)=>{ds.init(e,t),z.init(e,t)}),Zc=l("ZodIPv4",(e,t)=>{ms.init(e,t),z.init(e,t)}),Rc=l("ZodIPv6",(e,t)=>{ys.init(e,t),z.init(e,t)}),Lc=l("ZodCIDRv4",(e,t)=>{_s.init(e,t),z.init(e,t)}),Nc=l("ZodCIDRv6",(e,t)=>{vs.init(e,t),z.init(e,t)}),jc=l("ZodBase64",(e,t)=>{bs.init(e,t),z.init(e,t)}),qc=l("ZodBase64URL",(e,t)=>{ks.init(e,t),z.init(e,t)}),Dc=l("ZodE164",(e,t)=>{Ss.init(e,t),z.init(e,t)}),Uc=l("ZodJWT",(e,t)=>{As.init(e,t),z.init(e,t)}),Bc=l("ZodBoolean",(e,t)=>{Es.init(e,t),T.init(e,t),e._zod.processJSONSchema=(n,r,o)=>Da(e,n,r,o)});function Mc(e){return va(Bc,e)}var Fc=l("ZodUnknown",(e,t)=>{Ts.init(e,t),T.init(e,t),e._zod.processJSONSchema=(n,r,o)=>Ba(e,n,r,o)});function Xe(){return ba(Fc)}var Hc=l("ZodNever",(e,t)=>{$s.init(e,t),T.init(e,t),e._zod.processJSONSchema=(n,r,o)=>Ua(e,n,r,o)});function Jc(e){return wa(Hc,e)}var Qc=l("ZodArray",(e,t)=>{Is.init(e,t),T.init(e,t),e._zod.processJSONSchema=(n,r,o)=>Ja(e,n,r,o),e.element=t.element,$e(e,"ZodArray",{min(n,r){return this.check(Ee(n,r))},nonempty(n){return this.check(Ee(1,n))},max(n,r){return this.check(gn(n,r))},length(n,r){return this.check(hn(n,r))},unwrap(){return this.element}})});function Sn(e,t){return Oa(Qc,e,t)}var Wc=l("ZodObject",(e,t)=>{Cs.init(e,t),T.init(e,t),e._zod.processJSONSchema=(n,r,o)=>Qa(e,n,r,o),b(e,"shape",()=>t.shape),$e(e,"ZodObject",{keyof(){return tt(Object.keys(this._zod.def.shape))},catchall(n){return this.clone({...this._zod.def,catchall:n})},passthrough(){return this.clone({...this._zod.def,catchall:Xe()})},loose(){return this.clone({...this._zod.def,catchall:Xe()})},strict(){return this.clone({...this._zod.def,catchall:Jc()})},strip(){return this.clone({...this._zod.def,catchall:void 0})},extend(n){return ei(this,n)},safeExtend(n){return ti(this,n)},merge(n){return ni(this,n)},pick(n){return Yo(this,n)},omit(n){return Xo(this,n)},partial(...n){return ri(An,this,n[0])},required(...n){return oi($n,this,n[0])}})});function de(e,t){return new Wc({type:"object",shape:e??{},...y(t)})}var Vc=l("ZodUnion",(e,t)=>{xs.init(e,t),T.init(e,t),e._zod.processJSONSchema=(n,r,o)=>Wa(e,n,r,o),e.options=t.options});function zn(e,t){return new Vc({type:"union",options:e,...y(t)})}var Gc=l("ZodIntersection",(e,t)=>{Os.init(e,t),T.init(e,t),e._zod.processJSONSchema=(n,r,o)=>Va(e,n,r,o)});function Kc(e,t){return new Gc({type:"intersection",left:e,right:t})}var et=l("ZodEnum",(e,t)=>{Zs.init(e,t),T.init(e,t),e._zod.processJSONSchema=(r,o,i)=>Ma(e,r,o,i),e.enum=t.entries,e.options=Object.values(t.entries);const n=new Set(Object.keys(t.entries));e.extract=(r,o)=>{const i={};for(const s of r)if(n.has(s))i[s]=t.entries[s];else throw new Error(`Key ${s} not found in enum`);return new et({...t,checks:[],...y(o),entries:i})},e.exclude=(r,o)=>{const i={...t.entries};for(const s of r)if(n.has(s))delete i[s];else throw new Error(`Key ${s} not found in enum`);return new et({...t,checks:[],...y(o),entries:i})}});function tt(e,t){return new et({type:"enum",entries:Array.isArray(e)?Object.fromEntries(e.map(n=>[n,n])):e,...y(t)})}var Yc=l("ZodTransform",(e,t)=>{Rs.init(e,t),T.init(e,t),e._zod.processJSONSchema=(n,r,o)=>Ha(e,n,r,o),e._zod.parse=(n,r)=>{if(r.direction==="backward")throw new qt(e.constructor.name);n.addIssue=i=>{if(typeof i=="string")n.issues.push(ue(i,n.value,t));else{const s=i;s.fatal&&(s.continue=!1),s.code??(s.code="custom"),s.input??(s.input=n.value),s.inst??(s.inst=e),n.issues.push(ue(s))}};const o=t.transform(n.value,n);return o instanceof Promise?o.then(i=>(n.value=i,n.fallback=!0,n)):(n.value=o,n.fallback=!0,n)}});function Xc(e){return new Yc({type:"transform",transform:e})}var An=l("ZodOptional",(e,t)=>{an.init(e,t),T.init(e,t),e._zod.processJSONSchema=(n,r,o)=>vn(e,n,r,o),e.unwrap=()=>e._zod.def.innerType});function En(e){return new An({type:"optional",innerType:e})}var eu=l("ZodExactOptional",(e,t)=>{Ls.init(e,t),T.init(e,t),e._zod.processJSONSchema=(n,r,o)=>vn(e,n,r,o),e.unwrap=()=>e._zod.def.innerType});function tu(e){return new eu({type:"optional",innerType:e})}var nu=l("ZodNullable",(e,t)=>{Ns.init(e,t),T.init(e,t),e._zod.processJSONSchema=(n,r,o)=>Ga(e,n,r,o),e.unwrap=()=>e._zod.def.innerType});function Tn(e){return new nu({type:"nullable",innerType:e})}var ru=l("ZodDefault",(e,t)=>{js.init(e,t),T.init(e,t),e._zod.processJSONSchema=(n,r,o)=>Ya(e,n,r,o),e.unwrap=()=>e._zod.def.innerType,e.removeDefault=e.unwrap});function ou(e,t){return new ru({type:"default",innerType:e,get defaultValue(){return typeof t=="function"?t():Ft(t)}})}var iu=l("ZodPrefault",(e,t)=>{qs.init(e,t),T.init(e,t),e._zod.processJSONSchema=(n,r,o)=>Xa(e,n,r,o),e.unwrap=()=>e._zod.def.innerType});function su(e,t){return new iu({type:"prefault",innerType:e,get defaultValue(){return typeof t=="function"?t():Ft(t)}})}var $n=l("ZodNonOptional",(e,t)=>{Ds.init(e,t),T.init(e,t),e._zod.processJSONSchema=(n,r,o)=>Ka(e,n,r,o),e.unwrap=()=>e._zod.def.innerType});function au(e,t){return new $n({type:"nonoptional",innerType:e,...y(t)})}var cu=l("ZodCatch",(e,t)=>{Us.init(e,t),T.init(e,t),e._zod.processJSONSchema=(n,r,o)=>ec(e,n,r,o),e.unwrap=()=>e._zod.def.innerType,e.removeCatch=e.unwrap});function uu(e,t){return new cu({type:"catch",innerType:e,catchValue:typeof t=="function"?t:()=>t})}var lu=l("ZodPipe",(e,t)=>{Bs.init(e,t),T.init(e,t),e._zod.processJSONSchema=(n,r,o)=>tc(e,n,r,o),e.in=t.in,e.out=t.out});function In(e,t){return new lu({type:"pipe",in:e,out:t})}var du=l("ZodReadonly",(e,t)=>{Ms.init(e,t),T.init(e,t),e._zod.processJSONSchema=(n,r,o)=>nc(e,n,r,o),e.unwrap=()=>e._zod.def.innerType});function fu(e){return new du({type:"readonly",innerType:e})}var pu=l("ZodCustom",(e,t)=>{Fs.init(e,t),T.init(e,t),e._zod.processJSONSchema=(n,r,o)=>Fa(e,n,r,o)});function gu(e,t={}){return Za(pu,e,t)}function hu(e,t){return Ra(e,t)}var mu=de({title:G(),type:G(),payload:Xe().optional()}),yu=de({label:G(),action:mu,variant:tt(["primary","outline","ghost"]).optional()}),_u=de({orientation:tt(["horizontal","vertical"]).optional(),wrap:Mc().optional()}),vu=de({placeholder:zn([G(),Sn(G())]).optional(),ctaLabel:G().optional()}),bu=de({text:G()}),wu={components:{ActionButton:{schema:yu,description:"A single clickable QNA action button."},ButtonRow:{schema:_u,description:"Container for a group of QNA action buttons."},TextInput:{schema:vu,description:"Free-text input with rotating placeholder and CTA button."},QuestionHeading:{schema:bu,description:"A heading displayed above the QNA button group."}}};M.GengageQNA=Nt,M.createDefaultQnaUISpecRegistry=Pt,M.createQNAWidget=Qo,M.defaultQnaUnknownUISpecRenderer=Me,M.qnaCatalog=wu,M.renderQnaUISpec=Ct})(this.Gengage=this.Gengage||{});
111
+ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.`)}for(const s of e.seen.entries()){const a=s[1];if(t===s[0]){i(s);continue}if(e.external){const c=e.external.registry.get(s[0])?.id;if(t!==s[0]&&c){i(s);continue}}if(e.metadataRegistry.get(s[0])?.id){i(s);continue}if(a.cycle){i(s);continue}if(a.count>1&&e.reused==="ref"){i(s);continue}}}function _n(e,t){const n=e.seen.get(t);if(!n)throw new Error("Unprocessed schema. This is a bug in Zod.");const r=a=>{const c=e.seen.get(a);if(c.ref===null)return;const u=c.def??c.schema,d={...u},f=c.ref;if(c.ref=null,f){r(f);const p=e.seen.get(f),h=p.schema;if(h.$ref&&(e.target==="draft-07"||e.target==="draft-04"||e.target==="openapi-3.0")?(u.allOf=u.allOf??[],u.allOf.push(h)):Object.assign(u,h),Object.assign(u,d),a._zod.parent===f)for(const m in u)m==="$ref"||m==="allOf"||m in d||delete u[m];if(h.$ref&&p.def)for(const m in u)m==="$ref"||m==="allOf"||m in p.def&&JSON.stringify(u[m])===JSON.stringify(p.def[m])&&delete u[m]}const g=a._zod.parent;if(g&&g!==f){r(g);const p=e.seen.get(g);if(p?.schema.$ref&&(u.$ref=p.schema.$ref,p.def))for(const h in u)h==="$ref"||h==="allOf"||h in p.def&&JSON.stringify(u[h])===JSON.stringify(p.def[h])&&delete u[h]}e.override({zodSchema:a,jsonSchema:u,path:c.path??[]})};for(const a of[...e.seen.entries()].reverse())r(a[0]);const o={};if(e.target==="draft-2020-12"?o.$schema="https://json-schema.org/draft/2020-12/schema":e.target==="draft-07"?o.$schema="http://json-schema.org/draft-07/schema#":e.target==="draft-04"?o.$schema="http://json-schema.org/draft-04/schema#":e.target,e.external?.uri){const a=e.external.registry.get(t)?.id;if(!a)throw new Error("Schema is missing an `id` property");o.$id=e.external.uri(a)}Object.assign(o,n.def??n.schema);const i=e.metadataRegistry.get(t)?.id;i!==void 0&&o.id===i&&delete o.id;const s=e.external?.defs??{};for(const a of e.seen.entries()){const c=a[1];c.def&&c.defId&&(c.def.id===c.defId&&delete c.def.id,s[c.defId]=c.def)}e.external||Object.keys(s).length>0&&(e.target==="draft-2020-12"?o.$defs=s:o.definitions=s);try{const a=JSON.parse(JSON.stringify(o));return Object.defineProperty(a,"~standard",{value:{...t["~standard"],jsonSchema:{input:Te(t,"input",e.processors),output:Te(t,"output",e.processors)}},enumerable:!1,writable:!1}),a}catch{throw new Error("Error converting schema to JSON.")}}function x(e,t){const n=t??{seen:new Set};if(n.seen.has(e))return!1;n.seen.add(e);const r=e._zod.def;if(r.type==="transform")return!0;if(r.type==="array")return x(r.element,n);if(r.type==="set")return x(r.valueType,n);if(r.type==="lazy")return x(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 x(r.innerType,n);if(r.type==="intersection")return x(r.left,n)||x(r.right,n);if(r.type==="record"||r.type==="map")return x(r.keyType,n)||x(r.valueType,n);if(r.type==="pipe")return e._zod.traits.has("$ZodCodec")?!0:x(r.in,n)||x(r.out,n);if(r.type==="object"){for(const o in r.shape)if(x(r.shape[o],n))return!0;return!1}if(r.type==="union"){for(const o of r.options)if(x(o,n))return!0;return!1}if(r.type==="tuple"){for(const o of r.items)if(x(o,n))return!0;return!!(r.rest&&x(r.rest,n))}return!1}var Na=(e,t={})=>n=>{const r=mn({...n,processors:t});return $(e,r),yn(r,e),_n(r,e)},Te=(e,t,n={})=>r=>{const{libraryOptions:o,target:i}=r??{},s=mn({...o??{},target:i,io:t,processors:n});return $(e,s),yn(s,e),_n(s,e)},ja={guid:"uuid",url:"uri",datetime:"date-time",json_string:"json-string",regex:""},qa=(e,t,n,r)=>{const o=n;o.type="string";const{minimum:i,maximum:s,format:a,patterns:c,contentEncoding:u}=e._zod.bag;if(typeof i=="number"&&(o.minLength=i),typeof s=="number"&&(o.maxLength=s),a&&(o.format=ja[a]??a,o.format===""&&delete o.format,a==="time"&&delete o.format),u&&(o.contentEncoding=u),c&&c.size>0){const d=[...c];d.length===1?o.pattern=d[0].source:d.length>1&&(o.allOf=[...d.map(f=>({...t.target==="draft-07"||t.target==="draft-04"||t.target==="openapi-3.0"?{type:"string"}:{},pattern:f.source}))])}},Da=(e,t,n,r)=>{n.type="boolean"},Ua=(e,t,n,r)=>{n.not={}},Ba=(e,t,n,r)=>{},Ma=(e,t,n,r)=>{const o=e._zod.def,i=Dt(o.entries);i.every(s=>typeof s=="number")&&(n.type="number"),i.every(s=>typeof s=="string")&&(n.type="string"),n.enum=i},Fa=(e,t,n,r)=>{if(t.unrepresentable==="throw")throw new Error("Custom types cannot be represented in JSON Schema")},Ha=(e,t,n,r)=>{if(t.unrepresentable==="throw")throw new Error("Transforms cannot be represented in JSON Schema")},Ja=(e,t,n,r)=>{const o=n,i=e._zod.def,{minimum:s,maximum:a}=e._zod.bag;typeof s=="number"&&(o.minItems=s),typeof a=="number"&&(o.maxItems=a),o.type="array",o.items=$(i.element,t,{...r,path:[...r.path,"items"]})},Qa=(e,t,n,r)=>{const o=n,i=e._zod.def;o.type="object",o.properties={};const s=i.shape;for(const u in s)o.properties[u]=$(s[u],t,{...r,path:[...r.path,"properties",u]});const a=new Set(Object.keys(s)),c=new Set([...a].filter(u=>{const d=i.shape[u]._zod;return t.io==="input"?d.optin===void 0:d.optout===void 0}));c.size>0&&(o.required=Array.from(c)),i.catchall?._zod.def.type==="never"?o.additionalProperties=!1:i.catchall?i.catchall&&(o.additionalProperties=$(i.catchall,t,{...r,path:[...r.path,"additionalProperties"]})):t.io==="output"&&(o.additionalProperties=!1)},Wa=(e,t,n,r)=>{const o=e._zod.def,i=o.inclusive===!1,s=o.options.map((a,c)=>$(a,t,{...r,path:[...r.path,i?"oneOf":"anyOf",c]}));i?n.oneOf=s:n.anyOf=s},Va=(e,t,n,r)=>{const o=e._zod.def,i=$(o.left,t,{...r,path:[...r.path,"allOf",0]}),s=$(o.right,t,{...r,path:[...r.path,"allOf",1]}),a=c=>"allOf"in c&&Object.keys(c).length===1;n.allOf=[...a(i)?i.allOf:[i],...a(s)?s.allOf:[s]]},Ga=(e,t,n,r)=>{const o=e._zod.def,i=$(o.innerType,t,r),s=t.seen.get(e);t.target==="openapi-3.0"?(s.ref=o.innerType,n.nullable=!0):n.anyOf=[i,{type:"null"}]},Ka=(e,t,n,r)=>{const o=e._zod.def;$(o.innerType,t,r);const i=t.seen.get(e);i.ref=o.innerType},Ya=(e,t,n,r)=>{const o=e._zod.def;$(o.innerType,t,r);const i=t.seen.get(e);i.ref=o.innerType,n.default=JSON.parse(JSON.stringify(o.defaultValue))},Xa=(e,t,n,r)=>{const o=e._zod.def;$(o.innerType,t,r);const i=t.seen.get(e);i.ref=o.innerType,t.io==="input"&&(n._prefault=JSON.parse(JSON.stringify(o.defaultValue)))},ec=(e,t,n,r)=>{const o=e._zod.def;$(o.innerType,t,r);const i=t.seen.get(e);i.ref=o.innerType;let s;try{s=o.catchValue(void 0)}catch{throw new Error("Dynamic catch values are not supported in JSON Schema")}n.default=s},tc=(e,t,n,r)=>{const o=e._zod.def,i=o.in._zod.traits.has("$ZodTransform"),s=t.io==="input"?i?o.out:o.in:o.out;$(s,t,r);const a=t.seen.get(e);a.ref=s},nc=(e,t,n,r)=>{const o=e._zod.def;$(o.innerType,t,r);const i=t.seen.get(e);i.ref=o.innerType,n.readOnly=!0},vn=(e,t,n,r)=>{const o=e._zod.def;$(o.innerType,t,r);const i=t.seen.get(e);i.ref=o.innerType},rc=l("ZodISODateTime",(e,t)=>{fs.init(e,t),z.init(e,t)});function oc(e){return ha(rc,e)}var ic=l("ZodISODate",(e,t)=>{ps.init(e,t),z.init(e,t)});function sc(e){return ma(ic,e)}var ac=l("ZodISOTime",(e,t)=>{gs.init(e,t),z.init(e,t)});function cc(e){return ya(ac,e)}var uc=l("ZodISODuration",(e,t)=>{hs.init(e,t),z.init(e,t)});function lc(e){return _a(uc,e)}var dc=(e,t)=>{Qt.init(e,t),e.name="ZodError",Object.defineProperties(e,{format:{value:n=>ai(e,n)},flatten:{value:n=>si(e,n)},addIssue:{value:n=>{e.issues.push(n),e.message=JSON.stringify(e.issues,Fe,2)}},addIssues:{value:n=>{e.issues.push(...n),e.message=JSON.stringify(e.issues,Fe,2)}},isEmpty:{get(){return e.issues.length===0}}})},Z=l("ZodError",dc,{Parent:Error}),fc=Ve(Z),pc=Ge(Z),gc=we(Z),hc=ke(Z),mc=li(Z),yc=di(Z),_c=fi(Z),vc=pi(Z),bc=gi(Z),wc=hi(Z),kc=mi(Z),Sc=yi(Z),bn=new WeakMap;function $e(e,t,n){const r=Object.getPrototypeOf(e);let o=bn.get(r);if(o||(o=new Set,bn.set(r,o)),!o.has(t)){o.add(t);for(const i in n){const s=n[i];Object.defineProperty(r,i,{configurable:!0,enumerable:!1,get(){const a=s.bind(this);return Object.defineProperty(this,i,{configurable:!0,writable:!0,enumerable:!0,value:a}),a},set(a){Object.defineProperty(this,i,{configurable:!0,writable:!0,enumerable:!0,value:a})}})}}}var T=l("ZodType",(e,t)=>(E.init(e,t),Object.assign(e["~standard"],{jsonSchema:{input:Te(e,"input"),output:Te(e,"output")}}),e.toJSONSchema=Na(e,{}),e.def=t,e.type=t.type,Object.defineProperty(e,"_def",{value:t}),e.parse=(n,r)=>fc(e,n,r,{callee:e.parse}),e.safeParse=(n,r)=>gc(e,n,r),e.parseAsync=async(n,r)=>pc(e,n,r,{callee:e.parseAsync}),e.safeParseAsync=async(n,r)=>hc(e,n,r),e.spa=e.safeParseAsync,e.encode=(n,r)=>mc(e,n,r),e.decode=(n,r)=>yc(e,n,r),e.encodeAsync=async(n,r)=>_c(e,n,r),e.decodeAsync=async(n,r)=>vc(e,n,r),e.safeEncode=(n,r)=>bc(e,n,r),e.safeDecode=(n,r)=>wc(e,n,r),e.safeEncodeAsync=async(n,r)=>kc(e,n,r),e.safeDecodeAsync=async(n,r)=>Sc(e,n,r),$e(e,"ZodType",{check(...n){const r=this.def;return this.clone(U(r,{checks:[...r.checks??[],...n.map(o=>typeof o=="function"?{_zod:{check:o,def:{check:"custom"},onattach:[]}}:o)]}),{parent:!0})},with(...n){return this.check(...n)},clone(n,r){return B(this,n,r)},brand(){return this},register(n,r){return n.add(this,r),this},refine(n,r){return this.check(gu(n,r))},superRefine(n,r){return this.check(hu(n,r))},overwrite(n){return this.check(ee(n))},optional(){return En(this)},exactOptional(){return tu(this)},nullable(){return Tn(this)},nullish(){return En(Tn(this))},nonoptional(n){return au(this,n)},array(){return Sn(this)},or(n){return zn([this,n])},and(n){return Kc(this,n)},transform(n){return In(this,Xc(n))},default(n){return ou(this,n)},prefault(n){return su(this,n)},catch(n){return uu(this,n)},pipe(n){return In(this,n)},readonly(){return fu(this)},describe(n){const r=this.clone();return le.add(r,{description:n}),r},meta(...n){if(n.length===0)return le.get(this);const r=this.clone();return le.add(r,n[0]),r},isOptional(){return this.safeParse(void 0).success},isNullable(){return this.safeParse(null).success},apply(n){return n(this)}}),Object.defineProperty(e,"description",{get(){return le.get(e)?.description},configurable:!0}),e)),wn=l("_ZodString",(e,t)=>{Ke.init(e,t),T.init(e,t),e._zod.processJSONSchema=(r,o,i)=>qa(e,r,o,i);const n=e._zod.bag;e.format=n.format??null,e.minLength=n.minimum??null,e.maxLength=n.maximum??null,$e(e,"_ZodString",{regex(...r){return this.check(ka(...r))},includes(...r){return this.check(Aa(...r))},startsWith(...r){return this.check(Ea(...r))},endsWith(...r){return this.check(Ta(...r))},min(...r){return this.check(Ee(...r))},max(...r){return this.check(gn(...r))},length(...r){return this.check(hn(...r))},nonempty(...r){return this.check(Ee(1,...r))},lowercase(r){return this.check(Sa(r))},uppercase(r){return this.check(za(r))},trim(){return this.check(Ia())},normalize(...r){return this.check($a(...r))},toLowerCase(){return this.check(Pa())},toUpperCase(){return this.check(Ca())},slugify(){return this.check(xa())}})}),zc=l("ZodString",(e,t)=>{Ke.init(e,t),wn.init(e,t),e.email=n=>e.check(Ws(Ac,n)),e.url=n=>e.check(Xs(Ec,n)),e.jwt=n=>e.check(ga(Uc,n)),e.emoji=n=>e.check(ea(Tc,n)),e.guid=n=>e.check(pn(kn,n)),e.uuid=n=>e.check(Vs(Ie,n)),e.uuidv4=n=>e.check(Gs(Ie,n)),e.uuidv6=n=>e.check(Ks(Ie,n)),e.uuidv7=n=>e.check(Ys(Ie,n)),e.nanoid=n=>e.check(ta($c,n)),e.guid=n=>e.check(pn(kn,n)),e.cuid=n=>e.check(na(Ic,n)),e.cuid2=n=>e.check(ra(Pc,n)),e.ulid=n=>e.check(oa(Cc,n)),e.base64=n=>e.check(da(jc,n)),e.base64url=n=>e.check(fa(qc,n)),e.xid=n=>e.check(ia(xc,n)),e.ksuid=n=>e.check(sa(Oc,n)),e.ipv4=n=>e.check(aa(Zc,n)),e.ipv6=n=>e.check(ca(Rc,n)),e.cidrv4=n=>e.check(ua(Lc,n)),e.cidrv6=n=>e.check(la(Nc,n)),e.e164=n=>e.check(pa(Dc,n)),e.datetime=n=>e.check(oc(n)),e.date=n=>e.check(sc(n)),e.time=n=>e.check(cc(n)),e.duration=n=>e.check(lc(n))});function G(e){return Qs(zc,e)}var z=l("ZodStringFormat",(e,t)=>{S.init(e,t),wn.init(e,t)}),Ac=l("ZodEmail",(e,t)=>{rs.init(e,t),z.init(e,t)}),kn=l("ZodGUID",(e,t)=>{ts.init(e,t),z.init(e,t)}),Ie=l("ZodUUID",(e,t)=>{ns.init(e,t),z.init(e,t)}),Ec=l("ZodURL",(e,t)=>{os.init(e,t),z.init(e,t)}),Tc=l("ZodEmoji",(e,t)=>{is.init(e,t),z.init(e,t)}),$c=l("ZodNanoID",(e,t)=>{ss.init(e,t),z.init(e,t)}),Ic=l("ZodCUID",(e,t)=>{as.init(e,t),z.init(e,t)}),Pc=l("ZodCUID2",(e,t)=>{cs.init(e,t),z.init(e,t)}),Cc=l("ZodULID",(e,t)=>{us.init(e,t),z.init(e,t)}),xc=l("ZodXID",(e,t)=>{ls.init(e,t),z.init(e,t)}),Oc=l("ZodKSUID",(e,t)=>{ds.init(e,t),z.init(e,t)}),Zc=l("ZodIPv4",(e,t)=>{ms.init(e,t),z.init(e,t)}),Rc=l("ZodIPv6",(e,t)=>{ys.init(e,t),z.init(e,t)}),Lc=l("ZodCIDRv4",(e,t)=>{_s.init(e,t),z.init(e,t)}),Nc=l("ZodCIDRv6",(e,t)=>{vs.init(e,t),z.init(e,t)}),jc=l("ZodBase64",(e,t)=>{bs.init(e,t),z.init(e,t)}),qc=l("ZodBase64URL",(e,t)=>{ks.init(e,t),z.init(e,t)}),Dc=l("ZodE164",(e,t)=>{Ss.init(e,t),z.init(e,t)}),Uc=l("ZodJWT",(e,t)=>{As.init(e,t),z.init(e,t)}),Bc=l("ZodBoolean",(e,t)=>{Es.init(e,t),T.init(e,t),e._zod.processJSONSchema=(n,r,o)=>Da(e,n,r,o)});function Mc(e){return va(Bc,e)}var Fc=l("ZodUnknown",(e,t)=>{Ts.init(e,t),T.init(e,t),e._zod.processJSONSchema=(n,r,o)=>Ba(e,n,r,o)});function Xe(){return ba(Fc)}var Hc=l("ZodNever",(e,t)=>{$s.init(e,t),T.init(e,t),e._zod.processJSONSchema=(n,r,o)=>Ua(e,n,r,o)});function Jc(e){return wa(Hc,e)}var Qc=l("ZodArray",(e,t)=>{Is.init(e,t),T.init(e,t),e._zod.processJSONSchema=(n,r,o)=>Ja(e,n,r,o),e.element=t.element,$e(e,"ZodArray",{min(n,r){return this.check(Ee(n,r))},nonempty(n){return this.check(Ee(1,n))},max(n,r){return this.check(gn(n,r))},length(n,r){return this.check(hn(n,r))},unwrap(){return this.element}})});function Sn(e,t){return Oa(Qc,e,t)}var Wc=l("ZodObject",(e,t)=>{Cs.init(e,t),T.init(e,t),e._zod.processJSONSchema=(n,r,o)=>Qa(e,n,r,o),b(e,"shape",()=>t.shape),$e(e,"ZodObject",{keyof(){return tt(Object.keys(this._zod.def.shape))},catchall(n){return this.clone({...this._zod.def,catchall:n})},passthrough(){return this.clone({...this._zod.def,catchall:Xe()})},loose(){return this.clone({...this._zod.def,catchall:Xe()})},strict(){return this.clone({...this._zod.def,catchall:Jc()})},strip(){return this.clone({...this._zod.def,catchall:void 0})},extend(n){return ei(this,n)},safeExtend(n){return ti(this,n)},merge(n){return ni(this,n)},pick(n){return Yo(this,n)},omit(n){return Xo(this,n)},partial(...n){return ri(An,this,n[0])},required(...n){return oi($n,this,n[0])}})});function de(e,t){return new Wc({type:"object",shape:e??{},...y(t)})}var Vc=l("ZodUnion",(e,t)=>{xs.init(e,t),T.init(e,t),e._zod.processJSONSchema=(n,r,o)=>Wa(e,n,r,o),e.options=t.options});function zn(e,t){return new Vc({type:"union",options:e,...y(t)})}var Gc=l("ZodIntersection",(e,t)=>{Os.init(e,t),T.init(e,t),e._zod.processJSONSchema=(n,r,o)=>Va(e,n,r,o)});function Kc(e,t){return new Gc({type:"intersection",left:e,right:t})}var et=l("ZodEnum",(e,t)=>{Zs.init(e,t),T.init(e,t),e._zod.processJSONSchema=(r,o,i)=>Ma(e,r,o,i),e.enum=t.entries,e.options=Object.values(t.entries);const n=new Set(Object.keys(t.entries));e.extract=(r,o)=>{const i={};for(const s of r)if(n.has(s))i[s]=t.entries[s];else throw new Error(`Key ${s} not found in enum`);return new et({...t,checks:[],...y(o),entries:i})},e.exclude=(r,o)=>{const i={...t.entries};for(const s of r)if(n.has(s))delete i[s];else throw new Error(`Key ${s} not found in enum`);return new et({...t,checks:[],...y(o),entries:i})}});function tt(e,t){return new et({type:"enum",entries:Array.isArray(e)?Object.fromEntries(e.map(n=>[n,n])):e,...y(t)})}var Yc=l("ZodTransform",(e,t)=>{Rs.init(e,t),T.init(e,t),e._zod.processJSONSchema=(n,r,o)=>Ha(e,n,r,o),e._zod.parse=(n,r)=>{if(r.direction==="backward")throw new qt(e.constructor.name);n.addIssue=i=>{if(typeof i=="string")n.issues.push(ue(i,n.value,t));else{const s=i;s.fatal&&(s.continue=!1),s.code??(s.code="custom"),s.input??(s.input=n.value),s.inst??(s.inst=e),n.issues.push(ue(s))}};const o=t.transform(n.value,n);return o instanceof Promise?o.then(i=>(n.value=i,n.fallback=!0,n)):(n.value=o,n.fallback=!0,n)}});function Xc(e){return new Yc({type:"transform",transform:e})}var An=l("ZodOptional",(e,t)=>{an.init(e,t),T.init(e,t),e._zod.processJSONSchema=(n,r,o)=>vn(e,n,r,o),e.unwrap=()=>e._zod.def.innerType});function En(e){return new An({type:"optional",innerType:e})}var eu=l("ZodExactOptional",(e,t)=>{Ls.init(e,t),T.init(e,t),e._zod.processJSONSchema=(n,r,o)=>vn(e,n,r,o),e.unwrap=()=>e._zod.def.innerType});function tu(e){return new eu({type:"optional",innerType:e})}var nu=l("ZodNullable",(e,t)=>{Ns.init(e,t),T.init(e,t),e._zod.processJSONSchema=(n,r,o)=>Ga(e,n,r,o),e.unwrap=()=>e._zod.def.innerType});function Tn(e){return new nu({type:"nullable",innerType:e})}var ru=l("ZodDefault",(e,t)=>{js.init(e,t),T.init(e,t),e._zod.processJSONSchema=(n,r,o)=>Ya(e,n,r,o),e.unwrap=()=>e._zod.def.innerType,e.removeDefault=e.unwrap});function ou(e,t){return new ru({type:"default",innerType:e,get defaultValue(){return typeof t=="function"?t():Ft(t)}})}var iu=l("ZodPrefault",(e,t)=>{qs.init(e,t),T.init(e,t),e._zod.processJSONSchema=(n,r,o)=>Xa(e,n,r,o),e.unwrap=()=>e._zod.def.innerType});function su(e,t){return new iu({type:"prefault",innerType:e,get defaultValue(){return typeof t=="function"?t():Ft(t)}})}var $n=l("ZodNonOptional",(e,t)=>{Ds.init(e,t),T.init(e,t),e._zod.processJSONSchema=(n,r,o)=>Ka(e,n,r,o),e.unwrap=()=>e._zod.def.innerType});function au(e,t){return new $n({type:"nonoptional",innerType:e,...y(t)})}var cu=l("ZodCatch",(e,t)=>{Us.init(e,t),T.init(e,t),e._zod.processJSONSchema=(n,r,o)=>ec(e,n,r,o),e.unwrap=()=>e._zod.def.innerType,e.removeCatch=e.unwrap});function uu(e,t){return new cu({type:"catch",innerType:e,catchValue:typeof t=="function"?t:()=>t})}var lu=l("ZodPipe",(e,t)=>{Bs.init(e,t),T.init(e,t),e._zod.processJSONSchema=(n,r,o)=>tc(e,n,r,o),e.in=t.in,e.out=t.out});function In(e,t){return new lu({type:"pipe",in:e,out:t})}var du=l("ZodReadonly",(e,t)=>{Ms.init(e,t),T.init(e,t),e._zod.processJSONSchema=(n,r,o)=>nc(e,n,r,o),e.unwrap=()=>e._zod.def.innerType});function fu(e){return new du({type:"readonly",innerType:e})}var pu=l("ZodCustom",(e,t)=>{Fs.init(e,t),T.init(e,t),e._zod.processJSONSchema=(n,r,o)=>Fa(e,n,r,o)});function gu(e,t={}){return Za(pu,e,t)}function hu(e,t){return Ra(e,t)}var mu=de({title:G(),type:G(),payload:Xe().optional()}),yu=de({label:G(),action:mu,variant:tt(["primary","outline","ghost"]).optional()}),_u=de({orientation:tt(["horizontal","vertical"]).optional(),wrap:Mc().optional()}),vu=de({placeholder:zn([G(),Sn(G())]).optional(),ctaLabel:G().optional()}),bu=de({text:G()}),wu={components:{ActionButton:{schema:yu,description:"A single clickable QNA action button."},ButtonRow:{schema:_u,description:"Container for a group of QNA action buttons."},TextInput:{schema:vu,description:"Free-text input with rotating placeholder and CTA button."},QuestionHeading:{schema:bu,description:"A heading displayed above the QNA button group."}}};M.GengageQNA=Nt,M.createDefaultQnaUISpecRegistry=Pt,M.createQNAWidget=Qo,M.defaultQnaUnknownUISpecRenderer=Me,M.qnaCatalog=wu,M.renderQnaUISpec=Ct})(this.Gengage=this.Gengage||{});