@walkeros/core 2.1.1 → 2.2.0-next-1772811722420

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.d.ts CHANGED
@@ -28,7 +28,7 @@ declare function createRespond(sender: (options: RespondOptions) => void): Respo
28
28
  /**
29
29
  * Core collector configuration interface
30
30
  */
31
- interface Config$7 {
31
+ interface Config$8 {
32
32
  /** Whether to run collector automatically */
33
33
  run?: boolean;
34
34
  /** Version for event tagging */
@@ -38,12 +38,12 @@ interface Config$7 {
38
38
  /** Static session data even on a new run */
39
39
  sessionStatic: Partial<SessionData>;
40
40
  /** Logger configuration */
41
- logger?: Config$4;
41
+ logger?: Config$5;
42
42
  }
43
43
  /**
44
44
  * Initialization configuration that extends Config with initial state
45
45
  */
46
- interface InitConfig extends Partial<Config$7> {
46
+ interface InitConfig extends Partial<Config$8> {
47
47
  /** Initial consent state */
48
48
  consent?: Consent;
49
49
  /** Initial user data */
@@ -56,6 +56,8 @@ interface InitConfig extends Partial<Config$7> {
56
56
  destinations?: InitDestinations;
57
57
  /** Transformer configurations */
58
58
  transformers?: InitTransformers;
59
+ /** Store configurations */
60
+ stores?: InitStores;
59
61
  /** Initial custom properties */
60
62
  custom?: Properties;
61
63
  }
@@ -91,13 +93,16 @@ interface DestinationStatus {
91
93
  duration: number;
92
94
  }
93
95
  interface Sources {
94
- [id: string]: Instance;
96
+ [id: string]: Instance$1;
95
97
  }
96
98
  interface Destinations$1 {
97
- [id: string]: Instance$3;
99
+ [id: string]: Instance$4;
98
100
  }
99
101
  interface Transformers$1 {
100
- [id: string]: Instance$1;
102
+ [id: string]: Instance$2;
103
+ }
104
+ interface Stores$1 {
105
+ [id: string]: Instance;
101
106
  }
102
107
  type CommandType = 'action' | 'config' | 'consent' | 'context' | 'destination' | 'elb' | 'globals' | 'hook' | 'init' | 'link' | 'run' | 'user' | 'walker' | string;
103
108
  /**
@@ -108,7 +113,7 @@ interface PushOptions {
108
113
  id?: string;
109
114
  ingest?: unknown;
110
115
  respond?: RespondFn;
111
- mapping?: Config$3;
116
+ mapping?: Config$4;
112
117
  preChain?: string[];
113
118
  }
114
119
  /**
@@ -121,11 +126,11 @@ interface PushFn$1 {
121
126
  * Command function signature - handles walker commands only
122
127
  */
123
128
  interface CommandFn {
124
- (command: 'config', config: Partial<Config$7>): Promise<PushResult>;
129
+ (command: 'config', config: Partial<Config$8>): Promise<PushResult>;
125
130
  (command: 'consent', consent: Consent): Promise<PushResult>;
126
- <T extends Types$3>(command: 'destination', destination: Init$2<T> | Instance$3<T>, config?: Config$6<T>): Promise<PushResult>;
131
+ <T extends Types$4>(command: 'destination', destination: Init$3<T> | Instance$4<T>, config?: Config$7<T>): Promise<PushResult>;
127
132
  <K extends keyof Functions>(command: 'hook', name: K, hookFn: Functions[K]): Promise<PushResult>;
128
- (command: 'on', type: Types$2, rules: SingleOrArray<Options>): Promise<PushResult>;
133
+ (command: 'on', type: Types$3, rules: SingleOrArray<Options>): Promise<PushResult>;
129
134
  (command: 'user', user: User): Promise<PushResult>;
130
135
  (command: 'run', runState?: {
131
136
  consent?: Consent;
@@ -135,21 +140,22 @@ interface CommandFn {
135
140
  }): Promise<PushResult>;
136
141
  (command: string, data?: unknown, options?: unknown): Promise<PushResult>;
137
142
  }
138
- interface Instance$4 {
143
+ interface Instance$5 {
139
144
  push: PushFn$1;
140
145
  command: CommandFn;
141
146
  allowed: boolean;
142
- config: Config$7;
147
+ config: Config$8;
143
148
  consent: Consent;
144
149
  count: number;
145
150
  custom: Properties;
146
151
  sources: Sources;
147
152
  destinations: Destinations$1;
148
153
  transformers: Transformers$1;
154
+ stores: Stores$1;
149
155
  globals: Properties;
150
156
  group: string;
151
157
  hooks: Functions;
152
- logger: Instance$2;
158
+ logger: Instance$3;
153
159
  on: OnConfig;
154
160
  queue: Events;
155
161
  round: number;
@@ -174,7 +180,7 @@ type collector_SourceStatus = SourceStatus;
174
180
  type collector_Sources = Sources;
175
181
  type collector_Status = Status;
176
182
  declare namespace collector {
177
- export type { collector_CommandFn as CommandFn, collector_CommandType as CommandType, Config$7 as Config, collector_DestinationStatus as DestinationStatus, Destinations$1 as Destinations, collector_InitConfig as InitConfig, Instance$4 as Instance, PushFn$1 as PushFn, collector_PushOptions as PushOptions, collector_SessionData as SessionData, collector_SourceStatus as SourceStatus, collector_Sources as Sources, collector_Status as Status, Transformers$1 as Transformers };
183
+ export type { collector_CommandFn as CommandFn, collector_CommandType as CommandType, Config$8 as Config, collector_DestinationStatus as DestinationStatus, Destinations$1 as Destinations, collector_InitConfig as InitConfig, Instance$5 as Instance, PushFn$1 as PushFn, collector_PushOptions as PushOptions, collector_SessionData as SessionData, collector_SourceStatus as SourceStatus, collector_Sources as Sources, collector_Status as Status, Stores$1 as Stores, Transformers$1 as Transformers };
178
184
  }
179
185
 
180
186
  /**
@@ -182,8 +188,8 @@ declare namespace collector {
182
188
  * Sources, Transformers, and Destinations extend this.
183
189
  */
184
190
  interface Base<C = unknown, E = unknown> {
185
- collector: Instance$4;
186
- logger: Instance$2;
191
+ collector: Instance$5;
192
+ logger: Instance$3;
187
193
  config: C;
188
194
  env: E;
189
195
  }
@@ -203,7 +209,7 @@ interface Globals {
203
209
  [name: string]: Global;
204
210
  }
205
211
  interface Contexts {
206
- [name: string]: Context$5;
212
+ [name: string]: Context$6;
207
213
  }
208
214
  interface Entities$1 {
209
215
  [name: string]: Entity$1;
@@ -213,7 +219,7 @@ interface Properties$1 {
213
219
  }
214
220
  interface Global extends Property$1 {
215
221
  }
216
- interface Context$5 extends Property$1 {
222
+ interface Context$6 extends Property$1 {
217
223
  }
218
224
  interface Entity$1 {
219
225
  data: Properties$1;
@@ -242,7 +248,7 @@ type data_Globals = Globals;
242
248
  type data_PropertyValues = PropertyValues;
243
249
  type data_Trigger = Trigger;
244
250
  declare namespace data {
245
- export type { data_Action as Action, data_Actions as Actions, Context$5 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$1 as Properties, Property$1 as Property, PropertyType$1 as PropertyType, data_PropertyValues as PropertyValues, data_Trigger as Trigger };
251
+ export type { data_Action as Action, data_Actions as Actions, Context$6 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$1 as Properties, Property$1 as Property, PropertyType$1 as PropertyType, data_PropertyValues as PropertyValues, data_Trigger as Trigger };
246
252
  }
247
253
 
248
254
  /**
@@ -260,7 +266,7 @@ interface DestroyContext<C = unknown, E = unknown> {
260
266
  /** Runtime environment/dependencies (DB clients, auth clients, etc.). */
261
267
  env: E;
262
268
  /** Scoped logger for this step instance. */
263
- logger: Instance$2;
269
+ logger: Instance$3;
264
270
  }
265
271
  /**
266
272
  * Destroy function signature for step lifecycle cleanup.
@@ -283,7 +289,7 @@ declare namespace lifecycle {
283
289
  * their runtime environment requirements. Platform-specific extensions
284
290
  * should extend this interface.
285
291
  */
286
- interface BaseEnv$2 {
292
+ interface BaseEnv$3 {
287
293
  /**
288
294
  * Generic global properties that destinations may require
289
295
  * Platform-specific implementations can extend this interface
@@ -294,7 +300,7 @@ interface BaseEnv$2 {
294
300
  * Type bundle for destination generics.
295
301
  * Groups Settings, InitSettings, Mapping, and Env into a single type parameter.
296
302
  */
297
- interface Types$3<S = unknown, M = unknown, E = BaseEnv$2, I = S> {
303
+ interface Types$4<S = unknown, M = unknown, E = BaseEnv$3, I = S> {
298
304
  settings: S;
299
305
  initSettings: I;
300
306
  mapping: M;
@@ -303,7 +309,7 @@ interface Types$3<S = unknown, M = unknown, E = BaseEnv$2, I = S> {
303
309
  /**
304
310
  * Generic constraint for Types - ensures T has required properties for indexed access
305
311
  */
306
- type TypesGeneric$2 = {
312
+ type TypesGeneric$3 = {
307
313
  settings: any;
308
314
  initSettings: any;
309
315
  mapping: any;
@@ -312,40 +318,40 @@ type TypesGeneric$2 = {
312
318
  /**
313
319
  * Type extractors for consistent usage with Types bundle
314
320
  */
315
- type Settings$2<T extends TypesGeneric$2 = Types$3> = T['settings'];
316
- type InitSettings$2<T extends TypesGeneric$2 = Types$3> = T['initSettings'];
317
- type Mapping$1<T extends TypesGeneric$2 = Types$3> = T['mapping'];
318
- type Env$2<T extends TypesGeneric$2 = Types$3> = T['env'];
321
+ type Settings$3<T extends TypesGeneric$3 = Types$4> = T['settings'];
322
+ type InitSettings$3<T extends TypesGeneric$3 = Types$4> = T['initSettings'];
323
+ type Mapping$1<T extends TypesGeneric$3 = Types$4> = T['mapping'];
324
+ type Env$3<T extends TypesGeneric$3 = Types$4> = T['env'];
319
325
  /**
320
326
  * Inference helper: Extract Types from Instance
321
327
  */
322
- type TypesOf$2<I> = I extends Instance$3<infer T> ? T : never;
323
- interface Instance$3<T extends TypesGeneric$2 = Types$3> {
324
- config: Config$6<T>;
328
+ type TypesOf$3<I> = I extends Instance$4<infer T> ? T : never;
329
+ interface Instance$4<T extends TypesGeneric$3 = Types$4> {
330
+ config: Config$7<T>;
325
331
  queuePush?: Events;
326
332
  queueOn?: Array<{
327
- type: Types$2;
333
+ type: Types$3;
328
334
  data?: unknown;
329
335
  }>;
330
336
  dlq?: DLQ;
331
337
  batches?: BatchRegistry<Mapping$1<T>>;
332
338
  type?: string;
333
- env?: Env$2<T>;
334
- init?: InitFn$1<T>;
339
+ env?: Env$3<T>;
340
+ init?: InitFn$2<T>;
335
341
  push: PushFn<T>;
336
342
  pushBatch?: PushBatchFn<T>;
337
343
  on?: OnFn;
338
- destroy?: DestroyFn<Config$6<T>, Env$2<T>>;
344
+ destroy?: DestroyFn<Config$7<T>, Env$3<T>>;
339
345
  }
340
- interface Config$6<T extends TypesGeneric$2 = Types$3> {
346
+ interface Config$7<T extends TypesGeneric$3 = Types$4> {
341
347
  /** Required consent states to push events; queues events when not granted. */
342
348
  consent?: Consent;
343
349
  /** Implementation-specific configuration passed to the init function. */
344
- settings?: InitSettings$2<T>;
350
+ settings?: InitSettings$3<T>;
345
351
  /** Global data transformation applied to all events; result passed as context.data to push. */
346
352
  data?: Value | Values;
347
353
  /** Runtime dependencies merged from code and config env; extensible per destination. */
348
- env?: Env$2<T>;
354
+ env?: Env$3<T>;
349
355
  /** Destination identifier; auto-generated if not provided. */
350
356
  id?: string;
351
357
  /** Whether the destination has been initialized; prevents re-initialization. */
@@ -353,7 +359,7 @@ interface Config$6<T extends TypesGeneric$2 = Types$3> {
353
359
  /** Whether to load external scripts (e.g., gtag.js); destination-specific behavior. */
354
360
  loadScript?: boolean;
355
361
  /** Logger configuration (level, handler) to override the collector's defaults. */
356
- logger?: Config$4;
362
+ logger?: Config$5;
357
363
  /** Entity-action rules to filter, rename, transform, and batch events for this destination. */
358
364
  mapping?: Rules<Rule<Mapping$1<T>>>;
359
365
  /** Pre-processing rules applied to all events before mapping; modifies events in-place. */
@@ -365,42 +371,42 @@ interface Config$6<T extends TypesGeneric$2 = Types$3> {
365
371
  /** Transformer chain to run after collector processing but before this destination. */
366
372
  before?: string | string[];
367
373
  }
368
- type PartialConfig$1<T extends TypesGeneric$2 = Types$3> = Config$6<Types$3<Partial<Settings$2<T>> | Settings$2<T>, Partial<Mapping$1<T>> | Mapping$1<T>, Env$2<T>>>;
374
+ type PartialConfig$1<T extends TypesGeneric$3 = Types$4> = Config$7<Types$4<Partial<Settings$3<T>> | Settings$3<T>, Partial<Mapping$1<T>> | Mapping$1<T>, Env$3<T>>>;
369
375
  interface Policy$1 {
370
376
  [key: string]: Value;
371
377
  }
372
- type Code<T extends TypesGeneric$2 = Types$3> = Instance$3<T>;
373
- type Init$2<T extends TypesGeneric$2 = Types$3> = {
378
+ type Code<T extends TypesGeneric$3 = Types$4> = Instance$4<T>;
379
+ type Init$3<T extends TypesGeneric$3 = Types$4> = {
374
380
  code: Code<T>;
375
- config?: Partial<Config$6<T>>;
376
- env?: Partial<Env$2<T>>;
381
+ config?: Partial<Config$7<T>>;
382
+ env?: Partial<Env$3<T>>;
377
383
  before?: string | string[];
378
384
  };
379
385
  interface InitDestinations {
380
- [key: string]: Init$2<any>;
386
+ [key: string]: Init$3<any>;
381
387
  }
382
388
  interface Destinations {
383
- [key: string]: Instance$3;
389
+ [key: string]: Instance$4;
384
390
  }
385
391
  /**
386
392
  * Context provided to destination functions.
387
393
  * Extends base context with destination-specific properties.
388
394
  */
389
- interface Context$4<T extends TypesGeneric$2 = Types$3> extends Base<Config$6<T>, Env$2<T>> {
395
+ interface Context$5<T extends TypesGeneric$3 = Types$4> extends Base<Config$7<T>, Env$3<T>> {
390
396
  id: string;
391
397
  data?: Data$1;
392
398
  }
393
- interface PushContext<T extends TypesGeneric$2 = Types$3> extends Context$4<T> {
399
+ interface PushContext<T extends TypesGeneric$3 = Types$4> extends Context$5<T> {
394
400
  ingest?: unknown;
395
401
  rule?: Rule<Mapping$1<T>>;
396
402
  }
397
- interface PushBatchContext<T extends TypesGeneric$2 = Types$3> extends Context$4<T> {
403
+ interface PushBatchContext<T extends TypesGeneric$3 = Types$4> extends Context$5<T> {
398
404
  ingest?: unknown;
399
405
  rule?: Rule<Mapping$1<T>>;
400
406
  }
401
- type InitFn$1<T extends TypesGeneric$2 = Types$3> = (context: Context$4<T>) => PromiseOrValue<void | false | Config$6<T>>;
402
- type PushFn<T extends TypesGeneric$2 = Types$3> = (event: Event, context: PushContext<T>) => PromiseOrValue<void | unknown>;
403
- type PushBatchFn<T extends TypesGeneric$2 = Types$3> = (batch: Batch<Mapping$1<T>>, context: PushBatchContext<T>) => void;
407
+ type InitFn$2<T extends TypesGeneric$3 = Types$4> = (context: Context$5<T>) => PromiseOrValue<void | false | Config$7<T>>;
408
+ type PushFn<T extends TypesGeneric$3 = Types$4> = (event: Event, context: PushContext<T>) => PromiseOrValue<void | unknown>;
409
+ type PushBatchFn<T extends TypesGeneric$3 = Types$4> = (batch: Batch<Mapping$1<T>>, context: PushBatchContext<T>) => void;
404
410
  type PushEvent<Mapping = unknown> = {
405
411
  event: Event;
406
412
  mapping?: Rule<Mapping>;
@@ -432,19 +438,19 @@ type DLQ = Array<[Event, unknown]>;
432
438
 
433
439
  type destination_Batch<Mapping> = Batch<Mapping>;
434
440
  type destination_BatchRegistry<Mapping> = BatchRegistry<Mapping>;
435
- type destination_Code<T extends TypesGeneric$2 = Types$3> = Code<T>;
441
+ type destination_Code<T extends TypesGeneric$3 = Types$4> = Code<T>;
436
442
  type destination_DLQ = DLQ;
437
443
  type destination_Destinations = Destinations;
438
444
  type destination_InitDestinations = InitDestinations;
439
- type destination_PushBatchContext<T extends TypesGeneric$2 = Types$3> = PushBatchContext<T>;
440
- type destination_PushBatchFn<T extends TypesGeneric$2 = Types$3> = PushBatchFn<T>;
441
- type destination_PushContext<T extends TypesGeneric$2 = Types$3> = PushContext<T>;
445
+ type destination_PushBatchContext<T extends TypesGeneric$3 = Types$4> = PushBatchContext<T>;
446
+ type destination_PushBatchFn<T extends TypesGeneric$3 = Types$4> = PushBatchFn<T>;
447
+ type destination_PushContext<T extends TypesGeneric$3 = Types$4> = PushContext<T>;
442
448
  type destination_PushEvent<Mapping = unknown> = PushEvent<Mapping>;
443
449
  type destination_PushEvents<Mapping = unknown> = PushEvents<Mapping>;
444
- type destination_PushFn<T extends TypesGeneric$2 = Types$3> = PushFn<T>;
450
+ type destination_PushFn<T extends TypesGeneric$3 = Types$4> = PushFn<T>;
445
451
  type destination_Ref = Ref;
446
452
  declare namespace destination {
447
- export type { BaseEnv$2 as BaseEnv, destination_Batch as Batch, destination_BatchRegistry as BatchRegistry, destination_Code as Code, Config$6 as Config, Context$4 as Context, destination_DLQ as DLQ, Data$1 as Data, destination_Destinations as Destinations, Env$2 as Env, Init$2 as Init, destination_InitDestinations as InitDestinations, InitFn$1 as InitFn, InitSettings$2 as InitSettings, Instance$3 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, Settings$2 as Settings, Types$3 as Types, TypesGeneric$2 as TypesGeneric, TypesOf$2 as TypesOf };
453
+ export type { BaseEnv$3 as BaseEnv, destination_Batch as Batch, destination_BatchRegistry as BatchRegistry, destination_Code as Code, Config$7 as Config, Context$5 as Context, destination_DLQ as DLQ, Data$1 as Data, destination_Destinations as Destinations, Env$3 as Env, Init$3 as Init, destination_InitDestinations as InitDestinations, InitFn$2 as InitFn, InitSettings$3 as InitSettings, Instance$4 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, Settings$3 as Settings, Types$4 as Types, TypesGeneric$3 as TypesGeneric, TypesOf$3 as TypesOf };
448
454
  }
449
455
 
450
456
  interface EventFn<R = Promise<PushResult>> {
@@ -457,9 +463,9 @@ interface Fn$2<R = Promise<PushResult>, Config = unknown> extends EventFn<R>, Wa
457
463
  interface WalkerCommands<R = Promise<PushResult>, Config = unknown> {
458
464
  (event: 'walker config', config: Partial<Config>): R;
459
465
  (event: 'walker consent', consent: Consent): R;
460
- <T extends Types$3>(event: 'walker destination', destination: Init$2<T> | Instance$3<T>, config?: Config$6<T>): R;
466
+ <T extends Types$4>(event: 'walker destination', destination: Init$3<T> | Instance$4<T>, config?: Config$7<T>): R;
461
467
  <K extends keyof Functions>(event: 'walker hook', name: K, hookFn: Functions[K]): R;
462
- (event: 'walker on', type: Types$2, rules: SingleOrArray<Options>): R;
468
+ (event: 'walker on', type: Types$3, rules: SingleOrArray<Options>): R;
463
469
  (event: 'walker user', user: User): R;
464
470
  (event: 'walker run', runState: {
465
471
  consent?: Consent;
@@ -675,7 +681,7 @@ interface Setup {
675
681
  * Named flow configurations.
676
682
  * If only one flow exists, it's auto-selected.
677
683
  */
678
- flows: Record<string, Config$5>;
684
+ flows: Record<string, Config$6>;
679
685
  }
680
686
  /**
681
687
  * Single flow configuration.
@@ -687,7 +693,7 @@ interface Setup {
687
693
  *
688
694
  * Variables/definitions cascade: source/destination > config > setup
689
695
  */
690
- interface Config$5 {
696
+ interface Config$6 {
691
697
  /**
692
698
  * Web platform configuration.
693
699
  * Presence indicates web platform (browser-based tracking).
@@ -705,6 +711,18 @@ interface Config$5 {
705
711
  * Merges on top of Setup-level contract (additive).
706
712
  */
707
713
  contract?: Contract;
714
+ /**
715
+ * Store configurations (key-value storage).
716
+ *
717
+ * @remarks
718
+ * Stores provide key-value storage consumed by sources, transformers,
719
+ * and destinations via env injection. Referenced using $store:storeId
720
+ * prefix in env values.
721
+ *
722
+ * Key = unique store identifier (arbitrary)
723
+ * Value = store reference with package and config
724
+ */
725
+ stores?: Record<string, StoreReference>;
708
726
  /**
709
727
  * Source configurations (data capture).
710
728
  *
@@ -1051,6 +1069,47 @@ interface TransformerReference {
1051
1069
  */
1052
1070
  examples?: StepExamples;
1053
1071
  }
1072
+ /**
1073
+ * Store reference with inline package syntax.
1074
+ *
1075
+ * @remarks
1076
+ * References a store package and provides configuration.
1077
+ * Stores provide key-value storage consumed by other components via env.
1078
+ * Unlike sources/transformers/destinations, stores have no chain properties
1079
+ * (no `next` or `before`) — they are passive infrastructure.
1080
+ */
1081
+ interface StoreReference {
1082
+ /**
1083
+ * Package specifier with optional version.
1084
+ * Optional when `code` is provided for inline code.
1085
+ */
1086
+ package?: string;
1087
+ /**
1088
+ * Resolved import variable name or inline code definition.
1089
+ */
1090
+ code?: string | InlineCode;
1091
+ /**
1092
+ * Store-specific configuration.
1093
+ */
1094
+ config?: unknown;
1095
+ /**
1096
+ * Store environment configuration.
1097
+ */
1098
+ env?: unknown;
1099
+ /**
1100
+ * Store-level variables (highest priority in cascade).
1101
+ */
1102
+ variables?: Variables;
1103
+ /**
1104
+ * Store-level definitions (highest priority in cascade).
1105
+ */
1106
+ definitions?: Definitions;
1107
+ /**
1108
+ * Named examples for testing and documentation.
1109
+ * Stripped during flow resolution.
1110
+ */
1111
+ examples?: StepExamples;
1112
+ }
1054
1113
  /**
1055
1114
  * Destination reference with inline package syntax.
1056
1115
  *
@@ -1169,11 +1228,12 @@ type flow_Setup = Setup;
1169
1228
  type flow_SourceReference = SourceReference;
1170
1229
  type flow_StepExample = StepExample;
1171
1230
  type flow_StepExamples = StepExamples;
1231
+ type flow_StoreReference = StoreReference;
1172
1232
  type flow_TransformerReference = TransformerReference;
1173
1233
  type flow_Variables = Variables;
1174
1234
  type flow_Web = Web;
1175
1235
  declare namespace flow {
1176
- export type { Config$5 as Config, flow_Contract as Contract, flow_ContractActions as ContractActions, flow_ContractSchema as ContractSchema, flow_Definitions as Definitions, flow_DestinationReference as DestinationReference, flow_InlineCode as InlineCode, flow_Packages as Packages, flow_Primitive as Primitive, flow_Server as Server, flow_Setup as Setup, flow_SourceReference as SourceReference, flow_StepExample as StepExample, flow_StepExamples as StepExamples, flow_TransformerReference as TransformerReference, flow_Variables as Variables, flow_Web as Web };
1236
+ export type { Config$6 as Config, flow_Contract as Contract, flow_ContractActions as ContractActions, flow_ContractSchema as ContractSchema, flow_Definitions as Definitions, flow_DestinationReference as DestinationReference, flow_InlineCode as InlineCode, flow_Packages as Packages, flow_Primitive as Primitive, flow_Server as Server, flow_Setup as Setup, flow_SourceReference as SourceReference, flow_StepExample as StepExample, flow_StepExamples as StepExamples, flow_StoreReference as StoreReference, flow_TransformerReference as TransformerReference, flow_Variables as Variables, flow_Web as Web };
1177
1237
  }
1178
1238
 
1179
1239
  type AnyFunction$1<P extends unknown[] = never[], R = unknown> = (...args: P) => R;
@@ -1241,7 +1301,7 @@ type Handler = (level: Level, message: string, context: LogContext, scope: strin
1241
1301
  * Logger instance with scoping support
1242
1302
  * All logs automatically include trace path from scoping
1243
1303
  */
1244
- interface Instance$2 {
1304
+ interface Instance$3 {
1245
1305
  /**
1246
1306
  * Log an error message (always visible unless silenced)
1247
1307
  */
@@ -1272,12 +1332,12 @@ interface Instance$2 {
1272
1332
  * @param name - Scope name (e.g., destination type, destination key)
1273
1333
  * @returns A new logger instance with the scope applied
1274
1334
  */
1275
- scope: (name: string) => Instance$2;
1335
+ scope: (name: string) => Instance$3;
1276
1336
  }
1277
1337
  /**
1278
1338
  * Logger configuration options
1279
1339
  */
1280
- interface Config$4 {
1340
+ interface Config$5 {
1281
1341
  /**
1282
1342
  * Minimum log level to display
1283
1343
  * @default Level.ERROR
@@ -1303,7 +1363,7 @@ interface InternalConfig {
1303
1363
  /**
1304
1364
  * Logger factory function type
1305
1365
  */
1306
- type Factory = (config?: Config$4) => Instance$2;
1366
+ type Factory = (config?: Config$5) => Instance$3;
1307
1367
 
1308
1368
  type logger_DefaultHandler = DefaultHandler;
1309
1369
  type logger_ErrorContext = ErrorContext;
@@ -1316,14 +1376,14 @@ type logger_LogContext = LogContext;
1316
1376
  type logger_LogFn = LogFn;
1317
1377
  type logger_ThrowFn = ThrowFn;
1318
1378
  declare namespace logger {
1319
- export { type Config$4 as Config, type logger_DefaultHandler as DefaultHandler, type logger_ErrorContext as ErrorContext, type logger_Factory as Factory, type logger_Handler as Handler, type Instance$2 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 };
1379
+ export { type Config$5 as Config, type logger_DefaultHandler as DefaultHandler, type logger_ErrorContext as ErrorContext, type logger_Factory as Factory, type logger_Handler as Handler, type Instance$3 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 };
1320
1380
  }
1321
1381
 
1322
1382
  /**
1323
1383
  * Shared mapping configuration interface.
1324
1384
  * Used by both Source.Config and Destination.Config.
1325
1385
  */
1326
- interface Config$3<T = unknown> {
1386
+ interface Config$4<T = unknown> {
1327
1387
  consent?: Consent;
1328
1388
  data?: Value | Values;
1329
1389
  mapping?: Rules<Rule<T>>;
@@ -1337,7 +1397,7 @@ interface Rules<T = Rule> {
1337
1397
  }
1338
1398
  interface Rule<Settings = unknown> {
1339
1399
  batch?: number;
1340
- batchFn?: (destination: Instance$3, collector: Instance$4) => void;
1400
+ batchFn?: (destination: Instance$4, collector: Instance$5) => void;
1341
1401
  batched?: Batch<Settings>;
1342
1402
  condition?: Condition;
1343
1403
  consent?: Consent;
@@ -1366,7 +1426,7 @@ interface ValueConfig {
1366
1426
  validate?: Validate;
1367
1427
  value?: PropertyType;
1368
1428
  }
1369
- type Condition = (value: DeepPartialEvent | unknown, mapping?: Value, collector?: Instance$4) => PromiseOrValue<boolean>;
1429
+ type Condition = (value: DeepPartialEvent | unknown, mapping?: Value, collector?: Instance$5) => PromiseOrValue<boolean>;
1370
1430
  type Fn$1 = (value: DeepPartialEvent | unknown, mapping: Value, options: Options$1) => PromiseOrValue<Property | unknown>;
1371
1431
  type Loop = [Value, Value];
1372
1432
  type Map = {
@@ -1374,7 +1434,7 @@ type Map = {
1374
1434
  };
1375
1435
  interface Options$1 {
1376
1436
  consent?: Consent;
1377
- collector?: Instance$4;
1437
+ collector?: Instance$5;
1378
1438
  props?: unknown;
1379
1439
  }
1380
1440
  type Validate = (value?: unknown) => PromiseOrValue<boolean>;
@@ -1392,10 +1452,10 @@ type mapping_ValueConfig = ValueConfig;
1392
1452
  type mapping_ValueType = ValueType;
1393
1453
  type mapping_Values = Values;
1394
1454
  declare namespace mapping {
1395
- export type { mapping_Condition as Condition, Config$3 as Config, mapping_Data as Data, Fn$1 as Fn, mapping_Loop as Loop, mapping_Map as Map, Options$1 as Options, mapping_Policy as Policy, Result$2 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 };
1455
+ export type { mapping_Condition as Condition, Config$4 as Config, mapping_Data as Data, Fn$1 as Fn, mapping_Loop as Loop, mapping_Map as Map, Options$1 as Options, mapping_Policy as Policy, Result$2 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 };
1396
1456
  }
1397
1457
 
1398
- type Config$2 = {
1458
+ type Config$3 = {
1399
1459
  config?: Array<GenericConfig>;
1400
1460
  consent?: Array<ConsentConfig>;
1401
1461
  custom?: Array<GenericConfig>;
@@ -1405,9 +1465,9 @@ type Config$2 = {
1405
1465
  session?: Array<SessionConfig>;
1406
1466
  user?: Array<UserConfig>;
1407
1467
  };
1408
- type Types$2 = keyof Config$2 | (string & {});
1468
+ type Types$3 = keyof Config$3 | (string & {});
1409
1469
  interface EventContextMap {
1410
- config: Partial<Config$7>;
1470
+ config: Partial<Config$8>;
1411
1471
  consent: Consent;
1412
1472
  custom: Properties;
1413
1473
  globals: Properties;
@@ -1418,7 +1478,7 @@ interface EventContextMap {
1418
1478
  }
1419
1479
  type EventContext<T extends keyof EventContextMap> = EventContextMap[T];
1420
1480
  type AnyEventContext = EventContextMap[keyof EventContextMap];
1421
- interface Context$3 {
1481
+ interface Context$4 {
1422
1482
  consent?: Consent;
1423
1483
  session?: unknown;
1424
1484
  }
@@ -1426,17 +1486,17 @@ type Options = ConsentConfig | GenericConfig | ReadyConfig | RunConfig | Session
1426
1486
  interface ConsentConfig {
1427
1487
  [key: string]: ConsentFn;
1428
1488
  }
1429
- type ConsentFn = (collector: Instance$4, consent: Consent) => void;
1489
+ type ConsentFn = (collector: Instance$5, consent: Consent) => void;
1430
1490
  type GenericConfig = GenericFn;
1431
- type GenericFn = (collector: Instance$4, data: unknown) => void;
1491
+ type GenericFn = (collector: Instance$5, data: unknown) => void;
1432
1492
  type ReadyConfig = ReadyFn;
1433
- type ReadyFn = (collector: Instance$4) => void;
1493
+ type ReadyFn = (collector: Instance$5) => void;
1434
1494
  type RunConfig = RunFn;
1435
- type RunFn = (collector: Instance$4) => void;
1495
+ type RunFn = (collector: Instance$5) => void;
1436
1496
  type SessionConfig = SessionFn;
1437
- type SessionFn = (collector: Instance$4, session?: unknown) => void;
1497
+ type SessionFn = (collector: Instance$5, session?: unknown) => void;
1438
1498
  type UserConfig = UserFn;
1439
- type UserFn = (collector: Instance$4, user: User) => void;
1499
+ type UserFn = (collector: Instance$5, user: User) => void;
1440
1500
  interface OnConfig {
1441
1501
  config?: GenericConfig[];
1442
1502
  consent?: ConsentConfig[];
@@ -1448,8 +1508,8 @@ interface OnConfig {
1448
1508
  user?: UserConfig[];
1449
1509
  [key: string]: ConsentConfig[] | GenericConfig[] | ReadyConfig[] | RunConfig[] | SessionConfig[] | UserConfig[] | undefined;
1450
1510
  }
1451
- type OnFn<T extends TypesGeneric$2 = Types$3> = (type: Types$2, context: Context$4<T>) => PromiseOrValue<void>;
1452
- type OnFnRuntime = (type: Types$2, context: Context$4) => PromiseOrValue<void>;
1511
+ type OnFn<T extends TypesGeneric$3 = Types$4> = (type: Types$3, context: Context$5<T>) => PromiseOrValue<void>;
1512
+ type OnFnRuntime = (type: Types$3, context: Context$5) => PromiseOrValue<void>;
1453
1513
 
1454
1514
  type on_AnyEventContext = AnyEventContext;
1455
1515
  type on_ConsentConfig = ConsentConfig;
@@ -1459,7 +1519,7 @@ type on_EventContextMap = EventContextMap;
1459
1519
  type on_GenericConfig = GenericConfig;
1460
1520
  type on_GenericFn = GenericFn;
1461
1521
  type on_OnConfig = OnConfig;
1462
- type on_OnFn<T extends TypesGeneric$2 = Types$3> = OnFn<T>;
1522
+ type on_OnFn<T extends TypesGeneric$3 = Types$4> = OnFn<T>;
1463
1523
  type on_OnFnRuntime = OnFnRuntime;
1464
1524
  type on_Options = Options;
1465
1525
  type on_ReadyConfig = ReadyConfig;
@@ -1471,7 +1531,7 @@ type on_SessionFn = SessionFn;
1471
1531
  type on_UserConfig = UserConfig;
1472
1532
  type on_UserFn = UserFn;
1473
1533
  declare namespace on {
1474
- export type { on_AnyEventContext as AnyEventContext, Config$2 as Config, on_ConsentConfig as ConsentConfig, on_ConsentFn as ConsentFn, Context$3 as Context, on_EventContext as EventContext, on_EventContextMap as EventContextMap, on_GenericConfig as GenericConfig, on_GenericFn as GenericFn, 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$2 as Types, on_UserConfig as UserConfig, on_UserFn as UserFn };
1534
+ export type { on_AnyEventContext as AnyEventContext, Config$3 as Config, on_ConsentConfig as ConsentConfig, on_ConsentFn as ConsentFn, Context$4 as Context, on_EventContext as EventContext, on_EventContextMap as EventContextMap, on_GenericConfig as GenericConfig, on_GenericFn as GenericFn, 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$3 as Types, on_UserConfig as UserConfig, on_UserFn as UserFn };
1475
1535
  }
1476
1536
 
1477
1537
  type Next = string | string[];
@@ -1481,7 +1541,7 @@ type Next = string | string[];
1481
1541
  * Minimal like Destination - just an extensible object.
1482
1542
  * Transformers receive dependencies through context, not env.
1483
1543
  */
1484
- interface BaseEnv$1 {
1544
+ interface BaseEnv$2 {
1485
1545
  [key: string]: unknown;
1486
1546
  }
1487
1547
  /**
@@ -1493,7 +1553,7 @@ interface BaseEnv$1 {
1493
1553
  * @template E - Environment type
1494
1554
  * @template I - InitSettings configuration type (user input)
1495
1555
  */
1496
- interface Types$1<S = unknown, E = BaseEnv$1, I = S> {
1556
+ interface Types$2<S = unknown, E = BaseEnv$2, I = S> {
1497
1557
  settings: S;
1498
1558
  initSettings: I;
1499
1559
  env: E;
@@ -1501,7 +1561,7 @@ interface Types$1<S = unknown, E = BaseEnv$1, I = S> {
1501
1561
  /**
1502
1562
  * Generic constraint for Types - ensures T has required properties for indexed access.
1503
1563
  */
1504
- type TypesGeneric$1 = {
1564
+ type TypesGeneric$2 = {
1505
1565
  settings: any;
1506
1566
  initSettings: any;
1507
1567
  env: any;
@@ -1509,21 +1569,21 @@ type TypesGeneric$1 = {
1509
1569
  /**
1510
1570
  * Type extractors for consistent usage with Types bundle.
1511
1571
  */
1512
- type Settings$1<T extends TypesGeneric$1 = Types$1> = T['settings'];
1513
- type InitSettings$1<T extends TypesGeneric$1 = Types$1> = T['initSettings'];
1514
- type Env$1<T extends TypesGeneric$1 = Types$1> = T['env'];
1572
+ type Settings$2<T extends TypesGeneric$2 = Types$2> = T['settings'];
1573
+ type InitSettings$2<T extends TypesGeneric$2 = Types$2> = T['initSettings'];
1574
+ type Env$2<T extends TypesGeneric$2 = Types$2> = T['env'];
1515
1575
  /**
1516
1576
  * Inference helper: Extract Types from Instance.
1517
1577
  */
1518
- type TypesOf$1<I> = I extends Instance$1<infer T> ? T : never;
1578
+ type TypesOf$2<I> = I extends Instance$2<infer T> ? T : never;
1519
1579
  /**
1520
1580
  * Transformer configuration.
1521
1581
  */
1522
- interface Config$1<T extends TypesGeneric$1 = Types$1> {
1523
- settings?: InitSettings$1<T>;
1524
- env?: Env$1<T>;
1582
+ interface Config$2<T extends TypesGeneric$2 = Types$2> {
1583
+ settings?: InitSettings$2<T>;
1584
+ env?: Env$2<T>;
1525
1585
  id?: string;
1526
- logger?: Config$4;
1586
+ logger?: Config$5;
1527
1587
  next?: Next;
1528
1588
  init?: boolean;
1529
1589
  }
@@ -1531,7 +1591,7 @@ interface Config$1<T extends TypesGeneric$1 = Types$1> {
1531
1591
  * Context provided to transformer functions.
1532
1592
  * Extends base context with transformer-specific properties.
1533
1593
  */
1534
- interface Context$2<T extends TypesGeneric$1 = Types$1> extends Base<Config$1<T>, Env$1<T>> {
1594
+ interface Context$3<T extends TypesGeneric$2 = Types$2> extends Base<Config$2<T>, Env$2<T>> {
1535
1595
  id: string;
1536
1596
  ingest?: unknown;
1537
1597
  }
@@ -1558,7 +1618,7 @@ interface Result$1 {
1558
1618
  * @returns void - continue with current event unchanged (passthrough)
1559
1619
  * @returns false - stop chain, cancel further processing
1560
1620
  */
1561
- type Fn<T extends TypesGeneric$1 = Types$1> = (event: DeepPartialEvent, context: Context$2<T>) => PromiseOrValue<Result$1 | false | void>;
1621
+ type Fn<T extends TypesGeneric$2 = Types$2> = (event: DeepPartialEvent, context: Context$3<T>) => PromiseOrValue<Result$1 | false | void>;
1562
1622
  /**
1563
1623
  * Optional initialization function.
1564
1624
  * Called once before first push.
@@ -1568,30 +1628,30 @@ type Fn<T extends TypesGeneric$1 = Types$1> = (event: DeepPartialEvent, context:
1568
1628
  * @returns false - initialization failed, skip this transformer
1569
1629
  * @returns Config<T> - return updated config
1570
1630
  */
1571
- type InitFn<T extends TypesGeneric$1 = Types$1> = (context: Context$2<T>) => PromiseOrValue<void | false | Config$1<T>>;
1631
+ type InitFn$1<T extends TypesGeneric$2 = Types$2> = (context: Context$3<T>) => PromiseOrValue<void | false | Config$2<T>>;
1572
1632
  /**
1573
1633
  * Transformer instance returned by Init function.
1574
1634
  */
1575
- interface Instance$1<T extends TypesGeneric$1 = Types$1> {
1635
+ interface Instance$2<T extends TypesGeneric$2 = Types$2> {
1576
1636
  type: string;
1577
- config: Config$1<T>;
1637
+ config: Config$2<T>;
1578
1638
  push: Fn<T>;
1579
- init?: InitFn<T>;
1580
- destroy?: DestroyFn<Config$1<T>, Env$1<T>>;
1639
+ init?: InitFn$1<T>;
1640
+ destroy?: DestroyFn<Config$2<T>, Env$2<T>>;
1581
1641
  }
1582
1642
  /**
1583
1643
  * Transformer initialization function.
1584
1644
  * Creates a transformer instance from context.
1585
1645
  */
1586
- type Init$1<T extends TypesGeneric$1 = Types$1> = (context: Context$2<Types$1<Partial<Settings$1<T>>, Env$1<T>, InitSettings$1<T>>>) => Instance$1<T> | Promise<Instance$1<T>>;
1646
+ type Init$2<T extends TypesGeneric$2 = Types$2> = (context: Context$3<Types$2<Partial<Settings$2<T>>, Env$2<T>, InitSettings$2<T>>>) => Instance$2<T> | Promise<Instance$2<T>>;
1587
1647
  /**
1588
1648
  * Configuration for initializing a transformer.
1589
1649
  * Used in collector registration.
1590
1650
  */
1591
- type InitTransformer<T extends TypesGeneric$1 = Types$1> = {
1592
- code: Init$1<T>;
1593
- config?: Partial<Config$1<T>>;
1594
- env?: Partial<Env$1<T>>;
1651
+ type InitTransformer<T extends TypesGeneric$2 = Types$2> = {
1652
+ code: Init$2<T>;
1653
+ config?: Partial<Config$2<T>>;
1654
+ env?: Partial<Env$2<T>>;
1595
1655
  next?: Next;
1596
1656
  };
1597
1657
  /**
@@ -1605,20 +1665,19 @@ interface InitTransformers {
1605
1665
  * Active transformer instances registry.
1606
1666
  */
1607
1667
  interface Transformers {
1608
- [transformerId: string]: Instance$1;
1668
+ [transformerId: string]: Instance$2;
1609
1669
  }
1610
1670
 
1611
- type transformer_Fn<T extends TypesGeneric$1 = Types$1> = Fn<T>;
1612
- type transformer_InitFn<T extends TypesGeneric$1 = Types$1> = InitFn<T>;
1613
- type transformer_InitTransformer<T extends TypesGeneric$1 = Types$1> = InitTransformer<T>;
1671
+ type transformer_Fn<T extends TypesGeneric$2 = Types$2> = Fn<T>;
1672
+ type transformer_InitTransformer<T extends TypesGeneric$2 = Types$2> = InitTransformer<T>;
1614
1673
  type transformer_InitTransformers = InitTransformers;
1615
1674
  type transformer_Next = Next;
1616
1675
  type transformer_Transformers = Transformers;
1617
1676
  declare namespace transformer {
1618
- export type { BaseEnv$1 as BaseEnv, Config$1 as Config, Context$2 as Context, Env$1 as Env, transformer_Fn as Fn, Init$1 as Init, transformer_InitFn as InitFn, InitSettings$1 as InitSettings, transformer_InitTransformer as InitTransformer, transformer_InitTransformers as InitTransformers, Instance$1 as Instance, transformer_Next as Next, Result$1 as Result, Settings$1 as Settings, transformer_Transformers as Transformers, Types$1 as Types, TypesGeneric$1 as TypesGeneric, TypesOf$1 as TypesOf };
1677
+ export type { BaseEnv$2 as BaseEnv, Config$2 as Config, Context$3 as Context, Env$2 as Env, transformer_Fn as Fn, Init$2 as Init, InitFn$1 as InitFn, InitSettings$2 as InitSettings, transformer_InitTransformer as InitTransformer, transformer_InitTransformers as InitTransformers, Instance$2 as Instance, transformer_Next as Next, Result$1 as Result, Settings$2 as Settings, transformer_Transformers as Transformers, Types$2 as Types, TypesGeneric$2 as TypesGeneric, TypesOf$2 as TypesOf };
1619
1678
  }
1620
1679
 
1621
- interface Context$1 {
1680
+ interface Context$2 {
1622
1681
  city?: string;
1623
1682
  country?: string;
1624
1683
  encoding?: string;
@@ -1632,7 +1691,7 @@ interface Context$1 {
1632
1691
  }
1633
1692
 
1634
1693
  declare namespace request {
1635
- export type { Context$1 as Context };
1694
+ export type { Context$2 as Context };
1636
1695
  }
1637
1696
 
1638
1697
  /**
@@ -1641,13 +1700,13 @@ declare namespace request {
1641
1700
  * Sources receive all their dependencies through this environment object,
1642
1701
  * making them platform-agnostic and easily testable.
1643
1702
  */
1644
- interface BaseEnv {
1703
+ interface BaseEnv$1 {
1645
1704
  [key: string]: unknown;
1646
1705
  push: PushFn$1;
1647
1706
  command: CommandFn;
1648
1707
  sources?: Sources;
1649
1708
  elb: Fn$2;
1650
- logger: Instance$2;
1709
+ logger: Instance$3;
1651
1710
  }
1652
1711
  /**
1653
1712
  * Type bundle for source generics.
@@ -1659,7 +1718,7 @@ interface BaseEnv {
1659
1718
  * @template E - Environment dependencies type
1660
1719
  * @template I - InitSettings configuration type (user input)
1661
1720
  */
1662
- interface Types<S = unknown, M = unknown, P = Fn$2, E = BaseEnv, I = S> {
1721
+ interface Types$1<S = unknown, M = unknown, P = Fn$2, E = BaseEnv$1, I = S> {
1663
1722
  settings: S;
1664
1723
  initSettings: I;
1665
1724
  mapping: M;
@@ -1669,7 +1728,7 @@ interface Types<S = unknown, M = unknown, P = Fn$2, E = BaseEnv, I = S> {
1669
1728
  /**
1670
1729
  * Generic constraint for Types - ensures T has required properties for indexed access
1671
1730
  */
1672
- type TypesGeneric = {
1731
+ type TypesGeneric$1 = {
1673
1732
  settings: any;
1674
1733
  initSettings: any;
1675
1734
  mapping: any;
@@ -1679,24 +1738,24 @@ type TypesGeneric = {
1679
1738
  /**
1680
1739
  * Type extractors for consistent usage with Types bundle
1681
1740
  */
1682
- type Settings<T extends TypesGeneric = Types> = T['settings'];
1683
- type InitSettings<T extends TypesGeneric = Types> = T['initSettings'];
1684
- type Mapping<T extends TypesGeneric = Types> = T['mapping'];
1685
- type Push<T extends TypesGeneric = Types> = T['push'];
1686
- type Env<T extends TypesGeneric = Types> = T['env'];
1741
+ type Settings$1<T extends TypesGeneric$1 = Types$1> = T['settings'];
1742
+ type InitSettings$1<T extends TypesGeneric$1 = Types$1> = T['initSettings'];
1743
+ type Mapping<T extends TypesGeneric$1 = Types$1> = T['mapping'];
1744
+ type Push<T extends TypesGeneric$1 = Types$1> = T['push'];
1745
+ type Env$1<T extends TypesGeneric$1 = Types$1> = T['env'];
1687
1746
  /**
1688
1747
  * Inference helper: Extract Types from Instance
1689
1748
  */
1690
- type TypesOf<I> = I extends Instance<infer T> ? T : never;
1691
- interface Config<T extends TypesGeneric = Types> extends Config$3<Mapping<T>> {
1749
+ type TypesOf$1<I> = I extends Instance$1<infer T> ? T : never;
1750
+ interface Config$1<T extends TypesGeneric$1 = Types$1> extends Config$4<Mapping<T>> {
1692
1751
  /** Implementation-specific configuration passed to the init function. */
1693
- settings?: InitSettings<T>;
1752
+ settings?: InitSettings$1<T>;
1694
1753
  /** Runtime dependencies injected by the collector (push, command, logger, etc.). */
1695
- env?: Env<T>;
1754
+ env?: Env$1<T>;
1696
1755
  /** Source identifier; defaults to the InitSources object key. */
1697
1756
  id?: string;
1698
1757
  /** Logger configuration (level, handler) to override the collector's defaults. */
1699
- logger?: Config$4;
1758
+ logger?: Config$5;
1700
1759
  /** Mark as primary source; its push function becomes the exported `elb` from startFlow. */
1701
1760
  primary?: boolean;
1702
1761
  /** Defer source initialization until these collector events fire (e.g., `['consent']`). */
@@ -1715,19 +1774,19 @@ interface Config<T extends TypesGeneric = Types> extends Config$3<Mapping<T>> {
1715
1774
  */
1716
1775
  ingest?: Data;
1717
1776
  }
1718
- type PartialConfig<T extends TypesGeneric = Types> = Config<Types<Partial<Settings<T>> | Settings<T>, Partial<Mapping<T>> | Mapping<T>, Push<T>, Env<T>>>;
1719
- interface Instance<T extends TypesGeneric = Types> {
1777
+ type PartialConfig<T extends TypesGeneric$1 = Types$1> = Config$1<Types$1<Partial<Settings$1<T>> | Settings$1<T>, Partial<Mapping<T>> | Mapping<T>, Push<T>, Env$1<T>>>;
1778
+ interface Instance$1<T extends TypesGeneric$1 = Types$1> {
1720
1779
  type: string;
1721
- config: Config<T>;
1780
+ config: Config$1<T>;
1722
1781
  push: Push<T>;
1723
- destroy?: DestroyFn<Config<T>, Env<T>>;
1724
- on?(event: Types$2, context?: unknown): void | boolean | Promise<void | boolean>;
1782
+ destroy?: DestroyFn<Config$1<T>, Env$1<T>>;
1783
+ on?(event: Types$3, context?: unknown): void | boolean | Promise<void | boolean>;
1725
1784
  }
1726
1785
  /**
1727
1786
  * Context provided to source init function.
1728
1787
  * Extends base context with source-specific properties.
1729
1788
  */
1730
- interface Context<T extends TypesGeneric = Types> extends Base<Partial<Config<T>>, Env<T>> {
1789
+ interface Context$1<T extends TypesGeneric$1 = Types$1> extends Base<Partial<Config$1<T>>, Env$1<T>> {
1731
1790
  id: string;
1732
1791
  /**
1733
1792
  * Sets ingest metadata for the current request.
@@ -1740,11 +1799,11 @@ interface Context<T extends TypesGeneric = Types> extends Base<Partial<Config<T>
1740
1799
  /** Sets respond function for the current request. Called by source per-request. */
1741
1800
  setRespond: (fn: RespondFn | undefined) => void;
1742
1801
  }
1743
- type Init<T extends TypesGeneric = Types> = (context: Context<T>) => Instance<T> | Promise<Instance<T>>;
1744
- type InitSource<T extends TypesGeneric = Types> = {
1745
- code: Init<T>;
1746
- config?: Partial<Config<T>>;
1747
- env?: Partial<Env<T>>;
1802
+ type Init$1<T extends TypesGeneric$1 = Types$1> = (context: Context$1<T>) => Instance$1<T> | Promise<Instance$1<T>>;
1803
+ type InitSource<T extends TypesGeneric$1 = Types$1> = {
1804
+ code: Init$1<T>;
1805
+ config?: Partial<Config$1<T>>;
1806
+ env?: Partial<Env$1<T>>;
1748
1807
  primary?: boolean;
1749
1808
  next?: Next;
1750
1809
  };
@@ -1782,27 +1841,89 @@ interface SimulationEnv {
1782
1841
  */
1783
1842
  type SetupFn = (input: unknown, env: SimulationEnv) => void | (() => void);
1784
1843
 
1785
- type source_BaseEnv = BaseEnv;
1786
- type source_Config<T extends TypesGeneric = Types> = Config<T>;
1787
- type source_Context<T extends TypesGeneric = Types> = Context<T>;
1788
- type source_Env<T extends TypesGeneric = Types> = Env<T>;
1789
- type source_Init<T extends TypesGeneric = Types> = Init<T>;
1790
- type source_InitSettings<T extends TypesGeneric = Types> = InitSettings<T>;
1791
- type source_InitSource<T extends TypesGeneric = Types> = InitSource<T>;
1844
+ type source_InitSource<T extends TypesGeneric$1 = Types$1> = InitSource<T>;
1792
1845
  type source_InitSources = InitSources;
1793
- type source_Instance<T extends TypesGeneric = Types> = Instance<T>;
1794
- type source_Mapping<T extends TypesGeneric = Types> = Mapping<T>;
1795
- type source_PartialConfig<T extends TypesGeneric = Types> = PartialConfig<T>;
1796
- type source_Push<T extends TypesGeneric = Types> = Push<T>;
1846
+ type source_Mapping<T extends TypesGeneric$1 = Types$1> = Mapping<T>;
1847
+ type source_PartialConfig<T extends TypesGeneric$1 = Types$1> = PartialConfig<T>;
1848
+ type source_Push<T extends TypesGeneric$1 = Types$1> = Push<T>;
1797
1849
  type source_Renderer = Renderer;
1798
- type source_Settings<T extends TypesGeneric = Types> = Settings<T>;
1799
1850
  type source_SetupFn = SetupFn;
1800
1851
  type source_SimulationEnv = SimulationEnv;
1801
- type source_Types<S = unknown, M = unknown, P = Fn$2, E = BaseEnv, I = S> = Types<S, M, P, E, I>;
1802
- type source_TypesGeneric = TypesGeneric;
1803
- type source_TypesOf<I> = TypesOf<I>;
1804
1852
  declare namespace source {
1805
- export type { source_BaseEnv as BaseEnv, source_Config as Config, source_Context as Context, 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_Renderer as Renderer, source_Settings as Settings, source_SetupFn as SetupFn, source_SimulationEnv as SimulationEnv, source_Types as Types, source_TypesGeneric as TypesGeneric, source_TypesOf as TypesOf };
1853
+ export type { BaseEnv$1 as BaseEnv, Config$1 as Config, Context$1 as Context, Env$1 as Env, Init$1 as Init, InitSettings$1 as InitSettings, source_InitSource as InitSource, source_InitSources as InitSources, Instance$1 as Instance, source_Mapping as Mapping, source_PartialConfig as PartialConfig, source_Push as Push, source_Renderer as Renderer, Settings$1 as Settings, source_SetupFn as SetupFn, source_SimulationEnv as SimulationEnv, Types$1 as Types, TypesGeneric$1 as TypesGeneric, TypesOf$1 as TypesOf };
1854
+ }
1855
+
1856
+ interface BaseEnv {
1857
+ [key: string]: unknown;
1858
+ }
1859
+ interface Types<S = unknown, E = BaseEnv, I = S> {
1860
+ settings: S;
1861
+ initSettings: I;
1862
+ env: E;
1863
+ }
1864
+ type TypesGeneric = {
1865
+ settings: any;
1866
+ initSettings: any;
1867
+ env: any;
1868
+ };
1869
+ type Settings<T extends TypesGeneric = Types> = T['settings'];
1870
+ type InitSettings<T extends TypesGeneric = Types> = T['initSettings'];
1871
+ type Env<T extends TypesGeneric = Types> = T['env'];
1872
+ type TypesOf<I> = I extends Instance<infer T> ? T : never;
1873
+ interface Config<T extends TypesGeneric = Types> {
1874
+ settings?: InitSettings<T>;
1875
+ env?: Env<T>;
1876
+ id?: string;
1877
+ logger?: Config$5;
1878
+ }
1879
+ interface Context<T extends TypesGeneric = Types> extends Base<Config<T>, Env<T>> {
1880
+ id: string;
1881
+ }
1882
+ type GetFn<T = unknown> = (key: string) => T | undefined | Promise<T | undefined>;
1883
+ type SetFn<T = unknown> = (key: string, value: T, ttl?: number) => void | Promise<void>;
1884
+ type DeleteFn = (key: string) => void | Promise<void>;
1885
+ interface Instance<T extends TypesGeneric = Types> {
1886
+ type: string;
1887
+ config: Config<T>;
1888
+ get: GetFn;
1889
+ set: SetFn;
1890
+ delete: DeleteFn;
1891
+ destroy?: DestroyFn<Config<T>, Env<T>>;
1892
+ }
1893
+ type Init<T extends TypesGeneric = Types> = (context: Context<Types<Partial<Settings<T>>, Env<T>, InitSettings<T>>>) => Instance<T> | Promise<Instance<T>>;
1894
+ type InitFn<T extends TypesGeneric = Types> = (context: Context<T>) => PromiseOrValue<void | false | Config<T>>;
1895
+ type InitStore<T extends TypesGeneric = Types> = {
1896
+ code: Init<T>;
1897
+ config?: Partial<Config<T>>;
1898
+ env?: Partial<Env<T>>;
1899
+ };
1900
+ interface InitStores {
1901
+ [storeId: string]: InitStore<any>;
1902
+ }
1903
+ interface Stores {
1904
+ [storeId: string]: Instance;
1905
+ }
1906
+
1907
+ type store_BaseEnv = BaseEnv;
1908
+ type store_Config<T extends TypesGeneric = Types> = Config<T>;
1909
+ type store_Context<T extends TypesGeneric = Types> = Context<T>;
1910
+ type store_DeleteFn = DeleteFn;
1911
+ type store_Env<T extends TypesGeneric = Types> = Env<T>;
1912
+ type store_GetFn<T = unknown> = GetFn<T>;
1913
+ type store_Init<T extends TypesGeneric = Types> = Init<T>;
1914
+ type store_InitFn<T extends TypesGeneric = Types> = InitFn<T>;
1915
+ type store_InitSettings<T extends TypesGeneric = Types> = InitSettings<T>;
1916
+ type store_InitStore<T extends TypesGeneric = Types> = InitStore<T>;
1917
+ type store_InitStores = InitStores;
1918
+ type store_Instance<T extends TypesGeneric = Types> = Instance<T>;
1919
+ type store_SetFn<T = unknown> = SetFn<T>;
1920
+ type store_Settings<T extends TypesGeneric = Types> = Settings<T>;
1921
+ type store_Stores = Stores;
1922
+ type store_Types<S = unknown, E = BaseEnv, I = S> = Types<S, E, I>;
1923
+ type store_TypesGeneric = TypesGeneric;
1924
+ type store_TypesOf<I> = TypesOf<I>;
1925
+ declare namespace store {
1926
+ export type { store_BaseEnv as BaseEnv, store_Config as Config, store_Context as Context, store_DeleteFn as DeleteFn, store_Env as Env, store_GetFn as GetFn, store_Init as Init, store_InitFn as InitFn, store_InitSettings as InitSettings, store_InitStore as InitStore, store_InitStores as InitStores, store_Instance as Instance, store_SetFn as SetFn, store_Settings as Settings, store_Stores as Stores, store_Types as Types, store_TypesGeneric as TypesGeneric, store_TypesOf as TypesOf };
1806
1927
  }
1807
1928
 
1808
1929
  type AnyObject<T = unknown> = Record<string, T>;
@@ -1962,6 +2083,28 @@ declare namespace simulation {
1962
2083
  export type { simulation_Call as Call, simulation_Result as Result };
1963
2084
  }
1964
2085
 
2086
+ type MatchExpression = MatchCondition | {
2087
+ and: MatchExpression[];
2088
+ } | {
2089
+ or: MatchExpression[];
2090
+ };
2091
+ interface MatchCondition {
2092
+ key: string;
2093
+ operator: MatchOperator;
2094
+ value: string;
2095
+ not?: boolean;
2096
+ }
2097
+ type MatchOperator = 'eq' | 'contains' | 'prefix' | 'suffix' | 'regex' | 'gt' | 'lt' | 'exists';
2098
+ type CompiledMatcher = (ingest: Record<string, unknown>) => boolean;
2099
+
2100
+ type matcher_CompiledMatcher = CompiledMatcher;
2101
+ type matcher_MatchCondition = MatchCondition;
2102
+ type matcher_MatchExpression = MatchExpression;
2103
+ type matcher_MatchOperator = MatchOperator;
2104
+ declare namespace matcher {
2105
+ export type { matcher_CompiledMatcher as CompiledMatcher, matcher_MatchCondition as MatchCondition, matcher_MatchExpression as MatchExpression, matcher_MatchOperator as MatchOperator };
2106
+ }
2107
+
1965
2108
  type StorageType = 'local' | 'session' | 'cookie';
1966
2109
  declare const Const: {
1967
2110
  readonly Utils: {
@@ -2039,7 +2182,7 @@ declare function packageNameToVariable(packageName: string): string;
2039
2182
  * const prodConfig = getFlowConfig(setup, 'production');
2040
2183
  * ```
2041
2184
  */
2042
- declare function getFlowConfig(setup: Setup, flowName?: string, options?: ResolveOptions): Config$5;
2185
+ declare function getFlowConfig(setup: Setup, flowName?: string, options?: ResolveOptions): Config$6;
2043
2186
  /**
2044
2187
  * Get platform from config (web or server).
2045
2188
  *
@@ -2055,7 +2198,7 @@ declare function getFlowConfig(setup: Setup, flowName?: string, options?: Resolv
2055
2198
  * // Returns "web" or "server"
2056
2199
  * ```
2057
2200
  */
2058
- declare function getPlatform(config: Config$5): 'web' | 'server';
2201
+ declare function getPlatform(config: Config$6): 'web' | 'server';
2059
2202
 
2060
2203
  /**
2061
2204
  * @interface Assign
@@ -2151,7 +2294,7 @@ declare function getGrantedConsent(required: Consent | undefined, state?: Consen
2151
2294
  * }));
2152
2295
  * ```
2153
2296
  */
2154
- declare function createDestination<I extends Instance$3>(baseDestination: I, config: Partial<Config$6<TypesOf$2<I>>>): I;
2297
+ declare function createDestination<I extends Instance$4>(baseDestination: I, config: Partial<Config$7<TypesOf$3<I>>>): I;
2155
2298
 
2156
2299
  /**
2157
2300
  * Creates a complete event with default values.
@@ -2313,7 +2456,7 @@ declare function isString(value: unknown): value is string;
2313
2456
  * // TODO: Consider compile-time stripping of debug logs in production builds
2314
2457
  * // e.g., if (__DEV__) { logger.debug(...) }
2315
2458
  */
2316
- declare function createLogger(config?: Config$4): Instance$2;
2459
+ declare function createLogger(config?: Config$5): Instance$3;
2317
2460
 
2318
2461
  /**
2319
2462
  * Gets the mapping for an event.
@@ -2351,7 +2494,7 @@ declare function getMappingValue(value: DeepPartialEvent | unknown | undefined,
2351
2494
  * @param collector - Collector instance for context
2352
2495
  * @returns Object with transformed event, data, mapping rule, and ignore flag
2353
2496
  */
2354
- declare function processEventMapping<T extends DeepPartialEvent | Event>(event: T, config: Config$3, collector: Instance$4): Promise<{
2497
+ declare function processEventMapping<T extends DeepPartialEvent | Event>(event: T, config: Config$4, collector: Instance$5): Promise<{
2355
2498
  event: T;
2356
2499
  data?: Property;
2357
2500
  mapping?: Rule;
@@ -2430,7 +2573,7 @@ declare function traverseEnv<T extends object>(env: T, replacer: (value: unknown
2430
2573
  * Includes all logger methods as jest.fn() plus tracking of scoped loggers
2431
2574
  * Extends Instance to ensure type compatibility
2432
2575
  */
2433
- interface MockLogger extends Instance$2 {
2576
+ interface MockLogger extends Instance$3 {
2434
2577
  error: jest.Mock;
2435
2578
  warn: jest.Mock;
2436
2579
  info: jest.Mock;
@@ -2734,7 +2877,7 @@ declare function mergeContractSchemas(parent: Record<string, unknown>, child: Re
2734
2877
  */
2735
2878
  declare function resolveContract(setup: Contract, entity: string, action: string, config?: Contract): Record<string, unknown>;
2736
2879
 
2737
- declare function mcpResult(result: unknown): {
2880
+ declare function mcpResult(result: unknown, summary?: string): {
2738
2881
  content: {
2739
2882
  type: "text";
2740
2883
  text: string;
@@ -2749,4 +2892,11 @@ declare function mcpError(error: unknown): {
2749
2892
  isError: true;
2750
2893
  };
2751
2894
 
2752
- export { collector as Collector, Const, context as Context, data as Data, destination as Destination, ENV_MARKER_PREFIX, elb as Elb, flow as Flow, hooks as Hooks, Level, lifecycle as Lifecycle, logger as Logger, mapping as Mapping, type MarketingParameters, type MockLogger, on as On, request as Request, type ResolveOptions, type RespondFn, type RespondOptions, type SendDataValue, type SendHeaders, type SendResponse, simulation as Simulation, source as Source, type StorageType, transformer as Transformer, walkeros as WalkerOS, type WalkerOSPackageInfo, type WalkerOSPackageMeta, anonymizeIP, assign, branch, castToProperty, castValue, clone, createDestination, createEvent, createLogger, createMockLogger, createRespond, debounce, fetchPackageMeta, fetchPackageSchema, 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, mcpError, mcpResult, mergeContractSchemas, mockEnv, packageNameToVariable, parseUserAgent, processEventMapping, requestToData, requestToParameter, resolveContract, setByPath, throttle, throwError, transformData, traverseEnv, trim, tryCatch, tryCatchAsync, useHooks, wrapCondition, wrapFn, wrapValidate };
2895
+ /**
2896
+ * Compiles a match expression into a closure for fast runtime evaluation.
2897
+ * Regex patterns are compiled once. Numeric comparisons are parsed once.
2898
+ * Runtime evaluation is pure function calls with short-circuit logic.
2899
+ */
2900
+ declare function compileMatcher(expr: MatchExpression | '*'): CompiledMatcher;
2901
+
2902
+ export { collector as Collector, Const, context as Context, data as Data, destination as Destination, ENV_MARKER_PREFIX, elb as Elb, flow as Flow, hooks as Hooks, Level, lifecycle as Lifecycle, logger as Logger, mapping as Mapping, type MarketingParameters, matcher as Matcher, type MockLogger, on as On, request as Request, type ResolveOptions, type RespondFn, type RespondOptions, type SendDataValue, type SendHeaders, type SendResponse, simulation as Simulation, source as Source, type StorageType, store as Store, transformer as Transformer, walkeros as WalkerOS, type WalkerOSPackageInfo, type WalkerOSPackageMeta, anonymizeIP, assign, branch, castToProperty, castValue, clone, compileMatcher, createDestination, createEvent, createLogger, createMockLogger, createRespond, debounce, fetchPackageMeta, fetchPackageSchema, 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, mcpError, mcpResult, mergeContractSchemas, mockEnv, packageNameToVariable, parseUserAgent, processEventMapping, requestToData, requestToParameter, resolveContract, setByPath, throttle, throwError, transformData, traverseEnv, trim, tryCatch, tryCatchAsync, useHooks, wrapCondition, wrapFn, wrapValidate };