@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
package/dist/defs.d.ts CHANGED
@@ -3,435 +3,27 @@
3
3
  *
4
4
  * This file contains the strongly-typed contract for tasks, resources, events
5
5
  * and middleware. It mirrors the mental model described in the README:
6
- * - Tasks are functions (with lifecycle events)
7
- * - Resources are singletons (with init/dispose hooks and lifecycle events)
6
+ * - Tasks are functions
7
+ * - Resources are singletons (with init/dispose hooks)
8
+ * - Hooks are event listeners without middleware
8
9
  * - Events are simple, strongly-typed emissions
9
- * - Middleware can target both tasks and resources
10
+ * - Middleware can target both tasks and resources (taskMiddleware, resourceMiddleware)
10
11
  *
11
12
  * DX goals:
12
13
  * - Crystal‑clear generics and helper types that infer dependency shapes
13
14
  * - Friendly JSDoc you can hover in editors to understand usage instantly
14
15
  * - Safe overrides and strong typing around config and register mechanics
15
16
  */
16
- import { MiddlewareEverywhereOptions } from "./define";
17
- import { EnsureResponseSatisfiesContracts, HasContracts } from "./defs.returnTag";
18
- /**
19
- * Generic validation schema interface that can be implemented by any validation library.
20
- * Compatible with Zod, Yup, Joi, and other validation libraries.
21
- */
22
- export interface IValidationSchema<T = any> {
23
- /**
24
- * Parse and validate the input data.
25
- * Should throw an error if validation fails.
26
- * Can transform the data if the schema supports transformations.
27
- */
28
- parse(input: unknown): T;
29
- }
17
+ export * from "./types/utilities";
18
+ export * from "./types/symbols";
19
+ export * from "./types/tag";
20
+ export * from "./types/hook";
21
+ export * from "./types/resource";
22
+ export * from "./types/event";
23
+ export * from "./types/task";
24
+ export * from "./types/taskMiddleware";
25
+ export * from "./types/resourceMiddleware";
26
+ export * from "./types/meta";
27
+ export * from "./types/runner";
30
28
  export { ICacheInstance } from "./globals/middleware/cache.middleware";
