@bluelibs/runner 5.3.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.
Files changed (189) hide show
  1. package/README.md +23 -22
  2. package/dist/browser/index.cjs +6159 -3049
  3. package/dist/browser/index.cjs.map +1 -1
  4. package/dist/browser/index.mjs +6157 -3046
  5. package/dist/browser/index.mjs.map +1 -1
  6. package/dist/edge/index.cjs +6159 -3049
  7. package/dist/edge/index.cjs.map +1 -1
  8. package/dist/edge/index.mjs +6157 -3046
  9. package/dist/edge/index.mjs.map +1 -1
  10. package/dist/node/node.cjs +10843 -10814
  11. package/dist/node/node.cjs.map +1 -1
  12. package/dist/node/node.mjs +10801 -10770
  13. package/dist/node/node.mjs.map +1 -1
  14. package/dist/types/definers/builders/asyncContext/fluent-builder.interface.d.ts +4 -0
  15. package/dist/types/definers/builders/error/fluent-builder.interface.d.ts +8 -1
  16. package/dist/types/definers/builders/error/index.d.ts +1 -0
  17. package/dist/types/definers/builders/error/types.d.ts +2 -1
  18. package/dist/types/definers/builders/error/utils.d.ts +1 -0
  19. package/dist/types/definers/builders/event/fluent-builder.interface.d.ts +10 -0
  20. package/dist/types/definers/builders/event/utils.d.ts +1 -4
  21. package/dist/types/definers/builders/hook/fluent-builder.interface.d.ts +3 -0
  22. package/dist/types/definers/builders/hook/types.d.ts +3 -0
  23. package/dist/types/definers/builders/hook/utils.d.ts +1 -4
  24. package/dist/types/definers/builders/middleware/index.d.ts +4 -2
  25. package/dist/types/definers/builders/middleware/resource.interface.d.ts +7 -0
  26. package/dist/types/definers/builders/middleware/task.interface.d.ts +7 -0
  27. package/dist/types/definers/builders/middleware/types.d.ts +22 -3
  28. package/dist/types/definers/builders/middleware/utils.d.ts +3 -4
  29. package/dist/types/definers/builders/override/hook.d.ts +3 -0
  30. package/dist/types/definers/builders/override/index.d.ts +5 -0
  31. package/dist/types/definers/builders/resource/fluent-builder.interface.d.ts +15 -0
  32. package/dist/types/definers/builders/resource/index.d.ts +0 -1
  33. package/dist/types/definers/builders/resource/types.d.ts +1 -0
  34. package/dist/types/definers/builders/resource/utils.d.ts +1 -4
  35. package/dist/types/definers/builders/shared/mergeUtils.d.ts +5 -0
  36. package/dist/types/definers/builders/tag/fluent-builder.interface.d.ts +4 -0
  37. package/dist/types/definers/builders/tag/utils.d.ts +1 -0
  38. package/dist/types/definers/builders/task/fluent-builder.interface.d.ts +4 -0
  39. package/dist/types/definers/builders/task/index.d.ts +2 -2
  40. package/dist/types/definers/builders/task/utils.d.ts +1 -4
  41. package/dist/types/definers/builders/utils.d.ts +7 -2
  42. package/dist/types/definers/defineError.d.ts +12 -2
  43. package/dist/types/definers/resourceFork.d.ts +3 -1
  44. package/dist/types/definers/tools.d.ts +12 -12
  45. package/dist/types/errors/domain-error-ids.d.ts +44 -0
  46. package/dist/types/errors/domain-runtime.errors.d.ts +136 -0
  47. package/dist/types/errors/foundation.errors.d.ts +125 -0
  48. package/dist/types/errors/generic.errors.d.ts +1 -0
  49. package/dist/types/errors/model-runtime.errors.d.ts +20 -0
  50. package/dist/types/errors.d.ts +5 -74
  51. package/dist/types/globals/cron/cron-parser.d.ts +4 -0
  52. package/dist/types/globals/cron/cron.errors.d.ts +8 -0
  53. package/dist/types/globals/cron/cron.resource.d.ts +12 -0
  54. package/dist/types/globals/cron/cron.tag.d.ts +2 -0
  55. package/dist/types/globals/cron/types.d.ts +25 -0
  56. package/dist/types/globals/globalMiddleware.d.ts +87 -13
  57. package/dist/types/globals/globalResources.d.ts +110 -24
  58. package/dist/types/globals/globalTags.d.ts +10 -2
  59. package/dist/types/globals/middleware/cache.middleware.d.ts +173 -13
  60. package/dist/types/globals/middleware/circuitBreaker.middleware.d.ts +5 -1
  61. package/dist/types/globals/middleware/concurrency.middleware.d.ts +3 -0
  62. package/dist/types/globals/middleware/fallback.middleware.d.ts +8 -1
  63. package/dist/types/globals/middleware/rateLimit.middleware.d.ts +4 -1
  64. package/dist/types/globals/middleware/retry.middleware.d.ts +5 -0
  65. package/dist/types/globals/middleware/temporal.middleware.d.ts +19 -19
  66. package/dist/types/globals/middleware/timeout.middleware.d.ts +4 -1
  67. package/dist/types/globals/resources/eventManager.resource.d.ts +2 -0
  68. package/dist/types/globals/resources/logger.resource.d.ts +2 -0
  69. package/dist/types/globals/resources/middlewareManager.resource.d.ts +2 -0
  70. package/dist/types/globals/resources/queue.resource.d.ts +2 -0
  71. package/dist/types/globals/resources/runtime.resource.d.ts +2 -0
  72. package/dist/types/globals/resources/serializer.resource.d.ts +2 -0
  73. package/dist/types/globals/resources/store.resource.d.ts +2 -0
  74. package/dist/types/globals/resources/taskRunner.resource.d.ts +2 -0
  75. package/dist/types/globals/resources/tunnel/plan.d.ts +6 -3
  76. package/dist/types/globals/resources/tunnel/tunnel.policy.tag.d.ts +2 -0
  77. package/dist/types/globals/resources/tunnel/types.d.ts +7 -2
  78. package/dist/types/globals/types.d.ts +6 -1
  79. package/dist/types/models/BuiltinsRegistry.d.ts +2 -0
  80. package/dist/types/models/DependencyProcessor.d.ts +27 -6
  81. package/dist/types/models/EventManager.d.ts +9 -9
  82. package/dist/types/models/LogPrinter.d.ts +5 -5
  83. package/dist/types/models/Logger.d.ts +16 -16
  84. package/dist/types/models/MiddlewareManager.d.ts +20 -2
  85. package/dist/types/models/OverrideManager.d.ts +4 -1
  86. package/dist/types/models/Queue.d.ts +2 -0
  87. package/dist/types/models/RunResult.d.ts +290 -26
  88. package/dist/types/models/Store.d.ts +29 -12
  89. package/dist/types/models/StoreRegistry.d.ts +16 -13
  90. package/dist/types/models/StoreValidator.d.ts +2 -0
  91. package/dist/types/models/TaskRunner.d.ts +3 -1
  92. package/dist/types/models/VisibilityTracker.d.ts +75 -0
  93. package/dist/types/models/dependency-processor/DependencyExtractor.d.ts +23 -0
  94. package/dist/types/models/dependency-processor/HookEventBuffer.d.ts +15 -0
  95. package/dist/types/models/dependency-processor/ResourceScheduler.d.ts +10 -0
  96. package/dist/types/models/event/EmissionExecutor.d.ts +5 -4
  97. package/dist/types/models/event/ListenerRegistry.d.ts +2 -0
  98. package/dist/types/models/index.d.ts +1 -3
  99. package/dist/types/models/middleware/InterceptorRegistry.d.ts +13 -4
  100. package/dist/types/models/middleware/ResourceMiddlewareComposer.d.ts +3 -2
  101. package/dist/types/models/middleware/ValidationHelper.d.ts +3 -6
  102. package/dist/types/models/utils/buildDependencyGraph.d.ts +12 -0
  103. package/dist/types/models/utils/dependencyStrategies.d.ts +15 -0
  104. package/dist/types/models/utils/disposeOrder.d.ts +11 -0
  105. package/dist/types/models/utils/resourceDependencyIds.d.ts +1 -0
  106. package/dist/types/node/durable/bus/MemoryEventBus.d.ts +10 -1
  107. package/dist/types/node/durable/bus/NoopEventBus.d.ts +1 -1
  108. package/dist/types/node/durable/bus/RedisEventBus.d.ts +8 -2
  109. package/dist/types/node/durable/core/CronParser.d.ts +2 -13
  110. package/dist/types/node/durable/core/DurableResource.d.ts +15 -32
  111. package/dist/types/node/durable/core/DurableService.d.ts +1 -0
  112. package/dist/types/node/durable/core/DurableWorker.d.ts +4 -2
  113. package/dist/types/node/durable/core/createRunnerDurableRuntime.d.ts +2 -0
  114. package/dist/types/node/durable/core/interfaces/bus.d.ts +1 -1
  115. package/dist/types/node/durable/core/interfaces/resource.d.ts +61 -0
  116. package/dist/types/node/durable/core/interfaces/service.d.ts +2 -0
  117. package/dist/types/node/durable/core/interfaces/store.d.ts +5 -0
  118. package/dist/types/node/durable/core/managers/ExecutionManager.d.ts +1 -0
  119. package/dist/types/node/durable/core/managers/PollingManager.d.ts +3 -1
  120. package/dist/types/node/durable/core/resource.d.ts +6 -5
  121. package/dist/types/node/durable/core/utils.d.ts +11 -1
  122. package/dist/types/node/durable/queue/RabbitMQQueue.d.ts +4 -0
  123. package/dist/types/node/durable/resources/memoryDurableResource.d.ts +7 -5
  124. package/dist/types/node/durable/resources/redisDurableResource.d.ts +7 -5
  125. package/dist/types/node/durable/store/MemoryStore.d.ts +2 -0
  126. package/dist/types/node/durable/store/RedisStore.d.ts +1 -0
  127. package/dist/types/node/durable/tags/durableWorkflow.tag.d.ts +6 -1
  128. package/dist/types/node/exposure/allowList.d.ts +2 -1
  129. package/dist/types/node/exposure/handlers/contextWrapper.d.ts +6 -2
  130. package/dist/types/node/exposure/handlers/errorHandlers.d.ts +1 -0
  131. package/dist/types/node/exposure/handlers/eventHandler.d.ts +1 -0
  132. package/dist/types/node/exposure/handlers/taskHandler.d.ts +3 -1
  133. package/dist/types/node/exposure/logging.d.ts +1 -0
  134. package/dist/types/node/exposure/requestContext.d.ts +1 -1
  135. package/dist/types/node/exposure/requestHandlers.d.ts +3 -1
  136. package/dist/types/node/exposure/requestIdentity.d.ts +3 -0
  137. package/dist/types/node/exposure/resource.d.ts +7 -7
  138. package/dist/types/node/exposure/resourceTypes.d.ts +6 -0
  139. package/dist/types/node/exposure/serverLifecycle.d.ts +2 -0
  140. package/dist/types/node/http/http-mixed-client.factory.resource.d.ts +1 -1
  141. package/dist/types/node/http/http-smart-client.factory.resource.d.ts +1 -1
  142. package/dist/types/node/node.d.ts +1 -184
  143. package/dist/types/node/tunnel/allowlist.d.ts +10 -1
  144. package/dist/types/platform/adapters/browser.d.ts +1 -1
  145. package/dist/types/platform/adapters/edge.d.ts +17 -0
  146. package/dist/types/platform/adapters/node-als.d.ts +1 -1
  147. package/dist/types/platform/adapters/node.d.ts +1 -1
  148. package/dist/types/platform/adapters/universal-generic.d.ts +5 -2
  149. package/dist/types/platform/adapters/universal.d.ts +1 -1
  150. package/dist/types/platform/index.d.ts +3 -2
  151. package/dist/types/platform/types.d.ts +8 -2
  152. package/dist/types/public.d.ts +376 -20
  153. package/dist/types/run.d.ts +17 -1
  154. package/dist/types/serializer/Serializer.d.ts +1 -41
  155. package/dist/types/serializer/errors.d.ts +8 -0
  156. package/dist/types/serializer/marker-key-escapes.d.ts +2 -0
  157. package/dist/types/serializer/serialize-utils.d.ts +1 -1
  158. package/dist/types/serializer/type-registry.d.ts +0 -1
  159. package/dist/types/serializer/types.d.ts +7 -6
  160. package/dist/types/testing.d.ts +1 -0
  161. package/dist/types/tools/LockableMap.d.ts +20 -0
  162. package/dist/types/tools/getAllThrows.d.ts +13 -0
  163. package/dist/types/tools/throws.d.ts +1 -1
  164. package/dist/types/types/error.d.ts +25 -2
  165. package/dist/types/types/event.d.ts +35 -0
  166. package/dist/types/types/hook.d.ts +8 -0
  167. package/dist/types/types/resource.d.ts +13 -1
  168. package/dist/types/types/resourceMiddleware.d.ts +8 -0
  169. package/dist/types/types/runner.d.ts +56 -0
  170. package/dist/types/types/storeTypes.d.ts +5 -1
  171. package/dist/types/types/symbols.d.ts +1 -1
  172. package/dist/types/types/tag.d.ts +1 -0
  173. package/dist/types/types/tagged.d.ts +2 -2
  174. package/dist/types/types/task.d.ts +3 -3
  175. package/dist/types/types/taskMiddleware.d.ts +8 -0
  176. package/dist/types/types/utilities.d.ts +25 -3
  177. package/dist/ui/assets/index-B4lZaXFJ.js +141 -0
  178. package/dist/ui/assets/index-Y_9aLumt.css +1 -0
  179. package/dist/ui/index.html +2 -3
  180. package/dist/universal/index.cjs +6159 -3049
  181. package/dist/universal/index.cjs.map +1 -1
  182. package/dist/universal/index.mjs +6157 -3046
  183. package/dist/universal/index.mjs.map +1 -1
  184. package/package.json +18 -15
  185. package/readmes/AI.md +181 -45
  186. package/dist/ui/assets/index-2cb8f39f.js +0 -141
  187. package/dist/ui/assets/index-b1f988bf.css +0 -1
  188. /package/dist/types/{tunnels → tools}/buildUniversalManifest.d.ts +0 -0
  189. /package/dist/types/{processHooks.d.ts → tools/processShutdownHooks.d.ts} +0 -0
