@walkeros/core 4.8.2 → 4.8.3-next-1793115089237
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +48 -3
- package/dist/dev.d.mts +130 -10
- package/dist/dev.d.ts +130 -10
- package/dist/dev.js +1 -1
- package/dist/dev.js.map +1 -1
- package/dist/dev.mjs +1 -1
- package/dist/dev.mjs.map +1 -1
- package/dist/index.d.mts +101 -16
- package/dist/index.d.ts +101 -16
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +1 -1
- package/dist/index.mjs.map +1 -1
- package/package.json +1 -1
package/dist/index.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";var e,t=Object.defineProperty,n=Object.getOwnPropertyDescriptor,r=Object.getOwnPropertyNames,o=Object.prototype.hasOwnProperty,s=(e,n)=>{for(var r in n)t(e,r,{get:n[r],enumerable:!0})},i={};s(i,{CLOCK_SKEW_MS:()=>Nn,CONTRACT_RULE_KEYS:()=>U,Cache:()=>a,Collector:()=>c,Const:()=>N,Context:()=>f,DEFAULT_DESTINATION_TIMEOUT_MS:()=>bn,Destination:()=>l,ENV_MARKER_PREFIX:()=>Le,EVENT_NOT_PROCESSED:()=>so,Elb:()=>d,FatalError:()=>Pt,FlowCycleError:()=>Fe,FlowReferenceError:()=>Pe,Hint:()=>R,Hooks:()=>m,INTERNAL_SERVER_ERROR:()=>io,InvalidEventError:()=>yn,Level:()=>h,Lifecycle:()=>A,Logger:()=>g,MAPPING_NO_OPS:()=>ve,MAX_SESSION_MS:()=>Tn,MOIN_PARAM:()=>Fn,MOIN_PRODUCTION:()=>Ln,Mapping:()=>v,Matcher:()=>M,OBSERVE_ENV_KEY:()=>Cr,OBSERVE_STORAGE_KEY:()=>Pn,On:()=>y,REF_CODE_PREFIX:()=>oe,REF_CONTRACT:()=>Y,REF_ENV:()=>J,REF_FLOW:()=>ee,REF_FLOW_INLINE:()=>te,REF_FLOW_NAME:()=>X,REF_SECRET:()=>re,REF_STORE:()=>ne,REF_VAR_FULL:()=>H,REF_VAR_INLINE:()=>G,RESERVED_WINDOW_GLOBALS:()=>yr,Request:()=>k,SECRET_MARKER_PREFIX:()=>De,STEP_FIELD_ROLES:()=>Se,STEP_FUNCTION_KEYS:()=>Ae,STEP_OPERATIVE_FIELDS:()=>Ie,Simulation:()=>_,Source:()=>$,StepError:()=>Dt,Store:()=>S,Transformer:()=>b,Trigger:()=>I,URL_WINDOW_MS:()=>Rn,WalkerOS:()=>x,acknowledge:()=>uo,advanceChain:()=>Ro,anonymizeIP:()=>P,applyState:()=>Jo,applyUpdate:()=>Vo,assembleJourneys:()=>ir,assign:()=>He,batchResponse:()=>ao,branch:()=>C,buildScopeFromNodeRequest:()=>no,castToProperty:()=>Rt,castValue:()=>nt,checkCache:()=>zo,checkWindowCollector:()=>wr,clone:()=>Ge,compileCache:()=>Ko,compileMatcher:()=>fo,compileState:()=>Wo,createBatchedPoster:()=>lr,createCauseLog:()=>Ht,createDestination:()=>ot,createEvent:()=>gt,createIngest:()=>T,createLogger:()=>At,createMappingRoot:()=>Do,createMockContext:()=>ln,createMockLogger:()=>fn,createRespond:()=>Yr,createTelemetryObserver:()=>En,createTimer:()=>Or,debounce:()=>Et,deepMerge:()=>st,defaultClickIds:()=>wt,deleteByPath:()=>Xe,deriveSpanId:()=>at,emitStep:()=>fr,fetchPackage:()=>xr,fetchPackageSchema:()=>Tr,filterValues:()=>Mt,flattenIncludeSections:()=>tt,formatOut:()=>Yo,getBrowser:()=>dr,getBrowserVersion:()=>mr,getByPath:()=>Je,getDeviceType:()=>vr,getErrorMessage:()=>en,getEvent:()=>ht,getFlowSettings:()=>We,getGrantedConsent:()=>rt,getHeaders:()=>gn,getId:()=>ut,getMappingEvent:()=>tn,getMappingKeyPaths:()=>we,getMappingNoOpMessage:()=>ke,getMappingNoOpPaths:()=>be,getMappingValue:()=>nn,getMarketingParameters:()=>kt,getNextSteps:()=>Io,getOS:()=>gr,getOSVersion:()=>hr,getPlatform:()=>Be,getRouteGraph:()=>No,getSpanId:()=>dt,getStepFieldRole:()=>Oe,getStepRuntimeProps:()=>je,getTraceId:()=>vt,getTraceUntil:()=>cr,getTransformerMapping:()=>$e,getTransformerMappingWarnings:()=>Ee,getUnknownStepKeys:()=>Ne,isArguments:()=>ie,isArray:()=>ae,isBatchBody:()=>oo,isBoolean:()=>ce,isChainContinuation:()=>xo,isCommand:()=>ue,isDefined:()=>fe,isEnvObserve:()=>Pr,isFunction:()=>le,isNumber:()=>de,isObject:()=>me,isPathStepEntry:()=>Te,isPropertyType:()=>_t,isRouteArray:()=>po,isRouteConfigEntry:()=>lo,isRouteContinuation:()=>mo,isSameType:()=>ge,isSampled:()=>Sn,isScope:()=>to,isStoreValue:()=>Lo,isString:()=>he,isThenable:()=>pe,mcpError:()=>Jr,mcpResult:()=>Gr,mergeContractSchemas:()=>W,mergeMappingRule:()=>an,mockEnv:()=>cn,networkErrorMessage:()=>Vt,normalizeBody:()=>eo,normalizeHeaders:()=>Xr,normalizeQuery:()=>Qr,observeEnv:()=>qr,observeFromEnv:()=>Hr,packageNameToVariable:()=>Ve,parseCallPath:()=>Lr,parseGrant:()=>Mn,parseObserveCredential:()=>Zr,parseTraceparent:()=>bt,parseUserAgent:()=>pr,processEventMapping:()=>on,pushResultToOutcome:()=>co,readCacheEnvelope:()=>Fo,reportCause:()=>Gt,requestToData:()=>pn,requestToParameter:()=>dn,resolveContracts:()=>V,resolveDestinationTimeout:()=>wn,resolveSetup:()=>hn,resolveTelemetryOptions:()=>On,scanFlowRefs:()=>se,setByPath:()=>Ye,setTraceUntil:()=>ur,startChain:()=>Ao,stepCall:()=>Kt,stepId:()=>u,storeCache:()=>Uo,throttle:()=>St,throwError:()=>F,toEventList:()=>ro,toFailureReason:()=>Ut,transformData:()=>mn,traverseEnv:()=>un,trim:()=>vn,tryCatch:()=>Nt,tryCatchAsync:()=>Tt,useHooks:()=>kn,validateStepEntry:()=>Re,verifyActivation:()=>Cn,walkPath:()=>ze,wrapCacheEnvelope:()=>Po,wrapCondition:()=>$r,wrapFn:()=>Er,wrapValidate:()=>Sr}),module.exports=(e=i,((e,s,i,a)=>{if(s&&"object"==typeof s||"function"==typeof s)for(let c of r(s))o.call(e,c)||c===i||t(e,c,{get:()=>s[c],enumerable:!(a=n(s,c))||a.enumerable});return e})(t({},"__esModule",{value:!0}),e));var a={},c={};function u(e,t){if("collector"===e)return"collector";if(!t)throw new Error(`stepId(${e}) requires an id`);return`${e}.${t}`}s(c,{stepId:()=>u});var f={},l={};function p(e,t){const n=e.destinations[t];if(!n)throw new Error(`Destination not found: ${t}`);return n}s(l,{getDestination:()=>p});var d={},m={},g={};s(g,{Level:()=>h});var h=(e=>(e[e.ERROR=0]="ERROR",e[e.WARN=1]="WARN",e[e.INFO=2]="INFO",e[e.DEBUG=3]="DEBUG",e))(h||{}),v={},y={},b={};function w(e,t){const n=e.transformers[t];if(!n)throw new Error(`Transformer not found: ${t}`);return n}s(b,{getTransformer:()=>w});var k={},$={};function E(e,t){const n=e.sources[t];if(!n)throw new Error(`Source not found: ${t}`);return n}s($,{getSource:()=>E});var S={};function O(e,t){const n=e.stores[t];if(!n)throw new Error(`Store not found: ${t}`);return n}async function j(e,t){return await e.get(t)}s(S,{getStore:()=>O,getStoreValue:()=>j});var I={},A={},x={},_={},M={},R={},N={Utils:{Storage:{Local:"local",Session:"session",Cookie:"cookie"}}};function T(e){return{_meta:{hops:0,path:[e]}}}function C(e,t){return{event:e,next:t}}function P(e){const t=e.replace(/^::ffff:/i,"");if(/^(?:\d{1,3}\.){3}\d{1,3}$/.test(t))return t.replace(/\.\d+$/,".0");const n=function(e){const t=e.split("::");if(t.length>2)return;const n=t[0]?t[0].split(":"):[],r=t[1]?t[1].split(":"):[],o=8-n.length-r.length;if(1===t.length?0!==o:o<1)return;const s=[...n,...Array(o).fill("0"),...r];if(!s.every(e=>/^[\da-f]{1,4}$/i.test(e)))return;return s.map(e=>parseInt(e,16).toString(16))}(e);return n?`${n.slice(0,3).join(":")}::`:""}function F(e){throw new Error(String(e))}var L=new Set(["description","examples","title","$comment"]),D=new Set(["additionalItems","additionalProperties","contains","contentSchema","else","if","items","not","propertyNames","then","unevaluatedItems","unevaluatedProperties"]),K=new Set(["allOf","anyOf","items","oneOf","prefixItems"]),z=new Set(["properties","patternProperties","dependentSchemas","dependentRequired","dependencies","$defs","definitions"]),U=["extend","tagging","description","events","schema"];function V(e,t){const n=!1!==t?.stripAnnotations,r={},o=new Set;function s(t){if(r[t])return r[t];o.has(t)&&F(`Circular extend chain detected: ${[...o,t].join(" → ")}`);const i=e[t];i||F(`Contract "${t}" not found`),o.add(t);let a={};if(i.extend){a=function(e,t){const n={};void 0===e.tagging&&void 0===t.tagging||(n.tagging=t.tagging??e.tagging);void 0===e.description&&void 0===t.description||(n.description=t.description??e.description);e.schema&&t.schema?n.schema=W(e.schema,t.schema):(e.schema||t.schema)&&(n.schema={...e.schema||t.schema});if(e.events||t.events){const r={},o=new Set([...Object.keys(e.events||{}),...Object.keys(t.events||{})]);for(const n of o){const o=e.events?.[n]||{},s=t.events?.[n]||{},i=new Set([...Object.keys(o),...Object.keys(s)]);r[n]={};for(const e of i){const t=o[e],i=s[e];r[n][e]=t&&i?W(t,i):{...t||i}}}n.events=r}return n}(s(i.extend),i)}else a={...i};if(delete a.extend,a.events&&(a.events=function(e){const t={};for(const n of Object.keys(e))if("*"!==n){t[n]={};for(const r of Object.keys(e[n]||{})){let o={};const s=e["*"]?.["*"];s&&(o=W(o,s));const i=e["*"]?.[r];i&&"*"!==r&&(o=W(o,i));const a=e[n]?.["*"];a&&"*"!==r&&(o=W(o,a));const c=e[n]?.[r];c&&(o=W(o,c)),t[n][r]=o}}e["*"]&&(t["*"]={...e["*"]});return t}(a.events)),a.events&&n){const e={};for(const[t,n]of Object.entries(a.events)){e[t]={};for(const[r,o]of Object.entries(n))e[t][r]=q(o)}a.events=e}return o.delete(t),r[t]=a,a}for(const t of Object.keys(e))s(t);return r}function W(e,t){const n={...e};for(const r of Object.keys(t)){const o=e[r],s=t[r];"required"===r&&Array.isArray(o)&&Array.isArray(s)?n[r]=[...new Set([...o,...s])]:Z(o)&&Z(s)?n[r]=W(o,s):n[r]=s}return n}function q(e){const t={};for(const[n,r]of Object.entries(e))L.has(n)||(z.has(n)&&Z(r)?t[n]=B(r):K.has(n)&&Array.isArray(r)?t[n]=r.map(e=>Z(e)?q(e):e):D.has(n)&&Z(r)?t[n]=q(r):t[n]=r);return t}function B(e){const t={};for(const[n,r]of Object.entries(e))t[n]=Z(r)?q(r):r;return t}function Z(e){return"object"==typeof e&&null!==e&&!Array.isArray(e)}var H=/^\$var\.([a-zA-Z_][a-zA-Z0-9_]*(?:\.[a-zA-Z_][a-zA-Z0-9_]*)*)$/,G=/\$var\.([a-zA-Z_][a-zA-Z0-9_]*(?:\.[a-zA-Z_][a-zA-Z0-9_]*)*)/g,J=/\$env\.([a-zA-Z_][a-zA-Z0-9_]*)(?::([^"}\s]*))?/g,Y=/^\$contract\.([a-zA-Z_][a-zA-Z0-9_]*)(?:\.(.+))?$/,X="[a-zA-Z_][a-zA-Z0-9_-]*",Q=`\\$flow\\.(${X})(?:\\.([a-zA-Z0-9_.]+))?`,ee=new RegExp(`^${Q}$`),te=new RegExp(Q,"g"),ne=/^\$store\.([a-zA-Z_][a-zA-Z0-9_]*)$/,re=/^\$secret\.([A-Z0-9_]+)$/,oe="$code:";function se(e,t){const n=t??new Set;if("string"==typeof e){for(const t of e.matchAll(te))n.add(t[1]);return n}if(e&&"object"==typeof e)for(const t of Object.values(e))se(t,n);return n}function ie(e){return"[object Arguments]"===Object.prototype.toString.call(e)}function ae(e){return Array.isArray(e)}function ce(e){return"boolean"==typeof e}function ue(e){return"walker"===e}function fe(e){return void 0!==e}function le(e){return"function"==typeof e}function pe(e){return"object"==typeof e&&null!==e&&"then"in e&&"function"==typeof e.then}function de(e){return"number"==typeof e&&!Number.isNaN(e)}function me(e){return"object"==typeof e&&null!==e&&!ae(e)&&"[object Object]"===Object.prototype.toString.call(e)}function ge(e,t){return typeof e==typeof t}function he(e){return"string"==typeof e}var ve={transformer:{config:["consent","include","data"],rule:["consent","include","remove","batch","settings","extend","data","silent"]},source:{config:["data","include"],rule:["data","include","remove","batch","settings","extend","silent"]},destination:{config:[],rule:["extend"]}},ye={transformer:"only `policy` and a rule's `condition`, `policy`, `name` and `ignore` apply",source:"only `consent`, `policy` and a rule's `condition`, `policy`, `name` and `ignore` apply; edit the event at a source with `policy`",destination:"a rule's `extend` applies only inside a package's own `settings.mapping` (today `@walkeros/transformer-ga4`), merged onto its shipped rules; write the fields on the rule itself"};function be(e,t,n){return we(t,n,ve[e])}function we(e,t,n){if(!me(e))return[];const{config:r,rule:o}=n,s=[];for(const n of r)void 0!==e[n]&&s.push(`${t}.${n}`);const i=e.mapping;if(!me(i))return s;for(const[e,n]of Object.entries(i))if(me(n))for(const[r,i]of Object.entries(n)){(ae(i)?i:[i]).forEach((n,a)=>{if(!me(n))return;const c=`${t}.mapping.${e}.${r}${ae(i)?`[${a}]`:""}`;for(const e of o)void 0!==n[e]&&s.push(`${c}.${e}`)})}return s}function ke(e,t){return`${t.map(e=>`\`${e}\``).join(", ")} ${1===t.length?"does":"do"} nothing at the ${e} position; ${ye[e]}.`}function $e(e){return e.config?.mapping??e.mapping}function Ee(e){const t=$e(e);if(void 0===t)return[];const n=void 0!==e.config?.mapping?"config.mapping":"mapping",r="config.mapping"===n&&void 0!==e.mapping;if(void 0!==e.code||void 0!==e.package){return[`${r?"`config.mapping` and `mapping` are":`\`${n}\` is`} ignored: a transformer with \`${void 0!==e.code?"code":"package"}\` never runs ${r?"them":"it"}; a mapping applies only to a transformer without code.`]}const o=[];r&&o.push("`mapping` is overridden: `config.mapping` wins; remove one.");const s=be("transformer",t,n);return s.length>0&&o.push(ke("transformer",s)),o}var Se={Source:{package:"reference",code:"reference",import:"reference",config:"runtime",env:"runtime",primary:"runtime",before:"runtime",next:"runtime",cache:"runtime",state:"runtime",variables:"resolve",examples:"docs"},Transformer:{package:"reference",code:"reference",import:"reference",config:"runtime",env:"runtime",before:"runtime",next:"runtime",cache:"runtime",state:"runtime",mapping:"runtime",variables:"resolve",examples:"docs"},Destination:{package:"reference",code:"reference",import:"reference",config:"runtime",env:"runtime",before:"runtime",next:"runtime",cache:"runtime",state:"runtime",variables:"resolve",examples:"docs"},Store:{package:"reference",code:"reference",import:"reference",config:"runtime",env:"runtime",cache:"runtime",variables:"resolve",examples:"docs"}};function Oe(e,t){const n=Se[e];return Object.prototype.hasOwnProperty.call(n,t)?n[t]:void 0}function je(e,t){const n={};for(const[r,o]of Object.entries(e))null!=o&&"runtime"===Oe(t,r)&&(n[r]=o);return n}var Ie={Source:["code","package","import","before","next","cache","state"],Transformer:["code","package","import","before","next","cache","state","mapping"],Destination:["code","package","import","before","next","cache","state"],Store:["code","package","import","cache"]},Ae=["push","pushBatch","init","on","destroy"],xe=["disabled","id","logger","mock","chainMocks"],_e=/^[A-Za-z_$][A-Za-z0-9_$]*$/;function Me(e){return new Set([...Object.keys(Se[e]),...xe])}function Re(e,t){const n=Me(t);for(const r of Object.keys(e))if(!n.has(r))return{ok:!1,code:"UNKNOWN_KEY",key:r,reason:`Unknown key "${r}" on ${t}. Allowed: ${[...n].sort().join(", ")}.`};const r=void 0!==e.package,o=void 0!==e.import,s=void 0!==e.code;return s&&"string"==typeof e.code?{ok:!1,code:"OBSOLETE_CODE_STRING",key:"code",reason:`code: "<name>" is no longer supported. Use import: "${e.code}" with the package field instead.`}:s&&("object"!=typeof e.code&&"function"!=typeof e.code||null===e.code||Array.isArray(e.code))?{ok:!1,code:"INVALID_CODE_SHAPE",key:"code",reason:"code must be an object ({ push, type?, init?, pushBatch?, on?, destroy? }) or a resolved function value."}:s&&r?{ok:!1,code:"CONFLICT",key:"package",reason:"Cannot specify both `code` and `package`. Use one or the other."}:s&&o?{ok:!1,code:"CONFLICT",key:"import",reason:"Cannot specify both `code` and `import`."}:o&&!r?{ok:!1,code:"MISSING_PACKAGE",key:"import",reason:"`import` requires `package` to be set."}:!o||"string"==typeof e.import&&_e.test(e.import)?{ok:!0}:{ok:!1,code:"INVALID_IMPORT",key:"import",reason:`import must match ${_e.source}. Got: ${JSON.stringify(e.import)}.`}}function Ne(e,t){const n=Me(t);return Object.keys(e).filter(e=>!n.has(e))}function Te(e,t){if("Transformer"!==t)return!1;if(void 0!==e.code||void 0!==e.package||void 0!==e.import)return!1;if(Ie.Transformer.some(t=>"reference"!==Oe("Transformer",t)&&void 0!==e[t]))return!0;const n=me(e.config)?e.config:void 0;return void 0!==$e({mapping:e.mapping,config:n})||void 0!==n?.state}function Ce(...e){const t={};for(const n of e)n&&Object.assign(t,n);return t}var Pe=class extends Error{code;reference;constructor(e,t,n){super(n),this.name="FlowReferenceError",this.code=e,this.reference=t}},Fe=class extends Error{code;chain;constructor(e,t){super(`Cyclic ${"FLOW_CYCLE"===e?"$flow":"$var"} reference: ${t.join(" -> ")}`),this.name="FlowCycleError",this.code=e,this.chain=t}},Le="__WALKEROS_ENV:",De="__WALKEROS_SECRET:";function Ke(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`}.`}function ze(e,t,n){const r=t.split(".");let o=e;for(let e=0;e<r.length;e++){const s=r[e];if(null==o||"object"!=typeof o){const o=r.slice(0,e).join(".");F(`Path "${t}" not found in "${n}": "${s}" does not exist${o?` in "${o}"`:""}`)}const i=o;if(!(s in i)){const o=r.slice(0,e).join(".");F(`Path "${t}" not found in "${n}": "${s}" does not exist${o?` in "${o}"`:""}`)}o=i[s]}return o}function Ue(e,t,n,r,o,s){if("string"==typeof e){const i=e.match(H);if(i){const e=i[1].split("."),a=e[0],c=e.slice(1).join(".");void 0===t[a]&&F(`Variable "${a}" not found`);const u=s??new Set;if(u.has(a))throw new Fe("VAR_CYCLE",[...u,a]);let f;u.add(a);try{f=Ue(t[a],t,n,r,o,u)}finally{u.delete(a)}return c&&(f=ze(f,c,`$var.${a}`)),f}const a=e.match(Y);if(a&&r){const e=a[1],t=a[2];e in r||F(`Contract "${e}" not found`);let n=r[e];return t&&(n=ze(n,t,`$contract.${e}`)),n}const c=e.match(ee);if(c){const t=c[1],r=c[2],s=!1===n?.strictFlowRefs;o||F(`$flow.${t}${r?`.${r}`:""} cannot be resolved without a flow resolver`);const i=o(t);if(!i){if(s)return n?.onWarning?.(Ke(t,r,"unknown-flow")),e;F(`Flow "${t}" not found in $flow.${t}`)}let a=i;if(r)if(s){try{a=ze(a,r,`$flow.${t}`)}catch{return n?.onWarning?.(Ke(t,r,"missing-key")),e}if(null==a||""===a)return n?.onWarning?.(Ke(t,r,"missing-key")),e}else a=ze(a,r,`$flow.${t}`),null!=a&&""!==a||F(Ke(t,r,"missing-key"));return a}const u=e.match(re);if(u){const e=u[1];if(n?.deferred)return`${De}${e}`;throw new Pe("WEB_SECRET_REF",e,`Secret "$secret.${e}" cannot be used in a web flow: secrets are never sent to the browser. Use a server flow.`)}let f=e.replace(G,(e,i)=>{const a=i.split("."),c=a[0],u=a.slice(1).join(".");void 0===t[c]&&F(`Variable "${c}" not found`);const f=s??new Set;if(f.has(c))throw new Fe("VAR_CYCLE",[...f,c]);let l;f.add(c);try{l=Ue(t[c],t,n,r,o,f)}finally{f.delete(c)}if(u&&(l=ze(l,u,`$var.${c}`)),null===l||"string"!=typeof l&&"number"!=typeof l&&"boolean"!=typeof l){F(`Variable "${i}" resolves to non-scalar (${Array.isArray(l)?"array":typeof l}) and cannot be inlined into a string. Use it as a whole-string reference: "$var.${i}"`)}return String(l)});return f=f.replace(J,(e,t,r)=>{if(n?.deferred)return void 0!==r?`${Le}${t}:${r}`:`${Le}${t}`;const o=n?.env?.[t];if(void 0!==o)return o;if(void 0!==r)return r;throw new Pe("MISSING_ENV",t,`Environment variable "${t}" not found and no default provided`)}),f}if(Array.isArray(e))return e.map(e=>Ue(e,t,n,r,o,s));if(null!==e&&"object"==typeof e){const i={};for(const[a,c]of Object.entries(e))i[a]=Ue(c,t,n,r,o,s);return i}return e}function Ve(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 We(e,t,n){const r=new Map,o=new Set,s=[],i=t=>{if(r.has(t))return r.get(t);const a=e.flows[t];if(a){if(o.has(t))throw new Fe("FLOW_CYCLE",[...s,t]);o.add(t),s.push(t);try{const o=Ce(e.variables,a.variables),s=Ue(a.config??{},o,n,void 0,i);return r.set(t,s),s}finally{o.delete(t),s.pop()}}},a=Object.keys(e.flows);t||(1===a.length?t=a[0]:F(`Multiple flows found (${a.join(", ")}). Please specify a flow.`));const c=e.flows[t];c||F(`Flow "${t}" not found. Available: ${a.join(", ")}`),o.add(t),s.push(t);try{return function(e,t,n,r){const o=JSON.parse(JSON.stringify(t));let s;if(e.contract){const o=Ce(e.variables,t.variables),i=Ue(e.contract,o,n,void 0,r);s=V(i)}if(o.config){const i=Ce(e.variables,t.variables);o.config=Ue(o.config,i,n,s,r)}const i=(o,i)=>{for(const a of Object.values(o??{}))qe(a,i,Ce(e.variables,t.variables,a.variables),n,s,r)};if(i(o.sources,"Source"),i(o.destinations,"Destination"),i(o.stores,"Store"),i(o.transformers,"Transformer"),o.collector){const i=Ce(e.variables,t.variables),a=Ue(o.collector,i,n,s,r);o.collector=a}return o}(e,c,n,i)}finally{o.delete(t),s.pop()}}function qe(e,t,n,r,o,s){e.config=Ue(e.config,n,r,o,s),e.env=Ue(e.env,n,r,o,s);for(const n of Object.keys(e)){const r=Oe(t,n);void 0!==r&&"docs"!==r||Reflect.deleteProperty(e,n)}}function Be(e){const t=e.config?.platform;if("web"===t||"server"===t)return t;F('Flow must have config.platform set to "web" or "server"')}var Ze={merge:!0,shallow:!0,extend:!0};function He(e,t={},n={}){n={...Ze,...n};const r=Object.entries(t).reduce((t,[r,o])=>{const s=e[r];return n.merge&&Array.isArray(s)&&Array.isArray(o)?t[r]=o.reduce((e,t)=>e.includes(t)?e:[...e,t],[...s]):(n.extend||r in e)&&(t[r]=o),t},{});return n.shallow?{...e,...r}:(Object.assign(e,r),e)}function Ge(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]=Ge(e[r],t));return n}if("[object Array]"===n){const n=[];return t.set(e,n),e.forEach(e=>{n.push(Ge(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 Je(e,t="",n){const r=t.split(".");let o=e;for(let e=0;e<r.length;e++){const t=r[e];if("*"===t&&ae(o)){const t=r.slice(e+1).join("."),s=[];for(const e of o){const r=Je(e,t,n);s.push(r)}return s}if(o=me(o)||ae(o)?o[t]:void 0,void 0===o)break}return fe(o)?o:n}function Ye(e,t,n,r){if(!me(e))return e;const o=r?.mutable?e:Ge(e),s=t.split(".");let i=o;for(let e=0;e<s.length;e++){const t=s[e];if(e===s.length-1)void 0===n?delete i[t]:i[t]=n;else{if(!(t in i)||"object"!=typeof i[t]||null===i[t]){if(void 0===n)return o;i[t]={}}i=i[t]}}return o}function Xe(e,t){if(!me(e)&&!ae(e))return e;const n=Ge(e),r=t.split(".");let o=n;for(let e=0;e<r.length;e++){const t=r[e],s=e===r.length-1;if(ae(o)){const e=Number(t);if(!Number.isInteger(e)||e<0||e>=o.length)return n;if(s)o.splice(e,1);else{const t=o[e];if(!me(t)&&!ae(t))return n;o=t}}else if(s)delete o[t];else{const e=o[t];if(!me(e)&&!ae(e))return n;o=e}}return n}var Qe={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 et(e,t,n){if(me(n))for(const[r,o]of Object.entries(n))void 0!==o&&et(e,`${t}_${r}`,o);else e[t]=n}function tt(e,t){const n={},r=t.includes("all")?Object.keys(Qe):t;for(const t of r){const r=Qe[t];if(!r)continue;const o=r(e);if(me(o))for(const[e,r]of Object.entries(o)){if(void 0===r)continue;et(n,`${t}_${e}`,"context"===t&&Array.isArray(r)?r[0]:r)}}return n}function nt(e){if("true"===e)return!0;if("false"===e)return!1;const t=Number(e);return e==t&&""!==e?t:String(e)}function rt(e,t={},n={}){const r={...t,...n},o={};let s=!e||0===Object.keys(e).length;return Object.keys(r).forEach(t=>{r[t]&&(o[t]=!0,e&&e[t]&&(s=!0))}),!!s&&o}function ot(e,t){const n={...e};return n.config=He(e.config,t,{shallow:!0,merge:!0,extend:!0}),e.config.settings&&t.settings&&(n.config.settings=He(e.config.settings,t.settings,{shallow:!0,merge:!0,extend:!0})),e.config.mapping&&t.mapping&&(n.config.mapping=He(e.config.mapping,t.mapping,{shallow:!0,merge:!0,extend:!0})),n}function st(e,t){if(!me(t))return e;for(const n of Object.keys(t)){const r=t[n];void 0!==r&&(me(r)&&me(e[n])?st(e[n],r):e[n]=r)}return e}function it(e){let t=8997,n=33826,r=40164,o=52210;for(let s=0;s<e.length;s++){t^=e.charCodeAt(s);const i=435*t;let a=435*n,c=435*r,u=435*o;c+=t<<8,u+=n<<8,a+=i>>>16,t=65535&i,c+=a>>>16,n=65535&a,o=u+(c>>>16)&65535,r=65535&c}const s=e=>e.toString(16).padStart(4,"0");return s(o)+s(r)+s(n)+s(t)}function at(e,t){const n=it(JSON.stringify([e,t]));return/^0+$/.test(n)?it(JSON.stringify([n,t])):n}var ct="0123456789abcdefghijklmnopqrstuvwxyz";function ut(e=6,t=ct){const n=t.length;if(e<=0||0===n)return"";let r="";if(n<=256){const o=256-256%n;for(;r.length<e;){const s=e-r.length,i=new Uint8Array(Math.ceil(1.3*s)+4);if(!ft(i))break;for(let s=0;s<i.length&&r.length<e;s++)i[s]<o&&(r+=t[i[s]%n])}}for(;r.length<e;)r+=t[Math.random()*n|0];return r}function ft(e){try{if("undefined"!=typeof crypto&&"function"==typeof crypto.getRandomValues)return crypto.getRandomValues(e),!0}catch{}return!1}var lt="0123456789abcdef";function pt(e){let t=ut(e,lt);for(;/^0+$/.test(t);)t=ut(e,lt);return t}function dt(){return pt(16)}var mt=17e11;function gt(e={}){const t=e.timestamp||mt,n=He({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||dt(),trigger:"test",entity:"entity",action:"action",timestamp:t,timing:3.14,source:{type:"collector",schema:"4"}},e,{merge:!1});if(n.source={count:1,trace:"0a1b2c3d4e5f60718293a4b5c6d7e8f9",...n.source},e.name){const[t,r]=e.name.split(" ")??[];t&&r&&(n.entity=t,n.action=r)}return n}function ht(e="entity action",t={}){const n=t.timestamp||mt,r=t.id||it(e),o={data:{id:"ers",name:"Everyday Ruck Snack",color:"black",size:"l",price:420}},s={data:{id:"cc",name:"Cool Cap",size:"one size",price:42}};return gt({...{"entity action":{},"cart view":{data:{currency:"EUR",value:2*o.data.price},context:{shopping:["cart",0]},globals:{pagegroup:"shop"},nested:[{entity:"product",data:{...o.data,quantity:2},context:{shopping:["cart",0]},nested:[]}],trigger:"load"},"checkout view":{data:{step:"payment",currency:"EUR",value:o.data.price+s.data.price},context:{shopping:["checkout",0]},globals:{pagegroup:"shop"},nested:[{entity:"product",...o,context:{shopping:["checkout",0]},nested:[]},{entity:"product",...s,context:{shopping:["checkout",0]},nested:[]}],trigger:"load"},"order complete":{data:{id:"0rd3r1d",currency:"EUR",shipping:5.22,taxes:73.76,value:555},context:{shopping:["complete",0]},globals:{pagegroup:"shop"},nested:[{entity:"product",...o,context:{shopping:["complete",0]},nested:[]},{entity:"product",...s,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":{...o,context:{shopping:["intent",0]},globals:{pagegroup:"shop"},nested:[],trigger:"click"},"product view":{...o,context:{shopping:["detail",0]},globals:{pagegroup:"shop"},nested:[],trigger:"load"},"product visible":{data:{...o.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,id:r})}function vt(){return pt(32)}var yt=/^(?<version>[0-9a-f]{2})-(?<trace>[0-9a-f]{32})-(?<span>[0-9a-f]{16})-[0-9a-f]{2}$/;function bt(e){if("string"!=typeof e)return;const t=yt.exec(e)?.groups;if(!t)return;const{version:n,trace:r,span:o}=t;return void 0===n||void 0===r||void 0===o||"ff"===n||/^0+$/.test(r)||/^0+$/.test(o)?void 0:{trace:r,parentSpan:o}}var wt=[{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 kt(e,t={},n=[]){const r={};Object.entries(He({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(wt.map(e=>e.param));return[...wt.map(e=>t.has(e.param)?{param:e.param,platform:t.get(e.param)}:e),...e.filter(e=>!n.has(e.param))]}(n):wt,s=new Map;e.searchParams.forEach((e,t)=>{e&&s.set(t.toLowerCase(),e)});for(const e of o){const t=s.get(e.param);t&&(r[e.param]=t,r.clickId||(r.clickId=e.param,r.platform=e.platform))}return r}function $t(e,t){return"number"==typeof e?{wait:e}:e?{wait:e.wait??t,size:e.size,age:e.age}:{wait:t}}function Et(e,t=1e3,n=!1){const{wait:r,size:o,age:s}=$t(t,1e3);let i,a,c=null,u=null,f=!1,l=[],p=0;const d=()=>{c&&(clearTimeout(c),c=null),u&&(clearTimeout(u),u=null),p=0,a=void 0},m=()=>{const t=a,n=l;if(d(),l=[],t)return i=e(...t),n.forEach(e=>e(i)),i;n.forEach(e=>e(void 0))},g=(...t)=>new Promise(d=>{const g=n&&!f;if(a=t,p+=1,l.push(d),c&&clearTimeout(c),c=setTimeout(()=>{c=null,n&&!f||m()},r),void 0===s||u||(u=setTimeout(()=>{u=null,m()},s)),void 0!==o&&p>=o)m();else if(g){f=!0,i=e(...t);const n=l;l=[],n.forEach(e=>e(i))}});return g.flush=()=>a||0!==l.length?new Promise(e=>{l.push(e),m()}):Promise.resolve(i),g.cancel=()=>{const e=l;l=[],d(),i=void 0,e.forEach(e=>e(void 0))},g.size=()=>p,g}function St(e,t=1e3){const{wait:n}=$t(t,1e3);let r=null;return function(...t){if(null===r)return r=setTimeout(()=>{r=null},n),e(...t)}}function Ot(e){const t={message:e.message,name:e.name,stack:e.stack},n="cause"in e?function(e){if("object"!=typeof e||null===e)return;const t={};return"name"in e&&"string"==typeof e.name&&(t.name=e.name),!("code"in e)||"string"!=typeof e.code&&"number"!=typeof e.code||(t.code=e.code),t}(e.cause):void 0;return n&&(t.cause=n),t}function jt(e,t){let n,r={};return e instanceof Error?(n=e.message,r.error=Ot(e)):n=e,void 0!==t&&(t instanceof Error?r.error=Ot(t):"object"==typeof t&&null!==t?(r={...r,...t},"error"in r&&r.error instanceof Error&&(r.error=Ot(r.error))):r.value=t),{message:n,context:r}}var It=(e,t,n,r)=>{const o=`${h[e]}${r.length>0?` [${r.join(":")}]`:""}`,s=Object.keys(n).length>0,i=0===e?console.error:1===e?console.warn:console.log;s?i(o,t,n):i(o,t)};function At(e={}){return xt({level:void 0!==e.level?function(e){return"string"==typeof e?h[e]:e}(e.level):0,handler:e.handler,jsonHandler:e.jsonHandler,scope:[]})}function xt(e){const{level:t,handler:n,jsonHandler:r,scope:o}=e,s=(e,r,s)=>{if(e<=t){const t=jt(r,s);n?n(e,t.message,t.context,o,It):It(e,t.message,t.context,o)}};return{error:(e,t)=>s(0,e,t),warn:(e,t)=>s(1,e,t),info:(e,t)=>s(2,e,t),debug:(e,t)=>s(3,e,t),throw:(e,t)=>{throw new Error(jt(e,t).message)},json:e=>{r?r(e):console.log(JSON.stringify(e,null,2))},scope:e=>xt({level:t,handler:n,jsonHandler:r,scope:[...o,e]})}}function _t(e){return ce(e)||he(e)||de(e)||!fe(e)||ae(e)&&e.every(_t)||me(e)&&Object.values(e).every(_t)}function Mt(e){return ce(e)||he(e)||de(e)?e:ie(e)?Mt(Array.from(e)):ae(e)?e.map(e=>Mt(e)).filter(e=>void 0!==e):me(e)?Object.entries(e).reduce((e,[t,n])=>{const r=Mt(n);return void 0!==r&&(e[t]=r),e},{}):void 0}function Rt(e){return _t(e)?e:void 0}function Nt(e,t,n){return function(...r){try{return e(...r)}catch(e){if(!t)return;return t(e)}finally{n?.()}}}function Tt(e,t,n){return async function(...r){try{return await e(...r)}catch(e){if(!t)return;return await t(e)}finally{await(n?.())}}}function Ct(e,t){Object.defineProperty(e,"cause",{value:t,writable:!0,configurable:!0})}var Pt=class e extends Error{constructor(t,n){super(t),this.name="FatalError",n&&"cause"in n&&Ct(this,n.cause),Object.setPrototypeOf(this,e.prototype)}},Ft=["transport","timeout","breaker-open","blocked","queue-full","vendor-not-ready","vendor-timeout"],Lt=300;var Dt=class extends Error{code;status;retryable;body;constructor(e,t){super(e),void 0!==t.cause&&Ct(this,t.cause),this.name="StepError",this.code=t.code,void 0!==t.status&&(this.status=t.status),this.retryable=function(e){if(void 0!==e.retryable)return e.retryable;const{status:t}=e;if(void 0!==t){if(429===t||t>=500&&t<600)return!0;if(t>=400&&t<500)return!1}return Ft.includes(e.code)}(t),void 0!==t.body&&(this.body=t.body),Object.setPrototypeOf(this,new.target.prototype)}};async function Kt(e,t,n){try{return await e()}catch(e){if(e instanceof Dt)throw e;throw new Dt(n,{code:t,cause:e})}}function zt(e){return e.length>Lt?e.slice(0,Lt):e}function Ut(e){if(e instanceof Dt){const t={code:e.code,message:zt(e.message),retryable:e.retryable};return void 0!==e.status&&(t.status=e.status),t}return{code:"transport",message:zt(e instanceof Error?e.message:String(e)),retryable:!0}}function Vt(e){const t=e instanceof Error?e.message:"Network error",n=e instanceof Error&&"cause"in e?e.cause:void 0,r="object"==typeof n&&null!==n&&"code"in n&&"string"==typeof n.code?n.code:void 0;return r?`${t} (${r})`:t}var Wt=["type","mappingKey"],qt=["count","suppressed"];function Bt(e,t){const n={step:e.step,code:e.code};void 0!==e.status&&(n.status=e.status);for(const e of Wt)"string"==typeof t[e]&&(n[e]=t[e]);for(const e of qt)"number"==typeof t[e]&&(n[e]=t[e]);"boolean"==typeof t.retryable&&(n.retryable=t.retryable);const r="string"==typeof(o=t.event)?o:me(o)&&"string"==typeof o.name?o.name:void 0;var o;void 0!==r&&(n.event=r);const s=function(e){if(void 0!==e)return"string"==typeof e?zt(e):e instanceof Error||me(e)&&"string"==typeof e.message?zt(e.message):zt(String(e))}(t.error);return void 0!==s&&(n.error=s),n}function Zt(e,t){const n=function({step:e,code:t}){const[n,...r]=e.split("."),o=r.join(".");return"dlq-overflow"===t?`status.dropped["${e}"].dlq`:"on-overflow"===t?`status.dropped["${e}"].queue`:"consent-not-applied"!==t&&"store"!==n&&"mapping"!==n?"destination"===n&&o?`status.destinations.${o}.failed`:"invalid"===t?"source"===n&&o?`status.sources.${o}.rejected`:void 0:"status.failed":void 0}(e);return n?`${t} (repeats within a minute are counted in ${n})`:t}function Ht(e,t={}){const{windowMs:n=6e4,maxKeys:r=100,now:o=Date.now}=t,s=new Map,i=(t,n,r)=>{"warn"===t?e.warn(n,r):e.error(n,r)};return{report(e,t,a,c="error"){const u=`${e.step}\0${e.code}\0${e.status??""}`,f=Bt(e,a),l=s.get(u),p=o();if(!l)return s.size<r&&s.set(u,{start:p,suppressed:0,message:t,context:f,level:c}),void i(c,Zt(e,t),f);if(p-l.start<n)return void l.suppressed++;const d=l.suppressed;l.start=p,l.suppressed=0,l.message=t,l.context=f,l.level=c,i(c,Zt(e,t),d>0?{...f,suppressed:d}:f)},flush(){for(const e of s.values()){if(0===e.suppressed)continue;const t=e.suppressed;e.suppressed=0,i(e.level,e.message,{...e.context,suppressed:t})}},size:()=>s.size}}function Gt(e,t,n,r,o,s="error"){if(e?.causeLog)return void e.causeLog.report(n,r,o,s);const i=Bt(n,o);"warn"===s?t.warn(r,i):t.error(r,i)}var Jt=["condition","consent","fn","key","loop","map","set","validate","value"];function Yt(e,t,n,r){const o=e.event.name,s=t?.mappingKey?`mapping.${t.mappingKey}`:"mapping";Gt(e.collector,e.logger,{step:s,code:"mapping"},n,{..."string"==typeof o?{event:o}:{},...t?.mappingKey?{mappingKey:t.mappingKey}:{},...void 0!==r?{error:r}:{}})}async function Xt(e,t={},n,r){if(!n.collector)throw new Error("getMappingValue: context.collector is required");const o=n.consent||n.collector.consent,s={event:n.event??{},mapping:t,collector:n.collector,logger:n.collector.logger,consent:o},i=ae(t)?t:[t];for(const t of i){const n=await Tt(Qt,e=>{if(e instanceof Pt)throw e;Yt(s,r,"mapping value failed",e)})(e,t,{...s,mapping:t},r);if(fe(n))return n}}async function Qt(e,t,n,r){return(ae(t)?t:[t]).reduce(async(t,o)=>{const s=await t;if(s)return s;const i=he(o)?{key:o}:o;if(!Object.keys(i).length)return;if(!Jt.some(e=>e in i))return void Yt({...n,mapping:o},r,`mapping value has no operator (${Object.keys(i).join(", ")}): wrap the fields in map, or use key, value, fn, loop or set`);const{condition:a,consent:c,fn:u,key:f,loop:l,map:p,set:d,validate:m,value:g}=i,h={...n,mapping:o};if(a&&!await Tt(a,e=>{if(e instanceof Pt)throw e;return Yt(h,r,"mapping condition failed",e),!1})(e,h))return;if(c&&!rt(c,h.consent))return g;let v=fe(g)?g:e;if(l){const[t,n]=l,o="this"===t?[e]:await Xt(e,t,h,r);v=ae(o)?(await Promise.all(o.map(e=>fe(e)?Xt(e,n,h,r):void 0))).filter(fe):void 0}else p?v=await Object.entries(p).reduce(async(t,[n,o])=>{const s=await t,i=await Xt(e,o,h,r);return fe(i)&&(s[n]=i),s},Promise.resolve({})):d?v=await Promise.all(d.map(t=>Qt(e,t,h,r))):f?v=Je(e,f,g):u&&(v=await Tt(u,e=>{if(e instanceof Pt)throw e;Yt(h,r,"mapping fn failed",e)})(e,h));m&&!await Tt(m,e=>{if(e instanceof Pt)throw e;return Yt(h,r,"mapping validate failed",e),!1})(v,h)&&(v=void 0);const y=Rt(v);return fe(y)?y:Rt(g)},Promise.resolve(void 0))}function en(e){return e instanceof Error?e.message:String(e)}async function tn(e,t,n){const[r,o]=(e.name||"").split(" ");if(!t||!r||!o)return{};const s=(e,t)=>{if(e instanceof Pt)throw e;throw new Dt(`mapping rule condition failed at "${t}": ${en(e)}`,{code:"mapping",retryable:!1,cause:e})},i=(t,r)=>{const{condition:o}=t;if(!o)return!0;let i;try{i=o(e,n?{event:e,mapping:t,collector:n,logger:n.logger,consent:me(e)&&e.consent||n.consent}:void 0)}catch(e){return s(e,r)}return pe(i)?Promise.resolve(i).then(Boolean,e=>s(e,r)):Boolean(i)},a=(e,t,n=0)=>{if(!t)return;const r=ae(t)?t:[t];for(let t=n;t<r.length;t++){const n=r[t],o=i(n,e);if("boolean"!=typeof o)return c(o,n,e,r,t);if(o)return n}},c=async(e,t,n,r,o)=>await e?t:a(n,r,o+1),u=[];for(const e of[[r,o],[r,"*"],["*",o],["*","*"]])u.some(([t,n])=>t===e[0]&&n===e[1])||u.push([e[0],e[1]]);const f=e=>{for(let n=e;n<u.length;n++){const[e,r]=u[n],o=t[e]?.[r];if(!o)continue;const s=`${e} ${r}`,i=a(s,o);if(pe(i))return Promise.resolve(i).then(e=>e?{eventMapping:e,mappingKey:s}:f(n+1));if(i)return{eventMapping:i,mappingKey:s}}return{eventMapping:void 0,mappingKey:""}},l=f(0);return pe(l)?await l:l}async function nn(e,t={},n){return rn(e,t,n)}async function rn(e,t,n,r){if(!fe(e))return;const o=me(e)&&e.consent||n?.consent||n?.collector?.consent,s=n?.event??(me(e)?e:{});return Xt(e,t,{...n,consent:o,event:s},r)}async function on(e,t,n){t.policy&&await Promise.all(Object.entries(t.policy).map(async([t,r])=>{const o=await nn(e,r,{collector:n,event:e});e=Ye(e,t,o)}));const{eventMapping:r,mappingKey:o}=await tn(e,t.mapping,n),s=o?{mappingKey:o}:void 0;r?.policy&&await Promise.all(Object.entries(r.policy).map(async([t,r])=>{const o=await rn(e,r,{collector:n,event:e},s);e=Ye(e,t,o)}));let i=t.data&&await rn(e,t.data,{collector:n,event:e},s);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 rn(e,r.data,{collector:n,event:e},s);i=me(i)&&me(t)?He(i,t):t}}const c=r?.include??t.include;if(c&&c.length>0){const t=tt(e,c);Object.keys(t).length>0&&(i=me(i)?He(t,i):i??t)}if(r?.remove&&me(i))for(const e of r.remove)i=Xe(i,e);return{event:e,data:i,mapping:r,mappingKey:o,ignore:!1,silent:a}}function sn(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];me(r)&&me(o)?sn(o,r):e[n]=r}return e}function an(e,t){if(void 0===t.extend&&void 0===t.remove)return Ge(t);const n={...Ge(e)};if(t.extend){sn(n,{...t.extend})}return delete n.extend,t.remove?n.remove=[...t.remove]:delete n.remove,n}function cn(e,t){const n=(e,r=[])=>new Proxy(e,{get(e,o){const s=e[o],i=[...r,o];return"function"==typeof s?s.prototype&&s.prototype.constructor===s?s:(...e)=>{const r=t(i,e,s);if(r&&"object"==typeof r)return n(r,i);const o=s(...e);return o&&"object"==typeof o?n(o,i):r}:s&&"object"==typeof s?n(s,i):s}});return n(e)}function un(e,t){const n=(e,r=[])=>{if(!e||"object"!=typeof e)return e;const o=Array.isArray(e)?[]:{};for(const[s,i]of Object.entries(e)){const e=[...r,s];Array.isArray(o)?o[Number(s)]=t(i,e):o[s]=t(i,e),i&&"object"==typeof i&&"function"!=typeof i&&(Array.isArray(o)?o[Number(s)]=n(i,e):o[s]=n(i,e))}return o};return n(e)}function fn(){const e=[],t=jest.fn(e=>{const t=e instanceof Error?e.message:e;throw new Error(t)}),n=jest.fn(t=>{const n=fn();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 ln(e={}){return{collector:{},config:{},env:{},logger:fn(),id:"test",ingest:T("test"),...e}}function pn(e){const t=String(e),n=t.split("?")[1]||t;return Nt(()=>{const e=new URLSearchParams(n),t={};return e.forEach((e,n)=>{const r=n.split(/[[\]]+/).filter(Boolean);let o=t;r.forEach((t,n)=>{const s=n===r.length-1;if(ae(o)){const i=parseInt(t,10);s?o[i]=nt(e):(o[i]=o[i]||(isNaN(parseInt(r[n+1],10))?{}:[]),o=o[i])}else me(o)&&(s?o[t]=nt(e):(o[t]=o[t]||(isNaN(parseInt(r[n+1],10))?{}:[]),o=o[t]))})}),t})()}function dn(e){if(!e)return"";const t=[],n=encodeURIComponent;function r(e,o){null!=o&&(ae(o)?o.forEach((t,n)=>r(`${e}[${n}]`,t)):me(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 mn(e){return void 0===e||ge(e,"")?e:JSON.stringify(e)}function gn(e={}){return He({"Content-Type":"application/json; charset=utf-8"},e)}function hn(e,t){return!1===e||void 0===e?null:!0===e?t:{...t,...e}}function vn(e){return e?e.trim().replace(/^'|'$/g,"").trim():""}var yn=class e extends Error{constructor(t){super(t),this.name="InvalidEventError",Object.setPrototypeOf(this,e.prototype)}},bn=1e4;function wn(e){return"number"==typeof e&&e>0?e:bn}function kn(e,t,n,r){const o=e;return function(...e){let s;const i="pre"+t,a="post"+t,c=n[i],u=n[a],f=(e,t)=>{r?r.warn(e,{error:t}):console.warn(e,t)};if(c)try{s=c({fn:o},...e)}catch(t){f(`Hook ${String(i)} failed, falling back to original function`,t),s=o(...e)}else s=o(...e);if(u)try{s=u({fn:o,result:s},...e)}catch(e){f(`Hook ${String(a)} failed, keeping original result`,e)}return s}}function $n(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 En(e,t){const n="function"==typeof t?t:()=>t;return function(t){const r=n();if(!r)return;const o=r.level??"standard";if("off"===o)return;const s=r.sample,i="number"==typeof s&&Number.isFinite(s)?s:1;if(t.eventId&&!$n(t.eventId,i))return;const a=r.includeIn??"trace"===o,c=r.includeOut??"trace"===o,u=r.includeMappingKey??"trace"===o,f={...t};a||delete f.inEvent,c||(delete f.outEvent,delete f.calls),u||delete f.mappingKey,"trace"!==o&&f.error?.message&&f.error.message.length>256&&(f.error={...f.error,message:f.error.message.slice(0,256)+"…"});try{e(f)}catch{}}}function Sn(e,t){return $n(e,t)}function On(e){const t=e.now??(()=>Date.now()),{traceUntil:n}=e;if("string"==typeof n&&n.length>0){const r=Date.parse(n);if(!Number.isNaN(r)&&r>t())return{flowId:e.flowId,level:"trace",includeIn:!0,includeOut:!0,sample:1}}const r=e.observe?.level??"standard";if("off"===r)return null;const o=e.observe?.sample??1;return{flowId:e.flowId,level:r,sample:o}}var jn=/^[A-Za-z0-9_-]+$/;function In(e){if(!jn.test(e))return null;const t=e.length%4==0?"":"=".repeat(4-e.length%4),n=e.replace(/-/g,"+").replace(/_/g,"/")+t;try{const e=atob(n),t=new Uint8Array(e.length);for(let n=0;n<e.length;n++)t[n]=e.charCodeAt(n);return t}catch{return null}}function An(e){const t=new Uint8Array(e.length);for(let n=0;n<e.length;n++)t[n]=e.charCodeAt(n);return t}function xn(e){const t=In(e);if(!t)return null;const n=function(e){let t="";for(let n=0;n<e.length;n++){const r=e[n];if(void 0===r||r>127)return null;t+=String.fromCharCode(r)}return t}(t);if(null===n)return null;try{return JSON.parse(n)}catch{return null}}function _n(e){return"object"==typeof e&&null!==e&&!Array.isArray(e)}function Mn(e){if(!e)return null;const t=e.split("."),[n,r,o]=t;if(3!==t.length||!n||!r||!o)return null;const s=xn(n);if(!_n(s))return null;const i=s.kid,a=s.alg;if("string"!=typeof i||"ES256"!==a)return null;const c=xn(r);if(!function(e){if(!_n(e))return!1;const t=e;return"string"==typeof t.iss&&Array.isArray(t.aud)&&t.aud.every(e=>"string"==typeof e)&&"number"==typeof t.iat&&"number"==typeof t.sxp&&"string"==typeof t.art&&jn.test(t.art)&&"string"==typeof t.sri&&"string"==typeof t.pb&&"activate"===t.cap&&"string"==typeof t.jti&&"string"==typeof t.pid&&(void 0===t.ses||"string"==typeof t.ses)&&(void 0===t.sb||"string"==typeof t.sb)}(c))return null;const u=In(o);return u&&64===u.byteLength?{grant:c,kid:i,signed:An(`${n}.${r}`),signature:u}:null}var Rn=9e5,Nn=6e4,Tn=39e5;async function Cn(e,t){const n=Mn(e);if(!n)return{ok:!1,reason:"malformed"};const{grant:r,kid:o,signed:s,signature:i}=n;if(r.iss!==t.iss)return{ok:!1,reason:"foreign-issuer"};if("activate"!==r.cap)return{ok:!1,reason:"cap-mismatch"};if(1e3*r.iat>t.now+Nn)return{ok:!1,reason:"expired"};if(1e3*r.sxp-1e3*r.iat>Tn)return{ok:!1,reason:"expired"};const a="url"===t.source?Math.min(1e3*r.iat+Rn,1e3*r.sxp):1e3*r.sxp;if(t.now>=a)return{ok:!1,reason:"expired"};if(void 0!==t.origin&&!r.aud.includes(t.origin))return{ok:!1,reason:"aud-mismatch"};if(t.acceptForeign){const e=t.demoAllowlist??[];if(1!==r.aud.length||!r.aud.every(t=>e.includes(t)))return{ok:!1,reason:"aud-mismatch"}}if(!(t.acceptForeign||t.pb&&r.pb===t.pb))return{ok:!1,reason:"pb-mismatch"};const c=void 0!==r.ses||void 0!==r.sb;if(t.expectSession){if(r.ses!==t.expectSession.ses)return{ok:!1,reason:"sb-mismatch"};if(!r.sb||r.sb!==t.expectSession.sb)return{ok:!1,reason:"sb-mismatch"}}else if(c)return{ok:!1,reason:"sb-mismatch"};const u=t.keyring.find(e=>e.kid===o);if(!u)return{ok:!1,reason:"kid-mismatch"};const f=t.crypto??("undefined"==typeof crypto?void 0:crypto),l=f?.subtle;if(!l)return{ok:!1,reason:"no-subtle"};const p=function(e){return In(e)}(u.spki);if(!p)return{ok:!1,reason:"kid-mismatch"};try{const e=await l.importKey("spki",p,{name:"ECDSA",namedCurve:"P-256"},!1,["verify"]);if(!await l.verify({name:"ECDSA",hash:"SHA-256"},e,i,s))return{ok:!1,reason:"bad-signature"}}catch{return{ok:!1,reason:"bad-signature"}}return{ok:!0,grant:r}}var Pn="elbObserve",Fn="elbMoin",Ln={app:"https://app.walkeros.io",base:"https://cdn.walkeros.io/tag-mode/"},Dn=15e3,Kn={error:5,skip:4,out:3,in:2,init:1,flush:0},zn="\0none",Un="\0";function Vn(e,t){return`${e??zn}${Un}${t}`}function Wn(e){const t=Date.parse(e);return Number.isNaN(t)?0:t}function qn(e){return""!==e.eventId?e.eventId:function(e){if("object"!=typeof e||null===e)return;if(!("event"in e))return;const t=e.event;if("object"!=typeof t||null===t)return;if(!("id"in t))return;const n=t.id;return"string"==typeof n&&""!==n?n:void 0}(e.outEvent)}function Bn(e,t){let n=t;for(;;){const t=e.get(n);if(void 0===t||t===n)break;n=t}let r=t;for(;r!==n;){const t=e.get(r);if(e.set(r,n),void 0===t)break;r=t}return n}function Zn(e,t,n){const r=Bn(e,t),o=Bn(e,n);r!==o&&(r<o?e.set(o,r):e.set(r,o))}function Hn(e){for(const t of e)if(t.traceId)return t.traceId}function Gn(e){switch(e){case"error":return"error";case"skip":return"skipped";case"out":return"done";case"in":case"init":case"flush":return"pending"}}function Jn(e){return"out"===e.terminalPhase||"error"===e.terminalPhase||"skip"===e.terminalPhase||!0===e.batched}function Yn(e){return"done"===e.status&&("transformer"!==e.stepType||null!==e.out&&void 0!==e.out)}function Xn(e,t,n,r){const o=n.get(Vn(e.node.platform,t));if(void 0!==o)return o;const s=r.get(t);return void 0!==s&&1===s.length?s[0]:void 0}function Qn(e){const t=new Map,n=new Map;e.nodes.forEach((e,r)=>{const o={node:e,rank:r,key:Vn(e.platform,e.stepId)};t.has(o.key)||t.set(o.key,o);const s=n.get(e.stepId);s?s.push(o):n.set(e.stepId,[o])});const r=new Map,o=new Set;for(const e of t.values()){const s=[];for(const r of e.node.downstream){const i=Xn(e,r,t,n);void 0!==i&&(s.push(i),o.add(i.key))}r.set(e.key,s)}const s=[];for(const e of t.values())o.has(e.key)||s.push(e);return s.sort((e,t)=>e.rank-t.rank),{byKey:t,byStepId:n,edges:r,roots:s}}function er(e,t,n){const r=e.byKey.get(Vn(n,t));if(void 0!==r)return r;const o=e.byKey.get(Vn(void 0,t));if(void 0!==o)return o;const s=e.byStepId.get(t);return void 0!==s&&1===s.length?s[0]:void 0}function tr(e,t,n,r,o,s){return s-n<o?"pending":void 0!==r?function(e,t,n){const r=t=>e.find(e=>e.stepId===t.node.stepId&&(void 0===t.node.platform||e.platform===t.node.platform)),o=n.roots.filter(e=>void 0===e.node.platform||t.includes(e.node.platform));if(0===o.length)return e.every(Jn)?"complete":"partial";const s=new Map,i=o;for(;i.length>0;){const e=i.shift();if(void 0===e)break;if(s.has(e.key))continue;s.set(e.key,e);const t=r(e);if(void 0!==t&&Yn(t)){const t=n.edges.get(e.key);if(void 0!==t)for(const e of t)s.has(e.key)||i.push(e)}}for(const e of s.values()){const t=r(e);if(void 0===t||!Jn(t))return"partial"}return"complete"}(e,t,r):e.every(Jn)?"complete":"partial"}function nr(e){let t=e[0];for(const n of e)n.elapsedMs<t.elapsedMs&&(t=n);const n=[],r=new Map;let o=!1;for(const t of e)if("flush"!==t.phase){if(void 0!==t.branchId){const e=r.get(t.branchId);e?e.push(t):r.set(t.branchId,[t]);continue}n.push(t)}else o=!0;const s=[...r.values()].flat(),i=n.length>0?n:s.length>0?s:e;let a,c,u,f,l,p,d,m,g,h,v=i[0],y=i[0];for(const e of i)e.elapsedMs<v.elapsedMs&&(v=e),Kn[e.phase]>Kn[y.phase]&&(y=e),"out"===e.phase&&(a=e),void 0!==e.inEvent&&void 0===c&&(c=e.inEvent),void 0!==e.outEvent&&(u=e.outEvent),void 0!==e.mappingKey&&(f=e.mappingKey),void 0!==e.contractRule&&(l=e.contractRule),void 0!==e.consent&&(p=e.consent),void 0!==e.consentApplied&&(d=e.consentApplied),void 0!==e.meta&&(m=e.meta),void 0!==e.parentEventId&&void 0===g&&(g=e.parentEventId),void 0!==e.release&&(h=e.release);const b=y.phase,w=a?.durationMs,k="error"===b?y.error:void 0,$="skip"===b?y.skipReason:void 0,E=a?.calls,S="out"===y.phase&&void 0!==y.batch||void 0,O=!(!o||!0!==S)||void 0,j=r.size>0?[...r.entries()].sort(([e],[t])=>e<t?-1:e>t?1:0).map(([e,t])=>function(e,t){let n,r,o=t[0];for(const e of t)Kn[e.phase]>Kn[o.phase]&&(o=e),"out"===e.phase&&(n=e),void 0!==e.outEvent&&(r=e.outEvent);const s=o.phase,i=n?.durationMs,a="skip"===s?o.skipReason:void 0,c="error"===s?o.error:void 0,u=n?.calls;return{branchId:e,status:Gn(s),terminalPhase:s,...void 0!==i?{durationMs:i}:{},...void 0!==a?{skipReason:a}:{},...void 0!==c?{error:c}:{},...void 0!==r?{out:r}:{},...void 0!==u?{calls:u}:{}}}(e,t)):void 0;return{stepId:v.stepId,stepType:v.stepType,eventId:v.eventId,status:Gn(b),terminalPhase:b,startedAtMs:t.elapsedMs,timestamp:t.timestamp,...void 0!==v.platform?{platform:v.platform}:{},...void 0!==g?{parentEventId:g}:{},...void 0!==w?{durationMs:w}:{},...void 0!==c?{in:c}:{},...void 0!==u?{out:u}:{},...void 0!==k?{error:k}:{},...void 0!==$?{skipReason:$}:{},...void 0!==f?{mappingKey:f}:{},...void 0!==l?{contractRule:l}:{},...void 0!==p?{consent:p}:{},...void 0!==d?{consentApplied:d}:{},...void 0!==E?{calls:E}:{},...void 0!==j?{branches:j}:{},...void 0!==S?{batched:S}:{},...void 0!==O?{flushConfirmed:O}:{},...void 0!==h?{release:h}:{},...void 0!==m?{meta:m}:{}}}function rr(e,t){const n=e.map(e=>({hop:e,rank:void 0!==t?er(t,e.stepId,e.platform)?.rank??Number.MAX_SAFE_INTEGER:0}));return n.sort((e,t)=>e.rank!==t.rank?e.rank-t.rank:e.hop.startedAtMs!==t.hop.startedAtMs?e.hop.startedAtMs-t.hop.startedAtMs:e.hop.stepId<t.hop.stepId?-1:e.hop.stepId>t.hop.stepId?1:0),n.map(e=>e.hop)}function or(e){const t=e.filter(e=>"collector"===e.stepType&&"in"===e.phase),n=t.length>0?t:e;let r=n[0],o=Wn(r.timestamp);for(const e of n){const t=Wn(e.timestamp);t<o&&(o=t,r=e)}const s=function(e){if("object"==typeof e&&null!==e&&"name"in e&&"string"==typeof e.name)return e.name}(r.inEvent);return{eventId:r.eventId,timestamp:r.timestamp,...void 0!==s?{name:s}:{},...void 0!==r.sourceId?{sourceId:r.sourceId}:{},...void 0!==r.platform?{platform:r.platform}:{}}}function sr(e,t,n,r,o){const{topo:s}=o,i=new Map;for(const e of n){const t=Vn(e.platform,e.stepId),n=i.get(t);n?n.push(e):i.set(t,[e])}const a=[...i.values()].map(nr),c=new Map;for(const e of a){const t=e.platform??zn;let n=c.get(t);n||(n={...void 0!==e.platform?{platform:e.platform}:{},hops:[],ownedEventIds:new Set,parentEventIds:new Set,minEpoch:Number.POSITIVE_INFINITY},c.set(t,n)),n.hops.push(e),n.ownedEventIds.add(e.eventId),void 0!==e.parentEventId&&n.parentEventIds.add(e.parentEventId),n.minEpoch=Math.min(n.minEpoch,Wn(e.timestamp))}const u=function(e){const t=new Map,n=e.map((e,t)=>t).sort((t,n)=>{const r=e[t].platform??zn,o=e[n].platform??zn;return r<o?-1:r>o?1:0});e.forEach((r,o)=>{if(0!==r.parentEventIds.size)for(const s of n){if(s===o)continue;let n=!1;for(const t of e[s].ownedEventIds)if(r.parentEventIds.has(t)){n=!0;break}if(n){t.set(o,s);break}}});const r=e=>{let n=0,r=e;const o=new Set;for(;!o.has(r);){o.add(r);const e=t.get(r);if(void 0===e)break;r=e,n+=1}return n};return e.map((e,t)=>({seg:e,i:t,depth:r(t)})).sort((e,t)=>{if(e.depth!==t.depth)return e.depth-t.depth;if(e.seg.minEpoch!==t.seg.minEpoch)return e.seg.minEpoch-t.seg.minEpoch;const n=e.seg.platform??zn,r=t.seg.platform??zn;return n<r?-1:n>r?1:0}).map(e=>e.seg)}([...c.values()]),f=[],l=[];for(const e of u){void 0===e.platform||l.includes(e.platform)||l.push(e.platform);for(const t of rr(e.hops,s))f.push(t)}let p=Number.POSITIVE_INFINITY,d=Number.NEGATIVE_INFINITY;for(const e of n){const t=Wn(e.timestamp);t<p&&(p=t),t>d&&(d=t)}const m=tr(f,l,d,s,o.settleMs,o.now),g=function(e,t,n,r){for(const o of r)if((void 0===o.platform||e.includes(o.platform))&&t<=o.toMs&&o.fromMs<=n)return!0;return!1}(l,p,d,o.gaps);return{id:e,correlation:"event",...void 0!==t?{traceId:t}:{},entry:or(r),hops:f,platforms:l,status:m,lossy:g,firstTimestamp:p,lastTimestamp:d,totalMs:d-p}}function ir(e,t){const n={...void 0!==t?.topology?{topo:Qn(t.topology)}:{},settleMs:t?.settleMs??Dn,now:t?.now??Date.now(),gaps:[]},r=function(e){const t=new Set,n=[];for(const r of e){const e=void 0!==r.seq&&r.traceId?`seq${Un}${r.platform??""}${Un}${r.traceId}${Un}${r.seq}`:void 0!==r.seq?`seqt${Un}${r.platform??""}${Un}${r.stepId}${Un}${r.phase}${Un}${r.eventId}${Un}${r.branchId??""}${Un}${r.elapsedMs}${Un}${r.timestamp}${Un}${r.seq}`:`tuple${Un}${r.platform??""}${Un}${r.stepId}${Un}${r.phase}${Un}${r.eventId}${Un}${r.branchId??""}${Un}${r.elapsedMs}`;t.has(e)||(t.add(e),n.push(r))}return n}(e);n.gaps=function(e){const t=new Map;for(const n of e){if(void 0===n.seq)continue;const e=n.platform??zn,r=t.get(e);r?r.push(n):t.set(e,[n])}const n=[];for(const e of[...t.keys()].sort()){const r=t.get(e);if(void 0===r)continue;const o=[...r].sort((e,t)=>{const n=Wn(e.timestamp),r=Wn(t.timestamp);return n!==r?n-r:(e.seq??0)-(t.seq??0)});let s,i=0;for(const e of o){const t=e.seq;if(void 0!==t)if(void 0!==s){if(t!==i)if(t!==i+1){if(t>i+1){const r=e.platform;n.push({...void 0!==r?{platform:r}:{},fromMs:Wn(s.timestamp),toMs:Wn(e.timestamp),afterSeq:i,beforeSeq:t})}s=e,i=t}else s=e,i=t}else s=e,i=t}}return n}(r);const o=[],s=[];for(const e of r){const t=qn(e);void 0!==t?o.push({record:t===e.eventId?e:{...e,eventId:t},eventId:t}):s.push(e)}o.sort((e,t)=>function(e,t){const n=e.platform??"",r=t.platform??"";if(n!==r)return n<r?-1:1;if(e.stepId!==t.stepId)return e.stepId<t.stepId?-1:1;if(e.phase!==t.phase)return Kn[e.phase]-Kn[t.phase];if(e.eventId!==t.eventId)return e.eventId<t.eventId?-1:1;const o=e.branchId??"",s=t.branchId??"";if(o!==s)return o<s?-1:1;if(e.elapsedMs!==t.elapsedMs)return e.elapsedMs-t.elapsedMs;const i=e.seq??-1,a=t.seq??-1;return i!==a?i-a:e.timestamp!==t.timestamp?e.timestamp<t.timestamp?-1:1:0}(e.record,t.record));const i=new Set(o.map(e=>e.eventId)),a=new Map,c=new Map;for(const{record:e,eventId:t}of o){const n=e.parentEventId;if(void 0===n||n===t||!i.has(n))continue;const r=a.get(t);r?r.add(n):a.set(t,new Set([n]));const o=c.get(n);o?o.add(t):c.set(n,new Set([t]))}const u=new Map;for(const[e,t]of c)if(1===t.size)for(const n of t)Zn(u,n,e);const f=new Map;for(const e of o){const t=Bn(u,e.eventId);let n=f.get(t);n||(n={entries:[],eventIds:new Set},f.set(t,n)),n.entries.push(e),n.eventIds.add(e.eventId)}const l=[...f.values()].map(e=>{const t=function(e,t){const n=[...e].sort();for(const r of n){const n=t.get(r);if(void 0===n)return r;let o=!1;for(const t of n)if(e.has(t)){o=!0;break}if(!o)return r}return n[0]}(e.eventIds,a),r=e.entries.map(e=>e.record),o=e.entries.filter(e=>e.eventId===t).map(e=>e.record),s=Hn(o)??Hn(r);return sr(t,s,r,o,n)});l.sort((e,t)=>e.firstTimestamp!==t.firstTimestamp?e.firstTimestamp-t.firstTimestamp:e.id<t.id?-1:e.id>t.id?1:0);const p=function(e){const t=new Map;for(const n of e){if(!n.traceId)continue;const e=n.platform??zn,r=Wn(n.timestamp);let o=t.get(e);void 0===o&&(o={...void 0!==n.platform?{platform:n.platform}:{},count:0,fromMs:r,toMs:r,stepIds:new Set},t.set(e,o)),o.count+=1,r<o.fromMs&&(o.fromMs=r),r>o.toMs&&(o.toMs=r),o.stepIds.add(n.stepId)}return[...t.entries()].sort(([e],[t])=>e<t?-1:e>t?1:0).map(([,e])=>({...void 0!==e.platform?{platform:e.platform}:{},count:e.count,fromMs:e.fromMs,toMs:e.toMs,stepIds:[...e.stepIds].sort()}))}(s);return{journeys:l,gaps:n.gaps,...p.length>0?{unattributed:p}:{}}}var ar=null;function cr(){return ar}function ur(e){ar=e}function fr(e,t){if(0===e.observers.size)return;const n=Array.from(e.observers);for(const e of n)try{e(t)}catch{}}function lr(e){const t=e.batchMs,n="number"==typeof t&&Number.isFinite(t)&&t>0?Math.floor(t):50,r=e.batchSize,o="number"==typeof r&&Number.isFinite(r)&&r>=1?Math.floor(r):50,s=e.maxBodyBytes,i="number"==typeof s&&Number.isFinite(s)&&s>=1?Math.floor(s):6e4,a=e.fetch??((e,t)=>fetch(e,t)),c=e.onError??(()=>{}),u={};for(const[t,n]of Object.entries(e.headers??{})){const e=t.toLowerCase();"authorization"!==e&&"content-type"!==e&&(u[t]=n)}let f=[],l=null,p=0;function d(e){const t={v:1,records:e},n=JSON.stringify(t);if(e.length<=1)return[n];if(function(e){let t=0;for(let n=0;n<e.length;n++){const r=e.charCodeAt(n);if(r<128)t+=1;else if(r<2048)t+=2;else if(r>=55296&&r<=56319&&n+1<e.length){const r=e.charCodeAt(n+1);r>=56320&&r<=57343?(t+=4,n++):t+=3}else t+=3}return t}(n)<=i)return[n];const r=Math.floor(e.length/2);return[...d(e.slice(0,r)),...d(e.slice(r))]}function m(t){return Promise.resolve().then(()=>a(e.url,{method:"POST",headers:{...u,"Content-Type":"application/json",Authorization:`Bearer ${e.token}`},body:t})).then(t=>{t&&"object"==typeof t&&"number"==typeof t.status&&e.onStatus?.(t.status),t&&"object"==typeof t&&"ok"in t&&!t.ok&&c(new Error(`Observer responded ${t.status}`))}).catch(e=>{c(e)})}function g(){if(0===f.length)return;const e=f;f=[],l&&(clearTimeout(l),l=null);const t=d(e);(async()=>{for(const e of t)await m(e)})()}return e=>{f.push({...e,seq:++p}),f.length>=o?g():null===l&&(l=setTimeout(g,n))}}function pr(e){return e?{userAgent:e,browser:dr(e),browserVersion:mr(e),os:gr(e),osVersion:hr(e),deviceType:vr(e)}:{}}function dr(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 mr(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 gr(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 hr(e){const t=e.match(/(?:Windows NT|Mac OS X|Android|iPhone OS) ([0-9._]+)/);return t?t[1].replace(/_/g,"."):void 0}function vr(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}var yr=["elb","elbLayer","window","document","location","self","top","parent","frames","globalThis","__proto__","constructor","prototype"],br=/^[A-Za-z_$][A-Za-z0-9_$]*$/;function wr(e){return"string"!=typeof e?{ok:!1,reason:"is not a string"}:br.test(e)?yr.includes(e)?{ok:!1,reason:`is reserved (${yr.join(", ")})`}:{ok:!0,name:e}:{ok:!1,reason:"is not a JavaScript identifier (letters, digits, _ or $, not starting with a digit)"}}function kr(e){return function(e){return/\breturn\b/.test(e)}(e)?e:`return ${e}`}function $r(e){const t=kr(e);return new Function("value","context",t)}function Er(e){const t=kr(e);return new Function("value","context",t)}function Sr(e){const t=kr(e);return new Function("value","context",t)}function Or(){let e=0,t=0;return{start(){e=Date.now(),t=0},end:()=>(t=Date.now(),t-e),getElapsed:()=>(t||Date.now())-e,format(){return(this.getElapsed()/1e3).toFixed(2)+"s"}}}var jr="https://cdn.jsdelivr.net/npm",Ir="dist/walkerOS.json";function Ar(e){return"string"==typeof e||Array.isArray(e)&&e.every(e=>"string"==typeof e)?e:void 0}async function xr(e,t){const n=t?.version||"latest",r=t?.timeout||1e4,o=new AbortController,s=setTimeout(()=>o.abort(),r),i=o.signal,a=t?.client?{"X-Walkeros-Client":t.client}:void 0;try{if(t?.baseUrl){const r=`${t.baseUrl}/api/packages/${encodeURIComponent(e)}?version=${encodeURIComponent(n)}&expand=all`,o=await fetch(r,{signal:i,...a&&{headers:a}});if(!o.ok)throw new Error(`Failed to fetch ${r} (HTTP ${o.status})`);return function(e,t,n){const r=n.schemas||{},o=n.examples||{},s=n.hints,i=n.hintKeys??(s?Object.keys(s):[]),a=n.exampleSummaries??[],c=n.platform,u=n.exportExamples,f=n.exportSchemas,l=n.exports;return{packageName:n.package||e,version:"string"==typeof n.version?n.version:t,...void 0!==n.description&&{description:n.description},...void 0!==n.type&&{type:n.type},...void 0!==c&&{platform:c},schemas:r,examples:o,...void 0!==n.docs&&{docs:n.docs},...void 0!==n.source&&{source:n.source},...s&&Object.keys(s).length>0?{hints:s}:{},hintKeys:i,exampleSummaries:a,..._r(u)?{exportExamples:u}:{},...Mr(f)?{exportSchemas:f}:{},...Rr(l)?{exports:l}:{}}}(e,n,await o.json())}const r=`${jr}/${e}@${n}`,o=await Nr(`${r}/package.json`,i,a);return function(e,t,n,r){const o=r.$meta||{},s=r.schemas||{},i=r.examples||{},a=r.hints,c=a?Object.keys(a):[],u=r.exportExamples,f=r.exportSchemas,l=o.exports,p=[],d=i.step||{};for(const[e,t]of Object.entries(d)){const n=t,r={name:e};"string"==typeof n?.description&&(r.description=n.description),p.push(r)}const m="string"==typeof o.docs?o.docs:void 0,g="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:Ar(o.platform),schemas:s,examples:i,...m?{docs:m}:{},...g?{source:g}:{},...a&&Object.keys(a).length>0?{hints:a}:{},hintKeys:c,exampleSummaries:p,..._r(u)?{exportExamples:u}:{},...Mr(f)?{exportSchemas:f}:{},...Rr(l)?{exports:l}:{}}}(e,n,o,await Nr(`${r}/${Ir}`,i,a))}finally{clearTimeout(s)}}function _r(e){return null!==e&&"object"==typeof e&&!Array.isArray(e)}function Mr(e){return _r(e)&&Object.values(e).every(_r)}function Rr(e){return _r(e)&&Object.values(e).every(e=>"string"==typeof e)}async function Nr(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 Tr(e,t){const n=await xr(e,t);return{packageName:n.packageName,version:n.version,type:n.type,platform:n.platform,schemas:n.schemas,examples:n.examples,...n.hints?{hints:n.hints}:{}}}var Cr="observe";function Pr(e){if("object"!=typeof e||null===e)return!1;if(!("paths"in e)||!("record"in e))return!1;const{paths:t,record:n}=e;return Array.isArray(t)&&t.every(e=>"string"==typeof e)&&"function"==typeof n}var Fr="call:";function Lr(e){const t=(e.startsWith(Fr)?e.slice(Fr.length):e).split(".");return t.some(e=>""===e)?[]:t}function Dr(e){return"function"==typeof e}function Kr(e){return"object"==typeof e&&null!==e}var zr=["name","length","prototype","arguments","caller"];function Ur(e,t){if(-1!==zr.indexOf(t))return!1;let n=e;for(;Dr(n);){if(Object.prototype.hasOwnProperty.call(n,t))return!0;const e=Object.getPrototypeOf(n);if(!Dr(e)||!Dr(Object.getPrototypeOf(e)))return!1;n=e}return!1}function Vr(e,t){const n=Reflect.getOwnPropertyDescriptor(e,t);return!(n&&!n.configurable)||"value"in n&&!0===n.writable}function Wr(e,t){let n=e;for(const e of t){if(Dr(n)){if(!Ur(n,e))return!0;if(!Vr(n,e))return!1}else if(pe(n)){if(!(e in n))return!0}else if(!Kr(n)||!(e in n))return!1;n=Reflect.get(n,e)}return Dr(n)}function qr(e,t,n){const r=[],o=[],s=[];for(const n of t){const t=Lr(n);if(0===t.length)continue;const r=t.join(".");s.push({rest:t,fn:r}),Wr(e,t)||o.push(r)}const i=new WeakMap,a=new WeakSet;function c(e,t){for(const o of e)if(n)try{n(o,t)}catch{}else r.push({fn:o,args:t,ts:Date.now()})}function u(e,t){return 0===t.length||f(e)?e:pe(e)&&!t.some(t=>t.rest[0]in e)?Promise.resolve(e).then(e=>u(e,t)):Dr(e)?h(e,[],t):Kr(e)?p(e,t):e}function f(e){return(Kr(e)||Dr(e))&&a.has(e)}function l(e,t){const n=[],r=[];for(const o of e)o.rest[0]===t&&(1===o.rest.length?n.includes(o.fn)||n.push(o.fn):r.push({rest:o.rest.slice(1),fn:o.fn}));return{leafs:n,deeper:r}}function p(e,t){const n=function(e){return e.map(e=>`${e.fn}:${e.rest.join(".")}`).join("|")}(t),r=i.get(e)??new Map;i.set(e,r);const o=r.get(n);if(o)return o;const s=d(e,t);return r.set(n,s),s}function d(e,t){if(Dr(e))return m(e,t);return t.some(t=>!Vr(e,t.rest[0]))?function(e,t){const n=Object.create(Object.getPrototypeOf(e)),r=g(e,t,()=>o),o=new Proxy(n,{get:(e,t)=>r.get(t),set:(t,n,r)=>Reflect.set(e,n,r,e),has:(t,n)=>Reflect.has(e,n),ownKeys:()=>Reflect.ownKeys(e),getOwnPropertyDescriptor(t,n){const r=Reflect.getOwnPropertyDescriptor(e,n);return r&&{...r,configurable:!0}},defineProperty:(t,n,r)=>Reflect.defineProperty(e,n,r),deleteProperty:(t,n)=>Reflect.deleteProperty(e,n)});return a.add(o),o}(e,t):m(e,t)}function m(e,t){const n=g(e,t,()=>r),r=new Proxy(e,{get:(e,t)=>"string"!=typeof t||Vr(e,t)?n.get(t):Reflect.get(e,t,e),set:(e,t,n)=>Reflect.set(e,t,n,e)});return a.add(r),r}function g(e,t,n){const r=new Map;return{get(o){const s=Reflect.get(e,o,e);if("string"!=typeof o)return s;if(!Dr(s)&&!Kr(s))return s;if(f(s))return s;const i=r.get(o);if(i&&i.value===s)return i.out;const{leafs:a,deeper:c}=l(t,o);if(!(a.length>0||c.length>0)&&(!Dr(s)||function(e){if(Array.isArray(e))return!0;const t=Object.getPrototypeOf(e);return t===Object.prototype||null===t}(e)))return s;let u=s;return Dr(s)?u=h(s,a,c,{proxy:n(),target:e}):c.length>0&&(u=p(s,c)),r.set(o,{value:s,out:u}),u}}}function h(e,t,n,r){const o=()=>n.filter(t=>!Ur(e,t.rest[0])),s=new Map,i=new Proxy(e,{get(e,t){const r=Reflect.get(e,t,e);if("string"!=typeof t||!Vr(e,t))return r;if(!Ur(e,t))return r;const{leafs:o,deeper:a}=l(n,t);if(0===o.length&&0===a.length)return r;if(f(r))return r;const c=s.get(t);if(c&&c.value===r)return c.out;let u=r;return Dr(r)?u=h(r,o,a,{proxy:i,target:e}):Kr(r)&&a.length>0&&(u=p(r,a)),s.set(t,{value:r,out:u}),u},set:(e,t,n)=>Reflect.set(e,t,n,e),apply(e,n,s){c(t,s);const i=!r||n!==r.proxy&&void 0!==n?n:r.target;return u(Reflect.apply(e,i,s),o())},construct(e,n,r){c(t,n);const s=Reflect.construct(e,n,r===i?e:r),a=u(s,o());return Kr(a)||Dr(a)?a:s}});return a.add(i),i}return{env:d(e,s),calls:r,unresolved:o}}var Br="obsw_";function Zr(e){if(!e.startsWith(Br))return null;const t=e.slice(Br.length).split("."),[n,r,o]=t;return 3===t.length&&n&&r&&o?{pb:n,ses:r,secret:o}:null}function Hr(e){const t=e.WALKEROS_OBSERVER_URL,n=e.WALKEROS_DEPLOYMENT_ID,r=e.WALKEROS_INGEST_TOKEN;if(!t||!n||!r)return;const o={url:t,sessionId:n,token:r},s=e.WALKEROS_OBSERVE_LEVEL;if(void 0!==s){if("off"!==(i=s)&&"standard"!==i&&"trace"!==i)return;o.level=s}var i;return o}function Gr(e,t){const n=function(e){return me(e)?e:ae(e)?{items:e}:{value:e??null}}(e),r=t?{...n,_hints:t}:n;return{content:[{type:"text",text:JSON.stringify(r,null,2)}],structuredContent:r}}function Jr(e,t){let n,r,o,s;if(e instanceof Error){n=e.message;const t=e;t.code&&(o=t.code),Array.isArray(t.details)&&(s=t.details)}else if("string"==typeof e)n=e;else if(e&&"object"==typeof e&&"issues"in e&&Array.isArray(e.issues)){const t=e.issues;n=t.map(e=>e.message).join("; "),r=t[0]?.path?.join(".")||void 0}else n=e&&"object"==typeof e&&"message"in e?String(e.message):"Unknown error";const i={error:n};return t&&(i.hint=t),r&&(i.path=r),o&&(i.code=o),s&&(i.details=s),{content:[{type:"text",text:JSON.stringify(i)}],structuredContent:i,isError:!0}}function Yr(e){let t=!1;return(n={})=>{t||(t=!0,e(n))}}function Xr(e){const t=Object.create(null);if(!e||"object"!=typeof e||ae(e))return t;return"function"==typeof e.forEach?(e.forEach((e,n)=>{t[n.toLowerCase()]=e}),t):(Object.entries(e).forEach(([e,n])=>{void 0!==n&&(t[e.toLowerCase()]=ae(n)?n.join(", "):String(n))}),t)}function Qr(e){const t=Object.create(null);if(!e)return t;return new URLSearchParams(e.startsWith("?")?e.slice(1):e).forEach((e,n)=>{t[n]=n in t?`${t[n]},${e}`:e}),t}function eo(e,t){if("string"!=typeof e)return e;let n=e;if(t)try{const t=atob(e),r=new Uint8Array(t.length);for(let e=0;e<t.length;e++)r[e]=t.charCodeAt(e);n=decodeURIComponent(Array.from(r,e=>`%${e.toString(16).padStart(2,"0")}`).join(""))}catch{return e}try{return JSON.parse(n)}catch{return n===e?e:n}}function to(e){return me(e)&&"string"==typeof e.method&&me(e.headers)}function no(e,t){const n=Xr(e.headers),r=e.originalUrl||e.url||"",o=r.indexOf("?"),s=-1===o?"":r.slice(o),i=e.path||(-1===o?r:r.slice(0,o)),a=("function"==typeof e.get?e.get("host"):void 0)||n.host,c=e.protocol||n["x-forwarded-proto"]||t.defaultProtocol,u={method:(e.method||"").toUpperCase(),url:a?`${c}://${a}${r}`:"",path:i,query:Qr(s),headers:n,body:t.body,raw:e};return e.ip&&(u.ip=e.ip),u}function ro(e){return ae(e)?e:me(e)?ae(e.batch)?e.batch:[e]:[{}]}function oo(e){return!!ae(e)||me(e)&&ae(e.batch)}var so="Event was not processed",io="Internal server error";function ao(e){const t=e.flatMap((e,t)=>e.error?[{index:t,error:e.error}]:[]);return t.length?{status:207,body:{success:!1,processed:e.length-t.length,failed:t.length,errors:t}}:{status:200,body:{success:!0,processed:e.length,ids:e.map(e=>e.id??null)}}}function co(e){const t=uo(e);return"reject"===t?{error:e.error??"Invalid event",status:400}:"retry"===t?{error:so,status:500}:{id:e.event?.id}}function uo(e){if(!0===e.invalid)return"reject";if(e.ok)return"ack";const t=[];for(const n of Object.values(e.failed??{})){const e=n.reason;t.push(!e||!("retryable"in e)||e.retryable)}return e.reason&&t.push(e.reason.retryable),0===t.length||t.some(Boolean)?"retry":"ack"}function fo(e){if(void 0===e||"*"===e)return()=>!0;if("and"in e){const t=e.and.map(fo);return e=>t.every(t=>t(e))}if("or"in e){const t=e.or.map(fo);return e=>t.some(t=>t(e))}return function(e){const{key:t,operator:n,value:r,not:o}=e,s=function(e,t){switch(e){case"eq":return e=>String(e??"")===t;case"contains":return e=>String(e??"").includes(t);case"prefix":return e=>String(e??"").startsWith(t);case"suffix":return e=>String(e??"").endsWith(t);case"regex":{const e=new RegExp(t);return t=>e.test(String(t??""))}case"gt":{const e=Number(t);return t=>Number(t)>e}case"lt":{const e=Number(t);return t=>Number(t)<e}case"exists":return e=>null!=e}}(n,r);return e=>{const n=Je(e,t),r=s(n);return o?!r:r}}(e)}function lo(e){return"object"==typeof e&&null!==e&&!Array.isArray(e)&&("match"in e||"next"in e||"one"in e||"many"in e||"stop"in e)}function po(e){return Array.isArray(e)&&e.length>0&&e.every(e=>lo(e))}function mo(e){return"object"==typeof e&&!Array.isArray(e)&&"type"in e&&"continuation"===e.type}var go=()=>!0;function ho(e,t){return{kind:t?"sequence":"next",path:e}}function vo(e,t){return t?{...e,outer:t}:e}function yo(e,t,n,r){return vo(n?{kind:e,path:t,match:n}:{kind:e,path:t,catchAll:!0},r)}function bo(e,t,n,r){return 0===e.length?{type:"chain",value:[],label:vo({kind:n,path:t},r)}:{type:n,routes:wo(e,t,n,r)}}function wo(e,t,n,r){return e.map((e,o)=>{const s=[...t,o];if("string"==typeof e||Array.isArray(e)){const t=yo(n,s,void 0,r);return{match:go,next:$o(e,s,t)??{type:"chain",value:[],label:t}}}const i=yo(n,s,e.match,r);return{match:e.match?fo(e.match):go,source:e.match,next:ko(e,s,i,!1,!0)??{type:"chain",value:[],label:i}}})}function ko(e,t,n,r,o){const s=o?void 0:e.match,i=s?vo({kind:"next",path:t,match:s},n):n??ho(t,r),a=s?i:n;let c;return!0===e.stop?c={type:"stop",label:i}:void 0!==e.one?c=bo(e.one,[...t,"one"],"one",a):void 0!==e.many?c=bo(e.many,[...t,"many"],"many",a):void 0!==e.next&&(c=$o(e.next,[...t,"next"],a)),s?{type:"gate",match:fo(s),source:s,next:c??{type:"chain",value:[],label:i}}:void 0===c&&e.match?{type:"chain",value:[],label:i}:c}function $o(e,t=[],n,r=!1){if(null!=e){if("string"==typeof e)return{type:"static",value:e,label:n??ho(t,r)};if(Array.isArray(e)){if(0===e.length)return;if(po(e))return{type:"one",routes:wo(e,t,"one",n)};const o=[];for(const t of e)"string"==typeof t&&o.push(t);if(o.length===e.length)return{type:"chain",value:o,label:n??ho(t,r)};const s=[];if(e.forEach((e,r)=>{const o=$o(e,[...t,r],n,!0);void 0!==o&&s.push(o)}),0===s.length)return;return{type:"sequence",value:s}}return ko(e,t,n,r,!1)}}var Eo=new WeakMap;function So(e,t,n){return n?{type:"continuation",segments:e,at:t,tail:n}:{type:"continuation",segments:e,at:t}}function Oo(e){if(null==e)return;if(mo(e))return e;const t=function(e){if(null==e)return;if("object"!=typeof e)return $o(e);const t=Eo.get(e);if(t)return t;const n=$o(e);return n&&Eo.set(e,n),n}(e);return t?So([t],0,void 0):void 0}function jo(e,t,n){const r=[];let o=e;for(;o;){if(o.at>=o.segments.length){o=o.tail;continue}const e=o.segments[o.at],s=So(o.segments,o.at+1,o.tail);if("static"===e.type){r.push(e.value),n&&n(e),o=s;continue}if("chain"===e.type){r.push(...e.value),n&&n(e),o=s;continue}if("sequence"===e.type){o=So(e.value,0,s);continue}if(r.length>0)return{ids:r,then:o};if("stop"===e.type)return n&&n(e),{ids:[],stop:!0};if("gate"===e.type){o=t.gate(e)?So([e.next],0,s):s;continue}if("one"===e.type){const n=e.routes.length>0?t.one(e.routes):-1;o=n>=0?So([e.routes[n].next],0,s):s;continue}const i=e.routes.length>0?t.many(e.routes):[];if(0!==i.length){if(1!==i.length)return{ids:[],forks:i.map(t=>So([e.routes[t].next],0,s))};o=So([e.routes[i[0]].next],0,s)}else o=s}return{ids:r}}function Io(e,t){return jo(Oo(e),function(e){return{gate:t=>t.match(e),one:t=>t.findIndex(t=>t.match(e)),many:t=>{const n=[];return t.forEach((t,r)=>{t.match(e)&&n.push(r)}),n}}}(t))}function Ao(e){return null==e?[]:[{route:e,ancestry:[]}]}function xo(e){return Array.isArray(e)&&e.every(e=>"object"==typeof e&&null!==e&&!Array.isArray(e)&&"ancestry"in e)}function _o(e,t,n){if(e.at>=e.ids.length)return{rest:t};const r=e.ids[e.at],o=e.at+1<e.ids.length?[{ids:e.ids,at:e.at+1,ancestry:e.ancestry},...t]:t;if(e.ancestry.includes(r))return{rest:o};const s=[...e.ancestry,r],i=n[r],a=i?i.config.next:void 0;return{id:r,ancestry:s,rest:void 0===a?o:[{route:a,ancestry:s},...o]}}function Mo(e,t,n){if(e.stop)return t.length>0?{kind:"stop",owner:t[t.length-1]}:{kind:"stop"};if(e.forks)return{kind:"fork",branches:e.forks.map(e=>[{route:e,ancestry:t},...n])};const r=[];return e.ids.length>0&&r.push({ids:e.ids,at:0,ancestry:t}),e.then&&r.push({route:e.then,ancestry:t}),{kind:"stack",stack:[...r,...n]}}function Ro(e,t,n){let r=e;for(;r.length>0;){const[e,...o]=r;if("ids"in e){const t=_o(e,o,n);if(void 0!==t.id)return{kind:"run",id:t.id,rest:t.rest,ancestry:t.ancestry};r=t.rest;continue}const s=Mo(Io(e.route,t),e.ancestry,o);if("stack"!==s.kind)return s;r=s.stack}return{kind:"done"}}function No(e,t={}){const n=[],r=new Map,o=new Set,s=new WeakMap,i=new WeakMap;let a=0;const c=e=>{let t=i.get(e);return void 0===t&&(t=++a,i.set(e,t)),t},u=e=>e.length>0?e[e.length-1]:void 0,f=(e,t,o,s,i)=>{const a=void 0===i,c=`${e??""}|${o}|${s??""}|${i??""}`,u=r.get(c);if(u)return u;const f={targets:[],kind:t.kind,path:t.path};return void 0!==e&&(f.from=e),t.match&&(f.match=t.match),t.catchAll&&(f.catchAll=!0),a&&(f.stop=!0),void 0!==s&&(f.owner=s),t.outer&&(f.via=function(e){const t=[];for(let n=e.outer;n;n=n.outer){const e={kind:n.kind,path:n.path};n.match&&(e.match=n.match),n.catchAll&&(e.catchAll=!0),t.unshift(e)}return t}(t)),r.set(c,f),n.push(f),f},l=e=>{const t=e.ancestry.join(",");if("ids"in e){const n=s.get(e.ids)??[];return`i${e.ids.join(",")}#${n.map(c).join(",")}@${e.at}/${t}`}const n=e.route;if("string"==typeof n)return`s${n}/${t}`;let r="",o=Oo(n);for(;o;)r+=`${c(o.segments)}@${o.at};`,o=o.tail;return`r${r}/${t}`},p=(e,n,r)=>{const i=`${n??""}|${r?`${c(r.node)}:${r.position}`:""}|${e.map(l).join("|")}`;if(o.has(i))return;if(o.add(i),0===e.length)return;const[a,...d]=e;if("ids"in a){const e=_o(a,d,t);if(void 0===e.id)return void p(e.rest,n,r);const o=(s.get(a.ids)??[])[a.at];if(!o)return;let i;if(r&&r.source===o&&r.node.targets[r.position]===n){const t=r.position+1;r.node.targets.length===t&&r.node.targets.push(e.id),i={node:r.node,source:o,position:t}}else{const t=f(n,o.label,c(o),u(a.ancestry),e.id);0===t.targets.length&&t.targets.push(e.id),i={node:t,source:o,position:0}}return void p(e.rest,e.id,i)}const m=u(a.ancestry);for(const e of function(e){const t=[],n=r=>{let o=0;const s=[],i=e=>{let t=0;return o<r.length?t=r[o]:s.push(e),o++,t},a=e=>e.some(e=>void 0===e.source),c=[],u=jo(e,{gate:()=>0===i(2),one:e=>{const t=e.map((e,t)=>t);return a(e)||t.push(-1),t[i(t.length)]},many:e=>{const t=e.map((e,t)=>t);return a(e)||0===i(2)?t:[]}},e=>c.push(e));t.push({steps:u,visited:c});for(let e=0;e<s.length;e++)for(let t=1;t<s[e];t++){const o=r.slice();for(let t=0;t<e;t++)o.push(0);o.push(t),n(o)}};return n([]),t}(Oo(a.route))){const{steps:t}=e,r=[];let o=n;for(const t of e.visited)if("stop"!==t.type)if("static"===t.type)r.push(t),o=t.value;else if(0===t.value.length)f(o,t.label,c(t),m,"");else{for(let e=0;e<t.value.length;e++)r.push(t);o=t.value[t.value.length-1]}else f(n,t.label,c(t),m,void 0);t.ids.length>0&&s.set(t.ids,r);const i=Mo(t,a.ancestry,d);if("stop"!==i.kind)if("fork"!==i.kind)p(i.stack,n,void 0);else for(const e of i.branches)p(e,n,void 0)}};return p(Ao(e),void 0,void 0),n}var To="__walkeros_cache_v__",Co="__walkeros_cache_exp__";function Po(e,t,n=Date.now){const r={[To]:e};return void 0!==t&&(r[Co]=n()+t),r}function Fo(e,t=Date.now){if(void 0===e)return;if(null===(n=e)||"object"!=typeof n||Array.isArray(n)||!(To in e))return{value:e};var n;const r=e[Co];return"number"==typeof r&&t()>r?{expired:!0}:{value:e[To]}}function Lo(e){return null===e||"string"==typeof e||"number"==typeof e||"boolean"==typeof e||e instanceof Uint8Array||(Array.isArray(e)?e.every(e=>void 0===e||Lo(e)):!!function(e){return null!==e&&"object"==typeof e&&!Array.isArray(e)}(e)&&Object.values(e).every(e=>void 0===e||Lo(e)))}function Do(e={},t){return void 0===t?{ingest:e}:{ingest:e,event:t}}function Ko(e){return{stop:e.stop??!1,storeId:e.store,namespace:e.namespace,rules:e.rules.map(e=>({match:e.match?fo(e.match):()=>!0,key:e.key,ttl:e.ttl,update:e.update}))}}async function zo(e,t,n,r,o){const s=e.rules.find(e=>e.match(n));if(!s)return null;const i=s.key.map(e=>String(Je(n,e)??""));if(i.every(e=>""===e))return null;const a=i.join(":"),c=r??e.namespace,u=c?`${c}:${a}`:a;let f;try{f=await t.get(u)}catch(t){if(!o||t instanceof Pt)throw t;const n=Ut(t);return Gt(o,o.logger,{step:`store.${e.storeId??"__cache"}`,code:n.code,status:n.status},"cache read failed, treated as a miss",{error:n.message,retryable:n.retryable}),{status:"MISS",key:u,rule:s}}const l=Fo(f);if(void 0===l)return{status:"MISS",key:u,rule:s};if("expired"in l){try{await t.delete(u)}catch{}return{status:"MISS",key:u,rule:s}}return{status:"HIT",key:u,value:l.value,rule:s}}function Uo(e,t,n,r){if(!Lo(n))return;const o=1e3*r,s=e.set(t,Po(n,o),o);pe(s)&&Promise.resolve(s).catch(()=>{})}async function Vo(e,t,n,r){if(!t)return e;let o=e;for(const[e,s]of Object.entries(t)){o=Ye(o,e,await nn(n,s,{collector:r}))}return o}function Wo(e){return ae(e)?e:[e]}function qo(e){const t=/^(event|ingest)\.(.+)$/.exec(e);if(t)return{side:"event"===t[1]?"event":"ingest",path:t[2]}}function Bo(e){if(!me(e.consent))return;const t={};for(const[n,r]of Object.entries(e.consent))"boolean"==typeof r&&(t[n]=r);return t}function Zo(e){return!fe(e)||(me(e)?0===Object.keys(e).length:!!ae(e)&&!e.some(fe))}function Ho(e,t,n,r){(e.causeLog||e.logger)&&Gt(e,e.logger,t,n,r)}async function Go(e,t,n,r){try{return{ok:!0,value:await e.get(n)}}catch(e){if(e instanceof Pt)throw e;const n=Ut(e);return Ho(r,{step:`store.${t}`,code:n.code,status:n.status},"store read failed",{error:n.message,retryable:n.retryable}),{ok:!1}}}async function Jo(e,t,n,r,o){const s=o??{};let i=n;for(const n of e)await Tt(async()=>{const e=t(n.store);if(!e)return void r.logger?.error?.("[state] unknown store",{mode:n.mode,store:n.store});if(me(e.config)&&!0===e.config.file)return void r.logger?.warn?.("[state] file stores are not supported by state, entry skipped",{mode:n.mode,store:n.store});const o=Do(s,i),a={collector:r,event:i,consent:Bo(i)},c=n.store??"__cache",u=await nn(o,n.key,a);if(!he(u))return void Ho(r,{step:`store.${c}`,code:"mapping"},`[state] ${n.mode} key did not resolve, entry skipped`,he(n.key)?{mappingKey:n.key}:{});const f=n.store?u:`state:${u}`;if("set"===n.mode){const t=await nn(o,n.value,a);if(!fe(n.mapping)){if(!fe(t))return;return void await e.set(f,t)}const s=await Xt(t,n.mapping,a);if(!fe(s)||Zo(s))return;if(!me(s))return void await e.set(f,s);const i=await Go(e,c,f,r);if(!i.ok)return;const u=i.value;return fe(u)&&!me(u)&&r.logger?.warn?.("[state] stored value is not an object, replaced",{store:n.store}),void await e.set(f,me(u)?st(Ge(u),s):s)}const l=he(p=n.value)?p:me(p)&&he(p.key)?p.key:void 0;var p;if(!l)return;const d=qo(l);if(!d)return void r.logger?.warn?.("[state] get target needs an event. or ingest. prefix",{store:n.store,value:l});const m=await Go(e,c,f,r),g=m.ok?m.value:void 0;if(!fe(n.mapping)){if(!fe(g))return;return void("ingest"===d.side?Ye(s,d.path,g,{mutable:!0}):i=Ye(i,d.path,g))}fe(g)&&!_t(g)&&r.logger?.warn?.("[state] stored value has null or non-JSON values, mapping drops them",{store:n.store});const h=await Xt(g,n.mapping,a);if(Zo(h))return;const v="ingest"===d.side?Je(s,d.path):Je(i,d.path),y=me(v)&&me(h)?st(Ge(v),h):h;"ingest"===d.side?Ye(s,d.path,y,{mutable:!0}):i=Ye(i,d.path,y)},e=>{if(e instanceof Pt)throw e;r.logger?.error?.("[state] operation failed",e)})();return i}function Yo(e){return 0===e.length?"// no output":e.map(Xo).join(";\n\n")}function Xo(e){const[t,...n]=e,r=n.map(Qo).join(", ");return"return"===t?r?`return ${r}`:"return":`${t}(${r})`}function Qo(e){return void 0===e?"undefined":null===e?"null":"function"==typeof e?"[Function]":JSON.stringify(e,null,2)}//# sourceMappingURL=index.js.map
|
|
1
|
+
"use strict";var e,t=Object.defineProperty,n=Object.getOwnPropertyDescriptor,r=Object.getOwnPropertyNames,o=Object.prototype.hasOwnProperty,s=(e,n)=>{for(var r in n)t(e,r,{get:n[r],enumerable:!0})},i={};s(i,{CLOCK_SKEW_MS:()=>Nn,CONTRACT_RULE_KEYS:()=>U,Cache:()=>a,Collector:()=>c,Const:()=>N,Context:()=>f,DEFAULT_DESTINATION_TIMEOUT_MS:()=>bn,Destination:()=>l,ENV_MARKER_PREFIX:()=>Le,EVENT_NOT_PROCESSED:()=>io,Elb:()=>d,FatalError:()=>Pt,FlowCycleError:()=>Fe,FlowReferenceError:()=>Pe,Hint:()=>R,Hooks:()=>m,INTERNAL_SERVER_ERROR:()=>ao,InvalidEventError:()=>vn,Level:()=>h,Lifecycle:()=>A,Logger:()=>g,MAPPING_NO_OPS:()=>ye,MAX_SESSION_MS:()=>Tn,MOIN_PARAM:()=>Fn,MOIN_PRODUCTION:()=>Ln,Mapping:()=>y,Matcher:()=>M,OBSERVE_ENV_KEY:()=>Pr,OBSERVE_STORAGE_KEY:()=>Pn,On:()=>v,REF_CODE_PREFIX:()=>oe,REF_CONTRACT:()=>Y,REF_ENV:()=>G,REF_FLOW:()=>ee,REF_FLOW_INLINE:()=>te,REF_FLOW_NAME:()=>X,REF_SECRET:()=>re,REF_STORE:()=>ne,REF_VAR_FULL:()=>H,REF_VAR_INLINE:()=>J,RESERVED_WINDOW_GLOBALS:()=>vr,Request:()=>k,SECRET_MARKER_PREFIX:()=>De,STEP_FIELD_ROLES:()=>Se,STEP_FUNCTION_KEYS:()=>Ae,STEP_OPERATIVE_FIELDS:()=>Ie,Simulation:()=>_,Source:()=>$,StepError:()=>Dt,Store:()=>S,Transformer:()=>b,Trigger:()=>I,URL_WINDOW_MS:()=>Rn,WalkerOS:()=>x,acknowledge:()=>fo,advanceChain:()=>No,anonymizeIP:()=>P,applyState:()=>Yo,applyUpdate:()=>Vo,assembleJourneys:()=>ir,assign:()=>He,batchResponse:()=>co,branch:()=>C,buildScopeFromNodeRequest:()=>ro,castToProperty:()=>Rt,castValue:()=>nt,checkCache:()=>Uo,checkWindowCollector:()=>wr,clone:()=>Je,compileCache:()=>zo,compileMatcher:()=>lo,compileState:()=>qo,createBatchedPoster:()=>lr,createCauseLog:()=>Ht,createDestination:()=>ot,createEvent:()=>gt,createIngest:()=>T,createLogger:()=>At,createMappingRoot:()=>Ko,createMockContext:()=>ln,createMockLogger:()=>fn,createRespond:()=>Xr,createTelemetryObserver:()=>En,createTimer:()=>Or,debounce:()=>Et,deepMerge:()=>st,defaultClickIds:()=>wt,deleteByPath:()=>Xe,deriveSpanId:()=>at,emitStep:()=>fr,fetchPackage:()=>_r,fetchPackageSchema:()=>Cr,filterValues:()=>Mt,flattenIncludeSections:()=>tt,formatOut:()=>Xo,getBrowser:()=>dr,getBrowserVersion:()=>mr,getByPath:()=>Ge,getDeviceType:()=>yr,getErrorMessage:()=>en,getEvent:()=>ht,getFlowSettings:()=>Ve,getGrantedConsent:()=>rt,getHeaders:()=>gn,getId:()=>ut,getMappingEvent:()=>tn,getMappingKeyPaths:()=>we,getMappingNoOpMessage:()=>ke,getMappingNoOpPaths:()=>be,getMappingValue:()=>nn,getMarketingParameters:()=>kt,getNextSteps:()=>Ao,getOS:()=>gr,getOSVersion:()=>hr,getPlatform:()=>Be,getRouteGraph:()=>To,getSpanId:()=>dt,getStepFieldRole:()=>Oe,getStepRuntimeProps:()=>je,getTraceId:()=>yt,getTraceUntil:()=>cr,getTransformerMapping:()=>$e,getTransformerMappingWarnings:()=>Ee,getUnknownStepKeys:()=>Ne,isArguments:()=>ie,isArray:()=>ae,isBatchBody:()=>so,isBoolean:()=>ce,isChainContinuation:()=>_o,isCommand:()=>ue,isDefined:()=>fe,isEnvObserve:()=>Fr,isFunction:()=>le,isNumber:()=>de,isObject:()=>me,isPathStepEntry:()=>Te,isPropertyType:()=>_t,isRouteArray:()=>mo,isRouteConfigEntry:()=>po,isRouteContinuation:()=>go,isSameType:()=>ge,isSampled:()=>Sn,isScope:()=>no,isStoreValue:()=>Do,isString:()=>he,isThenable:()=>pe,mcpError:()=>Yr,mcpResult:()=>Gr,mergeContractSchemas:()=>V,mergeMappingRule:()=>an,mockEnv:()=>cn,networkErrorMessage:()=>Wt,normalizeBody:()=>to,normalizeHeaders:()=>Qr,normalizeQuery:()=>eo,observeEnv:()=>Br,observeFromEnv:()=>Jr,packageNameToVariable:()=>We,parseCallPath:()=>Dr,parseGrant:()=>Mn,parseObserveCredential:()=>Hr,parseTraceparent:()=>bt,parseUserAgent:()=>pr,parseWalkerOSJson:()=>Tr,processEventMapping:()=>on,pushResultToOutcome:()=>uo,readCacheEnvelope:()=>Lo,reportCause:()=>Jt,requestToData:()=>pn,requestToParameter:()=>dn,resolveContracts:()=>W,resolveDestinationTimeout:()=>wn,resolveSetup:()=>hn,resolveTelemetryOptions:()=>On,scanFlowRefs:()=>se,setByPath:()=>Ye,setTraceUntil:()=>ur,startChain:()=>xo,stepCall:()=>Kt,stepId:()=>u,storeCache:()=>Wo,throttle:()=>St,throwError:()=>F,toEventList:()=>oo,toFailureReason:()=>Ut,transformData:()=>mn,traverseEnv:()=>un,trim:()=>yn,tryCatch:()=>Nt,tryCatchAsync:()=>Tt,useHooks:()=>kn,validateStepEntry:()=>Re,verifyActivation:()=>Cn,walkPath:()=>ze,wrapCacheEnvelope:()=>Fo,wrapCondition:()=>$r,wrapFn:()=>Er,wrapValidate:()=>Sr}),module.exports=(e=i,((e,s,i,a)=>{if(s&&"object"==typeof s||"function"==typeof s)for(let c of r(s))o.call(e,c)||c===i||t(e,c,{get:()=>s[c],enumerable:!(a=n(s,c))||a.enumerable});return e})(t({},"__esModule",{value:!0}),e));var a={},c={};function u(e,t){if("collector"===e)return"collector";if(!t)throw new Error(`stepId(${e}) requires an id`);return`${e}.${t}`}s(c,{stepId:()=>u});var f={},l={};function p(e,t){const n=e.destinations[t];if(!n)throw new Error(`Destination not found: ${t}`);return n}s(l,{getDestination:()=>p});var d={},m={},g={};s(g,{Level:()=>h});var h=(e=>(e[e.ERROR=0]="ERROR",e[e.WARN=1]="WARN",e[e.INFO=2]="INFO",e[e.DEBUG=3]="DEBUG",e))(h||{}),y={},v={},b={};function w(e,t){const n=e.transformers[t];if(!n)throw new Error(`Transformer not found: ${t}`);return n}s(b,{getTransformer:()=>w});var k={},$={};function E(e,t){const n=e.sources[t];if(!n)throw new Error(`Source not found: ${t}`);return n}s($,{getSource:()=>E});var S={};function O(e,t){const n=e.stores[t];if(!n)throw new Error(`Store not found: ${t}`);return n}async function j(e,t){return await e.get(t)}s(S,{getStore:()=>O,getStoreValue:()=>j});var I={},A={},x={},_={},M={},R={},N={Utils:{Storage:{Local:"local",Session:"session",Cookie:"cookie"}}};function T(e){return{_meta:{hops:0,path:[e]}}}function C(e,t){return{event:e,next:t}}function P(e){const t=e.replace(/^::ffff:/i,"");if(/^(?:\d{1,3}\.){3}\d{1,3}$/.test(t))return t.replace(/\.\d+$/,".0");const n=function(e){const t=e.split("::");if(t.length>2)return;const n=t[0]?t[0].split(":"):[],r=t[1]?t[1].split(":"):[],o=8-n.length-r.length;if(1===t.length?0!==o:o<1)return;const s=[...n,...Array(o).fill("0"),...r];if(!s.every(e=>/^[\da-f]{1,4}$/i.test(e)))return;return s.map(e=>parseInt(e,16).toString(16))}(e);return n?`${n.slice(0,3).join(":")}::`:""}function F(e){throw new Error(String(e))}var L=new Set(["description","examples","title","$comment"]),D=new Set(["additionalItems","additionalProperties","contains","contentSchema","else","if","items","not","propertyNames","then","unevaluatedItems","unevaluatedProperties"]),K=new Set(["allOf","anyOf","items","oneOf","prefixItems"]),z=new Set(["properties","patternProperties","dependentSchemas","dependentRequired","dependencies","$defs","definitions"]),U=["extend","tagging","description","events","schema"];function W(e,t){const n=!1!==t?.stripAnnotations,r={},o=new Set;function s(t){if(r[t])return r[t];o.has(t)&&F(`Circular extend chain detected: ${[...o,t].join(" → ")}`);const i=e[t];i||F(`Contract "${t}" not found`),o.add(t);let a={};if(i.extend){a=function(e,t){const n={};void 0===e.tagging&&void 0===t.tagging||(n.tagging=t.tagging??e.tagging);void 0===e.description&&void 0===t.description||(n.description=t.description??e.description);e.schema&&t.schema?n.schema=V(e.schema,t.schema):(e.schema||t.schema)&&(n.schema={...e.schema||t.schema});if(e.events||t.events){const r={},o=new Set([...Object.keys(e.events||{}),...Object.keys(t.events||{})]);for(const n of o){const o=e.events?.[n]||{},s=t.events?.[n]||{},i=new Set([...Object.keys(o),...Object.keys(s)]);r[n]={};for(const e of i){const t=o[e],i=s[e];r[n][e]=t&&i?V(t,i):{...t||i}}}n.events=r}return n}(s(i.extend),i)}else a={...i};if(delete a.extend,a.events&&(a.events=function(e){const t={};for(const n of Object.keys(e))if("*"!==n){t[n]={};for(const r of Object.keys(e[n]||{})){let o={};const s=e["*"]?.["*"];s&&(o=V(o,s));const i=e["*"]?.[r];i&&"*"!==r&&(o=V(o,i));const a=e[n]?.["*"];a&&"*"!==r&&(o=V(o,a));const c=e[n]?.[r];c&&(o=V(o,c)),t[n][r]=o}}e["*"]&&(t["*"]={...e["*"]});return t}(a.events)),a.events&&n){const e={};for(const[t,n]of Object.entries(a.events)){e[t]={};for(const[r,o]of Object.entries(n))e[t][r]=q(o)}a.events=e}return o.delete(t),r[t]=a,a}for(const t of Object.keys(e))s(t);return r}function V(e,t){const n={...e};for(const r of Object.keys(t)){const o=e[r],s=t[r];"required"===r&&Array.isArray(o)&&Array.isArray(s)?n[r]=[...new Set([...o,...s])]:Z(o)&&Z(s)?n[r]=V(o,s):n[r]=s}return n}function q(e){const t={};for(const[n,r]of Object.entries(e))L.has(n)||(z.has(n)&&Z(r)?t[n]=B(r):K.has(n)&&Array.isArray(r)?t[n]=r.map(e=>Z(e)?q(e):e):D.has(n)&&Z(r)?t[n]=q(r):t[n]=r);return t}function B(e){const t={};for(const[n,r]of Object.entries(e))t[n]=Z(r)?q(r):r;return t}function Z(e){return"object"==typeof e&&null!==e&&!Array.isArray(e)}var H=/^\$var\.([a-zA-Z_][a-zA-Z0-9_]*(?:\.[a-zA-Z_][a-zA-Z0-9_]*)*)$/,J=/\$var\.([a-zA-Z_][a-zA-Z0-9_]*(?:\.[a-zA-Z_][a-zA-Z0-9_]*)*)/g,G=/\$env\.([a-zA-Z_][a-zA-Z0-9_]*)(?::([^"}\s]*))?/g,Y=/^\$contract\.([a-zA-Z_][a-zA-Z0-9_]*)(?:\.(.+))?$/,X="[a-zA-Z_][a-zA-Z0-9_-]*",Q=`\\$flow\\.(${X})(?:\\.([a-zA-Z0-9_.]+))?`,ee=new RegExp(`^${Q}$`),te=new RegExp(Q,"g"),ne=/^\$store\.([a-zA-Z_][a-zA-Z0-9_]*)$/,re=/^\$secret\.([A-Z0-9_]+)$/,oe="$code:";function se(e,t){const n=t??new Set;if("string"==typeof e){for(const t of e.matchAll(te))n.add(t[1]);return n}if(e&&"object"==typeof e)for(const t of Object.values(e))se(t,n);return n}function ie(e){return"[object Arguments]"===Object.prototype.toString.call(e)}function ae(e){return Array.isArray(e)}function ce(e){return"boolean"==typeof e}function ue(e){return"walker"===e}function fe(e){return void 0!==e}function le(e){return"function"==typeof e}function pe(e){return"object"==typeof e&&null!==e&&"then"in e&&"function"==typeof e.then}function de(e){return"number"==typeof e&&!Number.isNaN(e)}function me(e){return"object"==typeof e&&null!==e&&!ae(e)&&"[object Object]"===Object.prototype.toString.call(e)}function ge(e,t){return typeof e==typeof t}function he(e){return"string"==typeof e}var ye={transformer:{config:["consent","include","data"],rule:["consent","include","remove","batch","settings","extend","data","silent"]},source:{config:["data","include"],rule:["data","include","remove","batch","settings","extend","silent"]},destination:{config:[],rule:["extend"]}},ve={transformer:"only `policy` and a rule's `condition`, `policy`, `name` and `ignore` apply",source:"only `consent`, `policy` and a rule's `condition`, `policy`, `name` and `ignore` apply; edit the event at a source with `policy`",destination:"a rule's `extend` applies only inside a package's own `settings.mapping` (today `@walkeros/transformer-ga4`), merged onto its shipped rules; write the fields on the rule itself"};function be(e,t,n){return we(t,n,ye[e])}function we(e,t,n){if(!me(e))return[];const{config:r,rule:o}=n,s=[];for(const n of r)void 0!==e[n]&&s.push(`${t}.${n}`);const i=e.mapping;if(!me(i))return s;for(const[e,n]of Object.entries(i))if(me(n))for(const[r,i]of Object.entries(n)){(ae(i)?i:[i]).forEach((n,a)=>{if(!me(n))return;const c=`${t}.mapping.${e}.${r}${ae(i)?`[${a}]`:""}`;for(const e of o)void 0!==n[e]&&s.push(`${c}.${e}`)})}return s}function ke(e,t){return`${t.map(e=>`\`${e}\``).join(", ")} ${1===t.length?"does":"do"} nothing at the ${e} position; ${ve[e]}.`}function $e(e){return e.config?.mapping??e.mapping}function Ee(e){const t=$e(e);if(void 0===t)return[];const n=void 0!==e.config?.mapping?"config.mapping":"mapping",r="config.mapping"===n&&void 0!==e.mapping;if(void 0!==e.code||void 0!==e.package){return[`${r?"`config.mapping` and `mapping` are":`\`${n}\` is`} ignored: a transformer with \`${void 0!==e.code?"code":"package"}\` never runs ${r?"them":"it"}; a mapping applies only to a transformer without code.`]}const o=[];r&&o.push("`mapping` is overridden: `config.mapping` wins; remove one.");const s=be("transformer",t,n);return s.length>0&&o.push(ke("transformer",s)),o}var Se={Source:{package:"reference",code:"reference",import:"reference",config:"runtime",env:"runtime",primary:"runtime",before:"runtime",next:"runtime",cache:"runtime",state:"runtime",variables:"resolve",examples:"docs"},Transformer:{package:"reference",code:"reference",import:"reference",config:"runtime",env:"runtime",before:"runtime",next:"runtime",cache:"runtime",state:"runtime",mapping:"runtime",variables:"resolve",examples:"docs"},Destination:{package:"reference",code:"reference",import:"reference",config:"runtime",env:"runtime",before:"runtime",next:"runtime",cache:"runtime",state:"runtime",variables:"resolve",examples:"docs"},Store:{package:"reference",code:"reference",import:"reference",config:"runtime",env:"runtime",cache:"runtime",variables:"resolve",examples:"docs"}};function Oe(e,t){const n=Se[e];return Object.prototype.hasOwnProperty.call(n,t)?n[t]:void 0}function je(e,t){const n={};for(const[r,o]of Object.entries(e))null!=o&&"runtime"===Oe(t,r)&&(n[r]=o);return n}var Ie={Source:["code","package","import","before","next","cache","state"],Transformer:["code","package","import","before","next","cache","state","mapping"],Destination:["code","package","import","before","next","cache","state"],Store:["code","package","import","cache"]},Ae=["push","pushBatch","init","on","destroy"],xe=["disabled","id","logger","mock","chainMocks"],_e=/^[A-Za-z_$][A-Za-z0-9_$]*$/;function Me(e){return new Set([...Object.keys(Se[e]),...xe])}function Re(e,t){const n=Me(t);for(const r of Object.keys(e))if(!n.has(r))return{ok:!1,code:"UNKNOWN_KEY",key:r,reason:`Unknown key "${r}" on ${t}. Allowed: ${[...n].sort().join(", ")}.`};const r=void 0!==e.package,o=void 0!==e.import,s=void 0!==e.code;return s&&"string"==typeof e.code?{ok:!1,code:"OBSOLETE_CODE_STRING",key:"code",reason:`code: "<name>" is no longer supported. Use import: "${e.code}" with the package field instead.`}:s&&("object"!=typeof e.code&&"function"!=typeof e.code||null===e.code||Array.isArray(e.code))?{ok:!1,code:"INVALID_CODE_SHAPE",key:"code",reason:"code must be an object ({ push, type?, init?, pushBatch?, on?, destroy? }) or a resolved function value."}:s&&r?{ok:!1,code:"CONFLICT",key:"package",reason:"Cannot specify both `code` and `package`. Use one or the other."}:s&&o?{ok:!1,code:"CONFLICT",key:"import",reason:"Cannot specify both `code` and `import`."}:o&&!r?{ok:!1,code:"MISSING_PACKAGE",key:"import",reason:"`import` requires `package` to be set."}:!o||"string"==typeof e.import&&_e.test(e.import)?{ok:!0}:{ok:!1,code:"INVALID_IMPORT",key:"import",reason:`import must match ${_e.source}. Got: ${JSON.stringify(e.import)}.`}}function Ne(e,t){const n=Me(t);return Object.keys(e).filter(e=>!n.has(e))}function Te(e,t){if("Transformer"!==t)return!1;if(void 0!==e.code||void 0!==e.package||void 0!==e.import)return!1;if(Ie.Transformer.some(t=>"reference"!==Oe("Transformer",t)&&void 0!==e[t]))return!0;const n=me(e.config)?e.config:void 0;return void 0!==$e({mapping:e.mapping,config:n})||void 0!==n?.state}function Ce(...e){const t={};for(const n of e)n&&Object.assign(t,n);return t}var Pe=class extends Error{code;reference;constructor(e,t,n){super(n),this.name="FlowReferenceError",this.code=e,this.reference=t}},Fe=class extends Error{code;chain;constructor(e,t){super(`Cyclic ${"FLOW_CYCLE"===e?"$flow":"$var"} reference: ${t.join(" -> ")}`),this.name="FlowCycleError",this.code=e,this.chain=t}},Le="__WALKEROS_ENV:",De="__WALKEROS_SECRET:";function Ke(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`}.`}function ze(e,t,n){const r=t.split(".");let o=e;for(let e=0;e<r.length;e++){const s=r[e];if(null==o||"object"!=typeof o){const o=r.slice(0,e).join(".");F(`Path "${t}" not found in "${n}": "${s}" does not exist${o?` in "${o}"`:""}`)}const i=o;if(!(s in i)){const o=r.slice(0,e).join(".");F(`Path "${t}" not found in "${n}": "${s}" does not exist${o?` in "${o}"`:""}`)}o=i[s]}return o}function Ue(e,t,n,r,o,s){if("string"==typeof e){const i=e.match(H);if(i){const e=i[1].split("."),a=e[0],c=e.slice(1).join(".");void 0===t[a]&&F(`Variable "${a}" not found`);const u=s??new Set;if(u.has(a))throw new Fe("VAR_CYCLE",[...u,a]);let f;u.add(a);try{f=Ue(t[a],t,n,r,o,u)}finally{u.delete(a)}return c&&(f=ze(f,c,`$var.${a}`)),f}const a=e.match(Y);if(a&&r){const e=a[1],t=a[2];e in r||F(`Contract "${e}" not found`);let n=r[e];return t&&(n=ze(n,t,`$contract.${e}`)),n}const c=e.match(ee);if(c){const t=c[1],r=c[2],s=!1===n?.strictFlowRefs;o||F(`$flow.${t}${r?`.${r}`:""} cannot be resolved without a flow resolver`);const i=o(t);if(!i){if(s)return n?.onWarning?.(Ke(t,r,"unknown-flow")),e;F(`Flow "${t}" not found in $flow.${t}`)}let a=i;if(r)if(s){try{a=ze(a,r,`$flow.${t}`)}catch{return n?.onWarning?.(Ke(t,r,"missing-key")),e}if(null==a||""===a)return n?.onWarning?.(Ke(t,r,"missing-key")),e}else a=ze(a,r,`$flow.${t}`),null!=a&&""!==a||F(Ke(t,r,"missing-key"));return a}const u=e.match(re);if(u){const e=u[1];if(n?.deferred)return`${De}${e}`;throw new Pe("WEB_SECRET_REF",e,`Secret "$secret.${e}" cannot be used in a web flow: secrets are never sent to the browser. Use a server flow.`)}let f=e.replace(J,(e,i)=>{const a=i.split("."),c=a[0],u=a.slice(1).join(".");void 0===t[c]&&F(`Variable "${c}" not found`);const f=s??new Set;if(f.has(c))throw new Fe("VAR_CYCLE",[...f,c]);let l;f.add(c);try{l=Ue(t[c],t,n,r,o,f)}finally{f.delete(c)}if(u&&(l=ze(l,u,`$var.${c}`)),null===l||"string"!=typeof l&&"number"!=typeof l&&"boolean"!=typeof l){F(`Variable "${i}" resolves to non-scalar (${Array.isArray(l)?"array":typeof l}) and cannot be inlined into a string. Use it as a whole-string reference: "$var.${i}"`)}return String(l)});return f=f.replace(G,(e,t,r)=>{if(n?.deferred)return void 0!==r?`${Le}${t}:${r}`:`${Le}${t}`;const o=n?.env?.[t];if(void 0!==o)return o;if(void 0!==r)return r;throw new Pe("MISSING_ENV",t,`Environment variable "${t}" not found and no default provided`)}),f}if(Array.isArray(e))return e.map(e=>Ue(e,t,n,r,o,s));if(null!==e&&"object"==typeof e){const i={};for(const[a,c]of Object.entries(e))i[a]=Ue(c,t,n,r,o,s);return i}return e}function We(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 Ve(e,t,n){const r=new Map,o=new Set,s=[],i=t=>{if(r.has(t))return r.get(t);const a=e.flows[t];if(a){if(o.has(t))throw new Fe("FLOW_CYCLE",[...s,t]);o.add(t),s.push(t);try{const o=Ce(e.variables,a.variables),s=Ue(a.config??{},o,n,void 0,i);return r.set(t,s),s}finally{o.delete(t),s.pop()}}},a=Object.keys(e.flows);t||(1===a.length?t=a[0]:F(`Multiple flows found (${a.join(", ")}). Please specify a flow.`));const c=e.flows[t];c||F(`Flow "${t}" not found. Available: ${a.join(", ")}`),o.add(t),s.push(t);try{return function(e,t,n,r){const o=JSON.parse(JSON.stringify(t));let s;if(e.contract){const o=Ce(e.variables,t.variables),i=Ue(e.contract,o,n,void 0,r);s=W(i)}if(o.config){const i=Ce(e.variables,t.variables);o.config=Ue(o.config,i,n,s,r)}const i=(o,i)=>{for(const a of Object.values(o??{}))qe(a,i,Ce(e.variables,t.variables,a.variables),n,s,r)};if(i(o.sources,"Source"),i(o.destinations,"Destination"),i(o.stores,"Store"),i(o.transformers,"Transformer"),o.collector){const i=Ce(e.variables,t.variables),a=Ue(o.collector,i,n,s,r);o.collector=a}return o}(e,c,n,i)}finally{o.delete(t),s.pop()}}function qe(e,t,n,r,o,s){e.config=Ue(e.config,n,r,o,s),e.env=Ue(e.env,n,r,o,s);for(const n of Object.keys(e)){const r=Oe(t,n);void 0!==r&&"docs"!==r||Reflect.deleteProperty(e,n)}}function Be(e){const t=e.config?.platform;if("web"===t||"server"===t)return t;F('Flow must have config.platform set to "web" or "server"')}var Ze={merge:!0,shallow:!0,extend:!0};function He(e,t={},n={}){n={...Ze,...n};const r=Object.entries(t).reduce((t,[r,o])=>{const s=e[r];return n.merge&&Array.isArray(s)&&Array.isArray(o)?t[r]=o.reduce((e,t)=>e.includes(t)?e:[...e,t],[...s]):(n.extend||r in e)&&(t[r]=o),t},{});return n.shallow?{...e,...r}:(Object.assign(e,r),e)}function Je(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]=Je(e[r],t));return n}if("[object Array]"===n){const n=[];return t.set(e,n),e.forEach(e=>{n.push(Je(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 Ge(e,t="",n){const r=t.split(".");let o=e;for(let e=0;e<r.length;e++){const t=r[e];if("*"===t&&ae(o)){const t=r.slice(e+1).join("."),s=[];for(const e of o){const r=Ge(e,t,n);s.push(r)}return s}if(o=me(o)||ae(o)?o[t]:void 0,void 0===o)break}return fe(o)?o:n}function Ye(e,t,n,r){if(!me(e))return e;const o=r?.mutable?e:Je(e),s=t.split(".");let i=o;for(let e=0;e<s.length;e++){const t=s[e];if(e===s.length-1)void 0===n?delete i[t]:i[t]=n;else{if(!(t in i)||"object"!=typeof i[t]||null===i[t]){if(void 0===n)return o;i[t]={}}i=i[t]}}return o}function Xe(e,t){if(!me(e)&&!ae(e))return e;const n=Je(e),r=t.split(".");let o=n;for(let e=0;e<r.length;e++){const t=r[e],s=e===r.length-1;if(ae(o)){const e=Number(t);if(!Number.isInteger(e)||e<0||e>=o.length)return n;if(s)o.splice(e,1);else{const t=o[e];if(!me(t)&&!ae(t))return n;o=t}}else if(s)delete o[t];else{const e=o[t];if(!me(e)&&!ae(e))return n;o=e}}return n}var Qe={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 et(e,t,n){if(me(n))for(const[r,o]of Object.entries(n))void 0!==o&&et(e,`${t}_${r}`,o);else e[t]=n}function tt(e,t){const n={},r=t.includes("all")?Object.keys(Qe):t;for(const t of r){const r=Qe[t];if(!r)continue;const o=r(e);if(me(o))for(const[e,r]of Object.entries(o)){if(void 0===r)continue;et(n,`${t}_${e}`,"context"===t&&Array.isArray(r)?r[0]:r)}}return n}function nt(e){if("true"===e)return!0;if("false"===e)return!1;const t=Number(e);return e==t&&""!==e?t:String(e)}function rt(e,t={},n={}){const r={...t,...n},o={};let s=!e||0===Object.keys(e).length;return Object.keys(r).forEach(t=>{r[t]&&(o[t]=!0,e&&e[t]&&(s=!0))}),!!s&&o}function ot(e,t){const n={...e};return n.config=He(e.config,t,{shallow:!0,merge:!0,extend:!0}),e.config.settings&&t.settings&&(n.config.settings=He(e.config.settings,t.settings,{shallow:!0,merge:!0,extend:!0})),e.config.mapping&&t.mapping&&(n.config.mapping=He(e.config.mapping,t.mapping,{shallow:!0,merge:!0,extend:!0})),n}function st(e,t){if(!me(t))return e;for(const n of Object.keys(t)){const r=t[n];void 0!==r&&(me(r)&&me(e[n])?st(e[n],r):e[n]=r)}return e}function it(e){let t=8997,n=33826,r=40164,o=52210;for(let s=0;s<e.length;s++){t^=e.charCodeAt(s);const i=435*t;let a=435*n,c=435*r,u=435*o;c+=t<<8,u+=n<<8,a+=i>>>16,t=65535&i,c+=a>>>16,n=65535&a,o=u+(c>>>16)&65535,r=65535&c}const s=e=>e.toString(16).padStart(4,"0");return s(o)+s(r)+s(n)+s(t)}function at(e,t){const n=it(JSON.stringify([e,t]));return/^0+$/.test(n)?it(JSON.stringify([n,t])):n}var ct="0123456789abcdefghijklmnopqrstuvwxyz";function ut(e=6,t=ct){const n=t.length;if(e<=0||0===n)return"";let r="";if(n<=256){const o=256-256%n;for(;r.length<e;){const s=e-r.length,i=new Uint8Array(Math.ceil(1.3*s)+4);if(!ft(i))break;for(let s=0;s<i.length&&r.length<e;s++)i[s]<o&&(r+=t[i[s]%n])}}for(;r.length<e;)r+=t[Math.random()*n|0];return r}function ft(e){try{if("undefined"!=typeof crypto&&"function"==typeof crypto.getRandomValues)return crypto.getRandomValues(e),!0}catch{}return!1}var lt="0123456789abcdef";function pt(e){let t=ut(e,lt);for(;/^0+$/.test(t);)t=ut(e,lt);return t}function dt(){return pt(16)}var mt=17e11;function gt(e={}){const t=e.timestamp||mt,n=He({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||dt(),trigger:"test",entity:"entity",action:"action",timestamp:t,timing:3.14,source:{type:"collector",schema:"4"}},e,{merge:!1});if(n.source={count:1,trace:"0a1b2c3d4e5f60718293a4b5c6d7e8f9",...n.source},e.name){const[t,r]=e.name.split(" ")??[];t&&r&&(n.entity=t,n.action=r)}return n}function ht(e="entity action",t={}){const n=t.timestamp||mt,r=t.id||it(e),o={data:{id:"ers",name:"Everyday Ruck Snack",color:"black",size:"l",price:420}},s={data:{id:"cc",name:"Cool Cap",size:"one size",price:42}};return gt({...{"entity action":{},"cart view":{data:{currency:"EUR",value:2*o.data.price},context:{shopping:["cart",0]},globals:{pagegroup:"shop"},nested:[{entity:"product",data:{...o.data,quantity:2},context:{shopping:["cart",0]},nested:[]}],trigger:"load"},"checkout start":{data:{currency:"EUR",value:o.data.price+s.data.price},context:{shopping:["checkout",0]},globals:{pagegroup:"shop"},nested:[{entity:"product",...o,context:{shopping:["checkout",0]},nested:[]},{entity:"product",...s,context:{shopping:["checkout",0]},nested:[]}],trigger:"load"},"order complete":{data:{id:"0rd3r1d",currency:"EUR",value:o.data.price+s.data.price,tax:73.76,shipping:5.22,total:467.22},context:{shopping:["complete",0]},globals:{pagegroup:"shop"},nested:[{entity:"product",...o,context:{shopping:["complete",0]},nested:[]},{entity:"product",...s,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":{data:{...o.data,quantity:1,currency:"EUR"},context:{shopping:["intent",0]},globals:{pagegroup:"shop"},nested:[],trigger:"click"},"product view":{data:{...o.data,currency:"EUR"},context:{shopping:["detail",0]},globals:{pagegroup:"shop"},nested:[],trigger:"load"},"product visible":{data:{...o.data,position:3,list:"Related products",promo:!0},context:{shopping:["discover",0]},globals:{pagegroup:"shop"},nested:[],trigger:"load"},"promotion visible":{data:{id:"promo_autumn26",name:"Setting up tracking easily",slot:"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,id:r})}function yt(){return pt(32)}var vt=/^(?<version>[0-9a-f]{2})-(?<trace>[0-9a-f]{32})-(?<span>[0-9a-f]{16})-[0-9a-f]{2}$/;function bt(e){if("string"!=typeof e)return;const t=vt.exec(e)?.groups;if(!t)return;const{version:n,trace:r,span:o}=t;return void 0===n||void 0===r||void 0===o||"ff"===n||/^0+$/.test(r)||/^0+$/.test(o)?void 0:{trace:r,parentSpan:o}}var wt=[{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 kt(e,t={},n=[]){const r={};Object.entries(He({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(wt.map(e=>e.param));return[...wt.map(e=>t.has(e.param)?{param:e.param,platform:t.get(e.param)}:e),...e.filter(e=>!n.has(e.param))]}(n):wt,s=new Map;e.searchParams.forEach((e,t)=>{e&&s.set(t.toLowerCase(),e)});for(const e of o){const t=s.get(e.param);t&&(r[e.param]=t,r.clickId||(r.clickId=e.param,r.platform=e.platform))}return r}function $t(e,t){return"number"==typeof e?{wait:e}:e?{wait:e.wait??t,size:e.size,age:e.age}:{wait:t}}function Et(e,t=1e3,n=!1){const{wait:r,size:o,age:s}=$t(t,1e3);let i,a,c=null,u=null,f=!1,l=[],p=0;const d=()=>{c&&(clearTimeout(c),c=null),u&&(clearTimeout(u),u=null),p=0,a=void 0},m=()=>{const t=a,n=l;if(d(),l=[],t)return i=e(...t),n.forEach(e=>e(i)),i;n.forEach(e=>e(void 0))},g=(...t)=>new Promise(d=>{const g=n&&!f;if(a=t,p+=1,l.push(d),c&&clearTimeout(c),c=setTimeout(()=>{c=null,n&&!f||m()},r),void 0===s||u||(u=setTimeout(()=>{u=null,m()},s)),void 0!==o&&p>=o)m();else if(g){f=!0,i=e(...t);const n=l;l=[],n.forEach(e=>e(i))}});return g.flush=()=>a||0!==l.length?new Promise(e=>{l.push(e),m()}):Promise.resolve(i),g.cancel=()=>{const e=l;l=[],d(),i=void 0,e.forEach(e=>e(void 0))},g.size=()=>p,g}function St(e,t=1e3){const{wait:n}=$t(t,1e3);let r=null;return function(...t){if(null===r)return r=setTimeout(()=>{r=null},n),e(...t)}}function Ot(e){const t={message:e.message,name:e.name,stack:e.stack},n="cause"in e?function(e){if("object"!=typeof e||null===e)return;const t={};return"name"in e&&"string"==typeof e.name&&(t.name=e.name),!("code"in e)||"string"!=typeof e.code&&"number"!=typeof e.code||(t.code=e.code),t}(e.cause):void 0;return n&&(t.cause=n),t}function jt(e,t){let n,r={};return e instanceof Error?(n=e.message,r.error=Ot(e)):n=e,void 0!==t&&(t instanceof Error?r.error=Ot(t):"object"==typeof t&&null!==t?(r={...r,...t},"error"in r&&r.error instanceof Error&&(r.error=Ot(r.error))):r.value=t),{message:n,context:r}}var It=(e,t,n,r)=>{const o=`${h[e]}${r.length>0?` [${r.join(":")}]`:""}`,s=Object.keys(n).length>0,i=0===e?console.error:1===e?console.warn:console.log;s?i(o,t,n):i(o,t)};function At(e={}){return xt({level:void 0!==e.level?function(e){return"string"==typeof e?h[e]:e}(e.level):0,handler:e.handler,jsonHandler:e.jsonHandler,scope:[]})}function xt(e){const{level:t,handler:n,jsonHandler:r,scope:o}=e,s=(e,r,s)=>{if(e<=t){const t=jt(r,s);n?n(e,t.message,t.context,o,It):It(e,t.message,t.context,o)}};return{error:(e,t)=>s(0,e,t),warn:(e,t)=>s(1,e,t),info:(e,t)=>s(2,e,t),debug:(e,t)=>s(3,e,t),throw:(e,t)=>{throw new Error(jt(e,t).message)},json:e=>{r?r(e):console.log(JSON.stringify(e,null,2))},scope:e=>xt({level:t,handler:n,jsonHandler:r,scope:[...o,e]})}}function _t(e){return ce(e)||he(e)||de(e)||!fe(e)||ae(e)&&e.every(_t)||me(e)&&Object.values(e).every(_t)}function Mt(e){return ce(e)||he(e)||de(e)?e:ie(e)?Mt(Array.from(e)):ae(e)?e.map(e=>Mt(e)).filter(e=>void 0!==e):me(e)?Object.entries(e).reduce((e,[t,n])=>{const r=Mt(n);return void 0!==r&&(e[t]=r),e},{}):void 0}function Rt(e){return _t(e)?e:void 0}function Nt(e,t,n){return function(...r){try{return e(...r)}catch(e){if(!t)return;return t(e)}finally{n?.()}}}function Tt(e,t,n){return async function(...r){try{return await e(...r)}catch(e){if(!t)return;return await t(e)}finally{await(n?.())}}}function Ct(e,t){Object.defineProperty(e,"cause",{value:t,writable:!0,configurable:!0})}var Pt=class e extends Error{constructor(t,n){super(t),this.name="FatalError",n&&"cause"in n&&Ct(this,n.cause),Object.setPrototypeOf(this,e.prototype)}},Ft=["transport","timeout","breaker-open","blocked","queue-full","vendor-not-ready","vendor-timeout"],Lt=300;var Dt=class extends Error{code;status;retryable;body;constructor(e,t){super(e),void 0!==t.cause&&Ct(this,t.cause),this.name="StepError",this.code=t.code,void 0!==t.status&&(this.status=t.status),this.retryable=function(e){if(void 0!==e.retryable)return e.retryable;const{status:t}=e;if(void 0!==t){if(429===t||t>=500&&t<600)return!0;if(t>=400&&t<500)return!1}return Ft.includes(e.code)}(t),void 0!==t.body&&(this.body=t.body),Object.setPrototypeOf(this,new.target.prototype)}};async function Kt(e,t,n){try{return await e()}catch(e){if(e instanceof Dt)throw e;throw new Dt(n,{code:t,cause:e})}}function zt(e){return e.length>Lt?e.slice(0,Lt):e}function Ut(e){if(e instanceof Dt){const t={code:e.code,message:zt(e.message),retryable:e.retryable};return void 0!==e.status&&(t.status=e.status),t}return{code:"transport",message:zt(e instanceof Error?e.message:String(e)),retryable:!0}}function Wt(e){const t=e instanceof Error?e.message:"Network error",n=e instanceof Error&&"cause"in e?e.cause:void 0,r="object"==typeof n&&null!==n&&"code"in n&&"string"==typeof n.code?n.code:void 0;return r?`${t} (${r})`:t}var Vt=["type","mappingKey"],qt=["count","suppressed"];function Bt(e,t){const n={step:e.step,code:e.code};void 0!==e.status&&(n.status=e.status);for(const e of Vt)"string"==typeof t[e]&&(n[e]=t[e]);for(const e of qt)"number"==typeof t[e]&&(n[e]=t[e]);"boolean"==typeof t.retryable&&(n.retryable=t.retryable);const r="string"==typeof(o=t.event)?o:me(o)&&"string"==typeof o.name?o.name:void 0;var o;void 0!==r&&(n.event=r);const s=function(e){if(void 0!==e)return"string"==typeof e?zt(e):e instanceof Error||me(e)&&"string"==typeof e.message?zt(e.message):zt(String(e))}(t.error);return void 0!==s&&(n.error=s),n}function Zt(e,t){const n=function({step:e,code:t}){const[n,...r]=e.split("."),o=r.join(".");return"dlq-overflow"===t?`status.dropped["${e}"].dlq`:"on-overflow"===t?`status.dropped["${e}"].queue`:"consent-not-applied"!==t&&"store"!==n&&"mapping"!==n?"destination"===n&&o?`status.destinations.${o}.failed`:"invalid"===t?"source"===n&&o?`status.sources.${o}.rejected`:void 0:"status.failed":void 0}(e);return n?`${t} (repeats within a minute are counted in ${n})`:t}function Ht(e,t={}){const{windowMs:n=6e4,maxKeys:r=100,now:o=Date.now}=t,s=new Map,i=(t,n,r)=>{"warn"===t?e.warn(n,r):e.error(n,r)};return{report(e,t,a,c="error"){const u=`${e.step}\0${e.code}\0${e.status??""}`,f=Bt(e,a),l=s.get(u),p=o();if(!l)return s.size<r&&s.set(u,{start:p,suppressed:0,message:t,context:f,level:c}),void i(c,Zt(e,t),f);if(p-l.start<n)return void l.suppressed++;const d=l.suppressed;l.start=p,l.suppressed=0,l.message=t,l.context=f,l.level=c,i(c,Zt(e,t),d>0?{...f,suppressed:d}:f)},flush(){for(const e of s.values()){if(0===e.suppressed)continue;const t=e.suppressed;e.suppressed=0,i(e.level,e.message,{...e.context,suppressed:t})}},size:()=>s.size}}function Jt(e,t,n,r,o,s="error"){if(e?.causeLog)return void e.causeLog.report(n,r,o,s);const i=Bt(n,o);"warn"===s?t.warn(r,i):t.error(r,i)}var Gt=["condition","consent","fn","key","loop","map","set","validate","value"];function Yt(e,t,n,r){const o=e.event.name,s=t?.mappingKey?`mapping.${t.mappingKey}`:"mapping";Jt(e.collector,e.logger,{step:s,code:"mapping"},n,{..."string"==typeof o?{event:o}:{},...t?.mappingKey?{mappingKey:t.mappingKey}:{},...void 0!==r?{error:r}:{}})}async function Xt(e,t={},n,r){if(!n.collector)throw new Error("getMappingValue: context.collector is required");const o=n.consent||n.collector.consent,s={event:n.event??{},mapping:t,collector:n.collector,logger:n.collector.logger,consent:o},i=ae(t)?t:[t];for(const t of i){const n=await Tt(Qt,e=>{if(e instanceof Pt)throw e;Yt(s,r,"mapping value failed",e)})(e,t,{...s,mapping:t},r);if(fe(n))return n}}async function Qt(e,t,n,r){return(ae(t)?t:[t]).reduce(async(t,o)=>{const s=await t;if(s)return s;const i=he(o)?{key:o}:o;if(!Object.keys(i).length)return;if(!Gt.some(e=>e in i))return void Yt({...n,mapping:o},r,`mapping value has no operator (${Object.keys(i).join(", ")}): wrap the fields in map, or use key, value, fn, loop or set`);const{condition:a,consent:c,fn:u,key:f,loop:l,map:p,set:d,validate:m,value:g}=i,h={...n,mapping:o};if(a&&!await Tt(a,e=>{if(e instanceof Pt)throw e;return Yt(h,r,"mapping condition failed",e),!1})(e,h))return;if(c&&!rt(c,h.consent))return g;let y=fe(g)?g:e;if(l){const[t,n]=l,o="this"===t?[e]:await Xt(e,t,h,r);y=ae(o)?(await Promise.all(o.map(e=>fe(e)?Xt(e,n,h,r):void 0))).filter(fe):void 0}else p?y=await Object.entries(p).reduce(async(t,[n,o])=>{const s=await t,i=await Xt(e,o,h,r);return fe(i)&&(s[n]=i),s},Promise.resolve({})):d?y=await Promise.all(d.map(t=>Qt(e,t,h,r))):f?y=Ge(e,f,g):u&&(y=await Tt(u,e=>{if(e instanceof Pt)throw e;Yt(h,r,"mapping fn failed",e)})(e,h));m&&!await Tt(m,e=>{if(e instanceof Pt)throw e;return Yt(h,r,"mapping validate failed",e),!1})(y,h)&&(y=void 0);const v=Rt(y);return fe(v)?v:Rt(g)},Promise.resolve(void 0))}function en(e){return e instanceof Error?e.message:String(e)}async function tn(e,t,n){const[r,o]=(e.name||"").split(" ");if(!t||!r||!o)return{};const s=(e,t)=>{if(e instanceof Pt)throw e;throw new Dt(`mapping rule condition failed at "${t}": ${en(e)}`,{code:"mapping",retryable:!1,cause:e})},i=(t,r)=>{const{condition:o}=t;if(!o)return!0;let i;try{i=o(e,n?{event:e,mapping:t,collector:n,logger:n.logger,consent:me(e)&&e.consent||n.consent}:void 0)}catch(e){return s(e,r)}return pe(i)?Promise.resolve(i).then(Boolean,e=>s(e,r)):Boolean(i)},a=(e,t,n=0)=>{if(!t)return;const r=ae(t)?t:[t];for(let t=n;t<r.length;t++){const n=r[t],o=i(n,e);if("boolean"!=typeof o)return c(o,n,e,r,t);if(o)return n}},c=async(e,t,n,r,o)=>await e?t:a(n,r,o+1),u=[];for(const e of[[r,o],[r,"*"],["*",o],["*","*"]])u.some(([t,n])=>t===e[0]&&n===e[1])||u.push([e[0],e[1]]);const f=e=>{for(let n=e;n<u.length;n++){const[e,r]=u[n],o=t[e]?.[r];if(!o)continue;const s=`${e} ${r}`,i=a(s,o);if(pe(i))return Promise.resolve(i).then(e=>e?{eventMapping:e,mappingKey:s}:f(n+1));if(i)return{eventMapping:i,mappingKey:s}}return{eventMapping:void 0,mappingKey:""}},l=f(0);return pe(l)?await l:l}async function nn(e,t={},n){return rn(e,t,n)}async function rn(e,t,n,r){if(!fe(e))return;const o=me(e)&&e.consent||n?.consent||n?.collector?.consent,s=n?.event??(me(e)?e:{});return Xt(e,t,{...n,consent:o,event:s},r)}async function on(e,t,n){t.policy&&await Promise.all(Object.entries(t.policy).map(async([t,r])=>{const o=await nn(e,r,{collector:n,event:e});e=Ye(e,t,o)}));const{eventMapping:r,mappingKey:o}=await tn(e,t.mapping,n),s=o?{mappingKey:o}:void 0;r?.policy&&await Promise.all(Object.entries(r.policy).map(async([t,r])=>{const o=await rn(e,r,{collector:n,event:e},s);e=Ye(e,t,o)}));let i=t.data&&await rn(e,t.data,{collector:n,event:e},s);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 rn(e,r.data,{collector:n,event:e},s);i=me(i)&&me(t)?He(i,t):t}}const c=r?.include??t.include;if(c&&c.length>0){const t=tt(e,c);Object.keys(t).length>0&&(i=me(i)?He(t,i):i??t)}if(r?.remove&&me(i))for(const e of r.remove)i=Xe(i,e);return{event:e,data:i,mapping:r,mappingKey:o,ignore:!1,silent:a}}function sn(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];me(r)&&me(o)?sn(o,r):e[n]=r}return e}function an(e,t){if(void 0===t.extend&&void 0===t.remove)return Je(t);const n={...Je(e)};if(t.extend){sn(n,{...t.extend})}return delete n.extend,t.remove?n.remove=[...t.remove]:delete n.remove,n}function cn(e,t){const n=(e,r=[])=>new Proxy(e,{get(e,o){const s=e[o],i=[...r,o];return"function"==typeof s?s.prototype&&s.prototype.constructor===s?s:(...e)=>{const r=t(i,e,s);if(r&&"object"==typeof r)return n(r,i);const o=s(...e);return o&&"object"==typeof o?n(o,i):r}:s&&"object"==typeof s?n(s,i):s}});return n(e)}function un(e,t){const n=(e,r=[])=>{if(!e||"object"!=typeof e)return e;const o=Array.isArray(e)?[]:{};for(const[s,i]of Object.entries(e)){const e=[...r,s];Array.isArray(o)?o[Number(s)]=t(i,e):o[s]=t(i,e),i&&"object"==typeof i&&"function"!=typeof i&&(Array.isArray(o)?o[Number(s)]=n(i,e):o[s]=n(i,e))}return o};return n(e)}function fn(){const e=[],t=jest.fn(e=>{const t=e instanceof Error?e.message:e;throw new Error(t)}),n=jest.fn(t=>{const n=fn();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 ln(e={}){return{collector:{},config:{},env:{},logger:fn(),id:"test",ingest:T("test"),...e}}function pn(e){const t=String(e),n=t.split("?")[1]||t;return Nt(()=>{const e=new URLSearchParams(n),t={};return e.forEach((e,n)=>{const r=n.split(/[[\]]+/).filter(Boolean);let o=t;r.forEach((t,n)=>{const s=n===r.length-1;if(ae(o)){const i=parseInt(t,10);s?o[i]=nt(e):(o[i]=o[i]||(isNaN(parseInt(r[n+1],10))?{}:[]),o=o[i])}else me(o)&&(s?o[t]=nt(e):(o[t]=o[t]||(isNaN(parseInt(r[n+1],10))?{}:[]),o=o[t]))})}),t})()}function dn(e){if(!e)return"";const t=[],n=encodeURIComponent;function r(e,o){null!=o&&(ae(o)?o.forEach((t,n)=>r(`${e}[${n}]`,t)):me(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 mn(e){return void 0===e||ge(e,"")?e:JSON.stringify(e)}function gn(e={}){return He({"Content-Type":"application/json; charset=utf-8"},e)}function hn(e,t){return!1===e||void 0===e?null:!0===e?t:{...t,...e}}function yn(e){return e?e.trim().replace(/^'|'$/g,"").trim():""}var vn=class e extends Error{constructor(t){super(t),this.name="InvalidEventError",Object.setPrototypeOf(this,e.prototype)}},bn=1e4;function wn(e){return"number"==typeof e&&e>0?e:bn}function kn(e,t,n,r){const o=e;return function(...e){let s;const i="pre"+t,a="post"+t,c=n[i],u=n[a],f=(e,t)=>{r?r.warn(e,{error:t}):console.warn(e,t)};if(c)try{s=c({fn:o},...e)}catch(t){f(`Hook ${String(i)} failed, falling back to original function`,t),s=o(...e)}else s=o(...e);if(u)try{s=u({fn:o,result:s},...e)}catch(e){f(`Hook ${String(a)} failed, keeping original result`,e)}return s}}function $n(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 En(e,t){const n="function"==typeof t?t:()=>t;return function(t){const r=n();if(!r)return;const o=r.level??"standard";if("off"===o)return;const s=r.sample,i="number"==typeof s&&Number.isFinite(s)?s:1;if(t.eventId&&!$n(t.eventId,i))return;const a=r.includeIn??"trace"===o,c=r.includeOut??"trace"===o,u=r.includeMappingKey??"trace"===o,f={...t};a||delete f.inEvent,c||(delete f.outEvent,delete f.calls),u||delete f.mappingKey,"trace"!==o&&f.error?.message&&f.error.message.length>256&&(f.error={...f.error,message:f.error.message.slice(0,256)+"…"});try{e(f)}catch{}}}function Sn(e,t){return $n(e,t)}function On(e){const t=e.now??(()=>Date.now()),{traceUntil:n}=e;if("string"==typeof n&&n.length>0){const r=Date.parse(n);if(!Number.isNaN(r)&&r>t())return{flowId:e.flowId,level:"trace",includeIn:!0,includeOut:!0,sample:1}}const r=e.observe?.level??"standard";if("off"===r)return null;const o=e.observe?.sample??1;return{flowId:e.flowId,level:r,sample:o}}var jn=/^[A-Za-z0-9_-]+$/;function In(e){if(!jn.test(e))return null;const t=e.length%4==0?"":"=".repeat(4-e.length%4),n=e.replace(/-/g,"+").replace(/_/g,"/")+t;try{const e=atob(n),t=new Uint8Array(e.length);for(let n=0;n<e.length;n++)t[n]=e.charCodeAt(n);return t}catch{return null}}function An(e){const t=new Uint8Array(e.length);for(let n=0;n<e.length;n++)t[n]=e.charCodeAt(n);return t}function xn(e){const t=In(e);if(!t)return null;const n=function(e){let t="";for(let n=0;n<e.length;n++){const r=e[n];if(void 0===r||r>127)return null;t+=String.fromCharCode(r)}return t}(t);if(null===n)return null;try{return JSON.parse(n)}catch{return null}}function _n(e){return"object"==typeof e&&null!==e&&!Array.isArray(e)}function Mn(e){if(!e)return null;const t=e.split("."),[n,r,o]=t;if(3!==t.length||!n||!r||!o)return null;const s=xn(n);if(!_n(s))return null;const i=s.kid,a=s.alg;if("string"!=typeof i||"ES256"!==a)return null;const c=xn(r);if(!function(e){if(!_n(e))return!1;const t=e;return"string"==typeof t.iss&&Array.isArray(t.aud)&&t.aud.every(e=>"string"==typeof e)&&"number"==typeof t.iat&&"number"==typeof t.sxp&&"string"==typeof t.art&&jn.test(t.art)&&"string"==typeof t.sri&&"string"==typeof t.pb&&"activate"===t.cap&&"string"==typeof t.jti&&"string"==typeof t.pid&&(void 0===t.ses||"string"==typeof t.ses)&&(void 0===t.sb||"string"==typeof t.sb)}(c))return null;const u=In(o);return u&&64===u.byteLength?{grant:c,kid:i,signed:An(`${n}.${r}`),signature:u}:null}var Rn=9e5,Nn=6e4,Tn=39e5;async function Cn(e,t){const n=Mn(e);if(!n)return{ok:!1,reason:"malformed"};const{grant:r,kid:o,signed:s,signature:i}=n;if(r.iss!==t.iss)return{ok:!1,reason:"foreign-issuer"};if("activate"!==r.cap)return{ok:!1,reason:"cap-mismatch"};if(1e3*r.iat>t.now+Nn)return{ok:!1,reason:"expired"};if(1e3*r.sxp-1e3*r.iat>Tn)return{ok:!1,reason:"expired"};const a="url"===t.source?Math.min(1e3*r.iat+Rn,1e3*r.sxp):1e3*r.sxp;if(t.now>=a)return{ok:!1,reason:"expired"};if(void 0!==t.origin&&!r.aud.includes(t.origin))return{ok:!1,reason:"aud-mismatch"};if(t.acceptForeign){const e=t.demoAllowlist??[];if(1!==r.aud.length||!r.aud.every(t=>e.includes(t)))return{ok:!1,reason:"aud-mismatch"}}if(!(t.acceptForeign||t.pb&&r.pb===t.pb))return{ok:!1,reason:"pb-mismatch"};const c=void 0!==r.ses||void 0!==r.sb;if(t.expectSession){if(r.ses!==t.expectSession.ses)return{ok:!1,reason:"sb-mismatch"};if(!r.sb||r.sb!==t.expectSession.sb)return{ok:!1,reason:"sb-mismatch"}}else if(c)return{ok:!1,reason:"sb-mismatch"};const u=t.keyring.find(e=>e.kid===o);if(!u)return{ok:!1,reason:"kid-mismatch"};const f=t.crypto??("undefined"==typeof crypto?void 0:crypto),l=f?.subtle;if(!l)return{ok:!1,reason:"no-subtle"};const p=function(e){return In(e)}(u.spki);if(!p)return{ok:!1,reason:"kid-mismatch"};try{const e=await l.importKey("spki",p,{name:"ECDSA",namedCurve:"P-256"},!1,["verify"]);if(!await l.verify({name:"ECDSA",hash:"SHA-256"},e,i,s))return{ok:!1,reason:"bad-signature"}}catch{return{ok:!1,reason:"bad-signature"}}return{ok:!0,grant:r}}var Pn="elbObserve",Fn="elbMoin",Ln={app:"https://app.walkeros.io",base:"https://cdn.walkeros.io/tag-mode/"},Dn=15e3,Kn={error:5,skip:4,out:3,in:2,init:1,flush:0},zn="\0none",Un="\0";function Wn(e,t){return`${e??zn}${Un}${t}`}function Vn(e){const t=Date.parse(e);return Number.isNaN(t)?0:t}function qn(e){return""!==e.eventId?e.eventId:function(e){if("object"!=typeof e||null===e)return;if(!("event"in e))return;const t=e.event;if("object"!=typeof t||null===t)return;if(!("id"in t))return;const n=t.id;return"string"==typeof n&&""!==n?n:void 0}(e.outEvent)}function Bn(e,t){let n=t;for(;;){const t=e.get(n);if(void 0===t||t===n)break;n=t}let r=t;for(;r!==n;){const t=e.get(r);if(e.set(r,n),void 0===t)break;r=t}return n}function Zn(e,t,n){const r=Bn(e,t),o=Bn(e,n);r!==o&&(r<o?e.set(o,r):e.set(r,o))}function Hn(e){for(const t of e)if(t.traceId)return t.traceId}function Jn(e){switch(e){case"error":return"error";case"skip":return"skipped";case"out":return"done";case"in":case"init":case"flush":return"pending"}}function Gn(e){return"out"===e.terminalPhase||"error"===e.terminalPhase||"skip"===e.terminalPhase||!0===e.batched}function Yn(e){return"done"===e.status&&("transformer"!==e.stepType||null!==e.out&&void 0!==e.out)}function Xn(e,t,n,r){const o=n.get(Wn(e.node.platform,t));if(void 0!==o)return o;const s=r.get(t);return void 0!==s&&1===s.length?s[0]:void 0}function Qn(e){const t=new Map,n=new Map;e.nodes.forEach((e,r)=>{const o={node:e,rank:r,key:Wn(e.platform,e.stepId)};t.has(o.key)||t.set(o.key,o);const s=n.get(e.stepId);s?s.push(o):n.set(e.stepId,[o])});const r=new Map,o=new Set;for(const e of t.values()){const s=[];for(const r of e.node.downstream){const i=Xn(e,r,t,n);void 0!==i&&(s.push(i),o.add(i.key))}r.set(e.key,s)}const s=[];for(const e of t.values())o.has(e.key)||s.push(e);return s.sort((e,t)=>e.rank-t.rank),{byKey:t,byStepId:n,edges:r,roots:s}}function er(e,t,n){const r=e.byKey.get(Wn(n,t));if(void 0!==r)return r;const o=e.byKey.get(Wn(void 0,t));if(void 0!==o)return o;const s=e.byStepId.get(t);return void 0!==s&&1===s.length?s[0]:void 0}function tr(e,t,n,r,o,s){return s-n<o?"pending":void 0!==r?function(e,t,n){const r=t=>e.find(e=>e.stepId===t.node.stepId&&(void 0===t.node.platform||e.platform===t.node.platform)),o=n.roots.filter(e=>void 0===e.node.platform||t.includes(e.node.platform));if(0===o.length)return e.every(Gn)?"complete":"partial";const s=new Map,i=o;for(;i.length>0;){const e=i.shift();if(void 0===e)break;if(s.has(e.key))continue;s.set(e.key,e);const t=r(e);if(void 0!==t&&Yn(t)){const t=n.edges.get(e.key);if(void 0!==t)for(const e of t)s.has(e.key)||i.push(e)}}for(const e of s.values()){const t=r(e);if(void 0===t||!Gn(t))return"partial"}return"complete"}(e,t,r):e.every(Gn)?"complete":"partial"}function nr(e){let t=e[0];for(const n of e)n.elapsedMs<t.elapsedMs&&(t=n);const n=[],r=new Map;let o=!1;for(const t of e)if("flush"!==t.phase){if(void 0!==t.branchId){const e=r.get(t.branchId);e?e.push(t):r.set(t.branchId,[t]);continue}n.push(t)}else o=!0;const s=[...r.values()].flat(),i=n.length>0?n:s.length>0?s:e;let a,c,u,f,l,p,d,m,g,h,y=i[0],v=i[0];for(const e of i)e.elapsedMs<y.elapsedMs&&(y=e),Kn[e.phase]>Kn[v.phase]&&(v=e),"out"===e.phase&&(a=e),void 0!==e.inEvent&&void 0===c&&(c=e.inEvent),void 0!==e.outEvent&&(u=e.outEvent),void 0!==e.mappingKey&&(f=e.mappingKey),void 0!==e.contractRule&&(l=e.contractRule),void 0!==e.consent&&(p=e.consent),void 0!==e.consentApplied&&(d=e.consentApplied),void 0!==e.meta&&(m=e.meta),void 0!==e.parentEventId&&void 0===g&&(g=e.parentEventId),void 0!==e.release&&(h=e.release);const b=v.phase,w=a?.durationMs,k="error"===b?v.error:void 0,$="skip"===b?v.skipReason:void 0,E=a?.calls,S="out"===v.phase&&void 0!==v.batch||void 0,O=!(!o||!0!==S)||void 0,j=r.size>0?[...r.entries()].sort(([e],[t])=>e<t?-1:e>t?1:0).map(([e,t])=>function(e,t){let n,r,o=t[0];for(const e of t)Kn[e.phase]>Kn[o.phase]&&(o=e),"out"===e.phase&&(n=e),void 0!==e.outEvent&&(r=e.outEvent);const s=o.phase,i=n?.durationMs,a="skip"===s?o.skipReason:void 0,c="error"===s?o.error:void 0,u=n?.calls;return{branchId:e,status:Jn(s),terminalPhase:s,...void 0!==i?{durationMs:i}:{},...void 0!==a?{skipReason:a}:{},...void 0!==c?{error:c}:{},...void 0!==r?{out:r}:{},...void 0!==u?{calls:u}:{}}}(e,t)):void 0;return{stepId:y.stepId,stepType:y.stepType,eventId:y.eventId,status:Jn(b),terminalPhase:b,startedAtMs:t.elapsedMs,timestamp:t.timestamp,...void 0!==y.platform?{platform:y.platform}:{},...void 0!==g?{parentEventId:g}:{},...void 0!==w?{durationMs:w}:{},...void 0!==c?{in:c}:{},...void 0!==u?{out:u}:{},...void 0!==k?{error:k}:{},...void 0!==$?{skipReason:$}:{},...void 0!==f?{mappingKey:f}:{},...void 0!==l?{contractRule:l}:{},...void 0!==p?{consent:p}:{},...void 0!==d?{consentApplied:d}:{},...void 0!==E?{calls:E}:{},...void 0!==j?{branches:j}:{},...void 0!==S?{batched:S}:{},...void 0!==O?{flushConfirmed:O}:{},...void 0!==h?{release:h}:{},...void 0!==m?{meta:m}:{}}}function rr(e,t){const n=e.map(e=>({hop:e,rank:void 0!==t?er(t,e.stepId,e.platform)?.rank??Number.MAX_SAFE_INTEGER:0}));return n.sort((e,t)=>e.rank!==t.rank?e.rank-t.rank:e.hop.startedAtMs!==t.hop.startedAtMs?e.hop.startedAtMs-t.hop.startedAtMs:e.hop.stepId<t.hop.stepId?-1:e.hop.stepId>t.hop.stepId?1:0),n.map(e=>e.hop)}function or(e){const t=e.filter(e=>"collector"===e.stepType&&"in"===e.phase),n=t.length>0?t:e;let r=n[0],o=Vn(r.timestamp);for(const e of n){const t=Vn(e.timestamp);t<o&&(o=t,r=e)}const s=function(e){if("object"==typeof e&&null!==e&&"name"in e&&"string"==typeof e.name)return e.name}(r.inEvent);return{eventId:r.eventId,timestamp:r.timestamp,...void 0!==s?{name:s}:{},...void 0!==r.sourceId?{sourceId:r.sourceId}:{},...void 0!==r.platform?{platform:r.platform}:{}}}function sr(e,t,n,r,o){const{topo:s}=o,i=new Map;for(const e of n){const t=Wn(e.platform,e.stepId),n=i.get(t);n?n.push(e):i.set(t,[e])}const a=[...i.values()].map(nr),c=new Map;for(const e of a){const t=e.platform??zn;let n=c.get(t);n||(n={...void 0!==e.platform?{platform:e.platform}:{},hops:[],ownedEventIds:new Set,parentEventIds:new Set,minEpoch:Number.POSITIVE_INFINITY},c.set(t,n)),n.hops.push(e),n.ownedEventIds.add(e.eventId),void 0!==e.parentEventId&&n.parentEventIds.add(e.parentEventId),n.minEpoch=Math.min(n.minEpoch,Vn(e.timestamp))}const u=function(e){const t=new Map,n=e.map((e,t)=>t).sort((t,n)=>{const r=e[t].platform??zn,o=e[n].platform??zn;return r<o?-1:r>o?1:0});e.forEach((r,o)=>{if(0!==r.parentEventIds.size)for(const s of n){if(s===o)continue;let n=!1;for(const t of e[s].ownedEventIds)if(r.parentEventIds.has(t)){n=!0;break}if(n){t.set(o,s);break}}});const r=e=>{let n=0,r=e;const o=new Set;for(;!o.has(r);){o.add(r);const e=t.get(r);if(void 0===e)break;r=e,n+=1}return n};return e.map((e,t)=>({seg:e,i:t,depth:r(t)})).sort((e,t)=>{if(e.depth!==t.depth)return e.depth-t.depth;if(e.seg.minEpoch!==t.seg.minEpoch)return e.seg.minEpoch-t.seg.minEpoch;const n=e.seg.platform??zn,r=t.seg.platform??zn;return n<r?-1:n>r?1:0}).map(e=>e.seg)}([...c.values()]),f=[],l=[];for(const e of u){void 0===e.platform||l.includes(e.platform)||l.push(e.platform);for(const t of rr(e.hops,s))f.push(t)}let p=Number.POSITIVE_INFINITY,d=Number.NEGATIVE_INFINITY;for(const e of n){const t=Vn(e.timestamp);t<p&&(p=t),t>d&&(d=t)}const m=tr(f,l,d,s,o.settleMs,o.now),g=function(e,t,n,r){for(const o of r)if((void 0===o.platform||e.includes(o.platform))&&t<=o.toMs&&o.fromMs<=n)return!0;return!1}(l,p,d,o.gaps);return{id:e,correlation:"event",...void 0!==t?{traceId:t}:{},entry:or(r),hops:f,platforms:l,status:m,lossy:g,firstTimestamp:p,lastTimestamp:d,totalMs:d-p}}function ir(e,t){const n={...void 0!==t?.topology?{topo:Qn(t.topology)}:{},settleMs:t?.settleMs??Dn,now:t?.now??Date.now(),gaps:[]},r=function(e){const t=new Set,n=[];for(const r of e){const e=void 0!==r.seq&&r.traceId?`seq${Un}${r.platform??""}${Un}${r.traceId}${Un}${r.seq}`:void 0!==r.seq?`seqt${Un}${r.platform??""}${Un}${r.stepId}${Un}${r.phase}${Un}${r.eventId}${Un}${r.branchId??""}${Un}${r.elapsedMs}${Un}${r.timestamp}${Un}${r.seq}`:`tuple${Un}${r.platform??""}${Un}${r.stepId}${Un}${r.phase}${Un}${r.eventId}${Un}${r.branchId??""}${Un}${r.elapsedMs}`;t.has(e)||(t.add(e),n.push(r))}return n}(e);n.gaps=function(e){const t=new Map;for(const n of e){if(void 0===n.seq)continue;const e=n.platform??zn,r=t.get(e);r?r.push(n):t.set(e,[n])}const n=[];for(const e of[...t.keys()].sort()){const r=t.get(e);if(void 0===r)continue;const o=[...r].sort((e,t)=>{const n=Vn(e.timestamp),r=Vn(t.timestamp);return n!==r?n-r:(e.seq??0)-(t.seq??0)});let s,i=0;for(const e of o){const t=e.seq;if(void 0!==t)if(void 0!==s){if(t!==i)if(t!==i+1){if(t>i+1){const r=e.platform;n.push({...void 0!==r?{platform:r}:{},fromMs:Vn(s.timestamp),toMs:Vn(e.timestamp),afterSeq:i,beforeSeq:t})}s=e,i=t}else s=e,i=t}else s=e,i=t}}return n}(r);const o=[],s=[];for(const e of r){const t=qn(e);void 0!==t?o.push({record:t===e.eventId?e:{...e,eventId:t},eventId:t}):s.push(e)}o.sort((e,t)=>function(e,t){const n=e.platform??"",r=t.platform??"";if(n!==r)return n<r?-1:1;if(e.stepId!==t.stepId)return e.stepId<t.stepId?-1:1;if(e.phase!==t.phase)return Kn[e.phase]-Kn[t.phase];if(e.eventId!==t.eventId)return e.eventId<t.eventId?-1:1;const o=e.branchId??"",s=t.branchId??"";if(o!==s)return o<s?-1:1;if(e.elapsedMs!==t.elapsedMs)return e.elapsedMs-t.elapsedMs;const i=e.seq??-1,a=t.seq??-1;return i!==a?i-a:e.timestamp!==t.timestamp?e.timestamp<t.timestamp?-1:1:0}(e.record,t.record));const i=new Set(o.map(e=>e.eventId)),a=new Map,c=new Map;for(const{record:e,eventId:t}of o){const n=e.parentEventId;if(void 0===n||n===t||!i.has(n))continue;const r=a.get(t);r?r.add(n):a.set(t,new Set([n]));const o=c.get(n);o?o.add(t):c.set(n,new Set([t]))}const u=new Map;for(const[e,t]of c)if(1===t.size)for(const n of t)Zn(u,n,e);const f=new Map;for(const e of o){const t=Bn(u,e.eventId);let n=f.get(t);n||(n={entries:[],eventIds:new Set},f.set(t,n)),n.entries.push(e),n.eventIds.add(e.eventId)}const l=[...f.values()].map(e=>{const t=function(e,t){const n=[...e].sort();for(const r of n){const n=t.get(r);if(void 0===n)return r;let o=!1;for(const t of n)if(e.has(t)){o=!0;break}if(!o)return r}return n[0]}(e.eventIds,a),r=e.entries.map(e=>e.record),o=e.entries.filter(e=>e.eventId===t).map(e=>e.record),s=Hn(o)??Hn(r);return sr(t,s,r,o,n)});l.sort((e,t)=>e.firstTimestamp!==t.firstTimestamp?e.firstTimestamp-t.firstTimestamp:e.id<t.id?-1:e.id>t.id?1:0);const p=function(e){const t=new Map;for(const n of e){if(!n.traceId)continue;const e=n.platform??zn,r=Vn(n.timestamp);let o=t.get(e);void 0===o&&(o={...void 0!==n.platform?{platform:n.platform}:{},count:0,fromMs:r,toMs:r,stepIds:new Set},t.set(e,o)),o.count+=1,r<o.fromMs&&(o.fromMs=r),r>o.toMs&&(o.toMs=r),o.stepIds.add(n.stepId)}return[...t.entries()].sort(([e],[t])=>e<t?-1:e>t?1:0).map(([,e])=>({...void 0!==e.platform?{platform:e.platform}:{},count:e.count,fromMs:e.fromMs,toMs:e.toMs,stepIds:[...e.stepIds].sort()}))}(s);return{journeys:l,gaps:n.gaps,...p.length>0?{unattributed:p}:{}}}var ar=null;function cr(){return ar}function ur(e){ar=e}function fr(e,t){if(0===e.observers.size)return;const n=Array.from(e.observers);for(const e of n)try{e(t)}catch{}}function lr(e){const t=e.batchMs,n="number"==typeof t&&Number.isFinite(t)&&t>0?Math.floor(t):50,r=e.batchSize,o="number"==typeof r&&Number.isFinite(r)&&r>=1?Math.floor(r):50,s=e.maxBodyBytes,i="number"==typeof s&&Number.isFinite(s)&&s>=1?Math.floor(s):6e4,a=e.fetch??((e,t)=>fetch(e,t)),c=e.onError??(()=>{}),u={};for(const[t,n]of Object.entries(e.headers??{})){const e=t.toLowerCase();"authorization"!==e&&"content-type"!==e&&(u[t]=n)}let f=[],l=null,p=0;function d(e){const t={v:1,records:e},n=JSON.stringify(t);if(e.length<=1)return[n];if(function(e){let t=0;for(let n=0;n<e.length;n++){const r=e.charCodeAt(n);if(r<128)t+=1;else if(r<2048)t+=2;else if(r>=55296&&r<=56319&&n+1<e.length){const r=e.charCodeAt(n+1);r>=56320&&r<=57343?(t+=4,n++):t+=3}else t+=3}return t}(n)<=i)return[n];const r=Math.floor(e.length/2);return[...d(e.slice(0,r)),...d(e.slice(r))]}function m(t){return Promise.resolve().then(()=>a(e.url,{method:"POST",headers:{...u,"Content-Type":"application/json",Authorization:`Bearer ${e.token}`},body:t})).then(t=>{t&&"object"==typeof t&&"number"==typeof t.status&&e.onStatus?.(t.status),t&&"object"==typeof t&&"ok"in t&&!t.ok&&c(new Error(`Observer responded ${t.status}`))}).catch(e=>{c(e)})}function g(){if(0===f.length)return;const e=f;f=[],l&&(clearTimeout(l),l=null);const t=d(e);(async()=>{for(const e of t)await m(e)})()}return e=>{f.push({...e,seq:++p}),f.length>=o?g():null===l&&(l=setTimeout(g,n))}}function pr(e){return e?{userAgent:e,browser:dr(e),browserVersion:mr(e),os:gr(e),osVersion:hr(e),deviceType:yr(e)}:{}}function dr(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 mr(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 gr(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 hr(e){const t=e.match(/(?:Windows NT|Mac OS X|Android|iPhone OS) ([0-9._]+)/);return t?t[1].replace(/_/g,"."):void 0}function yr(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}var vr=["elb","elbLayer","window","document","location","self","top","parent","frames","globalThis","__proto__","constructor","prototype"],br=/^[A-Za-z_$][A-Za-z0-9_$]*$/;function wr(e){return"string"!=typeof e?{ok:!1,reason:"is not a string"}:br.test(e)?vr.includes(e)?{ok:!1,reason:`is reserved (${vr.join(", ")})`}:{ok:!0,name:e}:{ok:!1,reason:"is not a JavaScript identifier (letters, digits, _ or $, not starting with a digit)"}}function kr(e){return function(e){return/\breturn\b/.test(e)}(e)?e:`return ${e}`}function $r(e){const t=kr(e);return new Function("value","context",t)}function Er(e){const t=kr(e);return new Function("value","context",t)}function Sr(e){const t=kr(e);return new Function("value","context",t)}function Or(){let e=0,t=0;return{start(){e=Date.now(),t=0},end:()=>(t=Date.now(),t-e),getElapsed:()=>(t||Date.now())-e,format(){return(this.getElapsed()/1e3).toFixed(2)+"s"}}}function jr(e){return me(e)&&Object.values(e).every(e=>"string"==typeof e)}function Ir(e){if(!me(e))return{};const t=t=>"string"==typeof e[t]?{[t]:e[t]}:{},n=function(e){return"string"==typeof e?[e]:Array.isArray(e)&&e.every(e=>"string"==typeof e)?e:void 0}(e.platform);return{...t("package"),...t("version"),...t("type"),...n&&{platform:n},...t("renderer"),...jr(e.exports)&&{exports:e.exports},...t("docs"),...t("source")}}var Ar="https://cdn.jsdelivr.net/npm",xr="dist/walkerOS.json";async function _r(e,t){const n=t?.version||"latest",r=t?.timeout||1e4,o=new AbortController,s=setTimeout(()=>o.abort(),r),i=o.signal,a=t?.client?{"X-Walkeros-Client":t.client}:void 0;try{if(t?.baseUrl){const r=`${t.baseUrl}/api/packages/${encodeURIComponent(e)}?version=${encodeURIComponent(n)}&expand=all`,o=await fetch(r,{signal:i,...a&&{headers:a}});if(!o.ok)throw new Error(`Failed to fetch ${r} (HTTP ${o.status})`);return function(e,t,n){const r=n.schemas||{},o=n.examples||{},s=n.hints,i=n.hintKeys??(s?Object.keys(s):[]),a=n.exampleSummaries??[],c=n.platform,u=n.exportExamples,f=n.exportSchemas,l=n.exports;return{packageName:n.package||e,version:"string"==typeof n.version?n.version:t,...void 0!==n.description&&{description:n.description},...void 0!==n.type&&{type:n.type},...void 0!==c&&{platform:c},schemas:r,examples:o,...void 0!==n.docs&&{docs:n.docs},...void 0!==n.source&&{source:n.source},...s&&Object.keys(s).length>0?{hints:s}:{},hintKeys:i,exampleSummaries:a,...Mr(u)?{exportExamples:u}:{},...Rr(f)?{exportSchemas:f}:{},...jr(l)?{exports:l}:{}}}(e,n,await o.json())}const r=`${Ar}/${e}@${n}`,o=await Nr(`${r}/package.json`,i,a);return function(e,t,n,r){return{packageName:e,version:"string"==typeof n.version?n.version:t,description:"string"==typeof n.description?n.description:void 0,...Tr(r)}}(e,n,o,await Nr(`${r}/${xr}`,i,a))}finally{clearTimeout(s)}}function Mr(e){return null!==e&&"object"==typeof e&&!Array.isArray(e)}function Rr(e){return Mr(e)&&Object.values(e).every(Mr)}async function Nr(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()}function Tr(e){const t=Ir(e.$meta),n=e.schemas||{},r=e.examples||{},o=e.hints,s=o?Object.keys(o):[],i=e.exportExamples,a=e.exportSchemas,{docs:c,source:u,exports:f}=t,l=[],p=r.step||{};for(const[e,t]of Object.entries(p)){const n=t,r={name:e};"string"==typeof n?.description&&(r.description=n.description),l.push(r)}return{type:t.type,platform:t.platform,schemas:n,examples:r,...c?{docs:c}:{},...u?{source:u}:{},...o&&Object.keys(o).length>0?{hints:o}:{},hintKeys:s,exampleSummaries:l,...Mr(i)?{exportExamples:i}:{},...Rr(a)?{exportSchemas:a}:{},...f?{exports:f}:{}}}async function Cr(e,t){const n=await _r(e,t);return{packageName:n.packageName,version:n.version,type:n.type,platform:n.platform,schemas:n.schemas,examples:n.examples,...n.hints?{hints:n.hints}:{}}}var Pr="observe";function Fr(e){if("object"!=typeof e||null===e)return!1;if(!("paths"in e)||!("record"in e))return!1;const{paths:t,record:n}=e;return Array.isArray(t)&&t.every(e=>"string"==typeof e)&&"function"==typeof n}var Lr="call:";function Dr(e){const t=(e.startsWith(Lr)?e.slice(Lr.length):e).split(".");return t.some(e=>""===e)?[]:t}function Kr(e){return"function"==typeof e}function zr(e){return"object"==typeof e&&null!==e}var Ur=["name","length","prototype","arguments","caller"];function Wr(e,t){if(-1!==Ur.indexOf(t))return!1;let n=e;for(;Kr(n);){if(Object.prototype.hasOwnProperty.call(n,t))return!0;const e=Object.getPrototypeOf(n);if(!Kr(e)||!Kr(Object.getPrototypeOf(e)))return!1;n=e}return!1}function Vr(e,t){const n=Reflect.getOwnPropertyDescriptor(e,t);return!(n&&!n.configurable)||"value"in n&&!0===n.writable}function qr(e,t){let n=e;for(const e of t){if(Kr(n)){if(!Wr(n,e))return!0;if(!Vr(n,e))return!1}else if(pe(n)){if(!(e in n))return!0}else if(!zr(n)||!(e in n))return!1;n=Reflect.get(n,e)}return Kr(n)}function Br(e,t,n){const r=[],o=[],s=[];for(const n of t){const t=Dr(n);if(0===t.length)continue;const r=t.join(".");s.push({rest:t,fn:r}),qr(e,t)||o.push(r)}const i=new WeakMap,a=new WeakSet;function c(e,t){for(const o of e)if(n)try{n(o,t)}catch{}else r.push({fn:o,args:t,ts:Date.now()})}function u(e,t){return 0===t.length||f(e)?e:pe(e)&&!t.some(t=>t.rest[0]in e)?Promise.resolve(e).then(e=>u(e,t)):Kr(e)?h(e,[],t):zr(e)?p(e,t):e}function f(e){return(zr(e)||Kr(e))&&a.has(e)}function l(e,t){const n=[],r=[];for(const o of e)o.rest[0]===t&&(1===o.rest.length?n.includes(o.fn)||n.push(o.fn):r.push({rest:o.rest.slice(1),fn:o.fn}));return{leafs:n,deeper:r}}function p(e,t){const n=function(e){return e.map(e=>`${e.fn}:${e.rest.join(".")}`).join("|")}(t),r=i.get(e)??new Map;i.set(e,r);const o=r.get(n);if(o)return o;const s=d(e,t);return r.set(n,s),s}function d(e,t){if(Kr(e))return m(e,t);return t.some(t=>!Vr(e,t.rest[0]))?function(e,t){const n=Object.create(Object.getPrototypeOf(e)),r=g(e,t,()=>o),o=new Proxy(n,{get:(e,t)=>r.get(t),set:(t,n,r)=>Reflect.set(e,n,r,e),has:(t,n)=>Reflect.has(e,n),ownKeys:()=>Reflect.ownKeys(e),getOwnPropertyDescriptor(t,n){const r=Reflect.getOwnPropertyDescriptor(e,n);return r&&{...r,configurable:!0}},defineProperty:(t,n,r)=>Reflect.defineProperty(e,n,r),deleteProperty:(t,n)=>Reflect.deleteProperty(e,n)});return a.add(o),o}(e,t):m(e,t)}function m(e,t){const n=g(e,t,()=>r),r=new Proxy(e,{get:(e,t)=>"string"!=typeof t||Vr(e,t)?n.get(t):Reflect.get(e,t,e),set:(e,t,n)=>Reflect.set(e,t,n,e)});return a.add(r),r}function g(e,t,n){const r=new Map;return{get(o){const s=Reflect.get(e,o,e);if("string"!=typeof o)return s;if(!Kr(s)&&!zr(s))return s;if(f(s))return s;const i=r.get(o);if(i&&i.value===s)return i.out;const{leafs:a,deeper:c}=l(t,o);if(!(a.length>0||c.length>0)&&(!Kr(s)||function(e){if(Array.isArray(e))return!0;const t=Object.getPrototypeOf(e);return t===Object.prototype||null===t}(e)))return s;let u=s;return Kr(s)?u=h(s,a,c,{proxy:n(),target:e}):c.length>0&&(u=p(s,c)),r.set(o,{value:s,out:u}),u}}}function h(e,t,n,r){const o=()=>n.filter(t=>!Wr(e,t.rest[0])),s=new Map,i=new Proxy(e,{get(e,t){const r=Reflect.get(e,t,e);if("string"!=typeof t||!Vr(e,t))return r;if(!Wr(e,t))return r;const{leafs:o,deeper:a}=l(n,t);if(0===o.length&&0===a.length)return r;if(f(r))return r;const c=s.get(t);if(c&&c.value===r)return c.out;let u=r;return Kr(r)?u=h(r,o,a,{proxy:i,target:e}):zr(r)&&a.length>0&&(u=p(r,a)),s.set(t,{value:r,out:u}),u},set:(e,t,n)=>Reflect.set(e,t,n,e),apply(e,n,s){c(t,s);const i=!r||n!==r.proxy&&void 0!==n?n:r.target;return u(Reflect.apply(e,i,s),o())},construct(e,n,r){c(t,n);const s=Reflect.construct(e,n,r===i?e:r),a=u(s,o());return zr(a)||Kr(a)?a:s}});return a.add(i),i}return{env:d(e,s),calls:r,unresolved:o}}var Zr="obsw_";function Hr(e){if(!e.startsWith(Zr))return null;const t=e.slice(Zr.length).split("."),[n,r,o]=t;return 3===t.length&&n&&r&&o?{pb:n,ses:r,secret:o}:null}function Jr(e){const t=e.WALKEROS_OBSERVER_URL,n=e.WALKEROS_DEPLOYMENT_ID,r=e.WALKEROS_INGEST_TOKEN;if(!t||!n||!r)return;const o={url:t,sessionId:n,token:r},s=e.WALKEROS_OBSERVE_LEVEL;if(void 0!==s){if("off"!==(i=s)&&"standard"!==i&&"trace"!==i)return;o.level=s}var i;return o}function Gr(e,t){const n=function(e){return me(e)?e:ae(e)?{items:e}:{value:e??null}}(e),r=t?{...n,_hints:t}:n;return{content:[{type:"text",text:JSON.stringify(r,null,2)}],structuredContent:r}}function Yr(e,t){let n,r,o,s;if(e instanceof Error){n=e.message;const t=e;t.code&&(o=t.code),Array.isArray(t.details)&&(s=t.details)}else if("string"==typeof e)n=e;else if(e&&"object"==typeof e&&"issues"in e&&Array.isArray(e.issues)){const t=e.issues;n=t.map(e=>e.message).join("; "),r=t[0]?.path?.join(".")||void 0}else n=e&&"object"==typeof e&&"message"in e?String(e.message):"Unknown error";const i={error:n};return t&&(i.hint=t),r&&(i.path=r),o&&(i.code=o),s&&(i.details=s),{content:[{type:"text",text:JSON.stringify(i)}],structuredContent:i,isError:!0}}function Xr(e){let t=!1;return(n={})=>{t||(t=!0,e(n))}}function Qr(e){const t=Object.create(null);if(!e||"object"!=typeof e||ae(e))return t;return"function"==typeof e.forEach?(e.forEach((e,n)=>{t[n.toLowerCase()]=e}),t):(Object.entries(e).forEach(([e,n])=>{void 0!==n&&(t[e.toLowerCase()]=ae(n)?n.join(", "):String(n))}),t)}function eo(e){const t=Object.create(null);if(!e)return t;return new URLSearchParams(e.startsWith("?")?e.slice(1):e).forEach((e,n)=>{t[n]=n in t?`${t[n]},${e}`:e}),t}function to(e,t){if("string"!=typeof e)return e;let n=e;if(t)try{const t=atob(e),r=new Uint8Array(t.length);for(let e=0;e<t.length;e++)r[e]=t.charCodeAt(e);n=decodeURIComponent(Array.from(r,e=>`%${e.toString(16).padStart(2,"0")}`).join(""))}catch{return e}try{return JSON.parse(n)}catch{return n===e?e:n}}function no(e){return me(e)&&"string"==typeof e.method&&me(e.headers)}function ro(e,t){const n=Qr(e.headers),r=e.originalUrl||e.url||"",o=r.indexOf("?"),s=-1===o?"":r.slice(o),i=e.path||(-1===o?r:r.slice(0,o)),a=("function"==typeof e.get?e.get("host"):void 0)||n.host,c=e.protocol||n["x-forwarded-proto"]||t.defaultProtocol,u={method:(e.method||"").toUpperCase(),url:a?`${c}://${a}${r}`:"",path:i,query:eo(s),headers:n,body:t.body,raw:e};return e.ip&&(u.ip=e.ip),u}function oo(e){return ae(e)?e:me(e)?ae(e.batch)?e.batch:[e]:[{}]}function so(e){return!!ae(e)||me(e)&&ae(e.batch)}var io="Event was not processed",ao="Internal server error";function co(e){const t=e.flatMap((e,t)=>e.error?[{index:t,error:e.error}]:[]);return t.length?{status:207,body:{success:!1,processed:e.length-t.length,failed:t.length,errors:t}}:{status:200,body:{success:!0,processed:e.length,ids:e.map(e=>e.id??null)}}}function uo(e){const t=fo(e);return"reject"===t?{error:e.error??"Invalid event",status:400}:"retry"===t?{error:io,status:500}:{id:e.event?.id}}function fo(e){if(!0===e.invalid)return"reject";if(e.ok)return"ack";const t=[];for(const n of Object.values(e.failed??{})){const e=n.reason;t.push(!e||!("retryable"in e)||e.retryable)}return e.reason&&t.push(e.reason.retryable),0===t.length||t.some(Boolean)?"retry":"ack"}function lo(e){if(void 0===e||"*"===e)return()=>!0;if("and"in e){const t=e.and.map(lo);return e=>t.every(t=>t(e))}if("or"in e){const t=e.or.map(lo);return e=>t.some(t=>t(e))}return function(e){const{key:t,operator:n,value:r,not:o}=e,s=function(e,t){switch(e){case"eq":return e=>String(e??"")===t;case"contains":return e=>String(e??"").includes(t);case"prefix":return e=>String(e??"").startsWith(t);case"suffix":return e=>String(e??"").endsWith(t);case"regex":{const e=new RegExp(t);return t=>e.test(String(t??""))}case"gt":{const e=Number(t);return t=>Number(t)>e}case"lt":{const e=Number(t);return t=>Number(t)<e}case"exists":return e=>null!=e}}(n,r);return e=>{const n=Ge(e,t),r=s(n);return o?!r:r}}(e)}function po(e){return"object"==typeof e&&null!==e&&!Array.isArray(e)&&("match"in e||"next"in e||"one"in e||"many"in e||"stop"in e)}function mo(e){return Array.isArray(e)&&e.length>0&&e.every(e=>po(e))}function go(e){return"object"==typeof e&&!Array.isArray(e)&&"type"in e&&"continuation"===e.type}var ho=()=>!0;function yo(e,t){return{kind:t?"sequence":"next",path:e}}function vo(e,t){return t?{...e,outer:t}:e}function bo(e,t,n,r){return vo(n?{kind:e,path:t,match:n}:{kind:e,path:t,catchAll:!0},r)}function wo(e,t,n,r){return 0===e.length?{type:"chain",value:[],label:vo({kind:n,path:t},r)}:{type:n,routes:ko(e,t,n,r)}}function ko(e,t,n,r){return e.map((e,o)=>{const s=[...t,o];if("string"==typeof e||Array.isArray(e)){const t=bo(n,s,void 0,r);return{match:ho,next:Eo(e,s,t)??{type:"chain",value:[],label:t}}}const i=bo(n,s,e.match,r);return{match:e.match?lo(e.match):ho,source:e.match,next:$o(e,s,i,!1,!0)??{type:"chain",value:[],label:i}}})}function $o(e,t,n,r,o){const s=o?void 0:e.match,i=s?vo({kind:"next",path:t,match:s},n):n??yo(t,r),a=s?i:n;let c;return!0===e.stop?c={type:"stop",label:i}:void 0!==e.one?c=wo(e.one,[...t,"one"],"one",a):void 0!==e.many?c=wo(e.many,[...t,"many"],"many",a):void 0!==e.next&&(c=Eo(e.next,[...t,"next"],a)),s?{type:"gate",match:lo(s),source:s,next:c??{type:"chain",value:[],label:i}}:void 0===c&&e.match?{type:"chain",value:[],label:i}:c}function Eo(e,t=[],n,r=!1){if(null!=e){if("string"==typeof e)return{type:"static",value:e,label:n??yo(t,r)};if(Array.isArray(e)){if(0===e.length)return;if(mo(e))return{type:"one",routes:ko(e,t,"one",n)};const o=[];for(const t of e)"string"==typeof t&&o.push(t);if(o.length===e.length)return{type:"chain",value:o,label:n??yo(t,r)};const s=[];if(e.forEach((e,r)=>{const o=Eo(e,[...t,r],n,!0);void 0!==o&&s.push(o)}),0===s.length)return;return{type:"sequence",value:s}}return $o(e,t,n,r,!1)}}var So=new WeakMap;function Oo(e,t,n){return n?{type:"continuation",segments:e,at:t,tail:n}:{type:"continuation",segments:e,at:t}}function jo(e){if(null==e)return;if(go(e))return e;const t=function(e){if(null==e)return;if("object"!=typeof e)return Eo(e);const t=So.get(e);if(t)return t;const n=Eo(e);return n&&So.set(e,n),n}(e);return t?Oo([t],0,void 0):void 0}function Io(e,t,n){const r=[];let o=e;for(;o;){if(o.at>=o.segments.length){o=o.tail;continue}const e=o.segments[o.at],s=Oo(o.segments,o.at+1,o.tail);if("static"===e.type){r.push(e.value),n&&n(e),o=s;continue}if("chain"===e.type){r.push(...e.value),n&&n(e),o=s;continue}if("sequence"===e.type){o=Oo(e.value,0,s);continue}if(r.length>0)return{ids:r,then:o};if("stop"===e.type)return n&&n(e),{ids:[],stop:!0};if("gate"===e.type){o=t.gate(e)?Oo([e.next],0,s):s;continue}if("one"===e.type){const n=e.routes.length>0?t.one(e.routes):-1;o=n>=0?Oo([e.routes[n].next],0,s):s;continue}const i=e.routes.length>0?t.many(e.routes):[];if(0!==i.length){if(1!==i.length)return{ids:[],forks:i.map(t=>Oo([e.routes[t].next],0,s))};o=Oo([e.routes[i[0]].next],0,s)}else o=s}return{ids:r}}function Ao(e,t){return Io(jo(e),function(e){return{gate:t=>t.match(e),one:t=>t.findIndex(t=>t.match(e)),many:t=>{const n=[];return t.forEach((t,r)=>{t.match(e)&&n.push(r)}),n}}}(t))}function xo(e){return null==e?[]:[{route:e,ancestry:[]}]}function _o(e){return Array.isArray(e)&&e.every(e=>"object"==typeof e&&null!==e&&!Array.isArray(e)&&"ancestry"in e)}function Mo(e,t,n){if(e.at>=e.ids.length)return{rest:t};const r=e.ids[e.at],o=e.at+1<e.ids.length?[{ids:e.ids,at:e.at+1,ancestry:e.ancestry},...t]:t;if(e.ancestry.includes(r))return{rest:o};const s=[...e.ancestry,r],i=n[r],a=i?i.config.next:void 0;return{id:r,ancestry:s,rest:void 0===a?o:[{route:a,ancestry:s},...o]}}function Ro(e,t,n){if(e.stop)return t.length>0?{kind:"stop",owner:t[t.length-1]}:{kind:"stop"};if(e.forks)return{kind:"fork",branches:e.forks.map(e=>[{route:e,ancestry:t},...n])};const r=[];return e.ids.length>0&&r.push({ids:e.ids,at:0,ancestry:t}),e.then&&r.push({route:e.then,ancestry:t}),{kind:"stack",stack:[...r,...n]}}function No(e,t,n){let r=e;for(;r.length>0;){const[e,...o]=r;if("ids"in e){const t=Mo(e,o,n);if(void 0!==t.id)return{kind:"run",id:t.id,rest:t.rest,ancestry:t.ancestry};r=t.rest;continue}const s=Ro(Ao(e.route,t),e.ancestry,o);if("stack"!==s.kind)return s;r=s.stack}return{kind:"done"}}function To(e,t={}){const n=[],r=new Map,o=new Set,s=new WeakMap,i=new WeakMap;let a=0;const c=e=>{let t=i.get(e);return void 0===t&&(t=++a,i.set(e,t)),t},u=e=>e.length>0?e[e.length-1]:void 0,f=(e,t,o,s,i)=>{const a=void 0===i,c=`${e??""}|${o}|${s??""}|${i??""}`,u=r.get(c);if(u)return u;const f={targets:[],kind:t.kind,path:t.path};return void 0!==e&&(f.from=e),t.match&&(f.match=t.match),t.catchAll&&(f.catchAll=!0),a&&(f.stop=!0),void 0!==s&&(f.owner=s),t.outer&&(f.via=function(e){const t=[];for(let n=e.outer;n;n=n.outer){const e={kind:n.kind,path:n.path};n.match&&(e.match=n.match),n.catchAll&&(e.catchAll=!0),t.unshift(e)}return t}(t)),r.set(c,f),n.push(f),f},l=e=>{const t=e.ancestry.join(",");if("ids"in e){const n=s.get(e.ids)??[];return`i${e.ids.join(",")}#${n.map(c).join(",")}@${e.at}/${t}`}const n=e.route;if("string"==typeof n)return`s${n}/${t}`;let r="",o=jo(n);for(;o;)r+=`${c(o.segments)}@${o.at};`,o=o.tail;return`r${r}/${t}`},p=(e,n,r)=>{const i=`${n??""}|${r?`${c(r.node)}:${r.position}`:""}|${e.map(l).join("|")}`;if(o.has(i))return;if(o.add(i),0===e.length)return;const[a,...d]=e;if("ids"in a){const e=Mo(a,d,t);if(void 0===e.id)return void p(e.rest,n,r);const o=(s.get(a.ids)??[])[a.at];if(!o)return;let i;if(r&&r.source===o&&r.node.targets[r.position]===n){const t=r.position+1;r.node.targets.length===t&&r.node.targets.push(e.id),i={node:r.node,source:o,position:t}}else{const t=f(n,o.label,c(o),u(a.ancestry),e.id);0===t.targets.length&&t.targets.push(e.id),i={node:t,source:o,position:0}}return void p(e.rest,e.id,i)}const m=u(a.ancestry);for(const e of function(e){const t=[],n=r=>{let o=0;const s=[],i=e=>{let t=0;return o<r.length?t=r[o]:s.push(e),o++,t},a=e=>e.some(e=>void 0===e.source),c=[],u=Io(e,{gate:()=>0===i(2),one:e=>{const t=e.map((e,t)=>t);return a(e)||t.push(-1),t[i(t.length)]},many:e=>{const t=e.map((e,t)=>t);return a(e)||0===i(2)?t:[]}},e=>c.push(e));t.push({steps:u,visited:c});for(let e=0;e<s.length;e++)for(let t=1;t<s[e];t++){const o=r.slice();for(let t=0;t<e;t++)o.push(0);o.push(t),n(o)}};return n([]),t}(jo(a.route))){const{steps:t}=e,r=[];let o=n;for(const t of e.visited)if("stop"!==t.type)if("static"===t.type)r.push(t),o=t.value;else if(0===t.value.length)f(o,t.label,c(t),m,"");else{for(let e=0;e<t.value.length;e++)r.push(t);o=t.value[t.value.length-1]}else f(n,t.label,c(t),m,void 0);t.ids.length>0&&s.set(t.ids,r);const i=Ro(t,a.ancestry,d);if("stop"!==i.kind)if("fork"!==i.kind)p(i.stack,n,void 0);else for(const e of i.branches)p(e,n,void 0)}};return p(xo(e),void 0,void 0),n}var Co="__walkeros_cache_v__",Po="__walkeros_cache_exp__";function Fo(e,t,n=Date.now){const r={[Co]:e};return void 0!==t&&(r[Po]=n()+t),r}function Lo(e,t=Date.now){if(void 0===e)return;if(null===(n=e)||"object"!=typeof n||Array.isArray(n)||!(Co in e))return{value:e};var n;const r=e[Po];return"number"==typeof r&&t()>r?{expired:!0}:{value:e[Co]}}function Do(e){return null===e||"string"==typeof e||"number"==typeof e||"boolean"==typeof e||e instanceof Uint8Array||(Array.isArray(e)?e.every(e=>void 0===e||Do(e)):!!function(e){return null!==e&&"object"==typeof e&&!Array.isArray(e)}(e)&&Object.values(e).every(e=>void 0===e||Do(e)))}function Ko(e={},t){return void 0===t?{ingest:e}:{ingest:e,event:t}}function zo(e){return{stop:e.stop??!1,storeId:e.store,namespace:e.namespace,rules:e.rules.map(e=>({match:e.match?lo(e.match):()=>!0,key:e.key,ttl:e.ttl,update:e.update}))}}async function Uo(e,t,n,r,o){const s=e.rules.find(e=>e.match(n));if(!s)return null;const i=s.key.map(e=>String(Ge(n,e)??""));if(i.every(e=>""===e))return null;const a=i.join(":"),c=r??e.namespace,u=c?`${c}:${a}`:a;let f;try{f=await t.get(u)}catch(t){if(!o||t instanceof Pt)throw t;const n=Ut(t);return Jt(o,o.logger,{step:`store.${e.storeId??"__cache"}`,code:n.code,status:n.status},"cache read failed, treated as a miss",{error:n.message,retryable:n.retryable}),{status:"MISS",key:u,rule:s}}const l=Lo(f);if(void 0===l)return{status:"MISS",key:u,rule:s};if("expired"in l){try{await t.delete(u)}catch{}return{status:"MISS",key:u,rule:s}}return{status:"HIT",key:u,value:l.value,rule:s}}function Wo(e,t,n,r){if(!Do(n))return;const o=1e3*r,s=e.set(t,Fo(n,o),o);pe(s)&&Promise.resolve(s).catch(()=>{})}async function Vo(e,t,n,r){if(!t)return e;let o=e;for(const[e,s]of Object.entries(t)){o=Ye(o,e,await nn(n,s,{collector:r}))}return o}function qo(e){return ae(e)?e:[e]}function Bo(e){const t=/^(event|ingest)\.(.+)$/.exec(e);if(t)return{side:"event"===t[1]?"event":"ingest",path:t[2]}}function Zo(e){if(!me(e.consent))return;const t={};for(const[n,r]of Object.entries(e.consent))"boolean"==typeof r&&(t[n]=r);return t}function Ho(e){return!fe(e)||(me(e)?0===Object.keys(e).length:!!ae(e)&&!e.some(fe))}function Jo(e,t,n,r){(e.causeLog||e.logger)&&Jt(e,e.logger,t,n,r)}async function Go(e,t,n,r){try{return{ok:!0,value:await e.get(n)}}catch(e){if(e instanceof Pt)throw e;const n=Ut(e);return Jo(r,{step:`store.${t}`,code:n.code,status:n.status},"store read failed",{error:n.message,retryable:n.retryable}),{ok:!1}}}async function Yo(e,t,n,r,o){const s=o??{};let i=n;for(const n of e)await Tt(async()=>{const e=t(n.store);if(!e)return void r.logger?.error?.("[state] unknown store",{mode:n.mode,store:n.store});if(me(e.config)&&!0===e.config.file)return void r.logger?.warn?.("[state] file stores are not supported by state, entry skipped",{mode:n.mode,store:n.store});const o=Ko(s,i),a={collector:r,event:i,consent:Zo(i)},c=n.store??"__cache",u=await nn(o,n.key,a);if(!he(u))return void Jo(r,{step:`store.${c}`,code:"mapping"},`[state] ${n.mode} key did not resolve, entry skipped`,he(n.key)?{mappingKey:n.key}:{});const f=n.store?u:`state:${u}`;if("set"===n.mode){const t=await nn(o,n.value,a);if(!fe(n.mapping)){if(!fe(t))return;return void await e.set(f,t)}const s=await Xt(t,n.mapping,a);if(!fe(s)||Ho(s))return;if(!me(s))return void await e.set(f,s);const i=await Go(e,c,f,r);if(!i.ok)return;const u=i.value;return fe(u)&&!me(u)&&r.logger?.warn?.("[state] stored value is not an object, replaced",{store:n.store}),void await e.set(f,me(u)?st(Je(u),s):s)}const l=he(p=n.value)?p:me(p)&&he(p.key)?p.key:void 0;var p;if(!l)return;const d=Bo(l);if(!d)return void r.logger?.warn?.("[state] get target needs an event. or ingest. prefix",{store:n.store,value:l});const m=await Go(e,c,f,r),g=m.ok?m.value:void 0;if(!fe(n.mapping)){if(!fe(g))return;return void("ingest"===d.side?Ye(s,d.path,g,{mutable:!0}):i=Ye(i,d.path,g))}fe(g)&&!_t(g)&&r.logger?.warn?.("[state] stored value has null or non-JSON values, mapping drops them",{store:n.store});const h=await Xt(g,n.mapping,a);if(Ho(h))return;const y="ingest"===d.side?Ge(s,d.path):Ge(i,d.path),v=me(y)&&me(h)?st(Je(y),h):h;"ingest"===d.side?Ye(s,d.path,v,{mutable:!0}):i=Ye(i,d.path,v)},e=>{if(e instanceof Pt)throw e;r.logger?.error?.("[state] operation failed",e)})();return i}function Xo(e){return 0===e.length?"// no output":e.map(Qo).join(";\n\n")}function Qo(e){const[t,...n]=e,r=n.map(es).join(", ");return"return"===t?r?`return ${r}`:"return":`${t}(${r})`}function es(e){return void 0===e?"undefined":null===e?"null":"function"==typeof e?"[Function]":JSON.stringify(e,null,2)}//# sourceMappingURL=index.js.map
|