@archlast/server 0.1.7 → 0.1.9

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 (372) hide show
  1. package/LICENSE +21 -21
  2. package/README.md +14 -10
  3. package/dist/admin/auth.d.ts +24 -5
  4. package/dist/admin/auth.js +49 -25
  5. package/dist/admin/schema.d.ts +122 -32
  6. package/dist/admin/schema.js +131 -95
  7. package/dist/admin/seed.d.ts +1 -1
  8. package/dist/admin/seed.js +79 -47
  9. package/dist/auth/api-key-resolver.d.ts +1 -1
  10. package/dist/auth/api-key-resolver.js +7 -3
  11. package/dist/auth/archlast-auth-adapter.d.ts +2 -5
  12. package/dist/auth/archlast-auth-adapter.js +1 -1
  13. package/dist/auth/better-auth-adapter.d.ts.map +1 -1
  14. package/dist/auth/better-auth-adapter.js +41 -26
  15. package/dist/auth/better-auth-adapter.js.map +1 -1
  16. package/dist/auth/better-auth-admin.d.ts.map +1 -1
  17. package/dist/auth/better-auth-admin.js +1 -1
  18. package/dist/auth/better-auth-admin.js.map +1 -1
  19. package/dist/auth/better-auth-api-key-resolver.js +1 -1
  20. package/dist/auth/better-auth-api-key-resolver.js.map +1 -1
  21. package/dist/auth/better-auth-instance.d.ts +247 -303
  22. package/dist/auth/better-auth-instance.d.ts.map +1 -1
  23. package/dist/auth/better-auth-instance.js +11 -0
  24. package/dist/auth/better-auth-instance.js.map +1 -1
  25. package/dist/auth/better-auth-seed.d.ts +5 -2
  26. package/dist/auth/better-auth-seed.js +31 -22
  27. package/dist/auth/better-auth-session-adapter.d.ts.map +1 -1
  28. package/dist/auth/better-auth-session-adapter.js +14 -10
  29. package/dist/auth/better-auth-session-adapter.js.map +1 -1
  30. package/dist/auth/errors.d.ts.map +1 -1
  31. package/dist/auth/errors.js +11 -11
  32. package/dist/auth/errors.js.map +1 -1
  33. package/dist/auth/oauth-proxy.d.ts +5 -2
  34. package/dist/auth/oauth-proxy.js +23 -27
  35. package/dist/auth/resolver.d.ts.map +1 -1
  36. package/dist/auth/resolver.js.map +1 -1
  37. package/dist/auth/role-helpers.d.ts +1 -1
  38. package/dist/auth/role-helpers.d.ts.map +1 -1
  39. package/dist/auth/role-helpers.js.map +1 -1
  40. package/dist/auth/session-manager.d.ts +2 -5
  41. package/dist/auth/session-manager.js +16 -6
  42. package/dist/auth/system/better-auth-schema.d.ts.map +1 -1
  43. package/dist/auth/system/better-auth-schema.js +6 -23
  44. package/dist/auth/system/better-auth-schema.js.map +1 -1
  45. package/dist/cache/circuit-breaker.d.ts +81 -0
  46. package/dist/cache/circuit-breaker.d.ts.map +1 -0
  47. package/dist/cache/circuit-breaker.js +170 -0
  48. package/dist/cache/circuit-breaker.js.map +1 -0
  49. package/dist/cache/client.d.ts +6 -3
  50. package/dist/cache/client.d.ts.map +1 -1
  51. package/dist/cache/client.js +12 -53
  52. package/dist/cache/client.js.map +1 -1
  53. package/dist/cache/index.d.ts +2 -0
  54. package/dist/cache/index.d.ts.map +1 -1
  55. package/dist/cache/index.js +5 -1
  56. package/dist/cache/index.js.map +1 -1
  57. package/dist/cache/invalidation-queue.d.ts +63 -0
  58. package/dist/cache/invalidation-queue.d.ts.map +1 -0
  59. package/dist/cache/invalidation-queue.js +196 -0
  60. package/dist/cache/invalidation-queue.js.map +1 -0
  61. package/dist/cache/layers.d.ts +14 -4
  62. package/dist/cache/layers.d.ts.map +1 -1
  63. package/dist/cache/layers.js +66 -72
  64. package/dist/cache/layers.js.map +1 -1
  65. package/dist/cache/manager.d.ts.map +1 -1
  66. package/dist/cache/manager.js +6 -41
  67. package/dist/cache/manager.js.map +1 -1
  68. package/dist/cache/protocol.d.ts +4 -39
  69. package/dist/cache/protocol.d.ts.map +1 -1
  70. package/dist/cache/protocol.js.map +1 -1
  71. package/dist/cache/redis-adapter.d.ts +103 -0
  72. package/dist/cache/redis-adapter.d.ts.map +1 -0
  73. package/dist/cache/redis-adapter.js +424 -0
  74. package/dist/cache/redis-adapter.js.map +1 -0
  75. package/dist/cache/run-sidecar.js +10 -1
  76. package/dist/cache/run-sidecar.js.map +1 -1
  77. package/dist/cache/sidecar-server.d.ts +51 -1
  78. package/dist/cache/sidecar-server.d.ts.map +1 -1
  79. package/dist/cache/sidecar-server.js +368 -22
  80. package/dist/cache/sidecar-server.js.map +1 -1
  81. package/dist/cache/store.d.ts +43 -0
  82. package/dist/cache/store.d.ts.map +1 -1
  83. package/dist/cache/store.js +69 -76
  84. package/dist/cache/store.js.map +1 -1
  85. package/dist/cache/strategies.d.ts +2 -9
  86. package/dist/cache/strategies.d.ts.map +1 -1
  87. package/dist/cache/types.d.ts +130 -0
  88. package/dist/cache/types.d.ts.map +1 -0
  89. package/dist/cache/types.js +60 -0
  90. package/dist/cache/types.js.map +1 -0
  91. package/dist/config/bullmq.d.ts +16 -0
  92. package/dist/config/bullmq.d.ts.map +1 -0
  93. package/dist/config/bullmq.js +103 -0
  94. package/dist/config/bullmq.js.map +1 -0
  95. package/dist/config/index.d.ts +1 -0
  96. package/dist/config/index.d.ts.map +1 -1
  97. package/dist/config/index.js +1 -0
  98. package/dist/config/index.js.map +1 -1
  99. package/dist/config/schema.d.ts +80 -6
  100. package/dist/config/schema.d.ts.map +1 -1
  101. package/dist/config/schema.js +71 -6
  102. package/dist/config/schema.js.map +1 -1
  103. package/dist/config/service.d.ts +54 -4
  104. package/dist/config/service.d.ts.map +1 -1
  105. package/dist/config/service.js +56 -2
  106. package/dist/config/service.js.map +1 -1
  107. package/dist/controllers/admin/admin-tokens.controller.d.ts +131 -115
  108. package/dist/controllers/admin/admin-tokens.controller.js +117 -98
  109. package/dist/controllers/admin/api-keys.controller.d.ts +1 -1
  110. package/dist/controllers/admin/api-keys.controller.d.ts.map +1 -1
  111. package/dist/controllers/admin/api-keys.controller.js.map +1 -1
  112. package/dist/controllers/admin/app-users.controller.d.ts +274 -243
  113. package/dist/controllers/admin/app-users.controller.js +301 -257
  114. package/dist/controllers/admin/auth.controller.d.ts +260 -236
  115. package/dist/controllers/admin/auth.controller.js +197 -174
  116. package/dist/controllers/admin/backup.controller.d.ts.map +1 -1
  117. package/dist/controllers/admin/backup.controller.js.map +1 -1
  118. package/dist/controllers/admin/settings.controller.d.ts +1 -1
  119. package/dist/controllers/admin/storage-stats.controller.d.ts +63 -0
  120. package/dist/controllers/admin/storage-stats.controller.d.ts.map +1 -0
  121. package/dist/controllers/admin/storage-stats.controller.js +33 -0
  122. package/dist/controllers/admin/storage-stats.controller.js.map +1 -0
  123. package/dist/controllers/admin/tenants.controller.d.ts.map +1 -1
  124. package/dist/controllers/admin/tenants.controller.js.map +1 -1
  125. package/dist/controllers/admin/users.controller.d.ts +1 -1
  126. package/dist/controllers/admin/users.controller.d.ts.map +1 -1
  127. package/dist/controllers/admin/users.controller.js.map +1 -1
  128. package/dist/controllers/auth.controller.d.ts +289 -271
  129. package/dist/controllers/auth.controller.js +275 -226
  130. package/dist/controllers/crud-generator.controller.d.ts.map +1 -1
  131. package/dist/controllers/crud-generator.controller.js +4 -2
  132. package/dist/controllers/crud-generator.controller.js.map +1 -1
  133. package/dist/controllers/index.d.ts +1 -1
  134. package/dist/controllers/index.d.ts.map +1 -1
  135. package/dist/controllers/index.js.map +1 -1
  136. package/dist/controllers/introspection.controller.d.ts +666 -0
  137. package/dist/controllers/introspection.controller.d.ts.map +1 -1
  138. package/dist/controllers/introspection.controller.js +628 -0
  139. package/dist/controllers/introspection.controller.js.map +1 -1
  140. package/dist/controllers/invite.controller.d.ts +190 -170
  141. package/dist/controllers/invite.controller.js +183 -164
  142. package/dist/controllers/mfa.controller.d.ts +205 -183
  143. package/dist/controllers/mfa.controller.js +131 -111
  144. package/dist/controllers/otp.controller.d.ts +194 -171
  145. package/dist/controllers/otp.controller.js +192 -175
  146. package/dist/controllers/storage.controller.d.ts.map +1 -1
  147. package/dist/controllers/storage.controller.js.map +1 -1
  148. package/dist/controllers/system.controller.d.ts +21 -3
  149. package/dist/controllers/system.controller.d.ts.map +1 -1
  150. package/dist/controllers/system.controller.js +32 -2
  151. package/dist/controllers/system.controller.js.map +1 -1
  152. package/dist/controllers/tenant.controller.d.ts +258 -227
  153. package/dist/controllers/tenant.controller.js +224 -200
  154. package/dist/db/cachedclient.d.ts +6 -11
  155. package/dist/db/cachedclient.d.ts.map +1 -1
  156. package/dist/db/cachedclient.js +79 -43
  157. package/dist/db/cachedclient.js.map +1 -1
  158. package/dist/db/distributed-client.d.ts +79 -24
  159. package/dist/db/distributed-client.js +23 -24
  160. package/dist/db/factory.d.ts +3 -8
  161. package/dist/db/factory.d.ts.map +1 -1
  162. package/dist/db/factory.js +3 -22
  163. package/dist/db/factory.js.map +1 -1
  164. package/dist/db/socket-client.d.ts +7 -0
  165. package/dist/db/socket-client.d.ts.map +1 -1
  166. package/dist/db/socket-client.js +140 -11
  167. package/dist/db/socket-client.js.map +1 -1
  168. package/dist/deployment/handler.d.ts +10 -2
  169. package/dist/deployment/handler.d.ts.map +1 -1
  170. package/dist/deployment/handler.js +103 -21
  171. package/dist/deployment/handler.js.map +1 -1
  172. package/dist/deployment/persistence.d.ts.map +1 -1
  173. package/dist/deployment/persistence.js +6 -1
  174. package/dist/deployment/persistence.js.map +1 -1
  175. package/dist/docker/compose.d.ts.map +1 -1
  176. package/dist/docker/compose.js +76 -0
  177. package/dist/docker/compose.js.map +1 -1
  178. package/dist/engine/runner.d.ts.map +1 -1
  179. package/dist/engine/runner.js +0 -43
  180. package/dist/engine/runner.js.map +1 -1
  181. package/dist/functions/built-in/auth-apikey.d.ts.map +1 -1
  182. package/dist/functions/built-in/auth-apikey.js.map +1 -1
  183. package/dist/functions/built-in/system-cache.d.ts.map +1 -1
  184. package/dist/functions/built-in/system-cache.js +6 -31
  185. package/dist/functions/built-in/system-cache.js.map +1 -1
  186. package/dist/functions/built-in/system-data.d.ts.map +1 -1
  187. package/dist/functions/built-in/system-data.js +4 -2
  188. package/dist/functions/built-in/system-data.js.map +1 -1
  189. package/dist/functions/definition.d.ts.map +1 -1
  190. package/dist/functions/definition.js +6 -2
  191. package/dist/functions/definition.js.map +1 -1
  192. package/dist/http/router.d.ts +1 -0
  193. package/dist/http/router.d.ts.map +1 -1
  194. package/dist/http/router.js +14 -3
  195. package/dist/http/router.js.map +1 -1
  196. package/dist/http/routes/metrics.d.ts +42 -0
  197. package/dist/http/routes/metrics.d.ts.map +1 -0
  198. package/dist/http/routes/metrics.js +29 -0
  199. package/dist/http/routes/metrics.js.map +1 -0
  200. package/dist/http/server.d.ts +1 -0
  201. package/dist/http/server.d.ts.map +1 -1
  202. package/dist/http/server.js +63 -22
  203. package/dist/http/server.js.map +1 -1
  204. package/dist/ipc/socket-bridge.d.ts +1 -0
  205. package/dist/ipc/socket-bridge.d.ts.map +1 -1
  206. package/dist/ipc/socket-bridge.js +5 -1
  207. package/dist/ipc/socket-bridge.js.map +1 -1
  208. package/dist/jobs/bullmq-adapter.d.ts +154 -0
  209. package/dist/jobs/bullmq-adapter.d.ts.map +1 -0
  210. package/dist/jobs/bullmq-adapter.js +688 -0
  211. package/dist/jobs/bullmq-adapter.js.map +1 -0
  212. package/dist/jobs/bullmq-circuit-breaker.d.ts +133 -0
  213. package/dist/jobs/bullmq-circuit-breaker.d.ts.map +1 -0
  214. package/dist/jobs/bullmq-circuit-breaker.js +323 -0
  215. package/dist/jobs/bullmq-circuit-breaker.js.map +1 -0
  216. package/dist/jobs/bullmq-dlq-manager.d.ts +155 -0
  217. package/dist/jobs/bullmq-dlq-manager.d.ts.map +1 -0
  218. package/dist/jobs/bullmq-dlq-manager.js +325 -0
  219. package/dist/jobs/bullmq-dlq-manager.js.map +1 -0
  220. package/dist/jobs/bullmq-metrics.d.ts +104 -0
  221. package/dist/jobs/bullmq-metrics.d.ts.map +1 -0
  222. package/dist/jobs/bullmq-metrics.js +323 -0
  223. package/dist/jobs/bullmq-metrics.js.map +1 -0
  224. package/dist/jobs/bullmq-priority-service.d.ts +173 -0
  225. package/dist/jobs/bullmq-priority-service.d.ts.map +1 -0
  226. package/dist/jobs/bullmq-priority-service.js +390 -0
  227. package/dist/jobs/bullmq-priority-service.js.map +1 -0
  228. package/dist/jobs/bullmq-scheduler.d.ts +111 -0
  229. package/dist/jobs/bullmq-scheduler.d.ts.map +1 -0
  230. package/dist/jobs/bullmq-scheduler.js +300 -0
  231. package/dist/jobs/bullmq-scheduler.js.map +1 -0
  232. package/dist/jobs/bullmq-worker.d.ts +155 -0
  233. package/dist/jobs/bullmq-worker.d.ts.map +1 -0
  234. package/dist/jobs/bullmq-worker.js +651 -0
  235. package/dist/jobs/bullmq-worker.js.map +1 -0
  236. package/dist/jobs/circuit-breaker.d.ts +120 -0
  237. package/dist/jobs/circuit-breaker.d.ts.map +1 -0
  238. package/dist/jobs/circuit-breaker.js +262 -0
  239. package/dist/jobs/circuit-breaker.js.map +1 -0
  240. package/dist/jobs/index.d.ts +1 -1
  241. package/dist/jobs/index.d.ts.map +1 -1
  242. package/dist/jobs/index.js.map +1 -1
  243. package/dist/jobs/queue.d.ts +120 -1
  244. package/dist/jobs/queue.d.ts.map +1 -1
  245. package/dist/jobs/queue.js +487 -9
  246. package/dist/jobs/queue.js.map +1 -1
  247. package/dist/jobs/redis-connection.d.ts +50 -0
  248. package/dist/jobs/redis-connection.d.ts.map +1 -0
  249. package/dist/jobs/redis-connection.js +123 -0
  250. package/dist/jobs/redis-connection.js.map +1 -0
  251. package/dist/jobs/run-scheduler.js +163 -10
  252. package/dist/jobs/run-scheduler.js.map +1 -1
  253. package/dist/jobs/run-worker.js +101 -9
  254. package/dist/jobs/run-worker.js.map +1 -1
  255. package/dist/jobs/worker-thread.d.ts +6 -0
  256. package/dist/jobs/worker-thread.d.ts.map +1 -1
  257. package/dist/jobs/worker-thread.js +37 -8
  258. package/dist/jobs/worker-thread.js.map +1 -1
  259. package/dist/jobs/worker.d.ts +33 -0
  260. package/dist/jobs/worker.d.ts.map +1 -1
  261. package/dist/jobs/worker.js +358 -115
  262. package/dist/jobs/worker.js.map +1 -1
  263. package/dist/linq/async-enumerable.d.ts.map +1 -1
  264. package/dist/linq/async-enumerable.js.map +1 -1
  265. package/dist/linq/enumerable.d.ts.map +1 -1
  266. package/dist/linq/enumerable.js +10 -10
  267. package/dist/linq/enumerable.js.map +1 -1
  268. package/dist/metrics/collector.d.ts +26 -0
  269. package/dist/metrics/collector.d.ts.map +1 -0
  270. package/dist/metrics/collector.js +103 -0
  271. package/dist/metrics/collector.js.map +1 -0
  272. package/dist/polling/updates.controller.d.ts +57 -0
  273. package/dist/polling/updates.controller.d.ts.map +1 -0
  274. package/dist/polling/updates.controller.js +70 -0
  275. package/dist/polling/updates.controller.js.map +1 -0
  276. package/dist/repository/db-set.d.ts.map +1 -1
  277. package/dist/repository/db-set.js +12 -8
  278. package/dist/repository/db-set.js.map +1 -1
  279. package/dist/repository/ef-core.d.ts.map +1 -1
  280. package/dist/repository/ef-core.js +6 -6
  281. package/dist/repository/ef-core.js.map +1 -1
  282. package/dist/repository/factory.d.ts +1 -1
  283. package/dist/repository/factory.d.ts.map +1 -1
  284. package/dist/repository/factory.js.map +1 -1
  285. package/dist/repository/interfaces.d.ts.map +1 -1
  286. package/dist/repository/interfaces.js.map +1 -1
  287. package/dist/repository/queryable.d.ts.map +1 -1
  288. package/dist/repository/queryable.js.map +1 -1
  289. package/dist/rpc/adapter.d.ts.map +1 -1
  290. package/dist/rpc/adapter.js.map +1 -1
  291. package/dist/rpc/router.d.ts +2 -2
  292. package/dist/rpc/router.d.ts.map +1 -1
  293. package/dist/rpc/router.js +1 -1
  294. package/dist/rpc/router.js.map +1 -1
  295. package/dist/schema/input-types.d.ts +1 -1
  296. package/dist/schema/input-types.d.ts.map +1 -1
  297. package/dist/schema/input-types.js +4 -3
  298. package/dist/schema/input-types.js.map +1 -1
  299. package/dist/schema/modifiers.d.ts +2 -1
  300. package/dist/schema/modifiers.d.ts.map +1 -1
  301. package/dist/schema/modifiers.js +41 -5
  302. package/dist/schema/modifiers.js.map +1 -1
  303. package/dist/schema/relationship-types.d.ts +7 -2
  304. package/dist/schema/relationship-types.js +1 -1
  305. package/dist/schema/type-helpers.d.ts +35 -0
  306. package/dist/schema/type-helpers.d.ts.map +1 -1
  307. package/dist/schema/type-helpers.js +32 -21
  308. package/dist/schema/type-helpers.js.map +1 -1
  309. package/dist/schema/types.d.ts.map +1 -1
  310. package/dist/schema/validators.d.ts +1 -1
  311. package/dist/schema/validators.d.ts.map +1 -1
  312. package/dist/schema/validators.js +27 -16
  313. package/dist/schema/validators.js.map +1 -1
  314. package/dist/services/admin/app-users.service.d.ts +1 -1
  315. package/dist/services/admin/app-users.service.js +31 -38
  316. package/dist/services/admin/auth.service.d.ts +1 -1
  317. package/dist/services/admin/auth.service.js +11 -5
  318. package/dist/services/admin/backup/BackupOrchestrator.d.ts.map +1 -1
  319. package/dist/services/admin/backup/BackupOrchestrator.js +4 -7
  320. package/dist/services/admin/backup/BackupOrchestrator.js.map +1 -1
  321. package/dist/services/admin/backup/StorageStreamer.d.ts +3 -3
  322. package/dist/services/admin/backup/StorageStreamer.d.ts.map +1 -1
  323. package/dist/services/admin/backup/StorageStreamer.js +16 -55
  324. package/dist/services/admin/backup/StorageStreamer.js.map +1 -1
  325. package/dist/services/admin/backup/ZipComposer.d.ts +2 -0
  326. package/dist/services/admin/backup/ZipComposer.d.ts.map +1 -1
  327. package/dist/services/admin/backup/ZipComposer.js +23 -0
  328. package/dist/services/admin/backup/ZipComposer.js.map +1 -1
  329. package/dist/services/admin/backup.service.d.ts.map +1 -1
  330. package/dist/services/admin/backup.service.js.map +1 -1
  331. package/dist/services/admin/data.service.d.ts.map +1 -1
  332. package/dist/services/admin/data.service.js +287 -286
  333. package/dist/services/admin/data.service.js.map +1 -1
  334. package/dist/services/admin/tenants.service.d.ts.map +1 -1
  335. package/dist/services/admin/tenants.service.js.map +1 -1
  336. package/dist/services/auth.service.d.ts +2 -3
  337. package/dist/services/auth.service.js +16 -16
  338. package/dist/services/introspection.service.d.ts.map +1 -1
  339. package/dist/services/introspection.service.js +6 -3
  340. package/dist/services/introspection.service.js.map +1 -1
  341. package/dist/services/invite.service.d.ts +1 -1
  342. package/dist/services/invite.service.js +17 -15
  343. package/dist/services/storage.service.d.ts.map +1 -1
  344. package/dist/services/storage.service.js +35 -4
  345. package/dist/services/storage.service.js.map +1 -1
  346. package/dist/services/system.service.d.ts +4 -0
  347. package/dist/services/system.service.d.ts.map +1 -1
  348. package/dist/services/system.service.js +43 -1
  349. package/dist/services/system.service.js.map +1 -1
  350. package/dist/services/tenant.service.d.ts +1 -1
  351. package/dist/services/tenant.service.js +43 -31
  352. package/dist/sse/subscriptions.controller.d.ts +57 -0
  353. package/dist/sse/subscriptions.controller.d.ts.map +1 -0
  354. package/dist/sse/subscriptions.controller.js +127 -0
  355. package/dist/sse/subscriptions.controller.js.map +1 -0
  356. package/dist/startup/bootstrap.d.ts +13 -2
  357. package/dist/startup/bootstrap.d.ts.map +1 -1
  358. package/dist/startup/bootstrap.js +85 -13
  359. package/dist/startup/bootstrap.js.map +1 -1
  360. package/dist/storage/s3-backend.d.ts.map +1 -1
  361. package/dist/storage/s3-backend.js +3 -3
  362. package/dist/storage/s3-backend.js.map +1 -1
  363. package/dist/websocket/server.d.ts.map +1 -1
  364. package/dist/websocket/server.js +14 -3
  365. package/dist/websocket/server.js.map +1 -1
  366. package/docker/README.md +299 -1
  367. package/package.json +5 -1
  368. package/templates/.env.example +76 -16
  369. package/templates/archlast.config.js +15 -1
  370. package/templates/docker-compose.dev.yml +8 -8
  371. package/templates/docker-compose.prod.yml +29 -12
  372. package/templates/docker-compose.yml +112 -28
