stratal 0.0.22 → 0.0.23

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 (270) hide show
  1. package/README.md +1 -1
  2. package/dist/bin/cloudflare-workers-loader.mjs +80 -7
  3. package/dist/bin/cloudflare-workers-loader.mjs.map +1 -1
  4. package/dist/bin/quarry.mjs +41 -54
  5. package/dist/bin/quarry.mjs.map +1 -1
  6. package/dist/cache/index.d.mts +5 -3
  7. package/dist/cache/index.d.mts.map +1 -1
  8. package/dist/cache/index.mjs +123 -39
  9. package/dist/cache/index.mjs.map +1 -1
  10. package/dist/{cache.service-e34gV6tz.d.mts → cache.service-uElmBtdS.d.mts} +24 -34
  11. package/dist/cache.service-uElmBtdS.d.mts.map +1 -0
  12. package/dist/{command-BU4ApTo5.mjs → command-BvmUAPPQ.mjs} +15 -3
  13. package/dist/command-BvmUAPPQ.mjs.map +1 -0
  14. package/dist/{command-wXfvHbBZ.d.mts → command-CPhFHjG3.d.mts} +2 -2
  15. package/dist/command-CPhFHjG3.d.mts.map +1 -0
  16. package/dist/command-not-found.error-ONAZ2Bpk.mjs +14 -0
  17. package/dist/command-not-found.error-ONAZ2Bpk.mjs.map +1 -0
  18. package/dist/config/index.d.mts +3 -3
  19. package/dist/config/index.d.mts.map +1 -1
  20. package/dist/config/index.mjs +7 -6
  21. package/dist/config/index.mjs.map +1 -1
  22. package/dist/{consumer-registry-DHQtypr1.d.mts → consumer-registry-D3iMTSdy.d.mts} +54 -22
  23. package/dist/consumer-registry-D3iMTSdy.d.mts.map +1 -0
  24. package/dist/{container-storage-GpNNz79X.mjs → container-storage-BmOJ4_Na.mjs} +1 -1
  25. package/dist/{container-storage-GpNNz79X.mjs.map → container-storage-BmOJ4_Na.mjs.map} +1 -1
  26. package/dist/{controller.decorator-DIUazNU7.mjs → controller.decorator-C5UVeJS3.mjs} +4 -4
  27. package/dist/{controller.decorator-DIUazNU7.mjs.map → controller.decorator-C5UVeJS3.mjs.map} +1 -1
  28. package/dist/cron/index.d.mts +79 -4
  29. package/dist/cron/index.d.mts.map +1 -1
  30. package/dist/cron/index.mjs +2 -2
  31. package/dist/cron-job-NesZRk8F.d.mts +58 -0
  32. package/dist/cron-job-NesZRk8F.d.mts.map +1 -0
  33. package/dist/{cron-manager-9bpN9bu4.mjs → cron.module-Bgzq5hiT.mjs} +17 -7
  34. package/dist/cron.module-Bgzq5hiT.mjs.map +1 -0
  35. package/dist/{decorate-HgTKAYK8.mjs → decorate-CuAoSZvs.mjs} +2 -2
  36. package/dist/{deep-merge-C8NgcXw4.mjs → deep-merge-ByiAOZ3r.mjs} +1 -1
  37. package/dist/{deep-merge-C8NgcXw4.mjs.map → deep-merge-ByiAOZ3r.mjs.map} +1 -1
  38. package/dist/di/index.d.mts +2 -2
  39. package/dist/di/index.mjs +3 -3
  40. package/dist/{di-BO1QIb5H.mjs → di-DseMn-z9.mjs} +244 -135
  41. package/dist/di-DseMn-z9.mjs.map +1 -0
  42. package/dist/email/index.d.mts +33 -40
  43. package/dist/email/index.d.mts.map +1 -1
  44. package/dist/email/index.mjs +456 -41
  45. package/dist/email/index.mjs.map +1 -1
  46. package/dist/{en-BPP6h6y5.mjs → en-CDZBMcc1.mjs} +2 -2
  47. package/dist/{en-BPP6h6y5.mjs.map → en-CDZBMcc1.mjs.map} +1 -1
  48. package/dist/{env-DKSbuBi5.d.mts → env-ug22bJj7.d.mts} +1 -1
  49. package/dist/env-ug22bJj7.d.mts.map +1 -0
  50. package/dist/errors/index.d.mts +1 -1
  51. package/dist/errors/index.mjs +3 -3
  52. package/dist/{errors-BBZTnjdq.mjs → errors-mXYxG0XB.mjs} +5 -5
  53. package/dist/{errors-BBZTnjdq.mjs.map → errors-mXYxG0XB.mjs.map} +1 -1
  54. package/dist/events/index.d.mts +14 -3
  55. package/dist/events/index.d.mts.map +1 -1
  56. package/dist/events/index.mjs +2 -2
  57. package/dist/{events-D1KdDaiP.mjs → events-BXJGZjpG.mjs} +16 -6
  58. package/dist/events-BXJGZjpG.mjs.map +1 -0
  59. package/dist/{exception-context-B4kM-M53.mjs → exception-context-kEoMFwze.mjs} +3 -3
  60. package/dist/{exception-context-B4kM-M53.mjs.map → exception-context-kEoMFwze.mjs.map} +1 -1
  61. package/dist/{gateway-context-CFe6a9gz.mjs → gateway-context-TMu_AlJt.mjs} +25 -6
  62. package/dist/{gateway-context-CFe6a9gz.mjs.map → gateway-context-TMu_AlJt.mjs.map} +1 -1
  63. package/dist/guards/index.d.mts +3 -3
  64. package/dist/guards/index.d.mts.map +1 -1
  65. package/dist/guards/index.mjs +1 -1
  66. package/dist/{guards-Ced-uNIF.mjs → guards-DALPXy3_.mjs} +2 -2
  67. package/dist/{guards-Ced-uNIF.mjs.map → guards-DALPXy3_.mjs.map} +1 -1
  68. package/dist/hono-app-CvV3hOfT.mjs +161 -0
  69. package/dist/hono-app-CvV3hOfT.mjs.map +1 -0
  70. package/dist/{http-method.decorator-CdjKFJZZ.mjs → http-method.decorator-ByWZb9DO.mjs} +4 -4
  71. package/dist/{http-method.decorator-CdjKFJZZ.mjs.map → http-method.decorator-ByWZb9DO.mjs.map} +1 -1
  72. package/dist/i18n/index.d.mts +4 -4
  73. package/dist/i18n/index.d.mts.map +1 -1
  74. package/dist/i18n/index.mjs +5 -5
  75. package/dist/i18n/index.mjs.map +1 -1
  76. package/dist/i18n/messages/en/index.d.mts +1 -1
  77. package/dist/i18n/messages/en/index.mjs +1 -1
  78. package/dist/i18n/utils/index.mjs +1 -1
  79. package/dist/i18n/validation/index.d.mts +3 -3
  80. package/dist/i18n/validation/index.mjs +3 -3
  81. package/dist/{i18n.module-BlXrtAlV.mjs → i18n.module-DRQAZoSZ.mjs} +14 -11
  82. package/dist/{i18n.module-BlXrtAlV.mjs.map → i18n.module-DRQAZoSZ.mjs.map} +1 -1
  83. package/dist/{i18n.tokens-hwRpmjRq.mjs → i18n.tokens-CZ_v8oyS.mjs} +1 -1
  84. package/dist/{i18n.tokens-hwRpmjRq.mjs.map → i18n.tokens-CZ_v8oyS.mjs.map} +1 -1
  85. package/dist/{index-B4UBK-2T.d.mts → index-0ItCjaqw.d.mts} +1 -1
  86. package/dist/index-0ItCjaqw.d.mts.map +1 -0
  87. package/dist/{index-CW1YHSft.d.mts → index-B5JBRcWD.d.mts} +249 -103
  88. package/dist/index-B5JBRcWD.d.mts.map +1 -0
  89. package/dist/{index-BtlE9RuO.d.mts → index-BUt92sAE.d.mts} +1 -1
  90. package/dist/index-BUt92sAE.d.mts.map +1 -0
  91. package/dist/{index-DEncMcC6.d.mts → index-B_JoEl3V.d.mts} +221 -16
  92. package/dist/index-B_JoEl3V.d.mts.map +1 -0
  93. package/dist/{index-Dj5IMwtr.d.mts → index-DtBNIFuP.d.mts} +4 -6
  94. package/dist/index-DtBNIFuP.d.mts.map +1 -0
  95. package/dist/{index-KMgSCSM7.d.mts → index-HgOLNruQ.d.mts} +1 -1
  96. package/dist/{index-KMgSCSM7.d.mts.map → index-HgOLNruQ.d.mts.map} +1 -1
  97. package/dist/index.d.mts +6 -5
  98. package/dist/index.mjs +3 -2
  99. package/dist/{is-command-CX5rAfZW.mjs → is-command-CEPO9n8c.mjs} +2 -2
  100. package/dist/{is-command-CX5rAfZW.mjs.map → is-command-CEPO9n8c.mjs.map} +1 -1
  101. package/dist/{is-seeder-CYCtELlm.mjs → is-seeder-Gvh_AM71.mjs} +1 -1
  102. package/dist/{is-seeder-CYCtELlm.mjs.map → is-seeder-Gvh_AM71.mjs.map} +1 -1
  103. package/dist/lazy-module-loader-Ib383jH_.d.mts +60 -0
  104. package/dist/lazy-module-loader-Ib383jH_.d.mts.map +1 -0
  105. package/dist/locale-path.service-D-dHiIPc.mjs +165 -0
  106. package/dist/locale-path.service-D-dHiIPc.mjs.map +1 -0
  107. package/dist/locale-url-nZrZxqJP.mjs +44 -0
  108. package/dist/locale-url-nZrZxqJP.mjs.map +1 -0
  109. package/dist/locale-url.service-C2EWmGdq.mjs +41 -0
  110. package/dist/locale-url.service-C2EWmGdq.mjs.map +1 -0
  111. package/dist/logger/index.d.mts +1 -1
  112. package/dist/logger/index.mjs +2 -2
  113. package/dist/logger/index.mjs.map +1 -1
  114. package/dist/macroable/index.d.mts +2 -2
  115. package/dist/macroable/index.mjs +1 -1
  116. package/dist/{macroable-DzlfzT50.mjs → macroable-cvDTFZ_A.mjs} +1 -1
  117. package/dist/{macroable-DzlfzT50.mjs.map → macroable-cvDTFZ_A.mjs.map} +1 -1
  118. package/dist/{metadata-BVkc4aUu.mjs → metadata-DzzprcID.mjs} +1 -1
  119. package/dist/{metadata-BVkc4aUu.mjs.map → metadata-DzzprcID.mjs.map} +1 -1
  120. package/dist/module/index.d.mts +4 -3
  121. package/dist/module/index.d.mts.map +1 -1
  122. package/dist/module/index.mjs +10 -2
  123. package/dist/module/index.mjs.map +1 -0
  124. package/dist/{module-xYoHba6B.mjs → module-registry-Dm-pqHd3.mjs} +189 -57
  125. package/dist/module-registry-Dm-pqHd3.mjs.map +1 -0
  126. package/dist/module.decorator-CYHY6pG5.mjs +19 -0
  127. package/dist/module.decorator-CYHY6pG5.mjs.map +1 -0
  128. package/dist/openapi/index.d.mts +44 -8
  129. package/dist/openapi/index.d.mts.map +1 -1
  130. package/dist/openapi/index.mjs +3 -2
  131. package/dist/{openapi-C6lm0RmV.mjs → openapi-CstuTM8S.mjs} +55 -229
  132. package/dist/openapi-CstuTM8S.mjs.map +1 -0
  133. package/dist/openapi-tools.service-BC5EC3R3.mjs +206 -0
  134. package/dist/openapi-tools.service-BC5EC3R3.mjs.map +1 -0
  135. package/dist/{openapi.service-CrLlsXAd.d.mts → openapi.service-YhTiJ1bO.d.mts} +3 -3
  136. package/dist/{openapi.service-CrLlsXAd.d.mts.map → openapi.service-YhTiJ1bO.d.mts.map} +1 -1
  137. package/dist/quarry/index.d.mts +14 -5
  138. package/dist/quarry/index.d.mts.map +1 -1
  139. package/dist/quarry/index.mjs +6 -5
  140. package/dist/quarry/runner.d.mts +11 -11
  141. package/dist/quarry/runner.d.mts.map +1 -1
  142. package/dist/quarry/runner.mjs +192 -22
  143. package/dist/quarry/runner.mjs.map +1 -1
  144. package/dist/{quarry-registry-D4hIGScf.d.mts → quarry-registry-CXg0RFXq.d.mts} +4 -4
  145. package/dist/quarry-registry-CXg0RFXq.d.mts.map +1 -0
  146. package/dist/{quarry-registry-DkraZNwn.mjs → quarry.module-BuRPGMDm.mjs} +22 -21
  147. package/dist/quarry.module-BuRPGMDm.mjs.map +1 -0
  148. package/dist/queue/index.d.mts +3 -3
  149. package/dist/queue/index.mjs +42 -31
  150. package/dist/queue/index.mjs.map +1 -1
  151. package/dist/queue.module-nddvxzCB.mjs +613 -0
  152. package/dist/queue.module-nddvxzCB.mjs.map +1 -0
  153. package/dist/queue.tokens-DjHnFmre.mjs +11 -0
  154. package/dist/queue.tokens-DjHnFmre.mjs.map +1 -0
  155. package/dist/{r2-storage.provider-Hfm6LdZQ.mjs → r2-storage.provider-DCxQt9dD.mjs} +4 -4
  156. package/dist/{r2-storage.provider-Hfm6LdZQ.mjs.map → r2-storage.provider-DCxQt9dD.mjs.map} +1 -1
  157. package/dist/{rate-limit.decorator-D69zdZbp.mjs → rate-limit.decorator-BPAie_p3.mjs} +3 -3
  158. package/dist/{rate-limit.decorator-D69zdZbp.mjs.map → rate-limit.decorator-BPAie_p3.mjs.map} +1 -1
  159. package/dist/rate-limiter/index.d.mts +5 -5
  160. package/dist/rate-limiter/index.d.mts.map +1 -1
  161. package/dist/rate-limiter/index.mjs +26 -21
  162. package/dist/rate-limiter/index.mjs.map +1 -1
  163. package/dist/route-name-DGoBOfPg.mjs +171 -0
  164. package/dist/route-name-DGoBOfPg.mjs.map +1 -0
  165. package/dist/route-registration.service-D6vSwiKP.mjs +918 -0
  166. package/dist/route-registration.service-D6vSwiKP.mjs.map +1 -0
  167. package/dist/route-registry-CYqLp2Nj.mjs +123 -0
  168. package/dist/route-registry-CYqLp2Nj.mjs.map +1 -0
  169. package/dist/router/index.d.mts +2 -2
  170. package/dist/router/index.mjs +18 -8
  171. package/dist/router-CWGBD-Bg.mjs +78 -0
  172. package/dist/router-CWGBD-Bg.mjs.map +1 -0
  173. package/dist/router-resolver-D4YlPNlm.mjs +88 -0
  174. package/dist/router-resolver-D4YlPNlm.mjs.map +1 -0
  175. package/dist/seeder/index.d.mts +14 -4
  176. package/dist/seeder/index.d.mts.map +1 -1
  177. package/dist/seeder/index.mjs +5 -3
  178. package/dist/{seeder-BADTig4n.mjs → seeder-7ubkms-Y.mjs} +7 -56
  179. package/dist/seeder-7ubkms-Y.mjs.map +1 -0
  180. package/dist/seeder-registry-CyUmKsJq.mjs +57 -0
  181. package/dist/seeder-registry-CyUmKsJq.mjs.map +1 -0
  182. package/dist/seeder.module-CYYwk3Qk.mjs +15 -0
  183. package/dist/seeder.module-CYYwk3Qk.mjs.map +1 -0
  184. package/dist/{signed-url-BqUqt5dF.mjs → signed-url-DIU0sK_6.mjs} +1 -1
  185. package/dist/{signed-url-BqUqt5dF.mjs.map → signed-url-DIU0sK_6.mjs.map} +1 -1
  186. package/dist/storage/index.d.mts +3 -3
  187. package/dist/storage/index.d.mts.map +1 -1
  188. package/dist/storage/index.mjs +2 -2
  189. package/dist/storage/providers/index.d.mts +2 -2
  190. package/dist/storage/providers/index.d.mts.map +1 -1
  191. package/dist/storage/providers/index.mjs +1 -1
  192. package/dist/{storage-BA3ppVYM.mjs → storage-MDZypIE9.mjs} +12 -11
  193. package/dist/{storage-BA3ppVYM.mjs.map → storage-MDZypIE9.mjs.map} +1 -1
  194. package/dist/{storage-provider.interface-DQMtT42e.d.mts → storage-provider.interface-ClUwxz4S.d.mts} +2 -2
  195. package/dist/storage-provider.interface-ClUwxz4S.d.mts.map +1 -0
  196. package/dist/storage.error-Dnib4VHc.mjs +8 -0
  197. package/dist/{storage.error-C6FY037a.mjs.map → storage.error-Dnib4VHc.mjs.map} +1 -1
  198. package/dist/{stratal-Bdq4IdB3.mjs → stratal-DL9M38_s.mjs} +142 -140
  199. package/dist/stratal-DL9M38_s.mjs.map +1 -0
  200. package/dist/{stratal-BsKmvP6J.d.mts → stratal-DwDJPY9N.d.mts} +3 -3
  201. package/dist/{stratal-BsKmvP6J.d.mts.map → stratal-DwDJPY9N.d.mts.map} +1 -1
  202. package/dist/tiered-cache.service-Dv3BhxxE.d.mts +79 -0
  203. package/dist/tiered-cache.service-Dv3BhxxE.d.mts.map +1 -0
  204. package/dist/trailing-slash-CFyw8nYu.mjs +34 -0
  205. package/dist/trailing-slash-CFyw8nYu.mjs.map +1 -0
  206. package/dist/{types-BaeHi67f.d.mts → types-CmV_9xBD.d.mts} +1 -1
  207. package/dist/types-CmV_9xBD.d.mts.map +1 -0
  208. package/dist/uri-h7Q8Jug9.mjs +251 -0
  209. package/dist/uri-h7Q8Jug9.mjs.map +1 -0
  210. package/dist/{usage-generator-DTqaUMR9.mjs → usage-generator-DAWYasuP.mjs} +4 -4
  211. package/dist/usage-generator-DAWYasuP.mjs.map +1 -0
  212. package/dist/{validation-DUzcjb8Q.mjs → validation-CpOjviyT.mjs} +6 -6
  213. package/dist/{validation-DUzcjb8Q.mjs.map → validation-CpOjviyT.mjs.map} +1 -1
  214. package/dist/{validation.context-XTysWJ3b.mjs → validation.context-CRvmrhq7.mjs} +3 -3
  215. package/dist/{validation.context-XTysWJ3b.mjs.map → validation.context-CRvmrhq7.mjs.map} +1 -1
  216. package/dist/versioning.service-C6aHky8-.mjs +36 -0
  217. package/dist/versioning.service-C6aHky8-.mjs.map +1 -0
  218. package/dist/websocket/index.d.mts +11 -2
  219. package/dist/websocket/index.d.mts.map +1 -1
  220. package/dist/websocket/index.mjs +1 -1
  221. package/dist/workers/index.d.mts +2 -2
  222. package/dist/workers/index.d.mts.map +1 -1
  223. package/dist/workers/index.mjs +3 -3
  224. package/dist/workers/index.mjs.map +1 -1
  225. package/dist/{zod-hMa3rSHV.mjs → zod-eKqqhZ5_.mjs} +2 -2
  226. package/dist/{zod-hMa3rSHV.mjs.map → zod-eKqqhZ5_.mjs.map} +1 -1
  227. package/dist/{zod-DvWTfRpI.d.mts → zod-wecrEVAs.d.mts} +8 -3
  228. package/dist/zod-wecrEVAs.d.mts.map +1 -0
  229. package/package.json +19 -30
  230. package/dist/base-email.provider-BWZHIjt8.mjs +0 -42
  231. package/dist/base-email.provider-BWZHIjt8.mjs.map +0 -1
  232. package/dist/cache.service-e34gV6tz.d.mts.map +0 -1
  233. package/dist/cache.tokens-ovi_c52J.mjs +0 -6
  234. package/dist/cache.tokens-ovi_c52J.mjs.map +0 -1
  235. package/dist/colors-axmupKdp.mjs +0 -16
  236. package/dist/colors-axmupKdp.mjs.map +0 -1
  237. package/dist/command-BU4ApTo5.mjs.map +0 -1
  238. package/dist/command-wXfvHbBZ.d.mts.map +0 -1
  239. package/dist/consumer-registry-DHQtypr1.d.mts.map +0 -1
  240. package/dist/cron-manager-9bpN9bu4.mjs.map +0 -1
  241. package/dist/cron-manager-CSTIBPcM.d.mts +0 -124
  242. package/dist/cron-manager-CSTIBPcM.d.mts.map +0 -1
  243. package/dist/di-BO1QIb5H.mjs.map +0 -1
  244. package/dist/env-DKSbuBi5.d.mts.map +0 -1
  245. package/dist/events-D1KdDaiP.mjs.map +0 -1
  246. package/dist/index-B4UBK-2T.d.mts.map +0 -1
  247. package/dist/index-BtlE9RuO.d.mts.map +0 -1
  248. package/dist/index-CW1YHSft.d.mts.map +0 -1
  249. package/dist/index-DEncMcC6.d.mts.map +0 -1
  250. package/dist/index-Dj5IMwtr.d.mts.map +0 -1
  251. package/dist/module-xYoHba6B.mjs.map +0 -1
  252. package/dist/openapi-C6lm0RmV.mjs.map +0 -1
  253. package/dist/quarry-registry-D4hIGScf.d.mts.map +0 -1
  254. package/dist/quarry-registry-DkraZNwn.mjs.map +0 -1
  255. package/dist/queue.module-DeWJ0tQM.mjs +0 -355
  256. package/dist/queue.module-DeWJ0tQM.mjs.map +0 -1
  257. package/dist/resend.provider-Ur6tU7fK.mjs +0 -68
  258. package/dist/resend.provider-Ur6tU7fK.mjs.map +0 -1
  259. package/dist/router-Cy6DjkvP.mjs +0 -1852
  260. package/dist/router-Cy6DjkvP.mjs.map +0 -1
  261. package/dist/seeder-BADTig4n.mjs.map +0 -1
  262. package/dist/smtp.provider-C129sNBT.mjs +0 -76
  263. package/dist/smtp.provider-C129sNBT.mjs.map +0 -1
  264. package/dist/storage-provider.interface-DQMtT42e.d.mts.map +0 -1
  265. package/dist/storage.error-C6FY037a.mjs +0 -8
  266. package/dist/stratal-Bdq4IdB3.mjs.map +0 -1
  267. package/dist/types-BaeHi67f.d.mts.map +0 -1
  268. package/dist/usage-generator-DTqaUMR9.mjs.map +0 -1
  269. package/dist/zod-DvWTfRpI.d.mts.map +0 -1
  270. /package/dist/{chunk-D1SwGrFN.mjs → chunk-BBjsoOtd.mjs} +0 -0
