@context-action/core 0.9.2 → 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.d.ts CHANGED
@@ -14,33 +14,114 @@ interface ActionSchemaLike {
14
14
  };
15
15
  };
16
16
  }
17
+ type ActionNames<T extends ActionPayloadMap> = Extract<keyof T, string>;
18
+ type ActionResultMap<T extends ActionPayloadMap> = Partial<Record<ActionNames<T>, unknown>>;
19
+ type ActionResult<TResultMap extends ActionPayloadMap, K extends PropertyKey> = K extends keyof TResultMap ? TResultMap[K] : void;
17
20
  interface PipelineController<T = unknown, R = void> {
18
21
  readonly signal?: AbortSignal;
19
22
  abort(reason?: string): void;
20
23
  modifyPayload(modifier: (payload: T) => T): void;
21
24
  getPayload(): T;
22
25
  jumpToPriority(priority: number): void;
23
- return(result: R): void;
26
+ return(result: R): R;
24
27
  setResult(result: R): void;
25
28
  getResults(): R[];
26
29
  mergeResult(merger: (previousResults: R[], currentResult: R) => R): void;
27
30
  }
31
+ interface ActionEffectController<T = unknown> {
32
+ readonly signal?: AbortSignal;
33
+ getPayload(): T;
34
+ }
35
+ interface ActionGuardController<T = unknown> extends ActionEffectController<T> {
36
+ abort(reason?: string): void;
37
+ modifyPayload(modifier: (payload: T) => T): void;
38
+ }
39
+ interface ActionResultController<T = unknown, R = void> extends ActionEffectController<T> {
40
+ abort(reason?: string): void;
41
+ return(result: R): R;
42
+ setResult(result: R): void;
43
+ getResults(): readonly R[];
44
+ mergeResult(merger: (previousResults: readonly R[], currentResult: R) => R): void;
45
+ }
46
+ type HandlerRole = 'guard' | 'result' | 'observer' | 'legacy';
47
+ interface ActionObserverEvent<T = unknown, R = void> {
48
+ readonly action: string;
49
+ readonly payload: Readonly<T>;
50
+ readonly outcome: ExecutionResult<R>['outcome'];
51
+ readonly result: R | readonly R[] | undefined;
52
+ readonly errors: readonly HandlerError[];
53
+ readonly signal?: AbortSignal;
54
+ }
55
+ type ActionObserverHandler<T = unknown, R = void> = (event: ActionObserverEvent<T, R>) => void | Promise<void>;
56
+ interface ObserverConfig<T = unknown> extends Omit<HandlerConfig<T>, 'debounce' | 'throttle' | 'blocking' | 'errorPolicy'> {
57
+ when?: 'success' | 'failure' | 'always';
58
+ }
59
+ interface GuardConfig<T = unknown> extends Omit<HandlerConfig<T>, 'blocking' | 'scheduling' | 'errorPolicy' | 'debounce' | 'throttle' | 'when'> {}
60
+ interface EffectConfig<T = unknown> extends HandlerConfig<T> {
61
+ effectKind: 'guard' | 'observer';
62
+ }
28
63
  type ActionHandler<T = unknown, R = void> = (payload: T, controller: PipelineController<T, R>) => R | Promise<R> | void | Promise<void>;
64
+ type ActionEffectHandler<T = unknown> = (payload: T, controller: ActionEffectController<T>) => void | Promise<void>;
65
+ type ActionGuardHandler<T = unknown> = (payload: T, controller: ActionGuardController<T>) => void | Promise<void>;
66
+ type ActionResultHandler<T = unknown, R = void> = (payload: T, controller: ActionResultController<T, R>) => R | Promise<R>;
67
+ type HandlerScheduling = 'await-before-next' | 'start-and-continue';
68
+ type HandlerErrorPolicy = 'fatal' | 'collect';
29
69
  interface HandlerConfig<T = unknown> {
30
70
  priority?: number;
31
71
  id?: string;
32
72
  blocking?: boolean;
73
+ scheduling?: HandlerScheduling;
74
+ errorPolicy?: HandlerErrorPolicy;
33
75
  once?: boolean;
34
76
  debounce?: number;
35
77
  throttle?: number;
36
78
  replaceExisting?: boolean;
37
79
  cleanup?: () => void;
38
80
  condition?: (payload: T) => boolean;
81
+ metadata?: Record<string, unknown>;
82
+ when?: 'success' | 'failure' | 'always';
39
83
  }