@@ -0,0 +1,154 @@
1
+ import type { JobRecord, JobDLQRecord, JobStatus, EnqueueOptions, JobQueueOptions } from "./queue.js";
2
+ interface BullMQJobQueueOptions extends JobQueueOptions {
3
+ queueName?: string;
4
+ }
5
+ interface QueueStats {
6
+ totalJobs: number;
7
+ pendingJobs: number;
8
+ activeJobs: number;
9
+ completedJobs: number;
10
+ failedJobs: number;
11
+ dlqJobs: number;
12
+ avgProcessingTime: number;
13
+ priorityDistribution: Record<string, number>;
14
+ }
15
+ interface DLQStats {
16
+ totalDLQJobs: number;
17
+ byStatus: Record<string, number>;
18
+ byErrorCategory: Record<string, number>;
19
+ byJobName: Record<string, number>;
20
+ oldestFailure: number | null;
21
+ recentFailures24h: number;
22
+ }
23
+ /**
24
+ * BullMQ-based implementation of the JobQueue interface.
25
+ * Uses BullMQ Queue for job management and a separate DLQ queue for failed jobs.
26
+ */
27
+ export declare class BullMQJobQueue {
28
+ private readonly queue;
29
+ private readonly dlqQueue;
30
+ private readonly defaultMaxAttempts;
31
+ private readonly backoffBaseMs;
32
+ private readonly queueName;
33
+ private disposed;
34
+ constructor(options: BullMQJobQueueOptions);
35
+ /**
36
+ * Enqueue a new job
37
+ */
38
+ enqueue<Payload = unknown>(name: string, payload: Payload, options?: EnqueueOptions): Promise<string>;
39
+ /**
40
+ * Claim the next available job for execution.
41
+ * Note: In BullMQ, workers handle job claiming automatically.
42
+ * This method is kept for interface compatibility but returns null
43
+ * as BullMQ workers handle the actual claiming.
44
+ */
45
+ claimNext<Payload = unknown>(): Promise<JobRecord<Payload> | null>;
46
+ /**
47
+ * Mark a job as completed
48
+ */
49
+ complete(id: string, jobName?: string): Promise<void>;
50
+ /**
51
+ * Handle job failure - either retry or move to DLQ
52
+ */
53
+ fail(job: JobRecord, error: unknown, backoffMs?: number): Promise<void>;
54
+ /**
55
+ * Move a job to the Dead Letter Queue
56
+ */
57
+ private moveToDLQ;
58
+ /**
59
+ * Categorize error for DLQ classification
60
+ */
61
+ private categorizeError;
62
+ /**
63
+ * Extract diagnostic information from error
64
+ */
65
+ private extractDiagnostics;
66
+ /**
67
+ * Get a job by ID
68
+ */
69
+ getJob<Payload = unknown>(id: string): Promise<JobRecord<Payload> | null>;
70
+ /**
71
+ * List jobs by status
72
+ */
73
+ listJobs<Payload = unknown>(status?: JobStatus): Promise<JobRecord<Payload>[]>;
74
+ /**
75
+ * Map BullMQ Job to JobRecord
76
+ */
77
+ private mapBullMQJobToJobRecord;
78
+ /**
79
+ * List DLQ jobs with optional filtering and pagination
80
+ */
81
+ getDLQJobs<Payload = unknown>(options?: {
82
+ limit?: number;
83
+ offset?: number;
84
+ errorCategory?: string;
85
+ jobName?: string;
86
+ }): Promise<JobDLQRecord<Payload>[]>;
87
+ /**
88
+ * Map BullMQ Job to JobDLQRecord
89
+ */
90
+ private mapBullMQJobToDLQRecord;
91
+ /**
92
+ * Get specific DLQ job by ID
93
+ */
94
+ getDLQJob<Payload = unknown>(id: string): Promise<JobDLQRecord<Payload> | null>;
95
+ /**
96
+ * Get DLQ statistics
97
+ */
98
+ getDLQStats(): Promise<DLQStats>;
99
+ /**
100
+ * Reprocess a job from DLQ back to main queue
101
+ */
102
+ reprocessFromDLQ(dlqJobId: string, options?: {
103
+ newMaxAttempts?: number;
104
+ priority?: number;
105
+ }): Promise<string>;
106
+ /**
107
+ * Delete specific DLQ job
108
+ */
109
+ deleteFromDLQ(id: string): Promise<void>;
110
+ /**
111
+ * Purge DLQ jobs older than specified time
112
+ */
113
+ purgeDLQ(olderThanMs?: number): Promise<number>;
114
+ /**
115
+ * Get queue statistics
116
+ */
117
+ getQueueStats(): Promise<QueueStats>;
118
+ /**
119
+ * Get queue depth by priority level
120
+ */
121
+ getQueueDepthByPriority(): Promise<Array<{
122
+ priority: number;
123
+ count: number;
124
+ label: string;
125
+ }>>;
126
+ private getPriorityLabel;
127
+ /**
128
+ * Update job priority
129
+ * Note: BullMQ doesn't support changing priority after job creation,
130
+ * so we remove and re-add the job with the new priority.
131
+ */
132
+ updateJobPriority(jobId: string, priority: number): Promise<void>;
133
+ /**
134
+ * Find jobs that are stuck in "active" status (worker terminated)
135
+ */
136
+ findStuckJobs(timeoutMs?: number): Promise<JobRecord[]>;
137
+ /**
138
+ * Reset a stuck job from "active" to "pending" status
139
+ */
140
+ resetStuckJob(jobId: string): Promise<void>;
141
+ /**
142
+ * Bulk reset multiple stuck jobs
143
+ */
144
+ resetStuckJobs(jobIds: string[]): Promise<{
145
+ reset: number;
146
+ failed: number;
147
+ }>;
148
+ /**
149
+ * Dispose of the queue connections
150
+ */
151
+ dispose(): void;
152
+ }
153
+ export default BullMQJobQueue;
154
+ //# sourceMappingURL=bullmq-adapter.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"bullmq-adapter.d.ts","sourceRoot":"","sources":["../../src/jobs/bullmq-adapter.ts"],"names":[],"mappings":"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"}