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
@@ -71,4 +71,3 @@ export declare function validateConfig(config: S3BackupConfig): {
71
71
  valid: boolean;
72
72
  errors: string[];
73
73
  };
74
- //# sourceMappingURL=s3BackupConfig.d.ts.map
@@ -51,4 +51,3 @@ export function validateConfig(config) {
51
51
  }
52
52
  return { valid: errors.length === 0, errors };
53
53
  }
54
- //# sourceMappingURL=s3BackupConfig.js.map
@@ -20,4 +20,3 @@ export declare function restoreBackup(key: string, config: S3BackupConfig, clien
20
20
  * Clean up old backups based on retention policy
21
21
  */
22
22
  export declare function cleanupOldBackups(config: S3BackupConfig, client: S3Client): Promise<void>;
23
- //# sourceMappingURL=s3BackupOperations.d.ts.map
@@ -58,7 +58,14 @@ async function withRetry(fn, label, maxRetries = 3, baseDelayMs = 500) {
58
58
  }
59
59
  throw lastError;
60
60
  }
61
- /** Verify restored database integrity via PRAGMA integrity_check */
61
+ /**
62
+ * Verify database integrity via PRAGMA integrity_check.
63
+ *
64
+ * Validates the file at `databasePath` and throws on failure. This function
65
+ * is intended to run against a TEMP file (never the live DB): on integrity
66
+ * failure it deletes the file it inspected, so it must only ever be pointed
67
+ * at a throwaway candidate, not the live database.
68
+ */
62
69
  async function verifyDatabaseIntegrity(databasePath) {
63
70
  const { Database } = await import('bun:sqlite');
64
71
  let db = null;
@@ -71,7 +78,15 @@ async function verifyDatabaseIntegrity(databasePath) {
71
78
  }
72
79
  }
73
80
  catch (error) {
74
- // Clean up the corrupt file
81
+ // Close before unlinking so the file handle is released.
82
+ try {
83
+ db?.close();
84
+ }
85
+ catch {
86
+ /* already closed */
87
+ }
88
+ db = null;
89
+ // Clean up the corrupt candidate file (this is a temp file, never the live DB).
75
90
  try {
76
91
  const { unlink } = await import('fs/promises');
77
92
  await unlink(databasePath);
@@ -253,10 +268,33 @@ export async function restoreBackup(key, config, client) {
253
268
  if (!header.startsWith('SQLite format 3')) {
254
269
  throw new Error('Restored data is not a valid SQLite database');
255
270
  }
256
- // Write to database path
257
- await Bun.write(config.databasePath, data);
258
- // Verify restored database integrity
259
- await verifyDatabaseIntegrity(config.databasePath);
271
+ // Atomic, validate-before-replace restore:
272
+ // Write the payload to a TEMP file next to the target, validate integrity
273
+ // on the temp file, and only swap the live DB into place on full success.
274
+ // On any failure the temp file is removed and the live DB is left untouched.
275
+ const tempPath = `${config.databasePath}.restore-${Date.now()}-${Math.random()
276
+ .toString(36)
277
+ .slice(2)}.tmp`;
278
+ try {
279
+ await Bun.write(tempPath, data);
280
+ // Verify integrity on the temp candidate (this deletes the temp file on failure).
281
+ await verifyDatabaseIntegrity(tempPath);
282
+ // Validation passed: atomically replace the live DB with the temp file.
283
+ const { rename } = await import('fs/promises');
284
+ await rename(tempPath, config.databasePath);
285
+ }
286
+ catch (error) {
287
+ // Best-effort cleanup of the temp file (may already be removed by the
288
+ // integrity check). The live DB at config.databasePath is never touched.
289
+ try {
290
+ const { unlink } = await import('fs/promises');
291
+ await unlink(tempPath);
292
+ }
293
+ catch {
294
+ /* best effort — temp file may not exist */
295
+ }
296
+ throw error;
297
+ }
260
298
  const duration = Date.now() - startTime;
261
299
  return { success: true, key, size: data.byteLength, duration };
262
300
  }
@@ -298,4 +336,3 @@ export async function cleanupOldBackups(config, client) {
298
336
  backupLog.error('Backup cleanup failed', { error: String(error) });
299
337
  }
300
338
  }
301
- //# sourceMappingURL=s3BackupOperations.js.map
@@ -15,4 +15,3 @@ export declare class SnapshotBuffer {
15
15
  get size(): number;
16
16
  get isEmpty(): boolean;
17
17
  }
18
- //# sourceMappingURL=buffer.d.ts.map
@@ -27,4 +27,3 @@ export class SnapshotBuffer {
27
27
  return this.items.length === 0;
28
28
  }
29
29
  }
30
- //# sourceMappingURL=buffer.js.map
@@ -17,4 +17,3 @@ export declare class CircuitBreaker {
17
17
  onFailure(): void;
18
18
  getState(): string;
19
19
  }
20
- //# sourceMappingURL=circuitBreaker.d.ts.map
@@ -44,4 +44,3 @@ export class CircuitBreaker {
44
44
  return this.state;
45
45
  }
