@walkeros/core 4.8.0 → 4.8.1-next-1792019907609

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 CHANGED
@@ -1,5 +1,15 @@
1
1
  # @walkeros/core
2
2
 
3
+ ## 4.8.1-next-1792019907609
4
+
5
+ ### Patch Changes
6
+
7
+ - 1062e99: walker.js and every web bundle the CLI builds now carry the Tag Mode
8
+ loader, `moin()` from `@walkeros/core`. It stays idle unless the walkerOS app
9
+ opens your page for Tag Mode (`?elbMoin`), then loads the Tag Mode script from
10
+ `cdn.walkeros.io`. Without that host in your CSP's `script-src`, it loads
11
+ nothing (a `'strict-dynamic'` policy admits it through walker.js's nonce).
12
+
3
13
  ## 4.8.0
4
14
 
5
15
  ### Minor Changes
package/dist/index.d.mts CHANGED
@@ -5147,6 +5147,25 @@ declare const OBSERVE_STORAGE_KEY = "elbObserve";
5147
5147
  */
5148
5148
  declare function browserSwapActivator(cfg: SwapActivatorConfig): Promise<boolean>;
5149
5149
 
5150
+ /** Where a Tag Mode script comes from and whose message may request it. */
5151
+ interface MoinTarget {
5152
+ /** The app origin whose message is trusted, compared with `===`. */
5153
+ app: string;
5154
+ /** The script base URL, ending in `/`. */
5155
+ base: string;
5156
+ }
5157
+ /** The link parameter that arms the loader; its value is ignored. */
5158
+ declare const MOIN_PARAM = "elbMoin";
5159
+ declare const MOIN_PRODUCTION: MoinTarget;
5160
+ /**
5161
+ * The Tag Mode loader. Armed only by `?elbMoin` or the tab flag it leaves in
5162
+ * sessionStorage, and only in the top frame; it then waits for one message
5163
+ * from `target.app` naming a script by its hash, and loads that script from
5164
+ * `target.base` with the same hash as its integrity. Not armed, it adds no
5165
+ * listener, makes no request and writes nothing.
5166
+ */
5167
+ declare function moin(target?: MoinTarget): void;
5168
+
5150
5169
  /**
5151
5170
  * Pure assembly of raw `FlowState` records into cross-runtime journeys, one per
5152
5171
  * EVENT. Records group by their `eventId`; a `traceId` is run-scoped and covers
@@ -6277,4 +6296,4 @@ declare const REF_CODE_PREFIX = "$code:";
6277
6296
  */
6278
6297
  declare function scanFlowRefs(value: unknown, into?: Set<string>): Set<string>;
6279
6298
 
6280
- export { type ActivationGrant, type AssembleJourneysOptions, type BatchResponse, type BatchedPosterOptions, type BreakerState, type BuildFlag, CLOCK_SKEW_MS, cache as Cache, type CacheEnvelope, type CacheResult, type ChainContinuation, type ChainFrame, type ChainStep, type ClickIdEntry, collector as Collector, type CompiledCache, Const, context as Context, type Credential, type Debounced, destination as Destination, type DestroyContext, type DestroyFn, type DroppedCounters, ENV_MARKER_PREFIX, elb as Elb, type EmitFn, type EventOutcome, type ExampleSummary, FatalError, Flow, type FlowConfigResolver, FlowCycleError, FlowReferenceError, type FlowState, type FlowStateBatch, type FlowStatePhase, type FlowStepType, type GetStore, hint as Hint, hooks as Hooks, type Ingest, type IngestEnvelope, type IngestMeta, InvalidEventError, type Journey, type JourneyAssembly, type JourneyBranch, type JourneyCorrelation, type JourneyEntry, type JourneyGap, type JourneyHop, type JourneyHopStatus, type JourneyPlatform, type JourneyStatus, type JourneyTopology, type JourneyTopologyNode, type JourneyUnattributed, type JsonSchema, Level, lifecycle as Lifecycle, type LifecycleContext, logger as Logger, MAX_SESSION_MS, mapping as Mapping, type MarketingParameters, matcher as Matcher, type MockLogger, type NextSteps, type NodeLikeRequest, OBSERVE_ENV_KEY, OBSERVE_STORAGE_KEY, type Observe, type ObserveCredential, type ObserveServer, type ObserveWeb, type ObservedEnv, type ObserverFn, on as On, type ParsedGrant, type ParsedTraceparent, type PosterFetch, type PosterResponse, type PreviewCrypto, type PreviewFailure, type PreviewKey, type PreviewSubtle, REF_CODE_PREFIX, REF_CONTRACT, REF_ENV, REF_FLOW, REF_SECRET, REF_STORE, REF_VAR_FULL, REF_VAR_INLINE, RESERVED_WINDOW_GLOBALS, request as Request, type ResolveContractsOptions, type ResolveOptions, type RespondFn, type RespondOptions, type RouteContinuation, type RouteDecision, type RouteGraphNode, type RouteLabel, SECRET_MARKER_PREFIX, SESSION_STORAGE_KEY, STEP_FIELD_ROLES, STEP_OPERATIVE_FIELDS, type ScheduleOptions, type SendDataValue, type SendHeaders, type SendResponse, type ServiceAccount, type SetupFn, simulation as Simulation, source as Source, type State, type StepEntryErrorCode, type StepEntryValidation, type StepField, type StepFieldRole, type StepKind, type StorageType, store as Store, StoreCodecError, type SwapActivatorConfig, type TelemetryLevel, type TelemetryOptions, type TelemetryOptionsSupplier, type Timer, transformer as Transformer, type TransformerMappingEntry, trigger as Trigger, URL_WINDOW_MS, type ValidateEvents, type VerifyParams, type VerifyResult, walkeros as WalkerOS, type WalkerOSPackage, type WalkerOSPackageInfo, type WalkerOSPackageMeta, type WindowCollectorCheck, advanceChain, anonymizeIP, applyState, applyUpdate, assembleJourneys, assign, batchResponse, branch, browserSwapActivator, buildScopeFromNodeRequest, castToProperty, castValue, checkCache, checkWindowCollector, clone, compileCache, compileMatcher, compileState, createBatchedPoster, createDestination, createEvent, createIngest, createLogger, createMappingRoot, createMockContext, createMockLogger, createRespond, createTelemetryObserver, createTimer, debounce, deepMerge, defaultClickIds, deleteByPath, deriveSpanId, deserializeStoreValue, emitStep, fetchPackage, fetchPackageSchema, filterValues, flattenIncludeSections, formatOut, getBrowser, getBrowserVersion, getByPath, getDeviceType, getErrorMessage, getEvent, getFlowSettings, getGrantedConsent, getHeaders, getId, getMappingEvent, getMappingValue, getMarketingParameters, getNextSteps, getOS, getOSVersion, getPlatform, getRouteGraph, getSpanId, getStepFieldRole, getStepRuntimeProps, getTraceId, getTraceUntil, getTransformerMapping, getTransformerMappingWarnings, isArguments, isArray, isBatchBody, isBoolean, isChainContinuation, isCommand, isDefined, isElementOrDocument, isEnvObserve, isFunction, isNumber, isObject, isPathStepEntry, isPropertyType, isRouteArray, isRouteConfigEntry, isRouteContinuation, isSameType, isSampled, isScope, isStoreValue, isString, isThenable, mcpError, mcpResult, mergeContractSchemas, mergeMappingRule, mockEnv, normalizeBody, normalizeHeaders, normalizeQuery, observeEnv, observeFromEnv, packageNameToVariable, parseCallPath, parseGrant, parseObserveCredential, parseTraceparent, parseUserAgent, processEventMapping, pushResultToOutcome, readCacheEnvelope, requestToData, requestToParameter, resolveContracts, resolveSetup, resolveTelemetryOptions, scanFlowRefs, serializeStoreValue, setByPath, setTraceUntil, startChain, stepId, storeCache, throttle, throwError, toEventList, transformData, traverseEnv, trim, tryCatch, tryCatchAsync, useHooks, validateStepEntry, verifyActivation, walkPath, wrapCacheEnvelope, wrapCondition, wrapFn, wrapValidate };
6299
+ export { type ActivationGrant, type AssembleJourneysOptions, type BatchResponse, type BatchedPosterOptions, type BreakerState, type BuildFlag, CLOCK_SKEW_MS, cache as Cache, type CacheEnvelope, type CacheResult, type ChainContinuation, type ChainFrame, type ChainStep, type ClickIdEntry, collector as Collector, type CompiledCache, Const, context as Context, type Credential, type Debounced, destination as Destination, type DestroyContext, type DestroyFn, type DroppedCounters, ENV_MARKER_PREFIX, elb as Elb, type EmitFn, type EventOutcome, type ExampleSummary, FatalError, Flow, type FlowConfigResolver, FlowCycleError, FlowReferenceError, type FlowState, type FlowStateBatch, type FlowStatePhase, type FlowStepType, type GetStore, hint as Hint, hooks as Hooks, type Ingest, type IngestEnvelope, type IngestMeta, InvalidEventError, type Journey, type JourneyAssembly, type JourneyBranch, type JourneyCorrelation, type JourneyEntry, type JourneyGap, type JourneyHop, type JourneyHopStatus, type JourneyPlatform, type JourneyStatus, type JourneyTopology, type JourneyTopologyNode, type JourneyUnattributed, type JsonSchema, Level, lifecycle as Lifecycle, type LifecycleContext, logger as Logger, MAX_SESSION_MS, MOIN_PARAM, MOIN_PRODUCTION, mapping as Mapping, type MarketingParameters, matcher as Matcher, type MockLogger, type MoinTarget, type NextSteps, type NodeLikeRequest, OBSERVE_ENV_KEY, OBSERVE_STORAGE_KEY, type Observe, type ObserveCredential, type ObserveServer, type ObserveWeb, type ObservedEnv, type ObserverFn, on as On, type ParsedGrant, type ParsedTraceparent, type PosterFetch, type PosterResponse, type PreviewCrypto, type PreviewFailure, type PreviewKey, type PreviewSubtle, REF_CODE_PREFIX, REF_CONTRACT, REF_ENV, REF_FLOW, REF_SECRET, REF_STORE, REF_VAR_FULL, REF_VAR_INLINE, RESERVED_WINDOW_GLOBALS, request as Request, type ResolveContractsOptions, type ResolveOptions, type RespondFn, type RespondOptions, type RouteContinuation, type RouteDecision, type RouteGraphNode, type RouteLabel, SECRET_MARKER_PREFIX, SESSION_STORAGE_KEY, STEP_FIELD_ROLES, STEP_OPERATIVE_FIELDS, type ScheduleOptions, type SendDataValue, type SendHeaders, type SendResponse, type ServiceAccount, type SetupFn, simulation as Simulation, source as Source, type State, type StepEntryErrorCode, type StepEntryValidation, type StepField, type StepFieldRole, type StepKind, type StorageType, store as Store, StoreCodecError, type SwapActivatorConfig, type TelemetryLevel, type TelemetryOptions, type TelemetryOptionsSupplier, type Timer, transformer as Transformer, type TransformerMappingEntry, trigger as Trigger, URL_WINDOW_MS, type ValidateEvents, type VerifyParams, type VerifyResult, walkeros as WalkerOS, type WalkerOSPackage, type WalkerOSPackageInfo, type WalkerOSPackageMeta, type WindowCollectorCheck, advanceChain, anonymizeIP, applyState, applyUpdate, assembleJourneys, assign, batchResponse, branch, browserSwapActivator, buildScopeFromNodeRequest, castToProperty, castValue, checkCache, checkWindowCollector, clone, compileCache, compileMatcher, compileState, createBatchedPoster, createDestination, createEvent, createIngest, createLogger, createMappingRoot, createMockContext, createMockLogger, createRespond, createTelemetryObserver, createTimer, debounce, deepMerge, defaultClickIds, deleteByPath, deriveSpanId, deserializeStoreValue, emitStep, fetchPackage, fetchPackageSchema, filterValues, flattenIncludeSections, formatOut, getBrowser, getBrowserVersion, getByPath, getDeviceType, getErrorMessage, getEvent, getFlowSettings, getGrantedConsent, getHeaders, getId, getMappingEvent, getMappingValue, getMarketingParameters, getNextSteps, getOS, getOSVersion, getPlatform, getRouteGraph, getSpanId, getStepFieldRole, getStepRuntimeProps, getTraceId, getTraceUntil, getTransformerMapping, getTransformerMappingWarnings, isArguments, isArray, isBatchBody, isBoolean, isChainContinuation, isCommand, isDefined, isElementOrDocument, isEnvObserve, isFunction, isNumber, isObject, isPathStepEntry, isPropertyType, isRouteArray, isRouteConfigEntry, isRouteContinuation, isSameType, isSampled, isScope, isStoreValue, isString, isThenable, mcpError, mcpResult, mergeContractSchemas, mergeMappingRule, mockEnv, moin, normalizeBody, normalizeHeaders, normalizeQuery, observeEnv, observeFromEnv, packageNameToVariable, parseCallPath, parseGrant, parseObserveCredential, parseTraceparent, parseUserAgent, processEventMapping, pushResultToOutcome, readCacheEnvelope, requestToData, requestToParameter, resolveContracts, resolveSetup, resolveTelemetryOptions, scanFlowRefs, serializeStoreValue, setByPath, setTraceUntil, startChain, stepId, storeCache, throttle, throwError, toEventList, transformData, traverseEnv, trim, tryCatch, tryCatchAsync, useHooks, validateStepEntry, verifyActivation, walkPath, wrapCacheEnvelope, wrapCondition, wrapFn, wrapValidate };
package/dist/index.d.ts CHANGED
@@ -5147,6 +5147,25 @@ declare const OBSERVE_STORAGE_KEY = "elbObserve";
5147
5147
  */
5148
5148
  declare function browserSwapActivator(cfg: SwapActivatorConfig): Promise<boolean>;
5149
5149
 
5150
+ /** Where a Tag Mode script comes from and whose message may request it. */
5151
+ interface MoinTarget {
5152
+ /** The app origin whose message is trusted, compared with `===`. */
5153
+ app: string;
5154
+ /** The script base URL, ending in `/`. */
5155
+ base: string;
5156
+ }
5157
+ /** The link parameter that arms the loader; its value is ignored. */
5158
+ declare const MOIN_PARAM = "elbMoin";
5159
+ declare const MOIN_PRODUCTION: MoinTarget;
5160
+ /**
5161
+ * The Tag Mode loader. Armed only by `?elbMoin` or the tab flag it leaves in
5162
+ * sessionStorage, and only in the top frame; it then waits for one message
5163
+ * from `target.app` naming a script by its hash, and loads that script from
5164
+ * `target.base` with the same hash as its integrity. Not armed, it adds no
5165
+ * listener, makes no request and writes nothing.
5166
+ */
5167
+ declare function moin(target?: MoinTarget): void;
5168
+
5150
5169
  /**
5151
5170
  * Pure assembly of raw `FlowState` records into cross-runtime journeys, one per
5152
5171
  * EVENT. Records group by their `eventId`; a `traceId` is run-scoped and covers
@@ -6277,4 +6296,4 @@ declare const REF_CODE_PREFIX = "$code:";
6277
6296
  */
6278
6297
  declare function scanFlowRefs(value: unknown, into?: Set<string>): Set<string>;
6279
6298
 
6280
- export { type ActivationGrant, type AssembleJourneysOptions, type BatchResponse, type BatchedPosterOptions, type BreakerState, type BuildFlag, CLOCK_SKEW_MS, cache as Cache, type CacheEnvelope, type CacheResult, type ChainContinuation, type ChainFrame, type ChainStep, type ClickIdEntry, collector as Collector, type CompiledCache, Const, context as Context, type Credential, type Debounced, destination as Destination, type DestroyContext, type DestroyFn, type DroppedCounters, ENV_MARKER_PREFIX, elb as Elb, type EmitFn, type EventOutcome, type ExampleSummary, FatalError, Flow, type FlowConfigResolver, FlowCycleError, FlowReferenceError, type FlowState, type FlowStateBatch, type FlowStatePhase, type FlowStepType, type GetStore, hint as Hint, hooks as Hooks, type Ingest, type IngestEnvelope, type IngestMeta, InvalidEventError, type Journey, type JourneyAssembly, type JourneyBranch, type JourneyCorrelation, type JourneyEntry, type JourneyGap, type JourneyHop, type JourneyHopStatus, type JourneyPlatform, type JourneyStatus, type JourneyTopology, type JourneyTopologyNode, type JourneyUnattributed, type JsonSchema, Level, lifecycle as Lifecycle, type LifecycleContext, logger as Logger, MAX_SESSION_MS, mapping as Mapping, type MarketingParameters, matcher as Matcher, type MockLogger, type NextSteps, type NodeLikeRequest, OBSERVE_ENV_KEY, OBSERVE_STORAGE_KEY, type Observe, type ObserveCredential, type ObserveServer, type ObserveWeb, type ObservedEnv, type ObserverFn, on as On, type ParsedGrant, type ParsedTraceparent, type PosterFetch, type PosterResponse, type PreviewCrypto, type PreviewFailure, type PreviewKey, type PreviewSubtle, REF_CODE_PREFIX, REF_CONTRACT, REF_ENV, REF_FLOW, REF_SECRET, REF_STORE, REF_VAR_FULL, REF_VAR_INLINE, RESERVED_WINDOW_GLOBALS, request as Request, type ResolveContractsOptions, type ResolveOptions, type RespondFn, type RespondOptions, type RouteContinuation, type RouteDecision, type RouteGraphNode, type RouteLabel, SECRET_MARKER_PREFIX, SESSION_STORAGE_KEY, STEP_FIELD_ROLES, STEP_OPERATIVE_FIELDS, type ScheduleOptions, type SendDataValue, type SendHeaders, type SendResponse, type ServiceAccount, type SetupFn, simulation as Simulation, source as Source, type State, type StepEntryErrorCode, type StepEntryValidation, type StepField, type StepFieldRole, type StepKind, type StorageType, store as Store, StoreCodecError, type SwapActivatorConfig, type TelemetryLevel, type TelemetryOptions, type TelemetryOptionsSupplier, type Timer, transformer as Transformer, type TransformerMappingEntry, trigger as Trigger, URL_WINDOW_MS, type ValidateEvents, type VerifyParams, type VerifyResult, walkeros as WalkerOS, type WalkerOSPackage, type WalkerOSPackageInfo, type WalkerOSPackageMeta, type WindowCollectorCheck, advanceChain, anonymizeIP, applyState, applyUpdate, assembleJourneys, assign, batchResponse, branch, browserSwapActivator, buildScopeFromNodeRequest, castToProperty, castValue, checkCache, checkWindowCollector, clone, compileCache, compileMatcher, compileState, createBatchedPoster, createDestination, createEvent, createIngest, createLogger, createMappingRoot, createMockContext, createMockLogger, createRespond, createTelemetryObserver, createTimer, debounce, deepMerge, defaultClickIds, deleteByPath, deriveSpanId, deserializeStoreValue, emitStep, fetchPackage, fetchPackageSchema, filterValues, flattenIncludeSections, formatOut, getBrowser, getBrowserVersion, getByPath, getDeviceType, getErrorMessage, getEvent, getFlowSettings, getGrantedConsent, getHeaders, getId, getMappingEvent, getMappingValue, getMarketingParameters, getNextSteps, getOS, getOSVersion, getPlatform, getRouteGraph, getSpanId, getStepFieldRole, getStepRuntimeProps, getTraceId, getTraceUntil, getTransformerMapping, getTransformerMappingWarnings, isArguments, isArray, isBatchBody, isBoolean, isChainContinuation, isCommand, isDefined, isElementOrDocument, isEnvObserve, isFunction, isNumber, isObject, isPathStepEntry, isPropertyType, isRouteArray, isRouteConfigEntry, isRouteContinuation, isSameType, isSampled, isScope, isStoreValue, isString, isThenable, mcpError, mcpResult, mergeContractSchemas, mergeMappingRule, mockEnv, normalizeBody, normalizeHeaders, normalizeQuery, observeEnv, observeFromEnv, packageNameToVariable, parseCallPath, parseGrant, parseObserveCredential, parseTraceparent, parseUserAgent, processEventMapping, pushResultToOutcome, readCacheEnvelope, requestToData, requestToParameter, resolveContracts, resolveSetup, resolveTelemetryOptions, scanFlowRefs, serializeStoreValue, setByPath, setTraceUntil, startChain, stepId, storeCache, throttle, throwError, toEventList, transformData, traverseEnv, trim, tryCatch, tryCatchAsync, useHooks, validateStepEntry, verifyActivation, walkPath, wrapCacheEnvelope, wrapCondition, wrapFn, wrapValidate };
6299
+ export { type ActivationGrant, type AssembleJourneysOptions, type BatchResponse, type BatchedPosterOptions, type BreakerState, type BuildFlag, CLOCK_SKEW_MS, cache as Cache, type CacheEnvelope, type CacheResult, type ChainContinuation, type ChainFrame, type ChainStep, type ClickIdEntry, collector as Collector, type CompiledCache, Const, context as Context, type Credential, type Debounced, destination as Destination, type DestroyContext, type DestroyFn, type DroppedCounters, ENV_MARKER_PREFIX, elb as Elb, type EmitFn, type EventOutcome, type ExampleSummary, FatalError, Flow, type FlowConfigResolver, FlowCycleError, FlowReferenceError, type FlowState, type FlowStateBatch, type FlowStatePhase, type FlowStepType, type GetStore, hint as Hint, hooks as Hooks, type Ingest, type IngestEnvelope, type IngestMeta, InvalidEventError, type Journey, type JourneyAssembly, type JourneyBranch, type JourneyCorrelation, type JourneyEntry, type JourneyGap, type JourneyHop, type JourneyHopStatus, type JourneyPlatform, type JourneyStatus, type JourneyTopology, type JourneyTopologyNode, type JourneyUnattributed, type JsonSchema, Level, lifecycle as Lifecycle, type LifecycleContext, logger as Logger, MAX_SESSION_MS, MOIN_PARAM, MOIN_PRODUCTION, mapping as Mapping, type MarketingParameters, matcher as Matcher, type MockLogger, type MoinTarget, type NextSteps, type NodeLikeRequest, OBSERVE_ENV_KEY, OBSERVE_STORAGE_KEY, type Observe, type ObserveCredential, type ObserveServer, type ObserveWeb, type ObservedEnv, type ObserverFn, on as On, type ParsedGrant, type ParsedTraceparent, type PosterFetch, type PosterResponse, type PreviewCrypto, type PreviewFailure, type PreviewKey, type PreviewSubtle, REF_CODE_PREFIX, REF_CONTRACT, REF_ENV, REF_FLOW, REF_SECRET, REF_STORE, REF_VAR_FULL, REF_VAR_INLINE, RESERVED_WINDOW_GLOBALS, request as Request, type ResolveContractsOptions, type ResolveOptions, type RespondFn, type RespondOptions, type RouteContinuation, type RouteDecision, type RouteGraphNode, type RouteLabel, SECRET_MARKER_PREFIX, SESSION_STORAGE_KEY, STEP_FIELD_ROLES, STEP_OPERATIVE_FIELDS, type ScheduleOptions, type SendDataValue, type SendHeaders, type SendResponse, type ServiceAccount, type SetupFn, simulation as Simulation, source as Source, type State, type StepEntryErrorCode, type StepEntryValidation, type StepField, type StepFieldRole, type StepKind, type StorageType, store as Store, StoreCodecError, type SwapActivatorConfig, type TelemetryLevel, type TelemetryOptions, type TelemetryOptionsSupplier, type Timer, transformer as Transformer, type TransformerMappingEntry, trigger as Trigger, URL_WINDOW_MS, type ValidateEvents, type VerifyParams, type VerifyResult, walkeros as WalkerOS, type WalkerOSPackage, type WalkerOSPackageInfo, type WalkerOSPackageMeta, type WindowCollectorCheck, advanceChain, anonymizeIP, applyState, applyUpdate, assembleJourneys, assign, batchResponse, branch, browserSwapActivator, buildScopeFromNodeRequest, castToProperty, castValue, checkCache, checkWindowCollector, clone, compileCache, compileMatcher, compileState, createBatchedPoster, createDestination, createEvent, createIngest, createLogger, createMappingRoot, createMockContext, createMockLogger, createRespond, createTelemetryObserver, createTimer, debounce, deepMerge, defaultClickIds, deleteByPath, deriveSpanId, deserializeStoreValue, emitStep, fetchPackage, fetchPackageSchema, filterValues, flattenIncludeSections, formatOut, getBrowser, getBrowserVersion, getByPath, getDeviceType, getErrorMessage, getEvent, getFlowSettings, getGrantedConsent, getHeaders, getId, getMappingEvent, getMappingValue, getMarketingParameters, getNextSteps, getOS, getOSVersion, getPlatform, getRouteGraph, getSpanId, getStepFieldRole, getStepRuntimeProps, getTraceId, getTraceUntil, getTransformerMapping, getTransformerMappingWarnings, isArguments, isArray, isBatchBody, isBoolean, isChainContinuation, isCommand, isDefined, isElementOrDocument, isEnvObserve, isFunction, isNumber, isObject, isPathStepEntry, isPropertyType, isRouteArray, isRouteConfigEntry, isRouteContinuation, isSameType, isSampled, isScope, isStoreValue, isString, isThenable, mcpError, mcpResult, mergeContractSchemas, mergeMappingRule, mockEnv, moin, normalizeBody, normalizeHeaders, normalizeQuery, observeEnv, observeFromEnv, packageNameToVariable, parseCallPath, parseGrant, parseObserveCredential, parseTraceparent, parseUserAgent, processEventMapping, pushResultToOutcome, readCacheEnvelope, requestToData, requestToParameter, resolveContracts, resolveSetup, resolveTelemetryOptions, scanFlowRefs, serializeStoreValue, setByPath, setTraceUntil, startChain, stepId, storeCache, throttle, throwError, toEventList, transformData, traverseEnv, trim, tryCatch, tryCatchAsync, useHooks, validateStepEntry, verifyActivation, walkPath, wrapCacheEnvelope, wrapCondition, wrapFn, wrapValidate };
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){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
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:()=>on,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:()=>sn,MOIN_PARAM:()=>vn,MOIN_PRODUCTION:()=>yn,Mapping:()=>v,Matcher:()=>M,OBSERVE_ENV_KEY:()=>br,OBSERVE_STORAGE_KEY:()=>fn,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:()=>tr,Request:()=>k,SECRET_MARKER_PREFIX:()=>Me,SESSION_STORAGE_KEY:()=>un,STEP_FIELD_ROLES:()=>be,STEP_OPERATIVE_FIELDS:()=>$e,Simulation:()=>_,Source:()=>$,Store:()=>S,StoreCodecError:()=>wo,Transformer:()=>b,Trigger:()=>j,URL_WINDOW_MS:()=>rn,WalkerOS:()=>x,advanceChain:()=>po,anonymizeIP:()=>C,applyState:()=>Fo,applyUpdate:()=>Ro,assembleJourneys:()=>Wn,assign:()=>ze,batchResponse:()=>Wr,branch:()=>N,browserSwapActivator:()=>hn,buildScopeFromNodeRequest:()=>zr,castToProperty:()=>Et,castValue:()=>He,checkCache:()=>_o,checkWindowCollector:()=>rr,clone:()=>Ue,compileCache:()=>xo,compileMatcher:()=>Kr,compileState:()=>Po,createBatchedPoster:()=>Hn,createDestination:()=>Ge,createEvent:()=>ot,createIngest:()=>T,createLogger:()=>bt,createMappingRoot:()=>Io,createMockContext:()=>Ft,createMockLogger:()=>Ct,createRespond:()=>Nr,createTelemetryObserver:()=>Zt,createTimer:()=>cr,debounce:()=>mt,deepMerge:()=>Ye,defaultClickIds:()=>lt,deleteByPath:()=>Be,deriveSpanId:()=>at,deserializeStoreValue:()=>jo,emitStep:()=>Zn,fetchPackage:()=>dr,fetchPackageSchema:()=>yr,filterValues:()=>$t,flattenIncludeSections:()=>Ze,formatOut:()=>Lo,getBrowser:()=>Gn,getBrowserVersion:()=>Yn,getByPath:()=>Ve,getDeviceType:()=>er,getErrorMessage:()=>ur,getEvent:()=>st,getFlowSettings:()=>Ce,getGrantedConsent:()=>Je,getHeaders:()=>Ut,getId:()=>Qe,getMappingEvent:()=>xt,getMappingValue:()=>_t,getMarketingParameters:()=>pt,getNextSteps:()=>ao,getOS:()=>Xn,getOSVersion:()=>Qn,getPlatform:()=>Le,getRouteGraph:()=>mo,getSpanId:()=>rt,getStepFieldRole:()=>we,getStepRuntimeProps:()=>ke,getTraceId:()=>ct,getTraceUntil:()=>Kn,getTransformerMapping:()=>ve,getTransformerMappingWarnings:()=>ye,isArguments:()=>re,isArray:()=>oe,isBatchBody:()=>Vr,isBoolean:()=>se,isChainContinuation:()=>uo,isCommand:()=>ie,isDefined:()=>ae,isElementOrDocument:()=>ce,isEnvObserve:()=>wr,isFunction:()=>ue,isNumber:()=>le,isObject:()=>pe,isPathStepEntry:()=>Ae,isPropertyType:()=>kt,isRouteArray:()=>Zr,isRouteConfigEntry:()=>qr,isRouteContinuation:()=>Hr,isSameType:()=>de,isSampled:()=>Ht,isScope:()=>Dr,isStoreValue:()=>Oo,isString:()=>me,isThenable:()=>fe,mcpError:()=>Tr,mcpResult:()=>Pr,mergeContractSchemas:()=>W,mergeMappingRule:()=>Pt,mockEnv:()=>Tt,moin:()=>kn,normalizeBody:()=>Lr,normalizeHeaders:()=>Cr,normalizeQuery:()=>Fr,observeEnv:()=>xr,observeFromEnv:()=>Rr,packageNameToVariable:()=>Ne,parseCallPath:()=>$r,parseGrant:()=>nn,parseObserveCredential:()=>Mr,parseTraceparent:()=>ft,parseUserAgent:()=>Jn,processEventMapping:()=>Mt,pushResultToOutcome:()=>Br,readCacheEnvelope:()=>yo,requestToData:()=>Lt,requestToParameter:()=>Dt,resolveContracts:()=>V,resolveSetup:()=>Vt,resolveTelemetryOptions:()=>Jt,scanFlowRefs:()=>ne,serializeStoreValue:()=>Ao,setByPath:()=>We,setTraceUntil:()=>qn,startChain:()=>co,stepId:()=>u,storeCache:()=>Mo,throttle:()=>gt,throwError:()=>F,toEventList:()=>Ur,transformData:()=>zt,traverseEnv:()=>Nt,trim:()=>Wt,tryCatch:()=>St,tryCatchAsync:()=>Ot,useHooks:()=>Kt,validateStepEntry:()=>Oe,verifyActivation:()=>an,walkPath:()=>Pe,wrapCacheEnvelope:()=>vo,wrapCondition:()=>sr,wrapFn:()=>ir,wrapValidate:()=>ar}),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 N(e,t){return{event:e,next:t}}function C(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"]),U=new Set(["properties","patternProperties","dependentSchemas","dependentRequired","dependencies","$defs","definitions"]);function V(e,t){const n=!1!==t?.stripAnnotations,r={},o=new Set;function s(t){if(r[t])return r[t];o.has(t)&&F(`Circular extend chain detected: ${[...o,t].join(" → ")}`);const i=e[t];i||F(`Contract "${t}" not found`),o.add(t);let a={};if(i.extend){a=function(e,t){const n={};void 0===e.tagging&&void 0===t.tagging||(n.tagging=t.tagging??e.tagging);void 0===e.description&&void 0===t.description||(n.description=t.description??e.description);e.schema&&t.schema?n.schema=W(e.schema,t.schema):(e.schema||t.schema)&&(n.schema={...e.schema||t.schema});if(e.events||t.events){const r={},o=new Set([...Object.keys(e.events||{}),...Object.keys(t.events||{})]);for(const n of o){const o=e.events?.[n]||{},s=t.events?.[n]||{},i=new Set([...Object.keys(o),...Object.keys(s)]);r[n]={};for(const e of i){const t=o[e],i=s[e];r[n][e]=t&&i?W(t,i):{...t||i}}}n.events=r}return n}(s(i.extend),i)}else a={...i};if(delete a.extend,a.events&&(a.events=function(e){const t={};for(const n of Object.keys(e))if("*"!==n){t[n]={};for(const r of Object.keys(e[n]||{})){let o={};const s=e["*"]?.["*"];s&&(o=W(o,s));const i=e["*"]?.[r];i&&"*"!==r&&(o=W(o,i));const a=e[n]?.["*"];a&&"*"!==r&&(o=W(o,a));const c=e[n]?.[r];c&&(o=W(o,c)),t[n][r]=o}}e["*"]&&(t["*"]={...e["*"]});return t}(a.events)),a.events&&n){const e={};for(const[t,n]of Object.entries(a.events)){e[t]={};for(const[r,o]of Object.entries(n))e[t][r]=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)||(U.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 Ne(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 Ce(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=V(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 Ue(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]=Ue(e[r],t));return n}if("[object Array]"===n){const n=[];return t.set(e,n),e.forEach(e=>{n.push(Ue(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 Ve(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=Ve(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:Ue(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=Ue(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=Ve(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 Ue(t);const n={...Ue(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 Nt(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 Ct(){const e=[],t=jest.fn(e=>{const t=e instanceof Error?e.message:e;throw new Error(t)}),n=jest.fn(t=>{const n=Ct();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:Ct(),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 Ut(e={}){return ze({"Content-Type":"application/json; charset=utf-8"},e)}function Vt(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}}function Gt(e,t,n){const r=globalThis;return new Promise(o=>{let s,i,a=!1;const c=e=>{a||(a=!0,o(e),void 0!==i&&r.clearTimeout?.(i),!e&&s?.parentNode&&s.parentNode.removeChild(s))};try{const o=r.document;if(!o)return void c(!1);s=o.createElement("script"),void 0!==n&&(i=r.setTimeout?.(()=>c(!1),n)),s.onload=()=>c(!0),s.onerror=()=>c(!1),s.setAttribute("integrity",t),s.setAttribute("crossorigin","anonymous"),s.async=!0,s.src=e,o.head.appendChild(s)}catch{c(!1)}})}var Yt=/^[A-Za-z0-9_-]+$/;function Xt(e){if(!Yt.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 Qt(e){const t=new Uint8Array(e.length);for(let n=0;n<e.length;n++)t[n]=e.charCodeAt(n);return t}function en(e){const t=Xt(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 tn(e){return"object"==typeof e&&null!==e&&!Array.isArray(e)}function nn(e){if(!e)return null;const t=e.split("."),[n,r,o]=t;if(3!==t.length||!n||!r||!o)return null;const s=en(n);if(!tn(s))return null;const i=s.kid,a=s.alg;if("string"!=typeof i||"ES256"!==a)return null;const c=en(r);if(!function(e){if(!tn(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&&Yt.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=Xt(o);return u&&64===u.byteLength?{grant:c,kid:i,signed:Qt(`${n}.${r}`),signature:u}:null}var rn=9e5,on=6e4,sn=39e5;async function an(e,t){const n=nn(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+on)return{ok:!1,reason:"expired"};if(1e3*r.sxp-1e3*r.iat>sn)return{ok:!1,reason:"expired"};const a="url"===t.source?Math.min(1e3*r.iat+rn,1e3*r.sxp):1e3*r.sxp;if(t.now>=a)return{ok:!1,reason:"expired"};if(void 0!==t.origin&&!r.aud.includes(t.origin))return{ok:!1,reason:"aud-mismatch"};if(t.acceptForeign){const e=t.demoAllowlist??[];if(1!==r.aud.length||!r.aud.every(t=>e.includes(t)))return{ok:!1,reason:"aud-mismatch"}}if(!(t.acceptForeign||t.pb&&r.pb===t.pb))return{ok:!1,reason:"pb-mismatch"};const c=void 0!==r.ses||void 0!==r.sb;if(t.expectSession){if(r.ses!==t.expectSession.ses)return{ok:!1,reason:"sb-mismatch"};if(!r.sb||r.sb!==t.expectSession.sb)return{ok:!1,reason:"sb-mismatch"}}else if(c)return{ok:!1,reason:"sb-mismatch"};const u=t.keyring.find(e=>e.kid===o);if(!u)return{ok:!1,reason:"kid-mismatch"};const f=t.crypto??globalThis.crypto,l=f?.subtle;if(!l)return{ok:!1,reason:"no-subtle"};const p=function(e){return Xt(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 cn="elbPreview",un="elbPreviewSession",fn="elbObserve",ln="[walkerOS:preview]",pn=5e3,dn=globalThis;function mn(e){let t=null;return{get(){try{return dn.window?.localStorage.getItem(e)??t}catch{return t}},set(n){try{dn.window?.localStorage.setItem(e,n)}catch{t=n}},clear(){t=null;try{dn.window?.localStorage.removeItem(e)}catch{}}}}function gn(){const e=dn.window,t=dn.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 hn(e){const t=dn.window;if(!t||!dn.document)return!1;const n=mn(cn),r=mn(un),o=mn(fn),s=e.now??(()=>Date.now()),i=e=>dn.console?.warn(`${ln} ${e}`);let a=null,c=null,u=null;const f=dn.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(),gn(),!1;const l=n.get();if(!a&&!l)return!1;const p=(n,r)=>an(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),gn()}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`;return await Gt(m,d.sri,pn)?(dn.console?.info(`${ln} active ${d.art} ends ${new Date(1e3*d.sxp).toISOString()}`),!0):(i("swap-failed"),n.clear(),r.clear(),o.clear(),!1)}var vn="elbMoin",yn={app:"https://app.walkeros.io",base:"https://cdn.walkeros.io/tag-mode/"},bn=/^[A-Za-z0-9_-]{64}$/,wn=Symbol.for("walkeros.moin");function kn(e=yn){!function(e,t){try{const n=e.window,r=e.URLSearchParams;if(!n||!r||n.top!==n||Reflect.get(n,wn))return;let o=new r(n.location.search).has(vn);try{const e=n.sessionStorage;o=o||"1"===e.getItem(vn),o&&e.setItem(vn,"1")}catch{}if(!o)return;Reflect.set(n,wn,!0);const s=e=>{if(e.origin!==t.app)return;const r=e.data;if("object"!=typeof r||null===r)return;if(1!==Reflect.get(r,"elbMoin"))return;const o=Reflect.get(r,"file");"string"==typeof o&&bn.test(o)&&(n.removeEventListener("message",s),Gt(`${t.base}${o}.js`,`sha384-${o.replace(/-/g,"+").replace(/_/g,"/")}`))};n.addEventListener("message",s)}catch{}}(globalThis,e)}var $n=15e3,En={error:5,skip:4,out:3,in:2,init:1,flush:0},Sn="\0none",On="\0";function An(e,t){return`${e??Sn}${On}${t}`}function jn(e){const t=Date.parse(e);return Number.isNaN(t)?0:t}function In(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 xn(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 _n(e,t,n){const r=xn(e,t),o=xn(e,n);r!==o&&(r<o?e.set(o,r):e.set(r,o))}function Mn(e){for(const t of e)if(t.traceId)return t.traceId}function Rn(e){switch(e){case"error":return"error";case"skip":return"skipped";case"out":return"done";case"in":case"init":case"flush":return"pending"}}function Pn(e){return"out"===e.terminalPhase||"error"===e.terminalPhase||"skip"===e.terminalPhase||!0===e.batched}function Tn(e){return"done"===e.status&&("transformer"!==e.stepType||null!==e.out&&void 0!==e.out)}function Nn(e,t,n,r){const o=n.get(An(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 Cn(e){const t=new Map,n=new Map;e.nodes.forEach((e,r)=>{const o={node:e,rank:r,key:An(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=Nn(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 Fn(e,t,n){const r=e.byKey.get(An(n,t));if(void 0!==r)return r;const o=e.byKey.get(An(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 Ln(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(Pn)?"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&&Tn(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||!Pn(t))return"partial"}return"complete"}(e,t,r):e.every(Pn)?"complete":"partial"}function Dn(e){let t=e[0];for(const n of e)n.elapsedMs<t.elapsedMs&&(t=n);const n=[],r=new Map;let o=!1;for(const t of e)if("flush"!==t.phase){if(void 0!==t.branchId){const e=r.get(t.branchId);e?e.push(t):r.set(t.branchId,[t]);continue}n.push(t)}else o=!0;const s=[...r.values()].flat(),i=n.length>0?n:s.length>0?s:e;let a,c,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),En[e.phase]>En[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)En[e.phase]>En[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:Rn(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:Rn(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 zn(e,t){const n=e.map(e=>({hop:e,rank:void 0!==t?Fn(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 Un(e){const t=e.filter(e=>"collector"===e.stepType&&"in"===e.phase),n=t.length>0?t:e;let r=n[0],o=jn(r.timestamp);for(const e of n){const t=jn(e.timestamp);t<o&&(o=t,r=e)}const s=function(e){if("object"==typeof e&&null!==e&&"name"in e&&"string"==typeof e.name)return e.name}(r.inEvent);return{eventId:r.eventId,timestamp:r.timestamp,...void 0!==s?{name:s}:{},...void 0!==r.sourceId?{sourceId:r.sourceId}:{},...void 0!==r.platform?{platform:r.platform}:{}}}function Vn(e,t,n,r,o){const{topo:s}=o,i=new Map;for(const e of n){const t=An(e.platform,e.stepId),n=i.get(t);n?n.push(e):i.set(t,[e])}const a=[...i.values()].map(Dn),c=new Map;for(const e of a){const t=e.platform??Sn;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,jn(e.timestamp))}const u=function(e){const t=new Map,n=e.map((e,t)=>t).sort((t,n)=>{const r=e[t].platform??Sn,o=e[n].platform??Sn;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??Sn,r=t.seg.platform??Sn;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 zn(e.hops,s))f.push(t)}let p=Number.POSITIVE_INFINITY,d=Number.NEGATIVE_INFINITY;for(const e of n){const t=jn(e.timestamp);t<p&&(p=t),t>d&&(d=t)}const m=Ln(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:Un(r),hops:f,platforms:l,status:m,lossy:g,firstTimestamp:p,lastTimestamp:d,totalMs:d-p}}function Wn(e,t){const n={...void 0!==t?.topology?{topo:Cn(t.topology)}:{},settleMs:t?.settleMs??$n,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${On}${r.platform??""}${On}${r.traceId}${On}${r.seq}`:void 0!==r.seq?`seqt${On}${r.platform??""}${On}${r.stepId}${On}${r.phase}${On}${r.eventId}${On}${r.branchId??""}${On}${r.elapsedMs}${On}${r.timestamp}${On}${r.seq}`:`tuple${On}${r.platform??""}${On}${r.stepId}${On}${r.phase}${On}${r.eventId}${On}${r.branchId??""}${On}${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??Sn,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=jn(e.timestamp),r=jn(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:jn(s.timestamp),toMs:jn(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=In(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 En[e.phase]-En[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)_n(u,n,e);const f=new Map;for(const e of o){const t=xn(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=Mn(o)??Mn(r);return Vn(t,s,r,o,n)});l.sort((e,t)=>e.firstTimestamp!==t.firstTimestamp?e.firstTimestamp-t.firstTimestamp:e.id<t.id?-1:e.id>t.id?1:0);const p=function(e){const t=new Map;for(const n of e){if(!n.traceId)continue;const e=n.platform??Sn,r=jn(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 Bn=null;function Kn(){return Bn}function qn(e){Bn=e}function Zn(e,t){if(0===e.observers.size)return;const n=Array.from(e.observers);for(const e of n)try{e(t)}catch{}}function Hn(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 Jn(e){return e?{userAgent:e,browser:Gn(e),browserVersion:Yn(e),os:Xn(e),osVersion:Qn(e),deviceType:er(e)}:{}}function Gn(e){const t=[{name:"Edge",substr:"Edg"},{name:"Chrome",substr:"Chrome"},{name:"Safari",substr:"Safari",exclude:"Chrome"},{name:"Firefox",substr:"Firefox"},{name:"IE",substr:"MSIE"},{name:"IE",substr:"Trident"}];for(const n of t)if(e.includes(n.substr)&&(!n.exclude||!e.includes(n.exclude)))return n.name}function Yn(e){const t=[/Edg\/([0-9]+)/,/Chrome\/([0-9]+)/,/Version\/([0-9]+).*Safari/,/Firefox\/([0-9]+)/,/MSIE ([0-9]+)/,/rv:([0-9]+).*Trident/];for(const n of t){const t=e.match(n);if(t)return t[1]}}function Xn(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 Qn(e){const t=e.match(/(?:Windows NT|Mac OS X|Android|iPhone OS) ([0-9._]+)/);return t?t[1].replace(/_/g,"."):void 0}function er(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 tr=["elb","elbLayer","window","document","location","self","top","parent","frames","globalThis","__proto__","constructor","prototype"],nr=/^[A-Za-z_$][A-Za-z0-9_$]*$/;function rr(e){return"string"!=typeof e?{ok:!1,reason:"is not a string"}:nr.test(e)?tr.includes(e)?{ok:!1,reason:`is reserved (${tr.join(", ")})`}:{ok:!0,name:e}:{ok:!1,reason:"is not a JavaScript identifier (letters, digits, _ or $, not starting with a digit)"}}function or(e){return function(e){return/\breturn\b/.test(e)}(e)?e:`return ${e}`}function sr(e){const t=or(e);return new Function("value","context",t)}function ir(e){const t=or(e);return new Function("value","context",t)}function ar(e){const t=or(e);return new Function("value","context",t)}function cr(){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 ur(e){return e instanceof Error?e.message:String(e)}var fr="https://cdn.jsdelivr.net/npm",lr="dist/walkerOS.json";function pr(e){return"string"==typeof e||Array.isArray(e)&&e.every(e=>"string"==typeof e)?e:void 0}async function dr(e,t){const n=t?.version||"latest",r=t?.timeout||1e4,o=new AbortController,s=setTimeout(()=>o.abort(),r),i=o.signal,a=t?.client?{"X-Walkeros-Client":t.client}:void 0;try{if(t?.baseUrl){const r=`${t.baseUrl}/api/packages/${encodeURIComponent(e)}?version=${encodeURIComponent(n)}&expand=all`,o=await fetch(r,{signal:i,...a&&{headers:a}});if(!o.ok)throw new Error(`Failed to fetch ${r} (HTTP ${o.status})`);return function(e,t,n){const r=n.schemas||{},o=n.examples||{},s=n.hints,i=n.hintKeys??(s?Object.keys(s):[]),a=n.exampleSummaries??[],c=n.platform,u=n.exportExamples,f=n.exportSchemas,l=n.exports;return{packageName:n.package||e,version:"string"==typeof n.version?n.version:t,...void 0!==n.description&&{description:n.description},...void 0!==n.type&&{type:n.type},...void 0!==c&&{platform:c},schemas:r,examples:o,...void 0!==n.docs&&{docs:n.docs},...void 0!==n.source&&{source:n.source},...s&&Object.keys(s).length>0?{hints:s}:{},hintKeys:i,exampleSummaries:a,...mr(u)?{exportExamples:u}:{},...gr(f)?{exportSchemas:f}:{},...hr(l)?{exports:l}:{}}}(e,n,await o.json())}const r=`${fr}/${e}@${n}`,o=await vr(`${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:pr(o.platform),schemas:s,examples:i,...m?{docs:m}:{},...g?{source:g}:{},...a&&Object.keys(a).length>0?{hints:a}:{},hintKeys:c,exampleSummaries:p,...mr(u)?{exportExamples:u}:{},...gr(f)?{exportSchemas:f}:{},...hr(l)?{exports:l}:{}}}(e,n,o,await vr(`${r}/${lr}`,i,a))}finally{clearTimeout(s)}}function mr(e){return null!==e&&"object"==typeof e&&!Array.isArray(e)}function gr(e){return mr(e)&&Object.values(e).every(mr)}function hr(e){return mr(e)&&Object.values(e).every(e=>"string"==typeof e)}async function vr(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 yr(e,t){const n=await dr(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 br="observe";function wr(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 kr="call:";function $r(e){const t=(e.startsWith(kr)?e.slice(kr.length):e).split(".");return t.some(e=>""===e)?[]:t}function Er(e){return"function"==typeof e}function Sr(e){return"object"==typeof e&&null!==e}var Or=["name","length","prototype","arguments","caller"];function Ar(e,t){if(-1!==Or.indexOf(t))return!1;let n=e;for(;Er(n);){if(Object.prototype.hasOwnProperty.call(n,t))return!0;const e=Object.getPrototypeOf(n);if(!Er(e)||!Er(Object.getPrototypeOf(e)))return!1;n=e}return!1}function jr(e,t){const n=Reflect.getOwnPropertyDescriptor(e,t);return!(n&&!n.configurable)||"value"in n&&!0===n.writable}function Ir(e,t){let n=e;for(const e of t){if(Er(n)){if(!Ar(n,e))return!0;if(!jr(n,e))return!1}else if(fe(n)){if(!(e in n))return!0}else if(!Sr(n)||!(e in n))return!1;n=Reflect.get(n,e)}return Er(n)}function xr(e,t,n){const r=[],o=[],s=[];for(const n of t){const t=$r(n);if(0===t.length)continue;const r=t.join(".");s.push({rest:t,fn:r}),Ir(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)):Er(e)?h(e,[],t):Sr(e)?p(e,t):e}function f(e){return(Sr(e)||Er(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(Er(e))return m(e,t);return t.some(t=>!jr(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||jr(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(!Er(s)&&!Sr(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)&&(!Er(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 Er(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=>!Ar(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||!jr(e,t))return r;if(!Ar(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 Er(r)?u=h(r,o,a,{proxy:i,target:e}):Sr(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 Sr(a)||Er(a)?a:s}});return a.add(i),i}return{env:d(e,s),calls:r,unresolved:o}}var _r="obsw_";function Mr(e){if(!e.startsWith(_r))return null;const t=e.slice(_r.length).split("."),[n,r,o]=t;return 3===t.length&&n&&r&&o?{pb:n,ses:r,secret:o}:null}function Rr(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 Pr(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 Tr(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 Nr(e){let t=!1;return(n={})=>{t||(t=!0,e(n))}}function Cr(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 Fr(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 Lr(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 Dr(e){return pe(e)&&"string"==typeof e.method&&pe(e.headers)}function zr(e,t){const n=Cr(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:Fr(s),headers:n,body:t.body,raw:e};return e.ip&&(u.ip=e.ip),u}function Ur(e){return oe(e)?e:pe(e)?oe(e.batch)?e.batch:[e]:[{}]}function Vr(e){return!!oe(e)||pe(e)&&oe(e.batch)}function Wr(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 Br(e){return!1===e?.ok?{error:e.error??(!0===e.invalid?"Invalid event":"Event was not processed")}:{id:e?.event?.id}}function Kr(e){if(void 0===e||"*"===e)return()=>!0;if("and"in e){const t=e.and.map(Kr);return e=>t.every(t=>t(e))}if("or"in e){const t=e.or.map(Kr);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=Ve(e,t),r=s(n);return o?!r:r}}(e)}function qr(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 Zr(e){return Array.isArray(e)&&e.length>0&&e.every(e=>qr(e))}function Hr(e){return"object"==typeof e&&!Array.isArray(e)&&"type"in e&&"continuation"===e.type}var Jr=()=>!0;function Gr(e,t){return{kind:t?"sequence":"next",path:e}}function Yr(e,t){return t?{...e,outer:t}:e}function Xr(e,t,n,r){return Yr(n?{kind:e,path:t,match:n}:{kind:e,path:t,catchAll:!0},r)}function Qr(e,t,n,r){return 0===e.length?{type:"chain",value:[],label:Yr({kind:n,path:t},r)}:{type:n,routes:eo(e,t,n,r)}}function eo(e,t,n,r){return e.map((e,o)=>{const s=[...t,o];if("string"==typeof e||Array.isArray(e)){const t=Xr(n,s,void 0,r);return{match:Jr,next:no(e,s,t)??{type:"chain",value:[],label:t}}}const i=Xr(n,s,e.match,r);return{match:e.match?Kr(e.match):Jr,source:e.match,next:to(e,s,i,!1,!0)??{type:"chain",value:[],label:i}}})}function to(e,t,n,r,o){const s=o?void 0:e.match,i=s?Yr({kind:"next",path:t,match:s},n):n??Gr(t,r),a=s?i:n;let c;return!0===e.stop?c={type:"stop",label:i}:void 0!==e.one?c=Qr(e.one,[...t,"one"],"one",a):void 0!==e.many?c=Qr(e.many,[...t,"many"],"many",a):void 0!==e.next&&(c=no(e.next,[...t,"next"],a)),s?{type:"gate",match:Kr(s),source:s,next:c??{type:"chain",value:[],label:i}}:void 0===c&&e.match?{type:"chain",value:[],label:i}:c}function no(e,t=[],n,r=!1){if(null!=e){if("string"==typeof e)return{type:"static",value:e,label:n??Gr(t,r)};if(Array.isArray(e)){if(0===e.length)return;if(Zr(e))return{type:"one",routes:eo(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??Gr(t,r)};const s=[];if(e.forEach((e,r)=>{const o=no(e,[...t,r],n,!0);void 0!==o&&s.push(o)}),0===s.length)return;return{type:"sequence",value:s}}return to(e,t,n,r,!1)}}var ro=new WeakMap;function oo(e,t,n){return n?{type:"continuation",segments:e,at:t,tail:n}:{type:"continuation",segments:e,at:t}}function so(e){if(null==e)return;if(Hr(e))return e;const t=function(e){if(null==e)return;if("object"!=typeof e)return no(e);const t=ro.get(e);if(t)return t;const n=no(e);return n&&ro.set(e,n),n}(e);return t?oo([t],0,void 0):void 0}function io(e,t,n){const r=[];let o=e;for(;o;){if(o.at>=o.segments.length){o=o.tail;continue}const e=o.segments[o.at],s=oo(o.segments,o.at+1,o.tail);if("static"===e.type){r.push(e.value),n&&n(e),o=s;continue}if("chain"===e.type){r.push(...e.value),n&&n(e),o=s;continue}if("sequence"===e.type){o=oo(e.value,0,s);continue}if(r.length>0)return{ids:r,then:o};if("stop"===e.type)return n&&n(e),{ids:[],stop:!0};if("gate"===e.type){o=t.gate(e)?oo([e.next],0,s):s;continue}if("one"===e.type){const n=e.routes.length>0?t.one(e.routes):-1;o=n>=0?oo([e.routes[n].next],0,s):s;continue}const i=e.routes.length>0?t.many(e.routes):[];if(0!==i.length){if(1!==i.length)return{ids:[],forks:i.map(t=>oo([e.routes[t].next],0,s))};o=oo([e.routes[i[0]].next],0,s)}else o=s}return{ids:r}}function ao(e,t){return io(so(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 co(e){return null==e?[]:[{route:e,ancestry:[]}]}function uo(e){return Array.isArray(e)&&e.every(e=>"object"==typeof e&&null!==e&&!Array.isArray(e)&&"ancestry"in e)}function fo(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 lo(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 po(e,t,n){let r=e;for(;r.length>0;){const[e,...o]=r;if("ids"in e){const t=fo(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=lo(ao(e.route,t),e.ancestry,o);if("stack"!==s.kind)return s;r=s.stack}return{kind:"done"}}function mo(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=so(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=fo(a,d,t);if(void 0===e.id)return void p(e.rest,n,r);const o=(s.get(a.ids)??[])[a.at];if(!o)return;let i;if(r&&r.source===o&&r.node.targets[r.position]===n){const t=r.position+1;r.node.targets.length===t&&r.node.targets.push(e.id),i={node:r.node,source:o,position:t}}else{const t=f(n,o.label,c(o),u(a.ancestry),e.id);0===t.targets.length&&t.targets.push(e.id),i={node:t,source:o,position:0}}return void p(e.rest,e.id,i)}const m=u(a.ancestry);for(const e of function(e){const t=[],n=r=>{let o=0;const s=[],i=e=>{let t=0;return o<r.length?t=r[o]:s.push(e),o++,t},a=e=>e.some(e=>void 0===e.source),c=[],u=io(e,{gate:()=>0===i(2),one:e=>{const t=e.map((e,t)=>t);return a(e)||t.push(-1),t[i(t.length)]},many:e=>{const t=e.map((e,t)=>t);return a(e)||0===i(2)?t:[]}},e=>c.push(e));t.push({steps:u,visited:c});for(let e=0;e<s.length;e++)for(let t=1;t<s[e];t++){const o=r.slice();for(let t=0;t<e;t++)o.push(0);o.push(t),n(o)}};return n([]),t}(so(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=lo(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(co(e),void 0,void 0),n}var go="__walkeros_cache_v__",ho="__walkeros_cache_exp__";function vo(e,t,n=Date.now){const r={[go]:e};return void 0!==t&&(r[ho]=n()+t),r}function yo(e,t=Date.now){if(void 0===e)return;if(null===(n=e)||"object"!=typeof n||Array.isArray(n)||!(go in e))return{value:e};var n;const r=e[ho];return"number"==typeof r&&t()>r?{expired:!0}:{value:e[go]}}var bo="__walkeros_cache__",wo=class extends Error{constructor(e,t){super(e,t),this.name="StoreCodecError"}};function ko(e){return null!==e&&"object"==typeof e&&!Array.isArray(e)}function $o(e){if(Buffer.isBuffer(e))return{[bo]:"buffer",d:e.toString("base64")};if(e instanceof Uint8Array)return{[bo]:"buffer",d:Buffer.from(e.buffer,e.byteOffset,e.byteLength).toString("base64")};if(e instanceof ArrayBuffer)return{[bo]:"buffer",d:Buffer.from(e).toString("base64")};if(Array.isArray(e))return e.map($o);if(ko(e)){if(bo in e){const t={};for(const[n,r]of Object.entries(e))t[n]=$o(r);return{[bo]:"escape",d:t}}const t={};for(const[n,r]of Object.entries(e))t[n]=$o(r);return t}return e}function Eo(e,t){if(ko(e)){if(bo in e){const n=e[bo],r=e.d;if("buffer"===n&&"string"==typeof r)return t(Buffer.from(r,"base64"));if("escape"===n&&ko(r)){const e={};for(const[n,o]of Object.entries(r))e[n]=Eo(o,t);return e}}const n={};for(const[r,o]of Object.entries(e))n[r]=Eo(o,t);return n}return Array.isArray(e)?e.map(e=>Eo(e,t)):e}function So(e){return new Uint8Array(e.buffer,e.byteOffset,e.byteLength)}function Oo(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||Oo(e)):!!ko(e)&&Object.values(e).every(e=>void 0===e||Oo(e)))}function Ao(e){let t;try{t=JSON.stringify($o(e))}catch(e){throw new wo("Failed to serialize store value (likely a cyclic structure).",{cause:e})}return new Uint8Array(Buffer.from(t,"utf8"))}function jo(e){const t="string"==typeof e?e:Buffer.from(e).toString("utf8"),n=Eo(JSON.parse(t),So);if(!Oo(n))throw new wo("Restored value is not a valid StoreValue.");return n}function Io(e={},t){return void 0===t?{ingest:e}:{ingest:e,event:t}}function xo(e){return{stop:e.stop??!1,storeId:e.store,namespace:e.namespace,rules:e.rules.map(e=>({match:e.match?Kr(e.match):()=>!0,key:e.key,ttl:e.ttl,update:e.update}))}}async function _o(e,t,n,r){const o=e.rules.find(e=>e.match(n));if(!o)return null;const s=o.key.map(e=>String(Ve(n,e)??""));if(s.every(e=>""===e))return null;const i=s.join(":"),a=r??e.namespace,c=a?`${a}:${i}`:i,u=yo(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 Mo(e,t,n,r){if(!Oo(n))return;const o=1e3*r,s=e.set(t,vo(n,o),o);fe(s)&&Promise.resolve(s).catch(()=>{})}async function Ro(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 Po(e){return oe(e)?e:[e]}function To(e){const t=/^(event|ingest)\.(.+)$/.exec(e);if(t)return{side:"event"===t[1]?"event":"ingest",path:t[2]}}function No(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 Co(e){return!ae(e)||(pe(e)?0===Object.keys(e).length:!!oe(e)&&!e.some(ae))}async function Fo(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=Io(s,i),a={collector:r,event:i,consent:No(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)||Co(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(Ue(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=To(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(Co(m))return;const g="ingest"===p.side?Ve(s,p.path):Ve(i,p.path),h=pe(g)&&pe(m)?Ye(Ue(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 Lo(e){return 0===e.length?"// no output":e.map(Do).join(";\n\n")}function Do(e){const[t,...n]=e,r=n.map(zo).join(", ");return"return"===t?r?`return ${r}`:"return":`${t}(${r})`}function zo(e){return void 0===e?"undefined":null===e?"null":"function"==typeof e?"[Function]":JSON.stringify(e,null,2)}//# sourceMappingURL=index.js.map