@bluelibs/runner 3.4.2 → 4.0.1

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 (375) hide show
  1. package/AI.md +621 -0
  2. package/README.md +1024 -577
  3. package/dist/context.d.ts +4 -8
  4. package/dist/context.js +5 -12
  5. package/dist/context.js.map +1 -1
  6. package/dist/define.d.ts +9 -113
  7. package/dist/define.js +29 -358
  8. package/dist/define.js.map +1 -1
  9. package/dist/definers/defineEvent.d.ts +2 -0
  10. package/dist/definers/defineEvent.js +23 -0
  11. package/dist/definers/defineEvent.js.map +1 -0
  12. package/dist/definers/defineHook.d.ts +6 -0
  13. package/dist/definers/defineHook.js +24 -0
  14. package/dist/definers/defineHook.js.map +1 -0
  15. package/dist/definers/defineOverride.d.ts +14 -0
  16. package/dist/definers/defineOverride.js +13 -0
  17. package/dist/definers/defineOverride.js.map +1 -0
  18. package/dist/definers/defineResource.d.ts +2 -0
  19. package/dist/definers/defineResource.js +69 -0
  20. package/dist/definers/defineResource.js.map +1 -0
  21. package/dist/definers/defineResourceMiddleware.d.ts +2 -0
  22. package/dist/definers/defineResourceMiddleware.js +42 -0
  23. package/dist/definers/defineResourceMiddleware.js.map +1 -0
  24. package/dist/definers/defineTag.d.ts +12 -0
  25. package/dist/definers/defineTag.js +106 -0
  26. package/dist/definers/defineTag.js.map +1 -0
  27. package/dist/definers/defineTask.d.ts +15 -0
  28. package/dist/definers/defineTask.js +42 -0
  29. package/dist/definers/defineTask.js.map +1 -0
  30. package/dist/definers/defineTaskMiddleware.d.ts +2 -0
  31. package/dist/definers/defineTaskMiddleware.js +42 -0
  32. package/dist/definers/defineTaskMiddleware.js.map +1 -0
  33. package/dist/definers/tools.d.ts +45 -0
  34. package/dist/definers/tools.js +75 -0
  35. package/dist/definers/tools.js.map +1 -0
  36. package/dist/defs.d.ts +16 -424
  37. package/dist/defs.js +26 -38
  38. package/dist/defs.js.map +1 -1
  39. package/dist/errors.d.ts +23 -8
  40. package/dist/errors.js +50 -10
  41. package/dist/errors.js.map +1 -1
  42. package/dist/globals/globalEvents.d.ts +15 -39
  43. package/dist/globals/globalEvents.js +20 -81
  44. package/dist/globals/globalEvents.js.map +1 -1
  45. package/dist/globals/globalMiddleware.d.ts +24 -17
  46. package/dist/globals/globalMiddleware.js +12 -4
  47. package/dist/globals/globalMiddleware.js.map +1 -1
  48. package/dist/globals/globalResources.d.ts +13 -28
  49. package/dist/globals/globalResources.js +15 -7
  50. package/dist/globals/globalResources.js.map +1 -1
  51. package/dist/globals/globalTags.d.ts +9 -0
  52. package/dist/globals/globalTags.js +23 -0
  53. package/dist/globals/globalTags.js.map +1 -0
  54. package/dist/globals/middleware/cache.middleware.d.ts +10 -17
  55. package/dist/globals/middleware/cache.middleware.js +4 -16
  56. package/dist/globals/middleware/cache.middleware.js.map +1 -1
  57. package/dist/globals/middleware/requireContext.middleware.d.ts +1 -1
  58. package/dist/globals/middleware/requireContext.middleware.js +5 -14
  59. package/dist/globals/middleware/requireContext.middleware.js.map +1 -1
  60. package/dist/globals/middleware/retry.middleware.d.ts +2 -1
  61. package/dist/globals/middleware/retry.middleware.js +32 -5
  62. package/dist/globals/middleware/retry.middleware.js.map +1 -1
  63. package/dist/globals/middleware/timeout.middleware.d.ts +2 -1
  64. package/dist/globals/middleware/timeout.middleware.js +31 -5
  65. package/dist/globals/middleware/timeout.middleware.js.map +1 -1
  66. package/dist/globals/resources/debug/debug.resource.d.ts +7 -0
  67. package/dist/globals/resources/debug/debug.resource.js +29 -0
  68. package/dist/globals/resources/debug/debug.resource.js.map +1 -0
  69. package/dist/globals/resources/debug/debug.tag.d.ts +2 -0
  70. package/dist/globals/resources/debug/debug.tag.js +12 -0
  71. package/dist/globals/resources/debug/debug.tag.js.map +1 -0
  72. package/dist/globals/resources/debug/debugConfig.resource.d.ts +22 -0
  73. package/dist/globals/resources/debug/debugConfig.resource.js +20 -0
  74. package/dist/globals/resources/debug/debugConfig.resource.js.map +1 -0
  75. package/dist/globals/resources/debug/executionTracker.middleware.d.ts +50 -0
  76. package/dist/globals/resources/debug/executionTracker.middleware.js +87 -0
  77. package/dist/globals/resources/debug/executionTracker.middleware.js.map +1 -0
  78. package/dist/globals/resources/debug/globalEvent.hook.d.ts +27 -0
  79. package/dist/globals/resources/debug/globalEvent.hook.js +38 -0
  80. package/dist/globals/resources/debug/globalEvent.hook.js.map +1 -0
  81. package/dist/globals/resources/debug/hook.hook.d.ts +25 -0
  82. package/dist/globals/resources/debug/hook.hook.js +42 -0
  83. package/dist/globals/resources/debug/hook.hook.js.map +1 -0
  84. package/dist/globals/resources/debug/index.d.ts +6 -0
  85. package/dist/{types → globals/resources/debug}/index.js +6 -11
  86. package/dist/globals/resources/debug/index.js.map +1 -0
  87. package/dist/globals/resources/debug/middleware.hook.d.ts +25 -0
  88. package/dist/globals/resources/debug/middleware.hook.js +71 -0
  89. package/dist/globals/resources/debug/middleware.hook.js.map +1 -0
  90. package/dist/globals/resources/debug/types.d.ts +25 -0
  91. package/dist/globals/resources/debug/types.js +65 -0
  92. package/dist/globals/resources/debug/types.js.map +1 -0
  93. package/dist/globals/resources/debug/utils.d.ts +2 -0
  94. package/dist/globals/resources/debug/utils.js +9 -0
  95. package/dist/globals/resources/debug/utils.js.map +1 -0
  96. package/dist/globals/resources/queue.resource.d.ts +3 -3
  97. package/dist/globals/resources/queue.resource.js.map +1 -1
  98. package/dist/globals/types.d.ts +1 -0
  99. package/dist/{task.types.js → globals/types.js} +2 -7
  100. package/dist/globals/types.js.map +1 -0
  101. package/dist/index.d.ts +58 -85
  102. package/dist/index.js +23 -10
  103. package/dist/index.js.map +1 -1
  104. package/dist/models/DependencyProcessor.d.ts +8 -6
  105. package/dist/models/DependencyProcessor.js +116 -33
  106. package/dist/models/DependencyProcessor.js.map +1 -1
  107. package/dist/models/EventManager.d.ts +127 -7
  108. package/dist/models/EventManager.js +251 -78
  109. package/dist/models/EventManager.js.map +1 -1
  110. package/dist/models/LogPrinter.d.ts +55 -0
  111. package/dist/models/LogPrinter.js +196 -0
  112. package/dist/models/LogPrinter.js.map +1 -0
  113. package/dist/models/Logger.d.ts +47 -27
  114. package/dist/models/Logger.js +133 -155
  115. package/dist/models/Logger.js.map +1 -1
  116. package/dist/models/MiddlewareManager.d.ts +86 -0
  117. package/dist/models/MiddlewareManager.js +409 -0
  118. package/dist/models/MiddlewareManager.js.map +1 -0
  119. package/dist/models/OverrideManager.d.ts +3 -3
  120. package/dist/models/OverrideManager.js +22 -7
  121. package/dist/models/OverrideManager.js.map +1 -1
  122. package/dist/models/ResourceInitializer.d.ts +4 -3
  123. package/dist/models/ResourceInitializer.js +12 -68
  124. package/dist/models/ResourceInitializer.js.map +1 -1
  125. package/dist/models/RunResult.d.ts +35 -0
  126. package/dist/models/RunResult.js +68 -0
  127. package/dist/models/RunResult.js.map +1 -0
  128. package/dist/models/Store.d.ts +30 -17
  129. package/dist/models/Store.js +87 -25
  130. package/dist/models/Store.js.map +1 -1
  131. package/dist/models/StoreRegistry.d.ts +34 -19
  132. package/dist/models/StoreRegistry.js +248 -100
  133. package/dist/models/StoreRegistry.js.map +1 -1
  134. package/dist/models/StoreValidator.d.ts +5 -7
  135. package/dist/models/StoreValidator.js +50 -17
  136. package/dist/models/StoreValidator.js.map +1 -1
  137. package/dist/models/TaskRunner.d.ts +3 -2
  138. package/dist/models/TaskRunner.js +6 -103
  139. package/dist/models/TaskRunner.js.map +1 -1
  140. package/dist/models/UnhandledError.d.ts +11 -0
  141. package/dist/models/UnhandledError.js +30 -0
  142. package/dist/models/UnhandledError.js.map +1 -0
  143. package/dist/models/index.d.ts +3 -0
  144. package/dist/models/index.js +3 -0
  145. package/dist/models/index.js.map +1 -1
  146. package/dist/{tools → models/utils}/findCircularDependencies.js +8 -16
  147. package/dist/models/utils/findCircularDependencies.js.map +1 -0
  148. package/dist/models/utils/safeStringify.d.ts +3 -0
  149. package/dist/models/utils/safeStringify.js +45 -0
  150. package/dist/models/utils/safeStringify.js.map +1 -0
  151. package/dist/processHooks.d.ts +2 -0
  152. package/dist/processHooks.js +70 -0
  153. package/dist/processHooks.js.map +1 -0
  154. package/dist/run.d.ts +14 -27
  155. package/dist/run.js +100 -36
  156. package/dist/run.js.map +1 -1
  157. package/dist/testing.d.ts +5 -4
  158. package/dist/testing.js +3 -2
  159. package/dist/testing.js.map +1 -1
  160. package/dist/tools/getCallerFile.d.ts +0 -8
  161. package/dist/tools/getCallerFile.js +0 -51
  162. package/dist/tools/getCallerFile.js.map +1 -1
  163. package/dist/types/contracts.d.ts +55 -0
  164. package/dist/types/contracts.js +4 -0
  165. package/dist/types/contracts.js.map +1 -0
  166. package/dist/types/event.d.ts +26 -7
  167. package/dist/types/event.js +1 -1
  168. package/dist/types/event.js.map +1 -1
  169. package/dist/types/hook.d.ts +21 -0
  170. package/dist/{models/StoreTypes.js → types/hook.js} +2 -1
  171. package/dist/types/hook.js.map +1 -0
  172. package/dist/types/meta.d.ts +6 -1
  173. package/dist/types/meta.js +4 -2
  174. package/dist/types/meta.js.map +1 -1
  175. package/dist/types/resource.d.ts +40 -52
  176. package/dist/types/resource.js +1 -0
  177. package/dist/types/resource.js.map +1 -1
  178. package/dist/types/resourceMiddleware.d.ts +47 -0
  179. package/dist/{middleware.types.js → types/resourceMiddleware.js} +1 -1
  180. package/dist/types/resourceMiddleware.js.map +1 -0
  181. package/dist/types/runner.d.ts +37 -0
  182. package/dist/types/{base.js → runner.js} +1 -1
  183. package/dist/types/runner.js.map +1 -0
  184. package/dist/types/storeTypes.d.ts +40 -0
  185. package/dist/types/{metadata.js → storeTypes.js} +1 -1
  186. package/dist/types/storeTypes.js.map +1 -0
  187. package/dist/types/symbols.d.ts +10 -21
  188. package/dist/types/symbols.js +17 -22
  189. package/dist/types/symbols.js.map +1 -1
  190. package/dist/types/tag.d.ts +46 -0
  191. package/dist/{resource.types.js → types/tag.js} +2 -1
  192. package/dist/types/tag.js.map +1 -0
  193. package/dist/types/task.d.ts +28 -52
  194. package/dist/types/task.js +1 -0
  195. package/dist/types/task.js.map +1 -1
  196. package/dist/types/taskMiddleware.d.ts +48 -0
  197. package/dist/{event.types.js → types/taskMiddleware.js} +1 -1
  198. package/dist/types/taskMiddleware.js.map +1 -0
  199. package/dist/types/utilities.d.ts +105 -6
  200. package/dist/types/utilities.js +16 -2
  201. package/dist/types/utilities.js.map +1 -1
  202. package/package.json +14 -5
  203. package/dist/cli/extract-docs.d.ts +0 -2
  204. package/dist/cli/extract-docs.js +0 -88
  205. package/dist/cli/extract-docs.js.map +0 -1
  206. package/dist/common.types.d.ts +0 -20
  207. package/dist/common.types.js +0 -4
  208. package/dist/common.types.js.map +0 -1
  209. package/dist/defs/core.d.ts +0 -144
  210. package/dist/defs/core.js +0 -6
  211. package/dist/defs/core.js.map +0 -1
  212. package/dist/defs/symbols.d.ts +0 -42
  213. package/dist/defs/symbols.js +0 -45
  214. package/dist/defs/symbols.js.map +0 -1
  215. package/dist/defs/tags.d.ts +0 -70
  216. package/dist/defs/tags.js +0 -6
  217. package/dist/defs/tags.js.map +0 -1
  218. package/dist/defs.returnTag.d.ts +0 -36
  219. package/dist/defs.returnTag.js +0 -4
  220. package/dist/defs.returnTag.js.map +0 -1
  221. package/dist/docs/introspect.d.ts +0 -7
  222. package/dist/docs/introspect.js +0 -199
  223. package/dist/docs/introspect.js.map +0 -1
  224. package/dist/docs/markdown.d.ts +0 -2
  225. package/dist/docs/markdown.js +0 -148
  226. package/dist/docs/markdown.js.map +0 -1
  227. package/dist/docs/model.d.ts +0 -62
  228. package/dist/docs/model.js +0 -33
  229. package/dist/docs/model.js.map +0 -1
  230. package/dist/event.types.d.ts +0 -18
  231. package/dist/event.types.js.map +0 -1
  232. package/dist/examples/express-mongo/index.d.ts +0 -0
  233. package/dist/examples/express-mongo/index.js +0 -3
  234. package/dist/examples/express-mongo/index.js.map +0 -1
  235. package/dist/examples/registrator-example.d.ts +0 -122
  236. package/dist/examples/registrator-example.js +0 -147
  237. package/dist/examples/registrator-example.js.map +0 -1
  238. package/dist/express/docsRouter.d.ts +0 -12
  239. package/dist/express/docsRouter.js +0 -54
  240. package/dist/express/docsRouter.js.map +0 -1
  241. package/dist/globalEvents.d.ts +0 -40
  242. package/dist/globalEvents.js +0 -94
  243. package/dist/globalEvents.js.map +0 -1
  244. package/dist/globalResources.d.ts +0 -10
  245. package/dist/globalResources.js +0 -43
  246. package/dist/globalResources.js.map +0 -1
  247. package/dist/middleware.types.d.ts +0 -40
  248. package/dist/middleware.types.js.map +0 -1
  249. package/dist/models/StoreConstants.d.ts +0 -14
  250. package/dist/models/StoreConstants.js +0 -19
  251. package/dist/models/StoreConstants.js.map +0 -1
  252. package/dist/models/StoreTypes.d.ts +0 -21
  253. package/dist/models/StoreTypes.js.map +0 -1
  254. package/dist/models/VarStore.d.ts +0 -17
  255. package/dist/models/VarStore.js +0 -60
  256. package/dist/models/VarStore.js.map +0 -1
  257. package/dist/resource.types.d.ts +0 -31
  258. package/dist/resource.types.js.map +0 -1
  259. package/dist/symbols.d.ts +0 -24
  260. package/dist/symbols.js +0 -29
  261. package/dist/symbols.js.map +0 -1
  262. package/dist/t1.d.ts +0 -1
  263. package/dist/t1.js +0 -13
  264. package/dist/t1.js.map +0 -1
  265. package/dist/task.types.d.ts +0 -55
  266. package/dist/task.types.js.map +0 -1
  267. package/dist/tools/findCircularDependencies.js.map +0 -1
  268. package/dist/tools/registratorId.d.ts +0 -4
  269. package/dist/tools/registratorId.js +0 -40
  270. package/dist/tools/registratorId.js.map +0 -1
  271. package/dist/tools/simpleHash.d.ts +0 -9
  272. package/dist/tools/simpleHash.js +0 -34
  273. package/dist/tools/simpleHash.js.map +0 -1
  274. package/dist/types/base-interfaces.d.ts +0 -18
  275. package/dist/types/base-interfaces.js +0 -6
  276. package/dist/types/base-interfaces.js.map +0 -1
  277. package/dist/types/base.d.ts +0 -13
  278. package/dist/types/base.js.map +0 -1
  279. package/dist/types/dependencies.d.ts +0 -51
  280. package/dist/types/dependencies.js +0 -3
  281. package/dist/types/dependencies.js.map +0 -1
  282. package/dist/types/dependency-core.d.ts +0 -14
  283. package/dist/types/dependency-core.js +0 -5
  284. package/dist/types/dependency-core.js.map +0 -1
  285. package/dist/types/events.d.ts +0 -52
  286. package/dist/types/events.js +0 -6
  287. package/dist/types/events.js.map +0 -1
  288. package/dist/types/hooks.d.ts +0 -16
  289. package/dist/types/hooks.js +0 -5
  290. package/dist/types/hooks.js.map +0 -1
  291. package/dist/types/index.d.ts +0 -8
  292. package/dist/types/index.js.map +0 -1
  293. package/dist/types/metadata.d.ts +0 -75
  294. package/dist/types/metadata.js.map +0 -1
  295. package/dist/types/middleware.d.ts +0 -63
  296. package/dist/types/middleware.js +0 -3
  297. package/dist/types/middleware.js.map +0 -1
  298. package/dist/types/registerable.d.ts +0 -10
  299. package/dist/types/registerable.js +0 -5
  300. package/dist/types/registerable.js.map +0 -1
  301. package/dist/types/resources.d.ts +0 -44
  302. package/dist/types/resources.js +0 -5
  303. package/dist/types/resources.js.map +0 -1
  304. package/dist/types/tasks.d.ts +0 -41
  305. package/dist/types/tasks.js +0 -5
  306. package/dist/types/tasks.js.map +0 -1
  307. package/src/__tests__/benchmark/benchmark.test.ts +0 -148
  308. package/src/__tests__/benchmark/task-benchmark.test.ts +0 -132
  309. package/src/__tests__/context.test.ts +0 -91
  310. package/src/__tests__/createTestResource.test.ts +0 -139
  311. package/src/__tests__/errors.test.ts +0 -341
  312. package/src/__tests__/globalEvents.test.ts +0 -542
  313. package/src/__tests__/globals/cache.middleware.test.ts +0 -772
  314. package/src/__tests__/globals/queue.resource.test.ts +0 -141
  315. package/src/__tests__/globals/requireContext.middleware.test.ts +0 -98
  316. package/src/__tests__/globals/retry.middleware.test.ts +0 -157
  317. package/src/__tests__/globals/timeout.middleware.test.ts +0 -88
  318. package/src/__tests__/index.helper.test.ts +0 -55
  319. package/src/__tests__/models/EventManager.test.ts +0 -585
  320. package/src/__tests__/models/Logger.test.ts +0 -519
  321. package/src/__tests__/models/Queue.test.ts +0 -189
  322. package/src/__tests__/models/ResourceInitializer.test.ts +0 -148
  323. package/src/__tests__/models/Semaphore.test.ts +0 -713
  324. package/src/__tests__/models/Store.test.ts +0 -227
  325. package/src/__tests__/models/TaskRunner.test.ts +0 -221
  326. package/src/__tests__/override.test.ts +0 -104
  327. package/src/__tests__/recursion/README.md +0 -3
  328. package/src/__tests__/recursion/a.resource.ts +0 -25
  329. package/src/__tests__/recursion/b.resource.ts +0 -33
  330. package/src/__tests__/recursion/c.resource.ts +0 -18
  331. package/src/__tests__/run.anonymous.test.ts +0 -706
  332. package/src/__tests__/run.dynamic-register-and-dependencies.test.ts +0 -1185
  333. package/src/__tests__/run.middleware.test.ts +0 -549
  334. package/src/__tests__/run.overrides.test.ts +0 -424
  335. package/src/__tests__/run.test.ts +0 -1040
  336. package/src/__tests__/setOutput.test.ts +0 -244
  337. package/src/__tests__/tags.test.ts +0 -396
  338. package/src/__tests__/tools/findCircularDependencies.test.ts +0 -217
  339. package/src/__tests__/tools/getCallerFile.test.ts +0 -179
  340. package/src/__tests__/typesafety.test.ts +0 -423
  341. package/src/__tests__/validation-edge-cases.test.ts +0 -111
  342. package/src/__tests__/validation-interface.test.ts +0 -428
  343. package/src/context.ts +0 -86
  344. package/src/define.ts +0 -480
  345. package/src/defs.returnTag.ts +0 -91
  346. package/src/defs.ts +0 -596
  347. package/src/errors.ts +0 -105
  348. package/src/globals/globalEvents.ts +0 -125
  349. package/src/globals/globalMiddleware.ts +0 -16
  350. package/src/globals/globalResources.ts +0 -53
  351. package/src/globals/middleware/cache.middleware.ts +0 -115
  352. package/src/globals/middleware/requireContext.middleware.ts +0 -36
  353. package/src/globals/middleware/retry.middleware.ts +0 -56
  354. package/src/globals/middleware/timeout.middleware.ts +0 -46
  355. package/src/globals/resources/queue.resource.ts +0 -34
  356. package/src/index.ts +0 -39
  357. package/src/models/DependencyProcessor.ts +0 -257
  358. package/src/models/EventManager.ts +0 -210
  359. package/src/models/Logger.ts +0 -282
  360. package/src/models/OverrideManager.ts +0 -79
  361. package/src/models/Queue.ts +0 -66
  362. package/src/models/ResourceInitializer.ts +0 -165
  363. package/src/models/Semaphore.ts +0 -208
  364. package/src/models/Store.ts +0 -193
  365. package/src/models/StoreConstants.ts +0 -18
  366. package/src/models/StoreRegistry.ts +0 -253
  367. package/src/models/StoreTypes.ts +0 -47
  368. package/src/models/StoreValidator.ts +0 -43
  369. package/src/models/TaskRunner.ts +0 -203
  370. package/src/models/index.ts +0 -8
  371. package/src/run.ts +0 -116
  372. package/src/testing.ts +0 -66
  373. package/src/tools/findCircularDependencies.ts +0 -69
  374. package/src/tools/getCallerFile.ts +0 -96
  375. /package/dist/{tools → models/utils}/findCircularDependencies.d.ts +0 -0
