bunqueue 2.8.0 → 2.8.2

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 (1014) hide show
  1. package/README.md +44 -11
  2. package/dist/application/backgroundTasks.d.ts +0 -1
  3. package/dist/application/backgroundTasks.js +83 -1
  4. package/dist/application/cleanupTasks.d.ts +0 -1
  5. package/dist/application/cleanupTasks.js +0 -1
  6. package/dist/application/clientTracking.d.ts +23 -1
  7. package/dist/application/clientTracking.js +80 -26
  8. package/dist/application/contextFactory.d.ts +6 -1
  9. package/dist/application/contextFactory.js +7 -1
  10. package/dist/application/dependencyProcessor.d.ts +0 -1
  11. package/dist/application/dependencyProcessor.js +0 -1
  12. package/dist/application/dlqManager.d.ts +0 -1
  13. package/dist/application/dlqManager.js +5 -1
  14. package/dist/application/eventsManager.d.ts +0 -1
  15. package/dist/application/eventsManager.js +0 -1
  16. package/dist/application/jobLogsManager.d.ts +0 -1
  17. package/dist/application/jobLogsManager.js +0 -1
  18. package/dist/application/latencyTracker.d.ts +0 -1
  19. package/dist/application/latencyTracker.js +0 -1
  20. package/dist/application/lockManager.d.ts +1 -2
  21. package/dist/application/lockManager.js +1 -2
  22. package/dist/application/lockOperations.d.ts +0 -1
  23. package/dist/application/lockOperations.js +0 -1
  24. package/dist/application/metricsExporter.d.ts +0 -1
  25. package/dist/application/metricsExporter.js +0 -1
  26. package/dist/application/monitoringChecks.d.ts +0 -1
  27. package/dist/application/monitoringChecks.js +0 -1
  28. package/dist/application/operations/ack.d.ts +0 -1
  29. package/dist/application/operations/ack.js +32 -34
  30. package/dist/application/operations/ackHelpers.d.ts +0 -1
  31. package/dist/application/operations/ackHelpers.js +0 -1
  32. package/dist/application/operations/index.d.ts +0 -1
  33. package/dist/application/operations/index.js +0 -1
  34. package/dist/application/operations/jobManagement.d.ts +1 -2
  35. package/dist/application/operations/jobManagement.js +3 -3
  36. package/dist/application/operations/jobStateTransitions.d.ts +0 -1
  37. package/dist/application/operations/jobStateTransitions.js +0 -1
  38. package/dist/application/operations/pull.d.ts +0 -1
  39. package/dist/application/operations/pull.js +0 -1
  40. package/dist/application/operations/push.d.ts +0 -1
  41. package/dist/application/operations/push.js +0 -1
  42. package/dist/application/operations/queryOperations.d.ts +0 -1
  43. package/dist/application/operations/queryOperations.js +37 -4
  44. package/dist/application/operations/queueControl.d.ts +16 -5
  45. package/dist/application/operations/queueControl.js +119 -24
  46. package/dist/application/queueManager.d.ts +17 -4
  47. package/dist/application/queueManager.js +106 -28
  48. package/dist/application/stallDetection.d.ts +0 -1
  49. package/dist/application/stallDetection.js +1 -1
  50. package/dist/application/statsManager.d.ts +0 -1
  51. package/dist/application/statsManager.js +0 -1
  52. package/dist/application/taskErrorTracking.d.ts +0 -1
  53. package/dist/application/taskErrorTracking.js +0 -1
  54. package/dist/application/throughputTracker.d.ts +0 -1
  55. package/dist/application/throughputTracker.js +0 -1
  56. package/dist/application/types.d.ts +2 -2
  57. package/dist/application/types.js +0 -1
  58. package/dist/application/webhookManager.d.ts +0 -1
  59. package/dist/application/webhookManager.js +0 -1
  60. package/dist/application/workerManager.d.ts +0 -1
  61. package/dist/application/workerManager.js +0 -1
  62. package/dist/cli/client.d.ts +0 -1
  63. package/dist/cli/client.js +15 -3
  64. package/dist/cli/commands/backup.d.ts +0 -1
  65. package/dist/cli/commands/backup.js +0 -1
  66. package/dist/cli/commands/core.d.ts +0 -1
  67. package/dist/cli/commands/core.js +0 -1
  68. package/dist/cli/commands/cron.d.ts +0 -1
  69. package/dist/cli/commands/cron.js +0 -1
  70. package/dist/cli/commands/dlq.d.ts +0 -1
  71. package/dist/cli/commands/dlq.js +0 -1
  72. package/dist/cli/commands/doctor.d.ts +0 -1
  73. package/dist/cli/commands/doctor.js +0 -1
  74. package/dist/cli/commands/job.d.ts +0 -1
  75. package/dist/cli/commands/job.js +0 -1
  76. package/dist/cli/commands/monitor.d.ts +0 -1
  77. package/dist/cli/commands/monitor.js +0 -1
  78. package/dist/cli/commands/queue.d.ts +0 -1
  79. package/dist/cli/commands/queue.js +0 -1
  80. package/dist/cli/commands/rateLimit.d.ts +0 -1
  81. package/dist/cli/commands/rateLimit.js +0 -1
  82. package/dist/cli/commands/server.d.ts +0 -1
  83. package/dist/cli/commands/server.js +0 -1
  84. package/dist/cli/commands/types.d.ts +0 -1
  85. package/dist/cli/commands/types.js +0 -1
  86. package/dist/cli/commands/webhook.d.ts +0 -1
  87. package/dist/cli/commands/webhook.js +0 -1
  88. package/dist/cli/commands/worker.d.ts +0 -1
  89. package/dist/cli/commands/worker.js +0 -1
  90. package/dist/cli/help.d.ts +0 -1
  91. package/dist/cli/help.js +0 -1
  92. package/dist/cli/index.d.ts +0 -1
  93. package/dist/cli/index.js +31 -3
  94. package/dist/cli/output.d.ts +1 -2
  95. package/dist/cli/output.js +71 -10
  96. package/dist/client/bunqueue/aging.d.ts +0 -1
  97. package/dist/client/bunqueue/aging.js +0 -1
  98. package/dist/client/bunqueue/batch.d.ts +0 -1
  99. package/dist/client/bunqueue/batch.js +2 -3
  100. package/dist/client/bunqueue/cancellation.d.ts +0 -1
  101. package/dist/client/bunqueue/cancellation.js +0 -1
  102. package/dist/client/bunqueue/circuitBreaker.d.ts +0 -1
  103. package/dist/client/bunqueue/circuitBreaker.js +0 -1
  104. package/dist/client/bunqueue/dedupDebounce.d.ts +0 -1
  105. package/dist/client/bunqueue/dedupDebounce.js +0 -1
  106. package/dist/client/bunqueue/dlqRateLimit.d.ts +0 -1
  107. package/dist/client/bunqueue/dlqRateLimit.js +0 -1
  108. package/dist/client/bunqueue/retry.d.ts +0 -1
  109. package/dist/client/bunqueue/retry.js +0 -1
  110. package/dist/client/bunqueue/triggers.d.ts +0 -1
  111. package/dist/client/bunqueue/triggers.js +0 -1
  112. package/dist/client/bunqueue/ttl.d.ts +0 -1
  113. package/dist/client/bunqueue/ttl.js +0 -1
  114. package/dist/client/bunqueue/types.d.ts +0 -1
  115. package/dist/client/bunqueue/types.js +0 -1
  116. package/dist/client/bunqueue.d.ts +0 -1
  117. package/dist/client/bunqueue.js +3 -4
  118. package/dist/client/errors.d.ts +0 -1
  119. package/dist/client/errors.js +0 -1
  120. package/dist/client/events.d.ts +0 -1
  121. package/dist/client/events.js +0 -1
  122. package/dist/client/flow.d.ts +0 -1
  123. package/dist/client/flow.js +3 -2
  124. package/dist/client/flowJobFactory.d.ts +8 -2
  125. package/dist/client/flowJobFactory.js +328 -57
  126. package/dist/client/flowPush.d.ts +0 -1
  127. package/dist/client/flowPush.js +95 -47
  128. package/dist/client/flowTypes.d.ts +0 -1
  129. package/dist/client/flowTypes.js +0 -1
  130. package/dist/client/index.d.ts +0 -1
  131. package/dist/client/index.js +0 -1
  132. package/dist/client/jobConversion.d.ts +0 -1
  133. package/dist/client/jobConversion.js +12 -5
  134. package/dist/client/jobConversionHelpers.d.ts +0 -1
  135. package/dist/client/jobConversionHelpers.js +0 -1
  136. package/dist/client/jobConversionTypes.d.ts +0 -1
  137. package/dist/client/jobConversionTypes.js +0 -1
  138. package/dist/client/jobHelpers.d.ts +0 -1
  139. package/dist/client/jobHelpers.js +0 -1
  140. package/dist/client/manager.d.ts +0 -1
  141. package/dist/client/manager.js +0 -1
  142. package/dist/client/queue/addBatcher.d.ts +0 -1
  143. package/dist/client/queue/addBatcher.js +0 -1
  144. package/dist/client/queue/bullmqCompat.d.ts +1 -1
  145. package/dist/client/queue/bullmqCompat.js +0 -1
  146. package/dist/client/queue/deduplication.d.ts +0 -1
  147. package/dist/client/queue/deduplication.js +0 -1
  148. package/dist/client/queue/dlq.d.ts +0 -1
  149. package/dist/client/queue/dlq.js +0 -1
  150. package/dist/client/queue/dlqOps.d.ts +0 -1
  151. package/dist/client/queue/dlqOps.js +0 -1
  152. package/dist/client/queue/helpers.d.ts +0 -1
  153. package/dist/client/queue/helpers.js +0 -1
  154. package/dist/client/queue/index.d.ts +0 -1
  155. package/dist/client/queue/index.js +0 -1
  156. package/dist/client/queue/jobMove.d.ts +0 -1
  157. package/dist/client/queue/jobMove.js +0 -1
  158. package/dist/client/queue/jobProxy.d.ts +22 -4
  159. package/dist/client/queue/jobProxy.js +347 -67
  160. package/dist/client/queue/operations/add.d.ts +1 -1
  161. package/dist/client/queue/operations/add.js +126 -30
  162. package/dist/client/queue/operations/control.d.ts +0 -1
  163. package/dist/client/queue/operations/control.js +0 -1
  164. package/dist/client/queue/operations/counts.d.ts +0 -1
  165. package/dist/client/queue/operations/counts.js +0 -1
  166. package/dist/client/queue/operations/index.d.ts +0 -1
  167. package/dist/client/queue/operations/index.js +0 -1
  168. package/dist/client/queue/operations/management.d.ts +1 -2
  169. package/dist/client/queue/operations/management.js +27 -10
  170. package/dist/client/queue/operations/query.d.ts +12 -1
  171. package/dist/client/queue/operations/query.js +44 -5
  172. package/dist/client/queue/queue.d.ts +0 -1
  173. package/dist/client/queue/queue.js +8 -2
  174. package/dist/client/queue/queueTypes.d.ts +0 -1
  175. package/dist/client/queue/queueTypes.js +0 -1
  176. package/dist/client/queue/rateLimit.d.ts +0 -1
  177. package/dist/client/queue/rateLimit.js +0 -1
  178. package/dist/client/queue/scheduler.d.ts +2 -1
  179. package/dist/client/queue/scheduler.js +28 -1
  180. package/dist/client/queue/stall.d.ts +0 -1
  181. package/dist/client/queue/stall.js +0 -1
  182. package/dist/client/queue/workers.d.ts +0 -1
  183. package/dist/client/queue/workers.js +0 -1
  184. package/dist/client/queue.d.ts +0 -1
  185. package/dist/client/queue.js +0 -1
  186. package/dist/client/queueGroup.d.ts +0 -1
  187. package/dist/client/queueGroup.js +0 -1
  188. package/dist/client/resolveToken.d.ts +0 -1
  189. package/dist/client/resolveToken.js +0 -1
  190. package/dist/client/sandboxed/index.d.ts +0 -1
  191. package/dist/client/sandboxed/index.js +0 -1
  192. package/dist/client/sandboxed/queueOps.d.ts +0 -1
  193. package/dist/client/sandboxed/queueOps.js +0 -1
  194. package/dist/client/sandboxed/types.d.ts +0 -1
  195. package/dist/client/sandboxed/types.js +0 -1
  196. package/dist/client/sandboxed/worker.d.ts +0 -1
  197. package/dist/client/sandboxed/worker.js +57 -16
  198. package/dist/client/sandboxed/wrapper.d.ts +0 -1
  199. package/dist/client/sandboxed/wrapper.js +62 -11
  200. package/dist/client/sandboxedWorker.d.ts +0 -1
  201. package/dist/client/sandboxedWorker.js +0 -1
  202. package/dist/client/tcp/client.d.ts +9 -1
  203. package/dist/client/tcp/client.js +84 -29
  204. package/dist/client/tcp/connection.d.ts +0 -1
  205. package/dist/client/tcp/connection.js +6 -2
  206. package/dist/client/tcp/health.d.ts +0 -1
  207. package/dist/client/tcp/health.js +0 -1
  208. package/dist/client/tcp/index.d.ts +0 -1
  209. package/dist/client/tcp/index.js +0 -1
  210. package/dist/client/tcp/reconnect.d.ts +0 -1
  211. package/dist/client/tcp/reconnect.js +0 -1
  212. package/dist/client/tcp/shared.d.ts +0 -1
  213. package/dist/client/tcp/shared.js +0 -1
  214. package/dist/client/tcp/types.d.ts +7 -1
  215. package/dist/client/tcp/types.js +0 -1
  216. package/dist/client/tcpClient.d.ts +0 -1
  217. package/dist/client/tcpClient.js +0 -1
  218. package/dist/client/tcpPool.d.ts +0 -1
  219. package/dist/client/tcpPool.js +0 -1
  220. package/dist/client/types.d.ts +8 -5
  221. package/dist/client/types.js +0 -1
  222. package/dist/client/worker/ackBatcher.d.ts +0 -1
  223. package/dist/client/worker/ackBatcher.js +18 -9
  224. package/dist/client/worker/groupConcurrency.d.ts +0 -1
  225. package/dist/client/worker/groupConcurrency.js +0 -1
  226. package/dist/client/worker/index.d.ts +0 -1
  227. package/dist/client/worker/index.js +0 -1
  228. package/dist/client/worker/jobParser.d.ts +0 -1
  229. package/dist/client/worker/jobParser.js +0 -1
  230. package/dist/client/worker/processor.d.ts +0 -1
  231. package/dist/client/worker/processor.js +54 -100
  232. package/dist/client/worker/processorHandlers.d.ts +54 -0
  233. package/dist/client/worker/processorHandlers.js +372 -0
  234. package/dist/client/worker/types.d.ts +0 -1
  235. package/dist/client/worker/types.js +0 -1
  236. package/dist/client/worker/worker.d.ts +0 -1
  237. package/dist/client/worker/worker.js +0 -1
  238. package/dist/client/worker/workerHeartbeat.d.ts +0 -1
  239. package/dist/client/worker/workerHeartbeat.js +0 -1
  240. package/dist/client/worker/workerPull.d.ts +0 -1
  241. package/dist/client/worker/workerPull.js +0 -1
  242. package/dist/client/worker/workerRateLimiter.d.ts +0 -1
  243. package/dist/client/worker/workerRateLimiter.js +0 -1
  244. package/dist/client/worker.d.ts +0 -1
  245. package/dist/client/worker.js +0 -1
  246. package/dist/client/workflow/compensator.d.ts +14 -0
  247. package/dist/client/workflow/compensator.js +45 -0
  248. package/dist/client/workflow/emitter.d.ts +0 -1
  249. package/dist/client/workflow/emitter.js +15 -4
  250. package/dist/client/workflow/engine.d.ts +8 -2
  251. package/dist/client/workflow/engine.js +9 -1
  252. package/dist/client/workflow/executor.d.ts +5 -3
  253. package/dist/client/workflow/executor.js +43 -61
  254. package/dist/client/workflow/index.d.ts +1 -2
  255. package/dist/client/workflow/index.js +0 -1
  256. package/dist/client/workflow/loops.d.ts +1 -2
  257. package/dist/client/workflow/loops.js +10 -2
  258. package/dist/client/workflow/recovery.d.ts +22 -0
  259. package/dist/client/workflow/recovery.js +73 -0
  260. package/dist/client/workflow/runner.d.ts +0 -1
  261. package/dist/client/workflow/runner.js +7 -6
  262. package/dist/client/workflow/store.d.ts +2 -1
  263. package/dist/client/workflow/store.js +6 -1
  264. package/dist/client/workflow/types.d.ts +41 -23
  265. package/dist/client/workflow/types.js +0 -1
  266. package/dist/client/workflow/workflow.d.ts +17 -15
  267. package/dist/client/workflow/workflow.js +30 -21
  268. package/dist/config/index.d.ts +0 -1
  269. package/dist/config/index.js +0 -1
  270. package/dist/config/loader.d.ts +0 -1
  271. package/dist/config/loader.js +0 -1
  272. package/dist/config/resolve.d.ts +0 -1
  273. package/dist/config/resolve.js +0 -1
  274. package/dist/config/types.d.ts +0 -1
  275. package/dist/config/types.js +0 -1
  276. package/dist/domain/queue/dependencyTracker.d.ts +0 -1
  277. package/dist/domain/queue/dependencyTracker.js +0 -1
  278. package/dist/domain/queue/dlqShard.d.ts +0 -1
  279. package/dist/domain/queue/dlqShard.js +6 -1
  280. package/dist/domain/queue/index.d.ts +0 -1
  281. package/dist/domain/queue/index.js +0 -1
  282. package/dist/domain/queue/limiterManager.d.ts +0 -1
  283. package/dist/domain/queue/limiterManager.js +0 -1
  284. package/dist/domain/queue/priorityQueue.d.ts +2 -3
  285. package/dist/domain/queue/priorityQueue.js +5 -4
  286. package/dist/domain/queue/shard.d.ts +0 -1
  287. package/dist/domain/queue/shard.js +0 -1
  288. package/dist/domain/queue/shardCounters.d.ts +0 -1
  289. package/dist/domain/queue/shardCounters.js +0 -1
  290. package/dist/domain/queue/temporalManager.d.ts +0 -1
  291. package/dist/domain/queue/temporalManager.js +0 -1
  292. package/dist/domain/queue/uniqueKeyManager.d.ts +0 -1
  293. package/dist/domain/queue/uniqueKeyManager.js +0 -1
  294. package/dist/domain/queue/waiterManager.d.ts +0 -1
  295. package/dist/domain/queue/waiterManager.js +0 -1
  296. package/dist/domain/types/command.d.ts +22 -1
  297. package/dist/domain/types/command.js +0 -1
  298. package/dist/domain/types/cron.d.ts +21 -1
  299. package/dist/domain/types/cron.js +1 -1
  300. package/dist/domain/types/deduplication.d.ts +0 -1
  301. package/dist/domain/types/deduplication.js +0 -1
  302. package/dist/domain/types/dlq.d.ts +0 -1
  303. package/dist/domain/types/dlq.js +0 -1
  304. package/dist/domain/types/index.d.ts +0 -1
  305. package/dist/domain/types/index.js +0 -1
  306. package/dist/domain/types/job.d.ts +0 -1
  307. package/dist/domain/types/job.js +9 -3
  308. package/dist/domain/types/queue.d.ts +0 -1
  309. package/dist/domain/types/queue.js +0 -1
  310. package/dist/domain/types/response.d.ts +2 -1
  311. package/dist/domain/types/response.js +0 -1
  312. package/dist/domain/types/stall.d.ts +0 -1
  313. package/dist/domain/types/stall.js +0 -1
  314. package/dist/domain/types/webhook.d.ts +0 -1
  315. package/dist/domain/types/webhook.js +0 -1
  316. package/dist/domain/types/worker.d.ts +0 -1
  317. package/dist/domain/types/worker.js +0 -1
  318. package/dist/infrastructure/backup/index.d.ts +0 -1
  319. package/dist/infrastructure/backup/index.js +0 -1
  320. package/dist/infrastructure/backup/s3Backup.d.ts +0 -1
  321. package/dist/infrastructure/backup/s3Backup.js +0 -1
  322. package/dist/infrastructure/backup/s3BackupConfig.d.ts +0 -1
  323. package/dist/infrastructure/backup/s3BackupConfig.js +0 -1
  324. package/dist/infrastructure/backup/s3BackupOperations.d.ts +0 -1
  325. package/dist/infrastructure/backup/s3BackupOperations.js +44 -7
  326. package/dist/infrastructure/cloud/buffer.d.ts +0 -1
  327. package/dist/infrastructure/cloud/buffer.js +0 -1
  328. package/dist/infrastructure/cloud/circuitBreaker.d.ts +0 -1
  329. package/dist/infrastructure/cloud/circuitBreaker.js +0 -1
  330. package/dist/infrastructure/cloud/cloudAgent.d.ts +1 -2
  331. package/dist/infrastructure/cloud/cloudAgent.js +9 -12
  332. package/dist/infrastructure/cloud/commandHandler.d.ts +0 -1
  333. package/dist/infrastructure/cloud/commandHandler.js +0 -1
  334. package/dist/infrastructure/cloud/commands.d.ts +0 -1
  335. package/dist/infrastructure/cloud/commands.js +2 -3
  336. package/dist/infrastructure/cloud/config.d.ts +0 -1
  337. package/dist/infrastructure/cloud/config.js +0 -1
  338. package/dist/infrastructure/cloud/httpSender.d.ts +0 -1
  339. package/dist/infrastructure/cloud/httpSender.js +0 -1
  340. package/dist/infrastructure/cloud/index.d.ts +0 -1
  341. package/dist/infrastructure/cloud/index.js +0 -1
  342. package/dist/infrastructure/cloud/logger.d.ts +0 -1
  343. package/dist/infrastructure/cloud/logger.js +0 -1
  344. package/dist/infrastructure/cloud/redact.d.ts +10 -0
  345. package/dist/infrastructure/cloud/redact.js +21 -0
  346. package/dist/infrastructure/cloud/snapshotCollector.d.ts +4 -1
  347. package/dist/infrastructure/cloud/snapshotCollector.js +32 -18
  348. package/dist/infrastructure/cloud/snapshotHelpers.d.ts +9 -3
  349. package/dist/infrastructure/cloud/snapshotHelpers.js +10 -9
  350. package/dist/infrastructure/cloud/statsRefresh.d.ts +0 -1
  351. package/dist/infrastructure/cloud/statsRefresh.js +0 -1
  352. package/dist/infrastructure/cloud/statsUpdate.d.ts +0 -1
  353. package/dist/infrastructure/cloud/statsUpdate.js +0 -1
  354. package/dist/infrastructure/cloud/types.d.ts +0 -1
  355. package/dist/infrastructure/cloud/types.js +0 -1
  356. package/dist/infrastructure/cloud/wsSender.d.ts +0 -1
  357. package/dist/infrastructure/cloud/wsSender.js +0 -1
  358. package/dist/infrastructure/persistence/index.d.ts +0 -1
  359. package/dist/infrastructure/persistence/index.js +0 -1
  360. package/dist/infrastructure/persistence/schema.d.ts +2 -3
  361. package/dist/infrastructure/persistence/schema.js +16 -3
  362. package/dist/infrastructure/persistence/sqlite.d.ts +54 -2
  363. package/dist/infrastructure/persistence/sqlite.js +174 -3
  364. package/dist/infrastructure/persistence/sqliteBatch.d.ts +14 -1
  365. package/dist/infrastructure/persistence/sqliteBatch.js +29 -1
  366. package/dist/infrastructure/persistence/sqliteSerializer.d.ts +16 -1
  367. package/dist/infrastructure/persistence/sqliteSerializer.js +73 -9
  368. package/dist/infrastructure/persistence/statements.d.ts +2 -2
  369. package/dist/infrastructure/persistence/statements.js +3 -3
  370. package/dist/infrastructure/scheduler/cronParser.d.ts +0 -1
  371. package/dist/infrastructure/scheduler/cronParser.js +0 -1
  372. package/dist/infrastructure/scheduler/cronScheduler.d.ts +0 -1
  373. package/dist/infrastructure/scheduler/cronScheduler.js +19 -2
  374. package/dist/infrastructure/scheduler/index.d.ts +0 -1
  375. package/dist/infrastructure/scheduler/index.js +0 -1
  376. package/dist/infrastructure/server/handler.d.ts +0 -1
  377. package/dist/infrastructure/server/handler.js +0 -1
  378. package/dist/infrastructure/server/handlerRoutes.d.ts +0 -1
  379. package/dist/infrastructure/server/handlerRoutes.js +0 -1
  380. package/dist/infrastructure/server/handlers/advanced.d.ts +7 -2
  381. package/dist/infrastructure/server/handlers/advanced.js +41 -11
  382. package/dist/infrastructure/server/handlers/core.d.ts +0 -1
  383. package/dist/infrastructure/server/handlers/core.js +8 -1
  384. package/dist/infrastructure/server/handlers/cron.d.ts +0 -1
  385. package/dist/infrastructure/server/handlers/cron.js +1 -1
  386. package/dist/infrastructure/server/handlers/dashboard.d.ts +0 -1
  387. package/dist/infrastructure/server/handlers/dashboard.js +1 -1
  388. package/dist/infrastructure/server/handlers/dlq.d.ts +0 -1
  389. package/dist/infrastructure/server/handlers/dlq.js +0 -1
  390. package/dist/infrastructure/server/handlers/index.d.ts +0 -1
  391. package/dist/infrastructure/server/handlers/index.js +0 -1
  392. package/dist/infrastructure/server/handlers/management.d.ts +1 -2
  393. package/dist/infrastructure/server/handlers/management.js +27 -13
  394. package/dist/infrastructure/server/handlers/monitoring.d.ts +0 -1
  395. package/dist/infrastructure/server/handlers/monitoring.js +0 -1
  396. package/dist/infrastructure/server/handlers/query.d.ts +0 -1
  397. package/dist/infrastructure/server/handlers/query.js +0 -1
  398. package/dist/infrastructure/server/http.d.ts +0 -1
  399. package/dist/infrastructure/server/http.js +0 -1
  400. package/dist/infrastructure/server/httpEndpoints.d.ts +0 -1
  401. package/dist/infrastructure/server/httpEndpoints.js +0 -1
  402. package/dist/infrastructure/server/httpRouteJobs.d.ts +0 -1
  403. package/dist/infrastructure/server/httpRouteJobs.js +0 -1
  404. package/dist/infrastructure/server/httpRouteQueueConfig.d.ts +0 -1
  405. package/dist/infrastructure/server/httpRouteQueueConfig.js +0 -1
  406. package/dist/infrastructure/server/httpRouteQueues.d.ts +0 -1
  407. package/dist/infrastructure/server/httpRouteQueues.js +0 -1
  408. package/dist/infrastructure/server/httpRouteResources.d.ts +0 -1
  409. package/dist/infrastructure/server/httpRouteResources.js +0 -1
  410. package/dist/infrastructure/server/index.d.ts +0 -1
  411. package/dist/infrastructure/server/index.js +0 -1
  412. package/dist/infrastructure/server/protocol.d.ts +4 -1
  413. package/dist/infrastructure/server/protocol.js +17 -3
  414. package/dist/infrastructure/server/rateLimiter.d.ts +0 -1
  415. package/dist/infrastructure/server/rateLimiter.js +0 -1
  416. package/dist/infrastructure/server/socketWriteQueue.d.ts +66 -0
  417. package/dist/infrastructure/server/socketWriteQueue.js +126 -0
  418. package/dist/infrastructure/server/sseHandler.d.ts +0 -1
  419. package/dist/infrastructure/server/sseHandler.js +0 -1
  420. package/dist/infrastructure/server/tcp.d.ts +17 -1
  421. package/dist/infrastructure/server/tcp.js +112 -15
  422. package/dist/infrastructure/server/types.d.ts +0 -1
  423. package/dist/infrastructure/server/types.js +0 -1
  424. package/dist/infrastructure/server/wsHandler.d.ts +0 -1
  425. package/dist/infrastructure/server/wsHandler.js +0 -1
  426. package/dist/main.d.ts +0 -1
  427. package/dist/main.js +48 -44
  428. package/dist/mcp/adapter.d.ts +3 -4
  429. package/dist/mcp/adapter.js +48 -16
  430. package/dist/mcp/httpHandler.d.ts +0 -1
  431. package/dist/mcp/httpHandler.js +0 -1
  432. package/dist/mcp/index.d.ts +3 -4
  433. package/dist/mcp/index.js +26 -90
  434. package/dist/mcp/prompts.d.ts +0 -1
  435. package/dist/mcp/prompts.js +0 -1
  436. package/dist/mcp/resources.d.ts +0 -1
  437. package/dist/mcp/resources.js +0 -1
  438. package/dist/mcp/server.d.ts +15 -0
  439. package/dist/mcp/server.js +100 -0
  440. package/dist/mcp/tools/consumptionTools.d.ts +0 -1
  441. package/dist/mcp/tools/consumptionTools.js +0 -1
  442. package/dist/mcp/tools/cronTools.d.ts +0 -1
  443. package/dist/mcp/tools/cronTools.js +0 -1
  444. package/dist/mcp/tools/dlqTools.d.ts +0 -1
  445. package/dist/mcp/tools/dlqTools.js +0 -1
  446. package/dist/mcp/tools/flowTools.d.ts +0 -1
  447. package/dist/mcp/tools/flowTools.js +0 -1
  448. package/dist/mcp/tools/handlerTools.d.ts +0 -1
  449. package/dist/mcp/tools/handlerTools.js +0 -1
  450. package/dist/mcp/tools/jobMgmtTools.d.ts +0 -1
  451. package/dist/mcp/tools/jobMgmtTools.js +0 -1
  452. package/dist/mcp/tools/jobTools.d.ts +0 -1
  453. package/dist/mcp/tools/jobTools.js +0 -1
  454. package/dist/mcp/tools/mcpTracker.d.ts +0 -1
  455. package/dist/mcp/tools/mcpTracker.js +0 -1
  456. package/dist/mcp/tools/monitoringTools.d.ts +0 -1
  457. package/dist/mcp/tools/monitoringTools.js +0 -1
  458. package/dist/mcp/tools/queueTools.d.ts +0 -1
  459. package/dist/mcp/tools/queueTools.js +6 -4
  460. package/dist/mcp/tools/rateLimitTools.d.ts +0 -1
  461. package/dist/mcp/tools/rateLimitTools.js +0 -1
  462. package/dist/mcp/tools/webhookTools.d.ts +0 -1
  463. package/dist/mcp/tools/webhookTools.js +1 -2
  464. package/dist/mcp/tools/withErrorHandler.d.ts +0 -1
  465. package/dist/mcp/tools/withErrorHandler.js +0 -1
  466. package/dist/mcp/tools/workerMgmtTools.d.ts +0 -1
  467. package/dist/mcp/tools/workerMgmtTools.js +0 -1
  468. package/dist/shared/boundedMap.d.ts +0 -1
  469. package/dist/shared/boundedMap.js +0 -1
  470. package/dist/shared/boundedSet.d.ts +0 -1
  471. package/dist/shared/boundedSet.js +0 -1
  472. package/dist/shared/hash.d.ts +0 -1
  473. package/dist/shared/hash.js +0 -1
  474. package/dist/shared/histogram.d.ts +0 -1
  475. package/dist/shared/histogram.js +0 -1
  476. package/dist/shared/index.d.ts +0 -1
  477. package/dist/shared/index.js +0 -1
  478. package/dist/shared/lock.d.ts +0 -1
  479. package/dist/shared/lock.js +15 -1
  480. package/dist/shared/logger.d.ts +0 -1
  481. package/dist/shared/logger.js +0 -1
  482. package/dist/shared/lru.d.ts +0 -1
  483. package/dist/shared/lru.js +0 -1
  484. package/dist/shared/lruMap.d.ts +0 -1
  485. package/dist/shared/lruMap.js +0 -1
  486. package/dist/shared/lruSet.d.ts +0 -1
  487. package/dist/shared/lruSet.js +0 -1
  488. package/dist/shared/minHeap.d.ts +0 -1
  489. package/dist/shared/minHeap.js +0 -1
  490. package/dist/shared/semaphore.d.ts +0 -1
  491. package/dist/shared/semaphore.js +0 -1
  492. package/dist/shared/serialization.d.ts +0 -1
  493. package/dist/shared/serialization.js +0 -1
  494. package/dist/shared/skipList.d.ts +0 -1
  495. package/dist/shared/skipList.js +0 -1
  496. package/dist/shared/ttlMap.d.ts +0 -1
  497. package/dist/shared/ttlMap.js +0 -1
  498. package/dist/shared/version.d.ts +0 -1
  499. package/dist/shared/version.js +0 -1
  500. package/dist/shared/webhookValidation.d.ts +0 -1
  501. package/dist/shared/webhookValidation.js +0 -1
  502. package/package.json +12 -9
  503. package/dist/application/backgroundTasks.d.ts.map +0 -1
  504. package/dist/application/backgroundTasks.js.map +0 -1
  505. package/dist/application/cleanupTasks.d.ts.map +0 -1
  506. package/dist/application/cleanupTasks.js.map +0 -1
  507. package/dist/application/clientTracking.d.ts.map +0 -1
  508. package/dist/application/clientTracking.js.map +0 -1
  509. package/dist/application/contextFactory.d.ts.map +0 -1
  510. package/dist/application/contextFactory.js.map +0 -1
  511. package/dist/application/dependencyProcessor.d.ts.map +0 -1
  512. package/dist/application/dependencyProcessor.js.map +0 -1
  513. package/dist/application/dlqManager.d.ts.map +0 -1
  514. package/dist/application/dlqManager.js.map +0 -1
  515. package/dist/application/eventsManager.d.ts.map +0 -1
  516. package/dist/application/eventsManager.js.map +0 -1
  517. package/dist/application/jobLogsManager.d.ts.map +0 -1
  518. package/dist/application/jobLogsManager.js.map +0 -1
  519. package/dist/application/latencyTracker.d.ts.map +0 -1
  520. package/dist/application/latencyTracker.js.map +0 -1
  521. package/dist/application/lockManager.d.ts.map +0 -1
  522. package/dist/application/lockManager.js.map +0 -1
  523. package/dist/application/lockOperations.d.ts.map +0 -1
  524. package/dist/application/lockOperations.js.map +0 -1
  525. package/dist/application/metricsExporter.d.ts.map +0 -1
  526. package/dist/application/metricsExporter.js.map +0 -1
  527. package/dist/application/monitoringChecks.d.ts.map +0 -1
  528. package/dist/application/monitoringChecks.js.map +0 -1
  529. package/dist/application/operations/ack.d.ts.map +0 -1
  530. package/dist/application/operations/ack.js.map +0 -1
  531. package/dist/application/operations/ackHelpers.d.ts.map +0 -1
  532. package/dist/application/operations/ackHelpers.js.map +0 -1
  533. package/dist/application/operations/index.d.ts.map +0 -1
  534. package/dist/application/operations/index.js.map +0 -1
  535. package/dist/application/operations/jobManagement.d.ts.map +0 -1
  536. package/dist/application/operations/jobManagement.js.map +0 -1
  537. package/dist/application/operations/jobStateTransitions.d.ts.map +0 -1
  538. package/dist/application/operations/jobStateTransitions.js.map +0 -1
  539. package/dist/application/operations/pull.d.ts.map +0 -1
  540. package/dist/application/operations/pull.js.map +0 -1
  541. package/dist/application/operations/push.d.ts.map +0 -1
  542. package/dist/application/operations/push.js.map +0 -1
  543. package/dist/application/operations/queryOperations.d.ts.map +0 -1
  544. package/dist/application/operations/queryOperations.js.map +0 -1
  545. package/dist/application/operations/queueControl.d.ts.map +0 -1
  546. package/dist/application/operations/queueControl.js.map +0 -1
  547. package/dist/application/queueManager.d.ts.map +0 -1
  548. package/dist/application/queueManager.js.map +0 -1
  549. package/dist/application/stallDetection.d.ts.map +0 -1
  550. package/dist/application/stallDetection.js.map +0 -1
  551. package/dist/application/statsManager.d.ts.map +0 -1
  552. package/dist/application/statsManager.js.map +0 -1
  553. package/dist/application/taskErrorTracking.d.ts.map +0 -1
  554. package/dist/application/taskErrorTracking.js.map +0 -1
  555. package/dist/application/throughputTracker.d.ts.map +0 -1
  556. package/dist/application/throughputTracker.js.map +0 -1
  557. package/dist/application/types.d.ts.map +0 -1
  558. package/dist/application/types.js.map +0 -1
  559. package/dist/application/webhookManager.d.ts.map +0 -1
  560. package/dist/application/webhookManager.js.map +0 -1
  561. package/dist/application/workerManager.d.ts.map +0 -1
  562. package/dist/application/workerManager.js.map +0 -1
  563. package/dist/cli/client.d.ts.map +0 -1
  564. package/dist/cli/client.js.map +0 -1
  565. package/dist/cli/commands/backup.d.ts.map +0 -1
  566. package/dist/cli/commands/backup.js.map +0 -1
  567. package/dist/cli/commands/core.d.ts.map +0 -1
  568. package/dist/cli/commands/core.js.map +0 -1
  569. package/dist/cli/commands/cron.d.ts.map +0 -1
  570. package/dist/cli/commands/cron.js.map +0 -1
  571. package/dist/cli/commands/dlq.d.ts.map +0 -1
  572. package/dist/cli/commands/dlq.js.map +0 -1
  573. package/dist/cli/commands/doctor.d.ts.map +0 -1
  574. package/dist/cli/commands/doctor.js.map +0 -1
  575. package/dist/cli/commands/job.d.ts.map +0 -1
  576. package/dist/cli/commands/job.js.map +0 -1
  577. package/dist/cli/commands/monitor.d.ts.map +0 -1
  578. package/dist/cli/commands/monitor.js.map +0 -1
  579. package/dist/cli/commands/queue.d.ts.map +0 -1
  580. package/dist/cli/commands/queue.js.map +0 -1
  581. package/dist/cli/commands/rateLimit.d.ts.map +0 -1
  582. package/dist/cli/commands/rateLimit.js.map +0 -1
  583. package/dist/cli/commands/server.d.ts.map +0 -1
  584. package/dist/cli/commands/server.js.map +0 -1
  585. package/dist/cli/commands/types.d.ts.map +0 -1
  586. package/dist/cli/commands/types.js.map +0 -1
  587. package/dist/cli/commands/webhook.d.ts.map +0 -1
  588. package/dist/cli/commands/webhook.js.map +0 -1
  589. package/dist/cli/commands/worker.d.ts.map +0 -1
  590. package/dist/cli/commands/worker.js.map +0 -1
  591. package/dist/cli/help.d.ts.map +0 -1
  592. package/dist/cli/help.js.map +0 -1
  593. package/dist/cli/index.d.ts.map +0 -1
  594. package/dist/cli/index.js.map +0 -1
  595. package/dist/cli/output.d.ts.map +0 -1
  596. package/dist/cli/output.js.map +0 -1
  597. package/dist/client/bunqueue/aging.d.ts.map +0 -1
  598. package/dist/client/bunqueue/aging.js.map +0 -1
  599. package/dist/client/bunqueue/batch.d.ts.map +0 -1
  600. package/dist/client/bunqueue/batch.js.map +0 -1
  601. package/dist/client/bunqueue/cancellation.d.ts.map +0 -1
  602. package/dist/client/bunqueue/cancellation.js.map +0 -1
  603. package/dist/client/bunqueue/circuitBreaker.d.ts.map +0 -1
  604. package/dist/client/bunqueue/circuitBreaker.js.map +0 -1
  605. package/dist/client/bunqueue/dedupDebounce.d.ts.map +0 -1
  606. package/dist/client/bunqueue/dedupDebounce.js.map +0 -1
  607. package/dist/client/bunqueue/dlqRateLimit.d.ts.map +0 -1
  608. package/dist/client/bunqueue/dlqRateLimit.js.map +0 -1
  609. package/dist/client/bunqueue/retry.d.ts.map +0 -1
  610. package/dist/client/bunqueue/retry.js.map +0 -1
  611. package/dist/client/bunqueue/triggers.d.ts.map +0 -1
  612. package/dist/client/bunqueue/triggers.js.map +0 -1
  613. package/dist/client/bunqueue/ttl.d.ts.map +0 -1
  614. package/dist/client/bunqueue/ttl.js.map +0 -1
  615. package/dist/client/bunqueue/types.d.ts.map +0 -1
  616. package/dist/client/bunqueue/types.js.map +0 -1
  617. package/dist/client/bunqueue.d.ts.map +0 -1
  618. package/dist/client/bunqueue.js.map +0 -1
  619. package/dist/client/errors.d.ts.map +0 -1
  620. package/dist/client/errors.js.map +0 -1
  621. package/dist/client/events.d.ts.map +0 -1
  622. package/dist/client/events.js.map +0 -1
  623. package/dist/client/flow.d.ts.map +0 -1
  624. package/dist/client/flow.js.map +0 -1
  625. package/dist/client/flowJobFactory.d.ts.map +0 -1
  626. package/dist/client/flowJobFactory.js.map +0 -1
  627. package/dist/client/flowPush.d.ts.map +0 -1
  628. package/dist/client/flowPush.js.map +0 -1
  629. package/dist/client/flowTypes.d.ts.map +0 -1
  630. package/dist/client/flowTypes.js.map +0 -1
  631. package/dist/client/index.d.ts.map +0 -1
  632. package/dist/client/index.js.map +0 -1
  633. package/dist/client/jobConversion.d.ts.map +0 -1
  634. package/dist/client/jobConversion.js.map +0 -1
  635. package/dist/client/jobConversionHelpers.d.ts.map +0 -1
  636. package/dist/client/jobConversionHelpers.js.map +0 -1
  637. package/dist/client/jobConversionTypes.d.ts.map +0 -1
  638. package/dist/client/jobConversionTypes.js.map +0 -1
  639. package/dist/client/jobHelpers.d.ts.map +0 -1
  640. package/dist/client/jobHelpers.js.map +0 -1
  641. package/dist/client/manager.d.ts.map +0 -1
  642. package/dist/client/manager.js.map +0 -1
  643. package/dist/client/queue/addBatcher.d.ts.map +0 -1
  644. package/dist/client/queue/addBatcher.js.map +0 -1
  645. package/dist/client/queue/bullmqCompat.d.ts.map +0 -1
  646. package/dist/client/queue/bullmqCompat.js.map +0 -1
  647. package/dist/client/queue/deduplication.d.ts.map +0 -1
  648. package/dist/client/queue/deduplication.js.map +0 -1
  649. package/dist/client/queue/dlq.d.ts.map +0 -1
  650. package/dist/client/queue/dlq.js.map +0 -1
  651. package/dist/client/queue/dlqOps.d.ts.map +0 -1
  652. package/dist/client/queue/dlqOps.js.map +0 -1
  653. package/dist/client/queue/helpers.d.ts.map +0 -1
  654. package/dist/client/queue/helpers.js.map +0 -1
  655. package/dist/client/queue/index.d.ts.map +0 -1
  656. package/dist/client/queue/index.js.map +0 -1
  657. package/dist/client/queue/jobMove.d.ts.map +0 -1
  658. package/dist/client/queue/jobMove.js.map +0 -1
  659. package/dist/client/queue/jobProxy.d.ts.map +0 -1
  660. package/dist/client/queue/jobProxy.js.map +0 -1
  661. package/dist/client/queue/operations/add.d.ts.map +0 -1
  662. package/dist/client/queue/operations/add.js.map +0 -1
  663. package/dist/client/queue/operations/control.d.ts.map +0 -1
  664. package/dist/client/queue/operations/control.js.map +0 -1
  665. package/dist/client/queue/operations/counts.d.ts.map +0 -1
  666. package/dist/client/queue/operations/counts.js.map +0 -1
  667. package/dist/client/queue/operations/index.d.ts.map +0 -1
  668. package/dist/client/queue/operations/index.js.map +0 -1
  669. package/dist/client/queue/operations/management.d.ts.map +0 -1
  670. package/dist/client/queue/operations/management.js.map +0 -1
  671. package/dist/client/queue/operations/query.d.ts.map +0 -1
  672. package/dist/client/queue/operations/query.js.map +0 -1
  673. package/dist/client/queue/queue.d.ts.map +0 -1
  674. package/dist/client/queue/queue.js.map +0 -1
  675. package/dist/client/queue/queueTypes.d.ts.map +0 -1
  676. package/dist/client/queue/queueTypes.js.map +0 -1
  677. package/dist/client/queue/rateLimit.d.ts.map +0 -1
  678. package/dist/client/queue/rateLimit.js.map +0 -1
  679. package/dist/client/queue/scheduler.d.ts.map +0 -1
  680. package/dist/client/queue/scheduler.js.map +0 -1
  681. package/dist/client/queue/stall.d.ts.map +0 -1
  682. package/dist/client/queue/stall.js.map +0 -1
  683. package/dist/client/queue/workers.d.ts.map +0 -1
  684. package/dist/client/queue/workers.js.map +0 -1
  685. package/dist/client/queue.d.ts.map +0 -1
  686. package/dist/client/queue.js.map +0 -1
  687. package/dist/client/queueGroup.d.ts.map +0 -1
  688. package/dist/client/queueGroup.js.map +0 -1
  689. package/dist/client/resolveToken.d.ts.map +0 -1
  690. package/dist/client/resolveToken.js.map +0 -1
  691. package/dist/client/sandboxed/index.d.ts.map +0 -1
  692. package/dist/client/sandboxed/index.js.map +0 -1
  693. package/dist/client/sandboxed/queueOps.d.ts.map +0 -1
  694. package/dist/client/sandboxed/queueOps.js.map +0 -1
  695. package/dist/client/sandboxed/types.d.ts.map +0 -1
  696. package/dist/client/sandboxed/types.js.map +0 -1
  697. package/dist/client/sandboxed/worker.d.ts.map +0 -1
  698. package/dist/client/sandboxed/worker.js.map +0 -1
  699. package/dist/client/sandboxed/wrapper.d.ts.map +0 -1
  700. package/dist/client/sandboxed/wrapper.js.map +0 -1
  701. package/dist/client/sandboxedWorker.d.ts.map +0 -1
  702. package/dist/client/sandboxedWorker.js.map +0 -1
  703. package/dist/client/tcp/client.d.ts.map +0 -1
  704. package/dist/client/tcp/client.js.map +0 -1
  705. package/dist/client/tcp/connection.d.ts.map +0 -1
  706. package/dist/client/tcp/connection.js.map +0 -1
  707. package/dist/client/tcp/health.d.ts.map +0 -1
  708. package/dist/client/tcp/health.js.map +0 -1
  709. package/dist/client/tcp/index.d.ts.map +0 -1
  710. package/dist/client/tcp/index.js.map +0 -1
  711. package/dist/client/tcp/reconnect.d.ts.map +0 -1
  712. package/dist/client/tcp/reconnect.js.map +0 -1
  713. package/dist/client/tcp/shared.d.ts.map +0 -1
  714. package/dist/client/tcp/shared.js.map +0 -1
  715. package/dist/client/tcp/types.d.ts.map +0 -1
  716. package/dist/client/tcp/types.js.map +0 -1
  717. package/dist/client/tcpClient.d.ts.map +0 -1
  718. package/dist/client/tcpClient.js.map +0 -1
  719. package/dist/client/tcpPool.d.ts.map +0 -1
  720. package/dist/client/tcpPool.js.map +0 -1
  721. package/dist/client/types.d.ts.map +0 -1
  722. package/dist/client/types.js.map +0 -1
  723. package/dist/client/worker/ackBatcher.d.ts.map +0 -1
  724. package/dist/client/worker/ackBatcher.js.map +0 -1
  725. package/dist/client/worker/groupConcurrency.d.ts.map +0 -1
  726. package/dist/client/worker/groupConcurrency.js.map +0 -1
  727. package/dist/client/worker/index.d.ts.map +0 -1
  728. package/dist/client/worker/index.js.map +0 -1
  729. package/dist/client/worker/jobParser.d.ts.map +0 -1
  730. package/dist/client/worker/jobParser.js.map +0 -1
  731. package/dist/client/worker/processor.d.ts.map +0 -1
  732. package/dist/client/worker/processor.js.map +0 -1
  733. package/dist/client/worker/types.d.ts.map +0 -1
  734. package/dist/client/worker/types.js.map +0 -1
  735. package/dist/client/worker/worker.d.ts.map +0 -1
  736. package/dist/client/worker/worker.js.map +0 -1
  737. package/dist/client/worker/workerHeartbeat.d.ts.map +0 -1
  738. package/dist/client/worker/workerHeartbeat.js.map +0 -1
  739. package/dist/client/worker/workerPull.d.ts.map +0 -1
  740. package/dist/client/worker/workerPull.js.map +0 -1
  741. package/dist/client/worker/workerRateLimiter.d.ts.map +0 -1
  742. package/dist/client/worker/workerRateLimiter.js.map +0 -1
  743. package/dist/client/worker.d.ts.map +0 -1
  744. package/dist/client/worker.js.map +0 -1
  745. package/dist/client/workflow/emitter.d.ts.map +0 -1
  746. package/dist/client/workflow/emitter.js.map +0 -1
  747. package/dist/client/workflow/engine.d.ts.map +0 -1
  748. package/dist/client/workflow/engine.js.map +0 -1
  749. package/dist/client/workflow/executor.d.ts.map +0 -1
  750. package/dist/client/workflow/executor.js.map +0 -1
  751. package/dist/client/workflow/index.d.ts.map +0 -1
  752. package/dist/client/workflow/index.js.map +0 -1
  753. package/dist/client/workflow/loops.d.ts.map +0 -1
  754. package/dist/client/workflow/loops.js.map +0 -1
  755. package/dist/client/workflow/runner.d.ts.map +0 -1
  756. package/dist/client/workflow/runner.js.map +0 -1
  757. package/dist/client/workflow/store.d.ts.map +0 -1
  758. package/dist/client/workflow/store.js.map +0 -1
  759. package/dist/client/workflow/types.d.ts.map +0 -1
  760. package/dist/client/workflow/types.js.map +0 -1
  761. package/dist/client/workflow/workflow.d.ts.map +0 -1
  762. package/dist/client/workflow/workflow.js.map +0 -1
  763. package/dist/config/index.d.ts.map +0 -1
  764. package/dist/config/index.js.map +0 -1
  765. package/dist/config/loader.d.ts.map +0 -1
  766. package/dist/config/loader.js.map +0 -1
  767. package/dist/config/resolve.d.ts.map +0 -1
  768. package/dist/config/resolve.js.map +0 -1
  769. package/dist/config/types.d.ts.map +0 -1
  770. package/dist/config/types.js.map +0 -1
  771. package/dist/domain/queue/dependencyTracker.d.ts.map +0 -1
  772. package/dist/domain/queue/dependencyTracker.js.map +0 -1
  773. package/dist/domain/queue/dlqShard.d.ts.map +0 -1
  774. package/dist/domain/queue/dlqShard.js.map +0 -1
  775. package/dist/domain/queue/index.d.ts.map +0 -1
  776. package/dist/domain/queue/index.js.map +0 -1
  777. package/dist/domain/queue/limiterManager.d.ts.map +0 -1
  778. package/dist/domain/queue/limiterManager.js.map +0 -1
  779. package/dist/domain/queue/priorityQueue.d.ts.map +0 -1
  780. package/dist/domain/queue/priorityQueue.js.map +0 -1
  781. package/dist/domain/queue/shard.d.ts.map +0 -1
  782. package/dist/domain/queue/shard.js.map +0 -1
  783. package/dist/domain/queue/shardCounters.d.ts.map +0 -1
  784. package/dist/domain/queue/shardCounters.js.map +0 -1
  785. package/dist/domain/queue/temporalManager.d.ts.map +0 -1
  786. package/dist/domain/queue/temporalManager.js.map +0 -1
  787. package/dist/domain/queue/uniqueKeyManager.d.ts.map +0 -1
  788. package/dist/domain/queue/uniqueKeyManager.js.map +0 -1
  789. package/dist/domain/queue/waiterManager.d.ts.map +0 -1
  790. package/dist/domain/queue/waiterManager.js.map +0 -1
  791. package/dist/domain/types/command.d.ts.map +0 -1
  792. package/dist/domain/types/command.js.map +0 -1
  793. package/dist/domain/types/cron.d.ts.map +0 -1
  794. package/dist/domain/types/cron.js.map +0 -1
  795. package/dist/domain/types/deduplication.d.ts.map +0 -1
  796. package/dist/domain/types/deduplication.js.map +0 -1
  797. package/dist/domain/types/dlq.d.ts.map +0 -1
  798. package/dist/domain/types/dlq.js.map +0 -1
  799. package/dist/domain/types/index.d.ts.map +0 -1
  800. package/dist/domain/types/index.js.map +0 -1
  801. package/dist/domain/types/job.d.ts.map +0 -1
  802. package/dist/domain/types/job.js.map +0 -1
  803. package/dist/domain/types/queue.d.ts.map +0 -1
  804. package/dist/domain/types/queue.js.map +0 -1
  805. package/dist/domain/types/response.d.ts.map +0 -1
  806. package/dist/domain/types/response.js.map +0 -1
  807. package/dist/domain/types/stall.d.ts.map +0 -1
  808. package/dist/domain/types/stall.js.map +0 -1
  809. package/dist/domain/types/webhook.d.ts.map +0 -1
  810. package/dist/domain/types/webhook.js.map +0 -1
  811. package/dist/domain/types/worker.d.ts.map +0 -1
  812. package/dist/domain/types/worker.js.map +0 -1
  813. package/dist/infrastructure/backup/index.d.ts.map +0 -1
  814. package/dist/infrastructure/backup/index.js.map +0 -1
  815. package/dist/infrastructure/backup/s3Backup.d.ts.map +0 -1
  816. package/dist/infrastructure/backup/s3Backup.js.map +0 -1
  817. package/dist/infrastructure/backup/s3BackupConfig.d.ts.map +0 -1
  818. package/dist/infrastructure/backup/s3BackupConfig.js.map +0 -1
  819. package/dist/infrastructure/backup/s3BackupOperations.d.ts.map +0 -1
  820. package/dist/infrastructure/backup/s3BackupOperations.js.map +0 -1
  821. package/dist/infrastructure/cloud/buffer.d.ts.map +0 -1
  822. package/dist/infrastructure/cloud/buffer.js.map +0 -1
  823. package/dist/infrastructure/cloud/circuitBreaker.d.ts.map +0 -1
  824. package/dist/infrastructure/cloud/circuitBreaker.js.map +0 -1
  825. package/dist/infrastructure/cloud/cloudAgent 2.d.ts +0 -55
  826. package/dist/infrastructure/cloud/cloudAgent 2.d.ts.map +0 -1
  827. package/dist/infrastructure/cloud/cloudAgent 2.js +0 -243
  828. package/dist/infrastructure/cloud/cloudAgent 2.js.map +0 -1
  829. package/dist/infrastructure/cloud/cloudAgent.d.ts.map +0 -1
  830. package/dist/infrastructure/cloud/cloudAgent.js.map +0 -1
  831. package/dist/infrastructure/cloud/commandHandler 2.d.ts +0 -52
  832. package/dist/infrastructure/cloud/commandHandler 2.d.ts.map +0 -1
  833. package/dist/infrastructure/cloud/commandHandler 2.js +0 -84
  834. package/dist/infrastructure/cloud/commandHandler 2.js.map +0 -1
  835. package/dist/infrastructure/cloud/commandHandler.d.ts.map +0 -1
  836. package/dist/infrastructure/cloud/commandHandler.js.map +0 -1
  837. package/dist/infrastructure/cloud/commands 2.d.ts +0 -11
  838. package/dist/infrastructure/cloud/commands 2.d.ts.map +0 -1
  839. package/dist/infrastructure/cloud/commands 2.js +0 -343
  840. package/dist/infrastructure/cloud/commands 2.js.map +0 -1
  841. package/dist/infrastructure/cloud/commands.d.ts.map +0 -1
  842. package/dist/infrastructure/cloud/commands.js.map +0 -1
  843. package/dist/infrastructure/cloud/config.d.ts.map +0 -1
  844. package/dist/infrastructure/cloud/config.js.map +0 -1
  845. package/dist/infrastructure/cloud/httpSender.d.ts.map +0 -1
  846. package/dist/infrastructure/cloud/httpSender.js.map +0 -1
  847. package/dist/infrastructure/cloud/index.d.ts.map +0 -1
  848. package/dist/infrastructure/cloud/index.js.map +0 -1
  849. package/dist/infrastructure/cloud/instanceId.d.ts +0 -7
  850. package/dist/infrastructure/cloud/instanceId.d.ts.map +0 -1
  851. package/dist/infrastructure/cloud/instanceId.js +0 -34
  852. package/dist/infrastructure/cloud/instanceId.js.map +0 -1
  853. package/dist/infrastructure/cloud/logger.d.ts.map +0 -1
  854. package/dist/infrastructure/cloud/logger.js.map +0 -1
  855. package/dist/infrastructure/cloud/snapshotCollector.d.ts.map +0 -1
  856. package/dist/infrastructure/cloud/snapshotCollector.js.map +0 -1
  857. package/dist/infrastructure/cloud/snapshotHelpers.d.ts.map +0 -1
  858. package/dist/infrastructure/cloud/snapshotHelpers.js.map +0 -1
  859. package/dist/infrastructure/cloud/statsRefresh.d.ts.map +0 -1
  860. package/dist/infrastructure/cloud/statsRefresh.js.map +0 -1
  861. package/dist/infrastructure/cloud/statsUpdate.d.ts.map +0 -1
  862. package/dist/infrastructure/cloud/statsUpdate.js.map +0 -1
  863. package/dist/infrastructure/cloud/types.d.ts.map +0 -1
  864. package/dist/infrastructure/cloud/types.js.map +0 -1
  865. package/dist/infrastructure/cloud/wsSender.d.ts.map +0 -1
  866. package/dist/infrastructure/cloud/wsSender.js.map +0 -1
  867. package/dist/infrastructure/persistence/index.d.ts.map +0 -1
  868. package/dist/infrastructure/persistence/index.js.map +0 -1
  869. package/dist/infrastructure/persistence/schema.d.ts.map +0 -1
  870. package/dist/infrastructure/persistence/schema.js.map +0 -1
  871. package/dist/infrastructure/persistence/sqlite.d.ts.map +0 -1
  872. package/dist/infrastructure/persistence/sqlite.js.map +0 -1
  873. package/dist/infrastructure/persistence/sqliteBatch.d.ts.map +0 -1
  874. package/dist/infrastructure/persistence/sqliteBatch.js.map +0 -1
  875. package/dist/infrastructure/persistence/sqliteSerializer.d.ts.map +0 -1
  876. package/dist/infrastructure/persistence/sqliteSerializer.js.map +0 -1
  877. package/dist/infrastructure/persistence/statements.d.ts.map +0 -1
  878. package/dist/infrastructure/persistence/statements.js.map +0 -1
  879. package/dist/infrastructure/scheduler/cronParser.d.ts.map +0 -1
  880. package/dist/infrastructure/scheduler/cronParser.js.map +0 -1
  881. package/dist/infrastructure/scheduler/cronScheduler.d.ts.map +0 -1
  882. package/dist/infrastructure/scheduler/cronScheduler.js.map +0 -1
  883. package/dist/infrastructure/scheduler/index.d.ts.map +0 -1
  884. package/dist/infrastructure/scheduler/index.js.map +0 -1
  885. package/dist/infrastructure/server/handler.d.ts.map +0 -1
  886. package/dist/infrastructure/server/handler.js.map +0 -1
  887. package/dist/infrastructure/server/handlerRoutes.d.ts.map +0 -1
  888. package/dist/infrastructure/server/handlerRoutes.js.map +0 -1
  889. package/dist/infrastructure/server/handlers/advanced.d.ts.map +0 -1
  890. package/dist/infrastructure/server/handlers/advanced.js.map +0 -1
  891. package/dist/infrastructure/server/handlers/core.d.ts.map +0 -1
  892. package/dist/infrastructure/server/handlers/core.js.map +0 -1
  893. package/dist/infrastructure/server/handlers/cron.d.ts.map +0 -1
  894. package/dist/infrastructure/server/handlers/cron.js.map +0 -1
  895. package/dist/infrastructure/server/handlers/dashboard.d.ts.map +0 -1
  896. package/dist/infrastructure/server/handlers/dashboard.js.map +0 -1
  897. package/dist/infrastructure/server/handlers/dlq.d.ts.map +0 -1
  898. package/dist/infrastructure/server/handlers/dlq.js.map +0 -1
  899. package/dist/infrastructure/server/handlers/index.d.ts.map +0 -1
  900. package/dist/infrastructure/server/handlers/index.js.map +0 -1
  901. package/dist/infrastructure/server/handlers/management.d.ts.map +0 -1
  902. package/dist/infrastructure/server/handlers/management.js.map +0 -1
  903. package/dist/infrastructure/server/handlers/monitoring.d.ts.map +0 -1
  904. package/dist/infrastructure/server/handlers/monitoring.js.map +0 -1
  905. package/dist/infrastructure/server/handlers/query.d.ts.map +0 -1
  906. package/dist/infrastructure/server/handlers/query.js.map +0 -1
  907. package/dist/infrastructure/server/http.d.ts.map +0 -1
  908. package/dist/infrastructure/server/http.js.map +0 -1
  909. package/dist/infrastructure/server/httpEndpoints.d.ts.map +0 -1
  910. package/dist/infrastructure/server/httpEndpoints.js.map +0 -1
  911. package/dist/infrastructure/server/httpRouteJobs.d.ts.map +0 -1
  912. package/dist/infrastructure/server/httpRouteJobs.js.map +0 -1
  913. package/dist/infrastructure/server/httpRouteQueueConfig.d.ts.map +0 -1
  914. package/dist/infrastructure/server/httpRouteQueueConfig.js.map +0 -1
  915. package/dist/infrastructure/server/httpRouteQueues.d.ts.map +0 -1
  916. package/dist/infrastructure/server/httpRouteQueues.js.map +0 -1
  917. package/dist/infrastructure/server/httpRouteResources.d.ts.map +0 -1
  918. package/dist/infrastructure/server/httpRouteResources.js.map +0 -1
  919. package/dist/infrastructure/server/index.d.ts.map +0 -1
  920. package/dist/infrastructure/server/index.js.map +0 -1
  921. package/dist/infrastructure/server/protocol.d.ts.map +0 -1
  922. package/dist/infrastructure/server/protocol.js.map +0 -1
  923. package/dist/infrastructure/server/rateLimiter.d.ts.map +0 -1
  924. package/dist/infrastructure/server/rateLimiter.js.map +0 -1
  925. package/dist/infrastructure/server/sseHandler.d.ts.map +0 -1
  926. package/dist/infrastructure/server/sseHandler.js.map +0 -1
  927. package/dist/infrastructure/server/tcp.d.ts.map +0 -1
  928. package/dist/infrastructure/server/tcp.js.map +0 -1
  929. package/dist/infrastructure/server/types.d.ts.map +0 -1
  930. package/dist/infrastructure/server/types.js.map +0 -1
  931. package/dist/infrastructure/server/wsHandler.d.ts.map +0 -1
  932. package/dist/infrastructure/server/wsHandler.js.map +0 -1
  933. package/dist/main.d.ts.map +0 -1
  934. package/dist/main.js.map +0 -1
  935. package/dist/mcp/adapter.d.ts.map +0 -1
  936. package/dist/mcp/adapter.js.map +0 -1
  937. package/dist/mcp/httpHandler.d.ts.map +0 -1
  938. package/dist/mcp/httpHandler.js.map +0 -1
  939. package/dist/mcp/index.d.ts.map +0 -1
  940. package/dist/mcp/index.js.map +0 -1
  941. package/dist/mcp/mcpHandlers.d.ts +0 -129
  942. package/dist/mcp/mcpHandlers.d.ts.map +0 -1
  943. package/dist/mcp/mcpHandlers.js +0 -204
  944. package/dist/mcp/mcpHandlers.js.map +0 -1
  945. package/dist/mcp/mcpTools.d.ts +0 -15
  946. package/dist/mcp/mcpTools.d.ts.map +0 -1
  947. package/dist/mcp/mcpTools.js +0 -277
  948. package/dist/mcp/mcpTools.js.map +0 -1
  949. package/dist/mcp/prompts.d.ts.map +0 -1
  950. package/dist/mcp/prompts.js.map +0 -1
  951. package/dist/mcp/resources.d.ts.map +0 -1
  952. package/dist/mcp/resources.js.map +0 -1
  953. package/dist/mcp/tools/consumptionTools.d.ts.map +0 -1
  954. package/dist/mcp/tools/consumptionTools.js.map +0 -1
  955. package/dist/mcp/tools/cronTools.d.ts.map +0 -1
  956. package/dist/mcp/tools/cronTools.js.map +0 -1
  957. package/dist/mcp/tools/dlqTools.d.ts.map +0 -1
  958. package/dist/mcp/tools/dlqTools.js.map +0 -1
  959. package/dist/mcp/tools/flowTools.d.ts.map +0 -1
  960. package/dist/mcp/tools/flowTools.js.map +0 -1
  961. package/dist/mcp/tools/handlerTools.d.ts.map +0 -1
  962. package/dist/mcp/tools/handlerTools.js.map +0 -1
  963. package/dist/mcp/tools/jobMgmtTools.d.ts.map +0 -1
  964. package/dist/mcp/tools/jobMgmtTools.js.map +0 -1
  965. package/dist/mcp/tools/jobTools.d.ts.map +0 -1
  966. package/dist/mcp/tools/jobTools.js.map +0 -1
  967. package/dist/mcp/tools/mcpTracker.d.ts.map +0 -1
  968. package/dist/mcp/tools/mcpTracker.js.map +0 -1
  969. package/dist/mcp/tools/monitoringTools.d.ts.map +0 -1
  970. package/dist/mcp/tools/monitoringTools.js.map +0 -1
  971. package/dist/mcp/tools/queueTools.d.ts.map +0 -1
  972. package/dist/mcp/tools/queueTools.js.map +0 -1
  973. package/dist/mcp/tools/rateLimitTools.d.ts.map +0 -1
  974. package/dist/mcp/tools/rateLimitTools.js.map +0 -1
  975. package/dist/mcp/tools/webhookTools.d.ts.map +0 -1
  976. package/dist/mcp/tools/webhookTools.js.map +0 -1
  977. package/dist/mcp/tools/withErrorHandler.d.ts.map +0 -1
  978. package/dist/mcp/tools/withErrorHandler.js.map +0 -1
  979. package/dist/mcp/tools/workerMgmtTools.d.ts.map +0 -1
  980. package/dist/mcp/tools/workerMgmtTools.js.map +0 -1
  981. package/dist/shared/boundedMap.d.ts.map +0 -1
  982. package/dist/shared/boundedMap.js.map +0 -1
  983. package/dist/shared/boundedSet.d.ts.map +0 -1
  984. package/dist/shared/boundedSet.js.map +0 -1
  985. package/dist/shared/hash.d.ts.map +0 -1
  986. package/dist/shared/hash.js.map +0 -1
  987. package/dist/shared/histogram.d.ts.map +0 -1
  988. package/dist/shared/histogram.js.map +0 -1
  989. package/dist/shared/index.d.ts.map +0 -1
  990. package/dist/shared/index.js.map +0 -1
  991. package/dist/shared/lock.d.ts.map +0 -1
  992. package/dist/shared/lock.js.map +0 -1
  993. package/dist/shared/logger.d.ts.map +0 -1
  994. package/dist/shared/logger.js.map +0 -1
  995. package/dist/shared/lru.d.ts.map +0 -1
  996. package/dist/shared/lru.js.map +0 -1
  997. package/dist/shared/lruMap.d.ts.map +0 -1
  998. package/dist/shared/lruMap.js.map +0 -1
  999. package/dist/shared/lruSet.d.ts.map +0 -1
  1000. package/dist/shared/lruSet.js.map +0 -1
  1001. package/dist/shared/minHeap.d.ts.map +0 -1
  1002. package/dist/shared/minHeap.js.map +0 -1
  1003. package/dist/shared/semaphore.d.ts.map +0 -1
  1004. package/dist/shared/semaphore.js.map +0 -1
  1005. package/dist/shared/serialization.d.ts.map +0 -1
  1006. package/dist/shared/serialization.js.map +0 -1
  1007. package/dist/shared/skipList.d.ts.map +0 -1
  1008. package/dist/shared/skipList.js.map +0 -1
  1009. package/dist/shared/ttlMap.d.ts.map +0 -1
  1010. package/dist/shared/ttlMap.js.map +0 -1
  1011. package/dist/shared/version.d.ts.map +0 -1
  1012. package/dist/shared/version.js.map +0 -1
  1013. package/dist/shared/webhookValidation.d.ts.map +0 -1
  1014. package/dist/shared/webhookValidation.js.map +0 -1
