@walkeros/core 4.3.1-next-1784373088875 → 4.3.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +1 -1
- package/dist/index.d.mts +8 -3
- package/dist/index.d.ts +8 -3
- 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/CHANGELOG.md
CHANGED
package/dist/index.d.mts
CHANGED
|
@@ -281,8 +281,11 @@ declare function parseObserveCredential(raw: string): ObserveCredential | null;
|
|
|
281
281
|
* own env (e.g. `process.env`); core never reads globals. Returns an
|
|
282
282
|
* `ObserveServer` only when the full trio (`WALKEROS_OBSERVER_URL`,
|
|
283
283
|
* `WALKEROS_DEPLOYMENT_ID`, `WALKEROS_INGEST_TOKEN`) is present, carrying
|
|
284
|
-
* `WALKEROS_OBSERVE_LEVEL` into `level
|
|
285
|
-
*
|
|
284
|
+
* `WALKEROS_OBSERVE_LEVEL` into `level`. An explicitly set level that names
|
|
285
|
+
* no known value (e.g. a typo'd `offf`) rejects the whole config: silently
|
|
286
|
+
* observing at the default `standard` against a probable opt-out intent is
|
|
287
|
+
* the one failure mode this parser must never produce. Otherwise undefined:
|
|
288
|
+
* an unconfigured deployment does zero observation work.
|
|
286
289
|
*/
|
|
287
290
|
declare function observeFromEnv(env: Record<string, string | undefined>): ObserveServer | undefined;
|
|
288
291
|
|
|
@@ -4703,7 +4706,9 @@ interface BatchedPosterOptions {
|
|
|
4703
4706
|
onError?: (err: unknown) => void;
|
|
4704
4707
|
/**
|
|
4705
4708
|
* Extra headers merged into every request (e.g. `X-Walkeros-Binding`).
|
|
4706
|
-
* The fixed `Content-Type` and `Authorization` headers win on collision
|
|
4709
|
+
* The fixed `Content-Type` and `Authorization` headers win on collision,
|
|
4710
|
+
* matched case-insensitively (header names are case-insensitive on the
|
|
4711
|
+
* wire, so a lowercase `authorization` is dropped too).
|
|
4707
4712
|
*/
|
|
4708
4713
|
headers?: Record<string, string>;
|
|
4709
4714
|
/**
|
package/dist/index.d.ts
CHANGED
|
@@ -281,8 +281,11 @@ declare function parseObserveCredential(raw: string): ObserveCredential | null;
|
|
|
281
281
|
* own env (e.g. `process.env`); core never reads globals. Returns an
|
|
282
282
|
* `ObserveServer` only when the full trio (`WALKEROS_OBSERVER_URL`,
|
|
283
283
|
* `WALKEROS_DEPLOYMENT_ID`, `WALKEROS_INGEST_TOKEN`) is present, carrying
|
|
284
|
-
* `WALKEROS_OBSERVE_LEVEL` into `level
|
|
285
|
-
*
|
|
284
|
+
* `WALKEROS_OBSERVE_LEVEL` into `level`. An explicitly set level that names
|
|
285
|
+
* no known value (e.g. a typo'd `offf`) rejects the whole config: silently
|
|
286
|
+
* observing at the default `standard` against a probable opt-out intent is
|
|
287
|
+
* the one failure mode this parser must never produce. Otherwise undefined:
|
|
288
|
+
* an unconfigured deployment does zero observation work.
|
|
286
289
|
*/
|
|
287
290
|
declare function observeFromEnv(env: Record<string, string | undefined>): ObserveServer | undefined;
|
|
288
291
|
|
|
@@ -4703,7 +4706,9 @@ interface BatchedPosterOptions {
|
|
|
4703
4706
|
onError?: (err: unknown) => void;
|
|
4704
4707
|
/**
|
|
4705
4708
|
* Extra headers merged into every request (e.g. `X-Walkeros-Binding`).
|
|
4706
|
-
* The fixed `Content-Type` and `Authorization` headers win on collision
|
|
4709
|
+
* The fixed `Content-Type` and `Authorization` headers win on collision,
|
|
4710
|
+
* matched case-insensitively (header names are case-insensitive on the
|
|
4711
|
+
* wire, so a lowercase `authorization` is dropped too).
|
|
4707
4712
|
*/
|
|
4708
4713
|
headers?: Record<string, string>;
|
|
4709
4714
|
/**
|
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:()=>Tt,Cache:()=>a,Collector:()=>c,Const:()=>T,Context:()=>u,Destination:()=>f,ENV_MARKER_PREFIX:()=>ee,Elb:()=>d,FatalError:()=>ot,Hint:()=>N,Hooks:()=>m,Level:()=>h,Lifecycle:()=>I,Logger:()=>g,MAX_SESSION_MS:()=>Ct,Mapping:()=>v,Matcher:()=>M,OBSERVE_ENV_KEY:()=>Nn,OBSERVE_STORAGE_KEY:()=>zt,On:()=>y,REF_CODE_PREFIX:()=>J,REF_CONTRACT:()=>q,REF_ENV:()=>W,REF_FLOW:()=>Z,REF_SECRET:()=>G,REF_STORE:()=>H,REF_VAR_FULL:()=>K,REF_VAR_INLINE:()=>B,Request:()=>k,SECRET_MARKER_PREFIX:()=>te,SESSION_STORAGE_KEY:()=>Ft,STEP_OPERATIVE_FIELDS:()=>hr,Simulation:()=>_,Source:()=>E,Store:()=>$,StoreCodecError:()=>tr,Transformer:()=>b,Trigger:()=>j,URL_WINDOW_MS:()=>Nt,WalkerOS:()=>x,anonymizeIP:()=>P,applyState:()=>gr,applyUpdate:()=>dr,assembleJourneys:()=>un,assign:()=>le,branch:()=>R,browserSwapActivator:()=>Bt,buildCacheContext:()=>lr,castToProperty:()=>tt,castValue:()=>Ie,checkCache:()=>fr,clone:()=>ke,compileCache:()=>ur,compileMatcher:()=>Un,compileState:()=>mr,createBatchedPoster:()=>gn,createDestination:()=>_e,createEvent:()=>ze,createIngest:()=>C,createLogger:()=>Xe,createMockContext:()=>mt,createMockLogger:()=>dt,createRespond:()=>Ln,createTelemetryObserver:()=>St,debounce:()=>qe,deepMerge:()=>Me,defaultClickIds:()=>Ke,deleteByPath:()=>$e,deserializeStoreValue:()=>cr,emitStep:()=>mn,fetchPackage:()=>xn,fetchPackageSchema:()=>Mn,filterValues:()=>et,flattenIncludeSections:()=>je,formatOut:()=>Er,getBrowser:()=>vn,getBrowserVersion:()=>yn,getByPath:()=>Ee,getDeviceType:()=>kn,getEvent:()=>De,getFlowSettings:()=>ie,getGrantedConsent:()=>xe,getHeaders:()=>yt,getId:()=>Te,getMappingEvent:()=>st,getMappingValue:()=>it,getMarketingParameters:()=>Be,getNextSteps:()=>Hn,getOS:()=>bn,getOSVersion:()=>wn,getPlatform:()=>ae,getSpanId:()=>Fe,getTraceId:()=>Ve,getTraceUntil:()=>pn,isArguments:()=>ue,isArray:()=>fe,isBoolean:()=>pe,isCommand:()=>de,isDefined:()=>me,isElementOrDocument:()=>ge,isEnvObserve:()=>Tn,isFunction:()=>he,isNumber:()=>ve,isObject:()=>ye,isPathStepEntry:()=>kr,isPropertyType:()=>Qe,isRouteArray:()=>Bn,isRouteConfigEntry:()=>Kn,isSameType:()=>be,isSampled:()=>$t,isStoreValue:()=>ir,isString:()=>we,mcpError:()=>Vn,mcpResult:()=>Dn,mergeContractSchemas:()=>V,mergeMappingRule:()=>ut,mockEnv:()=>ft,observeFromEnv:()=>zn,packageNameToVariable:()=>se,parseCallPath:()=>Rn,parseGrant:()=>Mt,parseObserveCredential:()=>Fn,parseTraceparent:()=>Ue,parseUserAgent:()=>hn,processEventMapping:()=>ct,readCacheEnvelope:()=>Qn,requestToData:()=>gt,requestToParameter:()=>ht,resolveContracts:()=>D,resolveSetup:()=>bt,resolveTelemetryOptions:()=>At,scanFlowRefs:()=>Y,serializeStoreValue:()=>ar,setByPath:()=>Se,setTraceUntil:()=>dn,stepId:()=>l,storeCache:()=>pr,throttle:()=>Ze,throwError:()=>F,transformData:()=>vt,traverseEnv:()=>pt,trim:()=>wt,tryCatch:()=>nt,tryCatchAsync:()=>rt,useHooks:()=>kt,validateStepEntry:()=>wr,verifyActivation:()=>Rt,walkPath:()=>re,wrapCacheEnvelope:()=>Yn,wrapCondition:()=>Sn,wrapFn:()=>$n,wrapValidate:()=>An}),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 l(e,t){if("collector"===e)return"collector";if(!t)throw new Error(`stepId(${e}) requires an id`);return`${e}.${t}`}s(c,{stepId:()=>l});var u={},f={};function p(e,t){const n=e.destinations[t];if(!n)throw new Error(`Destination not found: ${t}`);return n}s(f,{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={},E={};function S(e,t){const n=e.sources[t];if(!n)throw new Error(`Source not found: ${t}`);return n}s(E,{getSource:()=>S});var $={};function A(e,t){const n=e.stores[t];if(!n)throw new Error(`Store not found: ${t}`);return n}async function O(e,t){return await e.get(t)}s($,{getStore:()=>A,getStoreValue:()=>O});var j={},I={},x={},_={},M={},N={},T={Utils:{Storage:{Local:"local",Session:"session",Cookie:"cookie"}}};function C(e){return{_meta:{hops:0,path:[e]}}}function R(e,t){return{event:e,next:t}}function P(e){return/^(?:\d{1,3}\.){3}\d{1,3}$/.test(e)?e.replace(/\.\d+$/,".0"):""}function F(e){throw new Error(String(e))}var z=new Set(["description","examples","title","$comment"]);function D(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]=L(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])]:U(o)&&U(s)?n[r]=V(o,s):n[r]=s}return n}function L(e){const t={};for(const[n,r]of Object.entries(e))z.has(n)||(null===r||"object"!=typeof r||Array.isArray(r)?t[n]=r:t[n]=L(r));return t}function U(e){return"object"==typeof e&&null!==e&&!Array.isArray(e)}var K=/^\$var\.([a-zA-Z_][a-zA-Z0-9_]*(?:\.[a-zA-Z_][a-zA-Z0-9_]*)*)$/,B=/\$var\.([a-zA-Z_][a-zA-Z0-9_]*(?:\.[a-zA-Z_][a-zA-Z0-9_]*)*)/g,W=/\$env\.([a-zA-Z_][a-zA-Z0-9_]*)(?::([^"}\s]*))?/g,q=/^\$contract\.([a-zA-Z_][a-zA-Z0-9_]*)(?:\.(.+))?$/,Z=/^\$flow\.([a-zA-Z_][a-zA-Z0-9_]*)(?:\.([a-zA-Z0-9_.]+))?$/,H=/^\$store\.([a-zA-Z_][a-zA-Z0-9_]*)$/,G=/^\$secret\.([A-Z0-9_]+)$/,J="$code:",X=/\$flow\.([a-zA-Z_][a-zA-Z0-9_]*)/g;function Y(e,t){const n=t??new Set;if("string"==typeof e){for(const t of e.matchAll(X))n.add(t[1]);return n}if(e&&"object"==typeof e)for(const t of Object.values(e))Y(t,n);return n}function Q(...e){const t={};for(const n of e)n&&Object.assign(t,n);return t}var ee="__WALKEROS_ENV:",te="__WALKEROS_SECRET:";function ne(e,t,n){const r=`$flow.${e}${t?`.${t}`:""}`;if("unknown-flow"===n)return`${r} cannot resolve: flow "${e}" does not exist in this config.`;return`${r} is empty. Set ${t?`flows.${e}.config.${t}`:`flows.${e}.config`}, or run \`walkeros deploy ${e}\` first.`}function re(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 oe(e,t,n,r,o,s){if("string"==typeof e){const i=e.match(K);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 l=s??new Set;if(l.has(a)){F(`Cyclic $var reference: ${[...l,a].join(" -> ")}`)}let u;l.add(a);try{u=oe(t[a],t,n,r,o,l)}finally{l.delete(a)}return c&&(u=re(u,c,`$var.${a}`)),u}const a=e.match(q);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=re(n,t,`$contract.${e}`)),n}const c=e.match(Z);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?.(ne(t,r,"unknown-flow")),e;F(`Flow "${t}" not found in $flow.${t}`)}let a=i;if(r)if(s){try{a=re(a,r,`$flow.${t}`)}catch{return n?.onWarning?.(ne(t,r,"missing-key")),e}if(null==a||""===a)return n?.onWarning?.(ne(t,r,"missing-key")),e}else a=re(a,r,`$flow.${t}`);return a}const l=e.match(G);if(l){const e=l[1];if(n?.deferred)return`${te}${e}`;F(`Secret "$secret.${e}" cannot be used in a web flow — secrets are never sent to the browser. Use a server flow.`)}let u=e.replace(B,(e,i)=>{const a=i.split("."),c=a[0],l=a.slice(1).join(".");void 0===t[c]&&F(`Variable "${c}" not found`);const u=s??new Set;if(u.has(c)){F(`Cyclic $var reference: ${[...u,c].join(" -> ")}`)}let f;u.add(c);try{f=oe(t[c],t,n,r,o,u)}finally{u.delete(c)}if(l&&(f=re(f,l,`$var.${c}`)),null===f||"string"!=typeof f&&"number"!=typeof f&&"boolean"!=typeof f){F(`Variable "${i}" resolves to non-scalar (${Array.isArray(f)?"array":typeof f}) and cannot be inlined into a string. Use it as a whole-string reference: "$var.${i}"`)}return String(f)});return u=u.replace(W,(e,t,r)=>n?.deferred?void 0!==r?`${ee}${t}:${r}`:`${ee}${t}`:"undefined"!=typeof process&&void 0!==process.env?.[t]?process.env[t]:void 0!==r?r:void F(`Environment variable "${t}" not found and no default provided`)),u}if(Array.isArray(e))return e.map(e=>oe(e,t,n,r,o,s));if(null!==e&&"object"==typeof e){const i={};for(const[a,c]of Object.entries(e))i[a]=oe(c,t,n,r,o,s);return i}return e}function se(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 ie(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)){F(`Cyclic $flow reference: ${[...s,t].join(" -> ")}`)}o.add(t),s.push(t);try{const o=Q(e.variables,a.variables),s=oe(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=Q(e.variables,t.variables);s=D(oe(e.contract,o,n,void 0,r))}if(o.config){const i=Q(e.variables,t.variables);o.config=oe(o.config,i,n,s,r)}if(o.sources)for(const[i,a]of Object.entries(o.sources)){const c=Q(e.variables,t.variables,a.variables),l=oe(a.config,c,n,s,r),u=oe(a.env,c,n,s,r);o.sources[i]={package:a.package,import:a.import,config:l,env:u,primary:a.primary,variables:a.variables,before:a.before,next:a.next,cache:a.cache,code:a.code}}if(o.destinations)for(const[i,a]of Object.entries(o.destinations)){const c=Q(e.variables,t.variables,a.variables),l=oe(a.config,c,n,s,r),u=oe(a.env,c,n,s,r);o.destinations[i]={package:a.package,import:a.import,config:l,env:u,variables:a.variables,before:a.before,next:a.next,cache:a.cache,code:a.code}}if(o.stores)for(const[i,a]of Object.entries(o.stores)){const c=Q(e.variables,t.variables,a.variables),l=oe(a.config,c,n,s,r),u=oe(a.env,c,n,s,r);o.stores[i]={package:a.package,import:a.import,config:l,env:u,cache:a.cache,variables:a.variables,code:a.code}}if(o.transformers)for(const[i,a]of Object.entries(o.transformers)){const c=Q(e.variables,t.variables,a.variables),l=oe(a.config,c,n,s,r),u=oe(a.env,c,n,s,r);o.transformers[i]={package:a.package,import:a.import,config:l,env:u,variables:a.variables,before:a.before,next:a.next,cache:a.cache,code:a.code}}if(o.collector){const i=Q(e.variables,t.variables),a=oe(o.collector,i,n,s,r);o.collector=a}return o}(e,c,n,i)}finally{o.delete(t),s.pop()}}function ae(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 ce={merge:!0,shallow:!0,extend:!0};function le(e,t={},n={}){n={...ce,...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 ue(e){return"[object Arguments]"===Object.prototype.toString.call(e)}function fe(e){return Array.isArray(e)}function pe(e){return"boolean"==typeof e}function de(e){return"walker"===e}function me(e){return void 0!==e}function ge(e){return!(!e||"object"!=typeof e)&&("body"in e||"tagName"in e)}function he(e){return"function"==typeof e}function ve(e){return"number"==typeof e&&!Number.isNaN(e)}function ye(e){return"object"==typeof e&&null!==e&&!fe(e)&&"[object Object]"===Object.prototype.toString.call(e)}function be(e,t){return typeof e==typeof t}function we(e){return"string"==typeof e}function ke(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]=ke(e[r],t));return n}if("[object Array]"===n){const n=[];return t.set(e,n),e.forEach(e=>{n.push(ke(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 Ee(e,t="",n){const r=t.split(".");let o=e;for(let e=0;e<r.length;e++){const t=r[e];if("*"===t&&fe(o)){const t=r.slice(e+1).join("."),s=[];for(const e of o){const r=Ee(e,t,n);s.push(r)}return s}if(o=ye(o)||fe(o)?o[t]:void 0,void 0===o)break}return me(o)?o:n}function Se(e,t,n){if(!ye(e))return e;const r=ke(e),o=t.split(".");let s=r;for(let e=0;e<o.length;e++){const t=o[e];e===o.length-1?s[t]=n:(t in s&&"object"==typeof s[t]&&null!==s[t]||(s[t]={}),s=s[t])}return r}function $e(e,t){if(!ye(e)&&!fe(e))return e;const n=ke(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(fe(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(!ye(t)&&!fe(t))return n;o=t}}else if(s)delete o[t];else{const e=o[t];if(!ye(e)&&!fe(e))return n;o=e}}return n}var Ae={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 Oe(e,t,n){if(ye(n))for(const[r,o]of Object.entries(n))void 0!==o&&Oe(e,`${t}_${r}`,o);else e[t]=n}function je(e,t){const n={},r=t.includes("all")?Object.keys(Ae):t;for(const t of r){const r=Ae[t];if(!r)continue;const o=r(e);if(ye(o))for(const[e,r]of Object.entries(o)){if(void 0===r)continue;Oe(n,`${t}_${e}`,"context"===t&&Array.isArray(r)?r[0]:r)}}return n}function Ie(e){if("true"===e)return!0;if("false"===e)return!1;const t=Number(e);return e==t&&""!==e?t:String(e)}function xe(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 _e(e,t){const n={...e};return n.config=le(e.config,t,{shallow:!0,merge:!0,extend:!0}),e.config.settings&&t.settings&&(n.config.settings=le(e.config.settings,t.settings,{shallow:!0,merge:!0,extend:!0})),e.config.mapping&&t.mapping&&(n.config.mapping=le(e.config.mapping,t.mapping,{shallow:!0,merge:!0,extend:!0})),n}function Me(e,t){if(!ye(t))return e;for(const n of Object.keys(t)){const r=t[n];void 0!==r&&(ye(r)&&ye(e[n])?Me(e[n],r):e[n]=r)}return e}var Ne="0123456789abcdefghijklmnopqrstuvwxyz";function Te(e=6,t=Ne){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(!Ce(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 Ce(e){try{const t=globalThis.crypto;if(t&&"function"==typeof t.getRandomValues)return t.getRandomValues(e),!0}catch{}return!1}var Re="0123456789abcdef";function Pe(e){let t=Te(e,Re);for(;/^0+$/.test(t);)t=Te(e,Re);return t}function Fe(){return Pe(16)}function ze(e={}){const t=e.timestamp||(new Date).setHours(0,13,37,0),n=le({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||Fe(),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 De(e="entity action",t={}){const n=t.timestamp||(new Date).setHours(0,13,37,0),r={data:{id:"ers",name:"Everyday Ruck Snack",color:"black",size:"l",price:420}},o={data:{id:"cc",name:"Cool Cap",size:"one size",price:42}};return ze({...{"cart view":{data:{currency:"EUR",value:2*r.data.price},context:{shopping:["cart",0]},globals:{pagegroup:"shop"},nested:[{entity:"product",data:{...r.data,quantity:2},context:{shopping:["cart",0]},nested:[]}],trigger:"load"},"checkout view":{data:{step:"payment",currency:"EUR",value:r.data.price+o.data.price},context:{shopping:["checkout",0]},globals:{pagegroup:"shop"},nested:[{entity:"product",...r,context:{shopping:["checkout",0]},nested:[]},{entity:"product",...o,context:{shopping:["checkout",0]},nested:[]}],trigger:"load"},"order complete":{data:{id:"0rd3r1d",currency:"EUR",shipping:5.22,taxes:73.76,total:555},context:{shopping:["complete",0]},globals:{pagegroup:"shop"},nested:[{entity:"product",...r,context:{shopping:["complete",0]},nested:[]},{entity:"product",...o,context:{shopping:["complete",0]},nested:[]},{entity:"gift",data:{name:"Surprise"},context:{shopping:["complete",0]},nested:[]}],trigger:"load"},"page view":{data:{domain:"www.example.com",title:"walkerOS documentation",referrer:"https://www.walkeros.io/",search:"?foo=bar",hash:"#hash",id:"/docs/"},globals:{pagegroup:"docs"},trigger:"load"},"product add":{...r,context:{shopping:["intent",0]},globals:{pagegroup:"shop"},nested:[],trigger:"click"},"product view":{...r,context:{shopping:["detail",0]},globals:{pagegroup:"shop"},nested:[],trigger:"load"},"product visible":{data:{...r.data,position:3,promo:!0},context:{shopping:["discover",0]},globals:{pagegroup:"shop"},nested:[],trigger:"load"},"promotion visible":{data:{name:"Setting up tracking easily",position:"hero"},context:{ab_test:["engagement",0]},globals:{pagegroup:"homepage"},trigger:"visible"},"session start":{data:{id:"s3ss10n",start:n,isNew:!0,count:1,runs:1,isStart:!0,storage:!0,referrer:"",device:"c00k13"},user:{id:"us3r",device:"c00k13",session:"s3ss10n",hash:"h4sh",address:"street number",email:"user@example.com",phone:"+49 123 456 789",userAgent:"Mozilla...",browser:"Chrome",browserVersion:"90",deviceType:"desktop",language:"de-DE",country:"DE",region:"HH",city:"Hamburg",zip:"20354",timezone:"Berlin",os:"walkerOS",osVersion:"1.0",screenSize:"1337x420",ip:"127.0.0.0",internal:!0,custom:"value"}}}[e],...t,name:e})}function Ve(){return Pe(32)}var Le=/^(?<version>[0-9a-f]{2})-(?<trace>[0-9a-f]{32})-(?<span>[0-9a-f]{16})-[0-9a-f]{2}$/;function Ue(e){if("string"!=typeof e)return;const t=Le.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 Ke=[{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 Be(e,t={},n=[]){const r={};Object.entries(le({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(Ke.map(e=>e.param));return[...Ke.map(e=>t.has(e.param)?{param:e.param,platform:t.get(e.param)}:e),...e.filter(e=>!n.has(e.param))]}(n):Ke,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 We(e,t){return"number"==typeof e?{wait:e}:e?{wait:e.wait??t,size:e.size,age:e.age}:{wait:t}}function qe(e,t=1e3,n=!1){const{wait:r,size:o,age:s}=We(t,1e3);let i,a,c=null,l=null,u=!1,f=[],p=0;const d=()=>{c&&(clearTimeout(c),c=null),l&&(clearTimeout(l),l=null),p=0,a=void 0},m=()=>{const t=a,n=f;if(d(),f=[],t)return i=e(...t),n.forEach(e=>e(i)),i;n.forEach(e=>e(void 0))},g=(...t)=>new Promise(d=>{const g=n&&!u;if(a=t,p+=1,f.push(d),c&&clearTimeout(c),c=setTimeout(()=>{c=null,n&&!u||m()},r),void 0===s||l||(l=setTimeout(()=>{l=null,m()},s)),void 0!==o&&p>=o)m();else if(g){u=!0,i=e(...t);const n=f;f=[],n.forEach(e=>e(i))}});return g.flush=()=>a||0!==f.length?new Promise(e=>{f.push(e),m()}):Promise.resolve(i),g.cancel=()=>{const e=f;f=[],d(),i=void 0,e.forEach(e=>e(void 0))},g.size=()=>p,g}function Ze(e,t=1e3){const{wait:n}=We(t,1e3);let r=null;return function(...t){if(null===r)return r=setTimeout(()=>{r=null},n),e(...t)}}function He(e){return{message:e.message,name:e.name,stack:e.stack,cause:e.cause}}function Ge(e,t){let n,r={};return e instanceof Error?(n=e.message,r.error=He(e)):n=e,void 0!==t&&(t instanceof Error?r.error=He(t):"object"==typeof t&&null!==t?(r={...r,...t},"error"in r&&r.error instanceof Error&&(r.error=He(r.error))):r.value=t),{message:n,context:r}}var Je=(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 Xe(e={}){return Ye({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 Ye(e){const{level:t,handler:n,jsonHandler:r,scope:o}=e,s=(e,r,s)=>{if(e<=t){const t=Ge(r,s);n?n(e,t.message,t.context,o,Je):Je(e,t.message,t.context,o)}};return{error:(e,t)=>s(0,e,t),warn:(e,t)=>s(1,e,t),info:(e,t)=>s(2,e,t),debug:(e,t)=>s(3,e,t),throw:(e,t)=>{const r=Ge(e,t);throw n?n(0,r.message,r.context,o,Je):Je(0,r.message,r.context,o),new Error(r.message)},json:e=>{r?r(e):console.log(JSON.stringify(e,null,2))},scope:e=>Ye({level:t,handler:n,jsonHandler:r,scope:[...o,e]})}}function Qe(e){return pe(e)||we(e)||ve(e)||!me(e)||fe(e)&&e.every(Qe)||ye(e)&&Object.values(e).every(Qe)}function et(e){return pe(e)||we(e)||ve(e)?e:ue(e)?et(Array.from(e)):fe(e)?e.map(e=>et(e)).filter(e=>void 0!==e):ye(e)?Object.entries(e).reduce((e,[t,n])=>{const r=et(n);return void 0!==r&&(e[t]=r),e},{}):void 0}function tt(e){return Qe(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 rt(e,t,n){return async function(...r){try{return await e(...r)}catch(e){if(!t)return;return await t(e)}finally{await(n?.())}}}var ot=class e extends Error{constructor(t,n){super(t,n),this.name="FatalError",Object.setPrototypeOf(this,e.prototype)}};async function st(e,t,n){const[r,o]=(e.name||"").split(" ");if(!t||!r||!o)return{};let s,i="",a=r,c=o;const l=t=>{if(!t)return;return(fe(t)?t:[t]).find(t=>{if(!t.condition)return!0;if(!n)return Boolean(t.condition(e,void 0));const r={event:e,mapping:t,collector:n,logger:n.logger,consent:ye(e)&&e.consent||n.consent};return Boolean(t.condition(e,r))})};t[a]||(a="*");const u=t[a];return u&&(u[c]||(c="*"),s=l(u[c])),s||(a="*",c="*",s=l(t[a]?.[c])),s&&(i=`${a} ${c}`),{eventMapping:s,mappingKey:i}}async function it(e,t={},n={}){if(!me(e))return;const r=ye(e)&&e.consent||n.consent||n.collector?.consent,o=n.event??(ye(e)?e:{});if(!n.collector)throw new Error("getMappingValue: context.collector is required");const s={event:o,mapping:t,collector:n.collector,logger:n.collector.logger,consent:r},i=fe(t)?t:[t];for(const t of i){const r=await rt(at,e=>{if(e instanceof ot)throw e;n.collector&&n.collector.status.failed++,s.logger.error("mapping processing failed",{event:o,error:e})})(e,t,{...s,mapping:t});if(me(r))return r}}async function at(e,t,n){return(fe(t)?t:[t]).reduce(async(t,r)=>{const o=await t;if(o)return o;const s=we(r)?{key:r}:r;if(!Object.keys(s).length)return;const{condition:i,consent:a,fn:c,key:l,loop:u,map:f,set:p,validate:d,value:m}=s,g={...n,mapping:r};if(i&&!await rt(i,e=>{if(e instanceof ot)throw e;return g.logger.error("mapping condition failed",{event:g.event,error:e}),!1})(e,g))return;if(a&&!xe(a,g.consent))return m;let h=me(m)?m:e;if(c&&(h=await rt(c,e=>{if(e instanceof ot)throw e;g.logger.error("mapping fn failed",{event:g.event,error:e})})(e,g)),l&&(h=Ee(e,l,m)),u){const[t,n]=u,r="this"===t?[e]:await it(e,t,g);fe(r)&&(h=(await Promise.all(r.map(e=>it(e,n,g)))).filter(me))}else f?h=await Object.entries(f).reduce(async(t,[n,r])=>{const o=await t,s=await it(e,r,g);return me(s)&&(o[n]=s),o},Promise.resolve({})):p&&(h=await Promise.all(p.map(t=>at(e,t,g))));d&&!await rt(d,e=>{if(e instanceof ot)throw e;return g.logger.error("mapping validate failed",{event:g.event,error:e}),!1})(h,g)&&(h=void 0);const v=tt(h);return me(v)?v:tt(m)},Promise.resolve(void 0))}async function ct(e,t,n){t.policy&&await Promise.all(Object.entries(t.policy).map(async([t,r])=>{const o=await it(e,r,{collector:n,event:e});e=Se(e,t,o)}));const{eventMapping:r,mappingKey:o}=await st(e,t.mapping,n);r?.policy&&await Promise.all(Object.entries(r.policy).map(async([t,r])=>{const o=await it(e,r,{collector:n,event:e});e=Se(e,t,o)}));let s=t.data&&await it(e,t.data,{collector:n,event:e});const i=Boolean(r?.silent);if(r){if(r.ignore)return{event:e,data:s,mapping:r,mappingKey:o,ignore:!0,silent:i};if(r.name&&(e.name=r.name),r.data){const t=r.data&&await it(e,r.data,{collector:n,event:e});s=ye(s)&&ye(t)?le(s,t):t}}const a=r?.include??t.include;if(a&&a.length>0){const t=je(e,a);Object.keys(t).length>0&&(s=ye(s)?le(t,s):s??t)}if(r?.remove&&ye(s))for(const e of r.remove)s=$e(s,e);return{event:e,data:s,mapping:r,mappingKey:o,ignore:!1,silent:i}}function lt(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];ye(r)&&ye(o)?lt(o,r):e[n]=r}return e}function ut(e,t){if(void 0===t.extend&&void 0===t.remove)return ke(t);const n={...ke(e)};if(t.extend){lt(n,{...t.extend})}return delete n.extend,t.remove?n.remove=[...t.remove]:delete n.remove,n}function ft(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 pt(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 dt(){const e=[],t=jest.fn(e=>{const t=e instanceof Error?e.message:e;throw new Error(t)}),n=jest.fn(t=>{const n=dt();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 mt(e={}){return{collector:{},config:{},env:{},logger:dt(),id:"test",ingest:C("test"),...e}}function gt(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(fe(o)){const i=parseInt(t,10);s?o[i]=Ie(e):(o[i]=o[i]||(isNaN(parseInt(r[n+1],10))?{}:[]),o=o[i])}else ye(o)&&(s?o[t]=Ie(e):(o[t]=o[t]||(isNaN(parseInt(r[n+1],10))?{}:[]),o=o[t]))})}),t})()}function ht(e){if(!e)return"";const t=[],n=encodeURIComponent;function r(e,o){null!=o&&(fe(o)?o.forEach((t,n)=>r(`${e}[${n}]`,t)):ye(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 vt(e){return void 0===e||be(e,"")?e:JSON.stringify(e)}function yt(e={}){return le({"Content-Type":"application/json; charset=utf-8"},e)}function bt(e,t){return!1===e||void 0===e?null:!0===e?t:{...t,...e}}function wt(e){return e?e.trim().replace(/^'|'$/g,"").trim():""}function kt(e,t,n,r){const o=e;return function(...e){let s;const i="pre"+t,a="post"+t,c=n[i],l=n[a],u=(e,t)=>{r?r.warn(e,{error:t}):console.warn(e,t)};if(c)try{s=c({fn:o},...e)}catch(t){u(`Hook ${String(i)} failed, falling back to original function`,t),s=o(...e)}else s=o(...e);if(l)try{s=l({fn:o,result:s},...e)}catch(e){u(`Hook ${String(a)} failed, keeping original result`,e)}return s}}function Et(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 St(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&&!Et(t.eventId,i))return;const a=r.includeIn??"trace"===o,c=r.includeOut??"trace"===o,l=r.includeMappingKey??"trace"===o,u={...t};a||delete u.inEvent,c||(delete u.outEvent,delete u.calls),l||delete u.mappingKey,"trace"!==o&&u.error?.message&&u.error.message.length>256&&(u.error={...u.error,message:u.error.message.slice(0,256)+"…"});try{e(u)}catch{}}}function $t(e,t){return Et(e,t)}function At(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 Ot=/^[A-Za-z0-9_-]+$/;function jt(e){if(!Ot.test(e))return null;const t=e.length%4==0?"":"=".repeat(4-e.length%4),n=e.replace(/-/g,"+").replace(/_/g,"/")+t,r=globalThis.atob;if(!r)return null;try{const e=r(n),t=new Uint8Array(e.length);for(let n=0;n<e.length;n++)t[n]=e.charCodeAt(n);return t}catch{return null}}function It(e){const t=new Uint8Array(e.length);for(let n=0;n<e.length;n++)t[n]=e.charCodeAt(n);return t}function xt(e){const t=jt(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 _t(e){return"object"==typeof e&&null!==e&&!Array.isArray(e)}function Mt(e){if(!e)return null;const t=e.split("."),[n,r,o]=t;if(3!==t.length||!n||!r||!o)return null;const s=xt(n);if(!_t(s))return null;const i=s.kid,a=s.alg;if("string"!=typeof i||"ES256"!==a)return null;const c=xt(r);if(!function(e){if(!_t(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&&Ot.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 l=jt(o);return l&&64===l.byteLength?{grant:c,kid:i,signed:It(`${n}.${r}`),signature:l}:null}var Nt=9e5,Tt=6e4,Ct=39e5;async function Rt(e,t){const n=Mt(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+Tt)return{ok:!1,reason:"expired"};if(1e3*r.sxp-1e3*r.iat>Ct)return{ok:!1,reason:"expired"};const a="url"===t.source?Math.min(1e3*r.iat+Nt,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 l=t.keyring.find(e=>e.kid===o);if(!l)return{ok:!1,reason:"kid-mismatch"};const u=t.crypto??globalThis.crypto,f=u?.subtle;if(!f)return{ok:!1,reason:"no-subtle"};const p=function(e){return jt(e)}(l.spki);if(!p)return{ok:!1,reason:"kid-mismatch"};try{const e=await f.importKey("spki",p,{name:"ECDSA",namedCurve:"P-256"},!1,["verify"]);if(!await f.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 Pt="elbPreview",Ft="elbPreviewSession",zt="elbObserve",Dt="[walkerOS:preview]",Vt=5e3,Lt=globalThis;function Ut(e){let t=null;return{get(){try{return Lt.window?.localStorage.getItem(e)??t}catch{return t}},set(n){try{Lt.window?.localStorage.setItem(e,n)}catch{t=n}},clear(){t=null;try{Lt.window?.localStorage.removeItem(e)}catch{}}}}function Kt(){const e=Lt.window,t=Lt.URLSearchParams;if(e&&t)try{const n=e.location.href,r=n.indexOf("#"),o=r>=0?n.slice(r):"",s=r>=0?n.slice(0,r):n,i=s.indexOf("?"),a=i>=0?s.slice(0,i):s,c=new t(i>=0?s.slice(i+1):"");c.delete("elbPreview"),c.delete("elbPreviewSession"),c.delete("elbObserve");const l=c.toString();e.history.replaceState({},"",`${a}${l?`?${l}`:""}${o}`)}catch{}}async function Bt(e){const t=Lt.window;if(!t||!Lt.document)return!1;const n=Ut(Pt),r=Ut(Ft),o=Ut(zt),s=e.now??(()=>Date.now()),i=e=>Lt.console?.warn(`${Dt} ${e}`);let a=null,c=null,l=null;const u=Lt.URLSearchParams;if(u)try{const e=new u(t.location.search.replace(/^\?/,"")),n=e.getAll("elbPreview");a=n.length>0?n[n.length-1]??null:null;const r=e.getAll("elbPreviewSession");c=r.length>0?r[r.length-1]??null:null;const o=e.getAll("elbObserve");l=o.length>0?o[o.length-1]??null:null}catch{a=null,c=null,l=null}if("off"===a)return n.clear(),r.clear(),o.clear(),Kt(),!1;const f=n.get();if(!a&&!f)return!1;const p=(n,r)=>Rt(n,{keyring:e.keyring,iss:e.iss,origin:t.location.origin,pb:e.pb,acceptForeign:e.acceptForeign,demoAllowlist:e.demoAllowlist,source:r,now:s(),crypto:e.crypto});let d=null;if(a){const e=await p(a,"url");e.ok?(d=e.grant,n.set(a),c?r.set(c):r.clear(),l?o.set(l):o.clear()):i(e.reason),Kt()}if(!d&&f){const e=await p(f,"storage");e.ok?d=e.grant:(i(e.reason),"no-subtle"!==e.reason&&(n.clear(),r.clear(),o.clear()))}if(!d)return!1;const m=`https://${e.previewOrigin}/preview/${d.art}.js`,g=await function(e,t){return new Promise(n=>{const r=Lt.document;if(!r)return void n(!1);const o=r.createElement("script");let s,i=!1;const a=e=>{i||(i=!0,void 0!==s&&Lt.clearTimeout?.(s),!e&&o.parentNode&&o.parentNode.removeChild(o),n(e))};s=Lt.setTimeout?.(()=>a(!1),Vt),o.onload=()=>a(!0),o.onerror=()=>a(!1),o.setAttribute("integrity",t),o.setAttribute("crossorigin","anonymous"),o.src=e,r.head.appendChild(o)})}(m,d.sri);return g?(Lt.console?.info(`${Dt} active ${d.art} ends ${new Date(1e3*d.sxp).toISOString()}`),!0):(i("swap-failed"),n.clear(),r.clear(),o.clear(),!1)}var Wt=15e3,qt={error:5,skip:4,out:3,in:2,init:1,flush:0},Zt="\0none",Ht="\0";function Gt(e,t){return`${e??Zt}${Ht}${t}`}function Jt(e){const t=Date.parse(e);return Number.isNaN(t)?0:t}function Xt(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 qt[e.phase]-qt[t.phase];if(e.eventId!==t.eventId)return e.eventId<t.eventId?-1:1;const o=e.branchId??"",s=t.branchId??"";if(o!==s)return o<s?-1:1;if(e.elapsedMs!==t.elapsedMs)return e.elapsedMs-t.elapsedMs;const i=e.seq??-1,a=t.seq??-1;return i!==a?i-a:e.timestamp!==t.timestamp?e.timestamp<t.timestamp?-1:1:0}function Yt(e){switch(e){case"error":return"error";case"skip":return"skipped";case"out":return"done";case"in":case"init":case"flush":return"pending"}}function Qt(e){return"out"===e.terminalPhase||"error"===e.terminalPhase||"skip"===e.terminalPhase||!0===e.batched}function en(e){return"done"===e.status&&("transformer"!==e.stepType||null!==e.out&&void 0!==e.out)}function tn(e,t,n,r){const o=n.get(Gt(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 nn(e){const t=new Map,n=new Map;e.nodes.forEach((e,r)=>{const o={node:e,rank:r,key:Gt(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=tn(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 rn(e,t,n){const r=e.byKey.get(Gt(n,t));if(void 0!==r)return r;const o=e.byKey.get(Gt(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 on(e,t,n,r,o,s){return s-n<o?"pending":void 0!==r?function(e,t,n){const r=t=>e.find(e=>e.stepId===t.node.stepId&&(void 0===t.node.platform||e.platform===t.node.platform)),o=n.roots.filter(e=>void 0===e.node.platform||t.includes(e.node.platform));if(0===o.length)return e.every(Qt)?"complete":"partial";const s=new Map,i=o;for(;i.length>0;){const e=i.shift();if(void 0===e)break;if(s.has(e.key))continue;s.set(e.key,e);const t=r(e);if(void 0!==t&&en(t)){const t=n.edges.get(e.key);if(void 0!==t)for(const e of t)s.has(e.key)||i.push(e)}}for(const e of s.values()){const t=r(e);if(void 0===t||!Qt(t))return"partial"}return"complete"}(e,t,r):e.every(Qt)?"complete":"partial"}function sn(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,l,u,f,p,d,m,g,h=i[0],v=i[0];for(const e of i)e.elapsedMs<h.elapsedMs&&(h=e),qt[e.phase]>qt[v.phase]&&(v=e),"out"===e.phase&&(a=e),void 0!==e.inEvent&&void 0===c&&(c=e.inEvent),void 0!==e.outEvent&&(l=e.outEvent),void 0!==e.mappingKey&&(u=e.mappingKey),void 0!==e.contractRule&&(f=e.contractRule),void 0!==e.consent&&(p=e.consent),void 0!==e.consentApplied&&(d=e.consentApplied),void 0!==e.meta&&(m=e.meta),void 0!==e.parentEventId&&void 0===g&&(g=e.parentEventId);const y=v.phase,b=a?.durationMs,w="error"===y?v.error:void 0,k="skip"===y?v.skipReason:void 0,E=a?.calls,S="out"===v.phase&&void 0!==v.batch||void 0,$=!(!o||!0!==S)||void 0,A=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)qt[e.phase]>qt[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,l=n?.calls;return{branchId:e,status:Yt(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!==l?{calls:l}:{}}}(e,t)):void 0;return{stepId:h.stepId,stepType:h.stepType,eventId:h.eventId,status:Yt(y),terminalPhase:y,startedAtMs:t.elapsedMs,timestamp:t.timestamp,...void 0!==h.platform?{platform:h.platform}:{},...void 0!==g?{parentEventId:g}:{},...void 0!==b?{durationMs:b}:{},...void 0!==c?{in:c}:{},...void 0!==l?{out:l}:{},...void 0!==w?{error:w}:{},...void 0!==k?{skipReason:k}:{},...void 0!==u?{mappingKey:u}:{},...void 0!==f?{contractRule:f}:{},...void 0!==p?{consent:p}:{},...void 0!==d?{consentApplied:d}:{},...void 0!==E?{calls:E}:{},...void 0!==A?{branches:A}:{},...void 0!==S?{batched:S}:{},...void 0!==$?{flushConfirmed:$}:{},...void 0!==m?{meta:m}:{}}}function an(e,t){const n=e.map(e=>({hop:e,rank:void 0!==t?rn(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 cn(e){const t=e.filter(e=>"collector"===e.stepType&&"in"===e.phase),n=t.length>0?t:e;let r=n[0],o=Jt(r.timestamp);for(const e of n){const t=Jt(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 ln(e,t,n,r,o){const{topo:s}=o,i=new Map;for(const e of r){const t=Gt(e.platform,e.stepId),n=i.get(t);n?n.push(e):i.set(t,[e])}const a=[...i.values()].map(sn),c=new Map;for(const e of a){const t=e.platform??Zt;let n=c.get(t);n||(n={...void 0!==e.platform?{platform:e.platform}:{},hops:[],ownedEventIds:new Set,parentEventIds:new Set,minEpoch:Number.POSITIVE_INFINITY},c.set(t,n)),n.hops.push(e),n.ownedEventIds.add(e.eventId),void 0!==e.parentEventId&&n.parentEventIds.add(e.parentEventId),n.minEpoch=Math.min(n.minEpoch,Jt(e.timestamp))}const l=function(e){const t=new Map,n=e.map((e,t)=>t).sort((t,n)=>{const r=e[t].platform??Zt,o=e[n].platform??Zt;return r<o?-1:r>o?1:0});e.forEach((r,o)=>{if(0!==r.parentEventIds.size)for(const s of n){if(s===o)continue;let n=!1;for(const t of e[s].ownedEventIds)if(r.parentEventIds.has(t)){n=!0;break}if(n){t.set(o,s);break}}});const r=e=>{let n=0,r=e;const o=new Set;for(;!o.has(r);){o.add(r);const e=t.get(r);if(void 0===e)break;r=e,n+=1}return n};return e.map((e,t)=>({seg:e,i:t,depth:r(t)})).sort((e,t)=>{if(e.depth!==t.depth)return e.depth-t.depth;if(e.seg.minEpoch!==t.seg.minEpoch)return e.seg.minEpoch-t.seg.minEpoch;const n=e.seg.platform??Zt,r=t.seg.platform??Zt;return n<r?-1:n>r?1:0}).map(e=>e.seg)}([...c.values()]),u=[],f=[];for(const e of l){void 0===e.platform||f.includes(e.platform)||f.push(e.platform);for(const t of an(e.hops,s))u.push(t)}let p=Number.POSITIVE_INFINITY,d=Number.NEGATIVE_INFINITY;for(const e of r){const t=Jt(e.timestamp);t<p&&(p=t),t>d&&(d=t)}const m=on(u,f,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}(f,p,d,o.gaps);return{id:e,correlation:t,...void 0!==n?{traceId:n}:{},entry:cn(r),hops:u,platforms:f,status:m,lossy:g,firstTimestamp:p,lastTimestamp:d,totalMs:d-p}}function un(e,t){const n={...void 0!==t?.topology?{topo:nn(t.topology)}:{},settleMs:t?.settleMs??Wt,now:t?.now??Date.now(),gaps:[]},r=function(e){const t=new Set,n=[];for(const r of e){const e=void 0!==r.seq?`seq${Ht}${r.platform??""}${Ht}${r.seq}`:`tuple${Ht}${r.platform??""}${Ht}${r.stepId}${Ht}${r.phase}${Ht}${r.eventId}${Ht}${r.branchId??""}${Ht}${r.elapsedMs}`;t.has(e)||(t.add(e),n.push(r))}return n}(e),o=[...r].sort(Xt);n.gaps=function(e){const t=new Map;for(const n of e){if(void 0===n.seq)continue;const e=n.platform??Zt,r=t.get(e);r?r.push(n):t.set(e,[n])}const n=[];for(const e of[...t.keys()].sort()){const r=t.get(e);if(void 0===r)continue;const o=[...r].sort((e,t)=>{const n=Jt(e.timestamp),r=Jt(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:Jt(s.timestamp),toMs:Jt(e.timestamp),afterSeq:i,beforeSeq:t})}s=e,i=t}else s=e,i=t}else s=e,i=t}}return n}(r);const s=o.filter(e=>!(""===e.eventId&&!e.traceId)),i=new Map;for(const e of s){const t=e.traceId?e.traceId:void 0,n=t?`trace${Ht}${t}`:`event${Ht}${e.eventId}`;let r=i.get(n);r||(r=t?{id:t,correlation:"trace",traceId:t,records:[]}:{id:`event:${e.eventId}`,correlation:"legacy",records:[]},i.set(n,r)),r.records.push(e)}const a=[...i.values()].map(e=>ln(e.id,e.correlation,e.traceId,e.records,n));return a.sort((e,t)=>e.firstTimestamp!==t.firstTimestamp?e.firstTimestamp-t.firstTimestamp:e.id<t.id?-1:e.id>t.id?1:0),{journeys:a,gaps:n.gaps}}var fn=null;function pn(){return fn}function dn(e){fn=e}function mn(e,t){if(0===e.observers.size)return;const n=Array.from(e.observers);for(const e of n)try{e(t)}catch{}}function gn(e){const t=e.batchMs,n="number"==typeof t&&Number.isFinite(t)&&t>0?Math.floor(t):50,r=e.batchSize,o="number"==typeof r&&Number.isFinite(r)&&r>=1?Math.floor(r):50,s=e.maxBodyBytes,i="number"==typeof s&&Number.isFinite(s)&&s>=1?Math.floor(s):6e4,a=e.fetch??((e,t)=>globalThis.fetch(e,t)),c=e.onError??(()=>{});let l=[],u=null,f=0;function p(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[...p(e.slice(0,r)),...p(e.slice(r))]}function d(t){return Promise.resolve().then(()=>a(e.url,{method:"POST",headers:{...e.headers,"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 m(){if(0===l.length)return;const e=l;l=[],u&&(clearTimeout(u),u=null);const t=p(e);(async()=>{for(const e of t)await d(e)})()}return e=>{l.push({...e,seq:++f}),l.length>=o?m():null===u&&(u=setTimeout(m,n))}}function hn(e){return e?{userAgent:e,browser:vn(e),browserVersion:yn(e),os:bn(e),osVersion:wn(e),deviceType:kn(e)}:{}}function vn(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 yn(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 bn(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 wn(e){const t=e.match(/(?:Windows NT|Mac OS X|Android|iPhone OS) ([0-9._]+)/);return t?t[1].replace(/_/g,"."):void 0}function kn(e){let t="Desktop";return/Tablet|iPad/i.test(e)?t="Tablet":/Mobi|Android|iPhone|iPod|BlackBerry|Opera Mini|IEMobile|WPDesktop/i.test(e)&&(t="Mobile"),t}function En(e){return function(e){return/\breturn\b/.test(e)}(e)?e:`return ${e}`}function Sn(e){const t=En(e);return new Function("value","context",t)}function $n(e){const t=En(e);return new Function("value","context",t)}function An(e){const t=En(e);return new Function("value","context",t)}var On="https://cdn.jsdelivr.net/npm",jn="dist/walkerOS.json";function In(e){return"string"==typeof e||Array.isArray(e)&&e.every(e=>"string"==typeof e)?e:void 0}async function xn(e,t){const n=t?.version||"latest",r=t?.timeout||1e4,o=new AbortController,s=setTimeout(()=>o.abort(),r),i=o.signal,a=t?.client?{"X-Walkeros-Client":t.client}:void 0;try{if(t?.baseUrl){const r=`${t.baseUrl}/api/packages/${encodeURIComponent(e)}?version=${encodeURIComponent(n)}&expand=all`,o=await fetch(r,{signal:i,...a&&{headers:a}});if(!o.ok)throw new Error(`Failed to fetch ${r} (HTTP ${o.status})`);return function(e,t,n){const r=n.schemas||{},o=n.examples||{},s=n.hints,i=n.hintKeys??(s?Object.keys(s):[]),a=n.exampleSummaries??[],c=n.platform;return{packageName:n.package||e,version:"string"==typeof n.version?n.version:t,...void 0!==n.description&&{description:n.description},...void 0!==n.type&&{type:n.type},...void 0!==c&&{platform:c},schemas:r,examples:o,...void 0!==n.docs&&{docs:n.docs},...void 0!==n.source&&{source:n.source},...s&&Object.keys(s).length>0?{hints:s}:{},hintKeys:i,exampleSummaries:a}}(e,n,await o.json())}const r=`${On}/${e}@${n}`,o=await _n(`${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):[],l=[],u=i.step||{};for(const[e,t]of Object.entries(u)){const n=t,r={name:e};"string"==typeof n?.description&&(r.description=n.description),l.push(r)}const f="string"==typeof o.docs?o.docs:void 0,p="string"==typeof o.source?o.source:void 0;return{packageName:e,version:"string"==typeof n.version?n.version:t,description:"string"==typeof n.description?n.description:void 0,type:"string"==typeof o.type?o.type:void 0,platform:In(o.platform),schemas:s,examples:i,...f?{docs:f}:{},...p?{source:p}:{},...a&&Object.keys(a).length>0?{hints:a}:{},hintKeys:c,exampleSummaries:l}}(e,n,o,await _n(`${r}/${jn}`,i,a))}finally{clearTimeout(s)}}async function _n(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 Mn(e,t){const n=await xn(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 Nn="observe";function Tn(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 Cn="call:";function Rn(e){const t=(e.startsWith(Cn)?e.slice(Cn.length):e).split(".");return t.some(e=>""===e)?[]:t}var Pn="obsw_";function Fn(e){if(!e.startsWith(Pn))return null;const t=e.slice(Pn.length).split("."),[n,r,o]=t;return 3===t.length&&n&&r&&o?{pb:n,ses:r,secret:o}:null}function zn(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;var i;return void 0!==s&&("off"===(i=s)||"standard"===i||"trace"===i)&&(o.level=s),o}function Dn(e,t){const n=t?{...e,_hints:t}:e;return{content:[{type:"text",text:JSON.stringify(n,null,2)}],structuredContent:n}}function Vn(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 Ln(e){let t=!1;return(n={})=>{t||(t=!0,e(n))}}function Un(e){if(void 0===e||"*"===e)return()=>!0;if("and"in e){const t=e.and.map(Un);return e=>t.every(t=>t(e))}if("or"in e){const t=e.or.map(Un);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=Ee(e,t),r=s(n);return o?!r:r}}(e)}function Kn(e){return"object"==typeof e&&null!==e&&!Array.isArray(e)&&("match"in e||"next"in e||"one"in e||"many"in e)}function Bn(e){return Array.isArray(e)&&e.length>0&&e.every(e=>Kn(e))}function Wn(e){return e.map(e=>{if("string"==typeof e)return{match:()=>!0,next:{type:"static",value:e}};if(Array.isArray(e))return{match:()=>!0,next:qn(e)??{type:"chain",value:[]}};const t=e;return{match:t.match?Un(t.match):()=>!0,next:qn(t)??{type:"chain",value:[]}}})}function qn(e){if(null==e)return;if("string"==typeof e)return{type:"static",value:e};if(Array.isArray(e)){if(0===e.length)return;if(Bn(e))return qn({one:e});if(e.every(e=>"string"==typeof e))return{type:"chain",value:e};const t=[];for(const n of e){const e=qn(n);void 0!==e&&t.push(e)}if(0===t.length)return;return{type:"sequence",value:t}}const t=e;if("next"in t&&void 0!==t.next)return t.match?{type:"gate",match:Un(t.match),next:qn(t.next)}:qn(t.next);if("one"in t&&t.one){const e=Wn(t.one);return t.match?{type:"gate",match:Un(t.match),next:{type:"one",routes:e}}:{type:"one",routes:e}}if("many"in t&&t.many){const e=Wn(t.many);return t.match?{type:"gate",match:Un(t.match),next:{type:"many",routes:e}}:{type:"many",routes:e}}return t.match?{type:"gate",match:Un(t.match)}:void 0}var Zn=new WeakMap;function Hn(e,t={}){if(null==e)return[];let n;if("object"==typeof e){const t=Zn.get(e);t?n=t:(n=qn(e),n&&Zn.set(e,n))}else n=qn(e);if(!n)return[];const r=Gn(n,t);return void 0===r?[]:Array.isArray(r)?r:[r]}function Gn(e,t={}){if(e){if("static"===e.type)return e.value;if("chain"===e.type)return e.value;if("gate"===e.type){if(!e.match(t))return;return Gn(e.next,t)}if("sequence"===e.type){const n=[];for(const r of e.value){const e=Gn(r,t);void 0!==e&&(Array.isArray(e)?n.push(...e):n.push(e))}return n.length>0?n:void 0}if("many"===e.type){const n=[];for(const r of e.routes){if(!r.match(t))continue;const e=Gn(r.next,t);void 0!==e&&(Array.isArray(e)?n.push(...e):n.push(e))}return n.length>0?n:void 0}for(const n of e.routes)if(n.match(t))return Gn(n.next,t)}}var Jn="__walkeros_cache_v__",Xn="__walkeros_cache_exp__";function Yn(e,t,n=Date.now){const r={[Jn]:e};return void 0!==t&&(r[Xn]=n()+t),r}function Qn(e,t=Date.now){if(void 0===e)return;if(null===(n=e)||"object"!=typeof n||Array.isArray(n)||!(Jn in e))return{value:e};var n;const r=e[Xn];return"number"==typeof r&&t()>r?{expired:!0}:{value:e[Jn]}}var er="__walkeros_cache__",tr=class extends Error{constructor(e,t){super(e,t),this.name="StoreCodecError"}};function nr(e){return null!==e&&"object"==typeof e&&!Array.isArray(e)}function rr(e){if(Buffer.isBuffer(e))return{[er]:"buffer",d:e.toString("base64")};if(e instanceof Uint8Array)return{[er]:"buffer",d:Buffer.from(e.buffer,e.byteOffset,e.byteLength).toString("base64")};if(e instanceof ArrayBuffer)return{[er]:"buffer",d:Buffer.from(e).toString("base64")};if(Array.isArray(e))return e.map(rr);if(nr(e)){if(er in e){const t={};for(const[n,r]of Object.entries(e))t[n]=rr(r);return{[er]:"escape",d:t}}const t={};for(const[n,r]of Object.entries(e))t[n]=rr(r);return t}return e}function or(e,t){if(nr(e)){if(er in e){const n=e[er],r=e.d;if("buffer"===n&&"string"==typeof r)return t(Buffer.from(r,"base64"));if("escape"===n&&nr(r)){const e={};for(const[n,o]of Object.entries(r))e[n]=or(o,t);return e}}const n={};for(const[r,o]of Object.entries(e))n[r]=or(o,t);return n}return Array.isArray(e)?e.map(e=>or(e,t)):e}function sr(e){return new Uint8Array(e.buffer,e.byteOffset,e.byteLength)}function ir(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||ir(e)):!!nr(e)&&Object.values(e).every(e=>void 0===e||ir(e)))}function ar(e){let t;try{t=JSON.stringify(rr(e))}catch(e){throw new tr("Failed to serialize store value (likely a cyclic structure).",{cause:e})}return new Uint8Array(Buffer.from(t,"utf8"))}function cr(e){const t="string"==typeof e?e:Buffer.from(e).toString("utf8"),n=or(JSON.parse(t),sr);if(!ir(n))throw new tr("Restored value is not a valid StoreValue.");return n}function lr(e,t){const n={ingest:e??{}};return void 0!==t&&(n.event=t),n}function ur(e){return{stop:e.stop??!1,storeId:e.store,namespace:e.namespace,rules:e.rules.map(e=>({match:e.match?Un(e.match):()=>!0,key:e.key,ttl:e.ttl,update:e.update}))}}async function fr(e,t,n,r){const o=e.rules.find(e=>e.match(n));if(!o)return null;const s=o.key.map(e=>String(Ee(n,e)??""));if(s.every(e=>""===e))return null;const i=s.join(":"),a=r??e.namespace,c=a?`${a}:${i}`:i,l=Qn(await t.get(c));if(void 0===l)return{status:"MISS",key:c,rule:o};if("expired"in l){try{await t.delete(c)}catch{}return{status:"MISS",key:c,rule:o}}return{status:"HIT",key:c,value:l.value,rule:o}}function pr(e,t,n,r){if(!ir(n))return;const o=1e3*r,s=e.set(t,Yn(n,o),o);s instanceof Promise&&s.catch(()=>{})}async function dr(e,t,n,r){if(!t)return e;let o=e;for(const[e,s]of Object.entries(t)){o=Se(o,e,await it(n,s,{collector:r}))}return o}function mr(e){return fe(e)?e:[e]}async function gr(e,t,n,r){let o=n;for(const n of e)await rt(async()=>{const e=t(n.store);if(!e)return;const s=await it(o,n.key,{collector:r,event:o});if(!we(s))return;const i=n.store?s:`state:${s}`;if("set"===n.mode){const t=await it(o,n.value,{collector:r,event:o});if(!me(t))return;await e.set(i,t)}else{const t=we(a=n.value)?a:ye(a)&&we(a.key)?a.key:void 0;if(!t)return;const r=await e.get(i);if(!me(r))return;o=Se(o,t,r)}var a},e=>{if(e instanceof ot)throw e;r.logger?.error?.("[state] operation failed",e)})();return o}var hr={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"]},vr=["config","env","variables","examples","disabled","id","logger","mock","chainMocks"],yr={Source:["primary"],Transformer:[],Destination:[],Store:[]},br=/^[A-Za-z_$][A-Za-z0-9_$]*$/;function wr(e,t){const n=function(e){return new Set([...hr[e],...vr,...yr[e]])}(t);for(const r of Object.keys(e))if(!n.has(r))return{ok:!1,code:"UNKNOWN_KEY",key:r,reason:`Unknown key "${r}" on ${t}. Allowed: ${[...n].sort().join(", ")}.`};const r=void 0!==e.package,o=void 0!==e.import,s=void 0!==e.code;return s&&"string"==typeof e.code?{ok:!1,code:"OBSOLETE_CODE_STRING",key:"code",reason:`code: "<name>" is no longer supported. Use import: "${e.code}" with the package field instead.`}:s&&("object"!=typeof e.code&&"function"!=typeof e.code||null===e.code||Array.isArray(e.code))?{ok:!1,code:"INVALID_CODE_SHAPE",key:"code",reason:"code must be an object ({ push, type?, init? }) or a resolved function value."}:s&&r?{ok:!1,code:"CONFLICT",key:"package",reason:"Cannot specify both `code` and `package`. Use one or the other."}:s&&o?{ok:!1,code:"CONFLICT",key:"import",reason:"Cannot specify both `code` and `import`."}:o&&!r?{ok:!1,code:"MISSING_PACKAGE",key:"import",reason:"`import` requires `package` to be set."}:!o||"string"==typeof e.import&&br.test(e.import)?{ok:!0}:{ok:!1,code:"INVALID_IMPORT",key:"import",reason:`import must match ${br.source}. Got: ${JSON.stringify(e.import)}.`}}function kr(e,t){return"Transformer"===t&&(void 0===e.code&&void 0===e.package&&void 0===e.import&&(void 0!==e.before||void 0!==e.next||void 0!==e.cache||void 0!==e.state||void 0!==e.mapping))}function Er(e){return 0===e.length?"// no output":e.map(Sr).join(";\n\n")}function Sr(e){const[t,...n]=e,r=n.map($r).join(", ");return"return"===t?r?`return ${r}`:"return":`${t}(${r})`}function $r(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:()=>Tt,Cache:()=>a,Collector:()=>c,Const:()=>T,Context:()=>u,Destination:()=>f,ENV_MARKER_PREFIX:()=>ee,Elb:()=>d,FatalError:()=>ot,Hint:()=>N,Hooks:()=>m,Level:()=>h,Lifecycle:()=>I,Logger:()=>g,MAX_SESSION_MS:()=>Ct,Mapping:()=>v,Matcher:()=>M,OBSERVE_ENV_KEY:()=>Nn,OBSERVE_STORAGE_KEY:()=>zt,On:()=>y,REF_CODE_PREFIX:()=>J,REF_CONTRACT:()=>q,REF_ENV:()=>W,REF_FLOW:()=>Z,REF_SECRET:()=>G,REF_STORE:()=>H,REF_VAR_FULL:()=>K,REF_VAR_INLINE:()=>B,Request:()=>k,SECRET_MARKER_PREFIX:()=>te,SESSION_STORAGE_KEY:()=>Ft,STEP_OPERATIVE_FIELDS:()=>hr,Simulation:()=>_,Source:()=>E,Store:()=>$,StoreCodecError:()=>tr,Transformer:()=>b,Trigger:()=>j,URL_WINDOW_MS:()=>Nt,WalkerOS:()=>x,anonymizeIP:()=>P,applyState:()=>gr,applyUpdate:()=>dr,assembleJourneys:()=>un,assign:()=>le,branch:()=>R,browserSwapActivator:()=>Bt,buildCacheContext:()=>lr,castToProperty:()=>tt,castValue:()=>Ie,checkCache:()=>fr,clone:()=>ke,compileCache:()=>ur,compileMatcher:()=>Un,compileState:()=>mr,createBatchedPoster:()=>gn,createDestination:()=>_e,createEvent:()=>ze,createIngest:()=>C,createLogger:()=>Xe,createMockContext:()=>mt,createMockLogger:()=>dt,createRespond:()=>Vn,createTelemetryObserver:()=>St,debounce:()=>qe,deepMerge:()=>Me,defaultClickIds:()=>Ke,deleteByPath:()=>$e,deserializeStoreValue:()=>cr,emitStep:()=>mn,fetchPackage:()=>xn,fetchPackageSchema:()=>Mn,filterValues:()=>et,flattenIncludeSections:()=>je,formatOut:()=>Er,getBrowser:()=>vn,getBrowserVersion:()=>yn,getByPath:()=>Ee,getDeviceType:()=>kn,getEvent:()=>De,getFlowSettings:()=>ie,getGrantedConsent:()=>xe,getHeaders:()=>yt,getId:()=>Te,getMappingEvent:()=>st,getMappingValue:()=>it,getMarketingParameters:()=>Be,getNextSteps:()=>Hn,getOS:()=>bn,getOSVersion:()=>wn,getPlatform:()=>ae,getSpanId:()=>Fe,getTraceId:()=>Le,getTraceUntil:()=>pn,isArguments:()=>ue,isArray:()=>fe,isBoolean:()=>pe,isCommand:()=>de,isDefined:()=>me,isElementOrDocument:()=>ge,isEnvObserve:()=>Tn,isFunction:()=>he,isNumber:()=>ve,isObject:()=>ye,isPathStepEntry:()=>kr,isPropertyType:()=>Qe,isRouteArray:()=>Bn,isRouteConfigEntry:()=>Kn,isSameType:()=>be,isSampled:()=>$t,isStoreValue:()=>ir,isString:()=>we,mcpError:()=>Ln,mcpResult:()=>Dn,mergeContractSchemas:()=>L,mergeMappingRule:()=>ut,mockEnv:()=>ft,observeFromEnv:()=>zn,packageNameToVariable:()=>se,parseCallPath:()=>Rn,parseGrant:()=>Mt,parseObserveCredential:()=>Fn,parseTraceparent:()=>Ue,parseUserAgent:()=>hn,processEventMapping:()=>ct,readCacheEnvelope:()=>Qn,requestToData:()=>gt,requestToParameter:()=>ht,resolveContracts:()=>D,resolveSetup:()=>bt,resolveTelemetryOptions:()=>At,scanFlowRefs:()=>Y,serializeStoreValue:()=>ar,setByPath:()=>Se,setTraceUntil:()=>dn,stepId:()=>l,storeCache:()=>pr,throttle:()=>Ze,throwError:()=>F,transformData:()=>vt,traverseEnv:()=>pt,trim:()=>wt,tryCatch:()=>nt,tryCatchAsync:()=>rt,useHooks:()=>kt,validateStepEntry:()=>wr,verifyActivation:()=>Rt,walkPath:()=>re,wrapCacheEnvelope:()=>Yn,wrapCondition:()=>Sn,wrapFn:()=>$n,wrapValidate:()=>An}),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 l(e,t){if("collector"===e)return"collector";if(!t)throw new Error(`stepId(${e}) requires an id`);return`${e}.${t}`}s(c,{stepId:()=>l});var u={},f={};function p(e,t){const n=e.destinations[t];if(!n)throw new Error(`Destination not found: ${t}`);return n}s(f,{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={},E={};function S(e,t){const n=e.sources[t];if(!n)throw new Error(`Source not found: ${t}`);return n}s(E,{getSource:()=>S});var $={};function A(e,t){const n=e.stores[t];if(!n)throw new Error(`Store not found: ${t}`);return n}async function O(e,t){return await e.get(t)}s($,{getStore:()=>A,getStoreValue:()=>O});var j={},I={},x={},_={},M={},N={},T={Utils:{Storage:{Local:"local",Session:"session",Cookie:"cookie"}}};function C(e){return{_meta:{hops:0,path:[e]}}}function R(e,t){return{event:e,next:t}}function P(e){return/^(?:\d{1,3}\.){3}\d{1,3}$/.test(e)?e.replace(/\.\d+$/,".0"):""}function F(e){throw new Error(String(e))}var z=new Set(["description","examples","title","$comment"]);function D(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=L(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?L(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=L(o,s));const i=e["*"]?.[r];i&&"*"!==r&&(o=L(o,i));const a=e[n]?.["*"];a&&"*"!==r&&(o=L(o,a));const c=e[n]?.[r];c&&(o=L(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]=V(o)}a.events=e}return o.delete(t),r[t]=a,a}for(const t of Object.keys(e))s(t);return r}function L(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])]:U(o)&&U(s)?n[r]=L(o,s):n[r]=s}return n}function V(e){const t={};for(const[n,r]of Object.entries(e))z.has(n)||(null===r||"object"!=typeof r||Array.isArray(r)?t[n]=r:t[n]=V(r));return t}function U(e){return"object"==typeof e&&null!==e&&!Array.isArray(e)}var K=/^\$var\.([a-zA-Z_][a-zA-Z0-9_]*(?:\.[a-zA-Z_][a-zA-Z0-9_]*)*)$/,B=/\$var\.([a-zA-Z_][a-zA-Z0-9_]*(?:\.[a-zA-Z_][a-zA-Z0-9_]*)*)/g,W=/\$env\.([a-zA-Z_][a-zA-Z0-9_]*)(?::([^"}\s]*))?/g,q=/^\$contract\.([a-zA-Z_][a-zA-Z0-9_]*)(?:\.(.+))?$/,Z=/^\$flow\.([a-zA-Z_][a-zA-Z0-9_]*)(?:\.([a-zA-Z0-9_.]+))?$/,H=/^\$store\.([a-zA-Z_][a-zA-Z0-9_]*)$/,G=/^\$secret\.([A-Z0-9_]+)$/,J="$code:",X=/\$flow\.([a-zA-Z_][a-zA-Z0-9_]*)/g;function Y(e,t){const n=t??new Set;if("string"==typeof e){for(const t of e.matchAll(X))n.add(t[1]);return n}if(e&&"object"==typeof e)for(const t of Object.values(e))Y(t,n);return n}function Q(...e){const t={};for(const n of e)n&&Object.assign(t,n);return t}var ee="__WALKEROS_ENV:",te="__WALKEROS_SECRET:";function ne(e,t,n){const r=`$flow.${e}${t?`.${t}`:""}`;if("unknown-flow"===n)return`${r} cannot resolve: flow "${e}" does not exist in this config.`;return`${r} is empty. Set ${t?`flows.${e}.config.${t}`:`flows.${e}.config`}, or run \`walkeros deploy ${e}\` first.`}function re(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 oe(e,t,n,r,o,s){if("string"==typeof e){const i=e.match(K);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 l=s??new Set;if(l.has(a)){F(`Cyclic $var reference: ${[...l,a].join(" -> ")}`)}let u;l.add(a);try{u=oe(t[a],t,n,r,o,l)}finally{l.delete(a)}return c&&(u=re(u,c,`$var.${a}`)),u}const a=e.match(q);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=re(n,t,`$contract.${e}`)),n}const c=e.match(Z);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?.(ne(t,r,"unknown-flow")),e;F(`Flow "${t}" not found in $flow.${t}`)}let a=i;if(r)if(s){try{a=re(a,r,`$flow.${t}`)}catch{return n?.onWarning?.(ne(t,r,"missing-key")),e}if(null==a||""===a)return n?.onWarning?.(ne(t,r,"missing-key")),e}else a=re(a,r,`$flow.${t}`);return a}const l=e.match(G);if(l){const e=l[1];if(n?.deferred)return`${te}${e}`;F(`Secret "$secret.${e}" cannot be used in a web flow — secrets are never sent to the browser. Use a server flow.`)}let u=e.replace(B,(e,i)=>{const a=i.split("."),c=a[0],l=a.slice(1).join(".");void 0===t[c]&&F(`Variable "${c}" not found`);const u=s??new Set;if(u.has(c)){F(`Cyclic $var reference: ${[...u,c].join(" -> ")}`)}let f;u.add(c);try{f=oe(t[c],t,n,r,o,u)}finally{u.delete(c)}if(l&&(f=re(f,l,`$var.${c}`)),null===f||"string"!=typeof f&&"number"!=typeof f&&"boolean"!=typeof f){F(`Variable "${i}" resolves to non-scalar (${Array.isArray(f)?"array":typeof f}) and cannot be inlined into a string. Use it as a whole-string reference: "$var.${i}"`)}return String(f)});return u=u.replace(W,(e,t,r)=>n?.deferred?void 0!==r?`${ee}${t}:${r}`:`${ee}${t}`:"undefined"!=typeof process&&void 0!==process.env?.[t]?process.env[t]:void 0!==r?r:void F(`Environment variable "${t}" not found and no default provided`)),u}if(Array.isArray(e))return e.map(e=>oe(e,t,n,r,o,s));if(null!==e&&"object"==typeof e){const i={};for(const[a,c]of Object.entries(e))i[a]=oe(c,t,n,r,o,s);return i}return e}function se(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 ie(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)){F(`Cyclic $flow reference: ${[...s,t].join(" -> ")}`)}o.add(t),s.push(t);try{const o=Q(e.variables,a.variables),s=oe(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=Q(e.variables,t.variables);s=D(oe(e.contract,o,n,void 0,r))}if(o.config){const i=Q(e.variables,t.variables);o.config=oe(o.config,i,n,s,r)}if(o.sources)for(const[i,a]of Object.entries(o.sources)){const c=Q(e.variables,t.variables,a.variables),l=oe(a.config,c,n,s,r),u=oe(a.env,c,n,s,r);o.sources[i]={package:a.package,import:a.import,config:l,env:u,primary:a.primary,variables:a.variables,before:a.before,next:a.next,cache:a.cache,code:a.code}}if(o.destinations)for(const[i,a]of Object.entries(o.destinations)){const c=Q(e.variables,t.variables,a.variables),l=oe(a.config,c,n,s,r),u=oe(a.env,c,n,s,r);o.destinations[i]={package:a.package,import:a.import,config:l,env:u,variables:a.variables,before:a.before,next:a.next,cache:a.cache,code:a.code}}if(o.stores)for(const[i,a]of Object.entries(o.stores)){const c=Q(e.variables,t.variables,a.variables),l=oe(a.config,c,n,s,r),u=oe(a.env,c,n,s,r);o.stores[i]={package:a.package,import:a.import,config:l,env:u,cache:a.cache,variables:a.variables,code:a.code}}if(o.transformers)for(const[i,a]of Object.entries(o.transformers)){const c=Q(e.variables,t.variables,a.variables),l=oe(a.config,c,n,s,r),u=oe(a.env,c,n,s,r);o.transformers[i]={package:a.package,import:a.import,config:l,env:u,variables:a.variables,before:a.before,next:a.next,cache:a.cache,code:a.code}}if(o.collector){const i=Q(e.variables,t.variables),a=oe(o.collector,i,n,s,r);o.collector=a}return o}(e,c,n,i)}finally{o.delete(t),s.pop()}}function ae(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 ce={merge:!0,shallow:!0,extend:!0};function le(e,t={},n={}){n={...ce,...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 ue(e){return"[object Arguments]"===Object.prototype.toString.call(e)}function fe(e){return Array.isArray(e)}function pe(e){return"boolean"==typeof e}function de(e){return"walker"===e}function me(e){return void 0!==e}function ge(e){return!(!e||"object"!=typeof e)&&("body"in e||"tagName"in e)}function he(e){return"function"==typeof e}function ve(e){return"number"==typeof e&&!Number.isNaN(e)}function ye(e){return"object"==typeof e&&null!==e&&!fe(e)&&"[object Object]"===Object.prototype.toString.call(e)}function be(e,t){return typeof e==typeof t}function we(e){return"string"==typeof e}function ke(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]=ke(e[r],t));return n}if("[object Array]"===n){const n=[];return t.set(e,n),e.forEach(e=>{n.push(ke(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 Ee(e,t="",n){const r=t.split(".");let o=e;for(let e=0;e<r.length;e++){const t=r[e];if("*"===t&&fe(o)){const t=r.slice(e+1).join("."),s=[];for(const e of o){const r=Ee(e,t,n);s.push(r)}return s}if(o=ye(o)||fe(o)?o[t]:void 0,void 0===o)break}return me(o)?o:n}function Se(e,t,n){if(!ye(e))return e;const r=ke(e),o=t.split(".");let s=r;for(let e=0;e<o.length;e++){const t=o[e];e===o.length-1?s[t]=n:(t in s&&"object"==typeof s[t]&&null!==s[t]||(s[t]={}),s=s[t])}return r}function $e(e,t){if(!ye(e)&&!fe(e))return e;const n=ke(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(fe(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(!ye(t)&&!fe(t))return n;o=t}}else if(s)delete o[t];else{const e=o[t];if(!ye(e)&&!fe(e))return n;o=e}}return n}var Ae={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 Oe(e,t,n){if(ye(n))for(const[r,o]of Object.entries(n))void 0!==o&&Oe(e,`${t}_${r}`,o);else e[t]=n}function je(e,t){const n={},r=t.includes("all")?Object.keys(Ae):t;for(const t of r){const r=Ae[t];if(!r)continue;const o=r(e);if(ye(o))for(const[e,r]of Object.entries(o)){if(void 0===r)continue;Oe(n,`${t}_${e}`,"context"===t&&Array.isArray(r)?r[0]:r)}}return n}function Ie(e){if("true"===e)return!0;if("false"===e)return!1;const t=Number(e);return e==t&&""!==e?t:String(e)}function xe(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 _e(e,t){const n={...e};return n.config=le(e.config,t,{shallow:!0,merge:!0,extend:!0}),e.config.settings&&t.settings&&(n.config.settings=le(e.config.settings,t.settings,{shallow:!0,merge:!0,extend:!0})),e.config.mapping&&t.mapping&&(n.config.mapping=le(e.config.mapping,t.mapping,{shallow:!0,merge:!0,extend:!0})),n}function Me(e,t){if(!ye(t))return e;for(const n of Object.keys(t)){const r=t[n];void 0!==r&&(ye(r)&&ye(e[n])?Me(e[n],r):e[n]=r)}return e}var Ne="0123456789abcdefghijklmnopqrstuvwxyz";function Te(e=6,t=Ne){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(!Ce(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 Ce(e){try{const t=globalThis.crypto;if(t&&"function"==typeof t.getRandomValues)return t.getRandomValues(e),!0}catch{}return!1}var Re="0123456789abcdef";function Pe(e){let t=Te(e,Re);for(;/^0+$/.test(t);)t=Te(e,Re);return t}function Fe(){return Pe(16)}function ze(e={}){const t=e.timestamp||(new Date).setHours(0,13,37,0),n=le({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||Fe(),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 De(e="entity action",t={}){const n=t.timestamp||(new Date).setHours(0,13,37,0),r={data:{id:"ers",name:"Everyday Ruck Snack",color:"black",size:"l",price:420}},o={data:{id:"cc",name:"Cool Cap",size:"one size",price:42}};return ze({...{"cart view":{data:{currency:"EUR",value:2*r.data.price},context:{shopping:["cart",0]},globals:{pagegroup:"shop"},nested:[{entity:"product",data:{...r.data,quantity:2},context:{shopping:["cart",0]},nested:[]}],trigger:"load"},"checkout view":{data:{step:"payment",currency:"EUR",value:r.data.price+o.data.price},context:{shopping:["checkout",0]},globals:{pagegroup:"shop"},nested:[{entity:"product",...r,context:{shopping:["checkout",0]},nested:[]},{entity:"product",...o,context:{shopping:["checkout",0]},nested:[]}],trigger:"load"},"order complete":{data:{id:"0rd3r1d",currency:"EUR",shipping:5.22,taxes:73.76,total:555},context:{shopping:["complete",0]},globals:{pagegroup:"shop"},nested:[{entity:"product",...r,context:{shopping:["complete",0]},nested:[]},{entity:"product",...o,context:{shopping:["complete",0]},nested:[]},{entity:"gift",data:{name:"Surprise"},context:{shopping:["complete",0]},nested:[]}],trigger:"load"},"page view":{data:{domain:"www.example.com",title:"walkerOS documentation",referrer:"https://www.walkeros.io/",search:"?foo=bar",hash:"#hash",id:"/docs/"},globals:{pagegroup:"docs"},trigger:"load"},"product add":{...r,context:{shopping:["intent",0]},globals:{pagegroup:"shop"},nested:[],trigger:"click"},"product view":{...r,context:{shopping:["detail",0]},globals:{pagegroup:"shop"},nested:[],trigger:"load"},"product visible":{data:{...r.data,position:3,promo:!0},context:{shopping:["discover",0]},globals:{pagegroup:"shop"},nested:[],trigger:"load"},"promotion visible":{data:{name:"Setting up tracking easily",position:"hero"},context:{ab_test:["engagement",0]},globals:{pagegroup:"homepage"},trigger:"visible"},"session start":{data:{id:"s3ss10n",start:n,isNew:!0,count:1,runs:1,isStart:!0,storage:!0,referrer:"",device:"c00k13"},user:{id:"us3r",device:"c00k13",session:"s3ss10n",hash:"h4sh",address:"street number",email:"user@example.com",phone:"+49 123 456 789",userAgent:"Mozilla...",browser:"Chrome",browserVersion:"90",deviceType:"desktop",language:"de-DE",country:"DE",region:"HH",city:"Hamburg",zip:"20354",timezone:"Berlin",os:"walkerOS",osVersion:"1.0",screenSize:"1337x420",ip:"127.0.0.0",internal:!0,custom:"value"}}}[e],...t,name:e})}function Le(){return Pe(32)}var Ve=/^(?<version>[0-9a-f]{2})-(?<trace>[0-9a-f]{32})-(?<span>[0-9a-f]{16})-[0-9a-f]{2}$/;function Ue(e){if("string"!=typeof e)return;const t=Ve.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 Ke=[{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 Be(e,t={},n=[]){const r={};Object.entries(le({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(Ke.map(e=>e.param));return[...Ke.map(e=>t.has(e.param)?{param:e.param,platform:t.get(e.param)}:e),...e.filter(e=>!n.has(e.param))]}(n):Ke,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 We(e,t){return"number"==typeof e?{wait:e}:e?{wait:e.wait??t,size:e.size,age:e.age}:{wait:t}}function qe(e,t=1e3,n=!1){const{wait:r,size:o,age:s}=We(t,1e3);let i,a,c=null,l=null,u=!1,f=[],p=0;const d=()=>{c&&(clearTimeout(c),c=null),l&&(clearTimeout(l),l=null),p=0,a=void 0},m=()=>{const t=a,n=f;if(d(),f=[],t)return i=e(...t),n.forEach(e=>e(i)),i;n.forEach(e=>e(void 0))},g=(...t)=>new Promise(d=>{const g=n&&!u;if(a=t,p+=1,f.push(d),c&&clearTimeout(c),c=setTimeout(()=>{c=null,n&&!u||m()},r),void 0===s||l||(l=setTimeout(()=>{l=null,m()},s)),void 0!==o&&p>=o)m();else if(g){u=!0,i=e(...t);const n=f;f=[],n.forEach(e=>e(i))}});return g.flush=()=>a||0!==f.length?new Promise(e=>{f.push(e),m()}):Promise.resolve(i),g.cancel=()=>{const e=f;f=[],d(),i=void 0,e.forEach(e=>e(void 0))},g.size=()=>p,g}function Ze(e,t=1e3){const{wait:n}=We(t,1e3);let r=null;return function(...t){if(null===r)return r=setTimeout(()=>{r=null},n),e(...t)}}function He(e){return{message:e.message,name:e.name,stack:e.stack,cause:e.cause}}function Ge(e,t){let n,r={};return e instanceof Error?(n=e.message,r.error=He(e)):n=e,void 0!==t&&(t instanceof Error?r.error=He(t):"object"==typeof t&&null!==t?(r={...r,...t},"error"in r&&r.error instanceof Error&&(r.error=He(r.error))):r.value=t),{message:n,context:r}}var Je=(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 Xe(e={}){return Ye({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 Ye(e){const{level:t,handler:n,jsonHandler:r,scope:o}=e,s=(e,r,s)=>{if(e<=t){const t=Ge(r,s);n?n(e,t.message,t.context,o,Je):Je(e,t.message,t.context,o)}};return{error:(e,t)=>s(0,e,t),warn:(e,t)=>s(1,e,t),info:(e,t)=>s(2,e,t),debug:(e,t)=>s(3,e,t),throw:(e,t)=>{const r=Ge(e,t);throw n?n(0,r.message,r.context,o,Je):Je(0,r.message,r.context,o),new Error(r.message)},json:e=>{r?r(e):console.log(JSON.stringify(e,null,2))},scope:e=>Ye({level:t,handler:n,jsonHandler:r,scope:[...o,e]})}}function Qe(e){return pe(e)||we(e)||ve(e)||!me(e)||fe(e)&&e.every(Qe)||ye(e)&&Object.values(e).every(Qe)}function et(e){return pe(e)||we(e)||ve(e)?e:ue(e)?et(Array.from(e)):fe(e)?e.map(e=>et(e)).filter(e=>void 0!==e):ye(e)?Object.entries(e).reduce((e,[t,n])=>{const r=et(n);return void 0!==r&&(e[t]=r),e},{}):void 0}function tt(e){return Qe(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 rt(e,t,n){return async function(...r){try{return await e(...r)}catch(e){if(!t)return;return await t(e)}finally{await(n?.())}}}var ot=class e extends Error{constructor(t,n){super(t,n),this.name="FatalError",Object.setPrototypeOf(this,e.prototype)}};async function st(e,t,n){const[r,o]=(e.name||"").split(" ");if(!t||!r||!o)return{};let s,i="",a=r,c=o;const l=t=>{if(!t)return;return(fe(t)?t:[t]).find(t=>{if(!t.condition)return!0;if(!n)return Boolean(t.condition(e,void 0));const r={event:e,mapping:t,collector:n,logger:n.logger,consent:ye(e)&&e.consent||n.consent};return Boolean(t.condition(e,r))})};t[a]||(a="*");const u=t[a];return u&&(u[c]||(c="*"),s=l(u[c])),s||(a="*",c="*",s=l(t[a]?.[c])),s&&(i=`${a} ${c}`),{eventMapping:s,mappingKey:i}}async function it(e,t={},n={}){if(!me(e))return;const r=ye(e)&&e.consent||n.consent||n.collector?.consent,o=n.event??(ye(e)?e:{});if(!n.collector)throw new Error("getMappingValue: context.collector is required");const s={event:o,mapping:t,collector:n.collector,logger:n.collector.logger,consent:r},i=fe(t)?t:[t];for(const t of i){const r=await rt(at,e=>{if(e instanceof ot)throw e;n.collector&&n.collector.status.failed++,s.logger.error("mapping processing failed",{event:o,error:e})})(e,t,{...s,mapping:t});if(me(r))return r}}async function at(e,t,n){return(fe(t)?t:[t]).reduce(async(t,r)=>{const o=await t;if(o)return o;const s=we(r)?{key:r}:r;if(!Object.keys(s).length)return;const{condition:i,consent:a,fn:c,key:l,loop:u,map:f,set:p,validate:d,value:m}=s,g={...n,mapping:r};if(i&&!await rt(i,e=>{if(e instanceof ot)throw e;return g.logger.error("mapping condition failed",{event:g.event,error:e}),!1})(e,g))return;if(a&&!xe(a,g.consent))return m;let h=me(m)?m:e;if(c&&(h=await rt(c,e=>{if(e instanceof ot)throw e;g.logger.error("mapping fn failed",{event:g.event,error:e})})(e,g)),l&&(h=Ee(e,l,m)),u){const[t,n]=u,r="this"===t?[e]:await it(e,t,g);fe(r)&&(h=(await Promise.all(r.map(e=>it(e,n,g)))).filter(me))}else f?h=await Object.entries(f).reduce(async(t,[n,r])=>{const o=await t,s=await it(e,r,g);return me(s)&&(o[n]=s),o},Promise.resolve({})):p&&(h=await Promise.all(p.map(t=>at(e,t,g))));d&&!await rt(d,e=>{if(e instanceof ot)throw e;return g.logger.error("mapping validate failed",{event:g.event,error:e}),!1})(h,g)&&(h=void 0);const v=tt(h);return me(v)?v:tt(m)},Promise.resolve(void 0))}async function ct(e,t,n){t.policy&&await Promise.all(Object.entries(t.policy).map(async([t,r])=>{const o=await it(e,r,{collector:n,event:e});e=Se(e,t,o)}));const{eventMapping:r,mappingKey:o}=await st(e,t.mapping,n);r?.policy&&await Promise.all(Object.entries(r.policy).map(async([t,r])=>{const o=await it(e,r,{collector:n,event:e});e=Se(e,t,o)}));let s=t.data&&await it(e,t.data,{collector:n,event:e});const i=Boolean(r?.silent);if(r){if(r.ignore)return{event:e,data:s,mapping:r,mappingKey:o,ignore:!0,silent:i};if(r.name&&(e.name=r.name),r.data){const t=r.data&&await it(e,r.data,{collector:n,event:e});s=ye(s)&&ye(t)?le(s,t):t}}const a=r?.include??t.include;if(a&&a.length>0){const t=je(e,a);Object.keys(t).length>0&&(s=ye(s)?le(t,s):s??t)}if(r?.remove&&ye(s))for(const e of r.remove)s=$e(s,e);return{event:e,data:s,mapping:r,mappingKey:o,ignore:!1,silent:i}}function lt(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];ye(r)&&ye(o)?lt(o,r):e[n]=r}return e}function ut(e,t){if(void 0===t.extend&&void 0===t.remove)return ke(t);const n={...ke(e)};if(t.extend){lt(n,{...t.extend})}return delete n.extend,t.remove?n.remove=[...t.remove]:delete n.remove,n}function ft(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 pt(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 dt(){const e=[],t=jest.fn(e=>{const t=e instanceof Error?e.message:e;throw new Error(t)}),n=jest.fn(t=>{const n=dt();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 mt(e={}){return{collector:{},config:{},env:{},logger:dt(),id:"test",ingest:C("test"),...e}}function gt(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(fe(o)){const i=parseInt(t,10);s?o[i]=Ie(e):(o[i]=o[i]||(isNaN(parseInt(r[n+1],10))?{}:[]),o=o[i])}else ye(o)&&(s?o[t]=Ie(e):(o[t]=o[t]||(isNaN(parseInt(r[n+1],10))?{}:[]),o=o[t]))})}),t})()}function ht(e){if(!e)return"";const t=[],n=encodeURIComponent;function r(e,o){null!=o&&(fe(o)?o.forEach((t,n)=>r(`${e}[${n}]`,t)):ye(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 vt(e){return void 0===e||be(e,"")?e:JSON.stringify(e)}function yt(e={}){return le({"Content-Type":"application/json; charset=utf-8"},e)}function bt(e,t){return!1===e||void 0===e?null:!0===e?t:{...t,...e}}function wt(e){return e?e.trim().replace(/^'|'$/g,"").trim():""}function kt(e,t,n,r){const o=e;return function(...e){let s;const i="pre"+t,a="post"+t,c=n[i],l=n[a],u=(e,t)=>{r?r.warn(e,{error:t}):console.warn(e,t)};if(c)try{s=c({fn:o},...e)}catch(t){u(`Hook ${String(i)} failed, falling back to original function`,t),s=o(...e)}else s=o(...e);if(l)try{s=l({fn:o,result:s},...e)}catch(e){u(`Hook ${String(a)} failed, keeping original result`,e)}return s}}function Et(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 St(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&&!Et(t.eventId,i))return;const a=r.includeIn??"trace"===o,c=r.includeOut??"trace"===o,l=r.includeMappingKey??"trace"===o,u={...t};a||delete u.inEvent,c||(delete u.outEvent,delete u.calls),l||delete u.mappingKey,"trace"!==o&&u.error?.message&&u.error.message.length>256&&(u.error={...u.error,message:u.error.message.slice(0,256)+"…"});try{e(u)}catch{}}}function $t(e,t){return Et(e,t)}function At(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 Ot=/^[A-Za-z0-9_-]+$/;function jt(e){if(!Ot.test(e))return null;const t=e.length%4==0?"":"=".repeat(4-e.length%4),n=e.replace(/-/g,"+").replace(/_/g,"/")+t,r=globalThis.atob;if(!r)return null;try{const e=r(n),t=new Uint8Array(e.length);for(let n=0;n<e.length;n++)t[n]=e.charCodeAt(n);return t}catch{return null}}function It(e){const t=new Uint8Array(e.length);for(let n=0;n<e.length;n++)t[n]=e.charCodeAt(n);return t}function xt(e){const t=jt(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 _t(e){return"object"==typeof e&&null!==e&&!Array.isArray(e)}function Mt(e){if(!e)return null;const t=e.split("."),[n,r,o]=t;if(3!==t.length||!n||!r||!o)return null;const s=xt(n);if(!_t(s))return null;const i=s.kid,a=s.alg;if("string"!=typeof i||"ES256"!==a)return null;const c=xt(r);if(!function(e){if(!_t(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&&Ot.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 l=jt(o);return l&&64===l.byteLength?{grant:c,kid:i,signed:It(`${n}.${r}`),signature:l}:null}var Nt=9e5,Tt=6e4,Ct=39e5;async function Rt(e,t){const n=Mt(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+Tt)return{ok:!1,reason:"expired"};if(1e3*r.sxp-1e3*r.iat>Ct)return{ok:!1,reason:"expired"};const a="url"===t.source?Math.min(1e3*r.iat+Nt,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 l=t.keyring.find(e=>e.kid===o);if(!l)return{ok:!1,reason:"kid-mismatch"};const u=t.crypto??globalThis.crypto,f=u?.subtle;if(!f)return{ok:!1,reason:"no-subtle"};const p=function(e){return jt(e)}(l.spki);if(!p)return{ok:!1,reason:"kid-mismatch"};try{const e=await f.importKey("spki",p,{name:"ECDSA",namedCurve:"P-256"},!1,["verify"]);if(!await f.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 Pt="elbPreview",Ft="elbPreviewSession",zt="elbObserve",Dt="[walkerOS:preview]",Lt=5e3,Vt=globalThis;function Ut(e){let t=null;return{get(){try{return Vt.window?.localStorage.getItem(e)??t}catch{return t}},set(n){try{Vt.window?.localStorage.setItem(e,n)}catch{t=n}},clear(){t=null;try{Vt.window?.localStorage.removeItem(e)}catch{}}}}function Kt(){const e=Vt.window,t=Vt.URLSearchParams;if(e&&t)try{const n=e.location.href,r=n.indexOf("#"),o=r>=0?n.slice(r):"",s=r>=0?n.slice(0,r):n,i=s.indexOf("?"),a=i>=0?s.slice(0,i):s,c=new t(i>=0?s.slice(i+1):"");c.delete("elbPreview"),c.delete("elbPreviewSession"),c.delete("elbObserve");const l=c.toString();e.history.replaceState({},"",`${a}${l?`?${l}`:""}${o}`)}catch{}}async function Bt(e){const t=Vt.window;if(!t||!Vt.document)return!1;const n=Ut(Pt),r=Ut(Ft),o=Ut(zt),s=e.now??(()=>Date.now()),i=e=>Vt.console?.warn(`${Dt} ${e}`);let a=null,c=null,l=null;const u=Vt.URLSearchParams;if(u)try{const e=new u(t.location.search.replace(/^\?/,"")),n=e.getAll("elbPreview");a=n.length>0?n[n.length-1]??null:null;const r=e.getAll("elbPreviewSession");c=r.length>0?r[r.length-1]??null:null;const o=e.getAll("elbObserve");l=o.length>0?o[o.length-1]??null:null}catch{a=null,c=null,l=null}if("off"===a)return n.clear(),r.clear(),o.clear(),Kt(),!1;const f=n.get();if(!a&&!f)return!1;const p=(n,r)=>Rt(n,{keyring:e.keyring,iss:e.iss,origin:t.location.origin,pb:e.pb,acceptForeign:e.acceptForeign,demoAllowlist:e.demoAllowlist,source:r,now:s(),crypto:e.crypto});let d=null;if(a){const e=await p(a,"url");e.ok?(d=e.grant,n.set(a),c?r.set(c):r.clear(),l?o.set(l):o.clear()):i(e.reason),Kt()}if(!d&&f){const e=await p(f,"storage");e.ok?d=e.grant:(i(e.reason),"no-subtle"!==e.reason&&(n.clear(),r.clear(),o.clear()))}if(!d)return!1;const m=`https://${e.previewOrigin}/preview/${d.art}.js`,g=await function(e,t){return new Promise(n=>{const r=Vt.document;if(!r)return void n(!1);const o=r.createElement("script");let s,i=!1;const a=e=>{i||(i=!0,void 0!==s&&Vt.clearTimeout?.(s),!e&&o.parentNode&&o.parentNode.removeChild(o),n(e))};s=Vt.setTimeout?.(()=>a(!1),Lt),o.onload=()=>a(!0),o.onerror=()=>a(!1),o.setAttribute("integrity",t),o.setAttribute("crossorigin","anonymous"),o.src=e,r.head.appendChild(o)})}(m,d.sri);return g?(Vt.console?.info(`${Dt} active ${d.art} ends ${new Date(1e3*d.sxp).toISOString()}`),!0):(i("swap-failed"),n.clear(),r.clear(),o.clear(),!1)}var Wt=15e3,qt={error:5,skip:4,out:3,in:2,init:1,flush:0},Zt="\0none",Ht="\0";function Gt(e,t){return`${e??Zt}${Ht}${t}`}function Jt(e){const t=Date.parse(e);return Number.isNaN(t)?0:t}function Xt(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 qt[e.phase]-qt[t.phase];if(e.eventId!==t.eventId)return e.eventId<t.eventId?-1:1;const o=e.branchId??"",s=t.branchId??"";if(o!==s)return o<s?-1:1;if(e.elapsedMs!==t.elapsedMs)return e.elapsedMs-t.elapsedMs;const i=e.seq??-1,a=t.seq??-1;return i!==a?i-a:e.timestamp!==t.timestamp?e.timestamp<t.timestamp?-1:1:0}function Yt(e){switch(e){case"error":return"error";case"skip":return"skipped";case"out":return"done";case"in":case"init":case"flush":return"pending"}}function Qt(e){return"out"===e.terminalPhase||"error"===e.terminalPhase||"skip"===e.terminalPhase||!0===e.batched}function en(e){return"done"===e.status&&("transformer"!==e.stepType||null!==e.out&&void 0!==e.out)}function tn(e,t,n,r){const o=n.get(Gt(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 nn(e){const t=new Map,n=new Map;e.nodes.forEach((e,r)=>{const o={node:e,rank:r,key:Gt(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=tn(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 rn(e,t,n){const r=e.byKey.get(Gt(n,t));if(void 0!==r)return r;const o=e.byKey.get(Gt(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 on(e,t,n,r,o,s){return s-n<o?"pending":void 0!==r?function(e,t,n){const r=t=>e.find(e=>e.stepId===t.node.stepId&&(void 0===t.node.platform||e.platform===t.node.platform)),o=n.roots.filter(e=>void 0===e.node.platform||t.includes(e.node.platform));if(0===o.length)return e.every(Qt)?"complete":"partial";const s=new Map,i=o;for(;i.length>0;){const e=i.shift();if(void 0===e)break;if(s.has(e.key))continue;s.set(e.key,e);const t=r(e);if(void 0!==t&&en(t)){const t=n.edges.get(e.key);if(void 0!==t)for(const e of t)s.has(e.key)||i.push(e)}}for(const e of s.values()){const t=r(e);if(void 0===t||!Qt(t))return"partial"}return"complete"}(e,t,r):e.every(Qt)?"complete":"partial"}function sn(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,l,u,f,p,d,m,g,h=i[0],v=i[0];for(const e of i)e.elapsedMs<h.elapsedMs&&(h=e),qt[e.phase]>qt[v.phase]&&(v=e),"out"===e.phase&&(a=e),void 0!==e.inEvent&&void 0===c&&(c=e.inEvent),void 0!==e.outEvent&&(l=e.outEvent),void 0!==e.mappingKey&&(u=e.mappingKey),void 0!==e.contractRule&&(f=e.contractRule),void 0!==e.consent&&(p=e.consent),void 0!==e.consentApplied&&(d=e.consentApplied),void 0!==e.meta&&(m=e.meta),void 0!==e.parentEventId&&void 0===g&&(g=e.parentEventId);const y=v.phase,b=a?.durationMs,w="error"===y?v.error:void 0,k="skip"===y?v.skipReason:void 0,E=a?.calls,S="out"===v.phase&&void 0!==v.batch||void 0,$=!(!o||!0!==S)||void 0,A=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)qt[e.phase]>qt[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,l=n?.calls;return{branchId:e,status:Yt(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!==l?{calls:l}:{}}}(e,t)):void 0;return{stepId:h.stepId,stepType:h.stepType,eventId:h.eventId,status:Yt(y),terminalPhase:y,startedAtMs:t.elapsedMs,timestamp:t.timestamp,...void 0!==h.platform?{platform:h.platform}:{},...void 0!==g?{parentEventId:g}:{},...void 0!==b?{durationMs:b}:{},...void 0!==c?{in:c}:{},...void 0!==l?{out:l}:{},...void 0!==w?{error:w}:{},...void 0!==k?{skipReason:k}:{},...void 0!==u?{mappingKey:u}:{},...void 0!==f?{contractRule:f}:{},...void 0!==p?{consent:p}:{},...void 0!==d?{consentApplied:d}:{},...void 0!==E?{calls:E}:{},...void 0!==A?{branches:A}:{},...void 0!==S?{batched:S}:{},...void 0!==$?{flushConfirmed:$}:{},...void 0!==m?{meta:m}:{}}}function an(e,t){const n=e.map(e=>({hop:e,rank:void 0!==t?rn(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 cn(e){const t=e.filter(e=>"collector"===e.stepType&&"in"===e.phase),n=t.length>0?t:e;let r=n[0],o=Jt(r.timestamp);for(const e of n){const t=Jt(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 ln(e,t,n,r,o){const{topo:s}=o,i=new Map;for(const e of r){const t=Gt(e.platform,e.stepId),n=i.get(t);n?n.push(e):i.set(t,[e])}const a=[...i.values()].map(sn),c=new Map;for(const e of a){const t=e.platform??Zt;let n=c.get(t);n||(n={...void 0!==e.platform?{platform:e.platform}:{},hops:[],ownedEventIds:new Set,parentEventIds:new Set,minEpoch:Number.POSITIVE_INFINITY},c.set(t,n)),n.hops.push(e),n.ownedEventIds.add(e.eventId),void 0!==e.parentEventId&&n.parentEventIds.add(e.parentEventId),n.minEpoch=Math.min(n.minEpoch,Jt(e.timestamp))}const l=function(e){const t=new Map,n=e.map((e,t)=>t).sort((t,n)=>{const r=e[t].platform??Zt,o=e[n].platform??Zt;return r<o?-1:r>o?1:0});e.forEach((r,o)=>{if(0!==r.parentEventIds.size)for(const s of n){if(s===o)continue;let n=!1;for(const t of e[s].ownedEventIds)if(r.parentEventIds.has(t)){n=!0;break}if(n){t.set(o,s);break}}});const r=e=>{let n=0,r=e;const o=new Set;for(;!o.has(r);){o.add(r);const e=t.get(r);if(void 0===e)break;r=e,n+=1}return n};return e.map((e,t)=>({seg:e,i:t,depth:r(t)})).sort((e,t)=>{if(e.depth!==t.depth)return e.depth-t.depth;if(e.seg.minEpoch!==t.seg.minEpoch)return e.seg.minEpoch-t.seg.minEpoch;const n=e.seg.platform??Zt,r=t.seg.platform??Zt;return n<r?-1:n>r?1:0}).map(e=>e.seg)}([...c.values()]),u=[],f=[];for(const e of l){void 0===e.platform||f.includes(e.platform)||f.push(e.platform);for(const t of an(e.hops,s))u.push(t)}let p=Number.POSITIVE_INFINITY,d=Number.NEGATIVE_INFINITY;for(const e of r){const t=Jt(e.timestamp);t<p&&(p=t),t>d&&(d=t)}const m=on(u,f,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}(f,p,d,o.gaps);return{id:e,correlation:t,...void 0!==n?{traceId:n}:{},entry:cn(r),hops:u,platforms:f,status:m,lossy:g,firstTimestamp:p,lastTimestamp:d,totalMs:d-p}}function un(e,t){const n={...void 0!==t?.topology?{topo:nn(t.topology)}:{},settleMs:t?.settleMs??Wt,now:t?.now??Date.now(),gaps:[]},r=function(e){const t=new Set,n=[];for(const r of e){const e=void 0!==r.seq?`seq${Ht}${r.platform??""}${Ht}${r.seq}`:`tuple${Ht}${r.platform??""}${Ht}${r.stepId}${Ht}${r.phase}${Ht}${r.eventId}${Ht}${r.branchId??""}${Ht}${r.elapsedMs}`;t.has(e)||(t.add(e),n.push(r))}return n}(e),o=[...r].sort(Xt);n.gaps=function(e){const t=new Map;for(const n of e){if(void 0===n.seq)continue;const e=n.platform??Zt,r=t.get(e);r?r.push(n):t.set(e,[n])}const n=[];for(const e of[...t.keys()].sort()){const r=t.get(e);if(void 0===r)continue;const o=[...r].sort((e,t)=>{const n=Jt(e.timestamp),r=Jt(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:Jt(s.timestamp),toMs:Jt(e.timestamp),afterSeq:i,beforeSeq:t})}s=e,i=t}else s=e,i=t}else s=e,i=t}}return n}(r);const s=o.filter(e=>!(""===e.eventId&&!e.traceId)),i=new Map;for(const e of s){const t=e.traceId?e.traceId:void 0,n=t?`trace${Ht}${t}`:`event${Ht}${e.eventId}`;let r=i.get(n);r||(r=t?{id:t,correlation:"trace",traceId:t,records:[]}:{id:`event:${e.eventId}`,correlation:"legacy",records:[]},i.set(n,r)),r.records.push(e)}const a=[...i.values()].map(e=>ln(e.id,e.correlation,e.traceId,e.records,n));return a.sort((e,t)=>e.firstTimestamp!==t.firstTimestamp?e.firstTimestamp-t.firstTimestamp:e.id<t.id?-1:e.id>t.id?1:0),{journeys:a,gaps:n.gaps}}var fn=null;function pn(){return fn}function dn(e){fn=e}function mn(e,t){if(0===e.observers.size)return;const n=Array.from(e.observers);for(const e of n)try{e(t)}catch{}}function gn(e){const t=e.batchMs,n="number"==typeof t&&Number.isFinite(t)&&t>0?Math.floor(t):50,r=e.batchSize,o="number"==typeof r&&Number.isFinite(r)&&r>=1?Math.floor(r):50,s=e.maxBodyBytes,i="number"==typeof s&&Number.isFinite(s)&&s>=1?Math.floor(s):6e4,a=e.fetch??((e,t)=>globalThis.fetch(e,t)),c=e.onError??(()=>{}),l={};for(const[t,n]of Object.entries(e.headers??{})){const e=t.toLowerCase();"authorization"!==e&&"content-type"!==e&&(l[t]=n)}let u=[],f=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:{...l,"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===u.length)return;const e=u;u=[],f&&(clearTimeout(f),f=null);const t=d(e);(async()=>{for(const e of t)await m(e)})()}return e=>{u.push({...e,seq:++p}),u.length>=o?g():null===f&&(f=setTimeout(g,n))}}function hn(e){return e?{userAgent:e,browser:vn(e),browserVersion:yn(e),os:bn(e),osVersion:wn(e),deviceType:kn(e)}:{}}function vn(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 yn(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 bn(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 wn(e){const t=e.match(/(?:Windows NT|Mac OS X|Android|iPhone OS) ([0-9._]+)/);return t?t[1].replace(/_/g,"."):void 0}function kn(e){let t="Desktop";return/Tablet|iPad/i.test(e)?t="Tablet":/Mobi|Android|iPhone|iPod|BlackBerry|Opera Mini|IEMobile|WPDesktop/i.test(e)&&(t="Mobile"),t}function En(e){return function(e){return/\breturn\b/.test(e)}(e)?e:`return ${e}`}function Sn(e){const t=En(e);return new Function("value","context",t)}function $n(e){const t=En(e);return new Function("value","context",t)}function An(e){const t=En(e);return new Function("value","context",t)}var On="https://cdn.jsdelivr.net/npm",jn="dist/walkerOS.json";function In(e){return"string"==typeof e||Array.isArray(e)&&e.every(e=>"string"==typeof e)?e:void 0}async function xn(e,t){const n=t?.version||"latest",r=t?.timeout||1e4,o=new AbortController,s=setTimeout(()=>o.abort(),r),i=o.signal,a=t?.client?{"X-Walkeros-Client":t.client}:void 0;try{if(t?.baseUrl){const r=`${t.baseUrl}/api/packages/${encodeURIComponent(e)}?version=${encodeURIComponent(n)}&expand=all`,o=await fetch(r,{signal:i,...a&&{headers:a}});if(!o.ok)throw new Error(`Failed to fetch ${r} (HTTP ${o.status})`);return function(e,t,n){const r=n.schemas||{},o=n.examples||{},s=n.hints,i=n.hintKeys??(s?Object.keys(s):[]),a=n.exampleSummaries??[],c=n.platform;return{packageName:n.package||e,version:"string"==typeof n.version?n.version:t,...void 0!==n.description&&{description:n.description},...void 0!==n.type&&{type:n.type},...void 0!==c&&{platform:c},schemas:r,examples:o,...void 0!==n.docs&&{docs:n.docs},...void 0!==n.source&&{source:n.source},...s&&Object.keys(s).length>0?{hints:s}:{},hintKeys:i,exampleSummaries:a}}(e,n,await o.json())}const r=`${On}/${e}@${n}`,o=await _n(`${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):[],l=[],u=i.step||{};for(const[e,t]of Object.entries(u)){const n=t,r={name:e};"string"==typeof n?.description&&(r.description=n.description),l.push(r)}const f="string"==typeof o.docs?o.docs:void 0,p="string"==typeof o.source?o.source:void 0;return{packageName:e,version:"string"==typeof n.version?n.version:t,description:"string"==typeof n.description?n.description:void 0,type:"string"==typeof o.type?o.type:void 0,platform:In(o.platform),schemas:s,examples:i,...f?{docs:f}:{},...p?{source:p}:{},...a&&Object.keys(a).length>0?{hints:a}:{},hintKeys:c,exampleSummaries:l}}(e,n,o,await _n(`${r}/${jn}`,i,a))}finally{clearTimeout(s)}}async function _n(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 Mn(e,t){const n=await xn(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 Nn="observe";function Tn(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 Cn="call:";function Rn(e){const t=(e.startsWith(Cn)?e.slice(Cn.length):e).split(".");return t.some(e=>""===e)?[]:t}var Pn="obsw_";function Fn(e){if(!e.startsWith(Pn))return null;const t=e.slice(Pn.length).split("."),[n,r,o]=t;return 3===t.length&&n&&r&&o?{pb:n,ses:r,secret:o}:null}function zn(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 Dn(e,t){const n=t?{...e,_hints:t}:e;return{content:[{type:"text",text:JSON.stringify(n,null,2)}],structuredContent:n}}function Ln(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 Vn(e){let t=!1;return(n={})=>{t||(t=!0,e(n))}}function Un(e){if(void 0===e||"*"===e)return()=>!0;if("and"in e){const t=e.and.map(Un);return e=>t.every(t=>t(e))}if("or"in e){const t=e.or.map(Un);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=Ee(e,t),r=s(n);return o?!r:r}}(e)}function Kn(e){return"object"==typeof e&&null!==e&&!Array.isArray(e)&&("match"in e||"next"in e||"one"in e||"many"in e)}function Bn(e){return Array.isArray(e)&&e.length>0&&e.every(e=>Kn(e))}function Wn(e){return e.map(e=>{if("string"==typeof e)return{match:()=>!0,next:{type:"static",value:e}};if(Array.isArray(e))return{match:()=>!0,next:qn(e)??{type:"chain",value:[]}};const t=e;return{match:t.match?Un(t.match):()=>!0,next:qn(t)??{type:"chain",value:[]}}})}function qn(e){if(null==e)return;if("string"==typeof e)return{type:"static",value:e};if(Array.isArray(e)){if(0===e.length)return;if(Bn(e))return qn({one:e});if(e.every(e=>"string"==typeof e))return{type:"chain",value:e};const t=[];for(const n of e){const e=qn(n);void 0!==e&&t.push(e)}if(0===t.length)return;return{type:"sequence",value:t}}const t=e;if("next"in t&&void 0!==t.next)return t.match?{type:"gate",match:Un(t.match),next:qn(t.next)}:qn(t.next);if("one"in t&&t.one){const e=Wn(t.one);return t.match?{type:"gate",match:Un(t.match),next:{type:"one",routes:e}}:{type:"one",routes:e}}if("many"in t&&t.many){const e=Wn(t.many);return t.match?{type:"gate",match:Un(t.match),next:{type:"many",routes:e}}:{type:"many",routes:e}}return t.match?{type:"gate",match:Un(t.match)}:void 0}var Zn=new WeakMap;function Hn(e,t={}){if(null==e)return[];let n;if("object"==typeof e){const t=Zn.get(e);t?n=t:(n=qn(e),n&&Zn.set(e,n))}else n=qn(e);if(!n)return[];const r=Gn(n,t);return void 0===r?[]:Array.isArray(r)?r:[r]}function Gn(e,t={}){if(e){if("static"===e.type)return e.value;if("chain"===e.type)return e.value;if("gate"===e.type){if(!e.match(t))return;return Gn(e.next,t)}if("sequence"===e.type){const n=[];for(const r of e.value){const e=Gn(r,t);void 0!==e&&(Array.isArray(e)?n.push(...e):n.push(e))}return n.length>0?n:void 0}if("many"===e.type){const n=[];for(const r of e.routes){if(!r.match(t))continue;const e=Gn(r.next,t);void 0!==e&&(Array.isArray(e)?n.push(...e):n.push(e))}return n.length>0?n:void 0}for(const n of e.routes)if(n.match(t))return Gn(n.next,t)}}var Jn="__walkeros_cache_v__",Xn="__walkeros_cache_exp__";function Yn(e,t,n=Date.now){const r={[Jn]:e};return void 0!==t&&(r[Xn]=n()+t),r}function Qn(e,t=Date.now){if(void 0===e)return;if(null===(n=e)||"object"!=typeof n||Array.isArray(n)||!(Jn in e))return{value:e};var n;const r=e[Xn];return"number"==typeof r&&t()>r?{expired:!0}:{value:e[Jn]}}var er="__walkeros_cache__",tr=class extends Error{constructor(e,t){super(e,t),this.name="StoreCodecError"}};function nr(e){return null!==e&&"object"==typeof e&&!Array.isArray(e)}function rr(e){if(Buffer.isBuffer(e))return{[er]:"buffer",d:e.toString("base64")};if(e instanceof Uint8Array)return{[er]:"buffer",d:Buffer.from(e.buffer,e.byteOffset,e.byteLength).toString("base64")};if(e instanceof ArrayBuffer)return{[er]:"buffer",d:Buffer.from(e).toString("base64")};if(Array.isArray(e))return e.map(rr);if(nr(e)){if(er in e){const t={};for(const[n,r]of Object.entries(e))t[n]=rr(r);return{[er]:"escape",d:t}}const t={};for(const[n,r]of Object.entries(e))t[n]=rr(r);return t}return e}function or(e,t){if(nr(e)){if(er in e){const n=e[er],r=e.d;if("buffer"===n&&"string"==typeof r)return t(Buffer.from(r,"base64"));if("escape"===n&&nr(r)){const e={};for(const[n,o]of Object.entries(r))e[n]=or(o,t);return e}}const n={};for(const[r,o]of Object.entries(e))n[r]=or(o,t);return n}return Array.isArray(e)?e.map(e=>or(e,t)):e}function sr(e){return new Uint8Array(e.buffer,e.byteOffset,e.byteLength)}function ir(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||ir(e)):!!nr(e)&&Object.values(e).every(e=>void 0===e||ir(e)))}function ar(e){let t;try{t=JSON.stringify(rr(e))}catch(e){throw new tr("Failed to serialize store value (likely a cyclic structure).",{cause:e})}return new Uint8Array(Buffer.from(t,"utf8"))}function cr(e){const t="string"==typeof e?e:Buffer.from(e).toString("utf8"),n=or(JSON.parse(t),sr);if(!ir(n))throw new tr("Restored value is not a valid StoreValue.");return n}function lr(e,t){const n={ingest:e??{}};return void 0!==t&&(n.event=t),n}function ur(e){return{stop:e.stop??!1,storeId:e.store,namespace:e.namespace,rules:e.rules.map(e=>({match:e.match?Un(e.match):()=>!0,key:e.key,ttl:e.ttl,update:e.update}))}}async function fr(e,t,n,r){const o=e.rules.find(e=>e.match(n));if(!o)return null;const s=o.key.map(e=>String(Ee(n,e)??""));if(s.every(e=>""===e))return null;const i=s.join(":"),a=r??e.namespace,c=a?`${a}:${i}`:i,l=Qn(await t.get(c));if(void 0===l)return{status:"MISS",key:c,rule:o};if("expired"in l){try{await t.delete(c)}catch{}return{status:"MISS",key:c,rule:o}}return{status:"HIT",key:c,value:l.value,rule:o}}function pr(e,t,n,r){if(!ir(n))return;const o=1e3*r,s=e.set(t,Yn(n,o),o);s instanceof Promise&&s.catch(()=>{})}async function dr(e,t,n,r){if(!t)return e;let o=e;for(const[e,s]of Object.entries(t)){o=Se(o,e,await it(n,s,{collector:r}))}return o}function mr(e){return fe(e)?e:[e]}async function gr(e,t,n,r){let o=n;for(const n of e)await rt(async()=>{const e=t(n.store);if(!e)return;const s=await it(o,n.key,{collector:r,event:o});if(!we(s))return;const i=n.store?s:`state:${s}`;if("set"===n.mode){const t=await it(o,n.value,{collector:r,event:o});if(!me(t))return;await e.set(i,t)}else{const t=we(a=n.value)?a:ye(a)&&we(a.key)?a.key:void 0;if(!t)return;const r=await e.get(i);if(!me(r))return;o=Se(o,t,r)}var a},e=>{if(e instanceof ot)throw e;r.logger?.error?.("[state] operation failed",e)})();return o}var hr={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"]},vr=["config","env","variables","examples","disabled","id","logger","mock","chainMocks"],yr={Source:["primary"],Transformer:[],Destination:[],Store:[]},br=/^[A-Za-z_$][A-Za-z0-9_$]*$/;function wr(e,t){const n=function(e){return new Set([...hr[e],...vr,...yr[e]])}(t);for(const r of Object.keys(e))if(!n.has(r))return{ok:!1,code:"UNKNOWN_KEY",key:r,reason:`Unknown key "${r}" on ${t}. Allowed: ${[...n].sort().join(", ")}.`};const r=void 0!==e.package,o=void 0!==e.import,s=void 0!==e.code;return s&&"string"==typeof e.code?{ok:!1,code:"OBSOLETE_CODE_STRING",key:"code",reason:`code: "<name>" is no longer supported. Use import: "${e.code}" with the package field instead.`}:s&&("object"!=typeof e.code&&"function"!=typeof e.code||null===e.code||Array.isArray(e.code))?{ok:!1,code:"INVALID_CODE_SHAPE",key:"code",reason:"code must be an object ({ push, type?, init? }) or a resolved function value."}:s&&r?{ok:!1,code:"CONFLICT",key:"package",reason:"Cannot specify both `code` and `package`. Use one or the other."}:s&&o?{ok:!1,code:"CONFLICT",key:"import",reason:"Cannot specify both `code` and `import`."}:o&&!r?{ok:!1,code:"MISSING_PACKAGE",key:"import",reason:"`import` requires `package` to be set."}:!o||"string"==typeof e.import&&br.test(e.import)?{ok:!0}:{ok:!1,code:"INVALID_IMPORT",key:"import",reason:`import must match ${br.source}. Got: ${JSON.stringify(e.import)}.`}}function kr(e,t){return"Transformer"===t&&(void 0===e.code&&void 0===e.package&&void 0===e.import&&(void 0!==e.before||void 0!==e.next||void 0!==e.cache||void 0!==e.state||void 0!==e.mapping))}function Er(e){return 0===e.length?"// no output":e.map(Sr).join(";\n\n")}function Sr(e){const[t,...n]=e,r=n.map($r).join(", ");return"return"===t?r?`return ${r}`:"return":`${t}(${r})`}function $r(e){return void 0===e?"undefined":null===e?"null":"function"==typeof e?"[Function]":JSON.stringify(e,null,2)}//# sourceMappingURL=index.js.map
|