@walkeros/core 4.3.0 → 4.3.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +16 -0
- package/dist/dev.d.mts +154 -2
- package/dist/dev.d.ts +154 -2
- package/dist/dev.js +1 -1
- package/dist/dev.js.map +1 -1
- package/dist/dev.mjs +1 -1
- package/dist/dev.mjs.map +1 -1
- package/dist/index.d.mts +133 -2
- package/dist/index.d.ts +133 -2
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +1 -1
- package/dist/index.mjs.map +1 -1
- package/package.json +1 -1
package/dist/index.mjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
var e=Object.defineProperty,t=(t,n)=>{for(var r in n)e(t,r,{get:n[r],enumerable:!0})},n={},r={};function o(e,t){if("collector"===e)return"collector";if(!t)throw new Error(`stepId(${e}) requires an id`);return`${e}.${t}`}t(r,{stepId:()=>o});var s={},i={};function a(e,t){const n=e.destinations[t];if(!n)throw new Error(`Destination not found: ${t}`);return n}t(i,{getDestination:()=>a});var c={},u={},f={};t(f,{Level:()=>l});var l=(e=>(e[e.ERROR=0]="ERROR",e[e.WARN=1]="WARN",e[e.INFO=2]="INFO",e[e.DEBUG=3]="DEBUG",e))(l||{}),p={},d={},m={};function g(e,t){const n=e.transformers[t];if(!n)throw new Error(`Transformer not found: ${t}`);return n}t(m,{getTransformer:()=>g});var h={},v={};function y(e,t){const n=e.sources[t];if(!n)throw new Error(`Source not found: ${t}`);return n}t(v,{getSource:()=>y});var b={};function w(e,t){const n=e.stores[t];if(!n)throw new Error(`Store not found: ${t}`);return n}async function k(e,t){return await e.get(t)}t(b,{getStore:()=>w,getStoreValue:()=>k});var $={},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
|
|
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={},E={},O={Utils:{Storage:{Local:"local",Session:"session",Cookie:"cookie"}}};function I(e){return{_meta:{hops:0,path:[e]}}}function _(e,t){return{event:e,next:t}}function 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]=R(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])]:z(o)&&z(s)?n[r]=P(o,s):n[r]=s}return n}function R(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]=R(r));return t}function z(e){return"object"==typeof e&&null!==e&&!Array.isArray(e)}var D=/^\$var\.([a-zA-Z_][a-zA-Z0-9_]*(?:\.[a-zA-Z_][a-zA-Z0-9_]*)*)$/,F=/\$var\.([a-zA-Z_][a-zA-Z0-9_]*(?:\.[a-zA-Z_][a-zA-Z0-9_]*)*)/g,U=/\$env\.([a-zA-Z_][a-zA-Z0-9_]*)(?::([^"}\s]*))?/g,L=/^\$contract\.([a-zA-Z_][a-zA-Z0-9_]*)(?:\.(.+))?$/,K=/^\$flow\.([a-zA-Z_][a-zA-Z0-9_]*)(?:\.([a-zA-Z0-9_.]+))?$/,W=/^\$store\.([a-zA-Z_][a-zA-Z0-9_]*)$/,q=/^\$secret\.([A-Z0-9_]+)$/,B="$code:",Z=/\$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(Z))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 Y(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 X(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(D);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=X(f,c,`$var.${a}`)),f}const a=e.match(L);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=X(n,t,`$contract.${e}`)),n}const c=e.match(K);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?.(Y(t,r,"unknown-flow")),e;M(`Flow "${t}" not found in $flow.${t}`)}let a=i;if(r)if(s){try{a=X(a,r,`$flow.${t}`)}catch{return n?.onWarning?.(Y(t,r,"missing-key")),e}if(null==a||""===a)return n?.onWarning?.(Y(t,r,"missing-key")),e}else a=X(a,r,`$flow.${t}`);return a}const u=e.match(q);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(F,(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=X(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(U,(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 Ee(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 Ie="0123456789abcdef";function _e(e){let t=Ee(e,Ie);for(;/^0+$/.test(t);)t=Ee(e,Ie);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 Re(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 ze=[{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 De(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(ze.map(e=>e.param));return[...ze.map(e=>t.has(e.param)?{param:e.param,platform:t.get(e.param)}:e),...e.filter(e=>!n.has(e.param))]}(n):ze,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 Fe(e,t){return"number"==typeof e?{wait:e}:e?{wait:e.wait??t,size:e.size,age:e.age}:{wait:t}}function Ue(e,t=1e3,n=!1){const{wait:r,size:o,age:s}=Fe(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 Le(e,t=1e3){const{wait:n}=Fe(t,1e3);let r=null;return function(...t){if(null===r)return r=setTimeout(()=>{r=null},n),e(...t)}}function Ke(e){return{message:e.message,name:e.name,stack:e.stack,cause:e.cause}}function We(e,t){let n,r={};return e instanceof Error?(n=e.message,r.error=Ke(e)):n=e,void 0!==t&&(t instanceof Error?r.error=Ke(t):"object"==typeof t&&null!==t?(r={...r,...t},"error"in r&&r.error instanceof Error&&(r.error=Ke(r.error))):r.value=t),{message:n,context:r}}var qe=(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 Be(e={}){return Ze({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 Ze(e){const{level:t,handler:n,jsonHandler:r,scope:o}=e,s=(e,r,s)=>{if(e<=t){const t=We(r,s);n?n(e,t.message,t.context,o,qe):qe(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=We(e,t);throw n?n(0,r.message,r.context,o,qe):qe(0,r.message,r.context,o),new Error(r.message)},json:e=>{r?r(e):console.log(JSON.stringify(e,null,2))},scope:e=>Ze({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 Ye(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 Xe=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 Ye(tt,e=>{if(e instanceof Xe)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 Ye(i,e=>{if(e instanceof Xe)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 Ye(c,e=>{if(e instanceof Xe)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 Ye(d,e=>{if(e instanceof Xe)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:I("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,Et=6e4,Ot=39e5;async function It(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="elbObserve",Mt="[walkerOS:preview]",Tt=globalThis;function Ct(e){let t=null;return{get(){try{return Tt.window?.localStorage.getItem(e)??t}catch{return t}},set(n){try{Tt.window?.localStorage.setItem(e,n)}catch{t=n}},clear(){t=null;try{Tt.window?.localStorage.removeItem(e)}catch{}}}}function Pt(){const e=Tt.window,t=Tt.URLSearchParams;if(e&&t)try{const n=e.location.href,r=n.indexOf("#"),o=r>=0?n.slice(r):"",s=r>=0?n.slice(0,r):n,i=s.indexOf("?"),a=i>=0?s.slice(0,i):s,c=new t(i>=0?s.slice(i+1):"");c.delete("elbPreview"),c.delete("elbPreviewSession"),c.delete("elbObserve");const u=c.toString();e.history.replaceState({},"",`${a}${u?`?${u}`:""}${o}`)}catch{}}async function Rt(e){const t=Tt.window;if(!t||!Tt.document)return!1;const n=Ct("elbPreview"),r=Ct(_t),o=Ct(Nt),s=e.now??(()=>Date.now()),i=e=>Tt.console?.warn(`${Mt} ${e}`);let a=null,c=null,u=null;const f=Tt.URLSearchParams;if(f)try{const e=new f(t.location.search.replace(/^\?/,"")),n=e.getAll("elbPreview");a=n.length>0?n[n.length-1]??null:null;const r=e.getAll("elbPreviewSession");c=r.length>0?r[r.length-1]??null:null;const o=e.getAll("elbObserve");u=o.length>0?o[o.length-1]??null:null}catch{a=null,c=null,u=null}if("off"===a)return n.clear(),r.clear(),o.clear(),Pt(),!1;const l=n.get();if(!a&&!l)return!1;const p=(n,r)=>It(n,{keyring:e.keyring,iss:e.iss,origin:t.location.origin,pb:e.pb,acceptForeign:e.acceptForeign,demoAllowlist:e.demoAllowlist,source:r,now:s(),crypto:e.crypto});let d=null;if(a){const e=await p(a,"url");e.ok?(d=e.grant,n.set(a),c?r.set(c):r.clear(),u?o.set(u):o.clear()):i(e.reason),Pt()}if(!d&&l){const e=await p(l,"storage");e.ok?d=e.grant:(i(e.reason),"no-subtle"!==e.reason&&(n.clear(),r.clear(),o.clear()))}if(!d)return!1;const m=`https://${e.previewOrigin}/preview/${d.art}.js`,g=await function(e,t){return new Promise(n=>{const r=Tt.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&&Tt.clearTimeout?.(s),!e&&o.parentNode&&o.parentNode.removeChild(o),n(e))};s=Tt.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)})}(m,d.sri);return g?(Tt.console?.info(`${Mt} active ${d.art} ends ${new Date(1e3*d.sxp).toISOString()}`),!0):(i("swap-failed"),n.clear(),r.clear(),o.clear(),!1)}var zt={error:5,skip:4,out:3,in:2,init:1,flush:0},Dt="\0none",Ft="\0";function Ut(e,t){return`${e??Dt}${Ft}${t}`}function Lt(e){const t=Date.parse(e);return Number.isNaN(t)?0:t}function Kt(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 Wt(e){switch(e){case"error":return"error";case"skip":return"skipped";case"out":return"done";case"in":case"init":case"flush":return"pending"}}function qt(e){return"out"===e.terminalPhase||"error"===e.terminalPhase||"skip"===e.terminalPhase||!0===e.batched}function Bt(e){return"done"===e.status&&("transformer"!==e.stepType||null!==e.out&&void 0!==e.out)}function Zt(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 Vt(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=Zt(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 Ht(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 Jt(e,t,n,r,o,s){return s-n<o?"pending":void 0!==r?function(e,t,n){const r=t=>e.find(e=>e.stepId===t.node.stepId&&(void 0===t.node.platform||e.platform===t.node.platform)),o=n.roots.filter(e=>void 0===e.node.platform||t.includes(e.node.platform));if(0===o.length)return e.every(qt)?"complete":"partial";const s=new Map,i=o;for(;i.length>0;){const e=i.shift();if(void 0===e)break;if(s.has(e.key))continue;s.set(e.key,e);const t=r(e);if(void 0!==t&&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||!qt(t))return"partial"}return"complete"}(e,t,r):e.every(qt)?"complete":"partial"}function Gt(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:Wt(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:Wt(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 Yt(e,t){const n=e.map(e=>({hop:e,rank:void 0!==t?Ht(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=Lt(r.timestamp);for(const e of n){const t=Lt(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 Qt(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(Gt),c=new Map;for(const e of a){const t=e.platform??Dt;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,Lt(e.timestamp))}const u=function(e){const t=new Map,n=e.map((e,t)=>t).sort((t,n)=>{const r=e[t].platform??Dt,o=e[n].platform??Dt;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??Dt,r=t.seg.platform??Dt;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 Yt(e.hops,s))f.push(t)}let p=Number.POSITIVE_INFINITY,d=Number.NEGATIVE_INFINITY;for(const e of r){const t=Lt(e.timestamp);t<p&&(p=t),t>d&&(d=t)}const m=Jt(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 en(e,t){const n={...void 0!==t?.topology?{topo:Vt(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(Kt);n.gaps=function(e){const t=new Map;for(const n of e){if(void 0===n.seq)continue;const e=n.platform??Dt,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=Lt(e.timestamp),r=Lt(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:Lt(s.timestamp),toMs:Lt(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=>Qt(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 tn=null;function nn(){return tn}function rn(e){tn=e}function on(e,t){if(0===e.observers.size)return;const n=Array.from(e.observers);for(const e of n)try{e(t)}catch{}}function sn(e){const t=e.batchMs,n="number"==typeof t&&Number.isFinite(t)&&t>0?Math.floor(t):50,r=e.batchSize,o="number"==typeof r&&Number.isFinite(r)&&r>=1?Math.floor(r):50,s=e.maxBodyBytes,i="number"==typeof s&&Number.isFinite(s)&&s>=1?Math.floor(s):6e4,a=e.fetch??((e,t)=>globalThis.fetch(e,t)),c=e.onError??(()=>{}),u={};for(const[t,n]of Object.entries(e.headers??{})){const e=t.toLowerCase();"authorization"!==e&&"content-type"!==e&&(u[t]=n)}let f=[],l=null,p=0;function d(e){const t={v:1,records:e},n=JSON.stringify(t);if(e.length<=1)return[n];if(function(e){let t=0;for(let n=0;n<e.length;n++){const r=e.charCodeAt(n);if(r<128)t+=1;else if(r<2048)t+=2;else if(r>=55296&&r<=56319&&n+1<e.length){const r=e.charCodeAt(n+1);r>=56320&&r<=57343?(t+=4,n++):t+=3}else t+=3}return t}(n)<=i)return[n];const r=Math.floor(e.length/2);return[...d(e.slice(0,r)),...d(e.slice(r))]}function m(t){return Promise.resolve().then(()=>a(e.url,{method:"POST",headers:{...u,"Content-Type":"application/json",Authorization:`Bearer ${e.token}`},body:t})).then(t=>{t&&"object"==typeof t&&"number"==typeof t.status&&e.onStatus?.(t.status),t&&"object"==typeof t&&"ok"in t&&!t.ok&&c(new Error(`Observer responded ${t.status}`))}).catch(e=>{c(e)})}function g(){if(0===f.length)return;const e=f;f=[],l&&(clearTimeout(l),l=null);const t=d(e);(async()=>{for(const e of t)await m(e)})()}return e=>{f.push({...e,seq:++p}),f.length>=o?g():null===l&&(l=setTimeout(g,n))}}function an(e){return e?{userAgent:e,browser:cn(e),browserVersion:un(e),os:fn(e),osVersion:ln(e),deviceType:pn(e)}:{}}function cn(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 un(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 fn(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 ln(e){const t=e.match(/(?:Windows NT|Mac OS X|Android|iPhone OS) ([0-9._]+)/);return t?t[1].replace(/_/g,"."):void 0}function pn(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 dn(e){return function(e){return/\breturn\b/.test(e)}(e)?e:`return ${e}`}function mn(e){const t=dn(e);return new Function("value","context",t)}function gn(e){const t=dn(e);return new Function("value","context",t)}function hn(e){const t=dn(e);return new Function("value","context",t)}function vn(e){return"string"==typeof e||Array.isArray(e)&&e.every(e=>"string"==typeof e)?e:void 0}async function yn(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 bn(`${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:vn(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 bn(`${r}/dist/walkerOS.json`,i,a))}finally{clearTimeout(s)}}async function bn(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 wn(e,t){const n=await yn(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 kn="observe";function $n(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 An="call:";function jn(e){const t=(e.startsWith(An)?e.slice(5):e).split(".");return t.some(e=>""===e)?[]:t}var Sn="obsw_";function xn(e){if(!e.startsWith(Sn))return null;const t=e.slice(5).split("."),[n,r,o]=t;return 3===t.length&&n&&r&&o?{pb:n,ses:r,secret:o}:null}function En(e){const t=e.WALKEROS_OBSERVER_URL,n=e.WALKEROS_DEPLOYMENT_ID,r=e.WALKEROS_INGEST_TOKEN;if(!t||!n||!r)return;const o={url:t,sessionId:n,token:r},s=e.WALKEROS_OBSERVE_LEVEL;if(void 0!==s){if("off"!==(i=s)&&"standard"!==i&&"trace"!==i)return;o.level=s}var i;return o}function On(e,t){const n=t?{...e,_hints:t}:e;return{content:[{type:"text",text:JSON.stringify(n,null,2)}],structuredContent:n}}function In(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 _n(e){let t=!1;return(n={})=>{t||(t=!0,e(n))}}function Nn(e){if(void 0===e||"*"===e)return()=>!0;if("and"in e){const t=e.and.map(Nn);return e=>t.every(t=>t(e))}if("or"in e){const t=e.or.map(Nn);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 Mn(e){return"object"==typeof e&&null!==e&&!Array.isArray(e)&&("match"in e||"next"in e||"one"in e||"many"in e)}function Tn(e){return Array.isArray(e)&&e.length>0&&e.every(e=>Mn(e))}function Cn(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:Pn(e)??{type:"chain",value:[]}};const t=e;return{match:t.match?Nn(t.match):()=>!0,next:Pn(t)??{type:"chain",value:[]}}})}function Pn(e){if(null==e)return;if("string"==typeof e)return{type:"static",value:e};if(Array.isArray(e)){if(0===e.length)return;if(Tn(e))return Pn({one:e});if(e.every(e=>"string"==typeof e))return{type:"chain",value:e};const t=[];for(const n of e){const e=Pn(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:Nn(t.match),next:Pn(t.next)}:Pn(t.next);if("one"in t&&t.one){const e=Cn(t.one);return t.match?{type:"gate",match:Nn(t.match),next:{type:"one",routes:e}}:{type:"one",routes:e}}if("many"in t&&t.many){const e=Cn(t.many);return t.match?{type:"gate",match:Nn(t.match),next:{type:"many",routes:e}}:{type:"many",routes:e}}return t.match?{type:"gate",match:Nn(t.match)}:void 0}var Rn=new WeakMap;function zn(e,t={}){if(null==e)return[];let n;if("object"==typeof e){const t=Rn.get(e);t?n=t:(n=Pn(e),n&&Rn.set(e,n))}else n=Pn(e);if(!n)return[];const r=Dn(n,t);return void 0===r?[]:Array.isArray(r)?r:[r]}function Dn(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 Dn(e.next,t)}if("sequence"===e.type){const n=[];for(const r of e.value){const e=Dn(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=Dn(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 Dn(n.next,t)}}var Fn="__walkeros_cache_v__",Un="__walkeros_cache_exp__";function Ln(e,t,n=Date.now){const r={[Fn]:e};return void 0!==t&&(r[Un]=n()+t),r}function Kn(e,t=Date.now){if(void 0===e)return;if(null===(n=e)||"object"!=typeof n||Array.isArray(n)||!(Fn in e))return{value:e};var n;const r=e[Un];return"number"==typeof r&&t()>r?{expired:!0}:{value:e[Fn]}}var Wn="__walkeros_cache__",qn=class extends Error{constructor(e,t){super(e,t),this.name="StoreCodecError"}};function Bn(e){return null!==e&&"object"==typeof e&&!Array.isArray(e)}function Zn(e){if(Buffer.isBuffer(e))return{[Wn]:"buffer",d:e.toString("base64")};if(e instanceof Uint8Array)return{[Wn]:"buffer",d:Buffer.from(e.buffer,e.byteOffset,e.byteLength).toString("base64")};if(e instanceof ArrayBuffer)return{[Wn]:"buffer",d:Buffer.from(e).toString("base64")};if(Array.isArray(e))return e.map(Zn);if(Bn(e)){if(Wn in e){const t={};for(const[n,r]of Object.entries(e))t[n]=Zn(r);return{[Wn]:"escape",d:t}}const t={};for(const[n,r]of Object.entries(e))t[n]=Zn(r);return t}return e}function Vn(e,t){if(Bn(e)){if(Wn in e){const n=e[Wn],r=e.d;if("buffer"===n&&"string"==typeof r)return t(Buffer.from(r,"base64"));if("escape"===n&&Bn(r)){const e={};for(const[n,o]of Object.entries(r))e[n]=Vn(o,t);return e}}const n={};for(const[r,o]of Object.entries(e))n[r]=Vn(o,t);return n}return Array.isArray(e)?e.map(e=>Vn(e,t)):e}function Hn(e){return new Uint8Array(e.buffer,e.byteOffset,e.byteLength)}function Jn(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||Jn(e)):!!Bn(e)&&Object.values(e).every(e=>void 0===e||Jn(e)))}function Gn(e){let t;try{t=JSON.stringify(Zn(e))}catch(e){throw new qn("Failed to serialize store value (likely a cyclic structure).",{cause:e})}return new Uint8Array(Buffer.from(t,"utf8"))}function Yn(e){const t="string"==typeof e?e:Buffer.from(e).toString("utf8"),n=Vn(JSON.parse(t),Hn);if(!Jn(n))throw new qn("Restored value is not a valid StoreValue.");return n}function Xn(e,t){const n={ingest:e??{}};return void 0!==t&&(n.event=t),n}function Qn(e){return{stop:e.stop??!1,storeId:e.store,namespace:e.namespace,rules:e.rules.map(e=>({match:e.match?Nn(e.match):()=>!0,key:e.key,ttl:e.ttl,update:e.update}))}}async function er(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=Kn(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 tr(e,t,n,r){if(!Jn(n))return;const o=1e3*r,s=e.set(t,Ln(n,o),o);s instanceof Promise&&s.catch(()=>{})}async function nr(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 rr(e){return ie(e)?e:[e]}async function or(e,t,n,r){let o=n;for(const n of e)await Ye(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 Xe)throw e;r.logger?.error?.("[state] operation failed",e)})();return o}var sr={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"]},ir=["config","env","variables","examples","disabled","id","logger","mock","chainMocks"],ar={Source:["primary"],Transformer:[],Destination:[],Store:[]},cr=/^[A-Za-z_$][A-Za-z0-9_$]*$/;function ur(e,t){const n=function(e){return new Set([...sr[e],...ir,...ar[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&&cr.test(e.import)?{ok:!0}:{ok:!1,code:"INVALID_IMPORT",key:"import",reason:`import must match ${cr.source}. Got: ${JSON.stringify(e.import)}.`}}function fr(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 lr(e){return 0===e.length?"// no output":e.map(pr).join(";\n\n")}function pr(e){const[t,...n]=e,r=n.map(dr).join(", ");return"return"===t?r?`return ${r}`:"return":`${t}(${r})`}function dr(e){return void 0===e?"undefined":null===e?"null":"function"==typeof e?"[Function]":JSON.stringify(e,null,2)}export{Et 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,Xe as FatalError,E 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,kn as OBSERVE_ENV_KEY,Nt as OBSERVE_STORAGE_KEY,d as On,B as REF_CODE_PREFIX,L as REF_CONTRACT,U as REF_ENV,K as REF_FLOW,q as REF_SECRET,W as REF_STORE,D as REF_VAR_FULL,F as REF_VAR_INLINE,h as Request,G as SECRET_MARKER_PREFIX,_t as SESSION_STORAGE_KEY,sr as STEP_OPERATIVE_FIELDS,S as Simulation,v as Source,b as Store,qn as StoreCodecError,m as Transformer,$ as Trigger,xt as URL_WINDOW_MS,j as WalkerOS,N as anonymizeIP,or as applyState,nr as applyUpdate,en as assembleJourneys,oe as assign,_ as branch,Rt as browserSwapActivator,Xn as buildCacheContext,Je as castToProperty,Ae as castValue,er as checkCache,he as clone,Qn as compileCache,Nn as compileMatcher,rr as compileState,sn as createBatchedPoster,Se as createDestination,Me as createEvent,I as createIngest,Be as createLogger,ct as createMockContext,at as createMockLogger,_n as createRespond,vt as createTelemetryObserver,Ue as debounce,xe as deepMerge,ze as defaultClickIds,be as deleteByPath,Yn as deserializeStoreValue,on as emitStep,yn as fetchPackage,wn as fetchPackageSchema,He as filterValues,$e as flattenIncludeSections,lr as formatOut,cn as getBrowser,un as getBrowserVersion,ve as getByPath,pn as getDeviceType,Te as getEvent,te as getFlowSettings,je as getGrantedConsent,pt as getHeaders,Ee as getId,Qe as getMappingEvent,et as getMappingValue,De as getMarketingParameters,zn as getNextSteps,fn as getOS,ln as getOSVersion,ne as getPlatform,Ne as getSpanId,Ce as getTraceId,nn as getTraceUntil,se as isArguments,ie as isArray,ae as isBoolean,ce as isCommand,ue as isDefined,fe as isElementOrDocument,$n as isEnvObserve,le as isFunction,pe as isNumber,de as isObject,fr as isPathStepEntry,Ve as isPropertyType,Tn as isRouteArray,Mn as isRouteConfigEntry,me as isSameType,yt as isSampled,Jn as isStoreValue,ge as isString,In as mcpError,On as mcpResult,P as mergeContractSchemas,ot as mergeMappingRule,st as mockEnv,En as observeFromEnv,ee as packageNameToVariable,jn as parseCallPath,St as parseGrant,xn as parseObserveCredential,Re as parseTraceparent,an as parseUserAgent,nt as processEventMapping,Kn as readCacheEnvelope,ut as requestToData,ft as requestToParameter,C as resolveContracts,dt as resolveSetup,bt as resolveTelemetryOptions,V as scanFlowRefs,Gn as serializeStoreValue,ye as setByPath,rn as setTraceUntil,o as stepId,tr as storeCache,Le as throttle,M as throwError,lt as transformData,it as traverseEnv,mt as trim,Ge as tryCatch,Ye as tryCatchAsync,gt as useHooks,ur as validateStepEntry,It as verifyActivation,X as walkPath,Ln as wrapCacheEnvelope,mn as wrapCondition,gn as wrapFn,hn as wrapValidate};//# sourceMappingURL=index.mjs.map
|