@bluelibs/runner 5.4.0 → 5.5.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/README.md +23 -22
- package/dist/browser/index.cjs +5426 -2403
- package/dist/browser/index.cjs.map +1 -1
- package/dist/browser/index.mjs +5426 -2400
- package/dist/browser/index.mjs.map +1 -1
- package/dist/edge/index.cjs +5426 -2403
- package/dist/edge/index.cjs.map +1 -1
- package/dist/edge/index.mjs +5426 -2400
- package/dist/edge/index.mjs.map +1 -1
- package/dist/node/node.cjs +7208 -6935
- package/dist/node/node.cjs.map +1 -1
- package/dist/node/node.mjs +7167 -6936
- package/dist/node/node.mjs.map +1 -1
- package/dist/types/definers/builders/asyncContext/fluent-builder.interface.d.ts +4 -0
- package/dist/types/definers/builders/error/fluent-builder.interface.d.ts +8 -1
- package/dist/types/definers/builders/error/index.d.ts +1 -0
- package/dist/types/definers/builders/error/types.d.ts +2 -1
- package/dist/types/definers/builders/error/utils.d.ts +1 -0
- package/dist/types/definers/builders/event/fluent-builder.interface.d.ts +10 -0
- package/dist/types/definers/builders/hook/fluent-builder.interface.d.ts +3 -0
- package/dist/types/definers/builders/hook/types.d.ts +3 -0
- package/dist/types/definers/builders/middleware/index.d.ts +4 -2
- package/dist/types/definers/builders/middleware/resource.interface.d.ts +7 -0
- package/dist/types/definers/builders/middleware/task.interface.d.ts +7 -0
- package/dist/types/definers/builders/middleware/types.d.ts +22 -3
- package/dist/types/definers/builders/middleware/utils.d.ts +2 -0
- package/dist/types/definers/builders/override/hook.d.ts +3 -0
- package/dist/types/definers/builders/override/index.d.ts +5 -0
- package/dist/types/definers/builders/resource/fluent-builder.interface.d.ts +15 -0
- package/dist/types/definers/builders/resource/index.d.ts +0 -1
- package/dist/types/definers/builders/resource/types.d.ts +1 -0
- package/dist/types/definers/builders/tag/fluent-builder.interface.d.ts +4 -0
- package/dist/types/definers/builders/tag/utils.d.ts +1 -0
- package/dist/types/definers/builders/task/fluent-builder.interface.d.ts +4 -0
- package/dist/types/definers/builders/task/index.d.ts +2 -2
- package/dist/types/definers/builders/utils.d.ts +6 -1
- package/dist/types/definers/defineError.d.ts +12 -2
- package/dist/types/definers/resourceFork.d.ts +3 -1
- package/dist/types/definers/tools.d.ts +12 -12
- package/dist/types/errors/domain-error-ids.d.ts +44 -0
- package/dist/types/errors/domain-runtime.errors.d.ts +136 -0
- package/dist/types/errors/foundation.errors.d.ts +125 -0
- package/dist/types/errors/generic.errors.d.ts +1 -0
- package/dist/types/errors/model-runtime.errors.d.ts +20 -0
- package/dist/types/errors.d.ts +5 -73
- package/dist/types/globals/cron/cron-parser.d.ts +4 -0
- package/dist/types/globals/cron/cron.errors.d.ts +8 -0
- package/dist/types/globals/cron/cron.resource.d.ts +12 -0
- package/dist/types/globals/cron/cron.tag.d.ts +2 -0
- package/dist/types/globals/cron/types.d.ts +25 -0
- package/dist/types/globals/globalMiddleware.d.ts +87 -13
- package/dist/types/globals/globalResources.d.ts +110 -24
- package/dist/types/globals/globalTags.d.ts +10 -2
- package/dist/types/globals/middleware/cache.middleware.d.ts +173 -13
- package/dist/types/globals/middleware/circuitBreaker.middleware.d.ts +5 -1
- package/dist/types/globals/middleware/concurrency.middleware.d.ts +3 -0
- package/dist/types/globals/middleware/fallback.middleware.d.ts +8 -1
- package/dist/types/globals/middleware/rateLimit.middleware.d.ts +4 -1
- package/dist/types/globals/middleware/retry.middleware.d.ts +5 -0
- package/dist/types/globals/middleware/temporal.middleware.d.ts +19 -19
- package/dist/types/globals/middleware/timeout.middleware.d.ts +4 -1
- package/dist/types/globals/resources/eventManager.resource.d.ts +2 -0
- package/dist/types/globals/resources/logger.resource.d.ts +2 -0
- package/dist/types/globals/resources/middlewareManager.resource.d.ts +2 -0
- package/dist/types/globals/resources/queue.resource.d.ts +2 -0
- package/dist/types/globals/resources/runtime.resource.d.ts +2 -0
- package/dist/types/globals/resources/serializer.resource.d.ts +2 -0
- package/dist/types/globals/resources/store.resource.d.ts +2 -0
- package/dist/types/globals/resources/taskRunner.resource.d.ts +2 -0
- package/dist/types/globals/resources/tunnel/plan.d.ts +6 -3
- package/dist/types/globals/resources/tunnel/tunnel.policy.tag.d.ts +2 -0
- package/dist/types/globals/resources/tunnel/types.d.ts +7 -2
- package/dist/types/globals/types.d.ts +6 -1
- package/dist/types/models/BuiltinsRegistry.d.ts +2 -0
- package/dist/types/models/DependencyProcessor.d.ts +26 -5
- package/dist/types/models/EventManager.d.ts +9 -9
- package/dist/types/models/LogPrinter.d.ts +5 -5
- package/dist/types/models/Logger.d.ts +16 -16
- package/dist/types/models/MiddlewareManager.d.ts +18 -0
- package/dist/types/models/OverrideManager.d.ts +4 -1
- package/dist/types/models/Queue.d.ts +2 -0
- package/dist/types/models/RunResult.d.ts +290 -26
- package/dist/types/models/Store.d.ts +20 -3
- package/dist/types/models/StoreRegistry.d.ts +2 -0
- package/dist/types/models/StoreValidator.d.ts +2 -0
- package/dist/types/models/TaskRunner.d.ts +3 -1
- package/dist/types/models/VisibilityTracker.d.ts +75 -0
- package/dist/types/models/dependency-processor/DependencyExtractor.d.ts +23 -0
- package/dist/types/models/dependency-processor/HookEventBuffer.d.ts +15 -0
- package/dist/types/models/dependency-processor/ResourceScheduler.d.ts +10 -0
- package/dist/types/models/event/EmissionExecutor.d.ts +5 -4
- package/dist/types/models/event/ListenerRegistry.d.ts +2 -0
- package/dist/types/models/index.d.ts +1 -3
- package/dist/types/models/middleware/InterceptorRegistry.d.ts +13 -4
- package/dist/types/models/middleware/ResourceMiddlewareComposer.d.ts +1 -0
- package/dist/types/models/middleware/ValidationHelper.d.ts +3 -6
- package/dist/types/models/utils/disposeOrder.d.ts +5 -1
- package/dist/types/models/utils/resourceDependencyIds.d.ts +1 -0
- package/dist/types/node/durable/bus/MemoryEventBus.d.ts +10 -1
- package/dist/types/node/durable/bus/NoopEventBus.d.ts +1 -1
- package/dist/types/node/durable/bus/RedisEventBus.d.ts +8 -2
- package/dist/types/node/durable/core/CronParser.d.ts +2 -13
- package/dist/types/node/durable/core/DurableResource.d.ts +14 -32
- package/dist/types/node/durable/core/DurableService.d.ts +1 -0
- package/dist/types/node/durable/core/DurableWorker.d.ts +4 -2
- package/dist/types/node/durable/core/createRunnerDurableRuntime.d.ts +2 -0
- package/dist/types/node/durable/core/interfaces/bus.d.ts +1 -1
- package/dist/types/node/durable/core/interfaces/resource.d.ts +61 -0
- package/dist/types/node/durable/core/interfaces/service.d.ts +2 -0
- package/dist/types/node/durable/core/interfaces/store.d.ts +5 -0
- package/dist/types/node/durable/core/managers/ExecutionManager.d.ts +1 -0
- package/dist/types/node/durable/core/managers/PollingManager.d.ts +3 -1
- package/dist/types/node/durable/core/resource.d.ts +4 -3
- package/dist/types/node/durable/core/utils.d.ts +11 -1
- package/dist/types/node/durable/queue/RabbitMQQueue.d.ts +4 -0
- package/dist/types/node/durable/resources/memoryDurableResource.d.ts +5 -3
- package/dist/types/node/durable/resources/redisDurableResource.d.ts +5 -3
- package/dist/types/node/durable/store/MemoryStore.d.ts +2 -0
- package/dist/types/node/durable/store/RedisStore.d.ts +1 -0
- package/dist/types/node/exposure/allowList.d.ts +2 -1
- package/dist/types/node/exposure/handlers/contextWrapper.d.ts +6 -2
- package/dist/types/node/exposure/handlers/errorHandlers.d.ts +1 -0
- package/dist/types/node/exposure/handlers/eventHandler.d.ts +1 -0
- package/dist/types/node/exposure/handlers/taskHandler.d.ts +3 -1
- package/dist/types/node/exposure/logging.d.ts +1 -0
- package/dist/types/node/exposure/requestHandlers.d.ts +3 -1
- package/dist/types/node/exposure/requestIdentity.d.ts +3 -0
- package/dist/types/node/exposure/resource.d.ts +4 -4
- package/dist/types/node/exposure/resourceTypes.d.ts +6 -0
- package/dist/types/node/exposure/serverLifecycle.d.ts +2 -0
- package/dist/types/node/node.d.ts +1 -1
- package/dist/types/node/tunnel/allowlist.d.ts +10 -1
- package/dist/types/platform/adapters/browser.d.ts +1 -1
- package/dist/types/platform/adapters/node-als.d.ts +1 -1
- package/dist/types/platform/adapters/node.d.ts +1 -1
- package/dist/types/platform/adapters/universal-generic.d.ts +2 -2
- package/dist/types/platform/adapters/universal.d.ts +1 -1
- package/dist/types/platform/index.d.ts +2 -2
- package/dist/types/platform/types.d.ts +1 -1
- package/dist/types/public.d.ts +374 -20
- package/dist/types/run.d.ts +17 -1
- package/dist/types/serializer/Serializer.d.ts +1 -41
- package/dist/types/serializer/errors.d.ts +8 -0
- package/dist/types/serializer/marker-key-escapes.d.ts +2 -0
- package/dist/types/serializer/serialize-utils.d.ts +1 -1
- package/dist/types/serializer/type-registry.d.ts +0 -1
- package/dist/types/serializer/types.d.ts +7 -6
- package/dist/types/testing.d.ts +1 -0
- package/dist/types/tools/getAllThrows.d.ts +13 -0
- package/dist/types/tools/throws.d.ts +1 -1
- package/dist/types/types/error.d.ts +25 -2
- package/dist/types/types/event.d.ts +35 -0
- package/dist/types/types/hook.d.ts +8 -0
- package/dist/types/types/resource.d.ts +13 -1
- package/dist/types/types/resourceMiddleware.d.ts +8 -0
- package/dist/types/types/runner.d.ts +56 -0
- package/dist/types/types/storeTypes.d.ts +5 -1
- package/dist/types/types/tag.d.ts +1 -0
- package/dist/types/types/tagged.d.ts +2 -2
- package/dist/types/types/task.d.ts +2 -2
- package/dist/types/types/taskMiddleware.d.ts +8 -0
- package/dist/types/types/utilities.d.ts +25 -3
- package/dist/ui/assets/{index-Bo7Gi6Vq.js → index-B4lZaXFJ.js} +48 -48
- package/dist/ui/index.html +1 -1
- package/dist/universal/index.cjs +5426 -2403
- package/dist/universal/index.cjs.map +1 -1
- package/dist/universal/index.mjs +5426 -2400
- package/dist/universal/index.mjs.map +1 -1
- package/package.json +18 -14
- package/readmes/AI.md +147 -42
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
import type { ITaskMiddleware } from "../../../defs";
|
|
2
1
|
export type ValidationSide = "client" | "server" | "both";
|
|
3
2
|
export interface ExecutionPlan {
|
|
4
3
|
clientMiddleware: string[];
|
|
@@ -12,8 +11,12 @@ export interface PlanMeta {
|
|
|
12
11
|
context?: unknown;
|
|
13
12
|
}
|
|
14
13
|
export declare function computeExecutionPlanFromWhitelist(whitelist: {
|
|
15
|
-
client?: Array<string |
|
|
16
|
-
|
|
14
|
+
client?: Array<string | {
|
|
15
|
+
id: string;
|
|
16
|
+
}>;
|
|
17
|
+
server?: Array<string | {
|
|
18
|
+
id: string;
|
|
19
|
+
}>;
|
|
17
20
|
}, opts?: {
|
|
18
21
|
defaultValidation?: ValidationSide;
|
|
19
22
|
}): ExecutionPlan;
|
|
@@ -23,4 +23,6 @@ export interface TunnelTaskMiddlewarePolicyConfig {
|
|
|
23
23
|
server?: TunnelMiddlewareId[];
|
|
24
24
|
};
|
|
25
25
|
}
|
|
26
|
+
export declare const tunnelTaskPolicyTag: import("../../..").ITag<TunnelTaskMiddlewarePolicyConfig, void, void>;
|
|
27
|
+
/** @deprecated Use tunnelTaskPolicyTag instead. */
|
|
26
28
|
export declare const tunnelPolicyTag: import("../../..").ITag<TunnelTaskMiddlewarePolicyConfig, void, void>;
|
|
@@ -9,15 +9,20 @@ export type TunnelEventSelector = Array<string | IEvent<any>> | ((event: IEvent<
|
|
|
9
9
|
export type EventDeliveryMode = "mirror" | "remote-only" | "local-only" | "remote-first";
|
|
10
10
|
export interface TunnelTagConfig {
|
|
11
11
|
}
|
|
12
|
-
export type TunnelTaskRunner = (task: ITask<any, any, any, any, any, any>, input?:
|
|
12
|
+
export type TunnelTaskRunner = (task: ITask<any, any, any, any, any, any>, input?: unknown) => Promise<unknown>;
|
|
13
13
|
export interface TunnelRunner {
|
|
14
14
|
transport?: "http" | string;
|
|
15
15
|
mode?: TunnelMode;
|
|
16
|
+
/**
|
|
17
|
+
* Controls whether server-side exposure hydrates incoming x-runner-context headers
|
|
18
|
+
* for task/event ids selected by this tunnel. Defaults to true.
|
|
19
|
+
*/
|
|
20
|
+
allowAsyncContext?: boolean;
|
|
16
21
|
tasks?: TunnelTaskSelector;
|
|
17
22
|
events?: TunnelEventSelector;
|
|
18
23
|
eventDeliveryMode?: EventDeliveryMode;
|
|
19
24
|
run?: TunnelTaskRunner;
|
|
20
|
-
emit?: (event: IEventEmission<any>) => Promise<
|
|
25
|
+
emit?: (event: IEventEmission<any>) => Promise<unknown>;
|
|
21
26
|
}
|
|
22
27
|
export interface ExposureFetchAuthConfig {
|
|
23
28
|
header?: string;
|
|
@@ -1,15 +1,20 @@
|
|
|
1
1
|
export * from "./resources/debug/types";
|
|
2
2
|
export * from "./resources/tunnel/types";
|
|
3
|
+
export type { CronResourceValue, CronScheduledTask, CronTagConfig, } from "./cron/types";
|
|
4
|
+
export { CronOnError } from "./cron/types";
|
|
3
5
|
export * from "./debug";
|
|
4
|
-
export type { CacheResourceConfig } from "./middleware/cache.middleware";
|
|
6
|
+
export type { CacheResourceConfig, ICacheInstance, } from "./middleware/cache.middleware";
|
|
7
|
+
export type { CircuitBreakerOpenError } from "./middleware/circuitBreaker.middleware";
|
|
5
8
|
export type { CircuitBreakerMiddlewareConfig, CircuitBreakerStatus, CircuitBreakerState, } from "./middleware/circuitBreaker.middleware";
|
|
6
9
|
export type { ConcurrencyMiddlewareConfig, ConcurrencyState, } from "./middleware/concurrency.middleware";
|
|
7
10
|
export type { FallbackMiddlewareConfig } from "./middleware/fallback.middleware";
|
|
8
11
|
export type { RateLimitMiddlewareConfig, RateLimitState, } from "./middleware/rateLimit.middleware";
|
|
12
|
+
export type { RateLimitError } from "./middleware/rateLimit.middleware";
|
|
9
13
|
export type { RequireContextMiddlewareConfig } from "./middleware/requireContext.middleware";
|
|
10
14
|
export type { RetryMiddlewareConfig } from "./middleware/retry.middleware";
|
|
11
15
|
export type { DebounceState, TemporalMiddlewareConfig, ThrottleState, } from "./middleware/temporal.middleware";
|
|
12
16
|
export type { TimeoutMiddlewareConfig } from "./middleware/timeout.middleware";
|
|
17
|
+
export type { TimeoutError } from "./middleware/timeout.middleware";
|
|
13
18
|
export type { TunnelMiddlewareId, TunnelTaskMiddlewareSidePolicy, TunnelTaskMiddlewarePolicyConfig, TunnelTaskMiddlewarePolicySideConfig, } from "./resources/tunnel/tunnel.policy.tag";
|
|
14
19
|
export type { HttpClientFactoryConfig, HttpClientFactory, } from "./resources/httpClientFactory.resource";
|
|
15
20
|
export type { HttpClientAuthConfig, HttpCreateClientConfig } from "./tunnels";
|
|
@@ -1,10 +1,14 @@
|
|
|
1
|
-
import { DependencyMapType, DependencyValuesType,
|
|
1
|
+
import { DependencyMapType, DependencyValuesType, IEvent, IEventEmission, IEventEmitOptions, IResource, ITask } from "../defs";
|
|
2
2
|
import { Store } from "./Store";
|
|
3
3
|
import { ResourceStoreElementType } from "../types/storeTypes";
|
|
4
4
|
import { EventManager } from "./EventManager";
|
|
5
5
|
import { ResourceInitializer } from "./ResourceInitializer";
|
|
6
6
|
import { TaskRunner } from "./TaskRunner";
|
|
7
7
|
import { Logger } from "./Logger";
|
|
8
|
+
import { ResourceInitMode } from "../types/runner";
|
|
9
|
+
import { DependencyExtractor } from "./dependency-processor/DependencyExtractor";
|
|
10
|
+
import { HookEventBuffer } from "./dependency-processor/HookEventBuffer";
|
|
11
|
+
import { ResourceScheduler } from "./dependency-processor/ResourceScheduler";
|
|
8
12
|
/**
|
|
9
13
|
* Resolves and caches computed dependencies for store items (resources, tasks, middleware, hooks).
|
|
10
14
|
*/
|
|
@@ -13,26 +17,43 @@ export declare class DependencyProcessor {
|
|
|
13
17
|
protected readonly eventManager: EventManager;
|
|
14
18
|
protected readonly taskRunner: TaskRunner;
|
|
15
19
|
protected readonly resourceInitializer: ResourceInitializer;
|
|
20
|
+
protected readonly dependencyExtractor: DependencyExtractor;
|
|
21
|
+
protected readonly hookEventBuffer: HookEventBuffer;
|
|
22
|
+
protected readonly resourceScheduler: ResourceScheduler;
|
|
16
23
|
protected readonly logger: Logger;
|
|
17
|
-
|
|
24
|
+
protected readonly initMode: ResourceInitMode;
|
|
25
|
+
protected readonly lazy: boolean;
|
|
26
|
+
readonly pendingHookEvents: Map<string, IEventEmission<any>[]>;
|
|
27
|
+
readonly drainingHookIds: Set<string>;
|
|
28
|
+
private readonly inFlightResourceInitializations;
|
|
29
|
+
constructor(store: Store, eventManager: EventManager, taskRunner: TaskRunner, logger: Logger, initMode?: ResourceInitMode, lazy?: boolean, runtimeEventCycleDetection?: boolean);
|
|
18
30
|
/**
|
|
19
31
|
* Computes and caches dependencies for all registered store items.
|
|
20
32
|
*/
|
|
21
33
|
computeAllDependencies(): Promise<void>;
|
|
34
|
+
private initializeStartupRequiredResourcesParallel;
|
|
35
|
+
private collectStartupRequiredResourceIds;
|
|
22
36
|
private computeTaskDependencies;
|
|
23
37
|
initializeUninitializedResources(): Promise<void>;
|
|
38
|
+
private computeResourceMiddlewareDependencies;
|
|
39
|
+
private computeTaskMiddlewareDependencies;
|
|
40
|
+
private computeHookDependencies;
|
|
41
|
+
private initializeUninitializedResourcesParallel;
|
|
42
|
+
private ensureResourceInitialized;
|
|
43
|
+
private resetResourceInitializationState;
|
|
24
44
|
private rethrowResourceInitError;
|
|
25
45
|
/**
|
|
26
46
|
* Computes and caches dependencies for a resource (if not already computed).
|
|
27
47
|
*/
|
|
28
48
|
protected processResourceDependencies<TD extends DependencyMapType>(resource: ResourceStoreElementType<any, any, TD>): Promise<void>;
|
|
29
49
|
private wrapResourceDependencies;
|
|
30
|
-
private makeTaskWithIntercept;
|
|
31
50
|
initializeRoot(): Promise<void>;
|
|
32
51
|
/**
|
|
33
52
|
* Attaches listeners for all hooks. Must run before emitting events.
|
|
34
53
|
*/
|
|
35
54
|
attachListeners(): void;
|
|
55
|
+
private enqueueBufferedHookEvent;
|
|
56
|
+
private flushBufferedHookEvents;
|
|
36
57
|
extractDependencies<T extends DependencyMapType>(map: T, source: string): Promise<DependencyValuesType<T>>;
|
|
37
58
|
extractDependency(object: unknown, source: string): Promise<any>;
|
|
38
59
|
/**
|
|
@@ -40,7 +61,7 @@ export declare class DependencyProcessor {
|
|
|
40
61
|
* @param object
|
|
41
62
|
* @returns
|
|
42
63
|
*/
|
|
43
|
-
extractEventDependency(object: IEvent<any>, source: string): (input: any) => Promise<
|
|
44
|
-
extractTaskDependency(object: ITask<any, any, {}>): Promise<(input: unknown, options?: TaskCallOptions) => Promise<any>>;
|
|
64
|
+
extractEventDependency(object: IEvent<any>, source: string): (input: any, options?: IEventEmitOptions) => Promise<any>;
|
|
65
|
+
extractTaskDependency(object: ITask<any, any, {}>): Promise<(input: unknown, options?: import("..").TaskCallOptions) => Promise<any>>;
|
|
45
66
|
extractResourceDependency(object: IResource<any, any, any>): Promise<any>;
|
|
46
67
|
}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { DependencyValuesType, EventHandlerType, IEvent, IEventEmission } from "../defs";
|
|
1
|
+
import { DependencyValuesType, EventHandlerType, IEvent, IEventEmission, IEventEmitOptions, IEventEmitReport } from "../defs";
|
|
2
2
|
import { IHook } from "../types/hook";
|
|
3
3
|
import { EventEmissionInterceptor, HookExecutionInterceptor, IEventHandlerOptions } from "./event/types";
|
|
4
4
|
/**
|
|
@@ -8,9 +8,6 @@ import { EventEmissionInterceptor, HookExecutionInterceptor, IEventHandlerOption
|
|
|
8
8
|
*/
|
|
9
9
|
export declare class EventManager {
|
|
10
10
|
#private;
|
|
11
|
-
private listeners;
|
|
12
|
-
private globalListeners;
|
|
13
|
-
private cachedMergedListeners;
|
|
14
11
|
private emissionInterceptors;
|
|
15
12
|
private hookInterceptors;
|
|
16
13
|
private readonly registry;
|
|
@@ -36,6 +33,10 @@ export declare class EventManager {
|
|
|
36
33
|
* @param source - The source identifier of the event emitter
|
|
37
34
|
*/
|
|
38
35
|
emit<TInput>(eventDefinition: IEvent<TInput>, data: TInput, source: string): Promise<void>;
|
|
36
|
+
emit<TInput>(eventDefinition: IEvent<TInput>, data: TInput, source: string, options: IEventEmitOptions & {
|
|
37
|
+
report: true;
|
|
38
|
+
}): Promise<IEventEmitReport>;
|
|
39
|
+
emit<TInput>(eventDefinition: IEvent<TInput>, data: TInput, source: string, options?: IEventEmitOptions): Promise<void | IEventEmitReport>;
|
|
39
40
|
/**
|
|
40
41
|
* Emits an event and returns the final payload.
|
|
41
42
|
* The payload is taken from the deepest emission object that reached either:
|
|
@@ -63,6 +64,10 @@ export declare class EventManager {
|
|
|
63
64
|
* @param options - Configuration options for the listener
|
|
64
65
|
*/
|
|
65
66
|
addGlobalListener(handler: EventHandlerType, options?: IEventHandlerOptions): void;
|
|
67
|
+
/**
|
|
68
|
+
* Removes listeners registered with the provided listener id.
|
|
69
|
+
*/
|
|
70
|
+
removeListenerById(id: string): void;
|
|
66
71
|
/**
|
|
67
72
|
* Checks if there are any listeners registered for the given event
|
|
68
73
|
*
|
|
@@ -105,11 +110,6 @@ export declare class EventManager {
|
|
|
105
110
|
* Disposes the EventManager, releasing all listeners and interceptors.
|
|
106
111
|
*/
|
|
107
112
|
dispose(): void;
|
|
108
|
-
/**
|
|
109
|
-
* Retrieves cached merged listeners for an event, or creates them if not cached.
|
|
110
|
-
* Kept for backward compatibility (tests spy on this).
|
|
111
|
-
*/
|
|
112
|
-
private getCachedMergedListeners;
|
|
113
113
|
}
|
|
114
114
|
export type { IEventHandlerOptions };
|
|
115
115
|
export type { EventEmissionInterceptor, HookExecutionInterceptor };
|
|
@@ -3,15 +3,15 @@ export type LogLevels = "trace" | "debug" | "info" | "warn" | "error" | "critica
|
|
|
3
3
|
export interface PrintableLog {
|
|
4
4
|
level: LogLevels;
|
|
5
5
|
source?: string;
|
|
6
|
-
message:
|
|
6
|
+
message: unknown;
|
|
7
7
|
timestamp: Date;
|
|
8
8
|
error?: {
|
|
9
9
|
name: string;
|
|
10
10
|
message: string;
|
|
11
11
|
stack?: string;
|
|
12
12
|
};
|
|
13
|
-
data?: Record<string,
|
|
14
|
-
context?: Record<string,
|
|
13
|
+
data?: Record<string, unknown>;
|
|
14
|
+
context?: Record<string, unknown>;
|
|
15
15
|
}
|
|
16
16
|
export type ColorTheme = {
|
|
17
17
|
trace: string;
|
|
@@ -49,8 +49,8 @@ export declare class LogPrinter {
|
|
|
49
49
|
private static readonly DEFAULT_WRITERS;
|
|
50
50
|
private static writers;
|
|
51
51
|
static setWriters(writers: Partial<{
|
|
52
|
-
log: (msg:
|
|
53
|
-
error?: (msg:
|
|
52
|
+
log: (msg: string) => void;
|
|
53
|
+
error?: (msg: string) => void;
|
|
54
54
|
}>): void;
|
|
55
55
|
static resetWriters(): void;
|
|
56
56
|
}
|
|
@@ -3,22 +3,22 @@ export type LogLevels = "trace" | "debug" | "info" | "warn" | "error" | "critica
|
|
|
3
3
|
export interface ILogInfo {
|
|
4
4
|
source?: string;
|
|
5
5
|
error?: unknown | Error;
|
|
6
|
-
data?: Record<string,
|
|
7
|
-
context?: Record<string,
|
|
8
|
-
[key: string]:
|
|
6
|
+
data?: Record<string, unknown>;
|
|
7
|
+
context?: Record<string, unknown>;
|
|
8
|
+
[key: string]: unknown;
|
|
9
9
|
}
|
|
10
10
|
export interface ILog {
|
|
11
11
|
level: LogLevels;
|
|
12
12
|
source?: string;
|
|
13
|
-
message:
|
|
13
|
+
message: unknown;
|
|
14
14
|
timestamp: Date;
|
|
15
15
|
error?: {
|
|
16
16
|
name: string;
|
|
17
17
|
message: string;
|
|
18
18
|
stack?: string;
|
|
19
19
|
};
|
|
20
|
-
data?: Record<string,
|
|
21
|
-
context?: Record<string,
|
|
20
|
+
data?: Record<string, unknown>;
|
|
21
|
+
context?: Record<string, unknown>;
|
|
22
22
|
}
|
|
23
23
|
export type PrintStrategy = PrinterStrategy;
|
|
24
24
|
export declare class Logger {
|
|
@@ -46,26 +46,26 @@ export declare class Logger {
|
|
|
46
46
|
printStrategy: PrintStrategy;
|
|
47
47
|
bufferLogs: boolean;
|
|
48
48
|
useColors?: boolean;
|
|
49
|
-
}, boundContext?: Record<string,
|
|
49
|
+
}, boundContext?: Record<string, unknown>, source?: string, printer?: LogPrinter);
|
|
50
50
|
private detectColorSupport;
|
|
51
51
|
/**
|
|
52
52
|
* Creates a new logger instance with additional bound context
|
|
53
53
|
*/
|
|
54
54
|
with({ source, additionalContext: context, }: {
|
|
55
55
|
source?: string;
|
|
56
|
-
additionalContext?: Record<string,
|
|
56
|
+
additionalContext?: Record<string, unknown>;
|
|
57
57
|
}): Logger;
|
|
58
58
|
/**
|
|
59
59
|
* Core logging method with structured LogInfo
|
|
60
60
|
*/
|
|
61
|
-
log(level: LogLevels, message:
|
|
61
|
+
log(level: LogLevels, message: unknown, logInfo?: ILogInfo): Promise<void>;
|
|
62
62
|
private extractErrorInfo;
|
|
63
|
-
info(message:
|
|
64
|
-
error(message:
|
|
65
|
-
warn(message:
|
|
66
|
-
debug(message:
|
|
67
|
-
trace(message:
|
|
68
|
-
critical(message:
|
|
63
|
+
info(message: unknown, logInfo?: ILogInfo): Promise<void>;
|
|
64
|
+
error(message: unknown, logInfo?: ILogInfo): Promise<void>;
|
|
65
|
+
warn(message: unknown, logInfo?: ILogInfo): Promise<void>;
|
|
66
|
+
debug(message: unknown, logInfo?: ILogInfo): Promise<void>;
|
|
67
|
+
trace(message: unknown, logInfo?: ILogInfo): Promise<void>;
|
|
68
|
+
critical(message: unknown, logInfo?: ILogInfo): Promise<void>;
|
|
69
69
|
/**
|
|
70
70
|
* Direct print for tests and advanced scenarios. Delegates to LogPrinter.
|
|
71
71
|
*/
|
|
@@ -73,7 +73,7 @@ export declare class Logger {
|
|
|
73
73
|
/**
|
|
74
74
|
* @param listener - A listener that will be triggered for every log.
|
|
75
75
|
*/
|
|
76
|
-
onLog(listener: (log: ILog) =>
|
|
76
|
+
onLog(listener: (log: ILog) => void | Promise<void>): void;
|
|
77
77
|
/**
|
|
78
78
|
* Marks the logger as ready.
|
|
79
79
|
* This is used to trigger the local listeners and print the buffered logs (if they exists)
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { DependencyMapType, ITask, IResource, ResourceDependencyValuesType } from "../defs";
|
|
2
2
|
import { Store } from "./Store";
|
|
3
3
|
import { ITaskMiddleware, IResourceMiddleware } from "../defs";
|
|
4
|
+
import type { InterceptorOwnerSnapshot } from "./middleware/InterceptorRegistry";
|
|
4
5
|
import { TaskMiddlewareInterceptor, ResourceMiddlewareInterceptor } from "./middleware/types";
|
|
5
6
|
export type { TaskMiddlewareInterceptor, ResourceMiddlewareInterceptor };
|
|
6
7
|
/**
|
|
@@ -42,6 +43,12 @@ export declare class MiddlewareManager {
|
|
|
42
43
|
*/
|
|
43
44
|
intercept(kind: "task", interceptor: TaskMiddlewareInterceptor): void;
|
|
44
45
|
intercept(kind: "resource", interceptor: ResourceMiddlewareInterceptor): void;
|
|
46
|
+
/**
|
|
47
|
+
* @internal
|
|
48
|
+
* Same behavior as intercept(), but records owner metadata for tooling.
|
|
49
|
+
*/
|
|
50
|
+
interceptOwned(kind: "task", interceptor: TaskMiddlewareInterceptor, ownerResourceId?: string): void;
|
|
51
|
+
interceptOwned(kind: "resource", interceptor: ResourceMiddlewareInterceptor, ownerResourceId?: string): void;
|
|
45
52
|
/**
|
|
46
53
|
* Adds an interceptor for a specific middleware instance with better type safety
|
|
47
54
|
* This method automatically determines the type and provides type-safe access
|
|
@@ -51,6 +58,17 @@ export declare class MiddlewareManager {
|
|
|
51
58
|
*/
|
|
52
59
|
interceptMiddleware(middleware: ITaskMiddleware<any, any, any, any>, interceptor: TaskMiddlewareInterceptor): void;
|
|
53
60
|
interceptMiddleware(middleware: IResourceMiddleware<any, any, any, any>, interceptor: ResourceMiddlewareInterceptor): void;
|
|
61
|
+
/**
|
|
62
|
+
* @internal
|
|
63
|
+
* Same behavior as interceptMiddleware(), but records owner metadata for tooling.
|
|
64
|
+
*/
|
|
65
|
+
interceptMiddlewareOwned(middleware: ITaskMiddleware<any, any, any, any>, interceptor: TaskMiddlewareInterceptor, ownerResourceId?: string): void;
|
|
66
|
+
interceptMiddlewareOwned(middleware: IResourceMiddleware<any, any, any, any>, interceptor: ResourceMiddlewareInterceptor, ownerResourceId?: string): void;
|
|
67
|
+
/**
|
|
68
|
+
* @internal
|
|
69
|
+
* Snapshot of resource owners that registered middleware interceptors.
|
|
70
|
+
*/
|
|
71
|
+
getInterceptorOwnerSnapshot(): InterceptorOwnerSnapshot;
|
|
54
72
|
/**
|
|
55
73
|
* Compose a runner for a task with its local interceptors and applicable middlewares.
|
|
56
74
|
* Returns a function that accepts the task input and resolves to the task output.
|
|
@@ -8,6 +8,9 @@ export declare class OverrideManager {
|
|
|
8
8
|
override: RegisterableItems;
|
|
9
9
|
}>;
|
|
10
10
|
constructor(registry: StoreRegistry);
|
|
11
|
-
|
|
11
|
+
private getOverrideId;
|
|
12
|
+
private getOverrideType;
|
|
13
|
+
private getOverrideSourcesById;
|
|
14
|
+
storeOverridesDeeply<C>(element: IResource<C, any, any>, visited?: Set<string>): void;
|
|
12
15
|
processOverrides(): void;
|
|
13
16
|
}
|
|
@@ -14,6 +14,7 @@ export type QueueEvent = {
|
|
|
14
14
|
export declare class Queue {
|
|
15
15
|
private tail;
|
|
16
16
|
private disposed;
|
|
17
|
+
private pendingTaskCount;
|
|
17
18
|
private abortController;
|
|
18
19
|
private readonly eventManager;
|
|
19
20
|
private nextTaskId;
|
|
@@ -36,5 +37,6 @@ export declare class Queue {
|
|
|
36
37
|
}): Promise<void>;
|
|
37
38
|
on(type: QueueEventType, handler: (event: QueueEvent) => any): () => void;
|
|
38
39
|
once(type: QueueEventType, handler: (event: QueueEvent) => any): () => void;
|
|
40
|
+
isIdle(): boolean;
|
|
39
41
|
private emit;
|
|
40
42
|
}
|