@context-action/core 0.0.3 → 0.0.5

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,244 +1,232 @@
1
- //#region src/logger.d.ts
2
- /**
3
- * Log levels in order of severity (lowest to highest)
4
- */
5
- declare enum LogLevel {
6
- TRACE = 0,
7
- DEBUG = 1,
8
- INFO = 2,
9
- WARN = 3,
10
- ERROR = 4,
11
- FATAL = 5,
12
- }
13
- /**
14
- * Logger interface for custom logger implementations
15
- */
16
- interface Logger {
17
- trace(message: string, ...args: any[]): void;
18
- debug(message: string, ...args: any[]): void;
19
- info(message: string, ...args: any[]): void;
20
- warn(message: string, ...args: any[]): void;
21
- error(message: string, ...args: any[]): void;
22
- fatal(message: string, ...args: any[]): void;
1
+ //#region src/types.d.ts
2
+ interface ActionPayloadMap {
3
+ [actionName: string]: unknown;
23
4
  }
24
- /**
25
- * Default console logger implementation
26
- */
27
- declare class ConsoleLogger implements Logger {
28
- private level;
29
- constructor(level?: LogLevel);
30
- protected shouldLog(level: LogLevel): boolean;
31
- private formatMessage;
32
- trace(message: string, ...args: any[]): void;
33
- debug(message: string, ...args: any[]): void;
34
- info(message: string, ...args: any[]): void;
35
- warn(message: string, ...args: any[]): void;
36
- error(message: string, ...args: any[]): void;
37
- fatal(message: string, ...args: any[]): void;
38
- setLevel(level: LogLevel): void;
5
+ interface PipelineController<T = any, R = void> {
6
+ next(): void;
7
+ abort(reason?: string): void;
8
+ modifyPayload(modifier: (payload: T) => T): void;
9
+ getPayload(): T;
10
+ jumpToPriority(priority: number): void;
11
+ return(result: R): void;
12
+ setResult(result: R): void;
13
+ getResults(): R[];
14
+ mergeResult(merger: (previousResults: R[], currentResult: R) => R): void;
39
15
  }
40
- /**
41
- * Parse log level from string
42
- */
43
- declare function parseLogLevel(level: string): LogLevel;
44
- /**
45
- * Get log level from environment variable or default to ERROR
46
- */
47
- declare function getLogLevelFromEnv(): LogLevel;
48
- /**
49
- * Extract trace ID from payload if it exists
50
- */
51
- declare function extractTraceIdFromPayload(payload: any): string | undefined;
52
- /**
53
- * Extract session ID from payload if it exists
54
- */
55
- declare function extractSessionIdFromPayload(payload: any): string | undefined;
56
- /**
57
- * Create OTEL context from payload
58
- */
59
- declare function createOtelContextFromPayload(payload: any): OtelContext;
60
- /**
61
- * OpenTelemetry context interface for tracing
62
- */
63
- interface OtelContext {
64
- /** Session ID for tracking user sessions */
65
- sessionId?: string;
66
- /** Trace ID for distributed tracing */
67
- traceId?: string;
68
- /** Span ID for current operation */
69
- spanId?: string;
70
- /** Parent span ID for operation hierarchy */
71
- parentSpanId?: string;
72
- /** Additional context metadata */
16
+ type ActionHandler<T = any, R = void> = (payload: T, controller: PipelineController<T, R>) => R | Promise<R>;
17
+ interface HandlerConfig {
18
+ priority?: number;
19
+ id?: string;
20
+ blocking?: boolean;
21
+ once?: boolean;
22
+ condition?: () => boolean;
23
+ debounce?: number;
24
+ throttle?: number;
25
+ validation?: (payload: any) => boolean;
26
+ middleware?: boolean;
27
+ tags?: string[];
28
+ category?: string;
29
+ description?: string;
30
+ version?: string;
31
+ returnType?: 'value' | 'merge' | 'collect';
32
+ timeout?: number;
33
+ retries?: number;
34
+ dependencies?: string[];
35
+ conflicts?: string[];
36
+ environment?: 'development' | 'production' | 'test';
37
+ feature?: string;
38
+ metrics?: {
39
+ collectTiming?: boolean;
40
+ collectErrors?: boolean;
41
+ customMetrics?: Record<string, any>;
42
+ };
73
43
  metadata?: Record<string, any>;
74
44
  }
75
- /**
76
- * Extended logger interface with OpenTelemetry support
77
- */
78
- interface OtelLogger extends Logger {
79
- /** Set OpenTelemetry context */
80
- setContext(context: OtelContext): void;
81
- /** Get current OpenTelemetry context */
82
- getContext(): OtelContext;
83
- /** Clear OpenTelemetry context */
84
- clearContext(): void;
85
- /** Log with OpenTelemetry context */
86
- logWithContext(level: LogLevel, message: string, ...args: any[]): void;
45
+ interface HandlerRegistration<T = any, R = void> {
46
+ handler: ActionHandler<T, R>;
47
+ config: Required<HandlerConfig>;
48
+ id: string;
87
49
  }
88
- /**
89
- * OpenTelemetry-aware console logger implementation
90
- */
91
- declare class OtelConsoleLogger extends ConsoleLogger implements OtelLogger {
92
- private context;
93
- constructor(level?: LogLevel);
94
- setContext(context: OtelContext): void;
95
- getContext(): OtelContext;
96
- clearContext(): void;
97
- private formatWithContext;
98
- logWithContext(level: LogLevel, message: string, ...args: any[]): void;
99
- trace(message: string, ...args: any[]): void;
100
- debug(message: string, ...args: any[]): void;
101
- info(message: string, ...args: any[]): void;
102
- warn(message: string, ...args: any[]): void;
103
- error(message: string, ...args: any[]): void;
104
- fatal(message: string, ...args: any[]): void;
50
+ type ExecutionMode = 'sequential' | 'parallel' | 'race';
51
+ interface PipelineContext<T = any, R = void> {
52
+ action: string;
53
+ payload: T;
54
+ handlers: HandlerRegistration<T, R>[];
55
+ aborted: boolean;
56
+ abortReason?: string;
57
+ currentIndex: number;
58
+ jumpToPriority?: number;
59
+ executionMode: ExecutionMode;
60
+ results: R[];
61
+ terminated: boolean;
62
+ terminationResult?: R;
105
63
  }
106
- //# sourceMappingURL=logger.d.ts.map
107
- //#endregion
108
- //#region src/ActionRegister.d.ts
109
- /**
110
- * Controller object provided to action handlers for pipeline management
111
- * @template T - The type of the payload being processed
112
- */
113
- type PipelineController<T = any> = {
114
- /** Continue to the next handler in the pipeline */
115
- next: () => void;
116
- /** Abort the pipeline execution with an optional reason */
117
- abort: (reason?: string) => void;
118
- /** Modify the payload that will be passed to subsequent handlers */
119
- modifyPayload: (modifier: (payload: T) => T) => void;
120
- };
121
- /**
122
- * Action handler function that processes actions in the pipeline
123
- * @template T - The type of the payload
124
- * @param payload - The data passed to the handler
125
- * @param controller - Pipeline controller for flow management
126
- * @returns void or Promise<void> for async handlers
127
- */
128
- type ActionHandler<T = any> = (payload: T, controller: PipelineController<T>) => void | Promise<void>;
129
- /**
130
- * Configuration options for action handlers
131
- */
132
- type HandlerConfig = {
133
- /** Priority level (higher numbers execute first). Default: 0 */
134
- priority?: number;
135
- /** Unique identifier for the handler. Auto-generated if not provided */
136
- id?: string;
137
- /** Whether to wait for async handlers to complete. Default: false */
138
- blocking?: boolean;
139
- };
140
- /**
141
- * Base interface for defining action payload mappings
142
- * @example
143
- * ```typescript
144
- * interface MyActions extends ActionPayloadMap {
145
- * increment: void;
146
- * setCount: number;
147
- * updateUser: { id: string; name: string };
148
- * }
149
- * ```
150
- */
151
- interface ActionPayloadMap {}
152
- /**
153
- * Configuration options for ActionRegister
154
- */
155
64
  interface ActionRegisterConfig {
156
- /** Custom logger implementation. Defaults to ConsoleLogger */
157
- logger?: Logger;
158
- /** Log level for the logger. Defaults to ERROR if not provided */
159
- logLevel?: LogLevel;
160
- /** OpenTelemetry context for tracing */
161
- otelContext?: OtelContext;
162
- /** Whether to use OTEL-aware logger. Defaults to false */
163
- useOtel?: boolean;
65
+ name?: string;
66
+ registry?: {
67
+ debug?: boolean;
68
+ autoCleanup?: boolean;
69
+ maxHandlers?: number;
70
+ defaultExecutionMode?: ExecutionMode;
71
+ };
72
+ }
73
+ interface DispatchOptions {
74
+ debounce?: number;
75
+ throttle?: number;
76
+ executionMode?: ExecutionMode;
77
+ signal?: AbortSignal;
78
+ autoAbort?: {
79
+ enabled: boolean;
80
+ onControllerCreated?: (controller: AbortController) => void;
81
+ allowHandlerAbort?: boolean;
82
+ };
83
+ filter?: {
84
+ tags?: string[];
85
+ category?: string;
86
+ handlerIds?: string[];
87
+ excludeTags?: string[];
88
+ excludeCategory?: string;
89
+ excludeHandlerIds?: string[];
90
+ environment?: 'development' | 'production' | 'test';
91
+ feature?: string;
92
+ custom?: (config: Required<HandlerConfig>) => boolean;
93
+ };
94
+ result?: {
95
+ strategy?: 'first' | 'last' | 'all' | 'merge' | 'custom';
96
+ merger?: <R>(results: R[]) => R;
97
+ collect?: boolean;
98
+ timeout?: number;
99
+ maxResults?: number;
100
+ };
101
+ }
102
+ interface ExecutionResult<R = void> {
103
+ success: boolean;
104
+ aborted: boolean;
105
+ abortReason?: string;
106
+ terminated: boolean;
107
+ result?: R;
108
+ results: R[];
109
+ execution: {
110
+ duration: number;
111
+ handlersExecuted: number;
112
+ handlersSkipped: number;
113
+ handlersFailed: number;
114
+ startTime: number;
115
+ endTime: number;
116
+ };
117
+ handlers: Array<{
118
+ id: string;
119
+ executed: boolean;
120
+ duration?: number;
121
+ result?: R;
122
+ error?: Error;
123
+ metadata?: Record<string, any>;
124
+ }>;
125
+ errors: Array<{
126
+ handlerId: string;
127
+ error: Error;
128
+ timestamp: number;
129
+ }>;
164
130
  }
165
- /**
166
- * Core action pipeline management system
167
- * @template T - Action payload map defining available actions and their payload types
168
- * @example
169
- * ```typescript
170
- * interface AppActions extends ActionPayloadMap {
171
- * increment: void;
172
- * setCount: number;
173
- * }
174
- *
175
- * const actionRegister = new ActionRegister<AppActions>();
176
- *
177
- * // Register handlers
178
- * actionRegister.register('increment', () => console.log('Incremented'));
179
- * actionRegister.register('setCount', (count) => console.log(`Count: ${count}`));
180
- *
181
- * // Dispatch actions
182
- * await actionRegister.dispatch('increment');
183
- * await actionRegister.dispatch('setCount', 42);
184
- * ```
185
- */
131
+ type UnregisterFunction = () => void;
132
+ interface ActionDispatcher<T extends ActionPayloadMap> {
133
+ <K extends keyof T>(action: T[K] extends void ? K : never, options?: DispatchOptions): Promise<void>;
134
+ <K extends keyof T>(action: K, payload: T[K], options?: DispatchOptions): Promise<void>;
135
+ }
136
+ interface ActionRegistryInfo<T extends ActionPayloadMap> {
137
+ name: string;
138
+ totalActions: number;
139
+ totalHandlers: number;
140
+ registeredActions: Array<keyof T>;
141
+ actionExecutionModes: Map<keyof T, ExecutionMode>;
142
+ defaultExecutionMode: ExecutionMode;
143
+ }
144
+ interface ActionHandlerStats<T extends ActionPayloadMap> {
145
+ action: keyof T;
146
+ handlerCount: number;
147
+ handlersByPriority: Array<{
148
+ priority: number;
149
+ handlers: Array<{
150
+ id: string;
151
+ tags: string[];
152
+ category?: string;
153
+ description?: string;
154
+ version?: string;
155
+ }>;
156
+ }>;
157
+ executionStats?: {
158
+ totalExecutions: number;
159
+ averageDuration: number;
160
+ successRate: number;
161
+ errorCount: number;
162
+ };
163
+ }
164
+ //# sourceMappingURL=types.d.ts.map
165
+ //#endregion
166
+ //#region src/ActionRegister.d.ts
186
167
  declare class ActionRegister<T extends ActionPayloadMap = ActionPayloadMap> {
187
168
  private pipelines;
188
- private atomSetters;
189
169
  private handlerCounter;
190
- readonly logger: Logger;
170
+ private readonly actionGuard;
171
+ private executionMode;
172
+ private actionExecutionModes;
173
+ readonly name: string;
174
+ private readonly registryConfig;
175
+ private executionStats;
191
176
  constructor(config?: ActionRegisterConfig);
192
- /**
193
- * Register a handler for an action in the pipeline
194
- * @param action - The action name to handle
195
- * @param handler - The handler function to execute
196
- * @param config - Optional configuration for the handler
197
- * @returns Unregister function to remove the handler
198
- * @example
199
- * ```typescript
200
- * const unregister = actionRegister.register('increment', () => {
201
- * console.log('Incremented!');
202
- * }, { priority: 10 });
203
- *
204
- * // Later, remove the handler
205
- * unregister();
206
- * ```
207
- */
208
- register<K extends keyof T>(action: K, handler: ActionHandler<T[K]>, config?: HandlerConfig): () => void;
209
- registerAtomSetter(name: string, setter: Function): void;
210
- /**
211
- * Dispatch an action through the pipeline (for actions without payload)
212
- * @param action - The action to dispatch
213
- * @returns Promise that resolves when all handlers complete
214
- */
215
- dispatch<K extends keyof T>(action: T[K] extends void ? K : never): Promise<void>;
216
- /**
217
- * Dispatch an action through the pipeline (for actions with payload)
218
- * @param action - The action to dispatch
219
- * @param payload - The payload data to pass to handlers
220
- * @returns Promise that resolves when all handlers complete
221
- */
222
- dispatch<K extends keyof T>(action: K, payload: T[K]): Promise<void>;
223
- private sortPipeline;
177
+ register<K extends keyof T, R = void>(action: K, handler: ActionHandler<T[K], R>, config?: HandlerConfig): UnregisterFunction;
178
+ dispatch<K extends keyof T>(action: K, payload?: T[K], options?: DispatchOptions): Promise<void>;
179
+ dispatchWithResult<K extends keyof T, R = void>(action: K, payload?: T[K], options?: DispatchOptions): Promise<ExecutionResult<R>>;
180
+ private filterHandlers;
181
+ private processResults;
182
+ private executePipeline;
183
+ private cleanupOneTimeHandlers;
184
+ private updateExecutionStats;
185
+ getHandlerCount<K extends keyof T>(action: K): number;
186
+ hasHandlers<K extends keyof T>(action: K): boolean;
187
+ getRegisteredActions(): (keyof T)[];
188
+ clearAction<K extends keyof T>(action: K): void;
189
+ clearAll(): void;
190
+ getName(): string;
191
+ getRegistryInfo(): ActionRegistryInfo<T>;
192
+ getActionStats<K extends keyof T>(action: K): ActionHandlerStats<T> | null;
193
+ getAllActionStats(): Array<ActionHandlerStats<T>>;
194
+ getHandlersByTag(tag: string): Map<keyof T, HandlerRegistration<any, any>[]>;
195
+ getHandlersByCategory(category: string): Map<keyof T, HandlerRegistration<any, any>[]>;
196
+ setActionExecutionMode<K extends keyof T>(action: K, mode: ExecutionMode): void;
197
+ getActionExecutionMode<K extends keyof T>(action: K): ExecutionMode;
198
+ removeActionExecutionMode<K extends keyof T>(action: K): void;
199
+ clearExecutionStats(): void;
200
+ clearActionExecutionStats<K extends keyof T>(action: K): void;
201
+ getRegistryConfig(): ActionRegisterConfig['registry'];
202
+ isDebugEnabled(): boolean;
224
203
  }
225
204
  //# sourceMappingURL=ActionRegister.d.ts.map
226
205
  //#endregion
227
- //#region src/types.d.ts
228
- interface BaseActionPayloadMap {}
229
- type ActionType<T extends Record<string, any>> = keyof T;
230
- type ActionPayload<T extends Record<string, any>, K extends keyof T> = T[K];
231
- type ActionHandlerMap<T extends Record<string, any>> = { [K in keyof T]?: (payload: T[K]) => void | Promise<void> };
232
- declare function createAction<T extends Record<string, any>, K extends keyof T>(type: K, payload: T[K]): {
233
- type: K;
234
- payload: T[K];
235
- };
236
- declare function isAction<T extends Record<string, any>, K extends keyof T>(action: any, type: K): action is {
237
- type: K;
238
- payload: T[K];
239
- };
240
- //# sourceMappingURL=types.d.ts.map
206
+ //#region src/action-guard.d.ts
207
+ interface GuardState {
208
+ lastExecuted: number;
209
+ debounceTimer?: NodeJS.Timeout;
210
+ throttleTimer?: NodeJS.Timeout;
211
+ isThrottled: boolean;
212
+ }
213
+ declare class ActionGuard {
214
+ private guards;
215
+ constructor();
216
+ debounce(actionKey: string, debounceMs: number): Promise<boolean>;
217
+ throttle(actionKey: string, throttleMs: number): boolean;
218
+ clearGuards(actionKey: string): void;
219
+ clearAll(): void;
220
+ getGuardState(actionKey: string): GuardState | undefined;
221
+ getAllGuardStates(): Map<string, GuardState>;
222
+ }
223
+ //#endregion
224
+ //#region src/execution-modes.d.ts
225
+ declare function executeSequential<T, R = void>(context: PipelineContext<T, R>, createController: (registration: HandlerRegistration<T, R>, index: number) => PipelineController<T, R>): Promise<void>;
226
+ declare function executeParallel<T, R = void>(context: PipelineContext<T, R>, createController: (registration: HandlerRegistration<T, R>, index: number) => PipelineController<T, R>): Promise<void>;
227
+ declare function executeRace<T, R = void>(context: PipelineContext<T, R>, createController: (registration: HandlerRegistration<T, R>, index: number) => PipelineController<T, R>): Promise<void>;
228
+ //# sourceMappingURL=execution-modes.d.ts.map
241
229
 
242
230
  //#endregion
243
- export { ActionHandler, ActionHandlerMap, ActionPayload, ActionPayloadMap, ActionRegister, ActionRegisterConfig, ActionType, BaseActionPayloadMap, ConsoleLogger, HandlerConfig, LogLevel, Logger, OtelConsoleLogger, OtelContext, OtelLogger, PipelineController, createAction, createOtelContextFromPayload, extractSessionIdFromPayload, extractTraceIdFromPayload, getLogLevelFromEnv, isAction, parseLogLevel };
231
+ 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, type UnregisterFunction, executeParallel, executeRace, executeSequential };
244
232
  //# sourceMappingURL=index.d.cts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.cts","names":[],"sources":["../src/logger.ts","../src/ActionRegister.ts","../src/types.ts"],"sourcesContent":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.cts","names":[],"sources":["../src/types.ts","../src/ActionRegister.ts","../src/action-guard.ts","../src/execution-modes.ts"],"sourcesContent":[],"mappings":"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"}