31
- export * from "./models/StoreTypes";
32
- /**
33
- * Internal brand symbols used to tag created objects at runtime and help with
34
- * type‑narrowing. Prefer the `isTask`/`isResource`/`isEvent`/`isMiddleware`
35
- * helpers instead of touching these directly.
36
- * @internal
37
- */
38
- export declare const symbolTask: unique symbol;
39
- export declare const symbolResource: unique symbol;
40
- export declare const symbolResourceWithConfig: unique symbol;
41
- export declare const symbolEvent: unique symbol;
42
- export declare const symbolMiddleware: unique symbol;
43
- export declare const symbolMiddlewareConfigured: unique symbol;
44
- export declare const symbolMiddlewareGlobal: unique symbol;
45
- export declare const symbolMiddlewareEverywhereTasks: unique symbol;
46
- export declare const symbolMiddlewareEverywhereResources: unique symbol;
47
- /** @internal Path to aid anonymous id generation and error messages */
48
- export declare const symbolFilePath: unique symbol;
49
- /** @internal Marks disposable instances */
50
- export declare const symbolDispose: unique symbol;
51
- /** @internal Link to internal Store */
52
- export declare const symbolStore: unique symbol;
53
- /** @internal Brand used by index() resources */
54
- export declare const symbolIndexResource: unique symbol;
55
- export interface ITagDefinition<TConfig = void, TEnforceContract = void> {
56
- id: string | symbol;
57
- }
58
- /**
59
- * A configured instance of a tag as produced by `ITag.with()`.
60
- */
61
- export interface ITagWithConfig<TConfig = void, TEnforceContract = void> {
62
- id: string | symbol;
63
- /** The tag definition used to produce this configured instance. */
64
- tag: ITag<TConfig, TEnforceContract>;
65
- /** The configuration captured for this tag instance. */
66
- config: TConfig;
67
- }
68
- /**
69
- * A tag definition (builder). Use `.with(config)` to obtain configured instances,
70
- * and `.extract(tags)` to find either a configured instance or the bare tag in a list.
71
- */
72
- export interface ITag<TConfig = void, TEnforceContract = void> extends ITagDefinition<TConfig, TEnforceContract> {
73
- /**
74
- * Creates a configured instance of the tag.
75
- */
76
- with(config: TConfig): ITagWithConfig<TConfig, TEnforceContract>;
77
- /**
78
- * Extracts either a configured instance or the bare tag from a list of tags
79
- * or from a taggable object (`{ meta: { tags?: [] } }`).
80
- */
81
- extract(target: TagType[] | ITaggable): ExtractedTagResult<TConfig, TEnforceContract> | null;
82
- [symbolFilePath]: string;
83
- }
84
- /**
85
- * Restrict bare tags to those whose config can be omitted (void or optional object),
86
- * mirroring the same principle used for resources in `RegisterableItems`.
87
- * Required-config tags must appear as configured instances.
88
- */
89
- export type TagType = string | ITag<void, any> | ITag<{
90
- [K in any]?: any;
91
- }, any> | ITagWithConfig<any, any>;
92
- /**
93
- * Conditional result type for `ITag.extract`:
94
- * - For void config → just the identifier
95
- * - For optional object config → identifier with optional config
96
- * - For required config → identifier with required config
97
- */
98
- export type ExtractedTagResult<TConfig, TEnforceContract> = {} extends TConfig ? {
99
- id: string | symbol;
100
- config?: TConfig;
101
- } : {
102
- id: string | symbol;
103
- config: TConfig;
104
- };
105
- /**
106
- * Any object that can carry tags via metadata. This mirrors how tasks,
107
- * resources, events, and middleware expose `meta.tags`.
108
- */
109
- export interface ITaggable {
110
- meta?: {
111
- tags?: TagType[];
112
- };
113
- }
114
- /**
115
- * Common metadata you can attach to tasks/resources/events/middleware.
116
- * Useful for docs, filtering and middleware decisions.
117
- */
118
- export interface IMeta {
119
- title?: string;
120
- description?: string;
121
- tags?: TagType[];
122
- }
123
- export interface ITaskMeta extends IMeta {
124
- }
125
- export interface IResourceMeta extends IMeta {
126
- }
127
- export interface IEventMeta extends IMeta {
128
- }
129
- export interface IMiddlewareMeta extends IMeta {
130
- }
131
- /**
132
- * A mapping of dependency keys to Runner definitions. Used in `dependencies`
133
- * for tasks and resources. Values are later transformed into the actual
134
- * callable/value shape by `DependencyValuesType`.
135
- */
136
- export type DependencyMapType = Record<string, ITask<any, any, any, any> | IResource<any, any, any> | IEventDefinition<any>>;
137
- type ExtractTaskInput<T> = T extends ITask<infer I, any, infer D> ? I : never;
138
- type ExtractTaskOutput<T> = T extends ITask<any, infer O, infer D> ? O : never;
139
- type ExtractResourceValue<T> = T extends IResource<any, infer V, infer D> ? V extends Promise<infer U> ? U : V : never;
140
- type ExtractEventParams<T> = T extends IEvent<infer P> ? P : never;
141
- /**
142
- * Task dependencies transform into callable functions: call with the task input
143
- * and you receive the task output.
144
- */
145
- type TaskDependency<I, O> = (...args: I extends null | void ? [] : [I]) => O;
146
- /**
147
- * Resource dependencies resolve to the resource's value directly.
148
- */
149
- type ResourceDependency<V> = V;
150
- /**
151
- * Event dependencies resolve to an emitter function. If the payload type is
152
- * `void`, the function can be called with zero args (or an empty object).
153
- */
154
- type EventDependency<P> = P extends void ? (() => Promise<void>) & ((input?: Record<string, never>) => Promise<void>) : (input: P) => Promise<void>;
155
- /**
156
- * Transforms a dependency definition into the usable shape inside `run`/`init`:
157
- * - Task -> callable function
158
- * - Resource -> resolved value
159
- * - Event -> emit function
160
- */
161
- export type DependencyValueType<T> = T extends ITask<any, any, any> ? TaskDependency<ExtractTaskInput<T>, ExtractTaskOutput<T>> : T extends IResource<any, any> ? ResourceDependency<ExtractResourceValue<T>> : T extends IEventDefinition<any> ? EventDependency<ExtractEventParams<T>> : never;
162
- export type DependencyValuesType<T extends DependencyMapType> = {
163
- [K in keyof T]: DependencyValueType<T[K]>;
164
- };
165
- /**
166
- * Anything you can put inside a resource's `register: []`.
167
- * - Resources (with or without `.with()`)
168
- * - Tasks
169
- * - Middleware
170
- * - Events
171
- */
172
- export type RegisterableItems<T = any> = IResourceWithConfig<any> | IResource<void, any, any, any> | IResource<{
173
- [K in any]?: any;
174
- }, any, any, any> | ITask<any, any, any, any> | IMiddleware<any> | IEvent<any>;
175
- export type MiddlewareAttachments = IMiddleware<void> | IMiddleware<{
176
- [K in any]?: any;
177
- }> | IMiddlewareConfigured<any>;
178
- export interface ITaskDefinition<TInput = any, TOutput extends Promise<any> = any, TDependencies extends DependencyMapType = {}, TOn extends "*" | IEventDefinition<any> | undefined = undefined, // Adding a generic to track 'on' type,
179
- TMeta extends ITaskMeta = any> {
180
- /**
181
- * Stable identifier. If omitted, an anonymous id is generated from file path
182
- * (see README: Anonymous IDs).
183
- */
184
- id?: string | symbol;
185
- /**
186
- * Access other tasks/resources/events. Can be an object or a function when
187
- * you need late or config‑dependent resolution.
188
- */
189
- dependencies?: TDependencies | (() => TDependencies);
190
- /** Middleware applied around task execution. */
191
- middleware?: MiddlewareAttachments[];
192
- /**
193
- * Listen to events in a simple way
194
- */
195
- on?: TOn;
196
- /**
197
- * This makes sense only when `on` is specified to provide the order of the execution.
198
- * The event with the lowest order will be executed first.
199
- */
200
- listenerOrder?: number;
201
- /** Optional metadata used for docs, filtering and tooling. */
202
- meta?: TMeta;
203
- /**
204
- * Optional validation schema for runtime input validation.
205
- * When provided, task input will be validated before execution.
206
- */
207
- inputSchema?: IValidationSchema<TInput>;
208
- /**
209
- * The task body. If `on` is set, the input is an `IEventEmission`. Otherwise,
210
- * it's the declared input type.
211
- */
212
- run: (input: TOn extends undefined ? TInput : IEventEmission<TOn extends "*" ? any : ExtractEventParams<TOn>>, dependencies: DependencyValuesType<TDependencies>) => HasContracts<TMeta> extends true ? EnsureResponseSatisfiesContracts<TMeta, TOutput> : TOutput;
213
- }
214
- export type BeforeRunEventPayload<TInput> = {
215
- input: TInput;
216
- };
217
- export type AfterRunEventPayload<TInput, TOutput> = {
218
- input: TInput;
219
- output: TOutput extends Promise<infer U> ? U : TOutput;
220
- setOutput(newOutput: TOutput extends Promise<infer U> ? U : TOutput): void;
221
- };
222
- export type OnErrorEventPayload = {
223
- error: any;
224
- /**
225
- * This function can be called to suppress the error from being thrown.
226
- */
227
- suppress(): void;
228
- };
229
- export type BeforeInitEventPayload<TConfig> = {
230
- config: TConfig;
231
- };
232
- export type AfterInitEventPayload<TConfig, TValue> = {
233
- config: TConfig;
234
- value: TValue;
235
- };
236
- /**
237
- * This is the response after the definition has been prepared. TODO: better naming?
238
- */
239
- export interface ITask<TInput = any, TOutput extends Promise<any> = any, TDependencies extends DependencyMapType = {}, TOn extends "*" | IEventDefinition<any> | undefined = undefined, TMeta extends ITaskMeta = any> extends ITaskDefinition<TInput, TOutput, TDependencies, TOn, TMeta> {
240
- id: string | symbol;
241
- dependencies: TDependencies | (() => TDependencies);
242
- computedDependencies?: DependencyValuesType<TDependencies>;
243
- middleware: MiddlewareAttachments[];
244
- /**
245
- * These events are automatically populated after the task has been defined.
246
- */
247
- events: {
248
- beforeRun: IEvent<BeforeRunEventPayload<TInput>>;
249
- afterRun: IEvent<AfterRunEventPayload<TInput, TOutput>>;
250
- onError: IEvent<OnErrorEventPayload>;
251
- };
252
- [symbolFilePath]: string;
253
- [symbolTask]: true;
254
- }
255
- export interface IResourceDefinition<TConfig = any, TValue extends Promise<any> = Promise<any>, TDependencies extends DependencyMapType = {}, TContext = any, THooks = any, TRegisterableItems = any, TMeta extends IResourceMeta = any> {
256
- /** Stable identifier. Omit to get an anonymous id. */
257
- id?: string | symbol;
258
- /** Static or lazy dependency map. Receives `config` when provided. */
259
- dependencies?: TDependencies | ((config: TConfig) => TDependencies);
260
- /**
261
- * Register other registerables (resources/tasks/middleware/events). Accepts a
262
- * static array or a function of `config` to support dynamic wiring.
263
- */
264
- register?: Array<RegisterableItems> | ((config: TConfig) => Array<RegisterableItems>);
265
- /**
266
- * Initialize and return the resource value. Called once during boot.
267
- */
268
- init?: (this: any, config: TConfig, dependencies: DependencyValuesType<TDependencies>, context: TContext) => HasContracts<TMeta> extends true ? EnsureResponseSatisfiesContracts<TMeta, TValue> : TValue;
269
- /**
270
- * Clean-up function for the resource. This is called when the resource is no longer needed.
271
- *
272
- * @param value The value of the resource (undefined if no init method)
273
- * @param config The configuration it received
274
- * @param dependencies The dependencies it needed
275
- * @returns Promise<void>
276
- */
277
- dispose?: (this: any, value: TValue extends Promise<infer U> ? U : TValue, config: TConfig, dependencies: DependencyValuesType<TDependencies>, context: TContext) => Promise<void>;
278
- meta?: TMeta;
279
- /**
280
- * Optional validation schema for runtime config validation.
281
- * When provided, resource config will be validated when .with() is called.
282
- */
283
- configSchema?: IValidationSchema<TConfig>;
284
- /**
285
- * Safe overrides to swap behavior while preserving identities. See
286
- * README: Overrides.
287
- */
288
- overrides?: Array<IResource | ITask | IMiddleware | IResourceWithConfig>;
289
- /** Middleware applied around init/dispose. */
290
- middleware?: MiddlewareAttachments[];
291
- /**
292
- * Create a private, mutable context shared between `init` and `dispose`.
293
- */
294
- context?: () => TContext;
295
- /**
296
- * This is optional and used from an index resource to get the correct caller.
297
- * This is the reason we allow it here as well.
298
- */
299
- [symbolFilePath]?: string;
300
- /**
301
- * This is used internally when creating index resources.
302
- */
303
- [symbolIndexResource]?: boolean;
304
- }
305
- export interface IResource<TConfig = void, TValue extends Promise<any> = Promise<any>, TDependencies extends DependencyMapType = any, TContext = any, TMeta extends IResourceMeta = any> extends IResourceDefinition<TConfig, TValue, TDependencies, TContext, any, any, TMeta> {
306
- id: string | symbol;
307
- with(config: TConfig): IResourceWithConfig<TConfig, TValue, TDependencies>;
308
- register: Array<RegisterableItems> | ((config: TConfig) => Array<RegisterableItems>);
309
- /**
310
- * These events are automatically populated after the task has been defined.
311
- */
312
- events: {
313
- beforeInit: IEvent<BeforeInitEventPayload<TConfig>>;
314
- afterInit: IEvent<AfterInitEventPayload<TConfig, TValue>>;
315
- onError: IEvent<OnErrorEventPayload>;
316
- };
317
- overrides: Array<IResource | ITask | IMiddleware | IResourceWithConfig>;
318
- middleware: MiddlewareAttachments[];
319
- [symbolFilePath]: string;
320
- [symbolIndexResource]: boolean;
321
- [symbolResource]: true;
322
- }
323
- export interface IResourceWithConfig<TConfig = any, TValue extends Promise<any> = Promise<any>, TDependencies extends DependencyMapType = any> {
324
- /** The id of the underlying resource. */
325
- id: string;
326
- /** The underlying resource definition. */
327
- resource: IResource<TConfig, TValue, TDependencies>;
328
- /** The configuration captured by `.with(config)`. */
329
- config: TConfig;
330
- }
331
- export type EventHandlerType<T = any> = (event: IEventEmission<T>) => any | Promise<any>;
332
- export interface IEventDefinition<TPayload = void> {
333
- /** Stable identifier. Omit to get an anonymous id. */
334
- id?: string | symbol;
335
- meta?: IEventMeta;
336
- /**
337
- * Optional validation schema for runtime payload validation.
338
- * When provided, event payload will be validated when emitted.
339
- */
340
- payloadSchema?: IValidationSchema<TPayload>;
341
- }
342
- export interface IEvent<TPayload = any> extends IEventDefinition<TPayload> {
343
- id: string | symbol;
344
- /**
345
- * We use this event to discriminate between resources with just 'id' and 'events' as they collide. This is a workaround, should be redone using classes and instanceof.
346
- */
347
- [symbolEvent]: true;
348
- [symbolFilePath]: string;
349
- }
350
- /**
351
- * This represents the object that is passed to event handlers
352
- */
353
- export interface IEventEmission<TPayload = any> {
354
- /**
355
- * The ID of the event. This is the same as the event's ID.
356
- * This is useful for global event listeners.
357
- */
358
- id: string | symbol;
359
- /**
360
- * The data that the event carries. It can be anything.
361
- */
362
- data: TPayload;
363
- /**
364
- * The timestamp when the event was created.
365
- */
366
- timestamp: Date;
367
- /**
368
- * The source of the event. This can be useful for debugging.
369
- */
370
- source: string | symbol;
371
- /**
372
- * Metadata associated with the event definition.
373
- */
374
- meta: IEventMeta;
375
- /**
376
- * Stops propagation to remaining event listeners.
377
- */
378
- stopPropagation(): void;
379
- /**
380
- * Returns true if propagation has been stopped.
381
- */
382
- isPropagationStopped(): boolean;
383
- }
384
- export interface IMiddlewareDefinition<TConfig = any, TDependencies extends DependencyMapType = any> {
385
- /** Stable identifier. Omit to get an anonymous id. */
386
- id?: string | symbol;
387
- /** Static or lazy dependency map. */
388
- dependencies?: TDependencies | ((config: TConfig) => TDependencies);
389
- /**
390
- * Optional validation schema for runtime config validation.
391
- * When provided, middleware config will be validated when .with() is called.
392
- */
393
- configSchema?: IValidationSchema<TConfig>;
394
- /**
395
- * The middleware body, called with task/resource execution input.
396
- */
397
- run: (input: IMiddlewareExecutionInput, dependencies: DependencyValuesType<TDependencies>, config: TConfig) => Promise<any>;
398
- meta?: IMiddlewareMeta;
399
- }
400
- export interface IMiddleware<TConfig = any, TDependencies extends DependencyMapType = any> extends IMiddlewareDefinition<TConfig, TDependencies> {
401
- [symbolMiddleware]: true;
402
- [symbolMiddlewareConfigured]?: boolean;
403
- [symbolMiddlewareEverywhereTasks]?: boolean;
404
- [symbolMiddlewareEverywhereResources]?: boolean;
405
- id: string | symbol;
406
- dependencies: TDependencies | (() => TDependencies);
407
- /**
408
- * Attach this middleware globally. Use options to scope to tasks/resources.
409
- */
410
- everywhere(config?: MiddlewareEverywhereOptions): IMiddleware<TConfig, TDependencies>;
411
- /** Current configuration object (empty by default). */
412
- config: TConfig;
413
- /** Configure the middleware and return a marked, configured instance. */
414
- with: (config: TConfig) => IMiddlewareConfigured<TConfig, TDependencies>;
415
- [symbolFilePath]: string;
416
- [symbolMiddleware]: true;
417
- }
418
- export interface IMiddlewareConfigured<TConfig = any, TDependencies extends DependencyMapType = any> extends IMiddleware<TConfig, TDependencies> {
419
- [symbolMiddlewareConfigured]: true;
420
- }
421
- export interface IMiddlewareDefinitionConfigured<C extends Record<string, any> = {}> {
422
- middleware: IMiddleware<C>;
423
- config?: C;
424
- }
425
- export interface IMiddlewareExecutionInput<TTaskInput = any, TResourceConfig = any> {
426
- /** Task hook: present when wrapping a task run. */
427
- task?: {
428
- definition: ITask<TTaskInput>;
429
- input: TTaskInput;
430
- };
431
- /** Resource hook: present when wrapping init/dispose. */
432
- resource?: {
433
- definition: IResource<TResourceConfig, any, any, any, any>;
434
- config: TResourceConfig;
435
- };
436
- next: (taskInputOrResourceConfig?: TTaskInput | TResourceConfig) => Promise<any>;
437
- }
29
+ export * from "./types/storeTypes";
package/dist/defs.js CHANGED
@@ -1,19 +1,4 @@
1
1
  "use strict";
