@walkeros/explorer 0.0.0-next-20260115201042 → 0.0.0-next-20260115201759

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.
Files changed (29) hide show
  1. package/dist/{chunk-WKBCYMTQ.mjs → chunk-LWR5THTE.mjs} +6 -20
  2. package/dist/{chunk-WKBCYMTQ.mjs.map → chunk-LWR5THTE.mjs.map} +1 -1
  3. package/dist/components/atoms/code.d.ts.map +1 -1
  4. package/dist/components/atoms/code.js +1 -3
  5. package/dist/components/atoms/code.js.map +1 -1
  6. package/dist/components/atoms/grid.d.ts.map +1 -1
  7. package/dist/components/atoms/grid.js +5 -10
  8. package/dist/components/atoms/grid.js.map +1 -1
  9. package/dist/components/molecules/code-box.js +2 -2
  10. package/dist/components/molecules/code-box.js.map +1 -1
  11. package/dist/components/organisms/config-editor/config-editor.stories.js +1 -1
  12. package/dist/components/organisms/config-editor/config-editor.stories.js.map +1 -1
  13. package/dist/hooks/useMappingNavigation.d.ts.map +1 -1
  14. package/dist/hooks/useMappingNavigation.js +2 -3
  15. package/dist/hooks/useMappingNavigation.js.map +1 -1
  16. package/dist/hooks/useMappingState.d.ts.map +1 -1
  17. package/dist/hooks/useMappingState.js +0 -1
  18. package/dist/hooks/useMappingState.js.map +1 -1
  19. package/dist/index.mjs +13 -19
  20. package/dist/index.mjs.map +1 -1
  21. package/dist/{monaco-types-GHUJ2SZE.mjs → monaco-types-RLAIFALP.mjs} +2 -2
  22. package/dist/utils/monaco-types.d.ts.map +1 -1
  23. package/dist/utils/monaco-types.js +3 -8
  24. package/dist/utils/monaco-types.js.map +1 -1
  25. package/dist/utils/schema-validation.d.ts.map +1 -1
  26. package/dist/utils/schema-validation.js +1 -2
  27. package/dist/utils/schema-validation.js.map +1 -1
  28. package/package.json +1 -1
  29. /package/dist/{monaco-types-GHUJ2SZE.mjs.map → monaco-types-RLAIFALP.mjs.map} +0 -0
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/utils/monaco-context-types.ts","walkeros-types:virtual:walkeros-core-types","../src/utils/monaco-types.ts"],"sourcesContent":["/**\n * Monaco Editor Context Type Templates\n *\n * Hand-crafted global namespace declarations for function contexts.\n * These provide full TypeScript IntelliSense in Monaco Editor without\n * requiring import statements.\n *\n * Extracted from @walkeros/core types and simplified for editor use.\n */\n\n/**\n * Type template for 'fn' context (transformation functions)\n *\n * Provides types for:\n * - value: WalkerOS.DeepPartialEvent | unknown\n * - mapping: Mapping.Value\n * - options: Mapping.Options\n */\nexport const FN_CONTEXT_TYPES = `\n// WalkerOS Core Types\ndeclare namespace WalkerOS {\n // Utility types\n type DeepPartial<T> = {\n [P in keyof T]?: T[P] extends object ? DeepPartial<T[P]> : T[P];\n };\n\n type PromiseOrValue<T> = T | Promise<T>;\n\n // Property types\n type PropertyType = boolean | string | number | {\n [key: string]: Property;\n };\n\n type Property = PropertyType | Array<PropertyType>;\n\n interface Properties {\n [key: string]: Property | undefined;\n }\n\n interface OrderedProperties {\n [key: string]: [Property, number] | undefined;\n }\n\n // Consent\n interface Consent {\n [name: string]: boolean;\n }\n\n // User\n interface User extends Properties {\n id?: string;\n device?: string;\n session?: string;\n hash?: string;\n address?: string;\n email?: string;\n phone?: string;\n userAgent?: string;\n browser?: string;\n browserVersion?: string;\n deviceType?: string;\n language?: string;\n country?: string;\n region?: string;\n city?: string;\n zip?: string;\n timezone?: string;\n os?: string;\n osVersion?: string;\n screenSize?: string;\n ip?: string;\n internal?: boolean;\n }\n\n // Version\n interface Version extends Properties {\n source: string;\n tagging: number;\n }\n\n // Source\n type SourceType = 'web' | 'server' | 'app' | 'other' | string;\n\n interface Source extends Properties {\n type: SourceType;\n id: string;\n previous_id: string;\n }\n\n // Entity\n type Entities = Array<Entity>;\n\n interface Entity {\n entity: string;\n data: Properties;\n nested: Entities;\n context: OrderedProperties;\n }\n\n // Event\n interface Event {\n name: string;\n data: Properties;\n context: OrderedProperties;\n globals: Properties;\n custom: Properties;\n user: User;\n nested: Entities;\n consent: Consent;\n id: string;\n trigger: string;\n entity: string;\n action: string;\n timestamp: number;\n timing: number;\n group: string;\n count: number;\n version: Version;\n source: Source;\n }\n\n type DeepPartialEvent = DeepPartial<Event>;\n}\n\n// Mapping Types\ndeclare namespace Mapping {\n type ValueType = string | ValueConfig;\n type Value = ValueType | Array<ValueType>;\n type Values = Array<Value>;\n\n interface ValueConfig {\n condition?: Condition;\n consent?: WalkerOS.Consent;\n fn?: Fn;\n key?: string;\n loop?: Loop;\n map?: Map;\n set?: Value[];\n validate?: Validate;\n value?: WalkerOS.PropertyType;\n }\n\n type Loop = [Value, Value];\n\n type Map = {\n [key: string]: Value;\n };\n\n interface Options {\n consent?: WalkerOS.Consent;\n collector?: Collector.Instance;\n props?: unknown;\n }\n\n type Condition = (\n value: WalkerOS.DeepPartialEvent | unknown,\n mapping?: Value,\n collector?: Collector.Instance\n ) => WalkerOS.PromiseOrValue<boolean>;\n\n type Fn = (\n value: WalkerOS.DeepPartialEvent | unknown,\n mapping: Value,\n options: Options\n ) => WalkerOS.PromiseOrValue<WalkerOS.Property | unknown>;\n\n type Validate = (value?: unknown) => WalkerOS.PromiseOrValue<boolean>;\n}\n\n// Collector Types (minimal for fn context)\ndeclare namespace Collector {\n interface Instance {\n push: any;\n command: any;\n allowed: boolean;\n config: any;\n consent: WalkerOS.Consent;\n count: number;\n custom: WalkerOS.Properties;\n globals: WalkerOS.Properties;\n group: string;\n queue: any[];\n round: number;\n session: any;\n timing: number;\n user: WalkerOS.User;\n version: string;\n [key: string]: any;\n }\n}\n\n// Parameter declarations for fn context\ndeclare const value: WalkerOS.DeepPartialEvent | unknown;\ndeclare const mapping: Mapping.Value;\ndeclare const options: Mapping.Options;\n`;\n\n/**\n * Type template for 'condition' context (conditional functions)\n *\n * Provides types for:\n * - value: WalkerOS.DeepPartialEvent | unknown\n * - mapping: Mapping.Value\n * - collector: Collector.Instance | undefined\n */\nexport const CONDITION_CONTEXT_TYPES = `\n// WalkerOS Core Types\ndeclare namespace WalkerOS {\n // Utility types\n type DeepPartial<T> = {\n [P in keyof T]?: T[P] extends object ? DeepPartial<T[P]> : T[P];\n };\n\n type PromiseOrValue<T> = T | Promise<T>;\n\n // Property types\n type PropertyType = boolean | string | number | {\n [key: string]: Property;\n };\n\n type Property = PropertyType | Array<PropertyType>;\n\n interface Properties {\n [key: string]: Property | undefined;\n }\n\n interface OrderedProperties {\n [key: string]: [Property, number] | undefined;\n }\n\n // Consent\n interface Consent {\n [name: string]: boolean;\n }\n\n // User\n interface User extends Properties {\n id?: string;\n device?: string;\n session?: string;\n hash?: string;\n address?: string;\n email?: string;\n phone?: string;\n userAgent?: string;\n browser?: string;\n browserVersion?: string;\n deviceType?: string;\n language?: string;\n country?: string;\n region?: string;\n city?: string;\n zip?: string;\n timezone?: string;\n os?: string;\n osVersion?: string;\n screenSize?: string;\n ip?: string;\n internal?: boolean;\n }\n\n // Version\n interface Version extends Properties {\n source: string;\n tagging: number;\n }\n\n // Source\n type SourceType = 'web' | 'server' | 'app' | 'other' | string;\n\n interface Source extends Properties {\n type: SourceType;\n id: string;\n previous_id: string;\n }\n\n // Entity\n type Entities = Array<Entity>;\n\n interface Entity {\n entity: string;\n data: Properties;\n nested: Entities;\n context: OrderedProperties;\n }\n\n // Event\n interface Event {\n name: string;\n data: Properties;\n context: OrderedProperties;\n globals: Properties;\n custom: Properties;\n user: User;\n nested: Entities;\n consent: Consent;\n id: string;\n trigger: string;\n entity: string;\n action: string;\n timestamp: number;\n timing: number;\n group: string;\n count: number;\n version: Version;\n source: Source;\n }\n\n type DeepPartialEvent = DeepPartial<Event>;\n}\n\n// Mapping Types\ndeclare namespace Mapping {\n type ValueType = string | ValueConfig;\n type Value = ValueType | Array<ValueType>;\n\n interface ValueConfig {\n condition?: Condition;\n consent?: WalkerOS.Consent;\n fn?: Fn;\n key?: string;\n loop?: Loop;\n map?: Map;\n set?: Value[];\n validate?: Validate;\n value?: WalkerOS.PropertyType;\n }\n\n type Loop = [Value, Value];\n\n type Map = {\n [key: string]: Value;\n };\n\n type Condition = (\n value: WalkerOS.DeepPartialEvent | unknown,\n mapping?: Value,\n collector?: Collector.Instance\n ) => WalkerOS.PromiseOrValue<boolean>;\n\n type Fn = (\n value: WalkerOS.DeepPartialEvent | unknown,\n mapping: Value,\n options: any\n ) => WalkerOS.PromiseOrValue<WalkerOS.Property | unknown>;\n\n type Validate = (value?: unknown) => WalkerOS.PromiseOrValue<boolean>;\n}\n\n// Collector Types (full interface for condition context)\ndeclare namespace Collector {\n interface SessionData extends WalkerOS.Properties {\n isStart: boolean;\n storage: boolean;\n id?: string;\n start?: number;\n marketing?: true;\n updated?: number;\n isNew?: boolean;\n device?: string;\n count?: number;\n runs?: number;\n }\n\n interface Config {\n run?: boolean;\n tagging: number;\n globalsStatic: WalkerOS.Properties;\n sessionStatic: Partial<SessionData>;\n verbose: boolean;\n onError?: any;\n onLog?: any;\n }\n\n interface Instance {\n push: any;\n command: any;\n allowed: boolean;\n config: Config;\n consent: WalkerOS.Consent;\n count: number;\n custom: WalkerOS.Properties;\n sources: any;\n destinations: any;\n globals: WalkerOS.Properties;\n group: string;\n hooks: any;\n on: any;\n queue: any[];\n round: number;\n session: undefined | SessionData;\n timing: number;\n user: WalkerOS.User;\n version: string;\n }\n}\n\n// Parameter declarations for condition context\ndeclare const value: WalkerOS.DeepPartialEvent | unknown;\ndeclare const mapping: Mapping.Value;\ndeclare const collector: Collector.Instance | undefined;\n`;\n\n/**\n * Type template for 'validate' context (validation functions)\n *\n * Provides types for:\n * - value: unknown\n */\nexport const VALIDATE_CONTEXT_TYPES = `\n// Parameter declaration for validate context\ndeclare const value: unknown;\n`;\n\n/**\n * Get the type template for a specific function context\n */\nexport function getContextTypes(contextType: 'fn' | 'condition' | 'validate'): string {\n switch (contextType) {\n case 'fn':\n return FN_CONTEXT_TYPES;\n case 'condition':\n return CONDITION_CONTEXT_TYPES;\n case 'validate':\n return VALIDATE_CONTEXT_TYPES;\n default:\n return '';\n }\n}\n","export default \"/**\\n * Core collector configuration interface\\n */\\ninterface Config$6 {\\n /** Whether to run collector automatically */\\n run?: boolean;\\n /** Version for event tagging */\\n tagging: number;\\n /** Static global properties even on a new run */\\n globalsStatic: Properties;\\n /** Static session data even on a new run */\\n sessionStatic: Partial<SessionData>;\\n /** Logger configuration */\\n logger?: Config$3;\\n}\\n/**\\n * Initialization configuration that extends Config with initial state\\n */\\ninterface InitConfig extends Partial<Config$6> {\\n /** Initial consent state */\\n consent?: Consent;\\n /** Initial user data */\\n user?: User;\\n /** Initial global properties */\\n globals?: Properties;\\n /** Source configurations */\\n sources?: InitSources;\\n /** Destination configurations */\\n destinations?: InitDestinations;\\n /** Initial custom properties */\\n custom?: Properties;\\n}\\ninterface SessionData extends Properties {\\n isStart: boolean;\\n storage: boolean;\\n id?: string;\\n start?: number;\\n marketing?: true;\\n updated?: number;\\n isNew?: boolean;\\n device?: string;\\n count?: number;\\n runs?: number;\\n}\\ninterface Sources {\\n [id: string]: Instance;\\n}\\ninterface Destinations$1 {\\n [id: string]: Instance$2;\\n}\\ntype CommandType = 'action' | 'config' | 'consent' | 'context' | 'destination' | 'elb' | 'globals' | 'hook' | 'init' | 'link' | 'run' | 'user' | 'walker' | string;\\n/**\\n * Context passed to collector.push for source mapping\\n */\\ninterface PushContext$1 {\\n mapping?: Config$2;\\n}\\n/**\\n * Push function signature - handles events only\\n */\\ninterface PushFn$1 {\\n (event: DeepPartialEvent, context?: PushContext$1): Promise<PushResult>;\\n}\\n/**\\n * Command function signature - handles walker commands only\\n */\\ninterface CommandFn {\\n (command: 'config', config: Partial<Config$6>): Promise<PushResult>;\\n (command: 'consent', consent: Consent): Promise<PushResult>;\\n <T extends Types$2>(command: 'destination', destination: Init$1<T> | Instance$2<T>, config?: Config$5<T>): Promise<PushResult>;\\n <K extends keyof Functions>(command: 'hook', name: K, hookFn: Functions[K]): Promise<PushResult>;\\n (command: 'on', type: Types$1, rules: SingleOrArray<Options>): Promise<PushResult>;\\n (command: 'user', user: User): Promise<PushResult>;\\n (command: 'run', runState?: {\\n consent?: Consent;\\n user?: User;\\n globals?: Properties;\\n custom?: Properties;\\n }): Promise<PushResult>;\\n (command: string, data?: unknown, options?: unknown): Promise<PushResult>;\\n}\\ninterface Instance$3 {\\n push: PushFn$1;\\n command: CommandFn;\\n allowed: boolean;\\n config: Config$6;\\n consent: Consent;\\n count: number;\\n custom: Properties;\\n sources: Sources;\\n destinations: Destinations$1;\\n globals: Properties;\\n group: string;\\n hooks: Functions;\\n logger: Instance$1;\\n on: OnConfig;\\n queue: Events;\\n round: number;\\n session: undefined | SessionData;\\n timing: number;\\n user: User;\\n version: string;\\n}\\n\\ntype collector_CommandFn = CommandFn;\\ntype collector_CommandType = CommandType;\\ntype collector_InitConfig = InitConfig;\\ntype collector_SessionData = SessionData;\\ntype collector_Sources = Sources;\\ndeclare namespace collector {\\n export type { collector_CommandFn as CommandFn, collector_CommandType as CommandType, Config$6 as Config, Destinations$1 as Destinations, collector_InitConfig as InitConfig, Instance$3 as Instance, PushContext$1 as PushContext, PushFn$1 as PushFn, collector_SessionData as SessionData, collector_Sources as Sources };\\n}\\n\\ninterface Contract$1 {\\n version: string;\\n globals: Globals;\\n context: Contexts;\\n entities: Entities$1;\\n}\\ninterface Globals {\\n [name: string]: Global;\\n}\\ninterface Contexts {\\n [name: string]: Context$3;\\n}\\ninterface Entities$1 {\\n [name: string]: Entity$1;\\n}\\ninterface Properties$2 {\\n [name: string]: Property$2;\\n}\\ninterface Global extends Property$2 {\\n}\\ninterface Context$3 extends Property$2 {\\n}\\ninterface Entity$1 {\\n data: Properties$2;\\n actions: Actions;\\n}\\ninterface Actions {\\n [name: string]: Action;\\n}\\ninterface Action {\\n trigger?: Trigger;\\n}\\ntype Trigger = string;\\ninterface Property$2 {\\n type?: PropertyType$1;\\n required?: boolean;\\n values?: PropertyValues;\\n}\\ntype PropertyType$1 = 'boolean' | 'string' | 'number';\\ntype PropertyValues = Array<Property>;\\n\\ntype data_Action = Action;\\ntype data_Actions = Actions;\\ntype data_Contexts = Contexts;\\ntype data_Global = Global;\\ntype data_Globals = Globals;\\ntype data_PropertyValues = PropertyValues;\\ntype data_Trigger = Trigger;\\ndeclare namespace data {\\n export type { data_Action as Action, data_Actions as Actions, Context$3 as Context, data_Contexts as Contexts, Contract$1 as Contract, Entities$1 as Entities, Entity$1 as Entity, data_Global as Global, data_Globals as Globals, Properties$2 as Properties, Property$2 as Property, PropertyType$1 as PropertyType, data_PropertyValues as PropertyValues, data_Trigger as Trigger };\\n}\\n\\n/**\\n * Base environment requirements interface for walkerOS destinations\\n *\\n * This defines the core interface that destinations can use to declare\\n * their runtime environment requirements. Platform-specific extensions\\n * should extend this interface.\\n */\\ninterface BaseEnv$1 {\\n /**\\n * Generic global properties that destinations may require\\n * Platform-specific implementations can extend this interface\\n */\\n [key: string]: unknown;\\n}\\n/**\\n * Type bundle for destination generics.\\n * Groups Settings, InitSettings, Mapping, and Env into a single type parameter.\\n */\\ninterface Types$2<S = unknown, M = unknown, E = BaseEnv$1, I = S> {\\n settings: S;\\n initSettings: I;\\n mapping: M;\\n env: E;\\n}\\n/**\\n * Generic constraint for Types - ensures T has required properties for indexed access\\n */\\ntype TypesGeneric$1 = {\\n settings: any;\\n initSettings: any;\\n mapping: any;\\n env: any;\\n};\\n/**\\n * Type extractors for consistent usage with Types bundle\\n */\\ntype Settings$1<T extends TypesGeneric$1 = Types$2> = T['settings'];\\ntype InitSettings$1<T extends TypesGeneric$1 = Types$2> = T['initSettings'];\\ntype Mapping$1<T extends TypesGeneric$1 = Types$2> = T['mapping'];\\ntype Env$1<T extends TypesGeneric$1 = Types$2> = T['env'];\\n/**\\n * Inference helper: Extract Types from Instance\\n */\\ntype TypesOf$1<I> = I extends Instance$2<infer T> ? T : never;\\ninterface Instance$2<T extends TypesGeneric$1 = Types$2> {\\n config: Config$5<T>;\\n queue?: Events;\\n dlq?: DLQ;\\n type?: string;\\n env?: Env$1<T>;\\n init?: InitFn<T>;\\n push: PushFn<T>;\\n pushBatch?: PushBatchFn<T>;\\n on?: OnFn;\\n}\\ninterface Config$5<T extends TypesGeneric$1 = Types$2> {\\n consent?: Consent;\\n settings?: InitSettings$1<T>;\\n data?: Value | Values;\\n env?: Env$1<T>;\\n id?: string;\\n init?: boolean;\\n loadScript?: boolean;\\n logger?: Config$3;\\n mapping?: Rules<Rule<Mapping$1<T>>>;\\n policy?: Policy$1;\\n queue?: boolean;\\n}\\ntype PartialConfig$1<T extends TypesGeneric$1 = Types$2> = Config$5<Types$2<Partial<Settings$1<T>> | Settings$1<T>, Partial<Mapping$1<T>> | Mapping$1<T>, Env$1<T>>>;\\ninterface Policy$1 {\\n [key: string]: Value;\\n}\\ntype Code<T extends TypesGeneric$1 = Types$2> = Instance$2<T> | true;\\ntype Init$1<T extends TypesGeneric$1 = Types$2> = {\\n code: Code<T>;\\n config?: Partial<Config$5<T>>;\\n env?: Partial<Env$1<T>>;\\n};\\ninterface InitDestinations {\\n [key: string]: Init$1<any>;\\n}\\ninterface Destinations {\\n [key: string]: Instance$2;\\n}\\ninterface Context$2<T extends TypesGeneric$1 = Types$2> {\\n collector: Instance$3;\\n config: Config$5<T>;\\n data?: Data$1;\\n env: Env$1<T>;\\n logger: Instance$1;\\n}\\ninterface InitContext<T extends TypesGeneric$1 = Types$2> {\\n collector: Instance$3;\\n config: Config$5<Types$2<Partial<Settings$1<T>>, Mapping$1<T>, Env$1<T>>>;\\n data?: Data$1;\\n env: Env$1<T>;\\n logger: Instance$1;\\n}\\ninterface PushContext<T extends TypesGeneric$1 = Types$2> extends Context$2<T> {\\n mapping?: Rule<Mapping$1<T>>;\\n}\\ninterface PushBatchContext<T extends TypesGeneric$1 = Types$2> extends Context$2<T> {\\n mapping?: Rule<Mapping$1<T>>;\\n}\\ntype InitFn<T extends TypesGeneric$1 = Types$2> = (context: InitContext<T>) => PromiseOrValue<void | false | Config$5<T>>;\\ntype PushFn<T extends TypesGeneric$1 = Types$2> = (event: Event, context: PushContext<T>) => PromiseOrValue<void>;\\ntype PushBatchFn<T extends TypesGeneric$1 = Types$2> = (batch: Batch<Mapping$1<T>>, context: PushBatchContext<T>) => void;\\ntype PushEvent<Mapping = unknown> = {\\n event: Event;\\n mapping?: Rule<Mapping>;\\n};\\ntype PushEvents<Mapping = unknown> = Array<PushEvent<Mapping>>;\\ninterface Batch<Mapping> {\\n key: string;\\n events: Events;\\n data: Array<Data$1>;\\n mapping?: Rule<Mapping>;\\n}\\ntype Data$1 = Property | undefined | Array<Property | undefined>;\\ntype Ref = {\\n id: string;\\n destination: Instance$2;\\n};\\ntype Push$1 = {\\n queue?: Events;\\n error?: unknown;\\n};\\ntype DLQ = Array<[Event, unknown]>;\\ntype Result$1 = {\\n successful: Array<Ref>;\\n queued: Array<Ref>;\\n failed: Array<Ref>;\\n};\\n\\ntype destination_Batch<Mapping> = Batch<Mapping>;\\ntype destination_Code<T extends TypesGeneric$1 = Types$2> = Code<T>;\\ntype destination_DLQ = DLQ;\\ntype destination_Destinations = Destinations;\\ntype destination_InitContext<T extends TypesGeneric$1 = Types$2> = InitContext<T>;\\ntype destination_InitDestinations = InitDestinations;\\ntype destination_InitFn<T extends TypesGeneric$1 = Types$2> = InitFn<T>;\\ntype destination_PushBatchContext<T extends TypesGeneric$1 = Types$2> = PushBatchContext<T>;\\ntype destination_PushBatchFn<T extends TypesGeneric$1 = Types$2> = PushBatchFn<T>;\\ntype destination_PushContext<T extends TypesGeneric$1 = Types$2> = PushContext<T>;\\ntype destination_PushEvent<Mapping = unknown> = PushEvent<Mapping>;\\ntype destination_PushEvents<Mapping = unknown> = PushEvents<Mapping>;\\ntype destination_PushFn<T extends TypesGeneric$1 = Types$2> = PushFn<T>;\\ntype destination_Ref = Ref;\\ndeclare namespace destination {\\n export type { BaseEnv$1 as BaseEnv, destination_Batch as Batch, destination_Code as Code, Config$5 as Config, Context$2 as Context, destination_DLQ as DLQ, Data$1 as Data, destination_Destinations as Destinations, Env$1 as Env, Init$1 as Init, destination_InitContext as InitContext, destination_InitDestinations as InitDestinations, destination_InitFn as InitFn, InitSettings$1 as InitSettings, Instance$2 as Instance, Mapping$1 as Mapping, PartialConfig$1 as PartialConfig, Policy$1 as Policy, Push$1 as Push, destination_PushBatchContext as PushBatchContext, destination_PushBatchFn as PushBatchFn, destination_PushContext as PushContext, destination_PushEvent as PushEvent, destination_PushEvents as PushEvents, destination_PushFn as PushFn, destination_Ref as Ref, Result$1 as Result, Settings$1 as Settings, Types$2 as Types, TypesGeneric$1 as TypesGeneric, TypesOf$1 as TypesOf };\\n}\\n\\ninterface EventFn<R = Promise<PushResult>> {\\n (partialEvent: DeepPartialEvent): R;\\n (event: string): R;\\n (event: string, data: Properties): R;\\n}\\ninterface Fn$1<R = Promise<PushResult>, Config = unknown> extends EventFn<R>, WalkerCommands<R, Config> {\\n}\\ninterface WalkerCommands<R = Promise<PushResult>, Config = unknown> {\\n (event: 'walker config', config: Partial<Config>): R;\\n (event: 'walker consent', consent: Consent): R;\\n <T extends Types$2>(event: 'walker destination', destination: Init$1<T> | Instance$2<T>, config?: Config$5<T>): R;\\n <K extends keyof Functions>(event: 'walker hook', name: K, hookFn: Functions[K]): R;\\n (event: 'walker on', type: Types$1, rules: SingleOrArray<Options>): R;\\n (event: 'walker user', user: User): R;\\n (event: 'walker run', runState: {\\n consent?: Consent;\\n user?: User;\\n globals?: Properties;\\n custom?: Properties;\\n }): R;\\n}\\ntype Event$1<R = Promise<PushResult>> = (partialEvent: DeepPartialEvent) => R;\\ntype PushData<Config = unknown> = DeepPartial<Config> | Consent | User | Properties;\\ninterface PushResult extends Result$1 {\\n event?: Event;\\n ok: boolean;\\n}\\ntype Layer = Array<IArguments | DeepPartialEvent | unknown[]>;\\n\\ntype elb_EventFn<R = Promise<PushResult>> = EventFn<R>;\\ntype elb_Layer = Layer;\\ntype elb_PushData<Config = unknown> = PushData<Config>;\\ntype elb_PushResult = PushResult;\\ntype elb_WalkerCommands<R = Promise<PushResult>, Config = unknown> = WalkerCommands<R, Config>;\\ndeclare namespace elb {\\n export type { Event$1 as Event, elb_EventFn as EventFn, Fn$1 as Fn, elb_Layer as Layer, elb_PushData as PushData, elb_PushResult as PushResult, elb_WalkerCommands as WalkerCommands };\\n}\\n\\n/**\\n * Flow Configuration System\\n *\\n * Core types for walkerOS unified configuration.\\n * Platform-agnostic, runtime-focused.\\n *\\n * The Flow system enables \\\"one config to rule them all\\\" - a single\\n * walkeros.config.json file that manages multiple flows\\n * (web_prod, web_stage, server_prod, etc.) with shared configuration,\\n * variables, and reusable definitions.\\n *\\n * @packageDocumentation\\n */\\n\\n/**\\n * Primitive value types for variables\\n */\\ntype Primitive = string | number | boolean;\\n/**\\n * Variables record type for interpolation.\\n * Used at Setup, Config, Source, and Destination levels.\\n */\\ntype Variables = Record<string, Primitive>;\\n/**\\n * Definitions record type for reusable configurations.\\n * Used at Setup, Config, Source, and Destination levels.\\n */\\ntype Definitions = Record<string, unknown>;\\n/**\\n * Packages configuration for build.\\n */\\ntype Packages = Record<string, {\\n version?: string;\\n imports?: string[];\\n path?: string;\\n}>;\\n/**\\n * Web platform configuration.\\n *\\n * @remarks\\n * Presence of this key indicates web platform (browser-based tracking).\\n * Builds to IIFE format, ES2020 target, browser platform.\\n */\\ninterface Web {\\n /**\\n * Window property name for collector instance.\\n * @default \\\"collector\\\"\\n */\\n windowCollector?: string;\\n /**\\n * Window property name for elb function.\\n * @default \\\"elb\\\"\\n */\\n windowElb?: string;\\n}\\n/**\\n * Server platform configuration.\\n *\\n * @remarks\\n * Presence of this key indicates server platform (Node.js).\\n * Builds to ESM format, Node18 target, node platform.\\n * Reserved for future server-specific options.\\n */\\ninterface Server {\\n}\\n/**\\n * Complete multi-flow configuration.\\n * Root type for walkeros.config.json files.\\n *\\n * @remarks\\n * If only one flow exists, it's auto-selected without --flow flag.\\n * Convention: use \\\"default\\\" as the flow name for single-flow configs.\\n *\\n * @example\\n * ```json\\n * {\\n * \\\"version\\\": 1,\\n * \\\"$schema\\\": \\\"https://walkeros.io/schema/flow/v1.json\\\",\\n * \\\"variables\\\": { \\\"CURRENCY\\\": \\\"USD\\\" },\\n * \\\"flows\\\": {\\n * \\\"default\\\": { \\\"web\\\": {}, ... }\\n * }\\n * }\\n * ```\\n */\\ninterface Setup {\\n /**\\n * Configuration schema version.\\n */\\n version: 1;\\n /**\\n * JSON Schema reference for IDE validation.\\n * @example \\\"https://walkeros.io/schema/flow/v1.json\\\"\\n */\\n $schema?: string;\\n /**\\n * Folders to include in the bundle output.\\n * These folders are copied to dist/ during bundle, making them available\\n * at runtime for both local and Docker execution.\\n *\\n * @remarks\\n * Use for credential files, configuration, or other runtime assets.\\n * Paths are relative to the config file location.\\n * Default: `[\\\"./shared\\\"]` if the folder exists, otherwise `[]`.\\n *\\n * @example\\n * ```json\\n * {\\n * \\\"include\\\": [\\\"./credentials\\\", \\\"./config\\\"]\\n * }\\n * ```\\n */\\n include?: string[];\\n /**\\n * Shared variables for interpolation.\\n * Resolution: process.env > Config.variables > Setup.variables > inline default\\n * Syntax: ${VAR_NAME} or ${VAR_NAME:default}\\n */\\n variables?: Variables;\\n /**\\n * Reusable configuration definitions.\\n * Referenced via JSON Schema $ref syntax: { \\\"$ref\\\": \\\"#/definitions/name\\\" }\\n */\\n definitions?: Definitions;\\n /**\\n * Named flow configurations.\\n * If only one flow exists, it's auto-selected.\\n */\\n flows: Record<string, Config$4>;\\n}\\n/**\\n * Single flow configuration.\\n * Represents one deployment target (e.g., web_prod, server_stage).\\n *\\n * @remarks\\n * Platform is determined by presence of `web` or `server` key.\\n * Exactly one must be present.\\n *\\n * Variables/definitions cascade: source/destination > config > setup\\n */\\ninterface Config$4 {\\n /**\\n * Web platform configuration.\\n * Presence indicates web platform (browser-based tracking).\\n * Mutually exclusive with `server`.\\n */\\n web?: Web;\\n /**\\n * Server platform configuration.\\n * Presence indicates server platform (Node.js).\\n * Mutually exclusive with `web`.\\n */\\n server?: Server;\\n /**\\n * Source configurations (data capture).\\n *\\n * @remarks\\n * Sources capture events from various origins:\\n * - Browser DOM interactions (clicks, page views)\\n * - DataLayer pushes\\n * - HTTP requests (server-side)\\n * - Cloud function triggers\\n *\\n * Key = unique source identifier (arbitrary)\\n * Value = source reference with package and config\\n *\\n * @example\\n * ```json\\n * {\\n * \\\"sources\\\": {\\n * \\\"browser\\\": {\\n * \\\"package\\\": \\\"@walkeros/web-source-browser\\\",\\n * \\\"config\\\": {\\n * \\\"settings\\\": {\\n * \\\"pageview\\\": true,\\n * \\\"session\\\": true\\n * }\\n * }\\n * }\\n * }\\n * }\\n * ```\\n */\\n sources?: Record<string, SourceReference>;\\n /**\\n * Destination configurations (data output).\\n *\\n * @remarks\\n * Destinations send processed events to external services:\\n * - Google Analytics (gtag)\\n * - Meta Pixel (fbq)\\n * - Custom APIs\\n * - Data warehouses\\n *\\n * Key = unique destination identifier (arbitrary)\\n * Value = destination reference with package and config\\n *\\n * @example\\n * ```json\\n * {\\n * \\\"destinations\\\": {\\n * \\\"gtag\\\": {\\n * \\\"package\\\": \\\"@walkeros/web-destination-gtag\\\",\\n * \\\"config\\\": {\\n * \\\"settings\\\": {\\n * \\\"ga4\\\": { \\\"measurementId\\\": \\\"G-XXXXXXXXXX\\\" }\\n * }\\n * }\\n * }\\n * }\\n * }\\n * ```\\n */\\n destinations?: Record<string, DestinationReference>;\\n /**\\n * Collector configuration (event processing).\\n *\\n * @remarks\\n * The collector is the central event processing engine.\\n * Configuration includes:\\n * - Consent management\\n * - Global properties\\n * - User identification\\n * - Processing rules\\n *\\n * @see {@link Collector.InitConfig} for complete options\\n *\\n * @example\\n * ```json\\n * {\\n * \\\"collector\\\": {\\n * \\\"run\\\": true,\\n * \\\"tagging\\\": 1,\\n * \\\"consent\\\": {\\n * \\\"functional\\\": true,\\n * \\\"marketing\\\": false\\n * },\\n * \\\"globals\\\": {\\n * \\\"currency\\\": \\\"USD\\\",\\n * \\\"environment\\\": \\\"production\\\"\\n * }\\n * }\\n * }\\n * ```\\n */\\n collector?: InitConfig;\\n /**\\n * NPM packages to bundle.\\n */\\n packages?: Packages;\\n /**\\n * Flow-level variables.\\n * Override Setup.variables, overridden by source/destination variables.\\n */\\n variables?: Variables;\\n /**\\n * Flow-level definitions.\\n * Extend Setup.definitions, overridden by source/destination definitions.\\n */\\n definitions?: Definitions;\\n}\\n/**\\n * Source reference with inline package syntax.\\n *\\n * @remarks\\n * References a source package and provides configuration.\\n * The package is automatically downloaded and imported during build.\\n */\\ninterface SourceReference {\\n /**\\n * Package specifier with optional version.\\n *\\n * @remarks\\n * Formats:\\n * - `\\\"@walkeros/web-source-browser\\\"` - Latest version\\n * - `\\\"@walkeros/web-source-browser@2.0.0\\\"` - Specific version\\n * - `\\\"@walkeros/web-source-browser@^2.0.0\\\"` - Semver range\\n *\\n * The CLI will:\\n * 1. Parse the package reference\\n * 2. Download from npm\\n * 3. Auto-detect default or named export\\n * 4. Generate import statement\\n *\\n * @example\\n * \\\"package\\\": \\\"@walkeros/web-source-browser@latest\\\"\\n */\\n package: string;\\n /**\\n * Resolved import variable name.\\n *\\n * @remarks\\n * Auto-resolved from packages[package].imports[0] during getFlowConfig().\\n * Can also be provided explicitly for advanced use cases.\\n */\\n code?: string;\\n /**\\n * Source-specific configuration.\\n *\\n * @remarks\\n * Structure depends on the source package.\\n * Passed to the source's initialization function.\\n *\\n * @example\\n * ```json\\n * {\\n * \\\"config\\\": {\\n * \\\"settings\\\": {\\n * \\\"pageview\\\": true,\\n * \\\"session\\\": true,\\n * \\\"elb\\\": \\\"elb\\\",\\n * \\\"prefix\\\": \\\"data-elb\\\"\\n * }\\n * }\\n * }\\n * ```\\n */\\n config?: unknown;\\n /**\\n * Source environment configuration.\\n *\\n * @remarks\\n * Environment-specific settings for the source.\\n * Merged with default source environment.\\n */\\n env?: unknown;\\n /**\\n * Mark as primary source (provides main ELB).\\n *\\n * @remarks\\n * The primary source's ELB function is returned by `startFlow()`.\\n * Only one source should be marked as primary per flow.\\n *\\n * @default false\\n */\\n primary?: boolean;\\n /**\\n * Source-level variables (highest priority in cascade).\\n * Overrides flow and setup variables.\\n */\\n variables?: Variables;\\n /**\\n * Source-level definitions (highest priority in cascade).\\n * Overrides flow and setup definitions.\\n */\\n definitions?: Definitions;\\n}\\n/**\\n * Destination reference with inline package syntax.\\n *\\n * @remarks\\n * References a destination package and provides configuration.\\n * Structure mirrors SourceReference for consistency.\\n */\\ninterface DestinationReference {\\n /**\\n * Package specifier with optional version.\\n *\\n * @remarks\\n * Same format as SourceReference.package\\n *\\n * @example\\n * \\\"package\\\": \\\"@walkeros/web-destination-gtag@2.0.0\\\"\\n */\\n package: string;\\n /**\\n * Resolved import variable name.\\n *\\n * @remarks\\n * Auto-resolved from packages[package].imports[0] during getFlowConfig().\\n * Can also be provided explicitly for advanced use cases.\\n */\\n code?: string;\\n /**\\n * Destination-specific configuration.\\n *\\n * @remarks\\n * Structure depends on the destination package.\\n * Typically includes:\\n * - settings: API keys, IDs, endpoints\\n * - mapping: Event transformation rules\\n * - consent: Required consent states\\n * - policy: Processing rules\\n *\\n * @example\\n * ```json\\n * {\\n * \\\"config\\\": {\\n * \\\"settings\\\": {\\n * \\\"ga4\\\": {\\n * \\\"measurementId\\\": \\\"G-XXXXXXXXXX\\\"\\n * }\\n * },\\n * \\\"mapping\\\": {\\n * \\\"page\\\": {\\n * \\\"view\\\": {\\n * \\\"name\\\": \\\"page_view\\\",\\n * \\\"data\\\": { ... }\\n * }\\n * }\\n * }\\n * }\\n * }\\n * ```\\n */\\n config?: unknown;\\n /**\\n * Destination environment configuration.\\n *\\n * @remarks\\n * Environment-specific settings for the destination.\\n * Merged with default destination environment.\\n */\\n env?: unknown;\\n /**\\n * Destination-level variables (highest priority in cascade).\\n * Overrides flow and setup variables.\\n */\\n variables?: Variables;\\n /**\\n * Destination-level definitions (highest priority in cascade).\\n * Overrides flow and setup definitions.\\n */\\n definitions?: Definitions;\\n}\\n\\ntype flow_Definitions = Definitions;\\ntype flow_DestinationReference = DestinationReference;\\ntype flow_Packages = Packages;\\ntype flow_Primitive = Primitive;\\ntype flow_Server = Server;\\ntype flow_Setup = Setup;\\ntype flow_SourceReference = SourceReference;\\ntype flow_Variables = Variables;\\ntype flow_Web = Web;\\ndeclare namespace flow {\\n export type { Config$4 as Config, flow_Definitions as Definitions, flow_DestinationReference as DestinationReference, flow_Packages as Packages, flow_Primitive as Primitive, flow_Server as Server, flow_Setup as Setup, flow_SourceReference as SourceReference, flow_Variables as Variables, flow_Web as Web };\\n}\\n\\ntype AnyFunction$1<P extends unknown[] = never[], R = unknown> = (...args: P) => R;\\ntype Functions = {\\n [key: string]: AnyFunction$1;\\n};\\ninterface Parameter<P extends unknown[], R> {\\n fn: (...args: P) => R;\\n result?: R;\\n}\\ntype HookFn<T extends AnyFunction$1> = (params: Parameter<Parameters<T>, ReturnType<T>>, ...args: Parameters<T>) => ReturnType<T>;\\n\\ntype hooks_Functions = Functions;\\ntype hooks_HookFn<T extends AnyFunction$1> = HookFn<T>;\\ndeclare namespace hooks {\\n export type { AnyFunction$1 as AnyFunction, hooks_Functions as Functions, hooks_HookFn as HookFn };\\n}\\n\\n/**\\n * Log levels from most to least severe\\n */\\ndeclare enum Level {\\n ERROR = 0,\\n INFO = 1,\\n DEBUG = 2\\n}\\n/**\\n * Normalized error context extracted from Error objects\\n */\\ninterface ErrorContext {\\n message: string;\\n name: string;\\n stack?: string;\\n cause?: unknown;\\n}\\n/**\\n * Context passed to log handlers\\n * If an Error was passed, it's normalized into the error property\\n */\\ninterface LogContext {\\n [key: string]: unknown;\\n error?: ErrorContext;\\n}\\n/**\\n * Log message function signature\\n * Accepts string or Error as message, with optional context\\n */\\ntype LogFn = (message: string | Error, context?: unknown | Error) => void;\\n/**\\n * Throw function signature - logs error then throws\\n * Returns never as it always throws\\n */\\ntype ThrowFn = (message: string | Error, context?: unknown) => never;\\n/**\\n * Default handler function (passed to custom handlers for chaining)\\n */\\ntype DefaultHandler = (level: Level, message: string, context: LogContext, scope: string[]) => void;\\n/**\\n * Custom log handler function\\n * Receives originalHandler to allow middleware-style chaining\\n */\\ntype Handler = (level: Level, message: string, context: LogContext, scope: string[], originalHandler: DefaultHandler) => void;\\n/**\\n * Logger instance with scoping support\\n * All logs automatically include trace path from scoping\\n */\\ninterface Instance$1 {\\n /**\\n * Log an error message (always visible unless silenced)\\n */\\n error: LogFn;\\n /**\\n * Log an informational message\\n */\\n info: LogFn;\\n /**\\n * Log a debug message\\n */\\n debug: LogFn;\\n /**\\n * Log an error message and throw an Error\\n * Combines logging and throwing in one call\\n */\\n throw: ThrowFn;\\n /**\\n * Create a scoped child logger with automatic trace path\\n * @param name - Scope name (e.g., destination type, destination key)\\n * @returns A new logger instance with the scope applied\\n */\\n scope: (name: string) => Instance$1;\\n}\\n/**\\n * Logger configuration options\\n */\\ninterface Config$3 {\\n /**\\n * Minimum log level to display\\n * @default Level.ERROR\\n */\\n level?: Level | keyof typeof Level;\\n /**\\n * Custom log handler function\\n * Receives originalHandler to preserve default behavior\\n */\\n handler?: Handler;\\n}\\n/**\\n * Internal config with resolved values and scope\\n */\\ninterface InternalConfig {\\n level: Level;\\n handler?: Handler;\\n scope: string[];\\n}\\n/**\\n * Logger factory function type\\n */\\ntype Factory = (config?: Config$3) => Instance$1;\\n\\ntype logger_DefaultHandler = DefaultHandler;\\ntype logger_ErrorContext = ErrorContext;\\ntype logger_Factory = Factory;\\ntype logger_Handler = Handler;\\ntype logger_InternalConfig = InternalConfig;\\ntype logger_Level = Level;\\ndeclare const logger_Level: typeof Level;\\ntype logger_LogContext = LogContext;\\ntype logger_LogFn = LogFn;\\ntype logger_ThrowFn = ThrowFn;\\ndeclare namespace logger {\\n export { type Config$3 as Config, type logger_DefaultHandler as DefaultHandler, type logger_ErrorContext as ErrorContext, type logger_Factory as Factory, type logger_Handler as Handler, type Instance$1 as Instance, type logger_InternalConfig as InternalConfig, logger_Level as Level, type logger_LogContext as LogContext, type logger_LogFn as LogFn, type logger_ThrowFn as ThrowFn };\\n}\\n\\n/**\\n * Shared mapping configuration interface.\\n * Used by both Source.Config and Destination.Config.\\n */\\ninterface Config$2<T = unknown> {\\n consent?: Consent;\\n data?: Value | Values;\\n mapping?: Rules<Rule<T>>;\\n policy?: Policy;\\n}\\ninterface Policy {\\n [key: string]: Value;\\n}\\ninterface Rules<T = Rule> {\\n [entity: string]: Record<string, T | Array<T>> | undefined;\\n}\\ninterface Rule<Settings = unknown> {\\n batch?: number;\\n batchFn?: (destination: Instance$2, collector: Instance$3) => void;\\n batched?: Batch<Settings>;\\n condition?: Condition;\\n consent?: Consent;\\n settings?: Settings;\\n data?: Data;\\n ignore?: boolean;\\n name?: string;\\n policy?: Policy;\\n}\\ninterface Result {\\n eventMapping?: Rule;\\n mappingKey?: string;\\n}\\ntype Data = Value | Values;\\ntype Value = ValueType | Array<ValueType>;\\ntype Values = Array<Value>;\\ntype ValueType = string | ValueConfig;\\ninterface ValueConfig {\\n condition?: Condition;\\n consent?: Consent;\\n fn?: Fn;\\n key?: string;\\n loop?: Loop;\\n map?: Map;\\n set?: Value[];\\n validate?: Validate;\\n value?: PropertyType;\\n}\\ntype Condition = (value: DeepPartialEvent | unknown, mapping?: Value, collector?: Instance$3) => PromiseOrValue<boolean>;\\ntype Fn = (value: DeepPartialEvent | unknown, mapping: Value, options: Options$1) => PromiseOrValue<Property | unknown>;\\ntype Loop = [Value, Value];\\ntype Map = {\\n [key: string]: Value;\\n};\\ninterface Options$1 {\\n consent?: Consent;\\n collector?: Instance$3;\\n props?: unknown;\\n}\\ntype Validate = (value?: unknown) => PromiseOrValue<boolean>;\\n\\ntype mapping_Condition = Condition;\\ntype mapping_Data = Data;\\ntype mapping_Fn = Fn;\\ntype mapping_Loop = Loop;\\ntype mapping_Map = Map;\\ntype mapping_Policy = Policy;\\ntype mapping_Result = Result;\\ntype mapping_Rule<Settings = unknown> = Rule<Settings>;\\ntype mapping_Rules<T = Rule> = Rules<T>;\\ntype mapping_Validate = Validate;\\ntype mapping_Value = Value;\\ntype mapping_ValueConfig = ValueConfig;\\ntype mapping_ValueType = ValueType;\\ntype mapping_Values = Values;\\ndeclare namespace mapping {\\n export type { mapping_Condition as Condition, Config$2 as Config, mapping_Data as Data, mapping_Fn as Fn, mapping_Loop as Loop, mapping_Map as Map, Options$1 as Options, mapping_Policy as Policy, mapping_Result as Result, mapping_Rule as Rule, mapping_Rules as Rules, mapping_Validate as Validate, mapping_Value as Value, mapping_ValueConfig as ValueConfig, mapping_ValueType as ValueType, mapping_Values as Values };\\n}\\n\\ntype Config$1 = {\\n consent?: Array<ConsentConfig>;\\n ready?: Array<ReadyConfig>;\\n run?: Array<RunConfig>;\\n session?: Array<SessionConfig>;\\n};\\ntype Types$1 = keyof Config$1;\\ninterface EventContextMap {\\n consent: Consent;\\n session: SessionData;\\n ready: undefined;\\n run: undefined;\\n}\\ntype EventContext<T extends Types$1> = EventContextMap[T];\\ntype AnyEventContext = EventContextMap[keyof EventContextMap];\\ninterface Context$1 {\\n consent?: Consent;\\n session?: unknown;\\n}\\ntype Options = ConsentConfig | ReadyConfig | RunConfig | SessionConfig;\\ninterface ConsentConfig {\\n [key: string]: ConsentFn;\\n}\\ntype ConsentFn = (collector: Instance$3, consent: Consent) => void;\\ntype ReadyConfig = ReadyFn;\\ntype ReadyFn = (collector: Instance$3) => void;\\ntype RunConfig = RunFn;\\ntype RunFn = (collector: Instance$3) => void;\\ntype SessionConfig = SessionFn;\\ntype SessionFn = (collector: Instance$3, session?: unknown) => void;\\ninterface OnConfig {\\n consent?: ConsentConfig[];\\n ready?: ReadyConfig[];\\n run?: RunConfig[];\\n session?: SessionConfig[];\\n [key: string]: ConsentConfig[] | ReadyConfig[] | RunConfig[] | SessionConfig[] | undefined;\\n}\\ntype OnFn<T extends TypesGeneric$1 = Types$2> = (type: Types$1, context: Context$2<T>) => PromiseOrValue<void>;\\ntype OnFnRuntime = (type: Types$1, context: Context$2) => PromiseOrValue<void>;\\n\\ntype on_AnyEventContext = AnyEventContext;\\ntype on_ConsentConfig = ConsentConfig;\\ntype on_ConsentFn = ConsentFn;\\ntype on_EventContext<T extends Types$1> = EventContext<T>;\\ntype on_EventContextMap = EventContextMap;\\ntype on_OnConfig = OnConfig;\\ntype on_OnFn<T extends TypesGeneric$1 = Types$2> = OnFn<T>;\\ntype on_OnFnRuntime = OnFnRuntime;\\ntype on_Options = Options;\\ntype on_ReadyConfig = ReadyConfig;\\ntype on_ReadyFn = ReadyFn;\\ntype on_RunConfig = RunConfig;\\ntype on_RunFn = RunFn;\\ntype on_SessionConfig = SessionConfig;\\ntype on_SessionFn = SessionFn;\\ndeclare namespace on {\\n export type { on_AnyEventContext as AnyEventContext, Config$1 as Config, on_ConsentConfig as ConsentConfig, on_ConsentFn as ConsentFn, Context$1 as Context, on_EventContext as EventContext, on_EventContextMap as EventContextMap, on_OnConfig as OnConfig, on_OnFn as OnFn, on_OnFnRuntime as OnFnRuntime, on_Options as Options, on_ReadyConfig as ReadyConfig, on_ReadyFn as ReadyFn, on_RunConfig as RunConfig, on_RunFn as RunFn, on_SessionConfig as SessionConfig, on_SessionFn as SessionFn, Types$1 as Types };\\n}\\n\\ninterface Context {\\n city?: string;\\n country?: string;\\n encoding?: string;\\n hash?: string;\\n ip?: string;\\n language?: string;\\n origin?: string;\\n region?: string;\\n userAgent?: string;\\n [key: string]: string | undefined;\\n}\\n\\ntype request_Context = Context;\\ndeclare namespace request {\\n export type { request_Context as Context };\\n}\\n\\ntype Contracts = Array<Contract>;\\ntype Contract = {\\n [entity: string]: {\\n [action: string]: Properties$1;\\n };\\n};\\ntype Properties$1 = {\\n [key: string]: Property$1 | undefined;\\n};\\ntype Property$1 = {\\n allowedKeys?: string[];\\n allowedValues?: unknown[];\\n maxLength?: number;\\n max?: number;\\n min?: number;\\n required?: boolean;\\n schema?: Properties$1;\\n strict?: boolean;\\n type?: string;\\n validate?: (value: unknown, key: string, event: AnyObject) => Property;\\n};\\n\\ntype schema_Contract = Contract;\\ntype schema_Contracts = Contracts;\\ndeclare namespace schema {\\n export type { schema_Contract as Contract, schema_Contracts as Contracts, Properties$1 as Properties, Property$1 as Property };\\n}\\n\\n/**\\n * Base Env interface for dependency injection into sources.\\n *\\n * Sources receive all their dependencies through this environment object,\\n * making them platform-agnostic and easily testable.\\n */\\ninterface BaseEnv {\\n [key: string]: unknown;\\n push: PushFn$1;\\n command: CommandFn;\\n sources?: Sources;\\n elb: Fn$1;\\n logger: Instance$1;\\n}\\n/**\\n * Type bundle for source generics.\\n * Groups Settings, Mapping, Push, Env, and InitSettings into a single type parameter.\\n *\\n * @template S - Settings configuration type\\n * @template M - Mapping configuration type\\n * @template P - Push function signature (flexible to support HTTP handlers, etc.)\\n * @template E - Environment dependencies type\\n * @template I - InitSettings configuration type (user input)\\n */\\ninterface Types<S = unknown, M = unknown, P = Fn$1, E = BaseEnv, I = S> {\\n settings: S;\\n initSettings: I;\\n mapping: M;\\n push: P;\\n env: E;\\n}\\n/**\\n * Generic constraint for Types - ensures T has required properties for indexed access\\n */\\ntype TypesGeneric = {\\n settings: any;\\n initSettings: any;\\n mapping: any;\\n push: any;\\n env: any;\\n};\\n/**\\n * Type extractors for consistent usage with Types bundle\\n */\\ntype Settings<T extends TypesGeneric = Types> = T['settings'];\\ntype InitSettings<T extends TypesGeneric = Types> = T['initSettings'];\\ntype Mapping<T extends TypesGeneric = Types> = T['mapping'];\\ntype Push<T extends TypesGeneric = Types> = T['push'];\\ntype Env<T extends TypesGeneric = Types> = T['env'];\\n/**\\n * Inference helper: Extract Types from Instance\\n */\\ntype TypesOf<I> = I extends Instance<infer T> ? T : never;\\ninterface Config<T extends TypesGeneric = Types> extends Config$2<Mapping<T>> {\\n settings?: InitSettings<T>;\\n env?: Env<T>;\\n id?: string;\\n logger?: Config$3;\\n disabled?: boolean;\\n primary?: boolean;\\n}\\ntype PartialConfig<T extends TypesGeneric = Types> = Config<Types<Partial<Settings<T>> | Settings<T>, Partial<Mapping<T>> | Mapping<T>, Push<T>, Env<T>>>;\\ninterface Instance<T extends TypesGeneric = Types> {\\n type: string;\\n config: Config<T>;\\n push: Push<T>;\\n destroy?(): void | Promise<void>;\\n on?(event: Types$1, context?: unknown): void | Promise<void>;\\n}\\ntype Init<T extends TypesGeneric = Types> = (config: Partial<Config<T>>, env: Env<T>) => Instance<T> | Promise<Instance<T>>;\\ntype InitSource<T extends TypesGeneric = Types> = {\\n code: Init<T>;\\n config?: Partial<Config<T>>;\\n env?: Partial<Env<T>>;\\n primary?: boolean;\\n};\\n/**\\n * Sources configuration for collector.\\n * Maps source IDs to their initialization configurations.\\n */\\ninterface InitSources {\\n [sourceId: string]: InitSource<any>;\\n}\\n\\ntype source_BaseEnv = BaseEnv;\\ntype source_Config<T extends TypesGeneric = Types> = Config<T>;\\ntype source_Env<T extends TypesGeneric = Types> = Env<T>;\\ntype source_Init<T extends TypesGeneric = Types> = Init<T>;\\ntype source_InitSettings<T extends TypesGeneric = Types> = InitSettings<T>;\\ntype source_InitSource<T extends TypesGeneric = Types> = InitSource<T>;\\ntype source_InitSources = InitSources;\\ntype source_Instance<T extends TypesGeneric = Types> = Instance<T>;\\ntype source_Mapping<T extends TypesGeneric = Types> = Mapping<T>;\\ntype source_PartialConfig<T extends TypesGeneric = Types> = PartialConfig<T>;\\ntype source_Push<T extends TypesGeneric = Types> = Push<T>;\\ntype source_Settings<T extends TypesGeneric = Types> = Settings<T>;\\ntype source_Types<S = unknown, M = unknown, P = Fn$1, E = BaseEnv, I = S> = Types<S, M, P, E, I>;\\ntype source_TypesGeneric = TypesGeneric;\\ntype source_TypesOf<I> = TypesOf<I>;\\ndeclare namespace source {\\n export type { source_BaseEnv as BaseEnv, source_Config as Config, source_Env as Env, source_Init as Init, source_InitSettings as InitSettings, source_InitSource as InitSource, source_InitSources as InitSources, source_Instance as Instance, source_Mapping as Mapping, source_PartialConfig as PartialConfig, source_Push as Push, source_Settings as Settings, source_Types as Types, source_TypesGeneric as TypesGeneric, source_TypesOf as TypesOf };\\n}\\n\\ntype AnyObject<T = unknown> = Record<string, T>;\\ntype Elb = Fn$1;\\ntype AnyFunction = (...args: unknown[]) => unknown;\\ntype SingleOrArray<T> = T | Array<T>;\\ntype Events = Array<Event>;\\ntype PartialEvent = Partial<Event>;\\ntype DeepPartialEvent = DeepPartial<Event>;\\ninterface Event {\\n name: string;\\n data: Properties;\\n context: OrderedProperties;\\n globals: Properties;\\n custom: Properties;\\n user: User;\\n nested: Entities;\\n consent: Consent;\\n id: string;\\n trigger: string;\\n entity: string;\\n action: string;\\n timestamp: number;\\n timing: number;\\n group: string;\\n count: number;\\n version: Version;\\n source: Source;\\n}\\ninterface Consent {\\n [name: string]: boolean;\\n}\\ninterface User extends Properties {\\n id?: string;\\n device?: string;\\n session?: string;\\n hash?: string;\\n address?: string;\\n email?: string;\\n phone?: string;\\n userAgent?: string;\\n browser?: string;\\n browserVersion?: string;\\n deviceType?: string;\\n language?: string;\\n country?: string;\\n region?: string;\\n city?: string;\\n zip?: string;\\n timezone?: string;\\n os?: string;\\n osVersion?: string;\\n screenSize?: string;\\n ip?: string;\\n internal?: boolean;\\n}\\ninterface Version extends Properties {\\n source: string;\\n tagging: number;\\n}\\ninterface Source extends Properties {\\n type: SourceType;\\n id: string;\\n previous_id: string;\\n}\\ntype SourceType = 'web' | 'server' | 'app' | 'other' | string;\\ntype PropertyType = boolean | string | number | {\\n [key: string]: Property;\\n};\\ntype Property = PropertyType | Array<PropertyType>;\\ninterface Properties {\\n [key: string]: Property | undefined;\\n}\\ninterface OrderedProperties {\\n [key: string]: [Property, number] | undefined;\\n}\\ntype Entities = Array<Entity>;\\ninterface Entity {\\n entity: string;\\n data: Properties;\\n nested: Entities;\\n context: OrderedProperties;\\n}\\ntype ConsentHandler = Record<string, AnyFunction>;\\ntype ActionHandler = AnyFunction;\\ntype DeepPartial<T> = {\\n [P in keyof T]?: T[P] extends object ? DeepPartial<T[P]> : T[P];\\n};\\ntype PromiseOrValue<T> = T | Promise<T>;\\n\\ntype walkeros_ActionHandler = ActionHandler;\\ntype walkeros_AnyFunction = AnyFunction;\\ntype walkeros_AnyObject<T = unknown> = AnyObject<T>;\\ntype walkeros_Consent = Consent;\\ntype walkeros_ConsentHandler = ConsentHandler;\\ntype walkeros_DeepPartial<T> = DeepPartial<T>;\\ntype walkeros_DeepPartialEvent = DeepPartialEvent;\\ntype walkeros_Elb = Elb;\\ntype walkeros_Entities = Entities;\\ntype walkeros_Entity = Entity;\\ntype walkeros_Event = Event;\\ntype walkeros_Events = Events;\\ntype walkeros_OrderedProperties = OrderedProperties;\\ntype walkeros_PartialEvent = PartialEvent;\\ntype walkeros_PromiseOrValue<T> = PromiseOrValue<T>;\\ntype walkeros_Properties = Properties;\\ntype walkeros_Property = Property;\\ntype walkeros_PropertyType = PropertyType;\\ntype walkeros_SingleOrArray<T> = SingleOrArray<T>;\\ntype walkeros_Source = Source;\\ntype walkeros_SourceType = SourceType;\\ntype walkeros_User = User;\\ntype walkeros_Version = Version;\\ndeclare namespace walkeros {\\n export type { walkeros_ActionHandler as ActionHandler, walkeros_AnyFunction as AnyFunction, walkeros_AnyObject as AnyObject, walkeros_Consent as Consent, walkeros_ConsentHandler as ConsentHandler, walkeros_DeepPartial as DeepPartial, walkeros_DeepPartialEvent as DeepPartialEvent, walkeros_Elb as Elb, walkeros_Entities as Entities, walkeros_Entity as Entity, walkeros_Event as Event, walkeros_Events as Events, walkeros_OrderedProperties as OrderedProperties, walkeros_PartialEvent as PartialEvent, walkeros_PromiseOrValue as PromiseOrValue, walkeros_Properties as Properties, walkeros_Property as Property, walkeros_PropertyType as PropertyType, walkeros_SingleOrArray as SingleOrArray, walkeros_Source as Source, walkeros_SourceType as SourceType, walkeros_User as User, walkeros_Version as Version };\\n}\\n\\ntype StorageType = 'local' | 'session' | 'cookie';\\ndeclare const Const: {\\n readonly Utils: {\\n readonly Storage: {\\n readonly Local: \\\"local\\\";\\n readonly Session: \\\"session\\\";\\n readonly Cookie: \\\"cookie\\\";\\n };\\n };\\n};\\n\\ntype SendDataValue = Property | Properties;\\ntype SendHeaders = {\\n [key: string]: string;\\n};\\ninterface SendResponse {\\n ok: boolean;\\n data?: unknown;\\n error?: string;\\n}\\n\\n/**\\n * Anonymizes an IPv4 address by setting the last octet to 0.\\n *\\n * @param ip The IP address to anonymize.\\n * @returns The anonymized IP address or an empty string if the IP is invalid.\\n */\\ndeclare function anonymizeIP(ip: string): string;\\n\\n/**\\n * Flow Configuration Utilities\\n *\\n * Functions for resolving and processing Flow configurations.\\n *\\n * @packageDocumentation\\n */\\n\\n/**\\n * Convert package name to valid JavaScript variable name.\\n * Used for deterministic default import naming.\\n * @example\\n * packageNameToVariable('@walkeros/server-destination-api')\\n * // → '_walkerosServerDestinationApi'\\n */\\ndeclare function packageNameToVariable(packageName: string): string;\\n/**\\n * Get resolved flow configuration for a named flow.\\n *\\n * @param setup - The complete setup configuration\\n * @param flowName - Flow name (auto-selected if only one exists)\\n * @returns Resolved Config with variables/definitions interpolated and $refs resolved\\n * @throws Error if flow selection is required but not specified, or flow not found\\n *\\n * @example\\n * ```typescript\\n * import { getFlowConfig } from '@walkeros/core';\\n *\\n * const setup = JSON.parse(fs.readFileSync('walkeros.config.json', 'utf8'));\\n *\\n * // Auto-select if only one flow\\n * const config = getFlowConfig(setup);\\n *\\n * // Or specify flow\\n * const prodConfig = getFlowConfig(setup, 'production');\\n * ```\\n */\\ndeclare function getFlowConfig(setup: Setup, flowName?: string): Config$4;\\n/**\\n * Get platform from config (web or server).\\n *\\n * @param config - Flow configuration\\n * @returns \\\"web\\\" or \\\"server\\\"\\n * @throws Error if neither web nor server is present\\n *\\n * @example\\n * ```typescript\\n * import { getPlatform } from '@walkeros/core';\\n *\\n * const platform = getPlatform(config);\\n * // Returns \\\"web\\\" or \\\"server\\\"\\n * ```\\n */\\ndeclare function getPlatform(config: Config$4): 'web' | 'server';\\n\\n/**\\n * @interface Assign\\n * @description Options for the assign function.\\n * @property merge - Merge array properties instead of overriding them.\\n * @property shallow - Create a shallow copy instead of updating the target object.\\n * @property extend - Extend the target with new properties instead of only updating existing ones.\\n */\\ninterface Assign {\\n merge?: boolean;\\n shallow?: boolean;\\n extend?: boolean;\\n}\\n/**\\n * Merges objects with advanced options.\\n *\\n * @template T, U\\n * @param target - The target object to merge into.\\n * @param obj - The source object to merge from.\\n * @param options - Options for merging.\\n * @returns The merged object.\\n */\\ndeclare function assign<T extends object, U extends object>(target: T, obj?: U, options?: Assign): T & U;\\n\\n/**\\n * Gets a value from an object by a dot-notation string.\\n * Supports wildcards for arrays.\\n *\\n * @example\\n * getByPath({ data: { id: 1 } }, \\\"data.id\\\") // Returns 1\\n *\\n * @param event - The object to get the value from.\\n * @param key - The dot-notation string.\\n * @param defaultValue - The default value to return if the key is not found.\\n * @returns The value from the object or the default value.\\n */\\ndeclare function getByPath(event: unknown, key?: string, defaultValue?: unknown): unknown;\\n/**\\n * Sets a value in an object by a dot-notation string.\\n *\\n * @param obj - The object to set the value in.\\n * @param key - The dot-notation string.\\n * @param value - The value to set.\\n * @returns A new object with the updated value.\\n */\\ndeclare function setByPath<T = unknown>(obj: T, key: string, value: unknown): T;\\n\\n/**\\n * Casts a value to a specific type.\\n *\\n * @param value The value to cast.\\n * @returns The casted value.\\n */\\ndeclare function castValue(value: unknown): PropertyType;\\n\\n/**\\n * Creates a deep clone of a value.\\n * Supports primitive values, objects, arrays, dates, and regular expressions.\\n * Handles circular references.\\n *\\n * @template T\\n * @param org - The value to clone.\\n * @param visited - A map of visited objects to handle circular references.\\n * @returns The cloned value.\\n */\\ndeclare function clone<T>(org: T, visited?: WeakMap<object, unknown>): T;\\n\\n/**\\n * Checks if the required consent is granted.\\n *\\n * @param required - The required consent states.\\n * @param state - The current consent states.\\n * @param individual - Individual consent states to prioritize.\\n * @returns The granted consent states or false if not granted.\\n */\\ndeclare function getGrantedConsent(required: Consent | undefined, state?: Consent, individual?: Consent): false | Consent;\\n\\n/**\\n * Creates a new destination instance by merging a base destination with additional configuration.\\n *\\n * This utility enables elegant destination configuration while avoiding config side-effects\\n * that could occur when reusing destination objects across multiple collector instances.\\n *\\n * @param baseDestination - The base destination to extend\\n * @param config - Additional configuration to merge with the base destination's config\\n * @returns A new destination instance with merged configuration\\n *\\n * @example\\n * ```typescript\\n * // Types are inferred automatically from destinationGtag\\n * elb('walker destination', createDestination(destinationGtag, {\\n * settings: { ga4: { measurementId: 'G-123' } }\\n * }));\\n * ```\\n */\\ndeclare function createDestination<I extends Instance$2>(baseDestination: I, config: Partial<Config$5<TypesOf$1<I>>>): I;\\n\\n/**\\n * Creates a complete event with default values.\\n * Used for testing and debugging.\\n *\\n * @param props - Properties to override the default values.\\n * @returns A complete event.\\n */\\ndeclare function createEvent(props?: DeepPartialEvent): Event;\\n/**\\n * Creates a complete event with default values based on the event name.\\n * Used for testing and debugging.\\n *\\n * @param name - The name of the event to create.\\n * @param props - Properties to override the default values.\\n * @returns A complete event.\\n */\\ndeclare function getEvent(name?: string, props?: DeepPartialEvent): Event;\\n\\n/**\\n * Generates a random string of a given length.\\n *\\n * @param length - The length of the random string.\\n * @returns The random string.\\n */\\ndeclare function getId(length?: number): string;\\n\\ninterface MarketingParameters {\\n [key: string]: string;\\n}\\n/**\\n * Extracts marketing parameters from a URL.\\n *\\n * @param url - The URL to extract the parameters from.\\n * @param custom - Custom marketing parameters to extract.\\n * @returns The extracted marketing parameters.\\n */\\ndeclare function getMarketingParameters(url: URL, custom?: MarketingParameters): Properties;\\n\\n/**\\n * Creates a debounced function that delays invoking `fn` until after `wait`\\n * milliseconds have elapsed since the last time the debounced function was\\n * invoked. The debounced function comes with a `cancel` method to cancel\\n * delayed `fn` invocations and a `flush` method to immediately invoke them.\\n *\\n * @template P, R\\n * @param fn The function to debounce.\\n * @param wait The number of milliseconds to delay.\\n * @param immediate Trigger the function on the leading edge, instead of the trailing.\\n * @returns The new debounced function.\\n */\\ndeclare function debounce<P extends unknown[], R>(fn: (...args: P) => R, wait?: number, immediate?: boolean): (...args: P) => Promise<R>;\\ndeclare function throttle<P extends unknown[], R>(fn: (...args: P) => R | undefined, delay?: number): (...args: P) => R | undefined;\\n\\n/**\\n * Checks if a value is an arguments object.\\n *\\n * @param value The value to check.\\n * @returns True if the value is an arguments object, false otherwise.\\n */\\ndeclare function isArguments(value: unknown): value is IArguments;\\n/**\\n * Checks if a value is an array.\\n *\\n * @param value The value to check.\\n * @returns True if the value is an array, false otherwise.\\n */\\ndeclare function isArray<T>(value: unknown): value is T[];\\n/**\\n * Checks if a value is a boolean.\\n *\\n * @param value The value to check.\\n * @returns True if the value is a boolean, false otherwise.\\n */\\ndeclare function isBoolean(value: unknown): value is boolean;\\n/**\\n * Checks if an entity is a walker command.\\n *\\n * @param entity The entity to check.\\n * @returns True if the entity is a walker command, false otherwise.\\n */\\ndeclare function isCommand(entity: string): entity is \\\"walker\\\";\\n/**\\n * Checks if a value is defined.\\n *\\n * @param value The value to check.\\n * @returns True if the value is defined, false otherwise.\\n */\\ndeclare function isDefined<T>(val: T | undefined): val is T;\\n/**\\n * Checks if a value is an element or the document.\\n *\\n * @param elem The value to check.\\n * @returns True if the value is an element or the document, false otherwise.\\n */\\ndeclare function isElementOrDocument(elem: unknown): elem is Element;\\n/**\\n * Checks if a value is a function.\\n *\\n * @param value The value to check.\\n * @returns True if the value is a function, false otherwise.\\n */\\ndeclare function isFunction(value: unknown): value is Function;\\n/**\\n * Checks if a value is a number.\\n *\\n * @param value The value to check.\\n * @returns True if the value is a number, false otherwise.\\n */\\ndeclare function isNumber(value: unknown): value is number;\\n/**\\n * Checks if a value is an object.\\n *\\n * @param value The value to check.\\n * @returns True if the value is an object, false otherwise.\\n */\\ndeclare function isObject(value: unknown): value is AnyObject;\\n/**\\n * Checks if two variables have the same type.\\n *\\n * @param variable The first variable.\\n * @param type The second variable.\\n * @returns True if the variables have the same type, false otherwise.\\n */\\ndeclare function isSameType<T>(variable: unknown, type: T): variable is typeof type;\\n/**\\n * Checks if a value is a string.\\n *\\n * @param value The value to check.\\n * @returns True if the value is a string, false otherwise.\\n */\\ndeclare function isString(value: unknown): value is string;\\n\\n/**\\n * Create a logger instance\\n *\\n * @param config - Logger configuration\\n * @returns Logger instance with all log methods and scoping support\\n *\\n * @example\\n * ```typescript\\n * // Basic usage\\n * const logger = createLogger({ level: 'DEBUG' });\\n * logger.info('Hello world');\\n *\\n * // With scoping\\n * const destLogger = logger.scope('gtag').scope('myInstance');\\n * destLogger.debug('Processing event'); // DEBUG [gtag:myInstance] Processing event\\n *\\n * // With custom handler\\n * const logger = createLogger({\\n * handler: (level, message, context, scope, originalHandler) => {\\n * // Custom logic (e.g., send to Sentry)\\n * originalHandler(level, message, context, scope);\\n * }\\n * });\\n * ```\\n *\\n * // TODO: Consider compile-time stripping of debug logs in production builds\\n * // e.g., if (__DEV__) { logger.debug(...) }\\n */\\ndeclare function createLogger(config?: Config$3): Instance$1;\\n\\n/**\\n * Gets the mapping for an event.\\n *\\n * @param event The event to get the mapping for (can be partial or full).\\n * @param mapping The mapping rules.\\n * @returns The mapping result.\\n */\\ndeclare function getMappingEvent(event: DeepPartialEvent | PartialEvent | Event, mapping?: Rules): Promise<Result>;\\n/**\\n * Gets a value from a mapping.\\n *\\n * @param value The value to get the mapping from.\\n * @param data The mapping data.\\n * @param options The mapping options.\\n * @returns The mapped value.\\n */\\ndeclare function getMappingValue(value: DeepPartialEvent | unknown | undefined, data?: Data, options?: Options$1): Promise<Property | undefined>;\\n/**\\n * Processes an event through mapping configuration.\\n *\\n * This is the unified mapping logic used by both sources and destinations.\\n * It applies transformations in this order:\\n * 1. Config-level policy - modifies the event itself (global rules)\\n * 2. Mapping rules - finds matching rule based on entity-action\\n * 3. Event-level policy - modifies the event based on specific mapping rule\\n * 4. Data transformation - creates context data\\n * 5. Ignore check and name override\\n *\\n * Sources can pass partial events, destinations pass full events.\\n * getMappingValue works with both partial and full events.\\n *\\n * @param event - The event to process (can be partial or full, will be mutated by policies)\\n * @param config - Mapping configuration (mapping, data, policy, consent)\\n * @param collector - Collector instance for context\\n * @returns Object with transformed event, data, mapping rule, and ignore flag\\n */\\ndeclare function processEventMapping<T extends DeepPartialEvent | Event>(event: T, config: Config$2, collector: Instance$3): Promise<{\\n event: T;\\n data?: Property;\\n mapping?: Rule;\\n mappingKey?: string;\\n ignore: boolean;\\n}>;\\n\\n/**\\n * Environment mocking utilities for walkerOS destinations\\n *\\n * Provides standardized tools for intercepting function calls in environment objects,\\n * enabling consistent testing patterns across all destinations.\\n */\\ntype InterceptorFn = (path: string[], args: unknown[], original?: Function) => unknown;\\n/**\\n * Creates a proxied environment that intercepts function calls\\n *\\n * Uses Proxy to wrap environment objects and capture all function calls,\\n * allowing for call recording, mocking, or simulation.\\n *\\n * @param env - The environment object to wrap\\n * @param interceptor - Function called for each intercepted call\\n * @returns Proxied environment with interceptor applied\\n *\\n * @example\\n * ```typescript\\n * const calls: Array<{ path: string[]; args: unknown[] }> = [];\\n *\\n * const testEnv = mockEnv(env.push, (path, args) => {\\n * calls.push({ path, args });\\n * });\\n *\\n * // Use testEnv with destination\\n * await destination.push(event, { env: testEnv });\\n *\\n * // Analyze captured calls\\n * expect(calls).toContainEqual({\\n * path: ['window', 'gtag'],\\n * args: ['event', 'purchase', { value: 99.99 }]\\n * });\\n * ```\\n */\\ndeclare function mockEnv<T extends object>(env: T, interceptor: InterceptorFn): T;\\n/**\\n * Traverses environment object and replaces values using a replacer function\\n *\\n * Alternative to mockEnv for environments where Proxy is not suitable.\\n * Performs deep traversal and allows value transformation at each level.\\n *\\n * @param env - The environment object to traverse\\n * @param replacer - Function to transform values during traversal\\n * @returns New environment object with transformed values\\n *\\n * @example\\n * ```typescript\\n * const recordedCalls: APICall[] = [];\\n *\\n * const recordingEnv = traverseEnv(originalEnv, (value, path) => {\\n * if (typeof value === 'function') {\\n * return (...args: unknown[]) => {\\n * recordedCalls.push({\\n * path: path.join('.'),\\n * args: structuredClone(args)\\n * });\\n * return value(...args);\\n * };\\n * }\\n * return value;\\n * });\\n * ```\\n */\\ndeclare function traverseEnv<T extends object>(env: T, replacer: (value: unknown, path: string[]) => unknown): T;\\n\\n/**\\n * Mock logger instance for testing\\n * Includes all logger methods as jest.fn() plus tracking of scoped loggers\\n * Extends Instance to ensure type compatibility\\n */\\ninterface MockLogger extends Instance$1 {\\n error: jest.Mock;\\n info: jest.Mock;\\n debug: jest.Mock;\\n throw: jest.Mock<never, [string | Error, unknown?]>;\\n scope: jest.Mock<MockLogger, [string]>;\\n /**\\n * Array of all scoped loggers created by this logger\\n * Useful for asserting on scoped logger calls in tests\\n */\\n scopedLoggers: MockLogger[];\\n}\\n/**\\n * Create a mock logger for testing\\n * All methods are jest.fn() that can be used for assertions\\n *\\n * @example\\n * ```typescript\\n * const mockLogger = createMockLogger();\\n *\\n * // Use in code under test\\n * someFunction(mockLogger);\\n *\\n * // Assert on calls\\n * expect(mockLogger.error).toHaveBeenCalledWith('error message');\\n *\\n * // Assert on scoped logger\\n * const scoped = mockLogger.scopedLoggers[0];\\n * expect(scoped.debug).toHaveBeenCalledWith('debug in scope');\\n * ```\\n */\\ndeclare function createMockLogger(): MockLogger;\\n\\n/**\\n * Checks if a value is a valid property type.\\n *\\n * @param value The value to check.\\n * @returns True if the value is a valid property type, false otherwise.\\n */\\ndeclare function isPropertyType(value: unknown): value is PropertyType;\\n/**\\n * Filters a value to only include valid property types.\\n *\\n * @param value The value to filter.\\n * @returns The filtered value or undefined.\\n */\\ndeclare function filterValues(value: unknown): Property | undefined;\\n/**\\n * Casts a value to a valid property type.\\n *\\n * @param value The value to cast.\\n * @returns The casted value or undefined.\\n */\\ndeclare function castToProperty(value: unknown): Property | undefined;\\n\\n/**\\n * Converts a request string to a data object.\\n *\\n * @param parameter The request string to convert.\\n * @returns The data object or undefined.\\n */\\ndeclare function requestToData(parameter: unknown): AnyObject | undefined;\\n/**\\n * Converts a data object to a request string.\\n *\\n * @param data The data object to convert.\\n * @returns The request string.\\n */\\ndeclare function requestToParameter(data: AnyObject | PropertyType): string;\\n\\n/**\\n * Transforms data to a string.\\n *\\n * @param data The data to transform.\\n * @returns The transformed data.\\n */\\ndeclare function transformData(data?: SendDataValue): string | undefined;\\n/**\\n * Gets the headers for a request.\\n *\\n * @param headers The headers to merge with the default headers.\\n * @returns The merged headers.\\n */\\ndeclare function getHeaders(headers?: SendHeaders): SendHeaders;\\n\\n/**\\n * Throws an error.\\n *\\n * @param error The error to throw.\\n */\\ndeclare function throwError(error: unknown): never;\\n\\n/**\\n * Trims quotes and whitespaces from a string.\\n *\\n * @param str The string to trim.\\n * @returns The trimmed string.\\n */\\ndeclare function trim(str: string): string;\\n\\n/**\\n * A utility function that wraps a function in a try-catch block.\\n *\\n * @template P, R, S\\n * @param fn The function to wrap.\\n * @param onError A function to call when an error is caught.\\n * @param onFinally A function to call in the finally block.\\n * @returns The wrapped function.\\n */\\ndeclare function tryCatch<P extends unknown[], R, S>(fn: (...args: P) => R | undefined, onError: (err: unknown) => S, onFinally?: () => void): (...args: P) => R | S;\\ndeclare function tryCatch<P extends unknown[], R>(fn: (...args: P) => R | undefined, onError?: undefined, onFinally?: () => void): (...args: P) => R | undefined;\\n/**\\n * A utility function that wraps an async function in a try-catch block.\\n *\\n * @template P, R, S\\n * @param fn The async function to wrap.\\n * @param onError A function to call when an error is caught.\\n * @param onFinally A function to call in the finally block.\\n * @returns The wrapped async function.\\n */\\ndeclare function tryCatchAsync<P extends unknown[], R, S>(fn: (...args: P) => R, onError: (err: unknown) => S, onFinally?: () => void | Promise<void>): (...args: P) => Promise<R | S>;\\ndeclare function tryCatchAsync<P extends unknown[], R>(fn: (...args: P) => R, onError?: undefined, onFinally?: () => void | Promise<void>): (...args: P) => Promise<R | undefined>;\\n\\n/**\\n * A utility function that wraps a function with hooks.\\n *\\n * @template P, R\\n * @param fn The function to wrap.\\n * @param name The name of the function.\\n * @param hooks The hooks to use.\\n * @returns The wrapped function.\\n */\\ndeclare function useHooks<P extends unknown[], R>(fn: (...args: P) => R, name: string, hooks: Functions): (...args: P) => R;\\n\\n/**\\n * Parses a user agent string to extract browser, OS, and device information.\\n *\\n * @param userAgent The user agent string to parse.\\n * @returns An object containing the parsed user agent information.\\n */\\ndeclare function parseUserAgent(userAgent?: string): User;\\n/**\\n * Gets the browser name from a user agent string.\\n *\\n * @param userAgent The user agent string.\\n * @returns The browser name or undefined.\\n */\\ndeclare function getBrowser(userAgent: string): string | undefined;\\n/**\\n * Gets the browser version from a user agent string.\\n *\\n * @param userAgent The user agent string.\\n * @returns The browser version or undefined.\\n */\\ndeclare function getBrowserVersion(userAgent: string): string | undefined;\\n/**\\n * Gets the OS name from a user agent string.\\n *\\n * @param userAgent The user agent string.\\n * @returns The OS name or undefined.\\n */\\ndeclare function getOS(userAgent: string): string | undefined;\\n/**\\n * Gets the OS version from a user agent string.\\n *\\n * @param userAgent The user agent string.\\n * @returns The OS version or undefined.\\n */\\ndeclare function getOSVersion(userAgent: string): string | undefined;\\n/**\\n * Gets the device type from a user agent string.\\n *\\n * @param userAgent The user agent string.\\n * @returns The device type or undefined.\\n */\\ndeclare function getDeviceType(userAgent: string): string | undefined;\\n\\n/**\\n * Validates an event against a set of contracts.\\n *\\n * @param obj The event to validate.\\n * @param customContracts The custom contracts to use.\\n * @returns The validated event.\\n */\\ndeclare function validateEvent(obj: unknown, customContracts?: Contracts): Event | never;\\n/**\\n * Validates a property against a schema.\\n *\\n * @param obj The object to validate.\\n * @param key The key of the property to validate.\\n * @param value The value of the property to validate.\\n * @param schema The schema to validate against.\\n * @returns The validated property.\\n */\\ndeclare function validateProperty(obj: AnyObject, key: string, value: unknown, schema: Property$1): Property | never;\\n\\n/**\\n * Inline Code Wrapping Utilities\\n *\\n * Converts inline code strings to executable functions.\\n * Used for mapping properties: condition, fn, validate.\\n *\\n * @packageDocumentation\\n */\\n\\n/**\\n * Wrap inline code string as Condition function.\\n *\\n * @param code - Inline code string\\n * @returns Condition function matching Mapping.Condition signature\\n *\\n * @remarks\\n * Available parameters in code:\\n * - `value` - The event or partial event being processed\\n * - `mapping` - Current mapping configuration\\n * - `collector` - Collector instance\\n *\\n * If code has no explicit return, it's auto-wrapped with `return`.\\n *\\n * @example\\n * ```typescript\\n * // One-liner (auto-wrapped)\\n * const fn = wrapCondition('value.data.total > 100');\\n * fn(event, mapping, collector); // returns boolean\\n *\\n * // Multi-statement (explicit return)\\n * const fn = wrapCondition('const threshold = 100; return value.data.total > threshold');\\n * ```\\n */\\ndeclare function wrapCondition(code: string): Condition;\\n/**\\n * Wrap inline code string as Fn function.\\n *\\n * @param code - Inline code string\\n * @returns Fn function matching Mapping.Fn signature\\n *\\n * @remarks\\n * Available parameters in code:\\n * - `value` - The event or partial event being processed\\n * - `mapping` - Current mapping configuration\\n * - `options` - Options object with consent and collector\\n *\\n * If code has no explicit return, it's auto-wrapped with `return`.\\n *\\n * @example\\n * ```typescript\\n * // One-liner (auto-wrapped)\\n * const fn = wrapFn('value.user.email.split(\\\"@\\\")[1]');\\n * fn(event, mapping, options); // returns domain\\n *\\n * // Multi-statement (explicit return)\\n * const fn = wrapFn('const parts = value.user.email.split(\\\"@\\\"); return parts[1].toUpperCase()');\\n * ```\\n */\\ndeclare function wrapFn(code: string): Fn;\\n/**\\n * Wrap inline code string as Validate function.\\n *\\n * @param code - Inline code string\\n * @returns Validate function matching Mapping.Validate signature\\n *\\n * @remarks\\n * Available parameters in code:\\n * - `value` - The current value being validated\\n *\\n * If code has no explicit return, it's auto-wrapped with `return`.\\n *\\n * @example\\n * ```typescript\\n * // One-liner (auto-wrapped)\\n * const fn = wrapValidate('value && value.length > 0');\\n * fn('hello'); // returns true\\n *\\n * // Multi-statement (explicit return)\\n * const fn = wrapValidate('if (!value) return false; return value.length > 0');\\n * ```\\n */\\ndeclare function wrapValidate(code: string): Validate;\\n\\nexport { collector as Collector, Const, data as Data, destination as Destination, elb as Elb, flow as Flow, hooks as Hooks, Level, logger as Logger, mapping as Mapping, type MarketingParameters, type MockLogger, on as On, request as Request, schema as Schema, type SendDataValue, type SendHeaders, type SendResponse, source as Source, type StorageType, walkeros as WalkerOS, anonymizeIP, assign, castToProperty, castValue, clone, createDestination, createEvent, createLogger, createMockLogger, debounce, filterValues, getBrowser, getBrowserVersion, getByPath, getDeviceType, getEvent, getFlowConfig, getGrantedConsent, getHeaders, getId, getMappingEvent, getMappingValue, getMarketingParameters, getOS, getOSVersion, getPlatform, isArguments, isArray, isBoolean, isCommand, isDefined, isElementOrDocument, isFunction, isNumber, isObject, isPropertyType, isSameType, isString, mockEnv, packageNameToVariable, parseUserAgent, processEventMapping, requestToData, requestToParameter, setByPath, throttle, throwError, transformData, traverseEnv, trim, tryCatch, tryCatchAsync, useHooks, validateEvent, validateProperty, wrapCondition, wrapFn, wrapValidate };\\n\"","/**\n * Monaco Editor TypeScript Type Management\n *\n * This utility manages TypeScript type definitions in Monaco Editor for:\n * 1. Static walkerOS core types (bundled at build time via Vite ?raw import)\n * 2. Dynamic destination types (loaded on-the-fly when destinations are added)\n * 3. Context-specific function signatures (condition, fn, validate)\n *\n * Architecture:\n * - Uses monaco.languages.typescript.typescriptDefaults.addExtraLib()\n * - Each type definition gets a unique file path (e.g., 'file:///destinations/gtag.d.ts')\n * - Types can be added/removed dynamically without page reload\n * - Core types are bundled for offline support and predictable versioning\n */\n\nimport type { Monaco } from '@monaco-editor/react';\nimport { getContextTypes } from './monaco-context-types';\n\n// This import will be replaced by tsup plugin with actual TypeScript content\nimport walkerosCoreTypesBundled from 'virtual:walkeros-core-types';\n\n/**\n * Type library entry - tracks loaded type definitions\n */\ninterface TypeLibrary {\n uri: string; // Unique identifier (e.g., 'file:///walkeros-core.d.ts')\n content: string; // TypeScript definition content\n disposable?: { dispose: () => void }; // Monaco disposable for cleanup\n}\n\n/**\n * Registry of loaded type libraries\n */\nconst typeLibraries = new Map<string, TypeLibrary>();\n\n/**\n * Configuration for TypeScript compiler options\n */\nexport function configureMonacoTypeScript(monaco: Monaco) {\n monaco.languages.typescript.javascriptDefaults.setCompilerOptions({\n target: monaco.languages.typescript.ScriptTarget.ES2020,\n lib: ['es2020'],\n allowNonTsExtensions: true,\n moduleResolution: monaco.languages.typescript.ModuleResolutionKind.NodeJs,\n module: monaco.languages.typescript.ModuleKind.CommonJS,\n noEmit: true,\n esModuleInterop: true,\n jsx: monaco.languages.typescript.JsxEmit.React,\n allowJs: true,\n checkJs: false,\n strict: false,\n noImplicitAny: false,\n strictNullChecks: false,\n });\n\n monaco.languages.typescript.javascriptDefaults.setDiagnosticsOptions({\n noSemanticValidation: false,\n noSyntaxValidation: false,\n diagnosticCodesToIgnore: [\n 1108,\n 1005,\n ],\n });\n\n monaco.languages.typescript.typescriptDefaults.setCompilerOptions({\n target: monaco.languages.typescript.ScriptTarget.ES2020,\n lib: ['es2020'],\n allowNonTsExtensions: true,\n moduleResolution: monaco.languages.typescript.ModuleResolutionKind.NodeJs,\n module: monaco.languages.typescript.ModuleKind.CommonJS,\n noEmit: true,\n esModuleInterop: true,\n jsx: monaco.languages.typescript.JsxEmit.React,\n strict: false,\n });\n}\n\n/**\n * Add a type library from a string\n *\n * @param monaco - Monaco instance\n * @param uri - Unique identifier (e.g., 'file:///destinations/gtag.d.ts')\n * @param content - TypeScript definition content\n * @returns True if added, false if already exists\n */\nexport function addTypeLibrary(\n monaco: Monaco,\n uri: string,\n content: string,\n): boolean {\n // Check if already loaded\n if (typeLibraries.has(uri)) {\n return false;\n }\n\n // Add to both JavaScript and TypeScript language services\n // This ensures types work whether the editor is in JS or TS mode\n const jsDisposable = monaco.languages.typescript.javascriptDefaults.addExtraLib(\n content,\n uri,\n );\n\n const tsDisposable = monaco.languages.typescript.typescriptDefaults.addExtraLib(\n content,\n uri,\n );\n\n // Track in registry (store both disposables)\n typeLibraries.set(uri, {\n uri,\n content,\n disposable: {\n dispose: () => {\n jsDisposable.dispose();\n tsDisposable.dispose();\n }\n },\n });\n\n return true;\n}\n\n/**\n * Remove a type library\n *\n * @param uri - URI to remove\n * @returns True if removed, false if not found\n */\nexport function removeTypeLibrary(uri: string): boolean {\n const lib = typeLibraries.get(uri);\n if (!lib) {\n return false;\n }\n\n // Dispose Monaco resource\n lib.disposable?.dispose();\n\n // Remove from registry\n typeLibraries.delete(uri);\n\n return true;\n}\n\n/**\n * Update a type library (remove + add)\n *\n * @param monaco - Monaco instance\n * @param uri - URI to update\n * @param content - New content\n */\nexport function updateTypeLibrary(\n monaco: Monaco,\n uri: string,\n content: string,\n) {\n removeTypeLibrary(uri);\n addTypeLibrary(monaco, uri, content);\n}\n\n/**\n * Load type definitions from a URL\n *\n * @param monaco - Monaco instance\n * @param url - URL to .d.ts file\n * @param uri - Optional custom URI (defaults to URL)\n */\nexport async function loadTypeLibraryFromURL(\n monaco: Monaco,\n url: string,\n uri?: string,\n): Promise<boolean> {\n try {\n const response = await fetch(url);\n if (!response.ok) {\n return false;\n }\n\n const content = await response.text();\n const typeUri = uri || `file:///${url}`;\n\n return addTypeLibrary(monaco, typeUri, content);\n } catch {\n return false;\n }\n}\n\n/**\n * Options for loading package types dynamically\n */\nexport interface LoadPackageTypesOptions {\n /** Package name (e.g., '@walkeros/destination-gtag') */\n package: string;\n /** Version to load (e.g., '0.1.0', 'latest') */\n version?: string;\n /** CDN to use ('unpkg' or 'jsdelivr') */\n cdn?: 'unpkg' | 'jsdelivr';\n /** Path to .d.ts file within package (defaults to '/dist/index.d.ts') */\n typesPath?: string;\n}\n\n/**\n * Strip problematic imports from type definition content\n *\n * Removes import statements that Monaco can't resolve, while preserving:\n * - Type declarations\n * - Export statements\n * - Re-export statements (export * from / export { } from)\n *\n * Uses multiple strategies for robustness:\n * 1. Simple single-line imports (fast path)\n * 2. Multi-line imports (comprehensive)\n * 3. Import type assertions\n *\n * Does NOT remove:\n * - export { } from 'module' (re-exports)\n * - export * from 'module' (re-exports)\n * - Triple-slash directives (/// <reference types=\"...\" />)\n *\n * @param content - Raw .d.ts file content\n * @returns Cleaned content safe for Monaco\n */\nfunction stripExternalImports(content: string): string {\n // Strategy 1: Remove simple single-line imports\n // Matches: import ... from '...';\n // Handles: import type, import *, import { }, default imports\n let cleaned = content.replace(\n /^import\\s+(?:type\\s+)?(?:\\*\\s+as\\s+\\w+|\\{[^}]*\\}|[\\w$]+)(?:\\s*,\\s*(?:\\{[^}]*\\}|\\*\\s+as\\s+\\w+))?\\s+from\\s+['\"][^'\"]+['\"];?\\s*$/gm,\n ''\n );\n\n // Strategy 2: Remove multi-line imports (more aggressive)\n // Matches imports that span multiple lines\n cleaned = cleaned.replace(\n /^import\\s+(?:type\\s+)?(?:\\{[^}]*\\}|\\*\\s+as\\s+\\w+|[\\w$]+)\\s+from\\s+['\"][^'\"]+['\"];?\\s*$/gms,\n ''\n );\n\n // Strategy 3: Remove import type assertions\n // Matches: import('module')\n cleaned = cleaned.replace(\n /import\\s*\\(\\s*['\"][^'\"]+['\"]\\s*\\)/g,\n 'any'\n );\n\n // Clean up excessive blank lines (more than 2 consecutive)\n cleaned = cleaned.replace(/\\n{3,}/g, '\\n\\n');\n\n return cleaned;\n}\n\nexport interface LoadPackageTypesOptions {\n package: string;\n version?: string;\n}\n\nexport async function loadPackageTypes(\n monaco: Monaco,\n options: LoadPackageTypesOptions,\n): Promise<boolean> {\n const { package: packageName, version = 'latest' } = options;\n const uri = `file:///node_modules/${packageName}/index.d.ts`;\n\n if (typeLibraries.has(uri)) {\n return true;\n }\n\n const url = `https://cdn.jsdelivr.net/npm/${packageName}@${version}/dist/index.d.ts`;\n\n try {\n const response = await fetch(url);\n if (!response.ok) {\n console.warn(`Failed to load types for ${packageName}@${version}: ${response.status}`);\n return false;\n }\n\n let content = await response.text();\n content = stripExternalImports(content);\n\n const moduleContent = `declare module '${packageName}' {\\n${content}\\n}`;\n const success = addTypeLibrary(monaco, uri, moduleContent);\n\n return success;\n } catch (error) {\n console.error(`Error loading types for ${packageName}:`, error);\n return false;\n }\n}\n\n/**\n * Load walkerOS core types (bundled at build time)\n *\n * Uses bundled types imported via Vite's ?raw import.\n * This ensures types are always available offline and match the installed version.\n */\nexport function loadWalkerOSCoreTypes(monaco: Monaco): boolean {\n const uri = 'file:///node_modules/@walkeros/core/index.d.ts';\n\n // Check if already loaded\n if (typeLibraries.has(uri)) {\n return true;\n }\n\n // Clean the types using the same robust stripping function\n const cleanedTypes = stripExternalImports(walkerosCoreTypesBundled);\n\n // Wrap in module declaration\n const moduleContent = `declare module '@walkeros/core' {\n${cleanedTypes}\n}`;\n\n return addTypeLibrary(monaco, uri, moduleContent);\n}\n\n/**\n * Minimal fallback types if we can't load from node_modules\n */\nfunction getMinimalWalkerOSTypes(): string {\n return `\ndeclare namespace WalkerOS {\n export interface Event {\n entity: string;\n action: string;\n data?: Record<string, unknown>;\n context?: Record<string, unknown>;\n user?: {\n id?: string;\n device?: string;\n session?: string;\n [key: string]: unknown;\n };\n nested?: unknown[];\n consent?: Record<string, boolean>;\n id?: string;\n trigger?: string;\n timestamp?: number;\n timing?: number;\n count?: number;\n version?: {\n client?: string;\n tagging?: number;\n };\n }\n\n export interface Properties {\n [key: string]: unknown;\n }\n\n export interface Mapping {\n [key: string]: unknown;\n }\n\n export interface Collector {\n push: (event: Partial<Event>) => Promise<unknown>;\n [key: string]: unknown;\n }\n\n export namespace Destination {\n export interface Config<T = unknown> {\n id?: string;\n mapping?: Mapping;\n custom?: T;\n [key: string]: unknown;\n }\n }\n}\n`;\n}\n\n/**\n * Type of function context (fn, condition, validate)\n */\nexport type FunctionType = 'condition' | 'fn' | 'validate';\n\n/**\n * Add context-specific globals for function editors\n *\n * Provides type definitions for inline function parameters without imports.\n * Supports three function types:\n * - fn: Transform functions (value, mapping, options) => Property\n * - condition: Condition functions (value, mapping, collector) => boolean\n * - validate: Validation functions (value) => boolean\n */\nexport interface FunctionContext {\n type: FunctionType;\n valueType?: string; // Optional: Custom type for 'value' parameter\n}\n\nexport function addFunctionContextTypes(\n monaco: Monaco,\n context: FunctionContext,\n) {\n const uri = `file:///context/${context.type}.d.ts`;\n\n // Use hand-crafted type templates from monaco-context-types\n const contextTypes = getContextTypes(context.type);\n\n // Update or add\n updateTypeLibrary(monaco, uri, contextTypes);\n}\n\n/**\n * Add destination-specific types dynamically\n *\n * @param monaco - Monaco instance\n * @param destinationId - Unique destination identifier (e.g., 'gtag', 'fbq')\n * @param typeDefinition - TypeScript definition for destination's custom config/event\n *\n * @example\n * ```typescript\n * addDestinationType(monaco, 'gtag', `\n * declare namespace Gtag {\n * interface Settings {\n * measurementId: string;\n * sendPageView?: boolean;\n * }\n *\n * interface EventParams {\n * event_category?: string;\n * event_label?: string;\n * value?: number;\n * }\n * }\n *\n * // Extend WalkerOS namespace\n * declare namespace WalkerOS {\n * namespace Destination {\n * interface ConfigMap {\n * gtag: Gtag.Settings;\n * }\n * }\n * }\n * `);\n * ```\n */\nexport function addDestinationType(\n monaco: Monaco,\n destinationId: string,\n typeDefinition: string,\n) {\n const uri = `file:///destinations/${destinationId}.d.ts`;\n updateTypeLibrary(monaco, uri, typeDefinition);\n}\n\n/**\n * Remove destination types when destination is removed\n */\nexport function removeDestinationType(destinationId: string) {\n const uri = `file:///destinations/${destinationId}.d.ts`;\n removeTypeLibrary(uri);\n}\n\n/**\n * Simple helper to register only walkerOS core types\n *\n * Use this for basic scenarios where you just need @walkeros/core types.\n * For advanced usage (destinations, function contexts), use initializeMonacoTypes.\n *\n * @param monaco - Monaco editor instance\n *\n * @example\n * ```typescript\n * const handleBeforeMount = (monaco: Monaco) => {\n * registerWalkerOSTypes(monaco);\n * };\n * ```\n */\nexport function registerWalkerOSTypes(monaco: Monaco): void {\n configureMonacoTypeScript(monaco);\n loadWalkerOSCoreTypes(monaco);\n}\n\n/**\n * Initialize Monaco with walkerOS types (full setup)\n *\n * Call this once in CodeBox's beforeMount handler.\n * Includes core types, TypeScript config, and default function context.\n *\n * @param monaco - Monaco editor instance\n *\n * @example\n * ```typescript\n * const handleBeforeMount = (monaco: Monaco) => {\n * initializeMonacoTypes(monaco);\n * };\n * ```\n */\nexport function initializeMonacoTypes(monaco: Monaco): void {\n // Configure compiler\n configureMonacoTypeScript(monaco);\n\n // Load core types (now synchronous with bundled types)\n loadWalkerOSCoreTypes(monaco);\n\n // Add default function context (condition)\n addFunctionContextTypes(monaco, { type: 'condition' });\n}\n\n/**\n * Get all loaded type libraries (for debugging)\n */\nexport function getLoadedTypeLibraries(): string[] {\n return Array.from(typeLibraries.keys());\n}\n\n/**\n * Clear all type libraries (for testing)\n */\nexport function clearAllTypeLibraries() {\n for (const [uri, lib] of typeLibraries.entries()) {\n lib.disposable?.dispose();\n }\n typeLibraries.clear();\n}\n"],"mappings":";;;AAkBO,IAAM,mBAAmB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AA2LzB,IAAM,0BAA0B;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AA4MhC,IAAM,yBAAyB;AAAA;AAAA;AAAA;AAQ/B,SAAS,gBAAgB,aAAsD;AACpF,UAAQ,aAAa;AAAA,IACnB,KAAK;AACH,aAAO;AAAA,IACT,KAAK;AACH,aAAO;AAAA,IACT,KAAK;AACH,aAAO;AAAA,IACT;AACE,aAAO;AAAA,EACX;AACF;;;AC5aA,IAAO,sCAAQ;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;;ACiCf,IAAM,gBAAgB,oBAAI,IAAyB;AAK5C,SAAS,0BAA0B,QAAgB;AACxD,SAAO,UAAU,WAAW,mBAAmB,mBAAmB;AAAA,IAChE,QAAQ,OAAO,UAAU,WAAW,aAAa;AAAA,IACjD,KAAK,CAAC,QAAQ;AAAA,IACd,sBAAsB;AAAA,IACtB,kBAAkB,OAAO,UAAU,WAAW,qBAAqB;AAAA,IACnE,QAAQ,OAAO,UAAU,WAAW,WAAW;AAAA,IAC/C,QAAQ;AAAA,IACR,iBAAiB;AAAA,IACjB,KAAK,OAAO,UAAU,WAAW,QAAQ;AAAA,IACzC,SAAS;AAAA,IACT,SAAS;AAAA,IACT,QAAQ;AAAA,IACR,eAAe;AAAA,IACf,kBAAkB;AAAA,EACpB,CAAC;AAED,SAAO,UAAU,WAAW,mBAAmB,sBAAsB;AAAA,IACnE,sBAAsB;AAAA,IACtB,oBAAoB;AAAA,IACpB,yBAAyB;AAAA,MACvB;AAAA,MACA;AAAA,IACF;AAAA,EACF,CAAC;AAED,SAAO,UAAU,WAAW,mBAAmB,mBAAmB;AAAA,IAChE,QAAQ,OAAO,UAAU,WAAW,aAAa;AAAA,IACjD,KAAK,CAAC,QAAQ;AAAA,IACd,sBAAsB;AAAA,IACtB,kBAAkB,OAAO,UAAU,WAAW,qBAAqB;AAAA,IACnE,QAAQ,OAAO,UAAU,WAAW,WAAW;AAAA,IAC/C,QAAQ;AAAA,IACR,iBAAiB;AAAA,IACjB,KAAK,OAAO,UAAU,WAAW,QAAQ;AAAA,IACzC,QAAQ;AAAA,EACV,CAAC;AACH;AAUO,SAAS,eACd,QACA,KACA,SACS;AAET,MAAI,cAAc,IAAI,GAAG,GAAG;AAC1B,WAAO;AAAA,EACT;AAIA,QAAM,eAAe,OAAO,UAAU,WAAW,mBAAmB;AAAA,IAClE;AAAA,IACA;AAAA,EACF;AAEA,QAAM,eAAe,OAAO,UAAU,WAAW,mBAAmB;AAAA,IAClE;AAAA,IACA;AAAA,EACF;AAGA,gBAAc,IAAI,KAAK;AAAA,IACrB;AAAA,IACA;AAAA,IACA,YAAY;AAAA,MACV,SAAS,MAAM;AACb,qBAAa,QAAQ;AACrB,qBAAa,QAAQ;AAAA,MACvB;AAAA,IACF;AAAA,EACF,CAAC;AAED,SAAO;AACT;AAQO,SAAS,kBAAkB,KAAsB;AACtD,QAAM,MAAM,cAAc,IAAI,GAAG;AACjC,MAAI,CAAC,KAAK;AACR,WAAO;AAAA,EACT;AAGA,MAAI,YAAY,QAAQ;AAGxB,gBAAc,OAAO,GAAG;AAExB,SAAO;AACT;AASO,SAAS,kBACd,QACA,KACA,SACA;AACA,oBAAkB,GAAG;AACrB,iBAAe,QAAQ,KAAK,OAAO;AACrC;AASA,eAAsB,uBACpB,QACA,KACA,KACkB;AAClB,MAAI;AACF,UAAM,WAAW,MAAM,MAAM,GAAG;AAChC,QAAI,CAAC,SAAS,IAAI;AAChB,aAAO;AAAA,IACT;AAEA,UAAM,UAAU,MAAM,SAAS,KAAK;AACpC,UAAM,UAAU,OAAO,WAAW,GAAG;AAErC,WAAO,eAAe,QAAQ,SAAS,OAAO;AAAA,EAChD,QAAQ;AACN,WAAO;AAAA,EACT;AACF;AAqCA,SAAS,qBAAqB,SAAyB;AAIrD,MAAI,UAAU,QAAQ;AAAA,IACpB;AAAA,IACA;AAAA,EACF;AAIA,YAAU,QAAQ;AAAA,IAChB;AAAA,IACA;AAAA,EACF;AAIA,YAAU,QAAQ;AAAA,IAChB;AAAA,IACA;AAAA,EACF;AAGA,YAAU,QAAQ,QAAQ,WAAW,MAAM;AAE3C,SAAO;AACT;AAOA,eAAsB,iBACpB,QACA,SACkB;AAClB,QAAM,EAAE,SAAS,aAAa,UAAU,SAAS,IAAI;AACrD,QAAM,MAAM,wBAAwB,WAAW;AAE/C,MAAI,cAAc,IAAI,GAAG,GAAG;AAC1B,WAAO;AAAA,EACT;AAEA,QAAM,MAAM,gCAAgC,WAAW,IAAI,OAAO;AAElE,MAAI;AACF,UAAM,WAAW,MAAM,MAAM,GAAG;AAChC,QAAI,CAAC,SAAS,IAAI;AAChB,cAAQ,KAAK,4BAA4B,WAAW,IAAI,OAAO,KAAK,SAAS,MAAM,EAAE;AACrF,aAAO;AAAA,IACT;AAEA,QAAI,UAAU,MAAM,SAAS,KAAK;AAClC,cAAU,qBAAqB,OAAO;AAEtC,UAAM,gBAAgB,mBAAmB,WAAW;AAAA,EAAQ,OAAO;AAAA;AACnE,UAAM,UAAU,eAAe,QAAQ,KAAK,aAAa;AAEzD,WAAO;AAAA,EACT,SAAS,OAAO;AACd,YAAQ,MAAM,2BAA2B,WAAW,KAAK,KAAK;AAC9D,WAAO;AAAA,EACT;AACF;AAQO,SAAS,sBAAsB,QAAyB;AAC7D,QAAM,MAAM;AAGZ,MAAI,cAAc,IAAI,GAAG,GAAG;AAC1B,WAAO;AAAA,EACT;AAGA,QAAM,eAAe,qBAAqB,mCAAwB;AAGlE,QAAM,gBAAgB;AAAA,EACtB,YAAY;AAAA;AAGZ,SAAO,eAAe,QAAQ,KAAK,aAAa;AAClD;AA4EO,SAAS,wBACd,QACA,SACA;AACA,QAAM,MAAM,mBAAmB,QAAQ,IAAI;AAG3C,QAAM,eAAe,gBAAgB,QAAQ,IAAI;AAGjD,oBAAkB,QAAQ,KAAK,YAAY;AAC7C;AAoCO,SAAS,mBACd,QACA,eACA,gBACA;AACA,QAAM,MAAM,wBAAwB,aAAa;AACjD,oBAAkB,QAAQ,KAAK,cAAc;AAC/C;AAKO,SAAS,sBAAsB,eAAuB;AAC3D,QAAM,MAAM,wBAAwB,aAAa;AACjD,oBAAkB,GAAG;AACvB;AAiBO,SAAS,sBAAsB,QAAsB;AAC1D,4BAA0B,MAAM;AAChC,wBAAsB,MAAM;AAC9B;AAiBO,SAAS,sBAAsB,QAAsB;AAE1D,4BAA0B,MAAM;AAGhC,wBAAsB,MAAM;AAG5B,0BAAwB,QAAQ,EAAE,MAAM,YAAY,CAAC;AACvD;AAKO,SAAS,yBAAmC;AACjD,SAAO,MAAM,KAAK,cAAc,KAAK,CAAC;AACxC;AAKO,SAAS,wBAAwB;AACtC,aAAW,CAAC,KAAK,GAAG,KAAK,cAAc,QAAQ,GAAG;AAChD,QAAI,YAAY,QAAQ;AAAA,EAC1B;AACA,gBAAc,MAAM;AACtB;","names":[]}
1
+ {"version":3,"sources":["../src/utils/monaco-context-types.ts","walkeros-types:virtual:walkeros-core-types","../src/utils/monaco-types.ts"],"sourcesContent":["/**\n * Monaco Editor Context Type Templates\n *\n * Hand-crafted global namespace declarations for function contexts.\n * These provide full TypeScript IntelliSense in Monaco Editor without\n * requiring import statements.\n *\n * Extracted from @walkeros/core types and simplified for editor use.\n */\n\n/**\n * Type template for 'fn' context (transformation functions)\n *\n * Provides types for:\n * - value: WalkerOS.DeepPartialEvent | unknown\n * - mapping: Mapping.Value\n * - options: Mapping.Options\n */\nexport const FN_CONTEXT_TYPES = `\n// WalkerOS Core Types\ndeclare namespace WalkerOS {\n // Utility types\n type DeepPartial<T> = {\n [P in keyof T]?: T[P] extends object ? DeepPartial<T[P]> : T[P];\n };\n\n type PromiseOrValue<T> = T | Promise<T>;\n\n // Property types\n type PropertyType = boolean | string | number | {\n [key: string]: Property;\n };\n\n type Property = PropertyType | Array<PropertyType>;\n\n interface Properties {\n [key: string]: Property | undefined;\n }\n\n interface OrderedProperties {\n [key: string]: [Property, number] | undefined;\n }\n\n // Consent\n interface Consent {\n [name: string]: boolean;\n }\n\n // User\n interface User extends Properties {\n id?: string;\n device?: string;\n session?: string;\n hash?: string;\n address?: string;\n email?: string;\n phone?: string;\n userAgent?: string;\n browser?: string;\n browserVersion?: string;\n deviceType?: string;\n language?: string;\n country?: string;\n region?: string;\n city?: string;\n zip?: string;\n timezone?: string;\n os?: string;\n osVersion?: string;\n screenSize?: string;\n ip?: string;\n internal?: boolean;\n }\n\n // Version\n interface Version extends Properties {\n source: string;\n tagging: number;\n }\n\n // Source\n type SourceType = 'web' | 'server' | 'app' | 'other' | string;\n\n interface Source extends Properties {\n type: SourceType;\n id: string;\n previous_id: string;\n }\n\n // Entity\n type Entities = Array<Entity>;\n\n interface Entity {\n entity: string;\n data: Properties;\n nested: Entities;\n context: OrderedProperties;\n }\n\n // Event\n interface Event {\n name: string;\n data: Properties;\n context: OrderedProperties;\n globals: Properties;\n custom: Properties;\n user: User;\n nested: Entities;\n consent: Consent;\n id: string;\n trigger: string;\n entity: string;\n action: string;\n timestamp: number;\n timing: number;\n group: string;\n count: number;\n version: Version;\n source: Source;\n }\n\n type DeepPartialEvent = DeepPartial<Event>;\n}\n\n// Mapping Types\ndeclare namespace Mapping {\n type ValueType = string | ValueConfig;\n type Value = ValueType | Array<ValueType>;\n type Values = Array<Value>;\n\n interface ValueConfig {\n condition?: Condition;\n consent?: WalkerOS.Consent;\n fn?: Fn;\n key?: string;\n loop?: Loop;\n map?: Map;\n set?: Value[];\n validate?: Validate;\n value?: WalkerOS.PropertyType;\n }\n\n type Loop = [Value, Value];\n\n type Map = {\n [key: string]: Value;\n };\n\n interface Options {\n consent?: WalkerOS.Consent;\n collector?: Collector.Instance;\n props?: unknown;\n }\n\n type Condition = (\n value: WalkerOS.DeepPartialEvent | unknown,\n mapping?: Value,\n collector?: Collector.Instance\n ) => WalkerOS.PromiseOrValue<boolean>;\n\n type Fn = (\n value: WalkerOS.DeepPartialEvent | unknown,\n mapping: Value,\n options: Options\n ) => WalkerOS.PromiseOrValue<WalkerOS.Property | unknown>;\n\n type Validate = (value?: unknown) => WalkerOS.PromiseOrValue<boolean>;\n}\n\n// Collector Types (minimal for fn context)\ndeclare namespace Collector {\n interface Instance {\n push: any;\n command: any;\n allowed: boolean;\n config: any;\n consent: WalkerOS.Consent;\n count: number;\n custom: WalkerOS.Properties;\n globals: WalkerOS.Properties;\n group: string;\n queue: any[];\n round: number;\n session: any;\n timing: number;\n user: WalkerOS.User;\n version: string;\n [key: string]: any;\n }\n}\n\n// Parameter declarations for fn context\ndeclare const value: WalkerOS.DeepPartialEvent | unknown;\ndeclare const mapping: Mapping.Value;\ndeclare const options: Mapping.Options;\n`;\n\n/**\n * Type template for 'condition' context (conditional functions)\n *\n * Provides types for:\n * - value: WalkerOS.DeepPartialEvent | unknown\n * - mapping: Mapping.Value\n * - collector: Collector.Instance | undefined\n */\nexport const CONDITION_CONTEXT_TYPES = `\n// WalkerOS Core Types\ndeclare namespace WalkerOS {\n // Utility types\n type DeepPartial<T> = {\n [P in keyof T]?: T[P] extends object ? DeepPartial<T[P]> : T[P];\n };\n\n type PromiseOrValue<T> = T | Promise<T>;\n\n // Property types\n type PropertyType = boolean | string | number | {\n [key: string]: Property;\n };\n\n type Property = PropertyType | Array<PropertyType>;\n\n interface Properties {\n [key: string]: Property | undefined;\n }\n\n interface OrderedProperties {\n [key: string]: [Property, number] | undefined;\n }\n\n // Consent\n interface Consent {\n [name: string]: boolean;\n }\n\n // User\n interface User extends Properties {\n id?: string;\n device?: string;\n session?: string;\n hash?: string;\n address?: string;\n email?: string;\n phone?: string;\n userAgent?: string;\n browser?: string;\n browserVersion?: string;\n deviceType?: string;\n language?: string;\n country?: string;\n region?: string;\n city?: string;\n zip?: string;\n timezone?: string;\n os?: string;\n osVersion?: string;\n screenSize?: string;\n ip?: string;\n internal?: boolean;\n }\n\n // Version\n interface Version extends Properties {\n source: string;\n tagging: number;\n }\n\n // Source\n type SourceType = 'web' | 'server' | 'app' | 'other' | string;\n\n interface Source extends Properties {\n type: SourceType;\n id: string;\n previous_id: string;\n }\n\n // Entity\n type Entities = Array<Entity>;\n\n interface Entity {\n entity: string;\n data: Properties;\n nested: Entities;\n context: OrderedProperties;\n }\n\n // Event\n interface Event {\n name: string;\n data: Properties;\n context: OrderedProperties;\n globals: Properties;\n custom: Properties;\n user: User;\n nested: Entities;\n consent: Consent;\n id: string;\n trigger: string;\n entity: string;\n action: string;\n timestamp: number;\n timing: number;\n group: string;\n count: number;\n version: Version;\n source: Source;\n }\n\n type DeepPartialEvent = DeepPartial<Event>;\n}\n\n// Mapping Types\ndeclare namespace Mapping {\n type ValueType = string | ValueConfig;\n type Value = ValueType | Array<ValueType>;\n\n interface ValueConfig {\n condition?: Condition;\n consent?: WalkerOS.Consent;\n fn?: Fn;\n key?: string;\n loop?: Loop;\n map?: Map;\n set?: Value[];\n validate?: Validate;\n value?: WalkerOS.PropertyType;\n }\n\n type Loop = [Value, Value];\n\n type Map = {\n [key: string]: Value;\n };\n\n type Condition = (\n value: WalkerOS.DeepPartialEvent | unknown,\n mapping?: Value,\n collector?: Collector.Instance\n ) => WalkerOS.PromiseOrValue<boolean>;\n\n type Fn = (\n value: WalkerOS.DeepPartialEvent | unknown,\n mapping: Value,\n options: any\n ) => WalkerOS.PromiseOrValue<WalkerOS.Property | unknown>;\n\n type Validate = (value?: unknown) => WalkerOS.PromiseOrValue<boolean>;\n}\n\n// Collector Types (full interface for condition context)\ndeclare namespace Collector {\n interface SessionData extends WalkerOS.Properties {\n isStart: boolean;\n storage: boolean;\n id?: string;\n start?: number;\n marketing?: true;\n updated?: number;\n isNew?: boolean;\n device?: string;\n count?: number;\n runs?: number;\n }\n\n interface Config {\n run?: boolean;\n tagging: number;\n globalsStatic: WalkerOS.Properties;\n sessionStatic: Partial<SessionData>;\n verbose: boolean;\n onError?: any;\n onLog?: any;\n }\n\n interface Instance {\n push: any;\n command: any;\n allowed: boolean;\n config: Config;\n consent: WalkerOS.Consent;\n count: number;\n custom: WalkerOS.Properties;\n sources: any;\n destinations: any;\n globals: WalkerOS.Properties;\n group: string;\n hooks: any;\n on: any;\n queue: any[];\n round: number;\n session: undefined | SessionData;\n timing: number;\n user: WalkerOS.User;\n version: string;\n }\n}\n\n// Parameter declarations for condition context\ndeclare const value: WalkerOS.DeepPartialEvent | unknown;\ndeclare const mapping: Mapping.Value;\ndeclare const collector: Collector.Instance | undefined;\n`;\n\n/**\n * Type template for 'validate' context (validation functions)\n *\n * Provides types for:\n * - value: unknown\n */\nexport const VALIDATE_CONTEXT_TYPES = `\n// Parameter declaration for validate context\ndeclare const value: unknown;\n`;\n\n/**\n * Get the type template for a specific function context\n */\nexport function getContextTypes(contextType: 'fn' | 'condition' | 'validate'): string {\n switch (contextType) {\n case 'fn':\n return FN_CONTEXT_TYPES;\n case 'condition':\n return CONDITION_CONTEXT_TYPES;\n case 'validate':\n return VALIDATE_CONTEXT_TYPES;\n default:\n return '';\n }\n}\n","export default \"/**\\n * Core collector configuration interface\\n */\\ninterface Config$6 {\\n /** Whether to run collector automatically */\\n run?: boolean;\\n /** Version for event tagging */\\n tagging: number;\\n /** Static global properties even on a new run */\\n globalsStatic: Properties;\\n /** Static session data even on a new run */\\n sessionStatic: Partial<SessionData>;\\n /** Logger configuration */\\n logger?: Config$3;\\n}\\n/**\\n * Initialization configuration that extends Config with initial state\\n */\\ninterface InitConfig extends Partial<Config$6> {\\n /** Initial consent state */\\n consent?: Consent;\\n /** Initial user data */\\n user?: User;\\n /** Initial global properties */\\n globals?: Properties;\\n /** Source configurations */\\n sources?: InitSources;\\n /** Destination configurations */\\n destinations?: InitDestinations;\\n /** Initial custom properties */\\n custom?: Properties;\\n}\\ninterface SessionData extends Properties {\\n isStart: boolean;\\n storage: boolean;\\n id?: string;\\n start?: number;\\n marketing?: true;\\n updated?: number;\\n isNew?: boolean;\\n device?: string;\\n count?: number;\\n runs?: number;\\n}\\ninterface Sources {\\n [id: string]: Instance;\\n}\\ninterface Destinations$1 {\\n [id: string]: Instance$2;\\n}\\ntype CommandType = 'action' | 'config' | 'consent' | 'context' | 'destination' | 'elb' | 'globals' | 'hook' | 'init' | 'link' | 'run' | 'user' | 'walker' | string;\\n/**\\n * Context passed to collector.push for source mapping\\n */\\ninterface PushContext$1 {\\n mapping?: Config$2;\\n}\\n/**\\n * Push function signature - handles events only\\n */\\ninterface PushFn$1 {\\n (event: DeepPartialEvent, context?: PushContext$1): Promise<PushResult>;\\n}\\n/**\\n * Command function signature - handles walker commands only\\n */\\ninterface CommandFn {\\n (command: 'config', config: Partial<Config$6>): Promise<PushResult>;\\n (command: 'consent', consent: Consent): Promise<PushResult>;\\n <T extends Types$2>(command: 'destination', destination: Init$1<T> | Instance$2<T>, config?: Config$5<T>): Promise<PushResult>;\\n <K extends keyof Functions>(command: 'hook', name: K, hookFn: Functions[K]): Promise<PushResult>;\\n (command: 'on', type: Types$1, rules: SingleOrArray<Options>): Promise<PushResult>;\\n (command: 'user', user: User): Promise<PushResult>;\\n (command: 'run', runState?: {\\n consent?: Consent;\\n user?: User;\\n globals?: Properties;\\n custom?: Properties;\\n }): Promise<PushResult>;\\n (command: string, data?: unknown, options?: unknown): Promise<PushResult>;\\n}\\ninterface Instance$3 {\\n push: PushFn$1;\\n command: CommandFn;\\n allowed: boolean;\\n config: Config$6;\\n consent: Consent;\\n count: number;\\n custom: Properties;\\n sources: Sources;\\n destinations: Destinations$1;\\n globals: Properties;\\n group: string;\\n hooks: Functions;\\n logger: Instance$1;\\n on: OnConfig;\\n queue: Events;\\n round: number;\\n session: undefined | SessionData;\\n timing: number;\\n user: User;\\n version: string;\\n}\\n\\ntype collector_CommandFn = CommandFn;\\ntype collector_CommandType = CommandType;\\ntype collector_InitConfig = InitConfig;\\ntype collector_SessionData = SessionData;\\ntype collector_Sources = Sources;\\ndeclare namespace collector {\\n export type { collector_CommandFn as CommandFn, collector_CommandType as CommandType, Config$6 as Config, Destinations$1 as Destinations, collector_InitConfig as InitConfig, Instance$3 as Instance, PushContext$1 as PushContext, PushFn$1 as PushFn, collector_SessionData as SessionData, collector_Sources as Sources };\\n}\\n\\ninterface Contract$1 {\\n version: string;\\n globals: Globals;\\n context: Contexts;\\n entities: Entities$1;\\n}\\ninterface Globals {\\n [name: string]: Global;\\n}\\ninterface Contexts {\\n [name: string]: Context$3;\\n}\\ninterface Entities$1 {\\n [name: string]: Entity$1;\\n}\\ninterface Properties$2 {\\n [name: string]: Property$2;\\n}\\ninterface Global extends Property$2 {\\n}\\ninterface Context$3 extends Property$2 {\\n}\\ninterface Entity$1 {\\n data: Properties$2;\\n actions: Actions;\\n}\\ninterface Actions {\\n [name: string]: Action;\\n}\\ninterface Action {\\n trigger?: Trigger;\\n}\\ntype Trigger = string;\\ninterface Property$2 {\\n type?: PropertyType$1;\\n required?: boolean;\\n values?: PropertyValues;\\n}\\ntype PropertyType$1 = 'boolean' | 'string' | 'number';\\ntype PropertyValues = Array<Property>;\\n\\ntype data_Action = Action;\\ntype data_Actions = Actions;\\ntype data_Contexts = Contexts;\\ntype data_Global = Global;\\ntype data_Globals = Globals;\\ntype data_PropertyValues = PropertyValues;\\ntype data_Trigger = Trigger;\\ndeclare namespace data {\\n export type { data_Action as Action, data_Actions as Actions, Context$3 as Context, data_Contexts as Contexts, Contract$1 as Contract, Entities$1 as Entities, Entity$1 as Entity, data_Global as Global, data_Globals as Globals, Properties$2 as Properties, Property$2 as Property, PropertyType$1 as PropertyType, data_PropertyValues as PropertyValues, data_Trigger as Trigger };\\n}\\n\\n/**\\n * Base environment requirements interface for walkerOS destinations\\n *\\n * This defines the core interface that destinations can use to declare\\n * their runtime environment requirements. Platform-specific extensions\\n * should extend this interface.\\n */\\ninterface BaseEnv$1 {\\n /**\\n * Generic global properties that destinations may require\\n * Platform-specific implementations can extend this interface\\n */\\n [key: string]: unknown;\\n}\\n/**\\n * Type bundle for destination generics.\\n * Groups Settings, InitSettings, Mapping, and Env into a single type parameter.\\n */\\ninterface Types$2<S = unknown, M = unknown, E = BaseEnv$1, I = S> {\\n settings: S;\\n initSettings: I;\\n mapping: M;\\n env: E;\\n}\\n/**\\n * Generic constraint for Types - ensures T has required properties for indexed access\\n */\\ntype TypesGeneric$1 = {\\n settings: any;\\n initSettings: any;\\n mapping: any;\\n env: any;\\n};\\n/**\\n * Type extractors for consistent usage with Types bundle\\n */\\ntype Settings$1<T extends TypesGeneric$1 = Types$2> = T['settings'];\\ntype InitSettings$1<T extends TypesGeneric$1 = Types$2> = T['initSettings'];\\ntype Mapping$1<T extends TypesGeneric$1 = Types$2> = T['mapping'];\\ntype Env$1<T extends TypesGeneric$1 = Types$2> = T['env'];\\n/**\\n * Inference helper: Extract Types from Instance\\n */\\ntype TypesOf$1<I> = I extends Instance$2<infer T> ? T : never;\\ninterface Instance$2<T extends TypesGeneric$1 = Types$2> {\\n config: Config$5<T>;\\n queue?: Events;\\n dlq?: DLQ;\\n type?: string;\\n env?: Env$1<T>;\\n init?: InitFn<T>;\\n push: PushFn<T>;\\n pushBatch?: PushBatchFn<T>;\\n on?: OnFn;\\n}\\ninterface Config$5<T extends TypesGeneric$1 = Types$2> {\\n consent?: Consent;\\n settings?: InitSettings$1<T>;\\n data?: Value | Values;\\n env?: Env$1<T>;\\n id?: string;\\n init?: boolean;\\n loadScript?: boolean;\\n logger?: Config$3;\\n mapping?: Rules<Rule<Mapping$1<T>>>;\\n policy?: Policy$1;\\n queue?: boolean;\\n}\\ntype PartialConfig$1<T extends TypesGeneric$1 = Types$2> = Config$5<Types$2<Partial<Settings$1<T>> | Settings$1<T>, Partial<Mapping$1<T>> | Mapping$1<T>, Env$1<T>>>;\\ninterface Policy$1 {\\n [key: string]: Value;\\n}\\ntype Code<T extends TypesGeneric$1 = Types$2> = Instance$2<T> | true;\\ntype Init$1<T extends TypesGeneric$1 = Types$2> = {\\n code: Code<T>;\\n config?: Partial<Config$5<T>>;\\n env?: Partial<Env$1<T>>;\\n};\\ninterface InitDestinations {\\n [key: string]: Init$1<any>;\\n}\\ninterface Destinations {\\n [key: string]: Instance$2;\\n}\\ninterface Context$2<T extends TypesGeneric$1 = Types$2> {\\n collector: Instance$3;\\n config: Config$5<T>;\\n data?: Data$1;\\n env: Env$1<T>;\\n logger: Instance$1;\\n}\\ninterface InitContext<T extends TypesGeneric$1 = Types$2> {\\n collector: Instance$3;\\n config: Config$5<Types$2<Partial<Settings$1<T>>, Mapping$1<T>, Env$1<T>>>;\\n data?: Data$1;\\n env: Env$1<T>;\\n logger: Instance$1;\\n}\\ninterface PushContext<T extends TypesGeneric$1 = Types$2> extends Context$2<T> {\\n mapping?: Rule<Mapping$1<T>>;\\n}\\ninterface PushBatchContext<T extends TypesGeneric$1 = Types$2> extends Context$2<T> {\\n mapping?: Rule<Mapping$1<T>>;\\n}\\ntype InitFn<T extends TypesGeneric$1 = Types$2> = (context: InitContext<T>) => PromiseOrValue<void | false | Config$5<T>>;\\ntype PushFn<T extends TypesGeneric$1 = Types$2> = (event: Event, context: PushContext<T>) => PromiseOrValue<void>;\\ntype PushBatchFn<T extends TypesGeneric$1 = Types$2> = (batch: Batch<Mapping$1<T>>, context: PushBatchContext<T>) => void;\\ntype PushEvent<Mapping = unknown> = {\\n event: Event;\\n mapping?: Rule<Mapping>;\\n};\\ntype PushEvents<Mapping = unknown> = Array<PushEvent<Mapping>>;\\ninterface Batch<Mapping> {\\n key: string;\\n events: Events;\\n data: Array<Data$1>;\\n mapping?: Rule<Mapping>;\\n}\\ntype Data$1 = Property | undefined | Array<Property | undefined>;\\ntype Ref = {\\n id: string;\\n destination: Instance$2;\\n};\\ntype Push$1 = {\\n queue?: Events;\\n error?: unknown;\\n};\\ntype DLQ = Array<[Event, unknown]>;\\ntype Result$1 = {\\n successful: Array<Ref>;\\n queued: Array<Ref>;\\n failed: Array<Ref>;\\n};\\n\\ntype destination_Batch<Mapping> = Batch<Mapping>;\\ntype destination_Code<T extends TypesGeneric$1 = Types$2> = Code<T>;\\ntype destination_DLQ = DLQ;\\ntype destination_Destinations = Destinations;\\ntype destination_InitContext<T extends TypesGeneric$1 = Types$2> = InitContext<T>;\\ntype destination_InitDestinations = InitDestinations;\\ntype destination_InitFn<T extends TypesGeneric$1 = Types$2> = InitFn<T>;\\ntype destination_PushBatchContext<T extends TypesGeneric$1 = Types$2> = PushBatchContext<T>;\\ntype destination_PushBatchFn<T extends TypesGeneric$1 = Types$2> = PushBatchFn<T>;\\ntype destination_PushContext<T extends TypesGeneric$1 = Types$2> = PushContext<T>;\\ntype destination_PushEvent<Mapping = unknown> = PushEvent<Mapping>;\\ntype destination_PushEvents<Mapping = unknown> = PushEvents<Mapping>;\\ntype destination_PushFn<T extends TypesGeneric$1 = Types$2> = PushFn<T>;\\ntype destination_Ref = Ref;\\ndeclare namespace destination {\\n export type { BaseEnv$1 as BaseEnv, destination_Batch as Batch, destination_Code as Code, Config$5 as Config, Context$2 as Context, destination_DLQ as DLQ, Data$1 as Data, destination_Destinations as Destinations, Env$1 as Env, Init$1 as Init, destination_InitContext as InitContext, destination_InitDestinations as InitDestinations, destination_InitFn as InitFn, InitSettings$1 as InitSettings, Instance$2 as Instance, Mapping$1 as Mapping, PartialConfig$1 as PartialConfig, Policy$1 as Policy, Push$1 as Push, destination_PushBatchContext as PushBatchContext, destination_PushBatchFn as PushBatchFn, destination_PushContext as PushContext, destination_PushEvent as PushEvent, destination_PushEvents as PushEvents, destination_PushFn as PushFn, destination_Ref as Ref, Result$1 as Result, Settings$1 as Settings, Types$2 as Types, TypesGeneric$1 as TypesGeneric, TypesOf$1 as TypesOf };\\n}\\n\\ninterface EventFn<R = Promise<PushResult>> {\\n (partialEvent: DeepPartialEvent): R;\\n (event: string): R;\\n (event: string, data: Properties): R;\\n}\\ninterface Fn$1<R = Promise<PushResult>, Config = unknown> extends EventFn<R>, WalkerCommands<R, Config> {\\n}\\ninterface WalkerCommands<R = Promise<PushResult>, Config = unknown> {\\n (event: 'walker config', config: Partial<Config>): R;\\n (event: 'walker consent', consent: Consent): R;\\n <T extends Types$2>(event: 'walker destination', destination: Init$1<T> | Instance$2<T>, config?: Config$5<T>): R;\\n <K extends keyof Functions>(event: 'walker hook', name: K, hookFn: Functions[K]): R;\\n (event: 'walker on', type: Types$1, rules: SingleOrArray<Options>): R;\\n (event: 'walker user', user: User): R;\\n (event: 'walker run', runState: {\\n consent?: Consent;\\n user?: User;\\n globals?: Properties;\\n custom?: Properties;\\n }): R;\\n}\\ntype Event$1<R = Promise<PushResult>> = (partialEvent: DeepPartialEvent) => R;\\ntype PushData<Config = unknown> = DeepPartial<Config> | Consent | User | Properties;\\ninterface PushResult extends Result$1 {\\n event?: Event;\\n ok: boolean;\\n}\\ntype Layer = Array<IArguments | DeepPartialEvent | unknown[]>;\\n\\ntype elb_EventFn<R = Promise<PushResult>> = EventFn<R>;\\ntype elb_Layer = Layer;\\ntype elb_PushData<Config = unknown> = PushData<Config>;\\ntype elb_PushResult = PushResult;\\ntype elb_WalkerCommands<R = Promise<PushResult>, Config = unknown> = WalkerCommands<R, Config>;\\ndeclare namespace elb {\\n export type { Event$1 as Event, elb_EventFn as EventFn, Fn$1 as Fn, elb_Layer as Layer, elb_PushData as PushData, elb_PushResult as PushResult, elb_WalkerCommands as WalkerCommands };\\n}\\n\\n/**\\n * Flow Configuration System\\n *\\n * Core types for walkerOS unified configuration.\\n * Platform-agnostic, runtime-focused.\\n *\\n * The Flow system enables \\\"one config to rule them all\\\" - a single\\n * walkeros.config.json file that manages multiple flows\\n * (web_prod, web_stage, server_prod, etc.) with shared configuration,\\n * variables, and reusable definitions.\\n *\\n * @packageDocumentation\\n */\\n\\n/**\\n * Primitive value types for variables\\n */\\ntype Primitive = string | number | boolean;\\n/**\\n * Variables record type for interpolation.\\n * Used at Setup, Config, Source, and Destination levels.\\n */\\ntype Variables = Record<string, Primitive>;\\n/**\\n * Definitions record type for reusable configurations.\\n * Used at Setup, Config, Source, and Destination levels.\\n */\\ntype Definitions = Record<string, unknown>;\\n/**\\n * Packages configuration for build.\\n */\\ntype Packages = Record<string, {\\n version?: string;\\n imports?: string[];\\n path?: string;\\n}>;\\n/**\\n * Web platform configuration.\\n *\\n * @remarks\\n * Presence of this key indicates web platform (browser-based tracking).\\n * Builds to IIFE format, ES2020 target, browser platform.\\n */\\ninterface Web {\\n /**\\n * Window property name for collector instance.\\n * @default \\\"collector\\\"\\n */\\n windowCollector?: string;\\n /**\\n * Window property name for elb function.\\n * @default \\\"elb\\\"\\n */\\n windowElb?: string;\\n}\\n/**\\n * Server platform configuration.\\n *\\n * @remarks\\n * Presence of this key indicates server platform (Node.js).\\n * Builds to ESM format, Node18 target, node platform.\\n * Reserved for future server-specific options.\\n */\\ninterface Server {\\n}\\n/**\\n * Complete multi-flow configuration.\\n * Root type for walkeros.config.json files.\\n *\\n * @remarks\\n * If only one flow exists, it's auto-selected without --flow flag.\\n * Convention: use \\\"default\\\" as the flow name for single-flow configs.\\n *\\n * @example\\n * ```json\\n * {\\n * \\\"version\\\": 1,\\n * \\\"$schema\\\": \\\"https://walkeros.io/schema/flow/v1.json\\\",\\n * \\\"variables\\\": { \\\"CURRENCY\\\": \\\"USD\\\" },\\n * \\\"flows\\\": {\\n * \\\"default\\\": { \\\"web\\\": {}, ... }\\n * }\\n * }\\n * ```\\n */\\ninterface Setup {\\n /**\\n * Configuration schema version.\\n */\\n version: 1;\\n /**\\n * JSON Schema reference for IDE validation.\\n * @example \\\"https://walkeros.io/schema/flow/v1.json\\\"\\n */\\n $schema?: string;\\n /**\\n * Folders to include in the bundle output.\\n * These folders are copied to dist/ during bundle, making them available\\n * at runtime for both local and Docker execution.\\n *\\n * @remarks\\n * Use for credential files, configuration, or other runtime assets.\\n * Paths are relative to the config file location.\\n * Default: `[\\\"./shared\\\"]` if the folder exists, otherwise `[]`.\\n *\\n * @example\\n * ```json\\n * {\\n * \\\"include\\\": [\\\"./credentials\\\", \\\"./config\\\"]\\n * }\\n * ```\\n */\\n include?: string[];\\n /**\\n * Shared variables for interpolation.\\n * Resolution: process.env > Config.variables > Setup.variables > inline default\\n * Syntax: ${VAR_NAME} or ${VAR_NAME:default}\\n */\\n variables?: Variables;\\n /**\\n * Reusable configuration definitions.\\n * Referenced via JSON Schema $ref syntax: { \\\"$ref\\\": \\\"#/definitions/name\\\" }\\n */\\n definitions?: Definitions;\\n /**\\n * Named flow configurations.\\n * If only one flow exists, it's auto-selected.\\n */\\n flows: Record<string, Config$4>;\\n}\\n/**\\n * Single flow configuration.\\n * Represents one deployment target (e.g., web_prod, server_stage).\\n *\\n * @remarks\\n * Platform is determined by presence of `web` or `server` key.\\n * Exactly one must be present.\\n *\\n * Variables/definitions cascade: source/destination > config > setup\\n */\\ninterface Config$4 {\\n /**\\n * Web platform configuration.\\n * Presence indicates web platform (browser-based tracking).\\n * Mutually exclusive with `server`.\\n */\\n web?: Web;\\n /**\\n * Server platform configuration.\\n * Presence indicates server platform (Node.js).\\n * Mutually exclusive with `web`.\\n */\\n server?: Server;\\n /**\\n * Source configurations (data capture).\\n *\\n * @remarks\\n * Sources capture events from various origins:\\n * - Browser DOM interactions (clicks, page views)\\n * - DataLayer pushes\\n * - HTTP requests (server-side)\\n * - Cloud function triggers\\n *\\n * Key = unique source identifier (arbitrary)\\n * Value = source reference with package and config\\n *\\n * @example\\n * ```json\\n * {\\n * \\\"sources\\\": {\\n * \\\"browser\\\": {\\n * \\\"package\\\": \\\"@walkeros/web-source-browser\\\",\\n * \\\"config\\\": {\\n * \\\"settings\\\": {\\n * \\\"pageview\\\": true,\\n * \\\"session\\\": true\\n * }\\n * }\\n * }\\n * }\\n * }\\n * ```\\n */\\n sources?: Record<string, SourceReference>;\\n /**\\n * Destination configurations (data output).\\n *\\n * @remarks\\n * Destinations send processed events to external services:\\n * - Google Analytics (gtag)\\n * - Meta Pixel (fbq)\\n * - Custom APIs\\n * - Data warehouses\\n *\\n * Key = unique destination identifier (arbitrary)\\n * Value = destination reference with package and config\\n *\\n * @example\\n * ```json\\n * {\\n * \\\"destinations\\\": {\\n * \\\"gtag\\\": {\\n * \\\"package\\\": \\\"@walkeros/web-destination-gtag\\\",\\n * \\\"config\\\": {\\n * \\\"settings\\\": {\\n * \\\"ga4\\\": { \\\"measurementId\\\": \\\"G-XXXXXXXXXX\\\" }\\n * }\\n * }\\n * }\\n * }\\n * }\\n * ```\\n */\\n destinations?: Record<string, DestinationReference>;\\n /**\\n * Collector configuration (event processing).\\n *\\n * @remarks\\n * The collector is the central event processing engine.\\n * Configuration includes:\\n * - Consent management\\n * - Global properties\\n * - User identification\\n * - Processing rules\\n *\\n * @see {@link Collector.InitConfig} for complete options\\n *\\n * @example\\n * ```json\\n * {\\n * \\\"collector\\\": {\\n * \\\"run\\\": true,\\n * \\\"tagging\\\": 1,\\n * \\\"consent\\\": {\\n * \\\"functional\\\": true,\\n * \\\"marketing\\\": false\\n * },\\n * \\\"globals\\\": {\\n * \\\"currency\\\": \\\"USD\\\",\\n * \\\"environment\\\": \\\"production\\\"\\n * }\\n * }\\n * }\\n * ```\\n */\\n collector?: InitConfig;\\n /**\\n * NPM packages to bundle.\\n */\\n packages?: Packages;\\n /**\\n * Flow-level variables.\\n * Override Setup.variables, overridden by source/destination variables.\\n */\\n variables?: Variables;\\n /**\\n * Flow-level definitions.\\n * Extend Setup.definitions, overridden by source/destination definitions.\\n */\\n definitions?: Definitions;\\n}\\n/**\\n * Source reference with inline package syntax.\\n *\\n * @remarks\\n * References a source package and provides configuration.\\n * The package is automatically downloaded and imported during build.\\n */\\ninterface SourceReference {\\n /**\\n * Package specifier with optional version.\\n *\\n * @remarks\\n * Formats:\\n * - `\\\"@walkeros/web-source-browser\\\"` - Latest version\\n * - `\\\"@walkeros/web-source-browser@2.0.0\\\"` - Specific version\\n * - `\\\"@walkeros/web-source-browser@^2.0.0\\\"` - Semver range\\n *\\n * The CLI will:\\n * 1. Parse the package reference\\n * 2. Download from npm\\n * 3. Auto-detect default or named export\\n * 4. Generate import statement\\n *\\n * @example\\n * \\\"package\\\": \\\"@walkeros/web-source-browser@latest\\\"\\n */\\n package: string;\\n /**\\n * Resolved import variable name.\\n *\\n * @remarks\\n * Auto-resolved from packages[package].imports[0] during getFlowConfig().\\n * Can also be provided explicitly for advanced use cases.\\n */\\n code?: string;\\n /**\\n * Source-specific configuration.\\n *\\n * @remarks\\n * Structure depends on the source package.\\n * Passed to the source's initialization function.\\n *\\n * @example\\n * ```json\\n * {\\n * \\\"config\\\": {\\n * \\\"settings\\\": {\\n * \\\"pageview\\\": true,\\n * \\\"session\\\": true,\\n * \\\"elb\\\": \\\"elb\\\",\\n * \\\"prefix\\\": \\\"data-elb\\\"\\n * }\\n * }\\n * }\\n * ```\\n */\\n config?: unknown;\\n /**\\n * Source environment configuration.\\n *\\n * @remarks\\n * Environment-specific settings for the source.\\n * Merged with default source environment.\\n */\\n env?: unknown;\\n /**\\n * Mark as primary source (provides main ELB).\\n *\\n * @remarks\\n * The primary source's ELB function is returned by `startFlow()`.\\n * Only one source should be marked as primary per flow.\\n *\\n * @default false\\n */\\n primary?: boolean;\\n /**\\n * Source-level variables (highest priority in cascade).\\n * Overrides flow and setup variables.\\n */\\n variables?: Variables;\\n /**\\n * Source-level definitions (highest priority in cascade).\\n * Overrides flow and setup definitions.\\n */\\n definitions?: Definitions;\\n}\\n/**\\n * Destination reference with inline package syntax.\\n *\\n * @remarks\\n * References a destination package and provides configuration.\\n * Structure mirrors SourceReference for consistency.\\n */\\ninterface DestinationReference {\\n /**\\n * Package specifier with optional version.\\n *\\n * @remarks\\n * Same format as SourceReference.package\\n *\\n * @example\\n * \\\"package\\\": \\\"@walkeros/web-destination-gtag@2.0.0\\\"\\n */\\n package: string;\\n /**\\n * Resolved import variable name.\\n *\\n * @remarks\\n * Auto-resolved from packages[package].imports[0] during getFlowConfig().\\n * Can also be provided explicitly for advanced use cases.\\n */\\n code?: string;\\n /**\\n * Destination-specific configuration.\\n *\\n * @remarks\\n * Structure depends on the destination package.\\n * Typically includes:\\n * - settings: API keys, IDs, endpoints\\n * - mapping: Event transformation rules\\n * - consent: Required consent states\\n * - policy: Processing rules\\n *\\n * @example\\n * ```json\\n * {\\n * \\\"config\\\": {\\n * \\\"settings\\\": {\\n * \\\"ga4\\\": {\\n * \\\"measurementId\\\": \\\"G-XXXXXXXXXX\\\"\\n * }\\n * },\\n * \\\"mapping\\\": {\\n * \\\"page\\\": {\\n * \\\"view\\\": {\\n * \\\"name\\\": \\\"page_view\\\",\\n * \\\"data\\\": { ... }\\n * }\\n * }\\n * }\\n * }\\n * }\\n * ```\\n */\\n config?: unknown;\\n /**\\n * Destination environment configuration.\\n *\\n * @remarks\\n * Environment-specific settings for the destination.\\n * Merged with default destination environment.\\n */\\n env?: unknown;\\n /**\\n * Destination-level variables (highest priority in cascade).\\n * Overrides flow and setup variables.\\n */\\n variables?: Variables;\\n /**\\n * Destination-level definitions (highest priority in cascade).\\n * Overrides flow and setup definitions.\\n */\\n definitions?: Definitions;\\n}\\n\\ntype flow_Definitions = Definitions;\\ntype flow_DestinationReference = DestinationReference;\\ntype flow_Packages = Packages;\\ntype flow_Primitive = Primitive;\\ntype flow_Server = Server;\\ntype flow_Setup = Setup;\\ntype flow_SourceReference = SourceReference;\\ntype flow_Variables = Variables;\\ntype flow_Web = Web;\\ndeclare namespace flow {\\n export type { Config$4 as Config, flow_Definitions as Definitions, flow_DestinationReference as DestinationReference, flow_Packages as Packages, flow_Primitive as Primitive, flow_Server as Server, flow_Setup as Setup, flow_SourceReference as SourceReference, flow_Variables as Variables, flow_Web as Web };\\n}\\n\\ntype AnyFunction$1<P extends unknown[] = never[], R = unknown> = (...args: P) => R;\\ntype Functions = {\\n [key: string]: AnyFunction$1;\\n};\\ninterface Parameter<P extends unknown[], R> {\\n fn: (...args: P) => R;\\n result?: R;\\n}\\ntype HookFn<T extends AnyFunction$1> = (params: Parameter<Parameters<T>, ReturnType<T>>, ...args: Parameters<T>) => ReturnType<T>;\\n\\ntype hooks_Functions = Functions;\\ntype hooks_HookFn<T extends AnyFunction$1> = HookFn<T>;\\ndeclare namespace hooks {\\n export type { AnyFunction$1 as AnyFunction, hooks_Functions as Functions, hooks_HookFn as HookFn };\\n}\\n\\n/**\\n * Log levels from most to least severe\\n */\\ndeclare enum Level {\\n ERROR = 0,\\n INFO = 1,\\n DEBUG = 2\\n}\\n/**\\n * Normalized error context extracted from Error objects\\n */\\ninterface ErrorContext {\\n message: string;\\n name: string;\\n stack?: string;\\n cause?: unknown;\\n}\\n/**\\n * Context passed to log handlers\\n * If an Error was passed, it's normalized into the error property\\n */\\ninterface LogContext {\\n [key: string]: unknown;\\n error?: ErrorContext;\\n}\\n/**\\n * Log message function signature\\n * Accepts string or Error as message, with optional context\\n */\\ntype LogFn = (message: string | Error, context?: unknown | Error) => void;\\n/**\\n * Throw function signature - logs error then throws\\n * Returns never as it always throws\\n */\\ntype ThrowFn = (message: string | Error, context?: unknown) => never;\\n/**\\n * Default handler function (passed to custom handlers for chaining)\\n */\\ntype DefaultHandler = (level: Level, message: string, context: LogContext, scope: string[]) => void;\\n/**\\n * Custom log handler function\\n * Receives originalHandler to allow middleware-style chaining\\n */\\ntype Handler = (level: Level, message: string, context: LogContext, scope: string[], originalHandler: DefaultHandler) => void;\\n/**\\n * Logger instance with scoping support\\n * All logs automatically include trace path from scoping\\n */\\ninterface Instance$1 {\\n /**\\n * Log an error message (always visible unless silenced)\\n */\\n error: LogFn;\\n /**\\n * Log an informational message\\n */\\n info: LogFn;\\n /**\\n * Log a debug message\\n */\\n debug: LogFn;\\n /**\\n * Log an error message and throw an Error\\n * Combines logging and throwing in one call\\n */\\n throw: ThrowFn;\\n /**\\n * Create a scoped child logger with automatic trace path\\n * @param name - Scope name (e.g., destination type, destination key)\\n * @returns A new logger instance with the scope applied\\n */\\n scope: (name: string) => Instance$1;\\n}\\n/**\\n * Logger configuration options\\n */\\ninterface Config$3 {\\n /**\\n * Minimum log level to display\\n * @default Level.ERROR\\n */\\n level?: Level | keyof typeof Level;\\n /**\\n * Custom log handler function\\n * Receives originalHandler to preserve default behavior\\n */\\n handler?: Handler;\\n}\\n/**\\n * Internal config with resolved values and scope\\n */\\ninterface InternalConfig {\\n level: Level;\\n handler?: Handler;\\n scope: string[];\\n}\\n/**\\n * Logger factory function type\\n */\\ntype Factory = (config?: Config$3) => Instance$1;\\n\\ntype logger_DefaultHandler = DefaultHandler;\\ntype logger_ErrorContext = ErrorContext;\\ntype logger_Factory = Factory;\\ntype logger_Handler = Handler;\\ntype logger_InternalConfig = InternalConfig;\\ntype logger_Level = Level;\\ndeclare const logger_Level: typeof Level;\\ntype logger_LogContext = LogContext;\\ntype logger_LogFn = LogFn;\\ntype logger_ThrowFn = ThrowFn;\\ndeclare namespace logger {\\n export { type Config$3 as Config, type logger_DefaultHandler as DefaultHandler, type logger_ErrorContext as ErrorContext, type logger_Factory as Factory, type logger_Handler as Handler, type Instance$1 as Instance, type logger_InternalConfig as InternalConfig, logger_Level as Level, type logger_LogContext as LogContext, type logger_LogFn as LogFn, type logger_ThrowFn as ThrowFn };\\n}\\n\\n/**\\n * Shared mapping configuration interface.\\n * Used by both Source.Config and Destination.Config.\\n */\\ninterface Config$2<T = unknown> {\\n consent?: Consent;\\n data?: Value | Values;\\n mapping?: Rules<Rule<T>>;\\n policy?: Policy;\\n}\\ninterface Policy {\\n [key: string]: Value;\\n}\\ninterface Rules<T = Rule> {\\n [entity: string]: Record<string, T | Array<T>> | undefined;\\n}\\ninterface Rule<Settings = unknown> {\\n batch?: number;\\n batchFn?: (destination: Instance$2, collector: Instance$3) => void;\\n batched?: Batch<Settings>;\\n condition?: Condition;\\n consent?: Consent;\\n settings?: Settings;\\n data?: Data;\\n ignore?: boolean;\\n name?: string;\\n policy?: Policy;\\n}\\ninterface Result {\\n eventMapping?: Rule;\\n mappingKey?: string;\\n}\\ntype Data = Value | Values;\\ntype Value = ValueType | Array<ValueType>;\\ntype Values = Array<Value>;\\ntype ValueType = string | ValueConfig;\\ninterface ValueConfig {\\n condition?: Condition;\\n consent?: Consent;\\n fn?: Fn;\\n key?: string;\\n loop?: Loop;\\n map?: Map;\\n set?: Value[];\\n validate?: Validate;\\n value?: PropertyType;\\n}\\ntype Condition = (value: DeepPartialEvent | unknown, mapping?: Value, collector?: Instance$3) => PromiseOrValue<boolean>;\\ntype Fn = (value: DeepPartialEvent | unknown, mapping: Value, options: Options$1) => PromiseOrValue<Property | unknown>;\\ntype Loop = [Value, Value];\\ntype Map = {\\n [key: string]: Value;\\n};\\ninterface Options$1 {\\n consent?: Consent;\\n collector?: Instance$3;\\n props?: unknown;\\n}\\ntype Validate = (value?: unknown) => PromiseOrValue<boolean>;\\n\\ntype mapping_Condition = Condition;\\ntype mapping_Data = Data;\\ntype mapping_Fn = Fn;\\ntype mapping_Loop = Loop;\\ntype mapping_Map = Map;\\ntype mapping_Policy = Policy;\\ntype mapping_Result = Result;\\ntype mapping_Rule<Settings = unknown> = Rule<Settings>;\\ntype mapping_Rules<T = Rule> = Rules<T>;\\ntype mapping_Validate = Validate;\\ntype mapping_Value = Value;\\ntype mapping_ValueConfig = ValueConfig;\\ntype mapping_ValueType = ValueType;\\ntype mapping_Values = Values;\\ndeclare namespace mapping {\\n export type { mapping_Condition as Condition, Config$2 as Config, mapping_Data as Data, mapping_Fn as Fn, mapping_Loop as Loop, mapping_Map as Map, Options$1 as Options, mapping_Policy as Policy, mapping_Result as Result, mapping_Rule as Rule, mapping_Rules as Rules, mapping_Validate as Validate, mapping_Value as Value, mapping_ValueConfig as ValueConfig, mapping_ValueType as ValueType, mapping_Values as Values };\\n}\\n\\ntype Config$1 = {\\n consent?: Array<ConsentConfig>;\\n ready?: Array<ReadyConfig>;\\n run?: Array<RunConfig>;\\n session?: Array<SessionConfig>;\\n};\\ntype Types$1 = keyof Config$1;\\ninterface EventContextMap {\\n consent: Consent;\\n session: SessionData;\\n ready: undefined;\\n run: undefined;\\n}\\ntype EventContext<T extends Types$1> = EventContextMap[T];\\ntype AnyEventContext = EventContextMap[keyof EventContextMap];\\ninterface Context$1 {\\n consent?: Consent;\\n session?: unknown;\\n}\\ntype Options = ConsentConfig | ReadyConfig | RunConfig | SessionConfig;\\ninterface ConsentConfig {\\n [key: string]: ConsentFn;\\n}\\ntype ConsentFn = (collector: Instance$3, consent: Consent) => void;\\ntype ReadyConfig = ReadyFn;\\ntype ReadyFn = (collector: Instance$3) => void;\\ntype RunConfig = RunFn;\\ntype RunFn = (collector: Instance$3) => void;\\ntype SessionConfig = SessionFn;\\ntype SessionFn = (collector: Instance$3, session?: unknown) => void;\\ninterface OnConfig {\\n consent?: ConsentConfig[];\\n ready?: ReadyConfig[];\\n run?: RunConfig[];\\n session?: SessionConfig[];\\n [key: string]: ConsentConfig[] | ReadyConfig[] | RunConfig[] | SessionConfig[] | undefined;\\n}\\ntype OnFn<T extends TypesGeneric$1 = Types$2> = (type: Types$1, context: Context$2<T>) => PromiseOrValue<void>;\\ntype OnFnRuntime = (type: Types$1, context: Context$2) => PromiseOrValue<void>;\\n\\ntype on_AnyEventContext = AnyEventContext;\\ntype on_ConsentConfig = ConsentConfig;\\ntype on_ConsentFn = ConsentFn;\\ntype on_EventContext<T extends Types$1> = EventContext<T>;\\ntype on_EventContextMap = EventContextMap;\\ntype on_OnConfig = OnConfig;\\ntype on_OnFn<T extends TypesGeneric$1 = Types$2> = OnFn<T>;\\ntype on_OnFnRuntime = OnFnRuntime;\\ntype on_Options = Options;\\ntype on_ReadyConfig = ReadyConfig;\\ntype on_ReadyFn = ReadyFn;\\ntype on_RunConfig = RunConfig;\\ntype on_RunFn = RunFn;\\ntype on_SessionConfig = SessionConfig;\\ntype on_SessionFn = SessionFn;\\ndeclare namespace on {\\n export type { on_AnyEventContext as AnyEventContext, Config$1 as Config, on_ConsentConfig as ConsentConfig, on_ConsentFn as ConsentFn, Context$1 as Context, on_EventContext as EventContext, on_EventContextMap as EventContextMap, on_OnConfig as OnConfig, on_OnFn as OnFn, on_OnFnRuntime as OnFnRuntime, on_Options as Options, on_ReadyConfig as ReadyConfig, on_ReadyFn as ReadyFn, on_RunConfig as RunConfig, on_RunFn as RunFn, on_SessionConfig as SessionConfig, on_SessionFn as SessionFn, Types$1 as Types };\\n}\\n\\ninterface Context {\\n city?: string;\\n country?: string;\\n encoding?: string;\\n hash?: string;\\n ip?: string;\\n language?: string;\\n origin?: string;\\n region?: string;\\n userAgent?: string;\\n [key: string]: string | undefined;\\n}\\n\\ntype request_Context = Context;\\ndeclare namespace request {\\n export type { request_Context as Context };\\n}\\n\\ntype Contracts = Array<Contract>;\\ntype Contract = {\\n [entity: string]: {\\n [action: string]: Properties$1;\\n };\\n};\\ntype Properties$1 = {\\n [key: string]: Property$1 | undefined;\\n};\\ntype Property$1 = {\\n allowedKeys?: string[];\\n allowedValues?: unknown[];\\n maxLength?: number;\\n max?: number;\\n min?: number;\\n required?: boolean;\\n schema?: Properties$1;\\n strict?: boolean;\\n type?: string;\\n validate?: (value: unknown, key: string, event: AnyObject) => Property;\\n};\\n\\ntype schema_Contract = Contract;\\ntype schema_Contracts = Contracts;\\ndeclare namespace schema {\\n export type { schema_Contract as Contract, schema_Contracts as Contracts, Properties$1 as Properties, Property$1 as Property };\\n}\\n\\n/**\\n * Base Env interface for dependency injection into sources.\\n *\\n * Sources receive all their dependencies through this environment object,\\n * making them platform-agnostic and easily testable.\\n */\\ninterface BaseEnv {\\n [key: string]: unknown;\\n push: PushFn$1;\\n command: CommandFn;\\n sources?: Sources;\\n elb: Fn$1;\\n logger: Instance$1;\\n}\\n/**\\n * Type bundle for source generics.\\n * Groups Settings, Mapping, Push, Env, and InitSettings into a single type parameter.\\n *\\n * @template S - Settings configuration type\\n * @template M - Mapping configuration type\\n * @template P - Push function signature (flexible to support HTTP handlers, etc.)\\n * @template E - Environment dependencies type\\n * @template I - InitSettings configuration type (user input)\\n */\\ninterface Types<S = unknown, M = unknown, P = Fn$1, E = BaseEnv, I = S> {\\n settings: S;\\n initSettings: I;\\n mapping: M;\\n push: P;\\n env: E;\\n}\\n/**\\n * Generic constraint for Types - ensures T has required properties for indexed access\\n */\\ntype TypesGeneric = {\\n settings: any;\\n initSettings: any;\\n mapping: any;\\n push: any;\\n env: any;\\n};\\n/**\\n * Type extractors for consistent usage with Types bundle\\n */\\ntype Settings<T extends TypesGeneric = Types> = T['settings'];\\ntype InitSettings<T extends TypesGeneric = Types> = T['initSettings'];\\ntype Mapping<T extends TypesGeneric = Types> = T['mapping'];\\ntype Push<T extends TypesGeneric = Types> = T['push'];\\ntype Env<T extends TypesGeneric = Types> = T['env'];\\n/**\\n * Inference helper: Extract Types from Instance\\n */\\ntype TypesOf<I> = I extends Instance<infer T> ? T : never;\\ninterface Config<T extends TypesGeneric = Types> extends Config$2<Mapping<T>> {\\n settings?: InitSettings<T>;\\n env?: Env<T>;\\n id?: string;\\n logger?: Config$3;\\n disabled?: boolean;\\n primary?: boolean;\\n}\\ntype PartialConfig<T extends TypesGeneric = Types> = Config<Types<Partial<Settings<T>> | Settings<T>, Partial<Mapping<T>> | Mapping<T>, Push<T>, Env<T>>>;\\ninterface Instance<T extends TypesGeneric = Types> {\\n type: string;\\n config: Config<T>;\\n push: Push<T>;\\n destroy?(): void | Promise<void>;\\n on?(event: Types$1, context?: unknown): void | Promise<void>;\\n}\\ntype Init<T extends TypesGeneric = Types> = (config: Partial<Config<T>>, env: Env<T>) => Instance<T> | Promise<Instance<T>>;\\ntype InitSource<T extends TypesGeneric = Types> = {\\n code: Init<T>;\\n config?: Partial<Config<T>>;\\n env?: Partial<Env<T>>;\\n primary?: boolean;\\n};\\n/**\\n * Sources configuration for collector.\\n * Maps source IDs to their initialization configurations.\\n */\\ninterface InitSources {\\n [sourceId: string]: InitSource<any>;\\n}\\n\\ntype source_BaseEnv = BaseEnv;\\ntype source_Config<T extends TypesGeneric = Types> = Config<T>;\\ntype source_Env<T extends TypesGeneric = Types> = Env<T>;\\ntype source_Init<T extends TypesGeneric = Types> = Init<T>;\\ntype source_InitSettings<T extends TypesGeneric = Types> = InitSettings<T>;\\ntype source_InitSource<T extends TypesGeneric = Types> = InitSource<T>;\\ntype source_InitSources = InitSources;\\ntype source_Instance<T extends TypesGeneric = Types> = Instance<T>;\\ntype source_Mapping<T extends TypesGeneric = Types> = Mapping<T>;\\ntype source_PartialConfig<T extends TypesGeneric = Types> = PartialConfig<T>;\\ntype source_Push<T extends TypesGeneric = Types> = Push<T>;\\ntype source_Settings<T extends TypesGeneric = Types> = Settings<T>;\\ntype source_Types<S = unknown, M = unknown, P = Fn$1, E = BaseEnv, I = S> = Types<S, M, P, E, I>;\\ntype source_TypesGeneric = TypesGeneric;\\ntype source_TypesOf<I> = TypesOf<I>;\\ndeclare namespace source {\\n export type { source_BaseEnv as BaseEnv, source_Config as Config, source_Env as Env, source_Init as Init, source_InitSettings as InitSettings, source_InitSource as InitSource, source_InitSources as InitSources, source_Instance as Instance, source_Mapping as Mapping, source_PartialConfig as PartialConfig, source_Push as Push, source_Settings as Settings, source_Types as Types, source_TypesGeneric as TypesGeneric, source_TypesOf as TypesOf };\\n}\\n\\ntype AnyObject<T = unknown> = Record<string, T>;\\ntype Elb = Fn$1;\\ntype AnyFunction = (...args: unknown[]) => unknown;\\ntype SingleOrArray<T> = T | Array<T>;\\ntype Events = Array<Event>;\\ntype PartialEvent = Partial<Event>;\\ntype DeepPartialEvent = DeepPartial<Event>;\\ninterface Event {\\n name: string;\\n data: Properties;\\n context: OrderedProperties;\\n globals: Properties;\\n custom: Properties;\\n user: User;\\n nested: Entities;\\n consent: Consent;\\n id: string;\\n trigger: string;\\n entity: string;\\n action: string;\\n timestamp: number;\\n timing: number;\\n group: string;\\n count: number;\\n version: Version;\\n source: Source;\\n}\\ninterface Consent {\\n [name: string]: boolean;\\n}\\ninterface User extends Properties {\\n id?: string;\\n device?: string;\\n session?: string;\\n hash?: string;\\n address?: string;\\n email?: string;\\n phone?: string;\\n userAgent?: string;\\n browser?: string;\\n browserVersion?: string;\\n deviceType?: string;\\n language?: string;\\n country?: string;\\n region?: string;\\n city?: string;\\n zip?: string;\\n timezone?: string;\\n os?: string;\\n osVersion?: string;\\n screenSize?: string;\\n ip?: string;\\n internal?: boolean;\\n}\\ninterface Version extends Properties {\\n source: string;\\n tagging: number;\\n}\\ninterface Source extends Properties {\\n type: SourceType;\\n id: string;\\n previous_id: string;\\n}\\ntype SourceType = 'web' | 'server' | 'app' | 'other' | string;\\ntype PropertyType = boolean | string | number | {\\n [key: string]: Property;\\n};\\ntype Property = PropertyType | Array<PropertyType>;\\ninterface Properties {\\n [key: string]: Property | undefined;\\n}\\ninterface OrderedProperties {\\n [key: string]: [Property, number] | undefined;\\n}\\ntype Entities = Array<Entity>;\\ninterface Entity {\\n entity: string;\\n data: Properties;\\n nested: Entities;\\n context: OrderedProperties;\\n}\\ntype ConsentHandler = Record<string, AnyFunction>;\\ntype ActionHandler = AnyFunction;\\ntype DeepPartial<T> = {\\n [P in keyof T]?: T[P] extends object ? DeepPartial<T[P]> : T[P];\\n};\\ntype PromiseOrValue<T> = T | Promise<T>;\\n\\ntype walkeros_ActionHandler = ActionHandler;\\ntype walkeros_AnyFunction = AnyFunction;\\ntype walkeros_AnyObject<T = unknown> = AnyObject<T>;\\ntype walkeros_Consent = Consent;\\ntype walkeros_ConsentHandler = ConsentHandler;\\ntype walkeros_DeepPartial<T> = DeepPartial<T>;\\ntype walkeros_DeepPartialEvent = DeepPartialEvent;\\ntype walkeros_Elb = Elb;\\ntype walkeros_Entities = Entities;\\ntype walkeros_Entity = Entity;\\ntype walkeros_Event = Event;\\ntype walkeros_Events = Events;\\ntype walkeros_OrderedProperties = OrderedProperties;\\ntype walkeros_PartialEvent = PartialEvent;\\ntype walkeros_PromiseOrValue<T> = PromiseOrValue<T>;\\ntype walkeros_Properties = Properties;\\ntype walkeros_Property = Property;\\ntype walkeros_PropertyType = PropertyType;\\ntype walkeros_SingleOrArray<T> = SingleOrArray<T>;\\ntype walkeros_Source = Source;\\ntype walkeros_SourceType = SourceType;\\ntype walkeros_User = User;\\ntype walkeros_Version = Version;\\ndeclare namespace walkeros {\\n export type { walkeros_ActionHandler as ActionHandler, walkeros_AnyFunction as AnyFunction, walkeros_AnyObject as AnyObject, walkeros_Consent as Consent, walkeros_ConsentHandler as ConsentHandler, walkeros_DeepPartial as DeepPartial, walkeros_DeepPartialEvent as DeepPartialEvent, walkeros_Elb as Elb, walkeros_Entities as Entities, walkeros_Entity as Entity, walkeros_Event as Event, walkeros_Events as Events, walkeros_OrderedProperties as OrderedProperties, walkeros_PartialEvent as PartialEvent, walkeros_PromiseOrValue as PromiseOrValue, walkeros_Properties as Properties, walkeros_Property as Property, walkeros_PropertyType as PropertyType, walkeros_SingleOrArray as SingleOrArray, walkeros_Source as Source, walkeros_SourceType as SourceType, walkeros_User as User, walkeros_Version as Version };\\n}\\n\\ntype StorageType = 'local' | 'session' | 'cookie';\\ndeclare const Const: {\\n readonly Utils: {\\n readonly Storage: {\\n readonly Local: \\\"local\\\";\\n readonly Session: \\\"session\\\";\\n readonly Cookie: \\\"cookie\\\";\\n };\\n };\\n};\\n\\ntype SendDataValue = Property | Properties;\\ntype SendHeaders = {\\n [key: string]: string;\\n};\\ninterface SendResponse {\\n ok: boolean;\\n data?: unknown;\\n error?: string;\\n}\\n\\n/**\\n * Anonymizes an IPv4 address by setting the last octet to 0.\\n *\\n * @param ip The IP address to anonymize.\\n * @returns The anonymized IP address or an empty string if the IP is invalid.\\n */\\ndeclare function anonymizeIP(ip: string): string;\\n\\n/**\\n * Flow Configuration Utilities\\n *\\n * Functions for resolving and processing Flow configurations.\\n *\\n * @packageDocumentation\\n */\\n\\n/**\\n * Convert package name to valid JavaScript variable name.\\n * Used for deterministic default import naming.\\n * @example\\n * packageNameToVariable('@walkeros/server-destination-api')\\n * // → '_walkerosServerDestinationApi'\\n */\\ndeclare function packageNameToVariable(packageName: string): string;\\n/**\\n * Get resolved flow configuration for a named flow.\\n *\\n * @param setup - The complete setup configuration\\n * @param flowName - Flow name (auto-selected if only one exists)\\n * @returns Resolved Config with variables/definitions interpolated and $refs resolved\\n * @throws Error if flow selection is required but not specified, or flow not found\\n *\\n * @example\\n * ```typescript\\n * import { getFlowConfig } from '@walkeros/core';\\n *\\n * const setup = JSON.parse(fs.readFileSync('walkeros.config.json', 'utf8'));\\n *\\n * // Auto-select if only one flow\\n * const config = getFlowConfig(setup);\\n *\\n * // Or specify flow\\n * const prodConfig = getFlowConfig(setup, 'production');\\n * ```\\n */\\ndeclare function getFlowConfig(setup: Setup, flowName?: string): Config$4;\\n/**\\n * Get platform from config (web or server).\\n *\\n * @param config - Flow configuration\\n * @returns \\\"web\\\" or \\\"server\\\"\\n * @throws Error if neither web nor server is present\\n *\\n * @example\\n * ```typescript\\n * import { getPlatform } from '@walkeros/core';\\n *\\n * const platform = getPlatform(config);\\n * // Returns \\\"web\\\" or \\\"server\\\"\\n * ```\\n */\\ndeclare function getPlatform(config: Config$4): 'web' | 'server';\\n\\n/**\\n * @interface Assign\\n * @description Options for the assign function.\\n * @property merge - Merge array properties instead of overriding them.\\n * @property shallow - Create a shallow copy instead of updating the target object.\\n * @property extend - Extend the target with new properties instead of only updating existing ones.\\n */\\ninterface Assign {\\n merge?: boolean;\\n shallow?: boolean;\\n extend?: boolean;\\n}\\n/**\\n * Merges objects with advanced options.\\n *\\n * @template T, U\\n * @param target - The target object to merge into.\\n * @param obj - The source object to merge from.\\n * @param options - Options for merging.\\n * @returns The merged object.\\n */\\ndeclare function assign<T extends object, U extends object>(target: T, obj?: U, options?: Assign): T & U;\\n\\n/**\\n * Gets a value from an object by a dot-notation string.\\n * Supports wildcards for arrays.\\n *\\n * @example\\n * getByPath({ data: { id: 1 } }, \\\"data.id\\\") // Returns 1\\n *\\n * @param event - The object to get the value from.\\n * @param key - The dot-notation string.\\n * @param defaultValue - The default value to return if the key is not found.\\n * @returns The value from the object or the default value.\\n */\\ndeclare function getByPath(event: unknown, key?: string, defaultValue?: unknown): unknown;\\n/**\\n * Sets a value in an object by a dot-notation string.\\n *\\n * @param obj - The object to set the value in.\\n * @param key - The dot-notation string.\\n * @param value - The value to set.\\n * @returns A new object with the updated value.\\n */\\ndeclare function setByPath<T = unknown>(obj: T, key: string, value: unknown): T;\\n\\n/**\\n * Casts a value to a specific type.\\n *\\n * @param value The value to cast.\\n * @returns The casted value.\\n */\\ndeclare function castValue(value: unknown): PropertyType;\\n\\n/**\\n * Creates a deep clone of a value.\\n * Supports primitive values, objects, arrays, dates, and regular expressions.\\n * Handles circular references.\\n *\\n * @template T\\n * @param org - The value to clone.\\n * @param visited - A map of visited objects to handle circular references.\\n * @returns The cloned value.\\n */\\ndeclare function clone<T>(org: T, visited?: WeakMap<object, unknown>): T;\\n\\n/**\\n * Checks if the required consent is granted.\\n *\\n * @param required - The required consent states.\\n * @param state - The current consent states.\\n * @param individual - Individual consent states to prioritize.\\n * @returns The granted consent states or false if not granted.\\n */\\ndeclare function getGrantedConsent(required: Consent | undefined, state?: Consent, individual?: Consent): false | Consent;\\n\\n/**\\n * Creates a new destination instance by merging a base destination with additional configuration.\\n *\\n * This utility enables elegant destination configuration while avoiding config side-effects\\n * that could occur when reusing destination objects across multiple collector instances.\\n *\\n * @param baseDestination - The base destination to extend\\n * @param config - Additional configuration to merge with the base destination's config\\n * @returns A new destination instance with merged configuration\\n *\\n * @example\\n * ```typescript\\n * // Types are inferred automatically from destinationGtag\\n * elb('walker destination', createDestination(destinationGtag, {\\n * settings: { ga4: { measurementId: 'G-123' } }\\n * }));\\n * ```\\n */\\ndeclare function createDestination<I extends Instance$2>(baseDestination: I, config: Partial<Config$5<TypesOf$1<I>>>): I;\\n\\n/**\\n * Creates a complete event with default values.\\n * Used for testing and debugging.\\n *\\n * @param props - Properties to override the default values.\\n * @returns A complete event.\\n */\\ndeclare function createEvent(props?: DeepPartialEvent): Event;\\n/**\\n * Creates a complete event with default values based on the event name.\\n * Used for testing and debugging.\\n *\\n * @param name - The name of the event to create.\\n * @param props - Properties to override the default values.\\n * @returns A complete event.\\n */\\ndeclare function getEvent(name?: string, props?: DeepPartialEvent): Event;\\n\\n/**\\n * Generates a random string of a given length.\\n *\\n * @param length - The length of the random string.\\n * @returns The random string.\\n */\\ndeclare function getId(length?: number): string;\\n\\ninterface MarketingParameters {\\n [key: string]: string;\\n}\\n/**\\n * Extracts marketing parameters from a URL.\\n *\\n * @param url - The URL to extract the parameters from.\\n * @param custom - Custom marketing parameters to extract.\\n * @returns The extracted marketing parameters.\\n */\\ndeclare function getMarketingParameters(url: URL, custom?: MarketingParameters): Properties;\\n\\n/**\\n * Creates a debounced function that delays invoking `fn` until after `wait`\\n * milliseconds have elapsed since the last time the debounced function was\\n * invoked. The debounced function comes with a `cancel` method to cancel\\n * delayed `fn` invocations and a `flush` method to immediately invoke them.\\n *\\n * @template P, R\\n * @param fn The function to debounce.\\n * @param wait The number of milliseconds to delay.\\n * @param immediate Trigger the function on the leading edge, instead of the trailing.\\n * @returns The new debounced function.\\n */\\ndeclare function debounce<P extends unknown[], R>(fn: (...args: P) => R, wait?: number, immediate?: boolean): (...args: P) => Promise<R>;\\ndeclare function throttle<P extends unknown[], R>(fn: (...args: P) => R | undefined, delay?: number): (...args: P) => R | undefined;\\n\\n/**\\n * Checks if a value is an arguments object.\\n *\\n * @param value The value to check.\\n * @returns True if the value is an arguments object, false otherwise.\\n */\\ndeclare function isArguments(value: unknown): value is IArguments;\\n/**\\n * Checks if a value is an array.\\n *\\n * @param value The value to check.\\n * @returns True if the value is an array, false otherwise.\\n */\\ndeclare function isArray<T>(value: unknown): value is T[];\\n/**\\n * Checks if a value is a boolean.\\n *\\n * @param value The value to check.\\n * @returns True if the value is a boolean, false otherwise.\\n */\\ndeclare function isBoolean(value: unknown): value is boolean;\\n/**\\n * Checks if an entity is a walker command.\\n *\\n * @param entity The entity to check.\\n * @returns True if the entity is a walker command, false otherwise.\\n */\\ndeclare function isCommand(entity: string): entity is \\\"walker\\\";\\n/**\\n * Checks if a value is defined.\\n *\\n * @param value The value to check.\\n * @returns True if the value is defined, false otherwise.\\n */\\ndeclare function isDefined<T>(val: T | undefined): val is T;\\n/**\\n * Checks if a value is an element or the document.\\n *\\n * @param elem The value to check.\\n * @returns True if the value is an element or the document, false otherwise.\\n */\\ndeclare function isElementOrDocument(elem: unknown): elem is Element;\\n/**\\n * Checks if a value is a function.\\n *\\n * @param value The value to check.\\n * @returns True if the value is a function, false otherwise.\\n */\\ndeclare function isFunction(value: unknown): value is Function;\\n/**\\n * Checks if a value is a number.\\n *\\n * @param value The value to check.\\n * @returns True if the value is a number, false otherwise.\\n */\\ndeclare function isNumber(value: unknown): value is number;\\n/**\\n * Checks if a value is an object.\\n *\\n * @param value The value to check.\\n * @returns True if the value is an object, false otherwise.\\n */\\ndeclare function isObject(value: unknown): value is AnyObject;\\n/**\\n * Checks if two variables have the same type.\\n *\\n * @param variable The first variable.\\n * @param type The second variable.\\n * @returns True if the variables have the same type, false otherwise.\\n */\\ndeclare function isSameType<T>(variable: unknown, type: T): variable is typeof type;\\n/**\\n * Checks if a value is a string.\\n *\\n * @param value The value to check.\\n * @returns True if the value is a string, false otherwise.\\n */\\ndeclare function isString(value: unknown): value is string;\\n\\n/**\\n * Create a logger instance\\n *\\n * @param config - Logger configuration\\n * @returns Logger instance with all log methods and scoping support\\n *\\n * @example\\n * ```typescript\\n * // Basic usage\\n * const logger = createLogger({ level: 'DEBUG' });\\n * logger.info('Hello world');\\n *\\n * // With scoping\\n * const destLogger = logger.scope('gtag').scope('myInstance');\\n * destLogger.debug('Processing event'); // DEBUG [gtag:myInstance] Processing event\\n *\\n * // With custom handler\\n * const logger = createLogger({\\n * handler: (level, message, context, scope, originalHandler) => {\\n * // Custom logic (e.g., send to Sentry)\\n * originalHandler(level, message, context, scope);\\n * }\\n * });\\n * ```\\n *\\n * // TODO: Consider compile-time stripping of debug logs in production builds\\n * // e.g., if (__DEV__) { logger.debug(...) }\\n */\\ndeclare function createLogger(config?: Config$3): Instance$1;\\n\\n/**\\n * Gets the mapping for an event.\\n *\\n * @param event The event to get the mapping for (can be partial or full).\\n * @param mapping The mapping rules.\\n * @returns The mapping result.\\n */\\ndeclare function getMappingEvent(event: DeepPartialEvent | PartialEvent | Event, mapping?: Rules): Promise<Result>;\\n/**\\n * Gets a value from a mapping.\\n *\\n * @param value The value to get the mapping from.\\n * @param data The mapping data.\\n * @param options The mapping options.\\n * @returns The mapped value.\\n */\\ndeclare function getMappingValue(value: DeepPartialEvent | unknown | undefined, data?: Data, options?: Options$1): Promise<Property | undefined>;\\n/**\\n * Processes an event through mapping configuration.\\n *\\n * This is the unified mapping logic used by both sources and destinations.\\n * It applies transformations in this order:\\n * 1. Config-level policy - modifies the event itself (global rules)\\n * 2. Mapping rules - finds matching rule based on entity-action\\n * 3. Event-level policy - modifies the event based on specific mapping rule\\n * 4. Data transformation - creates context data\\n * 5. Ignore check and name override\\n *\\n * Sources can pass partial events, destinations pass full events.\\n * getMappingValue works with both partial and full events.\\n *\\n * @param event - The event to process (can be partial or full, will be mutated by policies)\\n * @param config - Mapping configuration (mapping, data, policy, consent)\\n * @param collector - Collector instance for context\\n * @returns Object with transformed event, data, mapping rule, and ignore flag\\n */\\ndeclare function processEventMapping<T extends DeepPartialEvent | Event>(event: T, config: Config$2, collector: Instance$3): Promise<{\\n event: T;\\n data?: Property;\\n mapping?: Rule;\\n mappingKey?: string;\\n ignore: boolean;\\n}>;\\n\\n/**\\n * Environment mocking utilities for walkerOS destinations\\n *\\n * Provides standardized tools for intercepting function calls in environment objects,\\n * enabling consistent testing patterns across all destinations.\\n */\\ntype InterceptorFn = (path: string[], args: unknown[], original?: Function) => unknown;\\n/**\\n * Creates a proxied environment that intercepts function calls\\n *\\n * Uses Proxy to wrap environment objects and capture all function calls,\\n * allowing for call recording, mocking, or simulation.\\n *\\n * @param env - The environment object to wrap\\n * @param interceptor - Function called for each intercepted call\\n * @returns Proxied environment with interceptor applied\\n *\\n * @example\\n * ```typescript\\n * const calls: Array<{ path: string[]; args: unknown[] }> = [];\\n *\\n * const testEnv = mockEnv(env.push, (path, args) => {\\n * calls.push({ path, args });\\n * });\\n *\\n * // Use testEnv with destination\\n * await destination.push(event, { env: testEnv });\\n *\\n * // Analyze captured calls\\n * expect(calls).toContainEqual({\\n * path: ['window', 'gtag'],\\n * args: ['event', 'purchase', { value: 99.99 }]\\n * });\\n * ```\\n */\\ndeclare function mockEnv<T extends object>(env: T, interceptor: InterceptorFn): T;\\n/**\\n * Traverses environment object and replaces values using a replacer function\\n *\\n * Alternative to mockEnv for environments where Proxy is not suitable.\\n * Performs deep traversal and allows value transformation at each level.\\n *\\n * @param env - The environment object to traverse\\n * @param replacer - Function to transform values during traversal\\n * @returns New environment object with transformed values\\n *\\n * @example\\n * ```typescript\\n * const recordedCalls: APICall[] = [];\\n *\\n * const recordingEnv = traverseEnv(originalEnv, (value, path) => {\\n * if (typeof value === 'function') {\\n * return (...args: unknown[]) => {\\n * recordedCalls.push({\\n * path: path.join('.'),\\n * args: structuredClone(args)\\n * });\\n * return value(...args);\\n * };\\n * }\\n * return value;\\n * });\\n * ```\\n */\\ndeclare function traverseEnv<T extends object>(env: T, replacer: (value: unknown, path: string[]) => unknown): T;\\n\\n/**\\n * Mock logger instance for testing\\n * Includes all logger methods as jest.fn() plus tracking of scoped loggers\\n * Extends Instance to ensure type compatibility\\n */\\ninterface MockLogger extends Instance$1 {\\n error: jest.Mock;\\n info: jest.Mock;\\n debug: jest.Mock;\\n throw: jest.Mock<never, [string | Error, unknown?]>;\\n scope: jest.Mock<MockLogger, [string]>;\\n /**\\n * Array of all scoped loggers created by this logger\\n * Useful for asserting on scoped logger calls in tests\\n */\\n scopedLoggers: MockLogger[];\\n}\\n/**\\n * Create a mock logger for testing\\n * All methods are jest.fn() that can be used for assertions\\n *\\n * @example\\n * ```typescript\\n * const mockLogger = createMockLogger();\\n *\\n * // Use in code under test\\n * someFunction(mockLogger);\\n *\\n * // Assert on calls\\n * expect(mockLogger.error).toHaveBeenCalledWith('error message');\\n *\\n * // Assert on scoped logger\\n * const scoped = mockLogger.scopedLoggers[0];\\n * expect(scoped.debug).toHaveBeenCalledWith('debug in scope');\\n * ```\\n */\\ndeclare function createMockLogger(): MockLogger;\\n\\n/**\\n * Checks if a value is a valid property type.\\n *\\n * @param value The value to check.\\n * @returns True if the value is a valid property type, false otherwise.\\n */\\ndeclare function isPropertyType(value: unknown): value is PropertyType;\\n/**\\n * Filters a value to only include valid property types.\\n *\\n * @param value The value to filter.\\n * @returns The filtered value or undefined.\\n */\\ndeclare function filterValues(value: unknown): Property | undefined;\\n/**\\n * Casts a value to a valid property type.\\n *\\n * @param value The value to cast.\\n * @returns The casted value or undefined.\\n */\\ndeclare function castToProperty(value: unknown): Property | undefined;\\n\\n/**\\n * Converts a request string to a data object.\\n *\\n * @param parameter The request string to convert.\\n * @returns The data object or undefined.\\n */\\ndeclare function requestToData(parameter: unknown): AnyObject | undefined;\\n/**\\n * Converts a data object to a request string.\\n *\\n * @param data The data object to convert.\\n * @returns The request string.\\n */\\ndeclare function requestToParameter(data: AnyObject | PropertyType): string;\\n\\n/**\\n * Transforms data to a string.\\n *\\n * @param data The data to transform.\\n * @returns The transformed data.\\n */\\ndeclare function transformData(data?: SendDataValue): string | undefined;\\n/**\\n * Gets the headers for a request.\\n *\\n * @param headers The headers to merge with the default headers.\\n * @returns The merged headers.\\n */\\ndeclare function getHeaders(headers?: SendHeaders): SendHeaders;\\n\\n/**\\n * Throws an error.\\n *\\n * @param error The error to throw.\\n */\\ndeclare function throwError(error: unknown): never;\\n\\n/**\\n * Trims quotes and whitespaces from a string.\\n *\\n * @param str The string to trim.\\n * @returns The trimmed string.\\n */\\ndeclare function trim(str: string): string;\\n\\n/**\\n * A utility function that wraps a function in a try-catch block.\\n *\\n * @template P, R, S\\n * @param fn The function to wrap.\\n * @param onError A function to call when an error is caught.\\n * @param onFinally A function to call in the finally block.\\n * @returns The wrapped function.\\n */\\ndeclare function tryCatch<P extends unknown[], R, S>(fn: (...args: P) => R | undefined, onError: (err: unknown) => S, onFinally?: () => void): (...args: P) => R | S;\\ndeclare function tryCatch<P extends unknown[], R>(fn: (...args: P) => R | undefined, onError?: undefined, onFinally?: () => void): (...args: P) => R | undefined;\\n/**\\n * A utility function that wraps an async function in a try-catch block.\\n *\\n * @template P, R, S\\n * @param fn The async function to wrap.\\n * @param onError A function to call when an error is caught.\\n * @param onFinally A function to call in the finally block.\\n * @returns The wrapped async function.\\n */\\ndeclare function tryCatchAsync<P extends unknown[], R, S>(fn: (...args: P) => R, onError: (err: unknown) => S, onFinally?: () => void | Promise<void>): (...args: P) => Promise<R | S>;\\ndeclare function tryCatchAsync<P extends unknown[], R>(fn: (...args: P) => R, onError?: undefined, onFinally?: () => void | Promise<void>): (...args: P) => Promise<R | undefined>;\\n\\n/**\\n * A utility function that wraps a function with hooks.\\n *\\n * @template P, R\\n * @param fn The function to wrap.\\n * @param name The name of the function.\\n * @param hooks The hooks to use.\\n * @returns The wrapped function.\\n */\\ndeclare function useHooks<P extends unknown[], R>(fn: (...args: P) => R, name: string, hooks: Functions): (...args: P) => R;\\n\\n/**\\n * Parses a user agent string to extract browser, OS, and device information.\\n *\\n * @param userAgent The user agent string to parse.\\n * @returns An object containing the parsed user agent information.\\n */\\ndeclare function parseUserAgent(userAgent?: string): User;\\n/**\\n * Gets the browser name from a user agent string.\\n *\\n * @param userAgent The user agent string.\\n * @returns The browser name or undefined.\\n */\\ndeclare function getBrowser(userAgent: string): string | undefined;\\n/**\\n * Gets the browser version from a user agent string.\\n *\\n * @param userAgent The user agent string.\\n * @returns The browser version or undefined.\\n */\\ndeclare function getBrowserVersion(userAgent: string): string | undefined;\\n/**\\n * Gets the OS name from a user agent string.\\n *\\n * @param userAgent The user agent string.\\n * @returns The OS name or undefined.\\n */\\ndeclare function getOS(userAgent: string): string | undefined;\\n/**\\n * Gets the OS version from a user agent string.\\n *\\n * @param userAgent The user agent string.\\n * @returns The OS version or undefined.\\n */\\ndeclare function getOSVersion(userAgent: string): string | undefined;\\n/**\\n * Gets the device type from a user agent string.\\n *\\n * @param userAgent The user agent string.\\n * @returns The device type or undefined.\\n */\\ndeclare function getDeviceType(userAgent: string): string | undefined;\\n\\n/**\\n * Validates an event against a set of contracts.\\n *\\n * @param obj The event to validate.\\n * @param customContracts The custom contracts to use.\\n * @returns The validated event.\\n */\\ndeclare function validateEvent(obj: unknown, customContracts?: Contracts): Event | never;\\n/**\\n * Validates a property against a schema.\\n *\\n * @param obj The object to validate.\\n * @param key The key of the property to validate.\\n * @param value The value of the property to validate.\\n * @param schema The schema to validate against.\\n * @returns The validated property.\\n */\\ndeclare function validateProperty(obj: AnyObject, key: string, value: unknown, schema: Property$1): Property | never;\\n\\n/**\\n * Inline Code Wrapping Utilities\\n *\\n * Converts inline code strings to executable functions.\\n * Used for mapping properties: condition, fn, validate.\\n *\\n * @packageDocumentation\\n */\\n\\n/**\\n * Wrap inline code string as Condition function.\\n *\\n * @param code - Inline code string\\n * @returns Condition function matching Mapping.Condition signature\\n *\\n * @remarks\\n * Available parameters in code:\\n * - `value` - The event or partial event being processed\\n * - `mapping` - Current mapping configuration\\n * - `collector` - Collector instance\\n *\\n * If code has no explicit return, it's auto-wrapped with `return`.\\n *\\n * @example\\n * ```typescript\\n * // One-liner (auto-wrapped)\\n * const fn = wrapCondition('value.data.total > 100');\\n * fn(event, mapping, collector); // returns boolean\\n *\\n * // Multi-statement (explicit return)\\n * const fn = wrapCondition('const threshold = 100; return value.data.total > threshold');\\n * ```\\n */\\ndeclare function wrapCondition(code: string): Condition;\\n/**\\n * Wrap inline code string as Fn function.\\n *\\n * @param code - Inline code string\\n * @returns Fn function matching Mapping.Fn signature\\n *\\n * @remarks\\n * Available parameters in code:\\n * - `value` - The event or partial event being processed\\n * - `mapping` - Current mapping configuration\\n * - `options` - Options object with consent and collector\\n *\\n * If code has no explicit return, it's auto-wrapped with `return`.\\n *\\n * @example\\n * ```typescript\\n * // One-liner (auto-wrapped)\\n * const fn = wrapFn('value.user.email.split(\\\"@\\\")[1]');\\n * fn(event, mapping, options); // returns domain\\n *\\n * // Multi-statement (explicit return)\\n * const fn = wrapFn('const parts = value.user.email.split(\\\"@\\\"); return parts[1].toUpperCase()');\\n * ```\\n */\\ndeclare function wrapFn(code: string): Fn;\\n/**\\n * Wrap inline code string as Validate function.\\n *\\n * @param code - Inline code string\\n * @returns Validate function matching Mapping.Validate signature\\n *\\n * @remarks\\n * Available parameters in code:\\n * - `value` - The current value being validated\\n *\\n * If code has no explicit return, it's auto-wrapped with `return`.\\n *\\n * @example\\n * ```typescript\\n * // One-liner (auto-wrapped)\\n * const fn = wrapValidate('value && value.length > 0');\\n * fn('hello'); // returns true\\n *\\n * // Multi-statement (explicit return)\\n * const fn = wrapValidate('if (!value) return false; return value.length > 0');\\n * ```\\n */\\ndeclare function wrapValidate(code: string): Validate;\\n\\nexport { collector as Collector, Const, data as Data, destination as Destination, elb as Elb, flow as Flow, hooks as Hooks, Level, logger as Logger, mapping as Mapping, type MarketingParameters, type MockLogger, on as On, request as Request, schema as Schema, type SendDataValue, type SendHeaders, type SendResponse, source as Source, type StorageType, walkeros as WalkerOS, anonymizeIP, assign, castToProperty, castValue, clone, createDestination, createEvent, createLogger, createMockLogger, debounce, filterValues, getBrowser, getBrowserVersion, getByPath, getDeviceType, getEvent, getFlowConfig, getGrantedConsent, getHeaders, getId, getMappingEvent, getMappingValue, getMarketingParameters, getOS, getOSVersion, getPlatform, isArguments, isArray, isBoolean, isCommand, isDefined, isElementOrDocument, isFunction, isNumber, isObject, isPropertyType, isSameType, isString, mockEnv, packageNameToVariable, parseUserAgent, processEventMapping, requestToData, requestToParameter, setByPath, throttle, throwError, transformData, traverseEnv, trim, tryCatch, tryCatchAsync, useHooks, validateEvent, validateProperty, wrapCondition, wrapFn, wrapValidate };\\n\"","/**\n * Monaco Editor TypeScript Type Management\n *\n * This utility manages TypeScript type definitions in Monaco Editor for:\n * 1. Static walkerOS core types (bundled at build time via Vite ?raw import)\n * 2. Dynamic destination types (loaded on-the-fly when destinations are added)\n * 3. Context-specific function signatures (condition, fn, validate)\n *\n * Architecture:\n * - Uses monaco.languages.typescript.typescriptDefaults.addExtraLib()\n * - Each type definition gets a unique file path (e.g., 'file:///destinations/gtag.d.ts')\n * - Types can be added/removed dynamically without page reload\n * - Core types are bundled for offline support and predictable versioning\n */\n\nimport type { Monaco } from '@monaco-editor/react';\nimport { getContextTypes } from './monaco-context-types';\n\n// This import will be replaced by tsup plugin with actual TypeScript content\nimport walkerosCoreTypesBundled from 'virtual:walkeros-core-types';\n\n/**\n * Type library entry - tracks loaded type definitions\n */\ninterface TypeLibrary {\n uri: string; // Unique identifier (e.g., 'file:///walkeros-core.d.ts')\n content: string; // TypeScript definition content\n disposable?: { dispose: () => void }; // Monaco disposable for cleanup\n}\n\n/**\n * Registry of loaded type libraries\n */\nconst typeLibraries = new Map<string, TypeLibrary>();\n\n/**\n * Configuration for TypeScript compiler options\n */\nexport function configureMonacoTypeScript(monaco: Monaco) {\n monaco.languages.typescript.javascriptDefaults.setCompilerOptions({\n target: monaco.languages.typescript.ScriptTarget.ES2020,\n lib: ['es2020'],\n allowNonTsExtensions: true,\n moduleResolution: monaco.languages.typescript.ModuleResolutionKind.NodeJs,\n module: monaco.languages.typescript.ModuleKind.CommonJS,\n noEmit: true,\n esModuleInterop: true,\n jsx: monaco.languages.typescript.JsxEmit.React,\n allowJs: true,\n checkJs: false,\n strict: false,\n noImplicitAny: false,\n strictNullChecks: false,\n });\n\n monaco.languages.typescript.javascriptDefaults.setDiagnosticsOptions({\n noSemanticValidation: false,\n noSyntaxValidation: false,\n diagnosticCodesToIgnore: [1108, 1005],\n });\n\n monaco.languages.typescript.typescriptDefaults.setCompilerOptions({\n target: monaco.languages.typescript.ScriptTarget.ES2020,\n lib: ['es2020'],\n allowNonTsExtensions: true,\n moduleResolution: monaco.languages.typescript.ModuleResolutionKind.NodeJs,\n module: monaco.languages.typescript.ModuleKind.CommonJS,\n noEmit: true,\n esModuleInterop: true,\n jsx: monaco.languages.typescript.JsxEmit.React,\n strict: false,\n });\n}\n\n/**\n * Add a type library from a string\n *\n * @param monaco - Monaco instance\n * @param uri - Unique identifier (e.g., 'file:///destinations/gtag.d.ts')\n * @param content - TypeScript definition content\n * @returns True if added, false if already exists\n */\nexport function addTypeLibrary(\n monaco: Monaco,\n uri: string,\n content: string,\n): boolean {\n // Check if already loaded\n if (typeLibraries.has(uri)) {\n return false;\n }\n\n // Add to both JavaScript and TypeScript language services\n // This ensures types work whether the editor is in JS or TS mode\n const jsDisposable =\n monaco.languages.typescript.javascriptDefaults.addExtraLib(content, uri);\n\n const tsDisposable =\n monaco.languages.typescript.typescriptDefaults.addExtraLib(content, uri);\n\n // Track in registry (store both disposables)\n typeLibraries.set(uri, {\n uri,\n content,\n disposable: {\n dispose: () => {\n jsDisposable.dispose();\n tsDisposable.dispose();\n },\n },\n });\n\n return true;\n}\n\n/**\n * Remove a type library\n *\n * @param uri - URI to remove\n * @returns True if removed, false if not found\n */\nexport function removeTypeLibrary(uri: string): boolean {\n const lib = typeLibraries.get(uri);\n if (!lib) {\n return false;\n }\n\n // Dispose Monaco resource\n lib.disposable?.dispose();\n\n // Remove from registry\n typeLibraries.delete(uri);\n\n return true;\n}\n\n/**\n * Update a type library (remove + add)\n *\n * @param monaco - Monaco instance\n * @param uri - URI to update\n * @param content - New content\n */\nexport function updateTypeLibrary(\n monaco: Monaco,\n uri: string,\n content: string,\n) {\n removeTypeLibrary(uri);\n addTypeLibrary(monaco, uri, content);\n}\n\n/**\n * Load type definitions from a URL\n *\n * @param monaco - Monaco instance\n * @param url - URL to .d.ts file\n * @param uri - Optional custom URI (defaults to URL)\n */\nexport async function loadTypeLibraryFromURL(\n monaco: Monaco,\n url: string,\n uri?: string,\n): Promise<boolean> {\n try {\n const response = await fetch(url);\n if (!response.ok) {\n return false;\n }\n\n const content = await response.text();\n const typeUri = uri || `file:///${url}`;\n\n return addTypeLibrary(monaco, typeUri, content);\n } catch {\n return false;\n }\n}\n\n/**\n * Options for loading package types dynamically\n */\nexport interface LoadPackageTypesOptions {\n /** Package name (e.g., '@walkeros/destination-gtag') */\n package: string;\n /** Version to load (e.g., '0.1.0', 'latest') */\n version?: string;\n /** CDN to use ('unpkg' or 'jsdelivr') */\n cdn?: 'unpkg' | 'jsdelivr';\n /** Path to .d.ts file within package (defaults to '/dist/index.d.ts') */\n typesPath?: string;\n}\n\n/**\n * Strip problematic imports from type definition content\n *\n * Removes import statements that Monaco can't resolve, while preserving:\n * - Type declarations\n * - Export statements\n * - Re-export statements (export * from / export { } from)\n *\n * Uses multiple strategies for robustness:\n * 1. Simple single-line imports (fast path)\n * 2. Multi-line imports (comprehensive)\n * 3. Import type assertions\n *\n * Does NOT remove:\n * - export { } from 'module' (re-exports)\n * - export * from 'module' (re-exports)\n * - Triple-slash directives (/// <reference types=\"...\" />)\n *\n * @param content - Raw .d.ts file content\n * @returns Cleaned content safe for Monaco\n */\nfunction stripExternalImports(content: string): string {\n // Strategy 1: Remove simple single-line imports\n // Matches: import ... from '...';\n // Handles: import type, import *, import { }, default imports\n let cleaned = content.replace(\n /^import\\s+(?:type\\s+)?(?:\\*\\s+as\\s+\\w+|\\{[^}]*\\}|[\\w$]+)(?:\\s*,\\s*(?:\\{[^}]*\\}|\\*\\s+as\\s+\\w+))?\\s+from\\s+['\"][^'\"]+['\"];?\\s*$/gm,\n '',\n );\n\n // Strategy 2: Remove multi-line imports (more aggressive)\n // Matches imports that span multiple lines\n cleaned = cleaned.replace(\n /^import\\s+(?:type\\s+)?(?:\\{[^}]*\\}|\\*\\s+as\\s+\\w+|[\\w$]+)\\s+from\\s+['\"][^'\"]+['\"];?\\s*$/gms,\n '',\n );\n\n // Strategy 3: Remove import type assertions\n // Matches: import('module')\n cleaned = cleaned.replace(/import\\s*\\(\\s*['\"][^'\"]+['\"]\\s*\\)/g, 'any');\n\n // Clean up excessive blank lines (more than 2 consecutive)\n cleaned = cleaned.replace(/\\n{3,}/g, '\\n\\n');\n\n return cleaned;\n}\n\nexport interface LoadPackageTypesOptions {\n package: string;\n version?: string;\n}\n\nexport async function loadPackageTypes(\n monaco: Monaco,\n options: LoadPackageTypesOptions,\n): Promise<boolean> {\n const { package: packageName, version = 'latest' } = options;\n const uri = `file:///node_modules/${packageName}/index.d.ts`;\n\n if (typeLibraries.has(uri)) {\n return true;\n }\n\n const url = `https://cdn.jsdelivr.net/npm/${packageName}@${version}/dist/index.d.ts`;\n\n try {\n const response = await fetch(url);\n if (!response.ok) {\n return false;\n }\n\n let content = await response.text();\n content = stripExternalImports(content);\n\n const moduleContent = `declare module '${packageName}' {\\n${content}\\n}`;\n const success = addTypeLibrary(monaco, uri, moduleContent);\n\n return success;\n } catch {\n return false;\n }\n}\n\n/**\n * Load walkerOS core types (bundled at build time)\n *\n * Uses bundled types imported via Vite's ?raw import.\n * This ensures types are always available offline and match the installed version.\n */\nexport function loadWalkerOSCoreTypes(monaco: Monaco): boolean {\n const uri = 'file:///node_modules/@walkeros/core/index.d.ts';\n\n // Check if already loaded\n if (typeLibraries.has(uri)) {\n return true;\n }\n\n // Clean the types using the same robust stripping function\n const cleanedTypes = stripExternalImports(walkerosCoreTypesBundled);\n\n // Wrap in module declaration\n const moduleContent = `declare module '@walkeros/core' {\n${cleanedTypes}\n}`;\n\n return addTypeLibrary(monaco, uri, moduleContent);\n}\n\n/**\n * Minimal fallback types if we can't load from node_modules\n */\nfunction getMinimalWalkerOSTypes(): string {\n return `\ndeclare namespace WalkerOS {\n export interface Event {\n entity: string;\n action: string;\n data?: Record<string, unknown>;\n context?: Record<string, unknown>;\n user?: {\n id?: string;\n device?: string;\n session?: string;\n [key: string]: unknown;\n };\n nested?: unknown[];\n consent?: Record<string, boolean>;\n id?: string;\n trigger?: string;\n timestamp?: number;\n timing?: number;\n count?: number;\n version?: {\n client?: string;\n tagging?: number;\n };\n }\n\n export interface Properties {\n [key: string]: unknown;\n }\n\n export interface Mapping {\n [key: string]: unknown;\n }\n\n export interface Collector {\n push: (event: Partial<Event>) => Promise<unknown>;\n [key: string]: unknown;\n }\n\n export namespace Destination {\n export interface Config<T = unknown> {\n id?: string;\n mapping?: Mapping;\n custom?: T;\n [key: string]: unknown;\n }\n }\n}\n`;\n}\n\n/**\n * Type of function context (fn, condition, validate)\n */\nexport type FunctionType = 'condition' | 'fn' | 'validate';\n\n/**\n * Add context-specific globals for function editors\n *\n * Provides type definitions for inline function parameters without imports.\n * Supports three function types:\n * - fn: Transform functions (value, mapping, options) => Property\n * - condition: Condition functions (value, mapping, collector) => boolean\n * - validate: Validation functions (value) => boolean\n */\nexport interface FunctionContext {\n type: FunctionType;\n valueType?: string; // Optional: Custom type for 'value' parameter\n}\n\nexport function addFunctionContextTypes(\n monaco: Monaco,\n context: FunctionContext,\n) {\n const uri = `file:///context/${context.type}.d.ts`;\n\n // Use hand-crafted type templates from monaco-context-types\n const contextTypes = getContextTypes(context.type);\n\n // Update or add\n updateTypeLibrary(monaco, uri, contextTypes);\n}\n\n/**\n * Add destination-specific types dynamically\n *\n * @param monaco - Monaco instance\n * @param destinationId - Unique destination identifier (e.g., 'gtag', 'fbq')\n * @param typeDefinition - TypeScript definition for destination's custom config/event\n *\n * @example\n * ```typescript\n * addDestinationType(monaco, 'gtag', `\n * declare namespace Gtag {\n * interface Settings {\n * measurementId: string;\n * sendPageView?: boolean;\n * }\n *\n * interface EventParams {\n * event_category?: string;\n * event_label?: string;\n * value?: number;\n * }\n * }\n *\n * // Extend WalkerOS namespace\n * declare namespace WalkerOS {\n * namespace Destination {\n * interface ConfigMap {\n * gtag: Gtag.Settings;\n * }\n * }\n * }\n * `);\n * ```\n */\nexport function addDestinationType(\n monaco: Monaco,\n destinationId: string,\n typeDefinition: string,\n) {\n const uri = `file:///destinations/${destinationId}.d.ts`;\n updateTypeLibrary(monaco, uri, typeDefinition);\n}\n\n/**\n * Remove destination types when destination is removed\n */\nexport function removeDestinationType(destinationId: string) {\n const uri = `file:///destinations/${destinationId}.d.ts`;\n removeTypeLibrary(uri);\n}\n\n/**\n * Simple helper to register only walkerOS core types\n *\n * Use this for basic scenarios where you just need @walkeros/core types.\n * For advanced usage (destinations, function contexts), use initializeMonacoTypes.\n *\n * @param monaco - Monaco editor instance\n *\n * @example\n * ```typescript\n * const handleBeforeMount = (monaco: Monaco) => {\n * registerWalkerOSTypes(monaco);\n * };\n * ```\n */\nexport function registerWalkerOSTypes(monaco: Monaco): void {\n configureMonacoTypeScript(monaco);\n loadWalkerOSCoreTypes(monaco);\n}\n\n/**\n * Initialize Monaco with walkerOS types (full setup)\n *\n * Call this once in CodeBox's beforeMount handler.\n * Includes core types, TypeScript config, and default function context.\n *\n * @param monaco - Monaco editor instance\n *\n * @example\n * ```typescript\n * const handleBeforeMount = (monaco: Monaco) => {\n * initializeMonacoTypes(monaco);\n * };\n * ```\n */\nexport function initializeMonacoTypes(monaco: Monaco): void {\n // Configure compiler\n configureMonacoTypeScript(monaco);\n\n // Load core types (now synchronous with bundled types)\n loadWalkerOSCoreTypes(monaco);\n\n // Add default function context (condition)\n addFunctionContextTypes(monaco, { type: 'condition' });\n}\n\n/**\n * Get all loaded type libraries (for debugging)\n */\nexport function getLoadedTypeLibraries(): string[] {\n return Array.from(typeLibraries.keys());\n}\n\n/**\n * Clear all type libraries (for testing)\n */\nexport function clearAllTypeLibraries() {\n for (const [uri, lib] of typeLibraries.entries()) {\n lib.disposable?.dispose();\n }\n typeLibraries.clear();\n}\n"],"mappings":";;;AAkBO,IAAM,mBAAmB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AA2LzB,IAAM,0BAA0B;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AA4MhC,IAAM,yBAAyB;AAAA;AAAA;AAAA;AAQ/B,SAAS,gBAAgB,aAAsD;AACpF,UAAQ,aAAa;AAAA,IACnB,KAAK;AACH,aAAO;AAAA,IACT,KAAK;AACH,aAAO;AAAA,IACT,KAAK;AACH,aAAO;AAAA,IACT;AACE,aAAO;AAAA,EACX;AACF;;;AC5aA,IAAO,sCAAQ;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;;ACiCf,IAAM,gBAAgB,oBAAI,IAAyB;AAK5C,SAAS,0BAA0B,QAAgB;AACxD,SAAO,UAAU,WAAW,mBAAmB,mBAAmB;AAAA,IAChE,QAAQ,OAAO,UAAU,WAAW,aAAa;AAAA,IACjD,KAAK,CAAC,QAAQ;AAAA,IACd,sBAAsB;AAAA,IACtB,kBAAkB,OAAO,UAAU,WAAW,qBAAqB;AAAA,IACnE,QAAQ,OAAO,UAAU,WAAW,WAAW;AAAA,IAC/C,QAAQ;AAAA,IACR,iBAAiB;AAAA,IACjB,KAAK,OAAO,UAAU,WAAW,QAAQ;AAAA,IACzC,SAAS;AAAA,IACT,SAAS;AAAA,IACT,QAAQ;AAAA,IACR,eAAe;AAAA,IACf,kBAAkB;AAAA,EACpB,CAAC;AAED,SAAO,UAAU,WAAW,mBAAmB,sBAAsB;AAAA,IACnE,sBAAsB;AAAA,IACtB,oBAAoB;AAAA,IACpB,yBAAyB,CAAC,MAAM,IAAI;AAAA,EACtC,CAAC;AAED,SAAO,UAAU,WAAW,mBAAmB,mBAAmB;AAAA,IAChE,QAAQ,OAAO,UAAU,WAAW,aAAa;AAAA,IACjD,KAAK,CAAC,QAAQ;AAAA,IACd,sBAAsB;AAAA,IACtB,kBAAkB,OAAO,UAAU,WAAW,qBAAqB;AAAA,IACnE,QAAQ,OAAO,UAAU,WAAW,WAAW;AAAA,IAC/C,QAAQ;AAAA,IACR,iBAAiB;AAAA,IACjB,KAAK,OAAO,UAAU,WAAW,QAAQ;AAAA,IACzC,QAAQ;AAAA,EACV,CAAC;AACH;AAUO,SAAS,eACd,QACA,KACA,SACS;AAET,MAAI,cAAc,IAAI,GAAG,GAAG;AAC1B,WAAO;AAAA,EACT;AAIA,QAAM,eACJ,OAAO,UAAU,WAAW,mBAAmB,YAAY,SAAS,GAAG;AAEzE,QAAM,eACJ,OAAO,UAAU,WAAW,mBAAmB,YAAY,SAAS,GAAG;AAGzE,gBAAc,IAAI,KAAK;AAAA,IACrB;AAAA,IACA;AAAA,IACA,YAAY;AAAA,MACV,SAAS,MAAM;AACb,qBAAa,QAAQ;AACrB,qBAAa,QAAQ;AAAA,MACvB;AAAA,IACF;AAAA,EACF,CAAC;AAED,SAAO;AACT;AAQO,SAAS,kBAAkB,KAAsB;AACtD,QAAM,MAAM,cAAc,IAAI,GAAG;AACjC,MAAI,CAAC,KAAK;AACR,WAAO;AAAA,EACT;AAGA,MAAI,YAAY,QAAQ;AAGxB,gBAAc,OAAO,GAAG;AAExB,SAAO;AACT;AASO,SAAS,kBACd,QACA,KACA,SACA;AACA,oBAAkB,GAAG;AACrB,iBAAe,QAAQ,KAAK,OAAO;AACrC;AASA,eAAsB,uBACpB,QACA,KACA,KACkB;AAClB,MAAI;AACF,UAAM,WAAW,MAAM,MAAM,GAAG;AAChC,QAAI,CAAC,SAAS,IAAI;AAChB,aAAO;AAAA,IACT;AAEA,UAAM,UAAU,MAAM,SAAS,KAAK;AACpC,UAAM,UAAU,OAAO,WAAW,GAAG;AAErC,WAAO,eAAe,QAAQ,SAAS,OAAO;AAAA,EAChD,QAAQ;AACN,WAAO;AAAA,EACT;AACF;AAqCA,SAAS,qBAAqB,SAAyB;AAIrD,MAAI,UAAU,QAAQ;AAAA,IACpB;AAAA,IACA;AAAA,EACF;AAIA,YAAU,QAAQ;AAAA,IAChB;AAAA,IACA;AAAA,EACF;AAIA,YAAU,QAAQ,QAAQ,sCAAsC,KAAK;AAGrE,YAAU,QAAQ,QAAQ,WAAW,MAAM;AAE3C,SAAO;AACT;AAOA,eAAsB,iBACpB,QACA,SACkB;AAClB,QAAM,EAAE,SAAS,aAAa,UAAU,SAAS,IAAI;AACrD,QAAM,MAAM,wBAAwB,WAAW;AAE/C,MAAI,cAAc,IAAI,GAAG,GAAG;AAC1B,WAAO;AAAA,EACT;AAEA,QAAM,MAAM,gCAAgC,WAAW,IAAI,OAAO;AAElE,MAAI;AACF,UAAM,WAAW,MAAM,MAAM,GAAG;AAChC,QAAI,CAAC,SAAS,IAAI;AAChB,aAAO;AAAA,IACT;AAEA,QAAI,UAAU,MAAM,SAAS,KAAK;AAClC,cAAU,qBAAqB,OAAO;AAEtC,UAAM,gBAAgB,mBAAmB,WAAW;AAAA,EAAQ,OAAO;AAAA;AACnE,UAAM,UAAU,eAAe,QAAQ,KAAK,aAAa;AAEzD,WAAO;AAAA,EACT,QAAQ;AACN,WAAO;AAAA,EACT;AACF;AAQO,SAAS,sBAAsB,QAAyB;AAC7D,QAAM,MAAM;AAGZ,MAAI,cAAc,IAAI,GAAG,GAAG;AAC1B,WAAO;AAAA,EACT;AAGA,QAAM,eAAe,qBAAqB,mCAAwB;AAGlE,QAAM,gBAAgB;AAAA,EACtB,YAAY;AAAA;AAGZ,SAAO,eAAe,QAAQ,KAAK,aAAa;AAClD;AA4EO,SAAS,wBACd,QACA,SACA;AACA,QAAM,MAAM,mBAAmB,QAAQ,IAAI;AAG3C,QAAM,eAAe,gBAAgB,QAAQ,IAAI;AAGjD,oBAAkB,QAAQ,KAAK,YAAY;AAC7C;AAoCO,SAAS,mBACd,QACA,eACA,gBACA;AACA,QAAM,MAAM,wBAAwB,aAAa;AACjD,oBAAkB,QAAQ,KAAK,cAAc;AAC/C;AAKO,SAAS,sBAAsB,eAAuB;AAC3D,QAAM,MAAM,wBAAwB,aAAa;AACjD,oBAAkB,GAAG;AACvB;AAiBO,SAAS,sBAAsB,QAAsB;AAC1D,4BAA0B,MAAM;AAChC,wBAAsB,MAAM;AAC9B;AAiBO,SAAS,sBAAsB,QAAsB;AAE1D,4BAA0B,MAAM;AAGhC,wBAAsB,MAAM;AAG5B,0BAAwB,QAAQ,EAAE,MAAM,YAAY,CAAC;AACvD;AAKO,SAAS,yBAAmC;AACjD,SAAO,MAAM,KAAK,cAAc,KAAK,CAAC;AACxC;AAKO,SAAS,wBAAwB;AACtC,aAAW,CAAC,KAAK,GAAG,KAAK,cAAc,QAAQ,GAAG;AAChD,QAAI,YAAY,QAAQ;AAAA,EAC1B;AACA,gBAAc,MAAM;AACtB;","names":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"code.d.ts","sourceRoot":"","sources":["../../../src/components/atoms/code.tsx"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;AAgB5C,MAAM,WAAW,SAAS;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IAClC,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,WAAW,CAAC,EAAE,CAAC,MAAM,EAAE,cAAc,eAAe,CAAC,KAAK,IAAI,CAAC;IAC/D,OAAO,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,qBAAqB,KAAK,IAAI,CAAC;IACzD,UAAU,CAAC,EAAE,OAAO,GAAG;QAAE,GAAG,CAAC,EAAE,MAAM,CAAC;QAAC,GAAG,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IACtD,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;IACpB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,GAAG,CAAC,EAAE,OAAO,CAAC;CACf;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AACH,wBAAgB,IAAI,CAAC,EACnB,IAAI,EACJ,QAAuB,EACvB,QAAQ,EACR,QAAgB,EAChB,WAAmB,EACnB,OAAe,EACf,QAAgB,EAChB,SAAS,EACT,WAAW,EACX,OAAO,EACP,UAAU,EACV,QAAa,EACb,QAAQ,EACR,MAAa,EACb,GAAW,GACZ,EAAE,SAAS,2CAsRX"}
1
+ {"version":3,"file":"code.d.ts","sourceRoot":"","sources":["../../../src/components/atoms/code.tsx"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;AAgB5C,MAAM,WAAW,SAAS;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IAClC,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,WAAW,CAAC,EAAE,CAAC,MAAM,EAAE,cAAc,eAAe,CAAC,KAAK,IAAI,CAAC;IAC/D,OAAO,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,qBAAqB,KAAK,IAAI,CAAC;IACzD,UAAU,CAAC,EAAE,OAAO,GAAG;QAAE,GAAG,CAAC,EAAE,MAAM,CAAC;QAAC,GAAG,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IACtD,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;IACpB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,GAAG,CAAC,EAAE,OAAO,CAAC;CACf;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AACH,wBAAgB,IAAI,CAAC,EACnB,IAAI,EACJ,QAAuB,EACvB,QAAQ,EACR,QAAgB,EAChB,WAAmB,EACnB,OAAe,EACf,QAAgB,EAChB,SAAS,EACT,WAAW,EACX,OAAO,EACP,UAAU,EACV,QAAa,EACb,QAAQ,EACR,MAAa,EACb,GAAW,GACZ,EAAE,SAAS,2CAoRX"}
@@ -151,9 +151,7 @@ export function Code({ code, language = 'javascript', onChange, disabled = false
151
151
  const { loadPackageTypes } = await import('../../utils/monaco-types');
152
152
  for (const pkg of packages) {
153
153
  if (pkg !== '@walkeros/core') {
154
- await loadPackageTypes(monaco, { package: pkg }).catch((err) => {
155
- console.warn(`Failed to load types for ${pkg}:`, err);
156
- });
154
+ await loadPackageTypes(monaco, { package: pkg }).catch(() => { });
157
155
  }
158
156
  }
159
157
  }