@walkeros/core 4.3.0-next-1784055686454 → 4.3.0

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