@@ -68,6 +68,9 @@ export async function add(ctx, jobName, data, opts = {}) {
68
68
  sizeLimit: merged.sizeLimit,
69
69
  failParentOnFailure: merged.failParentOnFailure,
70
70
  removeDependencyOnFailure: merged.removeDependencyOnFailure,
71
+ continueParentOnFailure: merged.continueParentOnFailure,
72
+ ignoreDependencyOnFailure: merged.ignoreDependencyOnFailure,
73
+ timestamp: merged.timestamp,
71
74
  debounceId: merged.debounce?.id,
72
75
  debounceTtl: merged.debounce?.ttl,
73
76
  });
@@ -94,25 +97,9 @@ export async function add(ctx, jobName, data, opts = {}) {
94
97
  waitUntilFinished: (jid, queueEvents, ttl) => ctx.waitJobUntilFinished(jid, queueEvents, ttl),
95
98
  });
96
99
  }
97
- // TCP mode
100
+ // TCP mode — forward the full option set so nothing is silently dropped (#88)
98
101
  const tcp = ctx.tcp;
99
- const response = await tcp.send({
100
- cmd: 'PUSH',
101
- queue: ctx.name,
102
- data: jobData,
103
- priority: merged.priority,
104
- delay: merged.delay,
105
- maxAttempts: merged.attempts,
106
- backoff: merged.backoff,
107
- timeout: merged.timeout,
108
- jobId: merged.jobId,
109
- removeOnComplete: merged.removeOnComplete,
110
- removeOnFail: merged.removeOnFail,
111
- stallTimeout: merged.stallTimeout,
112
- durable: merged.durable,
113
- repeat: merged.repeat,
114
- parentId: merged.parent?.id,
115
- });
102
+ const response = await tcp.send(buildPushPayload(ctx.name, jobData, merged));
116
103
  if (!response.ok) {
117
104
  throw new Error(response.error ?? 'Failed to add job');
118
105
  }