2
- /**
3
- * Core public TypeScript types for BlueLibs Runner.
4
- *
5
- * This file contains the strongly-typed contract for tasks, resources, events
6
- * and middleware. It mirrors the mental model described in the README:
7
- * - Tasks are functions (with lifecycle events)
8
- * - Resources are singletons (with init/dispose hooks and lifecycle events)
9
- * - Events are simple, strongly-typed emissions
10
- * - Middleware can target both tasks and resources
11
- *
12
- * DX goals:
13
- * - Crystal‑clear generics and helper types that infer dependency shapes
14
- * - Friendly JSDoc you can hover in editors to understand usage instantly
15
- * - Safe overrides and strong typing around config and register mechanics
16
- */
17
2
  var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
18
3
  if (k2 === undefined) k2 = k;
19
4
  var desc = Object.getOwnPropertyDescriptor(m, k);
@@ -29,29 +14,32 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
29
14
  for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
30
15
  };
31
16
  Object.defineProperty(exports, "__esModule", { value: true });
32
- exports.symbolIndexResource = exports.symbolStore = exports.symbolDispose = exports.symbolFilePath = exports.symbolMiddlewareEverywhereResources = exports.symbolMiddlewareEverywhereTasks = exports.symbolMiddlewareGlobal = exports.symbolMiddlewareConfigured = exports.symbolMiddleware = exports.symbolEvent = exports.symbolResourceWithConfig = exports.symbolResource = exports.symbolTask = void 0;
33
- __exportStar(require("./models/StoreTypes"), exports);
34
17
  /**
35
- * Internal brand symbols used to tag created objects at runtime and help with
36
- * type‑narrowing. Prefer the `isTask`/`isResource`/`isEvent`/`isMiddleware`
37
- * helpers instead of touching these directly.
38
- * @internal
18
+ * Core public TypeScript types for BlueLibs Runner.
19
+ *
20
+ * This file contains the strongly-typed contract for tasks, resources, events
21
+ * and middleware. It mirrors the mental model described in the README:
22
+ * - Tasks are functions
23
+ * - Resources are singletons (with init/dispose hooks)
24
+ * - Hooks are event listeners without middleware
25
+ * - Events are simple, strongly-typed emissions
26
+ * - Middleware can target both tasks and resources (taskMiddleware, resourceMiddleware)
27
+ *
28
+ * DX goals:
29
+ * - Crystal‑clear generics and helper types that infer dependency shapes
30
+ * - Friendly JSDoc you can hover in editors to understand usage instantly
31
+ * - Safe overrides and strong typing around config and register mechanics
39
32
  */
