@nest-batch/core 0.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (476) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +368 -0
  3. package/dist/src/adapters/in-process.adapter.d.ts +140 -0
  4. package/dist/src/adapters/in-process.adapter.d.ts.map +1 -0
  5. package/dist/src/adapters/in-process.adapter.js +86 -0
  6. package/dist/src/adapters/in-process.adapter.js.map +1 -0
  7. package/dist/src/adapters/index.d.ts +18 -0
  8. package/dist/src/adapters/index.d.ts.map +1 -0
  9. package/dist/src/adapters/index.js +35 -0
  10. package/dist/src/adapters/index.js.map +1 -0
  11. package/dist/src/builder/batch-builder.d.ts +26 -0
  12. package/dist/src/builder/batch-builder.d.ts.map +1 -0
  13. package/dist/src/builder/batch-builder.js +25 -0
  14. package/dist/src/builder/batch-builder.js.map +1 -0
  15. package/dist/src/builder/flow-builder.d.ts +59 -0
  16. package/dist/src/builder/flow-builder.d.ts.map +1 -0
  17. package/dist/src/builder/flow-builder.js +115 -0
  18. package/dist/src/builder/flow-builder.js.map +1 -0
  19. package/dist/src/builder/index.d.ts +5 -0
  20. package/dist/src/builder/index.d.ts.map +1 -0
  21. package/dist/src/builder/index.js +23 -0
  22. package/dist/src/builder/index.js.map +1 -0
  23. package/dist/src/builder/job-builder.d.ts +76 -0
  24. package/dist/src/builder/job-builder.d.ts.map +1 -0
  25. package/dist/src/builder/job-builder.js +166 -0
  26. package/dist/src/builder/job-builder.js.map +1 -0
  27. package/dist/src/builder/step-builder.d.ts +74 -0
  28. package/dist/src/builder/step-builder.d.ts.map +1 -0
  29. package/dist/src/builder/step-builder.js +144 -0
  30. package/dist/src/builder/step-builder.js.map +1 -0
  31. package/dist/src/compiler/builder-types.d.ts +20 -0
  32. package/dist/src/compiler/builder-types.d.ts.map +1 -0
  33. package/dist/src/compiler/builder-types.js +6 -0
  34. package/dist/src/compiler/builder-types.js.map +1 -0
  35. package/dist/src/compiler/definition-compiler.d.ts +99 -0
  36. package/dist/src/compiler/definition-compiler.d.ts.map +1 -0
  37. package/dist/src/compiler/definition-compiler.js +257 -0
  38. package/dist/src/compiler/definition-compiler.js.map +1 -0
  39. package/dist/src/compiler/index.d.ts +3 -0
  40. package/dist/src/compiler/index.d.ts.map +1 -0
  41. package/dist/src/compiler/index.js +21 -0
  42. package/dist/src/compiler/index.js.map +1 -0
  43. package/dist/src/core/errors.d.ts +77 -0
  44. package/dist/src/core/errors.d.ts.map +1 -0
  45. package/dist/src/core/errors.js +170 -0
  46. package/dist/src/core/errors.js.map +1 -0
  47. package/dist/src/core/execution-context/index.d.ts +4 -0
  48. package/dist/src/core/execution-context/index.d.ts.map +1 -0
  49. package/dist/src/core/execution-context/index.js +22 -0
  50. package/dist/src/core/execution-context/index.js.map +1 -0
  51. package/dist/src/core/execution-context/json-value.d.ts +5 -0
  52. package/dist/src/core/execution-context/json-value.d.ts.map +1 -0
  53. package/dist/src/core/execution-context/json-value.js +6 -0
  54. package/dist/src/core/execution-context/json-value.js.map +1 -0
  55. package/dist/src/core/execution-context/serializer.d.ts +4 -0
  56. package/dist/src/core/execution-context/serializer.d.ts.map +1 -0
  57. package/dist/src/core/execution-context/serializer.js +34 -0
  58. package/dist/src/core/execution-context/serializer.js.map +1 -0
  59. package/dist/src/core/execution-context/validator.d.ts +18 -0
  60. package/dist/src/core/execution-context/validator.d.ts.map +1 -0
  61. package/dist/src/core/execution-context/validator.js +90 -0
  62. package/dist/src/core/execution-context/validator.js.map +1 -0
  63. package/dist/src/core/index.d.ts +8 -0
  64. package/dist/src/core/index.d.ts.map +1 -0
  65. package/dist/src/core/index.js +26 -0
  66. package/dist/src/core/index.js.map +1 -0
  67. package/dist/src/core/ir/decider-definition.d.ts +20 -0
  68. package/dist/src/core/ir/decider-definition.d.ts.map +1 -0
  69. package/dist/src/core/ir/decider-definition.js +6 -0
  70. package/dist/src/core/ir/decider-definition.js.map +1 -0
  71. package/dist/src/core/ir/index.d.ts +8 -0
  72. package/dist/src/core/ir/index.d.ts.map +1 -0
  73. package/dist/src/core/ir/index.js +26 -0
  74. package/dist/src/core/ir/index.js.map +1 -0
  75. package/dist/src/core/ir/job-definition.d.ts +15 -0
  76. package/dist/src/core/ir/job-definition.d.ts.map +1 -0
  77. package/dist/src/core/ir/job-definition.js +6 -0
  78. package/dist/src/core/ir/job-definition.js.map +1 -0
  79. package/dist/src/core/ir/listener-definition.d.ts +10 -0
  80. package/dist/src/core/ir/listener-definition.d.ts.map +1 -0
  81. package/dist/src/core/ir/listener-definition.js +6 -0
  82. package/dist/src/core/ir/listener-definition.js.map +1 -0
  83. package/dist/src/core/ir/policy-config.d.ts +24 -0
  84. package/dist/src/core/ir/policy-config.d.ts.map +1 -0
  85. package/dist/src/core/ir/policy-config.js +6 -0
  86. package/dist/src/core/ir/policy-config.js.map +1 -0
  87. package/dist/src/core/ir/refs.d.ts +42 -0
  88. package/dist/src/core/ir/refs.d.ts.map +1 -0
  89. package/dist/src/core/ir/refs.js +18 -0
  90. package/dist/src/core/ir/refs.js.map +1 -0
  91. package/dist/src/core/ir/step-definition.d.ts +59 -0
  92. package/dist/src/core/ir/step-definition.d.ts.map +1 -0
  93. package/dist/src/core/ir/step-definition.js +6 -0
  94. package/dist/src/core/ir/step-definition.js.map +1 -0
  95. package/dist/src/core/ir/transition-definition.d.ts +8 -0
  96. package/dist/src/core/ir/transition-definition.d.ts.map +1 -0
  97. package/dist/src/core/ir/transition-definition.js +6 -0
  98. package/dist/src/core/ir/transition-definition.js.map +1 -0
  99. package/dist/src/core/item/index.d.ts +2 -0
  100. package/dist/src/core/item/index.d.ts.map +1 -0
  101. package/dist/src/core/item/index.js +20 -0
  102. package/dist/src/core/item/index.js.map +1 -0
  103. package/dist/src/core/item/interfaces.d.ts +64 -0
  104. package/dist/src/core/item/interfaces.d.ts.map +1 -0
  105. package/dist/src/core/item/interfaces.js +6 -0
  106. package/dist/src/core/item/interfaces.js.map +1 -0
  107. package/dist/src/core/repository/index.d.ts +3 -0
  108. package/dist/src/core/repository/index.d.ts.map +1 -0
  109. package/dist/src/core/repository/index.js +21 -0
  110. package/dist/src/core/repository/index.js.map +1 -0
  111. package/dist/src/core/repository/job-repository.d.ts +60 -0
  112. package/dist/src/core/repository/job-repository.d.ts.map +1 -0
  113. package/dist/src/core/repository/job-repository.js +27 -0
  114. package/dist/src/core/repository/job-repository.js.map +1 -0
  115. package/dist/src/core/repository/types.d.ts +84 -0
  116. package/dist/src/core/repository/types.d.ts.map +1 -0
  117. package/dist/src/core/repository/types.js +6 -0
  118. package/dist/src/core/repository/types.js.map +1 -0
  119. package/dist/src/core/status.d.ts +29 -0
  120. package/dist/src/core/status.d.ts.map +1 -0
  121. package/dist/src/core/status.js +58 -0
  122. package/dist/src/core/status.js.map +1 -0
  123. package/dist/src/core/transaction/index.d.ts +2 -0
  124. package/dist/src/core/transaction/index.d.ts.map +1 -0
  125. package/dist/src/core/transaction/index.js +20 -0
  126. package/dist/src/core/transaction/index.js.map +1 -0
  127. package/dist/src/core/transaction/transaction-manager.d.ts +8 -0
  128. package/dist/src/core/transaction/transaction-manager.d.ts.map +1 -0
  129. package/dist/src/core/transaction/transaction-manager.js +14 -0
  130. package/dist/src/core/transaction/transaction-manager.js.map +1 -0
  131. package/dist/src/core/validation/definition-validator.d.ts +46 -0
  132. package/dist/src/core/validation/definition-validator.d.ts.map +1 -0
  133. package/dist/src/core/validation/definition-validator.js +177 -0
  134. package/dist/src/core/validation/definition-validator.js.map +1 -0
  135. package/dist/src/core/validation/index.d.ts +2 -0
  136. package/dist/src/core/validation/index.d.ts.map +1 -0
  137. package/dist/src/core/validation/index.js +20 -0
  138. package/dist/src/core/validation/index.js.map +1 -0
  139. package/dist/src/decorators/constants.d.ts +10 -0
  140. package/dist/src/decorators/constants.d.ts.map +1 -0
  141. package/dist/src/decorators/constants.js +50 -0
  142. package/dist/src/decorators/constants.js.map +1 -0
  143. package/dist/src/decorators/flow.decorator.d.ts +25 -0
  144. package/dist/src/decorators/flow.decorator.d.ts.map +1 -0
  145. package/dist/src/decorators/flow.decorator.js +19 -0
  146. package/dist/src/decorators/flow.decorator.js.map +1 -0
  147. package/dist/src/decorators/index.d.ts +8 -0
  148. package/dist/src/decorators/index.d.ts.map +1 -0
  149. package/dist/src/decorators/index.js +26 -0
  150. package/dist/src/decorators/index.js.map +1 -0
  151. package/dist/src/decorators/item.decorators.d.ts +32 -0
  152. package/dist/src/decorators/item.decorators.d.ts.map +1 -0
  153. package/dist/src/decorators/item.decorators.js +40 -0
  154. package/dist/src/decorators/item.decorators.js.map +1 -0
  155. package/dist/src/decorators/job.decorator.d.ts +11 -0
  156. package/dist/src/decorators/job.decorator.d.ts.map +1 -0
  157. package/dist/src/decorators/job.decorator.js +17 -0
  158. package/dist/src/decorators/job.decorator.js.map +1 -0
  159. package/dist/src/decorators/listener.decorators.d.ts +56 -0
  160. package/dist/src/decorators/listener.decorators.d.ts.map +1 -0
  161. package/dist/src/decorators/listener.decorators.js +157 -0
  162. package/dist/src/decorators/listener.decorators.js.map +1 -0
  163. package/dist/src/decorators/step.decorator.d.ts +25 -0
  164. package/dist/src/decorators/step.decorator.d.ts.map +1 -0
  165. package/dist/src/decorators/step.decorator.js +21 -0
  166. package/dist/src/decorators/step.decorator.js.map +1 -0
  167. package/dist/src/decorators/tasklet.decorator.d.ts +7 -0
  168. package/dist/src/decorators/tasklet.decorator.d.ts.map +1 -0
  169. package/dist/src/decorators/tasklet.decorator.js +21 -0
  170. package/dist/src/decorators/tasklet.decorator.js.map +1 -0
  171. package/dist/src/execution/batch-worker-runner.d.ts +27 -0
  172. package/dist/src/execution/batch-worker-runner.d.ts.map +1 -0
  173. package/dist/src/execution/batch-worker-runner.js +147 -0
  174. package/dist/src/execution/batch-worker-runner.js.map +1 -0
  175. package/dist/src/execution/chunk-step-executor.d.ts +86 -0
  176. package/dist/src/execution/chunk-step-executor.d.ts.map +1 -0
  177. package/dist/src/execution/chunk-step-executor.js +482 -0
  178. package/dist/src/execution/chunk-step-executor.js.map +1 -0
  179. package/dist/src/execution/execution-strategy.d.ts +110 -0
  180. package/dist/src/execution/execution-strategy.d.ts.map +1 -0
  181. package/dist/src/execution/execution-strategy.js +13 -0
  182. package/dist/src/execution/execution-strategy.js.map +1 -0
  183. package/dist/src/execution/external-task-execution-strategy.d.ts +36 -0
  184. package/dist/src/execution/external-task-execution-strategy.d.ts.map +1 -0
  185. package/dist/src/execution/external-task-execution-strategy.js +97 -0
  186. package/dist/src/execution/external-task-execution-strategy.js.map +1 -0
  187. package/dist/src/execution/in-process-execution-strategy.d.ts +129 -0
  188. package/dist/src/execution/in-process-execution-strategy.d.ts.map +1 -0
  189. package/dist/src/execution/in-process-execution-strategy.js +141 -0
  190. package/dist/src/execution/in-process-execution-strategy.js.map +1 -0
  191. package/dist/src/execution/index.d.ts +14 -0
  192. package/dist/src/execution/index.d.ts.map +1 -0
  193. package/dist/src/execution/index.js +32 -0
  194. package/dist/src/execution/index.js.map +1 -0
  195. package/dist/src/execution/job-executor.d.ts +145 -0
  196. package/dist/src/execution/job-executor.d.ts.map +1 -0
  197. package/dist/src/execution/job-executor.js +475 -0
  198. package/dist/src/execution/job-executor.js.map +1 -0
  199. package/dist/src/execution/job-explorer.d.ts +15 -0
  200. package/dist/src/execution/job-explorer.d.ts.map +1 -0
  201. package/dist/src/execution/job-explorer.js +84 -0
  202. package/dist/src/execution/job-explorer.js.map +1 -0
  203. package/dist/src/execution/job-key.d.ts +3 -0
  204. package/dist/src/execution/job-key.d.ts.map +1 -0
  205. package/dist/src/execution/job-key.js +43 -0
  206. package/dist/src/execution/job-key.js.map +1 -0
  207. package/dist/src/execution/job-launcher.d.ts +75 -0
  208. package/dist/src/execution/job-launcher.d.ts.map +1 -0
  209. package/dist/src/execution/job-launcher.js +112 -0
  210. package/dist/src/execution/job-launcher.js.map +1 -0
  211. package/dist/src/execution/job-operator.d.ts +22 -0
  212. package/dist/src/execution/job-operator.d.ts.map +1 -0
  213. package/dist/src/execution/job-operator.js +125 -0
  214. package/dist/src/execution/job-operator.js.map +1 -0
  215. package/dist/src/execution/listener-invoker.d.ts +164 -0
  216. package/dist/src/execution/listener-invoker.d.ts.map +1 -0
  217. package/dist/src/execution/listener-invoker.js +246 -0
  218. package/dist/src/execution/listener-invoker.js.map +1 -0
  219. package/dist/src/execution/ref-resolver.d.ts +40 -0
  220. package/dist/src/execution/ref-resolver.d.ts.map +1 -0
  221. package/dist/src/execution/ref-resolver.js +41 -0
  222. package/dist/src/execution/ref-resolver.js.map +1 -0
  223. package/dist/src/execution/tasklet-step-executor.d.ts +79 -0
  224. package/dist/src/execution/tasklet-step-executor.d.ts.map +1 -0
  225. package/dist/src/execution/tasklet-step-executor.js +138 -0
  226. package/dist/src/execution/tasklet-step-executor.js.map +1 -0
  227. package/dist/src/explorer/batch-explorer.d.ts +138 -0
  228. package/dist/src/explorer/batch-explorer.d.ts.map +1 -0
  229. package/dist/src/explorer/batch-explorer.js +167 -0
  230. package/dist/src/explorer/batch-explorer.js.map +1 -0
  231. package/dist/src/explorer/index.d.ts +2 -0
  232. package/dist/src/explorer/index.d.ts.map +1 -0
  233. package/dist/src/explorer/index.js +20 -0
  234. package/dist/src/explorer/index.js.map +1 -0
  235. package/dist/src/flow/flow-evaluator.d.ts +30 -0
  236. package/dist/src/flow/flow-evaluator.d.ts.map +1 -0
  237. package/dist/src/flow/flow-evaluator.js +80 -0
  238. package/dist/src/flow/flow-evaluator.js.map +1 -0
  239. package/dist/src/flow/index.d.ts +2 -0
  240. package/dist/src/flow/index.d.ts.map +1 -0
  241. package/dist/src/flow/index.js +20 -0
  242. package/dist/src/flow/index.js.map +1 -0
  243. package/dist/src/index.d.ts +18 -0
  244. package/dist/src/index.d.ts.map +1 -0
  245. package/dist/src/index.js +90 -0
  246. package/dist/src/index.js.map +1 -0
  247. package/dist/src/io/checkpoint.d.ts +7 -0
  248. package/dist/src/io/checkpoint.d.ts.map +1 -0
  249. package/dist/src/io/checkpoint.js +56 -0
  250. package/dist/src/io/checkpoint.js.map +1 -0
  251. package/dist/src/io/database.d.ts +50 -0
  252. package/dist/src/io/database.d.ts.map +1 -0
  253. package/dist/src/io/database.js +108 -0
  254. package/dist/src/io/database.js.map +1 -0
  255. package/dist/src/io/file-readers.d.ts +54 -0
  256. package/dist/src/io/file-readers.d.ts.map +1 -0
  257. package/dist/src/io/file-readers.js +167 -0
  258. package/dist/src/io/file-readers.js.map +1 -0
  259. package/dist/src/io/file-writers.d.ts +31 -0
  260. package/dist/src/io/file-writers.d.ts.map +1 -0
  261. package/dist/src/io/file-writers.js +80 -0
  262. package/dist/src/io/file-writers.js.map +1 -0
  263. package/dist/src/io/index.d.ts +6 -0
  264. package/dist/src/io/index.d.ts.map +1 -0
  265. package/dist/src/io/index.js +24 -0
  266. package/dist/src/io/index.js.map +1 -0
  267. package/dist/src/io/s3.d.ts +50 -0
  268. package/dist/src/io/s3.d.ts.map +1 -0
  269. package/dist/src/io/s3.js +96 -0
  270. package/dist/src/io/s3.js.map +1 -0
  271. package/dist/src/listeners/builtin-listeners.d.ts +77 -0
  272. package/dist/src/listeners/builtin-listeners.d.ts.map +1 -0
  273. package/dist/src/listeners/builtin-listeners.js +108 -0
  274. package/dist/src/listeners/builtin-listeners.js.map +1 -0
  275. package/dist/src/listeners/index.d.ts +8 -0
  276. package/dist/src/listeners/index.d.ts.map +1 -0
  277. package/dist/src/listeners/index.js +25 -0
  278. package/dist/src/listeners/index.js.map +1 -0
  279. package/dist/src/module/adapter-options.d.ts +39 -0
  280. package/dist/src/module/adapter-options.d.ts.map +1 -0
  281. package/dist/src/module/adapter-options.js +34 -0
  282. package/dist/src/module/adapter-options.js.map +1 -0
  283. package/dist/src/module/adapter.d.ts +157 -0
  284. package/dist/src/module/adapter.d.ts.map +1 -0
  285. package/dist/src/module/adapter.js +80 -0
  286. package/dist/src/module/adapter.js.map +1 -0
  287. package/dist/src/module/batch-schedule-registry.d.ts +110 -0
  288. package/dist/src/module/batch-schedule-registry.d.ts.map +1 -0
  289. package/dist/src/module/batch-schedule-registry.js +0 -0
  290. package/dist/src/module/batch-schedule-registry.js.map +1 -0
  291. package/dist/src/module/index.d.ts +14 -0
  292. package/dist/src/module/index.d.ts.map +1 -0
  293. package/dist/src/module/index.js +31 -0
  294. package/dist/src/module/index.js.map +1 -0
  295. package/dist/src/module/nest-batch.module.d.ts +236 -0
  296. package/dist/src/module/nest-batch.module.d.ts.map +1 -0
  297. package/dist/src/module/nest-batch.module.js +475 -0
  298. package/dist/src/module/nest-batch.module.js.map +1 -0
  299. package/dist/src/module/tokens.d.ts +83 -0
  300. package/dist/src/module/tokens.d.ts.map +1 -0
  301. package/dist/src/module/tokens.js +58 -0
  302. package/dist/src/module/tokens.js.map +1 -0
  303. package/dist/src/observability/event-types.d.ts +55 -0
  304. package/dist/src/observability/event-types.d.ts.map +1 -0
  305. package/dist/src/observability/event-types.js +36 -0
  306. package/dist/src/observability/event-types.js.map +1 -0
  307. package/dist/src/observability/exporters.d.ts +35 -0
  308. package/dist/src/observability/exporters.d.ts.map +1 -0
  309. package/dist/src/observability/exporters.js +93 -0
  310. package/dist/src/observability/exporters.js.map +1 -0
  311. package/dist/src/observability/index.d.ts +3 -0
  312. package/dist/src/observability/index.d.ts.map +1 -0
  313. package/dist/src/observability/index.js +21 -0
  314. package/dist/src/observability/index.js.map +1 -0
  315. package/dist/src/partition-helpers.d.ts +127 -0
  316. package/dist/src/partition-helpers.d.ts.map +1 -0
  317. package/dist/src/partition-helpers.js +136 -0
  318. package/dist/src/partition-helpers.js.map +1 -0
  319. package/dist/src/policies/backoff.d.ts +3 -0
  320. package/dist/src/policies/backoff.d.ts.map +1 -0
  321. package/dist/src/policies/backoff.js +34 -0
  322. package/dist/src/policies/backoff.js.map +1 -0
  323. package/dist/src/policies/index.d.ts +4 -0
  324. package/dist/src/policies/index.d.ts.map +1 -0
  325. package/dist/src/policies/index.js +22 -0
  326. package/dist/src/policies/index.js.map +1 -0
  327. package/dist/src/policies/retry-policy.d.ts +13 -0
  328. package/dist/src/policies/retry-policy.d.ts.map +1 -0
  329. package/dist/src/policies/retry-policy.js +55 -0
  330. package/dist/src/policies/retry-policy.js.map +1 -0
  331. package/dist/src/policies/skip-policy.d.ts +12 -0
  332. package/dist/src/policies/skip-policy.d.ts.map +1 -0
  333. package/dist/src/policies/skip-policy.js +44 -0
  334. package/dist/src/policies/skip-policy.js.map +1 -0
  335. package/dist/src/registry/index.d.ts +2 -0
  336. package/dist/src/registry/index.d.ts.map +1 -0
  337. package/dist/src/registry/index.js +20 -0
  338. package/dist/src/registry/index.js.map +1 -0
  339. package/dist/src/registry/job-registry.d.ts +16 -0
  340. package/dist/src/registry/job-registry.d.ts.map +1 -0
  341. package/dist/src/registry/job-registry.js +50 -0
  342. package/dist/src/registry/job-registry.js.map +1 -0
  343. package/dist/src/repository/id-generator.d.ts +18 -0
  344. package/dist/src/repository/id-generator.d.ts.map +1 -0
  345. package/dist/src/repository/id-generator.js +37 -0
  346. package/dist/src/repository/id-generator.js.map +1 -0
  347. package/dist/src/repository/in-memory/in-memory-job-repository.d.ts +49 -0
  348. package/dist/src/repository/in-memory/in-memory-job-repository.d.ts.map +1 -0
  349. package/dist/src/repository/in-memory/in-memory-job-repository.js +291 -0
  350. package/dist/src/repository/in-memory/in-memory-job-repository.js.map +1 -0
  351. package/dist/src/repository/in-memory/index.d.ts +2 -0
  352. package/dist/src/repository/in-memory/index.d.ts.map +1 -0
  353. package/dist/src/repository/in-memory/index.js +20 -0
  354. package/dist/src/repository/in-memory/index.js.map +1 -0
  355. package/dist/src/repository/index.d.ts +4 -0
  356. package/dist/src/repository/index.d.ts.map +1 -0
  357. package/dist/src/repository/index.js +22 -0
  358. package/dist/src/repository/index.js.map +1 -0
  359. package/dist/src/repository/uuid-v7.d.ts +20 -0
  360. package/dist/src/repository/uuid-v7.d.ts.map +1 -0
  361. package/dist/src/repository/uuid-v7.js +31 -0
  362. package/dist/src/repository/uuid-v7.js.map +1 -0
  363. package/dist/src/scheduling/batch-scheduled.d.ts +87 -0
  364. package/dist/src/scheduling/batch-scheduled.d.ts.map +1 -0
  365. package/dist/src/scheduling/batch-scheduled.js +170 -0
  366. package/dist/src/scheduling/batch-scheduled.js.map +1 -0
  367. package/dist/src/transaction/in-memory-transaction-manager.d.ts +16 -0
  368. package/dist/src/transaction/in-memory-transaction-manager.d.ts.map +1 -0
  369. package/dist/src/transaction/in-memory-transaction-manager.js +33 -0
  370. package/dist/src/transaction/in-memory-transaction-manager.js.map +1 -0
  371. package/dist/src/transaction/index.d.ts +2 -0
  372. package/dist/src/transaction/index.d.ts.map +1 -0
  373. package/dist/src/transaction/index.js +20 -0
  374. package/dist/src/transaction/index.js.map +1 -0
  375. package/dist/tests/contracts/index.d.ts +26 -0
  376. package/dist/tests/contracts/index.d.ts.map +1 -0
  377. package/dist/tests/contracts/index.js +37 -0
  378. package/dist/tests/contracts/index.js.map +1 -0
  379. package/dist/tests/contracts/job-repository.contract.d.ts +46 -0
  380. package/dist/tests/contracts/job-repository.contract.d.ts.map +1 -0
  381. package/dist/tests/contracts/job-repository.contract.js +644 -0
  382. package/dist/tests/contracts/job-repository.contract.js.map +1 -0
  383. package/package.json +80 -0
  384. package/src/adapters/in-process.adapter.ts +182 -0
  385. package/src/adapters/index.ts +17 -0
  386. package/src/builder/batch-builder.ts +32 -0
  387. package/src/builder/flow-builder.ts +141 -0
  388. package/src/builder/index.ts +4 -0
  389. package/src/builder/job-builder.ts +206 -0
  390. package/src/builder/step-builder.ts +190 -0
  391. package/src/compiler/builder-types.ts +27 -0
  392. package/src/compiler/definition-compiler.ts +325 -0
  393. package/src/compiler/index.ts +2 -0
  394. package/src/core/errors.ts +125 -0
  395. package/src/core/execution-context/index.ts +3 -0
  396. package/src/core/execution-context/json-value.ts +3 -0
  397. package/src/core/execution-context/serializer.ts +21 -0
  398. package/src/core/execution-context/validator.ts +103 -0
  399. package/src/core/index.ts +7 -0
  400. package/src/core/ir/decider-definition.ts +25 -0
  401. package/src/core/ir/index.ts +7 -0
  402. package/src/core/ir/job-definition.ts +15 -0
  403. package/src/core/ir/listener-definition.ts +19 -0
  404. package/src/core/ir/policy-config.ts +19 -0
  405. package/src/core/ir/refs.ts +42 -0
  406. package/src/core/ir/step-definition.ts +62 -0
  407. package/src/core/ir/transition-definition.ts +9 -0
  408. package/src/core/item/index.ts +1 -0
  409. package/src/core/item/interfaces.ts +70 -0
  410. package/src/core/repository/index.ts +2 -0
  411. package/src/core/repository/job-repository.ts +100 -0
  412. package/src/core/repository/types.ts +91 -0
  413. package/src/core/status.ts +31 -0
  414. package/src/core/transaction/index.ts +1 -0
  415. package/src/core/transaction/transaction-manager.ts +8 -0
  416. package/src/core/validation/definition-validator.ts +215 -0
  417. package/src/core/validation/index.ts +1 -0
  418. package/src/decorators/constants.ts +9 -0
  419. package/src/decorators/flow.decorator.ts +31 -0
  420. package/src/decorators/index.ts +7 -0
  421. package/src/decorators/item.decorators.ts +51 -0
  422. package/src/decorators/job.decorator.ts +16 -0
  423. package/src/decorators/listener.decorators.ts +142 -0
  424. package/src/decorators/step.decorator.ts +33 -0
  425. package/src/decorators/tasklet.decorator.ts +14 -0
  426. package/src/execution/batch-worker-runner.ts +142 -0
  427. package/src/execution/chunk-step-executor.ts +594 -0
  428. package/src/execution/execution-strategy.ts +115 -0
  429. package/src/execution/external-task-execution-strategy.ts +104 -0
  430. package/src/execution/in-process-execution-strategy.ts +207 -0
  431. package/src/execution/index.ts +13 -0
  432. package/src/execution/job-executor.ts +553 -0
  433. package/src/execution/job-explorer.ts +73 -0
  434. package/src/execution/job-key.ts +35 -0
  435. package/src/execution/job-launcher.ts +132 -0
  436. package/src/execution/job-operator.ts +127 -0
  437. package/src/execution/listener-invoker.ts +389 -0
  438. package/src/execution/ref-resolver.ts +64 -0
  439. package/src/execution/tasklet-step-executor.ts +182 -0
  440. package/src/explorer/batch-explorer.ts +251 -0
  441. package/src/explorer/index.ts +1 -0
  442. package/src/flow/flow-evaluator.ts +89 -0
  443. package/src/flow/index.ts +1 -0
  444. package/src/index.ts +24 -0
  445. package/src/io/checkpoint.ts +47 -0
  446. package/src/io/database.ts +114 -0
  447. package/src/io/file-readers.ts +191 -0
  448. package/src/io/file-writers.ts +99 -0
  449. package/src/io/index.ts +5 -0
  450. package/src/io/s3.ts +117 -0
  451. package/src/listeners/builtin-listeners.ts +151 -0
  452. package/src/listeners/index.ts +7 -0
  453. package/src/module/adapter-options.ts +38 -0
  454. package/src/module/adapter.ts +160 -0
  455. package/src/module/batch-schedule-registry.ts +0 -0
  456. package/src/module/index.ts +13 -0
  457. package/src/module/nest-batch.module.ts +674 -0
  458. package/src/module/tokens.ts +95 -0
  459. package/src/observability/event-types.ts +61 -0
  460. package/src/observability/exporters.ts +96 -0
  461. package/src/observability/index.ts +2 -0
  462. package/src/partition-helpers.ts +204 -0
  463. package/src/policies/backoff.ts +22 -0
  464. package/src/policies/index.ts +3 -0
  465. package/src/policies/retry-policy.ts +57 -0
  466. package/src/policies/skip-policy.ts +51 -0
  467. package/src/registry/index.ts +1 -0
  468. package/src/registry/job-registry.ts +42 -0
  469. package/src/repository/id-generator.ts +25 -0
  470. package/src/repository/in-memory/in-memory-job-repository.ts +334 -0
  471. package/src/repository/in-memory/index.ts +1 -0
  472. package/src/repository/index.ts +3 -0
  473. package/src/repository/uuid-v7.ts +40 -0
  474. package/src/scheduling/batch-scheduled.ts +257 -0
  475. package/src/transaction/in-memory-transaction-manager.ts +23 -0
  476. package/src/transaction/index.ts +1 -0
