bunqueue 2.8.53 → 2.8.56

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 (747) hide show
  1. package/dist/application/background/dlq.d.ts +2 -0
  2. package/dist/application/background/dlq.js +26 -0
  3. package/dist/application/background/lifecycle.d.ts +4 -0
  4. package/dist/application/background/lifecycle.js +90 -0
  5. package/dist/application/background/recovery/active.d.ts +4 -0
  6. package/dist/application/background/recovery/active.js +69 -0
  7. package/dist/application/background/recovery/index.d.ts +2 -0
  8. package/dist/application/background/recovery/index.js +22 -0
  9. package/dist/application/background/recovery/pending.d.ts +3 -0
  10. package/dist/application/background/recovery/pending.js +69 -0
  11. package/dist/application/background/recovery/restore.d.ts +5 -0
  12. package/dist/application/background/recovery/restore.js +58 -0
  13. package/dist/application/background/recovery/shared.d.ts +6 -0
  14. package/dist/application/background/recovery/shared.js +15 -0
  15. package/dist/application/background/timeouts.d.ts +25 -0
  16. package/dist/application/background/timeouts.js +191 -0
  17. package/dist/application/backgroundTasks.d.ts +7 -31
  18. package/dist/application/backgroundTasks.js +6 -438
  19. package/dist/application/cleanupTasks.js +2 -1
  20. package/dist/application/clientTracking.js +3 -1
  21. package/dist/application/contextFactory.d.ts +13 -90
  22. package/dist/application/contextFactory.js +9 -0
  23. package/dist/application/dependencyResultTracker.d.ts +1 -0
  24. package/dist/application/dependencyResultTracker.js +3 -0
  25. package/dist/application/dlqManager.d.ts +9 -9
  26. package/dist/application/dlqManager.js +49 -167
  27. package/dist/application/dlqRetry.d.ts +12 -0
  28. package/dist/application/dlqRetry.js +97 -0
  29. package/dist/application/lockManager.js +24 -4
  30. package/dist/application/lockOperations.js +16 -3
  31. package/dist/application/operations/ack/batch.d.ts +8 -0
  32. package/dist/application/operations/ack/batch.js +64 -0
  33. package/dist/application/operations/ack/completion.d.ts +3 -0
  34. package/dist/application/operations/ack/completion.js +74 -0
  35. package/dist/application/operations/ack/failure.d.ts +3 -0
  36. package/dist/application/operations/ack/failure.js +160 -0
  37. package/dist/application/operations/ack.d.ts +5 -79
  38. package/dist/application/operations/ack.js +4 -319
  39. package/dist/application/operations/ackHelpers.d.ts +3 -52
  40. package/dist/application/operations/ackHelpers.js +11 -4
  41. package/dist/application/operations/customId.d.ts +18 -5
  42. package/dist/application/operations/customId.js +36 -25
  43. package/dist/application/operations/flowValidation.js +9 -4
  44. package/dist/application/operations/jobManagement.js +50 -11
  45. package/dist/application/operations/jobMoveOperations.js +3 -3
  46. package/dist/application/operations/jobStateTransitions.d.ts +1 -1
  47. package/dist/application/operations/jobStateTransitions.js +16 -2
  48. package/dist/application/operations/parentLink.d.ts +36 -0
  49. package/dist/application/operations/parentLink.js +153 -0
  50. package/dist/application/operations/parentLinkInput.d.ts +8 -0
  51. package/dist/application/operations/parentLinkInput.js +23 -0
  52. package/dist/application/operations/push.d.ts +5 -44
  53. package/dist/application/operations/push.js +62 -152
  54. package/dist/application/operations/pushAdmission.d.ts +32 -0
  55. package/dist/application/operations/pushAdmission.js +38 -0
  56. package/dist/application/operations/pushBatch.d.ts +4 -0
  57. package/dist/application/operations/pushBatch.js +136 -0
  58. package/dist/application/operations/pushContext.d.ts +39 -0
  59. package/dist/application/operations/pushContext.js +1 -0
  60. package/dist/application/operations/pushDeduplication.d.ts +42 -0
  61. package/dist/application/operations/pushDeduplication.js +131 -0
  62. package/dist/application/operations/pushInsert.d.ts +13 -1
  63. package/dist/application/operations/pushInsert.js +33 -17
  64. package/dist/application/operations/pushLocks.js +13 -9
  65. package/dist/application/operations/query/collect.d.ts +12 -0
  66. package/dist/application/operations/query/collect.js +118 -0
  67. package/dist/application/operations/query/jobLookup.d.ts +9 -0
  68. package/dist/application/operations/query/jobLookup.js +110 -0
  69. package/dist/application/operations/query/pagination.d.ts +8 -0
  70. package/dist/application/operations/query/pagination.js +90 -0
  71. package/dist/application/operations/query/state.d.ts +4 -0
  72. package/dist/application/operations/query/state.js +63 -0
  73. package/dist/application/operations/queryOperations.d.ts +5 -50
  74. package/dist/application/operations/queryOperations.js +4 -474
  75. package/dist/application/queue-manager/ack.d.ts +23 -0
  76. package/dist/application/queue-manager/ack.js +242 -0
  77. package/dist/application/queue-manager/configuration.d.ts +27 -0
  78. package/dist/application/queue-manager/configuration.js +84 -0
  79. package/dist/application/queue-manager/context.d.ts +5 -0
  80. package/dist/application/queue-manager/context.js +61 -0
  81. package/dist/application/queue-manager/control.d.ts +17 -0
  82. package/dist/application/queue-manager/control.js +133 -0
  83. package/dist/application/queue-manager/delivery.d.ts +32 -0
  84. package/dist/application/queue-manager/delivery.js +143 -0
  85. package/dist/application/queue-manager/dependencies.d.ts +8 -0
  86. package/dist/application/queue-manager/dependencies.js +127 -0
  87. package/dist/application/queue-manager/dependency-runtime.d.ts +8 -0
  88. package/dist/application/queue-manager/dependency-runtime.js +40 -0
  89. package/dist/application/queue-manager/flow-failures.d.ts +18 -0
  90. package/dist/application/queue-manager/flow-failures.js +107 -0
  91. package/dist/application/queue-manager/flow-options.d.ts +8 -0
  92. package/dist/application/queue-manager/flow-options.js +129 -0
  93. package/dist/application/queue-manager/job-management.d.ts +17 -0
  94. package/dist/application/queue-manager/job-management.js +100 -0
  95. package/dist/application/queue-manager/lifecycle.d.ts +4 -0
  96. package/dist/application/queue-manager/lifecycle.js +41 -0
  97. package/dist/application/queue-manager/limits.d.ts +41 -0
  98. package/dist/application/queue-manager/limits.js +108 -0
  99. package/dist/application/queue-manager/locks.d.ts +21 -0
  100. package/dist/application/queue-manager/locks.js +59 -0
  101. package/dist/application/queue-manager/observability.d.ts +16 -0
  102. package/dist/application/queue-manager/observability.js +44 -0
  103. package/dist/application/queue-manager/queries.d.ts +17 -0
  104. package/dist/application/queue-manager/queries.js +118 -0
  105. package/dist/application/queue-manager/repeat.d.ts +4 -0
  106. package/dist/application/queue-manager/repeat.js +26 -0
  107. package/dist/application/queue-manager/services.d.ts +19 -0
  108. package/dist/application/queue-manager/services.js +80 -0
  109. package/dist/application/queue-manager/state.d.ts +92 -0
  110. package/dist/application/queue-manager/state.js +144 -0
  111. package/dist/application/queue-manager/stats.d.ts +28 -0
  112. package/dist/application/queue-manager/stats.js +52 -0
  113. package/dist/application/queueManager.d.ts +4 -380
  114. package/dist/application/queueManager.js +3 -1880
  115. package/dist/application/queueTelemetryJournal.d.ts +20 -0
  116. package/dist/application/queueTelemetryJournal.js +133 -0
  117. package/dist/application/repeatJobs.d.ts +7 -0
  118. package/dist/application/repeatJobs.js +132 -0
  119. package/dist/application/stallDetection.js +9 -4
  120. package/dist/application/types/ack.d.ts +132 -0
  121. package/dist/application/types/ack.js +1 -0
  122. package/dist/application/types/background.d.ts +18 -0
  123. package/dist/application/types/background.js +1 -0
  124. package/dist/application/types/config.d.ts +37 -0
  125. package/dist/application/types/config.js +15 -0
  126. package/dist/application/types/contextFactory.d.ts +83 -0
  127. package/dist/application/types/contextFactory.js +1 -0
  128. package/dist/application/types/contexts.d.ts +110 -0
  129. package/dist/application/types/contexts.js +1 -0
  130. package/dist/application/types/index.d.ts +7 -0
  131. package/dist/application/types/index.js +1 -0
  132. package/dist/application/types/query.d.ts +23 -0
  133. package/dist/application/types/query.js +1 -0
  134. package/dist/application/types/queueManager.d.ts +94 -0
  135. package/dist/application/types/queueManager.js +1 -0
  136. package/dist/cli/commandRouter.d.ts +1 -1
  137. package/dist/cli/commands/core.js +1 -0
  138. package/dist/cli/output/collections.d.ts +8 -0
  139. package/dist/cli/output/collections.js +131 -0
  140. package/dist/cli/output/jobs.d.ts +2 -0
  141. package/dist/cli/output/jobs.js +61 -0
  142. package/dist/cli/output/style.d.ts +14 -0
  143. package/dist/cli/output/style.js +28 -0
  144. package/dist/cli/output/success.d.ts +1 -0
  145. package/dist/cli/output/success.js +108 -0
  146. package/dist/cli/output.d.ts +1 -6
  147. package/dist/cli/output.js +7 -395
  148. package/dist/client/bunqueue/dlqRateLimit.d.ts +8 -0
  149. package/dist/client/bunqueue/dlqRateLimit.js +24 -0
  150. package/dist/client/bunqueue/runtime.d.ts +35 -0
  151. package/dist/client/bunqueue/runtime.js +138 -0
  152. package/dist/client/bunqueue.d.ts +19 -34
  153. package/dist/client/bunqueue.js +45 -166
  154. package/dist/client/dlqConversion.d.ts +5 -0
  155. package/dist/client/dlqConversion.js +28 -0
  156. package/dist/client/events.d.ts +7 -56
  157. package/dist/client/events.js +38 -15
  158. package/dist/client/flow.d.ts +6 -12
  159. package/dist/client/flow.js +16 -34
  160. package/dist/client/flowJobDependencies.js +3 -1
  161. package/dist/client/flowJobFactory.d.ts +9 -1
  162. package/dist/client/flowJobFactory.js +25 -9
  163. package/dist/client/flowJobMoveMethods.d.ts +5 -5
  164. package/dist/client/flowJobMoveMethods.js +37 -17
  165. package/dist/client/flowLegacyPlan.js +22 -8
  166. package/dist/client/flowOptions.d.ts +1 -1
  167. package/dist/client/flowOptions.js +2 -1
  168. package/dist/client/flowPlan.js +2 -3
  169. package/dist/client/flowPush.d.ts +1 -0
  170. package/dist/client/flowPush.js +5 -1
  171. package/dist/client/flowReader.js +5 -5
  172. package/dist/client/flowResults.d.ts +11 -0
  173. package/dist/client/flowResults.js +42 -0
  174. package/dist/client/index.d.ts +3 -1
  175. package/dist/client/jobConversion.d.ts +3 -7
  176. package/dist/client/jobConversion.js +36 -33
  177. package/dist/client/jobConversionHelpers.d.ts +19 -3
  178. package/dist/client/jobConversionHelpers.js +20 -16
  179. package/dist/client/jobConversionTypes.d.ts +8 -0
  180. package/dist/client/jobDeduplication.d.ts +6 -0
  181. package/dist/client/jobDeduplication.js +14 -0
  182. package/dist/client/jobHelpers.d.ts +7 -2
  183. package/dist/client/jobHelpers.js +16 -8
  184. package/dist/client/queue/bullmqCompat.d.ts +18 -8
  185. package/dist/client/queue/bullmqCompat.js +39 -71
  186. package/dist/client/queue/deduplication.d.ts +2 -0
  187. package/dist/client/queue/deduplication.js +20 -11
  188. package/dist/client/queue/dlq.d.ts +11 -6
  189. package/dist/client/queue/dlq.js +57 -16
  190. package/dist/client/queue/dlqJobMethods.d.ts +9 -0
  191. package/dist/client/queue/dlqJobMethods.js +177 -0
  192. package/dist/client/queue/dlqOps.d.ts +2 -1
  193. package/dist/client/queue/dlqOps.js +4 -10
  194. package/dist/client/queue/dlqStats.d.ts +3 -0
  195. package/dist/client/queue/dlqStats.js +21 -0
  196. package/dist/client/queue/job-proxy/dependencies.d.ts +9 -0
  197. package/dist/client/queue/job-proxy/dependencies.js +67 -0
  198. package/dist/client/queue/job-proxy/reflection.d.ts +2 -0
  199. package/dist/client/queue/job-proxy/reflection.js +18 -0
  200. package/dist/client/queue/job-proxy/simple.d.ts +3 -0
  201. package/dist/client/queue/job-proxy/simple.js +316 -0
  202. package/dist/client/queue/job-proxy/tcp.d.ts +4 -0
  203. package/dist/client/queue/job-proxy/tcp.js +191 -0
  204. package/dist/client/queue/jobMetadata.d.ts +10 -0
  205. package/dist/client/queue/jobMetadata.js +24 -0
  206. package/dist/client/queue/jobMove.d.ts +4 -4
  207. package/dist/client/queue/jobMove.js +87 -24
  208. package/dist/client/queue/jobProxy.d.ts +4 -50
  209. package/dist/client/queue/jobProxy.js +3 -511
  210. package/dist/client/queue/operations/add/bulk.d.ts +7 -0
  211. package/dist/client/queue/operations/add/bulk.js +129 -0
  212. package/dist/client/queue/operations/add/payload.d.ts +24 -0
  213. package/dist/client/queue/operations/add/payload.js +85 -0
  214. package/dist/client/queue/operations/add/single.d.ts +3 -0
  215. package/dist/client/queue/operations/add/single.js +107 -0
  216. package/dist/client/queue/operations/add.d.ts +2 -47
  217. package/dist/client/queue/operations/add.js +2 -347
  218. package/dist/client/queue/operations/index.d.ts +1 -0
  219. package/dist/client/queue/operations/index.js +1 -0
  220. package/dist/client/queue/operations/management.d.ts +0 -4
  221. package/dist/client/queue/operations/management.js +35 -6
  222. package/dist/client/queue/operations/query.d.ts +1 -20
  223. package/dist/client/queue/operations/query.js +38 -116
  224. package/dist/client/queue/operations/queryStates.d.ts +13 -0
  225. package/dist/client/queue/operations/queryStates.js +32 -0
  226. package/dist/client/queue/operations/queryTcpPages.d.ts +14 -0
  227. package/dist/client/queue/operations/queryTcpPages.js +40 -0
  228. package/dist/client/queue/queue.d.ts +6 -189
  229. package/dist/client/queue/queue.js +6 -547
  230. package/dist/client/queue/rateLimit.d.ts +4 -4
  231. package/dist/client/queue/rateLimit.js +17 -8
  232. package/dist/client/queue/runtime/compatibility.d.ts +13 -0
  233. package/dist/client/queue/runtime/compatibility.js +38 -0
  234. package/dist/client/queue/runtime/configuration.d.ts +42 -0
  235. package/dist/client/queue/runtime/configuration.js +109 -0
  236. package/dist/client/queue/runtime/connection.d.ts +6 -0
  237. package/dist/client/queue/runtime/connection.js +16 -0
  238. package/dist/client/queue/runtime/control.d.ts +41 -0
  239. package/dist/client/queue/runtime/control.js +87 -0
  240. package/dist/client/queue/runtime/queries.d.ts +48 -0
  241. package/dist/client/queue/runtime/queries.js +95 -0
  242. package/dist/client/queue/runtime/scheduling.d.ts +33 -0
  243. package/dist/client/queue/runtime/scheduling.js +56 -0
  244. package/dist/client/queue/runtime/state.d.ts +96 -0
  245. package/dist/client/queue/runtime/state.js +149 -0
  246. package/dist/client/queue/scheduler.d.ts +2 -5
  247. package/dist/client/queue/scheduler.js +25 -23
  248. package/dist/client/queue/schedulerPagination.d.ts +7 -0
  249. package/dist/client/queue/schedulerPagination.js +10 -0
  250. package/dist/client/queue/types/add.d.ts +40 -0
  251. package/dist/client/queue/types/add.js +1 -0
  252. package/dist/client/queue/types/contexts.d.ts +33 -0
  253. package/dist/client/queue/types/contexts.js +5 -0
  254. package/dist/client/queue/types/index.d.ts +3 -0
  255. package/dist/client/queue/types/index.js +1 -0
  256. package/dist/client/queue/types/job.d.ts +50 -0
  257. package/dist/client/queue/types/job.js +1 -0
  258. package/dist/client/queue/types/runtime.d.ts +35 -0
  259. package/dist/client/queue/types/runtime.js +1 -0
  260. package/dist/client/queue/workers.d.ts +16 -8
  261. package/dist/client/queue/workers.js +42 -16
  262. package/dist/client/queue-events/tcpSubscription.d.ts +23 -0
  263. package/dist/client/queue-events/tcpSubscription.js +99 -0
  264. package/dist/client/queueGroup.d.ts +11 -0
  265. package/dist/client/queueGroup.js +28 -1
  266. package/dist/client/sandboxed/queueOps.d.ts +2 -2
  267. package/dist/client/sandboxed/queueOps.js +32 -5
  268. package/dist/client/sandboxed/runtime/dispatch.d.ts +13 -0
  269. package/dist/client/sandboxed/runtime/dispatch.js +186 -0
  270. package/dist/client/sandboxed/runtime/lifecycle.d.ts +20 -0
  271. package/dist/client/sandboxed/runtime/lifecycle.js +95 -0
  272. package/dist/client/sandboxed/runtime/log.d.ts +1 -0
  273. package/dist/client/sandboxed/runtime/log.js +15 -0
  274. package/dist/client/sandboxed/runtime/pool.d.ts +11 -0
  275. package/dist/client/sandboxed/runtime/pool.js +121 -0
  276. package/dist/client/sandboxed/runtime/recovery.d.ts +11 -0
  277. package/dist/client/sandboxed/runtime/recovery.js +122 -0
  278. package/dist/client/sandboxed/runtime/state.d.ts +39 -0
  279. package/dist/client/sandboxed/runtime/state.js +59 -0
  280. package/dist/client/sandboxed/types/index.d.ts +2 -0
  281. package/dist/client/sandboxed/types/index.js +1 -0
  282. package/dist/client/sandboxed/types/options.d.ts +27 -0
  283. package/dist/client/sandboxed/types/options.js +1 -0
  284. package/dist/client/sandboxed/types/process.d.ts +30 -0
  285. package/dist/client/sandboxed/types/process.js +1 -0
  286. package/dist/client/sandboxed/worker.d.ts +3 -85
  287. package/dist/client/sandboxed/worker.js +3 -557
  288. package/dist/client/sandboxed/wrapper.js +1 -0
  289. package/dist/client/tcp/client.d.ts +5 -112
  290. package/dist/client/tcp/client.js +5 -481
  291. package/dist/client/tcp/commandQueue.d.ts +23 -0
  292. package/dist/client/tcp/commandQueue.js +89 -0
  293. package/dist/client/tcp/connection.d.ts +4 -85
  294. package/dist/client/tcp/connection.js +3 -315
  295. package/dist/client/tcp/errors.d.ts +6 -0
  296. package/dist/client/tcp/errors.js +18 -0
  297. package/dist/client/tcp/runtime/commands.d.ts +9 -0
  298. package/dist/client/tcp/runtime/commands.js +124 -0
  299. package/dist/client/tcp/runtime/connectivity.d.ts +13 -0
  300. package/dist/client/tcp/runtime/connectivity.js +77 -0
  301. package/dist/client/tcp/runtime/health.d.ts +14 -0
  302. package/dist/client/tcp/runtime/health.js +127 -0
  303. package/dist/client/tcp/runtime/lifecycle.d.ts +8 -0
  304. package/dist/client/tcp/runtime/lifecycle.js +32 -0
  305. package/dist/client/tcp/runtime/state.d.ts +50 -0
  306. package/dist/client/tcp/runtime/state.js +45 -0
  307. package/dist/client/tcp/transport.d.ts +18 -0
  308. package/dist/client/tcp/transport.js +158 -0
  309. package/dist/client/tcp/types/command.d.ts +9 -0
  310. package/dist/client/tcp/types/command.js +1 -0
  311. package/dist/client/tcp/types/connection.d.ts +31 -0
  312. package/dist/client/tcp/types/connection.js +17 -0
  313. package/dist/client/tcp/types/index.d.ts +5 -0
  314. package/dist/client/tcp/types/index.js +1 -0
  315. package/dist/client/tcp/types/socket.d.ts +8 -0
  316. package/dist/client/tcp/types/socket.js +1 -0
  317. package/dist/client/tcp/types/tls.d.ts +4 -0
  318. package/dist/client/tcp/types/tls.js +1 -0
  319. package/dist/client/tcp/types.d.ts +2 -106
  320. package/dist/client/tcp/types.js +2 -22
  321. package/dist/client/types/connection.d.ts +29 -0
  322. package/dist/client/types/connection.js +1 -0
  323. package/dist/client/types/dlq.d.ts +45 -0
  324. package/dist/client/types/dlq.js +1 -0
  325. package/dist/client/types/events.d.ts +54 -0
  326. package/dist/client/types/events.js +1 -0
  327. package/dist/client/types/flow.d.ts +10 -0
  328. package/dist/client/types/flow.js +1 -0
  329. package/dist/client/types/index.d.ts +10 -0
  330. package/dist/client/types/index.js +1 -0
  331. package/dist/client/types/job.d.ts +127 -0
  332. package/dist/client/types/job.js +1 -0
  333. package/dist/client/types/metrics.d.ts +1 -0
  334. package/dist/client/types/metrics.js +1 -0
  335. package/dist/client/types/options.d.ts +62 -0
  336. package/dist/client/types/options.js +1 -0
  337. package/dist/client/types/worker.d.ts +38 -0
  338. package/dist/client/types/worker.js +1 -0
  339. package/dist/client/types.d.ts +2 -583
  340. package/dist/client/types.js +2 -6
  341. package/dist/client/worker/ackBatcher.d.ts +1 -1
  342. package/dist/client/worker/ackBatcher.js +17 -5
  343. package/dist/client/worker/ackOutcome.d.ts +8 -0
  344. package/dist/client/worker/ackOutcome.js +58 -0
  345. package/dist/client/worker/constants.d.ts +7 -0
  346. package/dist/client/worker/constants.js +7 -0
  347. package/dist/client/worker/groupConcurrency.js +3 -0
  348. package/dist/client/worker/handlers/completion.d.ts +28 -0
  349. package/dist/client/worker/handlers/completion.js +68 -0
  350. package/dist/client/worker/handlers/dependencies.d.ts +11 -0
  351. package/dist/client/worker/handlers/dependencies.js +107 -0
  352. package/dist/client/worker/handlers/mutations.d.ts +23 -0
  353. package/dist/client/worker/handlers/mutations.js +211 -0
  354. package/dist/client/worker/handlers/queries.d.ts +15 -0
  355. package/dist/client/worker/handlers/queries.js +100 -0
  356. package/dist/client/worker/index.d.ts +2 -2
  357. package/dist/client/worker/index.js +1 -1
  358. package/dist/client/worker/jobParser.js +4 -2
  359. package/dist/client/worker/processor.d.ts +2 -15
  360. package/dist/client/worker/processor.js +68 -125
  361. package/dist/client/worker/processorHandlers.d.ts +4 -65
  362. package/dist/client/worker/processorHandlers.js +4 -400
  363. package/dist/client/worker/processorOutcome.d.ts +14 -0
  364. package/dist/client/worker/processorOutcome.js +125 -0
  365. package/dist/client/worker/runtime/buffer.d.ts +8 -0
  366. package/dist/client/worker/runtime/buffer.js +50 -0
  367. package/dist/client/worker/runtime/control.d.ts +26 -0
  368. package/dist/client/worker/runtime/control.js +175 -0
  369. package/dist/client/worker/runtime/execution.d.ts +11 -0
  370. package/dist/client/worker/runtime/execution.js +123 -0
  371. package/dist/client/worker/runtime/lifecycle.d.ts +7 -0
  372. package/dist/client/worker/runtime/lifecycle.js +114 -0
  373. package/dist/client/worker/runtime/manual.d.ts +10 -0
  374. package/dist/client/worker/runtime/manual.js +137 -0
  375. package/dist/client/worker/runtime/options.d.ts +5 -0
  376. package/dist/client/worker/runtime/options.js +39 -0
  377. package/dist/client/worker/runtime/polling.d.ts +12 -0
  378. package/dist/client/worker/runtime/polling.js +123 -0
  379. package/dist/client/worker/runtime/state.d.ts +110 -0
  380. package/dist/client/worker/runtime/state.js +156 -0
  381. package/dist/client/worker/types/index.d.ts +5 -0
  382. package/dist/client/worker/types/index.js +1 -0
  383. package/dist/client/worker/types/manual.d.ts +7 -0
  384. package/dist/client/worker/types/manual.js +1 -0
  385. package/dist/client/worker/types/options.d.ts +24 -0
  386. package/dist/client/worker/types/options.js +1 -0
  387. package/dist/client/worker/types/outcome.d.ts +23 -0
  388. package/dist/client/worker/types/outcome.js +1 -0
  389. package/dist/client/worker/types/processor.d.ts +22 -0
  390. package/dist/client/worker/types/processor.js +1 -0
  391. package/dist/client/worker/types/transport.d.ts +11 -0
  392. package/dist/client/worker/types/transport.js +1 -0
  393. package/dist/client/worker/worker.d.ts +3 -160
  394. package/dist/client/worker/worker.js +3 -904
  395. package/dist/client/worker/workerRateLimiter.d.ts +5 -1
  396. package/dist/client/worker/workerRateLimiter.js +40 -20
  397. package/dist/client/worker.d.ts +1 -0
  398. package/dist/client/workflow/compensationChild.d.ts +2 -1
  399. package/dist/client/workflow/compensationChild.js +1 -1
  400. package/dist/client/workflow/compensationClaim.d.ts +11 -0
  401. package/dist/client/workflow/compensationClaim.js +30 -0
  402. package/dist/client/workflow/compensator.d.ts +7 -2
  403. package/dist/client/workflow/compensator.js +5 -11
  404. package/dist/client/workflow/recovery.js +25 -2
  405. package/dist/client/workflow/rollbackControl.js +1 -1
  406. package/dist/domain/job/constants.d.ts +12 -0
  407. package/dist/domain/job/constants.js +12 -0
  408. package/dist/domain/job/create.d.ts +2 -0
  409. package/dist/domain/job/create.js +103 -0
  410. package/dist/domain/job/ids.d.ts +5 -0
  411. package/dist/domain/job/ids.js +12 -0
  412. package/dist/domain/job/locks.d.ts +4 -0
  413. package/dist/domain/job/locks.js +23 -0
  414. package/dist/domain/job/payload.d.ts +18 -0
  415. package/dist/domain/job/payload.js +43 -0
  416. package/dist/domain/job/state.d.ts +8 -0
  417. package/dist/domain/job/state.js +51 -0
  418. package/dist/domain/job/terminal.d.ts +3 -0
  419. package/dist/domain/job/terminal.js +9 -0
  420. package/dist/domain/queue/dlqShard.d.ts +2 -0
  421. package/dist/domain/queue/dlqShard.js +34 -9
  422. package/dist/domain/queue/limiterManager.d.ts +11 -0
  423. package/dist/domain/queue/limiterManager.js +28 -0
  424. package/dist/domain/queue/priorityQueue.js +3 -39
  425. package/dist/domain/queue/priorityQueueOrder.d.ts +3 -0
  426. package/dist/domain/queue/priorityQueueOrder.js +21 -0
  427. package/dist/domain/queue/shard/dependencies.d.ts +11 -0
  428. package/dist/domain/queue/shard/dependencies.js +22 -0
  429. package/dist/domain/queue/shard/dlq.d.ts +25 -0
  430. package/dist/domain/queue/shard/dlq.js +71 -0
  431. package/dist/domain/queue/shard/keys.d.ts +18 -0
  432. package/dist/domain/queue/shard/keys.js +45 -0
  433. package/dist/domain/queue/shard/lifecycle.d.ts +10 -0
  434. package/dist/domain/queue/shard/lifecycle.js +43 -0
  435. package/dist/domain/queue/shard/limits.d.ts +24 -0
  436. package/dist/domain/queue/shard/limits.js +57 -0
  437. package/dist/domain/queue/shard/metrics.d.ts +32 -0
  438. package/dist/domain/queue/shard/metrics.js +72 -0
  439. package/dist/domain/queue/shard/state.d.ts +34 -0
  440. package/dist/domain/queue/shard/state.js +80 -0
  441. package/dist/domain/queue/shard.d.ts +5 -137
  442. package/dist/domain/queue/shard.js +4 -390
  443. package/dist/domain/queue/uniqueKeyManager.d.ts +3 -1
  444. package/dist/domain/queue/uniqueKeyManager.js +9 -1
  445. package/dist/domain/response/builders.d.ts +15 -0
  446. package/dist/domain/response/builders.js +39 -0
  447. package/dist/domain/types/command.d.ts +2 -522
  448. package/dist/domain/types/command.js +2 -5
  449. package/dist/domain/types/commands/base.d.ts +5 -0
  450. package/dist/domain/types/commands/base.js +1 -0
  451. package/dist/domain/types/commands/core.d.ts +106 -0
  452. package/dist/domain/types/commands/core.js +1 -0
  453. package/dist/domain/types/commands/cron.d.ts +36 -0
  454. package/dist/domain/types/commands/cron.js +1 -0
  455. package/dist/domain/types/commands/dashboard.d.ts +13 -0
  456. package/dist/domain/types/commands/dashboard.js +1 -0
  457. package/dist/domain/types/commands/dlq.d.ts +39 -0
  458. package/dist/domain/types/commands/dlq.js +1 -0
  459. package/dist/domain/types/commands/extended.d.ts +63 -0
  460. package/dist/domain/types/commands/extended.js +1 -0
  461. package/dist/domain/types/commands/index.d.ts +12 -0
  462. package/dist/domain/types/commands/index.js +12 -0
  463. package/dist/domain/types/commands/limits.d.ts +54 -0
  464. package/dist/domain/types/commands/limits.js +1 -0
  465. package/dist/domain/types/commands/management.d.ts +73 -0
  466. package/dist/domain/types/commands/management.js +1 -0
  467. package/dist/domain/types/commands/monitoring.d.ts +49 -0
  468. package/dist/domain/types/commands/monitoring.js +1 -0
  469. package/dist/domain/types/commands/protocol.d.ts +20 -0
  470. package/dist/domain/types/commands/protocol.js +1 -0
  471. package/dist/domain/types/commands/query.d.ts +46 -0
  472. package/dist/domain/types/commands/query.js +1 -0
  473. package/dist/domain/types/commands/union.d.ts +13 -0
  474. package/dist/domain/types/commands/union.js +1 -0
  475. package/dist/domain/types/commands/workers.d.ts +39 -0
  476. package/dist/domain/types/commands/workers.js +1 -0
  477. package/dist/domain/types/cron.d.ts +4 -2
  478. package/dist/domain/types/cron.js +3 -0
  479. package/dist/domain/types/dlq.d.ts +17 -0
  480. package/dist/domain/types/dlq.js +70 -14
  481. package/dist/domain/types/index.d.ts +2 -0
  482. package/dist/domain/types/index.js +1 -0
  483. package/dist/domain/types/job.d.ts +8 -269
  484. package/dist/domain/types/job.js +8 -234
  485. package/dist/domain/types/jobs/model.d.ts +152 -0
  486. package/dist/domain/types/jobs/model.js +1 -0
  487. package/dist/domain/types/metrics.d.ts +16 -0
  488. package/dist/domain/types/metrics.js +1 -0
  489. package/dist/domain/types/priorityQueue.d.ts +12 -0
  490. package/dist/domain/types/priorityQueue.js +1 -0
  491. package/dist/domain/types/protocol.d.ts +5 -0
  492. package/dist/domain/types/protocol.js +4 -0
  493. package/dist/domain/types/queue.d.ts +7 -0
  494. package/dist/domain/types/queue.js +13 -0
  495. package/dist/domain/types/response.d.ts +3 -192
  496. package/dist/domain/types/response.js +3 -101
  497. package/dist/domain/types/responses/model.d.ts +152 -0
  498. package/dist/domain/types/responses/model.js +1 -0
  499. package/dist/domain/types/shard.d.ts +4 -0
  500. package/dist/domain/types/shard.js +1 -0
  501. package/dist/infrastructure/cloud/cloudAgent.js +6 -0
  502. package/dist/infrastructure/cloud/commandHandler.d.ts +2 -41
  503. package/dist/infrastructure/cloud/commandHandler.js +1 -1
  504. package/dist/infrastructure/cloud/commands/integrations.d.ts +2 -0
  505. package/dist/infrastructure/cloud/commands/integrations.js +31 -0
  506. package/dist/infrastructure/cloud/commands/jobMapper.d.ts +56 -0
  507. package/dist/infrastructure/cloud/commands/jobMapper.js +72 -0
  508. package/dist/infrastructure/cloud/commands/jobs.d.ts +2 -0
  509. package/dist/infrastructure/cloud/commands/jobs.js +111 -0
  510. package/dist/infrastructure/cloud/commands/queues.d.ts +2 -0
  511. package/dist/infrastructure/cloud/commands/queues.js +126 -0
  512. package/dist/infrastructure/cloud/commands.d.ts +3 -10
  513. package/dist/infrastructure/cloud/commands.js +7 -344
  514. package/dist/infrastructure/cloud/snapshot/analytics.d.ts +16 -0
  515. package/dist/infrastructure/cloud/snapshot/analytics.js +132 -0
  516. package/dist/infrastructure/cloud/snapshot/collector.d.ts +24 -0
  517. package/dist/infrastructure/cloud/snapshot/collector.js +105 -0
  518. package/dist/infrastructure/cloud/snapshot/config.d.ts +5 -0
  519. package/dist/infrastructure/cloud/snapshot/config.js +86 -0
  520. package/dist/infrastructure/cloud/snapshot/jobs.d.ts +5 -0
  521. package/dist/infrastructure/cloud/snapshot/jobs.js +148 -0
  522. package/dist/infrastructure/cloud/snapshot/stalls.d.ts +3 -0
  523. package/dist/infrastructure/cloud/snapshot/stalls.js +34 -0
  524. package/dist/infrastructure/cloud/snapshotCollector.d.ts +2 -53
  525. package/dist/infrastructure/cloud/snapshotCollector.js +5 -107
  526. package/dist/infrastructure/cloud/snapshotHelpers.d.ts +5 -45
  527. package/dist/infrastructure/cloud/snapshotHelpers.js +4 -426
  528. package/dist/infrastructure/cloud/types/collector.d.ts +54 -0
  529. package/dist/infrastructure/cloud/types/collector.js +1 -0
  530. package/dist/infrastructure/cloud/types/command.d.ts +44 -0
  531. package/dist/infrastructure/cloud/types/command.js +1 -0
  532. package/dist/infrastructure/cloud/types/config.d.ts +18 -0
  533. package/dist/infrastructure/cloud/types/config.js +1 -0
  534. package/dist/infrastructure/cloud/types/event.d.ts +14 -0
  535. package/dist/infrastructure/cloud/types/event.js +1 -0
  536. package/dist/infrastructure/cloud/types/redact.d.ts +4 -0
  537. package/dist/infrastructure/cloud/types/redact.js +1 -0
  538. package/dist/infrastructure/cloud/types/snapshot.d.ts +52 -0
  539. package/dist/infrastructure/cloud/types/snapshot.js +1 -0
  540. package/dist/infrastructure/cloud/types/snapshotCore.d.ts +125 -0
  541. package/dist/infrastructure/cloud/types/snapshotCore.js +1 -0
  542. package/dist/infrastructure/cloud/types/snapshotJobs.d.ts +124 -0
  543. package/dist/infrastructure/cloud/types/snapshotJobs.js +1 -0
  544. package/dist/infrastructure/cloud/types/snapshotTelemetry.d.ts +100 -0
  545. package/dist/infrastructure/cloud/types/snapshotTelemetry.js +1 -0
  546. package/dist/infrastructure/cloud/types.d.ts +3 -445
  547. package/dist/infrastructure/cloud/types.js +0 -4
  548. package/dist/infrastructure/persistence/batchInsert.d.ts +13 -0
  549. package/dist/infrastructure/persistence/batchInsert.js +96 -0
  550. package/dist/infrastructure/persistence/jobOptionsBlob.d.ts +18 -0
  551. package/dist/infrastructure/persistence/jobOptionsBlob.js +56 -0
  552. package/dist/infrastructure/persistence/legacyNameMigration.d.ts +5 -0
  553. package/dist/infrastructure/persistence/legacyNameMigration.js +42 -0
  554. package/dist/infrastructure/persistence/migrations.d.ts +3 -0
  555. package/dist/infrastructure/persistence/migrations.js +120 -0
  556. package/dist/infrastructure/persistence/schema.d.ts +3 -5
  557. package/dist/infrastructure/persistence/schema.js +40 -136
  558. package/dist/infrastructure/persistence/sqlite/admission.d.ts +9 -0
  559. package/dist/infrastructure/persistence/sqlite/admission.js +34 -0
  560. package/dist/infrastructure/persistence/sqlite/control.d.ts +32 -0
  561. package/dist/infrastructure/persistence/sqlite/control.js +90 -0
  562. package/dist/infrastructure/persistence/sqlite/flows.d.ts +26 -0
  563. package/dist/infrastructure/persistence/sqlite/flows.js +167 -0
  564. package/dist/infrastructure/persistence/sqlite/jobs.d.ts +23 -0
  565. package/dist/infrastructure/persistence/sqlite/jobs.js +166 -0
  566. package/dist/infrastructure/persistence/sqlite/lifecycle.d.ts +6 -0
  567. package/dist/infrastructure/persistence/sqlite/lifecycle.js +30 -0
  568. package/dist/infrastructure/persistence/sqlite/mutations.d.ts +20 -0
  569. package/dist/infrastructure/persistence/sqlite/mutations.js +149 -0
  570. package/dist/infrastructure/persistence/sqlite/queries.d.ts +23 -0
  571. package/dist/infrastructure/persistence/sqlite/queries.js +89 -0
  572. package/dist/infrastructure/persistence/sqlite/records.d.ts +24 -0
  573. package/dist/infrastructure/persistence/sqlite/records.js +115 -0
  574. package/dist/infrastructure/persistence/sqlite/state.d.ts +36 -0
  575. package/dist/infrastructure/persistence/sqlite/state.js +207 -0
  576. package/dist/infrastructure/persistence/sqlite/telemetry.d.ts +16 -0
  577. package/dist/infrastructure/persistence/sqlite/telemetry.js +126 -0
  578. package/dist/infrastructure/persistence/sqlite.d.ts +5 -276
  579. package/dist/infrastructure/persistence/sqlite.js +3 -997
  580. package/dist/infrastructure/persistence/sqliteBatch.d.ts +4 -121
  581. package/dist/infrastructure/persistence/sqliteBatch.js +3 -422
  582. package/dist/infrastructure/persistence/sqliteSerializer.d.ts +6 -1
  583. package/dist/infrastructure/persistence/sqliteSerializer.js +33 -11
  584. package/dist/infrastructure/persistence/statements.d.ts +5 -1
  585. package/dist/infrastructure/persistence/statements.js +14 -9
  586. package/dist/infrastructure/persistence/types/admission.d.ts +8 -0
  587. package/dist/infrastructure/persistence/types/admission.js +1 -0
  588. package/dist/infrastructure/persistence/types/batch.d.ts +12 -0
  589. package/dist/infrastructure/persistence/types/batch.js +1 -0
  590. package/dist/infrastructure/persistence/types/sqlite.d.ts +17 -0
  591. package/dist/infrastructure/persistence/types/sqlite.js +1 -0
  592. package/dist/infrastructure/persistence/writeBuffer.d.ts +38 -0
  593. package/dist/infrastructure/persistence/writeBuffer.js +221 -0
  594. package/dist/infrastructure/scheduler/cron/execution.d.ts +12 -0
  595. package/dist/infrastructure/scheduler/cron/execution.js +150 -0
  596. package/dist/infrastructure/scheduler/cron/runtime.d.ts +31 -0
  597. package/dist/infrastructure/scheduler/cron/runtime.js +143 -0
  598. package/dist/infrastructure/scheduler/cronScheduler.d.ts +4 -117
  599. package/dist/infrastructure/scheduler/cronScheduler.js +3 -436
  600. package/dist/infrastructure/scheduler/types/cronScheduler.d.ts +16 -0
  601. package/dist/infrastructure/scheduler/types/cronScheduler.js +1 -0
  602. package/dist/infrastructure/server/bootstrap.js +3 -0
  603. package/dist/infrastructure/server/handler-routes/control.d.ts +8 -0
  604. package/dist/infrastructure/server/handler-routes/control.js +82 -0
  605. package/dist/infrastructure/server/handler-routes/jobs.d.ts +6 -0
  606. package/dist/infrastructure/server/handler-routes/jobs.js +110 -0
  607. package/dist/infrastructure/server/handler-routes/monitoring.d.ts +5 -0
  608. package/dist/infrastructure/server/handler-routes/monitoring.js +65 -0
  609. package/dist/infrastructure/server/handlerRoutes.d.ts +3 -26
  610. package/dist/infrastructure/server/handlerRoutes.js +3 -257
  611. package/dist/infrastructure/server/handlers/advanced/configNumbers.d.ts +2 -0
  612. package/dist/infrastructure/server/handlers/advanced/configNumbers.js +26 -0
  613. package/dist/infrastructure/server/handlers/advanced/dependencies.d.ts +15 -0
  614. package/dist/infrastructure/server/handlers/advanced/dependencies.js +38 -0
  615. package/dist/infrastructure/server/handlers/advanced/jobs.d.ts +33 -0
  616. package/dist/infrastructure/server/handlers/advanced/jobs.js +136 -0
  617. package/dist/infrastructure/server/handlers/advanced/queue.d.ts +42 -0
  618. package/dist/infrastructure/server/handlers/advanced/queue.js +111 -0
  619. package/dist/infrastructure/server/handlers/advanced.d.ts +3 -121
  620. package/dist/infrastructure/server/handlers/advanced.js +3 -336
  621. package/dist/infrastructure/server/handlers/core.d.ts +1 -4
  622. package/dist/infrastructure/server/handlers/core.js +37 -20
  623. package/dist/infrastructure/server/handlers/cron.js +9 -1
  624. package/dist/infrastructure/server/handlers/dlq.d.ts +3 -0
  625. package/dist/infrastructure/server/handlers/dlq.js +18 -4
  626. package/dist/infrastructure/server/handlers/flow.js +6 -1
  627. package/dist/infrastructure/server/handlers/introspection.d.ts +19 -0
  628. package/dist/infrastructure/server/handlers/introspection.js +21 -0
  629. package/dist/infrastructure/server/handlers/management.d.ts +8 -0
  630. package/dist/infrastructure/server/handlers/management.js +30 -0
  631. package/dist/infrastructure/server/handlers/monitoring/health.d.ts +13 -0
  632. package/dist/infrastructure/server/handlers/monitoring/health.js +61 -0
  633. package/dist/infrastructure/server/handlers/monitoring/operations.d.ts +8 -0
  634. package/dist/infrastructure/server/handlers/monitoring/operations.js +28 -0
  635. package/dist/infrastructure/server/handlers/monitoring/webhooks.d.ts +7 -0
  636. package/dist/infrastructure/server/handlers/monitoring/webhooks.js +56 -0
  637. package/dist/infrastructure/server/handlers/monitoring/workers.d.ts +6 -0
  638. package/dist/infrastructure/server/handlers/monitoring/workers.js +57 -0
  639. package/dist/infrastructure/server/handlers/monitoring.d.ts +4 -30
  640. package/dist/infrastructure/server/handlers/monitoring.js +4 -222
  641. package/dist/infrastructure/server/handlers/pushBatchValidation.d.ts +1 -1
  642. package/dist/infrastructure/server/handlers/pushBatchValidation.js +7 -0
  643. package/dist/infrastructure/server/handlers/query.js +13 -4
  644. package/dist/infrastructure/server/http-routes/jobAdvanced.d.ts +2 -0
  645. package/dist/infrastructure/server/http-routes/jobAdvanced.js +106 -0
  646. package/dist/infrastructure/server/http-routes/jobManagement.d.ts +2 -0
  647. package/dist/infrastructure/server/http-routes/jobManagement.js +74 -0
  648. package/dist/infrastructure/server/http-routes/queueJobs.d.ts +2 -0
  649. package/dist/infrastructure/server/http-routes/queueJobs.js +108 -0
  650. package/dist/infrastructure/server/httpRouteJobs.d.ts +1 -8
  651. package/dist/infrastructure/server/httpRouteJobs.js +33 -222
  652. package/dist/infrastructure/server/httpRouteQueues.d.ts +1 -6
  653. package/dist/infrastructure/server/httpRouteQueues.js +51 -217
  654. package/dist/infrastructure/server/httpRouteResources.js +1 -0
  655. package/dist/infrastructure/server/protocol/commands.d.ts +8 -0
  656. package/dist/infrastructure/server/protocol/commands.js +31 -0
  657. package/dist/infrastructure/server/protocol/frameParser.d.ts +16 -0
  658. package/dist/infrastructure/server/protocol/frameParser.js +65 -0
  659. package/dist/infrastructure/server/protocol/lineBuffer.d.ts +6 -0
  660. package/dist/infrastructure/server/protocol/lineBuffer.js +21 -0
  661. package/dist/infrastructure/server/protocol/validation.d.ts +9 -0
  662. package/dist/infrastructure/server/protocol/validation.js +75 -0
  663. package/dist/infrastructure/server/protocol.d.ts +5 -77
  664. package/dist/infrastructure/server/protocol.js +4 -265
  665. package/dist/infrastructure/server/rateLimiter.js +1 -0
  666. package/dist/infrastructure/server/socketWriteQueue.d.ts +1 -1
  667. package/dist/infrastructure/server/socketWriteQueue.js +8 -5
  668. package/dist/infrastructure/server/sse/constants.d.ts +5 -0
  669. package/dist/infrastructure/server/sse/constants.js +5 -0
  670. package/dist/infrastructure/server/sse/eventBuffer.d.ts +3 -0
  671. package/dist/infrastructure/server/sse/eventBuffer.js +21 -0
  672. package/dist/infrastructure/server/sseHandler.d.ts +2 -6
  673. package/dist/infrastructure/server/sseHandler.js +20 -96
  674. package/dist/infrastructure/server/tcp/clientRelease.d.ts +2 -0
  675. package/dist/infrastructure/server/tcp/clientRelease.js +18 -0
  676. package/dist/infrastructure/server/tcp/connections.d.ts +24 -0
  677. package/dist/infrastructure/server/tcp/connections.js +162 -0
  678. package/dist/infrastructure/server/tcp/constants.d.ts +3 -0
  679. package/dist/infrastructure/server/tcp/constants.js +3 -0
  680. package/dist/infrastructure/server/tcp/eventSubscriptions.d.ts +10 -0
  681. package/dist/infrastructure/server/tcp/eventSubscriptions.js +17 -0
  682. package/dist/infrastructure/server/tcp/responses.d.ts +3 -0
  683. package/dist/infrastructure/server/tcp/responses.js +8 -0
  684. package/dist/infrastructure/server/tcp.d.ts +10 -68
  685. package/dist/infrastructure/server/tcp.js +47 -256
  686. package/dist/infrastructure/server/types/protocol.d.ts +4 -0
  687. package/dist/infrastructure/server/types/protocol.js +1 -0
  688. package/dist/infrastructure/server/types/sse.d.ts +11 -0
  689. package/dist/infrastructure/server/types/sse.js +1 -0
  690. package/dist/infrastructure/server/types/tcpServer.d.ts +25 -0
  691. package/dist/infrastructure/server/types/tcpServer.js +1 -0
  692. package/dist/infrastructure/server/types/ws.d.ts +6 -0
  693. package/dist/infrastructure/server/types/ws.js +1 -0
  694. package/dist/infrastructure/server/ws/constants.d.ts +6 -0
  695. package/dist/infrastructure/server/ws/constants.js +130 -0
  696. package/dist/infrastructure/server/ws/snapshots.d.ts +4 -0
  697. package/dist/infrastructure/server/ws/snapshots.js +52 -0
  698. package/dist/infrastructure/server/ws/subscriptions.d.ts +10 -0
  699. package/dist/infrastructure/server/ws/subscriptions.js +39 -0
  700. package/dist/infrastructure/server/wsHandler.d.ts +2 -10
  701. package/dist/infrastructure/server/wsHandler.js +12 -237
  702. package/dist/mcp/adapter.d.ts +5 -403
  703. package/dist/mcp/adapter.js +6 -778
  704. package/dist/mcp/backend/embedded/base.d.ts +7 -0
  705. package/dist/mcp/backend/embedded/base.js +15 -0
  706. package/dist/mcp/backend/embedded/index.d.ts +14 -0
  707. package/dist/mcp/backend/embedded/index.js +22 -0
  708. package/dist/mcp/backend/embedded/jobs.d.ts +44 -0
  709. package/dist/mcp/backend/embedded/jobs.js +98 -0
  710. package/dist/mcp/backend/embedded/queues.d.ts +27 -0
  711. package/dist/mcp/backend/embedded/queues.js +84 -0
  712. package/dist/mcp/backend/embedded/services.d.ts +29 -0
  713. package/dist/mcp/backend/embedded/services.js +107 -0
  714. package/dist/mcp/backend/serializers.d.ts +7 -0
  715. package/dist/mcp/backend/serializers.js +32 -0
  716. package/dist/mcp/backend/tcp/base.d.ts +19 -0
  717. package/dist/mcp/backend/tcp/base.js +54 -0
  718. package/dist/mcp/backend/tcp/index.d.ts +14 -0
  719. package/dist/mcp/backend/tcp/index.js +20 -0
  720. package/dist/mcp/backend/tcp/jobs.d.ts +44 -0
  721. package/dist/mcp/backend/tcp/jobs.js +122 -0
  722. package/dist/mcp/backend/tcp/queues.d.ts +27 -0
  723. package/dist/mcp/backend/tcp/queues.js +89 -0
  724. package/dist/mcp/backend/tcp/services.d.ts +30 -0
  725. package/dist/mcp/backend/tcp/services.js +161 -0
  726. package/dist/mcp/types/adapter.d.ts +176 -0
  727. package/dist/mcp/types/adapter.js +1 -0
  728. package/dist/shared/asyncLock.d.ts +13 -0
  729. package/dist/shared/asyncLock.js +65 -0
  730. package/dist/shared/lock.d.ts +10 -72
  731. package/dist/shared/lock.js +7 -231
  732. package/dist/shared/lockError.d.ts +3 -0
  733. package/dist/shared/lockError.js +6 -0
  734. package/dist/shared/lockTimeout.d.ts +2 -0
  735. package/dist/shared/lockTimeout.js +2 -0
  736. package/dist/shared/rwLock.d.ts +22 -0
  737. package/dist/shared/rwLock.js +124 -0
  738. package/dist/shared/serialization.js +1 -0
  739. package/dist/shared/skipList.d.ts +0 -5
  740. package/dist/shared/skipList.js +10 -57
  741. package/dist/shared/skipListNodes.d.ts +6 -0
  742. package/dist/shared/skipListNodes.js +43 -0
  743. package/dist/shared/types/lock.d.ts +7 -0
  744. package/dist/shared/types/lock.js +1 -0
  745. package/dist/shared/types/skipList.d.ts +4 -0
  746. package/dist/shared/types/skipList.js +1 -0
  747. package/package.json +2 -1