@@ -124,27 +111,111 @@ export async function add(ctx, jobName, data, opts = {}) {
124
111
  removeAsync: ctx.removeAsync,
125
112
  retryJob: ctx.retryJob,
126
113
  getChildrenValues: ctx.getChildrenValues,
114
+ }, { priority: merged.priority, delay: merged.delay, opts: merged });
115
+ }
116
+ /**
117
+ * Strip undefined-valued keys so the msgpack frame stays compact. Sending a
118
+ * field as `undefined` still serializes a nil entry; for large batches this
119
+ * bloats the frame (and intermittently trips large-frame delivery). Omitting
120
+ * undefined keeps option-less jobs minimal while still forwarding real options.
121
+ */
122
+ function compact(obj) {
123
+ const out = {};
124
+ for (const k in obj) {
125
+ if (obj[k] !== undefined)
126
+ out[k] = obj[k];
127
+ }
128
+ return out;
129
+ }
130
+ /** Build the compacted PUSH command payload, forwarding the full option set (#88) */
131
+ function buildPushPayload(queue, jobData, m) {
132
+ return compact({
133
+ cmd: 'PUSH',
134
+ queue,
135
+ data: jobData,
136
+ priority: m.priority,
137
+ delay: m.delay,
138
+ maxAttempts: m.attempts,
139
+ backoff: m.backoff,
140
+ ttl: m.ttl,
141
+ timeout: m.timeout,
142
+ jobId: m.jobId,
143
+ uniqueKey: m.deduplication?.id,
144
+ dedup: m.deduplication
145
+ ? {
146
+ ttl: m.deduplication.ttl,
147
+ extend: m.deduplication.extend,
148
+ replace: m.deduplication.replace,
149
+ }
150
+ : undefined,
151
+ dependsOn: m.dependsOn,
152
+ tags: m.tags,
153
+ groupId: m.groupId,
154
+ lifo: m.lifo,
155
+ // Coerce to boolean for parity with embedded (which ignores non-boolean). #90
156
+ removeOnComplete: typeof m.removeOnComplete === 'boolean' ? m.removeOnComplete : undefined,
157
+ removeOnFail: typeof m.removeOnFail === 'boolean' ? m.removeOnFail : undefined,
158
+ stallTimeout: m.stallTimeout,
159
+ stackTraceLimit: m.stackTraceLimit,
160
+ keepLogs: m.keepLogs,
161
+ sizeLimit: m.sizeLimit,
162
+ failParentOnFailure: m.failParentOnFailure,
163
+ removeDependencyOnFailure: m.removeDependencyOnFailure,
164
+ continueParentOnFailure: m.continueParentOnFailure,
165
+ ignoreDependencyOnFailure: m.ignoreDependencyOnFailure,
166
+ debounceId: m.debounce?.id,
167
+ debounceTtl: m.debounce?.ttl,
168
+ timestamp: m.timestamp,
169
+ durable: m.durable,
170
+ repeat: m.repeat,
171
+ parentId: m.parent?.id,
127
172
  });
128
173
  }
