@walkeros/core 4.1.0 → 4.1.1-next-1779822275564

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.mjs CHANGED
@@ -1 +1 @@
1
- var e=Object.defineProperty,t=(t,n)=>{for(var r in n)e(t,r,{get:n[r],enumerable:!0})},n={},r={};function o(e,t){if("collector"===e)return"collector";if(!t)throw new Error(`stepId(${e}) requires an id`);return`${e}.${t}`}t(r,{stepId:()=>o});var a={},i={};function s(e,t){const n=e.destinations[t];if(!n)throw new Error(`Destination not found: ${t}`);return n}t(i,{getDestination:()=>s});var c={},l={},u={};t(u,{Level:()=>f});var f=(e=>(e[e.ERROR=0]="ERROR",e[e.WARN=1]="WARN",e[e.INFO=2]="INFO",e[e.DEBUG=3]="DEBUG",e))(f||{}),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 y={},h={};function v(e,t){const n=e.sources[t];if(!n)throw new Error(`Source not found: ${t}`);return n}t(h,{getSource:()=>v});var b={};function w(e,t){const n=e.stores[t];if(!n)throw new Error(`Store not found: ${t}`);return n}t(b,{getStore:()=>w});var k={},$={},j={},x={},A={},O={},S={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 C(e){throw new Error(String(e))}var T=new Set(["description","examples","title","$comment"]);function z(e){const t={},n=new Set;function r(o){if(t[o])return t[o];n.has(o)&&C(`Circular extends chain detected: ${[...n,o].join(" → ")}`);const a=e[o];a||C(`Contract "${o}" not found`),n.add(o);let i={};if(a.extends){i=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=I(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]||{},a=t.events?.[n]||{},i=new Set([...Object.keys(o),...Object.keys(a)]);r[n]={};for(const e of i){const t=o[e],i=a[e];r[n][e]=t&&i?I(t,i):{...t||i}}}n.events=r}return n}(r(a.extends),a)}else i={...a};if(delete i.extends,i.events&&(i.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 a=e["*"]?.["*"];a&&(o=I(o,a));const i=e["*"]?.[r];i&&"*"!==r&&(o=I(o,i));const s=e[n]?.["*"];s&&"*"!==r&&(o=I(o,s));const c=e[n]?.[r];c&&(o=I(o,c)),t[n][r]=o}}e["*"]&&(t["*"]={...e["*"]});return t}(i.events)),i.events){const e={};for(const[t,n]of Object.entries(i.events)){e[t]={};for(const[r,o]of Object.entries(n))e[t][r]=P(o)}i.events=e}return n.delete(o),t[o]=i,i}for(const t of Object.keys(e))r(t);return t}function I(e,t){const n={...e};for(const r of Object.keys(t)){const o=e[r],a=t[r];"required"===r&&Array.isArray(o)&&Array.isArray(a)?n[r]=[...new Set([...o,...a])]:M(o)&&M(a)?n[r]=I(o,a):n[r]=a}return n}function P(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]=P(r));return t}function M(e){return"object"==typeof e&&null!==e&&!Array.isArray(e)}var R=/^\$var\.([a-zA-Z_][a-zA-Z0-9_]*(?:\.[a-zA-Z_][a-zA-Z0-9_]*)*)$/,Z=/\$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,U=/^\$contract\.([a-zA-Z_][a-zA-Z0-9_]*)(?:\.(.+))?$/,F=/^\$flow\.([a-zA-Z_][a-zA-Z0-9_]*)(?:\.([a-zA-Z0-9_.]+))?$/,W=/^\$store\.([a-zA-Z_][a-zA-Z0-9_]*)$/,H=/^\$secret\.([A-Z0-9_]+)$/,L="$code:";function V(...e){const t={};for(const n of e)n&&Object.assign(t,n);return t}var q="__WALKEROS_ENV:";function K(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 B(e,t,n){const r=t.split(".");let o=e;for(let e=0;e<r.length;e++){const a=r[e];if(null==o||"object"!=typeof o){const o=r.slice(0,e).join(".");C(`Path "${t}" not found in "${n}": "${a}" does not exist${o?` in "${o}"`:""}`)}const i=o;if(!(a in i)){const o=r.slice(0,e).join(".");C(`Path "${t}" not found in "${n}": "${a}" does not exist${o?` in "${o}"`:""}`)}o=i[a]}return o}function J(e,t,n,r,o,a){if("string"==typeof e){const i=e.match(R);if(i){const e=i[1].split("."),s=e[0],c=e.slice(1).join(".");void 0===t[s]&&C(`Variable "${s}" not found`);const l=a??new Set;if(l.has(s)){C(`Cyclic $var reference: ${[...l,s].join(" -> ")}`)}let u;l.add(s);try{u=J(t[s],t,n,r,o,l)}finally{l.delete(s)}return c&&(u=B(u,c,`$var.${s}`)),u}const s=e.match(U);if(s&&r){const e=s[1],t=s[2];e in r||C(`Contract "${e}" not found`);let n=r[e];return t&&(n=B(n,t,`$contract.${e}`)),n}const c=e.match(F);if(c){const t=c[1],r=c[2],a=!1===n?.strictFlowRefs;o||C(`$flow.${t}${r?`.${r}`:""} cannot be resolved without a flow resolver`);const i=o(t);if(!i){if(a)return n?.onWarning?.(K(t,r,"unknown-flow")),e;C(`Flow "${t}" not found in $flow.${t}`)}let s=i;if(r)if(a){try{s=B(s,r,`$flow.${t}`)}catch{return n?.onWarning?.(K(t,r,"missing-key")),e}if(null==s||""===s)return n?.onWarning?.(K(t,r,"missing-key")),e}else s=B(s,r,`$flow.${t}`);return s}let l=e.replace(Z,(e,i)=>{const s=i.split("."),c=s[0],l=s.slice(1).join(".");void 0===t[c]&&C(`Variable "${c}" not found`);const u=a??new Set;if(u.has(c)){C(`Cyclic $var reference: ${[...u,c].join(" -> ")}`)}let f;u.add(c);try{f=J(t[c],t,n,r,o,u)}finally{u.delete(c)}if(l&&(f=B(f,l,`$var.${c}`)),null===f||"string"!=typeof f&&"number"!=typeof f&&"boolean"!=typeof f){C(`Variable "${i}" resolves to non-scalar (${Array.isArray(f)?"array":typeof f}) and cannot be inlined into a string. Use it as a whole-string reference: "$var.${i}"`)}return String(f)});return l=l.replace(D,(e,t,r)=>n?.deferred?void 0!==r?`${q}${t}:${r}`:`${q}${t}`:"undefined"!=typeof process&&void 0!==process.env?.[t]?process.env[t]:void 0!==r?r:void C(`Environment variable "${t}" not found and no default provided`)),l}if(Array.isArray(e))return e.map(e=>J(e,t,n,r,o,a));if(null!==e&&"object"==typeof e){const i={};for(const[s,c]of Object.entries(e))i[s]=J(c,t,n,r,o,a);return i}return e}function G(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 X(e,t,n){const r=new Map,o=new Set,a=[],i=t=>{if(r.has(t))return r.get(t);const s=e.flows[t];if(s){if(o.has(t)){C(`Cyclic $flow reference: ${[...a,t].join(" -> ")}`)}o.add(t),a.push(t);try{const o=V(e.variables,s.variables),a=J(s.config??{},o,n,void 0,i);return r.set(t,a),a}finally{o.delete(t),a.pop()}}},s=Object.keys(e.flows);t||(1===s.length?t=s[0]:C(`Multiple flows found (${s.join(", ")}). Please specify a flow.`));const c=e.flows[t];c||C(`Flow "${t}" not found. Available: ${s.join(", ")}`),o.add(t),a.push(t);try{return function(e,t,n,r){const o=JSON.parse(JSON.stringify(t));let a;if(e.contract){const o=V(e.variables,t.variables);a=z(J(e.contract,o,n,void 0,r))}if(o.config){const i=V(e.variables,t.variables);o.config=J(o.config,i,n,a,r)}if(o.sources)for(const[i,s]of Object.entries(o.sources)){const c=V(e.variables,t.variables,s.variables),l=J(s.config,c,n,a,r),u=J(s.env,c,n,a,r);o.sources[i]={package:s.package,import:s.import,config:l,env:u,primary:s.primary,variables:s.variables,before:s.before,next:s.next,cache:s.cache,validate:s.validate,code:s.code}}if(o.destinations)for(const[i,s]of Object.entries(o.destinations)){const c=V(e.variables,t.variables,s.variables),l=J(s.config,c,n,a,r),u=J(s.env,c,n,a,r);o.destinations[i]={package:s.package,import:s.import,config:l,env:u,variables:s.variables,before:s.before,next:s.next,cache:s.cache,validate:s.validate,code:s.code}}if(o.stores)for(const[i,s]of Object.entries(o.stores)){const c=V(e.variables,t.variables,s.variables),l=J(s.config,c,n,a,r),u=J(s.env,c,n,a,r);o.stores[i]={package:s.package,import:s.import,config:l,env:u,cache:s.cache,variables:s.variables,code:s.code}}if(o.transformers)for(const[i,s]of Object.entries(o.transformers)){const c=V(e.variables,t.variables,s.variables),l=J(s.config,c,n,a,r),u=J(s.env,c,n,a,r);o.transformers[i]={package:s.package,import:s.import,config:l,env:u,variables:s.variables,before:s.before,next:s.next,cache:s.cache,validate:s.validate,code:s.code}}if(o.collector){const i=V(e.variables,t.variables),s=J(o.collector,i,n,a,r);o.collector=s}return o}(e,c,n,i)}finally{o.delete(t),a.pop()}}function Y(e){const t=e.config?.platform;if("web"===t||"server"===t)return t;C('Flow must have config.platform set to "web" or "server"')}var Q={merge:!0,shallow:!0,extend:!0};function ee(e,t={},n={}){n={...Q,...n};const r=Object.entries(t).reduce((t,[r,o])=>{const a=e[r];return n.merge&&Array.isArray(a)&&Array.isArray(o)?t[r]=o.reduce((e,t)=>e.includes(t)?e:[...e,t],[...a]):(n.extend||r in e)&&(t[r]=o),t},{});return n.shallow?{...e,...r}:(Object.assign(e,r),e)}function te(e){return"[object Arguments]"===Object.prototype.toString.call(e)}function ne(e){return Array.isArray(e)}function re(e){return"boolean"==typeof e}function oe(e){return"walker"===e}function ae(e){return void 0!==e}function ie(e){return!(!e||"object"!=typeof e)&&("body"in e||"tagName"in e)}function se(e){return"function"==typeof e}function ce(e){return"number"==typeof e&&!Number.isNaN(e)}function le(e){return"object"==typeof e&&null!==e&&!ne(e)&&"[object Object]"===Object.prototype.toString.call(e)}function ue(e,t){return typeof e==typeof t}function fe(e){return"string"==typeof e}function pe(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]=pe(e[r],t));return n}if("[object Array]"===n){const n=[];return t.set(e,n),e.forEach(e=>{n.push(pe(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 de(e,t="",n){const r=t.split(".");let o=e;for(let e=0;e<r.length;e++){const t=r[e];if("*"===t&&ne(o)){const t=r.slice(e+1).join("."),a=[];for(const e of o){const r=de(e,t,n);a.push(r)}return a}if(o=le(o)||ne(o)?o[t]:void 0,void 0===o)break}return ae(o)?o:n}function me(e,t,n){if(!le(e))return e;const r=pe(e),o=t.split(".");let a=r;for(let e=0;e<o.length;e++){const t=o[e];e===o.length-1?a[t]=n:(t in a&&"object"==typeof a[t]&&null!==a[t]||(a[t]={}),a=a[t])}return r}var ge={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 ye(e,t){const n={},r=t.includes("all")?Object.keys(ge):t;for(const t of r){const r=ge[t];if(!r)continue;const o=r(e);if(le(o))for(const[e,r]of Object.entries(o)){if(void 0===r)continue;const o="context"===t&&Array.isArray(r)?r[0]:r;n[`${t}_${e}`]=o}}return n}function he(e){if("true"===e)return!0;if("false"===e)return!1;const t=Number(e);return e==t&&""!==e?t:String(e)}function ve(e,t={},n={}){const r={...t,...n},o={};let a=!e||0===Object.keys(e).length;return Object.keys(r).forEach(t=>{r[t]&&(o[t]=!0,e&&e[t]&&(a=!0))}),!!a&&o}function be(e,t){const n={...e};return n.config=ee(e.config,t,{shallow:!0,merge:!0,extend:!0}),e.config.settings&&t.settings&&(n.config.settings=ee(e.config.settings,t.settings,{shallow:!0,merge:!0,extend:!0})),e.config.mapping&&t.mapping&&(n.config.mapping=ee(e.config.mapping,t.mapping,{shallow:!0,merge:!0,extend:!0})),n}function we(e,t){if(!le(t))return e;for(const n of Object.keys(t)){const r=t[n];void 0!==r&&(le(r)&&le(e[n])?we(e[n],r):e[n]=r)}return e}function ke(){let e="";for(let t=0;t<16;t++)e+=(16*Math.random()|0).toString(16);return e}function $e(e={}){const t=e.timestamp||(new Date).setHours(0,13,37,0),n=ee({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||ke(),trigger:"test",entity:"entity",action:"action",timestamp:t,timing:3.14,source:{type:"collector",schema:"4"}},e,{merge:!1});if(e.name){const[t,r]=e.name.split(" ")??[];t&&r&&(n.entity=t,n.action=r)}return n}function je(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 $e({...{"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 xe(e=6,t){if(t){const n=t.length;let r="";for(let o=0;o<e;o++)r+=t[Math.random()*n|0];return r}let n="";for(let t=36;n.length<e;)n+=(Math.random()*t|0).toString(t);return n}var Ae=[{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 Oe(e,t={},n=[]){const r={};Object.entries(ee({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(Ae.map(e=>e.param));return[...Ae.map(e=>t.has(e.param)?{param:e.param,platform:t.get(e.param)}:e),...e.filter(e=>!n.has(e.param))]}(n):Ae,a=new Map;e.searchParams.forEach((e,t)=>{e&&a.set(t.toLowerCase(),e)});for(const e of o){const t=a.get(e.param);t&&(r[e.param]=t,r.clickId||(r.clickId=e.param,r.platform=e.platform))}return r}function Se(e,t){return"number"==typeof e?{wait:e}:e?{wait:e.wait??t,size:e.size,age:e.age}:{wait:t}}function Ee(e,t=1e3,n=!1){const{wait:r,size:o,age:a}=Se(t,1e3);let i,s,c=null,l=null,u=!1,f=[],p=0;const d=()=>{c&&(clearTimeout(c),c=null),l&&(clearTimeout(l),l=null),p=0,s=void 0},m=()=>{const t=s,n=f;if(d(),f=[],t)return i=e(...t),n.forEach(e=>e(i)),i;n.forEach(e=>e(void 0))},g=(...t)=>new Promise(d=>{const g=n&&!u;if(s=t,p+=1,f.push(d),c&&clearTimeout(c),c=setTimeout(()=>{c=null,n&&!u||m()},r),void 0===a||l||(l=setTimeout(()=>{l=null,m()},a)),void 0!==o&&p>=o)m();else if(g){u=!0,i=e(...t);const n=f;f=[],n.forEach(e=>e(i))}});return g.flush=()=>s||0!==f.length?new Promise(e=>{f.push(e),m()}):Promise.resolve(void 0),g.cancel=()=>{const e=f;f=[],d(),e.forEach(e=>e(void 0))},g.size=()=>p,g}function _e(e,t=1e3){const{wait:n}=Se(t,1e3);let r=null;return function(...t){if(null===r)return r=setTimeout(()=>{r=null},n),e(...t)}}function Ne(e){return{message:e.message,name:e.name,stack:e.stack,cause:e.cause}}function Ce(e,t){let n,r={};return e instanceof Error?(n=e.message,r.error=Ne(e)):n=e,void 0!==t&&(t instanceof Error?r.error=Ne(t):"object"==typeof t&&null!==t?(r={...r,...t},"error"in r&&r.error instanceof Error&&(r.error=Ne(r.error))):r.value=t),{message:n,context:r}}var Te=(e,t,n,r)=>{const o=`${f[e]}${r.length>0?` [${r.join(":")}]`:""}`,a=Object.keys(n).length>0,i=0===e?console.error:1===e?console.warn:console.log;a?i(o,t,n):i(o,t)};function ze(e={}){return Ie({level:void 0!==e.level?function(e){return"string"==typeof e?f[e]:e}(e.level):0,handler:e.handler,jsonHandler:e.jsonHandler,scope:[]})}function Ie(e){const{level:t,handler:n,jsonHandler:r,scope:o}=e,a=(e,r,a)=>{if(e<=t){const t=Ce(r,a);n?n(e,t.message,t.context,o,Te):Te(e,t.message,t.context,o)}};return{error:(e,t)=>a(0,e,t),warn:(e,t)=>a(1,e,t),info:(e,t)=>a(2,e,t),debug:(e,t)=>a(3,e,t),throw:(e,t)=>{const r=Ce(e,t);throw n?n(0,r.message,r.context,o,Te):Te(0,r.message,r.context,o),new Error(r.message)},json:e=>{r?r(e):console.log(JSON.stringify(e,null,2))},scope:e=>Ie({level:t,handler:n,jsonHandler:r,scope:[...o,e]})}}function Pe(e){return re(e)||fe(e)||ce(e)||!ae(e)||ne(e)&&e.every(Pe)||le(e)&&Object.values(e).every(Pe)}function Me(e){return re(e)||fe(e)||ce(e)?e:te(e)?Me(Array.from(e)):ne(e)?e.map(e=>Me(e)).filter(e=>void 0!==e):le(e)?Object.entries(e).reduce((e,[t,n])=>{const r=Me(n);return void 0!==r&&(e[t]=r),e},{}):void 0}function Re(e){return Pe(e)?e:void 0}function Ze(e,t,n){return function(...r){try{return e(...r)}catch(e){if(!t)return;return t(e)}finally{n?.()}}}function De(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 Ue=class e extends Error{constructor(t,n){super(t,n),this.name="FatalError",Object.setPrototypeOf(this,e.prototype)}};async function Fe(e,t,n){const[r,o]=(e.name||"").split(" ");if(!t||!r||!o)return{};let a,i="",s=r,c=o;const l=t=>{if(!t)return;return(ne(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:le(e)&&e.consent||n.consent};return Boolean(t.condition(e,r))})};t[s]||(s="*");const u=t[s];return u&&(u[c]||(c="*"),a=l(u[c])),a||(s="*",c="*",a=l(t[s]?.[c])),a&&(i=`${s} ${c}`),{eventMapping:a,mappingKey:i}}async function We(e,t={},n={}){if(!ae(e))return;const r=le(e)&&e.consent||n.consent||n.collector?.consent,o=n.event??(le(e)?e:{});if(!n.collector)throw new Error("getMappingValue: context.collector is required");const a={event:o,mapping:t,collector:n.collector,logger:n.collector.logger,consent:r},i=ne(t)?t:[t];for(const t of i){const r=await De(He,e=>{if(e instanceof Ue)throw e;n.collector&&n.collector.status.failed++,a.logger.error("mapping processing failed",{event:o,error:e})})(e,t,{...a,mapping:t});if(ae(r))return r}}async function He(e,t,n){return(ne(t)?t:[t]).reduce(async(t,r)=>{const o=await t;if(o)return o;const a=fe(r)?{key:r}:r;if(!Object.keys(a).length)return;const{condition:i,consent:s,fn:c,key:l,loop:u,map:f,set:p,validate:d,value:m}=a,g={...n,mapping:r};if(i&&!await De(i,e=>{if(e instanceof Ue)throw e;return g.logger.error("mapping condition failed",{event:g.event,error:e}),!1})(e,g))return;if(s&&!ve(s,g.consent))return m;let y=ae(m)?m:e;if(c&&(y=await De(c,e=>{if(e instanceof Ue)throw e;g.logger.error("mapping fn failed",{event:g.event,error:e})})(e,g)),l&&(y=de(e,l,m)),u){const[t,n]=u,r="this"===t?[e]:await We(e,t,g);ne(r)&&(y=(await Promise.all(r.map(e=>We(e,n,g)))).filter(ae))}else f?y=await Object.entries(f).reduce(async(t,[n,r])=>{const o=await t,a=await We(e,r,g);return ae(a)&&(o[n]=a),o},Promise.resolve({})):p&&(y=await Promise.all(p.map(t=>He(e,t,g))));d&&!await De(d,e=>{if(e instanceof Ue)throw e;return g.logger.error("mapping validate failed",{event:g.event,error:e}),!1})(y,g)&&(y=void 0);const h=Re(y);return ae(h)?h:Re(m)},Promise.resolve(void 0))}async function Le(e,t,n){t.policy&&await Promise.all(Object.entries(t.policy).map(async([t,r])=>{const o=await We(e,r,{collector:n,event:e});e=me(e,t,o)}));const{eventMapping:r,mappingKey:o}=await Fe(e,t.mapping,n);r?.policy&&await Promise.all(Object.entries(r.policy).map(async([t,r])=>{const o=await We(e,r,{collector:n,event:e});e=me(e,t,o)}));let a=t.data&&await We(e,t.data,{collector:n,event:e});const i=Boolean(r?.silent);if(r){if(r.ignore)return{event:e,data:a,mapping:r,mappingKey:o,ignore:!0,silent:i};if(r.name&&(e.name=r.name),r.data){const t=r.data&&await We(e,r.data,{collector:n,event:e});a=le(a)&&le(t)?ee(a,t):t}}const s=r?.include??t.include;if(s&&s.length>0){const t=ye(e,s);Object.keys(t).length>0&&(a=le(a)?ee(t,a):a??t)}return{event:e,data:a,mapping:r,mappingKey:o,ignore:!1,silent:i}}function Ve(e,t){const n=(e,r=[])=>new Proxy(e,{get(e,o){const a=e[o],i=[...r,o];return"function"==typeof a?a.prototype&&a.prototype.constructor===a?a:(...e)=>{const r=t(i,e,a);if(r&&"object"==typeof r)return n(r,i);const o=a(...e);return o&&"object"==typeof o?n(o,i):r}:a&&"object"==typeof a?n(a,i):a}});return n(e)}function qe(e,t){const n=(e,r=[])=>{if(!e||"object"!=typeof e)return e;const o=Array.isArray(e)?[]:{};for(const[a,i]of Object.entries(e)){const e=[...r,a];Array.isArray(o)?o[Number(a)]=t(i,e):o[a]=t(i,e),i&&"object"==typeof i&&"function"!=typeof i&&(Array.isArray(o)?o[Number(a)]=n(i,e):o[a]=n(i,e))}return o};return n(e)}function Ke(){const e=[],t=jest.fn(e=>{const t=e instanceof Error?e.message:e;throw new Error(t)}),n=jest.fn(t=>{const n=Ke();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 Be(e={}){return{collector:{},config:{},env:{},logger:Ke(),id:"test",ingest:E("test"),...e}}function Je(e){const t=String(e),n=t.split("?")[1]||t;return Ze(()=>{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 a=n===r.length-1;if(ne(o)){const i=parseInt(t,10);a?o[i]=he(e):(o[i]=o[i]||(isNaN(parseInt(r[n+1],10))?{}:[]),o=o[i])}else le(o)&&(a?o[t]=he(e):(o[t]=o[t]||(isNaN(parseInt(r[n+1],10))?{}:[]),o=o[t]))})}),t})()}function Ge(e){if(!e)return"";const t=[],n=encodeURIComponent;function r(e,o){null!=o&&(ne(o)?o.forEach((t,n)=>r(`${e}[${n}]`,t)):le(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 Xe(e){return void 0===e||ue(e,"")?e:JSON.stringify(e)}function Ye(e={}){return ee({"Content-Type":"application/json; charset=utf-8"},e)}function Qe(e,t){return!1===e||void 0===e?null:!0===e?t:{...t,...e}}function et(e){return e?e.trim().replace(/^'|'$/g,"").trim():""}function tt(e,t,n,r){return function(...o){let a;const i="pre"+t,s="post"+t,c=n[i],l=n[s],u=(e,t)=>{r?r.warn(e,{error:t}):console.warn(e,t)};if(c)try{a=c({fn:e},...o)}catch(t){u(`Hook ${String(i)} failed, falling back to original function`,t),a=e(...o)}else a=e(...o);if(l)try{a=l({fn:e,result:a},...o)}catch(e){u(`Hook ${String(s)} failed, keeping original result`,e)}return a}}function nt(e){return e?{userAgent:e,browser:rt(e),browserVersion:ot(e),os:at(e),osVersion:it(e),deviceType:st(e)}:{}}function rt(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 ot(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 at(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 it(e){const t=e.match(/(?:Windows NT|Mac OS X|Android|iPhone OS) ([0-9._]+)/);return t?t[1].replace(/_/g,"."):void 0}function st(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 ct(e){return function(e){return/\breturn\b/.test(e)}(e)?e:`return ${e}`}function lt(e){const t=ct(e);return new Function("value","context",t)}function ut(e){const t=ct(e);return new Function("value","context",t)}function ft(e){const t=ct(e);return new Function("value","context",t)}function pt(e){return"string"==typeof e||Array.isArray(e)&&e.every(e=>"string"==typeof e)?e:void 0}async function dt(e,t){const n=t?.version||"latest",r=t?.timeout||1e4,o=new AbortController,a=setTimeout(()=>o.abort(),r),i=o.signal,s=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,...s&&{headers:s}});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||{},a=n.hints,i=n.hintKeys??(a?Object.keys(a):[]),s=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},...a&&Object.keys(a).length>0?{hints:a}:{},hintKeys:i,exampleSummaries:s}}(e,n,await o.json())}const r=`https://cdn.jsdelivr.net/npm/${e}@${n}`,o=await mt(`${r}/package.json`,i,s);return function(e,t,n,r){const o=r.$meta||{},a=r.schemas||{},i=r.examples||{},s=r.hints,c=s?Object.keys(s):[],l=[],u=i.step||{};for(const[e,t]of Object.entries(u)){const n=t,r={name:e};"string"==typeof n?.description&&(r.description=n.description),l.push(r)}const f="string"==typeof o.docs?o.docs:void 0,p="string"==typeof o.source?o.source:void 0;return{packageName:e,version:"string"==typeof n.version?n.version:t,description:"string"==typeof n.description?n.description:void 0,type:"string"==typeof o.type?o.type:void 0,platform:pt(o.platform),schemas:a,examples:i,...f?{docs:f}:{},...p?{source:p}:{},...s&&Object.keys(s).length>0?{hints:s}:{},hintKeys:c,exampleSummaries:l}}(e,n,o,await mt(`${r}/dist/walkerOS.json`,i,s))}finally{clearTimeout(a)}}async function mt(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 gt(e,t){const n=await dt(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}:{}}}function yt(e,t){const n=t?{...e,_hints:t}:e;return{content:[{type:"text",text:JSON.stringify(n,null,2)}],structuredContent:n}}function ht(e,t){let n,r,o,a;if(e instanceof Error){n=e.message;const t=e;t.code&&(o=t.code),Array.isArray(t.details)&&(a=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),a&&(i.details=a),{content:[{type:"text",text:JSON.stringify(i)}],structuredContent:i,isError:!0}}function vt(e){let t=!1;return(n={})=>{t||(t=!0,e(n))}}function bt(e){if(void 0===e||"*"===e)return()=>!0;if("and"in e){const t=e.and.map(bt);return e=>t.every(t=>t(e))}if("or"in e){const t=e.or.map(bt);return e=>t.some(t=>t(e))}return function(e){const{key:t,operator:n,value:r,not:o}=e,a=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=de(e,t),r=a(n);return o?!r:r}}(e)}function wt(e){return Array.isArray(e)&&e.length>0&&e.every(e=>function(e){return"object"==typeof e&&null!==e&&!Array.isArray(e)&&("match"in e||"next"in e||"one"in e||"many"in e)}(e))}function kt(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:$t(e)??{type:"chain",value:[]}};const t=e;return{match:t.match?bt(t.match):()=>!0,next:$t(t)??{type:"chain",value:[]}}})}function $t(e){if(null==e)return;if("string"==typeof e)return{type:"static",value:e};if(Array.isArray(e)){if(0===e.length)return;if(wt(e))return $t({one:e});if(e.every(e=>"string"==typeof e))return{type:"chain",value:e};const t=[];for(const n of e){const e=$t(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:bt(t.match),next:$t(t.next)}:$t(t.next);if("one"in t&&t.one){const e=kt(t.one);return t.match?{type:"gate",match:bt(t.match),next:{type:"one",routes:e}}:{type:"one",routes:e}}if("many"in t&&t.many){const e=kt(t.many);return t.match?{type:"gate",match:bt(t.match),next:{type:"many",routes:e}}:{type:"many",routes:e}}return t.match?{type:"gate",match:bt(t.match)}:void 0}var jt=new WeakMap;function xt(e,t={}){if(null==e)return[];let n;if("object"==typeof e){const t=jt.get(e);t?n=t:(n=$t(e),n&&jt.set(e,n))}else n=$t(e);if(!n)return[];const r=At(n,t);return void 0===r?[]:Array.isArray(r)?r:[r]}function At(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 At(e.next,t)}if("sequence"===e.type){const n=[];for(const r of e.value){const e=At(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=At(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 At(n.next,t)}}function Ot(e,t){const n={ingest:e??{}};return void 0!==t&&(n.event=t),n}function St(e){return{stop:e.stop??!1,storeId:e.store,namespace:e.namespace,rules:e.rules.map(e=>({match:e.match?bt(e.match):()=>!0,key:e.key,ttl:e.ttl,update:e.update}))}}async function Et(e,t,n,r){const o=e.rules.find(e=>e.match(n));if(!o)return null;const a=o.key.map(e=>String(de(n,e)??""));if(a.every(e=>""===e))return null;const i=a.join(":"),s=r??e.namespace,c=s?`${s}:${i}`:i,l=await t.get(c);return void 0!==l?{status:"HIT",key:c,value:l,rule:o}:{status:"MISS",key:c,rule:o}}function _t(e,t,n,r){e.set(t,n,1e3*r)}async function Nt(e,t,n,r){if(!t)return e;let o=e;for(const[e,a]of Object.entries(t)){o=me(o,e,await We(n,a,{collector:r}))}return o}var Ct={Source:["code","package","import","before","next","cache"],Transformer:["code","package","import","before","next","cache","mapping"],Destination:["code","package","import","before","next","cache"],Store:["code","package","import","cache"]},Tt=["config","env","validate","variables","examples","disabled","id","logger","mock","chainMocks"],zt={Source:["primary"],Transformer:[],Destination:[],Store:[]},It=/^[A-Za-z_$][A-Za-z0-9_$]*$/;function Pt(e,t){const n=function(e){return new Set([...Ct[e],...Tt,...zt[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,a=void 0!==e.code;return a&&"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.`}:a&&("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."}:a&&r?{ok:!1,code:"CONFLICT",key:"package",reason:"Cannot specify both `code` and `package`. Use one or the other."}:a&&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&&It.test(e.import)?{ok:!0}:{ok:!1,code:"INVALID_IMPORT",key:"import",reason:`import must match ${It.source}. Got: ${JSON.stringify(e.import)}.`}}function Mt(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.mapping))}function Rt(e){return 0===e.length?"// no output":e.map(Zt).join(";\n\n")}function Zt(e){const[t,...n]=e,r=n.map(Dt).join(", ");return"return"===t?r?`return ${r}`:"return":`${t}(${r})`}function Dt(e){return void 0===e?"undefined":null===e?"null":"function"==typeof e?"[Function]":JSON.stringify(e,null,2)}export{n as Cache,r as Collector,S as Const,a as Context,i as Destination,q as ENV_MARKER_PREFIX,c as Elb,Ue as FatalError,O as Hint,l as Hooks,f as Level,$ as Lifecycle,u as Logger,p as Mapping,A as Matcher,d as On,L as REF_CODE_PREFIX,U as REF_CONTRACT,D as REF_ENV,F as REF_FLOW,H as REF_SECRET,W as REF_STORE,R as REF_VAR_FULL,Z as REF_VAR_INLINE,y as Request,Ct as STEP_OPERATIVE_FIELDS,x as Simulation,h as Source,b as Store,m as Transformer,k as Trigger,j as WalkerOS,N as anonymizeIP,Nt as applyUpdate,ee as assign,_ as branch,Ot as buildCacheContext,Re as castToProperty,he as castValue,Et as checkCache,pe as clone,St as compileCache,bt as compileMatcher,be as createDestination,$e as createEvent,E as createIngest,ze as createLogger,Be as createMockContext,Ke as createMockLogger,vt as createRespond,Ee as debounce,we as deepMerge,Ae as defaultClickIds,dt as fetchPackage,gt as fetchPackageSchema,Me as filterValues,ye as flattenIncludeSections,Rt as formatOut,rt as getBrowser,ot as getBrowserVersion,de as getByPath,st as getDeviceType,je as getEvent,X as getFlowSettings,ve as getGrantedConsent,Ye as getHeaders,xe as getId,Fe as getMappingEvent,We as getMappingValue,Oe as getMarketingParameters,xt as getNextSteps,at as getOS,it as getOSVersion,Y as getPlatform,ke as getSpanId,te as isArguments,ne as isArray,re as isBoolean,oe as isCommand,ae as isDefined,ie as isElementOrDocument,se as isFunction,ce as isNumber,le as isObject,Mt as isPathStepEntry,Pe as isPropertyType,ue as isSameType,fe as isString,ht as mcpError,yt as mcpResult,I as mergeContractSchemas,Ve as mockEnv,G as packageNameToVariable,nt as parseUserAgent,Le as processEventMapping,Je as requestToData,Ge as requestToParameter,z as resolveContracts,Qe as resolveSetup,me as setByPath,o as stepId,_t as storeCache,_e as throttle,C as throwError,Xe as transformData,qe as traverseEnv,et as trim,Ze as tryCatch,De as tryCatchAsync,tt as useHooks,Pt as validateStepEntry,B as walkPath,lt as wrapCondition,ut as wrapFn,ft 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 i={},a={};function s(e,t){const n=e.destinations[t];if(!n)throw new Error(`Destination not found: ${t}`);return n}t(a,{getDestination:()=>s});var c={},l={},u={};t(u,{Level:()=>f});var f=(e=>(e[e.ERROR=0]="ERROR",e[e.WARN=1]="WARN",e[e.INFO=2]="INFO",e[e.DEBUG=3]="DEBUG",e))(f||{}),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 y={},h={};function v(e,t){const n=e.sources[t];if(!n)throw new Error(`Source not found: ${t}`);return n}t(h,{getSource:()=>v});var b={};function w(e,t){const n=e.stores[t];if(!n)throw new Error(`Store not found: ${t}`);return n}t(b,{getStore:()=>w});var k={},$={},j={},x={},O={},A={},S={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 T(e){throw new Error(String(e))}var C=new Set(["description","examples","title","$comment"]);function I(e){const t={},n=new Set;function r(o){if(t[o])return t[o];n.has(o)&&T(`Circular extend chain detected: ${[...n,o].join(" → ")}`);const i=e[o];i||T(`Contract "${o}" not found`),n.add(o);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=z(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]||{},i=t.events?.[n]||{},a=new Set([...Object.keys(o),...Object.keys(i)]);r[n]={};for(const e of a){const t=o[e],a=i[e];r[n][e]=t&&a?z(t,a):{...t||a}}}n.events=r}return n}(r(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 i=e["*"]?.["*"];i&&(o=z(o,i));const a=e["*"]?.[r];a&&"*"!==r&&(o=z(o,a));const s=e[n]?.["*"];s&&"*"!==r&&(o=z(o,s));const c=e[n]?.[r];c&&(o=z(o,c)),t[n][r]=o}}e["*"]&&(t["*"]={...e["*"]});return t}(a.events)),a.events){const e={};for(const[t,n]of Object.entries(a.events)){e[t]={};for(const[r,o]of Object.entries(n))e[t][r]=P(o)}a.events=e}return n.delete(o),t[o]=a,a}for(const t of Object.keys(e))r(t);return t}function z(e,t){const n={...e};for(const r of Object.keys(t)){const o=e[r],i=t[r];"required"===r&&Array.isArray(o)&&Array.isArray(i)?n[r]=[...new Set([...o,...i])]:M(o)&&M(i)?n[r]=z(o,i):n[r]=i}return n}function P(e){const t={};for(const[n,r]of Object.entries(e))C.has(n)||(null===r||"object"!=typeof r||Array.isArray(r)?t[n]=r:t[n]=P(r));return t}function M(e){return"object"==typeof e&&null!==e&&!Array.isArray(e)}var R=/^\$var\.([a-zA-Z_][a-zA-Z0-9_]*(?:\.[a-zA-Z_][a-zA-Z0-9_]*)*)$/,D=/\$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,Z=/^\$contract\.([a-zA-Z_][a-zA-Z0-9_]*)(?:\.(.+))?$/,W=/^\$flow\.([a-zA-Z_][a-zA-Z0-9_]*)(?:\.([a-zA-Z0-9_.]+))?$/,F=/^\$store\.([a-zA-Z_][a-zA-Z0-9_]*)$/,H=/^\$secret\.([A-Z0-9_]+)$/,L="$code:";function K(...e){const t={};for(const n of e)n&&Object.assign(t,n);return t}var V="__WALKEROS_ENV:";function q(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 B(e,t,n){const r=t.split(".");let o=e;for(let e=0;e<r.length;e++){const i=r[e];if(null==o||"object"!=typeof o){const o=r.slice(0,e).join(".");T(`Path "${t}" not found in "${n}": "${i}" does not exist${o?` in "${o}"`:""}`)}const a=o;if(!(i in a)){const o=r.slice(0,e).join(".");T(`Path "${t}" not found in "${n}": "${i}" does not exist${o?` in "${o}"`:""}`)}o=a[i]}return o}function J(e,t,n,r,o,i){if("string"==typeof e){const a=e.match(R);if(a){const e=a[1].split("."),s=e[0],c=e.slice(1).join(".");void 0===t[s]&&T(`Variable "${s}" not found`);const l=i??new Set;if(l.has(s)){T(`Cyclic $var reference: ${[...l,s].join(" -> ")}`)}let u;l.add(s);try{u=J(t[s],t,n,r,o,l)}finally{l.delete(s)}return c&&(u=B(u,c,`$var.${s}`)),u}const s=e.match(Z);if(s&&r){const e=s[1],t=s[2];e in r||T(`Contract "${e}" not found`);let n=r[e];return t&&(n=B(n,t,`$contract.${e}`)),n}const c=e.match(W);if(c){const t=c[1],r=c[2],i=!1===n?.strictFlowRefs;o||T(`$flow.${t}${r?`.${r}`:""} cannot be resolved without a flow resolver`);const a=o(t);if(!a){if(i)return n?.onWarning?.(q(t,r,"unknown-flow")),e;T(`Flow "${t}" not found in $flow.${t}`)}let s=a;if(r)if(i){try{s=B(s,r,`$flow.${t}`)}catch{return n?.onWarning?.(q(t,r,"missing-key")),e}if(null==s||""===s)return n?.onWarning?.(q(t,r,"missing-key")),e}else s=B(s,r,`$flow.${t}`);return s}let l=e.replace(D,(e,a)=>{const s=a.split("."),c=s[0],l=s.slice(1).join(".");void 0===t[c]&&T(`Variable "${c}" not found`);const u=i??new Set;if(u.has(c)){T(`Cyclic $var reference: ${[...u,c].join(" -> ")}`)}let f;u.add(c);try{f=J(t[c],t,n,r,o,u)}finally{u.delete(c)}if(l&&(f=B(f,l,`$var.${c}`)),null===f||"string"!=typeof f&&"number"!=typeof f&&"boolean"!=typeof f){T(`Variable "${a}" resolves to non-scalar (${Array.isArray(f)?"array":typeof f}) and cannot be inlined into a string. Use it as a whole-string reference: "$var.${a}"`)}return String(f)});return l=l.replace(U,(e,t,r)=>n?.deferred?void 0!==r?`${V}${t}:${r}`:`${V}${t}`:"undefined"!=typeof process&&void 0!==process.env?.[t]?process.env[t]:void 0!==r?r:void T(`Environment variable "${t}" not found and no default provided`)),l}if(Array.isArray(e))return e.map(e=>J(e,t,n,r,o,i));if(null!==e&&"object"==typeof e){const a={};for(const[s,c]of Object.entries(e))a[s]=J(c,t,n,r,o,i);return a}return e}function G(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 X(e,t,n){const r=new Map,o=new Set,i=[],a=t=>{if(r.has(t))return r.get(t);const s=e.flows[t];if(s){if(o.has(t)){T(`Cyclic $flow reference: ${[...i,t].join(" -> ")}`)}o.add(t),i.push(t);try{const o=K(e.variables,s.variables),i=J(s.config??{},o,n,void 0,a);return r.set(t,i),i}finally{o.delete(t),i.pop()}}},s=Object.keys(e.flows);t||(1===s.length?t=s[0]:T(`Multiple flows found (${s.join(", ")}). Please specify a flow.`));const c=e.flows[t];c||T(`Flow "${t}" not found. Available: ${s.join(", ")}`),o.add(t),i.push(t);try{return function(e,t,n,r){const o=JSON.parse(JSON.stringify(t));let i;if(e.contract){const o=K(e.variables,t.variables);i=I(J(e.contract,o,n,void 0,r))}if(o.config){const a=K(e.variables,t.variables);o.config=J(o.config,a,n,i,r)}if(o.sources)for(const[a,s]of Object.entries(o.sources)){const c=K(e.variables,t.variables,s.variables),l=J(s.config,c,n,i,r),u=J(s.env,c,n,i,r);o.sources[a]={package:s.package,import:s.import,config:l,env:u,primary:s.primary,variables:s.variables,before:s.before,next:s.next,cache:s.cache,validate:s.validate,code:s.code}}if(o.destinations)for(const[a,s]of Object.entries(o.destinations)){const c=K(e.variables,t.variables,s.variables),l=J(s.config,c,n,i,r),u=J(s.env,c,n,i,r);o.destinations[a]={package:s.package,import:s.import,config:l,env:u,variables:s.variables,before:s.before,next:s.next,cache:s.cache,validate:s.validate,code:s.code}}if(o.stores)for(const[a,s]of Object.entries(o.stores)){const c=K(e.variables,t.variables,s.variables),l=J(s.config,c,n,i,r),u=J(s.env,c,n,i,r);o.stores[a]={package:s.package,import:s.import,config:l,env:u,cache:s.cache,variables:s.variables,code:s.code}}if(o.transformers)for(const[a,s]of Object.entries(o.transformers)){const c=K(e.variables,t.variables,s.variables),l=J(s.config,c,n,i,r),u=J(s.env,c,n,i,r);o.transformers[a]={package:s.package,import:s.import,config:l,env:u,variables:s.variables,before:s.before,next:s.next,cache:s.cache,validate:s.validate,code:s.code}}if(o.collector){const a=K(e.variables,t.variables),s=J(o.collector,a,n,i,r);o.collector=s}return o}(e,c,n,a)}finally{o.delete(t),i.pop()}}function Y(e){const t=e.config?.platform;if("web"===t||"server"===t)return t;T('Flow must have config.platform set to "web" or "server"')}var Q={merge:!0,shallow:!0,extend:!0};function ee(e,t={},n={}){n={...Q,...n};const r=Object.entries(t).reduce((t,[r,o])=>{const i=e[r];return n.merge&&Array.isArray(i)&&Array.isArray(o)?t[r]=o.reduce((e,t)=>e.includes(t)?e:[...e,t],[...i]):(n.extend||r in e)&&(t[r]=o),t},{});return n.shallow?{...e,...r}:(Object.assign(e,r),e)}function te(e){return"[object Arguments]"===Object.prototype.toString.call(e)}function ne(e){return Array.isArray(e)}function re(e){return"boolean"==typeof e}function oe(e){return"walker"===e}function ie(e){return void 0!==e}function ae(e){return!(!e||"object"!=typeof e)&&("body"in e||"tagName"in e)}function se(e){return"function"==typeof e}function ce(e){return"number"==typeof e&&!Number.isNaN(e)}function le(e){return"object"==typeof e&&null!==e&&!ne(e)&&"[object Object]"===Object.prototype.toString.call(e)}function ue(e,t){return typeof e==typeof t}function fe(e){return"string"==typeof e}function pe(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]=pe(e[r],t));return n}if("[object Array]"===n){const n=[];return t.set(e,n),e.forEach(e=>{n.push(pe(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 de(e,t="",n){const r=t.split(".");let o=e;for(let e=0;e<r.length;e++){const t=r[e];if("*"===t&&ne(o)){const t=r.slice(e+1).join("."),i=[];for(const e of o){const r=de(e,t,n);i.push(r)}return i}if(o=le(o)||ne(o)?o[t]:void 0,void 0===o)break}return ie(o)?o:n}function me(e,t,n){if(!le(e))return e;const r=pe(e),o=t.split(".");let i=r;for(let e=0;e<o.length;e++){const t=o[e];e===o.length-1?i[t]=n:(t in i&&"object"==typeof i[t]&&null!==i[t]||(i[t]={}),i=i[t])}return r}function ge(e,t){if(!le(e)&&!ne(e))return e;const n=pe(e),r=t.split(".");let o=n;for(let e=0;e<r.length;e++){const t=r[e],i=e===r.length-1;if(ne(o)){const e=Number(t);if(!Number.isInteger(e)||e<0||e>=o.length)return n;if(i)o.splice(e,1);else{const t=o[e];if(!le(t)&&!ne(t))return n;o=t}}else if(i)delete o[t];else{const e=o[t];if(!le(e)&&!ne(e))return n;o=e}}return n}var ye={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 he(e,t){const n={},r=t.includes("all")?Object.keys(ye):t;for(const t of r){const r=ye[t];if(!r)continue;const o=r(e);if(le(o))for(const[e,r]of Object.entries(o)){if(void 0===r)continue;const o="context"===t&&Array.isArray(r)?r[0]:r;n[`${t}_${e}`]=o}}return n}function ve(e){if("true"===e)return!0;if("false"===e)return!1;const t=Number(e);return e==t&&""!==e?t:String(e)}function be(e,t={},n={}){const r={...t,...n},o={};let i=!e||0===Object.keys(e).length;return Object.keys(r).forEach(t=>{r[t]&&(o[t]=!0,e&&e[t]&&(i=!0))}),!!i&&o}function we(e,t){const n={...e};return n.config=ee(e.config,t,{shallow:!0,merge:!0,extend:!0}),e.config.settings&&t.settings&&(n.config.settings=ee(e.config.settings,t.settings,{shallow:!0,merge:!0,extend:!0})),e.config.mapping&&t.mapping&&(n.config.mapping=ee(e.config.mapping,t.mapping,{shallow:!0,merge:!0,extend:!0})),n}function ke(e,t){if(!le(t))return e;for(const n of Object.keys(t)){const r=t[n];void 0!==r&&(le(r)&&le(e[n])?ke(e[n],r):e[n]=r)}return e}function $e(){let e="";for(let t=0;t<16;t++)e+=(16*Math.random()|0).toString(16);return e}function je(e={}){const t=e.timestamp||(new Date).setHours(0,13,37,0),n=ee({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||$e(),trigger:"test",entity:"entity",action:"action",timestamp:t,timing:3.14,source:{type:"collector",schema:"4"}},e,{merge:!1});if(e.name){const[t,r]=e.name.split(" ")??[];t&&r&&(n.entity=t,n.action=r)}return n}function xe(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 je({...{"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 Oe(e=6,t){if(t){const n=t.length;let r="";for(let o=0;o<e;o++)r+=t[Math.random()*n|0];return r}let n="";for(let t=36;n.length<e;)n+=(Math.random()*t|0).toString(t);return n}var Ae=[{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 Se(e,t={},n=[]){const r={};Object.entries(ee({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(Ae.map(e=>e.param));return[...Ae.map(e=>t.has(e.param)?{param:e.param,platform:t.get(e.param)}:e),...e.filter(e=>!n.has(e.param))]}(n):Ae,i=new Map;e.searchParams.forEach((e,t)=>{e&&i.set(t.toLowerCase(),e)});for(const e of o){const t=i.get(e.param);t&&(r[e.param]=t,r.clickId||(r.clickId=e.param,r.platform=e.platform))}return r}function Ee(e,t){return"number"==typeof e?{wait:e}:e?{wait:e.wait??t,size:e.size,age:e.age}:{wait:t}}function _e(e,t=1e3,n=!1){const{wait:r,size:o,age:i}=Ee(t,1e3);let a,s,c=null,l=null,u=!1,f=[],p=0;const d=()=>{c&&(clearTimeout(c),c=null),l&&(clearTimeout(l),l=null),p=0,s=void 0},m=()=>{const t=s,n=f;if(d(),f=[],t)return a=e(...t),n.forEach(e=>e(a)),a;n.forEach(e=>e(void 0))},g=(...t)=>new Promise(d=>{const g=n&&!u;if(s=t,p+=1,f.push(d),c&&clearTimeout(c),c=setTimeout(()=>{c=null,n&&!u||m()},r),void 0===i||l||(l=setTimeout(()=>{l=null,m()},i)),void 0!==o&&p>=o)m();else if(g){u=!0,a=e(...t);const n=f;f=[],n.forEach(e=>e(a))}});return g.flush=()=>s||0!==f.length?new Promise(e=>{f.push(e),m()}):Promise.resolve(void 0),g.cancel=()=>{const e=f;f=[],d(),e.forEach(e=>e(void 0))},g.size=()=>p,g}function Ne(e,t=1e3){const{wait:n}=Ee(t,1e3);let r=null;return function(...t){if(null===r)return r=setTimeout(()=>{r=null},n),e(...t)}}function Te(e){return{message:e.message,name:e.name,stack:e.stack,cause:e.cause}}function Ce(e,t){let n,r={};return e instanceof Error?(n=e.message,r.error=Te(e)):n=e,void 0!==t&&(t instanceof Error?r.error=Te(t):"object"==typeof t&&null!==t?(r={...r,...t},"error"in r&&r.error instanceof Error&&(r.error=Te(r.error))):r.value=t),{message:n,context:r}}var Ie=(e,t,n,r)=>{const o=`${f[e]}${r.length>0?` [${r.join(":")}]`:""}`,i=Object.keys(n).length>0,a=0===e?console.error:1===e?console.warn:console.log;i?a(o,t,n):a(o,t)};function ze(e={}){return Pe({level:void 0!==e.level?function(e){return"string"==typeof e?f[e]:e}(e.level):0,handler:e.handler,jsonHandler:e.jsonHandler,scope:[]})}function Pe(e){const{level:t,handler:n,jsonHandler:r,scope:o}=e,i=(e,r,i)=>{if(e<=t){const t=Ce(r,i);n?n(e,t.message,t.context,o,Ie):Ie(e,t.message,t.context,o)}};return{error:(e,t)=>i(0,e,t),warn:(e,t)=>i(1,e,t),info:(e,t)=>i(2,e,t),debug:(e,t)=>i(3,e,t),throw:(e,t)=>{const r=Ce(e,t);throw n?n(0,r.message,r.context,o,Ie):Ie(0,r.message,r.context,o),new Error(r.message)},json:e=>{r?r(e):console.log(JSON.stringify(e,null,2))},scope:e=>Pe({level:t,handler:n,jsonHandler:r,scope:[...o,e]})}}function Me(e){return re(e)||fe(e)||ce(e)||!ie(e)||ne(e)&&e.every(Me)||le(e)&&Object.values(e).every(Me)}function Re(e){return re(e)||fe(e)||ce(e)?e:te(e)?Re(Array.from(e)):ne(e)?e.map(e=>Re(e)).filter(e=>void 0!==e):le(e)?Object.entries(e).reduce((e,[t,n])=>{const r=Re(n);return void 0!==r&&(e[t]=r),e},{}):void 0}function De(e){return Me(e)?e:void 0}function Ue(e,t,n){return function(...r){try{return e(...r)}catch(e){if(!t)return;return t(e)}finally{n?.()}}}function Ze(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 We=class e extends Error{constructor(t,n){super(t,n),this.name="FatalError",Object.setPrototypeOf(this,e.prototype)}};async function Fe(e,t,n){const[r,o]=(e.name||"").split(" ");if(!t||!r||!o)return{};let i,a="",s=r,c=o;const l=t=>{if(!t)return;return(ne(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:le(e)&&e.consent||n.consent};return Boolean(t.condition(e,r))})};t[s]||(s="*");const u=t[s];return u&&(u[c]||(c="*"),i=l(u[c])),i||(s="*",c="*",i=l(t[s]?.[c])),i&&(a=`${s} ${c}`),{eventMapping:i,mappingKey:a}}async function He(e,t={},n={}){if(!ie(e))return;const r=le(e)&&e.consent||n.consent||n.collector?.consent,o=n.event??(le(e)?e:{});if(!n.collector)throw new Error("getMappingValue: context.collector is required");const i={event:o,mapping:t,collector:n.collector,logger:n.collector.logger,consent:r},a=ne(t)?t:[t];for(const t of a){const r=await Ze(Le,e=>{if(e instanceof We)throw e;n.collector&&n.collector.status.failed++,i.logger.error("mapping processing failed",{event:o,error:e})})(e,t,{...i,mapping:t});if(ie(r))return r}}async function Le(e,t,n){return(ne(t)?t:[t]).reduce(async(t,r)=>{const o=await t;if(o)return o;const i=fe(r)?{key:r}:r;if(!Object.keys(i).length)return;const{condition:a,consent:s,fn:c,key:l,loop:u,map:f,set:p,validate:d,value:m}=i,g={...n,mapping:r};if(a&&!await Ze(a,e=>{if(e instanceof We)throw e;return g.logger.error("mapping condition failed",{event:g.event,error:e}),!1})(e,g))return;if(s&&!be(s,g.consent))return m;let y=ie(m)?m:e;if(c&&(y=await Ze(c,e=>{if(e instanceof We)throw e;g.logger.error("mapping fn failed",{event:g.event,error:e})})(e,g)),l&&(y=de(e,l,m)),u){const[t,n]=u,r="this"===t?[e]:await He(e,t,g);ne(r)&&(y=(await Promise.all(r.map(e=>He(e,n,g)))).filter(ie))}else f?y=await Object.entries(f).reduce(async(t,[n,r])=>{const o=await t,i=await He(e,r,g);return ie(i)&&(o[n]=i),o},Promise.resolve({})):p&&(y=await Promise.all(p.map(t=>Le(e,t,g))));d&&!await Ze(d,e=>{if(e instanceof We)throw e;return g.logger.error("mapping validate failed",{event:g.event,error:e}),!1})(y,g)&&(y=void 0);const h=De(y);return ie(h)?h:De(m)},Promise.resolve(void 0))}async function Ke(e,t,n){t.policy&&await Promise.all(Object.entries(t.policy).map(async([t,r])=>{const o=await He(e,r,{collector:n,event:e});e=me(e,t,o)}));const{eventMapping:r,mappingKey:o}=await Fe(e,t.mapping,n);r?.policy&&await Promise.all(Object.entries(r.policy).map(async([t,r])=>{const o=await He(e,r,{collector:n,event:e});e=me(e,t,o)}));let i=t.data&&await He(e,t.data,{collector:n,event:e});const a=Boolean(r?.silent);if(r){if(r.ignore)return{event:e,data:i,mapping:r,mappingKey:o,ignore:!0,silent:a};if(r.name&&(e.name=r.name),r.data){const t=r.data&&await He(e,r.data,{collector:n,event:e});i=le(i)&&le(t)?ee(i,t):t}}const s=r?.include??t.include;if(s&&s.length>0){const t=he(e,s);Object.keys(t).length>0&&(i=le(i)?ee(t,i):i??t)}if(r?.remove&&le(i))for(const e of r.remove)i=ge(i,e);return{event:e,data:i,mapping:r,mappingKey:o,ignore:!1,silent:a}}function Ve(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];le(r)&&le(o)?Ve(o,r):e[n]=r}return e}function qe(e,t){if(void 0===t.extend&&void 0===t.remove)return pe(t);const n={...pe(e)};if(t.extend){Ve(n,{...t.extend})}return delete n.extend,t.remove?n.remove=[...t.remove]:delete n.remove,n}function Be(e,t){const n=(e,r=[])=>new Proxy(e,{get(e,o){const i=e[o],a=[...r,o];return"function"==typeof i?i.prototype&&i.prototype.constructor===i?i:(...e)=>{const r=t(a,e,i);if(r&&"object"==typeof r)return n(r,a);const o=i(...e);return o&&"object"==typeof o?n(o,a):r}:i&&"object"==typeof i?n(i,a):i}});return n(e)}function Je(e,t){const n=(e,r=[])=>{if(!e||"object"!=typeof e)return e;const o=Array.isArray(e)?[]:{};for(const[i,a]of Object.entries(e)){const e=[...r,i];Array.isArray(o)?o[Number(i)]=t(a,e):o[i]=t(a,e),a&&"object"==typeof a&&"function"!=typeof a&&(Array.isArray(o)?o[Number(i)]=n(a,e):o[i]=n(a,e))}return o};return n(e)}function Ge(){const e=[],t=jest.fn(e=>{const t=e instanceof Error?e.message:e;throw new Error(t)}),n=jest.fn(t=>{const n=Ge();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 Xe(e={}){return{collector:{},config:{},env:{},logger:Ge(),id:"test",ingest:E("test"),...e}}function Ye(e){const t=String(e),n=t.split("?")[1]||t;return Ue(()=>{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 i=n===r.length-1;if(ne(o)){const a=parseInt(t,10);i?o[a]=ve(e):(o[a]=o[a]||(isNaN(parseInt(r[n+1],10))?{}:[]),o=o[a])}else le(o)&&(i?o[t]=ve(e):(o[t]=o[t]||(isNaN(parseInt(r[n+1],10))?{}:[]),o=o[t]))})}),t})()}function Qe(e){if(!e)return"";const t=[],n=encodeURIComponent;function r(e,o){null!=o&&(ne(o)?o.forEach((t,n)=>r(`${e}[${n}]`,t)):le(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 et(e){return void 0===e||ue(e,"")?e:JSON.stringify(e)}function tt(e={}){return ee({"Content-Type":"application/json; charset=utf-8"},e)}function nt(e,t){return!1===e||void 0===e?null:!0===e?t:{...t,...e}}function rt(e){return e?e.trim().replace(/^'|'$/g,"").trim():""}function ot(e,t,n,r){const o=e;return function(...e){let i;const a="pre"+t,s="post"+t,c=n[a],l=n[s],u=(e,t)=>{r?r.warn(e,{error:t}):console.warn(e,t)};if(c)try{i=c({fn:o},...e)}catch(t){u(`Hook ${String(a)} failed, falling back to original function`,t),i=o(...e)}else i=o(...e);if(l)try{i=l({fn:o,result:i},...e)}catch(e){u(`Hook ${String(s)} failed, keeping original result`,e)}return i}}function it(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 at(e,t){const n=t.level??"standard";if("off"===n)return()=>{};const r=t.sample??1,o=t.includeIn??"trace"===n,i=t.includeOut??"trace"===n,a=t.includeMappingKey??"trace"===n;return function(t){if(t.eventId&&!it(t.eventId,r))return;const n={...t};o||delete n.inEvent,i||delete n.outEvent,a||delete n.mappingKey;try{e(n)}catch{}}}function st(e,t){return it(e,t)}function ct(e){const t=e.env??("undefined"!=typeof process?process.env:{}),n=e.now??(()=>Date.now()),r=t.WALKEROS_TRACE_UNTIL;if("string"==typeof r&&r.length>0){const t=Date.parse(r);if(!Number.isNaN(t)&&t>n())return{flowId:e.flowId,level:"trace",includeIn:!0,includeOut:!0,sample:1}}const o=e.observe?.level??"standard";if("off"===o)return null;const i=e.observe?.sample??1;return{flowId:e.flowId,level:o,sample:i}}function lt(e,t){for(const n of e.observers)try{n(t)}catch{}}function ut(e){const t=e.batchMs??50,n=e.batchSize??50,r=e.fetch??((e,t)=>globalThis.fetch(e,t)),o=e.onError??(()=>{});let i=[],a=null;function s(){if(0===i.length)return;const t=i;i=[],a&&(clearTimeout(a),a=null),Promise.resolve().then(()=>r(e.url,{method:"POST",headers:{"Content-Type":"application/json",Authorization:`Bearer ${e.token}`},body:JSON.stringify(t)})).then(e=>{e&&"object"==typeof e&&"ok"in e&&!e.ok&&o(new Error(`Observer responded ${e.status}`))}).catch(e=>{o(e)})}return e=>{i.push(e),i.length>=n?s():null===a&&(a=setTimeout(s,t))}}function ft(e){return e?{userAgent:e,browser:pt(e),browserVersion:dt(e),os:mt(e),osVersion:gt(e),deviceType:yt(e)}:{}}function pt(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 dt(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 mt(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 gt(e){const t=e.match(/(?:Windows NT|Mac OS X|Android|iPhone OS) ([0-9._]+)/);return t?t[1].replace(/_/g,"."):void 0}function yt(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 ht(e){return function(e){return/\breturn\b/.test(e)}(e)?e:`return ${e}`}function vt(e){const t=ht(e);return new Function("value","context",t)}function bt(e){const t=ht(e);return new Function("value","context",t)}function wt(e){const t=ht(e);return new Function("value","context",t)}function kt(e){return"string"==typeof e||Array.isArray(e)&&e.every(e=>"string"==typeof e)?e:void 0}async function $t(e,t){const n=t?.version||"latest",r=t?.timeout||1e4,o=new AbortController,i=setTimeout(()=>o.abort(),r),a=o.signal,s=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:a,...s&&{headers:s}});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||{},i=n.hints,a=n.hintKeys??(i?Object.keys(i):[]),s=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},...i&&Object.keys(i).length>0?{hints:i}:{},hintKeys:a,exampleSummaries:s}}(e,n,await o.json())}const r=`https://cdn.jsdelivr.net/npm/${e}@${n}`,o=await jt(`${r}/package.json`,a,s);return function(e,t,n,r){const o=r.$meta||{},i=r.schemas||{},a=r.examples||{},s=r.hints,c=s?Object.keys(s):[],l=[],u=a.step||{};for(const[e,t]of Object.entries(u)){const n=t,r={name:e};"string"==typeof n?.description&&(r.description=n.description),l.push(r)}const f="string"==typeof o.docs?o.docs:void 0,p="string"==typeof o.source?o.source:void 0;return{packageName:e,version:"string"==typeof n.version?n.version:t,description:"string"==typeof n.description?n.description:void 0,type:"string"==typeof o.type?o.type:void 0,platform:kt(o.platform),schemas:i,examples:a,...f?{docs:f}:{},...p?{source:p}:{},...s&&Object.keys(s).length>0?{hints:s}:{},hintKeys:c,exampleSummaries:l}}(e,n,o,await jt(`${r}/dist/walkerOS.json`,a,s))}finally{clearTimeout(i)}}async function jt(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 xt(e,t){const n=await $t(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}:{}}}function Ot(e,t){const n=t?{...e,_hints:t}:e;return{content:[{type:"text",text:JSON.stringify(n,null,2)}],structuredContent:n}}function At(e,t){let n,r,o,i;if(e instanceof Error){n=e.message;const t=e;t.code&&(o=t.code),Array.isArray(t.details)&&(i=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 a={error:n};return t&&(a.hint=t),r&&(a.path=r),o&&(a.code=o),i&&(a.details=i),{content:[{type:"text",text:JSON.stringify(a)}],structuredContent:a,isError:!0}}function St(e){let t=!1;return(n={})=>{t||(t=!0,e(n))}}function Et(e){if(void 0===e||"*"===e)return()=>!0;if("and"in e){const t=e.and.map(Et);return e=>t.every(t=>t(e))}if("or"in e){const t=e.or.map(Et);return e=>t.some(t=>t(e))}return function(e){const{key:t,operator:n,value:r,not:o}=e,i=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=de(e,t),r=i(n);return o?!r:r}}(e)}function _t(e){return Array.isArray(e)&&e.length>0&&e.every(e=>function(e){return"object"==typeof e&&null!==e&&!Array.isArray(e)&&("match"in e||"next"in e||"one"in e||"many"in e)}(e))}function Nt(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:Tt(e)??{type:"chain",value:[]}};const t=e;return{match:t.match?Et(t.match):()=>!0,next:Tt(t)??{type:"chain",value:[]}}})}function Tt(e){if(null==e)return;if("string"==typeof e)return{type:"static",value:e};if(Array.isArray(e)){if(0===e.length)return;if(_t(e))return Tt({one:e});if(e.every(e=>"string"==typeof e))return{type:"chain",value:e};const t=[];for(const n of e){const e=Tt(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:Et(t.match),next:Tt(t.next)}:Tt(t.next);if("one"in t&&t.one){const e=Nt(t.one);return t.match?{type:"gate",match:Et(t.match),next:{type:"one",routes:e}}:{type:"one",routes:e}}if("many"in t&&t.many){const e=Nt(t.many);return t.match?{type:"gate",match:Et(t.match),next:{type:"many",routes:e}}:{type:"many",routes:e}}return t.match?{type:"gate",match:Et(t.match)}:void 0}var Ct=new WeakMap;function It(e,t={}){if(null==e)return[];let n;if("object"==typeof e){const t=Ct.get(e);t?n=t:(n=Tt(e),n&&Ct.set(e,n))}else n=Tt(e);if(!n)return[];const r=zt(n,t);return void 0===r?[]:Array.isArray(r)?r:[r]}function zt(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 zt(e.next,t)}if("sequence"===e.type){const n=[];for(const r of e.value){const e=zt(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=zt(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 zt(n.next,t)}}function Pt(e,t){const n={ingest:e??{}};return void 0!==t&&(n.event=t),n}function Mt(e){return{stop:e.stop??!1,storeId:e.store,namespace:e.namespace,rules:e.rules.map(e=>({match:e.match?Et(e.match):()=>!0,key:e.key,ttl:e.ttl,update:e.update}))}}async function Rt(e,t,n,r){const o=e.rules.find(e=>e.match(n));if(!o)return null;const i=o.key.map(e=>String(de(n,e)??""));if(i.every(e=>""===e))return null;const a=i.join(":"),s=r??e.namespace,c=s?`${s}:${a}`:a,l=await t.get(c);return void 0!==l?{status:"HIT",key:c,value:l,rule:o}:{status:"MISS",key:c,rule:o}}function Dt(e,t,n,r){e.set(t,n,1e3*r)}async function Ut(e,t,n,r){if(!t)return e;let o=e;for(const[e,i]of Object.entries(t)){o=me(o,e,await He(n,i,{collector:r}))}return o}var Zt={Source:["code","package","import","before","next","cache"],Transformer:["code","package","import","before","next","cache","mapping"],Destination:["code","package","import","before","next","cache"],Store:["code","package","import","cache"]},Wt=["config","env","validate","variables","examples","disabled","id","logger","mock","chainMocks"],Ft={Source:["primary"],Transformer:[],Destination:[],Store:[]},Ht=/^[A-Za-z_$][A-Za-z0-9_$]*$/;function Lt(e,t){const n=function(e){return new Set([...Zt[e],...Wt,...Ft[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,i=void 0!==e.code;return i&&"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.`}:i&&("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."}:i&&r?{ok:!1,code:"CONFLICT",key:"package",reason:"Cannot specify both `code` and `package`. Use one or the other."}:i&&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&&Ht.test(e.import)?{ok:!0}:{ok:!1,code:"INVALID_IMPORT",key:"import",reason:`import must match ${Ht.source}. Got: ${JSON.stringify(e.import)}.`}}function Kt(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.mapping))}function Vt(e){return 0===e.length?"// no output":e.map(qt).join(";\n\n")}function qt(e){const[t,...n]=e,r=n.map(Bt).join(", ");return"return"===t?r?`return ${r}`:"return":`${t}(${r})`}function Bt(e){return void 0===e?"undefined":null===e?"null":"function"==typeof e?"[Function]":JSON.stringify(e,null,2)}export{n as Cache,r as Collector,S as Const,i as Context,a as Destination,V as ENV_MARKER_PREFIX,c as Elb,We as FatalError,A as Hint,l as Hooks,f as Level,$ as Lifecycle,u as Logger,p as Mapping,O as Matcher,d as On,L as REF_CODE_PREFIX,Z as REF_CONTRACT,U as REF_ENV,W as REF_FLOW,H as REF_SECRET,F as REF_STORE,R as REF_VAR_FULL,D as REF_VAR_INLINE,y as Request,Zt as STEP_OPERATIVE_FIELDS,x as Simulation,h as Source,b as Store,m as Transformer,k as Trigger,j as WalkerOS,N as anonymizeIP,Ut as applyUpdate,ee as assign,_ as branch,Pt as buildCacheContext,De as castToProperty,ve as castValue,Rt as checkCache,pe as clone,Mt as compileCache,Et as compileMatcher,ut as createBatchedPoster,we as createDestination,je as createEvent,E as createIngest,ze as createLogger,Xe as createMockContext,Ge as createMockLogger,St as createRespond,at as createTelemetryObserver,_e as debounce,ke as deepMerge,Ae as defaultClickIds,ge as deleteByPath,lt as emitStep,$t as fetchPackage,xt as fetchPackageSchema,Re as filterValues,he as flattenIncludeSections,Vt as formatOut,pt as getBrowser,dt as getBrowserVersion,de as getByPath,yt as getDeviceType,xe as getEvent,X as getFlowSettings,be as getGrantedConsent,tt as getHeaders,Oe as getId,Fe as getMappingEvent,He as getMappingValue,Se as getMarketingParameters,It as getNextSteps,mt as getOS,gt as getOSVersion,Y as getPlatform,$e as getSpanId,te as isArguments,ne as isArray,re as isBoolean,oe as isCommand,ie as isDefined,ae as isElementOrDocument,se as isFunction,ce as isNumber,le as isObject,Kt as isPathStepEntry,Me as isPropertyType,ue as isSameType,st as isSampled,fe as isString,At as mcpError,Ot as mcpResult,z as mergeContractSchemas,qe as mergeMappingRule,Be as mockEnv,G as packageNameToVariable,ft as parseUserAgent,Ke as processEventMapping,Ye as requestToData,Qe as requestToParameter,I as resolveContracts,nt as resolveSetup,ct as resolveTelemetryOptions,me as setByPath,o as stepId,Dt as storeCache,Ne as throttle,T as throwError,et as transformData,Je as traverseEnv,rt as trim,Ue as tryCatch,Ze as tryCatchAsync,ot as useHooks,Lt as validateStepEntry,B as walkPath,vt as wrapCondition,bt as wrapFn,wt as wrapValidate};//# sourceMappingURL=index.mjs.map