@@ -0,0 +1,14 @@
1
+ /**
2
+ * Public surface for the `module/` package directory.
3
+ *
4
+ * Exports the `NestBatchModule` (the dynamic Nest module), the
5
+ * `BatchScheduleRegistry` provider, the canonical injection tokens,
6
+ * and the `BatchAdapter` / `BatchAdaptersConfig` types sibling
7
+ * packages implement to plug into core.
8
+ */
9
+ export * from './tokens';
10
+ export * from './adapter-options';
11
+ export * from './adapter';
12
+ export * from './batch-schedule-registry';
13
+ export * from './nest-batch.module';
14
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/module/index.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,cAAc,UAAU,CAAC;AACzB,cAAc,mBAAmB,CAAC;AAClC,cAAc,WAAW,CAAC;AAC1B,cAAc,2BAA2B,CAAC;AAC1C,cAAc,qBAAqB,CAAC"}
@@ -0,0 +1,31 @@
1
+ /**
2
+ * Public surface for the `module/` package directory.
3
+ *
4
+ * Exports the `NestBatchModule` (the dynamic Nest module), the
5
+ * `BatchScheduleRegistry` provider, the canonical injection tokens,
6
+ * and the `BatchAdapter` / `BatchAdaptersConfig` types sibling
7
+ * packages implement to plug into core.
8
+ */ "use strict";
9
+ Object.defineProperty(exports, "__esModule", {
10
+ value: true
11
+ });
12
+ _export_star(require("./tokens"), exports);
13
+ _export_star(require("./adapter-options"), exports);
14
+ _export_star(require("./adapter"), exports);
15
+ _export_star(require("./batch-schedule-registry"), exports);
16
+ _export_star(require("./nest-batch.module"), exports);
17
+ function _export_star(from, to) {
18
+ Object.keys(from).forEach(function(k) {
19
+ if (k !== "default" && !Object.prototype.hasOwnProperty.call(to, k)) {
20
+ Object.defineProperty(to, k, {
21
+ enumerable: true,
22
+ get: function() {
23
+ return from[k];
24
+ }
25
+ });
26
+ }
27
+ });
28
+ return from;
29
+ }
30
+
31
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../src/module/index.ts"],"sourcesContent":["/**\n * Public surface for the `module/` package directory.\n *\n * Exports the `NestBatchModule` (the dynamic Nest module), the\n * `BatchScheduleRegistry` provider, the canonical injection tokens,\n * and the `BatchAdapter` / `BatchAdaptersConfig` types sibling\n * packages implement to plug into core.\n */\nexport * from './tokens';\nexport * from './adapter-options';\nexport * from './adapter';\nexport * from './batch-schedule-registry';\nexport * from './nest-batch.module';\n"],"names":[],"mappings":"AAAA;;;;;;;CAOC;;;;qBACa;qBACA;qBACA;qBACA;qBACA"}
@@ -0,0 +1,236 @@
1
+ import { DynamicModule, OnApplicationBootstrap } from '@nestjs/common';
2
+ import type { BatchAdaptersConfig } from './adapter';
3
+ import { DefinitionCompiler } from '../compiler/definition-compiler';
4
+ import { BatchExplorer } from '../explorer/batch-explorer';
5
+ import { JobRegistry } from '../registry/job-registry';
6
+ import { InProcessExecutionStrategy, IN_PROCESS_EXECUTION_STRATEGY_PROVIDER } from '../execution/in-process-execution-strategy';
7
+ import { BatchScheduleRegistry } from './batch-schedule-registry';
8
+ /**
9
+ * Re-export the default in-process strategy and its token binding so
10
+ * the host app can wire them up alongside the rest of the batch
11
+ * engine. The strategy is *not* auto-registered by
12
+ * `NestBatchModule.forRoot()` because its constructor requires
13
+ * `JobRepository` and `JobExecutor` — runtime deps the host
14
+ * supplies. The T4 `InProcessAdapter` factory does the wiring through
15
+ * the adapter's own `DynamicModule.exports` so the runtime
16
+ * resolution chain works without the core module having to know which
17
+ * adapter is active.
18
+ *
19
+ * ```ts
20
+ * import { InProcessAdapter, MikroOrmAdapter, NestBatchModule } from '@nest-batch/core';
21
+ *
22
+ * @Module({
23
+ * imports: [
24
+ * NestBatchModule.forRoot({
25
+ * adapters: {
26
+ * persistence: MikroOrmAdapter,
27
+ * transport: InProcessAdapter,
28
+ * },
29
+ * }),
30
+ * ],
31
+ * })
32
+ * class AppModule {}
33
+ * ```
34
+ */
35
+ export { InProcessExecutionStrategy, IN_PROCESS_EXECUTION_STRATEGY_PROVIDER };
36
+ /**
37
+ * Options for `NestBatchModule.forRoot()`.
38
+ *
39
+ * The whole configuration is the pair of adapters (persistence +
40
+ * transport) the host picked. Both are required — the compiler
41
+ * will reject an `adapters` bag that is missing one — and each
42
+ * adapter is a self-contained `DynamicModule` core will import.
43
+ * Sibling packages can no longer extend the options shape via
44
+ * interface merging: the old `AdapterOptions` extension point is
45
+ * gone because every adapter now owns its own `DynamicModule`
46
+ * (and therefore its own config). Adapter authors that want
47
+ * type-safe factory arguments should expose them on their own
48
+ * adapter factory (e.g. `MikroOrmAdapter.forRoot({ ... })`).
49
+ *
50
+ * - `adapters.persistence` — the adapter that owns the
51
+ * `JobRepository` + `TransactionManager` bindings (e.g.
52
+ * `MikroOrmAdapter`, `TypeOrmAdapter`).
53
+ * - `adapters.transport` — the adapter that owns the
54
+ * `IExecutionStrategy` binding (e.g. `InProcessAdapter`,
55
+ * `BullmqAdapter`).
56
+ */
57
+ export interface NestBatchModuleOptions {
58
+ readonly adapters: BatchAdaptersConfig;
59
+ }
60
+ /**
61
+ * Options for `NestBatchModule.forRootAsync()`.
62
+ *
63
+ * `imports` + `inject` + `useFactory` mirror the standard
64
+ * `ConfigurableModuleBuilder` shape. The factory is registered as a
65
+ * sentinel provider under `OPTIONS_FACTORY` (a `Symbol.for` token
66
+ * stable across module boundaries), and `MODULE_OPTIONS_TOKEN` is
67
+ * bound to its resolved `BatchAdaptersConfig` via a follow-up
68
+ * `useFactory` provider.
69
+ *
70
+ * **Note on adapter module merging.** NestJS cannot dynamically
71
+ * import a `DynamicModule` at module-build time, so the
72
+ * `forRootAsync` path does NOT auto-merge the adapter modules'
73
+ * `globalProviders` into the core module's `providers` list the way
74
+ * `forRoot` does. Two consequences for the async path:
75
+ *
76
+ * 1. The adapter `DynamicModule`s must be passed in the caller's
77
+ * `imports` array directly (e.g.
78
+ * `imports: [MikroOrmAdapter.module, InProcessAdapter.module]`)
79
+ * so Nest sees them in the module graph.
80
+ * 2. The factory's return value is used only for the
81
+ * `MODULE_OPTIONS_TOKEN` binding (adapters introspection);
82
+ * sibling packages and the host can read the resolved config
83
+ * via `@Inject(MODULE_OPTIONS_TOKEN)`.
84
+ *
85
+ * For the full auto-merge (adapter modules + `globalProviders`
86
+ * registered into core's own DI scope), prefer `forRoot` with a
87
+ * pre-resolved `BatchAdaptersConfig`. The async path is for
88
+ * adapters whose factory needs to consult a config service or
89
+ * another async provider to decide which adapter to plug in.
90
+ */
91
+ export interface NestBatchModuleAsyncOptions {
92
+ imports?: DynamicModule['imports'];
93
+ useFactory: (...args: unknown[]) => Promise<BatchAdaptersConfig> | BatchAdaptersConfig;
94
+ inject?: readonly unknown[];
95
+ }
96
+ /**
97
+ * Hook that runs on `OnApplicationBootstrap` to wire together the
98
+ * discovery → compile → register pipeline.
99
+ *
100
+ * Why a separate provider and not a method on `JobRegistry` or
101
+ * `DefinitionCompiler`?
102
+ * - `BatchExplorer.onModuleInit` populates the discovered
103
+ * list once the DI container is ready. Compilation needs every
104
+ * `@Jobable` provider to be instantiated, so it must run *after*
105
+ * `onModuleInit`.
106
+ * - `OnApplicationBootstrap` is the latest point in Nest's lifecycle
107
+ * before the app actually starts handling requests, so all of:
108
+ * `forRoot` / `forRootAsync` providers, custom `useFactory` results,
109
+ * and user-supplied job classes, are guaranteed to be live.
110
+ * - Keeping the wire-up in a dedicated `BatchBootstrapper` means the
111
+ * explorer/compiler/registry stay pure (no `onApplicationBootstrap`
112
+ * coupling) and are independently testable.
113
+ *
114
+ * The bootstrapper also walks every discovered job for
115
+ * `@BatchScheduled` metadata and registers the corresponding entries
116
+ * into the `BatchScheduleRegistry` so the (future) runtime scheduler
117
+ * has a single, stable place to read them from. Today, the registry is
118
+ * metadata-only — no timers are installed.
119
+ */
120
+ export declare class BatchBootstrapper implements OnApplicationBootstrap {
121
+ private readonly explorer;
122
+ private readonly compiler;
123
+ private readonly registry;
124
+ private readonly scheduleRegistry;
125
+ private readonly logger;
126
+ constructor(explorer: BatchExplorer, compiler: DefinitionCompiler, registry: JobRegistry, scheduleRegistry: BatchScheduleRegistry);
127
+ onApplicationBootstrap(): void;
128
+ /**
129
+ * Walk the prototype chain and return every own method name
130
+ * (excluding `constructor`) up to (but not including)
131
+ * `Object.prototype`. Same shape as `BatchExplorer.allMethodNames` —
132
+ * we duplicate the walker here so the bootstrapper remains
133
+ * independent of the explorer's internals.
134
+ */
135
+ private allMethodNames;
136
+ }
137
+ /**
138
+ * Public Nest module that wires up the @nest-batch/core library.
139
+ *
140
+ * The module is a `global: true` `DynamicModule` whose `imports`,
141
+ * `providers`, and `exports` are assembled at the call site by
142
+ * `forRoot` (synchronous) or `forRootAsync` (sentinel-factory
143
+ * pattern). In both paths the core providers and the executor
144
+ * subgraph are auto-registered so the host does not have to wire
145
+ * them by hand; adapter modules are imported as part of the same
146
+ * `DynamicModule` so Nest's discovery phase sees every job class.
147
+ *
148
+ * @see {@link NestBatchModuleOptions} for the synchronous options shape
149
+ * @see {@link NestBatchModuleAsyncOptions} for the async options shape
150
+ * @see {@link BatchAdaptersConfig} for the adapter contract
151
+ */
152
+ export declare class NestBatchModule {
153
+ /**
154
+ * Build a provider list from an adapter's `globalProviders`,
155
+ * automatically aliasing the abstract `JobRepository` class to
156
+ * `JOB_REPOSITORY_TOKEN` when the symbol is present but the class
157
+ * itself is not directly provided.
158
+ *
159
+ * This fixes the NestJS DI resolution gap: `JobExecutor`,
160
+ * `JobLauncher`, and `InProcessExecutionStrategy` all inject the
161
+ * abstract `JobRepository`, but adapters typically bind their
162
+ * concrete implementation to `JOB_REPOSITORY_TOKEN`. NestJS cannot
163
+ * resolve abstract class → concrete subclass automatically, so we
164
+ * inject the alias here.
165
+ *
166
+ * Idempotent: if `JobRepository` is already directly provided (e.g.
167
+ * `{ provide: JobRepository, useClass: MyRepo }`), no extra alias is
168
+ * added.
169
+ */
170
+ private static buildProviders;
171
+ /**
172
+ * Best-effort resolution of `inject` tokens by reading the
173
+ * `providers` metadata of modules listed in `imports`. This lets
174
+ * `forRootAsync` evaluate a synchronous `useFactory` even when it
175
+ * declares `inject` deps, provided those deps are `useValue`
176
+ * providers exported by an imported module.
177
+ *
178
+ * Only `useValue` providers can be resolved this way — `useClass`
179
+ * and `useFactory` providers need Nest's DI container and are
180
+ * skipped.
181
+ */
182
+ private static resolveInjectValues;
183
+ /**
184
+ * Static (synchronous) configuration.
185
+ *
186
+ * Takes the resolved `BatchAdaptersConfig` and builds a
187
+ * `global: true` `DynamicModule` that:
188
+ *
189
+ * 1. imports each adapter's `DynamicModule`
190
+ * (`adapters.persistence.module` and `adapters.transport.module`);
191
+ * 2. imports `DiscoveryModule` from `@nestjs/core` so the explorer
192
+ * can use Nest's `DiscoveryService`;
193
+ * 3. registers core's own providers — `JobRegistry`,
194
+ * `DefinitionCompiler`, `BatchExplorer`, `FlowEvaluator`,
195
+ * `BatchScheduleRegistry`, `BatchBootstrapper` — and the
196
+ * executor subgraph (`JobExecutor`, `ChunkStepExecutor`,
197
+ * `TaskletStepExecutor`, `ListenerInvoker`) so the host
198
+ * does not have to wire them by hand;
199
+ * 4. registers each adapter's `globalProviders` (e.g. the
200
+ * `JobRepository` / `TransactionManager` implementations
201
+ * from a persistence adapter) so the host can inject them
202
+ * too;
203
+ * 5. binds the `BatchAdaptersConfig` to `MODULE_OPTIONS_TOKEN`
204
+ * via a value provider for adapter introspection.
205
+ */
206
+ static forRoot(options: NestBatchModuleOptions): DynamicModule;
207
+ /**
208
+ * Async configuration — useful when the adapter set comes from a
209
+ * config service or another async source.
210
+ *
211
+ * Mirrors the `BullmqBatchModule.forRootAsync` pattern: the user's
212
+ * `useFactory` is registered as a sentinel provider under
213
+ * `OPTIONS_FACTORY`, and `MODULE_OPTIONS_TOKEN` is bound to its
214
+ * resolved `BatchAdaptersConfig` via a follow-up `useFactory`
215
+ * provider. The user's `imports` + `inject` are forwarded as-is
216
+ * so the factory can pull from `ConfigService` or any other
217
+ * DI-bound dependency.
218
+ *
219
+ * See the `NestBatchModuleAsyncOptions` JSDoc for the adapter
220
+ * module merging caveat — the async path does not auto-merge
221
+ * the adapter modules' `globalProviders`. The adapter
222
+ * `DynamicModule`s must be passed in the caller's `imports`
223
+ * array so Nest sees them in the module graph; the factory's
224
+ * return value is used only for `MODULE_OPTIONS_TOKEN`.
225
+ */
226
+ static forRootAsync(options: NestBatchModuleAsyncOptions): DynamicModule | Promise<DynamicModule>;
227
+ /**
228
+ * Shared module builder used by both the sync and async branches
229
+ * of `forRootAsync`. When the factory result is available
230
+ * synchronously we merge adapter `globalProviders` (plus the
231
+ * `JobRepository` alias) into core's own provider list, exactly
232
+ * like `forRoot` does.
233
+ */
234
+ private static buildAsyncModule;
235
+ }
236
+ //# sourceMappingURL=nest-batch.module.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"nest-batch.module.d.ts","sourceRoot":"","sources":["../../../src/module/nest-batch.module.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,aAAa,EAIb,sBAAsB,EAEvB,MAAM,gBAAgB,CAAC;AAGxB,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,WAAW,CAAC;AACrD,OAAO,EAAE,kBAAkB,EAAE,MAAM,iCAAiC,CAAC;AACrE,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAC3D,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AASvD,OAAO,EACL,0BAA0B,EAC1B,sCAAsC,EACvC,MAAM,4CAA4C,CAAC;AAIpD,OAAO,EACL,qBAAqB,EAEtB,MAAM,2BAA2B,CAAC;AAUnC;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,OAAO,EAAE,0BAA0B,EAAE,sCAAsC,EAAE,CAAC;AAE9E;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,MAAM,WAAW,sBAAsB;IACrC,QAAQ,CAAC,QAAQ,EAAE,mBAAmB,CAAC;CACxC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AACH,MAAM,WAAW,2BAA2B;IAC1C,OAAO,CAAC,EAAE,aAAa,CAAC,SAAS,CAAC,CAAC;IACnC,UAAU,EAAE,CACV,GAAG,IAAI,EAAE,OAAO,EAAE,KACf,OAAO,CAAC,mBAAmB,CAAC,GAAG,mBAAmB,CAAC;IACxD,MAAM,CAAC,EAAE,SAAS,OAAO,EAAE,CAAC;CAC7B;AAgBD;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,qBACa,iBAAkB,YAAW,sBAAsB;IAI5D,OAAO,CAAC,QAAQ,CAAC,QAAQ;IACzB,OAAO,CAAC,QAAQ,CAAC,QAAQ;IACzB,OAAO,CAAC,QAAQ,CAAC,QAAQ;IACzB,OAAO,CAAC,QAAQ,CAAC,gBAAgB;IANnC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAsC;gBAG1C,QAAQ,EAAE,aAAa,EACvB,QAAQ,EAAE,kBAAkB,EAC5B,QAAQ,EAAE,WAAW,EACrB,gBAAgB,EAAE,qBAAqB;IAG1D,sBAAsB,IAAI,IAAI;IA6D9B;;;;;;OAMG;IACH,OAAO,CAAC,cAAc;CAYvB;AAED;;;;;;;;;;;;;;GAcG;AACH,qBACa,eAAe;IAC1B;;;;;;;;;;;;;;;;OAgBG;IACH,OAAO,CAAC,MAAM,CAAC,cAAc;IAsD7B;;;;;;;;;;OAUG;IACH,OAAO,CAAC,MAAM,CAAC,mBAAmB;IAmDlC;;;;;;;;;;;;;;;;;;;;;;OAsBG;IACH,MAAM,CAAC,OAAO,CAAC,OAAO,EAAE,sBAAsB,GAAG,aAAa;IAsF9D;;;;;;;;;;;;;;;;;;OAkBG;IACH,MAAM,CAAC,YAAY,CACjB,OAAO,EAAE,2BAA2B,GACnC,aAAa,GAAG,OAAO,CAAC,aAAa,CAAC;IAoBzC;;;;;;OAMG;IACH,OAAO,CAAC,MAAM,CAAC,gBAAgB;CAoGhC"}