46
46
  }
47
- //# sourceMappingURL=circuitBreaker.js.map
@@ -46,10 +46,9 @@ export declare class CloudAgent {
46
46
  private sendSnapshot;
47
47
  /** Subscribe to job events — buffer for next HTTP snapshot */
48
48
  private subscribeToEvents;
49
- /** Redact sensitive fields from job data */
49
+ /** Redact sensitive fields from job data (delegates to the shared helper) */
50
50
  private redactData;
51
51
  getInstanceId(): string;
52
52
  /** Collect a fresh snapshot on demand (used by snapshot:get command) */
53
53
  getSnapshot(): Promise<CloudSnapshot>;
54
54
  }
55
- //# sourceMappingURL=cloudAgent.d.ts.map
@@ -10,6 +10,7 @@
10
10
  */
11
11
  import { loadCloudConfig } from './config';
12
12
  import { collectSnapshot } from './snapshotCollector';
13
+ import { redactData } from './redact';
13
14
  import { HttpSender } from './httpSender';
14
15
  import { WsSender } from './wsSender';
15
16
  import { handleCommand } from './commandHandler';
@@ -125,6 +126,8 @@ export class CloudAgent {
125
126
  sequenceId: ++this.sequenceId,
126
127
  serverHandles: this.serverHandles,
127
128
  includeHeavy: true,
129
+ redactFields: this.config.redactFields,
130
+ includeJobData: this.config.includeJobData,
128
131
  });
129
132
  snapshot.shutdown = true;
130
133
  await Promise.race([this.httpSender.send(snapshot), Bun.sleep(2000)]);
@@ -170,6 +173,8 @@ export class CloudAgent {
170
173
  sequenceId: ++this.sequenceId,
171
174
  serverHandles: this.serverHandles,
172
175
  includeHeavy: true,
176
+ redactFields: this.config.redactFields,
177
+ includeJobData: this.config.includeJobData,
173
178
  });
174
179
  // Embed buffered events in snapshot
175
180
  if (this.eventBuffer.length > 0) {
@@ -210,18 +215,9 @@ export class CloudAgent {
210
215
  this.eventBuffer.push(cloudEvent);
211
216
  });
212
217
  }
213
- /** Redact sensitive fields from job data */
218
+ /** Redact sensitive fields from job data (delegates to the shared helper) */
214
219
  redactData(data) {
215
- if (!data || typeof data !== 'object' || this.config.redactFields.length === 0) {
216
- return data;
217
- }
218
- const redacted = { ...data };
219
- for (const field of this.config.redactFields) {
220
- if (field in redacted) {
221
- redacted[field] = '[REDACTED]';
222
- }
223
- }
224
- return redacted;
220
+ return redactData(data, this.config.redactFields);
225
221
  }
226
222
  getInstanceId() {
227
223
  return this.instanceId;
@@ -236,8 +232,9 @@ export class CloudAgent {
236
232
  sequenceId: ++this.sequenceId,
237
233
  serverHandles: this.serverHandles,
238
234
  includeHeavy: true,
235
+ redactFields: this.config.redactFields,
236
+ includeJobData: this.config.includeJobData,
239
237
  });
240
238
  return snapshot;
241
239
  }
242
240
  }
243
- //# sourceMappingURL=cloudAgent.js.map
@@ -49,4 +49,3 @@ export interface CommandContext {
49
49
  }
50
50
  /** Process a command and return the result */
51
51
  export declare function handleCommand(queueManager: QueueManager, cmd: CloudCommand, context?: CommandContext): Promise<CloudCommandResult>;
52
- //# sourceMappingURL=commandHandler.d.ts.map
@@ -85,4 +85,3 @@ export async function handleCommand(queueManager, cmd, context) {
85
85
  };
86
86
  }
87
87
  }
88
- //# sourceMappingURL=commandHandler.js.map
@@ -8,4 +8,3 @@ type Handler = (qm: QueueManager, cmd: CloudCommand) => unknown;
8
8
  /** All whitelisted commands */
9
9
  export declare const COMMANDS: Partial<Record<string, Handler>>;
10
10
  export {};
11
- //# sourceMappingURL=commands.d.ts.map
@@ -90,8 +90,8 @@ export const COMMANDS = {
90
90
  return { queue: cmd.queue, drained: count };
91
91
  },
92
92
  'queue:clean': (qm, cmd) => {
93
- const count = qm.clean(cmd.queue ?? '', cmd.graceMs ?? 0, cmd.state, cmd.limit);
94
- return { queue: cmd.queue, cleaned: count };
93
+ const ids = qm.clean(cmd.queue ?? '', cmd.graceMs ?? 0, cmd.state, cmd.limit);
94
+ return { queue: cmd.queue, cleaned: ids.length, ids };
95
95
  },
96
96
  'queue:obliterate': (qm, cmd) => {
97
97
  qm.obliterate(cmd.queue ?? '');
@@ -341,4 +341,3 @@ export const COMMANDS = {
341
341
  return { error: 'S3 backup not configured' };
342
342
  },
343
343
  };
