@walkeros/core 3.3.0-next-1776113011459 → 3.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/dist/index.d.mts CHANGED
@@ -2553,9 +2553,10 @@ declare function getEvent(name?: string, props?: DeepPartialEvent): Event;
2553
2553
  * Generates a random string of a given length.
2554
2554
  *
2555
2555
  * @param length - The length of the random string.
2556
+ * @param charset - Optional custom charset. Defaults to base-36 (0-9a-z).
2556
2557
  * @returns The random string.
2557
2558
  */
2558
- declare function getId(length?: number): string;
2559
+ declare function getId(length?: number, charset?: string): string;
2559
2560
 
2560
2561
  interface MarketingParameters {
2561
2562
  [key: string]: string;
package/dist/index.d.ts CHANGED
@@ -2553,9 +2553,10 @@ declare function getEvent(name?: string, props?: DeepPartialEvent): Event;
2553
2553
  * Generates a random string of a given length.
2554
2554
  *
2555
2555
  * @param length - The length of the random string.
2556
+ * @param charset - Optional custom charset. Defaults to base-36 (0-9a-z).
2556
2557
  * @returns The random string.
2557
2558
  */
2558
- declare function getId(length?: number): string;
2559
+ declare function getId(length?: number, charset?: string): string;
2559
2560
 
2560
2561
  interface MarketingParameters {
2561
2562
  [key: string]: string;
package/dist/index.js CHANGED
@@ -1 +1 @@
1
- "use strict";var e,t=Object.defineProperty,n=Object.getOwnPropertyDescriptor,r=Object.getOwnPropertyNames,o=Object.prototype.hasOwnProperty,i=(e,n)=>{for(var r in n)t(e,r,{get:n[r],enumerable:!0})},s={};i(s,{Cache:()=>a,Collector:()=>c,Const:()=>E,Context:()=>u,Destination:()=>l,ENV_MARKER_PREFIX:()=>U,Elb:()=>f,Flow:()=>p,Hint:()=>A,Hooks:()=>d,Level:()=>m,Lifecycle:()=>x,Logger:()=>g,Mapping:()=>y,Matcher:()=>S,On:()=>b,Request:()=>v,Simulation:()=>$,Source:()=>w,Store:()=>j,Transformer:()=>h,Trigger:()=>k,WalkerOS:()=>O,anonymizeIP:()=>P,applyUpdate:()=>wt,assign:()=>J,branch:()=>N,buildCacheContext:()=>yt,castToProperty:()=>Ne,castValue:()=>pe,checkCache:()=>ht,clone:()=>ae,compileCache:()=>bt,compileMatcher:()=>pt,compileNext:()=>gt,createDestination:()=>ge,createEvent:()=>ye,createIngest:()=>_,createLogger:()=>Se,createMockContext:()=>He,createMockLogger:()=>Fe,createRespond:()=>ft,debounce:()=>je,deepMerge:()=>me,defaultClickIds:()=>ve,fetchPackage:()=>st,fetchPackageSchema:()=>ct,filterValues:()=>_e,flattenIncludeSections:()=>fe,getBrowser:()=>Ke,getBrowserVersion:()=>Je,getByPath:()=>ce,getDeviceType:()=>Qe,getEvent:()=>be,getFlowSettings:()=>q,getGrantedConsent:()=>de,getHeaders:()=>Be,getId:()=>he,getMappingEvent:()=>Me,getMappingValue:()=>Te,getMarketingParameters:()=>we,getOS:()=>Ge,getOSVersion:()=>Xe,getPlatform:()=>Z,isArguments:()=>G,isArray:()=>X,isBoolean:()=>Q,isCommand:()=>Y,isDefined:()=>ee,isElementOrDocument:()=>te,isFunction:()=>ne,isNumber:()=>re,isObject:()=>oe,isPropertyType:()=>Ee,isRouteArray:()=>dt,isSameType:()=>ie,isString:()=>se,mcpError:()=>lt,mcpResult:()=>ut,mergeContractSchemas:()=>I,mockEnv:()=>De,packageNameToVariable:()=>B,parseUserAgent:()=>Ze,processEventMapping:()=>Ie,requestToData:()=>Ue,requestToParameter:()=>Ve,resolveContracts:()=>R,resolveNext:()=>mt,setByPath:()=>ue,storeCache:()=>vt,throttle:()=>ke,throwError:()=>C,transformData:()=>Le,traverseEnv:()=>ze,trim:()=>We,tryCatch:()=>Pe,tryCatchAsync:()=>Ce,useHooks:()=>qe,walkPath:()=>V,wrapCondition:()=>et,wrapFn:()=>tt,wrapValidate:()=>nt}),module.exports=(e=s,((e,i,s,a)=>{if(i&&"object"==typeof i||"function"==typeof i)for(let c of r(i))o.call(e,c)||c===s||t(e,c,{get:()=>i[c],enumerable:!(a=n(i,c))||a.enumerable});return e})(t({},"__esModule",{value:!0}),e));var a={},c={},u={},l={},f={},p={},d={},g={};i(g,{Level:()=>m});var m=(e=>(e[e.ERROR=0]="ERROR",e[e.WARN=1]="WARN",e[e.INFO=2]="INFO",e[e.DEBUG=3]="DEBUG",e))(m||{}),y={},b={},h={},v={},w={},j={},k={},x={},O={},$={},S={},A={},E={Utils:{Storage:{Local:"local",Session:"session",Cookie:"cookie"}}};function _(e){return{_meta:{hops:0,path:[e]}}}function N(e,t){return{event:e,next:t}}function P(e){return/^(?:\d{1,3}\.){3}\d{1,3}$/.test(e)?e.replace(/\.\d+$/,".0"):""}function C(e){throw new Error(String(e))}var M=["globals","context","custom","user","consent"],T=new Set(["description","examples","title","$comment"]);function R(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 i=e[o];i||C(`Contract "${o}" not found`),n.add(o);let s={};if(i.extends){s=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);for(const r of M){const o=e[r],i=t[r];o&&i?n[r]=I(o,i):(o||i)&&(n[r]={...o||i})}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]||{},s=new Set([...Object.keys(o),...Object.keys(i)]);r[n]={};for(const e of s){const t=o[e],s=i[e];r[n][e]=t&&s?I(t,s):{...t||s}}}n.events=r}return n}(r(i.extends),i)}else s={...i};if(delete s.extends,s.events&&(s.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=I(o,i));const s=e["*"]?.[r];s&&"*"!==r&&(o=I(o,s));const a=e[n]?.["*"];a&&"*"!==r&&(o=I(o,a));const c=e[n]?.[r];c&&(o=I(o,c)),t[n][r]=o}}e["*"]&&(t["*"]={...e["*"]});return t}(s.events)),s.events){const e={};for(const[t,n]of Object.entries(s.events)){e[t]={};for(const[r,o]of Object.entries(n))e[t][r]=D(o)}s.events=e}return n.delete(o),t[o]=s,s}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],i=t[r];"required"===r&&Array.isArray(o)&&Array.isArray(i)?n[r]=[...new Set([...o,...i])]:z(o)&&z(i)?n[r]=I(o,i):n[r]=i}return n}function D(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]=D(r));return t}function z(e){return"object"==typeof e&&null!==e&&!Array.isArray(e)}function F(...e){const t={};for(const n of e)n&&Object.assign(t,n);return t}function H(...e){const t={};for(const n of e)n&&Object.assign(t,n);return t}var U="__WALKEROS_ENV:";function V(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(".");C(`Path "${t}" not found in "${n}": "${i}" does not exist${o?` in "${o}"`:""}`)}const s=o;if(!(i in s)){const o=r.slice(0,e).join(".");C(`Path "${t}" not found in "${n}": "${i}" does not exist${o?` in "${o}"`:""}`)}o=s[i]}return o}function L(e,t,n,r,o){if("string"==typeof e){const i=e.match(/^\$def\.([a-zA-Z_][a-zA-Z0-9_]*)(?:\.(.+))?$/);if(i){const e=i[1],s=i[2];void 0===n[e]&&C(`Definition "${e}" not found`);let a=L(n[e],t,n,r,o);return s&&(a=V(a,s,`$def.${e}`)),a}const s=e.match(/^\$contract\.([a-zA-Z_][a-zA-Z0-9_]*)(?:\.(.+))?$/);if(s&&o){const e=s[1],t=s[2];e in o||C(`Contract "${e}" not found`);let n=o[e];return t&&(n=V(n,t,`$contract.${e}`)),n}let a=e.replace(/\$var\.([a-zA-Z_][a-zA-Z0-9_]*)/g,(e,n)=>{if(void 0!==t[n])return String(t[n]);C(`Variable "${n}" not found`)});return a=a.replace(/\$env\.([a-zA-Z_][a-zA-Z0-9_]*)(?::([^"}\s]*))?/g,(e,t,n)=>r?.deferred?void 0!==n?`${U}${t}:${n}`:`${U}${t}`:"undefined"!=typeof process&&void 0!==process.env?.[t]?process.env[t]:void 0!==n?n:void C(`Environment variable "${t}" not found and no default provided`)),a}if(Array.isArray(e))return e.map(e=>L(e,t,n,r,o));if(null!==e&&"object"==typeof e){const i={};for(const[s,a]of Object.entries(e))i[s]=L(a,t,n,r,o);return i}return e}function B(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 W(e,t,n){if(t)return t;if(!e||!n)return;return n[e]?B(e):void 0}function q(e,t,n){const r=Object.keys(e.flows);t||(1===r.length?t=r[0]:C(`Multiple flows found (${r.join(", ")}). Please specify a flow.`));const o=e.flows[t];o||C(`Flow "${t}" not found. Available: ${r.join(", ")}`);const i=JSON.parse(JSON.stringify(o));let s;if(e.contract){const t=F(e.variables,o.variables),r=H(e.definitions,o.definitions);s=R(L(e.contract,t,r,n))}if(i.sources)for(const[t,r]of Object.entries(i.sources)){const a=F(e.variables,o.variables,r.variables),c=H(e.definitions,o.definitions,r.definitions),u=L(r.config,a,c,n,s),l=L(r.env,a,c,n,s),f=W(r.package,r.code,i.bundle?.packages),p="string"==typeof r.code||"object"==typeof r.code?r.code:void 0,d=f||p;i.sources[t]={package:r.package,config:u,env:l,primary:r.primary,variables:r.variables,definitions:r.definitions,before:r.before,next:r.next,cache:r.cache,code:d}}if(i.destinations)for(const[t,r]of Object.entries(i.destinations)){const a=F(e.variables,o.variables,r.variables),c=H(e.definitions,o.definitions,r.definitions),u=L(r.config,a,c,n,s),l=L(r.env,a,c,n,s),f=W(r.package,r.code,i.bundle?.packages),p="string"==typeof r.code||"object"==typeof r.code?r.code:void 0,d=f||p;i.destinations[t]={package:r.package,config:u,env:l,variables:r.variables,definitions:r.definitions,before:r.before,next:r.next,cache:r.cache,code:d}}if(i.stores)for(const[t,r]of Object.entries(i.stores)){const a=F(e.variables,o.variables,r.variables),c=H(e.definitions,o.definitions,r.definitions),u=L(r.config,a,c,n,s),l=L(r.env,a,c,n,s),f=W(r.package,r.code,i.bundle?.packages),p="string"==typeof r.code||"object"==typeof r.code?r.code:void 0,d=f||p;i.stores[t]={package:r.package,config:u,env:l,variables:r.variables,definitions:r.definitions,code:d}}if(i.transformers)for(const[t,r]of Object.entries(i.transformers)){const a=F(e.variables,o.variables,r.variables),c=H(e.definitions,o.definitions,r.definitions),u=L(r.config,a,c,n,s),l=L(r.env,a,c,n,s),f=W(r.package,r.code,i.bundle?.packages),p="string"==typeof r.code||"object"==typeof r.code?r.code:void 0,d=f||p;i.transformers[t]={package:r.package,config:u,env:l,variables:r.variables,definitions:r.definitions,before:r.before,next:r.next,cache:r.cache,code:d}}if(i.collector){const t=F(e.variables,o.variables),r=H(e.definitions,o.definitions),a=L(i.collector,t,r,n,s);i.collector=a}return i}function Z(e){return void 0!==e.web?"web":void 0!==e.server?"server":void C("Settings must have web or server key")}var K={merge:!0,shallow:!0,extend:!0};function J(e,t={},n={}){n={...K,...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 G(e){return"[object Arguments]"===Object.prototype.toString.call(e)}function X(e){return Array.isArray(e)}function Q(e){return"boolean"==typeof e}function Y(e){return"walker"===e}function ee(e){return void 0!==e}function te(e){return!(!e||"object"!=typeof e)&&("body"in e||"tagName"in e)}function ne(e){return"function"==typeof e}function re(e){return"number"==typeof e&&!Number.isNaN(e)}function oe(e){return"object"==typeof e&&null!==e&&!X(e)&&"[object Object]"===Object.prototype.toString.call(e)}function ie(e,t){return typeof e==typeof t}function se(e){return"string"==typeof e}function ae(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]=ae(e[r],t));return n}if("[object Array]"===n){const n=[];return t.set(e,n),e.forEach(e=>{n.push(ae(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 ce(e,t="",n){const r=t.split(".");let o=e;for(let e=0;e<r.length;e++){const t=r[e];if("*"===t&&X(o)){const t=r.slice(e+1).join("."),i=[];for(const e of o){const r=ce(e,t,n);i.push(r)}return i}if(o=o instanceof Object?o[t]:void 0,void 0===o)break}return ee(o)?o:n}function ue(e,t,n){if(!oe(e))return e;const r=ae(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}var le={data:e=>e.data,globals:e=>e.globals,context:e=>e.context,user:e=>e.user,source:e=>e.source,version:e=>e.version,event:e=>({entity:e.entity,action:e.action,id:e.id,timestamp:e.timestamp,name:e.name,trigger:e.trigger,group:e.group,count:e.count,timing:e.timing})};function fe(e,t){const n={},r=t.includes("all")?Object.keys(le):t;for(const t of r){const r=le[t];if(!r)continue;const o=r(e);if(oe(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 pe(e){if("true"===e)return!0;if("false"===e)return!1;const t=Number(e);return e==t&&""!==e?t:String(e)}function de(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 ge(e,t){const n={...e};return n.config=J(e.config,t,{shallow:!0,merge:!0,extend:!0}),e.config.settings&&t.settings&&(n.config.settings=J(e.config.settings,t.settings,{shallow:!0,merge:!0,extend:!0})),e.config.mapping&&t.mapping&&(n.config.mapping=J(e.config.mapping,t.mapping,{shallow:!0,merge:!0,extend:!0})),n}function me(e,t){if(!oe(t))return e;for(const n of Object.keys(t)){const r=t[n];void 0!==r&&(oe(r)&&oe(e[n])?me(e[n],r):e[n]=r)}return e}function ye(e={}){const t=e.timestamp||(new Date).setHours(0,13,37,0),n=e.group||"gr0up",r=e.count||1,o=J({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"},nested:[],context:{element:["child",0]}}],consent:{functional:!0},id:`${t}-${n}-${r}`,trigger:"test",entity:"entity",action:"action",timestamp:t,timing:3.14,group:n,count:r,version:{source:"3.2.0",tagging:1},source:{type:"web",id:"https://localhost:80",previous_id:"http://remotehost:9001"}},e,{merge:!1});if(e.name){const[t,n]=e.name.split(" ")??[];t&&n&&(o.entity=t,o.action=n)}return o}function be(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 ye({...{"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 he(e=6){let t="";for(let n=36;t.length<e;)t+=(Math.random()*n|0).toString(n);return t}var ve=[{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 we(e,t={},n=[]){const r={};Object.entries(J({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(ve.map(e=>e.param));return[...ve.map(e=>t.has(e.param)?{param:e.param,platform:t.get(e.param)}:e),...e.filter(e=>!n.has(e.param))]}(n):ve,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 je(e,t=1e3,n=!1){let r,o=null,i=!1;return(...s)=>new Promise(a=>{const c=n&&!i;o&&clearTimeout(o),o=setTimeout(()=>{o=null,n&&!i||(r=e(...s),a(r))},t),c&&(i=!0,r=e(...s),a(r))})}function ke(e,t=1e3){let n=null;return function(...r){if(null===n)return n=setTimeout(()=>{n=null},t),e(...r)}}function xe(e){return{message:e.message,name:e.name,stack:e.stack,cause:e.cause}}function Oe(e,t){let n,r={};return e instanceof Error?(n=e.message,r.error=xe(e)):n=e,void 0!==t&&(t instanceof Error?r.error=xe(t):"object"==typeof t&&null!==t?(r={...r,...t},"error"in r&&r.error instanceof Error&&(r.error=xe(r.error))):r.value=t),{message:n,context:r}}var $e=(e,t,n,r)=>{const o=`${m[e]}${r.length>0?` [${r.join(":")}]`:""}`,i=Object.keys(n).length>0,s=0===e?console.error:1===e?console.warn:console.log;i?s(o,t,n):s(o,t)};function Se(e={}){return Ae({level:void 0!==e.level?function(e){return"string"==typeof e?m[e]:e}(e.level):0,handler:e.handler,jsonHandler:e.jsonHandler,scope:[]})}function Ae(e){const{level:t,handler:n,jsonHandler:r,scope:o}=e,i=(e,r,i)=>{if(e<=t){const t=Oe(r,i);n?n(e,t.message,t.context,o,$e):$e(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=Oe(e,t);throw n?n(0,r.message,r.context,o,$e):$e(0,r.message,r.context,o),new Error(r.message)},json:e=>{r?r(e):console.log(JSON.stringify(e,null,2))},scope:e=>Ae({level:t,handler:n,jsonHandler:r,scope:[...o,e]})}}function Ee(e){return Q(e)||se(e)||re(e)||!ee(e)||X(e)&&e.every(Ee)||oe(e)&&Object.values(e).every(Ee)}function _e(e){return Q(e)||se(e)||re(e)?e:G(e)?_e(Array.from(e)):X(e)?e.map(e=>_e(e)).filter(e=>void 0!==e):oe(e)?Object.entries(e).reduce((e,[t,n])=>{const r=_e(n);return void 0!==r&&(e[t]=r),e},{}):void 0}function Ne(e){return Ee(e)?e:void 0}function Pe(e,t,n){return function(...r){try{return e(...r)}catch(e){if(!t)return;return t(e)}finally{n?.()}}}function Ce(e,t,n){return async function(...r){try{return await e(...r)}catch(e){if(!t)return;return await t(e)}finally{await(n?.())}}}async function Me(e,t){const[n,r]=(e.name||"").split(" ");if(!t||!n||!r)return{};let o,i="",s=n,a=r;const c=t=>{if(t)return(t=X(t)?t:[t]).find(t=>!t.condition||t.condition(e))};t[s]||(s="*");const u=t[s];return u&&(u[a]||(a="*"),o=c(u[a])),o||(s="*",a="*",o=c(t[s]?.[a])),o&&(i=`${s} ${a}`),{eventMapping:o,mappingKey:i}}async function Te(e,t={},n={}){if(!ee(e))return;const r=oe(e)&&e.consent||n.consent||n.collector?.consent,o=X(t)?t:[t];for(const t of o){const o=await Ce(Re)(e,t,{...n,consent:r});if(ee(o))return o}}async function Re(e,t,n={}){const{collector:r,consent:o}=n;return(X(t)?t:[t]).reduce(async(t,i)=>{const s=await t;if(s)return s;const a=se(i)?{key:i}:i;if(!Object.keys(a).length)return;const{condition:c,consent:u,fn:l,key:f,loop:p,map:d,set:g,validate:m,value:y}=a;if(c&&!await Ce(c)(e,i,r))return;if(u&&!de(u,o))return y;let b=ee(y)?y:e;if(l&&(b=await Ce(l)(e,i,n)),f&&(b=ce(e,f,y)),p){const[t,r]=p,o="this"===t?[e]:await Te(e,t,n);X(o)&&(b=(await Promise.all(o.map(e=>Te(e,r,n)))).filter(ee))}else d?b=await Object.entries(d).reduce(async(t,[r,o])=>{const i=await t,s=await Te(e,o,n);return ee(s)&&(i[r]=s),i},Promise.resolve({})):g&&(b=await Promise.all(g.map(t=>Re(e,t,n))));m&&!await Ce(m)(b)&&(b=void 0);const h=Ne(b);return ee(h)?h:Ne(y)},Promise.resolve(void 0))}async function Ie(e,t,n){t.policy&&await Promise.all(Object.entries(t.policy).map(async([t,r])=>{const o=await Te(e,r,{collector:n});e=ue(e,t,o)}));const{eventMapping:r,mappingKey:o}=await Me(e,t.mapping);r?.policy&&await Promise.all(Object.entries(r.policy).map(async([t,r])=>{const o=await Te(e,r,{collector:n});e=ue(e,t,o)}));let i=t.data&&await Te(e,t.data,{collector:n});const s=Boolean(r?.skip);if(r){if(r.ignore)return{event:e,data:i,mapping:r,mappingKey:o,ignore:!0,skip:s};if(r.name&&(e.name=r.name),r.data){const t=r.data&&await Te(e,r.data,{collector:n});i=oe(i)&&oe(t)?J(i,t):t}}const a=r?.include??t.include;if(a&&a.length>0){const t=fe(e,a);Object.keys(t).length>0&&(i=oe(i)?J(t,i):i??t)}return{event:e,data:i,mapping:r,mappingKey:o,ignore:!1,skip:s}}function De(e,t){const n=(e,r=[])=>new Proxy(e,{get(e,o){const i=e[o],s=[...r,o];return"function"==typeof i?i.prototype&&i.prototype.constructor===i?i:(...e)=>{const r=t(s,e,i);if(r&&"object"==typeof r)return n(r,s);const o=i(...e);return o&&"object"==typeof o?n(o,s):r}:i&&"object"==typeof i?n(i,s):i}});return n(e)}function ze(e,t){const n=(e,r=[])=>{if(!e||"object"!=typeof e)return e;const o=Array.isArray(e)?[]:{};for(const[i,s]of Object.entries(e)){const e=[...r,i];Array.isArray(o)?o[Number(i)]=t(s,e):o[i]=t(s,e),s&&"object"==typeof s&&"function"!=typeof s&&(Array.isArray(o)?o[Number(i)]=n(s,e):o[i]=n(s,e))}return o};return n(e)}function Fe(){const e=[],t=jest.fn(e=>{const t=e instanceof Error?e.message:e;throw new Error(t)}),n=jest.fn(t=>{const n=Fe();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 He(e={}){return{collector:{},config:{},env:{},logger:Fe(),id:"test",ingest:_("test"),...e}}function Ue(e){const t=String(e),n=t.split("?")[1]||t;return Pe(()=>{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(X(o)){const s=parseInt(t,10);i?o[s]=pe(e):(o[s]=o[s]||(isNaN(parseInt(r[n+1],10))?{}:[]),o=o[s])}else oe(o)&&(i?o[t]=pe(e):(o[t]=o[t]||(isNaN(parseInt(r[n+1],10))?{}:[]),o=o[t]))})}),t})()}function Ve(e){if(!e)return"";const t=[],n=encodeURIComponent;function r(e,o){null!=o&&(X(o)?o.forEach((t,n)=>r(`${e}[${n}]`,t)):oe(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 Le(e){return void 0===e||ie(e,"")?e:JSON.stringify(e)}function Be(e={}){return J({"Content-Type":"application/json; charset=utf-8"},e)}function We(e){return e?e.trim().replace(/^'|'$/g,"").trim():""}function qe(e,t,n){return function(...r){let o;const i="post"+t,s=n["pre"+t],a=n[i];return o=s?s({fn:e},...r):e(...r),a&&(o=a({fn:e,result:o},...r)),o}}function Ze(e){return e?{userAgent:e,browser:Ke(e),browserVersion:Je(e),os:Ge(e),osVersion:Xe(e),deviceType:Qe(e)}:{}}function Ke(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 Je(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 Ge(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 Xe(e){const t=e.match(/(?:Windows NT|Mac OS X|Android|iPhone OS) ([0-9._]+)/);return t?t[1].replace(/_/g,"."):void 0}function Qe(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 Ye(e){return function(e){return/\breturn\b/.test(e)}(e)?e:`return ${e}`}function et(e){const t=Ye(e);return new Function("value","mapping","collector",t)}function tt(e){const t=Ye(e);return new Function("value","mapping","options",t)}function nt(e){const t=Ye(e);return new Function("value",t)}var rt="https://cdn.jsdelivr.net/npm",ot="dist/walkerOS.json";function it(e){return"string"==typeof e||Array.isArray(e)&&e.every(e=>"string"==typeof e)?e:void 0}async function st(e,t){const n=t?.version||"latest",r=t?.timeout||1e4,o=new AbortController,i=setTimeout(()=>o.abort(),r),s=o.signal;try{let r,o;if(t?.baseUrl){const i=encodeURIComponent(e),a=`${t.baseUrl}/api/packages/${i}`;r=await at(`${a}?version=${n}&path=package.json`,s),o=await at(`${a}?version=${n}&path=dist/walkerOS.json`,s)}else{const t=`${rt}/${e}@${n}`;r=await at(`${t}/package.json`,s),o=await at(`${t}/${ot}`,s)}return function(e,t,n,r){const o=r.$meta||{},i=r.schemas||{},s=r.examples||{},a=r.hints,c=a?Object.keys(a):[],u=[],l=s.step||{};for(const[e,t]of Object.entries(l)){const n=t,r={name:e};"string"==typeof n?.description&&(r.description=n.description),u.push(r)}const f="string"==typeof o.docs?o.docs:void 0,p="string"==typeof o.source?o.source:void 0;return{packageName:e,version:"string"==typeof n.version?n.version:t,description:"string"==typeof n.description?n.description:void 0,type:"string"==typeof o.type?o.type:void 0,platform:it(o.platform),schemas:i,examples:s,...f?{docs:f}:{},...p?{source:p}:{},...a&&Object.keys(a).length>0?{hints:a}:{},hintKeys:c,exampleSummaries:u}}(e,n,r,o)}finally{clearTimeout(i)}}async function at(e,t){const n=await fetch(e,{signal:t});if(!n.ok)throw new Error(`Failed to fetch ${e} (HTTP ${n.status})`);return await n.json()}async function ct(e,t){const n=await st(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 ut(e,t){const n=t?{...e,_hints:t}:e;return{content:[{type:"text",text:JSON.stringify(n,null,2)}],structuredContent:n}}function lt(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 s={error:n};return t&&(s.hint=t),r&&(s.path=r),o&&(s.code=o),i&&(s.details=i),{content:[{type:"text",text:JSON.stringify(s)}],structuredContent:s,isError:!0}}function ft(e){let t=!1;return(n={})=>{t||(t=!0,e(n))}}function pt(e){if("*"===e)return()=>!0;if("and"in e){const t=e.and.map(pt);return e=>t.every(t=>t(e))}if("or"in e){const t=e.or.map(pt);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=ce(e,t),r=i(n);return o?!r:r}}(e)}function dt(e){return Array.isArray(e)&&e.length>0&&"object"==typeof e[0]&&null!==e[0]&&"match"in e[0]}function gt(e){if(null!=e){if("string"==typeof e)return{type:"static",value:e};if(Array.isArray(e)){if(0===e.length)return;if(dt(e)){return{type:"routes",routes:e.map(e=>({match:pt(e.match),next:gt(e.next)}))}}return{type:"chain",value:e}}}}function mt(e,t={}){if(e){if("static"===e.type)return e.value;if("chain"===e.type)return e.value;for(const n of e.routes)if(n.match(t))return mt(n.next,t)}}function yt(e,t){const n={ingest:e??{}};return void 0!==t&&(n.event=t),n}function bt(e){return{full:e.full??!1,storeId:e.store,rules:e.rules.map(e=>({match:pt(e.match),key:e.key,ttl:e.ttl,update:e.update}))}}function ht(e,t,n,r){const o=e.rules.find(e=>e.match(n));if(!o)return null;const i=o.key.map(e=>String(ce(n,e)??""));if(i.every(e=>""===e))return null;const s=`${r}:${i.join(":")}`,a=t.get(s);return void 0!==a?{status:"HIT",key:s,value:a,rule:o}:{status:"MISS",key:s,rule:o}}function vt(e,t,n,r){e.set(t,n,1e3*r)}async function wt(e,t,n){if(!t)return e;let r=e;for(const[e,o]of Object.entries(t)){r=ue(r,e,await Te(n,o))}return r}//# sourceMappingURL=index.js.map
1
+ "use strict";var e,t=Object.defineProperty,n=Object.getOwnPropertyDescriptor,r=Object.getOwnPropertyNames,o=Object.prototype.hasOwnProperty,i=(e,n)=>{for(var r in n)t(e,r,{get:n[r],enumerable:!0})},a={};i(a,{Cache:()=>s,Collector:()=>c,Const:()=>E,Context:()=>u,Destination:()=>l,ENV_MARKER_PREFIX:()=>U,Elb:()=>f,Flow:()=>p,Hint:()=>A,Hooks:()=>d,Level:()=>m,Lifecycle:()=>x,Logger:()=>g,Mapping:()=>y,Matcher:()=>S,On:()=>b,Request:()=>v,Simulation:()=>$,Source:()=>w,Store:()=>j,Transformer:()=>h,Trigger:()=>k,WalkerOS:()=>O,anonymizeIP:()=>P,applyUpdate:()=>wt,assign:()=>J,branch:()=>N,buildCacheContext:()=>yt,castToProperty:()=>Ne,castValue:()=>pe,checkCache:()=>ht,clone:()=>se,compileCache:()=>bt,compileMatcher:()=>pt,compileNext:()=>gt,createDestination:()=>ge,createEvent:()=>ye,createIngest:()=>_,createLogger:()=>Se,createMockContext:()=>He,createMockLogger:()=>Fe,createRespond:()=>ft,debounce:()=>je,deepMerge:()=>me,defaultClickIds:()=>ve,fetchPackage:()=>at,fetchPackageSchema:()=>ct,filterValues:()=>_e,flattenIncludeSections:()=>fe,getBrowser:()=>Ke,getBrowserVersion:()=>Je,getByPath:()=>ce,getDeviceType:()=>Qe,getEvent:()=>be,getFlowSettings:()=>q,getGrantedConsent:()=>de,getHeaders:()=>Be,getId:()=>he,getMappingEvent:()=>Me,getMappingValue:()=>Te,getMarketingParameters:()=>we,getOS:()=>Ge,getOSVersion:()=>Xe,getPlatform:()=>Z,isArguments:()=>G,isArray:()=>X,isBoolean:()=>Q,isCommand:()=>Y,isDefined:()=>ee,isElementOrDocument:()=>te,isFunction:()=>ne,isNumber:()=>re,isObject:()=>oe,isPropertyType:()=>Ee,isRouteArray:()=>dt,isSameType:()=>ie,isString:()=>ae,mcpError:()=>lt,mcpResult:()=>ut,mergeContractSchemas:()=>I,mockEnv:()=>De,packageNameToVariable:()=>B,parseUserAgent:()=>Ze,processEventMapping:()=>Ie,requestToData:()=>Ue,requestToParameter:()=>Ve,resolveContracts:()=>R,resolveNext:()=>mt,setByPath:()=>ue,storeCache:()=>vt,throttle:()=>ke,throwError:()=>C,transformData:()=>Le,traverseEnv:()=>ze,trim:()=>We,tryCatch:()=>Pe,tryCatchAsync:()=>Ce,useHooks:()=>qe,walkPath:()=>V,wrapCondition:()=>et,wrapFn:()=>tt,wrapValidate:()=>nt}),module.exports=(e=a,((e,i,a,s)=>{if(i&&"object"==typeof i||"function"==typeof i)for(let c of r(i))o.call(e,c)||c===a||t(e,c,{get:()=>i[c],enumerable:!(s=n(i,c))||s.enumerable});return e})(t({},"__esModule",{value:!0}),e));var s={},c={},u={},l={},f={},p={},d={},g={};i(g,{Level:()=>m});var m=(e=>(e[e.ERROR=0]="ERROR",e[e.WARN=1]="WARN",e[e.INFO=2]="INFO",e[e.DEBUG=3]="DEBUG",e))(m||{}),y={},b={},h={},v={},w={},j={},k={},x={},O={},$={},S={},A={},E={Utils:{Storage:{Local:"local",Session:"session",Cookie:"cookie"}}};function _(e){return{_meta:{hops:0,path:[e]}}}function N(e,t){return{event:e,next:t}}function P(e){return/^(?:\d{1,3}\.){3}\d{1,3}$/.test(e)?e.replace(/\.\d+$/,".0"):""}function C(e){throw new Error(String(e))}var M=["globals","context","custom","user","consent"],T=new Set(["description","examples","title","$comment"]);function R(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 i=e[o];i||C(`Contract "${o}" not found`),n.add(o);let a={};if(i.extends){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);for(const r of M){const o=e[r],i=t[r];o&&i?n[r]=I(o,i):(o||i)&&(n[r]={...o||i})}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?I(t,a):{...t||a}}}n.events=r}return n}(r(i.extends),i)}else a={...i};if(delete a.extends,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=I(o,i));const a=e["*"]?.[r];a&&"*"!==r&&(o=I(o,a));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}(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]=D(o)}a.events=e}return n.delete(o),t[o]=a,a}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],i=t[r];"required"===r&&Array.isArray(o)&&Array.isArray(i)?n[r]=[...new Set([...o,...i])]:z(o)&&z(i)?n[r]=I(o,i):n[r]=i}return n}function D(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]=D(r));return t}function z(e){return"object"==typeof e&&null!==e&&!Array.isArray(e)}function F(...e){const t={};for(const n of e)n&&Object.assign(t,n);return t}function H(...e){const t={};for(const n of e)n&&Object.assign(t,n);return t}var U="__WALKEROS_ENV:";function V(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(".");C(`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(".");C(`Path "${t}" not found in "${n}": "${i}" does not exist${o?` in "${o}"`:""}`)}o=a[i]}return o}function L(e,t,n,r,o){if("string"==typeof e){const i=e.match(/^\$def\.([a-zA-Z_][a-zA-Z0-9_]*)(?:\.(.+))?$/);if(i){const e=i[1],a=i[2];void 0===n[e]&&C(`Definition "${e}" not found`);let s=L(n[e],t,n,r,o);return a&&(s=V(s,a,`$def.${e}`)),s}const a=e.match(/^\$contract\.([a-zA-Z_][a-zA-Z0-9_]*)(?:\.(.+))?$/);if(a&&o){const e=a[1],t=a[2];e in o||C(`Contract "${e}" not found`);let n=o[e];return t&&(n=V(n,t,`$contract.${e}`)),n}let s=e.replace(/\$var\.([a-zA-Z_][a-zA-Z0-9_]*)/g,(e,n)=>{if(void 0!==t[n])return String(t[n]);C(`Variable "${n}" not found`)});return s=s.replace(/\$env\.([a-zA-Z_][a-zA-Z0-9_]*)(?::([^"}\s]*))?/g,(e,t,n)=>r?.deferred?void 0!==n?`${U}${t}:${n}`:`${U}${t}`:"undefined"!=typeof process&&void 0!==process.env?.[t]?process.env[t]:void 0!==n?n:void C(`Environment variable "${t}" not found and no default provided`)),s}if(Array.isArray(e))return e.map(e=>L(e,t,n,r,o));if(null!==e&&"object"==typeof e){const i={};for(const[a,s]of Object.entries(e))i[a]=L(s,t,n,r,o);return i}return e}function B(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 W(e,t,n){if(t)return t;if(!e||!n)return;return n[e]?B(e):void 0}function q(e,t,n){const r=Object.keys(e.flows);t||(1===r.length?t=r[0]:C(`Multiple flows found (${r.join(", ")}). Please specify a flow.`));const o=e.flows[t];o||C(`Flow "${t}" not found. Available: ${r.join(", ")}`);const i=JSON.parse(JSON.stringify(o));let a;if(e.contract){const t=F(e.variables,o.variables),r=H(e.definitions,o.definitions);a=R(L(e.contract,t,r,n))}if(i.sources)for(const[t,r]of Object.entries(i.sources)){const s=F(e.variables,o.variables,r.variables),c=H(e.definitions,o.definitions,r.definitions),u=L(r.config,s,c,n,a),l=L(r.env,s,c,n,a),f=W(r.package,r.code,i.bundle?.packages),p="string"==typeof r.code||"object"==typeof r.code?r.code:void 0,d=f||p;i.sources[t]={package:r.package,config:u,env:l,primary:r.primary,variables:r.variables,definitions:r.definitions,before:r.before,next:r.next,cache:r.cache,code:d}}if(i.destinations)for(const[t,r]of Object.entries(i.destinations)){const s=F(e.variables,o.variables,r.variables),c=H(e.definitions,o.definitions,r.definitions),u=L(r.config,s,c,n,a),l=L(r.env,s,c,n,a),f=W(r.package,r.code,i.bundle?.packages),p="string"==typeof r.code||"object"==typeof r.code?r.code:void 0,d=f||p;i.destinations[t]={package:r.package,config:u,env:l,variables:r.variables,definitions:r.definitions,before:r.before,next:r.next,cache:r.cache,code:d}}if(i.stores)for(const[t,r]of Object.entries(i.stores)){const s=F(e.variables,o.variables,r.variables),c=H(e.definitions,o.definitions,r.definitions),u=L(r.config,s,c,n,a),l=L(r.env,s,c,n,a),f=W(r.package,r.code,i.bundle?.packages),p="string"==typeof r.code||"object"==typeof r.code?r.code:void 0,d=f||p;i.stores[t]={package:r.package,config:u,env:l,variables:r.variables,definitions:r.definitions,code:d}}if(i.transformers)for(const[t,r]of Object.entries(i.transformers)){const s=F(e.variables,o.variables,r.variables),c=H(e.definitions,o.definitions,r.definitions),u=L(r.config,s,c,n,a),l=L(r.env,s,c,n,a),f=W(r.package,r.code,i.bundle?.packages),p="string"==typeof r.code||"object"==typeof r.code?r.code:void 0,d=f||p;i.transformers[t]={package:r.package,config:u,env:l,variables:r.variables,definitions:r.definitions,before:r.before,next:r.next,cache:r.cache,code:d}}if(i.collector){const t=F(e.variables,o.variables),r=H(e.definitions,o.definitions),s=L(i.collector,t,r,n,a);i.collector=s}return i}function Z(e){return void 0!==e.web?"web":void 0!==e.server?"server":void C("Settings must have web or server key")}var K={merge:!0,shallow:!0,extend:!0};function J(e,t={},n={}){n={...K,...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 G(e){return"[object Arguments]"===Object.prototype.toString.call(e)}function X(e){return Array.isArray(e)}function Q(e){return"boolean"==typeof e}function Y(e){return"walker"===e}function ee(e){return void 0!==e}function te(e){return!(!e||"object"!=typeof e)&&("body"in e||"tagName"in e)}function ne(e){return"function"==typeof e}function re(e){return"number"==typeof e&&!Number.isNaN(e)}function oe(e){return"object"==typeof e&&null!==e&&!X(e)&&"[object Object]"===Object.prototype.toString.call(e)}function ie(e,t){return typeof e==typeof t}function ae(e){return"string"==typeof e}function se(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]=se(e[r],t));return n}if("[object Array]"===n){const n=[];return t.set(e,n),e.forEach(e=>{n.push(se(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 ce(e,t="",n){const r=t.split(".");let o=e;for(let e=0;e<r.length;e++){const t=r[e];if("*"===t&&X(o)){const t=r.slice(e+1).join("."),i=[];for(const e of o){const r=ce(e,t,n);i.push(r)}return i}if(o=o instanceof Object?o[t]:void 0,void 0===o)break}return ee(o)?o:n}function ue(e,t,n){if(!oe(e))return e;const r=se(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}var le={data:e=>e.data,globals:e=>e.globals,context:e=>e.context,user:e=>e.user,source:e=>e.source,version:e=>e.version,event:e=>({entity:e.entity,action:e.action,id:e.id,timestamp:e.timestamp,name:e.name,trigger:e.trigger,group:e.group,count:e.count,timing:e.timing})};function fe(e,t){const n={},r=t.includes("all")?Object.keys(le):t;for(const t of r){const r=le[t];if(!r)continue;const o=r(e);if(oe(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 pe(e){if("true"===e)return!0;if("false"===e)return!1;const t=Number(e);return e==t&&""!==e?t:String(e)}function de(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 ge(e,t){const n={...e};return n.config=J(e.config,t,{shallow:!0,merge:!0,extend:!0}),e.config.settings&&t.settings&&(n.config.settings=J(e.config.settings,t.settings,{shallow:!0,merge:!0,extend:!0})),e.config.mapping&&t.mapping&&(n.config.mapping=J(e.config.mapping,t.mapping,{shallow:!0,merge:!0,extend:!0})),n}function me(e,t){if(!oe(t))return e;for(const n of Object.keys(t)){const r=t[n];void 0!==r&&(oe(r)&&oe(e[n])?me(e[n],r):e[n]=r)}return e}function ye(e={}){const t=e.timestamp||(new Date).setHours(0,13,37,0),n=e.group||"gr0up",r=e.count||1,o=J({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"},nested:[],context:{element:["child",0]}}],consent:{functional:!0},id:`${t}-${n}-${r}`,trigger:"test",entity:"entity",action:"action",timestamp:t,timing:3.14,group:n,count:r,version:{source:"3.3.1",tagging:1},source:{type:"web",id:"https://localhost:80",previous_id:"http://remotehost:9001"}},e,{merge:!1});if(e.name){const[t,n]=e.name.split(" ")??[];t&&n&&(o.entity=t,o.action=n)}return o}function be(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 ye({...{"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 he(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 ve=[{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 we(e,t={},n=[]){const r={};Object.entries(J({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(ve.map(e=>e.param));return[...ve.map(e=>t.has(e.param)?{param:e.param,platform:t.get(e.param)}:e),...e.filter(e=>!n.has(e.param))]}(n):ve,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 je(e,t=1e3,n=!1){let r,o=null,i=!1;return(...a)=>new Promise(s=>{const c=n&&!i;o&&clearTimeout(o),o=setTimeout(()=>{o=null,n&&!i||(r=e(...a),s(r))},t),c&&(i=!0,r=e(...a),s(r))})}function ke(e,t=1e3){let n=null;return function(...r){if(null===n)return n=setTimeout(()=>{n=null},t),e(...r)}}function xe(e){return{message:e.message,name:e.name,stack:e.stack,cause:e.cause}}function Oe(e,t){let n,r={};return e instanceof Error?(n=e.message,r.error=xe(e)):n=e,void 0!==t&&(t instanceof Error?r.error=xe(t):"object"==typeof t&&null!==t?(r={...r,...t},"error"in r&&r.error instanceof Error&&(r.error=xe(r.error))):r.value=t),{message:n,context:r}}var $e=(e,t,n,r)=>{const o=`${m[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 Se(e={}){return Ae({level:void 0!==e.level?function(e){return"string"==typeof e?m[e]:e}(e.level):0,handler:e.handler,jsonHandler:e.jsonHandler,scope:[]})}function Ae(e){const{level:t,handler:n,jsonHandler:r,scope:o}=e,i=(e,r,i)=>{if(e<=t){const t=Oe(r,i);n?n(e,t.message,t.context,o,$e):$e(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=Oe(e,t);throw n?n(0,r.message,r.context,o,$e):$e(0,r.message,r.context,o),new Error(r.message)},json:e=>{r?r(e):console.log(JSON.stringify(e,null,2))},scope:e=>Ae({level:t,handler:n,jsonHandler:r,scope:[...o,e]})}}function Ee(e){return Q(e)||ae(e)||re(e)||!ee(e)||X(e)&&e.every(Ee)||oe(e)&&Object.values(e).every(Ee)}function _e(e){return Q(e)||ae(e)||re(e)?e:G(e)?_e(Array.from(e)):X(e)?e.map(e=>_e(e)).filter(e=>void 0!==e):oe(e)?Object.entries(e).reduce((e,[t,n])=>{const r=_e(n);return void 0!==r&&(e[t]=r),e},{}):void 0}function Ne(e){return Ee(e)?e:void 0}function Pe(e,t,n){return function(...r){try{return e(...r)}catch(e){if(!t)return;return t(e)}finally{n?.()}}}function Ce(e,t,n){return async function(...r){try{return await e(...r)}catch(e){if(!t)return;return await t(e)}finally{await(n?.())}}}async function Me(e,t){const[n,r]=(e.name||"").split(" ");if(!t||!n||!r)return{};let o,i="",a=n,s=r;const c=t=>{if(t)return(t=X(t)?t:[t]).find(t=>!t.condition||t.condition(e))};t[a]||(a="*");const u=t[a];return u&&(u[s]||(s="*"),o=c(u[s])),o||(a="*",s="*",o=c(t[a]?.[s])),o&&(i=`${a} ${s}`),{eventMapping:o,mappingKey:i}}async function Te(e,t={},n={}){if(!ee(e))return;const r=oe(e)&&e.consent||n.consent||n.collector?.consent,o=X(t)?t:[t];for(const t of o){const o=await Ce(Re)(e,t,{...n,consent:r});if(ee(o))return o}}async function Re(e,t,n={}){const{collector:r,consent:o}=n;return(X(t)?t:[t]).reduce(async(t,i)=>{const a=await t;if(a)return a;const s=ae(i)?{key:i}:i;if(!Object.keys(s).length)return;const{condition:c,consent:u,fn:l,key:f,loop:p,map:d,set:g,validate:m,value:y}=s;if(c&&!await Ce(c)(e,i,r))return;if(u&&!de(u,o))return y;let b=ee(y)?y:e;if(l&&(b=await Ce(l)(e,i,n)),f&&(b=ce(e,f,y)),p){const[t,r]=p,o="this"===t?[e]:await Te(e,t,n);X(o)&&(b=(await Promise.all(o.map(e=>Te(e,r,n)))).filter(ee))}else d?b=await Object.entries(d).reduce(async(t,[r,o])=>{const i=await t,a=await Te(e,o,n);return ee(a)&&(i[r]=a),i},Promise.resolve({})):g&&(b=await Promise.all(g.map(t=>Re(e,t,n))));m&&!await Ce(m)(b)&&(b=void 0);const h=Ne(b);return ee(h)?h:Ne(y)},Promise.resolve(void 0))}async function Ie(e,t,n){t.policy&&await Promise.all(Object.entries(t.policy).map(async([t,r])=>{const o=await Te(e,r,{collector:n});e=ue(e,t,o)}));const{eventMapping:r,mappingKey:o}=await Me(e,t.mapping);r?.policy&&await Promise.all(Object.entries(r.policy).map(async([t,r])=>{const o=await Te(e,r,{collector:n});e=ue(e,t,o)}));let i=t.data&&await Te(e,t.data,{collector:n});const a=Boolean(r?.skip);if(r){if(r.ignore)return{event:e,data:i,mapping:r,mappingKey:o,ignore:!0,skip:a};if(r.name&&(e.name=r.name),r.data){const t=r.data&&await Te(e,r.data,{collector:n});i=oe(i)&&oe(t)?J(i,t):t}}const s=r?.include??t.include;if(s&&s.length>0){const t=fe(e,s);Object.keys(t).length>0&&(i=oe(i)?J(t,i):i??t)}return{event:e,data:i,mapping:r,mappingKey:o,ignore:!1,skip:a}}function De(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 ze(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 Fe(){const e=[],t=jest.fn(e=>{const t=e instanceof Error?e.message:e;throw new Error(t)}),n=jest.fn(t=>{const n=Fe();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 He(e={}){return{collector:{},config:{},env:{},logger:Fe(),id:"test",ingest:_("test"),...e}}function Ue(e){const t=String(e),n=t.split("?")[1]||t;return Pe(()=>{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(X(o)){const a=parseInt(t,10);i?o[a]=pe(e):(o[a]=o[a]||(isNaN(parseInt(r[n+1],10))?{}:[]),o=o[a])}else oe(o)&&(i?o[t]=pe(e):(o[t]=o[t]||(isNaN(parseInt(r[n+1],10))?{}:[]),o=o[t]))})}),t})()}function Ve(e){if(!e)return"";const t=[],n=encodeURIComponent;function r(e,o){null!=o&&(X(o)?o.forEach((t,n)=>r(`${e}[${n}]`,t)):oe(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 Le(e){return void 0===e||ie(e,"")?e:JSON.stringify(e)}function Be(e={}){return J({"Content-Type":"application/json; charset=utf-8"},e)}function We(e){return e?e.trim().replace(/^'|'$/g,"").trim():""}function qe(e,t,n){return function(...r){let o;const i="post"+t,a=n["pre"+t],s=n[i];return o=a?a({fn:e},...r):e(...r),s&&(o=s({fn:e,result:o},...r)),o}}function Ze(e){return e?{userAgent:e,browser:Ke(e),browserVersion:Je(e),os:Ge(e),osVersion:Xe(e),deviceType:Qe(e)}:{}}function Ke(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 Je(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 Ge(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 Xe(e){const t=e.match(/(?:Windows NT|Mac OS X|Android|iPhone OS) ([0-9._]+)/);return t?t[1].replace(/_/g,"."):void 0}function Qe(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 Ye(e){return function(e){return/\breturn\b/.test(e)}(e)?e:`return ${e}`}function et(e){const t=Ye(e);return new Function("value","mapping","collector",t)}function tt(e){const t=Ye(e);return new Function("value","mapping","options",t)}function nt(e){const t=Ye(e);return new Function("value",t)}var rt="https://cdn.jsdelivr.net/npm",ot="dist/walkerOS.json";function it(e){return"string"==typeof e||Array.isArray(e)&&e.every(e=>"string"==typeof e)?e:void 0}async function at(e,t){const n=t?.version||"latest",r=t?.timeout||1e4,o=new AbortController,i=setTimeout(()=>o.abort(),r),a=o.signal;try{let r,o;if(t?.baseUrl){const i=encodeURIComponent(e),s=`${t.baseUrl}/api/packages/${i}`;r=await st(`${s}?version=${n}&path=package.json`,a),o=await st(`${s}?version=${n}&path=dist/walkerOS.json`,a)}else{const t=`${rt}/${e}@${n}`;r=await st(`${t}/package.json`,a),o=await st(`${t}/${ot}`,a)}return function(e,t,n,r){const o=r.$meta||{},i=r.schemas||{},a=r.examples||{},s=r.hints,c=s?Object.keys(s):[],u=[],l=a.step||{};for(const[e,t]of Object.entries(l)){const n=t,r={name:e};"string"==typeof n?.description&&(r.description=n.description),u.push(r)}const f="string"==typeof o.docs?o.docs:void 0,p="string"==typeof o.source?o.source:void 0;return{packageName:e,version:"string"==typeof n.version?n.version:t,description:"string"==typeof n.description?n.description:void 0,type:"string"==typeof o.type?o.type:void 0,platform:it(o.platform),schemas:i,examples:a,...f?{docs:f}:{},...p?{source:p}:{},...s&&Object.keys(s).length>0?{hints:s}:{},hintKeys:c,exampleSummaries:u}}(e,n,r,o)}finally{clearTimeout(i)}}async function st(e,t){const n=await fetch(e,{signal:t});if(!n.ok)throw new Error(`Failed to fetch ${e} (HTTP ${n.status})`);return await n.json()}async function ct(e,t){const n=await at(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 ut(e,t){const n=t?{...e,_hints:t}:e;return{content:[{type:"text",text:JSON.stringify(n,null,2)}],structuredContent:n}}function lt(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 ft(e){let t=!1;return(n={})=>{t||(t=!0,e(n))}}function pt(e){if("*"===e)return()=>!0;if("and"in e){const t=e.and.map(pt);return e=>t.every(t=>t(e))}if("or"in e){const t=e.or.map(pt);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=ce(e,t),r=i(n);return o?!r:r}}(e)}function dt(e){return Array.isArray(e)&&e.length>0&&"object"==typeof e[0]&&null!==e[0]&&"match"in e[0]}function gt(e){if(null!=e){if("string"==typeof e)return{type:"static",value:e};if(Array.isArray(e)){if(0===e.length)return;if(dt(e)){return{type:"routes",routes:e.map(e=>({match:pt(e.match),next:gt(e.next)}))}}return{type:"chain",value:e}}}}function mt(e,t={}){if(e){if("static"===e.type)return e.value;if("chain"===e.type)return e.value;for(const n of e.routes)if(n.match(t))return mt(n.next,t)}}function yt(e,t){const n={ingest:e??{}};return void 0!==t&&(n.event=t),n}function bt(e){return{full:e.full??!1,storeId:e.store,rules:e.rules.map(e=>({match:pt(e.match),key:e.key,ttl:e.ttl,update:e.update}))}}function ht(e,t,n,r){const o=e.rules.find(e=>e.match(n));if(!o)return null;const i=o.key.map(e=>String(ce(n,e)??""));if(i.every(e=>""===e))return null;const a=`${r}:${i.join(":")}`,s=t.get(a);return void 0!==s?{status:"HIT",key:a,value:s,rule:o}:{status:"MISS",key:a,rule:o}}function vt(e,t,n,r){e.set(t,n,1e3*r)}async function wt(e,t,n){if(!t)return e;let r=e;for(const[e,o]of Object.entries(t)){r=ue(r,e,await Te(n,o))}return r}//# sourceMappingURL=index.js.map