@bluelibs/runner 4.5.0-alpha → 4.5.0-alpha.2

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 (228) hide show
  1. package/dist/index.cjs +4265 -0
  2. package/dist/index.cjs.map +1 -0
  3. package/dist/index.d.mts +1734 -0
  4. package/dist/index.d.ts +1696 -45
  5. package/dist/index.mjs +4233 -0
  6. package/dist/index.mjs.map +1 -0
  7. package/package.json +11 -14
  8. package/dist/context.d.ts +0 -29
  9. package/dist/context.js +0 -52
  10. package/dist/context.js.map +0 -1
  11. package/dist/define.d.ts +0 -9
  12. package/dist/define.js +0 -32
  13. package/dist/define.js.map +0 -1
  14. package/dist/definers/defineEvent.d.ts +0 -2
  15. package/dist/definers/defineEvent.js +0 -23
  16. package/dist/definers/defineEvent.js.map +0 -1
  17. package/dist/definers/defineHook.d.ts +0 -6
  18. package/dist/definers/defineHook.js +0 -24
  19. package/dist/definers/defineHook.js.map +0 -1
  20. package/dist/definers/defineOverride.d.ts +0 -14
  21. package/dist/definers/defineOverride.js +0 -13
  22. package/dist/definers/defineOverride.js.map +0 -1
  23. package/dist/definers/defineResource.d.ts +0 -2
  24. package/dist/definers/defineResource.js +0 -69
  25. package/dist/definers/defineResource.js.map +0 -1
  26. package/dist/definers/defineResourceMiddleware.d.ts +0 -2
  27. package/dist/definers/defineResourceMiddleware.js +0 -42
  28. package/dist/definers/defineResourceMiddleware.js.map +0 -1
  29. package/dist/definers/defineTag.d.ts +0 -12
  30. package/dist/definers/defineTag.js +0 -107
  31. package/dist/definers/defineTag.js.map +0 -1
  32. package/dist/definers/defineTask.d.ts +0 -15
  33. package/dist/definers/defineTask.js +0 -42
  34. package/dist/definers/defineTask.js.map +0 -1
  35. package/dist/definers/defineTaskMiddleware.d.ts +0 -2
  36. package/dist/definers/defineTaskMiddleware.js +0 -42
  37. package/dist/definers/defineTaskMiddleware.js.map +0 -1
  38. package/dist/definers/tools.d.ts +0 -45
  39. package/dist/definers/tools.js +0 -75
  40. package/dist/definers/tools.js.map +0 -1
  41. package/dist/defs.d.ts +0 -29
  42. package/dist/defs.js +0 -45
  43. package/dist/defs.js.map +0 -1
  44. package/dist/errors.d.ts +0 -96
  45. package/dist/errors.js +0 -178
  46. package/dist/errors.js.map +0 -1
  47. package/dist/globals/globalEvents.d.ts +0 -17
  48. package/dist/globals/globalEvents.js +0 -33
  49. package/dist/globals/globalEvents.js.map +0 -1
  50. package/dist/globals/globalMiddleware.d.ts +0 -31
  51. package/dist/globals/globalMiddleware.js +0 -25
  52. package/dist/globals/globalMiddleware.js.map +0 -1
  53. package/dist/globals/globalResources.d.ts +0 -30
  54. package/dist/globals/globalResources.js +0 -55
  55. package/dist/globals/globalResources.js.map +0 -1
  56. package/dist/globals/globalTags.d.ts +0 -9
  57. package/dist/globals/globalTags.js +0 -23
  58. package/dist/globals/globalTags.js.map +0 -1
  59. package/dist/globals/middleware/cache.middleware.d.ts +0 -27
  60. package/dist/globals/middleware/cache.middleware.js +0 -73
  61. package/dist/globals/middleware/cache.middleware.js.map +0 -1
  62. package/dist/globals/middleware/requireContext.middleware.d.ts +0 -6
  63. package/dist/globals/middleware/requireContext.middleware.js +0 -16
  64. package/dist/globals/middleware/requireContext.middleware.js.map +0 -1
  65. package/dist/globals/middleware/retry.middleware.d.ts +0 -21
  66. package/dist/globals/middleware/retry.middleware.js +0 -61
  67. package/dist/globals/middleware/retry.middleware.js.map +0 -1
  68. package/dist/globals/middleware/timeout.middleware.d.ts +0 -9
  69. package/dist/globals/middleware/timeout.middleware.js +0 -61
  70. package/dist/globals/middleware/timeout.middleware.js.map +0 -1
  71. package/dist/globals/resources/debug/debug.resource.d.ts +0 -7
  72. package/dist/globals/resources/debug/debug.resource.js +0 -29
  73. package/dist/globals/resources/debug/debug.resource.js.map +0 -1
  74. package/dist/globals/resources/debug/debug.tag.d.ts +0 -2
  75. package/dist/globals/resources/debug/debug.tag.js +0 -12
  76. package/dist/globals/resources/debug/debug.tag.js.map +0 -1
  77. package/dist/globals/resources/debug/debugConfig.resource.d.ts +0 -22
  78. package/dist/globals/resources/debug/debugConfig.resource.js +0 -20
  79. package/dist/globals/resources/debug/debugConfig.resource.js.map +0 -1
  80. package/dist/globals/resources/debug/executionTracker.middleware.d.ts +0 -50
  81. package/dist/globals/resources/debug/executionTracker.middleware.js +0 -78
  82. package/dist/globals/resources/debug/executionTracker.middleware.js.map +0 -1
  83. package/dist/globals/resources/debug/globalEvent.hook.d.ts +0 -27
  84. package/dist/globals/resources/debug/globalEvent.hook.js +0 -38
  85. package/dist/globals/resources/debug/globalEvent.hook.js.map +0 -1
  86. package/dist/globals/resources/debug/hook.hook.d.ts +0 -30
  87. package/dist/globals/resources/debug/hook.hook.js +0 -48
  88. package/dist/globals/resources/debug/hook.hook.js.map +0 -1
  89. package/dist/globals/resources/debug/index.d.ts +0 -6
  90. package/dist/globals/resources/debug/index.js +0 -23
  91. package/dist/globals/resources/debug/index.js.map +0 -1
  92. package/dist/globals/resources/debug/middleware.hook.d.ts +0 -30
  93. package/dist/globals/resources/debug/middleware.hook.js +0 -75
  94. package/dist/globals/resources/debug/middleware.hook.js.map +0 -1
  95. package/dist/globals/resources/debug/types.d.ts +0 -25
  96. package/dist/globals/resources/debug/types.js +0 -65
  97. package/dist/globals/resources/debug/types.js.map +0 -1
  98. package/dist/globals/resources/debug/utils.d.ts +0 -2
  99. package/dist/globals/resources/debug/utils.js +0 -13
  100. package/dist/globals/resources/debug/utils.js.map +0 -1
  101. package/dist/globals/resources/queue.resource.d.ts +0 -10
  102. package/dist/globals/resources/queue.resource.js +0 -31
  103. package/dist/globals/resources/queue.resource.js.map +0 -1
  104. package/dist/globals/types.d.ts +0 -1
  105. package/dist/globals/types.js +0 -18
  106. package/dist/globals/types.js.map +0 -1
  107. package/dist/index.js +0 -48
  108. package/dist/index.js.map +0 -1
  109. package/dist/models/DependencyProcessor.d.ts +0 -48
  110. package/dist/models/DependencyProcessor.js +0 -276
  111. package/dist/models/DependencyProcessor.js.map +0 -1
  112. package/dist/models/EventManager.d.ts +0 -153
  113. package/dist/models/EventManager.js +0 -421
  114. package/dist/models/EventManager.js.map +0 -1
  115. package/dist/models/LogPrinter.d.ts +0 -55
  116. package/dist/models/LogPrinter.js +0 -202
  117. package/dist/models/LogPrinter.js.map +0 -1
  118. package/dist/models/Logger.d.ts +0 -85
  119. package/dist/models/Logger.js +0 -194
  120. package/dist/models/Logger.js.map +0 -1
  121. package/dist/models/MiddlewareManager.d.ts +0 -86
  122. package/dist/models/MiddlewareManager.js +0 -391
  123. package/dist/models/MiddlewareManager.js.map +0 -1
  124. package/dist/models/OverrideManager.d.ts +0 -13
  125. package/dist/models/OverrideManager.js +0 -84
  126. package/dist/models/OverrideManager.js.map +0 -1
  127. package/dist/models/Queue.d.ts +0 -25
  128. package/dist/models/Queue.js +0 -56
  129. package/dist/models/Queue.js.map +0 -1
  130. package/dist/models/ResourceInitializer.d.ts +0 -20
  131. package/dist/models/ResourceInitializer.js +0 -34
  132. package/dist/models/ResourceInitializer.js.map +0 -1
  133. package/dist/models/RunResult.d.ts +0 -35
  134. package/dist/models/RunResult.js +0 -62
  135. package/dist/models/RunResult.js.map +0 -1
  136. package/dist/models/Semaphore.d.ts +0 -61
  137. package/dist/models/Semaphore.js +0 -164
  138. package/dist/models/Semaphore.js.map +0 -1
  139. package/dist/models/Store.d.ts +0 -56
  140. package/dist/models/Store.js +0 -209
  141. package/dist/models/Store.js.map +0 -1
  142. package/dist/models/StoreRegistry.d.ts +0 -43
  143. package/dist/models/StoreRegistry.js +0 -375
  144. package/dist/models/StoreRegistry.js.map +0 -1
  145. package/dist/models/StoreValidator.d.ts +0 -8
  146. package/dist/models/StoreValidator.js +0 -73
  147. package/dist/models/StoreValidator.js.map +0 -1
  148. package/dist/models/TaskRunner.d.ts +0 -27
  149. package/dist/models/TaskRunner.js +0 -53
  150. package/dist/models/TaskRunner.js.map +0 -1
  151. package/dist/models/UnhandledError.d.ts +0 -11
  152. package/dist/models/UnhandledError.js +0 -32
  153. package/dist/models/UnhandledError.js.map +0 -1
  154. package/dist/models/index.d.ts +0 -11
  155. package/dist/models/index.js +0 -28
  156. package/dist/models/index.js.map +0 -1
  157. package/dist/models/utils/findCircularDependencies.d.ts +0 -16
  158. package/dist/models/utils/findCircularDependencies.js +0 -45
  159. package/dist/models/utils/findCircularDependencies.js.map +0 -1
  160. package/dist/models/utils/safeStringify.d.ts +0 -3
  161. package/dist/models/utils/safeStringify.js +0 -45
  162. package/dist/models/utils/safeStringify.js.map +0 -1
  163. package/dist/platform/browser.d.ts +0 -15
  164. package/dist/platform/browser.js +0 -98
  165. package/dist/platform/browser.js.map +0 -1
  166. package/dist/platform/index.d.ts +0 -8
  167. package/dist/platform/index.js +0 -47
  168. package/dist/platform/index.js.map +0 -1
  169. package/dist/platform/node.d.ts +0 -11
  170. package/dist/platform/node.js +0 -45
  171. package/dist/platform/node.js.map +0 -1
  172. package/dist/platform/types.d.ts +0 -28
  173. package/dist/platform/types.js +0 -19
  174. package/dist/platform/types.js.map +0 -1
  175. package/dist/platform/universal.d.ts +0 -16
  176. package/dist/platform/universal.js +0 -57
  177. package/dist/platform/universal.js.map +0 -1
  178. package/dist/processHooks.d.ts +0 -2
  179. package/dist/processHooks.js +0 -79
  180. package/dist/processHooks.js.map +0 -1
  181. package/dist/run.d.ts +0 -14
  182. package/dist/run.js +0 -126
  183. package/dist/run.js.map +0 -1
  184. package/dist/testing.d.ts +0 -25
  185. package/dist/testing.js +0 -42
  186. package/dist/testing.js.map +0 -1
  187. package/dist/tools/getCallerFile.d.ts +0 -1
  188. package/dist/tools/getCallerFile.js +0 -30
  189. package/dist/tools/getCallerFile.js.map +0 -1
  190. package/dist/types/contracts.d.ts +0 -55
  191. package/dist/types/contracts.js +0 -4
  192. package/dist/types/contracts.js.map +0 -1
  193. package/dist/types/event.d.ts +0 -74
  194. package/dist/types/event.js +0 -17
  195. package/dist/types/event.js.map +0 -1
  196. package/dist/types/hook.d.ts +0 -23
  197. package/dist/types/hook.js +0 -4
  198. package/dist/types/hook.js.map +0 -1
  199. package/dist/types/meta.d.ts +0 -18
  200. package/dist/types/meta.js +0 -7
  201. package/dist/types/meta.js.map +0 -1
  202. package/dist/types/resource.d.ts +0 -84
  203. package/dist/types/resource.js +0 -4
  204. package/dist/types/resource.js.map +0 -1
  205. package/dist/types/resourceMiddleware.d.ts +0 -47
  206. package/dist/types/resourceMiddleware.js +0 -4
  207. package/dist/types/resourceMiddleware.js.map +0 -1
  208. package/dist/types/runner.d.ts +0 -55
  209. package/dist/types/runner.js +0 -3
  210. package/dist/types/runner.js.map +0 -1
  211. package/dist/types/storeTypes.d.ts +0 -40
  212. package/dist/types/storeTypes.js +0 -3
  213. package/dist/types/storeTypes.js.map +0 -1
  214. package/dist/types/symbols.d.ts +0 -30
  215. package/dist/types/symbols.js +0 -40
  216. package/dist/types/symbols.js.map +0 -1
  217. package/dist/types/tag.d.ts +0 -46
  218. package/dist/types/tag.js +0 -4
  219. package/dist/types/tag.js.map +0 -1
  220. package/dist/types/task.d.ts +0 -44
  221. package/dist/types/task.js +0 -4
  222. package/dist/types/task.js.map +0 -1
  223. package/dist/types/taskMiddleware.d.ts +0 -48
  224. package/dist/types/taskMiddleware.js +0 -4
  225. package/dist/types/taskMiddleware.js.map +0 -1
  226. package/dist/types/utilities.d.ts +0 -110
  227. package/dist/types/utilities.js +0 -19
  228. package/dist/types/utilities.js.map +0 -1