84
+ interface ResolvedHandlerConfig<T = unknown> {
85
+ priority: number;
86
+ id: string;
87
+ blocking: boolean;
88
+ scheduling: HandlerScheduling;
89
+ errorPolicy: HandlerErrorPolicy;
90
+ once: boolean;
91
+ replaceExisting: boolean;
92
+ debounce?: number;
93
+ throttle?: number;
94
+ cleanup?: () => void;
95
+ condition?: (payload: T) => boolean;
96
+ metadata?: Record<string, unknown>;
97
+ }
98
+ declare function resolveHandlerConfig<T = unknown>(config: HandlerConfig<T> | undefined, handlerId: string): ResolvedHandlerConfig<T>;
40
99
  interface HandlerRegistration<T = unknown, R = void> {
41
100
  handler: ActionHandler<T, R>;
42
- config: Required<HandlerConfig<T>>;
101
+ config: ResolvedHandlerConfig<T>;
102
+ id: string;
103
+ role?: HandlerRole;
104
+ }
105
+ type HandlerExecutionStatus = 'running' | 'succeeded' | 'failed' | 'skipped' | 'cancelled';
106
+ interface HandlerExecutionOutcome<R = void> {
43
107
  id: string;
108
+ status: HandlerExecutionStatus;
109
+ executed: boolean;
110
+ duration: number | undefined;
111
+ result: R | undefined;
112
+ error: Error | undefined;
113
+ metadata: Record<string, unknown> | undefined;
114
+ terminationRequested?: boolean;
115
+ terminationResult?: R;
116
+ }
117
+ interface PipelineControllerState<T = unknown, R = void> {
118
+ payload: T;
119
+ aborted: boolean;
120
+ abortReason: string | undefined;
121
+ jumpToPriority: number | undefined;
122
+ terminated: boolean;
123
+ terminationResult: R | undefined;
124
+ results: R[];
44
125
  }
45
126
  type ExecutionMode = 'sequential' | 'parallel' | 'race';
