@walkeros/core 4.8.0-next-1791441510508 → 4.8.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 +11 -1
- package/dist/dev.d.mts +141 -81
- package/dist/dev.d.ts +141 -81
- 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 +25 -8
- package/dist/index.d.ts +25 -8
- 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
|
@@ -163,6 +163,13 @@ interface Context$6 {
|
|
|
163
163
|
logger: Instance$3;
|
|
164
164
|
consent?: Consent;
|
|
165
165
|
}
|
|
166
|
+
/**
|
|
167
|
+
* Context for `getMappingValue`. The collector is required; the other
|
|
168
|
+
* Context fields are optional. `event` and `consent` override what is
|
|
169
|
+
* inferred from the value and the collector; the logger always comes from
|
|
170
|
+
* the collector.
|
|
171
|
+
*/
|
|
172
|
+
type ValueContext = Pick<Context$6, 'collector'> & Partial<Omit<Context$6, 'collector'>>;
|
|
166
173
|
type Fn$4 = (value: unknown, context: Context$6) => PromiseOrValue<Property | unknown>;
|
|
167
174
|
type Condition = (value: unknown, context: Context$6) => PromiseOrValue<boolean>;
|
|
168
175
|
type Validate = (value: unknown, context: Context$6) => PromiseOrValue<boolean>;
|
|
@@ -181,10 +188,11 @@ type mapping_Rules<T = Rule> = Rules<T>;
|
|
|
181
188
|
type mapping_Validate = Validate;
|
|
182
189
|
type mapping_Value = Value;
|
|
183
190
|
type mapping_ValueConfig = ValueConfig;
|
|
191
|
+
type mapping_ValueContext = ValueContext;
|
|
184
192
|
type mapping_ValueType = ValueType;
|
|
185
193
|
type mapping_Values = Values;
|
|
186
194
|
declare namespace mapping {
|
|
187
|
-
export type { mapping_Condition as Condition, Config$7 as Config, Context$6 as Context, Data$1 as Data, Fn$4 as Fn, mapping_Loop as Loop, mapping_Map as Map, Policy$1 as Policy, Result$2 as Result, mapping_Root as Root, mapping_Rule as Rule, mapping_RulePatch as RulePatch, mapping_Rules as Rules, mapping_Validate as Validate, mapping_Value as Value, mapping_ValueConfig as ValueConfig, mapping_ValueType as ValueType, mapping_Values as Values };
|
|
195
|
+
export type { mapping_Condition as Condition, Config$7 as Config, Context$6 as Context, Data$1 as Data, Fn$4 as Fn, mapping_Loop as Loop, mapping_Map as Map, Policy$1 as Policy, Result$2 as Result, mapping_Root as Root, mapping_Rule as Rule, mapping_RulePatch as RulePatch, mapping_Rules as Rules, mapping_Validate as Validate, mapping_Value as Value, mapping_ValueConfig as ValueConfig, mapping_ValueContext as ValueContext, mapping_ValueType as ValueType, mapping_Values as Values };
|
|
188
196
|
}
|
|
189
197
|
|
|
190
198
|
interface BaseCacheRule {
|
|
@@ -3449,7 +3457,12 @@ interface Event {
|
|
|
3449
3457
|
interface Consent {
|
|
3450
3458
|
[name: string]: boolean;
|
|
3451
3459
|
}
|
|
3452
|
-
|
|
3460
|
+
/**
|
|
3461
|
+
* Declared (named) fields of an event User. Index-free like `SourceFields`, so
|
|
3462
|
+
* the drift guard can compare `keyof UserFields` against
|
|
3463
|
+
* `keyof z.infer<typeof UserFieldsSchema>`.
|
|
3464
|
+
*/
|
|
3465
|
+
interface UserFields {
|
|
3453
3466
|
id?: string;
|
|
3454
3467
|
device?: string;
|
|
3455
3468
|
session?: string;
|
|
@@ -3472,6 +3485,9 @@ interface User extends Properties {
|
|
|
3472
3485
|
screenSize?: string;
|
|
3473
3486
|
ip?: string;
|
|
3474
3487
|
internal?: boolean;
|
|
3488
|
+
optout?: boolean;
|
|
3489
|
+
}
|
|
3490
|
+
interface User extends Properties, UserFields {
|
|
3475
3491
|
}
|
|
3476
3492
|
type SourcePlatform = 'web' | 'server' | 'app' | 'ios' | 'android' | 'terminal' | string;
|
|
3477
3493
|
/**
|
|
@@ -3563,8 +3579,9 @@ type walkeros_SourceFields = SourceFields;
|
|
|
3563
3579
|
type walkeros_SourceMap = SourceMap;
|
|
3564
3580
|
type walkeros_SourcePlatform = SourcePlatform;
|
|
3565
3581
|
type walkeros_User = User;
|
|
3582
|
+
type walkeros_UserFields = UserFields;
|
|
3566
3583
|
declare namespace walkeros {
|
|
3567
|
-
export type { walkeros_ActionHandler as ActionHandler, walkeros_AnyFunction as AnyFunction, walkeros_AnyObject as AnyObject, walkeros_Consent as Consent, walkeros_ConsentHandler as ConsentHandler, walkeros_DeepPartial as DeepPartial, walkeros_DeepPartialEvent as DeepPartialEvent, walkeros_Elb as Elb, walkeros_Entities as Entities, walkeros_Entity as Entity, walkeros_Event as Event, walkeros_Events as Events, walkeros_OrderedProperties as OrderedProperties, walkeros_PartialEvent as PartialEvent, walkeros_PromiseOrValue as PromiseOrValue, walkeros_Properties as Properties, walkeros_Property as Property, walkeros_PropertyType as PropertyType, walkeros_SingleOrArray as SingleOrArray, walkeros_Source as Source, walkeros_SourceFields as SourceFields, walkeros_SourceMap as SourceMap, walkeros_SourcePlatform as SourcePlatform, walkeros_User as User };
|
|
3584
|
+
export type { walkeros_ActionHandler as ActionHandler, walkeros_AnyFunction as AnyFunction, walkeros_AnyObject as AnyObject, walkeros_Consent as Consent, walkeros_ConsentHandler as ConsentHandler, walkeros_DeepPartial as DeepPartial, walkeros_DeepPartialEvent as DeepPartialEvent, walkeros_Elb as Elb, walkeros_Entities as Entities, walkeros_Entity as Entity, walkeros_Event as Event, walkeros_Events as Events, walkeros_OrderedProperties as OrderedProperties, walkeros_PartialEvent as PartialEvent, walkeros_PromiseOrValue as PromiseOrValue, walkeros_Properties as Properties, walkeros_Property as Property, walkeros_PropertyType as PropertyType, walkeros_SingleOrArray as SingleOrArray, walkeros_Source as Source, walkeros_SourceFields as SourceFields, walkeros_SourceMap as SourceMap, walkeros_SourcePlatform as SourcePlatform, walkeros_User as User, walkeros_UserFields as UserFields };
|
|
3568
3585
|
}
|
|
3569
3586
|
|
|
3570
3587
|
/**
|
|
@@ -4522,12 +4539,12 @@ declare function getMappingEvent(event: DeepPartialEvent | PartialEvent | Event,
|
|
|
4522
4539
|
/**
|
|
4523
4540
|
* Gets a value from a mapping.
|
|
4524
4541
|
*
|
|
4525
|
-
* @param value The
|
|
4526
|
-
* @param data The mapping data.
|
|
4527
|
-
* @param
|
|
4528
|
-
* @returns The mapped value.
|
|
4542
|
+
* @param value The source to resolve the mapping against, usually an event.
|
|
4543
|
+
* @param data The mapping data: a key path, a value config, or a list of them.
|
|
4544
|
+
* @param context The collector (required), plus an optional event and consent.
|
|
4545
|
+
* @returns The mapped value, or undefined when the value is undefined.
|
|
4529
4546
|
*/
|
|
4530
|
-
declare function getMappingValue(value: DeepPartialEvent | unknown | undefined, data
|
|
4547
|
+
declare function getMappingValue(value: DeepPartialEvent | unknown | undefined, data: Data$1 | undefined, context: ValueContext): Promise<Property | undefined>;
|
|
4531
4548
|
/**
|
|
4532
4549
|
* Processes an event through mapping configuration.
|
|
4533
4550
|
*
|
package/dist/index.d.ts
CHANGED
|
@@ -163,6 +163,13 @@ interface Context$6 {
|
|
|
163
163
|
logger: Instance$3;
|
|
164
164
|
consent?: Consent;
|
|
165
165
|
}
|
|
166
|
+
/**
|
|
167
|
+
* Context for `getMappingValue`. The collector is required; the other
|
|
168
|
+
* Context fields are optional. `event` and `consent` override what is
|
|
169
|
+
* inferred from the value and the collector; the logger always comes from
|
|
170
|
+
* the collector.
|
|
171
|
+
*/
|
|
172
|
+
type ValueContext = Pick<Context$6, 'collector'> & Partial<Omit<Context$6, 'collector'>>;
|
|
166
173
|
type Fn$4 = (value: unknown, context: Context$6) => PromiseOrValue<Property | unknown>;
|
|
167
174
|
type Condition = (value: unknown, context: Context$6) => PromiseOrValue<boolean>;
|
|
168
175
|
type Validate = (value: unknown, context: Context$6) => PromiseOrValue<boolean>;
|
|
@@ -181,10 +188,11 @@ type mapping_Rules<T = Rule> = Rules<T>;
|
|
|
181
188
|
type mapping_Validate = Validate;
|
|
182
189
|
type mapping_Value = Value;
|
|
183
190
|
type mapping_ValueConfig = ValueConfig;
|
|
191
|
+
type mapping_ValueContext = ValueContext;
|
|
184
192
|
type mapping_ValueType = ValueType;
|
|
185
193
|
type mapping_Values = Values;
|
|
186
194
|
declare namespace mapping {
|
|
187
|
-
export type { mapping_Condition as Condition, Config$7 as Config, Context$6 as Context, Data$1 as Data, Fn$4 as Fn, mapping_Loop as Loop, mapping_Map as Map, Policy$1 as Policy, Result$2 as Result, mapping_Root as Root, mapping_Rule as Rule, mapping_RulePatch as RulePatch, mapping_Rules as Rules, mapping_Validate as Validate, mapping_Value as Value, mapping_ValueConfig as ValueConfig, mapping_ValueType as ValueType, mapping_Values as Values };
|
|
195
|
+
export type { mapping_Condition as Condition, Config$7 as Config, Context$6 as Context, Data$1 as Data, Fn$4 as Fn, mapping_Loop as Loop, mapping_Map as Map, Policy$1 as Policy, Result$2 as Result, mapping_Root as Root, mapping_Rule as Rule, mapping_RulePatch as RulePatch, mapping_Rules as Rules, mapping_Validate as Validate, mapping_Value as Value, mapping_ValueConfig as ValueConfig, mapping_ValueContext as ValueContext, mapping_ValueType as ValueType, mapping_Values as Values };
|
|
188
196
|
}
|
|
189
197
|
|
|
190
198
|
interface BaseCacheRule {
|
|
@@ -3449,7 +3457,12 @@ interface Event {
|
|
|
3449
3457
|
interface Consent {
|
|
3450
3458
|
[name: string]: boolean;
|
|
3451
3459
|
}
|
|
3452
|
-
|
|
3460
|
+
/**
|
|
3461
|
+
* Declared (named) fields of an event User. Index-free like `SourceFields`, so
|
|
3462
|
+
* the drift guard can compare `keyof UserFields` against
|
|
3463
|
+
* `keyof z.infer<typeof UserFieldsSchema>`.
|
|
3464
|
+
*/
|
|
3465
|
+
interface UserFields {
|
|
3453
3466
|
id?: string;
|
|
3454
3467
|
device?: string;
|
|
3455
3468
|
session?: string;
|
|
@@ -3472,6 +3485,9 @@ interface User extends Properties {
|
|
|
3472
3485
|
screenSize?: string;
|
|
3473
3486
|
ip?: string;
|
|
3474
3487
|
internal?: boolean;
|
|
3488
|
+
optout?: boolean;
|
|
3489
|
+
}
|
|
3490
|
+
interface User extends Properties, UserFields {
|
|
3475
3491
|
}
|
|
3476
3492
|
type SourcePlatform = 'web' | 'server' | 'app' | 'ios' | 'android' | 'terminal' | string;
|
|
3477
3493
|
/**
|
|
@@ -3563,8 +3579,9 @@ type walkeros_SourceFields = SourceFields;
|
|
|
3563
3579
|
type walkeros_SourceMap = SourceMap;
|
|
3564
3580
|
type walkeros_SourcePlatform = SourcePlatform;
|
|
3565
3581
|
type walkeros_User = User;
|
|
3582
|
+
type walkeros_UserFields = UserFields;
|
|
3566
3583
|
declare namespace walkeros {
|
|
3567
|
-
export type { walkeros_ActionHandler as ActionHandler, walkeros_AnyFunction as AnyFunction, walkeros_AnyObject as AnyObject, walkeros_Consent as Consent, walkeros_ConsentHandler as ConsentHandler, walkeros_DeepPartial as DeepPartial, walkeros_DeepPartialEvent as DeepPartialEvent, walkeros_Elb as Elb, walkeros_Entities as Entities, walkeros_Entity as Entity, walkeros_Event as Event, walkeros_Events as Events, walkeros_OrderedProperties as OrderedProperties, walkeros_PartialEvent as PartialEvent, walkeros_PromiseOrValue as PromiseOrValue, walkeros_Properties as Properties, walkeros_Property as Property, walkeros_PropertyType as PropertyType, walkeros_SingleOrArray as SingleOrArray, walkeros_Source as Source, walkeros_SourceFields as SourceFields, walkeros_SourceMap as SourceMap, walkeros_SourcePlatform as SourcePlatform, walkeros_User as User };
|
|
3584
|
+
export type { walkeros_ActionHandler as ActionHandler, walkeros_AnyFunction as AnyFunction, walkeros_AnyObject as AnyObject, walkeros_Consent as Consent, walkeros_ConsentHandler as ConsentHandler, walkeros_DeepPartial as DeepPartial, walkeros_DeepPartialEvent as DeepPartialEvent, walkeros_Elb as Elb, walkeros_Entities as Entities, walkeros_Entity as Entity, walkeros_Event as Event, walkeros_Events as Events, walkeros_OrderedProperties as OrderedProperties, walkeros_PartialEvent as PartialEvent, walkeros_PromiseOrValue as PromiseOrValue, walkeros_Properties as Properties, walkeros_Property as Property, walkeros_PropertyType as PropertyType, walkeros_SingleOrArray as SingleOrArray, walkeros_Source as Source, walkeros_SourceFields as SourceFields, walkeros_SourceMap as SourceMap, walkeros_SourcePlatform as SourcePlatform, walkeros_User as User, walkeros_UserFields as UserFields };
|
|
3568
3585
|
}
|
|
3569
3586
|
|
|
3570
3587
|
/**
|
|
@@ -4522,12 +4539,12 @@ declare function getMappingEvent(event: DeepPartialEvent | PartialEvent | Event,
|
|
|
4522
4539
|
/**
|
|
4523
4540
|
* Gets a value from a mapping.
|
|
4524
4541
|
*
|
|
4525
|
-
* @param value The
|
|
4526
|
-
* @param data The mapping data.
|
|
4527
|
-
* @param
|
|
4528
|
-
* @returns The mapped value.
|
|
4542
|
+
* @param value The source to resolve the mapping against, usually an event.
|
|
4543
|
+
* @param data The mapping data: a key path, a value config, or a list of them.
|
|
4544
|
+
* @param context The collector (required), plus an optional event and consent.
|
|
4545
|
+
* @returns The mapped value, or undefined when the value is undefined.
|
|
4529
4546
|
*/
|
|
4530
|
-
declare function getMappingValue(value: DeepPartialEvent | unknown | undefined, data
|
|
4547
|
+
declare function getMappingValue(value: DeepPartialEvent | unknown | undefined, data: Data$1 | undefined, context: ValueContext): Promise<Property | undefined>;
|
|
4531
4548
|
/**
|
|
4532
4549
|
* Processes an event through mapping configuration.
|
|
4533
4550
|
*
|
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:()=>rn,Cache:()=>a,Collector:()=>c,Const:()=>P,Context:()=>f,Destination:()=>l,ENV_MARKER_PREFIX:()=>_e,Elb:()=>d,FatalError:()=>At,FlowCycleError:()=>xe,FlowReferenceError:()=>Ie,Hint:()=>R,Hooks:()=>m,InvalidEventError:()=>Bt,Level:()=>h,Lifecycle:()=>I,Logger:()=>g,MAX_SESSION_MS:()=>on,Mapping:()=>v,Matcher:()=>M,OBSERVE_ENV_KEY:()=>dr,OBSERVE_STORAGE_KEY:()=>un,On:()=>y,REF_CODE_PREFIX:()=>ee,REF_CONTRACT:()=>G,REF_ENV:()=>J,REF_FLOW:()=>Y,REF_SECRET:()=>Q,REF_STORE:()=>X,REF_VAR_FULL:()=>Z,REF_VAR_INLINE:()=>H,RESERVED_WINDOW_GLOBALS:()=>Jn,Request:()=>k,SECRET_MARKER_PREFIX:()=>Me,SESSION_STORAGE_KEY:()=>cn,STEP_FIELD_ROLES:()=>be,STEP_OPERATIVE_FIELDS:()=>$e,Simulation:()=>_,Source:()=>$,Store:()=>S,StoreCodecError:()=>mo,Transformer:()=>b,Trigger:()=>j,URL_WINDOW_MS:()=>nn,WalkerOS:()=>x,advanceChain:()=>io,anonymizeIP:()=>N,applyState:()=>Mo,applyUpdate:()=>Ao,assembleJourneys:()=>Fn,assign:()=>ze,batchResponse:()=>Fr,branch:()=>C,browserSwapActivator:()=>gn,buildScopeFromNodeRequest:()=>Tr,castToProperty:()=>Et,castValue:()=>He,checkCache:()=>So,checkWindowCollector:()=>Yn,clone:()=>Ve,compileCache:()=>Eo,compileMatcher:()=>Dr,compileState:()=>jo,createBatchedPoster:()=>Un,createDestination:()=>Ge,createEvent:()=>ot,createIngest:()=>T,createLogger:()=>bt,createMappingRoot:()=>$o,createMockContext:()=>Ft,createMockLogger:()=>Nt,createRespond:()=>xr,createTelemetryObserver:()=>Zt,createTimer:()=>nr,debounce:()=>mt,deepMerge:()=>Ye,defaultClickIds:()=>lt,deleteByPath:()=>Be,deriveSpanId:()=>at,deserializeStoreValue:()=>ko,emitStep:()=>Vn,fetchPackage:()=>ar,fetchPackageSchema:()=>pr,filterValues:()=>$t,flattenIncludeSections:()=>Ze,formatOut:()=>Ro,getBrowser:()=>Bn,getBrowserVersion:()=>Kn,getByPath:()=>Ue,getDeviceType:()=>Hn,getErrorMessage:()=>rr,getEvent:()=>st,getFlowSettings:()=>Ne,getGrantedConsent:()=>Je,getHeaders:()=>Vt,getId:()=>Qe,getMappingEvent:()=>xt,getMappingValue:()=>_t,getMarketingParameters:()=>pt,getNextSteps:()=>to,getOS:()=>qn,getOSVersion:()=>Zn,getPlatform:()=>Le,getRouteGraph:()=>ao,getSpanId:()=>rt,getStepFieldRole:()=>we,getStepRuntimeProps:()=>ke,getTraceId:()=>ct,getTraceUntil:()=>Dn,getTransformerMapping:()=>ve,getTransformerMappingWarnings:()=>ye,isArguments:()=>re,isArray:()=>oe,isBatchBody:()=>Nr,isBoolean:()=>se,isChainContinuation:()=>ro,isCommand:()=>ie,isDefined:()=>ae,isElementOrDocument:()=>ce,isEnvObserve:()=>mr,isFunction:()=>ue,isNumber:()=>le,isObject:()=>pe,isPathStepEntry:()=>Ae,isPropertyType:()=>kt,isRouteArray:()=>Vr,isRouteConfigEntry:()=>zr,isRouteContinuation:()=>Ur,isSameType:()=>de,isSampled:()=>Ht,isScope:()=>Pr,isStoreValue:()=>bo,isString:()=>me,isThenable:()=>fe,mcpError:()=>Ir,mcpResult:()=>jr,mergeContractSchemas:()=>W,mergeMappingRule:()=>Pt,mockEnv:()=>Tt,normalizeBody:()=>Rr,normalizeHeaders:()=>_r,normalizeQuery:()=>Mr,observeEnv:()=>Er,observeFromEnv:()=>Ar,packageNameToVariable:()=>Ce,parseCallPath:()=>hr,parseGrant:()=>tn,parseObserveCredential:()=>Or,parseTraceparent:()=>ft,parseUserAgent:()=>Wn,processEventMapping:()=>Mt,pushResultToOutcome:()=>Lr,readCacheEnvelope:()=>lo,requestToData:()=>Lt,requestToParameter:()=>Dt,resolveContracts:()=>U,resolveSetup:()=>Ut,resolveTelemetryOptions:()=>Jt,scanFlowRefs:()=>ne,serializeStoreValue:()=>wo,setByPath:()=>We,setTraceUntil:()=>zn,startChain:()=>no,stepId:()=>u,storeCache:()=>Oo,throttle:()=>gt,throwError:()=>F,toEventList:()=>Cr,transformData:()=>zt,traverseEnv:()=>Ct,trim:()=>Wt,tryCatch:()=>St,tryCatchAsync:()=>Ot,useHooks:()=>Kt,validateStepEntry:()=>Oe,verifyActivation:()=>sn,walkPath:()=>Pe,wrapCacheEnvelope:()=>fo,wrapCondition:()=>Qn,wrapFn:()=>er,wrapValidate:()=>tr}),module.exports=(e=i,((e,s,i,a)=>{if(s&&"object"==typeof s||"function"==typeof s)for(let c of r(s))o.call(e,c)||c===i||t(e,c,{get:()=>s[c],enumerable:!(a=n(s,c))||a.enumerable});return e})(t({},"__esModule",{value:!0}),e));var a={},c={};function u(e,t){if("collector"===e)return"collector";if(!t)throw new Error(`stepId(${e}) requires an id`);return`${e}.${t}`}s(c,{stepId:()=>u});var f={},l={};function p(e,t){const n=e.destinations[t];if(!n)throw new Error(`Destination not found: ${t}`);return n}s(l,{getDestination:()=>p});var d={},m={},g={};s(g,{Level:()=>h});var h=(e=>(e[e.ERROR=0]="ERROR",e[e.WARN=1]="WARN",e[e.INFO=2]="INFO",e[e.DEBUG=3]="DEBUG",e))(h||{}),v={},y={},b={};function w(e,t){const n=e.transformers[t];if(!n)throw new Error(`Transformer not found: ${t}`);return n}s(b,{getTransformer:()=>w});var k={},$={};function E(e,t){const n=e.sources[t];if(!n)throw new Error(`Source not found: ${t}`);return n}s($,{getSource:()=>E});var S={};function O(e,t){const n=e.stores[t];if(!n)throw new Error(`Store not found: ${t}`);return n}async function A(e,t){return await e.get(t)}s(S,{getStore:()=>O,getStoreValue:()=>A});var j={},I={},x={},_={},M={},R={},P={Utils:{Storage:{Local:"local",Session:"session",Cookie:"cookie"}}};function T(e){return{_meta:{hops:0,path:[e]}}}function C(e,t){return{event:e,next:t}}function N(e){const t=e.replace(/^::ffff:/i,"");if(/^(?:\d{1,3}\.){3}\d{1,3}$/.test(t))return t.replace(/\.\d+$/,".0");const n=function(e){const t=e.split("::");if(t.length>2)return;const n=t[0]?t[0].split(":"):[],r=t[1]?t[1].split(":"):[],o=8-n.length-r.length;if(1===t.length?0!==o:o<1)return;const s=[...n,...Array(o).fill("0"),...r];if(!s.every(e=>/^[\da-f]{1,4}$/i.test(e)))return;return s.map(e=>parseInt(e,16).toString(16))}(e);return n?`${n.slice(0,3).join(":")}::`:""}function F(e){throw new Error(String(e))}var L=new Set(["description","examples","title","$comment"]),D=new Set(["additionalItems","additionalProperties","contains","contentSchema","else","if","items","not","propertyNames","then","unevaluatedItems","unevaluatedProperties"]),z=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=W(e.schema,t.schema):(e.schema||t.schema)&&(n.schema={...e.schema||t.schema});if(e.events||t.events){const r={},o=new Set([...Object.keys(e.events||{}),...Object.keys(t.events||{})]);for(const n of o){const o=e.events?.[n]||{},s=t.events?.[n]||{},i=new Set([...Object.keys(o),...Object.keys(s)]);r[n]={};for(const e of i){const t=o[e],i=s[e];r[n][e]=t&&i?W(t,i):{...t||i}}}n.events=r}return n}(s(i.extend),i)}else a={...i};if(delete a.extend,a.events&&(a.events=function(e){const t={};for(const n of Object.keys(e))if("*"!==n){t[n]={};for(const r of Object.keys(e[n]||{})){let o={};const s=e["*"]?.["*"];s&&(o=W(o,s));const i=e["*"]?.[r];i&&"*"!==r&&(o=W(o,i));const a=e[n]?.["*"];a&&"*"!==r&&(o=W(o,a));const c=e[n]?.[r];c&&(o=W(o,c)),t[n][r]=o}}e["*"]&&(t["*"]={...e["*"]});return t}(a.events)),a.events&&n){const e={};for(const[t,n]of Object.entries(a.events)){e[t]={};for(const[r,o]of Object.entries(n))e[t][r]=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 W(e,t){const n={...e};for(const r of Object.keys(t)){const o=e[r],s=t[r];"required"===r&&Array.isArray(o)&&Array.isArray(s)?n[r]=[...new Set([...o,...s])]:q(o)&&q(s)?n[r]=W(o,s):n[r]=s}return n}function B(e){const t={};for(const[n,r]of Object.entries(e))L.has(n)||(V.has(n)&&q(r)?t[n]=K(r):z.has(n)&&Array.isArray(r)?t[n]=r.map(e=>q(e)?B(e):e):D.has(n)&&q(r)?t[n]=B(r):t[n]=r);return t}function K(e){const t={};for(const[n,r]of Object.entries(e))t[n]=q(r)?B(r):r;return t}function q(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,J=/\$env\.([a-zA-Z_][a-zA-Z0-9_]*)(?::([^"}\s]*))?/g,G=/^\$contract\.([a-zA-Z_][a-zA-Z0-9_]*)(?:\.(.+))?$/,Y=/^\$flow\.([a-zA-Z_][a-zA-Z0-9_]*)(?:\.([a-zA-Z0-9_.]+))?$/,X=/^\$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){return"[object Arguments]"===Object.prototype.toString.call(e)}function oe(e){return Array.isArray(e)}function se(e){return"boolean"==typeof e}function ie(e){return"walker"===e}function ae(e){return void 0!==e}function ce(e){return!(!e||"object"!=typeof e)&&("body"in e||"tagName"in e)}function ue(e){return"function"==typeof e}function fe(e){return"object"==typeof e&&null!==e&&"then"in e&&"function"==typeof e.then}function le(e){return"number"==typeof e&&!Number.isNaN(e)}function pe(e){return"object"==typeof e&&null!==e&&!oe(e)&&"[object Object]"===Object.prototype.toString.call(e)}function de(e,t){return typeof e==typeof t}function me(e){return"string"==typeof e}var ge=["consent","include","data"],he=["consent","include","remove","batch","settings","extend","data","silent"];function ve(e){return e.config?.mapping??e.mapping}function ye(e){const t=ve(e);if(void 0===t)return[];const n=void 0!==e.config?.mapping?"config.mapping":"mapping",r="config.mapping"===n&&void 0!==e.mapping;if(void 0!==e.code||void 0!==e.package){return[`${r?"`config.mapping` and `mapping` are":`\`${n}\` is`} ignored: a transformer with \`${void 0!==e.code?"code":"package"}\` never runs ${r?"them":"it"}; a mapping applies only to a transformer without code.`]}const o=[];r&&o.push("`mapping` is overridden: `config.mapping` wins; remove one.");const s=function(e,t){if(!pe(e))return[];const n=[];for(const r of ge)void 0!==e[r]&&n.push(`${t}.${r}`);const r=e.mapping;if(!pe(r))return n;for(const[e,o]of Object.entries(r))if(pe(o))for(const[r,s]of Object.entries(o))(oe(s)?s:[s]).forEach((o,i)=>{if(!pe(o))return;const a=`${t}.mapping.${e}.${r}${oe(s)?`[${i}]`:""}`;for(const e of he)void 0!==o[e]&&n.push(`${a}.${e}`)});return n}(t,n);return s.length>0&&o.push(`${s.map(e=>`\`${e}\``).join(", ")} ${1===s.length?"does":"do"} nothing at the transformer position; only \`policy\` and a rule's \`condition\`, \`policy\`, \`name\` and \`ignore\` apply.`),o}var be={Source:{package:"reference",code:"reference",import:"reference",config:"runtime",env:"runtime",primary:"runtime",before:"runtime",next:"runtime",cache:"runtime",state:"runtime",variables:"resolve",examples:"docs"},Transformer:{package:"reference",code:"reference",import:"reference",config:"runtime",env:"runtime",before:"runtime",next:"runtime",cache:"runtime",state:"runtime",mapping:"runtime",variables:"resolve",examples:"docs"},Destination:{package:"reference",code:"reference",import:"reference",config:"runtime",env:"runtime",before:"runtime",next:"runtime",cache:"runtime",state:"runtime",variables:"resolve",examples:"docs"},Store:{package:"reference",code:"reference",import:"reference",config:"runtime",env:"runtime",cache:"runtime",variables:"resolve",examples:"docs"}};function we(e,t){const n=be[e];return Object.prototype.hasOwnProperty.call(n,t)?n[t]:void 0}function ke(e,t){const n={};for(const[r,o]of Object.entries(e))null!=o&&"runtime"===we(t,r)&&(n[r]=o);return n}var $e={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"]},Ee=["disabled","id","logger","mock","chainMocks"],Se=/^[A-Za-z_$][A-Za-z0-9_$]*$/;function Oe(e,t){const n=function(e){return new Set([...Object.keys(be[e]),...Ee])}(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&&Se.test(e.import)?{ok:!0}:{ok:!1,code:"INVALID_IMPORT",key:"import",reason:`import must match ${Se.source}. Got: ${JSON.stringify(e.import)}.`}}function Ae(e,t){if("Transformer"!==t)return!1;if(void 0!==e.code||void 0!==e.package||void 0!==e.import)return!1;if($e.Transformer.some(t=>"reference"!==we("Transformer",t)&&void 0!==e[t]))return!0;const n=pe(e.config)?e.config:void 0;return void 0!==ve({mapping:e.mapping,config:n})||void 0!==n?.state}function je(...e){const t={};for(const n of e)n&&Object.assign(t,n);return t}var Ie=class extends Error{code;reference;constructor(e,t,n){super(n),this.name="FlowReferenceError",this.code=e,this.reference=t}},xe=class extends Error{code;chain;constructor(e,t){super(`Cyclic ${"FLOW_CYCLE"===e?"$flow":"$var"} reference: ${t.join(" -> ")}`),this.name="FlowCycleError",this.code=e,this.chain=t}},_e="__WALKEROS_ENV:",Me="__WALKEROS_SECRET:";function Re(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 Pe(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 Te(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 u=s??new Set;if(u.has(a))throw new xe("VAR_CYCLE",[...u,a]);let f;u.add(a);try{f=Te(t[a],t,n,r,o,u)}finally{u.delete(a)}return c&&(f=Pe(f,c,`$var.${a}`)),f}const a=e.match(G);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=Pe(n,t,`$contract.${e}`)),n}const c=e.match(Y);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?.(Re(t,r,"unknown-flow")),e;F(`Flow "${t}" not found in $flow.${t}`)}let a=i;if(r)if(s){try{a=Pe(a,r,`$flow.${t}`)}catch{return n?.onWarning?.(Re(t,r,"missing-key")),e}if(null==a||""===a)return n?.onWarning?.(Re(t,r,"missing-key")),e}else a=Pe(a,r,`$flow.${t}`);return a}const u=e.match(Q);if(u){const e=u[1];if(n?.deferred)return`${Me}${e}`;throw new Ie("WEB_SECRET_REF",e,`Secret "$secret.${e}" cannot be used in a web flow: secrets are never sent to the browser. Use a server flow.`)}let f=e.replace(H,(e,i)=>{const a=i.split("."),c=a[0],u=a.slice(1).join(".");void 0===t[c]&&F(`Variable "${c}" not found`);const f=s??new Set;if(f.has(c))throw new xe("VAR_CYCLE",[...f,c]);let l;f.add(c);try{l=Te(t[c],t,n,r,o,f)}finally{f.delete(c)}if(u&&(l=Pe(l,u,`$var.${c}`)),null===l||"string"!=typeof l&&"number"!=typeof l&&"boolean"!=typeof l){F(`Variable "${i}" resolves to non-scalar (${Array.isArray(l)?"array":typeof l}) and cannot be inlined into a string. Use it as a whole-string reference: "$var.${i}"`)}return String(l)});return f=f.replace(J,(e,t,r)=>{if(n?.deferred)return void 0!==r?`${_e}${t}:${r}`:`${_e}${t}`;const o=n?.env??("undefined"!=typeof process?process.env:void 0),s=o?.[t];if(void 0!==s)return s;if(void 0!==r)return r;throw new Ie("MISSING_ENV",t,`Environment variable "${t}" not found and no default provided`)}),f}if(Array.isArray(e))return e.map(e=>Te(e,t,n,r,o,s));if(null!==e&&"object"==typeof e){const i={};for(const[a,c]of Object.entries(e))i[a]=Te(c,t,n,r,o,s);return i}return e}function Ce(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 Ne(e,t,n){const r=new Map,o=new Set,s=[],i=t=>{if(r.has(t))return r.get(t);const a=e.flows[t];if(a){if(o.has(t))throw new xe("FLOW_CYCLE",[...s,t]);o.add(t),s.push(t);try{const o=je(e.variables,a.variables),s=Te(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=je(e.variables,t.variables),i=Te(e.contract,o,n,void 0,r);s=U(i)}if(o.config){const i=je(e.variables,t.variables);o.config=Te(o.config,i,n,s,r)}const i=(o,i)=>{for(const a of Object.values(o??{}))Fe(a,i,je(e.variables,t.variables,a.variables),n,s,r)};if(i(o.sources,"Source"),i(o.destinations,"Destination"),i(o.stores,"Store"),i(o.transformers,"Transformer"),o.collector){const i=je(e.variables,t.variables),a=Te(o.collector,i,n,s,r);o.collector=a}return o}(e,c,n,i)}finally{o.delete(t),s.pop()}}function Fe(e,t,n,r,o,s){e.config=Te(e.config,n,r,o,s),e.env=Te(e.env,n,r,o,s);for(const n of Object.keys(e)){const r=we(t,n);void 0!==r&&"docs"!==r||Reflect.deleteProperty(e,n)}}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 De={merge:!0,shallow:!0,extend:!0};function ze(e,t={},n={}){n={...De,...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 Ve(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]=Ve(e[r],t));return n}if("[object Array]"===n){const n=[];return t.set(e,n),e.forEach(e=>{n.push(Ve(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 Ue(e,t="",n){const r=t.split(".");let o=e;for(let e=0;e<r.length;e++){const t=r[e];if("*"===t&&oe(o)){const t=r.slice(e+1).join("."),s=[];for(const e of o){const r=Ue(e,t,n);s.push(r)}return s}if(o=pe(o)||oe(o)?o[t]:void 0,void 0===o)break}return ae(o)?o:n}function We(e,t,n,r){if(!pe(e))return e;const o=r?.mutable?e:Ve(e),s=t.split(".");let i=o;for(let e=0;e<s.length;e++){const t=s[e];if(e===s.length-1)void 0===n?delete i[t]:i[t]=n;else{if(!(t in i)||"object"!=typeof i[t]||null===i[t]){if(void 0===n)return o;i[t]={}}i=i[t]}}return o}function Be(e,t){if(!pe(e)&&!oe(e))return e;const n=Ve(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(oe(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(!pe(t)&&!oe(t))return n;o=t}}else if(s)delete o[t];else{const e=o[t];if(!pe(e)&&!oe(e))return n;o=e}}return n}var Ke={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 qe(e,t,n){if(pe(n))for(const[r,o]of Object.entries(n))void 0!==o&&qe(e,`${t}_${r}`,o);else e[t]=n}function Ze(e,t){const n={},r=t.includes("all")?Object.keys(Ke):t;for(const t of r){const r=Ke[t];if(!r)continue;const o=r(e);if(pe(o))for(const[e,r]of Object.entries(o)){if(void 0===r)continue;qe(n,`${t}_${e}`,"context"===t&&Array.isArray(r)?r[0]:r)}}return n}function He(e){if("true"===e)return!0;if("false"===e)return!1;const t=Number(e);return e==t&&""!==e?t:String(e)}function Je(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 Ge(e,t){const n={...e};return n.config=ze(e.config,t,{shallow:!0,merge:!0,extend:!0}),e.config.settings&&t.settings&&(n.config.settings=ze(e.config.settings,t.settings,{shallow:!0,merge:!0,extend:!0})),e.config.mapping&&t.mapping&&(n.config.mapping=ze(e.config.mapping,t.mapping,{shallow:!0,merge:!0,extend:!0})),n}function Ye(e,t){if(!pe(t))return e;for(const n of Object.keys(t)){const r=t[n];void 0!==r&&(pe(r)&&pe(e[n])?Ye(e[n],r):e[n]=r)}return e}var Xe="0123456789abcdefghijklmnopqrstuvwxyz";function Qe(e=6,t=Xe){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(!et(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 et(e){try{const t=globalThis.crypto;if(t&&"function"==typeof t.getRandomValues)return t.getRandomValues(e),!0}catch{}return!1}var tt="0123456789abcdef";function nt(e){let t=Qe(e,tt);for(;/^0+$/.test(t);)t=Qe(e,tt);return t}function rt(){return nt(16)}function ot(e={}){const t=e.timestamp||(new Date).setHours(0,13,37,0),n=ze({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||rt(),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 st(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 ot({...{"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 it(e){let t=8997,n=33826,r=40164,o=52210;for(let s=0;s<e.length;s++){t^=e.charCodeAt(s);const i=435*t;let a=435*n,c=435*r,u=435*o;c+=t<<8,u+=n<<8,a+=i>>>16,t=65535&i,c+=a>>>16,n=65535&a,o=u+(c>>>16)&65535,r=65535&c}const s=e=>e.toString(16).padStart(4,"0");return s(o)+s(r)+s(n)+s(t)}function at(e,t){const n=it(JSON.stringify([e,t]));return/^0+$/.test(n)?it(JSON.stringify([n,t])):n}function ct(){return nt(32)}var ut=/^(?<version>[0-9a-f]{2})-(?<trace>[0-9a-f]{32})-(?<span>[0-9a-f]{16})-[0-9a-f]{2}$/;function ft(e){if("string"!=typeof e)return;const t=ut.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 lt=[{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 pt(e,t={},n=[]){const r={};Object.entries(ze({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(lt.map(e=>e.param));return[...lt.map(e=>t.has(e.param)?{param:e.param,platform:t.get(e.param)}:e),...e.filter(e=>!n.has(e.param))]}(n):lt,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 dt(e,t){return"number"==typeof e?{wait:e}:e?{wait:e.wait??t,size:e.size,age:e.age}:{wait:t}}function mt(e,t=1e3,n=!1){const{wait:r,size:o,age:s}=dt(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 gt(e,t=1e3){const{wait:n}=dt(t,1e3);let r=null;return function(...t){if(null===r)return r=setTimeout(()=>{r=null},n),e(...t)}}function ht(e){return{message:e.message,name:e.name,stack:e.stack,cause:e.cause}}function vt(e,t){let n,r={};return e instanceof Error?(n=e.message,r.error=ht(e)):n=e,void 0!==t&&(t instanceof Error?r.error=ht(t):"object"==typeof t&&null!==t?(r={...r,...t},"error"in r&&r.error instanceof Error&&(r.error=ht(r.error))):r.value=t),{message:n,context:r}}var yt=(e,t,n,r)=>{const o=`${h[e]}${r.length>0?` [${r.join(":")}]`:""}`,s=Object.keys(n).length>0,i=0===e?console.error:1===e?console.warn:console.log;s?i(o,t,n):i(o,t)};function bt(e={}){return wt({level:void 0!==e.level?function(e){return"string"==typeof e?h[e]:e}(e.level):0,handler:e.handler,jsonHandler:e.jsonHandler,scope:[]})}function wt(e){const{level:t,handler:n,jsonHandler:r,scope:o}=e,s=(e,r,s)=>{if(e<=t){const t=vt(r,s);n?n(e,t.message,t.context,o,yt):yt(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=vt(e,t);throw n?n(0,r.message,r.context,o,yt):yt(0,r.message,r.context,o),new Error(r.message)},json:e=>{r?r(e):console.log(JSON.stringify(e,null,2))},scope:e=>wt({level:t,handler:n,jsonHandler:r,scope:[...o,e]})}}function kt(e){return se(e)||me(e)||le(e)||!ae(e)||oe(e)&&e.every(kt)||pe(e)&&Object.values(e).every(kt)}function $t(e){return se(e)||me(e)||le(e)?e:re(e)?$t(Array.from(e)):oe(e)?e.map(e=>$t(e)).filter(e=>void 0!==e):pe(e)?Object.entries(e).reduce((e,[t,n])=>{const r=$t(n);return void 0!==r&&(e[t]=r),e},{}):void 0}function Et(e){return kt(e)?e:void 0}function St(e,t,n){return function(...r){try{return e(...r)}catch(e){if(!t)return;return t(e)}finally{n?.()}}}function Ot(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 At=class e extends Error{constructor(t,n){super(t,n),this.name="FatalError",Object.setPrototypeOf(this,e.prototype)}};async function jt(e,t={},n={}){const r=n.consent||n.collector?.consent,o=n.event??{};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=oe(t)?t:[t];for(const t of i){const r=await Ot(It,e=>{if(e instanceof At)throw e;n.collector&&n.collector.status.failed++,s.logger.error("mapping processing failed",{event:o,error:e})})(e,t,{...s,mapping:t});if(ae(r))return r}}async function It(e,t,n){return(oe(t)?t:[t]).reduce(async(t,r)=>{const o=await t;if(o)return o;const s=me(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 Ot(i,e=>{if(e instanceof At)throw e;return g.logger.error("mapping condition failed",{event:g.event,error:e}),!1})(e,g))return;if(a&&!Je(a,g.consent))return m;let h=ae(m)?m:e;if(f){const[t,n]=f,r="this"===t?[e]:await jt(e,t,g);h=oe(r)?(await Promise.all(r.map(e=>ae(e)?jt(e,n,g):void 0))).filter(ae):void 0}else l?h=await Object.entries(l).reduce(async(t,[n,r])=>{const o=await t,s=await jt(e,r,g);return ae(s)&&(o[n]=s),o},Promise.resolve({})):p?h=await Promise.all(p.map(t=>It(e,t,g))):u?h=Ue(e,u,m):c&&(h=await Ot(c,e=>{if(e instanceof At)throw e;g.logger.error("mapping fn failed",{event:g.event,error:e})})(e,g));d&&!await Ot(d,e=>{if(e instanceof At)throw e;return g.logger.error("mapping validate failed",{event:g.event,error:e}),!1})(h,g)&&(h=void 0);const v=Et(h);return ae(v)?v:Et(m)},Promise.resolve(void 0))}async function xt(e,t,n){const[r,o]=(e.name||"").split(" ");if(!t||!r||!o)return{};let s,i="",a=r,c=o;const u=(t,r)=>{if(t instanceof At||!n)throw t;return n.logger.error("mapping rule condition failed",{event:e,mappingKey:r,error:t}),!1},f=(t,r)=>{const{condition:o}=t;if(!o)return!0;let s;try{s=o(e,n?{event:e,mapping:t,collector:n,logger:n.logger,consent:pe(e)&&e.consent||n.consent}:void 0)}catch(e){return u(e,r)}return fe(s)?Promise.resolve(s).then(Boolean,e=>u(e,r)):Boolean(s)},l=(e,t,n=0)=>{if(!t)return;const r=oe(t)?t:[t];for(let t=n;t<r.length;t++){const n=r[t],o=f(n,e);if("boolean"!=typeof o)return p(o,n,e,r,t);if(o)return n}},p=async(e,t,n,r,o)=>await e?t:l(n,r,o+1);t[a]||(a="*");const d=t[a];if(d){d[c]||(c="*");const e=l(`${a} ${c}`,d[c]);s=fe(e)?await e:e}if(!(s||d&&"*"===a&&"*"===c)){a="*",c="*";const e=l("* *",t[a]?.[c]);s=fe(e)?await e:e}return s&&(i=`${a} ${c}`),{eventMapping:s,mappingKey:i}}async function _t(e,t={},n={}){if(!ae(e))return;const r=pe(e)&&e.consent||n.consent||n.collector?.consent,o=n.event??(pe(e)?e:{});return jt(e,t,{...n,consent:r,event:o})}async function Mt(e,t,n){t.policy&&await Promise.all(Object.entries(t.policy).map(async([t,r])=>{const o=await _t(e,r,{collector:n,event:e});e=We(e,t,o)}));const{eventMapping:r,mappingKey:o}=await xt(e,t.mapping,n);r?.policy&&await Promise.all(Object.entries(r.policy).map(async([t,r])=>{const o=await _t(e,r,{collector:n,event:e});e=We(e,t,o)}));let s=t.data&&await _t(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 _t(e,r.data,{collector:n,event:e});s=pe(s)&&pe(t)?ze(s,t):t}}const a=r?.include??t.include;if(a&&a.length>0){const t=Ze(e,a);Object.keys(t).length>0&&(s=pe(s)?ze(t,s):s??t)}if(r?.remove&&pe(s))for(const e of r.remove)s=Be(s,e);return{event:e,data:s,mapping:r,mappingKey:o,ignore:!1,silent:i}}function Rt(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];pe(r)&&pe(o)?Rt(o,r):e[n]=r}return e}function Pt(e,t){if(void 0===t.extend&&void 0===t.remove)return Ve(t);const n={...Ve(e)};if(t.extend){Rt(n,{...t.extend})}return delete n.extend,t.remove?n.remove=[...t.remove]:delete n.remove,n}function Tt(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 Ct(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 Nt(){const e=[],t=jest.fn(e=>{const t=e instanceof Error?e.message:e;throw new Error(t)}),n=jest.fn(t=>{const n=Nt();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 Ft(e={}){return{collector:{},config:{},env:{},logger:Nt(),id:"test",ingest:T("test"),...e}}function Lt(e){const t=String(e),n=t.split("?")[1]||t;return St(()=>{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(oe(o)){const i=parseInt(t,10);s?o[i]=He(e):(o[i]=o[i]||(isNaN(parseInt(r[n+1],10))?{}:[]),o=o[i])}else pe(o)&&(s?o[t]=He(e):(o[t]=o[t]||(isNaN(parseInt(r[n+1],10))?{}:[]),o=o[t]))})}),t})()}function Dt(e){if(!e)return"";const t=[],n=encodeURIComponent;function r(e,o){null!=o&&(oe(o)?o.forEach((t,n)=>r(`${e}[${n}]`,t)):pe(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 zt(e){return void 0===e||de(e,"")?e:JSON.stringify(e)}function Vt(e={}){return ze({"Content-Type":"application/json; charset=utf-8"},e)}function Ut(e,t){return!1===e||void 0===e?null:!0===e?t:{...t,...e}}function Wt(e){return e?e.trim().replace(/^'|'$/g,"").trim():""}var Bt=class e extends Error{constructor(t){super(t),this.name="InvalidEventError",Object.setPrototypeOf(this,e.prototype)}};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 qt(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 Zt(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&&!qt(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 Ht(e,t){return qt(e,t)}function Jt(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 Gt=/^[A-Za-z0-9_-]+$/;function Yt(e){if(!Gt.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 Xt(e){const t=new Uint8Array(e.length);for(let n=0;n<e.length;n++)t[n]=e.charCodeAt(n);return t}function Qt(e){const t=Yt(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 en(e){return"object"==typeof e&&null!==e&&!Array.isArray(e)}function tn(e){if(!e)return null;const t=e.split("."),[n,r,o]=t;if(3!==t.length||!n||!r||!o)return null;const s=Qt(n);if(!en(s))return null;const i=s.kid,a=s.alg;if("string"!=typeof i||"ES256"!==a)return null;const c=Qt(r);if(!function(e){if(!en(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&&Gt.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=Yt(o);return u&&64===u.byteLength?{grant:c,kid:i,signed:Xt(`${n}.${r}`),signature:u}:null}var nn=9e5,rn=6e4,on=39e5;async function sn(e,t){const n=tn(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+rn)return{ok:!1,reason:"expired"};if(1e3*r.sxp-1e3*r.iat>on)return{ok:!1,reason:"expired"};const a="url"===t.source?Math.min(1e3*r.iat+nn,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 Yt(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 an="elbPreview",cn="elbPreviewSession",un="elbObserve",fn="[walkerOS:preview]",ln=5e3,pn=globalThis;function dn(e){let t=null;return{get(){try{return pn.window?.localStorage.getItem(e)??t}catch{return t}},set(n){try{pn.window?.localStorage.setItem(e,n)}catch{t=n}},clear(){t=null;try{pn.window?.localStorage.removeItem(e)}catch{}}}}function mn(){const e=pn.window,t=pn.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 gn(e){const t=pn.window;if(!t||!pn.document)return!1;const n=dn(an),r=dn(cn),o=dn(un),s=e.now??(()=>Date.now()),i=e=>pn.console?.warn(`${fn} ${e}`);let a=null,c=null,u=null;const f=pn.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(),mn(),!1;const l=n.get();if(!a&&!l)return!1;const p=(n,r)=>sn(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),mn()}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=pn.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&&pn.clearTimeout?.(s),!e&&o.parentNode&&o.parentNode.removeChild(o),n(e))};s=pn.setTimeout?.(()=>a(!1),ln),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?(pn.console?.info(`${fn} active ${d.art} ends ${new Date(1e3*d.sxp).toISOString()}`),!0):(i("swap-failed"),n.clear(),r.clear(),o.clear(),!1)}var hn=15e3,vn={error:5,skip:4,out:3,in:2,init:1,flush:0},yn="\0none",bn="\0";function wn(e,t){return`${e??yn}${bn}${t}`}function kn(e){const t=Date.parse(e);return Number.isNaN(t)?0:t}function $n(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 En(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 Sn(e,t,n){const r=En(e,t),o=En(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 An(e){switch(e){case"error":return"error";case"skip":return"skipped";case"out":return"done";case"in":case"init":case"flush":return"pending"}}function jn(e){return"out"===e.terminalPhase||"error"===e.terminalPhase||"skip"===e.terminalPhase||!0===e.batched}function In(e){return"done"===e.status&&("transformer"!==e.stepType||null!==e.out&&void 0!==e.out)}function xn(e,t,n,r){const o=n.get(wn(e.node.platform,t));if(void 0!==o)return o;const s=r.get(t);return void 0!==s&&1===s.length?s[0]:void 0}function _n(e){const t=new Map,n=new Map;e.nodes.forEach((e,r)=>{const o={node:e,rank:r,key:wn(e.platform,e.stepId)};t.has(o.key)||t.set(o.key,o);const s=n.get(e.stepId);s?s.push(o):n.set(e.stepId,[o])});const r=new Map,o=new Set;for(const e of t.values()){const s=[];for(const r of e.node.downstream){const i=xn(e,r,t,n);void 0!==i&&(s.push(i),o.add(i.key))}r.set(e.key,s)}const s=[];for(const e of t.values())o.has(e.key)||s.push(e);return s.sort((e,t)=>e.rank-t.rank),{byKey:t,byStepId:n,edges:r,roots:s}}function Mn(e,t,n){const r=e.byKey.get(wn(n,t));if(void 0!==r)return r;const o=e.byKey.get(wn(void 0,t));if(void 0!==o)return o;const s=e.byStepId.get(t);return void 0!==s&&1===s.length?s[0]:void 0}function Rn(e,t,n,r,o,s){return s-n<o?"pending":void 0!==r?function(e,t,n){const r=t=>e.find(e=>e.stepId===t.node.stepId&&(void 0===t.node.platform||e.platform===t.node.platform)),o=n.roots.filter(e=>void 0===e.node.platform||t.includes(e.node.platform));if(0===o.length)return e.every(jn)?"complete":"partial";const s=new Map,i=o;for(;i.length>0;){const e=i.shift();if(void 0===e)break;if(s.has(e.key))continue;s.set(e.key,e);const t=r(e);if(void 0!==t&&In(t)){const t=n.edges.get(e.key);if(void 0!==t)for(const e of t)s.has(e.key)||i.push(e)}}for(const e of s.values()){const t=r(e);if(void 0===t||!jn(t))return"partial"}return"complete"}(e,t,r):e.every(jn)?"complete":"partial"}function Pn(e){let t=e[0];for(const n of e)n.elapsedMs<t.elapsedMs&&(t=n);const n=[],r=new Map;let o=!1;for(const t of e)if("flush"!==t.phase){if(void 0!==t.branchId){const e=r.get(t.branchId);e?e.push(t):r.set(t.branchId,[t]);continue}n.push(t)}else o=!0;const s=[...r.values()].flat(),i=n.length>0?n:s.length>0?s:e;let a,c,u,f,l,p,d,m,g,h,v=i[0],y=i[0];for(const e of i)e.elapsedMs<v.elapsedMs&&(v=e),vn[e.phase]>vn[y.phase]&&(y=e),"out"===e.phase&&(a=e),void 0!==e.inEvent&&void 0===c&&(c=e.inEvent),void 0!==e.outEvent&&(u=e.outEvent),void 0!==e.mappingKey&&(f=e.mappingKey),void 0!==e.contractRule&&(l=e.contractRule),void 0!==e.consent&&(p=e.consent),void 0!==e.consentApplied&&(d=e.consentApplied),void 0!==e.meta&&(m=e.meta),void 0!==e.parentEventId&&void 0===g&&(g=e.parentEventId),void 0!==e.release&&(h=e.release);const b=y.phase,w=a?.durationMs,k="error"===b?y.error:void 0,$="skip"===b?y.skipReason:void 0,E=a?.calls,S="out"===y.phase&&void 0!==y.batch||void 0,O=!(!o||!0!==S)||void 0,A=r.size>0?[...r.entries()].sort(([e],[t])=>e<t?-1:e>t?1:0).map(([e,t])=>function(e,t){let n,r,o=t[0];for(const e of t)vn[e.phase]>vn[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:An(s),terminalPhase:s,...void 0!==i?{durationMs:i}:{},...void 0!==a?{skipReason:a}:{},...void 0!==c?{error:c}:{},...void 0!==r?{out:r}:{},...void 0!==u?{calls:u}:{}}}(e,t)):void 0;return{stepId:v.stepId,stepType:v.stepType,eventId:v.eventId,status:An(b),terminalPhase:b,startedAtMs:t.elapsedMs,timestamp:t.timestamp,...void 0!==v.platform?{platform:v.platform}:{},...void 0!==g?{parentEventId:g}:{},...void 0!==w?{durationMs:w}:{},...void 0!==c?{in:c}:{},...void 0!==u?{out:u}:{},...void 0!==k?{error:k}:{},...void 0!==$?{skipReason:$}:{},...void 0!==f?{mappingKey:f}:{},...void 0!==l?{contractRule:l}:{},...void 0!==p?{consent:p}:{},...void 0!==d?{consentApplied:d}:{},...void 0!==E?{calls:E}:{},...void 0!==A?{branches:A}:{},...void 0!==S?{batched:S}:{},...void 0!==O?{flushConfirmed:O}:{},...void 0!==h?{release:h}:{},...void 0!==m?{meta:m}:{}}}function Tn(e,t){const n=e.map(e=>({hop:e,rank:void 0!==t?Mn(t,e.stepId,e.platform)?.rank??Number.MAX_SAFE_INTEGER:0}));return n.sort((e,t)=>e.rank!==t.rank?e.rank-t.rank:e.hop.startedAtMs!==t.hop.startedAtMs?e.hop.startedAtMs-t.hop.startedAtMs:e.hop.stepId<t.hop.stepId?-1:e.hop.stepId>t.hop.stepId?1:0),n.map(e=>e.hop)}function Cn(e){const t=e.filter(e=>"collector"===e.stepType&&"in"===e.phase),n=t.length>0?t:e;let r=n[0],o=kn(r.timestamp);for(const e of n){const t=kn(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 Nn(e,t,n,r,o){const{topo:s}=o,i=new Map;for(const e of n){const t=wn(e.platform,e.stepId),n=i.get(t);n?n.push(e):i.set(t,[e])}const a=[...i.values()].map(Pn),c=new Map;for(const e of a){const t=e.platform??yn;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,kn(e.timestamp))}const u=function(e){const t=new Map,n=e.map((e,t)=>t).sort((t,n)=>{const r=e[t].platform??yn,o=e[n].platform??yn;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??yn,r=t.seg.platform??yn;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 Tn(e.hops,s))f.push(t)}let p=Number.POSITIVE_INFINITY,d=Number.NEGATIVE_INFINITY;for(const e of n){const t=kn(e.timestamp);t<p&&(p=t),t>d&&(d=t)}const m=Rn(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:Cn(r),hops:f,platforms:l,status:m,lossy:g,firstTimestamp:p,lastTimestamp:d,totalMs:d-p}}function Fn(e,t){const n={...void 0!==t?.topology?{topo:_n(t.topology)}:{},settleMs:t?.settleMs??hn,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${bn}${r.platform??""}${bn}${r.traceId}${bn}${r.seq}`:void 0!==r.seq?`seqt${bn}${r.platform??""}${bn}${r.stepId}${bn}${r.phase}${bn}${r.eventId}${bn}${r.branchId??""}${bn}${r.elapsedMs}${bn}${r.timestamp}${bn}${r.seq}`:`tuple${bn}${r.platform??""}${bn}${r.stepId}${bn}${r.phase}${bn}${r.eventId}${bn}${r.branchId??""}${bn}${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??yn,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=kn(e.timestamp),r=kn(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:kn(s.timestamp),toMs:kn(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=$n(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 vn[e.phase]-vn[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)Sn(u,n,e);const f=new Map;for(const e of o){const t=En(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=On(o)??On(r);return Nn(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??yn,r=kn(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 Ln=null;function Dn(){return Ln}function zn(e){Ln=e}function Vn(e,t){if(0===e.observers.size)return;const n=Array.from(e.observers);for(const e of n)try{e(t)}catch{}}function Un(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 Wn(e){return e?{userAgent:e,browser:Bn(e),browserVersion:Kn(e),os:qn(e),osVersion:Zn(e),deviceType:Hn(e)}:{}}function Bn(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 qn(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 Zn(e){const t=e.match(/(?:Windows NT|Mac OS X|Android|iPhone OS) ([0-9._]+)/);return t?t[1].replace(/_/g,"."):void 0}function Hn(e){let t="Desktop";return/Tablet|iPad/i.test(e)?t="Tablet":/Mobi|Android|iPhone|iPod|BlackBerry|Opera Mini|IEMobile|WPDesktop/i.test(e)&&(t="Mobile"),t}var Jn=["elb","elbLayer","window","document","location","self","top","parent","frames","globalThis","__proto__","constructor","prototype"],Gn=/^[A-Za-z_$][A-Za-z0-9_$]*$/;function Yn(e){return"string"!=typeof e?{ok:!1,reason:"is not a string"}:Gn.test(e)?Jn.includes(e)?{ok:!1,reason:`is reserved (${Jn.join(", ")})`}:{ok:!0,name:e}:{ok:!1,reason:"is not a JavaScript identifier (letters, digits, _ or $, not starting with a digit)"}}function Xn(e){return function(e){return/\breturn\b/.test(e)}(e)?e:`return ${e}`}function Qn(e){const t=Xn(e);return new Function("value","context",t)}function er(e){const t=Xn(e);return new Function("value","context",t)}function tr(e){const t=Xn(e);return new Function("value","context",t)}function nr(){let e=0,t=0;return{start(){e=Date.now(),t=0},end:()=>(t=Date.now(),t-e),getElapsed:()=>(t||Date.now())-e,format(){return(this.getElapsed()/1e3).toFixed(2)+"s"}}}function rr(e){return e instanceof Error?e.message:String(e)}var or="https://cdn.jsdelivr.net/npm",sr="dist/walkerOS.json";function ir(e){return"string"==typeof e||Array.isArray(e)&&e.every(e=>"string"==typeof e)?e:void 0}async function ar(e,t){const n=t?.version||"latest",r=t?.timeout||1e4,o=new AbortController,s=setTimeout(()=>o.abort(),r),i=o.signal,a=t?.client?{"X-Walkeros-Client":t.client}:void 0;try{if(t?.baseUrl){const r=`${t.baseUrl}/api/packages/${encodeURIComponent(e)}?version=${encodeURIComponent(n)}&expand=all`,o=await fetch(r,{signal:i,...a&&{headers:a}});if(!o.ok)throw new Error(`Failed to fetch ${r} (HTTP ${o.status})`);return function(e,t,n){const r=n.schemas||{},o=n.examples||{},s=n.hints,i=n.hintKeys??(s?Object.keys(s):[]),a=n.exampleSummaries??[],c=n.platform,u=n.exportExamples,f=n.exportSchemas,l=n.exports;return{packageName:n.package||e,version:"string"==typeof n.version?n.version:t,...void 0!==n.description&&{description:n.description},...void 0!==n.type&&{type:n.type},...void 0!==c&&{platform:c},schemas:r,examples:o,...void 0!==n.docs&&{docs:n.docs},...void 0!==n.source&&{source:n.source},...s&&Object.keys(s).length>0?{hints:s}:{},hintKeys:i,exampleSummaries:a,...cr(u)?{exportExamples:u}:{},...ur(f)?{exportSchemas:f}:{},...fr(l)?{exports:l}:{}}}(e,n,await o.json())}const r=`${or}/${e}@${n}`,o=await lr(`${r}/package.json`,i,a);return function(e,t,n,r){const o=r.$meta||{},s=r.schemas||{},i=r.examples||{},a=r.hints,c=a?Object.keys(a):[],u=r.exportExamples,f=r.exportSchemas,l=o.exports,p=[],d=i.step||{};for(const[e,t]of Object.entries(d)){const n=t,r={name:e};"string"==typeof n?.description&&(r.description=n.description),p.push(r)}const m="string"==typeof o.docs?o.docs:void 0,g="string"==typeof o.source?o.source:void 0;return{packageName:e,version:"string"==typeof n.version?n.version:t,description:"string"==typeof n.description?n.description:void 0,type:"string"==typeof o.type?o.type:void 0,platform:ir(o.platform),schemas:s,examples:i,...m?{docs:m}:{},...g?{source:g}:{},...a&&Object.keys(a).length>0?{hints:a}:{},hintKeys:c,exampleSummaries:p,...cr(u)?{exportExamples:u}:{},...ur(f)?{exportSchemas:f}:{},...fr(l)?{exports:l}:{}}}(e,n,o,await lr(`${r}/${sr}`,i,a))}finally{clearTimeout(s)}}function cr(e){return null!==e&&"object"==typeof e&&!Array.isArray(e)}function ur(e){return cr(e)&&Object.values(e).every(cr)}function fr(e){return cr(e)&&Object.values(e).every(e=>"string"==typeof e)}async function lr(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 pr(e,t){const n=await ar(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 dr="observe";function mr(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 gr="call:";function hr(e){const t=(e.startsWith(gr)?e.slice(gr.length):e).split(".");return t.some(e=>""===e)?[]:t}function vr(e){return"function"==typeof e}function yr(e){return"object"==typeof e&&null!==e}var br=["name","length","prototype","arguments","caller"];function wr(e,t){if(-1!==br.indexOf(t))return!1;let n=e;for(;vr(n);){if(Object.prototype.hasOwnProperty.call(n,t))return!0;const e=Object.getPrototypeOf(n);if(!vr(e)||!vr(Object.getPrototypeOf(e)))return!1;n=e}return!1}function kr(e,t){const n=Reflect.getOwnPropertyDescriptor(e,t);return!(n&&!n.configurable)||"value"in n&&!0===n.writable}function $r(e,t){let n=e;for(const e of t){if(vr(n)){if(!wr(n,e))return!0;if(!kr(n,e))return!1}else if(fe(n)){if(!(e in n))return!0}else if(!yr(n)||!(e in n))return!1;n=Reflect.get(n,e)}return vr(n)}function Er(e,t,n){const r=[],o=[],s=[];for(const n of t){const t=hr(n);if(0===t.length)continue;const r=t.join(".");s.push({rest:t,fn:r}),$r(e,t)||o.push(r)}const i=new WeakMap,a=new WeakSet;function c(e,t){for(const o of e)if(n)try{n(o,t)}catch{}else r.push({fn:o,args:t,ts:Date.now()})}function u(e,t){return 0===t.length||f(e)?e:fe(e)&&!t.some(t=>t.rest[0]in e)?Promise.resolve(e).then(e=>u(e,t)):vr(e)?h(e,[],t):yr(e)?p(e,t):e}function f(e){return(yr(e)||vr(e))&&a.has(e)}function l(e,t){const n=[],r=[];for(const o of e)o.rest[0]===t&&(1===o.rest.length?n.includes(o.fn)||n.push(o.fn):r.push({rest:o.rest.slice(1),fn:o.fn}));return{leafs:n,deeper:r}}function p(e,t){const n=function(e){return e.map(e=>`${e.fn}:${e.rest.join(".")}`).join("|")}(t),r=i.get(e)??new Map;i.set(e,r);const o=r.get(n);if(o)return o;const s=d(e,t);return r.set(n,s),s}function d(e,t){if(vr(e))return m(e,t);return t.some(t=>!kr(e,t.rest[0]))?function(e,t){const n=Object.create(Object.getPrototypeOf(e)),r=g(e,t,()=>o),o=new Proxy(n,{get:(e,t)=>r.get(t),set:(t,n,r)=>Reflect.set(e,n,r,e),has:(t,n)=>Reflect.has(e,n),ownKeys:()=>Reflect.ownKeys(e),getOwnPropertyDescriptor(t,n){const r=Reflect.getOwnPropertyDescriptor(e,n);return r&&{...r,configurable:!0}},defineProperty:(t,n,r)=>Reflect.defineProperty(e,n,r),deleteProperty:(t,n)=>Reflect.deleteProperty(e,n)});return a.add(o),o}(e,t):m(e,t)}function m(e,t){const n=g(e,t,()=>r),r=new Proxy(e,{get:(e,t)=>"string"!=typeof t||kr(e,t)?n.get(t):Reflect.get(e,t,e),set:(e,t,n)=>Reflect.set(e,t,n,e)});return a.add(r),r}function g(e,t,n){const r=new Map;return{get(o){const s=Reflect.get(e,o,e);if("string"!=typeof o)return s;if(!vr(s)&&!yr(s))return s;if(f(s))return s;const i=r.get(o);if(i&&i.value===s)return i.out;const{leafs:a,deeper:c}=l(t,o);if(!(a.length>0||c.length>0)&&(!vr(s)||function(e){if(Array.isArray(e))return!0;const t=Object.getPrototypeOf(e);return t===Object.prototype||null===t}(e)))return s;let u=s;return vr(s)?u=h(s,a,c,{proxy:n(),target:e}):c.length>0&&(u=p(s,c)),r.set(o,{value:s,out:u}),u}}}function h(e,t,n,r){const o=()=>n.filter(t=>!wr(e,t.rest[0])),s=new Map,i=new Proxy(e,{get(e,t){const r=Reflect.get(e,t,e);if("string"!=typeof t||!kr(e,t))return r;if(!wr(e,t))return r;const{leafs:o,deeper:a}=l(n,t);if(0===o.length&&0===a.length)return r;if(f(r))return r;const c=s.get(t);if(c&&c.value===r)return c.out;let u=r;return vr(r)?u=h(r,o,a,{proxy:i,target:e}):yr(r)&&a.length>0&&(u=p(r,a)),s.set(t,{value:r,out:u}),u},set:(e,t,n)=>Reflect.set(e,t,n,e),apply(e,n,s){c(t,s);const i=!r||n!==r.proxy&&void 0!==n?n:r.target;return u(Reflect.apply(e,i,s),o())},construct(e,n,r){c(t,n);const s=Reflect.construct(e,n,r===i?e:r),a=u(s,o());return yr(a)||vr(a)?a:s}});return a.add(i),i}return{env:d(e,s),calls:r,unresolved:o}}var Sr="obsw_";function Or(e){if(!e.startsWith(Sr))return null;const t=e.slice(Sr.length).split("."),[n,r,o]=t;return 3===t.length&&n&&r&&o?{pb:n,ses:r,secret:o}:null}function Ar(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 jr(e,t){const n=function(e){return pe(e)?e:oe(e)?{items:e}:{value:e??null}}(e),r=t?{...n,_hints:t}:n;return{content:[{type:"text",text:JSON.stringify(r,null,2)}],structuredContent:r}}function Ir(e,t){let n,r,o,s;if(e instanceof Error){n=e.message;const t=e;t.code&&(o=t.code),Array.isArray(t.details)&&(s=t.details)}else if("string"==typeof e)n=e;else if(e&&"object"==typeof e&&"issues"in e&&Array.isArray(e.issues)){const t=e.issues;n=t.map(e=>e.message).join("; "),r=t[0]?.path?.join(".")||void 0}else n=e&&"object"==typeof e&&"message"in e?String(e.message):"Unknown error";const i={error:n};return t&&(i.hint=t),r&&(i.path=r),o&&(i.code=o),s&&(i.details=s),{content:[{type:"text",text:JSON.stringify(i)}],structuredContent:i,isError:!0}}function xr(e){let t=!1;return(n={})=>{t||(t=!0,e(n))}}function _r(e){const t=Object.create(null);if(!e||"object"!=typeof e||oe(e))return t;return"function"==typeof e.forEach?(e.forEach((e,n)=>{t[n.toLowerCase()]=e}),t):(Object.entries(e).forEach(([e,n])=>{void 0!==n&&(t[e.toLowerCase()]=oe(n)?n.join(", "):String(n))}),t)}function Mr(e){const t=Object.create(null);if(!e)return t;return new URLSearchParams(e.startsWith("?")?e.slice(1):e).forEach((e,n)=>{t[n]=n in t?`${t[n]},${e}`:e}),t}function Rr(e,t){if("string"!=typeof e)return e;let n=e;if(t){const t=globalThis.atob;if(!t)return e;try{const r=t(e),o=new Uint8Array(r.length);for(let e=0;e<r.length;e++)o[e]=r.charCodeAt(e);n=decodeURIComponent(Array.from(o,e=>`%${e.toString(16).padStart(2,"0")}`).join(""))}catch{return e}}try{return JSON.parse(n)}catch{return n===e?e:n}}function Pr(e){return pe(e)&&"string"==typeof e.method&&pe(e.headers)}function Tr(e,t){const n=_r(e.headers),r=e.originalUrl||e.url||"",o=r.indexOf("?"),s=-1===o?"":r.slice(o),i=e.path||(-1===o?r:r.slice(0,o)),a=("function"==typeof e.get?e.get("host"):void 0)||n.host,c=e.protocol||n["x-forwarded-proto"]||t.defaultProtocol,u={method:(e.method||"").toUpperCase(),url:a?`${c}://${a}${r}`:"",path:i,query:Mr(s),headers:n,body:t.body,raw:e};return e.ip&&(u.ip=e.ip),u}function Cr(e){return oe(e)?e:pe(e)?oe(e.batch)?e.batch:[e]:[{}]}function Nr(e){return!!oe(e)||pe(e)&&oe(e.batch)}function Fr(e){const t=e.flatMap((e,t)=>e.error?[{index:t,error:e.error}]:[]);return t.length?{status:207,body:{success:!1,processed:e.length-t.length,failed:t.length,errors:t}}:{status:200,body:{success:!0,processed:e.length,ids:e.map(e=>e.id??null)}}}function Lr(e){return!1===e?.ok?{error:e.error??(!0===e.invalid?"Invalid event":"Event was not processed")}:{id:e?.event?.id}}function Dr(e){if(void 0===e||"*"===e)return()=>!0;if("and"in e){const t=e.and.map(Dr);return e=>t.every(t=>t(e))}if("or"in e){const t=e.or.map(Dr);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=Ue(e,t),r=s(n);return o?!r:r}}(e)}function zr(e){return"object"==typeof e&&null!==e&&!Array.isArray(e)&&("match"in e||"next"in e||"one"in e||"many"in e||"stop"in e)}function Vr(e){return Array.isArray(e)&&e.length>0&&e.every(e=>zr(e))}function Ur(e){return"object"==typeof e&&!Array.isArray(e)&&"type"in e&&"continuation"===e.type}var Wr=()=>!0;function Br(e,t){return{kind:t?"sequence":"next",path:e}}function Kr(e,t){return t?{...e,outer:t}:e}function qr(e,t,n,r){return Kr(n?{kind:e,path:t,match:n}:{kind:e,path:t,catchAll:!0},r)}function Zr(e,t,n,r){return 0===e.length?{type:"chain",value:[],label:Kr({kind:n,path:t},r)}:{type:n,routes:Hr(e,t,n,r)}}function Hr(e,t,n,r){return e.map((e,o)=>{const s=[...t,o];if("string"==typeof e||Array.isArray(e)){const t=qr(n,s,void 0,r);return{match:Wr,next:Gr(e,s,t)??{type:"chain",value:[],label:t}}}const i=qr(n,s,e.match,r);return{match:e.match?Dr(e.match):Wr,source:e.match,next:Jr(e,s,i,!1,!0)??{type:"chain",value:[],label:i}}})}function Jr(e,t,n,r,o){const s=o?void 0:e.match,i=s?Kr({kind:"next",path:t,match:s},n):n??Br(t,r),a=s?i:n;let c;return!0===e.stop?c={type:"stop",label:i}:void 0!==e.one?c=Zr(e.one,[...t,"one"],"one",a):void 0!==e.many?c=Zr(e.many,[...t,"many"],"many",a):void 0!==e.next&&(c=Gr(e.next,[...t,"next"],a)),s?{type:"gate",match:Dr(s),source:s,next:c??{type:"chain",value:[],label:i}}:void 0===c&&e.match?{type:"chain",value:[],label:i}:c}function Gr(e,t=[],n,r=!1){if(null!=e){if("string"==typeof e)return{type:"static",value:e,label:n??Br(t,r)};if(Array.isArray(e)){if(0===e.length)return;if(Vr(e))return{type:"one",routes:Hr(e,t,"one",n)};const o=[];for(const t of e)"string"==typeof t&&o.push(t);if(o.length===e.length)return{type:"chain",value:o,label:n??Br(t,r)};const s=[];if(e.forEach((e,r)=>{const o=Gr(e,[...t,r],n,!0);void 0!==o&&s.push(o)}),0===s.length)return;return{type:"sequence",value:s}}return Jr(e,t,n,r,!1)}}var Yr=new WeakMap;function Xr(e,t,n){return n?{type:"continuation",segments:e,at:t,tail:n}:{type:"continuation",segments:e,at:t}}function Qr(e){if(null==e)return;if(Ur(e))return e;const t=function(e){if(null==e)return;if("object"!=typeof e)return Gr(e);const t=Yr.get(e);if(t)return t;const n=Gr(e);return n&&Yr.set(e,n),n}(e);return t?Xr([t],0,void 0):void 0}function eo(e,t,n){const r=[];let o=e;for(;o;){if(o.at>=o.segments.length){o=o.tail;continue}const e=o.segments[o.at],s=Xr(o.segments,o.at+1,o.tail);if("static"===e.type){r.push(e.value),n&&n(e),o=s;continue}if("chain"===e.type){r.push(...e.value),n&&n(e),o=s;continue}if("sequence"===e.type){o=Xr(e.value,0,s);continue}if(r.length>0)return{ids:r,then:o};if("stop"===e.type)return n&&n(e),{ids:[],stop:!0};if("gate"===e.type){o=t.gate(e)?Xr([e.next],0,s):s;continue}if("one"===e.type){const n=e.routes.length>0?t.one(e.routes):-1;o=n>=0?Xr([e.routes[n].next],0,s):s;continue}const i=e.routes.length>0?t.many(e.routes):[];if(0!==i.length){if(1!==i.length)return{ids:[],forks:i.map(t=>Xr([e.routes[t].next],0,s))};o=Xr([e.routes[i[0]].next],0,s)}else o=s}return{ids:r}}function to(e,t){return eo(Qr(e),function(e){return{gate:t=>t.match(e),one:t=>t.findIndex(t=>t.match(e)),many:t=>{const n=[];return t.forEach((t,r)=>{t.match(e)&&n.push(r)}),n}}}(t))}function no(e){return null==e?[]:[{route:e,ancestry:[]}]}function ro(e){return Array.isArray(e)&&e.every(e=>"object"==typeof e&&null!==e&&!Array.isArray(e)&&"ancestry"in e)}function oo(e,t,n){if(e.at>=e.ids.length)return{rest:t};const r=e.ids[e.at],o=e.at+1<e.ids.length?[{ids:e.ids,at:e.at+1,ancestry:e.ancestry},...t]:t;if(e.ancestry.includes(r))return{rest:o};const s=[...e.ancestry,r],i=n[r],a=i?i.config.next:void 0;return{id:r,ancestry:s,rest:void 0===a?o:[{route:a,ancestry:s},...o]}}function so(e,t,n){if(e.stop)return t.length>0?{kind:"stop",owner:t[t.length-1]}:{kind:"stop"};if(e.forks)return{kind:"fork",branches:e.forks.map(e=>[{route:e,ancestry:t},...n])};const r=[];return e.ids.length>0&&r.push({ids:e.ids,at:0,ancestry:t}),e.then&&r.push({route:e.then,ancestry:t}),{kind:"stack",stack:[...r,...n]}}function io(e,t,n){let r=e;for(;r.length>0;){const[e,...o]=r;if("ids"in e){const t=oo(e,o,n);if(void 0!==t.id)return{kind:"run",id:t.id,rest:t.rest,ancestry:t.ancestry};r=t.rest;continue}const s=so(to(e.route,t),e.ancestry,o);if("stack"!==s.kind)return s;r=s.stack}return{kind:"done"}}function ao(e,t={}){const n=[],r=new Map,o=new Set,s=new WeakMap,i=new WeakMap;let a=0;const c=e=>{let t=i.get(e);return void 0===t&&(t=++a,i.set(e,t)),t},u=e=>e.length>0?e[e.length-1]:void 0,f=(e,t,o,s,i)=>{const a=void 0===i,c=`${e??""}|${o}|${s??""}|${i??""}`,u=r.get(c);if(u)return u;const f={targets:[],kind:t.kind,path:t.path};return void 0!==e&&(f.from=e),t.match&&(f.match=t.match),t.catchAll&&(f.catchAll=!0),a&&(f.stop=!0),void 0!==s&&(f.owner=s),t.outer&&(f.via=function(e){const t=[];for(let n=e.outer;n;n=n.outer){const e={kind:n.kind,path:n.path};n.match&&(e.match=n.match),n.catchAll&&(e.catchAll=!0),t.unshift(e)}return t}(t)),r.set(c,f),n.push(f),f},l=e=>{const t=e.ancestry.join(",");if("ids"in e){const n=s.get(e.ids)??[];return`i${e.ids.join(",")}#${n.map(c).join(",")}@${e.at}/${t}`}const n=e.route;if("string"==typeof n)return`s${n}/${t}`;let r="",o=Qr(n);for(;o;)r+=`${c(o.segments)}@${o.at};`,o=o.tail;return`r${r}/${t}`},p=(e,n,r)=>{const i=`${n??""}|${r?`${c(r.node)}:${r.position}`:""}|${e.map(l).join("|")}`;if(o.has(i))return;if(o.add(i),0===e.length)return;const[a,...d]=e;if("ids"in a){const e=oo(a,d,t);if(void 0===e.id)return void p(e.rest,n,r);const o=(s.get(a.ids)??[])[a.at];if(!o)return;let i;if(r&&r.source===o&&r.node.targets[r.position]===n){const t=r.position+1;r.node.targets.length===t&&r.node.targets.push(e.id),i={node:r.node,source:o,position:t}}else{const t=f(n,o.label,c(o),u(a.ancestry),e.id);0===t.targets.length&&t.targets.push(e.id),i={node:t,source:o,position:0}}return void p(e.rest,e.id,i)}const m=u(a.ancestry);for(const e of function(e){const t=[],n=r=>{let o=0;const s=[],i=e=>{let t=0;return o<r.length?t=r[o]:s.push(e),o++,t},a=e=>e.some(e=>void 0===e.source),c=[],u=eo(e,{gate:()=>0===i(2),one:e=>{const t=e.map((e,t)=>t);return a(e)||t.push(-1),t[i(t.length)]},many:e=>{const t=e.map((e,t)=>t);return a(e)||0===i(2)?t:[]}},e=>c.push(e));t.push({steps:u,visited:c});for(let e=0;e<s.length;e++)for(let t=1;t<s[e];t++){const o=r.slice();for(let t=0;t<e;t++)o.push(0);o.push(t),n(o)}};return n([]),t}(Qr(a.route))){const{steps:t}=e,r=[];let o=n;for(const t of e.visited)if("stop"!==t.type)if("static"===t.type)r.push(t),o=t.value;else if(0===t.value.length)f(o,t.label,c(t),m,"");else{for(let e=0;e<t.value.length;e++)r.push(t);o=t.value[t.value.length-1]}else f(n,t.label,c(t),m,void 0);t.ids.length>0&&s.set(t.ids,r);const i=so(t,a.ancestry,d);if("stop"!==i.kind)if("fork"!==i.kind)p(i.stack,n,void 0);else for(const e of i.branches)p(e,n,void 0)}};return p(no(e),void 0,void 0),n}var co="__walkeros_cache_v__",uo="__walkeros_cache_exp__";function fo(e,t,n=Date.now){const r={[co]:e};return void 0!==t&&(r[uo]=n()+t),r}function lo(e,t=Date.now){if(void 0===e)return;if(null===(n=e)||"object"!=typeof n||Array.isArray(n)||!(co in e))return{value:e};var n;const r=e[uo];return"number"==typeof r&&t()>r?{expired:!0}:{value:e[co]}}var po="__walkeros_cache__",mo=class extends Error{constructor(e,t){super(e,t),this.name="StoreCodecError"}};function go(e){return null!==e&&"object"==typeof e&&!Array.isArray(e)}function ho(e){if(Buffer.isBuffer(e))return{[po]:"buffer",d:e.toString("base64")};if(e instanceof Uint8Array)return{[po]:"buffer",d:Buffer.from(e.buffer,e.byteOffset,e.byteLength).toString("base64")};if(e instanceof ArrayBuffer)return{[po]:"buffer",d:Buffer.from(e).toString("base64")};if(Array.isArray(e))return e.map(ho);if(go(e)){if(po in e){const t={};for(const[n,r]of Object.entries(e))t[n]=ho(r);return{[po]:"escape",d:t}}const t={};for(const[n,r]of Object.entries(e))t[n]=ho(r);return t}return e}function vo(e,t){if(go(e)){if(po in e){const n=e[po],r=e.d;if("buffer"===n&&"string"==typeof r)return t(Buffer.from(r,"base64"));if("escape"===n&&go(r)){const e={};for(const[n,o]of Object.entries(r))e[n]=vo(o,t);return e}}const n={};for(const[r,o]of Object.entries(e))n[r]=vo(o,t);return n}return Array.isArray(e)?e.map(e=>vo(e,t)):e}function yo(e){return new Uint8Array(e.buffer,e.byteOffset,e.byteLength)}function bo(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||bo(e)):!!go(e)&&Object.values(e).every(e=>void 0===e||bo(e)))}function wo(e){let t;try{t=JSON.stringify(ho(e))}catch(e){throw new mo("Failed to serialize store value (likely a cyclic structure).",{cause:e})}return new Uint8Array(Buffer.from(t,"utf8"))}function ko(e){const t="string"==typeof e?e:Buffer.from(e).toString("utf8"),n=vo(JSON.parse(t),yo);if(!bo(n))throw new mo("Restored value is not a valid StoreValue.");return n}function $o(e={},t){return void 0===t?{ingest:e}:{ingest:e,event:t}}function Eo(e){return{stop:e.stop??!1,storeId:e.store,namespace:e.namespace,rules:e.rules.map(e=>({match:e.match?Dr(e.match):()=>!0,key:e.key,ttl:e.ttl,update:e.update}))}}async function So(e,t,n,r){const o=e.rules.find(e=>e.match(n));if(!o)return null;const s=o.key.map(e=>String(Ue(n,e)??""));if(s.every(e=>""===e))return null;const i=s.join(":"),a=r??e.namespace,c=a?`${a}:${i}`:i,u=lo(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 Oo(e,t,n,r){if(!bo(n))return;const o=1e3*r,s=e.set(t,fo(n,o),o);fe(s)&&Promise.resolve(s).catch(()=>{})}async function Ao(e,t,n,r){if(!t)return e;let o=e;for(const[e,s]of Object.entries(t)){o=We(o,e,await _t(n,s,{collector:r}))}return o}function jo(e){return oe(e)?e:[e]}function Io(e){const t=/^(event|ingest)\.(.+)$/.exec(e);if(t)return{side:"event"===t[1]?"event":"ingest",path:t[2]}}function xo(e){if(!pe(e.consent))return;const t={};for(const[n,r]of Object.entries(e.consent))"boolean"==typeof r&&(t[n]=r);return t}function _o(e){return!ae(e)||(pe(e)?0===Object.keys(e).length:!!oe(e)&&!e.some(ae))}async function Mo(e,t,n,r,o){const s=o??{};let i=n;for(const n of e)await Ot(async()=>{const e=t(n.store);if(!e)return void r.logger?.error?.("[state] unknown store",{mode:n.mode,store:n.store});if(pe(e.config)&&!0===e.config.file)return void r.logger?.warn?.("[state] file stores are not supported by state, entry skipped",{mode:n.mode,store:n.store});const o=$o(s,i),a={collector:r,event:i,consent:xo(i)},c=await _t(o,n.key,a);if(!me(c))return void r.logger?.warn?.("[state] key did not resolve",{mode:n.mode,store:n.store,key:n.key});const u=n.store?c:`state:${c}`;if("set"===n.mode){const t=await _t(o,n.value,a);if(!ae(n.mapping)){if(!ae(t))return;return void await e.set(u,t)}const s=await jt(t,n.mapping,a);if(!ae(s)||_o(s))return;if(!pe(s))return void await e.set(u,s);const i=await e.get(u);return ae(i)&&!pe(i)&&r.logger?.warn?.("[state] stored value is not an object, replaced",{store:n.store}),void await e.set(u,pe(i)?Ye(Ve(i),s):s)}const f=me(l=n.value)?l:pe(l)&&me(l.key)?l.key:void 0;var l;if(!f)return;const p=Io(f);if(!p)return void r.logger?.warn?.("[state] get target needs an event. or ingest. prefix",{store:n.store,value:f});const d=await e.get(u);if(!ae(n.mapping)){if(!ae(d))return;return void("ingest"===p.side?We(s,p.path,d,{mutable:!0}):i=We(i,p.path,d))}ae(d)&&!kt(d)&&r.logger?.warn?.("[state] stored value has null or non-JSON values, mapping drops them",{store:n.store});const m=await jt(d,n.mapping,a);if(_o(m))return;const g="ingest"===p.side?Ue(s,p.path):Ue(i,p.path),h=pe(g)&&pe(m)?Ye(Ve(g),m):m;"ingest"===p.side?We(s,p.path,h,{mutable:!0}):i=We(i,p.path,h)},e=>{if(e instanceof At)throw e;r.logger?.error?.("[state] operation failed",e)})();return i}function Ro(e){return 0===e.length?"// no output":e.map(Po).join(";\n\n")}function Po(e){const[t,...n]=e,r=n.map(To).join(", ");return"return"===t?r?`return ${r}`:"return":`${t}(${r})`}function To(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:()=>rn,Cache:()=>a,Collector:()=>c,Const:()=>P,Context:()=>f,Destination:()=>l,ENV_MARKER_PREFIX:()=>_e,Elb:()=>d,FatalError:()=>At,FlowCycleError:()=>xe,FlowReferenceError:()=>Ie,Hint:()=>R,Hooks:()=>m,InvalidEventError:()=>Bt,Level:()=>h,Lifecycle:()=>I,Logger:()=>g,MAX_SESSION_MS:()=>on,Mapping:()=>v,Matcher:()=>M,OBSERVE_ENV_KEY:()=>dr,OBSERVE_STORAGE_KEY:()=>un,On:()=>y,REF_CODE_PREFIX:()=>ee,REF_CONTRACT:()=>G,REF_ENV:()=>J,REF_FLOW:()=>Y,REF_SECRET:()=>Q,REF_STORE:()=>X,REF_VAR_FULL:()=>Z,REF_VAR_INLINE:()=>H,RESERVED_WINDOW_GLOBALS:()=>Jn,Request:()=>k,SECRET_MARKER_PREFIX:()=>Me,SESSION_STORAGE_KEY:()=>cn,STEP_FIELD_ROLES:()=>be,STEP_OPERATIVE_FIELDS:()=>$e,Simulation:()=>_,Source:()=>$,Store:()=>S,StoreCodecError:()=>mo,Transformer:()=>b,Trigger:()=>j,URL_WINDOW_MS:()=>nn,WalkerOS:()=>x,advanceChain:()=>io,anonymizeIP:()=>N,applyState:()=>Mo,applyUpdate:()=>Ao,assembleJourneys:()=>Fn,assign:()=>ze,batchResponse:()=>Fr,branch:()=>C,browserSwapActivator:()=>gn,buildScopeFromNodeRequest:()=>Tr,castToProperty:()=>Et,castValue:()=>He,checkCache:()=>So,checkWindowCollector:()=>Yn,clone:()=>Ve,compileCache:()=>Eo,compileMatcher:()=>Dr,compileState:()=>jo,createBatchedPoster:()=>Un,createDestination:()=>Ge,createEvent:()=>ot,createIngest:()=>T,createLogger:()=>bt,createMappingRoot:()=>$o,createMockContext:()=>Ft,createMockLogger:()=>Nt,createRespond:()=>xr,createTelemetryObserver:()=>Zt,createTimer:()=>nr,debounce:()=>mt,deepMerge:()=>Ye,defaultClickIds:()=>lt,deleteByPath:()=>Be,deriveSpanId:()=>at,deserializeStoreValue:()=>ko,emitStep:()=>Vn,fetchPackage:()=>ar,fetchPackageSchema:()=>pr,filterValues:()=>$t,flattenIncludeSections:()=>Ze,formatOut:()=>Ro,getBrowser:()=>Bn,getBrowserVersion:()=>Kn,getByPath:()=>Ue,getDeviceType:()=>Hn,getErrorMessage:()=>rr,getEvent:()=>st,getFlowSettings:()=>Ne,getGrantedConsent:()=>Je,getHeaders:()=>Vt,getId:()=>Qe,getMappingEvent:()=>xt,getMappingValue:()=>_t,getMarketingParameters:()=>pt,getNextSteps:()=>to,getOS:()=>qn,getOSVersion:()=>Zn,getPlatform:()=>Le,getRouteGraph:()=>ao,getSpanId:()=>rt,getStepFieldRole:()=>we,getStepRuntimeProps:()=>ke,getTraceId:()=>ct,getTraceUntil:()=>Dn,getTransformerMapping:()=>ve,getTransformerMappingWarnings:()=>ye,isArguments:()=>re,isArray:()=>oe,isBatchBody:()=>Nr,isBoolean:()=>se,isChainContinuation:()=>ro,isCommand:()=>ie,isDefined:()=>ae,isElementOrDocument:()=>ce,isEnvObserve:()=>mr,isFunction:()=>ue,isNumber:()=>le,isObject:()=>pe,isPathStepEntry:()=>Ae,isPropertyType:()=>kt,isRouteArray:()=>Vr,isRouteConfigEntry:()=>zr,isRouteContinuation:()=>Ur,isSameType:()=>de,isSampled:()=>Ht,isScope:()=>Pr,isStoreValue:()=>bo,isString:()=>me,isThenable:()=>fe,mcpError:()=>Ir,mcpResult:()=>jr,mergeContractSchemas:()=>W,mergeMappingRule:()=>Pt,mockEnv:()=>Tt,normalizeBody:()=>Rr,normalizeHeaders:()=>_r,normalizeQuery:()=>Mr,observeEnv:()=>Er,observeFromEnv:()=>Ar,packageNameToVariable:()=>Ce,parseCallPath:()=>hr,parseGrant:()=>tn,parseObserveCredential:()=>Or,parseTraceparent:()=>ft,parseUserAgent:()=>Wn,processEventMapping:()=>Mt,pushResultToOutcome:()=>Lr,readCacheEnvelope:()=>lo,requestToData:()=>Lt,requestToParameter:()=>Dt,resolveContracts:()=>U,resolveSetup:()=>Ut,resolveTelemetryOptions:()=>Jt,scanFlowRefs:()=>ne,serializeStoreValue:()=>wo,setByPath:()=>We,setTraceUntil:()=>zn,startChain:()=>no,stepId:()=>u,storeCache:()=>Oo,throttle:()=>gt,throwError:()=>F,toEventList:()=>Cr,transformData:()=>zt,traverseEnv:()=>Ct,trim:()=>Wt,tryCatch:()=>St,tryCatchAsync:()=>Ot,useHooks:()=>Kt,validateStepEntry:()=>Oe,verifyActivation:()=>sn,walkPath:()=>Pe,wrapCacheEnvelope:()=>fo,wrapCondition:()=>Qn,wrapFn:()=>er,wrapValidate:()=>tr}),module.exports=(e=i,((e,s,i,a)=>{if(s&&"object"==typeof s||"function"==typeof s)for(let c of r(s))o.call(e,c)||c===i||t(e,c,{get:()=>s[c],enumerable:!(a=n(s,c))||a.enumerable});return e})(t({},"__esModule",{value:!0}),e));var a={},c={};function u(e,t){if("collector"===e)return"collector";if(!t)throw new Error(`stepId(${e}) requires an id`);return`${e}.${t}`}s(c,{stepId:()=>u});var f={},l={};function p(e,t){const n=e.destinations[t];if(!n)throw new Error(`Destination not found: ${t}`);return n}s(l,{getDestination:()=>p});var d={},m={},g={};s(g,{Level:()=>h});var h=(e=>(e[e.ERROR=0]="ERROR",e[e.WARN=1]="WARN",e[e.INFO=2]="INFO",e[e.DEBUG=3]="DEBUG",e))(h||{}),v={},y={},b={};function w(e,t){const n=e.transformers[t];if(!n)throw new Error(`Transformer not found: ${t}`);return n}s(b,{getTransformer:()=>w});var k={},$={};function E(e,t){const n=e.sources[t];if(!n)throw new Error(`Source not found: ${t}`);return n}s($,{getSource:()=>E});var S={};function O(e,t){const n=e.stores[t];if(!n)throw new Error(`Store not found: ${t}`);return n}async function A(e,t){return await e.get(t)}s(S,{getStore:()=>O,getStoreValue:()=>A});var j={},I={},x={},_={},M={},R={},P={Utils:{Storage:{Local:"local",Session:"session",Cookie:"cookie"}}};function T(e){return{_meta:{hops:0,path:[e]}}}function C(e,t){return{event:e,next:t}}function N(e){const t=e.replace(/^::ffff:/i,"");if(/^(?:\d{1,3}\.){3}\d{1,3}$/.test(t))return t.replace(/\.\d+$/,".0");const n=function(e){const t=e.split("::");if(t.length>2)return;const n=t[0]?t[0].split(":"):[],r=t[1]?t[1].split(":"):[],o=8-n.length-r.length;if(1===t.length?0!==o:o<1)return;const s=[...n,...Array(o).fill("0"),...r];if(!s.every(e=>/^[\da-f]{1,4}$/i.test(e)))return;return s.map(e=>parseInt(e,16).toString(16))}(e);return n?`${n.slice(0,3).join(":")}::`:""}function F(e){throw new Error(String(e))}var L=new Set(["description","examples","title","$comment"]),D=new Set(["additionalItems","additionalProperties","contains","contentSchema","else","if","items","not","propertyNames","then","unevaluatedItems","unevaluatedProperties"]),z=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=W(e.schema,t.schema):(e.schema||t.schema)&&(n.schema={...e.schema||t.schema});if(e.events||t.events){const r={},o=new Set([...Object.keys(e.events||{}),...Object.keys(t.events||{})]);for(const n of o){const o=e.events?.[n]||{},s=t.events?.[n]||{},i=new Set([...Object.keys(o),...Object.keys(s)]);r[n]={};for(const e of i){const t=o[e],i=s[e];r[n][e]=t&&i?W(t,i):{...t||i}}}n.events=r}return n}(s(i.extend),i)}else a={...i};if(delete a.extend,a.events&&(a.events=function(e){const t={};for(const n of Object.keys(e))if("*"!==n){t[n]={};for(const r of Object.keys(e[n]||{})){let o={};const s=e["*"]?.["*"];s&&(o=W(o,s));const i=e["*"]?.[r];i&&"*"!==r&&(o=W(o,i));const a=e[n]?.["*"];a&&"*"!==r&&(o=W(o,a));const c=e[n]?.[r];c&&(o=W(o,c)),t[n][r]=o}}e["*"]&&(t["*"]={...e["*"]});return t}(a.events)),a.events&&n){const e={};for(const[t,n]of Object.entries(a.events)){e[t]={};for(const[r,o]of Object.entries(n))e[t][r]=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 W(e,t){const n={...e};for(const r of Object.keys(t)){const o=e[r],s=t[r];"required"===r&&Array.isArray(o)&&Array.isArray(s)?n[r]=[...new Set([...o,...s])]:q(o)&&q(s)?n[r]=W(o,s):n[r]=s}return n}function B(e){const t={};for(const[n,r]of Object.entries(e))L.has(n)||(V.has(n)&&q(r)?t[n]=K(r):z.has(n)&&Array.isArray(r)?t[n]=r.map(e=>q(e)?B(e):e):D.has(n)&&q(r)?t[n]=B(r):t[n]=r);return t}function K(e){const t={};for(const[n,r]of Object.entries(e))t[n]=q(r)?B(r):r;return t}function q(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,J=/\$env\.([a-zA-Z_][a-zA-Z0-9_]*)(?::([^"}\s]*))?/g,G=/^\$contract\.([a-zA-Z_][a-zA-Z0-9_]*)(?:\.(.+))?$/,Y=/^\$flow\.([a-zA-Z_][a-zA-Z0-9_]*)(?:\.([a-zA-Z0-9_.]+))?$/,X=/^\$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){return"[object Arguments]"===Object.prototype.toString.call(e)}function oe(e){return Array.isArray(e)}function se(e){return"boolean"==typeof e}function ie(e){return"walker"===e}function ae(e){return void 0!==e}function ce(e){return!(!e||"object"!=typeof e)&&("body"in e||"tagName"in e)}function ue(e){return"function"==typeof e}function fe(e){return"object"==typeof e&&null!==e&&"then"in e&&"function"==typeof e.then}function le(e){return"number"==typeof e&&!Number.isNaN(e)}function pe(e){return"object"==typeof e&&null!==e&&!oe(e)&&"[object Object]"===Object.prototype.toString.call(e)}function de(e,t){return typeof e==typeof t}function me(e){return"string"==typeof e}var ge=["consent","include","data"],he=["consent","include","remove","batch","settings","extend","data","silent"];function ve(e){return e.config?.mapping??e.mapping}function ye(e){const t=ve(e);if(void 0===t)return[];const n=void 0!==e.config?.mapping?"config.mapping":"mapping",r="config.mapping"===n&&void 0!==e.mapping;if(void 0!==e.code||void 0!==e.package){return[`${r?"`config.mapping` and `mapping` are":`\`${n}\` is`} ignored: a transformer with \`${void 0!==e.code?"code":"package"}\` never runs ${r?"them":"it"}; a mapping applies only to a transformer without code.`]}const o=[];r&&o.push("`mapping` is overridden: `config.mapping` wins; remove one.");const s=function(e,t){if(!pe(e))return[];const n=[];for(const r of ge)void 0!==e[r]&&n.push(`${t}.${r}`);const r=e.mapping;if(!pe(r))return n;for(const[e,o]of Object.entries(r))if(pe(o))for(const[r,s]of Object.entries(o))(oe(s)?s:[s]).forEach((o,i)=>{if(!pe(o))return;const a=`${t}.mapping.${e}.${r}${oe(s)?`[${i}]`:""}`;for(const e of he)void 0!==o[e]&&n.push(`${a}.${e}`)});return n}(t,n);return s.length>0&&o.push(`${s.map(e=>`\`${e}\``).join(", ")} ${1===s.length?"does":"do"} nothing at the transformer position; only \`policy\` and a rule's \`condition\`, \`policy\`, \`name\` and \`ignore\` apply.`),o}var be={Source:{package:"reference",code:"reference",import:"reference",config:"runtime",env:"runtime",primary:"runtime",before:"runtime",next:"runtime",cache:"runtime",state:"runtime",variables:"resolve",examples:"docs"},Transformer:{package:"reference",code:"reference",import:"reference",config:"runtime",env:"runtime",before:"runtime",next:"runtime",cache:"runtime",state:"runtime",mapping:"runtime",variables:"resolve",examples:"docs"},Destination:{package:"reference",code:"reference",import:"reference",config:"runtime",env:"runtime",before:"runtime",next:"runtime",cache:"runtime",state:"runtime",variables:"resolve",examples:"docs"},Store:{package:"reference",code:"reference",import:"reference",config:"runtime",env:"runtime",cache:"runtime",variables:"resolve",examples:"docs"}};function we(e,t){const n=be[e];return Object.prototype.hasOwnProperty.call(n,t)?n[t]:void 0}function ke(e,t){const n={};for(const[r,o]of Object.entries(e))null!=o&&"runtime"===we(t,r)&&(n[r]=o);return n}var $e={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"]},Ee=["disabled","id","logger","mock","chainMocks"],Se=/^[A-Za-z_$][A-Za-z0-9_$]*$/;function Oe(e,t){const n=function(e){return new Set([...Object.keys(be[e]),...Ee])}(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&&Se.test(e.import)?{ok:!0}:{ok:!1,code:"INVALID_IMPORT",key:"import",reason:`import must match ${Se.source}. Got: ${JSON.stringify(e.import)}.`}}function Ae(e,t){if("Transformer"!==t)return!1;if(void 0!==e.code||void 0!==e.package||void 0!==e.import)return!1;if($e.Transformer.some(t=>"reference"!==we("Transformer",t)&&void 0!==e[t]))return!0;const n=pe(e.config)?e.config:void 0;return void 0!==ve({mapping:e.mapping,config:n})||void 0!==n?.state}function je(...e){const t={};for(const n of e)n&&Object.assign(t,n);return t}var Ie=class extends Error{code;reference;constructor(e,t,n){super(n),this.name="FlowReferenceError",this.code=e,this.reference=t}},xe=class extends Error{code;chain;constructor(e,t){super(`Cyclic ${"FLOW_CYCLE"===e?"$flow":"$var"} reference: ${t.join(" -> ")}`),this.name="FlowCycleError",this.code=e,this.chain=t}},_e="__WALKEROS_ENV:",Me="__WALKEROS_SECRET:";function Re(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 Pe(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 Te(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 u=s??new Set;if(u.has(a))throw new xe("VAR_CYCLE",[...u,a]);let f;u.add(a);try{f=Te(t[a],t,n,r,o,u)}finally{u.delete(a)}return c&&(f=Pe(f,c,`$var.${a}`)),f}const a=e.match(G);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=Pe(n,t,`$contract.${e}`)),n}const c=e.match(Y);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?.(Re(t,r,"unknown-flow")),e;F(`Flow "${t}" not found in $flow.${t}`)}let a=i;if(r)if(s){try{a=Pe(a,r,`$flow.${t}`)}catch{return n?.onWarning?.(Re(t,r,"missing-key")),e}if(null==a||""===a)return n?.onWarning?.(Re(t,r,"missing-key")),e}else a=Pe(a,r,`$flow.${t}`);return a}const u=e.match(Q);if(u){const e=u[1];if(n?.deferred)return`${Me}${e}`;throw new Ie("WEB_SECRET_REF",e,`Secret "$secret.${e}" cannot be used in a web flow: secrets are never sent to the browser. Use a server flow.`)}let f=e.replace(H,(e,i)=>{const a=i.split("."),c=a[0],u=a.slice(1).join(".");void 0===t[c]&&F(`Variable "${c}" not found`);const f=s??new Set;if(f.has(c))throw new xe("VAR_CYCLE",[...f,c]);let l;f.add(c);try{l=Te(t[c],t,n,r,o,f)}finally{f.delete(c)}if(u&&(l=Pe(l,u,`$var.${c}`)),null===l||"string"!=typeof l&&"number"!=typeof l&&"boolean"!=typeof l){F(`Variable "${i}" resolves to non-scalar (${Array.isArray(l)?"array":typeof l}) and cannot be inlined into a string. Use it as a whole-string reference: "$var.${i}"`)}return String(l)});return f=f.replace(J,(e,t,r)=>{if(n?.deferred)return void 0!==r?`${_e}${t}:${r}`:`${_e}${t}`;const o=n?.env??("undefined"!=typeof process?process.env:void 0),s=o?.[t];if(void 0!==s)return s;if(void 0!==r)return r;throw new Ie("MISSING_ENV",t,`Environment variable "${t}" not found and no default provided`)}),f}if(Array.isArray(e))return e.map(e=>Te(e,t,n,r,o,s));if(null!==e&&"object"==typeof e){const i={};for(const[a,c]of Object.entries(e))i[a]=Te(c,t,n,r,o,s);return i}return e}function Ce(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 Ne(e,t,n){const r=new Map,o=new Set,s=[],i=t=>{if(r.has(t))return r.get(t);const a=e.flows[t];if(a){if(o.has(t))throw new xe("FLOW_CYCLE",[...s,t]);o.add(t),s.push(t);try{const o=je(e.variables,a.variables),s=Te(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=je(e.variables,t.variables),i=Te(e.contract,o,n,void 0,r);s=U(i)}if(o.config){const i=je(e.variables,t.variables);o.config=Te(o.config,i,n,s,r)}const i=(o,i)=>{for(const a of Object.values(o??{}))Fe(a,i,je(e.variables,t.variables,a.variables),n,s,r)};if(i(o.sources,"Source"),i(o.destinations,"Destination"),i(o.stores,"Store"),i(o.transformers,"Transformer"),o.collector){const i=je(e.variables,t.variables),a=Te(o.collector,i,n,s,r);o.collector=a}return o}(e,c,n,i)}finally{o.delete(t),s.pop()}}function Fe(e,t,n,r,o,s){e.config=Te(e.config,n,r,o,s),e.env=Te(e.env,n,r,o,s);for(const n of Object.keys(e)){const r=we(t,n);void 0!==r&&"docs"!==r||Reflect.deleteProperty(e,n)}}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 De={merge:!0,shallow:!0,extend:!0};function ze(e,t={},n={}){n={...De,...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 Ve(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]=Ve(e[r],t));return n}if("[object Array]"===n){const n=[];return t.set(e,n),e.forEach(e=>{n.push(Ve(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 Ue(e,t="",n){const r=t.split(".");let o=e;for(let e=0;e<r.length;e++){const t=r[e];if("*"===t&&oe(o)){const t=r.slice(e+1).join("."),s=[];for(const e of o){const r=Ue(e,t,n);s.push(r)}return s}if(o=pe(o)||oe(o)?o[t]:void 0,void 0===o)break}return ae(o)?o:n}function We(e,t,n,r){if(!pe(e))return e;const o=r?.mutable?e:Ve(e),s=t.split(".");let i=o;for(let e=0;e<s.length;e++){const t=s[e];if(e===s.length-1)void 0===n?delete i[t]:i[t]=n;else{if(!(t in i)||"object"!=typeof i[t]||null===i[t]){if(void 0===n)return o;i[t]={}}i=i[t]}}return o}function Be(e,t){if(!pe(e)&&!oe(e))return e;const n=Ve(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(oe(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(!pe(t)&&!oe(t))return n;o=t}}else if(s)delete o[t];else{const e=o[t];if(!pe(e)&&!oe(e))return n;o=e}}return n}var Ke={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 qe(e,t,n){if(pe(n))for(const[r,o]of Object.entries(n))void 0!==o&&qe(e,`${t}_${r}`,o);else e[t]=n}function Ze(e,t){const n={},r=t.includes("all")?Object.keys(Ke):t;for(const t of r){const r=Ke[t];if(!r)continue;const o=r(e);if(pe(o))for(const[e,r]of Object.entries(o)){if(void 0===r)continue;qe(n,`${t}_${e}`,"context"===t&&Array.isArray(r)?r[0]:r)}}return n}function He(e){if("true"===e)return!0;if("false"===e)return!1;const t=Number(e);return e==t&&""!==e?t:String(e)}function Je(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 Ge(e,t){const n={...e};return n.config=ze(e.config,t,{shallow:!0,merge:!0,extend:!0}),e.config.settings&&t.settings&&(n.config.settings=ze(e.config.settings,t.settings,{shallow:!0,merge:!0,extend:!0})),e.config.mapping&&t.mapping&&(n.config.mapping=ze(e.config.mapping,t.mapping,{shallow:!0,merge:!0,extend:!0})),n}function Ye(e,t){if(!pe(t))return e;for(const n of Object.keys(t)){const r=t[n];void 0!==r&&(pe(r)&&pe(e[n])?Ye(e[n],r):e[n]=r)}return e}var Xe="0123456789abcdefghijklmnopqrstuvwxyz";function Qe(e=6,t=Xe){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(!et(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 et(e){try{const t=globalThis.crypto;if(t&&"function"==typeof t.getRandomValues)return t.getRandomValues(e),!0}catch{}return!1}var tt="0123456789abcdef";function nt(e){let t=Qe(e,tt);for(;/^0+$/.test(t);)t=Qe(e,tt);return t}function rt(){return nt(16)}function ot(e={}){const t=e.timestamp||(new Date).setHours(0,13,37,0),n=ze({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||rt(),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 st(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 ot({...{"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 it(e){let t=8997,n=33826,r=40164,o=52210;for(let s=0;s<e.length;s++){t^=e.charCodeAt(s);const i=435*t;let a=435*n,c=435*r,u=435*o;c+=t<<8,u+=n<<8,a+=i>>>16,t=65535&i,c+=a>>>16,n=65535&a,o=u+(c>>>16)&65535,r=65535&c}const s=e=>e.toString(16).padStart(4,"0");return s(o)+s(r)+s(n)+s(t)}function at(e,t){const n=it(JSON.stringify([e,t]));return/^0+$/.test(n)?it(JSON.stringify([n,t])):n}function ct(){return nt(32)}var ut=/^(?<version>[0-9a-f]{2})-(?<trace>[0-9a-f]{32})-(?<span>[0-9a-f]{16})-[0-9a-f]{2}$/;function ft(e){if("string"!=typeof e)return;const t=ut.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 lt=[{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 pt(e,t={},n=[]){const r={};Object.entries(ze({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(lt.map(e=>e.param));return[...lt.map(e=>t.has(e.param)?{param:e.param,platform:t.get(e.param)}:e),...e.filter(e=>!n.has(e.param))]}(n):lt,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 dt(e,t){return"number"==typeof e?{wait:e}:e?{wait:e.wait??t,size:e.size,age:e.age}:{wait:t}}function mt(e,t=1e3,n=!1){const{wait:r,size:o,age:s}=dt(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 gt(e,t=1e3){const{wait:n}=dt(t,1e3);let r=null;return function(...t){if(null===r)return r=setTimeout(()=>{r=null},n),e(...t)}}function ht(e){return{message:e.message,name:e.name,stack:e.stack,cause:e.cause}}function vt(e,t){let n,r={};return e instanceof Error?(n=e.message,r.error=ht(e)):n=e,void 0!==t&&(t instanceof Error?r.error=ht(t):"object"==typeof t&&null!==t?(r={...r,...t},"error"in r&&r.error instanceof Error&&(r.error=ht(r.error))):r.value=t),{message:n,context:r}}var yt=(e,t,n,r)=>{const o=`${h[e]}${r.length>0?` [${r.join(":")}]`:""}`,s=Object.keys(n).length>0,i=0===e?console.error:1===e?console.warn:console.log;s?i(o,t,n):i(o,t)};function bt(e={}){return wt({level:void 0!==e.level?function(e){return"string"==typeof e?h[e]:e}(e.level):0,handler:e.handler,jsonHandler:e.jsonHandler,scope:[]})}function wt(e){const{level:t,handler:n,jsonHandler:r,scope:o}=e,s=(e,r,s)=>{if(e<=t){const t=vt(r,s);n?n(e,t.message,t.context,o,yt):yt(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=vt(e,t);throw n?n(0,r.message,r.context,o,yt):yt(0,r.message,r.context,o),new Error(r.message)},json:e=>{r?r(e):console.log(JSON.stringify(e,null,2))},scope:e=>wt({level:t,handler:n,jsonHandler:r,scope:[...o,e]})}}function kt(e){return se(e)||me(e)||le(e)||!ae(e)||oe(e)&&e.every(kt)||pe(e)&&Object.values(e).every(kt)}function $t(e){return se(e)||me(e)||le(e)?e:re(e)?$t(Array.from(e)):oe(e)?e.map(e=>$t(e)).filter(e=>void 0!==e):pe(e)?Object.entries(e).reduce((e,[t,n])=>{const r=$t(n);return void 0!==r&&(e[t]=r),e},{}):void 0}function Et(e){return kt(e)?e:void 0}function St(e,t,n){return function(...r){try{return e(...r)}catch(e){if(!t)return;return t(e)}finally{n?.()}}}function Ot(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 At=class e extends Error{constructor(t,n){super(t,n),this.name="FatalError",Object.setPrototypeOf(this,e.prototype)}};async function jt(e,t={},n){if(!n.collector)throw new Error("getMappingValue: context.collector is required");const r=n.consent||n.collector.consent,o=n.event??{},s={event:o,mapping:t,collector:n.collector,logger:n.collector.logger,consent:r},i=oe(t)?t:[t];for(const t of i){const r=await Ot(It,e=>{if(e instanceof At)throw e;n.collector.status.failed++,s.logger.error("mapping processing failed",{event:o,error:e})})(e,t,{...s,mapping:t});if(ae(r))return r}}async function It(e,t,n){return(oe(t)?t:[t]).reduce(async(t,r)=>{const o=await t;if(o)return o;const s=me(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 Ot(i,e=>{if(e instanceof At)throw e;return g.logger.error("mapping condition failed",{event:g.event,error:e}),!1})(e,g))return;if(a&&!Je(a,g.consent))return m;let h=ae(m)?m:e;if(f){const[t,n]=f,r="this"===t?[e]:await jt(e,t,g);h=oe(r)?(await Promise.all(r.map(e=>ae(e)?jt(e,n,g):void 0))).filter(ae):void 0}else l?h=await Object.entries(l).reduce(async(t,[n,r])=>{const o=await t,s=await jt(e,r,g);return ae(s)&&(o[n]=s),o},Promise.resolve({})):p?h=await Promise.all(p.map(t=>It(e,t,g))):u?h=Ue(e,u,m):c&&(h=await Ot(c,e=>{if(e instanceof At)throw e;g.logger.error("mapping fn failed",{event:g.event,error:e})})(e,g));d&&!await Ot(d,e=>{if(e instanceof At)throw e;return g.logger.error("mapping validate failed",{event:g.event,error:e}),!1})(h,g)&&(h=void 0);const v=Et(h);return ae(v)?v:Et(m)},Promise.resolve(void 0))}async function xt(e,t,n){const[r,o]=(e.name||"").split(" ");if(!t||!r||!o)return{};let s,i="",a=r,c=o;const u=(t,r)=>{if(t instanceof At||!n)throw t;return n.logger.error("mapping rule condition failed",{event:e,mappingKey:r,error:t}),!1},f=(t,r)=>{const{condition:o}=t;if(!o)return!0;let s;try{s=o(e,n?{event:e,mapping:t,collector:n,logger:n.logger,consent:pe(e)&&e.consent||n.consent}:void 0)}catch(e){return u(e,r)}return fe(s)?Promise.resolve(s).then(Boolean,e=>u(e,r)):Boolean(s)},l=(e,t,n=0)=>{if(!t)return;const r=oe(t)?t:[t];for(let t=n;t<r.length;t++){const n=r[t],o=f(n,e);if("boolean"!=typeof o)return p(o,n,e,r,t);if(o)return n}},p=async(e,t,n,r,o)=>await e?t:l(n,r,o+1);t[a]||(a="*");const d=t[a];if(d){d[c]||(c="*");const e=l(`${a} ${c}`,d[c]);s=fe(e)?await e:e}if(!(s||d&&"*"===a&&"*"===c)){a="*",c="*";const e=l("* *",t[a]?.[c]);s=fe(e)?await e:e}return s&&(i=`${a} ${c}`),{eventMapping:s,mappingKey:i}}async function _t(e,t={},n){if(!ae(e))return;const r=pe(e)&&e.consent||n?.consent||n?.collector?.consent,o=n?.event??(pe(e)?e:{});return jt(e,t,{...n,consent:r,event:o})}async function Mt(e,t,n){t.policy&&await Promise.all(Object.entries(t.policy).map(async([t,r])=>{const o=await _t(e,r,{collector:n,event:e});e=We(e,t,o)}));const{eventMapping:r,mappingKey:o}=await xt(e,t.mapping,n);r?.policy&&await Promise.all(Object.entries(r.policy).map(async([t,r])=>{const o=await _t(e,r,{collector:n,event:e});e=We(e,t,o)}));let s=t.data&&await _t(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 _t(e,r.data,{collector:n,event:e});s=pe(s)&&pe(t)?ze(s,t):t}}const a=r?.include??t.include;if(a&&a.length>0){const t=Ze(e,a);Object.keys(t).length>0&&(s=pe(s)?ze(t,s):s??t)}if(r?.remove&&pe(s))for(const e of r.remove)s=Be(s,e);return{event:e,data:s,mapping:r,mappingKey:o,ignore:!1,silent:i}}function Rt(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];pe(r)&&pe(o)?Rt(o,r):e[n]=r}return e}function Pt(e,t){if(void 0===t.extend&&void 0===t.remove)return Ve(t);const n={...Ve(e)};if(t.extend){Rt(n,{...t.extend})}return delete n.extend,t.remove?n.remove=[...t.remove]:delete n.remove,n}function Tt(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 Ct(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 Nt(){const e=[],t=jest.fn(e=>{const t=e instanceof Error?e.message:e;throw new Error(t)}),n=jest.fn(t=>{const n=Nt();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 Ft(e={}){return{collector:{},config:{},env:{},logger:Nt(),id:"test",ingest:T("test"),...e}}function Lt(e){const t=String(e),n=t.split("?")[1]||t;return St(()=>{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(oe(o)){const i=parseInt(t,10);s?o[i]=He(e):(o[i]=o[i]||(isNaN(parseInt(r[n+1],10))?{}:[]),o=o[i])}else pe(o)&&(s?o[t]=He(e):(o[t]=o[t]||(isNaN(parseInt(r[n+1],10))?{}:[]),o=o[t]))})}),t})()}function Dt(e){if(!e)return"";const t=[],n=encodeURIComponent;function r(e,o){null!=o&&(oe(o)?o.forEach((t,n)=>r(`${e}[${n}]`,t)):pe(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 zt(e){return void 0===e||de(e,"")?e:JSON.stringify(e)}function Vt(e={}){return ze({"Content-Type":"application/json; charset=utf-8"},e)}function Ut(e,t){return!1===e||void 0===e?null:!0===e?t:{...t,...e}}function Wt(e){return e?e.trim().replace(/^'|'$/g,"").trim():""}var Bt=class e extends Error{constructor(t){super(t),this.name="InvalidEventError",Object.setPrototypeOf(this,e.prototype)}};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 qt(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 Zt(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&&!qt(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 Ht(e,t){return qt(e,t)}function Jt(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 Gt=/^[A-Za-z0-9_-]+$/;function Yt(e){if(!Gt.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 Xt(e){const t=new Uint8Array(e.length);for(let n=0;n<e.length;n++)t[n]=e.charCodeAt(n);return t}function Qt(e){const t=Yt(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 en(e){return"object"==typeof e&&null!==e&&!Array.isArray(e)}function tn(e){if(!e)return null;const t=e.split("."),[n,r,o]=t;if(3!==t.length||!n||!r||!o)return null;const s=Qt(n);if(!en(s))return null;const i=s.kid,a=s.alg;if("string"!=typeof i||"ES256"!==a)return null;const c=Qt(r);if(!function(e){if(!en(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&&Gt.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=Yt(o);return u&&64===u.byteLength?{grant:c,kid:i,signed:Xt(`${n}.${r}`),signature:u}:null}var nn=9e5,rn=6e4,on=39e5;async function sn(e,t){const n=tn(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+rn)return{ok:!1,reason:"expired"};if(1e3*r.sxp-1e3*r.iat>on)return{ok:!1,reason:"expired"};const a="url"===t.source?Math.min(1e3*r.iat+nn,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 Yt(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 an="elbPreview",cn="elbPreviewSession",un="elbObserve",fn="[walkerOS:preview]",ln=5e3,pn=globalThis;function dn(e){let t=null;return{get(){try{return pn.window?.localStorage.getItem(e)??t}catch{return t}},set(n){try{pn.window?.localStorage.setItem(e,n)}catch{t=n}},clear(){t=null;try{pn.window?.localStorage.removeItem(e)}catch{}}}}function mn(){const e=pn.window,t=pn.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 gn(e){const t=pn.window;if(!t||!pn.document)return!1;const n=dn(an),r=dn(cn),o=dn(un),s=e.now??(()=>Date.now()),i=e=>pn.console?.warn(`${fn} ${e}`);let a=null,c=null,u=null;const f=pn.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(),mn(),!1;const l=n.get();if(!a&&!l)return!1;const p=(n,r)=>sn(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),mn()}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=pn.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&&pn.clearTimeout?.(s),!e&&o.parentNode&&o.parentNode.removeChild(o),n(e))};s=pn.setTimeout?.(()=>a(!1),ln),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?(pn.console?.info(`${fn} active ${d.art} ends ${new Date(1e3*d.sxp).toISOString()}`),!0):(i("swap-failed"),n.clear(),r.clear(),o.clear(),!1)}var hn=15e3,vn={error:5,skip:4,out:3,in:2,init:1,flush:0},yn="\0none",bn="\0";function wn(e,t){return`${e??yn}${bn}${t}`}function kn(e){const t=Date.parse(e);return Number.isNaN(t)?0:t}function $n(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 En(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 Sn(e,t,n){const r=En(e,t),o=En(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 An(e){switch(e){case"error":return"error";case"skip":return"skipped";case"out":return"done";case"in":case"init":case"flush":return"pending"}}function jn(e){return"out"===e.terminalPhase||"error"===e.terminalPhase||"skip"===e.terminalPhase||!0===e.batched}function In(e){return"done"===e.status&&("transformer"!==e.stepType||null!==e.out&&void 0!==e.out)}function xn(e,t,n,r){const o=n.get(wn(e.node.platform,t));if(void 0!==o)return o;const s=r.get(t);return void 0!==s&&1===s.length?s[0]:void 0}function _n(e){const t=new Map,n=new Map;e.nodes.forEach((e,r)=>{const o={node:e,rank:r,key:wn(e.platform,e.stepId)};t.has(o.key)||t.set(o.key,o);const s=n.get(e.stepId);s?s.push(o):n.set(e.stepId,[o])});const r=new Map,o=new Set;for(const e of t.values()){const s=[];for(const r of e.node.downstream){const i=xn(e,r,t,n);void 0!==i&&(s.push(i),o.add(i.key))}r.set(e.key,s)}const s=[];for(const e of t.values())o.has(e.key)||s.push(e);return s.sort((e,t)=>e.rank-t.rank),{byKey:t,byStepId:n,edges:r,roots:s}}function Mn(e,t,n){const r=e.byKey.get(wn(n,t));if(void 0!==r)return r;const o=e.byKey.get(wn(void 0,t));if(void 0!==o)return o;const s=e.byStepId.get(t);return void 0!==s&&1===s.length?s[0]:void 0}function Rn(e,t,n,r,o,s){return s-n<o?"pending":void 0!==r?function(e,t,n){const r=t=>e.find(e=>e.stepId===t.node.stepId&&(void 0===t.node.platform||e.platform===t.node.platform)),o=n.roots.filter(e=>void 0===e.node.platform||t.includes(e.node.platform));if(0===o.length)return e.every(jn)?"complete":"partial";const s=new Map,i=o;for(;i.length>0;){const e=i.shift();if(void 0===e)break;if(s.has(e.key))continue;s.set(e.key,e);const t=r(e);if(void 0!==t&&In(t)){const t=n.edges.get(e.key);if(void 0!==t)for(const e of t)s.has(e.key)||i.push(e)}}for(const e of s.values()){const t=r(e);if(void 0===t||!jn(t))return"partial"}return"complete"}(e,t,r):e.every(jn)?"complete":"partial"}function Pn(e){let t=e[0];for(const n of e)n.elapsedMs<t.elapsedMs&&(t=n);const n=[],r=new Map;let o=!1;for(const t of e)if("flush"!==t.phase){if(void 0!==t.branchId){const e=r.get(t.branchId);e?e.push(t):r.set(t.branchId,[t]);continue}n.push(t)}else o=!0;const s=[...r.values()].flat(),i=n.length>0?n:s.length>0?s:e;let a,c,u,f,l,p,d,m,g,h,v=i[0],y=i[0];for(const e of i)e.elapsedMs<v.elapsedMs&&(v=e),vn[e.phase]>vn[y.phase]&&(y=e),"out"===e.phase&&(a=e),void 0!==e.inEvent&&void 0===c&&(c=e.inEvent),void 0!==e.outEvent&&(u=e.outEvent),void 0!==e.mappingKey&&(f=e.mappingKey),void 0!==e.contractRule&&(l=e.contractRule),void 0!==e.consent&&(p=e.consent),void 0!==e.consentApplied&&(d=e.consentApplied),void 0!==e.meta&&(m=e.meta),void 0!==e.parentEventId&&void 0===g&&(g=e.parentEventId),void 0!==e.release&&(h=e.release);const b=y.phase,w=a?.durationMs,k="error"===b?y.error:void 0,$="skip"===b?y.skipReason:void 0,E=a?.calls,S="out"===y.phase&&void 0!==y.batch||void 0,O=!(!o||!0!==S)||void 0,A=r.size>0?[...r.entries()].sort(([e],[t])=>e<t?-1:e>t?1:0).map(([e,t])=>function(e,t){let n,r,o=t[0];for(const e of t)vn[e.phase]>vn[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:An(s),terminalPhase:s,...void 0!==i?{durationMs:i}:{},...void 0!==a?{skipReason:a}:{},...void 0!==c?{error:c}:{},...void 0!==r?{out:r}:{},...void 0!==u?{calls:u}:{}}}(e,t)):void 0;return{stepId:v.stepId,stepType:v.stepType,eventId:v.eventId,status:An(b),terminalPhase:b,startedAtMs:t.elapsedMs,timestamp:t.timestamp,...void 0!==v.platform?{platform:v.platform}:{},...void 0!==g?{parentEventId:g}:{},...void 0!==w?{durationMs:w}:{},...void 0!==c?{in:c}:{},...void 0!==u?{out:u}:{},...void 0!==k?{error:k}:{},...void 0!==$?{skipReason:$}:{},...void 0!==f?{mappingKey:f}:{},...void 0!==l?{contractRule:l}:{},...void 0!==p?{consent:p}:{},...void 0!==d?{consentApplied:d}:{},...void 0!==E?{calls:E}:{},...void 0!==A?{branches:A}:{},...void 0!==S?{batched:S}:{},...void 0!==O?{flushConfirmed:O}:{},...void 0!==h?{release:h}:{},...void 0!==m?{meta:m}:{}}}function Tn(e,t){const n=e.map(e=>({hop:e,rank:void 0!==t?Mn(t,e.stepId,e.platform)?.rank??Number.MAX_SAFE_INTEGER:0}));return n.sort((e,t)=>e.rank!==t.rank?e.rank-t.rank:e.hop.startedAtMs!==t.hop.startedAtMs?e.hop.startedAtMs-t.hop.startedAtMs:e.hop.stepId<t.hop.stepId?-1:e.hop.stepId>t.hop.stepId?1:0),n.map(e=>e.hop)}function Cn(e){const t=e.filter(e=>"collector"===e.stepType&&"in"===e.phase),n=t.length>0?t:e;let r=n[0],o=kn(r.timestamp);for(const e of n){const t=kn(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 Nn(e,t,n,r,o){const{topo:s}=o,i=new Map;for(const e of n){const t=wn(e.platform,e.stepId),n=i.get(t);n?n.push(e):i.set(t,[e])}const a=[...i.values()].map(Pn),c=new Map;for(const e of a){const t=e.platform??yn;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,kn(e.timestamp))}const u=function(e){const t=new Map,n=e.map((e,t)=>t).sort((t,n)=>{const r=e[t].platform??yn,o=e[n].platform??yn;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??yn,r=t.seg.platform??yn;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 Tn(e.hops,s))f.push(t)}let p=Number.POSITIVE_INFINITY,d=Number.NEGATIVE_INFINITY;for(const e of n){const t=kn(e.timestamp);t<p&&(p=t),t>d&&(d=t)}const m=Rn(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:Cn(r),hops:f,platforms:l,status:m,lossy:g,firstTimestamp:p,lastTimestamp:d,totalMs:d-p}}function Fn(e,t){const n={...void 0!==t?.topology?{topo:_n(t.topology)}:{},settleMs:t?.settleMs??hn,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${bn}${r.platform??""}${bn}${r.traceId}${bn}${r.seq}`:void 0!==r.seq?`seqt${bn}${r.platform??""}${bn}${r.stepId}${bn}${r.phase}${bn}${r.eventId}${bn}${r.branchId??""}${bn}${r.elapsedMs}${bn}${r.timestamp}${bn}${r.seq}`:`tuple${bn}${r.platform??""}${bn}${r.stepId}${bn}${r.phase}${bn}${r.eventId}${bn}${r.branchId??""}${bn}${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??yn,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=kn(e.timestamp),r=kn(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:kn(s.timestamp),toMs:kn(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=$n(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 vn[e.phase]-vn[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)Sn(u,n,e);const f=new Map;for(const e of o){const t=En(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=On(o)??On(r);return Nn(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??yn,r=kn(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 Ln=null;function Dn(){return Ln}function zn(e){Ln=e}function Vn(e,t){if(0===e.observers.size)return;const n=Array.from(e.observers);for(const e of n)try{e(t)}catch{}}function Un(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 Wn(e){return e?{userAgent:e,browser:Bn(e),browserVersion:Kn(e),os:qn(e),osVersion:Zn(e),deviceType:Hn(e)}:{}}function Bn(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 qn(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 Zn(e){const t=e.match(/(?:Windows NT|Mac OS X|Android|iPhone OS) ([0-9._]+)/);return t?t[1].replace(/_/g,"."):void 0}function Hn(e){let t="Desktop";return/Tablet|iPad/i.test(e)?t="Tablet":/Mobi|Android|iPhone|iPod|BlackBerry|Opera Mini|IEMobile|WPDesktop/i.test(e)&&(t="Mobile"),t}var Jn=["elb","elbLayer","window","document","location","self","top","parent","frames","globalThis","__proto__","constructor","prototype"],Gn=/^[A-Za-z_$][A-Za-z0-9_$]*$/;function Yn(e){return"string"!=typeof e?{ok:!1,reason:"is not a string"}:Gn.test(e)?Jn.includes(e)?{ok:!1,reason:`is reserved (${Jn.join(", ")})`}:{ok:!0,name:e}:{ok:!1,reason:"is not a JavaScript identifier (letters, digits, _ or $, not starting with a digit)"}}function Xn(e){return function(e){return/\breturn\b/.test(e)}(e)?e:`return ${e}`}function Qn(e){const t=Xn(e);return new Function("value","context",t)}function er(e){const t=Xn(e);return new Function("value","context",t)}function tr(e){const t=Xn(e);return new Function("value","context",t)}function nr(){let e=0,t=0;return{start(){e=Date.now(),t=0},end:()=>(t=Date.now(),t-e),getElapsed:()=>(t||Date.now())-e,format(){return(this.getElapsed()/1e3).toFixed(2)+"s"}}}function rr(e){return e instanceof Error?e.message:String(e)}var or="https://cdn.jsdelivr.net/npm",sr="dist/walkerOS.json";function ir(e){return"string"==typeof e||Array.isArray(e)&&e.every(e=>"string"==typeof e)?e:void 0}async function ar(e,t){const n=t?.version||"latest",r=t?.timeout||1e4,o=new AbortController,s=setTimeout(()=>o.abort(),r),i=o.signal,a=t?.client?{"X-Walkeros-Client":t.client}:void 0;try{if(t?.baseUrl){const r=`${t.baseUrl}/api/packages/${encodeURIComponent(e)}?version=${encodeURIComponent(n)}&expand=all`,o=await fetch(r,{signal:i,...a&&{headers:a}});if(!o.ok)throw new Error(`Failed to fetch ${r} (HTTP ${o.status})`);return function(e,t,n){const r=n.schemas||{},o=n.examples||{},s=n.hints,i=n.hintKeys??(s?Object.keys(s):[]),a=n.exampleSummaries??[],c=n.platform,u=n.exportExamples,f=n.exportSchemas,l=n.exports;return{packageName:n.package||e,version:"string"==typeof n.version?n.version:t,...void 0!==n.description&&{description:n.description},...void 0!==n.type&&{type:n.type},...void 0!==c&&{platform:c},schemas:r,examples:o,...void 0!==n.docs&&{docs:n.docs},...void 0!==n.source&&{source:n.source},...s&&Object.keys(s).length>0?{hints:s}:{},hintKeys:i,exampleSummaries:a,...cr(u)?{exportExamples:u}:{},...ur(f)?{exportSchemas:f}:{},...fr(l)?{exports:l}:{}}}(e,n,await o.json())}const r=`${or}/${e}@${n}`,o=await lr(`${r}/package.json`,i,a);return function(e,t,n,r){const o=r.$meta||{},s=r.schemas||{},i=r.examples||{},a=r.hints,c=a?Object.keys(a):[],u=r.exportExamples,f=r.exportSchemas,l=o.exports,p=[],d=i.step||{};for(const[e,t]of Object.entries(d)){const n=t,r={name:e};"string"==typeof n?.description&&(r.description=n.description),p.push(r)}const m="string"==typeof o.docs?o.docs:void 0,g="string"==typeof o.source?o.source:void 0;return{packageName:e,version:"string"==typeof n.version?n.version:t,description:"string"==typeof n.description?n.description:void 0,type:"string"==typeof o.type?o.type:void 0,platform:ir(o.platform),schemas:s,examples:i,...m?{docs:m}:{},...g?{source:g}:{},...a&&Object.keys(a).length>0?{hints:a}:{},hintKeys:c,exampleSummaries:p,...cr(u)?{exportExamples:u}:{},...ur(f)?{exportSchemas:f}:{},...fr(l)?{exports:l}:{}}}(e,n,o,await lr(`${r}/${sr}`,i,a))}finally{clearTimeout(s)}}function cr(e){return null!==e&&"object"==typeof e&&!Array.isArray(e)}function ur(e){return cr(e)&&Object.values(e).every(cr)}function fr(e){return cr(e)&&Object.values(e).every(e=>"string"==typeof e)}async function lr(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 pr(e,t){const n=await ar(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 dr="observe";function mr(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 gr="call:";function hr(e){const t=(e.startsWith(gr)?e.slice(gr.length):e).split(".");return t.some(e=>""===e)?[]:t}function vr(e){return"function"==typeof e}function yr(e){return"object"==typeof e&&null!==e}var br=["name","length","prototype","arguments","caller"];function wr(e,t){if(-1!==br.indexOf(t))return!1;let n=e;for(;vr(n);){if(Object.prototype.hasOwnProperty.call(n,t))return!0;const e=Object.getPrototypeOf(n);if(!vr(e)||!vr(Object.getPrototypeOf(e)))return!1;n=e}return!1}function kr(e,t){const n=Reflect.getOwnPropertyDescriptor(e,t);return!(n&&!n.configurable)||"value"in n&&!0===n.writable}function $r(e,t){let n=e;for(const e of t){if(vr(n)){if(!wr(n,e))return!0;if(!kr(n,e))return!1}else if(fe(n)){if(!(e in n))return!0}else if(!yr(n)||!(e in n))return!1;n=Reflect.get(n,e)}return vr(n)}function Er(e,t,n){const r=[],o=[],s=[];for(const n of t){const t=hr(n);if(0===t.length)continue;const r=t.join(".");s.push({rest:t,fn:r}),$r(e,t)||o.push(r)}const i=new WeakMap,a=new WeakSet;function c(e,t){for(const o of e)if(n)try{n(o,t)}catch{}else r.push({fn:o,args:t,ts:Date.now()})}function u(e,t){return 0===t.length||f(e)?e:fe(e)&&!t.some(t=>t.rest[0]in e)?Promise.resolve(e).then(e=>u(e,t)):vr(e)?h(e,[],t):yr(e)?p(e,t):e}function f(e){return(yr(e)||vr(e))&&a.has(e)}function l(e,t){const n=[],r=[];for(const o of e)o.rest[0]===t&&(1===o.rest.length?n.includes(o.fn)||n.push(o.fn):r.push({rest:o.rest.slice(1),fn:o.fn}));return{leafs:n,deeper:r}}function p(e,t){const n=function(e){return e.map(e=>`${e.fn}:${e.rest.join(".")}`).join("|")}(t),r=i.get(e)??new Map;i.set(e,r);const o=r.get(n);if(o)return o;const s=d(e,t);return r.set(n,s),s}function d(e,t){if(vr(e))return m(e,t);return t.some(t=>!kr(e,t.rest[0]))?function(e,t){const n=Object.create(Object.getPrototypeOf(e)),r=g(e,t,()=>o),o=new Proxy(n,{get:(e,t)=>r.get(t),set:(t,n,r)=>Reflect.set(e,n,r,e),has:(t,n)=>Reflect.has(e,n),ownKeys:()=>Reflect.ownKeys(e),getOwnPropertyDescriptor(t,n){const r=Reflect.getOwnPropertyDescriptor(e,n);return r&&{...r,configurable:!0}},defineProperty:(t,n,r)=>Reflect.defineProperty(e,n,r),deleteProperty:(t,n)=>Reflect.deleteProperty(e,n)});return a.add(o),o}(e,t):m(e,t)}function m(e,t){const n=g(e,t,()=>r),r=new Proxy(e,{get:(e,t)=>"string"!=typeof t||kr(e,t)?n.get(t):Reflect.get(e,t,e),set:(e,t,n)=>Reflect.set(e,t,n,e)});return a.add(r),r}function g(e,t,n){const r=new Map;return{get(o){const s=Reflect.get(e,o,e);if("string"!=typeof o)return s;if(!vr(s)&&!yr(s))return s;if(f(s))return s;const i=r.get(o);if(i&&i.value===s)return i.out;const{leafs:a,deeper:c}=l(t,o);if(!(a.length>0||c.length>0)&&(!vr(s)||function(e){if(Array.isArray(e))return!0;const t=Object.getPrototypeOf(e);return t===Object.prototype||null===t}(e)))return s;let u=s;return vr(s)?u=h(s,a,c,{proxy:n(),target:e}):c.length>0&&(u=p(s,c)),r.set(o,{value:s,out:u}),u}}}function h(e,t,n,r){const o=()=>n.filter(t=>!wr(e,t.rest[0])),s=new Map,i=new Proxy(e,{get(e,t){const r=Reflect.get(e,t,e);if("string"!=typeof t||!kr(e,t))return r;if(!wr(e,t))return r;const{leafs:o,deeper:a}=l(n,t);if(0===o.length&&0===a.length)return r;if(f(r))return r;const c=s.get(t);if(c&&c.value===r)return c.out;let u=r;return vr(r)?u=h(r,o,a,{proxy:i,target:e}):yr(r)&&a.length>0&&(u=p(r,a)),s.set(t,{value:r,out:u}),u},set:(e,t,n)=>Reflect.set(e,t,n,e),apply(e,n,s){c(t,s);const i=!r||n!==r.proxy&&void 0!==n?n:r.target;return u(Reflect.apply(e,i,s),o())},construct(e,n,r){c(t,n);const s=Reflect.construct(e,n,r===i?e:r),a=u(s,o());return yr(a)||vr(a)?a:s}});return a.add(i),i}return{env:d(e,s),calls:r,unresolved:o}}var Sr="obsw_";function Or(e){if(!e.startsWith(Sr))return null;const t=e.slice(Sr.length).split("."),[n,r,o]=t;return 3===t.length&&n&&r&&o?{pb:n,ses:r,secret:o}:null}function Ar(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 jr(e,t){const n=function(e){return pe(e)?e:oe(e)?{items:e}:{value:e??null}}(e),r=t?{...n,_hints:t}:n;return{content:[{type:"text",text:JSON.stringify(r,null,2)}],structuredContent:r}}function Ir(e,t){let n,r,o,s;if(e instanceof Error){n=e.message;const t=e;t.code&&(o=t.code),Array.isArray(t.details)&&(s=t.details)}else if("string"==typeof e)n=e;else if(e&&"object"==typeof e&&"issues"in e&&Array.isArray(e.issues)){const t=e.issues;n=t.map(e=>e.message).join("; "),r=t[0]?.path?.join(".")||void 0}else n=e&&"object"==typeof e&&"message"in e?String(e.message):"Unknown error";const i={error:n};return t&&(i.hint=t),r&&(i.path=r),o&&(i.code=o),s&&(i.details=s),{content:[{type:"text",text:JSON.stringify(i)}],structuredContent:i,isError:!0}}function xr(e){let t=!1;return(n={})=>{t||(t=!0,e(n))}}function _r(e){const t=Object.create(null);if(!e||"object"!=typeof e||oe(e))return t;return"function"==typeof e.forEach?(e.forEach((e,n)=>{t[n.toLowerCase()]=e}),t):(Object.entries(e).forEach(([e,n])=>{void 0!==n&&(t[e.toLowerCase()]=oe(n)?n.join(", "):String(n))}),t)}function Mr(e){const t=Object.create(null);if(!e)return t;return new URLSearchParams(e.startsWith("?")?e.slice(1):e).forEach((e,n)=>{t[n]=n in t?`${t[n]},${e}`:e}),t}function Rr(e,t){if("string"!=typeof e)return e;let n=e;if(t){const t=globalThis.atob;if(!t)return e;try{const r=t(e),o=new Uint8Array(r.length);for(let e=0;e<r.length;e++)o[e]=r.charCodeAt(e);n=decodeURIComponent(Array.from(o,e=>`%${e.toString(16).padStart(2,"0")}`).join(""))}catch{return e}}try{return JSON.parse(n)}catch{return n===e?e:n}}function Pr(e){return pe(e)&&"string"==typeof e.method&&pe(e.headers)}function Tr(e,t){const n=_r(e.headers),r=e.originalUrl||e.url||"",o=r.indexOf("?"),s=-1===o?"":r.slice(o),i=e.path||(-1===o?r:r.slice(0,o)),a=("function"==typeof e.get?e.get("host"):void 0)||n.host,c=e.protocol||n["x-forwarded-proto"]||t.defaultProtocol,u={method:(e.method||"").toUpperCase(),url:a?`${c}://${a}${r}`:"",path:i,query:Mr(s),headers:n,body:t.body,raw:e};return e.ip&&(u.ip=e.ip),u}function Cr(e){return oe(e)?e:pe(e)?oe(e.batch)?e.batch:[e]:[{}]}function Nr(e){return!!oe(e)||pe(e)&&oe(e.batch)}function Fr(e){const t=e.flatMap((e,t)=>e.error?[{index:t,error:e.error}]:[]);return t.length?{status:207,body:{success:!1,processed:e.length-t.length,failed:t.length,errors:t}}:{status:200,body:{success:!0,processed:e.length,ids:e.map(e=>e.id??null)}}}function Lr(e){return!1===e?.ok?{error:e.error??(!0===e.invalid?"Invalid event":"Event was not processed")}:{id:e?.event?.id}}function Dr(e){if(void 0===e||"*"===e)return()=>!0;if("and"in e){const t=e.and.map(Dr);return e=>t.every(t=>t(e))}if("or"in e){const t=e.or.map(Dr);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=Ue(e,t),r=s(n);return o?!r:r}}(e)}function zr(e){return"object"==typeof e&&null!==e&&!Array.isArray(e)&&("match"in e||"next"in e||"one"in e||"many"in e||"stop"in e)}function Vr(e){return Array.isArray(e)&&e.length>0&&e.every(e=>zr(e))}function Ur(e){return"object"==typeof e&&!Array.isArray(e)&&"type"in e&&"continuation"===e.type}var Wr=()=>!0;function Br(e,t){return{kind:t?"sequence":"next",path:e}}function Kr(e,t){return t?{...e,outer:t}:e}function qr(e,t,n,r){return Kr(n?{kind:e,path:t,match:n}:{kind:e,path:t,catchAll:!0},r)}function Zr(e,t,n,r){return 0===e.length?{type:"chain",value:[],label:Kr({kind:n,path:t},r)}:{type:n,routes:Hr(e,t,n,r)}}function Hr(e,t,n,r){return e.map((e,o)=>{const s=[...t,o];if("string"==typeof e||Array.isArray(e)){const t=qr(n,s,void 0,r);return{match:Wr,next:Gr(e,s,t)??{type:"chain",value:[],label:t}}}const i=qr(n,s,e.match,r);return{match:e.match?Dr(e.match):Wr,source:e.match,next:Jr(e,s,i,!1,!0)??{type:"chain",value:[],label:i}}})}function Jr(e,t,n,r,o){const s=o?void 0:e.match,i=s?Kr({kind:"next",path:t,match:s},n):n??Br(t,r),a=s?i:n;let c;return!0===e.stop?c={type:"stop",label:i}:void 0!==e.one?c=Zr(e.one,[...t,"one"],"one",a):void 0!==e.many?c=Zr(e.many,[...t,"many"],"many",a):void 0!==e.next&&(c=Gr(e.next,[...t,"next"],a)),s?{type:"gate",match:Dr(s),source:s,next:c??{type:"chain",value:[],label:i}}:void 0===c&&e.match?{type:"chain",value:[],label:i}:c}function Gr(e,t=[],n,r=!1){if(null!=e){if("string"==typeof e)return{type:"static",value:e,label:n??Br(t,r)};if(Array.isArray(e)){if(0===e.length)return;if(Vr(e))return{type:"one",routes:Hr(e,t,"one",n)};const o=[];for(const t of e)"string"==typeof t&&o.push(t);if(o.length===e.length)return{type:"chain",value:o,label:n??Br(t,r)};const s=[];if(e.forEach((e,r)=>{const o=Gr(e,[...t,r],n,!0);void 0!==o&&s.push(o)}),0===s.length)return;return{type:"sequence",value:s}}return Jr(e,t,n,r,!1)}}var Yr=new WeakMap;function Xr(e,t,n){return n?{type:"continuation",segments:e,at:t,tail:n}:{type:"continuation",segments:e,at:t}}function Qr(e){if(null==e)return;if(Ur(e))return e;const t=function(e){if(null==e)return;if("object"!=typeof e)return Gr(e);const t=Yr.get(e);if(t)return t;const n=Gr(e);return n&&Yr.set(e,n),n}(e);return t?Xr([t],0,void 0):void 0}function eo(e,t,n){const r=[];let o=e;for(;o;){if(o.at>=o.segments.length){o=o.tail;continue}const e=o.segments[o.at],s=Xr(o.segments,o.at+1,o.tail);if("static"===e.type){r.push(e.value),n&&n(e),o=s;continue}if("chain"===e.type){r.push(...e.value),n&&n(e),o=s;continue}if("sequence"===e.type){o=Xr(e.value,0,s);continue}if(r.length>0)return{ids:r,then:o};if("stop"===e.type)return n&&n(e),{ids:[],stop:!0};if("gate"===e.type){o=t.gate(e)?Xr([e.next],0,s):s;continue}if("one"===e.type){const n=e.routes.length>0?t.one(e.routes):-1;o=n>=0?Xr([e.routes[n].next],0,s):s;continue}const i=e.routes.length>0?t.many(e.routes):[];if(0!==i.length){if(1!==i.length)return{ids:[],forks:i.map(t=>Xr([e.routes[t].next],0,s))};o=Xr([e.routes[i[0]].next],0,s)}else o=s}return{ids:r}}function to(e,t){return eo(Qr(e),function(e){return{gate:t=>t.match(e),one:t=>t.findIndex(t=>t.match(e)),many:t=>{const n=[];return t.forEach((t,r)=>{t.match(e)&&n.push(r)}),n}}}(t))}function no(e){return null==e?[]:[{route:e,ancestry:[]}]}function ro(e){return Array.isArray(e)&&e.every(e=>"object"==typeof e&&null!==e&&!Array.isArray(e)&&"ancestry"in e)}function oo(e,t,n){if(e.at>=e.ids.length)return{rest:t};const r=e.ids[e.at],o=e.at+1<e.ids.length?[{ids:e.ids,at:e.at+1,ancestry:e.ancestry},...t]:t;if(e.ancestry.includes(r))return{rest:o};const s=[...e.ancestry,r],i=n[r],a=i?i.config.next:void 0;return{id:r,ancestry:s,rest:void 0===a?o:[{route:a,ancestry:s},...o]}}function so(e,t,n){if(e.stop)return t.length>0?{kind:"stop",owner:t[t.length-1]}:{kind:"stop"};if(e.forks)return{kind:"fork",branches:e.forks.map(e=>[{route:e,ancestry:t},...n])};const r=[];return e.ids.length>0&&r.push({ids:e.ids,at:0,ancestry:t}),e.then&&r.push({route:e.then,ancestry:t}),{kind:"stack",stack:[...r,...n]}}function io(e,t,n){let r=e;for(;r.length>0;){const[e,...o]=r;if("ids"in e){const t=oo(e,o,n);if(void 0!==t.id)return{kind:"run",id:t.id,rest:t.rest,ancestry:t.ancestry};r=t.rest;continue}const s=so(to(e.route,t),e.ancestry,o);if("stack"!==s.kind)return s;r=s.stack}return{kind:"done"}}function ao(e,t={}){const n=[],r=new Map,o=new Set,s=new WeakMap,i=new WeakMap;let a=0;const c=e=>{let t=i.get(e);return void 0===t&&(t=++a,i.set(e,t)),t},u=e=>e.length>0?e[e.length-1]:void 0,f=(e,t,o,s,i)=>{const a=void 0===i,c=`${e??""}|${o}|${s??""}|${i??""}`,u=r.get(c);if(u)return u;const f={targets:[],kind:t.kind,path:t.path};return void 0!==e&&(f.from=e),t.match&&(f.match=t.match),t.catchAll&&(f.catchAll=!0),a&&(f.stop=!0),void 0!==s&&(f.owner=s),t.outer&&(f.via=function(e){const t=[];for(let n=e.outer;n;n=n.outer){const e={kind:n.kind,path:n.path};n.match&&(e.match=n.match),n.catchAll&&(e.catchAll=!0),t.unshift(e)}return t}(t)),r.set(c,f),n.push(f),f},l=e=>{const t=e.ancestry.join(",");if("ids"in e){const n=s.get(e.ids)??[];return`i${e.ids.join(",")}#${n.map(c).join(",")}@${e.at}/${t}`}const n=e.route;if("string"==typeof n)return`s${n}/${t}`;let r="",o=Qr(n);for(;o;)r+=`${c(o.segments)}@${o.at};`,o=o.tail;return`r${r}/${t}`},p=(e,n,r)=>{const i=`${n??""}|${r?`${c(r.node)}:${r.position}`:""}|${e.map(l).join("|")}`;if(o.has(i))return;if(o.add(i),0===e.length)return;const[a,...d]=e;if("ids"in a){const e=oo(a,d,t);if(void 0===e.id)return void p(e.rest,n,r);const o=(s.get(a.ids)??[])[a.at];if(!o)return;let i;if(r&&r.source===o&&r.node.targets[r.position]===n){const t=r.position+1;r.node.targets.length===t&&r.node.targets.push(e.id),i={node:r.node,source:o,position:t}}else{const t=f(n,o.label,c(o),u(a.ancestry),e.id);0===t.targets.length&&t.targets.push(e.id),i={node:t,source:o,position:0}}return void p(e.rest,e.id,i)}const m=u(a.ancestry);for(const e of function(e){const t=[],n=r=>{let o=0;const s=[],i=e=>{let t=0;return o<r.length?t=r[o]:s.push(e),o++,t},a=e=>e.some(e=>void 0===e.source),c=[],u=eo(e,{gate:()=>0===i(2),one:e=>{const t=e.map((e,t)=>t);return a(e)||t.push(-1),t[i(t.length)]},many:e=>{const t=e.map((e,t)=>t);return a(e)||0===i(2)?t:[]}},e=>c.push(e));t.push({steps:u,visited:c});for(let e=0;e<s.length;e++)for(let t=1;t<s[e];t++){const o=r.slice();for(let t=0;t<e;t++)o.push(0);o.push(t),n(o)}};return n([]),t}(Qr(a.route))){const{steps:t}=e,r=[];let o=n;for(const t of e.visited)if("stop"!==t.type)if("static"===t.type)r.push(t),o=t.value;else if(0===t.value.length)f(o,t.label,c(t),m,"");else{for(let e=0;e<t.value.length;e++)r.push(t);o=t.value[t.value.length-1]}else f(n,t.label,c(t),m,void 0);t.ids.length>0&&s.set(t.ids,r);const i=so(t,a.ancestry,d);if("stop"!==i.kind)if("fork"!==i.kind)p(i.stack,n,void 0);else for(const e of i.branches)p(e,n,void 0)}};return p(no(e),void 0,void 0),n}var co="__walkeros_cache_v__",uo="__walkeros_cache_exp__";function fo(e,t,n=Date.now){const r={[co]:e};return void 0!==t&&(r[uo]=n()+t),r}function lo(e,t=Date.now){if(void 0===e)return;if(null===(n=e)||"object"!=typeof n||Array.isArray(n)||!(co in e))return{value:e};var n;const r=e[uo];return"number"==typeof r&&t()>r?{expired:!0}:{value:e[co]}}var po="__walkeros_cache__",mo=class extends Error{constructor(e,t){super(e,t),this.name="StoreCodecError"}};function go(e){return null!==e&&"object"==typeof e&&!Array.isArray(e)}function ho(e){if(Buffer.isBuffer(e))return{[po]:"buffer",d:e.toString("base64")};if(e instanceof Uint8Array)return{[po]:"buffer",d:Buffer.from(e.buffer,e.byteOffset,e.byteLength).toString("base64")};if(e instanceof ArrayBuffer)return{[po]:"buffer",d:Buffer.from(e).toString("base64")};if(Array.isArray(e))return e.map(ho);if(go(e)){if(po in e){const t={};for(const[n,r]of Object.entries(e))t[n]=ho(r);return{[po]:"escape",d:t}}const t={};for(const[n,r]of Object.entries(e))t[n]=ho(r);return t}return e}function vo(e,t){if(go(e)){if(po in e){const n=e[po],r=e.d;if("buffer"===n&&"string"==typeof r)return t(Buffer.from(r,"base64"));if("escape"===n&&go(r)){const e={};for(const[n,o]of Object.entries(r))e[n]=vo(o,t);return e}}const n={};for(const[r,o]of Object.entries(e))n[r]=vo(o,t);return n}return Array.isArray(e)?e.map(e=>vo(e,t)):e}function yo(e){return new Uint8Array(e.buffer,e.byteOffset,e.byteLength)}function bo(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||bo(e)):!!go(e)&&Object.values(e).every(e=>void 0===e||bo(e)))}function wo(e){let t;try{t=JSON.stringify(ho(e))}catch(e){throw new mo("Failed to serialize store value (likely a cyclic structure).",{cause:e})}return new Uint8Array(Buffer.from(t,"utf8"))}function ko(e){const t="string"==typeof e?e:Buffer.from(e).toString("utf8"),n=vo(JSON.parse(t),yo);if(!bo(n))throw new mo("Restored value is not a valid StoreValue.");return n}function $o(e={},t){return void 0===t?{ingest:e}:{ingest:e,event:t}}function Eo(e){return{stop:e.stop??!1,storeId:e.store,namespace:e.namespace,rules:e.rules.map(e=>({match:e.match?Dr(e.match):()=>!0,key:e.key,ttl:e.ttl,update:e.update}))}}async function So(e,t,n,r){const o=e.rules.find(e=>e.match(n));if(!o)return null;const s=o.key.map(e=>String(Ue(n,e)??""));if(s.every(e=>""===e))return null;const i=s.join(":"),a=r??e.namespace,c=a?`${a}:${i}`:i,u=lo(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 Oo(e,t,n,r){if(!bo(n))return;const o=1e3*r,s=e.set(t,fo(n,o),o);fe(s)&&Promise.resolve(s).catch(()=>{})}async function Ao(e,t,n,r){if(!t)return e;let o=e;for(const[e,s]of Object.entries(t)){o=We(o,e,await _t(n,s,{collector:r}))}return o}function jo(e){return oe(e)?e:[e]}function Io(e){const t=/^(event|ingest)\.(.+)$/.exec(e);if(t)return{side:"event"===t[1]?"event":"ingest",path:t[2]}}function xo(e){if(!pe(e.consent))return;const t={};for(const[n,r]of Object.entries(e.consent))"boolean"==typeof r&&(t[n]=r);return t}function _o(e){return!ae(e)||(pe(e)?0===Object.keys(e).length:!!oe(e)&&!e.some(ae))}async function Mo(e,t,n,r,o){const s=o??{};let i=n;for(const n of e)await Ot(async()=>{const e=t(n.store);if(!e)return void r.logger?.error?.("[state] unknown store",{mode:n.mode,store:n.store});if(pe(e.config)&&!0===e.config.file)return void r.logger?.warn?.("[state] file stores are not supported by state, entry skipped",{mode:n.mode,store:n.store});const o=$o(s,i),a={collector:r,event:i,consent:xo(i)},c=await _t(o,n.key,a);if(!me(c))return void r.logger?.warn?.("[state] key did not resolve",{mode:n.mode,store:n.store,key:n.key});const u=n.store?c:`state:${c}`;if("set"===n.mode){const t=await _t(o,n.value,a);if(!ae(n.mapping)){if(!ae(t))return;return void await e.set(u,t)}const s=await jt(t,n.mapping,a);if(!ae(s)||_o(s))return;if(!pe(s))return void await e.set(u,s);const i=await e.get(u);return ae(i)&&!pe(i)&&r.logger?.warn?.("[state] stored value is not an object, replaced",{store:n.store}),void await e.set(u,pe(i)?Ye(Ve(i),s):s)}const f=me(l=n.value)?l:pe(l)&&me(l.key)?l.key:void 0;var l;if(!f)return;const p=Io(f);if(!p)return void r.logger?.warn?.("[state] get target needs an event. or ingest. prefix",{store:n.store,value:f});const d=await e.get(u);if(!ae(n.mapping)){if(!ae(d))return;return void("ingest"===p.side?We(s,p.path,d,{mutable:!0}):i=We(i,p.path,d))}ae(d)&&!kt(d)&&r.logger?.warn?.("[state] stored value has null or non-JSON values, mapping drops them",{store:n.store});const m=await jt(d,n.mapping,a);if(_o(m))return;const g="ingest"===p.side?Ue(s,p.path):Ue(i,p.path),h=pe(g)&&pe(m)?Ye(Ve(g),m):m;"ingest"===p.side?We(s,p.path,h,{mutable:!0}):i=We(i,p.path,h)},e=>{if(e instanceof At)throw e;r.logger?.error?.("[state] operation failed",e)})();return i}function Ro(e){return 0===e.length?"// no output":e.map(Po).join(";\n\n")}function Po(e){const[t,...n]=e,r=n.map(To).join(", ");return"return"===t?r?`return ${r}`:"return":`${t}(${r})`}function To(e){return void 0===e?"undefined":null===e?"null":"function"==typeof e?"[Function]":JSON.stringify(e,null,2)}//# sourceMappingURL=index.js.map
|