@@ -1,7 +1,7 @@
1
- import { _n as CommandResult, bn as ParsedSignature, hn as CommandInput, vn as ParsedArgument, xn as Quarry, yn as ParsedOption } from "../index-DEncMcC6.mjs";
2
- import { t as Constructor } from "../types-BaeHi67f.mjs";
3
- import { t as Command } from "../command-wXfvHbBZ.mjs";
4
- import { t as QuarryRegistry } from "../quarry-registry-D4hIGScf.mjs";
1
+ import { Cn as ParsedArgument, En as Quarry, Sn as CommandResult, Tn as ParsedSignature, bn as CommandInput, wn as ParsedOption } from "../index-B_JoEl3V.mjs";
2
+ import { t as Constructor } from "../types-CmV_9xBD.mjs";
3
+ import { t as Command } from "../command-CPhFHjG3.mjs";
4
+ import { t as QuarryRegistry } from "../quarry-registry-CXg0RFXq.mjs";
5
5
 
6
6
  //#region src/quarry/errors/command-not-found.error.d.ts
7
7
  /**
@@ -31,6 +31,15 @@ declare class CommandError extends Error {
31
31
  */
32
32
  declare function isCommand(target: Constructor): boolean;
33
33
  //#endregion
34
+ //#region src/quarry/quarry.module.d.ts
35
+ /**
36
+ * Registers the Quarry command registry (`DI_TOKENS.Quarry`).
37
+ *
38
+ * Eager: resolved synchronously at bootstrap (`registerCommands`) and by the
39
+ * CLI runner (`bin/quarry.ts`), so it cannot be lazily loaded.
40
+ */
41
+ declare class QuarryModule {}
42
+ //#endregion
34
43
  //#region src/quarry/signature-parser.d.ts