@@ -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 | ITaskMiddleware<any, any, any, any>>;
16
- server?: Array<string | ITaskMiddleware<any, any, any, any>>;
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?: any) => Promise<any>;
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<any>;
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";
@@ -0,0 +1,2 @@
1
+ import type { StoreRegistry } from "./StoreRegistry";
2
+ export declare function registerStoreBuiltins(registry: StoreRegistry): void;
@@ -1,10 +1,14 @@
1
- import { DependencyMapType, DependencyValuesType, ITask, IResource, IEvent, TaskCallOptions } from "../defs";
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,34 +17,51 @@ 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
- constructor(store: Store, eventManager: EventManager, taskRunner: TaskRunner, logger: Logger);
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
- extractDependency(object: any, source: string): Promise<any>;
58
+ extractDependency(object: unknown, source: string): Promise<any>;
38
59
  /**
39
60
  * Converts the event into a running functions with real inputs
40
61
  * @param object
41
62
  * @returns
42
63
  */
43
- extractEventDependency(object: IEvent<any>, source: string): (input: any) => Promise<void>;
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: any;
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, any>;
14
- context?: Record<string, any>;
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: any) => void;
53
- error?: (msg: any) => void;
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, any>;
7
- context?: Record<string, any>;
8
- [key: string]: any;
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: any;
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, any>;
21
- context?: Record<string, any>;
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, any>, source?: string, printer?: LogPrinter);
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, any>;
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: any, logInfo?: ILogInfo): Promise<void>;
61
+ log(level: LogLevels, message: unknown, logInfo?: ILogInfo): Promise<void>;
62
62
  private extractErrorInfo;
