@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
@@ -20,7 +20,6 @@ exports.cacheResource = (0, define_1.defineResource)({
20
20
  return {
21
21
  map: new Map(),
22
22
  cacheFactoryTask,
23
- async: config.async,
24
23
  defaultOptions: {
25
24
  ttl: 10 * 1000,
26
25
  max: 100, // Maximum number of items in cache
@@ -36,10 +35,10 @@ exports.cacheResource = (0, define_1.defineResource)({
36
35
  },
37
36
  });
38
37
  const defaultKeyBuilder = (taskId, input) => `${taskId}-${JSON.stringify(input)}`;
39
- exports.cacheMiddleware = (0, define_1.defineMiddleware)({
38
+ exports.cacheMiddleware = (0, define_1.defineTaskMiddleware)({
40
39
  id: "globals.middleware.cache",
41
40
  dependencies: { cache: exports.cacheResource },
42
- async run({ task, resource, next }, deps, config) {
41
+ async run({ task, next }, deps, config) {
43
42
  const { cache } = deps;
44
43
  config = {
45
44
  keyBuilder: defaultKeyBuilder,
@@ -48,11 +47,7 @@ exports.cacheMiddleware = (0, define_1.defineMiddleware)({
48
47
  ttlAutopurge: true, // Automatically purge expired items
49
48
  ...config,
50
49
  };
51
- if (!task) {
52
- throw new Error("Cache middleware can only be used in tasks");
53
- }
54
50
  const taskId = task.definition.id;
55
- const isAsync = cache.async;
56
51
  let cacheHolderForTask = cache.map.get(taskId);
57
52
  if (!cacheHolderForTask) {
58
53
  // Extract only LRUCache options, excluding keyBuilder
@@ -66,19 +61,12 @@ exports.cacheMiddleware = (0, define_1.defineMiddleware)({
66
61
  cache.map.set(taskId, cacheHolderForTask);
67
62
  }
68
63
  const key = config.keyBuilder(taskId, task.input);
69
- const cachedValue = isAsync
70
- ? await cacheHolderForTask.get(key)
71
- : cacheHolderForTask.get(key);
64
+ const cachedValue = await cacheHolderForTask.get(key);
72
65
  if (cachedValue) {
73
66
  return cachedValue;
74
67
  }
75
68
  const result = await next(task.input);
76
- if (isAsync) {
77
- await cacheHolderForTask.set(key, result);
78
- }
79
- else {
80
- cacheHolderForTask.set(key, result);
81
- }
69
+ await cacheHolderForTask.set(key, result);
82
70
  return result;
83
71
  },
84
72
  });
@@ -1 +1 @@
1
- {"version":3,"file":"cache.middleware.js","sourceRoot":"","sources":["../../../src/globals/middleware/cache.middleware.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cache.middleware.js","sourceRoot":"","sources":["../../../src/globals/middleware/cache.middleware.ts"],"names":[],"mappings":"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"}
@@ -2,5 +2,5 @@ import { Context } from "../../context";
2
2
  type RequireContextMiddlewareConfig = {
3
3
  context: Context<any>;
4
4
  };
5
- export declare const requireContextMiddleware: import("../../defs").IMiddleware<RequireContextMiddlewareConfig, import("../../defs").DependencyMapType>;
5
+ export declare const requireContextTaskMiddleware: import("../../defs").ITaskMiddleware<RequireContextMiddlewareConfig, void, void, any>;
6
6
  export {};
@@ -1,25 +1,16 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.requireContextMiddleware = void 0;
4
- const context_1 = require("../../context");
3
+ exports.requireContextTaskMiddleware = void 0;
5
4
  const define_1 = require("../../define");
6
- exports.requireContextMiddleware = (0, define_1.defineMiddleware)({
5
+ exports.requireContextTaskMiddleware = (0, define_1.defineTaskMiddleware)({
7
6
  id: "globals.middleware.requireContext",
8
- async run({ task, resource, next }, deps, config) {
7
+ async run({ task, next }, deps, config) {
9
8
  if (!config.context) {
10
9
  throw new Error("Context not available. Did you forget to pass 'context' to the middleware?");
11
10
  }
11
+ // This will throw if the context is not available
12
12
  const ctx = config.context.use();
13
- if (!ctx) {
14
- throw new context_1.ContextError("Context not available. Did you forget to provide the context via ContextName.provide()?");
15
- }
16
- if (task) {
17
- return next(task.input);
18
- }
19
- if (resource) {
20
- return next(resource.config);
21
- }
22
- return next();
13
+ return next(task?.input);
23
14
  },
24
15
  });
25
16
  //# sourceMappingURL=requireContext.middleware.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"requireContext.middleware.js","sourceRoot":"","sources":["../../../src/globals/middleware/requireContext.middleware.ts"],"names":[],"mappings":";;;AAAA,2CAAsD;AACtD,yCAAgD;AAMnC,QAAA,wBAAwB,GAAG,IAAA,yBAAgB,EAAC;IACvD,EAAE,EAAE,mCAAmC;IACvC,KAAK,CAAC,GAAG,CACP,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,EACxB,IAAI,EACJ,MAAsC;QAEtC,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;YACpB,MAAM,IAAI,KAAK,CACb,4EAA4E,CAC7E,CAAC;QACJ,CAAC;QAED,MAAM,GAAG,GAAG,MAAM,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC;QACjC,IAAI,CAAC,GAAG,EAAE,CAAC;YACT,MAAM,IAAI,sBAAY,CACpB,yFAAyF,CAC1F,CAAC;QACJ,CAAC;QACD,IAAI,IAAI,EAAE,CAAC;YACT,OAAO,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC1B,CAAC;QACD,IAAI,QAAQ,EAAE,CAAC;YACb,OAAO,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;QAC/B,CAAC;QAED,OAAO,IAAI,EAAE,CAAC;IAChB,CAAC;CACF,CAAC,CAAC"}
1
+ {"version":3,"file":"requireContext.middleware.js","sourceRoot":"","sources":["../../../src/globals/middleware/requireContext.middleware.ts"],"names":[],"mappings":";;;AACA,yCAAoD;AAMvC,QAAA,4BAA4B,GAAG,IAAA,6BAAoB,EAAC;IAC/D,EAAE,EAAE,mCAAmC;IACvC,KAAK,CAAC,GAAG,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,MAAsC;QACpE,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;YACpB,MAAM,IAAI,KAAK,CACb,4EAA4E,CAC7E,CAAC;QACJ,CAAC;QAED,kDAAkD;QAClD,MAAM,GAAG,GAAG,MAAM,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC;QAEjC,OAAO,IAAI,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IAC3B,CAAC;CACF,CAAC,CAAC"}
@@ -17,4 +17,5 @@ export interface RetryMiddlewareConfig {
17
17
  */
18
18
  delayStrategy?: (attempt: number, error: Error) => number;
19
19
  }
20
- export declare const retryMiddleware: import("../../defs").IMiddleware<RetryMiddlewareConfig, import("../../defs").DependencyMapType>;
20
+ export declare const retryTaskMiddleware: import("../../defs").ITaskMiddleware<RetryMiddlewareConfig, void, void, any>;
21
+ export declare const retryResourceMiddleware: import("../../defs").IResourceMiddleware<RetryMiddlewareConfig, void, void, any>;
@@ -1,11 +1,11 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.retryMiddleware = void 0;
3
+ exports.retryResourceMiddleware = exports.retryTaskMiddleware = void 0;
4
4
  const define_1 = require("../../define");
5
- exports.retryMiddleware = (0, define_1.defineMiddleware)({
6
- id: "globals.middleware.retry",
7
- async run({ task, resource, next }, deps, config) {
8
- const input = task ? task.input : resource?.config;
5
+ exports.retryTaskMiddleware = (0, define_1.defineTaskMiddleware)({
6
+ id: "globals.middleware.retry.task",
7
+ async run({ task, next }, deps, config) {
8
+ const input = task?.input;
9
9
  let attempts = 0;
10
10
  // Set defaults for required parameters
11
11
  const maxRetries = config.retries ?? 3;
@@ -31,4 +31,31 @@ exports.retryMiddleware = (0, define_1.defineMiddleware)({
31
31
  }
32
32
  },
33
33
  });
34
+ exports.retryResourceMiddleware = (0, define_1.defineResourceMiddleware)({
35
+ id: "globals.middleware.retry.resource",
36
+ async run({ resource, next }, deps, config) {
37
+ const input = resource?.config;
38
+ let attempts = 0;
39
+ const maxRetries = config.retries ?? 3;
40
+ const shouldStop = config.stopRetryIf ?? (() => false);
41
+ while (true) {
42
+ try {
43
+ return await next(input);
44
+ }
45
+ catch (error) {
46
+ const err = error;
47
+ if (shouldStop(err) || attempts >= maxRetries) {
48
+ throw error;
49
+ }
50
+ const delay = config.delayStrategy
51
+ ? config.delayStrategy(attempts, err)
52
+ : 100 * Math.pow(2, attempts);
53
+ if (delay > 0) {
54
+ await new Promise((resolve) => setTimeout(resolve, delay));
55
+ }
56
+ attempts++;
57
+ }
58
+ }
59
+ },
60
+ });
34
61
  //# sourceMappingURL=retry.middleware.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"retry.middleware.js","sourceRoot":"","sources":["../../../src/globals/middleware/retry.middleware.ts"],"names":[],"mappings":";;;AAAA,yCAAgD;AAsBnC,QAAA,eAAe,GAAG,IAAA,yBAAgB,EAAC;IAC9C,EAAE,EAAE,0BAA0B;IAC9B,KAAK,CAAC,GAAG,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,MAA6B;QACrE,MAAM,KAAK,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,QAAQ,EAAE,MAAM,CAAC;QACnD,IAAI,QAAQ,GAAG,CAAC,CAAC;QAEjB,uCAAuC;QACvC,MAAM,UAAU,GAAG,MAAM,CAAC,OAAO,IAAI,CAAC,CAAC;QACvC,MAAM,UAAU,GAAG,MAAM,CAAC,WAAW,IAAI,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,CAAC;QAEvD,OAAO,IAAI,EAAE,CAAC;YACZ,IAAI,CAAC;gBACH,OAAO,MAAM,IAAI,CAAC,KAAK,CAAC,CAAC;YAC3B,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,MAAM,GAAG,GAAG,KAAc,CAAC;gBAE3B,IAAI,UAAU,CAAC,GAAG,CAAC,IAAI,QAAQ,IAAI,UAAU,EAAE,CAAC;oBAC9C,MAAM,KAAK,CAAC;gBACd,CAAC;gBAED,uEAAuE;gBACvE,MAAM,KAAK,GAAG,MAAM,CAAC,aAAa;oBAChC,CAAC,CAAC,MAAM,CAAC,aAAa,CAAC,QAAQ,EAAE,GAAG,CAAC;oBACrC,CAAC,CAAC,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC;gBAEhC,IAAI,KAAK,GAAG,CAAC,EAAE,CAAC;oBACd,MAAM,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC,CAAC;gBAC7D,CAAC;gBAED,QAAQ,EAAE,CAAC;YACb,CAAC;QACH,CAAC;IACH,CAAC;CACF,CAAC,CAAC"}
1
+ {"version":3,"file":"retry.middleware.js","sourceRoot":"","sources":["../../../src/globals/middleware/retry.middleware.ts"],"names":[],"mappings":";;;AAAA,yCAA8E;AAsBjE,QAAA,mBAAmB,GAAG,IAAA,6BAAoB,EAAC;IACtD,EAAE,EAAE,+BAA+B;IACnC,KAAK,CAAC,GAAG,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,MAA6B;QAC3D,MAAM,KAAK,GAAG,IAAI,EAAE,KAAK,CAAC;QAC1B,IAAI,QAAQ,GAAG,CAAC,CAAC;QAEjB,uCAAuC;QACvC,MAAM,UAAU,GAAG,MAAM,CAAC,OAAO,IAAI,CAAC,CAAC;QACvC,MAAM,UAAU,GAAG,MAAM,CAAC,WAAW,IAAI,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,CAAC;QAEvD,OAAO,IAAI,EAAE,CAAC;YACZ,IAAI,CAAC;gBACH,OAAO,MAAM,IAAI,CAAC,KAAK,CAAC,CAAC;YAC3B,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,MAAM,GAAG,GAAG,KAAc,CAAC;gBAE3B,IAAI,UAAU,CAAC,GAAG,CAAC,IAAI,QAAQ,IAAI,UAAU,EAAE,CAAC;oBAC9C,MAAM,KAAK,CAAC;gBACd,CAAC;gBAED,uEAAuE;gBACvE,MAAM,KAAK,GAAG,MAAM,CAAC,aAAa;oBAChC,CAAC,CAAC,MAAM,CAAC,aAAa,CAAC,QAAQ,EAAE,GAAG,CAAC;oBACrC,CAAC,CAAC,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC;gBAEhC,IAAI,KAAK,GAAG,CAAC,EAAE,CAAC;oBACd,MAAM,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC,CAAC;gBAC7D,CAAC;gBAED,QAAQ,EAAE,CAAC;YACb,CAAC;QACH,CAAC;IACH,CAAC;CACF,CAAC,CAAC;AAEU,QAAA,uBAAuB,GAAG,IAAA,iCAAwB,EAAC;IAC9D,EAAE,EAAE,mCAAmC;IACvC,KAAK,CAAC,GAAG,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,MAA6B;QAC/D,MAAM,KAAK,GAAG,QAAQ,EAAE,MAAM,CAAC;QAC/B,IAAI,QAAQ,GAAG,CAAC,CAAC;QACjB,MAAM,UAAU,GAAG,MAAM,CAAC,OAAO,IAAI,CAAC,CAAC;QACvC,MAAM,UAAU,GAAG,MAAM,CAAC,WAAW,IAAI,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,CAAC;QACvD,OAAO,IAAI,EAAE,CAAC;YACZ,IAAI,CAAC;gBACH,OAAO,MAAM,IAAI,CAAC,KAAK,CAAC,CAAC;YAC3B,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,MAAM,GAAG,GAAG,KAAc,CAAC;gBAC3B,IAAI,UAAU,CAAC,GAAG,CAAC,IAAI,QAAQ,IAAI,UAAU,EAAE,CAAC;oBAC9C,MAAM,KAAK,CAAC;gBACd,CAAC;gBACD,MAAM,KAAK,GAAG,MAAM,CAAC,aAAa;oBAChC,CAAC,CAAC,MAAM,CAAC,aAAa,CAAC,QAAQ,EAAE,GAAG,CAAC;oBACrC,CAAC,CAAC,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC;gBAChC,IAAI,KAAK,GAAG,CAAC,EAAE,CAAC;oBACd,MAAM,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC,CAAC;gBAC7D,CAAC;gBACD,QAAQ,EAAE,CAAC;YACb,CAAC;QACH,CAAC;IACH,CAAC;CACF,CAAC,CAAC"}
@@ -5,4 +5,5 @@ export interface TimeoutMiddlewareConfig {
5
5
  */
6
6
  ttl: number;
7
7
  }
8
- export declare const timeoutMiddleware: import("../../defs").IMiddleware<TimeoutMiddlewareConfig, import("../../defs").DependencyMapType>;
8
+ export declare const timeoutTaskMiddleware: import("../../defs").ITaskMiddleware<TimeoutMiddlewareConfig, void, void, any>;
9
+ export declare const timeoutResourceMiddleware: import("../../defs").IResourceMiddleware<TimeoutMiddlewareConfig, void, void, any>;
@@ -1,11 +1,11 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.timeoutMiddleware = void 0;
3
+ exports.timeoutResourceMiddleware = exports.timeoutTaskMiddleware = void 0;
4
4
  const define_1 = require("../../define");
5
- exports.timeoutMiddleware = (0, define_1.defineMiddleware)({
6
- id: "globals.middleware.timeout",
7
- async run({ task, resource, next }, _deps, config) {
8
- const input = task ? task.input : resource?.config;
5
+ exports.timeoutTaskMiddleware = (0, define_1.defineTaskMiddleware)({
6
+ id: "globals.middleware.timeout.task",
7
+ async run({ task, next }, _deps, config) {
8
+ const input = task?.input;
9
9
  const ttl = Math.max(0, config.ttl);
10
10
  const message = `Operation timed out after ${ttl}ms`;
11
11
  // Fast-path: immediate timeout
@@ -32,4 +32,30 @@ exports.timeoutMiddleware = (0, define_1.defineMiddleware)({
32
32
  return Promise.race([next(input), timeoutPromise]);
33
33
  },
34
34
  });
35
+ exports.timeoutResourceMiddleware = (0, define_1.defineResourceMiddleware)({
36
+ id: "globals.middleware.timeout.resource",
37
+ async run({ resource, next }, _deps, config) {
38
+ const input = resource?.config;
39
+ const ttl = Math.max(0, config.ttl);
40
+ const message = `Operation timed out after ${ttl}ms`;
41
+ if (ttl === 0) {
42
+ const error = new Error(message);
43
+ error.name = "TimeoutError";
44
+ throw error;
45
+ }
46
+ const controller = new AbortController();
47
+ const timeoutPromise = new Promise((_, reject) => {
48
+ const timeoutId = setTimeout(() => {
49
+ controller.abort();
50
+ const error = new Error(message);
51
+ error.name = "TimeoutError";
52
+ reject(error);
53
+ }, ttl);
54
+ controller.signal.addEventListener("abort", () => {
55
+ clearTimeout(timeoutId);
56
+ });
57
+ });
58
+ return Promise.race([next(input), timeoutPromise]);
59
+ },
60
+ });
35
61
  //# sourceMappingURL=timeout.middleware.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"timeout.middleware.js","sourceRoot":"","sources":["../../../src/globals/middleware/timeout.middleware.ts"],"names":[],"mappings":";;;AAAA,yCAAgD;AAUnC,QAAA,iBAAiB,GAAG,IAAA,yBAAgB,EAAC;IAChD,EAAE,EAAE,4BAA4B;IAChC,KAAK,CAAC,GAAG,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,EAAE,KAAK,EAAE,MAA+B;QACxE,MAAM,KAAK,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,QAAQ,EAAE,MAAM,CAAC;QAEnD,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC;QACpC,MAAM,OAAO,GAAG,6BAA6B,GAAG,IAAI,CAAC;QAErD,+BAA+B;QAC/B,IAAI,GAAG,KAAK,CAAC,EAAE,CAAC;YACd,MAAM,KAAK,GAAG,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC;YAChC,KAAa,CAAC,IAAI,GAAG,cAAc,CAAC;YACrC,MAAM,KAAK,CAAC;QACd,CAAC;QAED,MAAM,UAAU,GAAG,IAAI,eAAe,EAAE,CAAC;QAEzC,qDAAqD;QACrD,MAAM,cAAc,GAAG,IAAI,OAAO,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE;YAC/C,MAAM,SAAS,GAAG,UAAU,CAAC,GAAG,EAAE;gBAChC,UAAU,CAAC,KAAK,EAAE,CAAC;gBACnB,MAAM,KAAK,GAAG,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC;gBAChC,KAAa,CAAC,IAAI,GAAG,cAAc,CAAC;gBACrC,MAAM,CAAC,KAAK,CAAC,CAAC;YAChB,CAAC,EAAE,GAAG,CAAC,CAAC;YAER,2DAA2D;YAC3D,UAAU,CAAC,MAAM,CAAC,gBAAgB,CAAC,OAAO,EAAE,GAAG,EAAE;gBAC/C,YAAY,CAAC,SAAS,CAAC,CAAC;YAC1B,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;QAEH,oDAAoD;QACpD,OAAO,OAAO,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,cAAc,CAAC,CAAC,CAAC;IACrD,CAAC;CACF,CAAC,CAAC"}
1
+ {"version":3,"file":"timeout.middleware.js","sourceRoot":"","sources":["../../../src/globals/middleware/timeout.middleware.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,7 @@
1
+ import { DebugFriendlyConfig } from "./types";
2
+ export declare const debugResource: import("../../../defs").IResource<DebugFriendlyConfig, Promise<any>, {}, any, {
3
+ title: string;
4
+ description: string;
5
+ }, import("../../../defs").ITag<{
6
+ metadata?: Record<string, any>;
7
+ }, void, void>[], import("../../../defs").ResourceMiddlewareAttachmentType[]>;
@@ -0,0 +1,29 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.debugResource = void 0;
4
+ const define_1 = require("../../../define");
5
+ const debugConfig_resource_1 = require("./debugConfig.resource");
6
+ const globalEvent_hook_1 = require("./globalEvent.hook");
7
+ const executionTracker_middleware_1 = require("./executionTracker.middleware");
8
+ const globalTags_1 = require("../../globalTags");
9
+ const middleware_hook_1 = require("./middleware.hook");
10
+ const hook_hook_1 = require("./hook.hook");
11
+ exports.debugResource = (0, define_1.defineResource)({
12
+ id: "globals.resources.debug",
13
+ register: (config) => {
14
+ return [
15
+ debugConfig_resource_1.debugConfig.with(config),
16
+ globalEvent_hook_1.globalEventListener,
17
+ middleware_hook_1.middlewareInterceptorResource,
18
+ hook_hook_1.hookInterceptorResource,
19
+ executionTracker_middleware_1.tasksTrackerMiddleware,
20
+ executionTracker_middleware_1.resourcesTrackerMiddleware,
21
+ ];
22
+ },
23
+ meta: {
24
+ title: "Debug",
25
+ description: "Debug resource. This is used to debug the system.",
26
+ },
27
+ tags: [globalTags_1.globalTags.system],
28
+ });
29
+ //# sourceMappingURL=debug.resource.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"debug.resource.js","sourceRoot":"","sources":["../../../../src/globals/resources/debug/debug.resource.ts"],"names":[],"mappings":";;;AAAA,4CAAiD;AACjD,iEAAqD;AAErD,yDAAyD;AACzD,+EAGuC;AACvC,iDAA8C;AAC9C,uDAAkE;AAClE,2CAAsD;AAEzC,QAAA,aAAa,GAAG,IAAA,uBAAc,EAAC;IAC1C,EAAE,EAAE,yBAAyB;IAC7B,QAAQ,EAAE,CAAC,MAA2B,EAAE,EAAE;QACxC,OAAO;YACL,kCAAW,CAAC,IAAI,CAAC,MAAM,CAAC;YACxB,sCAAmB;YACnB,+CAA6B;YAC7B,mCAAuB;YACvB,oDAAsB;YACtB,wDAA0B;SAC3B,CAAC;IACJ,CAAC;IACD,IAAI,EAAE;QACJ,KAAK,EAAE,OAAO;QACd,WAAW,EAAE,mDAAmD;KACjE;IACD,IAAI,EAAE,CAAC,uBAAU,CAAC,MAAM,CAAC;CAC1B,CAAC,CAAC"}
@@ -0,0 +1,2 @@
1
+ import { DebugFriendlyConfig } from "./types";
2
+ export declare const debugTag: import("../../../defs").ITag<DebugFriendlyConfig, void, void>;
@@ -0,0 +1,12 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.debugTag = void 0;
4
+ const define_1 = require("../../../define");
5
+ exports.debugTag = (0, define_1.defineTag)({
6
+ id: "globals.tags.debug",
7
+ meta: {
8
+ title: "Debug",
9
+ description: "Debug-specific tags. Used for filtering out noise when you're focusing on your application.",
10
+ },
11
+ });
12
+ //# sourceMappingURL=debug.tag.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"debug.tag.js","sourceRoot":"","sources":["../../../../src/globals/resources/debug/debug.tag.ts"],"names":[],"mappings":";;;AAAA,4CAA4C;AAG/B,QAAA,QAAQ,GAAG,IAAA,kBAAS,EAAsB;IACrD,EAAE,EAAE,oBAAoB;IACxB,IAAI,EAAE;QACJ,KAAK,EAAE,OAAO;QACd,WAAW,EACT,6FAA6F;KAChG;CACF,CAAC,CAAC"}
@@ -0,0 +1,22 @@
1
+ import { DebugFriendlyConfig } from "./types";
2
+ export declare const debugConfig: import("../../../defs").IResource<DebugFriendlyConfig, Promise<{
3
+ logResourceConfig: boolean;
4
+ logResourceValue: boolean;
5
+ logResourceBeforeRun: boolean;
6
+ logResourceAfterRun: boolean;
7
+ logTaskBeforeRun: boolean;
8
+ logTaskInput: boolean;
9
+ logTaskOutput: boolean;
10
+ logTaskAfterRun: boolean;
11
+ logMiddlewareBeforeRun: boolean;
12
+ logMiddlewareAfterRun: boolean;
13
+ logEventEmissionOnRun: boolean;
14
+ logEventEmissionInput: boolean;
15
+ logHookTriggered: boolean;
16
+ logHookCompleted: boolean;
17
+ }>, {}, any, {
18
+ title: string;
19
+ description: string;
20
+ }, import("../../../defs").ITag<{
21
+ metadata?: Record<string, any>;
22
+ }, void, void>[], import("../../../defs").ResourceMiddlewareAttachmentType[]>;
@@ -0,0 +1,20 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.debugConfig = void 0;
4
+ const define_1 = require("../../../define");
5
+ const types_1 = require("./types");
6
+ const globalTags_1 = require("../../../globals/globalTags");
7
+ exports.debugConfig = (0, define_1.defineResource)({
8
+ id: "globals.debug.resources.config",
9
+ meta: {
10
+ title: "Debug Config",
11
+ description: "Debug config. This is used to debug the system.",
12
+ },
13
+ tags: [globalTags_1.globalTags.system],
14
+ init: async (config) => {
15
+ const myConfig = { ...(0, types_1.getConfig)(config) };
16
+ Object.freeze(myConfig);
17
+ return myConfig;
18
+ },
19
+ });
20
+ //# sourceMappingURL=debugConfig.resource.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"debugConfig.resource.js","sourceRoot":"","sources":["../../../../src/globals/resources/debug/debugConfig.resource.ts"],"names":[],"mappings":";;;AAAA,4CAAiD;AACjD,mCAAyD;AACzD,4DAAyD;AAE5C,QAAA,WAAW,GAAG,IAAA,uBAAc,EAAC;IACxC,EAAE,EAAE,gCAAgC;IACpC,IAAI,EAAE;QACJ,KAAK,EAAE,cAAc;QACrB,WAAW,EAAE,iDAAiD;KAC/D;IACD,IAAI,EAAE,CAAC,uBAAU,CAAC,MAAM,CAAC;IACzB,IAAI,EAAE,KAAK,EAAE,MAA2B,EAAE,EAAE;QAC1C,MAAM,QAAQ,GAAG,EAAE,GAAG,IAAA,iBAAS,EAAC,MAAM,CAAC,EAAE,CAAC;QAE1C,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;QACxB,OAAO,QAAQ,CAAC;IAClB,CAAC;CACF,CAAC,CAAC"}
@@ -0,0 +1,50 @@
1
+ export declare const tasksTrackerMiddleware: import("../../../defs").ITaskMiddleware<any, void, void, {
2
+ logger: import("../../../defs").IResource<void, Promise<import("../../..").Logger>, {}, any, any, import("../../../defs").TagType[], import("../../../defs").ResourceMiddlewareAttachmentType[]>;
3
+ debugConfig: import("../../../defs").IResource<import("./types").DebugFriendlyConfig, Promise<{
4
+ logResourceConfig: boolean;
5
+ logResourceValue: boolean;
6
+ logResourceBeforeRun: boolean;
7
+ logResourceAfterRun: boolean;
8
+ logTaskBeforeRun: boolean;
9
+ logTaskInput: boolean;
10
+ logTaskOutput: boolean;
11
+ logTaskAfterRun: boolean;
12
+ logMiddlewareBeforeRun: boolean;
13
+ logMiddlewareAfterRun: boolean;
14
+ logEventEmissionOnRun: boolean;
15
+ logEventEmissionInput: boolean;
16
+ logHookTriggered: boolean;
17
+ logHookCompleted: boolean;
18
+ }>, {}, any, {
19
+ title: string;
20
+ description: string;
21
+ }, import("../../../defs").ITag<{
22
+ metadata?: Record<string, any>;
23
+ }, void, void>[], import("../../../defs").ResourceMiddlewareAttachmentType[]>;
24
+ store: import("../../../defs").IResource<void, Promise<import("../../..").Store>, {}, any, any, import("../../../defs").TagType[], import("../../../defs").ResourceMiddlewareAttachmentType[]>;
25
+ }>;
26
+ export declare const resourcesTrackerMiddleware: import("../../../defs").IResourceMiddleware<any, void, void, {
27
+ logger: import("../../../defs").IResource<void, Promise<import("../../..").Logger>, {}, any, any, import("../../../defs").TagType[], import("../../../defs").ResourceMiddlewareAttachmentType[]>;
28
+ debugConfig: import("../../../defs").IResource<import("./types").DebugFriendlyConfig, Promise<{
29
+ logResourceConfig: boolean;
30
+ logResourceValue: boolean;
31
+ logResourceBeforeRun: boolean;
32
+ logResourceAfterRun: boolean;
33
+ logTaskBeforeRun: boolean;
34
+ logTaskInput: boolean;
35
+ logTaskOutput: boolean;
36
+ logTaskAfterRun: boolean;
37
+ logMiddlewareBeforeRun: boolean;
38
+ logMiddlewareAfterRun: boolean;
39
+ logEventEmissionOnRun: boolean;
40
+ logEventEmissionInput: boolean;
41
+ logHookTriggered: boolean;
42
+ logHookCompleted: boolean;
43
+ }>, {}, any, {
44
+ title: string;
45
+ description: string;
46
+ }, import("../../../defs").ITag<{
47
+ metadata?: Record<string, any>;
48
+ }, void, void>[], import("../../../defs").ResourceMiddlewareAttachmentType[]>;
49
+ store: import("../../../defs").IResource<void, Promise<import("../../..").Store>, {}, any, any, import("../../../defs").TagType[], import("../../../defs").ResourceMiddlewareAttachmentType[]>;
50
+ }>;
@@ -0,0 +1,87 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.resourcesTrackerMiddleware = exports.tasksTrackerMiddleware = void 0;
4
+ const define_1 = require("../../../define");
5
+ const debugConfig_resource_1 = require("./debugConfig.resource");
6
+ const globalResources_1 = require("../../globalResources");
7
+ const globalTags_1 = require("../../globalTags");
8
+ const types_1 = require("./types");
9
+ exports.tasksTrackerMiddleware = (0, define_1.defineTaskMiddleware)({
10
+ id: "debug.middleware.tracker.task",
11
+ everywhere: (task) => !globalTags_1.globalTags.system.exists(task),
12
+ dependencies: {
13
+ logger: globalResources_1.globalResources.logger,
14
+ debugConfig: debugConfig_resource_1.debugConfig,
15
+ store: globalResources_1.globalResources.store,
16
+ },
17
+ run: async ({ task, next }, { logger, debugConfig, store }) => {
18
+ const start = Date.now();
19
+ debugConfig = (0, types_1.getConfig)(debugConfig, task?.definition);
20
+ const taskStartMessage = `Task ${task.definition.id} is running...`;
21
+ const shouldShowData = debugConfig.logTaskInput && task.input;
22
+ await logger.info(taskStartMessage, {
23
+ data: shouldShowData ? { input: task.input } : undefined,
24
+ source: "debug.middleware.tracker",
25
+ });
26
+ try {
27
+ const result = await next(task.input);
28
+ const duration = Date.now() - start;
29
+ const taskCompleteMessage = `Task ${task.definition.id} completed in ${duration}ms`;
30
+ const shouldShowResult = debugConfig.logTaskOutput && result;
31
+ await logger.info(taskCompleteMessage, {
32
+ data: shouldShowResult ? { result } : undefined,
33
+ source: "debug.middleware.tracker",
34
+ });
35
+ return result;
36
+ }
37
+ catch (error) {
38
+ await logger.error(error);
39
+ throw error;
40
+ }
41
+ },
42
+ meta: {
43
+ title: "Execution Tracker",
44
+ description: "Tracks the execution of tasks and resources.",
45
+ },
46
+ tags: [globalTags_1.globalTags.system],
47
+ });
48
+ exports.resourcesTrackerMiddleware = (0, define_1.defineResourceMiddleware)({
49
+ id: "debug.middleware.tracker.resource",
50
+ dependencies: {
51
+ logger: globalResources_1.globalResources.logger,
52
+ debugConfig: debugConfig_resource_1.debugConfig,
53
+ store: globalResources_1.globalResources.store,
54
+ },
55
+ everywhere: (resource) => !globalTags_1.globalTags.system.exists(resource),
56
+ run: async ({ resource, next }, { logger, debugConfig, store }) => {
57
+ const start = Date.now();
58
+ debugConfig = (0, types_1.getConfig)(debugConfig, resource?.definition);
59
+ const resourceStartMessage = `Resource ${resource.definition.id} is initializing...`;
60
+ const isConfigEmpty = Object.keys(resource.config || {}).length === 0;
61
+ const shouldShowConfig = debugConfig.logResourceConfig && !isConfigEmpty;
62
+ await logger.info(resourceStartMessage, {
63
+ data: shouldShowConfig ? { config: resource.config } : undefined,
64
+ source: "debug.middleware.tracker",
65
+ });
66
+ try {
67
+ const result = await next(resource.config);
68
+ const duration = Date.now() - start;
69
+ const resourceCompleteMessage = `Resource ${String(resource.definition.id)} initialized in ${duration}ms`;
70
+ const shouldShowResult = debugConfig.logResourceValue && result !== undefined;
71
+ await logger.info(resourceCompleteMessage, {
72
+ data: shouldShowResult ? { result } : undefined,
73
+ source: "debug.middleware.tracker",
74
+ });
75
+ return result;
76
+ }
77
+ catch (error) {
78
+ throw error;
79
+ }
80
+ },
81
+ meta: {
82
+ title: "Execution Tracker",
83
+ description: "Tracks the execution of tasks and resources.",
84
+ },
85
+ tags: [globalTags_1.globalTags.system],
86
+ });
87
+ //# sourceMappingURL=executionTracker.middleware.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"executionTracker.middleware.js","sourceRoot":"","sources":["../../../../src/globals/resources/debug/executionTracker.middleware.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,27 @@
1
+ export declare const globalEventListener: import("../../../defs").IHook<{
2
+ logger: import("../../../defs").IResource<void, Promise<import("../../..").Logger>, {}, any, any, import("../../../defs").TagType[], import("../../../defs").ResourceMiddlewareAttachmentType[]>;
3
+ debugConfig: import("../../../defs").IResource<import("./types").DebugFriendlyConfig, Promise<{
4
+ logResourceConfig: boolean;
5
+ logResourceValue: boolean;
6
+ logResourceBeforeRun: boolean;
7
+ logResourceAfterRun: boolean;
8
+ logTaskBeforeRun: boolean;
9
+ logTaskInput: boolean;
10
+ logTaskOutput: boolean;
11
+ logTaskAfterRun: boolean;
12
+ logMiddlewareBeforeRun: boolean;
13
+ logMiddlewareAfterRun: boolean;
14
+ logEventEmissionOnRun: boolean;
15
+ logEventEmissionInput: boolean;
16
+ logHookTriggered: boolean;
17
+ logHookCompleted: boolean;
18
+ }>, {}, any, {
19
+ title: string;
20
+ description: string;
21
+ }, import("../../../defs").ITag<{
22
+ metadata?: Record<string, any>;
23
+ }, void, void>[], import("../../../defs").ResourceMiddlewareAttachmentType[]>;
24
+ }, "*", {
25
+ title: string;
26
+ description: string;
27
+ }>;
@@ -0,0 +1,38 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.globalEventListener = void 0;
4
+ const define_1 = require("../../../define");
5
+ const globalResources_1 = require("../../globalResources");
6
+ const globalTags_1 = require("../../globalTags");
7
+ const utils_1 = require("./utils");
8
+ const debugConfig_resource_1 = require("./debugConfig.resource");
9
+ const types_1 = require("./types");
10
+ exports.globalEventListener = (0, define_1.defineHook)({
11
+ id: "debug.catchAllHook",
12
+ on: "*",
13
+ dependencies: {
14
+ logger: globalResources_1.globalResources.logger,
15
+ debugConfig: debugConfig_resource_1.debugConfig,
16
+ },
17
+ run: async (event, { logger, debugConfig }) => {
18
+ if ((0, utils_1.hasSystemTag)(event)) {
19
+ return;
20
+ }
21
+ debugConfig = (0, types_1.getConfig)(debugConfig, event);
22
+ if (debugConfig.logEventEmissionOnRun) {
23
+ const message = `Event ${String(event.id)} emitted`;
24
+ await logger.info(message, {
25
+ source: "debug.catchAllHook",
26
+ data: debugConfig.logEventEmissionInput
27
+ ? { data: event.data }
28
+ : undefined,
29
+ });
30
+ }
31
+ },
32
+ meta: {
33
+ title: "Non-system Event Logger",
34
+ description: "Logs all non-system events.",
35
+ },
36
+ tags: [globalTags_1.globalTags.system],
37
+ });
38
+ //# sourceMappingURL=globalEvent.hook.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"globalEvent.hook.js","sourceRoot":"","sources":["../../../../src/globals/resources/debug/globalEvent.hook.ts"],"names":[],"mappings":";;;AAAA,4CAA6C;AAC7C,2DAAwD;AACxD,iDAA8C;AAC9C,mCAAuC;AACvC,iEAAqD;AACrD,mCAAoC;AAGvB,QAAA,mBAAmB,GAAG,IAAA,mBAAU,EAAC;IAC5C,EAAE,EAAE,oBAAoB;IACxB,EAAE,EAAE,GAAG;IACP,YAAY,EAAE;QACZ,MAAM,EAAE,iCAAe,CAAC,MAAM;QAC9B,WAAW,EAAX,kCAAW;KACZ;IACD,GAAG,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,MAAM,EAAE,WAAW,EAAE,EAAE,EAAE;QAC5C,IAAI,IAAA,oBAAY,EAAC,KAAK,CAAC,EAAE,CAAC;YACxB,OAAO;QACT,CAAC;QAED,WAAW,GAAG,IAAA,iBAAS,EAAC,WAAW,EAAE,KAAM,CAAC,CAAC;QAC7C,IAAI,WAAW,CAAC,qBAAqB,EAAE,CAAC;YACtC,MAAM,OAAO,GAAG,SAAS,MAAM,CAAC,KAAM,CAAC,EAAE,CAAC,UAAU,CAAC;YACrD,MAAM,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE;gBACzB,MAAM,EAAE,oBAAoB;gBAC5B,IAAI,EAAE,WAAW,CAAC,qBAAqB;oBACrC,CAAC,CAAC,EAAE,IAAI,EAAE,KAAM,CAAC,IAAI,EAAE;oBACvB,CAAC,CAAC,SAAS;aACd,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IACD,IAAI,EAAE;QACJ,KAAK,EAAE,yBAAyB;QAChC,WAAW,EAAE,6BAA6B;KAC3C;IACD,IAAI,EAAE,CAAC,uBAAU,CAAC,MAAM,CAAC;CAC1B,CAAC,CAAC"}
@@ -0,0 +1,25 @@
1
+ export declare const hookInterceptorResource: import("../../../defs").IResource<void, Promise<void>, {
2
+ logger: import("../../../defs").IResource<void, Promise<import("../../..").Logger>, {}, any, any, import("../../../defs").TagType[], import("../../../defs").ResourceMiddlewareAttachmentType[]>;
3
+ debugConfig: import("../../../defs").IResource<import("./types").DebugFriendlyConfig, Promise<{
4
+ logResourceConfig: boolean;
5
+ logResourceValue: boolean;
6
+ logResourceBeforeRun: boolean;
7
+ logResourceAfterRun: boolean;
8
+ logTaskBeforeRun: boolean;
9
+ logTaskInput: boolean;
10
+ logTaskOutput: boolean;
11
+ logTaskAfterRun: boolean;
12
+ logMiddlewareBeforeRun: boolean;
13
+ logMiddlewareAfterRun: boolean;
14
+ logEventEmissionOnRun: boolean;
15
+ logEventEmissionInput: boolean;
16
+ logHookTriggered: boolean;
17
+ logHookCompleted: boolean;
18
+ }>, {}, any, {
19
+ title: string;
20
+ description: string;
21
+ }, import("../../../defs").ITag<{
22
+ metadata?: Record<string, any>;
23
+ }, void, void>[], import("../../../defs").ResourceMiddlewareAttachmentType[]>;
24
+ eventManager: import("../../../defs").IResource<void, Promise<import("../../..").EventManager>, {}, any, any, import("../../../defs").TagType[], import("../../../defs").ResourceMiddlewareAttachmentType[]>;
25
+ }, any, any, import("../../../defs").TagType[], import("../../../defs").ResourceMiddlewareAttachmentType[]>;