@solomei-ai/intent 2.0.6 → 2.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -5,6 +5,9 @@
5
5
  The **Intent** tracker collects consented client context and sends events to **Callimacus**.
6
6
  It can be easily integrated into modern applications (React, Vite, Next.js, etc.) via npm or directly via a script tag.
7
7
 
8
+ **React Native:** `@solomei-ai/intent/native` runs the same pipeline in an app —
9
+ see [docs/react-native.md](docs/react-native.md).
10
+
8
11
  ---
9
12
 
10
13
  ## 📦 Installation
@@ -2,5 +2,5 @@
2
2
  * © 2026 Solomei AI SRL. Proprietary and confidential.
3
3
  * DEBUG BUILD - Includes debug panel. NOT recommended for production.
4
4
  */
5
- import t from"html2canvas-pro";import e from"js-cookie";async function n(){const t=(new Intl.DateTimeFormat).resolvedOptions().timeZone,e=(t=>{const e=t<=0?"+":"-",n=Math.abs(t);return`${e}${String(Math.floor(n/60)).padStart(2,"0")}:${String(n%60).padStart(2,"0")}`})((new Date).getTimezoneOffset()),n=[];n.push(`Language: ${navigator.language}`),navigator.languages?.length&&n.push(`Languages: ${navigator.languages.join(", ")}`),n.push(`User agent: ${navigator.userAgent}`);const o=(()=>{if(!("userAgentData"in(t=navigator))||void 0===t.userAgentData)return;var t;const e=navigator.userAgentData,n=Array.isArray(e.brands)?e.brands.map(t=>`${t.brand} ${t.version}`).join(", "):void 0,o=e.platform?`${e.platform}${e.mobile?" (mobile)":""}`:void 0;return[n&&`UA brands: ${n}`,o&&`Platform: ${o}`].filter(Boolean).join(" | ")||void 0})();o&&n.push(o),n.push(`Timezone: ${t} (UTC${e})`),n.push(`Local time: ${(new Date).toString()}`);const i=window.devicePixelRatio||1;n.push(`Screen: ${screen.width}x${screen.height} @${i}x (avail ${screen.availWidth}x${screen.availHeight}, ${screen.colorDepth}-bit)`);const r=screen.orientation&&"type"in screen.orientation?screen.orientation.type:void 0;n.push(`Viewport: ${window.innerWidth}x${window.innerHeight}${r?`, orientation ${r}`:""}`),n.push(`CPU: ${navigator.hardwareConcurrency} cores`);const a=await async function(){const t=[];let e="browser API";if("connection"in(n=navigator)&&void 0!==n.connection){const e=navigator.connection;e?.effectiveType&&t.push(e.effectiveType),"number"==typeof e?.downlink&&t.push(`~${e.downlink} Mbps`),"number"==typeof e?.rtt&&t.push(`${e.rtt} ms`),e?.saveData&&t.push("saveData")}else{const n=((t=20)=>{const e=performance.getEntriesByType("navigation").find(t=>"navigation"===t.entryType),n=e?Math.max(0,e.responseStart-e.requestStart):void 0,o=performance.getEntriesByType("resource").filter(t=>"resource"===t.entryType);let i=0,r=0;for(const e of o.slice(0,Math.max(0,t))){const t=e.encodedBodySize>0?e.encodedBodySize:e.transferSize>0?e.transferSize:0,n=e.duration;t>0&&n>0&&Number.isFinite(n)&&(i+=t,r+=n)}const a=r>0?8*i/r:void 0;return{downlinkMbps:"number"==typeof a?a/1e3:void 0,rttMs:n}})();"number"==typeof n.downlinkMbps&&t.push(`~${n.downlinkMbps.toFixed(1)} Mbps`),"number"==typeof n.rttMs&&t.push(`TTFB ~${Math.round(n.rttMs)} ms`),e="inferred"}var n;const o=performance.getEntriesByType("navigation").find(t=>"navigation"===t.entryType);if(o){const e=Math.max(0,o.responseStart-o.requestStart);t.some(t=>t.startsWith("TTFB"))||t.push(`TTFB ~${Math.round(e)} ms`)}return t.length?`Network: ${t.join(", ")} (${e})`:void 0}();a&&n.push(a),n.push((()=>{const t="function"==typeof matchMedia&&matchMedia("(pointer: coarse)").matches,e="function"==typeof matchMedia&&matchMedia("(pointer: fine)").matches;return`Pointer/Touch: ${t?"coarse":e?"fine":"unknown"}, maxTouchPoints ${navigator.maxTouchPoints}`})());const s=await(async()=>{var t;if("getBattery"in(t=navigator)&&"function"==typeof t.getBattery)try{const t=await navigator.getBattery(),e=Math.round(100*t.level);return`Battery: ${[`${Number.isFinite(e)?e:0}%`,t.charging?"charging":"not charging"].join(", ")}`}catch{}})();s&&n.push(s),n.push(`CookiesEnabled: ${navigator.cookieEnabled?"yes":"no"}; DNT: ${navigator.doNotTrack??"n/a"}`),n.push("Online: "+(navigator.onLine?"yes":"no")),document.referrer&&n.push(`Referrer: ${document.referrer}`),n.push((()=>{const t="function"==typeof matchMedia&&matchMedia("(display-mode: standalone)").matches;return`PWA: ${Boolean(navigator.serviceWorker?.controller)?"SW-controlled":"no SW"}, display-mode standalone: ${t?"yes":"no"}`})());const d=await async function(t=400){if("DeviceOrientationEvent"in window&&window.isSecureContext)return new Promise(e=>{let n=!1;const o=t=>{const i="number"==typeof t.beta?t.beta:void 0,r="number"==typeof t.gamma?t.gamma:void 0;if(void 0===i||void 0===r)return;if(n)return;n=!0,window.removeEventListener("deviceorientation",o);const a=((t,e)=>{const n=Math.abs(t),o=Math.abs(e);return n<15&&o<15?"flat":n>=60?"upright":"reclined"})(i,r);e(`Tilt: ${a} (β ${Math.round(i)}°, γ ${Math.round(r)}°)`)};window.setTimeout(()=>{n||(n=!0,window.removeEventListener("deviceorientation",o),e(void 0))},t),window.addEventListener("deviceorientation",o,{passive:!0})})}();d&&n.push(d);const c="enabled"===localStorage.getItem("intent:geo");return n.push(c?"Device geolocation: enabled":"Device geolocation: disabled"),n.join(" | ")}const o="intent:consent",i="intent:geo",r="intent:debug-panel",a="intent:data-client-id",s="intent:data-base-url",d="https://intent.callimacus.ai";function c(...t){try{"undefined"!=typeof localStorage&&"enabled"===localStorage.getItem("intent:debug")&&console.log(...t)}catch{}}const l=Object.freeze(new Set(["textbox","combobox","searchbox"])),u=["input","textarea","select","[contenteditable]",...[...l].map(t=>`[role="${t}"]`)].join(", ");function m(t){const e=t.tagName;return"INPUT"===e||"TEXTAREA"===e||"SELECT"===e}function p(t){if(m(t))return!0;const e=t.getAttribute("contenteditable");if(""===e||"true"===e||"plaintext-only"===e)return!0;const n=t.getAttribute("role")?.toLowerCase();return!(!n||!l.has(n))}function g(t){const e=t.parentElement;if(e)return e;const{parentNode:n}=t;return n instanceof ShadowRoot&&n.host instanceof Element?n.host:void 0}function f(t){return t.replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;").replace(/'/g,"&#039;")}const v="data-intent-redact",b=new Set(["name","given-name","additional-name","family-name","nickname","username","email","tel","organization","organization-title","street-address","address-line1","address-line2","address-line3","address-level1","address-level2","address-level3","address-level4","country","country-name","postal-code","cc-name","cc-given-name","cc-additional-name","cc-family-name","cc-number","cc-exp","cc-exp-month","cc-exp-year","cc-csc","cc-type","bday","bday-day","bday-month","bday-year","sex","webauthn"]);function h(t){const e=(t=>{const e=(t.getAttribute?.("data-intent-redact-label")??"").trim();if(e)return e;const n=t.getAttribute?.("autocomplete")||"",o=p(t)?n.toLowerCase().trim().split(/\s+/).filter(Boolean):[];if("INPUT"===t.tagName&&"password"===t.type)return"Password";for(const t of o){const e=y.get(t);if(e)return e}const i=t.getAttribute?.(v)?.toLowerCase();return"mask"===i?"Redacted":"Sensitive"})(t);return`<${e}>`}const y=new Map([["name","Name"],["given-name","First name"],["family-name","Last name"],["additional-name","Middle name"],["nickname","Nickname"],["username","Username"],["email","Email"],["tel","Phone"],["street-address","Street address"],["address-line1","Address line 1"],["address-line2","Address line 2"],["address-line3","Address line 3"],["address-level1","State/Province"],["address-level2","City"],["address-level3","District"],["address-level4","Neighborhood"],["postal-code","Postal code"],["country","Country code"],["country-name","Country name"],["cc-name","Cardholder name"],["cc-given-name","Cardholder first name"],["cc-family-name","Cardholder last name"],["cc-additional-name","Cardholder middle name"],["cc-number","Card number"],["cc-exp","Expiration date"],["cc-exp-month","Expiration month"],["cc-exp-year","Expiration year"],["cc-csc","Security code"],["cc-type","Card type"],["bday","Birthday"],["bday-day","Birth day"],["bday-month","Birth month"],["bday-year","Birth year"],["organization","Organization"],["organization-title","Job title"],["sex","Sex"],["webauthn","WebAuthn"]]);function w(t){return t.hasAttribute("data-html2canvas-ignore")||"ignore"===t.getAttribute(v)?.toLowerCase()}const x=new Set;function S(t){const e=t.getAttribute(v);if(null===e)return!1;const n=e.toLowerCase();return"ignore"!==n&&(""!==e&&"mask"!==n&&(t=>{if(x.has(t))return;x.add(t);const e=`[intent] Unsupported data-intent-redact value ${JSON.stringify(t)}. Supported values are "" or "mask" (redact), "ignore" (exclude from capture). Treating as "mask" to prevent data leaks.`;try{console.warn(e)}catch{}})(e),!0)}function E(t){let e=t;for(;e&&e!==document.body;){if(w(e))return!0;e=g(e)}return!1}function T(t){return!(w(t)||!S(t)&&!(t=>{const e=t.tagName;if("INPUT"===e){const e=t;if("password"===e.type)return!0;if("search"===e.type)return!1;const n=e.getAttribute("role");if("searchbox"===n?.toLowerCase())return!1;if((e.autocomplete||"").toLowerCase().trim().split(/\s+/).filter(Boolean).some(t=>b.has(t)))return!0}if(("TEXTAREA"===e||"SELECT"===e)&&(t.autocomplete||"").toLowerCase().trim().split(/\s+/).filter(Boolean).some(t=>b.has(t)))return!0;if(p(t)&&!m(t)){const e=t.getAttribute("role")?.toLowerCase();if("searchbox"===e)return!1;if((t.getAttribute("autocomplete")||"").toLowerCase().trim().split(/\s+/).filter(Boolean).some(t=>b.has(t)))return!0}return!1})(t))}function k(t){if(!E(t))if(m(t)){if(T(t)){if("INPUT"===t.tagName){const e=t;["date","datetime-local","month","time","week"].includes(e.type)&&(e.type="text")}const e=h(t);t.value=e,t.setAttribute("value",e)}}else p(t)?T(t)&&(t.textContent=h(t)):t.hasAttribute(v)&&S(t)&&(t.textContent=h(t))}function $(t,e){const n=[],o=[t];for(t instanceof Element&&t.shadowRoot&&o.push(t.shadowRoot);o.length>0;){const t=o.pop().querySelectorAll("*");for(const i of t)i.matches(e)&&n.push(i),i.shadowRoot&&o.push(i.shadowRoot)}return n}function L(t,e=new Set){const n=t instanceof Document?t:t.ownerDocument;if(n){if(e.has(n))return;e.add(n)}t instanceof Element&&k(t);for(const e of $(t,u))k(e);for(const e of $(t,`[${v}]`))k(e);for(const n of $(t,"iframe"))if("IFRAME"===n.tagName)try{const t=n.contentDocument;t&&L(t,e)}catch{}}let C="";function A(){return C}function M(t){return e.get(t)}function I(t,n){const o=localStorage.getItem("intent:data-sid-max-age"),i=null===o?void 0:Number(o),r="number"==typeof n&&Number.isFinite(n)?n:"number"==typeof i&&Number.isFinite(i)?i:2592e3,a="https:"===window.location.protocol;e.set("intent_sid",t,{expires:r/86400,path:"/",sameSite:"Lax",...a&&{secure:!0}})}function N(){e.remove("intent_sid",{path:"/"})}function D(){const t=M("intent_sid");if("granted"!==localStorage.getItem(o))return t&&N(),void(C="");t?C=t:(C=crypto.randomUUID(),I(C))}let z,B=!1,P=!1,U=!1,O=!1,F=!1;function j(){return"enabled"===localStorage.getItem(i)}function R(){B=!1,U=!1,F=!1}function H(){return!B&&j()&&!O&&F}let _,q=[],W=!1;function X(){try{return"enabled"===localStorage.getItem(r)}catch{return!1}}function Y(t){try{localStorage.setItem(r,t?"enabled":"disabled"),t?K():z&&(z.style.display="none")}catch{}}function J(){if(!z)return;const t=z.querySelector("#intent-debug-events"),e=z.querySelector("#intent-debug-count");if(!t||!e)return;if(0===q.length)return t.innerHTML='\n\t\t\t<div style="color: var(--solomei-color-muted-foreground, #979797); text-align: center; padding: 20px;">\n\t\t\t\tNo events captured yet. Interact with the page to see events.\n\t\t\t</div>\n\t\t',void(e.textContent="0 events");const n=[...q].reverse();t.innerHTML=n.map(t=>(t=>{const e=new Date(t.timestamp).toLocaleTimeString(),n=t.img&&t.img.length>0,o=n?Math.round(.75*t.img.length/1024):0,i=f(t.event),r=f(JSON.stringify(t.props,null,2)),a=f(t.html),s=f(JSON.stringify(t.bbox,null,2));return`\n\t\t<div style="\n\t\t\tbackground: var(--solomei-color-card, white);\n\t\t\tborder: 1px solid var(--solomei-color-border, #e5e5e5);\n\t\t\tborder-radius: var(--solomei-radius-lg, 10px);\n\t\t\tpadding: 10px;\n\t\t\tmargin-bottom: 8px;\n\t\t">\n\t\t\t<div style="\n\t\t\t\tdisplay: flex;\n\t\t\t\tjustify-content: space-between;\n\t\t\t\talign-items: center;\n\t\t\t\tmargin-bottom: 8px;\n\t\t\t\tpadding-bottom: 8px;\n\t\t\t\tborder-bottom: 1px solid var(--solomei-color-border, #e5e5e5);\n\t\t\t">\n\t\t\t\t<div style="\n\t\t\t\t\tfont-weight: var(--solomei-font-weight-semibold, 600);\n\t\t\t\t\tcolor: var(--solomei-color-foreground, #212121);\n\t\t\t\t\tfont-size: 13px;\n\t\t\t\t">${i}</div>\n\t\t\t\t<div style="\n\t\t\t\t\tcolor: var(--solomei-color-text-secondary, #979797);\n\t\t\t\t\tfont-size: 11px;\n\t\t\t\t">${e}</div>\n\t\t\t</div>\n\t\t\t${n?`\n\t\t\t\t<div style="margin-bottom: 8px;">\n\t\t\t\t\t<img src="${t.img}" \n\t\t\t\t\t\tclass="intent-debug-screenshot" \n\t\t\t\t\t\tstyle="\n\t\t\t\t\t\t\twidth: 100%;\n\t\t\t\t\t\t\tborder-radius: var(--solomei-radius-sm, 6px);\n\t\t\t\t\t\t\tborder: 1px solid var(--solomei-color-border, #e5e5e5);\n\t\t\t\t\t\t\tcursor: pointer;\n\t\t\t\t\t\t" \n\t\t\t\t\t\ttitle="Click to view fullscreen"/>\n\t\t\t\t\t<div style="\n\t\t\t\t\t\tcolor: var(--solomei-color-text-secondary, #979797);\n\t\t\t\t\t\tfont-size: 11px;\n\t\t\t\t\t\tmargin-top: 4px;\n\t\t\t\t\t">Screenshot (~${o} KB)</div>\n\t\t\t\t</div>\n\t\t\t`:""}\n\t\t\t<details style="margin-top: 8px;">\n\t\t\t\t<summary style="\n\t\t\t\t\tcursor: pointer;\n\t\t\t\t\tcolor: var(--solomei-color-foreground, #212121);\n\t\t\t\t\tfont-size: 12px;\n\t\t\t\t\tfont-weight: var(--solomei-font-weight-regular, 500);\n\t\t\t\t\tuser-select: none;\n\t\t\t\t">View Details</summary>\n\t\t\t\t<div style="\n\t\t\t\t\tmargin-top: 8px;\n\t\t\t\t\tpadding: 8px;\n\t\t\t\t\tbackground: var(--solomei-color-secondary, #fafaf9);\n\t\t\t\t\tborder-radius: var(--solomei-radius-sm, 6px);\n\t\t\t\t\tfont-size: 11px;\n\t\t\t\t\tcolor: var(--solomei-color-foreground, #212121);\n\t\t\t\t\tborder: 1px solid var(--solomei-color-border, #e5e5e5);\n\t\t\t\t">\n\t\t\t\t\t<div style="margin-bottom: 6px;"><strong>Properties:</strong></div>\n\t\t\t\t\t<pre style="\n\t\t\t\t\t\tmargin: 0 0 8px 0;\n\t\t\t\t\t\tpadding: 8px;\n\t\t\t\t\t\tbackground: var(--solomei-color-background, white);\n\t\t\t\t\t\tborder-radius: var(--solomei-radius-sm, 6px);\n\t\t\t\t\t\toverflow-x: auto;\n\t\t\t\t\t\tfont-size: 10px;\n\t\t\t\t\t\twhite-space: pre-wrap;\n\t\t\t\t\t\tword-break: break-word;\n\t\t\t\t\t\tborder: 1px solid var(--solomei-color-border, #e5e5e5);\n\t\t\t\t\t">${r}</pre>\n\t\t\t\t\t${t.html?`\n\t\t\t\t\t\t<div style="margin-bottom: 6px;"><strong>HTML:</strong></div>\n\t\t\t\t\t\t<pre style="\n\t\t\t\t\t\t\tmargin: 0 0 8px 0;\n\t\t\t\t\t\t\tpadding: 8px;\n\t\t\t\t\t\t\tbackground: var(--solomei-color-background, white);\n\t\t\t\t\t\t\tborder-radius: var(--solomei-radius-sm, 6px);\n\t\t\t\t\t\t\toverflow-x: auto;\n\t\t\t\t\t\t\tfont-size: 10px;\n\t\t\t\t\t\t\twhite-space: pre-wrap;\n\t\t\t\t\t\t\tword-break: break-word;\n\t\t\t\t\t\t\tborder: 1px solid var(--solomei-color-border, #e5e5e5);\n\t\t\t\t\t\t">${a}</pre>\n\t\t\t\t\t`:""}\n\t\t\t\t\t<div style="margin-bottom: 6px;"><strong>Bounding Box:</strong></div>\n\t\t\t\t\t<pre style="\n\t\t\t\t\t\tmargin: 0;\n\t\t\t\t\t\tpadding: 8px;\n\t\t\t\t\t\tbackground: var(--solomei-color-background, white);\n\t\t\t\t\t\tborder-radius: var(--solomei-radius-sm, 6px);\n\t\t\t\t\t\toverflow-x: auto;\n\t\t\t\t\t\tfont-size: 10px;\n\t\t\t\t\t\tborder: 1px solid var(--solomei-color-border, #e5e5e5);\n\t\t\t\t\t">${s}</pre>\n\t\t\t\t</div>\n\t\t\t</details>\n\t\t</div>\n\t`})(t)).join(""),e.textContent=`${q.length} event${1===q.length?"":"s"}`}function K(){if(z)return void(z.style.display="flex");const t=document.createElement("div");t.innerHTML='\n\t\t<div id="intent-debug-panel" data-intent-redact="ignore" style="\n\t\t\tposition: fixed;\n\t\t\ttop: 20px;\n\t\t\tright: 20px;\n\t\t\twidth: 400px;\n\t\t\tmax-height: 80vh;\n\t\t\tbackground: var(--solomei-color-background, white);\n\t\t\tborder: 1px solid var(--solomei-color-border, #e5e5e5);\n\t\t\tborder-radius: var(--solomei-radius-lg, 10px);\n\t\t\tbox-shadow: var(--solomei-shadow-box, 0 2px 10px rgba(0, 0, 0, 0.15));\n\t\t\tz-index: 2147483647;\n\t\t\tfont-family: var(--solomei-font-primary, -apple-system, BlinkMacSystemFont, \'Segoe UI\', sans-serif);\n\t\t\tfont-size: var(--solomei-font-size-base, 15px);\n\t\t\tdisplay: flex;\n\t\t\tflex-direction: column;\n\t\t">\n\t\t\t<div id="intent-debug-header" style="\n\t\t\t\tbackground: var(--solomei-color-primary, #262626);\n\t\t\t\tcolor: var(--solomei-color-primary-foreground, white);\n\t\t\t\tpadding: 12px 15px;\n\t\t\t\tborder-radius: var(--solomei-radius-lg, 10px) var(--solomei-radius-lg, 10px) 0 0;\n\t\t\t\tcursor: move;\n\t\t\t\tdisplay: flex;\n\t\t\t\tjustify-content: space-between;\n\t\t\t\talign-items: center;\n\t\t\t\tuser-select: none;\n\t\t\t">\n\t\t\t\t<div style="font-weight: var(--solomei-font-weight-semibold, 600); font-size: 14px;">Intent SDK Debug</div>\n\t\t\t\t<div style="display: flex; gap: 8px;">\n\t\t\t\t\t<button id="intent-debug-minimize" style="\n\t\t\t\t\t\tbackground: transparent;\n\t\t\t\t\t\tborder: 1px solid var(--solomei-color-primary-foreground, white);\n\t\t\t\t\t\tcolor: var(--solomei-color-primary-foreground, white);\n\t\t\t\t\t\twidth: 24px;\n\t\t\t\t\t\theight: 24px;\n\t\t\t\t\t\tborder-radius: var(--solomei-radius-sm, 4px);\n\t\t\t\t\t\tcursor: pointer;\n\t\t\t\t\t\tfont-size: 16px;\n\t\t\t\t\t\tdisplay: flex;\n\t\t\t\t\t\talign-items: center;\n\t\t\t\t\t\tjustify-content: center;\n\t\t\t\t\t\tpadding: 0;\n\t\t\t\t\t">−</button>\n\t\t\t\t\t<button id="intent-debug-close" style="\n\t\t\t\t\t\tbackground: transparent;\n\t\t\t\t\t\tborder: 1px solid var(--solomei-color-primary-foreground, white);\n\t\t\t\t\t\tcolor: var(--solomei-color-primary-foreground, white);\n\t\t\t\t\t\twidth: 24px;\n\t\t\t\t\t\theight: 24px;\n\t\t\t\t\t\tborder-radius: var(--solomei-radius-sm, 4px);\n\t\t\t\t\t\tcursor: pointer;\n\t\t\t\t\t\tfont-size: 16px;\n\t\t\t\t\t\tdisplay: flex;\n\t\t\t\t\t\talign-items: center;\n\t\t\t\t\t\tjustify-content: center;\n\t\t\t\t\t\tpadding: 0;\n\t\t\t\t\t">×</button>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t\t<div id="intent-debug-content" style="\n\t\t\t\tdisplay: flex;\n\t\t\t\tflex-direction: column;\n\t\t\t\toverflow: hidden;\n\t\t\t\tflex: 1;\n\t\t\t">\n\t\t\t\t<div style="\n\t\t\t\t\tpadding: 12px 15px;\n\t\t\t\t\tborder-bottom: 1px solid var(--solomei-color-border, #e5e5e5);\n\t\t\t\t\tbackground: var(--solomei-color-background, white);\n\t\t\t\t">\n\t\t\t\t\t<div style="font-weight: var(--solomei-font-weight-semibold, 600); color: var(--solomei-color-foreground, #212121); margin-bottom: 8px;">Event Log</div>\n\t\t\t\t\t<div style="display: flex; gap: 8px; align-items: center;">\n\t\t\t\t\t\t<button id="intent-debug-clear" style="\n\t\t\t\t\t\t\tbackground: var(--solomei-color-primary, #262626);\n\t\t\t\t\t\t\tcolor: var(--solomei-color-primary-foreground, white);\n\t\t\t\t\t\t\tborder: none;\n\t\t\t\t\t\t\tpadding: 6px 12px;\n\t\t\t\t\t\t\tborder-radius: var(--solomei-radius-button, 20px);\n\t\t\t\t\t\t\tcursor: pointer;\n\t\t\t\t\t\t\tfont-size: 12px;\n\t\t\t\t\t\t\tfont-weight: var(--solomei-font-weight-regular, 500);\n\t\t\t\t\t\t">Clear</button>\n\t\t\t\t\t\t<span id="intent-debug-count" style="color: var(--solomei-color-text-secondary, #979797); font-size: 12px;">0 events</span>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t\t<div id="intent-debug-events" style="\n\t\t\t\t\tflex: 1;\n\t\t\t\t\toverflow-y: auto;\n\t\t\t\t\tpadding: 10px;\n\t\t\t\t">\n\t\t\t\t\t<div style="color: var(--solomei-color-muted-foreground, #979797); text-align: center; padding: 20px;">\n\t\t\t\t\t\tNo events captured yet. Interact with the page to see events.\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</div>\n\t',z=t.firstElementChild,document.body.appendChild(z);const e=z.querySelector("#intent-debug-close"),n=z.querySelector("#intent-debug-minimize"),o=z.querySelector("#intent-debug-clear");e?.addEventListener("click",()=>{Y(!1)}),n?.addEventListener("click",()=>{(()=>{if(!z)return;const t=z.querySelector("#intent-debug-content"),e=z.querySelector("#intent-debug-minimize");t&&e&&(W=!W,W?(t.style.display="none",z.style.width="200px",e.textContent="+"):(t.style.display="flex",z.style.width="400px",e.textContent="−"))})()}),o?.addEventListener("click",()=>{q=[],J()}),(()=>{if(!z)return;const t=z.querySelector("#intent-debug-header");if(!t)return;let e=!1,n=0,o=0,i=0,r=0;t.addEventListener("mousedown",t=>{if("BUTTON"===t.target.tagName)return;e=!0;const n=z.getBoundingClientRect();i=t.clientX-n.left,r=t.clientY-n.top}),document.addEventListener("mousemove",t=>{if(!e||!z)return;t.preventDefault(),n=t.clientX-i,o=t.clientY-r;const a=window.innerWidth-z.offsetWidth,s=window.innerHeight-z.offsetHeight;n=Math.max(0,Math.min(n,a)),o=Math.max(0,Math.min(o,s)),z.style.left=`${n}px`,z.style.top=`${o}px`,z.style.right="auto"}),document.addEventListener("mouseup",()=>{e=!1})})(),z.addEventListener("click",t=>{const e=t.target;if(e.classList.contains("intent-debug-screenshot")){const t=e;t.src&&t.src.startsWith("data:image/")&&(t=>{const e=document.createElement("div");e.id="intent-debug-fullscreen-modal",e.setAttribute("data-intent-redact","ignore"),e.style.cssText="\n\t\tposition: fixed;\n\t\ttop: 0;\n\t\tleft: 0;\n\t\twidth: 100%;\n\t\theight: 100%;\n\t\tbackground: rgba(0, 0, 0, 0.95);\n\t\tz-index: 2147483646;\n\t\tdisplay: flex;\n\t\talign-items: center;\n\t\tjustify-content: center;\n\t\tcursor: zoom-out;\n\t";const n=document.createElement("div");n.style.cssText="\n\t\tmax-width: 95%;\n\t\tmax-height: 95%;\n\t\tdisplay: flex;\n\t\tflex-direction: column;\n\t\talign-items: center;\n\t";const o=document.createElement("img");o.src=t,o.style.cssText="\n\t\tmax-width: 100%;\n\t\tmax-height: calc(95vh - 60px);\n\t\tborder-radius: var(--solomei-radius-lg, 10px);\n\t\tbox-shadow: var(--solomei-shadow-box, 0 2px 10px rgba(0, 0, 0, 0.2));\n\t";const i=document.createElement("div");i.style.cssText="\n\t\tmargin-top: 20px;\n\t\tdisplay: flex;\n\t\tgap: 20px;\n\t\talign-items: center;\n\t";const r=document.createElement("button");r.textContent="✕ Close",r.style.cssText="\n\t\tpadding: 12px 24px;\n\t\tbackground: var(--solomei-color-primary-button-background, #262626);\n\t\tcolor: var(--solomei-color-primary-button-color, white);\n\t\tborder: none;\n\t\tborder-radius: var(--solomei-radius-button, 20px);\n\t\tfont-size: 14px;\n\t\tfont-weight: var(--solomei-font-weight-semibold, 600);\n\t\tcursor: pointer;\n\t\tbox-shadow: var(--solomei-shadow-box, 0 2px 10px rgba(0, 0, 0, 0.15));\n\t";const a=document.createElement("div");a.textContent="Click anywhere or press ESC to close",a.style.cssText="\n\t\tcolor: var(--solomei-color-primary-foreground, white);\n\t\tfont-size: 13px;\n\t",i.appendChild(r),i.appendChild(a),n.appendChild(o),n.appendChild(i),e.appendChild(n);const s=()=>{e.remove(),document.removeEventListener("keydown",d)};e.addEventListener("click",s),r.addEventListener("click",t=>{t.stopPropagation(),s()}),o.addEventListener("click",t=>{t.stopPropagation()});const d=t=>{"Escape"===t.key&&s()};document.addEventListener("keydown",d),document.body.appendChild(e)})(t.src)}}),J()}"undefined"!=typeof window&&X()&&("loading"===document.readyState?document.addEventListener("DOMContentLoaded",()=>{K()}):K());let V,Z=0,G=!1;const Q="__intent__sdk__initialized__",tt=["button","a[href]","a",'input[type="submit"]','input[type="button"]','[role="button"]','[role="link"]',"[onclick]"].join(",");function et(){return D(),"granted"===localStorage.getItem(o)&&Boolean(A())&&Boolean(localStorage.getItem(a)?.trim().length)}function nt(){return!et()||P}async function ot(e){for(;V;)await V;return V=(async()=>{try{const n=performance.now(),o=performance.now(),i=(t=>{if(w(t))return"";const e=t.cloneNode(!1);return Array.from(t.attributes).forEach(({name:t,value:n})=>{e.setAttribute(t,n)}),m(t)?m(e)&&(e.value=t.value):p(t)?e.innerHTML=t.innerHTML:e.textContent=t.textContent,L(e),m(e)&&e.setAttribute("value",e.value),e.outerHTML})(e);c(`[Timing] serialize: ${(performance.now()-o).toFixed(2)}ms`);const r=e.getBoundingClientRect(),a=performance.now(),s={left:window.scrollX,top:window.scrollY,right:window.scrollX+window.innerWidth,bottom:window.scrollY+window.innerHeight},d=await t(document.body,{useCORS:!0,x:window.scrollX,y:window.scrollY,width:window.innerWidth,height:window.innerHeight,scale:.6,logging:!1,onclone(t){L(t)},ignoreElements(t){if(!(t instanceof Element))return!1;if(E(t))return!0;const e=t.getBoundingClientRect(),n=e.left+window.scrollX,o=e.top+window.scrollY,i=e.right+window.scrollX,r=e.bottom+window.scrollY,a=100,d=o>s.bottom+a;if(!(i<s.left-a||n>s.right+a||r<s.top-a||d))return!1;const{position:c}=window.getComputedStyle(t);let l;if("fixed"===c||"absolute"===c){const t=500;l=i<s.left-t||n>s.right+t||r<s.top-t||o>s.bottom+t}else l=d;return!!l&&!("INPUT"===t.tagName||"TEXTAREA"===t.tagName||"SELECT"===t.tagName||t.hasAttribute("data-intent-redact")||t.querySelector("input, textarea, select, [data-intent-redact]"))}});c(`[Timing] html2canvas-pro: ${(performance.now()-a).toFixed(2)}ms`);const l=performance.now(),u=d.toDataURL("image/jpeg",.8);c(`[Timing] jpeg-encoding: ${(performance.now()-l).toFixed(2)}ms`);return c(`[Timing] capture-total: ${(performance.now()-n).toFixed(2)}ms`),{html:i,bbox:{x:r.x,y:r.y,w:r.width,h:r.height},img:u,fullCanvas:d}}finally{V=void 0}})(),V}function it(){const t=localStorage.getItem(a),e={"Content-Type":"application/json"};t&&(e["x-sl-access-token"]=t);const n=A();return n&&(e["x-intent-sid"]=n),e}async function rt(t,e,n,o){if(!et())return;const i={...e,localTime:(new Date).toISOString()};p(n)&&(i.value=T(n)?h(n):(t=>{if(m(t))return t.value;const e=t.innerText;return"string"==typeof e?e:t.textContent??""})(n));let r="",c={x:0,y:0,w:0,h:0},l="";const u=!("scroll"===t||"page-blur"===t||"page-focus"===t),g=Date.now();let f=o;u&&(("click"===t||"input-submit"===t||"pageview"===t)&&!f||!f&&g-Z>=0)&&(f=await ot(n),Z=g),f&&(r=f.html,c=f.bbox,l=f.img);const v="page-blur"===t||"page-focus"===t||"pageview"===t,b={ts:Date.now(),event:t,url:window.location.href,props:i,html:v?"":r,bbox:c,img:l};(function(t,e,n,o,i){((t,e,n,o,i)=>{if(!X())return;const r={id:"undefined"!=typeof crypto&&"function"==typeof crypto.randomUUID?crypto.randomUUID():`${Date.now()}-${Math.random()}`,timestamp:Date.now(),event:t,props:e,html:n,bbox:o,img:i};q.push(r),q.length>50&&q.shift(),J()})(t,e,n,o,i)})(t,i,v?"":r,c,l),await async function(t){const e=`${localStorage.getItem(s)??d}/events`,n=localStorage.getItem(a)??void 0,o=JSON.stringify({...t,clientId:n});try{if((await fetch(e,{method:"POST",headers:it(),body:o,keepalive:!0,credentials:"omit"})).ok)return}catch{}try{await(async t=>{const e=`${localStorage.getItem(s)??d}/p.gif`;if(!(await fetch(e,{method:"POST",headers:it(),body:JSON.stringify(t),keepalive:!0,credentials:"omit",cache:"no-store"})).ok)throw new Error("pixel body fallback failed")})(t)}catch{}}(b)}async function at(t={}){if(!et())return;const e="number"==typeof t.lat&&"number"==typeof t.lon;if(e&&B)return;if(!e&&G)return;const o=localStorage.getItem("intent:data-ip"),i={context:await n()};o&&(i.ip=o);for(const[e,n]of Object.entries(t))i[e]=n;await rt("context",i,document.body,{html:"",bbox:{x:0,y:0,w:0,h:0},img:""}),e||(G=!0)}async function st(){await(async(t,e)=>{const n=e(),o=j();if(!n||!o||B)return;if(!("geolocation"in navigator))return;if(O)return;O=!0,P=!0;const i={enableHighAccuracy:!1,maximumAge:3e5,timeout:2e4};try{await(navigator.permissions?.query({name:"geolocation"}))}catch(t){}await new Promise(t=>{let e=!1;const n=async(n,o,i)=>{e||(e=!0,Number.isFinite(n)&&Number.isFinite(o)&&(await(async(t,e,n)=>{await at({lat:t,lon:e,source:"device",...n})})(n,o,i),B=!0),O=!1,P=!1,F=!0,t())};navigator.geolocation.getCurrentPosition(t=>{const e=t.coords;n(e.latitude,e.longitude,{accuracy:e.accuracy,altitude:"number"==typeof e.altitude?e.altitude:void 0,altitudeAccuracy:"number"==typeof e.altitudeAccuracy?e.altitudeAccuracy:void 0,heading:"number"==typeof e.heading?e.heading:void 0,speed:"number"==typeof e.speed?e.speed:void 0,timestamp:t.timestamp,visibility:document.visibilityState,focused:document.hasFocus()})},t=>{const e=t?.code,o={error:{code:e,name:1===e?"PERMISSION_DENIED":2===e?"POSITION_UNAVAILABLE":3===e?"TIMEOUT":"UNKNOWN",message:t?.message??""},online:navigator.onLine,visibility:document.visibilityState,focused:document.hasFocus(),secure:window.isSecureContext,proto:location.protocol,host:location.hostname};n(void 0,void 0,o)},i)})})(0,et)}function dt(){(t=>{if(U||!j()||B)return;U=!0;const e=()=>{window.removeEventListener("pointerdown",e,!0),window.removeEventListener("keydown",e,!0),t()};window.addEventListener("pointerdown",e,!0),window.addEventListener("keydown",e,!0)})(st)}D();let ct=!document.hidden&&document.hasFocus(),lt=document.hasFocus();function ut(){if(nt())return;const t=!document.hidden&&document.hasFocus();t&&(lt=!0),lt||t?t!==ct&&(ct=t,rt(t?"page-focus":"page-blur",{},document.body)):ct=t}function mt(){(()=>{const t=globalThis;return!t[Q]&&(Object.defineProperty(t,Q,{value:!0,configurable:!1,enumerable:!1,writable:!1}),!0)})()&&(window.addEventListener("load",()=>{et()&&(at(),(window.isSecureContext||"localhost"===location.hostname)&&(j()&&dt(),window.addEventListener("focus",()=>{H()&&st()}),document.addEventListener("visibilitychange",()=>{!document.hidden&&H()&&st()})))}),window.addEventListener("storage",t=>{t.key===o&&("granted"===localStorage.getItem(o)?(G=!1,at(),j()&&dt()):(G=!1,R())),t.key===i&&(j()?dt():R())}),window.addEventListener("load",()=>{et()&&rt("pageview",{url:window.location.href,title:document.title,ref:document.referrer},document.body)}),addEventListener("pointerdown",(()=>{let t=0;return(...e)=>{const n=Date.now();n-t>=50&&(t=n,(t=>{if(nt())return;const e=t.target instanceof Element?t.target.closest(tt):null;e instanceof HTMLElement&&(_=ot(e))})(...e))}})(),{capture:!0,passive:!0}),addEventListener("click",async t=>{if(nt())return;if(!(t.target instanceof Element))return;const e=t.target.closest(tt);if(!(e instanceof HTMLElement))return;const n=(t=>{const e=t.getAttribute("aria-label")?.trim();if(e)return e;const n=t.title.trim();if(n)return n;const o=t.textContent?.trim();return o||"<no visible label>"})(e);(async()=>{const t=_?await _:void 0;_=void 0,rt("click",{tag:e.tagName,label:n},e,t)})()},!0),addEventListener("keydown",t=>{if(!nt()&&"Enter"===t.key){const e=t.target;if(!(e instanceof HTMLElement))return;const n=e.tagName;if("INPUT"===n||"TEXTAREA"===n)rt("input-submit",{tag:n,name:(e instanceof HTMLInputElement?e.name:void 0)??(e.id||void 0)},e);else if(p(e)){const t=(t=>{let e=t;for(;e&&e!==document.body;){const t=e.getAttribute("contenteditable");if("true"===t||""===t||"plaintext-only"===t)return e;e=e.parentElement}return null})(e)??e;if("newline"===t.dataset.intentEnter)return;const n=t.getAttribute("role")?.toLowerCase(),o=t.id||void 0;rt("input-submit",{tag:"CONTENTEDITABLE",role:n??"contenteditable",name:t.getAttribute("name")||t.getAttribute("aria-label")||o},t)}}},{capture:!0}),["focus","blur"].forEach(t=>{window.addEventListener(t,ut)}),document.addEventListener("visibilitychange",ut),window.addEventListener("scroll",(()=>{let t;return(...e)=>{void 0!==t&&window.clearTimeout(t),t=window.setTimeout(()=>{t=void 0,(()=>{nt()||rt("scroll",{scrollX:window.scrollX,scrollY:window.scrollY},document.body)})(...e)},250)}})(),{passive:!0}),window.intent??={send(t,e){et()&&rt(t,e,document.body)}})}function pt(t,e){try{if(void 0===e)return;localStorage.setItem(t,e?"intent:consent"===t?"granted":"enabled":"disabled")}catch{}}function gt(t){pt("intent:consent",t)}function ft(t){pt("intent:geo",t)}function vt(t){pt("intent:debug",t)}function bt(t){t&&"undefined"!=typeof console&&console.warn&&console.warn("[Intent SDK] ⚠️ Debug panel is enabled. This feature is NOT recommended for production use. It exposes internal SDK behavior and should only be used during development."),(t=>{Y(t)})(t)}function ht(t={}){localStorage.setItem("intent:data-client-id",t.clientId??""),localStorage.setItem("intent:data-ip",t.ip??""),localStorage.setItem("intent:data-base-url",t.baseUrl??"https://intent.callimacus.ai"),"number"==typeof t.sidMaxAgeSeconds&&localStorage.setItem("intent:data-sid-max-age",String(t.sidMaxAgeSeconds)),pt("intent:consent",t.consent),pt("intent:geo",t.geo),pt("intent:debug",t.debug),void 0!==t.debugPanel&&bt(t.debugPanel),t.consent&&(M("intent_sid")||I("undefined"!=typeof crypto&&"function"==typeof crypto.randomUUID?crypto.randomUUID():`${Date.now()}-${Math.random()}`,t.sidMaxAgeSeconds)),mt()}function yt(){return M("intent_sid")}function wt(){D()}function xt(){N()}function St(t){Number.isFinite(t)&&localStorage.setItem("intent:data-sid-max-age",String(t));const e=M("intent_sid");e&&I(e,t)}export{xt as clearIntentSessionId,wt as ensureIntentSessionId,yt as getIntentSessionId,ht as initIntent,gt as setConsent,vt as setDebug,bt as setDebugPanel,ft as setGeo,St as setIntentSessionMaxAge};
5
+ import t from"html2canvas-pro";import e from"js-cookie";async function n(){const t=(new Intl.DateTimeFormat).resolvedOptions().timeZone,e=(t=>{const e=t<=0?"+":"-",n=Math.abs(t);return`${e}${String(Math.floor(n/60)).padStart(2,"0")}:${String(n%60).padStart(2,"0")}`})((new Date).getTimezoneOffset()),n=[];n.push(`Language: ${navigator.language}`),navigator.languages?.length&&n.push(`Languages: ${navigator.languages.join(", ")}`),n.push(`User agent: ${navigator.userAgent}`);const o=(()=>{if(!("userAgentData"in(t=navigator))||void 0===t.userAgentData)return;var t;const e=navigator.userAgentData,n=Array.isArray(e.brands)?e.brands.map(t=>`${t.brand} ${t.version}`).join(", "):void 0,o=e.platform?`${e.platform}${e.mobile?" (mobile)":""}`:void 0;return[n&&`UA brands: ${n}`,o&&`Platform: ${o}`].filter(Boolean).join(" | ")||void 0})();o&&n.push(o),n.push(`Timezone: ${t} (UTC${e})`),n.push(`Local time: ${(new Date).toString()}`);const i=window.devicePixelRatio||1;n.push(`Screen: ${screen.width}x${screen.height} @${i}x (avail ${screen.availWidth}x${screen.availHeight}, ${screen.colorDepth}-bit)`);const r=screen.orientation&&"type"in screen.orientation?screen.orientation.type:void 0;n.push(`Viewport: ${window.innerWidth}x${window.innerHeight}${r?`, orientation ${r}`:""}`),n.push(`CPU: ${navigator.hardwareConcurrency} cores`);const s=await async function(){const t=[];let e="browser API";if("connection"in(n=navigator)&&void 0!==n.connection){const e=navigator.connection;e?.effectiveType&&t.push(e.effectiveType),"number"==typeof e?.downlink&&t.push(`~${e.downlink} Mbps`),"number"==typeof e?.rtt&&t.push(`${e.rtt} ms`),e?.saveData&&t.push("saveData")}else{const n=((t=20)=>{const e=performance.getEntriesByType("navigation").find(t=>"navigation"===t.entryType),n=e?Math.max(0,e.responseStart-e.requestStart):void 0,o=performance.getEntriesByType("resource").filter(t=>"resource"===t.entryType);let i=0,r=0;for(const e of o.slice(0,Math.max(0,t))){const t=e.encodedBodySize>0?e.encodedBodySize:e.transferSize>0?e.transferSize:0,n=e.duration;t>0&&n>0&&Number.isFinite(n)&&(i+=t,r+=n)}const s=r>0?8*i/r:void 0;return{downlinkMbps:"number"==typeof s?s/1e3:void 0,rttMs:n}})();"number"==typeof n.downlinkMbps&&t.push(`~${n.downlinkMbps.toFixed(1)} Mbps`),"number"==typeof n.rttMs&&t.push(`TTFB ~${Math.round(n.rttMs)} ms`),e="inferred"}var n;const o=performance.getEntriesByType("navigation").find(t=>"navigation"===t.entryType);if(o){const e=Math.max(0,o.responseStart-o.requestStart);t.some(t=>t.startsWith("TTFB"))||t.push(`TTFB ~${Math.round(e)} ms`)}return t.length?`Network: ${t.join(", ")} (${e})`:void 0}();s&&n.push(s),n.push((()=>{const t="function"==typeof matchMedia&&matchMedia("(pointer: coarse)").matches,e="function"==typeof matchMedia&&matchMedia("(pointer: fine)").matches;return`Pointer/Touch: ${t?"coarse":e?"fine":"unknown"}, maxTouchPoints ${navigator.maxTouchPoints}`})());const a=await(async()=>{var t;if("getBattery"in(t=navigator)&&"function"==typeof t.getBattery)try{const t=await navigator.getBattery(),e=Math.round(100*t.level);return`Battery: ${[`${Number.isFinite(e)?e:0}%`,t.charging?"charging":"not charging"].join(", ")}`}catch{}})();a&&n.push(a),n.push(`CookiesEnabled: ${navigator.cookieEnabled?"yes":"no"}; DNT: ${navigator.doNotTrack??"n/a"}`),n.push("Online: "+(navigator.onLine?"yes":"no")),document.referrer&&n.push(`Referrer: ${document.referrer}`),n.push((()=>{const t="function"==typeof matchMedia&&matchMedia("(display-mode: standalone)").matches;return`PWA: ${Boolean(navigator.serviceWorker?.controller)?"SW-controlled":"no SW"}, display-mode standalone: ${t?"yes":"no"}`})());const c=await async function(t=400){if("DeviceOrientationEvent"in window&&window.isSecureContext)return new Promise(e=>{let n=!1;const o=t=>{const i="number"==typeof t.beta?t.beta:void 0,r="number"==typeof t.gamma?t.gamma:void 0;if(void 0===i||void 0===r)return;if(n)return;n=!0,window.removeEventListener("deviceorientation",o);const s=((t,e)=>{const n=Math.abs(t),o=Math.abs(e);return n<15&&o<15?"flat":n>=60?"upright":"reclined"})(i,r);e(`Tilt: ${s} (β ${Math.round(i)}°, γ ${Math.round(r)}°)`)};window.setTimeout(()=>{n||(n=!0,window.removeEventListener("deviceorientation",o),e(void 0))},t),window.addEventListener("deviceorientation",o,{passive:!0})})}();c&&n.push(c);const l="enabled"===localStorage.getItem("intent:geo");return n.push(l?"Device geolocation: enabled":"Device geolocation: disabled"),n.join(" | ")}const o="intent:consent",i="intent:geo",r="intent:debug",s="intent:debug-panel",a="intent:data-client-id",c="intent:data-base-url",l="https://intent.callimacus.ai",d=2166136261,u=16777619;function f(t,e){let n=t;for(let t=0;t<e.length;t++)n^=e.charCodeAt(t),n=Math.imul(n,u);return n>>>0}function g(t,e){return Math.imul(t^e,u)>>>0}const m=[{seed:2166136261,prime:16777619},{seed:2654435761,prime:2246822507},{seed:3266489909,prime:668265263},{seed:374761393,prime:3266489955}];function h(t,e){let n=0;return(...o)=>{const i=Date.now();i-n>=e&&(n=i,t(...o))}}function p(...t){try{"undefined"!=typeof localStorage&&"enabled"===localStorage.getItem(r)&&console.log(...t)}catch{}}const b=Object.freeze(new Set(["textbox","combobox","searchbox"])),v=["input","textarea","select","[contenteditable]",...[...b].map(t=>`[role="${t}"]`)].join(", ");function w(t){const e=t.tagName;return"INPUT"===e||"TEXTAREA"===e||"SELECT"===e}function y(t){if(w(t))return!0;const e=t.getAttribute("contenteditable");if(""===e||"true"===e||"plaintext-only"===e)return!0;const n=t.getAttribute("role")?.toLowerCase();return!(!n||!b.has(n))}function x(t){const e=t.parentElement;if(e)return e;const{parentNode:n}=t;return n instanceof ShadowRoot&&n.host instanceof Element?n.host:void 0}function S(t){if(w(t))return t.value;const e=t.innerText;return"string"==typeof e?e:t.textContent??""}function T(t){return t.replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;").replace(/'/g,"&#039;")}Object.freeze(new Set(["searchbox","search"]));const E=new Map([["name","Name"],["given-name","First name"],["family-name","Last name"],["additional-name","Middle name"],["nickname","Nickname"],["username","Username"],["name-given","First name"],["name-family","Last name"],["name-middle","Middle name"],["name-middle-initial","Middle initial"],["name-prefix","Name prefix"],["name-suffix","Name suffix"],["honorific-prefix","Name prefix"],["honorific-suffix","Name suffix"],["username-new","Username"],["password","Password"],["password-new","Password"],["current-password","Password"],["new-password","Password"],["one-time-code","One-time code"],["sms-otp","One-time code"],["webauthn","WebAuthn"],["email","Email"],["tel","Phone"],["tel-country-code","Phone country code"],["tel-national","Phone"],["tel-device","Phone"],["street-address","Street address"],["address-line1","Address line 1"],["address-line2","Address line 2"],["address-line3","Address line 3"],["address-level1","State/Province"],["address-level2","City"],["address-level3","District"],["address-level4","Neighborhood"],["postal-code","Postal code"],["country","Country code"],["country-name","Country name"],["postal-address","Street address"],["postal-address-country","Country name"],["postal-address-extended","Address line 2"],["postal-address-extended-postal-code","Postal code"],["postal-address-locality","City"],["postal-address-region","State/Province"],["cc-name","Cardholder name"],["cc-given-name","Cardholder first name"],["cc-family-name","Cardholder last name"],["cc-additional-name","Cardholder middle name"],["cc-middle-name","Cardholder middle name"],["cc-number","Card number"],["cc-exp","Expiration date"],["cc-exp-day","Expiration day"],["cc-exp-month","Expiration month"],["cc-exp-year","Expiration year"],["cc-csc","Security code"],["cc-type","Card type"],["bday","Birthday"],["bday-day","Birth day"],["bday-month","Birth month"],["bday-year","Birth year"],["birthdate-full","Birthday"],["birthdate-day","Birth day"],["birthdate-month","Birth month"],["birthdate-year","Birth year"],["organization","Organization"],["organization-title","Job title"],["sex","Sex"],["gender","Sex"]]),L=Object.freeze(new Set(E.keys()));function k(t){return t?t.toLowerCase().trim().split(/\s+/).filter(Boolean):[]}function A(t){return t.some(t=>L.has(t))}function $(t){for(const e of t){const t=E.get(e);if(t)return t}}const I="data-intent-redact";function M(t){return e=(t=>{const e=(t.getAttribute?.("data-intent-redact-label")??"").trim();if(e)return e;const n=y(t)?k(t.getAttribute?.("autocomplete")):[];if("INPUT"===t.tagName&&"password"===t.type)return"Password";const o=$(n);if(o)return o;const i="INPUT"===t.tagName?U.get(t.type):void 0,r=i?$([i]):void 0;if(r)return r;const s=t.getAttribute?.(I)?.toLowerCase();return"mask"===s?"Redacted":"Sensitive"})(t),`<${e}>`;var e}function C(t){return t.hasAttribute("data-html2canvas-ignore")||"ignore"===t.getAttribute(I)?.toLowerCase()}const N=new Set;function D(t){const e=t.getAttribute(I);if(null===e)return!1;const n=e.toLowerCase();return"ignore"!==n&&(""!==e&&"mask"!==n&&(t=>{if(N.has(t))return;N.add(t);const e=`[intent] Unsupported data-intent-redact value ${JSON.stringify(t)}. Supported values are "" or "mask" (redact), "ignore" (exclude from capture). Treating as "mask" to prevent data leaks.`;try{console.warn(e)}catch{}})(e),!0)}function O(t){let e=t;for(;e&&e!==document.body;){if(C(e))return!0;e=x(e)}return!1}function P(t){let e=t;for(;e&&e!==document.body;){if(D(e))return e;e=x(e)}}function B(t){return void 0!==P(t)}function z(t){return D(t)||F(t)?M(t):M(P(t)??t)}function H(t){return!O(t)&&(B(t)||F(t))}const R=Object.freeze(new Set(["searchbox"])),U=new Map([["email","email"],["tel","tel"]]);function F(t){const e=t.tagName,n=t.getAttribute("role")?.toLowerCase();if("INPUT"===e){const e=t;return"password"===e.type||!("search"===e.type||n&&R.has(n))&&(!!U.has(e.type)||A(k(e.autocomplete)))}return"TEXTAREA"===e||"SELECT"===e?A(k(t.autocomplete)):!(!y(t)||w(t))&&(!n||!R.has(n))&&A(k(t.getAttribute("autocomplete")))}function j(t){return!(C(t)||!D(t)&&!F(t))}function q(t){if(!O(t))if(w(t)){if(j(t)){if("INPUT"===t.tagName){const e=t;["date","datetime-local","month","time","week"].includes(e.type)&&(e.type="text")}const e=M(t);t.value=e,t.setAttribute("value",e)}}else y(t)?j(t)&&(t.textContent=M(t)):t.hasAttribute(I)&&D(t)&&(t.textContent=M(t))}function W(t,e){const n=[],o=[t];for(t instanceof Element&&t.shadowRoot&&o.push(t.shadowRoot);o.length>0;){const t=o.pop().querySelectorAll("*");for(const i of t)i.matches(e)&&n.push(i),i.shadowRoot&&o.push(i.shadowRoot)}return n}function _(t,e=new Set){const n=t instanceof Document?t:t.ownerDocument;if(n){if(e.has(n))return;e.add(n)}t instanceof Element&&q(t);for(const e of W(t,v))q(e);for(const e of W(t,`[${I}]`))q(e);for(const n of W(t,"iframe"))if("IFRAME"===n.tagName)try{const t=n.contentDocument;t&&_(t,e)}catch{}}let X="";function Y(){return X}function V(t){return e.get(t)}function J(t,n){const o=localStorage.getItem("intent:data-sid-max-age"),i=null===o?void 0:Number(o),r="number"==typeof n&&Number.isFinite(n)?n:"number"==typeof i&&Number.isFinite(i)?i:2592e3,s="https:"===window.location.protocol;e.set("intent_sid",t,{expires:r/86400,path:"/",sameSite:"Lax",...s&&{secure:!0}})}function K(){e.remove("intent_sid",{path:"/"})}function G(){const t=V("intent_sid");if("granted"!==localStorage.getItem(o))return t&&K(),void(X="");t?X=t:(X=crypto.randomUUID(),J(X))}let Q,Z=!1,tt=!1,et=!1,nt=!1,ot=!1;function it(){return"enabled"===localStorage.getItem(i)}function rt(){Z=!1,et=!1,ot=!1}function st(){return!Z&&it()&&!nt&&ot}let at=[],ct=!1;function lt(){try{return"enabled"===localStorage.getItem(s)}catch{return!1}}function dt(t){try{localStorage.setItem(s,t?"enabled":"disabled"),t?ft():Q&&(Q.style.display="none")}catch{}}function ut(){if(!Q)return;const t=Q.querySelector("#intent-debug-events"),e=Q.querySelector("#intent-debug-count");if(!t||!e)return;if(0===at.length)return t.innerHTML='\n\t\t\t<div style="color: var(--solomei-color-muted-foreground, #979797); text-align: center; padding: 20px;">\n\t\t\t\tNo events captured yet. Interact with the page to see events.\n\t\t\t</div>\n\t\t',void(e.textContent="0 events");const n=[...at].reverse();t.innerHTML=n.map(t=>(t=>{const e=new Date(t.timestamp).toLocaleTimeString(),n=t.img&&t.img.length>0,o=n?Math.round(.75*t.img.length/1024):0,i=T(t.event),r=T(JSON.stringify(t.props,null,2)),s=T(t.html),a=T(JSON.stringify(t.bbox,null,2));return`\n\t\t<div style="\n\t\t\tbackground: var(--solomei-color-card, white);\n\t\t\tborder: 1px solid var(--solomei-color-border, #e5e5e5);\n\t\t\tborder-radius: var(--solomei-radius-lg, 10px);\n\t\t\tpadding: 10px;\n\t\t\tmargin-bottom: 8px;\n\t\t">\n\t\t\t<div style="\n\t\t\t\tdisplay: flex;\n\t\t\t\tjustify-content: space-between;\n\t\t\t\talign-items: center;\n\t\t\t\tmargin-bottom: 8px;\n\t\t\t\tpadding-bottom: 8px;\n\t\t\t\tborder-bottom: 1px solid var(--solomei-color-border, #e5e5e5);\n\t\t\t">\n\t\t\t\t<div style="\n\t\t\t\t\tfont-weight: var(--solomei-font-weight-semibold, 600);\n\t\t\t\t\tcolor: var(--solomei-color-foreground, #212121);\n\t\t\t\t\tfont-size: 13px;\n\t\t\t\t">${i}</div>\n\t\t\t\t<div style="\n\t\t\t\t\tcolor: var(--solomei-color-text-secondary, #979797);\n\t\t\t\t\tfont-size: 11px;\n\t\t\t\t">${e}</div>\n\t\t\t</div>\n\t\t\t${n?`\n\t\t\t\t<div style="margin-bottom: 8px;">\n\t\t\t\t\t<img src="${t.img}" \n\t\t\t\t\t\tclass="intent-debug-screenshot" \n\t\t\t\t\t\tstyle="\n\t\t\t\t\t\t\twidth: 100%;\n\t\t\t\t\t\t\tborder-radius: var(--solomei-radius-sm, 6px);\n\t\t\t\t\t\t\tborder: 1px solid var(--solomei-color-border, #e5e5e5);\n\t\t\t\t\t\t\tcursor: pointer;\n\t\t\t\t\t\t" \n\t\t\t\t\t\ttitle="Click to view fullscreen"/>\n\t\t\t\t\t<div style="\n\t\t\t\t\t\tcolor: var(--solomei-color-text-secondary, #979797);\n\t\t\t\t\t\tfont-size: 11px;\n\t\t\t\t\t\tmargin-top: 4px;\n\t\t\t\t\t">Screenshot (~${o} KB)</div>\n\t\t\t\t</div>\n\t\t\t`:""}\n\t\t\t<details style="margin-top: 8px;">\n\t\t\t\t<summary style="\n\t\t\t\t\tcursor: pointer;\n\t\t\t\t\tcolor: var(--solomei-color-foreground, #212121);\n\t\t\t\t\tfont-size: 12px;\n\t\t\t\t\tfont-weight: var(--solomei-font-weight-regular, 500);\n\t\t\t\t\tuser-select: none;\n\t\t\t\t">View Details</summary>\n\t\t\t\t<div style="\n\t\t\t\t\tmargin-top: 8px;\n\t\t\t\t\tpadding: 8px;\n\t\t\t\t\tbackground: var(--solomei-color-secondary, #fafaf9);\n\t\t\t\t\tborder-radius: var(--solomei-radius-sm, 6px);\n\t\t\t\t\tfont-size: 11px;\n\t\t\t\t\tcolor: var(--solomei-color-foreground, #212121);\n\t\t\t\t\tborder: 1px solid var(--solomei-color-border, #e5e5e5);\n\t\t\t\t">\n\t\t\t\t\t<div style="margin-bottom: 6px;"><strong>Properties:</strong></div>\n\t\t\t\t\t<pre style="\n\t\t\t\t\t\tmargin: 0 0 8px 0;\n\t\t\t\t\t\tpadding: 8px;\n\t\t\t\t\t\tbackground: var(--solomei-color-background, white);\n\t\t\t\t\t\tborder-radius: var(--solomei-radius-sm, 6px);\n\t\t\t\t\t\toverflow-x: auto;\n\t\t\t\t\t\tfont-size: 10px;\n\t\t\t\t\t\twhite-space: pre-wrap;\n\t\t\t\t\t\tword-break: break-word;\n\t\t\t\t\t\tborder: 1px solid var(--solomei-color-border, #e5e5e5);\n\t\t\t\t\t">${r}</pre>\n\t\t\t\t\t${t.html?`\n\t\t\t\t\t\t<div style="margin-bottom: 6px;"><strong>HTML:</strong></div>\n\t\t\t\t\t\t<pre style="\n\t\t\t\t\t\t\tmargin: 0 0 8px 0;\n\t\t\t\t\t\t\tpadding: 8px;\n\t\t\t\t\t\t\tbackground: var(--solomei-color-background, white);\n\t\t\t\t\t\t\tborder-radius: var(--solomei-radius-sm, 6px);\n\t\t\t\t\t\t\toverflow-x: auto;\n\t\t\t\t\t\t\tfont-size: 10px;\n\t\t\t\t\t\t\twhite-space: pre-wrap;\n\t\t\t\t\t\t\tword-break: break-word;\n\t\t\t\t\t\t\tborder: 1px solid var(--solomei-color-border, #e5e5e5);\n\t\t\t\t\t\t">${s}</pre>\n\t\t\t\t\t`:""}\n\t\t\t\t\t<div style="margin-bottom: 6px;"><strong>Bounding Box:</strong></div>\n\t\t\t\t\t<pre style="\n\t\t\t\t\t\tmargin: 0;\n\t\t\t\t\t\tpadding: 8px;\n\t\t\t\t\t\tbackground: var(--solomei-color-background, white);\n\t\t\t\t\t\tborder-radius: var(--solomei-radius-sm, 6px);\n\t\t\t\t\t\toverflow-x: auto;\n\t\t\t\t\t\tfont-size: 10px;\n\t\t\t\t\t\tborder: 1px solid var(--solomei-color-border, #e5e5e5);\n\t\t\t\t\t">${a}</pre>\n\t\t\t\t</div>\n\t\t\t</details>\n\t\t</div>\n\t`})(t)).join(""),e.textContent=`${at.length} event${1===at.length?"":"s"}`}function ft(){if(Q)return void(Q.style.display="flex");const t=document.createElement("div");t.innerHTML='\n\t\t<div id="intent-debug-panel" data-intent-redact="ignore" style="\n\t\t\tposition: fixed;\n\t\t\ttop: 20px;\n\t\t\tright: 20px;\n\t\t\twidth: 400px;\n\t\t\tmax-height: 80vh;\n\t\t\tbackground: var(--solomei-color-background, white);\n\t\t\tborder: 1px solid var(--solomei-color-border, #e5e5e5);\n\t\t\tborder-radius: var(--solomei-radius-lg, 10px);\n\t\t\tbox-shadow: var(--solomei-shadow-box, 0 2px 10px rgba(0, 0, 0, 0.15));\n\t\t\tz-index: 2147483647;\n\t\t\tfont-family: var(--solomei-font-primary, -apple-system, BlinkMacSystemFont, \'Segoe UI\', sans-serif);\n\t\t\tfont-size: var(--solomei-font-size-base, 15px);\n\t\t\tdisplay: flex;\n\t\t\tflex-direction: column;\n\t\t">\n\t\t\t<div id="intent-debug-header" style="\n\t\t\t\tbackground: var(--solomei-color-primary, #262626);\n\t\t\t\tcolor: var(--solomei-color-primary-foreground, white);\n\t\t\t\tpadding: 12px 15px;\n\t\t\t\tborder-radius: var(--solomei-radius-lg, 10px) var(--solomei-radius-lg, 10px) 0 0;\n\t\t\t\tcursor: move;\n\t\t\t\tdisplay: flex;\n\t\t\t\tjustify-content: space-between;\n\t\t\t\talign-items: center;\n\t\t\t\tuser-select: none;\n\t\t\t">\n\t\t\t\t<div style="font-weight: var(--solomei-font-weight-semibold, 600); font-size: 14px;">Intent SDK Debug</div>\n\t\t\t\t<div style="display: flex; gap: 8px;">\n\t\t\t\t\t<button id="intent-debug-minimize" style="\n\t\t\t\t\t\tbackground: transparent;\n\t\t\t\t\t\tborder: 1px solid var(--solomei-color-primary-foreground, white);\n\t\t\t\t\t\tcolor: var(--solomei-color-primary-foreground, white);\n\t\t\t\t\t\twidth: 24px;\n\t\t\t\t\t\theight: 24px;\n\t\t\t\t\t\tborder-radius: var(--solomei-radius-sm, 4px);\n\t\t\t\t\t\tcursor: pointer;\n\t\t\t\t\t\tfont-size: 16px;\n\t\t\t\t\t\tdisplay: flex;\n\t\t\t\t\t\talign-items: center;\n\t\t\t\t\t\tjustify-content: center;\n\t\t\t\t\t\tpadding: 0;\n\t\t\t\t\t">−</button>\n\t\t\t\t\t<button id="intent-debug-close" style="\n\t\t\t\t\t\tbackground: transparent;\n\t\t\t\t\t\tborder: 1px solid var(--solomei-color-primary-foreground, white);\n\t\t\t\t\t\tcolor: var(--solomei-color-primary-foreground, white);\n\t\t\t\t\t\twidth: 24px;\n\t\t\t\t\t\theight: 24px;\n\t\t\t\t\t\tborder-radius: var(--solomei-radius-sm, 4px);\n\t\t\t\t\t\tcursor: pointer;\n\t\t\t\t\t\tfont-size: 16px;\n\t\t\t\t\t\tdisplay: flex;\n\t\t\t\t\t\talign-items: center;\n\t\t\t\t\t\tjustify-content: center;\n\t\t\t\t\t\tpadding: 0;\n\t\t\t\t\t">×</button>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t\t<div id="intent-debug-content" style="\n\t\t\t\tdisplay: flex;\n\t\t\t\tflex-direction: column;\n\t\t\t\toverflow: hidden;\n\t\t\t\tflex: 1;\n\t\t\t">\n\t\t\t\t<div style="\n\t\t\t\t\tpadding: 12px 15px;\n\t\t\t\t\tborder-bottom: 1px solid var(--solomei-color-border, #e5e5e5);\n\t\t\t\t\tbackground: var(--solomei-color-background, white);\n\t\t\t\t">\n\t\t\t\t\t<div style="font-weight: var(--solomei-font-weight-semibold, 600); color: var(--solomei-color-foreground, #212121); margin-bottom: 8px;">Event Log</div>\n\t\t\t\t\t<div style="display: flex; gap: 8px; align-items: center;">\n\t\t\t\t\t\t<button id="intent-debug-clear" style="\n\t\t\t\t\t\t\tbackground: var(--solomei-color-primary, #262626);\n\t\t\t\t\t\t\tcolor: var(--solomei-color-primary-foreground, white);\n\t\t\t\t\t\t\tborder: none;\n\t\t\t\t\t\t\tpadding: 6px 12px;\n\t\t\t\t\t\t\tborder-radius: var(--solomei-radius-button, 20px);\n\t\t\t\t\t\t\tcursor: pointer;\n\t\t\t\t\t\t\tfont-size: 12px;\n\t\t\t\t\t\t\tfont-weight: var(--solomei-font-weight-regular, 500);\n\t\t\t\t\t\t">Clear</button>\n\t\t\t\t\t\t<span id="intent-debug-count" style="color: var(--solomei-color-text-secondary, #979797); font-size: 12px;">0 events</span>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t\t<div id="intent-debug-events" style="\n\t\t\t\t\tflex: 1;\n\t\t\t\t\toverflow-y: auto;\n\t\t\t\t\tpadding: 10px;\n\t\t\t\t">\n\t\t\t\t\t<div style="color: var(--solomei-color-muted-foreground, #979797); text-align: center; padding: 20px;">\n\t\t\t\t\t\tNo events captured yet. Interact with the page to see events.\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</div>\n\t',Q=t.firstElementChild,document.body.appendChild(Q);const e=Q.querySelector("#intent-debug-close"),n=Q.querySelector("#intent-debug-minimize"),o=Q.querySelector("#intent-debug-clear");e?.addEventListener("click",()=>{dt(!1)}),n?.addEventListener("click",()=>{(()=>{if(!Q)return;const t=Q.querySelector("#intent-debug-content"),e=Q.querySelector("#intent-debug-minimize");t&&e&&(ct=!ct,ct?(t.style.display="none",Q.style.width="200px",e.textContent="+"):(t.style.display="flex",Q.style.width="400px",e.textContent="−"))})()}),o?.addEventListener("click",()=>{at=[],ut()}),(()=>{if(!Q)return;const t=Q.querySelector("#intent-debug-header");if(!t)return;let e=!1,n=0,o=0,i=0,r=0;t.addEventListener("mousedown",t=>{if("BUTTON"===t.target.tagName)return;e=!0;const n=Q.getBoundingClientRect();i=t.clientX-n.left,r=t.clientY-n.top}),document.addEventListener("mousemove",t=>{if(!e||!Q)return;t.preventDefault(),n=t.clientX-i,o=t.clientY-r;const s=window.innerWidth-Q.offsetWidth,a=window.innerHeight-Q.offsetHeight;n=Math.max(0,Math.min(n,s)),o=Math.max(0,Math.min(o,a)),Q.style.left=`${n}px`,Q.style.top=`${o}px`,Q.style.right="auto"}),document.addEventListener("mouseup",()=>{e=!1})})(),Q.addEventListener("click",t=>{const e=t.target;if(e.classList.contains("intent-debug-screenshot")){const t=e;t.src&&t.src.startsWith("data:image/")&&(t=>{const e=document.createElement("div");e.id="intent-debug-fullscreen-modal",e.setAttribute("data-intent-redact","ignore"),e.style.cssText="\n\t\tposition: fixed;\n\t\ttop: 0;\n\t\tleft: 0;\n\t\twidth: 100%;\n\t\theight: 100%;\n\t\tbackground: rgba(0, 0, 0, 0.95);\n\t\tz-index: 2147483646;\n\t\tdisplay: flex;\n\t\talign-items: center;\n\t\tjustify-content: center;\n\t\tcursor: zoom-out;\n\t";const n=document.createElement("div");n.style.cssText="\n\t\tmax-width: 95%;\n\t\tmax-height: 95%;\n\t\tdisplay: flex;\n\t\tflex-direction: column;\n\t\talign-items: center;\n\t";const o=document.createElement("img");o.src=t,o.style.cssText="\n\t\tmax-width: 100%;\n\t\tmax-height: calc(95vh - 60px);\n\t\tborder-radius: var(--solomei-radius-lg, 10px);\n\t\tbox-shadow: var(--solomei-shadow-box, 0 2px 10px rgba(0, 0, 0, 0.2));\n\t";const i=document.createElement("div");i.style.cssText="\n\t\tmargin-top: 20px;\n\t\tdisplay: flex;\n\t\tgap: 20px;\n\t\talign-items: center;\n\t";const r=document.createElement("button");r.textContent="✕ Close",r.style.cssText="\n\t\tpadding: 12px 24px;\n\t\tbackground: var(--solomei-color-primary-button-background, #262626);\n\t\tcolor: var(--solomei-color-primary-button-color, white);\n\t\tborder: none;\n\t\tborder-radius: var(--solomei-radius-button, 20px);\n\t\tfont-size: 14px;\n\t\tfont-weight: var(--solomei-font-weight-semibold, 600);\n\t\tcursor: pointer;\n\t\tbox-shadow: var(--solomei-shadow-box, 0 2px 10px rgba(0, 0, 0, 0.15));\n\t";const s=document.createElement("div");s.textContent="Click anywhere or press ESC to close",s.style.cssText="\n\t\tcolor: var(--solomei-color-primary-foreground, white);\n\t\tfont-size: 13px;\n\t",i.appendChild(r),i.appendChild(s),n.appendChild(o),n.appendChild(i),e.appendChild(n);const a=()=>{e.remove(),document.removeEventListener("keydown",c)};e.addEventListener("click",a),r.addEventListener("click",t=>{t.stopPropagation(),a()}),o.addEventListener("click",t=>{t.stopPropagation()});const c=t=>{"Escape"===t.key&&a()};document.addEventListener("keydown",c),document.body.appendChild(e)})(t.src)}}),ut()}"undefined"!=typeof window&&lt()&&("loading"===document.readyState?document.addEventListener("DOMContentLoaded",()=>{ft()}):ft());const gt={x:0,y:0,w:0,h:0},mt={maxSegments:300,maxDepth:24,maxTextLength:1200,maxHeadings:1,maxInteractives:8,minTextLength:12,minDescentCoverage:.67};const ht=new Set(["SCRIPT","STYLE","NOSCRIPT","TEMPLATE","HEAD","META","LINK","TITLE","BR","HR","IFRAME","CANVAS","svg"]),pt=new Set(["ARTICLE","SECTION","LI","FIGURE","BLOCKQUOTE","TR","DD","DETAILS"]),bt=new Set(["article","listitem","option","row","gridcell","tab","treeitem","card"]),vt=new Set(["H1","H2","H3","H4","H5","H6"]),wt=new Set(["A","BUTTON","INPUT","SELECT","TEXTAREA","SUMMARY","LABEL","VIDEO","AUDIO"]),yt=new Set(["button","link","option","tab","checkbox","radio","switch","menuitem","textbox","combobox","searchbox","slider"]),xt=["aria-label","aria-labelledby","title","role"],St=["type","autocomplete"],Tt={children:t=>t.children,parent:t=>t.parentElement??void 0,ownText(t){let e="";for(const n of t.childNodes)if(3===n.nodeType){const t=(n.textContent??"").trim();t&&(e+=t)}return e},kind:t=>t.tagName,isSkipped:t=>!!ht.has(t.tagName)||t.hasAttribute("hidden")||"true"===t.getAttribute("aria-hidden"),isUnit(t){if(pt.has(t.tagName))return!0;const e=t.getAttribute("role")?.toLowerCase();return Boolean(e&&bt.has(e))},isHeading:t=>vt.has(t.tagName),isInteractive(t){if(wt.has(t.tagName))return!0;const e=t.getAttribute("role")?.toLowerCase();return!(!e||!yt.has(e))||t.hasAttribute("onclick")||t.hasAttribute("href")},isMarked:t=>t.hasAttribute("data-intent-item"),signature(t){const e=Array.from(t.classList).sort().join(".");return`${t.tagName}#${e}`},mixDigestAttributes(t,e){let n=t;const o=e.tagName;for(const t of xt){const o=e.getAttribute(t);o&&(n=f(n,`${t}:${o}`))}const i=e.getAttribute("data-intent-redact");if(null!==i){n=f(n,`redact:${i}`);const t=e.getAttribute("data-intent-redact-label");t&&(n=f(n,t))}e.hasAttribute("data-html2canvas-ignore")&&(n=f(n,"redact:ignore-legacy"));const r=e.getAttribute("contenteditable");if(null!==r&&(n=f(n,`contenteditable:${r}`)),"INPUT"===o||"TEXTAREA"===o||"SELECT"===o)for(const t of St){const o=e.getAttribute(t);null!==o&&(n=f(n,`${t}:${o}`))}if("A"===o||"AREA"===o){const t=e.getAttribute("href");t&&(n=f(n,t))}else if("IMG"===o){const t=e.getAttribute("alt");t&&(n=f(n,t));const o=e.currentSrc||e.getAttribute("src");o&&(n=o.startsWith("data:")?g(n,o.length):f(n,o))}return n}},Et=80;function Lt(t,e){return t?t.replace(/\s+/g," ").trim().slice(0,e):""}function kt(...t){let e="";for(const n of t)e+=`${n.length}:${n}`;return e}function At(t,e,n,o,i){const r=kt(...o.map(t=>kt(t.label,t.role??"",t.href??""))),s=kt(...i.map(t=>kt(t.alt??"",t.src??"")));return(t=>{let e="";for(const{seed:n,prime:o}of m){let i=n>>>0;for(let e=0;e<t.length;e++){const n=t.charCodeAt(e);i=Math.imul(i^255&n,o)>>>0,i=Math.imul(i^n>>>8,o)>>>0}e+=i.toString(36).padStart(7,"0")}return e})(kt(t,e,n,r,s))}const $t='h1, h2, h3, h4, h5, h6, [role="heading"]',It='a[href], button, [role="button"], [role="link"], [role="option"], [role="tab"], input[type="submit"], input[type="button"]';function Mt(t,e=400){if(O(t))return"";if(B(t))return Lt(z(t),e);const n=[];let o=e;const i=t=>{n.at(-1)!==t&&(n.push(t),o-=t.length)},r=t=>{if(!(o<=0||C(t))){if(y(t)){const e=Lt(j(t)?M(t):S(t),o);return void(e&&(n.push(e),o-=e.length))}if(D(t)){const e=Lt(M(t),o);return void(e&&(n.push(e),o-=e.length))}for(const e of t.childNodes){if(o<=0)return;if(e.nodeType===Node.TEXT_NODE){const t=Lt(e.textContent,o);t&&i(t)}else e.nodeType===Node.ELEMENT_NODE&&r(e)}}};return r(t),n.join(" ").slice(0,e)}const Ct=new Set(["submit","button","reset","image","hidden","file"]);function Nt(t){const e=t.cloneNode(!0);for(const t of e.querySelectorAll("input, textarea, select, button, option"))t.remove();return Lt(e.textContent,Et)}function Dt(t){const e=Lt(t.getAttribute("aria-label"),Et);if(e)return e;const n=t.labels?.[0];if(n){const t=Nt(n);if(t)return t}const o=t.closest("label");if(o){const t=Nt(o);if(t)return t}return Lt(t.getAttribute("placeholder"),Et)}function Ot(t,e){if(H(t))return z(t);if("checkbox"===e||"radio"===e)return t.checked?"checked":"unchecked";if("SELECT"===t.tagName){const e=t;return e.selectedOptions?.[0]?.textContent??e.value}return S(t)}function Pt(t){if(O(t))return"";if(B(t))return z(t);const e=Lt(t.getAttribute("aria-label"),Et);if(e)return e;const n=t.getAttribute("aria-labelledby");if(n){const e=n.split(/\s+/).map(e=>t.ownerDocument.getElementById(e)).filter(Boolean).map(t=>Mt(t,Et)).join(" ");if(e.trim())return Lt(e,Et)}const o=Lt(t.getAttribute("title"),Et);if(o)return o;const i=Mt(t,Et);if(i)return i;const r=t.querySelector("img[alt]");return Lt(r?.getAttribute("alt"),Et)}function Bt(t){const e=t.currentSrc||t.src||"";if(e&&!e.startsWith("data:")&&!e.startsWith("blob:"))return e.length>512?void 0:e}function zt(t){const e=t.getAttribute("role")?.toLowerCase();return e||("A"===t.tagName?"link":"BUTTON"===t.tagName||"INPUT"===t.tagName?"button":t.tagName.toLowerCase())}let Ht;function Rt(){if(!Ht)throw new Error("[intent] No platform host installed. Import @solomei-ai/intent (web) or @solomei-ai/intent/native before use.");return Ht}let Ut=!1;const Ft={get(t){try{return localStorage.getItem(t)??void 0}catch{return}},set(t,e){try{localStorage.setItem(t,e)}catch{}},remove(t){try{localStorage.removeItem(t)}catch{}}},jt={platform:"web",now:()=>performance.now(),wallClock:()=>Date.now(),storage:Ft,send:async(t,e,{beacon:n,byteLength:o})=>{if(n)return((t,e)=>{if("function"!=typeof navigator.sendBeacon)return!1;try{return navigator.sendBeacon(t,new Blob([e],{type:"application/json"}))}catch{return!1}})(t,e);const i=await(async t=>{const e=globalThis.CompressionStream;if(Ut&&"function"==typeof e)try{const n=new Blob([t]).stream().pipeThrough(new e("gzip"));return await new Response(n).blob()}catch{return}})(e),r={"Content-Type":"application/json"},s=Ft.get(a);s&&(r["x-sl-access-token"]=s);const c=Y();c&&(r["x-intent-sid"]=c),i&&(r["Content-Encoding"]="gzip");const l=await fetch(t,{method:"POST",headers:r,body:i??e,keepalive:o<=6e4,credentials:"omit"});return l.ok||jt.log(`[Transport] batch rejected with ${l.status}`),l.ok},scheduleIdle:async()=>{const{scheduler:t}=globalThis;if(t&&"function"==typeof t.postTask)try{return void await t.postTask(()=>{},{priority:"background"})}catch{}"function"!=typeof requestIdleCallback?await new Promise(t=>{setTimeout(t,0)}):await new Promise(t=>{requestIdleCallback(()=>{t()},{timeout:200})})},log(...t){try{"undefined"!=typeof localStorage&&"enabled"===localStorage.getItem(r)&&console.log(...t)}catch{}}};function qt(){void 0===Ht&&(Ht=jt)}const Wt={visibilityIntervalMs:500,resegmentDebounceMs:700,resegmentMaxDelayMs:1500,segmentOptions:{}},_t=new class{options;entries=new Map;pendingRegistrations=[];generation=0;constructor(t){this.options=t}get size(){return this.entries.size}get(t){return this.entries.get(t)}values(){return this.entries.values()}reconcile(t,e){const n=new Set,o=[],i=[];for(const{node:e,kind:i,fingerprint:r}of t){n.add(e);const t=this.entries.get(e);t?t.fingerprint!==r&&(t.fingerprint=r,t.kind=i,t.registered=!1,t.digest=void 0):(this.entries.set(e,{node:e,kind:i,intersecting:!1,visible:!1,ratio:0,rect:{...gt},dwellMs:0,registered:!1,fingerprint:r}),o.push(e))}for(const[t,o]of this.entries)n.has(t)&&(e?.(t)??1)||(this.closeDwell(o),this.entries.delete(t),i.push(t));return this.options.log?.(`[Ledger] ${this.entries.size} segments tracked`),{added:o,removed:i}}setGeometry(t,e){const n=this.entries.get(t);n&&(n.intersecting=e.intersecting,n.ratio=e.ratio,n.rect=e.rect)}refreshVisibility(t){const e=this.options.now();for(const n of this.entries.values()){if(!n.intersecting){this.closeDwell(n,e),n.visible=!1;continue}const o=t?.(n.node)??!0;o&&void 0===n.visibleSince?n.visibleSince=e:o||this.closeDwell(n,e),n.visible=o}}async registerVisible(){const t=this.generation,e=[];for(const t of this.entries.values())t.visible&&!t.registered&&e.push(t);if(0===e.length)return;for(const t of e)t.registered=!0;let n,o=0;for(const i of e)try{if(await this.options.scheduleIdle(),t!==this.generation)return void this.options.log?.("[Ledger] abandoned an extraction pass the ledger was cleared under");const e=this.options.extract(i.node,i.kind);e&&(i.digest=e,this.pendingRegistrations.push(e))}catch(t){i.registered=!1,o++,n=t}o>0&&this.options.log?.(`[Ledger] extraction failed for ${o}/${e.length} segments: ${String(n)}`)}getOnScreen(){const t=this.options.now(),e=new Map;for(const n of this.entries.values()){if(!n.visible||!n.digest)continue;const o=void 0===n.visibleSince?0:t-n.visibleSince,i={ref:n.digest.ref,ratio:Math.round(100*n.ratio)/100,dwellMs:Math.round(n.dwellMs+o),rect:n.rect},r=e.get(i.ref);(!r||i.dwellMs>r.dwellMs)&&e.set(i.ref,i)}return[...e.values()]}drainRegistrations(){const t=new Set;for(const e of this.entries.values())e.digest&&t.add(e.digest.ref);const e=new Set,n=[];let o=0;for(const i of this.pendingRegistrations)e.has(i.ref)||(t.has(i.ref)?(e.add(i.ref),n.push(i)):o++);return this.pendingRegistrations=[],o>0&&this.options.log?.(`[Ledger] dropped ${o} registrations the ledger no longer describes`),n}getCoverage(){let t=0,e=0;for(const n of this.entries.values())n.visible&&t++,n.digest&&e++;return{segments:this.entries.size,onScreen:t,registered:e}}clear(){this.entries.clear(),this.pendingRegistrations=[],this.generation++}closeDwell(t,e=this.options.now()){void 0!==t.visibleSince&&(t.dwellMs+=e-t.visibleSince,t.visibleSince=void 0)}}({now:()=>performance.now(),extract:(t,e)=>function(t,e){if(O(t))return;const n=B(t)?void 0:t.matches($t)?t:[...t.querySelectorAll($t)].find(t=>!O(t)&&!B(t)),o=n?Lt(Mt(n,120),120):"",i=[],r=t.matches(It)?[t]:[...t.querySelectorAll(It)];for(const t of r){if(i.length>=12)break;if(O(t))continue;if(B(t)){i.push({label:z(t),role:zt(t)});continue}const e=Pt(t);if(!e)continue;const n=t.getAttribute("href")??void 0;i.push({label:e,role:zt(t),...n?{href:n}:{}})}const s=[];for(const e of t.querySelectorAll("img")){if(s.length>=6)break;if(O(e)||B(e))continue;const t=Lt(e.getAttribute("alt"),Et),n=Bt(e);(t||n)&&s.push({...t?{alt:t}:{},...n?{src:n}:{}})}return(t=>{const e=Lt(t.heading,120),n=Lt(t.text,400),o=[];for(const e of t.actions??[]){if(o.length>=12)break;const t=Lt(e.label,Et);t&&o.push({label:t,role:e.role,...e.href?{href:e.href}:{}})}const i=[];for(const e of t.images??[]){if(i.length>=6)break;const t=Lt(e.alt,Et),{src:n}=e;(t||n)&&i.push({...t?{alt:t}:{},...n?{src:n}:{}})}if(n||e||0!==o.length||0!==i.length)return{ref:At(t.kind,e,n,o,i),kind:t.kind,...e?{heading:e}:{},text:n,actions:o,images:i}})({kind:e,heading:o,text:Mt(t),actions:i,images:s})}(t,e),scheduleIdle:()=>jt.scheduleIdle(),log:t=>{jt.log(t)}});let Xt,Yt,Vt,Jt,Kt,Gt,Qt,Zt=Wt,te=!1;function ee(){Gt?.(),Gt=void 0}async function ne(t=2e3){Qt&&await Promise.race([Qt,new Promise(e=>{setTimeout(e,t)})])}function oe(){const t="function"==typeof Element.prototype.checkVisibility;_t.refreshVisibility(e=>!t||e.checkVisibility({opacityProperty:!0,visibilityProperty:!0,contentVisibilityAuto:!0}))}function ie(){oe(),_t.registerVisible().then(ee)}function re(t){for(const e of t){const{x:t,y:n,width:o,height:i}=e.boundingClientRect;_t.setGeometry(e.target,{intersecting:e.isIntersecting,ratio:e.intersectionRatio,rect:{x:Math.round(t),y:Math.round(n),w:Math.round(o),h:Math.round(i)}})}ie()}function se(){if(!Xt)return;const t=((t,e={})=>function(t,e,n={}){const o={...mt,...n},i=((t,e)=>{const n=new Map,o=t=>{const i=e.ownText(t),r={textLength:i.length,headings:e.isHeading(t)?1:0,interactives:e.isInteractive(t)?1:0,contentHash:e.mixDigestAttributes(f(f(d,i),e.kind(t)),t)};for(const n of e.children(t)){if(e.isSkipped(n))continue;const t=o(n);r.textLength+=t.textLength,r.headings+=t.headings,r.interactives+=t.interactives,r.contentHash=g(r.contentHash,t.contentHash)}return n.set(t,r),r};return o(t),n})(t,e),r=[],s=t=>i.get(t)??{textLength:0,headings:0,interactives:0,contentHash:d},a=(t,e)=>{const n=s(t);r.push({node:t,reason:e,textLength:n.textLength,interactives:n.interactives,headings:n.headings,contentHash:n.contentHash})},c=t=>{const e=s(t);return e.interactives>0||e.textLength>=o.minTextLength},l=(t,n)=>{if(r.length>=o.maxSegments||e.isSkipped(t))return!1;if(e.isMarked(t))return a(t,"marked"),!0;const i=s(t);if(n>=o.maxDepth)return!!c(t)&&(a(t,"depth"),!0);if(i.textLength<=o.maxTextLength&&i.headings<=o.maxHeadings&&i.interactives<=o.maxInteractives&&c(t)){if(e.isUnit(t))return a(t,"unit"),!0;if(((t,e)=>{const n=e.parent(t);if(void 0===n)return!1;const o=e.signature(t);let i=0;for(const t of e.children(n))if(e.signature(t)===o&&(i++,i>=3))return!0;return!1})(t,e))return a(t,"repeated"),!0;if(i.headings>0)return a(t,"heading"),!0}const d=r.length;let u=!1;for(const o of e.children(t))u=l(o,n+1)||u;return!u&&c(t)?(a(t,"leaf"),!0):u&&i.textLength>0&&r.slice(d).reduce((t,e)=>t+e.textLength,0)/i.textLength<o.minDescentCoverage&&c(t)?(r.length=d,a(t,"unit"),!0):u};for(const n of e.children(t))l(n,0);return r}(t,Tt,e))(document.body,Zt.segmentOptions),{added:e,removed:n}=_t.reconcile(t.map(({node:t,reason:e,contentHash:n})=>({node:t,kind:e,fingerprint:n})),t=>t.isConnected);for(const t of e)Xt.observe(t);for(const t of n)Xt.unobserve(t)}function ae(){return void 0!==Jt&&(clearTimeout(Jt),Jt=void 0),Kt=void 0,jt.scheduleIdle().then(se)}function ce(){const t=performance.now();Kt??=t,t-Kt>=Zt.resegmentMaxDelayMs?ae():(void 0!==Jt&&clearTimeout(Jt),Jt=setTimeout(ae,Zt.resegmentDebounceMs))}function le(){return te&&void 0!==Kt?ae():Promise.resolve()}function de(t={}){te||"undefined"==typeof IntersectionObserver||(document.body?(te=!0,qt(),Zt={...Wt,...t},Qt=new Promise(t=>{Gt=t}),Xt=new IntersectionObserver(re,{threshold:[0,.25,.75]}),jt.scheduleIdle().then(se),Yt=new MutationObserver(ce),Yt.observe(document.body,{childList:!0,subtree:!0,attributes:!0,attributeFilter:["href","src","srcset","sizes","alt","aria-label","aria-labelledby","title","role","data-intent-redact","data-intent-redact-label","data-html2canvas-ignore","type","autocomplete","contenteditable"],characterData:!0}),window.addEventListener("resize",ce,{passive:!0}),Vt=setInterval(ie,Zt.visibilityIntervalMs)):document.addEventListener("DOMContentLoaded",()=>{de(t)},{once:!0}))}function ue(){return _t.getOnScreen()}const fe=()=>_t.drainRegistrations();function ge(){return _t.getCoverage()}const me={batchSize:20,flushIntervalMs:5e3,maxBuffered:200},he=Object.freeze(new Set(["click","input-submit","form-submit"]));function pe(t){let e=0;for(let n=0;n<t.length;n++){const o=t.charCodeAt(n);o<128?e+=1:o<2048?e+=2:o>=55296&&o<=56319?(e+=4,n++):e+=3}return e}class be{options;flushOn;buffer=[];extras={};cancelTimer;generation=0;inFlight=new Map;stats={sent:0,failed:0,dropped:0};constructor(t){this.options=t,this.flushOn=t.flushOn??he}getStats(){return{...this.stats,buffered:this.buffer.length}}start(){this.cancelTimer??=this.options.schedule(()=>{this.flush()},this.options.flushIntervalMs)}stop(){this.cancelTimer?.(),this.cancelTimer=void 0,this.buffer=[],this.extras={},this.generation++}discard(){this.buffer=[],this.extras={},this.generation++}enqueue(t){if(this.buffer.push(t),this.buffer.length>this.options.maxBuffered){const t=this.buffer.length-this.options.maxBuffered;this.buffer.splice(0,t),this.stats.dropped+=t,Rt().log(`[Transport] buffer full, dropped ${t} oldest events`)}(this.buffer.length>=this.options.batchSize||this.flushOn.has(t.event))&&this.flush()}attach(t,e){0!==e.length&&(this.extras[t]=[...this.extras[t]??[],...e])}async flush({beacon:t=!1}={}){if(t&&this.persistInFlight(),0===this.buffer.length&&0===Object.keys(this.extras).length)return;const e=Rt(),n=this.buffer,o=this.extras,i=this.generation;let r;try{r=JSON.stringify({...this.options.context(),sentAt:e.wallClock(),events:n,...o})}catch(t){return this.buffer=[],this.extras={},this.stats.failed+=n.length,void e.log(`[Transport] ${n.length} events dropped, batch could not be serialised`,t)}this.buffer=[],this.extras={};const s=pe(r);this.inFlight.set(r,{generation:i,...t?{release:this.options.onTeardownBatch?.(r)}:{}});let a=!1;try{a=await e.send(this.options.endpoint(),r,{beacon:t,byteLength:s})}catch(t){e.log(`[Transport] ${n.length} events failed to send`,t)}const c=this.inFlight.get(r)?.release;return this.inFlight.delete(r),a?(this.stats.sent+=n.length,void c?.()):(this.stats.failed+=n.length,e.log(`[Transport] ${n.length} events undelivered (${s} bytes, beacon=${t})`),i!==this.generation?(e.log("[Transport] dropped an in-flight batch discarded mid-request"),void c?.()):void(t||this.restore(n,o)))}persistInFlight(){if(this.options.onTeardownBatch)for(const[t,e]of this.inFlight)e.release||e.generation!==this.generation||(e.release=this.options.onTeardownBatch(t),Rt().log("[Transport] took custody of a batch still in flight at teardown"))}restore(t,e){for(const[t,n]of Object.entries(e))this.extras[t]=[...n,...this.extras[t]??[]];this.buffer=[...t,...this.buffer];const n=this.buffer.length-this.options.maxBuffered;n>0&&(this.buffer.splice(0,n),this.stats.dropped+=n,Rt().log(`[Transport] buffer full after retry, dropped ${n} oldest events`))}async replay(t){const e=Rt();try{return await e.send(this.options.endpoint(),t,{beacon:!1,byteLength:pe(t)})}catch(t){return e.log("[Transport] replay failed",t),!1}}}const ve={...me,compress:!1};function we(){return`${jt.storage.get(c)??l}/v2/events`}function ye(){return{clientId:jt.storage.get(a),sid:Y(),platform:"web"}}function xe(t,e){const n=setInterval(t,e);return()=>{clearInterval(n)}}let Se,Te,Ee=!1;function Le(){return qt(),Se??=new be({...me,endpoint:we,context:ye,schedule:xe}),Se}async function ke(t={}){return Le().flush(t)}function Ae(t){Le().enqueue(t)}function $e(t,e){Le().attach(t,e)}function Ie(){"hidden"===document.visibilityState&&ke({beacon:!0})}function Me(){ke({beacon:!0})}let Ce,Ne=0,De=0;function Oe(t){try{return new Blob([t]).size}catch{return t.length}}let Pe=!1;const Be="__intent__sdk__initialized__",ze=["button","a[href]","a",'input[type="submit"]','input[type="button"]','[role="button"]','[role="link"]',"[onclick]"].join(",");function He(){return"granted"===localStorage.getItem(o)}function Re(){return G(),He()&&Boolean(Y())&&Boolean(localStorage.getItem(a)?.trim().length)}function Ue(){return!Re()||tt}async function Fe(e){for(;Ce;)await Ce;return Ce=(async()=>{try{const n=performance.now(),o=performance.now(),i=(t=>{if(C(t))return"";const e=t.cloneNode(!1);return Array.from(t.attributes).forEach(({name:t,value:n})=>{e.setAttribute(t,n)}),w(t)?w(e)&&(e.value=t.value):y(t)?e.innerHTML=t.innerHTML:e.textContent=t.textContent,_(e),w(e)&&e.setAttribute("value",e.value),e.outerHTML})(e);p(`[Timing] serialize: ${(performance.now()-o).toFixed(2)}ms`);const r=e.getBoundingClientRect(),s=performance.now(),a={left:window.scrollX,top:window.scrollY,right:window.scrollX+window.innerWidth,bottom:window.scrollY+window.innerHeight},c=await t(document.body,{useCORS:!0,x:window.scrollX,y:window.scrollY,width:window.innerWidth,height:window.innerHeight,scale:.6,logging:!1,onclone(t){_(t)},ignoreElements(t){if(!(t instanceof Element))return!1;if(O(t))return!0;const e=t.getBoundingClientRect(),n=e.left+window.scrollX,o=e.top+window.scrollY,i=e.right+window.scrollX,r=e.bottom+window.scrollY,s=100,c=o>a.bottom+s;if(!(i<a.left-s||n>a.right+s||r<a.top-s||c))return!1;const{position:l}=window.getComputedStyle(t);let d;if("fixed"===l||"absolute"===l){const t=500;d=i<a.left-t||n>a.right+t||r<a.top-t||o>a.bottom+t}else d=c;return!!d&&!("INPUT"===t.tagName||"TEXTAREA"===t.tagName||"SELECT"===t.tagName||t.hasAttribute("data-intent-redact")||t.querySelector("input, textarea, select, [data-intent-redact]"))}});p(`[Timing] html2canvas-pro: ${(performance.now()-s).toFixed(2)}ms`);const l=performance.now(),d=c.toDataURL("image/jpeg",.8);p(`[Timing] jpeg-encoding: ${(performance.now()-l).toFixed(2)}ms`);return p(`[Timing] capture-total: ${(performance.now()-n).toFixed(2)}ms`),{html:i,bbox:{x:r.x,y:r.y,w:r.width,h:r.height},img:d,fullCanvas:c}}finally{Ce=void 0}})(),Ce}function je(){const t=localStorage.getItem(a),e={"Content-Type":"application/json"};t&&(e["x-sl-access-token"]=t);const n=Y();return n&&(e["x-intent-sid"]=n),e}function qe(){return"screenshot"!==localStorage.getItem("intent:data-capture-mode")}const We={w:0,h:0,scrollY:0,docH:0};function _e(){We.w=window.innerWidth,We.h=window.innerHeight,We.scrollY=Math.round(window.scrollY),We.docH=document.documentElement.scrollHeight}function Xe(){return{...We}}function Ye(t,e,n){if(!Re())return;const o=ue(),i=n instanceof HTMLFormElement?function(t){if(O(t))return;const e=[];for(const n of Array.from(t.elements)){if(!y(n)||n.disabled)continue;const t="TEXTAREA"===n.tagName||"SELECT"===n.tagName?n.tagName.toLowerCase():(n.getAttribute("type")??"text").toLowerCase();Ct.has(t)||O(n)||e.push({name:n.getAttribute("name")??n.id,label:Dt(n),type:t,value:Ot(n,t)})}return((t,e)=>{const n=[];let o=!1;for(const t of e){if(n.length>=30){o=!0;break}const e=Lt(t.name,Et),i=Lt(t.label,Et),r=e||i;r&&n.push({name:r,...i&&i!==r?{label:i}:{},...t.type?{type:t.type}:{},value:Lt(t.value,300)})}if(0===n.length)return;const i=Lt(t,Et);return{...i?{name:i}:{},fields:n,...o?{truncated:!0}:{}}})(t.getAttribute("name")??t.getAttribute("aria-label")??(t.id||void 0)??void 0,e)}(n):void 0;let r;if(n!==document.body&&n!==document.documentElement&&!O(n)){const t=(t=>{let e=t;for(;e;){const t=_t.get(e);if(t)return t;e=e.parentElement??void 0}})(n);r={tag:n.tagName,label:n instanceof HTMLFormElement?i?.name??"":Pt(n),role:n.getAttribute("role")??void 0,ref:t?.digest?.ref},y(n)&&(r.value=H(n)?z(n):S(n))}p(`[Digest] ${t} — ${o.length} segments on screen`),$e("segments",fe()),le(),Ae({ts:Date.now(),event:t,url:window.location.href,props:{...e,localTime:(new Date).toISOString()},...r?{chosen:r}:{},...i?{form:i}:{},onScreen:o,viewport:Xe(),coverage:ge()}),he.has(t)&&((t,e,n)=>{void 0!==Ke&&clearTimeout(Ke);const o=new Set(n.map(t=>t.ref)),i=n=>{Ke=void 0,(async()=>{if(!Re())return;await(async()=>{te&&(await le(),oe(),await _t.registerVisible())})();const r=ue().filter(t=>!o.has(t.ref));if(0===r.length)return 0===n?void(Ke=setTimeout(()=>i(1),Je)):void p(`[Digest] settled after ${t} — nothing new on screen`);p(`[Digest] settled after ${t} — ${r.length} newly on screen`),$e("segments",fe()),Ae({ts:Date.now(),event:"settled",url:window.location.href,props:{after:t,label:e,localTime:(new Date).toISOString()},onScreen:r,viewport:Xe(),coverage:ge()})})()};Ke=setTimeout(()=>i(0),Zt.resegmentMaxDelayMs+Ve)})(t,r?.label,o)}const Ve=400,Je=900;let Ke;function Ge(t,e,n,o){qe()?Ye(t,e,n):Qe(t,e,n,o)}async function Qe(t,e,n,o){if(!Re())return;const i={...e,localTime:(new Date).toISOString()};y(n)&&!O(n)&&(i.value=H(n)?z(n):S(n));let r="",s={x:0,y:0,w:0,h:0},d="";const u=!("scroll"===t||"page-blur"===t||"page-focus"===t),f=Date.now();let g=o;u&&(("click"===t||"input-submit"===t||"pageview"===t)&&!g||!g&&f-Ne>=300)&&(g=await Fe(n),Ne=f),g&&(r=g.html,s=g.bbox,d=g.img);const m="page-blur"===t||"page-focus"===t||"pageview"===t,h={ts:Date.now(),event:t,url:window.location.href,props:i,html:m?"":r,bbox:s,img:d};(function(t,e,n,o,i){((t,e,n,o,i)=>{if(!lt())return;const r={id:"undefined"!=typeof crypto&&"function"==typeof crypto.randomUUID?crypto.randomUUID():`${Date.now()}-${Math.random()}`,timestamp:Date.now(),event:t,props:e,html:n,bbox:o,img:i};at.push(r),at.length>50&&at.shift(),ut()})(t,e,n,o,i)})(t,i,m?"":r,s,d),await async function(t){const e=`${localStorage.getItem(c)??l}/events`,n=localStorage.getItem(a)??void 0,o=JSON.stringify({...t,clientId:n}),i=Oe(o);let r;try{const t=await fetch(e,{method:"POST",headers:je(),body:o,keepalive:i<=6e4,credentials:"omit"});if(t.ok)return;r=new Error(`events endpoint returned ${t.status}`)}catch(t){r=t}p(`[Transmit] ${t.event} (${i} bytes) failed on /events, trying /p.gif`,r);try{await(async t=>{const e=`${localStorage.getItem(c)??l}/p.gif`,n=JSON.stringify(t),o=await fetch(e,{method:"POST",headers:je(),body:n,keepalive:Oe(n)<=6e4,credentials:"omit",cache:"no-store"});if(!o.ok)throw new Error(`pixel body fallback failed with ${o.status}`)})(t)}catch(e){De++,p(`[Transmit] DROPPED ${t.event} (${i} bytes), ${De} total`,e)}}(h)}G();let Ze=!1;function tn(){Ze&&qe()&&He()&&(function(t={}){if(Ee)return;Ee=!0,qt();const{compress:e,...n}={...ve,...t};Ut=e,Se=new be({...n,endpoint:we,context:ye,schedule:xe}),Se.start(),window.addEventListener("pagehide",Me),document.addEventListener("visibilitychange",Ie)}(),de())}let en=!1;function nn(){!en&&Re()&&(en=!0,Ge("pageview",{url:window.location.href,title:document.title,ref:document.referrer},document.body))}function on(){void 0!==Ke&&(clearTimeout(Ke),Ke=void 0),en=!1,G(),Xt?.disconnect(),Yt?.disconnect(),window.removeEventListener("resize",ce),void 0!==Vt&&clearInterval(Vt),void 0!==Jt&&clearTimeout(Jt),Xt=void 0,Yt=void 0,Vt=void 0,Jt=void 0,Kt=void 0,_t.clear(),ee(),Qt=void 0,te=!1,Se?.discard()}function rn(){G(),tn(),qe()?ne().then(nn):nn()}async function sn(t={}){if(!Re())return;const e="number"==typeof t.lat&&"number"==typeof t.lon;if(e&&Z)return;if(!e&&Pe)return;const o=localStorage.getItem("intent:data-ip"),i={context:await n()};o&&(i.ip=o);for(const[e,n]of Object.entries(t))i[e]=n;await Qe("context",i,document.body,{html:"",bbox:{x:0,y:0,w:0,h:0},img:""}),e||(Pe=!0)}async function an(){await(async(t,e)=>{const n=e(),o=it();if(!n||!o||Z)return;if(!("geolocation"in navigator))return;if(nt)return;nt=!0,tt=!0;const i={enableHighAccuracy:!1,maximumAge:3e5,timeout:2e4};try{await(navigator.permissions?.query({name:"geolocation"}))}catch(t){}await new Promise(t=>{let e=!1;const n=async(n,o,i)=>{e||(e=!0,Number.isFinite(n)&&Number.isFinite(o)&&(await(async(t,e,n)=>{await sn({lat:t,lon:e,source:"device",...n})})(n,o,i),Z=!0),nt=!1,tt=!1,ot=!0,t())};navigator.geolocation.getCurrentPosition(t=>{const e=t.coords;n(e.latitude,e.longitude,{accuracy:e.accuracy,altitude:"number"==typeof e.altitude?e.altitude:void 0,altitudeAccuracy:"number"==typeof e.altitudeAccuracy?e.altitudeAccuracy:void 0,heading:"number"==typeof e.heading?e.heading:void 0,speed:"number"==typeof e.speed?e.speed:void 0,timestamp:t.timestamp,visibility:document.visibilityState,focused:document.hasFocus()})},t=>{const e=t?.code,o={error:{code:e,name:1===e?"PERMISSION_DENIED":2===e?"POSITION_UNAVAILABLE":3===e?"TIMEOUT":"UNKNOWN",message:t?.message??""},online:navigator.onLine,visibility:document.visibilityState,focused:document.hasFocus(),secure:window.isSecureContext,proto:location.protocol,host:location.hostname};n(void 0,void 0,o)},i)})})(0,Re)}function cn(){(t=>{if(et||!it()||Z)return;et=!0;const e=()=>{window.removeEventListener("pointerdown",e,!0),window.removeEventListener("keydown",e,!0),t()};window.addEventListener("pointerdown",e,!0),window.addEventListener("keydown",e,!0)})(an)}let ln=!document.hidden&&document.hasFocus(),dn=document.hasFocus();function un(){if(Ue())return;const t=!document.hidden&&document.hasFocus();t&&(dn=!0),dn||t?t!==ln&&(ln=t,Ge(t?"page-focus":"page-blur",{},document.body)):ln=t}function fn(t){let e=!1;const n=()=>{e||(e=!0,t())};"complete"!==document.readyState?window.addEventListener("load",n,{once:!0}):n()}function gn(){(()=>{const t=globalThis;return!t[Be]&&(Object.defineProperty(t,Be,{value:!0,configurable:!1,enumerable:!1,writable:!1}),!0)})()&&(_e(),window.addEventListener("resize",h(_e,200),{passive:!0}),window.addEventListener("scroll",h(_e,100),{passive:!0}),qe()&&(function(){const t=()=>`${window.location.pathname}${window.location.search}`;let e=t();const n=()=>{t()===e||Ue()||(e=t(),_e(),en=!0,Ge("pageview",{url:window.location.href,title:document.title,ref:document.referrer,spa:!0},document.body))};for(const t of["pushState","replaceState"]){const e=history[t];history[t]=function(...t){const o=e.apply(this,t);return n(),o}}window.addEventListener("popstate",n)}(),Ze=!0,tn()),fn(()=>{Re()&&(sn(),(window.isSecureContext||"localhost"===location.hostname)&&(it()&&cn(),window.addEventListener("focus",()=>{st()&&an()}),document.addEventListener("visibilitychange",()=>{!document.hidden&&st()&&an()})))}),window.addEventListener("storage",t=>{t.key===o&&("granted"===localStorage.getItem(o)?(Pe=!1,rn(),sn(),it()&&cn()):(Pe=!1,rt(),on())),t.key===i&&(it()?cn():rt())}),fn(()=>{qe()?ne().then(nn):nn()}),addEventListener("pointerdown",h(t=>{if(qe()||Ue())return;const e=t.target instanceof Element?t.target.closest(ze):null;if(!(e instanceof HTMLElement))return;const n=Date.now();n-Ne<300?Te=void 0:(Ne=n,Te=Fe(e))},50),{capture:!0,passive:!0}),addEventListener("click",async t=>{if(Ue())return;if(!(t.target instanceof Element))return;const e=t.target.closest(ze);if(!(e instanceof HTMLElement))return;const n=O(o=e)?"":B(o)?z(o):(t=>{const e=t.getAttribute("aria-label")?.trim();if(e)return e;const n=t.title.trim();if(n)return n;const o=t.textContent?.trim();return o||"<no visible label>"})(o);var o;qe()?Ge("click",{tag:e.tagName,label:n},e):(async()=>{const t=Te?await Te:void 0;Te=void 0,Ge("click",{tag:e.tagName,label:n},e,t)})()},!0),addEventListener("keydown",t=>{if(!Ue()&&"Enter"===t.key){const e=t.target;if(!(e instanceof HTMLElement))return;const n=e.tagName,o=O(e);if("INPUT"===n||"TEXTAREA"===n){const t=e instanceof HTMLInputElement?e.name:void 0;Ge("input-submit",{tag:n,name:o?void 0:t??(e.id||void 0)},e)}else if(y(e)){const t=(t=>{let e=t;for(;e&&e!==document.body;){const t=e.getAttribute("contenteditable");if("true"===t||""===t||"plaintext-only"===t)return e;e=e.parentElement}return null})(e)??e;if("newline"===t.dataset.intentEnter)return;const n=t.getAttribute("role")?.toLowerCase(),o=t.id||void 0,i=t.getAttribute("name")||t.getAttribute("aria-label")||o;Ge("input-submit",{tag:"CONTENTEDITABLE",role:n??"contenteditable",name:O(t)?void 0:i},t)}}},{capture:!0}),addEventListener("submit",t=>{!Ue()&&qe()&&t.target instanceof HTMLFormElement&&Ge("form-submit",{},t.target)},{capture:!0}),["focus","blur"].forEach(t=>{window.addEventListener(t,un)}),document.addEventListener("visibilitychange",un),window.addEventListener("scroll",(()=>{let t;return(...e)=>{void 0!==t&&window.clearTimeout(t),t=window.setTimeout(()=>{t=void 0,(()=>{Ue()||Ge("scroll",{scrollX:window.scrollX,scrollY:window.scrollY},document.body)})(...e)},250)}})(),{passive:!0}),window.intent??={send(t,e){Re()&&Ge(t,e,document.body)}})}function mn(t,e){try{if(void 0===e)return;localStorage.setItem(t,e?"intent:consent"===t?"granted":"enabled":"disabled")}catch{}}function hn(t){mn("intent:consent",t),t?rn():on()}function pn(t){mn("intent:geo",t)}function bn(t){mn("intent:debug",t)}function vn(t){t&&"undefined"!=typeof console&&console.warn&&console.warn("[Intent SDK] ⚠️ Debug panel is enabled. This feature is NOT recommended for production use. It exposes internal SDK behavior and should only be used during development."),(t=>{dt(t)})(t)}function wn(t={}){localStorage.setItem("intent:data-client-id",t.clientId??""),localStorage.setItem("intent:data-ip",t.ip??""),localStorage.setItem("intent:data-base-url",t.baseUrl??"https://intent.callimacus.ai"),"number"==typeof t.sidMaxAgeSeconds&&localStorage.setItem("intent:data-sid-max-age",String(t.sidMaxAgeSeconds)),mn("intent:consent",t.consent),mn("intent:geo",t.geo),mn("intent:debug",t.debug),void 0!==t.debugPanel&&vn(t.debugPanel),t.consent&&(V("intent_sid")||J("undefined"!=typeof crypto&&"function"==typeof crypto.randomUUID?crypto.randomUUID():`${Date.now()}-${Math.random()}`,t.sidMaxAgeSeconds)),gn()}function yn(){return V("intent_sid")}function xn(){G()}function Sn(){K()}function Tn(t){Number.isFinite(t)&&localStorage.setItem("intent:data-sid-max-age",String(t));const e=V("intent_sid");e&&J(e,t)}export{Sn as clearIntentSessionId,xn as ensureIntentSessionId,yn as getIntentSessionId,wn as initIntent,hn as setConsent,bn as setDebug,vn as setDebugPanel,pn as setGeo,Tn as setIntentSessionMaxAge};
6
6
  //# sourceMappingURL=index.debug.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.debug.js","sources":["../../src/context.ts","../../src/constants.ts","../../src/utils.ts","../../src/redaction.ts","../../src/session.ts","../../src/geolocation.ts","../../src/debug-panel.ts","../../src/client.ts","../../src/debug-panel-proxy.ts","../../src/index.ts"],"sourcesContent":[null,null,null,null,null,null,null,null,null,null],"names":["async","buildContextString","tz","Intl","DateTimeFormat","resolvedOptions","timeZone","tzOff","mins","sign","abs","Math","String","floor","padStart","tzOffsetString","Date","getTimezoneOffset","lines","push","navigator","language","languages","length","join","userAgent","uaLine","n","userAgentData","u","brands","Array","isArray","map","b","brand","version","undefined","platform","mobile","filter","Boolean","getUaHintsLine","toString","dpr","window","devicePixelRatio","screen","width","height","availWidth","availHeight","colorDepth","orientation","type","innerWidth","innerHeight","hardwareConcurrency","net","parts","label","connection","c","effectiveType","downlink","rtt","saveData","inferred","limit","nav","performance","getEntriesByType","find","e","entryType","rttMs","max","responseStart","requestStart","entries","entry","totalBytes","totalMs","slice","bytes","encodedBodySize","transferSize","ms","duration","Number","isFinite","kbps","downlinkMbps","inferNetworkFromTimings","toFixed","round","navEntry","ttfbMs","some","p","startsWith","getNetworkLine","coarse","matchMedia","matches","fine","maxTouchPoints","getPointerLine","battery","getBattery","pct","level","charging","getBatteryLine","cookieEnabled","doNotTrack","onLine","document","referrer","standalone","serviceWorker","controller","getPwaLine","tilt","timeoutMs","isSecureContext","Promise","resolve","settled","onEvent","beta","gamma","removeEventListener","ab","ag","classifyTilt","setTimeout","addEventListener","passive","getTiltLine","geoEnabled","localStorage","getItem","intentFlag","geoFlag","debugPanelFlag","clientIdKey","collectBaseKey","fallbackBaseUrl","debugLog","args","console","log","editableRoles","Object","freeze","Set","editableSelector","r","isNativeFormControl","el","tag","tagName","isEditableElement","ce","getAttribute","role","toLowerCase","has","getAncestorCrossShadow","parent","parentElement","parentNode","ShadowRoot","host","Element","escapeHtml","unsafe","replace","intentRedactAttr","sensitiveAutocomplete","placeholderFor","custom","trim","autocomplete","tokens","split","token","autocompleteLabels","get","redactAttr","getRedactionPlaceholderLabel","Map","hasRedactIgnore","hasAttribute","warnedRedactValues","hasRedactMask","v","normalized","value","add","message","JSON","stringify","warn","warnUnsupportedRedactValue","hasRedactIgnoreInHierarchy","current","body","shouldMaskValue","input","t","isSensitiveControl","processElement","element","includes","placeholder","setAttribute","textContent","queryAllDeep","root","selector","out","stack","shadowRoot","all","pop","querySelectorAll","redactDocument","clonedDoc","visitedDocs","ownerDoc","Document","ownerDocument","iframe","iframeDoc","contentDocument","sid","getSid","getCookie","name","Cookies","setSidCookie","maxAgeSeconds","raw","stored","maxAge","secure","location","protocol","set","expires","path","sameSite","clearSidCookie","remove","ensureSid","existing","crypto","randomUUID","panelElement","deviceGeoSent","geoModalActive","geoArmed","geoPending","geoTriedOnce","isGeoEnabled","resetGeoState","shouldRetryGeo","lastCapture","eventLog","isMinimized","isDebugPanelEnabled","setDebugPanel","enabled","setItem","showDebugPanel","style","display","updateEventList","eventsContainer","querySelector","countElement","innerHTML","sortedEvents","reverse","event","time","timestamp","toLocaleTimeString","hasImage","img","imageSize","escapedEventName","escapedPropsJson","props","escapedHtml","html","escapedBboxJson","bbox","createEventHTML","container","createElement","firstElementChild","appendChild","closeBtn","minimizeBtn","clearBtn","content","toggleMinimize","header","isDragging","currentX","currentY","initialX","initialY","target","rect","getBoundingClientRect","clientX","left","clientY","top","preventDefault","maxX","offsetWidth","maxY","offsetHeight","min","right","setupDragging","classList","contains","src","imageSrc","modal","id","cssText","imageContainer","controls","instructions","closeModal","handleEscape","stopPropagation","key","showFullscreenImage","readyState","captureInProgress","lastShotAt","baselineSent","INIT_MARK","clickSelector","canSend","blocked","capture","captureStartTime","now","serializeStart","cloned","cloneNode","from","attributes","forEach","outerHTML","getRedactedElementHTML","bboxRaw","snapStart","viewportRect","scrollX","scrollY","bottom","fullCanvas","html2canvas","useCORS","x","y","scale","logging","onclone","ignoreElements","node","nodeRect","margin","isBelowViewport","position","getComputedStyle","isExclusionCandidate","largeMargin","jpegStart","toDataURL","w","h","baseHeaders","clientId","headers","sendEvent","eventName","pre","sendProps","localTime","toISOString","innerText","getEditableValue","requiresScreenshot","cap","skipHtml","payload","ts","url","href","eventData","random","shift","debugPanelModule.logEventToDebugPanel","logEventToDebugPanel","fetch","method","keepalive","credentials","ok","cache","Error","pixelBodyFallback","transmit","emitContextUpdate","extra","wantsDevice","lat","lon","ipAttr","context","ip","k","handleRequestDeviceGeoOnce","onSuccess","canRequest","precheck","opts","enableHighAccuracy","maximumAge","timeout","permissions","query","done","meta","source","geolocation","getCurrentPosition","coords","latitude","longitude","accuracy","altitude","altitudeAccuracy","heading","speed","visibility","visibilityState","focused","hasFocus","err","code","error","online","proto","hostname","requestDeviceGeoOnce","handleArmGeoOnFirstGesture","requestGeo","fire","armGeoOnFirstGesture","lastActive","hidden","hadFocusOnce","updateFocus","active","initRuntime","g","globalThis","defineProperty","configurable","enumerable","writable","markInitialized","title","ref","last","targetEl","closest","HTMLElement","fn","throttle","aria","text","visibleLabel","HTMLInputElement","editable","attr","getContentEditableAncestor","dataset","intentEnter","evt","timer","clearTimeout","debounce","intent","send","setFlag","yes","setConsent","granted","setGeo","setDebug","debugPanelModule.setDebugPanel","setDebugPanelImpl","initIntent","baseUrl","sidMaxAgeSeconds","consent","geo","debug","debugPanel","getIntentSessionId","ensureIntentSessionId","clearIntentSessionId","setIntentSessionMaxAge","seconds","cur"],"mappings":"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"}
1
+ {"version":3,"file":"index.debug.js","sources":["../../src/context.ts","../../src/constants.ts","../../src/core/hash.ts","../../src/utils.ts","../../src/core/redaction-policy.ts","../../src/redaction.ts","../../src/session.ts","../../src/geolocation.ts","../../src/debug-panel.ts","../../src/core/ledger.ts","../../src/core/segment.ts","../../src/segment.ts","../../src/core/digest-shape.ts","../../src/digest.ts","../../src/core/host.ts","../../src/web/host.ts","../../src/observe.ts","../../src/core/transport.ts","../../src/transport.ts","../../src/client.ts","../../src/debug-panel-proxy.ts","../../src/index.ts"],"sourcesContent":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null],"names":["async","buildContextString","tz","Intl","DateTimeFormat","resolvedOptions","timeZone","tzOff","mins","sign","abs","Math","String","floor","padStart","tzOffsetString","Date","getTimezoneOffset","lines","push","navigator","language","languages","length","join","userAgent","uaLine","n","userAgentData","u","brands","Array","isArray","map","b","brand","version","undefined","platform","mobile","filter","Boolean","getUaHintsLine","toString","dpr","window","devicePixelRatio","screen","width","height","availWidth","availHeight","colorDepth","orientation","type","innerWidth","innerHeight","hardwareConcurrency","net","parts","label","connection","c","effectiveType","downlink","rtt","saveData","inferred","limit","nav","performance","getEntriesByType","find","e","entryType","rttMs","max","responseStart","requestStart","entries","entry","totalBytes","totalMs","slice","bytes","encodedBodySize","transferSize","ms","duration","Number","isFinite","kbps","downlinkMbps","inferNetworkFromTimings","toFixed","round","navEntry","ttfbMs","some","p","startsWith","getNetworkLine","coarse","matchMedia","matches","fine","maxTouchPoints","getPointerLine","battery","getBattery","pct","level","charging","getBatteryLine","cookieEnabled","doNotTrack","onLine","document","referrer","standalone","serviceWorker","controller","getPwaLine","tilt","timeoutMs","isSecureContext","Promise","resolve","settled","onEvent","beta","gamma","removeEventListener","ab","ag","classifyTilt","setTimeout","addEventListener","passive","getTiltLine","geoEnabled","localStorage","getItem","intentFlag","geoFlag","debugFlag","debugPanelFlag","clientIdKey","collectBaseKey","fallbackBaseUrl","hashSeed","prime","mixString","hash","input","h","i","charCodeAt","imul","mixNumber","value","lanes","seed","throttle","fn","wait","last","args","now","debugLog","console","log","editableRoles","Object","freeze","Set","editableSelector","r","isNativeFormControl","el","tag","tagName","isEditableElement","ce","getAttribute","role","toLowerCase","has","getAncestorCrossShadow","parent","parentElement","parentNode","ShadowRoot","host","Element","getEditableValue","innerText","textContent","escapeHtml","unsafe","replace","tokenLabels","Map","sensitiveTokens","keys","normalizeTokens","trim","split","hasSensitiveToken","tokens","token","labelForTokens","get","intentRedactAttr","placeholderFor","custom","declared","declaredSensitiveTypes","declaredLabel","redactAttr","getRedactionPlaceholderLabel","hasRedactIgnore","hasAttribute","warnedRedactValues","hasRedactMask","v","normalized","add","message","JSON","stringify","warn","warnUnsupportedRedactValue","hasRedactIgnoreInHierarchy","current","body","nearestMaskedElement","hasRedactMaskInHierarchy","placeholderForInHierarchy","isSensitiveControl","shouldMaskValueInHierarchy","webNeverSensitiveRoles","autocomplete","shouldMaskValue","processElement","element","includes","placeholder","setAttribute","queryAllDeep","root","selector","out","stack","shadowRoot","all","pop","querySelectorAll","redactDocument","clonedDoc","visitedDocs","ownerDoc","Document","ownerDocument","iframe","iframeDoc","contentDocument","sid","getSid","getCookie","name","Cookies","setSidCookie","maxAgeSeconds","raw","stored","maxAge","secure","location","protocol","set","expires","path","sameSite","clearSidCookie","remove","ensureSid","existing","crypto","randomUUID","panelElement","deviceGeoSent","geoModalActive","geoArmed","geoPending","geoTriedOnce","isGeoEnabled","resetGeoState","shouldRetryGeo","eventLog","isMinimized","isDebugPanelEnabled","setDebugPanel","enabled","setItem","showDebugPanel","style","display","updateEventList","eventsContainer","querySelector","countElement","innerHTML","sortedEvents","reverse","event","time","timestamp","toLocaleTimeString","hasImage","img","imageSize","escapedEventName","escapedPropsJson","props","escapedHtml","html","escapedBboxJson","bbox","createEventHTML","container","createElement","firstElementChild","appendChild","closeBtn","minimizeBtn","clearBtn","content","toggleMinimize","header","isDragging","currentX","currentY","initialX","initialY","target","rect","getBoundingClientRect","clientX","left","clientY","top","preventDefault","maxX","offsetWidth","maxY","offsetHeight","min","right","setupDragging","classList","contains","src","imageSrc","modal","id","cssText","imageContainer","controls","instructions","closeModal","handleEscape","stopPropagation","key","showFullscreenImage","readyState","zeroRect","x","y","w","defaultSegmentOptions","maxSegments","maxDepth","maxTextLength","maxHeadings","maxInteractives","minTextLength","minDescentCoverage","skipTags","unitTags","unitRoles","headingTags","interactiveTags","interactiveRoles","labelAttrs","fieldPolicyAttrs","domAdapter","children","ownText","node","childNodes","nodeType","text","kind","isSkipped","isUnit","isHeading","isInteractive","isMarked","signature","classes","from","sort","mixDigestAttributes","redact","editable","attr","href","alt","currentSrc","limits","clean","encode","fields","field","refFor","heading","actions","images","actionShape","a","imageShape","lanePrime","code","hashString","headingSelector","actionSelector","extractText","budget","at","visit","Node","TEXT_NODE","ELEMENT_NODE","skippedInputTypes","labelTextWithoutControls","copy","cloneNode","control","fieldLabel","aria","associated","labels","wrapper","closest","fieldValue","checked","select","selectedOptions","accessibleLabel","labelledBy","referenced","getElementById","title","imageSource","resolved","roleOf","explicit","getHost","Error","compressionEnabled","webStorage","removeItem","webHost","wallClock","storage","send","url","beacon","byteLength","sendBeacon","Blob","sendViaBeacon","compressed","CompressionStreamCtor","globalThis","CompressionStream","stream","pipeThrough","Response","blob","compressBody","headers","clientId","res","fetch","method","keepalive","credentials","ok","status","scheduleIdle","scheduler","postTask","priority","requestIdleCallback","timeout","installWebHost","defaultObserveOptions","visibilityIntervalMs","resegmentDebounceMs","resegmentMaxDelayMs","segmentOptions","ledger","options","pendingRegistrations","generation","constructor","this","size","values","reconcile","found","isAlive","seen","added","removed","fingerprint","registered","digest","intersecting","visible","ratio","dwellMs","closeDwell","delete","setGeometry","geometry","refreshVisibility","probe","visibleSince","registerVisible","unregistered","lastError","failures","extract","error","getOnScreen","byRef","open","candidate","ref","drainRegistrations","live","stale","getCoverage","onScreen","segments","clear","headingEl","actionEls","actionEl","action","image","buildDigest","extractSegment","observer","mutationObserver","visibilityTimer","resegmentTimer","resegmentPendingSince","readyResolve","readyPromise","started","markReady","whenReady","race","canCheck","prototype","checkVisibility","opacityProperty","visibilityProperty","contentVisibilityAuto","settle","then","handleIntersections","ioEntry","boundingClientRect","isIntersecting","intersectionRatio","resegment","adapter","opts","stats","own","textLength","headings","interactives","contentHash","child","childStats","computeStats","statsFor","emit","reason","s","hasContent","walk","depth","sibling","isRepeatedSibling","before","produced","reduce","total","seg","segmentTree","segment","isConnected","observe","unobserve","runResegment","clearTimeout","scheduleResegment","resegmentNow","startObserving","overrides","IntersectionObserver","threshold","MutationObserver","childList","subtree","attributes","attributeFilter","characterData","setInterval","once","defaultTransportOptions","batchSize","flushIntervalMs","maxBuffered","highSignalEvents","utf8Length","Transport","flushOn","buffer","extras","cancelTimer","inFlight","sent","failed","dropped","getStats","buffered","start","schedule","flush","stop","discard","enqueue","overflow","splice","attach","persistInFlight","events","payloadExtras","context","sentAt","release","onTeardownBatch","delivered","endpoint","releaseTeardownBatch","restore","replay","coreDefaults","compress","callback","intervalMs","clearInterval","transport","lastCapture","instance","handleHidden","visibilityState","handlePagehide","captureInProgress","lastShotAt","transmitFailures","baselineSent","INIT_MARK","clickSelector","hasConsent","canSend","blocked","capture","captureStartTime","serializeStart","cloned","forEach","outerHTML","getRedactedElementHTML","bboxRaw","snapStart","viewportRect","scrollX","scrollY","bottom","fullCanvas","html2canvas","useCORS","scale","logging","onclone","ignoreElements","nodeRect","margin","isBelowViewport","position","getComputedStyle","isExclusionCandidate","largeMargin","jpegStart","toDataURL","baseHeaders","isDigestMode","viewport","docH","refreshViewport","documentElement","scrollHeight","cachedViewport","sendDigestEvent","eventName","submission","HTMLFormElement","form","elements","disabled","truncated","part","fieldName","identifier","formName","buildFormSubmission","extractFormSubmission","chosen","segmentEntry","findSegmentFor","ts","localTime","toISOString","coverage","after","followUpTimer","o","look","attempt","settleNow","revealed","followUpRetryMs","followUpAfterSettleMs","scheduleFollowUp","pre","sendEvent","sendProps","requiresScreenshot","cap","skipHtml","payload","eventData","random","shift","debugPanelModule.logEventToDebugPanel","logEventToDebugPanel","primaryError","cache","pixelBodyFallback","transmit","runtimeStarted","startCollecting","batching","startTransport","pageviewSent","reportPageview","handleConsentRevoked","disconnect","handleConsentGranted","emitContextUpdate","extra","wantsDevice","lat","lon","ipAttr","ip","k","handleRequestDeviceGeoOnce","onSuccess","canRequest","precheck","enableHighAccuracy","maximumAge","permissions","query","done","meta","source","geolocation","getCurrentPosition","coords","latitude","longitude","accuracy","altitude","altitudeAccuracy","speed","visibility","focused","hasFocus","err","online","proto","hostname","requestDeviceGeoOnce","handleArmGeoOnFirstGesture","requestGeo","fire","armGeoOnFirstGesture","lastActive","hidden","hadFocusOnce","updateFocus","active","onLoadOnce","ran","run","initRuntime","g","defineProperty","configurable","enumerable","writable","markInitialized","locationKey","pathname","search","lastKey","onNavigate","spa","original","history","result","apply","trackSpaNavigation","targetEl","HTMLElement","visibleLabel","t","ignored","HTMLInputElement","getContentEditableAncestor","dataset","intentEnter","evt","timer","debounce","intent","setFlag","yes","setConsent","granted","setGeo","setDebug","debugPanelModule.setDebugPanel","setDebugPanelImpl","initIntent","baseUrl","sidMaxAgeSeconds","consent","geo","debug","debugPanel","getIntentSessionId","ensureIntentSessionId","clearIntentSessionId","setIntentSessionMaxAge","seconds","cur"],"mappings":"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"}