@gengage/assistant-fe 0.6.36 → 0.6.38

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 (36) hide show
  1. package/dist/chat/catalog.d.ts +13 -0
  2. package/dist/chat/components/InlineQuestionButtons.d.ts +3 -0
  3. package/dist/chat/runtime.d.ts +2 -0
  4. package/dist/chat/types.d.ts +14 -0
  5. package/dist/{chat-CIfQyuBl.js → chat-CJzuUZxy.js} +42 -38
  6. package/dist/chat-runtime.js +1 -1
  7. package/dist/chat.iife.js +21 -21
  8. package/dist/chat.js +2 -2
  9. package/dist/common/overlay.d.ts +2 -0
  10. package/dist/common/transport.d.ts +1 -0
  11. package/dist/{common-ByXFSuDh.js → common-BepNMlcD.js} +2 -2
  12. package/dist/common.js +7 -7
  13. package/dist/{connection-warning-ChSjBT_4.js → connection-warning-cL8ugEzc.js} +1 -1
  14. package/dist/{fastIntent-B9AE8K30.js → fastIntent-CT6Y3Nc5.js} +1 -1
  15. package/dist/index.js +12 -12
  16. package/dist/{native-webview-BcwGKkDe.js → native-webview-Ch9lsx7E.js} +1 -1
  17. package/dist/native.iife.js +18 -18
  18. package/dist/native.js +1 -1
  19. package/dist/{overlay-cF2SjxYU.js → overlay-CPLLn1eK.js} +7 -7
  20. package/dist/overlay.js +1 -1
  21. package/dist/qna-runtime.js +1 -1
  22. package/dist/qna.iife.js +8 -8
  23. package/dist/qna.js +1 -1
  24. package/dist/{request-response-cache-D6O2m-O-.js → request-response-cache-DG7cyJoj.js} +240 -214
  25. package/dist/{runtime-YKSfwMAr.js → runtime-Doqy3tpm.js} +1053 -1013
  26. package/dist/{runtime-aR-A6Jh2.js → runtime-P4cDEO6v.js} +3 -3
  27. package/dist/{runtime-CCQGaWOq.js → runtime-sfPDgpLA.js} +3 -3
  28. package/dist/{simbut-BCKrXmkh.js → simbut-BPr1MH0y.js} +1 -1
  29. package/dist/simbut.iife.js +1 -1
  30. package/dist/simbut.js +1 -1
  31. package/dist/{simrel-CSlprSEe.js → simrel-C-Y8YCZt.js} +1 -1
  32. package/dist/simrel-runtime.js +1 -1
  33. package/dist/simrel.iife.js +9 -9
  34. package/dist/simrel.js +2 -2
  35. package/dist/{widget-base-CmxCHKJi.js → widget-base-2pgQZGMX.js} +1 -1
  36. package/package.json +1 -1