@@ -1,36 +1,11 @@
1
- /**
2
- * Bunqueue - Simplified all-in-one Queue + Worker
3
- * Routes, middleware, cron, batch, retry, circuit breaker, TTL, aging, cancellation.
4
- */
5
- import { Queue } from './queue/queue';
6
- import { Worker } from './worker/worker';
7
- import type { Job, JobOptions, DlqConfig, DlqEntry, DlqStats, DlqFilter } from './types';
8
1
  import type { SchedulerInfo } from './queue/scheduler';
9
- import type { BunqueueOptions, BunqueueMiddleware, TriggerRule, CircuitState } from './bunqueue/types';
10
- export type { BunqueueMiddleware, BunqueueOptions, RetryStrategy, RetryConfig, CircuitBreakerConfig, TriggerRule, PriorityAgingConfig, BatchProcessor, BatchConfig, JobTtlConfig, BunqueueDeduplicationConfig, BunqueueDebounceConfig, BunqueueDlqConfig, } from './bunqueue/types';
11
- export declare class Bunqueue<T = unknown, R = unknown> {
12
- readonly name: string;
13
- readonly queue: Queue<T>;
14
- readonly worker: Worker<T, R>;
15
- private readonly middlewares;
16
- private readonly baseProcessor;
17
- private readonly cb;
18
- private readonly retryConfig;
19
- private readonly triggerMgr;
20
- private readonly ager;
21
- private readonly cancellation;
22
- private readonly ttlChecker;
23
- private readonly batchAcc;
24
- private readonly merger;
25
- private readonly dlqrl;
26
- constructor(name: string, opts: BunqueueOptions<T, R>);
27
- private buildRouteProcessor;
28
- private buildQueueOpts;
29
- private buildWorkerOpts;
30
- private processJob;
31
- private runMiddlewareChain;
32
- use(middleware: BunqueueMiddleware<T, R>): this;
33
- add(name: string, data: T, opts?: JobOptions): Promise<Job<T>>;
2
+ import type { DlqConfig, DlqEntry, DlqFilter, DlqStats, Job, JobOptions } from './types';
3
+ import { BunqueueRuntime } from './bunqueue/runtime';
4
+ import type { CircuitState, TriggerRule } from './bunqueue/types';
5
+ export type { BatchConfig, BatchProcessor, BunqueueDebounceConfig, BunqueueDeduplicationConfig, BunqueueDlqConfig, BunqueueMiddleware, BunqueueOptions, CircuitBreakerConfig, JobTtlConfig, PriorityAgingConfig, RetryConfig, RetryStrategy, TriggerRule, } from './bunqueue/types';
6
+ /** Simplified all-in-one Queue and Worker façade. */
7
+ export declare class Bunqueue<T = unknown, R = unknown> extends BunqueueRuntime<T, R> {
8
+ add(name: string, data: T, options?: JobOptions): Promise<Job<T>>;
34
9
  addBulk(jobs: Array<{
35
10
  name: string;
36
11
  data: T;
@@ -41,12 +16,12 @@ export declare class Bunqueue<T = unknown, R = unknown> {
41
16
  getJobCountsAsync(): Promise<import("./queue/operations").JobCounts>;
42
17
  count(): number;
43
18
  countAsync(): Promise<number>;
44
- cron(id: string, pattern: string, data?: T, opts?: {
19
+ cron(id: string, pattern: string, data?: T, options?: {
45
20
  timezone?: string;
46
21
  limit?: number;
47
22
  jobOpts?: JobOptions;
48
23
  }): Promise<SchedulerInfo | null>;
49
- every(id: string, intervalMs: number, data?: T, opts?: {
24
+ every(id: string, intervalMs: number, data?: T, options?: {
50
25
  limit?: number;
51
26
  jobOpts?: JobOptions;
52
27
  }): Promise<SchedulerInfo | null>;
@@ -61,13 +36,21 @@ export declare class Bunqueue<T = unknown, R = unknown> {
61
36
  setDefaultTtl(ttlMs: number): void;
62
37
  setNameTtl(name: string, ttlMs: number): void;
63
38
  setDlqConfig(config: Partial<DlqConfig>): void;
39
+ setDlqConfigAsync(config: Partial<DlqConfig>): Promise<void>;
64
40
  getDlqConfig(): DlqConfig;
41
+ getDlqConfigAsync(): Promise<DlqConfig>;
65
42
  getDlq(filter?: DlqFilter): DlqEntry<T>[];
43
+ getDlqAsync(filter?: DlqFilter): Promise<DlqEntry<T>[]>;
66
44
  getDlqStats(): DlqStats;
45
+ getDlqStatsAsync(): Promise<DlqStats>;
67
46
  retryDlq(id?: string): number;
47
+ retryDlqAsync(id?: string): Promise<number>;
68
48
  purgeDlq(): number;
49
+ purgeDlqAsync(): Promise<number>;
69
50
  setGlobalRateLimit(max: number, duration?: number): void;
51
+ setGlobalRateLimitAsync(max: number, duration?: number): Promise<void>;
70
52
  removeGlobalRateLimit(): void;
53
+ removeGlobalRateLimitAsync(): Promise<void>;
71
54
  on(event: 'ready' | 'drained' | 'closed', listener: () => void): this;
72
55
  on(event: 'active', listener: (job: Job<T>) => void): this;
73
56
  on(event: 'completed', listener: (job: Job<T>, result: R) => void): this;
@@ -81,6 +64,8 @@ export declare class Bunqueue<T = unknown, R = unknown> {
81
64
  off(event: any, listener: (...args: any[]) => void): this;
82
65
  pause(): void;
83
66
  resume(): void;
67
+ pauseAsync(): Promise<void>;
68
+ resumeAsync(): Promise<void>;
84
69
  close(force?: boolean): Promise<void>;
85
70
  isRunning(): boolean;
86
71
  isPaused(): boolean;
@@ -1,158 +1,14 @@
1
- /**
2
- * Bunqueue - Simplified all-in-one Queue + Worker
3
- * Routes, middleware, cron, batch, retry, circuit breaker, TTL, aging, cancellation.
4
- */
5
- import { Queue } from './queue/queue';
6
- import { Worker } from './worker/worker';
7
- import { DlqRateLimitManager } from './bunqueue/dlqRateLimit';
8
- import { executeWithRetry } from './bunqueue/retry';
9
- import { WorkerCircuitBreaker } from './bunqueue/circuitBreaker';
10
- import { BatchAccumulator } from './bunqueue/batch';
11
- import { TriggerManager } from './bunqueue/triggers';
12
- import { PriorityAger } from './bunqueue/aging';
13
- import { CancellationManager } from './bunqueue/cancellation';
14
- import { TtlChecker } from './bunqueue/ttl';
15
- import { DedupDebounceMerger } from './bunqueue/dedupDebounce';
16
- export class Bunqueue {
17
- name;
18
- queue;
19
- worker;
20
- middlewares = [];
21
- baseProcessor;
22
- cb;
23
- retryConfig;
24
- triggerMgr;
25
- ager;
26
- cancellation = new CancellationManager();
27
- ttlChecker;
28
- batchAcc;
29
- merger;
30
- dlqrl;
31
- constructor(name, opts) {
32
- const modes = [opts.processor, opts.routes, opts.batch].filter(Boolean).length;
33
- if (modes === 0)
34
- throw new Error('Bunqueue requires "processor", "routes", or "batch"');
35
- if (modes > 1)
36
- throw new Error('Bunqueue: use only one of "processor", "routes", or "batch"');
37
- this.name = name;
38
- this.retryConfig = opts.retry ?? null;
39
- this.ttlChecker = opts.ttl ? new TtlChecker(opts.ttl) : null;
40
- this.merger = new DedupDebounceMerger(opts.deduplication ?? null, opts.debounce ?? null);
41
- // Build base processor
42
- if (opts.batch) {
43
- this.batchAcc = new BatchAccumulator(opts.batch);
44
- this.baseProcessor = this.batchAcc.buildProcessor();
45
- }
46
- else {
47
- this.batchAcc = null;
48
- this.baseProcessor = opts.routes ? this.buildRouteProcessor(opts.routes) : opts.processor; // eslint-disable-line @typescript-eslint/no-non-null-assertion
49
- }
50
- // eslint-disable-next-line @typescript-eslint/no-this-alias
51
- const self = this;
52
- const wrappedProcessor = (job) => self.processJob(job);
53
- this.queue = new Queue(name, this.buildQueueOpts(opts));
54
- this.worker = new Worker(name, wrappedProcessor, this.buildWorkerOpts(opts));
55
- // DLQ & Rate Limit manager
56
- this.dlqrl = new DlqRateLimitManager(this.queue);
57
- if (opts.dlq)
58
- this.dlqrl.setDlqConfig(opts.dlq);
59
- // Initialize subsystems
60
- this.cb = opts.circuitBreaker
61
- ? new WorkerCircuitBreaker(opts.circuitBreaker, this.worker)
62
- : null;
63
- this.triggerMgr = new TriggerManager(this.queue, this.worker);
64
- this.ager = opts.priorityAging ? new PriorityAger(opts.priorityAging, this.queue) : null;
65
- this.ager?.start();
66
- }
67
- buildRouteProcessor(routes) {
68
- const routeMap = routes;
69
- return (job) => {
70
- const handler = routeMap[job.name];
71
- if (!handler)
72
- throw new Error(`No route for job "${job.name}" in queue "${this.name}"`);
73
- return handler(job);
74
- };
75
- }
76
- buildQueueOpts(opts) {
77
- return {
78
- connection: opts.connection,
79
- embedded: opts.embedded,
80
- dataPath: opts.dataPath,
81
- defaultJobOptions: opts.defaultJobOptions,
82
- autoBatch: opts.autoBatch,
83
- prefixKey: opts.prefixKey,
84
- };
85
- }
86
- buildWorkerOpts(opts) {
87
- return {
88
- connection: opts.connection,
89
- embedded: opts.embedded,
90
- dataPath: opts.dataPath,
91
- concurrency: opts.concurrency,
92
- autorun: opts.autorun,
93
- heartbeatInterval: opts.heartbeatInterval,
94
- batchSize: opts.batchSize,
95
- pollTimeout: opts.pollTimeout,
96
- limiter: opts.rateLimit ?? opts.limiter,
97
- removeOnComplete: opts.removeOnComplete,
98
- removeOnFail: opts.removeOnFail,
99
- prefixKey: opts.prefixKey,
100
- };
101
- }
102
- // ============ Core Processing Pipeline ============
103
- processJob(job) {
104
- // Circuit breaker check
105
- if (this.cb?.isOpen()) {
106
- return Promise.reject(new Error('Circuit breaker is open'));
107
- }
108
- // TTL check
109
- if (this.ttlChecker?.isExpired(job.name, job.timestamp)) {
110
- return Promise.reject(new Error(`Job expired (age: ${Date.now() - job.timestamp}ms)`));
111
- }
112
- // Register cancellation
113
- const ac = this.cancellation.register(job.id);
114
- const runChain = () => this.runMiddlewareChain(job, ac);
115
- const execute = this.retryConfig ? executeWithRetry(runChain, this.retryConfig) : runChain();
116
- return execute.then((result) => {
117
- this.cb?.onSuccess();
118
- this.cancellation.unregister(job.id);
119
- return result;
120
- }, (err) => {
121
- this.cb?.onFailure();
122
- this.cancellation.unregister(job.id);
123
- throw err;
124
- });
125
- }
126
- runMiddlewareChain(job, ac) {
127
- const asJob = job;
128
- if (this.middlewares.length === 0) {
129
- const result = this.baseProcessor(job);
130
- return result instanceof Promise ? result : Promise.resolve(result);
131
- }
132
- let index = 0;
133
- const mws = this.middlewares;
134
- const base = this.baseProcessor;
135
- const next = () => {
136
- if (ac.signal.aborted)
137
- return Promise.reject(new Error('Job cancelled'));
138
- if (index < mws.length)
139
- return mws[index++](asJob, next);
140
- const result = base(job);
141
- return result instanceof Promise ? result : Promise.resolve(result);
142
- };
143
- return next();
144
- }
145
- // ============ Middleware ============
146
- use(middleware) {
147
- this.middlewares.push(middleware);
148
- return this;
149
- }
150
- // ============ Queue Operations ============
151
- add(name, data, opts) {
152
- return this.queue.add(name, data, this.merger.merge(name, opts, data));
1
+ import { BunqueueRuntime } from './bunqueue/runtime';
2
+ /** Simplified all-in-one Queue and Worker façade. */
3
+ export class Bunqueue extends BunqueueRuntime {
4
+ add(name, data, options) {
5
+ return this.queue.add(name, data, this.merger.merge(name, options, data));
153
6
  }
154
7
  addBulk(jobs) {
155
- return this.queue.addBulk(jobs.map((j) => ({ ...j, opts: this.merger.merge(j.name, j.opts, j.data) })));
8
+ return this.queue.addBulk(jobs.map((job) => ({
9
+ ...job,
10
+ opts: this.merger.merge(job.name, job.opts, job.data),
11
+ })));
156
12
  }
157
13
  getJob(id) {
158
14
  return this.queue.getJob(id);
@@ -169,12 +25,11 @@ export class Bunqueue {
169
25
  countAsync() {
170
26
  return this.queue.countAsync();
171
27
  }
172
- // ============ Cron ============
173
- cron(id, pattern, data, opts) {
174
- return this.queue.upsertJobScheduler(id, { pattern, timezone: opts?.timezone, limit: opts?.limit }, { name: id, data, opts: opts?.jobOpts });
28
+ cron(id, pattern, data, options) {
29
+ return this.queue.upsertJobScheduler(id, { pattern, timezone: options?.timezone, limit: options?.limit }, { name: id, data, opts: options?.jobOpts });
175
30
  }
176
- every(id, intervalMs, data, opts) {
177
- return this.queue.upsertJobScheduler(id, { every: intervalMs, limit: opts?.limit }, { name: id, data, opts: opts?.jobOpts });
31
+ every(id, intervalMs, data, options) {
32
+ return this.queue.upsertJobScheduler(id, { every: intervalMs, limit: options?.limit }, { name: id, data, opts: options?.jobOpts });
178
33
  }
179
34
  removeCron(id) {
180
35
  return this.queue.removeJobScheduler(id);
@@ -182,7 +37,6 @@ export class Bunqueue {
182
37
  listCrons() {
183
38
  return this.queue.getJobSchedulers();
184
39
  }
185
- // ============ Cancellation (feature 3) ============
186
40
  cancel(jobId, gracePeriodMs = 0) {
187
41
  this.cancellation.cancel(jobId, gracePeriodMs);
188
42
  }
@@ -192,51 +46,70 @@ export class Bunqueue {
192
46
  getSignal(jobId) {
193
47
  return this.cancellation.getSignal(jobId);
194
48
  }
195
- // ============ Circuit Breaker (feature 5) ============
196
49
  getCircuitState() {
197
50
  return this.cb?.currentState ?? 'closed';
198
51
  }
199
52
  resetCircuit() {
200
53
  this.cb?.reset();
201
54
  }
202
- // ============ Triggers (feature 6) ============
203
55
  trigger(rule) {
204
56
  this.triggerMgr.add(rule);
205
57
  return this;
206
58
  }
207
- // ============ TTL (feature 7) ============
208
59
  setDefaultTtl(ttlMs) {
209
60
  this.ttlChecker?.setDefaultTtl(ttlMs);
210
61
  }
211
62
  setNameTtl(name, ttlMs) {
212
63
  this.ttlChecker?.setNameTtl(name, ttlMs);
213
64
  }
214
- // ============ DLQ (feature 12) ============
215
65
  setDlqConfig(config) {
216
66
  this.dlqrl.setDlqConfig(config);
217
67
  }
68
+ setDlqConfigAsync(config) {
69
+ return this.dlqrl.setDlqConfigAsync(config);
70
+ }
218
71
  getDlqConfig() {
219
72
  return this.dlqrl.getDlqConfig();
220
73
  }
74
+ getDlqConfigAsync() {
75
+ return this.dlqrl.getDlqConfigAsync();
76
+ }
221
77
  getDlq(filter) {
222
78
  return this.dlqrl.getDlq(filter);
223
79
  }
80
+ getDlqAsync(filter) {
81
+ return this.dlqrl.getDlqAsync(filter);
82
+ }
224
83
  getDlqStats() {
225
84
  return this.dlqrl.getDlqStats();
226
85
  }
86
+ getDlqStatsAsync() {
87
+ return this.dlqrl.getDlqStatsAsync();
88
+ }
227
89
  retryDlq(id) {
228
90
  return this.dlqrl.retryDlq(id);
229
91
  }
92
+ retryDlqAsync(id) {
93
+ return this.dlqrl.retryDlqAsync(id);
94
+ }
230
95
  purgeDlq() {
231
96
  return this.dlqrl.purgeDlq();
232
97
  }
233
- // ============ Rate Limiting ============
98
+ purgeDlqAsync() {
99
+ return this.dlqrl.purgeDlqAsync();
100
+ }
234
101
  setGlobalRateLimit(max, duration) {
235
102
  this.dlqrl.setGlobalRateLimit(max, duration);
236
103
  }
104
+ setGlobalRateLimitAsync(max, duration) {
105
+ return this.dlqrl.setGlobalRateLimitAsync(max, duration);
106
+ }
237
107
  removeGlobalRateLimit() {
238
108
  this.dlqrl.removeGlobalRateLimit();
239
109
  }
110
+ removeGlobalRateLimitAsync() {
111
+ return this.dlqrl.removeGlobalRateLimitAsync();
112
+ }
240
113
  on(event, listener) {
241
114
  this.worker.on(event, listener);
242
115
  return this;
@@ -249,8 +122,6 @@ export class Bunqueue {
249
122
  this.worker.off(event, listener);
250
123
  return this;
251
124
  }
252
- /* eslint-enable @typescript-eslint/no-explicit-any, @typescript-eslint/no-unsafe-argument */
253
- // ============ Control ============
254
125
  pause() {
255
126
  this.queue.pause();
256
127
  this.worker.pause();
@@ -259,6 +130,14 @@ export class Bunqueue {
259
130
  this.queue.resume();
260
131
  this.worker.resume();
261
132
  }
133
+ async pauseAsync() {
134
+ await this.queue.pauseAsync();
135
+ this.worker.pause();
136
+ }
137
+ async resumeAsync() {
138
+ await this.queue.resumeAsync();
139
+ this.worker.resume();
140
+ }
262
141
  async close(force = false) {
263
142
  this.ager?.destroy();
264
143
  this.cb?.destroy();
@@ -0,0 +1,5 @@
1
+ import type { DlqEntry as InternalDlqEntry } from '../domain/types/dlq';
2
+ import type { DlqEntry, Job } from './types';
3
+ import type { CreatePublicJobOptions, PublicJobMethodContext } from './jobConversionTypes';
4
+ /** Convert authoritative DLQ metadata while retaining live public Job methods. */
5
+ export declare function convertDlqEntry<T>(entry: InternalDlqEntry, methods: PublicJobMethodContext, buildJob: (options: CreatePublicJobOptions) => Job<T>): DlqEntry<T>;
@@ -0,0 +1,28 @@
1
+ import { resolvePublicJobPayload } from './jobHelpers';
2
+ /** Convert authoritative DLQ metadata while retaining live public Job methods. */
3
+ export function convertDlqEntry(entry, methods, buildJob) {
4
+ const { name } = resolvePublicJobPayload(entry.job);
5
+ return {
6
+ job: buildJob({
7
+ job: entry.job,
8
+ name,
9
+ failedReason: entry.error ?? undefined,
10
+ ...methods,
11
+ }),
12
+ enteredAt: entry.enteredAt,
13
+ reason: entry.reason,
14
+ error: entry.error,
15
+ attempts: entry.attempts.map((attempt) => ({
16
+ attempt: attempt.attempt,
17
+ startedAt: attempt.startedAt,
18
+ failedAt: attempt.failedAt,
19
+ reason: attempt.reason,
20
+ error: attempt.error,
21
+ duration: attempt.duration,
22
+ })),
23
+ retryCount: entry.retryCount,
24
+ lastRetryAt: entry.lastRetryAt,
25
+ nextRetryAt: entry.nextRetryAt,
26
+ expiresAt: entry.expiresAt,
27
+ };
28
+ }
@@ -3,61 +3,8 @@
3
3
  */
4
4
  import { EventEmitter } from 'events';
5
5
  import { type JobEvent } from '../domain/types/queue';
6
- /** Event payload for 'waiting' event */
7
- export interface WaitingEvent {
8
- jobId: string;
9
- }
10
- /** Event payload for 'active' event */
11
- export interface ActiveEvent {
12
- jobId: string;
13
- }
14
- /** Event payload for 'completed' event */
15
- export interface CompletedEvent<R = unknown> {
16
- jobId: string;
17
- returnvalue: R;
18
- }
19
- /** Event payload for 'failed' event */
20
- export interface FailedEvent {
21
- jobId: string;
22
- failedReason: string;
23
- data?: unknown;
24
- }
25
- /** Event payload for 'progress' event */
26
- export interface ProgressEvent<P = unknown> {
27
- jobId: string;
28
- data: P;
29
- }
30
- /** Event payload for 'stalled' event */
31
- export interface StalledEvent {
32
- jobId: string;
33
- }
34
- /** Event payload for 'removed' event */
35
- export interface RemovedEvent {
36
- jobId: string;
37
- prev: string;
38
- }
39
- /** Event payload for 'delayed' event */
40
- export interface DelayedEvent {
41
- jobId: string;
42
- delay: number;
43
- }
44
- /** Event payload for 'duplicated' event */
45
- export interface DuplicatedEvent {
46
- jobId: string;
47
- }
48
- /** Event payload for 'retried' event */
49
- export interface RetriedEvent {
50
- jobId: string;
51
- prev: string;
52
- }
53
- /** Event payload for 'waiting-children' event */
54
- export interface WaitingChildrenEvent {
55
- jobId: string;
56
- }
57
- /** Event payload for 'drained' event */
58
- export interface DrainedEvent {
59
- id: string;
60
- }
6
+ import type { ActiveEvent, CompletedEvent, DelayedEvent, DrainedEvent, DuplicatedEvent, FailedEvent, ProgressEvent, QueueEventsOptions, RemovedEvent, RetriedEvent, StalledEvent, WaitingChildrenEvent, WaitingEvent } from './types/events';
7
+ export type { ActiveEvent, CompletedEvent, DelayedEvent, DrainedEvent, DuplicatedEvent, FailedEvent, ProgressEvent, QueueEventsOptions, RemovedEvent, RetriedEvent, StalledEvent, WaitingChildrenEvent, WaitingEvent, } from './types/events';
61
8
  /**
62
9
  * QueueEvents class for listening to queue events
63
10
  * Provides a way to listen to events without processing jobs
@@ -84,8 +31,11 @@ export declare class QueueEvents<R = unknown, P = unknown> extends EventEmitter
84
31
  readonly name: string;
85
32
  private running;
86
33
  private unsubscribe;
34
+ private subscription;
87
35
  private ready;
88
- constructor(name: string);
36
+ private readonly queueKey;
37
+ private readonly options;
38
+ constructor(name: string, options?: QueueEventsOptions);
89
39
  on(event: 'waiting', listener: (data: WaitingEvent) => void): this;
90
40
  on(event: 'active', listener: (data: ActiveEvent) => void): this;
91
41
  on(event: 'completed', listener: (data: CompletedEvent<R>) => void): this;
@@ -116,6 +66,7 @@ export declare class QueueEvents<R = unknown, P = unknown> extends EventEmitter
116
66
  once(event: 'error', listener: (error: Error, event?: JobEvent) => void): this;
117
67
  private dispatchEvent;
118
68
  private start;
69
+ private emitTransportError;
119
70
  /** Emit an error event (can be called externally) */
120
71
  emitError(error: Error): void;
121
72
  /**
@@ -3,6 +3,7 @@
3
3
  */
4
4
  import { EventEmitter } from 'events';
5
5
  import { getSharedManager } from './manager';
6
+ import { TcpEventSubscription } from './queue-events/tcpSubscription';
6
7
  /**
7
8
  * QueueEvents class for listening to queue events
8
9
  * Provides a way to listen to events without processing jobs
@@ -29,17 +30,22 @@ export class QueueEvents extends EventEmitter {
29
30
  name;
30
31
  running = false;
31
32
  unsubscribe = null;
33
+ subscription = null;
32
34
  ready = false;
33
- constructor(name) {
35
+ queueKey;
36
+ options;
37
+ constructor(name, options = {}) {
34
38
  super();
35
39
  this.name = name;
40
+ this.options = options;
41
+ this.queueKey = (options.prefixKey ?? '') + name;
36
42
  this.start();
37
43
  }
38
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
44
+ // biome-ignore lint/suspicious/noExplicitAny: EventEmitter's fallback overload requires any[].
39
45
  on(event, listener) {
40
46
  return super.on(event, listener);
41
47
  }
42
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
48
+ // biome-ignore lint/suspicious/noExplicitAny: EventEmitter's fallback overload requires any[].
43
49
  once(event, listener) {
44
50
  return super.once(event, listener);
45
51
  }
@@ -60,12 +66,12 @@ export class QueueEvents extends EventEmitter {
60
66
  failedReason: event.error ?? 'Job failed',
61
67
  data: event.data,
62
68
  });
63
- if (event.error) {
69
+ if (event.error && this.listenerCount('error') > 0) {
64
70
  this.emit('error', new Error(event.error), event);
65
71
  }
66
72
  break;
67
73
  case "progress" /* EventType.Progress */:
68
- this.emit('progress', { jobId: event.jobId, data: event.data });
74
+ this.emit('progress', { jobId: event.jobId, data: event.progress ?? event.data });
69
75
  break;
70
76
  case "stalled" /* EventType.Stalled */:
71
77
  this.emit('stalled', { jobId: event.jobId });
@@ -97,22 +103,35 @@ export class QueueEvents extends EventEmitter {
97
103
  }
98
104
  }
99
105
  start() {
100
- if (this.running || this.unsubscribe)
106
+ if (this.running || this.unsubscribe || this.subscription)
101
107
  return;
102
108
  this.running = true;
103
- const manager = getSharedManager();
104
109
  const handler = (event) => {
105
110
  try {
106
- if (event.queue !== this.name)
111
+ if (event.queue !== this.queueKey)
107
112
  return;
108
113
  this.dispatchEvent(event);
109
114
  }
110
115
  catch (err) {
111
- this.emit('error', err instanceof Error ? err : new Error(String(err)));
116
+ this.emitTransportError(err instanceof Error ? err : new Error(String(err)));
112
117
  }
113
118
  };
114
- this.unsubscribe = manager.subscribe(handler);
115
- this.ready = true;
119
+ const embedded = this.options.embedded ?? this.options.connection === undefined;
120
+ if (embedded) {
121
+ this.unsubscribe = getSharedManager(this.options.dataPath).subscribe(handler);
122
+ this.ready = true;
123
+ return;
124
+ }
125
+ this.subscription = new TcpEventSubscription({
126
+ connection: this.options.connection,
127
+ queue: this.queueKey,
128
+ onEvent: handler,
129
+ onError: (error) => this.emitTransportError(error),
130
+ });
131
+ }
132
+ emitTransportError(error) {
133
+ if (this.listenerCount('error') > 0)
134
+ this.emit('error', error);
116
135
  }
117
136
  /** Emit an error event (can be called externally) */
118
137
  emitError(error) {
@@ -124,11 +143,13 @@ export class QueueEvents extends EventEmitter {
124
143
  * BullMQ v5 compatible.
125
144
  */
126
145
  async waitUntilReady() {
127
- // In embedded mode, we're always ready after construction
128
- if (this.ready)
146
+ if (this.subscription) {
147
+ await this.subscription.waitUntilReady();
148
+ this.ready = true;
129
149
  return;
130
- // Wait a tick for the subscription to complete
131
- await new Promise((resolve) => setImmediate(resolve));
150
+ }
151
+ if (!this.ready)
152
+ throw new Error('QueueEvents is closed');
132
153
  }
133
154
  /**
134
155
  * Disconnect from the event stream.
@@ -146,6 +167,8 @@ export class QueueEvents extends EventEmitter {
146
167
  this.unsubscribe();
147
168
  this.unsubscribe = null;
148
169
  }
170
+ this.subscription?.close();
171
+ this.subscription = null;
149
172
  this.removeAllListeners();
150
173
  }
151
174
  }
@@ -4,6 +4,7 @@
4
4
  */
5
5
  import { EventEmitter } from 'events';
6
6
  import type { FlowProducerOptions, FlowStep, FlowResult, FlowJob, JobNode, GetFlowOpts, FlowOpts } from './flowTypes';
7
+ import { type RuntimeResult } from './flowResults';
7
8
  export type { FlowProducerOptions, FlowStep, FlowResult, FlowJob, JobNode, GetFlowOpts, FlowOpts, } from './flowTypes';
8
9
  /**
9
10
  * FlowProducer creates job flows with automatic dependencies.
@@ -30,11 +31,10 @@ export type { FlowProducerOptions, FlowStep, FlowResult, FlowJob, JobNode, GetFl
30
31
  * ```
31
32
  */
32
33
  export declare class FlowProducer extends EventEmitter {
33
- closing: Promise<void>;
34
+ closing: Promise<void> | null;
34
35
  private readonly embedded;
35
36
  private readonly tcp;
36
37
  private readonly useSharedPool;
37
- private closed;
38
38
  constructor(opts?: FlowProducerOptions);
39
39
  /** Get push context for helper functions */
40
40
  private get pushCtx();
@@ -59,16 +59,10 @@ export declare class FlowProducer extends EventEmitter {
59
59
  }>;
60
60
  /** Add a tree of jobs where children depend on parent. */
61
61
  addTree<T = unknown>(root: FlowStep<T>): Promise<FlowResult>;
62
- /**
63
- * Get the result of a completed parent job (embedded only).
64
- * @template R - Type of the job result
65
- */
66
- getParentResult<R = unknown>(parentId: string): R | undefined;
67
- /**
68
- * Get results from multiple parent jobs (embedded only).
69
- * @template R - Type of the job results
70
- */
71
- getParentResults<R = unknown>(parentIds: string[]): Map<string, R>;
62
+ /** Get the result of a completed parent job in embedded or TCP mode. */
63
+ getParentResult<R = unknown>(parentId: string): RuntimeResult<R | undefined>;
64
+ /** Get results from multiple parent jobs in input order in either runtime. */
65
+ getParentResults<R = unknown>(parentIds: string[]): RuntimeResult<Map<string, R>>;
72
66
  /** Build callbacks that wire flow job methods to actual management operations */
73
67
  private buildCallbacks;
74
68
  private buildPlannedNode;