344
- //# sourceMappingURL=commands.js.map
@@ -5,4 +5,3 @@
5
5
  import type { CloudConfig } from './types';
6
6
  /** Parse Cloud configuration from environment. Returns null if disabled. */
7
7
  export declare function loadCloudConfig(dataPath?: string): CloudConfig | null;
8
- //# sourceMappingURL=config.d.ts.map
@@ -34,4 +34,3 @@ export function loadCloudConfig(dataPath) {
34
34
  remoteCommands: Bun.env.BUNQUEUE_CLOUD_REMOTE_COMMANDS !== 'false',
35
35
  };
36
36
  }
37
- //# sourceMappingURL=config.js.map
@@ -21,4 +21,3 @@ export declare class HttpSender {
21
21
  getBufferSize(): number;
22
22
  getCircuitState(): string;
23
23
  }
24
- //# sourceMappingURL=httpSender.d.ts.map
@@ -118,4 +118,3 @@ export class HttpSender {
118
118
  return this.circuitBreaker.getState();
119
119
  }
120
120
  }
121
- //# sourceMappingURL=httpSender.js.map
@@ -8,4 +8,3 @@
8
8
  export { CloudAgent } from './cloudAgent';
9
9
  export { loadCloudConfig } from './config';
10
10
  export type { CloudConfig, CloudSnapshot, CloudEvent } from './types';
11
- //# sourceMappingURL=index.d.ts.map
@@ -7,4 +7,3 @@
7
7
  */
8
8
  export { CloudAgent } from './cloudAgent';
9
9
  export { loadCloudConfig } from './config';
10
- //# sourceMappingURL=index.js.map
@@ -2,4 +2,3 @@
2
2
  * bunqueue Cloud Logger
3
3
  */
4
4
  export declare const cloudLog: import("../../shared/logger").Logger;
5
- //# sourceMappingURL=logger.d.ts.map
@@ -3,4 +3,3 @@
3
3
  */
4
4
  import { createLogger } from '../../shared/logger';
5
5
  export const cloudLog = createLogger('Cloud');
6
- //# sourceMappingURL=logger.js.map
@@ -0,0 +1,10 @@
1
+ /**
2
+ * Shared redaction helper for the Cloud agent.
3
+ *
4
+ * Single implementation used by BOTH the event channel (subscribeToEvents)
5
+ * and the periodic snapshot path (collectLiveJobs / collectDlqEntries) so
6
+ * configured BUNQUEUE_CLOUD_REDACT_FIELDS are stripped consistently
7
+ * everywhere job data leaves the process.
8
+ */
9
+ /** Replace configured fields in an object with '[REDACTED]'. Non-objects pass through. */
10
+ export declare function redactData(data: unknown, redactFields: readonly string[]): unknown;
@@ -0,0 +1,21 @@
1
+ /**
2
+ * Shared redaction helper for the Cloud agent.
3
+ *
4
+ * Single implementation used by BOTH the event channel (subscribeToEvents)
5
+ * and the periodic snapshot path (collectLiveJobs / collectDlqEntries) so
6
+ * configured BUNQUEUE_CLOUD_REDACT_FIELDS are stripped consistently
7
+ * everywhere job data leaves the process.
8
+ */
9
+ /** Replace configured fields in an object with '[REDACTED]'. Non-objects pass through. */
10
+ export function redactData(data, redactFields) {
11
+ if (!data || typeof data !== 'object' || redactFields.length === 0) {
12
+ return data;
13
+ }
14
+ const redacted = { ...data };
15
+ for (const field of redactFields) {
16
+ if (field in redacted) {
17
+ redacted[field] = '[REDACTED]';
18
+ }
19
+ }
20
+ return redacted;
21
+ }
@@ -54,7 +54,10 @@ export interface CollectSnapshotParams {
54
54
  sequenceId: number;
55
55
  serverHandles?: ServerHandles;
56
56
  includeHeavy: boolean;
57
+ /** Fields to redact from job data (mirrors CloudConfig.redactFields). Default: none */
58
+ redactFields?: readonly string[];
59
+ /** Include job data in recentJobs/dlqEntries (mirrors CloudConfig.includeJobData). Default: true */
60
+ includeJobData?: boolean;
57
61
  }
58
62
  /** Collect a snapshot. Light data always fresh, heavy data cached between refreshes. */
59
63
  export declare function collectSnapshot(params: CollectSnapshotParams): Promise<CloudSnapshot>;
60
- //# sourceMappingURL=snapshotCollector.d.ts.map
@@ -43,10 +43,36 @@ function enrichFailedJobDurations(recentJobs, dlqEntries) {
43
43
  }
44
44
  }
45
45
  }
