bunqueue 2.8.54 → 2.8.57

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 (718) 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 -442
  19. package/dist/application/cleanupTasks.js +1 -0
  20. package/dist/application/clientTracking.js +2 -0
  21. package/dist/application/contextFactory.d.ts +13 -90
  22. package/dist/application/contextFactory.js +8 -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 +2 -8
  26. package/dist/application/dlqManager.js +33 -162
  27. package/dist/application/dlqRetry.d.ts +12 -0
  28. package/dist/application/dlqRetry.js +97 -0
  29. package/dist/application/lockManager.js +21 -1
  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 +10 -3
  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 +44 -7
  45. package/dist/application/operations/parentLink.d.ts +36 -0
  46. package/dist/application/operations/parentLink.js +153 -0
  47. package/dist/application/operations/parentLinkInput.d.ts +8 -0
  48. package/dist/application/operations/parentLinkInput.js +23 -0
  49. package/dist/application/operations/push.d.ts +5 -44
  50. package/dist/application/operations/push.js +62 -152
  51. package/dist/application/operations/pushAdmission.d.ts +32 -0
  52. package/dist/application/operations/pushAdmission.js +38 -0
  53. package/dist/application/operations/pushBatch.d.ts +4 -0
  54. package/dist/application/operations/pushBatch.js +136 -0
  55. package/dist/application/operations/pushContext.d.ts +39 -0
  56. package/dist/application/operations/pushContext.js +1 -0
  57. package/dist/application/operations/pushDeduplication.d.ts +42 -0
  58. package/dist/application/operations/pushDeduplication.js +131 -0
  59. package/dist/application/operations/pushInsert.d.ts +13 -1
  60. package/dist/application/operations/pushInsert.js +33 -17
  61. package/dist/application/operations/pushLocks.js +13 -9
  62. package/dist/application/operations/query/collect.d.ts +12 -0
  63. package/dist/application/operations/query/collect.js +118 -0
  64. package/dist/application/operations/query/jobLookup.d.ts +9 -0
  65. package/dist/application/operations/query/jobLookup.js +110 -0
  66. package/dist/application/operations/query/pagination.d.ts +8 -0
  67. package/dist/application/operations/query/pagination.js +90 -0
  68. package/dist/application/operations/query/state.d.ts +4 -0
  69. package/dist/application/operations/query/state.js +63 -0
  70. package/dist/application/operations/queryOperations.d.ts +5 -50
  71. package/dist/application/operations/queryOperations.js +4 -474
  72. package/dist/application/queue-manager/ack.d.ts +23 -0
  73. package/dist/application/queue-manager/ack.js +242 -0
  74. package/dist/application/queue-manager/configuration.d.ts +27 -0
  75. package/dist/application/queue-manager/configuration.js +84 -0
  76. package/dist/application/queue-manager/context.d.ts +5 -0
  77. package/dist/application/queue-manager/context.js +61 -0
  78. package/dist/application/queue-manager/control.d.ts +17 -0
  79. package/dist/application/queue-manager/control.js +133 -0
  80. package/dist/application/queue-manager/delivery.d.ts +32 -0
  81. package/dist/application/queue-manager/delivery.js +143 -0
  82. package/dist/application/queue-manager/dependencies.d.ts +8 -0
  83. package/dist/application/queue-manager/dependencies.js +127 -0
  84. package/dist/application/queue-manager/dependency-runtime.d.ts +8 -0
  85. package/dist/application/queue-manager/dependency-runtime.js +40 -0
  86. package/dist/application/queue-manager/flow-failures.d.ts +18 -0
  87. package/dist/application/queue-manager/flow-failures.js +107 -0
  88. package/dist/application/queue-manager/flow-options.d.ts +8 -0
  89. package/dist/application/queue-manager/flow-options.js +129 -0
  90. package/dist/application/queue-manager/job-management.d.ts +17 -0
  91. package/dist/application/queue-manager/job-management.js +100 -0
  92. package/dist/application/queue-manager/lifecycle.d.ts +4 -0
  93. package/dist/application/queue-manager/lifecycle.js +41 -0
  94. package/dist/application/queue-manager/limits.d.ts +41 -0
  95. package/dist/application/queue-manager/limits.js +108 -0
  96. package/dist/application/queue-manager/locks.d.ts +21 -0
  97. package/dist/application/queue-manager/locks.js +59 -0
  98. package/dist/application/queue-manager/observability.d.ts +16 -0
  99. package/dist/application/queue-manager/observability.js +44 -0
  100. package/dist/application/queue-manager/queries.d.ts +17 -0
  101. package/dist/application/queue-manager/queries.js +118 -0
  102. package/dist/application/queue-manager/repeat.d.ts +4 -0
  103. package/dist/application/queue-manager/repeat.js +26 -0
  104. package/dist/application/queue-manager/services.d.ts +19 -0
  105. package/dist/application/queue-manager/services.js +80 -0
  106. package/dist/application/queue-manager/state.d.ts +92 -0
  107. package/dist/application/queue-manager/state.js +144 -0
  108. package/dist/application/queue-manager/stats.d.ts +28 -0
  109. package/dist/application/queue-manager/stats.js +52 -0
  110. package/dist/application/queueManager.d.ts +4 -400
  111. package/dist/application/queueManager.js +3 -1922
  112. package/dist/application/queueTelemetryJournal.d.ts +20 -0
  113. package/dist/application/queueTelemetryJournal.js +133 -0
  114. package/dist/application/repeatJobs.d.ts +7 -0
  115. package/dist/application/repeatJobs.js +132 -0
  116. package/dist/application/stallDetection.js +6 -1
  117. package/dist/application/types/ack.d.ts +132 -0
  118. package/dist/application/types/ack.js +1 -0
  119. package/dist/application/types/background.d.ts +18 -0
  120. package/dist/application/types/background.js +1 -0
  121. package/dist/application/types/config.d.ts +37 -0
  122. package/dist/application/{types.js → types/config.js} +3 -4
  123. package/dist/application/types/contextFactory.d.ts +83 -0
  124. package/dist/application/types/contextFactory.js +1 -0
  125. package/dist/application/types/contexts.d.ts +110 -0
  126. package/dist/application/types/contexts.js +1 -0
  127. package/dist/application/types/index.d.ts +7 -0
  128. package/dist/application/types/index.js +1 -0
  129. package/dist/application/types/query.d.ts +23 -0
  130. package/dist/application/types/query.js +1 -0
  131. package/dist/application/types/queueManager.d.ts +94 -0
  132. package/dist/application/types/queueManager.js +1 -0
  133. package/dist/cli/commandRouter.d.ts +1 -1
  134. package/dist/cli/commands/core.js +1 -0
  135. package/dist/cli/output/collections.d.ts +8 -0
  136. package/dist/cli/output/collections.js +131 -0
  137. package/dist/cli/output/jobs.d.ts +2 -0
  138. package/dist/cli/output/jobs.js +61 -0
  139. package/dist/cli/output/style.d.ts +14 -0
  140. package/dist/cli/output/style.js +28 -0
  141. package/dist/cli/output/success.d.ts +1 -0
  142. package/dist/cli/output/success.js +108 -0
  143. package/dist/cli/output.d.ts +1 -6
  144. package/dist/cli/output.js +7 -395
  145. package/dist/client/bunqueue/dlqRateLimit.d.ts +8 -0
  146. package/dist/client/bunqueue/dlqRateLimit.js +24 -0
  147. package/dist/client/bunqueue/runtime.d.ts +35 -0
  148. package/dist/client/bunqueue/runtime.js +138 -0
  149. package/dist/client/bunqueue.d.ts +19 -34
  150. package/dist/client/bunqueue.js +45 -166
  151. package/dist/client/dlqConversion.d.ts +5 -0
  152. package/dist/client/dlqConversion.js +28 -0
  153. package/dist/client/events.d.ts +7 -56
  154. package/dist/client/events.js +38 -15
  155. package/dist/client/flow.d.ts +6 -12
  156. package/dist/client/flow.js +16 -34
  157. package/dist/client/flowJobFactory.d.ts +9 -1
  158. package/dist/client/flowJobFactory.js +25 -9
  159. package/dist/client/flowJobMoveMethods.d.ts +5 -5
  160. package/dist/client/flowJobMoveMethods.js +31 -16
  161. package/dist/client/flowLegacyPlan.js +22 -8
  162. package/dist/client/flowOptions.d.ts +1 -1
  163. package/dist/client/flowOptions.js +2 -1
  164. package/dist/client/flowPlan.js +2 -3
  165. package/dist/client/flowPush.d.ts +1 -0
  166. package/dist/client/flowPush.js +5 -1
  167. package/dist/client/flowReader.js +5 -5
  168. package/dist/client/flowResults.d.ts +11 -0
  169. package/dist/client/flowResults.js +42 -0
  170. package/dist/client/index.d.ts +3 -1
  171. package/dist/client/jobConversion.d.ts +0 -4
  172. package/dist/client/jobConversion.js +32 -33
  173. package/dist/client/jobConversionHelpers.d.ts +18 -2
  174. package/dist/client/jobConversionHelpers.js +17 -10
  175. package/dist/client/jobConversionTypes.d.ts +5 -1
  176. package/dist/client/jobHelpers.d.ts +7 -2
  177. package/dist/client/jobHelpers.js +16 -8
  178. package/dist/client/queue/dlq.js +12 -14
  179. package/dist/client/queue/dlqJobMethods.js +11 -10
  180. package/dist/client/queue/dlqOps.js +2 -8
  181. package/dist/client/queue/dlqStats.d.ts +3 -0
  182. package/dist/client/queue/dlqStats.js +21 -0
  183. package/dist/client/queue/job-proxy/dependencies.d.ts +9 -0
  184. package/dist/client/queue/job-proxy/dependencies.js +67 -0
  185. package/dist/client/queue/job-proxy/reflection.d.ts +2 -0
  186. package/dist/client/queue/job-proxy/reflection.js +18 -0
  187. package/dist/client/queue/job-proxy/simple.d.ts +3 -0
  188. package/dist/client/queue/job-proxy/simple.js +316 -0
  189. package/dist/client/queue/job-proxy/tcp.d.ts +4 -0
  190. package/dist/client/queue/job-proxy/tcp.js +191 -0
  191. package/dist/client/queue/jobMetadata.d.ts +10 -0
  192. package/dist/client/queue/jobMetadata.js +24 -0
  193. package/dist/client/queue/jobMove.d.ts +4 -4
  194. package/dist/client/queue/jobMove.js +82 -24
  195. package/dist/client/queue/jobProxy.d.ts +4 -50
  196. package/dist/client/queue/jobProxy.js +3 -516
  197. package/dist/client/queue/operations/add/bulk.d.ts +7 -0
  198. package/dist/client/queue/operations/add/bulk.js +129 -0
  199. package/dist/client/queue/operations/add/payload.d.ts +24 -0
  200. package/dist/client/queue/operations/add/payload.js +85 -0
  201. package/dist/client/queue/operations/add/single.d.ts +3 -0
  202. package/dist/client/queue/operations/add/single.js +107 -0
  203. package/dist/client/queue/operations/add.d.ts +2 -47
  204. package/dist/client/queue/operations/add.js +2 -364
  205. package/dist/client/queue/operations/management.js +2 -1
  206. package/dist/client/queue/operations/query.js +20 -63
  207. package/dist/client/queue/queue.d.ts +6 -192
  208. package/dist/client/queue/queue.js +6 -559
  209. package/dist/client/queue/runtime/compatibility.d.ts +13 -0
  210. package/dist/client/queue/runtime/compatibility.js +38 -0
  211. package/dist/client/queue/runtime/configuration.d.ts +42 -0
  212. package/dist/client/queue/runtime/configuration.js +109 -0
  213. package/dist/client/queue/runtime/connection.d.ts +6 -0
  214. package/dist/client/queue/runtime/connection.js +16 -0
  215. package/dist/client/queue/runtime/control.d.ts +41 -0
  216. package/dist/client/queue/runtime/control.js +87 -0
  217. package/dist/client/queue/runtime/queries.d.ts +48 -0
  218. package/dist/client/queue/runtime/queries.js +95 -0
  219. package/dist/client/queue/runtime/scheduling.d.ts +33 -0
  220. package/dist/client/queue/runtime/scheduling.js +56 -0
  221. package/dist/client/queue/runtime/state.d.ts +96 -0
  222. package/dist/client/queue/runtime/state.js +149 -0
  223. package/dist/client/queue/scheduler.d.ts +2 -5
  224. package/dist/client/queue/scheduler.js +25 -23
  225. package/dist/client/queue/schedulerPagination.d.ts +7 -0
  226. package/dist/client/queue/schedulerPagination.js +10 -0
  227. package/dist/client/queue/types/add.d.ts +40 -0
  228. package/dist/client/queue/types/add.js +1 -0
  229. package/dist/client/queue/{queueTypes.d.ts → types/contexts.d.ts} +2 -2
  230. package/dist/client/queue/types/index.d.ts +3 -0
  231. package/dist/client/queue/types/index.js +1 -0
  232. package/dist/client/queue/types/job.d.ts +50 -0
  233. package/dist/client/queue/types/job.js +1 -0
  234. package/dist/client/queue/types/runtime.d.ts +35 -0
  235. package/dist/client/queue/types/runtime.js +1 -0
  236. package/dist/client/queue/workers.d.ts +4 -8
  237. package/dist/client/queue/workers.js +22 -14
  238. package/dist/client/queue-events/tcpSubscription.d.ts +23 -0
  239. package/dist/client/queue-events/tcpSubscription.js +99 -0
  240. package/dist/client/sandboxed/queueOps.d.ts +2 -2
  241. package/dist/client/sandboxed/queueOps.js +32 -5
  242. package/dist/client/sandboxed/runtime/dispatch.d.ts +13 -0
  243. package/dist/client/sandboxed/runtime/dispatch.js +186 -0
  244. package/dist/client/sandboxed/runtime/lifecycle.d.ts +20 -0
  245. package/dist/client/sandboxed/runtime/lifecycle.js +95 -0
  246. package/dist/client/sandboxed/runtime/log.d.ts +1 -0
  247. package/dist/client/sandboxed/runtime/log.js +15 -0
  248. package/dist/client/sandboxed/runtime/pool.d.ts +11 -0
  249. package/dist/client/sandboxed/runtime/pool.js +121 -0
  250. package/dist/client/sandboxed/runtime/recovery.d.ts +11 -0
  251. package/dist/client/sandboxed/runtime/recovery.js +122 -0
  252. package/dist/client/sandboxed/runtime/state.d.ts +39 -0
  253. package/dist/client/sandboxed/runtime/state.js +59 -0
  254. package/dist/client/sandboxed/types/index.d.ts +2 -0
  255. package/dist/client/sandboxed/types/index.js +1 -0
  256. package/dist/client/sandboxed/types/options.d.ts +27 -0
  257. package/dist/client/sandboxed/types/options.js +1 -0
  258. package/dist/client/sandboxed/types/process.d.ts +30 -0
  259. package/dist/client/sandboxed/types/process.js +1 -0
  260. package/dist/client/sandboxed/worker.d.ts +3 -85
  261. package/dist/client/sandboxed/worker.js +3 -557
  262. package/dist/client/sandboxed/wrapper.js +1 -0
  263. package/dist/client/tcp/client.d.ts +5 -112
  264. package/dist/client/tcp/client.js +5 -481
  265. package/dist/client/tcp/commandQueue.d.ts +23 -0
  266. package/dist/client/tcp/commandQueue.js +89 -0
  267. package/dist/client/tcp/connection.d.ts +4 -85
  268. package/dist/client/tcp/connection.js +3 -315
  269. package/dist/client/tcp/errors.d.ts +6 -0
  270. package/dist/client/tcp/errors.js +18 -0
  271. package/dist/client/tcp/runtime/commands.d.ts +9 -0
  272. package/dist/client/tcp/runtime/commands.js +124 -0
  273. package/dist/client/tcp/runtime/connectivity.d.ts +13 -0
  274. package/dist/client/tcp/runtime/connectivity.js +77 -0
  275. package/dist/client/tcp/runtime/health.d.ts +14 -0
  276. package/dist/client/tcp/runtime/health.js +127 -0
  277. package/dist/client/tcp/runtime/lifecycle.d.ts +8 -0
  278. package/dist/client/tcp/runtime/lifecycle.js +32 -0
  279. package/dist/client/tcp/runtime/state.d.ts +50 -0
  280. package/dist/client/tcp/runtime/state.js +45 -0
  281. package/dist/client/tcp/transport.d.ts +18 -0
  282. package/dist/client/tcp/transport.js +158 -0
  283. package/dist/client/tcp/types/command.d.ts +9 -0
  284. package/dist/client/tcp/types/command.js +1 -0
  285. package/dist/client/tcp/types/connection.d.ts +31 -0
  286. package/dist/client/tcp/types/connection.js +17 -0
  287. package/dist/client/tcp/types/index.d.ts +5 -0
  288. package/dist/client/tcp/types/index.js +1 -0
  289. package/dist/client/tcp/types/socket.d.ts +8 -0
  290. package/dist/client/tcp/types/socket.js +1 -0
  291. package/dist/client/tcp/types/tls.d.ts +4 -0
  292. package/dist/client/tcp/types/tls.js +1 -0
  293. package/dist/client/tcp/types.d.ts +2 -106
  294. package/dist/client/tcp/types.js +2 -22
  295. package/dist/client/types/connection.d.ts +29 -0
  296. package/dist/client/types/connection.js +1 -0
  297. package/dist/client/types/dlq.d.ts +45 -0
  298. package/dist/client/types/dlq.js +1 -0
  299. package/dist/client/types/events.d.ts +54 -0
  300. package/dist/client/types/events.js +1 -0
  301. package/dist/client/types/flow.d.ts +10 -0
  302. package/dist/client/types/flow.js +1 -0
  303. package/dist/client/types/index.d.ts +10 -0
  304. package/dist/client/types/index.js +1 -0
  305. package/dist/client/types/job.d.ts +127 -0
  306. package/dist/client/types/job.js +1 -0
  307. package/dist/client/types/metrics.d.ts +1 -0
  308. package/dist/client/types/metrics.js +1 -0
  309. package/dist/client/types/options.d.ts +62 -0
  310. package/dist/client/types/options.js +1 -0
  311. package/dist/client/types/worker.d.ts +38 -0
  312. package/dist/client/types/worker.js +1 -0
  313. package/dist/client/types.d.ts +2 -583
  314. package/dist/client/types.js +2 -6
  315. package/dist/client/worker/ackBatcher.d.ts +1 -1
  316. package/dist/client/worker/ackBatcher.js +17 -5
  317. package/dist/client/worker/ackOutcome.d.ts +8 -0
  318. package/dist/client/worker/ackOutcome.js +58 -0
  319. package/dist/client/worker/constants.d.ts +7 -0
  320. package/dist/client/worker/{types.js → constants.js} +0 -6
  321. package/dist/client/worker/groupConcurrency.js +3 -0
  322. package/dist/client/worker/handlers/completion.d.ts +28 -0
  323. package/dist/client/worker/handlers/completion.js +68 -0
  324. package/dist/client/worker/handlers/dependencies.d.ts +11 -0
  325. package/dist/client/worker/handlers/dependencies.js +107 -0
  326. package/dist/client/worker/handlers/mutations.d.ts +23 -0
  327. package/dist/client/worker/handlers/mutations.js +211 -0
  328. package/dist/client/worker/handlers/queries.d.ts +15 -0
  329. package/dist/client/worker/handlers/queries.js +100 -0
  330. package/dist/client/worker/index.d.ts +2 -2
  331. package/dist/client/worker/index.js +1 -1
  332. package/dist/client/worker/jobParser.js +4 -2
  333. package/dist/client/worker/processor.d.ts +2 -15
  334. package/dist/client/worker/processor.js +67 -124
  335. package/dist/client/worker/processorHandlers.d.ts +4 -61
  336. package/dist/client/worker/processorHandlers.js +4 -398
  337. package/dist/client/worker/processorOutcome.d.ts +14 -0
  338. package/dist/client/worker/processorOutcome.js +125 -0
  339. package/dist/client/worker/runtime/buffer.d.ts +8 -0
  340. package/dist/client/worker/runtime/buffer.js +50 -0
  341. package/dist/client/worker/runtime/control.d.ts +26 -0
  342. package/dist/client/worker/runtime/control.js +175 -0
  343. package/dist/client/worker/runtime/execution.d.ts +11 -0
  344. package/dist/client/worker/runtime/execution.js +123 -0
  345. package/dist/client/worker/runtime/lifecycle.d.ts +7 -0
  346. package/dist/client/worker/runtime/lifecycle.js +114 -0
  347. package/dist/client/worker/runtime/manual.d.ts +10 -0
  348. package/dist/client/worker/runtime/manual.js +137 -0
  349. package/dist/client/worker/runtime/options.d.ts +5 -0
  350. package/dist/client/worker/runtime/options.js +39 -0
  351. package/dist/client/worker/runtime/polling.d.ts +12 -0
  352. package/dist/client/worker/runtime/polling.js +123 -0
  353. package/dist/client/worker/runtime/state.d.ts +110 -0
  354. package/dist/client/worker/runtime/state.js +156 -0
  355. package/dist/client/worker/types/index.d.ts +5 -0
  356. package/dist/client/worker/types/index.js +1 -0
  357. package/dist/client/worker/types/manual.d.ts +7 -0
  358. package/dist/client/worker/types/manual.js +1 -0
  359. package/dist/client/worker/types/options.d.ts +24 -0
  360. package/dist/client/worker/types/options.js +1 -0
  361. package/dist/client/worker/types/outcome.d.ts +23 -0
  362. package/dist/client/worker/types/outcome.js +1 -0
  363. package/dist/client/worker/types/processor.d.ts +22 -0
  364. package/dist/client/worker/types/processor.js +1 -0
  365. package/dist/client/worker/types/transport.d.ts +11 -0
  366. package/dist/client/worker/types/transport.js +1 -0
  367. package/dist/client/worker/worker.d.ts +3 -160
  368. package/dist/client/worker/worker.js +3 -928
  369. package/dist/client/worker/workerRateLimiter.d.ts +5 -1
  370. package/dist/client/worker/workerRateLimiter.js +40 -20
  371. package/dist/client/worker.d.ts +1 -0
  372. package/dist/client/workflow/compensationChild.d.ts +2 -1
  373. package/dist/client/workflow/compensationChild.js +1 -1
  374. package/dist/client/workflow/compensationClaim.d.ts +11 -0
  375. package/dist/client/workflow/compensationClaim.js +30 -0
  376. package/dist/client/workflow/compensator.d.ts +7 -2
  377. package/dist/client/workflow/compensator.js +5 -11
  378. package/dist/client/workflow/recovery.js +25 -2
  379. package/dist/client/workflow/rollbackControl.js +1 -1
  380. package/dist/domain/job/constants.d.ts +12 -0
  381. package/dist/domain/job/constants.js +12 -0
  382. package/dist/domain/job/create.d.ts +2 -0
  383. package/dist/domain/job/create.js +103 -0
  384. package/dist/domain/job/ids.d.ts +5 -0
  385. package/dist/domain/job/ids.js +12 -0
  386. package/dist/domain/job/locks.d.ts +4 -0
  387. package/dist/domain/job/locks.js +23 -0
  388. package/dist/domain/job/payload.d.ts +18 -0
  389. package/dist/domain/job/payload.js +43 -0
  390. package/dist/domain/job/state.d.ts +8 -0
  391. package/dist/domain/job/state.js +51 -0
  392. package/dist/domain/job/terminal.d.ts +3 -0
  393. package/dist/domain/job/terminal.js +9 -0
  394. package/dist/domain/queue/dlqShard.d.ts +2 -0
  395. package/dist/domain/queue/dlqShard.js +34 -9
  396. package/dist/domain/queue/priorityQueue.js +3 -39
  397. package/dist/domain/queue/priorityQueueOrder.d.ts +3 -0
  398. package/dist/domain/queue/priorityQueueOrder.js +21 -0
  399. package/dist/domain/queue/shard/dependencies.d.ts +11 -0
  400. package/dist/domain/queue/shard/dependencies.js +22 -0
  401. package/dist/domain/queue/shard/dlq.d.ts +25 -0
  402. package/dist/domain/queue/shard/dlq.js +71 -0
  403. package/dist/domain/queue/shard/keys.d.ts +18 -0
  404. package/dist/domain/queue/shard/keys.js +45 -0
  405. package/dist/domain/queue/shard/lifecycle.d.ts +10 -0
  406. package/dist/domain/queue/shard/lifecycle.js +43 -0
  407. package/dist/domain/queue/shard/limits.d.ts +24 -0
  408. package/dist/domain/queue/shard/limits.js +57 -0
  409. package/dist/domain/queue/shard/metrics.d.ts +32 -0
  410. package/dist/domain/queue/shard/metrics.js +72 -0
  411. package/dist/domain/queue/shard/state.d.ts +34 -0
  412. package/dist/domain/queue/shard/state.js +80 -0
  413. package/dist/domain/queue/shard.d.ts +5 -145
  414. package/dist/domain/queue/shard.js +4 -409
  415. package/dist/domain/response/builders.d.ts +15 -0
  416. package/dist/domain/response/builders.js +39 -0
  417. package/dist/domain/types/command.d.ts +2 -555
  418. package/dist/domain/types/command.js +2 -5
  419. package/dist/domain/types/commands/base.d.ts +5 -0
  420. package/dist/domain/types/commands/base.js +1 -0
  421. package/dist/domain/types/commands/core.d.ts +106 -0
  422. package/dist/domain/types/commands/core.js +1 -0
  423. package/dist/domain/types/commands/cron.d.ts +36 -0
  424. package/dist/domain/types/commands/cron.js +1 -0
  425. package/dist/domain/types/commands/dashboard.d.ts +13 -0
  426. package/dist/domain/types/commands/dashboard.js +1 -0
  427. package/dist/domain/types/commands/dlq.d.ts +39 -0
  428. package/dist/domain/types/commands/dlq.js +1 -0
  429. package/dist/domain/types/commands/extended.d.ts +63 -0
  430. package/dist/domain/types/commands/extended.js +1 -0
  431. package/dist/domain/types/commands/index.d.ts +12 -0
  432. package/dist/domain/types/commands/index.js +12 -0
  433. package/dist/domain/types/commands/limits.d.ts +54 -0
  434. package/dist/domain/types/commands/limits.js +1 -0
  435. package/dist/domain/types/commands/management.d.ts +73 -0
  436. package/dist/domain/types/commands/management.js +1 -0
  437. package/dist/domain/types/commands/monitoring.d.ts +49 -0
  438. package/dist/domain/types/commands/monitoring.js +1 -0
  439. package/dist/domain/types/commands/protocol.d.ts +20 -0
  440. package/dist/domain/types/commands/protocol.js +1 -0
  441. package/dist/domain/types/commands/query.d.ts +46 -0
  442. package/dist/domain/types/commands/query.js +1 -0
  443. package/dist/domain/types/commands/union.d.ts +13 -0
  444. package/dist/domain/types/commands/union.js +1 -0
  445. package/dist/domain/types/commands/workers.d.ts +39 -0
  446. package/dist/domain/types/commands/workers.js +1 -0
  447. package/dist/domain/types/cron.d.ts +4 -2
  448. package/dist/domain/types/cron.js +3 -0
  449. package/dist/domain/types/dlq.d.ts +17 -0
  450. package/dist/domain/types/dlq.js +70 -14
  451. package/dist/domain/types/index.d.ts +2 -0
  452. package/dist/domain/types/index.js +1 -0
  453. package/dist/domain/types/job.d.ts +8 -269
  454. package/dist/domain/types/job.js +8 -234
  455. package/dist/domain/types/jobs/model.d.ts +152 -0
  456. package/dist/domain/types/jobs/model.js +1 -0
  457. package/dist/domain/types/metrics.d.ts +16 -0
  458. package/dist/domain/types/metrics.js +1 -0
  459. package/dist/domain/types/priorityQueue.d.ts +12 -0
  460. package/dist/domain/types/priorityQueue.js +1 -0
  461. package/dist/domain/types/protocol.d.ts +5 -0
  462. package/dist/domain/types/protocol.js +4 -0
  463. package/dist/domain/types/queue.d.ts +2 -0
  464. package/dist/domain/types/response.d.ts +3 -192
  465. package/dist/domain/types/response.js +3 -101
  466. package/dist/domain/types/responses/model.d.ts +152 -0
  467. package/dist/domain/types/responses/model.js +1 -0
  468. package/dist/domain/types/shard.d.ts +4 -0
  469. package/dist/domain/types/shard.js +1 -0
  470. package/dist/infrastructure/cloud/cloudAgent.js +6 -0
  471. package/dist/infrastructure/cloud/commandHandler.d.ts +2 -41
  472. package/dist/infrastructure/cloud/commandHandler.js +1 -1
  473. package/dist/infrastructure/cloud/commands/integrations.d.ts +2 -0
  474. package/dist/infrastructure/cloud/commands/integrations.js +31 -0
  475. package/dist/infrastructure/cloud/commands/jobMapper.d.ts +56 -0
  476. package/dist/infrastructure/cloud/commands/jobMapper.js +72 -0
  477. package/dist/infrastructure/cloud/commands/jobs.d.ts +2 -0
  478. package/dist/infrastructure/cloud/commands/jobs.js +111 -0
  479. package/dist/infrastructure/cloud/commands/queues.d.ts +2 -0
  480. package/dist/infrastructure/cloud/commands/queues.js +126 -0
  481. package/dist/infrastructure/cloud/commands.d.ts +3 -10
  482. package/dist/infrastructure/cloud/commands.js +7 -344
  483. package/dist/infrastructure/cloud/snapshot/analytics.d.ts +16 -0
  484. package/dist/infrastructure/cloud/snapshot/analytics.js +132 -0
  485. package/dist/infrastructure/cloud/snapshot/collector.d.ts +24 -0
  486. package/dist/infrastructure/cloud/snapshot/collector.js +105 -0
  487. package/dist/infrastructure/cloud/snapshot/config.d.ts +5 -0
  488. package/dist/infrastructure/cloud/snapshot/config.js +86 -0
  489. package/dist/infrastructure/cloud/snapshot/jobs.d.ts +5 -0
  490. package/dist/infrastructure/cloud/snapshot/jobs.js +148 -0
  491. package/dist/infrastructure/cloud/snapshot/stalls.d.ts +3 -0
  492. package/dist/infrastructure/cloud/snapshot/stalls.js +34 -0
  493. package/dist/infrastructure/cloud/snapshotCollector.d.ts +2 -53
  494. package/dist/infrastructure/cloud/snapshotCollector.js +5 -107
  495. package/dist/infrastructure/cloud/snapshotHelpers.d.ts +5 -45
  496. package/dist/infrastructure/cloud/snapshotHelpers.js +4 -426
  497. package/dist/infrastructure/cloud/types/collector.d.ts +54 -0
  498. package/dist/infrastructure/cloud/types/collector.js +1 -0
  499. package/dist/infrastructure/cloud/types/command.d.ts +44 -0
  500. package/dist/infrastructure/cloud/types/command.js +1 -0
  501. package/dist/infrastructure/cloud/types/config.d.ts +18 -0
  502. package/dist/infrastructure/cloud/types/config.js +1 -0
  503. package/dist/infrastructure/cloud/types/event.d.ts +14 -0
  504. package/dist/infrastructure/cloud/types/event.js +1 -0
  505. package/dist/infrastructure/cloud/types/redact.d.ts +4 -0
  506. package/dist/infrastructure/cloud/types/redact.js +1 -0
  507. package/dist/infrastructure/cloud/types/snapshot.d.ts +52 -0
  508. package/dist/infrastructure/cloud/types/snapshot.js +1 -0
  509. package/dist/infrastructure/cloud/types/snapshotCore.d.ts +125 -0
  510. package/dist/infrastructure/cloud/types/snapshotCore.js +1 -0
  511. package/dist/infrastructure/cloud/types/snapshotJobs.d.ts +124 -0
  512. package/dist/infrastructure/cloud/types/snapshotJobs.js +1 -0
  513. package/dist/infrastructure/cloud/types/snapshotTelemetry.d.ts +100 -0
  514. package/dist/infrastructure/cloud/types/snapshotTelemetry.js +1 -0
  515. package/dist/infrastructure/cloud/types.d.ts +3 -445
  516. package/dist/infrastructure/cloud/types.js +0 -4
  517. package/dist/infrastructure/persistence/batchInsert.d.ts +13 -0
  518. package/dist/infrastructure/persistence/batchInsert.js +96 -0
  519. package/dist/infrastructure/persistence/jobOptionsBlob.d.ts +18 -0
  520. package/dist/infrastructure/persistence/jobOptionsBlob.js +56 -0
  521. package/dist/infrastructure/persistence/legacyNameMigration.d.ts +5 -0
  522. package/dist/infrastructure/persistence/legacyNameMigration.js +42 -0
  523. package/dist/infrastructure/persistence/migrations.d.ts +3 -0
  524. package/dist/infrastructure/persistence/migrations.js +120 -0
  525. package/dist/infrastructure/persistence/schema.d.ts +3 -5
  526. package/dist/infrastructure/persistence/schema.js +40 -136
  527. package/dist/infrastructure/persistence/sqlite/admission.d.ts +9 -0
  528. package/dist/infrastructure/persistence/sqlite/admission.js +34 -0
  529. package/dist/infrastructure/persistence/sqlite/control.d.ts +32 -0
  530. package/dist/infrastructure/persistence/sqlite/control.js +90 -0
  531. package/dist/infrastructure/persistence/sqlite/flows.d.ts +26 -0
  532. package/dist/infrastructure/persistence/sqlite/flows.js +167 -0
  533. package/dist/infrastructure/persistence/sqlite/jobs.d.ts +23 -0
  534. package/dist/infrastructure/persistence/sqlite/jobs.js +166 -0
  535. package/dist/infrastructure/persistence/sqlite/lifecycle.d.ts +6 -0
  536. package/dist/infrastructure/persistence/sqlite/lifecycle.js +30 -0
  537. package/dist/infrastructure/persistence/sqlite/mutations.d.ts +20 -0
  538. package/dist/infrastructure/persistence/sqlite/mutations.js +149 -0
  539. package/dist/infrastructure/persistence/sqlite/queries.d.ts +23 -0
  540. package/dist/infrastructure/persistence/sqlite/queries.js +89 -0
  541. package/dist/infrastructure/persistence/sqlite/records.d.ts +24 -0
  542. package/dist/infrastructure/persistence/sqlite/records.js +115 -0
  543. package/dist/infrastructure/persistence/sqlite/state.d.ts +36 -0
  544. package/dist/infrastructure/persistence/sqlite/state.js +207 -0
  545. package/dist/infrastructure/persistence/sqlite/telemetry.d.ts +16 -0
  546. package/dist/infrastructure/persistence/sqlite/telemetry.js +126 -0
  547. package/dist/infrastructure/persistence/sqlite.d.ts +5 -280
  548. package/dist/infrastructure/persistence/sqlite.js +3 -1013
  549. package/dist/infrastructure/persistence/sqliteBatch.d.ts +4 -121
  550. package/dist/infrastructure/persistence/sqliteBatch.js +3 -422
  551. package/dist/infrastructure/persistence/sqliteSerializer.d.ts +6 -1
  552. package/dist/infrastructure/persistence/sqliteSerializer.js +33 -11
  553. package/dist/infrastructure/persistence/statements.d.ts +5 -1
  554. package/dist/infrastructure/persistence/statements.js +14 -9
  555. package/dist/infrastructure/persistence/types/admission.d.ts +8 -0
  556. package/dist/infrastructure/persistence/types/admission.js +1 -0
  557. package/dist/infrastructure/persistence/types/batch.d.ts +12 -0
  558. package/dist/infrastructure/persistence/types/batch.js +1 -0
  559. package/dist/infrastructure/persistence/types/sqlite.d.ts +17 -0
  560. package/dist/infrastructure/persistence/types/sqlite.js +1 -0
  561. package/dist/infrastructure/persistence/writeBuffer.d.ts +38 -0
  562. package/dist/infrastructure/persistence/writeBuffer.js +221 -0
  563. package/dist/infrastructure/scheduler/cron/execution.d.ts +12 -0
  564. package/dist/infrastructure/scheduler/cron/execution.js +150 -0
  565. package/dist/infrastructure/scheduler/cron/runtime.d.ts +31 -0
  566. package/dist/infrastructure/scheduler/cron/runtime.js +143 -0
  567. package/dist/infrastructure/scheduler/cronScheduler.d.ts +4 -117
  568. package/dist/infrastructure/scheduler/cronScheduler.js +3 -436
  569. package/dist/infrastructure/scheduler/types/cronScheduler.d.ts +16 -0
  570. package/dist/infrastructure/scheduler/types/cronScheduler.js +1 -0
  571. package/dist/infrastructure/server/bootstrap.js +3 -0
  572. package/dist/infrastructure/server/handler-routes/control.d.ts +8 -0
  573. package/dist/infrastructure/server/handler-routes/control.js +82 -0
  574. package/dist/infrastructure/server/handler-routes/jobs.d.ts +6 -0
  575. package/dist/infrastructure/server/handler-routes/jobs.js +110 -0
  576. package/dist/infrastructure/server/handler-routes/monitoring.d.ts +5 -0
  577. package/dist/infrastructure/server/handler-routes/monitoring.js +65 -0
  578. package/dist/infrastructure/server/handlerRoutes.d.ts +3 -26
  579. package/dist/infrastructure/server/handlerRoutes.js +3 -270
  580. package/dist/infrastructure/server/handlers/advanced/configNumbers.d.ts +2 -0
  581. package/dist/infrastructure/server/handlers/advanced/configNumbers.js +26 -0
  582. package/dist/infrastructure/server/handlers/advanced/dependencies.d.ts +15 -0
  583. package/dist/infrastructure/server/handlers/advanced/dependencies.js +38 -0
  584. package/dist/infrastructure/server/handlers/advanced/jobs.d.ts +33 -0
  585. package/dist/infrastructure/server/handlers/advanced/jobs.js +136 -0
  586. package/dist/infrastructure/server/handlers/advanced/queue.d.ts +42 -0
  587. package/dist/infrastructure/server/handlers/advanced/queue.js +111 -0
  588. package/dist/infrastructure/server/handlers/advanced.d.ts +3 -121
  589. package/dist/infrastructure/server/handlers/advanced.js +3 -336
  590. package/dist/infrastructure/server/handlers/core.d.ts +1 -4
  591. package/dist/infrastructure/server/handlers/core.js +37 -20
  592. package/dist/infrastructure/server/handlers/cron.js +9 -1
  593. package/dist/infrastructure/server/handlers/flow.js +6 -1
  594. package/dist/infrastructure/server/handlers/introspection.js +1 -1
  595. package/dist/infrastructure/server/handlers/management.d.ts +8 -0
  596. package/dist/infrastructure/server/handlers/management.js +30 -0
  597. package/dist/infrastructure/server/handlers/monitoring/health.d.ts +13 -0
  598. package/dist/infrastructure/server/handlers/monitoring/health.js +61 -0
  599. package/dist/infrastructure/server/handlers/monitoring/operations.d.ts +8 -0
  600. package/dist/infrastructure/server/handlers/monitoring/operations.js +28 -0
  601. package/dist/infrastructure/server/handlers/monitoring/webhooks.d.ts +7 -0
  602. package/dist/infrastructure/server/handlers/monitoring/webhooks.js +56 -0
  603. package/dist/infrastructure/server/handlers/monitoring/workers.d.ts +6 -0
  604. package/dist/infrastructure/server/handlers/monitoring/workers.js +57 -0
  605. package/dist/infrastructure/server/handlers/monitoring.d.ts +4 -30
  606. package/dist/infrastructure/server/handlers/monitoring.js +4 -222
  607. package/dist/infrastructure/server/handlers/pushBatchValidation.d.ts +1 -1
  608. package/dist/infrastructure/server/handlers/pushBatchValidation.js +7 -0
  609. package/dist/infrastructure/server/handlers/query.js +12 -3
  610. package/dist/infrastructure/server/http-routes/jobAdvanced.d.ts +2 -0
  611. package/dist/infrastructure/server/http-routes/jobAdvanced.js +106 -0
  612. package/dist/infrastructure/server/http-routes/jobManagement.d.ts +2 -0
  613. package/dist/infrastructure/server/http-routes/jobManagement.js +74 -0
  614. package/dist/infrastructure/server/http-routes/queueJobs.d.ts +2 -0
  615. package/dist/infrastructure/server/http-routes/queueJobs.js +108 -0
  616. package/dist/infrastructure/server/httpRouteJobs.d.ts +1 -8
  617. package/dist/infrastructure/server/httpRouteJobs.js +33 -222
  618. package/dist/infrastructure/server/httpRouteQueues.d.ts +1 -6
  619. package/dist/infrastructure/server/httpRouteQueues.js +51 -217
  620. package/dist/infrastructure/server/httpRouteResources.js +1 -0
  621. package/dist/infrastructure/server/protocol/commands.d.ts +8 -0
  622. package/dist/infrastructure/server/protocol/commands.js +31 -0
  623. package/dist/infrastructure/server/protocol/frameParser.d.ts +16 -0
  624. package/dist/infrastructure/server/protocol/frameParser.js +65 -0
  625. package/dist/infrastructure/server/protocol/lineBuffer.d.ts +6 -0
  626. package/dist/infrastructure/server/protocol/lineBuffer.js +21 -0
  627. package/dist/infrastructure/server/protocol/validation.d.ts +9 -0
  628. package/dist/infrastructure/server/protocol/validation.js +75 -0
  629. package/dist/infrastructure/server/protocol.d.ts +5 -77
  630. package/dist/infrastructure/server/protocol.js +4 -265
  631. package/dist/infrastructure/server/rateLimiter.js +1 -0
  632. package/dist/infrastructure/server/socketWriteQueue.d.ts +1 -1
  633. package/dist/infrastructure/server/socketWriteQueue.js +8 -5
  634. package/dist/infrastructure/server/sse/constants.d.ts +5 -0
  635. package/dist/infrastructure/server/sse/constants.js +5 -0
  636. package/dist/infrastructure/server/sse/eventBuffer.d.ts +3 -0
  637. package/dist/infrastructure/server/sse/eventBuffer.js +21 -0
  638. package/dist/infrastructure/server/sseHandler.d.ts +2 -6
  639. package/dist/infrastructure/server/sseHandler.js +20 -96
  640. package/dist/infrastructure/server/tcp/clientRelease.d.ts +2 -0
  641. package/dist/infrastructure/server/tcp/clientRelease.js +18 -0
  642. package/dist/infrastructure/server/tcp/connections.d.ts +24 -0
  643. package/dist/infrastructure/server/tcp/connections.js +162 -0
  644. package/dist/infrastructure/server/tcp/constants.d.ts +3 -0
  645. package/dist/infrastructure/server/tcp/constants.js +3 -0
  646. package/dist/infrastructure/server/tcp/eventSubscriptions.d.ts +10 -0
  647. package/dist/infrastructure/server/tcp/eventSubscriptions.js +17 -0
  648. package/dist/infrastructure/server/tcp/responses.d.ts +3 -0
  649. package/dist/infrastructure/server/tcp/responses.js +8 -0
  650. package/dist/infrastructure/server/tcp.d.ts +10 -68
  651. package/dist/infrastructure/server/tcp.js +47 -256
  652. package/dist/infrastructure/server/types/protocol.d.ts +4 -0
  653. package/dist/infrastructure/server/types/protocol.js +1 -0
  654. package/dist/infrastructure/server/types/sse.d.ts +11 -0
  655. package/dist/infrastructure/server/types/sse.js +1 -0
  656. package/dist/infrastructure/server/types/tcpServer.d.ts +25 -0
  657. package/dist/infrastructure/server/types/tcpServer.js +1 -0
  658. package/dist/infrastructure/server/types/ws.d.ts +6 -0
  659. package/dist/infrastructure/server/types/ws.js +1 -0
  660. package/dist/infrastructure/server/ws/constants.d.ts +6 -0
  661. package/dist/infrastructure/server/ws/constants.js +130 -0
  662. package/dist/infrastructure/server/ws/snapshots.d.ts +4 -0
  663. package/dist/infrastructure/server/ws/snapshots.js +52 -0
  664. package/dist/infrastructure/server/ws/subscriptions.d.ts +10 -0
  665. package/dist/infrastructure/server/ws/subscriptions.js +39 -0
  666. package/dist/infrastructure/server/wsHandler.d.ts +2 -10
  667. package/dist/infrastructure/server/wsHandler.js +12 -237
  668. package/dist/mcp/adapter.d.ts +5 -403
  669. package/dist/mcp/adapter.js +6 -778
  670. package/dist/mcp/backend/embedded/base.d.ts +7 -0
  671. package/dist/mcp/backend/embedded/base.js +15 -0
  672. package/dist/mcp/backend/embedded/index.d.ts +14 -0
  673. package/dist/mcp/backend/embedded/index.js +22 -0
  674. package/dist/mcp/backend/embedded/jobs.d.ts +44 -0
  675. package/dist/mcp/backend/embedded/jobs.js +98 -0
  676. package/dist/mcp/backend/embedded/queues.d.ts +27 -0
  677. package/dist/mcp/backend/embedded/queues.js +84 -0
  678. package/dist/mcp/backend/embedded/services.d.ts +29 -0
  679. package/dist/mcp/backend/embedded/services.js +107 -0
  680. package/dist/mcp/backend/serializers.d.ts +7 -0
  681. package/dist/mcp/backend/serializers.js +32 -0
  682. package/dist/mcp/backend/tcp/base.d.ts +19 -0
  683. package/dist/mcp/backend/tcp/base.js +54 -0
  684. package/dist/mcp/backend/tcp/index.d.ts +14 -0
  685. package/dist/mcp/backend/tcp/index.js +20 -0
  686. package/dist/mcp/backend/tcp/jobs.d.ts +44 -0
  687. package/dist/mcp/backend/tcp/jobs.js +122 -0
  688. package/dist/mcp/backend/tcp/queues.d.ts +27 -0
  689. package/dist/mcp/backend/tcp/queues.js +89 -0
  690. package/dist/mcp/backend/tcp/services.d.ts +30 -0
  691. package/dist/mcp/backend/tcp/services.js +161 -0
  692. package/dist/mcp/types/adapter.d.ts +176 -0
  693. package/dist/mcp/types/adapter.js +1 -0
  694. package/dist/shared/asyncLock.d.ts +13 -0
  695. package/dist/shared/asyncLock.js +65 -0
  696. package/dist/shared/lock.d.ts +10 -72
  697. package/dist/shared/lock.js +7 -231
  698. package/dist/shared/lockError.d.ts +3 -0
  699. package/dist/shared/lockError.js +6 -0
  700. package/dist/shared/lockTimeout.d.ts +2 -0
  701. package/dist/shared/lockTimeout.js +2 -0
  702. package/dist/shared/rwLock.d.ts +22 -0
  703. package/dist/shared/rwLock.js +124 -0
  704. package/dist/shared/serialization.js +1 -0
  705. package/dist/shared/skipList.d.ts +0 -5
  706. package/dist/shared/skipList.js +10 -57
  707. package/dist/shared/skipListNodes.d.ts +6 -0
  708. package/dist/shared/skipListNodes.js +43 -0
  709. package/dist/shared/types/lock.d.ts +7 -0
  710. package/dist/shared/types/lock.js +1 -0
  711. package/dist/shared/types/skipList.d.ts +4 -0
  712. package/dist/shared/types/skipList.js +1 -0
  713. package/package.json +2 -1
  714. package/dist/application/types.d.ts +0 -148
  715. package/dist/client/sandboxed/types.d.ts +0 -79
  716. package/dist/client/sandboxed/types.js +0 -5
  717. package/dist/client/worker/types.d.ts +0 -50
  718. /package/dist/client/queue/{queueTypes.js → types/contexts.js} +0 -0