package/dist/qna.iife.js CHANGED
@@ -1,4 +1,4 @@
1
- (function(M){Object.defineProperty(M,Symbol.toStringTag,{value:"Module"});var $n=({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 In(e){const t=document.createElement("div");if(t.className=e.containerClassName,!e.spec.elements[e.spec.root])return t;const n=e.unknownRenderer??$n,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 Pn(e,t){if(!t)return e;const n={...e};for(const[r,o]of Object.entries(t))o&&(n[r]=o);return n}var Cn=["http:","https:"];function xn(e){const t=e.trim();if(!t)return!1;if(t.startsWith("/")&&!t.startsWith("//"))return!0;try{return Cn.includes(new URL(t).protocol)}catch{return!1}}function On(){return typeof window<"u"&&Array.isArray(window.dataLayer)}function Ee(e,t){const n={event:e,...t};On()&&window.dataLayer.push(n)}function Zn(e){Ee("gengage-on-init",{gengage_widget:e})}function Rn(e){Ee("gengage-show",{gengage_widget:e})}function Ln(e,t){Ee("gengage-suggested-question",{gengage_question_title:e,gengage_action_type:t})}function Te(e,t){window.dispatchEvent(new CustomEvent(e,{detail:t,bubbles:!1}))}function et(e,t){const n=r=>{t(r.detail)};return window.addEventListener(e,n),()=>window.removeEventListener(e,n)}function Nn(){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 qn(e){return{sessionId:e?.sessionId??Nn(),...e}}var tt={"--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 jn(e){if(!e)return{...tt};const t={...tt,...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",nt="gengage-global-toast-style",$e="gengage-global-toast-root--visible",Dn=4200,Un=1500,Bn=15e3,Mn=["--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"],rt=!1,F=null,Fn=[/failed to fetch/i,/networkerror/i,/network request failed/i,/load failed/i,/err_network/i,/fetch failed/i,/network error/i];function ot(e){return typeof e=="string"&&e.toLowerCase().startsWith("tr")}function Hn(e){if(typeof navigator<"u"&&navigator.onLine===!1)return!0;const t=e instanceof Error?e.message.trim():"";return t?Fn.some(n=>n.test(t)):!1}function Jn(e,t){return Hn(t)?ot(e)?"Bağlantı sorunu oluştu. Lütfen tekrar deneyin.":"Connection issue. Please try again.":ot(e)?"Bir hata oluştu. Lütfen tekrar deneyin.":"Something went wrong. Please try again."}function Qn(){rt||typeof window>"u"||typeof document>"u"||(rt=!0,et("gengage:global:error",e=>{Ie(e)}))}function Ie(e){if(typeof document>"u")return;const t=e.message.trim();if(!t)return;Yn();const n=Vn();Gn(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=Wn(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($e),F&&(clearTimeout(F),F=null),e.sticky!==!0&&(F=setTimeout(()=>{it()},Kn(e.durationMs)))}function it(){if(typeof document>"u")return;const e=document.getElementById(D);e&&(e.classList.remove($e),e.innerHTML="",F&&(clearTimeout(F),F=null))}function Wn(e){switch(e){case"chat":return"Chat warning";case"qna":return"QnA warning";case"simrel":return"Widget warning";default:return"Connection warning"}}function Vn(){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 Gn(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 Mn){const o=n.getPropertyValue(r).trim();o?e.style.setProperty(r,o):e.style.removeProperty(r)}}function Kn(e){return typeof e!="number"||!Number.isFinite(e)?Dn:Math.min(Bn,Math.max(Un,Math.round(e)))}function Yn(){if(document.getElementById(nt))return;const e=document.createElement("style");e.id=nt;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 Te(e,t){const n={event:e,...t};Nn()&&window.dataLayer.push(n)}function jn(e){Te("gengage-on-init",{gengage_widget:e})}function qn(e){Te("gengage-show",{gengage_widget:e})}function Dn(e,t){Te("gengage-suggested-question",{gengage_question_title:e,gengage_action_type:t})}function $e(e,t){window.dispatchEvent(new CustomEvent(e,{detail:t,bubbles:!1}))}function tt(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 nt={"--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{...nt};const t={...nt,...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",rt="gengage-global-toast-style",Ie="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"],ot=!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 it(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)?it(e)?"Bağlantı sorunu oluştu. Lütfen tekrar deneyin.":"Connection issue. Please try again.":it(e)?"Bir hata oluştu. Lütfen tekrar deneyin.":"Something went wrong. Please try again."}function Kn(){ot||typeof window>"u"||typeof document>"u"||(ot=!0,tt("gengage:global:error",e=>{Pe(e)}))}function Pe(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(Ie),F&&(clearTimeout(F),F=null),e.sticky!==!0&&(F=setTimeout(()=>{st()},tr(e.durationMs)))}function st(){if(typeof document>"u")return;const e=document.getElementById(D);e&&(e.classList.remove(Ie),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(rt))return;const e=document.createElement("style");e.id=rt;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;
@@ -6,7 +6,7 @@
6
6
  z-index: 2147483646;
7
7
  pointer-events: none;
8
8
  }
9
- #${D}.${$e} {
9
+ #${D}.${Ie} {
10
10
  pointer-events: auto;
11
11
  }
12
12
  #${D} .gengage-global-toast {
@@ -44,10 +44,10 @@
44
44
  transform: translateY(0);
45
45
  }
46
46
  }
47
- `,document.head.appendChild(e)}var te=null;function Xn(){if(te!==null)return te;try{te=localStorage.getItem("gengage:debug")==="1"}catch{te=!1}return te}function Pe(e,t,n){if(!Xn())return;const r=[`[gengage:${e}]`,t];n!==void 0&&r.push(n),console.debug(...r)}var er=("0.6.36".trim(),"0.6.36".trim()),tr=("iife-build".trim(),"iife-build".trim());function nr(){if(typeof window>"u")return;const e=window;e.__gengageSdkRuntimeInfoLogged||(e.__gengageSdkRuntimeInfoLogged=!0,console.info(`[gengage] @gengage/assistant-fe v${er} (${tr})`))}var rr=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=jn(e.theme);nr(),this.config={...e,theme:t,session:qn(e.session)},this.root=this._resolveMount(e.mountTarget),this._applyTheme(t),Qn();const n=et("gengage:context:update",r=>this.update(r));this._cleanups.push(n),Pe("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,Pe("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-${or(t)}`;this.root.style.setProperty(r,n)}}}};function or(e){return e.replace(/([A-Z])/g,"-$1").toLowerCase()}function st(e){const t=e?.trim();return t||"tr"}var ir=8e3,sr=5e3,ar="https://www.google.com/favicon.ico",j=new Map,at=!1,K=null,ne=null,H=!1;function cr(e){return typeof e=="string"&&e.toLowerCase().startsWith("tr")}function ct(e){return cr(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 ut(){let e;for(const t of j.values())e=t;return e}function Ce(){K&&(clearTimeout(K),K=null)}function ur(){ne&&(clearInterval(ne),ne=null)}async function lt(){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(ar,{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 ue(){H=!1,ur(),it()}function le(){K||H||j.size===0||(K=setTimeout(async()=>{K=null,!(H||j.size===0)&&!await lt()&&j.size>0&&(H=!0,Ie({source:"sdk",message:ct(ut()),sticky:!0}),ne||(ne=setInterval(async()=>{if(j.size===0){ue();return}await lt()&&(ue(),le())},sr)))},ir))}function lr(){at||typeof window>"u"||(at=!0,window.addEventListener("online",()=>{ue(),le()}),window.addEventListener("offline",()=>{j.size===0||H||(H=!0,Ce(),Ie({source:"sdk",message:ct(ut()),sticky:!0}))}))}function dr(e){lr();const t=Symbol(e.source);j.set(t,e.locale),le();let n=!1;return()=>{if(!n){if(n=!0,j.delete(t),j.size===0){Ce(),ue();return}H||(Ce(),le())}}}function dt(e){return typeof e=="object"&&e!==null&&typeof e.type=="string"}function fr(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 ft(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 dt(o)?(Pe("stream",`event: ${o.type}`,o),t.onEvent(o),o.type==="done"?(t.onDone?.(),!0):!1):!1}catch{const o=fr(r);if(o.length>1){for(const i of o)try{const s=JSON.parse(i);if(!dt(s))continue;if(t.onEvent(s),s.type==="done")return t.onDone?.(),!0}catch{}return!1}return!1}}async function pr(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(ft(h,t))return}if(o.trim()&&ft(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 gr={process_action:"/process_action",launcher_action:"/launcher_action",similar_products:"/similar_products",product_groupings:"/product_groupings"};function hr(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 mr(e,t){return`${hr(t?.middlewareUrl)}/chat${gr[e]}`}var pt=3,yr=(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():""},xe=(e,t)=>e?e.split(/[•,;:/()]|(?:\sve\s)|(?:\sand\s)|(?:\sile\s)|(?:\sfor\s)|(?:\swith\s)/i).map(n=>yr(n,t)).filter(Boolean):[];function _r(e){const t=(e.display_keywords??[]).flatMap(o=>xe(o,{stripLeadingStopWords:!0})),n=t.filter((o,i)=>t.indexOf(o)===i);if(n.length>0)return n.slice(0,pt);const r=[...xe(e.chosen_attribute,{stripLeadingStopWords:!0}),...xe(e.short_name)];return r.filter((o,i)=>r.indexOf(o)===i).slice(0,pt)}function vr(e){return _r(e).join(" • ")}function br(e){return e==="beauty_consulting"||e==="account_expert"}function Oe(...e){for(const t of e){if(typeof t!="string")continue;const n=t.trim();if(n.length>0)return n}}function Ze(e){return Array.isArray(e)?e.filter(t=>typeof t=="string"&&t.trim().length>0).map(t=>t.trim()):[]}function gt(e){const t={...e},n=Oe(t.sku),r=Ze(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=Oe(t.image_url);o?t.image_url=o:delete t.image_url}return t}function wr(e){if(typeof e.type!="string")return null;if(kr(e))return e;const t=e;switch(t.type){case"outputText":return Sr(t);case"suggestedActions":return zr(t);case"productList":return Ar(t);case"productDetails":return Er(t);case"productDetailsSimilars":return Tr(t);case"comparisonTable":return $r(t);case"context":return xr(t);case"chatStreamEnd":return Or();case"loading":return Zr(t);case"panelLoading":return Rr(t);case"similarLoading":return Lr(t);case"redirect":return Nr(t);case"error":return qr(t);case"dummy":return jr(t);case"launcherAction":return Dr(t);case"text":return Re(t);case"productItem":return Ur(t);case"text_image":return ht(t);case"quick_qna":return mt(t);case"reviewHighlights":return Br(t);case"aiProductSuggestions":return Hr(t);case"aiProductGroupings":return Jr(t);case"aiSuggestedSearches":return Wr(t);case"prosAndCons":return Mr(t);case"getGroundingReview":return Vr(t);case"voice":return Kr(t);case"visitorDataResponse":return Fr(t);case"productListPreview":return Gr();case"groupList":return Yr(t);case"formGetInfo":case"formTestDrive":case"formServiceRequest":case"launchFormPage":return Xr(t);case"launcherContent":return to(t);case"handoff":return eo(t);case"uiSpec":return uo(t);default:return null}}function kr(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 Sr(e){const t=v(e.payload.text,e.payload.plain_text)??"",n=v(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 zr(e){return yt((e.payload.actions??[]).map(t=>{const n=v(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(oe),"chat")}function Ar(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=v(a.style_label);if(!c)return null;const u=v(a.style_mood),d=v(a.image_url??void 0),p=(Array.isArray(a.product_list)?a.product_list:[]).map(f=>{const h=C(f);return h?qe(C(h.product_detail)??C(h.product)??h):null}).filter(oe),g=Array.isArray(a.recommendation_groups)?a.recommendation_groups.map(f=>({label:v(f.label)??"",reason:v(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(oe),r=e.payload.product_list??[],o=br(e.payload.source)&&n.length>0?n[0].product_list:null,i=o?ro(o,"chat"):t.length>0?no(t,r,"chat")??Ne(r,"chat"):Ne(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 Er(e){const t=e.payload.productDetails;if(!t)return io("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 Tr(e){const t=Ne(e.payload.similarProducts??[],"chat"),n=t.spec.elements[t.spec.root];return n&&(n.props={...n.props,similarsAppend:!0}),{...t,panelHint:"panel"}}function $r(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 _ of t){const b=J(_);s.push(b)}const a=Ir(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(_=>_.sku===c)??s[0]:s[0],d=[];if(Array.isArray(r?.key_differences))for(const _ of r.key_differences)typeof _=="string"&&d.push(_);const p=_t(r?.special_considerations),g=r?.recommended_choice,f=r?.winner_hits,h={};for(const _ of s){const b=_.sku;b&&(h[b]={title:_.name??b,type:"launchSingleProduct",payload:{sku:b}})}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 Ir(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 _=p[h]??h;f.push({label:_,values:m.map(b=>typeof b=="string"?b:String(b??""))})}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:Pr(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 _=m[`${p}_short`],b=m[p];return Cr(_??b)});if(g.every(h=>h.length===0))continue;const f=c[p]??p;d.push({label:f,values:g})}return d}function Pr(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 Cr(e){return typeof e=="string"?e:typeof e=="number"||typeof e=="boolean"?String(e):""}function xr(e){return{type:"metadata",sessionId:"",model:"",meta:{panel:e.payload.panel,messages:e.payload.messages,message_id:e.payload.message_id}}}function Or(){return{type:"done"}}function Zr(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 Rr(e){return{type:"metadata",sessionId:"",model:"",meta:{loading:!0,panelLoading:!0,panelPendingType:e.payload?.pending_type,loadingText:e.payload?.text}}}function Lr(e){return{type:"metadata",sessionId:"",model:"",meta:{loading:!0,similarPanelLoading:!0,panelPendingType:e.payload?.pending_type,loadingText:e.payload?.text}}}function Nr(e){const t=v(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:v(e.payload.to)}}}function qr(e){return{type:"error",code:"BACKEND_ERROR",message:v(e.payload?.text,e.payload?.message,e.payload?.error)??"Backend returned an error"}}function jr(e){return{type:"metadata",sessionId:"",model:"",meta:{noop:!0}}}function Dr(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),mt({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),ht({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),Re({type:"text",payload:o})}return{type:"metadata",sessionId:"",model:"",meta:{launcherAction:t}}}function Re(e){const t={text:v(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 Ur(e){return oo(e.payload,"qna")}function ht(e){const t=v(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),Re({type:"text",payload:r})}function mt(e){return yt((e.payload.action_list??[]).map(t=>{const n=v(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(oe),"qna")}function Br(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 Mr(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 Fr(e){return{type:"metadata",sessionId:"",model:"",meta:{visitorDataResponse:e.payload}}}function Hr(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=so(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 Jr(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=v(i.name)??"",a=v(i.description),c=v(i.highlight),u=Array.isArray(i.labels)?_t(i.labels):[],d=v(i.sku,i.repr_sku),p=v(i.image,i.repr_image),g=Qr(i,s,d),f=(Array.isArray(i.group_products)?i.group_products:[]).map(_=>{const b=C(_);return b?qe(b):null}).filter(oe),h=p??v(...f.map(_=>_.imageUrl));if(s&&f.length>0){const _={groupName:s,products:f};h&&(_.image=h),a&&(_.description=a),c&&(_.highlight=c),u.length>0&&(_.labels=u),n.push(_)}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 Qr(e,t,n){const r=C(e.requestDetails);if(r){if(r.type!=="findSimilar")return O(r,t);const s={...C(r.payload)??{}};n&&!Oe(s.sku)&&(s.sku=n);const a=Ze(e.group_skus);return a.length>0&&(s.group_skus=a),O({...r,payload:gt(s)},t)}const o={};n&&(o.sku=n);const i=Ze(e.group_skus);return i.length>0&&(o.group_skus=i),Object.keys(o).length===0?null:O({type:"findSimilar",payload:gt(o)},t)}function Wr(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=v(o.short_name,o.chosen_attribute,o.detailed_user_message)??`Search ${r+1}`,s={},a=v(o.detailed_user_message);a&&(s.text=a);const c=C(C(o.requestDetails)?.payload),u=c?.group_skus;o.group_skus&&Array.isArray(o.group_skus)?s.group_skus=o.group_skus:Array.isArray(u)&&(s.group_skus=u.filter(b=>typeof b=="string"));const d=v(o.sku,o.representative_product_sku,c?.sku);d&&(s.sku=d),s.is_suggested_text=1;const p={type:"inputText",payload:s},g=O(o.requestDetails,i),f=g?.type==="findSimilar"&&typeof s.text=="string"?O(p,i):g??O(p,i);if(!f)continue;const h={shortName:i,action:f},m=v(o.detailed_user_message);m&&m!==i&&(h.detailedMessage=m);const _=vr(o);_&&_!==i&&_!==(m??"")&&(h.whyDifferent=_),typeof o.image=="string"&&(h.image=o.image),n.push(h)}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 Vr(e){const t=e.payload,n=O(t.requestDetails??t.request_details,v(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 Gr(){return{type:"metadata",sessionId:"",model:"",meta:{analyzeAnimation:!0}}}function Kr(e){return{type:"metadata",sessionId:"",model:"",meta:{voice:e.payload}}}function Yr(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 Xr(e){return{type:"metadata",sessionId:"",model:"",meta:{formType:e.type,formPayload:e.payload??{}}}}function eo(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 to(e){return{type:"metadata",sessionId:"",model:"",meta:{launcherContent:e.payload??{}}}}function Le(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 yt(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 Ne(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]=Le(s,o)}return n.root={type:"ProductGrid",props:{layout:"grid"},children:r},{type:"ui_spec",widget:t,spec:{root:"root",elements:n}}}function no(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=v(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 _=r.get(m);if(!_)continue;o.add(m);const b=`product-${u}-${h}`,k=J(_);s.push(b),f.push(b),i[b]=Le(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 ro(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]=Le(i,o)}return n.root={type:"ProductGrid",props:{layout:"grid"},children:r},{type:"ui_spec",widget:t,spec:{root:"root",elements:n}}}function oo(e,t){return{type:"ui_spec",widget:t,spec:{root:"root",elements:{root:{type:"ProductCard",props:{product:J(e),index:0}}}}}}function io(e){return{type:"ui_spec",widget:e,spec:{root:"root",elements:{root:{type:"ActionButtons",props:{buttons:[]},children:[]}}}}}function so(e){const t=v(e.sku),n=v(e.short_name),r={...C(e.product_item)??e},o=v(e.discount_reason,e.discountReason);return o&&!v(r.discount_reason,r.discountReason)&&(r.discount_reason=o),qe(r,t,n)}function qe(e,t,n){const r=v(e.sku,t),o=v(e.name,n);if(!r||!o)return null;const i={sku:r,name:o},s=v(e.brand);s&&(i.brand=s);const a=v(e.url);a&&(i.url=a);const c=ao(e.images);if(c.length>0)i.images=c;else{const m=v(e.image,e.image_url,e.imageUrl);m&&(i.images=[m])}const u=re(e.price_discounted);u!==void 0&&(i.price_discounted=u);const d=re(e.price);d!==void 0&&(i.price=d);const p=re(e.rating);p!==void 0&&(i.rating=p);const g=re(e.review_count)??re(e.reviewCount);g!==void 0&&(i.review_count=g);const f=v(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=v(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 v(...e){for(const t of e)if(typeof t=="string"){const n=t.trim();if(n.length>0)return n}}function ao(e){return Array.isArray(e)?e.filter(t=>typeof t=="string"&&t.length>0):[]}function _t(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 re(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 oe(e){return e!=null}var co=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=v(e.brand),s=v(e.name)??e.sku,a=i&&!s.toLowerCase().startsWith(i.toLowerCase())?`${i} ${s}`:s,c={sku:e.sku,name:a,url:v(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))co.has(f)||(p[f]=d[f],g=!0);return g&&(c.extras=p),c}function uo(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 lo=7200*1e3,vt=200,fo=5*1024*1024,po="gengage_request_response_cache",go=1,L="responses",ho=new Set(["addToCart","like"]),N=new Map,bt=null;async function mo(e,t={},n={}){const r=yo(e,t);if(!r)return fetch(e,t);const o=Date.now(),i=await vo(r,o);if(i)return ko(i);const s=await fetch(e,t);return s.ok&&bo(r,s.clone(),o,{ttlMs:n.ttlMs??lo,maxEntries:n.maxEntries??vt,maxBodyBytes:n.maxBodyBytes??fo}),s}function yo(e,t={}){if(typeof Request<"u"&&e instanceof Request)return null;const n=String(t.method||"GET").toUpperCase();return n!=="POST"||typeof t.body!="string"||_o(t.body)?null:`rr:${Io($o({url:String(e),method:n,headers:So(t.headers),body:t.body}))}`}function _o(e){try{const t=JSON.parse(e);if(!t||typeof t!="object"||Array.isArray(t))return!1;const n=t.type;return typeof n=="string"&&ho.has(n)}catch{return!1}}async function vo(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),je(n),n;const r=await Ao(e);return r?r.expiresAt<=t?(N.delete(e),Eo(e),null):(r.lastAccessedAt=t,N.set(e,r),je(r),wt(vt),r):null}async function bo(e,t,n,r){try{const o=await t.text();if(Po(o)>r.maxBodyBytes||wo(o))return;const i={key:e,status:t.status,statusText:t.statusText,headers:zo(t.headers),body:o,createdAt:n,expiresAt:n+r.ttlMs,lastAccessedAt:n};N.set(e,i),wt(r.maxEntries),await je(i),await To(r.maxEntries,n)}catch{}}function wo(e){return/"_error"\s*:/u.test(e)||/"type"\s*:\s*"error"/u.test(e)}function ko(e){return new Response(e.body,{status:e.status,statusText:e.statusText,headers:new Headers(e.headers)})}function So(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 zo(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 wt(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 de(){return typeof indexedDB>"u"?null:(bt??=new Promise(e=>{const t=indexedDB.open(po,go);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)}),bt)}async function Ao(e){const t=await de();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 je(e){const t=await de();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 Eo(e){const t=await de();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 To(e,t){const n=await de();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 $o(e){return JSON.stringify(De(e))}function De(e){return Array.isArray(e)?e.map(De):!e||typeof e!="object"?e:Object.fromEntries(Object.entries(e).sort(([t],[n])=>t.localeCompare(n)).map(([t,n])=>[t,De(n)]))}function Io(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 Po(e){return typeof TextEncoder<"u"?new TextEncoder().encode(e).byteLength:e.length}async function Co(e,t,n){const r=mr("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 mo(r,i);if(!s.ok)throw new Error(`HTTP ${s.status}: ${s.statusText}`);const a={onEvent:c=>{const u=wr(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 pr(s,a),o}function kt(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 xo(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 _=()=>{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},b=()=>{const k=r.value.trim();k&&(e.onSubmit({title:k,type:"user_message",payload:k}),r.value="",_(),g())};return h.addEventListener("click",()=>{r.value="",_(),r.focus({preventScroll:!0})}),m.addEventListener("click",b),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(_(),r.value.trim().length>0){d();return}r.placeholder=u?"":s,g()}),r.addEventListener("keydown",k=>{k.key==="Enter"&&(k.preventDefault(),b()),k.key==="Escape"&&r.value.length>0&&(r.value="",_(),g())}),f.appendChild(h),f.appendChild(m),n.appendChild(r),n.appendChild(f),t.appendChild(n),_(),g(),t._cleanup=()=>{d()},t}function fe(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 St(e){const t={title:e.title,type:e.type};return e.payload!==void 0&&(t.payload=e.payload),t}function zt(e,t){const n=[],r=e.props?.actions;if(Array.isArray(r))for(const s of r){const a=fe(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=fe(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=fe(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 At={ButtonRow:({element:e,spec:t,context:n})=>{const r=zt(e,t).map(St),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),kt(i)},ActionButtons:({element:e,spec:t,context:n})=>{const r={actions:zt(e,t).map(St),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),kt(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=fe(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),xo(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},Ue=({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 Et(){return{...At}}function Tt(e,t,n=At,r=Ue){return In({spec:e,context:t,registry:n,containerClassName:"gengage-qna-uispec",unknownRenderer:r})}function Oo(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 $t(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 Zo(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:$t(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 It=0;function Pt(){return It+=1,`gengage-merge-${It}`}function Ro(e,t){const n=e.elements[e.root];if(!n||n.type!=="ButtonRow")return;const r=Pt();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 Lo(e,t){const n=e.elements[e.root];if(!n||n.type!=="ActionButtons")return;const r=Pt();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 No(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 qo(e){return e.find(t=>{const n=t.elements[t.root];return n?.type==="ActionButtons"||n?.type==="ButtonRow"})}function Ct(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 jo(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($t(d,typeof d?.label=="string"?d.label:void 0)?.type==="findSimilar"){o.push(Ct(t,r));continue}}i.push(c)}if(o.length===0)return e;const s=Ct(t,r),a=qo(i);if(!a)return[...i,No([s])];if(!Zo(a,s.title)){const c=a.elements[a.root];c?.type==="ActionButtons"?Lo(a,s):c?.type==="ButtonRow"&&Ro(a,s)}return i}var xt={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?"},Do={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 Uo(e){return e?e.toLowerCase().split("-")[0]??"tr":"tr"}function Bo(e){return Uo(e)==="en"?Do:xt}var Ot=class extends rr{constructor(...e){super(...e),this._abortController=null,this._debounceTimer=null,this._contentEl=null,this._i18n=xt,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=st(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)),Zn("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=dr({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:st(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 Co(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),_=Oo(this.config.pageContext),b=(a.uiSpecs.length>0?jo(a.uiSpecs,this._i18n,{skuList:_}):[m]).filter(k=>Object.keys(k.elements).length>0);for(const k of b){const I=this._renderUISpec(k,f);c.appendChild(I)}b.length>0&&Rn("qna"),this._specIncludesType(b,"TextInput")||this._insertStandaloneInputBeforePills(c,f,g)}catch(o){if(o instanceof DOMException&&o.name==="AbortError")return;if(Te("gengage:global:error",{source:"qna",code:"FETCH_ERROR",message:Jn(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{...Bo(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&&xn(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 Pn(Et(),this.config.renderer?.registry)}_renderUISpec(e,t){const n=this._resolveUISpecRegistry(),r=this.config.renderer?.unknownRenderer??Ue,o=(s,a)=>Tt(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(),Ln(e.title,e.type),this.config.onActionSelected?.(e),setTimeout(()=>Te("gengage:qna:action",e),350)}_handleOpenChat(){this._showTransitionIndicator(),this.config.onOpenChat?.(),setTimeout(()=>Te("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 Mo(){return new Ot}var Zt;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.")}},Rt=class extends Error{constructor(e){super(`Encountered unidirectional transform during encode: ${e}`),this.name="ZodEncodeError"}};(Zt=globalThis).__zod_globalConfig??(Zt.__zod_globalConfig={});var pe=globalThis.__zod_globalConfig;function Q(e){return e&&Object.assign(pe,e),pe}function Lt(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 Be(e,t){return typeof t=="bigint"?t.toString():t}function Me(e){return{get value(){{const t=e();return Object.defineProperty(this,"value",{value:t}),t}throw new Error("cached value already set")}}}function Fe(e){return e==null}function He(e){const t=e.startsWith("^")?1:0,n=e.endsWith("$")?e.length-1:e.length;return e.slice(t,n)}var Nt=Symbol("evaluating");function w(e,t,n){let r;Object.defineProperty(e,t,{get(){if(r!==Nt)return r===void 0&&(r=Nt,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 qt(e){return JSON.stringify(e)}function Fo(e){return e.toLowerCase().trim().replace(/[^\w\s-]/g,"").replace(/[\s_-]+/g,"-").replace(/^-+|-+$/g,"")}var jt="captureStackTrace"in Error?Error.captureStackTrace:(...e)=>{};function ge(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}var Ho=Me(()=>{if(pe.jitless||typeof navigator<"u"&&navigator?.userAgent?.includes("Cloudflare"))return!1;try{return new Function(""),!0}catch{return!1}});function ie(e){if(ge(e)===!1)return!1;const t=e.constructor;if(t===void 0||typeof t!="function")return!0;const n=t.prototype;return!(ge(n)===!1||Object.prototype.hasOwnProperty.call(n,"isPrototypeOf")===!1)}function Dt(e){return ie(e)?{...e}:Array.isArray(e)?[...e]:e instanceof Map?new Map(e):e instanceof Set?new Set(e):e}var Jo=new Set(["string","number","symbol"]);function he(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 Qo(e){return Object.keys(e).filter(t=>e[t]._zod.optin==="optional"&&e[t]._zod.optout==="optional")}var vu={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 Wo(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 Vo(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 Go(e,t){if(!ie(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 Ko(e,t){if(!ie(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 Yo(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 Xo(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 ei(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 ti(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 Ut(e,t){return t.map(n=>{var r;return(r=n).path??(r.path=[]),n.path.unshift(e),n})}function me(e){return typeof e=="string"?e:e?.message}function V(e,t,n){const r=e.message?e.message:me(e.inst?._zod.def?.error?.(e))??me(t?.error?.(e))??me(n.customError?.(e))??me(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 Je(e){return Array.isArray(e)?"array":typeof e=="string"?"string":"unknown"}function se(...e){const[t,n,r]=e;return typeof t=="string"?{message:t,code:"custom",input:n,inst:r}:{...t}}var Bt=(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,Be,2),Object.defineProperty(e,"toString",{value:()=>e.message,enumerable:!1})},Mt=l("$ZodError",Bt),Ft=l("$ZodError",Bt,{Parent:Error});function ni(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 ri(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 Qe=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 jt(a,o?.callee),a}return s.value},We=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 jt(a,o?.callee),a}return s.value},ye=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??Mt)(i.issues.map(s=>V(s,o,Q())))}:{success:!0,data:i.value}},oi=ye(Ft),_e=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}},ii=_e(Ft),si=e=>(t,n,r)=>{const o=r?{...r,direction:"backward"}:{direction:"backward"};return Qe(e)(t,n,o)},ai=e=>(t,n,r)=>Qe(e)(t,n,r),ci=e=>async(t,n,r)=>{const o=r?{...r,direction:"backward"}:{direction:"backward"};return We(e)(t,n,o)},ui=e=>async(t,n,r)=>We(e)(t,n,r),li=e=>(t,n,r)=>{const o=r?{...r,direction:"backward"}:{direction:"backward"};return ye(e)(t,n,o)},di=e=>(t,n,r)=>ye(e)(t,n,r),fi=e=>async(t,n,r)=>{const o=r?{...r,direction:"backward"}:{direction:"backward"};return _e(e)(t,n,o)},pi=e=>async(t,n,r)=>_e(e)(t,n,r),gi=/^[cC][0-9a-z]{6,}$/,hi=/^[0-9a-z]+$/,mi=/^[0-9A-HJKMNP-TV-Za-hjkmnp-tv-z]{26}$/,yi=/^[0-9a-vA-V]{20}$/,_i=/^[A-Za-z0-9]{27}$/,vi=/^[a-zA-Z0-9_-]{21}$/,bi=/^P(?:(\d+W)|(?!.*W)(?=\d|T\d)(\d+Y)?(\d+M)?(\d+D)?(T(?=\d)(\d+H)?(\d+M)?(\d+([.,]\d+)?S)?)?)$/,wi=/^([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})$/,Ht=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)$/,ki=/^(?!\.)(?!.*\.\.)([A-Za-z0-9_'+\-\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\-]*\.)+[A-Za-z]{2,}$/,Si="^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$";function zi(){return new RegExp(Si,"u")}var Ai=/^(?:(?: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])$/,Ei=/^(([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}|:))$/,Ti=/^((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])$/,$i=/^(([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])$/,Ii=/^$|^(?:[0-9a-zA-Z+/]{4})*(?:(?:[0-9a-zA-Z+/]{2}==)|(?:[0-9a-zA-Z+/]{3}=))?$/,Jt=/^[A-Za-z0-9_-]*$/,Pi=/^https?$/,Ci=/^\+[1-9]\d{6,14}$/,Qt="(?:(?:\\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])))",xi=new RegExp(`^${Qt}$`);function Wt(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 Oi(e){return new RegExp(`^${Wt(e)}$`)}function Zi(e){const t=Wt({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(`^${Qt}T(?:${r})$`)}var Ri=e=>{const t=e?`[\\s\\S]{${e?.minimum??0},${e?.maximum??""}}`:"[\\s\\S]*";return new RegExp(`^${t}$`)},Li=/^(?:true|false)$/i,Ni=/^[^A-Z]*$/,qi=/^[^a-z]*$/,q=l("$ZodCheck",(e,t)=>{var n;e._zod??(e._zod={}),e._zod.def=t,(n=e._zod).onattach??(n.onattach=[])}),ji=l("$ZodCheckMaxLength",(e,t)=>{var n;q.init(e,t),(n=e._zod.def).when??(n.when=r=>{const o=r.value;return!Fe(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=Je(o);r.issues.push({origin:i,code:"too_big",maximum:t.maximum,inclusive:!0,input:o,inst:e,continue:!t.abort})}}),Di=l("$ZodCheckMinLength",(e,t)=>{var n;q.init(e,t),(n=e._zod.def).when??(n.when=r=>{const o=r.value;return!Fe(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=Je(o);r.issues.push({origin:i,code:"too_small",minimum:t.minimum,inclusive:!0,input:o,inst:e,continue:!t.abort})}}),Ui=l("$ZodCheckLengthEquals",(e,t)=>{var n;q.init(e,t),(n=e._zod.def).when??(n.when=r=>{const o=r.value;return!Fe(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=Je(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})}}),ve=l("$ZodCheckStringFormat",(e,t)=>{var n,r;q.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=()=>{})}),Bi=l("$ZodCheckRegex",(e,t)=>{ve.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})}}),Mi=l("$ZodCheckLowerCase",(e,t)=>{t.pattern??(t.pattern=Ni),ve.init(e,t)}),Fi=l("$ZodCheckUpperCase",(e,t)=>{t.pattern??(t.pattern=qi),ve.init(e,t)}),Hi=l("$ZodCheckIncludes",(e,t)=>{q.init(e,t);const n=he(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})}}),Ji=l("$ZodCheckStartsWith",(e,t)=>{q.init(e,t);const n=new RegExp(`^${he(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})}}),Qi=l("$ZodCheckEndsWith",(e,t)=>{q.init(e,t);const n=new RegExp(`.*${he(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})}}),Wi=l("$ZodCheckOverwrite",(e,t)=>{q.init(e,t),e._zod.check=n=>{n.value=t.tx(n.value)}}),Vi=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 Ce(e,t,n){if(!rr())return;const r=[`[gengage:${e}]`,t];n!==void 0&&r.push(n),console.debug(...r)}var or=("0.6.38".trim(),"0.6.38".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=tt("gengage:context:update",r=>this.update(r));this._cleanups.push(n),Ce("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,Ce("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 at(e){const t=e?.trim();return t||"tr"}var ur=8e3,lr=5e3,dr="https://www.google.com/favicon.ico",q=new Map,ct=!1,K=null,ne=null,H=!1;function fr(e){return typeof e=="string"&&e.toLowerCase().startsWith("tr")}function ut(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 lt(){let e;for(const t of q.values())e=t;return e}function xe(){K&&(clearTimeout(K),K=null)}function pr(){ne&&(clearInterval(ne),ne=null)}async function dt(){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 le(){H=!1,pr(),st()}function de(){K||H||q.size===0||(K=setTimeout(async()=>{K=null,!(H||q.size===0)&&!await dt()&&q.size>0&&(H=!0,Pe({source:"sdk",message:ut(lt()),sticky:!0}),ne||(ne=setInterval(async()=>{if(q.size===0){le();return}await dt()&&(le(),de())},lr)))},ur))}function gr(){ct||typeof window>"u"||(ct=!0,window.addEventListener("online",()=>{le(),de()}),window.addEventListener("offline",()=>{q.size===0||H||(H=!0,xe(),Pe({source:"sdk",message:ut(lt()),sticky:!0}))}))}function hr(e){gr();const t=Symbol(e.source);q.set(t,e.locale),de();let n=!1;return()=>{if(!n){if(n=!0,q.delete(t),q.size===0){xe(),le();return}H||(xe(),de())}}}function ft(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 pt(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 ft(o)?(Ce("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(!ft(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(pt(h,t))return}if(o.trim()&&pt(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 gt=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():""},Oe=(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=>Oe(o,{stripLeadingStopWords:!0})),n=t.filter((o,i)=>t.indexOf(o)===i);if(n.length>0)return n.slice(0,gt);const r=[...Oe(e.chosen_attribute,{stripLeadingStopWords:!0}),...Oe(e.short_name)];return r.filter((o,i)=>r.indexOf(o)===i).slice(0,gt)}function Sr(e){return kr(e).join(" • ")}function zr(e){return e==="beauty_consulting"||e==="account_expert"}function Ze(...e){for(const t of e){if(typeof t!="string")continue;const n=t.trim();if(n.length>0)return n}}function Re(e){return Array.isArray(e)?e.filter(t=>typeof t=="string"&&t.trim().length>0).map(t=>t.trim()):[]}function ht(e){const t={...e},n=Ze(t.sku),r=Re(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=Ze(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 Le(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 Yr(t);case"prosAndCons":return Qr(t);case"getGroundingReview":return Xr(t);case"voice":return to(t);case"visitorDataResponse":return Wr(t);case"productListPreview":return eo();case"groupList":return no(t);case"formGetInfo":case"formTestDrive":case"formServiceRequest":case"launchFormPage":return ro(t);case"launcherContent":return io(t);case"handoff":return oo(t);case"uiSpec":return go(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=v(e.payload.text,e.payload.plain_text)??"",n=v(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=v(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(oe),"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=v(a.style_label);if(!c)return null;const u=v(a.style_mood),d=v(a.image_url??void 0),p=(Array.isArray(a.product_list)?a.product_list:[]).map(f=>{const h=C(f);return h?qe(C(h.product_detail)??C(h.product)??h):null}).filter(oe),g=Array.isArray(a.recommendation_groups)?a.recommendation_groups.map(f=>({label:v(f.label)??"",reason:v(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(oe),r=e.payload.product_list??[],o=zr(e.payload.source)&&n.length>0?n[0].product_list:null,i=o?ao(o,"chat"):t.length>0?so(t,r,"chat")??je(r,"chat"):je(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 uo("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=je(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 _ of t){const b=J(_);s.push(b)}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(_=>_.sku===c)??s[0]:s[0],d=[];if(Array.isArray(r?.key_differences))for(const _ of r.key_differences)typeof _=="string"&&d.push(_);const p=vt(r?.special_considerations),g=r?.recommended_choice,f=r?.winner_hits,h={};for(const _ of s){const b=_.sku;b&&(h[b]={title:_.name??b,type:"launchSingleProduct",payload:{sku:b}})}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 _=p[h]??h;f.push({label:_,values:m.map(b=>typeof b=="string"?b:String(b??""))})}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 _=m[`${p}_short`],b=m[p];return Rr(_??b)});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=v(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:v(e.payload.to)}}}function Br(e){return{type:"error",code:"BACKEND_ERROR",message:v(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),Le({type:"text",payload:o})}return{type:"metadata",sessionId:"",model:"",meta:{launcherAction:t}}}function Le(e){const t={text:v(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 co(e.payload,"qna")}function mt(e){const t=v(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),Le({type:"text",payload:r})}function yt(e){return _t((e.payload.action_list??[]).map(t=>{const n=v(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(oe),"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=lo(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=v(i.name)??"",a=v(i.description),c=v(i.highlight),u=Array.isArray(i.labels)?vt(i.labels):[],d=v(i.sku,i.repr_sku),p=v(i.image,i.repr_image),g=Kr(i,s,d),f=(Array.isArray(i.group_products)?i.group_products:[]).map(_=>{const b=C(_);return b?qe(b):null}).filter(oe),h=p??v(...f.map(_=>_.imageUrl));if(s&&f.length>0){const _={groupName:s,products:f};h&&(_.image=h),a&&(_.description=a),c&&(_.highlight=c),u.length>0&&(_.labels=u),n.push(_)}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&&!Ze(s.sku)&&(s.sku=n);const a=Re(e.group_skus);return a.length>0&&(s.group_skus=a),O({...r,payload:ht(s)},t)}const o={};n&&(o.sku=n);const i=Re(e.group_skus);return i.length>0&&(o.group_skus=i),Object.keys(o).length===0?null:O({type:"findSimilar",payload:ht(o)},t)}function Yr(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=v(o.short_name,o.chosen_attribute,o.detailed_user_message)??`Search ${r+1}`,s={},a=v(o.detailed_user_message);a&&(s.text=a);const c=C(C(o.requestDetails)?.payload),u=c?.group_skus;o.group_skus&&Array.isArray(o.group_skus)?s.group_skus=o.group_skus:Array.isArray(u)&&(s.group_skus=u.filter(b=>typeof b=="string"));const d=v(o.sku,o.representative_product_sku,c?.sku);d&&(s.sku=d),s.is_suggested_text=1;const p={type:"inputText",payload:s},g=O(o.requestDetails,i),f=g?.type==="findSimilar"&&typeof s.text=="string"?O(p,i):g??O(p,i);if(!f)continue;const h={shortName:i,action:f},m=v(o.detailed_user_message);m&&m!==i&&(h.detailedMessage=m);const _=Sr(o);_&&_!==i&&_!==(m??"")&&(h.whyDifferent=_),typeof o.image=="string"&&(h.image=o.image),n.push(h)}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 Xr(e){const t=e.payload,n=O(t.requestDetails??t.request_details,v(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 eo(){return{type:"metadata",sessionId:"",model:"",meta:{analyzeAnimation:!0}}}function to(e){return{type:"metadata",sessionId:"",model:"",meta:{voice:e.payload}}}function no(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 ro(e){return{type:"metadata",sessionId:"",model:"",meta:{formType:e.type,formPayload:e.payload??{}}}}function oo(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 io(e){return{type:"metadata",sessionId:"",model:"",meta:{launcherContent:e.payload??{}}}}function Ne(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 je(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]=Ne(s,o)}return n.root={type:"ProductGrid",props:{layout:"grid"},children:r},{type:"ui_spec",widget:t,spec:{root:"root",elements:n}}}function so(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=v(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 _=r.get(m);if(!_)continue;o.add(m);const b=`product-${u}-${h}`,k=J(_);s.push(b),f.push(b),i[b]=Ne(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 ao(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]=Ne(i,o)}return n.root={type:"ProductGrid",props:{layout:"grid"},children:r},{type:"ui_spec",widget:t,spec:{root:"root",elements:n}}}function co(e,t){return{type:"ui_spec",widget:t,spec:{root:"root",elements:{root:{type:"ProductCard",props:{product:J(e),index:0}}}}}}function uo(e){return{type:"ui_spec",widget:e,spec:{root:"root",elements:{root:{type:"ActionButtons",props:{buttons:[]},children:[]}}}}}function lo(e){const t=v(e.sku),n=v(e.short_name),r={...C(e.product_item)??e},o=v(e.discount_reason,e.discountReason);return o&&!v(r.discount_reason,r.discountReason)&&(r.discount_reason=o),qe(r,t,n)}function qe(e,t,n){const r=v(e.sku,t),o=v(e.name,n);if(!r||!o)return null;const i={sku:r,name:o},s=v(e.brand);s&&(i.brand=s);const a=v(e.url);a&&(i.url=a);const c=fo(e.images);if(c.length>0)i.images=c;else{const m=v(e.image,e.image_url,e.imageUrl);m&&(i.images=[m])}const u=re(e.price_discounted);u!==void 0&&(i.price_discounted=u);const d=re(e.price);d!==void 0&&(i.price=d);const p=re(e.rating);p!==void 0&&(i.rating=p);const g=re(e.review_count)??re(e.reviewCount);g!==void 0&&(i.review_count=g);const f=v(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=v(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 v(...e){for(const t of e)if(typeof t=="string"){const n=t.trim();if(n.length>0)return n}}function fo(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 re(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 oe(e){return e!=null}var po=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=v(e.brand),s=v(e.name)??e.sku,a=i&&!s.toLowerCase().startsWith(i.toLowerCase())?`${i} ${s}`:s,c={sku:e.sku,name:a,url:v(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))po.has(f)||(p[f]=d[f],g=!0);return g&&(c.extras=p),c}function go(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 ho=7200*1e3,bt=200,mo=5*1024*1024,yo="gengage_request_response_cache",_o=1,L="responses",vo=new Set(["addToCart","like"]),N=new Map,wt=null;async function bo(e,t={},n={}){const r=wo(e,t);if(!r)return fetch(e,t);const o=Date.now(),i=await Ao(r,o);if(i)return $o(i);const s=await fetch(e,t);return s.ok&&Eo(r,s.clone(),o,{ttlMs:n.ttlMs??ho,maxEntries:n.maxEntries??bt,maxBodyBytes:n.maxBodyBytes??mo}),s}function wo(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=ko(t.body);if(So(r))return null;const o=zo(r);if(o){const i=ie(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:ie(r?.meta)?.outputLanguage??"",cache_key:o}))}`}return`rr:${At(zt({url:String(e),method:n,headers:kt(t.headers),body:t.body}))}`}function ko(e){try{const t=JSON.parse(e);return!t||typeof t!="object"||Array.isArray(t)?null:t}catch{return null}}function So(e){const t=e?.type;return typeof t=="string"&&vo.has(t)}function zo(e){const t=(ie(e?.payload)??ie(ie(e?.action)?.payload))?.cache_key;return typeof t=="string"&&t.trim().length>0?t.trim():null}async function Ao(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),De(n),n;const r=await Po(e);return r?r.expiresAt<=t?(N.delete(e),Co(e),null):(r.lastAccessedAt=t,N.set(e,r),De(r),St(bt),r):null}async function Eo(e,t,n,r){try{const o=await t.text();if(Oo(o)>r.maxBodyBytes||To(o))return;const i={key:e,status:t.status,statusText:t.statusText,headers:Io(t.headers),body:o,createdAt:n,expiresAt:n+r.ttlMs,lastAccessedAt:n};N.set(e,i),St(r.maxEntries),await De(i),await xo(r.maxEntries,n)}catch{}}function To(e){return/"_error"\s*:/u.test(e)||/"type"\s*:\s*"error"/u.test(e)}function $o(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 Io(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 fe(){return typeof indexedDB>"u"?null:(wt??=new Promise(e=>{const t=indexedDB.open(yo,_o);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 Po(e){const t=await fe();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 De(e){const t=await fe();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 Co(e){const t=await fe();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 xo(e,t){const n=await fe();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(Ue(e))}function ie(e){return e&&typeof e=="object"&&!Array.isArray(e)?e:null}function Ue(e){return Array.isArray(e)?e.map(Ue):!e||typeof e!="object"?e:Object.fromEntries(Object.entries(e).sort(([t],[n])=>t.localeCompare(n)).map(([t,n])=>[t,Ue(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 Oo(e){return typeof TextEncoder<"u"?new TextEncoder().encode(e).byteLength:e.length}async function Zo(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 bo(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 Ro(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 _=()=>{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},b=()=>{const k=r.value.trim();k&&(e.onSubmit({title:k,type:"user_message",payload:k}),r.value="",_(),g())};return h.addEventListener("click",()=>{r.value="",_(),r.focus({preventScroll:!0})}),m.addEventListener("click",b),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(_(),r.value.trim().length>0){d();return}r.placeholder=u?"":s,g()}),r.addEventListener("keydown",k=>{k.key==="Enter"&&(k.preventDefault(),b()),k.key==="Escape"&&r.value.length>0&&(r.value="",_(),g())}),f.appendChild(h),f.appendChild(m),n.appendChild(r),n.appendChild(f),t.appendChild(n),_(),g(),t._cleanup=()=>{d()},t}function pe(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=pe(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=pe(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=pe(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=pe(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),Ro(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},Be=({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=Be){return On({spec:e,context:t,registry:n,containerClassName:"gengage-qna-uispec",unknownRenderer:r})}function Lo(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 No(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 jo(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 qo(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 Do(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 Uo(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 Bo(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=Uo(i);if(!a)return[...i,Do([s])];if(!No(a,s.title)){const c=a.elements[a.root];c?.type==="ActionButtons"?qo(a,s):c?.type==="ButtonRow"&&jo(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?"},Mo={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 Fo(e){return e?e.toLowerCase().split("-")[0]??"tr":"tr"}function Ho(e){return Fo(e)==="en"?Mo: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=at(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:at(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 Zo(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),_=Lo(this.config.pageContext),b=(a.uiSpecs.length>0?Bo(a.uiSpecs,this._i18n,{skuList:_}):[m]).filter(k=>Object.keys(k.elements).length>0);for(const k of b){const I=this._renderUISpec(k,f);c.appendChild(I)}b.length>0&&qn("qna"),this._specIncludesType(b,"TextInput")||this._insertStandaloneInputBeforePills(c,f,g)}catch(o){if(o instanceof DOMException&&o.name==="AbortError")return;if($e("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{...Ho(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??Be,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(()=>$e("gengage:qna:action",e),350)}_handleOpenChat(){this._showTransitionIndicator(),this.config.onOpenChat?.(),setTimeout(()=>$e("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 Jo(){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 ge=globalThis.__zod_globalConfig;function Q(e){return e&&Object.assign(ge,e),ge}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 Me(e,t){return typeof t=="bigint"?t.toString():t}function Fe(e){return{get value(){{const t=e();return Object.defineProperty(this,"value",{value:t}),t}throw new Error("cached value already set")}}}function He(e){return e==null}function Je(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 w(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 Qo(e){return e.toLowerCase().trim().replace(/[^\w\s-]/g,"").replace(/[\s_-]+/g,"-").replace(/^-+|-+$/g,"")}var Mt="captureStackTrace"in Error?Error.captureStackTrace:(...e)=>{};function he(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}var Wo=Fe(()=>{if(ge.jitless||typeof navigator<"u"&&navigator?.userAgent?.includes("Cloudflare"))return!1;try{return new Function(""),!0}catch{return!1}});function se(e){if(he(e)===!1)return!1;const t=e.constructor;if(t===void 0||typeof t!="function")return!0;const n=t.prototype;return!(he(n)===!1||Object.prototype.hasOwnProperty.call(n,"isPrototypeOf")===!1)}function Ft(e){return se(e)?{...e}:Array.isArray(e)?[...e]:e instanceof Map?new Map(e):e instanceof Set?new Set(e):e}var Vo=new Set(["string","number","symbol"]);function me(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 Go(e){return Object.keys(e).filter(t=>e[t]._zod.optin==="optional"&&e[t]._zod.optout==="optional")}var ku={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 Ko(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 Yo(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 Xo(e,t){if(!se(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 ei(e,t){if(!se(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 ti(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 ni(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 ri(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 oi(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 ye(e){return typeof e=="string"?e:e?.message}function V(e,t,n){const r=e.message?e.message:ye(e.inst?._zod.def?.error?.(e))??ye(t?.error?.(e))??ye(n.customError?.(e))??ye(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 Qe(e){return Array.isArray(e)?"array":typeof e=="string"?"string":"unknown"}function ae(...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,Me,2),Object.defineProperty(e,"toString",{value:()=>e.message,enumerable:!1})},Qt=l("$ZodError",Jt),Wt=l("$ZodError",Jt,{Parent:Error});function ii(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 si(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 We=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},Ve=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},_e=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}},ai=_e(Wt),ve=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}},ci=ve(Wt),ui=e=>(t,n,r)=>{const o=r?{...r,direction:"backward"}:{direction:"backward"};return We(e)(t,n,o)},li=e=>(t,n,r)=>We(e)(t,n,r),di=e=>async(t,n,r)=>{const o=r?{...r,direction:"backward"}:{direction:"backward"};return Ve(e)(t,n,o)},fi=e=>async(t,n,r)=>Ve(e)(t,n,r),pi=e=>(t,n,r)=>{const o=r?{...r,direction:"backward"}:{direction:"backward"};return _e(e)(t,n,o)},gi=e=>(t,n,r)=>_e(e)(t,n,r),hi=e=>async(t,n,r)=>{const o=r?{...r,direction:"backward"}:{direction:"backward"};return ve(e)(t,n,o)},mi=e=>async(t,n,r)=>ve(e)(t,n,r),yi=/^[cC][0-9a-z]{6,}$/,_i=/^[0-9a-z]+$/,vi=/^[0-9A-HJKMNP-TV-Za-hjkmnp-tv-z]{26}$/,bi=/^[0-9a-vA-V]{20}$/,wi=/^[A-Za-z0-9]{27}$/,ki=/^[a-zA-Z0-9_-]{21}$/,Si=/^P(?:(\d+W)|(?!.*W)(?=\d|T\d)(\d+Y)?(\d+M)?(\d+D)?(T(?=\d)(\d+H)?(\d+M)?(\d+([.,]\d+)?S)?)?)$/,zi=/^([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)$/,Ai=/^(?!\.)(?!.*\.\.)([A-Za-z0-9_'+\-\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\-]*\.)+[A-Za-z]{2,}$/,Ei="^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$";function Ti(){return new RegExp(Ei,"u")}var $i=/^(?:(?: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])$/,Ii=/^(([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}|:))$/,Pi=/^((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])$/,Ci=/^(([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])$/,xi=/^$|^(?:[0-9a-zA-Z+/]{4})*(?:(?:[0-9a-zA-Z+/]{2}==)|(?:[0-9a-zA-Z+/]{3}=))?$/,Gt=/^[A-Za-z0-9_-]*$/,Oi=/^https?$/,Zi=/^\+[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])))",Ri=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 Li(e){return new RegExp(`^${Yt(e)}$`)}function Ni(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 ji=e=>{const t=e?`[\\s\\S]{${e?.minimum??0},${e?.maximum??""}}`:"[\\s\\S]*";return new RegExp(`^${t}$`)},qi=/^(?:true|false)$/i,Di=/^[^A-Z]*$/,Ui=/^[^a-z]*$/,j=l("$ZodCheck",(e,t)=>{var n;e._zod??(e._zod={}),e._zod.def=t,(n=e._zod).onattach??(n.onattach=[])}),Bi=l("$ZodCheckMaxLength",(e,t)=>{var n;j.init(e,t),(n=e._zod.def).when??(n.when=r=>{const o=r.value;return!He(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=Qe(o);r.issues.push({origin:i,code:"too_big",maximum:t.maximum,inclusive:!0,input:o,inst:e,continue:!t.abort})}}),Mi=l("$ZodCheckMinLength",(e,t)=>{var n;j.init(e,t),(n=e._zod.def).when??(n.when=r=>{const o=r.value;return!He(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=Qe(o);r.issues.push({origin:i,code:"too_small",minimum:t.minimum,inclusive:!0,input:o,inst:e,continue:!t.abort})}}),Fi=l("$ZodCheckLengthEquals",(e,t)=>{var n;j.init(e,t),(n=e._zod.def).when??(n.when=r=>{const o=r.value;return!He(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=Qe(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})}}),be=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=()=>{})}),Hi=l("$ZodCheckRegex",(e,t)=>{be.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})}}),Ji=l("$ZodCheckLowerCase",(e,t)=>{t.pattern??(t.pattern=Di),be.init(e,t)}),Qi=l("$ZodCheckUpperCase",(e,t)=>{t.pattern??(t.pattern=Ui),be.init(e,t)}),Wi=l("$ZodCheckIncludes",(e,t)=>{j.init(e,t);const n=me(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})}}),Vi=l("$ZodCheckStartsWith",(e,t)=>{j.init(e,t);const n=new RegExp(`^${me(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})}}),Gi=l("$ZodCheckEndsWith",(e,t)=>{j.init(e,t);const n=new RegExp(`.*${me(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})}}),Ki=l("$ZodCheckOverwrite",(e,t)=>{j.init(e,t),e._zod.check=n=>{n.value=t.tx(n.value)}}),Yi=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
- `))}},Gi={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=Gi;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(ti(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)}}w(e,"~standard",()=>({validate:o=>{try{const i=oi(e,o);return i.success?{value:i.data}:{issues:i.error?.issues}}catch{return ii(e,o).then(s=>s.success?{value:s.data}:{issues:s.error?.issues})}},vendor:"zod",version:1}))}),Ve=l("$ZodString",(e,t)=>{E.init(e,t),e._zod.pattern=[...e?._zod.bag?.patterns??[]].pop()??Ri(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)=>{ve.init(e,t),Ve.init(e,t)}),Ki=l("$ZodGUID",(e,t)=>{t.pattern??(t.pattern=wi),S.init(e,t)}),Yi=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=Ht(n))}else t.pattern??(t.pattern=Ht());S.init(e,t)}),Xi=l("$ZodEmail",(e,t)=>{t.pattern??(t.pattern=ki),S.init(e,t)}),es=l("$ZodURL",(e,t)=>{S.init(e,t),e._zod.check=n=>{try{const r=n.value.trim();if(!t.normalize&&t.protocol?.source===Pi.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})}}}),ts=l("$ZodEmoji",(e,t)=>{t.pattern??(t.pattern=zi()),S.init(e,t)}),ns=l("$ZodNanoID",(e,t)=>{t.pattern??(t.pattern=vi),S.init(e,t)}),rs=l("$ZodCUID",(e,t)=>{t.pattern??(t.pattern=gi),S.init(e,t)}),os=l("$ZodCUID2",(e,t)=>{t.pattern??(t.pattern=hi),S.init(e,t)}),is=l("$ZodULID",(e,t)=>{t.pattern??(t.pattern=mi),S.init(e,t)}),ss=l("$ZodXID",(e,t)=>{t.pattern??(t.pattern=yi),S.init(e,t)}),as=l("$ZodKSUID",(e,t)=>{t.pattern??(t.pattern=_i),S.init(e,t)}),cs=l("$ZodISODateTime",(e,t)=>{t.pattern??(t.pattern=Zi(t)),S.init(e,t)}),us=l("$ZodISODate",(e,t)=>{t.pattern??(t.pattern=xi),S.init(e,t)}),ls=l("$ZodISOTime",(e,t)=>{t.pattern??(t.pattern=Oi(t)),S.init(e,t)}),ds=l("$ZodISODuration",(e,t)=>{t.pattern??(t.pattern=bi),S.init(e,t)}),fs=l("$ZodIPv4",(e,t)=>{t.pattern??(t.pattern=Ai),S.init(e,t),e._zod.bag.format="ipv4"}),ps=l("$ZodIPv6",(e,t)=>{t.pattern??(t.pattern=Ei),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})}}}),gs=l("$ZodCIDRv4",(e,t)=>{t.pattern??(t.pattern=Ti),S.init(e,t)}),hs=l("$ZodCIDRv6",(e,t)=>{t.pattern??(t.pattern=$i),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 Vt(e){if(e==="")return!0;if(/\s/.test(e)||e.length%4!==0)return!1;try{return atob(e),!0}catch{return!1}}var ms=l("$ZodBase64",(e,t)=>{t.pattern??(t.pattern=Ii),S.init(e,t),e._zod.bag.contentEncoding="base64",e._zod.check=n=>{Vt(n.value)||n.issues.push({code:"invalid_format",format:"base64",input:n.value,inst:e,continue:!t.abort})}});function ys(e){if(!Jt.test(e))return!1;const t=e.replace(/[-_]/g,n=>n==="-"?"+":"/");return Vt(t.padEnd(Math.ceil(t.length/4)*4,"="))}var _s=l("$ZodBase64URL",(e,t)=>{t.pattern??(t.pattern=Jt),S.init(e,t),e._zod.bag.contentEncoding="base64url",e._zod.check=n=>{ys(n.value)||n.issues.push({code:"invalid_format",format:"base64url",input:n.value,inst:e,continue:!t.abort})}}),vs=l("$ZodE164",(e,t)=>{t.pattern??(t.pattern=Ci),S.init(e,t)});function bs(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 ws=l("$ZodJWT",(e,t)=>{S.init(e,t),e._zod.check=n=>{bs(n.value,t.alg)||n.issues.push({code:"invalid_format",format:"jwt",input:n.value,inst:e,continue:!t.abort})}}),ks=l("$ZodBoolean",(e,t)=>{E.init(e,t),e._zod.pattern=Li,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}}),Ss=l("$ZodUnknown",(e,t)=>{E.init(e,t),e._zod.parse=n=>n}),zs=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 Gt(e,t,n){e.issues.length&&t.issues.push(...Ut(n,e.issues)),t.value[n]=e.value}var As=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=>Gt(u,n,s))):Gt(c,n,s)}return i.length?Promise.all(i).then(()=>n):n}});function be(e,t,n,r,o,i){const s=n in r;if(e.issues.length){if(o&&i&&!s)return;t.issues.push(...Ut(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 Kt(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=Qo(e.shape);return{...e,keys:t,keySet:new Set(t),numKeys:t.length,optionalKeys:new Set(n)}}function Yt(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=>be(h,n,g,t,d,p))):be(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 Es=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=Me(()=>Kt(t));w(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=ge,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(_=>be(_,s,p,c,f,h))):be(m,s,p,c,f,h)}return o?Yt(u,c,s,a,n.value,e):u.length?Promise.all(u).then(()=>s):s}}),Ts=l("$ZodObjectJIT",(e,t)=>{Es.init(e,t);const n=e._zod.parse,r=Me(()=>Kt(t)),o=g=>{const f=new Vi(["shape","payload","ctx"]),h=r.value,m=I=>{const A=qt(I);return`shape[${A}]._zod.run({ value: input[${A}], issues: [] }, ctx)`};f.write("const input = payload.value;");const _=Object.create(null);let b=0;for(const I of h.keys)_[I]=`key_${b++}`;f.write("const newResult = {};");for(const I of h.keys){const A=_[I],P=qt(I),En=g[I],Tn=En?._zod?.optin==="optional",_u=En?._zod?.optout==="optional";f.write(`const ${A} = ${m(I)};`),Tn&&_u?f.write(`
50
+ `))}},Xi={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=Xi;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(oi(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)}}w(e,"~standard",()=>({validate:o=>{try{const i=ai(e,o);return i.success?{value:i.data}:{issues:i.error?.issues}}catch{return ci(e,o).then(s=>s.success?{value:s.data}:{issues:s.error?.issues})}},vendor:"zod",version:1}))}),Ge=l("$ZodString",(e,t)=>{E.init(e,t),e._zod.pattern=[...e?._zod.bag?.patterns??[]].pop()??ji(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)=>{be.init(e,t),Ge.init(e,t)}),es=l("$ZodGUID",(e,t)=>{t.pattern??(t.pattern=zi),S.init(e,t)}),ts=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)}),ns=l("$ZodEmail",(e,t)=>{t.pattern??(t.pattern=Ai),S.init(e,t)}),rs=l("$ZodURL",(e,t)=>{S.init(e,t),e._zod.check=n=>{try{const r=n.value.trim();if(!t.normalize&&t.protocol?.source===Oi.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})}}}),os=l("$ZodEmoji",(e,t)=>{t.pattern??(t.pattern=Ti()),S.init(e,t)}),is=l("$ZodNanoID",(e,t)=>{t.pattern??(t.pattern=ki),S.init(e,t)}),ss=l("$ZodCUID",(e,t)=>{t.pattern??(t.pattern=yi),S.init(e,t)}),as=l("$ZodCUID2",(e,t)=>{t.pattern??(t.pattern=_i),S.init(e,t)}),cs=l("$ZodULID",(e,t)=>{t.pattern??(t.pattern=vi),S.init(e,t)}),us=l("$ZodXID",(e,t)=>{t.pattern??(t.pattern=bi),S.init(e,t)}),ls=l("$ZodKSUID",(e,t)=>{t.pattern??(t.pattern=wi),S.init(e,t)}),ds=l("$ZodISODateTime",(e,t)=>{t.pattern??(t.pattern=Ni(t)),S.init(e,t)}),fs=l("$ZodISODate",(e,t)=>{t.pattern??(t.pattern=Ri),S.init(e,t)}),ps=l("$ZodISOTime",(e,t)=>{t.pattern??(t.pattern=Li(t)),S.init(e,t)}),gs=l("$ZodISODuration",(e,t)=>{t.pattern??(t.pattern=Si),S.init(e,t)}),hs=l("$ZodIPv4",(e,t)=>{t.pattern??(t.pattern=$i),S.init(e,t),e._zod.bag.format="ipv4"}),ms=l("$ZodIPv6",(e,t)=>{t.pattern??(t.pattern=Ii),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})}}}),ys=l("$ZodCIDRv4",(e,t)=>{t.pattern??(t.pattern=Pi),S.init(e,t)}),_s=l("$ZodCIDRv6",(e,t)=>{t.pattern??(t.pattern=Ci),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 vs=l("$ZodBase64",(e,t)=>{t.pattern??(t.pattern=xi),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 bs(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 ws=l("$ZodBase64URL",(e,t)=>{t.pattern??(t.pattern=Gt),S.init(e,t),e._zod.bag.contentEncoding="base64url",e._zod.check=n=>{bs(n.value)||n.issues.push({code:"invalid_format",format:"base64url",input:n.value,inst:e,continue:!t.abort})}}),ks=l("$ZodE164",(e,t)=>{t.pattern??(t.pattern=Zi),S.init(e,t)});function Ss(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 zs=l("$ZodJWT",(e,t)=>{S.init(e,t),e._zod.check=n=>{Ss(n.value,t.alg)||n.issues.push({code:"invalid_format",format:"jwt",input:n.value,inst:e,continue:!t.abort})}}),As=l("$ZodBoolean",(e,t)=>{E.init(e,t),e._zod.pattern=qi,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}}),Es=l("$ZodUnknown",(e,t)=>{E.init(e,t),e._zod.parse=n=>n}),Ts=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 $s=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 we(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=Go(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=>we(h,n,g,t,d,p))):we(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 Is=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=Fe(()=>tn(t));w(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=he,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(_=>we(_,s,p,c,f,h))):we(m,s,p,c,f,h)}return o?nn(u,c,s,a,n.value,e):u.length?Promise.all(u).then(()=>s):s}}),Ps=l("$ZodObjectJIT",(e,t)=>{Is.init(e,t);const n=e._zod.parse,r=Fe(()=>tn(t)),o=g=>{const f=new Yi(["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 _=Object.create(null);let b=0;for(const I of h.keys)_[I]=`key_${b++}`;f.write("const newResult = {};");for(const I of h.keys){const A=_[I],P=Bt(I),Pn=g[I],Cn=Pn?._zod?.optin==="optional",wu=Pn?._zod?.optout==="optional";f.write(`const ${A} = ${m(I)};`),Cn&&wu?f.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
- `):Tn?f.write(`
68
+ `):Cn?f.write(`
69
69
  if (${A}.issues.length) {
70
70
  payload.issues = payload.issues.concat(${A}.issues.map(iss => ({
71
71
  ...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=ge,a=!pe.jitless,u=a&&Ho.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?Yt([],h,g,f,p,e):g):n(g,f):(g.issues.push({expected:"object",code:"invalid_type",input:h,inst:e}),g)}});function Xt(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 $s=l("$ZodUnion",(e,t)=>{E.init(e,t),w(e._zod,"optin",()=>t.options.some(r=>r._zod.optin==="optional")?"optional":void 0),w(e._zod,"optout",()=>t.options.some(r=>r._zod.optout==="optional")?"optional":void 0),w(e._zod,"values",()=>{if(t.options.every(r=>r._zod.values))return new Set(t.options.flatMap(r=>Array.from(r._zod.values)))}),w(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=>He(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=>Xt(a,r,e,o)):Xt(s,r,e,o)}}),Is=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])=>en(n,a,c)):en(n,i,s)}});function Ge(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(ie(e)&&ie(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=Ge(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=Ge(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 en(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=Ge(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 Ps=l("$ZodEnum",(e,t)=>{E.init(e,t);const n=Lt(t.entries),r=new Set(n);e._zod.values=r,e._zod.pattern=new RegExp(`^(${n.filter(o=>Jo.has(typeof o)).map(o=>typeof o=="string"?he(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}}),Cs=l("$ZodTransform",(e,t)=>{E.init(e,t),e._zod.optin="optional",e._zod.parse=(n,r)=>{if(r.direction==="backward")throw new Rt(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 tn(e,t){return t===void 0&&(e.issues.length||e.fallback)?{issues:[],value:void 0}:e}var nn=l("$ZodOptional",(e,t)=>{E.init(e,t),e._zod.optin="optional",e._zod.optout="optional",w(e._zod,"values",()=>t.innerType._zod.values?new Set([...t.innerType._zod.values,void 0]):void 0),w(e._zod,"pattern",()=>{const n=t.innerType._zod.pattern;return n?new RegExp(`^(${He(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=>tn(s,o)):tn(i,o)}return n.value===void 0?n:t.innerType._zod.run(n,r)}}),xs=l("$ZodExactOptional",(e,t)=>{nn.init(e,t),w(e._zod,"values",()=>t.innerType._zod.values),w(e._zod,"pattern",()=>t.innerType._zod.pattern),e._zod.parse=(n,r)=>t.innerType._zod.run(n,r)}),Os=l("$ZodNullable",(e,t)=>{E.init(e,t),w(e._zod,"optin",()=>t.innerType._zod.optin),w(e._zod,"optout",()=>t.innerType._zod.optout),w(e._zod,"pattern",()=>{const n=t.innerType._zod.pattern;return n?new RegExp(`^(${He(n.source)}|null)$`):void 0}),w(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)}),Zs=l("$ZodDefault",(e,t)=>{E.init(e,t),e._zod.optin="optional",w(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=>rn(i,t)):rn(o,t)}});function rn(e,t){return e.value===void 0&&(e.value=t.defaultValue),e}var Rs=l("$ZodPrefault",(e,t)=>{E.init(e,t),e._zod.optin="optional",w(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))}),Ls=l("$ZodNonOptional",(e,t)=>{E.init(e,t),w(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=>on(i,e)):on(o,e)}});function on(e,t){return!e.issues.length&&e.value===void 0&&e.issues.push({code:"invalid_type",expected:"nonoptional",input:e.value,inst:t}),e}var Ns=l("$ZodCatch",(e,t)=>{E.init(e,t),e._zod.optin="optional",w(e._zod,"optout",()=>t.innerType._zod.optout),w(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)}}),qs=l("$ZodPipe",(e,t)=>{E.init(e,t),w(e._zod,"values",()=>t.in._zod.values),w(e._zod,"optin",()=>t.in._zod.optin),w(e._zod,"optout",()=>t.out._zod.optout),w(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=>we(s,t.in,r)):we(i,t.in,r)}const o=t.in._zod.run(n,r);return o instanceof Promise?o.then(i=>we(i,t.out,r)):we(o,t.out,r)}});function we(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 js=l("$ZodReadonly",(e,t)=>{E.init(e,t),w(e._zod,"propValues",()=>t.innerType._zod.propValues),w(e._zod,"values",()=>t.innerType._zod.values),w(e._zod,"optin",()=>t.innerType?._zod?.optin),w(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(sn):sn(o)}});function sn(e){return e.value=Object.freeze(e.value),e}var Ds=l("$ZodCustom",(e,t)=>{q.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=>an(i,n,r,e));an(o,n,r,e)}});function an(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(se(o))}}var cn,Us=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 Bs(){return new Us}(cn=globalThis).__zod_globalRegistry??(cn.__zod_globalRegistry=Bs());var ae=globalThis.__zod_globalRegistry;function Ms(e,t){return new e({type:"string",...y(t)})}function Fs(e,t){return new e({type:"string",format:"email",check:"string_format",abort:!1,...y(t)})}function un(e,t){return new e({type:"string",format:"guid",check:"string_format",abort:!1,...y(t)})}function Hs(e,t){return new e({type:"string",format:"uuid",check:"string_format",abort:!1,...y(t)})}function Js(e,t){return new e({type:"string",format:"uuid",check:"string_format",abort:!1,version:"v4",...y(t)})}function Qs(e,t){return new e({type:"string",format:"uuid",check:"string_format",abort:!1,version:"v6",...y(t)})}function Ws(e,t){return new e({type:"string",format:"uuid",check:"string_format",abort:!1,version:"v7",...y(t)})}function Vs(e,t){return new e({type:"string",format:"url",check:"string_format",abort:!1,...y(t)})}function Gs(e,t){return new e({type:"string",format:"emoji",check:"string_format",abort:!1,...y(t)})}function Ks(e,t){return new e({type:"string",format:"nanoid",check:"string_format",abort:!1,...y(t)})}function Ys(e,t){return new e({type:"string",format:"cuid",check:"string_format",abort:!1,...y(t)})}function Xs(e,t){return new e({type:"string",format:"cuid2",check:"string_format",abort:!1,...y(t)})}function ea(e,t){return new e({type:"string",format:"ulid",check:"string_format",abort:!1,...y(t)})}function ta(e,t){return new e({type:"string",format:"xid",check:"string_format",abort:!1,...y(t)})}function na(e,t){return new e({type:"string",format:"ksuid",check:"string_format",abort:!1,...y(t)})}function ra(e,t){return new e({type:"string",format:"ipv4",check:"string_format",abort:!1,...y(t)})}function oa(e,t){return new e({type:"string",format:"ipv6",check:"string_format",abort:!1,...y(t)})}function ia(e,t){return new e({type:"string",format:"cidrv4",check:"string_format",abort:!1,...y(t)})}function sa(e,t){return new e({type:"string",format:"cidrv6",check:"string_format",abort:!1,...y(t)})}function aa(e,t){return new e({type:"string",format:"base64",check:"string_format",abort:!1,...y(t)})}function ca(e,t){return new e({type:"string",format:"base64url",check:"string_format",abort:!1,...y(t)})}function ua(e,t){return new e({type:"string",format:"e164",check:"string_format",abort:!1,...y(t)})}function la(e,t){return new e({type:"string",format:"jwt",check:"string_format",abort:!1,...y(t)})}function da(e,t){return new e({type:"string",format:"datetime",check:"string_format",offset:!1,local:!1,precision:null,...y(t)})}function fa(e,t){return new e({type:"string",format:"date",check:"string_format",...y(t)})}function pa(e,t){return new e({type:"string",format:"time",check:"string_format",precision:null,...y(t)})}function ga(e,t){return new e({type:"string",format:"duration",check:"string_format",...y(t)})}function ha(e,t){return new e({type:"boolean",...y(t)})}function ma(e){return new e({type:"unknown"})}function ya(e,t){return new e({type:"never",...y(t)})}function ln(e,t){return new ji({check:"max_length",...y(t),maximum:e})}function ke(e,t){return new Di({check:"min_length",...y(t),minimum:e})}function dn(e,t){return new Ui({check:"length_equals",...y(t),length:e})}function _a(e,t){return new Bi({check:"string_format",format:"regex",...y(t),pattern:e})}function va(e){return new Mi({check:"string_format",format:"lowercase",...y(e)})}function ba(e){return new Fi({check:"string_format",format:"uppercase",...y(e)})}function wa(e,t){return new Hi({check:"string_format",format:"includes",...y(t),includes:e})}function ka(e,t){return new Ji({check:"string_format",format:"starts_with",...y(t),prefix:e})}function Sa(e,t){return new Qi({check:"string_format",format:"ends_with",...y(t),suffix:e})}function ee(e){return new Wi({check:"overwrite",tx:e})}function za(e){return ee(t=>t.normalize(e))}function Aa(){return ee(e=>e.trim())}function Ea(){return ee(e=>e.toLowerCase())}function Ta(){return ee(e=>e.toUpperCase())}function $a(){return ee(e=>Fo(e))}function Ia(e,t,n){return new e({type:"array",element:t,...y(n)})}function Pa(e,t,n){return new e({type:"custom",check:"custom",fn:t,...y(n)})}function Ca(e,t){const n=xa(r=>(r.addIssue=o=>{if(typeof o=="string")r.issues.push(se(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(se(i))}},e(r.value,r)),t);return n}function xa(e,t){const n=new q({check:"custom",...y(t)});return n._zod.check=e,n}function fn(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??ae,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 pn(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
+ `)}f.write("payload.value = newResult;"),f.write("return payload;");const k=f.compile();return(I,A)=>k(g,I,A)};let i;const s=he,a=!ge.jitless,u=a&&Wo.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 Cs=l("$ZodUnion",(e,t)=>{E.init(e,t),w(e._zod,"optin",()=>t.options.some(r=>r._zod.optin==="optional")?"optional":void 0),w(e._zod,"optout",()=>t.options.some(r=>r._zod.optout==="optional")?"optional":void 0),w(e._zod,"values",()=>{if(t.options.every(r=>r._zod.values))return new Set(t.options.flatMap(r=>Array.from(r._zod.values)))}),w(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=>Je(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)}}),xs=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 Ke(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(se(e)&&se(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=Ke(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=Ke(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=Ke(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 Os=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=>Vo.has(typeof o)).map(o=>typeof o=="string"?me(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}}),Zs=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",w(e._zod,"values",()=>t.innerType._zod.values?new Set([...t.innerType._zod.values,void 0]):void 0),w(e._zod,"pattern",()=>{const n=t.innerType._zod.pattern;return n?new RegExp(`^(${Je(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)}}),Rs=l("$ZodExactOptional",(e,t)=>{an.init(e,t),w(e._zod,"values",()=>t.innerType._zod.values),w(e._zod,"pattern",()=>t.innerType._zod.pattern),e._zod.parse=(n,r)=>t.innerType._zod.run(n,r)}),Ls=l("$ZodNullable",(e,t)=>{E.init(e,t),w(e._zod,"optin",()=>t.innerType._zod.optin),w(e._zod,"optout",()=>t.innerType._zod.optout),w(e._zod,"pattern",()=>{const n=t.innerType._zod.pattern;return n?new RegExp(`^(${Je(n.source)}|null)$`):void 0}),w(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)}),Ns=l("$ZodDefault",(e,t)=>{E.init(e,t),e._zod.optin="optional",w(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 js=l("$ZodPrefault",(e,t)=>{E.init(e,t),e._zod.optin="optional",w(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))}),qs=l("$ZodNonOptional",(e,t)=>{E.init(e,t),w(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 Ds=l("$ZodCatch",(e,t)=>{E.init(e,t),e._zod.optin="optional",w(e._zod,"optout",()=>t.innerType._zod.optout),w(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)}}),Us=l("$ZodPipe",(e,t)=>{E.init(e,t),w(e._zod,"values",()=>t.in._zod.values),w(e._zod,"optin",()=>t.in._zod.optin),w(e._zod,"optout",()=>t.out._zod.optout),w(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=>ke(s,t.in,r)):ke(i,t.in,r)}const o=t.in._zod.run(n,r);return o instanceof Promise?o.then(i=>ke(i,t.out,r)):ke(o,t.out,r)}});function ke(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 Bs=l("$ZodReadonly",(e,t)=>{E.init(e,t),w(e._zod,"propValues",()=>t.innerType._zod.propValues),w(e._zod,"values",()=>t.innerType._zod.values),w(e._zod,"optin",()=>t.innerType?._zod?.optin),w(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 Ms=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(ae(o))}}var fn,Fs=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 Hs(){return new Fs}(fn=globalThis).__zod_globalRegistry??(fn.__zod_globalRegistry=Hs());var ce=globalThis.__zod_globalRegistry;function Js(e,t){return new e({type:"string",...y(t)})}function Qs(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 Ws(e,t){return new e({type:"string",format:"uuid",check:"string_format",abort:!1,...y(t)})}function Vs(e,t){return new e({type:"string",format:"uuid",check:"string_format",abort:!1,version:"v4",...y(t)})}function Gs(e,t){return new e({type:"string",format:"uuid",check:"string_format",abort:!1,version:"v6",...y(t)})}function Ks(e,t){return new e({type:"string",format:"uuid",check:"string_format",abort:!1,version:"v7",...y(t)})}function Ys(e,t){return new e({type:"string",format:"url",check:"string_format",abort:!1,...y(t)})}function Xs(e,t){return new e({type:"string",format:"emoji",check:"string_format",abort:!1,...y(t)})}function ea(e,t){return new e({type:"string",format:"nanoid",check:"string_format",abort:!1,...y(t)})}function ta(e,t){return new e({type:"string",format:"cuid",check:"string_format",abort:!1,...y(t)})}function na(e,t){return new e({type:"string",format:"cuid2",check:"string_format",abort:!1,...y(t)})}function ra(e,t){return new e({type:"string",format:"ulid",check:"string_format",abort:!1,...y(t)})}function oa(e,t){return new e({type:"string",format:"xid",check:"string_format",abort:!1,...y(t)})}function ia(e,t){return new e({type:"string",format:"ksuid",check:"string_format",abort:!1,...y(t)})}function sa(e,t){return new e({type:"string",format:"ipv4",check:"string_format",abort:!1,...y(t)})}function aa(e,t){return new e({type:"string",format:"ipv6",check:"string_format",abort:!1,...y(t)})}function ca(e,t){return new e({type:"string",format:"cidrv4",check:"string_format",abort:!1,...y(t)})}function ua(e,t){return new e({type:"string",format:"cidrv6",check:"string_format",abort:!1,...y(t)})}function la(e,t){return new e({type:"string",format:"base64",check:"string_format",abort:!1,...y(t)})}function da(e,t){return new e({type:"string",format:"base64url",check:"string_format",abort:!1,...y(t)})}function fa(e,t){return new e({type:"string",format:"e164",check:"string_format",abort:!1,...y(t)})}function pa(e,t){return new e({type:"string",format:"jwt",check:"string_format",abort:!1,...y(t)})}function ga(e,t){return new e({type:"string",format:"datetime",check:"string_format",offset:!1,local:!1,precision:null,...y(t)})}function ha(e,t){return new e({type:"string",format:"date",check:"string_format",...y(t)})}function ma(e,t){return new e({type:"string",format:"time",check:"string_format",precision:null,...y(t)})}function ya(e,t){return new e({type:"string",format:"duration",check:"string_format",...y(t)})}function _a(e,t){return new e({type:"boolean",...y(t)})}function va(e){return new e({type:"unknown"})}function ba(e,t){return new e({type:"never",...y(t)})}function gn(e,t){return new Bi({check:"max_length",...y(t),maximum:e})}function Se(e,t){return new Mi({check:"min_length",...y(t),minimum:e})}function hn(e,t){return new Fi({check:"length_equals",...y(t),length:e})}function wa(e,t){return new Hi({check:"string_format",format:"regex",...y(t),pattern:e})}function ka(e){return new Ji({check:"string_format",format:"lowercase",...y(e)})}function Sa(e){return new Qi({check:"string_format",format:"uppercase",...y(e)})}function za(e,t){return new Wi({check:"string_format",format:"includes",...y(t),includes:e})}function Aa(e,t){return new Vi({check:"string_format",format:"starts_with",...y(t),prefix:e})}function Ea(e,t){return new Gi({check:"string_format",format:"ends_with",...y(t),suffix:e})}function ee(e){return new Ki({check:"overwrite",tx:e})}function Ta(e){return ee(t=>t.normalize(e))}function $a(){return ee(e=>e.trim())}function Ia(){return ee(e=>e.toLowerCase())}function Pa(){return ee(e=>e.toUpperCase())}function Ca(){return ee(e=>Qo(e))}function xa(e,t,n){return new e({type:"array",element:t,...y(n)})}function Oa(e,t,n){return new e({type:"custom",check:"custom",fn:t,...y(n)})}function Za(e,t){const n=Ra(r=>(r.addIssue=o=>{if(typeof o=="string")r.issues.push(ae(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(ae(i))}},e(r.value,r)),t);return n}function Ra(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??ce,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>
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 gn(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:Se(t,"input",e.processors),output:Se(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 Oa=(e,t={})=>n=>{const r=fn({...n,processors:t});return $(e,r),pn(r,e),gn(r,e)},Se=(e,t,n={})=>r=>{const{libraryOptions:o,target:i}=r??{},s=fn({...o??{},target:i,io:t,processors:n});return $(e,s),pn(s,e),gn(s,e)},Za={guid:"uuid",url:"uri",datetime:"date-time",json_string:"json-string",regex:""},Ra=(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=Za[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}))])}},La=(e,t,n,r)=>{n.type="boolean"},Na=(e,t,n,r)=>{n.not={}},qa=(e,t,n,r)=>{},ja=(e,t,n,r)=>{const o=e._zod.def,i=Lt(o.entries);i.every(s=>typeof s=="number")&&(n.type="number"),i.every(s=>typeof s=="string")&&(n.type="string"),n.enum=i},Da=(e,t,n,r)=>{if(t.unrepresentable==="throw")throw new Error("Custom types cannot be represented in JSON Schema")},Ua=(e,t,n,r)=>{if(t.unrepresentable==="throw")throw new Error("Transforms cannot be represented in JSON Schema")},Ba=(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"]})},Ma=(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)},Fa=(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},Ha=(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]]},Ja=(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"}]},Qa=(e,t,n,r)=>{const o=e._zod.def;$(o.innerType,t,r);const i=t.seen.get(e);i.ref=o.innerType},Wa=(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))},Va=(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)))},Ga=(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},Ka=(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},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.readOnly=!0},hn=(e,t,n,r)=>{const o=e._zod.def;$(o.innerType,t,r);const i=t.seen.get(e);i.ref=o.innerType},Xa=l("ZodISODateTime",(e,t)=>{cs.init(e,t),z.init(e,t)});function ec(e){return da(Xa,e)}var tc=l("ZodISODate",(e,t)=>{us.init(e,t),z.init(e,t)});function nc(e){return fa(tc,e)}var rc=l("ZodISOTime",(e,t)=>{ls.init(e,t),z.init(e,t)});function oc(e){return pa(rc,e)}var ic=l("ZodISODuration",(e,t)=>{ds.init(e,t),z.init(e,t)});function sc(e){return ga(ic,e)}var ac=(e,t)=>{Mt.init(e,t),e.name="ZodError",Object.defineProperties(e,{format:{value:n=>ri(e,n)},flatten:{value:n=>ni(e,n)},addIssue:{value:n=>{e.issues.push(n),e.message=JSON.stringify(e.issues,Be,2)}},addIssues:{value:n=>{e.issues.push(...n),e.message=JSON.stringify(e.issues,Be,2)}},isEmpty:{get(){return e.issues.length===0}}})},Z=l("ZodError",ac,{Parent:Error}),cc=Qe(Z),uc=We(Z),lc=ye(Z),dc=_e(Z),fc=si(Z),pc=ai(Z),gc=ci(Z),hc=ui(Z),mc=li(Z),yc=di(Z),_c=fi(Z),vc=pi(Z),mn=new WeakMap;function ze(e,t,n){const r=Object.getPrototypeOf(e);let o=mn.get(r);if(o||(o=new Set,mn.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:Se(e,"input"),output:Se(e,"output")}}),e.toJSONSchema=Oa(e,{}),e.def=t,e.type=t.type,Object.defineProperty(e,"_def",{value:t}),e.parse=(n,r)=>cc(e,n,r,{callee:e.parse}),e.safeParse=(n,r)=>lc(e,n,r),e.parseAsync=async(n,r)=>uc(e,n,r,{callee:e.parseAsync}),e.safeParseAsync=async(n,r)=>dc(e,n,r),e.spa=e.safeParseAsync,e.encode=(n,r)=>fc(e,n,r),e.decode=(n,r)=>pc(e,n,r),e.encodeAsync=async(n,r)=>gc(e,n,r),e.decodeAsync=async(n,r)=>hc(e,n,r),e.safeEncode=(n,r)=>mc(e,n,r),e.safeDecode=(n,r)=>yc(e,n,r),e.safeEncodeAsync=async(n,r)=>_c(e,n,r),e.safeDecodeAsync=async(n,r)=>vc(e,n,r),ze(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(lu(n,r))},superRefine(n,r){return this.check(du(n,r))},overwrite(n){return this.check(ee(n))},optional(){return kn(this)},exactOptional(){return Kc(this)},nullable(){return Sn(this)},nullish(){return kn(Sn(this))},nonoptional(n){return ru(this,n)},array(){return vn(this)},or(n){return bn([this,n])},and(n){return Qc(this,n)},transform(n){return An(this,Vc(n))},default(n){return eu(this,n)},prefault(n){return nu(this,n)},catch(n){return iu(this,n)},pipe(n){return An(this,n)},readonly(){return cu(this)},describe(n){const r=this.clone();return ae.add(r,{description:n}),r},meta(...n){if(n.length===0)return ae.get(this);const r=this.clone();return ae.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 ae.get(e)?.description},configurable:!0}),e)),yn=l("_ZodString",(e,t)=>{Ve.init(e,t),T.init(e,t),e._zod.processJSONSchema=(r,o,i)=>Ra(e,r,o,i);const n=e._zod.bag;e.format=n.format??null,e.minLength=n.minimum??null,e.maxLength=n.maximum??null,ze(e,"_ZodString",{regex(...r){return this.check(_a(...r))},includes(...r){return this.check(wa(...r))},startsWith(...r){return this.check(ka(...r))},endsWith(...r){return this.check(Sa(...r))},min(...r){return this.check(ke(...r))},max(...r){return this.check(ln(...r))},length(...r){return this.check(dn(...r))},nonempty(...r){return this.check(ke(1,...r))},lowercase(r){return this.check(va(r))},uppercase(r){return this.check(ba(r))},trim(){return this.check(Aa())},normalize(...r){return this.check(za(...r))},toLowerCase(){return this.check(Ea())},toUpperCase(){return this.check(Ta())},slugify(){return this.check($a())}})}),bc=l("ZodString",(e,t)=>{Ve.init(e,t),yn.init(e,t),e.email=n=>e.check(Fs(wc,n)),e.url=n=>e.check(Vs(kc,n)),e.jwt=n=>e.check(la(Nc,n)),e.emoji=n=>e.check(Gs(Sc,n)),e.guid=n=>e.check(un(_n,n)),e.uuid=n=>e.check(Hs(Ae,n)),e.uuidv4=n=>e.check(Js(Ae,n)),e.uuidv6=n=>e.check(Qs(Ae,n)),e.uuidv7=n=>e.check(Ws(Ae,n)),e.nanoid=n=>e.check(Ks(zc,n)),e.guid=n=>e.check(un(_n,n)),e.cuid=n=>e.check(Ys(Ac,n)),e.cuid2=n=>e.check(Xs(Ec,n)),e.ulid=n=>e.check(ea(Tc,n)),e.base64=n=>e.check(aa(Zc,n)),e.base64url=n=>e.check(ca(Rc,n)),e.xid=n=>e.check(ta($c,n)),e.ksuid=n=>e.check(na(Ic,n)),e.ipv4=n=>e.check(ra(Pc,n)),e.ipv6=n=>e.check(oa(Cc,n)),e.cidrv4=n=>e.check(ia(xc,n)),e.cidrv6=n=>e.check(sa(Oc,n)),e.e164=n=>e.check(ua(Lc,n)),e.datetime=n=>e.check(ec(n)),e.date=n=>e.check(nc(n)),e.time=n=>e.check(oc(n)),e.duration=n=>e.check(sc(n))});function G(e){return Ms(bc,e)}var z=l("ZodStringFormat",(e,t)=>{S.init(e,t),yn.init(e,t)}),wc=l("ZodEmail",(e,t)=>{Xi.init(e,t),z.init(e,t)}),_n=l("ZodGUID",(e,t)=>{Ki.init(e,t),z.init(e,t)}),Ae=l("ZodUUID",(e,t)=>{Yi.init(e,t),z.init(e,t)}),kc=l("ZodURL",(e,t)=>{es.init(e,t),z.init(e,t)}),Sc=l("ZodEmoji",(e,t)=>{ts.init(e,t),z.init(e,t)}),zc=l("ZodNanoID",(e,t)=>{ns.init(e,t),z.init(e,t)}),Ac=l("ZodCUID",(e,t)=>{rs.init(e,t),z.init(e,t)}),Ec=l("ZodCUID2",(e,t)=>{os.init(e,t),z.init(e,t)}),Tc=l("ZodULID",(e,t)=>{is.init(e,t),z.init(e,t)}),$c=l("ZodXID",(e,t)=>{ss.init(e,t),z.init(e,t)}),Ic=l("ZodKSUID",(e,t)=>{as.init(e,t),z.init(e,t)}),Pc=l("ZodIPv4",(e,t)=>{fs.init(e,t),z.init(e,t)}),Cc=l("ZodIPv6",(e,t)=>{ps.init(e,t),z.init(e,t)}),xc=l("ZodCIDRv4",(e,t)=>{gs.init(e,t),z.init(e,t)}),Oc=l("ZodCIDRv6",(e,t)=>{hs.init(e,t),z.init(e,t)}),Zc=l("ZodBase64",(e,t)=>{ms.init(e,t),z.init(e,t)}),Rc=l("ZodBase64URL",(e,t)=>{_s.init(e,t),z.init(e,t)}),Lc=l("ZodE164",(e,t)=>{vs.init(e,t),z.init(e,t)}),Nc=l("ZodJWT",(e,t)=>{ws.init(e,t),z.init(e,t)}),qc=l("ZodBoolean",(e,t)=>{ks.init(e,t),T.init(e,t),e._zod.processJSONSchema=(n,r,o)=>La(e,n,r,o)});function jc(e){return ha(qc,e)}var Dc=l("ZodUnknown",(e,t)=>{Ss.init(e,t),T.init(e,t),e._zod.processJSONSchema=(n,r,o)=>qa(e,n,r,o)});function Ke(){return ma(Dc)}var Uc=l("ZodNever",(e,t)=>{zs.init(e,t),T.init(e,t),e._zod.processJSONSchema=(n,r,o)=>Na(e,n,r,o)});function Bc(e){return ya(Uc,e)}var Mc=l("ZodArray",(e,t)=>{As.init(e,t),T.init(e,t),e._zod.processJSONSchema=(n,r,o)=>Ba(e,n,r,o),e.element=t.element,ze(e,"ZodArray",{min(n,r){return this.check(ke(n,r))},nonempty(n){return this.check(ke(1,n))},max(n,r){return this.check(ln(n,r))},length(n,r){return this.check(dn(n,r))},unwrap(){return this.element}})});function vn(e,t){return Ia(Mc,e,t)}var Fc=l("ZodObject",(e,t)=>{Ts.init(e,t),T.init(e,t),e._zod.processJSONSchema=(n,r,o)=>Ma(e,n,r,o),w(e,"shape",()=>t.shape),ze(e,"ZodObject",{keyof(){return Xe(Object.keys(this._zod.def.shape))},catchall(n){return this.clone({...this._zod.def,catchall:n})},passthrough(){return this.clone({...this._zod.def,catchall:Ke()})},loose(){return this.clone({...this._zod.def,catchall:Ke()})},strict(){return this.clone({...this._zod.def,catchall:Bc()})},strip(){return this.clone({...this._zod.def,catchall:void 0})},extend(n){return Go(this,n)},safeExtend(n){return Ko(this,n)},merge(n){return Yo(this,n)},pick(n){return Wo(this,n)},omit(n){return Vo(this,n)},partial(...n){return Xo(wn,this,n[0])},required(...n){return ei(zn,this,n[0])}})});function ce(e,t){return new Fc({type:"object",shape:e??{},...y(t)})}var Hc=l("ZodUnion",(e,t)=>{$s.init(e,t),T.init(e,t),e._zod.processJSONSchema=(n,r,o)=>Fa(e,n,r,o),e.options=t.options});function bn(e,t){return new Hc({type:"union",options:e,...y(t)})}var Jc=l("ZodIntersection",(e,t)=>{Is.init(e,t),T.init(e,t),e._zod.processJSONSchema=(n,r,o)=>Ha(e,n,r,o)});function Qc(e,t){return new Jc({type:"intersection",left:e,right:t})}var Ye=l("ZodEnum",(e,t)=>{Ps.init(e,t),T.init(e,t),e._zod.processJSONSchema=(r,o,i)=>ja(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 Ye({...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 Ye({...t,checks:[],...y(o),entries:i})}});function Xe(e,t){return new Ye({type:"enum",entries:Array.isArray(e)?Object.fromEntries(e.map(n=>[n,n])):e,...y(t)})}var Wc=l("ZodTransform",(e,t)=>{Cs.init(e,t),T.init(e,t),e._zod.processJSONSchema=(n,r,o)=>Ua(e,n,r,o),e._zod.parse=(n,r)=>{if(r.direction==="backward")throw new Rt(e.constructor.name);n.addIssue=i=>{if(typeof i=="string")n.issues.push(se(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(se(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 Vc(e){return new Wc({type:"transform",transform:e})}var wn=l("ZodOptional",(e,t)=>{nn.init(e,t),T.init(e,t),e._zod.processJSONSchema=(n,r,o)=>hn(e,n,r,o),e.unwrap=()=>e._zod.def.innerType});function kn(e){return new wn({type:"optional",innerType:e})}var Gc=l("ZodExactOptional",(e,t)=>{xs.init(e,t),T.init(e,t),e._zod.processJSONSchema=(n,r,o)=>hn(e,n,r,o),e.unwrap=()=>e._zod.def.innerType});function Kc(e){return new Gc({type:"optional",innerType:e})}var Yc=l("ZodNullable",(e,t)=>{Os.init(e,t),T.init(e,t),e._zod.processJSONSchema=(n,r,o)=>Ja(e,n,r,o),e.unwrap=()=>e._zod.def.innerType});function Sn(e){return new Yc({type:"nullable",innerType:e})}var Xc=l("ZodDefault",(e,t)=>{Zs.init(e,t),T.init(e,t),e._zod.processJSONSchema=(n,r,o)=>Wa(e,n,r,o),e.unwrap=()=>e._zod.def.innerType,e.removeDefault=e.unwrap});function eu(e,t){return new Xc({type:"default",innerType:e,get defaultValue(){return typeof t=="function"?t():Dt(t)}})}var tu=l("ZodPrefault",(e,t)=>{Rs.init(e,t),T.init(e,t),e._zod.processJSONSchema=(n,r,o)=>Va(e,n,r,o),e.unwrap=()=>e._zod.def.innerType});function nu(e,t){return new tu({type:"prefault",innerType:e,get defaultValue(){return typeof t=="function"?t():Dt(t)}})}var zn=l("ZodNonOptional",(e,t)=>{Ls.init(e,t),T.init(e,t),e._zod.processJSONSchema=(n,r,o)=>Qa(e,n,r,o),e.unwrap=()=>e._zod.def.innerType});function ru(e,t){return new zn({type:"nonoptional",innerType:e,...y(t)})}var ou=l("ZodCatch",(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,e.removeCatch=e.unwrap});function iu(e,t){return new ou({type:"catch",innerType:e,catchValue:typeof t=="function"?t:()=>t})}var su=l("ZodPipe",(e,t)=>{qs.init(e,t),T.init(e,t),e._zod.processJSONSchema=(n,r,o)=>Ka(e,n,r,o),e.in=t.in,e.out=t.out});function An(e,t){return new su({type:"pipe",in:e,out:t})}var au=l("ZodReadonly",(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});function cu(e){return new au({type:"readonly",innerType:e})}var uu=l("ZodCustom",(e,t)=>{Ds.init(e,t),T.init(e,t),e._zod.processJSONSchema=(n,r,o)=>Da(e,n,r,o)});function lu(e,t={}){return Pa(uu,e,t)}function du(e,t){return Ca(e,t)}var fu=ce({title:G(),type:G(),payload:Ke().optional()}),pu=ce({label:G(),action:fu,variant:Xe(["primary","outline","ghost"]).optional()}),gu=ce({orientation:Xe(["horizontal","vertical"]).optional(),wrap:jc().optional()}),hu=ce({placeholder:bn([G(),vn(G())]).optional(),ctaLabel:G().optional()}),mu=ce({text:G()}),yu={components:{ActionButton:{schema:pu,description:"A single clickable QNA action button."},ButtonRow:{schema:gu,description:"Container for a group of QNA action buttons."},TextInput:{schema:hu,description:"Free-text input with rotating placeholder and CTA button."},QuestionHeading:{schema:mu,description:"A heading displayed above the QNA button group."}}};M.GengageQNA=Ot,M.createDefaultQnaUISpecRegistry=Et,M.createQNAWidget=Mo,M.defaultQnaUnknownUISpecRenderer=Ue,M.qnaCatalog=yu,M.renderQnaUISpec=Tt})(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},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:ze(t,"input",e.processors),output:ze(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 La=(e,t={})=>n=>{const r=mn({...n,processors:t});return $(e,r),yn(r,e),_n(r,e)},ze=(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)},Na={guid:"uuid",url:"uri",datetime:"date-time",json_string:"json-string",regex:""},ja=(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=Na[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}))])}},qa=(e,t,n,r)=>{n.type="boolean"},Da=(e,t,n,r)=>{n.not={}},Ua=(e,t,n,r)=>{},Ba=(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},Ma=(e,t,n,r)=>{if(t.unrepresentable==="throw")throw new Error("Custom types cannot be represented in JSON Schema")},Fa=(e,t,n,r)=>{if(t.unrepresentable==="throw")throw new Error("Transforms cannot be represented in JSON Schema")},Ha=(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"]})},Ja=(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)},Qa=(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},Wa=(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]]},Va=(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"}]},Ga=(e,t,n,r)=>{const o=e._zod.def;$(o.innerType,t,r);const i=t.seen.get(e);i.ref=o.innerType},Ka=(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))},Ya=(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)))},Xa=(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},ec=(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},tc=(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},nc=l("ZodISODateTime",(e,t)=>{ds.init(e,t),z.init(e,t)});function rc(e){return ga(nc,e)}var oc=l("ZodISODate",(e,t)=>{fs.init(e,t),z.init(e,t)});function ic(e){return ha(oc,e)}var sc=l("ZodISOTime",(e,t)=>{ps.init(e,t),z.init(e,t)});function ac(e){return ma(sc,e)}var cc=l("ZodISODuration",(e,t)=>{gs.init(e,t),z.init(e,t)});function uc(e){return ya(cc,e)}var lc=(e,t)=>{Qt.init(e,t),e.name="ZodError",Object.defineProperties(e,{format:{value:n=>si(e,n)},flatten:{value:n=>ii(e,n)},addIssue:{value:n=>{e.issues.push(n),e.message=JSON.stringify(e.issues,Me,2)}},addIssues:{value:n=>{e.issues.push(...n),e.message=JSON.stringify(e.issues,Me,2)}},isEmpty:{get(){return e.issues.length===0}}})},Z=l("ZodError",lc,{Parent:Error}),dc=We(Z),fc=Ve(Z),pc=_e(Z),gc=ve(Z),hc=ui(Z),mc=li(Z),yc=di(Z),_c=fi(Z),vc=pi(Z),bc=gi(Z),wc=hi(Z),kc=mi(Z),bn=new WeakMap;function Ae(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:ze(e,"input"),output:ze(e,"output")}}),e.toJSONSchema=La(e,{}),e.def=t,e.type=t.type,Object.defineProperty(e,"_def",{value:t}),e.parse=(n,r)=>dc(e,n,r,{callee:e.parse}),e.safeParse=(n,r)=>pc(e,n,r),e.parseAsync=async(n,r)=>fc(e,n,r,{callee:e.parseAsync}),e.safeParseAsync=async(n,r)=>gc(e,n,r),e.spa=e.safeParseAsync,e.encode=(n,r)=>hc(e,n,r),e.decode=(n,r)=>mc(e,n,r),e.encodeAsync=async(n,r)=>yc(e,n,r),e.decodeAsync=async(n,r)=>_c(e,n,r),e.safeEncode=(n,r)=>vc(e,n,r),e.safeDecode=(n,r)=>bc(e,n,r),e.safeEncodeAsync=async(n,r)=>wc(e,n,r),e.safeDecodeAsync=async(n,r)=>kc(e,n,r),Ae(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(pu(n,r))},superRefine(n,r){return this.check(gu(n,r))},overwrite(n){return this.check(ee(n))},optional(){return En(this)},exactOptional(){return eu(this)},nullable(){return Tn(this)},nullish(){return En(Tn(this))},nonoptional(n){return su(this,n)},array(){return Sn(this)},or(n){return zn([this,n])},and(n){return Gc(this,n)},transform(n){return In(this,Yc(n))},default(n){return ru(this,n)},prefault(n){return iu(this,n)},catch(n){return cu(this,n)},pipe(n){return In(this,n)},readonly(){return du(this)},describe(n){const r=this.clone();return ce.add(r,{description:n}),r},meta(...n){if(n.length===0)return ce.get(this);const r=this.clone();return ce.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 ce.get(e)?.description},configurable:!0}),e)),wn=l("_ZodString",(e,t)=>{Ge.init(e,t),T.init(e,t),e._zod.processJSONSchema=(r,o,i)=>ja(e,r,o,i);const n=e._zod.bag;e.format=n.format??null,e.minLength=n.minimum??null,e.maxLength=n.maximum??null,Ae(e,"_ZodString",{regex(...r){return this.check(wa(...r))},includes(...r){return this.check(za(...r))},startsWith(...r){return this.check(Aa(...r))},endsWith(...r){return this.check(Ea(...r))},min(...r){return this.check(Se(...r))},max(...r){return this.check(gn(...r))},length(...r){return this.check(hn(...r))},nonempty(...r){return this.check(Se(1,...r))},lowercase(r){return this.check(ka(r))},uppercase(r){return this.check(Sa(r))},trim(){return this.check($a())},normalize(...r){return this.check(Ta(...r))},toLowerCase(){return this.check(Ia())},toUpperCase(){return this.check(Pa())},slugify(){return this.check(Ca())}})}),Sc=l("ZodString",(e,t)=>{Ge.init(e,t),wn.init(e,t),e.email=n=>e.check(Qs(zc,n)),e.url=n=>e.check(Ys(Ac,n)),e.jwt=n=>e.check(pa(Dc,n)),e.emoji=n=>e.check(Xs(Ec,n)),e.guid=n=>e.check(pn(kn,n)),e.uuid=n=>e.check(Ws(Ee,n)),e.uuidv4=n=>e.check(Vs(Ee,n)),e.uuidv6=n=>e.check(Gs(Ee,n)),e.uuidv7=n=>e.check(Ks(Ee,n)),e.nanoid=n=>e.check(ea(Tc,n)),e.guid=n=>e.check(pn(kn,n)),e.cuid=n=>e.check(ta($c,n)),e.cuid2=n=>e.check(na(Ic,n)),e.ulid=n=>e.check(ra(Pc,n)),e.base64=n=>e.check(la(Nc,n)),e.base64url=n=>e.check(da(jc,n)),e.xid=n=>e.check(oa(Cc,n)),e.ksuid=n=>e.check(ia(xc,n)),e.ipv4=n=>e.check(sa(Oc,n)),e.ipv6=n=>e.check(aa(Zc,n)),e.cidrv4=n=>e.check(ca(Rc,n)),e.cidrv6=n=>e.check(ua(Lc,n)),e.e164=n=>e.check(fa(qc,n)),e.datetime=n=>e.check(rc(n)),e.date=n=>e.check(ic(n)),e.time=n=>e.check(ac(n)),e.duration=n=>e.check(uc(n))});function G(e){return Js(Sc,e)}var z=l("ZodStringFormat",(e,t)=>{S.init(e,t),wn.init(e,t)}),zc=l("ZodEmail",(e,t)=>{ns.init(e,t),z.init(e,t)}),kn=l("ZodGUID",(e,t)=>{es.init(e,t),z.init(e,t)}),Ee=l("ZodUUID",(e,t)=>{ts.init(e,t),z.init(e,t)}),Ac=l("ZodURL",(e,t)=>{rs.init(e,t),z.init(e,t)}),Ec=l("ZodEmoji",(e,t)=>{os.init(e,t),z.init(e,t)}),Tc=l("ZodNanoID",(e,t)=>{is.init(e,t),z.init(e,t)}),$c=l("ZodCUID",(e,t)=>{ss.init(e,t),z.init(e,t)}),Ic=l("ZodCUID2",(e,t)=>{as.init(e,t),z.init(e,t)}),Pc=l("ZodULID",(e,t)=>{cs.init(e,t),z.init(e,t)}),Cc=l("ZodXID",(e,t)=>{us.init(e,t),z.init(e,t)}),xc=l("ZodKSUID",(e,t)=>{ls.init(e,t),z.init(e,t)}),Oc=l("ZodIPv4",(e,t)=>{hs.init(e,t),z.init(e,t)}),Zc=l("ZodIPv6",(e,t)=>{ms.init(e,t),z.init(e,t)}),Rc=l("ZodCIDRv4",(e,t)=>{ys.init(e,t),z.init(e,t)}),Lc=l("ZodCIDRv6",(e,t)=>{_s.init(e,t),z.init(e,t)}),Nc=l("ZodBase64",(e,t)=>{vs.init(e,t),z.init(e,t)}),jc=l("ZodBase64URL",(e,t)=>{ws.init(e,t),z.init(e,t)}),qc=l("ZodE164",(e,t)=>{ks.init(e,t),z.init(e,t)}),Dc=l("ZodJWT",(e,t)=>{zs.init(e,t),z.init(e,t)}),Uc=l("ZodBoolean",(e,t)=>{As.init(e,t),T.init(e,t),e._zod.processJSONSchema=(n,r,o)=>qa(e,n,r,o)});function Bc(e){return _a(Uc,e)}var Mc=l("ZodUnknown",(e,t)=>{Es.init(e,t),T.init(e,t),e._zod.processJSONSchema=(n,r,o)=>Ua(e,n,r,o)});function Ye(){return va(Mc)}var Fc=l("ZodNever",(e,t)=>{Ts.init(e,t),T.init(e,t),e._zod.processJSONSchema=(n,r,o)=>Da(e,n,r,o)});function Hc(e){return ba(Fc,e)}var Jc=l("ZodArray",(e,t)=>{$s.init(e,t),T.init(e,t),e._zod.processJSONSchema=(n,r,o)=>Ha(e,n,r,o),e.element=t.element,Ae(e,"ZodArray",{min(n,r){return this.check(Se(n,r))},nonempty(n){return this.check(Se(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 xa(Jc,e,t)}var Qc=l("ZodObject",(e,t)=>{Ps.init(e,t),T.init(e,t),e._zod.processJSONSchema=(n,r,o)=>Ja(e,n,r,o),w(e,"shape",()=>t.shape),Ae(e,"ZodObject",{keyof(){return et(Object.keys(this._zod.def.shape))},catchall(n){return this.clone({...this._zod.def,catchall:n})},passthrough(){return this.clone({...this._zod.def,catchall:Ye()})},loose(){return this.clone({...this._zod.def,catchall:Ye()})},strict(){return this.clone({...this._zod.def,catchall:Hc()})},strip(){return this.clone({...this._zod.def,catchall:void 0})},extend(n){return Xo(this,n)},safeExtend(n){return ei(this,n)},merge(n){return ti(this,n)},pick(n){return Ko(this,n)},omit(n){return Yo(this,n)},partial(...n){return ni(An,this,n[0])},required(...n){return ri($n,this,n[0])}})});function ue(e,t){return new Qc({type:"object",shape:e??{},...y(t)})}var Wc=l("ZodUnion",(e,t)=>{Cs.init(e,t),T.init(e,t),e._zod.processJSONSchema=(n,r,o)=>Qa(e,n,r,o),e.options=t.options});function zn(e,t){return new Wc({type:"union",options:e,...y(t)})}var Vc=l("ZodIntersection",(e,t)=>{xs.init(e,t),T.init(e,t),e._zod.processJSONSchema=(n,r,o)=>Wa(e,n,r,o)});function Gc(e,t){return new Vc({type:"intersection",left:e,right:t})}var Xe=l("ZodEnum",(e,t)=>{Os.init(e,t),T.init(e,t),e._zod.processJSONSchema=(r,o,i)=>Ba(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 Xe({...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 Xe({...t,checks:[],...y(o),entries:i})}});function et(e,t){return new Xe({type:"enum",entries:Array.isArray(e)?Object.fromEntries(e.map(n=>[n,n])):e,...y(t)})}var Kc=l("ZodTransform",(e,t)=>{Zs.init(e,t),T.init(e,t),e._zod.processJSONSchema=(n,r,o)=>Fa(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(ae(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(ae(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 Yc(e){return new Kc({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 Xc=l("ZodExactOptional",(e,t)=>{Rs.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 eu(e){return new Xc({type:"optional",innerType:e})}var tu=l("ZodNullable",(e,t)=>{Ls.init(e,t),T.init(e,t),e._zod.processJSONSchema=(n,r,o)=>Va(e,n,r,o),e.unwrap=()=>e._zod.def.innerType});function Tn(e){return new tu({type:"nullable",innerType:e})}var nu=l("ZodDefault",(e,t)=>{Ns.init(e,t),T.init(e,t),e._zod.processJSONSchema=(n,r,o)=>Ka(e,n,r,o),e.unwrap=()=>e._zod.def.innerType,e.removeDefault=e.unwrap});function ru(e,t){return new nu({type:"default",innerType:e,get defaultValue(){return typeof t=="function"?t():Ft(t)}})}var ou=l("ZodPrefault",(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});function iu(e,t){return new ou({type:"prefault",innerType:e,get defaultValue(){return typeof t=="function"?t():Ft(t)}})}var $n=l("ZodNonOptional",(e,t)=>{qs.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 su(e,t){return new $n({type:"nonoptional",innerType:e,...y(t)})}var au=l("ZodCatch",(e,t)=>{Ds.init(e,t),T.init(e,t),e._zod.processJSONSchema=(n,r,o)=>Xa(e,n,r,o),e.unwrap=()=>e._zod.def.innerType,e.removeCatch=e.unwrap});function cu(e,t){return new au({type:"catch",innerType:e,catchValue:typeof t=="function"?t:()=>t})}var uu=l("ZodPipe",(e,t)=>{Us.init(e,t),T.init(e,t),e._zod.processJSONSchema=(n,r,o)=>ec(e,n,r,o),e.in=t.in,e.out=t.out});function In(e,t){return new uu({type:"pipe",in:e,out:t})}var lu=l("ZodReadonly",(e,t)=>{Bs.init(e,t),T.init(e,t),e._zod.processJSONSchema=(n,r,o)=>tc(e,n,r,o),e.unwrap=()=>e._zod.def.innerType});function du(e){return new lu({type:"readonly",innerType:e})}var fu=l("ZodCustom",(e,t)=>{Ms.init(e,t),T.init(e,t),e._zod.processJSONSchema=(n,r,o)=>Ma(e,n,r,o)});function pu(e,t={}){return Oa(fu,e,t)}function gu(e,t){return Za(e,t)}var hu=ue({title:G(),type:G(),payload:Ye().optional()}),mu=ue({label:G(),action:hu,variant:et(["primary","outline","ghost"]).optional()}),yu=ue({orientation:et(["horizontal","vertical"]).optional(),wrap:Bc().optional()}),_u=ue({placeholder:zn([G(),Sn(G())]).optional(),ctaLabel:G().optional()}),vu=ue({text:G()}),bu={components:{ActionButton:{schema:mu,description:"A single clickable QNA action button."},ButtonRow:{schema:yu,description:"Container for a group of QNA action buttons."},TextInput:{schema:_u,description:"Free-text input with rotating placeholder and CTA button."},QuestionHeading:{schema:vu,description:"A heading displayed above the QNA button group."}}};M.GengageQNA=Nt,M.createDefaultQnaUISpecRegistry=Pt,M.createQNAWidget=Jo,M.defaultQnaUnknownUISpecRenderer=Be,M.qnaCatalog=bu,M.renderQnaUISpec=Ct})(this.Gengage=this.Gengage||{});