46
+ /** Resolve redaction options with defaults (includeJobData defaults on). */
47
+ function resolveRedaction(params) {
48
+ return {
49
+ redactFields: params.redactFields ?? [],
50
+ includeJobData: params.includeJobData ?? true,
51
+ };
52
+ }
53
+ /** Map cron definitions to snapshot shape */
54
+ function collectCrons(queueManager) {
55
+ return queueManager.listCrons().map((c) => ({
56
+ name: c.name,
57
+ queue: c.queue,
58
+ schedule: c.schedule ?? null,
59
+ repeatEvery: c.repeatEvery ?? null,
60
+ nextRun: c.nextRun,
61
+ executions: c.executions,
62
+ maxLimit: c.maxLimit,
63
+ lastRun: c.executions > 0 && c.repeatEvery ? c.nextRun - c.repeatEvery : null,
64
+ priority: c.priority,
65
+ timezone: c.timezone ?? null,
66
+ data: c.data,
67
+ uniqueKey: c.uniqueKey ?? null,
68
+ dedup: c.dedup ?? null,
69
+ }));
70
+ }
46
71
  /** Collect a snapshot. Light data always fresh, heavy data cached between refreshes. */
47
72
  export async function collectSnapshot(params) {
48
73
  const t0 = performance.now();
49
74
  const { queueManager, instanceId, instanceName, startedAt, sequenceId, serverHandles } = params;
75
+ const { redactFields, includeJobData } = resolveRedaction(params);
50
76
  // ─── MCP operations (drain buffer into snapshot) ───
51
77
  const mcpData = serverHandles?.getMcpOperations?.();
52
78
  // ─── Light data (O(SHARD_COUNT), every snapshot) ───
@@ -75,27 +101,16 @@ export async function collectSnapshot(params) {
75
101
  totalFailed: counts.totalFailed,
76
102
  };
77
103
  });
78
- const crons = queueManager.listCrons().map((c) => ({
79
- name: c.name,
80
- queue: c.queue,
81
- schedule: c.schedule ?? null,
82
- repeatEvery: c.repeatEvery ?? null,
83
- nextRun: c.nextRun,
84
- executions: c.executions,
85
- maxLimit: c.maxLimit,
86
- lastRun: c.executions > 0 && c.repeatEvery ? c.nextRun - c.repeatEvery : null,
87
- priority: c.priority,
88
- timezone: c.timezone ?? null,
89
- data: c.data,
90
- uniqueKey: c.uniqueKey ?? null,
91
- dedup: c.dedup ?? null,
92
- }));
104
+ const crons = collectCrons(queueManager);
93
105
  // ─── Full data (every snapshot) ───
94
106
  const allQueueNames = queues.map((q) => q.name);
95
107
  const dlqQueues = queues.filter((q) => q.failed > 0);
96
108
  // Live jobs: waiting/active/delayed/failed — bounded by processing capacity
97
- const recentJobs = collectLiveJobs(queueManager, allQueueNames);
98
- const dlqEntries = collectDlqEntries(queueManager, dlqQueues.map((q) => q.name));
109
+ const recentJobs = collectLiveJobs(queueManager, allQueueNames, {
110
+ redactFields,
111
+ includeJobData,
112
+ });
113
+ const dlqEntries = collectDlqEntries(queueManager, dlqQueues.map((q) => q.name), { redactFields, includeJobData });
99
114
  enrichFailedJobDurations(recentJobs, dlqEntries);
100
115
  const topErrors = collectTopErrors(queueManager, dlqQueues.map((q) => q.name));
101
116
  const now = Date.now();
@@ -239,4 +254,3 @@ export async function collectSnapshot(params) {
239
254
  cloudLog.info('Snapshot collect', { ms: Math.round((performance.now() - t0) * 100) / 100 });
240
255
  return result;
241
256
  }
242
- //# sourceMappingURL=snapshotCollector.js.map
@@ -4,9 +4,16 @@
4
4
  */
5
5
  import type { QueueManager } from '../../application/queueManager';
6
6
  import type { CloudSnapshot } from './types';
7
- export declare function collectLiveJobs(queueManager: QueueManager, queueNames: string[]): CloudSnapshot['recentJobs'];
7
+ /** Redaction options threaded from the cloud config into job-data collectors */
8
+ export interface RedactOptions {
9
+ /** Fields to redact from job data (mirrors CloudConfig.redactFields) */
10
+ redactFields: readonly string[];
11
+ /** When false, omit job data entirely (mirrors CloudConfig.includeJobData) */
12
+ includeJobData: boolean;
13
+ }
14
+ export declare function collectLiveJobs(queueManager: QueueManager, queueNames: string[], redact: RedactOptions): CloudSnapshot['recentJobs'];
8
15
  /** Collect ALL DLQ entries — no cap */
9
- export declare function collectDlqEntries(queueManager: QueueManager, dlqQueueNames: string[]): CloudSnapshot['dlqEntries'];
16
+ export declare function collectDlqEntries(queueManager: QueueManager, dlqQueueNames: string[], redact: RedactOptions): CloudSnapshot['dlqEntries'];
10
17
  /** Collect per-queue config */
11
18
  export declare function collectQueueConfigs(queueManager: QueueManager, queueNames: Set<string>): CloudSnapshot['queueConfigs'];
12
19
  /** Collect webhook delivery stats */
