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,17 +1,27 @@
1
- /**
2
- * Job Conversion Functions
3
- * Convert internal job types to public API types
4
- */
5
1
  import { buildJobOpts } from './jobHelpers';
2
+ import { convertDlqEntry } from './dlqConversion';
6
3
  import { buildJobProperties, buildStateCheckMethods, buildSerializationMethods, } from './jobConversionHelpers';
7
4
  /** Convert internal job to public job (with methods) */
8
5
  export function createPublicJob(opts) {
9
- const { job, name, updateProgress, log, getState, remove, retry, getChildrenValues, updateData, promote, changeDelay, changePriority, extendLock, clearLogs, getDependencies, getDependenciesCount, moveToCompleted, moveToFailed, moveToWait, moveToDelayed, moveToWaitingChildren, waitUntilFinished, discard, getFailedChildrenValues, getIgnoredChildrenFailures, removeChildDependency, removeDeduplicationKey, removeUnprocessedChildren, token, processedBy, stacktrace, } = opts;
6
+ const { job, name, updateProgress, log, getState, remove, retry, getChildrenValues, updateData, promote, changeDelay, changePriority, extendLock, clearLogs, getDependencies, getDependenciesCount, moveToCompleted, moveToFailed, moveToWait, moveToDelayed, moveToWaitingChildren, waitUntilFinished, discard, getFailedChildrenValues, getIgnoredChildrenFailures, removeChildDependency, removeDeduplicationKey, removeUnprocessedChildren, token, processedBy, stacktrace, returnvalue, failedReason, } = opts;
10
7
  const id = String(job.id);
11
8
  const jobOpts = buildJobOpts(job);
12
- const props = buildJobProperties(job, name, stacktrace, token, processedBy);
9
+ const props = buildJobProperties(job, name, {
10
+ stacktrace,
11
+ token,
12
+ processedBy,
13
+ returnvalue,
14
+ failedReason,
15
+ });
13
16
  const stateChecks = buildStateCheckMethods(id, getState, getDependenciesCount);
14
- const serialization = buildSerializationMethods(job, id, name, jobOpts, stacktrace);
17
+ const serialization = buildSerializationMethods(job, {
18
+ id,
19
+ name,
20
+ jobOpts,
21
+ stacktrace,
22
+ returnvalue,
23
+ failedReason,
24
+ });
15
25
  return {
16
26
  ...props,
17
27
  ...stateChecks,
@@ -64,19 +74,30 @@ export function createPublicJob(opts) {
64
74
  }
65
75
  /** Simple public job without methods (for Queue.getJob) */
66
76
  export function toPublicJob(opts) {
67
- const { job, name, getState, remove, retry, getChildrenValues, updateData, promote, changeDelay, changePriority, extendLock, clearLogs, getDependencies, getDependenciesCount, moveToCompleted, moveToFailed, moveToWait, moveToDelayed, moveToWaitingChildren, waitUntilFinished, discard, getFailedChildrenValues, getIgnoredChildrenFailures, removeChildDependency, removeDeduplicationKey, removeUnprocessedChildren, stacktrace, } = opts;
77
+ const { job, name, updateProgress, log, getState, remove, retry, getChildrenValues, updateData, promote, changeDelay, changePriority, extendLock, clearLogs, getDependencies, getDependenciesCount, moveToCompleted, moveToFailed, moveToWait, moveToDelayed, moveToWaitingChildren, waitUntilFinished, discard, getFailedChildrenValues, getIgnoredChildrenFailures, removeChildDependency, removeDeduplicationKey, removeUnprocessedChildren, stacktrace, returnvalue, failedReason, } = opts;
68
78
  const id = String(job.id);
69
79
  const jobOpts = buildJobOpts(job);
70
- const props = buildJobProperties(job, name, stacktrace, undefined, undefined);
80
+ const props = buildJobProperties(job, name, {
81
+ stacktrace,
82
+ returnvalue,
83
+ failedReason,
84
+ });
71
85
  const stateChecks = buildStateCheckMethods(id, getState, getDependenciesCount);
72
- const serialization = buildSerializationMethods(job, id, name, jobOpts, stacktrace);
86
+ const serialization = buildSerializationMethods(job, {
87
+ id,
88
+ name,
89
+ jobOpts,
90
+ stacktrace,
91
+ returnvalue,
92
+ failedReason,
93
+ });
73
94
  return {
74
95
  ...props,
75
96
  ...stateChecks,
76
97
  ...serialization,
77
- // Core methods (no-op for simple jobs)
78
- updateProgress: async () => { },
79
- log: async () => { },
98
+ // Core methods
99
+ updateProgress: (progress, message) => updateProgress ? updateProgress(id, progress, message) : Promise.resolve(),
100
+ log: (message) => (log ? log(id, message) : Promise.resolve()),
80
101
  getState: () => (getState ? getState(id) : Promise.resolve('unknown')),
81
102
  remove: () => (remove ? remove(id) : Promise.resolve()),
82
103
  retry: () => (retry ? retry(id) : Promise.resolve()),
@@ -121,24 +142,6 @@ export function toPublicJob(opts) {
121
142
  };
122
143
  }
123
144
  /** Convert internal DLQ entry to public DLQ entry */
124
- export function toDlqEntry(entry) {
125
- const jobData = entry.job.data;
126
- return {
127
- job: toPublicJob({ job: entry.job, name: jobData?.name ?? 'default' }),
128
- enteredAt: entry.enteredAt,
129
- reason: entry.reason,
130
- error: entry.error,
131
- attempts: entry.attempts.map((a) => ({
132
- attempt: a.attempt,
133
- startedAt: a.startedAt,
134
- failedAt: a.failedAt,
135
- reason: a.reason,
136
- error: a.error,
137
- duration: a.duration,
138
- })),
139
- retryCount: entry.retryCount,
140
- lastRetryAt: entry.lastRetryAt,
141
- nextRetryAt: entry.nextRetryAt,
142
- expiresAt: entry.expiresAt,
143
- };
145
+ export function toDlqEntry(entry, methods) {
146
+ return convertDlqEntry(entry, methods, (options) => createPublicJob(options));
144
147
  }
@@ -4,9 +4,25 @@
4
4
  */
5
5
  import type { Job as InternalJob } from '../domain/types/job';
6
6
  import type { Job, JobStateType, JobOptions, GetDependenciesOpts, JobDependenciesCount } from './types';
7
+ interface JobPropertyOptions {
8
+ stacktrace?: string[] | null;
9
+ token?: string;
10
+ processedBy?: string;
11
+ returnvalue?: unknown;
12
+ failedReason?: string;
13
+ }
7
14
  /** Build common job properties from internal job */
8
- export declare function buildJobProperties<T>(job: InternalJob, name: string, stacktrace?: string[] | null, token?: string, processedBy?: string): Pick<Job<T>, 'id' | 'name' | 'data' | 'queueName' | 'attemptsMade' | 'timestamp' | 'progress' | 'parent' | 'delay' | 'processedOn' | 'finishedOn' | 'stacktrace' | 'stalledCounter' | 'priority' | 'parentKey' | 'opts' | 'token' | 'processedBy' | 'deduplicationId' | 'repeatJobKey' | 'attemptsStarted'>;
15
+ export declare function buildJobProperties<T>(job: InternalJob, name: string, options?: JobPropertyOptions): Pick<Job<T>, 'id' | 'name' | 'data' | 'queueName' | 'attemptsMade' | 'timestamp' | 'progress' | 'parent' | 'delay' | 'processedOn' | 'finishedOn' | 'stacktrace' | 'returnvalue' | 'failedReason' | 'stalledCounter' | 'priority' | 'parentKey' | 'opts' | 'token' | 'processedBy' | 'deduplicationId' | 'repeatJobKey' | 'attemptsStarted'>;
9
16
  /** Build state check methods */
10
- export declare function buildStateCheckMethods(id: string, getState?: (id: string) => Promise<JobStateType>, getDependenciesCount?: (id: string, opts?: GetDependenciesOpts) => Promise<JobDependenciesCount>): Pick<Job, 'isWaiting' | 'isActive' | 'isDelayed' | 'isCompleted' | 'isFailed' | 'isWaitingChildren'>;
17
+ export declare function buildStateCheckMethods(id: string, getState?: (id: string) => Promise<JobStateType>, _getDependenciesCount?: (id: string, opts?: GetDependenciesOpts) => Promise<JobDependenciesCount>): Pick<Job, 'isWaiting' | 'isActive' | 'isDelayed' | 'isCompleted' | 'isFailed' | 'isWaitingChildren'>;
18
+ interface JobSerializationOptions {
19
+ id: string;
20
+ name: string;
21
+ jobOpts: JobOptions;
22
+ stacktrace?: string[] | null;
23
+ returnvalue?: unknown;
24
+ failedReason?: string;
25
+ }
11
26
  /** Build serialization methods */
12
- export declare function buildSerializationMethods<T>(job: InternalJob, id: string, name: string, jobOpts: JobOptions, stacktrace?: string[] | null): Pick<Job<T>, 'toJSON' | 'asJSON'>;
27
+ export declare function buildSerializationMethods<T>(job: InternalJob, options: JobSerializationOptions): Pick<Job<T>, 'toJSON' | 'asJSON'>;
28
+ export {};
@@ -2,16 +2,19 @@
2
2
  * Job Conversion Helpers
3
3
  * Builder functions for constructing public job properties
4
4
  */
5
- import { extractUserData, extractParent, buildJobOpts, buildParentKey, buildRepeatJobKey, } from './jobHelpers';
5
+ import { extractParent, buildJobOpts, buildParentKey, buildRepeatJobKey, resolvePublicJobPayload, } from './jobHelpers';
6
+ import { serializeReturnvalue } from './queue/jobMetadata';
6
7
  /** Build common job properties from internal job */
7
- export function buildJobProperties(job, name, stacktrace, token, processedBy) {
8
+ export function buildJobProperties(job, name, options = {}) {
9
+ const { stacktrace, token, processedBy, returnvalue, failedReason } = options;
8
10
  const id = String(job.id);
9
11
  const parent = extractParent(job.data);
10
12
  const jobOpts = buildJobOpts(job);
13
+ const payload = resolvePublicJobPayload(job);
11
14
  return {
12
15
  id,
13
16
  name,
14
- data: extractUserData(job.data),
17
+ data: payload.data,
15
18
  queueName: job.queue,
16
19
  attemptsMade: job.attempts,
17
20
  timestamp: job.createdAt,
@@ -22,6 +25,8 @@ export function buildJobProperties(job, name, stacktrace, token, processedBy) {
22
25
  finishedOn: job.completedAt ?? undefined,
23
26
  // Fall back to the stack persisted on the internal job at FAIL time (#74)
24
27
  stacktrace: stacktrace ?? job.stacktrace ?? null,
28
+ returnvalue,
29
+ failedReason,
25
30
  stalledCounter: job.stallCount,
26
31
  priority: job.priority,
27
32
  parentKey: buildParentKey(job),
@@ -38,7 +43,7 @@ export function buildJobProperties(job, name, stacktrace, token, processedBy) {
38
43
  };
39
44
  }
40
45
  /** Build state check methods */
41
- export function buildStateCheckMethods(id, getState, getDependenciesCount) {
46
+ export function buildStateCheckMethods(id, getState, _getDependenciesCount) {
42
47
  return {
43
48
  isWaiting: async () => {
44
49
  const state = await (getState ? getState(id) : Promise.resolve('unknown'));
@@ -61,31 +66,30 @@ export function buildStateCheckMethods(id, getState, getDependenciesCount) {
61
66
  return state === 'failed';
62
67
  },
63
68
  isWaitingChildren: async () => {
64
- if (getDependenciesCount) {
65
- const counts = await getDependenciesCount(id);
66
- return counts.unprocessed > 0;
67
- }
68
- return false;
69
+ const state = await (getState ? getState(id) : Promise.resolve('unknown'));
70
+ return state === 'waiting-children';
69
71
  },
70
72
  };
71
73
  }
72
74
  /** Build serialization methods */
73
- export function buildSerializationMethods(job, id, name, jobOpts, stacktrace) {
75
+ export function buildSerializationMethods(job, options) {
76
+ const { id, name, jobOpts, stacktrace, returnvalue, failedReason } = options;
74
77
  // Fall back to the stack persisted on the internal job at FAIL time (#74)
75
78
  const stack = stacktrace ?? job.stacktrace ?? null;
79
+ const payload = resolvePublicJobPayload(job);
76
80
  return {
77
81
  toJSON: () => ({
78
82
  id,
79
83
  name,
80
- data: extractUserData(job.data),
84
+ data: payload.data,
81
85
  opts: jobOpts,
82
86
  progress: job.progress,
83
87
  delay: job.runAt > job.createdAt ? job.runAt - job.createdAt : 0,
84
88
  timestamp: job.createdAt,
85
89
  attemptsMade: job.attempts,
86
90
  stacktrace: stack,
87
- returnvalue: undefined,
88
- failedReason: undefined,
91
+ returnvalue,
92
+ failedReason,
89
93
  finishedOn: job.completedAt ?? undefined,
90
94
  processedOn: job.startedAt ?? undefined,
91
95
  queueQualifiedName: `bull:${job.queue}`,
@@ -94,15 +98,15 @@ export function buildSerializationMethods(job, id, name, jobOpts, stacktrace) {
94
98
  asJSON: () => ({
95
99
  id,
96
100
  name,
97
- data: JSON.stringify(extractUserData(job.data)),
101
+ data: JSON.stringify(payload.data),
98
102
  opts: JSON.stringify(jobOpts),
99
103
  progress: JSON.stringify(job.progress),
100
104
  delay: String(job.runAt > job.createdAt ? job.runAt - job.createdAt : 0),
101
105
  timestamp: String(job.createdAt),
102
106
  attemptsMade: String(job.attempts),
103
107
  stacktrace: stack ? JSON.stringify(stack) : null,
104
- returnvalue: undefined,
105
- failedReason: undefined,
108
+ returnvalue: serializeReturnvalue(returnvalue),
109
+ failedReason,
106
110
  finishedOn: job.completedAt ? String(job.completedAt) : undefined,
107
111
  processedOn: job.startedAt ? String(job.startedAt) : undefined,
108
112
  parentKey: buildParentKey(job),
@@ -42,11 +42,17 @@ export interface CreatePublicJobOptions {
42
42
  token?: string;
43
43
  processedBy?: string;
44
44
  stacktrace?: string[] | null;
45
+ returnvalue?: unknown;
46
+ failedReason?: string;
45
47
  }
48
+ /** Complete operation set required when exposing a live job from another view. */
49
+ export type PublicJobMethodContext = Required<Omit<CreatePublicJobOptions, 'job' | 'name' | 'token' | 'processedBy' | 'stacktrace' | 'returnvalue' | 'failedReason'>>;
46
50
  /** Options for creating a simple public job */
47
51
  export interface ToPublicJobOptions {
48
52
  job: InternalJob;
49
53
  name: string;
54
+ updateProgress?: (id: string, progress: number, message?: string) => Promise<void>;
55
+ log?: (id: string, message: string) => Promise<void>;
50
56
  getState?: (id: string) => Promise<JobStateType>;
51
57
  remove?: (id: string) => Promise<void>;
52
58
  retry?: (id: string) => Promise<void>;
@@ -77,4 +83,6 @@ export interface ToPublicJobOptions {
77
83
  removeDeduplicationKey?: (id: string) => Promise<boolean>;
78
84
  removeUnprocessedChildren?: (id: string) => Promise<void>;
79
85
  stacktrace?: string[] | null;
86
+ returnvalue?: unknown;
87
+ failedReason?: string;
80
88
  }
@@ -0,0 +1,6 @@
1
+ interface CommandTransport {
2
+ send(command: Record<string, unknown>): Promise<Record<string, unknown>>;
3
+ }
4
+ /** Remove only the deduplication key currently owned by the given job. */
5
+ export declare function removeJobDeduplicationKey(id: string, embedded: boolean, transport: CommandTransport | null | undefined): Promise<boolean>;
6
+ export {};
@@ -0,0 +1,14 @@
1
+ import { jobId } from '../domain/types/job';
2
+ import { getSharedManager } from './manager';
3
+ /** Remove only the deduplication key currently owned by the given job. */
4
+ export async function removeJobDeduplicationKey(id, embedded, transport) {
5
+ if (embedded)
6
+ return getSharedManager().removeJobDeduplicationKey(jobId(id));
7
+ if (!transport)
8
+ return false;
9
+ const response = await transport.send({ cmd: 'RemoveJobDeduplicationKey', id });
10
+ if (!response.ok) {
11
+ throw new Error(response.error ?? 'Failed to remove deduplication key');
12
+ }
13
+ return response.data.removed;
14
+ }
@@ -2,10 +2,15 @@
2
2
  * Job Helper Functions
3
3
  * Internal utilities for extracting and building job data
4
4
  */
5
- import type { Job as InternalJob } from '../domain/types/job';
5
+ import { type Job as InternalJob } from '../domain/types/job';
6
6
  import type { RepeatOptions, JobOptions } from './types';
7
- /** Extract user data from stored job data (removes internal 'name' field) */
7
+ /** Decode a bare pre-name-field payload. Modern conversions use normalizeJobPayload(job). */
8
8
  export declare function extractUserData(jobData: unknown): unknown;
9
+ /** Resolve legacy names while preserving documented engine-owned flow metadata. */
10
+ export declare function resolvePublicJobPayload(job: InternalJob): {
11
+ name: string;
12
+ data: unknown;
13
+ };
9
14
  /** Extract parent info from job data if present */
10
15
  export declare function extractParent(jobData: unknown): {
11
16
  id: string;
@@ -2,13 +2,15 @@
2
2
  * Job Helper Functions
3
3
  * Internal utilities for extracting and building job data
4
4
  */
5
- /** Extract user data from stored job data (removes internal 'name' field) */
5
+ import { normalizeLegacyJobPayload } from '../domain/types/job';
6
+ /** Decode a bare pre-name-field payload. Modern conversions use normalizeJobPayload(job). */
6
7
  export function extractUserData(jobData) {
7
- if (typeof jobData === 'object' && jobData !== null) {
8
- const { name: _name, ...userData } = jobData;
9
- return userData;
10
- }
11
- return jobData;
8
+ return normalizeLegacyJobPayload({ data: jobData }).data;
9
+ }
10
+ /** Resolve legacy names while preserving documented engine-owned flow metadata. */
11
+ export function resolvePublicJobPayload(job) {
12
+ const payload = normalizeLegacyJobPayload(job);
13
+ return { name: payload.name, data: payload.data };
12
14
  }
13
15
  /** Extract parent info from job data if present */
14
16
  export function extractParent(jobData) {
@@ -83,8 +85,14 @@ export function buildJobOpts(job) {
83
85
  removeDependencyOnFailure: job.removeDependencyOnFailure,
84
86
  continueParentOnFailure: job.continueParentOnFailure,
85
87
  ignoreDependencyOnFailure: job.ignoreDependencyOnFailure,
86
- deduplication: job.deduplicationTtl !== null
87
- ? { id: job.customId ?? '', ttl: job.deduplicationTtl }
88
+ durable: job.durable ?? false,
89
+ deduplication: job.uniqueKey !== null
90
+ ? {
91
+ id: job.uniqueKey,
92
+ ttl: job.deduplicationTtl ?? undefined,
93
+ extend: job.deduplicationExtend,
94
+ replace: job.deduplicationReplace,
95
+ }
88
96
  : undefined,
89
97
  debounce: job.debounceId && job.debounceTtl !== null
90
98
  ? { id: job.debounceId, ttl: job.debounceTtl }
@@ -3,7 +3,7 @@
3
3
  */
4
4
  import type { TcpConnectionPool } from '../tcpPool';
5
5
  import type { Job, JobDependencies, JobDependenciesCount, GetDependenciesOpts } from '../types';
6
- interface BullMQContext<T = unknown> {
6
+ interface CompatibilityContext<T = unknown> {
7
7
  name: string;
8
8
  embedded: boolean;
9
9
  tcp: TcpConnectionPool | null;
@@ -22,26 +22,36 @@ interface BullMQContext<T = unknown> {
22
22
  clearJobLogs: (id: string, keepLogs?: number) => Promise<void>;
23
23
  getJobDependencies: (id: string, opts?: GetDependenciesOpts) => Promise<JobDependencies>;
24
24
  getJobDependenciesCount: (id: string, opts?: GetDependenciesOpts) => Promise<JobDependenciesCount>;
25
+ getJobCountsAsync: () => Promise<{
26
+ prioritized: number;
27
+ 'waiting-children': number;
28
+ }>;
25
29
  getWaitingAsync: (start?: number, end?: number) => Promise<Job<T>[]>;
26
30
  getPrioritizedAsync: (start?: number, end?: number) => Promise<Job<T>[]>;
31
+ getJobsAsync: (options: {
32
+ state?: string | string[];
33
+ start?: number;
34
+ end?: number;
35
+ asc?: boolean;
36
+ }) => Promise<Job<T>[]>;
27
37
  }
28
38
  /** Get jobs in the "prioritized" state (priority > 0, BullMQ v5) */
29
- export declare function getPrioritized<T>(ctx: BullMQContext<T>, start?: number, end?: number): Promise<Job<T>[]>;
39
+ export declare function getPrioritized<T>(ctx: CompatibilityContext<T>, start?: number, end?: number): Promise<Job<T>[]>;
30
40
  /** Get count of prioritized jobs (priority > 0) */
31
- export declare function getPrioritizedCount<T>(ctx: BullMQContext<T>): Promise<number>;
41
+ export declare function getPrioritizedCount<T>(ctx: CompatibilityContext<T>): Promise<number>;
32
42
  /** Get jobs waiting for parent to complete */
33
- export declare function getWaitingChildren<T>(ctx: BullMQContext<T>, start?: number, end?: number): Promise<Job<T>[]>;
43
+ export declare function getWaitingChildren<T>(ctx: CompatibilityContext<T>, start?: number, end?: number): Promise<Job<T>[]>;
34
44
  /** Get count of jobs waiting for parent */
35
- export declare function getWaitingChildrenCount<T>(ctx: BullMQContext<T>): Promise<number>;
45
+ export declare function getWaitingChildrenCount<T>(ctx: CompatibilityContext<T>): Promise<number>;
36
46
  /** Get dependencies of a parent job */
37
- export declare function getDependencies(_ctx: BullMQContext, _parentId: string, _type?: 'processed' | 'unprocessed', _start?: number, _end?: number): Promise<{
47
+ export declare function getDependencies(ctx: CompatibilityContext, parentId: string, type?: 'processed' | 'unprocessed', start?: number, end?: number): Promise<{
38
48
  processed?: Record<string, unknown>;
39
49
  unprocessed?: string[];
40
50
  nextProcessedCursor?: number;
41
51
  nextUnprocessedCursor?: number;
42
52
  }>;
43
53
  /** Get job dependencies (for Job instance method) */
44
- export declare function getJobDependencies(ctx: BullMQContext, id: string, _opts?: GetDependenciesOpts): Promise<JobDependencies>;
54
+ export declare function getJobDependencies(ctx: CompatibilityContext, id: string, _opts?: GetDependenciesOpts): Promise<JobDependencies>;
45
55
  /** Get job dependencies count */
46
- export declare function getJobDependenciesCount(ctx: BullMQContext, id: string, _opts?: GetDependenciesOpts): Promise<JobDependenciesCount>;
56
+ export declare function getJobDependenciesCount(ctx: CompatibilityContext, id: string, _opts?: GetDependenciesOpts): Promise<JobDependenciesCount>;
47
57
  export {};
@@ -2,95 +2,63 @@
2
2
  /**
3
3
  * BullMQ v5 Compatibility Operations
4
4
  */
5
- import { getSharedManager } from '../manager';
6
- import { toPublicJob } from '../types';
7
- import { jobId } from '../../domain/types/job';
5
+ import { getFlowDependencies } from '../flowJobDependencies';
8
6
  /** Get jobs in the "prioritized" state (priority > 0, BullMQ v5) */
9
7
  export function getPrioritized(ctx, start = 0, end = -1) {
10
8
  return ctx.getPrioritizedAsync(start, end);
11
9
  }
12
10
  /** Get count of prioritized jobs (priority > 0) */
13
11
  export async function getPrioritizedCount(ctx) {
14
- const jobs = await ctx.getPrioritizedAsync(0, 1000);
15
- return jobs.length;
12
+ return (await ctx.getJobCountsAsync()).prioritized;
16
13
  }
17
14
  /** Get jobs waiting for parent to complete */
18
15
  export async function getWaitingChildren(ctx, start = 0, end = -1) {
19
- if (ctx.embedded) {
20
- const jobs = getSharedManager().getJobs(ctx.name, {
21
- state: 'delayed',
22
- start,
23
- end: end === -1 ? 1000 : end,
24
- });
25
- return jobs
26
- .filter((j) => {
27
- const data = j.data;
28
- return data?._waitingParent === true;
29
- })
30
- .map((job) => {
31
- const jobData = job.data;
32
- return toPublicJob({
33
- job,
34
- name: jobData?.name ?? 'default',
35
- getState: ctx.getJobState,
36
- remove: ctx.removeAsync,
37
- retry: ctx.retryJob,
38
- getChildrenValues: ctx.getChildrenValues,
39
- updateData: ctx.updateJobData,
40
- promote: ctx.promoteJob,
41
- changeDelay: ctx.changeJobDelay,
42
- changePriority: ctx.changeJobPriority,
43
- extendLock: ctx.extendJobLock,
44
- clearLogs: ctx.clearJobLogs,
45
- getDependencies: ctx.getJobDependencies,
46
- getDependenciesCount: ctx.getJobDependenciesCount,
47
- });
48
- });
49
- }
50
- return [];
16
+ return ctx.getJobsAsync({
17
+ state: 'waiting-children',
18
+ start,
19
+ end: end === -1 ? -1 : end + 1,
20
+ asc: true,
21
+ });
51
22
  }
52
23
  /** Get count of jobs waiting for parent */
53
24
  export async function getWaitingChildrenCount(ctx) {
54
- const children = await getWaitingChildren(ctx);
55
- return children.length;
25
+ return (await ctx.getJobCountsAsync())['waiting-children'];
56
26
  }
57
27
  /** Get dependencies of a parent job */
58
- export function getDependencies(_ctx, _parentId, _type, _start, _end) {
59
- return Promise.resolve({ processed: {}, unprocessed: [] });
28
+ export function getDependencies(ctx, parentId, type, start = 0, end = -1) {
29
+ return getFlowDependencies(parentId, ctx.name, ctx.embedded, ctx.tcp).then((dependencies) => {
30
+ const unprocessed = [...dependencies.unprocessed].sort();
31
+ const processedEntries = Object.entries(dependencies.processed).sort(([a], [b]) => a.localeCompare(b));
32
+ const stop = end < 0 ? undefined : end + 1;
33
+ return {
34
+ processed: type === 'unprocessed' ? {} : Object.fromEntries(processedEntries.slice(start, stop)),
35
+ unprocessed: type === 'processed' ? [] : unprocessed.slice(start, stop),
36
+ };
37
+ });
60
38
  }
61
39
  /** Get job dependencies (for Job instance method) */
62
40
  export async function getJobDependencies(ctx, id, _opts) {
63
- if (ctx.embedded) {
64
- const manager = getSharedManager();
65
- const job = await manager.getJob(jobId(id));
66
- if (!job)
67
- return { processed: {}, unprocessed: [] };
68
- const childIds = job.childrenIds;
69
- const processed = {};
70
- const unprocessed = [];
71
- for (const childId of childIds) {
72
- const result = manager.getResult(childId);
73
- if (result !== undefined) {
74
- const childJob = await manager.getJob(childId);
75
- const key = childJob ? `${childJob.queue}:${childId}` : String(childId);
76
- processed[key] = result;
77
- }
78
- else {
79
- unprocessed.push(String(childId));
80
- }
81
- }
82
- return { processed, unprocessed };
83
- }
84
- return { processed: {}, unprocessed: [] };
41
+ const dependencies = await getFlowDependencies(id, ctx.name, ctx.embedded, ctx.tcp);
42
+ const processedEntries = Object.entries(dependencies.processed).sort(([a], [b]) => a.localeCompare(b));
43
+ const unprocessed = [...dependencies.unprocessed].sort();
44
+ const processedCursor = _opts?.processed?.cursor ?? 0;
45
+ const processedCount = _opts?.processed?.count ?? processedEntries.length;
46
+ const unprocessedCursor = _opts?.unprocessed?.cursor ?? 0;
47
+ const unprocessedCount = _opts?.unprocessed?.count ?? unprocessed.length;
48
+ const processedEnd = Math.min(processedEntries.length, processedCursor + processedCount);
49
+ const unprocessedEnd = Math.min(unprocessed.length, unprocessedCursor + unprocessedCount);
50
+ return {
51
+ processed: Object.fromEntries(processedEntries.slice(processedCursor, processedEnd)),
52
+ unprocessed: unprocessed.slice(unprocessedCursor, unprocessedEnd),
53
+ nextProcessedCursor: processedEnd < processedEntries.length ? processedEnd : 0,
54
+ nextUnprocessedCursor: unprocessedEnd < unprocessed.length ? unprocessedEnd : 0,
55
+ };
85
56
  }
86
57
  /** Get job dependencies count */
87
58
  export async function getJobDependenciesCount(ctx, id, _opts) {
88
- if (ctx.embedded) {
89
- const deps = await getJobDependencies(ctx, id);
90
- return {
91
- processed: Object.keys(deps.processed).length,
92
- unprocessed: deps.unprocessed.length,
93
- };
94
- }
95
- return { processed: 0, unprocessed: 0 };
59
+ const deps = await getFlowDependencies(id, ctx.name, ctx.embedded, ctx.tcp);
60
+ return {
61
+ processed: Object.keys(deps.processed).length,
62
+ unprocessed: deps.unprocessed.length,
63
+ };
96
64
  }
@@ -1,9 +1,11 @@
1
1
  /**
2
2
  * Deduplication Operations
3
3
  */
4
+ import type { TcpConnectionPool } from '../tcpPool';
4
5
  interface DeduplicationContext {
5
6
  name: string;
6
7
  embedded: boolean;
8
+ tcp: TcpConnectionPool | null;
7
9
  }
8
10
  /** Get the job ID associated with a deduplication key */
9
11
  export declare function getDeduplicationJobId(ctx: DeduplicationContext, deduplicationId: string): Promise<string | null>;
@@ -3,21 +3,30 @@
3
3
  */
4
4
  import { getSharedManager } from '../manager';
5
5
  /** Get the job ID associated with a deduplication key */
6
- export function getDeduplicationJobId(ctx, deduplicationId) {
6
+ export async function getDeduplicationJobId(ctx, deduplicationId) {
7
7
  if (ctx.embedded) {
8
- const job = getSharedManager().getJobByCustomId(deduplicationId);
9
- return Promise.resolve(job ? String(job.id) : null);
8
+ return getSharedManager().getDeduplicationJobId(ctx.name, deduplicationId);
10
9
  }
11
- return Promise.resolve(null);
10
+ if (!ctx.tcp)
11
+ return null;
12
+ const response = await ctx.tcp.send({
13
+ cmd: 'GetDeduplicationJobId',
14
+ queue: ctx.name,
15
+ deduplicationId,
16
+ });
17
+ return response.data.jobId;
12
18
  }
13
19
  /** Remove a deduplication key */
14
- export function removeDeduplicationKey(ctx, deduplicationId) {
20
+ export async function removeDeduplicationKey(ctx, deduplicationId) {
15
21
  if (ctx.embedded) {
16
- const job = getSharedManager().getJobByCustomId(deduplicationId);
17
- if (job) {
18
- return Promise.resolve(1);
19
- }
20
- return Promise.resolve(0);
22
+ return getSharedManager().removeDeduplicationKey(ctx.name, deduplicationId);
21
23
  }
22
- return Promise.resolve(0);
24
+ if (!ctx.tcp)
25
+ return 0;
26
+ const response = await ctx.tcp.send({
27
+ cmd: 'RemoveDeduplicationKey',
28
+ queue: ctx.name,
29
+ deduplicationId,
30
+ });
31
+ return response.data.count;
23
32
  }
@@ -4,7 +4,7 @@
4
4
  */
5
5
  import type { TcpConnectionPool } from '../tcpPool';
6
6
  import type { Job, DlqConfig, DlqEntry, DlqStats, DlqFilter } from '../types';
7
- import { type SimpleJobContext } from './jobProxy';
7
+ import { type DlqJobContext } from './dlqJobMethods';
8
8
  interface DlqContext {
9
9
  name: string;
10
10
  embedded: boolean;
@@ -19,16 +19,19 @@ export declare function getDlqConfig(ctx: DlqContext): DlqConfig;
19
19
  /** Get DLQ configuration (async, works in TCP mode) */
20
20
  export declare function getDlqConfigAsync(ctx: DlqContext): Promise<DlqConfig>;
21
21
  /** Get DLQ entries */
22
- export declare function getDlq<T>(ctx: DlqContext, filter?: DlqFilter): DlqEntry<T>[];
23
- type DlqQueryContext = DlqContext & Pick<SimpleJobContext, 'getJobState' | 'removeAsync' | 'retryJob' | 'getChildrenValues'>;
22
+ export declare function getDlq<T>(ctx: DlqQueryContext, filter?: DlqFilter): DlqEntry<T>[];
23
+ type DlqQueryContext = DlqJobContext;
24
+ /** Read full DLQ metadata from the selected broker runtime. */
25
+ export declare function getDlqAsync<T>(ctx: DlqQueryContext, filter?: DlqFilter): Promise<DlqEntry<T>[]>;
24
26
  /**
25
- * Get the dead jobs in the DLQ, working over TCP too (wire command `Dlq`).
26
- * Returns public Job objects; the wire does not carry DlqEntry metadata
27
- * (reason, enteredAt, attempts) — that stays embedded-only via getDlq().
27
+ * Get only the public jobs from the DLQ. Use getDlqAsync() when the full entry
28
+ * metadata is needed; both views work over TCP through the same command.
28
29
  */
29
30
  export declare function getDlqJobsAsync<T>(ctx: DlqQueryContext, count?: number): Promise<Job<T>[]>;
30
31
  /** Get DLQ stats */
31
32
  export declare function getDlqStats(ctx: DlqContext): DlqStats;
33
+ /** Read authoritative DLQ statistics from the selected broker runtime. */
34
+ export declare function getDlqStatsAsync(ctx: DlqContext): Promise<DlqStats>;
32
35
  /** Retry DLQ entries */
33
36
  export declare function retryDlq(ctx: DlqContext, id?: string): number;
34
37
  /**
@@ -39,6 +42,8 @@ export declare function retryDlq(ctx: DlqContext, id?: string): number;
39
42
  export declare function retryDlqAsync(ctx: DlqContext, id?: string): Promise<number>;
40
43
  /** Retry DLQ entries by filter */
41
44
  export declare function retryDlqByFilter(ctx: DlqContext, filter: DlqFilter): number;
45
+ /** Retry matching DLQ entries and return the applied count. */
46
+ export declare function retryDlqByFilterAsync(ctx: DlqContext, filter: DlqFilter): Promise<number>;
42
47
  /** Purge DLQ */
43
48
  export declare function purgeDlq(ctx: DlqContext): number;
44
49
  /**