{
  "version": 3,
  "sources": ["/cdn/shop/t/40/assets/amazing-chatbot-loader.js?asset_check=1781014900"],
  "sourcesContent": ["(function () {\n  var SESSION_KEY = \"amazing-chatbot-session-id\";\n  var RESET_PARAMS = [\"amazing_chatbot_reset\", \"acb_reset\"];\n\n  function clearChatbotStorageIfRequested() {\n    var url;\n    try {\n      url = new URL(window.location.href);\n    } catch (_err) {\n      return;\n    }\n    var shouldReset = RESET_PARAMS.some(function (param) {\n      var value = url.searchParams.get(param);\n      return value === \"1\" || value === \"true\";\n    });\n    if (!shouldReset) return;\n    try {\n      for (var i = window.localStorage.length - 1; i >= 0; i -= 1) {\n        var key = window.localStorage.key(i);\n        if (key && key.indexOf(\"amazing-chatbot\") === 0) {\n          window.localStorage.removeItem(key);\n        }\n      }\n    } catch (_err) {\n      // Storage can be unavailable in private or locked-down browsers.\n    }\n    RESET_PARAMS.forEach(function (param) {\n      url.searchParams.delete(param);\n    });\n    try {\n      window.history.replaceState(window.history.state, \"\", url.toString());\n    } catch (_err) {\n      // If history is unavailable, leaving the query param is harmless.\n    }\n  }\n\n  function getSessionId(config) {\n    var storageKey = SESSION_KEY + \":\" + (config.tenantId || config.shopDomain || \"store\");\r\n    try {\r\n      var existing = window.localStorage.getItem(storageKey);\r\n      if (existing) return existing;\r\n      var generated = \"shopify-\" + (window.crypto && window.crypto.randomUUID ? window.crypto.randomUUID() : String(Date.now()) + \"-\" + Math.random().toString(36).slice(2));\r\n      window.localStorage.setItem(storageKey, generated);\r\n      return generated;\r\n    } catch (_err) {\r\n      return \"shopify-\" + String(Date.now()) + \"-\" + Math.random().toString(36).slice(2);\r\n    }\r\n  }\r\n\r\n  function storefrontConfigUrl(config) {\n    if (!config.endpoint) return \"\";\r\n    var base = config.endpoint.replace(/\\/api\\/chat(?:\\/stream)?$/, \"\");\r\n    if (!base || base === config.endpoint) return \"\";\r\n    var params = [];\r\n    if (config.tenantId) params.push(\"tenantId=\" + encodeURIComponent(config.tenantId));\r\n    if (config.shopDomain) params.push(\"shop=\" + encodeURIComponent(config.shopDomain));\r\n    if (!params.length) return \"\";\r\n    return base + \"/api/storefront/config?\" + params.join(\"&\");\n  }\n\n  function storefrontEventsUrl(config) {\n    if (!config.endpoint) return \"\";\n    var base = config.endpoint.replace(/\\/api\\/chat(?:\\/stream)?$/, \"\");\n    if (!base || base === config.endpoint) return \"\";\n    return base + \"/api/storefront/events\";\n  }\n\r\n  function applyRemoteConfig(config, remote) {\r\n    if (!remote || typeof remote !== \"object\") return config;\r\n    return Object.assign({}, config, {\r\n      // Dashboard kill switch: only an explicit false hides the widget, so a\r\n      // config outage or older API response fails open and keeps it mounted.\r\n      assistantEnabled: remote.enabled !== false,\r\n      title: remote.title || config.title,\r\n      greeting: remote.greeting || config.greeting,\r\n      primaryColor: remote.primary_color || remote.primaryColor || config.primaryColor,\n      launcherIconUrl: remote.launcher_icon_url || remote.launcherIconUrl || config.launcherIconUrl,\n      avatarIconUrl: remote.avatar_icon_url || remote.avatarIconUrl || config.avatarIconUrl,\n      triggers: Array.isArray(remote.triggers) ? remote.triggers : config.triggers\n    });\n  }\n\r\n  function fetchRemoteConfig(config) {\r\n    var url = storefrontConfigUrl(config);\r\n    if (!url || !window.fetch) return Promise.resolve(config);\r\n    return window.fetch(url, { credentials: \"omit\", mode: \"cors\" })\r\n      .then(function (response) {\r\n        if (!response.ok) return config;\r\n        return response.json().then(function (remote) {\r\n          return applyRemoteConfig(config, remote);\r\n        });\r\n      })\r\n      .catch(function () {\r\n        return config;\r\n      });\r\n  }\r\n\r\n  function mount(config, sessionId) {\r\n    var launcherIcon = config.launcherIconUrl || config.avatarIconUrl || config.logoUrl || config.launcherIcon;\r\n    var avatarIcon = config.avatarIconUrl || config.launcherIconUrl || config.logoUrl || false;\r\n    window.amazingChatbot.mount({\r\n      endpoint: config.endpoint,\r\n      title: config.title || \"Store assistant\",\r\n      greeting: config.greeting || \"Need a hand choosing the right gear? Tell me what you're dealing with and I'll point you toward the best fit.\",\r\n      launcherIcon: launcherIcon,\r\n      avatar: avatarIcon,\n      sessionId: sessionId,\n      eventsEndpoint: storefrontEventsUrl(config),\n      proactiveTriggers: Array.isArray(config.triggers) ? config.triggers : [],\n      pageUrl: window.location.pathname + window.location.search,\n      theme: { primary: config.primaryColor || \"#111318\" },\n      context: function () {\r\n        return {\r\n          tenantId: config.tenantId,\r\n          shop: config.shopDomain,\r\n          sessionId: sessionId,\r\n          page: config.page,\r\n          product: config.product,\r\n          collection: config.collection,\r\n          cart: config.cart\r\n        };\r\n      }\r\n    });\r\n  }\r\n\r\n  function mountWhenReady() {\n    clearChatbotStorageIfRequested();\n    var config = window.__amazingChatbotConfig;\n    if (!config || !window.amazingChatbot) {\r\n      window.setTimeout(mountWhenReady, 50);\r\n      return;\r\n    }\r\n    var sessionId = getSessionId(config);\r\n    fetchRemoteConfig(config).then(function (resolvedConfig) {\r\n      if (resolvedConfig.assistantEnabled === false) return;\r\n      mount(resolvedConfig, sessionId);\r\n    });\r\n  }\r\n  if (document.readyState === \"loading\") {\r\n    document.addEventListener(\"DOMContentLoaded\", mountWhenReady);\r\n  } else {\r\n    mountWhenReady();\r\n  }\r\n})();\r\n"],
  "mappings": "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",
  "names": []
}
