@v-tilt/browser 1.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (64) hide show
  1. package/dist/array.js +2 -0
  2. package/dist/array.js.map +1 -0
  3. package/dist/array.no-external.js +2 -0
  4. package/dist/array.no-external.js.map +1 -0
  5. package/dist/config.d.ts +17 -0
  6. package/dist/constants.d.ts +10 -0
  7. package/dist/entrypoints/array.d.ts +1 -0
  8. package/dist/entrypoints/array.no-external.d.ts +1 -0
  9. package/dist/entrypoints/main.cjs.d.ts +4 -0
  10. package/dist/entrypoints/module.es.d.ts +3 -0
  11. package/dist/entrypoints/module.no-external.es.d.ts +4 -0
  12. package/dist/geolocation.d.ts +5 -0
  13. package/dist/main.js +2 -0
  14. package/dist/main.js.map +1 -0
  15. package/dist/module.d.ts +214 -0
  16. package/dist/module.js +2 -0
  17. package/dist/module.js.map +1 -0
  18. package/dist/module.no-external.d.ts +214 -0
  19. package/dist/module.no-external.js +2 -0
  20. package/dist/module.no-external.js.map +1 -0
  21. package/dist/session.d.ts +26 -0
  22. package/dist/tracking.d.ts +112 -0
  23. package/dist/types.d.ts +67 -0
  24. package/dist/user-manager.d.ts +152 -0
  25. package/dist/utils/globals.d.ts +4 -0
  26. package/dist/utils/index.d.ts +30 -0
  27. package/dist/utils.d.ts +21 -0
  28. package/dist/vtilt.d.ts +178 -0
  29. package/dist/web-vitals.d.ts +11 -0
  30. package/lib/config.d.ts +17 -0
  31. package/lib/config.js +76 -0
  32. package/lib/constants.d.ts +10 -0
  33. package/lib/constants.js +463 -0
  34. package/lib/entrypoints/array.d.ts +1 -0
  35. package/lib/entrypoints/array.js +3 -0
  36. package/lib/entrypoints/array.no-external.d.ts +1 -0
  37. package/lib/entrypoints/array.no-external.js +4 -0
  38. package/lib/entrypoints/main.cjs.d.ts +4 -0
  39. package/lib/entrypoints/main.cjs.js +29 -0
  40. package/lib/entrypoints/module.es.d.ts +3 -0
  41. package/lib/entrypoints/module.es.js +22 -0
  42. package/lib/entrypoints/module.no-external.es.d.ts +4 -0
  43. package/lib/entrypoints/module.no-external.es.js +23 -0
  44. package/lib/geolocation.d.ts +5 -0
  45. package/lib/geolocation.js +26 -0
  46. package/lib/session.d.ts +26 -0
  47. package/lib/session.js +115 -0
  48. package/lib/tracking.d.ts +112 -0
  49. package/lib/tracking.js +326 -0
  50. package/lib/types.d.ts +67 -0
  51. package/lib/types.js +2 -0
  52. package/lib/user-manager.d.ts +152 -0
  53. package/lib/user-manager.js +565 -0
  54. package/lib/utils/globals.d.ts +4 -0
  55. package/lib/utils/globals.js +5 -0
  56. package/lib/utils/index.d.ts +30 -0
  57. package/lib/utils/index.js +89 -0
  58. package/lib/utils.d.ts +21 -0
  59. package/lib/utils.js +57 -0
  60. package/lib/vtilt.d.ts +178 -0
  61. package/lib/vtilt.js +403 -0
  62. package/lib/web-vitals.d.ts +11 -0
  63. package/lib/web-vitals.js +67 -0
  64. package/package.json +61 -0