40
- exports.symbolTask = Symbol("runner.task");
41
- exports.symbolResource = Symbol("runner.resource");
42
- exports.symbolResourceWithConfig = Symbol("runner.resourceWithConfig");
43
- exports.symbolEvent = Symbol("runner.event");
44
- exports.symbolMiddleware = Symbol("runner.middleware");
45
- exports.symbolMiddlewareConfigured = Symbol("runner.middlewareConfigured");
46
- exports.symbolMiddlewareGlobal = Symbol("runner.middlewareGlobal");
47
- exports.symbolMiddlewareEverywhereTasks = Symbol("runner.middlewareGlobalTasks");
48
- exports.symbolMiddlewareEverywhereResources = Symbol("runner.middlewareGlobalResources");
49
- /** @internal Path to aid anonymous id generation and error messages */
50
- exports.symbolFilePath = Symbol("runner.filePath");
51
- /** @internal Marks disposable instances */
52
- exports.symbolDispose = Symbol("runner.dispose");
53
- /** @internal Link to internal Store */
54
- exports.symbolStore = Symbol("runner.store");
55
- /** @internal Brand used by index() resources */
56
- exports.symbolIndexResource = Symbol("runner.indexResource");
33
+ __exportStar(require("./types/utilities"), exports);
34
+ __exportStar(require("./types/symbols"), exports);
35
+ __exportStar(require("./types/tag"), exports);
36
+ __exportStar(require("./types/hook"), exports);
37
+ __exportStar(require("./types/resource"), exports);
38
+ __exportStar(require("./types/event"), exports);
39
+ __exportStar(require("./types/task"), exports);
40
+ __exportStar(require("./types/taskMiddleware"), exports);
41
+ __exportStar(require("./types/resourceMiddleware"), exports);
42
+ __exportStar(require("./types/meta"), exports);
43
+ __exportStar(require("./types/runner"), exports);
44
+ __exportStar(require("./types/storeTypes"), exports);
57
45
  //# sourceMappingURL=defs.js.map