@@ -1,391 +0,0 @@
1
- "use strict";
2
- var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {
3
- if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
4
- if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
5
- return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
6
- };
7
- var __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (receiver, state, value, kind, f) {
8
- if (kind === "m") throw new TypeError("Private method is not writable");
9
- if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a setter");
10
- if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot write private member to an object whose class did not declare it");
11
- return (kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;
12
- };
13
- var _MiddlewareManager_isLocked;
14
- Object.defineProperty(exports, "__esModule", { value: true });
15
- exports.MiddlewareManager = void 0;
16
- const errors_1 = require("../errors");
17
- const define_1 = require("../define");
18
- /**
19
- * Centralizes middleware composition and execution for both tasks and resources.
20
- * Keeps observability emissions and unhandled error routing consistent.
21
- */
22
- class MiddlewareManager {
23
- constructor(store, eventManager, logger) {
24
- this.store = store;
25
- this.eventManager = eventManager;
26
- this.logger = logger;
27
- // Interceptor storage
28
- this.taskMiddlewareInterceptors = [];
29
- this.resourceMiddlewareInterceptors = [];
30
- // Per-middleware interceptor storage
31
- this.perMiddlewareInterceptors = new Map();
32
- this.perResourceMiddlewareInterceptors = new Map();
33
- // Locking mechanism to prevent modifications after initialization
34
- _MiddlewareManager_isLocked.set(this, false);
35
- }
36
- /**
37
- * Gets the current lock status of the MiddlewareManager
38
- */
39
- get isLocked() {
40
- return __classPrivateFieldGet(this, _MiddlewareManager_isLocked, "f");
41
- }
42
- /**
43
- * Locks the MiddlewareManager, preventing any further modifications to interceptors
44
- */
45
- lock() {
46
- __classPrivateFieldSet(this, _MiddlewareManager_isLocked, true, "f");
47
- }
48
- /**
49
- * Throws an error if the MiddlewareManager is locked
50
- */
51
- checkLock() {
52
- if (__classPrivateFieldGet(this, _MiddlewareManager_isLocked, "f")) {
53
- throw new errors_1.LockedError("MiddlewareManager");
54
- }
55
- }
56
- /**
57
- * Adds an interceptor for task or resource middleware execution
58
- * Interceptors are executed in the order they are added, with the ability to
59
- * modify, log, or prevent middleware execution
60
- *
61
- * @param kind - The type of middleware to intercept ("task" or "resource")
62
- * @param interceptor - The interceptor function to add
63
- */
64
- intercept(kind, interceptor) {
65
- this.checkLock();
66
- if (kind === "task") {
67
- this.taskMiddlewareInterceptors.push(interceptor);
68
- }
69
- else {
70
- this.resourceMiddlewareInterceptors.push(interceptor);
71
- }
72
- }
73
- /**
74
- * Adds an interceptor for a specific middleware instance with better type safety
75
- * This method automatically determines the type and provides type-safe access
76
- *
77
- * @param middleware - The middleware instance to intercept
78
- * @param interceptor - The interceptor function with proper typing
79
- */
80
- interceptMiddleware(middleware, interceptor) {
81
- this.checkLock();
82
- // Determine the type based on the middleware's symbol
83
- if ((0, define_1.isTaskMiddleware)(middleware)) {
84
- // Store per-middleware interceptor instead of adding to global pool
85
- if (!this.perMiddlewareInterceptors.has(middleware.id)) {
86
- this.perMiddlewareInterceptors.set(middleware.id, []);
87
- }
88
- this.perMiddlewareInterceptors
89
- .get(middleware.id)
90
- .push(interceptor);
91
- }
92
- else if ((0, define_1.isResourceMiddleware)(middleware)) {
93
- // Store per-middleware interceptor instead of adding to global pool
94
- if (!this.perResourceMiddlewareInterceptors.has(middleware.id)) {
95
- this.perResourceMiddlewareInterceptors.set(middleware.id, []);
96
- }
97
- this.perResourceMiddlewareInterceptors
98
- .get(middleware.id)
99
- .push(interceptor);
100
- }
101
- else {
102
- throw new Error("Unknown middleware type");
103
- }
104
- }
105
- /**
106
- * Wrap a middleware with its specific interceptors in onion style
107
- */
108
- wrapMiddlewareWithInterceptors(middleware, middlewareRunner, interceptors) {
109
- if (!interceptors.length) {
110
- return middlewareRunner;
111
- }
112
- // Apply interceptors in reverse order (last added runs first)
113
- const reversedInterceptors = [...interceptors].reverse();
114
- let wrapped = middlewareRunner;
115
- for (let i = reversedInterceptors.length - 1; i >= 0; i--) {
116
- const interceptor = reversedInterceptors[i];
117
- const nextFunction = wrapped;
118
- wrapped = async (input) => {
119
- // Create execution input for the interceptor
120
- const executionInput = {
121
- task: {
122
- definition: null, // Will be filled by middleware.run
123
- input: input,
124
- },
125
- next: nextFunction,
126
- };
127
- // Provide a next function that accepts an execution input and forwards the raw input
128
- const wrappedNext = (i) => {
129
- return nextFunction(i.task.input);
130
- };
131
- return interceptor(wrappedNext, executionInput);
132
- };
133
- }
134
- return wrapped;
135
- }
136
- /**
137
- * Wrap a resource middleware with its specific interceptors in onion style
138
- */
139
- wrapResourceMiddlewareWithInterceptors(middleware, middlewareRunner, interceptors) {
140
- if (!interceptors.length) {
141
- return middlewareRunner;
142
- }
143
- // Apply interceptors in reverse order (last added runs first)
144
- const reversedInterceptors = [...interceptors].reverse();
145
- let wrapped = middlewareRunner;
146
- for (let i = reversedInterceptors.length - 1; i >= 0; i--) {
147
- const interceptor = reversedInterceptors[i];
148
- const nextFunction = wrapped;
149
- wrapped = async (config) => {
150
- // Create execution input for the interceptor
151
- const executionInput = {
152
- resource: {
153
- definition: null, // Will be filled by middleware.run
154
- config: config,
155
- },
156
- next: nextFunction,
157
- };
158
- // Provide a next function that accepts an execution input and forwards the raw config
159
- const wrappedNext = (input) => {
160
- return nextFunction(input.resource.config);
161
- };
162
- return interceptor(wrappedNext, executionInput);
163
- };
164
- }
165
- return wrapped;
166
- }
167
- /**
168
- * Compose a runner for a task with its local interceptors and applicable middlewares.
169
- * Returns a function that accepts the task input and resolves to the task output.
170
- */
171
- composeTaskRunner(task) {
172
- const storeTask = this.store.tasks.get(task.id);
173
- // Base next executes the task with validation
174
- let next = async (input) => {
175
- // Extract raw input from execution input if needed
176
- let rawInput = input;
177
- if (task.inputSchema) {
178
- try {
179
- rawInput = task.inputSchema.parse(rawInput);
180
- }
181
- catch (error) {
182
- throw new errors_1.ValidationError("Task input", task.id, error instanceof Error ? error : new Error(String(error)));
183
- }
184
- }
185
- const deps = storeTask.computedDependencies;
186
- const rawResult = await task.run.call(null, rawInput, deps);
187
- if (task.resultSchema) {
188
- try {
189
- return task.resultSchema.parse(rawResult);
190
- }
191
- catch (error) {
192
- throw new errors_1.ValidationError("Task result", task.id, error);
193
- }
194
- }
195
- return rawResult;
196
- };
197
- // Inject local per-task interceptors first (closest to the task)
198
- if (storeTask.interceptors && storeTask.interceptors.length > 0) {
199
- for (let i = storeTask.interceptors.length - 1; i >= 0; i--) {
200
- const interceptor = storeTask.interceptors[i];
201
- const nextFunction = next;
202
- next = async (input) => interceptor(nextFunction, input);
203
- }
204
- }
205
- // Apply task middleware interceptors (last added runs first)
206
- if (this.taskMiddlewareInterceptors.length > 0) {
207
- const reversedInterceptors = [
208
- ...this.taskMiddlewareInterceptors,
209
- ].reverse();
210
- // Create the final execution input for the chain
211
- const createExecutionInput = (input, nextFunc) => ({
212
- task: {
213
- definition: task,
214
- input: input,
215
- },
216
- next: nextFunc,
217
- });
218
- // Build the interceptor chain
219
- let currentNext = next;
220
- for (let i = reversedInterceptors.length - 1; i >= 0; i--) {
221
- const interceptor = reversedInterceptors[i];
222
- const nextFunction = currentNext;
223
- currentNext = async (input) => {
224
- const executionInput = createExecutionInput(input, nextFunction);
225
- // Create a wrapper function that matches the expected signature
226
- const wrappedNext = (i) => {
227
- return nextFunction(i.task.input);
228
- };
229
- return interceptor(wrappedNext, executionInput);
230
- };
231
- }
232
- next = currentNext;
233
- }
234
- const createdMiddlewares = this.getApplicableTaskMiddlewares(task);
235
- if (createdMiddlewares.length === 0) {
236
- return next;
237
- }
238
- // layer task middlewares (global first, then local), closest to the task runs last
239
- for (let i = createdMiddlewares.length - 1; i >= 0; i--) {
240
- const middleware = createdMiddlewares[i];
241
- const storeMiddleware = this.store.taskMiddlewares.get(middleware.id);
242
- const nextFunction = next;
243
- // Create the base middleware runner with events
244
- const baseMiddlewareRunner = async (input) => {
245
- // Attention: we use the store middleware run, because it might have been overidden.
246
- // All middleware run() functions should be common accross all tasks.
247
- return storeMiddleware.middleware.run({
248
- task: {
249
- definition: task,
250
- input,
251
- },
252
- next: nextFunction,
253
- }, storeMiddleware.computedDependencies, middleware.config);
254
- };
255
- // Get interceptors for this specific middleware
256
- const middlewareInterceptors = this.perMiddlewareInterceptors.get(middleware.id) || [];
257
- // Wrap the middleware with its interceptors (onion style)
258
- const wrappedMiddleware = this.wrapMiddlewareWithInterceptors(middleware, baseMiddlewareRunner, middlewareInterceptors);
259
- next = wrappedMiddleware;
260
- }
261
- return next;
262
- }
263
- /**
264
- * Run a resource init wrapped with its applicable middlewares.
265
- */
266
- async runResourceInit(resource, config, dependencies, context) {
267
- let next = async (cfg) => {
268
- if (!resource.init)
269
- return undefined;
270
- const rawValue = await resource.init.call(null, cfg, dependencies, context);
271
- if (resource.resultSchema) {
272
- try {
273
- return resource.resultSchema.parse(rawValue);
274
- }
275
- catch (error) {
276
- throw new errors_1.ValidationError("Resource result", resource.id, error);
277
- }
278
- }
279
- return rawValue;
280
- };
281
- const createdMiddlewares = this.getApplicableResourceMiddlewares(resource);
282
- for (let i = createdMiddlewares.length - 1; i >= 0; i--) {
283
- const middleware = createdMiddlewares[i];
284
- const storeMiddleware = this.store.resourceMiddlewares.get(middleware.id);
285
- const nextFunction = next;
286
- // Create the base resource middleware runner with events
287
- const baseMiddlewareRunner = async (cfg) => {
288
- try {
289
- const result = await storeMiddleware.middleware.run({
290
- resource: {
291
- definition: resource,
292
- config: cfg,
293
- },
294
- next: nextFunction,
295
- }, storeMiddleware.computedDependencies, middleware.config);
296
- return result;
297
- }
298
- catch (error) {
299
- try {
300
- await this.store.onUnhandledError({
301
- error,
302
- kind: "resourceInit",
303
- source: resource.id,
304
- });
305
- }
306
- catch (_) { }
307
- throw error;
308
- }
309
- };
310
- // Get interceptors for this specific middleware
311
- const middlewareInterceptors = this.perResourceMiddlewareInterceptors.get(middleware.id) || [];
312
- // Wrap the middleware with its interceptors (onion style)
313
- const wrappedMiddleware = this.wrapResourceMiddlewareWithInterceptors(middleware, baseMiddlewareRunner, middlewareInterceptors);
314
- next = wrappedMiddleware;
315
- }
316
- // Apply resource middleware interceptors (last added runs first)
317
- if (this.resourceMiddlewareInterceptors.length > 0) {
318
- const reversedInterceptors = [
319
- ...this.resourceMiddlewareInterceptors,
320
- ].reverse();
321
- // Create the final execution input for the chain
322
- const createExecutionInput = (config, nextFunc) => ({
323
- resource: {
324
- definition: resource,
325
- config: config,
326
- },
327
- next: nextFunc,
328
- });
329
- // Build the interceptor chain
330
- let currentNext = next;
331
- for (let i = reversedInterceptors.length - 1; i >= 0; i--) {
332
- const interceptor = reversedInterceptors[i];
333
- const nextFunction = currentNext;
334
- currentNext = async (cfg) => {
335
- const executionInput = createExecutionInput(cfg, nextFunction);
336
- // Create a wrapper function that matches the expected signature
337
- const wrappedNext = (input) => {
338
- return nextFunction(input.resource.config);
339
- };
340
- return interceptor(wrappedNext, executionInput);
341
- };
342
- }
343
- next = currentNext;
344
- }
345
- return next(config);
346
- }
347
- getApplicableTaskMiddlewares(task) {
348
- const existingMiddlewares = task.middleware;
349
- const existingMiddlewareIds = existingMiddlewares.map((x) => x.id);
350
- const globalMiddlewares = this.getEverywhereMiddlewareForTasks(task).filter((x) => !existingMiddlewareIds.includes(x.id));
351
- return [...globalMiddlewares, ...existingMiddlewares];
352
- }
353
- getApplicableResourceMiddlewares(resource) {
354
- const existingMiddlewares = resource.middleware;
355
- const existingMiddlewareIds = existingMiddlewares.map((x) => x.id);
356
- const globalMiddlewares = this.getEverywhereMiddlewareForResources(resource).filter((x) => !existingMiddlewareIds.includes(x.id));
357
- return [...globalMiddlewares, ...existingMiddlewares];
358
- }
359
- /**
360
- * @param task
361
- * @returns
362
- */
363
- getEverywhereMiddlewareForTasks(task) {
364
- return Array.from(this.store.taskMiddlewares.values())
365
- .filter((x) => Boolean(x.middleware.everywhere))
366
- .filter((x) => {
367
- if (typeof x.middleware.everywhere === "function") {
368
- return x.middleware.everywhere(task);
369
- }
370
- return true;
371
- })
372
- .map((x) => x.middleware);
373
- }
374
- /**
375
- * Returns all global middleware for resource, which do not depend on the target resource.
376
- */
377
- getEverywhereMiddlewareForResources(target) {
378
- return Array.from(this.store.resourceMiddlewares.values())
379
- .filter((x) => Boolean(x.middleware.everywhere))
380
- .filter((x) => {
381
- if (typeof x.middleware.everywhere === "function") {
382
- return x.middleware.everywhere(target);
383
- }
384
- return true;
385
- })
386
- .map((x) => x.middleware);
387
- }
388
- }
389
- exports.MiddlewareManager = MiddlewareManager;
390
- _MiddlewareManager_isLocked = new WeakMap();
391
- //# sourceMappingURL=MiddlewareManager.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"MiddlewareManager.js","sourceRoot":"","sources":["../../src/models/MiddlewareManager.ts"],"names":[],"mappings":"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"}
@@ -1,13 +0,0 @@
1
- import { IResource, ITaskMiddleware, IResourceMiddleware, ITask, IResourceWithConfig, RegisterableItems, IHook } from "../defs";
2
- import { StoreRegistry } from "./StoreRegistry";
3
- export declare class OverrideManager {
4
- private readonly registry;
5
- overrides: Map<string, IResource | ITaskMiddleware | IResourceMiddleware | ITask | IResourceWithConfig | IHook>;
6
- overrideRequests: Set<{
7
- source: string;
8
- override: RegisterableItems;
9
- }>;
10
- constructor(registry: StoreRegistry);
11
- storeOverridesDeeply<C>(element: IResource<C, any, any>): void;
12
- processOverrides(): void;
13
- }
@@ -1,84 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.OverrideManager = void 0;
4
- const utils = require("../define");
5
- const errors_1 = require("../errors");
6
- class OverrideManager {
7
- constructor(registry) {
8
- this.registry = registry;
9
- this.overrides = new Map();
10
- this.overrideRequests = new Set();
11
- }
12
- storeOverridesDeeply(element) {
13
- element.overrides.forEach((override) => {
14
- if (!override) {
15
- return;
16
- }
17
- if (utils.isResource(override)) {
18
- this.storeOverridesDeeply(override);
19
- }
20
- let id;
21
- if (utils.isResourceWithConfig(override)) {
22
- this.storeOverridesDeeply(override.resource);
23
- id = override.resource.id;
24
- }
25
- else {
26
- id = override.id;
27
- }
28
- this.overrideRequests.add({ source: element.id, override });
29
- this.overrides.set(id, override);
30
- });
31
- }
32
- processOverrides() {
33
- // If we are trying to use override on something that wasn't previously registered, we throw an error.
34
- for (const override of this.overrides.values()) {
35
- let hasAnyItem = false;
36
- if (utils.isTask(override)) {
37
- hasAnyItem = this.registry.tasks.has(override.id);
38
- }
39
- else if (utils.isResource(override)) {
40
- hasAnyItem = this.registry.resources.has(override.id);
41
- }
42
- else if (utils.isTaskMiddleware(override)) {
43
- hasAnyItem = this.registry.taskMiddlewares.has(override.id);
44
- }
45
- else if (utils.isResourceMiddleware(override)) {
46
- hasAnyItem = this.registry.resourceMiddlewares.has(override.id);
47
- }
48
- else if (utils.isResourceWithConfig(override)) {
49
- hasAnyItem = this.registry.resources.has(override.resource.id);
50
- }
51
- else if (utils.isHook(override)) {
52
- hasAnyItem = this.registry.hooks.has(override.id);
53
- }
54
- if (!hasAnyItem) {
55
- const id = utils.isResourceWithConfig(override)
56
- ? override.resource.id
57
- : override.id;
58
- throw new errors_1.DependencyNotFoundError(id);
59
- }
60
- }
61
- for (const override of this.overrides.values()) {
62
- if (utils.isTask(override)) {
63
- this.registry.storeTask(override, "override");
64
- }
65
- else if (utils.isResource(override)) {
66
- this.registry.storeResource(override, "override");
67
- }
68
- else if (utils.isTaskMiddleware(override)) {
69
- this.registry.storeTaskMiddleware(override, "override");
70
- }
71
- else if (utils.isResourceMiddleware(override)) {
72
- this.registry.storeResourceMiddleware(override, "override");
73
- }
74
- else if (utils.isResourceWithConfig(override)) {
75
- this.registry.storeResourceWithConfig(override, "override");
76
- }
77
- else if (utils.isHook(override)) {
78
- this.registry.storeHook(override, "override");
79
- }
80
- }
81
- }
82
- }
83
- exports.OverrideManager = OverrideManager;
84
- //# sourceMappingURL=OverrideManager.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"OverrideManager.js","sourceRoot":"","sources":["../../src/models/OverrideManager.ts"],"names":[],"mappings":"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"}
@@ -1,25 +0,0 @@
1
- /**
2
- * Cooperative task queue.
3
- * • Tasks run one‑after‑another (FIFO ordering).
4
- * • Dead‑lock detection prevents nesting.
5
- * • dispose() drains or cancels outstanding tasks, then rejects new ones.
6
- */
7
- export declare class Queue {
8
- private tail;
9
- private disposed;
10
- private abortController;
11
- private readonly executionContext;
12
- /**
13
- * Schedule an asynchronous task.
14
- * @param task – receives an AbortSignal so it can cancel early if desired.
15
- */
16
- run<T>(task: (signal: AbortSignal) => Promise<T>): Promise<T>;
17
- /**
18
- * Disposes the queue.
19
- * @param options.cancel – if true, broadcasts AbortSignal to running task.
20
- * default: false (waits for tasks to finish).
21
- */
22
- dispose(options?: {
23
- cancel?: boolean;
24
- }): Promise<void>;
25
- }
@@ -1,56 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.Queue = void 0;
4
- const platform_1 = require("../platform");
5
- /**
6
- * Cooperative task queue.
7
- * • Tasks run one‑after‑another (FIFO ordering).
8
- * • Dead‑lock detection prevents nesting.
9
- * • dispose() drains or cancels outstanding tasks, then rejects new ones.
10
- */
11
- class Queue {
12
- constructor() {
13
- this.tail = Promise.resolve();
14
- this.disposed = false;
15
- this.abortController = new AbortController();
16
- // true while inside a queued task → helps detect "queue in queue"
17
- this.executionContext = (0, platform_1.getPlatform)().createAsyncLocalStorage();
18
- }
19
- /**
20
- * Schedule an asynchronous task.
21
- * @param task – receives an AbortSignal so it can cancel early if desired.
22
- */
23
- run(task) {
24
- // 1. refuse new work if we've disposed
25
- if (this.disposed) {
26
- return Promise.reject(new Error("Queue has been disposed"));
27
- }
28
- // 2. detect dead‑locks (a queued task adding another queued task)
29
- if (this.executionContext.getStore()) {
30
- return Promise.reject(new Error("Dead‑lock detected: a queued task attempted to queue another task"));
31
- }
32
- const { signal } = this.abortController;
33
- // 3. chain task after the current tail
34
- const result = this.tail.then(() => this.executionContext.run(true, () => task(signal)));
35
- // 4. preserve the chain even if the task rejects (swallow internally)
36
- this.tail = result.catch(() => { });
37
- return result;
38
- }
39
- /**
40
- * Disposes the queue.
41
- * @param options.cancel – if true, broadcasts AbortSignal to running task.
42
- * default: false (waits for tasks to finish).
43
- */
44
- async dispose(options = {}) {
45
- if (this.disposed)
46
- return;
47
- this.disposed = true;
48
- if (options.cancel) {
49
- this.abortController.abort(); // notify cooperative tasks
50
- }
51
- // wait for everything already chained to settle
52
- await this.tail.catch(() => { });
53
- }
54
- }
55
- exports.Queue = Queue;
56
- //# sourceMappingURL=Queue.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Queue.js","sourceRoot":"","sources":["../../src/models/Queue.ts"],"names":[],"mappings":";;;AAAA,0CAA0C;AAE1C;;;;;GAKG;AACH,MAAa,KAAK;IAAlB;QACU,SAAI,GAAqB,OAAO,CAAC,OAAO,EAAE,CAAC;QAC3C,aAAQ,GAAG,KAAK,CAAC;QACjB,oBAAe,GAAG,IAAI,eAAe,EAAE,CAAC;QAEhD,kEAAkE;QACjD,qBAAgB,GAC/B,IAAA,sBAAW,GAAE,CAAC,uBAAuB,EAAW,CAAC;IAmDrD,CAAC;IAjDC;;;OAGG;IACI,GAAG,CAAI,IAAyC;QACrD,uCAAuC;QACvC,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YAClB,OAAO,OAAO,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC,CAAC;QAC9D,CAAC;QAED,kEAAkE;QAClE,IAAI,IAAI,CAAC,gBAAgB,CAAC,QAAQ,EAAE,EAAE,CAAC;YACrC,OAAO,OAAO,CAAC,MAAM,CACnB,IAAI,KAAK,CACP,mEAAmE,CACpE,CACF,CAAC;QACJ,CAAC;QAED,MAAM,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC,eAAe,CAAC;QAExC,uCAAuC;QACvC,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,CACjC,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,IAAI,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CACpD,CAAC;QAEF,sEAAsE;QACtE,IAAI,CAAC,IAAI,GAAG,MAAM,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;QAEnC,OAAO,MAAM,CAAC;IAChB,CAAC;IAED;;;;OAIG;IACI,KAAK,CAAC,OAAO,CAAC,UAAgC,EAAE;QACrD,IAAI,IAAI,CAAC,QAAQ;YAAE,OAAO;QAE1B,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;QAErB,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;YACnB,IAAI,CAAC,eAAe,CAAC,KAAK,EAAE,CAAC,CAAC,2BAA2B;QAC3D,CAAC;QAED,gDAAgD;QAChD,MAAM,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;IAClC,CAAC;CACF;AA1DD,sBA0DC"}
@@ -1,20 +0,0 @@
1
- import { DependencyMapType, IResource, ResourceDependencyValuesType } from "../defs";
2
- import { EventManager } from "./EventManager";
3
- import { Store } from "./Store";
4
- import { Logger } from "./Logger";
5
- export declare class ResourceInitializer {
6
- protected readonly store: Store;
7
- protected readonly eventManager: EventManager;
8
- protected readonly logger: Logger;
9
- constructor(store: Store, eventManager: EventManager, logger: Logger);
10
- private readonly middlewareManager;
11
- /**
12
- * Begins the execution of an task. These are registered tasks and all sanity checks have been performed at this stage to ensure consistency of the object.
13
- * This function can throw only if any of the event listeners or run function throws
14
- */
15
- initializeResource<TConfig = null, TValue extends Promise<any> = Promise<any>, TDeps extends DependencyMapType = {}, TContext = any>(resource: IResource<TConfig, TValue, TDeps>, config: TConfig, dependencies: ResourceDependencyValuesType<TDeps>): Promise<{
16
- value: TValue;
17
- context: TContext;
18
- }>;
19
- initWithMiddleware<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>;
20
- }
@@ -1,34 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.ResourceInitializer = void 0;
4
- const MiddlewareManager_1 = require("./MiddlewareManager");
5
- class ResourceInitializer {
6
- constructor(store, eventManager, logger) {
7
- this.store = store;
8
- this.eventManager = eventManager;
9
- this.logger = logger;
10
- this.middlewareManager = new MiddlewareManager_1.MiddlewareManager(this.store, this.eventManager, this.logger);
11
- }
12
- /**
13
- * Begins the execution of an task. These are registered tasks and all sanity checks have been performed at this stage to ensure consistency of the object.
14
- * This function can throw only if any of the event listeners or run function throws
15
- */
16
- async initializeResource(resource, config, dependencies) {
17
- const context = resource.context?.();
18
- let value;
19
- // Create a no-op init function if it doesn't exist
20
- if (!resource.init) {
21
- resource.init = (async () => undefined);
22
- }
23
- if (resource.init) {
24
- value = await this.initWithMiddleware(resource, config, dependencies, context);
25
- }
26
- return { value: value, context };
27
- }
28
- // Lifecycle emissions removed
29
- async initWithMiddleware(resource, config, dependencies, context) {
30
- return this.middlewareManager.runResourceInit(resource, config, dependencies, context);
31
- }
32
- }
33
- exports.ResourceInitializer = ResourceInitializer;
34
- //# sourceMappingURL=ResourceInitializer.js.map