bunqueue-client 0.1.8 → 0.2.0

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 (580) hide show
  1. package/CHANGELOG.md +162 -0
  2. package/LEGACY.md +460 -0
  3. package/README.md +204 -349
  4. package/dist/ack-batcher.js +7 -67
  5. package/dist/canonical-manifest.json +930 -0
  6. package/dist/chunk-b967v3w3.js +79 -0
  7. package/dist/chunk-fekm0ma6.js +110 -0
  8. package/dist/chunk-jxkszwqp.js +573 -0
  9. package/dist/embedded.js +16418 -0
  10. package/dist/frame.js +14 -57
  11. package/dist/index.d.ts +1 -27
  12. package/dist/index.js +10905 -16
  13. package/dist/legacy.d.ts +1 -0
  14. package/dist/legacy.js +2081 -0
  15. package/dist/{ack-batcher.d.ts → types/sdk/typescript/src/ack-batcher.d.ts} +3 -3
  16. package/dist/{bunqueue → types/sdk/typescript/src/bunqueue}/aging.d.ts +2 -2
  17. package/dist/{bunqueue → types/sdk/typescript/src/bunqueue}/batch.d.ts +2 -2
  18. package/dist/{bunqueue → types/sdk/typescript/src/bunqueue}/bunqueue-api.d.ts +5 -5
  19. package/dist/{bunqueue → types/sdk/typescript/src/bunqueue}/bunqueue.d.ts +13 -13
  20. package/dist/{bunqueue → types/sdk/typescript/src/bunqueue}/circuit-breaker.d.ts +2 -2
  21. package/dist/{bunqueue → types/sdk/typescript/src/bunqueue}/dedup-debounce.d.ts +2 -2
  22. package/dist/{bunqueue → types/sdk/typescript/src/bunqueue}/dlq-rate-limit.d.ts +2 -2
  23. package/dist/{bunqueue → types/sdk/typescript/src/bunqueue}/rate-gate.d.ts +1 -1
  24. package/dist/{bunqueue → types/sdk/typescript/src/bunqueue}/retry.d.ts +1 -1
  25. package/dist/{bunqueue → types/sdk/typescript/src/bunqueue}/triggers.d.ts +3 -3
  26. package/dist/{bunqueue → types/sdk/typescript/src/bunqueue}/ttl.d.ts +1 -1
  27. package/dist/{bunqueue → types/sdk/typescript/src/bunqueue}/types.d.ts +4 -4
  28. package/dist/types/sdk/typescript/src/canonical-transport/bun-sqlite-types.d.ts +21 -0
  29. package/dist/{connection-pool.d.ts → types/sdk/typescript/src/connection-pool.d.ts} +1 -1
  30. package/dist/{connection-types.d.ts → types/sdk/typescript/src/connection-types.d.ts} +1 -1
  31. package/dist/{connection.d.ts → types/sdk/typescript/src/connection.d.ts} +6 -19
  32. package/dist/{errors.d.ts → types/sdk/typescript/src/errors.d.ts} +3 -0
  33. package/dist/types/sdk/typescript/src/flow-commit.d.ts +5 -0
  34. package/dist/types/sdk/typescript/src/flow-plan-legacy.d.ts +13 -0
  35. package/dist/types/sdk/typescript/src/flow-plan.d.ts +29 -0
  36. package/dist/{flow-types.d.ts → types/sdk/typescript/src/flow-types.d.ts} +7 -4
  37. package/dist/{flow.d.ts → types/sdk/typescript/src/flow.d.ts} +6 -10
  38. package/dist/{frame.d.ts → types/sdk/typescript/src/frame.d.ts} +1 -1
  39. package/dist/types/sdk/typescript/src/index.d.ts +10 -0
  40. package/dist/{job.d.ts → types/sdk/typescript/src/job.d.ts} +4 -3
  41. package/dist/types/sdk/typescript/src/legacy.d.ts +27 -0
  42. package/dist/{observability.d.ts → types/sdk/typescript/src/observability.d.ts} +14 -0
  43. package/dist/{queue-admin.d.ts → types/sdk/typescript/src/queue-admin.d.ts} +3 -4
  44. package/dist/{queue-control.d.ts → types/sdk/typescript/src/queue-control.d.ts} +7 -6
  45. package/dist/{queue-query.d.ts → types/sdk/typescript/src/queue-query.d.ts} +3 -3
  46. package/dist/{queue.d.ts → types/sdk/typescript/src/queue.d.ts} +8 -8
  47. package/dist/{responses.d.ts → types/sdk/typescript/src/responses.d.ts} +2 -2
  48. package/dist/types/sdk/typescript/src/serialization.d.ts +10 -0
  49. package/dist/{socket-factory.d.ts → types/sdk/typescript/src/socket-factory.d.ts} +1 -1
  50. package/dist/types/sdk/typescript/src/terminal-outcome.d.ts +8 -0
  51. package/dist/{types.d.ts → types/sdk/typescript/src/types.d.ts} +5 -2
  52. package/dist/{worker-base.d.ts → types/sdk/typescript/src/worker-base.d.ts} +6 -6
  53. package/dist/types/sdk/typescript/src/worker-slot-signal.d.ts +6 -0
  54. package/dist/{worker-types.d.ts → types/sdk/typescript/src/worker-types.d.ts} +3 -3
  55. package/dist/{worker.d.ts → types/sdk/typescript/src/worker.d.ts} +3 -2
  56. package/dist/types/src/application/background/dlq.d.ts +2 -0
  57. package/dist/types/src/application/background/lifecycle.d.ts +4 -0
  58. package/dist/types/src/application/background/recovery/active.d.ts +5 -0
  59. package/dist/types/src/application/background/recovery/index.d.ts +2 -0
  60. package/dist/types/src/application/background/recovery/pending.d.ts +3 -0
  61. package/dist/types/src/application/background/recovery/restore.d.ts +5 -0
  62. package/dist/types/src/application/background/recovery/shared.d.ts +6 -0
  63. package/dist/types/src/application/background/timeouts.d.ts +25 -0
  64. package/dist/types/src/application/backgroundTasks.d.ts +7 -0
  65. package/dist/types/src/application/cleanupTasks.d.ts +10 -0
  66. package/dist/types/src/application/clientTracking.d.ts +44 -0
  67. package/dist/types/src/application/completedCleanup.d.ts +34 -0
  68. package/dist/types/src/application/completedRetry.d.ts +21 -0
  69. package/dist/types/src/application/contextFactory.d.ts +49 -0
  70. package/dist/types/src/application/dependencyCompletions.d.ts +63 -0
  71. package/dist/types/src/application/dependencyProcessor.d.ts +15 -0
  72. package/dist/types/src/application/dependencyResultTracker.d.ts +18 -0
  73. package/dist/types/src/application/dlqManager.d.ts +49 -0
  74. package/dist/types/src/application/dlqRetry.d.ts +12 -0
  75. package/dist/types/src/application/emptyQueueCleanup.d.ts +3 -0
  76. package/dist/types/src/application/eventsManager.d.ts +50 -0
  77. package/dist/types/src/application/flowFailureRecovery.d.ts +20 -0
  78. package/dist/types/src/application/flowParentBackpatch.d.ts +27 -0
  79. package/dist/types/src/application/jobLogsManager.d.ts +21 -0
  80. package/dist/types/src/application/latencyTracker.d.ts +39 -0
  81. package/dist/types/src/application/lockManager.d.ts +15 -0
  82. package/dist/types/src/application/lockOperations.d.ts +38 -0
  83. package/dist/types/src/application/metricsExporter.d.ts +27 -0
  84. package/dist/types/src/application/monitoringChecks.d.ts +36 -0
  85. package/dist/types/src/application/operations/ack/batch.d.ts +8 -0
  86. package/dist/types/src/application/operations/ack/completion.d.ts +3 -0
  87. package/dist/types/src/application/operations/ack/failure.d.ts +3 -0
  88. package/dist/types/src/application/operations/ack.d.ts +5 -0
  89. package/dist/types/src/application/operations/ackHelpers.d.ts +36 -0
  90. package/dist/types/src/application/operations/customId.d.ts +51 -0
  91. package/dist/types/src/application/operations/flowPush.d.ts +9 -0
  92. package/dist/types/src/application/operations/flowTopologyValidation.d.ts +3 -0
  93. package/dist/types/src/application/operations/flowValidation.d.ts +3 -0
  94. package/dist/types/src/application/operations/jobClaim.d.ts +17 -0
  95. package/dist/types/src/application/operations/jobManagement.d.ts +43 -0
  96. package/dist/types/src/application/operations/jobMoveOperations.d.ts +9 -0
  97. package/dist/types/src/application/operations/jobPromotion.d.ts +7 -0
  98. package/dist/types/src/application/operations/jobStateTransitions.d.ts +15 -0
  99. package/dist/types/src/application/operations/parentLink.d.ts +36 -0
  100. package/dist/types/src/application/operations/parentLinkInput.d.ts +8 -0
  101. package/dist/types/src/application/operations/pull.d.ts +20 -0
  102. package/dist/types/src/application/operations/pullFinalization.d.ts +6 -0
  103. package/dist/types/src/application/operations/pullStateTransition.d.ts +51 -0
  104. package/dist/types/src/application/operations/push.d.ts +13 -0
  105. package/dist/types/src/application/operations/pushAdmission.d.ts +36 -0
  106. package/dist/types/src/application/operations/pushBatch.d.ts +4 -0
  107. package/dist/types/src/application/operations/pushContext.d.ts +48 -0
  108. package/dist/types/src/application/operations/pushDeduplication.d.ts +42 -0
  109. package/dist/types/src/application/operations/pushInsert.d.ts +39 -0
  110. package/dist/types/src/application/operations/pushLocks.d.ts +15 -0
  111. package/dist/types/src/application/operations/query/collect.d.ts +12 -0
  112. package/dist/types/src/application/operations/query/jobLookup.d.ts +9 -0
  113. package/dist/types/src/application/operations/query/pagination.d.ts +8 -0
  114. package/dist/types/src/application/operations/query/state.d.ts +4 -0
  115. package/dist/types/src/application/operations/queryOperations.d.ts +5 -0
  116. package/dist/types/src/application/operations/queueControl.d.ts +50 -0
  117. package/dist/types/src/application/prometheusOperationalMetrics.d.ts +31 -0
  118. package/dist/types/src/application/queue-manager/ack.d.ts +23 -0
  119. package/dist/types/src/application/queue-manager/configuration.d.ts +27 -0
  120. package/dist/types/src/application/queue-manager/context.d.ts +5 -0
  121. package/dist/types/src/application/queue-manager/control.d.ts +20 -0
  122. package/dist/types/src/application/queue-manager/delivery.d.ts +33 -0
  123. package/dist/types/src/application/queue-manager/dependencies.d.ts +8 -0
  124. package/dist/types/src/application/queue-manager/dependency-runtime.d.ts +8 -0
  125. package/dist/types/src/application/queue-manager/flow-failures.d.ts +18 -0
  126. package/dist/types/src/application/queue-manager/flow-options.d.ts +8 -0
  127. package/dist/types/src/application/queue-manager/job-management.d.ts +17 -0
  128. package/dist/types/src/application/queue-manager/lifecycle.d.ts +4 -0
  129. package/dist/types/src/application/queue-manager/limits.d.ts +58 -0
  130. package/dist/types/src/application/queue-manager/locks.d.ts +21 -0
  131. package/dist/types/src/application/queue-manager/observability.d.ts +16 -0
  132. package/dist/types/src/application/queue-manager/queries.d.ts +24 -0
  133. package/dist/types/src/application/queue-manager/repeat.d.ts +4 -0
  134. package/dist/types/src/application/queue-manager/services.d.ts +19 -0
  135. package/dist/types/src/application/queue-manager/state.d.ts +96 -0
  136. package/dist/types/src/application/queue-manager/stats.d.ts +28 -0
  137. package/dist/types/src/application/queueManager.d.ts +5 -0
  138. package/dist/types/src/application/queueStatsAggregator.d.ts +23 -0
  139. package/dist/types/src/application/queueTelemetryJournal.d.ts +24 -0
  140. package/dist/types/src/application/repeatJobs.d.ts +7 -0
  141. package/dist/types/src/application/stallDetection.d.ts +10 -0
  142. package/dist/types/src/application/statsManager.d.ts +59 -0
  143. package/dist/types/src/application/taskErrorTracking.d.ts +22 -0
  144. package/dist/types/src/application/throughputTracker.d.ts +34 -0
  145. package/dist/types/src/application/types/ack.d.ts +136 -0
  146. package/dist/types/src/application/types/background.d.ts +18 -0
  147. package/dist/types/src/application/types/config.d.ts +41 -0
  148. package/dist/types/src/application/types/contextFactory.d.ts +87 -0
  149. package/dist/types/src/application/types/contexts.d.ts +114 -0
  150. package/dist/types/src/application/types/index.d.ts +7 -0
  151. package/dist/types/src/application/types/query.d.ts +23 -0
  152. package/dist/types/src/application/types/queueManager.d.ts +98 -0
  153. package/dist/types/src/application/webhookManager.d.ts +47 -0
  154. package/dist/types/src/application/workerManager.d.ts +61 -0
  155. package/dist/types/src/client/bunqueue/aging.d.ts +16 -0
  156. package/dist/types/src/client/bunqueue/batch.d.ts +16 -0
  157. package/dist/types/src/client/bunqueue/cancellation.d.ts +21 -0
  158. package/dist/types/src/client/bunqueue/circuitBreaker.d.ts +21 -0
  159. package/dist/types/src/client/bunqueue/dedupDebounce.d.ts +12 -0
  160. package/dist/types/src/client/bunqueue/dlqRateLimit.d.ts +26 -0
  161. package/dist/types/src/client/bunqueue/retry.d.ts +8 -0
  162. package/dist/types/src/client/bunqueue/runtime.d.ts +35 -0
  163. package/dist/types/src/client/bunqueue/triggers.d.ts +17 -0
  164. package/dist/types/src/client/bunqueue/ttl.d.ts +17 -0
  165. package/dist/types/src/client/bunqueue/types.d.ts +147 -0
  166. package/dist/types/src/client/bunqueue.d.ts +73 -0
  167. package/dist/types/src/client/dlqConversion.d.ts +5 -0
  168. package/dist/types/src/client/errors.d.ts +24 -0
  169. package/dist/types/src/client/events.d.ts +85 -0
  170. package/dist/types/src/client/flow.d.ts +70 -0
  171. package/dist/types/src/client/flowAtomic.d.ts +9 -0
  172. package/dist/types/src/client/flowJobCoreMethods.d.ts +28 -0
  173. package/dist/types/src/client/flowJobDependencies.d.ts +7 -0
  174. package/dist/types/src/client/flowJobFactory.d.ts +24 -0
  175. package/dist/types/src/client/flowJobMoveMethods.d.ts +16 -0
  176. package/dist/types/src/client/flowJobTypes.d.ts +29 -0
  177. package/dist/types/src/client/flowLegacyPlan.d.ts +16 -0
  178. package/dist/types/src/client/flowOptions.d.ts +10 -0
  179. package/dist/types/src/client/flowPlan.d.ts +16 -0
  180. package/dist/types/src/client/flowPush.d.ts +27 -0
  181. package/dist/types/src/client/flowReader.d.ts +10 -0
  182. package/dist/types/src/client/flowResults.d.ts +11 -0
  183. package/dist/types/src/client/flowTypes.d.ts +77 -0
  184. package/dist/types/src/client/forwarder.d.ts +74 -0
  185. package/dist/types/src/client/groupId.d.ts +1 -0
  186. package/dist/types/src/client/index.d.ts +46 -0
  187. package/dist/types/src/client/jobConversion.d.ts +10 -0
  188. package/dist/types/src/client/jobConversionHelpers.d.ts +28 -0
  189. package/dist/types/src/client/jobConversionTypes.d.ts +88 -0
  190. package/dist/types/src/client/jobDeduplication.d.ts +6 -0
  191. package/dist/types/src/client/jobHelpers.d.ts +31 -0
  192. package/dist/types/src/client/legacyConnectionOptions.d.ts +8 -0
  193. package/dist/types/src/client/manager.d.ts +15 -0
  194. package/dist/types/src/client/pro.d.ts +9 -0
  195. package/dist/types/src/client/queue/addBatcher.d.ts +59 -0
  196. package/dist/types/src/client/queue/bullmqCompat.d.ts +57 -0
  197. package/dist/types/src/client/queue/deduplication.d.ts +14 -0
  198. package/dist/types/src/client/queue/dlq.d.ts +61 -0
  199. package/dist/types/src/client/queue/dlqJobMethods.d.ts +9 -0
  200. package/dist/types/src/client/queue/dlqOps.d.ts +26 -0
  201. package/dist/types/src/client/queue/dlqStats.d.ts +3 -0
  202. package/dist/types/src/client/queue/failWire.d.ts +17 -0
  203. package/dist/types/src/client/queue/helpers.d.ts +19 -0
  204. package/dist/types/src/client/queue/job-proxy/dependencies.d.ts +9 -0
  205. package/dist/types/src/client/queue/job-proxy/reflection.d.ts +2 -0
  206. package/dist/types/src/client/queue/job-proxy/simple.d.ts +3 -0
  207. package/dist/types/src/client/queue/job-proxy/tcp.d.ts +4 -0
  208. package/dist/types/src/client/queue/jobMetadata.d.ts +10 -0
  209. package/dist/types/src/client/queue/jobMove.d.ts +32 -0
  210. package/dist/types/src/client/queue/jobProxy.d.ts +4 -0
  211. package/dist/types/src/client/queue/operations/add/bulk.d.ts +7 -0
  212. package/dist/types/src/client/queue/operations/add/payload.d.ts +25 -0
  213. package/dist/types/src/client/queue/operations/add/single.d.ts +3 -0
  214. package/dist/types/src/client/queue/operations/add.d.ts +2 -0
  215. package/dist/types/src/client/queue/operations/control.d.ts +42 -0
  216. package/dist/types/src/client/queue/operations/counts.d.ts +48 -0
  217. package/dist/types/src/client/queue/operations/groups.d.ts +24 -0
  218. package/dist/types/src/client/queue/operations/management.d.ts +51 -0
  219. package/dist/types/src/client/queue/operations/query.d.ts +50 -0
  220. package/dist/types/src/client/queue/operations/queryStates.d.ts +13 -0
  221. package/dist/types/src/client/queue/operations/queryTcpPages.d.ts +14 -0
  222. package/dist/types/src/client/queue/queue.d.ts +12 -0
  223. package/dist/types/src/client/queue/rateLimit.d.ts +46 -0
  224. package/dist/types/src/client/queue/runtime/compatibility.d.ts +13 -0
  225. package/dist/types/src/client/queue/runtime/configuration.d.ts +46 -0
  226. package/dist/types/src/client/queue/runtime/connection.d.ts +6 -0
  227. package/dist/types/src/client/queue/runtime/control.d.ts +41 -0
  228. package/dist/types/src/client/queue/runtime/queries.d.ts +66 -0
  229. package/dist/types/src/client/queue/runtime/scheduling.d.ts +33 -0
  230. package/dist/types/src/client/queue/runtime/state.d.ts +101 -0
  231. package/dist/types/src/client/queue/scheduler.d.ts +58 -0
  232. package/dist/types/src/client/queue/schedulerPagination.d.ts +7 -0
  233. package/dist/types/src/client/queue/stall.d.ts +20 -0
  234. package/dist/types/src/client/queue/types/add.d.ts +40 -0
  235. package/dist/types/src/client/queue/types/contexts.d.ts +33 -0
  236. package/dist/types/src/client/queue/types/index.d.ts +3 -0
  237. package/dist/types/src/client/queue/types/job.d.ts +50 -0
  238. package/dist/types/src/client/queue/types/runtime.d.ts +35 -0
  239. package/dist/types/src/client/queue/workers.d.ts +36 -0
  240. package/dist/types/src/client/queue-events/tcpSubscription.d.ts +23 -0
  241. package/dist/types/src/client/queue.d.ts +5 -0
  242. package/dist/types/src/client/queueGroup.d.ts +51 -0
  243. package/dist/types/src/client/resolveToken.d.ts +10 -0
  244. package/dist/types/src/client/sandboxed/index.d.ts +7 -0
  245. package/dist/types/src/client/sandboxed/queueOps.d.ts +24 -0
  246. package/dist/types/src/client/sandboxed/runtime/dispatch.d.ts +13 -0
  247. package/dist/types/src/client/sandboxed/runtime/lifecycle.d.ts +20 -0
  248. package/dist/types/src/client/sandboxed/runtime/log.d.ts +1 -0
  249. package/dist/types/src/client/sandboxed/runtime/pool.d.ts +11 -0
  250. package/dist/types/src/client/sandboxed/runtime/recovery.d.ts +11 -0
  251. package/dist/types/src/client/sandboxed/runtime/state.d.ts +39 -0
  252. package/dist/types/src/client/sandboxed/types/index.d.ts +2 -0
  253. package/dist/types/src/client/sandboxed/types/options.d.ts +27 -0
  254. package/dist/types/src/client/sandboxed/types/process.d.ts +39 -0
  255. package/dist/types/src/client/sandboxed/worker.d.ts +4 -0
  256. package/dist/types/src/client/sandboxed/wrapper.d.ts +12 -0
  257. package/dist/types/src/client/sandboxedWorker.d.ts +6 -0
  258. package/dist/types/src/client/tcp/client.d.ts +6 -0
  259. package/dist/types/src/client/tcp/commandQueue.d.ts +23 -0
  260. package/dist/types/src/client/tcp/connection.d.ts +4 -0
  261. package/dist/types/src/client/tcp/errors.d.ts +6 -0
  262. package/dist/types/src/client/tcp/health.d.ts +60 -0
  263. package/dist/types/src/client/tcp/index.d.ts +11 -0
  264. package/dist/types/src/client/tcp/reconnect.d.ts +47 -0
  265. package/dist/types/src/client/tcp/runtime/commands.d.ts +9 -0
  266. package/dist/types/src/client/tcp/runtime/connectivity.d.ts +13 -0
  267. package/dist/types/src/client/tcp/runtime/health.d.ts +14 -0
  268. package/dist/types/src/client/tcp/runtime/lifecycle.d.ts +8 -0
  269. package/dist/types/src/client/tcp/runtime/state.d.ts +50 -0
  270. package/dist/types/src/client/tcp/shared.d.ts +12 -0
  271. package/dist/types/src/client/tcp/transport.d.ts +18 -0
  272. package/dist/types/src/client/tcp/types/command.d.ts +9 -0
  273. package/dist/types/src/client/tcp/types/connection.d.ts +31 -0
  274. package/dist/types/src/client/tcp/types/index.d.ts +5 -0
  275. package/dist/types/src/client/tcp/types/socket.d.ts +8 -0
  276. package/dist/types/src/client/tcp/types/tls.d.ts +4 -0
  277. package/dist/types/src/client/tcp/types.d.ts +2 -0
  278. package/dist/types/src/client/tcpClient.d.ts +6 -0
  279. package/dist/types/src/client/tcpPool.d.ts +69 -0
  280. package/dist/types/src/client/types/connection.d.ts +30 -0
  281. package/dist/types/src/client/types/dlq.d.ts +45 -0
  282. package/dist/types/src/client/types/events.d.ts +54 -0
  283. package/dist/types/src/client/types/flow.d.ts +22 -0
  284. package/dist/types/src/client/types/index.d.ts +10 -0
  285. package/dist/types/src/client/types/job.d.ts +131 -0
  286. package/dist/types/src/client/types/metrics.d.ts +1 -0
  287. package/dist/types/src/client/types/options.d.ts +70 -0
  288. package/dist/types/src/client/types/worker.d.ts +54 -0
  289. package/dist/types/src/client/types.d.ts +2 -0
  290. package/dist/types/src/client/worker/ackBatcher.d.ts +55 -0
  291. package/dist/types/src/client/worker/ackFrontier.d.ts +21 -0
  292. package/dist/types/src/client/worker/ackOutcome.d.ts +8 -0
  293. package/dist/types/src/client/worker/batchExecution.d.ts +14 -0
  294. package/dist/types/src/client/worker/constants.d.ts +7 -0
  295. package/dist/types/src/client/worker/groupConcurrency.d.ts +49 -0
  296. package/dist/types/src/client/worker/handlers/completion.d.ts +29 -0
  297. package/dist/types/src/client/worker/handlers/dependencies.d.ts +11 -0
  298. package/dist/types/src/client/worker/handlers/mutations.d.ts +23 -0
  299. package/dist/types/src/client/worker/handlers/queries.d.ts +15 -0
  300. package/dist/types/src/client/worker/jobParser.d.ts +9 -0
  301. package/dist/types/src/client/worker/processor.d.ts +11 -0
  302. package/dist/types/src/client/worker/processorHandlers.d.ts +4 -0
  303. package/dist/types/src/client/worker/processorOutcome.d.ts +14 -0
  304. package/dist/types/src/client/worker/processorResult.d.ts +2 -0
  305. package/dist/types/src/client/worker/runtime/buffer.d.ts +8 -0
  306. package/dist/types/src/client/worker/runtime/control.d.ts +28 -0
  307. package/dist/types/src/client/worker/runtime/execution.d.ts +16 -0
  308. package/dist/types/src/client/worker/runtime/lifecycle.d.ts +7 -0
  309. package/dist/types/src/client/worker/runtime/manual.d.ts +10 -0
  310. package/dist/types/src/client/worker/runtime/options.d.ts +5 -0
  311. package/dist/types/src/client/worker/runtime/polling.d.ts +14 -0
  312. package/dist/types/src/client/worker/runtime/state.d.ts +121 -0
  313. package/dist/types/src/client/worker/types/index.d.ts +5 -0
  314. package/dist/types/src/client/worker/types/manual.d.ts +7 -0
  315. package/dist/types/src/client/worker/types/options.d.ts +26 -0
  316. package/dist/types/src/client/worker/types/outcome.d.ts +23 -0
  317. package/dist/types/src/client/worker/types/processor.d.ts +25 -0
  318. package/dist/types/src/client/worker/types/transport.d.ts +11 -0
  319. package/dist/types/src/client/worker/worker.d.ts +6 -0
  320. package/dist/types/src/client/worker/workerHeartbeat.d.ts +15 -0
  321. package/dist/types/src/client/worker/workerPull.d.ts +24 -0
  322. package/dist/types/src/client/worker/workerRateLimiter.d.ts +51 -0
  323. package/dist/types/src/client/worker.d.ts +6 -0
  324. package/dist/types/src/client/workflow/admission.d.ts +45 -0
  325. package/dist/types/src/client/workflow/clock.d.ts +60 -0
  326. package/dist/types/src/client/workflow/compensationChild.d.ts +33 -0
  327. package/dist/types/src/client/workflow/compensationClaim.d.ts +11 -0
  328. package/dist/types/src/client/workflow/compensationPass.d.ts +17 -0
  329. package/dist/types/src/client/workflow/compensationSupport.d.ts +24 -0
  330. package/dist/types/src/client/workflow/compensator.d.ts +34 -0
  331. package/dist/types/src/client/workflow/definitionGuard.d.ts +11 -0
  332. package/dist/types/src/client/workflow/emitter.d.ts +17 -0
  333. package/dist/types/src/client/workflow/engine.d.ts +66 -0
  334. package/dist/types/src/client/workflow/eventTypes.d.ts +44 -0
  335. package/dist/types/src/client/workflow/executionFence.d.ts +15 -0
  336. package/dist/types/src/client/workflow/executionTypes.d.ts +133 -0
  337. package/dist/types/src/client/workflow/executor.d.ts +52 -0
  338. package/dist/types/src/client/workflow/executorLifecycle.d.ts +19 -0
  339. package/dist/types/src/client/workflow/executorNodes.d.ts +18 -0
  340. package/dist/types/src/client/workflow/executorQueue.d.ts +9 -0
  341. package/dist/types/src/client/workflow/forEachRunner.d.ts +4 -0
  342. package/dist/types/src/client/workflow/identity.d.ts +48 -0
  343. package/dist/types/src/client/workflow/index.d.ts +23 -0
  344. package/dist/types/src/client/workflow/loops.d.ts +11 -0
  345. package/dist/types/src/client/workflow/mapRunner.d.ts +4 -0
  346. package/dist/types/src/client/workflow/recovery.d.ts +32 -0
  347. package/dist/types/src/client/workflow/rollbackControl.d.ts +37 -0
  348. package/dist/types/src/client/workflow/runner.d.ts +23 -0
  349. package/dist/types/src/client/workflow/runnerTiming.d.ts +14 -0
  350. package/dist/types/src/client/workflow/stepTypes.d.ts +171 -0
  351. package/dist/types/src/client/workflow/store.d.ts +83 -0
  352. package/dist/types/src/client/workflow/storeCodec.d.ts +7 -0
  353. package/dist/types/src/client/workflow/storeExecutionCodec.d.ts +11 -0
  354. package/dist/types/src/client/workflow/storeListing.d.ts +11 -0
  355. package/dist/types/src/client/workflow/storeMaintenance.d.ts +4 -0
  356. package/dist/types/src/client/workflow/storeSignals.d.ts +70 -0
  357. package/dist/types/src/client/workflow/subWorkflowRunner.d.ts +14 -0
  358. package/dist/types/src/client/workflow/types.d.ts +4 -0
  359. package/dist/types/src/client/workflow/unwindPlan.d.ts +87 -0
  360. package/dist/types/src/client/workflow/waitFor.d.ts +56 -0
  361. package/dist/types/src/client/workflow/workflow.d.ts +70 -0
  362. package/dist/types/src/client/workflow/workflowDecisions.d.ts +11 -0
  363. package/dist/types/src/client/workflow/workflowDefinition.d.ts +16 -0
  364. package/dist/types/src/client/workflow/workflowIntrospection.d.ts +5 -0
  365. package/dist/types/src/client/workflow/workflowValidation.d.ts +44 -0
  366. package/dist/types/src/config/index.d.ts +9 -0
  367. package/dist/types/src/config/loader.d.ts +7 -0
  368. package/dist/types/src/config/resolve.d.ts +59 -0
  369. package/dist/types/src/config/types.d.ts +88 -0
  370. package/dist/types/src/domain/job/constants.d.ts +12 -0
  371. package/dist/types/src/domain/job/create.d.ts +2 -0
  372. package/dist/types/src/domain/job/groupFifoOrder.d.ts +9 -0
  373. package/dist/types/src/domain/job/ids.d.ts +7 -0
  374. package/dist/types/src/domain/job/locks.d.ts +4 -0
  375. package/dist/types/src/domain/job/payload.d.ts +18 -0
  376. package/dist/types/src/domain/job/state.d.ts +8 -0
  377. package/dist/types/src/domain/job/terminal.d.ts +3 -0
  378. package/dist/types/src/domain/queue/dependencyTracker.d.ts +78 -0
  379. package/dist/types/src/domain/queue/dlqShard.d.ts +66 -0
  380. package/dist/types/src/domain/queue/groupLimiterManager.d.ts +30 -0
  381. package/dist/types/src/domain/queue/groupScheduler.d.ts +31 -0
  382. package/dist/types/src/domain/queue/groupSchedulerOrder.d.ts +6 -0
  383. package/dist/types/src/domain/queue/limiterManager.d.ts +68 -0
  384. package/dist/types/src/domain/queue/priorityQueue.d.ts +54 -0
  385. package/dist/types/src/domain/queue/priorityQueueOrder.d.ts +3 -0
  386. package/dist/types/src/domain/queue/shard/dependencies.d.ts +11 -0
  387. package/dist/types/src/domain/queue/shard/dlq.d.ts +26 -0
  388. package/dist/types/src/domain/queue/shard/keys.d.ts +19 -0
  389. package/dist/types/src/domain/queue/shard/lifecycle.d.ts +10 -0
  390. package/dist/types/src/domain/queue/shard/limits.d.ts +47 -0
  391. package/dist/types/src/domain/queue/shard/metrics.d.ts +32 -0
  392. package/dist/types/src/domain/queue/shard/state.d.ts +40 -0
  393. package/dist/types/src/domain/queue/shard.d.ts +7 -0
  394. package/dist/types/src/domain/queue/shardCounters.d.ts +35 -0
  395. package/dist/types/src/domain/queue/temporalIndex.d.ts +24 -0
  396. package/dist/types/src/domain/queue/temporalManager.d.ts +72 -0
  397. package/dist/types/src/domain/queue/uniqueKeyManager.d.ts +33 -0
  398. package/dist/types/src/domain/queue/waiterManager.d.ts +18 -0
  399. package/dist/types/src/domain/response/builders.d.ts +15 -0
  400. package/dist/types/src/domain/types/command.d.ts +2 -0
  401. package/dist/types/src/domain/types/commands/base.d.ts +5 -0
  402. package/dist/types/src/domain/types/commands/core.d.ts +110 -0
  403. package/dist/types/src/domain/types/commands/cron.d.ts +36 -0
  404. package/dist/types/src/domain/types/commands/dashboard.d.ts +13 -0
  405. package/dist/types/src/domain/types/commands/dlq.d.ts +44 -0
  406. package/dist/types/src/domain/types/commands/extended.d.ts +63 -0
  407. package/dist/types/src/domain/types/commands/index.d.ts +12 -0
  408. package/dist/types/src/domain/types/commands/limits.d.ts +108 -0
  409. package/dist/types/src/domain/types/commands/management.d.ts +73 -0
  410. package/dist/types/src/domain/types/commands/monitoring.d.ts +49 -0
  411. package/dist/types/src/domain/types/commands/protocol.d.ts +20 -0
  412. package/dist/types/src/domain/types/commands/query.d.ts +46 -0
  413. package/dist/types/src/domain/types/commands/union.d.ts +13 -0
  414. package/dist/types/src/domain/types/commands/workers.d.ts +39 -0
  415. package/dist/types/src/domain/types/cron.d.ts +91 -0
  416. package/dist/types/src/domain/types/deduplication.d.ts +43 -0
  417. package/dist/types/src/domain/types/dlq.d.ts +136 -0
  418. package/dist/types/src/domain/types/flow.d.ts +25 -0
  419. package/dist/types/src/domain/types/group.d.ts +26 -0
  420. package/dist/types/src/domain/types/job.d.ts +8 -0
  421. package/dist/types/src/domain/types/jobs/model.d.ts +153 -0
  422. package/dist/types/src/domain/types/metrics.d.ts +16 -0
  423. package/dist/types/src/domain/types/priorityQueue.d.ts +13 -0
  424. package/dist/types/src/domain/types/protocol.d.ts +5 -0
  425. package/dist/types/src/domain/types/queue.d.ts +110 -0
  426. package/dist/types/src/domain/types/response.d.ts +3 -0
  427. package/dist/types/src/domain/types/responses/model.d.ts +152 -0
  428. package/dist/types/src/domain/types/shard.d.ts +4 -0
  429. package/dist/types/src/domain/types/stall.d.ts +48 -0
  430. package/dist/types/src/domain/types/webhook.d.ts +42 -0
  431. package/dist/types/src/domain/types/worker.d.ts +40 -0
  432. package/dist/types/src/infrastructure/backup/backupTelemetry.d.ts +30 -0
  433. package/dist/types/src/infrastructure/backup/s3BackupConfig.d.ts +80 -0
  434. package/dist/types/src/infrastructure/cloud/types/config.d.ts +18 -0
  435. package/dist/types/src/infrastructure/cloud/types/event.d.ts +14 -0
  436. package/dist/types/src/infrastructure/cloud/types/snapshot.d.ts +52 -0
  437. package/dist/types/src/infrastructure/cloud/types/snapshotCore.d.ts +125 -0
  438. package/dist/types/src/infrastructure/cloud/types/snapshotJobs.d.ts +124 -0
  439. package/dist/types/src/infrastructure/cloud/types/snapshotTelemetry.d.ts +100 -0
  440. package/dist/types/src/infrastructure/cloud/types.d.ts +3 -0
  441. package/dist/types/src/infrastructure/persistence/batchInsert.d.ts +13 -0
  442. package/dist/types/src/infrastructure/persistence/completedJobCountSchema.d.ts +6 -0
  443. package/dist/types/src/infrastructure/persistence/dependencyCompletionSchema.d.ts +6 -0
  444. package/dist/types/src/infrastructure/persistence/dependencyCompletionStore.d.ts +40 -0
  445. package/dist/types/src/infrastructure/persistence/index.d.ts +5 -0
  446. package/dist/types/src/infrastructure/persistence/jobOptionsBlob.d.ts +19 -0
  447. package/dist/types/src/infrastructure/persistence/legacyNameMigration.d.ts +17 -0
  448. package/dist/types/src/infrastructure/persistence/migrationProgressSchema.d.ts +2 -0
  449. package/dist/types/src/infrastructure/persistence/migrations.d.ts +3 -0
  450. package/dist/types/src/infrastructure/persistence/schema.d.ts +8 -0
  451. package/dist/types/src/infrastructure/persistence/sqlite/admission.d.ts +9 -0
  452. package/dist/types/src/infrastructure/persistence/sqlite/completed.d.ts +17 -0
  453. package/dist/types/src/infrastructure/persistence/sqlite/control.d.ts +48 -0
  454. package/dist/types/src/infrastructure/persistence/sqlite/flows.d.ts +26 -0
  455. package/dist/types/src/infrastructure/persistence/sqlite/jobLifecycle.d.ts +17 -0
  456. package/dist/types/src/infrastructure/persistence/sqlite/jobs.d.ts +15 -0
  457. package/dist/types/src/infrastructure/persistence/sqlite/lifecycle.d.ts +6 -0
  458. package/dist/types/src/infrastructure/persistence/sqlite/mutations.d.ts +27 -0
  459. package/dist/types/src/infrastructure/persistence/sqlite/queries.d.ts +23 -0
  460. package/dist/types/src/infrastructure/persistence/sqlite/queueDeletionSql.d.ts +3 -0
  461. package/dist/types/src/infrastructure/persistence/sqlite/records.d.ts +24 -0
  462. package/dist/types/src/infrastructure/persistence/sqlite/state.d.ts +42 -0
  463. package/dist/types/src/infrastructure/persistence/sqlite/telemetry.d.ts +17 -0
  464. package/dist/types/src/infrastructure/persistence/sqlite/telemetryStore.d.ts +30 -0
  465. package/dist/types/src/infrastructure/persistence/sqlite/telemetryWrites.d.ts +47 -0
  466. package/dist/types/src/infrastructure/persistence/sqlite.d.ts +6 -0
  467. package/dist/types/src/infrastructure/persistence/sqliteBatch.d.ts +4 -0
  468. package/dist/types/src/infrastructure/persistence/sqliteMigration.d.ts +5 -0
  469. package/dist/types/src/infrastructure/persistence/sqliteSerializer.d.ts +50 -0
  470. package/dist/types/src/infrastructure/persistence/statements.d.ts +86 -0
  471. package/dist/types/src/infrastructure/persistence/types/admission.d.ts +8 -0
  472. package/dist/types/src/infrastructure/persistence/types/batch.d.ts +12 -0
  473. package/dist/types/src/infrastructure/persistence/types/sqlite.d.ts +27 -0
  474. package/dist/types/src/infrastructure/persistence/writeBuffer.d.ts +48 -0
  475. package/dist/types/src/infrastructure/persistence/writeBufferPending.d.ts +11 -0
  476. package/dist/types/src/infrastructure/scheduler/cron/execution.d.ts +12 -0
  477. package/dist/types/src/infrastructure/scheduler/cron/persisted.d.ts +5 -0
  478. package/dist/types/src/infrastructure/scheduler/cron/runtime.d.ts +31 -0
  479. package/dist/types/src/infrastructure/scheduler/cron/validation.d.ts +3 -0
  480. package/dist/types/src/infrastructure/scheduler/cronParser.d.ts +45 -0
  481. package/dist/types/src/infrastructure/scheduler/cronScheduler.d.ts +5 -0
  482. package/dist/types/src/infrastructure/scheduler/types/cronScheduler.d.ts +16 -0
  483. package/dist/types/src/infrastructure/server/protocol/commands.d.ts +8 -0
  484. package/dist/types/src/infrastructure/server/protocol/frameParser.d.ts +16 -0
  485. package/dist/types/src/infrastructure/server/protocol/lineBuffer.d.ts +6 -0
  486. package/dist/types/src/infrastructure/server/protocol/validation.d.ts +10 -0
  487. package/dist/types/src/infrastructure/server/protocol.d.ts +6 -0
  488. package/dist/types/src/infrastructure/server/socketWriteQueue.d.ts +66 -0
  489. package/dist/types/src/infrastructure/server/types/protocol.d.ts +4 -0
  490. package/dist/types/src/require-bun.d.ts +13 -0
  491. package/dist/types/src/shared/asyncLock.d.ts +13 -0
  492. package/dist/types/src/shared/boundedMap.d.ts +30 -0
  493. package/dist/types/src/shared/boundedSet.d.ts +26 -0
  494. package/dist/types/src/shared/hash.d.ts +30 -0
  495. package/dist/types/src/shared/histogram.d.ts +23 -0
  496. package/dist/types/src/shared/lock.d.ts +13 -0
  497. package/dist/types/src/shared/lockError.d.ts +3 -0
  498. package/dist/types/src/shared/lockTimeout.d.ts +2 -0
  499. package/dist/types/src/shared/logger.d.ts +48 -0
  500. package/dist/types/src/shared/lru.d.ts +9 -0
  501. package/dist/types/src/shared/lruMap.d.ts +42 -0
  502. package/dist/types/src/shared/lruSet.d.ts +36 -0
  503. package/dist/types/src/shared/minHeap.d.ts +43 -0
  504. package/dist/types/src/shared/msgpack.d.ts +3 -0
  505. package/dist/types/src/shared/pausedView.d.ts +19 -0
  506. package/dist/types/src/shared/rwLock.d.ts +22 -0
  507. package/dist/types/src/shared/serialization.d.ts +24 -0
  508. package/dist/types/src/shared/skipList.d.ts +97 -0
  509. package/dist/types/src/shared/skipListNodes.d.ts +6 -0
  510. package/dist/types/src/shared/storageHealth.d.ts +9 -0
  511. package/dist/types/src/shared/ttlMap.d.ts +81 -0
  512. package/dist/types/src/shared/types/lock.d.ts +7 -0
  513. package/dist/types/src/shared/types/skipList.d.ts +4 -0
  514. package/dist/types/src/shared/version.d.ts +4 -0
  515. package/dist/types/src/shared/webhookValidation.d.ts +6 -0
  516. package/package.json +27 -9
  517. package/src/ack-batcher.ts +8 -5
  518. package/src/bunqueue/bunqueue-api.ts +1 -1
  519. package/src/bunqueue/bunqueue.ts +2 -1
  520. package/src/canonical-transport/bun-sqlite-types.ts +22 -0
  521. package/src/canonical-transport/dlq.ts +12 -0
  522. package/src/canonical-transport/embedded.ts +55 -0
  523. package/src/canonical-transport/runtime.ts +49 -0
  524. package/src/canonical-transport/thread-worker.ts +83 -0
  525. package/src/canonical-transport/transport.ts +153 -0
  526. package/src/connection.ts +25 -30
  527. package/src/errors.ts +3 -0
  528. package/src/flow-commit.ts +45 -0
  529. package/src/flow-plan-legacy.ts +117 -0
  530. package/src/flow-plan.ts +209 -0
  531. package/src/flow-types.ts +4 -0
  532. package/src/flow.ts +31 -163
  533. package/src/frame.ts +5 -2
  534. package/src/index.ts +7 -75
  535. package/src/job.ts +43 -9
  536. package/src/legacy.ts +91 -0
  537. package/src/observability.ts +59 -1
  538. package/src/queue-admin.ts +5 -5
  539. package/src/queue-control.ts +12 -8
  540. package/src/queue.ts +10 -6
  541. package/src/serialization.ts +93 -0
  542. package/src/terminal-outcome.ts +58 -0
  543. package/src/types.ts +3 -6
  544. package/src/worker-base.ts +9 -6
  545. package/src/worker-slot-signal.ts +23 -0
  546. package/src/worker.ts +11 -5
  547. package/dist/backpressure.js +0 -39
  548. package/dist/bunqueue/aging.js +0 -53
  549. package/dist/bunqueue/batch.js +0 -60
  550. package/dist/bunqueue/bunqueue-api.js +0 -116
  551. package/dist/bunqueue/bunqueue.js +0 -194
  552. package/dist/bunqueue/cancellation.js +0 -48
  553. package/dist/bunqueue/circuit-breaker.js +0 -69
  554. package/dist/bunqueue/dedup-debounce.js +0 -37
  555. package/dist/bunqueue/dlq-rate-limit.js +0 -65
  556. package/dist/bunqueue/rate-gate.js +0 -61
  557. package/dist/bunqueue/retry.js +0 -56
  558. package/dist/bunqueue/triggers.js +0 -42
  559. package/dist/bunqueue/ttl.js +0 -31
  560. package/dist/bunqueue/types.js +0 -6
  561. package/dist/connection-pool.js +0 -60
  562. package/dist/connection-types.js +0 -2
  563. package/dist/connection.js +0 -281
  564. package/dist/errors.js +0 -25
  565. package/dist/flow-types.js +0 -2
  566. package/dist/flow.js +0 -212
  567. package/dist/job.js +0 -155
  568. package/dist/observability.js +0 -110
  569. package/dist/queue-admin.js +0 -158
  570. package/dist/queue-control.js +0 -105
  571. package/dist/queue-query.js +0 -187
  572. package/dist/queue.js +0 -92
  573. package/dist/responses.js +0 -10
  574. package/dist/socket-factory.js +0 -47
  575. package/dist/types.js +0 -50
  576. package/dist/worker-base.js +0 -159
  577. package/dist/worker-types.js +0 -5
  578. package/dist/worker.js +0 -211
  579. /package/dist/{backpressure.d.ts → types/sdk/typescript/src/backpressure.d.ts} +0 -0
  580. /package/dist/{bunqueue → types/sdk/typescript/src/bunqueue}/cancellation.d.ts +0 -0
