@walkeros/web-source-datalayer 4.1.2 → 4.1.3-next-1780071196115

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/CHANGELOG.md CHANGED
@@ -1,5 +1,20 @@
1
1
  # @walkeros/web-source-datalayer
2
2
 
3
+ ## 4.1.3-next-1780071196115
4
+
5
+ ### Patch Changes
6
+
7
+ - b98474f: Source-level mapping examples for the dataLayer source now key on the
8
+ prefix as entity and the gtag action as action: `mapping.<prefix>.<action>`.
9
+ The shipped `examples/mapping.ts`, the comprehensive `flow-complete.json`
10
+ example, and the related docs reflect the convention, including the
11
+ special-cased actions `consent`, `config`, and `set` whose trailing token is
12
+ dropped by the entity/action split.
13
+ - Updated dependencies [908d6f0]
14
+ - Updated dependencies [3eb2467]
15
+ - @walkeros/collector@4.1.3-next-1780071196115
16
+ - @walkeros/core@4.1.3-next-1780071196115
17
+
3
18
  ## 4.1.2
4
19
 
5
20
  ### Patch Changes
@@ -1 +1 @@
1
- "use strict";var Destination=(()=>{var e=Object.defineProperty,t=Object.getOwnPropertyDescriptor,n=Object.getOwnPropertyNames,o=Object.prototype.hasOwnProperty,r=(t,n)=>{for(var o in n)e(t,o,{get:n[o],enumerable:!0})},s={};r(s,{SourceDataLayer:()=>de,createTrigger:()=>pt,default:()=>mt,env:()=>fe,sourceDataLayer:()=>ht,step:()=>ye,trigger:()=>gt});var a=Object.defineProperty,i=(e,t)=>{for(var n in t)a(e,n,{get:t[n],enumerable:!0})};function c(e,t){if("collector"===e)return"collector";if(!t)throw new Error(`stepId(${e}) requires an id`);return`${e}.${t}`}i({},{stepId:()=>c});function u(e,t){const n=e.destinations[t];if(!n)throw new Error(`Destination not found: ${t}`);return n}i({},{getDestination:()=>u});i({},{Level:()=>d});var l,d=((l=d||{})[l.ERROR=0]="ERROR",l[l.WARN=1]="WARN",l[l.INFO=2]="INFO",l[l.DEBUG=3]="DEBUG",l);function f(e,t){const n=e.transformers[t];if(!n)throw new Error(`Transformer not found: ${t}`);return n}i({},{getTransformer:()=>f});function p(e,t){const n=e.sources[t];if(!n)throw new Error(`Source not found: ${t}`);return n}i({},{getSource:()=>p});function g(e,t){const n=e.stores[t];if(!n)throw new Error(`Store not found: ${t}`);return n}function h(e){return{_meta:{hops:0,path:[e]}}}i({},{getStore:()=>g});var m={merge:!0,shallow:!0,extend:!0};function y(e,t={},n={}){n={...m,...n};const o=Object.entries(t).reduce((t,[o,r])=>{const s=e[o];return n.merge&&Array.isArray(s)&&Array.isArray(r)?t[o]=r.reduce((e,t)=>e.includes(t)?e:[...e,t],[...s]):(n.extend||o in e)&&(t[o]=r),t},{});return n.shallow?{...e,...o}:(Object.assign(e,o),e)}function v(e){return Array.isArray(e)}function w(e){return void 0!==e}function b(e){return"function"==typeof e}function k(e){return"object"==typeof e&&null!==e&&!v(e)&&"[object Object]"===Object.prototype.toString.call(e)}function O(e){return"string"==typeof e}function j(e,t=new WeakMap){if("object"!=typeof e||null===e)return e;if(t.has(e))return t.get(e);const n=Object.prototype.toString.call(e);if("[object Object]"===n){const n={};t.set(e,n);for(const o in e)Object.prototype.hasOwnProperty.call(e,o)&&(n[o]=j(e[o],t));return n}if("[object Array]"===n){const n=[];return t.set(e,n),e.forEach(e=>{n.push(j(e,t))}),n}if("[object Date]"===n)return new Date(e.getTime());if("[object RegExp]"===n){const t=e;return new RegExp(t.source,t.flags)}return e}function x(e,t="",n){const o=t.split(".");let r=e;for(let e=0;e<o.length;e++){const t=o[e];if("*"===t&&v(r)){const t=o.slice(e+1).join("."),s=[];for(const e of r){const o=x(e,t,n);s.push(o)}return s}if(r=k(r)||v(r)?r[t]:void 0,void 0===r)break}return w(r)?r:n}function I(e,t,n){if(!k(e))return e;const o=j(e),r=t.split(".");let s=o;for(let e=0;e<r.length;e++){const t=r[e];e===r.length-1?s[t]=n:(t in s&&"object"==typeof s[t]&&null!==s[t]||(s[t]={}),s=s[t])}return o}function S(e,t){if(!k(e)&&!v(e))return e;const n=j(e),o=t.split(".");let r=n;for(let e=0;e<o.length;e++){const t=o[e],s=e===o.length-1;if(v(r)){const e=Number(t);if(!Number.isInteger(e)||e<0||e>=r.length)return n;if(s)r.splice(e,1);else{const t=r[e];if(!k(t)&&!v(t))return n;r=t}}else if(s)delete r[t];else{const e=r[t];if(!k(e)&&!v(e))return n;r=e}}return n}var _={data:e=>e.data,globals:e=>e.globals,context:e=>e.context,user:e=>e.user,source:e=>e.source,event:e=>({entity:e.entity,action:e.action,id:e.id,timestamp:e.timestamp,name:e.name,trigger:e.trigger,timing:e.timing})};function A(e,t={},n={}){const o={...t,...n},r={};let s=!e||0===Object.keys(e).length;return Object.keys(o).forEach(t=>{o[t]&&(r[t]=!0,e&&e[t]&&(s=!0))}),!!s&&r}function q(){let e="";for(let t=0;t<16;t++)e+=(16*Math.random()|0).toString(16);return e}function $(e=6,t){if(t){const n=t.length;let o="";for(let r=0;r<e;r++)o+=t[Math.random()*n|0];return o}let n="";for(let t=36;n.length<e;)n+=(Math.random()*t|0).toString(t);return n}function E(e){return{message:e.message,name:e.name,stack:e.stack,cause:e.cause}}function D(e,t){let n,o={};return e instanceof Error?(n=e.message,o.error=E(e)):n=e,void 0!==t&&(t instanceof Error?o.error=E(t):"object"==typeof t&&null!==t?(o={...o,...t},"error"in o&&o.error instanceof Error&&(o.error=E(o.error))):o.value=t),{message:n,context:o}}var T=(e,t,n,o)=>{const r=`${d[e]}${o.length>0?` [${o.join(":")}]`:""}`,s=Object.keys(n).length>0,a=0===e?console.error:1===e?console.warn:console.log;s?a(r,t,n):a(r,t)};function M(e={}){return P({level:void 0!==e.level?(t=e.level,"string"==typeof t?d[t]:t):0,handler:e.handler,jsonHandler:e.jsonHandler,scope:[]});var t}function P(e){const{level:t,handler:n,jsonHandler:o,scope:r}=e,s=(e,o,s)=>{if(e<=t){const t=D(o,s);n?n(e,t.message,t.context,r,T):T(e,t.message,t.context,r)}};return{error:(e,t)=>s(0,e,t),warn:(e,t)=>s(1,e,t),info:(e,t)=>s(2,e,t),debug:(e,t)=>s(3,e,t),throw:(e,t)=>{const o=D(e,t);throw n?n(0,o.message,o.context,r,T):T(0,o.message,o.context,r),new Error(o.message)},json:e=>{o?o(e):console.log(JSON.stringify(e,null,2))},scope:e=>P({level:t,handler:n,jsonHandler:o,scope:[...r,e]})}}function C(e){return function(e){return"boolean"==typeof e}(e)||O(e)||function(e){return"number"==typeof e&&!Number.isNaN(e)}(e)||!w(e)||v(e)&&e.every(C)||k(e)&&Object.values(e).every(C)}function L(e){return C(e)?e:void 0}function R(e,t,n){return function(...o){try{return e(...o)}catch(e){if(!t)return;return t(e)}finally{null==n||n()}}}function N(e,t,n){return async function(...o){try{return await e(...o)}catch(e){if(!t)return;return await t(e)}finally{await(null==n?void 0:n())}}}var z=class e extends Error{constructor(t,n){super(t,n),this.name="FatalError",Object.setPrototypeOf(this,e.prototype)}};async function K(e,t={},n={}){var o,r;if(!w(e))return;const s=k(e)&&e.consent||n.consent||(null==(o=n.collector)?void 0:o.consent),a=null!=(r=n.event)?r:k(e)?e:{};if(!n.collector)throw new Error("getMappingValue: context.collector is required");const i={event:a,mapping:t,collector:n.collector,logger:n.collector.logger,consent:s},c=v(t)?t:[t];for(const t of c){const o=await N(U,e=>{if(e instanceof z)throw e;n.collector&&n.collector.status.failed++,i.logger.error("mapping processing failed",{event:a,error:e})})(e,t,{...i,mapping:t});if(w(o))return o}}async function U(e,t,n){return(v(t)?t:[t]).reduce(async(t,o)=>{const r=await t;if(r)return r;const s=O(o)?{key:o}:o;if(!Object.keys(s).length)return;const{condition:a,consent:i,fn:c,key:u,loop:l,map:d,set:f,validate:p,value:g}=s,h={...n,mapping:o};if(a&&!await N(a,e=>{if(e instanceof z)throw e;return h.logger.error("mapping condition failed",{event:h.event,error:e}),!1})(e,h))return;if(i&&!A(i,h.consent))return g;let m=w(g)?g:e;if(c&&(m=await N(c,e=>{if(e instanceof z)throw e;h.logger.error("mapping fn failed",{event:h.event,error:e})})(e,h)),u&&(m=x(e,u,g)),l){const[t,n]=l,o="this"===t?[e]:await K(e,t,h);v(o)&&(m=(await Promise.all(o.map(e=>K(e,n,h)))).filter(w))}else d?m=await Object.entries(d).reduce(async(t,[n,o])=>{const r=await t,s=await K(e,o,h);return w(s)&&(r[n]=s),r},Promise.resolve({})):f&&(m=await Promise.all(f.map(t=>U(e,t,h))));p&&!await N(p,e=>{if(e instanceof z)throw e;return h.logger.error("mapping validate failed",{event:h.event,error:e}),!1})(m,h)&&(m=void 0);const y=L(m);return w(y)?y:L(g)},Promise.resolve(void 0))}async function B(e,t,n){var o;t.policy&&await Promise.all(Object.entries(t.policy).map(async([t,o])=>{const r=await K(e,o,{collector:n,event:e});e=I(e,t,r)}));const{eventMapping:r,mappingKey:s}=await async function(e,t,n){var o;const[r,s]=(e.name||"").split(" ");if(!t||!r||!s)return{};let a,i="",c=r,u=s;const l=t=>{if(t)return(v(t)?t:[t]).find(t=>{if(!t.condition)return!0;if(!n)return Boolean(t.condition(e,void 0));const o={event:e,mapping:t,collector:n,logger:n.logger,consent:k(e)&&e.consent||n.consent};return Boolean(t.condition(e,o))})};t[c]||(c="*");const d=t[c];return d&&(d[u]||(u="*"),a=l(d[u])),a||(c="*",u="*",a=l(null==(o=t[c])?void 0:o[u])),a&&(i=`${c} ${u}`),{eventMapping:a,mappingKey:i}}(e,t.mapping,n);(null==r?void 0:r.policy)&&await Promise.all(Object.entries(r.policy).map(async([t,o])=>{const r=await K(e,o,{collector:n,event:e});e=I(e,t,r)}));let a=t.data&&await K(e,t.data,{collector:n,event:e});const i=Boolean(null==r?void 0:r.silent);if(r){if(r.ignore)return{event:e,data:a,mapping:r,mappingKey:s,ignore:!0,silent:i};if(r.name&&(e.name=r.name),r.data){const t=r.data&&await K(e,r.data,{collector:n,event:e});a=k(a)&&k(t)?y(a,t):t}}const c=null!=(o=null==r?void 0:r.include)?o:t.include;if(c&&c.length>0){const t=function(e,t){const n={},o=t.includes("all")?Object.keys(_):t;for(const t of o){const o=_[t];if(!o)continue;const r=o(e);if(k(r))for(const[e,o]of Object.entries(r)){if(void 0===o)continue;const r="context"===t&&Array.isArray(o)?o[0]:o;n[`${t}_${e}`]=r}}return n}(e,c);Object.keys(t).length>0&&(a=k(a)?y(t,a):null!=a?a:t)}if((null==r?void 0:r.remove)&&k(a))for(const e of r.remove)a=S(a,e);return{event:e,data:a,mapping:r,mappingKey:s,ignore:!1,silent:i}}function H(e,t,n,o){const r=e;return function(...e){let s;const a="pre"+t,i="post"+t,c=n[a],u=n[i],l=(e,t)=>{o?o.warn(e,{error:t}):console.warn(e,t)};if(c)try{s=c({fn:r},...e)}catch(t){l(`Hook ${String(a)} failed, falling back to original function`,t),s=r(...e)}else s=r(...e);if(u)try{s=u({fn:r,result:s},...e)}catch(e){l(`Hook ${String(i)} failed, keeping original result`,e)}return s}}function F(e,t){if(0===e.observers.size)return;const n=Array.from(e.observers);for(const e of n)try{e(t)}catch(e){}}function G(e){if(void 0===e||"*"===e)return()=>!0;if("and"in e){const t=e.and.map(G);return e=>t.every(t=>t(e))}if("or"in e){const t=e.or.map(G);return e=>t.some(t=>t(e))}return function(e){const{key:t,operator:n,value:o,not:r}=e,s=function(e,t){switch(e){case"eq":return e=>String(null!=e?e:"")===t;case"contains":return e=>String(null!=e?e:"").includes(t);case"prefix":return e=>String(null!=e?e:"").startsWith(t);case"suffix":return e=>String(null!=e?e:"").endsWith(t);case"regex":{const e=new RegExp(t);return t=>e.test(String(null!=t?t:""))}case"gt":{const e=Number(t);return t=>Number(t)>e}case"lt":{const e=Number(t);return t=>Number(t)<e}case"exists":return e=>null!=e}}(n,o);return e=>{const n=x(e,t),o=s(n);return r?!o:o}}(e)}function W(e){return e.map(e=>{var t,n;if("string"==typeof e)return{match:()=>!0,next:{type:"static",value:e}};if(Array.isArray(e))return{match:()=>!0,next:null!=(t=V(e))?t:{type:"chain",value:[]}};const o=e;return{match:o.match?G(o.match):()=>!0,next:null!=(n=V(o))?n:{type:"chain",value:[]}}})}function V(e){if(null==e)return;if("string"==typeof e)return{type:"static",value:e};if(Array.isArray(e)){if(0===e.length)return;if(function(e){return Array.isArray(e)&&e.length>0&&e.every(e=>{return"object"==typeof(t=e)&&null!==t&&!Array.isArray(t)&&("match"in t||"next"in t||"one"in t||"many"in t);var t})}(e))return V({one:e});if(e.every(e=>"string"==typeof e))return{type:"chain",value:e};const t=[];for(const n of e){const e=V(n);void 0!==e&&t.push(e)}if(0===t.length)return;return{type:"sequence",value:t}}const t=e;if("next"in t&&void 0!==t.next)return t.match?{type:"gate",match:G(t.match),next:V(t.next)}:V(t.next);if("one"in t&&t.one){const e=W(t.one);return t.match?{type:"gate",match:G(t.match),next:{type:"one",routes:e}}:{type:"one",routes:e}}if("many"in t&&t.many){const e=W(t.many);return t.match?{type:"gate",match:G(t.match),next:{type:"many",routes:e}}:{type:"many",routes:e}}return t.match?{type:"gate",match:G(t.match)}:void 0}var J=new WeakMap;function Y(e,t={}){if(null==e)return[];let n;if("object"==typeof e){const t=J.get(e);t?n=t:(n=V(e),n&&J.set(e,n))}else n=V(e);if(!n)return[];const o=Z(n,t);return void 0===o?[]:Array.isArray(o)?o:[o]}function Z(e,t={}){if(e){if("static"===e.type)return e.value;if("chain"===e.type)return e.value;if("gate"===e.type){if(!e.match(t))return;return Z(e.next,t)}if("sequence"===e.type){const n=[];for(const o of e.value){const e=Z(o,t);void 0!==e&&(Array.isArray(e)?n.push(...e):n.push(e))}return n.length>0?n:void 0}if("many"===e.type){const n=[];for(const o of e.routes){if(!o.match(t))continue;const e=Z(o.next,t);void 0!==e&&(Array.isArray(e)?n.push(...e):n.push(e))}return n.length>0?n:void 0}for(const n of e.routes)if(n.match(t))return Z(n.next,t)}}function Q(e,t){const n={ingest:null!=e?e:{}};return void 0!==t&&(n.event=t),n}function X(e){var t;return{stop:null!=(t=e.stop)&&t,storeId:e.store,namespace:e.namespace,rules:e.rules.map(e=>({match:e.match?G(e.match):()=>!0,key:e.key,ttl:e.ttl,update:e.update}))}}async function ee(e,t,n,o){const r=e.rules.find(e=>e.match(n));if(!r)return null;const s=r.key.map(e=>{var t;return String(null!=(t=x(n,e))?t:"")});if(s.every(e=>""===e))return null;const a=s.join(":"),i=null!=o?o:e.namespace,c=i?`${i}:${a}`:a,u=await t.get(c);return void 0!==u?{status:"HIT",key:c,value:u,rule:r}:{status:"MISS",key:c,rule:r}}function te(e,t,n,o){e.set(t,n,1e3*o)}async function ne(e,t,n,o){if(!t)return e;let r=e;for(const[e,s]of Object.entries(t))r=I(r,e,await K(n,s,{collector:o}));return r}var oe={Source:["code","package","import","before","next","cache"],Transformer:["code","package","import","before","next","cache","mapping"],Destination:["code","package","import","before","next","cache"],Store:["code","package","import","cache"]},re=["config","env","validate","variables","examples","disabled","id","logger","mock","chainMocks"],se={Source:["primary"],Transformer:[],Destination:[],Store:[]},ae=/^[A-Za-z_$][A-Za-z0-9_$]*$/;function ie(e,t){const n=(o=t,new Set([...oe[o],...re,...se[o]]));var o;for(const o of Object.keys(e))if(!n.has(o))return{ok:!1,code:"UNKNOWN_KEY",key:o,reason:`Unknown key "${o}" on ${t}. Allowed: ${[...n].sort().join(", ")}.`};const r=void 0!==e.package,s=void 0!==e.import,a=void 0!==e.code;return a&&"string"==typeof e.code?{ok:!1,code:"OBSOLETE_CODE_STRING",key:"code",reason:`code: "<name>" is no longer supported. Use import: "${e.code}" with the package field instead.`}:a&&("object"!=typeof e.code&&"function"!=typeof e.code||null===e.code||Array.isArray(e.code))?{ok:!1,code:"INVALID_CODE_SHAPE",key:"code",reason:"code must be an object ({ push, type?, init? }) or a resolved function value."}:a&&r?{ok:!1,code:"CONFLICT",key:"package",reason:"Cannot specify both `code` and `package`. Use one or the other."}:a&&s?{ok:!1,code:"CONFLICT",key:"import",reason:"Cannot specify both `code` and `import`."}:s&&!r?{ok:!1,code:"MISSING_PACKAGE",key:"import",reason:"`import` requires `package` to be set."}:!s||"string"==typeof e.import&&ae.test(e.import)?{ok:!0}:{ok:!1,code:"INVALID_IMPORT",key:"import",reason:`import must match ${ae.source}. Got: ${JSON.stringify(e.import)}.`}}var ce=!1;function ue(e,t={},n){if(t.filter){if(!0===R(()=>t.filter(n),()=>!1)())return}const o=function(e){if(k(e)&&O(e.event)){const{event:t,...n}=e;return{name:t,...n}}if(v(e)&&e.length>=2)return le(e);if(t=e,null!=t&&"object"==typeof t&&"length"in t&&"number"==typeof t.length&&t.length>0){return le(Array.from(e))}var t;return null}(n);if(!o)return;const r=`${t.prefix||"dataLayer"} ${o.name}`,{name:s,...a}=o,i={name:r,data:a};R(()=>e(i),()=>{})()}function le(e){const[t,n,o]=e;if(!O(t))return null;let r,s={};switch(t){case"consent":if(!O(n)||e.length<3)return null;if("default"!==n&&"update"!==n)return null;if(!k(o)||null===o)return null;r=`${t} ${n}`,s={...o};break;case"event":if(!O(n))return null;r=n,k(o)&&(s={...o});break;case"config":if(!O(n))return null;r=`${t} ${n}`,k(o)&&(s={...o});break;case"set":if(O(n))r=`${t} ${n}`,k(o)&&(s={...o});else{if(!k(n))return null;r=`${t} custom`,s={...n}}break;default:return null}return{name:r,...s}}var de={},fe={};r(fe,{push:()=>me});var pe=()=>{},ge=()=>()=>Promise.resolve({ok:!0}),he={error:pe,warn:pe,info:pe,debug:pe,throw:e=>{throw"string"==typeof e?new Error(e):e},json:pe,scope:()=>he},me={get push(){return ge()},get command(){return ge()},get elb(){return ge()},get window(){return{dataLayer:[],addEventListener:pe,removeEventListener:pe}},logger:he},ye={};r(ye,{consentUpdate:()=>we,directEvent:()=>Oe,gtagAddToCart:()=>be,gtagPurchase:()=>ve,gtagViewItem:()=>ke});var ve={title:"gtag purchase",description:"A gtag purchase call pushed to the dataLayer is captured as a walker dataLayer purchase event with item details.",trigger:{type:"gtag"},in:["event","purchase",{transaction_id:"T-12345",value:25.42,currency:"EUR",items:[{item_id:"SKU-1",item_name:"T-Shirt",quantity:1}]}],out:[["elb",{name:"dataLayer purchase",data:{transaction_id:"T-12345",value:25.42,currency:"EUR",items:[{item_id:"SKU-1",item_name:"T-Shirt",quantity:1}]}}]]},we={title:"Consent update",description:"A gtag consent update is captured from the dataLayer as a walker dataLayer consent update event.",trigger:{type:"gtag"},in:["consent","update",{ad_storage:"granted",analytics_storage:"granted"}],out:[["elb",{name:"dataLayer consent update",data:{ad_storage:"granted",analytics_storage:"granted"}}]]},be={title:"gtag add_to_cart",description:"A gtag add_to_cart call pushed to the dataLayer is captured as a walker dataLayer add_to_cart event.",trigger:{type:"gtag"},in:["event","add_to_cart",{currency:"EUR",value:15.25,items:[{item_id:"SKU_12345",item_name:"T-Shirt",item_variant:"red",quantity:1,price:15.25}]}],out:[["elb",{name:"dataLayer add_to_cart",data:{currency:"EUR",value:15.25,items:[{item_id:"SKU_12345",item_name:"T-Shirt",item_variant:"red",quantity:1,price:15.25}]}}]]},ke={title:"gtag view_item",description:"A gtag view_item call pushed to the dataLayer is captured as a walker dataLayer view_item event with item data.",trigger:{type:"gtag"},in:["event","view_item",{currency:"EUR",value:29.99,items:[{item_id:"SKU_67890",item_name:"Sneakers",item_category:"Footwear",price:29.99}]}],out:[["elb",{name:"dataLayer view_item",data:{currency:"EUR",value:29.99,items:[{item_id:"SKU_67890",item_name:"Sneakers",item_category:"Footwear",price:29.99}]}}]]},Oe={title:"Direct dataLayer event",description:"A plain object pushed directly onto the dataLayer is captured as a walker dataLayer custom event.",trigger:{type:"direct"},in:{event:"custom_event",category:"engagement",label:"video_play"},out:[["elb",{name:"dataLayer custom_event",data:{category:"engagement",label:"video_play"}}]]},je={Action:"action",Actions:"actions",Config:"config",Consent:"consent",Context:"context",Custom:"custom",Destination:"destination",Elb:"elb",Globals:"globals",Hook:"hook",Init:"init",Link:"link",On:"on",Prefix:"data-elb",Ready:"ready",Run:"run",Session:"session",Shutdown:"shutdown",User:"user",Walker:"walker"};function xe(e,t){const n=e.status.startedAt;return{flowId:"default",stepId:t.stepId,stepType:t.stepType,phase:t.phase,eventId:t.eventId,timestamp:new Date(t.now).toISOString(),elapsedMs:t.now-n}}function Ie(e,t){return e.storeId&&t.stores[e.storeId]?t.stores[e.storeId]:t.stores.__cache}function Se(e){var t;const n={};for(const[o,r]of Object.entries(e)){const e=null==(t=r.config)?void 0:t.next;"string"==typeof e||Array.isArray(e)&&e.every(e=>"string"==typeof e)?n[o]={next:e}:n[o]={}}return n}function _e(e,t){const n=e.config||{},o=e[t];return void 0!==o?{config:{...n,[t]:o},chainValue:o}:{config:n,chainValue:void 0}}function Ae(e,t={}){if(!e)return[];if(Array.isArray(e))return e;const n=[],o=new Set;let r=e;for(;r&&t[r]&&!o.has(r);){o.add(r),n.push(r);const e=t[r].next;if(Array.isArray(e)){n.push(...e);break}r=e}return n}async function qe(e,t,n){if(t.init&&!t.config.init){const o=t.type||"unknown",r=e.logger.scope(`transformer:${o}`),s={collector:e,logger:r,id:n,ingest:h(n),config:t.config,env:Te(t.config.env)};r.debug("init");const a=await H(t.init,"TransformerInit",e.hooks,e.logger)(s);if(!1===a)return!1;t.config={...a||t.config,env:(null==a?void 0:a.env)||t.config.env,init:!0},r.debug("init done")}return!0}async function $e(e,t,n,o,r,s){const a=t.type||"unknown",i=e.logger.scope(`transformer:${a}`),u={collector:e,logger:i,id:n,ingest:r,config:t.config,env:{...Te(t.config.env),...s?{respond:s}:{}}};i.debug("push",{event:o.name});const l="string"==typeof o.id?o.id:"",d=Date.now();F(e,xe(e,{stepId:c("transformer",n),stepType:"transformer",phase:"in",eventId:l,now:d}));try{const r=await H(t.push,"TransformerPush",e.hooks,e.logger)(o,u),s=Date.now(),a=xe(e,{stepId:c("transformer",n),stepType:"transformer",phase:"out",eventId:l,now:s});return a.durationMs=s-d,a.outEvent=r,F(e,a),i.debug("push done"),r}catch(t){const o=Date.now(),r=xe(e,{stepId:c("transformer",n),stepType:"transformer",phase:"error",eventId:l,now:o});throw r.durationMs=o-d,r.error=t instanceof Error?{name:t.name,message:t.message}:{message:String(t)},F(e,r),t}}function Ee(e,t){return e?{...e,_meta:{...e._meta,path:[...e._meta.path]}}:h(t)}async function De(e,t,n,o,r,s,a){var i,c,u,l,d,f,p,g;r||(r=h(null!=(i=n[0])?i:"chain")),a&&r._meta&&(r._meta.chainPath=a);let m=o,y=s;for(const o of n){const s=t[o];if(!s){e.logger.warn(`Transformer not found: ${o}`);continue}if(r&&r._meta&&r._meta.path.length>256)return e.logger.error(`Max path length exceeded at ${o}`),{event:null,respond:y};if(r&&r._meta&&(r._meta.hops++,r._meta.path.push(o)),!await N(qe,t=>{if(t instanceof z)throw t;return e.status.failed++,e.logger.scope(`transformer:${s.type||"unknown"}`).error("transformer init failed",{transformer:o,error:t}),!1})(e,s,o))return{event:null,respond:y};if(a&&void 0!==(null==(u=null==(c=s.config)?void 0:c.chainMocks)?void 0:u[a])){const t=s.config.chainMocks[a];e.logger.scope(`transformer:${s.type||"unknown"}`).debug("chainMock",{chain:a}),m=t;continue}if(void 0!==(null==(l=s.config)?void 0:l.mock)){e.logger.scope(`transformer:${s.type||"unknown"}`).debug("mock"),m=s.config.mock;continue}if(null==(d=s.config)?void 0:d.disabled)continue;const i=null==(f=s.config)?void 0:f.cache,h=i?X(i):void 0,v=h?Ie(h,e):void 0;let w;if(h&&v){const e=Q(r,m),t=await ee(h,v,e);if("HIT"===(null==t?void 0:t.status)&&t.value){if(m=t.value,h.stop)return{event:m,respond:y,stopped:!0};continue}"MISS"===(null==t?void 0:t.status)&&(w={key:t.key,ttl:t.rule.ttl})}const b=s.config.before;if(b){const n=Y(b,Q(r,m));if(1===n.length){const o=Ae(n[0],Se(t));if(o.length>0){const n=await De(e,t,o,m,r,y,a);if(null===n.event)return{event:null,respond:null!=(p=n.respond)?p:y};if(n.stopped)return{event:Array.isArray(n.event)?n.event[0]:n.event,respond:null!=(g=n.respond)?g:y,stopped:!0};n.respond&&(y=n.respond),m=Array.isArray(n.event)?n.event[0]:n.event}}else n.length>1&&await Promise.all(n.map(n=>N(De,t=>(e.logger.scope("transformer:many").error(`many branch ${n} failed`,{error:t}),{event:null,respond:void 0}))(e,t,Ae(n,Se(t)),m,Ee(r,n),void 0,a)))}const k=await N($e,t=>(e.logger.scope(`transformer:${s.type||"unknown"}`).error("Push failed",{error:t}),!1))(e,s,o,m,r,y);if(!1===k)return{event:null,respond:y};if(Array.isArray(k)){const s=n.slice(n.indexOf(o)+1),i=await Promise.all(k.map(async n=>{const o=n.event||m,i=Ee(r,"unknown");if(n.next){const r=Y(n.next,Q(i,o));if(0===r.length)return{event:o,respond:y};if(1===r.length){const n=Ae(r[0],Se(t));return n.length>0?De(e,t,n,o,i,y,a):{event:o,respond:y}}return(await Promise.all(r.map(n=>N(De,t=>(e.logger.scope("transformer:many").error(`many branch ${n} failed`,{error:t}),{event:null,respond:void 0}))(e,t,Ae(n,Se(t)),o,Ee(i,n),void 0,a)))).map(e=>({event:e.event,respond:void 0}))}return s.length>0?De(e,t,s,o,i,y,a):{event:o,respond:y}}));let c=y;const u=[];for(const e of i.flat())if(null!==e)if(e&&"object"==typeof e&&"event"in e){const t=e;if(t.respond&&(c=t.respond),null===t.event)continue;Array.isArray(t.event)?u.push(...t.event):u.push(t.event)}else u.push(e);return 0===u.length?{event:null,respond:c}:1===u.length?{event:u[0],respond:c}:{event:u,respond:c}}if(k&&"object"==typeof k){const{event:n,respond:o,next:s}=k;if(o&&(y=o),void 0!==s){const o=Y(s,Q(r,m));if(0===o.length){n&&(m=n);continue}if(1===o.length){const i=Ae(o[0],Se(t));return i.length>0?De(e,t,i,n||m,r,y,a):(e.logger.warn(`Branch target not found: ${JSON.stringify(s)}`),{event:null,respond:y})}return await Promise.all(o.map(o=>N(De,t=>(e.logger.scope("transformer:many").error(`many branch ${o} failed`,{error:t}),{event:null,respond:void 0}))(e,t,Ae(o,Se(t)),n||m,Ee(r,o),void 0,a))),{event:null,respond:void 0}}n&&(m=n)}w&&v&&te(v,w.key,m,w.ttl);const O=s.config.next,j="string"==typeof O||Array.isArray(O)&&O.every(e=>"string"==typeof e),x=void 0!==O&&!j;if((!k||"object"==typeof k&&!k.next)&&x){const n=Y(s.config.next,Q(r,m));if(1===n.length){const o=Ae(n[0],Se(t));return o.length>0?De(e,t,o,m,r,y,a):{event:m,respond:y}}return n.length>1?(await Promise.all(n.map(n=>N(De,t=>(e.logger.scope("transformer:many").error(`many branch ${n} failed`,{error:t}),{event:null,respond:void 0}))(e,t,Ae(n,Se(t)),m,Ee(r,n),void 0,a))),{event:null,respond:void 0}):{event:m,respond:y}}}return{event:m,respond:y}}function Te(e){return e&&k(e)?e:{}}function Me(e){return"string"==typeof e||!(!Array.isArray(e)||!e.every(e=>"string"==typeof e))}async function Pe(e,t,n){var o,r;if(!t.on||!(null==(o=t.queueOn)?void 0:o.length))return;const s=t.queueOn;t.queueOn=[];const a=n||(null==(r=t.config)?void 0:r.id)||"unknown";for(const{type:n,data:o}of s)await N(t.on,t=>{if(t instanceof z)throw t;e.status.failed++,e.logger.scope("source").error("source on flush failed",{sourceId:a,type:n,error:t})})(n,o)}function Ce(e){var t;return Boolean(e.config.init)&&!(null==(t=e.config.require)?void 0:t.length)}async function Le(e,t,n){var o;const{code:r,config:s={},env:a={},primary:i,next:c,before:u,cache:l}=n,d=l,f=d?X({...d,stop:null==(o=d.stop)||o}):void 0,p=Me(c)?Ae(c,Se(e.transformers)):void 0,g=Me(u)?Ae(u,Se(e.transformers)):void 0,m=a.push,y=null!=m?m:e.push,v=Boolean(m),w=async(n,o,r)=>{var a;let i;const l=null!=g?g:void 0!==u?(()=>{const t=Y(u,Q(r.ingest));return 0===t.length?[]:Ae(1===t.length?t[0]:t,Se(e.transformers))})():[];let d=[n];if(l.length>0&&e.transformers&&Object.keys(e.transformers).length>0){const o=await De(e,e.transformers,l,n,r.ingest,r.respond,`source.${t}.before`);if(null===o.event)return{ok:!0};if(o.stopped)return o.respond&&(r.respond=o.respond),{ok:!0};o.respond&&(r.respond=o.respond),d=Array.isArray(o.event)?o.event:[o.event]}if(f){const t=Ie(f,e);if(t){const n=Q(r.ingest),o=await ee(f,t,n);if(o){if("HIT"===o.status&&void 0!==o.value&&f.stop){let t=o.value;return o.rule.update&&(t=await ne(t,o.rule.update,{...n,cache:{status:"HIT"}},e)),null==(a=r.respond)||a.call(r,t),{ok:!0}}if("MISS"===o.status&&f.stop&&r.respond){const s=r.respond,a=o.rule.update,c={...n,cache:{status:"MISS"}},u=o.key,l=o.rule.ttl,d=n=>{te(t,u,n,l),a?i=(async()=>{const t=await ne(n,a,c,e);s(t)})():s(n)};r.respond=d}"MISS"!==o.status||f.stop||te(t,o.key,!0,o.rule.ttl)}}}const h=p?{kind:"single",preChain:p}:void 0!==c?(()=>{const t=Y(c,Q(r.ingest));return 0===t.length?{kind:"single",preChain:[]}:1===t.length?{kind:"single",preChain:Ae(t[0],Se(e.transformers))}:{kind:"many",branches:t.map(t=>Ae(t,Se(e.transformers)))}})():{kind:"single",preChain:[]};let m={ok:!0};for(const n of d)"many"===h.kind?(await Promise.all(h.branches.map((a,i)=>N(async()=>v?y(n):y(n,{...o,id:t,ingest:Ee(r.ingest,`${t}.${i}`),respond:void 0,mapping:s,preChain:a}),t=>(e.logger.scope("source:many").error(`many branch ${i} failed`,{error:t}),{ok:!0}))())),m={ok:!0}):m=v?await y(n):await y(n,{...o,id:t,ingest:r.ingest,respond:r.respond,mapping:s,preChain:h.preChain});return i&&await i,m},b=async n=>{const o=h(t);if(!s.ingest||void 0===n)return o;const r=await K(n,s.ingest,{collector:e});return{...o,...r,_meta:o._meta}},k=e.logger.scope("source").scope(t),O={command:e.command,sources:e.sources,elb:e.sources.elb.push,logger:k,...a,push:async(e,n={})=>{const o={ingest:h(t),respond:void 0};return w(e,n,o)}},j={collector:e,logger:k,id:t,config:s,env:O,withScope:async(e,t,n)=>{const o={ingest:await b(e),respond:t};return n({...O,push:(e,t={})=>w(e,t,o),ingest:o.ingest,respond:o.respond})}},x=await N(r,n=>{if(n instanceof z)throw n;e.status.failed++,e.logger.scope("source").error("source factory failed",{sourceId:t,error:n})})(j);if(!x)return;const I=x.type||"unknown",S=e.logger.scope(I).scope(t);return O.logger=S,i&&(x.config={...x.config,primary:i}),x}function Re(e,t,n,o){if(n instanceof z)throw n;e.logger.scope("on").error("on callback failed",{kind:t,...o,error:n})}function Ne(e,t){return{collector:e,logger:e.logger.scope("on").scope(String(t))}}function ze(e,t,n,o,r){if(!t.on)return;const s=t.type||"unknown",a=e.logger.scope(s).scope("on").scope(o),i={collector:e,logger:a,id:n,config:t.config,data:r,env:ot(t.env,t.config.env)};R(t.on,t=>Re(e,"destination",t,{destId:n,type:o}))(o,i)}function Ke(e,t,n,o){let r;switch(t){case je.Consent:r=o||e.consent;break;case je.Session:r=e.session;break;case je.User:r=o||e.user;break;case je.Custom:r=o||e.custom;break;case je.Globals:r=o||e.globals;break;case je.Config:r=o||e.config;break;case je.Ready:case je.Run:default:r=void 0}if(n.length)switch(t){case je.Consent:!function(e,t,n){const o=n||e.consent,r=Ne(e,je.Consent);t.forEach(t=>{Object.keys(o).filter(e=>e in t).forEach(n=>{R(t[n],t=>Re(e,"consent",t,{key:n}))(o,r)})})}(e,n,o);break;case je.Ready:!function(e,t){if(!e.allowed)return;const n=Ne(e,je.Ready);t.forEach(t=>{R(t,t=>Re(e,"ready",t))(void 0,n)})}(e,n);break;case je.Run:!function(e,t){if(!e.allowed)return;const n=Ne(e,je.Run);t.forEach(t=>{R(t,t=>Re(e,"run",t))(void 0,n)})}(e,n);break;case je.Session:!function(e,t){if(!e.session)return;const n=Ne(e,je.Session);t.forEach(t=>{R(t,t=>Re(e,"session",t))(e.session,n)})}(e,n);break;default:{const o=Ne(e,t);n.forEach(n=>{"function"==typeof n&&R(n,n=>Re(e,"generic",n,{type:t}))(r,o)});break}}}function Ue(e,t,n,o){var r;if(!Number.isFinite(n.max)||n.max<=0)throw new Error(`pushBounded: max must be > 0 (got ${n.max})`);if("dropNewest"===(null!=(r=n.onOverflow)?r:"dropOldest"))return e.length>=n.max?(o&&o([t]),{appended:!1,dropped:1}):(e.push(t),{appended:!0,dropped:0});const s=[];for(;e.length>=n.max;)s.push(e.shift());return e.push(t),s.length>0&&o&&o(s),{appended:!0,dropped:s.length}}var Be=new WeakMap;function He(e,t,n,o){Be.get(e)||(Be.set(e,!0),t.warn(n,o))}function Fe(e){Be.delete(e)}var Ge=Object.freeze({batched:!0});function We(e){return e===Ge}function Ve(e){return void 0===e?{}:"number"==typeof e?{wait:e}:{wait:e.wait,size:e.size,age:e.age}}function Je(e,t){return e.status.destinations[t]||(e.status.destinations[t]={count:0,failed:0,duration:0,queuePushSize:0,dlqSize:0}),e.status.destinations[t]}function Ye(e,t,n,o){var r;e.dropped[t]||(e.dropped[t]={});const s=e.dropped[t];return s[n]=(null!=(r=s[n])?r:0)+o,s[n]}function Ze(e,t,n){if(!e)return[];if(Array.isArray(e)&&e.every(e=>"string"==typeof e))return Ae(e,t);if("string"==typeof e)return Ae(e,t);const o=Y(e,Q(n));return 0===o.length?[]:1===o.length?Ae(o[0],t):Ae(o,t)}async function Qe(e,t,n={},o){var r,s,a,i,u,l;const{allowed:d,consent:f,globals:p,user:g}=e;if(!d)return tt({ok:!1});if(t){const n=e.config.queueMax;if(void 0===n)throw new Error("Collector.Config.queueMax is undefined; defaults must be seeded by collector()");const o=Ue(e.queue,t,{max:n});if(o.dropped>0){const t=Ye(e.status,c("collector"),"queue",o.dropped);He(e.queue,e.logger,"collector.queue overflow; oldest events dropped",{buffer:"queue",cap:n,droppedCount:t})}else e.queue.length<n&&Fe(e.queue);e.status.in++}o||(o=e.destinations);const m=e.transformers?Se(e.transformers):{},v=await Promise.all(Object.entries(o||{}).map(async([o,r])=>{var s,a,i,u;if(r.config.disabled)return{id:o,destination:r,skipped:!0};let l=(r.queuePush||[]).map(e=>({...e,consent:f}));r.queuePush=[],t&&l.push(j(t));const d=n.ingest?{...n.ingest,_meta:{...n.ingest._meta,path:[...n.ingest._meta.path]}}:h("unknown");if(!l.length&&!(null==(s=r.queueOn)?void 0:s.length))return{id:o,destination:r,skipped:!0};if(!l.length&&(null==(a=r.queueOn)?void 0:a.length)){let t=!1;try{t=await Xe(e,r,o)}catch(t){e.status.failed++;const n=r.type||"unknown";e.logger.scope(n).error("destination init failed",{error:t instanceof Error?t.message:String(t)})}return{id:o,destination:r,skipped:!t}}const v=[],w=l.filter(t=>{const n=A(r.config.consent,f,t.consent);if(n)return t.consent=n,v.push(t),!1;const s=xe(e,{stepId:c("destination",o),stepType:"destination",phase:"skip",eventId:"string"==typeof t.id?t.id:"",now:Date.now()});return s.skipReason="consent",f&&(s.consent={...f}),r.config.consent&&(s.meta={required:{...r.config.consent}}),F(e,s),!0});if(w.length>0){const t=r.queuePush,n=r.config.id||o,s={max:null!=(i=r.config.queueMax)?i:1e3};let a=0;for(const e of w)a+=Ue(t,e,s).dropped;if(a>0){Je(e,n);const o=Ye(e.status,c("destination",n),"queue",a);He(t,e.logger.scope(r.type||"unknown"),"destination.queuePush overflow; oldest events dropped",{buffer:"queuePush",destination:n,cap:s.max,droppedCount:o})}else t.length<s.max&&Fe(t)}if(!v.length)return{id:o,destination:r,queue:l};let b,k,O=!1;try{O=await Xe(e,r,o)}catch(t){e.status.failed++;const n=r.type||"unknown";e.logger.scope(n).error("destination init failed",{error:t instanceof Error?t.message:String(t)})}if(!O)return{id:o,destination:r,queue:l};r.dlq||(r.dlq=[]);const x=Ze(r.config.before,m,d),I=r.config.next,S=null==(u=r.config)?void 0:u.cache,_=S?X(S):void 0,q=_?Ie(_,e):void 0;let $=0,E=0;return await Promise.all(v.map(async t=>{let s;if(t.globals=y(p,t.globals),t.user=y(g,t.user),(null==_?void 0:_.stop)&&q){const e=Q(d,t),n=await ee(_,q,e);if("HIT"===(null==n?void 0:n.status))return t;"MISS"===(null==n?void 0:n.status)&&(s={key:n.key,ttl:n.rule.ttl})}let a=t,i=n.respond;if(x.length>0&&e.transformers&&Object.keys(e.transformers).length>0){const r=await De(e,e.transformers,x,t,d,n.respond,`destination.${o}.before`);if(null===r.event)return t;r.respond&&(i=r.respond),a=Array.isArray(r.event)?r.event[0]:r.event}if(_&&!_.stop&&q){const e=Q(d,a),n=await ee(_,q,e);if("HIT"===(null==n?void 0:n.status))return t;"MISS"===(null==n?void 0:n.status)&&(s={key:n.key,ttl:n.rule.ttl})}const u=Date.now();let l=!1;const f=await N(et,t=>{var n;const s=r.type||"unknown";e.logger.scope(s).error("Push failed",{error:t,event:a.name}),b=t,l=!0;const i=r.dlq,u=r.config.id||o,d={max:null!=(n=r.config.dlqMax)?n:100},f=Ue(i,[a,t],d);if(f.dropped>0){Je(e,u);const t=Ye(e.status,c("destination",u),"dlq",f.dropped);He(i,e.logger.scope(r.type||"unknown"),"destination.dlq overflow; oldest entries dropped",{buffer:"dlq",destination:u,cap:d.max,droppedCount:t})}else i.length<d.max&&Fe(i)})(e,r,o,a,d,i);if($+=Date.now()-u,s&&q&&void 0===r.config.mock&&te(q,s.key,null==f||f,s.ttl),void 0===f||We(f)||(k=f),We(f)&&E++,!l&&I){void 0!==f&&(d._response=f);const t=Ze(I,m,d);if(t.length>0&&e.transformers&&Object.keys(e.transformers).length>0){const n=await De(e,e.transformers,t,a,d,i,`destination.${o}.next`);n.respond&&(i=n.respond)}}return t})),{id:o,destination:r,error:b,response:k,totalDuration:$,batchedCount:E,allowedCount:v.length}})),w={},b={},k={};for(const t of v){if(t.skipped)continue;const n=t.destination,o={type:n.type||"unknown",data:t.response};Je(e,t.id);const c=e.status.destinations[t.id],d=Date.now();if(c.queuePushSize=null!=(s=null==(r=n.queuePush)?void 0:r.length)?s:0,c.dlqSize=null!=(i=null==(a=n.dlq)?void 0:a.length)?i:0,t.error)o.error=t.error,k[t.id]=o,c.failed++,c.lastAt=d,c.duration+=t.totalDuration||0,e.status.failed++;else if(t.queue&&t.queue.length)b[t.id]=o;else{const n=null!=(u=t.batchedCount)?u:0,r=null!=(l=t.allowedCount)?l:0;(Math.max(0,r-n)>0||0===r)&&(w[t.id]=o,c.count++,c.lastAt=d,c.duration+=t.totalDuration||0,e.status.out++)}}return tt({event:t,...Object.keys(w).length&&{done:w},...Object.keys(b).length&&{queued:b},...Object.keys(k).length&&{failed:k}})}async function Xe(e,t,n){var o;if(t.init&&!t.config.init){const r=t.type||"unknown",s=e.logger.scope(r),a={collector:e,logger:s,id:n,config:t.config,env:ot(t.env,t.config.env)};s.debug("init");const i=Date.now();let u;F(e,xe(e,{stepId:c("destination",n),stepType:"destination",phase:"init",eventId:"",now:i}));try{u=await H(t.init,"DestinationInit",e.hooks,e.logger)(a)}catch(t){const o=Date.now(),r=xe(e,{stepId:c("destination",n),stepType:"destination",phase:"error",eventId:"",now:o});throw r.durationMs=o-i,r.error=t instanceof Error?{name:t.name,message:t.message}:{message:String(t)},F(e,r),t}if(!1===u)return u;if(t.config={...u||t.config,init:!0},null==(o=t.queueOn)?void 0:o.length){const o=t.queueOn;t.queueOn=[];for(const{type:r,data:s}of o)ze(e,t,n,r,s)}s.debug("init done")}return!0}async function et(e,t,n,o,r,s){var a,i,u,l,d,f,p;const{config:g}=t,h=await B(o,g,e);if(h.ignore)return!1;const m=t.type||"unknown",y=e.logger.scope(m),v={collector:e,logger:y,id:n,config:g,data:h.data,rule:h.mapping,ingest:r,env:{...ot(t.env,g.env),...s?{respond:s}:{}}};if(void 0!==g.mock)return y.debug("mock",{event:h.event.name}),g.mock;const b=h.mapping,k=h.mappingKey||"* *";if((null==b?void 0:b.batch)&&t.pushBatch&&void 0===g.mock){if(t.batches=t.batches||{},!t.batches[k]){const o={key:k,entries:[],events:[],data:[]},r=Ve(b.batch),s=Ve(g.batch),p=null!=(i=null!=(a=r.wait)?a:s.wait)?i:3e4,h=null!=(l=null!=(u=r.size)?u:s.size)?l:1e3,m=null!=(f=null!=(d=r.age)?d:s.age)?f:3e4,v=ot(t.env,g.env),w=function(e,t=1e3,n=!1){const{wait:o,size:r,age:s}=function(e,t){var n;return"number"==typeof e?{wait:e}:e?{wait:null!=(n=e.wait)?n:t,size:e.size,age:e.age}:{wait:t}}(t,1e3);let a,i,c=null,u=null,l=!1,d=[],f=0;const p=()=>{c&&(clearTimeout(c),c=null),u&&(clearTimeout(u),u=null),f=0,i=void 0},g=()=>{const t=i,n=d;if(p(),d=[],t)return a=e(...t),n.forEach(e=>e(a)),a;n.forEach(e=>e(void 0))},h=(...t)=>new Promise(p=>{const h=n&&!l;if(i=t,f+=1,d.push(p),c&&clearTimeout(c),c=setTimeout(()=>{c=null,n&&!l||g()},o),void 0===s||u||(u=setTimeout(()=>{u=null,g()},s)),void 0!==r&&f>=r)g();else if(h){l=!0,a=e(...t);const n=d;d=[],n.forEach(e=>e(a))}});return h.flush=()=>i||0!==d.length?new Promise(e=>{d.push(e),g()}):Promise.resolve(void 0),h.cancel=()=>{const e=d;d=[],p(),e.forEach(e=>e(void 0))},h.size=()=>f,h}(async()=>{var o;const r=t.batches[k].batched;if(0===r.entries.length)return;const s={key:r.key,entries:r.entries,events:r.events,data:r.data};r.entries=[],r.events=[],r.data=[];const a=s.entries[0],i={collector:e,logger:y,id:n,config:g,data:void 0,rule:a.rule,ingest:a.ingest,env:{...v,...a.respond?{respond:a.respond}:{}}};y.debug("push batch",{events:s.entries.length});const u=t.config.id||n,l=Je(e,u),d=Date.now(),f=xe(e,{stepId:c("destination",n),stepType:"destination",phase:"flush",eventId:"",now:d});f.batch={size:s.entries.length,index:0},F(e,f);let p=!0;await N(H(t.pushBatch,"DestinationPushBatch",e.hooks,e.logger),o=>{var r;p=!1;const a=Date.now(),i=xe(e,{stepId:c("destination",n),stepType:"destination",phase:"error",eventId:"",now:a});i.durationMs=a-d,i.error=o instanceof Error?{name:o.name,message:o.message}:{message:String(o)},i.batch={size:s.entries.length,index:0},F(e,i);const f=t.dlq=t.dlq||[],g={max:null!=(r=t.config.dlqMax)?r:100};let h=0;for(const e of s.entries)h+=Ue(f,[e.event,o],g).dropped;if(h>0){const t=Ye(e.status,c("destination",u),"dlq",h);He(f,y,"destination.dlq overflow; oldest entries dropped",{buffer:"dlq",destination:u,cap:g.max,droppedCount:t})}else f.length<g.max&&Fe(f);l.failed+=s.entries.length,l.dlqSize=f.length,e.status.failed+=s.entries.length,y.error("Push batch failed",{error:o instanceof Error?o.message:String(o),entries:s.entries.length})})(s,i),y.debug("push batch done"),l.inFlightBatch=Math.max(0,(null!=(o=l.inFlightBatch)?o:0)-s.entries.length),p&&(l.count+=s.entries.length,l.lastAt=Date.now(),e.status.out+=s.entries.length)},{wait:p,size:h,age:m});t.batches[k]={batched:o,batchFn:()=>{w()},flush:async()=>{await w.flush()}}}const o=t.batches[k];o.batched.entries.push({event:h.event,ingest:r,respond:s,rule:b,data:h.data}),o.batched.events.push(h.event),w(h.data)&&o.batched.data.push(h.data);const m=t.config.id||n,v=Je(e,m);return v.inFlightBatch=(null!=(p=v.inFlightBatch)?p:0)+1,o.batchFn(),Ge}{y.debug("push",{event:h.event.name});const o="string"==typeof h.event.id?h.event.id:"",r=Date.now(),s=xe(e,{stepId:c("destination",n),stepType:"destination",phase:"in",eventId:o,now:r});h.mappingKey&&(s.mappingKey=h.mappingKey),h.event.consent&&(s.consent={...h.event.consent}),F(e,s);try{const s=await H(t.push,"DestinationPush",e.hooks,e.logger)(h.event,v),a=Date.now(),i=xe(e,{stepId:c("destination",n),stepType:"destination",phase:"out",eventId:o,now:a});return i.durationMs=a-r,i.outEvent=s,h.mappingKey&&(i.mappingKey=h.mappingKey),F(e,i),y.debug("push done"),s}catch(t){const s=Date.now(),a=xe(e,{stepId:c("destination",n),stepType:"destination",phase:"error",eventId:o,now:s});throw a.durationMs=s-r,a.error=t instanceof Error?{name:t.name,message:t.message}:{message:String(t)},h.mappingKey&&(a.mappingKey=h.mappingKey),F(e,a),t}}}function tt(e){return{ok:!(null==e?void 0:e.failed),...e}}function nt(e){const{code:t,config:n={},env:o={},cache:r}=e,{config:s}=_e(e,"before"),{config:a}=_e({...e,config:s},"next"),i={...t.config,...n,...a};r&&(i.cache=r);const c=ot(t.env,o);return{...t,config:i,env:c}}function ot(e,t){return e||t?t?e&&k(e)&&k(t)?{...e,...t}:t:e:{}}async function rt(e,t,n){const o=Object.entries(e).map(async([e,o])=>{var r;const s=o.destroy;if(!s)return;const a=o.type||"unknown",i=n.scope(a),c={id:e,config:o.config,env:null!=(r=o.env)?r:{},logger:i};try{await Promise.race([s(c),new Promise((n,o)=>setTimeout(()=>o(new Error(`${t} '${e}' destroy timed out`)),5e3))])}catch(n){i.error(`${t} '${e}' destroy failed: ${n}`)}});await Promise.allSettled(o)}async function st(e,t,n){let o,r,s=!1;switch(t){case je.Config:k(n)&&(y(e.config,n,{shallow:!1}),r=n,s=!0);break;case je.Consent:if(k(n)){const{update:t}=function(e,t){const n={};return Object.entries(t).forEach(([e,t])=>{n[e]=!!t}),e.consent=y(e.consent,n),{update:n}}(e,n);r=t,s=!0}break;case je.Custom:k(n)&&(e.custom=y(e.custom,n),r=n,s=!0);break;case je.Destination:k(n)&&"code"in n&&k(n.code)&&(o=await async function(e,t){const{code:n,config:o={},env:r={},before:s,next:a,cache:i}=t;if(!b(n.push))return tt({ok:!1,failed:{invalid:{type:"invalid",error:"Destination code must have a push method"}}});const c=o||{init:!1};let u=s?{...c,before:s}:{...c};a&&(u={...u,next:a}),i&&(u={...u,cache:i});const l={...n,config:u,env:ot(n.env,r)};let d=l.config.id;if(!d)do{d=$(5,"abcdefghijklmnopqrstuvwxyz")}while(e.destinations[d]);return e.destinations[d]=l,!1!==l.config.queue&&(l.queuePush=[...e.queue]),Qe(e,void 0,{},{[d]:l})}(e,n));break;case je.Globals:k(n)&&(e.globals=y(e.globals,n),r=n,s=!0);break;case je.Hook:if(k(n)&&O(n.name)&&b(n.fn)){const{name:t,fn:o}=n;e.hooks[t]=o,r=n,s=!0}break;case je.On:if(k(n)&&O(n.type)){const{type:t,rules:o}=n;await async function(e,t,n){const o=e.on,r=o[t]||[],s=v(n)?n:[n];s.forEach(e=>{r.push(e)}),o[t]=r,Ke(e,t,s)}(e,t,o)}break;case je.Ready:s=!0;break;case je.Run:o=await async function(e,t){return e.allowed=!0,e.timing=Date.now(),t&&(t.consent&&(e.consent=y(e.consent,t.consent)),t.user&&(e.user=y(e.user,t.user)),t.globals&&(e.globals=y(e.config.globalsStatic||{},t.globals)),t.custom&&(e.custom=y(e.custom,t.custom))),Object.values(e.destinations).forEach(e=>{e.queuePush=[]}),e.queue=[],e.round++,await Qe(e)}(e,n),s=!0;break;case je.Session:s=!0;break;case je.Shutdown:await async function(e){const t=e.logger;await rt(e.sources,"source",t),await rt(e.destinations,"destination",t),await rt(e.transformers,"transformer",t),await rt(e.stores,"store",t)}(e);break;case je.User:k(n)&&(y(e.user,n,{shallow:!1}),r=n,s=!0)}return s&&(await async function(e,t,n,o){var r,s;let a,i=n||[];switch(n||(i=e.on[t]||[]),t){case je.Consent:a=o||e.consent;break;case je.Session:a=e.session;break;case je.User:a=o||e.user;break;case je.Custom:a=o||e.custom;break;case je.Globals:a=o||e.globals;break;case je.Config:a=o||e.config;break;case je.Ready:case je.Run:default:a=void 0}let c=!1;for(const[n,o]of Object.entries(e.sources)){if(null==(r=o.config.require)?void 0:r.length){const e=o.config.require.indexOf(t);-1!==e&&o.config.require.splice(e,1)}o.on&&(Ce(o)?!1===await N(o.on,o=>Re(e,"source",o,{sourceId:n,type:t}))(t,a)&&(c=!0):(o.queueOn=o.queueOn||[],o.queueOn.push({type:t,data:a})))}Object.entries(e.destinations).forEach(([n,o])=>{if(o.on){if(!o.config.init)return o.queueOn=o.queueOn||[],void o.queueOn.push({type:t,data:a});ze(e,o,n,t,a)}});for(const[t,n]of Object.entries(e.sources))Ce(n)&&(null==(s=n.queueOn)?void 0:s.length)&&await Pe(e,n,t);return Object.keys(e.pending.destinations).length>0&&await async function(e,t){var n;for(const[o,r]of Object.entries(e.pending.destinations)){if(!e.pending.destinations[o]||e.destinations[o])continue;const s=null==(n=r.config)?void 0:n.require;if(!s)continue;const a=s.indexOf(t);if(-1===a)continue;if(s.splice(a,1),s.length>0)continue;delete e.pending.destinations[o];const i=nt(r);!1!==i.config.queue&&(i.queuePush=[...e.queue]),e.destinations[o]=i}}(e,t),Ke(e,t,i,o),!c}(e,t,void 0,r),o=await Qe(e)),o||tt({ok:!0})}function at(e,t){if(!t.name)throw new Error("Event name is required");const[n,o]=t.name.split(" ");if(!n||!o)throw new Error("Event name is invalid");const{timestamp:r=Date.now(),name:s=`${n} ${o}`,data:a={},context:i={},globals:c=e.globals,custom:u={},user:l=e.user,nested:d=[],consent:f=e.consent,id:p=q(),trigger:g="",entity:h=n,action:m=o,timing:y=0,source:v={type:"collector",schema:"4"}}=t;return{name:s,data:a,context:i,globals:c,custom:u,user:l,nested:d,consent:f,id:p,trigger:g,entity:h,action:m,timestamp:r,timing:y,source:v}}function it(e={}){var t,n,o;const r=null!=(t=e.maxEntries)?t:1e4,s=null!=(n=e.lowWaterMark)?n:.8,a=null!=(o=e.sweepIntervalMs)?o:6e4,i=Math.floor(r*s),c=new Map,u={hits:0,misses:0,populates:0,writes:0,deletes:0,evictions_entries:0,evictions_ttl:0};let l;return a>0&&(l=setInterval(function(){const e=Date.now();let t=0;for(const[n,o]of c)void 0!==o.expires&&o.expires<=e&&(c.delete(n),t++);u.evictions_ttl+=t},a),l&&"function"==typeof l.unref&&l.unref()),{type:"memory",config:{},get(e){const t=c.get(e);if(t)return void 0!==t.expires&&t.expires<=Date.now()?(c.delete(e),u.evictions_ttl++,void u.misses++):(c.delete(e),c.set(e,t),u.hits++,t.value);u.misses++},set(e,t,n){const o=!c.has(e);o||c.delete(e),c.set(e,{value:t,expires:void 0!==n?Date.now()+n:void 0}),u.writes++,o&&u.populates++,c.size>r&&function(){if(c.size<=r)return;const e=c.size-i;let t=0;for(const n of c.keys()){if(t>=e)break;c.delete(n),t++}u.evictions_entries+=t}()},delete(e){c.delete(e)&&u.deletes++},get counters(){return{...u}},destroy(){void 0!==l&&(clearInterval(l),l=void 0),c.clear()}}}function ct(e,t){const{cacheConfig:n,cacheStore:o,namespace:r,logger:s,storeId:a,collector:i}=t,c=(e,t)=>{if(!i)return;const n=xe(i,{stepId:`store.${a}`,stepType:"store",phase:"in",eventId:"",now:Date.now()});n.meta={op:"cache",cached:"hit"===t,status:t,key:e},F(i,n)},u={hits:0,misses:0,populates:0,writes:0,deletes:0,inflight_dedups:0},l=n.rules.map(e=>({match:e.match?G(e.match):()=>!0,ttl:e.ttl})),d=e=>`${r}:${e}`;function f(e,t){const n=void 0===t?{key:e}:{key:e,value:t};return l.find(e=>e.match(n))}const p=new Map;return{type:e.type,config:e.config,setup:e.setup,get counters(){return{...u}},async get(t){const n=d(t),r=await o.get(n);if(void 0!==r)return u.hits++,c(t,"hit"),r;const s=p.get(n);if(s)return u.inflight_dedups++,c(t,"hit"),s;u.misses++,c(t,"miss");const a=(async()=>{try{const r=await e.get(t);if(void 0===r)return;const s=f(t,r);if(s)try{await o.set(n,r,1e3*s.ttl),u.populates++}catch(e){g("set",t,e)}return r}finally{p.delete(n)}})();return p.set(n,a),a},async set(t,n,r){u.writes++,await e.set(t,n,r);const s=f(t,n);if(s)try{await o.set(d(t),n,1e3*s.ttl)}catch(e){g("set",t,e)}},async delete(t){u.deletes++,await e.delete(t);try{await o.delete(d(t))}catch(e){g("delete",t,e)}}};function g(e,t,n){const o=`store-cache(${a}): cache ${e} failed for "${t}"; backing succeeded, continuing`;s?s.warn(o,{error:n}):console.warn(o,n)}}function ut(e,t,n){const o=`store.${n}`,r=H(t.get,"StoreGet",e.hooks,e.logger),s=H(t.set,"StoreSet",e.hooks,e.logger),a=H(t.delete,"StoreDelete",e.hooks,e.logger);t.get=async t=>{const n=Date.now(),s=xe(e,{stepId:o,stepType:"store",phase:"in",eventId:"",now:n});s.meta={op:"get",key:t},F(e,s);try{const s=await r(t),a=Date.now(),i=xe(e,{stepId:o,stepType:"store",phase:"out",eventId:"",now:a});return i.durationMs=a-n,i.meta={op:"get",key:t},F(e,i),s}catch(r){const s=Date.now(),a=xe(e,{stepId:o,stepType:"store",phase:"error",eventId:"",now:s});throw a.durationMs=s-n,a.meta={op:"get",key:t},a.error=r instanceof Error?{name:r.name,message:r.message}:{message:String(r)},F(e,a),r}},t.set=async(t,n,r)=>{const a=Date.now(),i=xe(e,{stepId:o,stepType:"store",phase:"in",eventId:"",now:a});i.meta={op:"set",key:t},F(e,i);try{await s(t,n,r);const i=Date.now(),c=xe(e,{stepId:o,stepType:"store",phase:"out",eventId:"",now:i});c.durationMs=i-a,c.meta={op:"set",key:t},F(e,c)}catch(n){const r=Date.now(),s=xe(e,{stepId:o,stepType:"store",phase:"error",eventId:"",now:r});throw s.durationMs=r-a,s.meta={op:"set",key:t},s.error=n instanceof Error?{name:n.name,message:n.message}:{message:String(n)},F(e,s),n}},t.delete=async t=>{const n=Date.now(),r=xe(e,{stepId:o,stepType:"store",phase:"in",eventId:"",now:n});r.meta={op:"delete",key:t},F(e,r);try{await a(t);const r=Date.now(),s=xe(e,{stepId:o,stepType:"store",phase:"out",eventId:"",now:r});s.durationMs=r-n,s.meta={op:"delete",key:t},F(e,s)}catch(r){const s=Date.now(),a=xe(e,{stepId:o,stepType:"store",phase:"error",eventId:"",now:s});throw a.durationMs=s-n,a.meta={op:"delete",key:t},a.error=r instanceof Error?{name:r.name,message:r.message}:{message:String(r)},F(e,a),r}}}async function lt(e){var t,n;const o=y({globalsStatic:{},sessionStatic:{},run:!0,queueMax:1e3},e,{merge:!1,extend:!1}),r=M({level:null==(t=e.logger)?void 0:t.level,handler:null==(n=e.logger)?void 0:n.handler}),s={...o.globalsStatic,...e.globals},a={allowed:!1,config:o,consent:e.consent||{},custom:e.custom||{},destinations:{},transformers:{},stores:{},globals:s,hooks:e.hooks||{},observers:new Set,logger:r,on:{},queue:[],round:0,session:void 0,status:{startedAt:Date.now(),in:0,out:0,failed:0,sources:{},destinations:{},dropped:{}},timing:Date.now(),user:e.user||{},sources:{},pending:{destinations:{}},push:void 0,command:void 0};var i,c;a.push=function(e,t){const n=H(async(n,o={})=>await N(async()=>{var r;const s=Date.now(),{id:a,ingest:i,respond:c,mapping:u,preChain:l,include:d,exclude:f}=o;let p=c,g=n;const m=d||f?function(e,t,n){let o=e;return t&&(o=Object.fromEntries(Object.entries(o).filter(([e])=>t.includes(e)))),n&&(o=Object.fromEntries(Object.entries(o).filter(([e])=>!n.includes(e)))),o}(e.destinations,d,f):void 0,y=null!=i?i:h(a||"unknown");if(u){const t=await B(g,u,e);if(t.ignore)return tt({ok:!0});if(u.consent&&!A(u.consent,e.consent,t.event.consent))return tt({ok:!0});g=t.event}if((null==l?void 0:l.length)&&e.transformers&&Object.keys(e.transformers).length>0){const n=await De(e,e.transformers,l,g,y,p,a?`source.${a}.next`:void 0);if(null===n.event)return tt({ok:!0});if(n.stopped)return n.respond&&(p=n.respond),tt({ok:!0});if(n.respond&&(p=n.respond),Array.isArray(n.event)){const o=await Promise.all(n.event.map(async n=>{const o=t(n),r=at(e,o);return Qe(e,r,{id:a,ingest:y,respond:p},m)}));if(a){e.status.sources[a]||(e.status.sources[a]={count:0,duration:0});const t=e.status.sources[a];t.count+=n.event.length,t.lastAt=Date.now(),t.duration+=Date.now()-s}return null!=(r=o[0])?r:tt({ok:!0})}g=n.event}const v=t(g),w=at(e,v),b=await Qe(e,w,{id:a,ingest:y,respond:p},m);if(a){e.status.sources[a]||(e.status.sources[a]={count:0,duration:0});const t=e.status.sources[a];t.count++,t.lastAt=Date.now(),t.duration+=Date.now()-s}return b},t=>{if(t instanceof z)throw t;return e.status.failed++,e.logger.error("push failed",{event:n,ingest:o.ingest,error:t}),tt({ok:!1})})(),"Push",e.hooks,e.logger);return async(t,o)=>{const r="string"==typeof t.id?t.id:"",s=Date.now();F(e,xe(e,{stepId:"collector.push",stepType:"collector",phase:"in",eventId:r,now:s}));try{const a=await n(t,o),i=Date.now(),c=xe(e,{stepId:"collector.push",stepType:"collector",phase:"out",eventId:r,now:i});return c.durationMs=i-s,c.outEvent=a,F(e,c),a}catch(t){const n=Date.now(),o=xe(e,{stepId:"collector.push",stepType:"collector",phase:"error",eventId:r,now:n});throw o.durationMs=n-s,o.error=t instanceof Error?{name:t.name,message:t.message}:{message:String(t)},F(e,o),t}}}(a,e=>({timing:Math.round((Date.now()-a.timing)/10)/100,source:{type:"collector",schema:"4",version:"4.1.2"},...e})),a.command=(c=st,H(async(e,t,n)=>await N(async()=>await c(i,e,t,n),n=>{if(n instanceof z)throw n;return i.status.failed++,i.logger.error("command failed",{command:e,data:t,error:n}),tt({ok:!1})})(),"Command",(i=a).hooks,i.logger));const u=e.stores||{};return a.stores=await async function(e,t={}){var n;const o={};for(const[n,r]of Object.entries(t)){const{code:t,config:s={},env:a={}}=r,i=e.logger.scope("store").scope(n),c={collector:e,logger:i,id:n,config:s,env:a},u=await t(c);o[n]=u}const r=t,s=function(e){const t={};for(const n of Object.keys(e))t[n]="WHITE";const n=[],o=[];function r(s){var a;const i=t[s];if("BLACK"===i)return;if("GRAY"===i){const e=o.indexOf(s),t=o.slice(-1===e?0:e).concat(s).join(" -> ");throw new Error(`Cycle in cache.store chain: ${t}`)}t[s]="GRAY",o.push(s);const c=null==(a=e[s].cache)?void 0:a.store;if(void 0!==c){if(!(c in e))throw new Error(`Store "${s}" cache.store references "${c}", which is not declared in flow.stores`);r(c)}o.pop(),t[s]="BLACK",n.push(s)}for(const n of Object.keys(e))"WHITE"===t[n]&&r(n);return n}(r);for(const t of s){const s=r[t].cache;if(!s)continue;let a,i;void 0!==s.store?(a=o[s.store],i=s.store):(o.__cache||(o.__cache=it()),a=o.__cache,i="__cache");const c=null!=(n=s.namespace)?n:t;e.logger.scope("store-cache").scope(t).info(`store "${t}" caches with namespace "${c}:" via ${i}`),o[t]=ct(o[t],{storeId:t,cacheConfig:s,cacheStore:a,namespace:c,logger:e.logger.scope("store-cache").scope(t),collector:e})}for(const[t,n]of Object.entries(o))"__cache"!==t&&ut(e,n,t);return o}(a,u),function(e,t,n){const o=new Map;for(const[n,r]of Object.entries(e))t[n]&&o.set(r,t[n]);if(0!==o.size)for(const e of[n.transformers,n.destinations,n.sources])if(e)for(const t of Object.values(e))r(t.env);function r(e){if(e)for(const[t,n]of Object.entries(e))if("object"==typeof n&&null!==n){const r=o.get(n);r&&(e[t]=r)}}}(u,a.stores,e),a.stores.__cache||(a.stores.__cache=it()),a.destinations=await async function(e,t={}){var n,o;const r={};for(const[s,a]of Object.entries(t))(null==(o=null==(n=a.config)?void 0:n.require)?void 0:o.length)?e.pending.destinations[s]=a:r[s]=nt(a);return r}(a,e.destinations||{}),a.transformers=await async function(e,t={}){var n,o,r,s;const a={};for(const[i,c]of Object.entries(t)){const{code:t,env:u={}}=c,l=ie(c,"Transformer");if(!l.ok){e.logger.warn(`Transformer ${i} invalid (${l.code}): ${l.reason}. Skipping.`);continue}const{config:d}=_e(c,"before"),{config:f}=_e({...c,config:d},"next"),p=Object.keys(u).length>0?{...f,env:u}:f,{cache:g}=c,m=g?{...p,cache:g}:p,y=e.logger.scope("transformer").scope(i),v={collector:e,logger:y,id:i,ingest:h(i),config:m,env:u},w=null!=t?t:e=>{const t=c.mapping;if(t){const n=[];if(void 0!==t.data&&n.push("data"),t.mapping)for(const[e,o]of Object.entries(t.mapping))if("object"==typeof o&&null!==o)for(const[t,r]of Object.entries(o)){if("object"!=typeof r||null===r)continue;const o=r;void 0!==o.data&&n.push(`mapping[${e}][${t}].data`),void 0!==o.silent&&n.push(`mapping[${e}][${t}].silent`)}return n.length>0&&e.collector.logger.warn(`Transformer ${i}: \`${n.join(", ")}\` ignored at transformer position (only event-mutating fields apply).`),{type:"pass",config:e.config,push:async n=>{const o=await B(n,t,e.collector);return!o.ignore&&{event:o.event}}}}return{type:"pass",config:e.config,push:e=>({event:e})}},b=await w(v);void 0!==c.before&&void 0===(null==(n=b.config)?void 0:n.before)&&(b.config={...null!=(o=b.config)?o:{},before:c.before}),void 0!==c.next&&void 0===(null==(r=b.config)?void 0:r.next)&&(b.config={...null!=(s=b.config)?s:{},next:c.next}),a[i]=b}return a}(a,e.transformers||{}),a}async function dt(e){e=e||{};const t=await lt(e),n=(o=t,{type:"elb",config:{},push:async(e,t,n,r,s)=>{if("string"==typeof e&&e.startsWith("walker ")){const n=e.replace("walker ","");return o.command(n,t)}let a;if("string"==typeof e)a={name:e},t&&"object"==typeof t&&!Array.isArray(t)&&(a.data=t);else{if(!e||"object"!=typeof e)return tt({ok:!1});a=e,t&&"object"==typeof t&&!Array.isArray(t)&&(a.data={...a.data||{},...t})}return n&&"object"==typeof n&&(a.context=n),r&&Array.isArray(r)&&(a.nested=r),s&&"object"==typeof s&&(a.custom=s),o.push(a)}});var o;t.sources.elb=n,await async function(e,t={}){var n;const o={};for(const[r,s]of Object.entries(t)){const t=await Le(e,r,s);if(!t)continue;const a=null==(n=s.config)?void 0:n.require;t.config={...t.config,init:!1,...a?{require:[...a]}:{}},o[r]=t}Object.assign(e.sources,o);for(const t of Object.keys(o)){const n=e.sources[t];let o=!1;n.init&&await N(n.init.bind(n),n=>{if(n instanceof z)throw n;o=!0,e.status.failed++,e.logger.scope("source").error("source init failed",{sourceId:t,error:n})})(),o||(n.config.init=!0,Ce(n)&&await Pe(e,n,t))}return o}(t,e.sources||{});const{consent:r,user:s,globals:a,custom:i}=e;r&&await t.command("consent",r),s&&await t.command("user",s),a&&Object.assign(t.globals,a),i&&Object.assign(t.custom,i),t.config.run&&await t.command("run");let c=n.push;const u=Object.values(t.sources).filter(e=>"elb"!==e.type),l=u.find(e=>e.config.primary);return l?c=l.push:u.length>0&&(c=u[0].push),{collector:t,elb:c}}var ft,pt=async e=>{let t;return{get flow(){return t},trigger:()=>async n=>{var o,r;if(!t){const n={...e};if(n.sources){n.sources={...n.sources};for(const[e,t]of Object.entries(n.sources))(null==(o=t.env)?void 0:o.window)||(n.sources[e]={...t,env:{...t.env,window:window}})}const s=await dt({...n,run:null==(r=n.run)||r});t={collector:s.collector,elb:s.elb}}const s=window;s.dataLayer||(s.dataLayer=[]),s.dataLayer.push(n)}}},gt=(e,t)=>{const n=t.window;n.dataLayer||(n.dataLayer=[]),n.dataLayer.push(e)},ht=async e=>{const{config:t,env:n}=e,{elb:o,window:r}=n,s={name:"dataLayer",prefix:"dataLayer",...null==t?void 0:t.settings},a={settings:s};let i=0;return{type:"dataLayer",config:a,push:o,on:async e=>{if("run"===e&&r&&i>0){!function(e,t,n,o=globalThis.window){const r=t.settings,s=o[(null==r?void 0:r.name)||"dataLayer"];if(Array.isArray(s)&&!ce){ce=!0;try{const t=null!=n?n:s.length;for(let n=0;n<t;n++)ue(e,r,s[n])}finally{ce=!1}}}(o,a,i,r),i=0}},init:()=>{if(!r)return;const e=s.name||"dataLayer",t=r[e];i=Array.isArray(t)?t.length:0;!function(e,t,n=globalThis.window){const o=t.settings,r=(null==o?void 0:o.name)||"dataLayer";n[r]||(n[r]=[]);const s=n[r];if(!Array.isArray(s))return;const a=s.push.bind(s);s.push=function(...t){if(ce)return a(...t);ce=!0;try{for(const n of t)ue(e,o,n)}finally{ce=!1}return a(...t)}}(o,a,r)},destroy:async()=>{const e=s.name||"dataLayer";r&&r[e]&&Array.isArray(r[e])}}},mt=ht;return ft=s,((r,s,a,i)=>{if(s&&"object"==typeof s||"function"==typeof s)for(let c of n(s))o.call(r,c)||c===a||e(r,c,{get:()=>s[c],enumerable:!(i=t(s,c))||i.enumerable});return r})(e({},"__esModule",{value:!0}),ft)})();
1
+ "use strict";var Destination=(()=>{var e=Object.defineProperty,t=Object.getOwnPropertyDescriptor,n=Object.getOwnPropertyNames,o=Object.prototype.hasOwnProperty,r=(t,n)=>{for(var o in n)e(t,o,{get:n[o],enumerable:!0})},s={};r(s,{SourceDataLayer:()=>ge,createTrigger:()=>vt,default:()=>bt,env:()=>he,sourceDataLayer:()=>wt,step:()=>be,trigger:()=>yt});var a=Object.defineProperty,i=(e,t)=>{for(var n in t)a(e,n,{get:t[n],enumerable:!0})};function c(e,t){if("collector"===e)return"collector";if(!t)throw new Error(`stepId(${e}) requires an id`);return`${e}.${t}`}i({},{stepId:()=>c});function u(e,t){const n=e.destinations[t];if(!n)throw new Error(`Destination not found: ${t}`);return n}i({},{getDestination:()=>u});i({},{Level:()=>d});var l,d=((l=d||{})[l.ERROR=0]="ERROR",l[l.WARN=1]="WARN",l[l.INFO=2]="INFO",l[l.DEBUG=3]="DEBUG",l);function f(e,t){const n=e.transformers[t];if(!n)throw new Error(`Transformer not found: ${t}`);return n}i({},{getTransformer:()=>f});function p(e,t){const n=e.sources[t];if(!n)throw new Error(`Source not found: ${t}`);return n}i({},{getSource:()=>p});function g(e,t){const n=e.stores[t];if(!n)throw new Error(`Store not found: ${t}`);return n}function h(e){return{_meta:{hops:0,path:[e]}}}i({},{getStore:()=>g});var m={merge:!0,shallow:!0,extend:!0};function v(e,t={},n={}){n={...m,...n};const o=Object.entries(t).reduce((t,[o,r])=>{const s=e[o];return n.merge&&Array.isArray(s)&&Array.isArray(r)?t[o]=r.reduce((e,t)=>e.includes(t)?e:[...e,t],[...s]):(n.extend||o in e)&&(t[o]=r),t},{});return n.shallow?{...e,...o}:(Object.assign(e,o),e)}function y(e){return Array.isArray(e)}function w(e){return void 0!==e}function b(e){return"function"==typeof e}function k(e){return"object"==typeof e&&null!==e&&!y(e)&&"[object Object]"===Object.prototype.toString.call(e)}function O(e){return"string"==typeof e}function j(e,t=new WeakMap){if("object"!=typeof e||null===e)return e;if(t.has(e))return t.get(e);const n=Object.prototype.toString.call(e);if("[object Object]"===n){const n={};t.set(e,n);for(const o in e)Object.prototype.hasOwnProperty.call(e,o)&&(n[o]=j(e[o],t));return n}if("[object Array]"===n){const n=[];return t.set(e,n),e.forEach(e=>{n.push(j(e,t))}),n}if("[object Date]"===n)return new Date(e.getTime());if("[object RegExp]"===n){const t=e;return new RegExp(t.source,t.flags)}return e}function x(e,t="",n){const o=t.split(".");let r=e;for(let e=0;e<o.length;e++){const t=o[e];if("*"===t&&y(r)){const t=o.slice(e+1).join("."),s=[];for(const e of r){const o=x(e,t,n);s.push(o)}return s}if(r=k(r)||y(r)?r[t]:void 0,void 0===r)break}return w(r)?r:n}function I(e,t,n){if(!k(e))return e;const o=j(e),r=t.split(".");let s=o;for(let e=0;e<r.length;e++){const t=r[e];e===r.length-1?s[t]=n:(t in s&&"object"==typeof s[t]&&null!==s[t]||(s[t]={}),s=s[t])}return o}function S(e,t){if(!k(e)&&!y(e))return e;const n=j(e),o=t.split(".");let r=n;for(let e=0;e<o.length;e++){const t=o[e],s=e===o.length-1;if(y(r)){const e=Number(t);if(!Number.isInteger(e)||e<0||e>=r.length)return n;if(s)r.splice(e,1);else{const t=r[e];if(!k(t)&&!y(t))return n;r=t}}else if(s)delete r[t];else{const e=r[t];if(!k(e)&&!y(e))return n;r=e}}return n}var _={data:e=>e.data,globals:e=>e.globals,context:e=>e.context,user:e=>e.user,source:e=>e.source,event:e=>({entity:e.entity,action:e.action,id:e.id,timestamp:e.timestamp,name:e.name,trigger:e.trigger,timing:e.timing})};function A(e,t={},n={}){const o={...t,...n},r={};let s=!e||0===Object.keys(e).length;return Object.keys(o).forEach(t=>{o[t]&&(r[t]=!0,e&&e[t]&&(s=!0))}),!!s&&r}function q(){let e="";for(let t=0;t<16;t++)e+=(16*Math.random()|0).toString(16);return e}function $(e=6,t){if(t){const n=t.length;let o="";for(let r=0;r<e;r++)o+=t[Math.random()*n|0];return o}let n="";for(let t=36;n.length<e;)n+=(Math.random()*t|0).toString(t);return n}function E(e){return{message:e.message,name:e.name,stack:e.stack,cause:e.cause}}function D(e,t){let n,o={};return e instanceof Error?(n=e.message,o.error=E(e)):n=e,void 0!==t&&(t instanceof Error?o.error=E(t):"object"==typeof t&&null!==t?(o={...o,...t},"error"in o&&o.error instanceof Error&&(o.error=E(o.error))):o.value=t),{message:n,context:o}}var T=(e,t,n,o)=>{const r=`${d[e]}${o.length>0?` [${o.join(":")}]`:""}`,s=Object.keys(n).length>0,a=0===e?console.error:1===e?console.warn:console.log;s?a(r,t,n):a(r,t)};function M(e={}){return P({level:void 0!==e.level?(t=e.level,"string"==typeof t?d[t]:t):0,handler:e.handler,jsonHandler:e.jsonHandler,scope:[]});var t}function P(e){const{level:t,handler:n,jsonHandler:o,scope:r}=e,s=(e,o,s)=>{if(e<=t){const t=D(o,s);n?n(e,t.message,t.context,r,T):T(e,t.message,t.context,r)}};return{error:(e,t)=>s(0,e,t),warn:(e,t)=>s(1,e,t),info:(e,t)=>s(2,e,t),debug:(e,t)=>s(3,e,t),throw:(e,t)=>{const o=D(e,t);throw n?n(0,o.message,o.context,r,T):T(0,o.message,o.context,r),new Error(o.message)},json:e=>{o?o(e):console.log(JSON.stringify(e,null,2))},scope:e=>P({level:t,handler:n,jsonHandler:o,scope:[...r,e]})}}function C(e){return function(e){return"boolean"==typeof e}(e)||O(e)||function(e){return"number"==typeof e&&!Number.isNaN(e)}(e)||!w(e)||y(e)&&e.every(C)||k(e)&&Object.values(e).every(C)}function L(e){return C(e)?e:void 0}function R(e,t,n){return function(...o){try{return e(...o)}catch(e){if(!t)return;return t(e)}finally{null==n||n()}}}function N(e,t,n){return async function(...o){try{return await e(...o)}catch(e){if(!t)return;return await t(e)}finally{await(null==n?void 0:n())}}}var z=class e extends Error{constructor(t,n){super(t,n),this.name="FatalError",Object.setPrototypeOf(this,e.prototype)}};async function K(e,t={},n={}){var o,r;if(!w(e))return;const s=k(e)&&e.consent||n.consent||(null==(o=n.collector)?void 0:o.consent),a=null!=(r=n.event)?r:k(e)?e:{};if(!n.collector)throw new Error("getMappingValue: context.collector is required");const i={event:a,mapping:t,collector:n.collector,logger:n.collector.logger,consent:s},c=y(t)?t:[t];for(const t of c){const o=await N(U,e=>{if(e instanceof z)throw e;n.collector&&n.collector.status.failed++,i.logger.error("mapping processing failed",{event:a,error:e})})(e,t,{...i,mapping:t});if(w(o))return o}}async function U(e,t,n){return(y(t)?t:[t]).reduce(async(t,o)=>{const r=await t;if(r)return r;const s=O(o)?{key:o}:o;if(!Object.keys(s).length)return;const{condition:a,consent:i,fn:c,key:u,loop:l,map:d,set:f,validate:p,value:g}=s,h={...n,mapping:o};if(a&&!await N(a,e=>{if(e instanceof z)throw e;return h.logger.error("mapping condition failed",{event:h.event,error:e}),!1})(e,h))return;if(i&&!A(i,h.consent))return g;let m=w(g)?g:e;if(c&&(m=await N(c,e=>{if(e instanceof z)throw e;h.logger.error("mapping fn failed",{event:h.event,error:e})})(e,h)),u&&(m=x(e,u,g)),l){const[t,n]=l,o="this"===t?[e]:await K(e,t,h);y(o)&&(m=(await Promise.all(o.map(e=>K(e,n,h)))).filter(w))}else d?m=await Object.entries(d).reduce(async(t,[n,o])=>{const r=await t,s=await K(e,o,h);return w(s)&&(r[n]=s),r},Promise.resolve({})):f&&(m=await Promise.all(f.map(t=>U(e,t,h))));p&&!await N(p,e=>{if(e instanceof z)throw e;return h.logger.error("mapping validate failed",{event:h.event,error:e}),!1})(m,h)&&(m=void 0);const v=L(m);return w(v)?v:L(g)},Promise.resolve(void 0))}async function B(e,t,n){var o;t.policy&&await Promise.all(Object.entries(t.policy).map(async([t,o])=>{const r=await K(e,o,{collector:n,event:e});e=I(e,t,r)}));const{eventMapping:r,mappingKey:s}=await async function(e,t,n){var o;const[r,s]=(e.name||"").split(" ");if(!t||!r||!s)return{};let a,i="",c=r,u=s;const l=t=>{if(t)return(y(t)?t:[t]).find(t=>{if(!t.condition)return!0;if(!n)return Boolean(t.condition(e,void 0));const o={event:e,mapping:t,collector:n,logger:n.logger,consent:k(e)&&e.consent||n.consent};return Boolean(t.condition(e,o))})};t[c]||(c="*");const d=t[c];return d&&(d[u]||(u="*"),a=l(d[u])),a||(c="*",u="*",a=l(null==(o=t[c])?void 0:o[u])),a&&(i=`${c} ${u}`),{eventMapping:a,mappingKey:i}}(e,t.mapping,n);(null==r?void 0:r.policy)&&await Promise.all(Object.entries(r.policy).map(async([t,o])=>{const r=await K(e,o,{collector:n,event:e});e=I(e,t,r)}));let a=t.data&&await K(e,t.data,{collector:n,event:e});const i=Boolean(null==r?void 0:r.silent);if(r){if(r.ignore)return{event:e,data:a,mapping:r,mappingKey:s,ignore:!0,silent:i};if(r.name&&(e.name=r.name),r.data){const t=r.data&&await K(e,r.data,{collector:n,event:e});a=k(a)&&k(t)?v(a,t):t}}const c=null!=(o=null==r?void 0:r.include)?o:t.include;if(c&&c.length>0){const t=function(e,t){const n={},o=t.includes("all")?Object.keys(_):t;for(const t of o){const o=_[t];if(!o)continue;const r=o(e);if(k(r))for(const[e,o]of Object.entries(r)){if(void 0===o)continue;const r="context"===t&&Array.isArray(o)?o[0]:o;n[`${t}_${e}`]=r}}return n}(e,c);Object.keys(t).length>0&&(a=k(a)?v(t,a):null!=a?a:t)}if((null==r?void 0:r.remove)&&k(a))for(const e of r.remove)a=S(a,e);return{event:e,data:a,mapping:r,mappingKey:s,ignore:!1,silent:i}}function H(e,t,n,o){const r=e;return function(...e){let s;const a="pre"+t,i="post"+t,c=n[a],u=n[i],l=(e,t)=>{o?o.warn(e,{error:t}):console.warn(e,t)};if(c)try{s=c({fn:r},...e)}catch(t){l(`Hook ${String(a)} failed, falling back to original function`,t),s=r(...e)}else s=r(...e);if(u)try{s=u({fn:r,result:s},...e)}catch(e){l(`Hook ${String(i)} failed, keeping original result`,e)}return s}}function F(e,t){if(0===e.observers.size)return;const n=Array.from(e.observers);for(const e of n)try{e(t)}catch(e){}}function G(e){if(void 0===e||"*"===e)return()=>!0;if("and"in e){const t=e.and.map(G);return e=>t.every(t=>t(e))}if("or"in e){const t=e.or.map(G);return e=>t.some(t=>t(e))}return function(e){const{key:t,operator:n,value:o,not:r}=e,s=function(e,t){switch(e){case"eq":return e=>String(null!=e?e:"")===t;case"contains":return e=>String(null!=e?e:"").includes(t);case"prefix":return e=>String(null!=e?e:"").startsWith(t);case"suffix":return e=>String(null!=e?e:"").endsWith(t);case"regex":{const e=new RegExp(t);return t=>e.test(String(null!=t?t:""))}case"gt":{const e=Number(t);return t=>Number(t)>e}case"lt":{const e=Number(t);return t=>Number(t)<e}case"exists":return e=>null!=e}}(n,o);return e=>{const n=x(e,t),o=s(n);return r?!o:o}}(e)}function W(e){return Array.isArray(e)&&e.length>0&&e.every(e=>function(e){return"object"==typeof e&&null!==e&&!Array.isArray(e)&&("match"in e||"next"in e||"one"in e||"many"in e)}(e))}function V(e){return e.map(e=>{var t,n;if("string"==typeof e)return{match:()=>!0,next:{type:"static",value:e}};if(Array.isArray(e))return{match:()=>!0,next:null!=(t=J(e))?t:{type:"chain",value:[]}};const o=e;return{match:o.match?G(o.match):()=>!0,next:null!=(n=J(o))?n:{type:"chain",value:[]}}})}function J(e){if(null==e)return;if("string"==typeof e)return{type:"static",value:e};if(Array.isArray(e)){if(0===e.length)return;if(W(e))return J({one:e});if(e.every(e=>"string"==typeof e))return{type:"chain",value:e};const t=[];for(const n of e){const e=J(n);void 0!==e&&t.push(e)}if(0===t.length)return;return{type:"sequence",value:t}}const t=e;if("next"in t&&void 0!==t.next)return t.match?{type:"gate",match:G(t.match),next:J(t.next)}:J(t.next);if("one"in t&&t.one){const e=V(t.one);return t.match?{type:"gate",match:G(t.match),next:{type:"one",routes:e}}:{type:"one",routes:e}}if("many"in t&&t.many){const e=V(t.many);return t.match?{type:"gate",match:G(t.match),next:{type:"many",routes:e}}:{type:"many",routes:e}}return t.match?{type:"gate",match:G(t.match)}:void 0}var Y=new WeakMap;function Z(e,t={}){if(null==e)return[];let n;if("object"==typeof e){const t=Y.get(e);t?n=t:(n=J(e),n&&Y.set(e,n))}else n=J(e);if(!n)return[];const o=Q(n,t);return void 0===o?[]:Array.isArray(o)?o:[o]}function Q(e,t={}){if(e){if("static"===e.type)return e.value;if("chain"===e.type)return e.value;if("gate"===e.type){if(!e.match(t))return;return Q(e.next,t)}if("sequence"===e.type){const n=[];for(const o of e.value){const e=Q(o,t);void 0!==e&&(Array.isArray(e)?n.push(...e):n.push(e))}return n.length>0?n:void 0}if("many"===e.type){const n=[];for(const o of e.routes){if(!o.match(t))continue;const e=Q(o.next,t);void 0!==e&&(Array.isArray(e)?n.push(...e):n.push(e))}return n.length>0?n:void 0}for(const n of e.routes)if(n.match(t))return Q(n.next,t)}}function X(e,t){const n={ingest:null!=e?e:{}};return void 0!==t&&(n.event=t),n}function ee(e){var t;return{stop:null!=(t=e.stop)&&t,storeId:e.store,namespace:e.namespace,rules:e.rules.map(e=>({match:e.match?G(e.match):()=>!0,key:e.key,ttl:e.ttl,update:e.update}))}}async function te(e,t,n,o){const r=e.rules.find(e=>e.match(n));if(!r)return null;const s=r.key.map(e=>{var t;return String(null!=(t=x(n,e))?t:"")});if(s.every(e=>""===e))return null;const a=s.join(":"),i=null!=o?o:e.namespace,c=i?`${i}:${a}`:a,u=await t.get(c);return void 0!==u?{status:"HIT",key:c,value:u,rule:r}:{status:"MISS",key:c,rule:r}}function ne(e,t,n,o){e.set(t,n,1e3*o)}async function oe(e,t,n,o){if(!t)return e;let r=e;for(const[e,s]of Object.entries(t))r=I(r,e,await K(n,s,{collector:o}));return r}function re(e){return y(e)?e:[e]}async function se(e,t,n,o){let r=n;for(const n of e)await N(async()=>{const e=t(n.store);if(!e)return;const s=await K(r,n.key,{collector:o,event:r});if(!O(s))return;const a=n.store?s:`state:${s}`;if("set"===n.mode){const t=await K(r,n.value,{collector:o,event:r});if(!w(t))return;await e.set(a,t)}else{const t=O(i=n.value)?i:k(i)&&O(i.key)?i.key:void 0;if(!t)return;const o=await e.get(a);if(!w(o))return;r=I(r,t,o)}var i},e=>{var t,n;null==(n=null==(t=o.logger)?void 0:t.error)||n.call(t,"[state] operation failed",e)})();return r}var ae={Source:["code","package","import","before","next","cache","state"],Transformer:["code","package","import","before","next","cache","state","mapping"],Destination:["code","package","import","before","next","cache","state"],Store:["code","package","import","cache"]},ie=["config","env","validate","variables","examples","disabled","id","logger","mock","chainMocks"],ce={Source:["primary"],Transformer:[],Destination:[],Store:[]},ue=/^[A-Za-z_$][A-Za-z0-9_$]*$/;function le(e,t){const n=(o=t,new Set([...ae[o],...ie,...ce[o]]));var o;for(const o of Object.keys(e))if(!n.has(o))return{ok:!1,code:"UNKNOWN_KEY",key:o,reason:`Unknown key "${o}" on ${t}. Allowed: ${[...n].sort().join(", ")}.`};const r=void 0!==e.package,s=void 0!==e.import,a=void 0!==e.code;return a&&"string"==typeof e.code?{ok:!1,code:"OBSOLETE_CODE_STRING",key:"code",reason:`code: "<name>" is no longer supported. Use import: "${e.code}" with the package field instead.`}:a&&("object"!=typeof e.code&&"function"!=typeof e.code||null===e.code||Array.isArray(e.code))?{ok:!1,code:"INVALID_CODE_SHAPE",key:"code",reason:"code must be an object ({ push, type?, init? }) or a resolved function value."}:a&&r?{ok:!1,code:"CONFLICT",key:"package",reason:"Cannot specify both `code` and `package`. Use one or the other."}:a&&s?{ok:!1,code:"CONFLICT",key:"import",reason:"Cannot specify both `code` and `import`."}:s&&!r?{ok:!1,code:"MISSING_PACKAGE",key:"import",reason:"`import` requires `package` to be set."}:!s||"string"==typeof e.import&&ue.test(e.import)?{ok:!0}:{ok:!1,code:"INVALID_IMPORT",key:"import",reason:`import must match ${ue.source}. Got: ${JSON.stringify(e.import)}.`}}var de=!1;function fe(e,t={},n){if(t.filter){if(!0===R(()=>t.filter(n),()=>!1)())return}const o=function(e){if(k(e)&&O(e.event)){const{event:t,...n}=e;return{name:t,...n}}if(y(e)&&e.length>=2)return pe(e);if(t=e,null!=t&&"object"==typeof t&&"length"in t&&"number"==typeof t.length&&t.length>0){return pe(Array.from(e))}var t;return null}(n);if(!o)return;const r=`${t.prefix||"dataLayer"} ${o.name}`,{name:s,...a}=o,i={name:r,data:a};R(()=>e(i),()=>{})()}function pe(e){const[t,n,o]=e;if(!O(t))return null;let r,s={};switch(t){case"consent":if(!O(n)||e.length<3)return null;if("default"!==n&&"update"!==n)return null;if(!k(o)||null===o)return null;r=`${t} ${n}`,s={...o};break;case"event":if(!O(n))return null;r=n,k(o)&&(s={...o});break;case"config":if(!O(n))return null;r=`${t} ${n}`,k(o)&&(s={...o});break;case"set":if(O(n))r=`${t} ${n}`,k(o)&&(s={...o});else{if(!k(n))return null;r=`${t} custom`,s={...n}}break;default:return null}return{name:r,...s}}var ge={},he={};r(he,{push:()=>we});var me=()=>{},ve=()=>()=>Promise.resolve({ok:!0}),ye={error:me,warn:me,info:me,debug:me,throw:e=>{throw"string"==typeof e?new Error(e):e},json:me,scope:()=>ye},we={get push(){return ve()},get command(){return ve()},get elb(){return ve()},get window(){return{dataLayer:[],addEventListener:me,removeEventListener:me}},logger:ye},be={};r(be,{consentUpdate:()=>Oe,directEvent:()=>Ie,gtagAddToCart:()=>je,gtagPurchase:()=>ke,gtagViewItem:()=>xe});var ke={title:"gtag purchase",description:"A gtag purchase call pushed to the dataLayer is captured as a walker dataLayer purchase event with item details.",trigger:{type:"gtag"},in:["event","purchase",{transaction_id:"T-12345",value:25.42,currency:"EUR",items:[{item_id:"SKU-1",item_name:"T-Shirt",quantity:1}]}],out:[["elb",{name:"dataLayer purchase",data:{transaction_id:"T-12345",value:25.42,currency:"EUR",items:[{item_id:"SKU-1",item_name:"T-Shirt",quantity:1}]}}]]},Oe={title:"Consent update",description:"A gtag consent update is captured from the dataLayer as a walker dataLayer consent update event.",trigger:{type:"gtag"},in:["consent","update",{ad_storage:"granted",analytics_storage:"granted"}],out:[["elb",{name:"dataLayer consent update",data:{ad_storage:"granted",analytics_storage:"granted"}}]]},je={title:"gtag add_to_cart",description:"A gtag add_to_cart call pushed to the dataLayer is captured as a walker dataLayer add_to_cart event.",trigger:{type:"gtag"},in:["event","add_to_cart",{currency:"EUR",value:15.25,items:[{item_id:"SKU_12345",item_name:"T-Shirt",item_variant:"red",quantity:1,price:15.25}]}],out:[["elb",{name:"dataLayer add_to_cart",data:{currency:"EUR",value:15.25,items:[{item_id:"SKU_12345",item_name:"T-Shirt",item_variant:"red",quantity:1,price:15.25}]}}]]},xe={title:"gtag view_item",description:"A gtag view_item call pushed to the dataLayer is captured as a walker dataLayer view_item event with item data.",trigger:{type:"gtag"},in:["event","view_item",{currency:"EUR",value:29.99,items:[{item_id:"SKU_67890",item_name:"Sneakers",item_category:"Footwear",price:29.99}]}],out:[["elb",{name:"dataLayer view_item",data:{currency:"EUR",value:29.99,items:[{item_id:"SKU_67890",item_name:"Sneakers",item_category:"Footwear",price:29.99}]}}]]},Ie={title:"Direct dataLayer event",description:"A plain object pushed directly onto the dataLayer is captured as a walker dataLayer custom event.",trigger:{type:"direct"},in:{event:"custom_event",category:"engagement",label:"video_play"},out:[["elb",{name:"dataLayer custom_event",data:{category:"engagement",label:"video_play"}}]]},Se={Action:"action",Actions:"actions",Config:"config",Consent:"consent",Context:"context",Custom:"custom",Destination:"destination",Elb:"elb",Globals:"globals",Hook:"hook",Init:"init",Link:"link",On:"on",Prefix:"data-elb",Ready:"ready",Run:"run",Session:"session",Shutdown:"shutdown",User:"user",Walker:"walker"};function _e(e,t){const n=e.status.startedAt;return{flowId:"default",stepId:t.stepId,stepType:t.stepType,phase:t.phase,eventId:t.eventId,timestamp:new Date(t.now).toISOString(),elapsedMs:t.now-n}}function Ae(e,t){return e.storeId&&t.stores[e.storeId]?t.stores[e.storeId]:t.stores.__cache}function qe(e,t){return e?t.stores[e]:t.stores.__cache}function $e(e){var t;const n={};for(const[o,r]of Object.entries(e)){const e=null==(t=r.config)?void 0:t.next;"string"==typeof e||Array.isArray(e)&&e.every(e=>"string"==typeof e)?n[o]={next:e}:n[o]={}}return n}function Ee(e,t){const n=e.config||{},o=e[t];return void 0!==o?{config:{...n,[t]:o},chainValue:o}:{config:n,chainValue:void 0}}function De(e,t={}){if(!e)return[];if(Array.isArray(e))return e;const n=[],o=new Set;let r=e;for(;r&&t[r]&&!o.has(r);){o.add(r),n.push(r);const e=t[r].next;if(Array.isArray(e)){n.push(...e);break}r=e}return n}async function Te(e,t,n){if(t.init&&!t.config.init){const o=t.type||"unknown",r=e.logger.scope(`transformer:${o}`),s={collector:e,logger:r,id:n,ingest:h(n),config:t.config,env:Le(t.config.env)};r.debug("init");const a=await H(t.init,"TransformerInit",e.hooks,e.logger)(s);if(!1===a)return!1;t.config={...a||t.config,env:(null==a?void 0:a.env)||t.config.env,init:!0},r.debug("init done")}return!0}async function Me(e,t,n,o,r,s){const a=t.type||"unknown",i=e.logger.scope(`transformer:${a}`),u={collector:e,logger:i,id:n,ingest:r,config:t.config,env:{...Le(t.config.env),...s?{respond:s}:{}}};i.debug("push",{event:o.name});const l="string"==typeof o.id?o.id:"",d=Date.now();F(e,_e(e,{stepId:c("transformer",n),stepType:"transformer",phase:"in",eventId:l,now:d}));try{const r=await H(t.push,"TransformerPush",e.hooks,e.logger)(o,u),s=Date.now(),a=_e(e,{stepId:c("transformer",n),stepType:"transformer",phase:"out",eventId:l,now:s});return a.durationMs=s-d,a.outEvent=r,F(e,a),i.debug("push done"),r}catch(t){const o=Date.now(),r=_e(e,{stepId:c("transformer",n),stepType:"transformer",phase:"error",eventId:l,now:o});throw r.durationMs=o-d,r.error=t instanceof Error?{name:t.name,message:t.message}:{message:String(t)},F(e,r),t}}function Pe(e,t){return e?{...e,_meta:{...e._meta,path:[...e._meta.path]}}:h(t)}async function Ce(e,t,n,o,r,s,a){var i,c,u,l,d,f,p,g,m;r||(r=h(null!=(i=n[0])?i:"chain")),a&&r._meta&&(r._meta.chainPath=a);let v=o,y=s;for(const o of n){const s=t[o];if(!s){e.logger.warn(`Transformer not found: ${o}`);continue}if(r&&r._meta&&r._meta.path.length>256)return e.logger.error(`Max path length exceeded at ${o}`),{event:null,respond:y};if(r&&r._meta&&(r._meta.hops++,r._meta.path.push(o)),!await N(Te,t=>{if(t instanceof z)throw t;return e.status.failed++,e.logger.scope(`transformer:${s.type||"unknown"}`).error("transformer init failed",{transformer:o,error:t}),!1})(e,s,o))return{event:null,respond:y};if(a&&void 0!==(null==(u=null==(c=s.config)?void 0:c.chainMocks)?void 0:u[a])){const t=s.config.chainMocks[a];e.logger.scope(`transformer:${s.type||"unknown"}`).debug("chainMock",{chain:a}),v=t;continue}if(void 0!==(null==(l=s.config)?void 0:l.mock)){e.logger.scope(`transformer:${s.type||"unknown"}`).debug("mock"),v=s.config.mock;continue}if(null==(d=s.config)?void 0:d.disabled)continue;const i=null==(f=s.config)?void 0:f.cache,h=i?ee(i):void 0,w=h?Ae(h,e):void 0,b=(null==(p=s.config)?void 0:p.state)?re(s.config.state):void 0,k=null==b?void 0:b.filter(e=>"get"===e.mode),O=null==b?void 0:b.filter(e=>"set"===e.mode);let j;if(h&&w){const e=X(r,v),t=await te(h,w,e);if("HIT"===(null==t?void 0:t.status)&&t.value){if(v=t.value,h.stop)return{event:v,respond:y,stopped:!0};continue}"MISS"===(null==t?void 0:t.status)&&(j={key:t.key,ttl:t.rule.ttl})}const x=s.config.before;if(x){const n=Z(x,X(r,v));if(1===n.length){const o=De(n[0],$e(t));if(o.length>0){const n=await Ce(e,t,o,v,r,y,a);if(null===n.event)return{event:null,respond:null!=(g=n.respond)?g:y};if(n.stopped)return{event:Array.isArray(n.event)?n.event[0]:n.event,respond:null!=(m=n.respond)?m:y,stopped:!0};n.respond&&(y=n.respond),v=Array.isArray(n.event)?n.event[0]:n.event}}else n.length>1&&await Promise.all(n.map(n=>N(Ce,t=>(e.logger.scope("transformer:many").error(`many branch ${n} failed`,{error:t}),{event:null,respond:void 0}))(e,t,De(n,$e(t)),v,Pe(r,n),void 0,a)))}k&&k.length>0&&(v=await se(k,t=>qe(t,e),v,e));const I=await N(Me,t=>(e.logger.scope(`transformer:${s.type||"unknown"}`).error("Push failed",{error:t}),!1))(e,s,o,v,r,y);if(!1===I)return{event:null,respond:y};if(Array.isArray(I)){const s=n.slice(n.indexOf(o)+1),i=await Promise.all(I.map(async n=>{const o=n.event||v,i=Pe(r,"unknown");if(n.next){const r=Z(n.next,X(i,o));if(0===r.length)return{event:o,respond:y};if(1===r.length){const n=De(r[0],$e(t));return n.length>0?Ce(e,t,n,o,i,y,a):{event:o,respond:y}}return(await Promise.all(r.map(n=>N(Ce,t=>(e.logger.scope("transformer:many").error(`many branch ${n} failed`,{error:t}),{event:null,respond:void 0}))(e,t,De(n,$e(t)),o,Pe(i,n),void 0,a)))).map(e=>({event:e.event,respond:void 0}))}return s.length>0?Ce(e,t,s,o,i,y,a):{event:o,respond:y}}));let c=y;const u=[];for(const e of i.flat())if(null!==e)if(e&&"object"==typeof e&&"event"in e){const t=e;if(t.respond&&(c=t.respond),null===t.event)continue;Array.isArray(t.event)?u.push(...t.event):u.push(t.event)}else u.push(e);return 0===u.length?{event:null,respond:c}:1===u.length?{event:u[0],respond:c}:{event:u,respond:c}}if(I&&"object"==typeof I){const{event:n,respond:o,next:s}=I;if(o&&(y=o),void 0!==s){const o=Z(s,X(r,v));if(0===o.length){n&&(v=n);continue}if(1===o.length){const i=De(o[0],$e(t));return i.length>0?Ce(e,t,i,n||v,r,y,a):(e.logger.warn(`Branch target not found: ${JSON.stringify(s)}`),{event:null,respond:y})}return await Promise.all(o.map(o=>N(Ce,t=>(e.logger.scope("transformer:many").error(`many branch ${o} failed`,{error:t}),{event:null,respond:void 0}))(e,t,De(o,$e(t)),n||v,Pe(r,o),void 0,a))),{event:null,respond:void 0}}n&&(v=n)}O&&O.length>0&&(v=await se(O,t=>qe(t,e),v,e)),j&&w&&ne(w,j.key,v,j.ttl);const S=s.config.next,_="string"==typeof S||Array.isArray(S)&&S.every(e=>"string"==typeof e),A=void 0!==S&&!_;if((!I||"object"==typeof I&&!I.next)&&A){const n=Z(s.config.next,X(r,v));if(1===n.length){const o=De(n[0],$e(t));return o.length>0?Ce(e,t,o,v,r,y,a):{event:v,respond:y}}return n.length>1?(await Promise.all(n.map(n=>N(Ce,t=>(e.logger.scope("transformer:many").error(`many branch ${n} failed`,{error:t}),{event:null,respond:void 0}))(e,t,De(n,$e(t)),v,Pe(r,n),void 0,a))),{event:null,respond:void 0}):{event:v,respond:y}}}return{event:v,respond:y}}function Le(e){return e&&k(e)?e:{}}function Re(e){return"string"==typeof e||!(!Array.isArray(e)||!e.every(e=>"string"==typeof e))}async function Ne(e,t,n){var o,r;if(!t.on||!(null==(o=t.queueOn)?void 0:o.length))return;const s=t.queueOn;t.queueOn=[];const a=n||(null==(r=t.config)?void 0:r.id)||"unknown";for(const{type:n,data:o}of s)await N(t.on,t=>{if(t instanceof z)throw t;e.status.failed++,e.logger.scope("source").error("source on flush failed",{sourceId:a,type:n,error:t})})(n,o)}function ze(e){var t;return Boolean(e.config.init)&&!(null==(t=e.config.require)?void 0:t.length)}async function Ke(e,t,n){var o,r;const{code:s,config:a={},env:i={},primary:c,next:u,before:l,cache:d}=n,f=null!=(o=a.state)?o:n.state,p=f?re(f):void 0,g=d,m=g?ee({...g,stop:null==(r=g.stop)||r}):void 0,v=Re(u)?De(u,$e(e.transformers)):void 0,y=Re(l)?De(l,$e(e.transformers)):void 0,w=i.push,b=null!=w?w:e.push,k=Boolean(w),O=async(n,o,r)=>{var s;let i;const c=null!=y?y:void 0!==l?(()=>{const t=Z(l,X(r.ingest));return 0===t.length?[]:De(1===t.length?t[0]:t,$e(e.transformers))})():[];let d=[n];if(c.length>0&&e.transformers&&Object.keys(e.transformers).length>0){const o=await Ce(e,e.transformers,c,n,r.ingest,r.respond,`source.${t}.before`);if(null===o.event)return{ok:!0};if(o.stopped)return o.respond&&(r.respond=o.respond),{ok:!0};o.respond&&(r.respond=o.respond),d=Array.isArray(o.event)?o.event:[o.event]}if(m){const t=Ae(m,e);if(t){const n=X(r.ingest),o=await te(m,t,n);if(o){if("HIT"===o.status&&void 0!==o.value&&m.stop){let t=o.value;return o.rule.update&&(t=await oe(t,o.rule.update,{...n,cache:{status:"HIT"}},e)),null==(s=r.respond)||s.call(r,t),{ok:!0}}if("MISS"===o.status&&m.stop&&r.respond){const s=r.respond,a=o.rule.update,c={...n,cache:{status:"MISS"}},u=o.key,l=o.rule.ttl,d=n=>{ne(t,u,n,l),a?i=(async()=>{const t=await oe(n,a,c,e);s(t)})():s(n)};r.respond=d}"MISS"!==o.status||m.stop||ne(t,o.key,!0,o.rule.ttl)}}}const f=v?{kind:"single",preChain:v}:void 0!==u?(()=>{const t=Z(u,X(r.ingest));return 0===t.length?{kind:"single",preChain:[]}:1===t.length?{kind:"single",preChain:De(t[0],$e(e.transformers))}:{kind:"many",branches:t.map(t=>De(t,$e(e.transformers)))}})():{kind:"single",preChain:[]};p&&p.length>0&&(d=await Promise.all(d.map(t=>se(p,t=>qe(t,e),t,e))));let g={ok:!0};for(const n of d)"many"===f.kind?(await Promise.all(f.branches.map((s,i)=>N(async()=>k?b(n):b(n,{...o,id:t,ingest:Pe(r.ingest,`${t}.${i}`),respond:void 0,mapping:a,preChain:s}),t=>(e.logger.scope("source:many").error(`many branch ${i} failed`,{error:t}),{ok:!0}))())),g={ok:!0}):g=k?await b(n):await b(n,{...o,id:t,ingest:r.ingest,respond:r.respond,mapping:a,preChain:f.preChain});return i&&await i,g},j=async n=>{const o=h(t);if(!a.ingest||void 0===n)return o;const r=await K(n,a.ingest,{collector:e});return{...o,...r,_meta:o._meta}},x=e.logger.scope("source").scope(t),I={command:e.command,sources:e.sources,elb:e.sources.elb.push,logger:x,...i,push:async(e,n={})=>{const o={ingest:h(t),respond:void 0};return O(e,n,o)}},S={collector:e,logger:x,id:t,config:a,env:I,withScope:async(e,t,n)=>{const o={ingest:await j(e),respond:t};return n({...I,push:(e,t={})=>O(e,t,o),ingest:o.ingest,respond:o.respond})}},_=await N(s,n=>{if(n instanceof z)throw n;e.status.failed++,e.logger.scope("source").error("source factory failed",{sourceId:t,error:n})})(S);if(!_)return;const A=_.type||"unknown",q=e.logger.scope(A).scope(t);return I.logger=q,c&&(_.config={..._.config,primary:c}),_}function Ue(e,t,n,o){if(n instanceof z)throw n;e.logger.scope("on").error("on callback failed",{kind:t,...o,error:n})}function Be(e,t){return{collector:e,logger:e.logger.scope("on").scope(String(t))}}function He(e,t,n,o,r){if(!t.on)return;const s=t.type||"unknown",a=e.logger.scope(s).scope("on").scope(o),i={collector:e,logger:a,id:n,config:t.config,data:r,env:it(t.env,t.config.env)};R(t.on,t=>Ue(e,"destination",t,{destId:n,type:o}))(o,i)}function Fe(e,t,n,o){let r;switch(t){case Se.Consent:r=o||e.consent;break;case Se.Session:r=e.session;break;case Se.User:r=o||e.user;break;case Se.Custom:r=o||e.custom;break;case Se.Globals:r=o||e.globals;break;case Se.Config:r=o||e.config;break;case Se.Ready:case Se.Run:default:r=void 0}if(n.length)switch(t){case Se.Consent:!function(e,t,n){const o=n||e.consent,r=Be(e,Se.Consent);t.forEach(t=>{Object.keys(o).filter(e=>e in t).forEach(n=>{R(t[n],t=>Ue(e,"consent",t,{key:n}))(o,r)})})}(e,n,o);break;case Se.Ready:!function(e,t){if(!e.allowed)return;const n=Be(e,Se.Ready);t.forEach(t=>{R(t,t=>Ue(e,"ready",t))(void 0,n)})}(e,n);break;case Se.Run:!function(e,t){if(!e.allowed)return;const n=Be(e,Se.Run);t.forEach(t=>{R(t,t=>Ue(e,"run",t))(void 0,n)})}(e,n);break;case Se.Session:!function(e,t){if(!e.session)return;const n=Be(e,Se.Session);t.forEach(t=>{R(t,t=>Ue(e,"session",t))(e.session,n)})}(e,n);break;default:{const o=Be(e,t);n.forEach(n=>{"function"==typeof n&&R(n,n=>Ue(e,"generic",n,{type:t}))(r,o)});break}}}function Ge(e,t,n,o){var r;if(!Number.isFinite(n.max)||n.max<=0)throw new Error(`pushBounded: max must be > 0 (got ${n.max})`);if("dropNewest"===(null!=(r=n.onOverflow)?r:"dropOldest"))return e.length>=n.max?(o&&o([t]),{appended:!1,dropped:1}):(e.push(t),{appended:!0,dropped:0});const s=[];for(;e.length>=n.max;)s.push(e.shift());return e.push(t),s.length>0&&o&&o(s),{appended:!0,dropped:s.length}}var We=new WeakMap;function Ve(e,t,n,o){We.get(e)||(We.set(e,!0),t.warn(n,o))}function Je(e){We.delete(e)}var Ye=Object.freeze({batched:!0});function Ze(e){return e===Ye}function Qe(e){return void 0===e?{}:"number"==typeof e?{wait:e}:{wait:e.wait,size:e.size,age:e.age}}function Xe(e,t){return e.status.destinations[t]||(e.status.destinations[t]={count:0,failed:0,duration:0,queuePushSize:0,dlqSize:0}),e.status.destinations[t]}function et(e,t,n,o){var r;e.dropped[t]||(e.dropped[t]={});const s=e.dropped[t];return s[n]=(null!=(r=s[n])?r:0)+o,s[n]}function tt(e,t,n){if(!e)return[];if(Array.isArray(e)&&e.every(e=>"string"==typeof e))return De(e,t);if("string"==typeof e)return De(e,t);const o=Z(e,X(n));return 0===o.length?[]:1===o.length?De(o[0],t):De(o,t)}async function nt(e,t,n={},o){var r,s,a,i,u,l;const{allowed:d,consent:f,globals:p,user:g}=e;if(!d)return st({ok:!1});if(t){const n=e.config.queueMax;if(void 0===n)throw new Error("Collector.Config.queueMax is undefined; defaults must be seeded by collector()");const o=Ge(e.queue,t,{max:n});if(o.dropped>0){const t=et(e.status,c("collector"),"queue",o.dropped);Ve(e.queue,e.logger,"collector.queue overflow; oldest events dropped",{buffer:"queue",cap:n,droppedCount:t})}else e.queue.length<n&&Je(e.queue);e.status.in++}o||(o=e.destinations);const m=e.transformers?$e(e.transformers):{},y=await Promise.all(Object.entries(o||{}).map(async([o,r])=>{var s,a,i,u,l;if(r.config.disabled)return{id:o,destination:r,skipped:!0};let d=(r.queuePush||[]).map(e=>({...e,consent:f}));r.queuePush=[],t&&d.push(j(t));const y=n.ingest?{...n.ingest,_meta:{...n.ingest._meta,path:[...n.ingest._meta.path]}}:h("unknown");if(!d.length&&!(null==(s=r.queueOn)?void 0:s.length))return{id:o,destination:r,skipped:!0};if(!d.length&&(null==(a=r.queueOn)?void 0:a.length)){let t=!1;try{t=await ot(e,r,o)}catch(t){e.status.failed++;const n=r.type||"unknown";e.logger.scope(n).error("destination init failed",{error:t instanceof Error?t.message:String(t)})}return{id:o,destination:r,skipped:!t}}const w=[],b=d.filter(t=>{const n=A(r.config.consent,f,t.consent);if(n)return t.consent=n,w.push(t),!1;const s=_e(e,{stepId:c("destination",o),stepType:"destination",phase:"skip",eventId:"string"==typeof t.id?t.id:"",now:Date.now()});return s.skipReason="consent",f&&(s.consent={...f}),r.config.consent&&(s.meta={required:{...r.config.consent}}),F(e,s),!0});if(b.length>0){const t=r.queuePush,n=r.config.id||o,s={max:null!=(i=r.config.queueMax)?i:1e3};let a=0;for(const e of b)a+=Ge(t,e,s).dropped;if(a>0){Xe(e,n);const o=et(e.status,c("destination",n),"queue",a);Ve(t,e.logger.scope(r.type||"unknown"),"destination.queuePush overflow; oldest events dropped",{buffer:"queuePush",destination:n,cap:s.max,droppedCount:o})}else t.length<s.max&&Je(t)}if(!w.length)return{id:o,destination:r,queue:d};let k,O,x=!1;try{x=await ot(e,r,o)}catch(t){e.status.failed++;const n=r.type||"unknown";e.logger.scope(n).error("destination init failed",{error:t instanceof Error?t.message:String(t)})}if(!x)return{id:o,destination:r,queue:d};r.dlq||(r.dlq=[]);const I=tt(r.config.before,m,y),S=r.config.next,_=null==(u=r.config)?void 0:u.cache,q=_?ee(_):void 0,$=q?Ae(q,e):void 0,E=(null==(l=r.config)?void 0:l.state)?re(r.config.state):void 0,D=null==E?void 0:E.filter(e=>"get"===e.mode),T=null==E?void 0:E.filter(e=>"set"===e.mode);let M=0,P=0;return await Promise.all(w.map(async t=>{let s;if(t.globals=v(p,t.globals),t.user=v(g,t.user),(null==q?void 0:q.stop)&&$){const e=X(y,t),n=await te(q,$,e);if("HIT"===(null==n?void 0:n.status))return t;"MISS"===(null==n?void 0:n.status)&&(s={key:n.key,ttl:n.rule.ttl})}let a=t,i=n.respond;if(I.length>0&&e.transformers&&Object.keys(e.transformers).length>0){const r=await Ce(e,e.transformers,I,t,y,n.respond,`destination.${o}.before`);if(null===r.event)return t;r.respond&&(i=r.respond),a=Array.isArray(r.event)?r.event[0]:r.event}if(q&&!q.stop&&$){const e=X(y,a),n=await te(q,$,e);if("HIT"===(null==n?void 0:n.status))return t;"MISS"===(null==n?void 0:n.status)&&(s={key:n.key,ttl:n.rule.ttl})}D&&D.length>0&&a&&(a=await se(D,t=>qe(t,e),a,e));const u=Date.now();let l=!1;const d=await N(rt,t=>{var n;const s=r.type||"unknown";e.logger.scope(s).error("Push failed",{error:t,event:a.name}),k=t,l=!0;const i=r.dlq,u=r.config.id||o,d={max:null!=(n=r.config.dlqMax)?n:100},f=Ge(i,[a,t],d);if(f.dropped>0){Xe(e,u);const t=et(e.status,c("destination",u),"dlq",f.dropped);Ve(i,e.logger.scope(r.type||"unknown"),"destination.dlq overflow; oldest entries dropped",{buffer:"dlq",destination:u,cap:d.max,droppedCount:t})}else i.length<d.max&&Je(i)})(e,r,o,a,y,i);if(M+=Date.now()-u,s&&$&&void 0===r.config.mock&&ne($,s.key,null==d||d,s.ttl),!l&&T&&T.length>0&&a&&(a=await se(T,t=>qe(t,e),a,e)),void 0===d||Ze(d)||(O=d),Ze(d)&&P++,!l&&S){void 0!==d&&(y._response=d);const t=tt(S,m,y);if(t.length>0&&e.transformers&&Object.keys(e.transformers).length>0){const n=await Ce(e,e.transformers,t,a,y,i,`destination.${o}.next`);n.respond&&(i=n.respond)}}return t})),{id:o,destination:r,error:k,response:O,totalDuration:M,batchedCount:P,allowedCount:w.length}})),w={},b={},k={};for(const t of y){if(t.skipped)continue;const n=t.destination,o={type:n.type||"unknown",data:t.response};Xe(e,t.id);const c=e.status.destinations[t.id],d=Date.now();if(c.queuePushSize=null!=(s=null==(r=n.queuePush)?void 0:r.length)?s:0,c.dlqSize=null!=(i=null==(a=n.dlq)?void 0:a.length)?i:0,t.error)o.error=t.error,k[t.id]=o,c.failed++,c.lastAt=d,c.duration+=t.totalDuration||0,e.status.failed++;else if(t.queue&&t.queue.length)b[t.id]=o;else{const n=null!=(u=t.batchedCount)?u:0,r=null!=(l=t.allowedCount)?l:0;(Math.max(0,r-n)>0||0===r)&&(w[t.id]=o,c.count++,c.lastAt=d,c.duration+=t.totalDuration||0,e.status.out++)}}return st({event:t,...Object.keys(w).length&&{done:w},...Object.keys(b).length&&{queued:b},...Object.keys(k).length&&{failed:k}})}async function ot(e,t,n){var o;if(t.init&&!t.config.init){const r=t.type||"unknown",s=e.logger.scope(r),a={collector:e,logger:s,id:n,config:t.config,env:it(t.env,t.config.env)};s.debug("init");const i=Date.now();let u;F(e,_e(e,{stepId:c("destination",n),stepType:"destination",phase:"init",eventId:"",now:i}));try{u=await H(t.init,"DestinationInit",e.hooks,e.logger)(a)}catch(t){const o=Date.now(),r=_e(e,{stepId:c("destination",n),stepType:"destination",phase:"error",eventId:"",now:o});throw r.durationMs=o-i,r.error=t instanceof Error?{name:t.name,message:t.message}:{message:String(t)},F(e,r),t}if(!1===u)return u;if(t.config={...u||t.config,init:!0},null==(o=t.queueOn)?void 0:o.length){const o=t.queueOn;t.queueOn=[];for(const{type:r,data:s}of o)He(e,t,n,r,s)}s.debug("init done")}return!0}async function rt(e,t,n,o,r,s){var a,i,u,l,d,f,p;const{config:g}=t,h=await B(o,g,e);if(h.ignore)return!1;const m=t.type||"unknown",v=e.logger.scope(m),y={collector:e,logger:v,id:n,config:g,data:h.data,rule:h.mapping,ingest:r,env:{...it(t.env,g.env),...s?{respond:s}:{}}};if(void 0!==g.mock)return v.debug("mock",{event:h.event.name}),g.mock;const b=h.mapping,k=h.mappingKey||"* *";if((null==b?void 0:b.batch)&&t.pushBatch&&void 0===g.mock){if(t.batches=t.batches||{},!t.batches[k]){const o={key:k,entries:[],events:[],data:[]},r=Qe(b.batch),s=Qe(g.batch),p=null!=(i=null!=(a=r.wait)?a:s.wait)?i:3e4,h=null!=(l=null!=(u=r.size)?u:s.size)?l:1e3,m=null!=(f=null!=(d=r.age)?d:s.age)?f:3e4,y=it(t.env,g.env),w=function(e,t=1e3,n=!1){const{wait:o,size:r,age:s}=function(e,t){var n;return"number"==typeof e?{wait:e}:e?{wait:null!=(n=e.wait)?n:t,size:e.size,age:e.age}:{wait:t}}(t,1e3);let a,i,c=null,u=null,l=!1,d=[],f=0;const p=()=>{c&&(clearTimeout(c),c=null),u&&(clearTimeout(u),u=null),f=0,i=void 0},g=()=>{const t=i,n=d;if(p(),d=[],t)return a=e(...t),n.forEach(e=>e(a)),a;n.forEach(e=>e(void 0))},h=(...t)=>new Promise(p=>{const h=n&&!l;if(i=t,f+=1,d.push(p),c&&clearTimeout(c),c=setTimeout(()=>{c=null,n&&!l||g()},o),void 0===s||u||(u=setTimeout(()=>{u=null,g()},s)),void 0!==r&&f>=r)g();else if(h){l=!0,a=e(...t);const n=d;d=[],n.forEach(e=>e(a))}});return h.flush=()=>i||0!==d.length?new Promise(e=>{d.push(e),g()}):Promise.resolve(void 0),h.cancel=()=>{const e=d;d=[],p(),e.forEach(e=>e(void 0))},h.size=()=>f,h}(async()=>{var o;const r=t.batches[k].batched;if(0===r.entries.length)return;const s={key:r.key,entries:r.entries,events:r.events,data:r.data};r.entries=[],r.events=[],r.data=[];const a=s.entries[0],i={collector:e,logger:v,id:n,config:g,data:void 0,rule:a.rule,ingest:a.ingest,env:{...y,...a.respond?{respond:a.respond}:{}}};v.debug("push batch",{events:s.entries.length});const u=t.config.id||n,l=Xe(e,u),d=Date.now(),f=_e(e,{stepId:c("destination",n),stepType:"destination",phase:"flush",eventId:"",now:d});f.batch={size:s.entries.length,index:0},F(e,f);let p=!0;await N(H(t.pushBatch,"DestinationPushBatch",e.hooks,e.logger),o=>{var r;p=!1;const a=Date.now(),i=_e(e,{stepId:c("destination",n),stepType:"destination",phase:"error",eventId:"",now:a});i.durationMs=a-d,i.error=o instanceof Error?{name:o.name,message:o.message}:{message:String(o)},i.batch={size:s.entries.length,index:0},F(e,i);const f=t.dlq=t.dlq||[],g={max:null!=(r=t.config.dlqMax)?r:100};let h=0;for(const e of s.entries)h+=Ge(f,[e.event,o],g).dropped;if(h>0){const t=et(e.status,c("destination",u),"dlq",h);Ve(f,v,"destination.dlq overflow; oldest entries dropped",{buffer:"dlq",destination:u,cap:g.max,droppedCount:t})}else f.length<g.max&&Je(f);l.failed+=s.entries.length,l.dlqSize=f.length,e.status.failed+=s.entries.length,v.error("Push batch failed",{error:o instanceof Error?o.message:String(o),entries:s.entries.length})})(s,i),v.debug("push batch done"),l.inFlightBatch=Math.max(0,(null!=(o=l.inFlightBatch)?o:0)-s.entries.length),p&&(l.count+=s.entries.length,l.lastAt=Date.now(),e.status.out+=s.entries.length)},{wait:p,size:h,age:m});t.batches[k]={batched:o,batchFn:()=>{w()},flush:async()=>{await w.flush()}}}const o=t.batches[k];o.batched.entries.push({event:h.event,ingest:r,respond:s,rule:b,data:h.data}),o.batched.events.push(h.event),w(h.data)&&o.batched.data.push(h.data);const m=t.config.id||n,y=Xe(e,m);return y.inFlightBatch=(null!=(p=y.inFlightBatch)?p:0)+1,o.batchFn(),Ye}{v.debug("push",{event:h.event.name});const o="string"==typeof h.event.id?h.event.id:"",r=Date.now(),s=_e(e,{stepId:c("destination",n),stepType:"destination",phase:"in",eventId:o,now:r});h.mappingKey&&(s.mappingKey=h.mappingKey),h.event.consent&&(s.consent={...h.event.consent}),F(e,s);try{const s=await H(t.push,"DestinationPush",e.hooks,e.logger)(h.event,y),a=Date.now(),i=_e(e,{stepId:c("destination",n),stepType:"destination",phase:"out",eventId:o,now:a});return i.durationMs=a-r,i.outEvent=s,h.mappingKey&&(i.mappingKey=h.mappingKey),F(e,i),v.debug("push done"),s}catch(t){const s=Date.now(),a=_e(e,{stepId:c("destination",n),stepType:"destination",phase:"error",eventId:o,now:s});throw a.durationMs=s-r,a.error=t instanceof Error?{name:t.name,message:t.message}:{message:String(t)},h.mappingKey&&(a.mappingKey=h.mappingKey),F(e,a),t}}}function st(e){return{ok:!(null==e?void 0:e.failed),...e}}function at(e){const{code:t,config:n={},env:o={},cache:r,state:s}=e,{config:a}=Ee(e,"before"),{config:i}=Ee({...e,config:a},"next"),c={...t.config,...n,...i};r&&(c.cache=r),void 0!==s&&void 0===c.state&&(c.state=s);const u=it(t.env,o);return{...t,config:c,env:u}}function it(e,t){return e||t?t?e&&k(e)&&k(t)?{...e,...t}:t:e:{}}async function ct(e,t,n){const o=Object.entries(e).map(async([e,o])=>{var r;const s=o.destroy;if(!s)return;const a=o.type||"unknown",i=n.scope(a),c={id:e,config:o.config,env:null!=(r=o.env)?r:{},logger:i};try{await Promise.race([s(c),new Promise((n,o)=>setTimeout(()=>o(new Error(`${t} '${e}' destroy timed out`)),5e3))])}catch(n){i.error(`${t} '${e}' destroy failed: ${n}`)}});await Promise.allSettled(o)}async function ut(e,t,n){let o,r,s=!1;switch(t){case Se.Config:k(n)&&(v(e.config,n,{shallow:!1}),r=n,s=!0);break;case Se.Consent:if(k(n)){const{update:t}=function(e,t){const n={};return Object.entries(t).forEach(([e,t])=>{n[e]=!!t}),e.consent=v(e.consent,n),{update:n}}(e,n);r=t,s=!0}break;case Se.Custom:k(n)&&(e.custom=v(e.custom,n),r=n,s=!0);break;case Se.Destination:k(n)&&"code"in n&&k(n.code)&&(o=await async function(e,t){const{code:n,config:o={},env:r={},before:s,next:a,cache:i,state:c}=t;if(!b(n.push))return st({ok:!1,failed:{invalid:{type:"invalid",error:"Destination code must have a push method"}}});const u=o||{init:!1};let l=s?{...u,before:s}:{...u};a&&(l={...l,next:a}),i&&(l={...l,cache:i}),void 0!==c&&void 0===l.state&&(l={...l,state:c});const d={...n,config:l,env:it(n.env,r)};let f=d.config.id;if(!f)do{f=$(5,"abcdefghijklmnopqrstuvwxyz")}while(e.destinations[f]);return e.destinations[f]=d,!1!==d.config.queue&&(d.queuePush=[...e.queue]),nt(e,void 0,{},{[f]:d})}(e,n));break;case Se.Globals:k(n)&&(e.globals=v(e.globals,n),r=n,s=!0);break;case Se.Hook:if(k(n)&&O(n.name)&&b(n.fn)){const{name:t,fn:o}=n;e.hooks[t]=o,r=n,s=!0}break;case Se.On:if(k(n)&&O(n.type)){const{type:t,rules:o}=n;await async function(e,t,n){const o=e.on,r=o[t]||[],s=y(n)?n:[n];s.forEach(e=>{r.push(e)}),o[t]=r,Fe(e,t,s)}(e,t,o)}break;case Se.Ready:s=!0;break;case Se.Run:o=await async function(e,t){return e.allowed=!0,e.timing=Date.now(),t&&(t.consent&&(e.consent=v(e.consent,t.consent)),t.user&&(e.user=v(e.user,t.user)),t.globals&&(e.globals=v(e.config.globalsStatic||{},t.globals)),t.custom&&(e.custom=v(e.custom,t.custom))),Object.values(e.destinations).forEach(e=>{e.queuePush=[]}),e.queue=[],e.round++,await nt(e)}(e,n),s=!0;break;case Se.Session:s=!0;break;case Se.Shutdown:await async function(e){const t=e.logger;await ct(e.sources,"source",t),await ct(e.destinations,"destination",t),await ct(e.transformers,"transformer",t),await ct(e.stores,"store",t)}(e);break;case Se.User:k(n)&&(v(e.user,n,{shallow:!1}),r=n,s=!0)}return s&&(await async function(e,t,n,o){var r,s;let a,i=n||[];switch(n||(i=e.on[t]||[]),t){case Se.Consent:a=o||e.consent;break;case Se.Session:a=e.session;break;case Se.User:a=o||e.user;break;case Se.Custom:a=o||e.custom;break;case Se.Globals:a=o||e.globals;break;case Se.Config:a=o||e.config;break;case Se.Ready:case Se.Run:default:a=void 0}let c=!1;for(const[n,o]of Object.entries(e.sources)){if(null==(r=o.config.require)?void 0:r.length){const e=o.config.require.indexOf(t);-1!==e&&o.config.require.splice(e,1)}o.on&&(ze(o)?!1===await N(o.on,o=>Ue(e,"source",o,{sourceId:n,type:t}))(t,a)&&(c=!0):(o.queueOn=o.queueOn||[],o.queueOn.push({type:t,data:a})))}Object.entries(e.destinations).forEach(([n,o])=>{if(o.on){if(!o.config.init)return o.queueOn=o.queueOn||[],void o.queueOn.push({type:t,data:a});He(e,o,n,t,a)}});for(const[t,n]of Object.entries(e.sources))ze(n)&&(null==(s=n.queueOn)?void 0:s.length)&&await Ne(e,n,t);return Object.keys(e.pending.destinations).length>0&&await async function(e,t){var n;for(const[o,r]of Object.entries(e.pending.destinations)){if(!e.pending.destinations[o]||e.destinations[o])continue;const s=null==(n=r.config)?void 0:n.require;if(!s)continue;const a=s.indexOf(t);if(-1===a)continue;if(s.splice(a,1),s.length>0)continue;delete e.pending.destinations[o];const i=at(r);!1!==i.config.queue&&(i.queuePush=[...e.queue]),e.destinations[o]=i}}(e,t),Fe(e,t,i,o),!c}(e,t,void 0,r),o=await nt(e)),o||st({ok:!0})}function lt(e,t){if(!t.name)throw new Error("Event name is required");const[n,o]=t.name.split(" ");if(!n||!o)throw new Error("Event name is invalid");const{timestamp:r=Date.now(),name:s=`${n} ${o}`,data:a={},context:i={},globals:c=e.globals,custom:u={},user:l=e.user,nested:d=[],consent:f=e.consent,id:p=q(),trigger:g="",entity:h=n,action:m=o,timing:v=0,source:y={type:"collector",schema:"4"}}=t;return{name:s,data:a,context:i,globals:c,custom:u,user:l,nested:d,consent:f,id:p,trigger:g,entity:h,action:m,timestamp:r,timing:v,source:y}}function dt(e={}){var t,n,o;const r=null!=(t=e.maxEntries)?t:1e4,s=null!=(n=e.lowWaterMark)?n:.8,a=null!=(o=e.sweepIntervalMs)?o:6e4,i=Math.floor(r*s),c=new Map,u={hits:0,misses:0,populates:0,writes:0,deletes:0,evictions_entries:0,evictions_ttl:0};let l;return a>0&&(l=setInterval(function(){const e=Date.now();let t=0;for(const[n,o]of c)void 0!==o.expires&&o.expires<=e&&(c.delete(n),t++);u.evictions_ttl+=t},a),l&&"function"==typeof l.unref&&l.unref()),{type:"memory",config:{},get(e){const t=c.get(e);if(t)return void 0!==t.expires&&t.expires<=Date.now()?(c.delete(e),u.evictions_ttl++,void u.misses++):(c.delete(e),c.set(e,t),u.hits++,t.value);u.misses++},set(e,t,n){const o=!c.has(e);o||c.delete(e),c.set(e,{value:t,expires:void 0!==n?Date.now()+n:void 0}),u.writes++,o&&u.populates++,c.size>r&&function(){if(c.size<=r)return;const e=c.size-i;let t=0;for(const n of c.keys()){if(t>=e)break;c.delete(n),t++}u.evictions_entries+=t}()},delete(e){c.delete(e)&&u.deletes++},get counters(){return{...u}},destroy(){void 0!==l&&(clearInterval(l),l=void 0),c.clear()}}}function ft(e,t){const{cacheConfig:n,cacheStore:o,namespace:r,logger:s,storeId:a,collector:i}=t,c=(e,t)=>{if(!i)return;const n=_e(i,{stepId:`store.${a}`,stepType:"store",phase:"in",eventId:"",now:Date.now()});n.meta={op:"cache",cached:"hit"===t,status:t,key:e},F(i,n)},u={hits:0,misses:0,populates:0,writes:0,deletes:0,inflight_dedups:0},l=n.rules.map(e=>({match:e.match?G(e.match):()=>!0,ttl:e.ttl})),d=e=>`${r}:${e}`;function f(e,t){const n=void 0===t?{key:e}:{key:e,value:t};return l.find(e=>e.match(n))}const p=new Map;return{type:e.type,config:e.config,setup:e.setup,get counters(){return{...u}},async get(t){const n=d(t),r=await o.get(n);if(void 0!==r)return u.hits++,c(t,"hit"),r;const s=p.get(n);if(s)return u.inflight_dedups++,c(t,"hit"),s;u.misses++,c(t,"miss");const a=(async()=>{try{const r=await e.get(t);if(void 0===r)return;const s=f(t,r);if(s)try{await o.set(n,r,1e3*s.ttl),u.populates++}catch(e){g("set",t,e)}return r}finally{p.delete(n)}})();return p.set(n,a),a},async set(t,n,r){u.writes++,await e.set(t,n,r);const s=f(t,n);if(s)try{await o.set(d(t),n,1e3*s.ttl)}catch(e){g("set",t,e)}},async delete(t){u.deletes++,await e.delete(t);try{await o.delete(d(t))}catch(e){g("delete",t,e)}}};function g(e,t,n){const o=`store-cache(${a}): cache ${e} failed for "${t}"; backing succeeded, continuing`;s?s.warn(o,{error:n}):console.warn(o,n)}}function pt(e,t,n){const o=`store.${n}`,r=H(t.get,"StoreGet",e.hooks,e.logger),s=H(t.set,"StoreSet",e.hooks,e.logger),a=H(t.delete,"StoreDelete",e.hooks,e.logger);t.get=async t=>{const n=Date.now(),s=_e(e,{stepId:o,stepType:"store",phase:"in",eventId:"",now:n});s.meta={op:"get",key:t},F(e,s);try{const s=await r(t),a=Date.now(),i=_e(e,{stepId:o,stepType:"store",phase:"out",eventId:"",now:a});return i.durationMs=a-n,i.meta={op:"get",key:t},F(e,i),s}catch(r){const s=Date.now(),a=_e(e,{stepId:o,stepType:"store",phase:"error",eventId:"",now:s});throw a.durationMs=s-n,a.meta={op:"get",key:t},a.error=r instanceof Error?{name:r.name,message:r.message}:{message:String(r)},F(e,a),r}},t.set=async(t,n,r)=>{const a=Date.now(),i=_e(e,{stepId:o,stepType:"store",phase:"in",eventId:"",now:a});i.meta={op:"set",key:t},F(e,i);try{await s(t,n,r);const i=Date.now(),c=_e(e,{stepId:o,stepType:"store",phase:"out",eventId:"",now:i});c.durationMs=i-a,c.meta={op:"set",key:t},F(e,c)}catch(n){const r=Date.now(),s=_e(e,{stepId:o,stepType:"store",phase:"error",eventId:"",now:r});throw s.durationMs=r-a,s.meta={op:"set",key:t},s.error=n instanceof Error?{name:n.name,message:n.message}:{message:String(n)},F(e,s),n}},t.delete=async t=>{const n=Date.now(),r=_e(e,{stepId:o,stepType:"store",phase:"in",eventId:"",now:n});r.meta={op:"delete",key:t},F(e,r);try{await a(t);const r=Date.now(),s=_e(e,{stepId:o,stepType:"store",phase:"out",eventId:"",now:r});s.durationMs=r-n,s.meta={op:"delete",key:t},F(e,s)}catch(r){const s=Date.now(),a=_e(e,{stepId:o,stepType:"store",phase:"error",eventId:"",now:s});throw a.durationMs=s-n,a.meta={op:"delete",key:t},a.error=r instanceof Error?{name:r.name,message:r.message}:{message:String(r)},F(e,a),r}}}async function gt(e){var t,n;const o=v({globalsStatic:{},sessionStatic:{},run:!0,queueMax:1e3},e,{merge:!1,extend:!1}),r=M({level:null==(t=e.logger)?void 0:t.level,handler:null==(n=e.logger)?void 0:n.handler}),s={...o.globalsStatic,...e.globals},a={allowed:!1,config:o,consent:e.consent||{},custom:e.custom||{},destinations:{},transformers:{},stores:{},globals:s,hooks:e.hooks||{},observers:new Set,logger:r,on:{},queue:[],round:0,session:void 0,status:{startedAt:Date.now(),in:0,out:0,failed:0,sources:{},destinations:{},dropped:{}},timing:Date.now(),user:e.user||{},sources:{},pending:{destinations:{}},push:void 0,command:void 0};var i,c;a.push=function(e,t){const n=H(async(n,o={})=>await N(async()=>{var r;const s=Date.now(),{id:a,ingest:i,respond:c,mapping:u,preChain:l,include:d,exclude:f}=o;let p=c,g=n;const m=d||f?function(e,t,n){let o=e;return t&&(o=Object.fromEntries(Object.entries(o).filter(([e])=>t.includes(e)))),n&&(o=Object.fromEntries(Object.entries(o).filter(([e])=>!n.includes(e)))),o}(e.destinations,d,f):void 0,v=null!=i?i:h(a||"unknown");if(u){const t=await B(g,u,e);if(t.ignore)return st({ok:!0});if(u.consent&&!A(u.consent,e.consent,t.event.consent))return st({ok:!0});g=t.event}if((null==l?void 0:l.length)&&e.transformers&&Object.keys(e.transformers).length>0){const n=await Ce(e,e.transformers,l,g,v,p,a?`source.${a}.next`:void 0);if(null===n.event)return st({ok:!0});if(n.stopped)return n.respond&&(p=n.respond),st({ok:!0});if(n.respond&&(p=n.respond),Array.isArray(n.event)){const o=await Promise.all(n.event.map(async n=>{const o=t(n),r=lt(e,o);return nt(e,r,{id:a,ingest:v,respond:p},m)}));if(a){e.status.sources[a]||(e.status.sources[a]={count:0,duration:0});const t=e.status.sources[a];t.count+=n.event.length,t.lastAt=Date.now(),t.duration+=Date.now()-s}return null!=(r=o[0])?r:st({ok:!0})}g=n.event}const y=t(g),w=lt(e,y),b=await nt(e,w,{id:a,ingest:v,respond:p},m);if(a){e.status.sources[a]||(e.status.sources[a]={count:0,duration:0});const t=e.status.sources[a];t.count++,t.lastAt=Date.now(),t.duration+=Date.now()-s}return b},t=>{if(t instanceof z)throw t;return e.status.failed++,e.logger.error("push failed",{event:n,ingest:o.ingest,error:t}),st({ok:!1})})(),"Push",e.hooks,e.logger);return async(t,o)=>{const r="string"==typeof t.id?t.id:"",s=Date.now();F(e,_e(e,{stepId:"collector.push",stepType:"collector",phase:"in",eventId:r,now:s}));try{const a=await n(t,o),i=Date.now(),c=_e(e,{stepId:"collector.push",stepType:"collector",phase:"out",eventId:r,now:i});return c.durationMs=i-s,c.outEvent=a,F(e,c),a}catch(t){const n=Date.now(),o=_e(e,{stepId:"collector.push",stepType:"collector",phase:"error",eventId:r,now:n});throw o.durationMs=n-s,o.error=t instanceof Error?{name:t.name,message:t.message}:{message:String(t)},F(e,o),t}}}(a,e=>({timing:Math.round((Date.now()-a.timing)/10)/100,source:{type:"collector",schema:"4",version:"4.1.3-next-1780071196115"},...e})),a.command=(c=ut,H(async(e,t,n)=>await N(async()=>await c(i,e,t,n),n=>{if(n instanceof z)throw n;return i.status.failed++,i.logger.error("command failed",{command:e,data:t,error:n}),st({ok:!1})})(),"Command",(i=a).hooks,i.logger));const u=e.stores||{};return a.stores=await async function(e,t={}){var n;const o={};for(const[n,r]of Object.entries(t)){const{code:t,config:s={},env:a={}}=r,i=e.logger.scope("store").scope(n),c={collector:e,logger:i,id:n,config:s,env:a},u=await t(c);o[n]=u}const r=t,s=function(e){const t={};for(const n of Object.keys(e))t[n]="WHITE";const n=[],o=[];function r(s){var a;const i=t[s];if("BLACK"===i)return;if("GRAY"===i){const e=o.indexOf(s),t=o.slice(-1===e?0:e).concat(s).join(" -> ");throw new Error(`Cycle in cache.store chain: ${t}`)}t[s]="GRAY",o.push(s);const c=null==(a=e[s].cache)?void 0:a.store;if(void 0!==c){if(!(c in e))throw new Error(`Store "${s}" cache.store references "${c}", which is not declared in flow.stores`);r(c)}o.pop(),t[s]="BLACK",n.push(s)}for(const n of Object.keys(e))"WHITE"===t[n]&&r(n);return n}(r);for(const t of s){const s=r[t].cache;if(!s)continue;let a,i;void 0!==s.store?(a=o[s.store],i=s.store):(o.__cache||(o.__cache=dt()),a=o.__cache,i="__cache");const c=null!=(n=s.namespace)?n:t;e.logger.scope("store-cache").scope(t).info(`store "${t}" caches with namespace "${c}:" via ${i}`),o[t]=ft(o[t],{storeId:t,cacheConfig:s,cacheStore:a,namespace:c,logger:e.logger.scope("store-cache").scope(t),collector:e})}for(const[t,n]of Object.entries(o))"__cache"!==t&&pt(e,n,t);return o}(a,u),function(e,t,n){const o=new Map;for(const[n,r]of Object.entries(e))t[n]&&o.set(r,t[n]);if(0!==o.size)for(const e of[n.transformers,n.destinations,n.sources])if(e)for(const t of Object.values(e))r(t.env);function r(e){if(e)for(const[t,n]of Object.entries(e))if("object"==typeof n&&null!==n){const r=o.get(n);r&&(e[t]=r)}}}(u,a.stores,e),a.stores.__cache||(a.stores.__cache=dt()),a.destinations=await async function(e,t={}){var n,o;const r={};for(const[s,a]of Object.entries(t))(null==(o=null==(n=a.config)?void 0:n.require)?void 0:o.length)?e.pending.destinations[s]=a:r[s]=at(a);return r}(a,e.destinations||{}),a.transformers=await async function(e,t={}){var n,o,r,s;const a={};for(const[i,c]of Object.entries(t)){const{code:t,env:u={}}=c,l=le(c,"Transformer");if(!l.ok){e.logger.warn(`Transformer ${i} invalid (${l.code}): ${l.reason}. Skipping.`);continue}const{config:d}=Ee(c,"before"),{config:f}=Ee({...c,config:d},"next"),p=Object.keys(u).length>0?{...f,env:u}:f,{cache:g}=c,m=g?{...p,cache:g}:p,{state:v}=c,y=void 0!==v&&void 0===m.state?{...m,state:v}:m,w=e.logger.scope("transformer").scope(i),b={collector:e,logger:w,id:i,ingest:h(i),config:y,env:u},k=null!=t?t:e=>{const t=c.mapping;if(t){const n=[];if(void 0!==t.data&&n.push("data"),t.mapping)for(const[e,o]of Object.entries(t.mapping))if("object"==typeof o&&null!==o)for(const[t,r]of Object.entries(o)){if("object"!=typeof r||null===r)continue;const o=r;void 0!==o.data&&n.push(`mapping[${e}][${t}].data`),void 0!==o.silent&&n.push(`mapping[${e}][${t}].silent`)}return n.length>0&&e.collector.logger.warn(`Transformer ${i}: \`${n.join(", ")}\` ignored at transformer position (only event-mutating fields apply).`),{type:"pass",config:e.config,push:async n=>{const o=await B(n,t,e.collector);return!o.ignore&&{event:o.event}}}}return{type:"pass",config:e.config,push:e=>({event:e})}},O=await k(b);void 0!==c.before&&void 0===(null==(n=O.config)?void 0:n.before)&&(O.config={...null!=(o=O.config)?o:{},before:c.before}),void 0!==c.next&&void 0===(null==(r=O.config)?void 0:r.next)&&(O.config={...null!=(s=O.config)?s:{},next:c.next}),a[i]=O}return a}(a,e.transformers||{}),a}async function ht(e){e=e||{};const t=await gt(e),n=(o=t,{type:"elb",config:{},push:async(e,t,n,r,s)=>{if("string"==typeof e&&e.startsWith("walker ")){const n=e.replace("walker ","");return o.command(n,t)}let a;if("string"==typeof e)a={name:e},t&&"object"==typeof t&&!Array.isArray(t)&&(a.data=t);else{if(!e||"object"!=typeof e)return st({ok:!1});a=e,t&&"object"==typeof t&&!Array.isArray(t)&&(a.data={...a.data||{},...t})}return n&&"object"==typeof n&&(a.context=n),r&&Array.isArray(r)&&(a.nested=r),s&&"object"==typeof s&&(a.custom=s),o.push(a)}});var o;t.sources.elb=n,await async function(e,t={}){var n;const o={};for(const[r,s]of Object.entries(t)){const t=await Ke(e,r,s);if(!t)continue;const a=null==(n=s.config)?void 0:n.require;t.config={...t.config,init:!1,...a?{require:[...a]}:{}},o[r]=t}Object.assign(e.sources,o);for(const t of Object.keys(o)){const n=e.sources[t];let o=!1;n.init&&await N(n.init.bind(n),n=>{if(n instanceof z)throw n;o=!0,e.status.failed++,e.logger.scope("source").error("source init failed",{sourceId:t,error:n})})(),o||(n.config.init=!0,ze(n)&&await Ne(e,n,t))}return o}(t,e.sources||{});const{consent:r,user:s,globals:a,custom:i}=e;r&&await t.command("consent",r),s&&await t.command("user",s),a&&Object.assign(t.globals,a),i&&Object.assign(t.custom,i),t.config.run&&await t.command("run");let c=n.push;const u=Object.values(t.sources).filter(e=>"elb"!==e.type),l=u.find(e=>e.config.primary);return l?c=l.push:u.length>0&&(c=u[0].push),{collector:t,elb:c}}var mt,vt=async e=>{let t;return{get flow(){return t},trigger:()=>async n=>{var o,r;if(!t){const n={...e};if(n.sources){n.sources={...n.sources};for(const[e,t]of Object.entries(n.sources))(null==(o=t.env)?void 0:o.window)||(n.sources[e]={...t,env:{...t.env,window:window}})}const s=await ht({...n,run:null==(r=n.run)||r});t={collector:s.collector,elb:s.elb}}const s=window;s.dataLayer||(s.dataLayer=[]),s.dataLayer.push(n)}}},yt=(e,t)=>{const n=t.window;n.dataLayer||(n.dataLayer=[]),n.dataLayer.push(e)},wt=async e=>{const{config:t,env:n}=e,{elb:o,window:r}=n,s={name:"dataLayer",prefix:"dataLayer",...null==t?void 0:t.settings},a={settings:s};let i=0;return{type:"dataLayer",config:a,push:o,on:async e=>{if("run"===e&&r&&i>0){!function(e,t,n,o=globalThis.window){const r=t.settings,s=o[(null==r?void 0:r.name)||"dataLayer"];if(Array.isArray(s)&&!de){de=!0;try{const t=null!=n?n:s.length;for(let n=0;n<t;n++)fe(e,r,s[n])}finally{de=!1}}}(o,a,i,r),i=0}},init:()=>{if(!r)return;const e=s.name||"dataLayer",t=r[e];i=Array.isArray(t)?t.length:0;!function(e,t,n=globalThis.window){const o=t.settings,r=(null==o?void 0:o.name)||"dataLayer";n[r]||(n[r]=[]);const s=n[r];if(!Array.isArray(s))return;const a=s.push.bind(s);s.push=function(...t){if(de)return a(...t);de=!0;try{for(const n of t)fe(e,o,n)}finally{de=!1}return a(...t)}}(o,a,r)},destroy:async()=>{const e=s.name||"dataLayer";r&&r[e]&&Array.isArray(r[e])}}},bt=wt;return mt=s,((r,s,a,i)=>{if(s&&"object"==typeof s||"function"==typeof s)for(let c of n(s))o.call(r,c)||c===a||e(r,c,{get:()=>s[c],enumerable:!(i=t(s,c))||i.enumerable});return r})(e({},"__esModule",{value:!0}),mt)})();
package/dist/index.es5.js CHANGED
@@ -1 +1 @@
1
- "use strict";function _array_like_to_array(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}function _array_with_holes(e){if(Array.isArray(e))return e}function _array_without_holes(e){if(Array.isArray(e))return _array_like_to_array(e)}function _assert_this_initialized(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function asyncGeneratorStep(e,t,n,r,o,a,s){try{var i=e[a](s),c=i.value}catch(e){return void n(e)}i.done?t(c):Promise.resolve(c).then(r,o)}function _async_to_generator(e){return function(){var t=this,n=arguments;return new Promise(function(r,o){var a=e.apply(t,n);function s(e){asyncGeneratorStep(a,r,o,s,i,"next",e)}function i(e){asyncGeneratorStep(a,r,o,s,i,"throw",e)}s(void 0)})}}function _call_super(e,t,n){return t=_get_prototype_of(t),_possible_constructor_return(e,_is_native_reflect_construct()?Reflect.construct(t,n||[],_get_prototype_of(e).constructor):t.apply(e,n))}function _class_call_check(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function _construct(e,t,n){return _construct=_is_native_reflect_construct()?Reflect.construct:function(e,t,n){var r=[null];r.push.apply(r,t);var o=new(Function.bind.apply(e,r));return n&&_set_prototype_of(o,n.prototype),o},_construct.apply(null,arguments)}function _define_property(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function _get_prototype_of(e){return _get_prototype_of=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)},_get_prototype_of(e)}function _inherits(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&_set_prototype_of(e,t)}function _instanceof(e,t){return null!=t&&"undefined"!=typeof Symbol&&t[Symbol.hasInstance]?!!t[Symbol.hasInstance](e):e instanceof t}function _is_native_function(e){return-1!==Function.toString.call(e).indexOf("[native code]")}function _iterable_to_array(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}function _iterable_to_array_limit(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var r,o,a=[],s=!0,i=!1;try{for(n=n.call(e);!(s=(r=n.next()).done)&&(a.push(r.value),!t||a.length!==t);s=!0);}catch(e){i=!0,o=e}finally{try{s||null==n.return||n.return()}finally{if(i)throw o}}return a}}function _non_iterable_rest(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function _non_iterable_spread(){throw new TypeError("Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function _object_spread(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{},r=Object.keys(n);"function"==typeof Object.getOwnPropertySymbols&&(r=r.concat(Object.getOwnPropertySymbols(n).filter(function(e){return Object.getOwnPropertyDescriptor(n,e).enumerable}))),r.forEach(function(t){_define_property(e,t,n[t])})}return e}function ownKeys(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function _object_spread_props(e,t){return t=null!=t?t:{},Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):ownKeys(Object(t)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(t,n))}),e}function _object_without_properties(e,t){if(null==e)return{};var n,r,o,a={};if("undefined"!=typeof Reflect&&Reflect.ownKeys){for(n=Reflect.ownKeys(Object(e)),o=0;o<n.length;o++)r=n[o],t.indexOf(r)>=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(a[r]=e[r]);return a}if(a=_object_without_properties_loose(e,t),Object.getOwnPropertySymbols)for(n=Object.getOwnPropertySymbols(e),o=0;o<n.length;o++)r=n[o],t.indexOf(r)>=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(a[r]=e[r]);return a}function _object_without_properties_loose(e,t){if(null==e)return{};var n,r,o={},a=Object.getOwnPropertyNames(e);for(r=0;r<a.length;r++)n=a[r],t.indexOf(n)>=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n]);return o}function _possible_constructor_return(e,t){return!t||"object"!==_type_of(t)&&"function"!=typeof t?_assert_this_initialized(e):t}function _set_prototype_of(e,t){return _set_prototype_of=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e},_set_prototype_of(e,t)}function _sliced_to_array(e,t){return _array_with_holes(e)||_iterable_to_array_limit(e,t)||_unsupported_iterable_to_array(e,t)||_non_iterable_rest()}function _to_consumable_array(e){return _array_without_holes(e)||_iterable_to_array(e)||_unsupported_iterable_to_array(e)||_non_iterable_spread()}function _type_of(e){return e&&"undefined"!=typeof Symbol&&e.constructor===Symbol?"symbol":typeof e}function _unsupported_iterable_to_array(e,t){if(e){if("string"==typeof e)return _array_like_to_array(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(n):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?_array_like_to_array(e,t):void 0}}function _wrap_native_super(e){var t="function"==typeof Map?new Map:void 0;return _wrap_native_super=function(e){if(null===e||!_is_native_function(e))return e;if("function"!=typeof e)throw new TypeError("Super expression must either be null or a function");if(void 0!==t){if(t.has(e))return t.get(e);t.set(e,n)}function n(){return _construct(e,arguments,_get_prototype_of(this).constructor)}return n.prototype=Object.create(e.prototype,{constructor:{value:n,enumerable:!1,writable:!0,configurable:!0}}),_set_prototype_of(n,e)},_wrap_native_super(e)}function _is_native_reflect_construct(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch(e){}return(_is_native_reflect_construct=function(){return!!e})()}function _ts_generator(e,t){var n,r,o,a={label:0,sent:function(){if(1&o[0])throw o[1];return o[1]},trys:[],ops:[]},s=Object.create(("function"==typeof Iterator?Iterator:Object).prototype),i=Object.defineProperty;return i(s,"next",{value:c(0)}),i(s,"throw",{value:c(1)}),i(s,"return",{value:c(2)}),"function"==typeof Symbol&&i(s,Symbol.iterator,{value:function(){return this}}),s;function c(i){return function(c){return function(i){if(n)throw new TypeError("Generator is already executing.");for(;s&&(s=0,i[0]&&(a=0)),a;)try{if(n=1,r&&(o=2&i[0]?r.return:i[0]?r.throw||((o=r.return)&&o.call(r),0):r.next)&&!(o=o.call(r,i[1])).done)return o;switch(r=0,o&&(i=[2&i[0],o.value]),i[0]){case 0:case 1:o=i;break;case 4:return a.label++,{value:i[1],done:!1};case 5:a.label++,r=i[1],i=[0];continue;case 7:i=a.ops.pop(),a.trys.pop();continue;default:if(!(o=a.trys,(o=o.length>0&&o[o.length-1])||6!==i[0]&&2!==i[0])){a=0;continue}if(3===i[0]&&(!o||i[1]>o[0]&&i[1]<o[3])){a.label=i[1];break}if(6===i[0]&&a.label<o[1]){a.label=o[1],o=i;break}if(o&&a.label<o[2]){a.label=o[2],a.ops.push(i);break}o[2]&&a.ops.pop(),a.trys.pop();continue}i=t.call(e,a)}catch(e){i=[6,e],r=0}finally{n=o=0}if(5&i[0])throw i[1];return{value:i[0]?i[1]:void 0,done:!0}}([i,c])}}}function _ts_values(e){var t="function"==typeof Symbol&&Symbol.iterator,n=t&&e[t],r=0;if(n)return n.call(e);if(e&&"number"==typeof e.length)return{next:function(){return e&&r>=e.length&&(e=void 0),{value:e&&e[r++],done:!e}}};throw new TypeError(t?"Object is not iterable.":"Symbol.iterator is not defined.")}var Destination=function(){var e=function(e,t){if("collector"===e)return"collector";if(!t)throw new Error("stepId(".concat(e,") requires an id"));return"".concat(e,".").concat(t)},t=function(e,t){var n=e.destinations[t];if(!n)throw new Error("Destination not found: ".concat(t));return n},n=function(e,t){var n=e.transformers[t];if(!n)throw new Error("Transformer not found: ".concat(t));return n},r=function(e,t){var n=e.sources[t];if(!n)throw new Error("Source not found: ".concat(t));return n},o=function(e,t){var n=e.stores[t];if(!n)throw new Error("Store not found: ".concat(t));return n},a=function(e){return{_meta:{hops:0,path:[e]}}},s=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};n=_object_spread({},ze,n);var r=Object.entries(t).reduce(function(t,r){var o=_sliced_to_array(r,2),a=o[0],s=o[1],i=e[a];return n.merge&&Array.isArray(i)&&Array.isArray(s)?t[a]=s.reduce(function(e,t){return e.includes(t)?e:_to_consumable_array(e).concat([t])},_to_consumable_array(i)):(n.extend||a in e)&&(t[a]=s),t},{});return n.shallow?_object_spread({},e,r):(Object.assign(e,r),e)},i=function(e){return Array.isArray(e)},c=function(e){return void 0!==e},u=function(e){return"function"==typeof e},l=function(e){return"object"==(void 0===e?"undefined":_type_of(e))&&null!==e&&!i(e)&&"[object Object]"===Object.prototype.toString.call(e)},f=function(e){return"string"==typeof e},d=function(e,t,n){if(!l(e))return e;for(var r=Ue(e),o=t.split("."),a=r,s=0;s<o.length;s++){var i=o[s];s===o.length-1?a[i]=n:(i in a&&"object"==_type_of(a[i])&&null!==a[i]||(a[i]={}),a=a[i])}return r},p=function(e,t){if(!l(e)&&!i(e))return e;for(var n=Ue(e),r=t.split("."),o=n,a=0;a<r.length;a++){var s=r[a],c=a===r.length-1;if(i(o)){var u=Number(s);if(!Number.isInteger(u)||u<0||u>=o.length)return n;if(c)o.splice(u,1);else{var f=o[u];if(!l(f)&&!i(f))return n;o=f}}else if(c)delete o[s];else{var d=o[s];if(!l(d)&&!i(d))return n;o=d}}return n},_=function(e){var t=_object_spread({},arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},arguments.length>2&&void 0!==arguments[2]?arguments[2]:{}),n={},r=!e||0===Object.keys(e).length;return Object.keys(t).forEach(function(o){t[o]&&(n[o]=!0,e&&e[o]&&(r=!0))}),!!r&&n},v=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:6,t=arguments.length>1?arguments[1]:void 0;if(t){for(var n=t.length,r="",o=0;o<e;o++)r+=t[Math.random()*n|0];return r}for(var a="";a.length<e;)a+=(36*Math.random()|0).toString(36);return a},g=function(e){return{message:e.message,name:e.name,stack:e.stack,cause:e.cause}},y=function(e,t){var n,r={};return _instanceof(e,Error)?(n=e.message,r.error=g(e)):n=e,void 0!==t&&(_instanceof(t,Error)?r.error=g(t):"object"==(void 0===t?"undefined":_type_of(t))&&null!==t?"error"in(r=_object_spread({},r,t))&&_instanceof(r.error,Error)&&(r.error=g(r.error)):r.value=t),{message:n,context:r}},h=function(){var e,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return Fe({level:void 0!==t.level?(e=t.level,"string"==typeof e?Ne[e]:e):0,handler:t.handler,jsonHandler:t.jsonHandler,scope:[]})},m=function(e){return We(e)?e:void 0},b=function(e,t,n){return function(){for(var r=arguments.length,o=new Array(r),a=0;a<r;a++)o[a]=arguments[a];try{return e.apply(void 0,_to_consumable_array(o))}catch(e){if(!t)return;return t(e)}finally{null==n||n()}}},w=function(e,t,n){return function(){for(var r=arguments.length,o=new Array(r),a=0;a<r;a++)o[a]=arguments[a];return _async_to_generator(function(){var r;return _ts_generator(this,function(a){switch(a.label){case 0:return a.trys.push([0,2,4,6]),[4,e.apply(void 0,_to_consumable_array(o))];case 1:case 3:return[2,a.sent()];case 2:return r=a.sent(),t?[4,t(r)]:[2];case 4:return[4,null==n?void 0:n()];case 5:return a.sent(),[7];case 6:return[2]}})})()}},j=function(e,t,n){return _async_to_generator(function(){var r,o,a,s,c,u,f,d,p,_;return _ts_generator(this,function(v){return o=_sliced_to_array((e.name||"").split(" "),2),a=o[0],s=o[1],t&&a&&s?(u="",d=s,p=function(t){if(t)return(i(t)?t:[t]).find(function(t){if(!t.condition)return!0;if(!n)return Boolean(t.condition(e,void 0));var r={event:e,mapping:t,collector:n,logger:n.logger,consent:l(e)&&e.consent||n.consent};return Boolean(t.condition(e,r))})},t[f=a]||(f="*"),[2,((_=t[f])&&(_[d]||(d="*"),c=p(_[d])),c||(f="*",d="*",c=p(null===(r=t[f])||void 0===r?void 0:r[d])),c&&(u="".concat(f," ").concat(d)),{eventMapping:c,mappingKey:u})]):[2,{}]})})()},k=function(e){return _async_to_generator(function(e){var t,n,r,o,a,s,u,f,d,p,_,v,g,y,h,m,b=arguments;return _ts_generator(this,function(j){switch(j.label){case 0:if(t=b.length>1&&void 0!==b[1]?b[1]:{},n=b.length>2&&void 0!==b[2]?b[2]:{},!c(e))return[2];if(a=l(e)&&e.consent||n.consent||(null===(o=n.collector)||void 0===o?void 0:o.consent),s=null!==(r=n.event)&&void 0!==r?r:l(e)?e:{},!n.collector)throw new Error("getMappingValue: context.collector is required");u={event:s,mapping:t,collector:n.collector,logger:n.collector.logger,consent:a},f=i(t)?t:[t],d=!0,p=!1,_=void 0,j.label=1;case 1:j.trys.push([1,6,7,8]),v=f[Symbol.iterator](),j.label=2;case 2:return(d=(g=v.next()).done)?[3,5]:(y=g.value,[4,w($e,function(e){if(_instanceof(e,Ve))throw e;n.collector&&n.collector.status.failed++,u.logger.error("mapping processing failed",{event:s,error:e})})(e,y,_object_spread_props(_object_spread({},u),{mapping:y}))]);case 3:if(h=j.sent(),c(h))return[2,h];j.label=4;case 4:return d=!0,[3,2];case 5:return[3,8];case 6:return m=j.sent(),p=!0,_=m,[3,8];case 7:try{d||null==v.return||v.return()}finally{if(p)throw _}return[7];case 8:return[2]}})}).apply(this,arguments)},S=function(e,t,n){return _async_to_generator(function(){var r,o,a,i,c,u,f,_,v,g,y,h,m,b,w,S,O;return _ts_generator(this,function(x){switch(x.label){case 0:return t.policy?[4,Promise.all(Object.entries(t.policy).map(function(t){var r=_sliced_to_array(t,2),o=r[0],a=r[1];return _async_to_generator(function(){var t;return _ts_generator(this,function(r){switch(r.label){case 0:return[4,k(e,a,{collector:n,event:e})];case 1:return t=r.sent(),e=d(e,o,t),[2]}})})()}))]:[3,2];case 1:x.sent(),x.label=2;case 2:return[4,j(e,t.mapping,n)];case 3:return o=x.sent(),a=o.eventMapping,i=o.mappingKey,(null==a?void 0:a.policy)?[4,Promise.all(Object.entries(a.policy).map(function(t){var r=_sliced_to_array(t,2),o=r[0],a=r[1];return _async_to_generator(function(){var t;return _ts_generator(this,function(r){switch(r.label){case 0:return[4,k(e,a,{collector:n,event:e})];case 1:return t=r.sent(),e=d(e,o,t),[2]}})})()}))]:[3,5];case 4:x.sent(),x.label=5;case 5:return(u=t.data)?[4,k(e,t.data,{collector:n,event:e})]:[3,7];case 6:u=x.sent(),x.label=7;case 7:return c=u,f=Boolean(null==a?void 0:a.silent),a?a.ignore?[2,{event:e,data:c,mapping:a,mappingKey:i,ignore:!0,silent:f}]:(a.name&&(e.name=a.name),a.data?(v=a.data)?[4,k(e,a.data,{collector:n,event:e})]:[3,9]:[3,10]):[3,10];case 8:v=x.sent(),x.label=9;case 9:_=v,c=l(c)&&l(_)?s(c,_):_,x.label=10;case 10:if((g=null!==(r=null==a?void 0:a.include)&&void 0!==r?r:t.include)&&g.length>0&&(y=function(e,t){var n={},r=t.includes("all")?Object.keys(Ge):t,o=!0,a=!1,s=void 0;try{for(var i,c=r[Symbol.iterator]();!(o=(i=c.next()).done);o=!0){var u=i.value,f=Ge[u];if(f){var d=f(e),p=!0,_=!1,v=void 0;if(l(d))try{for(var g,y=Object.entries(d)[Symbol.iterator]();!(p=(g=y.next()).done);p=!0){var h=_sliced_to_array(g.value,2),m=h[0],b=h[1];if(void 0!==b){var w="context"===u&&Array.isArray(b)?b[0]:b;n["".concat(u,"_").concat(m)]=w}}}catch(e){_=!0,v=e}finally{try{p||null==y.return||y.return()}finally{if(_)throw v}}}}}catch(e){a=!0,s=e}finally{try{o||null==c.return||c.return()}finally{if(a)throw s}}return n}(e,g),Object.keys(y).length>0&&(c=l(c)?s(y,c):null!=c?c:y)),h=!0,m=!1,b=void 0,(null==a?void 0:a.remove)&&l(c))try{for(w=a.remove[Symbol.iterator]();!(h=(S=w.next()).done);h=!0)O=S.value,c=p(c,O)}catch(e){m=!0,b=e}finally{try{h||null==w.return||w.return()}finally{if(m)throw b}}return[2,{event:e,data:c,mapping:a,mappingKey:i,ignore:!1,silent:f}]}})})()},O=function(e,t,n,r){var o=e;return function(){for(var e=arguments.length,a=new Array(e),s=0;s<e;s++)a[s]=arguments[s];var i,c="pre"+t,u="post"+t,l=n[c],f=n[u],d=function(e,t){r?r.warn(e,{error:t}):console.warn(e,t)};if(l)try{i=l.apply(void 0,[{fn:o}].concat(_to_consumable_array(a)))}catch(e){d("Hook ".concat(String(c)," failed, falling back to original function"),e),i=o.apply(void 0,_to_consumable_array(a))}else i=o.apply(void 0,_to_consumable_array(a));if(f)try{i=f.apply(void 0,[{fn:o,result:i}].concat(_to_consumable_array(a)))}catch(e){d("Hook ".concat(String(u)," failed, keeping original result"),e)}return i}},x=function(e,t){if(0!==e.observers.size){var n=Array.from(e.observers),r=!0,o=!1,a=void 0;try{for(var s,i=n[Symbol.iterator]();!(r=(s=i.next()).done);r=!0){var c=s.value;try{c(t)}catch(e){}}}catch(e){o=!0,a=e}finally{try{r||null==i.return||i.return()}finally{if(o)throw a}}}},I=function(e){return e.map(function(e){var t,n;if("string"==typeof e)return{match:function(){return!0},next:{type:"static",value:e}};if(Array.isArray(e))return{match:function(){return!0},next:null!==(t=Ye(e))&&void 0!==t?t:{type:"chain",value:[]}};var r=e;return{match:r.match?Je(r.match):function(){return!0},next:null!==(n=Ye(r))&&void 0!==n?n:{type:"chain",value:[]}}})},A=function(e){var t,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(null==e)return[];if("object"==(void 0===e?"undefined":_type_of(e))){var r=Ze.get(e);r?t=r:(t=Ye(e))&&Ze.set(e,t)}else t=Ye(e);if(!t)return[];var o=Qe(t,n);return void 0===o?[]:Array.isArray(o)?o:[o]},E=function(e,t){var n={ingest:null!=e?e:{}};return void 0!==t&&(n.event=t),n},C=function(e){var t;return{stop:null!==(t=e.stop)&&void 0!==t&&t,storeId:e.store,namespace:e.namespace,rules:e.rules.map(function(e){return{match:e.match?Je(e.match):function(){return!0},key:e.key,ttl:e.ttl,update:e.update}})}},q=function(e,t,n,r){return _async_to_generator(function(){var o,a,s,i,c,u;return _ts_generator(this,function(l){switch(l.label){case 0:return(o=e.rules.find(function(e){return e.match(n)}))?(a=o.key.map(function(e){var t;return String(null!==(t=Be(n,e))&&void 0!==t?t:"")})).every(function(e){return""===e})?[2,null]:(s=a.join(":"),i=null!=r?r:e.namespace,c=i?"".concat(i,":").concat(s):s,[4,t.get(c)]):[2,null];case 1:return[2,void 0!==(u=l.sent())?{status:"HIT",key:c,value:u,rule:o}:{status:"MISS",key:c,rule:o}]}})})()},P=function(e,t,n,r){e.set(t,n,1e3*r)},D=function(e,t,n,r){return _async_to_generator(function(){var o,a,s,i,c,u,l,f,p,_,v;return _ts_generator(this,function(g){switch(g.label){case 0:if(!t)return[2,e];o=e,a=!0,s=!1,i=void 0,g.label=1;case 1:g.trys.push([1,6,7,8]),c=Object.entries(t)[Symbol.iterator](),g.label=2;case 2:return(a=(u=c.next()).done)?[3,5]:(l=_sliced_to_array(u.value,2),f=l[0],p=l[1],_=[o,f],[4,k(n,p,{collector:r})]);case 3:o=d.apply(void 0,_.concat([g.sent()])),g.label=4;case 4:return a=!0,[3,2];case 5:return[3,8];case 6:return v=g.sent(),s=!0,i=v,[3,8];case 7:try{a||null==c.return||c.return()}finally{if(s)throw i}return[7];case 8:return[2,o]}})})()},T=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=arguments.length>2?arguments[2]:void 0;if(t.filter&&!0===b(function(){return t.filter(n)},function(){return!1})())return;var r=M(n);if(r){var o=t.prefix||"dataLayer",a="".concat(o," ").concat(r.name),s=(r.name,{name:a,data:_object_without_properties(r,["name"])});b(function(){return e(s)},function(){})()}},M=function(e){if(l(e)&&f(e.event))return _object_spread({name:e.event},_object_without_properties(e,["event"]));if(i(e)&&e.length>=2)return L(e);if(R(e)){var t=Array.from(e);return L(t)}return null},L=function(e){var t,n=_sliced_to_array(e,3),r=n[0],o=n[1],a=n[2];if(!f(r))return null;var s={};switch(r){case"consent":if(!f(o)||e.length<3)return null;if("default"!==o&&"update"!==o)return null;if(!l(a)||null===a)return null;t="".concat(r," ").concat(o),s=_object_spread({},a);break;case"event":if(!f(o))return null;t=o,l(a)&&(s=_object_spread({},a));break;case"config":if(!f(o))return null;t="".concat(r," ").concat(o),l(a)&&(s=_object_spread({},a));break;case"set":if(f(o))t="".concat(r," ").concat(o),l(a)&&(s=_object_spread({},a));else{if(!l(o))return null;t="".concat(r," custom"),s=_object_spread({},o)}break;default:return null}return _object_spread({name:t},s)},R=function(e){return null!=e&&"object"===(void 0===e?"undefined":_type_of(e))&&"length"in e&&"number"==typeof e.length&&e.length>0},K=function(e,t){var n=e.status.startedAt;return{flowId:"default",stepId:t.stepId,stepType:t.stepType,phase:t.phase,eventId:t.eventId,timestamp:new Date(t.now).toISOString(),elapsedMs:t.now-n}},N=function(e,t){return e.storeId&&t.stores[e.storeId]?t.stores[e.storeId]:t.stores.__cache},z=function(e){var t={},n=!0,r=!1,o=void 0;try{for(var a,s=Object.entries(e)[Symbol.iterator]();!(n=(a=s.next()).done);n=!0){var i,c=_sliced_to_array(a.value,2),u=c[0],l=null===(i=c[1].config)||void 0===i?void 0:i.next;"string"==typeof l||Array.isArray(l)&&l.every(function(e){return"string"==typeof e})?t[u]={next:l}:t[u]={}}}catch(e){r=!0,o=e}finally{try{n||null==s.return||s.return()}finally{if(r)throw o}}return t},U=function(e,t){var n=e.config||{},r=e[t];return void 0!==r?{config:_object_spread_props(_object_spread({},n),_define_property({},t,r)),chainValue:r}:{config:n,chainValue:void 0}},B=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(!e)return[];if(Array.isArray(e))return e;for(var n=[],r=new Set,o=e;o&&t[o]&&!r.has(o);){r.add(o),n.push(o);var a=t[o].next;if(Array.isArray(a)){var s;(s=n).push.apply(s,_to_consumable_array(a));break}o=a}return n},G=function(e,t,n){return _async_to_generator(function(){var r,o,s,i;return _ts_generator(this,function(c){switch(c.label){case 0:return!t.init||t.config.init?[3,2]:(r=t.type||"unknown",o=e.logger.scope("transformer:".concat(r)),s={collector:e,logger:o,id:n,ingest:a(n),config:t.config,env:W(t.config.env)},o.debug("init"),[4,O(t.init,"TransformerInit",e.hooks,e.logger)(s)]);case 1:if(!1===(i=c.sent()))return[2,!1];t.config=_object_spread_props(_object_spread({},i||t.config),{env:(null==i?void 0:i.env)||t.config.env,init:!0}),o.debug("init done"),c.label=2;case 2:return[2,!0]}})})()},H=function(t,n,r,o,a,s){return _async_to_generator(function(){var i,c,u,l,f,d,p,_,v,g,y,h;return _ts_generator(this,function(m){switch(m.label){case 0:i=n.type||"unknown",c=t.logger.scope("transformer:".concat(i)),u={collector:t,logger:c,id:r,ingest:a,config:n.config,env:_object_spread({},W(n.config.env),s?{respond:s}:{})},c.debug("push",{event:o.name}),l="string"==typeof o.id?o.id:"",f=Date.now(),d=K(t,{stepId:e("transformer",r),stepType:"transformer",phase:"in",eventId:l,now:f}),x(t,d),m.label=1;case 1:return m.trys.push([1,3,,4]),[4,O(n.push,"TransformerPush",t.hooks,t.logger)(o,u)];case 2:return p=m.sent(),_=Date.now(),[2,((v=K(t,{stepId:e("transformer",r),stepType:"transformer",phase:"out",eventId:l,now:_})).durationMs=_-f,v.outEvent=p,x(t,v),c.debug("push done"),p)];case 3:throw g=m.sent(),y=Date.now(),(h=K(t,{stepId:e("transformer",r),stepType:"transformer",phase:"error",eventId:l,now:y})).durationMs=y-f,h.error=_instanceof(g,Error)?{name:g.name,message:g.message}:{message:String(g)},x(t,h),g;case 4:return[2]}})})()},F=function(e,t){return e?_object_spread_props(_object_spread({},e),{_meta:_object_spread_props(_object_spread({},e._meta),{path:_to_consumable_array(e._meta.path)})}):a(t)},W=function(e){return e&&l(e)?e:{}},V=function(e){return"string"==typeof e||!(!Array.isArray(e)||!e.every(function(e){return"string"==typeof e}))},$=function(e,t,n){return _async_to_generator(function(){var r,o,a,s,i,c,u,l,f,d,p;return _ts_generator(this,function(_){switch(_.label){case 0:if(!t.on||!(null===(r=t.queueOn)||void 0===r?void 0:r.length))return[2];a=t.queueOn,t.queueOn=[],s=n||(null===(o=t.config)||void 0===o?void 0:o.id)||"unknown",i=!0,c=!1,u=void 0,_.label=1;case 1:_.trys.push([1,6,7,8]),l=function(){var n,r,o;return _ts_generator(this,function(a){switch(a.label){case 0:return n=d.value,r=n.type,o=n.data,[4,w(t.on,function(t){if(_instanceof(t,Ve))throw t;e.status.failed++,e.logger.scope("source").error("source on flush failed",{sourceId:s,type:r,error:t})})(r,o)];case 1:return a.sent(),[2]}})},f=a[Symbol.iterator](),_.label=2;case 2:return(i=(d=f.next()).done)?[3,5]:[5,_ts_values(l())];case 3:_.sent(),_.label=4;case 4:return i=!0,[3,2];case 5:return[3,8];case 6:return p=_.sent(),c=!0,u=p,[3,8];case 7:try{i||null==f.return||f.return()}finally{if(c)throw u}return[7];case 8:return[2]}})})()},J=function(e){var t;return Boolean(e.config.init)&&!(null===(t=e.config.require)||void 0===t?void 0:t.length)},Y=function(e,t,n){return _async_to_generator(function(){var r,o,s,i,c,u,l,f,d,p,_,v,g,y,h,m,b,j,S,O,x,I,T,M,L;return _ts_generator(this,function(R){switch(R.label){case 0:return o=n.code,s=n.config,i=void 0===s?{}:s,c=n.env,u=void 0===c?{}:c,l=n.primary,f=n.next,d=n.before,p=n.cache,v=(_=p)?C(_object_spread_props(_object_spread({},_),{stop:null===(r=_.stop)||void 0===r||r})):void 0,g=V(f)?B(f,z(e.transformers)):void 0,y=V(d)?B(d,z(e.transformers)):void 0,h=u.push,m=null!=h?h:e.push,b=Boolean(h),j=function(n,r,o){return _async_to_generator(function(){var a,s,c,u,l,p,_,h,j,k,S,O,x,I,C,T,M,L,R,K,U,G,H,W;return _ts_generator(this,function(V){switch(V.label){case 0:return s=null!=y?y:void 0!==d?function(){var t=A(d,E(o.ingest));return 0===t.length?[]:B(1===t.length?t[0]:t,z(e.transformers))}():[],c=[n],s.length>0&&e.transformers&&Object.keys(e.transformers).length>0?[4,yt(e,e.transformers,s,n,o.ingest,o.respond,"source.".concat(t,".before"))]:[3,2];case 1:if(null===(u=V.sent()).event)return[2,{ok:!0}];if(u.stopped)return[2,(u.respond&&(o.respond=u.respond),{ok:!0})];u.respond&&(o.respond=u.respond),c=Array.isArray(u.event)?u.event:[u.event],V.label=2;case 2:return v&&(l=N(v,e))?(p=E(o.ingest),[4,q(v,l,p)]):[3,7];case 3:return(_=V.sent())?"HIT"===_.status&&void 0!==_.value&&v.stop?(j=_.value,_.rule.update?[4,D(j,_.rule.update,_object_spread_props(_object_spread({},p),{cache:{status:"HIT"}}),e)]:[3,5]):[3,6]:[3,7];case 4:j=V.sent(),V.label=5;case 5:return[2,(null===(h=o.respond)||void 0===h||h.call(o,j),{ok:!0})];case 6:"MISS"===_.status&&v.stop&&o.respond&&(k=o.respond,S=_.rule.update,O=_object_spread_props(_object_spread({},p),{cache:{status:"MISS"}}),x=_.key,I=_.rule.ttl,C=function(t){P(l,x,t,I),S?a=_async_to_generator(function(){var n;return _ts_generator(this,function(r){switch(r.label){case 0:return[4,D(t,S,O,e)];case 1:return n=r.sent(),k(n),[2]}})})():k(t)},o.respond=C),"MISS"!==_.status||v.stop||P(l,_.key,!0,_.rule.ttl),V.label=7;case 7:T=g?{kind:"single",preChain:g}:void 0!==f?function(){var t=A(f,E(o.ingest));return 0===t.length?{kind:"single",preChain:[]}:1===t.length?{kind:"single",preChain:B(t[0],z(e.transformers))}:{kind:"many",branches:t.map(function(t){return B(t,z(e.transformers))})}}():{kind:"single",preChain:[]},M={ok:!0},L=!0,R=!1,K=void 0,V.label=8;case 8:V.trys.push([8,13,14,15]),U=function(){var n,a;return _ts_generator(this,function(s){switch(s.label){case 0:return n=H.value,"many"!==T.kind?[3,2]:[4,Promise.all(T.branches.map(function(a,s){return w(function(){return _async_to_generator(function(){return _ts_generator(this,function(e){return[2,b?m(n):m(n,_object_spread_props(_object_spread({},r),{id:t,ingest:F(o.ingest,"".concat(t,".").concat(s)),respond:void 0,mapping:i,preChain:a}))]})})()},function(t){return e.logger.scope("source:many").error("many branch ".concat(s," failed"),{error:t}),{ok:!0}})()}))];case 1:return s.sent(),M={ok:!0},[3,7];case 2:return b?[4,m(n)]:[3,4];case 3:return a=s.sent(),[3,6];case 4:return[4,m(n,_object_spread_props(_object_spread({},r),{id:t,ingest:o.ingest,respond:o.respond,mapping:i,preChain:T.preChain}))];case 5:a=s.sent(),s.label=6;case 6:M=a,s.label=7;case 7:return[2]}})},G=c[Symbol.iterator](),V.label=9;case 9:return(L=(H=G.next()).done)?[3,12]:[5,_ts_values(U())];case 10:V.sent(),V.label=11;case 11:return L=!0,[3,9];case 12:return[3,15];case 13:return W=V.sent(),R=!0,K=W,[3,15];case 14:try{L||null==G.return||G.return()}finally{if(R)throw K}return[7];case 15:return a?[4,a]:[3,17];case 16:V.sent(),V.label=17;case 17:return[2,M]}})})()},S=function(n){return _async_to_generator(function(){var r,o;return _ts_generator(this,function(s){switch(s.label){case 0:return r=a(t),i.ingest&&void 0!==n?[4,k(n,i.ingest,{collector:e})]:[2,r];case 1:return o=s.sent(),[2,_object_spread_props(_object_spread({},r,o),{_meta:r._meta})]}})})()},O=e.logger.scope("source").scope(t),x=_object_spread_props(_object_spread({command:e.command,sources:e.sources,elb:e.sources.elb.push,logger:O},u),{push:function(e){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return _async_to_generator(function(){var r;return _ts_generator(this,function(o){return r={ingest:a(t),respond:void 0},[2,j(e,n,r)]})})()}}),I={collector:e,logger:O,id:t,config:i,env:x,withScope:function(e,t,n){return _async_to_generator(function(){var r,o;return _ts_generator(this,function(a){switch(a.label){case 0:return o={},[4,S(e)];case 1:return o.ingest=a.sent(),o.respond=t,r=o,[2,n(_object_spread_props(_object_spread({},x),{push:function(e){return j(e,arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},r)},ingest:r.ingest,respond:r.respond}))]}})})()}},[4,w(o,function(n){if(_instanceof(n,Ve))throw n;e.status.failed++,e.logger.scope("source").error("source factory failed",{sourceId:t,error:n})})(I)];case 1:return(T=R.sent())?(M=T.type||"unknown",L=e.logger.scope(M).scope(t),[2,(x.logger=L,l&&(T.config=_object_spread_props(_object_spread({},T.config),{primary:l})),T)]):[2]}})})()},Z=function(e){return _async_to_generator(function(e){var t,n,r,o,a,s,i,c,u,l,f,d,p,_,v,g,y,h,m,b,j=arguments;return _ts_generator(this,function(k){switch(k.label){case 0:t=j.length>1&&void 0!==j[1]?j[1]:{},n={},r=!0,o=!1,a=void 0,k.label=1;case 1:k.trys.push([1,6,7,8]),s=Object.entries(t)[Symbol.iterator](),k.label=2;case 2:return(r=(i=s.next()).done)?[3,5]:(c=_sliced_to_array(i.value,2),u=c[0],l=c[1],[4,Y(e,u,l)]);case 3:if(!(d=k.sent()))return[3,4];p=null===(f=l.config)||void 0===f?void 0:f.require,d.config=_object_spread(_object_spread_props(_object_spread({},d.config),{init:!1}),p?{require:_to_consumable_array(p)}:{}),n[u]=d,k.label=4;case 4:return r=!0,[3,2];case 5:return[3,8];case 6:return b=k.sent(),o=!0,a=b,[3,8];case 7:try{r||null==s.return||s.return()}finally{if(o)throw a}return[7];case 8:Object.assign(e.sources,n),_=!0,v=!1,g=void 0,k.label=9;case 9:k.trys.push([9,14,15,16]),y=function(){var t,n,r,o;return _ts_generator(this,function(a){switch(a.label){case 0:return t=m.value,n=e.sources[t],r=!1,n.init?[4,w(n.init.bind(n),function(n){if(_instanceof(n,Ve))throw n;r=!0,e.status.failed++,e.logger.scope("source").error("source init failed",{sourceId:t,error:n})})()]:[3,2];case 1:a.sent(),a.label=2;case 2:return r?[3,5]:(n.config.init=!0,(o=J(n))?[4,$(e,n,t)]:[3,4]);case 3:o=a.sent(),a.label=4;case 4:a.label=5;case 5:return[2]}})},h=Object.keys(n)[Symbol.iterator](),k.label=10;case 10:return(_=(m=h.next()).done)?[3,13]:[5,_ts_values(y())];case 11:k.sent(),k.label=12;case 12:return _=!0,[3,10];case 13:return[3,16];case 14:return b=k.sent(),v=!0,g=b,[3,16];case 15:try{_||null==h.return||h.return()}finally{if(v)throw g}return[7];case 16:return[2,n]}})}).apply(this,arguments)},Q=function(e,t,n,r){if(_instanceof(n,Ve))throw n;e.logger.scope("on").error("on callback failed",_object_spread_props(_object_spread({kind:t},r),{error:n}))},X=function(e,t){return{collector:e,logger:e.logger.scope("on").scope(String(t))}},ee=function(e,t,n){return _async_to_generator(function(){var r,o,a;return _ts_generator(this,function(s){return r=e.on,o=r[t]||[],(a=i(n)?n:[n]).forEach(function(e){o.push(e)}),r[t]=o,ne(e,t,a),[2]})})()},te=function(e,t,n,r,o){if(t.on){var a=t.type||"unknown",s=e.logger.scope(a).scope("on").scope(r),i={collector:e,logger:s,id:n,config:t.config,data:o,env:me(t.env,t.config.env)};b(t.on,function(t){return Q(e,"destination",t,{destId:n,type:r})})(r,i)}},ne=function(e,t,n,r){var o,a,s,i,c;switch(t){case gt.Commands.Consent:o=r||e.consent;break;case gt.Commands.Session:o=e.session;break;case gt.Commands.User:o=r||e.user;break;case gt.Commands.Custom:o=r||e.custom;break;case gt.Commands.Globals:o=r||e.globals;break;case gt.Commands.Config:o=r||e.config;break;case gt.Commands.Ready:case gt.Commands.Run:default:o=void 0}if(n.length)switch(t){case gt.Commands.Consent:a=e,s=n,i=r||a.consent,c=X(a,gt.Commands.Consent),s.forEach(function(e){Object.keys(i).filter(function(t){return t in e}).forEach(function(t){b(e[t],function(e){return Q(a,"consent",e,{key:t})})(i,c)})});break;case gt.Commands.Ready:!function(e,t){if(e.allowed){var n=X(e,gt.Commands.Ready);t.forEach(function(t){b(t,function(t){return Q(e,"ready",t)})(void 0,n)})}}(e,n);break;case gt.Commands.Run:!function(e,t){if(e.allowed){var n=X(e,gt.Commands.Run);t.forEach(function(t){b(t,function(t){return Q(e,"run",t)})(void 0,n)})}}(e,n);break;case gt.Commands.Session:!function(e,t){if(e.session){var n=X(e,gt.Commands.Session);t.forEach(function(t){b(t,function(t){return Q(e,"session",t)})(e.session,n)})}}(e,n);break;default:var u=X(e,t);n.forEach(function(n){"function"==typeof n&&b(n,function(n){return Q(e,"generic",n,{type:t})})(o,u)})}},re=function(e,t,n,r){return _async_to_generator(function(){var o,a,s,i,c,u,l,f,d,p,_,v,g,y,h,m,b,j,k;return _ts_generator(this,function(S){switch(S.label){case 0:switch(s=n||[],n||(s=e.on[t]||[]),t){case gt.Commands.Consent:a=r||e.consent;break;case gt.Commands.Session:a=e.session;break;case gt.Commands.User:a=r||e.user;break;case gt.Commands.Custom:a=r||e.custom;break;case gt.Commands.Globals:a=r||e.globals;break;case gt.Commands.Config:a=r||e.config;break;case gt.Commands.Ready:case gt.Commands.Run:default:a=void 0}i=!1,c=!0,u=!1,l=void 0,S.label=1;case 1:S.trys.push([1,6,7,8]),f=function(){var n,r,o,s,c,u;return _ts_generator(this,function(l){switch(l.label){case 0:return n=_sliced_to_array(p.value,2),r=n[0],o=n[1],(null===(s=o.config.require)||void 0===s?void 0:s.length)&&-1!==(c=o.config.require.indexOf(t))&&o.config.require.splice(c,1),o.on?J(o)?(u=!1,[4,w(o.on,function(n){return Q(e,"source",n,{sourceId:r,type:t})})(t,a)]):[3,2]:[3,3];case 1:return u===l.sent()&&(i=!0),[3,3];case 2:o.queueOn=o.queueOn||[],o.queueOn.push({type:t,data:a}),l.label=3;case 3:return[2]}})},d=Object.entries(e.sources)[Symbol.iterator](),S.label=2;case 2:return(c=(p=d.next()).done)?[3,5]:[5,_ts_values(f())];case 3:S.sent(),S.label=4;case 4:return c=!0,[3,2];case 5:return[3,8];case 6:return k=S.sent(),u=!0,l=k,[3,8];case 7:try{c||null==d.return||d.return()}finally{if(u)throw l}return[7];case 8:Object.entries(e.destinations).forEach(function(n){var r=_sliced_to_array(n,2),o=r[0],s=r[1];if(s.on){if(!s.config.init)return s.queueOn=s.queueOn||[],void s.queueOn.push({type:t,data:a});te(e,s,o,t,a)}}),_=!0,v=!1,g=void 0,S.label=9;case 9:S.trys.push([9,15,16,17]),y=Object.entries(e.sources)[Symbol.iterator](),S.label=10;case 10:return(_=(h=y.next()).done)?[3,14]:(m=_sliced_to_array(h.value,2),b=m[0],j=m[1],J(j)&&(null===(o=j.queueOn)||void 0===o?void 0:o.length)?[4,$(e,j,b)]:[3,12]);case 11:S.sent(),S.label=12;case 12:S.label=13;case 13:return _=!0,[3,10];case 14:return[3,17];case 15:return k=S.sent(),v=!0,g=k,[3,17];case 16:try{_||null==y.return||y.return()}finally{if(v)throw g}return[7];case 17:return Object.keys(e.pending.destinations).length>0?[4,function(e,t){return _async_to_generator(function(){var n,r,o,a,s,i,c,u,l,f,d,p;return _ts_generator(this,function(_){n=!0,r=!1,o=void 0;try{for(a=Object.entries(e.pending.destinations)[Symbol.iterator]();!(n=(s=a.next()).done);n=!0)i=_sliced_to_array(s.value,2),c=i[0],u=i[1],e.pending.destinations[c]&&!e.destinations[c]&&(f=null===(l=u.config)||void 0===l?void 0:l.require)&&-1!==(d=f.indexOf(t))&&(f.splice(d,1),f.length>0||(delete e.pending.destinations[c],!1!==(p=ye(u)).config.queue&&(p.queuePush=_to_consumable_array(e.queue)),e.destinations[c]=p))}catch(e){r=!0,o=e}finally{try{n||null==a.return||a.return()}finally{if(r)throw o}}return[2]})})()}(e,t)]:[3,19];case 18:S.sent(),S.label=19;case 19:return[2,(ne(e,t,s,r),!i)]}})})()},oe=function(e,t,n,r){var o;if(!Number.isFinite(n.max)||n.max<=0)throw new Error("pushBounded: max must be > 0 (got ".concat(n.max,")"));if("dropNewest"===(null!==(o=n.onOverflow)&&void 0!==o?o:"dropOldest"))return e.length>=n.max?(r&&r([t]),{appended:!1,dropped:1}):(e.push(t),{appended:!0,dropped:0});for(var a=[];e.length>=n.max;)a.push(e.shift());return e.push(t),a.length>0&&r&&r(a),{appended:!0,dropped:a.length}},ae=function(e,t,n,r){mt.get(e)||(mt.set(e,!0),t.warn(n,r))},se=function(e){mt.delete(e)},ie=function(e){return e===bt},ce=function(e){return void 0===e?{}:"number"==typeof e?{wait:e}:{wait:e.wait,size:e.size,age:e.age}},ue=function(e,t){return e.status.destinations[t]||(e.status.destinations[t]={count:0,failed:0,duration:0,queuePushSize:0,dlqSize:0}),e.status.destinations[t]},le=function(e,t,n,r){var o;e.dropped[t]||(e.dropped[t]={});var a=e.dropped[t];return a[n]=(null!==(o=a[n])&&void 0!==o?o:0)+r,a[n]},fe=function(e,t,n){if(!e)return[];if(Array.isArray(e)&&e.every(function(e){return"string"==typeof e}))return B(e,t);if("string"==typeof e)return B(e,t);var r=A(e,E(n));return 0===r.length?[]:1===r.length?B(r[0],t):B(r,t)},de=function(e,t){return _async_to_generator(function(){var n,r,o,a,s,i,c,l,f,d,p,_;return _ts_generator(this,function(g){if(n=t.code,r=t.config,o=void 0===r?{}:r,a=t.env,s=void 0===a?{}:a,i=t.before,c=t.next,l=t.cache,!u(n.push))return[2,ge({ok:!1,failed:{invalid:{type:"invalid",error:"Destination code must have a push method"}}})];if(f=o||{init:!1},d=i?_object_spread_props(_object_spread({},f),{before:i}):_object_spread({},f),c&&(d=_object_spread_props(_object_spread({},d),{next:c})),l&&(d=_object_spread_props(_object_spread({},d),{cache:l})),p=_object_spread_props(_object_spread({},n),{config:d,env:me(n.env,s)}),!(_=p.config.id))do{_=v(5,"abcdefghijklmnopqrstuvwxyz")}while(e.destinations[_]);return[2,(e.destinations[_]=p,!1!==p.config.queue&&(p.queuePush=_to_consumable_array(e.queue)),pe(e,void 0,{},_define_property({},_,p)))]})})()},pe=function(t,n,r){return _async_to_generator(function(t,n){var r,o,i,c,u,l,f,d,p,v,g,y,h,m,b,j,k,S,O,I,A,D,T,M,L,R,U,B,G,H,F,W,V=arguments;return _ts_generator(this,function($){switch($.label){case 0:if(r=V.length>2&&void 0!==V[2]?V[2]:{},o=V.length>3?V[3]:void 0,i=t.allowed,c=t.consent,u=t.globals,l=t.user,!i)return[2,ge({ok:!1})];if(n){if(void 0===(f=t.config.queueMax))throw new Error("Collector.Config.queueMax is undefined; defaults must be seeded by collector()");(d=oe(t.queue,n,{max:f})).dropped>0?(p=le(t.status,e("collector"),"queue",d.dropped),ae(t.queue,t.logger,"collector.queue overflow; oldest events dropped",{buffer:"queue",cap:f,droppedCount:p})):t.queue.length<f&&se(t.queue),t.status.in++}return o||(o=t.destinations),v=t.transformers?z(t.transformers):{},[4,Promise.all(Object.entries(o||{}).map(function(o){var i=_sliced_to_array(o,2),f=i[0],d=i[1];return _async_to_generator(function(){var o,i,p,g,y,h,m,b,j,k,S,O,I,A,D,T,M,L,R,z,U,B,G,H,F,W,V,$,J,Y,Z,Q,X,ee;return _ts_generator(this,function(te){switch(te.label){case 0:if(d.config.disabled)return[2,{id:f,destination:d,skipped:!0}];if(g=(d.queuePush||[]).map(function(e){return _object_spread_props(_object_spread({},e),{consent:c})}),d.queuePush=[],n&&g.push(Ue(n)),y=r.ingest?_object_spread_props(_object_spread({},r.ingest),{_meta:_object_spread_props(_object_spread({},r.ingest._meta),{path:_to_consumable_array(r.ingest._meta.path)})}):a("unknown"),!g.length&&!(null===(o=d.queueOn)||void 0===o?void 0:o.length))return[2,{id:f,destination:d,skipped:!0}];if(g.length||!(null===(i=d.queueOn)||void 0===i?void 0:i.length))return[3,5];h=!1,te.label=1;case 1:return te.trys.push([1,3,,4]),[4,_e(t,d,f)];case 2:return h=te.sent(),[3,4];case 3:return m=te.sent(),t.status.failed++,b=d.type||"unknown",t.logger.scope(b).error("destination init failed",{error:_instanceof(m,Error)?m.message:String(m)}),[3,4];case 4:return[2,{id:f,destination:d,skipped:!h}];case 5:if(j=[],k=g.filter(function(n){var r=_(d.config.consent,c,n.consent);if(r)return n.consent=r,j.push(n),!1;var o=K(t,{stepId:e("destination",f),stepType:"destination",phase:"skip",eventId:"string"==typeof n.id?n.id:"",now:Date.now()});return o.skipReason="consent",c&&(o.consent=_object_spread({},c)),d.config.consent&&(o.meta={required:_object_spread({},d.config.consent)}),x(t,o),!0}),k.length>0){O=d.queuePush,I=d.config.id||f,A={max:null!==(S=d.config.queueMax)&&void 0!==S?S:1e3},D=0,T=!0,M=!1,L=void 0;try{for(R=k[Symbol.iterator]();!(T=(z=R.next()).done);T=!0)U=z.value,D+=oe(O,U,A).dropped}catch(e){M=!0,L=e}finally{try{T||null==R.return||R.return()}finally{if(M)throw L}}D>0?(ue(t,I),B=le(t.status,e("destination",I),"queue",D),ae(O,t.logger.scope(d.type||"unknown"),"destination.queuePush overflow; oldest events dropped",{buffer:"queuePush",destination:I,cap:A.max,droppedCount:B})):O.length<A.max&&se(O)}if(!j.length)return[2,{id:f,destination:d,queue:g}];F=!1,te.label=6;case 6:return te.trys.push([6,8,,9]),[4,_e(t,d,f)];case 7:return F=te.sent(),[3,9];case 8:return W=te.sent(),t.status.failed++,V=d.type||"unknown",t.logger.scope(V).error("destination init failed",{error:_instanceof(W,Error)?W.message:String(W)}),[3,9];case 9:return F?(d.dlq||(d.dlq=[]),$=fe(d.config.before,v,y),J=d.config.next,Y=null===(p=d.config)||void 0===p?void 0:p.cache,Z=Y?C(Y):void 0,Q=Z?N(Z,t):void 0,X=0,ee=0,[4,Promise.all(j.map(function(n){return _async_to_generator(function(){var o,a,i,c,p,_,g,h,m,b,j,k,S;return _ts_generator(this,function(O){switch(O.label){case 0:return n.globals=s(u,n.globals),n.user=s(l,n.user),(null==Z?void 0:Z.stop)&&Q?(a=E(y,n),[4,q(Z,Q,a)]):[3,2];case 1:if("HIT"===(null==(i=O.sent())?void 0:i.status))return[2,n];"MISS"===(null==i?void 0:i.status)&&(o={key:i.key,ttl:i.rule.ttl}),O.label=2;case 2:return c=n,p=r.respond,$.length>0&&t.transformers&&Object.keys(t.transformers).length>0?[4,yt(t,t.transformers,$,n,y,r.respond,"destination.".concat(f,".before"))]:[3,4];case 3:if(null===(_=O.sent()).event)return[2,n];_.respond&&(p=_.respond),c=Array.isArray(_.event)?_.event[0]:_.event,O.label=4;case 4:return Z&&!Z.stop&&Q?(g=E(y,c),[4,q(Z,Q,g)]):[3,6];case 5:if("HIT"===(null==(h=O.sent())?void 0:h.status))return[2,n];"MISS"===(null==h?void 0:h.status)&&(o={key:h.key,ttl:h.rule.ttl}),O.label=6;case 6:return m=Date.now(),b=!1,[4,w(ve,function(n){var r,o=d.type||"unknown";t.logger.scope(o).error("Push failed",{error:n,event:c.name}),G=n,b=!0;var a=d.dlq,s=d.config.id||f,i={max:null!==(r=d.config.dlqMax)&&void 0!==r?r:100},u=oe(a,[c,n],i);if(u.dropped>0){ue(t,s);var l=le(t.status,e("destination",s),"dlq",u.dropped);ae(a,t.logger.scope(d.type||"unknown"),"destination.dlq overflow; oldest entries dropped",{buffer:"dlq",destination:s,cap:i.max,droppedCount:l})}else a.length<i.max&&se(a)})(t,d,f,c,y,p)];case 7:return j=O.sent(),X+=Date.now()-m,o&&Q&&void 0===d.config.mock&&P(Q,o.key,null==j||j,o.ttl),void 0===j||ie(j)||(H=j),ie(j)&&ee++,b||!J?[3,9]:(void 0!==j&&(y._response=j),(k=fe(J,v,y)).length>0&&t.transformers&&Object.keys(t.transformers).length>0?[4,yt(t,t.transformers,k,c,y,p,"destination.".concat(f,".next"))]:[3,9]);case 8:(S=O.sent()).respond&&(p=S.respond),O.label=9;case 9:return[2,n]}})})()}))]):[2,{id:f,destination:d,queue:g}];case 10:return[2,(te.sent(),{id:f,destination:d,error:G,response:H,totalDuration:X,batchedCount:ee,allowedCount:j.length})]}})})()}))];case 1:g=$.sent(),y={},h={},m={},b=!0,j=!1,k=void 0;try{for(S=g[Symbol.iterator]();!(b=(O=S.next()).done);b=!0)(I=O.value).skipped||(L=I.destination,R={type:L.type||"unknown",data:I.response},ue(t,I.id),U=t.status.destinations[I.id],B=Date.now(),U.queuePushSize=null!==(A=null===(T=L.queuePush)||void 0===T?void 0:T.length)&&void 0!==A?A:0,U.dlqSize=null!==(D=null===(M=L.dlq)||void 0===M?void 0:M.length)&&void 0!==D?D:0,I.error?(R.error=I.error,m[I.id]=R,U.failed++,U.lastAt=B,U.duration+=I.totalDuration||0,t.status.failed++):I.queue&&I.queue.length?h[I.id]=R:(F=null!==(G=I.batchedCount)&&void 0!==G?G:0,W=null!==(H=I.allowedCount)&&void 0!==H?H:0,(Math.max(0,W-F)>0||0===W)&&(y[I.id]=R,U.count++,U.lastAt=B,U.duration+=I.totalDuration||0,t.status.out++)))}catch(e){j=!0,k=e}finally{try{b||null==S.return||S.return()}finally{if(j)throw k}}return[2,ge(_object_spread({event:n},Object.keys(y).length&&{done:y},Object.keys(h).length&&{queued:h},Object.keys(m).length&&{failed:m}))]}})}).apply(this,arguments)},_e=function(t,n,r){return _async_to_generator(function(){var o,a,s,i,c,u,l,f,d,p,_,v,g,y,h,m,b,w;return _ts_generator(this,function(j){switch(j.label){case 0:if(!n.init||n.config.init)return[3,5];a=n.type||"unknown",s=t.logger.scope(a),i={collector:t,logger:s,id:r,config:n.config,env:me(n.env,n.config.env)},s.debug("init"),c=Date.now(),x(t,K(t,{stepId:e("destination",r),stepType:"destination",phase:"init",eventId:"",now:c})),j.label=1;case 1:return j.trys.push([1,3,,4]),[4,O(n.init,"DestinationInit",t.hooks,t.logger)(i)];case 2:return u=j.sent(),[3,4];case 3:throw l=j.sent(),f=Date.now(),(d=K(t,{stepId:e("destination",r),stepType:"destination",phase:"error",eventId:"",now:f})).durationMs=f-c,d.error=_instanceof(l,Error)?{name:l.name,message:l.message}:{message:String(l)},x(t,d),l;case 4:if(!1===u)return[2,u];if(n.config=_object_spread_props(_object_spread({},u||n.config),{init:!0}),null===(o=n.queueOn)||void 0===o?void 0:o.length){p=n.queueOn,n.queueOn=[],_=!0,v=!1,g=void 0;try{for(y=p[Symbol.iterator]();!(_=(h=y.next()).done);_=!0)m=h.value,b=m.type,w=m.data,te(t,n,r,b,w)}catch(e){v=!0,g=e}finally{try{_||null==y.return||y.return()}finally{if(v)throw g}}}s.debug("init done"),j.label=5;case 5:return[2,!0]}})})()},ve=function(t,n,r,o,a,s){return _async_to_generator(function(){var i,u,l,f,d,p,_,v,g,y,h,m,b,j,k,I,A,E,C,q,P,D,T,M,L,R,N,z,U,B,G,H,F,W;return _ts_generator(this,function(V){switch(V.label){case 0:return i=n.config,[4,S(o,i,t)];case 1:if((u=V.sent()).ignore)return[2,!1];if(l=n.type||"unknown",f=t.logger.scope(l),d={collector:t,logger:f,id:r,config:i,data:u.data,rule:u.mapping,ingest:a,env:_object_spread({},me(n.env,i.env),s?{respond:s}:{})},void 0!==i.mock)return[2,(f.debug("mock",{event:u.event.name}),i.mock)];if(p=u.mapping,_=u.mappingKey||"* *",(null==p?void 0:p.batch)&&n.pushBatch&&void 0===i.mock)return n.batches=n.batches||{},n.batches[_]||(k={key:_,entries:[],events:[],data:[]},I=ce(p.batch),A=ce(i.batch),E=null!==(g=null!==(y=I.wait)&&void 0!==y?y:A.wait)&&void 0!==g?g:3e4,C=null!==(h=null!==(m=I.size)&&void 0!==m?m:A.size)&&void 0!==h?h:1e3,q=null!==(b=null!==(j=I.age)&&void 0!==j?j:A.age)&&void 0!==b?b:3e4,P=me(n.env,i.env),D=function(e){var t,n,r=arguments.length>2&&void 0!==arguments[2]&&arguments[2],o=function(e,t){var n;return"number"==typeof e?{wait:e}:e?{wait:null!==(n=e.wait)&&void 0!==n?n:t,size:e.size,age:e.age}:{wait:t}}(arguments.length>1&&void 0!==arguments[1]?arguments[1]:1e3,1e3),a=o.wait,s=o.size,i=o.age,c=null,u=null,l=!1,f=[],d=0,p=function(){c&&(clearTimeout(c),c=null),u&&(clearTimeout(u),u=null),d=0,n=void 0},_=function(){var r=n,o=f;if(p(),f=[],r)return t=e.apply(void 0,_to_consumable_array(r)),o.forEach(function(e){return e(t)}),t;o.forEach(function(e){return e(void 0)})},v=function(){for(var o=arguments.length,p=new Array(o),v=0;v<o;v++)p[v]=arguments[v];return new Promise(function(o){var v=r&&!l;if(n=p,d+=1,f.push(o),c&&clearTimeout(c),c=setTimeout(function(){c=null,r&&!l||_()},a),void 0===i||u||(u=setTimeout(function(){u=null,_()},i)),void 0!==s&&d>=s)_();else if(v){l=!0,t=e.apply(void 0,_to_consumable_array(p));var g=f;f=[],g.forEach(function(e){return e(t)})}})};return v.flush=function(){return n||0!==f.length?new Promise(function(e){f.push(e),_()}):Promise.resolve(void 0)},v.cancel=function(){var e=f;f=[],p(),e.forEach(function(e){return e(void 0)})},v.size=function(){return d},v}(function(){return _async_to_generator(function(){var o,a,s,c,u,l,d,p,v,g;return _ts_generator(this,function(y){switch(y.label){case 0:return 0===(a=n.batches[_].batched).entries.length?[2]:(s={key:a.key,entries:a.entries,events:a.events,data:a.data},a.entries=[],a.events=[],a.data=[],c=s.entries[0],u={collector:t,logger:f,id:r,config:i,data:void 0,rule:c.rule,ingest:c.ingest,env:_object_spread({},P,c.respond?{respond:c.respond}:{})},f.debug("push batch",{events:s.entries.length}),l=n.config.id||r,d=ue(t,l),p=Date.now(),(v=K(t,{stepId:e("destination",r),stepType:"destination",phase:"flush",eventId:"",now:p})).batch={size:s.entries.length,index:0},x(t,v),g=!0,[4,w(O(n.pushBatch,"DestinationPushBatch",t.hooks,t.logger),function(o){var a;g=!1;var i=Date.now(),c=K(t,{stepId:e("destination",r),stepType:"destination",phase:"error",eventId:"",now:i});c.durationMs=i-p,c.error=_instanceof(o,Error)?{name:o.name,message:o.message}:{message:String(o)},c.batch={size:s.entries.length,index:0},x(t,c);var u=n.dlq=n.dlq||[],_={max:null!==(a=n.config.dlqMax)&&void 0!==a?a:100},v=0,y=!0,h=!1,m=void 0;try{for(var b,w=s.entries[Symbol.iterator]();!(y=(b=w.next()).done);y=!0){var j=b.value;v+=oe(u,[j.event,o],_).dropped}}catch(e){h=!0,m=e}finally{try{y||null==w.return||w.return()}finally{if(h)throw m}}if(v>0){var k=le(t.status,e("destination",l),"dlq",v);ae(u,f,"destination.dlq overflow; oldest entries dropped",{buffer:"dlq",destination:l,cap:_.max,droppedCount:k})}else u.length<_.max&&se(u);d.failed+=s.entries.length,d.dlqSize=u.length,t.status.failed+=s.entries.length,f.error("Push batch failed",{error:_instanceof(o,Error)?o.message:String(o),entries:s.entries.length})})(s,u)]);case 1:return y.sent(),f.debug("push batch done"),d.inFlightBatch=Math.max(0,(null!==(o=d.inFlightBatch)&&void 0!==o?o:0)-s.entries.length),g&&(d.count+=s.entries.length,d.lastAt=Date.now(),t.status.out+=s.entries.length),[2]}})})()},{wait:E,size:C,age:q}),n.batches[_]={batched:k,batchFn:function(){D()},flush:function(){return _async_to_generator(function(){return _ts_generator(this,function(e){switch(e.label){case 0:return[4,D.flush()];case 1:return e.sent(),[2]}})})()}}),(T=n.batches[_]).batched.entries.push({event:u.event,ingest:a,respond:s,rule:p,data:u.data}),T.batched.events.push(u.event),c(u.data)&&T.batched.data.push(u.data),M=n.config.id||r,[2,((L=ue(t,M)).inFlightBatch=(null!==(v=L.inFlightBatch)&&void 0!==v?v:0)+1,T.batchFn(),bt)];f.debug("push",{event:u.event.name}),R="string"==typeof u.event.id?u.event.id:"",N=Date.now(),z=K(t,{stepId:e("destination",r),stepType:"destination",phase:"in",eventId:R,now:N}),u.mappingKey&&(z.mappingKey=u.mappingKey),u.event.consent&&(z.consent=_object_spread({},u.event.consent)),x(t,z),V.label=2;case 2:return V.trys.push([2,4,,5]),[4,O(n.push,"DestinationPush",t.hooks,t.logger)(u.event,d)];case 3:return U=V.sent(),B=Date.now(),[2,((G=K(t,{stepId:e("destination",r),stepType:"destination",phase:"out",eventId:R,now:B})).durationMs=B-N,G.outEvent=U,u.mappingKey&&(G.mappingKey=u.mappingKey),x(t,G),f.debug("push done"),U)];case 4:throw H=V.sent(),F=Date.now(),(W=K(t,{stepId:e("destination",r),stepType:"destination",phase:"error",eventId:R,now:F})).durationMs=F-N,W.error=_instanceof(H,Error)?{name:H.name,message:H.message}:{message:String(H)},u.mappingKey&&(W.mappingKey=u.mappingKey),x(t,W),H;case 5:return[2]}})})()},ge=function(e){return _object_spread({ok:!(null==e?void 0:e.failed)},e)},ye=function(e){var t=e.code,n=e.config,r=void 0===n?{}:n,o=e.env,a=void 0===o?{}:o,s=e.cache,i=U(e,"before").config,c=U(_object_spread_props(_object_spread({},e),{config:i}),"next").config,u=_object_spread({},t.config,r,c);s&&(u.cache=s);var l=me(t.env,a);return _object_spread_props(_object_spread({},t),{config:u,env:l})},he=function(e){return _async_to_generator(function(e){var t,n,r,o,a,s,i,c,u,l,f,d,p=arguments;return _ts_generator(this,function(_){t=p.length>1&&void 0!==p[1]?p[1]:{},o={},a=!0,s=!1,i=void 0;try{for(c=Object.entries(t)[Symbol.iterator]();!(a=(u=c.next()).done);a=!0)l=_sliced_to_array(u.value,2),f=l[0],d=l[1],(null===(r=d.config)||void 0===r||null===(n=r.require)||void 0===n?void 0:n.length)?e.pending.destinations[f]=d:o[f]=ye(d)}catch(e){s=!0,i=e}finally{try{a||null==c.return||c.return()}finally{if(s)throw i}}return[2,o]})}).apply(this,arguments)},me=function(e,t){return e||t?t?e&&l(e)&&l(t)?_object_spread({},e,t):t:e:{}},be=function(e,t,n){return _async_to_generator(function(){var r;return _ts_generator(this,function(o){switch(o.label){case 0:return r=Object.entries(e).map(function(e){var r=_sliced_to_array(e,2),o=r[0],a=r[1];return _async_to_generator(function(){var e,r,s,i,c,u;return _ts_generator(this,function(l){switch(l.label){case 0:if(!(r=a.destroy))return[2];s=a.type||"unknown",i=n.scope(s),c={id:o,config:a.config,env:null!==(e=a.env)&&void 0!==e?e:{},logger:i},l.label=1;case 1:return l.trys.push([1,3,,4]),[4,Promise.race([r(c),new Promise(function(e,n){return setTimeout(function(){return n(new Error("".concat(t," '").concat(o,"' destroy timed out")))},5e3)})])];case 2:return l.sent(),[3,4];case 3:return u=l.sent(),i.error("".concat(t," '").concat(o,"' destroy failed: ").concat(u)),[3,4];case 4:return[2]}})})()}),[4,Promise.allSettled(r)];case 1:return o.sent(),[2]}})})()},we=function(e,t,n){return _async_to_generator(function(){var r,o,a,i,c,d,p,_,v;return _ts_generator(this,function(g){switch(g.label){case 0:switch(a=!1,t){case gt.Commands.Config:return[3,1];case gt.Commands.Consent:return[3,2];case gt.Commands.Custom:return[3,3];case gt.Commands.Destination:return[3,4];case gt.Commands.Globals:return[3,7];case gt.Commands.Hook:return[3,8];case gt.Commands.On:return[3,9];case gt.Commands.Ready:return[3,12];case gt.Commands.Run:return[3,13];case gt.Commands.Session:return[3,15];case gt.Commands.Shutdown:return[3,16];case gt.Commands.User:return[3,18]}return[3,19];case 1:return l(n)&&(s(e.config,n,{shallow:!1}),o=n,a=!0),[3,19];case 2:return l(n)&&(i=function(e,t){var n={};return Object.entries(t).forEach(function(e){var t=_sliced_to_array(e,2),r=t[0],o=t[1];n[r]=!!o}),e.consent=s(e.consent,n),{update:n}}(e,n),c=i.update,o=c,a=!0),[3,19];case 3:return l(n)&&(e.custom=s(e.custom,n),o=n,a=!0),[3,19];case 4:return l(n)&&"code"in n&&l(n.code)?[4,de(e,n)]:[3,6];case 5:r=g.sent(),g.label=6;case 6:return[3,19];case 7:return l(n)&&(e.globals=s(e.globals,n),o=n,a=!0),[3,19];case 8:return l(n)&&f(n.name)&&u(n.fn)&&(d=n.name,p=n.fn,e.hooks[d]=p,o=n,a=!0),[3,19];case 9:return l(n)&&f(n.type)?(_=n.type,v=n.rules,[4,ee(e,_,v)]):[3,11];case 10:g.sent(),g.label=11;case 11:return[3,19];case 12:return a=!0,[3,19];case 13:return[4,ke(e,n)];case 14:return r=g.sent(),a=!0,[3,19];case 15:return a=!0,[3,19];case 16:return[4,(y=e,_async_to_generator(function(){var e;return _ts_generator(this,function(t){switch(t.label){case 0:return e=y.logger,[4,be(y.sources,"source",e)];case 1:return t.sent(),[4,be(y.destinations,"destination",e)];case 2:return t.sent(),[4,be(y.transformers,"transformer",e)];case 3:return t.sent(),[4,be(y.stores,"store",e)];case 4:return t.sent(),[2]}})})())];case 17:return g.sent(),[3,19];case 18:l(n)&&(s(e.user,n,{shallow:!1}),o=n,a=!0),g.label=19;case 19:return a?[4,re(e,t,void 0,o)]:[3,22];case 20:return g.sent(),[4,pe(e)];case 21:r=g.sent(),g.label=22;case 22:return[2,r||ge({ok:!0})]}var y})})()},je=function(e,t){if(!t.name)throw new Error("Event name is required");var n=_sliced_to_array(t.name.split(" "),2),r=n[0],o=n[1];if(!r||!o)throw new Error("Event name is invalid");var a=t.timestamp,s=void 0===a?Date.now():a,i=t.name,c=void 0===i?"".concat(r," ").concat(o):i,u=t.data,l=void 0===u?{}:u,f=t.context,d=void 0===f?{}:f,p=t.globals,_=void 0===p?e.globals:p,v=t.custom,g=void 0===v?{}:v,y=t.user,h=void 0===y?e.user:y,m=t.nested,b=void 0===m?[]:m,w=t.consent,j=void 0===w?e.consent:w,k=t.id,S=void 0===k?function(){for(var e="",t=0;t<16;t++)e+=(16*Math.random()|0).toString(16);return e}():k,O=t.trigger,x=void 0===O?"":O,I=t.entity,A=void 0===I?r:I,E=t.action,C=void 0===E?o:E,q=t.timing,P=void 0===q?0:q,D=t.source;return{name:c,data:l,context:d,globals:_,custom:g,user:h,nested:b,consent:j,id:S,trigger:x,entity:A,action:C,timestamp:s,timing:P,source:void 0===D?{type:"collector",schema:"4"}:D}},ke=function(e,t){return _async_to_generator(function(){return _ts_generator(this,function(n){switch(n.label){case 0:return e.allowed=!0,e.timing=Date.now(),t&&(t.consent&&(e.consent=s(e.consent,t.consent)),t.user&&(e.user=s(e.user,t.user)),t.globals&&(e.globals=s(e.config.globalsStatic||{},t.globals)),t.custom&&(e.custom=s(e.custom,t.custom))),Object.values(e.destinations).forEach(function(e){e.queuePush=[]}),e.queue=[],e.round++,[4,pe(e)];case 1:return[2,n.sent()]}})})()},Se=function(){var e,t,n,r,o=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},a=null!==(e=o.maxEntries)&&void 0!==e?e:1e4,s=null!==(t=o.lowWaterMark)&&void 0!==t?t:.8,i=null!==(n=o.sweepIntervalMs)&&void 0!==n?n:6e4,c=Math.floor(a*s),u=new Map,l={hits:0,misses:0,populates:0,writes:0,deletes:0,evictions_entries:0,evictions_ttl:0};return i>0&&((r=setInterval(function(){var e=Date.now(),t=0,n=!0,r=!1,o=void 0;try{for(var a,s=u[Symbol.iterator]();!(n=(a=s.next()).done);n=!0){var i=_sliced_to_array(a.value,2),c=i[0],f=i[1];void 0!==f.expires&&f.expires<=e&&(u.delete(c),t++)}}catch(e){r=!0,o=e}finally{try{n||null==s.return||s.return()}finally{if(r)throw o}}l.evictions_ttl+=t},i))&&"function"==typeof r.unref&&r.unref()),{type:"memory",config:{},get:function(e){var t=u.get(e);if(t)return void 0!==t.expires&&t.expires<=Date.now()?(u.delete(e),l.evictions_ttl++,void l.misses++):(u.delete(e),u.set(e,t),l.hits++,t.value);l.misses++},set:function(e,t,n){var r=!u.has(e);r||u.delete(e),u.set(e,{value:t,expires:void 0!==n?Date.now()+n:void 0}),l.writes++,r&&l.populates++,u.size>a&&function(){if(!(u.size<=a)){var e=u.size-c,t=0,n=!0,r=!1,o=void 0;try{for(var s,i=u.keys()[Symbol.iterator]();!(n=(s=i.next()).done);n=!0){var f=s.value;if(t>=e)break;u.delete(f),t++}}catch(e){r=!0,o=e}finally{try{n||null==i.return||i.return()}finally{if(r)throw o}}l.evictions_entries+=t}}()},delete:function(e){u.delete(e)&&l.deletes++},get counters(){return _object_spread({},l)},destroy:function(){void 0!==r&&(clearInterval(r),r=void 0),u.clear()}}},Oe=function(e,t){var n=t.cacheConfig,r=t.cacheStore,o=t.namespace,a=t.logger,s=t.storeId,i=t.collector,c=function(e,t){if(i){var n=K(i,{stepId:"store.".concat(s),stepType:"store",phase:"in",eventId:"",now:Date.now()});n.meta={op:"cache",cached:"hit"===t,status:t,key:e},x(i,n)}},u={hits:0,misses:0,populates:0,writes:0,deletes:0,inflight_dedups:0},l=n.rules.map(function(e){return{match:e.match?Je(e.match):function(){return!0},ttl:e.ttl}}),f=function(e){return"".concat(o,":").concat(e)};function d(e,t){var n=void 0===t?{key:e}:{key:e,value:t};return l.find(function(e){return e.match(n)})}var p=new Map;return{type:e.type,config:e.config,setup:e.setup,get counters(){return _object_spread({},u)},get:function(t){return _async_to_generator(function(){var n,o,a,s;return _ts_generator(this,function(i){switch(i.label){case 0:return n=f(t),[4,r.get(n)];case 1:return void 0!==(o=i.sent())?[2,(u.hits++,c(t,"hit"),o)]:(a=p.get(n))?[2,(u.inflight_dedups++,c(t,"hit"),a)]:(u.misses++,c(t,"miss"),s=_async_to_generator(function(){var o,a,s;return _ts_generator(this,function(i){switch(i.label){case 0:return i.trys.push([0,,6,7]),[4,e.get(t)];case 1:if(void 0===(o=i.sent()))return[2];if(!(a=d(t,o)))return[3,5];i.label=2;case 2:return i.trys.push([2,4,,5]),[4,r.set(n,o,1e3*a.ttl)];case 3:return i.sent(),u.populates++,[3,5];case 4:return s=i.sent(),_("set",t,s),[3,5];case 5:return[2,o];case 6:return p.delete(n),[7];case 7:return[2]}})})(),[2,(p.set(n,s),s)])}})})()},set:function(t,n,o){return _async_to_generator(function(){var a,s;return _ts_generator(this,function(i){switch(i.label){case 0:return u.writes++,[4,e.set(t,n,o)];case 1:if(i.sent(),!(a=d(t,n)))return[3,5];i.label=2;case 2:return i.trys.push([2,4,,5]),[4,r.set(f(t),n,1e3*a.ttl)];case 3:return i.sent(),[3,5];case 4:return s=i.sent(),_("set",t,s),[3,5];case 5:return[2]}})})()},delete:function(t){return _async_to_generator(function(){var n;return _ts_generator(this,function(o){switch(o.label){case 0:return u.deletes++,[4,e.delete(t)];case 1:o.sent(),o.label=2;case 2:return o.trys.push([2,4,,5]),[4,r.delete(f(t))];case 3:return o.sent(),[3,5];case 4:return n=o.sent(),_("delete",t,n),[3,5];case 5:return[2]}})})()}};function _(e,t,n){var r="store-cache(".concat(s,"): cache ").concat(e,' failed for "').concat(t,'"; backing succeeded, continuing');a?a.warn(r,{error:n}):console.warn(r,n)}},xe=function(e,t,n){var r="store.".concat(n),o=O(t.get,"StoreGet",e.hooks,e.logger),a=O(t.set,"StoreSet",e.hooks,e.logger),s=O(t.delete,"StoreDelete",e.hooks,e.logger);t.get=function(t){return _async_to_generator(function(){var n,a,s,i,c,u,l,f;return _ts_generator(this,function(d){switch(d.label){case 0:n=Date.now(),(a=K(e,{stepId:r,stepType:"store",phase:"in",eventId:"",now:n})).meta={op:"get",key:t},x(e,a),d.label=1;case 1:return d.trys.push([1,3,,4]),[4,o(t)];case 2:return s=d.sent(),i=Date.now(),[2,((c=K(e,{stepId:r,stepType:"store",phase:"out",eventId:"",now:i})).durationMs=i-n,c.meta={op:"get",key:t},x(e,c),s)];case 3:throw u=d.sent(),l=Date.now(),(f=K(e,{stepId:r,stepType:"store",phase:"error",eventId:"",now:l})).durationMs=l-n,f.meta={op:"get",key:t},f.error=_instanceof(u,Error)?{name:u.name,message:u.message}:{message:String(u)},x(e,f),u;case 4:return[2]}})})()},t.set=function(t,n,o){return _async_to_generator(function(){var s,i,c,u,l,f,d;return _ts_generator(this,function(p){switch(p.label){case 0:s=Date.now(),(i=K(e,{stepId:r,stepType:"store",phase:"in",eventId:"",now:s})).meta={op:"set",key:t},x(e,i),p.label=1;case 1:return p.trys.push([1,3,,4]),[4,a(t,n,o)];case 2:return p.sent(),c=Date.now(),(u=K(e,{stepId:r,stepType:"store",phase:"out",eventId:"",now:c})).durationMs=c-s,u.meta={op:"set",key:t},x(e,u),[3,4];case 3:throw l=p.sent(),f=Date.now(),(d=K(e,{stepId:r,stepType:"store",phase:"error",eventId:"",now:f})).durationMs=f-s,d.meta={op:"set",key:t},d.error=_instanceof(l,Error)?{name:l.name,message:l.message}:{message:String(l)},x(e,d),l;case 4:return[2]}})})()},t.delete=function(t){return _async_to_generator(function(){var n,o,a,i,c,u,l;return _ts_generator(this,function(f){switch(f.label){case 0:n=Date.now(),(o=K(e,{stepId:r,stepType:"store",phase:"in",eventId:"",now:n})).meta={op:"delete",key:t},x(e,o),f.label=1;case 1:return f.trys.push([1,3,,4]),[4,s(t)];case 2:return f.sent(),a=Date.now(),(i=K(e,{stepId:r,stepType:"store",phase:"out",eventId:"",now:a})).durationMs=a-n,i.meta={op:"delete",key:t},x(e,i),[3,4];case 3:throw c=f.sent(),u=Date.now(),(l=K(e,{stepId:r,stepType:"store",phase:"error",eventId:"",now:u})).durationMs=u-n,l.meta={op:"delete",key:t},l.error=_instanceof(c,Error)?{name:c.name,message:c.message}:{message:String(c)},x(e,l),c;case 4:return[2]}})})()}},Ie=function(e){return _async_to_generator(function(e){var t,n,r,o,a,s,i,c,u,l,f,d,p,_,v,g,y,h,m,b,w,j,k,S,O,x,I,A,E,C,q,P,D,T,M,L,R,K,N,z=arguments;return _ts_generator(this,function(U){switch(U.label){case 0:t=z.length>1&&void 0!==z[1]?z[1]:{},n={},r=!0,o=!1,a=void 0,U.label=1;case 1:U.trys.push([1,6,7,8]),s=Object.entries(t)[Symbol.iterator](),U.label=2;case 2:return(r=(i=s.next()).done)?[3,5]:(c=_sliced_to_array(i.value,2),u=c[0],l=c[1],f=l.code,d=l.config,p=void 0===d?{}:d,_=l.env,v=void 0===_?{}:_,g=e.logger.scope("store").scope(u),[4,f({collector:e,logger:g,id:u,config:p,env:v})]);case 3:y=U.sent(),n[u]=y,U.label=4;case 4:return r=!0,[3,2];case 5:return[3,8];case 6:return h=U.sent(),o=!0,a=h,[3,8];case 7:try{r||null==s.return||s.return()}finally{if(o)throw a}return[7];case 8:b=function(e){var t={},n=!0,r=!1,o=void 0;try{for(var a,s=Object.keys(e)[Symbol.iterator]();!(n=(a=s.next()).done);n=!0){var i=a.value;t[i]="WHITE"}}catch(e){r=!0,o=e}finally{try{n||null==s.return||s.return()}finally{if(r)throw o}}var c=[],u=[];function l(n){var r,o=t[n];if("BLACK"!==o){if("GRAY"===o){var a=u.indexOf(n),s=u.slice(-1===a?0:a).concat(n).join(" -> ");throw new Error("Cycle in cache.store chain: ".concat(s))}t[n]="GRAY",u.push(n);var i=null===(r=e[n].cache)||void 0===r?void 0:r.store;if(void 0!==i){if(!(i in e))throw new Error('Store "'.concat(n,'" cache.store references "').concat(i,'", which is not declared in flow.stores'));l(i)}u.pop(),t[n]="BLACK",c.push(n)}}var f=!0,d=!1,p=void 0;try{for(var _,v=Object.keys(e)[Symbol.iterator]();!(f=(_=v.next()).done);f=!0){var g=_.value;"WHITE"===t[g]&&l(g)}}catch(e){d=!0,p=e}finally{try{f||null==v.return||v.return()}finally{if(d)throw p}}return c}(m=t),w=!0,j=!1,k=void 0;try{for(S=b[Symbol.iterator]();!(w=(O=S.next()).done);w=!0)x=O.value,(A=m[x].cache)&&(E=void 0,C=void 0,void 0!==A.store?(E=n[A.store],C=A.store):(n.__cache||(n.__cache=Se()),E=n.__cache,C="__cache"),q=null!==(I=A.namespace)&&void 0!==I?I:x,e.logger.scope("store-cache").scope(x).info('store "'.concat(x,'" caches with namespace "').concat(q,':" via ').concat(C)),n[x]=Oe(n[x],{storeId:x,cacheConfig:A,cacheStore:E,namespace:q,logger:e.logger.scope("store-cache").scope(x),collector:e}))}catch(e){j=!0,k=e}finally{try{w||null==S.return||S.return()}finally{if(j)throw k}}P=!0,D=!1,T=void 0;try{for(M=Object.entries(n)[Symbol.iterator]();!(P=(L=M.next()).done);P=!0)R=_sliced_to_array(L.value,2),K=R[0],N=R[1],"__cache"!==K&&xe(e,N,K)}catch(e){D=!0,T=e}finally{try{P||null==M.return||M.return()}finally{if(D)throw T}}return[2,n]}})}).apply(this,arguments)},Ae=function(e){return _async_to_generator(function(){var t,n,r,o,i,c,u,l;return _ts_generator(this,function(f){switch(f.label){case 0:return r=s({globalsStatic:{},sessionStatic:{},run:!0,queueMax:1e3},e,{merge:!1,extend:!1}),o={level:null===(t=e.logger)||void 0===t?void 0:t.level,handler:null===(n=e.logger)||void 0===n?void 0:n.handler},i=h(o),c=_object_spread({},r.globalsStatic,e.globals),(u={allowed:!1,config:r,consent:e.consent||{},custom:e.custom||{},destinations:{},transformers:{},stores:{},globals:c,hooks:e.hooks||{},observers:new Set,logger:i,on:{},queue:[],round:0,session:void 0,status:{startedAt:Date.now(),in:0,out:0,failed:0,sources:{},destinations:{},dropped:{}},timing:Date.now(),user:e.user||{},sources:{},pending:{destinations:{}},push:void 0,command:void 0}).push=function(e,t){var n=O(function(n){var r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return _async_to_generator(function(){return _ts_generator(this,function(o){switch(o.label){case 0:return[4,w(function(){return _async_to_generator(function(){var o,s,i,c,u,l,f,d,p,v,g,y,h,m,b,w,j,k,O,x,I;return _ts_generator(this,function(A){switch(A.label){case 0:return o=Date.now(),s=r.id,i=r.ingest,c=r.respond,u=r.mapping,l=r.preChain,f=r.include,d=r.exclude,p=c,v=n,g=f||d?function(e,t,n){var r=e;return t&&(r=Object.fromEntries(Object.entries(r).filter(function(e){var n=_sliced_to_array(e,1)[0];return t.includes(n)}))),n&&(r=Object.fromEntries(Object.entries(r).filter(function(e){var t=_sliced_to_array(e,1)[0];return!n.includes(t)}))),r}(e.destinations,f,d):void 0,y=null!=i?i:a(s||"unknown"),u?[4,S(v,u,e)]:[3,2];case 1:if((h=A.sent()).ignore)return[2,ge({ok:!0})];if(u.consent&&!_(u.consent,e.consent,h.event.consent))return[2,ge({ok:!0})];v=h.event,A.label=2;case 2:return(null==l?void 0:l.length)&&e.transformers&&Object.keys(e.transformers).length>0?[4,yt(e,e.transformers,l,v,y,p,s?"source.".concat(s,".next"):void 0)]:[3,6];case 3:return null===(m=A.sent()).event?[2,ge({ok:!0})]:m.stopped?[2,(m.respond&&(p=m.respond),ge({ok:!0}))]:(m.respond&&(p=m.respond),Array.isArray(m.event)?[4,Promise.all(m.event.map(function(n){return _async_to_generator(function(){var r,o;return _ts_generator(this,function(a){return r=t(n),o=je(e,r),[2,pe(e,o,{id:s,ingest:y,respond:p},g)]})})()}))]:[3,5]);case 4:return w=A.sent(),s&&(e.status.sources[s]||(e.status.sources[s]={count:0,duration:0}),(j=e.status.sources[s]).count+=m.event.length,j.lastAt=Date.now(),j.duration+=Date.now()-o),[2,null!==(b=w[0])&&void 0!==b?b:ge({ok:!0})];case 5:v=m.event,A.label=6;case 6:return k=t(v),O=je(e,k),[4,pe(e,O,{id:s,ingest:y,respond:p},g)];case 7:return x=A.sent(),s&&(e.status.sources[s]||(e.status.sources[s]={count:0,duration:0}),(I=e.status.sources[s]).count++,I.lastAt=Date.now(),I.duration+=Date.now()-o),[2,x]}})})()},function(t){if(_instanceof(t,Ve))throw t;return e.status.failed++,e.logger.error("push failed",{event:n,ingest:r.ingest,error:t}),ge({ok:!1})})()];case 1:return[2,o.sent()]}})})()},"Push",e.hooks,e.logger);return function(t,r){return _async_to_generator(function(){var o,a,s,i,c,u,l,f;return _ts_generator(this,function(d){switch(d.label){case 0:o="string"==typeof t.id?t.id:"",a=Date.now(),x(e,K(e,{stepId:"collector.push",stepType:"collector",phase:"in",eventId:o,now:a})),d.label=1;case 1:return d.trys.push([1,3,,4]),[4,n(t,r)];case 2:return s=d.sent(),i=Date.now(),[2,((c=K(e,{stepId:"collector.push",stepType:"collector",phase:"out",eventId:o,now:i})).durationMs=i-a,c.outEvent=s,x(e,c),s)];case 3:throw u=d.sent(),l=Date.now(),(f=K(e,{stepId:"collector.push",stepType:"collector",phase:"error",eventId:o,now:l})).durationMs=l-a,f.error=_instanceof(u,Error)?{name:u.name,message:u.message}:{message:String(u)},x(e,f),u;case 4:return[2]}})})()}}(u,function(e){return _object_spread({timing:Math.round((Date.now()-u.timing)/10)/100,source:{type:"collector",schema:"4",version:"4.1.2"}},e)}),u.command=(p=we,O(function(e,t,n){return _async_to_generator(function(){return _ts_generator(this,function(r){switch(r.label){case 0:return[4,w(function(){return _async_to_generator(function(){return _ts_generator(this,function(r){switch(r.label){case 0:return[4,p(d,e,t,n)];case 1:return[2,r.sent()]}})})()},function(n){if(_instanceof(n,Ve))throw n;return d.status.failed++,d.logger.error("command failed",{command:e,data:t,error:n}),ge({ok:!1})})()];case 1:return[2,r.sent()]}})})()},"Command",(d=u).hooks,d.logger)),l=e.stores||{},[4,Ie(u,l)];case 1:return u.stores=f.sent(),function(e,t,n){var r=new Map,o=!0,a=!1,s=void 0;try{for(var i,c=Object.entries(e)[Symbol.iterator]();!(o=(i=c.next()).done);o=!0){var u=_sliced_to_array(i.value,2),l=u[0],f=u[1];t[l]&&r.set(f,t[l])}}catch(e){a=!0,s=e}finally{try{o||null==c.return||c.return()}finally{if(a)throw s}}if(0!==r.size)for(var d=!0,p=!1,_=void 0,v=0,g=[n.transformers,n.destinations,n.sources];v<g.length;v++){var y=g[v];if(y)try{for(var h,m=Object.values(y)[Symbol.iterator]();!(d=(h=m.next()).done);d=!0){b(h.value.env)}}catch(e){p=!0,_=e}finally{try{d||null==m.return||m.return()}finally{if(p)throw _}}}function b(e){if(e){var t=!0,n=!1,o=void 0;try{for(var a,s=Object.entries(e)[Symbol.iterator]();!(t=(a=s.next()).done);t=!0){var i=_sliced_to_array(a.value,2),c=i[0],u=i[1];if("object"==(void 0===u?"undefined":_type_of(u))&&null!==u){var l=r.get(u);l&&(e[c]=l)}}}catch(e){n=!0,o=e}finally{try{t||null==s.return||s.return()}finally{if(n)throw o}}}}}(l,u.stores,e),u.stores.__cache||(u.stores.__cache=Se()),[4,he(u,e.destinations||{})];case 2:return u.destinations=f.sent(),[4,function(e){return _async_to_generator(function(e){var t,n,r,o,s,i,c,u,l,f=arguments;return _ts_generator(this,function(d){switch(d.label){case 0:t=f.length>1&&void 0!==f[1]?f[1]:{},n={},r=!0,o=!1,s=void 0,d.label=1;case 1:d.trys.push([1,6,7,8]),i=function(){var t,r,o,s,i,c,l,f,d,p,_,v,g,y,h,m,b,w,j,k,O,x;return _ts_generator(this,function(I){switch(I.label){case 0:return t=_sliced_to_array(u.value,2),r=t[0],o=t[1],f=o.code,d=o.env,p=void 0===d?{}:d,_=function(e,t){var n,r=(n=t,new Set(_to_consumable_array(Xe[n]).concat(_to_consumable_array(et),_to_consumable_array(tt[n])))),o=!0,a=!1,s=void 0;try{for(var i,c=Object.keys(e)[Symbol.iterator]();!(o=(i=c.next()).done);o=!0){var u=i.value;if(!r.has(u))return{ok:!1,code:"UNKNOWN_KEY",key:u,reason:'Unknown key "'.concat(u,'" on ').concat(t,". Allowed: ").concat(_to_consumable_array(r).sort().join(", "),".")}}}catch(e){a=!0,s=e}finally{try{o||null==c.return||c.return()}finally{if(a)throw s}}var l=void 0!==e.package,f=void 0!==e.import,d=void 0!==e.code;return d&&"string"==typeof e.code?{ok:!1,code:"OBSOLETE_CODE_STRING",key:"code",reason:'code: "<name>" is no longer supported. Use import: "'.concat(e.code,'" with the package field instead.')}:d&&("object"!=_type_of(e.code)&&"function"!=typeof e.code||null===e.code||Array.isArray(e.code))?{ok:!1,code:"INVALID_CODE_SHAPE",key:"code",reason:"code must be an object ({ push, type?, init? }) or a resolved function value."}:d&&l?{ok:!1,code:"CONFLICT",key:"package",reason:"Cannot specify both `code` and `package`. Use one or the other."}:d&&f?{ok:!1,code:"CONFLICT",key:"import",reason:"Cannot specify both `code` and `import`."}:f&&!l?{ok:!1,code:"MISSING_PACKAGE",key:"import",reason:"`import` requires `package` to be set."}:!f||"string"==typeof e.import&&nt.test(e.import)?{ok:!0}:{ok:!1,code:"INVALID_IMPORT",key:"import",reason:"import must match ".concat(nt.source,". Got: ").concat(JSON.stringify(e.import),".")}}(o,"Transformer"),_.ok?(v=U(o,"before"),g=v.config,y=U(_object_spread_props(_object_spread({},o),{config:g}),"next"),h=y.config,m=Object.keys(p).length>0?_object_spread_props(_object_spread({},h),{env:p}):h,b=o.cache,w=b?_object_spread_props(_object_spread({},m),{cache:b}):m,j=e.logger.scope("transformer").scope(r),k={collector:e,logger:j,id:r,ingest:a(r),config:w,env:p},O=null!=f?f:function(e){var t=o.mapping;if(t){var n=[];if(void 0!==t.data&&n.push("data"),t.mapping){var a=!0,s=!1,i=void 0,c=!0,u=!1,l=void 0;try{for(var f,d=Object.entries(t.mapping)[Symbol.iterator]();!(c=(f=d.next()).done);c=!0){var p=_sliced_to_array(f.value,2),_=p[0],v=p[1];if("object"==(void 0===v?"undefined":_type_of(v))&&null!==v)try{for(var g,y=Object.entries(v)[Symbol.iterator]();!(a=(g=y.next()).done);a=!0){var h=_sliced_to_array(g.value,2),m=h[0],b=h[1];if("object"==(void 0===b?"undefined":_type_of(b))&&null!==b){var w=b;void 0!==w.data&&n.push("mapping[".concat(_,"][").concat(m,"].data")),void 0!==w.silent&&n.push("mapping[".concat(_,"][").concat(m,"].silent"))}}}catch(e){s=!0,i=e}finally{try{a||null==y.return||y.return()}finally{if(s)throw i}}}}catch(e){u=!0,l=e}finally{try{c||null==d.return||d.return()}finally{if(u)throw l}}}return n.length>0&&e.collector.logger.warn("Transformer ".concat(r,": `").concat(n.join(", "),"` ignored at transformer position (only event-mutating fields apply).")),{type:"pass",config:e.config,push:function(n){return _async_to_generator(function(){var r;return _ts_generator(this,function(o){switch(o.label){case 0:return[4,S(n,t,e.collector)];case 1:return[2,!(r=o.sent()).ignore&&{event:r.event}]}})})()}}}return{type:"pass",config:e.config,push:function(e){return{event:e}}}},[4,O(k)]):(e.logger.warn("Transformer ".concat(r," invalid (").concat(_.code,"): ").concat(_.reason,". Skipping.")),[2,"continue"]);case 1:return x=I.sent(),void 0!==o.before&&void 0===(null===(c=x.config)||void 0===c?void 0:c.before)&&(x.config=_object_spread_props(_object_spread({},null!==(s=x.config)&&void 0!==s?s:{}),{before:o.before})),void 0!==o.next&&void 0===(null===(l=x.config)||void 0===l?void 0:l.next)&&(x.config=_object_spread_props(_object_spread({},null!==(i=x.config)&&void 0!==i?i:{}),{next:o.next})),n[r]=x,[2]}})},c=Object.entries(t)[Symbol.iterator](),d.label=2;case 2:return(r=(u=c.next()).done)?[3,5]:[5,_ts_values(i())];case 3:d.sent(),d.label=4;case 4:return r=!0,[3,2];case 5:return[3,8];case 6:return l=d.sent(),o=!0,s=l,[3,8];case 7:try{r||null==c.return||c.return()}finally{if(o)throw s}return[7];case 8:return[2,n]}})}).apply(this,arguments)}(u,e.transformers||{})];case 3:return[2,(u.transformers=f.sent(),u)]}var d,p})})()},Ee=function(e){return _async_to_generator(function(){var t,n,r,o,a,s,i,c,u,l;return _ts_generator(this,function(f){switch(f.label){case 0:return[4,Ae(e=e||{})];case 1:return t=f.sent(),r=t,n={type:"elb",config:{},push:function(e,t,n,o,a){return _async_to_generator(function(){var s,i;return _ts_generator(this,function(c){if("string"==typeof e&&e.startsWith("walker "))return s=e.replace("walker ",""),[2,r.command(s,t)];if("string"==typeof e)i={name:e},t&&"object"==(void 0===t?"undefined":_type_of(t))&&!Array.isArray(t)&&(i.data=t);else{if(!e||"object"!=(void 0===e?"undefined":_type_of(e)))return[2,ge({ok:!1})];i=e,t&&"object"==(void 0===t?"undefined":_type_of(t))&&!Array.isArray(t)&&(i.data=_object_spread({},i.data||{},t))}return[2,(n&&"object"==(void 0===n?"undefined":_type_of(n))&&(i.context=n),o&&Array.isArray(o)&&(i.nested=o),a&&"object"==(void 0===a?"undefined":_type_of(a))&&(i.custom=a),r.push(i))]})})()}},t.sources.elb=n,[4,Z(t,e.sources||{})];case 2:return f.sent(),o=e.consent,a=e.user,s=e.globals,i=e.custom,o?[4,t.command("consent",o)]:[3,4];case 3:f.sent(),f.label=4;case 4:return a?[4,t.command("user",a)]:[3,6];case 5:f.sent(),f.label=6;case 6:return s&&Object.assign(t.globals,s),i&&Object.assign(t.custom,i),t.config.run?[4,t.command("run")]:[3,8];case 7:f.sent(),f.label=8;case 8:return c=n.push,u=Object.values(t.sources).filter(function(e){return"elb"!==e.type}),[2,((l=u.find(function(e){return e.config.primary}))?c=l.push:u.length>0&&(c=u[0].push),{collector:t,elb:c})]}})})()},Ce=Object.defineProperty,qe=Object.getOwnPropertyDescriptor,Pe=Object.getOwnPropertyNames,De=Object.prototype.hasOwnProperty,Te=function(e,t){for(var n in t)Ce(e,n,{get:t[n],enumerable:!0})},Me={};Te(Me,{SourceDataLayer:function(){return ot},createTrigger:function(){return wt},default:function(){return St},env:function(){return at},sourceDataLayer:function(){return kt},step:function(){return lt},trigger:function(){return jt}});var Le=Object.defineProperty,Re=function(e,t){for(var n in t)Le(e,n,{get:t[n],enumerable:!0})};Re({},{stepId:function(){return e}});Re({},{getDestination:function(){return t}});Re({},{Level:function(){return Ne}});var Ke,Ne=((Ke=Ne||{})[Ke.ERROR=0]="ERROR",Ke[Ke.WARN=1]="WARN",Ke[Ke.INFO=2]="INFO",Ke[Ke.DEBUG=3]="DEBUG",Ke);Re({},{getTransformer:function(){return n}});Re({},{getSource:function(){return r}});Re({},{getStore:function(){return o}});var ze={merge:!0,shallow:!0,extend:!0};function Ue(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:new WeakMap;if("object"!=(void 0===e?"undefined":_type_of(e))||null===e)return e;if(t.has(e))return t.get(e);var n=Object.prototype.toString.call(e);if("[object Object]"===n){var r={};for(var o in t.set(e,r),e)Object.prototype.hasOwnProperty.call(e,o)&&(r[o]=Ue(e[o],t));return r}if("[object Array]"===n){var a=[];return t.set(e,a),e.forEach(function(e){a.push(Ue(e,t))}),a}if("[object Date]"===n)return new Date(e.getTime());if("[object RegExp]"===n){var s=e;return new RegExp(s.source,s.flags)}return e}function Be(e){for(var t=arguments.length>2?arguments[2]:void 0,n=(arguments.length>1&&void 0!==arguments[1]?arguments[1]:"").split("."),r=e,o=0;o<n.length;o++){var a=n[o];if("*"===a&&i(r)){var s=n.slice(o+1).join("."),u=[],f=!0,d=!1,p=void 0;try{for(var _,v=r[Symbol.iterator]();!(f=(_=v.next()).done);f=!0){var g=Be(_.value,s,t);u.push(g)}}catch(e){d=!0,p=e}finally{try{f||null==v.return||v.return()}finally{if(d)throw p}}return u}if(void 0===(r=l(r)||i(r)?r[a]:void 0))break}return c(r)?r:t}var Ge={data:function(e){return e.data},globals:function(e){return e.globals},context:function(e){return e.context},user:function(e){return e.user},source:function(e){return e.source},event:function(e){return{entity:e.entity,action:e.action,id:e.id,timestamp:e.timestamp,name:e.name,trigger:e.trigger,timing:e.timing}}},He=function(e,t,n,r){var o="".concat(Ne[e]).concat(r.length>0?" [".concat(r.join(":"),"]"):""),a=Object.keys(n).length>0,s=0===e?console.error:1===e?console.warn:console.log;a?s(o,t,n):s(o,t)};function Fe(e){var t=e.level,n=e.handler,r=e.jsonHandler,o=e.scope,a=function(e,r,a){if(e<=t){var s=y(r,a);n?n(e,s.message,s.context,o,He):He(e,s.message,s.context,o)}};return{error:function(e,t){return a(0,e,t)},warn:function(e,t){return a(1,e,t)},info:function(e,t){return a(2,e,t)},debug:function(e,t){return a(3,e,t)},throw:function(e,t){var r=y(e,t);throw n?n(0,r.message,r.context,o,He):He(0,r.message,r.context,o),new Error(r.message)},json:function(e){r?r(e):console.log(JSON.stringify(e,null,2))},scope:function(e){return Fe({level:t,handler:n,jsonHandler:r,scope:_to_consumable_array(o).concat([e])})}}}function We(e){return function(e){return"boolean"==typeof e}(e)||f(e)||function(e){return"number"==typeof e&&!Number.isNaN(e)}(e)||!c(e)||i(e)&&e.every(We)||l(e)&&Object.values(e).every(We)}var Ve=function(){function e(t,n){var r;return _class_call_check(this,e),(r=_call_super(this,e,[t,n])).name="FatalError",Object.setPrototypeOf(r,e.prototype),r}return _inherits(e,_wrap_native_super(Error)),e}();function $e(e,t,n){return _async_to_generator(function(){return _ts_generator(this,function(r){return[2,(i(t)?t:[t]).reduce(function(t,r){return _async_to_generator(function(){var o,a,s,u,l,d,p,v,g,y,h,b,j,S,O,x,I,A,E,C,q,P;return _ts_generator(this,function(D){switch(D.label){case 0:return[4,t];case 1:return(o=D.sent())?[2,o]:(a=f(r)?{key:r}:r,Object.keys(a).length?(s=a.condition,u=a.consent,l=a.fn,d=a.key,p=a.loop,v=a.map,g=a.set,y=a.validate,h=a.value,b=_object_spread_props(_object_spread({},n),{mapping:r}),(j=s)?[4,w(s,function(e){if(_instanceof(e,Ve))throw e;return b.logger.error("mapping condition failed",{event:b.event,error:e}),!1})(e,b)]:[3,3]):[2]);case 2:j=!D.sent(),D.label=3;case 3:return j?[2]:u&&!_(u,b.consent)?[2,h]:(S=c(h)?h:e,l?[4,w(l,function(e){if(_instanceof(e,Ve))throw e;b.logger.error("mapping fn failed",{event:b.event,error:e})})(e,b)]:[3,5]);case 4:S=D.sent(),D.label=5;case 5:return d&&(S=Be(e,d,h)),p?(O=_sliced_to_array(p,2),x=O[0],I=O[1],"this"!==x?[3,6]:(E=[e],[3,8])):[3,11];case 6:return[4,k(e,x,b)];case 7:E=D.sent(),D.label=8;case 8:return i(A=E)?[4,Promise.all(A.map(function(e){return k(e,I,b)}))]:[3,10];case 9:S=D.sent().filter(c),D.label=10;case 10:return[3,17];case 11:return v?[4,Object.entries(v).reduce(function(t,n){var r=_sliced_to_array(n,2),o=r[0],a=r[1];return _async_to_generator(function(){var n,r;return _ts_generator(this,function(s){switch(s.label){case 0:return[4,t];case 1:return n=s.sent(),[4,k(e,a,b)];case 2:return r=s.sent(),[2,(c(r)&&(n[o]=r),n)]}})})()},Promise.resolve({}))]:[3,13];case 12:return S=D.sent(),[3,16];case 13:return(C=g)?[4,Promise.all(g.map(function(t){return $e(e,t,b)}))]:[3,15];case 14:C=S=D.sent(),D.label=15;case 15:D.label=16;case 16:D.label=17;case 17:return(q=y)?[4,w(y,function(e){if(_instanceof(e,Ve))throw e;return b.logger.error("mapping validate failed",{event:b.event,error:e}),!1})(S,b)]:[3,19];case 18:q=!D.sent(),D.label=19;case 19:return q&&(S=void 0),P=m(S),[2,c(P)?P:m(h)]}})})()},Promise.resolve(void 0))]})})()}function Je(e){if(void 0===e||"*"===e)return function(){return!0};if("and"in e){var t=e.and.map(Je);return function(e){return t.every(function(t){return t(e)})}}if("or"in e){var n=e.or.map(Je);return function(e){return n.some(function(t){return t(e)})}}return function(e){var t=e.key,n=e.operator,r=e.value,o=e.not,a=function(e,t){switch(e){case"eq":return function(e){return String(null!=e?e:"")===t};case"contains":return function(e){return String(null!=e?e:"").includes(t)};case"prefix":return function(e){return String(null!=e?e:"").startsWith(t)};case"suffix":return function(e){return String(null!=e?e:"").endsWith(t)};case"regex":var n=new RegExp(t);return function(e){return n.test(String(null!=e?e:""))};case"gt":var r=Number(t);return function(e){return Number(e)>r};case"lt":var o=Number(t);return function(e){return Number(e)<o};case"exists":return function(e){return null!=e}}}(n,r);return function(e){var n=Be(e,t),r=a(n);return o?!r:r}}(e)}function Ye(e){if(null!=e){if("string"==typeof e)return{type:"static",value:e};if(Array.isArray(e)){if(0===e.length)return;if(function(e){return Array.isArray(e)&&e.length>0&&e.every(function(e){return"object"==(void 0===(t=e)?"undefined":_type_of(t))&&null!==t&&!Array.isArray(t)&&("match"in t||"next"in t||"one"in t||"many"in t);var t})}(e))return Ye({one:e});if(e.every(function(e){return"string"==typeof e}))return{type:"chain",value:e};var t=[],n=!0,r=!1,o=void 0;try{for(var a,s=e[Symbol.iterator]();!(n=(a=s.next()).done);n=!0){var i=Ye(a.value);void 0!==i&&t.push(i)}}catch(e){r=!0,o=e}finally{try{n||null==s.return||s.return()}finally{if(r)throw o}}if(0===t.length)return;return{type:"sequence",value:t}}var c=e;if("next"in c&&void 0!==c.next)return c.match?{type:"gate",match:Je(c.match),next:Ye(c.next)}:Ye(c.next);if("one"in c&&c.one){var u=I(c.one);return c.match?{type:"gate",match:Je(c.match),next:{type:"one",routes:u}}:{type:"one",routes:u}}if("many"in c&&c.many){var l=I(c.many);return c.match?{type:"gate",match:Je(c.match),next:{type:"many",routes:l}}:{type:"many",routes:l}}return c.match?{type:"gate",match:Je(c.match)}:void 0}}var Ze=new WeakMap;function Qe(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(e){if("static"===e.type)return e.value;if("chain"===e.type)return e.value;if("gate"===e.type){if(!e.match(t))return;return Qe(e.next,t)}if("sequence"===e.type){var n=[],r=!0,o=!1,a=void 0;try{for(var s,i=e.value[Symbol.iterator]();!(r=(s=i.next()).done);r=!0){var c,u=Qe(s.value,t);void 0!==u&&(Array.isArray(u)?(c=n).push.apply(c,_to_consumable_array(u)):n.push(u))}}catch(e){o=!0,a=e}finally{try{r||null==i.return||i.return()}finally{if(o)throw a}}return n.length>0?n:void 0}if("many"===e.type){var l=[],f=!0,d=!1,p=void 0;try{for(var _,v=e.routes[Symbol.iterator]();!(f=(_=v.next()).done);f=!0){var g,y=_.value;if(y.match(t)){var h=Qe(y.next,t);void 0!==h&&(Array.isArray(h)?(g=l).push.apply(g,_to_consumable_array(h)):l.push(h))}}}catch(e){d=!0,p=e}finally{try{f||null==v.return||v.return()}finally{if(d)throw p}}return l.length>0?l:void 0}var m=!0,b=!1,w=void 0;try{for(var j,k=e.routes[Symbol.iterator]();!(m=(j=k.next()).done);m=!0){var S=j.value;if(S.match(t))return Qe(S.next,t)}}catch(e){b=!0,w=e}finally{try{m||null==k.return||k.return()}finally{if(b)throw w}}}}var Xe={Source:["code","package","import","before","next","cache"],Transformer:["code","package","import","before","next","cache","mapping"],Destination:["code","package","import","before","next","cache"],Store:["code","package","import","cache"]},et=["config","env","validate","variables","examples","disabled","id","logger","mock","chainMocks"],tt={Source:["primary"],Transformer:[],Destination:[],Store:[]},nt=/^[A-Za-z_$][A-Za-z0-9_$]*$/,rt=!1,ot={},at={};Te(at,{push:function(){return ut}});var st=function(){},it=function(){return function(){return Promise.resolve({ok:!0})}},ct={error:st,warn:st,info:st,debug:st,throw:function(e){throw"string"==typeof e?new Error(e):e},json:st,scope:function(){return ct}},ut={get push(){return it()},get command(){return it()},get elb(){return it()},get window(){return{dataLayer:[],addEventListener:st,removeEventListener:st}},logger:ct},lt={};Te(lt,{consentUpdate:function(){return dt},directEvent:function(){return vt},gtagAddToCart:function(){return pt},gtagPurchase:function(){return ft},gtagViewItem:function(){return _t}});var ft={title:"gtag purchase",description:"A gtag purchase call pushed to the dataLayer is captured as a walker dataLayer purchase event with item details.",trigger:{type:"gtag"},in:["event","purchase",{transaction_id:"T-12345",value:25.42,currency:"EUR",items:[{item_id:"SKU-1",item_name:"T-Shirt",quantity:1}]}],out:[["elb",{name:"dataLayer purchase",data:{transaction_id:"T-12345",value:25.42,currency:"EUR",items:[{item_id:"SKU-1",item_name:"T-Shirt",quantity:1}]}}]]},dt={title:"Consent update",description:"A gtag consent update is captured from the dataLayer as a walker dataLayer consent update event.",trigger:{type:"gtag"},in:["consent","update",{ad_storage:"granted",analytics_storage:"granted"}],out:[["elb",{name:"dataLayer consent update",data:{ad_storage:"granted",analytics_storage:"granted"}}]]},pt={title:"gtag add_to_cart",description:"A gtag add_to_cart call pushed to the dataLayer is captured as a walker dataLayer add_to_cart event.",trigger:{type:"gtag"},in:["event","add_to_cart",{currency:"EUR",value:15.25,items:[{item_id:"SKU_12345",item_name:"T-Shirt",item_variant:"red",quantity:1,price:15.25}]}],out:[["elb",{name:"dataLayer add_to_cart",data:{currency:"EUR",value:15.25,items:[{item_id:"SKU_12345",item_name:"T-Shirt",item_variant:"red",quantity:1,price:15.25}]}}]]},_t={title:"gtag view_item",description:"A gtag view_item call pushed to the dataLayer is captured as a walker dataLayer view_item event with item data.",trigger:{type:"gtag"},in:["event","view_item",{currency:"EUR",value:29.99,items:[{item_id:"SKU_67890",item_name:"Sneakers",item_category:"Footwear",price:29.99}]}],out:[["elb",{name:"dataLayer view_item",data:{currency:"EUR",value:29.99,items:[{item_id:"SKU_67890",item_name:"Sneakers",item_category:"Footwear",price:29.99}]}}]]},vt={title:"Direct dataLayer event",description:"A plain object pushed directly onto the dataLayer is captured as a walker dataLayer custom event.",trigger:{type:"direct"},in:{event:"custom_event",category:"engagement",label:"video_play"},out:[["elb",{name:"dataLayer custom_event",data:{category:"engagement",label:"video_play"}}]]},gt={Commands:{Action:"action",Actions:"actions",Config:"config",Consent:"consent",Context:"context",Custom:"custom",Destination:"destination",Elb:"elb",Globals:"globals",Hook:"hook",Init:"init",Link:"link",On:"on",Prefix:"data-elb",Ready:"ready",Run:"run",Session:"session",Shutdown:"shutdown",User:"user",Walker:"walker"},Utils:{Storage:{Cookie:"cookie",Local:"local",Session:"session"}}};function yt(e,t,n,r,o,s,i){return _async_to_generator(function(){var c,u,l,f,d,p,_,v,g,y,h;return _ts_generator(this,function(m){switch(m.label){case 0:o||(o=a(null!==(c=n[0])&&void 0!==c?c:"chain")),i&&o._meta&&(o._meta.chainPath=i),u=r,l=s,f=!0,d=!1,p=void 0,m.label=1;case 1:m.trys.push([1,6,7,8]),_=function(){var r,a,s,c,f,d,p,_,v,y,h,m,b,j,k,S,O,x,I,D,T,M,L,R,K,U,W,V,$,J,Y,Z,Q,X,ee,te,ne,re,oe,ae,se,ie,ce,ue,le,fe;return _ts_generator(this,function(de){switch(de.label){case 0:return r=g.value,(p=t[r])?o&&o._meta&&o._meta.path.length>256?[2,{v:(e.logger.error("Max path length exceeded at ".concat(r)),{event:null,respond:l})}]:(o&&o._meta&&(o._meta.hops++,o._meta.path.push(r)),[4,w(G,function(t){if(_instanceof(t,Ve))throw t;return e.status.failed++,e.logger.scope("transformer:".concat(p.type||"unknown")).error("transformer init failed",{transformer:r,error:t}),!1})(e,p,r)]):(e.logger.warn("Transformer not found: ".concat(r)),[2,"continue"]);case 1:return de.sent()?i&&void 0!==(null===(s=p.config)||void 0===s||null===(a=s.chainMocks)||void 0===a?void 0:a[i])?(_=p.config.chainMocks[i],e.logger.scope("transformer:".concat(p.type||"unknown")).debug("chainMock",{chain:i}),u=_,[2,"continue"]):void 0!==(null===(c=p.config)||void 0===c?void 0:c.mock)?(e.logger.scope("transformer:".concat(p.type||"unknown")).debug("mock"),u=p.config.mock,[2,"continue"]):(null===(f=p.config)||void 0===f?void 0:f.disabled)?[2,"continue"]:(v=null===(d=p.config)||void 0===d?void 0:d.cache,y=v?C(v):void 0,h=y?N(y,e):void 0,m=void 0,y&&h?(b=E(o,u),[4,q(y,h,b)]):[3,3]):[2,{v:{event:null,respond:l}}];case 2:if("HIT"===(null==(j=de.sent())?void 0:j.status)&&j.value)return u=j.value,y.stop?[2,{v:{event:u,respond:l,stopped:!0}}]:[2,"continue"];"MISS"===(null==j?void 0:j.status)&&(m={key:j.key,ttl:j.rule.ttl}),de.label=3;case 3:return(k=p.config.before)?1!==(S=A(k,E(o,u))).length?[3,6]:(O=B(S[0],z(t))).length>0?[4,yt(e,t,O,u,o,l,i)]:[3,5]:[3,9];case 4:if(null===(D=de.sent()).event)return[2,{v:{event:null,respond:null!==(x=D.respond)&&void 0!==x?x:l}}];if(D.stopped)return[2,{v:{event:Array.isArray(D.event)?D.event[0]:D.event,respond:null!==(I=D.respond)&&void 0!==I?I:l,stopped:!0}}];D.respond&&(l=D.respond),u=Array.isArray(D.event)?D.event[0]:D.event,de.label=5;case 5:return[3,9];case 6:return S.length>1?[4,Promise.all(S.map(function(n){return w(yt,function(t){return e.logger.scope("transformer:many").error("many branch ".concat(n," failed"),{error:t}),{event:null,respond:void 0}})(e,t,B(n,z(t)),u,F(o,n),void 0,i)}))]:[3,8];case 7:de.sent(),de.label=8;case 8:de.label=9;case 9:return[4,w(H,function(t){return e.logger.scope("transformer:".concat(p.type||"unknown")).error("Push failed",{error:t}),!1})(e,p,r,u,o,l)];case 10:return!1===(T=de.sent())?[2,{v:{event:null,respond:l}}]:Array.isArray(T)?(M=n.slice(n.indexOf(r)+1),[4,Promise.all(T.map(function(n){return _async_to_generator(function(){var r,a,s,c;return _ts_generator(this,function(f){switch(f.label){case 0:return r=n.event||u,a=F(o,"unknown"),n.next?0===(s=A(n.next,E(a,r))).length?[2,{event:r,respond:l}]:1===s.length?[2,(c=B(s[0],z(t))).length>0?yt(e,t,c,r,a,l,i):{event:r,respond:l}]:[4,Promise.all(s.map(function(n){return w(yt,function(t){return e.logger.scope("transformer:many").error("many branch ".concat(n," failed"),{error:t}),{event:null,respond:void 0}})(e,t,B(n,z(t)),r,F(a,n),void 0,i)}))]:[3,2];case 1:return[2,f.sent().map(function(e){return{event:e.event,respond:void 0}})];case 2:return[2,M.length>0?yt(e,t,M,r,a,l,i):{event:r,respond:l}]}})})()}))]):[3,12];case 11:L=de.sent(),R=l,K=[],U=!0,W=!1,V=void 0;try{for($=L.flat()[Symbol.iterator]();!(U=(J=$.next()).done);U=!0)if(null!==(Y=J.value))if(Y&&"object"==(void 0===Y?"undefined":_type_of(Y))&&"event"in Y){if((Q=Y).respond&&(R=Q.respond),null===Q.event)continue;Array.isArray(Q.event)?(Z=K).push.apply(Z,_to_consumable_array(Q.event)):K.push(Q.event)}else K.push(Y)}catch(e){W=!0,V=e}finally{try{U||null==$.return||$.return()}finally{if(W)throw V}}return[2,{v:0===K.length?{event:null,respond:R}:1===K.length?{event:K[0],respond:R}:{event:K,respond:R}}];case 12:return T&&"object"==(void 0===T?"undefined":_type_of(T))?(X=T.event,ee=T.respond,te=T.next,ee&&(l=ee),void 0===te?[3,14]:0===(ne=A(te,E(o,u))).length?(X&&(u=X),[2,"continue"]):1===ne.length?[2,{v:(re=B(ne[0],z(t))).length>0?yt(e,t,re,X||u,o,l,i):(e.logger.warn("Branch target not found: ".concat(JSON.stringify(te))),{event:null,respond:l})}]:(oe={},[4,Promise.all(ne.map(function(n){return w(yt,function(t){return e.logger.scope("transformer:many").error("many branch ".concat(n," failed"),{error:t}),{event:null,respond:void 0}})(e,t,B(n,z(t)),X||u,F(o,n),void 0,i)}))])):[3,15];case 13:return[2,(oe.v=(de.sent(),{event:null,respond:void 0}),oe)];case 14:X&&(u=X),de.label=15;case 15:return m&&h&&P(h,m.key,u,m.ttl),ae=p.config.next,se="string"==typeof ae||Array.isArray(ae)&&ae.every(function(e){return"string"==typeof e}),ie=void 0!==ae&&!se,T&&("object"!=(void 0===T?"undefined":_type_of(T))||T.next)||!ie?[3,19]:1===(ce=A(p.config.next,E(o,u))).length?[2,{v:(ue=B(ce[0],z(t))).length>0?yt(e,t,ue,u,o,l,i):{event:u,respond:l}}]:(le={},ce.length>1?[4,Promise.all(ce.map(function(n){return w(yt,function(t){return e.logger.scope("transformer:many").error("many branch ".concat(n," failed"),{error:t}),{event:null,respond:void 0}})(e,t,B(n,z(t)),u,F(o,n),void 0,i)}))]:[3,17]);case 16:return de.sent(),fe={event:null,respond:void 0},[3,18];case 17:fe={event:u,respond:l},de.label=18;case 18:return[2,(le.v=fe,le)];case 19:return[2]}})},v=n[Symbol.iterator](),m.label=2;case 2:return(f=(g=v.next()).done)?[3,5]:[5,_ts_values(_())];case 3:if("object"===_type_of(y=m.sent()))return[2,y.v];m.label=4;case 4:return f=!0,[3,2];case 5:return[3,8];case 6:return h=m.sent(),d=!0,p=h,[3,8];case 7:try{f||null==v.return||v.return()}finally{if(d)throw p}return[7];case 8:return[2,{event:u,respond:l}]}})})()}var ht,mt=new WeakMap,bt=Object.freeze({batched:!0}),wt=function(e){return _async_to_generator(function(){var t,n;return _ts_generator(this,function(r){return n=function(){return function(n){return _async_to_generator(function(){var r,o,a,s,i,c,u,l,f,d,p,_,v;return _ts_generator(this,function(g){switch(g.label){case 0:if(t)return[3,2];if((o=_object_spread({},e)).sources){o.sources=_object_spread({},o.sources),a=!0,s=!1,i=void 0;try{for(c=Object.entries(o.sources)[Symbol.iterator]();!(a=(u=c.next()).done);a=!0)l=_sliced_to_array(u.value,2),f=l[0],d=l[1],(null===(p=d.env)||void 0===p?void 0:p.window)||(o.sources[f]=_object_spread_props(_object_spread({},d),{env:_object_spread_props(_object_spread({},d.env),{window:window})}))}catch(e){s=!0,i=e}finally{try{a||null==c.return||c.return()}finally{if(s)throw i}}}return[4,Ee(_object_spread_props(_object_spread({},o),{run:null===(r=o.run)||void 0===r||r}))];case 1:_=g.sent(),t={collector:_.collector,elb:_.elb},g.label=2;case 2:return(v=window).dataLayer||(v.dataLayer=[]),v.dataLayer.push(n),[2]}})})()}},[2,{get flow(){return t},trigger:n}]})})()},jt=function(e,t){var n=t.window;n.dataLayer||(n.dataLayer=[]),n.dataLayer.push(e)},kt=function(e){return _async_to_generator(function(){var t,n,r,o,a,s,i,c,u;return _ts_generator(this,function(l){return t=e.config,n=e.env,r=n.elb,o=n.window,a=_object_spread({name:"dataLayer",prefix:"dataLayer"},null==t?void 0:t.settings),i=0,c=function(){if(o){var e=a.name||"dataLayer",t=o[e];i=Array.isArray(t)?t.length:0,function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:globalThis.window,r=t.settings,o=(null==r?void 0:r.name)||"dataLayer";n[o]||(n[o]=[]);var a=n[o];if(Array.isArray(a)){var s=a.push.bind(a);a.push=function(){for(var t=arguments.length,n=new Array(t),o=0;o<t;o++)n[o]=arguments[o];if(rt)return s.apply(void 0,_to_consumable_array(n));rt=!0;try{var a=!0,i=!1,c=void 0;try{for(var u,l=n[Symbol.iterator]();!(a=(u=l.next()).done);a=!0){var f=u.value;T(e,r,f)}}catch(e){i=!0,c=e}finally{try{a||null==l.return||l.return()}finally{if(i)throw c}}}finally{rt=!1}return s.apply(void 0,_to_consumable_array(n))}}}(r,s,o)}},u=function(e){return _async_to_generator(function(){return _ts_generator(this,function(t){return"run"===e&&o&&i>0&&(function(e,t,n){var r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:globalThis.window,o=t.settings,a=r[(null==o?void 0:o.name)||"dataLayer"];if(Array.isArray(a)&&!rt){rt=!0;try{for(var s=null!=n?n:a.length,i=0;i<s;i++)T(e,o,a[i])}finally{rt=!1}}}(r,s,i,o),i=0),[2]})})()},[2,{type:"dataLayer",config:s={settings:a},push:r,on:u,init:c,destroy:function(){return _async_to_generator(function(){var e;return _ts_generator(this,function(t){return e=a.name||"dataLayer",o&&o[e]&&Array.isArray(o[e]),[2]})})()}}]})})()},St=kt;return ht=Me,function(e,t,n,r){if(t&&"object"===(void 0===t?"undefined":_type_of(t))||"function"==typeof t){var o=!0,a=!1,s=void 0;try{for(var i,c=function(){var o=i.value;De.call(e,o)||o===n||Ce(e,o,{get:function(){return t[o]},enumerable:!(r=qe(t,o))||r.enumerable})},u=Pe(t)[Symbol.iterator]();!(o=(i=u.next()).done);o=!0)c()}catch(e){a=!0,s=e}finally{try{o||null==u.return||u.return()}finally{if(a)throw s}}}return e}(Ce({},"__esModule",{value:!0}),ht)}();
1
+ "use strict";function _array_like_to_array(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}function _array_with_holes(e){if(Array.isArray(e))return e}function _array_without_holes(e){if(Array.isArray(e))return _array_like_to_array(e)}function _assert_this_initialized(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function asyncGeneratorStep(e,t,n,r,o,a,s){try{var i=e[a](s),c=i.value}catch(e){return void n(e)}i.done?t(c):Promise.resolve(c).then(r,o)}function _async_to_generator(e){return function(){var t=this,n=arguments;return new Promise(function(r,o){var a=e.apply(t,n);function s(e){asyncGeneratorStep(a,r,o,s,i,"next",e)}function i(e){asyncGeneratorStep(a,r,o,s,i,"throw",e)}s(void 0)})}}function _call_super(e,t,n){return t=_get_prototype_of(t),_possible_constructor_return(e,_is_native_reflect_construct()?Reflect.construct(t,n||[],_get_prototype_of(e).constructor):t.apply(e,n))}function _class_call_check(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function _construct(e,t,n){return _construct=_is_native_reflect_construct()?Reflect.construct:function(e,t,n){var r=[null];r.push.apply(r,t);var o=new(Function.bind.apply(e,r));return n&&_set_prototype_of(o,n.prototype),o},_construct.apply(null,arguments)}function _define_property(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function _get_prototype_of(e){return _get_prototype_of=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)},_get_prototype_of(e)}function _inherits(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&_set_prototype_of(e,t)}function _instanceof(e,t){return null!=t&&"undefined"!=typeof Symbol&&t[Symbol.hasInstance]?!!t[Symbol.hasInstance](e):e instanceof t}function _is_native_function(e){return-1!==Function.toString.call(e).indexOf("[native code]")}function _iterable_to_array(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}function _iterable_to_array_limit(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var r,o,a=[],s=!0,i=!1;try{for(n=n.call(e);!(s=(r=n.next()).done)&&(a.push(r.value),!t||a.length!==t);s=!0);}catch(e){i=!0,o=e}finally{try{s||null==n.return||n.return()}finally{if(i)throw o}}return a}}function _non_iterable_rest(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function _non_iterable_spread(){throw new TypeError("Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function _object_spread(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{},r=Object.keys(n);"function"==typeof Object.getOwnPropertySymbols&&(r=r.concat(Object.getOwnPropertySymbols(n).filter(function(e){return Object.getOwnPropertyDescriptor(n,e).enumerable}))),r.forEach(function(t){_define_property(e,t,n[t])})}return e}function ownKeys(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function _object_spread_props(e,t){return t=null!=t?t:{},Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):ownKeys(Object(t)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(t,n))}),e}function _object_without_properties(e,t){if(null==e)return{};var n,r,o,a={};if("undefined"!=typeof Reflect&&Reflect.ownKeys){for(n=Reflect.ownKeys(Object(e)),o=0;o<n.length;o++)r=n[o],t.indexOf(r)>=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(a[r]=e[r]);return a}if(a=_object_without_properties_loose(e,t),Object.getOwnPropertySymbols)for(n=Object.getOwnPropertySymbols(e),o=0;o<n.length;o++)r=n[o],t.indexOf(r)>=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(a[r]=e[r]);return a}function _object_without_properties_loose(e,t){if(null==e)return{};var n,r,o={},a=Object.getOwnPropertyNames(e);for(r=0;r<a.length;r++)n=a[r],t.indexOf(n)>=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n]);return o}function _possible_constructor_return(e,t){return!t||"object"!==_type_of(t)&&"function"!=typeof t?_assert_this_initialized(e):t}function _set_prototype_of(e,t){return _set_prototype_of=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e},_set_prototype_of(e,t)}function _sliced_to_array(e,t){return _array_with_holes(e)||_iterable_to_array_limit(e,t)||_unsupported_iterable_to_array(e,t)||_non_iterable_rest()}function _to_consumable_array(e){return _array_without_holes(e)||_iterable_to_array(e)||_unsupported_iterable_to_array(e)||_non_iterable_spread()}function _type_of(e){return e&&"undefined"!=typeof Symbol&&e.constructor===Symbol?"symbol":typeof e}function _unsupported_iterable_to_array(e,t){if(e){if("string"==typeof e)return _array_like_to_array(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(n):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?_array_like_to_array(e,t):void 0}}function _wrap_native_super(e){var t="function"==typeof Map?new Map:void 0;return _wrap_native_super=function(e){if(null===e||!_is_native_function(e))return e;if("function"!=typeof e)throw new TypeError("Super expression must either be null or a function");if(void 0!==t){if(t.has(e))return t.get(e);t.set(e,n)}function n(){return _construct(e,arguments,_get_prototype_of(this).constructor)}return n.prototype=Object.create(e.prototype,{constructor:{value:n,enumerable:!1,writable:!0,configurable:!0}}),_set_prototype_of(n,e)},_wrap_native_super(e)}function _is_native_reflect_construct(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch(e){}return(_is_native_reflect_construct=function(){return!!e})()}function _ts_generator(e,t){var n,r,o,a={label:0,sent:function(){if(1&o[0])throw o[1];return o[1]},trys:[],ops:[]},s=Object.create(("function"==typeof Iterator?Iterator:Object).prototype),i=Object.defineProperty;return i(s,"next",{value:c(0)}),i(s,"throw",{value:c(1)}),i(s,"return",{value:c(2)}),"function"==typeof Symbol&&i(s,Symbol.iterator,{value:function(){return this}}),s;function c(i){return function(c){return function(i){if(n)throw new TypeError("Generator is already executing.");for(;s&&(s=0,i[0]&&(a=0)),a;)try{if(n=1,r&&(o=2&i[0]?r.return:i[0]?r.throw||((o=r.return)&&o.call(r),0):r.next)&&!(o=o.call(r,i[1])).done)return o;switch(r=0,o&&(i=[2&i[0],o.value]),i[0]){case 0:case 1:o=i;break;case 4:return a.label++,{value:i[1],done:!1};case 5:a.label++,r=i[1],i=[0];continue;case 7:i=a.ops.pop(),a.trys.pop();continue;default:if(!(o=a.trys,(o=o.length>0&&o[o.length-1])||6!==i[0]&&2!==i[0])){a=0;continue}if(3===i[0]&&(!o||i[1]>o[0]&&i[1]<o[3])){a.label=i[1];break}if(6===i[0]&&a.label<o[1]){a.label=o[1],o=i;break}if(o&&a.label<o[2]){a.label=o[2],a.ops.push(i);break}o[2]&&a.ops.pop(),a.trys.pop();continue}i=t.call(e,a)}catch(e){i=[6,e],r=0}finally{n=o=0}if(5&i[0])throw i[1];return{value:i[0]?i[1]:void 0,done:!0}}([i,c])}}}function _ts_values(e){var t="function"==typeof Symbol&&Symbol.iterator,n=t&&e[t],r=0;if(n)return n.call(e);if(e&&"number"==typeof e.length)return{next:function(){return e&&r>=e.length&&(e=void 0),{value:e&&e[r++],done:!e}}};throw new TypeError(t?"Object is not iterable.":"Symbol.iterator is not defined.")}var Destination=function(){var e=function(e,t){if("collector"===e)return"collector";if(!t)throw new Error("stepId(".concat(e,") requires an id"));return"".concat(e,".").concat(t)},t=function(e,t){var n=e.destinations[t];if(!n)throw new Error("Destination not found: ".concat(t));return n},n=function(e,t){var n=e.transformers[t];if(!n)throw new Error("Transformer not found: ".concat(t));return n},r=function(e,t){var n=e.sources[t];if(!n)throw new Error("Source not found: ".concat(t));return n},o=function(e,t){var n=e.stores[t];if(!n)throw new Error("Store not found: ".concat(t));return n},a=function(e){return{_meta:{hops:0,path:[e]}}},s=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};n=_object_spread({},He,n);var r=Object.entries(t).reduce(function(t,r){var o=_sliced_to_array(r,2),a=o[0],s=o[1],i=e[a];return n.merge&&Array.isArray(i)&&Array.isArray(s)?t[a]=s.reduce(function(e,t){return e.includes(t)?e:_to_consumable_array(e).concat([t])},_to_consumable_array(i)):(n.extend||a in e)&&(t[a]=s),t},{});return n.shallow?_object_spread({},e,r):(Object.assign(e,r),e)},i=function(e){return Array.isArray(e)},c=function(e){return void 0!==e},u=function(e){return"function"==typeof e},l=function(e){return"object"==(void 0===e?"undefined":_type_of(e))&&null!==e&&!i(e)&&"[object Object]"===Object.prototype.toString.call(e)},f=function(e){return"string"==typeof e},d=function(e,t,n){if(!l(e))return e;for(var r=Fe(e),o=t.split("."),a=r,s=0;s<o.length;s++){var i=o[s];s===o.length-1?a[i]=n:(i in a&&"object"==_type_of(a[i])&&null!==a[i]||(a[i]={}),a=a[i])}return r},p=function(e,t){if(!l(e)&&!i(e))return e;for(var n=Fe(e),r=t.split("."),o=n,a=0;a<r.length;a++){var s=r[a],c=a===r.length-1;if(i(o)){var u=Number(s);if(!Number.isInteger(u)||u<0||u>=o.length)return n;if(c)o.splice(u,1);else{var f=o[u];if(!l(f)&&!i(f))return n;o=f}}else if(c)delete o[s];else{var d=o[s];if(!l(d)&&!i(d))return n;o=d}}return n},_=function(e){var t=_object_spread({},arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},arguments.length>2&&void 0!==arguments[2]?arguments[2]:{}),n={},r=!e||0===Object.keys(e).length;return Object.keys(t).forEach(function(o){t[o]&&(n[o]=!0,e&&e[o]&&(r=!0))}),!!r&&n},v=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:6,t=arguments.length>1?arguments[1]:void 0;if(t){for(var n=t.length,r="",o=0;o<e;o++)r+=t[Math.random()*n|0];return r}for(var a="";a.length<e;)a+=(36*Math.random()|0).toString(36);return a},g=function(e){return{message:e.message,name:e.name,stack:e.stack,cause:e.cause}},y=function(e,t){var n,r={};return _instanceof(e,Error)?(n=e.message,r.error=g(e)):n=e,void 0!==t&&(_instanceof(t,Error)?r.error=g(t):"object"==(void 0===t?"undefined":_type_of(t))&&null!==t?"error"in(r=_object_spread({},r,t))&&_instanceof(r.error,Error)&&(r.error=g(r.error)):r.value=t),{message:n,context:r}},h=function(){var e,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return Je({level:void 0!==t.level?(e=t.level,"string"==typeof e?Ge[e]:e):0,handler:t.handler,jsonHandler:t.jsonHandler,scope:[]})},b=function(e){return Ye(e)?e:void 0},m=function(e,t,n){return function(){for(var r=arguments.length,o=new Array(r),a=0;a<r;a++)o[a]=arguments[a];try{return e.apply(void 0,_to_consumable_array(o))}catch(e){if(!t)return;return t(e)}finally{null==n||n()}}},w=function(e,t,n){return function(){for(var r=arguments.length,o=new Array(r),a=0;a<r;a++)o[a]=arguments[a];return _async_to_generator(function(){var r;return _ts_generator(this,function(a){switch(a.label){case 0:return a.trys.push([0,2,4,6]),[4,e.apply(void 0,_to_consumable_array(o))];case 1:case 3:return[2,a.sent()];case 2:return r=a.sent(),t?[4,t(r)]:[2];case 4:return[4,null==n?void 0:n()];case 5:return a.sent(),[7];case 6:return[2]}})})()}},j=function(e,t,n){return _async_to_generator(function(){var r,o,a,s,c,u,f,d,p,_;return _ts_generator(this,function(v){return o=_sliced_to_array((e.name||"").split(" "),2),a=o[0],s=o[1],t&&a&&s?(u="",d=s,p=function(t){if(t)return(i(t)?t:[t]).find(function(t){if(!t.condition)return!0;if(!n)return Boolean(t.condition(e,void 0));var r={event:e,mapping:t,collector:n,logger:n.logger,consent:l(e)&&e.consent||n.consent};return Boolean(t.condition(e,r))})},t[f=a]||(f="*"),[2,((_=t[f])&&(_[d]||(d="*"),c=p(_[d])),c||(f="*",d="*",c=p(null===(r=t[f])||void 0===r?void 0:r[d])),c&&(u="".concat(f," ").concat(d)),{eventMapping:c,mappingKey:u})]):[2,{}]})})()},k=function(e){return _async_to_generator(function(e){var t,n,r,o,a,s,u,f,d,p,_,v,g,y,h,b,m=arguments;return _ts_generator(this,function(j){switch(j.label){case 0:if(t=m.length>1&&void 0!==m[1]?m[1]:{},n=m.length>2&&void 0!==m[2]?m[2]:{},!c(e))return[2];if(a=l(e)&&e.consent||n.consent||(null===(o=n.collector)||void 0===o?void 0:o.consent),s=null!==(r=n.event)&&void 0!==r?r:l(e)?e:{},!n.collector)throw new Error("getMappingValue: context.collector is required");u={event:s,mapping:t,collector:n.collector,logger:n.collector.logger,consent:a},f=i(t)?t:[t],d=!0,p=!1,_=void 0,j.label=1;case 1:j.trys.push([1,6,7,8]),v=f[Symbol.iterator](),j.label=2;case 2:return(d=(g=v.next()).done)?[3,5]:(y=g.value,[4,w(Qe,function(e){if(_instanceof(e,Ze))throw e;n.collector&&n.collector.status.failed++,u.logger.error("mapping processing failed",{event:s,error:e})})(e,y,_object_spread_props(_object_spread({},u),{mapping:y}))]);case 3:if(h=j.sent(),c(h))return[2,h];j.label=4;case 4:return d=!0,[3,2];case 5:return[3,8];case 6:return b=j.sent(),p=!0,_=b,[3,8];case 7:try{d||null==v.return||v.return()}finally{if(p)throw _}return[7];case 8:return[2]}})}).apply(this,arguments)},S=function(e,t,n){return _async_to_generator(function(){var r,o,a,i,c,u,f,_,v,g,y,h,b,m,w,S,O;return _ts_generator(this,function(x){switch(x.label){case 0:return t.policy?[4,Promise.all(Object.entries(t.policy).map(function(t){var r=_sliced_to_array(t,2),o=r[0],a=r[1];return _async_to_generator(function(){var t;return _ts_generator(this,function(r){switch(r.label){case 0:return[4,k(e,a,{collector:n,event:e})];case 1:return t=r.sent(),e=d(e,o,t),[2]}})})()}))]:[3,2];case 1:x.sent(),x.label=2;case 2:return[4,j(e,t.mapping,n)];case 3:return o=x.sent(),a=o.eventMapping,i=o.mappingKey,(null==a?void 0:a.policy)?[4,Promise.all(Object.entries(a.policy).map(function(t){var r=_sliced_to_array(t,2),o=r[0],a=r[1];return _async_to_generator(function(){var t;return _ts_generator(this,function(r){switch(r.label){case 0:return[4,k(e,a,{collector:n,event:e})];case 1:return t=r.sent(),e=d(e,o,t),[2]}})})()}))]:[3,5];case 4:x.sent(),x.label=5;case 5:return(u=t.data)?[4,k(e,t.data,{collector:n,event:e})]:[3,7];case 6:u=x.sent(),x.label=7;case 7:return c=u,f=Boolean(null==a?void 0:a.silent),a?a.ignore?[2,{event:e,data:c,mapping:a,mappingKey:i,ignore:!0,silent:f}]:(a.name&&(e.name=a.name),a.data?(v=a.data)?[4,k(e,a.data,{collector:n,event:e})]:[3,9]:[3,10]):[3,10];case 8:v=x.sent(),x.label=9;case 9:_=v,c=l(c)&&l(_)?s(c,_):_,x.label=10;case 10:if((g=null!==(r=null==a?void 0:a.include)&&void 0!==r?r:t.include)&&g.length>0&&(y=function(e,t){var n={},r=t.includes("all")?Object.keys(Ve):t,o=!0,a=!1,s=void 0;try{for(var i,c=r[Symbol.iterator]();!(o=(i=c.next()).done);o=!0){var u=i.value,f=Ve[u];if(f){var d=f(e),p=!0,_=!1,v=void 0;if(l(d))try{for(var g,y=Object.entries(d)[Symbol.iterator]();!(p=(g=y.next()).done);p=!0){var h=_sliced_to_array(g.value,2),b=h[0],m=h[1];if(void 0!==m){var w="context"===u&&Array.isArray(m)?m[0]:m;n["".concat(u,"_").concat(b)]=w}}}catch(e){_=!0,v=e}finally{try{p||null==y.return||y.return()}finally{if(_)throw v}}}}}catch(e){a=!0,s=e}finally{try{o||null==c.return||c.return()}finally{if(a)throw s}}return n}(e,g),Object.keys(y).length>0&&(c=l(c)?s(y,c):null!=c?c:y)),h=!0,b=!1,m=void 0,(null==a?void 0:a.remove)&&l(c))try{for(w=a.remove[Symbol.iterator]();!(h=(S=w.next()).done);h=!0)O=S.value,c=p(c,O)}catch(e){b=!0,m=e}finally{try{h||null==w.return||w.return()}finally{if(b)throw m}}return[2,{event:e,data:c,mapping:a,mappingKey:i,ignore:!1,silent:f}]}})})()},O=function(e,t,n,r){var o=e;return function(){for(var e=arguments.length,a=new Array(e),s=0;s<e;s++)a[s]=arguments[s];var i,c="pre"+t,u="post"+t,l=n[c],f=n[u],d=function(e,t){r?r.warn(e,{error:t}):console.warn(e,t)};if(l)try{i=l.apply(void 0,[{fn:o}].concat(_to_consumable_array(a)))}catch(e){d("Hook ".concat(String(c)," failed, falling back to original function"),e),i=o.apply(void 0,_to_consumable_array(a))}else i=o.apply(void 0,_to_consumable_array(a));if(f)try{i=f.apply(void 0,[{fn:o,result:i}].concat(_to_consumable_array(a)))}catch(e){d("Hook ".concat(String(u)," failed, keeping original result"),e)}return i}},x=function(e,t){if(0!==e.observers.size){var n=Array.from(e.observers),r=!0,o=!1,a=void 0;try{for(var s,i=n[Symbol.iterator]();!(r=(s=i.next()).done);r=!0){var c=s.value;try{c(t)}catch(e){}}}catch(e){o=!0,a=e}finally{try{r||null==i.return||i.return()}finally{if(o)throw a}}}},I=function(e){return Array.isArray(e)&&e.length>0&&e.every(function(e){return function(e){return"object"==(void 0===e?"undefined":_type_of(e))&&null!==e&&!Array.isArray(e)&&("match"in e||"next"in e||"one"in e||"many"in e)}(e)})},A=function(e){return e.map(function(e){var t,n;if("string"==typeof e)return{match:function(){return!0},next:{type:"static",value:e}};if(Array.isArray(e))return{match:function(){return!0},next:null!==(t=et(e))&&void 0!==t?t:{type:"chain",value:[]}};var r=e;return{match:r.match?Xe(r.match):function(){return!0},next:null!==(n=et(r))&&void 0!==n?n:{type:"chain",value:[]}}})},E=function(e){var t,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(null==e)return[];if("object"==(void 0===e?"undefined":_type_of(e))){var r=tt.get(e);r?t=r:(t=et(e))&&tt.set(e,t)}else t=et(e);if(!t)return[];var o=nt(t,n);return void 0===o?[]:Array.isArray(o)?o:[o]},C=function(e,t){var n={ingest:null!=e?e:{}};return void 0!==t&&(n.event=t),n},q=function(e){var t;return{stop:null!==(t=e.stop)&&void 0!==t&&t,storeId:e.store,namespace:e.namespace,rules:e.rules.map(function(e){return{match:e.match?Xe(e.match):function(){return!0},key:e.key,ttl:e.ttl,update:e.update}})}},P=function(e,t,n,r){return _async_to_generator(function(){var o,a,s,i,c,u;return _ts_generator(this,function(l){switch(l.label){case 0:return(o=e.rules.find(function(e){return e.match(n)}))?(a=o.key.map(function(e){var t;return String(null!==(t=We(n,e))&&void 0!==t?t:"")})).every(function(e){return""===e})?[2,null]:(s=a.join(":"),i=null!=r?r:e.namespace,c=i?"".concat(i,":").concat(s):s,[4,t.get(c)]):[2,null];case 1:return[2,void 0!==(u=l.sent())?{status:"HIT",key:c,value:u,rule:o}:{status:"MISS",key:c,rule:o}]}})})()},D=function(e,t,n,r){e.set(t,n,1e3*r)},T=function(e,t,n,r){return _async_to_generator(function(){var o,a,s,i,c,u,l,f,p,_,v;return _ts_generator(this,function(g){switch(g.label){case 0:if(!t)return[2,e];o=e,a=!0,s=!1,i=void 0,g.label=1;case 1:g.trys.push([1,6,7,8]),c=Object.entries(t)[Symbol.iterator](),g.label=2;case 2:return(a=(u=c.next()).done)?[3,5]:(l=_sliced_to_array(u.value,2),f=l[0],p=l[1],_=[o,f],[4,k(n,p,{collector:r})]);case 3:o=d.apply(void 0,_.concat([g.sent()])),g.label=4;case 4:return a=!0,[3,2];case 5:return[3,8];case 6:return v=g.sent(),s=!0,i=v,[3,8];case 7:try{a||null==c.return||c.return()}finally{if(s)throw i}return[7];case 8:return[2,o]}})})()},M=function(e){return i(e)?e:[e]},L=function(e,t,n,r){return _async_to_generator(function(){var o,a,s,i,u,p,_,v;return _ts_generator(this,function(g){switch(g.label){case 0:o=n,a=!0,s=!1,i=void 0,g.label=1;case 1:g.trys.push([1,6,7,8]),u=function(){var e;return _ts_generator(this,function(n){switch(n.label){case 0:return e=_.value,[4,w(function(){return _async_to_generator(function(){var n,a,s,i,u,p,_;return _ts_generator(this,function(v){switch(v.label){case 0:return(n=t(e.store))?[4,k(o,e.key,{collector:r,event:o})]:[2];case 1:return a=v.sent(),f(a)?(s=e.store?a:"state:".concat(a),"set"!==e.mode?[3,4]:[4,k(o,e.value,{collector:r,event:o})]):[2];case 2:return i=v.sent(),c(i)?[4,n.set(s,i)]:[2];case 3:return v.sent(),[3,6];case 4:return(u=f(_=e.value)?_:l(_)&&f(_.key)?_.key:void 0)?[4,n.get(s)]:[2];case 5:if(p=v.sent(),!c(p))return[2];o=d(o,u,p),v.label=6;case 6:return[2]}})})()},function(e){var t,n;null===(n=r.logger)||void 0===n||null===(t=n.error)||void 0===t||t.call(n,"[state] operation failed",e)})()];case 1:return n.sent(),[2]}})},p=e[Symbol.iterator](),g.label=2;case 2:return(a=(_=p.next()).done)?[3,5]:[5,_ts_values(u())];case 3:g.sent(),g.label=4;case 4:return a=!0,[3,2];case 5:return[3,8];case 6:return v=g.sent(),s=!0,i=v,[3,8];case 7:try{a||null==p.return||p.return()}finally{if(s)throw i}return[7];case 8:return[2,o]}})})()},R=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=arguments.length>2?arguments[2]:void 0;if(t.filter&&!0===m(function(){return t.filter(n)},function(){return!1})())return;var r=K(n);if(r){var o=t.prefix||"dataLayer",a="".concat(o," ").concat(r.name),s=(r.name,{name:a,data:_object_without_properties(r,["name"])});m(function(){return e(s)},function(){})()}},K=function(e){if(l(e)&&f(e.event))return _object_spread({name:e.event},_object_without_properties(e,["event"]));if(i(e)&&e.length>=2)return N(e);if(z(e)){var t=Array.from(e);return N(t)}return null},N=function(e){var t,n=_sliced_to_array(e,3),r=n[0],o=n[1],a=n[2];if(!f(r))return null;var s={};switch(r){case"consent":if(!f(o)||e.length<3)return null;if("default"!==o&&"update"!==o)return null;if(!l(a)||null===a)return null;t="".concat(r," ").concat(o),s=_object_spread({},a);break;case"event":if(!f(o))return null;t=o,l(a)&&(s=_object_spread({},a));break;case"config":if(!f(o))return null;t="".concat(r," ").concat(o),l(a)&&(s=_object_spread({},a));break;case"set":if(f(o))t="".concat(r," ").concat(o),l(a)&&(s=_object_spread({},a));else{if(!l(o))return null;t="".concat(r," custom"),s=_object_spread({},o)}break;default:return null}return _object_spread({name:t},s)},z=function(e){return null!=e&&"object"===(void 0===e?"undefined":_type_of(e))&&"length"in e&&"number"==typeof e.length&&e.length>0},U=function(e,t){var n=e.status.startedAt;return{flowId:"default",stepId:t.stepId,stepType:t.stepType,phase:t.phase,eventId:t.eventId,timestamp:new Date(t.now).toISOString(),elapsedMs:t.now-n}},B=function(e,t){return e.storeId&&t.stores[e.storeId]?t.stores[e.storeId]:t.stores.__cache},G=function(e,t){return e?t.stores[e]:t.stores.__cache},H=function(e){var t={},n=!0,r=!1,o=void 0;try{for(var a,s=Object.entries(e)[Symbol.iterator]();!(n=(a=s.next()).done);n=!0){var i,c=_sliced_to_array(a.value,2),u=c[0],l=null===(i=c[1].config)||void 0===i?void 0:i.next;"string"==typeof l||Array.isArray(l)&&l.every(function(e){return"string"==typeof e})?t[u]={next:l}:t[u]={}}}catch(e){r=!0,o=e}finally{try{n||null==s.return||s.return()}finally{if(r)throw o}}return t},F=function(e,t){var n=e.config||{},r=e[t];return void 0!==r?{config:_object_spread_props(_object_spread({},n),_define_property({},t,r)),chainValue:r}:{config:n,chainValue:void 0}},W=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(!e)return[];if(Array.isArray(e))return e;for(var n=[],r=new Set,o=e;o&&t[o]&&!r.has(o);){r.add(o),n.push(o);var a=t[o].next;if(Array.isArray(a)){var s;(s=n).push.apply(s,_to_consumable_array(a));break}o=a}return n},V=function(e,t,n){return _async_to_generator(function(){var r,o,s,i;return _ts_generator(this,function(c){switch(c.label){case 0:return!t.init||t.config.init?[3,2]:(r=t.type||"unknown",o=e.logger.scope("transformer:".concat(r)),s={collector:e,logger:o,id:n,ingest:a(n),config:t.config,env:Y(t.config.env)},o.debug("init"),[4,O(t.init,"TransformerInit",e.hooks,e.logger)(s)]);case 1:if(!1===(i=c.sent()))return[2,!1];t.config=_object_spread_props(_object_spread({},i||t.config),{env:(null==i?void 0:i.env)||t.config.env,init:!0}),o.debug("init done"),c.label=2;case 2:return[2,!0]}})})()},$=function(t,n,r,o,a,s){return _async_to_generator(function(){var i,c,u,l,f,d,p,_,v,g,y,h;return _ts_generator(this,function(b){switch(b.label){case 0:i=n.type||"unknown",c=t.logger.scope("transformer:".concat(i)),u={collector:t,logger:c,id:r,ingest:a,config:n.config,env:_object_spread({},Y(n.config.env),s?{respond:s}:{})},c.debug("push",{event:o.name}),l="string"==typeof o.id?o.id:"",f=Date.now(),d=U(t,{stepId:e("transformer",r),stepType:"transformer",phase:"in",eventId:l,now:f}),x(t,d),b.label=1;case 1:return b.trys.push([1,3,,4]),[4,O(n.push,"TransformerPush",t.hooks,t.logger)(o,u)];case 2:return p=b.sent(),_=Date.now(),[2,((v=U(t,{stepId:e("transformer",r),stepType:"transformer",phase:"out",eventId:l,now:_})).durationMs=_-f,v.outEvent=p,x(t,v),c.debug("push done"),p)];case 3:throw g=b.sent(),y=Date.now(),(h=U(t,{stepId:e("transformer",r),stepType:"transformer",phase:"error",eventId:l,now:y})).durationMs=y-f,h.error=_instanceof(g,Error)?{name:g.name,message:g.message}:{message:String(g)},x(t,h),g;case 4:return[2]}})})()},J=function(e,t){return e?_object_spread_props(_object_spread({},e),{_meta:_object_spread_props(_object_spread({},e._meta),{path:_to_consumable_array(e._meta.path)})}):a(t)},Y=function(e){return e&&l(e)?e:{}},Z=function(e){return"string"==typeof e||!(!Array.isArray(e)||!e.every(function(e){return"string"==typeof e}))},Q=function(e,t,n){return _async_to_generator(function(){var r,o,a,s,i,c,u,l,f,d,p;return _ts_generator(this,function(_){switch(_.label){case 0:if(!t.on||!(null===(r=t.queueOn)||void 0===r?void 0:r.length))return[2];a=t.queueOn,t.queueOn=[],s=n||(null===(o=t.config)||void 0===o?void 0:o.id)||"unknown",i=!0,c=!1,u=void 0,_.label=1;case 1:_.trys.push([1,6,7,8]),l=function(){var n,r,o;return _ts_generator(this,function(a){switch(a.label){case 0:return n=d.value,r=n.type,o=n.data,[4,w(t.on,function(t){if(_instanceof(t,Ze))throw t;e.status.failed++,e.logger.scope("source").error("source on flush failed",{sourceId:s,type:r,error:t})})(r,o)];case 1:return a.sent(),[2]}})},f=a[Symbol.iterator](),_.label=2;case 2:return(i=(d=f.next()).done)?[3,5]:[5,_ts_values(l())];case 3:_.sent(),_.label=4;case 4:return i=!0,[3,2];case 5:return[3,8];case 6:return p=_.sent(),c=!0,u=p,[3,8];case 7:try{i||null==f.return||f.return()}finally{if(c)throw u}return[7];case 8:return[2]}})})()},X=function(e){var t;return Boolean(e.config.init)&&!(null===(t=e.config.require)||void 0===t?void 0:t.length)},ee=function(e,t,n){return _async_to_generator(function(){var r,o,s,i,c,u,l,f,d,p,_,v,g,y,h,b,m,j,S,O,x,I,A,R,K,N,z,U;return _ts_generator(this,function(F){switch(F.label){case 0:return s=n.code,i=n.config,c=void 0===i?{}:i,u=n.env,l=void 0===u?{}:u,f=n.primary,d=n.next,p=n.before,_=n.cache,v=null!==(r=c.state)&&void 0!==r?r:n.state,g=v?M(v):void 0,h=(y=_)?q(_object_spread_props(_object_spread({},y),{stop:null===(o=y.stop)||void 0===o||o})):void 0,b=Z(d)?W(d,H(e.transformers)):void 0,m=Z(p)?W(p,H(e.transformers)):void 0,j=l.push,S=null!=j?j:e.push,O=Boolean(j),x=function(n,r,o){return _async_to_generator(function(){var a,s,i,u,l,f,_,v,y,j,k,x,I,A,q,M,R,K,N,z,U,F,V,$;return _ts_generator(this,function(Y){switch(Y.label){case 0:return s=null!=m?m:void 0!==p?function(){var t=E(p,C(o.ingest));return 0===t.length?[]:W(1===t.length?t[0]:t,H(e.transformers))}():[],i=[n],s.length>0&&e.transformers&&Object.keys(e.transformers).length>0?[4,wt(e,e.transformers,s,n,o.ingest,o.respond,"source.".concat(t,".before"))]:[3,2];case 1:if(null===(u=Y.sent()).event)return[2,{ok:!0}];if(u.stopped)return[2,(u.respond&&(o.respond=u.respond),{ok:!0})];u.respond&&(o.respond=u.respond),i=Array.isArray(u.event)?u.event:[u.event],Y.label=2;case 2:return h&&(l=B(h,e))?(f=C(o.ingest),[4,P(h,l,f)]):[3,7];case 3:return(_=Y.sent())?"HIT"===_.status&&void 0!==_.value&&h.stop?(y=_.value,_.rule.update?[4,T(y,_.rule.update,_object_spread_props(_object_spread({},f),{cache:{status:"HIT"}}),e)]:[3,5]):[3,6]:[3,7];case 4:y=Y.sent(),Y.label=5;case 5:return[2,(null===(v=o.respond)||void 0===v||v.call(o,y),{ok:!0})];case 6:"MISS"===_.status&&h.stop&&o.respond&&(j=o.respond,k=_.rule.update,x=_object_spread_props(_object_spread({},f),{cache:{status:"MISS"}}),I=_.key,A=_.rule.ttl,q=function(t){D(l,I,t,A),k?a=_async_to_generator(function(){var n;return _ts_generator(this,function(r){switch(r.label){case 0:return[4,T(t,k,x,e)];case 1:return n=r.sent(),j(n),[2]}})})():j(t)},o.respond=q),"MISS"!==_.status||h.stop||D(l,_.key,!0,_.rule.ttl),Y.label=7;case 7:return M=b?{kind:"single",preChain:b}:void 0!==d?function(){var t=E(d,C(o.ingest));return 0===t.length?{kind:"single",preChain:[]}:1===t.length?{kind:"single",preChain:W(t[0],H(e.transformers))}:{kind:"many",branches:t.map(function(t){return W(t,H(e.transformers))})}}():{kind:"single",preChain:[]},g&&g.length>0?[4,Promise.all(i.map(function(t){return L(g,function(t){return G(t,e)},t,e)}))]:[3,9];case 8:i=Y.sent(),Y.label=9;case 9:R={ok:!0},K=!0,N=!1,z=void 0,Y.label=10;case 10:Y.trys.push([10,15,16,17]),U=function(){var n,a;return _ts_generator(this,function(s){switch(s.label){case 0:return n=V.value,"many"!==M.kind?[3,2]:[4,Promise.all(M.branches.map(function(a,s){return w(function(){return _async_to_generator(function(){return _ts_generator(this,function(e){return[2,O?S(n):S(n,_object_spread_props(_object_spread({},r),{id:t,ingest:J(o.ingest,"".concat(t,".").concat(s)),respond:void 0,mapping:c,preChain:a}))]})})()},function(t){return e.logger.scope("source:many").error("many branch ".concat(s," failed"),{error:t}),{ok:!0}})()}))];case 1:return s.sent(),R={ok:!0},[3,7];case 2:return O?[4,S(n)]:[3,4];case 3:return a=s.sent(),[3,6];case 4:return[4,S(n,_object_spread_props(_object_spread({},r),{id:t,ingest:o.ingest,respond:o.respond,mapping:c,preChain:M.preChain}))];case 5:a=s.sent(),s.label=6;case 6:R=a,s.label=7;case 7:return[2]}})},F=i[Symbol.iterator](),Y.label=11;case 11:return(K=(V=F.next()).done)?[3,14]:[5,_ts_values(U())];case 12:Y.sent(),Y.label=13;case 13:return K=!0,[3,11];case 14:return[3,17];case 15:return $=Y.sent(),N=!0,z=$,[3,17];case 16:try{K||null==F.return||F.return()}finally{if(N)throw z}return[7];case 17:return a?[4,a]:[3,19];case 18:Y.sent(),Y.label=19;case 19:return[2,R]}})})()},I=function(n){return _async_to_generator(function(){var r,o;return _ts_generator(this,function(s){switch(s.label){case 0:return r=a(t),c.ingest&&void 0!==n?[4,k(n,c.ingest,{collector:e})]:[2,r];case 1:return o=s.sent(),[2,_object_spread_props(_object_spread({},r,o),{_meta:r._meta})]}})})()},A=e.logger.scope("source").scope(t),R=_object_spread_props(_object_spread({command:e.command,sources:e.sources,elb:e.sources.elb.push,logger:A},l),{push:function(e){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return _async_to_generator(function(){var r;return _ts_generator(this,function(o){return r={ingest:a(t),respond:void 0},[2,x(e,n,r)]})})()}}),K={collector:e,logger:A,id:t,config:c,env:R,withScope:function(e,t,n){return _async_to_generator(function(){var r,o;return _ts_generator(this,function(a){switch(a.label){case 0:return o={},[4,I(e)];case 1:return o.ingest=a.sent(),o.respond=t,r=o,[2,n(_object_spread_props(_object_spread({},R),{push:function(e){return x(e,arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},r)},ingest:r.ingest,respond:r.respond}))]}})})()}},[4,w(s,function(n){if(_instanceof(n,Ze))throw n;e.status.failed++,e.logger.scope("source").error("source factory failed",{sourceId:t,error:n})})(K)];case 1:return(N=F.sent())?(z=N.type||"unknown",U=e.logger.scope(z).scope(t),[2,(R.logger=U,f&&(N.config=_object_spread_props(_object_spread({},N.config),{primary:f})),N)]):[2]}})})()},te=function(e){return _async_to_generator(function(e){var t,n,r,o,a,s,i,c,u,l,f,d,p,_,v,g,y,h,b,m,j=arguments;return _ts_generator(this,function(k){switch(k.label){case 0:t=j.length>1&&void 0!==j[1]?j[1]:{},n={},r=!0,o=!1,a=void 0,k.label=1;case 1:k.trys.push([1,6,7,8]),s=Object.entries(t)[Symbol.iterator](),k.label=2;case 2:return(r=(i=s.next()).done)?[3,5]:(c=_sliced_to_array(i.value,2),u=c[0],l=c[1],[4,ee(e,u,l)]);case 3:if(!(d=k.sent()))return[3,4];p=null===(f=l.config)||void 0===f?void 0:f.require,d.config=_object_spread(_object_spread_props(_object_spread({},d.config),{init:!1}),p?{require:_to_consumable_array(p)}:{}),n[u]=d,k.label=4;case 4:return r=!0,[3,2];case 5:return[3,8];case 6:return m=k.sent(),o=!0,a=m,[3,8];case 7:try{r||null==s.return||s.return()}finally{if(o)throw a}return[7];case 8:Object.assign(e.sources,n),_=!0,v=!1,g=void 0,k.label=9;case 9:k.trys.push([9,14,15,16]),y=function(){var t,n,r,o;return _ts_generator(this,function(a){switch(a.label){case 0:return t=b.value,n=e.sources[t],r=!1,n.init?[4,w(n.init.bind(n),function(n){if(_instanceof(n,Ze))throw n;r=!0,e.status.failed++,e.logger.scope("source").error("source init failed",{sourceId:t,error:n})})()]:[3,2];case 1:a.sent(),a.label=2;case 2:return r?[3,5]:(n.config.init=!0,(o=X(n))?[4,Q(e,n,t)]:[3,4]);case 3:o=a.sent(),a.label=4;case 4:a.label=5;case 5:return[2]}})},h=Object.keys(n)[Symbol.iterator](),k.label=10;case 10:return(_=(b=h.next()).done)?[3,13]:[5,_ts_values(y())];case 11:k.sent(),k.label=12;case 12:return _=!0,[3,10];case 13:return[3,16];case 14:return m=k.sent(),v=!0,g=m,[3,16];case 15:try{_||null==h.return||h.return()}finally{if(v)throw g}return[7];case 16:return[2,n]}})}).apply(this,arguments)},ne=function(e,t,n,r){if(_instanceof(n,Ze))throw n;e.logger.scope("on").error("on callback failed",_object_spread_props(_object_spread({kind:t},r),{error:n}))},re=function(e,t){return{collector:e,logger:e.logger.scope("on").scope(String(t))}},oe=function(e,t,n){return _async_to_generator(function(){var r,o,a;return _ts_generator(this,function(s){return r=e.on,o=r[t]||[],(a=i(n)?n:[n]).forEach(function(e){o.push(e)}),r[t]=o,se(e,t,a),[2]})})()},ae=function(e,t,n,r,o){if(t.on){var a=t.type||"unknown",s=e.logger.scope(a).scope("on").scope(r),i={collector:e,logger:s,id:n,config:t.config,data:o,env:ke(t.env,t.config.env)};m(t.on,function(t){return ne(e,"destination",t,{destId:n,type:r})})(r,i)}},se=function(e,t,n,r){var o,a,s,i,c;switch(t){case mt.Commands.Consent:o=r||e.consent;break;case mt.Commands.Session:o=e.session;break;case mt.Commands.User:o=r||e.user;break;case mt.Commands.Custom:o=r||e.custom;break;case mt.Commands.Globals:o=r||e.globals;break;case mt.Commands.Config:o=r||e.config;break;case mt.Commands.Ready:case mt.Commands.Run:default:o=void 0}if(n.length)switch(t){case mt.Commands.Consent:a=e,s=n,i=r||a.consent,c=re(a,mt.Commands.Consent),s.forEach(function(e){Object.keys(i).filter(function(t){return t in e}).forEach(function(t){m(e[t],function(e){return ne(a,"consent",e,{key:t})})(i,c)})});break;case mt.Commands.Ready:!function(e,t){if(e.allowed){var n=re(e,mt.Commands.Ready);t.forEach(function(t){m(t,function(t){return ne(e,"ready",t)})(void 0,n)})}}(e,n);break;case mt.Commands.Run:!function(e,t){if(e.allowed){var n=re(e,mt.Commands.Run);t.forEach(function(t){m(t,function(t){return ne(e,"run",t)})(void 0,n)})}}(e,n);break;case mt.Commands.Session:!function(e,t){if(e.session){var n=re(e,mt.Commands.Session);t.forEach(function(t){m(t,function(t){return ne(e,"session",t)})(e.session,n)})}}(e,n);break;default:var u=re(e,t);n.forEach(function(n){"function"==typeof n&&m(n,function(n){return ne(e,"generic",n,{type:t})})(o,u)})}},ie=function(e,t,n,r){return _async_to_generator(function(){var o,a,s,i,c,u,l,f,d,p,_,v,g,y,h,b,m,j,k;return _ts_generator(this,function(S){switch(S.label){case 0:switch(s=n||[],n||(s=e.on[t]||[]),t){case mt.Commands.Consent:a=r||e.consent;break;case mt.Commands.Session:a=e.session;break;case mt.Commands.User:a=r||e.user;break;case mt.Commands.Custom:a=r||e.custom;break;case mt.Commands.Globals:a=r||e.globals;break;case mt.Commands.Config:a=r||e.config;break;case mt.Commands.Ready:case mt.Commands.Run:default:a=void 0}i=!1,c=!0,u=!1,l=void 0,S.label=1;case 1:S.trys.push([1,6,7,8]),f=function(){var n,r,o,s,c,u;return _ts_generator(this,function(l){switch(l.label){case 0:return n=_sliced_to_array(p.value,2),r=n[0],o=n[1],(null===(s=o.config.require)||void 0===s?void 0:s.length)&&-1!==(c=o.config.require.indexOf(t))&&o.config.require.splice(c,1),o.on?X(o)?(u=!1,[4,w(o.on,function(n){return ne(e,"source",n,{sourceId:r,type:t})})(t,a)]):[3,2]:[3,3];case 1:return u===l.sent()&&(i=!0),[3,3];case 2:o.queueOn=o.queueOn||[],o.queueOn.push({type:t,data:a}),l.label=3;case 3:return[2]}})},d=Object.entries(e.sources)[Symbol.iterator](),S.label=2;case 2:return(c=(p=d.next()).done)?[3,5]:[5,_ts_values(f())];case 3:S.sent(),S.label=4;case 4:return c=!0,[3,2];case 5:return[3,8];case 6:return k=S.sent(),u=!0,l=k,[3,8];case 7:try{c||null==d.return||d.return()}finally{if(u)throw l}return[7];case 8:Object.entries(e.destinations).forEach(function(n){var r=_sliced_to_array(n,2),o=r[0],s=r[1];if(s.on){if(!s.config.init)return s.queueOn=s.queueOn||[],void s.queueOn.push({type:t,data:a});ae(e,s,o,t,a)}}),_=!0,v=!1,g=void 0,S.label=9;case 9:S.trys.push([9,15,16,17]),y=Object.entries(e.sources)[Symbol.iterator](),S.label=10;case 10:return(_=(h=y.next()).done)?[3,14]:(b=_sliced_to_array(h.value,2),m=b[0],j=b[1],X(j)&&(null===(o=j.queueOn)||void 0===o?void 0:o.length)?[4,Q(e,j,m)]:[3,12]);case 11:S.sent(),S.label=12;case 12:S.label=13;case 13:return _=!0,[3,10];case 14:return[3,17];case 15:return k=S.sent(),v=!0,g=k,[3,17];case 16:try{_||null==y.return||y.return()}finally{if(v)throw g}return[7];case 17:return Object.keys(e.pending.destinations).length>0?[4,function(e,t){return _async_to_generator(function(){var n,r,o,a,s,i,c,u,l,f,d,p;return _ts_generator(this,function(_){n=!0,r=!1,o=void 0;try{for(a=Object.entries(e.pending.destinations)[Symbol.iterator]();!(n=(s=a.next()).done);n=!0)i=_sliced_to_array(s.value,2),c=i[0],u=i[1],e.pending.destinations[c]&&!e.destinations[c]&&(f=null===(l=u.config)||void 0===l?void 0:l.require)&&-1!==(d=f.indexOf(t))&&(f.splice(d,1),f.length>0||(delete e.pending.destinations[c],!1!==(p=we(u)).config.queue&&(p.queuePush=_to_consumable_array(e.queue)),e.destinations[c]=p))}catch(e){r=!0,o=e}finally{try{n||null==a.return||a.return()}finally{if(r)throw o}}return[2]})})()}(e,t)]:[3,19];case 18:S.sent(),S.label=19;case 19:return[2,(se(e,t,s,r),!i)]}})})()},ce=function(e,t,n,r){var o;if(!Number.isFinite(n.max)||n.max<=0)throw new Error("pushBounded: max must be > 0 (got ".concat(n.max,")"));if("dropNewest"===(null!==(o=n.onOverflow)&&void 0!==o?o:"dropOldest"))return e.length>=n.max?(r&&r([t]),{appended:!1,dropped:1}):(e.push(t),{appended:!0,dropped:0});for(var a=[];e.length>=n.max;)a.push(e.shift());return e.push(t),a.length>0&&r&&r(a),{appended:!0,dropped:a.length}},ue=function(e,t,n,r){kt.get(e)||(kt.set(e,!0),t.warn(n,r))},le=function(e){kt.delete(e)},fe=function(e){return e===St},de=function(e){return void 0===e?{}:"number"==typeof e?{wait:e}:{wait:e.wait,size:e.size,age:e.age}},pe=function(e,t){return e.status.destinations[t]||(e.status.destinations[t]={count:0,failed:0,duration:0,queuePushSize:0,dlqSize:0}),e.status.destinations[t]},_e=function(e,t,n,r){var o;e.dropped[t]||(e.dropped[t]={});var a=e.dropped[t];return a[n]=(null!==(o=a[n])&&void 0!==o?o:0)+r,a[n]},ve=function(e,t,n){if(!e)return[];if(Array.isArray(e)&&e.every(function(e){return"string"==typeof e}))return W(e,t);if("string"==typeof e)return W(e,t);var r=E(e,C(n));return 0===r.length?[]:1===r.length?W(r[0],t):W(r,t)},ge=function(e,t){return _async_to_generator(function(){var n,r,o,a,s,i,c,l,f,d,p,_,g;return _ts_generator(this,function(y){if(n=t.code,r=t.config,o=void 0===r?{}:r,a=t.env,s=void 0===a?{}:a,i=t.before,c=t.next,l=t.cache,f=t.state,!u(n.push))return[2,me({ok:!1,failed:{invalid:{type:"invalid",error:"Destination code must have a push method"}}})];if(d=o||{init:!1},p=i?_object_spread_props(_object_spread({},d),{before:i}):_object_spread({},d),c&&(p=_object_spread_props(_object_spread({},p),{next:c})),l&&(p=_object_spread_props(_object_spread({},p),{cache:l})),void 0!==f&&void 0===p.state&&(p=_object_spread_props(_object_spread({},p),{state:f})),_=_object_spread_props(_object_spread({},n),{config:p,env:ke(n.env,s)}),!(g=_.config.id))do{g=v(5,"abcdefghijklmnopqrstuvwxyz")}while(e.destinations[g]);return[2,(e.destinations[g]=_,!1!==_.config.queue&&(_.queuePush=_to_consumable_array(e.queue)),ye(e,void 0,{},_define_property({},g,_)))]})})()},ye=function(t,n,r){return _async_to_generator(function(t,n){var r,o,i,c,u,l,f,d,p,v,g,y,h,b,m,j,k,S,O,I,A,E,T,R,K,N,z,F,W,V,$,J,Y=arguments;return _ts_generator(this,function(Z){switch(Z.label){case 0:if(r=Y.length>2&&void 0!==Y[2]?Y[2]:{},o=Y.length>3?Y[3]:void 0,i=t.allowed,c=t.consent,u=t.globals,l=t.user,!i)return[2,me({ok:!1})];if(n){if(void 0===(f=t.config.queueMax))throw new Error("Collector.Config.queueMax is undefined; defaults must be seeded by collector()");(d=ce(t.queue,n,{max:f})).dropped>0?(p=_e(t.status,e("collector"),"queue",d.dropped),ue(t.queue,t.logger,"collector.queue overflow; oldest events dropped",{buffer:"queue",cap:f,droppedCount:p})):t.queue.length<f&&le(t.queue),t.status.in++}return o||(o=t.destinations),v=t.transformers?H(t.transformers):{},[4,Promise.all(Object.entries(o||{}).map(function(o){var i=_sliced_to_array(o,2),f=i[0],d=i[1];return _async_to_generator(function(){var o,i,p,g,y,h,b,m,j,k,S,O,I,A,E,T,R,K,N,z,H,F,W,V,$,J,Y,Z,Q,X,ee,te,ne,re,oe,ae,se,ie;return _ts_generator(this,function(de){switch(de.label){case 0:if(d.config.disabled)return[2,{id:f,destination:d,skipped:!0}];if(y=(d.queuePush||[]).map(function(e){return _object_spread_props(_object_spread({},e),{consent:c})}),d.queuePush=[],n&&y.push(Fe(n)),h=r.ingest?_object_spread_props(_object_spread({},r.ingest),{_meta:_object_spread_props(_object_spread({},r.ingest._meta),{path:_to_consumable_array(r.ingest._meta.path)})}):a("unknown"),!y.length&&!(null===(o=d.queueOn)||void 0===o?void 0:o.length))return[2,{id:f,destination:d,skipped:!0}];if(y.length||!(null===(i=d.queueOn)||void 0===i?void 0:i.length))return[3,5];b=!1,de.label=1;case 1:return de.trys.push([1,3,,4]),[4,he(t,d,f)];case 2:return b=de.sent(),[3,4];case 3:return m=de.sent(),t.status.failed++,j=d.type||"unknown",t.logger.scope(j).error("destination init failed",{error:_instanceof(m,Error)?m.message:String(m)}),[3,4];case 4:return[2,{id:f,destination:d,skipped:!b}];case 5:if(k=[],S=y.filter(function(n){var r=_(d.config.consent,c,n.consent);if(r)return n.consent=r,k.push(n),!1;var o=U(t,{stepId:e("destination",f),stepType:"destination",phase:"skip",eventId:"string"==typeof n.id?n.id:"",now:Date.now()});return o.skipReason="consent",c&&(o.consent=_object_spread({},c)),d.config.consent&&(o.meta={required:_object_spread({},d.config.consent)}),x(t,o),!0}),S.length>0){I=d.queuePush,A=d.config.id||f,E={max:null!==(O=d.config.queueMax)&&void 0!==O?O:1e3},T=0,R=!0,K=!1,N=void 0;try{for(z=S[Symbol.iterator]();!(R=(H=z.next()).done);R=!0)F=H.value,T+=ce(I,F,E).dropped}catch(e){K=!0,N=e}finally{try{R||null==z.return||z.return()}finally{if(K)throw N}}T>0?(pe(t,A),W=_e(t.status,e("destination",A),"queue",T),ue(I,t.logger.scope(d.type||"unknown"),"destination.queuePush overflow; oldest events dropped",{buffer:"queuePush",destination:A,cap:E.max,droppedCount:W})):I.length<E.max&&le(I)}if(!k.length)return[2,{id:f,destination:d,queue:y}];J=!1,de.label=6;case 6:return de.trys.push([6,8,,9]),[4,he(t,d,f)];case 7:return J=de.sent(),[3,9];case 8:return Y=de.sent(),t.status.failed++,Z=d.type||"unknown",t.logger.scope(Z).error("destination init failed",{error:_instanceof(Y,Error)?Y.message:String(Y)}),[3,9];case 9:return J?(d.dlq||(d.dlq=[]),Q=ve(d.config.before,v,h),X=d.config.next,ee=null===(p=d.config)||void 0===p?void 0:p.cache,te=ee?q(ee):void 0,ne=te?B(te,t):void 0,re=(null===(g=d.config)||void 0===g?void 0:g.state)?M(d.config.state):void 0,oe=null==re?void 0:re.filter(function(e){return"get"===e.mode}),ae=null==re?void 0:re.filter(function(e){return"set"===e.mode}),se=0,ie=0,[4,Promise.all(k.map(function(n){return _async_to_generator(function(){var o,a,i,c,p,_,g,y,b,m,j,k,S;return _ts_generator(this,function(O){switch(O.label){case 0:return n.globals=s(u,n.globals),n.user=s(l,n.user),(null==te?void 0:te.stop)&&ne?(a=C(h,n),[4,P(te,ne,a)]):[3,2];case 1:if("HIT"===(null==(i=O.sent())?void 0:i.status))return[2,n];"MISS"===(null==i?void 0:i.status)&&(o={key:i.key,ttl:i.rule.ttl}),O.label=2;case 2:return c=n,p=r.respond,Q.length>0&&t.transformers&&Object.keys(t.transformers).length>0?[4,wt(t,t.transformers,Q,n,h,r.respond,"destination.".concat(f,".before"))]:[3,4];case 3:if(null===(_=O.sent()).event)return[2,n];_.respond&&(p=_.respond),c=Array.isArray(_.event)?_.event[0]:_.event,O.label=4;case 4:return te&&!te.stop&&ne?(g=C(h,c),[4,P(te,ne,g)]):[3,6];case 5:if("HIT"===(null==(y=O.sent())?void 0:y.status))return[2,n];"MISS"===(null==y?void 0:y.status)&&(o={key:y.key,ttl:y.rule.ttl}),O.label=6;case 6:return oe&&oe.length>0&&c?[4,L(oe,function(e){return G(e,t)},c,t)]:[3,8];case 7:c=O.sent(),O.label=8;case 8:return b=Date.now(),m=!1,[4,w(be,function(n){var r,o=d.type||"unknown";t.logger.scope(o).error("Push failed",{error:n,event:c.name}),V=n,m=!0;var a=d.dlq,s=d.config.id||f,i={max:null!==(r=d.config.dlqMax)&&void 0!==r?r:100},u=ce(a,[c,n],i);if(u.dropped>0){pe(t,s);var l=_e(t.status,e("destination",s),"dlq",u.dropped);ue(a,t.logger.scope(d.type||"unknown"),"destination.dlq overflow; oldest entries dropped",{buffer:"dlq",destination:s,cap:i.max,droppedCount:l})}else a.length<i.max&&le(a)})(t,d,f,c,h,p)];case 9:return j=O.sent(),se+=Date.now()-b,o&&ne&&void 0===d.config.mock&&D(ne,o.key,null==j||j,o.ttl),!m&&ae&&ae.length>0&&c?[4,L(ae,function(e){return G(e,t)},c,t)]:[3,11];case 10:c=O.sent(),O.label=11;case 11:return void 0===j||fe(j)||($=j),fe(j)&&ie++,m||!X?[3,13]:(void 0!==j&&(h._response=j),(k=ve(X,v,h)).length>0&&t.transformers&&Object.keys(t.transformers).length>0?[4,wt(t,t.transformers,k,c,h,p,"destination.".concat(f,".next"))]:[3,13]);case 12:(S=O.sent()).respond&&(p=S.respond),O.label=13;case 13:return[2,n]}})})()}))]):[2,{id:f,destination:d,queue:y}];case 10:return[2,(de.sent(),{id:f,destination:d,error:V,response:$,totalDuration:se,batchedCount:ie,allowedCount:k.length})]}})})()}))];case 1:g=Z.sent(),y={},h={},b={},m=!0,j=!1,k=void 0;try{for(S=g[Symbol.iterator]();!(m=(O=S.next()).done);m=!0)(I=O.value).skipped||(K=I.destination,N={type:K.type||"unknown",data:I.response},pe(t,I.id),z=t.status.destinations[I.id],F=Date.now(),z.queuePushSize=null!==(A=null===(T=K.queuePush)||void 0===T?void 0:T.length)&&void 0!==A?A:0,z.dlqSize=null!==(E=null===(R=K.dlq)||void 0===R?void 0:R.length)&&void 0!==E?E:0,I.error?(N.error=I.error,b[I.id]=N,z.failed++,z.lastAt=F,z.duration+=I.totalDuration||0,t.status.failed++):I.queue&&I.queue.length?h[I.id]=N:($=null!==(W=I.batchedCount)&&void 0!==W?W:0,J=null!==(V=I.allowedCount)&&void 0!==V?V:0,(Math.max(0,J-$)>0||0===J)&&(y[I.id]=N,z.count++,z.lastAt=F,z.duration+=I.totalDuration||0,t.status.out++)))}catch(e){j=!0,k=e}finally{try{m||null==S.return||S.return()}finally{if(j)throw k}}return[2,me(_object_spread({event:n},Object.keys(y).length&&{done:y},Object.keys(h).length&&{queued:h},Object.keys(b).length&&{failed:b}))]}})}).apply(this,arguments)},he=function(t,n,r){return _async_to_generator(function(){var o,a,s,i,c,u,l,f,d,p,_,v,g,y,h,b,m,w;return _ts_generator(this,function(j){switch(j.label){case 0:if(!n.init||n.config.init)return[3,5];a=n.type||"unknown",s=t.logger.scope(a),i={collector:t,logger:s,id:r,config:n.config,env:ke(n.env,n.config.env)},s.debug("init"),c=Date.now(),x(t,U(t,{stepId:e("destination",r),stepType:"destination",phase:"init",eventId:"",now:c})),j.label=1;case 1:return j.trys.push([1,3,,4]),[4,O(n.init,"DestinationInit",t.hooks,t.logger)(i)];case 2:return u=j.sent(),[3,4];case 3:throw l=j.sent(),f=Date.now(),(d=U(t,{stepId:e("destination",r),stepType:"destination",phase:"error",eventId:"",now:f})).durationMs=f-c,d.error=_instanceof(l,Error)?{name:l.name,message:l.message}:{message:String(l)},x(t,d),l;case 4:if(!1===u)return[2,u];if(n.config=_object_spread_props(_object_spread({},u||n.config),{init:!0}),null===(o=n.queueOn)||void 0===o?void 0:o.length){p=n.queueOn,n.queueOn=[],_=!0,v=!1,g=void 0;try{for(y=p[Symbol.iterator]();!(_=(h=y.next()).done);_=!0)b=h.value,m=b.type,w=b.data,ae(t,n,r,m,w)}catch(e){v=!0,g=e}finally{try{_||null==y.return||y.return()}finally{if(v)throw g}}}s.debug("init done"),j.label=5;case 5:return[2,!0]}})})()},be=function(t,n,r,o,a,s){return _async_to_generator(function(){var i,u,l,f,d,p,_,v,g,y,h,b,m,j,k,I,A,E,C,q,P,D,T,M,L,R,K,N,z,B,G,H,F,W;return _ts_generator(this,function(V){switch(V.label){case 0:return i=n.config,[4,S(o,i,t)];case 1:if((u=V.sent()).ignore)return[2,!1];if(l=n.type||"unknown",f=t.logger.scope(l),d={collector:t,logger:f,id:r,config:i,data:u.data,rule:u.mapping,ingest:a,env:_object_spread({},ke(n.env,i.env),s?{respond:s}:{})},void 0!==i.mock)return[2,(f.debug("mock",{event:u.event.name}),i.mock)];if(p=u.mapping,_=u.mappingKey||"* *",(null==p?void 0:p.batch)&&n.pushBatch&&void 0===i.mock)return n.batches=n.batches||{},n.batches[_]||(k={key:_,entries:[],events:[],data:[]},I=de(p.batch),A=de(i.batch),E=null!==(g=null!==(y=I.wait)&&void 0!==y?y:A.wait)&&void 0!==g?g:3e4,C=null!==(h=null!==(b=I.size)&&void 0!==b?b:A.size)&&void 0!==h?h:1e3,q=null!==(m=null!==(j=I.age)&&void 0!==j?j:A.age)&&void 0!==m?m:3e4,P=ke(n.env,i.env),D=function(e){var t,n,r=arguments.length>2&&void 0!==arguments[2]&&arguments[2],o=function(e,t){var n;return"number"==typeof e?{wait:e}:e?{wait:null!==(n=e.wait)&&void 0!==n?n:t,size:e.size,age:e.age}:{wait:t}}(arguments.length>1&&void 0!==arguments[1]?arguments[1]:1e3,1e3),a=o.wait,s=o.size,i=o.age,c=null,u=null,l=!1,f=[],d=0,p=function(){c&&(clearTimeout(c),c=null),u&&(clearTimeout(u),u=null),d=0,n=void 0},_=function(){var r=n,o=f;if(p(),f=[],r)return t=e.apply(void 0,_to_consumable_array(r)),o.forEach(function(e){return e(t)}),t;o.forEach(function(e){return e(void 0)})},v=function(){for(var o=arguments.length,p=new Array(o),v=0;v<o;v++)p[v]=arguments[v];return new Promise(function(o){var v=r&&!l;if(n=p,d+=1,f.push(o),c&&clearTimeout(c),c=setTimeout(function(){c=null,r&&!l||_()},a),void 0===i||u||(u=setTimeout(function(){u=null,_()},i)),void 0!==s&&d>=s)_();else if(v){l=!0,t=e.apply(void 0,_to_consumable_array(p));var g=f;f=[],g.forEach(function(e){return e(t)})}})};return v.flush=function(){return n||0!==f.length?new Promise(function(e){f.push(e),_()}):Promise.resolve(void 0)},v.cancel=function(){var e=f;f=[],p(),e.forEach(function(e){return e(void 0)})},v.size=function(){return d},v}(function(){return _async_to_generator(function(){var o,a,s,c,u,l,d,p,v,g;return _ts_generator(this,function(y){switch(y.label){case 0:return 0===(a=n.batches[_].batched).entries.length?[2]:(s={key:a.key,entries:a.entries,events:a.events,data:a.data},a.entries=[],a.events=[],a.data=[],c=s.entries[0],u={collector:t,logger:f,id:r,config:i,data:void 0,rule:c.rule,ingest:c.ingest,env:_object_spread({},P,c.respond?{respond:c.respond}:{})},f.debug("push batch",{events:s.entries.length}),l=n.config.id||r,d=pe(t,l),p=Date.now(),(v=U(t,{stepId:e("destination",r),stepType:"destination",phase:"flush",eventId:"",now:p})).batch={size:s.entries.length,index:0},x(t,v),g=!0,[4,w(O(n.pushBatch,"DestinationPushBatch",t.hooks,t.logger),function(o){var a;g=!1;var i=Date.now(),c=U(t,{stepId:e("destination",r),stepType:"destination",phase:"error",eventId:"",now:i});c.durationMs=i-p,c.error=_instanceof(o,Error)?{name:o.name,message:o.message}:{message:String(o)},c.batch={size:s.entries.length,index:0},x(t,c);var u=n.dlq=n.dlq||[],_={max:null!==(a=n.config.dlqMax)&&void 0!==a?a:100},v=0,y=!0,h=!1,b=void 0;try{for(var m,w=s.entries[Symbol.iterator]();!(y=(m=w.next()).done);y=!0){var j=m.value;v+=ce(u,[j.event,o],_).dropped}}catch(e){h=!0,b=e}finally{try{y||null==w.return||w.return()}finally{if(h)throw b}}if(v>0){var k=_e(t.status,e("destination",l),"dlq",v);ue(u,f,"destination.dlq overflow; oldest entries dropped",{buffer:"dlq",destination:l,cap:_.max,droppedCount:k})}else u.length<_.max&&le(u);d.failed+=s.entries.length,d.dlqSize=u.length,t.status.failed+=s.entries.length,f.error("Push batch failed",{error:_instanceof(o,Error)?o.message:String(o),entries:s.entries.length})})(s,u)]);case 1:return y.sent(),f.debug("push batch done"),d.inFlightBatch=Math.max(0,(null!==(o=d.inFlightBatch)&&void 0!==o?o:0)-s.entries.length),g&&(d.count+=s.entries.length,d.lastAt=Date.now(),t.status.out+=s.entries.length),[2]}})})()},{wait:E,size:C,age:q}),n.batches[_]={batched:k,batchFn:function(){D()},flush:function(){return _async_to_generator(function(){return _ts_generator(this,function(e){switch(e.label){case 0:return[4,D.flush()];case 1:return e.sent(),[2]}})})()}}),(T=n.batches[_]).batched.entries.push({event:u.event,ingest:a,respond:s,rule:p,data:u.data}),T.batched.events.push(u.event),c(u.data)&&T.batched.data.push(u.data),M=n.config.id||r,[2,((L=pe(t,M)).inFlightBatch=(null!==(v=L.inFlightBatch)&&void 0!==v?v:0)+1,T.batchFn(),St)];f.debug("push",{event:u.event.name}),R="string"==typeof u.event.id?u.event.id:"",K=Date.now(),N=U(t,{stepId:e("destination",r),stepType:"destination",phase:"in",eventId:R,now:K}),u.mappingKey&&(N.mappingKey=u.mappingKey),u.event.consent&&(N.consent=_object_spread({},u.event.consent)),x(t,N),V.label=2;case 2:return V.trys.push([2,4,,5]),[4,O(n.push,"DestinationPush",t.hooks,t.logger)(u.event,d)];case 3:return z=V.sent(),B=Date.now(),[2,((G=U(t,{stepId:e("destination",r),stepType:"destination",phase:"out",eventId:R,now:B})).durationMs=B-K,G.outEvent=z,u.mappingKey&&(G.mappingKey=u.mappingKey),x(t,G),f.debug("push done"),z)];case 4:throw H=V.sent(),F=Date.now(),(W=U(t,{stepId:e("destination",r),stepType:"destination",phase:"error",eventId:R,now:F})).durationMs=F-K,W.error=_instanceof(H,Error)?{name:H.name,message:H.message}:{message:String(H)},u.mappingKey&&(W.mappingKey=u.mappingKey),x(t,W),H;case 5:return[2]}})})()},me=function(e){return _object_spread({ok:!(null==e?void 0:e.failed)},e)},we=function(e){var t=e.code,n=e.config,r=void 0===n?{}:n,o=e.env,a=void 0===o?{}:o,s=e.cache,i=e.state,c=F(e,"before").config,u=F(_object_spread_props(_object_spread({},e),{config:c}),"next").config,l=_object_spread({},t.config,r,u);s&&(l.cache=s),void 0!==i&&void 0===l.state&&(l.state=i);var f=ke(t.env,a);return _object_spread_props(_object_spread({},t),{config:l,env:f})},je=function(e){return _async_to_generator(function(e){var t,n,r,o,a,s,i,c,u,l,f,d,p=arguments;return _ts_generator(this,function(_){t=p.length>1&&void 0!==p[1]?p[1]:{},o={},a=!0,s=!1,i=void 0;try{for(c=Object.entries(t)[Symbol.iterator]();!(a=(u=c.next()).done);a=!0)l=_sliced_to_array(u.value,2),f=l[0],d=l[1],(null===(r=d.config)||void 0===r||null===(n=r.require)||void 0===n?void 0:n.length)?e.pending.destinations[f]=d:o[f]=we(d)}catch(e){s=!0,i=e}finally{try{a||null==c.return||c.return()}finally{if(s)throw i}}return[2,o]})}).apply(this,arguments)},ke=function(e,t){return e||t?t?e&&l(e)&&l(t)?_object_spread({},e,t):t:e:{}},Se=function(e,t,n){return _async_to_generator(function(){var r;return _ts_generator(this,function(o){switch(o.label){case 0:return r=Object.entries(e).map(function(e){var r=_sliced_to_array(e,2),o=r[0],a=r[1];return _async_to_generator(function(){var e,r,s,i,c,u;return _ts_generator(this,function(l){switch(l.label){case 0:if(!(r=a.destroy))return[2];s=a.type||"unknown",i=n.scope(s),c={id:o,config:a.config,env:null!==(e=a.env)&&void 0!==e?e:{},logger:i},l.label=1;case 1:return l.trys.push([1,3,,4]),[4,Promise.race([r(c),new Promise(function(e,n){return setTimeout(function(){return n(new Error("".concat(t," '").concat(o,"' destroy timed out")))},5e3)})])];case 2:return l.sent(),[3,4];case 3:return u=l.sent(),i.error("".concat(t," '").concat(o,"' destroy failed: ").concat(u)),[3,4];case 4:return[2]}})})()}),[4,Promise.allSettled(r)];case 1:return o.sent(),[2]}})})()},Oe=function(e,t,n){return _async_to_generator(function(){var r,o,a,i,c,d,p,_,v;return _ts_generator(this,function(g){switch(g.label){case 0:switch(a=!1,t){case mt.Commands.Config:return[3,1];case mt.Commands.Consent:return[3,2];case mt.Commands.Custom:return[3,3];case mt.Commands.Destination:return[3,4];case mt.Commands.Globals:return[3,7];case mt.Commands.Hook:return[3,8];case mt.Commands.On:return[3,9];case mt.Commands.Ready:return[3,12];case mt.Commands.Run:return[3,13];case mt.Commands.Session:return[3,15];case mt.Commands.Shutdown:return[3,16];case mt.Commands.User:return[3,18]}return[3,19];case 1:return l(n)&&(s(e.config,n,{shallow:!1}),o=n,a=!0),[3,19];case 2:return l(n)&&(i=function(e,t){var n={};return Object.entries(t).forEach(function(e){var t=_sliced_to_array(e,2),r=t[0],o=t[1];n[r]=!!o}),e.consent=s(e.consent,n),{update:n}}(e,n),c=i.update,o=c,a=!0),[3,19];case 3:return l(n)&&(e.custom=s(e.custom,n),o=n,a=!0),[3,19];case 4:return l(n)&&"code"in n&&l(n.code)?[4,ge(e,n)]:[3,6];case 5:r=g.sent(),g.label=6;case 6:return[3,19];case 7:return l(n)&&(e.globals=s(e.globals,n),o=n,a=!0),[3,19];case 8:return l(n)&&f(n.name)&&u(n.fn)&&(d=n.name,p=n.fn,e.hooks[d]=p,o=n,a=!0),[3,19];case 9:return l(n)&&f(n.type)?(_=n.type,v=n.rules,[4,oe(e,_,v)]):[3,11];case 10:g.sent(),g.label=11;case 11:return[3,19];case 12:return a=!0,[3,19];case 13:return[4,Ie(e,n)];case 14:return r=g.sent(),a=!0,[3,19];case 15:return a=!0,[3,19];case 16:return[4,(y=e,_async_to_generator(function(){var e;return _ts_generator(this,function(t){switch(t.label){case 0:return e=y.logger,[4,Se(y.sources,"source",e)];case 1:return t.sent(),[4,Se(y.destinations,"destination",e)];case 2:return t.sent(),[4,Se(y.transformers,"transformer",e)];case 3:return t.sent(),[4,Se(y.stores,"store",e)];case 4:return t.sent(),[2]}})})())];case 17:return g.sent(),[3,19];case 18:l(n)&&(s(e.user,n,{shallow:!1}),o=n,a=!0),g.label=19;case 19:return a?[4,ie(e,t,void 0,o)]:[3,22];case 20:return g.sent(),[4,ye(e)];case 21:r=g.sent(),g.label=22;case 22:return[2,r||me({ok:!0})]}var y})})()},xe=function(e,t){if(!t.name)throw new Error("Event name is required");var n=_sliced_to_array(t.name.split(" "),2),r=n[0],o=n[1];if(!r||!o)throw new Error("Event name is invalid");var a=t.timestamp,s=void 0===a?Date.now():a,i=t.name,c=void 0===i?"".concat(r," ").concat(o):i,u=t.data,l=void 0===u?{}:u,f=t.context,d=void 0===f?{}:f,p=t.globals,_=void 0===p?e.globals:p,v=t.custom,g=void 0===v?{}:v,y=t.user,h=void 0===y?e.user:y,b=t.nested,m=void 0===b?[]:b,w=t.consent,j=void 0===w?e.consent:w,k=t.id,S=void 0===k?function(){for(var e="",t=0;t<16;t++)e+=(16*Math.random()|0).toString(16);return e}():k,O=t.trigger,x=void 0===O?"":O,I=t.entity,A=void 0===I?r:I,E=t.action,C=void 0===E?o:E,q=t.timing,P=void 0===q?0:q,D=t.source;return{name:c,data:l,context:d,globals:_,custom:g,user:h,nested:m,consent:j,id:S,trigger:x,entity:A,action:C,timestamp:s,timing:P,source:void 0===D?{type:"collector",schema:"4"}:D}},Ie=function(e,t){return _async_to_generator(function(){return _ts_generator(this,function(n){switch(n.label){case 0:return e.allowed=!0,e.timing=Date.now(),t&&(t.consent&&(e.consent=s(e.consent,t.consent)),t.user&&(e.user=s(e.user,t.user)),t.globals&&(e.globals=s(e.config.globalsStatic||{},t.globals)),t.custom&&(e.custom=s(e.custom,t.custom))),Object.values(e.destinations).forEach(function(e){e.queuePush=[]}),e.queue=[],e.round++,[4,ye(e)];case 1:return[2,n.sent()]}})})()},Ae=function(){var e,t,n,r,o=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},a=null!==(e=o.maxEntries)&&void 0!==e?e:1e4,s=null!==(t=o.lowWaterMark)&&void 0!==t?t:.8,i=null!==(n=o.sweepIntervalMs)&&void 0!==n?n:6e4,c=Math.floor(a*s),u=new Map,l={hits:0,misses:0,populates:0,writes:0,deletes:0,evictions_entries:0,evictions_ttl:0};return i>0&&((r=setInterval(function(){var e=Date.now(),t=0,n=!0,r=!1,o=void 0;try{for(var a,s=u[Symbol.iterator]();!(n=(a=s.next()).done);n=!0){var i=_sliced_to_array(a.value,2),c=i[0],f=i[1];void 0!==f.expires&&f.expires<=e&&(u.delete(c),t++)}}catch(e){r=!0,o=e}finally{try{n||null==s.return||s.return()}finally{if(r)throw o}}l.evictions_ttl+=t},i))&&"function"==typeof r.unref&&r.unref()),{type:"memory",config:{},get:function(e){var t=u.get(e);if(t)return void 0!==t.expires&&t.expires<=Date.now()?(u.delete(e),l.evictions_ttl++,void l.misses++):(u.delete(e),u.set(e,t),l.hits++,t.value);l.misses++},set:function(e,t,n){var r=!u.has(e);r||u.delete(e),u.set(e,{value:t,expires:void 0!==n?Date.now()+n:void 0}),l.writes++,r&&l.populates++,u.size>a&&function(){if(!(u.size<=a)){var e=u.size-c,t=0,n=!0,r=!1,o=void 0;try{for(var s,i=u.keys()[Symbol.iterator]();!(n=(s=i.next()).done);n=!0){var f=s.value;if(t>=e)break;u.delete(f),t++}}catch(e){r=!0,o=e}finally{try{n||null==i.return||i.return()}finally{if(r)throw o}}l.evictions_entries+=t}}()},delete:function(e){u.delete(e)&&l.deletes++},get counters(){return _object_spread({},l)},destroy:function(){void 0!==r&&(clearInterval(r),r=void 0),u.clear()}}},Ee=function(e,t){var n=t.cacheConfig,r=t.cacheStore,o=t.namespace,a=t.logger,s=t.storeId,i=t.collector,c=function(e,t){if(i){var n=U(i,{stepId:"store.".concat(s),stepType:"store",phase:"in",eventId:"",now:Date.now()});n.meta={op:"cache",cached:"hit"===t,status:t,key:e},x(i,n)}},u={hits:0,misses:0,populates:0,writes:0,deletes:0,inflight_dedups:0},l=n.rules.map(function(e){return{match:e.match?Xe(e.match):function(){return!0},ttl:e.ttl}}),f=function(e){return"".concat(o,":").concat(e)};function d(e,t){var n=void 0===t?{key:e}:{key:e,value:t};return l.find(function(e){return e.match(n)})}var p=new Map;return{type:e.type,config:e.config,setup:e.setup,get counters(){return _object_spread({},u)},get:function(t){return _async_to_generator(function(){var n,o,a,s;return _ts_generator(this,function(i){switch(i.label){case 0:return n=f(t),[4,r.get(n)];case 1:return void 0!==(o=i.sent())?[2,(u.hits++,c(t,"hit"),o)]:(a=p.get(n))?[2,(u.inflight_dedups++,c(t,"hit"),a)]:(u.misses++,c(t,"miss"),s=_async_to_generator(function(){var o,a,s;return _ts_generator(this,function(i){switch(i.label){case 0:return i.trys.push([0,,6,7]),[4,e.get(t)];case 1:if(void 0===(o=i.sent()))return[2];if(!(a=d(t,o)))return[3,5];i.label=2;case 2:return i.trys.push([2,4,,5]),[4,r.set(n,o,1e3*a.ttl)];case 3:return i.sent(),u.populates++,[3,5];case 4:return s=i.sent(),_("set",t,s),[3,5];case 5:return[2,o];case 6:return p.delete(n),[7];case 7:return[2]}})})(),[2,(p.set(n,s),s)])}})})()},set:function(t,n,o){return _async_to_generator(function(){var a,s;return _ts_generator(this,function(i){switch(i.label){case 0:return u.writes++,[4,e.set(t,n,o)];case 1:if(i.sent(),!(a=d(t,n)))return[3,5];i.label=2;case 2:return i.trys.push([2,4,,5]),[4,r.set(f(t),n,1e3*a.ttl)];case 3:return i.sent(),[3,5];case 4:return s=i.sent(),_("set",t,s),[3,5];case 5:return[2]}})})()},delete:function(t){return _async_to_generator(function(){var n;return _ts_generator(this,function(o){switch(o.label){case 0:return u.deletes++,[4,e.delete(t)];case 1:o.sent(),o.label=2;case 2:return o.trys.push([2,4,,5]),[4,r.delete(f(t))];case 3:return o.sent(),[3,5];case 4:return n=o.sent(),_("delete",t,n),[3,5];case 5:return[2]}})})()}};function _(e,t,n){var r="store-cache(".concat(s,"): cache ").concat(e,' failed for "').concat(t,'"; backing succeeded, continuing');a?a.warn(r,{error:n}):console.warn(r,n)}},Ce=function(e,t,n){var r="store.".concat(n),o=O(t.get,"StoreGet",e.hooks,e.logger),a=O(t.set,"StoreSet",e.hooks,e.logger),s=O(t.delete,"StoreDelete",e.hooks,e.logger);t.get=function(t){return _async_to_generator(function(){var n,a,s,i,c,u,l,f;return _ts_generator(this,function(d){switch(d.label){case 0:n=Date.now(),(a=U(e,{stepId:r,stepType:"store",phase:"in",eventId:"",now:n})).meta={op:"get",key:t},x(e,a),d.label=1;case 1:return d.trys.push([1,3,,4]),[4,o(t)];case 2:return s=d.sent(),i=Date.now(),[2,((c=U(e,{stepId:r,stepType:"store",phase:"out",eventId:"",now:i})).durationMs=i-n,c.meta={op:"get",key:t},x(e,c),s)];case 3:throw u=d.sent(),l=Date.now(),(f=U(e,{stepId:r,stepType:"store",phase:"error",eventId:"",now:l})).durationMs=l-n,f.meta={op:"get",key:t},f.error=_instanceof(u,Error)?{name:u.name,message:u.message}:{message:String(u)},x(e,f),u;case 4:return[2]}})})()},t.set=function(t,n,o){return _async_to_generator(function(){var s,i,c,u,l,f,d;return _ts_generator(this,function(p){switch(p.label){case 0:s=Date.now(),(i=U(e,{stepId:r,stepType:"store",phase:"in",eventId:"",now:s})).meta={op:"set",key:t},x(e,i),p.label=1;case 1:return p.trys.push([1,3,,4]),[4,a(t,n,o)];case 2:return p.sent(),c=Date.now(),(u=U(e,{stepId:r,stepType:"store",phase:"out",eventId:"",now:c})).durationMs=c-s,u.meta={op:"set",key:t},x(e,u),[3,4];case 3:throw l=p.sent(),f=Date.now(),(d=U(e,{stepId:r,stepType:"store",phase:"error",eventId:"",now:f})).durationMs=f-s,d.meta={op:"set",key:t},d.error=_instanceof(l,Error)?{name:l.name,message:l.message}:{message:String(l)},x(e,d),l;case 4:return[2]}})})()},t.delete=function(t){return _async_to_generator(function(){var n,o,a,i,c,u,l;return _ts_generator(this,function(f){switch(f.label){case 0:n=Date.now(),(o=U(e,{stepId:r,stepType:"store",phase:"in",eventId:"",now:n})).meta={op:"delete",key:t},x(e,o),f.label=1;case 1:return f.trys.push([1,3,,4]),[4,s(t)];case 2:return f.sent(),a=Date.now(),(i=U(e,{stepId:r,stepType:"store",phase:"out",eventId:"",now:a})).durationMs=a-n,i.meta={op:"delete",key:t},x(e,i),[3,4];case 3:throw c=f.sent(),u=Date.now(),(l=U(e,{stepId:r,stepType:"store",phase:"error",eventId:"",now:u})).durationMs=u-n,l.meta={op:"delete",key:t},l.error=_instanceof(c,Error)?{name:c.name,message:c.message}:{message:String(c)},x(e,l),c;case 4:return[2]}})})()}},qe=function(e){return _async_to_generator(function(e){var t,n,r,o,a,s,i,c,u,l,f,d,p,_,v,g,y,h,b,m,w,j,k,S,O,x,I,A,E,C,q,P,D,T,M,L,R,K,N,z=arguments;return _ts_generator(this,function(U){switch(U.label){case 0:t=z.length>1&&void 0!==z[1]?z[1]:{},n={},r=!0,o=!1,a=void 0,U.label=1;case 1:U.trys.push([1,6,7,8]),s=Object.entries(t)[Symbol.iterator](),U.label=2;case 2:return(r=(i=s.next()).done)?[3,5]:(c=_sliced_to_array(i.value,2),u=c[0],l=c[1],f=l.code,d=l.config,p=void 0===d?{}:d,_=l.env,v=void 0===_?{}:_,g=e.logger.scope("store").scope(u),[4,f({collector:e,logger:g,id:u,config:p,env:v})]);case 3:y=U.sent(),n[u]=y,U.label=4;case 4:return r=!0,[3,2];case 5:return[3,8];case 6:return h=U.sent(),o=!0,a=h,[3,8];case 7:try{r||null==s.return||s.return()}finally{if(o)throw a}return[7];case 8:m=function(e){var t={},n=!0,r=!1,o=void 0;try{for(var a,s=Object.keys(e)[Symbol.iterator]();!(n=(a=s.next()).done);n=!0){var i=a.value;t[i]="WHITE"}}catch(e){r=!0,o=e}finally{try{n||null==s.return||s.return()}finally{if(r)throw o}}var c=[],u=[];function l(n){var r,o=t[n];if("BLACK"!==o){if("GRAY"===o){var a=u.indexOf(n),s=u.slice(-1===a?0:a).concat(n).join(" -> ");throw new Error("Cycle in cache.store chain: ".concat(s))}t[n]="GRAY",u.push(n);var i=null===(r=e[n].cache)||void 0===r?void 0:r.store;if(void 0!==i){if(!(i in e))throw new Error('Store "'.concat(n,'" cache.store references "').concat(i,'", which is not declared in flow.stores'));l(i)}u.pop(),t[n]="BLACK",c.push(n)}}var f=!0,d=!1,p=void 0;try{for(var _,v=Object.keys(e)[Symbol.iterator]();!(f=(_=v.next()).done);f=!0){var g=_.value;"WHITE"===t[g]&&l(g)}}catch(e){d=!0,p=e}finally{try{f||null==v.return||v.return()}finally{if(d)throw p}}return c}(b=t),w=!0,j=!1,k=void 0;try{for(S=m[Symbol.iterator]();!(w=(O=S.next()).done);w=!0)x=O.value,(A=b[x].cache)&&(E=void 0,C=void 0,void 0!==A.store?(E=n[A.store],C=A.store):(n.__cache||(n.__cache=Ae()),E=n.__cache,C="__cache"),q=null!==(I=A.namespace)&&void 0!==I?I:x,e.logger.scope("store-cache").scope(x).info('store "'.concat(x,'" caches with namespace "').concat(q,':" via ').concat(C)),n[x]=Ee(n[x],{storeId:x,cacheConfig:A,cacheStore:E,namespace:q,logger:e.logger.scope("store-cache").scope(x),collector:e}))}catch(e){j=!0,k=e}finally{try{w||null==S.return||S.return()}finally{if(j)throw k}}P=!0,D=!1,T=void 0;try{for(M=Object.entries(n)[Symbol.iterator]();!(P=(L=M.next()).done);P=!0)R=_sliced_to_array(L.value,2),K=R[0],N=R[1],"__cache"!==K&&Ce(e,N,K)}catch(e){D=!0,T=e}finally{try{P||null==M.return||M.return()}finally{if(D)throw T}}return[2,n]}})}).apply(this,arguments)},Pe=function(e){return _async_to_generator(function(){var t,n,r,o,i,c,u,l;return _ts_generator(this,function(f){switch(f.label){case 0:return r=s({globalsStatic:{},sessionStatic:{},run:!0,queueMax:1e3},e,{merge:!1,extend:!1}),o={level:null===(t=e.logger)||void 0===t?void 0:t.level,handler:null===(n=e.logger)||void 0===n?void 0:n.handler},i=h(o),c=_object_spread({},r.globalsStatic,e.globals),(u={allowed:!1,config:r,consent:e.consent||{},custom:e.custom||{},destinations:{},transformers:{},stores:{},globals:c,hooks:e.hooks||{},observers:new Set,logger:i,on:{},queue:[],round:0,session:void 0,status:{startedAt:Date.now(),in:0,out:0,failed:0,sources:{},destinations:{},dropped:{}},timing:Date.now(),user:e.user||{},sources:{},pending:{destinations:{}},push:void 0,command:void 0}).push=function(e,t){var n=O(function(n){var r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return _async_to_generator(function(){return _ts_generator(this,function(o){switch(o.label){case 0:return[4,w(function(){return _async_to_generator(function(){var o,s,i,c,u,l,f,d,p,v,g,y,h,b,m,w,j,k,O,x,I;return _ts_generator(this,function(A){switch(A.label){case 0:return o=Date.now(),s=r.id,i=r.ingest,c=r.respond,u=r.mapping,l=r.preChain,f=r.include,d=r.exclude,p=c,v=n,g=f||d?function(e,t,n){var r=e;return t&&(r=Object.fromEntries(Object.entries(r).filter(function(e){var n=_sliced_to_array(e,1)[0];return t.includes(n)}))),n&&(r=Object.fromEntries(Object.entries(r).filter(function(e){var t=_sliced_to_array(e,1)[0];return!n.includes(t)}))),r}(e.destinations,f,d):void 0,y=null!=i?i:a(s||"unknown"),u?[4,S(v,u,e)]:[3,2];case 1:if((h=A.sent()).ignore)return[2,me({ok:!0})];if(u.consent&&!_(u.consent,e.consent,h.event.consent))return[2,me({ok:!0})];v=h.event,A.label=2;case 2:return(null==l?void 0:l.length)&&e.transformers&&Object.keys(e.transformers).length>0?[4,wt(e,e.transformers,l,v,y,p,s?"source.".concat(s,".next"):void 0)]:[3,6];case 3:return null===(b=A.sent()).event?[2,me({ok:!0})]:b.stopped?[2,(b.respond&&(p=b.respond),me({ok:!0}))]:(b.respond&&(p=b.respond),Array.isArray(b.event)?[4,Promise.all(b.event.map(function(n){return _async_to_generator(function(){var r,o;return _ts_generator(this,function(a){return r=t(n),o=xe(e,r),[2,ye(e,o,{id:s,ingest:y,respond:p},g)]})})()}))]:[3,5]);case 4:return w=A.sent(),s&&(e.status.sources[s]||(e.status.sources[s]={count:0,duration:0}),(j=e.status.sources[s]).count+=b.event.length,j.lastAt=Date.now(),j.duration+=Date.now()-o),[2,null!==(m=w[0])&&void 0!==m?m:me({ok:!0})];case 5:v=b.event,A.label=6;case 6:return k=t(v),O=xe(e,k),[4,ye(e,O,{id:s,ingest:y,respond:p},g)];case 7:return x=A.sent(),s&&(e.status.sources[s]||(e.status.sources[s]={count:0,duration:0}),(I=e.status.sources[s]).count++,I.lastAt=Date.now(),I.duration+=Date.now()-o),[2,x]}})})()},function(t){if(_instanceof(t,Ze))throw t;return e.status.failed++,e.logger.error("push failed",{event:n,ingest:r.ingest,error:t}),me({ok:!1})})()];case 1:return[2,o.sent()]}})})()},"Push",e.hooks,e.logger);return function(t,r){return _async_to_generator(function(){var o,a,s,i,c,u,l,f;return _ts_generator(this,function(d){switch(d.label){case 0:o="string"==typeof t.id?t.id:"",a=Date.now(),x(e,U(e,{stepId:"collector.push",stepType:"collector",phase:"in",eventId:o,now:a})),d.label=1;case 1:return d.trys.push([1,3,,4]),[4,n(t,r)];case 2:return s=d.sent(),i=Date.now(),[2,((c=U(e,{stepId:"collector.push",stepType:"collector",phase:"out",eventId:o,now:i})).durationMs=i-a,c.outEvent=s,x(e,c),s)];case 3:throw u=d.sent(),l=Date.now(),(f=U(e,{stepId:"collector.push",stepType:"collector",phase:"error",eventId:o,now:l})).durationMs=l-a,f.error=_instanceof(u,Error)?{name:u.name,message:u.message}:{message:String(u)},x(e,f),u;case 4:return[2]}})})()}}(u,function(e){return _object_spread({timing:Math.round((Date.now()-u.timing)/10)/100,source:{type:"collector",schema:"4",version:"4.1.3-next-1780071196115"}},e)}),u.command=(p=Oe,O(function(e,t,n){return _async_to_generator(function(){return _ts_generator(this,function(r){switch(r.label){case 0:return[4,w(function(){return _async_to_generator(function(){return _ts_generator(this,function(r){switch(r.label){case 0:return[4,p(d,e,t,n)];case 1:return[2,r.sent()]}})})()},function(n){if(_instanceof(n,Ze))throw n;return d.status.failed++,d.logger.error("command failed",{command:e,data:t,error:n}),me({ok:!1})})()];case 1:return[2,r.sent()]}})})()},"Command",(d=u).hooks,d.logger)),l=e.stores||{},[4,qe(u,l)];case 1:return u.stores=f.sent(),function(e,t,n){var r=new Map,o=!0,a=!1,s=void 0;try{for(var i,c=Object.entries(e)[Symbol.iterator]();!(o=(i=c.next()).done);o=!0){var u=_sliced_to_array(i.value,2),l=u[0],f=u[1];t[l]&&r.set(f,t[l])}}catch(e){a=!0,s=e}finally{try{o||null==c.return||c.return()}finally{if(a)throw s}}if(0!==r.size)for(var d=!0,p=!1,_=void 0,v=0,g=[n.transformers,n.destinations,n.sources];v<g.length;v++){var y=g[v];if(y)try{for(var h,b=Object.values(y)[Symbol.iterator]();!(d=(h=b.next()).done);d=!0){m(h.value.env)}}catch(e){p=!0,_=e}finally{try{d||null==b.return||b.return()}finally{if(p)throw _}}}function m(e){if(e){var t=!0,n=!1,o=void 0;try{for(var a,s=Object.entries(e)[Symbol.iterator]();!(t=(a=s.next()).done);t=!0){var i=_sliced_to_array(a.value,2),c=i[0],u=i[1];if("object"==(void 0===u?"undefined":_type_of(u))&&null!==u){var l=r.get(u);l&&(e[c]=l)}}}catch(e){n=!0,o=e}finally{try{t||null==s.return||s.return()}finally{if(n)throw o}}}}}(l,u.stores,e),u.stores.__cache||(u.stores.__cache=Ae()),[4,je(u,e.destinations||{})];case 2:return u.destinations=f.sent(),[4,function(e){return _async_to_generator(function(e){var t,n,r,o,s,i,c,u,l,f=arguments;return _ts_generator(this,function(d){switch(d.label){case 0:t=f.length>1&&void 0!==f[1]?f[1]:{},n={},r=!0,o=!1,s=void 0,d.label=1;case 1:d.trys.push([1,6,7,8]),i=function(){var t,r,o,s,i,c,l,f,d,p,_,v,g,y,h,b,m,w,j,k,O,x,I,A;return _ts_generator(this,function(E){switch(E.label){case 0:return t=_sliced_to_array(u.value,2),r=t[0],o=t[1],f=o.code,d=o.env,p=void 0===d?{}:d,_=function(e,t){var n,r=(n=t,new Set(_to_consumable_array(rt[n]).concat(_to_consumable_array(ot),_to_consumable_array(at[n])))),o=!0,a=!1,s=void 0;try{for(var i,c=Object.keys(e)[Symbol.iterator]();!(o=(i=c.next()).done);o=!0){var u=i.value;if(!r.has(u))return{ok:!1,code:"UNKNOWN_KEY",key:u,reason:'Unknown key "'.concat(u,'" on ').concat(t,". Allowed: ").concat(_to_consumable_array(r).sort().join(", "),".")}}}catch(e){a=!0,s=e}finally{try{o||null==c.return||c.return()}finally{if(a)throw s}}var l=void 0!==e.package,f=void 0!==e.import,d=void 0!==e.code;return d&&"string"==typeof e.code?{ok:!1,code:"OBSOLETE_CODE_STRING",key:"code",reason:'code: "<name>" is no longer supported. Use import: "'.concat(e.code,'" with the package field instead.')}:d&&("object"!=_type_of(e.code)&&"function"!=typeof e.code||null===e.code||Array.isArray(e.code))?{ok:!1,code:"INVALID_CODE_SHAPE",key:"code",reason:"code must be an object ({ push, type?, init? }) or a resolved function value."}:d&&l?{ok:!1,code:"CONFLICT",key:"package",reason:"Cannot specify both `code` and `package`. Use one or the other."}:d&&f?{ok:!1,code:"CONFLICT",key:"import",reason:"Cannot specify both `code` and `import`."}:f&&!l?{ok:!1,code:"MISSING_PACKAGE",key:"import",reason:"`import` requires `package` to be set."}:!f||"string"==typeof e.import&&st.test(e.import)?{ok:!0}:{ok:!1,code:"INVALID_IMPORT",key:"import",reason:"import must match ".concat(st.source,". Got: ").concat(JSON.stringify(e.import),".")}}(o,"Transformer"),_.ok?(v=F(o,"before"),g=v.config,y=F(_object_spread_props(_object_spread({},o),{config:g}),"next"),h=y.config,b=Object.keys(p).length>0?_object_spread_props(_object_spread({},h),{env:p}):h,m=o.cache,w=m?_object_spread_props(_object_spread({},b),{cache:m}):b,j=o.state,k=void 0!==j&&void 0===w.state?_object_spread_props(_object_spread({},w),{state:j}):w,O=e.logger.scope("transformer").scope(r),x={collector:e,logger:O,id:r,ingest:a(r),config:k,env:p},I=null!=f?f:function(e){var t=o.mapping;if(t){var n=[];if(void 0!==t.data&&n.push("data"),t.mapping){var a=!0,s=!1,i=void 0,c=!0,u=!1,l=void 0;try{for(var f,d=Object.entries(t.mapping)[Symbol.iterator]();!(c=(f=d.next()).done);c=!0){var p=_sliced_to_array(f.value,2),_=p[0],v=p[1];if("object"==(void 0===v?"undefined":_type_of(v))&&null!==v)try{for(var g,y=Object.entries(v)[Symbol.iterator]();!(a=(g=y.next()).done);a=!0){var h=_sliced_to_array(g.value,2),b=h[0],m=h[1];if("object"==(void 0===m?"undefined":_type_of(m))&&null!==m){var w=m;void 0!==w.data&&n.push("mapping[".concat(_,"][").concat(b,"].data")),void 0!==w.silent&&n.push("mapping[".concat(_,"][").concat(b,"].silent"))}}}catch(e){s=!0,i=e}finally{try{a||null==y.return||y.return()}finally{if(s)throw i}}}}catch(e){u=!0,l=e}finally{try{c||null==d.return||d.return()}finally{if(u)throw l}}}return n.length>0&&e.collector.logger.warn("Transformer ".concat(r,": `").concat(n.join(", "),"` ignored at transformer position (only event-mutating fields apply).")),{type:"pass",config:e.config,push:function(n){return _async_to_generator(function(){var r;return _ts_generator(this,function(o){switch(o.label){case 0:return[4,S(n,t,e.collector)];case 1:return[2,!(r=o.sent()).ignore&&{event:r.event}]}})})()}}}return{type:"pass",config:e.config,push:function(e){return{event:e}}}},[4,I(x)]):(e.logger.warn("Transformer ".concat(r," invalid (").concat(_.code,"): ").concat(_.reason,". Skipping.")),[2,"continue"]);case 1:return A=E.sent(),void 0!==o.before&&void 0===(null===(c=A.config)||void 0===c?void 0:c.before)&&(A.config=_object_spread_props(_object_spread({},null!==(s=A.config)&&void 0!==s?s:{}),{before:o.before})),void 0!==o.next&&void 0===(null===(l=A.config)||void 0===l?void 0:l.next)&&(A.config=_object_spread_props(_object_spread({},null!==(i=A.config)&&void 0!==i?i:{}),{next:o.next})),n[r]=A,[2]}})},c=Object.entries(t)[Symbol.iterator](),d.label=2;case 2:return(r=(u=c.next()).done)?[3,5]:[5,_ts_values(i())];case 3:d.sent(),d.label=4;case 4:return r=!0,[3,2];case 5:return[3,8];case 6:return l=d.sent(),o=!0,s=l,[3,8];case 7:try{r||null==c.return||c.return()}finally{if(o)throw s}return[7];case 8:return[2,n]}})}).apply(this,arguments)}(u,e.transformers||{})];case 3:return[2,(u.transformers=f.sent(),u)]}var d,p})})()},De=function(e){return _async_to_generator(function(){var t,n,r,o,a,s,i,c,u,l;return _ts_generator(this,function(f){switch(f.label){case 0:return[4,Pe(e=e||{})];case 1:return t=f.sent(),r=t,n={type:"elb",config:{},push:function(e,t,n,o,a){return _async_to_generator(function(){var s,i;return _ts_generator(this,function(c){if("string"==typeof e&&e.startsWith("walker "))return s=e.replace("walker ",""),[2,r.command(s,t)];if("string"==typeof e)i={name:e},t&&"object"==(void 0===t?"undefined":_type_of(t))&&!Array.isArray(t)&&(i.data=t);else{if(!e||"object"!=(void 0===e?"undefined":_type_of(e)))return[2,me({ok:!1})];i=e,t&&"object"==(void 0===t?"undefined":_type_of(t))&&!Array.isArray(t)&&(i.data=_object_spread({},i.data||{},t))}return[2,(n&&"object"==(void 0===n?"undefined":_type_of(n))&&(i.context=n),o&&Array.isArray(o)&&(i.nested=o),a&&"object"==(void 0===a?"undefined":_type_of(a))&&(i.custom=a),r.push(i))]})})()}},t.sources.elb=n,[4,te(t,e.sources||{})];case 2:return f.sent(),o=e.consent,a=e.user,s=e.globals,i=e.custom,o?[4,t.command("consent",o)]:[3,4];case 3:f.sent(),f.label=4;case 4:return a?[4,t.command("user",a)]:[3,6];case 5:f.sent(),f.label=6;case 6:return s&&Object.assign(t.globals,s),i&&Object.assign(t.custom,i),t.config.run?[4,t.command("run")]:[3,8];case 7:f.sent(),f.label=8;case 8:return c=n.push,u=Object.values(t.sources).filter(function(e){return"elb"!==e.type}),[2,((l=u.find(function(e){return e.config.primary}))?c=l.push:u.length>0&&(c=u[0].push),{collector:t,elb:c})]}})})()},Te=Object.defineProperty,Me=Object.getOwnPropertyDescriptor,Le=Object.getOwnPropertyNames,Re=Object.prototype.hasOwnProperty,Ke=function(e,t){for(var n in t)Te(e,n,{get:t[n],enumerable:!0})},Ne={};Ke(Ne,{SourceDataLayer:function(){return ct},createTrigger:function(){return Ot},default:function(){return At},env:function(){return ut},sourceDataLayer:function(){return It},step:function(){return _t},trigger:function(){return xt}});var ze=Object.defineProperty,Ue=function(e,t){for(var n in t)ze(e,n,{get:t[n],enumerable:!0})};Ue({},{stepId:function(){return e}});Ue({},{getDestination:function(){return t}});Ue({},{Level:function(){return Ge}});var Be,Ge=((Be=Ge||{})[Be.ERROR=0]="ERROR",Be[Be.WARN=1]="WARN",Be[Be.INFO=2]="INFO",Be[Be.DEBUG=3]="DEBUG",Be);Ue({},{getTransformer:function(){return n}});Ue({},{getSource:function(){return r}});Ue({},{getStore:function(){return o}});var He={merge:!0,shallow:!0,extend:!0};function Fe(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:new WeakMap;if("object"!=(void 0===e?"undefined":_type_of(e))||null===e)return e;if(t.has(e))return t.get(e);var n=Object.prototype.toString.call(e);if("[object Object]"===n){var r={};for(var o in t.set(e,r),e)Object.prototype.hasOwnProperty.call(e,o)&&(r[o]=Fe(e[o],t));return r}if("[object Array]"===n){var a=[];return t.set(e,a),e.forEach(function(e){a.push(Fe(e,t))}),a}if("[object Date]"===n)return new Date(e.getTime());if("[object RegExp]"===n){var s=e;return new RegExp(s.source,s.flags)}return e}function We(e){for(var t=arguments.length>2?arguments[2]:void 0,n=(arguments.length>1&&void 0!==arguments[1]?arguments[1]:"").split("."),r=e,o=0;o<n.length;o++){var a=n[o];if("*"===a&&i(r)){var s=n.slice(o+1).join("."),u=[],f=!0,d=!1,p=void 0;try{for(var _,v=r[Symbol.iterator]();!(f=(_=v.next()).done);f=!0){var g=We(_.value,s,t);u.push(g)}}catch(e){d=!0,p=e}finally{try{f||null==v.return||v.return()}finally{if(d)throw p}}return u}if(void 0===(r=l(r)||i(r)?r[a]:void 0))break}return c(r)?r:t}var Ve={data:function(e){return e.data},globals:function(e){return e.globals},context:function(e){return e.context},user:function(e){return e.user},source:function(e){return e.source},event:function(e){return{entity:e.entity,action:e.action,id:e.id,timestamp:e.timestamp,name:e.name,trigger:e.trigger,timing:e.timing}}},$e=function(e,t,n,r){var o="".concat(Ge[e]).concat(r.length>0?" [".concat(r.join(":"),"]"):""),a=Object.keys(n).length>0,s=0===e?console.error:1===e?console.warn:console.log;a?s(o,t,n):s(o,t)};function Je(e){var t=e.level,n=e.handler,r=e.jsonHandler,o=e.scope,a=function(e,r,a){if(e<=t){var s=y(r,a);n?n(e,s.message,s.context,o,$e):$e(e,s.message,s.context,o)}};return{error:function(e,t){return a(0,e,t)},warn:function(e,t){return a(1,e,t)},info:function(e,t){return a(2,e,t)},debug:function(e,t){return a(3,e,t)},throw:function(e,t){var r=y(e,t);throw n?n(0,r.message,r.context,o,$e):$e(0,r.message,r.context,o),new Error(r.message)},json:function(e){r?r(e):console.log(JSON.stringify(e,null,2))},scope:function(e){return Je({level:t,handler:n,jsonHandler:r,scope:_to_consumable_array(o).concat([e])})}}}function Ye(e){return function(e){return"boolean"==typeof e}(e)||f(e)||function(e){return"number"==typeof e&&!Number.isNaN(e)}(e)||!c(e)||i(e)&&e.every(Ye)||l(e)&&Object.values(e).every(Ye)}var Ze=function(){function e(t,n){var r;return _class_call_check(this,e),(r=_call_super(this,e,[t,n])).name="FatalError",Object.setPrototypeOf(r,e.prototype),r}return _inherits(e,_wrap_native_super(Error)),e}();function Qe(e,t,n){return _async_to_generator(function(){return _ts_generator(this,function(r){return[2,(i(t)?t:[t]).reduce(function(t,r){return _async_to_generator(function(){var o,a,s,u,l,d,p,v,g,y,h,m,j,S,O,x,I,A,E,C,q,P;return _ts_generator(this,function(D){switch(D.label){case 0:return[4,t];case 1:return(o=D.sent())?[2,o]:(a=f(r)?{key:r}:r,Object.keys(a).length?(s=a.condition,u=a.consent,l=a.fn,d=a.key,p=a.loop,v=a.map,g=a.set,y=a.validate,h=a.value,m=_object_spread_props(_object_spread({},n),{mapping:r}),(j=s)?[4,w(s,function(e){if(_instanceof(e,Ze))throw e;return m.logger.error("mapping condition failed",{event:m.event,error:e}),!1})(e,m)]:[3,3]):[2]);case 2:j=!D.sent(),D.label=3;case 3:return j?[2]:u&&!_(u,m.consent)?[2,h]:(S=c(h)?h:e,l?[4,w(l,function(e){if(_instanceof(e,Ze))throw e;m.logger.error("mapping fn failed",{event:m.event,error:e})})(e,m)]:[3,5]);case 4:S=D.sent(),D.label=5;case 5:return d&&(S=We(e,d,h)),p?(O=_sliced_to_array(p,2),x=O[0],I=O[1],"this"!==x?[3,6]:(E=[e],[3,8])):[3,11];case 6:return[4,k(e,x,m)];case 7:E=D.sent(),D.label=8;case 8:return i(A=E)?[4,Promise.all(A.map(function(e){return k(e,I,m)}))]:[3,10];case 9:S=D.sent().filter(c),D.label=10;case 10:return[3,17];case 11:return v?[4,Object.entries(v).reduce(function(t,n){var r=_sliced_to_array(n,2),o=r[0],a=r[1];return _async_to_generator(function(){var n,r;return _ts_generator(this,function(s){switch(s.label){case 0:return[4,t];case 1:return n=s.sent(),[4,k(e,a,m)];case 2:return r=s.sent(),[2,(c(r)&&(n[o]=r),n)]}})})()},Promise.resolve({}))]:[3,13];case 12:return S=D.sent(),[3,16];case 13:return(C=g)?[4,Promise.all(g.map(function(t){return Qe(e,t,m)}))]:[3,15];case 14:C=S=D.sent(),D.label=15;case 15:D.label=16;case 16:D.label=17;case 17:return(q=y)?[4,w(y,function(e){if(_instanceof(e,Ze))throw e;return m.logger.error("mapping validate failed",{event:m.event,error:e}),!1})(S,m)]:[3,19];case 18:q=!D.sent(),D.label=19;case 19:return q&&(S=void 0),P=b(S),[2,c(P)?P:b(h)]}})})()},Promise.resolve(void 0))]})})()}function Xe(e){if(void 0===e||"*"===e)return function(){return!0};if("and"in e){var t=e.and.map(Xe);return function(e){return t.every(function(t){return t(e)})}}if("or"in e){var n=e.or.map(Xe);return function(e){return n.some(function(t){return t(e)})}}return function(e){var t=e.key,n=e.operator,r=e.value,o=e.not,a=function(e,t){switch(e){case"eq":return function(e){return String(null!=e?e:"")===t};case"contains":return function(e){return String(null!=e?e:"").includes(t)};case"prefix":return function(e){return String(null!=e?e:"").startsWith(t)};case"suffix":return function(e){return String(null!=e?e:"").endsWith(t)};case"regex":var n=new RegExp(t);return function(e){return n.test(String(null!=e?e:""))};case"gt":var r=Number(t);return function(e){return Number(e)>r};case"lt":var o=Number(t);return function(e){return Number(e)<o};case"exists":return function(e){return null!=e}}}(n,r);return function(e){var n=We(e,t),r=a(n);return o?!r:r}}(e)}function et(e){if(null!=e){if("string"==typeof e)return{type:"static",value:e};if(Array.isArray(e)){if(0===e.length)return;if(I(e))return et({one:e});if(e.every(function(e){return"string"==typeof e}))return{type:"chain",value:e};var t=[],n=!0,r=!1,o=void 0;try{for(var a,s=e[Symbol.iterator]();!(n=(a=s.next()).done);n=!0){var i=et(a.value);void 0!==i&&t.push(i)}}catch(e){r=!0,o=e}finally{try{n||null==s.return||s.return()}finally{if(r)throw o}}if(0===t.length)return;return{type:"sequence",value:t}}var c=e;if("next"in c&&void 0!==c.next)return c.match?{type:"gate",match:Xe(c.match),next:et(c.next)}:et(c.next);if("one"in c&&c.one){var u=A(c.one);return c.match?{type:"gate",match:Xe(c.match),next:{type:"one",routes:u}}:{type:"one",routes:u}}if("many"in c&&c.many){var l=A(c.many);return c.match?{type:"gate",match:Xe(c.match),next:{type:"many",routes:l}}:{type:"many",routes:l}}return c.match?{type:"gate",match:Xe(c.match)}:void 0}}var tt=new WeakMap;function nt(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(e){if("static"===e.type)return e.value;if("chain"===e.type)return e.value;if("gate"===e.type){if(!e.match(t))return;return nt(e.next,t)}if("sequence"===e.type){var n=[],r=!0,o=!1,a=void 0;try{for(var s,i=e.value[Symbol.iterator]();!(r=(s=i.next()).done);r=!0){var c,u=nt(s.value,t);void 0!==u&&(Array.isArray(u)?(c=n).push.apply(c,_to_consumable_array(u)):n.push(u))}}catch(e){o=!0,a=e}finally{try{r||null==i.return||i.return()}finally{if(o)throw a}}return n.length>0?n:void 0}if("many"===e.type){var l=[],f=!0,d=!1,p=void 0;try{for(var _,v=e.routes[Symbol.iterator]();!(f=(_=v.next()).done);f=!0){var g,y=_.value;if(y.match(t)){var h=nt(y.next,t);void 0!==h&&(Array.isArray(h)?(g=l).push.apply(g,_to_consumable_array(h)):l.push(h))}}}catch(e){d=!0,p=e}finally{try{f||null==v.return||v.return()}finally{if(d)throw p}}return l.length>0?l:void 0}var b=!0,m=!1,w=void 0;try{for(var j,k=e.routes[Symbol.iterator]();!(b=(j=k.next()).done);b=!0){var S=j.value;if(S.match(t))return nt(S.next,t)}}catch(e){m=!0,w=e}finally{try{b||null==k.return||k.return()}finally{if(m)throw w}}}}var rt={Source:["code","package","import","before","next","cache","state"],Transformer:["code","package","import","before","next","cache","state","mapping"],Destination:["code","package","import","before","next","cache","state"],Store:["code","package","import","cache"]},ot=["config","env","validate","variables","examples","disabled","id","logger","mock","chainMocks"],at={Source:["primary"],Transformer:[],Destination:[],Store:[]},st=/^[A-Za-z_$][A-Za-z0-9_$]*$/,it=!1,ct={},ut={};Ke(ut,{push:function(){return pt}});var lt=function(){},ft=function(){return function(){return Promise.resolve({ok:!0})}},dt={error:lt,warn:lt,info:lt,debug:lt,throw:function(e){throw"string"==typeof e?new Error(e):e},json:lt,scope:function(){return dt}},pt={get push(){return ft()},get command(){return ft()},get elb(){return ft()},get window(){return{dataLayer:[],addEventListener:lt,removeEventListener:lt}},logger:dt},_t={};Ke(_t,{consentUpdate:function(){return gt},directEvent:function(){return bt},gtagAddToCart:function(){return yt},gtagPurchase:function(){return vt},gtagViewItem:function(){return ht}});var vt={title:"gtag purchase",description:"A gtag purchase call pushed to the dataLayer is captured as a walker dataLayer purchase event with item details.",trigger:{type:"gtag"},in:["event","purchase",{transaction_id:"T-12345",value:25.42,currency:"EUR",items:[{item_id:"SKU-1",item_name:"T-Shirt",quantity:1}]}],out:[["elb",{name:"dataLayer purchase",data:{transaction_id:"T-12345",value:25.42,currency:"EUR",items:[{item_id:"SKU-1",item_name:"T-Shirt",quantity:1}]}}]]},gt={title:"Consent update",description:"A gtag consent update is captured from the dataLayer as a walker dataLayer consent update event.",trigger:{type:"gtag"},in:["consent","update",{ad_storage:"granted",analytics_storage:"granted"}],out:[["elb",{name:"dataLayer consent update",data:{ad_storage:"granted",analytics_storage:"granted"}}]]},yt={title:"gtag add_to_cart",description:"A gtag add_to_cart call pushed to the dataLayer is captured as a walker dataLayer add_to_cart event.",trigger:{type:"gtag"},in:["event","add_to_cart",{currency:"EUR",value:15.25,items:[{item_id:"SKU_12345",item_name:"T-Shirt",item_variant:"red",quantity:1,price:15.25}]}],out:[["elb",{name:"dataLayer add_to_cart",data:{currency:"EUR",value:15.25,items:[{item_id:"SKU_12345",item_name:"T-Shirt",item_variant:"red",quantity:1,price:15.25}]}}]]},ht={title:"gtag view_item",description:"A gtag view_item call pushed to the dataLayer is captured as a walker dataLayer view_item event with item data.",trigger:{type:"gtag"},in:["event","view_item",{currency:"EUR",value:29.99,items:[{item_id:"SKU_67890",item_name:"Sneakers",item_category:"Footwear",price:29.99}]}],out:[["elb",{name:"dataLayer view_item",data:{currency:"EUR",value:29.99,items:[{item_id:"SKU_67890",item_name:"Sneakers",item_category:"Footwear",price:29.99}]}}]]},bt={title:"Direct dataLayer event",description:"A plain object pushed directly onto the dataLayer is captured as a walker dataLayer custom event.",trigger:{type:"direct"},in:{event:"custom_event",category:"engagement",label:"video_play"},out:[["elb",{name:"dataLayer custom_event",data:{category:"engagement",label:"video_play"}}]]},mt={Commands:{Action:"action",Actions:"actions",Config:"config",Consent:"consent",Context:"context",Custom:"custom",Destination:"destination",Elb:"elb",Globals:"globals",Hook:"hook",Init:"init",Link:"link",On:"on",Prefix:"data-elb",Ready:"ready",Run:"run",Session:"session",Shutdown:"shutdown",User:"user",Walker:"walker"},Utils:{Storage:{Cookie:"cookie",Local:"local",Session:"session"}}};function wt(e,t,n,r,o,s,i){return _async_to_generator(function(){var c,u,l,f,d,p,_,v,g,y,h;return _ts_generator(this,function(b){switch(b.label){case 0:o||(o=a(null!==(c=n[0])&&void 0!==c?c:"chain")),i&&o._meta&&(o._meta.chainPath=i),u=r,l=s,f=!0,d=!1,p=void 0,b.label=1;case 1:b.trys.push([1,6,7,8]),_=function(){var r,a,s,c,f,d,p,_,v,y,h,b,m,j,k,S,O,x,I,A,T,R,K,N,z,U,F,Y,Z,Q,X,ee,te,ne,re,oe,ae,se,ie,ce,ue,le,fe,de,pe,_e,ve,ge,ye,he;return _ts_generator(this,function(be){switch(be.label){case 0:return r=g.value,(_=t[r])?o&&o._meta&&o._meta.path.length>256?[2,{v:(e.logger.error("Max path length exceeded at ".concat(r)),{event:null,respond:l})}]:(o&&o._meta&&(o._meta.hops++,o._meta.path.push(r)),[4,w(V,function(t){if(_instanceof(t,Ze))throw t;return e.status.failed++,e.logger.scope("transformer:".concat(_.type||"unknown")).error("transformer init failed",{transformer:r,error:t}),!1})(e,_,r)]):(e.logger.warn("Transformer not found: ".concat(r)),[2,"continue"]);case 1:return be.sent()?i&&void 0!==(null===(s=_.config)||void 0===s||null===(a=s.chainMocks)||void 0===a?void 0:a[i])?(v=_.config.chainMocks[i],e.logger.scope("transformer:".concat(_.type||"unknown")).debug("chainMock",{chain:i}),u=v,[2,"continue"]):void 0!==(null===(c=_.config)||void 0===c?void 0:c.mock)?(e.logger.scope("transformer:".concat(_.type||"unknown")).debug("mock"),u=_.config.mock,[2,"continue"]):(null===(f=_.config)||void 0===f?void 0:f.disabled)?[2,"continue"]:(y=null===(d=_.config)||void 0===d?void 0:d.cache,h=y?q(y):void 0,b=h?B(h,e):void 0,m=(null===(p=_.config)||void 0===p?void 0:p.state)?M(_.config.state):void 0,j=null==m?void 0:m.filter(function(e){return"get"===e.mode}),k=null==m?void 0:m.filter(function(e){return"set"===e.mode}),S=void 0,h&&b?(O=C(o,u),[4,P(h,b,O)]):[3,3]):[2,{v:{event:null,respond:l}}];case 2:if("HIT"===(null==(x=be.sent())?void 0:x.status)&&x.value)return u=x.value,h.stop?[2,{v:{event:u,respond:l,stopped:!0}}]:[2,"continue"];"MISS"===(null==x?void 0:x.status)&&(S={key:x.key,ttl:x.rule.ttl}),be.label=3;case 3:return(I=_.config.before)?1!==(A=E(I,C(o,u))).length?[3,6]:(T=W(A[0],H(t))).length>0?[4,wt(e,t,T,u,o,l,i)]:[3,5]:[3,9];case 4:if(null===(N=be.sent()).event)return[2,{v:{event:null,respond:null!==(R=N.respond)&&void 0!==R?R:l}}];if(N.stopped)return[2,{v:{event:Array.isArray(N.event)?N.event[0]:N.event,respond:null!==(K=N.respond)&&void 0!==K?K:l,stopped:!0}}];N.respond&&(l=N.respond),u=Array.isArray(N.event)?N.event[0]:N.event,be.label=5;case 5:return[3,9];case 6:return A.length>1?[4,Promise.all(A.map(function(n){return w(wt,function(t){return e.logger.scope("transformer:many").error("many branch ".concat(n," failed"),{error:t}),{event:null,respond:void 0}})(e,t,W(n,H(t)),u,J(o,n),void 0,i)}))]:[3,8];case 7:be.sent(),be.label=8;case 8:be.label=9;case 9:return j&&j.length>0?[4,L(j,function(t){return G(t,e)},u,e)]:[3,11];case 10:u=be.sent(),be.label=11;case 11:return[4,w($,function(t){return e.logger.scope("transformer:".concat(_.type||"unknown")).error("Push failed",{error:t}),!1})(e,_,r,u,o,l)];case 12:return!1===(z=be.sent())?[2,{v:{event:null,respond:l}}]:Array.isArray(z)?(U=n.slice(n.indexOf(r)+1),[4,Promise.all(z.map(function(n){return _async_to_generator(function(){var r,a,s,c;return _ts_generator(this,function(f){switch(f.label){case 0:return r=n.event||u,a=J(o,"unknown"),n.next?0===(s=E(n.next,C(a,r))).length?[2,{event:r,respond:l}]:1===s.length?[2,(c=W(s[0],H(t))).length>0?wt(e,t,c,r,a,l,i):{event:r,respond:l}]:[4,Promise.all(s.map(function(n){return w(wt,function(t){return e.logger.scope("transformer:many").error("many branch ".concat(n," failed"),{error:t}),{event:null,respond:void 0}})(e,t,W(n,H(t)),r,J(a,n),void 0,i)}))]:[3,2];case 1:return[2,f.sent().map(function(e){return{event:e.event,respond:void 0}})];case 2:return[2,U.length>0?wt(e,t,U,r,a,l,i):{event:r,respond:l}]}})})()}))]):[3,14];case 13:F=be.sent(),Y=l,Z=[],Q=!0,X=!1,ee=void 0;try{for(te=F.flat()[Symbol.iterator]();!(Q=(ne=te.next()).done);Q=!0)if(null!==(re=ne.value))if(re&&"object"==(void 0===re?"undefined":_type_of(re))&&"event"in re){if((ae=re).respond&&(Y=ae.respond),null===ae.event)continue;Array.isArray(ae.event)?(oe=Z).push.apply(oe,_to_consumable_array(ae.event)):Z.push(ae.event)}else Z.push(re)}catch(e){X=!0,ee=e}finally{try{Q||null==te.return||te.return()}finally{if(X)throw ee}}return[2,{v:0===Z.length?{event:null,respond:Y}:1===Z.length?{event:Z[0],respond:Y}:{event:Z,respond:Y}}];case 14:return z&&"object"==(void 0===z?"undefined":_type_of(z))?(se=z.event,ie=z.respond,ce=z.next,ie&&(l=ie),void 0===ce?[3,16]:0===(ue=E(ce,C(o,u))).length?(se&&(u=se),[2,"continue"]):1===ue.length?[2,{v:(le=W(ue[0],H(t))).length>0?wt(e,t,le,se||u,o,l,i):(e.logger.warn("Branch target not found: ".concat(JSON.stringify(ce))),{event:null,respond:l})}]:(fe={},[4,Promise.all(ue.map(function(n){return w(wt,function(t){return e.logger.scope("transformer:many").error("many branch ".concat(n," failed"),{error:t}),{event:null,respond:void 0}})(e,t,W(n,H(t)),se||u,J(o,n),void 0,i)}))])):[3,17];case 15:return[2,(fe.v=(be.sent(),{event:null,respond:void 0}),fe)];case 16:se&&(u=se),be.label=17;case 17:return k&&k.length>0?[4,L(k,function(t){return G(t,e)},u,e)]:[3,19];case 18:u=be.sent(),be.label=19;case 19:return S&&b&&D(b,S.key,u,S.ttl),de=_.config.next,pe="string"==typeof de||Array.isArray(de)&&de.every(function(e){return"string"==typeof e}),_e=void 0!==de&&!pe,z&&("object"!=(void 0===z?"undefined":_type_of(z))||z.next)||!_e?[3,23]:1===(ve=E(_.config.next,C(o,u))).length?[2,{v:(ge=W(ve[0],H(t))).length>0?wt(e,t,ge,u,o,l,i):{event:u,respond:l}}]:(ye={},ve.length>1?[4,Promise.all(ve.map(function(n){return w(wt,function(t){return e.logger.scope("transformer:many").error("many branch ".concat(n," failed"),{error:t}),{event:null,respond:void 0}})(e,t,W(n,H(t)),u,J(o,n),void 0,i)}))]:[3,21]);case 20:return be.sent(),he={event:null,respond:void 0},[3,22];case 21:he={event:u,respond:l},be.label=22;case 22:return[2,(ye.v=he,ye)];case 23:return[2]}})},v=n[Symbol.iterator](),b.label=2;case 2:return(f=(g=v.next()).done)?[3,5]:[5,_ts_values(_())];case 3:if("object"===_type_of(y=b.sent()))return[2,y.v];b.label=4;case 4:return f=!0,[3,2];case 5:return[3,8];case 6:return h=b.sent(),d=!0,p=h,[3,8];case 7:try{f||null==v.return||v.return()}finally{if(d)throw p}return[7];case 8:return[2,{event:u,respond:l}]}})})()}var jt,kt=new WeakMap,St=Object.freeze({batched:!0}),Ot=function(e){return _async_to_generator(function(){var t,n;return _ts_generator(this,function(r){return n=function(){return function(n){return _async_to_generator(function(){var r,o,a,s,i,c,u,l,f,d,p,_,v;return _ts_generator(this,function(g){switch(g.label){case 0:if(t)return[3,2];if((o=_object_spread({},e)).sources){o.sources=_object_spread({},o.sources),a=!0,s=!1,i=void 0;try{for(c=Object.entries(o.sources)[Symbol.iterator]();!(a=(u=c.next()).done);a=!0)l=_sliced_to_array(u.value,2),f=l[0],d=l[1],(null===(p=d.env)||void 0===p?void 0:p.window)||(o.sources[f]=_object_spread_props(_object_spread({},d),{env:_object_spread_props(_object_spread({},d.env),{window:window})}))}catch(e){s=!0,i=e}finally{try{a||null==c.return||c.return()}finally{if(s)throw i}}}return[4,De(_object_spread_props(_object_spread({},o),{run:null===(r=o.run)||void 0===r||r}))];case 1:_=g.sent(),t={collector:_.collector,elb:_.elb},g.label=2;case 2:return(v=window).dataLayer||(v.dataLayer=[]),v.dataLayer.push(n),[2]}})})()}},[2,{get flow(){return t},trigger:n}]})})()},xt=function(e,t){var n=t.window;n.dataLayer||(n.dataLayer=[]),n.dataLayer.push(e)},It=function(e){return _async_to_generator(function(){var t,n,r,o,a,s,i,c,u;return _ts_generator(this,function(l){return t=e.config,n=e.env,r=n.elb,o=n.window,a=_object_spread({name:"dataLayer",prefix:"dataLayer"},null==t?void 0:t.settings),i=0,c=function(){if(o){var e=a.name||"dataLayer",t=o[e];i=Array.isArray(t)?t.length:0,function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:globalThis.window,r=t.settings,o=(null==r?void 0:r.name)||"dataLayer";n[o]||(n[o]=[]);var a=n[o];if(Array.isArray(a)){var s=a.push.bind(a);a.push=function(){for(var t=arguments.length,n=new Array(t),o=0;o<t;o++)n[o]=arguments[o];if(it)return s.apply(void 0,_to_consumable_array(n));it=!0;try{var a=!0,i=!1,c=void 0;try{for(var u,l=n[Symbol.iterator]();!(a=(u=l.next()).done);a=!0){var f=u.value;R(e,r,f)}}catch(e){i=!0,c=e}finally{try{a||null==l.return||l.return()}finally{if(i)throw c}}}finally{it=!1}return s.apply(void 0,_to_consumable_array(n))}}}(r,s,o)}},u=function(e){return _async_to_generator(function(){return _ts_generator(this,function(t){return"run"===e&&o&&i>0&&(function(e,t,n){var r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:globalThis.window,o=t.settings,a=r[(null==o?void 0:o.name)||"dataLayer"];if(Array.isArray(a)&&!it){it=!0;try{for(var s=null!=n?n:a.length,i=0;i<s;i++)R(e,o,a[i])}finally{it=!1}}}(r,s,i,o),i=0),[2]})})()},[2,{type:"dataLayer",config:s={settings:a},push:r,on:u,init:c,destroy:function(){return _async_to_generator(function(){var e;return _ts_generator(this,function(t){return e=a.name||"dataLayer",o&&o[e]&&Array.isArray(o[e]),[2]})})()}}]})})()},At=It;return jt=Ne,function(e,t,n,r){if(t&&"object"===(void 0===t?"undefined":_type_of(t))||"function"==typeof t){var o=!0,a=!1,s=void 0;try{for(var i,c=function(){var o=i.value;Re.call(e,o)||o===n||Te(e,o,{get:function(){return t[o]},enumerable:!(r=Me(t,o))||r.enumerable})},u=Le(t)[Symbol.iterator]();!(o=(i=u.next()).done);o=!0)c()}catch(e){a=!0,s=e}finally{try{o||null==u.return||u.return()}finally{if(a)throw s}}}return e}(Te({},"__esModule",{value:!0}),jt)}();
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "$meta": {
3
3
  "package": "@walkeros/web-source-datalayer",
4
- "version": "4.1.2",
4
+ "version": "4.1.3-next-1780071196115",
5
5
  "type": "source",
6
6
  "platform": [
7
7
  "web"
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@walkeros/web-source-datalayer",
3
3
  "description": "DataLayer source for walkerOS",
4
- "version": "4.1.2",
4
+ "version": "4.1.3-next-1780071196115",
5
5
  "license": "MIT",
6
6
  "main": "./dist/index.js",
7
7
  "module": "./dist/index.mjs",
@@ -38,8 +38,8 @@
38
38
  "update": "npx npm-check-updates -u && npm update"
39
39
  },
40
40
  "dependencies": {
41
- "@walkeros/core": "4.1.2",
42
- "@walkeros/collector": "4.1.2"
41
+ "@walkeros/core": "4.1.3-next-1780071196115",
42
+ "@walkeros/collector": "4.1.3-next-1780071196115"
43
43
  },
44
44
  "devDependencies": {
45
45
  "@types/gtag.js": "^0.0.20"