@walkeros/core 4.4.0-next-1785285516008 → 4.4.0
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 +14 -1
- package/dist/dev.d.mts +40 -9
- package/dist/dev.d.ts +40 -9
- package/dist/dev.js +1 -1
- package/dist/dev.js.map +1 -1
- package/dist/dev.mjs +1 -1
- package/dist/dev.mjs.map +1 -1
- package/dist/index.d.mts +38 -9
- package/dist/index.d.ts +38 -9
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +1 -1
- package/dist/index.mjs.map +1 -1
- package/package.json +1 -1
package/dist/index.d.mts
CHANGED
|
@@ -672,6 +672,15 @@ interface Instance$6 {
|
|
|
672
672
|
logger: Instance$3;
|
|
673
673
|
on: OnConfig;
|
|
674
674
|
queue: Events;
|
|
675
|
+
/**
|
|
676
|
+
* Events pushed while `allowed === false`, held raw (pre-pipeline) and
|
|
677
|
+
* replayed FIFO by the run command. Bounded by `config.queueMax`
|
|
678
|
+
* (drop-oldest). RECORD-immediate/DELIVER-gated, extended to events.
|
|
679
|
+
*/
|
|
680
|
+
preRunQueue: Array<{
|
|
681
|
+
event: DeepPartialEvent;
|
|
682
|
+
options: PushOptions;
|
|
683
|
+
}>;
|
|
675
684
|
round: number;
|
|
676
685
|
/** Run-scoped W3C trace id, minted on each run and stamped onto events. */
|
|
677
686
|
trace?: string;
|
|
@@ -2560,8 +2569,12 @@ declare namespace request {
|
|
|
2560
2569
|
/**
|
|
2561
2570
|
* Base Env interface for dependency injection into sources.
|
|
2562
2571
|
*
|
|
2563
|
-
*
|
|
2564
|
-
* making
|
|
2572
|
+
* `env` is the author's dependency bag: platform and vendor dependencies are
|
|
2573
|
+
* injected here, making sources platform-agnostic. The five capabilities the
|
|
2574
|
+
* collector provides (`push`, `command`, `sources`, `elb`, `logger`) are
|
|
2575
|
+
* runtime-owned and applied last, so author values for them are ignored. To
|
|
2576
|
+
* mock the collector boundary in a test, call the factory directly with a
|
|
2577
|
+
* hand-built `Context`, or declare `InitSource.terminus`.
|
|
2565
2578
|
*/
|
|
2566
2579
|
interface BaseEnv$1 {
|
|
2567
2580
|
[key: string]: unknown;
|
|
@@ -2766,6 +2779,21 @@ type InitSource<T extends TypesGeneric$1 = Types$1> = {
|
|
|
2766
2779
|
primary?: boolean;
|
|
2767
2780
|
next?: Route;
|
|
2768
2781
|
before?: Route;
|
|
2782
|
+
/**
|
|
2783
|
+
* Replace the collector at the END of this source's pipeline.
|
|
2784
|
+
*
|
|
2785
|
+
* A terminus receives the event exactly as the source emitted it and the
|
|
2786
|
+
* entire pipeline is skipped: no `before`/`next` chains, no source `cache`,
|
|
2787
|
+
* no `state`, no `mapping`, no minted span id, no per-source ingest, no
|
|
2788
|
+
* `respond`, no `status.sources` counting and no observability records.
|
|
2789
|
+
*
|
|
2790
|
+
* This is a TOTAL bypass, deliberately, so there is one thing to know rather
|
|
2791
|
+
* than a list of exceptions. It exists for deterministic capture at the
|
|
2792
|
+
* source→collector boundary (step examples, dev tooling). Production flows
|
|
2793
|
+
* leave it unset. Runtime-only: stored-flow validation rejects unknown
|
|
2794
|
+
* source keys, so a persisted flow cannot carry it.
|
|
2795
|
+
*/
|
|
2796
|
+
terminus?: PushFn$1;
|
|
2769
2797
|
cache?: Cache;
|
|
2770
2798
|
state?: State | State[];
|
|
2771
2799
|
};
|
|
@@ -4929,10 +4957,12 @@ declare function fetchPackageSchema(packageName: string, options?: {
|
|
|
4929
4957
|
/** Options for {@link resolveContracts}. */
|
|
4930
4958
|
interface ResolveContractsOptions {
|
|
4931
4959
|
/**
|
|
4932
|
-
* When true (default), annotation
|
|
4933
|
-
* `$comment`) are stripped from event schemas
|
|
4934
|
-
*
|
|
4935
|
-
*
|
|
4960
|
+
* When true (default), annotation keywords (`description`, `examples`,
|
|
4961
|
+
* `title`, `$comment`) are stripped from event schemas. Validators ignore
|
|
4962
|
+
* annotations, so this never changes a validation verdict; it only trims
|
|
4963
|
+
* resolved artifacts, e.g. contracts inlined into shipped bundles. Set to
|
|
4964
|
+
* false to keep annotations (e.g. for IntelliSense that surfaces property
|
|
4965
|
+
* descriptions).
|
|
4936
4966
|
*/
|
|
4937
4967
|
stripAnnotations?: boolean;
|
|
4938
4968
|
}
|
|
@@ -4943,9 +4973,8 @@ interface ResolveContractsOptions {
|
|
|
4943
4973
|
* Returns a fully resolved map where each contract entry has inherited
|
|
4944
4974
|
* properties merged in and wildcards expanded into concrete actions.
|
|
4945
4975
|
*
|
|
4946
|
-
* By default annotations are stripped
|
|
4947
|
-
*
|
|
4948
|
-
* on event schemas.
|
|
4976
|
+
* By default annotations are stripped. Pass `{ stripAnnotations: false }` to
|
|
4977
|
+
* preserve `description`/`examples`/`title` on event schemas.
|
|
4949
4978
|
*/
|
|
4950
4979
|
declare function resolveContracts(contracts: Flow.Contract, options?: ResolveContractsOptions): Record<string, Flow.ContractRule>;
|
|
4951
4980
|
/**
|
package/dist/index.d.ts
CHANGED
|
@@ -672,6 +672,15 @@ interface Instance$6 {
|
|
|
672
672
|
logger: Instance$3;
|
|
673
673
|
on: OnConfig;
|
|
674
674
|
queue: Events;
|
|
675
|
+
/**
|
|
676
|
+
* Events pushed while `allowed === false`, held raw (pre-pipeline) and
|
|
677
|
+
* replayed FIFO by the run command. Bounded by `config.queueMax`
|
|
678
|
+
* (drop-oldest). RECORD-immediate/DELIVER-gated, extended to events.
|
|
679
|
+
*/
|
|
680
|
+
preRunQueue: Array<{
|
|
681
|
+
event: DeepPartialEvent;
|
|
682
|
+
options: PushOptions;
|
|
683
|
+
}>;
|
|
675
684
|
round: number;
|
|
676
685
|
/** Run-scoped W3C trace id, minted on each run and stamped onto events. */
|
|
677
686
|
trace?: string;
|
|
@@ -2560,8 +2569,12 @@ declare namespace request {
|
|
|
2560
2569
|
/**
|
|
2561
2570
|
* Base Env interface for dependency injection into sources.
|
|
2562
2571
|
*
|
|
2563
|
-
*
|
|
2564
|
-
* making
|
|
2572
|
+
* `env` is the author's dependency bag: platform and vendor dependencies are
|
|
2573
|
+
* injected here, making sources platform-agnostic. The five capabilities the
|
|
2574
|
+
* collector provides (`push`, `command`, `sources`, `elb`, `logger`) are
|
|
2575
|
+
* runtime-owned and applied last, so author values for them are ignored. To
|
|
2576
|
+
* mock the collector boundary in a test, call the factory directly with a
|
|
2577
|
+
* hand-built `Context`, or declare `InitSource.terminus`.
|
|
2565
2578
|
*/
|
|
2566
2579
|
interface BaseEnv$1 {
|
|
2567
2580
|
[key: string]: unknown;
|
|
@@ -2766,6 +2779,21 @@ type InitSource<T extends TypesGeneric$1 = Types$1> = {
|
|
|
2766
2779
|
primary?: boolean;
|
|
2767
2780
|
next?: Route;
|
|
2768
2781
|
before?: Route;
|
|
2782
|
+
/**
|
|
2783
|
+
* Replace the collector at the END of this source's pipeline.
|
|
2784
|
+
*
|
|
2785
|
+
* A terminus receives the event exactly as the source emitted it and the
|
|
2786
|
+
* entire pipeline is skipped: no `before`/`next` chains, no source `cache`,
|
|
2787
|
+
* no `state`, no `mapping`, no minted span id, no per-source ingest, no
|
|
2788
|
+
* `respond`, no `status.sources` counting and no observability records.
|
|
2789
|
+
*
|
|
2790
|
+
* This is a TOTAL bypass, deliberately, so there is one thing to know rather
|
|
2791
|
+
* than a list of exceptions. It exists for deterministic capture at the
|
|
2792
|
+
* source→collector boundary (step examples, dev tooling). Production flows
|
|
2793
|
+
* leave it unset. Runtime-only: stored-flow validation rejects unknown
|
|
2794
|
+
* source keys, so a persisted flow cannot carry it.
|
|
2795
|
+
*/
|
|
2796
|
+
terminus?: PushFn$1;
|
|
2769
2797
|
cache?: Cache;
|
|
2770
2798
|
state?: State | State[];
|
|
2771
2799
|
};
|
|
@@ -4929,10 +4957,12 @@ declare function fetchPackageSchema(packageName: string, options?: {
|
|
|
4929
4957
|
/** Options for {@link resolveContracts}. */
|
|
4930
4958
|
interface ResolveContractsOptions {
|
|
4931
4959
|
/**
|
|
4932
|
-
* When true (default), annotation
|
|
4933
|
-
* `$comment`) are stripped from event schemas
|
|
4934
|
-
*
|
|
4935
|
-
*
|
|
4960
|
+
* When true (default), annotation keywords (`description`, `examples`,
|
|
4961
|
+
* `title`, `$comment`) are stripped from event schemas. Validators ignore
|
|
4962
|
+
* annotations, so this never changes a validation verdict; it only trims
|
|
4963
|
+
* resolved artifacts, e.g. contracts inlined into shipped bundles. Set to
|
|
4964
|
+
* false to keep annotations (e.g. for IntelliSense that surfaces property
|
|
4965
|
+
* descriptions).
|
|
4936
4966
|
*/
|
|
4937
4967
|
stripAnnotations?: boolean;
|
|
4938
4968
|
}
|
|
@@ -4943,9 +4973,8 @@ interface ResolveContractsOptions {
|
|
|
4943
4973
|
* Returns a fully resolved map where each contract entry has inherited
|
|
4944
4974
|
* properties merged in and wildcards expanded into concrete actions.
|
|
4945
4975
|
*
|
|
4946
|
-
* By default annotations are stripped
|
|
4947
|
-
*
|
|
4948
|
-
* on event schemas.
|
|
4976
|
+
* By default annotations are stripped. Pass `{ stripAnnotations: false }` to
|
|
4977
|
+
* preserve `description`/`examples`/`title` on event schemas.
|
|
4949
4978
|
*/
|
|
4950
4979
|
declare function resolveContracts(contracts: Flow.Contract, options?: ResolveContractsOptions): Record<string, Flow.ContractRule>;
|
|
4951
4980
|
/**
|
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:()=>f,Destination:()=>l,ENV_MARKER_PREFIX:()=>ee,Elb:()=>d,FatalError:()=>ot,Hint:()=>N,Hooks:()=>m,Level:()=>v,Lifecycle:()=>j,Logger:()=>g,MAX_SESSION_MS:()=>Ct,Mapping:()=>h,Matcher:()=>M,OBSERVE_ENV_KEY:()=>Rn,OBSERVE_STORAGE_KEY:()=>zt,On:()=>y,REF_CODE_PREFIX:()=>J,REF_CONTRACT:()=>W,REF_ENV:()=>q,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:()=>br,Simulation:()=>_,Source:()=>$,Store:()=>E,StoreCodecError:()=>or,Transformer:()=>b,Trigger:()=>O,URL_WINDOW_MS:()=>Nt,WalkerOS:()=>x,anonymizeIP:()=>P,applyState:()=>yr,applyUpdate:()=>vr,assembleJourneys:()=>dn,assign:()=>ue,branch:()=>R,browserSwapActivator:()=>Bt,buildCacheContext:()=>pr,castToProperty:()=>tt,castValue:()=>je,checkCache:()=>mr,clone:()=>ke,compileCache:()=>dr,compileMatcher:()=>qn,compileState:()=>hr,createBatchedPoster:()=>yn,createDestination:()=>_e,createEvent:()=>ze,createIngest:()=>C,createLogger:()=>Xe,createMockContext:()=>mt,createMockLogger:()=>dt,createRespond:()=>Bn,createTelemetryObserver:()=>St,debounce:()=>We,deepMerge:()=>Me,defaultClickIds:()=>Ke,deleteByPath:()=>Ee,deserializeStoreValue:()=>lr,emitStep:()=>hn,fetchPackage:()=>Nn,fetchPackageSchema:()=>Cn,filterValues:()=>et,flattenIncludeSections:()=>Oe,formatOut:()=>Ar,getBrowser:()=>wn,getBrowserVersion:()=>kn,getByPath:()=>$e,getDeviceType:()=>En,getEvent:()=>De,getFlowSettings:()=>ie,getGrantedConsent:()=>xe,getHeaders:()=>yt,getId:()=>Te,getMappingEvent:()=>st,getMappingValue:()=>it,getMarketingParameters:()=>Be,getNextSteps:()=>Xn,getOS:()=>$n,getOSVersion:()=>Sn,getPlatform:()=>ae,getSpanId:()=>Fe,getTraceId:()=>Le,getTraceUntil:()=>gn,isArguments:()=>fe,isArray:()=>le,isBoolean:()=>pe,isCommand:()=>de,isDefined:()=>me,isElementOrDocument:()=>ge,isEnvObserve:()=>Pn,isFunction:()=>ve,isNumber:()=>he,isObject:()=>ye,isPathStepEntry:()=>Er,isPropertyType:()=>Qe,isRouteArray:()=>Zn,isRouteConfigEntry:()=>Wn,isSameType:()=>be,isSampled:()=>Et,isStoreValue:()=>ur,isString:()=>we,mcpError:()=>Kn,mcpResult:()=>Un,mergeContractSchemas:()=>L,mergeMappingRule:()=>ft,mockEnv:()=>lt,observeFromEnv:()=>Vn,packageNameToVariable:()=>se,parseCallPath:()=>zn,parseGrant:()=>Mt,parseObserveCredential:()=>Ln,parseTraceparent:()=>Ue,parseUserAgent:()=>bn,processEventMapping:()=>ct,readCacheEnvelope:()=>nr,requestToData:()=>gt,requestToParameter:()=>vt,resolveContracts:()=>D,resolveSetup:()=>bt,resolveTelemetryOptions:()=>At,scanFlowRefs:()=>Y,serializeStoreValue:()=>fr,setByPath:()=>Se,setTraceUntil:()=>vn,stepId:()=>u,storeCache:()=>gr,throttle:()=>Ze,throwError:()=>F,transformData:()=>ht,traverseEnv:()=>pt,trim:()=>wt,tryCatch:()=>nt,tryCatchAsync:()=>rt,useHooks:()=>kt,validateStepEntry:()=>Sr,verifyActivation:()=>Rt,walkPath:()=>re,wrapCacheEnvelope:()=>tr,wrapCondition:()=>In,wrapFn:()=>On,wrapValidate:()=>jn}),module.exports=(e=i,((e,s,i,a)=>{if(s&&"object"==typeof s||"function"==typeof s)for(let c of r(s))o.call(e,c)||c===i||t(e,c,{get:()=>s[c],enumerable:!(a=n(s,c))||a.enumerable});return e})(t({},"__esModule",{value:!0}),e));var a={},c={};function u(e,t){if("collector"===e)return"collector";if(!t)throw new Error(`stepId(${e}) requires an id`);return`${e}.${t}`}s(c,{stepId:()=>u});var f={},l={};function p(e,t){const n=e.destinations[t];if(!n)throw new Error(`Destination not found: ${t}`);return n}s(l,{getDestination:()=>p});var d={},m={},g={};s(g,{Level:()=>v});var v=(e=>(e[e.ERROR=0]="ERROR",e[e.WARN=1]="WARN",e[e.INFO=2]="INFO",e[e.DEBUG=3]="DEBUG",e))(v||{}),h={},y={},b={};function w(e,t){const n=e.transformers[t];if(!n)throw new Error(`Transformer not found: ${t}`);return n}s(b,{getTransformer:()=>w});var k={},$={};function S(e,t){const n=e.sources[t];if(!n)throw new Error(`Source not found: ${t}`);return n}s($,{getSource:()=>S});var E={};function A(e,t){const n=e.stores[t];if(!n)throw new Error(`Store not found: ${t}`);return n}async function I(e,t){return await e.get(t)}s(E,{getStore:()=>A,getStoreValue:()=>I});var O={},j={},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,q=/\$env\.([a-zA-Z_][a-zA-Z0-9_]*)(?::([^"}\s]*))?/g,W=/^\$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 u=s??new Set;if(u.has(a)){F(`Cyclic $var reference: ${[...u,a].join(" -> ")}`)}let f;u.add(a);try{f=oe(t[a],t,n,r,o,u)}finally{u.delete(a)}return c&&(f=re(f,c,`$var.${a}`)),f}const a=e.match(W);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 u=e.match(G);if(u){const e=u[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 f=e.replace(B,(e,i)=>{const a=i.split("."),c=a[0],u=a.slice(1).join(".");void 0===t[c]&&F(`Variable "${c}" not found`);const f=s??new Set;if(f.has(c)){F(`Cyclic $var reference: ${[...f,c].join(" -> ")}`)}let l;f.add(c);try{l=oe(t[c],t,n,r,o,f)}finally{f.delete(c)}if(u&&(l=re(l,u,`$var.${c}`)),null===l||"string"!=typeof l&&"number"!=typeof l&&"boolean"!=typeof l){F(`Variable "${i}" resolves to non-scalar (${Array.isArray(l)?"array":typeof l}) and cannot be inlined into a string. Use it as a whole-string reference: "$var.${i}"`)}return String(l)});return f=f.replace(q,(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`)),f}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),u=oe(a.config,c,n,s,r),f=oe(a.env,c,n,s,r);o.sources[i]={package:a.package,import:a.import,config:u,env:f,primary:a.primary,variables:a.variables,before:a.before,next:a.next,cache:a.cache,code:a.code}}if(o.destinations)for(const[i,a]of Object.entries(o.destinations)){const c=Q(e.variables,t.variables,a.variables),u=oe(a.config,c,n,s,r),f=oe(a.env,c,n,s,r);o.destinations[i]={package:a.package,import:a.import,config:u,env:f,variables:a.variables,before:a.before,next:a.next,cache:a.cache,code:a.code}}if(o.stores)for(const[i,a]of Object.entries(o.stores)){const c=Q(e.variables,t.variables,a.variables),u=oe(a.config,c,n,s,r),f=oe(a.env,c,n,s,r);o.stores[i]={package:a.package,import:a.import,config:u,env:f,cache:a.cache,variables:a.variables,code:a.code}}if(o.transformers)for(const[i,a]of Object.entries(o.transformers)){const c=Q(e.variables,t.variables,a.variables),u=oe(a.config,c,n,s,r),f=oe(a.env,c,n,s,r);o.transformers[i]={package:a.package,import:a.import,config:u,env:f,variables:a.variables,before:a.before,next:a.next,cache:a.cache,code:a.code}}if(o.collector){const i=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 ue(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 fe(e){return"[object Arguments]"===Object.prototype.toString.call(e)}function le(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 ve(e){return"function"==typeof e}function he(e){return"number"==typeof e&&!Number.isNaN(e)}function ye(e){return"object"==typeof e&&null!==e&&!le(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 $e(e,t="",n){const r=t.split(".");let o=e;for(let e=0;e<r.length;e++){const t=r[e];if("*"===t&&le(o)){const t=r.slice(e+1).join("."),s=[];for(const e of o){const r=$e(e,t,n);s.push(r)}return s}if(o=ye(o)||le(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 Ee(e,t){if(!ye(e)&&!le(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(le(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)&&!le(t))return n;o=t}}else if(s)delete o[t];else{const e=o[t];if(!ye(e)&&!le(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 Ie(e,t,n){if(ye(n))for(const[r,o]of Object.entries(n))void 0!==o&&Ie(e,`${t}_${r}`,o);else e[t]=n}function Oe(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;Ie(n,`${t}_${e}`,"context"===t&&Array.isArray(r)?r[0]:r)}}return n}function je(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=ue(e.config,t,{shallow:!0,merge:!0,extend:!0}),e.config.settings&&t.settings&&(n.config.settings=ue(e.config.settings,t.settings,{shallow:!0,merge:!0,extend:!0})),e.config.mapping&&t.mapping&&(n.config.mapping=ue(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=ue({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(ue({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 qe(e,t){return"number"==typeof e?{wait:e}:e?{wait:e.wait??t,size:e.size,age:e.age}:{wait:t}}function We(e,t=1e3,n=!1){const{wait:r,size:o,age:s}=qe(t,1e3);let i,a,c=null,u=null,f=!1,l=[],p=0;const d=()=>{c&&(clearTimeout(c),c=null),u&&(clearTimeout(u),u=null),p=0,a=void 0},m=()=>{const t=a,n=l;if(d(),l=[],t)return i=e(...t),n.forEach(e=>e(i)),i;n.forEach(e=>e(void 0))},g=(...t)=>new Promise(d=>{const g=n&&!f;if(a=t,p+=1,l.push(d),c&&clearTimeout(c),c=setTimeout(()=>{c=null,n&&!f||m()},r),void 0===s||u||(u=setTimeout(()=>{u=null,m()},s)),void 0!==o&&p>=o)m();else if(g){f=!0,i=e(...t);const n=l;l=[],n.forEach(e=>e(i))}});return g.flush=()=>a||0!==l.length?new Promise(e=>{l.push(e),m()}):Promise.resolve(i),g.cancel=()=>{const e=l;l=[],d(),i=void 0,e.forEach(e=>e(void 0))},g.size=()=>p,g}function Ze(e,t=1e3){const{wait:n}=qe(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=`${v[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?v[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)||he(e)||!me(e)||le(e)&&e.every(Qe)||ye(e)&&Object.values(e).every(Qe)}function et(e){return pe(e)||we(e)||he(e)?e:fe(e)?et(Array.from(e)):le(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 u=t=>{if(!t)return;return(le(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 f=t[a];return f&&(f[c]||(c="*"),s=u(f[c])),s||(a="*",c="*",s=u(t[a]?.[c])),s&&(i=`${a} ${c}`),{eventMapping:s,mappingKey:i}}async function 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=le(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(le(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:u,loop:f,map:l,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 v=me(m)?m:e;if(c&&(v=await rt(c,e=>{if(e instanceof ot)throw e;g.logger.error("mapping fn failed",{event:g.event,error:e})})(e,g)),u&&(v=$e(e,u,m)),f){const[t,n]=f,r="this"===t?[e]:await it(e,t,g);le(r)&&(v=(await Promise.all(r.map(e=>it(e,n,g)))).filter(me))}else l?v=await Object.entries(l).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&&(v=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})(v,g)&&(v=void 0);const h=tt(v);return me(h)?h: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)?ue(s,t):t}}const a=r?.include??t.include;if(a&&a.length>0){const t=Oe(e,a);Object.keys(t).length>0&&(s=ye(s)?ue(t,s):s??t)}if(r?.remove&&ye(s))for(const e of r.remove)s=Ee(s,e);return{event:e,data:s,mapping:r,mappingKey:o,ignore:!1,silent:i}}function ut(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)?ut(o,r):e[n]=r}return e}function ft(e,t){if(void 0===t.extend&&void 0===t.remove)return ke(t);const n={...ke(e)};if(t.extend){ut(n,{...t.extend})}return delete n.extend,t.remove?n.remove=[...t.remove]:delete n.remove,n}function lt(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(le(o)){const i=parseInt(t,10);s?o[i]=je(e):(o[i]=o[i]||(isNaN(parseInt(r[n+1],10))?{}:[]),o=o[i])}else ye(o)&&(s?o[t]=je(e):(o[t]=o[t]||(isNaN(parseInt(r[n+1],10))?{}:[]),o=o[t]))})}),t})()}function vt(e){if(!e)return"";const t=[],n=encodeURIComponent;function r(e,o){null!=o&&(le(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 ht(e){return void 0===e||be(e,"")?e:JSON.stringify(e)}function yt(e={}){return ue({"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],u=n[a],f=(e,t)=>{r?r.warn(e,{error:t}):console.warn(e,t)};if(c)try{s=c({fn:o},...e)}catch(t){f(`Hook ${String(i)} failed, falling back to original function`,t),s=o(...e)}else s=o(...e);if(u)try{s=u({fn:o,result:s},...e)}catch(e){f(`Hook ${String(a)} failed, keeping original result`,e)}return s}}function $t(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&&!$t(t.eventId,i))return;const a=r.includeIn??"trace"===o,c=r.includeOut??"trace"===o,u=r.includeMappingKey??"trace"===o,f={...t};a||delete f.inEvent,c||(delete f.outEvent,delete f.calls),u||delete f.mappingKey,"trace"!==o&&f.error?.message&&f.error.message.length>256&&(f.error={...f.error,message:f.error.message.slice(0,256)+"…"});try{e(f)}catch{}}}function Et(e,t){return $t(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 It=/^[A-Za-z0-9_-]+$/;function Ot(e){if(!It.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 jt(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=Ot(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&&It.test(t.art)&&"string"==typeof t.sri&&"string"==typeof t.pb&&"activate"===t.cap&&"string"==typeof t.jti&&"string"==typeof t.pid&&(void 0===t.ses||"string"==typeof t.ses)&&(void 0===t.sb||"string"==typeof t.sb)}(c))return null;const u=Ot(o);return u&&64===u.byteLength?{grant:c,kid:i,signed:jt(`${n}.${r}`),signature:u}: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 u=t.keyring.find(e=>e.kid===o);if(!u)return{ok:!1,reason:"kid-mismatch"};const f=t.crypto??globalThis.crypto,l=f?.subtle;if(!l)return{ok:!1,reason:"no-subtle"};const p=function(e){return Ot(e)}(u.spki);if(!p)return{ok:!1,reason:"kid-mismatch"};try{const e=await l.importKey("spki",p,{name:"ECDSA",namedCurve:"P-256"},!1,["verify"]);if(!await l.verify({name:"ECDSA",hash:"SHA-256"},e,i,s))return{ok:!1,reason:"bad-signature"}}catch{return{ok:!1,reason:"bad-signature"}}return{ok:!0,grant:r}}var 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 u=c.toString();e.history.replaceState({},"",`${a}${u?`?${u}`:""}${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,u=null;const f=Vt.URLSearchParams;if(f)try{const e=new f(t.location.search.replace(/^\?/,"")),n=e.getAll("elbPreview");a=n.length>0?n[n.length-1]??null:null;const r=e.getAll("elbPreviewSession");c=r.length>0?r[r.length-1]??null:null;const o=e.getAll("elbObserve");u=o.length>0?o[o.length-1]??null:null}catch{a=null,c=null,u=null}if("off"===a)return n.clear(),r.clear(),o.clear(),Kt(),!1;const l=n.get();if(!a&&!l)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(),u?o.set(u):o.clear()):i(e.reason),Kt()}if(!d&&l){const e=await p(l,"storage");e.ok?d=e.grant:(i(e.reason),"no-subtle"!==e.reason&&(n.clear(),r.clear(),o.clear()))}if(!d)return!1;const m=`https://${e.previewOrigin}/preview/${d.art}.js`,g=await function(e,t){return new Promise(n=>{const r=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 qt=15e3,Wt={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){return""!==e.eventId?e.eventId:function(e){if("object"!=typeof e||null===e)return;if(!("event"in e))return;const t=e.event;if("object"!=typeof t||null===t)return;if(!("id"in t))return;const n=t.id;return"string"==typeof n&&""!==n?n:void 0}(e.outEvent)}function Yt(e,t){let n=t;for(;;){const t=e.get(n);if(void 0===t||t===n)break;n=t}let r=t;for(;r!==n;){const t=e.get(r);if(e.set(r,n),void 0===t)break;r=t}return n}function Qt(e,t,n){const r=Yt(e,t),o=Yt(e,n);r!==o&&(r<o?e.set(o,r):e.set(r,o))}function en(e){for(const t of e)if(t.traceId)return t.traceId}function tn(e){switch(e){case"error":return"error";case"skip":return"skipped";case"out":return"done";case"in":case"init":case"flush":return"pending"}}function nn(e){return"out"===e.terminalPhase||"error"===e.terminalPhase||"skip"===e.terminalPhase||!0===e.batched}function rn(e){return"done"===e.status&&("transformer"!==e.stepType||null!==e.out&&void 0!==e.out)}function on(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 sn(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=on(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 an(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 cn(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(nn)?"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&&rn(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||!nn(t))return"partial"}return"complete"}(e,t,r):e.every(nn)?"complete":"partial"}function un(e){let t=e[0];for(const n of e)n.elapsedMs<t.elapsedMs&&(t=n);const n=[],r=new Map;let o=!1;for(const t of e)if("flush"!==t.phase){if(void 0!==t.branchId){const e=r.get(t.branchId);e?e.push(t):r.set(t.branchId,[t]);continue}n.push(t)}else o=!0;const s=[...r.values()].flat(),i=n.length>0?n:s.length>0?s:e;let a,c,u,f,l,p,d,m,g,v,h=i[0],y=i[0];for(const e of i)e.elapsedMs<h.elapsedMs&&(h=e),Wt[e.phase]>Wt[y.phase]&&(y=e),"out"===e.phase&&(a=e),void 0!==e.inEvent&&void 0===c&&(c=e.inEvent),void 0!==e.outEvent&&(u=e.outEvent),void 0!==e.mappingKey&&(f=e.mappingKey),void 0!==e.contractRule&&(l=e.contractRule),void 0!==e.consent&&(p=e.consent),void 0!==e.consentApplied&&(d=e.consentApplied),void 0!==e.meta&&(m=e.meta),void 0!==e.parentEventId&&void 0===g&&(g=e.parentEventId),void 0!==e.release&&(v=e.release);const b=y.phase,w=a?.durationMs,k="error"===b?y.error:void 0,$="skip"===b?y.skipReason:void 0,S=a?.calls,E="out"===y.phase&&void 0!==y.batch||void 0,A=!(!o||!0!==E)||void 0,I=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)Wt[e.phase]>Wt[o.phase]&&(o=e),"out"===e.phase&&(n=e),void 0!==e.outEvent&&(r=e.outEvent);const s=o.phase,i=n?.durationMs,a="skip"===s?o.skipReason:void 0,c="error"===s?o.error:void 0,u=n?.calls;return{branchId:e,status:tn(s),terminalPhase:s,...void 0!==i?{durationMs:i}:{},...void 0!==a?{skipReason:a}:{},...void 0!==c?{error:c}:{},...void 0!==r?{out:r}:{},...void 0!==u?{calls:u}:{}}}(e,t)):void 0;return{stepId:h.stepId,stepType:h.stepType,eventId:h.eventId,status:tn(b),terminalPhase:b,startedAtMs:t.elapsedMs,timestamp:t.timestamp,...void 0!==h.platform?{platform:h.platform}:{},...void 0!==g?{parentEventId:g}:{},...void 0!==w?{durationMs:w}:{},...void 0!==c?{in:c}:{},...void 0!==u?{out:u}:{},...void 0!==k?{error:k}:{},...void 0!==$?{skipReason:$}:{},...void 0!==f?{mappingKey:f}:{},...void 0!==l?{contractRule:l}:{},...void 0!==p?{consent:p}:{},...void 0!==d?{consentApplied:d}:{},...void 0!==S?{calls:S}:{},...void 0!==I?{branches:I}:{},...void 0!==E?{batched:E}:{},...void 0!==A?{flushConfirmed:A}:{},...void 0!==v?{release:v}:{},...void 0!==m?{meta:m}:{}}}function fn(e,t){const n=e.map(e=>({hop:e,rank:void 0!==t?an(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 ln(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 pn(e,t,n,r,o){const{topo:s}=o,i=new Map;for(const e of n){const t=Gt(e.platform,e.stepId),n=i.get(t);n?n.push(e):i.set(t,[e])}const a=[...i.values()].map(un),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 u=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()]),f=[],l=[];for(const e of u){void 0===e.platform||l.includes(e.platform)||l.push(e.platform);for(const t of fn(e.hops,s))f.push(t)}let p=Number.POSITIVE_INFINITY,d=Number.NEGATIVE_INFINITY;for(const e of n){const t=Jt(e.timestamp);t<p&&(p=t),t>d&&(d=t)}const m=cn(f,l,d,s,o.settleMs,o.now),g=function(e,t,n,r){for(const o of r)if((void 0===o.platform||e.includes(o.platform))&&t<=o.toMs&&o.fromMs<=n)return!0;return!1}(l,p,d,o.gaps);return{id:e,correlation:"event",...void 0!==t?{traceId:t}:{},entry:ln(r),hops:f,platforms:l,status:m,lossy:g,firstTimestamp:p,lastTimestamp:d,totalMs:d-p}}function dn(e,t){const n={...void 0!==t?.topology?{topo:sn(t.topology)}:{},settleMs:t?.settleMs??qt,now:t?.now??Date.now(),gaps:[]},r=function(e){const t=new Set,n=[];for(const r of e){const e=void 0!==r.seq&&r.traceId?`seq${Ht}${r.platform??""}${Ht}${r.traceId}${Ht}${r.seq}`:void 0!==r.seq?`seqt${Ht}${r.platform??""}${Ht}${r.stepId}${Ht}${r.phase}${Ht}${r.eventId}${Ht}${r.branchId??""}${Ht}${r.elapsedMs}${Ht}${r.timestamp}${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);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 o=[],s=[];for(const e of r){const t=Xt(e);void 0!==t?o.push({record:t===e.eventId?e:{...e,eventId:t},eventId:t}):s.push(e)}o.sort((e,t)=>function(e,t){const n=e.platform??"",r=t.platform??"";if(n!==r)return n<r?-1:1;if(e.stepId!==t.stepId)return e.stepId<t.stepId?-1:1;if(e.phase!==t.phase)return Wt[e.phase]-Wt[t.phase];if(e.eventId!==t.eventId)return e.eventId<t.eventId?-1:1;const o=e.branchId??"",s=t.branchId??"";if(o!==s)return o<s?-1:1;if(e.elapsedMs!==t.elapsedMs)return e.elapsedMs-t.elapsedMs;const i=e.seq??-1,a=t.seq??-1;return i!==a?i-a:e.timestamp!==t.timestamp?e.timestamp<t.timestamp?-1:1:0}(e.record,t.record));const i=new Set(o.map(e=>e.eventId)),a=new Map,c=new Map;for(const{record:e,eventId:t}of o){const n=e.parentEventId;if(void 0===n||n===t||!i.has(n))continue;const r=a.get(t);r?r.add(n):a.set(t,new Set([n]));const o=c.get(n);o?o.add(t):c.set(n,new Set([t]))}const u=new Map;for(const[e,t]of c)if(1===t.size)for(const n of t)Qt(u,n,e);const f=new Map;for(const e of o){const t=Yt(u,e.eventId);let n=f.get(t);n||(n={entries:[],eventIds:new Set},f.set(t,n)),n.entries.push(e),n.eventIds.add(e.eventId)}const l=[...f.values()].map(e=>{const t=function(e,t){const n=[...e].sort();for(const r of n){const n=t.get(r);if(void 0===n)return r;let o=!1;for(const t of n)if(e.has(t)){o=!0;break}if(!o)return r}return n[0]}(e.eventIds,a),r=e.entries.map(e=>e.record),o=e.entries.filter(e=>e.eventId===t).map(e=>e.record),s=en(o)??en(r);return pn(t,s,r,o,n)});l.sort((e,t)=>e.firstTimestamp!==t.firstTimestamp?e.firstTimestamp-t.firstTimestamp:e.id<t.id?-1:e.id>t.id?1:0);const p=function(e){const t=new Map;for(const n of e){if(!n.traceId)continue;const e=n.platform??Zt,r=Jt(n.timestamp);let o=t.get(e);void 0===o&&(o={...void 0!==n.platform?{platform:n.platform}:{},count:0,fromMs:r,toMs:r,stepIds:new Set},t.set(e,o)),o.count+=1,r<o.fromMs&&(o.fromMs=r),r>o.toMs&&(o.toMs=r),o.stepIds.add(n.stepId)}return[...t.entries()].sort(([e],[t])=>e<t?-1:e>t?1:0).map(([,e])=>({...void 0!==e.platform?{platform:e.platform}:{},count:e.count,fromMs:e.fromMs,toMs:e.toMs,stepIds:[...e.stepIds].sort()}))}(s);return{journeys:l,gaps:n.gaps,...p.length>0?{unattributed:p}:{}}}var mn=null;function gn(){return mn}function vn(e){mn=e}function hn(e,t){if(0===e.observers.size)return;const n=Array.from(e.observers);for(const e of n)try{e(t)}catch{}}function yn(e){const t=e.batchMs,n="number"==typeof t&&Number.isFinite(t)&&t>0?Math.floor(t):50,r=e.batchSize,o="number"==typeof r&&Number.isFinite(r)&&r>=1?Math.floor(r):50,s=e.maxBodyBytes,i="number"==typeof s&&Number.isFinite(s)&&s>=1?Math.floor(s):6e4,a=e.fetch??((e,t)=>globalThis.fetch(e,t)),c=e.onError??(()=>{}),u={};for(const[t,n]of Object.entries(e.headers??{})){const e=t.toLowerCase();"authorization"!==e&&"content-type"!==e&&(u[t]=n)}let f=[],l=null,p=0;function d(e){const t={v:1,records:e},n=JSON.stringify(t);if(e.length<=1)return[n];if(function(e){let t=0;for(let n=0;n<e.length;n++){const r=e.charCodeAt(n);if(r<128)t+=1;else if(r<2048)t+=2;else if(r>=55296&&r<=56319&&n+1<e.length){const r=e.charCodeAt(n+1);r>=56320&&r<=57343?(t+=4,n++):t+=3}else t+=3}return t}(n)<=i)return[n];const r=Math.floor(e.length/2);return[...d(e.slice(0,r)),...d(e.slice(r))]}function m(t){return Promise.resolve().then(()=>a(e.url,{method:"POST",headers:{...u,"Content-Type":"application/json",Authorization:`Bearer ${e.token}`},body:t})).then(t=>{t&&"object"==typeof t&&"number"==typeof t.status&&e.onStatus?.(t.status),t&&"object"==typeof t&&"ok"in t&&!t.ok&&c(new Error(`Observer responded ${t.status}`))}).catch(e=>{c(e)})}function g(){if(0===f.length)return;const e=f;f=[],l&&(clearTimeout(l),l=null);const t=d(e);(async()=>{for(const e of t)await m(e)})()}return e=>{f.push({...e,seq:++p}),f.length>=o?g():null===l&&(l=setTimeout(g,n))}}function bn(e){return e?{userAgent:e,browser:wn(e),browserVersion:kn(e),os:$n(e),osVersion:Sn(e),deviceType:En(e)}:{}}function wn(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 kn(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 $n(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 Sn(e){const t=e.match(/(?:Windows NT|Mac OS X|Android|iPhone OS) ([0-9._]+)/);return t?t[1].replace(/_/g,"."):void 0}function En(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 An(e){return function(e){return/\breturn\b/.test(e)}(e)?e:`return ${e}`}function In(e){const t=An(e);return new Function("value","context",t)}function On(e){const t=An(e);return new Function("value","context",t)}function jn(e){const t=An(e);return new Function("value","context",t)}var xn="https://cdn.jsdelivr.net/npm",_n="dist/walkerOS.json";function Mn(e){return"string"==typeof e||Array.isArray(e)&&e.every(e=>"string"==typeof e)?e:void 0}async function Nn(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=`${xn}/${e}@${n}`,o=await Tn(`${r}/package.json`,i,a);return function(e,t,n,r){const o=r.$meta||{},s=r.schemas||{},i=r.examples||{},a=r.hints,c=a?Object.keys(a):[],u=[],f=i.step||{};for(const[e,t]of Object.entries(f)){const n=t,r={name:e};"string"==typeof n?.description&&(r.description=n.description),u.push(r)}const l="string"==typeof o.docs?o.docs:void 0,p="string"==typeof o.source?o.source:void 0;return{packageName:e,version:"string"==typeof n.version?n.version:t,description:"string"==typeof n.description?n.description:void 0,type:"string"==typeof o.type?o.type:void 0,platform:Mn(o.platform),schemas:s,examples:i,...l?{docs:l}:{},...p?{source:p}:{},...a&&Object.keys(a).length>0?{hints:a}:{},hintKeys:c,exampleSummaries:u}}(e,n,o,await Tn(`${r}/${_n}`,i,a))}finally{clearTimeout(s)}}async function Tn(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 Cn(e,t){const n=await Nn(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 Rn="observe";function Pn(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 Fn="call:";function zn(e){const t=(e.startsWith(Fn)?e.slice(Fn.length):e).split(".");return t.some(e=>""===e)?[]:t}var Dn="obsw_";function Ln(e){if(!e.startsWith(Dn))return null;const t=e.slice(Dn.length).split("."),[n,r,o]=t;return 3===t.length&&n&&r&&o?{pb:n,ses:r,secret:o}:null}function Vn(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 Un(e,t){const n=t?{...e,_hints:t}:e;return{content:[{type:"text",text:JSON.stringify(n,null,2)}],structuredContent:n}}function Kn(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 Bn(e){let t=!1;return(n={})=>{t||(t=!0,e(n))}}function qn(e){if(void 0===e||"*"===e)return()=>!0;if("and"in e){const t=e.and.map(qn);return e=>t.every(t=>t(e))}if("or"in e){const t=e.or.map(qn);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=$e(e,t),r=s(n);return o?!r:r}}(e)}function Wn(e){return"object"==typeof e&&null!==e&&!Array.isArray(e)&&("match"in e||"next"in e||"one"in e||"many"in e)}function Zn(e){return Array.isArray(e)&&e.length>0&&e.every(e=>Wn(e))}function Hn(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:Gn(e)??{type:"chain",value:[]}};const t=e;return{match:t.match?qn(t.match):()=>!0,next:Gn(t)??{type:"chain",value:[]}}})}function Gn(e){if(null==e)return;if("string"==typeof e)return{type:"static",value:e};if(Array.isArray(e)){if(0===e.length)return;if(Zn(e))return Gn({one:e});if(e.every(e=>"string"==typeof e))return{type:"chain",value:e};const t=[];for(const n of e){const e=Gn(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:qn(t.match),next:Gn(t.next)}:Gn(t.next);if("one"in t&&t.one){const e=Hn(t.one);return t.match?{type:"gate",match:qn(t.match),next:{type:"one",routes:e}}:{type:"one",routes:e}}if("many"in t&&t.many){const e=Hn(t.many);return t.match?{type:"gate",match:qn(t.match),next:{type:"many",routes:e}}:{type:"many",routes:e}}return t.match?{type:"gate",match:qn(t.match)}:void 0}var Jn=new WeakMap;function Xn(e,t={}){if(null==e)return[];let n;if("object"==typeof e){const t=Jn.get(e);t?n=t:(n=Gn(e),n&&Jn.set(e,n))}else n=Gn(e);if(!n)return[];const r=Yn(n,t);return void 0===r?[]:Array.isArray(r)?r:[r]}function Yn(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 Yn(e.next,t)}if("sequence"===e.type){const n=[];for(const r of e.value){const e=Yn(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=Yn(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 Yn(n.next,t)}}var Qn="__walkeros_cache_v__",er="__walkeros_cache_exp__";function tr(e,t,n=Date.now){const r={[Qn]:e};return void 0!==t&&(r[er]=n()+t),r}function nr(e,t=Date.now){if(void 0===e)return;if(null===(n=e)||"object"!=typeof n||Array.isArray(n)||!(Qn in e))return{value:e};var n;const r=e[er];return"number"==typeof r&&t()>r?{expired:!0}:{value:e[Qn]}}var rr="__walkeros_cache__",or=class extends Error{constructor(e,t){super(e,t),this.name="StoreCodecError"}};function sr(e){return null!==e&&"object"==typeof e&&!Array.isArray(e)}function ir(e){if(Buffer.isBuffer(e))return{[rr]:"buffer",d:e.toString("base64")};if(e instanceof Uint8Array)return{[rr]:"buffer",d:Buffer.from(e.buffer,e.byteOffset,e.byteLength).toString("base64")};if(e instanceof ArrayBuffer)return{[rr]:"buffer",d:Buffer.from(e).toString("base64")};if(Array.isArray(e))return e.map(ir);if(sr(e)){if(rr in e){const t={};for(const[n,r]of Object.entries(e))t[n]=ir(r);return{[rr]:"escape",d:t}}const t={};for(const[n,r]of Object.entries(e))t[n]=ir(r);return t}return e}function ar(e,t){if(sr(e)){if(rr in e){const n=e[rr],r=e.d;if("buffer"===n&&"string"==typeof r)return t(Buffer.from(r,"base64"));if("escape"===n&&sr(r)){const e={};for(const[n,o]of Object.entries(r))e[n]=ar(o,t);return e}}const n={};for(const[r,o]of Object.entries(e))n[r]=ar(o,t);return n}return Array.isArray(e)?e.map(e=>ar(e,t)):e}function cr(e){return new Uint8Array(e.buffer,e.byteOffset,e.byteLength)}function ur(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||ur(e)):!!sr(e)&&Object.values(e).every(e=>void 0===e||ur(e)))}function fr(e){let t;try{t=JSON.stringify(ir(e))}catch(e){throw new or("Failed to serialize store value (likely a cyclic structure).",{cause:e})}return new Uint8Array(Buffer.from(t,"utf8"))}function lr(e){const t="string"==typeof e?e:Buffer.from(e).toString("utf8"),n=ar(JSON.parse(t),cr);if(!ur(n))throw new or("Restored value is not a valid StoreValue.");return n}function pr(e,t){const n={ingest:e??{}};return void 0!==t&&(n.event=t),n}function dr(e){return{stop:e.stop??!1,storeId:e.store,namespace:e.namespace,rules:e.rules.map(e=>({match:e.match?qn(e.match):()=>!0,key:e.key,ttl:e.ttl,update:e.update}))}}async function mr(e,t,n,r){const o=e.rules.find(e=>e.match(n));if(!o)return null;const s=o.key.map(e=>String($e(n,e)??""));if(s.every(e=>""===e))return null;const i=s.join(":"),a=r??e.namespace,c=a?`${a}:${i}`:i,u=nr(await t.get(c));if(void 0===u)return{status:"MISS",key:c,rule:o};if("expired"in u){try{await t.delete(c)}catch{}return{status:"MISS",key:c,rule:o}}return{status:"HIT",key:c,value:u.value,rule:o}}function gr(e,t,n,r){if(!ur(n))return;const o=1e3*r,s=e.set(t,tr(n,o),o);s instanceof Promise&&s.catch(()=>{})}async function vr(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 hr(e){return le(e)?e:[e]}async function yr(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 br={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"]},wr=["config","env","variables","examples","disabled","id","logger","mock","chainMocks"],kr={Source:["primary"],Transformer:[],Destination:[],Store:[]},$r=/^[A-Za-z_$][A-Za-z0-9_$]*$/;function Sr(e,t){const n=function(e){return new Set([...br[e],...wr,...kr[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&&$r.test(e.import)?{ok:!0}:{ok:!1,code:"INVALID_IMPORT",key:"import",reason:`import must match ${$r.source}. Got: ${JSON.stringify(e.import)}.`}}function Er(e,t){return"Transformer"===t&&(void 0===e.code&&void 0===e.package&&void 0===e.import&&(void 0!==e.before||void 0!==e.next||void 0!==e.cache||void 0!==e.state||void 0!==e.mapping))}function Ar(e){return 0===e.length?"// no output":e.map(Ir).join(";\n\n")}function Ir(e){const[t,...n]=e,r=n.map(Or).join(", ");return"return"===t?r?`return ${r}`:"return":`${t}(${r})`}function Or(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:()=>Ft,Cache:()=>a,Collector:()=>c,Const:()=>T,Context:()=>u,Destination:()=>l,ENV_MARKER_PREFIX:()=>oe,Elb:()=>d,FatalError:()=>ct,Hint:()=>N,Hooks:()=>m,Level:()=>v,Lifecycle:()=>j,Logger:()=>g,MAX_SESSION_MS:()=>zt,Mapping:()=>h,Matcher:()=>M,OBSERVE_ENV_KEY:()=>Dn,OBSERVE_STORAGE_KEY:()=>Ut,On:()=>y,REF_CODE_PREFIX:()=>ee,REF_CONTRACT:()=>J,REF_ENV:()=>G,REF_FLOW:()=>X,REF_SECRET:()=>Q,REF_STORE:()=>Y,REF_VAR_FULL:()=>Z,REF_VAR_INLINE:()=>H,Request:()=>k,SECRET_MARKER_PREFIX:()=>se,SESSION_STORAGE_KEY:()=>Vt,STEP_OPERATIVE_FIELDS:()=>Sr,Simulation:()=>_,Source:()=>$,Store:()=>E,StoreCodecError:()=>cr,Transformer:()=>b,Trigger:()=>O,URL_WINDOW_MS:()=>Pt,WalkerOS:()=>x,anonymizeIP:()=>P,applyState:()=>$r,applyUpdate:()=>wr,assembleJourneys:()=>hn,assign:()=>de,branch:()=>R,browserSwapActivator:()=>Ht,buildCacheContext:()=>vr,castToProperty:()=>st,castValue:()=>Ne,checkCache:()=>yr,clone:()=>Ae,compileCache:()=>hr,compileMatcher:()=>Gn,compileState:()=>kr,createBatchedPoster:()=>$n,createDestination:()=>Ce,createEvent:()=>Ue,createIngest:()=>C,createLogger:()=>tt,createMockContext:()=>yt,createMockLogger:()=>ht,createRespond:()=>Hn,createTelemetryObserver:()=>Ot,debounce:()=>Je,deepMerge:()=>Re,defaultClickIds:()=>Ze,deleteByPath:()=>je,deserializeStoreValue:()=>gr,emitStep:()=>kn,fetchPackage:()=>Pn,fetchPackageSchema:()=>zn,filterValues:()=>ot,flattenIncludeSections:()=>Me,formatOut:()=>xr,getBrowser:()=>En,getBrowserVersion:()=>An,getByPath:()=>Ie,getDeviceType:()=>jn,getEvent:()=>Ke,getFlowSettings:()=>ue,getGrantedConsent:()=>Te,getHeaders:()=>$t,getId:()=>Fe,getMappingEvent:()=>ft,getMappingValue:()=>ut,getMarketingParameters:()=>He,getNextSteps:()=>tr,getOS:()=>In,getOSVersion:()=>On,getPlatform:()=>le,getSpanId:()=>Ve,getTraceId:()=>Be,getTraceUntil:()=>bn,isArguments:()=>me,isArray:()=>ge,isBoolean:()=>ve,isCommand:()=>he,isDefined:()=>ye,isElementOrDocument:()=>be,isEnvObserve:()=>Ln,isFunction:()=>we,isNumber:()=>ke,isObject:()=>$e,isPathStepEntry:()=>jr,isPropertyType:()=>rt,isRouteArray:()=>Xn,isRouteConfigEntry:()=>Jn,isSameType:()=>Se,isSampled:()=>jt,isStoreValue:()=>dr,isString:()=>Ee,mcpError:()=>Zn,mcpResult:()=>Wn,mergeContractSchemas:()=>K,mergeMappingRule:()=>mt,mockEnv:()=>gt,observeFromEnv:()=>qn,packageNameToVariable:()=>fe,parseCallPath:()=>Un,parseGrant:()=>Rt,parseObserveCredential:()=>Bn,parseTraceparent:()=>We,parseUserAgent:()=>Sn,processEventMapping:()=>pt,readCacheEnvelope:()=>ir,requestToData:()=>bt,requestToParameter:()=>wt,resolveContracts:()=>U,resolveSetup:()=>St,resolveTelemetryOptions:()=>xt,scanFlowRefs:()=>ne,serializeStoreValue:()=>mr,setByPath:()=>Oe,setTraceUntil:()=>wn,stepId:()=>f,storeCache:()=>br,throttle:()=>Xe,throwError:()=>F,transformData:()=>kt,traverseEnv:()=>vt,trim:()=>Et,tryCatch:()=>it,tryCatchAsync:()=>at,useHooks:()=>At,validateStepEntry:()=>Or,verifyActivation:()=>Dt,walkPath:()=>ae,wrapCacheEnvelope:()=>sr,wrapCondition:()=>_n,wrapFn:()=>Mn,wrapValidate:()=>Nn}),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 f(e,t){if("collector"===e)return"collector";if(!t)throw new Error(`stepId(${e}) requires an id`);return`${e}.${t}`}s(c,{stepId:()=>f});var u={},l={};function p(e,t){const n=e.destinations[t];if(!n)throw new Error(`Destination not found: ${t}`);return n}s(l,{getDestination:()=>p});var d={},m={},g={};s(g,{Level:()=>v});var v=(e=>(e[e.ERROR=0]="ERROR",e[e.WARN=1]="WARN",e[e.INFO=2]="INFO",e[e.DEBUG=3]="DEBUG",e))(v||{}),h={},y={},b={};function w(e,t){const n=e.transformers[t];if(!n)throw new Error(`Transformer not found: ${t}`);return n}s(b,{getTransformer:()=>w});var k={},$={};function S(e,t){const n=e.sources[t];if(!n)throw new Error(`Source not found: ${t}`);return n}s($,{getSource:()=>S});var E={};function A(e,t){const n=e.stores[t];if(!n)throw new Error(`Store not found: ${t}`);return n}async function I(e,t){return await e.get(t)}s(E,{getStore:()=>A,getStoreValue:()=>I});var O={},j={},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"]),D=new Set(["additionalItems","additionalProperties","contains","contentSchema","else","if","items","not","propertyNames","then","unevaluatedItems","unevaluatedProperties"]),L=new Set(["allOf","anyOf","items","oneOf","prefixItems"]),V=new Set(["properties","patternProperties","dependentSchemas","dependentRequired","dependencies","$defs","definitions"]);function U(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=K(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?K(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=K(o,s));const i=e["*"]?.[r];i&&"*"!==r&&(o=K(o,i));const a=e[n]?.["*"];a&&"*"!==r&&(o=K(o,a));const c=e[n]?.[r];c&&(o=K(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]=B(o)}a.events=e}return o.delete(t),r[t]=a,a}for(const t of Object.keys(e))s(t);return r}function K(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])]:W(o)&&W(s)?n[r]=K(o,s):n[r]=s}return n}function B(e){const t={};for(const[n,r]of Object.entries(e))z.has(n)||(V.has(n)&&W(r)?t[n]=q(r):L.has(n)&&Array.isArray(r)?t[n]=r.map(e=>W(e)?B(e):e):D.has(n)&&W(r)?t[n]=B(r):t[n]=r);return t}function q(e){const t={};for(const[n,r]of Object.entries(e))t[n]=W(r)?B(r):r;return t}function W(e){return"object"==typeof e&&null!==e&&!Array.isArray(e)}var Z=/^\$var\.([a-zA-Z_][a-zA-Z0-9_]*(?:\.[a-zA-Z_][a-zA-Z0-9_]*)*)$/,H=/\$var\.([a-zA-Z_][a-zA-Z0-9_]*(?:\.[a-zA-Z_][a-zA-Z0-9_]*)*)/g,G=/\$env\.([a-zA-Z_][a-zA-Z0-9_]*)(?::([^"}\s]*))?/g,J=/^\$contract\.([a-zA-Z_][a-zA-Z0-9_]*)(?:\.(.+))?$/,X=/^\$flow\.([a-zA-Z_][a-zA-Z0-9_]*)(?:\.([a-zA-Z0-9_.]+))?$/,Y=/^\$store\.([a-zA-Z_][a-zA-Z0-9_]*)$/,Q=/^\$secret\.([A-Z0-9_]+)$/,ee="$code:",te=/\$flow\.([a-zA-Z_][a-zA-Z0-9_]*)/g;function ne(e,t){const n=t??new Set;if("string"==typeof e){for(const t of e.matchAll(te))n.add(t[1]);return n}if(e&&"object"==typeof e)for(const t of Object.values(e))ne(t,n);return n}function re(...e){const t={};for(const n of e)n&&Object.assign(t,n);return t}var oe="__WALKEROS_ENV:",se="__WALKEROS_SECRET:";function ie(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 ae(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 ce(e,t,n,r,o,s){if("string"==typeof e){const i=e.match(Z);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 f=s??new Set;if(f.has(a)){F(`Cyclic $var reference: ${[...f,a].join(" -> ")}`)}let u;f.add(a);try{u=ce(t[a],t,n,r,o,f)}finally{f.delete(a)}return c&&(u=ae(u,c,`$var.${a}`)),u}const a=e.match(J);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=ae(n,t,`$contract.${e}`)),n}const c=e.match(X);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?.(ie(t,r,"unknown-flow")),e;F(`Flow "${t}" not found in $flow.${t}`)}let a=i;if(r)if(s){try{a=ae(a,r,`$flow.${t}`)}catch{return n?.onWarning?.(ie(t,r,"missing-key")),e}if(null==a||""===a)return n?.onWarning?.(ie(t,r,"missing-key")),e}else a=ae(a,r,`$flow.${t}`);return a}const f=e.match(Q);if(f){const e=f[1];if(n?.deferred)return`${se}${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(H,(e,i)=>{const a=i.split("."),c=a[0],f=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 l;u.add(c);try{l=ce(t[c],t,n,r,o,u)}finally{u.delete(c)}if(f&&(l=ae(l,f,`$var.${c}`)),null===l||"string"!=typeof l&&"number"!=typeof l&&"boolean"!=typeof l){F(`Variable "${i}" resolves to non-scalar (${Array.isArray(l)?"array":typeof l}) and cannot be inlined into a string. Use it as a whole-string reference: "$var.${i}"`)}return String(l)});return u=u.replace(G,(e,t,r)=>n?.deferred?void 0!==r?`${oe}${t}:${r}`:`${oe}${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=>ce(e,t,n,r,o,s));if(null!==e&&"object"==typeof e){const i={};for(const[a,c]of Object.entries(e))i[a]=ce(c,t,n,r,o,s);return i}return e}function fe(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 ue(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=re(e.variables,a.variables),s=ce(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=re(e.variables,t.variables);s=U(ce(e.contract,o,n,void 0,r))}if(o.config){const i=re(e.variables,t.variables);o.config=ce(o.config,i,n,s,r)}if(o.sources)for(const[i,a]of Object.entries(o.sources)){const c=re(e.variables,t.variables,a.variables),f=ce(a.config,c,n,s,r),u=ce(a.env,c,n,s,r);o.sources[i]={package:a.package,import:a.import,config:f,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=re(e.variables,t.variables,a.variables),f=ce(a.config,c,n,s,r),u=ce(a.env,c,n,s,r);o.destinations[i]={package:a.package,import:a.import,config:f,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=re(e.variables,t.variables,a.variables),f=ce(a.config,c,n,s,r),u=ce(a.env,c,n,s,r);o.stores[i]={package:a.package,import:a.import,config:f,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=re(e.variables,t.variables,a.variables),f=ce(a.config,c,n,s,r),u=ce(a.env,c,n,s,r);o.transformers[i]={package:a.package,import:a.import,config:f,env:u,variables:a.variables,before:a.before,next:a.next,cache:a.cache,code:a.code}}if(o.collector){const i=re(e.variables,t.variables),a=ce(o.collector,i,n,s,r);o.collector=a}return o}(e,c,n,i)}finally{o.delete(t),s.pop()}}function le(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 pe={merge:!0,shallow:!0,extend:!0};function de(e,t={},n={}){n={...pe,...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 me(e){return"[object Arguments]"===Object.prototype.toString.call(e)}function ge(e){return Array.isArray(e)}function ve(e){return"boolean"==typeof e}function he(e){return"walker"===e}function ye(e){return void 0!==e}function be(e){return!(!e||"object"!=typeof e)&&("body"in e||"tagName"in e)}function we(e){return"function"==typeof e}function ke(e){return"number"==typeof e&&!Number.isNaN(e)}function $e(e){return"object"==typeof e&&null!==e&&!ge(e)&&"[object Object]"===Object.prototype.toString.call(e)}function Se(e,t){return typeof e==typeof t}function Ee(e){return"string"==typeof e}function Ae(e,t=new WeakMap){if("object"!=typeof e||null===e)return e;if(t.has(e))return t.get(e);const n=Object.prototype.toString.call(e);if("[object Object]"===n){const n={};t.set(e,n);for(const r in e)Object.prototype.hasOwnProperty.call(e,r)&&(n[r]=Ae(e[r],t));return n}if("[object Array]"===n){const n=[];return t.set(e,n),e.forEach(e=>{n.push(Ae(e,t))}),n}if("[object Date]"===n)return new Date(e.getTime());if("[object RegExp]"===n){const t=e;return new RegExp(t.source,t.flags)}return e}function Ie(e,t="",n){const r=t.split(".");let o=e;for(let e=0;e<r.length;e++){const t=r[e];if("*"===t&&ge(o)){const t=r.slice(e+1).join("."),s=[];for(const e of o){const r=Ie(e,t,n);s.push(r)}return s}if(o=$e(o)||ge(o)?o[t]:void 0,void 0===o)break}return ye(o)?o:n}function Oe(e,t,n){if(!$e(e))return e;const r=Ae(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 je(e,t){if(!$e(e)&&!ge(e))return e;const n=Ae(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(ge(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(!$e(t)&&!ge(t))return n;o=t}}else if(s)delete o[t];else{const e=o[t];if(!$e(e)&&!ge(e))return n;o=e}}return n}var xe={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 _e(e,t,n){if($e(n))for(const[r,o]of Object.entries(n))void 0!==o&&_e(e,`${t}_${r}`,o);else e[t]=n}function Me(e,t){const n={},r=t.includes("all")?Object.keys(xe):t;for(const t of r){const r=xe[t];if(!r)continue;const o=r(e);if($e(o))for(const[e,r]of Object.entries(o)){if(void 0===r)continue;_e(n,`${t}_${e}`,"context"===t&&Array.isArray(r)?r[0]:r)}}return n}function Ne(e){if("true"===e)return!0;if("false"===e)return!1;const t=Number(e);return e==t&&""!==e?t:String(e)}function Te(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 Ce(e,t){const n={...e};return n.config=de(e.config,t,{shallow:!0,merge:!0,extend:!0}),e.config.settings&&t.settings&&(n.config.settings=de(e.config.settings,t.settings,{shallow:!0,merge:!0,extend:!0})),e.config.mapping&&t.mapping&&(n.config.mapping=de(e.config.mapping,t.mapping,{shallow:!0,merge:!0,extend:!0})),n}function Re(e,t){if(!$e(t))return e;for(const n of Object.keys(t)){const r=t[n];void 0!==r&&($e(r)&&$e(e[n])?Re(e[n],r):e[n]=r)}return e}var Pe="0123456789abcdefghijklmnopqrstuvwxyz";function Fe(e=6,t=Pe){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(!ze(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 ze(e){try{const t=globalThis.crypto;if(t&&"function"==typeof t.getRandomValues)return t.getRandomValues(e),!0}catch{}return!1}var De="0123456789abcdef";function Le(e){let t=Fe(e,De);for(;/^0+$/.test(t);)t=Fe(e,De);return t}function Ve(){return Le(16)}function Ue(e={}){const t=e.timestamp||(new Date).setHours(0,13,37,0),n=de({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||Ve(),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 Ke(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 Ue({...{"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 Be(){return Le(32)}var qe=/^(?<version>[0-9a-f]{2})-(?<trace>[0-9a-f]{32})-(?<span>[0-9a-f]{16})-[0-9a-f]{2}$/;function We(e){if("string"!=typeof e)return;const t=qe.exec(e)?.groups;if(!t)return;const{version:n,trace:r,span:o}=t;return void 0===n||void 0===r||void 0===o||"ff"===n||/^0+$/.test(r)||/^0+$/.test(o)?void 0:{trace:r,parentSpan:o}}var Ze=[{param:"gclid",platform:"google"},{param:"wbraid",platform:"google"},{param:"gbraid",platform:"google"},{param:"dclid",platform:"google"},{param:"gclsrc",platform:"google"},{param:"fbclid",platform:"meta"},{param:"igshid",platform:"meta"},{param:"msclkid",platform:"microsoft"},{param:"ttclid",platform:"tiktok"},{param:"twclid",platform:"twitter"},{param:"li_fat_id",platform:"linkedin"},{param:"epik",platform:"pinterest"},{param:"sclid",platform:"snapchat"},{param:"sccid",platform:"snapchat"},{param:"rdt_cid",platform:"reddit"},{param:"qclid",platform:"quora"},{param:"yclid",platform:"yandex"},{param:"ymclid",platform:"yandex"},{param:"ysclid",platform:"yandex"},{param:"dicbo",platform:"outbrain"},{param:"obclid",platform:"outbrain"},{param:"tblci",platform:"taboola"},{param:"mc_cid",platform:"mailchimp"},{param:"mc_eid",platform:"mailchimp"},{param:"_kx",platform:"klaviyo"},{param:"_hsenc",platform:"hubspot"},{param:"_hsmi",platform:"hubspot"},{param:"s_kwcid",platform:"adobe"},{param:"ef_id",platform:"adobe"},{param:"mkt_tok",platform:"adobe"},{param:"irclickid",platform:"impact"},{param:"cjevent",platform:"cj"},{param:"_branch_match_id",platform:"branch"}];function He(e,t={},n=[]){const r={};Object.entries(de({utm_campaign:"campaign",utm_content:"content",utm_medium:"medium",utm_source:"source",utm_term:"term"},t)).forEach(([t,n])=>{const o=e.searchParams.get(t);o&&(r[n]=o)});const o=n.length?function(e){const t=new Map(e.map(e=>[e.param,e.platform])),n=new Set(Ze.map(e=>e.param));return[...Ze.map(e=>t.has(e.param)?{param:e.param,platform:t.get(e.param)}:e),...e.filter(e=>!n.has(e.param))]}(n):Ze,s=new Map;e.searchParams.forEach((e,t)=>{e&&s.set(t.toLowerCase(),e)});for(const e of o){const t=s.get(e.param);t&&(r[e.param]=t,r.clickId||(r.clickId=e.param,r.platform=e.platform))}return r}function Ge(e,t){return"number"==typeof e?{wait:e}:e?{wait:e.wait??t,size:e.size,age:e.age}:{wait:t}}function Je(e,t=1e3,n=!1){const{wait:r,size:o,age:s}=Ge(t,1e3);let i,a,c=null,f=null,u=!1,l=[],p=0;const d=()=>{c&&(clearTimeout(c),c=null),f&&(clearTimeout(f),f=null),p=0,a=void 0},m=()=>{const t=a,n=l;if(d(),l=[],t)return i=e(...t),n.forEach(e=>e(i)),i;n.forEach(e=>e(void 0))},g=(...t)=>new Promise(d=>{const g=n&&!u;if(a=t,p+=1,l.push(d),c&&clearTimeout(c),c=setTimeout(()=>{c=null,n&&!u||m()},r),void 0===s||f||(f=setTimeout(()=>{f=null,m()},s)),void 0!==o&&p>=o)m();else if(g){u=!0,i=e(...t);const n=l;l=[],n.forEach(e=>e(i))}});return g.flush=()=>a||0!==l.length?new Promise(e=>{l.push(e),m()}):Promise.resolve(i),g.cancel=()=>{const e=l;l=[],d(),i=void 0,e.forEach(e=>e(void 0))},g.size=()=>p,g}function Xe(e,t=1e3){const{wait:n}=Ge(t,1e3);let r=null;return function(...t){if(null===r)return r=setTimeout(()=>{r=null},n),e(...t)}}function Ye(e){return{message:e.message,name:e.name,stack:e.stack,cause:e.cause}}function Qe(e,t){let n,r={};return e instanceof Error?(n=e.message,r.error=Ye(e)):n=e,void 0!==t&&(t instanceof Error?r.error=Ye(t):"object"==typeof t&&null!==t?(r={...r,...t},"error"in r&&r.error instanceof Error&&(r.error=Ye(r.error))):r.value=t),{message:n,context:r}}var et=(e,t,n,r)=>{const o=`${v[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 tt(e={}){return nt({level:void 0!==e.level?function(e){return"string"==typeof e?v[e]:e}(e.level):0,handler:e.handler,jsonHandler:e.jsonHandler,scope:[]})}function nt(e){const{level:t,handler:n,jsonHandler:r,scope:o}=e,s=(e,r,s)=>{if(e<=t){const t=Qe(r,s);n?n(e,t.message,t.context,o,et):et(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=Qe(e,t);throw n?n(0,r.message,r.context,o,et):et(0,r.message,r.context,o),new Error(r.message)},json:e=>{r?r(e):console.log(JSON.stringify(e,null,2))},scope:e=>nt({level:t,handler:n,jsonHandler:r,scope:[...o,e]})}}function rt(e){return ve(e)||Ee(e)||ke(e)||!ye(e)||ge(e)&&e.every(rt)||$e(e)&&Object.values(e).every(rt)}function ot(e){return ve(e)||Ee(e)||ke(e)?e:me(e)?ot(Array.from(e)):ge(e)?e.map(e=>ot(e)).filter(e=>void 0!==e):$e(e)?Object.entries(e).reduce((e,[t,n])=>{const r=ot(n);return void 0!==r&&(e[t]=r),e},{}):void 0}function st(e){return rt(e)?e:void 0}function it(e,t,n){return function(...r){try{return e(...r)}catch(e){if(!t)return;return t(e)}finally{n?.()}}}function at(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 ct=class e extends Error{constructor(t,n){super(t,n),this.name="FatalError",Object.setPrototypeOf(this,e.prototype)}};async function ft(e,t,n){const[r,o]=(e.name||"").split(" ");if(!t||!r||!o)return{};let s,i="",a=r,c=o;const f=t=>{if(!t)return;return(ge(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:$e(e)&&e.consent||n.consent};return Boolean(t.condition(e,r))})};t[a]||(a="*");const u=t[a];return u&&(u[c]||(c="*"),s=f(u[c])),s||(a="*",c="*",s=f(t[a]?.[c])),s&&(i=`${a} ${c}`),{eventMapping:s,mappingKey:i}}async function ut(e,t={},n={}){if(!ye(e))return;const r=$e(e)&&e.consent||n.consent||n.collector?.consent,o=n.event??($e(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=ge(t)?t:[t];for(const t of i){const r=await at(lt,e=>{if(e instanceof ct)throw e;n.collector&&n.collector.status.failed++,s.logger.error("mapping processing failed",{event:o,error:e})})(e,t,{...s,mapping:t});if(ye(r))return r}}async function lt(e,t,n){return(ge(t)?t:[t]).reduce(async(t,r)=>{const o=await t;if(o)return o;const s=Ee(r)?{key:r}:r;if(!Object.keys(s).length)return;const{condition:i,consent:a,fn:c,key:f,loop:u,map:l,set:p,validate:d,value:m}=s,g={...n,mapping:r};if(i&&!await at(i,e=>{if(e instanceof ct)throw e;return g.logger.error("mapping condition failed",{event:g.event,error:e}),!1})(e,g))return;if(a&&!Te(a,g.consent))return m;let v=ye(m)?m:e;if(c&&(v=await at(c,e=>{if(e instanceof ct)throw e;g.logger.error("mapping fn failed",{event:g.event,error:e})})(e,g)),f&&(v=Ie(e,f,m)),u){const[t,n]=u,r="this"===t?[e]:await ut(e,t,g);ge(r)&&(v=(await Promise.all(r.map(e=>ut(e,n,g)))).filter(ye))}else l?v=await Object.entries(l).reduce(async(t,[n,r])=>{const o=await t,s=await ut(e,r,g);return ye(s)&&(o[n]=s),o},Promise.resolve({})):p&&(v=await Promise.all(p.map(t=>lt(e,t,g))));d&&!await at(d,e=>{if(e instanceof ct)throw e;return g.logger.error("mapping validate failed",{event:g.event,error:e}),!1})(v,g)&&(v=void 0);const h=st(v);return ye(h)?h:st(m)},Promise.resolve(void 0))}async function pt(e,t,n){t.policy&&await Promise.all(Object.entries(t.policy).map(async([t,r])=>{const o=await ut(e,r,{collector:n,event:e});e=Oe(e,t,o)}));const{eventMapping:r,mappingKey:o}=await ft(e,t.mapping,n);r?.policy&&await Promise.all(Object.entries(r.policy).map(async([t,r])=>{const o=await ut(e,r,{collector:n,event:e});e=Oe(e,t,o)}));let s=t.data&&await ut(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 ut(e,r.data,{collector:n,event:e});s=$e(s)&&$e(t)?de(s,t):t}}const a=r?.include??t.include;if(a&&a.length>0){const t=Me(e,a);Object.keys(t).length>0&&(s=$e(s)?de(t,s):s??t)}if(r?.remove&&$e(s))for(const e of r.remove)s=je(s,e);return{event:e,data:s,mapping:r,mappingKey:o,ignore:!1,silent:i}}function dt(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];$e(r)&&$e(o)?dt(o,r):e[n]=r}return e}function mt(e,t){if(void 0===t.extend&&void 0===t.remove)return Ae(t);const n={...Ae(e)};if(t.extend){dt(n,{...t.extend})}return delete n.extend,t.remove?n.remove=[...t.remove]:delete n.remove,n}function gt(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 vt(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 ht(){const e=[],t=jest.fn(e=>{const t=e instanceof Error?e.message:e;throw new Error(t)}),n=jest.fn(t=>{const n=ht();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 yt(e={}){return{collector:{},config:{},env:{},logger:ht(),id:"test",ingest:C("test"),...e}}function bt(e){const t=String(e),n=t.split("?")[1]||t;return it(()=>{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(ge(o)){const i=parseInt(t,10);s?o[i]=Ne(e):(o[i]=o[i]||(isNaN(parseInt(r[n+1],10))?{}:[]),o=o[i])}else $e(o)&&(s?o[t]=Ne(e):(o[t]=o[t]||(isNaN(parseInt(r[n+1],10))?{}:[]),o=o[t]))})}),t})()}function wt(e){if(!e)return"";const t=[],n=encodeURIComponent;function r(e,o){null!=o&&(ge(o)?o.forEach((t,n)=>r(`${e}[${n}]`,t)):$e(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 kt(e){return void 0===e||Se(e,"")?e:JSON.stringify(e)}function $t(e={}){return de({"Content-Type":"application/json; charset=utf-8"},e)}function St(e,t){return!1===e||void 0===e?null:!0===e?t:{...t,...e}}function Et(e){return e?e.trim().replace(/^'|'$/g,"").trim():""}function At(e,t,n,r){const o=e;return function(...e){let s;const i="pre"+t,a="post"+t,c=n[i],f=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(f)try{s=f({fn:o,result:s},...e)}catch(e){u(`Hook ${String(a)} failed, keeping original result`,e)}return s}}function It(e,t){if(t>=1)return!0;if(t<=0)return!1;return function(e){let t=2166136261;for(let n=0;n<e.length;n++)t^=e.charCodeAt(n),t=t+((t<<1)+(t<<4)+(t<<7)+(t<<8)+(t<<24))>>>0;return t>>>0}(e)/4294967295<t}function Ot(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&&!It(t.eventId,i))return;const a=r.includeIn??"trace"===o,c=r.includeOut??"trace"===o,f=r.includeMappingKey??"trace"===o,u={...t};a||delete u.inEvent,c||(delete u.outEvent,delete u.calls),f||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 jt(e,t){return It(e,t)}function xt(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 _t=/^[A-Za-z0-9_-]+$/;function Mt(e){if(!_t.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 Nt(e){const t=new Uint8Array(e.length);for(let n=0;n<e.length;n++)t[n]=e.charCodeAt(n);return t}function Tt(e){const t=Mt(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 Ct(e){return"object"==typeof e&&null!==e&&!Array.isArray(e)}function Rt(e){if(!e)return null;const t=e.split("."),[n,r,o]=t;if(3!==t.length||!n||!r||!o)return null;const s=Tt(n);if(!Ct(s))return null;const i=s.kid,a=s.alg;if("string"!=typeof i||"ES256"!==a)return null;const c=Tt(r);if(!function(e){if(!Ct(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&&_t.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 f=Mt(o);return f&&64===f.byteLength?{grant:c,kid:i,signed:Nt(`${n}.${r}`),signature:f}:null}var Pt=9e5,Ft=6e4,zt=39e5;async function Dt(e,t){const n=Rt(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+Ft)return{ok:!1,reason:"expired"};if(1e3*r.sxp-1e3*r.iat>zt)return{ok:!1,reason:"expired"};const a="url"===t.source?Math.min(1e3*r.iat+Pt,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 f=t.keyring.find(e=>e.kid===o);if(!f)return{ok:!1,reason:"kid-mismatch"};const u=t.crypto??globalThis.crypto,l=u?.subtle;if(!l)return{ok:!1,reason:"no-subtle"};const p=function(e){return Mt(e)}(f.spki);if(!p)return{ok:!1,reason:"kid-mismatch"};try{const e=await l.importKey("spki",p,{name:"ECDSA",namedCurve:"P-256"},!1,["verify"]);if(!await l.verify({name:"ECDSA",hash:"SHA-256"},e,i,s))return{ok:!1,reason:"bad-signature"}}catch{return{ok:!1,reason:"bad-signature"}}return{ok:!0,grant:r}}var Lt="elbPreview",Vt="elbPreviewSession",Ut="elbObserve",Kt="[walkerOS:preview]",Bt=5e3,qt=globalThis;function Wt(e){let t=null;return{get(){try{return qt.window?.localStorage.getItem(e)??t}catch{return t}},set(n){try{qt.window?.localStorage.setItem(e,n)}catch{t=n}},clear(){t=null;try{qt.window?.localStorage.removeItem(e)}catch{}}}}function Zt(){const e=qt.window,t=qt.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 f=c.toString();e.history.replaceState({},"",`${a}${f?`?${f}`:""}${o}`)}catch{}}async function Ht(e){const t=qt.window;if(!t||!qt.document)return!1;const n=Wt(Lt),r=Wt(Vt),o=Wt(Ut),s=e.now??(()=>Date.now()),i=e=>qt.console?.warn(`${Kt} ${e}`);let a=null,c=null,f=null;const u=qt.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");f=o.length>0?o[o.length-1]??null:null}catch{a=null,c=null,f=null}if("off"===a)return n.clear(),r.clear(),o.clear(),Zt(),!1;const l=n.get();if(!a&&!l)return!1;const p=(n,r)=>Dt(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(),f?o.set(f):o.clear()):i(e.reason),Zt()}if(!d&&l){const e=await p(l,"storage");e.ok?d=e.grant:(i(e.reason),"no-subtle"!==e.reason&&(n.clear(),r.clear(),o.clear()))}if(!d)return!1;const m=`https://${e.previewOrigin}/preview/${d.art}.js`,g=await function(e,t){return new Promise(n=>{const r=qt.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&&qt.clearTimeout?.(s),!e&&o.parentNode&&o.parentNode.removeChild(o),n(e))};s=qt.setTimeout?.(()=>a(!1),Bt),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?(qt.console?.info(`${Kt} active ${d.art} ends ${new Date(1e3*d.sxp).toISOString()}`),!0):(i("swap-failed"),n.clear(),r.clear(),o.clear(),!1)}var Gt=15e3,Jt={error:5,skip:4,out:3,in:2,init:1,flush:0},Xt="\0none",Yt="\0";function Qt(e,t){return`${e??Xt}${Yt}${t}`}function en(e){const t=Date.parse(e);return Number.isNaN(t)?0:t}function tn(e){return""!==e.eventId?e.eventId:function(e){if("object"!=typeof e||null===e)return;if(!("event"in e))return;const t=e.event;if("object"!=typeof t||null===t)return;if(!("id"in t))return;const n=t.id;return"string"==typeof n&&""!==n?n:void 0}(e.outEvent)}function nn(e,t){let n=t;for(;;){const t=e.get(n);if(void 0===t||t===n)break;n=t}let r=t;for(;r!==n;){const t=e.get(r);if(e.set(r,n),void 0===t)break;r=t}return n}function rn(e,t,n){const r=nn(e,t),o=nn(e,n);r!==o&&(r<o?e.set(o,r):e.set(r,o))}function on(e){for(const t of e)if(t.traceId)return t.traceId}function sn(e){switch(e){case"error":return"error";case"skip":return"skipped";case"out":return"done";case"in":case"init":case"flush":return"pending"}}function an(e){return"out"===e.terminalPhase||"error"===e.terminalPhase||"skip"===e.terminalPhase||!0===e.batched}function cn(e){return"done"===e.status&&("transformer"!==e.stepType||null!==e.out&&void 0!==e.out)}function fn(e,t,n,r){const o=n.get(Qt(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 un(e){const t=new Map,n=new Map;e.nodes.forEach((e,r)=>{const o={node:e,rank:r,key:Qt(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=fn(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 ln(e,t,n){const r=e.byKey.get(Qt(n,t));if(void 0!==r)return r;const o=e.byKey.get(Qt(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 pn(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(an)?"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&&cn(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||!an(t))return"partial"}return"complete"}(e,t,r):e.every(an)?"complete":"partial"}function dn(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,f,u,l,p,d,m,g,v,h=i[0],y=i[0];for(const e of i)e.elapsedMs<h.elapsedMs&&(h=e),Jt[e.phase]>Jt[y.phase]&&(y=e),"out"===e.phase&&(a=e),void 0!==e.inEvent&&void 0===c&&(c=e.inEvent),void 0!==e.outEvent&&(f=e.outEvent),void 0!==e.mappingKey&&(u=e.mappingKey),void 0!==e.contractRule&&(l=e.contractRule),void 0!==e.consent&&(p=e.consent),void 0!==e.consentApplied&&(d=e.consentApplied),void 0!==e.meta&&(m=e.meta),void 0!==e.parentEventId&&void 0===g&&(g=e.parentEventId),void 0!==e.release&&(v=e.release);const b=y.phase,w=a?.durationMs,k="error"===b?y.error:void 0,$="skip"===b?y.skipReason:void 0,S=a?.calls,E="out"===y.phase&&void 0!==y.batch||void 0,A=!(!o||!0!==E)||void 0,I=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)Jt[e.phase]>Jt[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,f=n?.calls;return{branchId:e,status:sn(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!==f?{calls:f}:{}}}(e,t)):void 0;return{stepId:h.stepId,stepType:h.stepType,eventId:h.eventId,status:sn(b),terminalPhase:b,startedAtMs:t.elapsedMs,timestamp:t.timestamp,...void 0!==h.platform?{platform:h.platform}:{},...void 0!==g?{parentEventId:g}:{},...void 0!==w?{durationMs:w}:{},...void 0!==c?{in:c}:{},...void 0!==f?{out:f}:{},...void 0!==k?{error:k}:{},...void 0!==$?{skipReason:$}:{},...void 0!==u?{mappingKey:u}:{},...void 0!==l?{contractRule:l}:{},...void 0!==p?{consent:p}:{},...void 0!==d?{consentApplied:d}:{},...void 0!==S?{calls:S}:{},...void 0!==I?{branches:I}:{},...void 0!==E?{batched:E}:{},...void 0!==A?{flushConfirmed:A}:{},...void 0!==v?{release:v}:{},...void 0!==m?{meta:m}:{}}}function mn(e,t){const n=e.map(e=>({hop:e,rank:void 0!==t?ln(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 gn(e){const t=e.filter(e=>"collector"===e.stepType&&"in"===e.phase),n=t.length>0?t:e;let r=n[0],o=en(r.timestamp);for(const e of n){const t=en(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 vn(e,t,n,r,o){const{topo:s}=o,i=new Map;for(const e of n){const t=Qt(e.platform,e.stepId),n=i.get(t);n?n.push(e):i.set(t,[e])}const a=[...i.values()].map(dn),c=new Map;for(const e of a){const t=e.platform??Xt;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,en(e.timestamp))}const f=function(e){const t=new Map,n=e.map((e,t)=>t).sort((t,n)=>{const r=e[t].platform??Xt,o=e[n].platform??Xt;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??Xt,r=t.seg.platform??Xt;return n<r?-1:n>r?1:0}).map(e=>e.seg)}([...c.values()]),u=[],l=[];for(const e of f){void 0===e.platform||l.includes(e.platform)||l.push(e.platform);for(const t of mn(e.hops,s))u.push(t)}let p=Number.POSITIVE_INFINITY,d=Number.NEGATIVE_INFINITY;for(const e of n){const t=en(e.timestamp);t<p&&(p=t),t>d&&(d=t)}const m=pn(u,l,d,s,o.settleMs,o.now),g=function(e,t,n,r){for(const o of r)if((void 0===o.platform||e.includes(o.platform))&&t<=o.toMs&&o.fromMs<=n)return!0;return!1}(l,p,d,o.gaps);return{id:e,correlation:"event",...void 0!==t?{traceId:t}:{},entry:gn(r),hops:u,platforms:l,status:m,lossy:g,firstTimestamp:p,lastTimestamp:d,totalMs:d-p}}function hn(e,t){const n={...void 0!==t?.topology?{topo:un(t.topology)}:{},settleMs:t?.settleMs??Gt,now:t?.now??Date.now(),gaps:[]},r=function(e){const t=new Set,n=[];for(const r of e){const e=void 0!==r.seq&&r.traceId?`seq${Yt}${r.platform??""}${Yt}${r.traceId}${Yt}${r.seq}`:void 0!==r.seq?`seqt${Yt}${r.platform??""}${Yt}${r.stepId}${Yt}${r.phase}${Yt}${r.eventId}${Yt}${r.branchId??""}${Yt}${r.elapsedMs}${Yt}${r.timestamp}${Yt}${r.seq}`:`tuple${Yt}${r.platform??""}${Yt}${r.stepId}${Yt}${r.phase}${Yt}${r.eventId}${Yt}${r.branchId??""}${Yt}${r.elapsedMs}`;t.has(e)||(t.add(e),n.push(r))}return n}(e);n.gaps=function(e){const t=new Map;for(const n of e){if(void 0===n.seq)continue;const e=n.platform??Xt,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=en(e.timestamp),r=en(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:en(s.timestamp),toMs:en(e.timestamp),afterSeq:i,beforeSeq:t})}s=e,i=t}else s=e,i=t}else s=e,i=t}}return n}(r);const o=[],s=[];for(const e of r){const t=tn(e);void 0!==t?o.push({record:t===e.eventId?e:{...e,eventId:t},eventId:t}):s.push(e)}o.sort((e,t)=>function(e,t){const n=e.platform??"",r=t.platform??"";if(n!==r)return n<r?-1:1;if(e.stepId!==t.stepId)return e.stepId<t.stepId?-1:1;if(e.phase!==t.phase)return Jt[e.phase]-Jt[t.phase];if(e.eventId!==t.eventId)return e.eventId<t.eventId?-1:1;const o=e.branchId??"",s=t.branchId??"";if(o!==s)return o<s?-1:1;if(e.elapsedMs!==t.elapsedMs)return e.elapsedMs-t.elapsedMs;const i=e.seq??-1,a=t.seq??-1;return i!==a?i-a:e.timestamp!==t.timestamp?e.timestamp<t.timestamp?-1:1:0}(e.record,t.record));const i=new Set(o.map(e=>e.eventId)),a=new Map,c=new Map;for(const{record:e,eventId:t}of o){const n=e.parentEventId;if(void 0===n||n===t||!i.has(n))continue;const r=a.get(t);r?r.add(n):a.set(t,new Set([n]));const o=c.get(n);o?o.add(t):c.set(n,new Set([t]))}const f=new Map;for(const[e,t]of c)if(1===t.size)for(const n of t)rn(f,n,e);const u=new Map;for(const e of o){const t=nn(f,e.eventId);let n=u.get(t);n||(n={entries:[],eventIds:new Set},u.set(t,n)),n.entries.push(e),n.eventIds.add(e.eventId)}const l=[...u.values()].map(e=>{const t=function(e,t){const n=[...e].sort();for(const r of n){const n=t.get(r);if(void 0===n)return r;let o=!1;for(const t of n)if(e.has(t)){o=!0;break}if(!o)return r}return n[0]}(e.eventIds,a),r=e.entries.map(e=>e.record),o=e.entries.filter(e=>e.eventId===t).map(e=>e.record),s=on(o)??on(r);return vn(t,s,r,o,n)});l.sort((e,t)=>e.firstTimestamp!==t.firstTimestamp?e.firstTimestamp-t.firstTimestamp:e.id<t.id?-1:e.id>t.id?1:0);const p=function(e){const t=new Map;for(const n of e){if(!n.traceId)continue;const e=n.platform??Xt,r=en(n.timestamp);let o=t.get(e);void 0===o&&(o={...void 0!==n.platform?{platform:n.platform}:{},count:0,fromMs:r,toMs:r,stepIds:new Set},t.set(e,o)),o.count+=1,r<o.fromMs&&(o.fromMs=r),r>o.toMs&&(o.toMs=r),o.stepIds.add(n.stepId)}return[...t.entries()].sort(([e],[t])=>e<t?-1:e>t?1:0).map(([,e])=>({...void 0!==e.platform?{platform:e.platform}:{},count:e.count,fromMs:e.fromMs,toMs:e.toMs,stepIds:[...e.stepIds].sort()}))}(s);return{journeys:l,gaps:n.gaps,...p.length>0?{unattributed:p}:{}}}var yn=null;function bn(){return yn}function wn(e){yn=e}function kn(e,t){if(0===e.observers.size)return;const n=Array.from(e.observers);for(const e of n)try{e(t)}catch{}}function $n(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??(()=>{}),f={};for(const[t,n]of Object.entries(e.headers??{})){const e=t.toLowerCase();"authorization"!==e&&"content-type"!==e&&(f[t]=n)}let u=[],l=null,p=0;function d(e){const t={v:1,records:e},n=JSON.stringify(t);if(e.length<=1)return[n];if(function(e){let t=0;for(let n=0;n<e.length;n++){const r=e.charCodeAt(n);if(r<128)t+=1;else if(r<2048)t+=2;else if(r>=55296&&r<=56319&&n+1<e.length){const r=e.charCodeAt(n+1);r>=56320&&r<=57343?(t+=4,n++):t+=3}else t+=3}return t}(n)<=i)return[n];const r=Math.floor(e.length/2);return[...d(e.slice(0,r)),...d(e.slice(r))]}function m(t){return Promise.resolve().then(()=>a(e.url,{method:"POST",headers:{...f,"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=[],l&&(clearTimeout(l),l=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===l&&(l=setTimeout(g,n))}}function Sn(e){return e?{userAgent:e,browser:En(e),browserVersion:An(e),os:In(e),osVersion:On(e),deviceType:jn(e)}:{}}function En(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 An(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 In(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 On(e){const t=e.match(/(?:Windows NT|Mac OS X|Android|iPhone OS) ([0-9._]+)/);return t?t[1].replace(/_/g,"."):void 0}function jn(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 xn(e){return function(e){return/\breturn\b/.test(e)}(e)?e:`return ${e}`}function _n(e){const t=xn(e);return new Function("value","context",t)}function Mn(e){const t=xn(e);return new Function("value","context",t)}function Nn(e){const t=xn(e);return new Function("value","context",t)}var Tn="https://cdn.jsdelivr.net/npm",Cn="dist/walkerOS.json";function Rn(e){return"string"==typeof e||Array.isArray(e)&&e.every(e=>"string"==typeof e)?e:void 0}async function Pn(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=`${Tn}/${e}@${n}`,o=await Fn(`${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):[],f=[],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),f.push(r)}const l="string"==typeof o.docs?o.docs:void 0,p="string"==typeof o.source?o.source:void 0;return{packageName:e,version:"string"==typeof n.version?n.version:t,description:"string"==typeof n.description?n.description:void 0,type:"string"==typeof o.type?o.type:void 0,platform:Rn(o.platform),schemas:s,examples:i,...l?{docs:l}:{},...p?{source:p}:{},...a&&Object.keys(a).length>0?{hints:a}:{},hintKeys:c,exampleSummaries:f}}(e,n,o,await Fn(`${r}/${Cn}`,i,a))}finally{clearTimeout(s)}}async function Fn(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 zn(e,t){const n=await Pn(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 Dn="observe";function Ln(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 Vn="call:";function Un(e){const t=(e.startsWith(Vn)?e.slice(Vn.length):e).split(".");return t.some(e=>""===e)?[]:t}var Kn="obsw_";function Bn(e){if(!e.startsWith(Kn))return null;const t=e.slice(Kn.length).split("."),[n,r,o]=t;return 3===t.length&&n&&r&&o?{pb:n,ses:r,secret:o}:null}function qn(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 Wn(e,t){const n=t?{...e,_hints:t}:e;return{content:[{type:"text",text:JSON.stringify(n,null,2)}],structuredContent:n}}function Zn(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 Hn(e){let t=!1;return(n={})=>{t||(t=!0,e(n))}}function Gn(e){if(void 0===e||"*"===e)return()=>!0;if("and"in e){const t=e.and.map(Gn);return e=>t.every(t=>t(e))}if("or"in e){const t=e.or.map(Gn);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=Ie(e,t),r=s(n);return o?!r:r}}(e)}function Jn(e){return"object"==typeof e&&null!==e&&!Array.isArray(e)&&("match"in e||"next"in e||"one"in e||"many"in e)}function Xn(e){return Array.isArray(e)&&e.length>0&&e.every(e=>Jn(e))}function Yn(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?Gn(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(Xn(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:Gn(t.match),next:Qn(t.next)}:Qn(t.next);if("one"in t&&t.one){const e=Yn(t.one);return t.match?{type:"gate",match:Gn(t.match),next:{type:"one",routes:e}}:{type:"one",routes:e}}if("many"in t&&t.many){const e=Yn(t.many);return t.match?{type:"gate",match:Gn(t.match),next:{type:"many",routes:e}}:{type:"many",routes:e}}return t.match?{type:"gate",match:Gn(t.match)}:void 0}var er=new WeakMap;function tr(e,t={}){if(null==e)return[];let n;if("object"==typeof e){const t=er.get(e);t?n=t:(n=Qn(e),n&&er.set(e,n))}else n=Qn(e);if(!n)return[];const r=nr(n,t);return void 0===r?[]:Array.isArray(r)?r:[r]}function nr(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 nr(e.next,t)}if("sequence"===e.type){const n=[];for(const r of e.value){const e=nr(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=nr(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 nr(n.next,t)}}var rr="__walkeros_cache_v__",or="__walkeros_cache_exp__";function sr(e,t,n=Date.now){const r={[rr]:e};return void 0!==t&&(r[or]=n()+t),r}function ir(e,t=Date.now){if(void 0===e)return;if(null===(n=e)||"object"!=typeof n||Array.isArray(n)||!(rr in e))return{value:e};var n;const r=e[or];return"number"==typeof r&&t()>r?{expired:!0}:{value:e[rr]}}var ar="__walkeros_cache__",cr=class extends Error{constructor(e,t){super(e,t),this.name="StoreCodecError"}};function fr(e){return null!==e&&"object"==typeof e&&!Array.isArray(e)}function ur(e){if(Buffer.isBuffer(e))return{[ar]:"buffer",d:e.toString("base64")};if(e instanceof Uint8Array)return{[ar]:"buffer",d:Buffer.from(e.buffer,e.byteOffset,e.byteLength).toString("base64")};if(e instanceof ArrayBuffer)return{[ar]:"buffer",d:Buffer.from(e).toString("base64")};if(Array.isArray(e))return e.map(ur);if(fr(e)){if(ar in e){const t={};for(const[n,r]of Object.entries(e))t[n]=ur(r);return{[ar]:"escape",d:t}}const t={};for(const[n,r]of Object.entries(e))t[n]=ur(r);return t}return e}function lr(e,t){if(fr(e)){if(ar in e){const n=e[ar],r=e.d;if("buffer"===n&&"string"==typeof r)return t(Buffer.from(r,"base64"));if("escape"===n&&fr(r)){const e={};for(const[n,o]of Object.entries(r))e[n]=lr(o,t);return e}}const n={};for(const[r,o]of Object.entries(e))n[r]=lr(o,t);return n}return Array.isArray(e)?e.map(e=>lr(e,t)):e}function pr(e){return new Uint8Array(e.buffer,e.byteOffset,e.byteLength)}function dr(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||dr(e)):!!fr(e)&&Object.values(e).every(e=>void 0===e||dr(e)))}function mr(e){let t;try{t=JSON.stringify(ur(e))}catch(e){throw new cr("Failed to serialize store value (likely a cyclic structure).",{cause:e})}return new Uint8Array(Buffer.from(t,"utf8"))}function gr(e){const t="string"==typeof e?e:Buffer.from(e).toString("utf8"),n=lr(JSON.parse(t),pr);if(!dr(n))throw new cr("Restored value is not a valid StoreValue.");return n}function vr(e,t){const n={ingest:e??{}};return void 0!==t&&(n.event=t),n}function hr(e){return{stop:e.stop??!1,storeId:e.store,namespace:e.namespace,rules:e.rules.map(e=>({match:e.match?Gn(e.match):()=>!0,key:e.key,ttl:e.ttl,update:e.update}))}}async function yr(e,t,n,r){const o=e.rules.find(e=>e.match(n));if(!o)return null;const s=o.key.map(e=>String(Ie(n,e)??""));if(s.every(e=>""===e))return null;const i=s.join(":"),a=r??e.namespace,c=a?`${a}:${i}`:i,f=ir(await t.get(c));if(void 0===f)return{status:"MISS",key:c,rule:o};if("expired"in f){try{await t.delete(c)}catch{}return{status:"MISS",key:c,rule:o}}return{status:"HIT",key:c,value:f.value,rule:o}}function br(e,t,n,r){if(!dr(n))return;const o=1e3*r,s=e.set(t,sr(n,o),o);s instanceof Promise&&s.catch(()=>{})}async function wr(e,t,n,r){if(!t)return e;let o=e;for(const[e,s]of Object.entries(t)){o=Oe(o,e,await ut(n,s,{collector:r}))}return o}function kr(e){return ge(e)?e:[e]}async function $r(e,t,n,r){let o=n;for(const n of e)await at(async()=>{const e=t(n.store);if(!e)return;const s=await ut(o,n.key,{collector:r,event:o});if(!Ee(s))return;const i=n.store?s:`state:${s}`;if("set"===n.mode){const t=await ut(o,n.value,{collector:r,event:o});if(!ye(t))return;await e.set(i,t)}else{const t=Ee(a=n.value)?a:$e(a)&&Ee(a.key)?a.key:void 0;if(!t)return;const r=await e.get(i);if(!ye(r))return;o=Oe(o,t,r)}var a},e=>{if(e instanceof ct)throw e;r.logger?.error?.("[state] operation failed",e)})();return o}var Sr={Source:["code","package","import","before","next","cache","state"],Transformer:["code","package","import","before","next","cache","state","mapping"],Destination:["code","package","import","before","next","cache","state"],Store:["code","package","import","cache"]},Er=["config","env","variables","examples","disabled","id","logger","mock","chainMocks"],Ar={Source:["primary"],Transformer:[],Destination:[],Store:[]},Ir=/^[A-Za-z_$][A-Za-z0-9_$]*$/;function Or(e,t){const n=function(e){return new Set([...Sr[e],...Er,...Ar[e]])}(t);for(const r of Object.keys(e))if(!n.has(r))return{ok:!1,code:"UNKNOWN_KEY",key:r,reason:`Unknown key "${r}" on ${t}. Allowed: ${[...n].sort().join(", ")}.`};const r=void 0!==e.package,o=void 0!==e.import,s=void 0!==e.code;return s&&"string"==typeof e.code?{ok:!1,code:"OBSOLETE_CODE_STRING",key:"code",reason:`code: "<name>" is no longer supported. Use import: "${e.code}" with the package field instead.`}:s&&("object"!=typeof e.code&&"function"!=typeof e.code||null===e.code||Array.isArray(e.code))?{ok:!1,code:"INVALID_CODE_SHAPE",key:"code",reason:"code must be an object ({ push, type?, init? }) or a resolved function value."}:s&&r?{ok:!1,code:"CONFLICT",key:"package",reason:"Cannot specify both `code` and `package`. Use one or the other."}:s&&o?{ok:!1,code:"CONFLICT",key:"import",reason:"Cannot specify both `code` and `import`."}:o&&!r?{ok:!1,code:"MISSING_PACKAGE",key:"import",reason:"`import` requires `package` to be set."}:!o||"string"==typeof e.import&&Ir.test(e.import)?{ok:!0}:{ok:!1,code:"INVALID_IMPORT",key:"import",reason:`import must match ${Ir.source}. Got: ${JSON.stringify(e.import)}.`}}function jr(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 xr(e){return 0===e.length?"// no output":e.map(_r).join(";\n\n")}function _r(e){const[t,...n]=e,r=n.map(Mr).join(", ");return"return"===t?r?`return ${r}`:"return":`${t}(${r})`}function Mr(e){return void 0===e?"undefined":null===e?"null":"function"==typeof e?"[Function]":JSON.stringify(e,null,2)}//# sourceMappingURL=index.js.map
|