@walkeros/core 4.8.1 → 4.8.2

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={},S={},A={},x={},O={},E={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"]),T=new Set(["allOf","anyOf","items","oneOf","prefixItems"]),C=new Set(["properties","patternProperties","dependentSchemas","dependentRequired","dependencies","$defs","definitions"]);function z(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])]:U(o)&&U(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)||(C.has(n)&&U(r)?t[n]=F(r):T.has(n)&&Array.isArray(r)?t[n]=r.map(e=>U(e)?D(e):e):R.has(n)&&U(r)?t[n]=D(r):t[n]=r);return t}function F(e){const t={};for(const[n,r]of Object.entries(e))t[n]=U(r)?D(r):r;return t}function U(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_]*)*)$/,q=/\$var\.([a-zA-Z_][a-zA-Z0-9_]*(?:\.[a-zA-Z_][a-zA-Z0-9_]*)*)/g,K=/\$env\.([a-zA-Z_][a-zA-Z0-9_]*)(?::([^"}\s]*))?/g,Z=/^\$contract\.([a-zA-Z_][a-zA-Z0-9_]*)(?:\.(.+))?$/,V=/^\$flow\.([a-zA-Z_][a-zA-Z0-9_]*)(?:\.([a-zA-Z0-9_.]+))?$/,B=/^\$store\.([a-zA-Z_][a-zA-Z0-9_]*)$/,H=/^\$secret\.([A-Z0-9_]+)$/,J="$code:",G=/\$flow\.([a-zA-Z_][a-zA-Z0-9_]*)/g;function Y(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))Y(t,n);return n}function X(e){return"[object Arguments]"===Object.prototype.toString.call(e)}function Q(e){return Array.isArray(e)}function ee(e){return"boolean"==typeof e}function te(e){return"walker"===e}function ne(e){return void 0!==e}function re(e){return!(!e||"object"!=typeof e)&&("body"in e||"tagName"in e)}function oe(e){return"function"==typeof e}function se(e){return"object"==typeof e&&null!==e&&"then"in e&&"function"==typeof e.then}function ie(e){return"number"==typeof e&&!Number.isNaN(e)}function ae(e){return"object"==typeof e&&null!==e&&!Q(e)&&"[object Object]"===Object.prototype.toString.call(e)}function ce(e,t){return typeof e==typeof t}function ue(e){return"string"==typeof e}var fe=["consent","include","data"],le=["consent","include","remove","batch","settings","extend","data","silent"];function pe(e){return e.config?.mapping??e.mapping}function de(e){const t=pe(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=function(e,t){if(!ae(e))return[];const n=[];for(const r of fe)void 0!==e[r]&&n.push(`${t}.${r}`);const r=e.mapping;if(!ae(r))return n;for(const[e,o]of Object.entries(r))if(ae(o))for(const[r,s]of Object.entries(o))(Q(s)?s:[s]).forEach((o,i)=>{if(!ae(o))return;const a=`${t}.mapping.${e}.${r}${Q(s)?`[${i}]`:""}`;for(const e of le)void 0!==o[e]&&n.push(`${a}.${e}`)});return n}(t,n);return s.length>0&&o.push(`${s.map(e=>`\`${e}\``).join(", ")} ${1===s.length?"does":"do"} nothing at the transformer position; only \`policy\` and a rule's \`condition\`, \`policy\`, \`name\` and \`ignore\` apply.`),o}var me={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 ge(e,t){const n=me[e];return Object.prototype.hasOwnProperty.call(n,t)?n[t]:void 0}function he(e,t){const n={};for(const[r,o]of Object.entries(e))null!=o&&"runtime"===ge(t,r)&&(n[r]=o);return n}var ve={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"]},ye=["disabled","id","logger","mock","chainMocks"],be=/^[A-Za-z_$][A-Za-z0-9_$]*$/;function we(e,t){const n=function(e){return new Set([...Object.keys(me[e]),...ye])}(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? }) 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&&be.test(e.import)?{ok:!0}:{ok:!1,code:"INVALID_IMPORT",key:"import",reason:`import must match ${be.source}. Got: ${JSON.stringify(e.import)}.`}}function ke(e,t){if("Transformer"!==t)return!1;if(void 0!==e.code||void 0!==e.package||void 0!==e.import)return!1;if(ve.Transformer.some(t=>"reference"!==ge("Transformer",t)&&void 0!==e[t]))return!0;const n=ae(e.config)?e.config:void 0;return void 0!==pe({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 je=class extends Error{code;reference;constructor(e,t,n){super(n),this.name="FlowReferenceError",this.code=e,this.reference=t}},Se=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}},Ae="__WALKEROS_ENV:",xe="__WALKEROS_SECRET:";function Oe(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`}, or run \`walkeros deploy ${e}\` first.`}function Ee(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 Ie(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 Se("VAR_CYCLE",[...u,a]);let f;u.add(a);try{f=Ie(t[a],t,n,r,o,u)}finally{u.delete(a)}return c&&(f=Ee(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=Ee(n,t,`$contract.${e}`)),n}const c=e.match(V);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?.(Oe(t,r,"unknown-flow")),e;N(`Flow "${t}" not found in $flow.${t}`)}let a=i;if(r)if(s){try{a=Ee(a,r,`$flow.${t}`)}catch{return n?.onWarning?.(Oe(t,r,"missing-key")),e}if(null==a||""===a)return n?.onWarning?.(Oe(t,r,"missing-key")),e}else a=Ee(a,r,`$flow.${t}`);return a}const u=e.match(H);if(u){const e=u[1];if(n?.deferred)return`${xe}${e}`;throw new je("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(q,(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 Se("VAR_CYCLE",[...f,c]);let l;f.add(c);try{l=Ie(t[c],t,n,r,o,f)}finally{f.delete(c)}if(u&&(l=Ee(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(K,(e,t,r)=>{if(n?.deferred)return void 0!==r?`${Ae}${t}:${r}`:`${Ae}${t}`;const o=n?.env??("undefined"!=typeof process?process.env:void 0),s=o?.[t];if(void 0!==s)return s;if(void 0!==r)return r;throw new je("MISSING_ENV",t,`Environment variable "${t}" not found and no default provided`)}),f}if(Array.isArray(e))return e.map(e=>Ie(e,t,n,r,o,s));if(null!==e&&"object"==typeof e){const i={};for(const[a,c]of Object.entries(e))i[a]=Ie(c,t,n,r,o,s);return i}return e}function _e(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 Me(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 Se("FLOW_CYCLE",[...s,t]);o.add(t),s.push(t);try{const o=$e(e.variables,a.variables),s=Ie(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=Ie(e.contract,o,n,void 0,r);s=z(i)}if(o.config){const i=$e(e.variables,t.variables);o.config=Ie(o.config,i,n,s,r)}const i=(o,i)=>{for(const a of Object.values(o??{}))Ne(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=Ie(o.collector,i,n,s,r);o.collector=a}return o}(e,c,n,i)}finally{o.delete(t),s.pop()}}function Ne(e,t,n,r,o,s){e.config=Ie(e.config,n,r,o,s),e.env=Ie(e.env,n,r,o,s);for(const n of Object.keys(e)){const r=ge(t,n);void 0!==r&&"docs"!==r||Reflect.deleteProperty(e,n)}}function Pe(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 Re={merge:!0,shallow:!0,extend:!0};function Te(e,t={},n={}){n={...Re,...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 Ce(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]=Ce(e[r],t));return n}if("[object Array]"===n){const n=[];return t.set(e,n),e.forEach(e=>{n.push(Ce(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 ze(e,t="",n){const r=t.split(".");let o=e;for(let e=0;e<r.length;e++){const t=r[e];if("*"===t&&Q(o)){const t=r.slice(e+1).join("."),s=[];for(const e of o){const r=ze(e,t,n);s.push(r)}return s}if(o=ae(o)||Q(o)?o[t]:void 0,void 0===o)break}return ne(o)?o:n}function Le(e,t,n,r){if(!ae(e))return e;const o=r?.mutable?e:Ce(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 De(e,t){if(!ae(e)&&!Q(e))return e;const n=Ce(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(Q(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(!ae(t)&&!Q(t))return n;o=t}}else if(s)delete o[t];else{const e=o[t];if(!ae(e)&&!Q(e))return n;o=e}}return n}var Fe={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 Ue(e,t,n){if(ae(n))for(const[r,o]of Object.entries(n))void 0!==o&&Ue(e,`${t}_${r}`,o);else e[t]=n}function We(e,t){const n={},r=t.includes("all")?Object.keys(Fe):t;for(const t of r){const r=Fe[t];if(!r)continue;const o=r(e);if(ae(o))for(const[e,r]of Object.entries(o)){if(void 0===r)continue;Ue(n,`${t}_${e}`,"context"===t&&Array.isArray(r)?r[0]:r)}}return n}function qe(e){if("true"===e)return!0;if("false"===e)return!1;const t=Number(e);return e==t&&""!==e?t:String(e)}function Ke(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 Ze(e,t){const n={...e};return n.config=Te(e.config,t,{shallow:!0,merge:!0,extend:!0}),e.config.settings&&t.settings&&(n.config.settings=Te(e.config.settings,t.settings,{shallow:!0,merge:!0,extend:!0})),e.config.mapping&&t.mapping&&(n.config.mapping=Te(e.config.mapping,t.mapping,{shallow:!0,merge:!0,extend:!0})),n}function Ve(e,t){if(!ae(t))return e;for(const n of Object.keys(t)){const r=t[n];void 0!==r&&(ae(r)&&ae(e[n])?Ve(e[n],r):e[n]=r)}return e}function Be(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(!He(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 He(e){try{const t=globalThis.crypto;if(t&&"function"==typeof t.getRandomValues)return t.getRandomValues(e),!0}catch{}return!1}var Je="0123456789abcdef";function Ge(e){let t=Be(e,Je);for(;/^0+$/.test(t);)t=Be(e,Je);return t}function Ye(){return Ge(16)}function Xe(e={}){const t=e.timestamp||(new Date).setHours(0,13,37,0),n=Te({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||Ye(),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 Qe(e="entity action",t={}){const n=t.timestamp||(new Date).setHours(0,13,37,0),r={data:{id:"ers",name:"Everyday Ruck Snack",color:"black",size:"l",price:420}},o={data:{id:"cc",name:"Cool Cap",size:"one size",price:42}};return Xe({...{"cart view":{data:{currency:"EUR",value:2*r.data.price},context:{shopping:["cart",0]},globals:{pagegroup:"shop"},nested:[{entity:"product",data:{...r.data,quantity:2},context:{shopping:["cart",0]},nested:[]}],trigger:"load"},"checkout view":{data:{step:"payment",currency:"EUR",value:r.data.price+o.data.price},context:{shopping:["checkout",0]},globals:{pagegroup:"shop"},nested:[{entity:"product",...r,context:{shopping:["checkout",0]},nested:[]},{entity:"product",...o,context:{shopping:["checkout",0]},nested:[]}],trigger:"load"},"order complete":{data:{id:"0rd3r1d",currency:"EUR",shipping:5.22,taxes:73.76,total:555},context:{shopping:["complete",0]},globals:{pagegroup:"shop"},nested:[{entity:"product",...r,context:{shopping:["complete",0]},nested:[]},{entity:"product",...o,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":{...r,context:{shopping:["intent",0]},globals:{pagegroup:"shop"},nested:[],trigger:"click"},"product view":{...r,context:{shopping:["detail",0]},globals:{pagegroup:"shop"},nested:[],trigger:"load"},"product visible":{data:{...r.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})}function et(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 tt(e,t){const n=et(JSON.stringify([e,t]));return/^0+$/.test(n)?et(JSON.stringify([n,t])):n}function nt(){return Ge(32)}var rt=/^(?<version>[0-9a-f]{2})-(?<trace>[0-9a-f]{32})-(?<span>[0-9a-f]{16})-[0-9a-f]{2}$/;function ot(e){if("string"!=typeof e)return;const t=rt.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 st=[{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 it(e,t={},n=[]){const r={};Object.entries(Te({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(st.map(e=>e.param));return[...st.map(e=>t.has(e.param)?{param:e.param,platform:t.get(e.param)}:e),...e.filter(e=>!n.has(e.param))]}(n):st,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 at(e,t){return"number"==typeof e?{wait:e}:e?{wait:e.wait??t,size:e.size,age:e.age}:{wait:t}}function ct(e,t=1e3,n=!1){const{wait:r,size:o,age:s}=at(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 ut(e,t=1e3){const{wait:n}=at(t,1e3);let r=null;return function(...t){if(null===r)return r=setTimeout(()=>{r=null},n),e(...t)}}function ft(e){return{message:e.message,name:e.name,stack:e.stack,cause:e.cause}}function lt(e,t){let n,r={};return e instanceof Error?(n=e.message,r.error=ft(e)):n=e,void 0!==t&&(t instanceof Error?r.error=ft(t):"object"==typeof t&&null!==t?(r={...r,...t},"error"in r&&r.error instanceof Error&&(r.error=ft(r.error))):r.value=t),{message:n,context:r}}var pt=(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 dt(e={}){return mt({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 mt(e){const{level:t,handler:n,jsonHandler:r,scope:o}=e,s=(e,r,s)=>{if(e<=t){const t=lt(r,s);n?n(e,t.message,t.context,o,pt):pt(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)=>{const r=lt(e,t);throw n?n(0,r.message,r.context,o,pt):pt(0,r.message,r.context,o),new Error(r.message)},json:e=>{r?r(e):console.log(JSON.stringify(e,null,2))},scope:e=>mt({level:t,handler:n,jsonHandler:r,scope:[...o,e]})}}function gt(e){return ee(e)||ue(e)||ie(e)||!ne(e)||Q(e)&&e.every(gt)||ae(e)&&Object.values(e).every(gt)}function ht(e){return ee(e)||ue(e)||ie(e)?e:X(e)?ht(Array.from(e)):Q(e)?e.map(e=>ht(e)).filter(e=>void 0!==e):ae(e)?Object.entries(e).reduce((e,[t,n])=>{const r=ht(n);return void 0!==r&&(e[t]=r),e},{}):void 0}function vt(e){return gt(e)?e:void 0}function yt(e,t,n){return function(...r){try{return e(...r)}catch(e){if(!t)return;return t(e)}finally{n?.()}}}function bt(e,t,n){return async function(...r){try{return await e(...r)}catch(e){if(!t)return;return await t(e)}finally{await(n?.())}}}var wt=class e extends Error{constructor(t,n){super(t,n),this.name="FatalError",Object.setPrototypeOf(this,e.prototype)}};async function kt(e,t={},n){if(!n.collector)throw new Error("getMappingValue: context.collector is required");const r=n.consent||n.collector.consent,o=n.event??{},s={event:o,mapping:t,collector:n.collector,logger:n.collector.logger,consent:r},i=Q(t)?t:[t];for(const t of i){const r=await bt($t,e=>{if(e instanceof wt)throw e;n.collector.status.failed++,s.logger.error("mapping processing failed",{event:o,error:e})})(e,t,{...s,mapping:t});if(ne(r))return r}}async function $t(e,t,n){return(Q(t)?t:[t]).reduce(async(t,r)=>{const o=await t;if(o)return o;const s=ue(r)?{key:r}:r;if(!Object.keys(s).length)return;const{condition:i,consent:a,fn:c,key:u,loop:f,map:l,set:p,validate:d,value:m}=s,g={...n,mapping:r};if(i&&!await bt(i,e=>{if(e instanceof wt)throw e;return g.logger.error("mapping condition failed",{event:g.event,error:e}),!1})(e,g))return;if(a&&!Ke(a,g.consent))return m;let h=ne(m)?m:e;if(f){const[t,n]=f,r="this"===t?[e]:await kt(e,t,g);h=Q(r)?(await Promise.all(r.map(e=>ne(e)?kt(e,n,g):void 0))).filter(ne):void 0}else l?h=await Object.entries(l).reduce(async(t,[n,r])=>{const o=await t,s=await kt(e,r,g);return ne(s)&&(o[n]=s),o},Promise.resolve({})):p?h=await Promise.all(p.map(t=>$t(e,t,g))):u?h=ze(e,u,m):c&&(h=await bt(c,e=>{if(e instanceof wt)throw e;g.logger.error("mapping fn failed",{event:g.event,error:e})})(e,g));d&&!await bt(d,e=>{if(e instanceof wt)throw e;return g.logger.error("mapping validate failed",{event:g.event,error:e}),!1})(h,g)&&(h=void 0);const v=vt(h);return ne(v)?v:vt(m)},Promise.resolve(void 0))}async function jt(e,t,n){const[r,o]=(e.name||"").split(" ");if(!t||!r||!o)return{};let s,i="",a=r,c=o;const u=(t,r)=>{if(t instanceof wt||!n)throw t;return n.logger.error("mapping rule condition failed",{event:e,mappingKey:r,error:t}),!1},f=(t,r)=>{const{condition:o}=t;if(!o)return!0;let s;try{s=o(e,n?{event:e,mapping:t,collector:n,logger:n.logger,consent:ae(e)&&e.consent||n.consent}:void 0)}catch(e){return u(e,r)}return se(s)?Promise.resolve(s).then(Boolean,e=>u(e,r)):Boolean(s)},l=(e,t,n=0)=>{if(!t)return;const r=Q(t)?t:[t];for(let t=n;t<r.length;t++){const n=r[t],o=f(n,e);if("boolean"!=typeof o)return p(o,n,e,r,t);if(o)return n}},p=async(e,t,n,r,o)=>await e?t:l(n,r,o+1);t[a]||(a="*");const d=t[a];if(d){d[c]||(c="*");const e=l(`${a} ${c}`,d[c]);s=se(e)?await e:e}if(!(s||d&&"*"===a&&"*"===c)){a="*",c="*";const e=l("* *",t[a]?.[c]);s=se(e)?await e:e}return s&&(i=`${a} ${c}`),{eventMapping:s,mappingKey:i}}async function St(e,t={},n){if(!ne(e))return;const r=ae(e)&&e.consent||n?.consent||n?.collector?.consent,o=n?.event??(ae(e)?e:{});return kt(e,t,{...n,consent:r,event:o})}async function At(e,t,n){t.policy&&await Promise.all(Object.entries(t.policy).map(async([t,r])=>{const o=await St(e,r,{collector:n,event:e});e=Le(e,t,o)}));const{eventMapping:r,mappingKey:o}=await jt(e,t.mapping,n);r?.policy&&await Promise.all(Object.entries(r.policy).map(async([t,r])=>{const o=await St(e,r,{collector:n,event:e});e=Le(e,t,o)}));let s=t.data&&await St(e,t.data,{collector:n,event:e});const i=Boolean(r?.silent);if(r){if(r.ignore)return{event:e,data:s,mapping:r,mappingKey:o,ignore:!0,silent:i};if(r.name&&(e.name=r.name),r.data){const t=r.data&&await St(e,r.data,{collector:n,event:e});s=ae(s)&&ae(t)?Te(s,t):t}}const a=r?.include??t.include;if(a&&a.length>0){const t=We(e,a);Object.keys(t).length>0&&(s=ae(s)?Te(t,s):s??t)}if(r?.remove&&ae(s))for(const e of r.remove)s=De(s,e);return{event:e,data:s,mapping:r,mappingKey:o,ignore:!1,silent:i}}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];ae(r)&&ae(o)?xt(o,r):e[n]=r}return e}function Ot(e,t){if(void 0===t.extend&&void 0===t.remove)return Ce(t);const n={...Ce(e)};if(t.extend){xt(n,{...t.extend})}return delete n.extend,t.remove?n.remove=[...t.remove]:delete n.remove,n}function Et(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 It(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 _t(){const e=[],t=jest.fn(e=>{const t=e instanceof Error?e.message:e;throw new Error(t)}),n=jest.fn(t=>{const n=_t();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 Mt(e={}){return{collector:{},config:{},env:{},logger:_t(),id:"test",ingest:I("test"),...e}}function Nt(e){const t=String(e),n=t.split("?")[1]||t;return yt(()=>{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(Q(o)){const i=parseInt(t,10);s?o[i]=qe(e):(o[i]=o[i]||(isNaN(parseInt(r[n+1],10))?{}:[]),o=o[i])}else ae(o)&&(s?o[t]=qe(e):(o[t]=o[t]||(isNaN(parseInt(r[n+1],10))?{}:[]),o=o[t]))})}),t})()}function Pt(e){if(!e)return"";const t=[],n=encodeURIComponent;function r(e,o){null!=o&&(Q(o)?o.forEach((t,n)=>r(`${e}[${n}]`,t)):ae(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 Rt(e){return void 0===e||ce(e,"")?e:JSON.stringify(e)}function Tt(e={}){return Te({"Content-Type":"application/json; charset=utf-8"},e)}function Ct(e,t){return!1===e||void 0===e?null:!0===e?t:{...t,...e}}function zt(e){return e?e.trim().replace(/^'|'$/g,"").trim():""}var Lt=class e extends Error{constructor(t){super(t),this.name="InvalidEventError",Object.setPrototypeOf(this,e.prototype)}};function Dt(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 Ft(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 Ut(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&&!Ft(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 Wt(e,t){return Ft(e,t)}function qt(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}}function Kt(e,t,n){const r=globalThis;return new Promise(o=>{let s,i,a=!1;const c=e=>{a||(a=!0,o(e),void 0!==i&&r.clearTimeout?.(i),!e&&s?.parentNode&&s.parentNode.removeChild(s))};try{const o=r.document;if(!o)return void c(!1);s=o.createElement("script"),void 0!==n&&(i=r.setTimeout?.(()=>c(!1),n)),s.onload=()=>c(!0),s.onerror=()=>c(!1),s.setAttribute("integrity",t),s.setAttribute("crossorigin","anonymous"),s.async=!0,s.src=e,o.head.appendChild(s)}catch{c(!1)}})}var Zt=/^[A-Za-z0-9_-]+$/;function Vt(e){if(!Zt.test(e))return null;const t=e.length%4==0?"":"=".repeat(4-e.length%4),n=e.replace(/-/g,"+").replace(/_/g,"/")+t,r=globalThis.atob;if(!r)return null;try{const e=r(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 Bt(e){const t=new Uint8Array(e.length);for(let n=0;n<e.length;n++)t[n]=e.charCodeAt(n);return t}function Ht(e){const t=Vt(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 Jt(e){return"object"==typeof e&&null!==e&&!Array.isArray(e)}function Gt(e){if(!e)return null;const t=e.split("."),[n,r,o]=t;if(3!==t.length||!n||!r||!o)return null;const s=Ht(n);if(!Jt(s))return null;const i=s.kid,a=s.alg;if("string"!=typeof i||"ES256"!==a)return null;const c=Ht(r);if(!function(e){if(!Jt(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&&Zt.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=Vt(o);return u&&64===u.byteLength?{grant:c,kid:i,signed:Bt(`${n}.${r}`),signature:u}:null}var Yt=9e5,Xt=6e4,Qt=39e5;async function en(e,t){const n=Gt(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>Qt)return{ok:!1,reason:"expired"};const a="url"===t.source?Math.min(1e3*r.iat+Yt,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??globalThis.crypto,l=f?.subtle;if(!l)return{ok:!1,reason:"no-subtle"};const p=function(e){return Vt(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 tn="elbPreviewSession",nn="elbObserve",rn="[walkerOS:preview]",on=globalThis;function sn(e){let t=null;return{get(){try{return on.window?.localStorage.getItem(e)??t}catch{return t}},set(n){try{on.window?.localStorage.setItem(e,n)}catch{t=n}},clear(){t=null;try{on.window?.localStorage.removeItem(e)}catch{}}}}function an(){const e=on.window,t=on.URLSearchParams;if(e&&t)try{const n=e.location.href,r=n.indexOf("#"),o=r>=0?n.slice(r):"",s=r>=0?n.slice(0,r):n,i=s.indexOf("?"),a=i>=0?s.slice(0,i):s,c=new t(i>=0?s.slice(i+1):"");c.delete("elbPreview"),c.delete("elbPreviewSession"),c.delete("elbObserve");const u=c.toString();e.history.replaceState({},"",`${a}${u?`?${u}`:""}${o}`)}catch{}}async function cn(e){const t=on.window;if(!t||!on.document)return!1;const n=sn("elbPreview"),r=sn(tn),o=sn(nn),s=e.now??(()=>Date.now()),i=e=>on.console?.warn(`${rn} ${e}`);let a=null,c=null,u=null;const f=on.URLSearchParams;if(f)try{const e=new f(t.location.search.replace(/^\?/,"")),n=e.getAll("elbPreview");a=n.length>0?n[n.length-1]??null:null;const r=e.getAll("elbPreviewSession");c=r.length>0?r[r.length-1]??null:null;const o=e.getAll("elbObserve");u=o.length>0?o[o.length-1]??null:null}catch{a=null,c=null,u=null}if("off"===a)return n.clear(),r.clear(),o.clear(),an(),!1;const l=n.get();if(!a&&!l)return!1;const p=(n,r)=>en(n,{keyring:e.keyring,iss:e.iss,origin:t.location.origin,pb:e.pb,acceptForeign:e.acceptForeign,demoAllowlist:e.demoAllowlist,source:r,now:s(),crypto:e.crypto});let d=null;if(a){const e=await p(a,"url");e.ok?(d=e.grant,n.set(a),c?r.set(c):r.clear(),u?o.set(u):o.clear()):i(e.reason),an()}if(!d&&l){const e=await p(l,"storage");e.ok?d=e.grant:(i(e.reason),"no-subtle"!==e.reason&&(n.clear(),r.clear(),o.clear()))}if(!d)return!1;const m=`https://${e.previewOrigin}/preview/${d.art}.js`;return await Kt(m,d.sri,5e3)?(on.console?.info(`${rn} active ${d.art} ends ${new Date(1e3*d.sxp).toISOString()}`),!0):(i("swap-failed"),n.clear(),r.clear(),o.clear(),!1)}var un="elbMoin",fn={app:"https://app.walkeros.io",base:"https://cdn.walkeros.io/tag-mode/"},ln=/^[A-Za-z0-9_-]{64}$/,pn=Symbol.for("walkeros.moin");function dn(e=fn){!function(e,t){try{const n=e.window,r=e.URLSearchParams;if(!n||!r||n.top!==n||Reflect.get(n,pn))return;let o=new r(n.location.search).has(un);try{const e=n.sessionStorage;o=o||"1"===e.getItem(un),o&&e.setItem(un,"1")}catch{}if(!o)return;Reflect.set(n,pn,!0);const s=e=>{if(e.origin!==t.app)return;const r=e.data;if("object"!=typeof r||null===r)return;if(1!==Reflect.get(r,"elbMoin"))return;const o=Reflect.get(r,"file");"string"==typeof o&&ln.test(o)&&(n.removeEventListener("message",s),Kt(`${t.base}${o}.js`,`sha384-${o.replace(/-/g,"+").replace(/_/g,"/")}`))};n.addEventListener("message",s)}catch{}}(globalThis,e)}var mn={error:5,skip:4,out:3,in:2,init:1,flush:0},gn="\0none",hn="\0";function vn(e,t){return`${e??gn}${hn}${t}`}function yn(e){const t=Date.parse(e);return Number.isNaN(t)?0:t}function bn(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 wn(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 kn(e,t,n){const r=wn(e,t),o=wn(e,n);r!==o&&(r<o?e.set(o,r):e.set(r,o))}function $n(e){for(const t of e)if(t.traceId)return t.traceId}function jn(e){switch(e){case"error":return"error";case"skip":return"skipped";case"out":return"done";case"in":case"init":case"flush":return"pending"}}function Sn(e){return"out"===e.terminalPhase||"error"===e.terminalPhase||"skip"===e.terminalPhase||!0===e.batched}function An(e){return"done"===e.status&&("transformer"!==e.stepType||null!==e.out&&void 0!==e.out)}function xn(e,t,n,r){const o=n.get(vn(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 On(e){const t=new Map,n=new Map;e.nodes.forEach((e,r)=>{const o={node:e,rank:r,key:vn(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=xn(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 En(e,t,n){const r=e.byKey.get(vn(n,t));if(void 0!==r)return r;const o=e.byKey.get(vn(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 In(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(Sn)?"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&&An(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||!Sn(t))return"partial"}return"complete"}(e,t,r):e.every(Sn)?"complete":"partial"}function _n(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),mn[e.phase]>mn[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,S="out"===y.phase&&void 0!==y.batch||void 0,A=!(!o||!0!==S)||void 0,x=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)mn[e.phase]>mn[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:jn(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:jn(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!==x?{branches:x}:{},...void 0!==S?{batched:S}:{},...void 0!==A?{flushConfirmed:A}:{},...void 0!==h?{release:h}:{},...void 0!==m?{meta:m}:{}}}function Mn(e,t){const n=e.map(e=>({hop:e,rank:void 0!==t?En(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 Nn(e){const t=e.filter(e=>"collector"===e.stepType&&"in"===e.phase),n=t.length>0?t:e;let r=n[0],o=yn(r.timestamp);for(const e of n){const t=yn(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 Pn(e,t,n,r,o){const{topo:s}=o,i=new Map;for(const e of n){const t=vn(e.platform,e.stepId),n=i.get(t);n?n.push(e):i.set(t,[e])}const a=[...i.values()].map(_n),c=new Map;for(const e of a){const t=e.platform??gn;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,yn(e.timestamp))}const u=function(e){const t=new Map,n=e.map((e,t)=>t).sort((t,n)=>{const r=e[t].platform??gn,o=e[n].platform??gn;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??gn,r=t.seg.platform??gn;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 Mn(e.hops,s))f.push(t)}let p=Number.POSITIVE_INFINITY,d=Number.NEGATIVE_INFINITY;for(const e of n){const t=yn(e.timestamp);t<p&&(p=t),t>d&&(d=t)}const m=In(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:Nn(r),hops:f,platforms:l,status:m,lossy:g,firstTimestamp:p,lastTimestamp:d,totalMs:d-p}}function Rn(e,t){const n={...void 0!==t?.topology?{topo:On(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${hn}${r.platform??""}${hn}${r.traceId}${hn}${r.seq}`:void 0!==r.seq?`seqt${hn}${r.platform??""}${hn}${r.stepId}${hn}${r.phase}${hn}${r.eventId}${hn}${r.branchId??""}${hn}${r.elapsedMs}${hn}${r.timestamp}${hn}${r.seq}`:`tuple${hn}${r.platform??""}${hn}${r.stepId}${hn}${r.phase}${hn}${r.eventId}${hn}${r.branchId??""}${hn}${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??gn,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=yn(e.timestamp),r=yn(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:yn(s.timestamp),toMs:yn(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=bn(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 mn[e.phase]-mn[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)kn(u,n,e);const f=new Map;for(const e of o){const t=wn(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=$n(o)??$n(r);return Pn(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??gn,r=yn(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 Tn=null;function Cn(){return Tn}function zn(e){Tn=e}function Ln(e,t){if(0===e.observers.size)return;const n=Array.from(e.observers);for(const e of n)try{e(t)}catch{}}function Dn(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)=>globalThis.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 Fn(e){return e?{userAgent:e,browser:Un(e),browserVersion:Wn(e),os:qn(e),osVersion:Kn(e),deviceType:Zn(e)}:{}}function Un(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 Wn(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 qn(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 Kn(e){const t=e.match(/(?:Windows NT|Mac OS X|Android|iPhone OS) ([0-9._]+)/);return t?t[1].replace(/_/g,"."):void 0}function Zn(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 Vn=["elb","elbLayer","window","document","location","self","top","parent","frames","globalThis","__proto__","constructor","prototype"],Bn=/^[A-Za-z_$][A-Za-z0-9_$]*$/;function Hn(e){return"string"!=typeof e?{ok:!1,reason:"is not a string"}:Bn.test(e)?Vn.includes(e)?{ok:!1,reason:`is reserved (${Vn.join(", ")})`}:{ok:!0,name:e}:{ok:!1,reason:"is not a JavaScript identifier (letters, digits, _ or $, not starting with a digit)"}}function Jn(e){return function(e){return/\breturn\b/.test(e)}(e)?e:`return ${e}`}function Gn(e){const t=Jn(e);return new Function("value","context",t)}function Yn(e){const t=Jn(e);return new Function("value","context",t)}function Xn(e){const t=Jn(e);return new Function("value","context",t)}function Qn(){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 er(e){return e instanceof Error?e.message:String(e)}function tr(e){return"string"==typeof e||Array.isArray(e)&&e.every(e=>"string"==typeof e)?e:void 0}async function nr(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,...rr(u)?{exportExamples:u}:{},...or(f)?{exportSchemas:f}:{},...sr(l)?{exports:l}:{}}}(e,n,await o.json())}const r=`https://cdn.jsdelivr.net/npm/${e}@${n}`,o=await ir(`${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:tr(o.platform),schemas:s,examples:i,...m?{docs:m}:{},...g?{source:g}:{},...a&&Object.keys(a).length>0?{hints:a}:{},hintKeys:c,exampleSummaries:p,...rr(u)?{exportExamples:u}:{},...or(f)?{exportSchemas:f}:{},...sr(l)?{exports:l}:{}}}(e,n,o,await ir(`${r}/dist/walkerOS.json`,i,a))}finally{clearTimeout(s)}}function rr(e){return null!==e&&"object"==typeof e&&!Array.isArray(e)}function or(e){return rr(e)&&Object.values(e).every(rr)}function sr(e){return rr(e)&&Object.values(e).every(e=>"string"==typeof e)}async function ir(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 ar(e,t){const n=await nr(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 cr="observe";function ur(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 fr="call:";function lr(e){const t=(e.startsWith(fr)?e.slice(5):e).split(".");return t.some(e=>""===e)?[]:t}function pr(e){return"function"==typeof e}function dr(e){return"object"==typeof e&&null!==e}var mr=["name","length","prototype","arguments","caller"];function gr(e,t){if(-1!==mr.indexOf(t))return!1;let n=e;for(;pr(n);){if(Object.prototype.hasOwnProperty.call(n,t))return!0;const e=Object.getPrototypeOf(n);if(!pr(e)||!pr(Object.getPrototypeOf(e)))return!1;n=e}return!1}function hr(e,t){const n=Reflect.getOwnPropertyDescriptor(e,t);return!(n&&!n.configurable)||"value"in n&&!0===n.writable}function vr(e,t){let n=e;for(const e of t){if(pr(n)){if(!gr(n,e))return!0;if(!hr(n,e))return!1}else if(se(n)){if(!(e in n))return!0}else if(!dr(n)||!(e in n))return!1;n=Reflect.get(n,e)}return pr(n)}function yr(e,t,n){const r=[],o=[],s=[];for(const n of t){const t=lr(n);if(0===t.length)continue;const r=t.join(".");s.push({rest:t,fn:r}),vr(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:se(e)&&!t.some(t=>t.rest[0]in e)?Promise.resolve(e).then(e=>u(e,t)):pr(e)?h(e,[],t):dr(e)?p(e,t):e}function f(e){return(dr(e)||pr(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(pr(e))return m(e,t);return t.some(t=>!hr(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||hr(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(!pr(s)&&!dr(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)&&(!pr(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 pr(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=>!gr(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||!hr(e,t))return r;if(!gr(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 pr(r)?u=h(r,o,a,{proxy:i,target:e}):dr(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 dr(a)||pr(a)?a:s}});return a.add(i),i}return{env:d(e,s),calls:r,unresolved:o}}var br="obsw_";function wr(e){if(!e.startsWith(br))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 $r(e,t){const n=function(e){return ae(e)?e:Q(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 jr(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 Sr(e){let t=!1;return(n={})=>{t||(t=!0,e(n))}}function Ar(e){const t=Object.create(null);if(!e||"object"!=typeof e||Q(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()]=Q(n)?n.join(", "):String(n))}),t)}function xr(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 Or(e,t){if("string"!=typeof e)return e;let n=e;if(t){const t=globalThis.atob;if(!t)return e;try{const r=t(e),o=new Uint8Array(r.length);for(let e=0;e<r.length;e++)o[e]=r.charCodeAt(e);n=decodeURIComponent(Array.from(o,e=>`%${e.toString(16).padStart(2,"0")}`).join(""))}catch{return e}}try{return JSON.parse(n)}catch{return n===e?e:n}}function Er(e){return ae(e)&&"string"==typeof e.method&&ae(e.headers)}function Ir(e,t){const n=Ar(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:xr(s),headers:n,body:t.body,raw:e};return e.ip&&(u.ip=e.ip),u}function _r(e){return Q(e)?e:ae(e)?Q(e.batch)?e.batch:[e]:[{}]}function Mr(e){return!!Q(e)||ae(e)&&Q(e.batch)}function Nr(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 Pr(e){return!1===e?.ok?{error:e.error??(!0===e.invalid?"Invalid event":"Event was not processed")}:{id:e?.event?.id}}function Rr(e){if(void 0===e||"*"===e)return()=>!0;if("and"in e){const t=e.and.map(Rr);return e=>t.every(t=>t(e))}if("or"in e){const t=e.or.map(Rr);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=ze(e,t),r=s(n);return o?!r:r}}(e)}function Tr(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 Cr(e){return Array.isArray(e)&&e.length>0&&e.every(e=>Tr(e))}function zr(e){return"object"==typeof e&&!Array.isArray(e)&&"type"in e&&"continuation"===e.type}var Lr=()=>!0;function Dr(e,t){return{kind:t?"sequence":"next",path:e}}function Fr(e,t){return t?{...e,outer:t}:e}function Ur(e,t,n,r){return Fr(n?{kind:e,path:t,match:n}:{kind:e,path:t,catchAll:!0},r)}function Wr(e,t,n,r){return 0===e.length?{type:"chain",value:[],label:Fr({kind:n,path:t},r)}:{type:n,routes:qr(e,t,n,r)}}function qr(e,t,n,r){return e.map((e,o)=>{const s=[...t,o];if("string"==typeof e||Array.isArray(e)){const t=Ur(n,s,void 0,r);return{match:Lr,next:Zr(e,s,t)??{type:"chain",value:[],label:t}}}const i=Ur(n,s,e.match,r);return{match:e.match?Rr(e.match):Lr,source:e.match,next:Kr(e,s,i,!1,!0)??{type:"chain",value:[],label:i}}})}function Kr(e,t,n,r,o){const s=o?void 0:e.match,i=s?Fr({kind:"next",path:t,match:s},n):n??Dr(t,r),a=s?i:n;let c;return!0===e.stop?c={type:"stop",label:i}:void 0!==e.one?c=Wr(e.one,[...t,"one"],"one",a):void 0!==e.many?c=Wr(e.many,[...t,"many"],"many",a):void 0!==e.next&&(c=Zr(e.next,[...t,"next"],a)),s?{type:"gate",match:Rr(s),source:s,next:c??{type:"chain",value:[],label:i}}:void 0===c&&e.match?{type:"chain",value:[],label:i}:c}function Zr(e,t=[],n,r=!1){if(null!=e){if("string"==typeof e)return{type:"static",value:e,label:n??Dr(t,r)};if(Array.isArray(e)){if(0===e.length)return;if(Cr(e))return{type:"one",routes:qr(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??Dr(t,r)};const s=[];if(e.forEach((e,r)=>{const o=Zr(e,[...t,r],n,!0);void 0!==o&&s.push(o)}),0===s.length)return;return{type:"sequence",value:s}}return Kr(e,t,n,r,!1)}}var Vr=new WeakMap;function Br(e,t,n){return n?{type:"continuation",segments:e,at:t,tail:n}:{type:"continuation",segments:e,at:t}}function Hr(e){if(null==e)return;if(zr(e))return e;const t=function(e){if(null==e)return;if("object"!=typeof e)return Zr(e);const t=Vr.get(e);if(t)return t;const n=Zr(e);return n&&Vr.set(e,n),n}(e);return t?Br([t],0,void 0):void 0}function Jr(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=Br(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=Br(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)?Br([e.next],0,s):s;continue}if("one"===e.type){const n=e.routes.length>0?t.one(e.routes):-1;o=n>=0?Br([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=>Br([e.routes[t].next],0,s))};o=Br([e.routes[i[0]].next],0,s)}else o=s}return{ids:r}}function Gr(e,t){return Jr(Hr(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 Yr(e){return null==e?[]:[{route:e,ancestry:[]}]}function Xr(e){return Array.isArray(e)&&e.every(e=>"object"==typeof e&&null!==e&&!Array.isArray(e)&&"ancestry"in e)}function Qr(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 eo(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 to(e,t,n){let r=e;for(;r.length>0;){const[e,...o]=r;if("ids"in e){const t=Qr(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=eo(Gr(e.route,t),e.ancestry,o);if("stack"!==s.kind)return s;r=s.stack}return{kind:"done"}}function no(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=Hr(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=Qr(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=Jr(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}(Hr(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=eo(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(Yr(e),void 0,void 0),n}var ro="__walkeros_cache_v__",oo="__walkeros_cache_exp__";function so(e,t,n=Date.now){const r={[ro]:e};return void 0!==t&&(r[oo]=n()+t),r}function io(e,t=Date.now){if(void 0===e)return;if(null===(n=e)||"object"!=typeof n||Array.isArray(n)||!(ro in e))return{value:e};var n;const r=e[oo];return"number"==typeof r&&t()>r?{expired:!0}:{value:e[ro]}}var ao="__walkeros_cache__",co=class extends Error{constructor(e,t){super(e,t),this.name="StoreCodecError"}};function uo(e){return null!==e&&"object"==typeof e&&!Array.isArray(e)}function fo(e){if(Buffer.isBuffer(e))return{[ao]:"buffer",d:e.toString("base64")};if(e instanceof Uint8Array)return{[ao]:"buffer",d:Buffer.from(e.buffer,e.byteOffset,e.byteLength).toString("base64")};if(e instanceof ArrayBuffer)return{[ao]:"buffer",d:Buffer.from(e).toString("base64")};if(Array.isArray(e))return e.map(fo);if(uo(e)){if(ao in e){const t={};for(const[n,r]of Object.entries(e))t[n]=fo(r);return{[ao]:"escape",d:t}}const t={};for(const[n,r]of Object.entries(e))t[n]=fo(r);return t}return e}function lo(e,t){if(uo(e)){if(ao in e){const n=e[ao],r=e.d;if("buffer"===n&&"string"==typeof r)return t(Buffer.from(r,"base64"));if("escape"===n&&uo(r)){const e={};for(const[n,o]of Object.entries(r))e[n]=lo(o,t);return e}}const n={};for(const[r,o]of Object.entries(e))n[r]=lo(o,t);return n}return Array.isArray(e)?e.map(e=>lo(e,t)):e}function po(e){return new Uint8Array(e.buffer,e.byteOffset,e.byteLength)}function mo(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||mo(e)):!!uo(e)&&Object.values(e).every(e=>void 0===e||mo(e)))}function go(e){let t;try{t=JSON.stringify(fo(e))}catch(e){throw new co("Failed to serialize store value (likely a cyclic structure).",{cause:e})}return new Uint8Array(Buffer.from(t,"utf8"))}function ho(e){const t="string"==typeof e?e:Buffer.from(e).toString("utf8"),n=lo(JSON.parse(t),po);if(!mo(n))throw new co("Restored value is not a valid StoreValue.");return n}function vo(e={},t){return void 0===t?{ingest:e}:{ingest:e,event:t}}function yo(e){return{stop:e.stop??!1,storeId:e.store,namespace:e.namespace,rules:e.rules.map(e=>({match:e.match?Rr(e.match):()=>!0,key:e.key,ttl:e.ttl,update:e.update}))}}async function bo(e,t,n,r){const o=e.rules.find(e=>e.match(n));if(!o)return null;const s=o.key.map(e=>String(ze(n,e)??""));if(s.every(e=>""===e))return null;const i=s.join(":"),a=r??e.namespace,c=a?`${a}:${i}`:i,u=io(await t.get(c));if(void 0===u)return{status:"MISS",key:c,rule:o};if("expired"in u){try{await t.delete(c)}catch{}return{status:"MISS",key:c,rule:o}}return{status:"HIT",key:c,value:u.value,rule:o}}function wo(e,t,n,r){if(!mo(n))return;const o=1e3*r,s=e.set(t,so(n,o),o);se(s)&&Promise.resolve(s).catch(()=>{})}async function ko(e,t,n,r){if(!t)return e;let o=e;for(const[e,s]of Object.entries(t)){o=Le(o,e,await St(n,s,{collector:r}))}return o}function $o(e){return Q(e)?e:[e]}function jo(e){const t=/^(event|ingest)\.(.+)$/.exec(e);if(t)return{side:"event"===t[1]?"event":"ingest",path:t[2]}}function So(e){if(!ae(e.consent))return;const t={};for(const[n,r]of Object.entries(e.consent))"boolean"==typeof r&&(t[n]=r);return t}function Ao(e){return!ne(e)||(ae(e)?0===Object.keys(e).length:!!Q(e)&&!e.some(ne))}async function xo(e,t,n,r,o){const s=o??{};let i=n;for(const n of e)await bt(async()=>{const e=t(n.store);if(!e)return void r.logger?.error?.("[state] unknown store",{mode:n.mode,store:n.store});if(ae(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=vo(s,i),a={collector:r,event:i,consent:So(i)},c=await St(o,n.key,a);if(!ue(c))return void r.logger?.warn?.("[state] key did not resolve",{mode:n.mode,store:n.store,key:n.key});const u=n.store?c:`state:${c}`;if("set"===n.mode){const t=await St(o,n.value,a);if(!ne(n.mapping)){if(!ne(t))return;return void await e.set(u,t)}const s=await kt(t,n.mapping,a);if(!ne(s)||Ao(s))return;if(!ae(s))return void await e.set(u,s);const i=await e.get(u);return ne(i)&&!ae(i)&&r.logger?.warn?.("[state] stored value is not an object, replaced",{store:n.store}),void await e.set(u,ae(i)?Ve(Ce(i),s):s)}const f=ue(l=n.value)?l:ae(l)&&ue(l.key)?l.key:void 0;var l;if(!f)return;const p=jo(f);if(!p)return void r.logger?.warn?.("[state] get target needs an event. or ingest. prefix",{store:n.store,value:f});const d=await e.get(u);if(!ne(n.mapping)){if(!ne(d))return;return void("ingest"===p.side?Le(s,p.path,d,{mutable:!0}):i=Le(i,p.path,d))}ne(d)&&!gt(d)&&r.logger?.warn?.("[state] stored value has null or non-JSON values, mapping drops them",{store:n.store});const m=await kt(d,n.mapping,a);if(Ao(m))return;const g="ingest"===p.side?ze(s,p.path):ze(i,p.path),h=ae(g)&&ae(m)?Ve(Ce(g),m):m;"ingest"===p.side?Le(s,p.path,h,{mutable:!0}):i=Le(i,p.path,h)},e=>{if(e instanceof wt)throw e;r.logger?.error?.("[state] operation failed",e)})();return i}function Oo(e){return 0===e.length?"// no output":e.map(Eo).join(";\n\n")}function Eo(e){const[t,...n]=e,r=n.map(Io).join(", ");return"return"===t?r?`return ${r}`:"return":`${t}(${r})`}function Io(e){return void 0===e?"undefined":null===e?"null":"function"==typeof e?"[Function]":JSON.stringify(e,null,2)}export{Xt as CLOCK_SKEW_MS,n as Cache,r as Collector,E as Const,s as Context,i as Destination,Ae as ENV_MARKER_PREFIX,c as Elb,wt as FatalError,Se as FlowCycleError,je as FlowReferenceError,O as Hint,u as Hooks,Lt as InvalidEventError,l as Level,j as Lifecycle,f as Logger,Qt as MAX_SESSION_MS,un as MOIN_PARAM,fn as MOIN_PRODUCTION,p as Mapping,x as Matcher,cr as OBSERVE_ENV_KEY,nn as OBSERVE_STORAGE_KEY,d as On,J as REF_CODE_PREFIX,Z as REF_CONTRACT,K as REF_ENV,V as REF_FLOW,H as REF_SECRET,B as REF_STORE,W as REF_VAR_FULL,q as REF_VAR_INLINE,Vn as RESERVED_WINDOW_GLOBALS,h as Request,xe as SECRET_MARKER_PREFIX,tn as SESSION_STORAGE_KEY,me as STEP_FIELD_ROLES,ve as STEP_OPERATIVE_FIELDS,A as Simulation,v as Source,b as Store,co as StoreCodecError,m as Transformer,$ as Trigger,Yt as URL_WINDOW_MS,S as WalkerOS,to as advanceChain,M as anonymizeIP,xo as applyState,ko as applyUpdate,Rn as assembleJourneys,Te as assign,Nr as batchResponse,_ as branch,cn as browserSwapActivator,Ir as buildScopeFromNodeRequest,vt as castToProperty,qe as castValue,bo as checkCache,Hn as checkWindowCollector,Ce as clone,yo as compileCache,Rr as compileMatcher,$o as compileState,Dn as createBatchedPoster,Ze as createDestination,Xe as createEvent,I as createIngest,dt as createLogger,vo as createMappingRoot,Mt as createMockContext,_t as createMockLogger,Sr as createRespond,Ut as createTelemetryObserver,Qn as createTimer,ct as debounce,Ve as deepMerge,st as defaultClickIds,De as deleteByPath,tt as deriveSpanId,ho as deserializeStoreValue,Ln as emitStep,nr as fetchPackage,ar as fetchPackageSchema,ht as filterValues,We as flattenIncludeSections,Oo as formatOut,Un as getBrowser,Wn as getBrowserVersion,ze as getByPath,Zn as getDeviceType,er as getErrorMessage,Qe as getEvent,Me as getFlowSettings,Ke as getGrantedConsent,Tt as getHeaders,Be as getId,jt as getMappingEvent,St as getMappingValue,it as getMarketingParameters,Gr as getNextSteps,qn as getOS,Kn as getOSVersion,Pe as getPlatform,no as getRouteGraph,Ye as getSpanId,ge as getStepFieldRole,he as getStepRuntimeProps,nt as getTraceId,Cn as getTraceUntil,pe as getTransformerMapping,de as getTransformerMappingWarnings,X as isArguments,Q as isArray,Mr as isBatchBody,ee as isBoolean,Xr as isChainContinuation,te as isCommand,ne as isDefined,re as isElementOrDocument,ur as isEnvObserve,oe as isFunction,ie as isNumber,ae as isObject,ke as isPathStepEntry,gt as isPropertyType,Cr as isRouteArray,Tr as isRouteConfigEntry,zr as isRouteContinuation,ce as isSameType,Wt as isSampled,Er as isScope,mo as isStoreValue,ue as isString,se as isThenable,jr as mcpError,$r as mcpResult,L as mergeContractSchemas,Ot as mergeMappingRule,Et as mockEnv,dn as moin,Or as normalizeBody,Ar as normalizeHeaders,xr as normalizeQuery,yr as observeEnv,kr as observeFromEnv,_e as packageNameToVariable,lr as parseCallPath,Gt as parseGrant,wr as parseObserveCredential,ot as parseTraceparent,Fn as parseUserAgent,At as processEventMapping,Pr as pushResultToOutcome,io as readCacheEnvelope,Nt as requestToData,Pt as requestToParameter,z as resolveContracts,Ct as resolveSetup,qt as resolveTelemetryOptions,Y as scanFlowRefs,go as serializeStoreValue,Le as setByPath,zn as setTraceUntil,Yr as startChain,o as stepId,wo as storeCache,ut as throttle,N as throwError,_r as toEventList,Rt as transformData,It as traverseEnv,zt as trim,yt as tryCatch,bt as tryCatchAsync,Dt as useHooks,we as validateStepEntry,en as verifyActivation,Ee as walkPath,so as wrapCacheEnvelope,Gn as wrapCondition,Yn as wrapFn,Xn 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={},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