35
44
  /**
36
45
  * Parse a Laravel-style command signature string.
@@ -53,5 +62,5 @@ declare function parseSignature(signature: string): ParsedSignature;
53
62
  */
54
63
  declare function generateUsage(signature: ParsedSignature, description?: string): string;
55
64
  //#endregion
56
- export { Command, CommandError, type CommandInput, CommandNotFoundError, type CommandResult, type ParsedArgument, type ParsedOption, type ParsedSignature, type Quarry, QuarryRegistry, generateUsage, isCommand, parseSignature };
65
+ export { Command, CommandError, type CommandInput, CommandNotFoundError, type CommandResult, type ParsedArgument, type ParsedOption, type ParsedSignature, type Quarry, QuarryModule, QuarryRegistry, generateUsage, isCommand, parseSignature };
57
66
  //# sourceMappingURL=index.d.mts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.mts","names":[],"sources":["../../src/quarry/errors/command-not-found.error.ts","../../src/quarry/errors/command.error.ts","../../src/quarry/is-command.ts","../../src/quarry/signature-parser.ts","../../src/quarry/usage-generator.ts"],"mappings":";;;;;;;;;cAGa,oBAAA,SAA6B,KAAA;cAC5B,IAAA;AAAA;;;;;;;;;AADd;cCIa,YAAA,SAAqB,KAAA;cACpB,OAAA;AAAA;;;;;;;;iBCAE,SAAA,CAAU,MAAA,EAAQ,WAAA;;;;;;;;AFLlC;;;;;;iBGWgB,cAAA,CAAe,SAAA,WAAoB,eAAA;;;;;;;;iBCNnC,aAAA,CAAc,SAAA,EAAW,eAAA,EAAiB,WAAA"}
