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