@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/CHANGELOG.md +49 -1
- package/dist/dev.d.mts +808 -47
- package/dist/dev.d.ts +808 -47
- package/dist/dev.js +1 -1
- package/dist/dev.js.map +1 -1
- package/dist/dev.mjs +1 -1
- package/dist/dev.mjs.map +1 -1
- package/dist/index.d.mts +466 -136
- package/dist/index.d.ts +466 -136
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +1 -1
- package/dist/index.mjs.map +1 -1
- package/dist/node.d.mts +129 -14
- package/dist/node.d.ts +129 -14
- package/dist/node.js +1 -1
- package/dist/node.js.map +1 -1
- package/dist/node.mjs +1 -1
- package/dist/node.mjs.map +1 -1
- package/package.json +1 -1
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
|