46
127
  interface PipelineContext<T = unknown, R = void> {
@@ -48,7 +129,11 @@ interface PipelineContext<T = unknown, R = void> {
48
129
  payload: T;
49
130
  handlers: HandlerRegistration<T, R>[];
50
131
  executedHandlers?: HandlerRegistration<T, R>[];
132
+ handlerOutcomes?: HandlerExecutionOutcome<R>[];
133
+ raceWinnerId?: string;
134
+ raceLoserOutcomes?: HandlerExecutionOutcome<R>[];
51
135
  deferOnceCleanup?: boolean;
136
+ claimOnce?(registration: HandlerRegistration<T, R>): boolean;
52
137
  signal?: AbortSignal;
53
138
  trackHandlerPromise?<V>(promise: Promise<V>): Promise<V>;
54
139
  collectedErrors?: HandlerError[];
@@ -71,6 +156,7 @@ interface ActionRegisterConfig {
71
156
  defaultExecutionMode?: ExecutionMode;
72
157
  useConcurrencyQueue?: boolean;
73
158
  maxHandlersPerAction?: number;
159
+ maxJumps?: number;
74
160
  errorHandler?: (error: Error, context: unknown) => void | Promise<void>;
75
161
  schema?: Record<string, ActionSchemaLike>;
76
162
  validateOnDispatch?: boolean;
@@ -88,6 +174,7 @@ interface DispatchOptions {
88
174
  retryOnError?: {
89
175
  maxAttempts: number;
90
176
  delay: number;
177
+ attemptBarrier?: 'abort-and-drain' | 'abort-and-overlap';
91
178
  };
92
179
  autoAbort?: {
93
180
  enabled: boolean;
@@ -101,7 +188,7 @@ interface DispatchOptions {
101
188
  min?: number;
102
189
  max?: number;
103
190
  };
104
- custom?: (config: Required<HandlerConfig>) => boolean;
191
+ custom?: (config: Readonly<ResolvedHandlerConfig>) => boolean;
105
192
  };
106
193
  result?: {
107
194
  strategy?: 'first' | 'last' | 'all' | 'merge' | 'custom';
@@ -116,6 +203,7 @@ interface ExecutionResult<R = void> {
116
203
  aborted: boolean;
117
204
  abortReason: string | undefined;
118
205
  terminated: boolean;
206
+ outcome: 'completed' | 'completed_with_errors' | 'failed' | 'cancelled' | 'debounced' | 'throttled';
119
207
  validation?: {
120
208
  passed: boolean;
121
209
  errors: string[];
@@ -130,6 +218,17 @@ interface ExecutionResult<R = void> {
130
218
  }>;
131
219
  execution: {
132
220
  duration: number;
221
+ admissionDuration: number;
222
+ queueWaitDuration: number;
223
+ pipelineDuration: number;
224
+ retryDelayDuration?: number;
225
+ resultProcessingDuration?: number;
226
+ attempts?: Array<{
227
+ startTime: number;
228
+ endTime: number;
229
+ duration: number;
230
+ outcome: 'succeeded' | 'failed' | 'retried' | 'cancelled';
231
+ }>;
133
232
  handlersExecuted: number;
134
233
  handlersSkipped: number;
135
234
  handlersFailed: number;
@@ -139,11 +238,19 @@ interface ExecutionResult<R = void> {
139
238
  handlers: Array<{
140
239
  id: string;
141
240
  executed: boolean;
241
+ status: HandlerExecutionStatus;
142
242
  duration: number | undefined;
143
243
  result: R | undefined;
144
244
  error: Error | undefined;
145
245
  metadata: Record<string, unknown> | undefined;
146
246
  }>;
247
+ raceDiagnostics?: {
248
+ winnerId?: string;
249
+ winner?: HandlerExecutionOutcome<R>;
250
+ loserSnapshots: Array<HandlerExecutionOutcome<R>>;
251
+ pendingLosersAtReturn: number;
252
+ observedLoserFailures: number;
253
+ };
147
254
  errors: HandlerError[];
148
255
  }
149
256
  interface HandlerError {
@@ -153,13 +260,10 @@ interface HandlerError {
153
260
  severity: 'blocking' | 'non-blocking';
154
261
  }
155
262
  type UnregisterFunction = () => void;
156
- type VoidActions<T extends ActionPayloadMap> = { [K in keyof T]: T[K] extends undefined | undefined ? K : never; }[keyof T];
157
- type PayloadActions<T extends ActionPayloadMap> = { [K in keyof T]: T[K] extends undefined | undefined ? never : K; }[keyof T];
158
- interface ActionDispatcher<T extends ActionPayloadMap> {
159
- <K extends VoidActions<T>>(action: K, options?: DispatchOptions): Promise<void>;
160
- <K extends VoidActions<T>>(action: K, payload?: undefined, options?: DispatchOptions): Promise<void>;
161
- <K extends PayloadActions<T>>(action: K, payload: T[K], options?: DispatchOptions): Promise<void>;
162
- }
263
+ type DispatchArgs<P> = [P] extends [void] ? [payload?: undefined, options?: DispatchOptions] : [payload: P, options?: DispatchOptions];
264
+ type ReservedActionKey = 'then' | 'catch' | 'finally' | 'toJSON' | 'constructor' | '__proto__' | 'prototype';
265
+ type ProxyActionKey<T extends ActionPayloadMap> = Exclude<ActionNames<T>, ReservedActionKey>;
266
+ type ActionDispatcher<T extends ActionPayloadMap> = <K extends ActionNames<T>>(action: K, ...args: DispatchArgs<T[K]>) => Promise<void>;
163
267
  interface ActionRegistryInfo<T extends ActionPayloadMap> {
164
268
  name: string;
165
269
  totalActions: number;
@@ -183,8 +287,10 @@ interface ActionHandlerStats<T extends ActionPayloadMap> {
183
287
  }
184
288
  //#endregion
185
289
  //#region src/ActionRegister.d.ts
186
- declare class ActionRegister<T extends ActionPayloadMap = Record<string, unknown>> {
290
+ declare class ActionRegister<T extends ActionPayloadMap = Record<string, unknown>, TResultMap extends ActionResultMap<T> = {}> {
187
291
  private pipelines;
292
+ private readonly observerHandlers;
293
+ private readonly claimedOnceHandlers;
188
294
  private readonly actionGuard;
189
295
  private executionMode;
190
296
  private actionExecutionModes;
@@ -194,9 +300,9 @@ declare class ActionRegister<T extends ActionPayloadMap = Record<string, unknown
194
300
  private readonly registryConfig;
195
301
  private readonly isDebugMode;
196
302
  private readonly maxHandlersPerAction;
303
+ private readonly maxJumps;
197
304
  private dispatchQueue?;
198
305
  private handlerIdCounter;
199
- private controllerPool;
200
306
  private lifecycleState;
201
307
  private readonly lifecycleController;
202
308
  private readonly activeDispatches;
@@ -205,21 +311,37 @@ declare class ActionRegister<T extends ActionPayloadMap = Record<string, unknown
205
311
  private dispatchConstructionDepth;
206
312
  private _actionsProxy?;
207
313
  private _actionsWithResultProxy?;
314
+ private readonly actionDispatchers;
315
+ private readonly actionResultDispatchers;
208
316
  constructor(config?: ActionRegisterConfig);
209
- get actions(): { [K in keyof T]: T[K] extends void ? (payload?: undefined, options?: DispatchOptions) => Promise<void> : (payload: T[K], options?: DispatchOptions) => Promise<void>; };
210
- get actionsWithResult(): { [K in keyof T]: T[K] extends void ? (payload?: undefined, options?: DispatchOptions) => Promise<ExecutionResult<any>> : (payload: T[K], options?: DispatchOptions) => Promise<ExecutionResult<any>>; };
211
- register<K extends keyof T, R = void>(action: K, handler: ActionHandler<T[K], R>, config?: HandlerConfig<T[K]>): UnregisterFunction;
317
+ get actions(): { [K in ProxyActionKey<T>]: (...args: DispatchArgs<T[K]>) => Promise<void>; };
318
+ get actionsWithResult(): { [K in ProxyActionKey<T>]: (...args: DispatchArgs<T[K]>) => Promise<ExecutionResult<ActionResult<TResultMap, K>>>; };
319
+ register<K extends ActionNames<T> & keyof TResultMap>(action: K, handler: ActionResultHandler<T[K], ActionResult<TResultMap, K>>, config?: HandlerConfig<T[K]>): UnregisterFunction;
320
+ register<K extends Exclude<ActionNames<T>, keyof TResultMap>, R = void>(action: K, handler: ActionHandler<T[K], R>, config?: HandlerConfig<T[K]>): UnregisterFunction;
321
+ registerEffect<K extends ActionNames<T>>(action: K, handler: ActionGuardHandler<T[K]>, config: EffectConfig<T[K]> & {
322
+ effectKind: 'guard';
323
+ }): UnregisterFunction;
324
+ registerEffect<K extends ActionNames<T>>(action: K, handler: ActionEffectHandler<T[K]>, config: EffectConfig<T[K]> & {
325
+ effectKind: 'observer';
326
+ }): UnregisterFunction;
327
+ registerGuard<K extends ActionNames<T>>(action: K, handler: ActionGuardHandler<T[K]>, config?: GuardConfig<T[K]>): UnregisterFunction;
328
+ registerObserver<K extends ActionNames<T>, R = ActionResult<TResultMap, K>, H extends (event: ActionObserverEvent<T[K], R>) => unknown = ActionObserverHandler<T[K], R>>(action: K, handler: H & (ReturnType<H> extends void | Promise<void> ? unknown : never), config?: ObserverConfig<T[K]>): UnregisterFunction;
329
+ registerResult<K extends ActionNames<T> & keyof TResultMap>(action: K, handler: ActionResultHandler<T[K], ActionResult<TResultMap, K>>, config?: HandlerConfig<T[K]>): UnregisterFunction;
330
+ private registerWithRole;
212
331
  private log;
213
332
  private assertAcceptingWork;
333
+ private assertStringActionKey;
214
334
  private rejectedLifecyclePromise;
215
335
  private generateHandlerId;
216
336
  private createAbortSignal;
217
337
  private _performRegistrationSync;
218
- dispatch<K extends keyof T>(action: K, payload: T[K], options?: DispatchOptions): Promise<void>;
219
- dispatch<K extends keyof T>(action: K, payload?: undefined, options?: DispatchOptions): Promise<void>;
338
+ dispatch<K extends ActionNames<T>>(action: K, ...args: DispatchArgs<T[K]>): Promise<void>;
220
339
  private executeWithRetry;
221
340
  private trackDispatchPromise;
222
341
  private trackHandlerPromise;
342
+ private withAttemptSignal;
343
+ private shouldDrainBeforeRetry;
344
+ private drainAttemptHandlers;
223
345
  private trackGlobalHandlerPromise;
224
346
  private waitForRetry;
225
347
  private createTimeoutScope;
@@ -228,31 +350,43 @@ declare class ActionRegister<T extends ActionPayloadMap = Record<string, unknown
228
350
  private invokeErrorHandler;
229
351
  private validatePayload;
230
352
  private createAbortedExecutionResult;
231
- private _performDispatch;
232
- dispatchWithResult<K extends keyof T, R = void>(action: K, payload?: T[K], options?: DispatchOptions): Promise<ExecutionResult<R>>;
353
+ private resolveDispatchPlan;
354
+ private evaluateTimingGuards;
355
+ private getAttemptHandlers;
356
+ private getObservers;
357
+ private executeObservers;
358
+ private snapshotObserverEvent;
359
+ private safeSnapshotObserverEvent;
360
+ private executeGuardPhase;
361
+ private createGuardRejectedResult;
362
+ private createTimingGuardResult;
363
+ dispatchWithResult<K extends ActionNames<T> & keyof TResultMap>(action: K, ...args: DispatchArgs<T[K]>): Promise<ExecutionResult<ActionResult<TResultMap, K>>>;
364
+ dispatchWithResult<K extends Exclude<ActionNames<T>, keyof TResultMap>, R = void>(action: K, ...args: DispatchArgs<T[K]>): Promise<ExecutionResult<R>>;
233
365
  private _performDispatchWithResult;
234
- private applyActionGuardControlsWithResult;
235
- private getControllerFromPool;
366
+ private createController;
236
367
  private filterHandlers;
368
+ private validateResultOptions;
237
369
  private processResults;
238
370
  private executePipeline;
239
371
  private cleanupOneTimeHandlers;
240
- getHandlerCount<K extends keyof T>(action: K): number;
241
- hasHandlers<K extends keyof T>(action: K): boolean;
372
+ private claimOnceRegistration;
373
+ getHandlerCount<K extends ActionNames<T>>(action: K): number;
374
+ hasHandlers<K extends ActionNames<T>>(action: K): boolean;
242
375
  getRegisteredActions(): (keyof T)[];
243
- clearAction<K extends keyof T>(action: K): void;
376
+ clearAction<K extends ActionNames<T>>(action: K): void;
244
377
  clearAll(): void;
245
378
  getName(): string;
246
379
  getRegistryInfo(): ActionRegistryInfo<T>;
247
- getActionStats<K extends keyof T>(action: K): ActionHandlerStats<T> | null;
380
+ getActionStats<K extends ActionNames<T>>(action: K): ActionHandlerStats<T> | null;
248
381
  getAllActionStats(): Array<ActionHandlerStats<T>>;
249
382
  setExecutionMode(mode: ExecutionMode): void;
250
- setActionExecutionMode<K extends keyof T>(action: K, mode: ExecutionMode): void;
251
- getActionExecutionMode<K extends keyof T>(action: K): ExecutionMode;
252
- removeActionExecutionMode<K extends keyof T>(action: K): void;
383
+ setActionExecutionMode<K extends ActionNames<T>>(action: K, mode: ExecutionMode): void;
384
+ getActionExecutionMode<K extends ActionNames<T>>(action: K): ExecutionMode;
385
+ removeActionExecutionMode<K extends ActionNames<T>>(action: K): void;
253
386
  getRegistryConfig(): ActionRegisterConfig['registry'];
254
387
  isDebugEnabled(): boolean;
255
388
  private createUnregisterFunction;
389
+ private getUnregisterFunctions;
256
390
  private removeRegistration;
257
391
  private runRegistrationCleanup;
258
392
  getUnregisterFunctionCount(): number;
@@ -265,13 +399,16 @@ declare class ActionRegister<T extends ActionPayloadMap = Record<string, unknown
265
399
  }
266
400
  //#endregion
267
401
  //#region src/action-guard.d.ts
402
+ type TimerHandle = ReturnType<typeof setTimeout>;
268
403
  interface GuardState {
269
- lastExecuted: number;
270
- debounceTimer: NodeJS.Timeout | undefined;
271
- throttleTimer: NodeJS.Timeout | undefined;
404
+ lastThrottleExecutedAt: number;
405
+ lastDebounceSettledAt: number;
406
+ debounceTimer: TimerHandle | undefined;
407
+ throttleTimer: TimerHandle | undefined;
272
408
  isThrottled: boolean;
273
- debouncePromise: Promise<boolean> | undefined;
274
409
  debounceResolve: ((value: boolean) => void) | undefined;
410
+ debounceAbortCleanup: (() => void) | undefined;
411
+ debounceRequestId: number;
275
412
  }
276
413
  declare class ActionGuard {
277
414
  private guards;
@@ -279,17 +416,13 @@ declare class ActionGuard {
279
416
  private readonly autoCleanupEnabled;
280
417
  private readonly maxIdleTime;
281
418
  private readonly cleanupIntervalMs;
282
- private readonly maxGuards;
283
- private accessOrder;
284
419
  constructor(autoCleanup?: boolean);
285
420
  private ensureAutoCleanup;
286
421
  private startAutoCleanup;
287
422
  private stopAutoCleanup;
288
423
  private performCleanup;
289
- private updateAccessOrder;
290
- private evictIfNeeded;
291
- debounce(actionKey: string, debounceMs: number): Promise<boolean>;
292
- throttle(actionKey: string, throttleMs: number): boolean;
424
+ debounce(actionKey: string, debounceMs: number, signal?: AbortSignal): Promise<boolean>;
425
+ throttle(actionKey: string, throttleMs: number, signal?: AbortSignal): boolean;
293
426
  clearGuards(actionKey: string): void;
294
427
  clearAll(): void;
295
428
  getGuardState(actionKey: string): GuardState | undefined;
@@ -301,17 +434,22 @@ declare class ActionGuard {
301
434
  };
302
435
  }
303
436
  //#endregion
304
- //#region src/execution-modes.d.ts
305
- declare function executeSequential<T, R = void>(context: PipelineContext<T, R>, createController: (registration: HandlerRegistration<T, R>, index: number) => PipelineController<T, R>): Promise<void>;
306
- declare function executeParallel<T, R = void>(context: PipelineContext<T, R>, createController: (registration: HandlerRegistration<T, R>, index: number) => PipelineController<T, R>): Promise<void>;
307
- declare function executeRace<T, R = void>(context: PipelineContext<T, R>, createController: (registration: HandlerRegistration<T, R>, index: number) => PipelineController<T, R>): Promise<void>;
308
- //#endregion
309
437
  //#region src/errors.d.ts
310
438
  interface ZodIssueLike {
311
439
  message: string;
312
440
  path: readonly (string | number | symbol)[];
313
441
  code: string;
314
442
  }
443
+ declare class ActionResultProcessingError extends Error {
444
+ name: string;
445
+ constructor(message: string);
446
+ }
447
+ declare class ActionAttemptSupersededError extends Error {
448
+ readonly attempt: number;
449
+ name: string;
450
+ constructor(attempt: number);
451
+ }
452
+ declare function isActionResultProcessingError(error: unknown): error is ActionResultProcessingError;
315
453
  declare class ActionValidationError extends Error {
316
454
  name: string;
317
455
  readonly zodError: unknown;
@@ -345,5 +483,10 @@ declare function isActionValidationError(error: unknown): error is ActionValidat
345
483
  declare function isActionTimeoutError(error: unknown): error is ActionTimeoutError;
346
484
  declare function isActionRegisterDestroyedError(error: unknown): error is ActionRegisterDestroyedError;
347
485
  //#endregion
348
- export { type ActionDispatcher, ActionGuard, type ActionHandler, type ActionPayloadMap, ActionRegister, type ActionRegisterConfig, ActionRegisterDestroyedError, type ActionSchemaLike, ActionTimeoutError, ActionValidationError, type DispatchOptions, type ExecutionMode, type ExecutionResult, type HandlerConfig, type HandlerRegistration, type PipelineContext, type PipelineController, type UnregisterFunction, executeParallel, executeRace, executeSequential, isActionRegisterDestroyedError, isActionTimeoutError, isActionValidationError };
486
+ //#region src/execution-modes.d.ts
487
+ declare function executeSequential<T, R = void>(context: PipelineContext<T, R>, createController: (registration: HandlerRegistration<T, R>, index: number) => PipelineController<T, R>): Promise<void>;
488
+ declare function executeParallel<T, R = void>(context: PipelineContext<T, R>, createController: (registration: HandlerRegistration<T, R>, index: number, state: PipelineControllerState<T, R>) => PipelineController<T, R>): Promise<void>;
489
+ declare function executeRace<T, R = void>(context: PipelineContext<T, R>, createController: (registration: HandlerRegistration<T, R>, index: number, state: PipelineControllerState<T, R>) => PipelineController<T, R>): Promise<void>;
490
+ //#endregion
491
+ export { ActionAttemptSupersededError, type ActionDispatcher, type ActionEffectController, type ActionEffectHandler, ActionGuard, type ActionGuardController, type ActionGuardHandler, type ActionHandler, type ActionNames, type ActionObserverEvent, type ActionObserverHandler, type ActionPayloadMap, ActionRegister, type ActionRegisterConfig, ActionRegisterDestroyedError, type ActionResult, type ActionResultController, type ActionResultHandler, type ActionResultMap, ActionResultProcessingError, type ActionSchemaLike, ActionTimeoutError, ActionValidationError, type DispatchArgs, type DispatchOptions, type EffectConfig, type ExecutionMode, type ExecutionResult, type GuardConfig, type HandlerConfig, type HandlerErrorPolicy, type HandlerRegistration, type HandlerRole, type HandlerScheduling, type ObserverConfig, type PipelineContext, type PipelineController, type ProxyActionKey, type ReservedActionKey, type ResolvedHandlerConfig, type UnregisterFunction, executeParallel, executeRace, executeSequential, isActionRegisterDestroyedError, isActionResultProcessingError, isActionTimeoutError, isActionValidationError, resolveHandlerConfig };
349
492
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","names":[],"sources":["../src/types.ts","../src/ActionRegister.ts","../src/action-guard.ts","../src/execution-modes.ts","../src/errors.ts"],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","names":[],"sources":["../src/types.ts","../src/ActionRegister.ts","../src/action-guard.ts","../src/errors.ts","../src/execution-modes.ts"],"mappings":"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"}