@walkeros/core 4.3.0 → 4.3.1-next-1784373088875

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.js CHANGED
@@ -1 +1 @@
1
- "use strict";var e,t=Object.defineProperty,n=Object.getOwnPropertyDescriptor,r=Object.getOwnPropertyNames,o=Object.prototype.hasOwnProperty,s=(e,n)=>{for(var r in n)t(e,r,{get:n[r],enumerable:!0})},i={};s(i,{CLOCK_SKEW_MS:()=>Tt,Cache:()=>a,Collector:()=>c,Const:()=>T,Context:()=>l,Destination:()=>f,ENV_MARKER_PREFIX:()=>ee,Elb:()=>d,FatalError:()=>ot,Hint:()=>N,Hooks:()=>m,Level:()=>h,Lifecycle:()=>O,Logger:()=>g,MAX_SESSION_MS:()=>Ct,Mapping:()=>v,Matcher:()=>M,OBSERVE_ENV_KEY:()=>Mn,On:()=>y,REF_CODE_PREFIX:()=>G,REF_CONTRACT:()=>W,REF_ENV:()=>q,REF_FLOW:()=>Z,REF_SECRET:()=>J,REF_STORE:()=>H,REF_VAR_FULL:()=>B,REF_VAR_INLINE:()=>K,Request:()=>k,SECRET_MARKER_PREFIX:()=>te,SESSION_STORAGE_KEY:()=>Ft,STEP_OPERATIVE_FIELDS:()=>pr,Simulation:()=>_,Source:()=>$,Store:()=>E,StoreCodecError:()=>Xn,Transformer:()=>b,Trigger:()=>I,URL_WINDOW_MS:()=>Nt,WalkerOS:()=>x,anonymizeIP:()=>R,applyState:()=>fr,applyUpdate:()=>ur,assembleJourneys:()=>un,assign:()=>ue,branch:()=>P,browserSwapActivator:()=>Bt,buildCacheContext:()=>sr,castToProperty:()=>tt,castValue:()=>Oe,checkCache:()=>ar,clone:()=>ke,compileCache:()=>ir,compileMatcher:()=>zn,compileState:()=>lr,createBatchedPoster:()=>mn,createDestination:()=>_e,createEvent:()=>ze,createIngest:()=>C,createLogger:()=>Xe,createMockContext:()=>mt,createMockLogger:()=>dt,createRespond:()=>Fn,createTelemetryObserver:()=>St,debounce:()=>We,deepMerge:()=>Me,defaultClickIds:()=>Be,deleteByPath:()=>Ee,deserializeStoreValue:()=>or,emitStep:()=>dn,fetchPackage:()=>On,fetchPackageSchema:()=>_n,filterValues:()=>et,flattenIncludeSections:()=>Ie,formatOut:()=>yr,getBrowser:()=>hn,getBrowserVersion:()=>vn,getByPath:()=>$e,getDeviceType:()=>wn,getEvent:()=>De,getFlowSettings:()=>ie,getGrantedConsent:()=>xe,getHeaders:()=>yt,getId:()=>Te,getMappingEvent:()=>st,getMappingValue:()=>it,getMarketingParameters:()=>Ke,getNextSteps:()=>Kn,getOS:()=>yn,getOSVersion:()=>bn,getPlatform:()=>ae,getSpanId:()=>Fe,getTraceId:()=>Ue,getTraceUntil:()=>fn,isArguments:()=>le,isArray:()=>fe,isBoolean:()=>pe,isCommand:()=>de,isDefined:()=>me,isElementOrDocument:()=>ge,isEnvObserve:()=>Nn,isFunction:()=>he,isNumber:()=>ve,isObject:()=>ye,isPathStepEntry:()=>vr,isPropertyType:()=>Qe,isRouteArray:()=>Un,isRouteConfigEntry:()=>Dn,isSameType:()=>be,isSampled:()=>Et,isStoreValue:()=>nr,isString:()=>we,mcpError:()=>Rn,mcpResult:()=>Pn,mergeContractSchemas:()=>U,mergeMappingRule:()=>lt,mockEnv:()=>ft,packageNameToVariable:()=>se,parseCallPath:()=>Cn,parseGrant:()=>Mt,parseTraceparent:()=>Le,parseUserAgent:()=>gn,processEventMapping:()=>ct,readCacheEnvelope:()=>Jn,requestToData:()=>gt,requestToParameter:()=>ht,resolveContracts:()=>D,resolveSetup:()=>bt,resolveTelemetryOptions:()=>At,scanFlowRefs:()=>Y,serializeStoreValue:()=>rr,setByPath:()=>Se,setTraceUntil:()=>pn,stepId:()=>u,storeCache:()=>cr,throttle:()=>Ze,throwError:()=>F,transformData:()=>vt,traverseEnv:()=>pt,trim:()=>wt,tryCatch:()=>nt,tryCatchAsync:()=>rt,useHooks:()=>kt,validateStepEntry:()=>hr,verifyActivation:()=>Pt,walkPath:()=>re,wrapCacheEnvelope:()=>Hn,wrapCondition:()=>$n,wrapFn:()=>Sn,wrapValidate:()=>En}),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 l={},f={};function p(e,t){const n=e.destinations[t];if(!n)throw new Error(`Destination not found: ${t}`);return n}s(f,{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 S(e,t){const n=e.sources[t];if(!n)throw new Error(`Source not found: ${t}`);return n}s($,{getSource:()=>S});var E={};function A(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(E,{getStore:()=>A,getStoreValue:()=>j});var I={},O={},x={},_={},M={},N={},T={Utils:{Storage:{Local:"local",Session:"session",Cookie:"cookie"}}};function C(e){return{_meta:{hops:0,path:[e]}}}function P(e,t){return{event:e,next:t}}function R(e){return/^(?:\d{1,3}\.){3}\d{1,3}$/.test(e)?e.replace(/\.\d+$/,".0"):""}function F(e){throw new Error(String(e))}var z=new Set(["description","examples","title","$comment"]);function D(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=U(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?U(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=U(o,s));const i=e["*"]?.[r];i&&"*"!==r&&(o=U(o,i));const a=e[n]?.["*"];a&&"*"!==r&&(o=U(o,a));const c=e[n]?.[r];c&&(o=U(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]=V(o)}a.events=e}return o.delete(t),r[t]=a,a}for(const t of Object.keys(e))s(t);return r}function U(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])]:L(o)&&L(s)?n[r]=U(o,s):n[r]=s}return n}function V(e){const t={};for(const[n,r]of Object.entries(e))z.has(n)||(null===r||"object"!=typeof r||Array.isArray(r)?t[n]=r:t[n]=V(r));return t}function L(e){return"object"==typeof e&&null!==e&&!Array.isArray(e)}var B=/^\$var\.([a-zA-Z_][a-zA-Z0-9_]*(?:\.[a-zA-Z_][a-zA-Z0-9_]*)*)$/,K=/\$var\.([a-zA-Z_][a-zA-Z0-9_]*(?:\.[a-zA-Z_][a-zA-Z0-9_]*)*)/g,q=/\$env\.([a-zA-Z_][a-zA-Z0-9_]*)(?::([^"}\s]*))?/g,W=/^\$contract\.([a-zA-Z_][a-zA-Z0-9_]*)(?:\.(.+))?$/,Z=/^\$flow\.([a-zA-Z_][a-zA-Z0-9_]*)(?:\.([a-zA-Z0-9_.]+))?$/,H=/^\$store\.([a-zA-Z_][a-zA-Z0-9_]*)$/,J=/^\$secret\.([A-Z0-9_]+)$/,G="$code:",X=/\$flow\.([a-zA-Z_][a-zA-Z0-9_]*)/g;function Y(e,t){const n=t??new Set;if("string"==typeof e){for(const t of e.matchAll(X))n.add(t[1]);return n}if(e&&"object"==typeof e)for(const t of Object.values(e))Y(t,n);return n}function Q(...e){const t={};for(const n of e)n&&Object.assign(t,n);return t}var ee="__WALKEROS_ENV:",te="__WALKEROS_SECRET:";function ne(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 re(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 oe(e,t,n,r,o,s){if("string"==typeof e){const i=e.match(B);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)){F(`Cyclic $var reference: ${[...u,a].join(" -> ")}`)}let l;u.add(a);try{l=oe(t[a],t,n,r,o,u)}finally{u.delete(a)}return c&&(l=re(l,c,`$var.${a}`)),l}const a=e.match(W);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=re(n,t,`$contract.${e}`)),n}const c=e.match(Z);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?.(ne(t,r,"unknown-flow")),e;F(`Flow "${t}" not found in $flow.${t}`)}let a=i;if(r)if(s){try{a=re(a,r,`$flow.${t}`)}catch{return n?.onWarning?.(ne(t,r,"missing-key")),e}if(null==a||""===a)return n?.onWarning?.(ne(t,r,"missing-key")),e}else a=re(a,r,`$flow.${t}`);return a}const u=e.match(J);if(u){const e=u[1];if(n?.deferred)return`${te}${e}`;F(`Secret "$secret.${e}" cannot be used in a web flow — secrets are never sent to the browser. Use a server flow.`)}let l=e.replace(K,(e,i)=>{const a=i.split("."),c=a[0],u=a.slice(1).join(".");void 0===t[c]&&F(`Variable "${c}" not found`);const l=s??new Set;if(l.has(c)){F(`Cyclic $var reference: ${[...l,c].join(" -> ")}`)}let f;l.add(c);try{f=oe(t[c],t,n,r,o,l)}finally{l.delete(c)}if(u&&(f=re(f,u,`$var.${c}`)),null===f||"string"!=typeof f&&"number"!=typeof f&&"boolean"!=typeof f){F(`Variable "${i}" resolves to non-scalar (${Array.isArray(f)?"array":typeof f}) and cannot be inlined into a string. Use it as a whole-string reference: "$var.${i}"`)}return String(f)});return l=l.replace(q,(e,t,r)=>n?.deferred?void 0!==r?`${ee}${t}:${r}`:`${ee}${t}`:"undefined"!=typeof process&&void 0!==process.env?.[t]?process.env[t]:void 0!==r?r:void F(`Environment variable "${t}" not found and no default provided`)),l}if(Array.isArray(e))return e.map(e=>oe(e,t,n,r,o,s));if(null!==e&&"object"==typeof e){const i={};for(const[a,c]of Object.entries(e))i[a]=oe(c,t,n,r,o,s);return i}return e}function se(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 ie(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)){F(`Cyclic $flow reference: ${[...s,t].join(" -> ")}`)}o.add(t),s.push(t);try{const o=Q(e.variables,a.variables),s=oe(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=Q(e.variables,t.variables);s=D(oe(e.contract,o,n,void 0,r))}if(o.config){const i=Q(e.variables,t.variables);o.config=oe(o.config,i,n,s,r)}if(o.sources)for(const[i,a]of Object.entries(o.sources)){const c=Q(e.variables,t.variables,a.variables),u=oe(a.config,c,n,s,r),l=oe(a.env,c,n,s,r);o.sources[i]={package:a.package,import:a.import,config:u,env:l,primary:a.primary,variables:a.variables,before:a.before,next:a.next,cache:a.cache,code:a.code}}if(o.destinations)for(const[i,a]of Object.entries(o.destinations)){const c=Q(e.variables,t.variables,a.variables),u=oe(a.config,c,n,s,r),l=oe(a.env,c,n,s,r);o.destinations[i]={package:a.package,import:a.import,config:u,env:l,variables:a.variables,before:a.before,next:a.next,cache:a.cache,code:a.code}}if(o.stores)for(const[i,a]of Object.entries(o.stores)){const c=Q(e.variables,t.variables,a.variables),u=oe(a.config,c,n,s,r),l=oe(a.env,c,n,s,r);o.stores[i]={package:a.package,import:a.import,config:u,env:l,cache:a.cache,variables:a.variables,code:a.code}}if(o.transformers)for(const[i,a]of Object.entries(o.transformers)){const c=Q(e.variables,t.variables,a.variables),u=oe(a.config,c,n,s,r),l=oe(a.env,c,n,s,r);o.transformers[i]={package:a.package,import:a.import,config:u,env:l,variables:a.variables,before:a.before,next:a.next,cache:a.cache,code:a.code}}if(o.collector){const i=Q(e.variables,t.variables),a=oe(o.collector,i,n,s,r);o.collector=a}return o}(e,c,n,i)}finally{o.delete(t),s.pop()}}function ae(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 ce={merge:!0,shallow:!0,extend:!0};function ue(e,t={},n={}){n={...ce,...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 le(e){return"[object Arguments]"===Object.prototype.toString.call(e)}function fe(e){return Array.isArray(e)}function pe(e){return"boolean"==typeof e}function de(e){return"walker"===e}function me(e){return void 0!==e}function ge(e){return!(!e||"object"!=typeof e)&&("body"in e||"tagName"in e)}function he(e){return"function"==typeof e}function ve(e){return"number"==typeof e&&!Number.isNaN(e)}function ye(e){return"object"==typeof e&&null!==e&&!fe(e)&&"[object Object]"===Object.prototype.toString.call(e)}function be(e,t){return typeof e==typeof t}function we(e){return"string"==typeof e}function ke(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]=ke(e[r],t));return n}if("[object Array]"===n){const n=[];return t.set(e,n),e.forEach(e=>{n.push(ke(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 $e(e,t="",n){const r=t.split(".");let o=e;for(let e=0;e<r.length;e++){const t=r[e];if("*"===t&&fe(o)){const t=r.slice(e+1).join("."),s=[];for(const e of o){const r=$e(e,t,n);s.push(r)}return s}if(o=ye(o)||fe(o)?o[t]:void 0,void 0===o)break}return me(o)?o:n}function Se(e,t,n){if(!ye(e))return e;const r=ke(e),o=t.split(".");let s=r;for(let e=0;e<o.length;e++){const t=o[e];e===o.length-1?s[t]=n:(t in s&&"object"==typeof s[t]&&null!==s[t]||(s[t]={}),s=s[t])}return r}function Ee(e,t){if(!ye(e)&&!fe(e))return e;const n=ke(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(fe(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(!ye(t)&&!fe(t))return n;o=t}}else if(s)delete o[t];else{const e=o[t];if(!ye(e)&&!fe(e))return n;o=e}}return n}var Ae={data:e=>e.data,globals:e=>e.globals,context:e=>e.context,user:e=>e.user,source:e=>e.source,event:e=>({entity:e.entity,action:e.action,id:e.id,timestamp:e.timestamp,name:e.name,trigger:e.trigger,timing:e.timing})};function je(e,t,n){if(ye(n))for(const[r,o]of Object.entries(n))void 0!==o&&je(e,`${t}_${r}`,o);else e[t]=n}function Ie(e,t){const n={},r=t.includes("all")?Object.keys(Ae):t;for(const t of r){const r=Ae[t];if(!r)continue;const o=r(e);if(ye(o))for(const[e,r]of Object.entries(o)){if(void 0===r)continue;je(n,`${t}_${e}`,"context"===t&&Array.isArray(r)?r[0]:r)}}return n}function Oe(e){if("true"===e)return!0;if("false"===e)return!1;const t=Number(e);return e==t&&""!==e?t:String(e)}function xe(e,t={},n={}){const r={...t,...n},o={};let s=!e||0===Object.keys(e).length;return Object.keys(r).forEach(t=>{r[t]&&(o[t]=!0,e&&e[t]&&(s=!0))}),!!s&&o}function _e(e,t){const n={...e};return n.config=ue(e.config,t,{shallow:!0,merge:!0,extend:!0}),e.config.settings&&t.settings&&(n.config.settings=ue(e.config.settings,t.settings,{shallow:!0,merge:!0,extend:!0})),e.config.mapping&&t.mapping&&(n.config.mapping=ue(e.config.mapping,t.mapping,{shallow:!0,merge:!0,extend:!0})),n}function Me(e,t){if(!ye(t))return e;for(const n of Object.keys(t)){const r=t[n];void 0!==r&&(ye(r)&&ye(e[n])?Me(e[n],r):e[n]=r)}return e}var Ne="0123456789abcdefghijklmnopqrstuvwxyz";function Te(e=6,t=Ne){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(!Ce(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 Ce(e){try{const t=globalThis.crypto;if(t&&"function"==typeof t.getRandomValues)return t.getRandomValues(e),!0}catch{}return!1}var Pe="0123456789abcdef";function Re(e){let t=Te(e,Pe);for(;/^0+$/.test(t);)t=Te(e,Pe);return t}function Fe(){return Re(16)}function ze(e={}){const t=e.timestamp||(new Date).setHours(0,13,37,0),n=ue({name:"entity action",data:{string:"foo",number:1,boolean:!0,array:[0,"text",!1],not:void 0},context:{dev:["test",1]},globals:{lang:"elb"},custom:{completely:"random"},user:{id:"us3r",device:"c00k13",session:"s3ss10n"},nested:[{entity:"child",data:{is:"subordinated"}}],consent:{functional:!0},id:e.id||Fe(),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 De(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 ze({...{"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 Ue(){return Re(32)}var Ve=/^(?<version>[0-9a-f]{2})-(?<trace>[0-9a-f]{32})-(?<span>[0-9a-f]{16})-[0-9a-f]{2}$/;function Le(e){if("string"!=typeof e)return;const t=Ve.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 Be=[{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 Ke(e,t={},n=[]){const r={};Object.entries(ue({utm_campaign:"campaign",utm_content:"content",utm_medium:"medium",utm_source:"source",utm_term:"term"},t)).forEach(([t,n])=>{const o=e.searchParams.get(t);o&&(r[n]=o)});const o=n.length?function(e){const t=new Map(e.map(e=>[e.param,e.platform])),n=new Set(Be.map(e=>e.param));return[...Be.map(e=>t.has(e.param)?{param:e.param,platform:t.get(e.param)}:e),...e.filter(e=>!n.has(e.param))]}(n):Be,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 qe(e,t){return"number"==typeof e?{wait:e}:e?{wait:e.wait??t,size:e.size,age:e.age}:{wait:t}}function We(e,t=1e3,n=!1){const{wait:r,size:o,age:s}=qe(t,1e3);let i,a,c=null,u=null,l=!1,f=[],p=0;const d=()=>{c&&(clearTimeout(c),c=null),u&&(clearTimeout(u),u=null),p=0,a=void 0},m=()=>{const t=a,n=f;if(d(),f=[],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&&!l;if(a=t,p+=1,f.push(d),c&&clearTimeout(c),c=setTimeout(()=>{c=null,n&&!l||m()},r),void 0===s||u||(u=setTimeout(()=>{u=null,m()},s)),void 0!==o&&p>=o)m();else if(g){l=!0,i=e(...t);const n=f;f=[],n.forEach(e=>e(i))}});return g.flush=()=>a||0!==f.length?new Promise(e=>{f.push(e),m()}):Promise.resolve(i),g.cancel=()=>{const e=f;f=[],d(),i=void 0,e.forEach(e=>e(void 0))},g.size=()=>p,g}function Ze(e,t=1e3){const{wait:n}=qe(t,1e3);let r=null;return function(...t){if(null===r)return r=setTimeout(()=>{r=null},n),e(...t)}}function He(e){return{message:e.message,name:e.name,stack:e.stack,cause:e.cause}}function Je(e,t){let n,r={};return e instanceof Error?(n=e.message,r.error=He(e)):n=e,void 0!==t&&(t instanceof Error?r.error=He(t):"object"==typeof t&&null!==t?(r={...r,...t},"error"in r&&r.error instanceof Error&&(r.error=He(r.error))):r.value=t),{message:n,context:r}}var Ge=(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 Xe(e={}){return Ye({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 Ye(e){const{level:t,handler:n,jsonHandler:r,scope:o}=e,s=(e,r,s)=>{if(e<=t){const t=Je(r,s);n?n(e,t.message,t.context,o,Ge):Ge(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=Je(e,t);throw n?n(0,r.message,r.context,o,Ge):Ge(0,r.message,r.context,o),new Error(r.message)},json:e=>{r?r(e):console.log(JSON.stringify(e,null,2))},scope:e=>Ye({level:t,handler:n,jsonHandler:r,scope:[...o,e]})}}function Qe(e){return pe(e)||we(e)||ve(e)||!me(e)||fe(e)&&e.every(Qe)||ye(e)&&Object.values(e).every(Qe)}function et(e){return pe(e)||we(e)||ve(e)?e:le(e)?et(Array.from(e)):fe(e)?e.map(e=>et(e)).filter(e=>void 0!==e):ye(e)?Object.entries(e).reduce((e,[t,n])=>{const r=et(n);return void 0!==r&&(e[t]=r),e},{}):void 0}function tt(e){return Qe(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 rt(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 ot=class e extends Error{constructor(t,n){super(t,n),this.name="FatalError",Object.setPrototypeOf(this,e.prototype)}};async function st(e,t,n){const[r,o]=(e.name||"").split(" ");if(!t||!r||!o)return{};let s,i="",a=r,c=o;const u=t=>{if(!t)return;return(fe(t)?t:[t]).find(t=>{if(!t.condition)return!0;if(!n)return Boolean(t.condition(e,void 0));const r={event:e,mapping:t,collector:n,logger:n.logger,consent:ye(e)&&e.consent||n.consent};return Boolean(t.condition(e,r))})};t[a]||(a="*");const l=t[a];return l&&(l[c]||(c="*"),s=u(l[c])),s||(a="*",c="*",s=u(t[a]?.[c])),s&&(i=`${a} ${c}`),{eventMapping:s,mappingKey:i}}async function it(e,t={},n={}){if(!me(e))return;const r=ye(e)&&e.consent||n.consent||n.collector?.consent,o=n.event??(ye(e)?e:{});if(!n.collector)throw new Error("getMappingValue: context.collector is required");const s={event:o,mapping:t,collector:n.collector,logger:n.collector.logger,consent:r},i=fe(t)?t:[t];for(const t of i){const r=await rt(at,e=>{if(e instanceof ot)throw e;n.collector&&n.collector.status.failed++,s.logger.error("mapping processing failed",{event:o,error:e})})(e,t,{...s,mapping:t});if(me(r))return r}}async function at(e,t,n){return(fe(t)?t:[t]).reduce(async(t,r)=>{const o=await t;if(o)return o;const s=we(r)?{key:r}:r;if(!Object.keys(s).length)return;const{condition:i,consent:a,fn:c,key:u,loop:l,map:f,set:p,validate:d,value:m}=s,g={...n,mapping:r};if(i&&!await rt(i,e=>{if(e instanceof ot)throw e;return g.logger.error("mapping condition failed",{event:g.event,error:e}),!1})(e,g))return;if(a&&!xe(a,g.consent))return m;let h=me(m)?m:e;if(c&&(h=await rt(c,e=>{if(e instanceof ot)throw e;g.logger.error("mapping fn failed",{event:g.event,error:e})})(e,g)),u&&(h=$e(e,u,m)),l){const[t,n]=l,r="this"===t?[e]:await it(e,t,g);fe(r)&&(h=(await Promise.all(r.map(e=>it(e,n,g)))).filter(me))}else f?h=await Object.entries(f).reduce(async(t,[n,r])=>{const o=await t,s=await it(e,r,g);return me(s)&&(o[n]=s),o},Promise.resolve({})):p&&(h=await Promise.all(p.map(t=>at(e,t,g))));d&&!await rt(d,e=>{if(e instanceof ot)throw e;return g.logger.error("mapping validate failed",{event:g.event,error:e}),!1})(h,g)&&(h=void 0);const v=tt(h);return me(v)?v:tt(m)},Promise.resolve(void 0))}async function ct(e,t,n){t.policy&&await Promise.all(Object.entries(t.policy).map(async([t,r])=>{const o=await it(e,r,{collector:n,event:e});e=Se(e,t,o)}));const{eventMapping:r,mappingKey:o}=await st(e,t.mapping,n);r?.policy&&await Promise.all(Object.entries(r.policy).map(async([t,r])=>{const o=await it(e,r,{collector:n,event:e});e=Se(e,t,o)}));let s=t.data&&await it(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 it(e,r.data,{collector:n,event:e});s=ye(s)&&ye(t)?ue(s,t):t}}const a=r?.include??t.include;if(a&&a.length>0){const t=Ie(e,a);Object.keys(t).length>0&&(s=ye(s)?ue(t,s):s??t)}if(r?.remove&&ye(s))for(const e of r.remove)s=Ee(s,e);return{event:e,data:s,mapping:r,mappingKey:o,ignore:!1,silent:i}}function ut(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];ye(r)&&ye(o)?ut(o,r):e[n]=r}return e}function lt(e,t){if(void 0===t.extend&&void 0===t.remove)return ke(t);const n={...ke(e)};if(t.extend){ut(n,{...t.extend})}return delete n.extend,t.remove?n.remove=[...t.remove]:delete n.remove,n}function ft(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 pt(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 dt(){const e=[],t=jest.fn(e=>{const t=e instanceof Error?e.message:e;throw new Error(t)}),n=jest.fn(t=>{const n=dt();return e.push(n),n});return{error:jest.fn(),warn:jest.fn(),info:jest.fn(),debug:jest.fn(),throw:t,json:jest.fn(),scope:n,scopedLoggers:e}}function mt(e={}){return{collector:{},config:{},env:{},logger:dt(),id:"test",ingest:C("test"),...e}}function gt(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(fe(o)){const i=parseInt(t,10);s?o[i]=Oe(e):(o[i]=o[i]||(isNaN(parseInt(r[n+1],10))?{}:[]),o=o[i])}else ye(o)&&(s?o[t]=Oe(e):(o[t]=o[t]||(isNaN(parseInt(r[n+1],10))?{}:[]),o=o[t]))})}),t})()}function ht(e){if(!e)return"";const t=[],n=encodeURIComponent;function r(e,o){null!=o&&(fe(o)?o.forEach((t,n)=>r(`${e}[${n}]`,t)):ye(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 vt(e){return void 0===e||be(e,"")?e:JSON.stringify(e)}function yt(e={}){return ue({"Content-Type":"application/json; charset=utf-8"},e)}function bt(e,t){return!1===e||void 0===e?null:!0===e?t:{...t,...e}}function wt(e){return e?e.trim().replace(/^'|'$/g,"").trim():""}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],l=(e,t)=>{r?r.warn(e,{error:t}):console.warn(e,t)};if(c)try{s=c({fn:o},...e)}catch(t){l(`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){l(`Hook ${String(a)} failed, keeping original result`,e)}return s}}function $t(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 St(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&&!$t(t.eventId,i))return;const a=r.includeIn??"trace"===o,c=r.includeOut??"trace"===o,u=r.includeMappingKey??"trace"===o,l={...t};a||delete l.inEvent,c||(delete l.outEvent,delete l.calls),u||delete l.mappingKey,"trace"!==o&&l.error?.message&&l.error.message.length>256&&(l.error={...l.error,message:l.error.message.slice(0,256)+"…"});try{e(l)}catch{}}}function Et(e,t){return $t(e,t)}function At(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 jt=/^[A-Za-z0-9_-]+$/;function It(e){if(!jt.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 Ot(e){const t=new Uint8Array(e.length);for(let n=0;n<e.length;n++)t[n]=e.charCodeAt(n);return t}function xt(e){const t=It(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 _t(e){return"object"==typeof e&&null!==e&&!Array.isArray(e)}function Mt(e){if(!e)return null;const t=e.split("."),[n,r,o]=t;if(3!==t.length||!n||!r||!o)return null;const s=xt(n);if(!_t(s))return null;const i=s.kid,a=s.alg;if("string"!=typeof i||"ES256"!==a)return null;const c=xt(r);if(!function(e){if(!_t(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&&jt.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=It(o);return u&&64===u.byteLength?{grant:c,kid:i,signed:Ot(`${n}.${r}`),signature:u}:null}var Nt=9e5,Tt=6e4,Ct=39e5;async function Pt(e,t){const n=Mt(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+Tt)return{ok:!1,reason:"expired"};if(1e3*r.sxp-1e3*r.iat>Ct)return{ok:!1,reason:"expired"};const a="url"===t.source?Math.min(1e3*r.iat+Nt,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 l=t.crypto??globalThis.crypto,f=l?.subtle;if(!f)return{ok:!1,reason:"no-subtle"};const p=function(e){return It(e)}(u.spki);if(!p)return{ok:!1,reason:"kid-mismatch"};try{const e=await f.importKey("spki",p,{name:"ECDSA",namedCurve:"P-256"},!1,["verify"]);if(!await f.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 Rt="elbPreview",Ft="elbPreviewSession",zt="[walkerOS:preview]",Dt=5e3,Ut=globalThis;function Vt(e){let t=null;return{get(){try{return Ut.window?.localStorage.getItem(e)??t}catch{return t}},set(n){try{Ut.window?.localStorage.setItem(e,n)}catch{t=n}},clear(){t=null;try{Ut.window?.localStorage.removeItem(e)}catch{}}}}function Lt(){const e=Ut.window,t=Ut.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");const u=c.toString();e.history.replaceState({},"",`${a}${u?`?${u}`:""}${o}`)}catch{}}async function Bt(e){const t=Ut.window;if(!t||!Ut.document)return!1;const n=Vt(Rt),r=Vt(Ft),o=e.now??(()=>Date.now()),s=e=>Ut.console?.warn(`${zt} ${e}`);let i=null,a=null;const c=Ut.URLSearchParams;if(c)try{const e=new c(t.location.search.replace(/^\?/,"")),n=e.getAll("elbPreview");i=n.length>0?n[n.length-1]??null:null;const r=e.getAll("elbPreviewSession");a=r.length>0?r[r.length-1]??null:null}catch{i=null,a=null}if("off"===i)return n.clear(),r.clear(),Lt(),!1;const u=n.get();if(!i&&!u)return!1;const l=(n,r)=>Pt(n,{keyring:e.keyring,iss:e.iss,origin:t.location.origin,pb:e.pb,acceptForeign:e.acceptForeign,demoAllowlist:e.demoAllowlist,source:r,now:o(),crypto:e.crypto});let f=null;if(i){const e=await l(i,"url");e.ok?(f=e.grant,n.set(i),a?r.set(a):r.clear()):s(e.reason),Lt()}if(!f&&u){const e=await l(u,"storage");e.ok?f=e.grant:(s(e.reason),"no-subtle"!==e.reason&&(n.clear(),r.clear()))}if(!f)return!1;const p=`https://${e.previewOrigin}/preview/${f.art}.js`,d=await function(e,t){return new Promise(n=>{const r=Ut.document;if(!r)return void n(!1);const o=r.createElement("script");let s,i=!1;const a=e=>{i||(i=!0,void 0!==s&&Ut.clearTimeout?.(s),!e&&o.parentNode&&o.parentNode.removeChild(o),n(e))};s=Ut.setTimeout?.(()=>a(!1),Dt),o.onload=()=>a(!0),o.onerror=()=>a(!1),o.setAttribute("integrity",t),o.setAttribute("crossorigin","anonymous"),o.src=e,r.head.appendChild(o)})}(p,f.sri);return d?(Ut.console?.info(`${zt} active ${f.art} ends ${new Date(1e3*f.sxp).toISOString()}`),!0):(s("swap-failed"),n.clear(),r.clear(),!1)}var Kt=15e3,qt={error:5,skip:4,out:3,in:2,init:1,flush:0},Wt="\0none",Zt="\0";function Ht(e,t){return`${e??Wt}${Zt}${t}`}function Jt(e){const t=Date.parse(e);return Number.isNaN(t)?0:t}function Gt(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 qt[e.phase]-qt[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}function Xt(e){switch(e){case"error":return"error";case"skip":return"skipped";case"out":return"done";case"in":case"init":case"flush":return"pending"}}function Yt(e){return"out"===e.terminalPhase||"error"===e.terminalPhase||"skip"===e.terminalPhase||!0===e.batched}function Qt(e){return"done"===e.status&&("transformer"!==e.stepType||null!==e.out&&void 0!==e.out)}function en(e,t,n,r){const o=n.get(Ht(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 tn(e){const t=new Map,n=new Map;e.nodes.forEach((e,r)=>{const o={node:e,rank:r,key:Ht(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=en(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 nn(e,t,n){const r=e.byKey.get(Ht(n,t));if(void 0!==r)return r;const o=e.byKey.get(Ht(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 rn(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(Yt)?"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&&Qt(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||!Yt(t))return"partial"}return"complete"}(e,t,r):e.every(Yt)?"complete":"partial"}function on(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,l,f,p,d,m,g,h=i[0],v=i[0];for(const e of i)e.elapsedMs<h.elapsedMs&&(h=e),qt[e.phase]>qt[v.phase]&&(v=e),"out"===e.phase&&(a=e),void 0!==e.inEvent&&void 0===c&&(c=e.inEvent),void 0!==e.outEvent&&(u=e.outEvent),void 0!==e.mappingKey&&(l=e.mappingKey),void 0!==e.contractRule&&(f=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);const y=v.phase,b=a?.durationMs,w="error"===y?v.error:void 0,k="skip"===y?v.skipReason:void 0,$=a?.calls,S="out"===v.phase&&void 0!==v.batch||void 0,E=!(!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)qt[e.phase]>qt[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:Xt(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:h.stepId,stepType:h.stepType,eventId:h.eventId,status:Xt(y),terminalPhase:y,startedAtMs:t.elapsedMs,timestamp:t.timestamp,...void 0!==h.platform?{platform:h.platform}:{},...void 0!==g?{parentEventId:g}:{},...void 0!==b?{durationMs:b}:{},...void 0!==c?{in:c}:{},...void 0!==u?{out:u}:{},...void 0!==w?{error:w}:{},...void 0!==k?{skipReason:k}:{},...void 0!==l?{mappingKey:l}:{},...void 0!==f?{contractRule:f}:{},...void 0!==p?{consent:p}:{},...void 0!==d?{consentApplied:d}:{},...void 0!==$?{calls:$}:{},...void 0!==A?{branches:A}:{},...void 0!==S?{batched:S}:{},...void 0!==E?{flushConfirmed:E}:{},...void 0!==m?{meta:m}:{}}}function sn(e,t){const n=e.map(e=>({hop:e,rank:void 0!==t?nn(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 an(e){const t=e.filter(e=>"collector"===e.stepType&&"in"===e.phase),n=t.length>0?t:e;let r=n[0],o=Jt(r.timestamp);for(const e of n){const t=Jt(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 cn(e,t,n,r,o){const{topo:s}=o,i=new Map;for(const e of r){const t=Ht(e.platform,e.stepId),n=i.get(t);n?n.push(e):i.set(t,[e])}const a=[...i.values()].map(on),c=new Map;for(const e of a){const t=e.platform??Wt;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,Jt(e.timestamp))}const u=function(e){const t=new Map,n=e.map((e,t)=>t).sort((t,n)=>{const r=e[t].platform??Wt,o=e[n].platform??Wt;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??Wt,r=t.seg.platform??Wt;return n<r?-1:n>r?1:0}).map(e=>e.seg)}([...c.values()]),l=[],f=[];for(const e of u){void 0===e.platform||f.includes(e.platform)||f.push(e.platform);for(const t of sn(e.hops,s))l.push(t)}let p=Number.POSITIVE_INFINITY,d=Number.NEGATIVE_INFINITY;for(const e of r){const t=Jt(e.timestamp);t<p&&(p=t),t>d&&(d=t)}const m=rn(l,f,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}(f,p,d,o.gaps);return{id:e,correlation:t,...void 0!==n?{traceId:n}:{},entry:an(r),hops:l,platforms:f,status:m,lossy:g,firstTimestamp:p,lastTimestamp:d,totalMs:d-p}}function un(e,t){const n={...void 0!==t?.topology?{topo:tn(t.topology)}:{},settleMs:t?.settleMs??Kt,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?`seq${Zt}${r.platform??""}${Zt}${r.seq}`:`tuple${Zt}${r.platform??""}${Zt}${r.stepId}${Zt}${r.phase}${Zt}${r.eventId}${Zt}${r.branchId??""}${Zt}${r.elapsedMs}`;t.has(e)||(t.add(e),n.push(r))}return n}(e),o=[...r].sort(Gt);n.gaps=function(e){const t=new Map;for(const n of e){if(void 0===n.seq)continue;const e=n.platform??Wt,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=Jt(e.timestamp),r=Jt(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:Jt(s.timestamp),toMs:Jt(e.timestamp),afterSeq:i,beforeSeq:t})}s=e,i=t}else s=e,i=t}else s=e,i=t}}return n}(r);const s=o.filter(e=>!(""===e.eventId&&!e.traceId)),i=new Map;for(const e of s){const t=e.traceId?e.traceId:void 0,n=t?`trace${Zt}${t}`:`event${Zt}${e.eventId}`;let r=i.get(n);r||(r=t?{id:t,correlation:"trace",traceId:t,records:[]}:{id:`event:${e.eventId}`,correlation:"legacy",records:[]},i.set(n,r)),r.records.push(e)}const a=[...i.values()].map(e=>cn(e.id,e.correlation,e.traceId,e.records,n));return a.sort((e,t)=>e.firstTimestamp!==t.firstTimestamp?e.firstTimestamp-t.firstTimestamp:e.id<t.id?-1:e.id>t.id?1:0),{journeys:a,gaps:n.gaps}}var ln=null;function fn(){return ln}function pn(e){ln=e}function dn(e,t){if(0===e.observers.size)return;const n=Array.from(e.observers);for(const e of n)try{e(t)}catch{}}function mn(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??(()=>{});let u=[],l=null,f=0;function p(e){const t=JSON.stringify(e);if(e.length<=1)return[t];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}(t)<=i)return[t];const n=Math.floor(e.length/2);return[...p(e.slice(0,n)),...p(e.slice(n))]}function d(t){return Promise.resolve().then(()=>a(e.url,{method:"POST",headers:{"Content-Type":"application/json",Authorization:`Bearer ${e.token}`},body:t})).then(e=>{e&&"object"==typeof e&&"ok"in e&&!e.ok&&c(new Error(`Observer responded ${e.status}`))}).catch(e=>{c(e)})}function m(){if(0===u.length)return;const e=u;u=[],l&&(clearTimeout(l),l=null);const t=p(e);(async()=>{for(const e of t)await d(e)})()}return e=>{u.push({...e,seq:++f}),u.length>=o?m():null===l&&(l=setTimeout(m,n))}}function gn(e){return e?{userAgent:e,browser:hn(e),browserVersion:vn(e),os:yn(e),osVersion:bn(e),deviceType:wn(e)}:{}}function hn(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 vn(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 yn(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 bn(e){const t=e.match(/(?:Windows NT|Mac OS X|Android|iPhone OS) ([0-9._]+)/);return t?t[1].replace(/_/g,"."):void 0}function wn(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}function kn(e){return function(e){return/\breturn\b/.test(e)}(e)?e:`return ${e}`}function $n(e){const t=kn(e);return new Function("value","context",t)}function Sn(e){const t=kn(e);return new Function("value","context",t)}function En(e){const t=kn(e);return new Function("value","context",t)}var An="https://cdn.jsdelivr.net/npm",jn="dist/walkerOS.json";function In(e){return"string"==typeof e||Array.isArray(e)&&e.every(e=>"string"==typeof e)?e:void 0}async function On(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;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}}(e,n,await o.json())}const r=`${An}/${e}@${n}`,o=await xn(`${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=[],l=i.step||{};for(const[e,t]of Object.entries(l)){const n=t,r={name:e};"string"==typeof n?.description&&(r.description=n.description),u.push(r)}const f="string"==typeof o.docs?o.docs:void 0,p="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:In(o.platform),schemas:s,examples:i,...f?{docs:f}:{},...p?{source:p}:{},...a&&Object.keys(a).length>0?{hints:a}:{},hintKeys:c,exampleSummaries:u}}(e,n,o,await xn(`${r}/${jn}`,i,a))}finally{clearTimeout(s)}}async function xn(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 _n(e,t){const n=await On(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 Mn="observe";function Nn(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 Tn="call:";function Cn(e){const t=(e.startsWith(Tn)?e.slice(Tn.length):e).split(".");return t.some(e=>""===e)?[]:t}function Pn(e,t){const n=t?{...e,_hints:t}:e;return{content:[{type:"text",text:JSON.stringify(n,null,2)}],structuredContent:n}}function Rn(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 Fn(e){let t=!1;return(n={})=>{t||(t=!0,e(n))}}function zn(e){if(void 0===e||"*"===e)return()=>!0;if("and"in e){const t=e.and.map(zn);return e=>t.every(t=>t(e))}if("or"in e){const t=e.or.map(zn);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=$e(e,t),r=s(n);return o?!r:r}}(e)}function Dn(e){return"object"==typeof e&&null!==e&&!Array.isArray(e)&&("match"in e||"next"in e||"one"in e||"many"in e)}function Un(e){return Array.isArray(e)&&e.length>0&&e.every(e=>Dn(e))}function Vn(e){return e.map(e=>{if("string"==typeof e)return{match:()=>!0,next:{type:"static",value:e}};if(Array.isArray(e))return{match:()=>!0,next:Ln(e)??{type:"chain",value:[]}};const t=e;return{match:t.match?zn(t.match):()=>!0,next:Ln(t)??{type:"chain",value:[]}}})}function Ln(e){if(null==e)return;if("string"==typeof e)return{type:"static",value:e};if(Array.isArray(e)){if(0===e.length)return;if(Un(e))return Ln({one:e});if(e.every(e=>"string"==typeof e))return{type:"chain",value:e};const t=[];for(const n of e){const e=Ln(n);void 0!==e&&t.push(e)}if(0===t.length)return;return{type:"sequence",value:t}}const t=e;if("next"in t&&void 0!==t.next)return t.match?{type:"gate",match:zn(t.match),next:Ln(t.next)}:Ln(t.next);if("one"in t&&t.one){const e=Vn(t.one);return t.match?{type:"gate",match:zn(t.match),next:{type:"one",routes:e}}:{type:"one",routes:e}}if("many"in t&&t.many){const e=Vn(t.many);return t.match?{type:"gate",match:zn(t.match),next:{type:"many",routes:e}}:{type:"many",routes:e}}return t.match?{type:"gate",match:zn(t.match)}:void 0}var Bn=new WeakMap;function Kn(e,t={}){if(null==e)return[];let n;if("object"==typeof e){const t=Bn.get(e);t?n=t:(n=Ln(e),n&&Bn.set(e,n))}else n=Ln(e);if(!n)return[];const r=qn(n,t);return void 0===r?[]:Array.isArray(r)?r:[r]}function qn(e,t={}){if(e){if("static"===e.type)return e.value;if("chain"===e.type)return e.value;if("gate"===e.type){if(!e.match(t))return;return qn(e.next,t)}if("sequence"===e.type){const n=[];for(const r of e.value){const e=qn(r,t);void 0!==e&&(Array.isArray(e)?n.push(...e):n.push(e))}return n.length>0?n:void 0}if("many"===e.type){const n=[];for(const r of e.routes){if(!r.match(t))continue;const e=qn(r.next,t);void 0!==e&&(Array.isArray(e)?n.push(...e):n.push(e))}return n.length>0?n:void 0}for(const n of e.routes)if(n.match(t))return qn(n.next,t)}}var Wn="__walkeros_cache_v__",Zn="__walkeros_cache_exp__";function Hn(e,t,n=Date.now){const r={[Wn]:e};return void 0!==t&&(r[Zn]=n()+t),r}function Jn(e,t=Date.now){if(void 0===e)return;if(null===(n=e)||"object"!=typeof n||Array.isArray(n)||!(Wn in e))return{value:e};var n;const r=e[Zn];return"number"==typeof r&&t()>r?{expired:!0}:{value:e[Wn]}}var Gn="__walkeros_cache__",Xn=class extends Error{constructor(e,t){super(e,t),this.name="StoreCodecError"}};function Yn(e){return null!==e&&"object"==typeof e&&!Array.isArray(e)}function Qn(e){if(Buffer.isBuffer(e))return{[Gn]:"buffer",d:e.toString("base64")};if(e instanceof Uint8Array)return{[Gn]:"buffer",d:Buffer.from(e.buffer,e.byteOffset,e.byteLength).toString("base64")};if(e instanceof ArrayBuffer)return{[Gn]:"buffer",d:Buffer.from(e).toString("base64")};if(Array.isArray(e))return e.map(Qn);if(Yn(e)){if(Gn in e){const t={};for(const[n,r]of Object.entries(e))t[n]=Qn(r);return{[Gn]:"escape",d:t}}const t={};for(const[n,r]of Object.entries(e))t[n]=Qn(r);return t}return e}function er(e,t){if(Yn(e)){if(Gn in e){const n=e[Gn],r=e.d;if("buffer"===n&&"string"==typeof r)return t(Buffer.from(r,"base64"));if("escape"===n&&Yn(r)){const e={};for(const[n,o]of Object.entries(r))e[n]=er(o,t);return e}}const n={};for(const[r,o]of Object.entries(e))n[r]=er(o,t);return n}return Array.isArray(e)?e.map(e=>er(e,t)):e}function tr(e){return new Uint8Array(e.buffer,e.byteOffset,e.byteLength)}function nr(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||nr(e)):!!Yn(e)&&Object.values(e).every(e=>void 0===e||nr(e)))}function rr(e){let t;try{t=JSON.stringify(Qn(e))}catch(e){throw new Xn("Failed to serialize store value (likely a cyclic structure).",{cause:e})}return new Uint8Array(Buffer.from(t,"utf8"))}function or(e){const t="string"==typeof e?e:Buffer.from(e).toString("utf8"),n=er(JSON.parse(t),tr);if(!nr(n))throw new Xn("Restored value is not a valid StoreValue.");return n}function sr(e,t){const n={ingest:e??{}};return void 0!==t&&(n.event=t),n}function ir(e){return{stop:e.stop??!1,storeId:e.store,namespace:e.namespace,rules:e.rules.map(e=>({match:e.match?zn(e.match):()=>!0,key:e.key,ttl:e.ttl,update:e.update}))}}async function ar(e,t,n,r){const o=e.rules.find(e=>e.match(n));if(!o)return null;const s=o.key.map(e=>String($e(n,e)??""));if(s.every(e=>""===e))return null;const i=s.join(":"),a=r??e.namespace,c=a?`${a}:${i}`:i,u=Jn(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 cr(e,t,n,r){if(!nr(n))return;const o=1e3*r,s=e.set(t,Hn(n,o),o);s instanceof Promise&&s.catch(()=>{})}async function ur(e,t,n,r){if(!t)return e;let o=e;for(const[e,s]of Object.entries(t)){o=Se(o,e,await it(n,s,{collector:r}))}return o}function lr(e){return fe(e)?e:[e]}async function fr(e,t,n,r){let o=n;for(const n of e)await rt(async()=>{const e=t(n.store);if(!e)return;const s=await it(o,n.key,{collector:r,event:o});if(!we(s))return;const i=n.store?s:`state:${s}`;if("set"===n.mode){const t=await it(o,n.value,{collector:r,event:o});if(!me(t))return;await e.set(i,t)}else{const t=we(a=n.value)?a:ye(a)&&we(a.key)?a.key:void 0;if(!t)return;const r=await e.get(i);if(!me(r))return;o=Se(o,t,r)}var a},e=>{if(e instanceof ot)throw e;r.logger?.error?.("[state] operation failed",e)})();return o}var pr={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"]},dr=["config","env","variables","examples","disabled","id","logger","mock","chainMocks"],mr={Source:["primary"],Transformer:[],Destination:[],Store:[]},gr=/^[A-Za-z_$][A-Za-z0-9_$]*$/;function hr(e,t){const n=function(e){return new Set([...pr[e],...dr,...mr[e]])}(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&&gr.test(e.import)?{ok:!0}:{ok:!1,code:"INVALID_IMPORT",key:"import",reason:`import must match ${gr.source}. Got: ${JSON.stringify(e.import)}.`}}function vr(e,t){return"Transformer"===t&&(void 0===e.code&&void 0===e.package&&void 0===e.import&&(void 0!==e.before||void 0!==e.next||void 0!==e.cache||void 0!==e.state||void 0!==e.mapping))}function yr(e){return 0===e.length?"// no output":e.map(br).join(";\n\n")}function br(e){const[t,...n]=e,r=n.map(wr).join(", ");return"return"===t?r?`return ${r}`:"return":`${t}(${r})`}function wr(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:()=>Tt,Cache:()=>a,Collector:()=>c,Const:()=>T,Context:()=>u,Destination:()=>f,ENV_MARKER_PREFIX:()=>ee,Elb:()=>d,FatalError:()=>ot,Hint:()=>N,Hooks:()=>m,Level:()=>h,Lifecycle:()=>I,Logger:()=>g,MAX_SESSION_MS:()=>Ct,Mapping:()=>v,Matcher:()=>M,OBSERVE_ENV_KEY:()=>Nn,OBSERVE_STORAGE_KEY:()=>zt,On:()=>y,REF_CODE_PREFIX:()=>J,REF_CONTRACT:()=>q,REF_ENV:()=>W,REF_FLOW:()=>Z,REF_SECRET:()=>G,REF_STORE:()=>H,REF_VAR_FULL:()=>K,REF_VAR_INLINE:()=>B,Request:()=>k,SECRET_MARKER_PREFIX:()=>te,SESSION_STORAGE_KEY:()=>Ft,STEP_OPERATIVE_FIELDS:()=>hr,Simulation:()=>_,Source:()=>E,Store:()=>$,StoreCodecError:()=>tr,Transformer:()=>b,Trigger:()=>j,URL_WINDOW_MS:()=>Nt,WalkerOS:()=>x,anonymizeIP:()=>P,applyState:()=>gr,applyUpdate:()=>dr,assembleJourneys:()=>un,assign:()=>le,branch:()=>R,browserSwapActivator:()=>Bt,buildCacheContext:()=>lr,castToProperty:()=>tt,castValue:()=>Ie,checkCache:()=>fr,clone:()=>ke,compileCache:()=>ur,compileMatcher:()=>Un,compileState:()=>mr,createBatchedPoster:()=>gn,createDestination:()=>_e,createEvent:()=>ze,createIngest:()=>C,createLogger:()=>Xe,createMockContext:()=>mt,createMockLogger:()=>dt,createRespond:()=>Ln,createTelemetryObserver:()=>St,debounce:()=>qe,deepMerge:()=>Me,defaultClickIds:()=>Ke,deleteByPath:()=>$e,deserializeStoreValue:()=>cr,emitStep:()=>mn,fetchPackage:()=>xn,fetchPackageSchema:()=>Mn,filterValues:()=>et,flattenIncludeSections:()=>je,formatOut:()=>Er,getBrowser:()=>vn,getBrowserVersion:()=>yn,getByPath:()=>Ee,getDeviceType:()=>kn,getEvent:()=>De,getFlowSettings:()=>ie,getGrantedConsent:()=>xe,getHeaders:()=>yt,getId:()=>Te,getMappingEvent:()=>st,getMappingValue:()=>it,getMarketingParameters:()=>Be,getNextSteps:()=>Hn,getOS:()=>bn,getOSVersion:()=>wn,getPlatform:()=>ae,getSpanId:()=>Fe,getTraceId:()=>Ve,getTraceUntil:()=>pn,isArguments:()=>ue,isArray:()=>fe,isBoolean:()=>pe,isCommand:()=>de,isDefined:()=>me,isElementOrDocument:()=>ge,isEnvObserve:()=>Tn,isFunction:()=>he,isNumber:()=>ve,isObject:()=>ye,isPathStepEntry:()=>kr,isPropertyType:()=>Qe,isRouteArray:()=>Bn,isRouteConfigEntry:()=>Kn,isSameType:()=>be,isSampled:()=>$t,isStoreValue:()=>ir,isString:()=>we,mcpError:()=>Vn,mcpResult:()=>Dn,mergeContractSchemas:()=>V,mergeMappingRule:()=>ut,mockEnv:()=>ft,observeFromEnv:()=>zn,packageNameToVariable:()=>se,parseCallPath:()=>Rn,parseGrant:()=>Mt,parseObserveCredential:()=>Fn,parseTraceparent:()=>Ue,parseUserAgent:()=>hn,processEventMapping:()=>ct,readCacheEnvelope:()=>Qn,requestToData:()=>gt,requestToParameter:()=>ht,resolveContracts:()=>D,resolveSetup:()=>bt,resolveTelemetryOptions:()=>At,scanFlowRefs:()=>Y,serializeStoreValue:()=>ar,setByPath:()=>Se,setTraceUntil:()=>dn,stepId:()=>l,storeCache:()=>pr,throttle:()=>Ze,throwError:()=>F,transformData:()=>vt,traverseEnv:()=>pt,trim:()=>wt,tryCatch:()=>nt,tryCatchAsync:()=>rt,useHooks:()=>kt,validateStepEntry:()=>wr,verifyActivation:()=>Rt,walkPath:()=>re,wrapCacheEnvelope:()=>Yn,wrapCondition:()=>Sn,wrapFn:()=>$n,wrapValidate:()=>An}),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 l(e,t){if("collector"===e)return"collector";if(!t)throw new Error(`stepId(${e}) requires an id`);return`${e}.${t}`}s(c,{stepId:()=>l});var u={},f={};function p(e,t){const n=e.destinations[t];if(!n)throw new Error(`Destination not found: ${t}`);return n}s(f,{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={},E={};function S(e,t){const n=e.sources[t];if(!n)throw new Error(`Source not found: ${t}`);return n}s(E,{getSource:()=>S});var $={};function A(e,t){const n=e.stores[t];if(!n)throw new Error(`Store not found: ${t}`);return n}async function O(e,t){return await e.get(t)}s($,{getStore:()=>A,getStoreValue:()=>O});var j={},I={},x={},_={},M={},N={},T={Utils:{Storage:{Local:"local",Session:"session",Cookie:"cookie"}}};function C(e){return{_meta:{hops:0,path:[e]}}}function R(e,t){return{event:e,next:t}}function P(e){return/^(?:\d{1,3}\.){3}\d{1,3}$/.test(e)?e.replace(/\.\d+$/,".0"):""}function F(e){throw new Error(String(e))}var z=new Set(["description","examples","title","$comment"]);function D(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=V(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?V(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=V(o,s));const i=e["*"]?.[r];i&&"*"!==r&&(o=V(o,i));const a=e[n]?.["*"];a&&"*"!==r&&(o=V(o,a));const c=e[n]?.[r];c&&(o=V(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]=L(o)}a.events=e}return o.delete(t),r[t]=a,a}for(const t of Object.keys(e))s(t);return r}function V(e,t){const n={...e};for(const r of Object.keys(t)){const o=e[r],s=t[r];"required"===r&&Array.isArray(o)&&Array.isArray(s)?n[r]=[...new Set([...o,...s])]:U(o)&&U(s)?n[r]=V(o,s):n[r]=s}return n}function L(e){const t={};for(const[n,r]of Object.entries(e))z.has(n)||(null===r||"object"!=typeof r||Array.isArray(r)?t[n]=r:t[n]=L(r));return t}function U(e){return"object"==typeof e&&null!==e&&!Array.isArray(e)}var K=/^\$var\.([a-zA-Z_][a-zA-Z0-9_]*(?:\.[a-zA-Z_][a-zA-Z0-9_]*)*)$/,B=/\$var\.([a-zA-Z_][a-zA-Z0-9_]*(?:\.[a-zA-Z_][a-zA-Z0-9_]*)*)/g,W=/\$env\.([a-zA-Z_][a-zA-Z0-9_]*)(?::([^"}\s]*))?/g,q=/^\$contract\.([a-zA-Z_][a-zA-Z0-9_]*)(?:\.(.+))?$/,Z=/^\$flow\.([a-zA-Z_][a-zA-Z0-9_]*)(?:\.([a-zA-Z0-9_.]+))?$/,H=/^\$store\.([a-zA-Z_][a-zA-Z0-9_]*)$/,G=/^\$secret\.([A-Z0-9_]+)$/,J="$code:",X=/\$flow\.([a-zA-Z_][a-zA-Z0-9_]*)/g;function Y(e,t){const n=t??new Set;if("string"==typeof e){for(const t of e.matchAll(X))n.add(t[1]);return n}if(e&&"object"==typeof e)for(const t of Object.values(e))Y(t,n);return n}function Q(...e){const t={};for(const n of e)n&&Object.assign(t,n);return t}var ee="__WALKEROS_ENV:",te="__WALKEROS_SECRET:";function ne(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 re(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 oe(e,t,n,r,o,s){if("string"==typeof e){const i=e.match(K);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 l=s??new Set;if(l.has(a)){F(`Cyclic $var reference: ${[...l,a].join(" -> ")}`)}let u;l.add(a);try{u=oe(t[a],t,n,r,o,l)}finally{l.delete(a)}return c&&(u=re(u,c,`$var.${a}`)),u}const a=e.match(q);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=re(n,t,`$contract.${e}`)),n}const c=e.match(Z);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?.(ne(t,r,"unknown-flow")),e;F(`Flow "${t}" not found in $flow.${t}`)}let a=i;if(r)if(s){try{a=re(a,r,`$flow.${t}`)}catch{return n?.onWarning?.(ne(t,r,"missing-key")),e}if(null==a||""===a)return n?.onWarning?.(ne(t,r,"missing-key")),e}else a=re(a,r,`$flow.${t}`);return a}const l=e.match(G);if(l){const e=l[1];if(n?.deferred)return`${te}${e}`;F(`Secret "$secret.${e}" cannot be used in a web flow — secrets are never sent to the browser. Use a server flow.`)}let u=e.replace(B,(e,i)=>{const a=i.split("."),c=a[0],l=a.slice(1).join(".");void 0===t[c]&&F(`Variable "${c}" not found`);const u=s??new Set;if(u.has(c)){F(`Cyclic $var reference: ${[...u,c].join(" -> ")}`)}let f;u.add(c);try{f=oe(t[c],t,n,r,o,u)}finally{u.delete(c)}if(l&&(f=re(f,l,`$var.${c}`)),null===f||"string"!=typeof f&&"number"!=typeof f&&"boolean"!=typeof f){F(`Variable "${i}" resolves to non-scalar (${Array.isArray(f)?"array":typeof f}) and cannot be inlined into a string. Use it as a whole-string reference: "$var.${i}"`)}return String(f)});return u=u.replace(W,(e,t,r)=>n?.deferred?void 0!==r?`${ee}${t}:${r}`:`${ee}${t}`:"undefined"!=typeof process&&void 0!==process.env?.[t]?process.env[t]:void 0!==r?r:void F(`Environment variable "${t}" not found and no default provided`)),u}if(Array.isArray(e))return e.map(e=>oe(e,t,n,r,o,s));if(null!==e&&"object"==typeof e){const i={};for(const[a,c]of Object.entries(e))i[a]=oe(c,t,n,r,o,s);return i}return e}function se(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 ie(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)){F(`Cyclic $flow reference: ${[...s,t].join(" -> ")}`)}o.add(t),s.push(t);try{const o=Q(e.variables,a.variables),s=oe(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=Q(e.variables,t.variables);s=D(oe(e.contract,o,n,void 0,r))}if(o.config){const i=Q(e.variables,t.variables);o.config=oe(o.config,i,n,s,r)}if(o.sources)for(const[i,a]of Object.entries(o.sources)){const c=Q(e.variables,t.variables,a.variables),l=oe(a.config,c,n,s,r),u=oe(a.env,c,n,s,r);o.sources[i]={package:a.package,import:a.import,config:l,env:u,primary:a.primary,variables:a.variables,before:a.before,next:a.next,cache:a.cache,code:a.code}}if(o.destinations)for(const[i,a]of Object.entries(o.destinations)){const c=Q(e.variables,t.variables,a.variables),l=oe(a.config,c,n,s,r),u=oe(a.env,c,n,s,r);o.destinations[i]={package:a.package,import:a.import,config:l,env:u,variables:a.variables,before:a.before,next:a.next,cache:a.cache,code:a.code}}if(o.stores)for(const[i,a]of Object.entries(o.stores)){const c=Q(e.variables,t.variables,a.variables),l=oe(a.config,c,n,s,r),u=oe(a.env,c,n,s,r);o.stores[i]={package:a.package,import:a.import,config:l,env:u,cache:a.cache,variables:a.variables,code:a.code}}if(o.transformers)for(const[i,a]of Object.entries(o.transformers)){const c=Q(e.variables,t.variables,a.variables),l=oe(a.config,c,n,s,r),u=oe(a.env,c,n,s,r);o.transformers[i]={package:a.package,import:a.import,config:l,env:u,variables:a.variables,before:a.before,next:a.next,cache:a.cache,code:a.code}}if(o.collector){const i=Q(e.variables,t.variables),a=oe(o.collector,i,n,s,r);o.collector=a}return o}(e,c,n,i)}finally{o.delete(t),s.pop()}}function ae(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 ce={merge:!0,shallow:!0,extend:!0};function le(e,t={},n={}){n={...ce,...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){return"[object Arguments]"===Object.prototype.toString.call(e)}function fe(e){return Array.isArray(e)}function pe(e){return"boolean"==typeof e}function de(e){return"walker"===e}function me(e){return void 0!==e}function ge(e){return!(!e||"object"!=typeof e)&&("body"in e||"tagName"in e)}function he(e){return"function"==typeof e}function ve(e){return"number"==typeof e&&!Number.isNaN(e)}function ye(e){return"object"==typeof e&&null!==e&&!fe(e)&&"[object Object]"===Object.prototype.toString.call(e)}function be(e,t){return typeof e==typeof t}function we(e){return"string"==typeof e}function ke(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]=ke(e[r],t));return n}if("[object Array]"===n){const n=[];return t.set(e,n),e.forEach(e=>{n.push(ke(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 Ee(e,t="",n){const r=t.split(".");let o=e;for(let e=0;e<r.length;e++){const t=r[e];if("*"===t&&fe(o)){const t=r.slice(e+1).join("."),s=[];for(const e of o){const r=Ee(e,t,n);s.push(r)}return s}if(o=ye(o)||fe(o)?o[t]:void 0,void 0===o)break}return me(o)?o:n}function Se(e,t,n){if(!ye(e))return e;const r=ke(e),o=t.split(".");let s=r;for(let e=0;e<o.length;e++){const t=o[e];e===o.length-1?s[t]=n:(t in s&&"object"==typeof s[t]&&null!==s[t]||(s[t]={}),s=s[t])}return r}function $e(e,t){if(!ye(e)&&!fe(e))return e;const n=ke(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(fe(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(!ye(t)&&!fe(t))return n;o=t}}else if(s)delete o[t];else{const e=o[t];if(!ye(e)&&!fe(e))return n;o=e}}return n}var Ae={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 Oe(e,t,n){if(ye(n))for(const[r,o]of Object.entries(n))void 0!==o&&Oe(e,`${t}_${r}`,o);else e[t]=n}function je(e,t){const n={},r=t.includes("all")?Object.keys(Ae):t;for(const t of r){const r=Ae[t];if(!r)continue;const o=r(e);if(ye(o))for(const[e,r]of Object.entries(o)){if(void 0===r)continue;Oe(n,`${t}_${e}`,"context"===t&&Array.isArray(r)?r[0]:r)}}return n}function Ie(e){if("true"===e)return!0;if("false"===e)return!1;const t=Number(e);return e==t&&""!==e?t:String(e)}function xe(e,t={},n={}){const r={...t,...n},o={};let s=!e||0===Object.keys(e).length;return Object.keys(r).forEach(t=>{r[t]&&(o[t]=!0,e&&e[t]&&(s=!0))}),!!s&&o}function _e(e,t){const n={...e};return n.config=le(e.config,t,{shallow:!0,merge:!0,extend:!0}),e.config.settings&&t.settings&&(n.config.settings=le(e.config.settings,t.settings,{shallow:!0,merge:!0,extend:!0})),e.config.mapping&&t.mapping&&(n.config.mapping=le(e.config.mapping,t.mapping,{shallow:!0,merge:!0,extend:!0})),n}function Me(e,t){if(!ye(t))return e;for(const n of Object.keys(t)){const r=t[n];void 0!==r&&(ye(r)&&ye(e[n])?Me(e[n],r):e[n]=r)}return e}var Ne="0123456789abcdefghijklmnopqrstuvwxyz";function Te(e=6,t=Ne){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(!Ce(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 Ce(e){try{const t=globalThis.crypto;if(t&&"function"==typeof t.getRandomValues)return t.getRandomValues(e),!0}catch{}return!1}var Re="0123456789abcdef";function Pe(e){let t=Te(e,Re);for(;/^0+$/.test(t);)t=Te(e,Re);return t}function Fe(){return Pe(16)}function ze(e={}){const t=e.timestamp||(new Date).setHours(0,13,37,0),n=le({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||Fe(),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 De(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 ze({...{"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 Ve(){return Pe(32)}var Le=/^(?<version>[0-9a-f]{2})-(?<trace>[0-9a-f]{32})-(?<span>[0-9a-f]{16})-[0-9a-f]{2}$/;function Ue(e){if("string"!=typeof e)return;const t=Le.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 Ke=[{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 Be(e,t={},n=[]){const r={};Object.entries(le({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(Ke.map(e=>e.param));return[...Ke.map(e=>t.has(e.param)?{param:e.param,platform:t.get(e.param)}:e),...e.filter(e=>!n.has(e.param))]}(n):Ke,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 We(e,t){return"number"==typeof e?{wait:e}:e?{wait:e.wait??t,size:e.size,age:e.age}:{wait:t}}function qe(e,t=1e3,n=!1){const{wait:r,size:o,age:s}=We(t,1e3);let i,a,c=null,l=null,u=!1,f=[],p=0;const d=()=>{c&&(clearTimeout(c),c=null),l&&(clearTimeout(l),l=null),p=0,a=void 0},m=()=>{const t=a,n=f;if(d(),f=[],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&&!u;if(a=t,p+=1,f.push(d),c&&clearTimeout(c),c=setTimeout(()=>{c=null,n&&!u||m()},r),void 0===s||l||(l=setTimeout(()=>{l=null,m()},s)),void 0!==o&&p>=o)m();else if(g){u=!0,i=e(...t);const n=f;f=[],n.forEach(e=>e(i))}});return g.flush=()=>a||0!==f.length?new Promise(e=>{f.push(e),m()}):Promise.resolve(i),g.cancel=()=>{const e=f;f=[],d(),i=void 0,e.forEach(e=>e(void 0))},g.size=()=>p,g}function Ze(e,t=1e3){const{wait:n}=We(t,1e3);let r=null;return function(...t){if(null===r)return r=setTimeout(()=>{r=null},n),e(...t)}}function He(e){return{message:e.message,name:e.name,stack:e.stack,cause:e.cause}}function Ge(e,t){let n,r={};return e instanceof Error?(n=e.message,r.error=He(e)):n=e,void 0!==t&&(t instanceof Error?r.error=He(t):"object"==typeof t&&null!==t?(r={...r,...t},"error"in r&&r.error instanceof Error&&(r.error=He(r.error))):r.value=t),{message:n,context:r}}var Je=(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 Xe(e={}){return Ye({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 Ye(e){const{level:t,handler:n,jsonHandler:r,scope:o}=e,s=(e,r,s)=>{if(e<=t){const t=Ge(r,s);n?n(e,t.message,t.context,o,Je):Je(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=Ge(e,t);throw n?n(0,r.message,r.context,o,Je):Je(0,r.message,r.context,o),new Error(r.message)},json:e=>{r?r(e):console.log(JSON.stringify(e,null,2))},scope:e=>Ye({level:t,handler:n,jsonHandler:r,scope:[...o,e]})}}function Qe(e){return pe(e)||we(e)||ve(e)||!me(e)||fe(e)&&e.every(Qe)||ye(e)&&Object.values(e).every(Qe)}function et(e){return pe(e)||we(e)||ve(e)?e:ue(e)?et(Array.from(e)):fe(e)?e.map(e=>et(e)).filter(e=>void 0!==e):ye(e)?Object.entries(e).reduce((e,[t,n])=>{const r=et(n);return void 0!==r&&(e[t]=r),e},{}):void 0}function tt(e){return Qe(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 rt(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 ot=class e extends Error{constructor(t,n){super(t,n),this.name="FatalError",Object.setPrototypeOf(this,e.prototype)}};async function st(e,t,n){const[r,o]=(e.name||"").split(" ");if(!t||!r||!o)return{};let s,i="",a=r,c=o;const l=t=>{if(!t)return;return(fe(t)?t:[t]).find(t=>{if(!t.condition)return!0;if(!n)return Boolean(t.condition(e,void 0));const r={event:e,mapping:t,collector:n,logger:n.logger,consent:ye(e)&&e.consent||n.consent};return Boolean(t.condition(e,r))})};t[a]||(a="*");const u=t[a];return u&&(u[c]||(c="*"),s=l(u[c])),s||(a="*",c="*",s=l(t[a]?.[c])),s&&(i=`${a} ${c}`),{eventMapping:s,mappingKey:i}}async function it(e,t={},n={}){if(!me(e))return;const r=ye(e)&&e.consent||n.consent||n.collector?.consent,o=n.event??(ye(e)?e:{});if(!n.collector)throw new Error("getMappingValue: context.collector is required");const s={event:o,mapping:t,collector:n.collector,logger:n.collector.logger,consent:r},i=fe(t)?t:[t];for(const t of i){const r=await rt(at,e=>{if(e instanceof ot)throw e;n.collector&&n.collector.status.failed++,s.logger.error("mapping processing failed",{event:o,error:e})})(e,t,{...s,mapping:t});if(me(r))return r}}async function at(e,t,n){return(fe(t)?t:[t]).reduce(async(t,r)=>{const o=await t;if(o)return o;const s=we(r)?{key:r}:r;if(!Object.keys(s).length)return;const{condition:i,consent:a,fn:c,key:l,loop:u,map:f,set:p,validate:d,value:m}=s,g={...n,mapping:r};if(i&&!await rt(i,e=>{if(e instanceof ot)throw e;return g.logger.error("mapping condition failed",{event:g.event,error:e}),!1})(e,g))return;if(a&&!xe(a,g.consent))return m;let h=me(m)?m:e;if(c&&(h=await rt(c,e=>{if(e instanceof ot)throw e;g.logger.error("mapping fn failed",{event:g.event,error:e})})(e,g)),l&&(h=Ee(e,l,m)),u){const[t,n]=u,r="this"===t?[e]:await it(e,t,g);fe(r)&&(h=(await Promise.all(r.map(e=>it(e,n,g)))).filter(me))}else f?h=await Object.entries(f).reduce(async(t,[n,r])=>{const o=await t,s=await it(e,r,g);return me(s)&&(o[n]=s),o},Promise.resolve({})):p&&(h=await Promise.all(p.map(t=>at(e,t,g))));d&&!await rt(d,e=>{if(e instanceof ot)throw e;return g.logger.error("mapping validate failed",{event:g.event,error:e}),!1})(h,g)&&(h=void 0);const v=tt(h);return me(v)?v:tt(m)},Promise.resolve(void 0))}async function ct(e,t,n){t.policy&&await Promise.all(Object.entries(t.policy).map(async([t,r])=>{const o=await it(e,r,{collector:n,event:e});e=Se(e,t,o)}));const{eventMapping:r,mappingKey:o}=await st(e,t.mapping,n);r?.policy&&await Promise.all(Object.entries(r.policy).map(async([t,r])=>{const o=await it(e,r,{collector:n,event:e});e=Se(e,t,o)}));let s=t.data&&await it(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 it(e,r.data,{collector:n,event:e});s=ye(s)&&ye(t)?le(s,t):t}}const a=r?.include??t.include;if(a&&a.length>0){const t=je(e,a);Object.keys(t).length>0&&(s=ye(s)?le(t,s):s??t)}if(r?.remove&&ye(s))for(const e of r.remove)s=$e(s,e);return{event:e,data:s,mapping:r,mappingKey:o,ignore:!1,silent:i}}function lt(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];ye(r)&&ye(o)?lt(o,r):e[n]=r}return e}function ut(e,t){if(void 0===t.extend&&void 0===t.remove)return ke(t);const n={...ke(e)};if(t.extend){lt(n,{...t.extend})}return delete n.extend,t.remove?n.remove=[...t.remove]:delete n.remove,n}function ft(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 pt(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 dt(){const e=[],t=jest.fn(e=>{const t=e instanceof Error?e.message:e;throw new Error(t)}),n=jest.fn(t=>{const n=dt();return e.push(n),n});return{error:jest.fn(),warn:jest.fn(),info:jest.fn(),debug:jest.fn(),throw:t,json:jest.fn(),scope:n,scopedLoggers:e}}function mt(e={}){return{collector:{},config:{},env:{},logger:dt(),id:"test",ingest:C("test"),...e}}function gt(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(fe(o)){const i=parseInt(t,10);s?o[i]=Ie(e):(o[i]=o[i]||(isNaN(parseInt(r[n+1],10))?{}:[]),o=o[i])}else ye(o)&&(s?o[t]=Ie(e):(o[t]=o[t]||(isNaN(parseInt(r[n+1],10))?{}:[]),o=o[t]))})}),t})()}function ht(e){if(!e)return"";const t=[],n=encodeURIComponent;function r(e,o){null!=o&&(fe(o)?o.forEach((t,n)=>r(`${e}[${n}]`,t)):ye(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 vt(e){return void 0===e||be(e,"")?e:JSON.stringify(e)}function yt(e={}){return le({"Content-Type":"application/json; charset=utf-8"},e)}function bt(e,t){return!1===e||void 0===e?null:!0===e?t:{...t,...e}}function wt(e){return e?e.trim().replace(/^'|'$/g,"").trim():""}function kt(e,t,n,r){const o=e;return function(...e){let s;const i="pre"+t,a="post"+t,c=n[i],l=n[a],u=(e,t)=>{r?r.warn(e,{error:t}):console.warn(e,t)};if(c)try{s=c({fn:o},...e)}catch(t){u(`Hook ${String(i)} failed, falling back to original function`,t),s=o(...e)}else s=o(...e);if(l)try{s=l({fn:o,result:s},...e)}catch(e){u(`Hook ${String(a)} failed, keeping original result`,e)}return s}}function Et(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 St(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&&!Et(t.eventId,i))return;const a=r.includeIn??"trace"===o,c=r.includeOut??"trace"===o,l=r.includeMappingKey??"trace"===o,u={...t};a||delete u.inEvent,c||(delete u.outEvent,delete u.calls),l||delete u.mappingKey,"trace"!==o&&u.error?.message&&u.error.message.length>256&&(u.error={...u.error,message:u.error.message.slice(0,256)+"…"});try{e(u)}catch{}}}function $t(e,t){return Et(e,t)}function At(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 Ot=/^[A-Za-z0-9_-]+$/;function jt(e){if(!Ot.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 It(e){const t=new Uint8Array(e.length);for(let n=0;n<e.length;n++)t[n]=e.charCodeAt(n);return t}function xt(e){const t=jt(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 _t(e){return"object"==typeof e&&null!==e&&!Array.isArray(e)}function Mt(e){if(!e)return null;const t=e.split("."),[n,r,o]=t;if(3!==t.length||!n||!r||!o)return null;const s=xt(n);if(!_t(s))return null;const i=s.kid,a=s.alg;if("string"!=typeof i||"ES256"!==a)return null;const c=xt(r);if(!function(e){if(!_t(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&&Ot.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 l=jt(o);return l&&64===l.byteLength?{grant:c,kid:i,signed:It(`${n}.${r}`),signature:l}:null}var Nt=9e5,Tt=6e4,Ct=39e5;async function Rt(e,t){const n=Mt(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+Tt)return{ok:!1,reason:"expired"};if(1e3*r.sxp-1e3*r.iat>Ct)return{ok:!1,reason:"expired"};const a="url"===t.source?Math.min(1e3*r.iat+Nt,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 l=t.keyring.find(e=>e.kid===o);if(!l)return{ok:!1,reason:"kid-mismatch"};const u=t.crypto??globalThis.crypto,f=u?.subtle;if(!f)return{ok:!1,reason:"no-subtle"};const p=function(e){return jt(e)}(l.spki);if(!p)return{ok:!1,reason:"kid-mismatch"};try{const e=await f.importKey("spki",p,{name:"ECDSA",namedCurve:"P-256"},!1,["verify"]);if(!await f.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 Pt="elbPreview",Ft="elbPreviewSession",zt="elbObserve",Dt="[walkerOS:preview]",Vt=5e3,Lt=globalThis;function Ut(e){let t=null;return{get(){try{return Lt.window?.localStorage.getItem(e)??t}catch{return t}},set(n){try{Lt.window?.localStorage.setItem(e,n)}catch{t=n}},clear(){t=null;try{Lt.window?.localStorage.removeItem(e)}catch{}}}}function Kt(){const e=Lt.window,t=Lt.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 l=c.toString();e.history.replaceState({},"",`${a}${l?`?${l}`:""}${o}`)}catch{}}async function Bt(e){const t=Lt.window;if(!t||!Lt.document)return!1;const n=Ut(Pt),r=Ut(Ft),o=Ut(zt),s=e.now??(()=>Date.now()),i=e=>Lt.console?.warn(`${Dt} ${e}`);let a=null,c=null,l=null;const u=Lt.URLSearchParams;if(u)try{const e=new u(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");l=o.length>0?o[o.length-1]??null:null}catch{a=null,c=null,l=null}if("off"===a)return n.clear(),r.clear(),o.clear(),Kt(),!1;const f=n.get();if(!a&&!f)return!1;const p=(n,r)=>Rt(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(),l?o.set(l):o.clear()):i(e.reason),Kt()}if(!d&&f){const e=await p(f,"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`,g=await function(e,t){return new Promise(n=>{const r=Lt.document;if(!r)return void n(!1);const o=r.createElement("script");let s,i=!1;const a=e=>{i||(i=!0,void 0!==s&&Lt.clearTimeout?.(s),!e&&o.parentNode&&o.parentNode.removeChild(o),n(e))};s=Lt.setTimeout?.(()=>a(!1),Vt),o.onload=()=>a(!0),o.onerror=()=>a(!1),o.setAttribute("integrity",t),o.setAttribute("crossorigin","anonymous"),o.src=e,r.head.appendChild(o)})}(m,d.sri);return g?(Lt.console?.info(`${Dt} active ${d.art} ends ${new Date(1e3*d.sxp).toISOString()}`),!0):(i("swap-failed"),n.clear(),r.clear(),o.clear(),!1)}var Wt=15e3,qt={error:5,skip:4,out:3,in:2,init:1,flush:0},Zt="\0none",Ht="\0";function Gt(e,t){return`${e??Zt}${Ht}${t}`}function Jt(e){const t=Date.parse(e);return Number.isNaN(t)?0:t}function Xt(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 qt[e.phase]-qt[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}function Yt(e){switch(e){case"error":return"error";case"skip":return"skipped";case"out":return"done";case"in":case"init":case"flush":return"pending"}}function Qt(e){return"out"===e.terminalPhase||"error"===e.terminalPhase||"skip"===e.terminalPhase||!0===e.batched}function en(e){return"done"===e.status&&("transformer"!==e.stepType||null!==e.out&&void 0!==e.out)}function tn(e,t,n,r){const o=n.get(Gt(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 nn(e){const t=new Map,n=new Map;e.nodes.forEach((e,r)=>{const o={node:e,rank:r,key:Gt(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=tn(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 rn(e,t,n){const r=e.byKey.get(Gt(n,t));if(void 0!==r)return r;const o=e.byKey.get(Gt(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 on(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(Qt)?"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&&en(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||!Qt(t))return"partial"}return"complete"}(e,t,r):e.every(Qt)?"complete":"partial"}function sn(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,l,u,f,p,d,m,g,h=i[0],v=i[0];for(const e of i)e.elapsedMs<h.elapsedMs&&(h=e),qt[e.phase]>qt[v.phase]&&(v=e),"out"===e.phase&&(a=e),void 0!==e.inEvent&&void 0===c&&(c=e.inEvent),void 0!==e.outEvent&&(l=e.outEvent),void 0!==e.mappingKey&&(u=e.mappingKey),void 0!==e.contractRule&&(f=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);const y=v.phase,b=a?.durationMs,w="error"===y?v.error:void 0,k="skip"===y?v.skipReason:void 0,E=a?.calls,S="out"===v.phase&&void 0!==v.batch||void 0,$=!(!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)qt[e.phase]>qt[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,l=n?.calls;return{branchId:e,status:Yt(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!==l?{calls:l}:{}}}(e,t)):void 0;return{stepId:h.stepId,stepType:h.stepType,eventId:h.eventId,status:Yt(y),terminalPhase:y,startedAtMs:t.elapsedMs,timestamp:t.timestamp,...void 0!==h.platform?{platform:h.platform}:{},...void 0!==g?{parentEventId:g}:{},...void 0!==b?{durationMs:b}:{},...void 0!==c?{in:c}:{},...void 0!==l?{out:l}:{},...void 0!==w?{error:w}:{},...void 0!==k?{skipReason:k}:{},...void 0!==u?{mappingKey:u}:{},...void 0!==f?{contractRule:f}:{},...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!==$?{flushConfirmed:$}:{},...void 0!==m?{meta:m}:{}}}function an(e,t){const n=e.map(e=>({hop:e,rank:void 0!==t?rn(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 cn(e){const t=e.filter(e=>"collector"===e.stepType&&"in"===e.phase),n=t.length>0?t:e;let r=n[0],o=Jt(r.timestamp);for(const e of n){const t=Jt(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 ln(e,t,n,r,o){const{topo:s}=o,i=new Map;for(const e of r){const t=Gt(e.platform,e.stepId),n=i.get(t);n?n.push(e):i.set(t,[e])}const a=[...i.values()].map(sn),c=new Map;for(const e of a){const t=e.platform??Zt;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,Jt(e.timestamp))}const l=function(e){const t=new Map,n=e.map((e,t)=>t).sort((t,n)=>{const r=e[t].platform??Zt,o=e[n].platform??Zt;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??Zt,r=t.seg.platform??Zt;return n<r?-1:n>r?1:0}).map(e=>e.seg)}([...c.values()]),u=[],f=[];for(const e of l){void 0===e.platform||f.includes(e.platform)||f.push(e.platform);for(const t of an(e.hops,s))u.push(t)}let p=Number.POSITIVE_INFINITY,d=Number.NEGATIVE_INFINITY;for(const e of r){const t=Jt(e.timestamp);t<p&&(p=t),t>d&&(d=t)}const m=on(u,f,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}(f,p,d,o.gaps);return{id:e,correlation:t,...void 0!==n?{traceId:n}:{},entry:cn(r),hops:u,platforms:f,status:m,lossy:g,firstTimestamp:p,lastTimestamp:d,totalMs:d-p}}function un(e,t){const n={...void 0!==t?.topology?{topo:nn(t.topology)}:{},settleMs:t?.settleMs??Wt,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?`seq${Ht}${r.platform??""}${Ht}${r.seq}`:`tuple${Ht}${r.platform??""}${Ht}${r.stepId}${Ht}${r.phase}${Ht}${r.eventId}${Ht}${r.branchId??""}${Ht}${r.elapsedMs}`;t.has(e)||(t.add(e),n.push(r))}return n}(e),o=[...r].sort(Xt);n.gaps=function(e){const t=new Map;for(const n of e){if(void 0===n.seq)continue;const e=n.platform??Zt,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=Jt(e.timestamp),r=Jt(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:Jt(s.timestamp),toMs:Jt(e.timestamp),afterSeq:i,beforeSeq:t})}s=e,i=t}else s=e,i=t}else s=e,i=t}}return n}(r);const s=o.filter(e=>!(""===e.eventId&&!e.traceId)),i=new Map;for(const e of s){const t=e.traceId?e.traceId:void 0,n=t?`trace${Ht}${t}`:`event${Ht}${e.eventId}`;let r=i.get(n);r||(r=t?{id:t,correlation:"trace",traceId:t,records:[]}:{id:`event:${e.eventId}`,correlation:"legacy",records:[]},i.set(n,r)),r.records.push(e)}const a=[...i.values()].map(e=>ln(e.id,e.correlation,e.traceId,e.records,n));return a.sort((e,t)=>e.firstTimestamp!==t.firstTimestamp?e.firstTimestamp-t.firstTimestamp:e.id<t.id?-1:e.id>t.id?1:0),{journeys:a,gaps:n.gaps}}var fn=null;function pn(){return fn}function dn(e){fn=e}function mn(e,t){if(0===e.observers.size)return;const n=Array.from(e.observers);for(const e of n)try{e(t)}catch{}}function gn(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??(()=>{});let l=[],u=null,f=0;function p(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[...p(e.slice(0,r)),...p(e.slice(r))]}function d(t){return Promise.resolve().then(()=>a(e.url,{method:"POST",headers:{...e.headers,"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 m(){if(0===l.length)return;const e=l;l=[],u&&(clearTimeout(u),u=null);const t=p(e);(async()=>{for(const e of t)await d(e)})()}return e=>{l.push({...e,seq:++f}),l.length>=o?m():null===u&&(u=setTimeout(m,n))}}function hn(e){return e?{userAgent:e,browser:vn(e),browserVersion:yn(e),os:bn(e),osVersion:wn(e),deviceType:kn(e)}:{}}function vn(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 bn(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 wn(e){const t=e.match(/(?:Windows NT|Mac OS X|Android|iPhone OS) ([0-9._]+)/);return t?t[1].replace(/_/g,"."):void 0}function kn(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}function En(e){return function(e){return/\breturn\b/.test(e)}(e)?e:`return ${e}`}function Sn(e){const t=En(e);return new Function("value","context",t)}function $n(e){const t=En(e);return new Function("value","context",t)}function An(e){const t=En(e);return new Function("value","context",t)}var On="https://cdn.jsdelivr.net/npm",jn="dist/walkerOS.json";function In(e){return"string"==typeof e||Array.isArray(e)&&e.every(e=>"string"==typeof e)?e:void 0}async function xn(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;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}}(e,n,await o.json())}const r=`${On}/${e}@${n}`,o=await _n(`${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):[],l=[],u=i.step||{};for(const[e,t]of Object.entries(u)){const n=t,r={name:e};"string"==typeof n?.description&&(r.description=n.description),l.push(r)}const f="string"==typeof o.docs?o.docs:void 0,p="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:In(o.platform),schemas:s,examples:i,...f?{docs:f}:{},...p?{source:p}:{},...a&&Object.keys(a).length>0?{hints:a}:{},hintKeys:c,exampleSummaries:l}}(e,n,o,await _n(`${r}/${jn}`,i,a))}finally{clearTimeout(s)}}async function _n(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 Mn(e,t){const n=await xn(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 Nn="observe";function Tn(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 Cn="call:";function Rn(e){const t=(e.startsWith(Cn)?e.slice(Cn.length):e).split(".");return t.some(e=>""===e)?[]:t}var Pn="obsw_";function Fn(e){if(!e.startsWith(Pn))return null;const t=e.slice(Pn.length).split("."),[n,r,o]=t;return 3===t.length&&n&&r&&o?{pb:n,ses:r,secret:o}:null}function zn(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;var i;return void 0!==s&&("off"===(i=s)||"standard"===i||"trace"===i)&&(o.level=s),o}function Dn(e,t){const n=t?{...e,_hints:t}:e;return{content:[{type:"text",text:JSON.stringify(n,null,2)}],structuredContent:n}}function Vn(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 Ln(e){let t=!1;return(n={})=>{t||(t=!0,e(n))}}function Un(e){if(void 0===e||"*"===e)return()=>!0;if("and"in e){const t=e.and.map(Un);return e=>t.every(t=>t(e))}if("or"in e){const t=e.or.map(Un);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=Ee(e,t),r=s(n);return o?!r:r}}(e)}function Kn(e){return"object"==typeof e&&null!==e&&!Array.isArray(e)&&("match"in e||"next"in e||"one"in e||"many"in e)}function Bn(e){return Array.isArray(e)&&e.length>0&&e.every(e=>Kn(e))}function Wn(e){return e.map(e=>{if("string"==typeof e)return{match:()=>!0,next:{type:"static",value:e}};if(Array.isArray(e))return{match:()=>!0,next:qn(e)??{type:"chain",value:[]}};const t=e;return{match:t.match?Un(t.match):()=>!0,next:qn(t)??{type:"chain",value:[]}}})}function qn(e){if(null==e)return;if("string"==typeof e)return{type:"static",value:e};if(Array.isArray(e)){if(0===e.length)return;if(Bn(e))return qn({one:e});if(e.every(e=>"string"==typeof e))return{type:"chain",value:e};const t=[];for(const n of e){const e=qn(n);void 0!==e&&t.push(e)}if(0===t.length)return;return{type:"sequence",value:t}}const t=e;if("next"in t&&void 0!==t.next)return t.match?{type:"gate",match:Un(t.match),next:qn(t.next)}:qn(t.next);if("one"in t&&t.one){const e=Wn(t.one);return t.match?{type:"gate",match:Un(t.match),next:{type:"one",routes:e}}:{type:"one",routes:e}}if("many"in t&&t.many){const e=Wn(t.many);return t.match?{type:"gate",match:Un(t.match),next:{type:"many",routes:e}}:{type:"many",routes:e}}return t.match?{type:"gate",match:Un(t.match)}:void 0}var Zn=new WeakMap;function Hn(e,t={}){if(null==e)return[];let n;if("object"==typeof e){const t=Zn.get(e);t?n=t:(n=qn(e),n&&Zn.set(e,n))}else n=qn(e);if(!n)return[];const r=Gn(n,t);return void 0===r?[]:Array.isArray(r)?r:[r]}function Gn(e,t={}){if(e){if("static"===e.type)return e.value;if("chain"===e.type)return e.value;if("gate"===e.type){if(!e.match(t))return;return Gn(e.next,t)}if("sequence"===e.type){const n=[];for(const r of e.value){const e=Gn(r,t);void 0!==e&&(Array.isArray(e)?n.push(...e):n.push(e))}return n.length>0?n:void 0}if("many"===e.type){const n=[];for(const r of e.routes){if(!r.match(t))continue;const e=Gn(r.next,t);void 0!==e&&(Array.isArray(e)?n.push(...e):n.push(e))}return n.length>0?n:void 0}for(const n of e.routes)if(n.match(t))return Gn(n.next,t)}}var Jn="__walkeros_cache_v__",Xn="__walkeros_cache_exp__";function Yn(e,t,n=Date.now){const r={[Jn]:e};return void 0!==t&&(r[Xn]=n()+t),r}function Qn(e,t=Date.now){if(void 0===e)return;if(null===(n=e)||"object"!=typeof n||Array.isArray(n)||!(Jn in e))return{value:e};var n;const r=e[Xn];return"number"==typeof r&&t()>r?{expired:!0}:{value:e[Jn]}}var er="__walkeros_cache__",tr=class extends Error{constructor(e,t){super(e,t),this.name="StoreCodecError"}};function nr(e){return null!==e&&"object"==typeof e&&!Array.isArray(e)}function rr(e){if(Buffer.isBuffer(e))return{[er]:"buffer",d:e.toString("base64")};if(e instanceof Uint8Array)return{[er]:"buffer",d:Buffer.from(e.buffer,e.byteOffset,e.byteLength).toString("base64")};if(e instanceof ArrayBuffer)return{[er]:"buffer",d:Buffer.from(e).toString("base64")};if(Array.isArray(e))return e.map(rr);if(nr(e)){if(er in e){const t={};for(const[n,r]of Object.entries(e))t[n]=rr(r);return{[er]:"escape",d:t}}const t={};for(const[n,r]of Object.entries(e))t[n]=rr(r);return t}return e}function or(e,t){if(nr(e)){if(er in e){const n=e[er],r=e.d;if("buffer"===n&&"string"==typeof r)return t(Buffer.from(r,"base64"));if("escape"===n&&nr(r)){const e={};for(const[n,o]of Object.entries(r))e[n]=or(o,t);return e}}const n={};for(const[r,o]of Object.entries(e))n[r]=or(o,t);return n}return Array.isArray(e)?e.map(e=>or(e,t)):e}function sr(e){return new Uint8Array(e.buffer,e.byteOffset,e.byteLength)}function ir(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||ir(e)):!!nr(e)&&Object.values(e).every(e=>void 0===e||ir(e)))}function ar(e){let t;try{t=JSON.stringify(rr(e))}catch(e){throw new tr("Failed to serialize store value (likely a cyclic structure).",{cause:e})}return new Uint8Array(Buffer.from(t,"utf8"))}function cr(e){const t="string"==typeof e?e:Buffer.from(e).toString("utf8"),n=or(JSON.parse(t),sr);if(!ir(n))throw new tr("Restored value is not a valid StoreValue.");return n}function lr(e,t){const n={ingest:e??{}};return void 0!==t&&(n.event=t),n}function ur(e){return{stop:e.stop??!1,storeId:e.store,namespace:e.namespace,rules:e.rules.map(e=>({match:e.match?Un(e.match):()=>!0,key:e.key,ttl:e.ttl,update:e.update}))}}async function fr(e,t,n,r){const o=e.rules.find(e=>e.match(n));if(!o)return null;const s=o.key.map(e=>String(Ee(n,e)??""));if(s.every(e=>""===e))return null;const i=s.join(":"),a=r??e.namespace,c=a?`${a}:${i}`:i,l=Qn(await t.get(c));if(void 0===l)return{status:"MISS",key:c,rule:o};if("expired"in l){try{await t.delete(c)}catch{}return{status:"MISS",key:c,rule:o}}return{status:"HIT",key:c,value:l.value,rule:o}}function pr(e,t,n,r){if(!ir(n))return;const o=1e3*r,s=e.set(t,Yn(n,o),o);s instanceof Promise&&s.catch(()=>{})}async function dr(e,t,n,r){if(!t)return e;let o=e;for(const[e,s]of Object.entries(t)){o=Se(o,e,await it(n,s,{collector:r}))}return o}function mr(e){return fe(e)?e:[e]}async function gr(e,t,n,r){let o=n;for(const n of e)await rt(async()=>{const e=t(n.store);if(!e)return;const s=await it(o,n.key,{collector:r,event:o});if(!we(s))return;const i=n.store?s:`state:${s}`;if("set"===n.mode){const t=await it(o,n.value,{collector:r,event:o});if(!me(t))return;await e.set(i,t)}else{const t=we(a=n.value)?a:ye(a)&&we(a.key)?a.key:void 0;if(!t)return;const r=await e.get(i);if(!me(r))return;o=Se(o,t,r)}var a},e=>{if(e instanceof ot)throw e;r.logger?.error?.("[state] operation failed",e)})();return o}var hr={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"]},vr=["config","env","variables","examples","disabled","id","logger","mock","chainMocks"],yr={Source:["primary"],Transformer:[],Destination:[],Store:[]},br=/^[A-Za-z_$][A-Za-z0-9_$]*$/;function wr(e,t){const n=function(e){return new Set([...hr[e],...vr,...yr[e]])}(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&&br.test(e.import)?{ok:!0}:{ok:!1,code:"INVALID_IMPORT",key:"import",reason:`import must match ${br.source}. Got: ${JSON.stringify(e.import)}.`}}function kr(e,t){return"Transformer"===t&&(void 0===e.code&&void 0===e.package&&void 0===e.import&&(void 0!==e.before||void 0!==e.next||void 0!==e.cache||void 0!==e.state||void 0!==e.mapping))}function Er(e){return 0===e.length?"// no output":e.map(Sr).join(";\n\n")}function Sr(e){const[t,...n]=e,r=n.map($r).join(", ");return"return"===t?r?`return ${r}`:"return":`${t}(${r})`}function $r(e){return void 0===e?"undefined":null===e?"null":"function"==typeof e?"[Function]":JSON.stringify(e,null,2)}//# sourceMappingURL=index.js.map