@walkeros/web-source-datalayer 4.1.0-next-1779362268386 → 4.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -1,6 +1,6 @@
1
1
  # @walkeros/web-source-datalayer
2
2
 
3
- ## 4.1.0-next-1779362268386
3
+ ## 4.1.0
4
4
 
5
5
  ### Patch Changes
6
6
 
@@ -22,8 +22,8 @@
22
22
  - Updated dependencies [058f7ed]
23
23
  - Updated dependencies [28a8ac2]
24
24
  - Updated dependencies [fd6076e]
25
- - @walkeros/core@4.1.0-next-1779362268386
26
- - @walkeros/collector@4.1.0-next-1779362268386
25
+ - @walkeros/core@4.1.0
26
+ - @walkeros/collector@4.1.0
27
27
 
28
28
  ## 4.0.2
29
29
 
@@ -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:()=>ue,createTrigger:()=>lt,default:()=>gt,env:()=>le,sourceDataLayer:()=>dt,step:()=>he,trigger:()=>ft});var i=Object.defineProperty,a=(e,t)=>{for(var n in t)i(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}`}a({},{stepId:()=>c});function u(e,t){const n=e.destinations[t];if(!n)throw new Error(`Destination not found: ${t}`);return n}a({},{getDestination:()=>u});a({},{Level:()=>f});var l,f=((l=f||{})[l.ERROR=0]="ERROR",l[l.WARN=1]="WARN",l[l.INFO=2]="INFO",l[l.DEBUG=3]="DEBUG",l);function d(e,t){const n=e.transformers[t];if(!n)throw new Error(`Transformer not found: ${t}`);return n}a({},{getTransformer:()=>d});function g(e,t){const n=e.sources[t];if(!n)throw new Error(`Source not found: ${t}`);return n}a({},{getSource:()=>g});function p(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]}}}a({},{getStore:()=>p});var v={merge:!0,shallow:!0,extend:!0};function m(e,t={},n={}){n={...v,...n};const o=Object.entries(t).reduce((t,[o,r])=>{const s=e[o];return n.merge&&Array.isArray(s)&&Array.isArray(r)?t[o]=r.reduce((e,t)=>e.includes(t)?e:[...e,t],[...s]):(n.extend||o in e)&&(t[o]=r),t},{});return n.shallow?{...e,...o}:(Object.assign(e,o),e)}function y(e){return Array.isArray(e)}function w(e){return void 0!==e}function b(e){return"function"==typeof e}function k(e){return"object"==typeof e&&null!==e&&!y(e)&&"[object Object]"===Object.prototype.toString.call(e)}function O(e){return"string"==typeof e}function j(e,t=new WeakMap){if("object"!=typeof e||null===e)return e;if(t.has(e))return t.get(e);const n=Object.prototype.toString.call(e);if("[object Object]"===n){const n={};t.set(e,n);for(const o in e)Object.prototype.hasOwnProperty.call(e,o)&&(n[o]=j(e[o],t));return n}if("[object Array]"===n){const n=[];return t.set(e,n),e.forEach(e=>{n.push(j(e,t))}),n}if("[object Date]"===n)return new Date(e.getTime());if("[object RegExp]"===n){const t=e;return new RegExp(t.source,t.flags)}return e}function x(e,t="",n){const o=t.split(".");let r=e;for(let e=0;e<o.length;e++){const t=o[e];if("*"===t&&y(r)){const t=o.slice(e+1).join("."),s=[];for(const e of r){const o=x(e,t,n);s.push(o)}return s}if(r=k(r)||y(r)?r[t]:void 0,void 0===r)break}return w(r)?r:n}function _(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}var A={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 S(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 P(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 C=(e,t,n,o)=>{const r=`${f[e]}${o.length>0?` [${o.join(":")}]`:""}`,s=Object.keys(n).length>0,i=0===e?console.error:1===e?console.warn:console.log;s?i(r,t,n):i(r,t)};function I(e={}){return D({level:void 0!==e.level?(t=e.level,"string"==typeof t?f[t]:t):0,handler:e.handler,jsonHandler:e.jsonHandler,scope:[]});var t}function D(e){const{level:t,handler:n,jsonHandler:o,scope:r}=e,s=(e,o,s)=>{if(e<=t){const t=P(o,s);n?n(e,t.message,t.context,r,C):C(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=P(e,t);throw n?n(0,o.message,o.context,r,C):C(0,o.message,o.context,r),new Error(o.message)},json:e=>{o?o(e):console.log(JSON.stringify(e,null,2))},scope:e=>D({level:t,handler:n,jsonHandler:o,scope:[...r,e]})}}function L(e){return function(e){return"boolean"==typeof e}(e)||O(e)||function(e){return"number"==typeof e&&!Number.isNaN(e)}(e)||!w(e)||y(e)&&e.every(L)||k(e)&&Object.values(e).every(L)}function T(e){return L(e)?e:void 0}function M(e,t,n){return function(...o){try{return e(...o)}catch(e){if(!t)return;return t(e)}finally{null==n||n()}}}function R(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 N=class e extends Error{constructor(t,n){super(t,n),this.name="FatalError",Object.setPrototypeOf(this,e.prototype)}};async function U(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),i=null!=(r=n.event)?r:k(e)?e:{};if(!n.collector)throw new Error("getMappingValue: context.collector is required");const a={event:i,mapping:t,collector:n.collector,logger:n.collector.logger,consent:s},c=y(t)?t:[t];for(const t of c){const o=await R(z,e=>{if(e instanceof N)throw e;n.collector&&n.collector.status.failed++,a.logger.error("mapping processing failed",{event:i,error:e})})(e,t,{...a,mapping:t});if(w(o))return o}}async function z(e,t,n){return(y(t)?t:[t]).reduce(async(t,o)=>{const r=await t;if(r)return r;const s=O(o)?{key:o}:o;if(!Object.keys(s).length)return;const{condition:i,consent:a,fn:c,key:u,loop:l,map:f,set:d,validate:g,value:p}=s,h={...n,mapping:o};if(i&&!await R(i,e=>{if(e instanceof N)throw e;return h.logger.error("mapping condition failed",{event:h.event,error:e}),!1})(e,h))return;if(a&&!S(a,h.consent))return p;let v=w(p)?p:e;if(c&&(v=await R(c,e=>{if(e instanceof N)throw e;h.logger.error("mapping fn failed",{event:h.event,error:e})})(e,h)),u&&(v=x(e,u,p)),l){const[t,n]=l,o="this"===t?[e]:await U(e,t,h);y(o)&&(v=(await Promise.all(o.map(e=>U(e,n,h)))).filter(w))}else f?v=await Object.entries(f).reduce(async(t,[n,o])=>{const r=await t,s=await U(e,o,h);return w(s)&&(r[n]=s),r},Promise.resolve({})):d&&(v=await Promise.all(d.map(t=>z(e,t,h))));g&&!await R(g,e=>{if(e instanceof N)throw e;return h.logger.error("mapping validate failed",{event:h.event,error:e}),!1})(v,h)&&(v=void 0);const m=T(v);return w(m)?m:T(p)},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 U(e,o,{collector:n,event:e});e=_(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 i,a="",c=r,u=s;const l=t=>{if(t)return(y(t)?t:[t]).find(t=>{if(!t.condition)return!0;if(!n)return Boolean(t.condition(e,void 0));const o={event:e,mapping:t,collector:n,logger:n.logger,consent:k(e)&&e.consent||n.consent};return Boolean(t.condition(e,o))})};t[c]||(c="*");const f=t[c];return f&&(f[u]||(u="*"),i=l(f[u])),i||(c="*",u="*",i=l(null==(o=t[c])?void 0:o[u])),i&&(a=`${c} ${u}`),{eventMapping:i,mappingKey:a}}(e,t.mapping,n);(null==r?void 0:r.policy)&&await Promise.all(Object.entries(r.policy).map(async([t,o])=>{const r=await U(e,o,{collector:n,event:e});e=_(e,t,r)}));let i=t.data&&await U(e,t.data,{collector:n,event:e});const a=Boolean(null==r?void 0:r.silent);if(r){if(r.ignore)return{event:e,data:i,mapping:r,mappingKey:s,ignore:!0,silent:a};if(r.name&&(e.name=r.name),r.data){const t=r.data&&await U(e,r.data,{collector:n,event:e});i=k(i)&&k(t)?m(i,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(A):t;for(const t of o){const o=A[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&&(i=k(i)?m(t,i):null!=i?i:t)}return{event:e,data:i,mapping:r,mappingKey:s,ignore:!1,silent:a}}function H(e,t,n,o){return function(...r){let s;const i="pre"+t,a="post"+t,c=n[i],u=n[a],l=(e,t)=>{o?o.warn(e,{error:t}):console.warn(e,t)};if(c)try{s=c({fn:e},...r)}catch(t){l(`Hook ${String(i)} failed, falling back to original function`,t),s=e(...r)}else s=e(...r);if(u)try{s=u({fn:e,result:s},...r)}catch(e){l(`Hook ${String(a)} failed, keeping original result`,e)}return s}}function K(e){if(void 0===e||"*"===e)return()=>!0;if("and"in e){const t=e.and.map(K);return e=>t.every(t=>t(e))}if("or"in e){const t=e.or.map(K);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 F(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=G(e))?t:{type:"chain",value:[]}};const o=e;return{match:o.match?K(o.match):()=>!0,next:null!=(n=G(o))?n:{type:"chain",value:[]}}})}function G(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 G({one:e});if(e.every(e=>"string"==typeof e))return{type:"chain",value:e};const t=[];for(const n of e){const e=G(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:K(t.match),next:G(t.next)}:G(t.next);if("one"in t&&t.one){const e=F(t.one);return t.match?{type:"gate",match:K(t.match),next:{type:"one",routes:e}}:{type:"one",routes:e}}if("many"in t&&t.many){const e=F(t.many);return t.match?{type:"gate",match:K(t.match),next:{type:"many",routes:e}}:{type:"many",routes:e}}return t.match?{type:"gate",match:K(t.match)}:void 0}var W=new WeakMap;function V(e,t={}){if(null==e)return[];let n;if("object"==typeof e){const t=W.get(e);t?n=t:(n=G(e),n&&W.set(e,n))}else n=G(e);if(!n)return[];const o=J(n,t);return void 0===o?[]:Array.isArray(o)?o:[o]}function J(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 J(e.next,t)}if("sequence"===e.type){const n=[];for(const o of e.value){const e=J(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=J(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 J(n.next,t)}}function Y(e,t){const n={ingest:null!=e?e:{}};return void 0!==t&&(n.event=t),n}function Z(e){var t;return{stop:null!=(t=e.stop)&&t,storeId:e.store,namespace:e.namespace,rules:e.rules.map(e=>({match:e.match?K(e.match):()=>!0,key:e.key,ttl:e.ttl,update:e.update}))}}async function Q(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 i=s.join(":"),a=null!=o?o:e.namespace,c=a?`${a}:${i}`:i,u=await t.get(c);return void 0!==u?{status:"HIT",key:c,value:u,rule:r}:{status:"MISS",key:c,rule:r}}function X(e,t,n,o){e.set(t,n,1e3*o)}async function ee(e,t,n,o){if(!t)return e;let r=e;for(const[e,s]of Object.entries(t))r=_(r,e,await U(n,s,{collector:o}));return r}var te={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"]},ne=["config","env","validate","variables","examples","disabled","id","logger","mock","chainMocks"],oe={Source:["primary"],Transformer:[],Destination:[],Store:[]},re=/^[A-Za-z_$][A-Za-z0-9_$]*$/;function se(e,t){const n=(o=t,new Set([...te[o],...ne,...oe[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,i=void 0!==e.code;return i&&"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.`}:i&&("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."}:i&&r?{ok:!1,code:"CONFLICT",key:"package",reason:"Cannot specify both `code` and `package`. Use one or the other."}:i&&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&&re.test(e.import)?{ok:!0}:{ok:!1,code:"INVALID_IMPORT",key:"import",reason:`import must match ${re.source}. Got: ${JSON.stringify(e.import)}.`}}var ie=!1;function ae(e,t={},n){if(t.filter){if(!0===M(()=>t.filter(n),()=>!1)())return}const o=function(e){if(k(e)&&O(e.event)){const{event:t,...n}=e;return{name:t,...n}}if(y(e)&&e.length>=2)return ce(e);if(t=e,null!=t&&"object"==typeof t&&"length"in t&&"number"==typeof t.length&&t.length>0){return ce(Array.from(e))}var t;return null}(n);if(!o)return;const r=`${t.prefix||"dataLayer"} ${o.name}`,{name:s,...i}=o,a={name:r,data:i};M(()=>e(a),()=>{})()}function ce(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 ue={},le={};r(le,{push:()=>pe});var fe=()=>{},de=()=>()=>Promise.resolve({ok:!0}),ge={error:fe,warn:fe,info:fe,debug:fe,throw:e=>{throw"string"==typeof e?new Error(e):e},json:fe,scope:()=>ge},pe={get push(){return de()},get command(){return de()},get elb(){return de()},get window(){return{dataLayer:[],addEventListener:fe,removeEventListener:fe}},logger:ge},he={};r(he,{consentUpdate:()=>me,directEvent:()=>be,gtagAddToCart:()=>ye,gtagPurchase:()=>ve,gtagViewItem:()=>we});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}]}}]]},me={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"}}]]},ye={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}]}}]]},we={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}]}}]]},be={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"}}]]},ke={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 Oe(e,t){return e.storeId&&t.stores[e.storeId]?t.stores[e.storeId]:t.stores.__cache}function je(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 xe(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 _e(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 Ae(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:Ee(t.config.env)};r.debug("init");const i=await H(t.init,"TransformerInit",e.hooks,e.logger)(s);if(!1===i)return!1;t.config={...i||t.config,env:(null==i?void 0:i.env)||t.config.env,init:!0},r.debug("init done")}return!0}async function Se(e,t,n,o,r,s){const i=t.type||"unknown",a=e.logger.scope(`transformer:${i}`),c={collector:e,logger:a,id:n,ingest:r,config:t.config,env:{...Ee(t.config.env),...s?{respond:s}:{}}};a.debug("push",{event:o.name});const u=await H(t.push,"TransformerPush",e.hooks,e.logger)(o,c);return a.debug("push done"),u}function qe(e,t){return e?{...e,_meta:{...e._meta,path:[...e._meta.path]}}:h(t)}async function $e(e,t,n,o,r,s,i){var a,c,u,l,f,d,g,p;r||(r=h(null!=(a=n[0])?a:"chain")),i&&r._meta&&(r._meta.chainPath=i);let v=o,m=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:m};if(r&&r._meta&&(r._meta.hops++,r._meta.path.push(o)),!await R(Ae,t=>{if(t instanceof N)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:m};if(i&&void 0!==(null==(u=null==(c=s.config)?void 0:c.chainMocks)?void 0:u[i])){const t=s.config.chainMocks[i];e.logger.scope(`transformer:${s.type||"unknown"}`).debug("chainMock",{chain:i}),v=t;continue}if(void 0!==(null==(l=s.config)?void 0:l.mock)){e.logger.scope(`transformer:${s.type||"unknown"}`).debug("mock"),v=s.config.mock;continue}if(null==(f=s.config)?void 0:f.disabled)continue;const a=null==(d=s.config)?void 0:d.cache,h=a?Z(a):void 0,y=h?Oe(h,e):void 0;let w;if(h&&y){const e=Y(r,v),t=await Q(h,y,e);if("HIT"===(null==t?void 0:t.status)&&t.value){if(v=t.value,h.stop)return{event:v,respond:m,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=V(b,Y(r,v));if(1===n.length){const o=_e(n[0],je(t));if(o.length>0){const n=await $e(e,t,o,v,r,m,i);if(null===n.event)return{event:null,respond:null!=(g=n.respond)?g:m};if(n.stopped)return{event:Array.isArray(n.event)?n.event[0]:n.event,respond:null!=(p=n.respond)?p:m,stopped:!0};n.respond&&(m=n.respond),v=Array.isArray(n.event)?n.event[0]:n.event}}else n.length>1&&await Promise.all(n.map(n=>R($e,t=>(e.logger.scope("transformer:many").error(`many branch ${n} failed`,{error:t}),{event:null,respond:void 0}))(e,t,_e(n,je(t)),v,qe(r,n),void 0,i)))}const k=await R(Se,t=>(e.logger.scope(`transformer:${s.type||"unknown"}`).error("Push failed",{error:t}),!1))(e,s,o,v,r,m);if(!1===k)return{event:null,respond:m};if(Array.isArray(k)){const s=n.slice(n.indexOf(o)+1),a=await Promise.all(k.map(async n=>{const o=n.event||v,a=qe(r,"unknown");if(n.next){const r=V(n.next,Y(a,o));if(0===r.length)return{event:o,respond:m};if(1===r.length){const n=_e(r[0],je(t));return n.length>0?$e(e,t,n,o,a,m,i):{event:o,respond:m}}return(await Promise.all(r.map(n=>R($e,t=>(e.logger.scope("transformer:many").error(`many branch ${n} failed`,{error:t}),{event:null,respond:void 0}))(e,t,_e(n,je(t)),o,qe(a,n),void 0,i)))).map(e=>({event:e.event,respond:void 0}))}return s.length>0?$e(e,t,s,o,a,m,i):{event:o,respond:m}}));let c=m;const u=[];for(const e of a.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&&(m=o),void 0!==s){const o=V(s,Y(r,v));if(0===o.length){n&&(v=n);continue}if(1===o.length){const a=_e(o[0],je(t));return a.length>0?$e(e,t,a,n||v,r,m,i):(e.logger.warn(`Branch target not found: ${JSON.stringify(s)}`),{event:null,respond:m})}return await Promise.all(o.map(o=>R($e,t=>(e.logger.scope("transformer:many").error(`many branch ${o} failed`,{error:t}),{event:null,respond:void 0}))(e,t,_e(o,je(t)),n||v,qe(r,o),void 0,i))),{event:null,respond:void 0}}n&&(v=n)}w&&y&&X(y,w.key,v,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=V(s.config.next,Y(r,v));if(1===n.length){const o=_e(n[0],je(t));return o.length>0?$e(e,t,o,v,r,m,i):{event:v,respond:m}}return n.length>1?(await Promise.all(n.map(n=>R($e,t=>(e.logger.scope("transformer:many").error(`many branch ${n} failed`,{error:t}),{event:null,respond:void 0}))(e,t,_e(n,je(t)),v,qe(r,n),void 0,i))),{event:null,respond:void 0}):{event:v,respond:m}}}return{event:v,respond:m}}function Ee(e){return e&&k(e)?e:{}}function Pe(e){return"string"==typeof e||!(!Array.isArray(e)||!e.every(e=>"string"==typeof e))}async function Ce(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 i=n||(null==(r=t.config)?void 0:r.id)||"unknown";for(const{type:n,data:o}of s)await R(t.on,t=>{if(t instanceof N)throw t;e.status.failed++,e.logger.scope("source").error("source on flush failed",{sourceId:i,type:n,error:t})})(n,o)}function Ie(e){var t;return Boolean(e.config.init)&&!(null==(t=e.config.require)?void 0:t.length)}async function De(e,t,n){var o;const{code:r,config:s={},env:i={},primary:a,next:c,before:u,cache:l}=n,f=l,d=f?Z({...f,stop:null==(o=f.stop)||o}):void 0,g=Pe(c)?_e(c,je(e.transformers)):void 0,p=Pe(u)?_e(u,je(e.transformers)):void 0,v=i.push,m=null!=v?v:e.push,y=Boolean(v),w=async(n,o,r)=>{var i;let a;const l=null!=p?p:void 0!==u?(()=>{const t=V(u,Y(r.ingest));return 0===t.length?[]:_e(1===t.length?t[0]:t,je(e.transformers))})():[];let f=[n];if(l.length>0&&e.transformers&&Object.keys(e.transformers).length>0){const o=await $e(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),f=Array.isArray(o.event)?o.event:[o.event]}if(d){const t=Oe(d,e);if(t){const n=Y(r.ingest),o=await Q(d,t,n);if(o){if("HIT"===o.status&&void 0!==o.value&&d.stop){let t=o.value;return o.rule.update&&(t=await ee(t,o.rule.update,{...n,cache:{status:"HIT"}},e)),null==(i=r.respond)||i.call(r,t),{ok:!0}}if("MISS"===o.status&&d.stop&&r.respond){const s=r.respond,i=o.rule.update,c={...n,cache:{status:"MISS"}},u=o.key,l=o.rule.ttl,f=n=>{X(t,u,n,l),i?a=(async()=>{const t=await ee(n,i,c,e);s(t)})():s(n)};r.respond=f}"MISS"!==o.status||d.stop||X(t,o.key,!0,o.rule.ttl)}}}const h=g?{kind:"single",preChain:g}:void 0!==c?(()=>{const t=V(c,Y(r.ingest));return 0===t.length?{kind:"single",preChain:[]}:1===t.length?{kind:"single",preChain:_e(t[0],je(e.transformers))}:{kind:"many",branches:t.map(t=>_e(t,je(e.transformers)))}})():{kind:"single",preChain:[]};let v={ok:!0};for(const n of f)"many"===h.kind?(await Promise.all(h.branches.map((i,a)=>R(async()=>y?m(n):m(n,{...o,id:t,ingest:qe(r.ingest,`${t}.${a}`),respond:void 0,mapping:s,preChain:i}),t=>(e.logger.scope("source:many").error(`many branch ${a} failed`,{error:t}),{ok:!0}))())),v={ok:!0}):v=y?await m(n):await m(n,{...o,id:t,ingest:r.ingest,respond:r.respond,mapping:s,preChain:h.preChain});return a&&await a,v},b=async n=>{const o=h(t);if(!s.ingest||void 0===n)return o;const r=await U(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,...i,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 R(r,n=>{if(n instanceof N)throw n;e.status.failed++,e.logger.scope("source").error("source factory failed",{sourceId:t,error:n})})(j);if(!x)return;const _=x.type||"unknown",A=e.logger.scope(_).scope(t);return O.logger=A,a&&(x.config={...x.config,primary:a}),x}function Le(e,t,n,o){if(n instanceof N)throw n;e.logger.scope("on").error("on callback failed",{kind:t,...o,error:n})}function Te(e,t){return{collector:e,logger:e.logger.scope("on").scope(String(t))}}function Me(e,t,n,o,r){if(!t.on)return;const s=t.type||"unknown",i=e.logger.scope(s).scope("on").scope(o),a={collector:e,logger:i,id:n,config:t.config,data:r,env:et(t.env,t.config.env)};M(t.on,t=>Le(e,"destination",t,{destId:n,type:o}))(o,a)}function Re(e,t,n,o){let r;switch(t){case ke.Consent:r=o||e.consent;break;case ke.Session:r=e.session;break;case ke.User:r=o||e.user;break;case ke.Custom:r=o||e.custom;break;case ke.Globals:r=o||e.globals;break;case ke.Config:r=o||e.config;break;case ke.Ready:case ke.Run:default:r=void 0}if(n.length)switch(t){case ke.Consent:!function(e,t,n){const o=n||e.consent,r=Te(e,ke.Consent);t.forEach(t=>{Object.keys(o).filter(e=>e in t).forEach(n=>{M(t[n],t=>Le(e,"consent",t,{key:n}))(o,r)})})}(e,n,o);break;case ke.Ready:!function(e,t){if(!e.allowed)return;const n=Te(e,ke.Ready);t.forEach(t=>{M(t,t=>Le(e,"ready",t))(void 0,n)})}(e,n);break;case ke.Run:!function(e,t){if(!e.allowed)return;const n=Te(e,ke.Run);t.forEach(t=>{M(t,t=>Le(e,"run",t))(void 0,n)})}(e,n);break;case ke.Session:!function(e,t){if(!e.session)return;const n=Te(e,ke.Session);t.forEach(t=>{M(t,t=>Le(e,"session",t))(e.session,n)})}(e,n);break;default:{const o=Te(e,t);n.forEach(n=>{"function"==typeof n&&M(n,n=>Le(e,"generic",n,{type:t}))(r,o)});break}}}function Ne(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 Ue=new WeakMap;function ze(e,t,n,o){Ue.get(e)||(Ue.set(e,!0),t.warn(n,o))}function Be(e){Ue.delete(e)}var He=Object.freeze({batched:!0});function Ke(e){return e===He}function Fe(e){return void 0===e?{}:"number"==typeof e?{wait:e}:{wait:e.wait,size:e.size,age:e.age}}function Ge(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 We(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 Ve(e,t,n){if(!e)return[];if(Array.isArray(e)&&e.every(e=>"string"==typeof e))return _e(e,t);if("string"==typeof e)return _e(e,t);const o=V(e,Y(n));return 0===o.length?[]:1===o.length?_e(o[0],t):_e(o,t)}async function Je(e,t,n={},o){var r,s,i,a,u,l;const{allowed:f,consent:d,globals:g,user:p}=e;if(!f)return Qe({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=Ne(e.queue,t,{max:n});if(o.dropped>0){const t=We(e.status,c("collector"),"queue",o.dropped);ze(e.queue,e.logger,"collector.queue overflow; oldest events dropped",{buffer:"queue",cap:n,droppedCount:t})}else e.queue.length<n&&Be(e.queue);e.status.in++}o||(o=e.destinations);const v=e.transformers?je(e.transformers):{},y=await Promise.all(Object.entries(o||{}).map(async([o,r])=>{var s,i,a,u;if(r.config.disabled)return{id:o,destination:r,skipped:!0};let l=(r.queuePush||[]).map(e=>({...e,consent:d}));r.queuePush=[],t&&l.push(j(t));const f=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==(i=r.queueOn)?void 0:i.length)){let t=!1;try{t=await Ye(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 y=[],w=l.filter(e=>{const t=S(r.config.consent,d,e.consent);return!t||(e.consent=t,y.push(e),!1)});if(w.length>0){const t=r.queuePush,n=r.config.id||o,s={max:null!=(a=r.config.queueMax)?a:1e3};let i=0;for(const e of w)i+=Ne(t,e,s).dropped;if(i>0){Ge(e,n);const o=We(e.status,c("destination",n),"queue",i);ze(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&&Be(t)}if(!y.length)return{id:o,destination:r,queue:l};let b,k,O=!1;try{O=await Ye(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=Ve(r.config.before,v,f),_=r.config.next,A=null==(u=r.config)?void 0:u.cache,q=A?Z(A):void 0,$=q?Oe(q,e):void 0;let E=0,P=0;return await Promise.all(y.map(async t=>{let s;if(t.globals=m(g,t.globals),t.user=m(p,t.user),(null==q?void 0:q.stop)&&$){const e=Y(f,t),n=await Q(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 i=t,a=n.respond;if(x.length>0&&e.transformers&&Object.keys(e.transformers).length>0){const r=await $e(e,e.transformers,x,t,f,n.respond,`destination.${o}.before`);if(null===r.event)return t;r.respond&&(a=r.respond),i=Array.isArray(r.event)?r.event[0]:r.event}if(q&&!q.stop&&$){const e=Y(f,i),n=await Q(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 d=await R(Ze,t=>{var n;const s=r.type||"unknown";e.logger.scope(s).error("Push failed",{error:t,event:i.name}),b=t,l=!0;const a=r.dlq,u=r.config.id||o,f={max:null!=(n=r.config.dlqMax)?n:100},d=Ne(a,[i,t],f);if(d.dropped>0){Ge(e,u);const t=We(e.status,c("destination",u),"dlq",d.dropped);ze(a,e.logger.scope(r.type||"unknown"),"destination.dlq overflow; oldest entries dropped",{buffer:"dlq",destination:u,cap:f.max,droppedCount:t})}else a.length<f.max&&Be(a)})(e,r,o,i,f,a);if(E+=Date.now()-u,s&&$&&void 0===r.config.mock&&X($,s.key,null==d||d,s.ttl),void 0===d||Ke(d)||(k=d),Ke(d)&&P++,!l&&_){void 0!==d&&(f._response=d);const t=Ve(_,v,f);if(t.length>0&&e.transformers&&Object.keys(e.transformers).length>0){const n=await $e(e,e.transformers,t,i,f,a,`destination.${o}.next`);n.respond&&(a=n.respond)}}return t})),{id:o,destination:r,error:b,response:k,totalDuration:E,batchedCount:P,allowedCount:y.length}})),w={},b={},k={};for(const t of y){if(t.skipped)continue;const n=t.destination,o={type:n.type||"unknown",data:t.response};Ge(e,t.id);const c=e.status.destinations[t.id],f=Date.now();if(c.queuePushSize=null!=(s=null==(r=n.queuePush)?void 0:r.length)?s:0,c.dlqSize=null!=(a=null==(i=n.dlq)?void 0:i.length)?a:0,t.error)o.error=t.error,k[t.id]=o,c.failed++,c.lastAt=f,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=f,c.duration+=t.totalDuration||0,e.status.out++)}}return Qe({event:t,...Object.keys(w).length&&{done:w},...Object.keys(b).length&&{queued:b},...Object.keys(k).length&&{failed:k}})}async function Ye(e,t,n){var o;if(t.init&&!t.config.init){const r=t.type||"unknown",s=e.logger.scope(r),i={collector:e,logger:s,id:n,config:t.config,env:et(t.env,t.config.env)};s.debug("init");const a=await H(t.init,"DestinationInit",e.hooks,e.logger)(i);if(!1===a)return a;if(t.config={...a||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)Me(e,t,n,r,s)}s.debug("init done")}return!0}async function Ze(e,t,n,o,r,s){var i,a,u,l,f,d,g;const{config:p}=t,h=await B(o,p,e);if(h.ignore)return!1;const v=t.type||"unknown",m=e.logger.scope(v),y={collector:e,logger:m,id:n,config:p,data:h.data,rule:h.mapping,ingest:r,env:{...et(t.env,p.env),...s?{respond:s}:{}}};if(void 0!==p.mock)return m.debug("mock",{event:h.event.name}),p.mock;const b=h.mapping,k=h.mappingKey||"* *";if((null==b?void 0:b.batch)&&t.pushBatch&&void 0===p.mock){if(t.batches=t.batches||{},!t.batches[k]){const o={key:k,entries:[],events:[],data:[]},r=Fe(b.batch),s=Fe(p.batch),g=null!=(a=null!=(i=r.wait)?i:s.wait)?a:3e4,h=null!=(l=null!=(u=r.size)?u:s.size)?l:1e3,v=null!=(d=null!=(f=r.age)?f:s.age)?d:3e4,y=et(t.env,p.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 i,a,c=null,u=null,l=!1,f=[],d=0;const g=()=>{c&&(clearTimeout(c),c=null),u&&(clearTimeout(u),u=null),d=0,a=void 0},p=()=>{const t=a,n=f;if(g(),f=[],t)return i=e(...t),n.forEach(e=>e(i)),i;n.forEach(e=>e(void 0))},h=(...t)=>new Promise(g=>{const h=n&&!l;if(a=t,d+=1,f.push(g),c&&clearTimeout(c),c=setTimeout(()=>{c=null,n&&!l||p()},o),void 0===s||u||(u=setTimeout(()=>{u=null,p()},s)),void 0!==r&&d>=r)p();else if(h){l=!0,i=e(...t);const n=f;f=[],n.forEach(e=>e(i))}});return h.flush=()=>a||0!==f.length?new Promise(e=>{f.push(e),p()}):Promise.resolve(void 0),h.cancel=()=>{const e=f;f=[],g(),e.forEach(e=>e(void 0))},h.size=()=>d,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 i=s.entries[0],a={collector:e,logger:m,id:n,config:p,data:void 0,rule:i.rule,ingest:i.ingest,env:{...y,...i.respond?{respond:i.respond}:{}}};m.debug("push batch",{events:s.entries.length});const u=t.config.id||n,l=Ge(e,u);let f=!0;await R(H(t.pushBatch,"DestinationPushBatch",e.hooks,e.logger),n=>{var o;f=!1;const r=t.dlq=t.dlq||[],i={max:null!=(o=t.config.dlqMax)?o:100};let a=0;for(const e of s.entries)a+=Ne(r,[e.event,n],i).dropped;if(a>0){const t=We(e.status,c("destination",u),"dlq",a);ze(r,m,"destination.dlq overflow; oldest entries dropped",{buffer:"dlq",destination:u,cap:i.max,droppedCount:t})}else r.length<i.max&&Be(r);l.failed+=s.entries.length,l.dlqSize=r.length,e.status.failed+=s.entries.length,m.error("Push batch failed",{error:n instanceof Error?n.message:String(n),entries:s.entries.length})})(s,a),m.debug("push batch done"),l.inFlightBatch=Math.max(0,(null!=(o=l.inFlightBatch)?o:0)-s.entries.length),f&&(l.count+=s.entries.length,l.lastAt=Date.now(),e.status.out+=s.entries.length)},{wait:g,size:h,age:v});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 v=t.config.id||n,y=Ge(e,v);return y.inFlightBatch=(null!=(g=y.inFlightBatch)?g:0)+1,o.batchFn(),He}{m.debug("push",{event:h.event.name});const n=await H(t.push,"DestinationPush",e.hooks,e.logger)(h.event,y);return m.debug("push done"),n}}function Qe(e){return{ok:!(null==e?void 0:e.failed),...e}}function Xe(e){const{code:t,config:n={},env:o={},cache:r}=e,{config:s}=xe(e,"before"),{config:i}=xe({...e,config:s},"next"),a={...t.config,...n,...i};r&&(a.cache=r);const c=et(t.env,o);return{...t,config:a,env:c}}function et(e,t){return e||t?t?e&&k(e)&&k(t)?{...e,...t}:t:e:{}}async function tt(e,t,n){const o=Object.entries(e).map(async([e,o])=>{var r;const s=o.destroy;if(!s)return;const i=o.type||"unknown",a=n.scope(i),c={id:e,config:o.config,env:null!=(r=o.env)?r:{},logger:a};try{await Promise.race([s(c),new Promise((n,o)=>setTimeout(()=>o(new Error(`${t} '${e}' destroy timed out`)),5e3))])}catch(n){a.error(`${t} '${e}' destroy failed: ${n}`)}});await Promise.allSettled(o)}async function nt(e,t,n){let o,r,s=!1;switch(t){case ke.Config:k(n)&&(m(e.config,n,{shallow:!1}),r=n,s=!0);break;case ke.Consent:if(k(n)){const{update:t}=function(e,t){const n={};return Object.entries(t).forEach(([e,t])=>{n[e]=!!t}),e.consent=m(e.consent,n),{update:n}}(e,n);r=t,s=!0}break;case ke.Custom:k(n)&&(e.custom=m(e.custom,n),r=n,s=!0);break;case ke.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:i,cache:a}=t;if(!b(n.push))return Qe({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};i&&(u={...u,next:i}),a&&(u={...u,cache:a});const l={...n,config:u,env:et(n.env,r)};let f=l.config.id;if(!f)do{f=$(5,"abcdefghijklmnopqrstuvwxyz")}while(e.destinations[f]);return e.destinations[f]=l,!1!==l.config.queue&&(l.queuePush=[...e.queue]),Je(e,void 0,{},{[f]:l})}(e,n));break;case ke.Globals:k(n)&&(e.globals=m(e.globals,n),r=n,s=!0);break;case ke.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 ke.On:if(k(n)&&O(n.type)){const{type:t,rules:o}=n;await async function(e,t,n){const o=e.on,r=o[t]||[],s=y(n)?n:[n];s.forEach(e=>{r.push(e)}),o[t]=r,Re(e,t,s)}(e,t,o)}break;case ke.Ready:s=!0;break;case ke.Run:o=await async function(e,t){return e.allowed=!0,e.timing=Date.now(),t&&(t.consent&&(e.consent=m(e.consent,t.consent)),t.user&&(e.user=m(e.user,t.user)),t.globals&&(e.globals=m(e.config.globalsStatic||{},t.globals)),t.custom&&(e.custom=m(e.custom,t.custom))),Object.values(e.destinations).forEach(e=>{e.queuePush=[]}),e.queue=[],e.round++,await Je(e)}(e,n),s=!0;break;case ke.Session:s=!0;break;case ke.Shutdown:await async function(e){const t=e.logger;await tt(e.sources,"source",t),await tt(e.destinations,"destination",t),await tt(e.transformers,"transformer",t),await tt(e.stores,"store",t)}(e);break;case ke.User:k(n)&&(m(e.user,n,{shallow:!1}),r=n,s=!0)}return s&&(await async function(e,t,n,o){var r,s;let i,a=n||[];switch(n||(a=e.on[t]||[]),t){case ke.Consent:i=o||e.consent;break;case ke.Session:i=e.session;break;case ke.User:i=o||e.user;break;case ke.Custom:i=o||e.custom;break;case ke.Globals:i=o||e.globals;break;case ke.Config:i=o||e.config;break;case ke.Ready:case ke.Run:default:i=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&&(Ie(o)?!1===await R(o.on,o=>Le(e,"source",o,{sourceId:n,type:t}))(t,i)&&(c=!0):(o.queueOn=o.queueOn||[],o.queueOn.push({type:t,data:i})))}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:i});Me(e,o,n,t,i)}});for(const[t,n]of Object.entries(e.sources))Ie(n)&&(null==(s=n.queueOn)?void 0:s.length)&&await Ce(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 i=s.indexOf(t);if(-1===i)continue;if(s.splice(i,1),s.length>0)continue;delete e.pending.destinations[o];const a=Xe(r);!1!==a.config.queue&&(a.queuePush=[...e.queue]),e.destinations[o]=a}}(e,t),Re(e,t,a,o),!c}(e,t,void 0,r),o=await Je(e)),o||Qe({ok:!0})}function ot(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:i={},context:a={},globals:c=e.globals,custom:u={},user:l=e.user,nested:f=[],consent:d=e.consent,id:g=q(),trigger:p="",entity:h=n,action:v=o,timing:m=0,source:y={type:"collector",schema:"4"}}=t;return{name:s,data:i,context:a,globals:c,custom:u,user:l,nested:f,consent:d,id:g,trigger:p,entity:h,action:v,timestamp:r,timing:m,source:y}}function rt(e={}){var t,n,o;const r=null!=(t=e.maxEntries)?t:1e4,s=null!=(n=e.lowWaterMark)?n:.8,i=null!=(o=e.sweepIntervalMs)?o:6e4,a=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 i>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},i),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-a;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 st(e,t){const{cacheConfig:n,cacheStore:o,namespace:r,logger:s,storeId:i}=t,a={hits:0,misses:0,populates:0,writes:0,deletes:0,inflight_dedups:0},c=n.rules.map(e=>({match:e.match?K(e.match):()=>!0,ttl:e.ttl})),u=e=>`${r}:${e}`;function l(e,t){const n=void 0===t?{key:e}:{key:e,value:t};return c.find(e=>e.match(n))}const f=new Map;return{type:e.type,config:e.config,setup:e.setup,get counters(){return{...a}},async get(t){const n=u(t),r=await o.get(n);if(void 0!==r)return a.hits++,r;const s=f.get(n);if(s)return a.inflight_dedups++,s;a.misses++;const i=(async()=>{try{const r=await e.get(t);if(void 0===r)return;const s=l(t,r);if(s)try{await o.set(n,r,1e3*s.ttl),a.populates++}catch(e){d("set",t,e)}return r}finally{f.delete(n)}})();return f.set(n,i),i},async set(t,n,r){a.writes++,await e.set(t,n,r);const s=l(t,n);if(s)try{await o.set(u(t),n,1e3*s.ttl)}catch(e){d("set",t,e)}},async delete(t){a.deletes++,await e.delete(t);try{await o.delete(u(t))}catch(e){d("delete",t,e)}}};function d(e,t,n){const o=`store-cache(${i}): cache ${e} failed for "${t}"; backing succeeded, continuing`;s?s.warn(o,{error:n}):console.warn(o,n)}}function it(e,t){const n=t.get,o=t.set,r=t.delete;t.get=H(n,"StoreGet",e.hooks,e.logger),t.set=H(o,"StoreSet",e.hooks,e.logger),t.delete=H(r,"StoreDelete",e.hooks,e.logger)}async function at(e){var t,n;const o=m({globalsStatic:{},sessionStatic:{},run:!0,queueMax:1e3},e,{merge:!1,extend:!1}),r=I({level:null==(t=e.logger)?void 0:t.level,handler:null==(n=e.logger)?void 0:n.handler}),s={...o.globalsStatic,...e.globals},i={allowed:!1,config:o,consent:e.consent||{},custom:e.custom||{},destinations:{},transformers:{},stores:{},globals:s,hooks:e.hooks||{},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 a,c;i.push=function(e,t){return H(async(n,o={})=>await R(async()=>{var r;const s=Date.now(),{id:i,ingest:a,respond:c,mapping:u,preChain:l,include:f,exclude:d}=o;let g=c,p=n;const v=f||d?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,f,d):void 0,m=null!=a?a:h(i||"unknown");if(u){const t=await B(p,u,e);if(t.ignore)return Qe({ok:!0});if(u.consent&&!S(u.consent,e.consent,t.event.consent))return Qe({ok:!0});p=t.event}if((null==l?void 0:l.length)&&e.transformers&&Object.keys(e.transformers).length>0){const n=await $e(e,e.transformers,l,p,m,g,i?`source.${i}.next`:void 0);if(null===n.event)return Qe({ok:!0});if(n.stopped)return n.respond&&(g=n.respond),Qe({ok:!0});if(n.respond&&(g=n.respond),Array.isArray(n.event)){const o=await Promise.all(n.event.map(async n=>{const o=t(n),r=ot(e,o);return Je(e,r,{id:i,ingest:m,respond:g},v)}));if(i){e.status.sources[i]||(e.status.sources[i]={count:0,duration:0});const t=e.status.sources[i];t.count+=n.event.length,t.lastAt=Date.now(),t.duration+=Date.now()-s}return null!=(r=o[0])?r:Qe({ok:!0})}p=n.event}const y=t(p),w=ot(e,y),b=await Je(e,w,{id:i,ingest:m,respond:g},v);if(i){e.status.sources[i]||(e.status.sources[i]={count:0,duration:0});const t=e.status.sources[i];t.count++,t.lastAt=Date.now(),t.duration+=Date.now()-s}return b},t=>{if(t instanceof N)throw t;return e.status.failed++,e.logger.error("push failed",{event:n,ingest:o.ingest,error:t}),Qe({ok:!1})})(),"Push",e.hooks,e.logger)}(i,e=>({timing:Math.round((Date.now()-i.timing)/10)/100,source:{type:"collector",schema:"4",version:"4.1.0-next-1779362268386"},...e})),i.command=(c=nt,H(async(e,t,n)=>await R(async()=>await c(a,e,t,n),n=>{if(n instanceof N)throw n;return a.status.failed++,a.logger.error("command failed",{command:e,data:t,error:n}),Qe({ok:!1})})(),"Command",(a=i).hooks,a.logger));const u=e.stores||{};return i.stores=await async function(e,t={}){var n;const o={};for(const[n,r]of Object.entries(t)){const{code:t,config:s={},env:i={}}=r,a=e.logger.scope("store").scope(n),c={collector:e,logger:a,id:n,config:s,env:i},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 i;const a=t[s];if("BLACK"===a)return;if("GRAY"===a){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==(i=e[s].cache)?void 0:i.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 i,a;void 0!==s.store?(i=o[s.store],a=s.store):(o.__cache||(o.__cache=rt()),i=o.__cache,a="__cache");const c=null!=(n=s.namespace)?n:t;e.logger.scope("store-cache").scope(t).info(`store "${t}" caches with namespace "${c}:" via ${a}`),o[t]=st(o[t],{storeId:t,cacheConfig:s,cacheStore:i,namespace:c,logger:e.logger.scope("store-cache").scope(t)})}for(const[t,n]of Object.entries(o))"__cache"!==t&&it(e,n);return o}(i,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,i.stores,e),i.stores.__cache||(i.stores.__cache=rt()),i.destinations=await async function(e,t={}){var n,o;const r={};for(const[s,i]of Object.entries(t))(null==(o=null==(n=i.config)?void 0:n.require)?void 0:o.length)?e.pending.destinations[s]=i:r[s]=Xe(i);return r}(i,e.destinations||{}),i.transformers=await async function(e,t={}){var n,o,r,s;const i={};for(const[a,c]of Object.entries(t)){const{code:t,env:u={}}=c,l=se(c,"Transformer");if(!l.ok){e.logger.warn(`Transformer ${a} invalid (${l.code}): ${l.reason}. Skipping.`);continue}const{config:f}=xe(c,"before"),{config:d}=xe({...c,config:f},"next"),g=Object.keys(u).length>0?{...d,env:u}:d,{cache:p}=c,v=p?{...g,cache:p}:g,m=e.logger.scope("transformer").scope(a),y={collector:e,logger:m,id:a,ingest:h(a),config:v,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 ${a}: \`${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(y);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}),i[a]=b}return i}(i,e.transformers||{}),i}async function ct(e){e=e||{};const t=await at(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 i;if("string"==typeof e)i={name:e},t&&"object"==typeof t&&!Array.isArray(t)&&(i.data=t);else{if(!e||"object"!=typeof e)return Qe({ok:!1});i=e,t&&"object"==typeof t&&!Array.isArray(t)&&(i.data={...i.data||{},...t})}return n&&"object"==typeof n&&(i.context=n),r&&Array.isArray(r)&&(i.nested=r),s&&"object"==typeof s&&(i.custom=s),o.push(i)}});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 De(e,r,s);if(!t)continue;const i=null==(n=s.config)?void 0:n.require;t.config={...t.config,init:!1,...i?{require:[...i]}:{}},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 R(n.init.bind(n),n=>{if(n instanceof N)throw n;o=!0,e.status.failed++,e.logger.scope("source").error("source init failed",{sourceId:t,error:n})})(),o||(n.config.init=!0,Ie(n)&&await Ce(e,n,t))}return o}(t,e.sources||{});const{consent:r,user:s,globals:i,custom:a}=e;r&&await t.command("consent",r),s&&await t.command("user",s),i&&Object.assign(t.globals,i),a&&Object.assign(t.custom,a),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 ut,lt=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 ct({...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)}}},ft=(e,t)=>{const n=t.window;n.dataLayer||(n.dataLayer=[]),n.dataLayer.push(e)},dt=async e=>{const{config:t,env:n}=e,{elb:o,window:r}=n,s={name:"dataLayer",prefix:"dataLayer",...null==t?void 0:t.settings},i={settings:s};let a=0;return{type:"dataLayer",config:i,push:o,on:async e=>{if("run"===e&&r&&a>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)&&!ie){ie=!0;try{const t=null!=n?n:s.length;for(let n=0;n<t;n++)ae(e,r,s[n])}finally{ie=!1}}}(o,i,a,r),a=0}},init:()=>{if(!r)return;const e=s.name||"dataLayer",t=r[e];a=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 i=s.push.bind(s);s.push=function(...t){if(ie)return i(...t);ie=!0;try{for(const n of t)ae(e,o,n)}finally{ie=!1}return i(...t)}}(o,i,r)},destroy:async()=>{const e=s.name||"dataLayer";r&&r[e]&&Array.isArray(r[e])}}},gt=dt;return ut=s,((r,s,i,a)=>{if(s&&"object"==typeof s||"function"==typeof s)for(let c of n(s))o.call(r,c)||c===i||e(r,c,{get:()=>s[c],enumerable:!(a=t(s,c))||a.enumerable});return r})(e({},"__esModule",{value:!0}),ut)})();
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:()=>ue,createTrigger:()=>lt,default:()=>gt,env:()=>le,sourceDataLayer:()=>dt,step:()=>he,trigger:()=>ft});var i=Object.defineProperty,a=(e,t)=>{for(var n in t)i(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}`}a({},{stepId:()=>c});function u(e,t){const n=e.destinations[t];if(!n)throw new Error(`Destination not found: ${t}`);return n}a({},{getDestination:()=>u});a({},{Level:()=>f});var l,f=((l=f||{})[l.ERROR=0]="ERROR",l[l.WARN=1]="WARN",l[l.INFO=2]="INFO",l[l.DEBUG=3]="DEBUG",l);function d(e,t){const n=e.transformers[t];if(!n)throw new Error(`Transformer not found: ${t}`);return n}a({},{getTransformer:()=>d});function g(e,t){const n=e.sources[t];if(!n)throw new Error(`Source not found: ${t}`);return n}a({},{getSource:()=>g});function p(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]}}}a({},{getStore:()=>p});var v={merge:!0,shallow:!0,extend:!0};function m(e,t={},n={}){n={...v,...n};const o=Object.entries(t).reduce((t,[o,r])=>{const s=e[o];return n.merge&&Array.isArray(s)&&Array.isArray(r)?t[o]=r.reduce((e,t)=>e.includes(t)?e:[...e,t],[...s]):(n.extend||o in e)&&(t[o]=r),t},{});return n.shallow?{...e,...o}:(Object.assign(e,o),e)}function y(e){return Array.isArray(e)}function w(e){return void 0!==e}function b(e){return"function"==typeof e}function k(e){return"object"==typeof e&&null!==e&&!y(e)&&"[object Object]"===Object.prototype.toString.call(e)}function O(e){return"string"==typeof e}function j(e,t=new WeakMap){if("object"!=typeof e||null===e)return e;if(t.has(e))return t.get(e);const n=Object.prototype.toString.call(e);if("[object Object]"===n){const n={};t.set(e,n);for(const o in e)Object.prototype.hasOwnProperty.call(e,o)&&(n[o]=j(e[o],t));return n}if("[object Array]"===n){const n=[];return t.set(e,n),e.forEach(e=>{n.push(j(e,t))}),n}if("[object Date]"===n)return new Date(e.getTime());if("[object RegExp]"===n){const t=e;return new RegExp(t.source,t.flags)}return e}function x(e,t="",n){const o=t.split(".");let r=e;for(let e=0;e<o.length;e++){const t=o[e];if("*"===t&&y(r)){const t=o.slice(e+1).join("."),s=[];for(const e of r){const o=x(e,t,n);s.push(o)}return s}if(r=k(r)||y(r)?r[t]:void 0,void 0===r)break}return w(r)?r:n}function _(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}var A={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 S(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 P(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 C=(e,t,n,o)=>{const r=`${f[e]}${o.length>0?` [${o.join(":")}]`:""}`,s=Object.keys(n).length>0,i=0===e?console.error:1===e?console.warn:console.log;s?i(r,t,n):i(r,t)};function I(e={}){return D({level:void 0!==e.level?(t=e.level,"string"==typeof t?f[t]:t):0,handler:e.handler,jsonHandler:e.jsonHandler,scope:[]});var t}function D(e){const{level:t,handler:n,jsonHandler:o,scope:r}=e,s=(e,o,s)=>{if(e<=t){const t=P(o,s);n?n(e,t.message,t.context,r,C):C(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=P(e,t);throw n?n(0,o.message,o.context,r,C):C(0,o.message,o.context,r),new Error(o.message)},json:e=>{o?o(e):console.log(JSON.stringify(e,null,2))},scope:e=>D({level:t,handler:n,jsonHandler:o,scope:[...r,e]})}}function L(e){return function(e){return"boolean"==typeof e}(e)||O(e)||function(e){return"number"==typeof e&&!Number.isNaN(e)}(e)||!w(e)||y(e)&&e.every(L)||k(e)&&Object.values(e).every(L)}function T(e){return L(e)?e:void 0}function M(e,t,n){return function(...o){try{return e(...o)}catch(e){if(!t)return;return t(e)}finally{null==n||n()}}}function R(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 N=class e extends Error{constructor(t,n){super(t,n),this.name="FatalError",Object.setPrototypeOf(this,e.prototype)}};async function U(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),i=null!=(r=n.event)?r:k(e)?e:{};if(!n.collector)throw new Error("getMappingValue: context.collector is required");const a={event:i,mapping:t,collector:n.collector,logger:n.collector.logger,consent:s},c=y(t)?t:[t];for(const t of c){const o=await R(z,e=>{if(e instanceof N)throw e;n.collector&&n.collector.status.failed++,a.logger.error("mapping processing failed",{event:i,error:e})})(e,t,{...a,mapping:t});if(w(o))return o}}async function z(e,t,n){return(y(t)?t:[t]).reduce(async(t,o)=>{const r=await t;if(r)return r;const s=O(o)?{key:o}:o;if(!Object.keys(s).length)return;const{condition:i,consent:a,fn:c,key:u,loop:l,map:f,set:d,validate:g,value:p}=s,h={...n,mapping:o};if(i&&!await R(i,e=>{if(e instanceof N)throw e;return h.logger.error("mapping condition failed",{event:h.event,error:e}),!1})(e,h))return;if(a&&!S(a,h.consent))return p;let v=w(p)?p:e;if(c&&(v=await R(c,e=>{if(e instanceof N)throw e;h.logger.error("mapping fn failed",{event:h.event,error:e})})(e,h)),u&&(v=x(e,u,p)),l){const[t,n]=l,o="this"===t?[e]:await U(e,t,h);y(o)&&(v=(await Promise.all(o.map(e=>U(e,n,h)))).filter(w))}else f?v=await Object.entries(f).reduce(async(t,[n,o])=>{const r=await t,s=await U(e,o,h);return w(s)&&(r[n]=s),r},Promise.resolve({})):d&&(v=await Promise.all(d.map(t=>z(e,t,h))));g&&!await R(g,e=>{if(e instanceof N)throw e;return h.logger.error("mapping validate failed",{event:h.event,error:e}),!1})(v,h)&&(v=void 0);const m=T(v);return w(m)?m:T(p)},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 U(e,o,{collector:n,event:e});e=_(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 i,a="",c=r,u=s;const l=t=>{if(t)return(y(t)?t:[t]).find(t=>{if(!t.condition)return!0;if(!n)return Boolean(t.condition(e,void 0));const o={event:e,mapping:t,collector:n,logger:n.logger,consent:k(e)&&e.consent||n.consent};return Boolean(t.condition(e,o))})};t[c]||(c="*");const f=t[c];return f&&(f[u]||(u="*"),i=l(f[u])),i||(c="*",u="*",i=l(null==(o=t[c])?void 0:o[u])),i&&(a=`${c} ${u}`),{eventMapping:i,mappingKey:a}}(e,t.mapping,n);(null==r?void 0:r.policy)&&await Promise.all(Object.entries(r.policy).map(async([t,o])=>{const r=await U(e,o,{collector:n,event:e});e=_(e,t,r)}));let i=t.data&&await U(e,t.data,{collector:n,event:e});const a=Boolean(null==r?void 0:r.silent);if(r){if(r.ignore)return{event:e,data:i,mapping:r,mappingKey:s,ignore:!0,silent:a};if(r.name&&(e.name=r.name),r.data){const t=r.data&&await U(e,r.data,{collector:n,event:e});i=k(i)&&k(t)?m(i,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(A):t;for(const t of o){const o=A[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&&(i=k(i)?m(t,i):null!=i?i:t)}return{event:e,data:i,mapping:r,mappingKey:s,ignore:!1,silent:a}}function H(e,t,n,o){return function(...r){let s;const i="pre"+t,a="post"+t,c=n[i],u=n[a],l=(e,t)=>{o?o.warn(e,{error:t}):console.warn(e,t)};if(c)try{s=c({fn:e},...r)}catch(t){l(`Hook ${String(i)} failed, falling back to original function`,t),s=e(...r)}else s=e(...r);if(u)try{s=u({fn:e,result:s},...r)}catch(e){l(`Hook ${String(a)} failed, keeping original result`,e)}return s}}function K(e){if(void 0===e||"*"===e)return()=>!0;if("and"in e){const t=e.and.map(K);return e=>t.every(t=>t(e))}if("or"in e){const t=e.or.map(K);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 F(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=G(e))?t:{type:"chain",value:[]}};const o=e;return{match:o.match?K(o.match):()=>!0,next:null!=(n=G(o))?n:{type:"chain",value:[]}}})}function G(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 G({one:e});if(e.every(e=>"string"==typeof e))return{type:"chain",value:e};const t=[];for(const n of e){const e=G(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:K(t.match),next:G(t.next)}:G(t.next);if("one"in t&&t.one){const e=F(t.one);return t.match?{type:"gate",match:K(t.match),next:{type:"one",routes:e}}:{type:"one",routes:e}}if("many"in t&&t.many){const e=F(t.many);return t.match?{type:"gate",match:K(t.match),next:{type:"many",routes:e}}:{type:"many",routes:e}}return t.match?{type:"gate",match:K(t.match)}:void 0}var W=new WeakMap;function V(e,t={}){if(null==e)return[];let n;if("object"==typeof e){const t=W.get(e);t?n=t:(n=G(e),n&&W.set(e,n))}else n=G(e);if(!n)return[];const o=J(n,t);return void 0===o?[]:Array.isArray(o)?o:[o]}function J(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 J(e.next,t)}if("sequence"===e.type){const n=[];for(const o of e.value){const e=J(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=J(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 J(n.next,t)}}function Y(e,t){const n={ingest:null!=e?e:{}};return void 0!==t&&(n.event=t),n}function Z(e){var t;return{stop:null!=(t=e.stop)&&t,storeId:e.store,namespace:e.namespace,rules:e.rules.map(e=>({match:e.match?K(e.match):()=>!0,key:e.key,ttl:e.ttl,update:e.update}))}}async function Q(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 i=s.join(":"),a=null!=o?o:e.namespace,c=a?`${a}:${i}`:i,u=await t.get(c);return void 0!==u?{status:"HIT",key:c,value:u,rule:r}:{status:"MISS",key:c,rule:r}}function X(e,t,n,o){e.set(t,n,1e3*o)}async function ee(e,t,n,o){if(!t)return e;let r=e;for(const[e,s]of Object.entries(t))r=_(r,e,await U(n,s,{collector:o}));return r}var te={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"]},ne=["config","env","validate","variables","examples","disabled","id","logger","mock","chainMocks"],oe={Source:["primary"],Transformer:[],Destination:[],Store:[]},re=/^[A-Za-z_$][A-Za-z0-9_$]*$/;function se(e,t){const n=(o=t,new Set([...te[o],...ne,...oe[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,i=void 0!==e.code;return i&&"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.`}:i&&("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."}:i&&r?{ok:!1,code:"CONFLICT",key:"package",reason:"Cannot specify both `code` and `package`. Use one or the other."}:i&&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&&re.test(e.import)?{ok:!0}:{ok:!1,code:"INVALID_IMPORT",key:"import",reason:`import must match ${re.source}. Got: ${JSON.stringify(e.import)}.`}}var ie=!1;function ae(e,t={},n){if(t.filter){if(!0===M(()=>t.filter(n),()=>!1)())return}const o=function(e){if(k(e)&&O(e.event)){const{event:t,...n}=e;return{name:t,...n}}if(y(e)&&e.length>=2)return ce(e);if(t=e,null!=t&&"object"==typeof t&&"length"in t&&"number"==typeof t.length&&t.length>0){return ce(Array.from(e))}var t;return null}(n);if(!o)return;const r=`${t.prefix||"dataLayer"} ${o.name}`,{name:s,...i}=o,a={name:r,data:i};M(()=>e(a),()=>{})()}function ce(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 ue={},le={};r(le,{push:()=>pe});var fe=()=>{},de=()=>()=>Promise.resolve({ok:!0}),ge={error:fe,warn:fe,info:fe,debug:fe,throw:e=>{throw"string"==typeof e?new Error(e):e},json:fe,scope:()=>ge},pe={get push(){return de()},get command(){return de()},get elb(){return de()},get window(){return{dataLayer:[],addEventListener:fe,removeEventListener:fe}},logger:ge},he={};r(he,{consentUpdate:()=>me,directEvent:()=>be,gtagAddToCart:()=>ye,gtagPurchase:()=>ve,gtagViewItem:()=>we});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}]}}]]},me={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"}}]]},ye={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}]}}]]},we={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}]}}]]},be={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"}}]]},ke={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 Oe(e,t){return e.storeId&&t.stores[e.storeId]?t.stores[e.storeId]:t.stores.__cache}function je(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 xe(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 _e(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 Ae(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:Ee(t.config.env)};r.debug("init");const i=await H(t.init,"TransformerInit",e.hooks,e.logger)(s);if(!1===i)return!1;t.config={...i||t.config,env:(null==i?void 0:i.env)||t.config.env,init:!0},r.debug("init done")}return!0}async function Se(e,t,n,o,r,s){const i=t.type||"unknown",a=e.logger.scope(`transformer:${i}`),c={collector:e,logger:a,id:n,ingest:r,config:t.config,env:{...Ee(t.config.env),...s?{respond:s}:{}}};a.debug("push",{event:o.name});const u=await H(t.push,"TransformerPush",e.hooks,e.logger)(o,c);return a.debug("push done"),u}function qe(e,t){return e?{...e,_meta:{...e._meta,path:[...e._meta.path]}}:h(t)}async function $e(e,t,n,o,r,s,i){var a,c,u,l,f,d,g,p;r||(r=h(null!=(a=n[0])?a:"chain")),i&&r._meta&&(r._meta.chainPath=i);let v=o,m=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:m};if(r&&r._meta&&(r._meta.hops++,r._meta.path.push(o)),!await R(Ae,t=>{if(t instanceof N)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:m};if(i&&void 0!==(null==(u=null==(c=s.config)?void 0:c.chainMocks)?void 0:u[i])){const t=s.config.chainMocks[i];e.logger.scope(`transformer:${s.type||"unknown"}`).debug("chainMock",{chain:i}),v=t;continue}if(void 0!==(null==(l=s.config)?void 0:l.mock)){e.logger.scope(`transformer:${s.type||"unknown"}`).debug("mock"),v=s.config.mock;continue}if(null==(f=s.config)?void 0:f.disabled)continue;const a=null==(d=s.config)?void 0:d.cache,h=a?Z(a):void 0,y=h?Oe(h,e):void 0;let w;if(h&&y){const e=Y(r,v),t=await Q(h,y,e);if("HIT"===(null==t?void 0:t.status)&&t.value){if(v=t.value,h.stop)return{event:v,respond:m,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=V(b,Y(r,v));if(1===n.length){const o=_e(n[0],je(t));if(o.length>0){const n=await $e(e,t,o,v,r,m,i);if(null===n.event)return{event:null,respond:null!=(g=n.respond)?g:m};if(n.stopped)return{event:Array.isArray(n.event)?n.event[0]:n.event,respond:null!=(p=n.respond)?p:m,stopped:!0};n.respond&&(m=n.respond),v=Array.isArray(n.event)?n.event[0]:n.event}}else n.length>1&&await Promise.all(n.map(n=>R($e,t=>(e.logger.scope("transformer:many").error(`many branch ${n} failed`,{error:t}),{event:null,respond:void 0}))(e,t,_e(n,je(t)),v,qe(r,n),void 0,i)))}const k=await R(Se,t=>(e.logger.scope(`transformer:${s.type||"unknown"}`).error("Push failed",{error:t}),!1))(e,s,o,v,r,m);if(!1===k)return{event:null,respond:m};if(Array.isArray(k)){const s=n.slice(n.indexOf(o)+1),a=await Promise.all(k.map(async n=>{const o=n.event||v,a=qe(r,"unknown");if(n.next){const r=V(n.next,Y(a,o));if(0===r.length)return{event:o,respond:m};if(1===r.length){const n=_e(r[0],je(t));return n.length>0?$e(e,t,n,o,a,m,i):{event:o,respond:m}}return(await Promise.all(r.map(n=>R($e,t=>(e.logger.scope("transformer:many").error(`many branch ${n} failed`,{error:t}),{event:null,respond:void 0}))(e,t,_e(n,je(t)),o,qe(a,n),void 0,i)))).map(e=>({event:e.event,respond:void 0}))}return s.length>0?$e(e,t,s,o,a,m,i):{event:o,respond:m}}));let c=m;const u=[];for(const e of a.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&&(m=o),void 0!==s){const o=V(s,Y(r,v));if(0===o.length){n&&(v=n);continue}if(1===o.length){const a=_e(o[0],je(t));return a.length>0?$e(e,t,a,n||v,r,m,i):(e.logger.warn(`Branch target not found: ${JSON.stringify(s)}`),{event:null,respond:m})}return await Promise.all(o.map(o=>R($e,t=>(e.logger.scope("transformer:many").error(`many branch ${o} failed`,{error:t}),{event:null,respond:void 0}))(e,t,_e(o,je(t)),n||v,qe(r,o),void 0,i))),{event:null,respond:void 0}}n&&(v=n)}w&&y&&X(y,w.key,v,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=V(s.config.next,Y(r,v));if(1===n.length){const o=_e(n[0],je(t));return o.length>0?$e(e,t,o,v,r,m,i):{event:v,respond:m}}return n.length>1?(await Promise.all(n.map(n=>R($e,t=>(e.logger.scope("transformer:many").error(`many branch ${n} failed`,{error:t}),{event:null,respond:void 0}))(e,t,_e(n,je(t)),v,qe(r,n),void 0,i))),{event:null,respond:void 0}):{event:v,respond:m}}}return{event:v,respond:m}}function Ee(e){return e&&k(e)?e:{}}function Pe(e){return"string"==typeof e||!(!Array.isArray(e)||!e.every(e=>"string"==typeof e))}async function Ce(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 i=n||(null==(r=t.config)?void 0:r.id)||"unknown";for(const{type:n,data:o}of s)await R(t.on,t=>{if(t instanceof N)throw t;e.status.failed++,e.logger.scope("source").error("source on flush failed",{sourceId:i,type:n,error:t})})(n,o)}function Ie(e){var t;return Boolean(e.config.init)&&!(null==(t=e.config.require)?void 0:t.length)}async function De(e,t,n){var o;const{code:r,config:s={},env:i={},primary:a,next:c,before:u,cache:l}=n,f=l,d=f?Z({...f,stop:null==(o=f.stop)||o}):void 0,g=Pe(c)?_e(c,je(e.transformers)):void 0,p=Pe(u)?_e(u,je(e.transformers)):void 0,v=i.push,m=null!=v?v:e.push,y=Boolean(v),w=async(n,o,r)=>{var i;let a;const l=null!=p?p:void 0!==u?(()=>{const t=V(u,Y(r.ingest));return 0===t.length?[]:_e(1===t.length?t[0]:t,je(e.transformers))})():[];let f=[n];if(l.length>0&&e.transformers&&Object.keys(e.transformers).length>0){const o=await $e(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),f=Array.isArray(o.event)?o.event:[o.event]}if(d){const t=Oe(d,e);if(t){const n=Y(r.ingest),o=await Q(d,t,n);if(o){if("HIT"===o.status&&void 0!==o.value&&d.stop){let t=o.value;return o.rule.update&&(t=await ee(t,o.rule.update,{...n,cache:{status:"HIT"}},e)),null==(i=r.respond)||i.call(r,t),{ok:!0}}if("MISS"===o.status&&d.stop&&r.respond){const s=r.respond,i=o.rule.update,c={...n,cache:{status:"MISS"}},u=o.key,l=o.rule.ttl,f=n=>{X(t,u,n,l),i?a=(async()=>{const t=await ee(n,i,c,e);s(t)})():s(n)};r.respond=f}"MISS"!==o.status||d.stop||X(t,o.key,!0,o.rule.ttl)}}}const h=g?{kind:"single",preChain:g}:void 0!==c?(()=>{const t=V(c,Y(r.ingest));return 0===t.length?{kind:"single",preChain:[]}:1===t.length?{kind:"single",preChain:_e(t[0],je(e.transformers))}:{kind:"many",branches:t.map(t=>_e(t,je(e.transformers)))}})():{kind:"single",preChain:[]};let v={ok:!0};for(const n of f)"many"===h.kind?(await Promise.all(h.branches.map((i,a)=>R(async()=>y?m(n):m(n,{...o,id:t,ingest:qe(r.ingest,`${t}.${a}`),respond:void 0,mapping:s,preChain:i}),t=>(e.logger.scope("source:many").error(`many branch ${a} failed`,{error:t}),{ok:!0}))())),v={ok:!0}):v=y?await m(n):await m(n,{...o,id:t,ingest:r.ingest,respond:r.respond,mapping:s,preChain:h.preChain});return a&&await a,v},b=async n=>{const o=h(t);if(!s.ingest||void 0===n)return o;const r=await U(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,...i,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 R(r,n=>{if(n instanceof N)throw n;e.status.failed++,e.logger.scope("source").error("source factory failed",{sourceId:t,error:n})})(j);if(!x)return;const _=x.type||"unknown",A=e.logger.scope(_).scope(t);return O.logger=A,a&&(x.config={...x.config,primary:a}),x}function Le(e,t,n,o){if(n instanceof N)throw n;e.logger.scope("on").error("on callback failed",{kind:t,...o,error:n})}function Te(e,t){return{collector:e,logger:e.logger.scope("on").scope(String(t))}}function Me(e,t,n,o,r){if(!t.on)return;const s=t.type||"unknown",i=e.logger.scope(s).scope("on").scope(o),a={collector:e,logger:i,id:n,config:t.config,data:r,env:et(t.env,t.config.env)};M(t.on,t=>Le(e,"destination",t,{destId:n,type:o}))(o,a)}function Re(e,t,n,o){let r;switch(t){case ke.Consent:r=o||e.consent;break;case ke.Session:r=e.session;break;case ke.User:r=o||e.user;break;case ke.Custom:r=o||e.custom;break;case ke.Globals:r=o||e.globals;break;case ke.Config:r=o||e.config;break;case ke.Ready:case ke.Run:default:r=void 0}if(n.length)switch(t){case ke.Consent:!function(e,t,n){const o=n||e.consent,r=Te(e,ke.Consent);t.forEach(t=>{Object.keys(o).filter(e=>e in t).forEach(n=>{M(t[n],t=>Le(e,"consent",t,{key:n}))(o,r)})})}(e,n,o);break;case ke.Ready:!function(e,t){if(!e.allowed)return;const n=Te(e,ke.Ready);t.forEach(t=>{M(t,t=>Le(e,"ready",t))(void 0,n)})}(e,n);break;case ke.Run:!function(e,t){if(!e.allowed)return;const n=Te(e,ke.Run);t.forEach(t=>{M(t,t=>Le(e,"run",t))(void 0,n)})}(e,n);break;case ke.Session:!function(e,t){if(!e.session)return;const n=Te(e,ke.Session);t.forEach(t=>{M(t,t=>Le(e,"session",t))(e.session,n)})}(e,n);break;default:{const o=Te(e,t);n.forEach(n=>{"function"==typeof n&&M(n,n=>Le(e,"generic",n,{type:t}))(r,o)});break}}}function Ne(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 Ue=new WeakMap;function ze(e,t,n,o){Ue.get(e)||(Ue.set(e,!0),t.warn(n,o))}function Be(e){Ue.delete(e)}var He=Object.freeze({batched:!0});function Ke(e){return e===He}function Fe(e){return void 0===e?{}:"number"==typeof e?{wait:e}:{wait:e.wait,size:e.size,age:e.age}}function Ge(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 We(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 Ve(e,t,n){if(!e)return[];if(Array.isArray(e)&&e.every(e=>"string"==typeof e))return _e(e,t);if("string"==typeof e)return _e(e,t);const o=V(e,Y(n));return 0===o.length?[]:1===o.length?_e(o[0],t):_e(o,t)}async function Je(e,t,n={},o){var r,s,i,a,u,l;const{allowed:f,consent:d,globals:g,user:p}=e;if(!f)return Qe({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=Ne(e.queue,t,{max:n});if(o.dropped>0){const t=We(e.status,c("collector"),"queue",o.dropped);ze(e.queue,e.logger,"collector.queue overflow; oldest events dropped",{buffer:"queue",cap:n,droppedCount:t})}else e.queue.length<n&&Be(e.queue);e.status.in++}o||(o=e.destinations);const v=e.transformers?je(e.transformers):{},y=await Promise.all(Object.entries(o||{}).map(async([o,r])=>{var s,i,a,u;if(r.config.disabled)return{id:o,destination:r,skipped:!0};let l=(r.queuePush||[]).map(e=>({...e,consent:d}));r.queuePush=[],t&&l.push(j(t));const f=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==(i=r.queueOn)?void 0:i.length)){let t=!1;try{t=await Ye(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 y=[],w=l.filter(e=>{const t=S(r.config.consent,d,e.consent);return!t||(e.consent=t,y.push(e),!1)});if(w.length>0){const t=r.queuePush,n=r.config.id||o,s={max:null!=(a=r.config.queueMax)?a:1e3};let i=0;for(const e of w)i+=Ne(t,e,s).dropped;if(i>0){Ge(e,n);const o=We(e.status,c("destination",n),"queue",i);ze(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&&Be(t)}if(!y.length)return{id:o,destination:r,queue:l};let b,k,O=!1;try{O=await Ye(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=Ve(r.config.before,v,f),_=r.config.next,A=null==(u=r.config)?void 0:u.cache,q=A?Z(A):void 0,$=q?Oe(q,e):void 0;let E=0,P=0;return await Promise.all(y.map(async t=>{let s;if(t.globals=m(g,t.globals),t.user=m(p,t.user),(null==q?void 0:q.stop)&&$){const e=Y(f,t),n=await Q(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 i=t,a=n.respond;if(x.length>0&&e.transformers&&Object.keys(e.transformers).length>0){const r=await $e(e,e.transformers,x,t,f,n.respond,`destination.${o}.before`);if(null===r.event)return t;r.respond&&(a=r.respond),i=Array.isArray(r.event)?r.event[0]:r.event}if(q&&!q.stop&&$){const e=Y(f,i),n=await Q(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 d=await R(Ze,t=>{var n;const s=r.type||"unknown";e.logger.scope(s).error("Push failed",{error:t,event:i.name}),b=t,l=!0;const a=r.dlq,u=r.config.id||o,f={max:null!=(n=r.config.dlqMax)?n:100},d=Ne(a,[i,t],f);if(d.dropped>0){Ge(e,u);const t=We(e.status,c("destination",u),"dlq",d.dropped);ze(a,e.logger.scope(r.type||"unknown"),"destination.dlq overflow; oldest entries dropped",{buffer:"dlq",destination:u,cap:f.max,droppedCount:t})}else a.length<f.max&&Be(a)})(e,r,o,i,f,a);if(E+=Date.now()-u,s&&$&&void 0===r.config.mock&&X($,s.key,null==d||d,s.ttl),void 0===d||Ke(d)||(k=d),Ke(d)&&P++,!l&&_){void 0!==d&&(f._response=d);const t=Ve(_,v,f);if(t.length>0&&e.transformers&&Object.keys(e.transformers).length>0){const n=await $e(e,e.transformers,t,i,f,a,`destination.${o}.next`);n.respond&&(a=n.respond)}}return t})),{id:o,destination:r,error:b,response:k,totalDuration:E,batchedCount:P,allowedCount:y.length}})),w={},b={},k={};for(const t of y){if(t.skipped)continue;const n=t.destination,o={type:n.type||"unknown",data:t.response};Ge(e,t.id);const c=e.status.destinations[t.id],f=Date.now();if(c.queuePushSize=null!=(s=null==(r=n.queuePush)?void 0:r.length)?s:0,c.dlqSize=null!=(a=null==(i=n.dlq)?void 0:i.length)?a:0,t.error)o.error=t.error,k[t.id]=o,c.failed++,c.lastAt=f,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=f,c.duration+=t.totalDuration||0,e.status.out++)}}return Qe({event:t,...Object.keys(w).length&&{done:w},...Object.keys(b).length&&{queued:b},...Object.keys(k).length&&{failed:k}})}async function Ye(e,t,n){var o;if(t.init&&!t.config.init){const r=t.type||"unknown",s=e.logger.scope(r),i={collector:e,logger:s,id:n,config:t.config,env:et(t.env,t.config.env)};s.debug("init");const a=await H(t.init,"DestinationInit",e.hooks,e.logger)(i);if(!1===a)return a;if(t.config={...a||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)Me(e,t,n,r,s)}s.debug("init done")}return!0}async function Ze(e,t,n,o,r,s){var i,a,u,l,f,d,g;const{config:p}=t,h=await B(o,p,e);if(h.ignore)return!1;const v=t.type||"unknown",m=e.logger.scope(v),y={collector:e,logger:m,id:n,config:p,data:h.data,rule:h.mapping,ingest:r,env:{...et(t.env,p.env),...s?{respond:s}:{}}};if(void 0!==p.mock)return m.debug("mock",{event:h.event.name}),p.mock;const b=h.mapping,k=h.mappingKey||"* *";if((null==b?void 0:b.batch)&&t.pushBatch&&void 0===p.mock){if(t.batches=t.batches||{},!t.batches[k]){const o={key:k,entries:[],events:[],data:[]},r=Fe(b.batch),s=Fe(p.batch),g=null!=(a=null!=(i=r.wait)?i:s.wait)?a:3e4,h=null!=(l=null!=(u=r.size)?u:s.size)?l:1e3,v=null!=(d=null!=(f=r.age)?f:s.age)?d:3e4,y=et(t.env,p.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 i,a,c=null,u=null,l=!1,f=[],d=0;const g=()=>{c&&(clearTimeout(c),c=null),u&&(clearTimeout(u),u=null),d=0,a=void 0},p=()=>{const t=a,n=f;if(g(),f=[],t)return i=e(...t),n.forEach(e=>e(i)),i;n.forEach(e=>e(void 0))},h=(...t)=>new Promise(g=>{const h=n&&!l;if(a=t,d+=1,f.push(g),c&&clearTimeout(c),c=setTimeout(()=>{c=null,n&&!l||p()},o),void 0===s||u||(u=setTimeout(()=>{u=null,p()},s)),void 0!==r&&d>=r)p();else if(h){l=!0,i=e(...t);const n=f;f=[],n.forEach(e=>e(i))}});return h.flush=()=>a||0!==f.length?new Promise(e=>{f.push(e),p()}):Promise.resolve(void 0),h.cancel=()=>{const e=f;f=[],g(),e.forEach(e=>e(void 0))},h.size=()=>d,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 i=s.entries[0],a={collector:e,logger:m,id:n,config:p,data:void 0,rule:i.rule,ingest:i.ingest,env:{...y,...i.respond?{respond:i.respond}:{}}};m.debug("push batch",{events:s.entries.length});const u=t.config.id||n,l=Ge(e,u);let f=!0;await R(H(t.pushBatch,"DestinationPushBatch",e.hooks,e.logger),n=>{var o;f=!1;const r=t.dlq=t.dlq||[],i={max:null!=(o=t.config.dlqMax)?o:100};let a=0;for(const e of s.entries)a+=Ne(r,[e.event,n],i).dropped;if(a>0){const t=We(e.status,c("destination",u),"dlq",a);ze(r,m,"destination.dlq overflow; oldest entries dropped",{buffer:"dlq",destination:u,cap:i.max,droppedCount:t})}else r.length<i.max&&Be(r);l.failed+=s.entries.length,l.dlqSize=r.length,e.status.failed+=s.entries.length,m.error("Push batch failed",{error:n instanceof Error?n.message:String(n),entries:s.entries.length})})(s,a),m.debug("push batch done"),l.inFlightBatch=Math.max(0,(null!=(o=l.inFlightBatch)?o:0)-s.entries.length),f&&(l.count+=s.entries.length,l.lastAt=Date.now(),e.status.out+=s.entries.length)},{wait:g,size:h,age:v});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 v=t.config.id||n,y=Ge(e,v);return y.inFlightBatch=(null!=(g=y.inFlightBatch)?g:0)+1,o.batchFn(),He}{m.debug("push",{event:h.event.name});const n=await H(t.push,"DestinationPush",e.hooks,e.logger)(h.event,y);return m.debug("push done"),n}}function Qe(e){return{ok:!(null==e?void 0:e.failed),...e}}function Xe(e){const{code:t,config:n={},env:o={},cache:r}=e,{config:s}=xe(e,"before"),{config:i}=xe({...e,config:s},"next"),a={...t.config,...n,...i};r&&(a.cache=r);const c=et(t.env,o);return{...t,config:a,env:c}}function et(e,t){return e||t?t?e&&k(e)&&k(t)?{...e,...t}:t:e:{}}async function tt(e,t,n){const o=Object.entries(e).map(async([e,o])=>{var r;const s=o.destroy;if(!s)return;const i=o.type||"unknown",a=n.scope(i),c={id:e,config:o.config,env:null!=(r=o.env)?r:{},logger:a};try{await Promise.race([s(c),new Promise((n,o)=>setTimeout(()=>o(new Error(`${t} '${e}' destroy timed out`)),5e3))])}catch(n){a.error(`${t} '${e}' destroy failed: ${n}`)}});await Promise.allSettled(o)}async function nt(e,t,n){let o,r,s=!1;switch(t){case ke.Config:k(n)&&(m(e.config,n,{shallow:!1}),r=n,s=!0);break;case ke.Consent:if(k(n)){const{update:t}=function(e,t){const n={};return Object.entries(t).forEach(([e,t])=>{n[e]=!!t}),e.consent=m(e.consent,n),{update:n}}(e,n);r=t,s=!0}break;case ke.Custom:k(n)&&(e.custom=m(e.custom,n),r=n,s=!0);break;case ke.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:i,cache:a}=t;if(!b(n.push))return Qe({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};i&&(u={...u,next:i}),a&&(u={...u,cache:a});const l={...n,config:u,env:et(n.env,r)};let f=l.config.id;if(!f)do{f=$(5,"abcdefghijklmnopqrstuvwxyz")}while(e.destinations[f]);return e.destinations[f]=l,!1!==l.config.queue&&(l.queuePush=[...e.queue]),Je(e,void 0,{},{[f]:l})}(e,n));break;case ke.Globals:k(n)&&(e.globals=m(e.globals,n),r=n,s=!0);break;case ke.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 ke.On:if(k(n)&&O(n.type)){const{type:t,rules:o}=n;await async function(e,t,n){const o=e.on,r=o[t]||[],s=y(n)?n:[n];s.forEach(e=>{r.push(e)}),o[t]=r,Re(e,t,s)}(e,t,o)}break;case ke.Ready:s=!0;break;case ke.Run:o=await async function(e,t){return e.allowed=!0,e.timing=Date.now(),t&&(t.consent&&(e.consent=m(e.consent,t.consent)),t.user&&(e.user=m(e.user,t.user)),t.globals&&(e.globals=m(e.config.globalsStatic||{},t.globals)),t.custom&&(e.custom=m(e.custom,t.custom))),Object.values(e.destinations).forEach(e=>{e.queuePush=[]}),e.queue=[],e.round++,await Je(e)}(e,n),s=!0;break;case ke.Session:s=!0;break;case ke.Shutdown:await async function(e){const t=e.logger;await tt(e.sources,"source",t),await tt(e.destinations,"destination",t),await tt(e.transformers,"transformer",t),await tt(e.stores,"store",t)}(e);break;case ke.User:k(n)&&(m(e.user,n,{shallow:!1}),r=n,s=!0)}return s&&(await async function(e,t,n,o){var r,s;let i,a=n||[];switch(n||(a=e.on[t]||[]),t){case ke.Consent:i=o||e.consent;break;case ke.Session:i=e.session;break;case ke.User:i=o||e.user;break;case ke.Custom:i=o||e.custom;break;case ke.Globals:i=o||e.globals;break;case ke.Config:i=o||e.config;break;case ke.Ready:case ke.Run:default:i=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&&(Ie(o)?!1===await R(o.on,o=>Le(e,"source",o,{sourceId:n,type:t}))(t,i)&&(c=!0):(o.queueOn=o.queueOn||[],o.queueOn.push({type:t,data:i})))}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:i});Me(e,o,n,t,i)}});for(const[t,n]of Object.entries(e.sources))Ie(n)&&(null==(s=n.queueOn)?void 0:s.length)&&await Ce(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 i=s.indexOf(t);if(-1===i)continue;if(s.splice(i,1),s.length>0)continue;delete e.pending.destinations[o];const a=Xe(r);!1!==a.config.queue&&(a.queuePush=[...e.queue]),e.destinations[o]=a}}(e,t),Re(e,t,a,o),!c}(e,t,void 0,r),o=await Je(e)),o||Qe({ok:!0})}function ot(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:i={},context:a={},globals:c=e.globals,custom:u={},user:l=e.user,nested:f=[],consent:d=e.consent,id:g=q(),trigger:p="",entity:h=n,action:v=o,timing:m=0,source:y={type:"collector",schema:"4"}}=t;return{name:s,data:i,context:a,globals:c,custom:u,user:l,nested:f,consent:d,id:g,trigger:p,entity:h,action:v,timestamp:r,timing:m,source:y}}function rt(e={}){var t,n,o;const r=null!=(t=e.maxEntries)?t:1e4,s=null!=(n=e.lowWaterMark)?n:.8,i=null!=(o=e.sweepIntervalMs)?o:6e4,a=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 i>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},i),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-a;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 st(e,t){const{cacheConfig:n,cacheStore:o,namespace:r,logger:s,storeId:i}=t,a={hits:0,misses:0,populates:0,writes:0,deletes:0,inflight_dedups:0},c=n.rules.map(e=>({match:e.match?K(e.match):()=>!0,ttl:e.ttl})),u=e=>`${r}:${e}`;function l(e,t){const n=void 0===t?{key:e}:{key:e,value:t};return c.find(e=>e.match(n))}const f=new Map;return{type:e.type,config:e.config,setup:e.setup,get counters(){return{...a}},async get(t){const n=u(t),r=await o.get(n);if(void 0!==r)return a.hits++,r;const s=f.get(n);if(s)return a.inflight_dedups++,s;a.misses++;const i=(async()=>{try{const r=await e.get(t);if(void 0===r)return;const s=l(t,r);if(s)try{await o.set(n,r,1e3*s.ttl),a.populates++}catch(e){d("set",t,e)}return r}finally{f.delete(n)}})();return f.set(n,i),i},async set(t,n,r){a.writes++,await e.set(t,n,r);const s=l(t,n);if(s)try{await o.set(u(t),n,1e3*s.ttl)}catch(e){d("set",t,e)}},async delete(t){a.deletes++,await e.delete(t);try{await o.delete(u(t))}catch(e){d("delete",t,e)}}};function d(e,t,n){const o=`store-cache(${i}): cache ${e} failed for "${t}"; backing succeeded, continuing`;s?s.warn(o,{error:n}):console.warn(o,n)}}function it(e,t){const n=t.get,o=t.set,r=t.delete;t.get=H(n,"StoreGet",e.hooks,e.logger),t.set=H(o,"StoreSet",e.hooks,e.logger),t.delete=H(r,"StoreDelete",e.hooks,e.logger)}async function at(e){var t,n;const o=m({globalsStatic:{},sessionStatic:{},run:!0,queueMax:1e3},e,{merge:!1,extend:!1}),r=I({level:null==(t=e.logger)?void 0:t.level,handler:null==(n=e.logger)?void 0:n.handler}),s={...o.globalsStatic,...e.globals},i={allowed:!1,config:o,consent:e.consent||{},custom:e.custom||{},destinations:{},transformers:{},stores:{},globals:s,hooks:e.hooks||{},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 a,c;i.push=function(e,t){return H(async(n,o={})=>await R(async()=>{var r;const s=Date.now(),{id:i,ingest:a,respond:c,mapping:u,preChain:l,include:f,exclude:d}=o;let g=c,p=n;const v=f||d?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,f,d):void 0,m=null!=a?a:h(i||"unknown");if(u){const t=await B(p,u,e);if(t.ignore)return Qe({ok:!0});if(u.consent&&!S(u.consent,e.consent,t.event.consent))return Qe({ok:!0});p=t.event}if((null==l?void 0:l.length)&&e.transformers&&Object.keys(e.transformers).length>0){const n=await $e(e,e.transformers,l,p,m,g,i?`source.${i}.next`:void 0);if(null===n.event)return Qe({ok:!0});if(n.stopped)return n.respond&&(g=n.respond),Qe({ok:!0});if(n.respond&&(g=n.respond),Array.isArray(n.event)){const o=await Promise.all(n.event.map(async n=>{const o=t(n),r=ot(e,o);return Je(e,r,{id:i,ingest:m,respond:g},v)}));if(i){e.status.sources[i]||(e.status.sources[i]={count:0,duration:0});const t=e.status.sources[i];t.count+=n.event.length,t.lastAt=Date.now(),t.duration+=Date.now()-s}return null!=(r=o[0])?r:Qe({ok:!0})}p=n.event}const y=t(p),w=ot(e,y),b=await Je(e,w,{id:i,ingest:m,respond:g},v);if(i){e.status.sources[i]||(e.status.sources[i]={count:0,duration:0});const t=e.status.sources[i];t.count++,t.lastAt=Date.now(),t.duration+=Date.now()-s}return b},t=>{if(t instanceof N)throw t;return e.status.failed++,e.logger.error("push failed",{event:n,ingest:o.ingest,error:t}),Qe({ok:!1})})(),"Push",e.hooks,e.logger)}(i,e=>({timing:Math.round((Date.now()-i.timing)/10)/100,source:{type:"collector",schema:"4",version:"4.1.0"},...e})),i.command=(c=nt,H(async(e,t,n)=>await R(async()=>await c(a,e,t,n),n=>{if(n instanceof N)throw n;return a.status.failed++,a.logger.error("command failed",{command:e,data:t,error:n}),Qe({ok:!1})})(),"Command",(a=i).hooks,a.logger));const u=e.stores||{};return i.stores=await async function(e,t={}){var n;const o={};for(const[n,r]of Object.entries(t)){const{code:t,config:s={},env:i={}}=r,a=e.logger.scope("store").scope(n),c={collector:e,logger:a,id:n,config:s,env:i},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 i;const a=t[s];if("BLACK"===a)return;if("GRAY"===a){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==(i=e[s].cache)?void 0:i.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 i,a;void 0!==s.store?(i=o[s.store],a=s.store):(o.__cache||(o.__cache=rt()),i=o.__cache,a="__cache");const c=null!=(n=s.namespace)?n:t;e.logger.scope("store-cache").scope(t).info(`store "${t}" caches with namespace "${c}:" via ${a}`),o[t]=st(o[t],{storeId:t,cacheConfig:s,cacheStore:i,namespace:c,logger:e.logger.scope("store-cache").scope(t)})}for(const[t,n]of Object.entries(o))"__cache"!==t&&it(e,n);return o}(i,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,i.stores,e),i.stores.__cache||(i.stores.__cache=rt()),i.destinations=await async function(e,t={}){var n,o;const r={};for(const[s,i]of Object.entries(t))(null==(o=null==(n=i.config)?void 0:n.require)?void 0:o.length)?e.pending.destinations[s]=i:r[s]=Xe(i);return r}(i,e.destinations||{}),i.transformers=await async function(e,t={}){var n,o,r,s;const i={};for(const[a,c]of Object.entries(t)){const{code:t,env:u={}}=c,l=se(c,"Transformer");if(!l.ok){e.logger.warn(`Transformer ${a} invalid (${l.code}): ${l.reason}. Skipping.`);continue}const{config:f}=xe(c,"before"),{config:d}=xe({...c,config:f},"next"),g=Object.keys(u).length>0?{...d,env:u}:d,{cache:p}=c,v=p?{...g,cache:p}:g,m=e.logger.scope("transformer").scope(a),y={collector:e,logger:m,id:a,ingest:h(a),config:v,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 ${a}: \`${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(y);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}),i[a]=b}return i}(i,e.transformers||{}),i}async function ct(e){e=e||{};const t=await at(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 i;if("string"==typeof e)i={name:e},t&&"object"==typeof t&&!Array.isArray(t)&&(i.data=t);else{if(!e||"object"!=typeof e)return Qe({ok:!1});i=e,t&&"object"==typeof t&&!Array.isArray(t)&&(i.data={...i.data||{},...t})}return n&&"object"==typeof n&&(i.context=n),r&&Array.isArray(r)&&(i.nested=r),s&&"object"==typeof s&&(i.custom=s),o.push(i)}});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 De(e,r,s);if(!t)continue;const i=null==(n=s.config)?void 0:n.require;t.config={...t.config,init:!1,...i?{require:[...i]}:{}},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 R(n.init.bind(n),n=>{if(n instanceof N)throw n;o=!0,e.status.failed++,e.logger.scope("source").error("source init failed",{sourceId:t,error:n})})(),o||(n.config.init=!0,Ie(n)&&await Ce(e,n,t))}return o}(t,e.sources||{});const{consent:r,user:s,globals:i,custom:a}=e;r&&await t.command("consent",r),s&&await t.command("user",s),i&&Object.assign(t.globals,i),a&&Object.assign(t.custom,a),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 ut,lt=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 ct({...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)}}},ft=(e,t)=>{const n=t.window;n.dataLayer||(n.dataLayer=[]),n.dataLayer.push(e)},dt=async e=>{const{config:t,env:n}=e,{elb:o,window:r}=n,s={name:"dataLayer",prefix:"dataLayer",...null==t?void 0:t.settings},i={settings:s};let a=0;return{type:"dataLayer",config:i,push:o,on:async e=>{if("run"===e&&r&&a>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)&&!ie){ie=!0;try{const t=null!=n?n:s.length;for(let n=0;n<t;n++)ae(e,r,s[n])}finally{ie=!1}}}(o,i,a,r),a=0}},init:()=>{if(!r)return;const e=s.name||"dataLayer",t=r[e];a=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 i=s.push.bind(s);s.push=function(...t){if(ie)return i(...t);ie=!0;try{for(const n of t)ae(e,o,n)}finally{ie=!1}return i(...t)}}(o,i,r)},destroy:async()=>{const e=s.name||"dataLayer";r&&r[e]&&Array.isArray(r[e])}}},gt=dt;return ut=s,((r,s,i,a)=>{if(s&&"object"==typeof s||"function"==typeof s)for(let c of n(s))o.call(r,c)||c===i||e(r,c,{get:()=>s[c],enumerable:!(a=t(s,c))||a.enumerable});return r})(e({},"__esModule",{value:!0}),ut)})();
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,i){try{var s=e[a](i),c=s.value}catch(e){return void n(e)}s.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 i(e){asyncGeneratorStep(a,r,o,i,s,"next",e)}function s(e){asyncGeneratorStep(a,r,o,i,s,"throw",e)}i(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=[],i=!0,s=!1;try{for(n=n.call(e);!(i=(r=n.next()).done)&&(a.push(r.value),!t||a.length!==t);i=!0);}catch(e){s=!0,o=e}finally{try{i||null==n.return||n.return()}finally{if(s)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:[]},i=Object.create(("function"==typeof Iterator?Iterator:Object).prototype),s=Object.defineProperty;return s(i,"next",{value:c(0)}),s(i,"throw",{value:c(1)}),s(i,"return",{value:c(2)}),"function"==typeof Symbol&&s(i,Symbol.iterator,{value:function(){return this}}),i;function c(s){return function(c){return function(s){if(n)throw new TypeError("Generator is already executing.");for(;i&&(i=0,s[0]&&(a=0)),a;)try{if(n=1,r&&(o=2&s[0]?r.return:s[0]?r.throw||((o=r.return)&&o.call(r),0):r.next)&&!(o=o.call(r,s[1])).done)return o;switch(r=0,o&&(s=[2&s[0],o.value]),s[0]){case 0:case 1:o=s;break;case 4:return a.label++,{value:s[1],done:!1};case 5:a.label++,r=s[1],s=[0];continue;case 7:s=a.ops.pop(),a.trys.pop();continue;default:if(!(o=a.trys,(o=o.length>0&&o[o.length-1])||6!==s[0]&&2!==s[0])){a=0;continue}if(3===s[0]&&(!o||s[1]>o[0]&&s[1]<o[3])){a.label=s[1];break}if(6===s[0]&&a.label<o[1]){a.label=o[1],o=s;break}if(o&&a.label<o[2]){a.label=o[2],a.ops.push(s);break}o[2]&&a.ops.pop(),a.trys.pop();continue}s=t.call(e,a)}catch(e){s=[6,e],r=0}finally{n=o=0}if(5&s[0])throw s[1];return{value:s[0]?s[1]:void 0,done:!0}}([s,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]}}},i=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({},Re,n);var r=Object.entries(t).reduce(function(t,r){var o=_sliced_to_array(r,2),a=o[0],i=o[1],s=e[a];return n.merge&&Array.isArray(s)&&Array.isArray(i)?t[a]=i.reduce(function(e,t){return e.includes(t)?e:_to_consumable_array(e).concat([t])},_to_consumable_array(s)):(n.extend||a in e)&&(t[a]=i),t},{});return n.shallow?_object_spread({},e,r):(Object.assign(e,r),e)},s=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&&!s(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=Ne(e),o=t.split("."),a=r,i=0;i<o.length;i++){var s=o[i];i===o.length-1?a[s]=n:(s in a&&"object"==_type_of(a[s])&&null!==a[s]||(a[s]={}),a=a[s])}return r},_=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},p=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},v=function(e){return{message:e.message,name:e.name,stack:e.stack,cause:e.cause}},g=function(e,t){var n,r={};return _instanceof(e,Error)?(n=e.message,r.error=v(e)):n=e,void 0!==t&&(_instanceof(t,Error)?r.error=v(t):"object"==(void 0===t?"undefined":_type_of(t))&&null!==t?"error"in(r=_object_spread({},r,t))&&_instanceof(r.error,Error)&&(r.error=v(r.error)):r.value=t),{message:n,context:r}},y=function(){var e,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return Ke({level:void 0!==t.level?(e=t.level,"string"==typeof e?Me[e]:e):0,handler:t.handler,jsonHandler:t.jsonHandler,scope:[]})},h=function(e){return Ge(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()}}},m=function(e,t,n){return function(){for(var r=arguments.length,o=new Array(r),a=0;a<r;a++)o[a]=arguments[a];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]}})})()}},w=function(e,t,n){return _async_to_generator(function(){var r,o,a,i,c,u,f,d,_,p;return _ts_generator(this,function(v){return o=_sliced_to_array((e.name||"").split(" "),2),a=o[0],i=o[1],t&&a&&i?(u="",d=i,_=function(t){if(t)return(s(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,((p=t[f])&&(p[d]||(d="*"),c=_(p[d])),c||(f="*",d="*",c=_(null===(r=t[f])||void 0===r?void 0:r[d])),c&&(u="".concat(f," ").concat(d)),{eventMapping:c,mappingKey:u})]):[2,{}]})})()},j=function(e){return _async_to_generator(function(e){var t,n,r,o,a,i,u,f,d,_,p,v,g,y,h,b,w=arguments;return _ts_generator(this,function(j){switch(j.label){case 0:if(t=w.length>1&&void 0!==w[1]?w[1]:{},n=w.length>2&&void 0!==w[2]?w[2]:{},!c(e))return[2];if(a=l(e)&&e.consent||n.consent||(null===(o=n.collector)||void 0===o?void 0:o.consent),i=null!==(r=n.event)&&void 0!==r?r:l(e)?e:{},!n.collector)throw new Error("getMappingValue: context.collector is required");u={event:i,mapping:t,collector:n.collector,logger:n.collector.logger,consent:a},f=s(t)?t:[t],d=!0,_=!1,p=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,m(Fe,function(e){if(_instanceof(e,He))throw e;n.collector&&n.collector.status.failed++,u.logger.error("mapping processing failed",{event:i,error:e})})(e,y,_object_spread_props(_object_spread({},u),{mapping:y}))]);case 3:if(h=j.sent(),c(h))return[2,h];j.label=4;case 4:return d=!0,[3,2];case 5:return[3,8];case 6:return b=j.sent(),_=!0,p=b,[3,8];case 7:try{d||null==v.return||v.return()}finally{if(_)throw p}return[7];case 8:return[2]}})}).apply(this,arguments)},k=function(e,t,n){return _async_to_generator(function(){var r,o,a,s,c,u,f,_,p,v,g;return _ts_generator(this,function(y){switch(y.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,j(e,a,{collector:n,event:e})];case 1:return t=r.sent(),e=d(e,o,t),[2]}})})()}))]:[3,2];case 1:y.sent(),y.label=2;case 2:return[4,w(e,t.mapping,n)];case 3:return o=y.sent(),a=o.eventMapping,s=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,j(e,a,{collector:n,event:e})];case 1:return t=r.sent(),e=d(e,o,t),[2]}})})()}))]:[3,5];case 4:y.sent(),y.label=5;case 5:return(u=t.data)?[4,j(e,t.data,{collector:n,event:e})]:[3,7];case 6:u=y.sent(),y.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:s,ignore:!0,silent:f}]:(a.name&&(e.name=a.name),a.data?(p=a.data)?[4,j(e,a.data,{collector:n,event:e})]:[3,9]:[3,10]):[3,10];case 8:p=y.sent(),y.label=9;case 9:_=p,c=l(c)&&l(_)?i(c,_):_,y.label=10;case 10:return(v=null!==(r=null==a?void 0:a.include)&&void 0!==r?r:t.include)&&v.length>0&&(g=function(e,t){var n={},r=t.includes("all")?Object.keys(ze):t,o=!0,a=!1,i=void 0;try{for(var s,c=r[Symbol.iterator]();!(o=(s=c.next()).done);o=!0){var u=s.value,f=ze[u];if(f){var d=f(e),_=!0,p=!1,v=void 0;if(l(d))try{for(var g,y=Object.entries(d)[Symbol.iterator]();!(_=(g=y.next()).done);_=!0){var h=_sliced_to_array(g.value,2),b=h[0],m=h[1];if(void 0!==m){var w="context"===u&&Array.isArray(m)?m[0]:m;n["".concat(u,"_").concat(b)]=w}}}catch(e){p=!0,v=e}finally{try{_||null==y.return||y.return()}finally{if(p)throw v}}}}}catch(e){a=!0,i=e}finally{try{o||null==c.return||c.return()}finally{if(a)throw i}}return n}(e,v),Object.keys(g).length>0&&(c=l(c)?i(g,c):null!=c?c:g)),[2,{event:e,data:c,mapping:a,mappingKey:s,ignore:!1,silent:f}]}})})()},O=function(e,t,n,r){return function(){for(var o=arguments.length,a=new Array(o),i=0;i<o;i++)a[i]=arguments[i];var s,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{s=l.apply(void 0,[{fn:e}].concat(_to_consumable_array(a)))}catch(t){d("Hook ".concat(String(c)," failed, falling back to original function"),t),s=e.apply(void 0,_to_consumable_array(a))}else s=e.apply(void 0,_to_consumable_array(a));if(f)try{s=f.apply(void 0,[{fn:e,result:s}].concat(_to_consumable_array(a)))}catch(e){d("Hook ".concat(String(u)," failed, keeping original result"),e)}return s}},S=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=Ve(e))&&void 0!==t?t:{type:"chain",value:[]}};var r=e;return{match:r.match?We(r.match):function(){return!0},next:null!==(n=Ve(r))&&void 0!==n?n:{type:"chain",value:[]}}})},x=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=$e.get(e);r?t=r:(t=Ve(e))&&$e.set(e,t)}else t=Ve(e);if(!t)return[];var o=Je(t,n);return void 0===o?[]:Array.isArray(o)?o:[o]},A=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?We(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,i,s,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=Ue(n,e))&&void 0!==t?t:"")})).every(function(e){return""===e})?[2,null]:(i=a.join(":"),s=null!=r?r:e.namespace,c=s?"".concat(s,":").concat(i):i,[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}]}})})()},E=function(e,t,n,r){e.set(t,n,1e3*r)},P=function(e,t,n,r){return _async_to_generator(function(){var o,a,i,s,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,i=!1,s=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],_=l[1],p=[o,f],[4,j(n,_,{collector:r})]);case 3:o=d.apply(void 0,p.concat([g.sent()])),g.label=4;case 4:return a=!0,[3,2];case 5:return[3,8];case 6:return v=g.sent(),i=!0,s=v,[3,8];case 7:try{a||null==c.return||c.return()}finally{if(i)throw s}return[7];case 8:return[2,o]}})})()},I=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=D(n);if(r){var o=t.prefix||"dataLayer",a="".concat(o," ").concat(r.name),i=(r.name,{name:a,data:_object_without_properties(r,["name"])});b(function(){return e(i)},function(){})()}},D=function(e){if(l(e)&&f(e.event))return _object_spread({name:e.event},_object_without_properties(e,["event"]));if(s(e)&&e.length>=2)return T(e);if(L(e)){var t=Array.from(e);return T(t)}return null},T=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 i={};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),i=_object_spread({},a);break;case"event":if(!f(o))return null;t=o,l(a)&&(i=_object_spread({},a));break;case"config":if(!f(o))return null;t="".concat(r," ").concat(o),l(a)&&(i=_object_spread({},a));break;case"set":if(f(o))t="".concat(r," ").concat(o),l(a)&&(i=_object_spread({},a));else{if(!l(o))return null;t="".concat(r," custom"),i=_object_spread({},o)}break;default:return null}return _object_spread({name:t},i)},L=function(e){return null!=e&&"object"===(void 0===e?"undefined":_type_of(e))&&"length"in e&&"number"==typeof e.length&&e.length>0},M=function(e,t){return e.storeId&&t.stores[e.storeId]?t.stores[e.storeId]:t.stores.__cache},R=function(e){var t={},n=!0,r=!1,o=void 0;try{for(var a,i=Object.entries(e)[Symbol.iterator]();!(n=(a=i.next()).done);n=!0){var s,c=_sliced_to_array(a.value,2),u=c[0],l=null===(s=c[1].config)||void 0===s?void 0:s.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==i.return||i.return()}finally{if(r)throw o}}return t},N=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}},U=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 i;(i=n).push.apply(i,_to_consumable_array(a));break}o=a}return n},z=function(e,t,n){return _async_to_generator(function(){var r,o,i,s;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)),i={collector:e,logger:o,id:n,ingest:a(n),config:t.config,env:G(t.config.env)},o.debug("init"),[4,O(t.init,"TransformerInit",e.hooks,e.logger)(i)]);case 1:if(!1===(s=c.sent()))return[2,!1];t.config=_object_spread_props(_object_spread({},s||t.config),{env:(null==s?void 0:s.env)||t.config.env,init:!0}),o.debug("init done"),c.label=2;case 2:return[2,!0]}})})()},B=function(e,t,n,r,o,a){return _async_to_generator(function(){var i,s,c,u;return _ts_generator(this,function(l){switch(l.label){case 0:return i=t.type||"unknown",s=e.logger.scope("transformer:".concat(i)),c={collector:e,logger:s,id:n,ingest:o,config:t.config,env:_object_spread({},G(t.config.env),a?{respond:a}:{})},s.debug("push",{event:r.name}),[4,O(t.push,"TransformerPush",e.hooks,e.logger)(r,c)];case 1:return u=l.sent(),[2,(s.debug("push done"),u)]}})})()},K=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)},G=function(e){return e&&l(e)?e:{}},H=function(e){return"string"==typeof e||!(!Array.isArray(e)||!e.every(function(e){return"string"==typeof e}))},F=function(e,t,n){return _async_to_generator(function(){var r,o,a,i,s,c,u,l,f,d,_;return _ts_generator(this,function(p){switch(p.label){case 0:if(!t.on||!(null===(r=t.queueOn)||void 0===r?void 0:r.length))return[2];a=t.queueOn,t.queueOn=[],i=n||(null===(o=t.config)||void 0===o?void 0:o.id)||"unknown",s=!0,c=!1,u=void 0,p.label=1;case 1:p.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,m(t.on,function(t){if(_instanceof(t,He))throw t;e.status.failed++,e.logger.scope("source").error("source on flush failed",{sourceId:i,type:r,error:t})})(r,o)];case 1:return a.sent(),[2]}})},f=a[Symbol.iterator](),p.label=2;case 2:return(s=(d=f.next()).done)?[3,5]:[5,_ts_values(l())];case 3:p.sent(),p.label=4;case 4:return s=!0,[3,2];case 5:return[3,8];case 6:return _=p.sent(),c=!0,u=_,[3,8];case 7:try{s||null==f.return||f.return()}finally{if(c)throw u}return[7];case 8:return[2]}})})()},W=function(e){var t;return Boolean(e.config.init)&&!(null===(t=e.config.require)||void 0===t?void 0:t.length)},V=function(e,t,n){return _async_to_generator(function(){var r,o,i,s,c,u,l,f,d,_,p,v,g,y,h,b,w,k,O,S,I,D,T,L,N;return _ts_generator(this,function(z){switch(z.label){case 0:return o=n.code,i=n.config,s=void 0===i?{}:i,c=n.env,u=void 0===c?{}:c,l=n.primary,f=n.next,d=n.before,_=n.cache,v=(p=_)?C(_object_spread_props(_object_spread({},p),{stop:null===(r=p.stop)||void 0===r||r})):void 0,g=H(f)?U(f,R(e.transformers)):void 0,y=H(d)?U(d,R(e.transformers)):void 0,h=u.push,b=null!=h?h:e.push,w=Boolean(h),k=function(n,r,o){return _async_to_generator(function(){var a,i,c,u,l,_,p,h,j,k,O,S,C,I,D,T,L,N,z,B,G,H,F,W;return _ts_generator(this,function(V){switch(V.label){case 0:return i=null!=y?y:void 0!==d?function(){var t=x(d,A(o.ingest));return 0===t.length?[]:U(1===t.length?t[0]:t,R(e.transformers))}():[],c=[n],i.length>0&&e.transformers&&Object.keys(e.transformers).length>0?[4,pt(e,e.transformers,i,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=M(v,e))?(_=A(o.ingest),[4,q(v,l,_)]):[3,7];case 3:return(p=V.sent())?"HIT"===p.status&&void 0!==p.value&&v.stop?(j=p.value,p.rule.update?[4,P(j,p.rule.update,_object_spread_props(_object_spread({},_),{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"===p.status&&v.stop&&o.respond&&(k=o.respond,O=p.rule.update,S=_object_spread_props(_object_spread({},_),{cache:{status:"MISS"}}),C=p.key,I=p.rule.ttl,D=function(t){E(l,C,t,I),O?a=_async_to_generator(function(){var n;return _ts_generator(this,function(r){switch(r.label){case 0:return[4,P(t,O,S,e)];case 1:return n=r.sent(),k(n),[2]}})})():k(t)},o.respond=D),"MISS"!==p.status||v.stop||E(l,p.key,!0,p.rule.ttl),V.label=7;case 7:T=g?{kind:"single",preChain:g}:void 0!==f?function(){var t=x(f,A(o.ingest));return 0===t.length?{kind:"single",preChain:[]}:1===t.length?{kind:"single",preChain:U(t[0],R(e.transformers))}:{kind:"many",branches:t.map(function(t){return U(t,R(e.transformers))})}}():{kind:"single",preChain:[]},L={ok:!0},N=!0,z=!1,B=void 0,V.label=8;case 8:V.trys.push([8,13,14,15]),G=function(){var n,a;return _ts_generator(this,function(i){switch(i.label){case 0:return n=F.value,"many"!==T.kind?[3,2]:[4,Promise.all(T.branches.map(function(a,i){return m(function(){return _async_to_generator(function(){return _ts_generator(this,function(e){return[2,w?b(n):b(n,_object_spread_props(_object_spread({},r),{id:t,ingest:K(o.ingest,"".concat(t,".").concat(i)),respond:void 0,mapping:s,preChain:a}))]})})()},function(t){return e.logger.scope("source:many").error("many branch ".concat(i," failed"),{error:t}),{ok:!0}})()}))];case 1:return i.sent(),L={ok:!0},[3,7];case 2:return w?[4,b(n)]:[3,4];case 3:return a=i.sent(),[3,6];case 4:return[4,b(n,_object_spread_props(_object_spread({},r),{id:t,ingest:o.ingest,respond:o.respond,mapping:s,preChain:T.preChain}))];case 5:a=i.sent(),i.label=6;case 6:L=a,i.label=7;case 7:return[2]}})},H=c[Symbol.iterator](),V.label=9;case 9:return(N=(F=H.next()).done)?[3,12]:[5,_ts_values(G())];case 10:V.sent(),V.label=11;case 11:return N=!0,[3,9];case 12:return[3,15];case 13:return W=V.sent(),z=!0,B=W,[3,15];case 14:try{N||null==H.return||H.return()}finally{if(z)throw B}return[7];case 15:return a?[4,a]:[3,17];case 16:V.sent(),V.label=17;case 17:return[2,L]}})})()},O=function(n){return _async_to_generator(function(){var r,o;return _ts_generator(this,function(i){switch(i.label){case 0:return r=a(t),s.ingest&&void 0!==n?[4,j(n,s.ingest,{collector:e})]:[2,r];case 1:return o=i.sent(),[2,_object_spread_props(_object_spread({},r,o),{_meta:r._meta})]}})})()},S=e.logger.scope("source").scope(t),I=_object_spread_props(_object_spread({command:e.command,sources:e.sources,elb:e.sources.elb.push,logger:S},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,k(e,n,r)]})})()}}),D={collector:e,logger:S,id:t,config:s,env:I,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,O(e)];case 1:return o.ingest=a.sent(),o.respond=t,r=o,[2,n(_object_spread_props(_object_spread({},I),{push:function(e){return k(e,arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},r)},ingest:r.ingest,respond:r.respond}))]}})})()}},[4,m(o,function(n){if(_instanceof(n,He))throw n;e.status.failed++,e.logger.scope("source").error("source factory failed",{sourceId:t,error:n})})(D)];case 1:return(T=z.sent())?(L=T.type||"unknown",N=e.logger.scope(L).scope(t),[2,(I.logger=N,l&&(T.config=_object_spread_props(_object_spread({},T.config),{primary:l})),T)]):[2]}})})()},$=function(e){return _async_to_generator(function(e){var t,n,r,o,a,i,s,c,u,l,f,d,_,p,v,g,y,h,b,w,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]),i=Object.entries(t)[Symbol.iterator](),k.label=2;case 2:return(r=(s=i.next()).done)?[3,5]:(c=_sliced_to_array(s.value,2),u=c[0],l=c[1],[4,V(e,u,l)]);case 3:if(!(d=k.sent()))return[3,4];_=null===(f=l.config)||void 0===f?void 0:f.require,d.config=_object_spread(_object_spread_props(_object_spread({},d.config),{init:!1}),_?{require:_to_consumable_array(_)}:{}),n[u]=d,k.label=4;case 4:return r=!0,[3,2];case 5:return[3,8];case 6:return w=k.sent(),o=!0,a=w,[3,8];case 7:try{r||null==i.return||i.return()}finally{if(o)throw a}return[7];case 8:Object.assign(e.sources,n),p=!0,v=!1,g=void 0,k.label=9;case 9:k.trys.push([9,14,15,16]),y=function(){var t,n,r,o;return _ts_generator(this,function(a){switch(a.label){case 0:return t=b.value,n=e.sources[t],r=!1,n.init?[4,m(n.init.bind(n),function(n){if(_instanceof(n,He))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=W(n))?[4,F(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(p=(b=h.next()).done)?[3,13]:[5,_ts_values(y())];case 11:k.sent(),k.label=12;case 12:return p=!0,[3,10];case 13:return[3,16];case 14:return w=k.sent(),v=!0,g=w,[3,16];case 15:try{p||null==h.return||h.return()}finally{if(v)throw g}return[7];case 16:return[2,n]}})}).apply(this,arguments)},J=function(e,t,n,r){if(_instanceof(n,He))throw n;e.logger.scope("on").error("on callback failed",_object_spread_props(_object_spread({kind:t},r),{error:n}))},Y=function(e,t){return{collector:e,logger:e.logger.scope("on").scope(String(t))}},Z=function(e,t,n){return _async_to_generator(function(){var r,o,a;return _ts_generator(this,function(i){return r=e.on,o=r[t]||[],(a=s(n)?n:[n]).forEach(function(e){o.push(e)}),r[t]=o,X(e,t,a),[2]})})()},Q=function(e,t,n,r,o){if(t.on){var a=t.type||"unknown",i=e.logger.scope(a).scope("on").scope(r),s={collector:e,logger:i,id:n,config:t.config,data:o,env:ge(t.env,t.config.env)};b(t.on,function(t){return J(e,"destination",t,{destId:n,type:r})})(r,s)}},X=function(e,t,n,r){var o,a,i,s,c;switch(t){case _t.Commands.Consent:o=r||e.consent;break;case _t.Commands.Session:o=e.session;break;case _t.Commands.User:o=r||e.user;break;case _t.Commands.Custom:o=r||e.custom;break;case _t.Commands.Globals:o=r||e.globals;break;case _t.Commands.Config:o=r||e.config;break;case _t.Commands.Ready:case _t.Commands.Run:default:o=void 0}if(n.length)switch(t){case _t.Commands.Consent:a=e,i=n,s=r||a.consent,c=Y(a,_t.Commands.Consent),i.forEach(function(e){Object.keys(s).filter(function(t){return t in e}).forEach(function(t){b(e[t],function(e){return J(a,"consent",e,{key:t})})(s,c)})});break;case _t.Commands.Ready:!function(e,t){if(e.allowed){var n=Y(e,_t.Commands.Ready);t.forEach(function(t){b(t,function(t){return J(e,"ready",t)})(void 0,n)})}}(e,n);break;case _t.Commands.Run:!function(e,t){if(e.allowed){var n=Y(e,_t.Commands.Run);t.forEach(function(t){b(t,function(t){return J(e,"run",t)})(void 0,n)})}}(e,n);break;case _t.Commands.Session:!function(e,t){if(e.session){var n=Y(e,_t.Commands.Session);t.forEach(function(t){b(t,function(t){return J(e,"session",t)})(e.session,n)})}}(e,n);break;default:var u=Y(e,t);n.forEach(function(n){"function"==typeof n&&b(n,function(n){return J(e,"generic",n,{type:t})})(o,u)})}},ee=function(e,t,n,r){return _async_to_generator(function(){var o,a,i,s,c,u,l,f,d,_,p,v,g,y,h,b,w,j,k;return _ts_generator(this,function(O){switch(O.label){case 0:switch(i=n||[],n||(i=e.on[t]||[]),t){case _t.Commands.Consent:a=r||e.consent;break;case _t.Commands.Session:a=e.session;break;case _t.Commands.User:a=r||e.user;break;case _t.Commands.Custom:a=r||e.custom;break;case _t.Commands.Globals:a=r||e.globals;break;case _t.Commands.Config:a=r||e.config;break;case _t.Commands.Ready:case _t.Commands.Run:default:a=void 0}s=!1,c=!0,u=!1,l=void 0,O.label=1;case 1:O.trys.push([1,6,7,8]),f=function(){var n,r,o,i,c,u;return _ts_generator(this,function(l){switch(l.label){case 0:return n=_sliced_to_array(_.value,2),r=n[0],o=n[1],(null===(i=o.config.require)||void 0===i?void 0:i.length)&&-1!==(c=o.config.require.indexOf(t))&&o.config.require.splice(c,1),o.on?W(o)?(u=!1,[4,m(o.on,function(n){return J(e,"source",n,{sourceId:r,type:t})})(t,a)]):[3,2]:[3,3];case 1:return u===l.sent()&&(s=!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](),O.label=2;case 2:return(c=(_=d.next()).done)?[3,5]:[5,_ts_values(f())];case 3:O.sent(),O.label=4;case 4:return c=!0,[3,2];case 5:return[3,8];case 6:return k=O.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],i=r[1];if(i.on){if(!i.config.init)return i.queueOn=i.queueOn||[],void i.queueOn.push({type:t,data:a});Q(e,i,o,t,a)}}),p=!0,v=!1,g=void 0,O.label=9;case 9:O.trys.push([9,15,16,17]),y=Object.entries(e.sources)[Symbol.iterator](),O.label=10;case 10:return(p=(h=y.next()).done)?[3,14]:(b=_sliced_to_array(h.value,2),w=b[0],j=b[1],W(j)&&(null===(o=j.queueOn)||void 0===o?void 0:o.length)?[4,F(e,j,w)]:[3,12]);case 11:O.sent(),O.label=12;case 12:O.label=13;case 13:return p=!0,[3,10];case 14:return[3,17];case 15:return k=O.sent(),v=!0,g=k,[3,17];case 16:try{p||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,i,s,c,u,l,f,d,_;return _ts_generator(this,function(p){n=!0,r=!1,o=void 0;try{for(a=Object.entries(e.pending.destinations)[Symbol.iterator]();!(n=(i=a.next()).done);n=!0)s=_sliced_to_array(i.value,2),c=s[0],u=s[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!==(_=pe(u)).config.queue&&(_.queuePush=_to_consumable_array(e.queue)),e.destinations[c]=_))}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:O.sent(),O.label=19;case 19:return[2,(X(e,t,i,r),!s)]}})})()},te=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}},ne=function(e,t,n,r){gt.get(e)||(gt.set(e,!0),t.warn(n,r))},re=function(e){gt.delete(e)},oe=function(e){return e===yt},ae=function(e){return void 0===e?{}:"number"==typeof e?{wait:e}:{wait:e.wait,size:e.size,age:e.age}},ie=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]},se=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]},ce=function(e,t,n){if(!e)return[];if(Array.isArray(e)&&e.every(function(e){return"string"==typeof e}))return U(e,t);if("string"==typeof e)return U(e,t);var r=x(e,A(n));return 0===r.length?[]:1===r.length?U(r[0],t):U(r,t)},ue=function(e,t){return _async_to_generator(function(){var n,r,o,a,i,s,c,l,f,d,_,v;return _ts_generator(this,function(g){if(n=t.code,r=t.config,o=void 0===r?{}:r,a=t.env,i=void 0===a?{}:a,s=t.before,c=t.next,l=t.cache,!u(n.push))return[2,_e({ok:!1,failed:{invalid:{type:"invalid",error:"Destination code must have a push method"}}})];if(f=o||{init:!1},d=s?_object_spread_props(_object_spread({},f),{before:s}):_object_spread({},f),c&&(d=_object_spread_props(_object_spread({},d),{next:c})),l&&(d=_object_spread_props(_object_spread({},d),{cache:l})),_=_object_spread_props(_object_spread({},n),{config:d,env:ge(n.env,i)}),!(v=_.config.id))do{v=p(5,"abcdefghijklmnopqrstuvwxyz")}while(e.destinations[v]);return[2,(e.destinations[v]=_,!1!==_.config.queue&&(_.queuePush=_to_consumable_array(e.queue)),le(e,void 0,{},_define_property({},v,_)))]})})()},le=function(t,n,r){return _async_to_generator(function(t,n){var r,o,s,c,u,l,f,d,p,v,g,y,h,b,w,j,k,O,S,x,P,I,D,T,L,N,U,z,B,K,G,H,F=arguments;return _ts_generator(this,function(W){switch(W.label){case 0:if(r=F.length>2&&void 0!==F[2]?F[2]:{},o=F.length>3?F[3]:void 0,s=t.allowed,c=t.consent,u=t.globals,l=t.user,!s)return[2,_e({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=te(t.queue,n,{max:f})).dropped>0?(p=se(t.status,e("collector"),"queue",d.dropped),ne(t.queue,t.logger,"collector.queue overflow; oldest events dropped",{buffer:"queue",cap:f,droppedCount:p})):t.queue.length<f&&re(t.queue),t.status.in++}return o||(o=t.destinations),v=t.transformers?R(t.transformers):{},[4,Promise.all(Object.entries(o||{}).map(function(o){var s=_sliced_to_array(o,2),f=s[0],d=s[1];return _async_to_generator(function(){var o,s,p,g,y,h,b,w,j,k,O,S,x,P,I,D,T,L,R,N,U,z,B,K,G,H,F,W,V,$,J,Y,Z,Q;return _ts_generator(this,function(X){switch(X.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(Ne(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===(s=d.queueOn)||void 0===s?void 0:s.length))return[3,5];h=!1,X.label=1;case 1:return X.trys.push([1,3,,4]),[4,fe(t,d,f)];case 2:return h=X.sent(),[3,4];case 3:return b=X.sent(),t.status.failed++,w=d.type||"unknown",t.logger.scope(w).error("destination init failed",{error:_instanceof(b,Error)?b.message:String(b)}),[3,4];case 4:return[2,{id:f,destination:d,skipped:!h}];case 5:if(j=[],k=g.filter(function(e){var t=_(d.config.consent,c,e.consent);return!t||(e.consent=t,j.push(e),!1)}),k.length>0){S=d.queuePush,x=d.config.id||f,P={max:null!==(O=d.config.queueMax)&&void 0!==O?O:1e3},I=0,D=!0,T=!1,L=void 0;try{for(R=k[Symbol.iterator]();!(D=(N=R.next()).done);D=!0)U=N.value,I+=te(S,U,P).dropped}catch(e){T=!0,L=e}finally{try{D||null==R.return||R.return()}finally{if(T)throw L}}I>0?(ie(t,x),z=se(t.status,e("destination",x),"queue",I),ne(S,t.logger.scope(d.type||"unknown"),"destination.queuePush overflow; oldest events dropped",{buffer:"queuePush",destination:x,cap:P.max,droppedCount:z})):S.length<P.max&&re(S)}if(!j.length)return[2,{id:f,destination:d,queue:g}];G=!1,X.label=6;case 6:return X.trys.push([6,8,,9]),[4,fe(t,d,f)];case 7:return G=X.sent(),[3,9];case 8:return H=X.sent(),t.status.failed++,F=d.type||"unknown",t.logger.scope(F).error("destination init failed",{error:_instanceof(H,Error)?H.message:String(H)}),[3,9];case 9:return G?(d.dlq||(d.dlq=[]),W=ce(d.config.before,v,y),V=d.config.next,$=null===(p=d.config)||void 0===p?void 0:p.cache,J=$?C($):void 0,Y=J?M(J,t):void 0,Z=0,Q=0,[4,Promise.all(j.map(function(n){return _async_to_generator(function(){var o,a,s,c,_,p,g,h,b,w,j,k,O;return _ts_generator(this,function(S){switch(S.label){case 0:return n.globals=i(u,n.globals),n.user=i(l,n.user),(null==J?void 0:J.stop)&&Y?(a=A(y,n),[4,q(J,Y,a)]):[3,2];case 1:if("HIT"===(null==(s=S.sent())?void 0:s.status))return[2,n];"MISS"===(null==s?void 0:s.status)&&(o={key:s.key,ttl:s.rule.ttl}),S.label=2;case 2:return c=n,_=r.respond,W.length>0&&t.transformers&&Object.keys(t.transformers).length>0?[4,pt(t,t.transformers,W,n,y,r.respond,"destination.".concat(f,".before"))]:[3,4];case 3:if(null===(p=S.sent()).event)return[2,n];p.respond&&(_=p.respond),c=Array.isArray(p.event)?p.event[0]:p.event,S.label=4;case 4:return J&&!J.stop&&Y?(g=A(y,c),[4,q(J,Y,g)]):[3,6];case 5:if("HIT"===(null==(h=S.sent())?void 0:h.status))return[2,n];"MISS"===(null==h?void 0:h.status)&&(o={key:h.key,ttl:h.rule.ttl}),S.label=6;case 6:return b=Date.now(),w=!1,[4,m(de,function(n){var r,o=d.type||"unknown";t.logger.scope(o).error("Push failed",{error:n,event:c.name}),B=n,w=!0;var a=d.dlq,i=d.config.id||f,s={max:null!==(r=d.config.dlqMax)&&void 0!==r?r:100},u=te(a,[c,n],s);if(u.dropped>0){ie(t,i);var l=se(t.status,e("destination",i),"dlq",u.dropped);ne(a,t.logger.scope(d.type||"unknown"),"destination.dlq overflow; oldest entries dropped",{buffer:"dlq",destination:i,cap:s.max,droppedCount:l})}else a.length<s.max&&re(a)})(t,d,f,c,y,_)];case 7:return j=S.sent(),Z+=Date.now()-b,o&&Y&&void 0===d.config.mock&&E(Y,o.key,null==j||j,o.ttl),void 0===j||oe(j)||(K=j),oe(j)&&Q++,w||!V?[3,9]:(void 0!==j&&(y._response=j),(k=ce(V,v,y)).length>0&&t.transformers&&Object.keys(t.transformers).length>0?[4,pt(t,t.transformers,k,c,y,_,"destination.".concat(f,".next"))]:[3,9]);case 8:(O=S.sent()).respond&&(_=O.respond),S.label=9;case 9:return[2,n]}})})()}))]):[2,{id:f,destination:d,queue:g}];case 10:return[2,(X.sent(),{id:f,destination:d,error:B,response:K,totalDuration:Z,batchedCount:Q,allowedCount:j.length})]}})})()}))];case 1:g=W.sent(),y={},h={},b={},w=!0,j=!1,k=void 0;try{for(O=g[Symbol.iterator]();!(w=(S=O.next()).done);w=!0)(x=S.value).skipped||(L=x.destination,N={type:L.type||"unknown",data:x.response},ie(t,x.id),U=t.status.destinations[x.id],z=Date.now(),U.queuePushSize=null!==(P=null===(D=L.queuePush)||void 0===D?void 0:D.length)&&void 0!==P?P:0,U.dlqSize=null!==(I=null===(T=L.dlq)||void 0===T?void 0:T.length)&&void 0!==I?I:0,x.error?(N.error=x.error,b[x.id]=N,U.failed++,U.lastAt=z,U.duration+=x.totalDuration||0,t.status.failed++):x.queue&&x.queue.length?h[x.id]=N:(G=null!==(B=x.batchedCount)&&void 0!==B?B:0,H=null!==(K=x.allowedCount)&&void 0!==K?K:0,(Math.max(0,H-G)>0||0===H)&&(y[x.id]=N,U.count++,U.lastAt=z,U.duration+=x.totalDuration||0,t.status.out++)))}catch(e){j=!0,k=e}finally{try{w||null==O.return||O.return()}finally{if(j)throw k}}return[2,_e(_object_spread({event:n},Object.keys(y).length&&{done:y},Object.keys(h).length&&{queued:h},Object.keys(b).length&&{failed:b}))]}})}).apply(this,arguments)},fe=function(e,t,n){return _async_to_generator(function(){var r,o,a,i,s,c,u,l,f,d,_,p,v,g;return _ts_generator(this,function(y){switch(y.label){case 0:return!t.init||t.config.init?[3,2]:(o=t.type||"unknown",a=e.logger.scope(o),i={collector:e,logger:a,id:n,config:t.config,env:ge(t.env,t.config.env)},a.debug("init"),[4,O(t.init,"DestinationInit",e.hooks,e.logger)(i)]);case 1:if(!1===(s=y.sent()))return[2,s];if(t.config=_object_spread_props(_object_spread({},s||t.config),{init:!0}),null===(r=t.queueOn)||void 0===r?void 0:r.length){c=t.queueOn,t.queueOn=[],u=!0,l=!1,f=void 0;try{for(d=c[Symbol.iterator]();!(u=(_=d.next()).done);u=!0)p=_.value,v=p.type,g=p.data,Q(e,t,n,v,g)}catch(e){l=!0,f=e}finally{try{u||null==d.return||d.return()}finally{if(l)throw f}}}a.debug("init done"),y.label=2;case 2:return[2,!0]}})})()},de=function(t,n,r,o,a,i){return _async_to_generator(function(){var s,u,l,f,d,_,p,v,g,y,h,b,w,j,S,x,A,C,q,E,P,I,D,T,L,M;return _ts_generator(this,function(R){switch(R.label){case 0:return s=n.config,[4,k(o,s,t)];case 1:return(u=R.sent()).ignore?[2,!1]:(l=n.type||"unknown",f=t.logger.scope(l),d={collector:t,logger:f,id:r,config:s,data:u.data,rule:u.mapping,ingest:a,env:_object_spread({},ge(n.env,s.env),i?{respond:i}:{})},void 0!==s.mock?[2,(f.debug("mock",{event:u.event.name}),s.mock)]:(_=u.mapping,p=u.mappingKey||"* *",(null==_?void 0:_.batch)&&n.pushBatch&&void 0===s.mock?(n.batches=n.batches||{},n.batches[p]||(S={key:p,entries:[],events:[],data:[]},x=ae(_.batch),A=ae(s.batch),C=null!==(g=null!==(y=x.wait)&&void 0!==y?y:A.wait)&&void 0!==g?g:3e4,q=null!==(h=null!==(b=x.size)&&void 0!==b?b:A.size)&&void 0!==h?h:1e3,E=null!==(w=null!==(j=x.age)&&void 0!==j?j:A.age)&&void 0!==w?w:3e4,P=ge(n.env,s.env),I=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,i=o.size,s=o.age,c=null,u=null,l=!1,f=[],d=0,_=function(){c&&(clearTimeout(c),c=null),u&&(clearTimeout(u),u=null),d=0,n=void 0},p=function(){var r=n,o=f;if(_(),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,_=new Array(o),v=0;v<o;v++)_[v]=arguments[v];return new Promise(function(o){var v=r&&!l;if(n=_,d+=1,f.push(o),c&&clearTimeout(c),c=setTimeout(function(){c=null,r&&!l||p()},a),void 0===s||u||(u=setTimeout(function(){u=null,p()},s)),void 0!==i&&d>=i)p();else if(v){l=!0,t=e.apply(void 0,_to_consumable_array(_));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),p()}):Promise.resolve(void 0)},v.cancel=function(){var e=f;f=[],_(),e.forEach(function(e){return e(void 0)})},v.size=function(){return d},v}(function(){return _async_to_generator(function(){var o,a,i,c,u,l,d,_;return _ts_generator(this,function(v){switch(v.label){case 0:return 0===(a=n.batches[p].batched).entries.length?[2]:(i={key:a.key,entries:a.entries,events:a.events,data:a.data},a.entries=[],a.events=[],a.data=[],c=i.entries[0],u={collector:t,logger:f,id:r,config:s,data:void 0,rule:c.rule,ingest:c.ingest,env:_object_spread({},P,c.respond?{respond:c.respond}:{})},f.debug("push batch",{events:i.entries.length}),l=n.config.id||r,d=ie(t,l),_=!0,[4,m(O(n.pushBatch,"DestinationPushBatch",t.hooks,t.logger),function(r){var o;_=!1;var a=n.dlq=n.dlq||[],s={max:null!==(o=n.config.dlqMax)&&void 0!==o?o:100},c=0,u=!0,p=!1,v=void 0;try{for(var g,y=i.entries[Symbol.iterator]();!(u=(g=y.next()).done);u=!0){var h=g.value;c+=te(a,[h.event,r],s).dropped}}catch(e){p=!0,v=e}finally{try{u||null==y.return||y.return()}finally{if(p)throw v}}if(c>0){var b=se(t.status,e("destination",l),"dlq",c);ne(a,f,"destination.dlq overflow; oldest entries dropped",{buffer:"dlq",destination:l,cap:s.max,droppedCount:b})}else a.length<s.max&&re(a);d.failed+=i.entries.length,d.dlqSize=a.length,t.status.failed+=i.entries.length,f.error("Push batch failed",{error:_instanceof(r,Error)?r.message:String(r),entries:i.entries.length})})(i,u)]);case 1:return v.sent(),f.debug("push batch done"),d.inFlightBatch=Math.max(0,(null!==(o=d.inFlightBatch)&&void 0!==o?o:0)-i.entries.length),_&&(d.count+=i.entries.length,d.lastAt=Date.now(),t.status.out+=i.entries.length),[2]}})})()},{wait:C,size:q,age:E}),n.batches[p]={batched:S,batchFn:function(){I()},flush:function(){return _async_to_generator(function(){return _ts_generator(this,function(e){switch(e.label){case 0:return[4,I.flush()];case 1:return e.sent(),[2]}})})()}}),(D=n.batches[p]).batched.entries.push({event:u.event,ingest:a,respond:i,rule:_,data:u.data}),D.batched.events.push(u.event),c(u.data)&&D.batched.data.push(u.data),T=n.config.id||r,[2,((L=ie(t,T)).inFlightBatch=(null!==(v=L.inFlightBatch)&&void 0!==v?v:0)+1,D.batchFn(),yt)]):(f.debug("push",{event:u.event.name}),[4,O(n.push,"DestinationPush",t.hooks,t.logger)(u.event,d)])));case 2:return M=R.sent(),[2,(f.debug("push done"),M)]}})})()},_e=function(e){return _object_spread({ok:!(null==e?void 0:e.failed)},e)},pe=function(e){var t=e.code,n=e.config,r=void 0===n?{}:n,o=e.env,a=void 0===o?{}:o,i=e.cache,s=N(e,"before").config,c=N(_object_spread_props(_object_spread({},e),{config:s}),"next").config,u=_object_spread({},t.config,r,c);i&&(u.cache=i);var l=ge(t.env,a);return _object_spread_props(_object_spread({},t),{config:u,env:l})},ve=function(e){return _async_to_generator(function(e){var t,n,r,o,a,i,s,c,u,l,f,d,_=arguments;return _ts_generator(this,function(p){t=_.length>1&&void 0!==_[1]?_[1]:{},o={},a=!0,i=!1,s=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]=pe(d)}catch(e){i=!0,s=e}finally{try{a||null==c.return||c.return()}finally{if(i)throw s}}return[2,o]})}).apply(this,arguments)},ge=function(e,t){return e||t?t?e&&l(e)&&l(t)?_object_spread({},e,t):t:e:{}},ye=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,i,s,c,u;return _ts_generator(this,function(l){switch(l.label){case 0:if(!(r=a.destroy))return[2];i=a.type||"unknown",s=n.scope(i),c={id:o,config:a.config,env:null!==(e=a.env)&&void 0!==e?e:{},logger:s},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(),s.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]}})})()},he=function(e,t,n){return _async_to_generator(function(){var r,o,a,s,c,d,_,p,v;return _ts_generator(this,function(g){switch(g.label){case 0:switch(a=!1,t){case _t.Commands.Config:return[3,1];case _t.Commands.Consent:return[3,2];case _t.Commands.Custom:return[3,3];case _t.Commands.Destination:return[3,4];case _t.Commands.Globals:return[3,7];case _t.Commands.Hook:return[3,8];case _t.Commands.On:return[3,9];case _t.Commands.Ready:return[3,12];case _t.Commands.Run:return[3,13];case _t.Commands.Session:return[3,15];case _t.Commands.Shutdown:return[3,16];case _t.Commands.User:return[3,18]}return[3,19];case 1:return l(n)&&(i(e.config,n,{shallow:!1}),o=n,a=!0),[3,19];case 2:return l(n)&&(s=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=i(e.consent,n),{update:n}}(e,n),c=s.update,o=c,a=!0),[3,19];case 3:return l(n)&&(e.custom=i(e.custom,n),o=n,a=!0),[3,19];case 4:return l(n)&&"code"in n&&l(n.code)?[4,ue(e,n)]:[3,6];case 5:r=g.sent(),g.label=6;case 6:return[3,19];case 7:return l(n)&&(e.globals=i(e.globals,n),o=n,a=!0),[3,19];case 8:return l(n)&&f(n.name)&&u(n.fn)&&(d=n.name,_=n.fn,e.hooks[d]=_,o=n,a=!0),[3,19];case 9:return l(n)&&f(n.type)?(p=n.type,v=n.rules,[4,Z(e,p,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,me(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,ye(y.sources,"source",e)];case 1:return t.sent(),[4,ye(y.destinations,"destination",e)];case 2:return t.sent(),[4,ye(y.transformers,"transformer",e)];case 3:return t.sent(),[4,ye(y.stores,"store",e)];case 4:return t.sent(),[2]}})})())];case 17:return g.sent(),[3,19];case 18:l(n)&&(i(e.user,n,{shallow:!1}),o=n,a=!0),g.label=19;case 19:return a?[4,ee(e,t,void 0,o)]:[3,22];case 20:return g.sent(),[4,le(e)];case 21:r=g.sent(),g.label=22;case 22:return[2,r||_e({ok:!0})]}var y})})()},be=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,i=void 0===a?Date.now():a,s=t.name,c=void 0===s?"".concat(r," ").concat(o):s,u=t.data,l=void 0===u?{}:u,f=t.context,d=void 0===f?{}:f,_=t.globals,p=void 0===_?e.globals:_,v=t.custom,g=void 0===v?{}:v,y=t.user,h=void 0===y?e.user:y,b=t.nested,m=void 0===b?[]:b,w=t.consent,j=void 0===w?e.consent:w,k=t.id,O=void 0===k?function(){for(var e="",t=0;t<16;t++)e+=(16*Math.random()|0).toString(16);return e}():k,S=t.trigger,x=void 0===S?"":S,A=t.entity,C=void 0===A?r:A,q=t.action,E=void 0===q?o:q,P=t.timing,I=void 0===P?0:P,D=t.source;return{name:c,data:l,context:d,globals:p,custom:g,user:h,nested:m,consent:j,id:O,trigger:x,entity:C,action:E,timestamp:i,timing:I,source:void 0===D?{type:"collector",schema:"4"}:D}},me=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=i(e.consent,t.consent)),t.user&&(e.user=i(e.user,t.user)),t.globals&&(e.globals=i(e.config.globalsStatic||{},t.globals)),t.custom&&(e.custom=i(e.custom,t.custom))),Object.values(e.destinations).forEach(function(e){e.queuePush=[]}),e.queue=[],e.round++,[4,le(e)];case 1:return[2,n.sent()]}})})()},we=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,i=null!==(t=o.lowWaterMark)&&void 0!==t?t:.8,s=null!==(n=o.sweepIntervalMs)&&void 0!==n?n:6e4,c=Math.floor(a*i),u=new Map,l={hits:0,misses:0,populates:0,writes:0,deletes:0,evictions_entries:0,evictions_ttl:0};return s>0&&((r=setInterval(function(){var e=Date.now(),t=0,n=!0,r=!1,o=void 0;try{for(var a,i=u[Symbol.iterator]();!(n=(a=i.next()).done);n=!0){var s=_sliced_to_array(a.value,2),c=s[0],f=s[1];void 0!==f.expires&&f.expires<=e&&(u.delete(c),t++)}}catch(e){r=!0,o=e}finally{try{n||null==i.return||i.return()}finally{if(r)throw o}}l.evictions_ttl+=t},s))&&"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 i,s=u.keys()[Symbol.iterator]();!(n=(i=s.next()).done);n=!0){var f=i.value;if(t>=e)break;u.delete(f),t++}}catch(e){r=!0,o=e}finally{try{n||null==s.return||s.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()}}},je=function(e,t){var n=t.cacheConfig,r=t.cacheStore,o=t.namespace,a=t.logger,i=t.storeId,s={hits:0,misses:0,populates:0,writes:0,deletes:0,inflight_dedups:0},c=n.rules.map(function(e){return{match:e.match?We(e.match):function(){return!0},ttl:e.ttl}}),u=function(e){return"".concat(o,":").concat(e)};function l(e,t){var n=void 0===t?{key:e}:{key:e,value:t};return c.find(function(e){return e.match(n)})}var f=new Map;return{type:e.type,config:e.config,setup:e.setup,get counters(){return _object_spread({},s)},get:function(t){return _async_to_generator(function(){var n,o,a,i;return _ts_generator(this,function(c){switch(c.label){case 0:return n=u(t),[4,r.get(n)];case 1:return void 0!==(o=c.sent())?[2,(s.hits++,o)]:(a=f.get(n))?[2,(s.inflight_dedups++,a)]:(s.misses++,i=_async_to_generator(function(){var o,a,i;return _ts_generator(this,function(c){switch(c.label){case 0:return c.trys.push([0,,6,7]),[4,e.get(t)];case 1:if(void 0===(o=c.sent()))return[2];if(!(a=l(t,o)))return[3,5];c.label=2;case 2:return c.trys.push([2,4,,5]),[4,r.set(n,o,1e3*a.ttl)];case 3:return c.sent(),s.populates++,[3,5];case 4:return i=c.sent(),d("set",t,i),[3,5];case 5:return[2,o];case 6:return f.delete(n),[7];case 7:return[2]}})})(),[2,(f.set(n,i),i)])}})})()},set:function(t,n,o){return _async_to_generator(function(){var a,i;return _ts_generator(this,function(c){switch(c.label){case 0:return s.writes++,[4,e.set(t,n,o)];case 1:if(c.sent(),!(a=l(t,n)))return[3,5];c.label=2;case 2:return c.trys.push([2,4,,5]),[4,r.set(u(t),n,1e3*a.ttl)];case 3:return c.sent(),[3,5];case 4:return i=c.sent(),d("set",t,i),[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 s.deletes++,[4,e.delete(t)];case 1:o.sent(),o.label=2;case 2:return o.trys.push([2,4,,5]),[4,r.delete(u(t))];case 3:return o.sent(),[3,5];case 4:return n=o.sent(),d("delete",t,n),[3,5];case 5:return[2]}})})()}};function d(e,t,n){var r="store-cache(".concat(i,"): cache ").concat(e,' failed for "').concat(t,'"; backing succeeded, continuing');a?a.warn(r,{error:n}):console.warn(r,n)}},ke=function(e,t){var n=t.get,r=t.set,o=t.delete;t.get=O(n,"StoreGet",e.hooks,e.logger),t.set=O(r,"StoreSet",e.hooks,e.logger),t.delete=O(o,"StoreDelete",e.hooks,e.logger)},Oe=function(e){return _async_to_generator(function(e){var t,n,r,o,a,i,s,c,u,l,f,d,_,p,v,g,y,h,b,m,w,j,k,O,S,x,A,C,q,E,P,I,D,T,L,M,R,N,U,z=arguments;return _ts_generator(this,function(B){switch(B.label){case 0:t=z.length>1&&void 0!==z[1]?z[1]:{},n={},r=!0,o=!1,a=void 0,B.label=1;case 1:B.trys.push([1,6,7,8]),i=Object.entries(t)[Symbol.iterator](),B.label=2;case 2:return(r=(s=i.next()).done)?[3,5]:(c=_sliced_to_array(s.value,2),u=c[0],l=c[1],f=l.code,d=l.config,_=void 0===d?{}:d,p=l.env,v=void 0===p?{}:p,g=e.logger.scope("store").scope(u),[4,f({collector:e,logger:g,id:u,config:_,env:v})]);case 3:y=B.sent(),n[u]=y,B.label=4;case 4:return r=!0,[3,2];case 5:return[3,8];case 6:return h=B.sent(),o=!0,a=h,[3,8];case 7:try{r||null==i.return||i.return()}finally{if(o)throw a}return[7];case 8:m=function(e){var t={},n=!0,r=!1,o=void 0;try{for(var a,i=Object.keys(e)[Symbol.iterator]();!(n=(a=i.next()).done);n=!0){var s=a.value;t[s]="WHITE"}}catch(e){r=!0,o=e}finally{try{n||null==i.return||i.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),i=u.slice(-1===a?0:a).concat(n).join(" -> ");throw new Error("Cycle in cache.store chain: ".concat(i))}t[n]="GRAY",u.push(n);var s=null===(r=e[n].cache)||void 0===r?void 0:r.store;if(void 0!==s){if(!(s in e))throw new Error('Store "'.concat(n,'" cache.store references "').concat(s,'", which is not declared in flow.stores'));l(s)}u.pop(),t[n]="BLACK",c.push(n)}}var f=!0,d=!1,_=void 0;try{for(var p,v=Object.keys(e)[Symbol.iterator]();!(f=(p=v.next()).done);f=!0){var g=p.value;"WHITE"===t[g]&&l(g)}}catch(e){d=!0,_=e}finally{try{f||null==v.return||v.return()}finally{if(d)throw _}}return c}(b=t),w=!0,j=!1,k=void 0;try{for(O=m[Symbol.iterator]();!(w=(S=O.next()).done);w=!0)x=S.value,(C=b[x].cache)&&(q=void 0,E=void 0,void 0!==C.store?(q=n[C.store],E=C.store):(n.__cache||(n.__cache=we()),q=n.__cache,E="__cache"),P=null!==(A=C.namespace)&&void 0!==A?A:x,e.logger.scope("store-cache").scope(x).info('store "'.concat(x,'" caches with namespace "').concat(P,':" via ').concat(E)),n[x]=je(n[x],{storeId:x,cacheConfig:C,cacheStore:q,namespace:P,logger:e.logger.scope("store-cache").scope(x)}))}catch(e){j=!0,k=e}finally{try{w||null==O.return||O.return()}finally{if(j)throw k}}I=!0,D=!1,T=void 0;try{for(L=Object.entries(n)[Symbol.iterator]();!(I=(M=L.next()).done);I=!0)R=_sliced_to_array(M.value,2),N=R[0],U=R[1],"__cache"!==N&&ke(e,U)}catch(e){D=!0,T=e}finally{try{I||null==L.return||L.return()}finally{if(D)throw T}}return[2,n]}})}).apply(this,arguments)},Se=function(e){return _async_to_generator(function(){var t,n,r,o,s,c,u,l;return _ts_generator(this,function(f){switch(f.label){case 0:return r=i({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},s=y(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||{},logger:s,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){return 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,m(function(){return _async_to_generator(function(){var o,i,s,c,u,l,f,d,p,v,g,y,h,b,m,w,j,O,S,x,A;return _ts_generator(this,function(C){switch(C.label){case 0:return o=Date.now(),i=r.id,s=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!=s?s:a(i||"unknown"),u?[4,k(v,u,e)]:[3,2];case 1:if((h=C.sent()).ignore)return[2,_e({ok:!0})];if(u.consent&&!_(u.consent,e.consent,h.event.consent))return[2,_e({ok:!0})];v=h.event,C.label=2;case 2:return(null==l?void 0:l.length)&&e.transformers&&Object.keys(e.transformers).length>0?[4,pt(e,e.transformers,l,v,y,p,i?"source.".concat(i,".next"):void 0)]:[3,6];case 3:return null===(b=C.sent()).event?[2,_e({ok:!0})]:b.stopped?[2,(b.respond&&(p=b.respond),_e({ok:!0}))]:(b.respond&&(p=b.respond),Array.isArray(b.event)?[4,Promise.all(b.event.map(function(n){return _async_to_generator(function(){var r,o;return _ts_generator(this,function(a){return r=t(n),o=be(e,r),[2,le(e,o,{id:i,ingest:y,respond:p},g)]})})()}))]:[3,5]);case 4:return w=C.sent(),i&&(e.status.sources[i]||(e.status.sources[i]={count:0,duration:0}),(j=e.status.sources[i]).count+=b.event.length,j.lastAt=Date.now(),j.duration+=Date.now()-o),[2,null!==(m=w[0])&&void 0!==m?m:_e({ok:!0})];case 5:v=b.event,C.label=6;case 6:return O=t(v),S=be(e,O),[4,le(e,S,{id:i,ingest:y,respond:p},g)];case 7:return x=C.sent(),i&&(e.status.sources[i]||(e.status.sources[i]={count:0,duration:0}),(A=e.status.sources[i]).count++,A.lastAt=Date.now(),A.duration+=Date.now()-o),[2,x]}})})()},function(t){if(_instanceof(t,He))throw t;return e.status.failed++,e.logger.error("push failed",{event:n,ingest:r.ingest,error:t}),_e({ok:!1})})()];case 1:return[2,o.sent()]}})})()},"Push",e.hooks,e.logger)}(u,function(e){return _object_spread({timing:Math.round((Date.now()-u.timing)/10)/100,source:{type:"collector",schema:"4",version:"4.1.0-next-1779362268386"}},e)}),u.command=(p=he,O(function(e,t,n){return _async_to_generator(function(){return _ts_generator(this,function(r){switch(r.label){case 0:return[4,m(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,He))throw n;return d.status.failed++,d.logger.error("command failed",{command:e,data:t,error:n}),_e({ok:!1})})()];case 1:return[2,r.sent()]}})})()},"Command",(d=u).hooks,d.logger)),l=e.stores||{},[4,Oe(u,l)];case 1:return u.stores=f.sent(),function(e,t,n){var r=new Map,o=!0,a=!1,i=void 0;try{for(var s,c=Object.entries(e)[Symbol.iterator]();!(o=(s=c.next()).done);o=!0){var u=_sliced_to_array(s.value,2),l=u[0],f=u[1];t[l]&&r.set(f,t[l])}}catch(e){a=!0,i=e}finally{try{o||null==c.return||c.return()}finally{if(a)throw i}}if(0!==r.size)for(var d=!0,_=!1,p=void 0,v=0,g=[n.transformers,n.destinations,n.sources];v<g.length;v++){var y=g[v];if(y)try{for(var h,b=Object.values(y)[Symbol.iterator]();!(d=(h=b.next()).done);d=!0){m(h.value.env)}}catch(e){_=!0,p=e}finally{try{d||null==b.return||b.return()}finally{if(_)throw p}}}function m(e){if(e){var t=!0,n=!1,o=void 0;try{for(var a,i=Object.entries(e)[Symbol.iterator]();!(t=(a=i.next()).done);t=!0){var s=_sliced_to_array(a.value,2),c=s[0],u=s[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==i.return||i.return()}finally{if(n)throw o}}}}}(l,u.stores,e),u.stores.__cache||(u.stores.__cache=we()),[4,ve(u,e.destinations||{})];case 2:return u.destinations=f.sent(),[4,function(e){return _async_to_generator(function(e){var t,n,r,o,i,s,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,i=void 0,d.label=1;case 1:d.trys.push([1,6,7,8]),s=function(){var t,r,o,i,s,c,l,f,d,_,p,v,g,y,h,b,m,w,j,O,S,x;return _ts_generator(this,function(A){switch(A.label){case 0:return t=_sliced_to_array(u.value,2),r=t[0],o=t[1],f=o.code,d=o.env,_=void 0===d?{}:d,p=function(e,t){var n,r=(n=t,new Set(_to_consumable_array(Ye[n]).concat(_to_consumable_array(Ze),_to_consumable_array(Qe[n])))),o=!0,a=!1,i=void 0;try{for(var s,c=Object.keys(e)[Symbol.iterator]();!(o=(s=c.next()).done);o=!0){var u=s.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,i=e}finally{try{o||null==c.return||c.return()}finally{if(a)throw i}}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&&Xe.test(e.import)?{ok:!0}:{ok:!1,code:"INVALID_IMPORT",key:"import",reason:"import must match ".concat(Xe.source,". Got: ").concat(JSON.stringify(e.import),".")}}(o,"Transformer"),p.ok?(v=N(o,"before"),g=v.config,y=N(_object_spread_props(_object_spread({},o),{config:g}),"next"),h=y.config,b=Object.keys(_).length>0?_object_spread_props(_object_spread({},h),{env:_}):h,m=o.cache,w=m?_object_spread_props(_object_spread({},b),{cache:m}):b,j=e.logger.scope("transformer").scope(r),O={collector:e,logger:j,id:r,ingest:a(r),config:w,env:_},S=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,i=!1,s=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 _=_sliced_to_array(f.value,2),p=_[0],v=_[1];if("object"==(void 0===v?"undefined":_type_of(v))&&null!==v)try{for(var g,y=Object.entries(v)[Symbol.iterator]();!(a=(g=y.next()).done);a=!0){var h=_sliced_to_array(g.value,2),b=h[0],m=h[1];if("object"==(void 0===m?"undefined":_type_of(m))&&null!==m){var w=m;void 0!==w.data&&n.push("mapping[".concat(p,"][").concat(b,"].data")),void 0!==w.silent&&n.push("mapping[".concat(p,"][").concat(b,"].silent"))}}}catch(e){i=!0,s=e}finally{try{a||null==y.return||y.return()}finally{if(i)throw s}}}}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,k(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,S(O)]):(e.logger.warn("Transformer ".concat(r," invalid (").concat(p.code,"): ").concat(p.reason,". Skipping.")),[2,"continue"]);case 1:return x=A.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!==(i=x.config)&&void 0!==i?i:{}),{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!==(s=x.config)&&void 0!==s?s:{}),{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(s())];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,i=l,[3,8];case 7:try{r||null==c.return||c.return()}finally{if(o)throw i}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})})()},xe=function(e){return _async_to_generator(function(){var t,n,r,o,a,i,s,c,u,l;return _ts_generator(this,function(f){switch(f.label){case 0:return[4,Se(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 i,s;return _ts_generator(this,function(c){if("string"==typeof e&&e.startsWith("walker "))return i=e.replace("walker ",""),[2,r.command(i,t)];if("string"==typeof e)s={name:e},t&&"object"==(void 0===t?"undefined":_type_of(t))&&!Array.isArray(t)&&(s.data=t);else{if(!e||"object"!=(void 0===e?"undefined":_type_of(e)))return[2,_e({ok:!1})];s=e,t&&"object"==(void 0===t?"undefined":_type_of(t))&&!Array.isArray(t)&&(s.data=_object_spread({},s.data||{},t))}return[2,(n&&"object"==(void 0===n?"undefined":_type_of(n))&&(s.context=n),o&&Array.isArray(o)&&(s.nested=o),a&&"object"==(void 0===a?"undefined":_type_of(a))&&(s.custom=a),r.push(s))]})})()}},t.sources.elb=n,[4,$(t,e.sources||{})];case 2:return f.sent(),o=e.consent,a=e.user,i=e.globals,s=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 i&&Object.assign(t.globals,i),s&&Object.assign(t.custom,s),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})]}})})()},Ae=Object.defineProperty,Ce=Object.getOwnPropertyDescriptor,qe=Object.getOwnPropertyNames,Ee=Object.prototype.hasOwnProperty,Pe=function(e,t){for(var n in t)Ae(e,n,{get:t[n],enumerable:!0})},Ie={};Pe(Ie,{SourceDataLayer:function(){return tt},createTrigger:function(){return ht},default:function(){return wt},env:function(){return nt},sourceDataLayer:function(){return mt},step:function(){return st},trigger:function(){return bt}});var De=Object.defineProperty,Te=function(e,t){for(var n in t)De(e,n,{get:t[n],enumerable:!0})};Te({},{stepId:function(){return e}});Te({},{getDestination:function(){return t}});Te({},{Level:function(){return Me}});var Le,Me=((Le=Me||{})[Le.ERROR=0]="ERROR",Le[Le.WARN=1]="WARN",Le[Le.INFO=2]="INFO",Le[Le.DEBUG=3]="DEBUG",Le);Te({},{getTransformer:function(){return n}});Te({},{getSource:function(){return r}});Te({},{getStore:function(){return o}});var Re={merge:!0,shallow:!0,extend:!0};function Ne(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]=Ne(e[o],t));return r}if("[object Array]"===n){var a=[];return t.set(e,a),e.forEach(function(e){a.push(Ne(e,t))}),a}if("[object Date]"===n)return new Date(e.getTime());if("[object RegExp]"===n){var i=e;return new RegExp(i.source,i.flags)}return e}function Ue(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&&s(r)){var i=n.slice(o+1).join("."),u=[],f=!0,d=!1,_=void 0;try{for(var p,v=r[Symbol.iterator]();!(f=(p=v.next()).done);f=!0){var g=Ue(p.value,i,t);u.push(g)}}catch(e){d=!0,_=e}finally{try{f||null==v.return||v.return()}finally{if(d)throw _}}return u}if(void 0===(r=l(r)||s(r)?r[a]:void 0))break}return c(r)?r:t}var ze={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}}},Be=function(e,t,n,r){var o="".concat(Me[e]).concat(r.length>0?" [".concat(r.join(":"),"]"):""),a=Object.keys(n).length>0,i=0===e?console.error:1===e?console.warn:console.log;a?i(o,t,n):i(o,t)};function Ke(e){var t=e.level,n=e.handler,r=e.jsonHandler,o=e.scope,a=function(e,r,a){if(e<=t){var i=g(r,a);n?n(e,i.message,i.context,o,Be):Be(e,i.message,i.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=g(e,t);throw n?n(0,r.message,r.context,o,Be):Be(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 Ke({level:t,handler:n,jsonHandler:r,scope:_to_consumable_array(o).concat([e])})}}}function Ge(e){return function(e){return"boolean"==typeof e}(e)||f(e)||function(e){return"number"==typeof e&&!Number.isNaN(e)}(e)||!c(e)||s(e)&&e.every(Ge)||l(e)&&Object.values(e).every(Ge)}var He=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 Fe(e,t,n){return _async_to_generator(function(){return _ts_generator(this,function(r){return[2,(s(t)?t:[t]).reduce(function(t,r){return _async_to_generator(function(){var o,a,i,u,l,d,p,v,g,y,b,w,k,O,S,x,A,C,q,E,P,I;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?(i=a.condition,u=a.consent,l=a.fn,d=a.key,p=a.loop,v=a.map,g=a.set,y=a.validate,b=a.value,w=_object_spread_props(_object_spread({},n),{mapping:r}),(k=i)?[4,m(i,function(e){if(_instanceof(e,He))throw e;return w.logger.error("mapping condition failed",{event:w.event,error:e}),!1})(e,w)]:[3,3]):[2]);case 2:k=!D.sent(),D.label=3;case 3:return k?[2]:u&&!_(u,w.consent)?[2,b]:(O=c(b)?b:e,l?[4,m(l,function(e){if(_instanceof(e,He))throw e;w.logger.error("mapping fn failed",{event:w.event,error:e})})(e,w)]:[3,5]);case 4:O=D.sent(),D.label=5;case 5:return d&&(O=Ue(e,d,b)),p?(S=_sliced_to_array(p,2),x=S[0],A=S[1],"this"!==x?[3,6]:(q=[e],[3,8])):[3,11];case 6:return[4,j(e,x,w)];case 7:q=D.sent(),D.label=8;case 8:return s(C=q)?[4,Promise.all(C.map(function(e){return j(e,A,w)}))]:[3,10];case 9:O=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(i){switch(i.label){case 0:return[4,t];case 1:return n=i.sent(),[4,j(e,a,w)];case 2:return r=i.sent(),[2,(c(r)&&(n[o]=r),n)]}})})()},Promise.resolve({}))]:[3,13];case 12:return O=D.sent(),[3,16];case 13:return(E=g)?[4,Promise.all(g.map(function(t){return Fe(e,t,w)}))]:[3,15];case 14:E=O=D.sent(),D.label=15;case 15:D.label=16;case 16:D.label=17;case 17:return(P=y)?[4,m(y,function(e){if(_instanceof(e,He))throw e;return w.logger.error("mapping validate failed",{event:w.event,error:e}),!1})(O,w)]:[3,19];case 18:P=!D.sent(),D.label=19;case 19:return P&&(O=void 0),I=h(O),[2,c(I)?I:h(b)]}})})()},Promise.resolve(void 0))]})})()}function We(e){if(void 0===e||"*"===e)return function(){return!0};if("and"in e){var t=e.and.map(We);return function(e){return t.every(function(t){return t(e)})}}if("or"in e){var n=e.or.map(We);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=Ue(e,t),r=a(n);return o?!r:r}}(e)}function Ve(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 Ve({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,i=e[Symbol.iterator]();!(n=(a=i.next()).done);n=!0){var s=Ve(a.value);void 0!==s&&t.push(s)}}catch(e){r=!0,o=e}finally{try{n||null==i.return||i.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:We(c.match),next:Ve(c.next)}:Ve(c.next);if("one"in c&&c.one){var u=S(c.one);return c.match?{type:"gate",match:We(c.match),next:{type:"one",routes:u}}:{type:"one",routes:u}}if("many"in c&&c.many){var l=S(c.many);return c.match?{type:"gate",match:We(c.match),next:{type:"many",routes:l}}:{type:"many",routes:l}}return c.match?{type:"gate",match:We(c.match)}:void 0}}var $e=new WeakMap;function Je(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 Je(e.next,t)}if("sequence"===e.type){var n=[],r=!0,o=!1,a=void 0;try{for(var i,s=e.value[Symbol.iterator]();!(r=(i=s.next()).done);r=!0){var c,u=Je(i.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==s.return||s.return()}finally{if(o)throw a}}return n.length>0?n:void 0}if("many"===e.type){var l=[],f=!0,d=!1,_=void 0;try{for(var p,v=e.routes[Symbol.iterator]();!(f=(p=v.next()).done);f=!0){var g,y=p.value;if(y.match(t)){var h=Je(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,_=e}finally{try{f||null==v.return||v.return()}finally{if(d)throw _}}return l.length>0?l:void 0}var b=!0,m=!1,w=void 0;try{for(var j,k=e.routes[Symbol.iterator]();!(b=(j=k.next()).done);b=!0){var O=j.value;if(O.match(t))return Je(O.next,t)}}catch(e){m=!0,w=e}finally{try{b||null==k.return||k.return()}finally{if(m)throw w}}}}var Ye={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"]},Ze=["config","env","validate","variables","examples","disabled","id","logger","mock","chainMocks"],Qe={Source:["primary"],Transformer:[],Destination:[],Store:[]},Xe=/^[A-Za-z_$][A-Za-z0-9_$]*$/,et=!1,tt={},nt={};Pe(nt,{push:function(){return it}});var rt=function(){},ot=function(){return function(){return Promise.resolve({ok:!0})}},at={error:rt,warn:rt,info:rt,debug:rt,throw:function(e){throw"string"==typeof e?new Error(e):e},json:rt,scope:function(){return at}},it={get push(){return ot()},get command(){return ot()},get elb(){return ot()},get window(){return{dataLayer:[],addEventListener:rt,removeEventListener:rt}},logger:at},st={};Pe(st,{consentUpdate:function(){return ut},directEvent:function(){return dt},gtagAddToCart:function(){return lt},gtagPurchase:function(){return ct},gtagViewItem:function(){return ft}});var ct={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}]}}]]},ut={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"}}]]},lt={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}]}}]]},ft={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}]}}]]},dt={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"}}]]},_t={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 pt(e,t,n,r,o,i,s){return _async_to_generator(function(){var c,u,l,f,d,_,p,v,g,y,h;return _ts_generator(this,function(b){switch(b.label){case 0:o||(o=a(null!==(c=n[0])&&void 0!==c?c:"chain")),s&&o._meta&&(o._meta.chainPath=s),u=r,l=i,f=!0,d=!1,_=void 0,b.label=1;case 1:b.trys.push([1,6,7,8]),p=function(){var r,a,i,c,f,d,_,p,v,y,h,b,w,j,k,O,S,P,I,D,T,L,N,G,H,F,W,V,$,J,Y,Z,Q,X,ee,te,ne,re,oe,ae,ie,se,ce,ue,le,fe;return _ts_generator(this,function(de){switch(de.label){case 0:return r=g.value,(_=t[r])?o&&o._meta&&o._meta.path.length>256?[2,{v:(e.logger.error("Max path length exceeded at ".concat(r)),{event:null,respond:l})}]:(o&&o._meta&&(o._meta.hops++,o._meta.path.push(r)),[4,m(z,function(t){if(_instanceof(t,He))throw t;return e.status.failed++,e.logger.scope("transformer:".concat(_.type||"unknown")).error("transformer init failed",{transformer:r,error:t}),!1})(e,_,r)]):(e.logger.warn("Transformer not found: ".concat(r)),[2,"continue"]);case 1:return de.sent()?s&&void 0!==(null===(i=_.config)||void 0===i||null===(a=i.chainMocks)||void 0===a?void 0:a[s])?(p=_.config.chainMocks[s],e.logger.scope("transformer:".concat(_.type||"unknown")).debug("chainMock",{chain:s}),u=p,[2,"continue"]):void 0!==(null===(c=_.config)||void 0===c?void 0:c.mock)?(e.logger.scope("transformer:".concat(_.type||"unknown")).debug("mock"),u=_.config.mock,[2,"continue"]):(null===(f=_.config)||void 0===f?void 0:f.disabled)?[2,"continue"]:(v=null===(d=_.config)||void 0===d?void 0:d.cache,y=v?C(v):void 0,h=y?M(y,e):void 0,b=void 0,y&&h?(w=A(o,u),[4,q(y,h,w)]):[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)&&(b={key:j.key,ttl:j.rule.ttl}),de.label=3;case 3:return(k=_.config.before)?1!==(O=x(k,A(o,u))).length?[3,6]:(S=U(O[0],R(t))).length>0?[4,pt(e,t,S,u,o,l,s)]:[3,5]:[3,9];case 4:if(null===(D=de.sent()).event)return[2,{v:{event:null,respond:null!==(P=D.respond)&&void 0!==P?P: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 O.length>1?[4,Promise.all(O.map(function(n){return m(pt,function(t){return e.logger.scope("transformer:many").error("many branch ".concat(n," failed"),{error:t}),{event:null,respond:void 0}})(e,t,U(n,R(t)),u,K(o,n),void 0,s)}))]:[3,8];case 7:de.sent(),de.label=8;case 8:de.label=9;case 9:return[4,m(B,function(t){return e.logger.scope("transformer:".concat(_.type||"unknown")).error("Push failed",{error:t}),!1})(e,_,r,u,o,l)];case 10:return!1===(T=de.sent())?[2,{v:{event:null,respond:l}}]:Array.isArray(T)?(L=n.slice(n.indexOf(r)+1),[4,Promise.all(T.map(function(n){return _async_to_generator(function(){var r,a,i,c;return _ts_generator(this,function(f){switch(f.label){case 0:return r=n.event||u,a=K(o,"unknown"),n.next?0===(i=x(n.next,A(a,r))).length?[2,{event:r,respond:l}]:1===i.length?[2,(c=U(i[0],R(t))).length>0?pt(e,t,c,r,a,l,s):{event:r,respond:l}]:[4,Promise.all(i.map(function(n){return m(pt,function(t){return e.logger.scope("transformer:many").error("many branch ".concat(n," failed"),{error:t}),{event:null,respond:void 0}})(e,t,U(n,R(t)),r,K(a,n),void 0,s)}))]:[3,2];case 1:return[2,f.sent().map(function(e){return{event:e.event,respond:void 0}})];case 2:return[2,L.length>0?pt(e,t,L,r,a,l,s):{event:r,respond:l}]}})})()}))]):[3,12];case 11:N=de.sent(),G=l,H=[],F=!0,W=!1,V=void 0;try{for($=N.flat()[Symbol.iterator]();!(F=(J=$.next()).done);F=!0)if(null!==(Y=J.value))if(Y&&"object"==(void 0===Y?"undefined":_type_of(Y))&&"event"in Y){if((Q=Y).respond&&(G=Q.respond),null===Q.event)continue;Array.isArray(Q.event)?(Z=H).push.apply(Z,_to_consumable_array(Q.event)):H.push(Q.event)}else H.push(Y)}catch(e){W=!0,V=e}finally{try{F||null==$.return||$.return()}finally{if(W)throw V}}return[2,{v:0===H.length?{event:null,respond:G}:1===H.length?{event:H[0],respond:G}:{event:H,respond:G}}];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=x(te,A(o,u))).length?(X&&(u=X),[2,"continue"]):1===ne.length?[2,{v:(re=U(ne[0],R(t))).length>0?pt(e,t,re,X||u,o,l,s):(e.logger.warn("Branch target not found: ".concat(JSON.stringify(te))),{event:null,respond:l})}]:(oe={},[4,Promise.all(ne.map(function(n){return m(pt,function(t){return e.logger.scope("transformer:many").error("many branch ".concat(n," failed"),{error:t}),{event:null,respond:void 0}})(e,t,U(n,R(t)),X||u,K(o,n),void 0,s)}))])):[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 b&&h&&E(h,b.key,u,b.ttl),ae=_.config.next,ie="string"==typeof ae||Array.isArray(ae)&&ae.every(function(e){return"string"==typeof e}),se=void 0!==ae&&!ie,T&&("object"!=(void 0===T?"undefined":_type_of(T))||T.next)||!se?[3,19]:1===(ce=x(_.config.next,A(o,u))).length?[2,{v:(ue=U(ce[0],R(t))).length>0?pt(e,t,ue,u,o,l,s):{event:u,respond:l}}]:(le={},ce.length>1?[4,Promise.all(ce.map(function(n){return m(pt,function(t){return e.logger.scope("transformer:many").error("many branch ".concat(n," failed"),{error:t}),{event:null,respond:void 0}})(e,t,U(n,R(t)),u,K(o,n),void 0,s)}))]:[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](),b.label=2;case 2:return(f=(g=v.next()).done)?[3,5]:[5,_ts_values(p())];case 3:if("object"===_type_of(y=b.sent()))return[2,y.v];b.label=4;case 4:return f=!0,[3,2];case 5:return[3,8];case 6:return h=b.sent(),d=!0,_=h,[3,8];case 7:try{f||null==v.return||v.return()}finally{if(d)throw _}return[7];case 8:return[2,{event:u,respond:l}]}})})()}var vt,gt=new WeakMap,yt=Object.freeze({batched:!0}),ht=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,i,s,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,i=!1,s=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===(_=d.env)||void 0===_?void 0:_.window)||(o.sources[f]=_object_spread_props(_object_spread({},d),{env:_object_spread_props(_object_spread({},d.env),{window:window})}))}catch(e){i=!0,s=e}finally{try{a||null==c.return||c.return()}finally{if(i)throw s}}}return[4,xe(_object_spread_props(_object_spread({},o),{run:null===(r=o.run)||void 0===r||r}))];case 1:p=g.sent(),t={collector:p.collector,elb:p.elb},g.label=2;case 2:return(v=window).dataLayer||(v.dataLayer=[]),v.dataLayer.push(n),[2]}})})()}},[2,{get flow(){return t},trigger:n}]})})()},bt=function(e,t){var n=t.window;n.dataLayer||(n.dataLayer=[]),n.dataLayer.push(e)},mt=function(e){return _async_to_generator(function(){var t,n,r,o,a,i,s,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),s=0,c=function(){if(o){var e=a.name||"dataLayer",t=o[e];s=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 i=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(et)return i.apply(void 0,_to_consumable_array(n));et=!0;try{var a=!0,s=!1,c=void 0;try{for(var u,l=n[Symbol.iterator]();!(a=(u=l.next()).done);a=!0){var f=u.value;I(e,r,f)}}catch(e){s=!0,c=e}finally{try{a||null==l.return||l.return()}finally{if(s)throw c}}}finally{et=!1}return i.apply(void 0,_to_consumable_array(n))}}}(r,i,o)}},u=function(e){return _async_to_generator(function(){return _ts_generator(this,function(t){return"run"===e&&o&&s>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)&&!et){et=!0;try{for(var i=null!=n?n:a.length,s=0;s<i;s++)I(e,o,a[s])}finally{et=!1}}}(r,i,s,o),s=0),[2]})})()},[2,{type:"dataLayer",config:i={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]})})()}}]})})()},wt=mt;return vt=Ie,function(e,t,n,r){if(t&&"object"===(void 0===t?"undefined":_type_of(t))||"function"==typeof t){var o=!0,a=!1,i=void 0;try{for(var s,c=function(){var o=s.value;Ee.call(e,o)||o===n||Ae(e,o,{get:function(){return t[o]},enumerable:!(r=Ce(t,o))||r.enumerable})},u=qe(t)[Symbol.iterator]();!(o=(s=u.next()).done);o=!0)c()}catch(e){a=!0,i=e}finally{try{o||null==u.return||u.return()}finally{if(a)throw i}}}return e}(Ae({},"__esModule",{value:!0}),vt)}();
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,i){try{var s=e[a](i),c=s.value}catch(e){return void n(e)}s.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 i(e){asyncGeneratorStep(a,r,o,i,s,"next",e)}function s(e){asyncGeneratorStep(a,r,o,i,s,"throw",e)}i(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=[],i=!0,s=!1;try{for(n=n.call(e);!(i=(r=n.next()).done)&&(a.push(r.value),!t||a.length!==t);i=!0);}catch(e){s=!0,o=e}finally{try{i||null==n.return||n.return()}finally{if(s)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:[]},i=Object.create(("function"==typeof Iterator?Iterator:Object).prototype),s=Object.defineProperty;return s(i,"next",{value:c(0)}),s(i,"throw",{value:c(1)}),s(i,"return",{value:c(2)}),"function"==typeof Symbol&&s(i,Symbol.iterator,{value:function(){return this}}),i;function c(s){return function(c){return function(s){if(n)throw new TypeError("Generator is already executing.");for(;i&&(i=0,s[0]&&(a=0)),a;)try{if(n=1,r&&(o=2&s[0]?r.return:s[0]?r.throw||((o=r.return)&&o.call(r),0):r.next)&&!(o=o.call(r,s[1])).done)return o;switch(r=0,o&&(s=[2&s[0],o.value]),s[0]){case 0:case 1:o=s;break;case 4:return a.label++,{value:s[1],done:!1};case 5:a.label++,r=s[1],s=[0];continue;case 7:s=a.ops.pop(),a.trys.pop();continue;default:if(!(o=a.trys,(o=o.length>0&&o[o.length-1])||6!==s[0]&&2!==s[0])){a=0;continue}if(3===s[0]&&(!o||s[1]>o[0]&&s[1]<o[3])){a.label=s[1];break}if(6===s[0]&&a.label<o[1]){a.label=o[1],o=s;break}if(o&&a.label<o[2]){a.label=o[2],a.ops.push(s);break}o[2]&&a.ops.pop(),a.trys.pop();continue}s=t.call(e,a)}catch(e){s=[6,e],r=0}finally{n=o=0}if(5&s[0])throw s[1];return{value:s[0]?s[1]:void 0,done:!0}}([s,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]}}},i=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({},Re,n);var r=Object.entries(t).reduce(function(t,r){var o=_sliced_to_array(r,2),a=o[0],i=o[1],s=e[a];return n.merge&&Array.isArray(s)&&Array.isArray(i)?t[a]=i.reduce(function(e,t){return e.includes(t)?e:_to_consumable_array(e).concat([t])},_to_consumable_array(s)):(n.extend||a in e)&&(t[a]=i),t},{});return n.shallow?_object_spread({},e,r):(Object.assign(e,r),e)},s=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&&!s(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=Ne(e),o=t.split("."),a=r,i=0;i<o.length;i++){var s=o[i];i===o.length-1?a[s]=n:(s in a&&"object"==_type_of(a[s])&&null!==a[s]||(a[s]={}),a=a[s])}return r},_=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},p=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},v=function(e){return{message:e.message,name:e.name,stack:e.stack,cause:e.cause}},g=function(e,t){var n,r={};return _instanceof(e,Error)?(n=e.message,r.error=v(e)):n=e,void 0!==t&&(_instanceof(t,Error)?r.error=v(t):"object"==(void 0===t?"undefined":_type_of(t))&&null!==t?"error"in(r=_object_spread({},r,t))&&_instanceof(r.error,Error)&&(r.error=v(r.error)):r.value=t),{message:n,context:r}},y=function(){var e,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return Ke({level:void 0!==t.level?(e=t.level,"string"==typeof e?Me[e]:e):0,handler:t.handler,jsonHandler:t.jsonHandler,scope:[]})},h=function(e){return Ge(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()}}},m=function(e,t,n){return function(){for(var r=arguments.length,o=new Array(r),a=0;a<r;a++)o[a]=arguments[a];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]}})})()}},w=function(e,t,n){return _async_to_generator(function(){var r,o,a,i,c,u,f,d,_,p;return _ts_generator(this,function(v){return o=_sliced_to_array((e.name||"").split(" "),2),a=o[0],i=o[1],t&&a&&i?(u="",d=i,_=function(t){if(t)return(s(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,((p=t[f])&&(p[d]||(d="*"),c=_(p[d])),c||(f="*",d="*",c=_(null===(r=t[f])||void 0===r?void 0:r[d])),c&&(u="".concat(f," ").concat(d)),{eventMapping:c,mappingKey:u})]):[2,{}]})})()},j=function(e){return _async_to_generator(function(e){var t,n,r,o,a,i,u,f,d,_,p,v,g,y,h,b,w=arguments;return _ts_generator(this,function(j){switch(j.label){case 0:if(t=w.length>1&&void 0!==w[1]?w[1]:{},n=w.length>2&&void 0!==w[2]?w[2]:{},!c(e))return[2];if(a=l(e)&&e.consent||n.consent||(null===(o=n.collector)||void 0===o?void 0:o.consent),i=null!==(r=n.event)&&void 0!==r?r:l(e)?e:{},!n.collector)throw new Error("getMappingValue: context.collector is required");u={event:i,mapping:t,collector:n.collector,logger:n.collector.logger,consent:a},f=s(t)?t:[t],d=!0,_=!1,p=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,m(Fe,function(e){if(_instanceof(e,He))throw e;n.collector&&n.collector.status.failed++,u.logger.error("mapping processing failed",{event:i,error:e})})(e,y,_object_spread_props(_object_spread({},u),{mapping:y}))]);case 3:if(h=j.sent(),c(h))return[2,h];j.label=4;case 4:return d=!0,[3,2];case 5:return[3,8];case 6:return b=j.sent(),_=!0,p=b,[3,8];case 7:try{d||null==v.return||v.return()}finally{if(_)throw p}return[7];case 8:return[2]}})}).apply(this,arguments)},k=function(e,t,n){return _async_to_generator(function(){var r,o,a,s,c,u,f,_,p,v,g;return _ts_generator(this,function(y){switch(y.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,j(e,a,{collector:n,event:e})];case 1:return t=r.sent(),e=d(e,o,t),[2]}})})()}))]:[3,2];case 1:y.sent(),y.label=2;case 2:return[4,w(e,t.mapping,n)];case 3:return o=y.sent(),a=o.eventMapping,s=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,j(e,a,{collector:n,event:e})];case 1:return t=r.sent(),e=d(e,o,t),[2]}})})()}))]:[3,5];case 4:y.sent(),y.label=5;case 5:return(u=t.data)?[4,j(e,t.data,{collector:n,event:e})]:[3,7];case 6:u=y.sent(),y.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:s,ignore:!0,silent:f}]:(a.name&&(e.name=a.name),a.data?(p=a.data)?[4,j(e,a.data,{collector:n,event:e})]:[3,9]:[3,10]):[3,10];case 8:p=y.sent(),y.label=9;case 9:_=p,c=l(c)&&l(_)?i(c,_):_,y.label=10;case 10:return(v=null!==(r=null==a?void 0:a.include)&&void 0!==r?r:t.include)&&v.length>0&&(g=function(e,t){var n={},r=t.includes("all")?Object.keys(ze):t,o=!0,a=!1,i=void 0;try{for(var s,c=r[Symbol.iterator]();!(o=(s=c.next()).done);o=!0){var u=s.value,f=ze[u];if(f){var d=f(e),_=!0,p=!1,v=void 0;if(l(d))try{for(var g,y=Object.entries(d)[Symbol.iterator]();!(_=(g=y.next()).done);_=!0){var h=_sliced_to_array(g.value,2),b=h[0],m=h[1];if(void 0!==m){var w="context"===u&&Array.isArray(m)?m[0]:m;n["".concat(u,"_").concat(b)]=w}}}catch(e){p=!0,v=e}finally{try{_||null==y.return||y.return()}finally{if(p)throw v}}}}}catch(e){a=!0,i=e}finally{try{o||null==c.return||c.return()}finally{if(a)throw i}}return n}(e,v),Object.keys(g).length>0&&(c=l(c)?i(g,c):null!=c?c:g)),[2,{event:e,data:c,mapping:a,mappingKey:s,ignore:!1,silent:f}]}})})()},O=function(e,t,n,r){return function(){for(var o=arguments.length,a=new Array(o),i=0;i<o;i++)a[i]=arguments[i];var s,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{s=l.apply(void 0,[{fn:e}].concat(_to_consumable_array(a)))}catch(t){d("Hook ".concat(String(c)," failed, falling back to original function"),t),s=e.apply(void 0,_to_consumable_array(a))}else s=e.apply(void 0,_to_consumable_array(a));if(f)try{s=f.apply(void 0,[{fn:e,result:s}].concat(_to_consumable_array(a)))}catch(e){d("Hook ".concat(String(u)," failed, keeping original result"),e)}return s}},S=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=Ve(e))&&void 0!==t?t:{type:"chain",value:[]}};var r=e;return{match:r.match?We(r.match):function(){return!0},next:null!==(n=Ve(r))&&void 0!==n?n:{type:"chain",value:[]}}})},x=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=$e.get(e);r?t=r:(t=Ve(e))&&$e.set(e,t)}else t=Ve(e);if(!t)return[];var o=Je(t,n);return void 0===o?[]:Array.isArray(o)?o:[o]},A=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?We(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,i,s,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=Ue(n,e))&&void 0!==t?t:"")})).every(function(e){return""===e})?[2,null]:(i=a.join(":"),s=null!=r?r:e.namespace,c=s?"".concat(s,":").concat(i):i,[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}]}})})()},E=function(e,t,n,r){e.set(t,n,1e3*r)},P=function(e,t,n,r){return _async_to_generator(function(){var o,a,i,s,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,i=!1,s=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],_=l[1],p=[o,f],[4,j(n,_,{collector:r})]);case 3:o=d.apply(void 0,p.concat([g.sent()])),g.label=4;case 4:return a=!0,[3,2];case 5:return[3,8];case 6:return v=g.sent(),i=!0,s=v,[3,8];case 7:try{a||null==c.return||c.return()}finally{if(i)throw s}return[7];case 8:return[2,o]}})})()},I=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=D(n);if(r){var o=t.prefix||"dataLayer",a="".concat(o," ").concat(r.name),i=(r.name,{name:a,data:_object_without_properties(r,["name"])});b(function(){return e(i)},function(){})()}},D=function(e){if(l(e)&&f(e.event))return _object_spread({name:e.event},_object_without_properties(e,["event"]));if(s(e)&&e.length>=2)return T(e);if(L(e)){var t=Array.from(e);return T(t)}return null},T=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 i={};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),i=_object_spread({},a);break;case"event":if(!f(o))return null;t=o,l(a)&&(i=_object_spread({},a));break;case"config":if(!f(o))return null;t="".concat(r," ").concat(o),l(a)&&(i=_object_spread({},a));break;case"set":if(f(o))t="".concat(r," ").concat(o),l(a)&&(i=_object_spread({},a));else{if(!l(o))return null;t="".concat(r," custom"),i=_object_spread({},o)}break;default:return null}return _object_spread({name:t},i)},L=function(e){return null!=e&&"object"===(void 0===e?"undefined":_type_of(e))&&"length"in e&&"number"==typeof e.length&&e.length>0},M=function(e,t){return e.storeId&&t.stores[e.storeId]?t.stores[e.storeId]:t.stores.__cache},R=function(e){var t={},n=!0,r=!1,o=void 0;try{for(var a,i=Object.entries(e)[Symbol.iterator]();!(n=(a=i.next()).done);n=!0){var s,c=_sliced_to_array(a.value,2),u=c[0],l=null===(s=c[1].config)||void 0===s?void 0:s.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==i.return||i.return()}finally{if(r)throw o}}return t},N=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}},U=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 i;(i=n).push.apply(i,_to_consumable_array(a));break}o=a}return n},z=function(e,t,n){return _async_to_generator(function(){var r,o,i,s;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)),i={collector:e,logger:o,id:n,ingest:a(n),config:t.config,env:G(t.config.env)},o.debug("init"),[4,O(t.init,"TransformerInit",e.hooks,e.logger)(i)]);case 1:if(!1===(s=c.sent()))return[2,!1];t.config=_object_spread_props(_object_spread({},s||t.config),{env:(null==s?void 0:s.env)||t.config.env,init:!0}),o.debug("init done"),c.label=2;case 2:return[2,!0]}})})()},B=function(e,t,n,r,o,a){return _async_to_generator(function(){var i,s,c,u;return _ts_generator(this,function(l){switch(l.label){case 0:return i=t.type||"unknown",s=e.logger.scope("transformer:".concat(i)),c={collector:e,logger:s,id:n,ingest:o,config:t.config,env:_object_spread({},G(t.config.env),a?{respond:a}:{})},s.debug("push",{event:r.name}),[4,O(t.push,"TransformerPush",e.hooks,e.logger)(r,c)];case 1:return u=l.sent(),[2,(s.debug("push done"),u)]}})})()},K=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)},G=function(e){return e&&l(e)?e:{}},H=function(e){return"string"==typeof e||!(!Array.isArray(e)||!e.every(function(e){return"string"==typeof e}))},F=function(e,t,n){return _async_to_generator(function(){var r,o,a,i,s,c,u,l,f,d,_;return _ts_generator(this,function(p){switch(p.label){case 0:if(!t.on||!(null===(r=t.queueOn)||void 0===r?void 0:r.length))return[2];a=t.queueOn,t.queueOn=[],i=n||(null===(o=t.config)||void 0===o?void 0:o.id)||"unknown",s=!0,c=!1,u=void 0,p.label=1;case 1:p.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,m(t.on,function(t){if(_instanceof(t,He))throw t;e.status.failed++,e.logger.scope("source").error("source on flush failed",{sourceId:i,type:r,error:t})})(r,o)];case 1:return a.sent(),[2]}})},f=a[Symbol.iterator](),p.label=2;case 2:return(s=(d=f.next()).done)?[3,5]:[5,_ts_values(l())];case 3:p.sent(),p.label=4;case 4:return s=!0,[3,2];case 5:return[3,8];case 6:return _=p.sent(),c=!0,u=_,[3,8];case 7:try{s||null==f.return||f.return()}finally{if(c)throw u}return[7];case 8:return[2]}})})()},W=function(e){var t;return Boolean(e.config.init)&&!(null===(t=e.config.require)||void 0===t?void 0:t.length)},V=function(e,t,n){return _async_to_generator(function(){var r,o,i,s,c,u,l,f,d,_,p,v,g,y,h,b,w,k,O,S,I,D,T,L,N;return _ts_generator(this,function(z){switch(z.label){case 0:return o=n.code,i=n.config,s=void 0===i?{}:i,c=n.env,u=void 0===c?{}:c,l=n.primary,f=n.next,d=n.before,_=n.cache,v=(p=_)?C(_object_spread_props(_object_spread({},p),{stop:null===(r=p.stop)||void 0===r||r})):void 0,g=H(f)?U(f,R(e.transformers)):void 0,y=H(d)?U(d,R(e.transformers)):void 0,h=u.push,b=null!=h?h:e.push,w=Boolean(h),k=function(n,r,o){return _async_to_generator(function(){var a,i,c,u,l,_,p,h,j,k,O,S,C,I,D,T,L,N,z,B,G,H,F,W;return _ts_generator(this,function(V){switch(V.label){case 0:return i=null!=y?y:void 0!==d?function(){var t=x(d,A(o.ingest));return 0===t.length?[]:U(1===t.length?t[0]:t,R(e.transformers))}():[],c=[n],i.length>0&&e.transformers&&Object.keys(e.transformers).length>0?[4,pt(e,e.transformers,i,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=M(v,e))?(_=A(o.ingest),[4,q(v,l,_)]):[3,7];case 3:return(p=V.sent())?"HIT"===p.status&&void 0!==p.value&&v.stop?(j=p.value,p.rule.update?[4,P(j,p.rule.update,_object_spread_props(_object_spread({},_),{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"===p.status&&v.stop&&o.respond&&(k=o.respond,O=p.rule.update,S=_object_spread_props(_object_spread({},_),{cache:{status:"MISS"}}),C=p.key,I=p.rule.ttl,D=function(t){E(l,C,t,I),O?a=_async_to_generator(function(){var n;return _ts_generator(this,function(r){switch(r.label){case 0:return[4,P(t,O,S,e)];case 1:return n=r.sent(),k(n),[2]}})})():k(t)},o.respond=D),"MISS"!==p.status||v.stop||E(l,p.key,!0,p.rule.ttl),V.label=7;case 7:T=g?{kind:"single",preChain:g}:void 0!==f?function(){var t=x(f,A(o.ingest));return 0===t.length?{kind:"single",preChain:[]}:1===t.length?{kind:"single",preChain:U(t[0],R(e.transformers))}:{kind:"many",branches:t.map(function(t){return U(t,R(e.transformers))})}}():{kind:"single",preChain:[]},L={ok:!0},N=!0,z=!1,B=void 0,V.label=8;case 8:V.trys.push([8,13,14,15]),G=function(){var n,a;return _ts_generator(this,function(i){switch(i.label){case 0:return n=F.value,"many"!==T.kind?[3,2]:[4,Promise.all(T.branches.map(function(a,i){return m(function(){return _async_to_generator(function(){return _ts_generator(this,function(e){return[2,w?b(n):b(n,_object_spread_props(_object_spread({},r),{id:t,ingest:K(o.ingest,"".concat(t,".").concat(i)),respond:void 0,mapping:s,preChain:a}))]})})()},function(t){return e.logger.scope("source:many").error("many branch ".concat(i," failed"),{error:t}),{ok:!0}})()}))];case 1:return i.sent(),L={ok:!0},[3,7];case 2:return w?[4,b(n)]:[3,4];case 3:return a=i.sent(),[3,6];case 4:return[4,b(n,_object_spread_props(_object_spread({},r),{id:t,ingest:o.ingest,respond:o.respond,mapping:s,preChain:T.preChain}))];case 5:a=i.sent(),i.label=6;case 6:L=a,i.label=7;case 7:return[2]}})},H=c[Symbol.iterator](),V.label=9;case 9:return(N=(F=H.next()).done)?[3,12]:[5,_ts_values(G())];case 10:V.sent(),V.label=11;case 11:return N=!0,[3,9];case 12:return[3,15];case 13:return W=V.sent(),z=!0,B=W,[3,15];case 14:try{N||null==H.return||H.return()}finally{if(z)throw B}return[7];case 15:return a?[4,a]:[3,17];case 16:V.sent(),V.label=17;case 17:return[2,L]}})})()},O=function(n){return _async_to_generator(function(){var r,o;return _ts_generator(this,function(i){switch(i.label){case 0:return r=a(t),s.ingest&&void 0!==n?[4,j(n,s.ingest,{collector:e})]:[2,r];case 1:return o=i.sent(),[2,_object_spread_props(_object_spread({},r,o),{_meta:r._meta})]}})})()},S=e.logger.scope("source").scope(t),I=_object_spread_props(_object_spread({command:e.command,sources:e.sources,elb:e.sources.elb.push,logger:S},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,k(e,n,r)]})})()}}),D={collector:e,logger:S,id:t,config:s,env:I,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,O(e)];case 1:return o.ingest=a.sent(),o.respond=t,r=o,[2,n(_object_spread_props(_object_spread({},I),{push:function(e){return k(e,arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},r)},ingest:r.ingest,respond:r.respond}))]}})})()}},[4,m(o,function(n){if(_instanceof(n,He))throw n;e.status.failed++,e.logger.scope("source").error("source factory failed",{sourceId:t,error:n})})(D)];case 1:return(T=z.sent())?(L=T.type||"unknown",N=e.logger.scope(L).scope(t),[2,(I.logger=N,l&&(T.config=_object_spread_props(_object_spread({},T.config),{primary:l})),T)]):[2]}})})()},$=function(e){return _async_to_generator(function(e){var t,n,r,o,a,i,s,c,u,l,f,d,_,p,v,g,y,h,b,w,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]),i=Object.entries(t)[Symbol.iterator](),k.label=2;case 2:return(r=(s=i.next()).done)?[3,5]:(c=_sliced_to_array(s.value,2),u=c[0],l=c[1],[4,V(e,u,l)]);case 3:if(!(d=k.sent()))return[3,4];_=null===(f=l.config)||void 0===f?void 0:f.require,d.config=_object_spread(_object_spread_props(_object_spread({},d.config),{init:!1}),_?{require:_to_consumable_array(_)}:{}),n[u]=d,k.label=4;case 4:return r=!0,[3,2];case 5:return[3,8];case 6:return w=k.sent(),o=!0,a=w,[3,8];case 7:try{r||null==i.return||i.return()}finally{if(o)throw a}return[7];case 8:Object.assign(e.sources,n),p=!0,v=!1,g=void 0,k.label=9;case 9:k.trys.push([9,14,15,16]),y=function(){var t,n,r,o;return _ts_generator(this,function(a){switch(a.label){case 0:return t=b.value,n=e.sources[t],r=!1,n.init?[4,m(n.init.bind(n),function(n){if(_instanceof(n,He))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=W(n))?[4,F(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(p=(b=h.next()).done)?[3,13]:[5,_ts_values(y())];case 11:k.sent(),k.label=12;case 12:return p=!0,[3,10];case 13:return[3,16];case 14:return w=k.sent(),v=!0,g=w,[3,16];case 15:try{p||null==h.return||h.return()}finally{if(v)throw g}return[7];case 16:return[2,n]}})}).apply(this,arguments)},J=function(e,t,n,r){if(_instanceof(n,He))throw n;e.logger.scope("on").error("on callback failed",_object_spread_props(_object_spread({kind:t},r),{error:n}))},Y=function(e,t){return{collector:e,logger:e.logger.scope("on").scope(String(t))}},Z=function(e,t,n){return _async_to_generator(function(){var r,o,a;return _ts_generator(this,function(i){return r=e.on,o=r[t]||[],(a=s(n)?n:[n]).forEach(function(e){o.push(e)}),r[t]=o,X(e,t,a),[2]})})()},Q=function(e,t,n,r,o){if(t.on){var a=t.type||"unknown",i=e.logger.scope(a).scope("on").scope(r),s={collector:e,logger:i,id:n,config:t.config,data:o,env:ge(t.env,t.config.env)};b(t.on,function(t){return J(e,"destination",t,{destId:n,type:r})})(r,s)}},X=function(e,t,n,r){var o,a,i,s,c;switch(t){case _t.Commands.Consent:o=r||e.consent;break;case _t.Commands.Session:o=e.session;break;case _t.Commands.User:o=r||e.user;break;case _t.Commands.Custom:o=r||e.custom;break;case _t.Commands.Globals:o=r||e.globals;break;case _t.Commands.Config:o=r||e.config;break;case _t.Commands.Ready:case _t.Commands.Run:default:o=void 0}if(n.length)switch(t){case _t.Commands.Consent:a=e,i=n,s=r||a.consent,c=Y(a,_t.Commands.Consent),i.forEach(function(e){Object.keys(s).filter(function(t){return t in e}).forEach(function(t){b(e[t],function(e){return J(a,"consent",e,{key:t})})(s,c)})});break;case _t.Commands.Ready:!function(e,t){if(e.allowed){var n=Y(e,_t.Commands.Ready);t.forEach(function(t){b(t,function(t){return J(e,"ready",t)})(void 0,n)})}}(e,n);break;case _t.Commands.Run:!function(e,t){if(e.allowed){var n=Y(e,_t.Commands.Run);t.forEach(function(t){b(t,function(t){return J(e,"run",t)})(void 0,n)})}}(e,n);break;case _t.Commands.Session:!function(e,t){if(e.session){var n=Y(e,_t.Commands.Session);t.forEach(function(t){b(t,function(t){return J(e,"session",t)})(e.session,n)})}}(e,n);break;default:var u=Y(e,t);n.forEach(function(n){"function"==typeof n&&b(n,function(n){return J(e,"generic",n,{type:t})})(o,u)})}},ee=function(e,t,n,r){return _async_to_generator(function(){var o,a,i,s,c,u,l,f,d,_,p,v,g,y,h,b,w,j,k;return _ts_generator(this,function(O){switch(O.label){case 0:switch(i=n||[],n||(i=e.on[t]||[]),t){case _t.Commands.Consent:a=r||e.consent;break;case _t.Commands.Session:a=e.session;break;case _t.Commands.User:a=r||e.user;break;case _t.Commands.Custom:a=r||e.custom;break;case _t.Commands.Globals:a=r||e.globals;break;case _t.Commands.Config:a=r||e.config;break;case _t.Commands.Ready:case _t.Commands.Run:default:a=void 0}s=!1,c=!0,u=!1,l=void 0,O.label=1;case 1:O.trys.push([1,6,7,8]),f=function(){var n,r,o,i,c,u;return _ts_generator(this,function(l){switch(l.label){case 0:return n=_sliced_to_array(_.value,2),r=n[0],o=n[1],(null===(i=o.config.require)||void 0===i?void 0:i.length)&&-1!==(c=o.config.require.indexOf(t))&&o.config.require.splice(c,1),o.on?W(o)?(u=!1,[4,m(o.on,function(n){return J(e,"source",n,{sourceId:r,type:t})})(t,a)]):[3,2]:[3,3];case 1:return u===l.sent()&&(s=!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](),O.label=2;case 2:return(c=(_=d.next()).done)?[3,5]:[5,_ts_values(f())];case 3:O.sent(),O.label=4;case 4:return c=!0,[3,2];case 5:return[3,8];case 6:return k=O.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],i=r[1];if(i.on){if(!i.config.init)return i.queueOn=i.queueOn||[],void i.queueOn.push({type:t,data:a});Q(e,i,o,t,a)}}),p=!0,v=!1,g=void 0,O.label=9;case 9:O.trys.push([9,15,16,17]),y=Object.entries(e.sources)[Symbol.iterator](),O.label=10;case 10:return(p=(h=y.next()).done)?[3,14]:(b=_sliced_to_array(h.value,2),w=b[0],j=b[1],W(j)&&(null===(o=j.queueOn)||void 0===o?void 0:o.length)?[4,F(e,j,w)]:[3,12]);case 11:O.sent(),O.label=12;case 12:O.label=13;case 13:return p=!0,[3,10];case 14:return[3,17];case 15:return k=O.sent(),v=!0,g=k,[3,17];case 16:try{p||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,i,s,c,u,l,f,d,_;return _ts_generator(this,function(p){n=!0,r=!1,o=void 0;try{for(a=Object.entries(e.pending.destinations)[Symbol.iterator]();!(n=(i=a.next()).done);n=!0)s=_sliced_to_array(i.value,2),c=s[0],u=s[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!==(_=pe(u)).config.queue&&(_.queuePush=_to_consumable_array(e.queue)),e.destinations[c]=_))}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:O.sent(),O.label=19;case 19:return[2,(X(e,t,i,r),!s)]}})})()},te=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}},ne=function(e,t,n,r){gt.get(e)||(gt.set(e,!0),t.warn(n,r))},re=function(e){gt.delete(e)},oe=function(e){return e===yt},ae=function(e){return void 0===e?{}:"number"==typeof e?{wait:e}:{wait:e.wait,size:e.size,age:e.age}},ie=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]},se=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]},ce=function(e,t,n){if(!e)return[];if(Array.isArray(e)&&e.every(function(e){return"string"==typeof e}))return U(e,t);if("string"==typeof e)return U(e,t);var r=x(e,A(n));return 0===r.length?[]:1===r.length?U(r[0],t):U(r,t)},ue=function(e,t){return _async_to_generator(function(){var n,r,o,a,i,s,c,l,f,d,_,v;return _ts_generator(this,function(g){if(n=t.code,r=t.config,o=void 0===r?{}:r,a=t.env,i=void 0===a?{}:a,s=t.before,c=t.next,l=t.cache,!u(n.push))return[2,_e({ok:!1,failed:{invalid:{type:"invalid",error:"Destination code must have a push method"}}})];if(f=o||{init:!1},d=s?_object_spread_props(_object_spread({},f),{before:s}):_object_spread({},f),c&&(d=_object_spread_props(_object_spread({},d),{next:c})),l&&(d=_object_spread_props(_object_spread({},d),{cache:l})),_=_object_spread_props(_object_spread({},n),{config:d,env:ge(n.env,i)}),!(v=_.config.id))do{v=p(5,"abcdefghijklmnopqrstuvwxyz")}while(e.destinations[v]);return[2,(e.destinations[v]=_,!1!==_.config.queue&&(_.queuePush=_to_consumable_array(e.queue)),le(e,void 0,{},_define_property({},v,_)))]})})()},le=function(t,n,r){return _async_to_generator(function(t,n){var r,o,s,c,u,l,f,d,p,v,g,y,h,b,w,j,k,O,S,x,P,I,D,T,L,N,U,z,B,K,G,H,F=arguments;return _ts_generator(this,function(W){switch(W.label){case 0:if(r=F.length>2&&void 0!==F[2]?F[2]:{},o=F.length>3?F[3]:void 0,s=t.allowed,c=t.consent,u=t.globals,l=t.user,!s)return[2,_e({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=te(t.queue,n,{max:f})).dropped>0?(p=se(t.status,e("collector"),"queue",d.dropped),ne(t.queue,t.logger,"collector.queue overflow; oldest events dropped",{buffer:"queue",cap:f,droppedCount:p})):t.queue.length<f&&re(t.queue),t.status.in++}return o||(o=t.destinations),v=t.transformers?R(t.transformers):{},[4,Promise.all(Object.entries(o||{}).map(function(o){var s=_sliced_to_array(o,2),f=s[0],d=s[1];return _async_to_generator(function(){var o,s,p,g,y,h,b,w,j,k,O,S,x,P,I,D,T,L,R,N,U,z,B,K,G,H,F,W,V,$,J,Y,Z,Q;return _ts_generator(this,function(X){switch(X.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(Ne(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===(s=d.queueOn)||void 0===s?void 0:s.length))return[3,5];h=!1,X.label=1;case 1:return X.trys.push([1,3,,4]),[4,fe(t,d,f)];case 2:return h=X.sent(),[3,4];case 3:return b=X.sent(),t.status.failed++,w=d.type||"unknown",t.logger.scope(w).error("destination init failed",{error:_instanceof(b,Error)?b.message:String(b)}),[3,4];case 4:return[2,{id:f,destination:d,skipped:!h}];case 5:if(j=[],k=g.filter(function(e){var t=_(d.config.consent,c,e.consent);return!t||(e.consent=t,j.push(e),!1)}),k.length>0){S=d.queuePush,x=d.config.id||f,P={max:null!==(O=d.config.queueMax)&&void 0!==O?O:1e3},I=0,D=!0,T=!1,L=void 0;try{for(R=k[Symbol.iterator]();!(D=(N=R.next()).done);D=!0)U=N.value,I+=te(S,U,P).dropped}catch(e){T=!0,L=e}finally{try{D||null==R.return||R.return()}finally{if(T)throw L}}I>0?(ie(t,x),z=se(t.status,e("destination",x),"queue",I),ne(S,t.logger.scope(d.type||"unknown"),"destination.queuePush overflow; oldest events dropped",{buffer:"queuePush",destination:x,cap:P.max,droppedCount:z})):S.length<P.max&&re(S)}if(!j.length)return[2,{id:f,destination:d,queue:g}];G=!1,X.label=6;case 6:return X.trys.push([6,8,,9]),[4,fe(t,d,f)];case 7:return G=X.sent(),[3,9];case 8:return H=X.sent(),t.status.failed++,F=d.type||"unknown",t.logger.scope(F).error("destination init failed",{error:_instanceof(H,Error)?H.message:String(H)}),[3,9];case 9:return G?(d.dlq||(d.dlq=[]),W=ce(d.config.before,v,y),V=d.config.next,$=null===(p=d.config)||void 0===p?void 0:p.cache,J=$?C($):void 0,Y=J?M(J,t):void 0,Z=0,Q=0,[4,Promise.all(j.map(function(n){return _async_to_generator(function(){var o,a,s,c,_,p,g,h,b,w,j,k,O;return _ts_generator(this,function(S){switch(S.label){case 0:return n.globals=i(u,n.globals),n.user=i(l,n.user),(null==J?void 0:J.stop)&&Y?(a=A(y,n),[4,q(J,Y,a)]):[3,2];case 1:if("HIT"===(null==(s=S.sent())?void 0:s.status))return[2,n];"MISS"===(null==s?void 0:s.status)&&(o={key:s.key,ttl:s.rule.ttl}),S.label=2;case 2:return c=n,_=r.respond,W.length>0&&t.transformers&&Object.keys(t.transformers).length>0?[4,pt(t,t.transformers,W,n,y,r.respond,"destination.".concat(f,".before"))]:[3,4];case 3:if(null===(p=S.sent()).event)return[2,n];p.respond&&(_=p.respond),c=Array.isArray(p.event)?p.event[0]:p.event,S.label=4;case 4:return J&&!J.stop&&Y?(g=A(y,c),[4,q(J,Y,g)]):[3,6];case 5:if("HIT"===(null==(h=S.sent())?void 0:h.status))return[2,n];"MISS"===(null==h?void 0:h.status)&&(o={key:h.key,ttl:h.rule.ttl}),S.label=6;case 6:return b=Date.now(),w=!1,[4,m(de,function(n){var r,o=d.type||"unknown";t.logger.scope(o).error("Push failed",{error:n,event:c.name}),B=n,w=!0;var a=d.dlq,i=d.config.id||f,s={max:null!==(r=d.config.dlqMax)&&void 0!==r?r:100},u=te(a,[c,n],s);if(u.dropped>0){ie(t,i);var l=se(t.status,e("destination",i),"dlq",u.dropped);ne(a,t.logger.scope(d.type||"unknown"),"destination.dlq overflow; oldest entries dropped",{buffer:"dlq",destination:i,cap:s.max,droppedCount:l})}else a.length<s.max&&re(a)})(t,d,f,c,y,_)];case 7:return j=S.sent(),Z+=Date.now()-b,o&&Y&&void 0===d.config.mock&&E(Y,o.key,null==j||j,o.ttl),void 0===j||oe(j)||(K=j),oe(j)&&Q++,w||!V?[3,9]:(void 0!==j&&(y._response=j),(k=ce(V,v,y)).length>0&&t.transformers&&Object.keys(t.transformers).length>0?[4,pt(t,t.transformers,k,c,y,_,"destination.".concat(f,".next"))]:[3,9]);case 8:(O=S.sent()).respond&&(_=O.respond),S.label=9;case 9:return[2,n]}})})()}))]):[2,{id:f,destination:d,queue:g}];case 10:return[2,(X.sent(),{id:f,destination:d,error:B,response:K,totalDuration:Z,batchedCount:Q,allowedCount:j.length})]}})})()}))];case 1:g=W.sent(),y={},h={},b={},w=!0,j=!1,k=void 0;try{for(O=g[Symbol.iterator]();!(w=(S=O.next()).done);w=!0)(x=S.value).skipped||(L=x.destination,N={type:L.type||"unknown",data:x.response},ie(t,x.id),U=t.status.destinations[x.id],z=Date.now(),U.queuePushSize=null!==(P=null===(D=L.queuePush)||void 0===D?void 0:D.length)&&void 0!==P?P:0,U.dlqSize=null!==(I=null===(T=L.dlq)||void 0===T?void 0:T.length)&&void 0!==I?I:0,x.error?(N.error=x.error,b[x.id]=N,U.failed++,U.lastAt=z,U.duration+=x.totalDuration||0,t.status.failed++):x.queue&&x.queue.length?h[x.id]=N:(G=null!==(B=x.batchedCount)&&void 0!==B?B:0,H=null!==(K=x.allowedCount)&&void 0!==K?K:0,(Math.max(0,H-G)>0||0===H)&&(y[x.id]=N,U.count++,U.lastAt=z,U.duration+=x.totalDuration||0,t.status.out++)))}catch(e){j=!0,k=e}finally{try{w||null==O.return||O.return()}finally{if(j)throw k}}return[2,_e(_object_spread({event:n},Object.keys(y).length&&{done:y},Object.keys(h).length&&{queued:h},Object.keys(b).length&&{failed:b}))]}})}).apply(this,arguments)},fe=function(e,t,n){return _async_to_generator(function(){var r,o,a,i,s,c,u,l,f,d,_,p,v,g;return _ts_generator(this,function(y){switch(y.label){case 0:return!t.init||t.config.init?[3,2]:(o=t.type||"unknown",a=e.logger.scope(o),i={collector:e,logger:a,id:n,config:t.config,env:ge(t.env,t.config.env)},a.debug("init"),[4,O(t.init,"DestinationInit",e.hooks,e.logger)(i)]);case 1:if(!1===(s=y.sent()))return[2,s];if(t.config=_object_spread_props(_object_spread({},s||t.config),{init:!0}),null===(r=t.queueOn)||void 0===r?void 0:r.length){c=t.queueOn,t.queueOn=[],u=!0,l=!1,f=void 0;try{for(d=c[Symbol.iterator]();!(u=(_=d.next()).done);u=!0)p=_.value,v=p.type,g=p.data,Q(e,t,n,v,g)}catch(e){l=!0,f=e}finally{try{u||null==d.return||d.return()}finally{if(l)throw f}}}a.debug("init done"),y.label=2;case 2:return[2,!0]}})})()},de=function(t,n,r,o,a,i){return _async_to_generator(function(){var s,u,l,f,d,_,p,v,g,y,h,b,w,j,S,x,A,C,q,E,P,I,D,T,L,M;return _ts_generator(this,function(R){switch(R.label){case 0:return s=n.config,[4,k(o,s,t)];case 1:return(u=R.sent()).ignore?[2,!1]:(l=n.type||"unknown",f=t.logger.scope(l),d={collector:t,logger:f,id:r,config:s,data:u.data,rule:u.mapping,ingest:a,env:_object_spread({},ge(n.env,s.env),i?{respond:i}:{})},void 0!==s.mock?[2,(f.debug("mock",{event:u.event.name}),s.mock)]:(_=u.mapping,p=u.mappingKey||"* *",(null==_?void 0:_.batch)&&n.pushBatch&&void 0===s.mock?(n.batches=n.batches||{},n.batches[p]||(S={key:p,entries:[],events:[],data:[]},x=ae(_.batch),A=ae(s.batch),C=null!==(g=null!==(y=x.wait)&&void 0!==y?y:A.wait)&&void 0!==g?g:3e4,q=null!==(h=null!==(b=x.size)&&void 0!==b?b:A.size)&&void 0!==h?h:1e3,E=null!==(w=null!==(j=x.age)&&void 0!==j?j:A.age)&&void 0!==w?w:3e4,P=ge(n.env,s.env),I=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,i=o.size,s=o.age,c=null,u=null,l=!1,f=[],d=0,_=function(){c&&(clearTimeout(c),c=null),u&&(clearTimeout(u),u=null),d=0,n=void 0},p=function(){var r=n,o=f;if(_(),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,_=new Array(o),v=0;v<o;v++)_[v]=arguments[v];return new Promise(function(o){var v=r&&!l;if(n=_,d+=1,f.push(o),c&&clearTimeout(c),c=setTimeout(function(){c=null,r&&!l||p()},a),void 0===s||u||(u=setTimeout(function(){u=null,p()},s)),void 0!==i&&d>=i)p();else if(v){l=!0,t=e.apply(void 0,_to_consumable_array(_));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),p()}):Promise.resolve(void 0)},v.cancel=function(){var e=f;f=[],_(),e.forEach(function(e){return e(void 0)})},v.size=function(){return d},v}(function(){return _async_to_generator(function(){var o,a,i,c,u,l,d,_;return _ts_generator(this,function(v){switch(v.label){case 0:return 0===(a=n.batches[p].batched).entries.length?[2]:(i={key:a.key,entries:a.entries,events:a.events,data:a.data},a.entries=[],a.events=[],a.data=[],c=i.entries[0],u={collector:t,logger:f,id:r,config:s,data:void 0,rule:c.rule,ingest:c.ingest,env:_object_spread({},P,c.respond?{respond:c.respond}:{})},f.debug("push batch",{events:i.entries.length}),l=n.config.id||r,d=ie(t,l),_=!0,[4,m(O(n.pushBatch,"DestinationPushBatch",t.hooks,t.logger),function(r){var o;_=!1;var a=n.dlq=n.dlq||[],s={max:null!==(o=n.config.dlqMax)&&void 0!==o?o:100},c=0,u=!0,p=!1,v=void 0;try{for(var g,y=i.entries[Symbol.iterator]();!(u=(g=y.next()).done);u=!0){var h=g.value;c+=te(a,[h.event,r],s).dropped}}catch(e){p=!0,v=e}finally{try{u||null==y.return||y.return()}finally{if(p)throw v}}if(c>0){var b=se(t.status,e("destination",l),"dlq",c);ne(a,f,"destination.dlq overflow; oldest entries dropped",{buffer:"dlq",destination:l,cap:s.max,droppedCount:b})}else a.length<s.max&&re(a);d.failed+=i.entries.length,d.dlqSize=a.length,t.status.failed+=i.entries.length,f.error("Push batch failed",{error:_instanceof(r,Error)?r.message:String(r),entries:i.entries.length})})(i,u)]);case 1:return v.sent(),f.debug("push batch done"),d.inFlightBatch=Math.max(0,(null!==(o=d.inFlightBatch)&&void 0!==o?o:0)-i.entries.length),_&&(d.count+=i.entries.length,d.lastAt=Date.now(),t.status.out+=i.entries.length),[2]}})})()},{wait:C,size:q,age:E}),n.batches[p]={batched:S,batchFn:function(){I()},flush:function(){return _async_to_generator(function(){return _ts_generator(this,function(e){switch(e.label){case 0:return[4,I.flush()];case 1:return e.sent(),[2]}})})()}}),(D=n.batches[p]).batched.entries.push({event:u.event,ingest:a,respond:i,rule:_,data:u.data}),D.batched.events.push(u.event),c(u.data)&&D.batched.data.push(u.data),T=n.config.id||r,[2,((L=ie(t,T)).inFlightBatch=(null!==(v=L.inFlightBatch)&&void 0!==v?v:0)+1,D.batchFn(),yt)]):(f.debug("push",{event:u.event.name}),[4,O(n.push,"DestinationPush",t.hooks,t.logger)(u.event,d)])));case 2:return M=R.sent(),[2,(f.debug("push done"),M)]}})})()},_e=function(e){return _object_spread({ok:!(null==e?void 0:e.failed)},e)},pe=function(e){var t=e.code,n=e.config,r=void 0===n?{}:n,o=e.env,a=void 0===o?{}:o,i=e.cache,s=N(e,"before").config,c=N(_object_spread_props(_object_spread({},e),{config:s}),"next").config,u=_object_spread({},t.config,r,c);i&&(u.cache=i);var l=ge(t.env,a);return _object_spread_props(_object_spread({},t),{config:u,env:l})},ve=function(e){return _async_to_generator(function(e){var t,n,r,o,a,i,s,c,u,l,f,d,_=arguments;return _ts_generator(this,function(p){t=_.length>1&&void 0!==_[1]?_[1]:{},o={},a=!0,i=!1,s=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]=pe(d)}catch(e){i=!0,s=e}finally{try{a||null==c.return||c.return()}finally{if(i)throw s}}return[2,o]})}).apply(this,arguments)},ge=function(e,t){return e||t?t?e&&l(e)&&l(t)?_object_spread({},e,t):t:e:{}},ye=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,i,s,c,u;return _ts_generator(this,function(l){switch(l.label){case 0:if(!(r=a.destroy))return[2];i=a.type||"unknown",s=n.scope(i),c={id:o,config:a.config,env:null!==(e=a.env)&&void 0!==e?e:{},logger:s},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(),s.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]}})})()},he=function(e,t,n){return _async_to_generator(function(){var r,o,a,s,c,d,_,p,v;return _ts_generator(this,function(g){switch(g.label){case 0:switch(a=!1,t){case _t.Commands.Config:return[3,1];case _t.Commands.Consent:return[3,2];case _t.Commands.Custom:return[3,3];case _t.Commands.Destination:return[3,4];case _t.Commands.Globals:return[3,7];case _t.Commands.Hook:return[3,8];case _t.Commands.On:return[3,9];case _t.Commands.Ready:return[3,12];case _t.Commands.Run:return[3,13];case _t.Commands.Session:return[3,15];case _t.Commands.Shutdown:return[3,16];case _t.Commands.User:return[3,18]}return[3,19];case 1:return l(n)&&(i(e.config,n,{shallow:!1}),o=n,a=!0),[3,19];case 2:return l(n)&&(s=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=i(e.consent,n),{update:n}}(e,n),c=s.update,o=c,a=!0),[3,19];case 3:return l(n)&&(e.custom=i(e.custom,n),o=n,a=!0),[3,19];case 4:return l(n)&&"code"in n&&l(n.code)?[4,ue(e,n)]:[3,6];case 5:r=g.sent(),g.label=6;case 6:return[3,19];case 7:return l(n)&&(e.globals=i(e.globals,n),o=n,a=!0),[3,19];case 8:return l(n)&&f(n.name)&&u(n.fn)&&(d=n.name,_=n.fn,e.hooks[d]=_,o=n,a=!0),[3,19];case 9:return l(n)&&f(n.type)?(p=n.type,v=n.rules,[4,Z(e,p,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,me(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,ye(y.sources,"source",e)];case 1:return t.sent(),[4,ye(y.destinations,"destination",e)];case 2:return t.sent(),[4,ye(y.transformers,"transformer",e)];case 3:return t.sent(),[4,ye(y.stores,"store",e)];case 4:return t.sent(),[2]}})})())];case 17:return g.sent(),[3,19];case 18:l(n)&&(i(e.user,n,{shallow:!1}),o=n,a=!0),g.label=19;case 19:return a?[4,ee(e,t,void 0,o)]:[3,22];case 20:return g.sent(),[4,le(e)];case 21:r=g.sent(),g.label=22;case 22:return[2,r||_e({ok:!0})]}var y})})()},be=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,i=void 0===a?Date.now():a,s=t.name,c=void 0===s?"".concat(r," ").concat(o):s,u=t.data,l=void 0===u?{}:u,f=t.context,d=void 0===f?{}:f,_=t.globals,p=void 0===_?e.globals:_,v=t.custom,g=void 0===v?{}:v,y=t.user,h=void 0===y?e.user:y,b=t.nested,m=void 0===b?[]:b,w=t.consent,j=void 0===w?e.consent:w,k=t.id,O=void 0===k?function(){for(var e="",t=0;t<16;t++)e+=(16*Math.random()|0).toString(16);return e}():k,S=t.trigger,x=void 0===S?"":S,A=t.entity,C=void 0===A?r:A,q=t.action,E=void 0===q?o:q,P=t.timing,I=void 0===P?0:P,D=t.source;return{name:c,data:l,context:d,globals:p,custom:g,user:h,nested:m,consent:j,id:O,trigger:x,entity:C,action:E,timestamp:i,timing:I,source:void 0===D?{type:"collector",schema:"4"}:D}},me=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=i(e.consent,t.consent)),t.user&&(e.user=i(e.user,t.user)),t.globals&&(e.globals=i(e.config.globalsStatic||{},t.globals)),t.custom&&(e.custom=i(e.custom,t.custom))),Object.values(e.destinations).forEach(function(e){e.queuePush=[]}),e.queue=[],e.round++,[4,le(e)];case 1:return[2,n.sent()]}})})()},we=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,i=null!==(t=o.lowWaterMark)&&void 0!==t?t:.8,s=null!==(n=o.sweepIntervalMs)&&void 0!==n?n:6e4,c=Math.floor(a*i),u=new Map,l={hits:0,misses:0,populates:0,writes:0,deletes:0,evictions_entries:0,evictions_ttl:0};return s>0&&((r=setInterval(function(){var e=Date.now(),t=0,n=!0,r=!1,o=void 0;try{for(var a,i=u[Symbol.iterator]();!(n=(a=i.next()).done);n=!0){var s=_sliced_to_array(a.value,2),c=s[0],f=s[1];void 0!==f.expires&&f.expires<=e&&(u.delete(c),t++)}}catch(e){r=!0,o=e}finally{try{n||null==i.return||i.return()}finally{if(r)throw o}}l.evictions_ttl+=t},s))&&"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 i,s=u.keys()[Symbol.iterator]();!(n=(i=s.next()).done);n=!0){var f=i.value;if(t>=e)break;u.delete(f),t++}}catch(e){r=!0,o=e}finally{try{n||null==s.return||s.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()}}},je=function(e,t){var n=t.cacheConfig,r=t.cacheStore,o=t.namespace,a=t.logger,i=t.storeId,s={hits:0,misses:0,populates:0,writes:0,deletes:0,inflight_dedups:0},c=n.rules.map(function(e){return{match:e.match?We(e.match):function(){return!0},ttl:e.ttl}}),u=function(e){return"".concat(o,":").concat(e)};function l(e,t){var n=void 0===t?{key:e}:{key:e,value:t};return c.find(function(e){return e.match(n)})}var f=new Map;return{type:e.type,config:e.config,setup:e.setup,get counters(){return _object_spread({},s)},get:function(t){return _async_to_generator(function(){var n,o,a,i;return _ts_generator(this,function(c){switch(c.label){case 0:return n=u(t),[4,r.get(n)];case 1:return void 0!==(o=c.sent())?[2,(s.hits++,o)]:(a=f.get(n))?[2,(s.inflight_dedups++,a)]:(s.misses++,i=_async_to_generator(function(){var o,a,i;return _ts_generator(this,function(c){switch(c.label){case 0:return c.trys.push([0,,6,7]),[4,e.get(t)];case 1:if(void 0===(o=c.sent()))return[2];if(!(a=l(t,o)))return[3,5];c.label=2;case 2:return c.trys.push([2,4,,5]),[4,r.set(n,o,1e3*a.ttl)];case 3:return c.sent(),s.populates++,[3,5];case 4:return i=c.sent(),d("set",t,i),[3,5];case 5:return[2,o];case 6:return f.delete(n),[7];case 7:return[2]}})})(),[2,(f.set(n,i),i)])}})})()},set:function(t,n,o){return _async_to_generator(function(){var a,i;return _ts_generator(this,function(c){switch(c.label){case 0:return s.writes++,[4,e.set(t,n,o)];case 1:if(c.sent(),!(a=l(t,n)))return[3,5];c.label=2;case 2:return c.trys.push([2,4,,5]),[4,r.set(u(t),n,1e3*a.ttl)];case 3:return c.sent(),[3,5];case 4:return i=c.sent(),d("set",t,i),[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 s.deletes++,[4,e.delete(t)];case 1:o.sent(),o.label=2;case 2:return o.trys.push([2,4,,5]),[4,r.delete(u(t))];case 3:return o.sent(),[3,5];case 4:return n=o.sent(),d("delete",t,n),[3,5];case 5:return[2]}})})()}};function d(e,t,n){var r="store-cache(".concat(i,"): cache ").concat(e,' failed for "').concat(t,'"; backing succeeded, continuing');a?a.warn(r,{error:n}):console.warn(r,n)}},ke=function(e,t){var n=t.get,r=t.set,o=t.delete;t.get=O(n,"StoreGet",e.hooks,e.logger),t.set=O(r,"StoreSet",e.hooks,e.logger),t.delete=O(o,"StoreDelete",e.hooks,e.logger)},Oe=function(e){return _async_to_generator(function(e){var t,n,r,o,a,i,s,c,u,l,f,d,_,p,v,g,y,h,b,m,w,j,k,O,S,x,A,C,q,E,P,I,D,T,L,M,R,N,U,z=arguments;return _ts_generator(this,function(B){switch(B.label){case 0:t=z.length>1&&void 0!==z[1]?z[1]:{},n={},r=!0,o=!1,a=void 0,B.label=1;case 1:B.trys.push([1,6,7,8]),i=Object.entries(t)[Symbol.iterator](),B.label=2;case 2:return(r=(s=i.next()).done)?[3,5]:(c=_sliced_to_array(s.value,2),u=c[0],l=c[1],f=l.code,d=l.config,_=void 0===d?{}:d,p=l.env,v=void 0===p?{}:p,g=e.logger.scope("store").scope(u),[4,f({collector:e,logger:g,id:u,config:_,env:v})]);case 3:y=B.sent(),n[u]=y,B.label=4;case 4:return r=!0,[3,2];case 5:return[3,8];case 6:return h=B.sent(),o=!0,a=h,[3,8];case 7:try{r||null==i.return||i.return()}finally{if(o)throw a}return[7];case 8:m=function(e){var t={},n=!0,r=!1,o=void 0;try{for(var a,i=Object.keys(e)[Symbol.iterator]();!(n=(a=i.next()).done);n=!0){var s=a.value;t[s]="WHITE"}}catch(e){r=!0,o=e}finally{try{n||null==i.return||i.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),i=u.slice(-1===a?0:a).concat(n).join(" -> ");throw new Error("Cycle in cache.store chain: ".concat(i))}t[n]="GRAY",u.push(n);var s=null===(r=e[n].cache)||void 0===r?void 0:r.store;if(void 0!==s){if(!(s in e))throw new Error('Store "'.concat(n,'" cache.store references "').concat(s,'", which is not declared in flow.stores'));l(s)}u.pop(),t[n]="BLACK",c.push(n)}}var f=!0,d=!1,_=void 0;try{for(var p,v=Object.keys(e)[Symbol.iterator]();!(f=(p=v.next()).done);f=!0){var g=p.value;"WHITE"===t[g]&&l(g)}}catch(e){d=!0,_=e}finally{try{f||null==v.return||v.return()}finally{if(d)throw _}}return c}(b=t),w=!0,j=!1,k=void 0;try{for(O=m[Symbol.iterator]();!(w=(S=O.next()).done);w=!0)x=S.value,(C=b[x].cache)&&(q=void 0,E=void 0,void 0!==C.store?(q=n[C.store],E=C.store):(n.__cache||(n.__cache=we()),q=n.__cache,E="__cache"),P=null!==(A=C.namespace)&&void 0!==A?A:x,e.logger.scope("store-cache").scope(x).info('store "'.concat(x,'" caches with namespace "').concat(P,':" via ').concat(E)),n[x]=je(n[x],{storeId:x,cacheConfig:C,cacheStore:q,namespace:P,logger:e.logger.scope("store-cache").scope(x)}))}catch(e){j=!0,k=e}finally{try{w||null==O.return||O.return()}finally{if(j)throw k}}I=!0,D=!1,T=void 0;try{for(L=Object.entries(n)[Symbol.iterator]();!(I=(M=L.next()).done);I=!0)R=_sliced_to_array(M.value,2),N=R[0],U=R[1],"__cache"!==N&&ke(e,U)}catch(e){D=!0,T=e}finally{try{I||null==L.return||L.return()}finally{if(D)throw T}}return[2,n]}})}).apply(this,arguments)},Se=function(e){return _async_to_generator(function(){var t,n,r,o,s,c,u,l;return _ts_generator(this,function(f){switch(f.label){case 0:return r=i({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},s=y(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||{},logger:s,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){return 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,m(function(){return _async_to_generator(function(){var o,i,s,c,u,l,f,d,p,v,g,y,h,b,m,w,j,O,S,x,A;return _ts_generator(this,function(C){switch(C.label){case 0:return o=Date.now(),i=r.id,s=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!=s?s:a(i||"unknown"),u?[4,k(v,u,e)]:[3,2];case 1:if((h=C.sent()).ignore)return[2,_e({ok:!0})];if(u.consent&&!_(u.consent,e.consent,h.event.consent))return[2,_e({ok:!0})];v=h.event,C.label=2;case 2:return(null==l?void 0:l.length)&&e.transformers&&Object.keys(e.transformers).length>0?[4,pt(e,e.transformers,l,v,y,p,i?"source.".concat(i,".next"):void 0)]:[3,6];case 3:return null===(b=C.sent()).event?[2,_e({ok:!0})]:b.stopped?[2,(b.respond&&(p=b.respond),_e({ok:!0}))]:(b.respond&&(p=b.respond),Array.isArray(b.event)?[4,Promise.all(b.event.map(function(n){return _async_to_generator(function(){var r,o;return _ts_generator(this,function(a){return r=t(n),o=be(e,r),[2,le(e,o,{id:i,ingest:y,respond:p},g)]})})()}))]:[3,5]);case 4:return w=C.sent(),i&&(e.status.sources[i]||(e.status.sources[i]={count:0,duration:0}),(j=e.status.sources[i]).count+=b.event.length,j.lastAt=Date.now(),j.duration+=Date.now()-o),[2,null!==(m=w[0])&&void 0!==m?m:_e({ok:!0})];case 5:v=b.event,C.label=6;case 6:return O=t(v),S=be(e,O),[4,le(e,S,{id:i,ingest:y,respond:p},g)];case 7:return x=C.sent(),i&&(e.status.sources[i]||(e.status.sources[i]={count:0,duration:0}),(A=e.status.sources[i]).count++,A.lastAt=Date.now(),A.duration+=Date.now()-o),[2,x]}})})()},function(t){if(_instanceof(t,He))throw t;return e.status.failed++,e.logger.error("push failed",{event:n,ingest:r.ingest,error:t}),_e({ok:!1})})()];case 1:return[2,o.sent()]}})})()},"Push",e.hooks,e.logger)}(u,function(e){return _object_spread({timing:Math.round((Date.now()-u.timing)/10)/100,source:{type:"collector",schema:"4",version:"4.1.0"}},e)}),u.command=(p=he,O(function(e,t,n){return _async_to_generator(function(){return _ts_generator(this,function(r){switch(r.label){case 0:return[4,m(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,He))throw n;return d.status.failed++,d.logger.error("command failed",{command:e,data:t,error:n}),_e({ok:!1})})()];case 1:return[2,r.sent()]}})})()},"Command",(d=u).hooks,d.logger)),l=e.stores||{},[4,Oe(u,l)];case 1:return u.stores=f.sent(),function(e,t,n){var r=new Map,o=!0,a=!1,i=void 0;try{for(var s,c=Object.entries(e)[Symbol.iterator]();!(o=(s=c.next()).done);o=!0){var u=_sliced_to_array(s.value,2),l=u[0],f=u[1];t[l]&&r.set(f,t[l])}}catch(e){a=!0,i=e}finally{try{o||null==c.return||c.return()}finally{if(a)throw i}}if(0!==r.size)for(var d=!0,_=!1,p=void 0,v=0,g=[n.transformers,n.destinations,n.sources];v<g.length;v++){var y=g[v];if(y)try{for(var h,b=Object.values(y)[Symbol.iterator]();!(d=(h=b.next()).done);d=!0){m(h.value.env)}}catch(e){_=!0,p=e}finally{try{d||null==b.return||b.return()}finally{if(_)throw p}}}function m(e){if(e){var t=!0,n=!1,o=void 0;try{for(var a,i=Object.entries(e)[Symbol.iterator]();!(t=(a=i.next()).done);t=!0){var s=_sliced_to_array(a.value,2),c=s[0],u=s[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==i.return||i.return()}finally{if(n)throw o}}}}}(l,u.stores,e),u.stores.__cache||(u.stores.__cache=we()),[4,ve(u,e.destinations||{})];case 2:return u.destinations=f.sent(),[4,function(e){return _async_to_generator(function(e){var t,n,r,o,i,s,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,i=void 0,d.label=1;case 1:d.trys.push([1,6,7,8]),s=function(){var t,r,o,i,s,c,l,f,d,_,p,v,g,y,h,b,m,w,j,O,S,x;return _ts_generator(this,function(A){switch(A.label){case 0:return t=_sliced_to_array(u.value,2),r=t[0],o=t[1],f=o.code,d=o.env,_=void 0===d?{}:d,p=function(e,t){var n,r=(n=t,new Set(_to_consumable_array(Ye[n]).concat(_to_consumable_array(Ze),_to_consumable_array(Qe[n])))),o=!0,a=!1,i=void 0;try{for(var s,c=Object.keys(e)[Symbol.iterator]();!(o=(s=c.next()).done);o=!0){var u=s.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,i=e}finally{try{o||null==c.return||c.return()}finally{if(a)throw i}}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&&Xe.test(e.import)?{ok:!0}:{ok:!1,code:"INVALID_IMPORT",key:"import",reason:"import must match ".concat(Xe.source,". Got: ").concat(JSON.stringify(e.import),".")}}(o,"Transformer"),p.ok?(v=N(o,"before"),g=v.config,y=N(_object_spread_props(_object_spread({},o),{config:g}),"next"),h=y.config,b=Object.keys(_).length>0?_object_spread_props(_object_spread({},h),{env:_}):h,m=o.cache,w=m?_object_spread_props(_object_spread({},b),{cache:m}):b,j=e.logger.scope("transformer").scope(r),O={collector:e,logger:j,id:r,ingest:a(r),config:w,env:_},S=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,i=!1,s=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 _=_sliced_to_array(f.value,2),p=_[0],v=_[1];if("object"==(void 0===v?"undefined":_type_of(v))&&null!==v)try{for(var g,y=Object.entries(v)[Symbol.iterator]();!(a=(g=y.next()).done);a=!0){var h=_sliced_to_array(g.value,2),b=h[0],m=h[1];if("object"==(void 0===m?"undefined":_type_of(m))&&null!==m){var w=m;void 0!==w.data&&n.push("mapping[".concat(p,"][").concat(b,"].data")),void 0!==w.silent&&n.push("mapping[".concat(p,"][").concat(b,"].silent"))}}}catch(e){i=!0,s=e}finally{try{a||null==y.return||y.return()}finally{if(i)throw s}}}}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,k(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,S(O)]):(e.logger.warn("Transformer ".concat(r," invalid (").concat(p.code,"): ").concat(p.reason,". Skipping.")),[2,"continue"]);case 1:return x=A.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!==(i=x.config)&&void 0!==i?i:{}),{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!==(s=x.config)&&void 0!==s?s:{}),{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(s())];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,i=l,[3,8];case 7:try{r||null==c.return||c.return()}finally{if(o)throw i}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})})()},xe=function(e){return _async_to_generator(function(){var t,n,r,o,a,i,s,c,u,l;return _ts_generator(this,function(f){switch(f.label){case 0:return[4,Se(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 i,s;return _ts_generator(this,function(c){if("string"==typeof e&&e.startsWith("walker "))return i=e.replace("walker ",""),[2,r.command(i,t)];if("string"==typeof e)s={name:e},t&&"object"==(void 0===t?"undefined":_type_of(t))&&!Array.isArray(t)&&(s.data=t);else{if(!e||"object"!=(void 0===e?"undefined":_type_of(e)))return[2,_e({ok:!1})];s=e,t&&"object"==(void 0===t?"undefined":_type_of(t))&&!Array.isArray(t)&&(s.data=_object_spread({},s.data||{},t))}return[2,(n&&"object"==(void 0===n?"undefined":_type_of(n))&&(s.context=n),o&&Array.isArray(o)&&(s.nested=o),a&&"object"==(void 0===a?"undefined":_type_of(a))&&(s.custom=a),r.push(s))]})})()}},t.sources.elb=n,[4,$(t,e.sources||{})];case 2:return f.sent(),o=e.consent,a=e.user,i=e.globals,s=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 i&&Object.assign(t.globals,i),s&&Object.assign(t.custom,s),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})]}})})()},Ae=Object.defineProperty,Ce=Object.getOwnPropertyDescriptor,qe=Object.getOwnPropertyNames,Ee=Object.prototype.hasOwnProperty,Pe=function(e,t){for(var n in t)Ae(e,n,{get:t[n],enumerable:!0})},Ie={};Pe(Ie,{SourceDataLayer:function(){return tt},createTrigger:function(){return ht},default:function(){return wt},env:function(){return nt},sourceDataLayer:function(){return mt},step:function(){return st},trigger:function(){return bt}});var De=Object.defineProperty,Te=function(e,t){for(var n in t)De(e,n,{get:t[n],enumerable:!0})};Te({},{stepId:function(){return e}});Te({},{getDestination:function(){return t}});Te({},{Level:function(){return Me}});var Le,Me=((Le=Me||{})[Le.ERROR=0]="ERROR",Le[Le.WARN=1]="WARN",Le[Le.INFO=2]="INFO",Le[Le.DEBUG=3]="DEBUG",Le);Te({},{getTransformer:function(){return n}});Te({},{getSource:function(){return r}});Te({},{getStore:function(){return o}});var Re={merge:!0,shallow:!0,extend:!0};function Ne(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]=Ne(e[o],t));return r}if("[object Array]"===n){var a=[];return t.set(e,a),e.forEach(function(e){a.push(Ne(e,t))}),a}if("[object Date]"===n)return new Date(e.getTime());if("[object RegExp]"===n){var i=e;return new RegExp(i.source,i.flags)}return e}function Ue(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&&s(r)){var i=n.slice(o+1).join("."),u=[],f=!0,d=!1,_=void 0;try{for(var p,v=r[Symbol.iterator]();!(f=(p=v.next()).done);f=!0){var g=Ue(p.value,i,t);u.push(g)}}catch(e){d=!0,_=e}finally{try{f||null==v.return||v.return()}finally{if(d)throw _}}return u}if(void 0===(r=l(r)||s(r)?r[a]:void 0))break}return c(r)?r:t}var ze={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}}},Be=function(e,t,n,r){var o="".concat(Me[e]).concat(r.length>0?" [".concat(r.join(":"),"]"):""),a=Object.keys(n).length>0,i=0===e?console.error:1===e?console.warn:console.log;a?i(o,t,n):i(o,t)};function Ke(e){var t=e.level,n=e.handler,r=e.jsonHandler,o=e.scope,a=function(e,r,a){if(e<=t){var i=g(r,a);n?n(e,i.message,i.context,o,Be):Be(e,i.message,i.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=g(e,t);throw n?n(0,r.message,r.context,o,Be):Be(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 Ke({level:t,handler:n,jsonHandler:r,scope:_to_consumable_array(o).concat([e])})}}}function Ge(e){return function(e){return"boolean"==typeof e}(e)||f(e)||function(e){return"number"==typeof e&&!Number.isNaN(e)}(e)||!c(e)||s(e)&&e.every(Ge)||l(e)&&Object.values(e).every(Ge)}var He=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 Fe(e,t,n){return _async_to_generator(function(){return _ts_generator(this,function(r){return[2,(s(t)?t:[t]).reduce(function(t,r){return _async_to_generator(function(){var o,a,i,u,l,d,p,v,g,y,b,w,k,O,S,x,A,C,q,E,P,I;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?(i=a.condition,u=a.consent,l=a.fn,d=a.key,p=a.loop,v=a.map,g=a.set,y=a.validate,b=a.value,w=_object_spread_props(_object_spread({},n),{mapping:r}),(k=i)?[4,m(i,function(e){if(_instanceof(e,He))throw e;return w.logger.error("mapping condition failed",{event:w.event,error:e}),!1})(e,w)]:[3,3]):[2]);case 2:k=!D.sent(),D.label=3;case 3:return k?[2]:u&&!_(u,w.consent)?[2,b]:(O=c(b)?b:e,l?[4,m(l,function(e){if(_instanceof(e,He))throw e;w.logger.error("mapping fn failed",{event:w.event,error:e})})(e,w)]:[3,5]);case 4:O=D.sent(),D.label=5;case 5:return d&&(O=Ue(e,d,b)),p?(S=_sliced_to_array(p,2),x=S[0],A=S[1],"this"!==x?[3,6]:(q=[e],[3,8])):[3,11];case 6:return[4,j(e,x,w)];case 7:q=D.sent(),D.label=8;case 8:return s(C=q)?[4,Promise.all(C.map(function(e){return j(e,A,w)}))]:[3,10];case 9:O=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(i){switch(i.label){case 0:return[4,t];case 1:return n=i.sent(),[4,j(e,a,w)];case 2:return r=i.sent(),[2,(c(r)&&(n[o]=r),n)]}})})()},Promise.resolve({}))]:[3,13];case 12:return O=D.sent(),[3,16];case 13:return(E=g)?[4,Promise.all(g.map(function(t){return Fe(e,t,w)}))]:[3,15];case 14:E=O=D.sent(),D.label=15;case 15:D.label=16;case 16:D.label=17;case 17:return(P=y)?[4,m(y,function(e){if(_instanceof(e,He))throw e;return w.logger.error("mapping validate failed",{event:w.event,error:e}),!1})(O,w)]:[3,19];case 18:P=!D.sent(),D.label=19;case 19:return P&&(O=void 0),I=h(O),[2,c(I)?I:h(b)]}})})()},Promise.resolve(void 0))]})})()}function We(e){if(void 0===e||"*"===e)return function(){return!0};if("and"in e){var t=e.and.map(We);return function(e){return t.every(function(t){return t(e)})}}if("or"in e){var n=e.or.map(We);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=Ue(e,t),r=a(n);return o?!r:r}}(e)}function Ve(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 Ve({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,i=e[Symbol.iterator]();!(n=(a=i.next()).done);n=!0){var s=Ve(a.value);void 0!==s&&t.push(s)}}catch(e){r=!0,o=e}finally{try{n||null==i.return||i.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:We(c.match),next:Ve(c.next)}:Ve(c.next);if("one"in c&&c.one){var u=S(c.one);return c.match?{type:"gate",match:We(c.match),next:{type:"one",routes:u}}:{type:"one",routes:u}}if("many"in c&&c.many){var l=S(c.many);return c.match?{type:"gate",match:We(c.match),next:{type:"many",routes:l}}:{type:"many",routes:l}}return c.match?{type:"gate",match:We(c.match)}:void 0}}var $e=new WeakMap;function Je(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 Je(e.next,t)}if("sequence"===e.type){var n=[],r=!0,o=!1,a=void 0;try{for(var i,s=e.value[Symbol.iterator]();!(r=(i=s.next()).done);r=!0){var c,u=Je(i.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==s.return||s.return()}finally{if(o)throw a}}return n.length>0?n:void 0}if("many"===e.type){var l=[],f=!0,d=!1,_=void 0;try{for(var p,v=e.routes[Symbol.iterator]();!(f=(p=v.next()).done);f=!0){var g,y=p.value;if(y.match(t)){var h=Je(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,_=e}finally{try{f||null==v.return||v.return()}finally{if(d)throw _}}return l.length>0?l:void 0}var b=!0,m=!1,w=void 0;try{for(var j,k=e.routes[Symbol.iterator]();!(b=(j=k.next()).done);b=!0){var O=j.value;if(O.match(t))return Je(O.next,t)}}catch(e){m=!0,w=e}finally{try{b||null==k.return||k.return()}finally{if(m)throw w}}}}var Ye={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"]},Ze=["config","env","validate","variables","examples","disabled","id","logger","mock","chainMocks"],Qe={Source:["primary"],Transformer:[],Destination:[],Store:[]},Xe=/^[A-Za-z_$][A-Za-z0-9_$]*$/,et=!1,tt={},nt={};Pe(nt,{push:function(){return it}});var rt=function(){},ot=function(){return function(){return Promise.resolve({ok:!0})}},at={error:rt,warn:rt,info:rt,debug:rt,throw:function(e){throw"string"==typeof e?new Error(e):e},json:rt,scope:function(){return at}},it={get push(){return ot()},get command(){return ot()},get elb(){return ot()},get window(){return{dataLayer:[],addEventListener:rt,removeEventListener:rt}},logger:at},st={};Pe(st,{consentUpdate:function(){return ut},directEvent:function(){return dt},gtagAddToCart:function(){return lt},gtagPurchase:function(){return ct},gtagViewItem:function(){return ft}});var ct={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}]}}]]},ut={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"}}]]},lt={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}]}}]]},ft={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}]}}]]},dt={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"}}]]},_t={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 pt(e,t,n,r,o,i,s){return _async_to_generator(function(){var c,u,l,f,d,_,p,v,g,y,h;return _ts_generator(this,function(b){switch(b.label){case 0:o||(o=a(null!==(c=n[0])&&void 0!==c?c:"chain")),s&&o._meta&&(o._meta.chainPath=s),u=r,l=i,f=!0,d=!1,_=void 0,b.label=1;case 1:b.trys.push([1,6,7,8]),p=function(){var r,a,i,c,f,d,_,p,v,y,h,b,w,j,k,O,S,P,I,D,T,L,N,G,H,F,W,V,$,J,Y,Z,Q,X,ee,te,ne,re,oe,ae,ie,se,ce,ue,le,fe;return _ts_generator(this,function(de){switch(de.label){case 0:return r=g.value,(_=t[r])?o&&o._meta&&o._meta.path.length>256?[2,{v:(e.logger.error("Max path length exceeded at ".concat(r)),{event:null,respond:l})}]:(o&&o._meta&&(o._meta.hops++,o._meta.path.push(r)),[4,m(z,function(t){if(_instanceof(t,He))throw t;return e.status.failed++,e.logger.scope("transformer:".concat(_.type||"unknown")).error("transformer init failed",{transformer:r,error:t}),!1})(e,_,r)]):(e.logger.warn("Transformer not found: ".concat(r)),[2,"continue"]);case 1:return de.sent()?s&&void 0!==(null===(i=_.config)||void 0===i||null===(a=i.chainMocks)||void 0===a?void 0:a[s])?(p=_.config.chainMocks[s],e.logger.scope("transformer:".concat(_.type||"unknown")).debug("chainMock",{chain:s}),u=p,[2,"continue"]):void 0!==(null===(c=_.config)||void 0===c?void 0:c.mock)?(e.logger.scope("transformer:".concat(_.type||"unknown")).debug("mock"),u=_.config.mock,[2,"continue"]):(null===(f=_.config)||void 0===f?void 0:f.disabled)?[2,"continue"]:(v=null===(d=_.config)||void 0===d?void 0:d.cache,y=v?C(v):void 0,h=y?M(y,e):void 0,b=void 0,y&&h?(w=A(o,u),[4,q(y,h,w)]):[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)&&(b={key:j.key,ttl:j.rule.ttl}),de.label=3;case 3:return(k=_.config.before)?1!==(O=x(k,A(o,u))).length?[3,6]:(S=U(O[0],R(t))).length>0?[4,pt(e,t,S,u,o,l,s)]:[3,5]:[3,9];case 4:if(null===(D=de.sent()).event)return[2,{v:{event:null,respond:null!==(P=D.respond)&&void 0!==P?P: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 O.length>1?[4,Promise.all(O.map(function(n){return m(pt,function(t){return e.logger.scope("transformer:many").error("many branch ".concat(n," failed"),{error:t}),{event:null,respond:void 0}})(e,t,U(n,R(t)),u,K(o,n),void 0,s)}))]:[3,8];case 7:de.sent(),de.label=8;case 8:de.label=9;case 9:return[4,m(B,function(t){return e.logger.scope("transformer:".concat(_.type||"unknown")).error("Push failed",{error:t}),!1})(e,_,r,u,o,l)];case 10:return!1===(T=de.sent())?[2,{v:{event:null,respond:l}}]:Array.isArray(T)?(L=n.slice(n.indexOf(r)+1),[4,Promise.all(T.map(function(n){return _async_to_generator(function(){var r,a,i,c;return _ts_generator(this,function(f){switch(f.label){case 0:return r=n.event||u,a=K(o,"unknown"),n.next?0===(i=x(n.next,A(a,r))).length?[2,{event:r,respond:l}]:1===i.length?[2,(c=U(i[0],R(t))).length>0?pt(e,t,c,r,a,l,s):{event:r,respond:l}]:[4,Promise.all(i.map(function(n){return m(pt,function(t){return e.logger.scope("transformer:many").error("many branch ".concat(n," failed"),{error:t}),{event:null,respond:void 0}})(e,t,U(n,R(t)),r,K(a,n),void 0,s)}))]:[3,2];case 1:return[2,f.sent().map(function(e){return{event:e.event,respond:void 0}})];case 2:return[2,L.length>0?pt(e,t,L,r,a,l,s):{event:r,respond:l}]}})})()}))]):[3,12];case 11:N=de.sent(),G=l,H=[],F=!0,W=!1,V=void 0;try{for($=N.flat()[Symbol.iterator]();!(F=(J=$.next()).done);F=!0)if(null!==(Y=J.value))if(Y&&"object"==(void 0===Y?"undefined":_type_of(Y))&&"event"in Y){if((Q=Y).respond&&(G=Q.respond),null===Q.event)continue;Array.isArray(Q.event)?(Z=H).push.apply(Z,_to_consumable_array(Q.event)):H.push(Q.event)}else H.push(Y)}catch(e){W=!0,V=e}finally{try{F||null==$.return||$.return()}finally{if(W)throw V}}return[2,{v:0===H.length?{event:null,respond:G}:1===H.length?{event:H[0],respond:G}:{event:H,respond:G}}];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=x(te,A(o,u))).length?(X&&(u=X),[2,"continue"]):1===ne.length?[2,{v:(re=U(ne[0],R(t))).length>0?pt(e,t,re,X||u,o,l,s):(e.logger.warn("Branch target not found: ".concat(JSON.stringify(te))),{event:null,respond:l})}]:(oe={},[4,Promise.all(ne.map(function(n){return m(pt,function(t){return e.logger.scope("transformer:many").error("many branch ".concat(n," failed"),{error:t}),{event:null,respond:void 0}})(e,t,U(n,R(t)),X||u,K(o,n),void 0,s)}))])):[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 b&&h&&E(h,b.key,u,b.ttl),ae=_.config.next,ie="string"==typeof ae||Array.isArray(ae)&&ae.every(function(e){return"string"==typeof e}),se=void 0!==ae&&!ie,T&&("object"!=(void 0===T?"undefined":_type_of(T))||T.next)||!se?[3,19]:1===(ce=x(_.config.next,A(o,u))).length?[2,{v:(ue=U(ce[0],R(t))).length>0?pt(e,t,ue,u,o,l,s):{event:u,respond:l}}]:(le={},ce.length>1?[4,Promise.all(ce.map(function(n){return m(pt,function(t){return e.logger.scope("transformer:many").error("many branch ".concat(n," failed"),{error:t}),{event:null,respond:void 0}})(e,t,U(n,R(t)),u,K(o,n),void 0,s)}))]:[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](),b.label=2;case 2:return(f=(g=v.next()).done)?[3,5]:[5,_ts_values(p())];case 3:if("object"===_type_of(y=b.sent()))return[2,y.v];b.label=4;case 4:return f=!0,[3,2];case 5:return[3,8];case 6:return h=b.sent(),d=!0,_=h,[3,8];case 7:try{f||null==v.return||v.return()}finally{if(d)throw _}return[7];case 8:return[2,{event:u,respond:l}]}})})()}var vt,gt=new WeakMap,yt=Object.freeze({batched:!0}),ht=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,i,s,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,i=!1,s=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===(_=d.env)||void 0===_?void 0:_.window)||(o.sources[f]=_object_spread_props(_object_spread({},d),{env:_object_spread_props(_object_spread({},d.env),{window:window})}))}catch(e){i=!0,s=e}finally{try{a||null==c.return||c.return()}finally{if(i)throw s}}}return[4,xe(_object_spread_props(_object_spread({},o),{run:null===(r=o.run)||void 0===r||r}))];case 1:p=g.sent(),t={collector:p.collector,elb:p.elb},g.label=2;case 2:return(v=window).dataLayer||(v.dataLayer=[]),v.dataLayer.push(n),[2]}})})()}},[2,{get flow(){return t},trigger:n}]})})()},bt=function(e,t){var n=t.window;n.dataLayer||(n.dataLayer=[]),n.dataLayer.push(e)},mt=function(e){return _async_to_generator(function(){var t,n,r,o,a,i,s,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),s=0,c=function(){if(o){var e=a.name||"dataLayer",t=o[e];s=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 i=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(et)return i.apply(void 0,_to_consumable_array(n));et=!0;try{var a=!0,s=!1,c=void 0;try{for(var u,l=n[Symbol.iterator]();!(a=(u=l.next()).done);a=!0){var f=u.value;I(e,r,f)}}catch(e){s=!0,c=e}finally{try{a||null==l.return||l.return()}finally{if(s)throw c}}}finally{et=!1}return i.apply(void 0,_to_consumable_array(n))}}}(r,i,o)}},u=function(e){return _async_to_generator(function(){return _ts_generator(this,function(t){return"run"===e&&o&&s>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)&&!et){et=!0;try{for(var i=null!=n?n:a.length,s=0;s<i;s++)I(e,o,a[s])}finally{et=!1}}}(r,i,s,o),s=0),[2]})})()},[2,{type:"dataLayer",config:i={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]})})()}}]})})()},wt=mt;return vt=Ie,function(e,t,n,r){if(t&&"object"===(void 0===t?"undefined":_type_of(t))||"function"==typeof t){var o=!0,a=!1,i=void 0;try{for(var s,c=function(){var o=s.value;Ee.call(e,o)||o===n||Ae(e,o,{get:function(){return t[o]},enumerable:!(r=Ce(t,o))||r.enumerable})},u=qe(t)[Symbol.iterator]();!(o=(s=u.next()).done);o=!0)c()}catch(e){a=!0,i=e}finally{try{o||null==u.return||u.return()}finally{if(a)throw i}}}return e}(Ae({},"__esModule",{value:!0}),vt)}();
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "$meta": {
3
3
  "package": "@walkeros/web-source-datalayer",
4
- "version": "4.1.0-next-1779362268386",
4
+ "version": "4.1.0",
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.0-next-1779362268386",
4
+ "version": "4.1.0",
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.0-next-1779362268386",
42
- "@walkeros/collector": "4.1.0-next-1779362268386"
41
+ "@walkeros/core": "4.1.0",
42
+ "@walkeros/collector": "4.1.0"
43
43
  },
44
44
  "devDependencies": {
45
45
  "@types/gtag.js": "^0.0.20"