@@ -1,9 +1,6 @@
1
- /**
2
- * Core Command Handlers
3
- * Push, Pull, Ack, Fail operations
4
- */
1
+ /** Core command handlers for push, pull, acknowledgement, and failure. */
5
2
  import * as resp from '../../../domain/types/response';
6
- import { jobId } from '../../../domain/types/job';
3
+ import { jobId, normalizeLegacyJobPayload } from '../../../domain/types/job';
7
4
  import { validateQueueName, validateJobData, validateJobOptions, validateNumericField, } from '../protocol';
8
5
  import { validatePushBatchJobs } from './pushBatchValidation';
9
6
  /** Handle PUSH command */
@@ -42,8 +39,10 @@ export async function handlePush(cmd, ctx, reqId) {
42
39
  }
43
40
  }
44
41
  try {
42
+ const payload = normalizeLegacyJobPayload(cmd);
45
43
  const job = await ctx.queueManager.push(cmd.queue, {
46
- data: cmd.data,
44
+ name: payload.name,
45
+ data: payload.data,
47
46
  priority: cmd.priority,
48
47
  delay: cmd.delay,
49
48
  maxAttempts: cmd.maxAttempts,
@@ -92,7 +91,11 @@ export async function handlePushBatch(cmd, ctx, reqId) {
92
91
  const jobsError = validatePushBatchJobs(cmd.jobs, ctx);
93
92
  if (jobsError)
94
93
  return resp.error(jobsError, reqId);
95
- const ids = await ctx.queueManager.pushBatch(cmd.queue, cmd.jobs);
94
+ const inputs = cmd.jobs.map((job) => {
95
+ const payload = normalizeLegacyJobPayload(job);
96
+ return { ...job, name: payload.name, data: payload.data };
97
+ });
98
+ const ids = await ctx.queueManager.pushBatch(cmd.queue, inputs);
96
99
  return resp.batch(ids, reqId);
97
100
  }
98
101
  /** Handle PULL command */
@@ -158,10 +161,12 @@ export async function handlePullBatch(cmd, ctx, reqId) {
158
161
  export async function handleAck(cmd, ctx, reqId) {
159
162
  try {
160
163
  const jid = jobId(cmd.id);
161
- await ctx.queueManager.ack(jid, cmd.result, cmd.token);
162
- // Unregister job from client tracking
163
- ctx.queueManager.unregisterClientJob(ctx.clientId, jid);
164
- return resp.ok(undefined, reqId);
164
+ const outcome = await ctx.queueManager.ack(jid, cmd.result, cmd.token, {
165
+ removeOnComplete: cmd.removeOnComplete,
166
+ });
167
+ if (!outcome)
168
+ ctx.queueManager.unregisterClientJob(ctx.clientId, jid);
169
+ return outcome ? resp.data(outcome, reqId) : resp.ok(undefined, reqId);
165
170
  }
166
171
  catch (err) {
167
172
  return resp.error(err instanceof Error ? err.message : String(err), reqId);
@@ -169,9 +174,19 @@ export async function handleAck(cmd, ctx, reqId) {
169
174
  }
170
175
  /** Handle ACKB (batch ack) command - supports optional results and tokens */
171
176
  export async function handleAckBatch(cmd, ctx, reqId) {
177
+ if (cmd.tokens && cmd.tokens.length !== cmd.ids.length) {
178
+ return resp.error('ACKB tokens length must match ids length', reqId);
179
+ }
180
+ if (cmd.results && cmd.results.length !== cmd.ids.length) {
181
+ return resp.error('ACKB results length must match ids length', reqId);
182
+ }
183
+ if (cmd.removeOnCompletes && cmd.removeOnCompletes.length !== cmd.ids.length) {
184
+ return resp.error('ACKB removeOnCompletes length must match ids length', reqId);
185
+ }
172
186
  const ids = cmd.ids.map((id) => jobId(id));
173
187
  try {
174
188
  // If results provided, use ackBatchWithResults
189
+ let outcome;
175
190
  if (cmd.results?.length === cmd.ids.length) {
176
191
  const results = cmd.results;
177
192
  const tokens = cmd.tokens;
@@ -179,18 +194,20 @@ export async function handleAckBatch(cmd, ctx, reqId) {
179
194
  id,
180
195
  result: results[i],
181
196
  token: tokens?.[i],
197
+ removeOnComplete: cmd.removeOnCompletes?.[i] === true ? true : undefined,
182
198
  }));
183
- await ctx.queueManager.ackBatchWithResults(items);
199
+ outcome = await ctx.queueManager.ackBatchWithResults(items);
184
200
  }
185
201
  else {
186
202
  // Use optimized batch ack without results
187
- await ctx.queueManager.ackBatch(ids, cmd.tokens);
203
+ outcome = await ctx.queueManager.ackBatch(ids, cmd.tokens);
188
204
  }
189
- // Unregister all jobs from client tracking
205
+ const ignoredIds = new Set(outcome?.ignoredIds ?? []);
190
206
  for (const id of ids) {
191
- ctx.queueManager.unregisterClientJob(ctx.clientId, id);
207
+ if (!ignoredIds.has(id))
208
+ ctx.queueManager.unregisterClientJob(ctx.clientId, id);
192
209
  }
193
- return resp.ok(undefined, reqId);
210
+ return outcome ? resp.data(outcome, reqId) : resp.ok(undefined, reqId);
194
211
  }
195
212
  catch (err) {
196
213
  return resp.error(err instanceof Error ? err.message : String(err), reqId);
@@ -206,10 +223,10 @@ export async function handleFail(cmd, ctx, reqId) {
206
223
  const stack = Array.isArray(cmd.stack)
207
224
  ? cmd.stack.filter((line) => typeof line === 'string').slice(0, 100)
208
225
  : undefined;
209
- await ctx.queueManager.fail(jid, cmd.error, cmd.token, cmd.unrecoverable, stack && stack.length > 0 ? stack : undefined);
210
- // Unregister job from client tracking
211
- ctx.queueManager.unregisterClientJob(ctx.clientId, jid);
212
- return resp.ok(undefined, reqId);
226
+ const outcome = await ctx.queueManager.fail(jid, cmd.error, cmd.token, cmd.unrecoverable, stack && stack.length > 0 ? stack : undefined, cmd.removeOnFail);
227
+ if (!outcome)
228
+ ctx.queueManager.unregisterClientJob(ctx.clientId, jid);
229
+ return outcome ? resp.data(outcome, reqId) : resp.ok(undefined, reqId);
213
230
  }
214
231
  catch (err) {
215
232
  return resp.error(err instanceof Error ? err.message : String(err), reqId);
@@ -3,14 +3,17 @@
3
3
  * Cron, CronGet, CronDelete, CronList
4
4
  */
5
5
  import * as resp from '../../../domain/types/response';
6
+ import { normalizeLegacyJobPayload } from '../../../domain/types/job';
6
7
  /** Handle Cron command - add cron job */
7
8
  export function handleCron(cmd, ctx, reqId) {
8
9
  try {
10
+ const payload = normalizeLegacyJobPayload({ name: cmd.jobName, data: cmd.data });
9
11
  const existing = ctx.queueManager.getCron(cmd.name);
10
12
  const cron = ctx.queueManager.addCron({
11
13
  name: cmd.name,
14
+ jobName: payload.name,
12
15
  queue: cmd.queue,
13
- data: cmd.data,
16
+ data: payload.data,
14
17
  schedule: cmd.schedule,
15
18
  repeatEvery: cmd.repeatEvery,
16
19
  priority: cmd.priority,
@@ -35,10 +38,13 @@ export function handleCron(cmd, ctx, reqId) {
35
38
  ok: true,
36
39
  cron: {
37
40
  name: cron.name,
41
+ jobName: cron.jobName,
38
42
  queue: cron.queue,
39
43
  schedule: cron.schedule,
40
44
  repeatEvery: cron.repeatEvery,
41
45
  nextRun: cron.nextRun,
46
+ executions: cron.executions,
47
+ maxLimit: cron.maxLimit,
42
48
  timezone: cron.timezone,
43
49
  priority: cron.priority,
44
50
  },
@@ -59,6 +65,7 @@ export function handleCronGet(cmd, ctx, reqId) {
59
65
  ok: true,
60
66
  cron: {
61
67
  name: cron.name,
68
+ jobName: cron.jobName,
62
69
  queue: cron.queue,
63
70
  schedule: cron.schedule,
64
71
  repeatEvery: cron.repeatEvery,
@@ -84,6 +91,7 @@ export function handleCronList(_cmd, ctx, reqId) {
84
91
  ok: true,
85
92
  crons: crons.map((c) => ({
86
93
  name: c.name,
94
+ jobName: c.jobName,
87
95
  queue: c.queue,
88
96
  schedule: c.schedule,
89
97
  repeatEvery: c.repeatEvery,
@@ -1,8 +1,13 @@
1
1
  import * as resp from '../../../domain/types/response';
2
+ import { normalizeLegacyJobPayload } from '../../../domain/types/job';
2
3
  /** Commit the whole graph in one broker operation; validation happens pre-mutation. */
3
4
  export async function handlePushFlow(cmd, ctx, reqId) {
4
5
  try {
5
- const result = await ctx.queueManager.pushFlow({ jobs: cmd.jobs });
6
+ const jobs = cmd.jobs.map((job) => {
7
+ const payload = normalizeLegacyJobPayload(job.input);
8
+ return { ...job, input: { ...job.input, name: payload.name, data: payload.data } };
9
+ });
10
+ const result = await ctx.queueManager.pushFlow({ jobs });
6
11
  return resp.data(result, reqId);
7
12
  }
8
13
  catch (error) {
@@ -16,6 +16,6 @@ export async function handleRemoveJobDeduplicationKey(cmd, ctx, reqId) {
16
16
  return resp.data({ removed }, reqId);
17
17
  }
18
18
  export async function handleMoveToWaitingChildren(cmd, ctx, reqId) {
19
- const moved = await ctx.queueManager.moveToWaitingChildren(jobId(cmd.id));
19
+ const moved = await ctx.queueManager.moveToWaitingChildren(jobId(cmd.id), cmd.token);
20
20
  return moved ? resp.data({ moved: true }, reqId) : resp.error('Job is not active', reqId);
21
21
  }
@@ -37,3 +37,11 @@ export declare function handleStorageStatus(_cmd: Extract<Command, {
37
37
  }>, ctx: HandlerContext, reqId?: string): Response;
38
38
  /** Handle Metrics command */
39
39
  export declare function handleMetrics(ctx: HandlerContext, reqId?: string): Response;
40
+ /** Handle the queue-scoped Metrics form. */
41
+ export declare function handleQueueMetrics(cmd: Extract<Command, {
42
+ cmd: 'Metrics';
43
+ }>, ctx: HandlerContext, reqId?: string): Response;
44
+ /** Trim one queue's durable lifecycle-event journal. */
45
+ export declare function handleTrimEvents(cmd: Extract<Command, {
46
+ cmd: 'TrimEvents';
47
+ }>, ctx: HandlerContext, reqId?: string): Response;
@@ -6,6 +6,7 @@ import * as resp from '../../../domain/types/response';
6
6
  import { jobId } from '../../../domain/types/job';
7
7
  import { throughputTracker } from '../../../application/throughputTracker';
8
8
  import { latencyTracker } from '../../../application/latencyTracker';
9
+ import { validateQueueName } from '../protocol/validation';
9
10
  /** Handle Cancel command */
10
11
  export async function handleCancel(cmd, ctx, reqId) {
11
12
  const success = await ctx.queueManager.cancel(jobId(cmd.id));
@@ -97,3 +98,32 @@ export function handleMetrics(ctx, reqId) {
97
98
  activeConnections: 0,
98
99
  }, reqId);
99
100
  }
101
+ /** Handle the queue-scoped Metrics form. */
102
+ export function handleQueueMetrics(cmd, ctx, reqId) {
103
+ if (typeof cmd.queue !== 'string')
104
+ return resp.error('Metrics queue is required', reqId);
105
+ const queueError = validateQueueName(cmd.queue);
106
+ if (queueError)
107
+ return resp.error(queueError, reqId);
108
+ if (cmd.type !== 'completed' && cmd.type !== 'failed') {
109
+ return resp.error("Metrics type must be 'completed' or 'failed'", reqId);
110
+ }
111
+ try {
112
+ return resp.data(ctx.queueManager.getQueueMetrics(cmd.queue, cmd.type, cmd.start ?? 0, cmd.end ?? -1), reqId);
113
+ }
114
+ catch (error) {
115
+ return resp.error(error instanceof Error ? error.message : String(error), reqId);
116
+ }
117
+ }
118
+ /** Trim one queue's durable lifecycle-event journal. */
119
+ export function handleTrimEvents(cmd, ctx, reqId) {
120
+ const queueError = validateQueueName(cmd.queue);
121
+ if (queueError)
122
+ return resp.error(queueError, reqId);
123
+ try {
124
+ return resp.data({ removed: ctx.queueManager.trimQueueEvents(cmd.queue, cmd.maxLength) }, reqId);
125
+ }
126
+ catch (error) {
127
+ return resp.error(error instanceof Error ? error.message : String(error), reqId);
128
+ }
129
+ }
@@ -0,0 +1,13 @@
1
+ import type { AddLogCommand, GetLogsCommand, HeartbeatCommand, HelloCommand, JobHeartbeatBatchCommand, JobHeartbeatCommand, PingCommand } from '../../../../domain/types/command';
2
+ import { PROTOCOL_VERSION, type ProtocolCapability } from '../../../../domain/types/protocol';
3
+ import type { Response } from '../../../../domain/types/response';
4
+ import type { HandlerContext } from '../../types';
5
+ export { PROTOCOL_VERSION };
6
+ export declare const SUPPORTED_CAPABILITIES: ProtocolCapability[];
7
+ export declare function handleAddLog(command: AddLogCommand, context: HandlerContext, requestId?: string): Response;
8
+ export declare function handleGetLogs(command: GetLogsCommand, context: HandlerContext, requestId?: string): Response;
9
+ export declare function handleHeartbeat(command: HeartbeatCommand, context: HandlerContext, requestId?: string): Response;
10
+ export declare function handleJobHeartbeat(command: JobHeartbeatCommand, context: HandlerContext, requestId?: string): Response;
11
+ export declare function handleJobHeartbeatBatch(command: JobHeartbeatBatchCommand, context: HandlerContext, requestId?: string): Response;
12
+ export declare function handlePing(_command: PingCommand, _context: HandlerContext, requestId?: string): Response;
13
+ export declare function handleHello(_command: HelloCommand, _context: HandlerContext, requestId?: string): Response;
@@ -0,0 +1,61 @@
1
+ import { jobId } from '../../../../domain/types/job';
2
+ import { PROTOCOL_CAPABILITIES, PROTOCOL_VERSION, } from '../../../../domain/types/protocol';
3
+ import * as response from '../../../../domain/types/response';
4
+ import { VERSION } from '../../../../shared/version';
5
+ export { PROTOCOL_VERSION };
6
+ export const SUPPORTED_CAPABILITIES = [...PROTOCOL_CAPABILITIES];
7
+ export function handleAddLog(command, context, requestId) {
8
+ const success = context.queueManager.addLog(jobId(command.id), command.message, command.level ?? 'info');
9
+ return success
10
+ ? response.data({ added: true }, requestId)
11
+ : response.error('Job not found', requestId);
12
+ }
13
+ export function handleGetLogs(command, context, requestId) {
14
+ const all = context.queueManager.getLogs(jobId(command.id));
15
+ const total = all.length;
16
+ const logs = command.start === undefined && command.end === undefined
17
+ ? all
18
+ : all.slice(command.start ?? 0, (command.end ?? total - 1) + 1);
19
+ return response.data({ logs, count: total }, requestId);
20
+ }
21
+ export function handleHeartbeat(command, context, requestId) {
22
+ const stats = command.activeJobs !== undefined ||
23
+ command.processed !== undefined ||
24
+ command.failed !== undefined
25
+ ? {
26
+ activeJobs: command.activeJobs,
27
+ processed: command.processed,
28
+ failed: command.failed,
29
+ }
30
+ : undefined;
31
+ const success = context.queueManager.workerManager.heartbeat(command.id, stats);
32
+ if (success) {
33
+ context.queueManager.emitDashboardEvent('worker:heartbeat', { workerId: command.id });
34
+ return response.data({ ok: true }, requestId);
35
+ }
36
+ return response.error('Worker not found', requestId);
37
+ }
38
+ export function handleJobHeartbeat(command, context, requestId) {
39
+ const id = jobId(command.id);
40
+ if (command.duration && command.token) {
41
+ const success = context.queueManager.renewJobLock(id, command.token, command.duration);
42
+ return success
43
+ ? response.data({ ok: true }, requestId)
44
+ : response.error('Job not found or not active (or invalid token)', requestId);
45
+ }
46
+ const success = context.queueManager.jobHeartbeat(id, command.token);
47
+ return success
48
+ ? response.data({ ok: true }, requestId)
49
+ : response.error('Job not found or not active (or invalid token)', requestId);
50
+ }
51
+ export function handleJobHeartbeatBatch(command, context, requestId) {
52
+ const ids = command.ids.map((id) => jobId(id));
53
+ const count = context.queueManager.jobHeartbeatBatch(ids, command.tokens);
54
+ return response.data({ ok: true, count }, requestId);
55
+ }
56
+ export function handlePing(_command, _context, requestId) {
57
+ return response.data({ pong: true, time: Date.now() }, requestId);
58
+ }
59
+ export function handleHello(_command, _context, requestId) {
60
+ return response.hello(PROTOCOL_VERSION, SUPPORTED_CAPABILITIES, 'bunqueue', VERSION, requestId);
61
+ }
@@ -0,0 +1,8 @@
1
+ import type { ClearLogsCommand, CompactMemoryCommand, ExtendLockCommand, ExtendLocksCommand, PrometheusCommand } from '../../../../domain/types/command';
2
+ import type { Response } from '../../../../domain/types/response';
3
+ import type { HandlerContext } from '../../types';
4
+ export declare function handlePrometheus(_command: PrometheusCommand, context: HandlerContext, requestId?: string): Response;
5
+ export declare function handleClearLogs(command: ClearLogsCommand, context: HandlerContext, requestId?: string): Response;
6
+ export declare function handleExtendLock(command: ExtendLockCommand, context: HandlerContext, requestId?: string): Promise<Response>;
7
+ export declare function handleExtendLocks(command: ExtendLocksCommand, context: HandlerContext, requestId?: string): Promise<Response>;
8
+ export declare function handleCompactMemory(_command: CompactMemoryCommand, context: HandlerContext, requestId?: string): Response;
@@ -0,0 +1,28 @@
1
+ import { jobId } from '../../../../domain/types/job';
2
+ import * as response from '../../../../domain/types/response';
3
+ export function handlePrometheus(_command, context, requestId) {
4
+ return response.data({ metrics: context.queueManager.getPrometheusMetrics() }, requestId);
5
+ }
6
+ export function handleClearLogs(command, context, requestId) {
7
+ context.queueManager.clearLogs(jobId(command.id), command.keepLogs);
8
+ return response.ok(undefined, requestId);
9
+ }
10
+ export async function handleExtendLock(command, context, requestId) {
11
+ const success = await context.queueManager.extendLock(jobId(command.id), command.token ?? null, command.duration);
12
+ return success
13
+ ? response.ok(undefined, requestId)
14
+ : response.error('Lock not found or invalid token', requestId);
15
+ }
16
+ export async function handleExtendLocks(command, context, requestId) {
17
+ let count = 0;
18
+ for (let index = 0; index < command.ids.length; index++) {
19
+ const success = await context.queueManager.extendLock(jobId(command.ids[index]), command.tokens[index] ?? null, command.durations[index]);
20
+ if (success)
21
+ count++;
22
+ }
23
+ return { ok: true, count, reqId: requestId };
24
+ }
25
+ export function handleCompactMemory(_command, context, requestId) {
26
+ context.queueManager.compactMemory();
27
+ return response.ok(undefined, requestId);
28
+ }
@@ -0,0 +1,7 @@
1
+ import type { AddWebhookCommand, ListWebhooksCommand, RemoveWebhookCommand, SetWebhookEnabledCommand } from '../../../../domain/types/command';
2
+ import type { Response } from '../../../../domain/types/response';
3
+ import type { HandlerContext } from '../../types';
4
+ export declare function handleAddWebhook(command: AddWebhookCommand, context: HandlerContext, requestId?: string): Response;
5
+ export declare function handleRemoveWebhook(command: RemoveWebhookCommand, context: HandlerContext, requestId?: string): Response;
6
+ export declare function handleListWebhooks(_command: ListWebhooksCommand, context: HandlerContext, requestId?: string): Response;
7
+ export declare function handleSetWebhookEnabled(command: SetWebhookEnabledCommand, context: HandlerContext, requestId?: string): Response;
@@ -0,0 +1,56 @@
1
+ import * as response from '../../../../domain/types/response';
2
+ import { WEBHOOK_EVENTS } from '../../../../domain/types/webhook';
3
+ import { validateWebhookUrl } from '../../protocol';
4
+ export function handleAddWebhook(command, context, requestId) {
5
+ const urlError = validateWebhookUrl(command.url);
6
+ if (urlError)
7
+ return response.error(urlError, requestId);
8
+ const invalidEvents = command.events.filter((event) => !WEBHOOK_EVENTS.includes(event));
9
+ if (invalidEvents.length > 0) {
10
+ return response.error(`Invalid webhook event(s): ${invalidEvents.join(', ')}. Valid: ${WEBHOOK_EVENTS.join(', ')}`, requestId);
11
+ }
12
+ const webhook = context.queueManager.webhookManager.add(command.url, command.events, command.queue, command.secret);
13
+ context.queueManager.emitDashboardEvent('webhook:added', {
14
+ id: webhook.id,
15
+ url: webhook.url,
16
+ events: webhook.events,
17
+ });
18
+ return response.data({
19
+ webhookId: webhook.id,
20
+ url: webhook.url,
21
+ events: webhook.events,
22
+ queue: webhook.queue,
23
+ createdAt: webhook.createdAt,
24
+ }, requestId);
25
+ }
26
+ export function handleRemoveWebhook(command, context, requestId) {
27
+ const success = context.queueManager.webhookManager.remove(command.webhookId);
28
+ if (success) {
29
+ context.queueManager.emitDashboardEvent('webhook:removed', { id: command.webhookId });
30
+ return response.data({ removed: true }, requestId);
31
+ }
32
+ return response.error('Webhook not found', requestId);
33
+ }
34
+ export function handleListWebhooks(_command, context, requestId) {
35
+ const webhooks = context.queueManager.webhookManager.list();
36
+ return response.data({
37
+ webhooks: webhooks.map((webhook) => ({
38
+ id: webhook.id,
39
+ url: webhook.url,
40
+ events: webhook.events,
41
+ queue: webhook.queue,
42
+ createdAt: webhook.createdAt,
43
+ lastTriggered: webhook.lastTriggered,
44
+ successCount: webhook.successCount,
45
+ failureCount: webhook.failureCount,
46
+ enabled: webhook.enabled,
47
+ })),
48
+ stats: context.queueManager.webhookManager.getStats(),
49
+ }, requestId);
50
+ }
51
+ export function handleSetWebhookEnabled(command, context, requestId) {
52
+ const success = context.queueManager.webhookManager.setEnabled(command.id, command.enabled);
53
+ return success
54
+ ? response.ok(undefined, requestId)
55
+ : response.error('Webhook not found', requestId);
56
+ }
@@ -0,0 +1,6 @@
1
+ import type { ListWorkersCommand, RegisterWorkerCommand, UnregisterWorkerCommand } from '../../../../domain/types/command';
2
+ import type { Response } from '../../../../domain/types/response';
3
+ import type { HandlerContext } from '../../types';
4
+ export declare function handleRegisterWorker(command: RegisterWorkerCommand, context: HandlerContext, requestId?: string): Response;
5
+ export declare function handleUnregisterWorker(command: UnregisterWorkerCommand, context: HandlerContext, requestId?: string): Response;
6
+ export declare function handleListWorkers(_command: ListWorkersCommand, context: HandlerContext, requestId?: string): Response;
@@ -0,0 +1,57 @@
1
+ import * as response from '../../../../domain/types/response';
2
+ const WORKER_TIMEOUT_MS = parseInt(Bun.env.WORKER_TIMEOUT_MS ?? '30000', 10);
3
+ function computeWorkerStatus(lastSeen, now) {
4
+ return now - lastSeen < WORKER_TIMEOUT_MS ? 'active' : 'stale';
5
+ }
6
+ export function handleRegisterWorker(command, context, requestId) {
7
+ const worker = context.queueManager.registerWorker(command.name, command.queues, command.concurrency, {
8
+ workerId: command.workerId,
9
+ hostname: command.hostname,
10
+ pid: command.pid,
11
+ startedAt: command.startedAt,
12
+ clientId: context.clientId,
13
+ });
14
+ return response.data({
15
+ workerId: worker.id,
16
+ name: worker.name,
17
+ queues: worker.queues,
18
+ concurrency: worker.concurrency,
19
+ hostname: worker.hostname,
20
+ pid: worker.pid,
21
+ status: 'active',
22
+ registeredAt: worker.registeredAt,
23
+ lastSeen: worker.lastSeen,
24
+ activeJobs: worker.activeJobs,
25
+ processedJobs: worker.processedJobs,
26
+ failedJobs: worker.failedJobs,
27
+ currentJob: worker.currentJob,
28
+ }, requestId);
29
+ }
30
+ export function handleUnregisterWorker(command, context, requestId) {
31
+ return context.queueManager.unregisterWorker(command.workerId)
32
+ ? response.data({ removed: true }, requestId)
33
+ : response.error('Worker not found', requestId);
34
+ }
35
+ export function handleListWorkers(_command, context, requestId) {
36
+ const workers = context.queueManager.workerManager.list();
37
+ const now = Date.now();
38
+ return response.data({
39
+ workers: workers.map((worker) => ({
40
+ id: worker.id,
41
+ name: worker.name,
42
+ queues: worker.queues,
43
+ concurrency: worker.concurrency,
44
+ hostname: worker.hostname,
45
+ pid: worker.pid,
46
+ status: computeWorkerStatus(worker.lastSeen, now),
47
+ registeredAt: worker.registeredAt,
48
+ lastSeen: worker.lastSeen,
49
+ activeJobs: worker.activeJobs,
50
+ processedJobs: worker.processedJobs,
51
+ failedJobs: worker.failedJobs,
52
+ currentJob: worker.currentJob,
53
+ uptime: now - worker.registeredAt,
54
+ })),
55
+ stats: context.queueManager.workerManager.getStats(),
56
+ }, requestId);
57
+ }
@@ -1,30 +1,4 @@
1
- /**
2
- * Monitoring Handlers
3
- * Handles logs, workers, webhooks, and prometheus metrics
4
- */
5
- import type { AddLogCommand, GetLogsCommand, HeartbeatCommand, JobHeartbeatCommand, JobHeartbeatBatchCommand, PingCommand, HelloCommand, RegisterWorkerCommand, UnregisterWorkerCommand, ListWorkersCommand, AddWebhookCommand, RemoveWebhookCommand, ListWebhooksCommand, PrometheusCommand, ClearLogsCommand, ExtendLockCommand, ExtendLocksCommand, SetWebhookEnabledCommand, CompactMemoryCommand } from '../../../domain/types/command';
6
- import type { Response } from '../../../domain/types/response';
7
- import type { HandlerContext } from '../types';
8
- export declare function handleAddLog(cmd: AddLogCommand, ctx: HandlerContext, reqId?: string): Response;
9
- export declare function handleGetLogs(cmd: GetLogsCommand, ctx: HandlerContext, reqId?: string): Response;
10
- export declare function handleHeartbeat(cmd: HeartbeatCommand, ctx: HandlerContext, reqId?: string): Response;
11
- export declare function handleJobHeartbeat(cmd: JobHeartbeatCommand, ctx: HandlerContext, reqId?: string): Response;
12
- export declare function handleJobHeartbeatBatch(cmd: JobHeartbeatBatchCommand, ctx: HandlerContext, reqId?: string): Response;
13
- export declare function handlePing(_cmd: PingCommand, _ctx: HandlerContext, reqId?: string): Response;
14
- /** Current protocol version */
15
- export declare const PROTOCOL_VERSION = 2;
16
- /** Supported capabilities */
17
- export declare const SUPPORTED_CAPABILITIES: 'pipelining'[];
18
- export declare function handleHello(_cmd: HelloCommand, _ctx: HandlerContext, reqId?: string): Response;
19
- export declare function handleRegisterWorker(cmd: RegisterWorkerCommand, ctx: HandlerContext, reqId?: string): Response;
20
- export declare function handleUnregisterWorker(cmd: UnregisterWorkerCommand, ctx: HandlerContext, reqId?: string): Response;
21
- export declare function handleListWorkers(_cmd: ListWorkersCommand, ctx: HandlerContext, reqId?: string): Response;
22
- export declare function handleAddWebhook(cmd: AddWebhookCommand, ctx: HandlerContext, reqId?: string): Response;
23
- export declare function handleRemoveWebhook(cmd: RemoveWebhookCommand, ctx: HandlerContext, reqId?: string): Response;
24
- export declare function handleListWebhooks(_cmd: ListWebhooksCommand, ctx: HandlerContext, reqId?: string): Response;
25
- export declare function handlePrometheus(_cmd: PrometheusCommand, ctx: HandlerContext, reqId?: string): Response;
26
- export declare function handleClearLogs(cmd: ClearLogsCommand, ctx: HandlerContext, reqId?: string): Response;
27
- export declare function handleExtendLock(cmd: ExtendLockCommand, ctx: HandlerContext, reqId?: string): Promise<Response>;
28
- export declare function handleExtendLocks(cmd: ExtendLocksCommand, ctx: HandlerContext, reqId?: string): Promise<Response>;
29
- export declare function handleSetWebhookEnabled(cmd: SetWebhookEnabledCommand, ctx: HandlerContext, reqId?: string): Response;
30
- export declare function handleCompactMemory(_cmd: CompactMemoryCommand, ctx: HandlerContext, reqId?: string): Response;
1
+ export { handleAddLog, handleGetLogs, handleHeartbeat, handleHello, handleJobHeartbeat, handleJobHeartbeatBatch, handlePing, PROTOCOL_VERSION, SUPPORTED_CAPABILITIES, } from './monitoring/health';
2
+ export { handleClearLogs, handleCompactMemory, handleExtendLock, handleExtendLocks, handlePrometheus, } from './monitoring/operations';
3
+ export { handleAddWebhook, handleListWebhooks, handleRemoveWebhook, handleSetWebhookEnabled, } from './monitoring/webhooks';
4
+ export { handleListWorkers, handleRegisterWorker, handleUnregisterWorker, } from './monitoring/workers';