174
+ /** Build the data payload for a bulk job, injecting parent refs when present */
175
+ function buildBulkData(name, data, m) {
176
+ const jobData = { name, ...data };
177
+ if (m.parent) {
178
+ jobData.__parentId = m.parent.id;
179
+ jobData.__parentQueue = m.parent.queue;
180
+ }
181
+ return jobData;
182
+ }
183
+ /** Reflection meta so the returned bulk Job reflects the requested options (#88) */
184
+ function reflectionMeta(m) {
185
+ return { priority: m.priority, delay: m.delay, opts: m };
186
+ }
129
187
  /** Add multiple jobs in bulk */
130
188
  export async function addBulk(ctx, jobs) {
131
189
  if (jobs.length === 0)
132
190
  return [];
133
191
  const now = Date.now();
192
+ // Merge defaults once per job so input building and reflection stay in sync
193
+ const merged = jobs.map(({ opts }) => ({
194
+ ...ctx.opts.defaultJobOptions,
195
+ ...opts,
196
+ }));
134
197
  if (ctx.embedded) {
135
198
  const manager = getSharedManager();
136
- const inputs = jobs.map(({ name, data, opts }) => {
137
- const m = { ...ctx.opts.defaultJobOptions, ...opts };
199
+ const inputs = jobs.map(({ name, data }, i) => {
200
+ const m = merged[i];
138
201
  const removeOnComplete = typeof m.removeOnComplete === 'boolean' ? m.removeOnComplete : false;
139
202
  const removeOnFail = typeof m.removeOnFail === 'boolean' ? m.removeOnFail : false;
140
203
  return {
141
- data: { name, ...data },
204
+ data: buildBulkData(name, data, m),
142
205
  priority: m.priority,
143
206
  delay: m.delay,
144
207
  maxAttempts: m.attempts,
145
208
  backoff: m.backoff,
146
209
  timeout: m.timeout,
210
+ ttl: m.ttl,
147
211
  customId: m.jobId,
212
+ uniqueKey: m.deduplication?.id,
213
+ dependsOn: m.dependsOn?.map((id) => jobId(id)),
214
+ parentId: m.parent ? jobId(m.parent.id) : undefined,
215
+ tags: m.tags,
216
+ groupId: m.groupId,
217
+ stallTimeout: m.stallTimeout,
218
+ timestamp: m.timestamp,
148
219
  removeOnComplete,
149
220
  removeOnFail,
150
221
  repeat: m.repeat
@@ -170,6 +241,15 @@ export async function addBulk(ctx, jobs) {
170
241
  sizeLimit: m.sizeLimit,
171
242
  failParentOnFailure: m.failParentOnFailure,
172
243
  removeDependencyOnFailure: m.removeDependencyOnFailure,
244
+ continueParentOnFailure: m.continueParentOnFailure,
245
+ ignoreDependencyOnFailure: m.ignoreDependencyOnFailure,
246
+ dedup: m.deduplication
247
+ ? {
248
+ ttl: m.deduplication.ttl,
249
+ extend: m.deduplication.extend,
250
+ replace: m.deduplication.replace,
251
+ }
252
+ : undefined,
173
253
  debounceId: m.debounce?.id,
174
254
  debounceTtl: m.debounce?.ttl,
175
255
  };
@@ -177,18 +257,23 @@ export async function addBulk(ctx, jobs) {
177
257
  const ids = await manager.pushBatch(ctx.name, inputs);
178
258
  return ids.map((id, i) => createSimpleJob(String(id), jobs[i].name, jobs[i].data, now, {
179
259
  queueName: ctx.name,
260
+ embedded: ctx.embedded,
261
+ tcp: ctx.tcp,
180
262
  getJobState: ctx.getJobState,
181
263
  removeAsync: ctx.removeAsync,
182
264
  retryJob: ctx.retryJob,
183
265
  getChildrenValues: ctx.getChildrenValues,
266
+ meta: reflectionMeta(merged[i]),
184
267
  }));
185
268
  }
186
269
  // TCP mode
187
270
  const tcp = ctx.tcp;
188
- const batchJobs = jobs.map(({ name, data, opts }) => {
189
- const m = { ...ctx.opts.defaultJobOptions, ...opts };
190
- return {
191
- data: { name, ...data },
271
+ const batchJobs = jobs.map(({ name, data }, i) => {
272
+ const m = merged[i];
273
+ const removeOnComplete = typeof m.removeOnComplete === 'boolean' ? m.removeOnComplete : false;
274
+ const removeOnFail = typeof m.removeOnFail === 'boolean' ? m.removeOnFail : false;
275
+ return compact({
276
+ data: buildBulkData(name, data, m),
192
277
  priority: m.priority,
193
278
  delay: m.delay,
194
279
  maxAttempts: m.attempts,
@@ -198,6 +283,8 @@ export async function addBulk(ctx, jobs) {
198
283
  customId: m.jobId,
199
284
  tags: m.tags,
200
285
  groupId: m.groupId,
286
+ dependsOn: m.dependsOn?.map((id) => jobId(id)),
287
+ parentId: m.parent ? jobId(m.parent.id) : undefined,
201
288
  uniqueKey: m.deduplication?.id,
202
289
  dedup: m.deduplication
203
290
  ? {
@@ -208,6 +295,9 @@ export async function addBulk(ctx, jobs) {
208
295
  : undefined,
209
296
  lifo: m.lifo,
210
297
  stallTimeout: m.stallTimeout,
298
+ timestamp: m.timestamp,
299
+ removeOnComplete,
300
+ removeOnFail,
211
301
  repeat: m.repeat,
212
302
  durable: m.durable,
213
303
  stackTraceLimit: m.stackTraceLimit,
@@ -215,17 +305,24 @@ export async function addBulk(ctx, jobs) {
215
305
  sizeLimit: m.sizeLimit,
216
306
  failParentOnFailure: m.failParentOnFailure,
217
307
  removeDependencyOnFailure: m.removeDependencyOnFailure,
308
+ continueParentOnFailure: m.continueParentOnFailure,
309
+ ignoreDependencyOnFailure: m.ignoreDependencyOnFailure,
218
310
  debounceId: m.debounce?.id,
219
311
  debounceTtl: m.debounce?.ttl,
220
- };
312
+ });
221
313
  });
222
314
  const response = await tcp.send({
223
315
  cmd: 'PUSHB',
224
316
  queue: ctx.name,
225
317
  jobs: batchJobs,
226
318
  });
227
- if (!response.ok)
228
- return [];
319
+ // Mirror the single-PUSH path (~line 168): a rejected response (e.g. auth
320
+ // failure) must propagate as a thrown error so the AddBatcher rejects the
321
+ // queued callers, instead of resolving them with undefined jobs. An OK
322
+ // response with zero jobs is a legitimate empty result and is NOT an error.
323
+ if (!response.ok) {
324
+ throw new Error(response.error ?? 'Failed to add jobs');
325
+ }
229
326
  const ids = (response.ids ?? []);
230
327
  return ids.map((id, i) => createJobProxy(id, jobs[i].name, jobs[i].data, {
231
328
  queueName: ctx.name,
@@ -234,7 +331,7 @@ export async function addBulk(ctx, jobs) {
234
331
  removeAsync: ctx.removeAsync,
235
332
  retryJob: ctx.retryJob,
236
333
  getChildrenValues: ctx.getChildrenValues,
237
- }));
334
+ }, reflectionMeta(merged[i])));
238
335
  }
239
336
  function parseDate(date) {
240
337
  if (date instanceof Date)
@@ -243,4 +340,3 @@ function parseDate(date) {
243
340
  return new Date(date).getTime();
244
341
  return date;
245
342
  }
246
- //# sourceMappingURL=add.js.map
@@ -23,4 +23,3 @@ export declare function isPausedAsync(ctx: ControlContext): Promise<boolean>;
23
23
  /** Wait until queue is ready */
24
24
  export declare function waitUntilReady(ctx: ControlContext): Promise<void>;
25
25
  export {};
26
- //# sourceMappingURL=control.d.ts.map
@@ -53,4 +53,3 @@ export async function waitUntilReady(ctx) {
53
53
  if (ctx.tcp)
54
54
  await ctx.tcp.send({ cmd: 'Ping' });
55
55
  }
56
- //# sourceMappingURL=control.js.map
@@ -40,4 +40,3 @@ export declare function getCountsPerPriority(ctx: CountsContext): Record<number,
40
40
  /** Get counts grouped by priority (async) */
41
41
  export declare function getCountsPerPriorityAsync(ctx: CountsContext): Promise<Record<number, number>>;
42
42
  export {};
43
- //# sourceMappingURL=counts.d.ts.map
@@ -121,4 +121,3 @@ export async function getCountsPerPriorityAsync(ctx) {
121
121
  return {};
122
122
  return (response.counts ?? {});
123
123
  }
124
- //# sourceMappingURL=counts.js.map
@@ -7,4 +7,3 @@ export * from './query';
7
7
  export * from './counts';
8
8
  export * from './control';
9
9
  export * from './management';
10
- //# sourceMappingURL=index.d.ts.map
@@ -7,4 +7,3 @@ export * from './query';
7
7
  export * from './counts';
8
8
  export * from './control';
9
9
  export * from './management';
10
- //# sourceMappingURL=index.js.map
@@ -12,7 +12,7 @@ interface ManagementContext {
12
12
  export declare function remove(ctx: ManagementContext, id: string): void;
13
13
  /** Remove a job (async) */
14
14
  export declare function removeAsync(ctx: ManagementContext, id: string): Promise<void>;
15
- /** Retry a specific job */
15
+ /** Retry a specific job — BullMQ contract: failed → waiting. */
16
16
  export declare function retryJob(ctx: ManagementContext, id: string): Promise<void>;
17
17
  /** Retry jobs matching criteria */
18
18
  export declare function retryJobs(ctx: ManagementContext, opts?: {
@@ -53,4 +53,3 @@ export declare function changeJobPriority(ctx: ManagementContext, id: string, op
53
53
  /** Extend job lock */
54
54
  export declare function extendJobLock(ctx: ManagementContext, id: string, token: string, duration: number): Promise<number>;
55
55
  export {};
56
- //# sourceMappingURL=management.d.ts.map
@@ -22,13 +22,32 @@ export async function removeAsync(ctx, id) {
22
22
  await ctx.tcp.send({ cmd: 'Cancel', id });
23
23
  }
24
24
  // ============ Retry Operations ============
25
- /** Retry a specific job */
25
+ /** Retry a specific job — BullMQ contract: failed → waiting. */
26
26
  export async function retryJob(ctx, id) {
27
27
  if (ctx.embedded) {
28
- getSharedManager().retryDlq(ctx.name, jobId(id));
29
- return;
28
+ const mgr = getSharedManager();
29
+ const state = await mgr.getJobState(jobId(id));
30
+ if (state === 'failed') {
31
+ const count = mgr.retryDlq(ctx.name, jobId(id));
32
+ if (count === 0)
33
+ throw new Error(`Job ${id} is failed but not present in DLQ`);
34
+ return;
35
+ }
36
+ if (state === 'active') {
37
+ const ok = await mgr.moveActiveToWait(jobId(id));
38
+ if (!ok)
39
+ throw new Error(`Failed to retry active job ${id}`);
40
+ return;
41
+ }
42
+ if (state === 'waiting' || state === 'prioritized' || state === 'delayed')
43
+ return;
44
+ throw new Error(`Cannot retry job ${id} from state '${state}'`);
45
+ }
46
+ const res = await ctx.tcp.send({ cmd: 'MoveToWait', id });
47
+ if (res.ok !== true) {
48
+ const err = typeof res.error === 'string' ? res.error : 'retry failed';
49
+ throw new Error(err);
30
50
  }
31
- await ctx.tcp.send({ cmd: 'RetryDlq', queue: ctx.name, id });
32
51
  }
33
52
  /** Retry jobs matching criteria */
34
53
  export async function retryJobs(ctx, opts) {
@@ -47,8 +66,7 @@ export async function retryJobs(ctx, opts) {
47
66
  export function clean(ctx, grace, limit, type) {
48
67
  if (!ctx.embedded)
49
68
  return [];
50
- const count = getSharedManager().clean(ctx.name, grace, type, limit);
51
- return new Array(count).fill('');
69
+ return getSharedManager().clean(ctx.name, grace, type, limit);
52
70
  }
53
71
  /** Clean old jobs (async) */
54
72
  export async function cleanAsync(ctx, grace, limit, type) {
@@ -156,7 +174,7 @@ export async function updateJobData(ctx, id, data) {
156
174
  /** Change job delay */
157
175
  export async function changeJobDelay(ctx, id, delay) {
158
176
  if (ctx.embedded) {
159
- // Not directly supported in embedded mode
177
+ await getSharedManager().changeDelay(jobId(id), delay);
160
178
  return;
161
179
  }
162
180
  await ctx.tcp.send({ cmd: 'ChangeDelay', id, delay });
@@ -164,10 +182,10 @@ export async function changeJobDelay(ctx, id, delay) {
164
182
  /** Change job priority */
165
183
  export async function changeJobPriority(ctx, id, opts) {
166
184
  if (ctx.embedded) {
167
- await getSharedManager().changePriority(jobId(id), opts.priority);
185
+ await getSharedManager().changePriority(jobId(id), opts.priority, opts.lifo);
168
186
  return;
169
187
  }
170
- await ctx.tcp.send({ cmd: 'ChangePriority', id, priority: opts.priority });
188
+ await ctx.tcp.send({ cmd: 'ChangePriority', id, priority: opts.priority, lifo: opts.lifo });
171
189
  }
172
190
  /** Extend job lock */
173
191
  export async function extendJobLock(ctx, id, token, duration) {
@@ -178,4 +196,3 @@ export async function extendJobLock(ctx, id, token, duration) {
178
196
  const response = await ctx.tcp.send({ cmd: 'ExtendLock', id, token, duration });
179
197
  return response.ok ? duration : 0;
180
198
  }
181
- //# sourceMappingURL=management.js.map
@@ -17,11 +17,23 @@ interface QueryContext {
17
17
  changeJobDelay?: (id: string, delay: number) => Promise<void>;
18
18
  changeJobPriority?: (id: string, opts: {
19
19
  priority: number;
20
+ lifo?: boolean;
20
21
  }) => Promise<void>;
21
22
  extendJobLock?: (id: string, token: string, duration: number) => Promise<number>;
22
23
  clearJobLogs?: (id: string, keepLogs?: number) => Promise<void>;
23
24
  getJobDependencies?: (id: string, opts?: GetDependenciesOpts) => Promise<JobDependencies>;
24
25
  getJobDependenciesCount?: (id: string, opts?: GetDependenciesOpts) => Promise<JobDependenciesCount>;
26
+ moveJobToCompleted?: (id: string, returnValue: unknown, token?: string) => Promise<unknown>;
27
+ moveJobToFailed?: (id: string, error: Error, token?: string) => Promise<void>;
28
+ moveJobToWait?: (id: string, token?: string) => Promise<boolean>;
29
+ moveJobToDelayed?: (id: string, timestamp: number, token?: string) => Promise<void>;
30
+ moveJobToWaitingChildren?: (id: string, token?: string, opts?: {
31
+ child?: {
32
+ id: string;
33
+ queue: string;
34
+ };
35
+ }) => Promise<boolean>;
36
+ waitJobUntilFinished?: (id: string, queueEvents: unknown, ttl?: number) => Promise<unknown>;
25
37
  }
26
38
  /** Get a single job by ID */
27
39
  export declare function getJob<T>(ctx: QueryContext, id: string): Promise<Job<T> | null>;
@@ -55,4 +67,3 @@ export declare function getCompletedAsync<T>(ctx: QueryContext, start?: number,
55
67
  export declare function getFailed<T>(ctx: QueryContext, start?: number, end?: number): Job<T>[];
56
68
  export declare function getFailedAsync<T>(ctx: QueryContext, start?: number, end?: number): Promise<Job<T>[]>;
57
69
  export {};
58
- //# sourceMappingURL=query.d.ts.map
@@ -7,6 +7,12 @@ import { getSharedManager } from '../../manager';
7
7
  import { toPublicJob } from '../../types';
8
8
  import { jobId } from '../../../domain/types/job';
9
9
  import { createSimpleJob } from '../jobProxy';
10
+ import { buildJobOpts } from '../../jobHelpers';
11
+ /** Build reflection meta (priority/delay/opts) from an internal job shape */
12
+ function metaFromJob(job) {
13
+ const opts = buildJobOpts(job);
14
+ return { priority: job.priority ?? 0, delay: opts.delay ?? 0, opts };
15
+ }
10
16
  /** Get a single job by ID */
11
17
  export async function getJob(ctx, id) {
12
18
  if (ctx.embedded) {
@@ -14,8 +20,9 @@ export async function getJob(ctx, id) {
14
20
  if (!job)
15
21
  return null;
16
22
  const name = job.data?.name ?? 'unknown';
17
- // Use toPublicJob if extended context is available (for full opts support)
23
+ // Use toPublicJob with full wiring (all callbacks route to the shared manager)
18
24
  if (ctx.updateJobData) {
25
+ const mgr = getSharedManager();
19
26
  return toPublicJob({
20
27
  job,
21
28
  name,
@@ -31,15 +38,37 @@ export async function getJob(ctx, id) {
31
38
  clearLogs: ctx.clearJobLogs,
32
39
  getDependencies: ctx.getJobDependencies,
33
40
  getDependenciesCount: ctx.getJobDependenciesCount,
41
+ // Move / wait callbacks
42
+ moveToCompleted: ctx.moveJobToCompleted,
43
+ moveToFailed: ctx.moveJobToFailed,
44
+ moveToWait: ctx.moveJobToWait,
45
+ moveToDelayed: ctx.moveJobToDelayed
46
+ ? (jid, ts, tok) => ctx.moveJobToDelayed(jid, ts, tok)
47
+ : undefined,
48
+ moveToWaitingChildren: ctx.moveJobToWaitingChildren,
49
+ waitUntilFinished: ctx.waitJobUntilFinished,
50
+ // Direct-to-manager callbacks (no server primitive or Queue-level wrapper)
51
+ discard: (jid) => {
52
+ void mgr.discard(jobId(jid));
53
+ },
54
+ getFailedChildrenValues: (jid) => mgr.getFailedChildrenValues(jobId(jid)),
55
+ getIgnoredChildrenFailures: (jid) => mgr.getIgnoredChildrenFailures(jobId(jid)),
56
+ removeChildDependency: (jid) => mgr.removeChildDependency(jobId(jid)),
57
+ removeUnprocessedChildren: async (jid) => {
58
+ await mgr.removeUnprocessedChildren(jobId(jid));
59
+ },
34
60
  });
35
61
  }
36
- // Fallback to simple job
62
+ // Fallback to simple job — reflect priority/delay/opts from the real job (#88)
37
63
  return createSimpleJob(String(job.id), name, job.data, job.createdAt, {
38
64
  queueName: ctx.name,
65
+ embedded: ctx.embedded,
66
+ tcp: ctx.tcp,
39
67
  getJobState: ctx.getJobState,
40
68
  removeAsync: ctx.removeAsync,
41
69
  retryJob: ctx.retryJob,
42
70
  getChildrenValues: ctx.getChildrenValues,
71
+ meta: metaFromJob(job),
43
72
  });
44
73
  }
45
74
  const response = await ctx.tcp.send({ cmd: 'GetJob', id });
@@ -47,12 +76,15 @@ export async function getJob(ctx, id) {
47
76
  return null;
48
77
  const j = response.job;
49
78
  const name = j.data?.name ?? 'unknown';
50
- const result = createSimpleJob(j.id, name, j.data, Date.now(), {
79
+ const result = createSimpleJob(String(j.id), name, j.data, j.createdAt ?? Date.now(), {
51
80
  queueName: ctx.name,
81
+ embedded: ctx.embedded,
82
+ tcp: ctx.tcp,
52
83
  getJobState: ctx.getJobState,
53
84
  removeAsync: ctx.removeAsync,
54
85
  retryJob: ctx.retryJob,
55
86
  getChildrenValues: ctx.getChildrenValues,
87
+ meta: metaFromJob(j),
56
88
  });
57
89
  if (j.progress !== undefined)
58
90
  result.progress = j.progress;
@@ -112,6 +144,8 @@ export function getJobs(ctx, options = {}) {
112
144
  const name = j.data?.name ?? 'unknown';
113
145
  return createSimpleJob(String(j.id), name, j.data, j.createdAt, {
114
146
  queueName: ctx.name,
147
+ embedded: ctx.embedded,
148
+ tcp: ctx.tcp,
115
149
  getJobState: ctx.getJobState,
116
150
  removeAsync: ctx.removeAsync,
117
151
  retryJob: ctx.retryJob,
@@ -136,16 +170,22 @@ export async function getJobsAsync(ctx, options = {}) {
136
170
  if (!response.ok || !Array.isArray(response.jobs)) {
137
171
  return [];
138
172
  }
173
+ // handleGetJobs returns the full internal job per element ({ ...job, state }),
174
+ // so reflect the complete opts via metaFromJob instead of a slim subset (#90).
139
175
  const jobs = response.jobs;
140
176
  const now = Date.now();
141
177
  return jobs.map((j) => {
142
178
  const name = j.data?.name ?? 'unknown';
143
- const result = createSimpleJob(j.id, name, j.data, j.createdAt ?? now, {
179
+ const createdAt = j.createdAt ?? now;
180
+ const result = createSimpleJob(String(j.id), name, j.data, createdAt, {
144
181
  queueName: ctx.name,
182
+ embedded: ctx.embedded,
183
+ tcp: ctx.tcp,
145
184
  getJobState: ctx.getJobState,
146
185
  removeAsync: ctx.removeAsync,
147
186
  retryJob: ctx.retryJob,
148
187
  getChildrenValues: ctx.getChildrenValues,
188
+ meta: metaFromJob(j),
149
189
  });
150
190
  if (j.progress !== undefined)
151
191
  result.progress = j.progress;
@@ -191,4 +231,3 @@ export function getFailed(ctx, start = 0, end = 100) {
191
231
  export async function getFailedAsync(ctx, start = 0, end = 100) {
192
232
  return getJobsAsync(ctx, { state: 'failed', start, end });
193
233
  }
194
- //# sourceMappingURL=query.js.map
@@ -171,4 +171,3 @@ export declare class Queue<T = unknown> {
171
171
  disconnect(): Promise<void>;
172
172
  close(): void;
173
173
  }
174
- //# sourceMappingURL=queue.d.ts.map
@@ -146,6 +146,13 @@ export class Queue {
146
146
  clearJobLogs: (id, keep) => this.clearJobLogs(id, keep),
147
147
  getJobDependencies: (id, o) => this.getJobDependencies(id, o),
148
148
  getJobDependenciesCount: (id, o) => this.getJobDependenciesCount(id, o),
149
+ // Move / wait callbacks
150
+ moveJobToCompleted: (id, r, t) => this.moveJobToCompleted(id, r, t),
151
+ moveJobToFailed: (id, e, t) => this.moveJobToFailed(id, e, t),
152
+ moveJobToWait: (id, t) => this.moveJobToWait(id, t),
153
+ moveJobToDelayed: (id, ts, t) => this.moveJobToDelayed(id, ts, t),
154
+ moveJobToWaitingChildren: (id, t, o) => this.moveJobToWaitingChildren(id, t, o),
155
+ waitJobUntilFinished: (id, qe, ttl) => this.waitJobUntilFinished(id, qe, ttl),
149
156
  };
150
157
  }
151
158
  get moveCtx() {
@@ -388,7 +395,7 @@ export class Queue {
388
395
  }
389
396
  // ============ Scheduler Operations ============
390
397
  upsertJobScheduler(schedulerId, repeatOpts, jobTemplate) {
391
- return schedulerOps.upsertJobScheduler(this.ctx, schedulerId, repeatOpts, jobTemplate);
398
+ return schedulerOps.upsertJobScheduler({ ...this.ctx, defaultJobOptions: this.opts.defaultJobOptions }, schedulerId, repeatOpts, jobTemplate);
392
399
  }
393
400
  removeJobScheduler(schedulerId) {
394
401
  return schedulerOps.removeJobScheduler(this.ctx, schedulerId);
@@ -491,4 +498,3 @@ export class Queue {
491
498
  }
492
499
  }
493
500
  }
494
- //# sourceMappingURL=queue.js.map
@@ -31,4 +31,3 @@ export interface TcpResponse {
31
31
  data?: unknown;
32
32
  [key: string]: unknown;
33
33
  }
34
- //# sourceMappingURL=queueTypes.d.ts.map
@@ -3,4 +3,3 @@
3
3
  * Shared types for queue module operations
4
4
  */
5
5
  export {};
6
- //# sourceMappingURL=queueTypes.js.map
@@ -29,4 +29,3 @@ export declare function getRateLimitTtl(_ctx: RateLimitContext, _maxJobs?: numbe
29
29
  /** Check if queue is at max capacity */
30
30
  export declare function isMaxed(_ctx: RateLimitContext): Promise<boolean>;
31
31
  export {};
32
- //# sourceMappingURL=rateLimit.d.ts.map
@@ -66,4 +66,3 @@ export function getRateLimitTtl(_ctx, _maxJobs) {
66
66
  export function isMaxed(_ctx) {
67
67
  return Promise.resolve(false);
68
68
  }
69
- //# sourceMappingURL=rateLimit.js.map
@@ -14,6 +14,8 @@ interface SchedulerContext {
14
14
  * cannot collide on the global cron-name PRIMARY KEY.
15
15
  */
16
16
  prefixKey?: string;
17
+ /** Queue-level default job options, merged under the scheduler template opts. */
18
+ defaultJobOptions?: JobOptions;
17
19
  }
18
20
  export interface RepeatOpts {
19
21
  pattern?: string;
@@ -55,4 +57,3 @@ export declare function getJobSchedulers(ctx: SchedulerContext, _start?: number,
55
57
  /** Get count of job schedulers */
56
58
  export declare function getJobSchedulersCount(ctx: SchedulerContext): Promise<number>;
57
59
  export {};
58
- //# sourceMappingURL=scheduler.d.ts.map
@@ -22,6 +22,31 @@ function buildCronData(jobTemplate) {
22
22
  ? { name: jobTemplate.name, ...(jobTemplate.data ?? {}) }
23
23
  : (jobTemplate.data ?? {});
24
24
  }
25
+ /**
26
+ * Build the job options carried by every cron-spawned job (issue #86).
27
+ * Queue defaultJobOptions are the base; per-scheduler template opts override.
28
+ * Returns undefined when nothing relevant is set so the server keeps its
29
+ * own JOB_DEFAULTS fallback.
30
+ */
31
+ function buildCronJobOptions(defaultJobOptions, jobTemplate) {
32
+ const merged = { ...defaultJobOptions, ...jobTemplate?.opts };
33
+ const opts = {};
34
+ if (merged.attempts !== undefined)
35
+ opts.maxAttempts = merged.attempts;
36
+ if (merged.backoff !== undefined)
37
+ opts.backoff = merged.backoff;
38
+ if (merged.timeout !== undefined)
39
+ opts.timeout = merged.timeout;
40
+ if (merged.delay !== undefined)
41
+ opts.delay = merged.delay;
42
+ if (merged.stallTimeout !== undefined)
43
+ opts.stallTimeout = merged.stallTimeout;
44
+ if (typeof merged.removeOnComplete === 'boolean')
45
+ opts.removeOnComplete = merged.removeOnComplete;
46
+ if (typeof merged.removeOnFail === 'boolean')
47
+ opts.removeOnFail = merged.removeOnFail;
48
+ return Object.keys(opts).length > 0 ? opts : undefined;
49
+ }
25
50
  /** Extract dedup config from job template */
26
51
  function buildCronDedup(jobTemplate) {
27
52
  const dedup = jobTemplate?.opts?.deduplication;
@@ -38,6 +63,7 @@ export async function upsertJobScheduler(ctx, schedulerId, repeatOpts, jobTempla
38
63
  const repeatEvery = repeatOpts.every;
39
64
  const data = buildCronData(jobTemplate);
40
65
  const dedupFields = buildCronDedup(jobTemplate);
66
+ const jobOptions = buildCronJobOptions(ctx.defaultJobOptions, jobTemplate);
41
67
  const cronName = toCronName(ctx, schedulerId);
42
68
  if (ctx.embedded) {
43
69
  const manager = getSharedManager();
@@ -52,6 +78,7 @@ export async function upsertJobScheduler(ctx, schedulerId, repeatOpts, jobTempla
52
78
  immediately: repeatOpts.immediately,
53
79
  skipIfNoWorker: repeatOpts.skipIfNoWorker,
54
80
  preventOverlap: repeatOpts.preventOverlap,
81
+ jobOptions,
55
82
  ...dedupFields,
56
83
  });
57
84
  return {
@@ -72,6 +99,7 @@ export async function upsertJobScheduler(ctx, schedulerId, repeatOpts, jobTempla
72
99
  immediately: repeatOpts.immediately,
73
100
  skipIfNoWorker: repeatOpts.skipIfNoWorker,
74
101
  preventOverlap: repeatOpts.preventOverlap,
102
+ jobOptions,
75
103
  ...dedupFields,
76
104
  });
77
105
  if (!response.ok)
@@ -156,4 +184,3 @@ export async function getJobSchedulersCount(ctx) {
156
184
  const schedulers = await getJobSchedulers(ctx);
157
185
  return schedulers.length;
158
186
  }
159
- //# sourceMappingURL=scheduler.js.map
@@ -16,4 +16,3 @@ export declare function getStallConfig(ctx: StallContext): StallConfig;
16
16
  /** Get stall detection configuration (async, works in TCP mode) */
17
17
  export declare function getStallConfigAsync(ctx: StallContext): Promise<StallConfig>;
18
18
  export {};
19
- //# sourceMappingURL=stall.d.ts.map