@context-action/core 0.8.4 → 0.8.8

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.cts CHANGED
@@ -1,8 +1,97 @@
1
- //#region src/types.d.ts
2
- interface ActionPayloadMap {
3
- [actionName: string]: unknown;
1
+ import { ZodObject, ZodRawShape, ZodType, z } from "zod";
2
+ //#region src/json-schema.d.ts
3
+ type JSONSchemaType = 'string' | 'number' | 'integer' | 'boolean' | 'array' | 'object' | 'null';
4
+ interface JSONSchema {
5
+ type?: JSONSchemaType | JSONSchemaType[];
6
+ title?: string;
7
+ description?: string;
8
+ default?: unknown;
9
+ examples?: unknown[];
10
+ minLength?: number;
11
+ maxLength?: number;
12
+ pattern?: string;
13
+ format?: string;
14
+ minimum?: number;
15
+ maximum?: number;
16
+ exclusiveMinimum?: number;
17
+ exclusiveMaximum?: number;
18
+ multipleOf?: number;
19
+ items?: JSONSchema;
20
+ minItems?: number;
21
+ maxItems?: number;
22
+ uniqueItems?: boolean;
23
+ properties?: Record<string, JSONSchema>;
24
+ required?: string[];
25
+ additionalProperties?: boolean | JSONSchema;
26
+ enum?: unknown[];
27
+ const?: unknown;
28
+ allOf?: JSONSchema[];
29
+ anyOf?: JSONSchema[];
30
+ oneOf?: JSONSchema[];
31
+ not?: JSONSchema;
32
+ $ref?: string;
33
+ $defs?: Record<string, JSONSchema>;
34
+ [key: string]: unknown;
35
+ }
36
+ interface MCPToolDefinition {
37
+ name: string;
38
+ description?: string;
39
+ inputSchema: JSONSchema;
40
+ outputSchema?: JSONSchema;
41
+ }
42
+ interface OpenAIToolDefinition {
43
+ type: 'function';
44
+ function: {
45
+ name: string;
46
+ description?: string;
47
+ parameters: JSONSchema;
48
+ };
49
+ }
50
+ interface AnthropicToolDefinition {
51
+ name: string;
52
+ description?: string;
53
+ input_schema: JSONSchema;
4
54
  }
55
+ //#endregion
56
+ //#region src/action-schema.d.ts
57
+ type ZodTypeAny = ZodType;
58
+ type SafeParseResult<T> = {
59
+ success: true;
60
+ data: T;
61
+ } | {
62
+ success: false;
63
+ error: z.ZodError;
64
+ };
65
+ interface DefineActionOptions<TSchema extends ZodRawShape> {
66
+ name: string;
67
+ description?: string;
68
+ parameters: ZodObject<TSchema>;
69
+ }
70
+ interface UnifiedAction<TPayload = unknown> {
71
+ readonly name: string;
72
+ readonly description?: string;
73
+ readonly zodSchema: ZodObject<ZodRawShape>;
74
+ readonly jsonSchema: JSONSchema;
75
+ validate: (payload: unknown) => TPayload;
76
+ safeParse: (payload: unknown) => SafeParseResult<TPayload>;
77
+ toJSONSchema: () => JSONSchema;
78
+ toMCP: () => MCPToolDefinition;
79
+ toOpenAI: () => OpenAIToolDefinition;
80
+ toAnthropic: () => AnthropicToolDefinition;
81
+ }
82
+ interface ActionSchemaMap {
83
+ [actionName: string]: UnifiedAction;
84
+ }
85
+ type InferActionPayloadMap<T extends ActionSchemaMap> = { [K in keyof T]: T[K] extends UnifiedAction<infer P> ? P : never; };
86
+ declare function zodToJsonSchema(schema: ZodTypeAny, zodModule: typeof z): JSONSchema;
87
+ declare function defineAction<TSchema extends ZodRawShape>(options: DefineActionOptions<TSchema>, zodModule: typeof z): UnifiedAction<z.infer<ZodObject<TSchema>>>;
88
+ declare function createActionSchema<T extends Record<string, UnifiedAction>>(actions: T): T & ActionSchemaMap;
89
+ declare function createActionFactory(zodModule: typeof z): <TSchema extends ZodRawShape>(options: DefineActionOptions<TSchema>) => UnifiedAction<z.infer<ZodObject<TSchema>>>;
90
+ //#endregion
91
+ //#region src/types.d.ts
92
+ type ActionPayloadMap = object;
5
93
  interface PipelineController<T = any, R = void> {
94
+ readonly signal?: AbortSignal;
6
95
  abort(reason?: string): void;
7
96
  modifyPayload(modifier: (payload: T) => T): void;
8
97
  getPayload(): T;
@@ -13,7 +102,7 @@ interface PipelineController<T = any, R = void> {
13
102
  mergeResult(merger: (previousResults: R[], currentResult: R) => R): void;
14
103
  }
15
104
  type ActionHandler<T = any, R = void> = (payload: T, controller: PipelineController<T, R>) => R | Promise<R> | void | Promise<void>;
16
- interface HandlerConfig {
105
+ interface HandlerConfig<T = unknown> {
17
106
  priority?: number;
18
107
  id?: string;
19
108
  blocking?: boolean;
@@ -22,11 +111,11 @@ interface HandlerConfig {
22
111
  throttle?: number;
23
112
  replaceExisting?: boolean;
24
113
  cleanup?: () => void;
25
- condition?: <P>(payload: P) => boolean;
114
+ condition?: (payload: T) => boolean;
26
115
  }
27
116
  interface HandlerRegistration<T = any, R = void> {
28
117
  handler: ActionHandler<T, R>;
29
- config: Required<HandlerConfig>;
118
+ config: Required<HandlerConfig<T>>;
30
119
  id: string;
31
120
  }
32
121
  type ExecutionMode = 'sequential' | 'parallel' | 'race';
@@ -34,6 +123,10 @@ interface PipelineContext<T = any, R = void> {
34
123
  action: string;
35
124
  payload: T;
36
125
  handlers: HandlerRegistration<T, R>[];
126
+ executedHandlers?: HandlerRegistration<T, R>[];
127
+ deferOnceCleanup?: boolean;
128
+ signal?: AbortSignal;
129
+ trackHandlerPromise?<V>(promise: Promise<V>): Promise<V>;
37
130
  aborted: boolean;
38
131
  abortReason: string | undefined;
39
132
  currentIndex: number;
@@ -53,7 +146,10 @@ interface ActionRegisterConfig {
53
146
  defaultExecutionMode?: ExecutionMode;
54
147
  useConcurrencyQueue?: boolean;
55
148
  maxHandlersPerAction?: number;
56
- errorHandler?: (error: Error, context: unknown) => void;
149
+ errorHandler?: (error: Error, context: unknown) => void | Promise<void>;
150
+ schema?: ActionSchemaMap;
151
+ validateOnDispatch?: boolean;
152
+ validationMode?: 'strict' | 'warn' | 'silent';
57
153
  };
58
154
  }
59
155
  interface DispatchOptions {
@@ -95,6 +191,10 @@ interface ExecutionResult<R = void> {
95
191
  aborted: boolean;
96
192
  abortReason: string | undefined;
97
193
  terminated: boolean;
194
+ validation?: {
195
+ passed: boolean;
196
+ errors: string[];
197
+ };
98
198
  result: R | R[] | undefined;
99
199
  successResults: R[];
100
200
  results: Array<R | undefined>;
@@ -128,8 +228,8 @@ interface HandlerError {
128
228
  severity: 'blocking' | 'non-blocking';
129
229
  }
130
230
  type UnregisterFunction = () => void;
131
- type VoidActions<T extends ActionPayloadMap> = { [K in keyof T]: T[K] extends void | undefined ? K : never }[keyof T];
132
- type PayloadActions<T extends ActionPayloadMap> = { [K in keyof T]: T[K] extends void | undefined ? never : K }[keyof T];
231
+ type VoidActions<T extends ActionPayloadMap> = { [K in keyof T]: T[K] extends void | undefined ? K : never; }[keyof T];
232
+ type PayloadActions<T extends ActionPayloadMap> = { [K in keyof T]: T[K] extends void | undefined ? never : K; }[keyof T];
133
233
  interface ActionDispatcher<T extends ActionPayloadMap> {
134
234
  <K extends VoidActions<T>>(action: K, options?: DispatchOptions): Promise<void>;
135
235
  <K extends VoidActions<T>>(action: K, payload?: undefined, options?: DispatchOptions): Promise<void>;
@@ -158,7 +258,7 @@ interface ActionHandlerStats<T extends ActionPayloadMap> {
158
258
  }
159
259
  //#endregion
160
260
  //#region src/ActionRegister.d.ts
161
- declare class ActionRegister<T extends ActionPayloadMap = ActionPayloadMap> {
261
+ declare class ActionRegister<T extends ActionPayloadMap = Record<string, unknown>> {
162
262
  private pipelines;
163
263
  private readonly actionGuard;
164
264
  private executionMode;
@@ -174,20 +274,40 @@ declare class ActionRegister<T extends ActionPayloadMap = ActionPayloadMap> {
174
274
  private handlerIdCounter;
175
275
  private controllerPool;
176
276
  private readonly maxControllerPoolSize;
277
+ private lifecycleState;
278
+ private readonly lifecycleController;
279
+ private readonly activeDispatches;
280
+ private readonly activeHandlerPromises;
281
+ private destroyAsyncPromise;
282
+ private dispatchConstructionDepth;
177
283
  private _actionsProxy?;
178
284
  private _actionsWithResultProxy?;
179
285
  constructor(config?: ActionRegisterConfig);
180
- get actions(): { [K in keyof T]: T[K] extends void ? (options?: DispatchOptions) => Promise<void> : (payload: T[K], options?: DispatchOptions) => Promise<void> };
181
- get actionsWithResult(): { [K in keyof T]: T[K] extends void ? (options?: DispatchOptions) => Promise<ExecutionResult<any>> : (payload: T[K], options?: DispatchOptions) => Promise<ExecutionResult<any>> };
182
- register<K extends keyof T, R = void>(action: K, handler: ActionHandler<T[K], R>, config?: HandlerConfig): UnregisterFunction;
286
+ get actions(): { [K in keyof T]: T[K] extends void ? (payloadOrOptions?: undefined | DispatchOptions, options?: DispatchOptions) => Promise<void> : (payload: T[K], options?: DispatchOptions) => Promise<void>; };
287
+ get actionsWithResult(): { [K in keyof T]: T[K] extends void ? (payloadOrOptions?: undefined | DispatchOptions, options?: DispatchOptions) => Promise<ExecutionResult<any>> : (payload: T[K], options?: DispatchOptions) => Promise<ExecutionResult<any>>; };
288
+ register<K extends keyof T, R = void>(action: K, handler: ActionHandler<T[K], R>, config?: HandlerConfig<T[K]>): UnregisterFunction;
183
289
  private log;
290
+ private assertAcceptingWork;
291
+ private rejectedLifecyclePromise;
184
292
  private generateHandlerId;
185
293
  private createAbortSignal;
186
294
  private _performRegistrationSync;
187
295
  dispatch<K extends keyof T>(action: K, payload: T[K], options?: DispatchOptions): Promise<void>;
188
296
  dispatch<K extends keyof T>(action: K, payload?: undefined, options?: DispatchOptions): Promise<void>;
297
+ private executeWithRetry;
298
+ private trackDispatchPromise;
299
+ private trackHandlerPromise;
300
+ private trackGlobalHandlerPromise;
301
+ private waitForRetry;
302
+ private createTimeoutScope;
303
+ private raceWithTimeout;
304
+ private cleanupSignalsAfterStartedHandlers;
305
+ private invokeErrorHandler;
306
+ private validatePayload;
307
+ private createAbortedExecutionResult;
189
308
  private _performDispatch;
190
309
  dispatchWithResult<K extends keyof T, R = void>(action: K, payload?: T[K], options?: DispatchOptions): Promise<ExecutionResult<R>>;
310
+ private _performDispatchWithResult;
191
311
  private applyActionGuardControlsWithResult;
192
312
  private generateFilterCacheKey;
193
313
  private getControllerFromPool;
@@ -212,9 +332,15 @@ declare class ActionRegister<T extends ActionPayloadMap = ActionPayloadMap> {
212
332
  getRegistryConfig(): ActionRegisterConfig['registry'];
213
333
  isDebugEnabled(): boolean;
214
334
  private createUnregisterFunction;
335
+ private removeRegistration;
336
+ private runRegistrationCleanup;
215
337
  getUnregisterFunctionCount(): number;
216
338
  hasUnregisterFunction(handlerId: string): boolean;
339
+ cancelPendingDispatches(): void;
340
+ private beginShutdown;
341
+ private finalizeDestroy;
217
342
  destroy(): void;
343
+ destroyAsync(): Promise<void>;
218
344
  }
219
345
  //#endregion
220
346
  //#region src/action-guard.d.ts
@@ -229,12 +355,15 @@ interface GuardState {
229
355
  declare class ActionGuard {
230
356
  private guards;
231
357
  private cleanupInterval;
358
+ private readonly autoCleanupEnabled;
232
359
  private readonly maxIdleTime;
233
360
  private readonly cleanupIntervalMs;
234
361
  private readonly maxGuards;
235
362
  private accessOrder;
236
363
  constructor(autoCleanup?: boolean);
364
+ private ensureAutoCleanup;
237
365
  private startAutoCleanup;
366
+ private stopAutoCleanup;
238
367
  private performCleanup;
239
368
  private updateAccessOrder;
240
369
  private evictIfNeeded;
@@ -257,11 +386,11 @@ declare function executeParallel<T, R = void>(context: PipelineContext<T, R>, cr
257
386
  declare function executeRace<T, R = void>(context: PipelineContext<T, R>, createController: (registration: HandlerRegistration<T, R>, index: number) => PipelineController<T, R>): Promise<void>;
258
387
  //#endregion
259
388
  //#region src/react-helpers.d.ts
260
- declare function createActionHandler<T extends ActionPayloadMap, K extends keyof T>(registry: ActionRegister<T>, action: K, handler: ActionHandler<T[K]>, config?: HandlerConfig): {
389
+ declare function createActionHandler<T extends ActionPayloadMap, K extends keyof T>(registry: ActionRegister<T>, action: K, handler: ActionHandler<T[K]>, config?: HandlerConfig<T[K]>): {
261
390
  register: () => UnregisterFunction;
262
391
  unregister: () => void;
263
392
  registerWithCleanup: () => () => void;
264
- config: Required<HandlerConfig>;
393
+ config: Required<HandlerConfig<T[K]>>;
265
394
  };
266
395
  declare const ReactDevUtils: {
267
396
  enableDebugMode(): void;
@@ -284,5 +413,44 @@ declare class ReactActionError extends Error {
284
413
  }
285
414
  declare function isReactActionError(error: any): error is ReactActionError;
286
415
  //#endregion
287
- export { type ActionDispatcher, ActionGuard, type ActionHandler, type ActionPayloadMap, ActionRegister, type ActionRegisterConfig, type DispatchOptions, type ExecutionMode, type ExecutionResult, type HandlerConfig, type HandlerRegistration, type PipelineContext, type PipelineController, ReactActionError, ReactDevUtils, type UnregisterFunction, createActionHandler, executeParallel, executeRace, executeSequential, isReactActionError };
416
+ //#region src/errors.d.ts
417
+ interface ZodIssueLike {
418
+ message: string;
419
+ path: readonly (string | number | symbol)[];
420
+ code: string;
421
+ }
422
+ declare class ActionValidationError extends Error {
423
+ name: string;
424
+ readonly zodError: unknown;
425
+ constructor(action: string, zodError: unknown);
426
+ readonly action: string;
427
+ get issues(): readonly ZodIssueLike[];
428
+ get formattedErrors(): unknown;
429
+ get flattenedErrors(): unknown;
430
+ get firstError(): string | undefined;
431
+ get errorPaths(): string[];
432
+ toJSON(): {
433
+ name: string;
434
+ action: string;
435
+ message: string;
436
+ issues: readonly ZodIssueLike[];
437
+ };
438
+ }
439
+ declare class ActionTimeoutError extends Error {
440
+ readonly action: string;
441
+ readonly timeout: number;
442
+ name: string;
443
+ constructor(action: string, timeout: number);
444
+ }
445
+ declare class ActionRegisterDestroyedError extends Error {
446
+ readonly registerName: string;
447
+ readonly state: 'closing' | 'destroyed';
448
+ name: string;
449
+ constructor(registerName: string, state: 'closing' | 'destroyed');
450
+ }
451
+ declare function isActionValidationError(error: unknown): error is ActionValidationError;
452
+ declare function isActionTimeoutError(error: unknown): error is ActionTimeoutError;
453
+ declare function isActionRegisterDestroyedError(error: unknown): error is ActionRegisterDestroyedError;
454
+ //#endregion
455
+ export { type ActionDispatcher, ActionGuard, type ActionHandler, type ActionPayloadMap, ActionRegister, type ActionRegisterConfig, ActionRegisterDestroyedError, type ActionSchemaMap, ActionTimeoutError, ActionValidationError, type AnthropicToolDefinition, type DefineActionOptions, type DispatchOptions, type ExecutionMode, type ExecutionResult, type HandlerConfig, type HandlerRegistration, type InferActionPayloadMap, type JSONSchema, type JSONSchemaType, type MCPToolDefinition, type OpenAIToolDefinition, type PipelineContext, type PipelineController, ReactActionError, ReactDevUtils, type SafeParseResult, type UnifiedAction, type UnregisterFunction, createActionFactory, createActionHandler, createActionSchema, defineAction, executeParallel, executeRace, executeSequential, isActionRegisterDestroyedError, isActionTimeoutError, isActionValidationError, isReactActionError, zodToJsonSchema };
288
456
  //# sourceMappingURL=index.d.cts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.cts","names":[],"sources":["../src/types.ts","../src/ActionRegister.ts","../src/action-guard.ts","../src/execution-modes.ts","../src/react-helpers.ts"],"sourcesContent":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.cts","names":[],"sources":["../src/json-schema.ts","../src/action-schema.ts","../src/types.ts","../src/ActionRegister.ts","../src/action-guard.ts","../src/execution-modes.ts","../src/react-helpers.ts","../src/errors.ts"],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -1,8 +1,97 @@
1
- //#region src/types.d.ts
2
- interface ActionPayloadMap {
3
- [actionName: string]: unknown;
1
+ import { ZodObject, ZodRawShape, ZodType, z } from "zod";
2
+ //#region src/json-schema.d.ts
3
+ type JSONSchemaType = 'string' | 'number' | 'integer' | 'boolean' | 'array' | 'object' | 'null';
4
+ interface JSONSchema {
5
+ type?: JSONSchemaType | JSONSchemaType[];
6
+ title?: string;
7
+ description?: string;
8
+ default?: unknown;
9
+ examples?: unknown[];
10
+ minLength?: number;
11
+ maxLength?: number;
12
+ pattern?: string;
13
+ format?: string;
14
+ minimum?: number;
15
+ maximum?: number;
16
+ exclusiveMinimum?: number;
17
+ exclusiveMaximum?: number;
18
+ multipleOf?: number;
19
+ items?: JSONSchema;
20
+ minItems?: number;
21
+ maxItems?: number;
22
+ uniqueItems?: boolean;
23
+ properties?: Record<string, JSONSchema>;
24
+ required?: string[];
25
+ additionalProperties?: boolean | JSONSchema;
26
+ enum?: unknown[];
27
+ const?: unknown;
28
+ allOf?: JSONSchema[];
29
+ anyOf?: JSONSchema[];
30
+ oneOf?: JSONSchema[];
31
+ not?: JSONSchema;
32
+ $ref?: string;
33
+ $defs?: Record<string, JSONSchema>;
34
+ [key: string]: unknown;
35
+ }
36
+ interface MCPToolDefinition {
37
+ name: string;
38
+ description?: string;
39
+ inputSchema: JSONSchema;
40
+ outputSchema?: JSONSchema;
41
+ }
42
+ interface OpenAIToolDefinition {
43
+ type: 'function';
44
+ function: {
45
+ name: string;
46
+ description?: string;
47
+ parameters: JSONSchema;
48
+ };
49
+ }
50
+ interface AnthropicToolDefinition {
51
+ name: string;
52
+ description?: string;
53
+ input_schema: JSONSchema;
4
54
  }
55
+ //#endregion
56
+ //#region src/action-schema.d.ts
57
+ type ZodTypeAny = ZodType;
58
+ type SafeParseResult<T> = {
59
+ success: true;
60
+ data: T;
61
+ } | {
62
+ success: false;
63
+ error: z.ZodError;
64
+ };
65
+ interface DefineActionOptions<TSchema extends ZodRawShape> {
66
+ name: string;
67
+ description?: string;
68
+ parameters: ZodObject<TSchema>;
69
+ }
70
+ interface UnifiedAction<TPayload = unknown> {
71
+ readonly name: string;
72
+ readonly description?: string;
73
+ readonly zodSchema: ZodObject<ZodRawShape>;
74
+ readonly jsonSchema: JSONSchema;
75
+ validate: (payload: unknown) => TPayload;
76
+ safeParse: (payload: unknown) => SafeParseResult<TPayload>;
77
+ toJSONSchema: () => JSONSchema;
78
+ toMCP: () => MCPToolDefinition;
79
+ toOpenAI: () => OpenAIToolDefinition;
80
+ toAnthropic: () => AnthropicToolDefinition;
81
+ }
82
+ interface ActionSchemaMap {
83
+ [actionName: string]: UnifiedAction;
84
+ }
85
+ type InferActionPayloadMap<T extends ActionSchemaMap> = { [K in keyof T]: T[K] extends UnifiedAction<infer P> ? P : never; };
86
+ declare function zodToJsonSchema(schema: ZodTypeAny, zodModule: typeof z): JSONSchema;
87
+ declare function defineAction<TSchema extends ZodRawShape>(options: DefineActionOptions<TSchema>, zodModule: typeof z): UnifiedAction<z.infer<ZodObject<TSchema>>>;
88
+ declare function createActionSchema<T extends Record<string, UnifiedAction>>(actions: T): T & ActionSchemaMap;
89
+ declare function createActionFactory(zodModule: typeof z): <TSchema extends ZodRawShape>(options: DefineActionOptions<TSchema>) => UnifiedAction<z.infer<ZodObject<TSchema>>>;
90
+ //#endregion
91
+ //#region src/types.d.ts
92
+ type ActionPayloadMap = object;
5
93
  interface PipelineController<T = any, R = void> {
94
+ readonly signal?: AbortSignal;
6
95
  abort(reason?: string): void;
7
96
  modifyPayload(modifier: (payload: T) => T): void;
8
97
  getPayload(): T;
@@ -13,7 +102,7 @@ interface PipelineController<T = any, R = void> {
13
102
  mergeResult(merger: (previousResults: R[], currentResult: R) => R): void;
14
103
  }
15
104
  type ActionHandler<T = any, R = void> = (payload: T, controller: PipelineController<T, R>) => R | Promise<R> | void | Promise<void>;
16
- interface HandlerConfig {
105
+ interface HandlerConfig<T = unknown> {
17
106
  priority?: number;
18
107
  id?: string;
19
108
  blocking?: boolean;
@@ -22,11 +111,11 @@ interface HandlerConfig {
22
111
  throttle?: number;
23
112
  replaceExisting?: boolean;
24
113
  cleanup?: () => void;
25
- condition?: <P>(payload: P) => boolean;
114
+ condition?: (payload: T) => boolean;
26
115
  }
27
116
  interface HandlerRegistration<T = any, R = void> {
28
117
  handler: ActionHandler<T, R>;
29
- config: Required<HandlerConfig>;
118
+ config: Required<HandlerConfig<T>>;
30
119
  id: string;
31
120
  }
32
121
  type ExecutionMode = 'sequential' | 'parallel' | 'race';
@@ -34,6 +123,10 @@ interface PipelineContext<T = any, R = void> {
34
123
  action: string;
35
124
  payload: T;
36
125
  handlers: HandlerRegistration<T, R>[];
126
+ executedHandlers?: HandlerRegistration<T, R>[];
127
+ deferOnceCleanup?: boolean;
128
+ signal?: AbortSignal;
129
+ trackHandlerPromise?<V>(promise: Promise<V>): Promise<V>;
37
130
  aborted: boolean;
38
131
  abortReason: string | undefined;
39
132
  currentIndex: number;
@@ -53,7 +146,10 @@ interface ActionRegisterConfig {
53
146
  defaultExecutionMode?: ExecutionMode;
54
147
  useConcurrencyQueue?: boolean;
55
148
  maxHandlersPerAction?: number;
56
- errorHandler?: (error: Error, context: unknown) => void;
149
+ errorHandler?: (error: Error, context: unknown) => void | Promise<void>;
150
+ schema?: ActionSchemaMap;
151
+ validateOnDispatch?: boolean;
152
+ validationMode?: 'strict' | 'warn' | 'silent';
57
153
  };
58
154
  }
59
155
  interface DispatchOptions {
@@ -95,6 +191,10 @@ interface ExecutionResult<R = void> {
95
191
  aborted: boolean;
96
192
  abortReason: string | undefined;
97
193
  terminated: boolean;
194
+ validation?: {
195
+ passed: boolean;
196
+ errors: string[];
197
+ };
98
198
  result: R | R[] | undefined;
99
199
  successResults: R[];
100
200
  results: Array<R | undefined>;
@@ -128,8 +228,8 @@ interface HandlerError {
128
228
  severity: 'blocking' | 'non-blocking';
129
229
  }
130
230
  type UnregisterFunction = () => void;
131
- type VoidActions<T extends ActionPayloadMap> = { [K in keyof T]: T[K] extends void | undefined ? K : never }[keyof T];
132
- type PayloadActions<T extends ActionPayloadMap> = { [K in keyof T]: T[K] extends void | undefined ? never : K }[keyof T];
231
+ type VoidActions<T extends ActionPayloadMap> = { [K in keyof T]: T[K] extends void | undefined ? K : never; }[keyof T];
232
+ type PayloadActions<T extends ActionPayloadMap> = { [K in keyof T]: T[K] extends void | undefined ? never : K; }[keyof T];
133
233
  interface ActionDispatcher<T extends ActionPayloadMap> {
134
234
  <K extends VoidActions<T>>(action: K, options?: DispatchOptions): Promise<void>;
135
235
  <K extends VoidActions<T>>(action: K, payload?: undefined, options?: DispatchOptions): Promise<void>;
@@ -158,7 +258,7 @@ interface ActionHandlerStats<T extends ActionPayloadMap> {
158
258
  }
159
259
  //#endregion
160
260
  //#region src/ActionRegister.d.ts
161
- declare class ActionRegister<T extends ActionPayloadMap = ActionPayloadMap> {
261
+ declare class ActionRegister<T extends ActionPayloadMap = Record<string, unknown>> {
162
262
  private pipelines;
163
263
  private readonly actionGuard;
164
264
  private executionMode;
@@ -174,20 +274,40 @@ declare class ActionRegister<T extends ActionPayloadMap = ActionPayloadMap> {
174
274
  private handlerIdCounter;
175
275
  private controllerPool;
176
276
  private readonly maxControllerPoolSize;
277
+ private lifecycleState;
278
+ private readonly lifecycleController;
279
+ private readonly activeDispatches;
280
+ private readonly activeHandlerPromises;
281
+ private destroyAsyncPromise;
282
+ private dispatchConstructionDepth;
177
283
  private _actionsProxy?;
178
284
  private _actionsWithResultProxy?;
179
285
  constructor(config?: ActionRegisterConfig);
180
- get actions(): { [K in keyof T]: T[K] extends void ? (options?: DispatchOptions) => Promise<void> : (payload: T[K], options?: DispatchOptions) => Promise<void> };
181
- get actionsWithResult(): { [K in keyof T]: T[K] extends void ? (options?: DispatchOptions) => Promise<ExecutionResult<any>> : (payload: T[K], options?: DispatchOptions) => Promise<ExecutionResult<any>> };
182
- register<K extends keyof T, R = void>(action: K, handler: ActionHandler<T[K], R>, config?: HandlerConfig): UnregisterFunction;
286
+ get actions(): { [K in keyof T]: T[K] extends void ? (payloadOrOptions?: undefined | DispatchOptions, options?: DispatchOptions) => Promise<void> : (payload: T[K], options?: DispatchOptions) => Promise<void>; };
287
+ get actionsWithResult(): { [K in keyof T]: T[K] extends void ? (payloadOrOptions?: undefined | DispatchOptions, options?: DispatchOptions) => Promise<ExecutionResult<any>> : (payload: T[K], options?: DispatchOptions) => Promise<ExecutionResult<any>>; };
288
+ register<K extends keyof T, R = void>(action: K, handler: ActionHandler<T[K], R>, config?: HandlerConfig<T[K]>): UnregisterFunction;
183
289
  private log;
290
+ private assertAcceptingWork;
291
+ private rejectedLifecyclePromise;
184
292
  private generateHandlerId;
185
293
  private createAbortSignal;
186
294
  private _performRegistrationSync;
187
295
  dispatch<K extends keyof T>(action: K, payload: T[K], options?: DispatchOptions): Promise<void>;
188
296
  dispatch<K extends keyof T>(action: K, payload?: undefined, options?: DispatchOptions): Promise<void>;
297
+ private executeWithRetry;
298
+ private trackDispatchPromise;
299
+ private trackHandlerPromise;
300
+ private trackGlobalHandlerPromise;
301
+ private waitForRetry;
302
+ private createTimeoutScope;
303
+ private raceWithTimeout;
304
+ private cleanupSignalsAfterStartedHandlers;
305
+ private invokeErrorHandler;
306
+ private validatePayload;
307
+ private createAbortedExecutionResult;
189
308
  private _performDispatch;
190
309
  dispatchWithResult<K extends keyof T, R = void>(action: K, payload?: T[K], options?: DispatchOptions): Promise<ExecutionResult<R>>;
310
+ private _performDispatchWithResult;
191
311
  private applyActionGuardControlsWithResult;
192
312
  private generateFilterCacheKey;
193
313
  private getControllerFromPool;
@@ -212,9 +332,15 @@ declare class ActionRegister<T extends ActionPayloadMap = ActionPayloadMap> {
212
332
  getRegistryConfig(): ActionRegisterConfig['registry'];
213
333
  isDebugEnabled(): boolean;
214
334
  private createUnregisterFunction;
335
+ private removeRegistration;
336
+ private runRegistrationCleanup;
215
337
  getUnregisterFunctionCount(): number;
216
338
  hasUnregisterFunction(handlerId: string): boolean;
339
+ cancelPendingDispatches(): void;
340
+ private beginShutdown;
341
+ private finalizeDestroy;
217
342
  destroy(): void;
343
+ destroyAsync(): Promise<void>;
218
344
  }
219
345
  //#endregion
220
346
  //#region src/action-guard.d.ts
@@ -229,12 +355,15 @@ interface GuardState {
229
355
  declare class ActionGuard {
230
356
  private guards;
231
357
  private cleanupInterval;
358
+ private readonly autoCleanupEnabled;
232
359
  private readonly maxIdleTime;
233
360
  private readonly cleanupIntervalMs;
234
361
  private readonly maxGuards;
235
362
  private accessOrder;
236
363
  constructor(autoCleanup?: boolean);
364
+ private ensureAutoCleanup;
237
365
  private startAutoCleanup;
366
+ private stopAutoCleanup;
238
367
  private performCleanup;
239
368
  private updateAccessOrder;
240
369
  private evictIfNeeded;
@@ -257,11 +386,11 @@ declare function executeParallel<T, R = void>(context: PipelineContext<T, R>, cr
257
386
  declare function executeRace<T, R = void>(context: PipelineContext<T, R>, createController: (registration: HandlerRegistration<T, R>, index: number) => PipelineController<T, R>): Promise<void>;
258
387
  //#endregion
259
388
  //#region src/react-helpers.d.ts
260
- declare function createActionHandler<T extends ActionPayloadMap, K extends keyof T>(registry: ActionRegister<T>, action: K, handler: ActionHandler<T[K]>, config?: HandlerConfig): {
389
+ declare function createActionHandler<T extends ActionPayloadMap, K extends keyof T>(registry: ActionRegister<T>, action: K, handler: ActionHandler<T[K]>, config?: HandlerConfig<T[K]>): {
261
390
  register: () => UnregisterFunction;
262
391
  unregister: () => void;
263
392
  registerWithCleanup: () => () => void;
264
- config: Required<HandlerConfig>;
393
+ config: Required<HandlerConfig<T[K]>>;
265
394
  };
266
395
  declare const ReactDevUtils: {
267
396
  enableDebugMode(): void;
@@ -284,5 +413,44 @@ declare class ReactActionError extends Error {
284
413
  }
285
414
  declare function isReactActionError(error: any): error is ReactActionError;
286
415
  //#endregion
287
- export { type ActionDispatcher, ActionGuard, type ActionHandler, type ActionPayloadMap, ActionRegister, type ActionRegisterConfig, type DispatchOptions, type ExecutionMode, type ExecutionResult, type HandlerConfig, type HandlerRegistration, type PipelineContext, type PipelineController, ReactActionError, ReactDevUtils, type UnregisterFunction, createActionHandler, executeParallel, executeRace, executeSequential, isReactActionError };
416
+ //#region src/errors.d.ts
417
+ interface ZodIssueLike {
418
+ message: string;
419
+ path: readonly (string | number | symbol)[];
420
+ code: string;
421
+ }
422
+ declare class ActionValidationError extends Error {
423
+ name: string;
424
+ readonly zodError: unknown;
425
+ constructor(action: string, zodError: unknown);
426
+ readonly action: string;
427
+ get issues(): readonly ZodIssueLike[];
428
+ get formattedErrors(): unknown;
429
+ get flattenedErrors(): unknown;
430
+ get firstError(): string | undefined;
431
+ get errorPaths(): string[];
432
+ toJSON(): {
433
+ name: string;
434
+ action: string;
435
+ message: string;
436
+ issues: readonly ZodIssueLike[];
437
+ };
438
+ }
439
+ declare class ActionTimeoutError extends Error {
440
+ readonly action: string;
441
+ readonly timeout: number;
442
+ name: string;
443
+ constructor(action: string, timeout: number);
444
+ }
445
+ declare class ActionRegisterDestroyedError extends Error {
446
+ readonly registerName: string;
447
+ readonly state: 'closing' | 'destroyed';
448
+ name: string;
449
+ constructor(registerName: string, state: 'closing' | 'destroyed');
450
+ }
451
+ declare function isActionValidationError(error: unknown): error is ActionValidationError;
452
+ declare function isActionTimeoutError(error: unknown): error is ActionTimeoutError;
453
+ declare function isActionRegisterDestroyedError(error: unknown): error is ActionRegisterDestroyedError;
454
+ //#endregion
455
+ export { type ActionDispatcher, ActionGuard, type ActionHandler, type ActionPayloadMap, ActionRegister, type ActionRegisterConfig, ActionRegisterDestroyedError, type ActionSchemaMap, ActionTimeoutError, ActionValidationError, type AnthropicToolDefinition, type DefineActionOptions, type DispatchOptions, type ExecutionMode, type ExecutionResult, type HandlerConfig, type HandlerRegistration, type InferActionPayloadMap, type JSONSchema, type JSONSchemaType, type MCPToolDefinition, type OpenAIToolDefinition, type PipelineContext, type PipelineController, ReactActionError, ReactDevUtils, type SafeParseResult, type UnifiedAction, type UnregisterFunction, createActionFactory, createActionHandler, createActionSchema, defineAction, executeParallel, executeRace, executeSequential, isActionRegisterDestroyedError, isActionTimeoutError, isActionValidationError, isReactActionError, zodToJsonSchema };
288
456
  //# sourceMappingURL=index.d.ts.map