@gengage/assistant-fe 0.3.19 → 0.3.20
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/chat/api.d.ts +0 -1
- package/dist/chat/assistant-mode.d.ts +0 -1
- package/dist/chat/attachment-utils.d.ts +0 -1
- package/dist/chat/catalog.d.ts +0 -1
- package/dist/chat/chat-presentation-state.d.ts +0 -1
- package/dist/chat/components/AIGroupingCards.d.ts +0 -1
- package/dist/chat/components/AISuggestedSearchCards.d.ts +0 -1
- package/dist/chat/components/AITopPicks.d.ts +0 -1
- package/dist/chat/components/BeautyPhotoStep.d.ts +0 -1
- package/dist/chat/components/CategoriesContainer.d.ts +0 -1
- package/dist/chat/components/ChatDrawer.d.ts +0 -1
- package/dist/chat/components/ChoicePrompter.d.ts +0 -1
- package/dist/chat/components/ComparisonTable.d.ts +0 -1
- package/dist/chat/components/ConsultingStylePicker.d.ts +0 -1
- package/dist/chat/components/FloatingComparisonButton.d.ts +0 -1
- package/dist/chat/components/GroundingReviewCard.d.ts +0 -1
- package/dist/chat/components/HandoffNotice.d.ts +0 -1
- package/dist/chat/components/KvkkBanner.d.ts +0 -1
- package/dist/chat/components/Launcher.d.ts +0 -1
- package/dist/chat/components/PanelTopBar.d.ts +0 -1
- package/dist/chat/components/PhotoAnalysisCard.d.ts +0 -1
- package/dist/chat/components/ProductSummaryCard.d.ts +0 -1
- package/dist/chat/components/ProsAndCons.d.ts +0 -1
- package/dist/chat/components/ReviewHighlights.d.ts +0 -1
- package/dist/chat/components/ThumbnailsColumn.d.ts +0 -1
- package/dist/chat/components/actionClassifier.d.ts +0 -1
- package/dist/chat/components/product-price-layout.d.ts +0 -1
- package/dist/chat/components/productMentionLinker.d.ts +0 -1
- package/dist/chat/components/renderUISpec.d.ts +0 -1
- package/dist/chat/components/typewriter.d.ts +0 -1
- package/dist/chat/extendedModeManager.d.ts +0 -1
- package/dist/chat/features/beauty-consulting/consulting-grid.d.ts +0 -1
- package/dist/chat/features/beauty-consulting/drawer-extensions.d.ts +0 -1
- package/dist/chat/features/beauty-consulting/mode-controller.d.ts +0 -1
- package/dist/chat/features/beauty-consulting/registry.d.ts +0 -1
- package/dist/chat/features/beauty-consulting/stream-handler.d.ts +0 -1
- package/dist/chat/index.d.ts +0 -1
- package/dist/chat/kvkk.d.ts +0 -1
- package/dist/chat/locales/en.d.ts +0 -1
- package/dist/chat/locales/index.d.ts +0 -1
- package/dist/chat/locales/tr.d.ts +0 -1
- package/dist/chat/panel-manager.d.ts +0 -1
- package/dist/chat/session-persistence.d.ts +0 -1
- package/dist/chat/stream-error-display.d.ts +0 -1
- package/dist/chat/types.d.ts +0 -1
- package/dist/chat/utils/chat-presentation-debug.d.ts +0 -1
- package/dist/chat/utils/get-chat-scroll-element.d.ts +0 -1
- package/dist/chat/utils/ui.d.ts +0 -1
- package/dist/chat-CuPO9t-Z.cjs +93 -0
- package/dist/chat-yAf9OADM.js +7111 -0
- package/dist/chat.cjs +1 -1
- package/dist/chat.iife.js +48 -49
- package/dist/chat.js +13 -2
- package/dist/common/action-router.d.ts +0 -1
- package/dist/common/activity-tracker.d.ts +0 -1
- package/dist/common/analytics-events.d.ts +0 -1
- package/dist/common/analytics.d.ts +0 -1
- package/dist/common/api-paths.d.ts +0 -1
- package/dist/common/client.d.ts +0 -1
- package/dist/common/communication-bridge.d.ts +0 -1
- package/dist/common/config-schema.d.ts +0 -1
- package/dist/common/connection-warning.d.ts +0 -1
- package/dist/common/consulting-sources.d.ts +0 -1
- package/dist/common/context.d.ts +0 -1
- package/dist/common/customization-factories.d.ts +0 -1
- package/dist/common/debug.d.ts +0 -1
- package/dist/common/events.d.ts +0 -1
- package/dist/common/ga-datalayer.d.ts +0 -1
- package/dist/common/global-error-toast.d.ts +0 -1
- package/dist/common/index.d.ts +0 -1
- package/dist/common/indexed-db.d.ts +0 -1
- package/dist/common/native-webview.d.ts +0 -1
- package/dist/common/overlay.d.ts +0 -1
- package/dist/common/page-detect.d.ts +0 -1
- package/dist/common/pill-launcher.d.ts +0 -1
- package/dist/common/preflight.d.ts +0 -1
- package/dist/common/price-formatter.d.ts +0 -1
- package/dist/common/product-utils.d.ts +0 -1
- package/dist/common/protocol-adapter.d.ts +0 -1
- package/dist/common/renderer/dom.d.ts +0 -1
- package/dist/common/renderer/index.d.ts +0 -1
- package/dist/common/renderer/overrides.d.ts +0 -1
- package/dist/common/renderer/registry.d.ts +0 -1
- package/dist/common/renderer/types.d.ts +0 -1
- package/dist/common/safe-html.d.ts +0 -1
- package/dist/common/skeleton.d.ts +0 -1
- package/dist/common/streaming.d.ts +0 -1
- package/dist/common/suggested-search-keywords.d.ts +0 -1
- package/dist/common/theme-utils.d.ts +0 -1
- package/dist/common/tts-player.d.ts +0 -1
- package/dist/common/types.d.ts +0 -1
- package/dist/common/ui-theme.d.ts +0 -1
- package/dist/common/uuidv7.d.ts +0 -1
- package/dist/common/voice-input.d.ts +0 -1
- package/dist/common/widget-base.d.ts +0 -1
- package/dist/common-BzegEdJs.cjs +1 -0
- package/dist/common-C8NRcP7O.js +367 -0
- package/dist/common.cjs +1 -1
- package/dist/common.js +86 -7
- package/dist/connection-warning-CL1CReZo.cjs +1 -0
- package/dist/connection-warning-CVZzlGJt.js +95 -0
- package/dist/ga-datalayer-CgI6Kb_i.js +1044 -0
- package/dist/ga-datalayer-DkfsAHf9.cjs +47 -0
- package/dist/index.cjs +1 -1
- package/dist/index.d.ts +0 -1
- package/dist/index.js +76 -10
- package/dist/native/index.d.ts +0 -1
- package/dist/native-webview-B8vOoxns.js +571 -0
- package/dist/native-webview-D2lDXTh3.cjs +1 -0
- package/dist/native.cjs +1 -1
- package/dist/native.iife.js +51 -52
- package/dist/native.js +8 -2
- package/dist/product-utils-Bm3aiAlJ.js +46 -0
- package/dist/product-utils-DLXQQJbh.cjs +1 -0
- package/dist/qna/api.d.ts +0 -1
- package/dist/qna/catalog.d.ts +0 -1
- package/dist/qna/components/ButtonRow.d.ts +0 -1
- package/dist/qna/components/TextInput.d.ts +0 -1
- package/dist/qna/components/renderUISpec.d.ts +0 -1
- package/dist/qna/index.d.ts +0 -1
- package/dist/qna/locales/en.d.ts +0 -1
- package/dist/qna/locales/index.d.ts +0 -1
- package/dist/qna/locales/tr.d.ts +0 -1
- package/dist/qna/normalize-ui-specs.d.ts +0 -1
- package/dist/qna/types.d.ts +0 -1
- package/dist/qna-KizG_W1J.cjs +1 -0
- package/dist/qna-YSaIDxjs.js +663 -0
- package/dist/qna.cjs +1 -1
- package/dist/qna.iife.js +35 -36
- package/dist/qna.js +9 -2
- package/dist/schemas-B6RjqKrg.cjs +40 -0
- package/dist/schemas-PkedCk_-.js +4047 -0
- package/dist/simbut/index.d.ts +0 -1
- package/dist/simbut/locales.d.ts +0 -1
- package/dist/simbut/types.d.ts +0 -1
- package/dist/simbut-B2jXtckF.cjs +1 -0
- package/dist/simbut-BI054QK0.js +71 -0
- package/dist/simbut.cjs +1 -1
- package/dist/simbut.iife.js +15 -16
- package/dist/simbut.js +5 -2
- package/dist/simrel/api.d.ts +0 -1
- package/dist/simrel/catalog.d.ts +0 -1
- package/dist/simrel/components/GroupTabs.d.ts +0 -1
- package/dist/simrel/components/ProductCard.d.ts +0 -1
- package/dist/simrel/components/ProductGrid.d.ts +0 -1
- package/dist/simrel/components/renderUISpec.d.ts +0 -1
- package/dist/simrel/index.d.ts +0 -1
- package/dist/simrel/locales/en.d.ts +0 -1
- package/dist/simrel/locales/index.d.ts +0 -1
- package/dist/simrel/locales/tr.d.ts +0 -1
- package/dist/simrel/types.d.ts +0 -1
- package/dist/simrel-C-DKpfVB.js +694 -0
- package/dist/simrel-vL0woDkE.cjs +1 -0
- package/dist/simrel.cjs +1 -1
- package/dist/simrel.iife.js +35 -36
- package/dist/simrel.js +9 -2
- package/package.json +1 -1
- package/dist/chat/api.d.ts.map +0 -1
- package/dist/chat/assistant-mode.d.ts.map +0 -1
- package/dist/chat/attachment-utils.d.ts.map +0 -1
- package/dist/chat/catalog.d.ts.map +0 -1
- package/dist/chat/chat-presentation-state.d.ts.map +0 -1
- package/dist/chat/components/AIGroupingCards.d.ts.map +0 -1
- package/dist/chat/components/AISuggestedSearchCards.d.ts.map +0 -1
- package/dist/chat/components/AITopPicks.d.ts.map +0 -1
- package/dist/chat/components/BeautyPhotoStep.d.ts.map +0 -1
- package/dist/chat/components/CategoriesContainer.d.ts.map +0 -1
- package/dist/chat/components/ChatDrawer.d.ts.map +0 -1
- package/dist/chat/components/ChoicePrompter.d.ts.map +0 -1
- package/dist/chat/components/ComparisonTable.d.ts.map +0 -1
- package/dist/chat/components/ConsultingStylePicker.d.ts.map +0 -1
- package/dist/chat/components/FloatingComparisonButton.d.ts.map +0 -1
- package/dist/chat/components/GroundingReviewCard.d.ts.map +0 -1
- package/dist/chat/components/HandoffNotice.d.ts.map +0 -1
- package/dist/chat/components/KvkkBanner.d.ts.map +0 -1
- package/dist/chat/components/Launcher.d.ts.map +0 -1
- package/dist/chat/components/PanelTopBar.d.ts.map +0 -1
- package/dist/chat/components/PhotoAnalysisCard.d.ts.map +0 -1
- package/dist/chat/components/ProductSummaryCard.d.ts.map +0 -1
- package/dist/chat/components/ProsAndCons.d.ts.map +0 -1
- package/dist/chat/components/ReviewHighlights.d.ts.map +0 -1
- package/dist/chat/components/ThumbnailsColumn.d.ts.map +0 -1
- package/dist/chat/components/actionClassifier.d.ts.map +0 -1
- package/dist/chat/components/product-price-layout.d.ts.map +0 -1
- package/dist/chat/components/productMentionLinker.d.ts.map +0 -1
- package/dist/chat/components/renderUISpec.d.ts.map +0 -1
- package/dist/chat/components/typewriter.d.ts.map +0 -1
- package/dist/chat/extendedModeManager.d.ts.map +0 -1
- package/dist/chat/features/beauty-consulting/consulting-grid.d.ts.map +0 -1
- package/dist/chat/features/beauty-consulting/drawer-extensions.d.ts.map +0 -1
- package/dist/chat/features/beauty-consulting/mode-controller.d.ts.map +0 -1
- package/dist/chat/features/beauty-consulting/registry.d.ts.map +0 -1
- package/dist/chat/features/beauty-consulting/stream-handler.d.ts.map +0 -1
- package/dist/chat/index.d.ts.map +0 -1
- package/dist/chat/kvkk.d.ts.map +0 -1
- package/dist/chat/locales/en.d.ts.map +0 -1
- package/dist/chat/locales/index.d.ts.map +0 -1
- package/dist/chat/locales/tr.d.ts.map +0 -1
- package/dist/chat/panel-manager.d.ts.map +0 -1
- package/dist/chat/session-persistence.d.ts.map +0 -1
- package/dist/chat/stream-error-display.d.ts.map +0 -1
- package/dist/chat/types.d.ts.map +0 -1
- package/dist/chat/utils/chat-presentation-debug.d.ts.map +0 -1
- package/dist/chat/utils/get-chat-scroll-element.d.ts.map +0 -1
- package/dist/chat/utils/ui.d.ts.map +0 -1
- package/dist/chat-CtfmY7kp.js +0 -7047
- package/dist/chat-CtfmY7kp.js.map +0 -1
- package/dist/chat-sSkxxKuL.cjs +0 -94
- package/dist/chat-sSkxxKuL.cjs.map +0 -1
- package/dist/chat.iife.js.map +0 -1
- package/dist/common/action-router.d.ts.map +0 -1
- package/dist/common/activity-tracker.d.ts.map +0 -1
- package/dist/common/analytics-events.d.ts.map +0 -1
- package/dist/common/analytics.d.ts.map +0 -1
- package/dist/common/api-paths.d.ts.map +0 -1
- package/dist/common/client.d.ts.map +0 -1
- package/dist/common/communication-bridge.d.ts.map +0 -1
- package/dist/common/config-schema.d.ts.map +0 -1
- package/dist/common/connection-warning.d.ts.map +0 -1
- package/dist/common/consulting-sources.d.ts.map +0 -1
- package/dist/common/context.d.ts.map +0 -1
- package/dist/common/customization-factories.d.ts.map +0 -1
- package/dist/common/debug.d.ts.map +0 -1
- package/dist/common/events.d.ts.map +0 -1
- package/dist/common/ga-datalayer.d.ts.map +0 -1
- package/dist/common/global-error-toast.d.ts.map +0 -1
- package/dist/common/index.d.ts.map +0 -1
- package/dist/common/indexed-db.d.ts.map +0 -1
- package/dist/common/native-webview.d.ts.map +0 -1
- package/dist/common/overlay.d.ts.map +0 -1
- package/dist/common/page-detect.d.ts.map +0 -1
- package/dist/common/pill-launcher.d.ts.map +0 -1
- package/dist/common/preflight.d.ts.map +0 -1
- package/dist/common/price-formatter.d.ts.map +0 -1
- package/dist/common/product-utils.d.ts.map +0 -1
- package/dist/common/protocol-adapter.d.ts.map +0 -1
- package/dist/common/renderer/dom.d.ts.map +0 -1
- package/dist/common/renderer/index.d.ts.map +0 -1
- package/dist/common/renderer/overrides.d.ts.map +0 -1
- package/dist/common/renderer/registry.d.ts.map +0 -1
- package/dist/common/renderer/types.d.ts.map +0 -1
- package/dist/common/safe-html.d.ts.map +0 -1
- package/dist/common/skeleton.d.ts.map +0 -1
- package/dist/common/streaming.d.ts.map +0 -1
- package/dist/common/suggested-search-keywords.d.ts.map +0 -1
- package/dist/common/theme-utils.d.ts.map +0 -1
- package/dist/common/tts-player.d.ts.map +0 -1
- package/dist/common/types.d.ts.map +0 -1
- package/dist/common/ui-theme.d.ts.map +0 -1
- package/dist/common/uuidv7.d.ts.map +0 -1
- package/dist/common/voice-input.d.ts.map +0 -1
- package/dist/common/widget-base.d.ts.map +0 -1
- package/dist/common-C9GYMjJY.js +0 -357
- package/dist/common-C9GYMjJY.js.map +0 -1
- package/dist/common-CSWRku57.cjs +0 -2
- package/dist/common-CSWRku57.cjs.map +0 -1
- package/dist/connection-warning-BF8r3_5W.js +0 -96
- package/dist/connection-warning-BF8r3_5W.js.map +0 -1
- package/dist/connection-warning-Dlirb_Pi.cjs +0 -2
- package/dist/connection-warning-Dlirb_Pi.cjs.map +0 -1
- package/dist/ga-datalayer-DSVuycfp.cjs +0 -48
- package/dist/ga-datalayer-DSVuycfp.cjs.map +0 -1
- package/dist/ga-datalayer-DygUbUWr.js +0 -915
- package/dist/ga-datalayer-DygUbUWr.js.map +0 -1
- package/dist/index.d.ts.map +0 -1
- package/dist/native/index.d.ts.map +0 -1
- package/dist/native-webview-BHewgko1.js +0 -547
- package/dist/native-webview-BHewgko1.js.map +0 -1
- package/dist/native-webview-C_gxZA79.cjs +0 -2
- package/dist/native-webview-C_gxZA79.cjs.map +0 -1
- package/dist/native.iife.js.map +0 -1
- package/dist/product-utils-BEnINMdx.cjs +0 -2
- package/dist/product-utils-BEnINMdx.cjs.map +0 -1
- package/dist/product-utils-BUalkWz3.js +0 -45
- package/dist/product-utils-BUalkWz3.js.map +0 -1
- package/dist/qna/api.d.ts.map +0 -1
- package/dist/qna/catalog.d.ts.map +0 -1
- package/dist/qna/components/ButtonRow.d.ts.map +0 -1
- package/dist/qna/components/TextInput.d.ts.map +0 -1
- package/dist/qna/components/renderUISpec.d.ts.map +0 -1
- package/dist/qna/index.d.ts.map +0 -1
- package/dist/qna/locales/en.d.ts.map +0 -1
- package/dist/qna/locales/index.d.ts.map +0 -1
- package/dist/qna/locales/tr.d.ts.map +0 -1
- package/dist/qna/normalize-ui-specs.d.ts.map +0 -1
- package/dist/qna/types.d.ts.map +0 -1
- package/dist/qna-BBZogvdp.js +0 -672
- package/dist/qna-BBZogvdp.js.map +0 -1
- package/dist/qna-d7DnJ0pP.cjs +0 -2
- package/dist/qna-d7DnJ0pP.cjs.map +0 -1
- package/dist/qna.iife.js.map +0 -1
- package/dist/schemas-C-flaqAd.cjs +0 -41
- package/dist/schemas-C-flaqAd.cjs.map +0 -1
- package/dist/schemas-CKfd_Bqh.js +0 -3941
- package/dist/schemas-CKfd_Bqh.js.map +0 -1
- package/dist/simbut/index.d.ts.map +0 -1
- package/dist/simbut/locales.d.ts.map +0 -1
- package/dist/simbut/types.d.ts.map +0 -1
- package/dist/simbut-DG48EcoU.js +0 -68
- package/dist/simbut-DG48EcoU.js.map +0 -1
- package/dist/simbut-DHZFpGIA.cjs +0 -2
- package/dist/simbut-DHZFpGIA.cjs.map +0 -1
- package/dist/simbut.iife.js.map +0 -1
- package/dist/simrel/api.d.ts.map +0 -1
- package/dist/simrel/catalog.d.ts.map +0 -1
- package/dist/simrel/components/GroupTabs.d.ts.map +0 -1
- package/dist/simrel/components/ProductCard.d.ts.map +0 -1
- package/dist/simrel/components/ProductGrid.d.ts.map +0 -1
- package/dist/simrel/components/renderUISpec.d.ts.map +0 -1
- package/dist/simrel/index.d.ts.map +0 -1
- package/dist/simrel/locales/en.d.ts.map +0 -1
- package/dist/simrel/locales/index.d.ts.map +0 -1
- package/dist/simrel/locales/tr.d.ts.map +0 -1
- package/dist/simrel/types.d.ts.map +0 -1
- package/dist/simrel-BwZFl03Z.cjs +0 -2
- package/dist/simrel-BwZFl03Z.cjs.map +0 -1
- package/dist/simrel-D74BsZbA.js +0 -699
- package/dist/simrel-D74BsZbA.js.map +0 -1
- package/dist/simrel.iife.js.map +0 -1
package/dist/simrel.iife.js
CHANGED
|
@@ -1,36 +1,36 @@
|
|
|
1
|
-
(function(e){Object.defineProperty(e,Symbol.toStringTag,{value:`Module`});var t=({element:e,renderElement:t})=>{if(!e.children||e.children.length===0)return null;let n=document.createElement(`div`);for(let r of e.children){let e=t(r);e&&n.appendChild(e)}return n};function n(e){let n=document.createElement(`div`);if(n.className=e.containerClassName,!e.spec.elements[e.spec.root])return n;let r=e.unknownRenderer??t,i=t=>{let n=e.spec.elements[t];if(!n)return null;let a=e.registry[n.type];return a?a({elementId:t,element:n,spec:e.spec,context:e.context,renderElement:i}):r({elementId:t,element:n,spec:e.spec,context:e.context,renderElement:i})},a=i(e.spec.root);return a&&n.appendChild(a),n}function r(e,t){if(!t)return e;let n={...e};for(let[e,r]of Object.entries(t))r&&(n[e]=r);return n}function i(e,t){let n={event_name:`stream.start`,account_id:e.account_id,session_id:e.session_id,correlation_id:e.correlation_id,payload:{endpoint:t.endpoint,request_id:t.request_id}};return e.view_id!==void 0&&(n.view_id=e.view_id),e.user_id!==void 0&&(n.user_id=e.user_id),t.widget!==void 0&&(n.widget=t.widget),e.page_type!==void 0&&(n.page_type=e.page_type),e.sku!==void 0&&(n.sku=e.sku),n}function a(e,t){let n={event_name:`stream.done`,account_id:e.account_id,session_id:e.session_id,correlation_id:e.correlation_id,payload:{request_id:t.request_id,latency_ms:t.latency_ms,chunk_count:t.chunk_count}};return e.view_id!==void 0&&(n.view_id=e.view_id),e.user_id!==void 0&&(n.user_id=e.user_id),t.widget!==void 0&&(n.widget=t.widget),e.page_type!==void 0&&(n.page_type=e.page_type),e.sku!==void 0&&(n.sku=e.sku),n}function o(e,t){let n={event_name:`stream.error`,account_id:e.account_id,session_id:e.session_id,correlation_id:e.correlation_id,payload:{request_id:t.request_id,error_code:t.error_code,error_message:t.error_message}};return e.view_id!==void 0&&(n.view_id=e.view_id),e.user_id!==void 0&&(n.user_id=e.user_id),t.widget!==void 0&&(n.widget=t.widget),e.page_type!==void 0&&(n.page_type=e.page_type),e.sku!==void 0&&(n.sku=e.sku),n}function s(e,t){let n={event_name:`metering.summary`,account_id:e.account_id,session_id:e.session_id,correlation_id:e.correlation_id,payload:{meter_key:t.meter_key,quantity:t.quantity,unit:t.unit}};return e.view_id!==void 0&&(n.view_id=e.view_id),e.user_id!==void 0&&(n.user_id=e.user_id),e.page_type!==void 0&&(n.page_type=e.page_type),e.sku!==void 0&&(n.sku=e.sku),n}function c(e,t){let n={event_name:`widget.history.snapshot`,account_id:e.account_id,session_id:e.session_id,correlation_id:e.correlation_id,widget:t.widget,payload:{message_count:t.message_count,history_ref:t.history_ref,redaction_level:t.redaction_level}};return e.view_id!==void 0&&(n.view_id=e.view_id),e.user_id!==void 0&&(n.user_id=e.user_id),e.page_type!==void 0&&(n.page_type=e.page_type),e.sku!==void 0&&(n.sku=e.sku),n}function l(e,t){let n={event_name:`basket.add`,account_id:e.account_id,session_id:e.session_id,correlation_id:e.correlation_id,widget:t.attribution_source,payload:{attribution_source:t.attribution_source,attribution_action_id:t.attribution_action_id,cart_value:t.cart_value,currency:t.currency,line_items:t.line_items,sku:t.sku}};return e.view_id!==void 0&&(n.view_id=e.view_id),e.user_id!==void 0&&(n.user_id=e.user_id),e.page_type!==void 0&&(n.page_type=e.page_type),e.sku!==void 0&&(n.sku=e.sku),n}function u(e,t){let n={event_name:`checkout.start`,account_id:e.account_id,session_id:e.session_id,correlation_id:e.correlation_id,widget:t.attribution_source,payload:{attribution_source:t.attribution_source,attribution_action_id:t.attribution_action_id,cart_value:t.cart_value,currency:t.currency,line_items:t.line_items}};return e.view_id!==void 0&&(n.view_id=e.view_id),e.user_id!==void 0&&(n.user_id=e.user_id),e.page_type!==void 0&&(n.page_type=e.page_type),e.sku!==void 0&&(n.sku=e.sku),n}function d(e,t){let n={event_name:`checkout.complete`,account_id:e.account_id,session_id:e.session_id,correlation_id:e.correlation_id,widget:t.attribution_source,payload:{attribution_source:t.attribution_source,attribution_action_id:t.attribution_action_id,cart_value:t.cart_value,currency:t.currency,line_items:t.line_items}};return e.view_id!==void 0&&(n.view_id=e.view_id),e.user_id!==void 0&&(n.user_id=e.user_id),e.page_type!==void 0&&(n.page_type=e.page_type),e.sku!==void 0&&(n.sku=e.sku),n}var f=new Set(`p.br.a.strong.b.em.i.u.ul.ol.li.h1.h2.h3.h4.h5.h6.span.div.table.thead.tbody.tr.th.td.hr.code.pre.blockquote.img.sup.sub`.split(`.`)),p=new Set([`script`,`iframe`,`object`,`embed`,`form`,`input`,`textarea`,`select`,`button`,`style`,`link`,`meta`,`template`,`noscript`]),m={"*":new Set([`class`]),a:new Set([`href`,`target`,`rel`]),img:new Set([`src`,`alt`,`width`,`height`]),div:new Set([`style`]),span:new Set([`style`]),p:new Set([`style`])};function h(e){return/^\s*javascript\s*:/i.test(e)}var ee=new Set(`color.background-color.font-size.font-weight.font-style.font-family.text-align.text-decoration.line-height.letter-spacing.margin.margin-top.margin-right.margin-bottom.margin-left.padding.padding-top.padding-right.padding-bottom.padding-left.border.border-top.border-right.border-bottom.border-left.border-radius.border-color.border-width.border-style.width.max-width.min-width.height.max-height.min-height.display.vertical-align.white-space.word-break.overflow.opacity.visibility.list-style.list-style-type.text-transform.text-indent.text-overflow.box-sizing.flex.flex-direction.flex-wrap.justify-content.align-items.gap`.split(`.`)),te=/url\s*\(|expression\s*\(|javascript\s*:|\bimport\b|-moz-binding|behavior\s*:/i;function ne(e){let t=[];for(let n of e.split(`;`)){let e=n.trim();if(!e)continue;let r=e.indexOf(`:`);if(r===-1)continue;let i=e.slice(0,r).trim().toLowerCase(),a=e.slice(r+1).trim();ee.has(i)&&(te.test(a)||t.push(e))}return t.join(`; `)}function re(e,t){if(e.nodeType===Node.TEXT_NODE)return;if(e.nodeType!==Node.ELEMENT_NODE){e.parentNode?.removeChild(e);return}let n=e,r=n.tagName.toLowerCase();if(p.has(r)){n.parentNode?.removeChild(n);return}if(!f.has(r)){let e=Array.from(n.childNodes);for(let r of e)t.insertBefore(r,n);t.removeChild(n);for(let n of e)re(n,t);return}let i=m[`*`]??new Set,a=m[r]??new Set,o=Array.from(n.attributes);for(let e of o){let t=e.name.toLowerCase();if(!i.has(t)&&!a.has(t)){n.removeAttribute(e.name);continue}if(h(e.value)){n.removeAttribute(e.name);continue}if(t===`style`){let t=ne(e.value);t?n.setAttribute(`style`,t):n.removeAttribute(`style`);continue}}if(r===`a`){let e=n.getAttribute(`href`);if(e!==null){let t=e.trim().toLowerCase();!t.startsWith(`http://`)&&!t.startsWith(`https://`)&&!t.startsWith(`mailto:`)&&n.removeAttribute(`href`)}n.setAttribute(`target`,`_blank`),n.setAttribute(`rel`,`noopener noreferrer`)}if(r===`img`){let e=n.getAttribute(`src`);e!==null&&(e.trim().toLowerCase().startsWith(`https://`)||n.removeAttribute(`src`))}let s=Array.from(n.childNodes);for(let e of s)re(e,n)}var ie=[`http:`,`https:`];function ae(e){try{return ie.includes(new URL(e).protocol)}catch{return!1}}function oe(e){if(!e)return``;let t=new DOMParser().parseFromString(e,`text/html`).body,n=Array.from(t.childNodes);for(let e of n)re(e,t);return t.innerHTML}function se(e,t){window.dispatchEvent(new CustomEvent(e,{detail:t,bubbles:!1}))}function ce(e,t){let n=e=>{t(e.detail)};return window.addEventListener(e,n),()=>window.removeEventListener(e,n)}function le(){let 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 ue(e){return{sessionId:e?.sessionId??le(),...e}}var de={"--gengage-chat-offset":`20px`,"--gengage-chat-launcher-size":`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 fe(e){return e?{...de,...e}:{...de}}var g={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))`},_=`gengage-global-toast-root`,pe=`gengage-global-toast-style`,me=`gengage-global-toast-root--visible`,he=4200,ge=1500,_e=15e3,ve=[`--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`],ye=!1,v=null,be=[/failed to fetch/i,/networkerror/i,/network request failed/i,/load failed/i,/err_network/i,/fetch failed/i,/network error/i];function xe(e){return typeof e==`string`&&e.toLowerCase().startsWith(`tr`)}function Se(e){if(typeof navigator<`u`&&navigator.onLine===!1)return!0;let t=e instanceof Error?e.message.trim():``;return t?be.some(e=>e.test(t)):!1}function Ce(e,t){return Se(t)?xe(e)?`Bağlantı sorunu oluştu. Lütfen tekrar deneyin.`:`Connection issue. Please try again.`:xe(e)?`Bir hata oluştu. Lütfen tekrar deneyin.`:`Something went wrong. Please try again.`}function we(){ye||typeof window>`u`||typeof document>`u`||(ye=!0,ce(`gengage:global:error`,e=>{Te(e)}))}function Te(e){if(typeof document>`u`)return;let t=e.message.trim();if(!t)return;je();let n=Oe();ke(n),n.innerHTML=``;let r=document.createElement(`section`);r.className=`gengage-global-toast gengage-global-toast--error`,r.setAttribute(`role`,`status`),r.setAttribute(`aria-live`,`polite`);let i=document.createElement(`div`);i.className=`gengage-global-toast-title`,i.textContent=De(e.source);let a=document.createElement(`div`);a.className=`gengage-global-toast-message`,a.textContent=t,r.appendChild(i),r.appendChild(a),n.appendChild(r),n.classList.add(me),v&&=(clearTimeout(v),null),e.sticky!==!0&&(v=setTimeout(()=>{Ee()},Ae(e.durationMs)))}function Ee(){if(typeof document>`u`)return;let e=document.getElementById(_);e&&(e.classList.remove(me),e.innerHTML=``,v&&=(clearTimeout(v),null))}function De(e){switch(e){case`chat`:return`Chat warning`;case`qna`:return`QnA warning`;case`simrel`:return`Widget warning`;default:return`Connection warning`}}function Oe(){let e=document.getElementById(_);if(e instanceof HTMLElement)return e;let t=document.createElement(`div`);return t.id=_,t.className=`gengage-global-toast-root`,document.body.appendChild(t),t}function ke(e){if(typeof document>`u`||typeof window>`u`)return;let t=document.querySelector(`.gengage-chat-root, .gengage-qna-container, .gengage-simrel-container, .gengage-simbut-root`);if(!t)return;let n=window.getComputedStyle(t);for(let t of ve){let r=n.getPropertyValue(t).trim();r?e.style.setProperty(t,r):e.style.removeProperty(t)}}function Ae(e){return typeof e!=`number`||!Number.isFinite(e)?he:Math.min(_e,Math.max(ge,Math.round(e)))}function je(){if(document.getElementById(pe))return;let e=document.createElement(`style`);e.id=pe;let t=g[`--surface-card`]??g.backgroundColor??`#ffffff`,n=g[`--text-primary`]??g.foregroundColor??`#111827`,r=g[`--border-default`]??`rgba(17, 24, 39, 0.10)`,i=g[`--error`]??`#dc2626`,a=g[`--shadow-3`]??`0 10px 24px rgba(16, 24, 40, 0.12)`,o=g[`--radius-card`]??`16px`,s=g[`--text-muted`]??`#6b7280`;e.textContent=`
|
|
2
|
-
#${
|
|
1
|
+
(function(B){Object.defineProperty(B,Symbol.toStringTag,{value:"Module"});var Rr=({element:e,renderElement:t})=>{if(!e.children||e.children.length===0)return null;const r=document.createElement("div");for(const n of e.children){const o=t(n);o&&r.appendChild(o)}return r};function xr(e){const t=document.createElement("div");if(t.className=e.containerClassName,!e.spec.elements[e.spec.root])return t;const r=e.unknownRenderer??Rr,n=i=>{const a=e.spec.elements[i];if(!a)return null;const s=e.registry[a.type];return s?s({elementId:i,element:a,spec:e.spec,context:e.context,renderElement:n}):r({elementId:i,element:a,spec:e.spec,context:e.context,renderElement:n})},o=n(e.spec.root);return o&&t.appendChild(o),t}function Lr(e,t){if(!t)return e;const r={...e};for(const[n,o]of Object.entries(t))o&&(r[n]=o);return r}function Dr(e,t){const r={event_name:"stream.start",account_id:e.account_id,session_id:e.session_id,correlation_id:e.correlation_id,payload:{endpoint:t.endpoint,request_id:t.request_id}};return e.view_id!==void 0&&(r.view_id=e.view_id),e.user_id!==void 0&&(r.user_id=e.user_id),t.widget!==void 0&&(r.widget=t.widget),e.page_type!==void 0&&(r.page_type=e.page_type),e.sku!==void 0&&(r.sku=e.sku),r}function We(e,t){const r={event_name:"stream.done",account_id:e.account_id,session_id:e.session_id,correlation_id:e.correlation_id,payload:{request_id:t.request_id,latency_ms:t.latency_ms,chunk_count:t.chunk_count}};return e.view_id!==void 0&&(r.view_id=e.view_id),e.user_id!==void 0&&(r.user_id=e.user_id),t.widget!==void 0&&(r.widget=t.widget),e.page_type!==void 0&&(r.page_type=e.page_type),e.sku!==void 0&&(r.sku=e.sku),r}function jr(e,t){const r={event_name:"stream.error",account_id:e.account_id,session_id:e.session_id,correlation_id:e.correlation_id,payload:{request_id:t.request_id,error_code:t.error_code,error_message:t.error_message}};return e.view_id!==void 0&&(r.view_id=e.view_id),e.user_id!==void 0&&(r.user_id=e.user_id),t.widget!==void 0&&(r.widget=t.widget),e.page_type!==void 0&&(r.page_type=e.page_type),e.sku!==void 0&&(r.sku=e.sku),r}function Ur(e,t){const r={event_name:"metering.summary",account_id:e.account_id,session_id:e.session_id,correlation_id:e.correlation_id,payload:{meter_key:t.meter_key,quantity:t.quantity,unit:t.unit}};return e.view_id!==void 0&&(r.view_id=e.view_id),e.user_id!==void 0&&(r.user_id=e.user_id),e.page_type!==void 0&&(r.page_type=e.page_type),e.sku!==void 0&&(r.sku=e.sku),r}function He(e,t){const r={event_name:"widget.history.snapshot",account_id:e.account_id,session_id:e.session_id,correlation_id:e.correlation_id,widget:t.widget,payload:{message_count:t.message_count,history_ref:t.history_ref,redaction_level:t.redaction_level}};return e.view_id!==void 0&&(r.view_id=e.view_id),e.user_id!==void 0&&(r.user_id=e.user_id),e.page_type!==void 0&&(r.page_type=e.page_type),e.sku!==void 0&&(r.sku=e.sku),r}function Mr(e,t){const r={event_name:"basket.add",account_id:e.account_id,session_id:e.session_id,correlation_id:e.correlation_id,widget:t.attribution_source,payload:{attribution_source:t.attribution_source,attribution_action_id:t.attribution_action_id,cart_value:t.cart_value,currency:t.currency,line_items:t.line_items,sku:t.sku}};return e.view_id!==void 0&&(r.view_id=e.view_id),e.user_id!==void 0&&(r.user_id=e.user_id),e.page_type!==void 0&&(r.page_type=e.page_type),e.sku!==void 0&&(r.sku=e.sku),r}function Fr(e,t){const r={event_name:"checkout.start",account_id:e.account_id,session_id:e.session_id,correlation_id:e.correlation_id,widget:t.attribution_source,payload:{attribution_source:t.attribution_source,attribution_action_id:t.attribution_action_id,cart_value:t.cart_value,currency:t.currency,line_items:t.line_items}};return e.view_id!==void 0&&(r.view_id=e.view_id),e.user_id!==void 0&&(r.user_id=e.user_id),e.page_type!==void 0&&(r.page_type=e.page_type),e.sku!==void 0&&(r.sku=e.sku),r}function qr(e,t){const r={event_name:"checkout.complete",account_id:e.account_id,session_id:e.session_id,correlation_id:e.correlation_id,widget:t.attribution_source,payload:{attribution_source:t.attribution_source,attribution_action_id:t.attribution_action_id,cart_value:t.cart_value,currency:t.currency,line_items:t.line_items}};return e.view_id!==void 0&&(r.view_id=e.view_id),e.user_id!==void 0&&(r.user_id=e.user_id),e.page_type!==void 0&&(r.page_type=e.page_type),e.sku!==void 0&&(r.sku=e.sku),r}var Gr=new Set(["p","br","a","strong","b","em","i","u","ul","ol","li","h1","h2","h3","h4","h5","h6","span","div","table","thead","tbody","tr","th","td","hr","code","pre","blockquote","img","sup","sub"]),Jr=new Set(["script","iframe","object","embed","form","input","textarea","select","button","style","link","meta","template","noscript"]),Ke={"*":new Set(["class"]),a:new Set(["href","target","rel"]),img:new Set(["src","alt","width","height"]),div:new Set(["style"]),span:new Set(["style"]),p:new Set(["style"])};function Br(e){return/^\s*javascript\s*:/i.test(e)}var Vr=new Set(["color","background-color","font-size","font-weight","font-style","font-family","text-align","text-decoration","line-height","letter-spacing","margin","margin-top","margin-right","margin-bottom","margin-left","padding","padding-top","padding-right","padding-bottom","padding-left","border","border-top","border-right","border-bottom","border-left","border-radius","border-color","border-width","border-style","width","max-width","min-width","height","max-height","min-height","display","vertical-align","white-space","word-break","overflow","opacity","visibility","list-style","list-style-type","text-transform","text-indent","text-overflow","box-sizing","flex","flex-direction","flex-wrap","justify-content","align-items","gap"]),Wr=/url\s*\(|expression\s*\(|javascript\s*:|\bimport\b|-moz-binding|behavior\s*:/i;function Hr(e){const t=[];for(const r of e.split(";")){const n=r.trim();if(!n)continue;const o=n.indexOf(":");if(o===-1)continue;const i=n.slice(0,o).trim().toLowerCase(),a=n.slice(o+1).trim();Vr.has(i)&&(Wr.test(a)||t.push(n))}return t.join("; ")}function Ee(e,t){if(e.nodeType===Node.TEXT_NODE)return;if(e.nodeType!==Node.ELEMENT_NODE){e.parentNode?.removeChild(e);return}const r=e,n=r.tagName.toLowerCase();if(Jr.has(n)){r.parentNode?.removeChild(r);return}if(!Gr.has(n)){const c=Array.from(r.childNodes);for(const u of c)t.insertBefore(u,r);t.removeChild(r);for(const u of c)Ee(u,t);return}const o=Ke["*"]??new Set,i=Ke[n]??new Set,a=Array.from(r.attributes);for(const c of a){const u=c.name.toLowerCase();if(!o.has(u)&&!i.has(u)){r.removeAttribute(c.name);continue}if(Br(c.value)){r.removeAttribute(c.name);continue}if(u==="style"){const f=Hr(c.value);f?r.setAttribute("style",f):r.removeAttribute("style");continue}}if(n==="a"){const c=r.getAttribute("href");if(c!==null){const u=c.trim().toLowerCase();!u.startsWith("http://")&&!u.startsWith("https://")&&!u.startsWith("mailto:")&&r.removeAttribute("href")}r.setAttribute("target","_blank"),r.setAttribute("rel","noopener noreferrer")}if(n==="img"){const c=r.getAttribute("src");c!==null&&(c.trim().toLowerCase().startsWith("https://")||r.removeAttribute("src"))}const s=Array.from(r.childNodes);for(const c of s)Ee(c,r)}var Kr=["http:","https:"];function Yr(e){try{return Kr.includes(new URL(e).protocol)}catch{return!1}}function Xr(e){if(!e)return"";const t=new DOMParser().parseFromString(e,"text/html").body,r=Array.from(t.childNodes);for(const n of r)Ee(n,t);return t.innerHTML}function ze(e,t){window.dispatchEvent(new CustomEvent(e,{detail:t,bubbles:!1}))}function Ye(e,t){const r=n=>{t(n.detail)};return window.addEventListener(e,r),()=>window.removeEventListener(e,r)}function Qr(){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 en(e){return{sessionId:e?.sessionId??Qr(),...e}}var Xe={"--gengage-chat-offset":"20px","--gengage-chat-launcher-size":"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 tn(e){return e?{...Xe,...e}:{...Xe}}var x={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))"},M="gengage-global-toast-root",Qe="gengage-global-toast-style",Te="gengage-global-toast-root--visible",rn=4200,nn=1500,on=15e3,an=["--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"],et=!1,V=null,sn=[/failed to fetch/i,/networkerror/i,/network request failed/i,/load failed/i,/err_network/i,/fetch failed/i,/network error/i];function tt(e){return typeof e=="string"&&e.toLowerCase().startsWith("tr")}function cn(e){if(typeof navigator<"u"&&navigator.onLine===!1)return!0;const t=e instanceof Error?e.message.trim():"";return t?sn.some(r=>r.test(t)):!1}function un(e,t){return cn(t)?tt(e)?"Bağlantı sorunu oluştu. Lütfen tekrar deneyin.":"Connection issue. Please try again.":tt(e)?"Bir hata oluştu. Lütfen tekrar deneyin.":"Something went wrong. Please try again."}function dn(){et||typeof window>"u"||typeof document>"u"||(et=!0,Ye("gengage:global:error",e=>{$e(e)}))}function $e(e){if(typeof document>"u")return;const t=e.message.trim();if(!t)return;mn();const r=fn();pn(r),r.innerHTML="";const n=document.createElement("section");n.className="gengage-global-toast gengage-global-toast--error",n.setAttribute("role","status"),n.setAttribute("aria-live","polite");const o=document.createElement("div");o.className="gengage-global-toast-title",o.textContent=ln(e.source);const i=document.createElement("div");i.className="gengage-global-toast-message",i.textContent=t,n.appendChild(o),n.appendChild(i),r.appendChild(n),r.classList.add(Te),V&&(clearTimeout(V),V=null),e.sticky!==!0&&(V=setTimeout(()=>{rt()},gn(e.durationMs)))}function rt(){if(typeof document>"u")return;const e=document.getElementById(M);e&&(e.classList.remove(Te),e.innerHTML="",V&&(clearTimeout(V),V=null))}function ln(e){switch(e){case"chat":return"Chat warning";case"qna":return"QnA warning";case"simrel":return"Widget warning";default:return"Connection warning"}}function fn(){const e=document.getElementById(M);if(e instanceof HTMLElement)return e;const t=document.createElement("div");return t.id=M,t.className="gengage-global-toast-root",document.body.appendChild(t),t}function pn(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 r=window.getComputedStyle(t);for(const n of an){const o=r.getPropertyValue(n).trim();o?e.style.setProperty(n,o):e.style.removeProperty(n)}}function gn(e){return typeof e!="number"||!Number.isFinite(e)?rn:Math.min(on,Math.max(nn,Math.round(e)))}function mn(){if(document.getElementById(Qe))return;const e=document.createElement("style");e.id=Qe;const t=x["--surface-card"]??x.backgroundColor??"#ffffff",r=x["--text-primary"]??x.foregroundColor??"#111827",n=x["--border-default"]??"rgba(17, 24, 39, 0.10)",o=x["--error"]??"#dc2626",i=x["--shadow-3"]??"0 10px 24px rgba(16, 24, 40, 0.12)",a=x["--radius-card"]??"16px",s=x["--text-muted"]??"#6b7280";e.textContent=`
|
|
2
|
+
#${M} {
|
|
3
3
|
position: fixed;
|
|
4
4
|
top: 16px;
|
|
5
5
|
right: 16px;
|
|
6
6
|
z-index: 2147483646;
|
|
7
7
|
pointer-events: none;
|
|
8
8
|
}
|
|
9
|
-
#${
|
|
9
|
+
#${M}.${Te} {
|
|
10
10
|
pointer-events: auto;
|
|
11
11
|
}
|
|
12
|
-
#${
|
|
12
|
+
#${M} .gengage-global-toast {
|
|
13
13
|
min-width: 260px;
|
|
14
14
|
max-width: min(92vw, 420px);
|
|
15
|
-
border-radius: var(--radius-card, ${
|
|
16
|
-
border: 1px solid var(--ds-toast-error-border, color-mix(in srgb, var(--error, ${
|
|
17
|
-
border-left: 4px solid var(--ds-toast-error-accent, var(--error, ${
|
|
18
|
-
background: var(--ds-toast-error-bg, color-mix(in srgb, var(--error, ${
|
|
19
|
-
color: var(--ds-toast-error-fg, color-mix(in srgb, var(--error, ${
|
|
20
|
-
box-shadow: var(--ds-toast-error-shadow, var(--shadow-3, ${
|
|
15
|
+
border-radius: var(--radius-card, ${a});
|
|
16
|
+
border: 1px solid var(--ds-toast-error-border, color-mix(in srgb, var(--error, ${o}) 18%, var(--border-default, ${n})));
|
|
17
|
+
border-left: 4px solid var(--ds-toast-error-accent, var(--error, ${o}));
|
|
18
|
+
background: var(--ds-toast-error-bg, color-mix(in srgb, var(--error, ${o}) 5%, var(--surface-card, ${t})));
|
|
19
|
+
color: var(--ds-toast-error-fg, color-mix(in srgb, var(--error, ${o}) 22%, var(--text-primary, ${r})));
|
|
20
|
+
box-shadow: var(--ds-toast-error-shadow, var(--shadow-3, ${i}));
|
|
21
21
|
padding: 10px 12px;
|
|
22
|
-
font-family: var(--gengage-font-family, ${JSON.stringify(
|
|
22
|
+
font-family: var(--gengage-font-family, ${JSON.stringify(x.fontFamily??'-apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif')});
|
|
23
23
|
font-size: 13px;
|
|
24
24
|
line-height: 1.4;
|
|
25
25
|
animation: gengage-global-toast-in 180ms ease-out forwards;
|
|
26
26
|
}
|
|
27
|
-
#${
|
|
27
|
+
#${M} .gengage-global-toast-title {
|
|
28
28
|
margin: 0 0 4px;
|
|
29
29
|
font-size: 12px;
|
|
30
30
|
font-weight: 700;
|
|
31
31
|
color: var(--text-muted, ${s});
|
|
32
32
|
}
|
|
33
|
-
#${
|
|
33
|
+
#${M} .gengage-global-toast-message {
|
|
34
34
|
margin: 0;
|
|
35
35
|
font-weight: 500;
|
|
36
36
|
}
|
|
@@ -44,44 +44,43 @@
|
|
|
44
44
|
transform: translateY(0);
|
|
45
45
|
}
|
|
46
46
|
}
|
|
47
|
-
`,document.head.appendChild(e)}var
|
|
48
|
-
`);i=f.pop()??``;for(let e of f)if(nt(e,t))return}if(i.trim()&&nt(i,t))return}catch(e){if(e instanceof DOMException&&e.name===`AbortError`)return;t.onError?.(e instanceof Error?e:Error(String(e)))}finally{s||n.releaseLock()}t.onDone?.()}var it=3,at=(e,t)=>{let n=e.replace(/\s+/g,` `).trim().replace(/^[,.;:!?•-]+|[,.;:!?•-]+$/g,``);if(!n)return``;let r=t?.stripLeadingStopWords?n.replace(/^(?:daha|için)\s+/i,``).trim():n;return r?r.split(/\s+/).slice(0,3).join(` `).trim():``},ot=(e,t)=>e?e.split(/[•,;:/()]|(?:\sve\s)|(?:\sand\s)|(?:\sile\s)|(?:\sfor\s)|(?:\swith\s)/i).map(e=>at(e,t)).filter(Boolean):[];function st(e){let t=(e.display_keywords??[]).flatMap(e=>ot(e,{stripLeadingStopWords:!0})),n=t.filter((e,n)=>t.indexOf(e)===n);if(n.length>0)return n.slice(0,it);let r=[...ot(e.chosen_attribute,{stripLeadingStopWords:!0}),...ot(e.short_name)];return r.filter((e,t)=>r.indexOf(e)===t).slice(0,it)}function ct(e){return st(e).join(` • `)}var lt=[`beauty_consulting`,`watch_expert`];function ut(e){return typeof e==`string`&<.includes(e)}function dt(e){if(typeof e.type!=`string`)return null;if(ft(e))return e;let t=e;switch(t.type){case`outputText`:return pt(t);case`suggestedActions`:return mt(t);case`productList`:return ht(t);case`productDetails`:return gt(t);case`productDetailsSimilars`:return _t(t);case`comparisonTable`:return vt(t);case`context`:return St(t);case`chatStreamEnd`:return Ct();case`loading`:return wt(t);case`panelLoading`:return Tt(t);case`similarLoading`:return Et(t);case`redirect`:return Dt(t);case`error`:return Ot(t);case`dummy`:return kt(t);case`launcherAction`:return At(t);case`text`:return jt(t);case`productItem`:return Mt(t);case`text_image`:return Nt(t);case`quick_qna`:return Pt(t);case`reviewHighlights`:return Ft(t);case`aiProductSuggestions`:return Rt(t);case`aiProductGroupings`:return zt(t);case`aiSuggestedSearches`:return Bt(t);case`prosAndCons`:return It(t);case`getGroundingReview`:return Vt(t);case`voice`:return Ut(t);case`visitorDataResponse`:return Lt(t);case`productListPreview`:return Ht();case`groupList`:return Wt(t);case`formGetInfo`:case`formTestDrive`:case`formServiceRequest`:case`launchFormPage`:return Gt(t);case`launcherContent`:return qt(t);case`handoff`:return Kt(t);case`uiSpec`:return cn(t);default:return null}}function ft(e){let 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`:{let t=e.widget;if(t!==`chat`&&t!==`qna`&&t!==`simrel`)return!1;let n=w(e.spec);return n?typeof n.root==`string`&&w(n.elements)!==null:!1}case`action`:{let t=w(e.action);return t!==null&&typeof t.kind==`string`}case`error`:return typeof e.code==`string`&&typeof e.message==`string`;case`done`:return!0;default:return!1}}function pt(e){let t=T(e.payload.text,e.payload.plain_text)??``,n=T(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`};let r={type:`text_chunk`,content:t,final:!0},i=e.payload.product_mentions;Array.isArray(i)&&i.length>0&&(r.productMentions=i.filter(e=>typeof e==`object`&&!!e&&typeof e.sku==`string`&&typeof e.short_name==`string`));let a=e.payload.sku_to_product_item;a&&typeof a==`object`&&!Array.isArray(a)&&(r.skuToProductItem=a);let o=e.payload.conversation_mode;typeof o==`string`&&o&&(r.conversationMode=o);let s=e.payload.render_hint;return typeof s==`string`&&s&&(r.renderHint=s),e.payload.kvkk===!0&&(r.kvkk=!0),r}function mt(e){return Jt((e.payload.actions??[]).map(e=>{let t=T(e.title)??``,n=C(e.requestDetails,t),r=n?{label:t,action:n}:null;return r?(typeof e.icon==`string`&&(r.icon=e.icon),typeof e.image==`string`&&(r.image=e.image),r):null}).filter(rn),`chat`)}function ht(e){let t=(Array.isArray(e.payload.style_variations)?e.payload.style_variations:[]).map(e=>{let t=T(e.style_label),n=T(e.style_mood),r=T(e.image_url??void 0),i=(Array.isArray(e.product_list)?e.product_list:[]).map(e=>{let t=w(e);return t?en(w(t.product_detail)??w(t.product)??t):null}).filter(rn),a=Array.isArray(e.recommendation_groups)?e.recommendation_groups.map(e=>({label:T(e.label)??``,reason:T(e.reason)??``,skus:Array.isArray(e.skus)?e.skus.filter(e=>typeof e==`string`&&e.trim().length>0):[]})):[];return{style_label:t??``,style_mood:n??``,...r?{image_url:r}:{},product_list:i,recommendation_groups:a}}).filter(e=>e.product_list.length>0),n=e.payload.product_list??[],r=ut(e.payload.source)&&t.length>0?t[0].product_list:null,i=r?Xt(r,`chat`):Yt(n,`chat`);i.panelHint=`panel`;let a=i.spec.elements[i.spec.root];if(a){let n={};typeof e.payload.offset==`number`&&(n.offset=e.payload.offset),typeof e.payload.end_of_list==`boolean`&&(n.endOfList=e.payload.end_of_list),typeof e.payload.title==`string`&&(n.panelTitle=e.payload.title),typeof e.payload.source==`string`&&(n.source=e.payload.source),t.length>0&&(n.styleVariations=t),Object.keys(n).length>0&&(a.props={...a.props,...n})}return i}function gt(e){let t=e.payload.productDetails;if(!t)return Qt(`chat`);let n=D(t);return{type:`ui_spec`,widget:`chat`,spec:{root:`root`,elements:{root:{type:`ProductDetailsPanel`,props:{product:{...t,...n}}}}},panelHint:`panel`}}function _t(e){let t=Yt(e.payload.similarProducts??[],`chat`),n=t.spec.elements[t.spec.root];return n&&(n.props={...n.props,similarsAppend:!0}),{...t,panelHint:`panel`}}function vt(e){let 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??{}},i=e.payload.table,a=e.payload.features_list,o=[];for(let e of t){let t=D(e);o.push(t)}let s=yt(i,o,r,a),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);let l=c?o.find(e=>e.sku===c)??o[0]:o[0],u=[];if(Array.isArray(r?.key_differences))for(let e of r.key_differences)typeof e==`string`&&u.push(e);let d=nn(r?.special_considerations),f=r?.recommended_choice,p=r?.winner_hits,m={};for(let e of o){let t=e.sku;t&&(m[t]={title:e.name??t,type:`launchSingleProduct`,payload:{sku:t}})}let h={products:o,attributes:s,highlights:u,productActions:m};return l&&(h.recommended=l),d.length>0&&(h.specialCases=d),f&&(h.recommendedText=f),p&&(h.winnerHits=p),typeof r?.key_differences==`string`&&(h.keyDifferencesHtml=r.key_differences),r?.special_considerations&&(h.specialConsiderations=r.special_considerations),{type:`ui_spec`,widget:`chat`,spec:{root:`root`,elements:{root:{type:`ComparisonTable`,props:h}}},panelHint:`panel`}}function yt(e,t,n,r){if(!e)return[];let i=Object.entries(e);if(i.length===0)return[];let a=i[0]?.[1];if(Array.isArray(a)){let t=n.criteria_view??n.criteria_view_short??{},r=n.compared_field_names??Object.keys(e),i=[];for(let n of r){let r=e[n];if(!r||!Array.isArray(r))continue;let a=t[n]??n;i.push({label:a,values:r.map(e=>typeof e==`string`?e:String(e??``))})}return i}let o=e,s=t.map(e=>String(e.sku??``)).filter(e=>e.length>0),c=n.criteria_view??n.criteria_view_short??{},l=(r&&r.length>0?r:n.compared_field_names&&n.compared_field_names.length>0?n.compared_field_names:bt(o)).filter(e=>e!==`name`&&e!==`name_short`&&!e.endsWith(`_short`)),u=[];for(let e of l){let t=s.map(t=>{let n=o[t];if(!n||typeof n!=`object`)return``;let r=n[`${e}_short`],i=n[e];return xt(r??i)});if(t.every(e=>e.length===0))continue;let n=c[e]??e;u.push({label:n,values:t})}return u}function bt(e){let t=[],n=new Set;for(let r of Object.values(e))if(!(!r||typeof r!=`object`))for(let e of Object.keys(r))n.has(e)||(n.add(e),t.push(e));return t}function xt(e){return typeof e==`string`?e:typeof e==`number`||typeof e==`boolean`?String(e):``}function St(e){return{type:`metadata`,sessionId:``,model:``,meta:{panel:e.payload.panel,messages:e.payload.messages,message_id:e.payload.message_id}}}function Ct(){return{type:`done`}}function wt(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 Tt(e){return{type:`metadata`,sessionId:``,model:``,meta:{loading:!0,panelLoading:!0,panelPendingType:e.payload?.pending_type,loadingText:e.payload?.text}}}function Et(e){return{type:`metadata`,sessionId:``,model:``,meta:{loading:!0,similarPanelLoading:!0,panelPendingType:e.payload?.pending_type,loadingText:e.payload?.text}}}function Dt(e){let t=T(e.payload.url);return t?{type:`action`,action:{kind:`navigate`,url:t,newTab:e.payload.new_tab===!0}}:{type:`metadata`,sessionId:``,model:``,meta:{redirect:e.payload,redirectTarget:T(e.payload.to)}}}function Ot(e){return{type:`error`,code:`BACKEND_ERROR`,message:T(e.payload?.text,e.payload?.message,e.payload?.error)??`Backend returned an error`}}function kt(e){return{type:`metadata`,sessionId:``,model:``,meta:{noop:!0}}}function At(e){let t=e.payload??{};if(Array.isArray(t.action_list)){let e={action_list:t.action_list},n=typeof t.type==`string`?t.type:void 0,r=typeof t.theme==`string`?t.theme:void 0;return n!==void 0&&(e.type=n),r!==void 0&&(e.theme=r),Pt({type:`quick_qna`,payload:e})}let n=w(t.action);if(n){let e={action:n},r=typeof t.text==`string`?t.text:void 0,i=typeof t.image_url==`string`?t.image_url:void 0,a=typeof t.theme==`string`?t.theme:void 0;return r!==void 0&&(e.text=r),i!==void 0&&(e.image_url=i),a!==void 0&&(e.theme=a),Nt({type:`text_image`,payload:e})}let r=typeof t.text==`string`?t.text:``;if(r){let e={text:r},n=typeof t.type==`string`?t.type:void 0,i=typeof t.theme==`string`?t.theme:void 0,a=w(t.payload)??void 0;return n!==void 0&&(e.type=n),a!==void 0&&(e.payload=a),i!==void 0&&(e.theme=i),jt({type:`text`,payload:e})}return{type:`metadata`,sessionId:``,model:``,meta:{launcherAction:t}}}function jt(e){let t={text:T(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 Mt(e){return Zt(e.payload,`qna`)}function Nt(e){let t=T(e.payload.text)??``,n=C(e.payload.action,t);if(n){let r={label:t||n.title,action:n};return typeof e.payload.image_url==`string`&&(r.image=e.payload.image_url),typeof e.payload.theme==`string`&&(r.theme=e.payload.theme),{type:`ui_spec`,widget:`qna`,spec:{root:`root`,elements:{root:{type:`ActionButton`,props:r}}}}}let r={text:t};return typeof e.payload.theme==`string`&&(r.theme=e.payload.theme),jt({type:`text`,payload:r})}function Pt(e){return Jt((e.payload.action_list??[]).map(e=>{let t=T(e.title)??``,n=C(e.requestDetails,t),r=n?{label:t,action:n}:null;return r?(typeof e.icon==`string`&&(r.icon=e.icon),typeof e.image==`string`&&(r.image=e.image),r):null}).filter(rn),`qna`)}function Ft(e){let t={reviews:(e.payload.reviews??[]).map(e=>{let t={};return typeof e.review_class==`string`&&(t.review_class=e.review_class),typeof e.review_text==`string`&&(t.review_text=e.review_text),(typeof e.review_rating==`string`||typeof e.review_rating==`number`)&&(t.review_rating=e.review_rating),typeof e.review_tag==`string`&&(t.review_tag=e.review_tag),t})};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 It(e){let 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 Lt(e){return{type:`metadata`,sessionId:``,model:``,meta:{visitorDataResponse:e.payload}}}function Rt(e){let t=e.payload.product_suggestions??[],n=[];for(let e=0;e<t.length;e++){let r=t[e];if(!r)continue;let i=$t(r);if(!i)continue;let a={product:i},o=C(r.requestDetails,i.name);o&&(a.action=o),typeof r.role==`string`&&(a.role=r.role),typeof r.reason==`string`&&(a.reason=r.reason),typeof r.review_highlight==`string`&&(a.reviewHighlight=r.review_highlight),Array.isArray(r.labels)&&(a.labels=r.labels),typeof r.expert_quality_score==`number`&&(a.expertQualityScore=r.expert_quality_score),n.push(a)}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 zt(e){let t=e.payload.product_groupings??[],n=[];for(let e=0;e<t.length;e++){let r=t[e];if(!r)continue;let i=T(r.name)??``,a=r.sku&&r.sku.length>0?{type:`findSimilar`,payload:{sku:r.sku}}:void 0,o=C(r.requestDetails??a,i);if(!o)continue;let s={name:i,action:o};if(Array.isArray(r.labels)){let e=r.labels.filter(e=>typeof e==`string`);e.length>0&&(s.labels=e)}typeof r.image==`string`&&(s.image=r.image),n.push(s)}return n.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:n}}}}}}function Bt(e){let t=e.payload.suggested_searches??[],n=[];for(let e=0;e<t.length;e++){let r=t[e];if(!r)continue;let i=T(r.short_name,r.chosen_attribute,r.detailed_user_message)??`Search ${e+1}`,a={},o=T(r.detailed_user_message);o&&(a.text=o);let s=w(w(r.requestDetails)?.payload),c=s?.group_skus;r.group_skus&&Array.isArray(r.group_skus)?a.group_skus=r.group_skus:Array.isArray(c)&&(a.group_skus=c.filter(e=>typeof e==`string`));let l=T(r.sku,r.representative_product_sku,s?.sku);l&&(a.sku=l),a.is_suggested_text=1;let u={type:`inputText`,payload:a},d=C(r.requestDetails,i),f=d?.type===`findSimilar`&&typeof a.text==`string`?C(u,i):d??C(u,i);if(!f)continue;let p={shortName:i,action:f},m=T(r.detailed_user_message);m&&m!==i&&(p.detailedMessage=m);let h=ct(r);h&&h!==i&&h!==(m??``)&&(p.whyDifferent=h),typeof r.image==`string`&&(p.image=r.image),n.push(p)}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 Vt(e){let t=e.payload,n=C(t.requestDetails??t.request_details,T(t.review_count,t.reviewCount,t.text,t.title)??`Show product reviews`);if(!n)return{type:`metadata`,sessionId:``,model:``,meta:{groundingReview:t}};let 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 Ht(){return{type:`metadata`,sessionId:``,model:``,meta:{analyzeAnimation:!0}}}function Ut(e){return{type:`metadata`,sessionId:``,model:``,meta:{voice:e.payload}}}function Wt(e){let t=e.payload.group_list??[],n=[];for(let e of t){let t=e.group_name??``,r=(e.product_list??[]).map(D);n.push({groupName:t,products:r})}let r=[];for(let t of e.payload.filter_tags??[]){let e=t.title??``;if(!e)continue;let n=C(t.requestDetails,e),i={title:e};n&&(i.action=n),r.push(i)}return{type:`ui_spec`,widget:`chat`,spec:{root:`root`,elements:{root:{type:`CategoriesContainer`,props:{groups:n,filterTags:r}}}},panelHint:`panel`}}function Gt(e){return{type:`metadata`,sessionId:``,model:``,meta:{formType:e.type,formPayload:e.payload??{}}}}function Kt(e){let 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 qt(e){return{type:`metadata`,sessionId:``,model:``,meta:{launcherContent:e.payload??{}}}}function Jt(e,t){let n={},r=[];for(let t=0;t<e.length;t++){let i=e[t];if(!i)continue;let a=`action-${t}`;r.push(a);let o={label:i.label,action:i.action};i.icon!==void 0&&(o.icon=i.icon),i.image!==void 0&&(o.image=i.image),i.description!==void 0&&(o.description=i.description),n[a]={type:`ActionButton`,props:o}}return n.root={type:`ActionButtons`,props:{buttons:e.map(e=>{let t={label:e.label,action:e.action};return e.image!==void 0&&(t.image=e.image),e.description!==void 0&&(t.description=e.description),e.icon!==void 0&&(t.icon=e.icon),t})},children:r},{type:`ui_spec`,widget:t,spec:{root:`root`,elements:n}}}function Yt(e,t){let n={},r=[];for(let t=0;t<e.length;t++){let i=e[t];if(!i)continue;let a=D(i),o=`product-${t}`;r.push(o);let s={product:a,index:t};a.sku&&(s.action={title:a.name,type:`launchSingleProduct`,payload:{sku:a.sku}}),n[o]={type:`ProductCard`,props:s}}return n.root={type:`ProductGrid`,props:{layout:`grid`},children:r},{type:`ui_spec`,widget:t,spec:{root:`root`,elements:n}}}function Xt(e,t){let n={},r=[];for(let t=0;t<e.length;t++){let i=e[t];if(!i)continue;let a=`product-${t}`;r.push(a);let o={product:i,index:t},s=i.sku;s&&(o.action={title:i.name??``,type:`launchSingleProduct`,payload:{sku:s}}),n[a]={type:`ProductCard`,props:o}}return n.root={type:`ProductGrid`,props:{layout:`grid`},children:r},{type:`ui_spec`,widget:t,spec:{root:`root`,elements:n}}}function Zt(e,t){return{type:`ui_spec`,widget:t,spec:{root:`root`,elements:{root:{type:`ProductCard`,props:{product:D(e),index:0}}}}}}function Qt(e){return{type:`ui_spec`,widget:e,spec:{root:`root`,elements:{root:{type:`ActionButtons`,props:{buttons:[]},children:[]}}}}}function $t(e){let t=T(e.sku),n=T(e.short_name),r={...w(e.product_item)??e},i=T(e.discount_reason,e.discountReason);return i&&!T(r.discount_reason,r.discountReason)&&(r.discount_reason=i),en(r,t,n)}function en(e,t,n){let r=T(e.sku,t),i=T(e.name,n);if(!r||!i)return null;let a={sku:r,name:i},o=T(e.brand);o&&(a.brand=o);let s=T(e.url);s&&(a.url=s);let c=tn(e.images);if(c.length>0)a.images=c;else{let t=T(e.image,e.image_url,e.imageUrl);t&&(a.images=[t])}let l=E(e.price_discounted);l!==void 0&&(a.price_discounted=l);let u=E(e.price);u!==void 0&&(a.price=u);let d=E(e.rating);d!==void 0&&(a.rating=d);let f=E(e.review_count)??E(e.reviewCount);f!==void 0&&(a.review_count=f);let p=T(e.cart_code,e.cartCode);p&&(a.cart_code=p),typeof e.in_stock==`boolean`&&(a.in_stock=e.in_stock),typeof e.inStock==`boolean`&&(a.in_stock=e.inStock);let m=T(e.discount_reason,e.discountReason);return m&&(a.discount_reason=m),D(a)}function C(e,t){let n=w(e);if(!n)return null;let r=n.type;if(typeof r!=`string`||r.length===0)return null;let i={title:t||r,type:r};return n.payload!==void 0&&(i.payload=n.payload),i}function w(e){return!e||typeof e!=`object`||Array.isArray(e)?null:e}function T(...e){for(let t of e)if(typeof t==`string`){let e=t.trim();if(e.length>0)return e}}function tn(e){return Array.isArray(e)?e.filter(e=>typeof e==`string`&&e.length>0):[]}function nn(e){if(typeof e==`string`){let t=e.trim();return t?[t]:[]}return Array.isArray(e)?e.filter(e=>typeof e==`string`).map(e=>e.trim()).filter(e=>e.length>0):[]}function E(e){if(typeof e==`number`&&Number.isFinite(e))return e;if(typeof e==`string`){let t;t=e.includes(`.`)&&e.includes(`,`)?e.replace(/\./g,``).replace(`,`,`.`):e.replace(`,`,`.`);let n=Number(t);if(Number.isFinite(n))return n}}function rn(e){return e!=null}var an=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`,`facet_tags`,`short_name`,`category_ids`,`category_names`,`variants`,`facet_hits`,`promotions`]);function D(e){let 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,i;r!=null&&n!=null&&r>0?i=Math.round((r-n)/r*100):e.price_discount_rate!=null&&e.price_discount_rate>0&&(i=e.price_discount_rate);let a=T(e.brand),o=T(e.name)??e.sku,s=a&&!o.toLowerCase().startsWith(a.toLowerCase())?`${a} ${o}`:o,c={sku:e.sku,name:s,url:T(e.url)??``},l=e.images?.[0];l&&(c.imageUrl=l),e.images&&e.images.length>1&&(c.images=e.images),n!=null&&(c.price=String(n)),r!=null&&(c.originalPrice=String(r)),i!==void 0&&(c.discountPercent=i),a!==void 0&&(c.brand=a),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.short_name!==void 0&&(c.shortName=e.short_name);let u=e,d={},f=!1;for(let e of Object.keys(u))an.has(e)||(d[e]=u[e],f=!0);return f&&(c.extras=d),c}function on(e){return e.results.map(D)}function sn(e){return e.product_groupings.map(e=>{let t={name:e.name,products:(e.group_products??[]).map(D)};return e.highlight!==void 0&&(t.highlight=e.highlight),t})}function cn(e){let t=e.payload.type,{type:n,...r}=e.payload;return{type:`ui_spec`,widget:`chat`,spec:{root:`root`,elements:{root:{type:t,props:r}}}}}function ln(e){let t=[];for(let n of Object.values(e))if(n.type===`ProductCard`&&n.props){let e=n.props.product??n.props;typeof e.sku==`string`&&typeof e.name==`string`&&t.push(e)}return t}function un(e){let t=e.headers.get(`Content-Type`)??``;return t.includes(`application/x-ndjson`)||t.includes(`text/event-stream`)}async function dn(e,t){let n=[],r={onEvent:e=>{let t=dt(e);!t||t.type!==`ui_spec`||n.push(...ln(t.spec.elements))}};return t!==void 0&&(r.signal=t),await rt(e,r),n}async function fn(e,t,n){let r=$e(`similar_products`,t),i={method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify(e)};n!==void 0&&(i.signal=n);let a=await fetch(r,i);if(!a.ok)throw Error(`HTTP ${a.status}: ${a.statusText}`);if(un(a))return dn(a,n);let o=await a.text();if(!o)throw Error(`Empty response body from similar_products endpoint`);try{return on(JSON.parse(o))}catch{throw Error(`Invalid JSON from similar_products endpoint`)}}async function pn(e,t){let n=[],r=null,i={onEvent:e=>{let t=dt(e);if(t){if(t.type===`metadata`&&t.meta){let e=t.meta.group_name;if(typeof e==`string`){r={name:e,products:[]};let i=t.meta.highlight;typeof i==`string`&&(r.highlight=i),n.push(r)}}t.type===`ui_spec`&&r&&r.products.push(...ln(t.spec.elements))}}};return t!==void 0&&(i.signal=t),await rt(e,i),n}async function mn(e,t,n){let r=$e(`product_groupings`,t),i={method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify(e)};n!==void 0&&(i.signal=n);let a=await fetch(r,i);if(!a.ok)throw Error(`HTTP ${a.status}: ${a.statusText}`);if(un(a))return pn(a,n);let o=await a.text();if(!o)return[];try{return sn(JSON.parse(o))}catch{throw Error(`Invalid JSON from product_groupings endpoint`)}}var hn={currencyCode:`TRY`,currencySymbol:`TL`,currencyPosition:`suffix`,thousandsSeparator:`.`,decimalSeparator:`,`,alwaysShowDecimals:!1};function gn(e,t){let n=Number(e);if(!Number.isFinite(n)||n<0)return e;let r={...hn,...t},i=Math.abs(n%1)<2**-52,a=r.alwaysShowDecimals||!i?n.toFixed(2):n.toFixed(0),o=a.indexOf(`.`),s=o===-1?a:a.slice(0,o),c=o===-1?void 0:a.slice(o+1),l=s.replace(/\B(?=(\d{3})+(?!\d))/g,r.thousandsSeparator),u;return u=c===void 0?l:`${l}${r.decimalSeparator}${c}`,r.currencySymbol?r.currencyPosition===`prefix`?`${r.currencySymbol}${u}`:`${u} ${r.currencySymbol}`:u}function _n(e){return Number.isFinite(e)?Math.max(0,Math.min(5,e)):0}function vn(e){return Number.isFinite(e)?Math.max(0,Math.min(100,Math.round(e))):0}function yn(e){let t=_n(e),n=Math.floor(t),r=t-n>=.5,i=5-n-!!r,a=document.createElement(`span`);if(a.className=`gengage-star-rating`,a.setAttribute(`role`,`img`),a.setAttribute(`aria-label`,`${t.toFixed(1)} out of 5 stars`),n>0&&a.appendChild(document.createTextNode(`★`.repeat(n))),r){let e=document.createElement(`span`);e.className=`gengage-star-half`,e.textContent=`☆`;let t=document.createElement(`span`);t.textContent=`★`,e.appendChild(t),a.appendChild(e)}return i>0&&a.appendChild(document.createTextNode(`☆`.repeat(i))),a}function bn(e){e.addEventListener(`error`,()=>{e.style.display=`none`},{once:!0})}function xn(e){let{product:t,index:n,discountType:r,onClick:i,onAddToCart:a,renderCard:o}=e,s=e.i18n,c=e.pricing;if(e.renderCardElement){let r=e.renderCardElement(t,n);if(r)return r}if(o){let e=document.createElement(`div`);return e.className=`gengage-simrel-card gengage-simrel-card--custom gds-card gds-product-card gds-card-interactive`,e.dataset.gengagePart=`simrel-product-card`,e.innerHTML=oe(o(t,n)),e.addEventListener(`click`,e=>{e.target.closest(`.gengage-simrel-atc`)||e.target.closest(`.gengage-chat-product-card-atc`)||i(t)}),e}let l=document.createElement(`article`);l.className=`gengage-simrel-card gengage-chat-product-card gds-card gds-product-card gds-card-interactive`,l.dataset.gengagePart=`simrel-product-card`,t.inStock===!1&&l.classList.add(`gengage-simrel-card--out-of-stock`),l.setAttribute(`role`,`listitem`),l.dataset.sku=t.sku;let u=document.createElement(`div`);if(u.className=`gengage-simrel-card-image gengage-chat-product-card-img-wrapper`,u.dataset.gengagePart=`simrel-product-card-image`,t.imageUrl&&ae(t.imageUrl)){let e=document.createElement(`img`);e.className=`gengage-chat-product-card-img`,e.src=t.imageUrl,e.alt=t.name,e.loading=`lazy`,bn(e),u.appendChild(e)}if(r===`badge`&&t.discountPercent&&t.discountPercent>0){let e=document.createElement(`span`);e.className=`gengage-simrel-badge gengage-chat-product-card-discount-badge`,e.textContent=`%${vn(t.discountPercent)}`,u.appendChild(e)}l.appendChild(u);let d=document.createElement(`div`);if(d.className=`gengage-simrel-card-info gengage-chat-product-card-body`,d.dataset.gengagePart=`simrel-product-card-body`,t.brand){let e=document.createElement(`div`);e.className=`gengage-simrel-card-brand gengage-chat-product-card-brand`,e.textContent=t.brand,d.appendChild(e)}let f=document.createElement(`div`);if(f.className=`gengage-simrel-card-name gengage-chat-product-card-name`,f.textContent=t.name,f.title=t.name,d.appendChild(f),t.rating!=null&&t.rating>0){let e=document.createElement(`div`);if(e.className=`gengage-simrel-card-rating gengage-chat-product-card-rating`,e.appendChild(yn(t.rating)),t.reviewCount!=null){let n=document.createElement(`span`);n.className=`gengage-simrel-card-review-count gengage-chat-product-card-review-count`,n.textContent=` (${t.reviewCount})`,e.appendChild(n)}d.appendChild(e)}let p=document.createElement(`div`);if(p.className=`gengage-simrel-card-price gengage-chat-product-card-price`,t.originalPrice&&t.originalPrice!==t.price&&(r===`strike-through`||!r)){let e=document.createElement(`span`);e.className=`gengage-simrel-card-price-original gengage-chat-product-card-original-price`,e.textContent=gn(t.originalPrice,c),p.appendChild(e)}if(t.price&&parseFloat(t.price)>0){let e=document.createElement(`span`);e.className=`gengage-simrel-card-price-current gengage-chat-product-card-price-current`,e.textContent=gn(t.price,c),p.appendChild(e)}d.appendChild(p),l.appendChild(d);let m=document.createElement(`button`);if(m.className=`gengage-simrel-card-cta gengage-chat-product-card-cta gds-btn gds-btn-secondary`,m.type=`button`,m.dataset.gengagePart=`simrel-product-card-cta`,m.textContent=s?.ctaLabel??`View`,m.addEventListener(`click`,e=>{e.preventDefault(),e.stopPropagation(),i(t)}),l.appendChild(m),t.inStock===!1){let e=document.createElement(`div`);e.className=`gengage-simrel-card-oos`,e.textContent=s?.outOfStockLabel??`Out of Stock`,l.appendChild(e)}else if(t.cartCode){let e=document.createElement(`button`);e.className=`gengage-simrel-atc gengage-simrel-atc-button gds-btn gds-btn-secondary`,e.type=`button`,e.textContent=s?.addToCartButton??`Add to Cart`,e.addEventListener(`click`,e=>{e.preventDefault(),e.stopPropagation(),a({sku:t.sku,quantity:1,cartCode:t.cartCode})}),l.appendChild(e)}return l.addEventListener(`click`,e=>{e.target.closest(`.gengage-simrel-atc`)||e.target.closest(`.gengage-chat-product-card-atc`)||e.target.closest(`.gengage-chat-product-card-cta`)||i(t)}),l}function Sn(e){let t=document.createElement(`div`);t.className=`gengage-simrel-grid`,t.setAttribute(`role`,`list`),t.setAttribute(`aria-label`,e.i18n?.similarProductsAriaLabel??`Similar products`),e.columns&&t.style.setProperty(`--gengage-simrel-columns`,String(e.columns));for(let n=0;n<e.products.length;n++){let r={product:e.products[n],index:n,onClick:e.onClick,onAddToCart:e.onAddToCart};e.i18n!==void 0&&(r.i18n=e.i18n),e.discountType!==void 0&&(r.discountType=e.discountType),e.renderCard!==void 0&&(r.renderCard=e.renderCard),e.renderCardElement!==void 0&&(r.renderCardElement=e.renderCardElement);let i=xn(r);t.appendChild(i)}return e.products.length===0&&(t.style.display=`none`,t.dataset.empty=`true`),t}var Cn=0;function wn(e){let t=Cn++,n=document.createElement(`div`);if(n.className=`gengage-simrel-groups`,n.dataset.gengagePart=`simrel-groups`,e.groups.length===0)return n.style.display=`none`,n.dataset.empty=`true`,n;let r=document.createElement(`div`);r.className=`gengage-simrel-tabs gds-toolbar`,r.dataset.gengagePart=`simrel-tab-bar`,r.setAttribute(`role`,`tablist`);let i=[],a=[],o=t=>{let n={products:t.products,onClick:e.onClick,onAddToCart:e.onAddToCart};return e.i18n!==void 0&&(n.i18n=e.i18n),e.discountType!==void 0&&(n.discountType=e.discountType),e.renderCard!==void 0&&(n.renderCard=e.renderCard),e.renderCardElement!==void 0&&(n.renderCardElement=e.renderCardElement),e.columns!==void 0&&(n.columns=e.columns),n},s=t=>{for(let e=0;e<i.length;e++){let n=e===t;i[e].classList.toggle(`gengage-simrel-tab--active`,n),i[e].setAttribute(`aria-selected`,String(n)),i[e].tabIndex=n?0:-1}let n=e.groups[t],r=a[t];r.innerHTML=``;let s=Sn(o(n));r.appendChild(s);for(let e=0;e<a.length;e++){let n=e===t;a[e].style.display=n?``:`none`,a[e].tabIndex=n?0:-1}};for(let n=0;n<e.groups.length;n++){let o=e.groups[n],c=`gengage-simrel-tab-${t}-${n}`,l=`gengage-simrel-panel-${t}-${n}`,u=document.createElement(`button`);u.className=`gengage-simrel-tab gds-tab`,u.type=`button`,u.dataset.gengagePart=`simrel-tab`,u.id=c,u.textContent=o.name,u.setAttribute(`role`,`tab`),u.setAttribute(`aria-controls`,l),u.setAttribute(`aria-selected`,String(n===0)),u.tabIndex=n===0?0:-1,n===0&&u.classList.add(`gengage-simrel-tab--active`),u.addEventListener(`click`,()=>s(n)),u.addEventListener(`keydown`,t=>{let r=-1;t.key===`ArrowRight`||t.key===`ArrowDown`?r=(n+1)%e.groups.length:t.key===`ArrowLeft`||t.key===`ArrowUp`?r=(n-1+e.groups.length)%e.groups.length:t.key===`Home`?r=0:t.key===`End`&&(r=e.groups.length-1),r>=0&&(t.preventDefault(),s(r),i[r].focus())}),i.push(u),r.appendChild(u);let d=document.createElement(`div`);d.className=`gengage-simrel-tab-panel`,d.dataset.gengagePart=`simrel-tab-panel`,d.id=l,d.setAttribute(`role`,`tabpanel`),d.setAttribute(`aria-labelledby`,c),d.tabIndex=n===0?0:-1,n!==0&&(d.style.display=`none`),a.push(d)}let c=document.createElement(`button`);c.type=`button`,c.className=`gengage-simrel-tabs-arrow gengage-simrel-tabs-arrow--left`,c.setAttribute(`aria-label`,e.i18n?.scrollTabsLeft??`Scroll tabs left`),c.innerHTML=`<svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><polyline points="15 18 9 12 15 6"/></svg>`;let l=document.createElement(`button`);l.type=`button`,l.className=`gengage-simrel-tabs-arrow gengage-simrel-tabs-arrow--right`,l.setAttribute(`aria-label`,e.i18n?.scrollTabsRight??`Scroll tabs right`),l.innerHTML=`<svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><polyline points="9 18 15 12 9 6"/></svg>`,c.addEventListener(`click`,()=>{r.scrollBy({left:-200,behavior:`smooth`})}),l.addEventListener(`click`,()=>{r.scrollBy({left:200,behavior:`smooth`})});let u=()=>{let e=r.scrollLeft<=4,t=r.scrollLeft+r.clientWidth>=r.scrollWidth-4;c.style.display=e?`none`:``,l.style.display=t?`none`:``,r.classList.toggle(`gengage-simrel-tabs--peek-right`,!t),r.classList.toggle(`gengage-simrel-tabs--peek-left`,!e)};r.addEventListener(`scroll`,u,{passive:!0}),typeof ResizeObserver<`u`&&new ResizeObserver(u).observe(r),c.style.display=`none`,l.style.display=`none`,requestAnimationFrame(u);let d=document.createElement(`div`);d.className=`gengage-simrel-tabs-wrapper`,d.appendChild(c),d.appendChild(r),d.appendChild(l),n.appendChild(d);let f=a[0],p=Sn(o(e.groups[0]));f.appendChild(p);for(let e of a)n.appendChild(e);return n}function Tn(e){if(!e||typeof e!=`object`)return null;let t=e;if(typeof t.sku!=`string`||typeof t.name!=`string`||typeof t.url!=`string`)return null;let n={sku:t.sku,name:t.name,url:t.url},r=t.imageUrl;typeof r==`string`&&(n.imageUrl=r);let i=t.price;typeof i==`string`&&(n.price=i);let a=t.originalPrice;typeof a==`string`&&(n.originalPrice=a);let o=t.discountPercent;typeof o==`number`&&(n.discountPercent=o);let s=t.brand;typeof s==`string`&&(n.brand=s);let c=t.rating;typeof c==`number`&&(n.rating=c);let l=t.reviewCount;typeof l==`number`&&(n.reviewCount=l);let u=t.cartCode;typeof u==`string`&&(n.cartCode=u);let d=t.inStock;typeof d==`boolean`&&(n.inStock=d);let f=t.extras;return typeof f==`object`&&f&&(n.extras=f),n}function En(e){if(!e||typeof e!=`object`)return null;let t=e,n=t.title,r=t.type;if(typeof n!=`string`||typeof r!=`string`)return null;let i={title:n,type:r};return t.payload!==void 0&&(i.payload=t.payload),i}var Dn={ProductGrid:({element:e,renderElement:t,context:n})=>{let r=document.createElement(`div`);r.className=`gengage-simrel-grid`,r.setAttribute(`role`,`list`);let i=e.props?.columns,a;typeof i==`number`&&Number.isFinite(i)&&i>0?a=Math.floor(i):typeof n.gridColumns==`number`&&Number.isFinite(n.gridColumns)&&n.gridColumns>0&&(a=Math.floor(n.gridColumns)),a!==void 0&&r.style.setProperty(`--gengage-simrel-columns`,String(a));for(let n of e.children??[]){let e=t(n);e&&r.appendChild(e)}if(r.children.length===0){let e=document.createElement(`div`);e.className=`gengage-simrel-empty`,e.textContent=n.i18n.emptyStateMessage,r.appendChild(e)}return r},ProductCard:({element:e,context:t})=>{let n=Tn(e.props?.product??e.props);if(!n)return null;let r=e.props?.index,i=typeof r==`number`&&Number.isFinite(r)?r:0,a=e.props?.discountType,o=a===`strike-through`||a===`badge`?a:t.discountType,s={product:n,index:i,onClick:t.onClick,onAddToCart:t.onAddToCart,i18n:t.i18n};return o!==void 0&&(s.discountType=o),t.renderCard!==void 0&&(s.renderCard=t.renderCard),t.renderCardElement!==void 0&&(s.renderCardElement=t.renderCardElement),t.pricing!==void 0&&(s.pricing=t.pricing),xn(s)},GroupTabs:({element:e,context:t})=>{let n=e.props?.groups;if(!Array.isArray(n))return null;let r=[];for(let e of n){if(!e||typeof e!=`object`)continue;let t=e;if(typeof t.name!=`string`)continue;let n=[];if(Array.isArray(t.products))for(let e of t.products){let t=Tn(e);t&&n.push(t)}let i={name:t.name,products:n};typeof t.highlight==`string`&&(i.highlight=t.highlight),r.push(i)}let i={groups:r,onClick:t.onClick,onAddToCart:t.onAddToCart,i18n:t.i18n},a=e.props?.columns;return typeof a==`number`&&Number.isFinite(a)&&a>0?i.columns=Math.floor(a):typeof t.gridColumns==`number`&&Number.isFinite(t.gridColumns)&&t.gridColumns>0&&(i.columns=Math.floor(t.gridColumns)),t.discountType!==void 0&&(i.discountType=t.discountType),t.renderCard!==void 0&&(i.renderCard=t.renderCard),t.renderCardElement!==void 0&&(i.renderCardElement=t.renderCardElement),wn(i)},EmptyState:({element:e,context:t})=>{let n=document.createElement(`div`);n.className=`gengage-simrel-empty`;let r=e.props?.message;return n.textContent=typeof r==`string`?r:t.i18n.emptyStateMessage,n},AddToCartButton:({element:e,context:t})=>{let n=e.props?.sku,r=e.props?.cartCode;if(typeof n!=`string`||typeof r!=`string`)return null;let i=document.createElement(`button`);i.className=`gengage-simrel-atc gengage-chat-product-card-cta`,i.type=`button`;let a=e.props?.label;return i.textContent=typeof a==`string`?a:t.i18n.addToCartButton,i.addEventListener(`click`,e=>{e.preventDefault(),e.stopPropagation(),t.onAddToCart({sku:n,quantity:1,cartCode:r})}),i},QuickActions:({element:e,context:t})=>{let n=document.createElement(`div`);n.className=`gengage-simrel-quick-actions`;let r=e.props?.actions;if(!Array.isArray(r)||!t.onAction)return n;for(let e of r){if(!e||typeof e!=`object`)continue;let r=e,i=r.label,a=En(r.action);if(typeof i!=`string`||!a)continue;let o=document.createElement(`button`);o.className=`gengage-simrel-quick-action`,o.type=`button`,o.textContent=i,o.addEventListener(`click`,e=>{e.preventDefault(),e.stopPropagation(),t.onAction?.(a)}),n.appendChild(o)}return n}},On=({element:e,renderElement:t})=>{if(!e.children||e.children.length===0)return null;let n=document.createElement(`div`);for(let r of e.children){let e=t(r);e&&n.appendChild(e)}return n};function kn(){return{...Dn}}function An(e,t,r=Dn,i=On){return n({spec:e,context:t,registry:r,containerClassName:`gengage-simrel-uispec`,unknownRenderer:i})}var jn={similarProductsAriaLabel:`Benzer ürünler`,emptyStateMessage:`Benzer ürün bulunamadı.`,addToCartButton:`Sepete Ekle`,ctaLabel:`İncele`,outOfStockLabel:`Stokta Yok`,decreaseLabel:`Azalt`,increaseLabel:`Artır`,errorLoadingMessage:`Benzer ürünler yüklenemedi.`,retryButtonText:`Tekrar dene`,priceSuffix:` TL`,scrollTabsLeft:`Sola kaydır`,scrollTabsRight:`Sağa kaydır`},Mn={similarProductsAriaLabel:`Similar products`,emptyStateMessage:`No similar products found.`,addToCartButton:`Add to cart`,ctaLabel:`View`,outOfStockLabel:`Out of Stock`,decreaseLabel:`Decrease`,increaseLabel:`Increase`,errorLoadingMessage:`Could not load similar products.`,retryButtonText:`Try again`,priceSuffix:``,scrollTabsLeft:`Scroll tabs left`,scrollTabsRight:`Scroll tabs right`};function Nn(e){return e?e.toLowerCase().split(`-`)[0]??`tr`:`tr`}function Pn(e){switch(Nn(e)){case`en`:return Mn;default:return jn}}function Fn(){return typeof window<`u`&&Array.isArray(window.dataLayer)}function In(e,t){let n={event:e,...t};Fn()&&window.dataLayer.push(n)}function Ln(e){In(`gengage-on-init`,{gengage_widget:e})}function Rn(e){In(`gengage-show`,{gengage_widget:e})}function zn(e,t){In(`gengage-product-detail`,{gengage_sku:e,gengage_product_name:t})}function Bn(e,t){In(`gengage-cart-add`,{gengage_sku:e,gengage_quantity:t})}Object.freeze({status:`aborted`});function O(e,t,n){function r(n,r){if(n._zod||Object.defineProperty(n,`_zod`,{value:{def:r,constr:o,traits:new Set},enumerable:!1}),n._zod.traits.has(e))return;n._zod.traits.add(e),t(n,r);let i=o.prototype,a=Object.keys(i);for(let e=0;e<a.length;e++){let t=a[e];t in n||(n[t]=i[t].bind(n))}}let i=n?.Parent??Object;class a extends i{}Object.defineProperty(a,`name`,{value:e});function o(e){var t;let i=n?.Parent?new a:this;r(i,e),(t=i._zod).deferred??(t.deferred=[]);for(let e of i._zod.deferred)e();return i}return Object.defineProperty(o,`init`,{value:r}),Object.defineProperty(o,Symbol.hasInstance,{value:t=>n?.Parent&&t instanceof n.Parent?!0:t?._zod?.traits?.has(e)}),Object.defineProperty(o,`name`,{value:e}),o}var k=class extends Error{constructor(){super(`Encountered Promise during synchronous parse. Use .parseAsync() instead.`)}},Vn=class extends Error{constructor(e){super(`Encountered unidirectional transform during encode: ${e}`),this.name=`ZodEncodeError`}},Hn={};function A(e){return e&&Object.assign(Hn,e),Hn}function Un(e){let t=Object.values(e).filter(e=>typeof e==`number`);return Object.entries(e).filter(([e,n])=>t.indexOf(+e)===-1).map(([e,t])=>t)}function Wn(e,t){return typeof t==`bigint`?t.toString():t}function Gn(e){return{get value(){{let t=e();return Object.defineProperty(this,`value`,{value:t}),t}throw Error(`cached value already set`)}}}function Kn(e){return e==null}function qn(e){let t=+!!e.startsWith(`^`),n=e.endsWith(`$`)?e.length-1:e.length;return e.slice(t,n)}function Jn(e,t){let n=(e.toString().split(`.`)[1]||``).length,r=t.toString(),i=(r.split(`.`)[1]||``).length;if(i===0&&/\d?e-\d?/.test(r)){let e=r.match(/\d?e-(\d?)/);e?.[1]&&(i=Number.parseInt(e[1]))}let a=n>i?n:i;return Number.parseInt(e.toFixed(a).replace(`.`,``))%Number.parseInt(t.toFixed(a).replace(`.`,``))/10**a}var Yn=Symbol(`evaluating`);function j(e,t,n){let r;Object.defineProperty(e,t,{get(){if(r!==Yn)return r===void 0&&(r=Yn,r=n()),r},set(n){Object.defineProperty(e,t,{value:n})},configurable:!0})}function M(e,t,n){Object.defineProperty(e,t,{value:n,writable:!0,enumerable:!0,configurable:!0})}function N(...e){let t={};for(let n of e)Object.assign(t,Object.getOwnPropertyDescriptors(n));return Object.defineProperties({},t)}function Xn(e){return JSON.stringify(e)}function Zn(e){return e.toLowerCase().trim().replace(/[^\w\s-]/g,``).replace(/[\s_-]+/g,`-`).replace(/^-+|-+$/g,``)}var Qn=`captureStackTrace`in Error?Error.captureStackTrace:(...e)=>{};function $n(e){return typeof e==`object`&&!!e&&!Array.isArray(e)}var er=Gn(()=>{if(typeof navigator<`u`&&navigator?.userAgent?.includes(`Cloudflare`))return!1;try{return Function(``),!0}catch{return!1}});function P(e){if($n(e)===!1)return!1;let t=e.constructor;if(t===void 0||typeof t!=`function`)return!0;let n=t.prototype;return!($n(n)===!1||Object.prototype.hasOwnProperty.call(n,`isPrototypeOf`)===!1)}function tr(e){return P(e)?{...e}:Array.isArray(e)?[...e]:e}var nr=new Set([`string`,`number`,`symbol`]);function rr(e){return e.replace(/[.*+?^${}()|[\]\\]/g,`\\$&`)}function F(e,t,n){let r=new e._zod.constr(t??e._zod.def);return(!t||n?.parent)&&(r._zod.parent=e),r}function I(e){let t=e;if(!t)return{};if(typeof t==`string`)return{error:()=>t};if(t?.message!==void 0){if(t?.error!==void 0)throw Error("Cannot specify both `message` and `error` params");t.error=t.message}return delete t.message,typeof t.error==`string`?{...t,error:()=>t.error}:t}function ir(e){return Object.keys(e).filter(t=>e[t]._zod.optin===`optional`&&e[t]._zod.optout===`optional`)}var ar={safeint:[-(2**53-1),2**53-1],int32:[-2147483648,2147483647],uint32:[0,4294967295],float32:[-34028234663852886e22,34028234663852886e22],float64:[-Number.MAX_VALUE,Number.MAX_VALUE]};function or(e,t){let n=e._zod.def,r=n.checks;if(r&&r.length>0)throw Error(`.pick() cannot be used on object schemas containing refinements`);return F(e,N(e._zod.def,{get shape(){let e={};for(let r in t){if(!(r in n.shape))throw Error(`Unrecognized key: "${r}"`);t[r]&&(e[r]=n.shape[r])}return M(this,`shape`,e),e},checks:[]}))}function sr(e,t){let n=e._zod.def,r=n.checks;if(r&&r.length>0)throw Error(`.omit() cannot be used on object schemas containing refinements`);return F(e,N(e._zod.def,{get shape(){let r={...e._zod.def.shape};for(let e in t){if(!(e in n.shape))throw Error(`Unrecognized key: "${e}"`);t[e]&&delete r[e]}return M(this,`shape`,r),r},checks:[]}))}function cr(e,t){if(!P(t))throw Error(`Invalid input to extend: expected a plain object`);let n=e._zod.def.checks;if(n&&n.length>0){let n=e._zod.def.shape;for(let e in t)if(Object.getOwnPropertyDescriptor(n,e)!==void 0)throw Error("Cannot overwrite keys on object schemas containing refinements. Use `.safeExtend()` instead.")}return F(e,N(e._zod.def,{get shape(){let n={...e._zod.def.shape,...t};return M(this,`shape`,n),n}}))}function lr(e,t){if(!P(t))throw Error(`Invalid input to safeExtend: expected a plain object`);return F(e,N(e._zod.def,{get shape(){let n={...e._zod.def.shape,...t};return M(this,`shape`,n),n}}))}function ur(e,t){return F(e,N(e._zod.def,{get shape(){let n={...e._zod.def.shape,...t._zod.def.shape};return M(this,`shape`,n),n},get catchall(){return t._zod.def.catchall},checks:[]}))}function dr(e,t,n){let r=t._zod.def.checks;if(r&&r.length>0)throw Error(`.partial() cannot be used on object schemas containing refinements`);return F(t,N(t._zod.def,{get shape(){let r=t._zod.def.shape,i={...r};if(n)for(let t in n){if(!(t in r))throw Error(`Unrecognized key: "${t}"`);n[t]&&(i[t]=e?new e({type:`optional`,innerType:r[t]}):r[t])}else for(let t in r)i[t]=e?new e({type:`optional`,innerType:r[t]}):r[t];return M(this,`shape`,i),i},checks:[]}))}function fr(e,t,n){return F(t,N(t._zod.def,{get shape(){let r=t._zod.def.shape,i={...r};if(n)for(let t in n){if(!(t in i))throw Error(`Unrecognized key: "${t}"`);n[t]&&(i[t]=new e({type:`nonoptional`,innerType:r[t]}))}else for(let t in r)i[t]=new e({type:`nonoptional`,innerType:r[t]});return M(this,`shape`,i),i}}))}function L(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 pr(e,t){return t.map(t=>{var n;return(n=t).path??(n.path=[]),t.path.unshift(e),t})}function mr(e){return typeof e==`string`?e:e?.message}function R(e,t,n){let r={...e,path:e.path??[]};return e.message||(r.message=mr(e.inst?._zod.def?.error?.(e))??mr(t?.error?.(e))??mr(n.customError?.(e))??mr(n.localeError?.(e))??`Invalid input`),delete r.inst,delete r.continue,t?.reportInput||delete r.input,r}function hr(e){return Array.isArray(e)?`array`:typeof e==`string`?`string`:`unknown`}function z(...e){let[t,n,r]=e;return typeof t==`string`?{message:t,code:`custom`,input:n,inst:r}:{...t}}var gr=(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,Wn,2),Object.defineProperty(e,`toString`,{value:()=>e.message,enumerable:!1})},_r=O(`$ZodError`,gr),vr=O(`$ZodError`,gr,{Parent:Error});function yr(e,t=e=>e.message){let n={},r=[];for(let i of e.issues)i.path.length>0?(n[i.path[0]]=n[i.path[0]]||[],n[i.path[0]].push(t(i))):r.push(t(i));return{formErrors:r,fieldErrors:n}}function br(e,t=e=>e.message){let n={_errors:[]},r=e=>{for(let i of e.issues)if(i.code===`invalid_union`&&i.errors.length)i.errors.map(e=>r({issues:e}));else if(i.code===`invalid_key`)r({issues:i.issues});else if(i.code===`invalid_element`)r({issues:i.issues});else if(i.path.length===0)n._errors.push(t(i));else{let e=n,r=0;for(;r<i.path.length;){let n=i.path[r];r===i.path.length-1?(e[n]=e[n]||{_errors:[]},e[n]._errors.push(t(i))):e[n]=e[n]||{_errors:[]},e=e[n],r++}}};return r(e),n}var xr=e=>(t,n,r,i)=>{let a=r?Object.assign(r,{async:!1}):{async:!1},o=t._zod.run({value:n,issues:[]},a);if(o instanceof Promise)throw new k;if(o.issues.length){let t=new(i?.Err??e)(o.issues.map(e=>R(e,a,A())));throw Qn(t,i?.callee),t}return o.value},Sr=e=>async(t,n,r,i)=>{let a=r?Object.assign(r,{async:!0}):{async:!0},o=t._zod.run({value:n,issues:[]},a);if(o instanceof Promise&&(o=await o),o.issues.length){let t=new(i?.Err??e)(o.issues.map(e=>R(e,a,A())));throw Qn(t,i?.callee),t}return o.value},Cr=e=>(t,n,r)=>{let i=r?{...r,async:!1}:{async:!1},a=t._zod.run({value:n,issues:[]},i);if(a instanceof Promise)throw new k;return a.issues.length?{success:!1,error:new(e??_r)(a.issues.map(e=>R(e,i,A())))}:{success:!0,data:a.value}},wr=Cr(vr),Tr=e=>async(t,n,r)=>{let i=r?Object.assign(r,{async:!0}):{async:!0},a=t._zod.run({value:n,issues:[]},i);return a instanceof Promise&&(a=await a),a.issues.length?{success:!1,error:new e(a.issues.map(e=>R(e,i,A())))}:{success:!0,data:a.value}},Er=Tr(vr),Dr=e=>(t,n,r)=>{let i=r?Object.assign(r,{direction:`backward`}):{direction:`backward`};return xr(e)(t,n,i)},Or=e=>(t,n,r)=>xr(e)(t,n,r),kr=e=>async(t,n,r)=>{let i=r?Object.assign(r,{direction:`backward`}):{direction:`backward`};return Sr(e)(t,n,i)},Ar=e=>async(t,n,r)=>Sr(e)(t,n,r),jr=e=>(t,n,r)=>{let i=r?Object.assign(r,{direction:`backward`}):{direction:`backward`};return Cr(e)(t,n,i)},Mr=e=>(t,n,r)=>Cr(e)(t,n,r),Nr=e=>async(t,n,r)=>{let i=r?Object.assign(r,{direction:`backward`}):{direction:`backward`};return Tr(e)(t,n,i)},Pr=e=>async(t,n,r)=>Tr(e)(t,n,r),Fr=/^[cC][^\s-]{8,}$/,Ir=/^[0-9a-z]+$/,Lr=/^[0-9A-HJKMNP-TV-Za-hjkmnp-tv-z]{26}$/,Rr=/^[0-9a-vA-V]{20}$/,zr=/^[A-Za-z0-9]{27}$/,Br=/^[a-zA-Z0-9_-]{21}$/,Vr=/^P(?:(\d+W)|(?!.*W)(?=\d|T\d)(\d+Y)?(\d+M)?(\d+D)?(T(?=\d)(\d+H)?(\d+M)?(\d+([.,]\d+)?S)?)?)$/,Hr=/^([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})$/,Ur=e=>e?RegExp(`^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-${e}[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$`):/^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$/,Wr=/^(?!\.)(?!.*\.\.)([A-Za-z0-9_'+\-\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\-]*\.)+[A-Za-z]{2,}$/,Gr=`^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$`;function Kr(){return new RegExp(Gr,`u`)}var qr=/^(?:(?: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])$/,Jr=/^(([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}|:))$/,Yr=/^((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])$/,Xr=/^(([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])$/,Zr=/^$|^(?:[0-9a-zA-Z+/]{4})*(?:(?:[0-9a-zA-Z+/]{2}==)|(?:[0-9a-zA-Z+/]{3}=))?$/,Qr=/^[A-Za-z0-9_-]*$/,$r=/^\+[1-9]\d{6,14}$/,ei=`(?:(?:\\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])))`,ti=RegExp(`^${ei}$`);function ni(e){let t=`(?:[01]\\d|2[0-3]):[0-5]\\d`;return typeof e.precision==`number`?e.precision===-1?`${t}`:e.precision===0?`${t}:[0-5]\\d`:`${t}:[0-5]\\d\\.\\d{${e.precision}}`:`${t}(?::[0-5]\\d(?:\\.\\d+)?)?`}function ri(e){return RegExp(`^${ni(e)}$`)}function ii(e){let t=ni({precision:e.precision}),n=[`Z`];e.local&&n.push(``),e.offset&&n.push(`([+-](?:[01]\\d|2[0-3]):[0-5]\\d)`);let r=`${t}(?:${n.join(`|`)})`;return RegExp(`^${ei}T(?:${r})$`)}var ai=e=>{let t=e?`[\\s\\S]{${e?.minimum??0},${e?.maximum??``}}`:`[\\s\\S]*`;return RegExp(`^${t}$`)},oi=/^-?\d+$/,si=/^-?\d+(?:\.\d+)?$/,ci=/^[^A-Z]*$/,li=/^[^a-z]*$/,B=O(`$ZodCheck`,(e,t)=>{var n;e._zod??={},e._zod.def=t,(n=e._zod).onattach??(n.onattach=[])}),ui={number:`number`,bigint:`bigint`,object:`date`},di=O(`$ZodCheckLessThan`,(e,t)=>{B.init(e,t);let n=ui[typeof t.value];e._zod.onattach.push(e=>{let n=e._zod.bag,r=(t.inclusive?n.maximum:n.exclusiveMaximum)??1/0;t.value<r&&(t.inclusive?n.maximum=t.value:n.exclusiveMaximum=t.value)}),e._zod.check=r=>{(t.inclusive?r.value<=t.value:r.value<t.value)||r.issues.push({origin:n,code:`too_big`,maximum:typeof t.value==`object`?t.value.getTime():t.value,input:r.value,inclusive:t.inclusive,inst:e,continue:!t.abort})}}),fi=O(`$ZodCheckGreaterThan`,(e,t)=>{B.init(e,t);let n=ui[typeof t.value];e._zod.onattach.push(e=>{let n=e._zod.bag,r=(t.inclusive?n.minimum:n.exclusiveMinimum)??-1/0;t.value>r&&(t.inclusive?n.minimum=t.value:n.exclusiveMinimum=t.value)}),e._zod.check=r=>{(t.inclusive?r.value>=t.value:r.value>t.value)||r.issues.push({origin:n,code:`too_small`,minimum:typeof t.value==`object`?t.value.getTime():t.value,input:r.value,inclusive:t.inclusive,inst:e,continue:!t.abort})}}),pi=O(`$ZodCheckMultipleOf`,(e,t)=>{B.init(e,t),e._zod.onattach.push(e=>{var n;(n=e._zod.bag).multipleOf??(n.multipleOf=t.value)}),e._zod.check=n=>{if(typeof n.value!=typeof t.value)throw Error(`Cannot mix number and bigint in multiple_of check.`);(typeof n.value==`bigint`?n.value%t.value===BigInt(0):Jn(n.value,t.value)===0)||n.issues.push({origin:typeof n.value,code:`not_multiple_of`,divisor:t.value,input:n.value,inst:e,continue:!t.abort})}}),mi=O(`$ZodCheckNumberFormat`,(e,t)=>{B.init(e,t),t.format=t.format||`float64`;let n=t.format?.includes(`int`),r=n?`int`:`number`,[i,a]=ar[t.format];e._zod.onattach.push(e=>{let r=e._zod.bag;r.format=t.format,r.minimum=i,r.maximum=a,n&&(r.pattern=oi)}),e._zod.check=o=>{let s=o.value;if(n){if(!Number.isInteger(s)){o.issues.push({expected:r,format:t.format,code:`invalid_type`,continue:!1,input:s,inst:e});return}if(!Number.isSafeInteger(s)){s>0?o.issues.push({input:s,code:`too_big`,maximum:2**53-1,note:`Integers must be within the safe integer range.`,inst:e,origin:r,inclusive:!0,continue:!t.abort}):o.issues.push({input:s,code:`too_small`,minimum:-(2**53-1),note:`Integers must be within the safe integer range.`,inst:e,origin:r,inclusive:!0,continue:!t.abort});return}}s<i&&o.issues.push({origin:`number`,input:s,code:`too_small`,minimum:i,inclusive:!0,inst:e,continue:!t.abort}),s>a&&o.issues.push({origin:`number`,input:s,code:`too_big`,maximum:a,inclusive:!0,inst:e,continue:!t.abort})}}),hi=O(`$ZodCheckMaxLength`,(e,t)=>{var n;B.init(e,t),(n=e._zod.def).when??(n.when=e=>{let t=e.value;return!Kn(t)&&t.length!==void 0}),e._zod.onattach.push(e=>{let n=e._zod.bag.maximum??1/0;t.maximum<n&&(e._zod.bag.maximum=t.maximum)}),e._zod.check=n=>{let r=n.value;if(r.length<=t.maximum)return;let i=hr(r);n.issues.push({origin:i,code:`too_big`,maximum:t.maximum,inclusive:!0,input:r,inst:e,continue:!t.abort})}}),gi=O(`$ZodCheckMinLength`,(e,t)=>{var n;B.init(e,t),(n=e._zod.def).when??(n.when=e=>{let t=e.value;return!Kn(t)&&t.length!==void 0}),e._zod.onattach.push(e=>{let n=e._zod.bag.minimum??-1/0;t.minimum>n&&(e._zod.bag.minimum=t.minimum)}),e._zod.check=n=>{let r=n.value;if(r.length>=t.minimum)return;let i=hr(r);n.issues.push({origin:i,code:`too_small`,minimum:t.minimum,inclusive:!0,input:r,inst:e,continue:!t.abort})}}),_i=O(`$ZodCheckLengthEquals`,(e,t)=>{var n;B.init(e,t),(n=e._zod.def).when??(n.when=e=>{let t=e.value;return!Kn(t)&&t.length!==void 0}),e._zod.onattach.push(e=>{let n=e._zod.bag;n.minimum=t.length,n.maximum=t.length,n.length=t.length}),e._zod.check=n=>{let r=n.value,i=r.length;if(i===t.length)return;let a=hr(r),o=i>t.length;n.issues.push({origin:a,...o?{code:`too_big`,maximum:t.length}:{code:`too_small`,minimum:t.length},inclusive:!0,exact:!0,input:n.value,inst:e,continue:!t.abort})}}),vi=O(`$ZodCheckStringFormat`,(e,t)=>{var n,r;B.init(e,t),e._zod.onattach.push(e=>{let n=e._zod.bag;n.format=t.format,t.pattern&&(n.patterns??=new Set,n.patterns.add(t.pattern))}),t.pattern?(n=e._zod).check??(n.check=n=>{t.pattern.lastIndex=0,!t.pattern.test(n.value)&&n.issues.push({origin:`string`,code:`invalid_format`,format:t.format,input:n.value,...t.pattern?{pattern:t.pattern.toString()}:{},inst:e,continue:!t.abort})}):(r=e._zod).check??(r.check=()=>{})}),yi=O(`$ZodCheckRegex`,(e,t)=>{vi.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})}}),bi=O(`$ZodCheckLowerCase`,(e,t)=>{t.pattern??=ci,vi.init(e,t)}),xi=O(`$ZodCheckUpperCase`,(e,t)=>{t.pattern??=li,vi.init(e,t)}),Si=O(`$ZodCheckIncludes`,(e,t)=>{B.init(e,t);let n=rr(t.includes),r=new RegExp(typeof t.position==`number`?`^.{${t.position}}${n}`:n);t.pattern=r,e._zod.onattach.push(e=>{let t=e._zod.bag;t.patterns??=new Set,t.patterns.add(r)}),e._zod.check=n=>{n.value.includes(t.includes,t.position)||n.issues.push({origin:`string`,code:`invalid_format`,format:`includes`,includes:t.includes,input:n.value,inst:e,continue:!t.abort})}}),Ci=O(`$ZodCheckStartsWith`,(e,t)=>{B.init(e,t);let n=RegExp(`^${rr(t.prefix)}.*`);t.pattern??=n,e._zod.onattach.push(e=>{let t=e._zod.bag;t.patterns??=new Set,t.patterns.add(n)}),e._zod.check=n=>{n.value.startsWith(t.prefix)||n.issues.push({origin:`string`,code:`invalid_format`,format:`starts_with`,prefix:t.prefix,input:n.value,inst:e,continue:!t.abort})}}),wi=O(`$ZodCheckEndsWith`,(e,t)=>{B.init(e,t);let n=RegExp(`.*${rr(t.suffix)}$`);t.pattern??=n,e._zod.onattach.push(e=>{let t=e._zod.bag;t.patterns??=new Set,t.patterns.add(n)}),e._zod.check=n=>{n.value.endsWith(t.suffix)||n.issues.push({origin:`string`,code:`invalid_format`,format:`ends_with`,suffix:t.suffix,input:n.value,inst:e,continue:!t.abort})}}),Ti=O(`$ZodCheckOverwrite`,(e,t)=>{B.init(e,t),e._zod.check=e=>{e.value=t.tx(e.value)}}),Ei=class{constructor(e=[]){this.content=[],this.indent=0,this&&(this.args=e)}indented(e){this.indent+=1,e(this),--this.indent}write(e){if(typeof e==`function`){e(this,{execution:`sync`}),e(this,{execution:`async`});return}let t=e.split(`
|
|
49
|
-
`).filter(
|
|
50
|
-
`))}},
|
|
51
|
-
if (${
|
|
52
|
-
if (${
|
|
53
|
-
payload.issues = payload.issues.concat(${
|
|
47
|
+
`,document.head.appendChild(e)}var ne=null;function hn(){if(ne!==null)return ne;try{ne=localStorage.getItem("gengage:debug")==="1"}catch{ne=!1}return ne}function Ae(e,t,r){if(!hn())return;const n=[`[gengage:${e}]`,t];r!==void 0&&n.push(r),console.debug(...n)}var _n=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=tn(e.theme);this.config={...e,theme:t,session:en(e.session)},this.root=this._resolveMount(e.mountTarget),this._applyTheme(t),dn();const r=Ye("gengage:context:update",n=>this.update(n));this._cleanups.push(r),Ae("lifecycle",`${this.constructor.name}.init`,{accountId:e.accountId,sku:e.pageContext?.sku});try{await this.onInit(this.config)}catch(n){throw this.destroy(),n}this._destroying||(this.isInitialised=!0,Ae("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.config.analyticsClient?.destroy(),this._ownsRoot?this.root.remove():this.root.innerHTML="",this.isInitialised=!1)}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)}trackCheckout(e,t){const r=e==="start"?Fr:qr;this.track(r(this.analyticsContext(),t))}flushMeteringSummary(e){this.track(Ur(this.analyticsContext(),e))}emit(e,...t){this._handlers.get(e)?.forEach(r=>r(...t))}addCleanup(e){this._cleanups.push(e)}track(e){this.config.analyticsClient?.track(e)}analyticsContext(){const e={account_id:this.config.accountId,session_id:this.config.session?.sessionId??"",correlation_id:this.config.session?.sessionId??""};return this.config.session?.viewId!==void 0&&(e.view_id=this.config.session.viewId),this.config.session?.userId!==void 0&&(e.user_id=this.config.session.userId),this.config.pageContext?.pageType!==void 0&&(e.page_type=this.config.pageContext.pageType),this.config.pageContext?.sku!==void 0&&(e.sku=this.config.pageContext.sku),this.config.session?.abTestVariant!==void 0&&(e.ab_test_variant=this.config.session.abTestVariant),this.config.session?.abTestExperimentId!==void 0&&(e.ab_test_experiment_id=this.config.session.abTestExperimentId),e}_resolveMount(e){if(e instanceof HTMLElement)return e;if(typeof e=="string"){const r=document.querySelector(e);if(!r)throw new Error(`[gengage] Mount target not found: "${e}"`);return r}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,r]of Object.entries(e))if(r!==void 0){const n=t.startsWith("--")?t:`--gengage-${yn(t)}`;this.root.style.setProperty(n,r)}}}};function yn(e){return e.replace(/([A-Z])/g,"-$1").toLowerCase()}var vn=8e3,bn=5e3,wn="https://www.google.com/favicon.ico",D=new Map,nt=!1,X=null,oe=null,W=!1;function kn(e){return typeof e=="string"&&e.toLowerCase().startsWith("tr")}function ot(e){return kn(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 it(){let e;for(const t of D.values())e=t;return e}function Ie(){X&&(clearTimeout(X),X=null)}function Sn(){oe&&(clearInterval(oe),oe=null)}async function at(){try{if(typeof navigator<"u"&&navigator.onLine===!1)return!1;if(typeof window<"u"){const r=window.location.hostname;if(r==="localhost"||r==="127.0.0.1")return navigator.onLine}const e=new AbortController,t=setTimeout(()=>e.abort(),3e3);try{return await fetch(wn,{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(){W=!1,Sn(),rt()}function de(){X||W||D.size===0||(X=setTimeout(async()=>{X=null,!(W||D.size===0)&&!await at()&&D.size>0&&(W=!0,$e({source:"sdk",message:ot(it()),sticky:!0}),oe||(oe=setInterval(async()=>{if(D.size===0){ue();return}await at()&&(ue(),de())},bn)))},vn))}function Cn(){nt||typeof window>"u"||(nt=!0,window.addEventListener("online",()=>{ue(),de()}),window.addEventListener("offline",()=>{D.size===0||W||(W=!0,Ie(),$e({source:"sdk",message:ot(it()),sticky:!0}))}))}function En(e){Cn();const t=Symbol(e.source);D.set(t,e.locale),de();let r=!1;return()=>{if(!r){if(r=!0,D.delete(t),D.size===0){Ie(),ue();return}W||(Ie(),de())}}}var zn={process_action:"/process_action",launcher_action:"/launcher_action",similar_products:"/similar_products",product_groupings:"/product_groupings"};function Tn(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 st(e,t){return`${Tn(t?.middlewareUrl)}/chat${zn[e]}`}function ct(e){return typeof e=="object"&&e!==null&&typeof e.type=="string"}function $n(e){const t=[];let r=0,n=!1,o=!1,i=0;for(let a=0;a<e.length;a++){const s=e[a];if(o){o=!1;continue}if(s==="\\"&&n){o=!0;continue}if(s==='"'){n=!n;continue}n||(s==="{"&&r++,s==="}"&&(r--,r===0&&(t.push(e.slice(i,a+1)),i=a+1)))}return t.length>0?t:[e]}function ut(e,t){const r=e.trim();if(!r||r.startsWith(":"))return!1;const n=r.startsWith("data: ")?r.slice(6):r;if(n==="[DONE]")return t.onDone?.(),!0;try{const o=JSON.parse(n);return ct(o)?(Ae("stream",`event: ${o.type}`,o),t.onEvent(o),o.type==="done"?(t.onDone?.(),!0):!1):!1}catch{const o=$n(n);if(o.length>1){for(const i of o)try{const a=JSON.parse(i);if(!ct(a))continue;if(t.onEvent(a),a.type==="done")return t.onDone?.(),!0}catch{}return!1}return!1}}async function dt(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 r=e.body.getReader(),n=new TextDecoder("utf-8");let o="";const i=t.idleTimeoutMs??6e4,a=Symbol("idle-timeout");let s=!1;try{for(;;){const c=r.read();let u;const f=await(i>0?Promise.race([c.then(h=>(clearTimeout(u),h)),new Promise(h=>{u=setTimeout(()=>h(a),i)})]):c);if(f===a){s=!0,await r.cancel();break}const{done:g,value:p}=f;if(g)break;o+=n.decode(p,{stream:!0});const m=o.split(`
|
|
48
|
+
`);o=m.pop()??"";for(const h of m)if(ut(h,t))return}if(o.trim()&&ut(o,t))return}catch(c){if(c instanceof DOMException&&c.name==="AbortError")return;t.onError?.(c instanceof Error?c:new Error(String(c)))}finally{s||r.releaseLock()}t.onDone?.()}var lt=3,An=(e,t)=>{const r=e.replace(/\s+/g," ").trim().replace(/^[,.;:!?•-]+|[,.;:!?•-]+$/g,"");if(!r)return"";const n=t?.stripLeadingStopWords?r.replace(/^(?:daha|için)\s+/i,"").trim():r;return n?n.split(/\s+/).slice(0,3).join(" ").trim():""},Pe=(e,t)=>e?e.split(/[•,;:/()]|(?:\sve\s)|(?:\sand\s)|(?:\sile\s)|(?:\sfor\s)|(?:\swith\s)/i).map(r=>An(r,t)).filter(Boolean):[];function In(e){const t=(e.display_keywords??[]).flatMap(o=>Pe(o,{stripLeadingStopWords:!0})),r=t.filter((o,i)=>t.indexOf(o)===i);if(r.length>0)return r.slice(0,lt);const n=[...Pe(e.chosen_attribute,{stripLeadingStopWords:!0}),...Pe(e.short_name)];return n.filter((o,i)=>n.indexOf(o)===i).slice(0,lt)}function Pn(e){return In(e).join(" • ")}var On=["beauty_consulting","watch_expert"];function Nn(e){return typeof e=="string"&&On.includes(e)}function ft(e){if(typeof e.type!="string")return null;if(Zn(e))return e;const t=e;switch(t.type){case"outputText":return Rn(t);case"suggestedActions":return xn(t);case"productList":return Ln(t);case"productDetails":return Dn(t);case"productDetailsSimilars":return jn(t);case"comparisonTable":return Un(t);case"context":return Gn(t);case"chatStreamEnd":return Jn();case"loading":return Bn(t);case"panelLoading":return Vn(t);case"similarLoading":return Wn(t);case"redirect":return Hn(t);case"error":return Kn(t);case"dummy":return Yn(t);case"launcherAction":return Xn(t);case"text":return Oe(t);case"productItem":return Qn(t);case"text_image":return pt(t);case"quick_qna":return gt(t);case"reviewHighlights":return eo(t);case"aiProductSuggestions":return no(t);case"aiProductGroupings":return oo(t);case"aiSuggestedSearches":return io(t);case"prosAndCons":return to(t);case"getGroundingReview":return ao(t);case"voice":return co(t);case"visitorDataResponse":return ro(t);case"productListPreview":return so();case"groupList":return uo(t);case"formGetInfo":case"formTestDrive":case"formServiceRequest":case"launchFormPage":return lo(t);case"launcherContent":return po(t);case"handoff":return fo(t);case"uiSpec":return So(t);default:return null}}function Zn(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 r=e.widget;if(r!=="chat"&&r!=="qna"&&r!=="simrel")return!1;const n=N(e.spec);return n?typeof n.root=="string"&&N(n.elements)!==null:!1}case"action":{const r=N(e.action);return r!==null&&typeof r.kind=="string"}case"error":return typeof e.code=="string"&&typeof e.message=="string";case"done":return!0;default:return!1}}function Rn(e){const t=b(e.payload.text,e.payload.plain_text)??"",r=b(e.payload.plain_text,e.payload.text)??t;if(e.payload.is_error)return{type:"error",code:"BACKEND_ERROR",message:r||"Backend returned an error"};const n={type:"text_chunk",content:t,final:!0},o=e.payload.product_mentions;Array.isArray(o)&&o.length>0&&(n.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)&&(n.skuToProductItem=i);const a=e.payload.conversation_mode;typeof a=="string"&&a&&(n.conversationMode=a);const s=e.payload.render_hint;return typeof s=="string"&&s&&(n.renderHint=s),e.payload.kvkk===!0&&(n.kvkk=!0),n}function xn(e){return mt((e.payload.actions??[]).map(t=>{const r=b(t.title)??"",n=L(t.requestDetails,r),o=n?{label:r,action:n}:null;return o?(typeof t.icon=="string"&&(o.icon=t.icon),typeof t.image=="string"&&(o.image=t.image),o):null}).filter(Ne),"chat")}function Ln(e){const t=(Array.isArray(e.payload.style_variations)?e.payload.style_variations:[]).map(a=>{const s=b(a.style_label),c=b(a.style_mood),u=b(a.image_url??void 0),f=(Array.isArray(a.product_list)?a.product_list:[]).map(p=>{const m=N(p);return m?_t(N(m.product_detail)??N(m.product)??m):null}).filter(Ne),g=Array.isArray(a.recommendation_groups)?a.recommendation_groups.map(p=>({label:b(p.label)??"",reason:b(p.reason)??"",skus:Array.isArray(p.skus)?p.skus.filter(m=>typeof m=="string"&&m.trim().length>0):[]})):[];return{style_label:s??"",style_mood:c??"",...u?{image_url:u}:{},product_list:f,recommendation_groups:g}}).filter(a=>a.product_list.length>0),r=e.payload.product_list??[],n=Nn(e.payload.source)&&t.length>0?t[0].product_list:null,o=n?go(n,"chat"):ht(r,"chat");o.panelHint="panel";const i=o.spec.elements[o.spec.root];if(i){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),t.length>0&&(a.styleVariations=t),Object.keys(a).length>0&&(i.props={...i.props,...a})}return o}function Dn(e){const t=e.payload.productDetails;if(!t)return ho("chat");const r=F(t);return{type:"ui_spec",widget:"chat",spec:{root:"root",elements:{root:{type:"ProductDetailsPanel",props:{product:{...t,...r}}}}},panelHint:"panel"}}function jn(e){const t=ht(e.payload.similarProducts??[],"chat"),r=t.spec.elements[t.spec.root];return r&&(r.props={...r.props,similarsAppend:!0}),{...t,panelHint:"panel"}}function Un(e){const t=e.payload.multiple_product_details??[],r=e.payload,n={key_differences:r.key_differences,recommended_choice:r.recommended_choice,recommended_choice_sku:r.recommended_choice_sku,special_considerations:r.special_considerations,criteria_view:r.criteria_view,criteria_view_short:r.criteria_view_short,compared_field_names:r.compared_field_names,winner_product:r.winner_product,winner_hits:r.winner_hits,...e.payload.product_comparison_framework??{}},o=e.payload.table,i=e.payload.features_list,a=[];for(const y of t){const S=F(y);a.push(S)}const s=Mn(o,a,n,i);let c;n?.recommended_choice_sku?c=n.recommended_choice_sku:n?.winner_product&&n.winner_product.length>0&&(c=n.winner_product[0]?.product_detail?.sku??n.winner_product[0]?.sku);const u=c?a.find(y=>y.sku===c)??a[0]:a[0],f=[];if(Array.isArray(n?.key_differences))for(const y of n.key_differences)typeof y=="string"&&f.push(y);const g=vo(n?.special_considerations),p=n?.recommended_choice,m=n?.winner_hits,h={};for(const y of a){const S=y.sku;S&&(h[S]={title:y.name??S,type:"launchSingleProduct",payload:{sku:S}})}const d={products:a,attributes:s,highlights:f,productActions:h};return u&&(d.recommended=u),g.length>0&&(d.specialCases=g),p&&(d.recommendedText=p),m&&(d.winnerHits=m),typeof n?.key_differences=="string"&&(d.keyDifferencesHtml=n.key_differences),n?.special_considerations&&(d.specialConsiderations=n.special_considerations),{type:"ui_spec",widget:"chat",spec:{root:"root",elements:{root:{type:"ComparisonTable",props:d}}},panelHint:"panel"}}function Mn(e,t,r,n){if(!e)return[];const o=Object.entries(e);if(o.length===0)return[];const i=o[0]?.[1];if(Array.isArray(i)){const g=r.criteria_view??r.criteria_view_short??{},p=r.compared_field_names??Object.keys(e),m=[];for(const h of p){const d=e[h];if(!d||!Array.isArray(d))continue;const y=g[h]??h;m.push({label:y,values:d.map(S=>typeof S=="string"?S:String(S??""))})}return m}const a=e,s=t.map(g=>String(g.sku??"")).filter(g=>g.length>0),c=r.criteria_view??r.criteria_view_short??{},u=(n&&n.length>0?n:r.compared_field_names&&r.compared_field_names.length>0?r.compared_field_names:Fn(a)).filter(g=>g!=="name"&&g!=="name_short"&&!g.endsWith("_short")),f=[];for(const g of u){const p=s.map(h=>{const d=a[h];if(!d||typeof d!="object")return"";const y=d[`${g}_short`],S=d[g];return qn(y??S)});if(p.every(h=>h.length===0))continue;const m=c[g]??g;f.push({label:m,values:p})}return f}function Fn(e){const t=[],r=new Set;for(const n of Object.values(e))if(!(!n||typeof n!="object"))for(const o of Object.keys(n))r.has(o)||(r.add(o),t.push(o));return t}function qn(e){return typeof e=="string"?e:typeof e=="number"||typeof e=="boolean"?String(e):""}function Gn(e){return{type:"metadata",sessionId:"",model:"",meta:{panel:e.payload.panel,messages:e.payload.messages,message_id:e.payload.message_id}}}function Jn(){return{type:"done"}}function Bn(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 Vn(e){return{type:"metadata",sessionId:"",model:"",meta:{loading:!0,panelLoading:!0,panelPendingType:e.payload?.pending_type,loadingText:e.payload?.text}}}function Wn(e){return{type:"metadata",sessionId:"",model:"",meta:{loading:!0,similarPanelLoading:!0,panelPendingType:e.payload?.pending_type,loadingText:e.payload?.text}}}function Hn(e){const t=b(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:b(e.payload.to)}}}function Kn(e){return{type:"error",code:"BACKEND_ERROR",message:b(e.payload?.text,e.payload?.message,e.payload?.error)??"Backend returned an error"}}function Yn(e){return{type:"metadata",sessionId:"",model:"",meta:{noop:!0}}}function Xn(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,a=typeof t.theme=="string"?t.theme:void 0;return i!==void 0&&(o.type=i),a!==void 0&&(o.theme=a),gt({type:"quick_qna",payload:o})}const r=N(t.action);if(r){const o={action:r},i=typeof t.text=="string"?t.text:void 0,a=typeof t.image_url=="string"?t.image_url:void 0,s=typeof t.theme=="string"?t.theme:void 0;return i!==void 0&&(o.text=i),a!==void 0&&(o.image_url=a),s!==void 0&&(o.theme=s),pt({type:"text_image",payload:o})}const n=typeof t.text=="string"?t.text:"";if(n){const o={text:n},i=typeof t.type=="string"?t.type:void 0,a=typeof t.theme=="string"?t.theme:void 0,s=N(t.payload)??void 0;return i!==void 0&&(o.type=i),s!==void 0&&(o.payload=s),a!==void 0&&(o.theme=a),Oe({type:"text",payload:o})}return{type:"metadata",sessionId:"",model:"",meta:{launcherAction:t}}}function Oe(e){const t={text:b(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 Qn(e){return mo(e.payload,"qna")}function pt(e){const t=b(e.payload.text)??"",r=L(e.payload.action,t);if(r){const o={label:t||r.title,action:r};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 n={text:t};return typeof e.payload.theme=="string"&&(n.theme=e.payload.theme),Oe({type:"text",payload:n})}function gt(e){return mt((e.payload.action_list??[]).map(t=>{const r=b(t.title)??"",n=L(t.requestDetails,r),o=n?{label:r,action:n}:null;return o?(typeof t.icon=="string"&&(o.icon=t.icon),typeof t.image=="string"&&(o.image=t.image),o):null}).filter(Ne),"qna")}function eo(e){const t={reviews:(e.payload.reviews??[]).map(r=>{const n={};return typeof r.review_class=="string"&&(n.review_class=r.review_class),typeof r.review_text=="string"&&(n.review_text=r.review_text),(typeof r.review_rating=="string"||typeof r.review_rating=="number")&&(n.review_rating=r.review_rating),typeof r.review_tag=="string"&&(n.review_tag=r.review_tag),n})};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 to(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 ro(e){return{type:"metadata",sessionId:"",model:"",meta:{visitorDataResponse:e.payload}}}function no(e){const t=e.payload.product_suggestions??[],r=[];for(let n=0;n<t.length;n++){const o=t[n];if(!o)continue;const i=_o(o);if(!i)continue;const a={product:i},s=L(o.requestDetails,i.name);s&&(a.action=s),typeof o.role=="string"&&(a.role=o.role),typeof o.reason=="string"&&(a.reason=o.reason),typeof o.review_highlight=="string"&&(a.reviewHighlight=o.review_highlight),Array.isArray(o.labels)&&(a.labels=o.labels),typeof o.expert_quality_score=="number"&&(a.expertQualityScore=o.expert_quality_score),r.push(a)}return r.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:r}}}}}}function oo(e){const t=e.payload.product_groupings??[],r=[];for(let n=0;n<t.length;n++){const o=t[n];if(!o)continue;const i=b(o.name)??"",a=o.sku&&o.sku.length>0?{type:"findSimilar",payload:{sku:o.sku}}:void 0,s=L(o.requestDetails??a,i);if(!s)continue;const c={name:i,action:s};if(Array.isArray(o.labels)){const u=o.labels.filter(f=>typeof f=="string");u.length>0&&(c.labels=u)}typeof o.image=="string"&&(c.image=o.image),r.push(c)}return 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 io(e){const t=e.payload.suggested_searches??[],r=[];for(let n=0;n<t.length;n++){const o=t[n];if(!o)continue;const i=b(o.short_name,o.chosen_attribute,o.detailed_user_message)??`Search ${n+1}`,a={},s=b(o.detailed_user_message);s&&(a.text=s);const c=N(N(o.requestDetails)?.payload),u=c?.group_skus;o.group_skus&&Array.isArray(o.group_skus)?a.group_skus=o.group_skus:Array.isArray(u)&&(a.group_skus=u.filter(S=>typeof S=="string"));const f=b(o.sku,o.representative_product_sku,c?.sku);f&&(a.sku=f),a.is_suggested_text=1;const g={type:"inputText",payload:a},p=L(o.requestDetails,i),m=p?.type==="findSimilar"&&typeof a.text=="string"?L(g,i):p??L(g,i);if(!m)continue;const h={shortName:i,action:m},d=b(o.detailed_user_message);d&&d!==i&&(h.detailedMessage=d);const y=Pn(o);y&&y!==i&&y!==(d??"")&&(h.whyDifferent=y),typeof o.image=="string"&&(h.image=o.image),r.push(h)}return r.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:r}}}}}}function ao(e){const t=e.payload,r=L(t.requestDetails??t.request_details,b(t.review_count,t.reviewCount,t.text,t.title)??"Show product reviews");if(!r)return{type:"metadata",sessionId:"",model:"",meta:{groundingReview:t}};const n={action:r};return t.title&&(n.title=t.title),t.text&&(n.text=t.text),t.review_count?n.reviewCount=t.review_count:typeof t.reviewCount=="string"&&t.reviewCount.trim()&&(n.reviewCount=t.reviewCount),{type:"ui_spec",widget:"chat",spec:{root:"root",elements:{root:{type:"GroundingReviewCard",props:n}}}}}function so(){return{type:"metadata",sessionId:"",model:"",meta:{analyzeAnimation:!0}}}function co(e){return{type:"metadata",sessionId:"",model:"",meta:{voice:e.payload}}}function uo(e){const t=e.payload.group_list??[],r=[];for(const o of t){const i=o.group_name??"",a=(o.product_list??[]).map(F);r.push({groupName:i,products:a})}const n=[];for(const o of e.payload.filter_tags??[]){const i=o.title??"";if(!i)continue;const a=L(o.requestDetails,i),s={title:i};a&&(s.action=a),n.push(s)}return{type:"ui_spec",widget:"chat",spec:{root:"root",elements:{root:{type:"CategoriesContainer",props:{groups:r,filterTags:n}}}},panelHint:"panel"}}function lo(e){return{type:"metadata",sessionId:"",model:"",meta:{formType:e.type,formPayload:e.payload??{}}}}function fo(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 po(e){return{type:"metadata",sessionId:"",model:"",meta:{launcherContent:e.payload??{}}}}function mt(e,t){const r={},n=[];for(let o=0;o<e.length;o++){const i=e[o];if(!i)continue;const a=`action-${o}`;n.push(a);const s={label:i.label,action:i.action};i.icon!==void 0&&(s.icon=i.icon),i.image!==void 0&&(s.image=i.image),i.description!==void 0&&(s.description=i.description),r[a]={type:"ActionButton",props:s}}return r.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:n},{type:"ui_spec",widget:t,spec:{root:"root",elements:r}}}function ht(e,t){const r={},n=[];for(let o=0;o<e.length;o++){const i=e[o];if(!i)continue;const a=F(i),s=`product-${o}`;n.push(s);const c={product:a,index:o};a.sku&&(c.action={title:a.name,type:"launchSingleProduct",payload:{sku:a.sku}}),r[s]={type:"ProductCard",props:c}}return r.root={type:"ProductGrid",props:{layout:"grid"},children:n},{type:"ui_spec",widget:t,spec:{root:"root",elements:r}}}function go(e,t){const r={},n=[];for(let o=0;o<e.length;o++){const i=e[o];if(!i)continue;const a=`product-${o}`;n.push(a);const s={product:i,index:o},c=i.sku;c&&(s.action={title:i.name??"",type:"launchSingleProduct",payload:{sku:c}}),r[a]={type:"ProductCard",props:s}}return r.root={type:"ProductGrid",props:{layout:"grid"},children:n},{type:"ui_spec",widget:t,spec:{root:"root",elements:r}}}function mo(e,t){return{type:"ui_spec",widget:t,spec:{root:"root",elements:{root:{type:"ProductCard",props:{product:F(e),index:0}}}}}}function ho(e){return{type:"ui_spec",widget:e,spec:{root:"root",elements:{root:{type:"ActionButtons",props:{buttons:[]},children:[]}}}}}function _o(e){const t=b(e.sku),r=b(e.short_name),n={...N(e.product_item)??e},o=b(e.discount_reason,e.discountReason);return o&&!b(n.discount_reason,n.discountReason)&&(n.discount_reason=o),_t(n,t,r)}function _t(e,t,r){const n=b(e.sku,t),o=b(e.name,r);if(!n||!o)return null;const i={sku:n,name:o},a=b(e.brand);a&&(i.brand=a);const s=b(e.url);s&&(i.url=s);const c=yo(e.images);if(c.length>0)i.images=c;else{const d=b(e.image,e.image_url,e.imageUrl);d&&(i.images=[d])}const u=ie(e.price_discounted);u!==void 0&&(i.price_discounted=u);const f=ie(e.price);f!==void 0&&(i.price=f);const g=ie(e.rating);g!==void 0&&(i.rating=g);const p=ie(e.review_count)??ie(e.reviewCount);p!==void 0&&(i.review_count=p);const m=b(e.cart_code,e.cartCode);m&&(i.cart_code=m),typeof e.in_stock=="boolean"&&(i.in_stock=e.in_stock),typeof e.inStock=="boolean"&&(i.in_stock=e.inStock);const h=b(e.discount_reason,e.discountReason);return h&&(i.discount_reason=h),F(i)}function L(e,t){const r=N(e);if(!r)return null;const n=r.type;if(typeof n!="string"||n.length===0)return null;const o={title:t||n,type:n};return r.payload!==void 0&&(o.payload=r.payload),o}function N(e){return!e||typeof e!="object"||Array.isArray(e)?null:e}function b(...e){for(const t of e)if(typeof t=="string"){const r=t.trim();if(r.length>0)return r}}function yo(e){return Array.isArray(e)?e.filter(t=>typeof t=="string"&&t.length>0):[]}function vo(e){if(typeof e=="string"){const t=e.trim();return t?[t]:[]}return Array.isArray(e)?e.filter(t=>typeof t=="string").map(t=>t.trim()).filter(t=>t.length>0):[]}function ie(e){if(typeof e=="number"&&Number.isFinite(e))return e;if(typeof e=="string"){let t;e.includes(".")&&e.includes(",")?t=e.replace(/\./g,"").replace(",","."):t=e.replace(",",".");const r=Number(t);if(Number.isFinite(r))return r}}function Ne(e){return e!=null}var bo=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","facet_tags","short_name","category_ids","category_names","variants","facet_hits","promotions"]);function F(e){const t=e.price_discounted!=null&&e.price_discounted>0,r=t?e.price_discounted:e.price,n=t&&e.price!=null?e.price:void 0;let o;n!=null&&r!=null&&n>0?o=Math.round((n-r)/n*100):e.price_discount_rate!=null&&e.price_discount_rate>0&&(o=e.price_discount_rate);const i=b(e.brand),a=b(e.name)??e.sku,s=i&&!a.toLowerCase().startsWith(i.toLowerCase())?`${i} ${a}`:a,c={sku:e.sku,name:s,url:b(e.url)??""},u=e.images?.[0];u&&(c.imageUrl=u),e.images&&e.images.length>1&&(c.images=e.images),r!=null&&(c.price=String(r)),n!=null&&(c.originalPrice=String(n)),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.short_name!==void 0&&(c.shortName=e.short_name);const f=e,g={};let p=!1;for(const m of Object.keys(f))bo.has(m)||(g[m]=f[m],p=!0);return p&&(c.extras=g),c}function wo(e){return e.results.map(F)}function ko(e){return e.product_groupings.map(t=>{const r={name:t.name,products:(t.group_products??[]).map(F)};return t.highlight!==void 0&&(r.highlight=t.highlight),r})}function So(e){const t=e.payload.type,{type:r,...n}=e.payload;return{type:"ui_spec",widget:"chat",spec:{root:"root",elements:{root:{type:t,props:n}}}}}function yt(e){const t=[];for(const r of Object.values(e))if(r.type==="ProductCard"&&r.props){const n=r.props.product??r.props;typeof n.sku=="string"&&typeof n.name=="string"&&t.push(n)}return t}function vt(e){const t=e.headers.get("Content-Type")??"";return t.includes("application/x-ndjson")||t.includes("text/event-stream")}async function Co(e,t){const r=[],n={onEvent:o=>{const i=ft(o);!i||i.type!=="ui_spec"||r.push(...yt(i.spec.elements))}};return t!==void 0&&(n.signal=t),await dt(e,n),r}async function Eo(e,t,r){const n=st("similar_products",t),o={method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(e)};r!==void 0&&(o.signal=r);const i=await fetch(n,o);if(!i.ok)throw new Error(`HTTP ${i.status}: ${i.statusText}`);if(vt(i))return Co(i,r);const a=await i.text();if(!a)throw new Error("Empty response body from similar_products endpoint");try{return wo(JSON.parse(a))}catch{throw new Error("Invalid JSON from similar_products endpoint")}}async function zo(e,t){const r=[];let n=null;const o={onEvent:i=>{const a=ft(i);if(a){if(a.type==="metadata"&&a.meta){const s=a.meta.group_name;if(typeof s=="string"){n={name:s,products:[]};const c=a.meta.highlight;typeof c=="string"&&(n.highlight=c),r.push(n)}}a.type==="ui_spec"&&n&&n.products.push(...yt(a.spec.elements))}}};return t!==void 0&&(o.signal=t),await dt(e,o),r}async function To(e,t,r){const n=st("product_groupings",t),o={method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(e)};r!==void 0&&(o.signal=r);const i=await fetch(n,o);if(!i.ok)throw new Error(`HTTP ${i.status}: ${i.statusText}`);if(vt(i))return zo(i,r);const a=await i.text();if(!a)return[];try{return ko(JSON.parse(a))}catch{throw new Error("Invalid JSON from product_groupings endpoint")}}var $o={currencyCode:"TRY",currencySymbol:"TL",currencyPosition:"suffix",thousandsSeparator:".",decimalSeparator:",",alwaysShowDecimals:!1};function bt(e,t){const r=Number(e);if(!Number.isFinite(r)||r<0)return e;const n={...$o,...t},o=Math.abs(r%1)<Number.EPSILON,i=n.alwaysShowDecimals||!o?r.toFixed(2):r.toFixed(0),a=i.indexOf("."),s=a===-1?i:i.slice(0,a),c=a===-1?void 0:i.slice(a+1),u=s.replace(/\B(?=(\d{3})+(?!\d))/g,n.thousandsSeparator);let f;return c!==void 0?f=`${u}${n.decimalSeparator}${c}`:f=u,n.currencySymbol?n.currencyPosition==="prefix"?`${n.currencySymbol}${f}`:`${f} ${n.currencySymbol}`:f}function Ao(e){return Number.isFinite(e)?Math.max(0,Math.min(5,e)):0}function Io(e){return Number.isFinite(e)?Math.max(0,Math.min(100,Math.round(e))):0}function Po(e){const t=Ao(e),r=Math.floor(t),n=t-r>=.5,o=5-r-(n?1:0),i=document.createElement("span");if(i.className="gengage-star-rating",i.setAttribute("role","img"),i.setAttribute("aria-label",`${t.toFixed(1)} out of 5 stars`),r>0&&i.appendChild(document.createTextNode("★".repeat(r))),n){const a=document.createElement("span");a.className="gengage-star-half",a.textContent="☆";const s=document.createElement("span");s.textContent="★",a.appendChild(s),i.appendChild(a)}return o>0&&i.appendChild(document.createTextNode("☆".repeat(o))),i}function Oo(e){e.addEventListener("error",()=>{e.style.display="none"},{once:!0})}function wt(e){const{product:t,index:r,discountType:n,onClick:o,onAddToCart:i,renderCard:a}=e,s=e.i18n,c=e.pricing;if(e.renderCardElement){const d=e.renderCardElement(t,r);if(d)return d}if(a){const d=document.createElement("div");return d.className="gengage-simrel-card gengage-simrel-card--custom gds-card gds-product-card gds-card-interactive",d.dataset.gengagePart="simrel-product-card",d.innerHTML=Xr(a(t,r)),d.addEventListener("click",y=>{y.target.closest(".gengage-simrel-atc")||y.target.closest(".gengage-chat-product-card-atc")||o(t)}),d}const u=document.createElement("article");u.className="gengage-simrel-card gengage-chat-product-card gds-card gds-product-card gds-card-interactive",u.dataset.gengagePart="simrel-product-card",t.inStock===!1&&u.classList.add("gengage-simrel-card--out-of-stock"),u.setAttribute("role","listitem"),u.dataset.sku=t.sku;const f=document.createElement("div");if(f.className="gengage-simrel-card-image gengage-chat-product-card-img-wrapper",f.dataset.gengagePart="simrel-product-card-image",t.imageUrl&&Yr(t.imageUrl)){const d=document.createElement("img");d.className="gengage-chat-product-card-img",d.src=t.imageUrl,d.alt=t.name,d.loading="lazy",Oo(d),f.appendChild(d)}if(n==="badge"&&t.discountPercent&&t.discountPercent>0){const d=document.createElement("span");d.className="gengage-simrel-badge gengage-chat-product-card-discount-badge",d.textContent=`%${Io(t.discountPercent)}`,f.appendChild(d)}u.appendChild(f);const g=document.createElement("div");if(g.className="gengage-simrel-card-info gengage-chat-product-card-body",g.dataset.gengagePart="simrel-product-card-body",t.brand){const d=document.createElement("div");d.className="gengage-simrel-card-brand gengage-chat-product-card-brand",d.textContent=t.brand,g.appendChild(d)}const p=document.createElement("div");if(p.className="gengage-simrel-card-name gengage-chat-product-card-name",p.textContent=t.name,p.title=t.name,g.appendChild(p),t.rating!=null&&t.rating>0){const d=document.createElement("div");if(d.className="gengage-simrel-card-rating gengage-chat-product-card-rating",d.appendChild(Po(t.rating)),t.reviewCount!=null){const y=document.createElement("span");y.className="gengage-simrel-card-review-count gengage-chat-product-card-review-count",y.textContent=` (${t.reviewCount})`,d.appendChild(y)}g.appendChild(d)}const m=document.createElement("div");if(m.className="gengage-simrel-card-price gengage-chat-product-card-price",t.originalPrice&&t.originalPrice!==t.price&&(n==="strike-through"||!n)){const d=document.createElement("span");d.className="gengage-simrel-card-price-original gengage-chat-product-card-original-price",d.textContent=bt(t.originalPrice,c),m.appendChild(d)}if(t.price&&parseFloat(t.price)>0){const d=document.createElement("span");d.className="gengage-simrel-card-price-current gengage-chat-product-card-price-current",d.textContent=bt(t.price,c),m.appendChild(d)}g.appendChild(m),u.appendChild(g);const h=document.createElement("button");if(h.className="gengage-simrel-card-cta gengage-chat-product-card-cta gds-btn gds-btn-secondary",h.type="button",h.dataset.gengagePart="simrel-product-card-cta",h.textContent=s?.ctaLabel??"View",h.addEventListener("click",d=>{d.preventDefault(),d.stopPropagation(),o(t)}),u.appendChild(h),t.inStock===!1){const d=document.createElement("div");d.className="gengage-simrel-card-oos",d.textContent=s?.outOfStockLabel??"Out of Stock",u.appendChild(d)}else if(t.cartCode){const d=document.createElement("button");d.className="gengage-simrel-atc gengage-simrel-atc-button gds-btn gds-btn-secondary",d.type="button",d.textContent=s?.addToCartButton??"Add to Cart",d.addEventListener("click",y=>{y.preventDefault(),y.stopPropagation(),i({sku:t.sku,quantity:1,cartCode:t.cartCode})}),u.appendChild(d)}return u.addEventListener("click",d=>{d.target.closest(".gengage-simrel-atc")||d.target.closest(".gengage-chat-product-card-atc")||d.target.closest(".gengage-chat-product-card-cta")||o(t)}),u}function kt(e){const t=document.createElement("div");t.className="gengage-simrel-grid",t.setAttribute("role","list"),t.setAttribute("aria-label",e.i18n?.similarProductsAriaLabel??"Similar products"),e.columns&&t.style.setProperty("--gengage-simrel-columns",String(e.columns));for(let r=0;r<e.products.length;r++){const n={product:e.products[r],index:r,onClick:e.onClick,onAddToCart:e.onAddToCart};e.i18n!==void 0&&(n.i18n=e.i18n),e.discountType!==void 0&&(n.discountType=e.discountType),e.renderCard!==void 0&&(n.renderCard=e.renderCard),e.renderCardElement!==void 0&&(n.renderCardElement=e.renderCardElement);const o=wt(n);t.appendChild(o)}return e.products.length===0&&(t.style.display="none",t.dataset.empty="true"),t}var No=0;function Zo(e){const t=No++,r=document.createElement("div");if(r.className="gengage-simrel-groups",r.dataset.gengagePart="simrel-groups",e.groups.length===0)return r.style.display="none",r.dataset.empty="true",r;const n=document.createElement("div");n.className="gengage-simrel-tabs gds-toolbar",n.dataset.gengagePart="simrel-tab-bar",n.setAttribute("role","tablist");const o=[],i=[],a=d=>{const y={products:d.products,onClick:e.onClick,onAddToCart:e.onAddToCart};return e.i18n!==void 0&&(y.i18n=e.i18n),e.discountType!==void 0&&(y.discountType=e.discountType),e.renderCard!==void 0&&(y.renderCard=e.renderCard),e.renderCardElement!==void 0&&(y.renderCardElement=e.renderCardElement),e.columns!==void 0&&(y.columns=e.columns),y},s=d=>{for(let v=0;v<o.length;v++){const w=v===d;o[v].classList.toggle("gengage-simrel-tab--active",w),o[v].setAttribute("aria-selected",String(w)),o[v].tabIndex=w?0:-1}const y=e.groups[d],S=i[d];S.innerHTML="";const re=kt(a(y));S.appendChild(re);for(let v=0;v<i.length;v++){const w=v===d;i[v].style.display=w?"":"none",i[v].tabIndex=w?0:-1}};for(let d=0;d<e.groups.length;d++){const y=e.groups[d],S=`gengage-simrel-tab-${t}-${d}`,re=`gengage-simrel-panel-${t}-${d}`,v=document.createElement("button");v.className="gengage-simrel-tab gds-tab",v.type="button",v.dataset.gengagePart="simrel-tab",v.id=S,v.textContent=y.name,v.setAttribute("role","tab"),v.setAttribute("aria-controls",re),v.setAttribute("aria-selected",String(d===0)),v.tabIndex=d===0?0:-1,d===0&&v.classList.add("gengage-simrel-tab--active"),v.addEventListener("click",()=>s(d)),v.addEventListener("keydown",$=>{let U=-1;$.key==="ArrowRight"||$.key==="ArrowDown"?U=(d+1)%e.groups.length:$.key==="ArrowLeft"||$.key==="ArrowUp"?U=(d-1+e.groups.length)%e.groups.length:$.key==="Home"?U=0:$.key==="End"&&(U=e.groups.length-1),U>=0&&($.preventDefault(),s(U),o[U].focus())}),o.push(v),n.appendChild(v);const w=document.createElement("div");w.className="gengage-simrel-tab-panel",w.dataset.gengagePart="simrel-tab-panel",w.id=re,w.setAttribute("role","tabpanel"),w.setAttribute("aria-labelledby",S),w.tabIndex=d===0?0:-1,d!==0&&(w.style.display="none"),i.push(w)}const c=document.createElement("button");c.type="button",c.className="gengage-simrel-tabs-arrow gengage-simrel-tabs-arrow--left",c.setAttribute("aria-label",e.i18n?.scrollTabsLeft??"Scroll tabs left"),c.innerHTML='<svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><polyline points="15 18 9 12 15 6"/></svg>';const u=document.createElement("button");u.type="button",u.className="gengage-simrel-tabs-arrow gengage-simrel-tabs-arrow--right",u.setAttribute("aria-label",e.i18n?.scrollTabsRight??"Scroll tabs right"),u.innerHTML='<svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><polyline points="9 18 15 12 9 6"/></svg>';const f=200;c.addEventListener("click",()=>{n.scrollBy({left:-f,behavior:"smooth"})}),u.addEventListener("click",()=>{n.scrollBy({left:f,behavior:"smooth"})});const g=()=>{const d=n.scrollLeft<=4,y=n.scrollLeft+n.clientWidth>=n.scrollWidth-4;c.style.display=d?"none":"",u.style.display=y?"none":"",n.classList.toggle("gengage-simrel-tabs--peek-right",!y),n.classList.toggle("gengage-simrel-tabs--peek-left",!d)};n.addEventListener("scroll",g,{passive:!0}),typeof ResizeObserver<"u"&&new ResizeObserver(g).observe(n),c.style.display="none",u.style.display="none",requestAnimationFrame(g);const p=document.createElement("div");p.className="gengage-simrel-tabs-wrapper",p.appendChild(c),p.appendChild(n),p.appendChild(u),r.appendChild(p);const m=i[0],h=kt(a(e.groups[0]));m.appendChild(h);for(const d of i)r.appendChild(d);return r}function St(e){if(!e||typeof e!="object")return null;const t=e;if(typeof t.sku!="string"||typeof t.name!="string"||typeof t.url!="string")return null;const r={sku:t.sku,name:t.name,url:t.url},n=t.imageUrl;typeof n=="string"&&(r.imageUrl=n);const o=t.price;typeof o=="string"&&(r.price=o);const i=t.originalPrice;typeof i=="string"&&(r.originalPrice=i);const a=t.discountPercent;typeof a=="number"&&(r.discountPercent=a);const s=t.brand;typeof s=="string"&&(r.brand=s);const c=t.rating;typeof c=="number"&&(r.rating=c);const u=t.reviewCount;typeof u=="number"&&(r.reviewCount=u);const f=t.cartCode;typeof f=="string"&&(r.cartCode=f);const g=t.inStock;typeof g=="boolean"&&(r.inStock=g);const p=t.extras;return p!=null&&typeof p=="object"&&(r.extras=p),r}function Ro(e){if(!e||typeof e!="object")return null;const t=e,r=t.title,n=t.type;if(typeof r!="string"||typeof n!="string")return null;const o={title:r,type:n};return t.payload!==void 0&&(o.payload=t.payload),o}var Ct={ProductGrid:({element:e,renderElement:t,context:r})=>{const n=document.createElement("div");n.className="gengage-simrel-grid",n.setAttribute("role","list");const o=e.props?.columns;let i;typeof o=="number"&&Number.isFinite(o)&&o>0?i=Math.floor(o):typeof r.gridColumns=="number"&&Number.isFinite(r.gridColumns)&&r.gridColumns>0&&(i=Math.floor(r.gridColumns)),i!==void 0&&n.style.setProperty("--gengage-simrel-columns",String(i));for(const a of e.children??[]){const s=t(a);s&&n.appendChild(s)}if(n.children.length===0){const a=document.createElement("div");a.className="gengage-simrel-empty",a.textContent=r.i18n.emptyStateMessage,n.appendChild(a)}return n},ProductCard:({element:e,context:t})=>{const r=St(e.props?.product??e.props);if(!r)return null;const n=e.props?.index,o=typeof n=="number"&&Number.isFinite(n)?n:0,i=e.props?.discountType,a=i==="strike-through"||i==="badge"?i:t.discountType,s={product:r,index:o,onClick:t.onClick,onAddToCart:t.onAddToCart,i18n:t.i18n};return a!==void 0&&(s.discountType=a),t.renderCard!==void 0&&(s.renderCard=t.renderCard),t.renderCardElement!==void 0&&(s.renderCardElement=t.renderCardElement),t.pricing!==void 0&&(s.pricing=t.pricing),wt(s)},GroupTabs:({element:e,context:t})=>{const r=e.props?.groups;if(!Array.isArray(r))return null;const n=[];for(const a of r){if(!a||typeof a!="object")continue;const s=a;if(typeof s.name!="string")continue;const c=[];if(Array.isArray(s.products))for(const f of s.products){const g=St(f);g&&c.push(g)}const u={name:s.name,products:c};typeof s.highlight=="string"&&(u.highlight=s.highlight),n.push(u)}const o={groups:n,onClick:t.onClick,onAddToCart:t.onAddToCart,i18n:t.i18n},i=e.props?.columns;return typeof i=="number"&&Number.isFinite(i)&&i>0?o.columns=Math.floor(i):typeof t.gridColumns=="number"&&Number.isFinite(t.gridColumns)&&t.gridColumns>0&&(o.columns=Math.floor(t.gridColumns)),t.discountType!==void 0&&(o.discountType=t.discountType),t.renderCard!==void 0&&(o.renderCard=t.renderCard),t.renderCardElement!==void 0&&(o.renderCardElement=t.renderCardElement),Zo(o)},EmptyState:({element:e,context:t})=>{const r=document.createElement("div");r.className="gengage-simrel-empty";const n=e.props?.message;return r.textContent=typeof n=="string"?n:t.i18n.emptyStateMessage,r},AddToCartButton:({element:e,context:t})=>{const r=e.props?.sku,n=e.props?.cartCode;if(typeof r!="string"||typeof n!="string")return null;const o=document.createElement("button");o.className="gengage-simrel-atc gengage-chat-product-card-cta",o.type="button";const i=e.props?.label;return o.textContent=typeof i=="string"?i:t.i18n.addToCartButton,o.addEventListener("click",a=>{a.preventDefault(),a.stopPropagation(),t.onAddToCart({sku:r,quantity:1,cartCode:n})}),o},QuickActions:({element:e,context:t})=>{const r=document.createElement("div");r.className="gengage-simrel-quick-actions";const n=e.props?.actions;if(!Array.isArray(n)||!t.onAction)return r;for(const o of n){if(!o||typeof o!="object")continue;const i=o,a=i.label,s=Ro(i.action);if(typeof a!="string"||!s)continue;const c=document.createElement("button");c.className="gengage-simrel-quick-action",c.type="button",c.textContent=a,c.addEventListener("click",u=>{u.preventDefault(),u.stopPropagation(),t.onAction?.(s)}),r.appendChild(c)}return r}},Ze=({element:e,renderElement:t})=>{if(!e.children||e.children.length===0)return null;const r=document.createElement("div");for(const n of e.children){const o=t(n);o&&r.appendChild(o)}return r};function Et(){return{...Ct}}function zt(e,t,r=Ct,n=Ze){return xr({spec:e,context:t,registry:r,containerClassName:"gengage-simrel-uispec",unknownRenderer:n})}var Tt={similarProductsAriaLabel:"Benzer ürünler",emptyStateMessage:"Benzer ürün bulunamadı.",addToCartButton:"Sepete Ekle",ctaLabel:"İncele",outOfStockLabel:"Stokta Yok",decreaseLabel:"Azalt",increaseLabel:"Artır",errorLoadingMessage:"Benzer ürünler yüklenemedi.",retryButtonText:"Tekrar dene",priceSuffix:" TL",scrollTabsLeft:"Sola kaydır",scrollTabsRight:"Sağa kaydır"},xo={similarProductsAriaLabel:"Similar products",emptyStateMessage:"No similar products found.",addToCartButton:"Add to cart",ctaLabel:"View",outOfStockLabel:"Out of Stock",decreaseLabel:"Decrease",increaseLabel:"Increase",errorLoadingMessage:"Could not load similar products.",retryButtonText:"Try again",priceSuffix:"",scrollTabsLeft:"Scroll tabs left",scrollTabsRight:"Scroll tabs right"};function Lo(e){return e?e.toLowerCase().split("-")[0]??"tr":"tr"}function Do(e){return Lo(e)==="en"?xo:Tt}function jo(){return typeof window<"u"&&Array.isArray(window.dataLayer)}function le(e,t){const r={event:e,...t};jo()&&window.dataLayer.push(r)}function Uo(e){le("gengage-on-init",{gengage_widget:e})}function $t(e){le("gengage-show",{gengage_widget:e})}function Mo(e,t){le("gengage-product-detail",{gengage_sku:e,gengage_product_name:t})}function Fo(e,t){le("gengage-cart-add",{gengage_sku:e,gengage_quantity:t})}var hu=Object.freeze({status:"aborted"});function l(e,t,r){function n(s,c){if(s._zod||Object.defineProperty(s,"_zod",{value:{def:c,constr:a,traits:new Set},enumerable:!1}),s._zod.traits.has(e))return;s._zod.traits.add(e),t(s,c);const u=a.prototype,f=Object.keys(u);for(let g=0;g<f.length;g++){const p=f[g];p in s||(s[p]=u[p].bind(s))}}const o=r?.Parent??Object;class i extends o{}Object.defineProperty(i,"name",{value:e});function a(s){var c;const u=r?.Parent?new i:this;n(u,s),(c=u._zod).deferred??(c.deferred=[]);for(const f of u._zod.deferred)f();return u}return Object.defineProperty(a,"init",{value:n}),Object.defineProperty(a,Symbol.hasInstance,{value:s=>r?.Parent&&s instanceof r.Parent?!0:s?._zod?.traits?.has(e)}),Object.defineProperty(a,"name",{value:e}),a}var Q=class extends Error{constructor(){super("Encountered Promise during synchronous parse. Use .parseAsync() instead.")}},At=class extends Error{constructor(e){super(`Encountered unidirectional transform during encode: ${e}`),this.name="ZodEncodeError"}},Re={};function H(e){return e&&Object.assign(Re,e),Re}function It(e){const t=Object.values(e).filter(r=>typeof r=="number");return Object.entries(e).filter(([r,n])=>t.indexOf(+r)===-1).map(([r,n])=>n)}function xe(e,t){return typeof t=="bigint"?t.toString():t}function Le(e){return{get value(){{const t=e();return Object.defineProperty(this,"value",{value:t}),t}throw new Error("cached value already set")}}}function De(e){return e==null}function je(e){const t=e.startsWith("^")?1:0,r=e.endsWith("$")?e.length-1:e.length;return e.slice(t,r)}function qo(e,t){const r=(e.toString().split(".")[1]||"").length,n=t.toString();let o=(n.split(".")[1]||"").length;if(o===0&&/\d?e-\d?/.test(n)){const a=n.match(/\d?e-(\d?)/);a?.[1]&&(o=Number.parseInt(a[1]))}const i=r>o?r:o;return Number.parseInt(e.toFixed(i).replace(".",""))%Number.parseInt(t.toFixed(i).replace(".",""))/10**i}var Pt=Symbol("evaluating");function k(e,t,r){let n;Object.defineProperty(e,t,{get(){if(n!==Pt)return n===void 0&&(n=Pt,n=r()),n},set(o){Object.defineProperty(e,t,{value:o})},configurable:!0})}function K(e,t,r){Object.defineProperty(e,t,{value:r,writable:!0,enumerable:!0,configurable:!0})}function q(...e){const t={};for(const r of e)Object.assign(t,Object.getOwnPropertyDescriptors(r));return Object.defineProperties({},t)}function Ot(e){return JSON.stringify(e)}function Go(e){return e.toLowerCase().trim().replace(/[^\w\s-]/g,"").replace(/[\s_-]+/g,"-").replace(/^-+|-+$/g,"")}var Nt="captureStackTrace"in Error?Error.captureStackTrace:(...e)=>{};function fe(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}var Jo=Le(()=>{if(typeof navigator<"u"&&navigator?.userAgent?.includes("Cloudflare"))return!1;try{return new Function(""),!0}catch{return!1}});function ae(e){if(fe(e)===!1)return!1;const t=e.constructor;if(t===void 0||typeof t!="function")return!0;const r=t.prototype;return!(fe(r)===!1||Object.prototype.hasOwnProperty.call(r,"isPrototypeOf")===!1)}function Zt(e){return ae(e)?{...e}:Array.isArray(e)?[...e]:e}var Bo=new Set(["string","number","symbol"]);function pe(e){return e.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function G(e,t,r){const n=new e._zod.constr(t??e._zod.def);return(!t||r?.parent)&&(n._zod.parent=e),n}function _(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 Vo(e){return Object.keys(e).filter(t=>e[t]._zod.optin==="optional"&&e[t]._zod.optout==="optional")}var Wo={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 Ho(e,t){const r=e._zod.def,n=r.checks;if(n&&n.length>0)throw new Error(".pick() cannot be used on object schemas containing refinements");return G(e,q(e._zod.def,{get shape(){const o={};for(const i in t){if(!(i in r.shape))throw new Error(`Unrecognized key: "${i}"`);t[i]&&(o[i]=r.shape[i])}return K(this,"shape",o),o},checks:[]}))}function Ko(e,t){const r=e._zod.def,n=r.checks;if(n&&n.length>0)throw new Error(".omit() cannot be used on object schemas containing refinements");return G(e,q(e._zod.def,{get shape(){const o={...e._zod.def.shape};for(const i in t){if(!(i in r.shape))throw new Error(`Unrecognized key: "${i}"`);t[i]&&delete o[i]}return K(this,"shape",o),o},checks:[]}))}function Yo(e,t){if(!ae(t))throw new Error("Invalid input to extend: expected a plain object");const r=e._zod.def.checks;if(r&&r.length>0){const n=e._zod.def.shape;for(const o in t)if(Object.getOwnPropertyDescriptor(n,o)!==void 0)throw new Error("Cannot overwrite keys on object schemas containing refinements. Use `.safeExtend()` instead.")}return G(e,q(e._zod.def,{get shape(){const n={...e._zod.def.shape,...t};return K(this,"shape",n),n}}))}function Xo(e,t){if(!ae(t))throw new Error("Invalid input to safeExtend: expected a plain object");return G(e,q(e._zod.def,{get shape(){const r={...e._zod.def.shape,...t};return K(this,"shape",r),r}}))}function Qo(e,t){return G(e,q(e._zod.def,{get shape(){const r={...e._zod.def.shape,...t._zod.def.shape};return K(this,"shape",r),r},get catchall(){return t._zod.def.catchall},checks:[]}))}function ei(e,t,r){const n=t._zod.def.checks;if(n&&n.length>0)throw new Error(".partial() cannot be used on object schemas containing refinements");return G(t,q(t._zod.def,{get shape(){const o=t._zod.def.shape,i={...o};if(r)for(const a in r){if(!(a in o))throw new Error(`Unrecognized key: "${a}"`);r[a]&&(i[a]=e?new e({type:"optional",innerType:o[a]}):o[a])}else for(const a in o)i[a]=e?new e({type:"optional",innerType:o[a]}):o[a];return K(this,"shape",i),i},checks:[]}))}function ti(e,t,r){return G(t,q(t._zod.def,{get shape(){const n=t._zod.def.shape,o={...n};if(r)for(const i in r){if(!(i in o))throw new Error(`Unrecognized key: "${i}"`);r[i]&&(o[i]=new e({type:"nonoptional",innerType:n[i]}))}else for(const i in n)o[i]=new e({type:"nonoptional",innerType:n[i]});return K(this,"shape",o),o}}))}function ee(e,t=0){if(e.aborted===!0)return!0;for(let r=t;r<e.issues.length;r++)if(e.issues[r]?.continue!==!0)return!0;return!1}function Rt(e,t){return t.map(r=>{var n;return(n=r).path??(n.path=[]),r.path.unshift(e),r})}function ge(e){return typeof e=="string"?e:e?.message}function Y(e,t,r){const n={...e,path:e.path??[]};return e.message||(n.message=ge(e.inst?._zod.def?.error?.(e))??ge(t?.error?.(e))??ge(r.customError?.(e))??ge(r.localeError?.(e))??"Invalid input"),delete n.inst,delete n.continue,t?.reportInput||delete n.input,n}function Ue(e){return Array.isArray(e)?"array":typeof e=="string"?"string":"unknown"}function se(...e){const[t,r,n]=e;return typeof t=="string"?{message:t,code:"custom",input:r,inst:n}:{...t}}var xt=(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,xe,2),Object.defineProperty(e,"toString",{value:()=>e.message,enumerable:!1})},Lt=l("$ZodError",xt),Z=l("$ZodError",xt,{Parent:Error});function ri(e,t=r=>r.message){const r={},n=[];for(const o of e.issues)o.path.length>0?(r[o.path[0]]=r[o.path[0]]||[],r[o.path[0]].push(t(o))):n.push(t(o));return{formErrors:n,fieldErrors:r}}function ni(e,t=r=>r.message){const r={_errors:[]},n=o=>{for(const i of o.issues)if(i.code==="invalid_union"&&i.errors.length)i.errors.map(a=>n({issues:a}));else if(i.code==="invalid_key")n({issues:i.issues});else if(i.code==="invalid_element")n({issues:i.issues});else if(i.path.length===0)r._errors.push(t(i));else{let a=r,s=0;for(;s<i.path.length;){const c=i.path[s];s!==i.path.length-1?a[c]=a[c]||{_errors:[]}:(a[c]=a[c]||{_errors:[]},a[c]._errors.push(t(i))),a=a[c],s++}}};return n(e),r}var me=e=>(t,r,n,o)=>{const i=n?Object.assign(n,{async:!1}):{async:!1},a=t._zod.run({value:r,issues:[]},i);if(a instanceof Promise)throw new Q;if(a.issues.length){const s=new(o?.Err??e)(a.issues.map(c=>Y(c,i,H())));throw Nt(s,o?.callee),s}return a.value},_u=me(Z),he=e=>async(t,r,n,o)=>{const i=n?Object.assign(n,{async:!0}):{async:!0};let a=t._zod.run({value:r,issues:[]},i);if(a instanceof Promise&&(a=await a),a.issues.length){const s=new(o?.Err??e)(a.issues.map(c=>Y(c,i,H())));throw Nt(s,o?.callee),s}return a.value},yu=he(Z),_e=e=>(t,r,n)=>{const o=n?{...n,async:!1}:{async:!1},i=t._zod.run({value:r,issues:[]},o);if(i instanceof Promise)throw new Q;return i.issues.length?{success:!1,error:new(e??Lt)(i.issues.map(a=>Y(a,o,H())))}:{success:!0,data:i.value}},oi=_e(Z),ye=e=>async(t,r,n)=>{const o=n?Object.assign(n,{async:!0}):{async:!0};let i=t._zod.run({value:r,issues:[]},o);return i instanceof Promise&&(i=await i),i.issues.length?{success:!1,error:new e(i.issues.map(a=>Y(a,o,H())))}:{success:!0,data:i.value}},ii=ye(Z),Dt=e=>(t,r,n)=>{const o=n?Object.assign(n,{direction:"backward"}):{direction:"backward"};return me(e)(t,r,o)},vu=Dt(Z),jt=e=>(t,r,n)=>me(e)(t,r,n),bu=jt(Z),Ut=e=>async(t,r,n)=>{const o=n?Object.assign(n,{direction:"backward"}):{direction:"backward"};return he(e)(t,r,o)},wu=Ut(Z),Mt=e=>async(t,r,n)=>he(e)(t,r,n),ku=Mt(Z),Ft=e=>(t,r,n)=>{const o=n?Object.assign(n,{direction:"backward"}):{direction:"backward"};return _e(e)(t,r,o)},Su=Ft(Z),qt=e=>(t,r,n)=>_e(e)(t,r,n),Cu=qt(Z),Gt=e=>async(t,r,n)=>{const o=n?Object.assign(n,{direction:"backward"}):{direction:"backward"};return ye(e)(t,r,o)},Eu=Gt(Z),Jt=e=>async(t,r,n)=>ye(e)(t,r,n),zu=Jt(Z),ai=/^[cC][^\s-]{8,}$/,si=/^[0-9a-z]+$/,ci=/^[0-9A-HJKMNP-TV-Za-hjkmnp-tv-z]{26}$/,ui=/^[0-9a-vA-V]{20}$/,di=/^[A-Za-z0-9]{27}$/,li=/^[a-zA-Z0-9_-]{21}$/,fi=/^P(?:(\d+W)|(?!.*W)(?=\d|T\d)(\d+Y)?(\d+M)?(\d+D)?(T(?=\d)(\d+H)?(\d+M)?(\d+([.,]\d+)?S)?)?)$/,pi=/^([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})$/,Bt=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)$/,gi=/^(?!\.)(?!.*\.\.)([A-Za-z0-9_'+\-\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\-]*\.)+[A-Za-z]{2,}$/,mi="^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$";function hi(){return new RegExp(mi,"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])$/,yi=/^(([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}|:))$/,vi=/^((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])$/,bi=/^(([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])$/,wi=/^$|^(?:[0-9a-zA-Z+/]{4})*(?:(?:[0-9a-zA-Z+/]{2}==)|(?:[0-9a-zA-Z+/]{3}=))?$/,Vt=/^[A-Za-z0-9_-]*$/,ki=/^\+[1-9]\d{6,14}$/,Wt="(?:(?:\\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])))",Si=new RegExp(`^${Wt}$`);function Ht(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 Ci(e){return new RegExp(`^${Ht(e)}$`)}function Ei(e){const t=Ht({precision:e.precision}),r=["Z"];e.local&&r.push(""),e.offset&&r.push("([+-](?:[01]\\d|2[0-3]):[0-5]\\d)");const n=`${t}(?:${r.join("|")})`;return new RegExp(`^${Wt}T(?:${n})$`)}var zi=e=>{const t=e?`[\\s\\S]{${e?.minimum??0},${e?.maximum??""}}`:"[\\s\\S]*";return new RegExp(`^${t}$`)},Ti=/^-?\d+$/,$i=/^-?\d+(?:\.\d+)?$/,Ai=/^[^A-Z]*$/,Ii=/^[^a-z]*$/,I=l("$ZodCheck",(e,t)=>{var r;e._zod??(e._zod={}),e._zod.def=t,(r=e._zod).onattach??(r.onattach=[])}),Kt={number:"number",bigint:"bigint",object:"date"},Yt=l("$ZodCheckLessThan",(e,t)=>{I.init(e,t);const r=Kt[typeof t.value];e._zod.onattach.push(n=>{const o=n._zod.bag,i=(t.inclusive?o.maximum:o.exclusiveMaximum)??Number.POSITIVE_INFINITY;t.value<i&&(t.inclusive?o.maximum=t.value:o.exclusiveMaximum=t.value)}),e._zod.check=n=>{(t.inclusive?n.value<=t.value:n.value<t.value)||n.issues.push({origin:r,code:"too_big",maximum:typeof t.value=="object"?t.value.getTime():t.value,input:n.value,inclusive:t.inclusive,inst:e,continue:!t.abort})}}),Xt=l("$ZodCheckGreaterThan",(e,t)=>{I.init(e,t);const r=Kt[typeof t.value];e._zod.onattach.push(n=>{const o=n._zod.bag,i=(t.inclusive?o.minimum:o.exclusiveMinimum)??Number.NEGATIVE_INFINITY;t.value>i&&(t.inclusive?o.minimum=t.value:o.exclusiveMinimum=t.value)}),e._zod.check=n=>{(t.inclusive?n.value>=t.value:n.value>t.value)||n.issues.push({origin:r,code:"too_small",minimum:typeof t.value=="object"?t.value.getTime():t.value,input:n.value,inclusive:t.inclusive,inst:e,continue:!t.abort})}}),Pi=l("$ZodCheckMultipleOf",(e,t)=>{I.init(e,t),e._zod.onattach.push(r=>{var n;(n=r._zod.bag).multipleOf??(n.multipleOf=t.value)}),e._zod.check=r=>{if(typeof r.value!=typeof t.value)throw new Error("Cannot mix number and bigint in multiple_of check.");(typeof r.value=="bigint"?r.value%t.value===BigInt(0):qo(r.value,t.value)===0)||r.issues.push({origin:typeof r.value,code:"not_multiple_of",divisor:t.value,input:r.value,inst:e,continue:!t.abort})}}),Oi=l("$ZodCheckNumberFormat",(e,t)=>{I.init(e,t),t.format=t.format||"float64";const r=t.format?.includes("int"),n=r?"int":"number",[o,i]=Wo[t.format];e._zod.onattach.push(a=>{const s=a._zod.bag;s.format=t.format,s.minimum=o,s.maximum=i,r&&(s.pattern=Ti)}),e._zod.check=a=>{const s=a.value;if(r){if(!Number.isInteger(s)){a.issues.push({expected:n,format:t.format,code:"invalid_type",continue:!1,input:s,inst:e});return}if(!Number.isSafeInteger(s)){s>0?a.issues.push({input:s,code:"too_big",maximum:Number.MAX_SAFE_INTEGER,note:"Integers must be within the safe integer range.",inst:e,origin:n,inclusive:!0,continue:!t.abort}):a.issues.push({input:s,code:"too_small",minimum:Number.MIN_SAFE_INTEGER,note:"Integers must be within the safe integer range.",inst:e,origin:n,inclusive:!0,continue:!t.abort});return}}s<o&&a.issues.push({origin:"number",input:s,code:"too_small",minimum:o,inclusive:!0,inst:e,continue:!t.abort}),s>i&&a.issues.push({origin:"number",input:s,code:"too_big",maximum:i,inclusive:!0,inst:e,continue:!t.abort})}}),Ni=l("$ZodCheckMaxLength",(e,t)=>{var r;I.init(e,t),(r=e._zod.def).when??(r.when=n=>{const o=n.value;return!De(o)&&o.length!==void 0}),e._zod.onattach.push(n=>{const o=n._zod.bag.maximum??Number.POSITIVE_INFINITY;t.maximum<o&&(n._zod.bag.maximum=t.maximum)}),e._zod.check=n=>{const o=n.value;if(o.length<=t.maximum)return;const i=Ue(o);n.issues.push({origin:i,code:"too_big",maximum:t.maximum,inclusive:!0,input:o,inst:e,continue:!t.abort})}}),Zi=l("$ZodCheckMinLength",(e,t)=>{var r;I.init(e,t),(r=e._zod.def).when??(r.when=n=>{const o=n.value;return!De(o)&&o.length!==void 0}),e._zod.onattach.push(n=>{const o=n._zod.bag.minimum??Number.NEGATIVE_INFINITY;t.minimum>o&&(n._zod.bag.minimum=t.minimum)}),e._zod.check=n=>{const o=n.value;if(o.length>=t.minimum)return;const i=Ue(o);n.issues.push({origin:i,code:"too_small",minimum:t.minimum,inclusive:!0,input:o,inst:e,continue:!t.abort})}}),Ri=l("$ZodCheckLengthEquals",(e,t)=>{var r;I.init(e,t),(r=e._zod.def).when??(r.when=n=>{const o=n.value;return!De(o)&&o.length!==void 0}),e._zod.onattach.push(n=>{const o=n._zod.bag;o.minimum=t.length,o.maximum=t.length,o.length=t.length}),e._zod.check=n=>{const o=n.value,i=o.length;if(i===t.length)return;const a=Ue(o),s=i>t.length;n.issues.push({origin:a,...s?{code:"too_big",maximum:t.length}:{code:"too_small",minimum:t.length},inclusive:!0,exact:!0,input:n.value,inst:e,continue:!t.abort})}}),ve=l("$ZodCheckStringFormat",(e,t)=>{var r,n;I.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?(r=e._zod).check??(r.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})}):(n=e._zod).check??(n.check=()=>{})}),xi=l("$ZodCheckRegex",(e,t)=>{ve.init(e,t),e._zod.check=r=>{t.pattern.lastIndex=0,!t.pattern.test(r.value)&&r.issues.push({origin:"string",code:"invalid_format",format:"regex",input:r.value,pattern:t.pattern.toString(),inst:e,continue:!t.abort})}}),Li=l("$ZodCheckLowerCase",(e,t)=>{t.pattern??(t.pattern=Ai),ve.init(e,t)}),Di=l("$ZodCheckUpperCase",(e,t)=>{t.pattern??(t.pattern=Ii),ve.init(e,t)}),ji=l("$ZodCheckIncludes",(e,t)=>{I.init(e,t);const r=pe(t.includes),n=new RegExp(typeof t.position=="number"?`^.{${t.position}}${r}`:r);t.pattern=n,e._zod.onattach.push(o=>{const i=o._zod.bag;i.patterns??(i.patterns=new Set),i.patterns.add(n)}),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})}}),Ui=l("$ZodCheckStartsWith",(e,t)=>{I.init(e,t);const r=new RegExp(`^${pe(t.prefix)}.*`);t.pattern??(t.pattern=r),e._zod.onattach.push(n=>{const o=n._zod.bag;o.patterns??(o.patterns=new Set),o.patterns.add(r)}),e._zod.check=n=>{n.value.startsWith(t.prefix)||n.issues.push({origin:"string",code:"invalid_format",format:"starts_with",prefix:t.prefix,input:n.value,inst:e,continue:!t.abort})}}),Mi=l("$ZodCheckEndsWith",(e,t)=>{I.init(e,t);const r=new RegExp(`.*${pe(t.suffix)}$`);t.pattern??(t.pattern=r),e._zod.onattach.push(n=>{const o=n._zod.bag;o.patterns??(o.patterns=new Set),o.patterns.add(r)}),e._zod.check=n=>{n.value.endsWith(t.suffix)||n.issues.push({origin:"string",code:"invalid_format",format:"ends_with",suffix:t.suffix,input:n.value,inst:e,continue:!t.abort})}}),Fi=l("$ZodCheckOverwrite",(e,t)=>{I.init(e,t),e._zod.check=r=>{r.value=t.tx(r.value)}}),qi=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
|
+
`).filter(o=>o),r=Math.min(...t.map(o=>o.length-o.trimStart().length)),n=t.map(o=>o.slice(r)).map(o=>" ".repeat(this.indent*2)+o);for(const o of n)this.content.push(o)}compile(){const e=Function,t=this?.args,r=[...(this?.content??[""]).map(n=>` ${n}`)];return new e(...t,r.join(`
|
|
50
|
+
`))}},Gi={major:4,minor:3,patch:6},z=l("$ZodType",(e,t)=>{var r;e??(e={}),e._zod.def=t,e._zod.bag=e._zod.bag||{},e._zod.version=Gi;const n=[...e._zod.def.checks??[]];e._zod.traits.has("$ZodCheck")&&n.unshift(e);for(const o of n)for(const i of o._zod.onattach)i(e);if(n.length===0)(r=e._zod).deferred??(r.deferred=[]),e._zod.deferred?.push(()=>{e._zod.run=e._zod.parse});else{const o=(a,s,c)=>{let u=ee(a),f;for(const g of s){if(g._zod.def.when){if(!g._zod.def.when(a))continue}else if(u)continue;const p=a.issues.length,m=g._zod.check(a);if(m instanceof Promise&&c?.async===!1)throw new Q;if(f||m instanceof Promise)f=(f??Promise.resolve()).then(async()=>{await m,a.issues.length!==p&&(u||(u=ee(a,p)))});else{if(a.issues.length===p)continue;u||(u=ee(a,p))}}return f?f.then(()=>a):a},i=(a,s,c)=>{if(ee(a))return a.aborted=!0,a;const u=o(s,n,c);if(u instanceof Promise){if(c.async===!1)throw new Q;return u.then(f=>e._zod.parse(f,c))}return e._zod.parse(u,c)};e._zod.run=(a,s)=>{if(s.skipChecks)return e._zod.parse(a,s);if(s.direction==="backward"){const u=e._zod.parse({value:a.value,issues:[]},{...s,skipChecks:!0});return u instanceof Promise?u.then(f=>i(f,a,s)):i(u,a,s)}const c=e._zod.parse(a,s);if(c instanceof Promise){if(s.async===!1)throw new Q;return c.then(u=>o(u,n,s))}return o(c,n,s)}}k(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(a=>a.success?{value:a.data}:{issues:a.error?.issues})}},vendor:"zod",version:1}))}),Me=l("$ZodString",(e,t)=>{z.init(e,t),e._zod.pattern=[...e?._zod.bag?.patterns??[]].pop()??zi(e._zod.bag),e._zod.parse=(r,n)=>{if(t.coerce)try{r.value=String(r.value)}catch{}return typeof r.value=="string"||r.issues.push({expected:"string",code:"invalid_type",input:r.value,inst:e}),r}}),C=l("$ZodStringFormat",(e,t)=>{ve.init(e,t),Me.init(e,t)}),Ji=l("$ZodGUID",(e,t)=>{t.pattern??(t.pattern=pi),C.init(e,t)}),Bi=l("$ZodUUID",(e,t)=>{if(t.version){const r={v1:1,v2:2,v3:3,v4:4,v5:5,v6:6,v7:7,v8:8}[t.version];if(r===void 0)throw new Error(`Invalid UUID version: "${t.version}"`);t.pattern??(t.pattern=Bt(r))}else t.pattern??(t.pattern=Bt());C.init(e,t)}),Vi=l("$ZodEmail",(e,t)=>{t.pattern??(t.pattern=gi),C.init(e,t)}),Wi=l("$ZodURL",(e,t)=>{C.init(e,t),e._zod.check=r=>{try{const n=r.value.trim(),o=new URL(n);t.hostname&&(t.hostname.lastIndex=0,t.hostname.test(o.hostname)||r.issues.push({code:"invalid_format",format:"url",note:"Invalid hostname",pattern:t.hostname.source,input:r.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)||r.issues.push({code:"invalid_format",format:"url",note:"Invalid protocol",pattern:t.protocol.source,input:r.value,inst:e,continue:!t.abort})),t.normalize?r.value=o.href:r.value=n;return}catch{r.issues.push({code:"invalid_format",format:"url",input:r.value,inst:e,continue:!t.abort})}}}),Hi=l("$ZodEmoji",(e,t)=>{t.pattern??(t.pattern=hi()),C.init(e,t)}),Ki=l("$ZodNanoID",(e,t)=>{t.pattern??(t.pattern=li),C.init(e,t)}),Yi=l("$ZodCUID",(e,t)=>{t.pattern??(t.pattern=ai),C.init(e,t)}),Xi=l("$ZodCUID2",(e,t)=>{t.pattern??(t.pattern=si),C.init(e,t)}),Qi=l("$ZodULID",(e,t)=>{t.pattern??(t.pattern=ci),C.init(e,t)}),ea=l("$ZodXID",(e,t)=>{t.pattern??(t.pattern=ui),C.init(e,t)}),ta=l("$ZodKSUID",(e,t)=>{t.pattern??(t.pattern=di),C.init(e,t)}),ra=l("$ZodISODateTime",(e,t)=>{t.pattern??(t.pattern=Ei(t)),C.init(e,t)}),na=l("$ZodISODate",(e,t)=>{t.pattern??(t.pattern=Si),C.init(e,t)}),oa=l("$ZodISOTime",(e,t)=>{t.pattern??(t.pattern=Ci(t)),C.init(e,t)}),ia=l("$ZodISODuration",(e,t)=>{t.pattern??(t.pattern=fi),C.init(e,t)}),aa=l("$ZodIPv4",(e,t)=>{t.pattern??(t.pattern=_i),C.init(e,t),e._zod.bag.format="ipv4"}),sa=l("$ZodIPv6",(e,t)=>{t.pattern??(t.pattern=yi),C.init(e,t),e._zod.bag.format="ipv6",e._zod.check=r=>{try{new URL(`http://[${r.value}]`)}catch{r.issues.push({code:"invalid_format",format:"ipv6",input:r.value,inst:e,continue:!t.abort})}}}),ca=l("$ZodCIDRv4",(e,t)=>{t.pattern??(t.pattern=vi),C.init(e,t)}),ua=l("$ZodCIDRv6",(e,t)=>{t.pattern??(t.pattern=bi),C.init(e,t),e._zod.check=r=>{const n=r.value.split("/");try{if(n.length!==2)throw new Error;const[o,i]=n;if(!i)throw new Error;const a=Number(i);if(`${a}`!==i)throw new Error;if(a<0||a>128)throw new Error;new URL(`http://[${o}]`)}catch{r.issues.push({code:"invalid_format",format:"cidrv6",input:r.value,inst:e,continue:!t.abort})}}});function Qt(e){if(e==="")return!0;if(e.length%4!==0)return!1;try{return atob(e),!0}catch{return!1}}var da=l("$ZodBase64",(e,t)=>{t.pattern??(t.pattern=wi),C.init(e,t),e._zod.bag.contentEncoding="base64",e._zod.check=r=>{Qt(r.value)||r.issues.push({code:"invalid_format",format:"base64",input:r.value,inst:e,continue:!t.abort})}});function la(e){if(!Vt.test(e))return!1;const t=e.replace(/[-_]/g,r=>r==="-"?"+":"/");return Qt(t.padEnd(Math.ceil(t.length/4)*4,"="))}var fa=l("$ZodBase64URL",(e,t)=>{t.pattern??(t.pattern=Vt),C.init(e,t),e._zod.bag.contentEncoding="base64url",e._zod.check=r=>{la(r.value)||r.issues.push({code:"invalid_format",format:"base64url",input:r.value,inst:e,continue:!t.abort})}}),pa=l("$ZodE164",(e,t)=>{t.pattern??(t.pattern=ki),C.init(e,t)});function ga(e,t=null){try{const r=e.split(".");if(r.length!==3)return!1;const[n]=r;if(!n)return!1;const o=JSON.parse(atob(n));return!("typ"in o&&o?.typ!=="JWT"||!o.alg||t&&(!("alg"in o)||o.alg!==t))}catch{return!1}}var ma=l("$ZodJWT",(e,t)=>{C.init(e,t),e._zod.check=r=>{ga(r.value,t.alg)||r.issues.push({code:"invalid_format",format:"jwt",input:r.value,inst:e,continue:!t.abort})}}),er=l("$ZodNumber",(e,t)=>{z.init(e,t),e._zod.pattern=e._zod.bag.pattern??$i,e._zod.parse=(r,n)=>{if(t.coerce)try{r.value=Number(r.value)}catch{}const o=r.value;if(typeof o=="number"&&!Number.isNaN(o)&&Number.isFinite(o))return r;const i=typeof o=="number"?Number.isNaN(o)?"NaN":Number.isFinite(o)?void 0:"Infinity":void 0;return r.issues.push({expected:"number",code:"invalid_type",input:o,inst:e,...i?{received:i}:{}}),r}}),ha=l("$ZodNumberFormat",(e,t)=>{Oi.init(e,t),er.init(e,t)}),_a=l("$ZodUnknown",(e,t)=>{z.init(e,t),e._zod.parse=r=>r}),ya=l("$ZodNever",(e,t)=>{z.init(e,t),e._zod.parse=(r,n)=>(r.issues.push({expected:"never",code:"invalid_type",input:r.value,inst:e}),r)});function tr(e,t,r){e.issues.length&&t.issues.push(...Rt(r,e.issues)),t.value[r]=e.value}var va=l("$ZodArray",(e,t)=>{z.init(e,t),e._zod.parse=(r,n)=>{const o=r.value;if(!Array.isArray(o))return r.issues.push({expected:"array",code:"invalid_type",input:o,inst:e}),r;r.value=Array(o.length);const i=[];for(let a=0;a<o.length;a++){const s=o[a],c=t.element._zod.run({value:s,issues:[]},n);c instanceof Promise?i.push(c.then(u=>tr(u,r,a))):tr(c,r,a)}return i.length?Promise.all(i).then(()=>r):r}});function be(e,t,r,n,o){if(e.issues.length){if(o&&!(r in n))return;t.issues.push(...Rt(r,e.issues))}e.value===void 0?r in n&&(t.value[r]=void 0):t.value[r]=e.value}function rr(e){const t=Object.keys(e.shape);for(const n of t)if(!e.shape?.[n]?._zod?.traits?.has("$ZodType"))throw new Error(`Invalid element at key "${n}": expected a Zod schema`);const r=Vo(e.shape);return{...e,keys:t,keySet:new Set(t),numKeys:t.length,optionalKeys:new Set(r)}}function nr(e,t,r,n,o,i){const a=[],s=o.keySet,c=o.catchall._zod,u=c.def.type,f=c.optout==="optional";for(const g in t){if(s.has(g))continue;if(u==="never"){a.push(g);continue}const p=c.run({value:t[g],issues:[]},n);p instanceof Promise?e.push(p.then(m=>be(m,r,g,t,f))):be(p,r,g,t,f)}return a.length&&r.issues.push({code:"unrecognized_keys",keys:a,input:t,inst:i}),e.length?Promise.all(e).then(()=>r):r}var ba=l("$ZodObject",(e,t)=>{if(z.init(e,t),!Object.getOwnPropertyDescriptor(t,"shape")?.get){const a=t.shape;Object.defineProperty(t,"shape",{get:()=>{const s={...a};return Object.defineProperty(t,"shape",{value:s}),s}})}const r=Le(()=>rr(t));k(e._zod,"propValues",()=>{const a=t.shape,s={};for(const c in a){const u=a[c]._zod;if(u.values){s[c]??(s[c]=new Set);for(const f of u.values)s[c].add(f)}}return s});const n=fe,o=t.catchall;let i;e._zod.parse=(a,s)=>{i??(i=r.value);const c=a.value;if(!n(c))return a.issues.push({expected:"object",code:"invalid_type",input:c,inst:e}),a;a.value={};const u=[],f=i.shape;for(const g of i.keys){const p=f[g],m=p._zod.optout==="optional",h=p._zod.run({value:c[g],issues:[]},s);h instanceof Promise?u.push(h.then(d=>be(d,a,g,c,m))):be(h,a,g,c,m)}return o?nr(u,c,a,s,r.value,e):u.length?Promise.all(u).then(()=>a):a}}),wa=l("$ZodObjectJIT",(e,t)=>{ba.init(e,t);const r=e._zod.parse,n=Le(()=>rr(t)),o=p=>{const m=new qi(["shape","payload","ctx"]),h=n.value,d=v=>{const w=Ot(v);return`shape[${w}]._zod.run({ value: input[${w}], issues: [] }, ctx)`};m.write("const input = payload.value;");const y=Object.create(null);let S=0;for(const v of h.keys)y[v]=`key_${S++}`;m.write("const newResult = {};");for(const v of h.keys){const w=y[v],$=Ot(v),U=p[v]?._zod?.optout==="optional";m.write(`const ${w} = ${d(v)};`),U?m.write(`
|
|
51
|
+
if (${w}.issues.length) {
|
|
52
|
+
if (${$} in input) {
|
|
53
|
+
payload.issues = payload.issues.concat(${w}.issues.map(iss => ({
|
|
54
54
|
...iss,
|
|
55
|
-
path: iss.path ? [${
|
|
55
|
+
path: iss.path ? [${$}, ...iss.path] : [${$}]
|
|
56
56
|
})));
|
|
57
57
|
}
|
|
58
58
|
}
|
|
59
59
|
|
|
60
|
-
if (${
|
|
61
|
-
if (${
|
|
62
|
-
newResult[${
|
|
60
|
+
if (${w}.value === undefined) {
|
|
61
|
+
if (${$} in input) {
|
|
62
|
+
newResult[${$}] = undefined;
|
|
63
63
|
}
|
|
64
64
|
} else {
|
|
65
|
-
newResult[${
|
|
65
|
+
newResult[${$}] = ${w}.value;
|
|
66
66
|
}
|
|
67
67
|
|
|
68
|
-
`):
|
|
69
|
-
if (${
|
|
70
|
-
payload.issues = payload.issues.concat(${
|
|
68
|
+
`):m.write(`
|
|
69
|
+
if (${w}.issues.length) {
|
|
70
|
+
payload.issues = payload.issues.concat(${w}.issues.map(iss => ({
|
|
71
71
|
...iss,
|
|
72
|
-
path: iss.path ? [${
|
|
72
|
+
path: iss.path ? [${$}, ...iss.path] : [${$}]
|
|
73
73
|
})));
|
|
74
74
|
}
|
|
75
75
|
|
|
76
|
-
if (${
|
|
77
|
-
if (${
|
|
78
|
-
newResult[${
|
|
76
|
+
if (${w}.value === undefined) {
|
|
77
|
+
if (${$} in input) {
|
|
78
|
+
newResult[${$}] = undefined;
|
|
79
79
|
}
|
|
80
80
|
} else {
|
|
81
|
-
newResult[${
|
|
81
|
+
newResult[${$}] = ${w}.value;
|
|
82
82
|
}
|
|
83
83
|
|
|
84
|
-
`)}t.write(`payload.value = newResult;`),t.write(`return payload;`);let s=t.compile();return(t,n)=>s(e,t,n)},a,o=$n,s=!Hn.jitless,c=s&&er.value,l=t.catchall,u;e._zod.parse=(d,f)=>{u??=r.value;let p=d.value;return o(p)?s&&c&&f?.async===!1&&f.jitless!==!0?(a||=i(t.shape),d=a(d,f),l?la([],p,d,f,u,e):d):n(d,f):(d.issues.push({expected:`object`,code:`invalid_type`,input:p,inst:e}),d)}});function fa(e,t,n,r){for(let n of e)if(n.issues.length===0)return t.value=n.value,t;let i=e.filter(e=>!L(e));return i.length===1?(t.value=i[0].value,i[0]):(t.issues.push({code:`invalid_union`,input:t.value,inst:n,errors:e.map(e=>e.issues.map(e=>R(e,r,A())))}),t)}var pa=O(`$ZodUnion`,(e,t)=>{V.init(e,t),j(e._zod,`optin`,()=>t.options.some(e=>e._zod.optin===`optional`)?`optional`:void 0),j(e._zod,`optout`,()=>t.options.some(e=>e._zod.optout===`optional`)?`optional`:void 0),j(e._zod,`values`,()=>{if(t.options.every(e=>e._zod.values))return new Set(t.options.flatMap(e=>Array.from(e._zod.values)))}),j(e._zod,`pattern`,()=>{if(t.options.every(e=>e._zod.pattern)){let e=t.options.map(e=>e._zod.pattern);return RegExp(`^(${e.map(e=>qn(e.source)).join(`|`)})$`)}});let n=t.options.length===1,r=t.options[0]._zod.run;e._zod.parse=(i,a)=>{if(n)return r(i,a);let o=!1,s=[];for(let e of t.options){let t=e._zod.run({value:i.value,issues:[]},a);if(t instanceof Promise)s.push(t),o=!0;else{if(t.issues.length===0)return t;s.push(t)}}return o?Promise.all(s).then(t=>fa(t,i,e,a)):fa(s,i,e,a)}}),ma=O(`$ZodIntersection`,(e,t)=>{V.init(e,t),e._zod.parse=(e,n)=>{let r=e.value,i=t.left._zod.run({value:r,issues:[]},n),a=t.right._zod.run({value:r,issues:[]},n);return i instanceof Promise||a instanceof Promise?Promise.all([i,a]).then(([t,n])=>ga(e,t,n)):ga(e,i,a)}});function ha(e,t){if(e===t||e instanceof Date&&t instanceof Date&&+e==+t)return{valid:!0,data:e};if(P(e)&&P(t)){let n=Object.keys(t),r=Object.keys(e).filter(e=>n.indexOf(e)!==-1),i={...e,...t};for(let n of r){let r=ha(e[n],t[n]);if(!r.valid)return{valid:!1,mergeErrorPath:[n,...r.mergeErrorPath]};i[n]=r.data}return{valid:!0,data:i}}if(Array.isArray(e)&&Array.isArray(t)){if(e.length!==t.length)return{valid:!1,mergeErrorPath:[]};let n=[];for(let r=0;r<e.length;r++){let i=e[r],a=t[r],o=ha(i,a);if(!o.valid)return{valid:!1,mergeErrorPath:[r,...o.mergeErrorPath]};n.push(o.data)}return{valid:!0,data:n}}return{valid:!1,mergeErrorPath:[]}}function ga(e,t,n){let r=new Map,i;for(let n of t.issues)if(n.code===`unrecognized_keys`){i??=n;for(let e of n.keys)r.has(e)||r.set(e,{}),r.get(e).l=!0}else e.issues.push(n);for(let t of n.issues)if(t.code===`unrecognized_keys`)for(let e of t.keys)r.has(e)||r.set(e,{}),r.get(e).r=!0;else e.issues.push(t);let a=[...r].filter(([,e])=>e.l&&e.r).map(([e])=>e);if(a.length&&i&&e.issues.push({...i,keys:a}),L(e))return e;let o=ha(t.value,n.value);if(!o.valid)throw Error(`Unmergable intersection. Error path: ${JSON.stringify(o.mergeErrorPath)}`);return e.value=o.data,e}var _a=O(`$ZodEnum`,(e,t)=>{V.init(e,t);let n=Un(t.entries),r=new Set(n);e._zod.values=r,e._zod.pattern=RegExp(`^(${n.filter(e=>nr.has(typeof e)).map(e=>typeof e==`string`?rr(e):e.toString()).join(`|`)})$`),e._zod.parse=(t,i)=>{let a=t.value;return r.has(a)||t.issues.push({code:`invalid_value`,values:n,input:a,inst:e}),t}}),va=O(`$ZodTransform`,(e,t)=>{V.init(e,t),e._zod.parse=(n,r)=>{if(r.direction===`backward`)throw new Vn(e.constructor.name);let i=t.transform(n.value,n);if(r.async)return(i instanceof Promise?i:Promise.resolve(i)).then(e=>(n.value=e,n));if(i instanceof Promise)throw new k;return n.value=i,n}});function ya(e,t){return e.issues.length&&t===void 0?{issues:[],value:void 0}:e}var ba=O(`$ZodOptional`,(e,t)=>{V.init(e,t),e._zod.optin=`optional`,e._zod.optout=`optional`,j(e._zod,`values`,()=>t.innerType._zod.values?new Set([...t.innerType._zod.values,void 0]):void 0),j(e._zod,`pattern`,()=>{let e=t.innerType._zod.pattern;return e?RegExp(`^(${qn(e.source)})?$`):void 0}),e._zod.parse=(e,n)=>{if(t.innerType._zod.optin===`optional`){let r=t.innerType._zod.run(e,n);return r instanceof Promise?r.then(t=>ya(t,e.value)):ya(r,e.value)}return e.value===void 0?e:t.innerType._zod.run(e,n)}}),xa=O(`$ZodExactOptional`,(e,t)=>{ba.init(e,t),j(e._zod,`values`,()=>t.innerType._zod.values),j(e._zod,`pattern`,()=>t.innerType._zod.pattern),e._zod.parse=(e,n)=>t.innerType._zod.run(e,n)}),Sa=O(`$ZodNullable`,(e,t)=>{V.init(e,t),j(e._zod,`optin`,()=>t.innerType._zod.optin),j(e._zod,`optout`,()=>t.innerType._zod.optout),j(e._zod,`pattern`,()=>{let e=t.innerType._zod.pattern;return e?RegExp(`^(${qn(e.source)}|null)$`):void 0}),j(e._zod,`values`,()=>t.innerType._zod.values?new Set([...t.innerType._zod.values,null]):void 0),e._zod.parse=(e,n)=>e.value===null?e:t.innerType._zod.run(e,n)}),Ca=O(`$ZodDefault`,(e,t)=>{V.init(e,t),e._zod.optin=`optional`,j(e._zod,`values`,()=>t.innerType._zod.values),e._zod.parse=(e,n)=>{if(n.direction===`backward`)return t.innerType._zod.run(e,n);if(e.value===void 0)return e.value=t.defaultValue,e;let r=t.innerType._zod.run(e,n);return r instanceof Promise?r.then(e=>wa(e,t)):wa(r,t)}});function wa(e,t){return e.value===void 0&&(e.value=t.defaultValue),e}var Ta=O(`$ZodPrefault`,(e,t)=>{V.init(e,t),e._zod.optin=`optional`,j(e._zod,`values`,()=>t.innerType._zod.values),e._zod.parse=(e,n)=>(n.direction===`backward`||e.value===void 0&&(e.value=t.defaultValue),t.innerType._zod.run(e,n))}),Ea=O(`$ZodNonOptional`,(e,t)=>{V.init(e,t),j(e._zod,`values`,()=>{let e=t.innerType._zod.values;return e?new Set([...e].filter(e=>e!==void 0)):void 0}),e._zod.parse=(n,r)=>{let i=t.innerType._zod.run(n,r);return i instanceof Promise?i.then(t=>Da(t,e)):Da(i,e)}});function Da(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 Oa=O(`$ZodCatch`,(e,t)=>{V.init(e,t),j(e._zod,`optin`,()=>t.innerType._zod.optin),j(e._zod,`optout`,()=>t.innerType._zod.optout),j(e._zod,`values`,()=>t.innerType._zod.values),e._zod.parse=(e,n)=>{if(n.direction===`backward`)return t.innerType._zod.run(e,n);let r=t.innerType._zod.run(e,n);return r instanceof Promise?r.then(r=>(e.value=r.value,r.issues.length&&(e.value=t.catchValue({...e,error:{issues:r.issues.map(e=>R(e,n,A()))},input:e.value}),e.issues=[]),e)):(e.value=r.value,r.issues.length&&(e.value=t.catchValue({...e,error:{issues:r.issues.map(e=>R(e,n,A()))},input:e.value}),e.issues=[]),e)}}),ka=O(`$ZodPipe`,(e,t)=>{V.init(e,t),j(e._zod,`values`,()=>t.in._zod.values),j(e._zod,`optin`,()=>t.in._zod.optin),j(e._zod,`optout`,()=>t.out._zod.optout),j(e._zod,`propValues`,()=>t.in._zod.propValues),e._zod.parse=(e,n)=>{if(n.direction===`backward`){let r=t.out._zod.run(e,n);return r instanceof Promise?r.then(e=>Aa(e,t.in,n)):Aa(r,t.in,n)}let r=t.in._zod.run(e,n);return r instanceof Promise?r.then(e=>Aa(e,t.out,n)):Aa(r,t.out,n)}});function Aa(e,t,n){return e.issues.length?(e.aborted=!0,e):t._zod.run({value:e.value,issues:e.issues},n)}var ja=O(`$ZodReadonly`,(e,t)=>{V.init(e,t),j(e._zod,`propValues`,()=>t.innerType._zod.propValues),j(e._zod,`values`,()=>t.innerType._zod.values),j(e._zod,`optin`,()=>t.innerType?._zod?.optin),j(e._zod,`optout`,()=>t.innerType?._zod?.optout),e._zod.parse=(e,n)=>{if(n.direction===`backward`)return t.innerType._zod.run(e,n);let r=t.innerType._zod.run(e,n);return r instanceof Promise?r.then(Ma):Ma(r)}});function Ma(e){return e.value=Object.freeze(e.value),e}var Na=O(`$ZodCustom`,(e,t)=>{B.init(e,t),V.init(e,t),e._zod.parse=(e,t)=>e,e._zod.check=n=>{let r=n.value,i=t.fn(r);if(i instanceof Promise)return i.then(t=>Pa(t,n,r,e));Pa(i,n,r,e)}});function Pa(e,t,n,r){if(!e){let e={code:`custom`,input:n,inst:r,path:[...r._zod.def.path??[]],continue:!r._zod.def.abort};r._zod.def.params&&(e.params=r._zod.def.params),t.issues.push(z(e))}}var Fa,Ia=class{constructor(){this._map=new WeakMap,this._idmap=new Map}add(e,...t){let n=t[0];return this._map.set(e,n),n&&typeof n==`object`&&`id`in n&&this._idmap.set(n.id,e),this}clear(){return this._map=new WeakMap,this._idmap=new Map,this}remove(e){let t=this._map.get(e);return t&&typeof t==`object`&&`id`in t&&this._idmap.delete(t.id),this._map.delete(e),this}get(e){let t=e._zod.parent;if(t){let n={...this.get(t)??{}};delete n.id;let r={...n,...this._map.get(e)};return Object.keys(r).length?r:void 0}return this._map.get(e)}has(e){return this._map.has(e)}};function La(){return new Ia}(Fa=globalThis).__zod_globalRegistry??(Fa.__zod_globalRegistry=La());var U=globalThis.__zod_globalRegistry;function Ra(e,t){return new e({type:`string`,...I(t)})}function za(e,t){return new e({type:`string`,format:`email`,check:`string_format`,abort:!1,...I(t)})}function Ba(e,t){return new e({type:`string`,format:`guid`,check:`string_format`,abort:!1,...I(t)})}function Va(e,t){return new e({type:`string`,format:`uuid`,check:`string_format`,abort:!1,...I(t)})}function Ha(e,t){return new e({type:`string`,format:`uuid`,check:`string_format`,abort:!1,version:`v4`,...I(t)})}function Ua(e,t){return new e({type:`string`,format:`uuid`,check:`string_format`,abort:!1,version:`v6`,...I(t)})}function Wa(e,t){return new e({type:`string`,format:`uuid`,check:`string_format`,abort:!1,version:`v7`,...I(t)})}function Ga(e,t){return new e({type:`string`,format:`url`,check:`string_format`,abort:!1,...I(t)})}function Ka(e,t){return new e({type:`string`,format:`emoji`,check:`string_format`,abort:!1,...I(t)})}function qa(e,t){return new e({type:`string`,format:`nanoid`,check:`string_format`,abort:!1,...I(t)})}function Ja(e,t){return new e({type:`string`,format:`cuid`,check:`string_format`,abort:!1,...I(t)})}function Ya(e,t){return new e({type:`string`,format:`cuid2`,check:`string_format`,abort:!1,...I(t)})}function Xa(e,t){return new e({type:`string`,format:`ulid`,check:`string_format`,abort:!1,...I(t)})}function Za(e,t){return new e({type:`string`,format:`xid`,check:`string_format`,abort:!1,...I(t)})}function Qa(e,t){return new e({type:`string`,format:`ksuid`,check:`string_format`,abort:!1,...I(t)})}function $a(e,t){return new e({type:`string`,format:`ipv4`,check:`string_format`,abort:!1,...I(t)})}function eo(e,t){return new e({type:`string`,format:`ipv6`,check:`string_format`,abort:!1,...I(t)})}function to(e,t){return new e({type:`string`,format:`cidrv4`,check:`string_format`,abort:!1,...I(t)})}function no(e,t){return new e({type:`string`,format:`cidrv6`,check:`string_format`,abort:!1,...I(t)})}function ro(e,t){return new e({type:`string`,format:`base64`,check:`string_format`,abort:!1,...I(t)})}function io(e,t){return new e({type:`string`,format:`base64url`,check:`string_format`,abort:!1,...I(t)})}function ao(e,t){return new e({type:`string`,format:`e164`,check:`string_format`,abort:!1,...I(t)})}function oo(e,t){return new e({type:`string`,format:`jwt`,check:`string_format`,abort:!1,...I(t)})}function so(e,t){return new e({type:`string`,format:`datetime`,check:`string_format`,offset:!1,local:!1,precision:null,...I(t)})}function co(e,t){return new e({type:`string`,format:`date`,check:`string_format`,...I(t)})}function lo(e,t){return new e({type:`string`,format:`time`,check:`string_format`,precision:null,...I(t)})}function uo(e,t){return new e({type:`string`,format:`duration`,check:`string_format`,...I(t)})}function fo(e,t){return new e({type:`number`,checks:[],...I(t)})}function po(e,t){return new e({type:`number`,check:`number_format`,abort:!1,format:`safeint`,...I(t)})}function mo(e){return new e({type:`unknown`})}function ho(e,t){return new e({type:`never`,...I(t)})}function go(e,t){return new di({check:`less_than`,...I(t),value:e,inclusive:!1})}function _o(e,t){return new di({check:`less_than`,...I(t),value:e,inclusive:!0})}function vo(e,t){return new fi({check:`greater_than`,...I(t),value:e,inclusive:!1})}function yo(e,t){return new fi({check:`greater_than`,...I(t),value:e,inclusive:!0})}function bo(e,t){return new pi({check:`multiple_of`,...I(t),value:e})}function xo(e,t){return new hi({check:`max_length`,...I(t),maximum:e})}function So(e,t){return new gi({check:`min_length`,...I(t),minimum:e})}function Co(e,t){return new _i({check:`length_equals`,...I(t),length:e})}function wo(e,t){return new yi({check:`string_format`,format:`regex`,...I(t),pattern:e})}function To(e){return new bi({check:`string_format`,format:`lowercase`,...I(e)})}function Eo(e){return new xi({check:`string_format`,format:`uppercase`,...I(e)})}function Do(e,t){return new Si({check:`string_format`,format:`includes`,...I(t),includes:e})}function Oo(e,t){return new Ci({check:`string_format`,format:`starts_with`,...I(t),prefix:e})}function ko(e,t){return new wi({check:`string_format`,format:`ends_with`,...I(t),suffix:e})}function W(e){return new Ti({check:`overwrite`,tx:e})}function Ao(e){return W(t=>t.normalize(e))}function jo(){return W(e=>e.trim())}function Mo(){return W(e=>e.toLowerCase())}function No(){return W(e=>e.toUpperCase())}function Po(){return W(e=>Zn(e))}function Fo(e,t,n){return new e({type:`array`,element:t,...I(n)})}function Io(e,t,n){return new e({type:`custom`,check:`custom`,fn:t,...I(n)})}function Lo(e){let t=Ro(n=>(n.addIssue=e=>{if(typeof e==`string`)n.issues.push(z(e,n.value,t._zod.def));else{let r=e;r.fatal&&(r.continue=!1),r.code??=`custom`,r.input??=n.value,r.inst??=t,r.continue??=!t._zod.def.abort,n.issues.push(z(r))}},e(n.value,n)));return t}function Ro(e,t){let n=new B({check:`custom`,...I(t)});return n._zod.check=e,n}function zo(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??U,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 G(e,t,n={path:[],schemaPath:[]}){var r;let i=e._zod.def,a=t.seen.get(e);if(a)return a.count++,n.schemaPath.includes(e)&&(a.cycle=n.path),a.schema;let o={schema:{},count:1,cycle:void 0,path:n.path};t.seen.set(e,o);let s=e._zod.toJSONSchema?.();if(s)o.schema=s;else{let r={...n,schemaPath:[...n.schemaPath,e],path:n.path};if(e._zod.processJSONSchema)e._zod.processJSONSchema(t,o.schema,r);else{let n=o.schema,a=t.processors[i.type];if(!a)throw Error(`[toJSONSchema]: Non-representable type encountered: ${i.type}`);a(e,t,n,r)}let a=e._zod.parent;a&&(o.ref||=a,G(a,t,r),t.seen.get(a).isParent=!0)}let c=t.metadataRegistry.get(e);return c&&Object.assign(o.schema,c),t.io===`input`&&K(e)&&(delete o.schema.examples,delete o.schema.default),t.io===`input`&&o.schema._prefault&&((r=o.schema).default??(r.default=o.schema._prefault)),delete o.schema._prefault,t.seen.get(e).schema}function Bo(e,t){let n=e.seen.get(t);if(!n)throw Error(`Unprocessed schema. This is a bug in Zod.`);let r=new Map;for(let t of e.seen.entries()){let n=e.metadataRegistry.get(t[0])?.id;if(n){let e=r.get(n);if(e&&e!==t[0])throw Error(`Duplicate schema id "${n}" detected during JSON Schema conversion. Two different schemas cannot share the same id when converted together.`);r.set(n,t[0])}}let i=t=>{let r=e.target===`draft-2020-12`?`$defs`:`definitions`;if(e.external){let n=e.external.registry.get(t[0])?.id,i=e.external.uri??(e=>e);if(n)return{ref:i(n)};let a=t[1].defId??t[1].schema.id??`schema${e.counter++}`;return t[1].defId=a,{defId:a,ref:`${i(`__shared`)}#/${r}/${a}`}}if(t[1]===n)return{ref:`#`};let i=`#/${r}/`,a=t[1].schema.id??`__schema${e.counter++}`;return{defId:a,ref:i+a}},a=e=>{if(e[1].schema.$ref)return;let t=e[1],{ref:n,defId:r}=i(e);t.def={...t.schema},r&&(t.defId=r);let a=t.schema;for(let e in a)delete a[e];a.$ref=n};if(e.cycles===`throw`)for(let t of e.seen.entries()){let e=t[1];if(e.cycle)throw Error(`Cycle detected: #/${e.cycle?.join(`/`)}/<root>
|
|
84
|
+
`)}m.write("payload.value = newResult;"),m.write("return payload;");const re=m.compile();return(v,w)=>re(p,v,w)};let i;const a=fe,s=!Re.jitless,u=s&&Jo.value,f=t.catchall;let g;e._zod.parse=(p,m)=>{g??(g=n.value);const h=p.value;return a(h)?s&&u&&m?.async===!1&&m.jitless!==!0?(i||(i=o(t.shape)),p=i(p,m),f?nr([],h,p,m,g,e):p):r(p,m):(p.issues.push({expected:"object",code:"invalid_type",input:h,inst:e}),p)}});function or(e,t,r,n){for(const i of e)if(i.issues.length===0)return t.value=i.value,t;const o=e.filter(i=>!ee(i));return o.length===1?(t.value=o[0].value,o[0]):(t.issues.push({code:"invalid_union",input:t.value,inst:r,errors:e.map(i=>i.issues.map(a=>Y(a,n,H())))}),t)}var ka=l("$ZodUnion",(e,t)=>{z.init(e,t),k(e._zod,"optin",()=>t.options.some(o=>o._zod.optin==="optional")?"optional":void 0),k(e._zod,"optout",()=>t.options.some(o=>o._zod.optout==="optional")?"optional":void 0),k(e._zod,"values",()=>{if(t.options.every(o=>o._zod.values))return new Set(t.options.flatMap(o=>Array.from(o._zod.values)))}),k(e._zod,"pattern",()=>{if(t.options.every(o=>o._zod.pattern)){const o=t.options.map(i=>i._zod.pattern);return new RegExp(`^(${o.map(i=>je(i.source)).join("|")})$`)}});const r=t.options.length===1,n=t.options[0]._zod.run;e._zod.parse=(o,i)=>{if(r)return n(o,i);let a=!1;const s=[];for(const c of t.options){const u=c._zod.run({value:o.value,issues:[]},i);if(u instanceof Promise)s.push(u),a=!0;else{if(u.issues.length===0)return u;s.push(u)}}return a?Promise.all(s).then(c=>or(c,o,e,i)):or(s,o,e,i)}}),Sa=l("$ZodIntersection",(e,t)=>{z.init(e,t),e._zod.parse=(r,n)=>{const o=r.value,i=t.left._zod.run({value:o,issues:[]},n),a=t.right._zod.run({value:o,issues:[]},n);return i instanceof Promise||a instanceof Promise?Promise.all([i,a]).then(([s,c])=>ir(r,s,c)):ir(r,i,a)}});function Fe(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(ae(e)&&ae(t)){const r=Object.keys(t),n=Object.keys(e).filter(i=>r.indexOf(i)!==-1),o={...e,...t};for(const i of n){const a=Fe(e[i],t[i]);if(!a.valid)return{valid:!1,mergeErrorPath:[i,...a.mergeErrorPath]};o[i]=a.data}return{valid:!0,data:o}}if(Array.isArray(e)&&Array.isArray(t)){if(e.length!==t.length)return{valid:!1,mergeErrorPath:[]};const r=[];for(let n=0;n<e.length;n++){const o=e[n],i=t[n],a=Fe(o,i);if(!a.valid)return{valid:!1,mergeErrorPath:[n,...a.mergeErrorPath]};r.push(a.data)}return{valid:!0,data:r}}return{valid:!1,mergeErrorPath:[]}}function ir(e,t,r){const n=new Map;let o;for(const s of t.issues)if(s.code==="unrecognized_keys"){o??(o=s);for(const c of s.keys)n.has(c)||n.set(c,{}),n.get(c).l=!0}else e.issues.push(s);for(const s of r.issues)if(s.code==="unrecognized_keys")for(const c of s.keys)n.has(c)||n.set(c,{}),n.get(c).r=!0;else e.issues.push(s);const i=[...n].filter(([,s])=>s.l&&s.r).map(([s])=>s);if(i.length&&o&&e.issues.push({...o,keys:i}),ee(e))return e;const a=Fe(t.value,r.value);if(!a.valid)throw new Error(`Unmergable intersection. Error path: ${JSON.stringify(a.mergeErrorPath)}`);return e.value=a.data,e}var Ca=l("$ZodEnum",(e,t)=>{z.init(e,t);const r=It(t.entries),n=new Set(r);e._zod.values=n,e._zod.pattern=new RegExp(`^(${r.filter(o=>Bo.has(typeof o)).map(o=>typeof o=="string"?pe(o):o.toString()).join("|")})$`),e._zod.parse=(o,i)=>{const a=o.value;return n.has(a)||o.issues.push({code:"invalid_value",values:r,input:a,inst:e}),o}}),Ea=l("$ZodTransform",(e,t)=>{z.init(e,t),e._zod.parse=(r,n)=>{if(n.direction==="backward")throw new At(e.constructor.name);const o=t.transform(r.value,r);if(n.async)return(o instanceof Promise?o:Promise.resolve(o)).then(i=>(r.value=i,r));if(o instanceof Promise)throw new Q;return r.value=o,r}});function ar(e,t){return e.issues.length&&t===void 0?{issues:[],value:void 0}:e}var sr=l("$ZodOptional",(e,t)=>{z.init(e,t),e._zod.optin="optional",e._zod.optout="optional",k(e._zod,"values",()=>t.innerType._zod.values?new Set([...t.innerType._zod.values,void 0]):void 0),k(e._zod,"pattern",()=>{const r=t.innerType._zod.pattern;return r?new RegExp(`^(${je(r.source)})?$`):void 0}),e._zod.parse=(r,n)=>{if(t.innerType._zod.optin==="optional"){const o=t.innerType._zod.run(r,n);return o instanceof Promise?o.then(i=>ar(i,r.value)):ar(o,r.value)}return r.value===void 0?r:t.innerType._zod.run(r,n)}}),za=l("$ZodExactOptional",(e,t)=>{sr.init(e,t),k(e._zod,"values",()=>t.innerType._zod.values),k(e._zod,"pattern",()=>t.innerType._zod.pattern),e._zod.parse=(r,n)=>t.innerType._zod.run(r,n)}),Ta=l("$ZodNullable",(e,t)=>{z.init(e,t),k(e._zod,"optin",()=>t.innerType._zod.optin),k(e._zod,"optout",()=>t.innerType._zod.optout),k(e._zod,"pattern",()=>{const r=t.innerType._zod.pattern;return r?new RegExp(`^(${je(r.source)}|null)$`):void 0}),k(e._zod,"values",()=>t.innerType._zod.values?new Set([...t.innerType._zod.values,null]):void 0),e._zod.parse=(r,n)=>r.value===null?r:t.innerType._zod.run(r,n)}),$a=l("$ZodDefault",(e,t)=>{z.init(e,t),e._zod.optin="optional",k(e._zod,"values",()=>t.innerType._zod.values),e._zod.parse=(r,n)=>{if(n.direction==="backward")return t.innerType._zod.run(r,n);if(r.value===void 0)return r.value=t.defaultValue,r;const o=t.innerType._zod.run(r,n);return o instanceof Promise?o.then(i=>cr(i,t)):cr(o,t)}});function cr(e,t){return e.value===void 0&&(e.value=t.defaultValue),e}var Aa=l("$ZodPrefault",(e,t)=>{z.init(e,t),e._zod.optin="optional",k(e._zod,"values",()=>t.innerType._zod.values),e._zod.parse=(r,n)=>(n.direction==="backward"||r.value===void 0&&(r.value=t.defaultValue),t.innerType._zod.run(r,n))}),Ia=l("$ZodNonOptional",(e,t)=>{z.init(e,t),k(e._zod,"values",()=>{const r=t.innerType._zod.values;return r?new Set([...r].filter(n=>n!==void 0)):void 0}),e._zod.parse=(r,n)=>{const o=t.innerType._zod.run(r,n);return o instanceof Promise?o.then(i=>ur(i,e)):ur(o,e)}});function ur(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 Pa=l("$ZodCatch",(e,t)=>{z.init(e,t),k(e._zod,"optin",()=>t.innerType._zod.optin),k(e._zod,"optout",()=>t.innerType._zod.optout),k(e._zod,"values",()=>t.innerType._zod.values),e._zod.parse=(r,n)=>{if(n.direction==="backward")return t.innerType._zod.run(r,n);const o=t.innerType._zod.run(r,n);return o instanceof Promise?o.then(i=>(r.value=i.value,i.issues.length&&(r.value=t.catchValue({...r,error:{issues:i.issues.map(a=>Y(a,n,H()))},input:r.value}),r.issues=[]),r)):(r.value=o.value,o.issues.length&&(r.value=t.catchValue({...r,error:{issues:o.issues.map(i=>Y(i,n,H()))},input:r.value}),r.issues=[]),r)}}),Oa=l("$ZodPipe",(e,t)=>{z.init(e,t),k(e._zod,"values",()=>t.in._zod.values),k(e._zod,"optin",()=>t.in._zod.optin),k(e._zod,"optout",()=>t.out._zod.optout),k(e._zod,"propValues",()=>t.in._zod.propValues),e._zod.parse=(r,n)=>{if(n.direction==="backward"){const i=t.out._zod.run(r,n);return i instanceof Promise?i.then(a=>we(a,t.in,n)):we(i,t.in,n)}const o=t.in._zod.run(r,n);return o instanceof Promise?o.then(i=>we(i,t.out,n)):we(o,t.out,n)}});function we(e,t,r){return e.issues.length?(e.aborted=!0,e):t._zod.run({value:e.value,issues:e.issues},r)}var Na=l("$ZodReadonly",(e,t)=>{z.init(e,t),k(e._zod,"propValues",()=>t.innerType._zod.propValues),k(e._zod,"values",()=>t.innerType._zod.values),k(e._zod,"optin",()=>t.innerType?._zod?.optin),k(e._zod,"optout",()=>t.innerType?._zod?.optout),e._zod.parse=(r,n)=>{if(n.direction==="backward")return t.innerType._zod.run(r,n);const o=t.innerType._zod.run(r,n);return o instanceof Promise?o.then(dr):dr(o)}});function dr(e){return e.value=Object.freeze(e.value),e}var Za=l("$ZodCustom",(e,t)=>{I.init(e,t),z.init(e,t),e._zod.parse=(r,n)=>r,e._zod.check=r=>{const n=r.value,o=t.fn(n);if(o instanceof Promise)return o.then(i=>lr(i,r,n,e));lr(o,r,n,e)}});function lr(e,t,r,n){if(!e){const o={code:"custom",input:r,inst:n,path:[...n._zod.def.path??[]],continue:!n._zod.def.abort};n._zod.def.params&&(o.params=n._zod.def.params),t.issues.push(se(o))}}var fr,Ra=class{constructor(){this._map=new WeakMap,this._idmap=new Map}add(e,...t){const r=t[0];return this._map.set(e,r),r&&typeof r=="object"&&"id"in r&&this._idmap.set(r.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 r={...this.get(t)??{}};delete r.id;const n={...r,...this._map.get(e)};return Object.keys(n).length?n:void 0}return this._map.get(e)}has(e){return this._map.has(e)}};function xa(){return new Ra}(fr=globalThis).__zod_globalRegistry??(fr.__zod_globalRegistry=xa());var j=globalThis.__zod_globalRegistry;function La(e,t){return new e({type:"string",..._(t)})}function Da(e,t){return new e({type:"string",format:"email",check:"string_format",abort:!1,..._(t)})}function pr(e,t){return new e({type:"string",format:"guid",check:"string_format",abort:!1,..._(t)})}function ja(e,t){return new e({type:"string",format:"uuid",check:"string_format",abort:!1,..._(t)})}function Ua(e,t){return new e({type:"string",format:"uuid",check:"string_format",abort:!1,version:"v4",..._(t)})}function Ma(e,t){return new e({type:"string",format:"uuid",check:"string_format",abort:!1,version:"v6",..._(t)})}function Fa(e,t){return new e({type:"string",format:"uuid",check:"string_format",abort:!1,version:"v7",..._(t)})}function qa(e,t){return new e({type:"string",format:"url",check:"string_format",abort:!1,..._(t)})}function Ga(e,t){return new e({type:"string",format:"emoji",check:"string_format",abort:!1,..._(t)})}function Ja(e,t){return new e({type:"string",format:"nanoid",check:"string_format",abort:!1,..._(t)})}function Ba(e,t){return new e({type:"string",format:"cuid",check:"string_format",abort:!1,..._(t)})}function Va(e,t){return new e({type:"string",format:"cuid2",check:"string_format",abort:!1,..._(t)})}function Wa(e,t){return new e({type:"string",format:"ulid",check:"string_format",abort:!1,..._(t)})}function Ha(e,t){return new e({type:"string",format:"xid",check:"string_format",abort:!1,..._(t)})}function Ka(e,t){return new e({type:"string",format:"ksuid",check:"string_format",abort:!1,..._(t)})}function Ya(e,t){return new e({type:"string",format:"ipv4",check:"string_format",abort:!1,..._(t)})}function Xa(e,t){return new e({type:"string",format:"ipv6",check:"string_format",abort:!1,..._(t)})}function Qa(e,t){return new e({type:"string",format:"cidrv4",check:"string_format",abort:!1,..._(t)})}function es(e,t){return new e({type:"string",format:"cidrv6",check:"string_format",abort:!1,..._(t)})}function ts(e,t){return new e({type:"string",format:"base64",check:"string_format",abort:!1,..._(t)})}function rs(e,t){return new e({type:"string",format:"base64url",check:"string_format",abort:!1,..._(t)})}function ns(e,t){return new e({type:"string",format:"e164",check:"string_format",abort:!1,..._(t)})}function os(e,t){return new e({type:"string",format:"jwt",check:"string_format",abort:!1,..._(t)})}function is(e,t){return new e({type:"string",format:"datetime",check:"string_format",offset:!1,local:!1,precision:null,..._(t)})}function as(e,t){return new e({type:"string",format:"date",check:"string_format",..._(t)})}function ss(e,t){return new e({type:"string",format:"time",check:"string_format",precision:null,..._(t)})}function cs(e,t){return new e({type:"string",format:"duration",check:"string_format",..._(t)})}function us(e,t){return new e({type:"number",checks:[],..._(t)})}function ds(e,t){return new e({type:"number",check:"number_format",abort:!1,format:"safeint",..._(t)})}function ls(e){return new e({type:"unknown"})}function fs(e,t){return new e({type:"never",..._(t)})}function gr(e,t){return new Yt({check:"less_than",..._(t),value:e,inclusive:!1})}function qe(e,t){return new Yt({check:"less_than",..._(t),value:e,inclusive:!0})}function mr(e,t){return new Xt({check:"greater_than",..._(t),value:e,inclusive:!1})}function Ge(e,t){return new Xt({check:"greater_than",..._(t),value:e,inclusive:!0})}function hr(e,t){return new Pi({check:"multiple_of",..._(t),value:e})}function _r(e,t){return new Ni({check:"max_length",..._(t),maximum:e})}function ke(e,t){return new Zi({check:"min_length",..._(t),minimum:e})}function yr(e,t){return new Ri({check:"length_equals",..._(t),length:e})}function ps(e,t){return new xi({check:"string_format",format:"regex",..._(t),pattern:e})}function gs(e){return new Li({check:"string_format",format:"lowercase",..._(e)})}function ms(e){return new Di({check:"string_format",format:"uppercase",..._(e)})}function hs(e,t){return new ji({check:"string_format",format:"includes",..._(t),includes:e})}function _s(e,t){return new Ui({check:"string_format",format:"starts_with",..._(t),prefix:e})}function ys(e,t){return new Mi({check:"string_format",format:"ends_with",..._(t),suffix:e})}function te(e){return new Fi({check:"overwrite",tx:e})}function vs(e){return te(t=>t.normalize(e))}function bs(){return te(e=>e.trim())}function ws(){return te(e=>e.toLowerCase())}function ks(){return te(e=>e.toUpperCase())}function Ss(){return te(e=>Go(e))}function Cs(e,t,r){return new e({type:"array",element:t,..._(r)})}function Es(e,t,r){return new e({type:"custom",check:"custom",fn:t,..._(r)})}function zs(e){const t=Ts(r=>(r.addIssue=n=>{if(typeof n=="string")r.issues.push(se(n,r.value,t._zod.def));else{const o=n;o.fatal&&(o.continue=!1),o.code??(o.code="custom"),o.input??(o.input=r.value),o.inst??(o.inst=t),o.continue??(o.continue=!t._zod.def.abort),r.issues.push(se(o))}},e(r.value,r)));return t}function Ts(e,t){const r=new I({check:"custom",..._(t)});return r._zod.check=e,r}function $s(e){const t=new I({check:"describe"});return t._zod.onattach=[r=>{const n=j.get(r)??{};j.add(r,{...n,description:e})}],t._zod.check=()=>{},t}function As(e){const t=new I({check:"meta"});return t._zod.onattach=[r=>{const n=j.get(r)??{};j.add(r,{...n,...e})}],t._zod.check=()=>{},t}function vr(e){let t=e?.target??"draft-2020-12";return t==="draft-4"&&(t="draft-04"),t==="draft-7"&&(t="draft-07"),{processors:e.processors??{},metadataRegistry:e?.metadata??j,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 A(e,t,r={path:[],schemaPath:[]}){var n;const o=e._zod.def,i=t.seen.get(e);if(i)return i.count++,r.schemaPath.includes(e)&&(i.cycle=r.path),i.schema;const a={schema:{},count:1,cycle:void 0,path:r.path};t.seen.set(e,a);const s=e._zod.toJSONSchema?.();if(s)a.schema=s;else{const u={...r,schemaPath:[...r.schemaPath,e],path:r.path};if(e._zod.processJSONSchema)e._zod.processJSONSchema(t,a.schema,u);else{const g=a.schema,p=t.processors[o.type];if(!p)throw new Error(`[toJSONSchema]: Non-representable type encountered: ${o.type}`);p(e,t,g,u)}const f=e._zod.parent;f&&(a.ref||(a.ref=f),A(f,t,u),t.seen.get(f).isParent=!0)}const c=t.metadataRegistry.get(e);return c&&Object.assign(a.schema,c),t.io==="input"&&P(e)&&(delete a.schema.examples,delete a.schema.default),t.io==="input"&&a.schema._prefault&&((n=a.schema).default??(n.default=a.schema._prefault)),delete a.schema._prefault,t.seen.get(e).schema}function br(e,t){const r=e.seen.get(t);if(!r)throw new Error("Unprocessed schema. This is a bug in Zod.");const n=new Map;for(const a of e.seen.entries()){const s=e.metadataRegistry.get(a[0])?.id;if(s){const c=n.get(s);if(c&&c!==a[0])throw new Error(`Duplicate schema id "${s}" detected during JSON Schema conversion. Two different schemas cannot share the same id when converted together.`);n.set(s,a[0])}}const o=a=>{const s=e.target==="draft-2020-12"?"$defs":"definitions";if(e.external){const f=e.external.registry.get(a[0])?.id,g=e.external.uri??(m=>m);if(f)return{ref:g(f)};const p=a[1].defId??a[1].schema.id??`schema${e.counter++}`;return a[1].defId=p,{defId:p,ref:`${g("__shared")}#/${s}/${p}`}}if(a[1]===r)return{ref:"#"};const c=`#/${s}/`,u=a[1].schema.id??`__schema${e.counter++}`;return{defId:u,ref:c+u}},i=a=>{if(a[1].schema.$ref)return;const s=a[1],{ref:c,defId:u}=o(a);s.def={...s.schema},u&&(s.defId=u);const f=s.schema;for(const g in f)delete f[g];f.$ref=c};if(e.cycles==="throw")for(const a of e.seen.entries()){const s=a[1];if(s.cycle)throw new Error(`Cycle detected: #/${s.cycle?.join("/")}/<root>
|
|
85
85
|
|
|
86
|
-
Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.`)}for(let n of e.seen.entries()){let r=n[1];if(t===n[0]){a(n);continue}if(e.external){let r=e.external.registry.get(n[0])?.id;if(t!==n[0]&&r){a(n);continue}}if(e.metadataRegistry.get(n[0])?.id){a(n);continue}if(r.cycle){a(n);continue}if(r.count>1&&e.reused===`ref`){a(n);continue}}}function Vo(e,t){let n=e.seen.get(t);if(!n)throw Error(`Unprocessed schema. This is a bug in Zod.`);let r=t=>{let n=e.seen.get(t);if(n.ref===null)return;let i=n.def??n.schema,a={...i},o=n.ref;if(n.ref=null,o){r(o);let n=e.seen.get(o),s=n.schema;if(s.$ref&&(e.target===`draft-07`||e.target===`draft-04`||e.target===`openapi-3.0`)?(i.allOf=i.allOf??[],i.allOf.push(s)):Object.assign(i,s),Object.assign(i,a),t._zod.parent===o)for(let e in i)e===`$ref`||e===`allOf`||e in a||delete i[e];if(s.$ref&&n.def)for(let e in i)e===`$ref`||e===`allOf`||e in n.def&&JSON.stringify(i[e])===JSON.stringify(n.def[e])&&delete i[e]}let s=t._zod.parent;if(s&&s!==o){r(s);let t=e.seen.get(s);if(t?.schema.$ref&&(i.$ref=t.schema.$ref,t.def))for(let e in i)e===`$ref`||e===`allOf`||e in t.def&&JSON.stringify(i[e])===JSON.stringify(t.def[e])&&delete i[e]}e.override({zodSchema:t,jsonSchema:i,path:n.path??[]})};for(let t of[...e.seen.entries()].reverse())r(t[0]);let i={};if(e.target===`draft-2020-12`?i.$schema=`https://json-schema.org/draft/2020-12/schema`:e.target===`draft-07`?i.$schema=`http://json-schema.org/draft-07/schema#`:e.target===`draft-04`?i.$schema=`http://json-schema.org/draft-04/schema#`:e.target,e.external?.uri){let n=e.external.registry.get(t)?.id;if(!n)throw Error("Schema is missing an `id` property");i.$id=e.external.uri(n)}Object.assign(i,n.def??n.schema);let a=e.external?.defs??{};for(let t of e.seen.entries()){let e=t[1];e.def&&e.defId&&(a[e.defId]=e.def)}e.external||Object.keys(a).length>0&&(e.target===`draft-2020-12`?i.$defs=a:i.definitions=a);try{let n=JSON.parse(JSON.stringify(i));return Object.defineProperty(n,`~standard`,{value:{...t[`~standard`],jsonSchema:{input:Uo(t,`input`,e.processors),output:Uo(t,`output`,e.processors)}},enumerable:!1,writable:!1}),n}catch{throw Error(`Error converting schema to JSON.`)}}function K(e,t){let n=t??{seen:new Set};if(n.seen.has(e))return!1;n.seen.add(e);let r=e._zod.def;if(r.type===`transform`)return!0;if(r.type===`array`)return K(r.element,n);if(r.type===`set`)return K(r.valueType,n);if(r.type===`lazy`)return K(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 K(r.innerType,n);if(r.type===`intersection`)return K(r.left,n)||K(r.right,n);if(r.type===`record`||r.type===`map`)return K(r.keyType,n)||K(r.valueType,n);if(r.type===`pipe`)return K(r.in,n)||K(r.out,n);if(r.type===`object`){for(let e in r.shape)if(K(r.shape[e],n))return!0;return!1}if(r.type===`union`){for(let e of r.options)if(K(e,n))return!0;return!1}if(r.type===`tuple`){for(let e of r.items)if(K(e,n))return!0;return!!(r.rest&&K(r.rest,n))}return!1}var Ho=(e,t={})=>n=>{let r=zo({...n,processors:t});return G(e,r),Bo(r,e),Vo(r,e)},Uo=(e,t,n={})=>r=>{let{libraryOptions:i,target:a}=r??{},o=zo({...i??{},target:a,io:t,processors:n});return G(e,o),Bo(o,e),Vo(o,e)},Wo={guid:`uuid`,url:`uri`,datetime:`date-time`,json_string:`json-string`,regex:``},Go=(e,t,n,r)=>{let i=n;i.type=`string`;let{minimum:a,maximum:o,format:s,patterns:c,contentEncoding:l}=e._zod.bag;if(typeof a==`number`&&(i.minLength=a),typeof o==`number`&&(i.maxLength=o),s&&(i.format=Wo[s]??s,i.format===``&&delete i.format,s===`time`&&delete i.format),l&&(i.contentEncoding=l),c&&c.size>0){let e=[...c];e.length===1?i.pattern=e[0].source:e.length>1&&(i.allOf=[...e.map(e=>({...t.target===`draft-07`||t.target===`draft-04`||t.target===`openapi-3.0`?{type:`string`}:{},pattern:e.source}))])}},Ko=(e,t,n,r)=>{let i=n,{minimum:a,maximum:o,format:s,multipleOf:c,exclusiveMaximum:l,exclusiveMinimum:u}=e._zod.bag;typeof s==`string`&&s.includes(`int`)?i.type=`integer`:i.type=`number`,typeof u==`number`&&(t.target===`draft-04`||t.target===`openapi-3.0`?(i.minimum=u,i.exclusiveMinimum=!0):i.exclusiveMinimum=u),typeof a==`number`&&(i.minimum=a,typeof u==`number`&&t.target!==`draft-04`&&(u>=a?delete i.minimum:delete i.exclusiveMinimum)),typeof l==`number`&&(t.target===`draft-04`||t.target===`openapi-3.0`?(i.maximum=l,i.exclusiveMaximum=!0):i.exclusiveMaximum=l),typeof o==`number`&&(i.maximum=o,typeof l==`number`&&t.target!==`draft-04`&&(l<=o?delete i.maximum:delete i.exclusiveMaximum)),typeof c==`number`&&(i.multipleOf=c)},qo=(e,t,n,r)=>{n.not={}},Jo=(e,t,n,r)=>{let i=e._zod.def,a=Un(i.entries);a.every(e=>typeof e==`number`)&&(n.type=`number`),a.every(e=>typeof e==`string`)&&(n.type=`string`),n.enum=a},Yo=(e,t,n,r)=>{if(t.unrepresentable===`throw`)throw Error(`Custom types cannot be represented in JSON Schema`)},Xo=(e,t,n,r)=>{if(t.unrepresentable===`throw`)throw Error(`Transforms cannot be represented in JSON Schema`)},Zo=(e,t,n,r)=>{let i=n,a=e._zod.def,{minimum:o,maximum:s}=e._zod.bag;typeof o==`number`&&(i.minItems=o),typeof s==`number`&&(i.maxItems=s),i.type=`array`,i.items=G(a.element,t,{...r,path:[...r.path,`items`]})},Qo=(e,t,n,r)=>{let i=n,a=e._zod.def;i.type=`object`,i.properties={};let o=a.shape;for(let e in o)i.properties[e]=G(o[e],t,{...r,path:[...r.path,`properties`,e]});let s=new Set(Object.keys(o)),c=new Set([...s].filter(e=>{let n=a.shape[e]._zod;return t.io===`input`?n.optin===void 0:n.optout===void 0}));c.size>0&&(i.required=Array.from(c)),a.catchall?._zod.def.type===`never`?i.additionalProperties=!1:a.catchall?a.catchall&&(i.additionalProperties=G(a.catchall,t,{...r,path:[...r.path,`additionalProperties`]})):t.io===`output`&&(i.additionalProperties=!1)},$o=(e,t,n,r)=>{let i=e._zod.def,a=i.inclusive===!1,o=i.options.map((e,n)=>G(e,t,{...r,path:[...r.path,a?`oneOf`:`anyOf`,n]}));a?n.oneOf=o:n.anyOf=o},es=(e,t,n,r)=>{let i=e._zod.def,a=G(i.left,t,{...r,path:[...r.path,`allOf`,0]}),o=G(i.right,t,{...r,path:[...r.path,`allOf`,1]}),s=e=>`allOf`in e&&Object.keys(e).length===1;n.allOf=[...s(a)?a.allOf:[a],...s(o)?o.allOf:[o]]},ts=(e,t,n,r)=>{let i=e._zod.def,a=G(i.innerType,t,r),o=t.seen.get(e);t.target===`openapi-3.0`?(o.ref=i.innerType,n.nullable=!0):n.anyOf=[a,{type:`null`}]},ns=(e,t,n,r)=>{let i=e._zod.def;G(i.innerType,t,r);let a=t.seen.get(e);a.ref=i.innerType},rs=(e,t,n,r)=>{let i=e._zod.def;G(i.innerType,t,r);let a=t.seen.get(e);a.ref=i.innerType,n.default=JSON.parse(JSON.stringify(i.defaultValue))},is=(e,t,n,r)=>{let i=e._zod.def;G(i.innerType,t,r);let a=t.seen.get(e);a.ref=i.innerType,t.io===`input`&&(n._prefault=JSON.parse(JSON.stringify(i.defaultValue)))},as=(e,t,n,r)=>{let i=e._zod.def;G(i.innerType,t,r);let a=t.seen.get(e);a.ref=i.innerType;let o;try{o=i.catchValue(void 0)}catch{throw Error(`Dynamic catch values are not supported in JSON Schema`)}n.default=o},os=(e,t,n,r)=>{let i=e._zod.def,a=t.io===`input`?i.in._zod.def.type===`transform`?i.out:i.in:i.out;G(a,t,r);let o=t.seen.get(e);o.ref=a},ss=(e,t,n,r)=>{let i=e._zod.def;G(i.innerType,t,r);let a=t.seen.get(e);a.ref=i.innerType,n.readOnly=!0},cs=(e,t,n,r)=>{let i=e._zod.def;G(i.innerType,t,r);let a=t.seen.get(e);a.ref=i.innerType},ls=O(`ZodISODateTime`,(e,t)=>{Bi.init(e,t),X.init(e,t)});function us(e){return so(ls,e)}var ds=O(`ZodISODate`,(e,t)=>{Vi.init(e,t),X.init(e,t)});function fs(e){return co(ds,e)}var ps=O(`ZodISOTime`,(e,t)=>{Hi.init(e,t),X.init(e,t)});function ms(e){return lo(ps,e)}var hs=O(`ZodISODuration`,(e,t)=>{Ui.init(e,t),X.init(e,t)});function gs(e){return uo(hs,e)}var _s=(e,t)=>{_r.init(e,t),e.name=`ZodError`,Object.defineProperties(e,{format:{value:t=>br(e,t)},flatten:{value:t=>yr(e,t)},addIssue:{value:t=>{e.issues.push(t),e.message=JSON.stringify(e.issues,Wn,2)}},addIssues:{value:t=>{e.issues.push(...t),e.message=JSON.stringify(e.issues,Wn,2)}},isEmpty:{get(){return e.issues.length===0}}})};O(`ZodError`,_s);var q=O(`ZodError`,_s,{Parent:Error}),vs=xr(q),ys=Sr(q),bs=Cr(q),xs=Tr(q),Ss=Dr(q),Cs=Or(q),ws=kr(q),Ts=Ar(q),Es=jr(q),Ds=Mr(q),Os=Nr(q),ks=Pr(q),J=O(`ZodType`,(e,t)=>(V.init(e,t),Object.assign(e[`~standard`],{jsonSchema:{input:Uo(e,`input`),output:Uo(e,`output`)}}),e.toJSONSchema=Ho(e,{}),e.def=t,e.type=t.type,Object.defineProperty(e,`_def`,{value:t}),e.check=(...n)=>e.clone(N(t,{checks:[...t.checks??[],...n.map(e=>typeof e==`function`?{_zod:{check:e,def:{check:`custom`},onattach:[]}}:e)]}),{parent:!0}),e.with=e.check,e.clone=(t,n)=>F(e,t,n),e.brand=()=>e,e.register=((t,n)=>(t.add(e,n),e)),e.parse=(t,n)=>vs(e,t,n,{callee:e.parse}),e.safeParse=(t,n)=>bs(e,t,n),e.parseAsync=async(t,n)=>ys(e,t,n,{callee:e.parseAsync}),e.safeParseAsync=async(t,n)=>xs(e,t,n),e.spa=e.safeParseAsync,e.encode=(t,n)=>Ss(e,t,n),e.decode=(t,n)=>Cs(e,t,n),e.encodeAsync=async(t,n)=>ws(e,t,n),e.decodeAsync=async(t,n)=>Ts(e,t,n),e.safeEncode=(t,n)=>Es(e,t,n),e.safeDecode=(t,n)=>Ds(e,t,n),e.safeEncodeAsync=async(t,n)=>Os(e,t,n),e.safeDecodeAsync=async(t,n)=>ks(e,t,n),e.refine=(t,n)=>e.check(Nc(t,n)),e.superRefine=t=>e.check(Pc(t)),e.overwrite=t=>e.check(W(t)),e.optional=()=>hc(e),e.exactOptional=()=>_c(e),e.nullable=()=>yc(e),e.nullish=()=>hc(yc(e)),e.nonoptional=t=>Tc(e,t),e.array=()=>ic(e),e.or=t=>sc([e,t]),e.and=t=>lc(e,t),e.transform=t=>kc(e,pc(t)),e.default=t=>xc(e,t),e.prefault=t=>Cc(e,t),e.catch=t=>Dc(e,t),e.pipe=t=>kc(e,t),e.readonly=()=>jc(e),e.describe=t=>{let n=e.clone();return U.add(n,{description:t}),n},Object.defineProperty(e,`description`,{get(){return U.get(e)?.description},configurable:!0}),e.meta=(...t)=>{if(t.length===0)return U.get(e);let n=e.clone();return U.add(n,t[0]),n},e.isOptional=()=>e.safeParse(void 0).success,e.isNullable=()=>e.safeParse(null).success,e.apply=t=>t(e),e)),As=O(`_ZodString`,(e,t)=>{Oi.init(e,t),J.init(e,t),e._zod.processJSONSchema=(t,n,r)=>Go(e,t,n,r);let n=e._zod.bag;e.format=n.format??null,e.minLength=n.minimum??null,e.maxLength=n.maximum??null,e.regex=(...t)=>e.check(wo(...t)),e.includes=(...t)=>e.check(Do(...t)),e.startsWith=(...t)=>e.check(Oo(...t)),e.endsWith=(...t)=>e.check(ko(...t)),e.min=(...t)=>e.check(So(...t)),e.max=(...t)=>e.check(xo(...t)),e.length=(...t)=>e.check(Co(...t)),e.nonempty=(...t)=>e.check(So(1,...t)),e.lowercase=t=>e.check(To(t)),e.uppercase=t=>e.check(Eo(t)),e.trim=()=>e.check(jo()),e.normalize=(...t)=>e.check(Ao(...t)),e.toLowerCase=()=>e.check(Mo()),e.toUpperCase=()=>e.check(No()),e.slugify=()=>e.check(Po())}),js=O(`ZodString`,(e,t)=>{Oi.init(e,t),As.init(e,t),e.email=t=>e.check(za(Ms,t)),e.url=t=>e.check(Ga(Ps,t)),e.jwt=t=>e.check(oo(Ys,t)),e.emoji=t=>e.check(Ka(Fs,t)),e.guid=t=>e.check(Ba(Ns,t)),e.uuid=t=>e.check(Va(Z,t)),e.uuidv4=t=>e.check(Ha(Z,t)),e.uuidv6=t=>e.check(Ua(Z,t)),e.uuidv7=t=>e.check(Wa(Z,t)),e.nanoid=t=>e.check(qa(Is,t)),e.guid=t=>e.check(Ba(Ns,t)),e.cuid=t=>e.check(Ja(Ls,t)),e.cuid2=t=>e.check(Ya(Rs,t)),e.ulid=t=>e.check(Xa(zs,t)),e.base64=t=>e.check(ro(Ks,t)),e.base64url=t=>e.check(io(qs,t)),e.xid=t=>e.check(Za(Bs,t)),e.ksuid=t=>e.check(Qa(Vs,t)),e.ipv4=t=>e.check($a(Hs,t)),e.ipv6=t=>e.check(eo(Us,t)),e.cidrv4=t=>e.check(to(Ws,t)),e.cidrv6=t=>e.check(no(Gs,t)),e.e164=t=>e.check(ao(Js,t)),e.datetime=t=>e.check(us(t)),e.date=t=>e.check(fs(t)),e.time=t=>e.check(ms(t)),e.duration=t=>e.check(gs(t))});function Y(e){return Ra(js,e)}var X=O(`ZodStringFormat`,(e,t)=>{H.init(e,t),As.init(e,t)}),Ms=O(`ZodEmail`,(e,t)=>{ji.init(e,t),X.init(e,t)}),Ns=O(`ZodGUID`,(e,t)=>{ki.init(e,t),X.init(e,t)}),Z=O(`ZodUUID`,(e,t)=>{Ai.init(e,t),X.init(e,t)}),Ps=O(`ZodURL`,(e,t)=>{Mi.init(e,t),X.init(e,t)}),Fs=O(`ZodEmoji`,(e,t)=>{Ni.init(e,t),X.init(e,t)}),Is=O(`ZodNanoID`,(e,t)=>{Pi.init(e,t),X.init(e,t)}),Ls=O(`ZodCUID`,(e,t)=>{Fi.init(e,t),X.init(e,t)}),Rs=O(`ZodCUID2`,(e,t)=>{Ii.init(e,t),X.init(e,t)}),zs=O(`ZodULID`,(e,t)=>{Li.init(e,t),X.init(e,t)}),Bs=O(`ZodXID`,(e,t)=>{Ri.init(e,t),X.init(e,t)}),Vs=O(`ZodKSUID`,(e,t)=>{zi.init(e,t),X.init(e,t)}),Hs=O(`ZodIPv4`,(e,t)=>{Wi.init(e,t),X.init(e,t)}),Us=O(`ZodIPv6`,(e,t)=>{Gi.init(e,t),X.init(e,t)}),Ws=O(`ZodCIDRv4`,(e,t)=>{Ki.init(e,t),X.init(e,t)}),Gs=O(`ZodCIDRv6`,(e,t)=>{qi.init(e,t),X.init(e,t)}),Ks=O(`ZodBase64`,(e,t)=>{Yi.init(e,t),X.init(e,t)}),qs=O(`ZodBase64URL`,(e,t)=>{Zi.init(e,t),X.init(e,t)}),Js=O(`ZodE164`,(e,t)=>{Qi.init(e,t),X.init(e,t)}),Ys=O(`ZodJWT`,(e,t)=>{ea.init(e,t),X.init(e,t)}),Xs=O(`ZodNumber`,(e,t)=>{ta.init(e,t),J.init(e,t),e._zod.processJSONSchema=(t,n,r)=>Ko(e,t,n,r),e.gt=(t,n)=>e.check(vo(t,n)),e.gte=(t,n)=>e.check(yo(t,n)),e.min=(t,n)=>e.check(yo(t,n)),e.lt=(t,n)=>e.check(go(t,n)),e.lte=(t,n)=>e.check(_o(t,n)),e.max=(t,n)=>e.check(_o(t,n)),e.int=t=>e.check(Qs(t)),e.safe=t=>e.check(Qs(t)),e.positive=t=>e.check(vo(0,t)),e.nonnegative=t=>e.check(yo(0,t)),e.negative=t=>e.check(go(0,t)),e.nonpositive=t=>e.check(_o(0,t)),e.multipleOf=(t,n)=>e.check(bo(t,n)),e.step=(t,n)=>e.check(bo(t,n)),e.finite=()=>e;let n=e._zod.bag;e.minValue=Math.max(n.minimum??-1/0,n.exclusiveMinimum??-1/0)??null,e.maxValue=Math.min(n.maximum??1/0,n.exclusiveMaximum??1/0)??null,e.isInt=(n.format??``).includes(`int`)||Number.isSafeInteger(n.multipleOf??.5),e.isFinite=!0,e.format=n.format??null});function Q(e){return fo(Xs,e)}var Zs=O(`ZodNumberFormat`,(e,t)=>{na.init(e,t),Xs.init(e,t)});function Qs(e){return po(Zs,e)}var $s=O(`ZodUnknown`,(e,t)=>{ra.init(e,t),J.init(e,t),e._zod.processJSONSchema=(e,t,n)=>void 0});function ec(){return mo($s)}var tc=O(`ZodNever`,(e,t)=>{ia.init(e,t),J.init(e,t),e._zod.processJSONSchema=(t,n,r)=>qo(e,t,n,r)});function nc(e){return ho(tc,e)}var rc=O(`ZodArray`,(e,t)=>{oa.init(e,t),J.init(e,t),e._zod.processJSONSchema=(t,n,r)=>Zo(e,t,n,r),e.element=t.element,e.min=(t,n)=>e.check(So(t,n)),e.nonempty=t=>e.check(So(1,t)),e.max=(t,n)=>e.check(xo(t,n)),e.length=(t,n)=>e.check(Co(t,n)),e.unwrap=()=>e.element});function ic(e,t){return Fo(rc,e,t)}var ac=O(`ZodObject`,(e,t)=>{da.init(e,t),J.init(e,t),e._zod.processJSONSchema=(t,n,r)=>Qo(e,t,n,r),j(e,`shape`,()=>t.shape),e.keyof=()=>dc(Object.keys(e._zod.def.shape)),e.catchall=t=>e.clone({...e._zod.def,catchall:t}),e.passthrough=()=>e.clone({...e._zod.def,catchall:ec()}),e.loose=()=>e.clone({...e._zod.def,catchall:ec()}),e.strict=()=>e.clone({...e._zod.def,catchall:nc()}),e.strip=()=>e.clone({...e._zod.def,catchall:void 0}),e.extend=t=>cr(e,t),e.safeExtend=t=>lr(e,t),e.merge=t=>ur(e,t),e.pick=t=>or(e,t),e.omit=t=>sr(e,t),e.partial=(...t)=>dr(mc,e,t[0]),e.required=(...t)=>fr(wc,e,t[0])});function $(e,t){return new ac({type:`object`,shape:e??{},...I(t)})}var oc=O(`ZodUnion`,(e,t)=>{pa.init(e,t),J.init(e,t),e._zod.processJSONSchema=(t,n,r)=>$o(e,t,n,r),e.options=t.options});function sc(e,t){return new oc({type:`union`,options:e,...I(t)})}var cc=O(`ZodIntersection`,(e,t)=>{ma.init(e,t),J.init(e,t),e._zod.processJSONSchema=(t,n,r)=>es(e,t,n,r)});function lc(e,t){return new cc({type:`intersection`,left:e,right:t})}var uc=O(`ZodEnum`,(e,t)=>{_a.init(e,t),J.init(e,t),e._zod.processJSONSchema=(t,n,r)=>Jo(e,t,n,r),e.enum=t.entries,e.options=Object.values(t.entries);let n=new Set(Object.keys(t.entries));e.extract=(e,r)=>{let i={};for(let r of e)if(n.has(r))i[r]=t.entries[r];else throw Error(`Key ${r} not found in enum`);return new uc({...t,checks:[],...I(r),entries:i})},e.exclude=(e,r)=>{let i={...t.entries};for(let t of e)if(n.has(t))delete i[t];else throw Error(`Key ${t} not found in enum`);return new uc({...t,checks:[],...I(r),entries:i})}});function dc(e,t){return new uc({type:`enum`,entries:Array.isArray(e)?Object.fromEntries(e.map(e=>[e,e])):e,...I(t)})}var fc=O(`ZodTransform`,(e,t)=>{va.init(e,t),J.init(e,t),e._zod.processJSONSchema=(t,n,r)=>Xo(e,t,n,r),e._zod.parse=(n,r)=>{if(r.direction===`backward`)throw new Vn(e.constructor.name);n.addIssue=r=>{if(typeof r==`string`)n.issues.push(z(r,n.value,t));else{let t=r;t.fatal&&(t.continue=!1),t.code??=`custom`,t.input??=n.value,t.inst??=e,n.issues.push(z(t))}};let i=t.transform(n.value,n);return i instanceof Promise?i.then(e=>(n.value=e,n)):(n.value=i,n)}});function pc(e){return new fc({type:`transform`,transform:e})}var mc=O(`ZodOptional`,(e,t)=>{ba.init(e,t),J.init(e,t),e._zod.processJSONSchema=(t,n,r)=>cs(e,t,n,r),e.unwrap=()=>e._zod.def.innerType});function hc(e){return new mc({type:`optional`,innerType:e})}var gc=O(`ZodExactOptional`,(e,t)=>{xa.init(e,t),J.init(e,t),e._zod.processJSONSchema=(t,n,r)=>cs(e,t,n,r),e.unwrap=()=>e._zod.def.innerType});function _c(e){return new gc({type:`optional`,innerType:e})}var vc=O(`ZodNullable`,(e,t)=>{Sa.init(e,t),J.init(e,t),e._zod.processJSONSchema=(t,n,r)=>ts(e,t,n,r),e.unwrap=()=>e._zod.def.innerType});function yc(e){return new vc({type:`nullable`,innerType:e})}var bc=O(`ZodDefault`,(e,t)=>{Ca.init(e,t),J.init(e,t),e._zod.processJSONSchema=(t,n,r)=>rs(e,t,n,r),e.unwrap=()=>e._zod.def.innerType,e.removeDefault=e.unwrap});function xc(e,t){return new bc({type:`default`,innerType:e,get defaultValue(){return typeof t==`function`?t():tr(t)}})}var Sc=O(`ZodPrefault`,(e,t)=>{Ta.init(e,t),J.init(e,t),e._zod.processJSONSchema=(t,n,r)=>is(e,t,n,r),e.unwrap=()=>e._zod.def.innerType});function Cc(e,t){return new Sc({type:`prefault`,innerType:e,get defaultValue(){return typeof t==`function`?t():tr(t)}})}var wc=O(`ZodNonOptional`,(e,t)=>{Ea.init(e,t),J.init(e,t),e._zod.processJSONSchema=(t,n,r)=>ns(e,t,n,r),e.unwrap=()=>e._zod.def.innerType});function Tc(e,t){return new wc({type:`nonoptional`,innerType:e,...I(t)})}var Ec=O(`ZodCatch`,(e,t)=>{Oa.init(e,t),J.init(e,t),e._zod.processJSONSchema=(t,n,r)=>as(e,t,n,r),e.unwrap=()=>e._zod.def.innerType,e.removeCatch=e.unwrap});function Dc(e,t){return new Ec({type:`catch`,innerType:e,catchValue:typeof t==`function`?t:()=>t})}var Oc=O(`ZodPipe`,(e,t)=>{ka.init(e,t),J.init(e,t),e._zod.processJSONSchema=(t,n,r)=>os(e,t,n,r),e.in=t.in,e.out=t.out});function kc(e,t){return new Oc({type:`pipe`,in:e,out:t})}var Ac=O(`ZodReadonly`,(e,t)=>{ja.init(e,t),J.init(e,t),e._zod.processJSONSchema=(t,n,r)=>ss(e,t,n,r),e.unwrap=()=>e._zod.def.innerType});function jc(e){return new Ac({type:`readonly`,innerType:e})}var Mc=O(`ZodCustom`,(e,t)=>{Na.init(e,t),J.init(e,t),e._zod.processJSONSchema=(t,n,r)=>Yo(e,t,n,r)});function Nc(e,t={}){return Io(Mc,e,t)}function Pc(e){return Lo(e)}var Fc=$({sku:Y(),name:Y(),imageUrl:Y().url().optional(),price:Y().optional(),originalPrice:Y().optional(),discountPercent:Q().optional(),url:Y().url(),brand:Y().optional(),rating:Q().min(0).max(5).optional(),reviewCount:Q().int().nonnegative().optional()}),Ic=$({layout:dc([`grid`,`carousel`]).optional(),columns:Q().int().positive().optional()}),Lc=$({product:Fc,index:Q().int().nonnegative(),discountType:dc([`strike-through`,`badge`]).optional()}),Rc=$({sku:Y(),label:Y().optional(),cartCode:Y()}),zc=$({actions:ic($({label:Y(),action:$({title:Y(),type:Y(),payload:ec().optional()})}))}),Bc=$({message:Y().optional()}),Vc={components:{ProductGrid:{schema:Ic,description:`Outer grid or carousel container for similar products.`},ProductCard:{schema:Lc,description:`A single product card with image, title, price, and actions.`},AddToCartButton:{schema:Rc,description:`Add-to-cart CTA rendered inside or below a product card.`},QuickActions:{schema:zc,description:`A row of quick-action buttons below product info.`},EmptyState:{schema:Bc,description:`Empty state shown when no similar products are available.`}}},Hc=class extends Pe{constructor(...e){super(...e),this._abortController=null,this._contentEl=null,this._lastResultCount=-1,this._i18n=jn}async onInit(e){this._i18n=this._resolveI18n(e),this._contentEl=document.createElement(`div`),this._contentEl.className=`gengage-simrel-container`,this._contentEl.dataset.gengagePart=`simrel-container`;let t=this._clampGridColumns(e.gridColumns);t!==void 0&&this._contentEl.style.setProperty(`--gengage-simrel-columns`,String(t)),this.root.appendChild(this._contentEl),this._lastSku=e.sku,await this._fetchAndRender(e.sku),Ln(`simrel`)}onUpdate(e){let t=e.sku;!t||t===this._lastSku&&this._lastResultCount!==0||(this._lastSku=t,this._fetchAndRender(t))}onShow(){this._contentEl&&(this._contentEl.style.opacity=`0`,this._contentEl.style.transition=`opacity 0.3s ease-in`,requestAnimationFrame(()=>{this._contentEl&&(this._contentEl.style.opacity=`1`)}))}onHide(){}onDestroy(){this._abort(),this._contentEl&&=(this._contentEl.remove(),null)}_handleProductClick(e){let t={sku:e.sku,name:e.name,url:e.url};if(e.imageUrl!==void 0&&(t.imageUrl=e.imageUrl),e.price!==void 0&&(t.price=e.price),e.originalPrice!==void 0&&(t.originalPrice=e.originalPrice),e.discountPercent!==void 0&&(t.discountPercent=e.discountPercent),e.brand!==void 0&&(t.brand=e.brand),e.rating!==void 0&&(t.rating=e.rating),e.reviewCount!==void 0&&(t.reviewCount=e.reviewCount),e.cartCode!==void 0&&(t.cartCode=e.cartCode),e.inStock!==void 0&&(t.inStock=e.inStock),this.config.onProductClick?.(t)===!1)return;zn(e.sku,e.name);let n=this.config.session?.sessionId??null;se(`gengage:similar:product-click`,{sku:e.sku,url:e.url,sessionId:n}),this.config.onProductNavigate?.(e.url,e.sku,n)}_handleAddToCart(e){Bn(e.sku,e.quantity),this.config.onAddToCart?.(e),se(`gengage:similar:add-to-cart`,e),this.track(l(this.analyticsContext(),{attribution_source:`simrel`,attribution_action_id:crypto.randomUUID(),cart_value:0,currency:this.config.pricing?.currencyCode??`TRY`,line_items:e.quantity,sku:e.sku}))}_abort(){this._abortController?.abort(),this._abortController=null}_isSuperseded(e){return this._abortController?.signal!==e}async _fetchAndRender(e){this._abort(),this._abortController=new AbortController;let t=this._abortController.signal,n=setTimeout(()=>this._abortController?.abort(),1e4);if(t.addEventListener(`abort`,()=>clearTimeout(n)),!this._contentEl)return;this._contentEl.innerHTML=``,this._contentEl.style.display=``;let r=document.createElement(`div`);r.className=`gengage-simrel-loading`,r.dataset.gengagePart=`simrel-loading`;let s=document.createElement(`div`);s.className=`gengage-simrel-spinner`,s.dataset.gengagePart=`simrel-loading-spinner`,r.appendChild(s),this._contentEl.appendChild(r);let l={middlewareUrl:this.config.middlewareUrl},u=crypto.randomUUID(),d=Date.now(),f=Xe({source:`simrel`,locale:this.config.locale});this.track(i(this.analyticsContext(),{endpoint:`similar_products`,request_id:u,widget:`simrel`}));try{let n={account_id:this.config.accountId,session_id:this.config.session?.sessionId??``,correlation_id:this.config.session?.sessionId??``,sku:e};this.config.domain!==void 0&&(n.domain=this.config.domain);let r=await fn(n,l,t);if(this._lastResultCount=r.length,!this._contentEl)return;if(this._contentEl.innerHTML=``,r.length>0)try{let e=r.map(e=>e.sku),n=new Map(r.map(e=>[e.sku,e])),i=(await mn({account_id:this.config.accountId,session_id:this.config.session?.sessionId??``,correlation_id:this.config.session?.sessionId??``,skus:e},l,t)).map(e=>({...e,products:e.products.map(e=>({...n.get(e.sku),...e})).filter(e=>typeof e.sku==`string`&&typeof e.name==`string`&&typeof e.url==`string`)})).filter(e=>e.products.length>0);if(i.length>0&&this._contentEl){let e=this._buildGroupsSpec(i),t=this._renderUISpec(e);this._contentEl.appendChild(t),Rn(`simrel`),this.track(a(this.analyticsContext(),{request_id:u,latency_ms:Date.now()-d,chunk_count:i.reduce((e,t)=>e+t.products.length,0),widget:`simrel`})),this.track(c(this.analyticsContext(),{message_count:i.reduce((e,t)=>e+t.products.length,0),history_ref:u,redaction_level:`none`,widget:`simrel`}));return}}catch{}if(this._isSuperseded(t))return;if(this._contentEl){let e=this._buildProductsSpec(r),t=this._renderUISpec(e);this._contentEl.appendChild(t)}r.length>0&&Rn(`simrel`),this.track(a(this.analyticsContext(),{request_id:u,latency_ms:Date.now()-d,chunk_count:r.length,widget:`simrel`})),this.track(c(this.analyticsContext(),{message_count:r.length,history_ref:u,redaction_level:`none`,widget:`simrel`}))}catch(e){if(e instanceof DOMException&&e.name===`AbortError`&&this._isSuperseded(t))return;if(se(`gengage:global:error`,{source:`simrel`,code:`FETCH_ERROR`,message:Ce(this.config.locale,e)}),this.track(o(this.analyticsContext(),{request_id:u,error_code:`FETCH_ERROR`,error_message:e instanceof Error?e.message:String(e),widget:`simrel`})),this._contentEl){this._contentEl.innerHTML=``;let e=document.createElement(`div`);e.className=`gengage-simrel-error`;let t=document.createElement(`span`);t.textContent=this._i18n.errorLoadingMessage,e.appendChild(t);let n=document.createElement(`button`);n.className=`gengage-simrel-retry`,n.textContent=this._i18n.retryButtonText,n.addEventListener(`click`,()=>{this._fetchAndRender(this.config.sku)}),e.appendChild(n),this._contentEl.appendChild(e)}}finally{f()}}_clampGridColumns(e){if(!(e===void 0||typeof e!=`number`||!Number.isFinite(e)))return Math.max(1,Math.min(12,Math.floor(e)))}_resolveI18n(e){return{...Pn(e.locale),...e.i18n}}_resolveUISpecRegistry(){return r(kn(),this.config.renderer?.registry)}_buildRenderContext(){let e=this.config.renderCard,t={onClick:e=>this._handleProductClick(e),onAddToCart:e=>this._handleAddToCart(e),i18n:this._i18n};this.config.discountType!==void 0&&(t.discountType=this.config.discountType),e!==void 0&&(t.renderCard=e),this.config.renderCardElement!==void 0&&(t.renderCardElement=this.config.renderCardElement),this.config.pricing!==void 0&&(t.pricing=this.config.pricing);let n=this._clampGridColumns(this.config.gridColumns);return n!==void 0&&(t.gridColumns=n),t}_renderUISpec(e){let t=this._resolveUISpecRegistry(),n=this._buildRenderContext(),r=this.config.renderer?.unknownRenderer??On,i=(e,n)=>An(e,n,t,r),a=this.config.renderer?.renderUISpec;return a?a(e,n,{registry:t,unknownRenderer:r,defaultRender:i}):i(e,n)}_buildProductsSpec(e){let t={},n=[];for(let r=0;r<e.length;r++){let i=e[r],a=`product-${r}`;n.push(a),t[a]={type:`ProductCard`,props:{product:i,index:r,discountType:this.config.discountType}}}let r={layout:`grid`},i=this._clampGridColumns(this.config.gridColumns);return i!==void 0&&(r.columns=i),t.root={type:`ProductGrid`,props:r,children:n},{root:`root`,elements:t}}_buildGroupsSpec(e){return{root:`root`,elements:{root:{type:`GroupTabs`,props:{groups:e}}}}}};function Uc(){return new Hc}e.GengageSimRel=Hc,e.createDefaultSimRelUISpecRegistry=kn,e.createSimRelWidget=Uc,e.defaultSimRelUnknownUISpecRenderer=On,e.renderSimRelUISpec=An,e.simRelCatalog=Vc})(this.Gengage=this.Gengage||{});
|
|
87
|
-
//# sourceMappingURL=simrel.iife.js.map
|
|
86
|
+
Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.`)}for(const a of e.seen.entries()){const s=a[1];if(t===a[0]){i(a);continue}if(e.external){const c=e.external.registry.get(a[0])?.id;if(t!==a[0]&&c){i(a);continue}}if(e.metadataRegistry.get(a[0])?.id){i(a);continue}if(s.cycle){i(a);continue}if(s.count>1&&e.reused==="ref"){i(a);continue}}}function wr(e,t){const r=e.seen.get(t);if(!r)throw new Error("Unprocessed schema. This is a bug in Zod.");const n=a=>{const s=e.seen.get(a);if(s.ref===null)return;const c=s.def??s.schema,u={...c},f=s.ref;if(s.ref=null,f){n(f);const p=e.seen.get(f),m=p.schema;if(m.$ref&&(e.target==="draft-07"||e.target==="draft-04"||e.target==="openapi-3.0")?(c.allOf=c.allOf??[],c.allOf.push(m)):Object.assign(c,m),Object.assign(c,u),a._zod.parent===f)for(const h in c)h==="$ref"||h==="allOf"||h in u||delete c[h];if(m.$ref&&p.def)for(const h in c)h==="$ref"||h==="allOf"||h in p.def&&JSON.stringify(c[h])===JSON.stringify(p.def[h])&&delete c[h]}const g=a._zod.parent;if(g&&g!==f){n(g);const p=e.seen.get(g);if(p?.schema.$ref&&(c.$ref=p.schema.$ref,p.def))for(const m in c)m==="$ref"||m==="allOf"||m in p.def&&JSON.stringify(c[m])===JSON.stringify(p.def[m])&&delete c[m]}e.override({zodSchema:a,jsonSchema:c,path:s.path??[]})};for(const a of[...e.seen.entries()].reverse())n(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,r.def??r.schema);const i=e.external?.defs??{};for(const a of e.seen.entries()){const s=a[1];s.def&&s.defId&&(i[s.defId]=s.def)}e.external||Object.keys(i).length>0&&(e.target==="draft-2020-12"?o.$defs=i:o.definitions=i);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 P(e,t){const r=t??{seen:new Set};if(r.seen.has(e))return!1;r.seen.add(e);const n=e._zod.def;if(n.type==="transform")return!0;if(n.type==="array")return P(n.element,r);if(n.type==="set")return P(n.valueType,r);if(n.type==="lazy")return P(n.getter(),r);if(n.type==="promise"||n.type==="optional"||n.type==="nonoptional"||n.type==="nullable"||n.type==="readonly"||n.type==="default"||n.type==="prefault")return P(n.innerType,r);if(n.type==="intersection")return P(n.left,r)||P(n.right,r);if(n.type==="record"||n.type==="map")return P(n.keyType,r)||P(n.valueType,r);if(n.type==="pipe")return P(n.in,r)||P(n.out,r);if(n.type==="object"){for(const o in n.shape)if(P(n.shape[o],r))return!0;return!1}if(n.type==="union"){for(const o of n.options)if(P(o,r))return!0;return!1}if(n.type==="tuple"){for(const o of n.items)if(P(o,r))return!0;return!!(n.rest&&P(n.rest,r))}return!1}var Is=(e,t={})=>r=>{const n=vr({...r,processors:t});return A(e,n),br(n,e),wr(n,e)},Se=(e,t,r={})=>n=>{const{libraryOptions:o,target:i}=n??{},a=vr({...o??{},target:i,io:t,processors:r});return A(e,a),br(a,e),wr(a,e)},Ps={guid:"uuid",url:"uri",datetime:"date-time",json_string:"json-string",regex:""},Os=(e,t,r,n)=>{const o=r;o.type="string";const{minimum:i,maximum:a,format:s,patterns:c,contentEncoding:u}=e._zod.bag;if(typeof i=="number"&&(o.minLength=i),typeof a=="number"&&(o.maxLength=a),s&&(o.format=Ps[s]??s,o.format===""&&delete o.format,s==="time"&&delete o.format),u&&(o.contentEncoding=u),c&&c.size>0){const f=[...c];f.length===1?o.pattern=f[0].source:f.length>1&&(o.allOf=[...f.map(g=>({...t.target==="draft-07"||t.target==="draft-04"||t.target==="openapi-3.0"?{type:"string"}:{},pattern:g.source}))])}},Ns=(e,t,r,n)=>{const o=r,{minimum:i,maximum:a,format:s,multipleOf:c,exclusiveMaximum:u,exclusiveMinimum:f}=e._zod.bag;typeof s=="string"&&s.includes("int")?o.type="integer":o.type="number",typeof f=="number"&&(t.target==="draft-04"||t.target==="openapi-3.0"?(o.minimum=f,o.exclusiveMinimum=!0):o.exclusiveMinimum=f),typeof i=="number"&&(o.minimum=i,typeof f=="number"&&t.target!=="draft-04"&&(f>=i?delete o.minimum:delete o.exclusiveMinimum)),typeof u=="number"&&(t.target==="draft-04"||t.target==="openapi-3.0"?(o.maximum=u,o.exclusiveMaximum=!0):o.exclusiveMaximum=u),typeof a=="number"&&(o.maximum=a,typeof u=="number"&&t.target!=="draft-04"&&(u<=a?delete o.maximum:delete o.exclusiveMaximum)),typeof c=="number"&&(o.multipleOf=c)},Zs=(e,t,r,n)=>{r.not={}},Rs=(e,t,r,n)=>{},xs=(e,t,r,n)=>{const o=e._zod.def,i=It(o.entries);i.every(a=>typeof a=="number")&&(r.type="number"),i.every(a=>typeof a=="string")&&(r.type="string"),r.enum=i},Ls=(e,t,r,n)=>{if(t.unrepresentable==="throw")throw new Error("Custom types cannot be represented in JSON Schema")},Ds=(e,t,r,n)=>{if(t.unrepresentable==="throw")throw new Error("Transforms cannot be represented in JSON Schema")},js=(e,t,r,n)=>{const o=r,i=e._zod.def,{minimum:a,maximum:s}=e._zod.bag;typeof a=="number"&&(o.minItems=a),typeof s=="number"&&(o.maxItems=s),o.type="array",o.items=A(i.element,t,{...n,path:[...n.path,"items"]})},Us=(e,t,r,n)=>{const o=r,i=e._zod.def;o.type="object",o.properties={};const a=i.shape;for(const u in a)o.properties[u]=A(a[u],t,{...n,path:[...n.path,"properties",u]});const s=new Set(Object.keys(a)),c=new Set([...s].filter(u=>{const f=i.shape[u]._zod;return t.io==="input"?f.optin===void 0:f.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=A(i.catchall,t,{...n,path:[...n.path,"additionalProperties"]})):t.io==="output"&&(o.additionalProperties=!1)},Ms=(e,t,r,n)=>{const o=e._zod.def,i=o.inclusive===!1,a=o.options.map((s,c)=>A(s,t,{...n,path:[...n.path,i?"oneOf":"anyOf",c]}));i?r.oneOf=a:r.anyOf=a},Fs=(e,t,r,n)=>{const o=e._zod.def,i=A(o.left,t,{...n,path:[...n.path,"allOf",0]}),a=A(o.right,t,{...n,path:[...n.path,"allOf",1]}),s=c=>"allOf"in c&&Object.keys(c).length===1;r.allOf=[...s(i)?i.allOf:[i],...s(a)?a.allOf:[a]]},qs=(e,t,r,n)=>{const o=e._zod.def,i=A(o.innerType,t,n),a=t.seen.get(e);t.target==="openapi-3.0"?(a.ref=o.innerType,r.nullable=!0):r.anyOf=[i,{type:"null"}]},Gs=(e,t,r,n)=>{const o=e._zod.def;A(o.innerType,t,n);const i=t.seen.get(e);i.ref=o.innerType},Js=(e,t,r,n)=>{const o=e._zod.def;A(o.innerType,t,n);const i=t.seen.get(e);i.ref=o.innerType,r.default=JSON.parse(JSON.stringify(o.defaultValue))},Bs=(e,t,r,n)=>{const o=e._zod.def;A(o.innerType,t,n);const i=t.seen.get(e);i.ref=o.innerType,t.io==="input"&&(r._prefault=JSON.parse(JSON.stringify(o.defaultValue)))},Vs=(e,t,r,n)=>{const o=e._zod.def;A(o.innerType,t,n);const i=t.seen.get(e);i.ref=o.innerType;let a;try{a=o.catchValue(void 0)}catch{throw new Error("Dynamic catch values are not supported in JSON Schema")}r.default=a},Ws=(e,t,r,n)=>{const o=e._zod.def,i=t.io==="input"?o.in._zod.def.type==="transform"?o.out:o.in:o.out;A(i,t,n);const a=t.seen.get(e);a.ref=i},Hs=(e,t,r,n)=>{const o=e._zod.def;A(o.innerType,t,n);const i=t.seen.get(e);i.ref=o.innerType,r.readOnly=!0},kr=(e,t,r,n)=>{const o=e._zod.def;A(o.innerType,t,n);const i=t.seen.get(e);i.ref=o.innerType},Ks=l("ZodISODateTime",(e,t)=>{ra.init(e,t),E.init(e,t)});function Ys(e){return is(Ks,e)}var Xs=l("ZodISODate",(e,t)=>{na.init(e,t),E.init(e,t)});function Qs(e){return as(Xs,e)}var ec=l("ZodISOTime",(e,t)=>{oa.init(e,t),E.init(e,t)});function tc(e){return ss(ec,e)}var rc=l("ZodISODuration",(e,t)=>{ia.init(e,t),E.init(e,t)});function nc(e){return cs(rc,e)}var Sr=(e,t)=>{Lt.init(e,t),e.name="ZodError",Object.defineProperties(e,{format:{value:r=>ni(e,r)},flatten:{value:r=>ri(e,r)},addIssue:{value:r=>{e.issues.push(r),e.message=JSON.stringify(e.issues,xe,2)}},addIssues:{value:r=>{e.issues.push(...r),e.message=JSON.stringify(e.issues,xe,2)}},isEmpty:{get(){return e.issues.length===0}}})},Tu=l("ZodError",Sr),R=l("ZodError",Sr,{Parent:Error}),oc=me(R),ic=he(R),ac=_e(R),sc=ye(R),cc=Dt(R),uc=jt(R),dc=Ut(R),lc=Mt(R),fc=Ft(R),pc=qt(R),gc=Gt(R),mc=Jt(R),T=l("ZodType",(e,t)=>(z.init(e,t),Object.assign(e["~standard"],{jsonSchema:{input:Se(e,"input"),output:Se(e,"output")}}),e.toJSONSchema=Is(e,{}),e.def=t,e.type=t.type,Object.defineProperty(e,"_def",{value:t}),e.check=(...r)=>e.clone(q(t,{checks:[...t.checks??[],...r.map(n=>typeof n=="function"?{_zod:{check:n,def:{check:"custom"},onattach:[]}}:n)]}),{parent:!0}),e.with=e.check,e.clone=(r,n)=>G(e,r,n),e.brand=()=>e,e.register=((r,n)=>(r.add(e,n),e)),e.parse=(r,n)=>oc(e,r,n,{callee:e.parse}),e.safeParse=(r,n)=>ac(e,r,n),e.parseAsync=async(r,n)=>ic(e,r,n,{callee:e.parseAsync}),e.safeParseAsync=async(r,n)=>sc(e,r,n),e.spa=e.safeParseAsync,e.encode=(r,n)=>cc(e,r,n),e.decode=(r,n)=>uc(e,r,n),e.encodeAsync=async(r,n)=>dc(e,r,n),e.decodeAsync=async(r,n)=>lc(e,r,n),e.safeEncode=(r,n)=>fc(e,r,n),e.safeDecode=(r,n)=>pc(e,r,n),e.safeEncodeAsync=async(r,n)=>gc(e,r,n),e.safeDecodeAsync=async(r,n)=>mc(e,r,n),e.refine=(r,n)=>e.check(au(r,n)),e.superRefine=r=>e.check(su(r)),e.overwrite=r=>e.check(te(r)),e.optional=()=>Ir(e),e.exactOptional=()=>Vc(e),e.nullable=()=>Pr(e),e.nullish=()=>Ir(Pr(e)),e.nonoptional=r=>Qc(e,r),e.array=()=>$r(e),e.or=r=>Mc([e,r]),e.and=r=>qc(e,r),e.transform=r=>Nr(e,Jc(r)),e.default=r=>Kc(e,r),e.prefault=r=>Xc(e,r),e.catch=r=>tu(e,r),e.pipe=r=>Nr(e,r),e.readonly=()=>ou(e),e.describe=r=>{const n=e.clone();return j.add(n,{description:r}),n},Object.defineProperty(e,"description",{get(){return j.get(e)?.description},configurable:!0}),e.meta=(...r)=>{if(r.length===0)return j.get(e);const n=e.clone();return j.add(n,r[0]),n},e.isOptional=()=>e.safeParse(void 0).success,e.isNullable=()=>e.safeParse(null).success,e.apply=r=>r(e),e)),Cr=l("_ZodString",(e,t)=>{Me.init(e,t),T.init(e,t),e._zod.processJSONSchema=(n,o,i)=>Os(e,n,o,i);const r=e._zod.bag;e.format=r.format??null,e.minLength=r.minimum??null,e.maxLength=r.maximum??null,e.regex=(...n)=>e.check(ps(...n)),e.includes=(...n)=>e.check(hs(...n)),e.startsWith=(...n)=>e.check(_s(...n)),e.endsWith=(...n)=>e.check(ys(...n)),e.min=(...n)=>e.check(ke(...n)),e.max=(...n)=>e.check(_r(...n)),e.length=(...n)=>e.check(yr(...n)),e.nonempty=(...n)=>e.check(ke(1,...n)),e.lowercase=n=>e.check(gs(n)),e.uppercase=n=>e.check(ms(n)),e.trim=()=>e.check(bs()),e.normalize=(...n)=>e.check(vs(...n)),e.toLowerCase=()=>e.check(ws()),e.toUpperCase=()=>e.check(ks()),e.slugify=()=>e.check(Ss())}),hc=l("ZodString",(e,t)=>{Me.init(e,t),Cr.init(e,t),e.email=r=>e.check(Da(_c,r)),e.url=r=>e.check(qa(yc,r)),e.jwt=r=>e.check(os(Nc,r)),e.emoji=r=>e.check(Ga(vc,r)),e.guid=r=>e.check(pr(Er,r)),e.uuid=r=>e.check(ja(Ce,r)),e.uuidv4=r=>e.check(Ua(Ce,r)),e.uuidv6=r=>e.check(Ma(Ce,r)),e.uuidv7=r=>e.check(Fa(Ce,r)),e.nanoid=r=>e.check(Ja(bc,r)),e.guid=r=>e.check(pr(Er,r)),e.cuid=r=>e.check(Ba(wc,r)),e.cuid2=r=>e.check(Va(kc,r)),e.ulid=r=>e.check(Wa(Sc,r)),e.base64=r=>e.check(ts(Ic,r)),e.base64url=r=>e.check(rs(Pc,r)),e.xid=r=>e.check(Ha(Cc,r)),e.ksuid=r=>e.check(Ka(Ec,r)),e.ipv4=r=>e.check(Ya(zc,r)),e.ipv6=r=>e.check(Xa(Tc,r)),e.cidrv4=r=>e.check(Qa($c,r)),e.cidrv6=r=>e.check(es(Ac,r)),e.e164=r=>e.check(ns(Oc,r)),e.datetime=r=>e.check(Ys(r)),e.date=r=>e.check(Qs(r)),e.time=r=>e.check(tc(r)),e.duration=r=>e.check(nc(r))});function O(e){return La(hc,e)}var E=l("ZodStringFormat",(e,t)=>{C.init(e,t),Cr.init(e,t)}),_c=l("ZodEmail",(e,t)=>{Vi.init(e,t),E.init(e,t)}),Er=l("ZodGUID",(e,t)=>{Ji.init(e,t),E.init(e,t)}),Ce=l("ZodUUID",(e,t)=>{Bi.init(e,t),E.init(e,t)}),yc=l("ZodURL",(e,t)=>{Wi.init(e,t),E.init(e,t)}),vc=l("ZodEmoji",(e,t)=>{Hi.init(e,t),E.init(e,t)}),bc=l("ZodNanoID",(e,t)=>{Ki.init(e,t),E.init(e,t)}),wc=l("ZodCUID",(e,t)=>{Yi.init(e,t),E.init(e,t)}),kc=l("ZodCUID2",(e,t)=>{Xi.init(e,t),E.init(e,t)}),Sc=l("ZodULID",(e,t)=>{Qi.init(e,t),E.init(e,t)}),Cc=l("ZodXID",(e,t)=>{ea.init(e,t),E.init(e,t)}),Ec=l("ZodKSUID",(e,t)=>{ta.init(e,t),E.init(e,t)}),zc=l("ZodIPv4",(e,t)=>{aa.init(e,t),E.init(e,t)}),Tc=l("ZodIPv6",(e,t)=>{sa.init(e,t),E.init(e,t)}),$c=l("ZodCIDRv4",(e,t)=>{ca.init(e,t),E.init(e,t)}),Ac=l("ZodCIDRv6",(e,t)=>{ua.init(e,t),E.init(e,t)}),Ic=l("ZodBase64",(e,t)=>{da.init(e,t),E.init(e,t)}),Pc=l("ZodBase64URL",(e,t)=>{fa.init(e,t),E.init(e,t)}),Oc=l("ZodE164",(e,t)=>{pa.init(e,t),E.init(e,t)}),Nc=l("ZodJWT",(e,t)=>{ma.init(e,t),E.init(e,t)}),zr=l("ZodNumber",(e,t)=>{er.init(e,t),T.init(e,t),e._zod.processJSONSchema=(n,o,i)=>Ns(e,n,o,i),e.gt=(n,o)=>e.check(mr(n,o)),e.gte=(n,o)=>e.check(Ge(n,o)),e.min=(n,o)=>e.check(Ge(n,o)),e.lt=(n,o)=>e.check(gr(n,o)),e.lte=(n,o)=>e.check(qe(n,o)),e.max=(n,o)=>e.check(qe(n,o)),e.int=n=>e.check(Tr(n)),e.safe=n=>e.check(Tr(n)),e.positive=n=>e.check(mr(0,n)),e.nonnegative=n=>e.check(Ge(0,n)),e.negative=n=>e.check(gr(0,n)),e.nonpositive=n=>e.check(qe(0,n)),e.multipleOf=(n,o)=>e.check(hr(n,o)),e.step=(n,o)=>e.check(hr(n,o)),e.finite=()=>e;const r=e._zod.bag;e.minValue=Math.max(r.minimum??Number.NEGATIVE_INFINITY,r.exclusiveMinimum??Number.NEGATIVE_INFINITY)??null,e.maxValue=Math.min(r.maximum??Number.POSITIVE_INFINITY,r.exclusiveMaximum??Number.POSITIVE_INFINITY)??null,e.isInt=(r.format??"").includes("int")||Number.isSafeInteger(r.multipleOf??.5),e.isFinite=!0,e.format=r.format??null});function ce(e){return us(zr,e)}var Zc=l("ZodNumberFormat",(e,t)=>{ha.init(e,t),zr.init(e,t)});function Tr(e){return ds(Zc,e)}var Rc=l("ZodUnknown",(e,t)=>{_a.init(e,t),T.init(e,t),e._zod.processJSONSchema=(r,n,o)=>Rs(e,r,n,o)});function Je(){return ls(Rc)}var xc=l("ZodNever",(e,t)=>{ya.init(e,t),T.init(e,t),e._zod.processJSONSchema=(r,n,o)=>Zs(e,r,n,o)});function Lc(e){return fs(xc,e)}var Dc=l("ZodArray",(e,t)=>{va.init(e,t),T.init(e,t),e._zod.processJSONSchema=(r,n,o)=>js(e,r,n,o),e.element=t.element,e.min=(r,n)=>e.check(ke(r,n)),e.nonempty=r=>e.check(ke(1,r)),e.max=(r,n)=>e.check(_r(r,n)),e.length=(r,n)=>e.check(yr(r,n)),e.unwrap=()=>e.element});function $r(e,t){return Cs(Dc,e,t)}var jc=l("ZodObject",(e,t)=>{wa.init(e,t),T.init(e,t),e._zod.processJSONSchema=(r,n,o)=>Us(e,r,n,o),k(e,"shape",()=>t.shape),e.keyof=()=>Ve(Object.keys(e._zod.def.shape)),e.catchall=r=>e.clone({...e._zod.def,catchall:r}),e.passthrough=()=>e.clone({...e._zod.def,catchall:Je()}),e.loose=()=>e.clone({...e._zod.def,catchall:Je()}),e.strict=()=>e.clone({...e._zod.def,catchall:Lc()}),e.strip=()=>e.clone({...e._zod.def,catchall:void 0}),e.extend=r=>Yo(e,r),e.safeExtend=r=>Xo(e,r),e.merge=r=>Qo(e,r),e.pick=r=>Ho(e,r),e.omit=r=>Ko(e,r),e.partial=(...r)=>ei(Ar,e,r[0]),e.required=(...r)=>ti(Or,e,r[0])});function J(e,t){return new jc({type:"object",shape:e??{},..._(t)})}var Uc=l("ZodUnion",(e,t)=>{ka.init(e,t),T.init(e,t),e._zod.processJSONSchema=(r,n,o)=>Ms(e,r,n,o),e.options=t.options});function Mc(e,t){return new Uc({type:"union",options:e,..._(t)})}var Fc=l("ZodIntersection",(e,t)=>{Sa.init(e,t),T.init(e,t),e._zod.processJSONSchema=(r,n,o)=>Fs(e,r,n,o)});function qc(e,t){return new Fc({type:"intersection",left:e,right:t})}var Be=l("ZodEnum",(e,t)=>{Ca.init(e,t),T.init(e,t),e._zod.processJSONSchema=(n,o,i)=>xs(e,n,o,i),e.enum=t.entries,e.options=Object.values(t.entries);const r=new Set(Object.keys(t.entries));e.extract=(n,o)=>{const i={};for(const a of n)if(r.has(a))i[a]=t.entries[a];else throw new Error(`Key ${a} not found in enum`);return new Be({...t,checks:[],..._(o),entries:i})},e.exclude=(n,o)=>{const i={...t.entries};for(const a of n)if(r.has(a))delete i[a];else throw new Error(`Key ${a} not found in enum`);return new Be({...t,checks:[],..._(o),entries:i})}});function Ve(e,t){return new Be({type:"enum",entries:Array.isArray(e)?Object.fromEntries(e.map(r=>[r,r])):e,..._(t)})}var Gc=l("ZodTransform",(e,t)=>{Ea.init(e,t),T.init(e,t),e._zod.processJSONSchema=(r,n,o)=>Ds(e,r,n,o),e._zod.parse=(r,n)=>{if(n.direction==="backward")throw new At(e.constructor.name);r.addIssue=i=>{if(typeof i=="string")r.issues.push(se(i,r.value,t));else{const a=i;a.fatal&&(a.continue=!1),a.code??(a.code="custom"),a.input??(a.input=r.value),a.inst??(a.inst=e),r.issues.push(se(a))}};const o=t.transform(r.value,r);return o instanceof Promise?o.then(i=>(r.value=i,r)):(r.value=o,r)}});function Jc(e){return new Gc({type:"transform",transform:e})}var Ar=l("ZodOptional",(e,t)=>{sr.init(e,t),T.init(e,t),e._zod.processJSONSchema=(r,n,o)=>kr(e,r,n,o),e.unwrap=()=>e._zod.def.innerType});function Ir(e){return new Ar({type:"optional",innerType:e})}var Bc=l("ZodExactOptional",(e,t)=>{za.init(e,t),T.init(e,t),e._zod.processJSONSchema=(r,n,o)=>kr(e,r,n,o),e.unwrap=()=>e._zod.def.innerType});function Vc(e){return new Bc({type:"optional",innerType:e})}var Wc=l("ZodNullable",(e,t)=>{Ta.init(e,t),T.init(e,t),e._zod.processJSONSchema=(r,n,o)=>qs(e,r,n,o),e.unwrap=()=>e._zod.def.innerType});function Pr(e){return new Wc({type:"nullable",innerType:e})}var Hc=l("ZodDefault",(e,t)=>{$a.init(e,t),T.init(e,t),e._zod.processJSONSchema=(r,n,o)=>Js(e,r,n,o),e.unwrap=()=>e._zod.def.innerType,e.removeDefault=e.unwrap});function Kc(e,t){return new Hc({type:"default",innerType:e,get defaultValue(){return typeof t=="function"?t():Zt(t)}})}var Yc=l("ZodPrefault",(e,t)=>{Aa.init(e,t),T.init(e,t),e._zod.processJSONSchema=(r,n,o)=>Bs(e,r,n,o),e.unwrap=()=>e._zod.def.innerType});function Xc(e,t){return new Yc({type:"prefault",innerType:e,get defaultValue(){return typeof t=="function"?t():Zt(t)}})}var Or=l("ZodNonOptional",(e,t)=>{Ia.init(e,t),T.init(e,t),e._zod.processJSONSchema=(r,n,o)=>Gs(e,r,n,o),e.unwrap=()=>e._zod.def.innerType});function Qc(e,t){return new Or({type:"nonoptional",innerType:e,..._(t)})}var eu=l("ZodCatch",(e,t)=>{Pa.init(e,t),T.init(e,t),e._zod.processJSONSchema=(r,n,o)=>Vs(e,r,n,o),e.unwrap=()=>e._zod.def.innerType,e.removeCatch=e.unwrap});function tu(e,t){return new eu({type:"catch",innerType:e,catchValue:typeof t=="function"?t:()=>t})}var ru=l("ZodPipe",(e,t)=>{Oa.init(e,t),T.init(e,t),e._zod.processJSONSchema=(r,n,o)=>Ws(e,r,n,o),e.in=t.in,e.out=t.out});function Nr(e,t){return new ru({type:"pipe",in:e,out:t})}var nu=l("ZodReadonly",(e,t)=>{Na.init(e,t),T.init(e,t),e._zod.processJSONSchema=(r,n,o)=>Hs(e,r,n,o),e.unwrap=()=>e._zod.def.innerType});function ou(e){return new nu({type:"readonly",innerType:e})}var iu=l("ZodCustom",(e,t)=>{Za.init(e,t),T.init(e,t),e._zod.processJSONSchema=(r,n,o)=>Ls(e,r,n,o)});function au(e,t={}){return Es(iu,e,t)}function su(e){return zs(e)}var $u=$s,Au=As,cu=J({sku:O(),name:O(),imageUrl:O().url().optional(),price:O().optional(),originalPrice:O().optional(),discountPercent:ce().optional(),url:O().url(),brand:O().optional(),rating:ce().min(0).max(5).optional(),reviewCount:ce().int().nonnegative().optional()}),uu=J({layout:Ve(["grid","carousel"]).optional(),columns:ce().int().positive().optional()}),du=J({product:cu,index:ce().int().nonnegative(),discountType:Ve(["strike-through","badge"]).optional()}),lu=J({sku:O(),label:O().optional(),cartCode:O()}),fu=J({actions:$r(J({label:O(),action:J({title:O(),type:O(),payload:Je().optional()})}))}),pu=J({message:O().optional()}),gu={components:{ProductGrid:{schema:uu,description:"Outer grid or carousel container for similar products."},ProductCard:{schema:du,description:"A single product card with image, title, price, and actions."},AddToCartButton:{schema:lu,description:"Add-to-cart CTA rendered inside or below a product card."},QuickActions:{schema:fu,description:"A row of quick-action buttons below product info."},EmptyState:{schema:pu,description:"Empty state shown when no similar products are available."}}},Zr=class extends _n{constructor(...e){super(...e),this._abortController=null,this._contentEl=null,this._lastResultCount=-1,this._i18n=Tt}async onInit(e){this._i18n=this._resolveI18n(e),this._contentEl=document.createElement("div"),this._contentEl.className="gengage-simrel-container",this._contentEl.dataset.gengagePart="simrel-container";const t=this._clampGridColumns(e.gridColumns);t!==void 0&&this._contentEl.style.setProperty("--gengage-simrel-columns",String(t)),this.root.appendChild(this._contentEl),this._lastSku=e.sku,await this._fetchAndRender(e.sku),Uo("simrel")}onUpdate(e){const t=e.sku;!t||t===this._lastSku&&this._lastResultCount!==0||(this._lastSku=t,this._fetchAndRender(t))}onShow(){this._contentEl&&(this._contentEl.style.opacity="0",this._contentEl.style.transition="opacity 0.3s ease-in",requestAnimationFrame(()=>{this._contentEl&&(this._contentEl.style.opacity="1")}))}onHide(){}onDestroy(){this._abort(),this._contentEl&&(this._contentEl.remove(),this._contentEl=null)}_handleProductClick(e){const t={sku:e.sku,name:e.name,url:e.url};if(e.imageUrl!==void 0&&(t.imageUrl=e.imageUrl),e.price!==void 0&&(t.price=e.price),e.originalPrice!==void 0&&(t.originalPrice=e.originalPrice),e.discountPercent!==void 0&&(t.discountPercent=e.discountPercent),e.brand!==void 0&&(t.brand=e.brand),e.rating!==void 0&&(t.rating=e.rating),e.reviewCount!==void 0&&(t.reviewCount=e.reviewCount),e.cartCode!==void 0&&(t.cartCode=e.cartCode),e.inStock!==void 0&&(t.inStock=e.inStock),this.config.onProductClick?.(t)===!1)return;Mo(e.sku,e.name);const r=this.config.session?.sessionId??null;ze("gengage:similar:product-click",{sku:e.sku,url:e.url,sessionId:r}),this.config.onProductNavigate?.(e.url,e.sku,r)}_handleAddToCart(e){Fo(e.sku,e.quantity),this.config.onAddToCart?.(e),ze("gengage:similar:add-to-cart",e),this.track(Mr(this.analyticsContext(),{attribution_source:"simrel",attribution_action_id:crypto.randomUUID(),cart_value:0,currency:this.config.pricing?.currencyCode??"TRY",line_items:e.quantity,sku:e.sku}))}_abort(){this._abortController?.abort(),this._abortController=null}_isSuperseded(e){return this._abortController?.signal!==e}async _fetchAndRender(e){this._abort(),this._abortController=new AbortController;const t=this._abortController.signal,r=setTimeout(()=>this._abortController?.abort(),1e4);if(t.addEventListener("abort",()=>clearTimeout(r)),!this._contentEl)return;this._contentEl.innerHTML="",this._contentEl.style.display="";const n=document.createElement("div");n.className="gengage-simrel-loading",n.dataset.gengagePart="simrel-loading";const o=document.createElement("div");o.className="gengage-simrel-spinner",o.dataset.gengagePart="simrel-loading-spinner",n.appendChild(o),this._contentEl.appendChild(n);const i={middlewareUrl:this.config.middlewareUrl},a=crypto.randomUUID(),s=Date.now(),c=En({source:"simrel",locale:this.config.locale});this.track(Dr(this.analyticsContext(),{endpoint:"similar_products",request_id:a,widget:"simrel"}));try{const u={account_id:this.config.accountId,session_id:this.config.session?.sessionId??"",correlation_id:this.config.session?.sessionId??"",sku:e};this.config.domain!==void 0&&(u.domain=this.config.domain);const f=await Eo(u,i,t);if(this._lastResultCount=f.length,!this._contentEl)return;if(this._contentEl.innerHTML="",f.length>0)try{const g=f.map(h=>h.sku),p=new Map(f.map(h=>[h.sku,h])),m=(await To({account_id:this.config.accountId,session_id:this.config.session?.sessionId??"",correlation_id:this.config.session?.sessionId??"",skus:g},i,t)).map(h=>({...h,products:h.products.map(d=>({...p.get(d.sku),...d})).filter(d=>typeof d.sku=="string"&&typeof d.name=="string"&&typeof d.url=="string")})).filter(h=>h.products.length>0);if(m.length>0&&this._contentEl){const h=this._buildGroupsSpec(m),d=this._renderUISpec(h);this._contentEl.appendChild(d),$t("simrel"),this.track(We(this.analyticsContext(),{request_id:a,latency_ms:Date.now()-s,chunk_count:m.reduce((y,S)=>y+S.products.length,0),widget:"simrel"})),this.track(He(this.analyticsContext(),{message_count:m.reduce((y,S)=>y+S.products.length,0),history_ref:a,redaction_level:"none",widget:"simrel"}));return}}catch{}if(this._isSuperseded(t))return;if(this._contentEl){const g=this._buildProductsSpec(f),p=this._renderUISpec(g);this._contentEl.appendChild(p)}f.length>0&&$t("simrel"),this.track(We(this.analyticsContext(),{request_id:a,latency_ms:Date.now()-s,chunk_count:f.length,widget:"simrel"})),this.track(He(this.analyticsContext(),{message_count:f.length,history_ref:a,redaction_level:"none",widget:"simrel"}))}catch(u){if(u instanceof DOMException&&u.name==="AbortError"&&this._isSuperseded(t))return;if(ze("gengage:global:error",{source:"simrel",code:"FETCH_ERROR",message:un(this.config.locale,u)}),this.track(jr(this.analyticsContext(),{request_id:a,error_code:"FETCH_ERROR",error_message:u instanceof Error?u.message:String(u),widget:"simrel"})),this._contentEl){this._contentEl.innerHTML="";const f=document.createElement("div");f.className="gengage-simrel-error";const g=document.createElement("span");g.textContent=this._i18n.errorLoadingMessage,f.appendChild(g);const p=document.createElement("button");p.className="gengage-simrel-retry",p.textContent=this._i18n.retryButtonText,p.addEventListener("click",()=>{this._fetchAndRender(this.config.sku)}),f.appendChild(p),this._contentEl.appendChild(f)}}finally{c()}}_clampGridColumns(e){if(!(e===void 0||typeof e!="number"||!Number.isFinite(e)))return Math.max(1,Math.min(12,Math.floor(e)))}_resolveI18n(e){return{...Do(e.locale),...e.i18n}}_resolveUISpecRegistry(){return Lr(Et(),this.config.renderer?.registry)}_buildRenderContext(){const e=this.config.renderCard,t={onClick:n=>this._handleProductClick(n),onAddToCart:n=>this._handleAddToCart(n),i18n:this._i18n};this.config.discountType!==void 0&&(t.discountType=this.config.discountType),e!==void 0&&(t.renderCard=e),this.config.renderCardElement!==void 0&&(t.renderCardElement=this.config.renderCardElement),this.config.pricing!==void 0&&(t.pricing=this.config.pricing);const r=this._clampGridColumns(this.config.gridColumns);return r!==void 0&&(t.gridColumns=r),t}_renderUISpec(e){const t=this._resolveUISpecRegistry(),r=this._buildRenderContext(),n=this.config.renderer?.unknownRenderer??Ze,o=(a,s)=>zt(a,s,t,n),i=this.config.renderer?.renderUISpec;return i?i(e,r,{registry:t,unknownRenderer:n,defaultRender:o}):o(e,r)}_buildProductsSpec(e){const t={},r=[];for(let i=0;i<e.length;i++){const a=e[i],s=`product-${i}`;r.push(s),t[s]={type:"ProductCard",props:{product:a,index:i,discountType:this.config.discountType}}}const n={layout:"grid"},o=this._clampGridColumns(this.config.gridColumns);return o!==void 0&&(n.columns=o),t.root={type:"ProductGrid",props:n,children:r},{root:"root",elements:t}}_buildGroupsSpec(e){return{root:"root",elements:{root:{type:"GroupTabs",props:{groups:e}}}}}};function mu(){return new Zr}B.GengageSimRel=Zr,B.createDefaultSimRelUISpecRegistry=Et,B.createSimRelWidget=mu,B.defaultSimRelUnknownUISpecRenderer=Ze,B.renderSimRelUISpec=zt,B.simRelCatalog=gu})(this.Gengage=this.Gengage||{});
|