1
+ {"version":3,"file":"index.d.mts","names":[],"sources":["../../src/quarry/errors/command-not-found.error.ts","../../src/quarry/errors/command.error.ts","../../src/quarry/is-command.ts","../../src/quarry/quarry.module.ts","../../src/quarry/signature-parser.ts","../../src/quarry/usage-generator.ts"],"mappings":";;;;;;;;;cAGa,oBAAA,SAA6B,KAAK;cACjC,IAAA;AAAA;;;;;;;;;AADd;cCIa,YAAA,SAAqB,KAAK;cACzB,OAAA;AAAA;;;;;;;;iBCAE,SAAA,CAAU,MAAmB,EAAX,WAAW;;;;;;;;;cCOhC,YAAA;;;;;;;;AHZb;;;;;;iBIWgB,cAAA,CAAe,SAAA,WAAoB,eAAe;;;;;;;;iBCNlD,aAAA,CAAc,SAAA,EAAW,eAAe,EAAE,WAAA"}
@@ -1,5 +1,6 @@
1
- import { n as CommandError, t as Command } from "../command-BU4ApTo5.mjs";
2
- import { t as isCommand } from "../is-command-CX5rAfZW.mjs";
3
- import { n as parseSignature, r as CommandNotFoundError, t as QuarryRegistry } from "../quarry-registry-DkraZNwn.mjs";
4
- import { t as generateUsage } from "../usage-generator-DTqaUMR9.mjs";
5
- export { Command, CommandError, CommandNotFoundError, QuarryRegistry, generateUsage, isCommand, parseSignature };
1
+ import { n as CommandError, t as Command } from "../command-BvmUAPPQ.mjs";
2
+ import { t as isCommand } from "../is-command-CEPO9n8c.mjs";
3
+ import { t as CommandNotFoundError } from "../command-not-found.error-ONAZ2Bpk.mjs";
4
+ import { i as parseSignature, r as QuarryRegistry, t as QuarryModule } from "../quarry.module-BuRPGMDm.mjs";
5
+ import { t as generateUsage } from "../usage-generator-DAWYasuP.mjs";
6
+ export { Command, CommandError, CommandNotFoundError, QuarryModule, QuarryRegistry, generateUsage, isCommand, parseSignature };
@@ -1,11 +1,11 @@
1
- import { an as ModuleRegistry, ct as Application, d as ExceptionHandler, ln as LocalePathService, rn as RouteRegistry } from "../index-DEncMcC6.mjs";
2
- import { t as Constructor } from "../types-BaeHi67f.mjs";
3
- import { t as CronManager } from "../cron-manager-CSTIBPcM.mjs";
4
- import { t as ConsumerRegistry } from "../consumer-registry-DHQtypr1.mjs";
5
- import { t as Stratal } from "../stratal-BsKmvP6J.mjs";
6
- import { t as OpenAPIService } from "../openapi.service-CrLlsXAd.mjs";
7
- import { t as Command } from "../command-wXfvHbBZ.mjs";
8
- import { t as QuarryRegistry } from "../quarry-registry-D4hIGScf.mjs";
1
+ import { ct as Application, d as ExceptionHandler, ln as ModuleRegistry, mn as LocalePathService, sn as RouteRegistry } from "../index-B_JoEl3V.mjs";
2
+ import { t as Constructor } from "../types-CmV_9xBD.mjs";
3
+ import { n as ConsumerRegistry } from "../consumer-registry-D3iMTSdy.mjs";
4
+ import { t as Stratal } from "../stratal-DwDJPY9N.mjs";
5
+ import { t as LazyModuleLoader } from "../lazy-module-loader-Ib383jH_.mjs";
6
+ import { t as OpenAPIService } from "../openapi.service-YhTiJ1bO.mjs";
7
+ import { t as Command } from "../command-CPhFHjG3.mjs";
8
+ import { t as QuarryRegistry } from "../quarry-registry-CXg0RFXq.mjs";
9
9
 