@@ -36,4 +43,3 @@ export declare function collectBacklogVelocity(queues: Array<{
36
43
  export declare function collectStallDetails(queueManager: QueueManager): Promise<CloudSnapshot['stallDetails']>;
37
44
  /** Compute per-queue priority distribution from recent jobs */
38
45
  export declare function collectPriorityDistribution(recentJobs: CloudSnapshot['recentJobs']): CloudSnapshot['queuePriorityDistribution'];
39
- //# sourceMappingURL=snapshotHelpers.d.ts.map
@@ -3,6 +3,7 @@
3
3
  * Heavy and analytics data collectors used by snapshotCollector.
4
4
  */
5
5
  import { jobId as toJobId } from '../../domain/types/job';
6
+ import { redactData } from './redact';
6
7
  /** Per-queue previous totals for delta-based throughput calculation */
7
8
  const prevQueueTotals = new Map();
8
9
  /** Per-queue previous waiting count for backlog velocity */
@@ -32,15 +33,16 @@ function arrOrUndef(arr) {
32
33
  return arr.length > 0 ? arr : undefined;
33
34
  }
34
35
  /** Map core job fields (identity, state, timing) */
35
- function mapJobCore(j, state) {
36
+ function mapJobCore(j, state, redact) {
36
37
  const data = j.data;
38
+ const safeData = redact.includeJobData ? redactData(data, redact.redactFields) : undefined;
37
39
  const processTime = j.completedAt && j.startedAt ? j.completedAt - j.startedAt : undefined;
38
40
  return {
39
41
  id: String(j.id),
40
42
  name: data?.name ?? 'default',
41
43
  queue: j.queue,
42
44
  state,
43
- data,
45
+ data: safeData,
44
46
  priority: j.priority,
45
47
  createdAt: j.createdAt,
46
48
  startedAt: nullUndef(j.startedAt),
@@ -95,10 +97,10 @@ function mapJobExtended(j) {
95
97
  };
96
98
  }
97
99
  /** Map a domain Job to the snapshot format */
98
- function mapJobToSnapshot(j, state) {
99
- return { ...mapJobCore(j, state), ...mapJobExtended(j) };
100
+ function mapJobToSnapshot(j, state, redact) {
101
+ return { ...mapJobCore(j, state, redact), ...mapJobExtended(j) };
100
102
  }
101
- export function collectLiveJobs(queueManager, queueNames) {
103
+ export function collectLiveJobs(queueManager, queueNames, redact) {
102
104
  if (queueNames.length === 0)
103
105
  return [];
104
106
  const jobs = [];
@@ -107,7 +109,7 @@ export function collectLiveJobs(queueManager, queueNames) {
107
109
  try {
108
110
  const queueJobs = queueManager.getJobs(name, { state: [state], start: 0, end: 999 });
109
111
  for (const j of queueJobs) {
110
- jobs.push(mapJobToSnapshot(j, state));
112
+ jobs.push(mapJobToSnapshot(j, state, redact));
111
113
  }
112
114
  }
113
115
  catch {
@@ -118,7 +120,7 @@ export function collectLiveJobs(queueManager, queueNames) {
118
120
  return jobs;
119
121
  }
120
122
  /** Collect ALL DLQ entries — no cap */
121
- export function collectDlqEntries(queueManager, dlqQueueNames) {
123
+ export function collectDlqEntries(queueManager, dlqQueueNames, redact) {
122
124
  if (dlqQueueNames.length === 0)
123
125
  return [];
124
126
  const entries = [];
@@ -138,7 +140,7 @@ export function collectDlqEntries(queueManager, dlqQueueNames) {
138
140
  expiresAt: e.expiresAt ?? undefined,
139
141
  jobAttempts: e.job.attempts,
140
142
  jobMaxAttempts: e.job.maxAttempts,
141
- jobData: e.job.data,
143
+ jobData: redact.includeJobData ? redactData(e.job.data, redact.redactFields) : undefined,
142
144
  jobCreatedAt: e.job.createdAt,
143
145
  jobPriority: e.job.priority,
144
146
  attemptHistory: e.attempts.map((a) => ({
@@ -417,4 +419,3 @@ export function collectPriorityDistribution(recentJobs) {
417
419
  }
418
420
  return result;
419
421
  }
420
- //# sourceMappingURL=snapshotHelpers.js.map
@@ -100,4 +100,3 @@ export declare function buildStatsRefresh(qm: QueueManager): {
100
100
  error: string | null;
101
101
  };
102
102
  };
103
- //# sourceMappingURL=statsRefresh.d.ts.map
@@ -82,4 +82,3 @@ export function buildStatsRefresh(qm) {
82
82
  storage: { diskFull: storage.diskFull, error: storage.error },
83
83
  };
84
84
  }
85
- //# sourceMappingURL=statsRefresh.js.map
@@ -37,4 +37,3 @@ export declare function buildStatsUpdate(qm: QueueManager): {
37
37
  totalFailed: number;
38
38
  }[];
39
39
  };
40
- //# sourceMappingURL=statsUpdate.d.ts.map
@@ -46,4 +46,3 @@ export function buildStatsUpdate(qm) {
46
46
  queues,
47
47
  };
48
48
  }
49
- //# sourceMappingURL=statsUpdate.js.map
@@ -443,4 +443,3 @@ export interface CloudEvent {
443
443
  delay?: number;
444
444
  };
445
445
  }
446
- //# sourceMappingURL=types.d.ts.map
@@ -3,4 +3,3 @@
3
3
  * Interfaces for the Cloud agent that sends telemetry to the remote dashboard
4
4
  */
5
5
  export {};
6
- //# sourceMappingURL=types.js.map
@@ -42,4 +42,3 @@ export declare class WsSender {
42
42
  private cleanup;
43
43
  private scheduleReconnect;
44
44
  }
45
- //# sourceMappingURL=wsSender.d.ts.map
@@ -179,4 +179,3 @@ export class WsSender {
179
179
  this.reconnectDelay = Math.min(this.reconnectDelay * 2, this.maxReconnectDelay);
180
180
  }
181
181
  }
182
- //# sourceMappingURL=wsSender.js.map
@@ -3,4 +3,3 @@
3
3
  */
4
4
  export * from './schema';
5
5
  export * from './sqlite';
6
- //# sourceMappingURL=index.d.ts.map
@@ -3,4 +3,3 @@
3
3
  */
4
4
  export * from './schema';
5
5
  export * from './sqlite';
6
- //# sourceMappingURL=index.js.map
@@ -4,11 +4,10 @@
4
4
  /** SQLite PRAGMA settings for optimal performance */
5
5
  export declare const PRAGMA_SETTINGS = "\nPRAGMA journal_mode = WAL;\nPRAGMA synchronous = NORMAL;\nPRAGMA cache_size = -64000;\nPRAGMA temp_store = MEMORY;\nPRAGMA mmap_size = 268435456;\nPRAGMA page_size = 4096;\nPRAGMA busy_timeout = 5000;\n";
6
6
  /** Main schema creation */
7
- export declare const SCHEMA = "\n-- Jobs table (using UUIDv7 for job IDs)\n-- Uses BLOB for data fields (MessagePack serialization for ~2-3x faster than JSON)\nCREATE TABLE IF NOT EXISTS jobs (\n id TEXT PRIMARY KEY,\n queue TEXT NOT NULL,\n data BLOB NOT NULL,\n priority INTEGER NOT NULL DEFAULT 0,\n created_at INTEGER NOT NULL,\n run_at INTEGER NOT NULL,\n started_at INTEGER,\n completed_at INTEGER,\n attempts INTEGER NOT NULL DEFAULT 0,\n max_attempts INTEGER NOT NULL DEFAULT 3,\n backoff INTEGER NOT NULL DEFAULT 1000,\n ttl INTEGER,\n timeout INTEGER,\n unique_key TEXT,\n custom_id TEXT,\n depends_on BLOB,\n parent_id TEXT,\n children_ids BLOB,\n tags BLOB,\n state TEXT NOT NULL DEFAULT 'waiting',\n lifo INTEGER NOT NULL DEFAULT 0,\n group_id TEXT,\n progress INTEGER DEFAULT 0,\n progress_msg TEXT,\n remove_on_complete INTEGER DEFAULT 0,\n remove_on_fail INTEGER DEFAULT 0,\n stall_timeout INTEGER,\n last_heartbeat INTEGER,\n timeline BLOB\n);\n\n-- Indexes for common queries\nCREATE INDEX IF NOT EXISTS idx_jobs_queue_state\n ON jobs(queue, state);\nCREATE INDEX IF NOT EXISTS idx_jobs_run_at\n ON jobs(run_at) WHERE state IN ('waiting', 'delayed');\nCREATE INDEX IF NOT EXISTS idx_jobs_unique\n ON jobs(queue, unique_key) WHERE unique_key IS NOT NULL;\nCREATE INDEX IF NOT EXISTS idx_jobs_custom_id\n ON jobs(custom_id) WHERE custom_id IS NOT NULL;\nCREATE INDEX IF NOT EXISTS idx_jobs_parent\n ON jobs(parent_id) WHERE parent_id IS NOT NULL;\n\n-- Job results storage (BLOB for MessagePack)\nCREATE TABLE IF NOT EXISTS job_results (\n job_id TEXT PRIMARY KEY,\n result BLOB,\n completed_at INTEGER NOT NULL\n);\n\n-- Dead letter queue (BLOB for MessagePack - stores full DlqEntry)\nCREATE TABLE IF NOT EXISTS dlq (\n id INTEGER PRIMARY KEY AUTOINCREMENT,\n job_id TEXT NOT NULL,\n queue TEXT NOT NULL,\n entry BLOB NOT NULL,\n entered_at INTEGER NOT NULL\n);\n\nCREATE INDEX IF NOT EXISTS idx_dlq_queue ON dlq(queue);\nCREATE INDEX IF NOT EXISTS idx_dlq_job_id ON dlq(job_id);\nCREATE INDEX IF NOT EXISTS idx_dlq_entered_at ON dlq(entered_at);\n\n-- Performance indexes for high-throughput operations\n-- Stall detection: runs every 5s, needs fast lookup of active jobs by started_at\nCREATE INDEX IF NOT EXISTS idx_jobs_state_started\n ON jobs(state, started_at) WHERE state = 'active';\n\n-- Group operations: fast lookup by group_id\nCREATE INDEX IF NOT EXISTS idx_jobs_group_id\n ON jobs(group_id) WHERE group_id IS NOT NULL;\n\n-- Pending jobs: compound index for priority-ordered retrieval\nCREATE INDEX IF NOT EXISTS idx_jobs_pending_priority\n ON jobs(queue, state, priority DESC, run_at ASC) WHERE state IN ('waiting', 'delayed');\n\n-- Cron jobs (BLOB for MessagePack)\nCREATE TABLE IF NOT EXISTS cron_jobs (\n name TEXT PRIMARY KEY,\n queue TEXT NOT NULL,\n data BLOB NOT NULL,\n schedule TEXT,\n repeat_every INTEGER,\n priority INTEGER NOT NULL DEFAULT 0,\n next_run INTEGER NOT NULL,\n executions INTEGER NOT NULL DEFAULT 0,\n max_limit INTEGER,\n timezone TEXT,\n unique_key TEXT,\n dedup BLOB,\n skip_missed_on_restart INTEGER NOT NULL DEFAULT 0,\n skip_if_no_worker INTEGER NOT NULL DEFAULT 0,\n prevent_overlap INTEGER NOT NULL DEFAULT 1\n);\n\n-- Queue state persistence (optional)\nCREATE TABLE IF NOT EXISTS queue_state (\n name TEXT PRIMARY KEY,\n paused INTEGER NOT NULL DEFAULT 0,\n rate_limit INTEGER,\n concurrency_limit INTEGER\n);\n";
7
+ export declare const SCHEMA = "\n-- Jobs table (using UUIDv7 for job IDs)\n-- Uses BLOB for data fields (MessagePack serialization for ~2-3x faster than JSON)\nCREATE TABLE IF NOT EXISTS jobs (\n id TEXT PRIMARY KEY,\n queue TEXT NOT NULL,\n data BLOB NOT NULL,\n priority INTEGER NOT NULL DEFAULT 0,\n created_at INTEGER NOT NULL,\n run_at INTEGER NOT NULL,\n started_at INTEGER,\n completed_at INTEGER,\n attempts INTEGER NOT NULL DEFAULT 0,\n max_attempts INTEGER NOT NULL DEFAULT 3,\n backoff INTEGER NOT NULL DEFAULT 1000,\n ttl INTEGER,\n timeout INTEGER,\n unique_key TEXT,\n custom_id TEXT,\n depends_on BLOB,\n parent_id TEXT,\n children_ids BLOB,\n tags BLOB,\n state TEXT NOT NULL DEFAULT 'waiting',\n lifo INTEGER NOT NULL DEFAULT 0,\n group_id TEXT,\n progress INTEGER DEFAULT 0,\n progress_msg TEXT,\n remove_on_complete INTEGER DEFAULT 0,\n remove_on_fail INTEGER DEFAULT 0,\n stall_timeout INTEGER,\n last_heartbeat INTEGER,\n timeline BLOB\n);\n\n-- Indexes for common queries\nCREATE INDEX IF NOT EXISTS idx_jobs_queue_state\n ON jobs(queue, state);\nCREATE INDEX IF NOT EXISTS idx_jobs_run_at\n ON jobs(run_at) WHERE state IN ('waiting', 'delayed');\nCREATE INDEX IF NOT EXISTS idx_jobs_unique\n ON jobs(queue, unique_key) WHERE unique_key IS NOT NULL;\nCREATE INDEX IF NOT EXISTS idx_jobs_custom_id\n ON jobs(custom_id) WHERE custom_id IS NOT NULL;\nCREATE INDEX IF NOT EXISTS idx_jobs_parent\n ON jobs(parent_id) WHERE parent_id IS NOT NULL;\n\n-- Job results storage (BLOB for MessagePack)\nCREATE TABLE IF NOT EXISTS job_results (\n job_id TEXT PRIMARY KEY,\n result BLOB,\n completed_at INTEGER NOT NULL\n);\n\n-- Dead letter queue (BLOB for MessagePack - stores full DlqEntry)\nCREATE TABLE IF NOT EXISTS dlq (\n id INTEGER PRIMARY KEY AUTOINCREMENT,\n job_id TEXT NOT NULL,\n queue TEXT NOT NULL,\n entry BLOB NOT NULL,\n entered_at INTEGER NOT NULL\n);\n\nCREATE INDEX IF NOT EXISTS idx_dlq_queue ON dlq(queue);\nCREATE INDEX IF NOT EXISTS idx_dlq_job_id ON dlq(job_id);\nCREATE INDEX IF NOT EXISTS idx_dlq_entered_at ON dlq(entered_at);\n\n-- Performance indexes for high-throughput operations\n-- Stall detection: runs every 5s, needs fast lookup of active jobs by started_at\nCREATE INDEX IF NOT EXISTS idx_jobs_state_started\n ON jobs(state, started_at) WHERE state = 'active';\n\n-- Group operations: fast lookup by group_id\nCREATE INDEX IF NOT EXISTS idx_jobs_group_id\n ON jobs(group_id) WHERE group_id IS NOT NULL;\n\n-- Pending jobs: compound index for priority-ordered retrieval\nCREATE INDEX IF NOT EXISTS idx_jobs_pending_priority\n ON jobs(queue, state, priority DESC, run_at ASC) WHERE state IN ('waiting', 'delayed');\n\n-- Completed jobs: index for recovery ordering (issue #84)\nCREATE INDEX IF NOT EXISTS idx_jobs_completed_order\n ON jobs(completed_at DESC) WHERE state = 'completed';\n\n-- Cron jobs (BLOB for MessagePack)\nCREATE TABLE IF NOT EXISTS cron_jobs (\n name TEXT PRIMARY KEY,\n queue TEXT NOT NULL,\n data BLOB NOT NULL,\n schedule TEXT,\n repeat_every INTEGER,\n priority INTEGER NOT NULL DEFAULT 0,\n next_run INTEGER NOT NULL,\n executions INTEGER NOT NULL DEFAULT 0,\n max_limit INTEGER,\n timezone TEXT,\n unique_key TEXT,\n dedup BLOB,\n skip_missed_on_restart INTEGER NOT NULL DEFAULT 0,\n skip_if_no_worker INTEGER NOT NULL DEFAULT 0,\n prevent_overlap INTEGER NOT NULL DEFAULT 1,\n job_options BLOB\n);\n\n-- Queue state persistence (optional)\nCREATE TABLE IF NOT EXISTS queue_state (\n name TEXT PRIMARY KEY,\n paused INTEGER NOT NULL DEFAULT 0,\n rate_limit INTEGER,\n concurrency_limit INTEGER\n);\n";
8
8
  /** Migration version table */
9
9
  export declare const MIGRATION_TABLE = "\nCREATE TABLE IF NOT EXISTS migrations (\n version INTEGER PRIMARY KEY,\n applied_at INTEGER NOT NULL\n);\n";
10
10
  /** Current schema version */
11
- export declare const SCHEMA_VERSION = 10;
11
+ export declare const SCHEMA_VERSION = 12;
12
12
  /** All migrations in order */
13
13
  export declare const MIGRATIONS: Record<number, string>;
14
- //# sourceMappingURL=schema.d.ts.map
@@ -92,6 +92,10 @@ CREATE INDEX IF NOT EXISTS idx_jobs_group_id
92
92
  CREATE INDEX IF NOT EXISTS idx_jobs_pending_priority
93
93
  ON jobs(queue, state, priority DESC, run_at ASC) WHERE state IN ('waiting', 'delayed');
94
94
 
95
+ -- Completed jobs: index for recovery ordering (issue #84)
96
+ CREATE INDEX IF NOT EXISTS idx_jobs_completed_order
97
+ ON jobs(completed_at DESC) WHERE state = 'completed';
98
+
95
99
  -- Cron jobs (BLOB for MessagePack)
96
100
  CREATE TABLE IF NOT EXISTS cron_jobs (
97
101
  name TEXT PRIMARY KEY,
@@ -108,7 +112,8 @@ CREATE TABLE IF NOT EXISTS cron_jobs (
108
112
  dedup BLOB,
109
113
  skip_missed_on_restart INTEGER NOT NULL DEFAULT 0,
110
114
  skip_if_no_worker INTEGER NOT NULL DEFAULT 0,
111
- prevent_overlap INTEGER NOT NULL DEFAULT 1
115
+ prevent_overlap INTEGER NOT NULL DEFAULT 1,
116
+ job_options BLOB
112
117
  );
113
118
 
114
119
  -- Queue state persistence (optional)
@@ -127,7 +132,7 @@ CREATE TABLE IF NOT EXISTS migrations (
127
132
  );
128
133
  `;
129
134
  /** Current schema version */
130
- export const SCHEMA_VERSION = 10;
135
+ export const SCHEMA_VERSION = 12;
131
136
  /** All migrations in order */
132
137
  export const MIGRATIONS = {
133
138
  1: SCHEMA,
@@ -168,6 +173,14 @@ ALTER TABLE cron_jobs ADD COLUMN skip_if_no_worker INTEGER NOT NULL DEFAULT 0;
168
173
  // Migration 10: Add preventOverlap to cron_jobs (default 1 = enabled)
169
174
  10: `
170
175
  ALTER TABLE cron_jobs ADD COLUMN prevent_overlap INTEGER NOT NULL DEFAULT 1;
176
+ `,
177
+ // Migration 11: Index for completed-job recovery ordering (issue #84)
178
+ 11: `
179
+ CREATE INDEX IF NOT EXISTS idx_jobs_completed_order
180
+ ON jobs(completed_at DESC) WHERE state = 'completed';
181
+ `,
182
+ // Migration 12: Add per-cron job options (retry/cleanup policy, issue #86)
183
+ 12: `
184
+ ALTER TABLE cron_jobs ADD COLUMN job_options BLOB;
171
185
  `,
172
186
  };
173
- //# sourceMappingURL=schema.js.map