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
@@ -4,6 +4,7 @@
4
4
  */
5
5
  import { getSharedManager } from '../../manager';
6
6
  import { jobId } from '../../../domain/types/job';
7
+ import { assertFlowTcpOk } from '../../flowJobTypes';
7
8
  // ============ Remove Operations ============
8
9
  /** Remove a job (sync, fire-and-forget; use removeAsync to await the removal) */
9
10
  export function remove(ctx, id) {
@@ -54,15 +55,43 @@ export async function retryJob(ctx, id) {
54
55
  }
55
56
  /** Retry jobs matching criteria */
56
57
  export async function retryJobs(ctx, opts) {
58
+ const state = opts?.state ?? 'failed';
57
59
  if (ctx.embedded) {
58
- if (opts?.state === 'failed') {
59
- // #111-class: forward the count cap (was ignored retried the whole DLQ).
60
- getSharedManager().retryDlq(ctx.name, undefined, opts?.count);
60
+ const manager = getSharedManager();
61
+ if (state === 'completed') {
62
+ manager.retryCompleted(ctx.name, undefined, {
63
+ limit: opts?.count,
64
+ timestamp: opts?.timestamp,
65
+ });
66
+ }
67
+ else if (opts?.timestamp !== undefined) {
68
+ manager.retryDlqByFilter(ctx.name, {
69
+ olderThan: opts.timestamp,
70
+ limit: opts.count,
71
+ });
72
+ }
73
+ else {
74
+ manager.retryDlq(ctx.name, undefined, opts?.count);
61
75
  }
62
76
  return;
63
77
  }
64
- if (opts?.state === 'failed') {
65
- await ctx.tcp.send({ cmd: 'RetryDlq', queue: ctx.name, count: opts?.count });
78
+ if (state === 'completed') {
79
+ await ctx.tcp.send({
80
+ cmd: 'RetryCompleted',
81
+ queue: ctx.name,
82
+ count: opts?.count,
83
+ timestamp: opts?.timestamp,
84
+ });
85
+ }
86
+ else {
87
+ await ctx.tcp.send({
88
+ cmd: 'RetryDlq',
89
+ queue: ctx.name,
90
+ count: opts?.count,
91
+ filter: opts?.timestamp === undefined
92
+ ? undefined
93
+ : { olderThan: opts.timestamp, limit: opts.count },
94
+ });
66
95
  }
67
96
  }
68
97
  // ============ Clean Operations ============
@@ -165,7 +194,7 @@ export async function updateJobData(ctx, id, data) {
165
194
  await getSharedManager().updateJobData(jobId(id), data);
166
195
  return;
167
196
  }
168
- await ctx.tcp.send({ cmd: 'Update', id, data });
197
+ assertFlowTcpOk(await ctx.tcp.send({ cmd: 'Update', id, data }), 'Update');
169
198
  }
170
199
  /** Change job delay */
171
200
  export async function changeJobDelay(ctx, id, delay) {
@@ -1,10 +1,6 @@
1
- /**
2
- * Queue Query Operations
3
- * getJob, getJobs, getJobState, getJobsAsync
4
- */
5
1
  import type { TcpConnectionPool } from '../../tcpPool';
6
2
  import type { Job, JobStateType, GetDependenciesOpts, JobDependencies, JobDependenciesCount } from '../../types';
7
- interface QueryContext {
3
+ export interface QueryContext {
8
4
  name: string;
9
5
  embedded: boolean;
10
6
  tcp: TcpConnectionPool | null;
@@ -51,19 +47,4 @@ interface GetJobsOptions {
51
47
  export declare function getJobs<T>(ctx: QueryContext, options?: GetJobsOptions): Job<T>[];
52
48
  /** Get jobs with filtering (async, works with TCP) */
53
49
  export declare function getJobsAsync<T>(ctx: QueryContext, options?: GetJobsOptions): Promise<Job<T>[]>;
54
- /** Get waiting jobs */
55
- export declare function getWaiting<T>(ctx: QueryContext, start?: number, end?: number): Job<T>[];
56
- export declare function getWaitingAsync<T>(ctx: QueryContext, start?: number, end?: number): Promise<Job<T>[]>;
57
- /** Get delayed jobs */
58
- export declare function getDelayed<T>(ctx: QueryContext, start?: number, end?: number): Job<T>[];
59
- export declare function getDelayedAsync<T>(ctx: QueryContext, start?: number, end?: number): Promise<Job<T>[]>;
60
- /** Get active jobs */
61
- export declare function getActive<T>(ctx: QueryContext, start?: number, end?: number): Job<T>[];
62
- export declare function getActiveAsync<T>(ctx: QueryContext, start?: number, end?: number): Promise<Job<T>[]>;
63
- /** Get completed jobs */
64
- export declare function getCompleted<T>(ctx: QueryContext, start?: number, end?: number): Job<T>[];
65
- export declare function getCompletedAsync<T>(ctx: QueryContext, start?: number, end?: number): Promise<Job<T>[]>;
66
- /** Get failed jobs */
67
- export declare function getFailed<T>(ctx: QueryContext, start?: number, end?: number): Job<T>[];
68
- export declare function getFailedAsync<T>(ctx: QueryContext, start?: number, end?: number): Promise<Job<T>[]>;
69
50
  export {};
@@ -1,49 +1,33 @@
1
1
  /* eslint-disable @typescript-eslint/no-non-null-assertion, @typescript-eslint/no-unnecessary-condition, @typescript-eslint/switch-exhaustiveness-check */
2
- /**
3
- * Queue Query Operations
4
- * getJob, getJobs, getJobState, getJobsAsync
5
- */
6
2
  import { getSharedManager } from '../../manager';
7
3
  import { toPublicJob } from '../../types';
8
4
  import { jobId } from '../../../domain/types/job';
9
5
  import { createSimpleJob } from '../jobProxy';
10
- import { buildJobOpts } from '../../jobHelpers';
11
- /** Last failure's error message from the job timeline (#74) */
12
- function lastFailedError(timeline) {
13
- if (!timeline)
14
- return undefined;
15
- for (let i = timeline.length - 1; i >= 0; i--) {
16
- const entry = timeline[i];
17
- if (entry.state === 'failed' && entry.error)
18
- return entry.error;
19
- }
20
- return undefined;
21
- }
22
- /** Build reflection meta (priority/delay/opts/stacktrace) from an internal job shape */
23
- function metaFromJob(job) {
24
- const opts = buildJobOpts(job);
25
- return {
26
- priority: job.priority ?? 0,
27
- delay: opts.delay ?? 0,
28
- opts,
29
- // Persisted server-side on FAIL (#74); absent on pre-#74 servers
30
- stacktrace: job.stacktrace ?? null,
31
- failedReason: lastFailedError(job.timeline),
32
- };
33
- }
6
+ import { resolvePublicJobPayload } from '../../jobHelpers';
7
+ import { removeJobDeduplicationKey } from '../../jobDeduplication';
8
+ import { fetchTcpJobRows } from './queryTcpPages';
9
+ import { metadataFromJob } from '../jobMetadata';
34
10
  /** Get a single job by ID */
35
11
  export async function getJob(ctx, id) {
36
12
  if (ctx.embedded) {
37
- const job = await getSharedManager().getJob(jobId(id));
13
+ const manager = getSharedManager();
14
+ const job = await manager.getJob(jobId(id));
38
15
  if (!job)
39
16
  return null;
40
- const name = job.data?.name ?? 'unknown';
17
+ const { name, data } = resolvePublicJobPayload(job);
18
+ const meta = metadataFromJob(job, manager.getResult(job.id));
41
19
  // Use toPublicJob with full wiring (all callbacks route to the shared manager)
42
20
  if (ctx.updateJobData) {
43
- const mgr = getSharedManager();
21
+ const mgr = manager;
44
22
  return toPublicJob({
45
23
  job,
46
24
  name,
25
+ returnvalue: meta.returnvalue,
26
+ failedReason: meta.failedReason,
27
+ updateProgress: async (jid, progress, message) => {
28
+ await mgr.updateProgress(jobId(jid), progress, message);
29
+ },
30
+ log: (jid, message) => Promise.resolve(void mgr.addLog(jobId(jid), message)),
47
31
  getState: (jid) => ctx.getJobState(jid),
48
32
  remove: (jid) => ctx.removeAsync(jid),
49
33
  retry: (jid) => ctx.retryJob(jid),
@@ -72,13 +56,14 @@ export async function getJob(ctx, id) {
72
56
  getFailedChildrenValues: (jid) => mgr.getFailedChildrenValues(jobId(jid)),
73
57
  getIgnoredChildrenFailures: (jid) => mgr.getIgnoredChildrenFailures(jobId(jid)),
74
58
  removeChildDependency: (jid) => mgr.removeChildDependency(jobId(jid)),
59
+ removeDeduplicationKey: (jid) => removeJobDeduplicationKey(jid, true, null),
75
60
  removeUnprocessedChildren: async (jid) => {
76
61
  await mgr.removeUnprocessedChildren(jobId(jid));
77
62
  },
78
63
  });
79
64
  }
80
65
  // Fallback to simple job — reflect priority/delay/opts from the real job (#88)
81
- return createSimpleJob(String(job.id), name, job.data, job.createdAt, {
66
+ return createSimpleJob(String(job.id), name, data, job.createdAt, {
82
67
  queueName: ctx.name,
83
68
  embedded: ctx.embedded,
84
69
  tcp: ctx.tcp,
@@ -86,15 +71,15 @@ export async function getJob(ctx, id) {
86
71
  removeAsync: ctx.removeAsync,
87
72
  retryJob: ctx.retryJob,
88
73
  getChildrenValues: ctx.getChildrenValues,
89
- meta: metaFromJob(job),
74
+ meta,
90
75
  });
91
76
  }
92
77
  const response = await ctx.tcp.send({ cmd: 'GetJob', id });
93
78
  if (!response.ok || !response.job)
94
79
  return null;
95
80
  const j = response.job;
96
- const name = j.data?.name ?? 'unknown';
97
- const result = createSimpleJob(String(j.id), name, j.data, j.createdAt ?? Date.now(), {
81
+ const { name, data } = resolvePublicJobPayload(j);
82
+ return createSimpleJob(String(j.id), name, data, j.createdAt ?? Date.now(), {
98
83
  queueName: ctx.name,
99
84
  embedded: ctx.embedded,
100
85
  tcp: ctx.tcp,
@@ -102,16 +87,8 @@ export async function getJob(ctx, id) {
102
87
  removeAsync: ctx.removeAsync,
103
88
  retryJob: ctx.retryJob,
104
89
  getChildrenValues: ctx.getChildrenValues,
105
- meta: metaFromJob(j),
90
+ meta: metadataFromJob(j),
106
91
  });
107
- if (j.progress !== undefined)
108
- result.progress = j.progress;
109
- // Mirror getJob/buildJobProperties: a number maps through, null → undefined (#104)
110
- if (typeof j.startedAt === 'number')
111
- result.processedOn = j.startedAt;
112
- if (typeof j.completedAt === 'number')
113
- result.finishedOn = j.completedAt;
114
- return result;
115
92
  }
116
93
  /** Get job state by ID */
117
94
  export async function getJobState(ctx, id) {
@@ -161,11 +138,16 @@ export function getJobs(ctx, options = {}) {
161
138
  const jobs = manager.getJobs(ctx.name, {
162
139
  state: options.state,
163
140
  start: options.start ?? 0,
164
- end: options.end !== undefined && options.end >= 0 ? options.end : 100,
141
+ asc: options.asc,
142
+ end: options.end === -1
143
+ ? Number.MAX_SAFE_INTEGER
144
+ : options.end !== undefined && options.end >= 0
145
+ ? options.end
146
+ : 100,
165
147
  });
166
148
  return jobs.map((j) => {
167
- const name = j.data?.name ?? 'unknown';
168
- const result = createSimpleJob(String(j.id), name, j.data, j.createdAt, {
149
+ const { name, data } = resolvePublicJobPayload(j);
150
+ return createSimpleJob(String(j.id), name, data, j.createdAt, {
169
151
  queueName: ctx.name,
170
152
  embedded: ctx.embedded,
171
153
  tcp: ctx.tcp,
@@ -173,40 +155,27 @@ export function getJobs(ctx, options = {}) {
173
155
  removeAsync: ctx.removeAsync,
174
156
  retryJob: ctx.retryJob,
175
157
  getChildrenValues: ctx.getChildrenValues,
158
+ meta: metadataFromJob(j, manager.getResult(j.id)),
176
159
  });
177
- // Mirror getJob/buildJobProperties: a number maps through, null → undefined (#104)
178
- if (typeof j.startedAt === 'number')
179
- result.processedOn = j.startedAt;
180
- if (typeof j.completedAt === 'number')
181
- result.finishedOn = j.completedAt;
182
- return result;
183
160
  });
184
161
  }
185
162
  /** Get jobs with filtering (async, works with TCP) */
186
163
  export async function getJobsAsync(ctx, options = {}) {
187
164
  if (ctx.embedded)
188
165
  return getJobs(ctx, options);
189
- // Handle end=-1 as "get all"
190
- const end = options.end !== undefined && options.end >= 0 ? options.end : 1000;
191
- const start = options.start ?? 0;
192
- const response = await ctx.tcp.send({
193
- cmd: 'GetJobs',
194
- queue: ctx.name,
195
- state: options.state,
196
- offset: start,
197
- limit: end - start,
198
- });
199
- if (!response.ok || !Array.isArray(response.jobs)) {
166
+ if (!ctx.tcp)
167
+ return [];
168
+ const rows = await fetchTcpJobRows({ name: ctx.name, tcp: ctx.tcp }, options);
169
+ if (!rows)
200
170
  return [];
201
- }
202
171
  // handleGetJobs returns the full internal job per element ({ ...job, state }),
203
172
  // so reflect the complete opts via metaFromJob instead of a slim subset (#90).
204
- const jobs = response.jobs;
173
+ const jobs = rows;
205
174
  const now = Date.now();
206
175
  return jobs.map((j) => {
207
- const name = j.data?.name ?? 'unknown';
176
+ const { name, data } = resolvePublicJobPayload(j);
208
177
  const createdAt = j.createdAt ?? now;
209
- const result = createSimpleJob(String(j.id), name, j.data, createdAt, {
178
+ return createSimpleJob(String(j.id), name, data, createdAt, {
210
179
  queueName: ctx.name,
211
180
  embedded: ctx.embedded,
212
181
  tcp: ctx.tcp,
@@ -214,54 +183,7 @@ export async function getJobsAsync(ctx, options = {}) {
214
183
  removeAsync: ctx.removeAsync,
215
184
  retryJob: ctx.retryJob,
216
185
  getChildrenValues: ctx.getChildrenValues,
217
- meta: metaFromJob(j),
186
+ meta: metadataFromJob(j),
218
187
  });
219
- if (j.progress !== undefined)
220
- result.progress = j.progress;
221
- if (j.priority !== undefined)
222
- result.priority = j.priority;
223
- if (j.attempts !== undefined)
224
- result.attemptsMade = j.attempts;
225
- // Mirror getJob/buildJobProperties: a number maps through, null → undefined (#104)
226
- if (typeof j.startedAt === 'number')
227
- result.processedOn = j.startedAt;
228
- if (typeof j.completedAt === 'number')
229
- result.finishedOn = j.completedAt;
230
- return result;
231
188
  });
232
189
  }
233
- /** Get waiting jobs */
234
- export function getWaiting(ctx, start = 0, end = 100) {
235
- return getJobs(ctx, { state: 'waiting', start, end });
236
- }
237
- export async function getWaitingAsync(ctx, start = 0, end = 100) {
238
- return getJobsAsync(ctx, { state: 'waiting', start, end });
239
- }
240
- /** Get delayed jobs */
241
- export function getDelayed(ctx, start = 0, end = 100) {
242
- return getJobs(ctx, { state: 'delayed', start, end });
243
- }
244
- export async function getDelayedAsync(ctx, start = 0, end = 100) {
245
- return getJobsAsync(ctx, { state: 'delayed', start, end });
246
- }
247
- /** Get active jobs */
248
- export function getActive(ctx, start = 0, end = 100) {
249
- return getJobs(ctx, { state: 'active', start, end });
250
- }
251
- export async function getActiveAsync(ctx, start = 0, end = 100) {
252
- return getJobsAsync(ctx, { state: 'active', start, end });
253
- }
254
- /** Get completed jobs */
255
- export function getCompleted(ctx, start = 0, end = 100) {
256
- return getJobs(ctx, { state: 'completed', start, end });
257
- }
258
- export async function getCompletedAsync(ctx, start = 0, end = 100) {
259
- return getJobsAsync(ctx, { state: 'completed', start, end });
260
- }
261
- /** Get failed jobs */
262
- export function getFailed(ctx, start = 0, end = 100) {
263
- return getJobs(ctx, { state: 'failed', start, end });
264
- }
265
- export async function getFailedAsync(ctx, start = 0, end = 100) {
266
- return getJobsAsync(ctx, { state: 'failed', start, end });
267
- }
@@ -0,0 +1,13 @@
1
+ /** State-specific aliases over the generic queue query operations. */
2
+ import type { Job } from '../../types';
3
+ import { type QueryContext } from './query';
4
+ export declare function getWaiting<T>(ctx: QueryContext, start?: number, end?: number): Job<T>[];
5
+ export declare function getWaitingAsync<T>(ctx: QueryContext, start?: number, end?: number): Promise<Job<T>[]>;
6
+ export declare function getDelayed<T>(ctx: QueryContext, start?: number, end?: number): Job<T>[];
7
+ export declare function getDelayedAsync<T>(ctx: QueryContext, start?: number, end?: number): Promise<Job<T>[]>;
8
+ export declare function getActive<T>(ctx: QueryContext, start?: number, end?: number): Job<T>[];
9
+ export declare function getActiveAsync<T>(ctx: QueryContext, start?: number, end?: number): Promise<Job<T>[]>;
10
+ export declare function getCompleted<T>(ctx: QueryContext, start?: number, end?: number): Job<T>[];
11
+ export declare function getCompletedAsync<T>(ctx: QueryContext, start?: number, end?: number): Promise<Job<T>[]>;
12
+ export declare function getFailed<T>(ctx: QueryContext, start?: number, end?: number): Job<T>[];
13
+ export declare function getFailedAsync<T>(ctx: QueryContext, start?: number, end?: number): Promise<Job<T>[]>;
@@ -0,0 +1,32 @@
1
+ /** State-specific aliases over the generic queue query operations. */
2
+ import { getJobs, getJobsAsync } from './query';
3
+ export function getWaiting(ctx, start = 0, end = 100) {
4
+ return getJobs(ctx, { state: 'waiting', start, end });
5
+ }
6
+ export function getWaitingAsync(ctx, start = 0, end = 100) {
7
+ return getJobsAsync(ctx, { state: 'waiting', start, end });
8
+ }
9
+ export function getDelayed(ctx, start = 0, end = 100) {
10
+ return getJobs(ctx, { state: 'delayed', start, end });
11
+ }
12
+ export function getDelayedAsync(ctx, start = 0, end = 100) {
13
+ return getJobsAsync(ctx, { state: 'delayed', start, end });
14
+ }
15
+ export function getActive(ctx, start = 0, end = 100) {
16
+ return getJobs(ctx, { state: 'active', start, end });
17
+ }
18
+ export function getActiveAsync(ctx, start = 0, end = 100) {
19
+ return getJobsAsync(ctx, { state: 'active', start, end });
20
+ }
21
+ export function getCompleted(ctx, start = 0, end = 100) {
22
+ return getJobs(ctx, { state: 'completed', start, end });
23
+ }
24
+ export function getCompletedAsync(ctx, start = 0, end = 100) {
25
+ return getJobsAsync(ctx, { state: 'completed', start, end });
26
+ }
27
+ export function getFailed(ctx, start = 0, end = 100) {
28
+ return getJobs(ctx, { state: 'failed', start, end });
29
+ }
30
+ export function getFailedAsync(ctx, start = 0, end = 100) {
31
+ return getJobsAsync(ctx, { state: 'failed', start, end });
32
+ }
@@ -0,0 +1,14 @@
1
+ import type { TcpConnectionPool } from '../../tcpPool';
2
+ interface TcpQueryContext {
3
+ name: string;
4
+ tcp: TcpConnectionPool;
5
+ }
6
+ export interface TcpJobQueryOptions {
7
+ state?: string | string[];
8
+ start?: number;
9
+ end?: number;
10
+ asc?: boolean;
11
+ }
12
+ /** Read a finite range once, or page until exhaustion when `end` is -1. */
13
+ export declare function fetchTcpJobRows(ctx: TcpQueryContext, options: TcpJobQueryOptions): Promise<Record<string, unknown>[] | null>;
14
+ export {};
@@ -0,0 +1,40 @@
1
+ const QUERY_PAGE_SIZE = 1000;
2
+ async function fetchPage(ctx, options, offset, limit) {
3
+ const response = await ctx.tcp.send({
4
+ cmd: 'GetJobs',
5
+ queue: ctx.name,
6
+ state: options.state,
7
+ offset,
8
+ limit,
9
+ asc: options.asc,
10
+ });
11
+ if (!response.ok || !Array.isArray(response.jobs))
12
+ return null;
13
+ return response.jobs;
14
+ }
15
+ /** Read a finite range once, or page until exhaustion when `end` is -1. */
16
+ export async function fetchTcpJobRows(ctx, options) {
17
+ const start = options.start ?? 0;
18
+ if (options.end !== -1) {
19
+ const end = options.end !== undefined && options.end >= 0 ? options.end : 1000;
20
+ return fetchPage(ctx, options, start, end - start);
21
+ }
22
+ const rows = [];
23
+ const seen = new Set();
24
+ let offset = start;
25
+ while (true) {
26
+ const page = await fetchPage(ctx, options, offset, QUERY_PAGE_SIZE);
27
+ if (!page)
28
+ return null;
29
+ for (const row of page) {
30
+ const id = String(row.id);
31
+ if (!seen.has(id)) {
32
+ seen.add(id);
33
+ rows.push(row);
34
+ }
35
+ }
36
+ if (page.length < QUERY_PAGE_SIZE)
37
+ return rows;
38
+ offset += page.length;
39
+ }
40
+ }
@@ -1,195 +1,12 @@
1
- /**
2
- * Queue
3
- * BullMQ-style queue for job management
4
- */
5
- import type { Job, JobOptions, QueueOptions, StallConfig, DlqConfig, DlqEntry, DlqStats, DlqFilter, ChangePriorityOpts, GetDependenciesOpts, JobDependencies, JobDependenciesCount, JobStateType } from '../types';
1
+ /** BullMQ-style queue for job management. */
6
2
  import { Forwarder, type ForwardOptions } from '../forwarder';
7
- import * as countsOps from './operations/counts';
8
- import * as schedulerOps from './scheduler';
9
- import type { RepeatOpts, JobTemplate, SchedulerInfo } from './scheduler';
10
- import * as workersOps from './workers';
11
- /**
12
- * Queue class for adding and managing jobs
13
- */
14
- export declare class Queue<T = unknown> {
15
- readonly name: string;
16
- /**
17
- * Server-side queue key. Equals `name` unless `prefixKey` is set, in which
18
- * case it is `prefixKey + name`. All TCP/embedded operations route through
19
- * this key so that two queues with the same logical name but different
20
- * `prefixKey` values are fully isolated on the broker.
21
- */
22
- private readonly queueKey;
23
- private readonly prefixKey;
24
- private readonly opts;
25
- private readonly embedded;
26
- private readonly tcpPool;
27
- private readonly useSharedPool;
28
- private readonly addBatcher;
29
- constructor(name: string, opts?: QueueOptions);
30
- private get ctx();
31
- private get addCtx();
32
- private get queryCtx();
33
- private get moveCtx();
34
- add(name: string, data: T, opts?: JobOptions): Promise<Job<T>>;
35
- addBulk(jobs: Array<{
36
- name: string;
37
- data: T;
38
- opts?: JobOptions;
39
- }>): Promise<Job<T>[]>;
40
- getJob(id: string): Promise<Job<T> | null>;
41
- getJobState(id: string): Promise<JobStateType>;
42
- getChildrenValues(id: string): Promise<Record<string, unknown>>;
43
- getJobs(opts?: {
44
- state?: string | string[];
45
- start?: number;
46
- end?: number;
47
- asc?: boolean;
48
- }): Job<T>[];
49
- getJobsAsync(opts?: {
50
- state?: string | string[];
51
- start?: number;
52
- end?: number;
53
- asc?: boolean;
54
- }): Promise<Job<unknown>[]>;
55
- getWaiting(start?: number, end?: number): Job<T>[];
56
- getWaitingAsync(start?: number, end?: number): Promise<Job<T>[]>;
57
- getDelayed(start?: number, end?: number): Job<T>[];
58
- getDelayedAsync(start?: number, end?: number): Promise<Job<T>[]>;
59
- getActive(start?: number, end?: number): Job<T>[];
60
- getActiveAsync(start?: number, end?: number): Promise<Job<T>[]>;
61
- getCompleted(start?: number, end?: number): Job<T>[];
62
- getCompletedAsync(start?: number, end?: number): Promise<Job<T>[]>;
63
- getFailed(start?: number, end?: number): Job<T>[];
64
- getFailedAsync(start?: number, end?: number): Promise<Job<T>[]>;
65
- getJobCounts(): countsOps.JobCounts | Promise<countsOps.JobCounts>;
66
- getJobCountsAsync(): Promise<countsOps.JobCounts>;
67
- getWaitingCount(): Promise<number>;
68
- getActiveCount(): Promise<number>;
69
- getCompletedCount(): Promise<number>;
70
- getFailedCount(): Promise<number>;
71
- getDelayedCount(): Promise<number>;
72
- count(): number;
73
- countAsync(): Promise<number>;
74
- getCountsPerPriority(): Record<number, number>;
75
- getCountsPerPriorityAsync(): Promise<Record<number, number>>;
76
- pause(): void;
77
- pauseAsync(): Promise<void>;
78
- resume(): void;
79
- resumeAsync(): Promise<void>;
80
- drain(): void;
81
- drainAsync(): Promise<number>;
82
- obliterate(): void;
83
- obliterateAsync(): Promise<void>;
84
- isPaused(): boolean;
85
- isPausedAsync(): Promise<boolean>;
86
- waitUntilReady(): Promise<void>;
87
- remove(id: string): void;
88
- removeAsync(id: string): Promise<void>;
89
- retryJob(id: string): Promise<void>;
90
- retryJobs(opts?: {
91
- state?: 'failed' | 'completed';
92
- count?: number;
93
- timestamp?: number;
94
- }): Promise<void>;
95
- clean(grace: number, limit: number, type?: string): string[];
96
- cleanAsync(grace: number, limit: number, type?: string): Promise<string[]>;
97
- promoteJobs(opts?: {
98
- count?: number;
99
- }): Promise<number>;
100
- promoteJob(id: string): Promise<void>;
101
- updateJobProgress(id: string, progress: number | object): Promise<void>;
102
- getJobLogs(id: string, start?: number, end?: number, _asc?: boolean): Promise<{
103
- logs: string[];
104
- count: number;
105
- }>;
106
- addJobLog(id: string, logRow: string, _keepLogs?: number): Promise<number>;
107
- clearJobLogs(id: string, keepLogs?: number): Promise<void>;
108
- updateJobData(id: string, data: unknown): Promise<void>;
109
- changeJobDelay(id: string, delay: number): Promise<void>;
110
- changeJobPriority(id: string, opts: ChangePriorityOpts): Promise<void>;
111
- extendJobLock(id: string, token: string, duration: number): Promise<number>;
112
- setStallConfig(config: Partial<StallConfig>): void;
113
- setStallConfigAsync(config: Partial<StallConfig>): Promise<void>;
114
- getStallConfig(): StallConfig;
115
- getStallConfigAsync(): Promise<StallConfig>;
116
- setDlqConfig(config: Partial<DlqConfig>): void;
117
- setDlqConfigAsync(config: Partial<DlqConfig>): Promise<void>;
118
- getDlqConfig(): DlqConfig;
119
- getDlqConfigAsync(): Promise<DlqConfig>;
120
- getDlq(filter?: DlqFilter): DlqEntry<T>[];
121
- getDlqJobsAsync(count?: number): Promise<Job<T>[]>;
122
- getDlqStats(): DlqStats;
123
- retryDlq(id?: string): number;
124
- retryDlqAsync(id?: string): Promise<number>;
125
- retryDlqByFilter(filter: DlqFilter): number;
126
- purgeDlq(): number;
127
- purgeDlqAsync(): Promise<number>;
128
- retryCompleted(id?: string): number;
129
- retryCompletedAsync(id?: string): Promise<number>;
130
- setGlobalConcurrency(concurrency: number): void;
131
- setGlobalConcurrencyAsync(concurrency: number): Promise<void>;
132
- removeGlobalConcurrency(): void;
133
- removeGlobalConcurrencyAsync(): Promise<void>;
134
- getGlobalConcurrency(): Promise<number | null>;
135
- setGlobalRateLimit(max: number, duration?: number): void;
136
- setGlobalRateLimitAsync(max: number, duration?: number): Promise<void>;
137
- removeGlobalRateLimit(): void;
138
- removeGlobalRateLimitAsync(): Promise<void>;
139
- getGlobalRateLimit(): Promise<{
140
- max: number;
141
- duration: number;
142
- } | null>;
143
- rateLimit(expireTimeMs: number): Promise<void>;
144
- getRateLimitTtl(maxJobs?: number): Promise<number>;
145
- isMaxed(): Promise<boolean>;
146
- upsertJobScheduler(schedulerId: string, repeatOpts: RepeatOpts, jobTemplate?: JobTemplate<T>): Promise<SchedulerInfo | null>;
147
- removeJobScheduler(schedulerId: string): Promise<boolean>;
148
- getJobScheduler(schedulerId: string): Promise<schedulerOps.SchedulerInfo | null>;
149
- getJobSchedulers(start?: number, end?: number, asc?: boolean): Promise<schedulerOps.SchedulerInfo[]>;
150
- getJobSchedulersCount(): Promise<number>;
151
- getDeduplicationJobId(deduplicationId: string): Promise<string | null>;
152
- removeDeduplicationKey(deduplicationId: string): Promise<number>;
153
- moveJobToCompleted(id: string, returnValue: unknown, token?: string): Promise<unknown>;
154
- moveJobToFailed(id: string, error: Error, token?: string): Promise<void>;
155
- moveJobToWait(id: string, token?: string): Promise<boolean>;
156
- moveJobToDelayed(id: string, timestamp: number, token?: string): Promise<void>;
157
- moveJobToWaitingChildren(id: string, token?: string, opts?: {
158
- child?: {
159
- id: string;
160
- queue: string;
161
- };
162
- }): Promise<boolean>;
163
- waitJobUntilFinished(id: string, queueEvents: unknown, ttl?: number): Promise<unknown>;
164
- getJobDependencies(id: string, opts?: GetDependenciesOpts): Promise<JobDependencies>;
165
- getJobDependenciesCount(id: string, opts?: GetDependenciesOpts): Promise<JobDependenciesCount>;
166
- getDependencies(parentId: string, type?: 'processed' | 'unprocessed', start?: number, end?: number): Promise<{
167
- processed?: Record<string, unknown>;
168
- unprocessed?: string[];
169
- nextProcessedCursor?: number;
170
- nextUnprocessedCursor?: number;
171
- }>;
172
- getPrioritized(start?: number, end?: number): Promise<Job<T>[]>;
173
- getPrioritizedCount(): Promise<number>;
174
- getWaitingChildren(start?: number, end?: number): Promise<Job<T>[]>;
175
- getWaitingChildrenCount(): Promise<number>;
176
- trimEvents(maxLength: number): Promise<number>;
177
- getWorkers(): Promise<workersOps.WorkerInfo[]>;
178
- getWorkersCount(): Promise<number>;
179
- getMetrics(type: 'completed' | 'failed', start?: number, end?: number): Promise<{
180
- meta: {
181
- count: number;
182
- };
183
- data: number[];
184
- }>;
3
+ import { QueueConnection } from './runtime/connection';
4
+ /** Public Queue façade; behavior is implemented by focused runtime layers. */
5
+ export declare class Queue<T = unknown> extends QueueConnection<T> {
185
6
  /**
186
7
  * Drain this queue's jobs to a remote bunqueue server (store-and-forward).
187
- * Typical edge pattern: embedded local queue as offline buffer, forwarded
188
- * to a central server over TCP/TLS. Remote failures leave jobs local
189
- * (retry → DLQ) — nothing is lost while the uplink is down. Forwarded jobs
190
- * carry a deterministic remote jobId so re-forwards never duplicate.
8
+ * Remote failures leave jobs local and deterministic remote IDs prevent
9
+ * duplicate delivery when a forward is retried.
191
10
  */
192
11
  forward(options: ForwardOptions): Forwarder;
193
- disconnect(): Promise<void>;
194
- close(): void;
195
12
  }