@@ -7,13 +7,13 @@
7
7
  * (or errored), so the worker keeps a job "active" — and its lock renewed —
8
8
  * until the server has confirmed the ack.
9
9
  */
10
- import type { Connection } from './connection.js';
10
+ import type { Connection } from "./connection.js";
11
11
  export interface AckItem {
12
12
  id: string;
13
13
  token: string;
14
14
  result: unknown;
15
- /** Called once the batch settles: `err` set on failure, undefined on ack. */
16
- onSettled: (err?: unknown) => void;
15
+ /** `applied` is defined only after a successful, authoritative response. */
16
+ onSettled: (err?: unknown, applied?: boolean) => void;
17
17
  }
18
18
  export declare class AckBatcher {
19
19
  private readonly connection;
@@ -4,8 +4,8 @@
4
4
  * old waiting jobs. Same semantics; the job scan goes over TCP (GetJobs on
5
5
  * the waiting and prioritized states) instead of the embedded manager.
6
6
  */
7
- import type { Queue } from '../queue.js';
8
- import type { PriorityAgingConfig } from './types.js';
7
+ import type { Queue } from "../queue.js";
8
+ import type { PriorityAgingConfig } from "./types.js";
9
9
  export declare class PriorityAger<T = unknown> {
10
10
  private timer;
11
11
  private readonly config;
@@ -3,8 +3,8 @@
3
3
  * 1:1 port of src/client/bunqueue/batch.ts: accumulates jobs and processes
4
4
  * them in groups; flushes on size, on timeout, and on destroy (close).
5
5
  */
6
- import type { Processor } from '../worker-types.js';
7
- import type { BatchConfig } from './types.js';
6
+ import type { Processor } from "../worker-types.js";
7
+ import type { BatchConfig } from "./types.js";
8
8
  export declare class BatchAccumulator<T = unknown, R = unknown> {
9
9
  private readonly buffer;
10
10
  private timer;
@@ -3,11 +3,11 @@
3
3
  * breaker, TTL, DLQ, rate limit, events, control). Merged onto the Bunqueue
4
4
  * prototype by bunqueue.ts; split out to keep files small.
5
5
  */
6
- import type { Job } from '../job.js';
7
- import type { JobOptions } from '../types.js';
8
- import type { Bunqueue } from './bunqueue.js';
9
- import type { DlqFilter, DlqStats } from './dlq-rate-limit.js';
10
- import type { CircuitState, TriggerRule } from './types.js';
6
+ import type { Job } from "../job.js";
7
+ import type { JobOptions } from "../types.js";
8
+ import type { Bunqueue } from "./bunqueue.js";
9
+ import type { DlqFilter, DlqStats } from "./dlq-rate-limit.js";
10
+ import type { CircuitState, TriggerRule } from "./types.js";
11
11
  type Raw = Record<string, unknown>;
12
12
  type Ctx = Bunqueue<any, any>;
13
13
  export declare const bunqueueApi: {
@@ -5,19 +5,19 @@
5
5
  * API (cron, DLQ, events, control, …) lives in bunqueue-api.ts and is merged
6
6
  * onto the prototype below.
7
7
  */
8
- import type { Job } from '../job.js';
9
- import { Queue } from '../queue.js';
10
- import type { JobOptions } from '../types.js';
11
- import { Worker } from '../worker.js';
12
- import { PriorityAger } from './aging.js';
13
- import { BatchAccumulator } from './batch.js';
14
- import { type BunqueueApi } from './bunqueue-api.js';
15
- import { CancellationManager } from './cancellation.js';
16
- import { WorkerCircuitBreaker } from './circuit-breaker.js';
17
- import { DlqRateLimitManager } from './dlq-rate-limit.js';
18
- import { TriggerManager } from './triggers.js';
19
- import { TtlChecker } from './ttl.js';
20
- import type { BunqueueMiddleware, BunqueueOptions } from './types.js';
8
+ import type { Job } from "../job.js";
9
+ import { Queue } from "../queue.js";
10
+ import type { JobOptions } from "../types.js";
11
+ import { Worker } from "../worker.js";
12
+ import { PriorityAger } from "./aging.js";
13
+ import { BatchAccumulator } from "./batch.js";
14
+ import { type BunqueueApi } from "./bunqueue-api.js";
15
+ import { CancellationManager } from "./cancellation.js";
16
+ import { WorkerCircuitBreaker } from "./circuit-breaker.js";
17
+ import { DlqRateLimitManager } from "./dlq-rate-limit.js";
18
+ import { TriggerManager } from "./triggers.js";
19
+ import { TtlChecker } from "./ttl.js";
20
+ import type { BunqueueMiddleware, BunqueueOptions } from "./types.js";
21
21
  export declare class Bunqueue<T = unknown, R = unknown> {
22
22
  readonly name: string;
23
23
  readonly queue: Queue<T>;
@@ -2,8 +2,8 @@
2
2
  * Bunqueue Simple Mode — circuit breaker for worker protection.
3
3
  * 1:1 port of src/client/bunqueue/circuitBreaker.ts.
4
4
  */
5
- import type { WorkerBase } from '../worker-base.js';
6
- import type { CircuitBreakerConfig, CircuitState } from './types.js';
5
+ import type { WorkerBase } from "../worker-base.js";
6
+ import type { CircuitBreakerConfig, CircuitState } from "./types.js";
7
7
  export declare class WorkerCircuitBreaker {
8
8
  private state;
9
9
  private failures;
@@ -3,8 +3,8 @@
3
3
  * 1:1 port of src/client/bunqueue/dedupDebounce.ts, including the dedup id
4
4
  * derivation algorithm: `${name}:${JSON.stringify(data)}`.
5
5
  */
6
- import type { JobOptions } from '../types.js';
7
- import type { BunqueueDebounceConfig, BunqueueDeduplicationConfig } from './types.js';
6
+ import type { JobOptions } from "../types.js";
7
+ import type { BunqueueDebounceConfig, BunqueueDeduplicationConfig } from "./types.js";
8
8
  export declare class DedupDebounceMerger {
9
9
  private readonly dedup;
10
10
  private readonly debounce;
@@ -4,8 +4,8 @@
4
4
  * the DLQ filter and stats are computed client-side from the fetched entries
5
5
  * (the embedded original reads them in-process).
6
6
  */
7
- import type { Queue } from '../queue.js';
8
- import type { BunqueueDlqConfig } from './types.js';
7
+ import type { Queue } from "../queue.js";
8
+ import type { BunqueueDlqConfig } from "./types.js";
9
9
  type Raw = Record<string, unknown>;
10
10
  /** Filter for DLQ queries (mirrors the official DlqFilter). */
11
11
  export interface DlqFilter {
@@ -7,7 +7,7 @@
7
7
  * semantics as a gate awaited before each job runs: a job whose window is
8
8
  * full waits (holding its concurrency slot) until the window frees.
9
9
  */
10
- import type { RateLimiterOptions } from './types.js';
10
+ import type { RateLimiterOptions } from "./types.js";
11
11
  export declare class RateGate {
12
12
  private readonly max;
13
13
  private readonly duration;
@@ -2,7 +2,7 @@
2
2
  * Bunqueue Simple Mode — advanced in-process retry with backoff strategies.
3
3
  * 1:1 port of src/client/bunqueue/retry.ts (identical formulas).
4
4
  */
5
- import type { RetryConfig, RetryStrategy } from './types.js';
5
+ import type { RetryConfig, RetryStrategy } from "./types.js";
6
6
  /** Calculate backoff delay based on strategy. */
7
7
  export declare function calculateBackoff(strategy: RetryStrategy, attempt: number, baseDelay: number, error: Error, config: RetryConfig): number;
8
8
  /** Execute a function with retry logic (the job stays active throughout). */
@@ -3,9 +3,9 @@
3
3
  * 1:1 port of src/client/bunqueue/triggers.ts: when a job completes/fails,
4
4
  * automatically create another job.
5
5
  */
6
- import type { Queue } from '../queue.js';
7
- import type { Worker } from '../worker.js';
8
- import type { TriggerRule } from './types.js';
6
+ import type { Queue } from "../queue.js";
7
+ import type { Worker } from "../worker.js";
8
+ import type { TriggerRule } from "./types.js";
9
9
  export declare class TriggerManager<T = unknown, R = unknown> {
10
10
  private readonly rules;
11
11
  private active;
@@ -3,7 +3,7 @@
3
3
  * 1:1 port of src/client/bunqueue/ttl.ts: expire unprocessed jobs, checked
4
4
  * when the worker picks the job up. Resolution: perName -> defaultTtl -> 0.
5
5
  */
6
- import type { JobTtlConfig } from './types.js';
6
+ import type { JobTtlConfig } from "./types.js";
7
7
  export declare class TtlChecker {
8
8
  private readonly config;
9
9
  constructor(config: JobTtlConfig);
@@ -3,10 +3,10 @@
3
3
  * 1:1 port of src/client/bunqueue/types.ts from the official client, minus
4
4
  * the embedded-mode options (this SDK is TCP-only).
5
5
  */
6
- import type { TlsOption } from '../connection.js';
7
- import type { Job } from '../job.js';
8
- import type { JobOptions } from '../types.js';
9
- import type { Processor } from '../worker-types.js';
6
+ import type { TlsOption } from "../connection.js";
7
+ import type { Job } from "../job.js";
8
+ import type { JobOptions } from "../types.js";
9
+ import type { Processor } from "../worker-types.js";
10
10
  /** Connection options accepted by Simple Mode (mirrors ConnectionOptions). */
11
11
  export interface BunqueueConnection {
12
12
  host?: string;
@@ -0,0 +1,21 @@
1
+ /**
2
+ * Declaration-only stand-in for Bun's `bun:sqlite` module in the published
3
+ * type graph. The embedded engine runs only under Bun; the portable build
4
+ * points engine declarations here so Node, Deno and Workers consumers never
5
+ * need Bun's global type declarations. Nothing imports this at runtime.
6
+ */
7
+ export interface Statement {
8
+ run(...parameters: unknown[]): unknown;
9
+ get(...parameters: unknown[]): unknown;
10
+ all(...parameters: unknown[]): unknown[];
11
+ values(...parameters: unknown[]): unknown[][];
12
+ finalize(): void;
13
+ }
14
+ export interface Database {
15
+ prepare(sql: string): Statement;
16
+ query(sql: string): Statement;
17
+ run(sql: string, ...parameters: unknown[]): unknown;
18
+ exec(sql: string, ...parameters: unknown[]): unknown;
19
+ transaction<T extends (...parameters: never[]) => unknown>(run: T): T;
20
+ close(throwOnError?: boolean): void;
21
+ }
@@ -11,7 +11,7 @@
11
11
  * Lifecycle events from every member connection are re-emitted here.
12
12
  */
13
13
  import { EventEmitter } from 'node:events';
14
- import type { Command, ConnectionLike, ConnectionOptions, Response } from './connection-types.js';
14
+ import type { Command, ConnectionLike, ConnectionOptions, Response } from "./connection-types.js";
15
15
  export declare class ConnectionPool extends EventEmitter implements ConnectionLike {
16
16
  private readonly connections;
17
17
  private cursor;
@@ -1,5 +1,5 @@
1
1
  /** Connection option and message types. */
2
- import type { Observability } from './observability.js';
2
+ import type { Observability } from "./observability.js";
3
3
  export type TlsOption = boolean | {
4
4
  caFile?: string;
5
5
  rejectUnauthorized?: boolean;
@@ -1,19 +1,10 @@
1
- /**
2
- * TCP connection to a bunqueue server — cross-runtime (Node.js, Bun, Deno).
3
- *
4
- * Requests carry a `reqId` string; the server echoes it back, enabling
5
- * pipelining (many in-flight commands per socket). Uses only `node:`
6
- * builtins (net/tls), which Node, Bun and Deno all support.
7
- */
1
+ /** Cross-runtime TCP connection with reqId-based request pipelining. */
8
2
  import { EventEmitter } from 'node:events';
9
- import type { Command, ConnectionOptions, Response, TlsOption } from './connection-types.js';
10
- export type { Command, ConnectionOptions, Response, TlsOption } from './connection-types.js';
3
+ import type { Command, ConnectionOptions, Response, TlsOption } from "./connection-types.js";
4
+ export type { Command, ConnectionOptions, Response, TlsOption } from "./connection-types.js";
11
5
  /**
12
- * A single pipelined TCP connection to a bunqueue server.
13
- *
14
- * Emits typed lifecycle events for observability: `connect`, `disconnect` and
15
- * `reconnect_scheduled` (payloads mirror the telemetry events). Attach a
16
- * telemetry sink via the `onTelemetry` option for per-command latency metrics.
6
+ * A pipelined connection with lifecycle events and an optional structured
7
+ * telemetry sink.
17
8
  */
18
9
  export declare class Connection extends EventEmitter {
19
10
  readonly host: string;
@@ -38,11 +29,7 @@ export declare class Connection extends EventEmitter {
38
29
  private readonly backpressure;
39
30
  constructor(options?: ConnectionOptions);
40
31
  get isConnected(): boolean;
41
- /**
42
- * Monotonic counter, incremented on every successful (re)connect. Consumers
43
- * that hold per-connection server state (e.g. a Worker registration) compare
44
- * it between operations and re-establish that state after a reconnect.
45
- */
32
+ /** Successful-connect generation used to restore per-connection state. */
46
33
  get generation(): number;
47
34
  /** Open the socket (and authenticate) if not already connected. */
48
35
  connect(): Promise<void>;
@@ -11,6 +11,9 @@ export declare class CommandTimeoutError extends BunqueueError {
11
11
  /** The server answered ok=false; message carries the server error. */
12
12
  export declare class CommandError extends BunqueueError {
13
13
  }
14
+ /** A command cannot be encoded within the protocol's wire constraints. */
15
+ export declare class SerializationError extends BunqueueError {
16
+ }
14
17
  /** Authentication with the server failed. */
15
18
  export declare class AuthError extends BunqueueError {
16
19
  }
@@ -0,0 +1,5 @@
1
+ import type { ConnectionLike } from "./connection-types.js";
2
+ import type { AtomicFlowJobInput } from "./flow-plan.js";
3
+ import type { JobRaw } from "./job.js";
4
+ export declare function validateFlowSnapshots(jobs: AtomicFlowJobInput[], snapshots: unknown): Map<string, JobRaw>;
5
+ export declare function commitFlow(connection: ConnectionLike, jobs: AtomicFlowJobInput[]): Promise<Map<string, JobRaw>>;
@@ -0,0 +1,13 @@
1
+ import { type AtomicFlowJobInput, type FlowIdFactory } from "./flow-plan.js";
2
+ import type { FlowStep } from "./flow-types.js";
3
+ export interface ChainPlan {
4
+ jobs: AtomicFlowJobInput[];
5
+ ids: string[];
6
+ }
7
+ export interface FanInPlan {
8
+ jobs: AtomicFlowJobInput[];
9
+ parallelIds: string[];
10
+ finalId: string;
11
+ }
12
+ export declare function planChain<T>(steps: FlowStep<T>[], idFactory?: FlowIdFactory): ChainPlan;
13
+ export declare function planBulkThen<T>(parallel: FlowStep<T>[], final: FlowStep<T>, idFactory?: FlowIdFactory): FanInPlan;
@@ -0,0 +1,29 @@
1
+ import type { FlowJob, FlowOptions } from "./flow-types.js";
2
+ import { type JobOptions } from "./types.js";
3
+ export type FlowIdFactory = () => string;
4
+ export interface AtomicFlowJobInput {
5
+ id: string;
6
+ queue: string;
7
+ input: Record<string, unknown>;
8
+ }
9
+ export interface PlannedFlowNode<T = unknown> {
10
+ id: string;
11
+ name: string;
12
+ queueName: string;
13
+ data: T | undefined;
14
+ children?: PlannedFlowNode<T>[];
15
+ }
16
+ export interface FlowPlan<T = unknown> {
17
+ jobs: AtomicFlowJobInput[];
18
+ roots: PlannedFlowNode<T>[];
19
+ }
20
+ interface FlowLinks {
21
+ parentId?: string;
22
+ dependsOn?: string[];
23
+ childrenIds?: string[];
24
+ }
25
+ export declare function flowData(name: string, data: unknown, internal?: Record<string, unknown>): Record<string, unknown>;
26
+ export declare function flowInput(data: Record<string, unknown>, opts: JobOptions, links?: FlowLinks): Record<string, unknown>;
27
+ export declare function allocateFlowId(opts: JobOptions, ids: Set<string>, idFactory: FlowIdFactory): string;
28
+ export declare function planFlows<T>(flows: FlowJob<T>[], options?: FlowOptions, idFactory?: FlowIdFactory): FlowPlan<T>;
29
+ export {};
@@ -1,8 +1,8 @@
1
1
  /** FlowProducer types. */
2
- import type { Connection, TlsOption } from './connection.js';
3
- import type { Job } from './job.js';
4
- import type { Observability } from './observability.js';
5
- import type { JobOptions } from './types.js';
2
+ import type { Connection, TlsOption } from "./connection.js";
3
+ import type { Job } from "./job.js";
4
+ import type { Observability } from "./observability.js";
5
+ import type { JobOptions } from "./types.js";
6
6
  export interface FlowJob<T = unknown> {
7
7
  name: string;
8
8
  queueName: string;
@@ -10,6 +10,9 @@ export interface FlowJob<T = unknown> {
10
10
  opts?: JobOptions;
11
11
  children?: FlowJob<T>[];
12
12
  }
13
+ export interface FlowOptions {
14
+ queuesOptions?: Record<string, Omit<Partial<JobOptions>, 'jobId'>>;
15
+ }
13
16
  export interface JobNode<T = unknown> {
14
17
  job: Job<T>;
15
18
  children?: JobNode<T>[];
@@ -1,16 +1,14 @@
1
1
  /**
2
- * FlowProducer: parent/children job trees, chains and fan-in flows.
3
- * Mirrors the official client's TCP flow logic (bottom-up creation,
4
- * UpdateParent fix-up, rollback via Cancel on failure).
2
+ * FlowProducer: atomic parent/children trees, chains and fan-in flows.
5
3
  */
6
- import { Connection } from './connection.js';
7
- import type { FlowJob, FlowProducerOptions, FlowStep, GetFlowOptions, JobNode } from './flow-types.js';
4
+ import { Connection } from "./connection.js";
5
+ import type { FlowJob, FlowOptions, FlowProducerOptions, FlowStep, GetFlowOptions, JobNode } from "./flow-types.js";
8
6
  export declare class FlowProducer {
9
7
  readonly connection: Connection;
10
8
  private readonly ownsConnection;
11
9
  constructor(opts?: FlowProducerOptions);
12
- /** Add a flow tree. Children are created (and processed) BEFORE their parent. */
13
- add<T = unknown>(flow: FlowJob<T>): Promise<JobNode<T>>;
10
+ /** Add a flow tree in one broker-side atomic commit. */
11
+ add<T = unknown>(flow: FlowJob<T>, options?: FlowOptions): Promise<JobNode<T>>;
14
12
  addBulk<T = unknown>(flows: FlowJob<T>[]): Promise<JobNode<T>[]>;
15
13
  /** Fetch a flow tree starting from a job id (recursive over childrenIds). */
16
14
  getFlow<T = unknown>(opts: GetFlowOptions): Promise<JobNode<T> | null>;
@@ -24,8 +22,6 @@ export declare class FlowProducer {
24
22
  finalId: string;
25
23
  }>;
26
24
  close(): void;
27
- private addNode;
28
- private pushWithParent;
25
+ private buildNode;
29
26
  private fetchNode;
30
- private rollback;
31
27
  }
@@ -2,7 +2,7 @@
2
2
  * Wire framing for the bunqueue TCP protocol: 4-byte big-endian length
3
3
  * prefix + msgpack payload. Runtime-neutral (plain Buffer operations).
4
4
  */
5
- export declare const PROTOCOL_VERSION = 2;
5
+ export declare const PROTOCOL_VERSION = 3;
6
6
  export declare const MAX_FRAME_SIZE: number;
7
7
  /** Drop undefined-valued keys so the msgpack frame stays minimal. */
8
8
  export declare function compact<T extends Record<string, unknown>>(obj: T): T;
@@ -0,0 +1,10 @@
1
+ /** Public API is sourced from the canonical client; the build supplies portable I/O. */
2
+ export * from "../../../src/client/index.js";
3
+ export { Connection } from "./connection.js";
4
+ export { ConnectionPool } from "./connection-pool.js";
5
+ export type { ConnectionLike } from "./connection-types.js";
6
+ export { AuthError, BunqueueError, CommandError, CommandTimeoutError, ConnectionClosedError, SerializationError, } from "./errors.js";
7
+ export { consoleLogger, noopLogger } from "./observability.js";
8
+ export type { Logger, LogLevel, Observability, TelemetryEvent, TelemetryHandler, } from "./observability.js";
9
+ export { MAX_FRAME_SIZE, PROTOCOL_VERSION } from "./frame.js";
10
+ export declare const __version__ = "0.2.0";
@@ -2,7 +2,7 @@
2
2
  * Job wrapper: read view over the server job record + per-job operations.
3
3
  * Mirrors the official TS client's Job surface (TCP mode).
4
4
  */
5
- import type { ConnectionLike } from './connection-types.js';
5
+ import type { ConnectionLike } from "./connection-types.js";
6
6
  export type JobRaw = Record<string, unknown>;
7
7
  export type ProgressHook = (job: Job, progress: number) => void;
8
8
  export declare class Job<T = unknown> {
@@ -14,8 +14,9 @@ export declare class Job<T = unknown> {
14
14
  get id(): string;
15
15
  get queue(): string;
16
16
  get data(): T;
17
- /** Job name (stored inside `data.name`, mirroring the official client). */
17
+ /** Job name, with compatibility for pre-name-field data envelopes. */
18
18
  get name(): string | undefined;
19
+ private topLevelName;
19
20
  get priority(): number;
20
21
  get attempts(): number;
21
22
  get maxAttempts(): number;
@@ -46,7 +47,7 @@ export declare class Job<T = unknown> {
46
47
  remove(): Promise<void>;
47
48
  discard(): Promise<void>;
48
49
  promote(): Promise<void>;
49
- /** failed → waiting (BullMQ contract; MoveToWait over TCP). */
50
+ /** Move the job back to waiting, forwarding a Worker-owned lease when present. */
50
51
  retry(): Promise<void>;
51
52
  updateData(data: unknown): Promise<void>;
52
53
  changePriority(opts: {
@@ -0,0 +1,27 @@
1
+ /**
2
+ * bunqueue-client — cross-runtime TypeScript SDK for bunqueue (TCP mode).
3
+ * Works on Node.js ≥20, Bun and Deno ≥2 (uses only node: builtins + msgpackr).
4
+ */
5
+ export { Bunqueue } from "./bunqueue/bunqueue.js";
6
+ export type { DlqFilter, DlqStats } from "./bunqueue/dlq-rate-limit.js";
7
+ export type { BatchConfig, BatchProcessor, BunqueueConnection, BunqueueDebounceConfig, BunqueueDeduplicationConfig, BunqueueDlqConfig, BunqueueMiddleware, BunqueueOptions, CircuitBreakerConfig, CircuitState, JobTtlConfig, PriorityAgingConfig, RateLimiterOptions, RetryConfig, RetryStrategy, TriggerRule, } from "./bunqueue/types.js";
8
+ export type { Command, ConnectionOptions, Response, TlsOption } from "./connection.js";
9
+ export { Connection } from "./connection.js";
10
+ export { ConnectionPool } from "./connection-pool.js";
11
+ export type { ConnectionLike } from "./connection-types.js";
12
+ export { AuthError, BunqueueError, CommandError, CommandTimeoutError, ConnectionClosedError, SerializationError, UnrecoverableError, } from "./errors.js";
13
+ export { FlowProducer } from "./flow.js";
14
+ export type { FlowJob, FlowOptions, FlowProducerOptions, FlowStep, GetFlowOptions, JobNode, } from "./flow-types.js";
15
+ export { MAX_FRAME_SIZE, PROTOCOL_VERSION } from "./frame.js";
16
+ export type { JobRaw } from "./job.js";
17
+ export { Job } from "./job.js";
18
+ export type { Logger, LogLevel, Observability, TelemetryErrorOperation, TelemetryEvent, TelemetryHandler, } from "./observability.js";
19
+ export { consoleLogger, noopLogger } from "./observability.js";
20
+ export type { BulkJobEntry, QueueOptions } from "./queue.js";
21
+ export { Queue } from "./queue.js";
22
+ export type { SchedulerOptions } from "./queue-admin.js";
23
+ export type { BatchResponse, CountResponse, DataResponse, JobCountsResponse, JobResponse, JobsResponse, OkResponse, PausedResponse, ProgressResponse, PulledJobResponse, PulledJobsResponse, ResultResponse, StateResponse, WaitJobResponse, } from "./responses.js";
24
+ export type { BackoffOptions, DeduplicationOptions, JobCounts, JobOptions, JobStateName, RepeatOptions, } from "./types.js";
25
+ export { Worker } from "./worker.js";
26
+ export type { AckBatchOptions, Processor, WorkerEventMap, WorkerOptions } from "./worker-types.js";
27
+ export declare const __version__ = "0.2.0";
@@ -19,6 +19,7 @@ export declare const noopLogger: Logger;
19
19
  */
20
20
  export declare function consoleLogger(min?: LogLevel): Logger;
21
21
  /** A single telemetry data point. A discriminated union keyed on `type`. */
22
+ export type TelemetryErrorOperation = 'connect' | 'socket' | 'write' | 'serialization';
22
23
  export type TelemetryEvent = {
23
24
  type: 'command';
24
25
  cmd: string;
@@ -53,6 +54,12 @@ export type TelemetryEvent = {
53
54
  type: 'backpressure';
54
55
  inFlight: number;
55
56
  maxInFlight: number;
57
+ } | {
58
+ type: 'error';
59
+ operation: TelemetryErrorOperation;
60
+ errorType: string;
61
+ message: string;
62
+ code?: string;
56
63
  };
57
64
  export type TelemetryHandler = (event: TelemetryEvent) => void;
58
65
  /** Lifecycle telemetry types that are ALSO emitted as EventEmitter events. */
@@ -91,5 +98,12 @@ export declare class Telemetry {
91
98
  reconnectScheduled(host: string, port: number, attempt: number, delayMs: number): void;
92
99
  auth(ok: boolean): void;
93
100
  backpressure(inFlight: number, maxInFlight: number): void;
101
+ /**
102
+ * Report transport failures without forwarding raw messages: those can
103
+ * contain remote-controlled text or application data in third-party errors.
104
+ */
105
+ error(operation: TelemetryErrorOperation, error: unknown): void;
106
+ capture<T>(operation: TelemetryErrorOperation, fn: () => T): T;
107
+ captureAsync<T>(operation: TelemetryErrorOperation, promise: Promise<T>): Promise<T>;
94
108
  private dispatch;
95
109
  }
@@ -2,8 +2,8 @@
2
2
  * Queue admin surface: DLQ, stall/DLQ configs, rate limits, schedulers,
3
3
  * monitoring and webhooks. Merged onto Queue.prototype by queue.ts.
4
4
  */
5
- import type { Queue } from './queue.js';
6
- import { type JobOptions } from './types.js';
5
+ import type { Queue } from "./queue.js";
6
+ import { type JobOptions } from "./types.js";
7
7
  type Ctx = Queue<unknown>;
8
8
  type Raw = Record<string, unknown>;
9
9
  export interface SchedulerOptions {
@@ -24,8 +24,7 @@ export declare const adminMethods: {
24
24
  getDlqConfig(this: Ctx): Promise<Raw>;
25
25
  setStallConfig(this: Ctx, config: Raw): Promise<void>;
26
26
  getStallConfig(this: Ctx): Promise<Raw>;
27
- /** `duration` accepted for signature parity; the TCP wire carries only `limit`. */
28
- setGlobalRateLimit(this: Ctx, max: number, _duration?: number): Promise<void>;
27
+ setGlobalRateLimit(this: Ctx, max: number, duration?: number): Promise<void>;
29
28
  removeGlobalRateLimit(this: Ctx): Promise<void>;
30
29
  setGlobalConcurrency(this: Ctx, concurrency: number): Promise<void>;
31
30
  removeGlobalConcurrency(this: Ctx): Promise<void>;
@@ -2,14 +2,15 @@
2
2
  * Queue control surface: pause/drain/clean, promotion, retry and per-job
3
3
  * mutations. Methods are merged onto Queue.prototype by queue.ts.
4
4
  */
5
- import type { Queue } from './queue.js';
6
- import type { JobStateName } from './types.js';
5
+ import type { Queue } from "./queue.js";
6
+ import type { JobStateName } from "./types.js";
7
7
  type Ctx = Queue<unknown>;
8
8
  export declare const controlMethods: {
9
9
  pause(this: Ctx): Promise<void>;
10
10
  resume(this: Ctx): Promise<void>;
11
11
  isPaused(this: Ctx): Promise<boolean>;
12
- drain(this: Ctx): Promise<void>;
12
+ /** Remove all waiting/delayed jobs; returns how many were dropped. */
13
+ drain(this: Ctx): Promise<number>;
13
14
  obliterate(this: Ctx): Promise<void>;
14
15
  /** Remove old jobs; returns how many were removed. */
15
16
  clean(this: Ctx, graceMs: number, limit?: number, state?: JobStateName): Promise<number>;
@@ -33,9 +34,9 @@ export declare const controlMethods: {
33
34
  priority: number;
34
35
  lifo?: boolean;
35
36
  }): Promise<void>;
36
- changeJobDelay(this: Ctx, id: string, delayMs: number): Promise<void>;
37
- moveJobToWait(this: Ctx, id: string): Promise<void>;
38
- moveJobToDelayed(this: Ctx, id: string, delayMs: number): Promise<void>;
37
+ changeJobDelay(this: Ctx, id: string, delayMs: number, token?: string): Promise<void>;
38
+ moveJobToWait(this: Ctx, id: string, token?: string): Promise<void>;
39
+ moveJobToDelayed(this: Ctx, id: string, delayMs: number, token?: string): Promise<void>;
39
40
  extendJobLock(this: Ctx, id: string, token: string, durationMs: number): Promise<void>;
40
41
  moveJobToCompleted(this: Ctx, id: string, returnValue: unknown, token?: string): Promise<void>;
41
42
  /**
@@ -2,9 +2,9 @@
2
2
  * Queue query surface: job lookup, state, results, counts, logs, children.
3
3
  * Methods are merged onto Queue.prototype by queue.ts.
4
4
  */
5
- import { Job } from './job.js';
6
- import type { Queue } from './queue.js';
7
- import type { JobCounts } from './types.js';
5
+ import { Job } from "./job.js";
6
+ import type { Queue } from "./queue.js";
7
+ import type { JobCounts } from "./types.js";
8
8
  type Ctx = Queue<unknown>;
9
9
  export declare const queryMethods: {
10
10
  getJob<T = unknown>(this: Ctx, id: string): Promise<Job<T> | null>;
@@ -8,14 +8,14 @@
8
8
  * monitoring). Methods are merged onto the prototype; declaration merging
9
9
  * exposes them on the type.
10
10
  */
11
- import { Connection, type Response, type TlsOption } from './connection.js';
12
- import type { ConnectionLike } from './connection-types.js';
13
- import { Job } from './job.js';
14
- import type { Observability } from './observability.js';
15
- import { type QueueAdminApi } from './queue-admin.js';
16
- import { type QueueControlApi } from './queue-control.js';
17
- import { type QueueQueryApi } from './queue-query.js';
18
- import { type JobOptions } from './types.js';
11
+ import { Connection, type Response, type TlsOption } from "./connection.js";
12
+ import type { ConnectionLike } from "./connection-types.js";
13
+ import { Job } from "./job.js";
14
+ import type { Observability } from "./observability.js";
15
+ import { type QueueAdminApi } from "./queue-admin.js";
16
+ import { type QueueControlApi } from "./queue-control.js";
17
+ import { type QueueQueryApi } from "./queue-query.js";
18
+ import { type JobOptions } from "./types.js";
19
19
  export interface QueueOptions extends Observability {
20
20
  host?: string;
21
21
  port?: number;
@@ -7,8 +7,8 @@
7
7
  * These narrow the loose transport `Response`; the runtime value is whatever
8
8
  * the server sent, so only assert the shape a given command actually returns.
9
9
  */
10
- import type { JobRaw } from './job.js';
11
- import type { JobCounts, JobStateName } from './types.js';
10
+ import type { JobRaw } from "./job.js";
11
+ import type { JobCounts, JobStateName } from "./types.js";
12
12
  interface Ok {
13
13
  ok: true;
14
14
  reqId?: string;
@@ -0,0 +1,10 @@
1
+ /** Safe command serialization for the bunqueue wire protocol. */
2
+ import type { Command } from "./connection-types.js";
3
+ /**
4
+ * Encode and frame a command before it occupies an in-flight request slot.
5
+ *
6
+ * MessagePack may reject values such as cyclic objects. Normalize every such
7
+ * encoder failure to the public SDK error hierarchy; `frame()` already uses
8
+ * the same typed error for an oversized encoded body.
9
+ */
10
+ export declare function serializeCommand(command: Command, reqId: string): Buffer;