@walkeros/core 4.8.2 → 4.8.3-next-1793115089237

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/dist/index.mjs CHANGED
@@ -1 +1 @@
1
- var e=Object.defineProperty,t=(t,n)=>{for(var r in n)e(t,r,{get:n[r],enumerable:!0})},n={},r={};function o(e,t){if("collector"===e)return"collector";if(!t)throw new Error(`stepId(${e}) requires an id`);return`${e}.${t}`}t(r,{stepId:()=>o});var s={},i={};function a(e,t){const n=e.destinations[t];if(!n)throw new Error(`Destination not found: ${t}`);return n}t(i,{getDestination:()=>a});var c={},u={},f={};t(f,{Level:()=>l});var l=(e=>(e[e.ERROR=0]="ERROR",e[e.WARN=1]="WARN",e[e.INFO=2]="INFO",e[e.DEBUG=3]="DEBUG",e))(l||{}),p={},d={},m={};function g(e,t){const n=e.transformers[t];if(!n)throw new Error(`Transformer not found: ${t}`);return n}t(m,{getTransformer:()=>g});var h={},v={};function y(e,t){const n=e.sources[t];if(!n)throw new Error(`Source not found: ${t}`);return n}t(v,{getSource:()=>y});var b={};function w(e,t){const n=e.stores[t];if(!n)throw new Error(`Store not found: ${t}`);return n}async function k(e,t){return await e.get(t)}t(b,{getStore:()=>w,getStoreValue:()=>k});var $={},j={},x={},E={},S={},O={},A={Utils:{Storage:{Local:"local",Session:"session",Cookie:"cookie"}}};function I(e){return{_meta:{hops:0,path:[e]}}}function _(e,t){return{event:e,next:t}}function M(e){const t=e.replace(/^::ffff:/i,"");if(/^(?:\d{1,3}\.){3}\d{1,3}$/.test(t))return t.replace(/\.\d+$/,".0");const n=function(e){const t=e.split("::");if(t.length>2)return;const n=t[0]?t[0].split(":"):[],r=t[1]?t[1].split(":"):[],o=8-n.length-r.length;if(1===t.length?0!==o:o<1)return;const s=[...n,...Array(o).fill("0"),...r];if(!s.every(e=>/^[\da-f]{1,4}$/i.test(e)))return;return s.map(e=>parseInt(e,16).toString(16))}(e);return n?`${n.slice(0,3).join(":")}::`:""}function N(e){throw new Error(String(e))}var P=new Set(["description","examples","title","$comment"]),R=new Set(["additionalItems","additionalProperties","contains","contentSchema","else","if","items","not","propertyNames","then","unevaluatedItems","unevaluatedProperties"]),C=new Set(["allOf","anyOf","items","oneOf","prefixItems"]),T=new Set(["properties","patternProperties","dependentSchemas","dependentRequired","dependencies","$defs","definitions"]),z=["extend","tagging","description","events","schema"];function K(e,t){const n=!1!==t?.stripAnnotations,r={},o=new Set;function s(t){if(r[t])return r[t];o.has(t)&&N(`Circular extend chain detected: ${[...o,t].join(" → ")}`);const i=e[t];i||N(`Contract "${t}" not found`),o.add(t);let a={};if(i.extend){a=function(e,t){const n={};void 0===e.tagging&&void 0===t.tagging||(n.tagging=t.tagging??e.tagging);void 0===e.description&&void 0===t.description||(n.description=t.description??e.description);e.schema&&t.schema?n.schema=L(e.schema,t.schema):(e.schema||t.schema)&&(n.schema={...e.schema||t.schema});if(e.events||t.events){const r={},o=new Set([...Object.keys(e.events||{}),...Object.keys(t.events||{})]);for(const n of o){const o=e.events?.[n]||{},s=t.events?.[n]||{},i=new Set([...Object.keys(o),...Object.keys(s)]);r[n]={};for(const e of i){const t=o[e],i=s[e];r[n][e]=t&&i?L(t,i):{...t||i}}}n.events=r}return n}(s(i.extend),i)}else a={...i};if(delete a.extend,a.events&&(a.events=function(e){const t={};for(const n of Object.keys(e))if("*"!==n){t[n]={};for(const r of Object.keys(e[n]||{})){let o={};const s=e["*"]?.["*"];s&&(o=L(o,s));const i=e["*"]?.[r];i&&"*"!==r&&(o=L(o,i));const a=e[n]?.["*"];a&&"*"!==r&&(o=L(o,a));const c=e[n]?.[r];c&&(o=L(o,c)),t[n][r]=o}}e["*"]&&(t["*"]={...e["*"]});return t}(a.events)),a.events&&n){const e={};for(const[t,n]of Object.entries(a.events)){e[t]={};for(const[r,o]of Object.entries(n))e[t][r]=D(o)}a.events=e}return o.delete(t),r[t]=a,a}for(const t of Object.keys(e))s(t);return r}function L(e,t){const n={...e};for(const r of Object.keys(t)){const o=e[r],s=t[r];"required"===r&&Array.isArray(o)&&Array.isArray(s)?n[r]=[...new Set([...o,...s])]:F(o)&&F(s)?n[r]=L(o,s):n[r]=s}return n}function D(e){const t={};for(const[n,r]of Object.entries(e))P.has(n)||(T.has(n)&&F(r)?t[n]=q(r):C.has(n)&&Array.isArray(r)?t[n]=r.map(e=>F(e)?D(e):e):R.has(n)&&F(r)?t[n]=D(r):t[n]=r);return t}function q(e){const t={};for(const[n,r]of Object.entries(e))t[n]=F(r)?D(r):r;return t}function F(e){return"object"==typeof e&&null!==e&&!Array.isArray(e)}var W=/^\$var\.([a-zA-Z_][a-zA-Z0-9_]*(?:\.[a-zA-Z_][a-zA-Z0-9_]*)*)$/,U=/\$var\.([a-zA-Z_][a-zA-Z0-9_]*(?:\.[a-zA-Z_][a-zA-Z0-9_]*)*)/g,V=/\$env\.([a-zA-Z_][a-zA-Z0-9_]*)(?::([^"}\s]*))?/g,Z=/^\$contract\.([a-zA-Z_][a-zA-Z0-9_]*)(?:\.(.+))?$/,B="[a-zA-Z_][a-zA-Z0-9_-]*",H=`\\$flow\\.(${B})(?:\\.([a-zA-Z0-9_.]+))?`,J=new RegExp(`^${H}$`),G=new RegExp(H,"g"),Y=/^\$store\.([a-zA-Z_][a-zA-Z0-9_]*)$/,X=/^\$secret\.([A-Z0-9_]+)$/,Q="$code:";function ee(e,t){const n=t??new Set;if("string"==typeof e){for(const t of e.matchAll(G))n.add(t[1]);return n}if(e&&"object"==typeof e)for(const t of Object.values(e))ee(t,n);return n}function te(e){return"[object Arguments]"===Object.prototype.toString.call(e)}function ne(e){return Array.isArray(e)}function re(e){return"boolean"==typeof e}function oe(e){return"walker"===e}function se(e){return void 0!==e}function ie(e){return"function"==typeof e}function ae(e){return"object"==typeof e&&null!==e&&"then"in e&&"function"==typeof e.then}function ce(e){return"number"==typeof e&&!Number.isNaN(e)}function ue(e){return"object"==typeof e&&null!==e&&!ne(e)&&"[object Object]"===Object.prototype.toString.call(e)}function fe(e,t){return typeof e==typeof t}function le(e){return"string"==typeof e}var pe={transformer:{config:["consent","include","data"],rule:["consent","include","remove","batch","settings","extend","data","silent"]},source:{config:["data","include"],rule:["data","include","remove","batch","settings","extend","silent"]},destination:{config:[],rule:["extend"]}},de={transformer:"only `policy` and a rule's `condition`, `policy`, `name` and `ignore` apply",source:"only `consent`, `policy` and a rule's `condition`, `policy`, `name` and `ignore` apply; edit the event at a source with `policy`",destination:"a rule's `extend` applies only inside a package's own `settings.mapping` (today `@walkeros/transformer-ga4`), merged onto its shipped rules; write the fields on the rule itself"};function me(e,t,n){return ge(t,n,pe[e])}function ge(e,t,n){if(!ue(e))return[];const{config:r,rule:o}=n,s=[];for(const n of r)void 0!==e[n]&&s.push(`${t}.${n}`);const i=e.mapping;if(!ue(i))return s;for(const[e,n]of Object.entries(i))if(ue(n))for(const[r,i]of Object.entries(n)){(ne(i)?i:[i]).forEach((n,a)=>{if(!ue(n))return;const c=`${t}.mapping.${e}.${r}${ne(i)?`[${a}]`:""}`;for(const e of o)void 0!==n[e]&&s.push(`${c}.${e}`)})}return s}function he(e,t){return`${t.map(e=>`\`${e}\``).join(", ")} ${1===t.length?"does":"do"} nothing at the ${e} position; ${de[e]}.`}function ve(e){return e.config?.mapping??e.mapping}function ye(e){const t=ve(e);if(void 0===t)return[];const n=void 0!==e.config?.mapping?"config.mapping":"mapping",r="config.mapping"===n&&void 0!==e.mapping;if(void 0!==e.code||void 0!==e.package){return[`${r?"`config.mapping` and `mapping` are":`\`${n}\` is`} ignored: a transformer with \`${void 0!==e.code?"code":"package"}\` never runs ${r?"them":"it"}; a mapping applies only to a transformer without code.`]}const o=[];r&&o.push("`mapping` is overridden: `config.mapping` wins; remove one.");const s=me("transformer",t,n);return s.length>0&&o.push(he("transformer",s)),o}var be={Source:{package:"reference",code:"reference",import:"reference",config:"runtime",env:"runtime",primary:"runtime",before:"runtime",next:"runtime",cache:"runtime",state:"runtime",variables:"resolve",examples:"docs"},Transformer:{package:"reference",code:"reference",import:"reference",config:"runtime",env:"runtime",before:"runtime",next:"runtime",cache:"runtime",state:"runtime",mapping:"runtime",variables:"resolve",examples:"docs"},Destination:{package:"reference",code:"reference",import:"reference",config:"runtime",env:"runtime",before:"runtime",next:"runtime",cache:"runtime",state:"runtime",variables:"resolve",examples:"docs"},Store:{package:"reference",code:"reference",import:"reference",config:"runtime",env:"runtime",cache:"runtime",variables:"resolve",examples:"docs"}};function we(e,t){const n=be[e];return Object.prototype.hasOwnProperty.call(n,t)?n[t]:void 0}function ke(e,t){const n={};for(const[r,o]of Object.entries(e))null!=o&&"runtime"===we(t,r)&&(n[r]=o);return n}var $e={Source:["code","package","import","before","next","cache","state"],Transformer:["code","package","import","before","next","cache","state","mapping"],Destination:["code","package","import","before","next","cache","state"],Store:["code","package","import","cache"]},je=["push","pushBatch","init","on","destroy"],xe=["disabled","id","logger","mock","chainMocks"],Ee=/^[A-Za-z_$][A-Za-z0-9_$]*$/;function Se(e){return new Set([...Object.keys(be[e]),...xe])}function Oe(e,t){const n=Se(t);for(const r of Object.keys(e))if(!n.has(r))return{ok:!1,code:"UNKNOWN_KEY",key:r,reason:`Unknown key "${r}" on ${t}. Allowed: ${[...n].sort().join(", ")}.`};const r=void 0!==e.package,o=void 0!==e.import,s=void 0!==e.code;return s&&"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.`}:s&&("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?, pushBatch?, on?, destroy? }) or a resolved function value."}:s&&r?{ok:!1,code:"CONFLICT",key:"package",reason:"Cannot specify both `code` and `package`. Use one or the other."}:s&&o?{ok:!1,code:"CONFLICT",key:"import",reason:"Cannot specify both `code` and `import`."}:o&&!r?{ok:!1,code:"MISSING_PACKAGE",key:"import",reason:"`import` requires `package` to be set."}:!o||"string"==typeof e.import&&Ee.test(e.import)?{ok:!0}:{ok:!1,code:"INVALID_IMPORT",key:"import",reason:`import must match ${Ee.source}. Got: ${JSON.stringify(e.import)}.`}}function Ae(e,t){const n=Se(t);return Object.keys(e).filter(e=>!n.has(e))}function Ie(e,t){if("Transformer"!==t)return!1;if(void 0!==e.code||void 0!==e.package||void 0!==e.import)return!1;if($e.Transformer.some(t=>"reference"!==we("Transformer",t)&&void 0!==e[t]))return!0;const n=ue(e.config)?e.config:void 0;return void 0!==ve({mapping:e.mapping,config:n})||void 0!==n?.state}function _e(...e){const t={};for(const n of e)n&&Object.assign(t,n);return t}var Me=class extends Error{code;reference;constructor(e,t,n){super(n),this.name="FlowReferenceError",this.code=e,this.reference=t}},Ne=class extends Error{code;chain;constructor(e,t){super(`Cyclic ${"FLOW_CYCLE"===e?"$flow":"$var"} reference: ${t.join(" -> ")}`),this.name="FlowCycleError",this.code=e,this.chain=t}},Pe="__WALKEROS_ENV:",Re="__WALKEROS_SECRET:";function Ce(e,t,n){const r=`$flow.${e}${t?`.${t}`:""}`;if("unknown-flow"===n)return`${r} cannot resolve: flow "${e}" does not exist in this config.`;return`${r} is empty. Set ${t?`flows.${e}.config.${t}`:`flows.${e}.config`}.`}function Te(e,t,n){const r=t.split(".");let o=e;for(let e=0;e<r.length;e++){const s=r[e];if(null==o||"object"!=typeof o){const o=r.slice(0,e).join(".");N(`Path "${t}" not found in "${n}": "${s}" does not exist${o?` in "${o}"`:""}`)}const i=o;if(!(s in i)){const o=r.slice(0,e).join(".");N(`Path "${t}" not found in "${n}": "${s}" does not exist${o?` in "${o}"`:""}`)}o=i[s]}return o}function ze(e,t,n,r,o,s){if("string"==typeof e){const i=e.match(W);if(i){const e=i[1].split("."),a=e[0],c=e.slice(1).join(".");void 0===t[a]&&N(`Variable "${a}" not found`);const u=s??new Set;if(u.has(a))throw new Ne("VAR_CYCLE",[...u,a]);let f;u.add(a);try{f=ze(t[a],t,n,r,o,u)}finally{u.delete(a)}return c&&(f=Te(f,c,`$var.${a}`)),f}const a=e.match(Z);if(a&&r){const e=a[1],t=a[2];e in r||N(`Contract "${e}" not found`);let n=r[e];return t&&(n=Te(n,t,`$contract.${e}`)),n}const c=e.match(J);if(c){const t=c[1],r=c[2],s=!1===n?.strictFlowRefs;o||N(`$flow.${t}${r?`.${r}`:""} cannot be resolved without a flow resolver`);const i=o(t);if(!i){if(s)return n?.onWarning?.(Ce(t,r,"unknown-flow")),e;N(`Flow "${t}" not found in $flow.${t}`)}let a=i;if(r)if(s){try{a=Te(a,r,`$flow.${t}`)}catch{return n?.onWarning?.(Ce(t,r,"missing-key")),e}if(null==a||""===a)return n?.onWarning?.(Ce(t,r,"missing-key")),e}else a=Te(a,r,`$flow.${t}`),null!=a&&""!==a||N(Ce(t,r,"missing-key"));return a}const u=e.match(X);if(u){const e=u[1];if(n?.deferred)return`${Re}${e}`;throw new Me("WEB_SECRET_REF",e,`Secret "$secret.${e}" cannot be used in a web flow: secrets are never sent to the browser. Use a server flow.`)}let f=e.replace(U,(e,i)=>{const a=i.split("."),c=a[0],u=a.slice(1).join(".");void 0===t[c]&&N(`Variable "${c}" not found`);const f=s??new Set;if(f.has(c))throw new Ne("VAR_CYCLE",[...f,c]);let l;f.add(c);try{l=ze(t[c],t,n,r,o,f)}finally{f.delete(c)}if(u&&(l=Te(l,u,`$var.${c}`)),null===l||"string"!=typeof l&&"number"!=typeof l&&"boolean"!=typeof l){N(`Variable "${i}" resolves to non-scalar (${Array.isArray(l)?"array":typeof l}) and cannot be inlined into a string. Use it as a whole-string reference: "$var.${i}"`)}return String(l)});return f=f.replace(V,(e,t,r)=>{if(n?.deferred)return void 0!==r?`${Pe}${t}:${r}`:`${Pe}${t}`;const o=n?.env?.[t];if(void 0!==o)return o;if(void 0!==r)return r;throw new Me("MISSING_ENV",t,`Environment variable "${t}" not found and no default provided`)}),f}if(Array.isArray(e))return e.map(e=>ze(e,t,n,r,o,s));if(null!==e&&"object"==typeof e){const i={};for(const[a,c]of Object.entries(e))i[a]=ze(c,t,n,r,o,s);return i}return e}function Ke(e){const t=e.startsWith("@"),n=e.replace("@","").replace(/[/-]/g,"_").split("_").filter(e=>e.length>0).map((e,t)=>0===t?e:e.charAt(0).toUpperCase()+e.slice(1)).join("");return t?"_"+n:n}function Le(e,t,n){const r=new Map,o=new Set,s=[],i=t=>{if(r.has(t))return r.get(t);const a=e.flows[t];if(a){if(o.has(t))throw new Ne("FLOW_CYCLE",[...s,t]);o.add(t),s.push(t);try{const o=_e(e.variables,a.variables),s=ze(a.config??{},o,n,void 0,i);return r.set(t,s),s}finally{o.delete(t),s.pop()}}},a=Object.keys(e.flows);t||(1===a.length?t=a[0]:N(`Multiple flows found (${a.join(", ")}). Please specify a flow.`));const c=e.flows[t];c||N(`Flow "${t}" not found. Available: ${a.join(", ")}`),o.add(t),s.push(t);try{return function(e,t,n,r){const o=JSON.parse(JSON.stringify(t));let s;if(e.contract){const o=_e(e.variables,t.variables),i=ze(e.contract,o,n,void 0,r);s=K(i)}if(o.config){const i=_e(e.variables,t.variables);o.config=ze(o.config,i,n,s,r)}const i=(o,i)=>{for(const a of Object.values(o??{}))De(a,i,_e(e.variables,t.variables,a.variables),n,s,r)};if(i(o.sources,"Source"),i(o.destinations,"Destination"),i(o.stores,"Store"),i(o.transformers,"Transformer"),o.collector){const i=_e(e.variables,t.variables),a=ze(o.collector,i,n,s,r);o.collector=a}return o}(e,c,n,i)}finally{o.delete(t),s.pop()}}function De(e,t,n,r,o,s){e.config=ze(e.config,n,r,o,s),e.env=ze(e.env,n,r,o,s);for(const n of Object.keys(e)){const r=we(t,n);void 0!==r&&"docs"!==r||Reflect.deleteProperty(e,n)}}function qe(e){const t=e.config?.platform;if("web"===t||"server"===t)return t;N('Flow must have config.platform set to "web" or "server"')}var Fe={merge:!0,shallow:!0,extend:!0};function We(e,t={},n={}){n={...Fe,...n};const r=Object.entries(t).reduce((t,[r,o])=>{const s=e[r];return n.merge&&Array.isArray(s)&&Array.isArray(o)?t[r]=o.reduce((e,t)=>e.includes(t)?e:[...e,t],[...s]):(n.extend||r in e)&&(t[r]=o),t},{});return n.shallow?{...e,...r}:(Object.assign(e,r),e)}function Ue(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 r in e)Object.prototype.hasOwnProperty.call(e,r)&&(n[r]=Ue(e[r],t));return n}if("[object Array]"===n){const n=[];return t.set(e,n),e.forEach(e=>{n.push(Ue(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 Ve(e,t="",n){const r=t.split(".");let o=e;for(let e=0;e<r.length;e++){const t=r[e];if("*"===t&&ne(o)){const t=r.slice(e+1).join("."),s=[];for(const e of o){const r=Ve(e,t,n);s.push(r)}return s}if(o=ue(o)||ne(o)?o[t]:void 0,void 0===o)break}return se(o)?o:n}function Ze(e,t,n,r){if(!ue(e))return e;const o=r?.mutable?e:Ue(e),s=t.split(".");let i=o;for(let e=0;e<s.length;e++){const t=s[e];if(e===s.length-1)void 0===n?delete i[t]:i[t]=n;else{if(!(t in i)||"object"!=typeof i[t]||null===i[t]){if(void 0===n)return o;i[t]={}}i=i[t]}}return o}function Be(e,t){if(!ue(e)&&!ne(e))return e;const n=Ue(e),r=t.split(".");let o=n;for(let e=0;e<r.length;e++){const t=r[e],s=e===r.length-1;if(ne(o)){const e=Number(t);if(!Number.isInteger(e)||e<0||e>=o.length)return n;if(s)o.splice(e,1);else{const t=o[e];if(!ue(t)&&!ne(t))return n;o=t}}else if(s)delete o[t];else{const e=o[t];if(!ue(e)&&!ne(e))return n;o=e}}return n}var He={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 Je(e,t,n){if(ue(n))for(const[r,o]of Object.entries(n))void 0!==o&&Je(e,`${t}_${r}`,o);else e[t]=n}function Ge(e,t){const n={},r=t.includes("all")?Object.keys(He):t;for(const t of r){const r=He[t];if(!r)continue;const o=r(e);if(ue(o))for(const[e,r]of Object.entries(o)){if(void 0===r)continue;Je(n,`${t}_${e}`,"context"===t&&Array.isArray(r)?r[0]:r)}}return n}function Ye(e){if("true"===e)return!0;if("false"===e)return!1;const t=Number(e);return e==t&&""!==e?t:String(e)}function Xe(e,t={},n={}){const r={...t,...n},o={};let s=!e||0===Object.keys(e).length;return Object.keys(r).forEach(t=>{r[t]&&(o[t]=!0,e&&e[t]&&(s=!0))}),!!s&&o}function Qe(e,t){const n={...e};return n.config=We(e.config,t,{shallow:!0,merge:!0,extend:!0}),e.config.settings&&t.settings&&(n.config.settings=We(e.config.settings,t.settings,{shallow:!0,merge:!0,extend:!0})),e.config.mapping&&t.mapping&&(n.config.mapping=We(e.config.mapping,t.mapping,{shallow:!0,merge:!0,extend:!0})),n}function et(e,t){if(!ue(t))return e;for(const n of Object.keys(t)){const r=t[n];void 0!==r&&(ue(r)&&ue(e[n])?et(e[n],r):e[n]=r)}return e}function tt(e){let t=8997,n=33826,r=40164,o=52210;for(let s=0;s<e.length;s++){t^=e.charCodeAt(s);const i=435*t;let a=435*n,c=435*r,u=435*o;c+=t<<8,u+=n<<8,a+=i>>>16,t=65535&i,c+=a>>>16,n=65535&a,o=u+(c>>>16)&65535,r=65535&c}const s=e=>e.toString(16).padStart(4,"0");return s(o)+s(r)+s(n)+s(t)}function nt(e,t){const n=tt(JSON.stringify([e,t]));return/^0+$/.test(n)?tt(JSON.stringify([n,t])):n}function rt(e=6,t="0123456789abcdefghijklmnopqrstuvwxyz"){const n=t.length;if(e<=0||0===n)return"";let r="";if(n<=256){const o=256-256%n;for(;r.length<e;){const s=e-r.length,i=new Uint8Array(Math.ceil(1.3*s)+4);if(!ot(i))break;for(let s=0;s<i.length&&r.length<e;s++)i[s]<o&&(r+=t[i[s]%n])}}for(;r.length<e;)r+=t[Math.random()*n|0];return r}function ot(e){try{if("undefined"!=typeof crypto&&"function"==typeof crypto.getRandomValues)return crypto.getRandomValues(e),!0}catch{}return!1}var st="0123456789abcdef";function it(e){let t=rt(e,st);for(;/^0+$/.test(t);)t=rt(e,st);return t}function at(){return it(16)}var ct=17e11;function ut(e={}){const t=e.timestamp||ct,n=We({name:"entity action",data:{string:"foo",number:1,boolean:!0,array:[0,"text",!1],not:void 0},context:{dev:["test",1]},globals:{lang:"elb"},custom:{completely:"random"},user:{id:"us3r",device:"c00k13",session:"s3ss10n"},nested:[{entity:"child",data:{is:"subordinated"}}],consent:{functional:!0},id:e.id||at(),trigger:"test",entity:"entity",action:"action",timestamp:t,timing:3.14,source:{type:"collector",schema:"4"}},e,{merge:!1});if(n.source={count:1,trace:"0a1b2c3d4e5f60718293a4b5c6d7e8f9",...n.source},e.name){const[t,r]=e.name.split(" ")??[];t&&r&&(n.entity=t,n.action=r)}return n}function ft(e="entity action",t={}){const n=t.timestamp||ct,r=t.id||tt(e),o={data:{id:"ers",name:"Everyday Ruck Snack",color:"black",size:"l",price:420}},s={data:{id:"cc",name:"Cool Cap",size:"one size",price:42}};return ut({...{"entity action":{},"cart view":{data:{currency:"EUR",value:2*o.data.price},context:{shopping:["cart",0]},globals:{pagegroup:"shop"},nested:[{entity:"product",data:{...o.data,quantity:2},context:{shopping:["cart",0]},nested:[]}],trigger:"load"},"checkout view":{data:{step:"payment",currency:"EUR",value:o.data.price+s.data.price},context:{shopping:["checkout",0]},globals:{pagegroup:"shop"},nested:[{entity:"product",...o,context:{shopping:["checkout",0]},nested:[]},{entity:"product",...s,context:{shopping:["checkout",0]},nested:[]}],trigger:"load"},"order complete":{data:{id:"0rd3r1d",currency:"EUR",shipping:5.22,taxes:73.76,value:555},context:{shopping:["complete",0]},globals:{pagegroup:"shop"},nested:[{entity:"product",...o,context:{shopping:["complete",0]},nested:[]},{entity:"product",...s,context:{shopping:["complete",0]},nested:[]},{entity:"gift",data:{name:"Surprise"},context:{shopping:["complete",0]},nested:[]}],trigger:"load"},"page view":{data:{domain:"www.example.com",title:"walkerOS documentation",referrer:"https://www.walkeros.io/",search:"?foo=bar",hash:"#hash",id:"/docs/"},globals:{pagegroup:"docs"},trigger:"load"},"product add":{...o,context:{shopping:["intent",0]},globals:{pagegroup:"shop"},nested:[],trigger:"click"},"product view":{...o,context:{shopping:["detail",0]},globals:{pagegroup:"shop"},nested:[],trigger:"load"},"product visible":{data:{...o.data,position:3,promo:!0},context:{shopping:["discover",0]},globals:{pagegroup:"shop"},nested:[],trigger:"load"},"promotion visible":{data:{name:"Setting up tracking easily",position:"hero"},context:{ab_test:["engagement",0]},globals:{pagegroup:"homepage"},trigger:"visible"},"session start":{data:{id:"s3ss10n",start:n,isNew:!0,count:1,runs:1,isStart:!0,storage:!0,referrer:"",device:"c00k13"},user:{id:"us3r",device:"c00k13",session:"s3ss10n",hash:"h4sh",address:"street number",email:"user@example.com",phone:"+49 123 456 789",userAgent:"Mozilla...",browser:"Chrome",browserVersion:"90",deviceType:"desktop",language:"de-DE",country:"DE",region:"HH",city:"Hamburg",zip:"20354",timezone:"Berlin",os:"walkerOS",osVersion:"1.0",screenSize:"1337x420",ip:"127.0.0.0",internal:!0,custom:"value"}}}[e],...t,name:e,id:r})}function lt(){return it(32)}var pt=/^(?<version>[0-9a-f]{2})-(?<trace>[0-9a-f]{32})-(?<span>[0-9a-f]{16})-[0-9a-f]{2}$/;function dt(e){if("string"!=typeof e)return;const t=pt.exec(e)?.groups;if(!t)return;const{version:n,trace:r,span:o}=t;return void 0===n||void 0===r||void 0===o||"ff"===n||/^0+$/.test(r)||/^0+$/.test(o)?void 0:{trace:r,parentSpan:o}}var mt=[{param:"gclid",platform:"google"},{param:"wbraid",platform:"google"},{param:"gbraid",platform:"google"},{param:"dclid",platform:"google"},{param:"gclsrc",platform:"google"},{param:"fbclid",platform:"meta"},{param:"igshid",platform:"meta"},{param:"msclkid",platform:"microsoft"},{param:"ttclid",platform:"tiktok"},{param:"twclid",platform:"twitter"},{param:"li_fat_id",platform:"linkedin"},{param:"epik",platform:"pinterest"},{param:"sclid",platform:"snapchat"},{param:"sccid",platform:"snapchat"},{param:"rdt_cid",platform:"reddit"},{param:"qclid",platform:"quora"},{param:"yclid",platform:"yandex"},{param:"ymclid",platform:"yandex"},{param:"ysclid",platform:"yandex"},{param:"dicbo",platform:"outbrain"},{param:"obclid",platform:"outbrain"},{param:"tblci",platform:"taboola"},{param:"mc_cid",platform:"mailchimp"},{param:"mc_eid",platform:"mailchimp"},{param:"_kx",platform:"klaviyo"},{param:"_hsenc",platform:"hubspot"},{param:"_hsmi",platform:"hubspot"},{param:"s_kwcid",platform:"adobe"},{param:"ef_id",platform:"adobe"},{param:"mkt_tok",platform:"adobe"},{param:"irclickid",platform:"impact"},{param:"cjevent",platform:"cj"},{param:"_branch_match_id",platform:"branch"}];function gt(e,t={},n=[]){const r={};Object.entries(We({utm_campaign:"campaign",utm_content:"content",utm_medium:"medium",utm_source:"source",utm_term:"term"},t)).forEach(([t,n])=>{const o=e.searchParams.get(t);o&&(r[n]=o)});const o=n.length?function(e){const t=new Map(e.map(e=>[e.param,e.platform])),n=new Set(mt.map(e=>e.param));return[...mt.map(e=>t.has(e.param)?{param:e.param,platform:t.get(e.param)}:e),...e.filter(e=>!n.has(e.param))]}(n):mt,s=new Map;e.searchParams.forEach((e,t)=>{e&&s.set(t.toLowerCase(),e)});for(const e of o){const t=s.get(e.param);t&&(r[e.param]=t,r.clickId||(r.clickId=e.param,r.platform=e.platform))}return r}function ht(e,t){return"number"==typeof e?{wait:e}:e?{wait:e.wait??t,size:e.size,age:e.age}:{wait:t}}function vt(e,t=1e3,n=!1){const{wait:r,size:o,age:s}=ht(t,1e3);let i,a,c=null,u=null,f=!1,l=[],p=0;const d=()=>{c&&(clearTimeout(c),c=null),u&&(clearTimeout(u),u=null),p=0,a=void 0},m=()=>{const t=a,n=l;if(d(),l=[],t)return i=e(...t),n.forEach(e=>e(i)),i;n.forEach(e=>e(void 0))},g=(...t)=>new Promise(d=>{const g=n&&!f;if(a=t,p+=1,l.push(d),c&&clearTimeout(c),c=setTimeout(()=>{c=null,n&&!f||m()},r),void 0===s||u||(u=setTimeout(()=>{u=null,m()},s)),void 0!==o&&p>=o)m();else if(g){f=!0,i=e(...t);const n=l;l=[],n.forEach(e=>e(i))}});return g.flush=()=>a||0!==l.length?new Promise(e=>{l.push(e),m()}):Promise.resolve(i),g.cancel=()=>{const e=l;l=[],d(),i=void 0,e.forEach(e=>e(void 0))},g.size=()=>p,g}function yt(e,t=1e3){const{wait:n}=ht(t,1e3);let r=null;return function(...t){if(null===r)return r=setTimeout(()=>{r=null},n),e(...t)}}function bt(e){const t={message:e.message,name:e.name,stack:e.stack},n="cause"in e?function(e){if("object"!=typeof e||null===e)return;const t={};return"name"in e&&"string"==typeof e.name&&(t.name=e.name),!("code"in e)||"string"!=typeof e.code&&"number"!=typeof e.code||(t.code=e.code),t}(e.cause):void 0;return n&&(t.cause=n),t}function wt(e,t){let n,r={};return e instanceof Error?(n=e.message,r.error=bt(e)):n=e,void 0!==t&&(t instanceof Error?r.error=bt(t):"object"==typeof t&&null!==t?(r={...r,...t},"error"in r&&r.error instanceof Error&&(r.error=bt(r.error))):r.value=t),{message:n,context:r}}var kt=(e,t,n,r)=>{const o=`${l[e]}${r.length>0?` [${r.join(":")}]`:""}`,s=Object.keys(n).length>0,i=0===e?console.error:1===e?console.warn:console.log;s?i(o,t,n):i(o,t)};function $t(e={}){return jt({level:void 0!==e.level?function(e){return"string"==typeof e?l[e]:e}(e.level):0,handler:e.handler,jsonHandler:e.jsonHandler,scope:[]})}function jt(e){const{level:t,handler:n,jsonHandler:r,scope:o}=e,s=(e,r,s)=>{if(e<=t){const t=wt(r,s);n?n(e,t.message,t.context,o,kt):kt(e,t.message,t.context,o)}};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)=>{throw new Error(wt(e,t).message)},json:e=>{r?r(e):console.log(JSON.stringify(e,null,2))},scope:e=>jt({level:t,handler:n,jsonHandler:r,scope:[...o,e]})}}function xt(e){return re(e)||le(e)||ce(e)||!se(e)||ne(e)&&e.every(xt)||ue(e)&&Object.values(e).every(xt)}function Et(e){return re(e)||le(e)||ce(e)?e:te(e)?Et(Array.from(e)):ne(e)?e.map(e=>Et(e)).filter(e=>void 0!==e):ue(e)?Object.entries(e).reduce((e,[t,n])=>{const r=Et(n);return void 0!==r&&(e[t]=r),e},{}):void 0}function St(e){return xt(e)?e:void 0}function Ot(e,t,n){return function(...r){try{return e(...r)}catch(e){if(!t)return;return t(e)}finally{n?.()}}}function At(e,t,n){return async function(...r){try{return await e(...r)}catch(e){if(!t)return;return await t(e)}finally{await(n?.())}}}function It(e,t){Object.defineProperty(e,"cause",{value:t,writable:!0,configurable:!0})}var _t=class e extends Error{constructor(t,n){super(t),this.name="FatalError",n&&"cause"in n&&It(this,n.cause),Object.setPrototypeOf(this,e.prototype)}},Mt=["transport","timeout","breaker-open","blocked","queue-full","vendor-not-ready","vendor-timeout"];var Nt=class extends Error{code;status;retryable;body;constructor(e,t){super(e),void 0!==t.cause&&It(this,t.cause),this.name="StepError",this.code=t.code,void 0!==t.status&&(this.status=t.status),this.retryable=function(e){if(void 0!==e.retryable)return e.retryable;const{status:t}=e;if(void 0!==t){if(429===t||t>=500&&t<600)return!0;if(t>=400&&t<500)return!1}return Mt.includes(e.code)}(t),void 0!==t.body&&(this.body=t.body),Object.setPrototypeOf(this,new.target.prototype)}};async function Pt(e,t,n){try{return await e()}catch(e){if(e instanceof Nt)throw e;throw new Nt(n,{code:t,cause:e})}}function Rt(e){return e.length>300?e.slice(0,300):e}function Ct(e){if(e instanceof Nt){const t={code:e.code,message:Rt(e.message),retryable:e.retryable};return void 0!==e.status&&(t.status=e.status),t}return{code:"transport",message:Rt(e instanceof Error?e.message:String(e)),retryable:!0}}function Tt(e){const t=e instanceof Error?e.message:"Network error",n=e instanceof Error&&"cause"in e?e.cause:void 0,r="object"==typeof n&&null!==n&&"code"in n&&"string"==typeof n.code?n.code:void 0;return r?`${t} (${r})`:t}var zt=["type","mappingKey"],Kt=["count","suppressed"];function Lt(e,t){const n={step:e.step,code:e.code};void 0!==e.status&&(n.status=e.status);for(const e of zt)"string"==typeof t[e]&&(n[e]=t[e]);for(const e of Kt)"number"==typeof t[e]&&(n[e]=t[e]);"boolean"==typeof t.retryable&&(n.retryable=t.retryable);const r="string"==typeof(o=t.event)?o:ue(o)&&"string"==typeof o.name?o.name:void 0;var o;void 0!==r&&(n.event=r);const s=function(e){if(void 0!==e)return"string"==typeof e?Rt(e):e instanceof Error||ue(e)&&"string"==typeof e.message?Rt(e.message):Rt(String(e))}(t.error);return void 0!==s&&(n.error=s),n}function Dt(e,t){const n=function({step:e,code:t}){const[n,...r]=e.split("."),o=r.join(".");return"dlq-overflow"===t?`status.dropped["${e}"].dlq`:"on-overflow"===t?`status.dropped["${e}"].queue`:"consent-not-applied"!==t&&"store"!==n&&"mapping"!==n?"destination"===n&&o?`status.destinations.${o}.failed`:"invalid"===t?"source"===n&&o?`status.sources.${o}.rejected`:void 0:"status.failed":void 0}(e);return n?`${t} (repeats within a minute are counted in ${n})`:t}function qt(e,t={}){const{windowMs:n=6e4,maxKeys:r=100,now:o=Date.now}=t,s=new Map,i=(t,n,r)=>{"warn"===t?e.warn(n,r):e.error(n,r)};return{report(e,t,a,c="error"){const u=`${e.step}\0${e.code}\0${e.status??""}`,f=Lt(e,a),l=s.get(u),p=o();if(!l)return s.size<r&&s.set(u,{start:p,suppressed:0,message:t,context:f,level:c}),void i(c,Dt(e,t),f);if(p-l.start<n)return void l.suppressed++;const d=l.suppressed;l.start=p,l.suppressed=0,l.message=t,l.context=f,l.level=c,i(c,Dt(e,t),d>0?{...f,suppressed:d}:f)},flush(){for(const e of s.values()){if(0===e.suppressed)continue;const t=e.suppressed;e.suppressed=0,i(e.level,e.message,{...e.context,suppressed:t})}},size:()=>s.size}}function Ft(e,t,n,r,o,s="error"){if(e?.causeLog)return void e.causeLog.report(n,r,o,s);const i=Lt(n,o);"warn"===s?t.warn(r,i):t.error(r,i)}var Wt=["condition","consent","fn","key","loop","map","set","validate","value"];function Ut(e,t,n,r){const o=e.event.name,s=t?.mappingKey?`mapping.${t.mappingKey}`:"mapping";Ft(e.collector,e.logger,{step:s,code:"mapping"},n,{..."string"==typeof o?{event:o}:{},...t?.mappingKey?{mappingKey:t.mappingKey}:{},...void 0!==r?{error:r}:{}})}async function Vt(e,t={},n,r){if(!n.collector)throw new Error("getMappingValue: context.collector is required");const o=n.consent||n.collector.consent,s={event:n.event??{},mapping:t,collector:n.collector,logger:n.collector.logger,consent:o},i=ne(t)?t:[t];for(const t of i){const n=await At(Zt,e=>{if(e instanceof _t)throw e;Ut(s,r,"mapping value failed",e)})(e,t,{...s,mapping:t},r);if(se(n))return n}}async function Zt(e,t,n,r){return(ne(t)?t:[t]).reduce(async(t,o)=>{const s=await t;if(s)return s;const i=le(o)?{key:o}:o;if(!Object.keys(i).length)return;if(!Wt.some(e=>e in i))return void Ut({...n,mapping:o},r,`mapping value has no operator (${Object.keys(i).join(", ")}): wrap the fields in map, or use key, value, fn, loop or set`);const{condition:a,consent:c,fn:u,key:f,loop:l,map:p,set:d,validate:m,value:g}=i,h={...n,mapping:o};if(a&&!await At(a,e=>{if(e instanceof _t)throw e;return Ut(h,r,"mapping condition failed",e),!1})(e,h))return;if(c&&!Xe(c,h.consent))return g;let v=se(g)?g:e;if(l){const[t,n]=l,o="this"===t?[e]:await Vt(e,t,h,r);v=ne(o)?(await Promise.all(o.map(e=>se(e)?Vt(e,n,h,r):void 0))).filter(se):void 0}else p?v=await Object.entries(p).reduce(async(t,[n,o])=>{const s=await t,i=await Vt(e,o,h,r);return se(i)&&(s[n]=i),s},Promise.resolve({})):d?v=await Promise.all(d.map(t=>Zt(e,t,h,r))):f?v=Ve(e,f,g):u&&(v=await At(u,e=>{if(e instanceof _t)throw e;Ut(h,r,"mapping fn failed",e)})(e,h));m&&!await At(m,e=>{if(e instanceof _t)throw e;return Ut(h,r,"mapping validate failed",e),!1})(v,h)&&(v=void 0);const y=St(v);return se(y)?y:St(g)},Promise.resolve(void 0))}function Bt(e){return e instanceof Error?e.message:String(e)}async function Ht(e,t,n){const[r,o]=(e.name||"").split(" ");if(!t||!r||!o)return{};const s=(e,t)=>{if(e instanceof _t)throw e;throw new Nt(`mapping rule condition failed at "${t}": ${Bt(e)}`,{code:"mapping",retryable:!1,cause:e})},i=(t,r)=>{const{condition:o}=t;if(!o)return!0;let i;try{i=o(e,n?{event:e,mapping:t,collector:n,logger:n.logger,consent:ue(e)&&e.consent||n.consent}:void 0)}catch(e){return s(e,r)}return ae(i)?Promise.resolve(i).then(Boolean,e=>s(e,r)):Boolean(i)},a=(e,t,n=0)=>{if(!t)return;const r=ne(t)?t:[t];for(let t=n;t<r.length;t++){const n=r[t],o=i(n,e);if("boolean"!=typeof o)return c(o,n,e,r,t);if(o)return n}},c=async(e,t,n,r,o)=>await e?t:a(n,r,o+1),u=[];for(const e of[[r,o],[r,"*"],["*",o],["*","*"]])u.some(([t,n])=>t===e[0]&&n===e[1])||u.push([e[0],e[1]]);const f=e=>{for(let n=e;n<u.length;n++){const[e,r]=u[n],o=t[e]?.[r];if(!o)continue;const s=`${e} ${r}`,i=a(s,o);if(ae(i))return Promise.resolve(i).then(e=>e?{eventMapping:e,mappingKey:s}:f(n+1));if(i)return{eventMapping:i,mappingKey:s}}return{eventMapping:void 0,mappingKey:""}},l=f(0);return ae(l)?await l:l}async function Jt(e,t={},n){return Gt(e,t,n)}async function Gt(e,t,n,r){if(!se(e))return;const o=ue(e)&&e.consent||n?.consent||n?.collector?.consent,s=n?.event??(ue(e)?e:{});return Vt(e,t,{...n,consent:o,event:s},r)}async function Yt(e,t,n){t.policy&&await Promise.all(Object.entries(t.policy).map(async([t,r])=>{const o=await Jt(e,r,{collector:n,event:e});e=Ze(e,t,o)}));const{eventMapping:r,mappingKey:o}=await Ht(e,t.mapping,n),s=o?{mappingKey:o}:void 0;r?.policy&&await Promise.all(Object.entries(r.policy).map(async([t,r])=>{const o=await Gt(e,r,{collector:n,event:e},s);e=Ze(e,t,o)}));let i=t.data&&await Gt(e,t.data,{collector:n,event:e},s);const a=Boolean(r?.silent);if(r){if(r.ignore)return{event:e,data:i,mapping:r,mappingKey:o,ignore:!0,silent:a};if(r.name&&(e.name=r.name),r.data){const t=r.data&&await Gt(e,r.data,{collector:n,event:e},s);i=ue(i)&&ue(t)?We(i,t):t}}const c=r?.include??t.include;if(c&&c.length>0){const t=Ge(e,c);Object.keys(t).length>0&&(i=ue(i)?We(t,i):i??t)}if(r?.remove&&ue(i))for(const e of r.remove)i=Be(i,e);return{event:e,data:i,mapping:r,mappingKey:o,ignore:!1,silent:a}}function Xt(e,t){for(const n of Object.keys(t)){const r=t[n];if(void 0===r)continue;if(null===r){delete e[n];continue}const o=e[n];ue(r)&&ue(o)?Xt(o,r):e[n]=r}return e}function Qt(e,t){if(void 0===t.extend&&void 0===t.remove)return Ue(t);const n={...Ue(e)};if(t.extend){Xt(n,{...t.extend})}return delete n.extend,t.remove?n.remove=[...t.remove]:delete n.remove,n}function en(e,t){const n=(e,r=[])=>new Proxy(e,{get(e,o){const s=e[o],i=[...r,o];return"function"==typeof s?s.prototype&&s.prototype.constructor===s?s:(...e)=>{const r=t(i,e,s);if(r&&"object"==typeof r)return n(r,i);const o=s(...e);return o&&"object"==typeof o?n(o,i):r}:s&&"object"==typeof s?n(s,i):s}});return n(e)}function tn(e,t){const n=(e,r=[])=>{if(!e||"object"!=typeof e)return e;const o=Array.isArray(e)?[]:{};for(const[s,i]of Object.entries(e)){const e=[...r,s];Array.isArray(o)?o[Number(s)]=t(i,e):o[s]=t(i,e),i&&"object"==typeof i&&"function"!=typeof i&&(Array.isArray(o)?o[Number(s)]=n(i,e):o[s]=n(i,e))}return o};return n(e)}function nn(){const e=[],t=jest.fn(e=>{const t=e instanceof Error?e.message:e;throw new Error(t)}),n=jest.fn(t=>{const n=nn();return e.push(n),n});return{error:jest.fn(),warn:jest.fn(),info:jest.fn(),debug:jest.fn(),throw:t,json:jest.fn(),scope:n,scopedLoggers:e}}function rn(e={}){return{collector:{},config:{},env:{},logger:nn(),id:"test",ingest:I("test"),...e}}function on(e){const t=String(e),n=t.split("?")[1]||t;return Ot(()=>{const e=new URLSearchParams(n),t={};return e.forEach((e,n)=>{const r=n.split(/[[\]]+/).filter(Boolean);let o=t;r.forEach((t,n)=>{const s=n===r.length-1;if(ne(o)){const i=parseInt(t,10);s?o[i]=Ye(e):(o[i]=o[i]||(isNaN(parseInt(r[n+1],10))?{}:[]),o=o[i])}else ue(o)&&(s?o[t]=Ye(e):(o[t]=o[t]||(isNaN(parseInt(r[n+1],10))?{}:[]),o=o[t]))})}),t})()}function sn(e){if(!e)return"";const t=[],n=encodeURIComponent;function r(e,o){null!=o&&(ne(o)?o.forEach((t,n)=>r(`${e}[${n}]`,t)):ue(o)?Object.entries(o).forEach(([t,n])=>r(`${e}[${t}]`,n)):t.push(`${n(e)}=${n(String(o))}`))}return"object"!=typeof e?n(e):(Object.entries(e).forEach(([e,t])=>r(e,t)),t.join("&"))}function an(e){return void 0===e||fe(e,"")?e:JSON.stringify(e)}function cn(e={}){return We({"Content-Type":"application/json; charset=utf-8"},e)}function un(e,t){return!1===e||void 0===e?null:!0===e?t:{...t,...e}}function fn(e){return e?e.trim().replace(/^'|'$/g,"").trim():""}var ln=class e extends Error{constructor(t){super(t),this.name="InvalidEventError",Object.setPrototypeOf(this,e.prototype)}},pn=1e4;function dn(e){return"number"==typeof e&&e>0?e:1e4}function mn(e,t,n,r){const o=e;return function(...e){let s;const i="pre"+t,a="post"+t,c=n[i],u=n[a],f=(e,t)=>{r?r.warn(e,{error:t}):console.warn(e,t)};if(c)try{s=c({fn:o},...e)}catch(t){f(`Hook ${String(i)} failed, falling back to original function`,t),s=o(...e)}else s=o(...e);if(u)try{s=u({fn:o,result:s},...e)}catch(e){f(`Hook ${String(a)} failed, keeping original result`,e)}return s}}function gn(e,t){if(t>=1)return!0;if(t<=0)return!1;return function(e){let t=2166136261;for(let n=0;n<e.length;n++)t^=e.charCodeAt(n),t=t+((t<<1)+(t<<4)+(t<<7)+(t<<8)+(t<<24))>>>0;return t>>>0}(e)/4294967295<t}function hn(e,t){const n="function"==typeof t?t:()=>t;return function(t){const r=n();if(!r)return;const o=r.level??"standard";if("off"===o)return;const s=r.sample,i="number"==typeof s&&Number.isFinite(s)?s:1;if(t.eventId&&!gn(t.eventId,i))return;const a=r.includeIn??"trace"===o,c=r.includeOut??"trace"===o,u=r.includeMappingKey??"trace"===o,f={...t};a||delete f.inEvent,c||(delete f.outEvent,delete f.calls),u||delete f.mappingKey,"trace"!==o&&f.error?.message&&f.error.message.length>256&&(f.error={...f.error,message:f.error.message.slice(0,256)+"…"});try{e(f)}catch{}}}function vn(e,t){return gn(e,t)}function yn(e){const t=e.now??(()=>Date.now()),{traceUntil:n}=e;if("string"==typeof n&&n.length>0){const r=Date.parse(n);if(!Number.isNaN(r)&&r>t())return{flowId:e.flowId,level:"trace",includeIn:!0,includeOut:!0,sample:1}}const r=e.observe?.level??"standard";if("off"===r)return null;const o=e.observe?.sample??1;return{flowId:e.flowId,level:r,sample:o}}var bn=/^[A-Za-z0-9_-]+$/;function wn(e){if(!bn.test(e))return null;const t=e.length%4==0?"":"=".repeat(4-e.length%4),n=e.replace(/-/g,"+").replace(/_/g,"/")+t;try{const e=atob(n),t=new Uint8Array(e.length);for(let n=0;n<e.length;n++)t[n]=e.charCodeAt(n);return t}catch{return null}}function kn(e){const t=new Uint8Array(e.length);for(let n=0;n<e.length;n++)t[n]=e.charCodeAt(n);return t}function $n(e){const t=wn(e);if(!t)return null;const n=function(e){let t="";for(let n=0;n<e.length;n++){const r=e[n];if(void 0===r||r>127)return null;t+=String.fromCharCode(r)}return t}(t);if(null===n)return null;try{return JSON.parse(n)}catch{return null}}function jn(e){return"object"==typeof e&&null!==e&&!Array.isArray(e)}function xn(e){if(!e)return null;const t=e.split("."),[n,r,o]=t;if(3!==t.length||!n||!r||!o)return null;const s=$n(n);if(!jn(s))return null;const i=s.kid,a=s.alg;if("string"!=typeof i||"ES256"!==a)return null;const c=$n(r);if(!function(e){if(!jn(e))return!1;const t=e;return"string"==typeof t.iss&&Array.isArray(t.aud)&&t.aud.every(e=>"string"==typeof e)&&"number"==typeof t.iat&&"number"==typeof t.sxp&&"string"==typeof t.art&&bn.test(t.art)&&"string"==typeof t.sri&&"string"==typeof t.pb&&"activate"===t.cap&&"string"==typeof t.jti&&"string"==typeof t.pid&&(void 0===t.ses||"string"==typeof t.ses)&&(void 0===t.sb||"string"==typeof t.sb)}(c))return null;const u=wn(o);return u&&64===u.byteLength?{grant:c,kid:i,signed:kn(`${n}.${r}`),signature:u}:null}var En=9e5,Sn=6e4,On=39e5;async function An(e,t){const n=xn(e);if(!n)return{ok:!1,reason:"malformed"};const{grant:r,kid:o,signed:s,signature:i}=n;if(r.iss!==t.iss)return{ok:!1,reason:"foreign-issuer"};if("activate"!==r.cap)return{ok:!1,reason:"cap-mismatch"};if(1e3*r.iat>t.now+6e4)return{ok:!1,reason:"expired"};if(1e3*r.sxp-1e3*r.iat>On)return{ok:!1,reason:"expired"};const a="url"===t.source?Math.min(1e3*r.iat+En,1e3*r.sxp):1e3*r.sxp;if(t.now>=a)return{ok:!1,reason:"expired"};if(void 0!==t.origin&&!r.aud.includes(t.origin))return{ok:!1,reason:"aud-mismatch"};if(t.acceptForeign){const e=t.demoAllowlist??[];if(1!==r.aud.length||!r.aud.every(t=>e.includes(t)))return{ok:!1,reason:"aud-mismatch"}}if(!(t.acceptForeign||t.pb&&r.pb===t.pb))return{ok:!1,reason:"pb-mismatch"};const c=void 0!==r.ses||void 0!==r.sb;if(t.expectSession){if(r.ses!==t.expectSession.ses)return{ok:!1,reason:"sb-mismatch"};if(!r.sb||r.sb!==t.expectSession.sb)return{ok:!1,reason:"sb-mismatch"}}else if(c)return{ok:!1,reason:"sb-mismatch"};const u=t.keyring.find(e=>e.kid===o);if(!u)return{ok:!1,reason:"kid-mismatch"};const f=t.crypto??("undefined"==typeof crypto?void 0:crypto),l=f?.subtle;if(!l)return{ok:!1,reason:"no-subtle"};const p=function(e){return wn(e)}(u.spki);if(!p)return{ok:!1,reason:"kid-mismatch"};try{const e=await l.importKey("spki",p,{name:"ECDSA",namedCurve:"P-256"},!1,["verify"]);if(!await l.verify({name:"ECDSA",hash:"SHA-256"},e,i,s))return{ok:!1,reason:"bad-signature"}}catch{return{ok:!1,reason:"bad-signature"}}return{ok:!0,grant:r}}var In="elbObserve",_n="elbMoin",Mn={app:"https://app.walkeros.io",base:"https://cdn.walkeros.io/tag-mode/"},Nn={error:5,skip:4,out:3,in:2,init:1,flush:0},Pn="\0none",Rn="\0";function Cn(e,t){return`${e??Pn}${Rn}${t}`}function Tn(e){const t=Date.parse(e);return Number.isNaN(t)?0:t}function zn(e){return""!==e.eventId?e.eventId:function(e){if("object"!=typeof e||null===e)return;if(!("event"in e))return;const t=e.event;if("object"!=typeof t||null===t)return;if(!("id"in t))return;const n=t.id;return"string"==typeof n&&""!==n?n:void 0}(e.outEvent)}function Kn(e,t){let n=t;for(;;){const t=e.get(n);if(void 0===t||t===n)break;n=t}let r=t;for(;r!==n;){const t=e.get(r);if(e.set(r,n),void 0===t)break;r=t}return n}function Ln(e,t,n){const r=Kn(e,t),o=Kn(e,n);r!==o&&(r<o?e.set(o,r):e.set(r,o))}function Dn(e){for(const t of e)if(t.traceId)return t.traceId}function qn(e){switch(e){case"error":return"error";case"skip":return"skipped";case"out":return"done";case"in":case"init":case"flush":return"pending"}}function Fn(e){return"out"===e.terminalPhase||"error"===e.terminalPhase||"skip"===e.terminalPhase||!0===e.batched}function Wn(e){return"done"===e.status&&("transformer"!==e.stepType||null!==e.out&&void 0!==e.out)}function Un(e,t,n,r){const o=n.get(Cn(e.node.platform,t));if(void 0!==o)return o;const s=r.get(t);return void 0!==s&&1===s.length?s[0]:void 0}function Vn(e){const t=new Map,n=new Map;e.nodes.forEach((e,r)=>{const o={node:e,rank:r,key:Cn(e.platform,e.stepId)};t.has(o.key)||t.set(o.key,o);const s=n.get(e.stepId);s?s.push(o):n.set(e.stepId,[o])});const r=new Map,o=new Set;for(const e of t.values()){const s=[];for(const r of e.node.downstream){const i=Un(e,r,t,n);void 0!==i&&(s.push(i),o.add(i.key))}r.set(e.key,s)}const s=[];for(const e of t.values())o.has(e.key)||s.push(e);return s.sort((e,t)=>e.rank-t.rank),{byKey:t,byStepId:n,edges:r,roots:s}}function Zn(e,t,n){const r=e.byKey.get(Cn(n,t));if(void 0!==r)return r;const o=e.byKey.get(Cn(void 0,t));if(void 0!==o)return o;const s=e.byStepId.get(t);return void 0!==s&&1===s.length?s[0]:void 0}function Bn(e,t,n,r,o,s){return s-n<o?"pending":void 0!==r?function(e,t,n){const r=t=>e.find(e=>e.stepId===t.node.stepId&&(void 0===t.node.platform||e.platform===t.node.platform)),o=n.roots.filter(e=>void 0===e.node.platform||t.includes(e.node.platform));if(0===o.length)return e.every(Fn)?"complete":"partial";const s=new Map,i=o;for(;i.length>0;){const e=i.shift();if(void 0===e)break;if(s.has(e.key))continue;s.set(e.key,e);const t=r(e);if(void 0!==t&&Wn(t)){const t=n.edges.get(e.key);if(void 0!==t)for(const e of t)s.has(e.key)||i.push(e)}}for(const e of s.values()){const t=r(e);if(void 0===t||!Fn(t))return"partial"}return"complete"}(e,t,r):e.every(Fn)?"complete":"partial"}function Hn(e){let t=e[0];for(const n of e)n.elapsedMs<t.elapsedMs&&(t=n);const n=[],r=new Map;let o=!1;for(const t of e)if("flush"!==t.phase){if(void 0!==t.branchId){const e=r.get(t.branchId);e?e.push(t):r.set(t.branchId,[t]);continue}n.push(t)}else o=!0;const s=[...r.values()].flat(),i=n.length>0?n:s.length>0?s:e;let a,c,u,f,l,p,d,m,g,h,v=i[0],y=i[0];for(const e of i)e.elapsedMs<v.elapsedMs&&(v=e),Nn[e.phase]>Nn[y.phase]&&(y=e),"out"===e.phase&&(a=e),void 0!==e.inEvent&&void 0===c&&(c=e.inEvent),void 0!==e.outEvent&&(u=e.outEvent),void 0!==e.mappingKey&&(f=e.mappingKey),void 0!==e.contractRule&&(l=e.contractRule),void 0!==e.consent&&(p=e.consent),void 0!==e.consentApplied&&(d=e.consentApplied),void 0!==e.meta&&(m=e.meta),void 0!==e.parentEventId&&void 0===g&&(g=e.parentEventId),void 0!==e.release&&(h=e.release);const b=y.phase,w=a?.durationMs,k="error"===b?y.error:void 0,$="skip"===b?y.skipReason:void 0,j=a?.calls,x="out"===y.phase&&void 0!==y.batch||void 0,E=!(!o||!0!==x)||void 0,S=r.size>0?[...r.entries()].sort(([e],[t])=>e<t?-1:e>t?1:0).map(([e,t])=>function(e,t){let n,r,o=t[0];for(const e of t)Nn[e.phase]>Nn[o.phase]&&(o=e),"out"===e.phase&&(n=e),void 0!==e.outEvent&&(r=e.outEvent);const s=o.phase,i=n?.durationMs,a="skip"===s?o.skipReason:void 0,c="error"===s?o.error:void 0,u=n?.calls;return{branchId:e,status:qn(s),terminalPhase:s,...void 0!==i?{durationMs:i}:{},...void 0!==a?{skipReason:a}:{},...void 0!==c?{error:c}:{},...void 0!==r?{out:r}:{},...void 0!==u?{calls:u}:{}}}(e,t)):void 0;return{stepId:v.stepId,stepType:v.stepType,eventId:v.eventId,status:qn(b),terminalPhase:b,startedAtMs:t.elapsedMs,timestamp:t.timestamp,...void 0!==v.platform?{platform:v.platform}:{},...void 0!==g?{parentEventId:g}:{},...void 0!==w?{durationMs:w}:{},...void 0!==c?{in:c}:{},...void 0!==u?{out:u}:{},...void 0!==k?{error:k}:{},...void 0!==$?{skipReason:$}:{},...void 0!==f?{mappingKey:f}:{},...void 0!==l?{contractRule:l}:{},...void 0!==p?{consent:p}:{},...void 0!==d?{consentApplied:d}:{},...void 0!==j?{calls:j}:{},...void 0!==S?{branches:S}:{},...void 0!==x?{batched:x}:{},...void 0!==E?{flushConfirmed:E}:{},...void 0!==h?{release:h}:{},...void 0!==m?{meta:m}:{}}}function Jn(e,t){const n=e.map(e=>({hop:e,rank:void 0!==t?Zn(t,e.stepId,e.platform)?.rank??Number.MAX_SAFE_INTEGER:0}));return n.sort((e,t)=>e.rank!==t.rank?e.rank-t.rank:e.hop.startedAtMs!==t.hop.startedAtMs?e.hop.startedAtMs-t.hop.startedAtMs:e.hop.stepId<t.hop.stepId?-1:e.hop.stepId>t.hop.stepId?1:0),n.map(e=>e.hop)}function Gn(e){const t=e.filter(e=>"collector"===e.stepType&&"in"===e.phase),n=t.length>0?t:e;let r=n[0],o=Tn(r.timestamp);for(const e of n){const t=Tn(e.timestamp);t<o&&(o=t,r=e)}const s=function(e){if("object"==typeof e&&null!==e&&"name"in e&&"string"==typeof e.name)return e.name}(r.inEvent);return{eventId:r.eventId,timestamp:r.timestamp,...void 0!==s?{name:s}:{},...void 0!==r.sourceId?{sourceId:r.sourceId}:{},...void 0!==r.platform?{platform:r.platform}:{}}}function Yn(e,t,n,r,o){const{topo:s}=o,i=new Map;for(const e of n){const t=Cn(e.platform,e.stepId),n=i.get(t);n?n.push(e):i.set(t,[e])}const a=[...i.values()].map(Hn),c=new Map;for(const e of a){const t=e.platform??Pn;let n=c.get(t);n||(n={...void 0!==e.platform?{platform:e.platform}:{},hops:[],ownedEventIds:new Set,parentEventIds:new Set,minEpoch:Number.POSITIVE_INFINITY},c.set(t,n)),n.hops.push(e),n.ownedEventIds.add(e.eventId),void 0!==e.parentEventId&&n.parentEventIds.add(e.parentEventId),n.minEpoch=Math.min(n.minEpoch,Tn(e.timestamp))}const u=function(e){const t=new Map,n=e.map((e,t)=>t).sort((t,n)=>{const r=e[t].platform??Pn,o=e[n].platform??Pn;return r<o?-1:r>o?1:0});e.forEach((r,o)=>{if(0!==r.parentEventIds.size)for(const s of n){if(s===o)continue;let n=!1;for(const t of e[s].ownedEventIds)if(r.parentEventIds.has(t)){n=!0;break}if(n){t.set(o,s);break}}});const r=e=>{let n=0,r=e;const o=new Set;for(;!o.has(r);){o.add(r);const e=t.get(r);if(void 0===e)break;r=e,n+=1}return n};return e.map((e,t)=>({seg:e,i:t,depth:r(t)})).sort((e,t)=>{if(e.depth!==t.depth)return e.depth-t.depth;if(e.seg.minEpoch!==t.seg.minEpoch)return e.seg.minEpoch-t.seg.minEpoch;const n=e.seg.platform??Pn,r=t.seg.platform??Pn;return n<r?-1:n>r?1:0}).map(e=>e.seg)}([...c.values()]),f=[],l=[];for(const e of u){void 0===e.platform||l.includes(e.platform)||l.push(e.platform);for(const t of Jn(e.hops,s))f.push(t)}let p=Number.POSITIVE_INFINITY,d=Number.NEGATIVE_INFINITY;for(const e of n){const t=Tn(e.timestamp);t<p&&(p=t),t>d&&(d=t)}const m=Bn(f,l,d,s,o.settleMs,o.now),g=function(e,t,n,r){for(const o of r)if((void 0===o.platform||e.includes(o.platform))&&t<=o.toMs&&o.fromMs<=n)return!0;return!1}(l,p,d,o.gaps);return{id:e,correlation:"event",...void 0!==t?{traceId:t}:{},entry:Gn(r),hops:f,platforms:l,status:m,lossy:g,firstTimestamp:p,lastTimestamp:d,totalMs:d-p}}function Xn(e,t){const n={...void 0!==t?.topology?{topo:Vn(t.topology)}:{},settleMs:t?.settleMs??15e3,now:t?.now??Date.now(),gaps:[]},r=function(e){const t=new Set,n=[];for(const r of e){const e=void 0!==r.seq&&r.traceId?`seq${Rn}${r.platform??""}${Rn}${r.traceId}${Rn}${r.seq}`:void 0!==r.seq?`seqt${Rn}${r.platform??""}${Rn}${r.stepId}${Rn}${r.phase}${Rn}${r.eventId}${Rn}${r.branchId??""}${Rn}${r.elapsedMs}${Rn}${r.timestamp}${Rn}${r.seq}`:`tuple${Rn}${r.platform??""}${Rn}${r.stepId}${Rn}${r.phase}${Rn}${r.eventId}${Rn}${r.branchId??""}${Rn}${r.elapsedMs}`;t.has(e)||(t.add(e),n.push(r))}return n}(e);n.gaps=function(e){const t=new Map;for(const n of e){if(void 0===n.seq)continue;const e=n.platform??Pn,r=t.get(e);r?r.push(n):t.set(e,[n])}const n=[];for(const e of[...t.keys()].sort()){const r=t.get(e);if(void 0===r)continue;const o=[...r].sort((e,t)=>{const n=Tn(e.timestamp),r=Tn(t.timestamp);return n!==r?n-r:(e.seq??0)-(t.seq??0)});let s,i=0;for(const e of o){const t=e.seq;if(void 0!==t)if(void 0!==s){if(t!==i)if(t!==i+1){if(t>i+1){const r=e.platform;n.push({...void 0!==r?{platform:r}:{},fromMs:Tn(s.timestamp),toMs:Tn(e.timestamp),afterSeq:i,beforeSeq:t})}s=e,i=t}else s=e,i=t}else s=e,i=t}}return n}(r);const o=[],s=[];for(const e of r){const t=zn(e);void 0!==t?o.push({record:t===e.eventId?e:{...e,eventId:t},eventId:t}):s.push(e)}o.sort((e,t)=>function(e,t){const n=e.platform??"",r=t.platform??"";if(n!==r)return n<r?-1:1;if(e.stepId!==t.stepId)return e.stepId<t.stepId?-1:1;if(e.phase!==t.phase)return Nn[e.phase]-Nn[t.phase];if(e.eventId!==t.eventId)return e.eventId<t.eventId?-1:1;const o=e.branchId??"",s=t.branchId??"";if(o!==s)return o<s?-1:1;if(e.elapsedMs!==t.elapsedMs)return e.elapsedMs-t.elapsedMs;const i=e.seq??-1,a=t.seq??-1;return i!==a?i-a:e.timestamp!==t.timestamp?e.timestamp<t.timestamp?-1:1:0}(e.record,t.record));const i=new Set(o.map(e=>e.eventId)),a=new Map,c=new Map;for(const{record:e,eventId:t}of o){const n=e.parentEventId;if(void 0===n||n===t||!i.has(n))continue;const r=a.get(t);r?r.add(n):a.set(t,new Set([n]));const o=c.get(n);o?o.add(t):c.set(n,new Set([t]))}const u=new Map;for(const[e,t]of c)if(1===t.size)for(const n of t)Ln(u,n,e);const f=new Map;for(const e of o){const t=Kn(u,e.eventId);let n=f.get(t);n||(n={entries:[],eventIds:new Set},f.set(t,n)),n.entries.push(e),n.eventIds.add(e.eventId)}const l=[...f.values()].map(e=>{const t=function(e,t){const n=[...e].sort();for(const r of n){const n=t.get(r);if(void 0===n)return r;let o=!1;for(const t of n)if(e.has(t)){o=!0;break}if(!o)return r}return n[0]}(e.eventIds,a),r=e.entries.map(e=>e.record),o=e.entries.filter(e=>e.eventId===t).map(e=>e.record),s=Dn(o)??Dn(r);return Yn(t,s,r,o,n)});l.sort((e,t)=>e.firstTimestamp!==t.firstTimestamp?e.firstTimestamp-t.firstTimestamp:e.id<t.id?-1:e.id>t.id?1:0);const p=function(e){const t=new Map;for(const n of e){if(!n.traceId)continue;const e=n.platform??Pn,r=Tn(n.timestamp);let o=t.get(e);void 0===o&&(o={...void 0!==n.platform?{platform:n.platform}:{},count:0,fromMs:r,toMs:r,stepIds:new Set},t.set(e,o)),o.count+=1,r<o.fromMs&&(o.fromMs=r),r>o.toMs&&(o.toMs=r),o.stepIds.add(n.stepId)}return[...t.entries()].sort(([e],[t])=>e<t?-1:e>t?1:0).map(([,e])=>({...void 0!==e.platform?{platform:e.platform}:{},count:e.count,fromMs:e.fromMs,toMs:e.toMs,stepIds:[...e.stepIds].sort()}))}(s);return{journeys:l,gaps:n.gaps,...p.length>0?{unattributed:p}:{}}}var Qn=null;function er(){return Qn}function tr(e){Qn=e}function nr(e,t){if(0===e.observers.size)return;const n=Array.from(e.observers);for(const e of n)try{e(t)}catch{}}function rr(e){const t=e.batchMs,n="number"==typeof t&&Number.isFinite(t)&&t>0?Math.floor(t):50,r=e.batchSize,o="number"==typeof r&&Number.isFinite(r)&&r>=1?Math.floor(r):50,s=e.maxBodyBytes,i="number"==typeof s&&Number.isFinite(s)&&s>=1?Math.floor(s):6e4,a=e.fetch??((e,t)=>fetch(e,t)),c=e.onError??(()=>{}),u={};for(const[t,n]of Object.entries(e.headers??{})){const e=t.toLowerCase();"authorization"!==e&&"content-type"!==e&&(u[t]=n)}let f=[],l=null,p=0;function d(e){const t={v:1,records:e},n=JSON.stringify(t);if(e.length<=1)return[n];if(function(e){let t=0;for(let n=0;n<e.length;n++){const r=e.charCodeAt(n);if(r<128)t+=1;else if(r<2048)t+=2;else if(r>=55296&&r<=56319&&n+1<e.length){const r=e.charCodeAt(n+1);r>=56320&&r<=57343?(t+=4,n++):t+=3}else t+=3}return t}(n)<=i)return[n];const r=Math.floor(e.length/2);return[...d(e.slice(0,r)),...d(e.slice(r))]}function m(t){return Promise.resolve().then(()=>a(e.url,{method:"POST",headers:{...u,"Content-Type":"application/json",Authorization:`Bearer ${e.token}`},body:t})).then(t=>{t&&"object"==typeof t&&"number"==typeof t.status&&e.onStatus?.(t.status),t&&"object"==typeof t&&"ok"in t&&!t.ok&&c(new Error(`Observer responded ${t.status}`))}).catch(e=>{c(e)})}function g(){if(0===f.length)return;const e=f;f=[],l&&(clearTimeout(l),l=null);const t=d(e);(async()=>{for(const e of t)await m(e)})()}return e=>{f.push({...e,seq:++p}),f.length>=o?g():null===l&&(l=setTimeout(g,n))}}function or(e){return e?{userAgent:e,browser:sr(e),browserVersion:ir(e),os:ar(e),osVersion:cr(e),deviceType:ur(e)}:{}}function sr(e){const t=[{name:"Edge",substr:"Edg"},{name:"Chrome",substr:"Chrome"},{name:"Safari",substr:"Safari",exclude:"Chrome"},{name:"Firefox",substr:"Firefox"},{name:"IE",substr:"MSIE"},{name:"IE",substr:"Trident"}];for(const n of t)if(e.includes(n.substr)&&(!n.exclude||!e.includes(n.exclude)))return n.name}function ir(e){const t=[/Edg\/([0-9]+)/,/Chrome\/([0-9]+)/,/Version\/([0-9]+).*Safari/,/Firefox\/([0-9]+)/,/MSIE ([0-9]+)/,/rv:([0-9]+).*Trident/];for(const n of t){const t=e.match(n);if(t)return t[1]}}function ar(e){const t=[{name:"Windows",substr:"Windows NT"},{name:"macOS",substr:"Mac OS X"},{name:"Android",substr:"Android"},{name:"iOS",substr:"iPhone OS"},{name:"Linux",substr:"Linux"}];for(const n of t)if(e.includes(n.substr))return n.name}function cr(e){const t=e.match(/(?:Windows NT|Mac OS X|Android|iPhone OS) ([0-9._]+)/);return t?t[1].replace(/_/g,"."):void 0}function ur(e){let t="Desktop";return/Tablet|iPad/i.test(e)?t="Tablet":/Mobi|Android|iPhone|iPod|BlackBerry|Opera Mini|IEMobile|WPDesktop/i.test(e)&&(t="Mobile"),t}var fr=["elb","elbLayer","window","document","location","self","top","parent","frames","globalThis","__proto__","constructor","prototype"],lr=/^[A-Za-z_$][A-Za-z0-9_$]*$/;function pr(e){return"string"!=typeof e?{ok:!1,reason:"is not a string"}:lr.test(e)?fr.includes(e)?{ok:!1,reason:`is reserved (${fr.join(", ")})`}:{ok:!0,name:e}:{ok:!1,reason:"is not a JavaScript identifier (letters, digits, _ or $, not starting with a digit)"}}function dr(e){return function(e){return/\breturn\b/.test(e)}(e)?e:`return ${e}`}function mr(e){const t=dr(e);return new Function("value","context",t)}function gr(e){const t=dr(e);return new Function("value","context",t)}function hr(e){const t=dr(e);return new Function("value","context",t)}function vr(){let e=0,t=0;return{start(){e=Date.now(),t=0},end:()=>(t=Date.now(),t-e),getElapsed:()=>(t||Date.now())-e,format(){return(this.getElapsed()/1e3).toFixed(2)+"s"}}}function yr(e){return"string"==typeof e||Array.isArray(e)&&e.every(e=>"string"==typeof e)?e:void 0}async function br(e,t){const n=t?.version||"latest",r=t?.timeout||1e4,o=new AbortController,s=setTimeout(()=>o.abort(),r),i=o.signal,a=t?.client?{"X-Walkeros-Client":t.client}:void 0;try{if(t?.baseUrl){const r=`${t.baseUrl}/api/packages/${encodeURIComponent(e)}?version=${encodeURIComponent(n)}&expand=all`,o=await fetch(r,{signal:i,...a&&{headers:a}});if(!o.ok)throw new Error(`Failed to fetch ${r} (HTTP ${o.status})`);return function(e,t,n){const r=n.schemas||{},o=n.examples||{},s=n.hints,i=n.hintKeys??(s?Object.keys(s):[]),a=n.exampleSummaries??[],c=n.platform,u=n.exportExamples,f=n.exportSchemas,l=n.exports;return{packageName:n.package||e,version:"string"==typeof n.version?n.version:t,...void 0!==n.description&&{description:n.description},...void 0!==n.type&&{type:n.type},...void 0!==c&&{platform:c},schemas:r,examples:o,...void 0!==n.docs&&{docs:n.docs},...void 0!==n.source&&{source:n.source},...s&&Object.keys(s).length>0?{hints:s}:{},hintKeys:i,exampleSummaries:a,...wr(u)?{exportExamples:u}:{},...kr(f)?{exportSchemas:f}:{},...$r(l)?{exports:l}:{}}}(e,n,await o.json())}const r=`https://cdn.jsdelivr.net/npm/${e}@${n}`,o=await jr(`${r}/package.json`,i,a);return function(e,t,n,r){const o=r.$meta||{},s=r.schemas||{},i=r.examples||{},a=r.hints,c=a?Object.keys(a):[],u=r.exportExamples,f=r.exportSchemas,l=o.exports,p=[],d=i.step||{};for(const[e,t]of Object.entries(d)){const n=t,r={name:e};"string"==typeof n?.description&&(r.description=n.description),p.push(r)}const m="string"==typeof o.docs?o.docs:void 0,g="string"==typeof o.source?o.source:void 0;return{packageName:e,version:"string"==typeof n.version?n.version:t,description:"string"==typeof n.description?n.description:void 0,type:"string"==typeof o.type?o.type:void 0,platform:yr(o.platform),schemas:s,examples:i,...m?{docs:m}:{},...g?{source:g}:{},...a&&Object.keys(a).length>0?{hints:a}:{},hintKeys:c,exampleSummaries:p,...wr(u)?{exportExamples:u}:{},...kr(f)?{exportSchemas:f}:{},...$r(l)?{exports:l}:{}}}(e,n,o,await jr(`${r}/dist/walkerOS.json`,i,a))}finally{clearTimeout(s)}}function wr(e){return null!==e&&"object"==typeof e&&!Array.isArray(e)}function kr(e){return wr(e)&&Object.values(e).every(wr)}function $r(e){return wr(e)&&Object.values(e).every(e=>"string"==typeof e)}async function jr(e,t,n){const r=await fetch(e,{signal:t,...n&&{headers:n}});if(!r.ok)throw new Error(`Failed to fetch ${e} (HTTP ${r.status})`);return await r.json()}async function xr(e,t){const n=await br(e,t);return{packageName:n.packageName,version:n.version,type:n.type,platform:n.platform,schemas:n.schemas,examples:n.examples,...n.hints?{hints:n.hints}:{}}}var Er="observe";function Sr(e){if("object"!=typeof e||null===e)return!1;if(!("paths"in e)||!("record"in e))return!1;const{paths:t,record:n}=e;return Array.isArray(t)&&t.every(e=>"string"==typeof e)&&"function"==typeof n}var Or="call:";function Ar(e){const t=(e.startsWith(Or)?e.slice(5):e).split(".");return t.some(e=>""===e)?[]:t}function Ir(e){return"function"==typeof e}function _r(e){return"object"==typeof e&&null!==e}var Mr=["name","length","prototype","arguments","caller"];function Nr(e,t){if(-1!==Mr.indexOf(t))return!1;let n=e;for(;Ir(n);){if(Object.prototype.hasOwnProperty.call(n,t))return!0;const e=Object.getPrototypeOf(n);if(!Ir(e)||!Ir(Object.getPrototypeOf(e)))return!1;n=e}return!1}function Pr(e,t){const n=Reflect.getOwnPropertyDescriptor(e,t);return!(n&&!n.configurable)||"value"in n&&!0===n.writable}function Rr(e,t){let n=e;for(const e of t){if(Ir(n)){if(!Nr(n,e))return!0;if(!Pr(n,e))return!1}else if(ae(n)){if(!(e in n))return!0}else if(!_r(n)||!(e in n))return!1;n=Reflect.get(n,e)}return Ir(n)}function Cr(e,t,n){const r=[],o=[],s=[];for(const n of t){const t=Ar(n);if(0===t.length)continue;const r=t.join(".");s.push({rest:t,fn:r}),Rr(e,t)||o.push(r)}const i=new WeakMap,a=new WeakSet;function c(e,t){for(const o of e)if(n)try{n(o,t)}catch{}else r.push({fn:o,args:t,ts:Date.now()})}function u(e,t){return 0===t.length||f(e)?e:ae(e)&&!t.some(t=>t.rest[0]in e)?Promise.resolve(e).then(e=>u(e,t)):Ir(e)?h(e,[],t):_r(e)?p(e,t):e}function f(e){return(_r(e)||Ir(e))&&a.has(e)}function l(e,t){const n=[],r=[];for(const o of e)o.rest[0]===t&&(1===o.rest.length?n.includes(o.fn)||n.push(o.fn):r.push({rest:o.rest.slice(1),fn:o.fn}));return{leafs:n,deeper:r}}function p(e,t){const n=function(e){return e.map(e=>`${e.fn}:${e.rest.join(".")}`).join("|")}(t),r=i.get(e)??new Map;i.set(e,r);const o=r.get(n);if(o)return o;const s=d(e,t);return r.set(n,s),s}function d(e,t){if(Ir(e))return m(e,t);return t.some(t=>!Pr(e,t.rest[0]))?function(e,t){const n=Object.create(Object.getPrototypeOf(e)),r=g(e,t,()=>o),o=new Proxy(n,{get:(e,t)=>r.get(t),set:(t,n,r)=>Reflect.set(e,n,r,e),has:(t,n)=>Reflect.has(e,n),ownKeys:()=>Reflect.ownKeys(e),getOwnPropertyDescriptor(t,n){const r=Reflect.getOwnPropertyDescriptor(e,n);return r&&{...r,configurable:!0}},defineProperty:(t,n,r)=>Reflect.defineProperty(e,n,r),deleteProperty:(t,n)=>Reflect.deleteProperty(e,n)});return a.add(o),o}(e,t):m(e,t)}function m(e,t){const n=g(e,t,()=>r),r=new Proxy(e,{get:(e,t)=>"string"!=typeof t||Pr(e,t)?n.get(t):Reflect.get(e,t,e),set:(e,t,n)=>Reflect.set(e,t,n,e)});return a.add(r),r}function g(e,t,n){const r=new Map;return{get(o){const s=Reflect.get(e,o,e);if("string"!=typeof o)return s;if(!Ir(s)&&!_r(s))return s;if(f(s))return s;const i=r.get(o);if(i&&i.value===s)return i.out;const{leafs:a,deeper:c}=l(t,o);if(!(a.length>0||c.length>0)&&(!Ir(s)||function(e){if(Array.isArray(e))return!0;const t=Object.getPrototypeOf(e);return t===Object.prototype||null===t}(e)))return s;let u=s;return Ir(s)?u=h(s,a,c,{proxy:n(),target:e}):c.length>0&&(u=p(s,c)),r.set(o,{value:s,out:u}),u}}}function h(e,t,n,r){const o=()=>n.filter(t=>!Nr(e,t.rest[0])),s=new Map,i=new Proxy(e,{get(e,t){const r=Reflect.get(e,t,e);if("string"!=typeof t||!Pr(e,t))return r;if(!Nr(e,t))return r;const{leafs:o,deeper:a}=l(n,t);if(0===o.length&&0===a.length)return r;if(f(r))return r;const c=s.get(t);if(c&&c.value===r)return c.out;let u=r;return Ir(r)?u=h(r,o,a,{proxy:i,target:e}):_r(r)&&a.length>0&&(u=p(r,a)),s.set(t,{value:r,out:u}),u},set:(e,t,n)=>Reflect.set(e,t,n,e),apply(e,n,s){c(t,s);const i=!r||n!==r.proxy&&void 0!==n?n:r.target;return u(Reflect.apply(e,i,s),o())},construct(e,n,r){c(t,n);const s=Reflect.construct(e,n,r===i?e:r),a=u(s,o());return _r(a)||Ir(a)?a:s}});return a.add(i),i}return{env:d(e,s),calls:r,unresolved:o}}var Tr="obsw_";function zr(e){if(!e.startsWith(Tr))return null;const t=e.slice(5).split("."),[n,r,o]=t;return 3===t.length&&n&&r&&o?{pb:n,ses:r,secret:o}:null}function Kr(e){const t=e.WALKEROS_OBSERVER_URL,n=e.WALKEROS_DEPLOYMENT_ID,r=e.WALKEROS_INGEST_TOKEN;if(!t||!n||!r)return;const o={url:t,sessionId:n,token:r},s=e.WALKEROS_OBSERVE_LEVEL;if(void 0!==s){if("off"!==(i=s)&&"standard"!==i&&"trace"!==i)return;o.level=s}var i;return o}function Lr(e,t){const n=function(e){return ue(e)?e:ne(e)?{items:e}:{value:e??null}}(e),r=t?{...n,_hints:t}:n;return{content:[{type:"text",text:JSON.stringify(r,null,2)}],structuredContent:r}}function Dr(e,t){let n,r,o,s;if(e instanceof Error){n=e.message;const t=e;t.code&&(o=t.code),Array.isArray(t.details)&&(s=t.details)}else if("string"==typeof e)n=e;else if(e&&"object"==typeof e&&"issues"in e&&Array.isArray(e.issues)){const t=e.issues;n=t.map(e=>e.message).join("; "),r=t[0]?.path?.join(".")||void 0}else n=e&&"object"==typeof e&&"message"in e?String(e.message):"Unknown error";const i={error:n};return t&&(i.hint=t),r&&(i.path=r),o&&(i.code=o),s&&(i.details=s),{content:[{type:"text",text:JSON.stringify(i)}],structuredContent:i,isError:!0}}function qr(e){let t=!1;return(n={})=>{t||(t=!0,e(n))}}function Fr(e){const t=Object.create(null);if(!e||"object"!=typeof e||ne(e))return t;return"function"==typeof e.forEach?(e.forEach((e,n)=>{t[n.toLowerCase()]=e}),t):(Object.entries(e).forEach(([e,n])=>{void 0!==n&&(t[e.toLowerCase()]=ne(n)?n.join(", "):String(n))}),t)}function Wr(e){const t=Object.create(null);if(!e)return t;return new URLSearchParams(e.startsWith("?")?e.slice(1):e).forEach((e,n)=>{t[n]=n in t?`${t[n]},${e}`:e}),t}function Ur(e,t){if("string"!=typeof e)return e;let n=e;if(t)try{const t=atob(e),r=new Uint8Array(t.length);for(let e=0;e<t.length;e++)r[e]=t.charCodeAt(e);n=decodeURIComponent(Array.from(r,e=>`%${e.toString(16).padStart(2,"0")}`).join(""))}catch{return e}try{return JSON.parse(n)}catch{return n===e?e:n}}function Vr(e){return ue(e)&&"string"==typeof e.method&&ue(e.headers)}function Zr(e,t){const n=Fr(e.headers),r=e.originalUrl||e.url||"",o=r.indexOf("?"),s=-1===o?"":r.slice(o),i=e.path||(-1===o?r:r.slice(0,o)),a=("function"==typeof e.get?e.get("host"):void 0)||n.host,c=e.protocol||n["x-forwarded-proto"]||t.defaultProtocol,u={method:(e.method||"").toUpperCase(),url:a?`${c}://${a}${r}`:"",path:i,query:Wr(s),headers:n,body:t.body,raw:e};return e.ip&&(u.ip=e.ip),u}function Br(e){return ne(e)?e:ue(e)?ne(e.batch)?e.batch:[e]:[{}]}function Hr(e){return!!ne(e)||ue(e)&&ne(e.batch)}var Jr="Event was not processed",Gr="Internal server error";function Yr(e){const t=e.flatMap((e,t)=>e.error?[{index:t,error:e.error}]:[]);return t.length?{status:207,body:{success:!1,processed:e.length-t.length,failed:t.length,errors:t}}:{status:200,body:{success:!0,processed:e.length,ids:e.map(e=>e.id??null)}}}function Xr(e){const t=Qr(e);return"reject"===t?{error:e.error??"Invalid event",status:400}:"retry"===t?{error:Jr,status:500}:{id:e.event?.id}}function Qr(e){if(!0===e.invalid)return"reject";if(e.ok)return"ack";const t=[];for(const n of Object.values(e.failed??{})){const e=n.reason;t.push(!e||!("retryable"in e)||e.retryable)}return e.reason&&t.push(e.reason.retryable),0===t.length||t.some(Boolean)?"retry":"ack"}function eo(e){if(void 0===e||"*"===e)return()=>!0;if("and"in e){const t=e.and.map(eo);return e=>t.every(t=>t(e))}if("or"in e){const t=e.or.map(eo);return e=>t.some(t=>t(e))}return function(e){const{key:t,operator:n,value:r,not:o}=e,s=function(e,t){switch(e){case"eq":return e=>String(e??"")===t;case"contains":return e=>String(e??"").includes(t);case"prefix":return e=>String(e??"").startsWith(t);case"suffix":return e=>String(e??"").endsWith(t);case"regex":{const e=new RegExp(t);return t=>e.test(String(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,r);return e=>{const n=Ve(e,t),r=s(n);return o?!r:r}}(e)}function to(e){return"object"==typeof e&&null!==e&&!Array.isArray(e)&&("match"in e||"next"in e||"one"in e||"many"in e||"stop"in e)}function no(e){return Array.isArray(e)&&e.length>0&&e.every(e=>to(e))}function ro(e){return"object"==typeof e&&!Array.isArray(e)&&"type"in e&&"continuation"===e.type}var oo=()=>!0;function so(e,t){return{kind:t?"sequence":"next",path:e}}function io(e,t){return t?{...e,outer:t}:e}function ao(e,t,n,r){return io(n?{kind:e,path:t,match:n}:{kind:e,path:t,catchAll:!0},r)}function co(e,t,n,r){return 0===e.length?{type:"chain",value:[],label:io({kind:n,path:t},r)}:{type:n,routes:uo(e,t,n,r)}}function uo(e,t,n,r){return e.map((e,o)=>{const s=[...t,o];if("string"==typeof e||Array.isArray(e)){const t=ao(n,s,void 0,r);return{match:oo,next:lo(e,s,t)??{type:"chain",value:[],label:t}}}const i=ao(n,s,e.match,r);return{match:e.match?eo(e.match):oo,source:e.match,next:fo(e,s,i,!1,!0)??{type:"chain",value:[],label:i}}})}function fo(e,t,n,r,o){const s=o?void 0:e.match,i=s?io({kind:"next",path:t,match:s},n):n??so(t,r),a=s?i:n;let c;return!0===e.stop?c={type:"stop",label:i}:void 0!==e.one?c=co(e.one,[...t,"one"],"one",a):void 0!==e.many?c=co(e.many,[...t,"many"],"many",a):void 0!==e.next&&(c=lo(e.next,[...t,"next"],a)),s?{type:"gate",match:eo(s),source:s,next:c??{type:"chain",value:[],label:i}}:void 0===c&&e.match?{type:"chain",value:[],label:i}:c}function lo(e,t=[],n,r=!1){if(null!=e){if("string"==typeof e)return{type:"static",value:e,label:n??so(t,r)};if(Array.isArray(e)){if(0===e.length)return;if(no(e))return{type:"one",routes:uo(e,t,"one",n)};const o=[];for(const t of e)"string"==typeof t&&o.push(t);if(o.length===e.length)return{type:"chain",value:o,label:n??so(t,r)};const s=[];if(e.forEach((e,r)=>{const o=lo(e,[...t,r],n,!0);void 0!==o&&s.push(o)}),0===s.length)return;return{type:"sequence",value:s}}return fo(e,t,n,r,!1)}}var po=new WeakMap;function mo(e,t,n){return n?{type:"continuation",segments:e,at:t,tail:n}:{type:"continuation",segments:e,at:t}}function go(e){if(null==e)return;if(ro(e))return e;const t=function(e){if(null==e)return;if("object"!=typeof e)return lo(e);const t=po.get(e);if(t)return t;const n=lo(e);return n&&po.set(e,n),n}(e);return t?mo([t],0,void 0):void 0}function ho(e,t,n){const r=[];let o=e;for(;o;){if(o.at>=o.segments.length){o=o.tail;continue}const e=o.segments[o.at],s=mo(o.segments,o.at+1,o.tail);if("static"===e.type){r.push(e.value),n&&n(e),o=s;continue}if("chain"===e.type){r.push(...e.value),n&&n(e),o=s;continue}if("sequence"===e.type){o=mo(e.value,0,s);continue}if(r.length>0)return{ids:r,then:o};if("stop"===e.type)return n&&n(e),{ids:[],stop:!0};if("gate"===e.type){o=t.gate(e)?mo([e.next],0,s):s;continue}if("one"===e.type){const n=e.routes.length>0?t.one(e.routes):-1;o=n>=0?mo([e.routes[n].next],0,s):s;continue}const i=e.routes.length>0?t.many(e.routes):[];if(0!==i.length){if(1!==i.length)return{ids:[],forks:i.map(t=>mo([e.routes[t].next],0,s))};o=mo([e.routes[i[0]].next],0,s)}else o=s}return{ids:r}}function vo(e,t){return ho(go(e),function(e){return{gate:t=>t.match(e),one:t=>t.findIndex(t=>t.match(e)),many:t=>{const n=[];return t.forEach((t,r)=>{t.match(e)&&n.push(r)}),n}}}(t))}function yo(e){return null==e?[]:[{route:e,ancestry:[]}]}function bo(e){return Array.isArray(e)&&e.every(e=>"object"==typeof e&&null!==e&&!Array.isArray(e)&&"ancestry"in e)}function wo(e,t,n){if(e.at>=e.ids.length)return{rest:t};const r=e.ids[e.at],o=e.at+1<e.ids.length?[{ids:e.ids,at:e.at+1,ancestry:e.ancestry},...t]:t;if(e.ancestry.includes(r))return{rest:o};const s=[...e.ancestry,r],i=n[r],a=i?i.config.next:void 0;return{id:r,ancestry:s,rest:void 0===a?o:[{route:a,ancestry:s},...o]}}function ko(e,t,n){if(e.stop)return t.length>0?{kind:"stop",owner:t[t.length-1]}:{kind:"stop"};if(e.forks)return{kind:"fork",branches:e.forks.map(e=>[{route:e,ancestry:t},...n])};const r=[];return e.ids.length>0&&r.push({ids:e.ids,at:0,ancestry:t}),e.then&&r.push({route:e.then,ancestry:t}),{kind:"stack",stack:[...r,...n]}}function $o(e,t,n){let r=e;for(;r.length>0;){const[e,...o]=r;if("ids"in e){const t=wo(e,o,n);if(void 0!==t.id)return{kind:"run",id:t.id,rest:t.rest,ancestry:t.ancestry};r=t.rest;continue}const s=ko(vo(e.route,t),e.ancestry,o);if("stack"!==s.kind)return s;r=s.stack}return{kind:"done"}}function jo(e,t={}){const n=[],r=new Map,o=new Set,s=new WeakMap,i=new WeakMap;let a=0;const c=e=>{let t=i.get(e);return void 0===t&&(t=++a,i.set(e,t)),t},u=e=>e.length>0?e[e.length-1]:void 0,f=(e,t,o,s,i)=>{const a=void 0===i,c=`${e??""}|${o}|${s??""}|${i??""}`,u=r.get(c);if(u)return u;const f={targets:[],kind:t.kind,path:t.path};return void 0!==e&&(f.from=e),t.match&&(f.match=t.match),t.catchAll&&(f.catchAll=!0),a&&(f.stop=!0),void 0!==s&&(f.owner=s),t.outer&&(f.via=function(e){const t=[];for(let n=e.outer;n;n=n.outer){const e={kind:n.kind,path:n.path};n.match&&(e.match=n.match),n.catchAll&&(e.catchAll=!0),t.unshift(e)}return t}(t)),r.set(c,f),n.push(f),f},l=e=>{const t=e.ancestry.join(",");if("ids"in e){const n=s.get(e.ids)??[];return`i${e.ids.join(",")}#${n.map(c).join(",")}@${e.at}/${t}`}const n=e.route;if("string"==typeof n)return`s${n}/${t}`;let r="",o=go(n);for(;o;)r+=`${c(o.segments)}@${o.at};`,o=o.tail;return`r${r}/${t}`},p=(e,n,r)=>{const i=`${n??""}|${r?`${c(r.node)}:${r.position}`:""}|${e.map(l).join("|")}`;if(o.has(i))return;if(o.add(i),0===e.length)return;const[a,...d]=e;if("ids"in a){const e=wo(a,d,t);if(void 0===e.id)return void p(e.rest,n,r);const o=(s.get(a.ids)??[])[a.at];if(!o)return;let i;if(r&&r.source===o&&r.node.targets[r.position]===n){const t=r.position+1;r.node.targets.length===t&&r.node.targets.push(e.id),i={node:r.node,source:o,position:t}}else{const t=f(n,o.label,c(o),u(a.ancestry),e.id);0===t.targets.length&&t.targets.push(e.id),i={node:t,source:o,position:0}}return void p(e.rest,e.id,i)}const m=u(a.ancestry);for(const e of function(e){const t=[],n=r=>{let o=0;const s=[],i=e=>{let t=0;return o<r.length?t=r[o]:s.push(e),o++,t},a=e=>e.some(e=>void 0===e.source),c=[],u=ho(e,{gate:()=>0===i(2),one:e=>{const t=e.map((e,t)=>t);return a(e)||t.push(-1),t[i(t.length)]},many:e=>{const t=e.map((e,t)=>t);return a(e)||0===i(2)?t:[]}},e=>c.push(e));t.push({steps:u,visited:c});for(let e=0;e<s.length;e++)for(let t=1;t<s[e];t++){const o=r.slice();for(let t=0;t<e;t++)o.push(0);o.push(t),n(o)}};return n([]),t}(go(a.route))){const{steps:t}=e,r=[];let o=n;for(const t of e.visited)if("stop"!==t.type)if("static"===t.type)r.push(t),o=t.value;else if(0===t.value.length)f(o,t.label,c(t),m,"");else{for(let e=0;e<t.value.length;e++)r.push(t);o=t.value[t.value.length-1]}else f(n,t.label,c(t),m,void 0);t.ids.length>0&&s.set(t.ids,r);const i=ko(t,a.ancestry,d);if("stop"!==i.kind)if("fork"!==i.kind)p(i.stack,n,void 0);else for(const e of i.branches)p(e,n,void 0)}};return p(yo(e),void 0,void 0),n}var xo="__walkeros_cache_v__",Eo="__walkeros_cache_exp__";function So(e,t,n=Date.now){const r={[xo]:e};return void 0!==t&&(r[Eo]=n()+t),r}function Oo(e,t=Date.now){if(void 0===e)return;if(null===(n=e)||"object"!=typeof n||Array.isArray(n)||!(xo in e))return{value:e};var n;const r=e[Eo];return"number"==typeof r&&t()>r?{expired:!0}:{value:e[xo]}}function Ao(e){return null===e||"string"==typeof e||"number"==typeof e||"boolean"==typeof e||e instanceof Uint8Array||(Array.isArray(e)?e.every(e=>void 0===e||Ao(e)):!!function(e){return null!==e&&"object"==typeof e&&!Array.isArray(e)}(e)&&Object.values(e).every(e=>void 0===e||Ao(e)))}function Io(e={},t){return void 0===t?{ingest:e}:{ingest:e,event:t}}function _o(e){return{stop:e.stop??!1,storeId:e.store,namespace:e.namespace,rules:e.rules.map(e=>({match:e.match?eo(e.match):()=>!0,key:e.key,ttl:e.ttl,update:e.update}))}}async function Mo(e,t,n,r,o){const s=e.rules.find(e=>e.match(n));if(!s)return null;const i=s.key.map(e=>String(Ve(n,e)??""));if(i.every(e=>""===e))return null;const a=i.join(":"),c=r??e.namespace,u=c?`${c}:${a}`:a;let f;try{f=await t.get(u)}catch(t){if(!o||t instanceof _t)throw t;const n=Ct(t);return Ft(o,o.logger,{step:`store.${e.storeId??"__cache"}`,code:n.code,status:n.status},"cache read failed, treated as a miss",{error:n.message,retryable:n.retryable}),{status:"MISS",key:u,rule:s}}const l=Oo(f);if(void 0===l)return{status:"MISS",key:u,rule:s};if("expired"in l){try{await t.delete(u)}catch{}return{status:"MISS",key:u,rule:s}}return{status:"HIT",key:u,value:l.value,rule:s}}function No(e,t,n,r){if(!Ao(n))return;const o=1e3*r,s=e.set(t,So(n,o),o);ae(s)&&Promise.resolve(s).catch(()=>{})}async function Po(e,t,n,r){if(!t)return e;let o=e;for(const[e,s]of Object.entries(t)){o=Ze(o,e,await Jt(n,s,{collector:r}))}return o}function Ro(e){return ne(e)?e:[e]}function Co(e){const t=/^(event|ingest)\.(.+)$/.exec(e);if(t)return{side:"event"===t[1]?"event":"ingest",path:t[2]}}function To(e){if(!ue(e.consent))return;const t={};for(const[n,r]of Object.entries(e.consent))"boolean"==typeof r&&(t[n]=r);return t}function zo(e){return!se(e)||(ue(e)?0===Object.keys(e).length:!!ne(e)&&!e.some(se))}function Ko(e,t,n,r){(e.causeLog||e.logger)&&Ft(e,e.logger,t,n,r)}async function Lo(e,t,n,r){try{return{ok:!0,value:await e.get(n)}}catch(e){if(e instanceof _t)throw e;const n=Ct(e);return Ko(r,{step:`store.${t}`,code:n.code,status:n.status},"store read failed",{error:n.message,retryable:n.retryable}),{ok:!1}}}async function Do(e,t,n,r,o){const s=o??{};let i=n;for(const n of e)await At(async()=>{const e=t(n.store);if(!e)return void r.logger?.error?.("[state] unknown store",{mode:n.mode,store:n.store});if(ue(e.config)&&!0===e.config.file)return void r.logger?.warn?.("[state] file stores are not supported by state, entry skipped",{mode:n.mode,store:n.store});const o=Io(s,i),a={collector:r,event:i,consent:To(i)},c=n.store??"__cache",u=await Jt(o,n.key,a);if(!le(u))return void Ko(r,{step:`store.${c}`,code:"mapping"},`[state] ${n.mode} key did not resolve, entry skipped`,le(n.key)?{mappingKey:n.key}:{});const f=n.store?u:`state:${u}`;if("set"===n.mode){const t=await Jt(o,n.value,a);if(!se(n.mapping)){if(!se(t))return;return void await e.set(f,t)}const s=await Vt(t,n.mapping,a);if(!se(s)||zo(s))return;if(!ue(s))return void await e.set(f,s);const i=await Lo(e,c,f,r);if(!i.ok)return;const u=i.value;return se(u)&&!ue(u)&&r.logger?.warn?.("[state] stored value is not an object, replaced",{store:n.store}),void await e.set(f,ue(u)?et(Ue(u),s):s)}const l=le(p=n.value)?p:ue(p)&&le(p.key)?p.key:void 0;var p;if(!l)return;const d=Co(l);if(!d)return void r.logger?.warn?.("[state] get target needs an event. or ingest. prefix",{store:n.store,value:l});const m=await Lo(e,c,f,r),g=m.ok?m.value:void 0;if(!se(n.mapping)){if(!se(g))return;return void("ingest"===d.side?Ze(s,d.path,g,{mutable:!0}):i=Ze(i,d.path,g))}se(g)&&!xt(g)&&r.logger?.warn?.("[state] stored value has null or non-JSON values, mapping drops them",{store:n.store});const h=await Vt(g,n.mapping,a);if(zo(h))return;const v="ingest"===d.side?Ve(s,d.path):Ve(i,d.path),y=ue(v)&&ue(h)?et(Ue(v),h):h;"ingest"===d.side?Ze(s,d.path,y,{mutable:!0}):i=Ze(i,d.path,y)},e=>{if(e instanceof _t)throw e;r.logger?.error?.("[state] operation failed",e)})();return i}function qo(e){return 0===e.length?"// no output":e.map(Fo).join(";\n\n")}function Fo(e){const[t,...n]=e,r=n.map(Wo).join(", ");return"return"===t?r?`return ${r}`:"return":`${t}(${r})`}function Wo(e){return void 0===e?"undefined":null===e?"null":"function"==typeof e?"[Function]":JSON.stringify(e,null,2)}export{Sn as CLOCK_SKEW_MS,z as CONTRACT_RULE_KEYS,n as Cache,r as Collector,A as Const,s as Context,pn as DEFAULT_DESTINATION_TIMEOUT_MS,i as Destination,Pe as ENV_MARKER_PREFIX,Jr as EVENT_NOT_PROCESSED,c as Elb,_t as FatalError,Ne as FlowCycleError,Me as FlowReferenceError,O as Hint,u as Hooks,Gr as INTERNAL_SERVER_ERROR,ln as InvalidEventError,l as Level,j as Lifecycle,f as Logger,pe as MAPPING_NO_OPS,On as MAX_SESSION_MS,_n as MOIN_PARAM,Mn as MOIN_PRODUCTION,p as Mapping,S as Matcher,Er as OBSERVE_ENV_KEY,In as OBSERVE_STORAGE_KEY,d as On,Q as REF_CODE_PREFIX,Z as REF_CONTRACT,V as REF_ENV,J as REF_FLOW,G as REF_FLOW_INLINE,B as REF_FLOW_NAME,X as REF_SECRET,Y as REF_STORE,W as REF_VAR_FULL,U as REF_VAR_INLINE,fr as RESERVED_WINDOW_GLOBALS,h as Request,Re as SECRET_MARKER_PREFIX,be as STEP_FIELD_ROLES,je as STEP_FUNCTION_KEYS,$e as STEP_OPERATIVE_FIELDS,E as Simulation,v as Source,Nt as StepError,b as Store,m as Transformer,$ as Trigger,En as URL_WINDOW_MS,x as WalkerOS,Qr as acknowledge,$o as advanceChain,M as anonymizeIP,Do as applyState,Po as applyUpdate,Xn as assembleJourneys,We as assign,Yr as batchResponse,_ as branch,Zr as buildScopeFromNodeRequest,St as castToProperty,Ye as castValue,Mo as checkCache,pr as checkWindowCollector,Ue as clone,_o as compileCache,eo as compileMatcher,Ro as compileState,rr as createBatchedPoster,qt as createCauseLog,Qe as createDestination,ut as createEvent,I as createIngest,$t as createLogger,Io as createMappingRoot,rn as createMockContext,nn as createMockLogger,qr as createRespond,hn as createTelemetryObserver,vr as createTimer,vt as debounce,et as deepMerge,mt as defaultClickIds,Be as deleteByPath,nt as deriveSpanId,nr as emitStep,br as fetchPackage,xr as fetchPackageSchema,Et as filterValues,Ge as flattenIncludeSections,qo as formatOut,sr as getBrowser,ir as getBrowserVersion,Ve as getByPath,ur as getDeviceType,Bt as getErrorMessage,ft as getEvent,Le as getFlowSettings,Xe as getGrantedConsent,cn as getHeaders,rt as getId,Ht as getMappingEvent,ge as getMappingKeyPaths,he as getMappingNoOpMessage,me as getMappingNoOpPaths,Jt as getMappingValue,gt as getMarketingParameters,vo as getNextSteps,ar as getOS,cr as getOSVersion,qe as getPlatform,jo as getRouteGraph,at as getSpanId,we as getStepFieldRole,ke as getStepRuntimeProps,lt as getTraceId,er as getTraceUntil,ve as getTransformerMapping,ye as getTransformerMappingWarnings,Ae as getUnknownStepKeys,te as isArguments,ne as isArray,Hr as isBatchBody,re as isBoolean,bo as isChainContinuation,oe as isCommand,se as isDefined,Sr as isEnvObserve,ie as isFunction,ce as isNumber,ue as isObject,Ie as isPathStepEntry,xt as isPropertyType,no as isRouteArray,to as isRouteConfigEntry,ro as isRouteContinuation,fe as isSameType,vn as isSampled,Vr as isScope,Ao as isStoreValue,le as isString,ae as isThenable,Dr as mcpError,Lr as mcpResult,L as mergeContractSchemas,Qt as mergeMappingRule,en as mockEnv,Tt as networkErrorMessage,Ur as normalizeBody,Fr as normalizeHeaders,Wr as normalizeQuery,Cr as observeEnv,Kr as observeFromEnv,Ke as packageNameToVariable,Ar as parseCallPath,xn as parseGrant,zr as parseObserveCredential,dt as parseTraceparent,or as parseUserAgent,Yt as processEventMapping,Xr as pushResultToOutcome,Oo as readCacheEnvelope,Ft as reportCause,on as requestToData,sn as requestToParameter,K as resolveContracts,dn as resolveDestinationTimeout,un as resolveSetup,yn as resolveTelemetryOptions,ee as scanFlowRefs,Ze as setByPath,tr as setTraceUntil,yo as startChain,Pt as stepCall,o as stepId,No as storeCache,yt as throttle,N as throwError,Br as toEventList,Ct as toFailureReason,an as transformData,tn as traverseEnv,fn as trim,Ot as tryCatch,At as tryCatchAsync,mn as useHooks,Oe as validateStepEntry,An as verifyActivation,Te as walkPath,So as wrapCacheEnvelope,mr as wrapCondition,gr as wrapFn,hr as wrapValidate};//# sourceMappingURL=index.mjs.map
1
+ var e=Object.defineProperty,t=(t,n)=>{for(var r in n)e(t,r,{get:n[r],enumerable:!0})},n={},r={};function o(e,t){if("collector"===e)return"collector";if(!t)throw new Error(`stepId(${e}) requires an id`);return`${e}.${t}`}t(r,{stepId:()=>o});var s={},i={};function a(e,t){const n=e.destinations[t];if(!n)throw new Error(`Destination not found: ${t}`);return n}t(i,{getDestination:()=>a});var c={},u={},f={};t(f,{Level:()=>l});var l=(e=>(e[e.ERROR=0]="ERROR",e[e.WARN=1]="WARN",e[e.INFO=2]="INFO",e[e.DEBUG=3]="DEBUG",e))(l||{}),p={},d={},m={};function g(e,t){const n=e.transformers[t];if(!n)throw new Error(`Transformer not found: ${t}`);return n}t(m,{getTransformer:()=>g});var h={},y={};function v(e,t){const n=e.sources[t];if(!n)throw new Error(`Source not found: ${t}`);return n}t(y,{getSource:()=>v});var b={};function w(e,t){const n=e.stores[t];if(!n)throw new Error(`Store not found: ${t}`);return n}async function k(e,t){return await e.get(t)}t(b,{getStore:()=>w,getStoreValue:()=>k});var $={},j={},x={},E={},S={},O={},A={Utils:{Storage:{Local:"local",Session:"session",Cookie:"cookie"}}};function I(e){return{_meta:{hops:0,path:[e]}}}function _(e,t){return{event:e,next:t}}function M(e){const t=e.replace(/^::ffff:/i,"");if(/^(?:\d{1,3}\.){3}\d{1,3}$/.test(t))return t.replace(/\.\d+$/,".0");const n=function(e){const t=e.split("::");if(t.length>2)return;const n=t[0]?t[0].split(":"):[],r=t[1]?t[1].split(":"):[],o=8-n.length-r.length;if(1===t.length?0!==o:o<1)return;const s=[...n,...Array(o).fill("0"),...r];if(!s.every(e=>/^[\da-f]{1,4}$/i.test(e)))return;return s.map(e=>parseInt(e,16).toString(16))}(e);return n?`${n.slice(0,3).join(":")}::`:""}function N(e){throw new Error(String(e))}var R=new Set(["description","examples","title","$comment"]),P=new Set(["additionalItems","additionalProperties","contains","contentSchema","else","if","items","not","propertyNames","then","unevaluatedItems","unevaluatedProperties"]),C=new Set(["allOf","anyOf","items","oneOf","prefixItems"]),T=new Set(["properties","patternProperties","dependentSchemas","dependentRequired","dependencies","$defs","definitions"]),z=["extend","tagging","description","events","schema"];function K(e,t){const n=!1!==t?.stripAnnotations,r={},o=new Set;function s(t){if(r[t])return r[t];o.has(t)&&N(`Circular extend chain detected: ${[...o,t].join(" → ")}`);const i=e[t];i||N(`Contract "${t}" not found`),o.add(t);let a={};if(i.extend){a=function(e,t){const n={};void 0===e.tagging&&void 0===t.tagging||(n.tagging=t.tagging??e.tagging);void 0===e.description&&void 0===t.description||(n.description=t.description??e.description);e.schema&&t.schema?n.schema=L(e.schema,t.schema):(e.schema||t.schema)&&(n.schema={...e.schema||t.schema});if(e.events||t.events){const r={},o=new Set([...Object.keys(e.events||{}),...Object.keys(t.events||{})]);for(const n of o){const o=e.events?.[n]||{},s=t.events?.[n]||{},i=new Set([...Object.keys(o),...Object.keys(s)]);r[n]={};for(const e of i){const t=o[e],i=s[e];r[n][e]=t&&i?L(t,i):{...t||i}}}n.events=r}return n}(s(i.extend),i)}else a={...i};if(delete a.extend,a.events&&(a.events=function(e){const t={};for(const n of Object.keys(e))if("*"!==n){t[n]={};for(const r of Object.keys(e[n]||{})){let o={};const s=e["*"]?.["*"];s&&(o=L(o,s));const i=e["*"]?.[r];i&&"*"!==r&&(o=L(o,i));const a=e[n]?.["*"];a&&"*"!==r&&(o=L(o,a));const c=e[n]?.[r];c&&(o=L(o,c)),t[n][r]=o}}e["*"]&&(t["*"]={...e["*"]});return t}(a.events)),a.events&&n){const e={};for(const[t,n]of Object.entries(a.events)){e[t]={};for(const[r,o]of Object.entries(n))e[t][r]=D(o)}a.events=e}return o.delete(t),r[t]=a,a}for(const t of Object.keys(e))s(t);return r}function L(e,t){const n={...e};for(const r of Object.keys(t)){const o=e[r],s=t[r];"required"===r&&Array.isArray(o)&&Array.isArray(s)?n[r]=[...new Set([...o,...s])]:F(o)&&F(s)?n[r]=L(o,s):n[r]=s}return n}function D(e){const t={};for(const[n,r]of Object.entries(e))R.has(n)||(T.has(n)&&F(r)?t[n]=q(r):C.has(n)&&Array.isArray(r)?t[n]=r.map(e=>F(e)?D(e):e):P.has(n)&&F(r)?t[n]=D(r):t[n]=r);return t}function q(e){const t={};for(const[n,r]of Object.entries(e))t[n]=F(r)?D(r):r;return t}function F(e){return"object"==typeof e&&null!==e&&!Array.isArray(e)}var U=/^\$var\.([a-zA-Z_][a-zA-Z0-9_]*(?:\.[a-zA-Z_][a-zA-Z0-9_]*)*)$/,W=/\$var\.([a-zA-Z_][a-zA-Z0-9_]*(?:\.[a-zA-Z_][a-zA-Z0-9_]*)*)/g,V=/\$env\.([a-zA-Z_][a-zA-Z0-9_]*)(?::([^"}\s]*))?/g,Z=/^\$contract\.([a-zA-Z_][a-zA-Z0-9_]*)(?:\.(.+))?$/,B="[a-zA-Z_][a-zA-Z0-9_-]*",H=`\\$flow\\.(${B})(?:\\.([a-zA-Z0-9_.]+))?`,J=new RegExp(`^${H}$`),G=new RegExp(H,"g"),Y=/^\$store\.([a-zA-Z_][a-zA-Z0-9_]*)$/,X=/^\$secret\.([A-Z0-9_]+)$/,Q="$code:";function ee(e,t){const n=t??new Set;if("string"==typeof e){for(const t of e.matchAll(G))n.add(t[1]);return n}if(e&&"object"==typeof e)for(const t of Object.values(e))ee(t,n);return n}function te(e){return"[object Arguments]"===Object.prototype.toString.call(e)}function ne(e){return Array.isArray(e)}function re(e){return"boolean"==typeof e}function oe(e){return"walker"===e}function se(e){return void 0!==e}function ie(e){return"function"==typeof e}function ae(e){return"object"==typeof e&&null!==e&&"then"in e&&"function"==typeof e.then}function ce(e){return"number"==typeof e&&!Number.isNaN(e)}function ue(e){return"object"==typeof e&&null!==e&&!ne(e)&&"[object Object]"===Object.prototype.toString.call(e)}function fe(e,t){return typeof e==typeof t}function le(e){return"string"==typeof e}var pe={transformer:{config:["consent","include","data"],rule:["consent","include","remove","batch","settings","extend","data","silent"]},source:{config:["data","include"],rule:["data","include","remove","batch","settings","extend","silent"]},destination:{config:[],rule:["extend"]}},de={transformer:"only `policy` and a rule's `condition`, `policy`, `name` and `ignore` apply",source:"only `consent`, `policy` and a rule's `condition`, `policy`, `name` and `ignore` apply; edit the event at a source with `policy`",destination:"a rule's `extend` applies only inside a package's own `settings.mapping` (today `@walkeros/transformer-ga4`), merged onto its shipped rules; write the fields on the rule itself"};function me(e,t,n){return ge(t,n,pe[e])}function ge(e,t,n){if(!ue(e))return[];const{config:r,rule:o}=n,s=[];for(const n of r)void 0!==e[n]&&s.push(`${t}.${n}`);const i=e.mapping;if(!ue(i))return s;for(const[e,n]of Object.entries(i))if(ue(n))for(const[r,i]of Object.entries(n)){(ne(i)?i:[i]).forEach((n,a)=>{if(!ue(n))return;const c=`${t}.mapping.${e}.${r}${ne(i)?`[${a}]`:""}`;for(const e of o)void 0!==n[e]&&s.push(`${c}.${e}`)})}return s}function he(e,t){return`${t.map(e=>`\`${e}\``).join(", ")} ${1===t.length?"does":"do"} nothing at the ${e} position; ${de[e]}.`}function ye(e){return e.config?.mapping??e.mapping}function ve(e){const t=ye(e);if(void 0===t)return[];const n=void 0!==e.config?.mapping?"config.mapping":"mapping",r="config.mapping"===n&&void 0!==e.mapping;if(void 0!==e.code||void 0!==e.package){return[`${r?"`config.mapping` and `mapping` are":`\`${n}\` is`} ignored: a transformer with \`${void 0!==e.code?"code":"package"}\` never runs ${r?"them":"it"}; a mapping applies only to a transformer without code.`]}const o=[];r&&o.push("`mapping` is overridden: `config.mapping` wins; remove one.");const s=me("transformer",t,n);return s.length>0&&o.push(he("transformer",s)),o}var be={Source:{package:"reference",code:"reference",import:"reference",config:"runtime",env:"runtime",primary:"runtime",before:"runtime",next:"runtime",cache:"runtime",state:"runtime",variables:"resolve",examples:"docs"},Transformer:{package:"reference",code:"reference",import:"reference",config:"runtime",env:"runtime",before:"runtime",next:"runtime",cache:"runtime",state:"runtime",mapping:"runtime",variables:"resolve",examples:"docs"},Destination:{package:"reference",code:"reference",import:"reference",config:"runtime",env:"runtime",before:"runtime",next:"runtime",cache:"runtime",state:"runtime",variables:"resolve",examples:"docs"},Store:{package:"reference",code:"reference",import:"reference",config:"runtime",env:"runtime",cache:"runtime",variables:"resolve",examples:"docs"}};function we(e,t){const n=be[e];return Object.prototype.hasOwnProperty.call(n,t)?n[t]:void 0}function ke(e,t){const n={};for(const[r,o]of Object.entries(e))null!=o&&"runtime"===we(t,r)&&(n[r]=o);return n}var $e={Source:["code","package","import","before","next","cache","state"],Transformer:["code","package","import","before","next","cache","state","mapping"],Destination:["code","package","import","before","next","cache","state"],Store:["code","package","import","cache"]},je=["push","pushBatch","init","on","destroy"],xe=["disabled","id","logger","mock","chainMocks"],Ee=/^[A-Za-z_$][A-Za-z0-9_$]*$/;function Se(e){return new Set([...Object.keys(be[e]),...xe])}function Oe(e,t){const n=Se(t);for(const r of Object.keys(e))if(!n.has(r))return{ok:!1,code:"UNKNOWN_KEY",key:r,reason:`Unknown key "${r}" on ${t}. Allowed: ${[...n].sort().join(", ")}.`};const r=void 0!==e.package,o=void 0!==e.import,s=void 0!==e.code;return s&&"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.`}:s&&("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?, pushBatch?, on?, destroy? }) or a resolved function value."}:s&&r?{ok:!1,code:"CONFLICT",key:"package",reason:"Cannot specify both `code` and `package`. Use one or the other."}:s&&o?{ok:!1,code:"CONFLICT",key:"import",reason:"Cannot specify both `code` and `import`."}:o&&!r?{ok:!1,code:"MISSING_PACKAGE",key:"import",reason:"`import` requires `package` to be set."}:!o||"string"==typeof e.import&&Ee.test(e.import)?{ok:!0}:{ok:!1,code:"INVALID_IMPORT",key:"import",reason:`import must match ${Ee.source}. Got: ${JSON.stringify(e.import)}.`}}function Ae(e,t){const n=Se(t);return Object.keys(e).filter(e=>!n.has(e))}function Ie(e,t){if("Transformer"!==t)return!1;if(void 0!==e.code||void 0!==e.package||void 0!==e.import)return!1;if($e.Transformer.some(t=>"reference"!==we("Transformer",t)&&void 0!==e[t]))return!0;const n=ue(e.config)?e.config:void 0;return void 0!==ye({mapping:e.mapping,config:n})||void 0!==n?.state}function _e(...e){const t={};for(const n of e)n&&Object.assign(t,n);return t}var Me=class extends Error{code;reference;constructor(e,t,n){super(n),this.name="FlowReferenceError",this.code=e,this.reference=t}},Ne=class extends Error{code;chain;constructor(e,t){super(`Cyclic ${"FLOW_CYCLE"===e?"$flow":"$var"} reference: ${t.join(" -> ")}`),this.name="FlowCycleError",this.code=e,this.chain=t}},Re="__WALKEROS_ENV:",Pe="__WALKEROS_SECRET:";function Ce(e,t,n){const r=`$flow.${e}${t?`.${t}`:""}`;if("unknown-flow"===n)return`${r} cannot resolve: flow "${e}" does not exist in this config.`;return`${r} is empty. Set ${t?`flows.${e}.config.${t}`:`flows.${e}.config`}.`}function Te(e,t,n){const r=t.split(".");let o=e;for(let e=0;e<r.length;e++){const s=r[e];if(null==o||"object"!=typeof o){const o=r.slice(0,e).join(".");N(`Path "${t}" not found in "${n}": "${s}" does not exist${o?` in "${o}"`:""}`)}const i=o;if(!(s in i)){const o=r.slice(0,e).join(".");N(`Path "${t}" not found in "${n}": "${s}" does not exist${o?` in "${o}"`:""}`)}o=i[s]}return o}function ze(e,t,n,r,o,s){if("string"==typeof e){const i=e.match(U);if(i){const e=i[1].split("."),a=e[0],c=e.slice(1).join(".");void 0===t[a]&&N(`Variable "${a}" not found`);const u=s??new Set;if(u.has(a))throw new Ne("VAR_CYCLE",[...u,a]);let f;u.add(a);try{f=ze(t[a],t,n,r,o,u)}finally{u.delete(a)}return c&&(f=Te(f,c,`$var.${a}`)),f}const a=e.match(Z);if(a&&r){const e=a[1],t=a[2];e in r||N(`Contract "${e}" not found`);let n=r[e];return t&&(n=Te(n,t,`$contract.${e}`)),n}const c=e.match(J);if(c){const t=c[1],r=c[2],s=!1===n?.strictFlowRefs;o||N(`$flow.${t}${r?`.${r}`:""} cannot be resolved without a flow resolver`);const i=o(t);if(!i){if(s)return n?.onWarning?.(Ce(t,r,"unknown-flow")),e;N(`Flow "${t}" not found in $flow.${t}`)}let a=i;if(r)if(s){try{a=Te(a,r,`$flow.${t}`)}catch{return n?.onWarning?.(Ce(t,r,"missing-key")),e}if(null==a||""===a)return n?.onWarning?.(Ce(t,r,"missing-key")),e}else a=Te(a,r,`$flow.${t}`),null!=a&&""!==a||N(Ce(t,r,"missing-key"));return a}const u=e.match(X);if(u){const e=u[1];if(n?.deferred)return`${Pe}${e}`;throw new Me("WEB_SECRET_REF",e,`Secret "$secret.${e}" cannot be used in a web flow: secrets are never sent to the browser. Use a server flow.`)}let f=e.replace(W,(e,i)=>{const a=i.split("."),c=a[0],u=a.slice(1).join(".");void 0===t[c]&&N(`Variable "${c}" not found`);const f=s??new Set;if(f.has(c))throw new Ne("VAR_CYCLE",[...f,c]);let l;f.add(c);try{l=ze(t[c],t,n,r,o,f)}finally{f.delete(c)}if(u&&(l=Te(l,u,`$var.${c}`)),null===l||"string"!=typeof l&&"number"!=typeof l&&"boolean"!=typeof l){N(`Variable "${i}" resolves to non-scalar (${Array.isArray(l)?"array":typeof l}) and cannot be inlined into a string. Use it as a whole-string reference: "$var.${i}"`)}return String(l)});return f=f.replace(V,(e,t,r)=>{if(n?.deferred)return void 0!==r?`${Re}${t}:${r}`:`${Re}${t}`;const o=n?.env?.[t];if(void 0!==o)return o;if(void 0!==r)return r;throw new Me("MISSING_ENV",t,`Environment variable "${t}" not found and no default provided`)}),f}if(Array.isArray(e))return e.map(e=>ze(e,t,n,r,o,s));if(null!==e&&"object"==typeof e){const i={};for(const[a,c]of Object.entries(e))i[a]=ze(c,t,n,r,o,s);return i}return e}function Ke(e){const t=e.startsWith("@"),n=e.replace("@","").replace(/[/-]/g,"_").split("_").filter(e=>e.length>0).map((e,t)=>0===t?e:e.charAt(0).toUpperCase()+e.slice(1)).join("");return t?"_"+n:n}function Le(e,t,n){const r=new Map,o=new Set,s=[],i=t=>{if(r.has(t))return r.get(t);const a=e.flows[t];if(a){if(o.has(t))throw new Ne("FLOW_CYCLE",[...s,t]);o.add(t),s.push(t);try{const o=_e(e.variables,a.variables),s=ze(a.config??{},o,n,void 0,i);return r.set(t,s),s}finally{o.delete(t),s.pop()}}},a=Object.keys(e.flows);t||(1===a.length?t=a[0]:N(`Multiple flows found (${a.join(", ")}). Please specify a flow.`));const c=e.flows[t];c||N(`Flow "${t}" not found. Available: ${a.join(", ")}`),o.add(t),s.push(t);try{return function(e,t,n,r){const o=JSON.parse(JSON.stringify(t));let s;if(e.contract){const o=_e(e.variables,t.variables),i=ze(e.contract,o,n,void 0,r);s=K(i)}if(o.config){const i=_e(e.variables,t.variables);o.config=ze(o.config,i,n,s,r)}const i=(o,i)=>{for(const a of Object.values(o??{}))De(a,i,_e(e.variables,t.variables,a.variables),n,s,r)};if(i(o.sources,"Source"),i(o.destinations,"Destination"),i(o.stores,"Store"),i(o.transformers,"Transformer"),o.collector){const i=_e(e.variables,t.variables),a=ze(o.collector,i,n,s,r);o.collector=a}return o}(e,c,n,i)}finally{o.delete(t),s.pop()}}function De(e,t,n,r,o,s){e.config=ze(e.config,n,r,o,s),e.env=ze(e.env,n,r,o,s);for(const n of Object.keys(e)){const r=we(t,n);void 0!==r&&"docs"!==r||Reflect.deleteProperty(e,n)}}function qe(e){const t=e.config?.platform;if("web"===t||"server"===t)return t;N('Flow must have config.platform set to "web" or "server"')}var Fe={merge:!0,shallow:!0,extend:!0};function Ue(e,t={},n={}){n={...Fe,...n};const r=Object.entries(t).reduce((t,[r,o])=>{const s=e[r];return n.merge&&Array.isArray(s)&&Array.isArray(o)?t[r]=o.reduce((e,t)=>e.includes(t)?e:[...e,t],[...s]):(n.extend||r in e)&&(t[r]=o),t},{});return n.shallow?{...e,...r}:(Object.assign(e,r),e)}function We(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 r in e)Object.prototype.hasOwnProperty.call(e,r)&&(n[r]=We(e[r],t));return n}if("[object Array]"===n){const n=[];return t.set(e,n),e.forEach(e=>{n.push(We(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 Ve(e,t="",n){const r=t.split(".");let o=e;for(let e=0;e<r.length;e++){const t=r[e];if("*"===t&&ne(o)){const t=r.slice(e+1).join("."),s=[];for(const e of o){const r=Ve(e,t,n);s.push(r)}return s}if(o=ue(o)||ne(o)?o[t]:void 0,void 0===o)break}return se(o)?o:n}function Ze(e,t,n,r){if(!ue(e))return e;const o=r?.mutable?e:We(e),s=t.split(".");let i=o;for(let e=0;e<s.length;e++){const t=s[e];if(e===s.length-1)void 0===n?delete i[t]:i[t]=n;else{if(!(t in i)||"object"!=typeof i[t]||null===i[t]){if(void 0===n)return o;i[t]={}}i=i[t]}}return o}function Be(e,t){if(!ue(e)&&!ne(e))return e;const n=We(e),r=t.split(".");let o=n;for(let e=0;e<r.length;e++){const t=r[e],s=e===r.length-1;if(ne(o)){const e=Number(t);if(!Number.isInteger(e)||e<0||e>=o.length)return n;if(s)o.splice(e,1);else{const t=o[e];if(!ue(t)&&!ne(t))return n;o=t}}else if(s)delete o[t];else{const e=o[t];if(!ue(e)&&!ne(e))return n;o=e}}return n}var He={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 Je(e,t,n){if(ue(n))for(const[r,o]of Object.entries(n))void 0!==o&&Je(e,`${t}_${r}`,o);else e[t]=n}function Ge(e,t){const n={},r=t.includes("all")?Object.keys(He):t;for(const t of r){const r=He[t];if(!r)continue;const o=r(e);if(ue(o))for(const[e,r]of Object.entries(o)){if(void 0===r)continue;Je(n,`${t}_${e}`,"context"===t&&Array.isArray(r)?r[0]:r)}}return n}function Ye(e){if("true"===e)return!0;if("false"===e)return!1;const t=Number(e);return e==t&&""!==e?t:String(e)}function Xe(e,t={},n={}){const r={...t,...n},o={};let s=!e||0===Object.keys(e).length;return Object.keys(r).forEach(t=>{r[t]&&(o[t]=!0,e&&e[t]&&(s=!0))}),!!s&&o}function Qe(e,t){const n={...e};return n.config=Ue(e.config,t,{shallow:!0,merge:!0,extend:!0}),e.config.settings&&t.settings&&(n.config.settings=Ue(e.config.settings,t.settings,{shallow:!0,merge:!0,extend:!0})),e.config.mapping&&t.mapping&&(n.config.mapping=Ue(e.config.mapping,t.mapping,{shallow:!0,merge:!0,extend:!0})),n}function et(e,t){if(!ue(t))return e;for(const n of Object.keys(t)){const r=t[n];void 0!==r&&(ue(r)&&ue(e[n])?et(e[n],r):e[n]=r)}return e}function tt(e){let t=8997,n=33826,r=40164,o=52210;for(let s=0;s<e.length;s++){t^=e.charCodeAt(s);const i=435*t;let a=435*n,c=435*r,u=435*o;c+=t<<8,u+=n<<8,a+=i>>>16,t=65535&i,c+=a>>>16,n=65535&a,o=u+(c>>>16)&65535,r=65535&c}const s=e=>e.toString(16).padStart(4,"0");return s(o)+s(r)+s(n)+s(t)}function nt(e,t){const n=tt(JSON.stringify([e,t]));return/^0+$/.test(n)?tt(JSON.stringify([n,t])):n}function rt(e=6,t="0123456789abcdefghijklmnopqrstuvwxyz"){const n=t.length;if(e<=0||0===n)return"";let r="";if(n<=256){const o=256-256%n;for(;r.length<e;){const s=e-r.length,i=new Uint8Array(Math.ceil(1.3*s)+4);if(!ot(i))break;for(let s=0;s<i.length&&r.length<e;s++)i[s]<o&&(r+=t[i[s]%n])}}for(;r.length<e;)r+=t[Math.random()*n|0];return r}function ot(e){try{if("undefined"!=typeof crypto&&"function"==typeof crypto.getRandomValues)return crypto.getRandomValues(e),!0}catch{}return!1}var st="0123456789abcdef";function it(e){let t=rt(e,st);for(;/^0+$/.test(t);)t=rt(e,st);return t}function at(){return it(16)}var ct=17e11;function ut(e={}){const t=e.timestamp||ct,n=Ue({name:"entity action",data:{string:"foo",number:1,boolean:!0,array:[0,"text",!1],not:void 0},context:{dev:["test",1]},globals:{lang:"elb"},custom:{completely:"random"},user:{id:"us3r",device:"c00k13",session:"s3ss10n"},nested:[{entity:"child",data:{is:"subordinated"}}],consent:{functional:!0},id:e.id||at(),trigger:"test",entity:"entity",action:"action",timestamp:t,timing:3.14,source:{type:"collector",schema:"4"}},e,{merge:!1});if(n.source={count:1,trace:"0a1b2c3d4e5f60718293a4b5c6d7e8f9",...n.source},e.name){const[t,r]=e.name.split(" ")??[];t&&r&&(n.entity=t,n.action=r)}return n}function ft(e="entity action",t={}){const n=t.timestamp||ct,r=t.id||tt(e),o={data:{id:"ers",name:"Everyday Ruck Snack",color:"black",size:"l",price:420}},s={data:{id:"cc",name:"Cool Cap",size:"one size",price:42}};return ut({...{"entity action":{},"cart view":{data:{currency:"EUR",value:2*o.data.price},context:{shopping:["cart",0]},globals:{pagegroup:"shop"},nested:[{entity:"product",data:{...o.data,quantity:2},context:{shopping:["cart",0]},nested:[]}],trigger:"load"},"checkout start":{data:{currency:"EUR",value:o.data.price+s.data.price},context:{shopping:["checkout",0]},globals:{pagegroup:"shop"},nested:[{entity:"product",...o,context:{shopping:["checkout",0]},nested:[]},{entity:"product",...s,context:{shopping:["checkout",0]},nested:[]}],trigger:"load"},"order complete":{data:{id:"0rd3r1d",currency:"EUR",value:o.data.price+s.data.price,tax:73.76,shipping:5.22,total:467.22},context:{shopping:["complete",0]},globals:{pagegroup:"shop"},nested:[{entity:"product",...o,context:{shopping:["complete",0]},nested:[]},{entity:"product",...s,context:{shopping:["complete",0]},nested:[]},{entity:"gift",data:{name:"Surprise"},context:{shopping:["complete",0]},nested:[]}],trigger:"load"},"page view":{data:{domain:"www.example.com",title:"walkerOS documentation",referrer:"https://www.walkeros.io/",search:"?foo=bar",hash:"#hash",id:"/docs/"},globals:{pagegroup:"docs"},trigger:"load"},"product add":{data:{...o.data,quantity:1,currency:"EUR"},context:{shopping:["intent",0]},globals:{pagegroup:"shop"},nested:[],trigger:"click"},"product view":{data:{...o.data,currency:"EUR"},context:{shopping:["detail",0]},globals:{pagegroup:"shop"},nested:[],trigger:"load"},"product visible":{data:{...o.data,position:3,list:"Related products",promo:!0},context:{shopping:["discover",0]},globals:{pagegroup:"shop"},nested:[],trigger:"load"},"promotion visible":{data:{id:"promo_autumn26",name:"Setting up tracking easily",slot:"hero"},context:{ab_test:["engagement",0]},globals:{pagegroup:"homepage"},trigger:"visible"},"session start":{data:{id:"s3ss10n",start:n,isNew:!0,count:1,runs:1,isStart:!0,storage:!0,referrer:"",device:"c00k13"},user:{id:"us3r",device:"c00k13",session:"s3ss10n",hash:"h4sh",address:"street number",email:"user@example.com",phone:"+49 123 456 789",userAgent:"Mozilla...",browser:"Chrome",browserVersion:"90",deviceType:"desktop",language:"de-DE",country:"DE",region:"HH",city:"Hamburg",zip:"20354",timezone:"Berlin",os:"walkerOS",osVersion:"1.0",screenSize:"1337x420",ip:"127.0.0.0",internal:!0,custom:"value"}}}[e],...t,name:e,id:r})}function lt(){return it(32)}var pt=/^(?<version>[0-9a-f]{2})-(?<trace>[0-9a-f]{32})-(?<span>[0-9a-f]{16})-[0-9a-f]{2}$/;function dt(e){if("string"!=typeof e)return;const t=pt.exec(e)?.groups;if(!t)return;const{version:n,trace:r,span:o}=t;return void 0===n||void 0===r||void 0===o||"ff"===n||/^0+$/.test(r)||/^0+$/.test(o)?void 0:{trace:r,parentSpan:o}}var mt=[{param:"gclid",platform:"google"},{param:"wbraid",platform:"google"},{param:"gbraid",platform:"google"},{param:"dclid",platform:"google"},{param:"gclsrc",platform:"google"},{param:"fbclid",platform:"meta"},{param:"igshid",platform:"meta"},{param:"msclkid",platform:"microsoft"},{param:"ttclid",platform:"tiktok"},{param:"twclid",platform:"twitter"},{param:"li_fat_id",platform:"linkedin"},{param:"epik",platform:"pinterest"},{param:"sclid",platform:"snapchat"},{param:"sccid",platform:"snapchat"},{param:"rdt_cid",platform:"reddit"},{param:"qclid",platform:"quora"},{param:"yclid",platform:"yandex"},{param:"ymclid",platform:"yandex"},{param:"ysclid",platform:"yandex"},{param:"dicbo",platform:"outbrain"},{param:"obclid",platform:"outbrain"},{param:"tblci",platform:"taboola"},{param:"mc_cid",platform:"mailchimp"},{param:"mc_eid",platform:"mailchimp"},{param:"_kx",platform:"klaviyo"},{param:"_hsenc",platform:"hubspot"},{param:"_hsmi",platform:"hubspot"},{param:"s_kwcid",platform:"adobe"},{param:"ef_id",platform:"adobe"},{param:"mkt_tok",platform:"adobe"},{param:"irclickid",platform:"impact"},{param:"cjevent",platform:"cj"},{param:"_branch_match_id",platform:"branch"}];function gt(e,t={},n=[]){const r={};Object.entries(Ue({utm_campaign:"campaign",utm_content:"content",utm_medium:"medium",utm_source:"source",utm_term:"term"},t)).forEach(([t,n])=>{const o=e.searchParams.get(t);o&&(r[n]=o)});const o=n.length?function(e){const t=new Map(e.map(e=>[e.param,e.platform])),n=new Set(mt.map(e=>e.param));return[...mt.map(e=>t.has(e.param)?{param:e.param,platform:t.get(e.param)}:e),...e.filter(e=>!n.has(e.param))]}(n):mt,s=new Map;e.searchParams.forEach((e,t)=>{e&&s.set(t.toLowerCase(),e)});for(const e of o){const t=s.get(e.param);t&&(r[e.param]=t,r.clickId||(r.clickId=e.param,r.platform=e.platform))}return r}function ht(e,t){return"number"==typeof e?{wait:e}:e?{wait:e.wait??t,size:e.size,age:e.age}:{wait:t}}function yt(e,t=1e3,n=!1){const{wait:r,size:o,age:s}=ht(t,1e3);let i,a,c=null,u=null,f=!1,l=[],p=0;const d=()=>{c&&(clearTimeout(c),c=null),u&&(clearTimeout(u),u=null),p=0,a=void 0},m=()=>{const t=a,n=l;if(d(),l=[],t)return i=e(...t),n.forEach(e=>e(i)),i;n.forEach(e=>e(void 0))},g=(...t)=>new Promise(d=>{const g=n&&!f;if(a=t,p+=1,l.push(d),c&&clearTimeout(c),c=setTimeout(()=>{c=null,n&&!f||m()},r),void 0===s||u||(u=setTimeout(()=>{u=null,m()},s)),void 0!==o&&p>=o)m();else if(g){f=!0,i=e(...t);const n=l;l=[],n.forEach(e=>e(i))}});return g.flush=()=>a||0!==l.length?new Promise(e=>{l.push(e),m()}):Promise.resolve(i),g.cancel=()=>{const e=l;l=[],d(),i=void 0,e.forEach(e=>e(void 0))},g.size=()=>p,g}function vt(e,t=1e3){const{wait:n}=ht(t,1e3);let r=null;return function(...t){if(null===r)return r=setTimeout(()=>{r=null},n),e(...t)}}function bt(e){const t={message:e.message,name:e.name,stack:e.stack},n="cause"in e?function(e){if("object"!=typeof e||null===e)return;const t={};return"name"in e&&"string"==typeof e.name&&(t.name=e.name),!("code"in e)||"string"!=typeof e.code&&"number"!=typeof e.code||(t.code=e.code),t}(e.cause):void 0;return n&&(t.cause=n),t}function wt(e,t){let n,r={};return e instanceof Error?(n=e.message,r.error=bt(e)):n=e,void 0!==t&&(t instanceof Error?r.error=bt(t):"object"==typeof t&&null!==t?(r={...r,...t},"error"in r&&r.error instanceof Error&&(r.error=bt(r.error))):r.value=t),{message:n,context:r}}var kt=(e,t,n,r)=>{const o=`${l[e]}${r.length>0?` [${r.join(":")}]`:""}`,s=Object.keys(n).length>0,i=0===e?console.error:1===e?console.warn:console.log;s?i(o,t,n):i(o,t)};function $t(e={}){return jt({level:void 0!==e.level?function(e){return"string"==typeof e?l[e]:e}(e.level):0,handler:e.handler,jsonHandler:e.jsonHandler,scope:[]})}function jt(e){const{level:t,handler:n,jsonHandler:r,scope:o}=e,s=(e,r,s)=>{if(e<=t){const t=wt(r,s);n?n(e,t.message,t.context,o,kt):kt(e,t.message,t.context,o)}};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)=>{throw new Error(wt(e,t).message)},json:e=>{r?r(e):console.log(JSON.stringify(e,null,2))},scope:e=>jt({level:t,handler:n,jsonHandler:r,scope:[...o,e]})}}function xt(e){return re(e)||le(e)||ce(e)||!se(e)||ne(e)&&e.every(xt)||ue(e)&&Object.values(e).every(xt)}function Et(e){return re(e)||le(e)||ce(e)?e:te(e)?Et(Array.from(e)):ne(e)?e.map(e=>Et(e)).filter(e=>void 0!==e):ue(e)?Object.entries(e).reduce((e,[t,n])=>{const r=Et(n);return void 0!==r&&(e[t]=r),e},{}):void 0}function St(e){return xt(e)?e:void 0}function Ot(e,t,n){return function(...r){try{return e(...r)}catch(e){if(!t)return;return t(e)}finally{n?.()}}}function At(e,t,n){return async function(...r){try{return await e(...r)}catch(e){if(!t)return;return await t(e)}finally{await(n?.())}}}function It(e,t){Object.defineProperty(e,"cause",{value:t,writable:!0,configurable:!0})}var _t=class e extends Error{constructor(t,n){super(t),this.name="FatalError",n&&"cause"in n&&It(this,n.cause),Object.setPrototypeOf(this,e.prototype)}},Mt=["transport","timeout","breaker-open","blocked","queue-full","vendor-not-ready","vendor-timeout"];var Nt=class extends Error{code;status;retryable;body;constructor(e,t){super(e),void 0!==t.cause&&It(this,t.cause),this.name="StepError",this.code=t.code,void 0!==t.status&&(this.status=t.status),this.retryable=function(e){if(void 0!==e.retryable)return e.retryable;const{status:t}=e;if(void 0!==t){if(429===t||t>=500&&t<600)return!0;if(t>=400&&t<500)return!1}return Mt.includes(e.code)}(t),void 0!==t.body&&(this.body=t.body),Object.setPrototypeOf(this,new.target.prototype)}};async function Rt(e,t,n){try{return await e()}catch(e){if(e instanceof Nt)throw e;throw new Nt(n,{code:t,cause:e})}}function Pt(e){return e.length>300?e.slice(0,300):e}function Ct(e){if(e instanceof Nt){const t={code:e.code,message:Pt(e.message),retryable:e.retryable};return void 0!==e.status&&(t.status=e.status),t}return{code:"transport",message:Pt(e instanceof Error?e.message:String(e)),retryable:!0}}function Tt(e){const t=e instanceof Error?e.message:"Network error",n=e instanceof Error&&"cause"in e?e.cause:void 0,r="object"==typeof n&&null!==n&&"code"in n&&"string"==typeof n.code?n.code:void 0;return r?`${t} (${r})`:t}var zt=["type","mappingKey"],Kt=["count","suppressed"];function Lt(e,t){const n={step:e.step,code:e.code};void 0!==e.status&&(n.status=e.status);for(const e of zt)"string"==typeof t[e]&&(n[e]=t[e]);for(const e of Kt)"number"==typeof t[e]&&(n[e]=t[e]);"boolean"==typeof t.retryable&&(n.retryable=t.retryable);const r="string"==typeof(o=t.event)?o:ue(o)&&"string"==typeof o.name?o.name:void 0;var o;void 0!==r&&(n.event=r);const s=function(e){if(void 0!==e)return"string"==typeof e?Pt(e):e instanceof Error||ue(e)&&"string"==typeof e.message?Pt(e.message):Pt(String(e))}(t.error);return void 0!==s&&(n.error=s),n}function Dt(e,t){const n=function({step:e,code:t}){const[n,...r]=e.split("."),o=r.join(".");return"dlq-overflow"===t?`status.dropped["${e}"].dlq`:"on-overflow"===t?`status.dropped["${e}"].queue`:"consent-not-applied"!==t&&"store"!==n&&"mapping"!==n?"destination"===n&&o?`status.destinations.${o}.failed`:"invalid"===t?"source"===n&&o?`status.sources.${o}.rejected`:void 0:"status.failed":void 0}(e);return n?`${t} (repeats within a minute are counted in ${n})`:t}function qt(e,t={}){const{windowMs:n=6e4,maxKeys:r=100,now:o=Date.now}=t,s=new Map,i=(t,n,r)=>{"warn"===t?e.warn(n,r):e.error(n,r)};return{report(e,t,a,c="error"){const u=`${e.step}\0${e.code}\0${e.status??""}`,f=Lt(e,a),l=s.get(u),p=o();if(!l)return s.size<r&&s.set(u,{start:p,suppressed:0,message:t,context:f,level:c}),void i(c,Dt(e,t),f);if(p-l.start<n)return void l.suppressed++;const d=l.suppressed;l.start=p,l.suppressed=0,l.message=t,l.context=f,l.level=c,i(c,Dt(e,t),d>0?{...f,suppressed:d}:f)},flush(){for(const e of s.values()){if(0===e.suppressed)continue;const t=e.suppressed;e.suppressed=0,i(e.level,e.message,{...e.context,suppressed:t})}},size:()=>s.size}}function Ft(e,t,n,r,o,s="error"){if(e?.causeLog)return void e.causeLog.report(n,r,o,s);const i=Lt(n,o);"warn"===s?t.warn(r,i):t.error(r,i)}var Ut=["condition","consent","fn","key","loop","map","set","validate","value"];function Wt(e,t,n,r){const o=e.event.name,s=t?.mappingKey?`mapping.${t.mappingKey}`:"mapping";Ft(e.collector,e.logger,{step:s,code:"mapping"},n,{..."string"==typeof o?{event:o}:{},...t?.mappingKey?{mappingKey:t.mappingKey}:{},...void 0!==r?{error:r}:{}})}async function Vt(e,t={},n,r){if(!n.collector)throw new Error("getMappingValue: context.collector is required");const o=n.consent||n.collector.consent,s={event:n.event??{},mapping:t,collector:n.collector,logger:n.collector.logger,consent:o},i=ne(t)?t:[t];for(const t of i){const n=await At(Zt,e=>{if(e instanceof _t)throw e;Wt(s,r,"mapping value failed",e)})(e,t,{...s,mapping:t},r);if(se(n))return n}}async function Zt(e,t,n,r){return(ne(t)?t:[t]).reduce(async(t,o)=>{const s=await t;if(s)return s;const i=le(o)?{key:o}:o;if(!Object.keys(i).length)return;if(!Ut.some(e=>e in i))return void Wt({...n,mapping:o},r,`mapping value has no operator (${Object.keys(i).join(", ")}): wrap the fields in map, or use key, value, fn, loop or set`);const{condition:a,consent:c,fn:u,key:f,loop:l,map:p,set:d,validate:m,value:g}=i,h={...n,mapping:o};if(a&&!await At(a,e=>{if(e instanceof _t)throw e;return Wt(h,r,"mapping condition failed",e),!1})(e,h))return;if(c&&!Xe(c,h.consent))return g;let y=se(g)?g:e;if(l){const[t,n]=l,o="this"===t?[e]:await Vt(e,t,h,r);y=ne(o)?(await Promise.all(o.map(e=>se(e)?Vt(e,n,h,r):void 0))).filter(se):void 0}else p?y=await Object.entries(p).reduce(async(t,[n,o])=>{const s=await t,i=await Vt(e,o,h,r);return se(i)&&(s[n]=i),s},Promise.resolve({})):d?y=await Promise.all(d.map(t=>Zt(e,t,h,r))):f?y=Ve(e,f,g):u&&(y=await At(u,e=>{if(e instanceof _t)throw e;Wt(h,r,"mapping fn failed",e)})(e,h));m&&!await At(m,e=>{if(e instanceof _t)throw e;return Wt(h,r,"mapping validate failed",e),!1})(y,h)&&(y=void 0);const v=St(y);return se(v)?v:St(g)},Promise.resolve(void 0))}function Bt(e){return e instanceof Error?e.message:String(e)}async function Ht(e,t,n){const[r,o]=(e.name||"").split(" ");if(!t||!r||!o)return{};const s=(e,t)=>{if(e instanceof _t)throw e;throw new Nt(`mapping rule condition failed at "${t}": ${Bt(e)}`,{code:"mapping",retryable:!1,cause:e})},i=(t,r)=>{const{condition:o}=t;if(!o)return!0;let i;try{i=o(e,n?{event:e,mapping:t,collector:n,logger:n.logger,consent:ue(e)&&e.consent||n.consent}:void 0)}catch(e){return s(e,r)}return ae(i)?Promise.resolve(i).then(Boolean,e=>s(e,r)):Boolean(i)},a=(e,t,n=0)=>{if(!t)return;const r=ne(t)?t:[t];for(let t=n;t<r.length;t++){const n=r[t],o=i(n,e);if("boolean"!=typeof o)return c(o,n,e,r,t);if(o)return n}},c=async(e,t,n,r,o)=>await e?t:a(n,r,o+1),u=[];for(const e of[[r,o],[r,"*"],["*",o],["*","*"]])u.some(([t,n])=>t===e[0]&&n===e[1])||u.push([e[0],e[1]]);const f=e=>{for(let n=e;n<u.length;n++){const[e,r]=u[n],o=t[e]?.[r];if(!o)continue;const s=`${e} ${r}`,i=a(s,o);if(ae(i))return Promise.resolve(i).then(e=>e?{eventMapping:e,mappingKey:s}:f(n+1));if(i)return{eventMapping:i,mappingKey:s}}return{eventMapping:void 0,mappingKey:""}},l=f(0);return ae(l)?await l:l}async function Jt(e,t={},n){return Gt(e,t,n)}async function Gt(e,t,n,r){if(!se(e))return;const o=ue(e)&&e.consent||n?.consent||n?.collector?.consent,s=n?.event??(ue(e)?e:{});return Vt(e,t,{...n,consent:o,event:s},r)}async function Yt(e,t,n){t.policy&&await Promise.all(Object.entries(t.policy).map(async([t,r])=>{const o=await Jt(e,r,{collector:n,event:e});e=Ze(e,t,o)}));const{eventMapping:r,mappingKey:o}=await Ht(e,t.mapping,n),s=o?{mappingKey:o}:void 0;r?.policy&&await Promise.all(Object.entries(r.policy).map(async([t,r])=>{const o=await Gt(e,r,{collector:n,event:e},s);e=Ze(e,t,o)}));let i=t.data&&await Gt(e,t.data,{collector:n,event:e},s);const a=Boolean(r?.silent);if(r){if(r.ignore)return{event:e,data:i,mapping:r,mappingKey:o,ignore:!0,silent:a};if(r.name&&(e.name=r.name),r.data){const t=r.data&&await Gt(e,r.data,{collector:n,event:e},s);i=ue(i)&&ue(t)?Ue(i,t):t}}const c=r?.include??t.include;if(c&&c.length>0){const t=Ge(e,c);Object.keys(t).length>0&&(i=ue(i)?Ue(t,i):i??t)}if(r?.remove&&ue(i))for(const e of r.remove)i=Be(i,e);return{event:e,data:i,mapping:r,mappingKey:o,ignore:!1,silent:a}}function Xt(e,t){for(const n of Object.keys(t)){const r=t[n];if(void 0===r)continue;if(null===r){delete e[n];continue}const o=e[n];ue(r)&&ue(o)?Xt(o,r):e[n]=r}return e}function Qt(e,t){if(void 0===t.extend&&void 0===t.remove)return We(t);const n={...We(e)};if(t.extend){Xt(n,{...t.extend})}return delete n.extend,t.remove?n.remove=[...t.remove]:delete n.remove,n}function en(e,t){const n=(e,r=[])=>new Proxy(e,{get(e,o){const s=e[o],i=[...r,o];return"function"==typeof s?s.prototype&&s.prototype.constructor===s?s:(...e)=>{const r=t(i,e,s);if(r&&"object"==typeof r)return n(r,i);const o=s(...e);return o&&"object"==typeof o?n(o,i):r}:s&&"object"==typeof s?n(s,i):s}});return n(e)}function tn(e,t){const n=(e,r=[])=>{if(!e||"object"!=typeof e)return e;const o=Array.isArray(e)?[]:{};for(const[s,i]of Object.entries(e)){const e=[...r,s];Array.isArray(o)?o[Number(s)]=t(i,e):o[s]=t(i,e),i&&"object"==typeof i&&"function"!=typeof i&&(Array.isArray(o)?o[Number(s)]=n(i,e):o[s]=n(i,e))}return o};return n(e)}function nn(){const e=[],t=jest.fn(e=>{const t=e instanceof Error?e.message:e;throw new Error(t)}),n=jest.fn(t=>{const n=nn();return e.push(n),n});return{error:jest.fn(),warn:jest.fn(),info:jest.fn(),debug:jest.fn(),throw:t,json:jest.fn(),scope:n,scopedLoggers:e}}function rn(e={}){return{collector:{},config:{},env:{},logger:nn(),id:"test",ingest:I("test"),...e}}function on(e){const t=String(e),n=t.split("?")[1]||t;return Ot(()=>{const e=new URLSearchParams(n),t={};return e.forEach((e,n)=>{const r=n.split(/[[\]]+/).filter(Boolean);let o=t;r.forEach((t,n)=>{const s=n===r.length-1;if(ne(o)){const i=parseInt(t,10);s?o[i]=Ye(e):(o[i]=o[i]||(isNaN(parseInt(r[n+1],10))?{}:[]),o=o[i])}else ue(o)&&(s?o[t]=Ye(e):(o[t]=o[t]||(isNaN(parseInt(r[n+1],10))?{}:[]),o=o[t]))})}),t})()}function sn(e){if(!e)return"";const t=[],n=encodeURIComponent;function r(e,o){null!=o&&(ne(o)?o.forEach((t,n)=>r(`${e}[${n}]`,t)):ue(o)?Object.entries(o).forEach(([t,n])=>r(`${e}[${t}]`,n)):t.push(`${n(e)}=${n(String(o))}`))}return"object"!=typeof e?n(e):(Object.entries(e).forEach(([e,t])=>r(e,t)),t.join("&"))}function an(e){return void 0===e||fe(e,"")?e:JSON.stringify(e)}function cn(e={}){return Ue({"Content-Type":"application/json; charset=utf-8"},e)}function un(e,t){return!1===e||void 0===e?null:!0===e?t:{...t,...e}}function fn(e){return e?e.trim().replace(/^'|'$/g,"").trim():""}var ln=class e extends Error{constructor(t){super(t),this.name="InvalidEventError",Object.setPrototypeOf(this,e.prototype)}},pn=1e4;function dn(e){return"number"==typeof e&&e>0?e:1e4}function mn(e,t,n,r){const o=e;return function(...e){let s;const i="pre"+t,a="post"+t,c=n[i],u=n[a],f=(e,t)=>{r?r.warn(e,{error:t}):console.warn(e,t)};if(c)try{s=c({fn:o},...e)}catch(t){f(`Hook ${String(i)} failed, falling back to original function`,t),s=o(...e)}else s=o(...e);if(u)try{s=u({fn:o,result:s},...e)}catch(e){f(`Hook ${String(a)} failed, keeping original result`,e)}return s}}function gn(e,t){if(t>=1)return!0;if(t<=0)return!1;return function(e){let t=2166136261;for(let n=0;n<e.length;n++)t^=e.charCodeAt(n),t=t+((t<<1)+(t<<4)+(t<<7)+(t<<8)+(t<<24))>>>0;return t>>>0}(e)/4294967295<t}function hn(e,t){const n="function"==typeof t?t:()=>t;return function(t){const r=n();if(!r)return;const o=r.level??"standard";if("off"===o)return;const s=r.sample,i="number"==typeof s&&Number.isFinite(s)?s:1;if(t.eventId&&!gn(t.eventId,i))return;const a=r.includeIn??"trace"===o,c=r.includeOut??"trace"===o,u=r.includeMappingKey??"trace"===o,f={...t};a||delete f.inEvent,c||(delete f.outEvent,delete f.calls),u||delete f.mappingKey,"trace"!==o&&f.error?.message&&f.error.message.length>256&&(f.error={...f.error,message:f.error.message.slice(0,256)+"…"});try{e(f)}catch{}}}function yn(e,t){return gn(e,t)}function vn(e){const t=e.now??(()=>Date.now()),{traceUntil:n}=e;if("string"==typeof n&&n.length>0){const r=Date.parse(n);if(!Number.isNaN(r)&&r>t())return{flowId:e.flowId,level:"trace",includeIn:!0,includeOut:!0,sample:1}}const r=e.observe?.level??"standard";if("off"===r)return null;const o=e.observe?.sample??1;return{flowId:e.flowId,level:r,sample:o}}var bn=/^[A-Za-z0-9_-]+$/;function wn(e){if(!bn.test(e))return null;const t=e.length%4==0?"":"=".repeat(4-e.length%4),n=e.replace(/-/g,"+").replace(/_/g,"/")+t;try{const e=atob(n),t=new Uint8Array(e.length);for(let n=0;n<e.length;n++)t[n]=e.charCodeAt(n);return t}catch{return null}}function kn(e){const t=new Uint8Array(e.length);for(let n=0;n<e.length;n++)t[n]=e.charCodeAt(n);return t}function $n(e){const t=wn(e);if(!t)return null;const n=function(e){let t="";for(let n=0;n<e.length;n++){const r=e[n];if(void 0===r||r>127)return null;t+=String.fromCharCode(r)}return t}(t);if(null===n)return null;try{return JSON.parse(n)}catch{return null}}function jn(e){return"object"==typeof e&&null!==e&&!Array.isArray(e)}function xn(e){if(!e)return null;const t=e.split("."),[n,r,o]=t;if(3!==t.length||!n||!r||!o)return null;const s=$n(n);if(!jn(s))return null;const i=s.kid,a=s.alg;if("string"!=typeof i||"ES256"!==a)return null;const c=$n(r);if(!function(e){if(!jn(e))return!1;const t=e;return"string"==typeof t.iss&&Array.isArray(t.aud)&&t.aud.every(e=>"string"==typeof e)&&"number"==typeof t.iat&&"number"==typeof t.sxp&&"string"==typeof t.art&&bn.test(t.art)&&"string"==typeof t.sri&&"string"==typeof t.pb&&"activate"===t.cap&&"string"==typeof t.jti&&"string"==typeof t.pid&&(void 0===t.ses||"string"==typeof t.ses)&&(void 0===t.sb||"string"==typeof t.sb)}(c))return null;const u=wn(o);return u&&64===u.byteLength?{grant:c,kid:i,signed:kn(`${n}.${r}`),signature:u}:null}var En=9e5,Sn=6e4,On=39e5;async function An(e,t){const n=xn(e);if(!n)return{ok:!1,reason:"malformed"};const{grant:r,kid:o,signed:s,signature:i}=n;if(r.iss!==t.iss)return{ok:!1,reason:"foreign-issuer"};if("activate"!==r.cap)return{ok:!1,reason:"cap-mismatch"};if(1e3*r.iat>t.now+6e4)return{ok:!1,reason:"expired"};if(1e3*r.sxp-1e3*r.iat>On)return{ok:!1,reason:"expired"};const a="url"===t.source?Math.min(1e3*r.iat+En,1e3*r.sxp):1e3*r.sxp;if(t.now>=a)return{ok:!1,reason:"expired"};if(void 0!==t.origin&&!r.aud.includes(t.origin))return{ok:!1,reason:"aud-mismatch"};if(t.acceptForeign){const e=t.demoAllowlist??[];if(1!==r.aud.length||!r.aud.every(t=>e.includes(t)))return{ok:!1,reason:"aud-mismatch"}}if(!(t.acceptForeign||t.pb&&r.pb===t.pb))return{ok:!1,reason:"pb-mismatch"};const c=void 0!==r.ses||void 0!==r.sb;if(t.expectSession){if(r.ses!==t.expectSession.ses)return{ok:!1,reason:"sb-mismatch"};if(!r.sb||r.sb!==t.expectSession.sb)return{ok:!1,reason:"sb-mismatch"}}else if(c)return{ok:!1,reason:"sb-mismatch"};const u=t.keyring.find(e=>e.kid===o);if(!u)return{ok:!1,reason:"kid-mismatch"};const f=t.crypto??("undefined"==typeof crypto?void 0:crypto),l=f?.subtle;if(!l)return{ok:!1,reason:"no-subtle"};const p=function(e){return wn(e)}(u.spki);if(!p)return{ok:!1,reason:"kid-mismatch"};try{const e=await l.importKey("spki",p,{name:"ECDSA",namedCurve:"P-256"},!1,["verify"]);if(!await l.verify({name:"ECDSA",hash:"SHA-256"},e,i,s))return{ok:!1,reason:"bad-signature"}}catch{return{ok:!1,reason:"bad-signature"}}return{ok:!0,grant:r}}var In="elbObserve",_n="elbMoin",Mn={app:"https://app.walkeros.io",base:"https://cdn.walkeros.io/tag-mode/"},Nn={error:5,skip:4,out:3,in:2,init:1,flush:0},Rn="\0none",Pn="\0";function Cn(e,t){return`${e??Rn}${Pn}${t}`}function Tn(e){const t=Date.parse(e);return Number.isNaN(t)?0:t}function zn(e){return""!==e.eventId?e.eventId:function(e){if("object"!=typeof e||null===e)return;if(!("event"in e))return;const t=e.event;if("object"!=typeof t||null===t)return;if(!("id"in t))return;const n=t.id;return"string"==typeof n&&""!==n?n:void 0}(e.outEvent)}function Kn(e,t){let n=t;for(;;){const t=e.get(n);if(void 0===t||t===n)break;n=t}let r=t;for(;r!==n;){const t=e.get(r);if(e.set(r,n),void 0===t)break;r=t}return n}function Ln(e,t,n){const r=Kn(e,t),o=Kn(e,n);r!==o&&(r<o?e.set(o,r):e.set(r,o))}function Dn(e){for(const t of e)if(t.traceId)return t.traceId}function qn(e){switch(e){case"error":return"error";case"skip":return"skipped";case"out":return"done";case"in":case"init":case"flush":return"pending"}}function Fn(e){return"out"===e.terminalPhase||"error"===e.terminalPhase||"skip"===e.terminalPhase||!0===e.batched}function Un(e){return"done"===e.status&&("transformer"!==e.stepType||null!==e.out&&void 0!==e.out)}function Wn(e,t,n,r){const o=n.get(Cn(e.node.platform,t));if(void 0!==o)return o;const s=r.get(t);return void 0!==s&&1===s.length?s[0]:void 0}function Vn(e){const t=new Map,n=new Map;e.nodes.forEach((e,r)=>{const o={node:e,rank:r,key:Cn(e.platform,e.stepId)};t.has(o.key)||t.set(o.key,o);const s=n.get(e.stepId);s?s.push(o):n.set(e.stepId,[o])});const r=new Map,o=new Set;for(const e of t.values()){const s=[];for(const r of e.node.downstream){const i=Wn(e,r,t,n);void 0!==i&&(s.push(i),o.add(i.key))}r.set(e.key,s)}const s=[];for(const e of t.values())o.has(e.key)||s.push(e);return s.sort((e,t)=>e.rank-t.rank),{byKey:t,byStepId:n,edges:r,roots:s}}function Zn(e,t,n){const r=e.byKey.get(Cn(n,t));if(void 0!==r)return r;const o=e.byKey.get(Cn(void 0,t));if(void 0!==o)return o;const s=e.byStepId.get(t);return void 0!==s&&1===s.length?s[0]:void 0}function Bn(e,t,n,r,o,s){return s-n<o?"pending":void 0!==r?function(e,t,n){const r=t=>e.find(e=>e.stepId===t.node.stepId&&(void 0===t.node.platform||e.platform===t.node.platform)),o=n.roots.filter(e=>void 0===e.node.platform||t.includes(e.node.platform));if(0===o.length)return e.every(Fn)?"complete":"partial";const s=new Map,i=o;for(;i.length>0;){const e=i.shift();if(void 0===e)break;if(s.has(e.key))continue;s.set(e.key,e);const t=r(e);if(void 0!==t&&Un(t)){const t=n.edges.get(e.key);if(void 0!==t)for(const e of t)s.has(e.key)||i.push(e)}}for(const e of s.values()){const t=r(e);if(void 0===t||!Fn(t))return"partial"}return"complete"}(e,t,r):e.every(Fn)?"complete":"partial"}function Hn(e){let t=e[0];for(const n of e)n.elapsedMs<t.elapsedMs&&(t=n);const n=[],r=new Map;let o=!1;for(const t of e)if("flush"!==t.phase){if(void 0!==t.branchId){const e=r.get(t.branchId);e?e.push(t):r.set(t.branchId,[t]);continue}n.push(t)}else o=!0;const s=[...r.values()].flat(),i=n.length>0?n:s.length>0?s:e;let a,c,u,f,l,p,d,m,g,h,y=i[0],v=i[0];for(const e of i)e.elapsedMs<y.elapsedMs&&(y=e),Nn[e.phase]>Nn[v.phase]&&(v=e),"out"===e.phase&&(a=e),void 0!==e.inEvent&&void 0===c&&(c=e.inEvent),void 0!==e.outEvent&&(u=e.outEvent),void 0!==e.mappingKey&&(f=e.mappingKey),void 0!==e.contractRule&&(l=e.contractRule),void 0!==e.consent&&(p=e.consent),void 0!==e.consentApplied&&(d=e.consentApplied),void 0!==e.meta&&(m=e.meta),void 0!==e.parentEventId&&void 0===g&&(g=e.parentEventId),void 0!==e.release&&(h=e.release);const b=v.phase,w=a?.durationMs,k="error"===b?v.error:void 0,$="skip"===b?v.skipReason:void 0,j=a?.calls,x="out"===v.phase&&void 0!==v.batch||void 0,E=!(!o||!0!==x)||void 0,S=r.size>0?[...r.entries()].sort(([e],[t])=>e<t?-1:e>t?1:0).map(([e,t])=>function(e,t){let n,r,o=t[0];for(const e of t)Nn[e.phase]>Nn[o.phase]&&(o=e),"out"===e.phase&&(n=e),void 0!==e.outEvent&&(r=e.outEvent);const s=o.phase,i=n?.durationMs,a="skip"===s?o.skipReason:void 0,c="error"===s?o.error:void 0,u=n?.calls;return{branchId:e,status:qn(s),terminalPhase:s,...void 0!==i?{durationMs:i}:{},...void 0!==a?{skipReason:a}:{},...void 0!==c?{error:c}:{},...void 0!==r?{out:r}:{},...void 0!==u?{calls:u}:{}}}(e,t)):void 0;return{stepId:y.stepId,stepType:y.stepType,eventId:y.eventId,status:qn(b),terminalPhase:b,startedAtMs:t.elapsedMs,timestamp:t.timestamp,...void 0!==y.platform?{platform:y.platform}:{},...void 0!==g?{parentEventId:g}:{},...void 0!==w?{durationMs:w}:{},...void 0!==c?{in:c}:{},...void 0!==u?{out:u}:{},...void 0!==k?{error:k}:{},...void 0!==$?{skipReason:$}:{},...void 0!==f?{mappingKey:f}:{},...void 0!==l?{contractRule:l}:{},...void 0!==p?{consent:p}:{},...void 0!==d?{consentApplied:d}:{},...void 0!==j?{calls:j}:{},...void 0!==S?{branches:S}:{},...void 0!==x?{batched:x}:{},...void 0!==E?{flushConfirmed:E}:{},...void 0!==h?{release:h}:{},...void 0!==m?{meta:m}:{}}}function Jn(e,t){const n=e.map(e=>({hop:e,rank:void 0!==t?Zn(t,e.stepId,e.platform)?.rank??Number.MAX_SAFE_INTEGER:0}));return n.sort((e,t)=>e.rank!==t.rank?e.rank-t.rank:e.hop.startedAtMs!==t.hop.startedAtMs?e.hop.startedAtMs-t.hop.startedAtMs:e.hop.stepId<t.hop.stepId?-1:e.hop.stepId>t.hop.stepId?1:0),n.map(e=>e.hop)}function Gn(e){const t=e.filter(e=>"collector"===e.stepType&&"in"===e.phase),n=t.length>0?t:e;let r=n[0],o=Tn(r.timestamp);for(const e of n){const t=Tn(e.timestamp);t<o&&(o=t,r=e)}const s=function(e){if("object"==typeof e&&null!==e&&"name"in e&&"string"==typeof e.name)return e.name}(r.inEvent);return{eventId:r.eventId,timestamp:r.timestamp,...void 0!==s?{name:s}:{},...void 0!==r.sourceId?{sourceId:r.sourceId}:{},...void 0!==r.platform?{platform:r.platform}:{}}}function Yn(e,t,n,r,o){const{topo:s}=o,i=new Map;for(const e of n){const t=Cn(e.platform,e.stepId),n=i.get(t);n?n.push(e):i.set(t,[e])}const a=[...i.values()].map(Hn),c=new Map;for(const e of a){const t=e.platform??Rn;let n=c.get(t);n||(n={...void 0!==e.platform?{platform:e.platform}:{},hops:[],ownedEventIds:new Set,parentEventIds:new Set,minEpoch:Number.POSITIVE_INFINITY},c.set(t,n)),n.hops.push(e),n.ownedEventIds.add(e.eventId),void 0!==e.parentEventId&&n.parentEventIds.add(e.parentEventId),n.minEpoch=Math.min(n.minEpoch,Tn(e.timestamp))}const u=function(e){const t=new Map,n=e.map((e,t)=>t).sort((t,n)=>{const r=e[t].platform??Rn,o=e[n].platform??Rn;return r<o?-1:r>o?1:0});e.forEach((r,o)=>{if(0!==r.parentEventIds.size)for(const s of n){if(s===o)continue;let n=!1;for(const t of e[s].ownedEventIds)if(r.parentEventIds.has(t)){n=!0;break}if(n){t.set(o,s);break}}});const r=e=>{let n=0,r=e;const o=new Set;for(;!o.has(r);){o.add(r);const e=t.get(r);if(void 0===e)break;r=e,n+=1}return n};return e.map((e,t)=>({seg:e,i:t,depth:r(t)})).sort((e,t)=>{if(e.depth!==t.depth)return e.depth-t.depth;if(e.seg.minEpoch!==t.seg.minEpoch)return e.seg.minEpoch-t.seg.minEpoch;const n=e.seg.platform??Rn,r=t.seg.platform??Rn;return n<r?-1:n>r?1:0}).map(e=>e.seg)}([...c.values()]),f=[],l=[];for(const e of u){void 0===e.platform||l.includes(e.platform)||l.push(e.platform);for(const t of Jn(e.hops,s))f.push(t)}let p=Number.POSITIVE_INFINITY,d=Number.NEGATIVE_INFINITY;for(const e of n){const t=Tn(e.timestamp);t<p&&(p=t),t>d&&(d=t)}const m=Bn(f,l,d,s,o.settleMs,o.now),g=function(e,t,n,r){for(const o of r)if((void 0===o.platform||e.includes(o.platform))&&t<=o.toMs&&o.fromMs<=n)return!0;return!1}(l,p,d,o.gaps);return{id:e,correlation:"event",...void 0!==t?{traceId:t}:{},entry:Gn(r),hops:f,platforms:l,status:m,lossy:g,firstTimestamp:p,lastTimestamp:d,totalMs:d-p}}function Xn(e,t){const n={...void 0!==t?.topology?{topo:Vn(t.topology)}:{},settleMs:t?.settleMs??15e3,now:t?.now??Date.now(),gaps:[]},r=function(e){const t=new Set,n=[];for(const r of e){const e=void 0!==r.seq&&r.traceId?`seq${Pn}${r.platform??""}${Pn}${r.traceId}${Pn}${r.seq}`:void 0!==r.seq?`seqt${Pn}${r.platform??""}${Pn}${r.stepId}${Pn}${r.phase}${Pn}${r.eventId}${Pn}${r.branchId??""}${Pn}${r.elapsedMs}${Pn}${r.timestamp}${Pn}${r.seq}`:`tuple${Pn}${r.platform??""}${Pn}${r.stepId}${Pn}${r.phase}${Pn}${r.eventId}${Pn}${r.branchId??""}${Pn}${r.elapsedMs}`;t.has(e)||(t.add(e),n.push(r))}return n}(e);n.gaps=function(e){const t=new Map;for(const n of e){if(void 0===n.seq)continue;const e=n.platform??Rn,r=t.get(e);r?r.push(n):t.set(e,[n])}const n=[];for(const e of[...t.keys()].sort()){const r=t.get(e);if(void 0===r)continue;const o=[...r].sort((e,t)=>{const n=Tn(e.timestamp),r=Tn(t.timestamp);return n!==r?n-r:(e.seq??0)-(t.seq??0)});let s,i=0;for(const e of o){const t=e.seq;if(void 0!==t)if(void 0!==s){if(t!==i)if(t!==i+1){if(t>i+1){const r=e.platform;n.push({...void 0!==r?{platform:r}:{},fromMs:Tn(s.timestamp),toMs:Tn(e.timestamp),afterSeq:i,beforeSeq:t})}s=e,i=t}else s=e,i=t}else s=e,i=t}}return n}(r);const o=[],s=[];for(const e of r){const t=zn(e);void 0!==t?o.push({record:t===e.eventId?e:{...e,eventId:t},eventId:t}):s.push(e)}o.sort((e,t)=>function(e,t){const n=e.platform??"",r=t.platform??"";if(n!==r)return n<r?-1:1;if(e.stepId!==t.stepId)return e.stepId<t.stepId?-1:1;if(e.phase!==t.phase)return Nn[e.phase]-Nn[t.phase];if(e.eventId!==t.eventId)return e.eventId<t.eventId?-1:1;const o=e.branchId??"",s=t.branchId??"";if(o!==s)return o<s?-1:1;if(e.elapsedMs!==t.elapsedMs)return e.elapsedMs-t.elapsedMs;const i=e.seq??-1,a=t.seq??-1;return i!==a?i-a:e.timestamp!==t.timestamp?e.timestamp<t.timestamp?-1:1:0}(e.record,t.record));const i=new Set(o.map(e=>e.eventId)),a=new Map,c=new Map;for(const{record:e,eventId:t}of o){const n=e.parentEventId;if(void 0===n||n===t||!i.has(n))continue;const r=a.get(t);r?r.add(n):a.set(t,new Set([n]));const o=c.get(n);o?o.add(t):c.set(n,new Set([t]))}const u=new Map;for(const[e,t]of c)if(1===t.size)for(const n of t)Ln(u,n,e);const f=new Map;for(const e of o){const t=Kn(u,e.eventId);let n=f.get(t);n||(n={entries:[],eventIds:new Set},f.set(t,n)),n.entries.push(e),n.eventIds.add(e.eventId)}const l=[...f.values()].map(e=>{const t=function(e,t){const n=[...e].sort();for(const r of n){const n=t.get(r);if(void 0===n)return r;let o=!1;for(const t of n)if(e.has(t)){o=!0;break}if(!o)return r}return n[0]}(e.eventIds,a),r=e.entries.map(e=>e.record),o=e.entries.filter(e=>e.eventId===t).map(e=>e.record),s=Dn(o)??Dn(r);return Yn(t,s,r,o,n)});l.sort((e,t)=>e.firstTimestamp!==t.firstTimestamp?e.firstTimestamp-t.firstTimestamp:e.id<t.id?-1:e.id>t.id?1:0);const p=function(e){const t=new Map;for(const n of e){if(!n.traceId)continue;const e=n.platform??Rn,r=Tn(n.timestamp);let o=t.get(e);void 0===o&&(o={...void 0!==n.platform?{platform:n.platform}:{},count:0,fromMs:r,toMs:r,stepIds:new Set},t.set(e,o)),o.count+=1,r<o.fromMs&&(o.fromMs=r),r>o.toMs&&(o.toMs=r),o.stepIds.add(n.stepId)}return[...t.entries()].sort(([e],[t])=>e<t?-1:e>t?1:0).map(([,e])=>({...void 0!==e.platform?{platform:e.platform}:{},count:e.count,fromMs:e.fromMs,toMs:e.toMs,stepIds:[...e.stepIds].sort()}))}(s);return{journeys:l,gaps:n.gaps,...p.length>0?{unattributed:p}:{}}}var Qn=null;function er(){return Qn}function tr(e){Qn=e}function nr(e,t){if(0===e.observers.size)return;const n=Array.from(e.observers);for(const e of n)try{e(t)}catch{}}function rr(e){const t=e.batchMs,n="number"==typeof t&&Number.isFinite(t)&&t>0?Math.floor(t):50,r=e.batchSize,o="number"==typeof r&&Number.isFinite(r)&&r>=1?Math.floor(r):50,s=e.maxBodyBytes,i="number"==typeof s&&Number.isFinite(s)&&s>=1?Math.floor(s):6e4,a=e.fetch??((e,t)=>fetch(e,t)),c=e.onError??(()=>{}),u={};for(const[t,n]of Object.entries(e.headers??{})){const e=t.toLowerCase();"authorization"!==e&&"content-type"!==e&&(u[t]=n)}let f=[],l=null,p=0;function d(e){const t={v:1,records:e},n=JSON.stringify(t);if(e.length<=1)return[n];if(function(e){let t=0;for(let n=0;n<e.length;n++){const r=e.charCodeAt(n);if(r<128)t+=1;else if(r<2048)t+=2;else if(r>=55296&&r<=56319&&n+1<e.length){const r=e.charCodeAt(n+1);r>=56320&&r<=57343?(t+=4,n++):t+=3}else t+=3}return t}(n)<=i)return[n];const r=Math.floor(e.length/2);return[...d(e.slice(0,r)),...d(e.slice(r))]}function m(t){return Promise.resolve().then(()=>a(e.url,{method:"POST",headers:{...u,"Content-Type":"application/json",Authorization:`Bearer ${e.token}`},body:t})).then(t=>{t&&"object"==typeof t&&"number"==typeof t.status&&e.onStatus?.(t.status),t&&"object"==typeof t&&"ok"in t&&!t.ok&&c(new Error(`Observer responded ${t.status}`))}).catch(e=>{c(e)})}function g(){if(0===f.length)return;const e=f;f=[],l&&(clearTimeout(l),l=null);const t=d(e);(async()=>{for(const e of t)await m(e)})()}return e=>{f.push({...e,seq:++p}),f.length>=o?g():null===l&&(l=setTimeout(g,n))}}function or(e){return e?{userAgent:e,browser:sr(e),browserVersion:ir(e),os:ar(e),osVersion:cr(e),deviceType:ur(e)}:{}}function sr(e){const t=[{name:"Edge",substr:"Edg"},{name:"Chrome",substr:"Chrome"},{name:"Safari",substr:"Safari",exclude:"Chrome"},{name:"Firefox",substr:"Firefox"},{name:"IE",substr:"MSIE"},{name:"IE",substr:"Trident"}];for(const n of t)if(e.includes(n.substr)&&(!n.exclude||!e.includes(n.exclude)))return n.name}function ir(e){const t=[/Edg\/([0-9]+)/,/Chrome\/([0-9]+)/,/Version\/([0-9]+).*Safari/,/Firefox\/([0-9]+)/,/MSIE ([0-9]+)/,/rv:([0-9]+).*Trident/];for(const n of t){const t=e.match(n);if(t)return t[1]}}function ar(e){const t=[{name:"Windows",substr:"Windows NT"},{name:"macOS",substr:"Mac OS X"},{name:"Android",substr:"Android"},{name:"iOS",substr:"iPhone OS"},{name:"Linux",substr:"Linux"}];for(const n of t)if(e.includes(n.substr))return n.name}function cr(e){const t=e.match(/(?:Windows NT|Mac OS X|Android|iPhone OS) ([0-9._]+)/);return t?t[1].replace(/_/g,"."):void 0}function ur(e){let t="Desktop";return/Tablet|iPad/i.test(e)?t="Tablet":/Mobi|Android|iPhone|iPod|BlackBerry|Opera Mini|IEMobile|WPDesktop/i.test(e)&&(t="Mobile"),t}var fr=["elb","elbLayer","window","document","location","self","top","parent","frames","globalThis","__proto__","constructor","prototype"],lr=/^[A-Za-z_$][A-Za-z0-9_$]*$/;function pr(e){return"string"!=typeof e?{ok:!1,reason:"is not a string"}:lr.test(e)?fr.includes(e)?{ok:!1,reason:`is reserved (${fr.join(", ")})`}:{ok:!0,name:e}:{ok:!1,reason:"is not a JavaScript identifier (letters, digits, _ or $, not starting with a digit)"}}function dr(e){return function(e){return/\breturn\b/.test(e)}(e)?e:`return ${e}`}function mr(e){const t=dr(e);return new Function("value","context",t)}function gr(e){const t=dr(e);return new Function("value","context",t)}function hr(e){const t=dr(e);return new Function("value","context",t)}function yr(){let e=0,t=0;return{start(){e=Date.now(),t=0},end:()=>(t=Date.now(),t-e),getElapsed:()=>(t||Date.now())-e,format(){return(this.getElapsed()/1e3).toFixed(2)+"s"}}}function vr(e){return ue(e)&&Object.values(e).every(e=>"string"==typeof e)}function br(e){if(!ue(e))return{};const t=t=>"string"==typeof e[t]?{[t]:e[t]}:{},n=function(e){return"string"==typeof e?[e]:Array.isArray(e)&&e.every(e=>"string"==typeof e)?e:void 0}(e.platform);return{...t("package"),...t("version"),...t("type"),...n&&{platform:n},...t("renderer"),...vr(e.exports)&&{exports:e.exports},...t("docs"),...t("source")}}async function wr(e,t){const n=t?.version||"latest",r=t?.timeout||1e4,o=new AbortController,s=setTimeout(()=>o.abort(),r),i=o.signal,a=t?.client?{"X-Walkeros-Client":t.client}:void 0;try{if(t?.baseUrl){const r=`${t.baseUrl}/api/packages/${encodeURIComponent(e)}?version=${encodeURIComponent(n)}&expand=all`,o=await fetch(r,{signal:i,...a&&{headers:a}});if(!o.ok)throw new Error(`Failed to fetch ${r} (HTTP ${o.status})`);return function(e,t,n){const r=n.schemas||{},o=n.examples||{},s=n.hints,i=n.hintKeys??(s?Object.keys(s):[]),a=n.exampleSummaries??[],c=n.platform,u=n.exportExamples,f=n.exportSchemas,l=n.exports;return{packageName:n.package||e,version:"string"==typeof n.version?n.version:t,...void 0!==n.description&&{description:n.description},...void 0!==n.type&&{type:n.type},...void 0!==c&&{platform:c},schemas:r,examples:o,...void 0!==n.docs&&{docs:n.docs},...void 0!==n.source&&{source:n.source},...s&&Object.keys(s).length>0?{hints:s}:{},hintKeys:i,exampleSummaries:a,...kr(u)?{exportExamples:u}:{},...$r(f)?{exportSchemas:f}:{},...vr(l)?{exports:l}:{}}}(e,n,await o.json())}const r=`https://cdn.jsdelivr.net/npm/${e}@${n}`,o=await jr(`${r}/package.json`,i,a);return function(e,t,n,r){return{packageName:e,version:"string"==typeof n.version?n.version:t,description:"string"==typeof n.description?n.description:void 0,...xr(r)}}(e,n,o,await jr(`${r}/dist/walkerOS.json`,i,a))}finally{clearTimeout(s)}}function kr(e){return null!==e&&"object"==typeof e&&!Array.isArray(e)}function $r(e){return kr(e)&&Object.values(e).every(kr)}async function jr(e,t,n){const r=await fetch(e,{signal:t,...n&&{headers:n}});if(!r.ok)throw new Error(`Failed to fetch ${e} (HTTP ${r.status})`);return await r.json()}function xr(e){const t=br(e.$meta),n=e.schemas||{},r=e.examples||{},o=e.hints,s=o?Object.keys(o):[],i=e.exportExamples,a=e.exportSchemas,{docs:c,source:u,exports:f}=t,l=[],p=r.step||{};for(const[e,t]of Object.entries(p)){const n=t,r={name:e};"string"==typeof n?.description&&(r.description=n.description),l.push(r)}return{type:t.type,platform:t.platform,schemas:n,examples:r,...c?{docs:c}:{},...u?{source:u}:{},...o&&Object.keys(o).length>0?{hints:o}:{},hintKeys:s,exampleSummaries:l,...kr(i)?{exportExamples:i}:{},...$r(a)?{exportSchemas:a}:{},...f?{exports:f}:{}}}async function Er(e,t){const n=await wr(e,t);return{packageName:n.packageName,version:n.version,type:n.type,platform:n.platform,schemas:n.schemas,examples:n.examples,...n.hints?{hints:n.hints}:{}}}var Sr="observe";function Or(e){if("object"!=typeof e||null===e)return!1;if(!("paths"in e)||!("record"in e))return!1;const{paths:t,record:n}=e;return Array.isArray(t)&&t.every(e=>"string"==typeof e)&&"function"==typeof n}var Ar="call:";function Ir(e){const t=(e.startsWith(Ar)?e.slice(5):e).split(".");return t.some(e=>""===e)?[]:t}function _r(e){return"function"==typeof e}function Mr(e){return"object"==typeof e&&null!==e}var Nr=["name","length","prototype","arguments","caller"];function Rr(e,t){if(-1!==Nr.indexOf(t))return!1;let n=e;for(;_r(n);){if(Object.prototype.hasOwnProperty.call(n,t))return!0;const e=Object.getPrototypeOf(n);if(!_r(e)||!_r(Object.getPrototypeOf(e)))return!1;n=e}return!1}function Pr(e,t){const n=Reflect.getOwnPropertyDescriptor(e,t);return!(n&&!n.configurable)||"value"in n&&!0===n.writable}function Cr(e,t){let n=e;for(const e of t){if(_r(n)){if(!Rr(n,e))return!0;if(!Pr(n,e))return!1}else if(ae(n)){if(!(e in n))return!0}else if(!Mr(n)||!(e in n))return!1;n=Reflect.get(n,e)}return _r(n)}function Tr(e,t,n){const r=[],o=[],s=[];for(const n of t){const t=Ir(n);if(0===t.length)continue;const r=t.join(".");s.push({rest:t,fn:r}),Cr(e,t)||o.push(r)}const i=new WeakMap,a=new WeakSet;function c(e,t){for(const o of e)if(n)try{n(o,t)}catch{}else r.push({fn:o,args:t,ts:Date.now()})}function u(e,t){return 0===t.length||f(e)?e:ae(e)&&!t.some(t=>t.rest[0]in e)?Promise.resolve(e).then(e=>u(e,t)):_r(e)?h(e,[],t):Mr(e)?p(e,t):e}function f(e){return(Mr(e)||_r(e))&&a.has(e)}function l(e,t){const n=[],r=[];for(const o of e)o.rest[0]===t&&(1===o.rest.length?n.includes(o.fn)||n.push(o.fn):r.push({rest:o.rest.slice(1),fn:o.fn}));return{leafs:n,deeper:r}}function p(e,t){const n=function(e){return e.map(e=>`${e.fn}:${e.rest.join(".")}`).join("|")}(t),r=i.get(e)??new Map;i.set(e,r);const o=r.get(n);if(o)return o;const s=d(e,t);return r.set(n,s),s}function d(e,t){if(_r(e))return m(e,t);return t.some(t=>!Pr(e,t.rest[0]))?function(e,t){const n=Object.create(Object.getPrototypeOf(e)),r=g(e,t,()=>o),o=new Proxy(n,{get:(e,t)=>r.get(t),set:(t,n,r)=>Reflect.set(e,n,r,e),has:(t,n)=>Reflect.has(e,n),ownKeys:()=>Reflect.ownKeys(e),getOwnPropertyDescriptor(t,n){const r=Reflect.getOwnPropertyDescriptor(e,n);return r&&{...r,configurable:!0}},defineProperty:(t,n,r)=>Reflect.defineProperty(e,n,r),deleteProperty:(t,n)=>Reflect.deleteProperty(e,n)});return a.add(o),o}(e,t):m(e,t)}function m(e,t){const n=g(e,t,()=>r),r=new Proxy(e,{get:(e,t)=>"string"!=typeof t||Pr(e,t)?n.get(t):Reflect.get(e,t,e),set:(e,t,n)=>Reflect.set(e,t,n,e)});return a.add(r),r}function g(e,t,n){const r=new Map;return{get(o){const s=Reflect.get(e,o,e);if("string"!=typeof o)return s;if(!_r(s)&&!Mr(s))return s;if(f(s))return s;const i=r.get(o);if(i&&i.value===s)return i.out;const{leafs:a,deeper:c}=l(t,o);if(!(a.length>0||c.length>0)&&(!_r(s)||function(e){if(Array.isArray(e))return!0;const t=Object.getPrototypeOf(e);return t===Object.prototype||null===t}(e)))return s;let u=s;return _r(s)?u=h(s,a,c,{proxy:n(),target:e}):c.length>0&&(u=p(s,c)),r.set(o,{value:s,out:u}),u}}}function h(e,t,n,r){const o=()=>n.filter(t=>!Rr(e,t.rest[0])),s=new Map,i=new Proxy(e,{get(e,t){const r=Reflect.get(e,t,e);if("string"!=typeof t||!Pr(e,t))return r;if(!Rr(e,t))return r;const{leafs:o,deeper:a}=l(n,t);if(0===o.length&&0===a.length)return r;if(f(r))return r;const c=s.get(t);if(c&&c.value===r)return c.out;let u=r;return _r(r)?u=h(r,o,a,{proxy:i,target:e}):Mr(r)&&a.length>0&&(u=p(r,a)),s.set(t,{value:r,out:u}),u},set:(e,t,n)=>Reflect.set(e,t,n,e),apply(e,n,s){c(t,s);const i=!r||n!==r.proxy&&void 0!==n?n:r.target;return u(Reflect.apply(e,i,s),o())},construct(e,n,r){c(t,n);const s=Reflect.construct(e,n,r===i?e:r),a=u(s,o());return Mr(a)||_r(a)?a:s}});return a.add(i),i}return{env:d(e,s),calls:r,unresolved:o}}var zr="obsw_";function Kr(e){if(!e.startsWith(zr))return null;const t=e.slice(5).split("."),[n,r,o]=t;return 3===t.length&&n&&r&&o?{pb:n,ses:r,secret:o}:null}function Lr(e){const t=e.WALKEROS_OBSERVER_URL,n=e.WALKEROS_DEPLOYMENT_ID,r=e.WALKEROS_INGEST_TOKEN;if(!t||!n||!r)return;const o={url:t,sessionId:n,token:r},s=e.WALKEROS_OBSERVE_LEVEL;if(void 0!==s){if("off"!==(i=s)&&"standard"!==i&&"trace"!==i)return;o.level=s}var i;return o}function Dr(e,t){const n=function(e){return ue(e)?e:ne(e)?{items:e}:{value:e??null}}(e),r=t?{...n,_hints:t}:n;return{content:[{type:"text",text:JSON.stringify(r,null,2)}],structuredContent:r}}function qr(e,t){let n,r,o,s;if(e instanceof Error){n=e.message;const t=e;t.code&&(o=t.code),Array.isArray(t.details)&&(s=t.details)}else if("string"==typeof e)n=e;else if(e&&"object"==typeof e&&"issues"in e&&Array.isArray(e.issues)){const t=e.issues;n=t.map(e=>e.message).join("; "),r=t[0]?.path?.join(".")||void 0}else n=e&&"object"==typeof e&&"message"in e?String(e.message):"Unknown error";const i={error:n};return t&&(i.hint=t),r&&(i.path=r),o&&(i.code=o),s&&(i.details=s),{content:[{type:"text",text:JSON.stringify(i)}],structuredContent:i,isError:!0}}function Fr(e){let t=!1;return(n={})=>{t||(t=!0,e(n))}}function Ur(e){const t=Object.create(null);if(!e||"object"!=typeof e||ne(e))return t;return"function"==typeof e.forEach?(e.forEach((e,n)=>{t[n.toLowerCase()]=e}),t):(Object.entries(e).forEach(([e,n])=>{void 0!==n&&(t[e.toLowerCase()]=ne(n)?n.join(", "):String(n))}),t)}function Wr(e){const t=Object.create(null);if(!e)return t;return new URLSearchParams(e.startsWith("?")?e.slice(1):e).forEach((e,n)=>{t[n]=n in t?`${t[n]},${e}`:e}),t}function Vr(e,t){if("string"!=typeof e)return e;let n=e;if(t)try{const t=atob(e),r=new Uint8Array(t.length);for(let e=0;e<t.length;e++)r[e]=t.charCodeAt(e);n=decodeURIComponent(Array.from(r,e=>`%${e.toString(16).padStart(2,"0")}`).join(""))}catch{return e}try{return JSON.parse(n)}catch{return n===e?e:n}}function Zr(e){return ue(e)&&"string"==typeof e.method&&ue(e.headers)}function Br(e,t){const n=Ur(e.headers),r=e.originalUrl||e.url||"",o=r.indexOf("?"),s=-1===o?"":r.slice(o),i=e.path||(-1===o?r:r.slice(0,o)),a=("function"==typeof e.get?e.get("host"):void 0)||n.host,c=e.protocol||n["x-forwarded-proto"]||t.defaultProtocol,u={method:(e.method||"").toUpperCase(),url:a?`${c}://${a}${r}`:"",path:i,query:Wr(s),headers:n,body:t.body,raw:e};return e.ip&&(u.ip=e.ip),u}function Hr(e){return ne(e)?e:ue(e)?ne(e.batch)?e.batch:[e]:[{}]}function Jr(e){return!!ne(e)||ue(e)&&ne(e.batch)}var Gr="Event was not processed",Yr="Internal server error";function Xr(e){const t=e.flatMap((e,t)=>e.error?[{index:t,error:e.error}]:[]);return t.length?{status:207,body:{success:!1,processed:e.length-t.length,failed:t.length,errors:t}}:{status:200,body:{success:!0,processed:e.length,ids:e.map(e=>e.id??null)}}}function Qr(e){const t=eo(e);return"reject"===t?{error:e.error??"Invalid event",status:400}:"retry"===t?{error:Gr,status:500}:{id:e.event?.id}}function eo(e){if(!0===e.invalid)return"reject";if(e.ok)return"ack";const t=[];for(const n of Object.values(e.failed??{})){const e=n.reason;t.push(!e||!("retryable"in e)||e.retryable)}return e.reason&&t.push(e.reason.retryable),0===t.length||t.some(Boolean)?"retry":"ack"}function to(e){if(void 0===e||"*"===e)return()=>!0;if("and"in e){const t=e.and.map(to);return e=>t.every(t=>t(e))}if("or"in e){const t=e.or.map(to);return e=>t.some(t=>t(e))}return function(e){const{key:t,operator:n,value:r,not:o}=e,s=function(e,t){switch(e){case"eq":return e=>String(e??"")===t;case"contains":return e=>String(e??"").includes(t);case"prefix":return e=>String(e??"").startsWith(t);case"suffix":return e=>String(e??"").endsWith(t);case"regex":{const e=new RegExp(t);return t=>e.test(String(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,r);return e=>{const n=Ve(e,t),r=s(n);return o?!r:r}}(e)}function no(e){return"object"==typeof e&&null!==e&&!Array.isArray(e)&&("match"in e||"next"in e||"one"in e||"many"in e||"stop"in e)}function ro(e){return Array.isArray(e)&&e.length>0&&e.every(e=>no(e))}function oo(e){return"object"==typeof e&&!Array.isArray(e)&&"type"in e&&"continuation"===e.type}var so=()=>!0;function io(e,t){return{kind:t?"sequence":"next",path:e}}function ao(e,t){return t?{...e,outer:t}:e}function co(e,t,n,r){return ao(n?{kind:e,path:t,match:n}:{kind:e,path:t,catchAll:!0},r)}function uo(e,t,n,r){return 0===e.length?{type:"chain",value:[],label:ao({kind:n,path:t},r)}:{type:n,routes:fo(e,t,n,r)}}function fo(e,t,n,r){return e.map((e,o)=>{const s=[...t,o];if("string"==typeof e||Array.isArray(e)){const t=co(n,s,void 0,r);return{match:so,next:po(e,s,t)??{type:"chain",value:[],label:t}}}const i=co(n,s,e.match,r);return{match:e.match?to(e.match):so,source:e.match,next:lo(e,s,i,!1,!0)??{type:"chain",value:[],label:i}}})}function lo(e,t,n,r,o){const s=o?void 0:e.match,i=s?ao({kind:"next",path:t,match:s},n):n??io(t,r),a=s?i:n;let c;return!0===e.stop?c={type:"stop",label:i}:void 0!==e.one?c=uo(e.one,[...t,"one"],"one",a):void 0!==e.many?c=uo(e.many,[...t,"many"],"many",a):void 0!==e.next&&(c=po(e.next,[...t,"next"],a)),s?{type:"gate",match:to(s),source:s,next:c??{type:"chain",value:[],label:i}}:void 0===c&&e.match?{type:"chain",value:[],label:i}:c}function po(e,t=[],n,r=!1){if(null!=e){if("string"==typeof e)return{type:"static",value:e,label:n??io(t,r)};if(Array.isArray(e)){if(0===e.length)return;if(ro(e))return{type:"one",routes:fo(e,t,"one",n)};const o=[];for(const t of e)"string"==typeof t&&o.push(t);if(o.length===e.length)return{type:"chain",value:o,label:n??io(t,r)};const s=[];if(e.forEach((e,r)=>{const o=po(e,[...t,r],n,!0);void 0!==o&&s.push(o)}),0===s.length)return;return{type:"sequence",value:s}}return lo(e,t,n,r,!1)}}var mo=new WeakMap;function go(e,t,n){return n?{type:"continuation",segments:e,at:t,tail:n}:{type:"continuation",segments:e,at:t}}function ho(e){if(null==e)return;if(oo(e))return e;const t=function(e){if(null==e)return;if("object"!=typeof e)return po(e);const t=mo.get(e);if(t)return t;const n=po(e);return n&&mo.set(e,n),n}(e);return t?go([t],0,void 0):void 0}function yo(e,t,n){const r=[];let o=e;for(;o;){if(o.at>=o.segments.length){o=o.tail;continue}const e=o.segments[o.at],s=go(o.segments,o.at+1,o.tail);if("static"===e.type){r.push(e.value),n&&n(e),o=s;continue}if("chain"===e.type){r.push(...e.value),n&&n(e),o=s;continue}if("sequence"===e.type){o=go(e.value,0,s);continue}if(r.length>0)return{ids:r,then:o};if("stop"===e.type)return n&&n(e),{ids:[],stop:!0};if("gate"===e.type){o=t.gate(e)?go([e.next],0,s):s;continue}if("one"===e.type){const n=e.routes.length>0?t.one(e.routes):-1;o=n>=0?go([e.routes[n].next],0,s):s;continue}const i=e.routes.length>0?t.many(e.routes):[];if(0!==i.length){if(1!==i.length)return{ids:[],forks:i.map(t=>go([e.routes[t].next],0,s))};o=go([e.routes[i[0]].next],0,s)}else o=s}return{ids:r}}function vo(e,t){return yo(ho(e),function(e){return{gate:t=>t.match(e),one:t=>t.findIndex(t=>t.match(e)),many:t=>{const n=[];return t.forEach((t,r)=>{t.match(e)&&n.push(r)}),n}}}(t))}function bo(e){return null==e?[]:[{route:e,ancestry:[]}]}function wo(e){return Array.isArray(e)&&e.every(e=>"object"==typeof e&&null!==e&&!Array.isArray(e)&&"ancestry"in e)}function ko(e,t,n){if(e.at>=e.ids.length)return{rest:t};const r=e.ids[e.at],o=e.at+1<e.ids.length?[{ids:e.ids,at:e.at+1,ancestry:e.ancestry},...t]:t;if(e.ancestry.includes(r))return{rest:o};const s=[...e.ancestry,r],i=n[r],a=i?i.config.next:void 0;return{id:r,ancestry:s,rest:void 0===a?o:[{route:a,ancestry:s},...o]}}function $o(e,t,n){if(e.stop)return t.length>0?{kind:"stop",owner:t[t.length-1]}:{kind:"stop"};if(e.forks)return{kind:"fork",branches:e.forks.map(e=>[{route:e,ancestry:t},...n])};const r=[];return e.ids.length>0&&r.push({ids:e.ids,at:0,ancestry:t}),e.then&&r.push({route:e.then,ancestry:t}),{kind:"stack",stack:[...r,...n]}}function jo(e,t,n){let r=e;for(;r.length>0;){const[e,...o]=r;if("ids"in e){const t=ko(e,o,n);if(void 0!==t.id)return{kind:"run",id:t.id,rest:t.rest,ancestry:t.ancestry};r=t.rest;continue}const s=$o(vo(e.route,t),e.ancestry,o);if("stack"!==s.kind)return s;r=s.stack}return{kind:"done"}}function xo(e,t={}){const n=[],r=new Map,o=new Set,s=new WeakMap,i=new WeakMap;let a=0;const c=e=>{let t=i.get(e);return void 0===t&&(t=++a,i.set(e,t)),t},u=e=>e.length>0?e[e.length-1]:void 0,f=(e,t,o,s,i)=>{const a=void 0===i,c=`${e??""}|${o}|${s??""}|${i??""}`,u=r.get(c);if(u)return u;const f={targets:[],kind:t.kind,path:t.path};return void 0!==e&&(f.from=e),t.match&&(f.match=t.match),t.catchAll&&(f.catchAll=!0),a&&(f.stop=!0),void 0!==s&&(f.owner=s),t.outer&&(f.via=function(e){const t=[];for(let n=e.outer;n;n=n.outer){const e={kind:n.kind,path:n.path};n.match&&(e.match=n.match),n.catchAll&&(e.catchAll=!0),t.unshift(e)}return t}(t)),r.set(c,f),n.push(f),f},l=e=>{const t=e.ancestry.join(",");if("ids"in e){const n=s.get(e.ids)??[];return`i${e.ids.join(",")}#${n.map(c).join(",")}@${e.at}/${t}`}const n=e.route;if("string"==typeof n)return`s${n}/${t}`;let r="",o=ho(n);for(;o;)r+=`${c(o.segments)}@${o.at};`,o=o.tail;return`r${r}/${t}`},p=(e,n,r)=>{const i=`${n??""}|${r?`${c(r.node)}:${r.position}`:""}|${e.map(l).join("|")}`;if(o.has(i))return;if(o.add(i),0===e.length)return;const[a,...d]=e;if("ids"in a){const e=ko(a,d,t);if(void 0===e.id)return void p(e.rest,n,r);const o=(s.get(a.ids)??[])[a.at];if(!o)return;let i;if(r&&r.source===o&&r.node.targets[r.position]===n){const t=r.position+1;r.node.targets.length===t&&r.node.targets.push(e.id),i={node:r.node,source:o,position:t}}else{const t=f(n,o.label,c(o),u(a.ancestry),e.id);0===t.targets.length&&t.targets.push(e.id),i={node:t,source:o,position:0}}return void p(e.rest,e.id,i)}const m=u(a.ancestry);for(const e of function(e){const t=[],n=r=>{let o=0;const s=[],i=e=>{let t=0;return o<r.length?t=r[o]:s.push(e),o++,t},a=e=>e.some(e=>void 0===e.source),c=[],u=yo(e,{gate:()=>0===i(2),one:e=>{const t=e.map((e,t)=>t);return a(e)||t.push(-1),t[i(t.length)]},many:e=>{const t=e.map((e,t)=>t);return a(e)||0===i(2)?t:[]}},e=>c.push(e));t.push({steps:u,visited:c});for(let e=0;e<s.length;e++)for(let t=1;t<s[e];t++){const o=r.slice();for(let t=0;t<e;t++)o.push(0);o.push(t),n(o)}};return n([]),t}(ho(a.route))){const{steps:t}=e,r=[];let o=n;for(const t of e.visited)if("stop"!==t.type)if("static"===t.type)r.push(t),o=t.value;else if(0===t.value.length)f(o,t.label,c(t),m,"");else{for(let e=0;e<t.value.length;e++)r.push(t);o=t.value[t.value.length-1]}else f(n,t.label,c(t),m,void 0);t.ids.length>0&&s.set(t.ids,r);const i=$o(t,a.ancestry,d);if("stop"!==i.kind)if("fork"!==i.kind)p(i.stack,n,void 0);else for(const e of i.branches)p(e,n,void 0)}};return p(bo(e),void 0,void 0),n}var Eo="__walkeros_cache_v__",So="__walkeros_cache_exp__";function Oo(e,t,n=Date.now){const r={[Eo]:e};return void 0!==t&&(r[So]=n()+t),r}function Ao(e,t=Date.now){if(void 0===e)return;if(null===(n=e)||"object"!=typeof n||Array.isArray(n)||!(Eo in e))return{value:e};var n;const r=e[So];return"number"==typeof r&&t()>r?{expired:!0}:{value:e[Eo]}}function Io(e){return null===e||"string"==typeof e||"number"==typeof e||"boolean"==typeof e||e instanceof Uint8Array||(Array.isArray(e)?e.every(e=>void 0===e||Io(e)):!!function(e){return null!==e&&"object"==typeof e&&!Array.isArray(e)}(e)&&Object.values(e).every(e=>void 0===e||Io(e)))}function _o(e={},t){return void 0===t?{ingest:e}:{ingest:e,event:t}}function Mo(e){return{stop:e.stop??!1,storeId:e.store,namespace:e.namespace,rules:e.rules.map(e=>({match:e.match?to(e.match):()=>!0,key:e.key,ttl:e.ttl,update:e.update}))}}async function No(e,t,n,r,o){const s=e.rules.find(e=>e.match(n));if(!s)return null;const i=s.key.map(e=>String(Ve(n,e)??""));if(i.every(e=>""===e))return null;const a=i.join(":"),c=r??e.namespace,u=c?`${c}:${a}`:a;let f;try{f=await t.get(u)}catch(t){if(!o||t instanceof _t)throw t;const n=Ct(t);return Ft(o,o.logger,{step:`store.${e.storeId??"__cache"}`,code:n.code,status:n.status},"cache read failed, treated as a miss",{error:n.message,retryable:n.retryable}),{status:"MISS",key:u,rule:s}}const l=Ao(f);if(void 0===l)return{status:"MISS",key:u,rule:s};if("expired"in l){try{await t.delete(u)}catch{}return{status:"MISS",key:u,rule:s}}return{status:"HIT",key:u,value:l.value,rule:s}}function Ro(e,t,n,r){if(!Io(n))return;const o=1e3*r,s=e.set(t,Oo(n,o),o);ae(s)&&Promise.resolve(s).catch(()=>{})}async function Po(e,t,n,r){if(!t)return e;let o=e;for(const[e,s]of Object.entries(t)){o=Ze(o,e,await Jt(n,s,{collector:r}))}return o}function Co(e){return ne(e)?e:[e]}function To(e){const t=/^(event|ingest)\.(.+)$/.exec(e);if(t)return{side:"event"===t[1]?"event":"ingest",path:t[2]}}function zo(e){if(!ue(e.consent))return;const t={};for(const[n,r]of Object.entries(e.consent))"boolean"==typeof r&&(t[n]=r);return t}function Ko(e){return!se(e)||(ue(e)?0===Object.keys(e).length:!!ne(e)&&!e.some(se))}function Lo(e,t,n,r){(e.causeLog||e.logger)&&Ft(e,e.logger,t,n,r)}async function Do(e,t,n,r){try{return{ok:!0,value:await e.get(n)}}catch(e){if(e instanceof _t)throw e;const n=Ct(e);return Lo(r,{step:`store.${t}`,code:n.code,status:n.status},"store read failed",{error:n.message,retryable:n.retryable}),{ok:!1}}}async function qo(e,t,n,r,o){const s=o??{};let i=n;for(const n of e)await At(async()=>{const e=t(n.store);if(!e)return void r.logger?.error?.("[state] unknown store",{mode:n.mode,store:n.store});if(ue(e.config)&&!0===e.config.file)return void r.logger?.warn?.("[state] file stores are not supported by state, entry skipped",{mode:n.mode,store:n.store});const o=_o(s,i),a={collector:r,event:i,consent:zo(i)},c=n.store??"__cache",u=await Jt(o,n.key,a);if(!le(u))return void Lo(r,{step:`store.${c}`,code:"mapping"},`[state] ${n.mode} key did not resolve, entry skipped`,le(n.key)?{mappingKey:n.key}:{});const f=n.store?u:`state:${u}`;if("set"===n.mode){const t=await Jt(o,n.value,a);if(!se(n.mapping)){if(!se(t))return;return void await e.set(f,t)}const s=await Vt(t,n.mapping,a);if(!se(s)||Ko(s))return;if(!ue(s))return void await e.set(f,s);const i=await Do(e,c,f,r);if(!i.ok)return;const u=i.value;return se(u)&&!ue(u)&&r.logger?.warn?.("[state] stored value is not an object, replaced",{store:n.store}),void await e.set(f,ue(u)?et(We(u),s):s)}const l=le(p=n.value)?p:ue(p)&&le(p.key)?p.key:void 0;var p;if(!l)return;const d=To(l);if(!d)return void r.logger?.warn?.("[state] get target needs an event. or ingest. prefix",{store:n.store,value:l});const m=await Do(e,c,f,r),g=m.ok?m.value:void 0;if(!se(n.mapping)){if(!se(g))return;return void("ingest"===d.side?Ze(s,d.path,g,{mutable:!0}):i=Ze(i,d.path,g))}se(g)&&!xt(g)&&r.logger?.warn?.("[state] stored value has null or non-JSON values, mapping drops them",{store:n.store});const h=await Vt(g,n.mapping,a);if(Ko(h))return;const y="ingest"===d.side?Ve(s,d.path):Ve(i,d.path),v=ue(y)&&ue(h)?et(We(y),h):h;"ingest"===d.side?Ze(s,d.path,v,{mutable:!0}):i=Ze(i,d.path,v)},e=>{if(e instanceof _t)throw e;r.logger?.error?.("[state] operation failed",e)})();return i}function Fo(e){return 0===e.length?"// no output":e.map(Uo).join(";\n\n")}function Uo(e){const[t,...n]=e,r=n.map(Wo).join(", ");return"return"===t?r?`return ${r}`:"return":`${t}(${r})`}function Wo(e){return void 0===e?"undefined":null===e?"null":"function"==typeof e?"[Function]":JSON.stringify(e,null,2)}export{Sn as CLOCK_SKEW_MS,z as CONTRACT_RULE_KEYS,n as Cache,r as Collector,A as Const,s as Context,pn as DEFAULT_DESTINATION_TIMEOUT_MS,i as Destination,Re as ENV_MARKER_PREFIX,Gr as EVENT_NOT_PROCESSED,c as Elb,_t as FatalError,Ne as FlowCycleError,Me as FlowReferenceError,O as Hint,u as Hooks,Yr as INTERNAL_SERVER_ERROR,ln as InvalidEventError,l as Level,j as Lifecycle,f as Logger,pe as MAPPING_NO_OPS,On as MAX_SESSION_MS,_n as MOIN_PARAM,Mn as MOIN_PRODUCTION,p as Mapping,S as Matcher,Sr as OBSERVE_ENV_KEY,In as OBSERVE_STORAGE_KEY,d as On,Q as REF_CODE_PREFIX,Z as REF_CONTRACT,V as REF_ENV,J as REF_FLOW,G as REF_FLOW_INLINE,B as REF_FLOW_NAME,X as REF_SECRET,Y as REF_STORE,U as REF_VAR_FULL,W as REF_VAR_INLINE,fr as RESERVED_WINDOW_GLOBALS,h as Request,Pe as SECRET_MARKER_PREFIX,be as STEP_FIELD_ROLES,je as STEP_FUNCTION_KEYS,$e as STEP_OPERATIVE_FIELDS,E as Simulation,y as Source,Nt as StepError,b as Store,m as Transformer,$ as Trigger,En as URL_WINDOW_MS,x as WalkerOS,eo as acknowledge,jo as advanceChain,M as anonymizeIP,qo as applyState,Po as applyUpdate,Xn as assembleJourneys,Ue as assign,Xr as batchResponse,_ as branch,Br as buildScopeFromNodeRequest,St as castToProperty,Ye as castValue,No as checkCache,pr as checkWindowCollector,We as clone,Mo as compileCache,to as compileMatcher,Co as compileState,rr as createBatchedPoster,qt as createCauseLog,Qe as createDestination,ut as createEvent,I as createIngest,$t as createLogger,_o as createMappingRoot,rn as createMockContext,nn as createMockLogger,Fr as createRespond,hn as createTelemetryObserver,yr as createTimer,yt as debounce,et as deepMerge,mt as defaultClickIds,Be as deleteByPath,nt as deriveSpanId,nr as emitStep,wr as fetchPackage,Er as fetchPackageSchema,Et as filterValues,Ge as flattenIncludeSections,Fo as formatOut,sr as getBrowser,ir as getBrowserVersion,Ve as getByPath,ur as getDeviceType,Bt as getErrorMessage,ft as getEvent,Le as getFlowSettings,Xe as getGrantedConsent,cn as getHeaders,rt as getId,Ht as getMappingEvent,ge as getMappingKeyPaths,he as getMappingNoOpMessage,me as getMappingNoOpPaths,Jt as getMappingValue,gt as getMarketingParameters,vo as getNextSteps,ar as getOS,cr as getOSVersion,qe as getPlatform,xo as getRouteGraph,at as getSpanId,we as getStepFieldRole,ke as getStepRuntimeProps,lt as getTraceId,er as getTraceUntil,ye as getTransformerMapping,ve as getTransformerMappingWarnings,Ae as getUnknownStepKeys,te as isArguments,ne as isArray,Jr as isBatchBody,re as isBoolean,wo as isChainContinuation,oe as isCommand,se as isDefined,Or as isEnvObserve,ie as isFunction,ce as isNumber,ue as isObject,Ie as isPathStepEntry,xt as isPropertyType,ro as isRouteArray,no as isRouteConfigEntry,oo as isRouteContinuation,fe as isSameType,yn as isSampled,Zr as isScope,Io as isStoreValue,le as isString,ae as isThenable,qr as mcpError,Dr as mcpResult,L as mergeContractSchemas,Qt as mergeMappingRule,en as mockEnv,Tt as networkErrorMessage,Vr as normalizeBody,Ur as normalizeHeaders,Wr as normalizeQuery,Tr as observeEnv,Lr as observeFromEnv,Ke as packageNameToVariable,Ir as parseCallPath,xn as parseGrant,Kr as parseObserveCredential,dt as parseTraceparent,or as parseUserAgent,xr as parseWalkerOSJson,Yt as processEventMapping,Qr as pushResultToOutcome,Ao as readCacheEnvelope,Ft as reportCause,on as requestToData,sn as requestToParameter,K as resolveContracts,dn as resolveDestinationTimeout,un as resolveSetup,vn as resolveTelemetryOptions,ee as scanFlowRefs,Ze as setByPath,tr as setTraceUntil,bo as startChain,Rt as stepCall,o as stepId,Ro as storeCache,vt as throttle,N as throwError,Hr as toEventList,Ct as toFailureReason,an as transformData,tn as traverseEnv,fn as trim,Ot as tryCatch,At as tryCatchAsync,mn as useHooks,Oe as validateStepEntry,An as verifyActivation,Te as walkPath,Oo as wrapCacheEnvelope,mr as wrapCondition,gr as wrapFn,hr as wrapValidate};//# sourceMappingURL=index.mjs.map