63
- info(message: any, logInfo?: ILogInfo): Promise<void>;
64
- error(message: any, logInfo?: ILogInfo): Promise<void>;
65
- warn(message: any, logInfo?: ILogInfo): Promise<void>;
66
- debug(message: any, logInfo?: ILogInfo): Promise<void>;
67
- trace(message: any, logInfo?: ILogInfo): Promise<void>;
68
- critical(message: any, logInfo?: ILogInfo): Promise<void>;
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) => any): void;
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
- import { DependencyMapType, ITask, IResource } from "../defs";
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.
@@ -59,7 +77,7 @@ export declare class MiddlewareManager {
59
77
  /**
60
78
  * Run a resource init wrapped with its applicable middlewares.
61
79
  */
62
- runResourceInit<C, V extends Promise<any>, D extends DependencyMapType, TContext>(resource: IResource<C, V, D, TContext>, config: C, dependencies: any, context: TContext): Promise<V | undefined>;
80
+ runResourceInit<C, V extends Promise<any>, D extends DependencyMapType, TContext>(resource: IResource<C, V, D, TContext>, config: C, dependencies: ResourceDependencyValuesType<D>, context: TContext): Promise<V | undefined>;
63
81
  /**
64
82
  * Gets all "everywhere" middlewares that apply to the given task
65
83
  * @deprecated Internal method exposed for testing - may be removed in future versions
@@ -8,6 +8,9 @@ export declare class OverrideManager {
8
8
  override: RegisterableItems;
9
9
  }>;
10
10
  constructor(registry: StoreRegistry);
11
- storeOverridesDeeply<C>(element: IResource<C, any, any>): void;
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
  }