@walkeros/web-source-datalayer 4.1.1-next-1779822275564 → 4.1.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -1,14 +1,14 @@
1
1
  # @walkeros/web-source-datalayer
2
2
 
3
- ## 4.1.1-next-1779822275564
3
+ ## 4.1.1
4
4
 
5
5
  ### Patch Changes
6
6
 
7
7
  - Updated dependencies [b0279ee]
8
8
  - Updated dependencies [b0279ee]
9
9
  - Updated dependencies [0b7f494]
10
- - @walkeros/core@4.1.1-next-1779822275564
11
- - @walkeros/collector@4.1.1-next-1779822275564
10
+ - @walkeros/core@4.1.1
11
+ - @walkeros/collector@4.1.1
12
12
 
13
13
  ## 4.1.0
14
14
 
@@ -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 K=class e extends Error{constructor(t,n){super(t,n),this.name="FatalError",Object.setPrototypeOf(this,e.prototype)}};async function z(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 K)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 K)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 K)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 z(e,t,h);v(o)&&(m=(await Promise.all(o.map(e=>z(e,n,h)))).filter(w))}else d?m=await Object.entries(d).reduce(async(t,[n,o])=>{const r=await t,s=await z(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 K)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 z(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 z(e,o,{collector:n,event:e});e=I(e,t,r)}));let a=t.data&&await z(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 z(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){for(const n of e.observers)try{n(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 z(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 K)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 K)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 z(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 K)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 K)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 Ke(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 ze(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)Ke(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,ze(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});Ke(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),ze(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,value:n},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,value:n},F(e,c)}catch(r){const s=Date.now(),i=xe(e,{stepId:o,stepType:"store",phase:"error",eventId:"",now:s});throw i.durationMs=s-a,i.meta={op:"set",key:t,value:n},i.error=r instanceof Error?{name:r.name,message:r.message}:{message:String(r)},F(e,i),r}},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 K)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.1-next-1779822275564"},...e})),a.command=(c=st,H(async(e,t,n)=>await N(async()=>await c(i,e,t,n),n=>{if(n instanceof K)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 K)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:()=>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.1"},...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)})();
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){var n=!0,r=!1,o=void 0;try{for(var a,s=e.observers[Symbol.iterator]();!(n=(a=s.next()).done);n=!0){var i=a.value;try{i(t)}catch(e){}}}catch(e){r=!0,o=e}finally{try{n||null==s.return||s.return()}finally{if(r)throw o}}},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,value:n},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,value:n},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,value:n},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.1-next-1779822275564"}},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({},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.1"}},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,7 +1,7 @@
1
1
  {
2
2
  "$meta": {
3
3
  "package": "@walkeros/web-source-datalayer",
4
- "version": "4.1.1-next-1779822275564",
4
+ "version": "4.1.1",
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.1-next-1779822275564",
4
+ "version": "4.1.1",
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.1-next-1779822275564",
42
- "@walkeros/collector": "4.1.1-next-1779822275564"
41
+ "@walkeros/core": "4.1.1",
42
+ "@walkeros/collector": "4.1.1"
43
43
  },
44
44
  "devDependencies": {
45
45
  "@types/gtag.js": "^0.0.20"