10
10
  //#region src/quarry/builtin-quarry.module.d.ts
11
11
  /**
@@ -131,11 +131,11 @@ declare class RouteTypesCommand extends Command {
131
131
  //#endregion
132
132
  //#region src/quarry/commands/schedule-list.command.d.ts
133
133
  declare class ScheduleListCommand extends Command {
134
- private cron;
134
+ private loader;
135
135
  static command: string;
136
136
  static description: string;
137
- constructor(cron: CronManager);
138
- handle(): number | undefined;
137
+ constructor(loader: LazyModuleLoader);
138
+ handle(): Promise<number | void>;
139
139
  }
140
140
  //#endregion
141
141
  //#region src/quarry/quarry-runner.d.ts
@@ -1 +1 @@
1
- {"version":3,"file":"runner.d.mts","names":[],"sources":["../../src/quarry/builtin-quarry.module.ts","../../src/quarry/commands/api.command.ts","../../src/quarry/commands/event-list.command.ts","../../src/quarry/commands/help.command.ts","../../src/quarry/commands/mcp-serve.command.ts","../../src/quarry/commands/mcp-tools.command.ts","../../src/quarry/commands/queue-list.command.ts","../../src/quarry/commands/route-list.command.ts","../../src/quarry/commands/route-types.command.ts","../../src/quarry/commands/schedule-list.command.ts","../../src/quarry/quarry-runner.ts"],"mappings":";;;;;;;;;;;;;;;;;;;cAgDa,mBAAA;;;cC1CA,UAAA,SAAmB,OAAA;EAAA,QAKqB,GAAA;EAAA,OAJ5C,OAAA;EAAA,OACA,WAAA;EAAA,OACA,OAAA;cAE4C,GAAA,EAAK,WAAA;EAIlD,MAAA,CAAA,GAAU,OAAA;EAAA,QAUF,SAAA;AAAA;;;cCnBH,gBAAA,SAAyB,OAAA;EAAA,QAIkB,OAAA;EAAA,OAH/C,OAAA;EAAA,OACA,WAAA;cAE+C,OAAA,EAAS,cAAA;EAI/D,MAAA,CAAA;AAAA;;;cCRW,WAAA,SAAoB,OAAA;EAAA,QAKe,cAAA;EAAA,OAJvC,OAAA;EAAA,OACA,WAAA;EAAA,OACA,OAAA;cAEuC,cAAA,EAAgB,cAAA;EAIxD,MAAA,CAAA,GAAU,OAAA;AAAA;;;cCJL,eAAA,SAAwB,OAAA;EAAA,QAKM,GAAA;EAAA,QACQ,cAAA;EAAA,OAL1C,OAAA;EAAA,OACA,WAAA;cAGkC,GAAA,EAAK,WAAA,EACG,cAAA,EAAgB,cAAA;EAK3D,MAAA,CAAA,GAAU,OAAA;AAAA;;;cCdL,eAAA,SAAwB,OAAA;EAAA,QAKM,GAAA;EAAA,QACQ,cAAA;EAAA,OAL1C,OAAA;EAAA,OACA,WAAA;cAGkC,GAAA,EAAK,WAAA,EACG,cAAA,EAAgB,cAAA;EAK3D,MAAA,CAAA,GAAU,OAAA;AAAA;;;cCdL,gBAAA,SAAyB,OAAA;EAAA,QAIoB,SAAA;EAAA,OAHjD,OAAA;EAAA,OACA,WAAA;cAEiD,SAAA,EAAW,gBAAA;EAInE,MAAA,CAAA;AAAA;;;;;;;;;;;ANcF;;;;;;;cOPa,gBAAA,SAAyB,OAAA;EAAA,QAIqB,QAAA;EAAA,OAHlD,OAAA;EAAA,OACA,WAAA;cAEkD,QAAA,EAAU,aAAA;EAInE,MAAA,CAAA;EAAA,QAsCQ,SAAA;AAAA;;;;;;;;;;APvCV;;;;;cQPa,iBAAA,SAA0B,OAAA;EAAA,QAKU,QAAA;EAAA,QACI,iBAAA;EAAA,OAL5C,OAAA;EAAA,OACA,WAAA;cAGwC,QAAA,EAAU,aAAA,EACN,iBAAA,EAAmB,iBAAA;EAKtE,MAAA,CAAA;EPhBgB;;;EAAA,QOmCR,mBAAA;AAAA;;;cC7CG,mBAAA,SAA4B,OAAA;EAAA,QAIK,IAAA;EAAA,OAHrC,OAAA;EAAA,OACA,WAAA;cAEqC,IAAA,EAAM,WAAA;EAIlD,MAAA,CAAA;AAAA;;;UCNe,gBAAA;;;;;;;AVoBjB;;EUXE,OAAA,EAAS,WAAA;EVgCqB;;;;;AC1ChC;ESiBE,SAAA,GAAY,WAAA;;EAEZ,gBAAA,GAAmB,WAAA,CAAY,gBAAA;AAAA;;;;;;;;;;;;;;;;;;cAoBpB,YAAA;EAAA,OACJ,GAAA,CAAI,OAAA,EAAS,gBAAA,GAAmB,OAAA;AAAA"}
1
+ {"version":3,"file":"runner.d.mts","names":[],"sources":["../../src/quarry/builtin-quarry.module.ts","../../src/quarry/commands/api.command.ts","../../src/quarry/commands/event-list.command.ts","../../src/quarry/commands/help.command.ts","../../src/quarry/commands/mcp-serve.command.ts","../../src/quarry/commands/mcp-tools.command.ts","../../src/quarry/commands/queue-list.command.ts","../../src/quarry/commands/route-list.command.ts","../../src/quarry/commands/route-types.command.ts","../../src/quarry/commands/schedule-list.command.ts","../../src/quarry/quarry-runner.ts"],"mappings":";;;;;;;;;;;;;;;;;;;cAsDa,mBAAA;;;cChDA,UAAA,SAAmB,OAAA;EAAA,QAKqB,GAAA;EAAA,OAJ5C,OAAA;EAAA,OACA,WAAA;EAAA,OACA,OAAA;cAE4C,GAAA,EAAK,WAAA;EAIlD,MAAA,IAAU,OAAA;EAAA,QAUF,SAAA;AAAA;;;cCnBH,gBAAA,SAAyB,OAAO;EAAA,QAIW,OAAA;EAAA,OAH/C,OAAA;EAAA,OACA,WAAA;cAE+C,OAAA,EAAS,cAAA;EAI/D,MAAA;AAAA;;;cCRW,WAAA,SAAoB,OAAA;EAAA,QAKe,cAAA;EAAA,OAJvC,OAAA;EAAA,OACA,WAAA;EAAA,OACA,OAAA;cAEuC,cAAA,EAAgB,cAAA;EAIxD,MAAA,IAAU,OAAA;AAAA;;;cCJL,eAAA,SAAwB,OAAA;EAAA,QAKM,GAAA;EAAA,QACQ,cAAA;EAAA,OAL1C,OAAA;EAAA,OACA,WAAA;cAGkC,GAAA,EAAK,WAAA,EACG,cAAA,EAAgB,cAAA;EAK3D,MAAA,IAAU,OAAA;AAAA;;;cCdL,eAAA,SAAwB,OAAA;EAAA,QAKM,GAAA;EAAA,QACQ,cAAA;EAAA,OAL1C,OAAA;EAAA,OACA,WAAA;cAGkC,GAAA,EAAK,WAAA,EACG,cAAA,EAAgB,cAAA;EAK3D,MAAA,IAAU,OAAA;AAAA;;;cCdL,gBAAA,SAAyB,OAAO;EAAA,QAIa,SAAA;EAAA,OAHjD,OAAA;EAAA,OACA,WAAA;cAEiD,SAAA,EAAW,gBAAA;EAInE,MAAA;AAAA;;;;;;;;;;;ANiBF;;;;AAwBgC;;;cOlCnB,gBAAA,SAAyB,OAAO;EAAA,QAIc,QAAA;EAAA,OAHlD,OAAA;EAAA,OACA,WAAA;cAEkD,QAAA,EAAU,aAAA;EAInE,MAAA;EAAA,QAsCQ,SAAA;AAAA;;;;;;;;;;APpCV;;;;AAwBgC;cQlCnB,iBAAA,SAA0B,OAAA;EAAA,QAKU,QAAA;EAAA,QACI,iBAAA;EAAA,OAL5C,OAAA;EAAA,OACA,WAAA;cAGwC,QAAA,EAAU,aAAA,EACN,iBAAA,EAAmB,iBAAA;EAKtE,MAAA;EPhBgB;;;EAAA,QOmCR,mBAAA;AAAA;;;cC5CG,mBAAA,SAA4B,OAAA;EAAA,QAIiB,MAAA;EAAA,OAHjD,OAAA;EAAA,OACA,WAAA;cAEiD,MAAA,EAAQ,gBAAA;EAI1D,MAAA,IAAU,OAAA;AAAA;;;UCPD,gBAAA;;;;;;;AVuBjB;;EUdE,OAAA,EAAS,WAAA;EVsCqB;AAAA;;;;AChDhC;ESiBE,SAAA,GAAY,WAAA;;EAEZ,gBAAA,GAAmB,WAAA,CAAY,gBAAA;AAAA;;;;;;;;;;;;;;;;ATAR;;cSoBZ,YAAA;EAAA,OACJ,GAAA,CAAI,OAAA,EAAS,gBAAA,GAAmB,OAAO;AAAA"}
@@ -1,15 +1,15 @@
1
- import { c as DI_TOKENS, m as inject, o as ROUTER_TOKENS } from "../di-BO1QIb5H.mjs";
2
- import { n as __decorateParam, t as __decorate } from "../decorate-HgTKAYK8.mjs";
1
+ import { d as inject, r as DI_TOKENS, v as ROUTER_TOKENS } from "../di-DseMn-z9.mjs";
2
+ import { n as __decorateParam, t as __decorate } from "../decorate-CuAoSZvs.mjs";
3
3
  import "../logger/index.mjs";
4
- import { f as Module } from "../module-xYoHba6B.mjs";
5
- import { r as getListenerHandlers } from "../events-D1KdDaiP.mjs";
6
- import { a as green, n as cyan, o as red, s as yellow, t as bold } from "../colors-axmupKdp.mjs";
7
- import { t as Command } from "../command-BU4ApTo5.mjs";
8
- import { t as I18N_TOKENS } from "../i18n.tokens-hwRpmjRq.mjs";
9
- import { a as OPENAPI_TOKENS, t as OpenApiToolsService } from "../openapi-C6lm0RmV.mjs";
10
- import { r as CommandNotFoundError } from "../quarry-registry-DkraZNwn.mjs";
11
- import { t as Stratal } from "../stratal-Bdq4IdB3.mjs";
12
- import { n as DbSeedListCommand, t as DbSeedCommand } from "../seeder-BADTig4n.mjs";
4
+ import { a as getListenerHandlers } from "../events-BXJGZjpG.mjs";
5
+ import { n as Module } from "../module.decorator-CYHY6pG5.mjs";
6
+ import { a as cyan, c as green, i as bold, l as red, t as Command, u as yellow } from "../command-BvmUAPPQ.mjs";
7
+ import { t as Stratal } from "../stratal-DL9M38_s.mjs";
8
+ import { t as QUEUE_TOKENS } from "../queue.tokens-DjHnFmre.mjs";
9
+ import { t as I18N_TOKENS } from "../i18n.tokens-CZ_v8oyS.mjs";
10
+ import { n as OPENAPI_TOKENS, t as OpenApiToolsService } from "../openapi-tools.service-BC5EC3R3.mjs";
11
+ import { t as CommandNotFoundError } from "../command-not-found.error-ONAZ2Bpk.mjs";
12
+ import { n as DbSeedListCommand, t as DbSeedCommand } from "../seeder-7ubkms-Y.mjs";
13
13
  import { z } from "zod";
14
14
  import { writeFileSync } from "node:fs";
15
15
  import { resolve } from "node:path";
@@ -490,7 +490,7 @@ let McpServeCommand = class McpServeCommand extends Command {
490
490
  pathPrefix: pathPrefix || void 0
491
491
  };
492
492
  const tools = service.getTools(filter);
493
- const config = this.app.container.resolve(OPENAPI_TOKENS.ConfigService).getEffectiveConfig();
493
+ const config = this.app.container.resolve(OPENAPI_TOKENS.ConfigStore).getBaseConfig();
494
494
  const server = new McpServer({
495
495
  name: config.info.title,
496
496
  version: config.info.version
@@ -569,6 +569,61 @@ let McpToolsCommand = class McpToolsCommand extends Command {
569
569
  };
570
570
  McpToolsCommand = __decorate([__decorateParam(0, inject(DI_TOKENS.Application)), __decorateParam(1, inject(OPENAPI_TOKENS.OpenAPIService))], McpToolsCommand);
571
571
  //#endregion
572
+ //#region src/quarry/commands/queue-failed.command.ts
573
+ let QueueFailedCommand = class QueueFailedCommand extends Command {
574
+ store;
575
+ static command = "queue:failed {--queue= : Filter by queue name} {--limit= : Max results (default 50)}";
576
+ static description = "List failed queue jobs";
577
+ constructor(store) {
578
+ super();
579
+ this.store = store;
580
+ }
581
+ async handle() {
582
+ const queueFilter = this.string("queue");
583
+ const limit = this.number("limit") || 50;
584
+ const filtered = [];
585
+ let cursor;
586
+ let more = false;
587
+ do {
588
+ const result = await this.store.listFailedJobs({
589
+ cursor,
590
+ limit
591
+ });
592
+ cursor = result.cursor;
593
+ for (const key of result.keys) {
594
+ if (queueFilter && key.metadata.queue !== queueFilter) continue;
595
+ if (filtered.length >= limit) {
596
+ more = true;
597
+ break;
598
+ }
599
+ filtered.push(key);
600
+ }
601
+ } while (cursor && filtered.length < limit);
602
+ if (cursor) more = true;
603
+ if (filtered.length === 0) {
604
+ this.info("No failed jobs found");
605
+ return 0;
606
+ }
607
+ this.table([
608
+ "ID",
609
+ "Queue",
610
+ "Type",
611
+ "Consumer",
612
+ "Attempts",
613
+ "Failed At"
614
+ ], filtered.map((k) => [
615
+ k.id,
616
+ k.metadata.queue,
617
+ k.metadata.type,
618
+ k.metadata.consumer,
619
+ String(k.metadata.attempts),
620
+ k.metadata.failedAt
621
+ ]));
622
+ if (more) this.comment(`Showing first ${limit} results. More jobs available.`);
623
+ }
624
+ };
625
+ QueueFailedCommand = __decorate([__decorateParam(0, inject(QUEUE_TOKENS.QueueStore))], QueueFailedCommand);
626
+ //#endregion
572
627
  //#region src/quarry/commands/queue-list.command.ts
573
628
  let QueueListCommand = class QueueListCommand extends Command {
574
629
  consumers;
@@ -579,16 +634,127 @@ let QueueListCommand = class QueueListCommand extends Command {
579
634
  this.consumers = consumers;
580
635
  }
581
636
  handle() {
582
- const consumers = this.consumers.getAllConsumers();
583
- if (consumers.length === 0) {
637
+ const registrations = this.consumers.getRegistrations();
638
+ if (registrations.length === 0) {
584
639
  this.info("No queue consumers found");
585
640
  return 0;
586
641
  }
587
- this.table(["Consumer", "Message Types"], consumers.map((c) => [c.constructor.name, c.messageTypes.join(", ")]));
642
+ this.table(["Consumer", "Message Types"], registrations.map((r) => [r.consumerClass.name, r.messageTypes.join(", ")]));
588
643
  }
589
644
  };
590
645
  QueueListCommand = __decorate([__decorateParam(0, inject(DI_TOKENS.ConsumerRegistry))], QueueListCommand);
591
646
  //#endregion
647
+ //#region src/quarry/commands/queue-purge.command.ts
648
+ let QueuePurgeCommand = class QueuePurgeCommand extends Command {
649
+ store;
650
+ static command = "queue:purge {id? : Message ID to purge} {--all : Purge all failed jobs} {--queue= : Filter by queue name}";
651
+ static description = "Delete failed queue jobs without retrying";
652
+ constructor(store) {
653
+ super();
654
+ this.store = store;
655
+ }
656
+ async handle() {
657
+ const id = this.string("id");
658
+ const all = this.boolean("all");
659
+ const queueFilter = this.string("queue");
660
+ if (!id && !all) {
661
+ this.fail("Provide a message ID or use --all");
662
+ return 1;
663
+ }
664
+ if (id) {
665
+ await this.store.removeFailedJob(id);
666
+ this.success(`Purged job ${id}`);
667
+ return;
668
+ }
669
+ if (queueFilter) {
670
+ const ids = [];
671
+ let cursor;
672
+ do {
673
+ const result = await this.store.listFailedJobs({
674
+ cursor,
675
+ limit: 100
676
+ });
677
+ cursor = result.cursor;
678
+ for (const key of result.keys) {
679
+ if (key.metadata.queue !== queueFilter) continue;
680
+ ids.push(key.id);
681
+ }
682
+ } while (cursor);
683
+ for (const id of ids) await this.store.removeFailedJob(id);
684
+ this.success(`Purged ${ids.length} job(s) from queue "${queueFilter}"`);
685
+ } else {
686
+ await this.store.purgeFailedJobs();
687
+ this.success("Purged all failed jobs");
688
+ }
689
+ }
690
+ };
691
+ QueuePurgeCommand = __decorate([__decorateParam(0, inject(QUEUE_TOKENS.QueueStore))], QueuePurgeCommand);
692
+ //#endregion
693
+ //#region src/quarry/commands/queue-retry.command.ts
694
+ let QueueRetryCommand = class QueueRetryCommand extends Command {
695
+ store;
696
+ static command = "queue:retry {id? : Message ID to retry} {--all : Retry all failed jobs} {--queue= : Filter by queue name}";
697
+ static description = "Retry failed queue jobs";
698
+ provider;
699
+ constructor(store, factory) {
700
+ super();
701
+ this.store = store;
702
+ this.provider = factory.create();
703
+ }
704
+ async handle() {
705
+ const id = this.string("id");
706
+ const all = this.boolean("all");
707
+ const queueFilter = this.string("queue");
708
+ if (!id && !all) {
709
+ this.fail("Provide a message ID or use --all");
710
+ return 1;
711
+ }
712
+ if (id) return this.retryOne(id);
713
+ return this.retryAll(queueFilter);
714
+ }
715
+ async retryOne(id) {
716
+ const job = await this.store.getFailedJob(id);
717
+ if (!job) {
718
+ this.fail(`Failed job "${id}" not found`);
719
+ return 1;
720
+ }
721
+ await this.provider.send(job.binding, {
722
+ ...job.message,
723
+ id: crypto.randomUUID()
724
+ });
725
+ await this.store.removeFailedJob(id);
726
+ this.success(`Retried job ${id}`);
727
+ }
728
+ async retryAll(queueFilter) {
729
+ const ids = [];
730
+ let cursor;
731
+ do {
732
+ const result = await this.store.listFailedJobs({
733
+ cursor,
734
+ limit: 100
735
+ });
736
+ cursor = result.cursor;
737
+ for (const key of result.keys) {
738
+ if (queueFilter && key.metadata.queue !== queueFilter) continue;
739
+ ids.push(key.id);
740
+ }
741
+ } while (cursor);
742
+ let count = 0;
743
+ for (const id of ids) {
744
+ const job = await this.store.getFailedJob(id);
745
+ if (!job) continue;
746
+ await this.provider.send(job.binding, {
747
+ ...job.message,
748
+ id: crypto.randomUUID()
749
+ });
750
+ await this.store.removeFailedJob(id);
751
+ count++;
752
+ }
753
+ this.success(`Retried ${count} job(s)`);
754
+ }
755
+ };
756
+ QueueRetryCommand = __decorate([__decorateParam(0, inject(QUEUE_TOKENS.QueueStore)), __decorateParam(1, inject(QUEUE_TOKENS.QueueProviderFactory))], QueueRetryCommand);
757
+ //#endregion
592
758
  //#region src/quarry/commands/route-list.command.ts
593
759
  let RouteListCommand = class RouteListCommand extends Command {
594
760
  registry;
@@ -689,28 +855,29 @@ RouteTypesCommand = __decorate([__decorateParam(0, inject(ROUTER_TOKENS.RouteReg
689
855
  //#endregion
690
856
  //#region src/quarry/commands/schedule-list.command.ts
691
857
  let ScheduleListCommand = class ScheduleListCommand extends Command {
692
- cron;
858
+ loader;
693
859
  static command = "schedule:list";
694
860
  static description = "List all registered cron jobs";
695
- constructor(cron) {
861
+ constructor(loader) {
696
862
  super();
697
- this.cron = cron;
863
+ this.loader = loader;
698
864
  }
699
- handle() {
700
- const schedules = this.cron.getAllSchedules();
865
+ async handle() {
866
+ const cron = (await this.loader.load(() => import("../cron.module-Bgzq5hiT.mjs").then((n) => n.n).then((m) => m.CronModule))).get(DI_TOKENS.Cron);
867
+ const schedules = cron.getAllSchedules();
701
868
  if (schedules.length === 0) {
702
869
  this.info("No cron jobs found");
703
870
  return 0;
704
871
  }
705
872
  const rows = [];
706
873
  for (const schedule of schedules) {
707
- const jobs = this.cron.getJobsForSchedule(schedule);
874
+ const jobs = cron.getJobsForSchedule(schedule);
708
875
  for (const { jobClass } of jobs) rows.push([schedule, jobClass.name]);
709
876
  }
710
877
  this.table(["Schedule", "Job"], rows);
711
878
  }
712
879
  };
713
- ScheduleListCommand = __decorate([__decorateParam(0, inject(DI_TOKENS.Cron))], ScheduleListCommand);
880
+ ScheduleListCommand = __decorate([__decorateParam(0, inject(DI_TOKENS.LazyModuleLoader))], ScheduleListCommand);
714
881
  //#endregion
715
882
  //#region src/quarry/builtin-quarry.module.ts
716
883
  let BuiltinQuarryModule = class BuiltinQuarryModule {};
@@ -723,6 +890,9 @@ BuiltinQuarryModule = __decorate([Module({ providers: [
723
890
  EventListCommand,
724
891
  ScheduleListCommand,
725
892
  QueueListCommand,
893
+ QueueFailedCommand,
894
+ QueueRetryCommand,
895
+ QueuePurgeCommand,
726
896
  McpServeCommand,
727
897
  McpToolsCommand,
728
898
  ApiCommand,