@@ -1 +1 @@
1
- {"version":3,"file":"Logger.js","sourceRoot":"","sources":["../../src/models/Logger.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Logger.js","sourceRoot":"","sources":["../../src/models/Logger.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,86 @@
1
+ import { DependencyMapType, ITask, IResource, ITaskMiddleware } from "../defs";
2
+ import { EventManager } from "./EventManager";
3
+ import { Store } from "./Store";
4
+ import { Logger } from "./Logger";
5
+ import { ITaskMiddlewareExecutionInput } from "../types/taskMiddleware";
6
+ import { IResourceMiddlewareExecutionInput, IResourceMiddleware } from "../types/resourceMiddleware";
7
+ /**
8
+ * Interceptor for task middleware execution
9
+ */
10
+ export type TaskMiddlewareInterceptor = (next: (input: ITaskMiddlewareExecutionInput<any>) => Promise<any>, input: ITaskMiddlewareExecutionInput<any>) => Promise<any>;
11
+ /**
12
+ * Interceptor for resource middleware execution
13
+ */
14
+ export type ResourceMiddlewareInterceptor = (next: (input: IResourceMiddlewareExecutionInput<any>) => Promise<any>, input: IResourceMiddlewareExecutionInput<any>) => Promise<any>;
15
+ /**
16
+ * Centralizes middleware composition and execution for both tasks and resources.
17
+ * Keeps observability emissions and unhandled error routing consistent.
18
+ */
19
+ export declare class MiddlewareManager {
20
+ #private;
21
+ protected readonly store: Store;
22
+ protected readonly eventManager: EventManager;
23
+ protected readonly logger: Logger;
24
+ private taskMiddlewareInterceptors;
25
+ private resourceMiddlewareInterceptors;
26
+ private perMiddlewareInterceptors;
27
+ private perResourceMiddlewareInterceptors;
28
+ constructor(store: Store, eventManager: EventManager, logger: Logger);
29
+ /**
30
+ * Gets the current lock status of the MiddlewareManager
31
+ */
32
+ get isLocked(): boolean;
33
+ /**
34
+ * Locks the MiddlewareManager, preventing any further modifications to interceptors
35
+ */
36
+ lock(): void;
37
+ /**
38
+ * Throws an error if the MiddlewareManager is locked
39
+ */
40
+ private checkLock;
41
+ /**
42
+ * Adds an interceptor for task or resource middleware execution
43
+ * Interceptors are executed in the order they are added, with the ability to
44
+ * modify, log, or prevent middleware execution
45
+ *
46
+ * @param kind - The type of middleware to intercept ("task" or "resource")
47
+ * @param interceptor - The interceptor function to add
48
+ */
49
+ intercept(kind: "task" | "resource", interceptor: TaskMiddlewareInterceptor | ResourceMiddlewareInterceptor): void;
50
+ /**
51
+ * Adds an interceptor for a specific middleware instance with better type safety
52
+ * This method automatically determines the type and provides type-safe access
53
+ *
54
+ * @param middleware - The middleware instance to intercept
55
+ * @param interceptor - The interceptor function with proper typing
56
+ */
57
+ interceptMiddleware(middleware: ITaskMiddleware<any, any, any, any> | IResourceMiddleware<any, any, any, any>, interceptor: TaskMiddlewareInterceptor | ResourceMiddlewareInterceptor): void;
58
+ /**
59
+ * Wrap a middleware with its specific interceptors in onion style
60
+ */
61
+ private wrapMiddlewareWithInterceptors;
62
+ /**
63
+ * Wrap a resource middleware with its specific interceptors in onion style
64
+ */
65
+ private wrapResourceMiddlewareWithInterceptors;
66
+ /**
67
+ * Compose a runner for a task with its local interceptors and applicable middlewares.
68
+ * Returns a function that accepts the task input and resolves to the task output.
69
+ */
70
+ composeTaskRunner<TInput, TOutput extends Promise<any>, TDeps extends DependencyMapType>(task: ITask<TInput, TOutput, TDeps>): (input: any) => Promise<TOutput | (TOutput extends Promise<infer U> ? U : never)>;
71
+ /**
72
+ * Run a resource init wrapped with its applicable middlewares.
73
+ */
74
+ 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>;
75
+ private getApplicableTaskMiddlewares;
76
+ private getApplicableResourceMiddlewares;
77
+ /**
78
+ * @param task
79
+ * @returns
80
+ */
81
+ getEverywhereMiddlewareForTasks(task: ITask<any, any, any, any>): ITaskMiddleware[];
82
+ /**
83
+ * Returns all global middleware for resource, which do not depend on the target resource.
84
+ */
85
+ getEverywhereMiddlewareForResources(target: IResource<any, any, any, any>): IResourceMiddleware[];
86
+ }
@@ -0,0 +1,409 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.MiddlewareManager = void 0;
4
+ const errors_1 = require("../errors");
5
+ const define_1 = require("../define");
6
+ /**
7
+ * Centralizes middleware composition and execution for both tasks and resources.
8
+ * Keeps observability emissions and unhandled error routing consistent.
9
+ */
10
+ class MiddlewareManager {
11
+ store;
12
+ eventManager;
13
+ logger;
14
+ // Interceptor storage
15
+ taskMiddlewareInterceptors = [];
16
+ resourceMiddlewareInterceptors = [];
17
+ // Per-middleware interceptor storage
18
+ perMiddlewareInterceptors = new Map();
19
+ perResourceMiddlewareInterceptors = new Map();
20
+ // Locking mechanism to prevent modifications after initialization
21
+ #isLocked = false;
22
+ constructor(store, eventManager, logger) {
23
+ this.store = store;
24
+ this.eventManager = eventManager;
25
+ this.logger = logger;
26
+ }
27
+ /**
28
+ * Gets the current lock status of the MiddlewareManager
29
+ */
30
+ get isLocked() {
31
+ return this.#isLocked;
32
+ }
33
+ /**
34
+ * Locks the MiddlewareManager, preventing any further modifications to interceptors
35
+ */
36
+ lock() {
37
+ this.#isLocked = true;
38
+ }
39
+ /**
40
+ * Throws an error if the MiddlewareManager is locked
41
+ */
42
+ checkLock() {
43
+ if (this.#isLocked) {
44
+ throw new errors_1.LockedError("MiddlewareManager");
45
+ }
46
+ }
47
+ /**
48
+ * Adds an interceptor for task or resource middleware execution
49
+ * Interceptors are executed in the order they are added, with the ability to
50
+ * modify, log, or prevent middleware execution
51
+ *
52
+ * @param kind - The type of middleware to intercept ("task" or "resource")
53
+ * @param interceptor - The interceptor function to add
54
+ */
55
+ intercept(kind, interceptor) {
56
+ this.checkLock();
57
+ if (kind === "task") {
58
+ this.taskMiddlewareInterceptors.push(interceptor);
59
+ }
60
+ else {
61
+ this.resourceMiddlewareInterceptors.push(interceptor);
62
+ }
63
+ }
64
+ /**
65
+ * Adds an interceptor for a specific middleware instance with better type safety
66
+ * This method automatically determines the type and provides type-safe access
67
+ *
68
+ * @param middleware - The middleware instance to intercept
69
+ * @param interceptor - The interceptor function with proper typing
70
+ */
71
+ interceptMiddleware(middleware, interceptor) {
72
+ this.checkLock();
73
+ // Determine the type based on the middleware's symbol
74
+ if ((0, define_1.isTaskMiddleware)(middleware)) {
75
+ // Store per-middleware interceptor instead of adding to global pool
76
+ if (!this.perMiddlewareInterceptors.has(middleware.id)) {
77
+ this.perMiddlewareInterceptors.set(middleware.id, []);
78
+ }
79
+ this.perMiddlewareInterceptors
80
+ .get(middleware.id)
81
+ .push(interceptor);
82
+ }
83
+ else if ((0, define_1.isResourceMiddleware)(middleware)) {
84
+ // Store per-middleware interceptor instead of adding to global pool
85
+ if (!this.perResourceMiddlewareInterceptors.has(middleware.id)) {
86
+ this.perResourceMiddlewareInterceptors.set(middleware.id, []);
87
+ }
88
+ this.perResourceMiddlewareInterceptors
89
+ .get(middleware.id)
90
+ .push(interceptor);
91
+ }
92
+ else {
93
+ throw new Error("Unknown middleware type");
94
+ }
95
+ }
96
+ /**
97
+ * Wrap a middleware with its specific interceptors in onion style
98
+ */
99
+ wrapMiddlewareWithInterceptors(middleware, middlewareRunner, interceptors) {
100
+ if (!interceptors.length) {
101
+ return middlewareRunner;
102
+ }
103
+ // Apply interceptors in reverse order (last added runs first)
104
+ const reversedInterceptors = [...interceptors].reverse();
105
+ let wrapped = middlewareRunner;
106
+ for (let i = reversedInterceptors.length - 1; i >= 0; i--) {
107
+ const interceptor = reversedInterceptors[i];
108
+ const nextFunction = wrapped;
109
+ wrapped = async (input) => {
110
+ // Create execution input for the interceptor
111
+ const executionInput = {
112
+ task: {
113
+ definition: null, // Will be filled by middleware.run
114
+ input: input,
115
+ },
116
+ next: nextFunction,
117
+ };
118
+ // Provide a next function that accepts an execution input and forwards the raw input
119
+ const wrappedNext = (i) => {
120
+ return nextFunction(i.task.input);
121
+ };
122
+ return interceptor(wrappedNext, executionInput);
123
+ };
124
+ }
125
+ return wrapped;
126
+ }
127
+ /**
128
+ * Wrap a resource middleware with its specific interceptors in onion style
129
+ */
130
+ wrapResourceMiddlewareWithInterceptors(middleware, middlewareRunner, interceptors) {
131
+ if (!interceptors.length) {
132
+ return middlewareRunner;
133
+ }
134
+ // Apply interceptors in reverse order (last added runs first)
135
+ const reversedInterceptors = [...interceptors].reverse();
136
+ let wrapped = middlewareRunner;
137
+ for (let i = reversedInterceptors.length - 1; i >= 0; i--) {
138
+ const interceptor = reversedInterceptors[i];
139
+ const nextFunction = wrapped;
140
+ wrapped = async (config) => {
141
+ // Create execution input for the interceptor
142
+ const executionInput = {
143
+ resource: {
144
+ definition: null, // Will be filled by middleware.run
145
+ config: config,
146
+ },
147
+ next: nextFunction,
148
+ };
149
+ // Provide a next function that accepts an execution input and forwards the raw config
150
+ const wrappedNext = (input) => {
151
+ return nextFunction(input.resource.config);
152
+ };
153
+ return interceptor(wrappedNext, executionInput);
154
+ };
155
+ }
156
+ return wrapped;
157
+ }
158
+ /**
159
+ * Compose a runner for a task with its local interceptors and applicable middlewares.
160
+ * Returns a function that accepts the task input and resolves to the task output.
161
+ */
162
+ composeTaskRunner(task) {
163
+ const storeTask = this.store.tasks.get(task.id);
164
+ // Base next executes the task with validation and unhandled error routing
165
+ let next = async (input) => {
166
+ // Extract raw input from execution input if needed
167
+ let rawInput = input;
168
+ if (task.inputSchema) {
169
+ try {
170
+ rawInput = task.inputSchema.parse(rawInput);
171
+ }
172
+ catch (error) {
173
+ throw new errors_1.ValidationError("Task input", task.id, error instanceof Error ? error : new Error(String(error)));
174
+ }
175
+ }
176
+ const deps = storeTask.computedDependencies;
177
+ try {
178
+ const rawResult = await task.run.call(null, rawInput, deps);
179
+ if (task.resultSchema) {
180
+ try {
181
+ return task.resultSchema.parse(rawResult);
182
+ }
183
+ catch (error) {
184
+ throw new errors_1.ValidationError("Task result", task.id, error);
185
+ }
186
+ }
187
+ return rawResult;
188
+ }
189
+ catch (error) {
190
+ try {
191
+ await this.store.onUnhandledError({
192
+ error,
193
+ kind: "task",
194
+ source: task.id,
195
+ });
196
+ }
197
+ catch (_) { }
198
+ throw error;
199
+ }
200
+ };
201
+ // Inject local per-task interceptors first (closest to the task)
202
+ if (storeTask.interceptors && storeTask.interceptors.length > 0) {
203
+ for (let i = storeTask.interceptors.length - 1; i >= 0; i--) {
204
+ const interceptor = storeTask.interceptors[i];
205
+ const nextFunction = next;
206
+ next = async (input) => interceptor(nextFunction, input);
207
+ }
208
+ }
209
+ // Apply task middleware interceptors (last added runs first)
210
+ if (this.taskMiddlewareInterceptors.length > 0) {
211
+ const reversedInterceptors = [
212
+ ...this.taskMiddlewareInterceptors,
213
+ ].reverse();
214
+ // Create the final execution input for the chain
215
+ const createExecutionInput = (input, nextFunc) => ({
216
+ task: {
217
+ definition: task,
218
+ input: input,
219
+ },
220
+ next: nextFunc,
221
+ });
222
+ // Build the interceptor chain
223
+ let currentNext = next;
224
+ for (let i = reversedInterceptors.length - 1; i >= 0; i--) {
225
+ const interceptor = reversedInterceptors[i];
226
+ const nextFunction = currentNext;
227
+ currentNext = async (input) => {
228
+ const executionInput = createExecutionInput(input, nextFunction);
229
+ // Create a wrapper function that matches the expected signature
230
+ const wrappedNext = (i) => {
231
+ return nextFunction(i.task.input);
232
+ };
233
+ return interceptor(wrappedNext, executionInput);
234
+ };
235
+ }
236
+ next = currentNext;
237
+ }
238
+ const createdMiddlewares = this.getApplicableTaskMiddlewares(task);
239
+ if (createdMiddlewares.length === 0) {
240
+ return next;
241
+ }
242
+ // layer task middlewares (global first, then local), closest to the task runs last
243
+ for (let i = createdMiddlewares.length - 1; i >= 0; i--) {
244
+ const middleware = createdMiddlewares[i];
245
+ const storeMiddleware = this.store.taskMiddlewares.get(middleware.id);
246
+ const nextFunction = next;
247
+ // Create the base middleware runner with events
248
+ const baseMiddlewareRunner = async (input) => {
249
+ let result;
250
+ try {
251
+ // Attention: we use the store middleware run, because it might have been overidden.
252
+ // All middleware run() functions should be common accross all tasks.
253
+ result = await storeMiddleware.middleware.run({
254
+ task: {
255
+ definition: task,
256
+ input,
257
+ },
258
+ next: nextFunction,
259
+ }, storeMiddleware.computedDependencies, middleware.config);
260
+ return result;
261
+ }
262
+ catch (error) {
263
+ try {
264
+ await this.store.onUnhandledError({
265
+ error,
266
+ kind: "middleware",
267
+ source: middleware.id,
268
+ });
269
+ }
270
+ catch (_) { }
271
+ throw error;
272
+ }
273
+ };
274
+ // Get interceptors for this specific middleware
275
+ const middlewareInterceptors = this.perMiddlewareInterceptors.get(middleware.id) || [];
276
+ // Wrap the middleware with its interceptors (onion style)
277
+ const wrappedMiddleware = this.wrapMiddlewareWithInterceptors(middleware, baseMiddlewareRunner, middlewareInterceptors);
278
+ next = wrappedMiddleware;
279
+ }
280
+ return next;
281
+ }
282
+ /**
283
+ * Run a resource init wrapped with its applicable middlewares.
284
+ */
285
+ async runResourceInit(resource, config, dependencies, context) {
286
+ let next = async (cfg) => {
287
+ if (!resource.init)
288
+ return undefined;
289
+ const rawValue = await resource.init.call(null, cfg, dependencies, context);
290
+ if (resource.resultSchema) {
291
+ try {
292
+ return resource.resultSchema.parse(rawValue);
293
+ }
294
+ catch (error) {
295
+ throw new errors_1.ValidationError("Resource result", resource.id, error);
296
+ }
297
+ }
298
+ return rawValue;
299
+ };
300
+ const createdMiddlewares = this.getApplicableResourceMiddlewares(resource);
301
+ for (let i = createdMiddlewares.length - 1; i >= 0; i--) {
302
+ const middleware = createdMiddlewares[i];
303
+ const storeMiddleware = this.store.resourceMiddlewares.get(middleware.id);
304
+ const nextFunction = next;
305
+ // Create the base resource middleware runner with events
306
+ const baseMiddlewareRunner = async (cfg) => {
307
+ try {
308
+ const result = await storeMiddleware.middleware.run({
309
+ resource: {
310
+ definition: resource,
311
+ config: cfg,
312
+ },
313
+ next: nextFunction,
314
+ }, storeMiddleware.computedDependencies, middleware.config);
315
+ return result;
316
+ }
317
+ catch (error) {
318
+ try {
319
+ await this.store.onUnhandledError({
320
+ error,
321
+ kind: "resourceInit",
322
+ source: resource.id,
323
+ });
324
+ }
325
+ catch (_) { }
326
+ throw error;
327
+ }
328
+ };
329
+ // Get interceptors for this specific middleware
330
+ const middlewareInterceptors = this.perResourceMiddlewareInterceptors.get(middleware.id) || [];
331
+ // Wrap the middleware with its interceptors (onion style)
332
+ const wrappedMiddleware = this.wrapResourceMiddlewareWithInterceptors(middleware, baseMiddlewareRunner, middlewareInterceptors);
333
+ next = wrappedMiddleware;
334
+ }
335
+ // Apply resource middleware interceptors (last added runs first)
336
+ if (this.resourceMiddlewareInterceptors.length > 0) {
337
+ const reversedInterceptors = [
338
+ ...this.resourceMiddlewareInterceptors,
339
+ ].reverse();
340
+ // Create the final execution input for the chain
341
+ const createExecutionInput = (config, nextFunc) => ({
342
+ resource: {
343
+ definition: resource,
344
+ config: config,
345
+ },
346
+ next: nextFunc,
347
+ });
348
+ // Build the interceptor chain
349
+ let currentNext = next;
350
+ for (let i = reversedInterceptors.length - 1; i >= 0; i--) {
351
+ const interceptor = reversedInterceptors[i];
352
+ const nextFunction = currentNext;
353
+ currentNext = async (cfg) => {
354
+ const executionInput = createExecutionInput(cfg, nextFunction);
355
+ // Create a wrapper function that matches the expected signature
356
+ const wrappedNext = (input) => {
357
+ return nextFunction(input.resource.config);
358
+ };
359
+ return interceptor(wrappedNext, executionInput);
360
+ };
361
+ }
362
+ next = currentNext;
363
+ }
364
+ return next(config);
365
+ }
366
+ getApplicableTaskMiddlewares(task) {
367
+ const existingMiddlewares = task.middleware;
368
+ const existingMiddlewareIds = existingMiddlewares.map((x) => x.id);
369
+ const globalMiddlewares = this.getEverywhereMiddlewareForTasks(task).filter((x) => !existingMiddlewareIds.includes(x.id));
370
+ return [...globalMiddlewares, ...existingMiddlewares];
371
+ }
372
+ getApplicableResourceMiddlewares(resource) {
373
+ const existingMiddlewares = resource.middleware;
374
+ const existingMiddlewareIds = existingMiddlewares.map((x) => x.id);
375
+ const globalMiddlewares = this.getEverywhereMiddlewareForResources(resource).filter((x) => !existingMiddlewareIds.includes(x.id));
376
+ return [...globalMiddlewares, ...existingMiddlewares];
377
+ }
378
+ /**
379
+ * @param task
380
+ * @returns
381
+ */
382
+ getEverywhereMiddlewareForTasks(task) {
383
+ return Array.from(this.store.taskMiddlewares.values())
384
+ .filter((x) => Boolean(x.middleware.everywhere))
385
+ .filter((x) => {
386
+ if (typeof x.middleware.everywhere === "function") {
387
+ return x.middleware.everywhere(task);
388
+ }
389
+ return true;
390
+ })
391
+ .map((x) => x.middleware);
392
+ }
393
+ /**
394
+ * Returns all global middleware for resource, which do not depend on the target resource.
395
+ */
396
+ getEverywhereMiddlewareForResources(target) {
397
+ return Array.from(this.store.resourceMiddlewares.values())
398
+ .filter((x) => Boolean(x.middleware.everywhere))
399
+ .filter((x) => {
400
+ if (typeof x.middleware.everywhere === "function") {
401
+ return x.middleware.everywhere(target);
402
+ }
403
+ return true;
404
+ })
405
+ .map((x) => x.middleware);
406
+ }
407
+ }
408
+ exports.MiddlewareManager = MiddlewareManager;
409
+ //# sourceMappingURL=MiddlewareManager.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MiddlewareManager.js","sourceRoot":"","sources":["../../src/models/MiddlewareManager.ts"],"names":[],"mappings":"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"}
@@ -1,10 +1,10 @@
1
- import { IResource, IMiddleware, ITask, IResourceWithConfig, RegisterableItems } from "../defs";
1
+ import { IResource, ITaskMiddleware, IResourceMiddleware, ITask, IResourceWithConfig, RegisterableItems, IHook } from "../defs";
2
2
  import { StoreRegistry } from "./StoreRegistry";
3
3
  export declare class OverrideManager {
4
4
  private readonly registry;
5
- overrides: Map<string | symbol, IResource | IMiddleware | ITask | IResourceWithConfig>;
5
+ overrides: Map<string, IResource | ITaskMiddleware | IResourceMiddleware | ITask | IResourceWithConfig | IHook>;
6
6
  overrideRequests: Set<{
7
- source: string | symbol;
7
+ source: string;
8
8
  override: RegisterableItems;
9
9
  }>;
10
10
  constructor(registry: StoreRegistry);
@@ -12,6 +12,9 @@ class OverrideManager {
12
12
  }
13
13
  storeOverridesDeeply(element) {
14
14
  element.overrides.forEach((override) => {
15
+ if (!override) {
16
+ return;
17
+ }
15
18
  if (utils.isResource(override)) {
16
19
  this.storeOverridesDeeply(override);
17
20
  }
@@ -37,12 +40,18 @@ class OverrideManager {
37
40
  else if (utils.isResource(override)) {
38
41
  hasAnyItem = this.registry.resources.has(override.id);
39
42
  }
40
- else if (utils.isMiddleware(override)) {
41
- hasAnyItem = this.registry.middlewares.has(override.id);
43
+ else if (utils.isTaskMiddleware(override)) {
44
+ hasAnyItem = this.registry.taskMiddlewares.has(override.id);
45
+ }
46
+ else if (utils.isResourceMiddleware(override)) {
47
+ hasAnyItem = this.registry.resourceMiddlewares.has(override.id);
42
48
  }
43
49
  else if (utils.isResourceWithConfig(override)) {
44
50
  hasAnyItem = this.registry.resources.has(override.resource.id);
45
51
  }
52
+ else if (utils.isHook(override)) {
53
+ hasAnyItem = this.registry.hooks.has(override.id);
54
+ }
46
55
  if (!hasAnyItem) {
47
56
  const id = utils.isResourceWithConfig(override)
48
57
  ? override.resource.id
@@ -52,16 +61,22 @@ class OverrideManager {
52
61
  }
53
62
  for (const override of this.overrides.values()) {
54
63
  if (utils.isTask(override)) {
55
- this.registry.storeTask(override, false);
64
+ this.registry.storeTask(override, "override");
56
65
  }
57
66
  else if (utils.isResource(override)) {
58
- this.registry.storeResource(override, false);
67
+ this.registry.storeResource(override, "override");
59
68
  }
60
- else if (utils.isMiddleware(override)) {
61
- this.registry.storeMiddleware(override, false);
69
+ else if (utils.isTaskMiddleware(override)) {
70
+ this.registry.storeTaskMiddleware(override, "override");
71
+ }
72
+ else if (utils.isResourceMiddleware(override)) {
73
+ this.registry.storeResourceMiddleware(override, "override");
62
74
  }
63
75
  else if (utils.isResourceWithConfig(override)) {
64
- this.registry.storeResourceWithConfig(override, false);
76
+ this.registry.storeResourceWithConfig(override, "override");
77
+ }
78
+ else if (utils.isHook(override)) {
79
+ this.registry.storeHook(override, "override");
65
80
  }
66
81
  }
67
82
  }
@@ -1 +1 @@
1
- {"version":3,"file":"OverrideManager.js","sourceRoot":"","sources":["../../src/models/OverrideManager.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"OverrideManager.js","sourceRoot":"","sources":["../../src/models/OverrideManager.ts"],"names":[],"mappings":"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"}