@@ -0,0 +1,2 @@
1
+ function e(e,i,t,a,r,n,s){try{var o=e[n](s),c=o.value}catch(e){return void t(e)}o.done?i(c):Promise.resolve(c).then(a,r)}function i(){return i=Object.assign?Object.assign.bind():function(e){for(var i=1;i<arguments.length;i++){var t=arguments[i];for(var a in t)({}).hasOwnProperty.call(t,a)&&(e[a]=t[a])}return e},i.apply(null,arguments)}class t{constructor(e){void 0===e&&(e={}),this.config=this.parseConfigFromScript(e)}parseConfigFromScript(e){if(!document.currentScript)return i({projectId:e.projectId||"",token:e.token||""},e);var t=document.currentScript,a=i({projectId:"",token:""},e);if(a.host=t.getAttribute("data-host")||e.host,a.proxy=t.getAttribute("data-proxy")||e.proxy,a.proxyUrl=t.getAttribute("data-proxy-url")||e.proxyUrl,a.token=t.getAttribute("data-token")||e.token||"",a.projectId=t.getAttribute("data-project-id")||e.projectId||"",a.domain=t.getAttribute("data-domain")||e.domain,a.storage=t.getAttribute("data-storage")||e.storage,a.stringifyPayload="false"!==t.getAttribute("data-stringify-payload"),a.webVitals="true"===t.getAttribute("web-vitals")||"true"===t.getAttribute("data-web-vitals")||e.webVitals,a.proxy&&a.proxyUrl)throw console.error("Error: Both data-proxy and data-proxy-url are specified. Please use only one of them."),new Error("Both data-proxy and data-proxy-url are specified. Please use only one of them.");for(var r of(a.globalAttributes=i({},e.globalAttributes),Array.from(t.attributes)))r.name.startsWith("tb_")&&(a.globalAttributes[r.name.slice(3).replace(/-/g,"_")]=r.value),r.name.startsWith("data-tb-")&&(a.globalAttributes[r.name.slice(8).replace(/-/g,"_")]=r.value);return a}getConfig(){return i({},this.config)}updateConfig(e){this.config=i({},this.config,e)}}var a,r="vt_session_id",n="vt_anonymous_id",s="vt_distinct_id",o="vt_device_id",c="vt_user_properties",d="vt_user_state",u="localStorage",A="sessionStorage",l={"Asia/Barnaul":"RU","Africa/Nouakchott":"MR","Africa/Lusaka":"ZM","Asia/Pyongyang":"KP","Europe/Bratislava":"SK","America/Belize":"BZ","America/Maceio":"BR","Pacific/Chuuk":"FM","Indian/Comoro":"KM","Pacific/Palau":"PW","Asia/Jakarta":"ID","Africa/Windhoek":"NA","America/Chihuahua":"MX","America/Nome":"US","Africa/Mbabane":"SZ","Africa/Porto-Novo":"BJ","Europe/San_Marino":"SM","Pacific/Fakaofo":"TK","America/Denver":"US","Europe/Belgrade":"RS","America/Indiana/Tell_City":"US","America/Fortaleza":"BR","America/Halifax":"CA","Europe/Bucharest":"RO","America/Indiana/Petersburg":"US","Europe/Kirov":"RU","Europe/Athens":"GR","America/Argentina/Ushuaia":"AR","Europe/Monaco":"MC","Europe/Vilnius":"LT","Europe/Copenhagen":"DK","Pacific/Kanton":"KI","America/Caracas":"VE","Asia/Almaty":"KZ","Europe/Paris":"FR","Africa/Blantyre":"MW","Asia/Muscat":"OM","America/North_Dakota/Beulah":"US","America/Matamoros":"MX","Asia/Irkutsk":"RU","America/Costa_Rica":"CR","America/Araguaina":"BR","Atlantic/Canary":"ES","America/Santo_Domingo":"DO","America/Vancouver":"CA","Africa/Addis_Ababa":"ET","Africa/Accra":"GH","Pacific/Kwajalein":"MH","Asia/Baghdad":"IQ","Australia/Adelaide":"AU","Australia/Hobart":"AU","America/Guayaquil":"EC","America/Argentina/Tucuman":"AR","Australia/Lindeman":"AU","America/New_York":"US","Pacific/Fiji":"FJ","America/Antigua":"AG","Africa/Casablanca":"MA","America/Paramaribo":"SR","Africa/Cairo":"EG","America/Cayenne":"GF","America/Detroit":"US","Antarctica/Syowa":"AQ","Africa/Douala":"CM","America/Argentina/La_Rioja":"AR","Africa/Lagos":"NG","America/St_Barthelemy":"BL","Asia/Nicosia":"CY","Asia/Macau":"MO","Europe/Riga":"LV","Asia/Ashgabat":"TM","Indian/Antananarivo":"MG","America/Argentina/San_Juan":"AR","Asia/Aden":"YE","Asia/Tomsk":"RU","America/Asuncion":"PY","Pacific/Bougainville":"PG","Asia/Vientiane":"LA","America/Mazatlan":"MX","Africa/Luanda":"AO","Europe/Oslo":"NO","Africa/Kinshasa":"CD","Europe/Warsaw":"PL","America/Grand_Turk":"TC","Asia/Seoul":"KR","Africa/Tripoli":"LY","America/St_Thomas":"VI","Asia/Kathmandu":"NP","Pacific/Pitcairn":"PN","Pacific/Nauru":"NR","America/Curacao":"CW","Asia/Kabul":"AF","Pacific/Tongatapu":"TO","Europe/Simferopol":"UA","Asia/Ust-Nera":"RU","Africa/Mogadishu":"SO","Indian/Mayotte":"YT","Pacific/Niue":"NU","America/Thunder_Bay":"CA","Atlantic/Azores":"PT","Pacific/Gambier":"PF","Europe/Stockholm":"SE","Africa/Libreville":"GA","America/Punta_Arenas":"CL","America/Guatemala":"GT","America/Noronha":"BR","Europe/Helsinki":"FI","Asia/Gaza":"PS","Pacific/Kosrae":"FM","America/Aruba":"AW","America/Nassau":"BS","Asia/Choibalsan":"MN","America/Winnipeg":"CA","America/Anguilla":"AI","Asia/Thimphu":"BT","Asia/Beirut":"LB","Atlantic/Faroe":"FO","Europe/Berlin":"DE","Europe/Amsterdam":"NL","Pacific/Honolulu":"US","America/Regina":"CA","America/Scoresbysund":"GL","Europe/Vienna":"AT","Europe/Tirane":"AL","Africa/El_Aaiun":"EH","America/Creston":"CA","Asia/Qostanay":"KZ","Asia/Ho_Chi_Minh":"VN","Europe/Samara":"RU","Europe/Rome":"IT","Australia/Eucla":"AU","America/El_Salvador":"SV","America/Chicago":"US","Africa/Abidjan":"CI","Asia/Kamchatka":"RU","Pacific/Tarawa":"KI","America/Santiago":"CL","America/Bahia":"BR","Indian/Christmas":"CX","Asia/Atyrau":"KZ","Asia/Dushanbe":"TJ","Europe/Ulyanovsk":"RU","America/Yellowknife":"CA","America/Recife":"BR","Australia/Sydney":"AU","America/Fort_Nelson":"CA","Pacific/Efate":"VU","Europe/Saratov":"RU","Africa/Banjul":"GM","Asia/Omsk":"RU","Europe/Ljubljana":"SI","Europe/Budapest":"HU","Europe/Astrakhan":"RU","America/Argentina/Buenos_Aires":"AR","Pacific/Chatham":"NZ","America/Argentina/Salta":"AR","Africa/Niamey":"NE","Asia/Pontianak":"ID","Indian/Reunion":"RE","Asia/Hong_Kong":"HK","Antarctica/McMurdo":"AQ","Africa/Malabo":"GQ","America/Los_Angeles":"US","America/Argentina/Cordoba":"AR","Pacific/Pohnpei":"FM","America/Tijuana":"MX","America/Campo_Grande":"BR","America/Dawson_Creek":"CA","Asia/Novosibirsk":"RU","Pacific/Pago_Pago":"AS","Asia/Jerusalem":"IL","Europe/Sarajevo":"BA","Africa/Freetown":"SL","Asia/Yekaterinburg":"RU","America/Juneau":"US","Africa/Ouagadougou":"BF","Africa/Monrovia":"LR","Europe/Kiev":"UA","America/Argentina/San_Luis":"AR","Asia/Tokyo":"JP","Asia/Qatar":"QA","America/La_Paz":"BO","America/Bogota":"CO","America/Thule":"GL","Asia/Manila":"PH","Asia/Hovd":"MN","Asia/Tehran":"IR","Atlantic/Madeira":"PT","America/Metlakatla":"US","Europe/Vatican":"VA","Asia/Bishkek":"KG","Asia/Dili":"TL","Antarctica/Palmer":"AQ","Atlantic/Cape_Verde":"CV","Indian/Chagos":"IO","America/Kentucky/Monticello":"US","Africa/Algiers":"DZ","Africa/Maseru":"LS","Asia/Kuala_Lumpur":"MY","Africa/Khartoum":"SD","America/Argentina/Rio_Gallegos":"AR","America/Blanc-Sablon":"CA","Africa/Maputo":"MZ","America/Tortola":"VG","Atlantic/Bermuda":"BM","America/Argentina/Catamarca":"AR","America/Cayman":"KY","America/Puerto_Rico":"PR","Pacific/Majuro":"MH","Europe/Busingen":"DE","Pacific/Midway":"UM","Indian/Cocos":"CC","Asia/Singapore":"SG","America/Boise":"US","America/Nuuk":"GL","America/Goose_Bay":"CA","Australia/Broken_Hill":"AU","Africa/Dar_es_Salaam":"TZ","Africa/Asmara":"ER","Asia/Samarkand":"UZ","Asia/Tbilisi":"GE","America/Argentina/Jujuy":"AR","America/Indiana/Winamac":"US","America/Porto_Velho":"BR","Asia/Magadan":"RU","Europe/Zaporozhye":"UA","Antarctica/Casey":"AQ","Asia/Shanghai":"CN","Pacific/Norfolk":"NF","Europe/Guernsey":"GG","Australia/Brisbane":"AU","Antarctica/DumontDUrville":"AQ","America/Havana":"CU","America/Atikokan":"CA","America/Mexico_City":"MX","America/Rankin_Inlet":"CA","America/Cuiaba":"BR","America/Resolute":"CA","Africa/Ceuta":"ES","Arctic/Longyearbyen":"SJ","Pacific/Guam":"GU","Asia/Damascus":"SY","Asia/Colombo":"LK","Asia/Yerevan":"AM","America/Montserrat":"MS","America/Belem":"BR","Europe/Kaliningrad":"RU","Atlantic/South_Georgia":"GS","Asia/Tashkent":"UZ","Asia/Kolkata":"IN","America/St_Johns":"CA","Asia/Srednekolymsk":"RU","Asia/Yakutsk":"RU","Europe/Prague":"CZ","Africa/Djibouti":"DJ","Asia/Dubai":"AE","Europe/Uzhgorod":"UA","America/Edmonton":"CA","Asia/Famagusta":"CY","America/Indiana/Knox":"US","Asia/Hebron":"PS","Asia/Taipei":"TW","Europe/London":"GB","Africa/Dakar":"SN","Australia/Darwin":"AU","America/Glace_Bay":"CA","Antarctica/Vostok":"AQ","America/Indiana/Vincennes":"US","America/Nipigon":"CA","Asia/Kuwait":"KW","Pacific/Guadalcanal":"SB","America/Toronto":"CA","Africa/Gaborone":"BW","Africa/Bujumbura":"BI","Africa/Lubumbashi":"CD","America/Merida":"MX","America/Marigot":"MF","Europe/Zagreb":"HR","Pacific/Easter":"CL","America/Santarem":"BR","Pacific/Noumea":"NC","America/Sitka":"US","Atlantic/Stanley":"FK","Pacific/Funafuti":"TV","America/Iqaluit":"CA","America/Rainy_River":"CA","America/Anchorage":"US","America/Lima":"PE","Asia/Baku":"AZ","America/Indiana/Vevay":"US","Asia/Ulaanbaatar":"MN","America/Managua":"NI","Asia/Krasnoyarsk":"RU","Asia/Qyzylorda":"KZ","America/Eirunepe":"BR","Europe/Podgorica":"ME","Europe/Chisinau":"MD","Europe/Mariehamn":"AX","Europe/Volgograd":"RU","Africa/Nairobi":"KE","Europe/Isle_of_Man":"IM","America/Menominee":"US","Africa/Harare":"ZW","Asia/Anadyr":"RU","America/Moncton":"CA","Indian/Maldives":"MV","America/Whitehorse":"CA","Antarctica/Mawson":"AQ","Europe/Madrid":"ES","America/Argentina/Mendoza":"AR","America/Manaus":"BR","Africa/Bangui":"CF","Indian/Mauritius":"MU","Africa/Tunis":"TN","Australia/Lord_Howe":"AU","America/Kentucky/Louisville":"US","America/North_Dakota/Center":"US","Asia/Novokuznetsk":"RU","Asia/Makassar":"ID","America/Port_of_Spain":"TT","America/Bahia_Banderas":"MX","Pacific/Auckland":"NZ","America/Sao_Paulo":"BR","Asia/Dhaka":"BD","America/Pangnirtung":"CA","Europe/Dublin":"IE","Asia/Brunei":"BN","Africa/Brazzaville":"CG","America/Montevideo":"UY","America/Jamaica":"JM","America/Indiana/Indianapolis":"US","America/Kralendijk":"BQ","Europe/Gibraltar":"GI","Pacific/Marquesas":"PF","Pacific/Apia":"WS","Europe/Jersey":"JE","America/Phoenix":"US","Africa/Ndjamena":"TD","Asia/Karachi":"PK","Africa/Kampala":"UG","Asia/Sakhalin":"RU","America/Martinique":"MQ","Europe/Moscow":"RU","Africa/Conakry":"GN","America/Barbados":"BB","Africa/Lome":"TG","America/Ojinaga":"MX","America/Tegucigalpa":"HN","Asia/Bangkok":"TH","Africa/Johannesburg":"ZA","Europe/Vaduz":"LI","Africa/Sao_Tome":"ST","America/Cambridge_Bay":"CA","America/Lower_Princes":"SX","America/Miquelon":"PM","America/St_Kitts":"KN","Australia/Melbourne":"AU","Europe/Minsk":"BY","Asia/Vladivostok":"RU","Europe/Sofia":"BG","Antarctica/Davis":"AQ","Pacific/Galapagos":"EC","America/North_Dakota/New_Salem":"US","Asia/Amman":"JO","Pacific/Wallis":"WF","America/Hermosillo":"MX","Pacific/Kiritimati":"KI","Antarctica/Macquarie":"AU","America/Guyana":"GY","Asia/Riyadh":"SA","Pacific/Tahiti":"PF","America/St_Vincent":"VC","America/Cancun":"MX","America/Grenada":"GD","Pacific/Wake":"UM","America/Dawson":"CA","Europe/Brussels":"BE","Indian/Kerguelen":"TF","America/Yakutat":"US","Indian/Mahe":"SC","Atlantic/Reykjavik":"IS","America/Panama":"PA","America/Guadeloupe":"GP","Europe/Malta":"MT","Antarctica/Troll":"AQ","Asia/Jayapura":"ID","Asia/Bahrain":"BH","Asia/Chita":"RU","Europe/Tallinn":"EE","Asia/Khandyga":"RU","America/Rio_Branco":"BR","Atlantic/St_Helena":"SH","Africa/Juba":"SS","America/Adak":"US","Pacific/Saipan":"MP","America/St_Lucia":"LC","America/Inuvik":"CA","Europe/Luxembourg":"LU","Africa/Bissau":"GW","Asia/Oral":"KZ","America/Boa_Vista":"BR","Europe/Skopje":"MK","America/Port-au-Prince":"HT","Pacific/Port_Moresby":"PG","Europe/Andorra":"AD","America/Indiana/Marengo":"US","Africa/Kigali":"RW","Africa/Bamako":"ML","America/Dominica":"DM","Asia/Aqtobe":"KZ","Europe/Istanbul":"TR","Pacific/Rarotonga":"CK","America/Danmarkshavn":"GL","Europe/Zurich":"CH","Asia/Yangon":"MM","America/Monterrey":"MX","Europe/Lisbon":"PT","Asia/Kuching":"MY","Antarctica/Rothera":"AQ","Australia/Perth":"AU","Asia/Phnom_Penh":"KH","America/Swift_Current":"CA","Asia/Aqtau":"KZ","Asia/Urumqi":"CN","Asia/Calcutta":"IN"},g=["username","user","user_id","userid","password","pass","pin","passcode","token","api_token","email","address","phone","sex","gender","order","order_id","orderid","payment","credit_card"];function h(){return"10000000-1000-4000-8000-100000000000".replace(/[018]/g,e=>(+e^crypto.getRandomValues(new Uint8Array(1))[0]&15>>+e/4).toString(16))}function m(e){return!(!e||"string"!=typeof e)&&!(e.length<2||e.length>10240)}function p(e){var i=JSON.stringify(e);return g.forEach(e=>{i=i.replace(new RegExp('("'+e+'"):(".+?"|\\d+)',"gmi"),'$1:"********"')}),i}function f(){return!!("__nightmare"in window||window.navigator.webdriver||"Cypress"in window)}class y{constructor(e,i){void 0===e&&(e="cookie"),this.storageMethod=e,this.domain=i}getSessionIdFromCookie(){var e={};return document.cookie.split(";").forEach(function(i){var[t,a]=i.split("=");e[t.trim()]=a}),e[r]||null}getSessionId(){if(this.storageMethod===u||this.storageMethod===A){var e=this.storageMethod===u?localStorage:sessionStorage,i=e.getItem(r);if(!i)return null;var t=null;try{t=JSON.parse(i)}catch(e){return null}return"object"!=typeof t||null===t?null:(new Date).getTime()>t.expiry?(e.removeItem(r),null):t.value}return this.getSessionIdFromCookie()}setSessionIdFromCookie(e){var i=r+"="+e+"; Max-Age=1800; path=/; secure";this.domain&&(i+="; domain="+this.domain),document.cookie=i}setSessionId(){var e=this.getSessionId()||h();if(this.storageMethod===u||this.storageMethod===A){var i={value:e,expiry:(new Date).getTime()+18e5},t=JSON.stringify(i);(this.storageMethod===u?localStorage:sessionStorage).setItem(r,t)}else this.setSessionIdFromCookie(e);return e}resetSessionId(){this.storageMethod===u||this.storageMethod===A?(this.storageMethod===u?localStorage:sessionStorage).removeItem(r):(document.cookie=r+"=; expires=Thu, 01 Jan 1970 00:00:00 UTC; path=/;",this.domain&&(document.cookie=r+"=; expires=Thu, 01 Jan 1970 00:00:00 UTC; path=/; domain="+this.domain+";"));this.setSessionId()}}class v{constructor(e,i){void 0===e&&(e="localStorage"),this._cachedPersonProperties=null,this.storageMethod=e,this.domain=i,this.userIdentity=this.loadUserIdentity()}getUserIdentity(){return i({},this.userIdentity)}getDistinctId(){return this.userIdentity.distinct_id}getAnonymousId(){return this.userIdentity.anonymous_id||(this.userIdentity.anonymous_id=this.generateAnonymousId(),this.saveUserIdentity()),this.userIdentity.anonymous_id}getUserProperties(){return i({},this.userIdentity.properties)}identify(e,t,a){if("number"==typeof e&&(e=e.toString(),console.warn("The first argument to vTilt.identify was a number, but it should be a string. It has been converted to a string.")),e)if(this.isDistinctIdStringLike(e))console.error('The string "'+e+'" was set in vTilt.identify which indicates an error. This ID should be unique to the user and not a hardcoded string.');else if("COOKIELESS_SENTINEL_VALUE"!==e){var r=this.userIdentity.distinct_id,n=this.userIdentity.anonymous_id,s=this.userIdentity.device_id;if(this.userIdentity.distinct_id=e,!this.userIdentity.device_id){var o=r||this.userIdentity.anonymous_id;this.userIdentity.device_id=o,this.userIdentity.properties=i({},this.userIdentity.properties,{$had_persisted_distinct_id:!0,$device_id:o})}e!==r&&(this.userIdentity.distinct_id=e);var c="anonymous"===this.userIdentity.user_state;e!==r&&c?(this.userIdentity.user_state="identified",t&&(this.userIdentity.properties=i({},this.userIdentity.properties,t)),a&&Object.keys(a).forEach(e=>{e in this.userIdentity.properties||(this.userIdentity.properties[e]=a[e])}),this.saveUserIdentity(),this.sendIdentifyEvent(e,n,s,{$set:t||{},$set_once:a||{}})):t||a?("anonymous"===this.userIdentity.user_state&&(this.userIdentity.user_state="identified"),t&&(this.userIdentity.properties=i({},this.userIdentity.properties,t)),a&&Object.keys(a).forEach(e=>{e in this.userIdentity.properties||(this.userIdentity.properties[e]=a[e])}),this.saveUserIdentity(),this.sendSetEvent(t||{},a||{})):e!==r&&(this.userIdentity.user_state="identified",this.saveUserIdentity())}else console.error('The string "'+e+'" was set in vTilt.identify which indicates an error. This ID is only used as a sentinel value.');else console.error("Unique user id has not been set in vTilt.identify")}setUserProperties(e,t){if(e||t){var a=this.userIdentity.distinct_id||this.userIdentity.anonymous_id,r=this.getPersonPropertiesHash(a,e,t);this._cachedPersonProperties!==r?(e&&(this.userIdentity.properties=i({},this.userIdentity.properties,e)),t&&Object.keys(t).forEach(e=>{e in this.userIdentity.properties||(this.userIdentity.properties[e]=t[e])}),this.saveUserIdentity(),this.sendSetEvent(e||{},t||{}),this._cachedPersonProperties=r):console.info("VTilt: A duplicate setUserProperties call was made with the same properties. It has been ignored.")}}getPersonPropertiesHash(e,i,t){return JSON.stringify({distinct_id:e,userPropertiesToSet:i,userPropertiesToSetOnce:t})}sendSetEvent(e,i){var t=new CustomEvent("vtilt:set",{detail:{$set:e||{},$set_once:i||{}}});window.dispatchEvent(t)}reset(e){var t=this.generateAnonymousId(),a=this.userIdentity.device_id,r=e?this.generateDeviceId():a;this.userIdentity={distinct_id:null,anonymous_id:t,device_id:r,properties:{},user_state:"anonymous"},this._cachedPersonProperties=null,this.saveUserIdentity(),this.userIdentity.properties=i({},this.userIdentity.properties,{$last_posthog_reset:(new Date).toISOString()}),this.saveUserIdentity()}getEffectiveId(){return this.userIdentity.distinct_id||this.getAnonymousId()}getDeviceId(){return this.userIdentity.device_id}getUserState(){return this.userIdentity.user_state}createAlias(e,i){if(this.isValidDistinctId(e))if(void 0===i&&(i=this.getDistinctId()||this.getAnonymousId()),this.isValidDistinctId(i)){if(e===i)return console.warn("alias matches current distinct_id - calling identify instead"),void this.identify(e);var t=new CustomEvent("vtilt:alias",{detail:{distinct_id:e,original:i}});window.dispatchEvent(t)}else console.warn("Invalid original distinct ID");else console.warn("Invalid alias provided")}isValidDistinctId(e){if(!e||"string"!=typeof e)return!1;var i=e.toLowerCase().trim();return!["null","undefined","false","true","anonymous","anon","user","test","guest","visitor","unknown","none"].includes(i)&&0!==e.trim().length}isDistinctIdStringLike(e){if(!e||"string"!=typeof e)return!1;var i=e.toLowerCase().trim();return["null","undefined","false","true","anonymous","anon","user","test","guest","visitor","unknown","none","demo","example","sample","placeholder"].includes(i)}loadUserIdentity(){var e=this.getStoredValue(n)||this.generateAnonymousId(),i=this.getStoredValue(s)||null,t=this.getStoredValue(o)||this.generateDeviceId(),a=this.getStoredUserProperties(),r=this.getStoredValue(d)||"anonymous";return{distinct_id:i,anonymous_id:e||this.generateAnonymousId(),device_id:t,properties:a,user_state:r}}saveUserIdentity(){this.setStoredValue(n,this.userIdentity.anonymous_id),this.setStoredValue(o,this.userIdentity.device_id),this.setStoredValue(d,this.userIdentity.user_state),this.userIdentity.distinct_id?this.setStoredValue(s,this.userIdentity.distinct_id):this.removeStoredValue(s),this.setStoredUserProperties(this.userIdentity.properties)}generateAnonymousId(){return"anon_"+h()}generateDeviceId(){return"device_"+h()}sendIdentifyEvent(e,t,a,r){var n=new CustomEvent("vtilt:identify",{detail:{distinct_id:e,anonymous_id:t,device_id:a,properties:i({$anon_distinct_id:t,$device_id:a},r)}});window.dispatchEvent(n)}getStoredValue(e){try{return this.storageMethod===u?localStorage.getItem(e):this.storageMethod===A?sessionStorage.getItem(e):this.getCookieValue(e)}catch(e){return console.warn("Failed to access storage:",e),null}}setStoredValue(e,i){try{this.storageMethod===u?localStorage.setItem(e,i):this.storageMethod===A?sessionStorage.setItem(e,i):this.setCookieValue(e,i)}catch(e){console.warn("Failed to save to storage:",e)}}removeStoredValue(e){this.storageMethod===u?localStorage.removeItem(e):this.storageMethod===A?sessionStorage.removeItem(e):this.removeCookieValue(e)}getStoredUserProperties(){var e=this.getStoredValue(c);if(!e)return{};try{return JSON.parse(e)}catch(e){return{}}}setStoredUserProperties(e){this.setStoredValue(c,JSON.stringify(e))}getCookieValue(e){var i=document.cookie.split(";");for(var t of i){var[a,r]=t.trim().split("=");if(a===e)return decodeURIComponent(r)}return null}setCookieValue(e,i){var t=e+"="+encodeURIComponent(i)+"; Max-Age=31536000; path=/; secure; SameSite=Lax";this.domain&&(t+="; domain="+this.domain),document.cookie=t}removeCookieValue(e){var i=e+"=; Max-Age=0; path=/";this.domain&&(i+="; domain="+this.domain),document.cookie=i}}function S(){var e,i;try{var t=Intl.DateTimeFormat().resolvedOptions().timeZone;e=l[t],i=navigator.languages&&navigator.languages.length?navigator.languages[0]:navigator.userLanguage||navigator.language||navigator.browserLanguage||"en"}catch(e){}return{country:e,locale:i}}class I{constructor(e){this.__request_queue=[],this._hasWarnedAboutConfig=!1,this.config=e,this.config.domain||"undefined"==typeof window||(this.config.domain=this.getCurrentDomain()),this.sessionManager=new y(e.storage||"cookie",this.config.domain),this.userManager=new v(e.persistence||"localStorage",this.config.domain),this.setupIdentifyListener()}getCurrentDomain(){if("undefined"==typeof window)return"";var e=window.location.protocol,i=window.location.hostname,t=window.location.port;return e+"//"+i+(t?":"+t:"")}_isConfigured(){return!(!this.config.projectId||!this.config.token)||(this._hasWarnedAboutConfig||(console.warn("VTilt: projectId and token are required for tracking. Events will be skipped until init() or updateConfig() is called with these fields."),this._hasWarnedAboutConfig=!0),!1)}sendEvent(i,t){var a,r=this;return(a=function*(){if(r.sessionManager.setSessionId(),function(e){return!(e&&"string"==typeof e&&e.length>500)}(window.navigator.userAgent)){var e,a=r.buildUrl();if(!1!==r.config.stringifyPayload){if(e=p(t),e=Object.assign({},JSON.parse(e),r.config.globalAttributes),!m(e=JSON.stringify(e)))return}else{var n=p(e=Object.assign({},t,r.config.globalAttributes));if(!m(n))return;e=JSON.parse(n)}var s=r.sessionManager.getSessionId()||h(),o=r.userManager.getDistinctId(),c=r.userManager.getAnonymousId(),d={timestamp:(new Date).toISOString(),event:i,session_id:s,tenant_id:r.config.projectId||"",domain:r.config.domain||r.getCurrentDomain(),payload:e,distinct_id:o||c};r.sendRequest(a,d,!0)}},function(){var i=this,t=arguments;return new Promise(function(r,n){var s=a.apply(i,t);function o(i){e(s,r,n,o,c,"next",i)}function c(i){e(s,r,n,o,c,"throw",i)}o(void 0)})})()}buildUrl(){var{proxyUrl:e,proxy:i,host:t,token:a}=this.config;return e||(i?i+"/api/tracking?token="+a:t?t.replace(/\/+$/gm,"")+"/api/tracking?token="+a:"/api/tracking?token="+a)}sendRequest(e,i,t){if(this._isConfigured()){if(t&&"undefined"!=typeof window)if(window.__VTILT_ENQUEUE_REQUESTS)return void this.__request_queue.push({url:e,event:i});var a=new XMLHttpRequest;a.open("POST",e,!0),a.setRequestHeader("Content-Type","application/json"),a.send(JSON.stringify(i))}}_send_retriable_request(e){this.sendRequest(e.url,e.event,!1)}trackPageHit(){if(!f()){var{country:e,locale:i}=S();setTimeout(()=>{this.sendEvent("page_hit",{"user-agent":window.navigator.userAgent,locale:i,location:e,referrer:document.referrer,pathname:window.location.pathname,href:window.location.href})},300)}}getSessionId(){return this.sessionManager.getSessionId()}identify(e,i,t){this.userManager.identify(e,i,t)}setUserProperties(e,i){this.userManager.setUserProperties(e,i)}resetUser(e){this.sessionManager.resetSessionId(),this.userManager.reset(e)}getUserIdentity(){return this.userManager.getUserIdentity()}getDeviceId(){return this.userManager.getDeviceId()}getUserState(){return this.userManager.getUserState()}createAlias(e,i){this.userManager.createAlias(e,i)}setupIdentifyListener(){window.addEventListener("vtilt:identify",e=>{var i=e,{distinct_id:t,anonymous_id:a,device_id:r,properties:n}=i.detail;this.sendIdentifyEvent(t,a,r,n)}),window.addEventListener("vtilt:set",e=>{var i=e,{$set:t,$set_once:a}=i.detail;this.sendSetEvent(t||{},a||{})}),window.addEventListener("vtilt:alias",e=>{var i=e.detail;this.sendAliasEvent(i)})}sendIdentifyEvent(e,t,a,r){var n=this.buildUrl(),s=this.sessionManager.getSessionId()||h(),o=i({$anon_distinct_id:t,$device_id:a},r),c={timestamp:(new Date).toISOString(),event:"$identify",session_id:s,tenant_id:this.config.projectId||"",domain:this.config.domain||this.getCurrentDomain(),payload:o,distinct_id:e};this.sendRequest(n,c,!0)}sendSetEvent(e,i){var t=this.buildUrl(),a=this.sessionManager.getSessionId()||h(),r=this.userManager.getDistinctId(),n=this.userManager.getAnonymousId(),s={$set:e||{},$set_once:i||{}},o={timestamp:(new Date).toISOString(),event:"$set",session_id:a,tenant_id:this.config.projectId||"",domain:this.config.domain||this.getCurrentDomain(),payload:s,distinct_id:r||n};this.sendRequest(t,o,!0)}sendAliasEvent(e){var i=this.buildUrl(),t=this.sessionManager.getSessionId()||h(),a={$original_id:e.original,$alias_id:e.distinct_id},r={timestamp:(new Date).toISOString(),event:"$alias",session_id:t,tenant_id:this.config.projectId||"",domain:this.config.domain||this.getCurrentDomain(),payload:a,distinct_id:e.distinct_id};this.sendRequest(i,r,!0)}}class _{constructor(e,i){if(this.trackingManager=i,e.webVitals)try{this.webVitals=require("web-vitals"),this.initializeWebVitals()}catch(e){console.warn("web-vitals library not found. Please install it to enable web vitals tracking.",e)}}initializeWebVitals(){if(this.webVitals){var e=e=>{try{var{country:i,locale:t}=S();this.trackingManager.sendEvent("web_vital",{name:e.name,value:e.value,delta:e.delta,rating:e.rating,id:e.id,navigationType:e.navigationType,pathname:window.location.pathname,href:window.location.href,"user-agent":window.navigator.userAgent,locale:t,location:i,referrer:document.referrer})}catch(e){console.error("Error sending web vital:",e)}};this.webVitals.onCLS&&this.webVitals.onCLS(e),this.webVitals.onFCP&&this.webVitals.onFCP(e),this.webVitals.onLCP&&this.webVitals.onLCP(e),this.webVitals.onTTFB&&this.webVitals.onTTFB(e),this.webVitals.onINP&&this.webVitals.onINP(e)}}}class M{constructor(e){void 0===e&&(e={}),this.initialized=!1,this.configManager=new t(e),this.trackingManager=new I(this.configManager.getConfig()),this.webVitalsManager=new _(this.configManager.getConfig(),this.trackingManager)}init(){this.initialized||(this.setupPageTracking(),this.initialized=!0)}trackEvent(e,i){void 0===i&&(i={}),this.trackingManager.sendEvent(e,i)}identify(e,i,t){this.trackingManager.identify(e,i,t)}setUserProperties(e,i){this.trackingManager.setUserProperties(e,i)}resetUser(e){this.trackingManager.resetUser(e)}getUserIdentity(){return this.trackingManager.getUserIdentity()}getDeviceId(){return this.trackingManager.getDeviceId()}getUserState(){return this.trackingManager.getUserState()}createAlias(e,i){this.trackingManager.createAlias(e,i)}setupPageTracking(){var e=this;this.trackPageHit(),window.addEventListener("hashchange",()=>this.trackPageHit());var i=window.history;if(i.pushState){var t=i.pushState;i.pushState=function(){for(var i=arguments.length,a=new Array(i),r=0;r<i;r++)a[r]=arguments[r];t.apply(e,a),e.trackPageHit()},window.addEventListener("popstate",()=>this.trackPageHit())}this.setupVisibilityTracking()}trackPageHit(){f()||this.trackingManager.trackPageHit()}setupVisibilityTracking(){"prerender"===document.visibilityState&&document.addEventListener("visibilitychange",()=>{"visible"===document.visibilityState&&this.trackPageHit()})}getConfig(){return this.configManager.getConfig()}getSessionId(){return this.trackingManager.getSessionId()}updateConfig(e){this.configManager.updateConfig(e),this.trackingManager=new I(this.configManager.getConfig()),this.webVitalsManager=new _(this.configManager.getConfig(),this.trackingManager)}_execute_array(e){Array.isArray(e)&&e.forEach(e=>{if(e&&Array.isArray(e)&&e.length>0){var i=e[0],t=e.slice(1);if("function"==typeof this[i])try{this[i](...t)}catch(e){console.error("VTilt: Error executing queued call "+i+":",e)}}})}_dom_loaded(){this.trackingManager&&(this.trackingManager.__request_queue.forEach(e=>{this.trackingManager._send_retriable_request(e)}),this.trackingManager.__request_queue=[])}}var w={},E="undefined"!=typeof XMLHttpRequest||"undefined"!=typeof fetch,C="undefined"!=typeof window?null===(a=window.navigator)||void 0===a?void 0:a.userAgent:void 0,U=!E&&-1===(null==C?void 0:C.indexOf("MSIE"))&&-1===(null==C?void 0:C.indexOf("Mozilla"));"undefined"!=typeof window&&(window.__VTILT_ENQUEUE_REQUESTS=U);var k=function(){function e(){e.done||(e.done=!0,U=!1,"undefined"!=typeof window&&(window.__VTILT_ENQUEUE_REQUESTS=!1),function(e,i,t){if(e)if(Array.isArray(e))e.forEach((e,a)=>{i.call(t,e,a)});else for(var a in e)Object.prototype.hasOwnProperty.call(e,a)&&i.call(t,e[a],a)}(w,function(e){e._dom_loaded()}))}"undefined"==typeof document||"function"!=typeof document.addEventListener?"undefined"!=typeof window&&console.error("Browser doesn't support `document.addEventListener` so VTilt couldn't be initialized"):"complete"===document.readyState?e():function(e,i,t,a){var{capture:r=!1,passive:n=!0}=null!=a?a:{};null==e||e.addEventListener(i,t,{capture:r,passive:n})}(document,"DOMContentLoaded",e,{capture:!1})};var P,b=(P=w.vTilt=new M,k(),P);export{M as VTilt,b as default,b as vt};
2
+ //# sourceMappingURL=module.no-external.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"module.no-external.js","sources":["../src/config.ts","../src/constants.ts","../src/utils/index.ts","../src/session.ts","../src/user-manager.ts","../src/geolocation.ts","../src/tracking.ts","../src/web-vitals.ts","../src/vtilt.ts","../src/entrypoints/module.no-external.es.ts"],"sourcesContent":[null,null,null,null,null,null,null,null,null,null],"names":["ConfigManager","constructor","config","this","parseConfigFromScript","initialConfig","document","currentScript","_extends","projectId","token","script","host","getAttribute","proxy","proxyUrl","domain","storage","stringifyPayload","webVitals","console","error","Error","attr","globalAttributes","Array","from","attributes","name","startsWith","slice","replace","value","getConfig","updateConfig","newConfig","STORAGE_KEY","ANONYMOUS_ID_KEY","DISTINCT_ID_KEY","DEVICE_ID_KEY","USER_PROPERTIES_KEY","USER_STATE_KEY","STORAGE_METHODS","TIMEZONES","ATTRIBUTES_TO_MASK","uuidv4","c","crypto","getRandomValues","Uint8Array","toString","isValidPayload","payloadStr","length","maskSuspiciousAttributes","payload","_payload","JSON","stringify","forEach","RegExp","isTestEnvironment","window","navigator","webdriver","SessionManager","storageMethod","getSessionIdFromCookie","cookie","split","el","key","trim","getSessionId","localStorage","sessionStorage","serializedItem","getItem","item","parse","_a","Date","getTime","expiry","removeItem","setSessionIdFromCookie","sessionId","cookieValue","setSessionId","setItem","resetSessionId","UserManager","_cachedPersonProperties","userIdentity","loadUserIdentity","getUserIdentity","getDistinctId","distinct_id","getAnonymousId","anonymous_id","generateAnonymousId","saveUserIdentity","getUserProperties","properties","identify","newDistinctId","userPropertiesToSet","userPropertiesToSetOnce","warn","isDistinctIdStringLike","previousDistinctId","anonymousId","deviceId","device_id","$had_persisted_distinct_id","$device_id","isKnownAnonymous","user_state","Object","keys","sendIdentifyEvent","$set","$set_once","sendSetEvent","setUserProperties","distinctId","hash","getPersonPropertiesHash","info","setEvent","CustomEvent","detail","dispatchEvent","reset","reset_device_id","newAnonymousId","newDeviceId","generateDeviceId","$last_posthog_reset","toISOString","getEffectiveId","getDeviceId","getUserState","createAlias","alias","original","isValidDistinctId","undefined","customEvent","lower","toLowerCase","includes","getStoredValue","getStoredUserProperties","userState","setStoredValue","removeStoredValue","setStoredUserProperties","propertyOperations","identifyEvent","$anon_distinct_id","getCookieValue","setCookieValue","removeCookieValue","stored","cookies","decodeURIComponent","encodeURIComponent","getCountryAndLocale","country","locale","timezone","Intl","DateTimeFormat","resolvedOptions","timeZone","languages","userLanguage","language","browserLanguage","_error","TrackingManager","__request_queue","_hasWarnedAboutConfig","getCurrentDomain","sessionManager","userManager","persistence","setupIdentifyListener","protocol","location","hostname","port","_isConfigured","sendEvent","_this","userAgent","isValidUserAgent","processedPayload","url","buildUrl","assign","maskedStr","session_id","trackingEvent","timestamp","event","tenant_id","sendRequest","shouldEnqueue","__VTILT_ENQUEUE_REQUESTS","push","request","XMLHttpRequest","open","setRequestHeader","send","_send_retriable_request","trackPageHit","setTimeout","referrer","pathname","href","resetUser","addEventListener","aliasEvent","sendAliasEvent","identifyPayload","setEventPayload","aliasPayload","$original_id","$alias_id","WebVitalsManager","trackingManager","require","initializeWebVitals","sendMetric","metric","delta","rating","id","navigationType","onCLS","onFCP","onLCP","onTTFB","onINP","VTilt","initialized","configManager","webVitalsManager","init","setupPageTracking","trackEvent","history","pushState","originalPushState","_len","arguments","args","_key","apply","setupVisibilityTracking","visibilityState","handleVisibilityChange","_execute_array","array","isArray","methodName","_dom_loaded","instances","SUPPORTS_REQUEST","fetch","ENQUEUE_REQUESTS","indexOf","add_dom_loaded_handler","dom_loaded_handler","done","obj","iterator","thisArg","index","call","prototype","hasOwnProperty","each","inst","readyState","element","callback","options","capture","passive","vTiltMain","vt"],"mappings":"uVAEaA,EAGXC,WAAAA,CAAYC,YAAAA,IAAAA,EAA+B,CAAA,GACzCC,KAAKD,OAASC,KAAKC,sBAAsBF,EAC3C,CAKQE,qBAAAA,CACNC,GAEA,IAAKC,SAASC,cACZ,OAAAC,EAAA,CACEC,UAAWJ,EAAcI,WAAa,GACtCC,MAAOL,EAAcK,OAAS,IAC3BL,GAIP,IAAMM,EAASL,SAASC,cAClBL,EAAMM,EAAA,CACVC,UAAW,GACXC,MAAO,IACJL,GAuBL,GAnBAH,EAAOU,KAAOD,EAAOE,aAAa,cAAgBR,EAAcO,KAChEV,EAAOY,MAAQH,EAAOE,aAAa,eAAiBR,EAAcS,MAClEZ,EAAOa,SACLJ,EAAOE,aAAa,mBAAqBR,EAAcU,SACzDb,EAAOQ,MACLC,EAAOE,aAAa,eAAiBR,EAAcK,OAAS,GAC9DR,EAAOO,UACLE,EAAOE,aAAa,oBAAsBR,EAAcI,WAAa,GACvEP,EAAOc,OAASL,EAAOE,aAAa,gBAAkBR,EAAcW,OACpEd,EAAOe,QACJN,EAAOE,aAAa,iBAA2BR,EAAcY,QAChEf,EAAOgB,iBAC6C,UAAlDP,EAAOE,aAAa,0BACtBX,EAAOiB,UACiC,SAAtCR,EAAOE,aAAa,eACuB,SAA3CF,EAAOE,aAAa,oBACpBR,EAAcc,UAGZjB,EAAOY,OAASZ,EAAOa,SAIzB,MAHAK,QAAQC,MACN,yFAEI,IAAIC,MACR,kFAOJ,IAAK,IAAMC,KAFXrB,EAAOsB,iBAAgBhB,KAAQH,EAAcmB,kBAE1BC,MAAMC,KAAKf,EAAOgB,aAC/BJ,EAAKK,KAAKC,WAAW,SACvB3B,EAAOsB,iBAAkBD,EAAKK,KAAKE,MAAM,GAAGC,QAAQ,KAAM,MACxDR,EAAKS,OAELT,EAAKK,KAAKC,WAAW,cACvB3B,EAAOsB,iBAAkBD,EAAKK,KAAKE,MAAM,GAAGC,QAAQ,KAAM,MACxDR,EAAKS,OAIX,OAAO9B,CACT,CAKA+B,SAAAA,GACE,OAAAzB,EAAA,CAAA,EAAYL,KAAKD,OACnB,CAKAgC,YAAAA,CAAaC,GACXhC,KAAKD,OAAMM,EAAA,CAAA,EAAQL,KAAKD,OAAWiC,EACrC,ECtFK,MAAMC,EAAc,gBACdC,EAAmB,kBACnBC,EAAkB,iBAClBC,EAAgB,eAChBC,EAAsB,qBACtBC,EAAiB,gBAEjBC,EAEG,eAFHA,EAGK,iBAGLC,EAAoC,CAC/C,eAAgB,KAChB,oBAAqB,KACrB,gBAAiB,KACjB,iBAAkB,KAClB,oBAAqB,KACrB,iBAAkB,KAClB,iBAAkB,KAClB,gBAAiB,KACjB,gBAAiB,KACjB,gBAAiB,KACjB,eAAgB,KAChB,kBAAmB,KACnB,oBAAqB,KACrB,eAAgB,KAChB,iBAAkB,KAClB,oBAAqB,KACrB,oBAAqB,KACrB,kBAAmB,KACnB,iBAAkB,KAClB,kBAAmB,KACnB,4BAA6B,KAC7B,oBAAqB,KACrB,kBAAmB,KACnB,mBAAoB,KACpB,6BAA8B,KAC9B,eAAgB,KAChB,gBAAiB,KACjB,4BAA6B,KAC7B,gBAAiB,KACjB,iBAAkB,KAClB,oBAAqB,KACrB,iBAAkB,KAClB,kBAAmB,KACnB,cAAe,KACf,eAAgB,KAChB,kBAAmB,KACnB,cAAe,KACf,8BAA+B,KAC/B,oBAAqB,KACrB,eAAgB,KAChB,qBAAsB,KACtB,oBAAqB,KACrB,kBAAmB,KACnB,wBAAyB,KACzB,oBAAqB,KACrB,qBAAsB,KACtB,eAAgB,KAChB,oBAAqB,KACrB,eAAgB,KAChB,qBAAsB,KACtB,mBAAoB,KACpB,oBAAqB,KACrB,4BAA6B,KAC7B,qBAAsB,KACtB,mBAAoB,KACpB,eAAgB,KAChB,kBAAmB,KACnB,oBAAqB,KACrB,qBAAsB,KACtB,eAAgB,KAChB,kBAAmB,KACnB,kBAAmB,KACnB,mBAAoB,KACpB,gBAAiB,KACjB,6BAA8B,KAC9B,eAAgB,KAChB,wBAAyB,KACzB,eAAgB,KAChB,aAAc,KACd,cAAe,KACf,gBAAiB,KACjB,sBAAuB,KACvB,6BAA8B,KAC9B,YAAa,KACb,aAAc,KACd,mBAAoB,KACpB,uBAAwB,KACxB,iBAAkB,KAClB,mBAAoB,KACpB,gBAAiB,KACjB,cAAe,KACf,kBAAmB,KACnB,gBAAiB,KACjB,qBAAsB,KACtB,aAAc,KACd,iBAAkB,KAClB,oBAAqB,KACrB,iBAAkB,KAClB,mBAAoB,KACpB,gBAAiB,KACjB,kBAAmB,KACnB,aAAc,KACd,oBAAqB,KACrB,oBAAqB,KACrB,gBAAiB,KACjB,mBAAoB,KACpB,iBAAkB,KAClB,eAAgB,KAChB,sBAAuB,KACvB,kBAAmB,KACnB,kBAAmB,KACnB,mBAAoB,KACpB,oBAAqB,KACrB,uBAAwB,KACxB,oBAAqB,KACrB,kBAAmB,KACnB,kBAAmB,KACnB,YAAa,KACb,iBAAkB,KAClB,gBAAiB,KACjB,iBAAkB,KAClB,kBAAmB,KACnB,mBAAoB,KACpB,mBAAoB,KACpB,eAAgB,KAChB,cAAe,KACf,iBAAkB,KAClB,gBAAiB,KACjB,mBAAoB,KACpB,mBAAoB,KACpB,iBAAkB,KAClB,uBAAwB,KACxB,gBAAiB,KACjB,gBAAiB,KACjB,kBAAmB,KACnB,kBAAmB,KACnB,gBAAiB,KACjB,mBAAoB,KACpB,gBAAiB,KACjB,cAAe,KACf,kBAAmB,KACnB,sBAAuB,KACvB,kBAAmB,KACnB,iBAAkB,KAClB,iBAAkB,KAClB,iBAAkB,KAClB,mBAAoB,KACpB,gBAAiB,KACjB,mBAAoB,KACpB,cAAe,KACf,gBAAiB,KACjB,mBAAoB,KACpB,sBAAuB,KACvB,iBAAkB,KAClB,mBAAoB,KACpB,sBAAuB,KACvB,gBAAiB,KACjB,iBAAkB,KAClB,gBAAiB,KACjB,YAAa,KACb,mBAAoB,KACpB,kBAAmB,KACnB,mBAAoB,KACpB,iCAAkC,KAClC,kBAAmB,KACnB,0BAA2B,KAC3B,gBAAiB,KACjB,iBAAkB,KAClB,iBAAkB,KAClB,iBAAkB,KAClB,qBAAsB,KACtB,gBAAiB,KACjB,sBAAuB,KACvB,4BAA6B,KAC7B,kBAAmB,KACnB,kBAAmB,KACnB,uBAAwB,KACxB,uBAAwB,KACxB,mBAAoB,KACpB,oBAAqB,KACrB,iBAAkB,KAClB,kBAAmB,KACnB,kBAAmB,KACnB,qBAAsB,KACtB,iBAAkB,KAClB,qBAAsB,KACtB,kBAAmB,KACnB,cAAe,KACf,6BAA8B,KAC9B,aAAc,KACd,aAAc,KACd,iBAAkB,KAClB,iBAAkB,KAClB,gBAAiB,KACjB,cAAe,KACf,YAAa,KACb,cAAe,KACf,mBAAoB,KACpB,qBAAsB,KACtB,iBAAkB,KAClB,eAAgB,KAChB,YAAa,KACb,oBAAqB,KACrB,sBAAuB,KACvB,gBAAiB,KACjB,8BAA+B,KAC/B,iBAAkB,KAClB,gBAAiB,KACjB,oBAAqB,KACrB,kBAAmB,KACnB,iCAAkC,KAClC,uBAAwB,KACxB,gBAAiB,KACjB,kBAAmB,KACnB,mBAAoB,KACpB,8BAA+B,KAC/B,iBAAkB,KAClB,sBAAuB,KACvB,iBAAkB,KAClB,kBAAmB,KACnB,iBAAkB,KAClB,eAAgB,KAChB,iBAAkB,KAClB,gBAAiB,KACjB,eAAgB,KAChB,oBAAqB,KACrB,wBAAyB,KACzB,uBAAwB,KACxB,gBAAiB,KACjB,iBAAkB,KAClB,eAAgB,KAChB,0BAA2B,KAC3B,0BAA2B,KAC3B,sBAAuB,KACvB,eAAgB,KAChB,oBAAqB,KACrB,mBAAoB,KACpB,gBAAiB,KACjB,kBAAmB,KACnB,kBAAmB,KACnB,qBAAsB,KACtB,4BAA6B,KAC7B,iBAAkB,KAClB,mBAAoB,KACpB,sBAAuB,KACvB,uBAAwB,KACxB,iBAAkB,KAClB,mBAAoB,KACpB,eAAgB,KAChB,sBAAuB,KACvB,eAAgB,KAChB,gBAAiB,KACjB,eAAgB,KAChB,eAAgB,KAChB,qBAAsB,KACtB,gBAAiB,KACjB,qBAAsB,KACtB,yBAA0B,KAC1B,gBAAiB,KACjB,eAAgB,KAChB,mBAAoB,KACpB,qBAAsB,KACtB,eAAgB,KAChB,gBAAiB,KACjB,kBAAmB,KACnB,aAAc,KACd,kBAAmB,KACnB,mBAAoB,KACpB,iBAAkB,KAClB,uBAAwB,KACxB,cAAe,KACf,cAAe,KACf,gBAAiB,KACjB,eAAgB,KAChB,mBAAoB,KACpB,oBAAqB,KACrB,oBAAqB,KACrB,4BAA6B,KAC7B,kBAAmB,KACnB,cAAe,KACf,sBAAuB,KACvB,kBAAmB,KACnB,kBAAmB,KACnB,mBAAoB,KACpB,oBAAqB,KACrB,iBAAkB,KAClB,kBAAmB,KACnB,gBAAiB,KACjB,iBAAkB,KAClB,mBAAoB,KACpB,iBAAkB,KAClB,gBAAiB,KACjB,mBAAoB,KACpB,mBAAoB,KACpB,kBAAmB,KACnB,sBAAuB,KACvB,oBAAqB,KACrB,eAAgB,KAChB,YAAa,KACb,wBAAyB,KACzB,mBAAoB,KACpB,kBAAmB,KACnB,mBAAoB,KACpB,iBAAkB,KAClB,mBAAoB,KACpB,mBAAoB,KACpB,kBAAmB,KACnB,mBAAoB,KACpB,mBAAoB,KACpB,iBAAkB,KAClB,qBAAsB,KACtB,oBAAqB,KACrB,gBAAiB,KACjB,cAAe,KACf,kBAAmB,KACnB,kBAAmB,KACnB,qBAAsB,KACtB,oBAAqB,KACrB,gBAAiB,KACjB,4BAA6B,KAC7B,iBAAkB,KAClB,gBAAiB,KACjB,mBAAoB,KACpB,eAAgB,KAChB,sBAAuB,KACvB,8BAA+B,KAC/B,8BAA+B,KAC/B,oBAAqB,KACrB,gBAAiB,KACjB,wBAAyB,KACzB,yBAA0B,KAC1B,mBAAoB,KACpB,oBAAqB,KACrB,aAAc,KACd,sBAAuB,KACvB,gBAAiB,KACjB,cAAe,KACf,qBAAsB,KACtB,qBAAsB,KACtB,kBAAmB,KACnB,+BAAgC,KAChC,qBAAsB,KACtB,mBAAoB,KACpB,oBAAqB,KACrB,eAAgB,KAChB,gBAAiB,KACjB,kBAAmB,KACnB,kBAAmB,KACnB,eAAgB,KAChB,iBAAkB,KAClB,gBAAiB,KACjB,qBAAsB,KACtB,gBAAiB,KACjB,iBAAkB,KAClB,mBAAoB,KACpB,cAAe,KACf,kBAAmB,KACnB,sBAAuB,KACvB,eAAgB,KAChB,sBAAuB,KACvB,eAAgB,KAChB,kBAAmB,KACnB,wBAAyB,KACzB,wBAAyB,KACzB,mBAAoB,KACpB,mBAAoB,KACpB,sBAAuB,KACvB,eAAgB,KAChB,mBAAoB,KACpB,eAAgB,KAChB,mBAAoB,KACpB,oBAAqB,KACrB,iCAAkC,KAClC,aAAc,KACd,iBAAkB,KAClB,qBAAsB,KACtB,qBAAsB,KACtB,uBAAwB,KACxB,iBAAkB,KAClB,cAAe,KACf,iBAAkB,KAClB,qBAAsB,KACtB,iBAAkB,KAClB,kBAAmB,KACnB,eAAgB,KAChB,iBAAkB,KAClB,kBAAmB,KACnB,mBAAoB,KACpB,kBAAmB,KACnB,cAAe,KACf,qBAAsB,KACtB,iBAAkB,KAClB,qBAAsB,KACtB,eAAgB,KAChB,mBAAoB,KACpB,gBAAiB,KACjB,eAAgB,KAChB,aAAc,KACd,iBAAkB,KAClB,gBAAiB,KACjB,qBAAsB,KACtB,qBAAsB,KACtB,cAAe,KACf,eAAgB,KAChB,iBAAkB,KAClB,mBAAoB,KACpB,iBAAkB,KAClB,oBAAqB,KACrB,gBAAiB,KACjB,YAAa,KACb,oBAAqB,KACrB,gBAAiB,KACjB,yBAA0B,KAC1B,uBAAwB,KACxB,iBAAkB,KAClB,0BAA2B,KAC3B,gBAAiB,KACjB,gBAAiB,KACjB,mBAAoB,KACpB,cAAe,KACf,kBAAmB,KACnB,oBAAqB,KACrB,uBAAwB,KACxB,gBAAiB,KACjB,cAAe,KACf,oBAAqB,KACrB,gBAAiB,KACjB,eAAgB,KAChB,qBAAsB,KACtB,kBAAmB,KACnB,kBAAmB,KACnB,wBAAyB,KACzB,aAAc,KACd,cAAe,KACf,gBAAiB,MAGNC,EAAqB,CAChC,WACA,OACA,UACA,SACA,WACA,OACA,MACA,WACA,QACA,YACA,QACA,UACA,QACA,MACA,SACA,QACA,WACA,UACA,UACA,wBCzccC,IACd,MAAO,uCAAsCd,QAAQ,SAAWe,KAE3DA,EACAC,OAAOC,gBAAgB,IAAIC,WAAW,IAAI,GAAM,KAAQH,EAAI,GAC7DI,SAAS,IAEf,CAqBM,SAAUC,EAAeC,GAC7B,SAAKA,GAAoC,iBAAfA,MAItBA,EAAWC,OAAS,GAAKD,EAAWC,OAAS,MAKnD,CAKM,SAAUC,EAAyBC,GAEvC,IAAIC,EAAWC,KAAKC,UAAUH,GAQ9B,OAPAX,EAAmBe,QAASpC,IAC1BiC,EAAWA,EAASzB,QAClB,IAAI6B,OAAM,KAAMrC,EAAI,kBAAmB,OACvC,mBAIGiC,CACT,UAKgBK,IACd,SACE,gBAAiBC,QACjBA,OAAOC,UAAUC,WACjB,YAAaF,OAEjB,OCnEaG,EAIXhE,WAAAA,CAAYiE,EAAyClD,QAAzC,IAAAkD,IAAAA,EAA+B,UACzC/D,KAAK+D,cAAgBA,EACrB/D,KAAKa,OAASA,CAChB,CAKQmD,sBAAAA,GACN,IAAMC,EAAiC,CAAA,EAKvC,OAJA9D,SAAS8D,OAAOC,MAAM,KAAKV,QAAQ,SAAUW,GAC3C,IAAOC,EAAKvC,GAASsC,EAAGD,MAAM,KAC9BD,EAAOG,EAAIC,QAAUxC,CACvB,GACOoC,EAAOhC,IAAgB,IAChC,CAKAqC,YAAAA,GACE,GACEtE,KAAK+D,gBAAkBxB,GACvBvC,KAAK+D,gBAAkBxB,EACvB,CACA,IAAMzB,EACJd,KAAK+D,gBAAkBxB,EACnBgC,aACAC,eACAC,EAAiB3D,EAAQ4D,QAAQzC,GAEvC,IAAKwC,EACH,OAAO,KAGT,IAAIE,EAA2B,KAE/B,IACEA,EAAOrB,KAAKsB,MAAMH,EACpB,CAAE,MAAAI,GACA,OAAO,IACT,CAEA,MAAoB,iBAATF,GAA8B,OAATA,EACvB,MAGG,IAAIG,MAERC,UAAYJ,EAAKK,QACvBlE,EAAQmE,WAAWhD,GACZ,MAGF0C,EAAK9C,KACd,CAEA,OAAO7B,KAAKgE,wBACd,CAKQkB,sBAAAA,CAAuBC,GAC7B,IAAIC,EAAiBnD,EAAW,IAAIkD,EAAS,iCAEzCnF,KAAKa,SACPuE,GAAW,YAAgBpF,KAAKa,QAGlCV,SAAS8D,OAASmB,CACpB,CAKAC,YAAAA,GAOE,IAAMF,EAAYnF,KAAKsE,gBAAkB5B,IACzC,GACE1C,KAAK+D,gBAAkBxB,GACvBvC,KAAK+D,gBAAkBxB,EACvB,CACA,IACMoC,EAAoB,CACxB9C,MAAOsD,EACPH,QAHU,IAAIF,MAGFC,UAAY,MAEpBlD,EAAQyB,KAAKC,UAAUoB,IAE3B3E,KAAK+D,gBAAkBxB,EACnBgC,aACAC,gBACEc,QAAQrD,EAAaJ,EAC/B,MACE7B,KAAKkF,uBAAuBC,GAG9B,OAAOA,CACT,CAKAI,cAAAA,GAGIvF,KAAK+D,gBAAkBxB,GACvBvC,KAAK+D,gBAAkBxB,GAGrBvC,KAAK+D,gBAAkBxB,EACnBgC,aACAC,gBACES,WAAWhD,IAGnB9B,SAAS8D,OAAYhC,EAAW,oDAC5BjC,KAAKa,SACPV,SAAS8D,OAAYhC,8DAAuEjC,KAAKa,OAAM,MAK3Gb,KAAKqF,cACP,QC1HWG,EAMX1F,WAAAA,CAAYiE,EAA+ClD,QAA/C,IAAAkD,IAAAA,EAA+B,gBAFnC/D,KAAAyF,wBAAyC,KAG/CzF,KAAK+D,cAAgBA,EACrB/D,KAAKa,OAASA,EACdb,KAAK0F,aAAe1F,KAAK2F,kBAC3B,CAKAC,eAAAA,GACE,OAAAvF,EAAA,CAAA,EAAYL,KAAK0F,aACnB,CAKAG,aAAAA,GACE,OAAO7F,KAAK0F,aAAaI,WAC3B,CAKAC,cAAAA,GAME,OALK/F,KAAK0F,aAAaM,eAErBhG,KAAK0F,aAAaM,aAAehG,KAAKiG,sBACtCjG,KAAKkG,oBAEAlG,KAAK0F,aAAaM,YAC3B,CAKAG,iBAAAA,GACE,OAAA9F,EAAA,CAAA,EAAYL,KAAK0F,aAAaU,WAChC,CAMAC,QAAAA,CACEC,EACAC,EACAC,GAWA,GAR6B,iBAAlBF,IACTA,EAAiBA,EAAyBvD,WAC1C9B,QAAQwF,KACN,qHAKCH,EAML,GAAItG,KAAK0G,uBAAuBJ,GAC9BrF,QAAQC,MAAK,eACIoF,iIAMnB,GAAsB,8BAAlBA,EAAJ,CAOA,IAAMK,EAAqB3G,KAAK0F,aAAaI,YACvCc,EAAc5G,KAAK0F,aAAaM,aAChCa,EAAW7G,KAAK0F,aAAaoB,UAMnC,GAHA9G,KAAK0F,aAAaI,YAAcQ,GAG3BtG,KAAK0F,aAAaoB,UAAW,CAGhC,IAAMA,EAAYH,GAAsB3G,KAAK0F,aAAaM,aAC1DhG,KAAK0F,aAAaoB,UAAYA,EAC9B9G,KAAK0F,aAAaU,WAAU/F,EAAA,CAAA,EACvBL,KAAK0F,aAAaU,WAAU,CAC/BW,4BAA4B,EAC5BC,WAAYF,GAEhB,CAGIR,IAAkBK,IAEpB3G,KAAK0F,aAAaI,YAAcQ,GAIlC,IAAMW,EAAoD,cAAjCjH,KAAK0F,aAAawB,WAIvCZ,IAAkBK,GAAsBM,GAE1CjH,KAAK0F,aAAawB,WAAa,aAG3BX,IACFvG,KAAK0F,aAAaU,WAAU/F,EAAA,CAAA,EACvBL,KAAK0F,aAAaU,WAClBG,IAKHC,GACFW,OAAOC,KAAKZ,GAAyBhD,QAASY,IACtCA,KAAOpE,KAAK0F,aAAaU,aAC7BpG,KAAK0F,aAAaU,WAAWhC,GAAOoC,EAAwBpC,MAMlEpE,KAAKkG,mBAGLlG,KAAKqH,kBAAkBf,EAAeM,EAAaC,EAAU,CAC3DS,KAAMf,GAAuB,CAAA,EAC7BgB,UAAWf,GAA2B,CAAA,KAE/BD,GAAuBC,GAGK,cAAjCxG,KAAK0F,aAAawB,aACpBlH,KAAK0F,aAAawB,WAAa,cAI7BX,IACFvG,KAAK0F,aAAaU,WAAU/F,EAAA,CAAA,EACvBL,KAAK0F,aAAaU,WAClBG,IAKHC,GACFW,OAAOC,KAAKZ,GAAyBhD,QAASY,IACtCA,KAAOpE,KAAK0F,aAAaU,aAC7BpG,KAAK0F,aAAaU,WAAWhC,GAAOoC,EAAwBpC,MAMlEpE,KAAKkG,mBAKLlG,KAAKwH,aACHjB,GAAuB,CAAA,EACvBC,GAA2B,CAAA,IAIzBF,IAAkBK,IACpB3G,KAAK0F,aAAawB,WAAa,aAC/BlH,KAAKkG,mBApGT,MAJEjF,QAAQC,MAAK,eACIoF,0GAfjBrF,QAAQC,MAAM,oDAyHlB,CAwBAuG,iBAAAA,CACElB,EACAC,GAGA,GAAKD,GAAwBC,EAA7B,CAKA,IAAMkB,EACJ1H,KAAK0F,aAAaI,aAAe9F,KAAK0F,aAAaM,aAC/C2B,EAAO3H,KAAK4H,wBAChBF,EACAnB,EACAC,GAIExG,KAAKyF,0BAA4BkC,GAQjCpB,IACFvG,KAAK0F,aAAaU,WAAU/F,EAAA,CAAA,EACvBL,KAAK0F,aAAaU,WAClBG,IAKHC,GACFW,OAAOC,KAAKZ,GAAyBhD,QAASY,IACtCA,KAAOpE,KAAK0F,aAAaU,aAC7BpG,KAAK0F,aAAaU,WAAWhC,GAAOoC,EAAwBpC,MAMlEpE,KAAKkG,mBAGLlG,KAAKwH,aAAajB,GAAuB,CAAA,EAAIC,GAA2B,CAAA,GAGxExG,KAAKyF,wBAA0BkC,GA9B7B1G,QAAQ4G,KACN,oGAdJ,CA4CF,CAMQD,uBAAAA,CACNF,EACAnB,EACAC,GAGA,OAAOlD,KAAKC,UAAU,CACpBuC,YAAa4B,EACbnB,sBACAC,2BAEJ,CAMQgB,YAAAA,CACNjB,EACAC,GAGA,IAAMsB,EAAW,IAAIC,YAAY,YAAa,CAC5CC,OAAQ,CACNV,KAAMf,GAAuB,CAAA,EAC7BgB,UAAWf,GAA2B,CAAA,KAG1C7C,OAAOsE,cAAcH,EACvB,CAQAI,KAAAA,CAAMC,GAEJ,IAAMC,EAAiBpI,KAAKiG,sBACtBa,EAAY9G,KAAK0F,aAAaoB,UAG9BuB,EAAcF,EAAkBnI,KAAKsI,mBAAqBxB,EAEhE9G,KAAK0F,aAAe,CAClBI,YAAa,KACbE,aAAcoC,EACdtB,UAAWuB,EACXjC,WAAY,CAAA,EACZc,WAAY,aAIdlH,KAAKyF,wBAA0B,KAE/BzF,KAAKkG,mBAILlG,KAAK0F,aAAaU,WAAU/F,EAAA,CAAA,EACvBL,KAAK0F,aAAaU,WAAU,CAC/BmC,qBAAqB,IAAIzD,MAAO0D,gBAElCxI,KAAKkG,kBACP,CAKAuC,cAAAA,GACE,OAAOzI,KAAK0F,aAAaI,aAAe9F,KAAK+F,gBAC/C,CAKA2C,WAAAA,GACE,OAAO1I,KAAK0F,aAAaoB,SAC3B,CAKA6B,YAAAA,GACE,OAAO3I,KAAK0F,aAAawB,UAC3B,CAUA0B,WAAAA,CAAYC,EAAeC,GACzB,GAAK9I,KAAK+I,kBAAkBF,GAU5B,QAJiBG,IAAbF,IACFA,EAAW9I,KAAK6F,iBAAmB7F,KAAK+F,kBAGrC/F,KAAK+I,kBAAkBD,GAA5B,CAMA,GAAID,IAAUC,EAKZ,OAJA7H,QAAQwF,KACN,qEAEFzG,KAAKqG,SAASwC,GAKhB,IAMMI,EAAc,IAAIlB,YAAY,cAAe,CACjDC,OAP6B,CAC7BlC,YAAa+C,EACbC,cAOFnF,OAAOsE,cAAcgB,EArBrB,MAFEhI,QAAQwF,KAAK,qCAVbxF,QAAQwF,KAAK,yBAkCjB,CAMQsC,iBAAAA,CAAkBrB,GACxB,IAAKA,GAAoC,iBAAfA,EACxB,OAAO,EAIT,IAeMwB,EAAQxB,EAAWyB,cAAc9E,OACvC,OAhBwB,CACtB,OACA,YACA,QACA,OACA,YACA,OACA,OACA,OACA,QACA,UACA,UACA,QAIkB+E,SAASF,IAKI,IAA7BxB,EAAWrD,OAAOnB,MAKxB,CAMQwD,sBAAAA,CAAuBgB,GAC7B,IAAKA,GAAoC,iBAAfA,EACxB,OAAO,EAIT,IAmBMwB,EAAQxB,EAAWyB,cAAc9E,OACvC,MApB0B,CACxB,OACA,YACA,QACA,OACA,YACA,OACA,OACA,OACA,QACA,UACA,UACA,OACA,OACA,UACA,SACA,eAIuB+E,SAASF,EACpC,CAKQvD,gBAAAA,GACN,IAAMiB,EACJ5G,KAAKqJ,eAAenH,IAAqBlC,KAAKiG,sBAC1CyB,EAAa1H,KAAKqJ,eAAelH,IAAoB,KACrD0E,EACJ7G,KAAKqJ,eAAejH,IAAkBpC,KAAKsI,mBACvClC,EAAapG,KAAKsJ,0BAClBC,EACHvJ,KAAKqJ,eAAe/G,IACrB,YAaF,MAR+B,CAC7BwD,YAAa4B,EACb1B,aAJsBY,GAAe5G,KAAKiG,sBAK1Ca,UAAWD,EACXT,WAAYA,EACZc,WAAYqC,EAIhB,CAKQrD,gBAAAA,GACNlG,KAAKwJ,eAAetH,EAAkBlC,KAAK0F,aAAaM,cACxDhG,KAAKwJ,eAAepH,EAAepC,KAAK0F,aAAaoB,WACrD9G,KAAKwJ,eAAelH,EAAgBtC,KAAK0F,aAAawB,YAElDlH,KAAK0F,aAAaI,YACpB9F,KAAKwJ,eAAerH,EAAiBnC,KAAK0F,aAAaI,aAEvD9F,KAAKyJ,kBAAkBtH,GAGzBnC,KAAK0J,wBAAwB1J,KAAK0F,aAAaU,WACjD,CAKQH,mBAAAA,GACN,MAAA,QAAevD,GACjB,CAKQ4F,gBAAAA,GACN,MAAA,UAAiB5F,GACnB,CAKQ2E,iBAAAA,CACNK,EACAd,EACAC,EACA8C,GAIA,IAAMC,EAAgB,IAAI7B,YAAY,iBAAkB,CACtDC,OAAQ,CACNlC,YAAa4B,EACb1B,aAAcY,EACdE,UAAWD,EACXT,WAAU/F,EAAA,CACRwJ,kBAAmBjD,EACnBI,WAAYH,GACT8C,MAIThG,OAAOsE,cAAc2B,EACvB,CAKQP,cAAAA,CAAejF,GACrB,IACE,OAAIpE,KAAK+D,gBAAkBxB,EAClBgC,aAAaG,QAAQN,GACnBpE,KAAK+D,gBAAkBxB,EACzBiC,eAAeE,QAAQN,GAEvBpE,KAAK8J,eAAe1F,EAE/B,CAAE,MAAOlD,GAGP,OADAD,QAAQwF,KAAK,4BAA6BvF,GACnC,IACT,CACF,CAKQsI,cAAAA,CAAepF,EAAavC,GAClC,IACM7B,KAAK+D,gBAAkBxB,EACzBgC,aAAae,QAAQlB,EAAKvC,GACjB7B,KAAK+D,gBAAkBxB,EAChCiC,eAAec,QAAQlB,EAAKvC,GAE5B7B,KAAK+J,eAAe3F,EAAKvC,EAE7B,CAAE,MAAOX,GAEPD,QAAQwF,KAAK,6BAA8BvF,EAC7C,CACF,CAKQuI,iBAAAA,CAAkBrF,GACpBpE,KAAK+D,gBAAkBxB,EACzBgC,aAAaU,WAAWb,GACfpE,KAAK+D,gBAAkBxB,EAChCiC,eAAeS,WAAWb,GAE1BpE,KAAKgK,kBAAkB5F,EAE3B,CAKQkF,uBAAAA,GACN,IAAMW,EAASjK,KAAKqJ,eAAehH,GACnC,IAAK4H,EACH,MAAO,CAAA,EAGT,IACE,OAAO3G,KAAKsB,MAAMqF,EACpB,CAAE,MAAApF,GACA,MAAO,CAAA,CACT,CACF,CAKQ6E,uBAAAA,CAAwBtD,GAC9BpG,KAAKwJ,eAAenH,EAAqBiB,KAAKC,UAAU6C,GAC1D,CAKQ0D,cAAAA,CAAerI,GACrB,IAAMyI,EAAU/J,SAAS8D,OAAOC,MAAM,KACtC,IAAK,IAAMD,KAAUiG,EAAS,CAC5B,IAAO9F,EAAKvC,GAASoC,EAAOI,OAAOH,MAAM,KACzC,GAAIE,IAAQ3C,EACV,OAAO0I,mBAAmBtI,EAE9B,CACA,OAAO,IACT,CAKQkI,cAAAA,CAAetI,EAAcI,GACnC,IAAIuD,EAAiB3D,EAAI,IAAI2I,mBAAmBvI,GAAM,mDAElD7B,KAAKa,SACPuE,GAAW,YAAgBpF,KAAKa,QAGlCV,SAAS8D,OAASmB,CACpB,CAKQ4E,iBAAAA,CAAkBvI,GACxB,IAAI2D,EAAiB3D,EAAI,uBAErBzB,KAAKa,SACPuE,GAAW,YAAgBpF,KAAKa,QAGlCV,SAAS8D,OAASmB,CACpB,WCrqBciF,IACd,IAAIC,EACAC,EAEJ,IACE,IAAMC,EAAWC,KAAKC,iBAAiBC,kBAAkBC,SACzDN,EAAU9H,EAAUgI,GACpBD,EACE3G,UAAUiH,WAAajH,UAAUiH,UAAU3H,OACvCU,UAAUiH,UAAU,GACnBjH,UAAkBkH,cACrBlH,UAAUmH,UACTnH,UAAkBoH,iBACnB,IACN,CAAE,MAAOC,GACP,CAGF,MAAO,CAAEX,UAASC,SACpB,OCRaW,EAOXpL,WAAAA,CAAYC,GAHZC,KAAAmL,gBAAmC,GAC3BnL,KAAAoL,uBAAwB,EAG9BpL,KAAKD,OAASA,EAGTC,KAAKD,OAAOc,QAA4B,oBAAX8C,SAChC3D,KAAKD,OAAOc,OAASb,KAAKqL,oBAG5BrL,KAAKsL,eAAiB,IAAIxH,EACxB/D,EAAOe,SAAW,SAClBd,KAAKD,OAAOc,QAEdb,KAAKuL,YAAc,IAAI/F,EACrBzF,EAAOyL,aAAe,eACtBxL,KAAKD,OAAOc,QAIdb,KAAKyL,uBACP,CAMQJ,gBAAAA,GACN,GAAsB,oBAAX1H,OACT,MAAO,GAGT,IAAM+H,EAAW/H,OAAOgI,SAASD,SAC3BE,EAAWjI,OAAOgI,SAASC,SAC3BC,EAAOlI,OAAOgI,SAASE,KAG7B,OAAUH,EAAQ,KAAKE,GAFJC,EAAI,IAAOA,EAAS,GAGzC,CAOQC,aAAAA,GACN,SAAI9L,KAAKD,OAAOO,YAAaN,KAAKD,OAAOQ,SAKpCP,KAAKoL,wBACRnK,QAAQwF,KACN,4IAGFzG,KAAKoL,uBAAwB,IAGxB,EACT,CAKMW,SAAAA,CAAUtK,EAAc2B,GAAqB,MAAA4I,EAAAhM,KAAA,SAAA,YAGjD,GAFAgM,EAAKV,eAAejG,eJtElB,SAA2B4G,GAE/B,QAAKA,GAAkC,iBAAdA,GAIrBA,EAAU/I,OAAS,IAKzB,CI6DSgJ,CAAiBvI,OAAOC,UAAUqI,WAAvC,CAIA,IAEIE,EAFEC,EAAMJ,EAAKK,WAGjB,IAAqC,IAAjCL,EAAKjM,OAAOgB,kBASd,GARAoL,EAAmBhJ,EAAyBC,GAC5C+I,EAAmBhF,OAAOmF,OACxB,CAAA,EACAhJ,KAAKsB,MAAMuH,GACXH,EAAKjM,OAAOsB,mBAIT2B,EAFLmJ,EAAmB7I,KAAKC,UAAU4I,IAGhC,WAEG,CAML,IAAMI,EAAYpJ,EALlBgJ,EAAmBhF,OAAOmF,OACxB,CAAA,EACAlJ,EACA4I,EAAKjM,OAAOsB,mBAId,IAAK2B,EAAeuJ,GAClB,OAGFJ,EAAmB7I,KAAKsB,MAAM2H,EAChC,CAEA,IAAMC,EAAaR,EAAKV,eAAehH,gBAAkB5B,IACnDoD,EAAckG,EAAKT,YAAY1F,gBAC/BG,EAAegG,EAAKT,YAAYxF,iBAEhC0G,EAA+B,CACnCC,WAAW,IAAI5H,MAAO0D,cACtBmE,MAAOlL,EACP+K,aACAI,UAAWZ,EAAKjM,OAAOO,WAAa,GACpCO,OAAQmL,EAAKjM,OAAOc,QAAUmL,EAAKX,mBACnCjI,QAAS+I,EACTrG,YAAaA,GAAeE,GAG9BgG,EAAKa,YAAYT,EAAKK,GAAe,EA9CrC,CA8C2C,gLAC7C,CAKQJ,QAAAA,GACN,IAAMzL,SAAEA,EAAQD,MAAEA,EAAKF,KAAEA,EAAIF,MAAEA,GAAUP,KAAKD,OAG9C,OAAIa,IAGOD,EAECA,yBAA4BJ,EAC7BE,EACSA,EAAKmB,QAAQ,SAAU,2BACCrB,EAG1C,uBAA8BA,EAElC,CAMQsM,WAAAA,CACNT,EACAO,EACAG,GAIA,GAAK9M,KAAK8L,gBAAV,CAKA,GAAIgB,GAAmC,oBAAXnJ,OAG1B,GAD0BA,OAAeoJ,yBAGvC,YADA/M,KAAKmL,gBAAgB6B,KAAK,CAAEZ,MAAKO,UAKrC,IAAMM,EAAU,IAAIC,eACpBD,EAAQE,KAAK,OAAQf,GAAK,GAC1Ba,EAAQG,iBAAiB,eAAgB,oBACzCH,EAAQI,KAAK/J,KAAKC,UAAUoJ,GAf5B,CAgBF,CAKAW,uBAAAA,CAAwB3I,GACtB3E,KAAK6M,YAAYlI,EAAKyH,IAAKzH,EAAKgI,OAAO,EACzC,CAKAY,YAAAA,GAEE,IAAI7J,IAAJ,CAIA,IAAM4G,QAAEA,EAAOC,OAAEA,GAAWF,IAG5BmD,WAAW,KACTxN,KAAK+L,UAAU,WAAY,CACzB,aAAcpI,OAAOC,UAAUqI,UAC/B1B,SACAoB,SAAUrB,EACVmD,SAAUtN,SAASsN,SACnBC,SAAU/J,OAAOgI,SAAS+B,SAC1BC,KAAMhK,OAAOgI,SAASgC,QAEvB,IAdH,CAeF,CAKArJ,YAAAA,GACE,OAAOtE,KAAKsL,eAAehH,cAC7B,CAMA+B,QAAAA,CACEqB,EACAnB,EACAC,GAEAxG,KAAKuL,YAAYlF,SACfqB,EACAnB,EACAC,EAEJ,CAKAiB,iBAAAA,CACElB,EACAC,GAEAxG,KAAKuL,YAAY9D,kBACflB,EACAC,EAEJ,CAQAoH,SAAAA,CAAUzF,GAERnI,KAAKsL,eAAe/F,iBACpBvF,KAAKuL,YAAYrD,MAAMC,EACzB,CAKAvC,eAAAA,GACE,OAAO5F,KAAKuL,YAAY3F,iBAC1B,CAKA8C,WAAAA,GACE,OAAO1I,KAAKuL,YAAY7C,aAC1B,CAKAC,YAAAA,GACE,OAAO3I,KAAKuL,YAAY5C,cAC1B,CAiBAC,WAAAA,CAAYC,EAAeC,GACzB9I,KAAKuL,YAAY3C,YAAYC,EAAOC,EACtC,CAKQ2C,qBAAAA,GAEN9H,OAAOkK,iBAAiB,iBAAmBlB,IACzC,IAAM1D,EAAc0D,GACd7G,YAAEA,EAAWE,aAAEA,EAAYc,UAAEA,EAASV,WAAEA,GAC5C6C,EAAYjB,OACdhI,KAAKqH,kBAAkBvB,EAAaE,EAAcc,EAAWV,KAI/DzC,OAAOkK,iBAAiB,YAAclB,IACpC,IAAM1D,EAAc0D,GACdrF,KAAEA,EAAIC,UAAEA,GAAc0B,EAAYjB,OACxChI,KAAKwH,aAAaF,GAAQ,CAAA,EAAIC,GAAa,CAAA,KAI7C5D,OAAOkK,iBAAiB,cAAgBlB,IACtC,IACMmB,EADcnB,EACW3E,OAC/BhI,KAAK+N,eAAeD,IAExB,CAKQzG,iBAAAA,CACNK,EACAd,EACAC,EACAT,GAEA,IAAMgG,EAAMpM,KAAKqM,WACXG,EAAaxM,KAAKsL,eAAehH,gBAAkB5B,IAGnDsL,EAAe3N,EAAA,CACnBwJ,kBAAmBjD,EACnBI,WAAYH,GACTT,GAGCqG,EAA+B,CACnCC,WAAW,IAAI5H,MAAO0D,cACtBmE,MAAO,YACPH,aACAI,UAAW5M,KAAKD,OAAOO,WAAa,GACpCO,OAAQb,KAAKD,OAAOc,QAAUb,KAAKqL,mBACnCjI,QAAS4K,EACTlI,YAAa4B,GAGf1H,KAAK6M,YAAYT,EAAKK,GAAe,EACvC,CAMQjF,YAAAA,CACNjB,EACAC,GAEA,IAAM4F,EAAMpM,KAAKqM,WACXG,EAAaxM,KAAKsL,eAAehH,gBAAkB5B,IACnDoD,EAAc9F,KAAKuL,YAAY1F,gBAC/BG,EAAehG,KAAKuL,YAAYxF,iBAEhCkI,EAAkB,CACtB3G,KAAMf,GAAuB,CAAA,EAC7BgB,UAAWf,GAA2B,CAAA,GAGlCiG,EAA+B,CACnCC,WAAW,IAAI5H,MAAO0D,cACtBmE,MAAO,OACPH,aACAI,UAAW5M,KAAKD,OAAOO,WAAa,GACpCO,OAAQb,KAAKD,OAAOc,QAAUb,KAAKqL,mBACnCjI,QAAS6K,EACTnI,YAAaA,GAAeE,GAG9BhG,KAAK6M,YAAYT,EAAKK,GAAe,EACvC,CAMQsB,cAAAA,CAAeD,GACrB,IAAM1B,EAAMpM,KAAKqM,WACXG,EAAaxM,KAAKsL,eAAehH,gBAAkB5B,IAEnDwL,EAAe,CACnBC,aAAcL,EAAWhF,SACzBsF,UAAWN,EAAWhI,aAGlB2G,EAA+B,CACnCC,WAAW,IAAI5H,MAAO0D,cACtBmE,MAAO,SACPH,aACAI,UAAW5M,KAAKD,OAAOO,WAAa,GACpCO,OAAQb,KAAKD,OAAOc,QAAUb,KAAKqL,mBACnCjI,QAAS8K,EACTpI,YAAagI,EAAWhI,aAG1B9F,KAAK6M,YAAYT,EAAKK,GAAe,EACvC,QCvaW4B,EAIXvO,WAAAA,CAAYC,EAAqBuO,GAI/B,GAHAtO,KAAKsO,gBAAkBA,EAGnBvO,EAAOiB,UACT,IAGEhB,KAAKgB,UAAYuN,QAAQ,cACzBvO,KAAKwO,qBACP,CAAE,MAAOtN,GACPD,QAAQwF,KACN,iFACAvF,EAEJ,CAEJ,CAKQsN,mBAAAA,GACN,GAAKxO,KAAKgB,UAAV,CAIA,IAAMyN,EAAcC,IAClB,IACE,IAAMpE,QAAEA,EAAOC,OAAEA,GAAWF,IAC5BrK,KAAKsO,gBAAgBvC,UAAU,YAAa,CAC1CtK,KAAMiN,EAAOjN,KACbI,MAAO6M,EAAO7M,MACd8M,MAAOD,EAAOC,MACdC,OAAQF,EAAOE,OACfC,GAAIH,EAAOG,GACXC,eAAgBJ,EAAOI,eACvBpB,SAAU/J,OAAOgI,SAAS+B,SAC1BC,KAAMhK,OAAOgI,SAASgC,KACtB,aAAchK,OAAOC,UAAUqI,UAC/B1B,SACAoB,SAAUrB,EACVmD,SAAUtN,SAASsN,UAEvB,CAAE,MAAOvM,GACPD,QAAQC,MAAM,2BAA4BA,EAC5C,GAGElB,KAAKgB,UAAU+N,OACjB/O,KAAKgB,UAAU+N,MAAMN,GAEnBzO,KAAKgB,UAAUgO,OACjBhP,KAAKgB,UAAUgO,MAAMP,GAEnBzO,KAAKgB,UAAUiO,OACjBjP,KAAKgB,UAAUiO,MAAMR,GAEnBzO,KAAKgB,UAAUkO,QACjBlP,KAAKgB,UAAUkO,OAAOT,GAEpBzO,KAAKgB,UAAUmO,OACjBnP,KAAKgB,UAAUmO,MAAMV,EArCvB,CAuCF,QC9DWW,EAMXtP,WAAAA,CAAYC,YAAAA,IAAAA,EAA+B,CAAA,GAFnCC,KAAAqP,aAAc,EAGpBrP,KAAKsP,cAAgB,IAAIzP,EAAcE,GACvCC,KAAKsO,gBAAkB,IAAIpD,EAAgBlL,KAAKsP,cAAcxN,aAC9D9B,KAAKuP,iBAAmB,IAAIlB,EAC1BrO,KAAKsP,cAAcxN,YACnB9B,KAAKsO,gBAET,CAKAkB,IAAAA,GACMxP,KAAKqP,cAITrP,KAAKyP,oBACLzP,KAAKqP,aAAc,EACrB,CAKAK,UAAAA,CAAWjO,EAAc2B,QAAA,IAAAA,IAAAA,EAAwB,CAAA,GAC/CpD,KAAKsO,gBAAgBvC,UAAUtK,EAAM2B,EACvC,CAqBAiD,QAAAA,CACEqB,EACAnB,EACAC,GAEAxG,KAAKsO,gBAAgBjI,SACnBqB,EACAnB,EACAC,EAEJ,CAwBAiB,iBAAAA,CACElB,EACAC,GAEAxG,KAAKsO,gBAAgB7G,kBACnBlB,EACAC,EAEJ,CAgBAoH,SAAAA,CAAUzF,GACRnI,KAAKsO,gBAAgBV,UAAUzF,EACjC,CAKAvC,eAAAA,GACE,OAAO5F,KAAKsO,gBAAgB1I,iBAC9B,CAKA8C,WAAAA,GACE,OAAO1I,KAAKsO,gBAAgB5F,aAC9B,CAKAC,YAAAA,GACE,OAAO3I,KAAKsO,gBAAgB3F,cAC9B,CAiBAC,WAAAA,CAAYC,EAAeC,GACzB9I,KAAKsO,gBAAgB1F,YAAYC,EAAOC,EAC1C,CAKQ2G,iBAAAA,GAAiB,IAAAzD,EAAAhM,KAEvBA,KAAKuN,eAGL5J,OAAOkK,iBAAiB,aAAc,IAAM7N,KAAKuN,gBAGjD,IAAMoC,EAAUhM,OAAOgM,QACvB,GAAIA,EAAQC,UAAW,CACrB,IAAMC,EAAoBF,EAAQC,UAClCD,EAAQC,UAAY,WAAkD,IAAA,IAAAE,EAAAC,UAAA7M,OAA9C8M,EAA0C,IAAA1O,MAAAwO,GAAAG,EAAA,EAAAA,EAAAH,EAAAG,IAA1CD,EAA0CC,GAAAF,UAAAE,GAChEJ,EAAkBK,MAAMlE,EAAMgE,GAC9BhE,EAAKuB,cACP,EACA5J,OAAOkK,iBAAiB,WAAY,IAAM7N,KAAKuN,eACjD,CAGAvN,KAAKmQ,yBACP,CAKQ5C,YAAAA,GACF7J,KAGJ1D,KAAKsO,gBAAgBf,cACvB,CAKQ4C,uBAAAA,GAW4B,cAA9BhQ,SAASiQ,iBACXjQ,SAAS0N,iBAAiB,mBATGwC,KACiB,YAA7BlQ,SAASiQ,iBACxBpQ,KAAKuN,gBASX,CAKAzL,SAAAA,GACE,OAAO9B,KAAKsP,cAAcxN,WAC5B,CAKAwC,YAAAA,GACE,OAAOtE,KAAKsO,gBAAgBhK,cAC9B,CAKAvC,YAAAA,CAAahC,GACXC,KAAKsP,cAAcvN,aAAahC,GAEhCC,KAAKsO,gBAAkB,IAAIpD,EAAgBlL,KAAKsP,cAAcxN,aAC9D9B,KAAKuP,iBAAmB,IAAIlB,EAC1BrO,KAAKsP,cAAcxN,YACnB9B,KAAKsO,gBAET,CAaAgC,cAAAA,CAAeC,GACRjP,MAAMkP,QAAQD,IAInBA,EAAM/M,QAASmB,IACb,GAAIA,GAAQrD,MAAMkP,QAAQ7L,IAASA,EAAKzB,OAAS,EAAG,CAClD,IAAMuN,EAAa9L,EAAK,GAClBqL,EAAOrL,EAAKhD,MAAM,GAExB,GAAyC,mBAA7B3B,KAAayQ,GACvB,IACGzQ,KAAayQ,MAAeT,EAC/B,CAAE,MAAO9O,GACPD,QAAQC,MAAK,sCAC2BuP,EAAU,IAChDvP,EAEJ,CAEJ,GAEJ,CAKAwP,WAAAA,GACM1Q,KAAKsO,kBAEPtO,KAAKsO,gBAAgBnD,gBAAgB3H,QAASmB,IAC5C3E,KAAKsO,gBAAgBhB,wBAAwB3I,KAG/C3E,KAAKsO,gBAAgBnD,gBAAkB,GAE3C,EAGF,IAAMwF,EAAmC,CAAA,EAOnCC,EACsB,oBAAnB1D,gBAAmD,oBAAV2D,MAC5C5E,EACc,oBAAXtI,OAAyC,UAAhBA,OAAOC,iBAAS,IAAAiB,OAAA,EAAAA,EAAEoH,eAAYjD,EAC5D8H,GACDF,IAC8B,KAA/B3E,aAAS,EAATA,EAAW8E,QAAQ,WACe,KAAlC9E,aAAS,EAATA,EAAW8E,QAAQ,YAGC,oBAAXpN,SACRA,OAAeoJ,yBAA2B+D,GAO7C,IAAME,EAAyB,WAE7B,SAASC,IAEFA,EAA2BC,OAG/BD,EAA2BC,MAAO,EAGnCJ,GAAmB,EACG,oBAAXnN,SACRA,OAAeoJ,0BAA2B,YNhQ/CoE,EACAC,EACAC,GAEA,GAAKF,EAIL,GAAI7P,MAAMkP,QAAQW,GAChBA,EAAI3N,QAAQ,CAAC3B,EAAOyP,KAClBF,EAASG,KAAKF,EAASxP,EAAOyP,UAGhC,IAAK,IAAMlN,KAAO+M,EACZhK,OAAOqK,UAAUC,eAAeF,KAAKJ,EAAK/M,IAC5CgN,EAASG,KAAKF,EAASF,EAAI/M,GAAMA,EAIzC,CMiPIsN,CAAKf,EAAW,SAAUgB,GACxBA,EAAKjB,aACP,GACF,CAGsB,oBAAbvQ,UAC8B,mBAA9BA,SAAS0N,iBAoBI,oBAAXlK,QACT1C,QAAQC,MACN,wFApB0B,aAAxBf,SAASyR,WAKXX,INzPA,SACJY,EACAlF,EACAmF,EACAC,GAEA,IAAMC,QAAEA,GAAU,EAAKC,QAAEA,GAAU,GAASF,QAAAA,EAAW,CAAA,EACvDF,SAAAA,EAAShE,iBAAiBlB,EAAOmF,EAAU,CAAEE,UAASC,WACxD,CMmPMpE,CAAiB1N,SAAU,mBAAoB8Q,EAAoB,CACjEe,SAAS,GAejB,EC9WO,IDqXCE,ECrXKC,GDqXLD,EAAavB,EAA+B,MAAI,IAAIvB,EAC1D4B,IACOkB"}
@@ -0,0 +1,26 @@
1
+ import { StorageMethod } from "./types";
2
+ export declare class SessionManager {
3
+ private storageMethod;
4
+ private domain?;
5
+ constructor(storageMethod?: StorageMethod, domain?: string);
6
+ /**
7
+ * Get session ID from cookie
8
+ */
9
+ private getSessionIdFromCookie;
10
+ /**
11
+ * Get session ID from storage
12
+ */
13
+ getSessionId(): string | null;
14
+ /**
15
+ * Set session ID in cookie
16
+ */
17
+ private setSessionIdFromCookie;
18
+ /**
19
+ * Set session ID in storage
20
+ */
21
+ setSessionId(): string;
22
+ /**
23
+ * Reset session ID (PostHog behavior: generates new session on reset)
24
+ */
25
+ resetSessionId(): void;
26
+ }
@@ -0,0 +1,112 @@
1
+ import { VTiltConfig, EventPayload } from "./types";
2
+ interface QueuedRequest {
3
+ url: string;
4
+ event: any;
5
+ }
6
+ export declare class TrackingManager {
7
+ private config;
8
+ private sessionManager;
9
+ private userManager;
10
+ __request_queue: QueuedRequest[];
11
+ private _hasWarnedAboutConfig;
12
+ constructor(config: VTiltConfig);
13
+ /**
14
+ * Get current domain from window location
15
+ * Returns full URL format for consistency with dashboard
16
+ */
17
+ private getCurrentDomain;
18
+ /**
19
+ * Check if tracking is properly configured
20
+ * Returns true if projectId and token are present, false otherwise
21
+ * Logs a warning only once per instance if not configured
22
+ */
23
+ private _isConfigured;
24
+ /**
25
+ * Send event to endpoint
26
+ */
27
+ sendEvent(name: string, payload: EventPayload): Promise<void>;
28
+ /**
29
+ * Build the tracking URL with token in query parameters (PostHog style)
30
+ */
31
+ private buildUrl;
32
+ /**
33
+ * Send HTTP request
34
+ * This is the central entry point for all tracking requests
35
+ */
36
+ private sendRequest;
37
+ /**
38
+ * Send a queued request (called after DOM is loaded)
39
+ */
40
+ _send_retriable_request(item: QueuedRequest): void;
41
+ /**
42
+ * Track page hit
43
+ */
44
+ trackPageHit(): void;
45
+ /**
46
+ * Get current session ID
47
+ */
48
+ getSessionId(): string | null;
49
+ /**
50
+ * Identify a user with PostHog-style property operations
51
+ * Copied from PostHog's identify method signature
52
+ */
53
+ identify(distinctId?: string, userPropertiesToSet?: Record<string, any>, userPropertiesToSetOnce?: Record<string, any>): void;
54
+ /**
55
+ * Set user properties (PostHog-style)
56
+ */
57
+ setUserProperties(userPropertiesToSet?: Record<string, any>, userPropertiesToSetOnce?: Record<string, any>): void;
58
+ /**
59
+ * Reset user identity (logout)
60
+ * PostHog behavior: Clears all user data, generates new anonymous ID, resets session
61
+ *
62
+ * @param reset_device_id - If true, also resets device_id. Default: false
63
+ */
64
+ resetUser(reset_device_id?: boolean): void;
65
+ /**
66
+ * Get current user identity
67
+ */
68
+ getUserIdentity(): import("./types").UserIdentity;
69
+ /**
70
+ * Get current device ID
71
+ */
72
+ getDeviceId(): string;
73
+ /**
74
+ * Get current user state
75
+ */
76
+ getUserState(): "anonymous" | "identified";
77
+ /**
78
+ * Create an alias to link two distinct IDs
79
+ * PostHog behavior: Links anonymous session to account on signup
80
+ *
81
+ * @param alias - A unique identifier that you want to use for this user in the future
82
+ * @param original - The current identifier being used for this user (optional, defaults to current distinct_id)
83
+ *
84
+ * @example
85
+ * // Link anonymous user to account on signup
86
+ * vtilt.createAlias('user_12345')
87
+ *
88
+ * @example
89
+ * // Explicit alias with original ID
90
+ * vtilt.createAlias('user_12345', 'anonymous_abc123')
91
+ */
92
+ createAlias(alias: string, original?: string): void;
93
+ /**
94
+ * Setup listener for identify, set, and alias events
95
+ */
96
+ private setupIdentifyListener;
97
+ /**
98
+ * Send identify event for session merging
99
+ */
100
+ private sendIdentifyEvent;
101
+ /**
102
+ * Send $set event for property updates (PostHog behavior)
103
+ * This notifies Tinybird when user properties are updated
104
+ */
105
+ private sendSetEvent;
106
+ /**
107
+ * Send alias event for identity linking
108
+ * PostHog format: { alias: alias, distinct_id: original }
109
+ */
110
+ private sendAliasEvent;
111
+ }
112
+ export {};
@@ -0,0 +1,67 @@
1
+ export interface VTiltConfig {
2
+ projectId: string;
3
+ token: string;
4
+ host?: string;
5
+ scriptHost?: string;
6
+ proxy?: string;
7
+ proxyUrl?: string;
8
+ domain?: string;
9
+ storage?: "cookie" | "localStorage" | "sessionStorage";
10
+ stringifyPayload?: boolean;
11
+ webVitals?: boolean;
12
+ globalAttributes?: Record<string, string>;
13
+ persistence?: "localStorage" | "cookie";
14
+ crossSubdomainCookie?: boolean;
15
+ }
16
+ export interface SessionData {
17
+ value: string;
18
+ expiry: number;
19
+ }
20
+ export interface WebVitalMetric {
21
+ name: string;
22
+ value: number;
23
+ delta: number;
24
+ rating: string;
25
+ id: string;
26
+ navigationType: string;
27
+ }
28
+ export interface GeolocationData {
29
+ country?: string;
30
+ locale?: string;
31
+ }
32
+ export interface EventPayload {
33
+ [key: string]: any;
34
+ }
35
+ export interface TrackingEvent {
36
+ timestamp: string;
37
+ event: string;
38
+ session_id: string;
39
+ tenant_id: string;
40
+ domain: string;
41
+ payload: EventPayload;
42
+ distinct_id?: string;
43
+ }
44
+ export type StorageMethod = "cookie" | "localStorage" | "sessionStorage";
45
+ export interface StorageMethods {
46
+ cookie: "cookie";
47
+ localStorage: "localStorage";
48
+ sessionStorage: "sessionStorage";
49
+ }
50
+ export interface UserIdentity {
51
+ distinct_id: string | null;
52
+ anonymous_id: string;
53
+ device_id: string;
54
+ properties: Record<string, any>;
55
+ user_state: "anonymous" | "identified";
56
+ }
57
+ export interface UserProperties {
58
+ [key: string]: any;
59
+ }
60
+ export interface PropertyOperations {
61
+ $set?: Record<string, any>;
62
+ $set_once?: Record<string, any>;
63
+ }
64
+ export interface AliasEvent {
65
+ distinct_id: string;
66
+ original: string;
67
+ }
@@ -0,0 +1,152 @@
1
+ import { UserIdentity, StorageMethod } from "./types";
2
+ export declare class UserManager {
3
+ private storageMethod;
4
+ private domain?;
5
+ private userIdentity;
6
+ private _cachedPersonProperties;
7
+ constructor(storageMethod?: StorageMethod, domain?: string);
8
+ /**
9
+ * Get current user identity
10
+ */
11
+ getUserIdentity(): UserIdentity;
12
+ /**
13
+ * Get current distinct ID (identified user ID)
14
+ */
15
+ getDistinctId(): string | null;
16
+ /**
17
+ * Get current anonymous ID
18
+ */
19
+ getAnonymousId(): string;
20
+ /**
21
+ * Get current user properties
22
+ */
23
+ getUserProperties(): Record<string, any>;
24
+ /**
25
+ * Identify a user with distinct ID and properties
26
+ * Copied from PostHog's identify method implementation
27
+ */
28
+ identify(newDistinctId?: string, userPropertiesToSet?: Record<string, any>, userPropertiesToSetOnce?: Record<string, any>): void;
29
+ /**
30
+ * Set user properties without changing distinct ID (PostHog-style)
31
+ * Sets properties on the person profile associated with the current distinct_id
32
+ *
33
+ * @example
34
+ * ```js
35
+ * // Set properties that can be updated
36
+ * vt.setUserProperties({ name: 'John Doe', email: 'john@example.com' })
37
+ * ```
38
+ *
39
+ * @example
40
+ * ```js
41
+ * // Set properties with $set and $set_once operations
42
+ * vt.setUserProperties(
43
+ * { name: 'John Doe', last_login: new Date().toISOString() }, // $set properties
44
+ * { first_login: new Date().toISOString() } // $set_once properties
45
+ * )
46
+ * ```
47
+ *
48
+ * @param userPropertiesToSet Optional: Properties to set (can be updated)
49
+ * @param userPropertiesToSetOnce Optional: Properties to set once (preserves first value)
50
+ */
51
+ setUserProperties(userPropertiesToSet?: Record<string, any>, userPropertiesToSetOnce?: Record<string, any>): void;
52
+ /**
53
+ * Get hash for person properties (PostHog behavior)
54
+ * Used for deduplication of identical setUserProperties calls
55
+ */
56
+ private getPersonPropertiesHash;
57
+ /**
58
+ * Send $set event for property updates (PostHog behavior)
59
+ * This notifies the server when user properties are updated
60
+ */
61
+ private sendSetEvent;
62
+ /**
63
+ * Reset user identity (logout)
64
+ * PostHog behavior: Generates new anonymous ID, clears user data, optionally resets device ID
65
+ *
66
+ * @param reset_device_id - If true, also resets device_id. Default: false (preserves device_id)
67
+ */
68
+ reset(reset_device_id?: boolean): void;
69
+ /**
70
+ * Get the effective ID for event tracking
71
+ */
72
+ getEffectiveId(): string;
73
+ /**
74
+ * Get current device ID
75
+ */
76
+ getDeviceId(): string;
77
+ /**
78
+ * Get current user state
79
+ */
80
+ getUserState(): "anonymous" | "identified";
81
+ /**
82
+ * Create an alias to link two distinct IDs
83
+ * PostHog behavior: If original is not provided, uses current distinct_id
84
+ * If alias matches original, just calls identify instead
85
+ *
86
+ * @param alias - A unique identifier that you want to use for this user in the future
87
+ * @param original - The current identifier being used for this user (optional, defaults to current distinct_id)
88
+ */
89
+ createAlias(alias: string, original?: string): void;
90
+ /**
91
+ * Validate distinct ID to prevent hardcoded strings
92
+ * Copied from PostHog's validation logic
93
+ */
94
+ private isValidDistinctId;
95
+ /**
96
+ * Check if distinct ID is string-like (hardcoded string)
97
+ * Copied from PostHog's isDistinctIdStringLike function
98
+ */
99
+ private isDistinctIdStringLike;
100
+ /**
101
+ * Load user identity from storage
102
+ */
103
+ private loadUserIdentity;
104
+ /**
105
+ * Save user identity to storage
106
+ */
107
+ private saveUserIdentity;
108
+ /**
109
+ * Generate a new anonymous ID
110
+ */
111
+ private generateAnonymousId;
112
+ /**
113
+ * Generate a new device ID
114
+ */
115
+ private generateDeviceId;
116
+ /**
117
+ * Send identify event for session merging
118
+ */
119
+ private sendIdentifyEvent;
120
+ /**
121
+ * Get stored value from storage
122
+ */
123
+ private getStoredValue;
124
+ /**
125
+ * Set stored value in storage
126
+ */
127
+ private setStoredValue;
128
+ /**
129
+ * Remove stored value from storage
130
+ */
131
+ private removeStoredValue;
132
+ /**
133
+ * Get user properties from storage
134
+ */
135
+ private getStoredUserProperties;
136
+ /**
137
+ * Set user properties in storage
138
+ */
139
+ private setStoredUserProperties;
140
+ /**
141
+ * Get cookie value
142
+ */
143
+ private getCookieValue;
144
+ /**
145
+ * Set cookie value
146
+ */
147
+ private setCookieValue;
148
+ /**
149
+ * Remove cookie value
150
+ */
151
+ private removeCookieValue;
152
+ }
@@ -0,0 +1,4 @@
1
+ export type AssignableWindow = Window & typeof globalThis & {
2
+ vt: any;
3
+ };
4
+ export declare const assignableWindow: AssignableWindow;
@@ -0,0 +1,30 @@
1
+ import { EventPayload } from "../types";
2
+ /**
3
+ * Generate uuid to identify the session. Random, not data-derived
4
+ */
5
+ export declare function uuidv4(): string;
6
+ /**
7
+ * Validate user agent string
8
+ */
9
+ export declare function isValidUserAgent(userAgent: string): boolean;
10
+ /**
11
+ * Validate payload string
12
+ */
13
+ export declare function isValidPayload(payloadStr: string): boolean;
14
+ /**
15
+ * Try to mask PPI and potential sensible attributes
16
+ */
17
+ export declare function maskSuspiciousAttributes(payload: EventPayload): string;
18
+ /**
19
+ * Check if current environment is a test environment
20
+ */
21
+ export declare function isTestEnvironment(): boolean;
22
+ /**
23
+ * Iterate over an array or object
24
+ */
25
+ export declare function each<T>(obj: T[] | Record<string, T> | null | undefined, iterator: (value: T, key: string | number) => void, thisArg?: any): void;
26
+ /**
27
+ * Use this instead of element.addEventListener to avoid eslint errors
28
+ * This properly implements the default options for passive event listeners
29
+ */
30
+ export declare function addEventListener(element: Window | Document | Element | undefined, event: string, callback: EventListener, options?: AddEventListenerOptions): void;
@@ -0,0 +1,21 @@
1
+ import { EventPayload } from './types';
2
+ /**
3
+ * Generate uuid to identify the session. Random, not data-derived
4
+ */
5
+ export declare function uuidv4(): string;
6
+ /**
7
+ * Validate user agent string
8
+ */
9
+ export declare function isValidUserAgent(userAgent: string): boolean;
10
+ /**
11
+ * Validate payload string
12
+ */
13
+ export declare function isValidPayload(payloadStr: string): boolean;
14
+ /**
15
+ * Try to mask PPI and potential sensible attributes
16
+ */
17
+ export declare function maskSuspiciousAttributes(payload: EventPayload): string;
18
+ /**
19
+ * Check if current environment is a test environment
20
+ */
21
+ export declare function isTestEnvironment(): boolean;