package/dist/defs.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"defs.js","sourceRoot":"","sources":["../src/defs.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;GAcG;;;;;;;;;;;;;;;;;AAuBH,sDAAoC;AACpC;;;;;GAKG;AACU,QAAA,UAAU,GAAkB,MAAM,CAAC,aAAa,CAAC,CAAC;AAClD,QAAA,cAAc,GAAkB,MAAM,CAAC,iBAAiB,CAAC,CAAC;AAC1D,QAAA,wBAAwB,GAAkB,MAAM,CAC3D,2BAA2B,CAC5B,CAAC;AACW,QAAA,WAAW,GAAkB,MAAM,CAAC,cAAc,CAAC,CAAC;AACpD,QAAA,gBAAgB,GAAkB,MAAM,CAAC,mBAAmB,CAAC,CAAC;AAC9D,QAAA,0BAA0B,GAAkB,MAAM,CAC7D,6BAA6B,CAC9B,CAAC;AACW,QAAA,sBAAsB,GAAkB,MAAM,CACzD,yBAAyB,CAC1B,CAAC;AACW,QAAA,+BAA+B,GAAkB,MAAM,CAClE,8BAA8B,CAC/B,CAAC;AACW,QAAA,mCAAmC,GAAkB,MAAM,CACtE,kCAAkC,CACnC,CAAC;AAEF,uEAAuE;AAC1D,QAAA,cAAc,GAAkB,MAAM,CAAC,iBAAiB,CAAC,CAAC;AACvE,2CAA2C;AAC9B,QAAA,aAAa,GAAkB,MAAM,CAAC,gBAAgB,CAAC,CAAC;AACrE,uCAAuC;AAC1B,QAAA,WAAW,GAAkB,MAAM,CAAC,cAAc,CAAC,CAAC;AAEjE,gDAAgD;AACnC,QAAA,mBAAmB,GAAkB,MAAM,CACtD,sBAAsB,CACvB,CAAC"}
1
+ {"version":3,"file":"defs.js","sourceRoot":"","sources":["../src/defs.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA;;;;;;;;;;;;;;;GAeG;AACH,oDAAkC;AAClC,kDAAgC;AAChC,8CAA4B;AAC5B,+CAA6B;AAC7B,mDAAiC;AACjC,gDAA8B;AAC9B,+CAA6B;AAC7B,yDAAuC;AACvC,6DAA2C;AAC3C,+CAA6B;AAC7B,iDAA+B;AAI/B,qDAAmC"}
package/dist/errors.d.ts CHANGED
@@ -8,13 +8,13 @@ export declare class RuntimeError extends Error {
8
8
  * Error thrown when attempting to register a component with a duplicate ID
9
9
  */
10
10
  export declare class DuplicateRegistrationError extends RuntimeError {
11
- constructor(type: string, id: string | symbol);
11
+ constructor(type: string, id: string);
12
12
  }
13
13
  /**
14
14
  * Error thrown when a dependency is not found in the registry
15
15
  */
16
16
  export declare class DependencyNotFoundError extends RuntimeError {
17
- constructor(key: string | symbol);
17
+ constructor(key: string);
18
18
  }
19
19
  /**
20
20
  * Error thrown when an unknown item type is encountered
@@ -22,6 +22,12 @@ export declare class DependencyNotFoundError extends RuntimeError {
22
22
  export declare class UnknownItemTypeError extends RuntimeError {
23
23
  constructor(item: any);
24
24
  }
25
+ /**
26
+ * Error thrown whenever a requested context is not available.
27
+ */
28
+ export declare class ContextError extends Error {
29
+ constructor(message: string);
30
+ }
25
31
  /**
26
32
  * Error thrown when circular dependencies are detected
27
33
  */
@@ -32,19 +38,28 @@ export declare class CircularDependenciesError extends RuntimeError {
32
38
  * Error thrown when an event is not found in the registry
33
39
  */
34
40
  export declare class EventNotFoundError extends RuntimeError {
35
- constructor(id: string | symbol);
41
+ constructor(id: string);
42
+ }
43
+ /**
44
+ * Error thrown when a resource is not found in the store
45
+ */
46
+ export declare class ResourceNotFoundError extends RuntimeError {
47
+ constructor(id: string);
48
+ }
49
+ export declare class MiddlewareNotRegisteredError extends RuntimeError {
50
+ constructor(type: "task" | "resource", source: string, middlewareId: string);
36
51
  }
37
52
  /**
38
- * Error thrown when attempting to make a middleware global when it's already global
53
+ * Error thrown when a tag is not found in the registry
39
54
  */
40
- export declare class MiddlewareAlreadyGlobalError extends RuntimeError {
41
- constructor(id: string | symbol);
55
+ export declare class TagNotFoundError extends RuntimeError {
56
+ constructor(id: string);
42
57
  }
43
58
  /**
44
59
  * Error thrown when attempting to modify a locked component
45
60
  */
46
61
  export declare class LockedError extends RuntimeError {
47
- constructor(what: string | symbol);
62
+ constructor(what: string);
48
63
  }
49
64
  /**
50
65
  * Error thrown when attempting to initialize a store that's already initialized
@@ -56,5 +71,5 @@ export declare class StoreAlreadyInitializedError extends RuntimeError {
56
71
  * Error thrown when validation fails for task input, resource config, middleware config, or event payload
57
72
  */
58
73
  export declare class ValidationError extends RuntimeError {
59
- constructor(type: string, id: string | symbol, originalError: Error | string);
74
+ constructor(type: string, id: string, originalError: Error | string);
60
75
  }