@buenojs/bueno 0.8.10 → 0.8.11

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 (699) hide show
  1. package/dist/cache/index.d.ts +187 -0
  2. package/dist/cache/index.d.ts.map +1 -0
  3. package/dist/cache/index.js +595 -0
  4. package/dist/cache/index.js.map +1 -0
  5. package/dist/cli/bin.d.ts +8 -0
  6. package/dist/cli/bin.d.ts.map +1 -0
  7. package/dist/cli/bin.js +9 -9
  8. package/dist/cli/bin.js.map +1 -0
  9. package/dist/cli/commands/add-frontend.d.ts +7 -0
  10. package/dist/cli/commands/add-frontend.d.ts.map +1 -0
  11. package/dist/cli/commands/add-frontend.js +376 -0
  12. package/dist/cli/commands/add-frontend.js.map +1 -0
  13. package/dist/cli/commands/build.d.ts +7 -0
  14. package/dist/cli/commands/build.d.ts.map +1 -0
  15. package/dist/cli/commands/build.js +347 -0
  16. package/dist/cli/commands/build.js.map +1 -0
  17. package/dist/cli/commands/dev.d.ts +7 -0
  18. package/dist/cli/commands/dev.d.ts.map +1 -0
  19. package/dist/cli/commands/dev.js +205 -0
  20. package/dist/cli/commands/dev.js.map +1 -0
  21. package/dist/cli/commands/generate.d.ts +7 -0
  22. package/dist/cli/commands/generate.d.ts.map +1 -0
  23. package/dist/cli/commands/generate.js +491 -0
  24. package/dist/cli/commands/generate.js.map +1 -0
  25. package/dist/cli/commands/help.d.ts +7 -0
  26. package/dist/cli/commands/help.d.ts.map +1 -0
  27. package/dist/cli/commands/help.js +51 -0
  28. package/dist/cli/commands/help.js.map +1 -0
  29. package/dist/cli/commands/index.d.ts +59 -0
  30. package/dist/cli/commands/index.d.ts.map +1 -0
  31. package/dist/cli/commands/index.js +77 -0
  32. package/dist/cli/commands/index.js.map +1 -0
  33. package/dist/cli/commands/migration.d.ts +7 -0
  34. package/dist/cli/commands/migration.d.ts.map +1 -0
  35. package/dist/cli/commands/migration.js +295 -0
  36. package/dist/cli/commands/migration.js.map +1 -0
  37. package/dist/cli/commands/new.d.ts +7 -0
  38. package/dist/cli/commands/new.d.ts.map +1 -0
  39. package/dist/cli/commands/new.js +641 -0
  40. package/dist/cli/commands/new.js.map +1 -0
  41. package/dist/cli/commands/start.d.ts +7 -0
  42. package/dist/cli/commands/start.d.ts.map +1 -0
  43. package/dist/cli/commands/start.js +171 -0
  44. package/dist/cli/commands/start.js.map +1 -0
  45. package/dist/cli/core/args.d.ts +61 -0
  46. package/dist/cli/core/args.d.ts.map +1 -0
  47. package/dist/cli/core/args.js +224 -0
  48. package/dist/cli/core/args.js.map +1 -0
  49. package/dist/cli/core/console.d.ts +135 -0
  50. package/dist/cli/core/console.d.ts.map +1 -0
  51. package/dist/cli/core/console.js +268 -0
  52. package/dist/cli/core/console.js.map +1 -0
  53. package/dist/cli/core/index.d.ts +10 -0
  54. package/dist/cli/core/index.d.ts.map +1 -0
  55. package/dist/cli/core/index.js +10 -0
  56. package/dist/cli/core/index.js.map +1 -0
  57. package/dist/cli/core/prompt.d.ts +63 -0
  58. package/dist/cli/core/prompt.d.ts.map +1 -0
  59. package/dist/cli/core/prompt.js +338 -0
  60. package/dist/cli/core/prompt.js.map +1 -0
  61. package/dist/cli/core/spinner.d.ts +111 -0
  62. package/dist/cli/core/spinner.d.ts.map +1 -0
  63. package/dist/cli/core/spinner.js +208 -0
  64. package/dist/cli/core/spinner.js.map +1 -0
  65. package/dist/cli/index.d.ts +47 -0
  66. package/dist/cli/index.d.ts.map +1 -0
  67. package/dist/cli/index.js +127 -0
  68. package/dist/cli/index.js.map +1 -0
  69. package/dist/cli/templates/database/index.d.ts +24 -0
  70. package/dist/cli/templates/database/index.d.ts.map +1 -0
  71. package/dist/cli/templates/database/index.js +49 -0
  72. package/dist/cli/templates/database/index.js.map +1 -0
  73. package/dist/cli/templates/database/mysql.d.ts +6 -0
  74. package/dist/cli/templates/database/mysql.d.ts.map +1 -0
  75. package/dist/cli/templates/database/mysql.js +12 -0
  76. package/dist/cli/templates/database/mysql.js.map +1 -0
  77. package/dist/cli/templates/database/none.d.ts +8 -0
  78. package/dist/cli/templates/database/none.d.ts.map +1 -0
  79. package/dist/cli/templates/database/none.js +14 -0
  80. package/dist/cli/templates/database/none.js.map +1 -0
  81. package/dist/cli/templates/database/postgresql.d.ts +6 -0
  82. package/dist/cli/templates/database/postgresql.d.ts.map +1 -0
  83. package/dist/cli/templates/database/postgresql.js +12 -0
  84. package/dist/cli/templates/database/postgresql.js.map +1 -0
  85. package/dist/cli/templates/database/sqlite.d.ts +6 -0
  86. package/dist/cli/templates/database/sqlite.d.ts.map +1 -0
  87. package/dist/cli/templates/database/sqlite.js +12 -0
  88. package/dist/cli/templates/database/sqlite.js.map +1 -0
  89. package/dist/cli/templates/deploy.d.ts +41 -0
  90. package/dist/cli/templates/deploy.d.ts.map +1 -0
  91. package/dist/cli/templates/deploy.js +278 -0
  92. package/dist/cli/templates/deploy.js.map +1 -0
  93. package/dist/cli/templates/docker.d.ts +30 -0
  94. package/dist/cli/templates/docker.d.ts.map +1 -0
  95. package/dist/cli/templates/docker.js +298 -0
  96. package/dist/cli/templates/docker.js.map +1 -0
  97. package/dist/cli/templates/frontend/index.d.ts +25 -0
  98. package/dist/cli/templates/frontend/index.d.ts.map +1 -0
  99. package/dist/cli/templates/frontend/index.js +40 -0
  100. package/dist/cli/templates/frontend/index.js.map +1 -0
  101. package/dist/cli/templates/frontend/none.d.ts +8 -0
  102. package/dist/cli/templates/frontend/none.d.ts.map +1 -0
  103. package/dist/cli/templates/frontend/none.js +15 -0
  104. package/dist/cli/templates/frontend/none.js.map +1 -0
  105. package/dist/cli/templates/frontend/react.d.ts +6 -0
  106. package/dist/cli/templates/frontend/react.d.ts.map +1 -0
  107. package/dist/cli/templates/frontend/react.js +139 -0
  108. package/dist/cli/templates/frontend/react.js.map +1 -0
  109. package/dist/cli/templates/frontend/solid.d.ts +6 -0
  110. package/dist/cli/templates/frontend/solid.d.ts.map +1 -0
  111. package/dist/cli/templates/frontend/solid.js +133 -0
  112. package/dist/cli/templates/frontend/solid.js.map +1 -0
  113. package/dist/cli/templates/frontend/svelte.d.ts +6 -0
  114. package/dist/cli/templates/frontend/svelte.d.ts.map +1 -0
  115. package/dist/cli/templates/frontend/svelte.js +130 -0
  116. package/dist/cli/templates/frontend/svelte.js.map +1 -0
  117. package/dist/cli/templates/frontend/vue.d.ts +6 -0
  118. package/dist/cli/templates/frontend/vue.d.ts.map +1 -0
  119. package/dist/cli/templates/frontend/vue.js +129 -0
  120. package/dist/cli/templates/frontend/vue.js.map +1 -0
  121. package/dist/cli/templates/generators/index.d.ts +29 -0
  122. package/dist/cli/templates/generators/index.d.ts.map +1 -0
  123. package/dist/cli/templates/generators/index.js +308 -0
  124. package/dist/cli/templates/generators/index.js.map +1 -0
  125. package/dist/cli/templates/generators/types.d.ts +32 -0
  126. package/dist/cli/templates/generators/types.d.ts.map +1 -0
  127. package/dist/cli/templates/generators/types.js +21 -0
  128. package/dist/cli/templates/generators/types.js.map +1 -0
  129. package/dist/cli/templates/index.d.ts +12 -0
  130. package/dist/cli/templates/index.d.ts.map +1 -0
  131. package/dist/cli/templates/index.js +18 -0
  132. package/dist/cli/templates/index.js.map +1 -0
  133. package/dist/cli/templates/project/api.d.ts +6 -0
  134. package/dist/cli/templates/project/api.d.ts.map +1 -0
  135. package/dist/cli/templates/project/api.js +79 -0
  136. package/dist/cli/templates/project/api.js.map +1 -0
  137. package/dist/cli/templates/project/default.d.ts +6 -0
  138. package/dist/cli/templates/project/default.d.ts.map +1 -0
  139. package/dist/cli/templates/project/default.js +136 -0
  140. package/dist/cli/templates/project/default.js.map +1 -0
  141. package/dist/cli/templates/project/fullstack.d.ts +14 -0
  142. package/dist/cli/templates/project/fullstack.d.ts.map +1 -0
  143. package/dist/cli/templates/project/fullstack.js +19 -0
  144. package/dist/cli/templates/project/fullstack.js.map +1 -0
  145. package/dist/cli/templates/project/index.d.ts +26 -0
  146. package/dist/cli/templates/project/index.d.ts.map +1 -0
  147. package/dist/cli/templates/project/index.js +60 -0
  148. package/dist/cli/templates/project/index.js.map +1 -0
  149. package/dist/cli/templates/project/minimal.d.ts +6 -0
  150. package/dist/cli/templates/project/minimal.d.ts.map +1 -0
  151. package/dist/cli/templates/project/minimal.js +43 -0
  152. package/dist/cli/templates/project/minimal.js.map +1 -0
  153. package/dist/cli/templates/project/types.d.ts +80 -0
  154. package/dist/cli/templates/project/types.d.ts.map +1 -0
  155. package/dist/cli/templates/project/types.js +7 -0
  156. package/dist/cli/templates/project/types.js.map +1 -0
  157. package/dist/cli/templates/project/website.d.ts +8 -0
  158. package/dist/cli/templates/project/website.d.ts.map +1 -0
  159. package/dist/cli/templates/project/website.js +312 -0
  160. package/dist/cli/templates/project/website.js.map +1 -0
  161. package/dist/cli/utils/fs.d.ts +137 -0
  162. package/dist/cli/utils/fs.d.ts.map +1 -0
  163. package/dist/cli/utils/fs.js +350 -0
  164. package/dist/cli/utils/fs.js.map +1 -0
  165. package/dist/cli/utils/index.d.ts +9 -0
  166. package/dist/cli/utils/index.d.ts.map +1 -0
  167. package/dist/cli/utils/index.js +9 -0
  168. package/dist/cli/utils/index.js.map +1 -0
  169. package/dist/cli/utils/strings.d.ts +86 -0
  170. package/dist/cli/utils/strings.d.ts.map +1 -0
  171. package/dist/cli/utils/strings.js +190 -0
  172. package/dist/cli/utils/strings.js.map +1 -0
  173. package/dist/cli/utils/version.d.ts +15 -0
  174. package/dist/cli/utils/version.d.ts.map +1 -0
  175. package/dist/cli/utils/version.js +38 -0
  176. package/dist/cli/utils/version.js.map +1 -0
  177. package/dist/config/env-validation.d.ts +49 -0
  178. package/dist/config/env-validation.d.ts.map +1 -0
  179. package/dist/config/env-validation.js +77 -0
  180. package/dist/config/env-validation.js.map +1 -0
  181. package/dist/config/env.d.ts +167 -0
  182. package/dist/config/env.d.ts.map +1 -0
  183. package/dist/config/env.js +392 -0
  184. package/dist/config/env.js.map +1 -0
  185. package/dist/config/index.d.ts +168 -0
  186. package/dist/config/index.d.ts.map +1 -0
  187. package/dist/config/index.js +329 -0
  188. package/dist/config/index.js.map +1 -0
  189. package/dist/config/loader.d.ts +81 -0
  190. package/dist/config/loader.d.ts.map +1 -0
  191. package/dist/config/loader.js +242 -0
  192. package/dist/config/loader.js.map +1 -0
  193. package/dist/config/merge.d.ts +66 -0
  194. package/dist/config/merge.d.ts.map +1 -0
  195. package/dist/config/merge.js +226 -0
  196. package/dist/config/merge.js.map +1 -0
  197. package/dist/config/types.d.ts +322 -0
  198. package/dist/config/types.d.ts.map +1 -0
  199. package/dist/config/types.js +443 -0
  200. package/dist/config/types.js.map +1 -0
  201. package/dist/config/validation.d.ts +100 -0
  202. package/dist/config/validation.d.ts.map +1 -0
  203. package/dist/config/validation.js +548 -0
  204. package/dist/config/validation.js.map +1 -0
  205. package/dist/container/forward-ref.d.ts +116 -0
  206. package/dist/container/forward-ref.d.ts.map +1 -0
  207. package/dist/container/forward-ref.js +105 -0
  208. package/dist/container/forward-ref.js.map +1 -0
  209. package/dist/container/index.d.ts +95 -0
  210. package/dist/container/index.d.ts.map +1 -0
  211. package/dist/container/index.js.map +1 -0
  212. package/dist/context/index.d.ts +143 -0
  213. package/dist/context/index.d.ts.map +1 -0
  214. package/dist/context/index.js.map +1 -0
  215. package/dist/database/index.d.ts +219 -0
  216. package/dist/database/index.d.ts.map +1 -0
  217. package/dist/database/index.js.map +1 -0
  218. package/dist/database/migrations/index.d.ts +151 -0
  219. package/dist/database/migrations/index.d.ts.map +1 -0
  220. package/dist/database/migrations/index.js +258 -0
  221. package/dist/database/migrations/index.js.map +1 -0
  222. package/dist/database/orm/builder.d.ts +122 -0
  223. package/dist/database/orm/builder.d.ts.map +1 -0
  224. package/dist/database/orm/builder.js +355 -0
  225. package/dist/database/orm/builder.js.map +1 -0
  226. package/dist/database/orm/casts/index.d.ts +16 -0
  227. package/dist/database/orm/casts/index.d.ts.map +1 -0
  228. package/dist/database/orm/casts/index.js +131 -0
  229. package/dist/database/orm/casts/index.js.map +1 -0
  230. package/dist/database/orm/casts/types.d.ts +16 -0
  231. package/dist/database/orm/casts/types.d.ts.map +1 -0
  232. package/dist/database/orm/casts/types.js +5 -0
  233. package/dist/database/orm/casts/types.js.map +1 -0
  234. package/dist/database/orm/compiler.d.ts +90 -0
  235. package/dist/database/orm/compiler.d.ts.map +1 -0
  236. package/dist/database/orm/compiler.js +218 -0
  237. package/dist/database/orm/compiler.js.map +1 -0
  238. package/dist/database/orm/hooks/index.d.ts +53 -0
  239. package/dist/database/orm/hooks/index.d.ts.map +1 -0
  240. package/dist/database/orm/hooks/index.js +81 -0
  241. package/dist/database/orm/hooks/index.js.map +1 -0
  242. package/dist/database/orm/index.d.ts +21 -0
  243. package/dist/database/orm/index.d.ts.map +1 -0
  244. package/dist/database/orm/index.js +23 -0
  245. package/dist/database/orm/index.js.map +1 -0
  246. package/dist/database/orm/model-registry.d.ts +33 -0
  247. package/dist/database/orm/model-registry.d.ts.map +1 -0
  248. package/dist/database/orm/model-registry.js +49 -0
  249. package/dist/database/orm/model-registry.js.map +1 -0
  250. package/dist/database/orm/model.d.ts +245 -0
  251. package/dist/database/orm/model.d.ts.map +1 -0
  252. package/dist/database/orm/model.js +599 -0
  253. package/dist/database/orm/model.js.map +1 -0
  254. package/dist/database/orm/relationships/base.d.ts +69 -0
  255. package/dist/database/orm/relationships/base.d.ts.map +1 -0
  256. package/dist/database/orm/relationships/base.js +84 -0
  257. package/dist/database/orm/relationships/base.js.map +1 -0
  258. package/dist/database/orm/relationships/belongs-to-many.d.ts +47 -0
  259. package/dist/database/orm/relationships/belongs-to-many.d.ts.map +1 -0
  260. package/dist/database/orm/relationships/belongs-to-many.js +136 -0
  261. package/dist/database/orm/relationships/belongs-to-many.js.map +1 -0
  262. package/dist/database/orm/relationships/belongs-to.d.ts +17 -0
  263. package/dist/database/orm/relationships/belongs-to.d.ts.map +1 -0
  264. package/dist/database/orm/relationships/belongs-to.js +38 -0
  265. package/dist/database/orm/relationships/belongs-to.js.map +1 -0
  266. package/dist/database/orm/relationships/has-many.d.ts +14 -0
  267. package/dist/database/orm/relationships/has-many.d.ts.map +1 -0
  268. package/dist/database/orm/relationships/has-many.js +35 -0
  269. package/dist/database/orm/relationships/has-many.js.map +1 -0
  270. package/dist/database/orm/relationships/has-one.d.ts +14 -0
  271. package/dist/database/orm/relationships/has-one.d.ts.map +1 -0
  272. package/dist/database/orm/relationships/has-one.js +32 -0
  273. package/dist/database/orm/relationships/has-one.js.map +1 -0
  274. package/dist/database/orm/relationships/index.d.ts +10 -0
  275. package/dist/database/orm/relationships/index.d.ts.map +1 -0
  276. package/dist/database/orm/relationships/index.js +9 -0
  277. package/dist/database/orm/relationships/index.js.map +1 -0
  278. package/dist/database/orm/scopes/index.d.ts +36 -0
  279. package/dist/database/orm/scopes/index.d.ts.map +1 -0
  280. package/dist/database/orm/scopes/index.js +47 -0
  281. package/dist/database/orm/scopes/index.js.map +1 -0
  282. package/dist/database/schema/index.d.ts +155 -0
  283. package/dist/database/schema/index.d.ts.map +1 -0
  284. package/dist/database/schema/index.js +401 -0
  285. package/dist/database/schema/index.js.map +1 -0
  286. package/dist/frontend/api-routes.d.ts +189 -0
  287. package/dist/frontend/api-routes.d.ts.map +1 -0
  288. package/dist/frontend/api-routes.js +548 -0
  289. package/dist/frontend/api-routes.js.map +1 -0
  290. package/dist/frontend/bundler.d.ts +99 -0
  291. package/dist/frontend/bundler.d.ts.map +1 -0
  292. package/dist/frontend/bundler.js +555 -0
  293. package/dist/frontend/bundler.js.map +1 -0
  294. package/dist/frontend/console-client.d.ts +11 -0
  295. package/dist/frontend/console-client.d.ts.map +1 -0
  296. package/dist/frontend/console-client.js +414 -0
  297. package/dist/frontend/console-client.js.map +1 -0
  298. package/dist/frontend/console-stream.d.ts +138 -0
  299. package/dist/frontend/console-stream.d.ts.map +1 -0
  300. package/dist/frontend/console-stream.js +535 -0
  301. package/dist/frontend/console-stream.js.map +1 -0
  302. package/dist/frontend/dev-server.d.ts +174 -0
  303. package/dist/frontend/dev-server.d.ts.map +1 -0
  304. package/dist/frontend/dev-server.js +735 -0
  305. package/dist/frontend/dev-server.js.map +1 -0
  306. package/dist/frontend/file-router.d.ts +170 -0
  307. package/dist/frontend/file-router.d.ts.map +1 -0
  308. package/dist/frontend/file-router.js +531 -0
  309. package/dist/frontend/file-router.js.map +1 -0
  310. package/dist/frontend/frameworks/index.d.ts +41 -0
  311. package/dist/frontend/frameworks/index.d.ts.map +1 -0
  312. package/dist/frontend/frameworks/index.js +87 -0
  313. package/dist/frontend/frameworks/index.js.map +1 -0
  314. package/dist/frontend/frameworks/react.d.ts +32 -0
  315. package/dist/frontend/frameworks/react.d.ts.map +1 -0
  316. package/dist/frontend/frameworks/react.js +66 -0
  317. package/dist/frontend/frameworks/react.js.map +1 -0
  318. package/dist/frontend/frameworks/solid.d.ts +42 -0
  319. package/dist/frontend/frameworks/solid.d.ts.map +1 -0
  320. package/dist/frontend/frameworks/solid.js +84 -0
  321. package/dist/frontend/frameworks/solid.js.map +1 -0
  322. package/dist/frontend/frameworks/svelte.d.ts +57 -0
  323. package/dist/frontend/frameworks/svelte.d.ts.map +1 -0
  324. package/dist/frontend/frameworks/svelte.js +90 -0
  325. package/dist/frontend/frameworks/svelte.js.map +1 -0
  326. package/dist/frontend/frameworks/vue.d.ts +36 -0
  327. package/dist/frontend/frameworks/vue.d.ts.map +1 -0
  328. package/dist/frontend/frameworks/vue.js +72 -0
  329. package/dist/frontend/frameworks/vue.js.map +1 -0
  330. package/dist/frontend/hmr-client.d.ts +22 -0
  331. package/dist/frontend/hmr-client.d.ts.map +1 -0
  332. package/dist/frontend/hmr-client.js +654 -0
  333. package/dist/frontend/hmr-client.js.map +1 -0
  334. package/dist/frontend/hmr.d.ts +185 -0
  335. package/dist/frontend/hmr.d.ts.map +1 -0
  336. package/dist/frontend/hmr.js +619 -0
  337. package/dist/frontend/hmr.js.map +1 -0
  338. package/dist/frontend/index.d.ts +34 -0
  339. package/dist/frontend/index.d.ts.map +1 -0
  340. package/dist/frontend/index.js.map +1 -0
  341. package/dist/frontend/islands.d.ts +135 -0
  342. package/dist/frontend/islands.d.ts.map +1 -0
  343. package/dist/frontend/islands.js +455 -0
  344. package/dist/frontend/islands.js.map +1 -0
  345. package/dist/frontend/isr.d.ts +143 -0
  346. package/dist/frontend/isr.d.ts.map +1 -0
  347. package/dist/frontend/isr.js +440 -0
  348. package/dist/frontend/isr.js.map +1 -0
  349. package/dist/frontend/layout.d.ts +140 -0
  350. package/dist/frontend/layout.d.ts.map +1 -0
  351. package/dist/frontend/layout.js +392 -0
  352. package/dist/frontend/layout.js.map +1 -0
  353. package/dist/frontend/ssr/react.d.ts +118 -0
  354. package/dist/frontend/ssr/react.d.ts.map +1 -0
  355. package/dist/frontend/ssr/react.js +373 -0
  356. package/dist/frontend/ssr/react.js.map +1 -0
  357. package/dist/frontend/ssr/solid.d.ts +141 -0
  358. package/dist/frontend/ssr/solid.d.ts.map +1 -0
  359. package/dist/frontend/ssr/solid.js +440 -0
  360. package/dist/frontend/ssr/solid.js.map +1 -0
  361. package/dist/frontend/ssr/svelte.d.ts +158 -0
  362. package/dist/frontend/ssr/svelte.d.ts.map +1 -0
  363. package/dist/frontend/ssr/svelte.js +439 -0
  364. package/dist/frontend/ssr/svelte.js.map +1 -0
  365. package/dist/frontend/ssr/vue.d.ts +161 -0
  366. package/dist/frontend/ssr/vue.d.ts.map +1 -0
  367. package/dist/frontend/ssr/vue.js +385 -0
  368. package/dist/frontend/ssr/vue.js.map +1 -0
  369. package/dist/frontend/ssr.d.ts +147 -0
  370. package/dist/frontend/ssr.d.ts.map +1 -0
  371. package/dist/frontend/ssr.js +609 -0
  372. package/dist/frontend/ssr.js.map +1 -0
  373. package/dist/frontend/types.d.ts +1902 -0
  374. package/dist/frontend/types.d.ts.map +1 -0
  375. package/dist/frontend/types.js +8 -0
  376. package/dist/frontend/types.js.map +1 -0
  377. package/dist/graphql/built-in-engine.d.ts +36 -0
  378. package/dist/graphql/built-in-engine.d.ts.map +1 -0
  379. package/dist/graphql/built-in-engine.js +443 -0
  380. package/dist/graphql/built-in-engine.js.map +1 -0
  381. package/dist/graphql/context-builder.d.ts +44 -0
  382. package/dist/graphql/context-builder.d.ts.map +1 -0
  383. package/dist/graphql/context-builder.js +91 -0
  384. package/dist/graphql/context-builder.js.map +1 -0
  385. package/dist/graphql/decorators.d.ts +162 -0
  386. package/dist/graphql/decorators.d.ts.map +1 -0
  387. package/dist/graphql/decorators.js +291 -0
  388. package/dist/graphql/decorators.js.map +1 -0
  389. package/dist/graphql/execution-pipeline.d.ts +67 -0
  390. package/dist/graphql/execution-pipeline.d.ts.map +1 -0
  391. package/dist/graphql/execution-pipeline.js +127 -0
  392. package/dist/graphql/execution-pipeline.js.map +1 -0
  393. package/dist/graphql/graphql-module.d.ts +70 -0
  394. package/dist/graphql/graphql-module.d.ts.map +1 -0
  395. package/dist/graphql/graphql-module.js +442 -0
  396. package/dist/graphql/graphql-module.js.map +1 -0
  397. package/dist/graphql/index.d.ts +48 -0
  398. package/dist/graphql/index.d.ts.map +1 -0
  399. package/dist/graphql/index.js.map +1 -0
  400. package/dist/graphql/metadata.d.ts +37 -0
  401. package/dist/graphql/metadata.d.ts.map +1 -0
  402. package/dist/graphql/metadata.js +130 -0
  403. package/dist/graphql/metadata.js.map +1 -0
  404. package/dist/graphql/schema-builder.d.ts +34 -0
  405. package/dist/graphql/schema-builder.d.ts.map +1 -0
  406. package/dist/graphql/schema-builder.js +251 -0
  407. package/dist/graphql/schema-builder.js.map +1 -0
  408. package/dist/graphql/subscription-handler.d.ts +47 -0
  409. package/dist/graphql/subscription-handler.d.ts.map +1 -0
  410. package/dist/graphql/subscription-handler.js +201 -0
  411. package/dist/graphql/subscription-handler.js.map +1 -0
  412. package/dist/graphql/types.d.ts +252 -0
  413. package/dist/graphql/types.d.ts.map +1 -0
  414. package/dist/graphql/types.js +28 -0
  415. package/dist/graphql/types.js.map +1 -0
  416. package/dist/health/index.d.ts +176 -0
  417. package/dist/health/index.d.ts.map +1 -0
  418. package/dist/health/index.js.map +1 -0
  419. package/dist/i18n/engine.d.ts +105 -0
  420. package/dist/i18n/engine.d.ts.map +1 -0
  421. package/dist/i18n/engine.js +248 -0
  422. package/dist/i18n/engine.js.map +1 -0
  423. package/dist/i18n/index.d.ts +13 -0
  424. package/dist/i18n/index.d.ts.map +1 -0
  425. package/dist/i18n/index.js.map +1 -0
  426. package/dist/i18n/loader.d.ts +79 -0
  427. package/dist/i18n/loader.d.ts.map +1 -0
  428. package/dist/i18n/loader.js +192 -0
  429. package/dist/i18n/loader.js.map +1 -0
  430. package/dist/i18n/middleware.d.ts +96 -0
  431. package/dist/i18n/middleware.d.ts.map +1 -0
  432. package/dist/i18n/middleware.js +126 -0
  433. package/dist/i18n/middleware.js.map +1 -0
  434. package/dist/i18n/negotiator.d.ts +84 -0
  435. package/dist/i18n/negotiator.d.ts.map +1 -0
  436. package/dist/i18n/negotiator.js +139 -0
  437. package/dist/i18n/negotiator.js.map +1 -0
  438. package/dist/i18n/types.d.ts +129 -0
  439. package/dist/i18n/types.d.ts.map +1 -0
  440. package/dist/i18n/types.js +8 -0
  441. package/dist/i18n/types.js.map +1 -0
  442. package/dist/index.d.ts +48 -0
  443. package/dist/index.d.ts.map +1 -0
  444. package/dist/index.js.map +1 -0
  445. package/dist/jobs/drivers/memory.d.ts +38 -0
  446. package/dist/jobs/drivers/memory.d.ts.map +1 -0
  447. package/dist/jobs/drivers/memory.js +246 -0
  448. package/dist/jobs/drivers/memory.js.map +1 -0
  449. package/dist/jobs/drivers/redis.d.ts +34 -0
  450. package/dist/jobs/drivers/redis.d.ts.map +1 -0
  451. package/dist/jobs/drivers/redis.js +355 -0
  452. package/dist/jobs/drivers/redis.js.map +1 -0
  453. package/dist/jobs/index.d.ts +12 -0
  454. package/dist/jobs/index.d.ts.map +1 -0
  455. package/dist/jobs/index.js.map +1 -0
  456. package/dist/jobs/queue.d.ts +93 -0
  457. package/dist/jobs/queue.d.ts.map +1 -0
  458. package/dist/jobs/queue.js +233 -0
  459. package/dist/jobs/queue.js.map +1 -0
  460. package/dist/jobs/types.d.ts +193 -0
  461. package/dist/jobs/types.d.ts.map +1 -0
  462. package/dist/jobs/types.js +8 -0
  463. package/dist/jobs/types.js.map +1 -0
  464. package/dist/jobs/worker.d.ts +91 -0
  465. package/dist/jobs/worker.d.ts.map +1 -0
  466. package/dist/jobs/worker.js +300 -0
  467. package/dist/jobs/worker.js.map +1 -0
  468. package/dist/lock/index.d.ts +141 -0
  469. package/dist/lock/index.d.ts.map +1 -0
  470. package/dist/lock/index.js.map +1 -0
  471. package/dist/logger/index.d.ts +156 -0
  472. package/dist/logger/index.d.ts.map +1 -0
  473. package/dist/logger/index.js.map +1 -0
  474. package/dist/logger/transports/index.d.ts +371 -0
  475. package/dist/logger/transports/index.d.ts.map +1 -0
  476. package/dist/logger/transports/index.js +740 -0
  477. package/dist/logger/transports/index.js.map +1 -0
  478. package/dist/metrics/index.d.ts +163 -0
  479. package/dist/metrics/index.d.ts.map +1 -0
  480. package/dist/metrics/index.js.map +1 -0
  481. package/dist/middleware/built-in.d.ts +50 -0
  482. package/dist/middleware/built-in.d.ts.map +1 -0
  483. package/dist/middleware/built-in.js +220 -0
  484. package/dist/middleware/built-in.js.map +1 -0
  485. package/dist/middleware/index.d.ts +40 -0
  486. package/dist/middleware/index.d.ts.map +1 -0
  487. package/dist/middleware/index.js.map +1 -0
  488. package/dist/migrations/index.d.ts +48 -0
  489. package/dist/migrations/index.d.ts.map +1 -0
  490. package/dist/migrations/index.js +3 -0
  491. package/dist/migrations/index.js.map +1 -0
  492. package/dist/modules/filters.d.ts +150 -0
  493. package/dist/modules/filters.d.ts.map +1 -0
  494. package/dist/modules/filters.js +338 -0
  495. package/dist/modules/filters.js.map +1 -0
  496. package/dist/modules/guards.d.ts +188 -0
  497. package/dist/modules/guards.d.ts.map +1 -0
  498. package/dist/modules/guards.js +278 -0
  499. package/dist/modules/guards.js.map +1 -0
  500. package/dist/modules/index.d.ts +266 -0
  501. package/dist/modules/index.d.ts.map +1 -0
  502. package/dist/modules/index.js.map +1 -0
  503. package/dist/modules/interceptors.d.ts +242 -0
  504. package/dist/modules/interceptors.d.ts.map +1 -0
  505. package/dist/modules/interceptors.js +407 -0
  506. package/dist/modules/interceptors.js.map +1 -0
  507. package/dist/modules/lazy.d.ts +187 -0
  508. package/dist/modules/lazy.d.ts.map +1 -0
  509. package/dist/modules/lazy.js +305 -0
  510. package/dist/modules/lazy.js.map +1 -0
  511. package/dist/modules/lifecycle.d.ts +221 -0
  512. package/dist/modules/lifecycle.d.ts.map +1 -0
  513. package/dist/modules/lifecycle.js +314 -0
  514. package/dist/modules/lifecycle.js.map +1 -0
  515. package/dist/modules/metadata.d.ts +32 -0
  516. package/dist/modules/metadata.d.ts.map +1 -0
  517. package/dist/modules/metadata.js +59 -0
  518. package/dist/modules/metadata.js.map +1 -0
  519. package/dist/modules/pipes.d.ts +287 -0
  520. package/dist/modules/pipes.d.ts.map +1 -0
  521. package/dist/modules/pipes.js +443 -0
  522. package/dist/modules/pipes.js.map +1 -0
  523. package/dist/notification/channels/base.d.ts +32 -0
  524. package/dist/notification/channels/base.d.ts.map +1 -0
  525. package/dist/notification/channels/base.js +37 -0
  526. package/dist/notification/channels/base.js.map +1 -0
  527. package/dist/notification/channels/email.d.ts +37 -0
  528. package/dist/notification/channels/email.d.ts.map +1 -0
  529. package/dist/notification/channels/email.js +85 -0
  530. package/dist/notification/channels/email.js.map +1 -0
  531. package/dist/notification/channels/push.d.ts +37 -0
  532. package/dist/notification/channels/push.d.ts.map +1 -0
  533. package/dist/notification/channels/push.js +84 -0
  534. package/dist/notification/channels/push.js.map +1 -0
  535. package/dist/notification/channels/sms.d.ts +37 -0
  536. package/dist/notification/channels/sms.d.ts.map +1 -0
  537. package/dist/notification/channels/sms.js +83 -0
  538. package/dist/notification/channels/sms.js.map +1 -0
  539. package/dist/notification/channels/whatsapp.d.ts +37 -0
  540. package/dist/notification/channels/whatsapp.d.ts.map +1 -0
  541. package/dist/notification/channels/whatsapp.js +81 -0
  542. package/dist/notification/channels/whatsapp.js.map +1 -0
  543. package/dist/notification/index.d.ts +15 -0
  544. package/dist/notification/index.d.ts.map +1 -0
  545. package/dist/notification/index.js.map +1 -0
  546. package/dist/notification/service.d.ts +100 -0
  547. package/dist/notification/service.d.ts.map +1 -0
  548. package/dist/notification/service.js +279 -0
  549. package/dist/notification/service.js.map +1 -0
  550. package/dist/notification/types.d.ts +253 -0
  551. package/dist/notification/types.d.ts.map +1 -0
  552. package/dist/notification/types.js +14 -0
  553. package/dist/notification/types.js.map +1 -0
  554. package/dist/observability/__tests__/observability.test.d.ts +2 -0
  555. package/dist/observability/__tests__/observability.test.d.ts.map +1 -0
  556. package/dist/observability/__tests__/observability.test.js +404 -0
  557. package/dist/observability/__tests__/observability.test.js.map +1 -0
  558. package/dist/observability/breadcrumbs.d.ts +48 -0
  559. package/dist/observability/breadcrumbs.d.ts.map +1 -0
  560. package/dist/observability/breadcrumbs.js +97 -0
  561. package/dist/observability/breadcrumbs.js.map +1 -0
  562. package/dist/observability/index.d.ts +95 -0
  563. package/dist/observability/index.d.ts.map +1 -0
  564. package/dist/observability/index.js.map +1 -0
  565. package/dist/observability/interceptor.d.ts +19 -0
  566. package/dist/observability/interceptor.d.ts.map +1 -0
  567. package/dist/observability/interceptor.js +67 -0
  568. package/dist/observability/interceptor.js.map +1 -0
  569. package/dist/observability/service.d.ts +101 -0
  570. package/dist/observability/service.d.ts.map +1 -0
  571. package/dist/observability/service.js +249 -0
  572. package/dist/observability/service.js.map +1 -0
  573. package/dist/observability/trace.d.ts +21 -0
  574. package/dist/observability/trace.d.ts.map +1 -0
  575. package/dist/observability/trace.js +35 -0
  576. package/dist/observability/trace.js.map +1 -0
  577. package/dist/observability/types.d.ts +172 -0
  578. package/dist/observability/types.d.ts.map +1 -0
  579. package/dist/observability/types.js +8 -0
  580. package/dist/observability/types.js.map +1 -0
  581. package/dist/openapi/decorators.d.ts +173 -0
  582. package/dist/openapi/decorators.d.ts.map +1 -0
  583. package/dist/openapi/decorators.js +276 -0
  584. package/dist/openapi/decorators.js.map +1 -0
  585. package/dist/openapi/document-builder.d.ts +82 -0
  586. package/dist/openapi/document-builder.d.ts.map +1 -0
  587. package/dist/openapi/document-builder.js +228 -0
  588. package/dist/openapi/document-builder.js.map +1 -0
  589. package/dist/openapi/index.d.ts +48 -0
  590. package/dist/openapi/index.d.ts.map +1 -0
  591. package/dist/openapi/index.js.map +1 -0
  592. package/dist/openapi/metadata.d.ts +36 -0
  593. package/dist/openapi/metadata.d.ts.map +1 -0
  594. package/dist/openapi/metadata.js +78 -0
  595. package/dist/openapi/metadata.js.map +1 -0
  596. package/dist/openapi/route-scanner.d.ts +34 -0
  597. package/dist/openapi/route-scanner.d.ts.map +1 -0
  598. package/dist/openapi/route-scanner.js +174 -0
  599. package/dist/openapi/route-scanner.js.map +1 -0
  600. package/dist/openapi/schema-generator.d.ts +53 -0
  601. package/dist/openapi/schema-generator.d.ts.map +1 -0
  602. package/dist/openapi/schema-generator.js +236 -0
  603. package/dist/openapi/schema-generator.js.map +1 -0
  604. package/dist/openapi/swagger-module.d.ts +57 -0
  605. package/dist/openapi/swagger-module.d.ts.map +1 -0
  606. package/dist/openapi/swagger-module.js +143 -0
  607. package/dist/openapi/swagger-module.js.map +1 -0
  608. package/dist/openapi/types.d.ts +344 -0
  609. package/dist/openapi/types.d.ts.map +1 -0
  610. package/dist/openapi/types.js +7 -0
  611. package/dist/openapi/types.js.map +1 -0
  612. package/dist/orm/index.d.ts +10 -0
  613. package/dist/orm/index.d.ts.map +1 -0
  614. package/dist/orm/index.js.map +1 -0
  615. package/dist/router/index.d.ts +73 -0
  616. package/dist/router/index.d.ts.map +1 -0
  617. package/dist/router/index.js.map +1 -0
  618. package/dist/router/linear.d.ts +54 -0
  619. package/dist/router/linear.d.ts.map +1 -0
  620. package/dist/router/linear.js +261 -0
  621. package/dist/router/linear.js.map +1 -0
  622. package/dist/router/regex.d.ts +49 -0
  623. package/dist/router/regex.d.ts.map +1 -0
  624. package/dist/router/regex.js +201 -0
  625. package/dist/router/regex.js.map +1 -0
  626. package/dist/router/tree.d.ts +112 -0
  627. package/dist/router/tree.d.ts.map +1 -0
  628. package/dist/router/tree.js +360 -0
  629. package/dist/router/tree.js.map +1 -0
  630. package/dist/rpc/index.d.ts +321 -0
  631. package/dist/rpc/index.d.ts.map +1 -0
  632. package/dist/rpc/index.js.map +1 -0
  633. package/dist/schema/index.d.ts +10 -0
  634. package/dist/schema/index.d.ts.map +1 -0
  635. package/dist/schema/index.js.map +1 -0
  636. package/dist/security/index.d.ts +126 -0
  637. package/dist/security/index.d.ts.map +1 -0
  638. package/dist/security/index.js +309 -0
  639. package/dist/security/index.js.map +1 -0
  640. package/dist/ssg/index.d.ts +73 -0
  641. package/dist/ssg/index.d.ts.map +1 -0
  642. package/dist/ssg/index.js +464 -0
  643. package/dist/ssg/index.js.map +1 -0
  644. package/dist/storage/index.d.ts +99 -0
  645. package/dist/storage/index.d.ts.map +1 -0
  646. package/dist/storage/index.js +338 -0
  647. package/dist/storage/index.js.map +1 -0
  648. package/dist/telemetry/index.d.ts +376 -0
  649. package/dist/telemetry/index.d.ts.map +1 -0
  650. package/dist/telemetry/index.js.map +1 -0
  651. package/dist/template/index.d.ts +7 -0
  652. package/dist/template/index.d.ts.map +1 -0
  653. package/dist/template/index.js.map +1 -0
  654. package/dist/templates/engine.d.ts +60 -0
  655. package/dist/templates/engine.d.ts.map +1 -0
  656. package/dist/templates/engine.js +177 -0
  657. package/dist/templates/engine.js.map +1 -0
  658. package/dist/templates/index.d.ts +9 -0
  659. package/dist/templates/index.d.ts.map +1 -0
  660. package/dist/templates/index.js.map +1 -0
  661. package/dist/templates/loader.d.ts +45 -0
  662. package/dist/templates/loader.d.ts.map +1 -0
  663. package/dist/templates/loader.js +274 -0
  664. package/dist/templates/loader.js.map +1 -0
  665. package/dist/templates/renderers/markdown.d.ts +46 -0
  666. package/dist/templates/renderers/markdown.d.ts.map +1 -0
  667. package/dist/templates/renderers/markdown.js +181 -0
  668. package/dist/templates/renderers/markdown.js.map +1 -0
  669. package/dist/templates/renderers/simple.d.ts +35 -0
  670. package/dist/templates/renderers/simple.d.ts.map +1 -0
  671. package/dist/templates/renderers/simple.js +245 -0
  672. package/dist/templates/renderers/simple.js.map +1 -0
  673. package/dist/templates/types.d.ts +138 -0
  674. package/dist/templates/types.d.ts.map +1 -0
  675. package/dist/templates/types.js +8 -0
  676. package/dist/templates/types.js.map +1 -0
  677. package/dist/testing/index.d.ts +539 -0
  678. package/dist/testing/index.d.ts.map +1 -0
  679. package/dist/testing/index.js.map +1 -0
  680. package/dist/types/index.d.ts +116 -0
  681. package/dist/types/index.d.ts.map +1 -0
  682. package/dist/types/index.js.map +1 -0
  683. package/dist/validation/index.d.ts +89 -0
  684. package/dist/validation/index.d.ts.map +1 -0
  685. package/dist/validation/index.js +276 -0
  686. package/dist/validation/index.js.map +1 -0
  687. package/dist/validation/schemas.d.ts +283 -0
  688. package/dist/validation/schemas.d.ts.map +1 -0
  689. package/dist/validation/schemas.js +407 -0
  690. package/dist/validation/schemas.js.map +1 -0
  691. package/dist/websocket/index.d.ts +252 -0
  692. package/dist/websocket/index.d.ts.map +1 -0
  693. package/dist/websocket/index.js +749 -0
  694. package/dist/websocket/index.js.map +1 -0
  695. package/package.json +3 -3
  696. package/src/database/migrations/index.ts +8 -0
  697. package/src/migrations/index.ts +40 -1
  698. package/src/types/index.ts +1 -1
  699. package/tsconfig.json +2 -6
@@ -0,0 +1,129 @@
1
+ /**
2
+ * i18n Types and Interfaces
3
+ *
4
+ * Core types for the internationalisation system:
5
+ * locale negotiation, translation lookup, plural forms, and configuration.
6
+ */
7
+ /**
8
+ * CLDR-standard plural form categories.
9
+ * Used to select the appropriate plural variant of a translation.
10
+ *
11
+ * @see https://cldr.unicode.org/index/cldr-spec/plural-rules
12
+ */
13
+ export type PluralKey = "zero" | "one" | "two" | "few" | "many" | "other";
14
+ /**
15
+ * Raw translation file shape — can be flat or nested JSON.
16
+ * @example
17
+ * { "nav.home": "Home" } or { "nav": { "home": "Home" } }
18
+ */
19
+ export type TranslationMap = Record<string, unknown>;
20
+ /**
21
+ * Flat map of dot-notation keys → string values.
22
+ * The loader always normalises nested keys to this format before caching.
23
+ * @example
24
+ * Map { "nav.home" → "Home", "nav.about" → "About" }
25
+ */
26
+ export type FlatTranslations = Map<string, string>;
27
+ /**
28
+ * Parameters passed to the translation function.
29
+ * `count` is special — it drives plural form selection.
30
+ * Other keys are used for variable interpolation ({{ key }}).
31
+ */
32
+ export interface TranslationParams {
33
+ count?: number;
34
+ [key: string]: unknown;
35
+ }
36
+ /**
37
+ * The t() function signature stored on context and returned by the engine.
38
+ * @example
39
+ * t('greeting', { name: 'Alice' }) → "Hello, Alice!"
40
+ */
41
+ export type TranslationFunction = (key: string, params?: TranslationParams) => string;
42
+ /**
43
+ * Result of a locale negotiation attempt against supported locales.
44
+ * Used to determine which locale to load based on client preferences.
45
+ */
46
+ export interface LocaleMatch {
47
+ /** The matched locale from supportedLocales (e.g. "fr") */
48
+ locale: string;
49
+ /** How the match was found: exact string match, language prefix match, or default */
50
+ strategy: "exact" | "prefix" | "default";
51
+ /** The original value that was negotiated (e.g. "fr-CA" from Accept-Language) */
52
+ source: string;
53
+ }
54
+ /**
55
+ * What the middleware stores on the Bueno Context instance.
56
+ * Accessed via ctx.get('locale') and ctx.get('t').
57
+ * Typed helpers getLocale(ctx) and getT(ctx) are recommended.
58
+ */
59
+ export interface I18nContext {
60
+ locale: string;
61
+ t: TranslationFunction;
62
+ }
63
+ /**
64
+ * User-facing i18n configuration.
65
+ * All fields are optional; defaults are applied by the engine.
66
+ * Environment variable pattern: BUENO_I18N_*
67
+ */
68
+ export interface I18nConfig {
69
+ /** Enable/disable the i18n system (default: false) */
70
+ enabled?: boolean;
71
+ /** Default locale — used as fallback when requested locale has missing keys (default: "en") */
72
+ defaultLocale?: string;
73
+ /** List of all supported locale identifiers (default: ["en"]) */
74
+ supportedLocales?: string[];
75
+ /** Base directory for locale JSON files (default: "resources/i18n") */
76
+ basePath?: string;
77
+ /**
78
+ * When a key is missing in the requested locale,
79
+ * fall back to the defaultLocale before returning the key string (default: true)
80
+ */
81
+ fallbackToDefault?: boolean;
82
+ /** Cookie name used to persist locale choice (default: "bueno_locale") */
83
+ cookieName?: string;
84
+ /** Cookie max-age in seconds (default: 31536000 = 1 year) */
85
+ cookieMaxAge?: number;
86
+ /** Enable file watching for hot reload in development (default: false) */
87
+ watch?: boolean;
88
+ }
89
+ /**
90
+ * Fully-resolved i18n configuration with all defaults applied.
91
+ * All fields are required (non-optional) — used internally by the engine.
92
+ */
93
+ export interface ResolvedI18nConfig {
94
+ defaultLocale: string;
95
+ supportedLocales: string[];
96
+ basePath: string;
97
+ fallbackToDefault: boolean;
98
+ cookieName: string;
99
+ cookieMaxAge: number;
100
+ }
101
+ /**
102
+ * A loaded and cached locale bundle.
103
+ * Contains flattened translations and metadata.
104
+ */
105
+ export interface LocaleBundle {
106
+ /** Locale identifier e.g. "en", "fr-CA" */
107
+ locale: string;
108
+ /** Flat dot-notation key → string value map */
109
+ translations: FlatTranslations;
110
+ /** When this bundle was loaded (ms epoch) */
111
+ loadedAt: number;
112
+ }
113
+ /**
114
+ * Metrics collected by the translation engine.
115
+ * Useful for debugging and performance monitoring.
116
+ */
117
+ export interface I18nMetrics {
118
+ /** Total number of t() calls */
119
+ totalLookups: number;
120
+ /** Lookups that found a key in the requested locale */
121
+ hits: number;
122
+ /** Lookups that fell back to the default locale */
123
+ fallbacks: number;
124
+ /** Lookups that returned the key string (complete miss) */
125
+ misses: number;
126
+ /** Locales currently loaded in memory */
127
+ loadedLocales: string[];
128
+ }
129
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/i18n/types.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAIH;;;;;GAKG;AACH,MAAM,MAAM,SAAS,GAAG,MAAM,GAAG,KAAK,GAAG,KAAK,GAAG,KAAK,GAAG,MAAM,GAAG,OAAO,CAAC;AAI1E;;;;GAIG;AACH,MAAM,MAAM,cAAc,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AAErD;;;;;GAKG;AACH,MAAM,MAAM,gBAAgB,GAAG,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;AAEnD;;;;GAIG;AACH,MAAM,WAAW,iBAAiB;IACjC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACvB;AAED;;;;GAIG;AACH,MAAM,MAAM,mBAAmB,GAAG,CACjC,GAAG,EAAE,MAAM,EACX,MAAM,CAAC,EAAE,iBAAiB,KACtB,MAAM,CAAC;AAIZ;;;GAGG;AACH,MAAM,WAAW,WAAW;IAC3B,2DAA2D;IAC3D,MAAM,EAAE,MAAM,CAAC;IACf,qFAAqF;IACrF,QAAQ,EAAE,OAAO,GAAG,QAAQ,GAAG,SAAS,CAAC;IACzC,iFAAiF;IACjF,MAAM,EAAE,MAAM,CAAC;CACf;AAID;;;;GAIG;AACH,MAAM,WAAW,WAAW;IAC3B,MAAM,EAAE,MAAM,CAAC;IACf,CAAC,EAAE,mBAAmB,CAAC;CACvB;AAID;;;;GAIG;AACH,MAAM,WAAW,UAAU;IAC1B,sDAAsD;IACtD,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,+FAA+F;IAC/F,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,iEAAiE;IACjE,gBAAgB,CAAC,EAAE,MAAM,EAAE,CAAC;IAC5B,uEAAuE;IACvE,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB;;;OAGG;IACH,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,0EAA0E;IAC1E,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,6DAA6D;IAC7D,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,0EAA0E;IAC1E,KAAK,CAAC,EAAE,OAAO,CAAC;CAChB;AAID;;;GAGG;AACH,MAAM,WAAW,kBAAkB;IAClC,aAAa,EAAE,MAAM,CAAC;IACtB,gBAAgB,EAAE,MAAM,EAAE,CAAC;IAC3B,QAAQ,EAAE,MAAM,CAAC;IACjB,iBAAiB,EAAE,OAAO,CAAC;IAC3B,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,MAAM,CAAC;CACrB;AAID;;;GAGG;AACH,MAAM,WAAW,YAAY;IAC5B,2CAA2C;IAC3C,MAAM,EAAE,MAAM,CAAC;IACf,+CAA+C;IAC/C,YAAY,EAAE,gBAAgB,CAAC;IAC/B,6CAA6C;IAC7C,QAAQ,EAAE,MAAM,CAAC;CACjB;AAID;;;GAGG;AACH,MAAM,WAAW,WAAW;IAC3B,gCAAgC;IAChC,YAAY,EAAE,MAAM,CAAC;IACrB,uDAAuD;IACvD,IAAI,EAAE,MAAM,CAAC;IACb,mDAAmD;IACnD,SAAS,EAAE,MAAM,CAAC;IAClB,2DAA2D;IAC3D,MAAM,EAAE,MAAM,CAAC;IACf,yCAAyC;IACzC,aAAa,EAAE,MAAM,EAAE,CAAC;CACxB"}
@@ -0,0 +1,8 @@
1
+ /**
2
+ * i18n Types and Interfaces
3
+ *
4
+ * Core types for the internationalisation system:
5
+ * locale negotiation, translation lookup, plural forms, and configuration.
6
+ */
7
+ export {};
8
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/i18n/types.ts"],"names":[],"mappings":"AAAA;;;;;GAKG"}
@@ -0,0 +1,48 @@
1
+ /**
2
+ * Bueno Framework
3
+ *
4
+ * A Bun-Native Full-Stack Framework
5
+ */
6
+ export declare const VERSION = "0.1.0";
7
+ export { Container, createToken, Injectable, Inject, } from "./container";
8
+ export type { Provider, Token } from "./container";
9
+ export { Router, generateUrl } from "./router";
10
+ export { Context, createContext } from "./context";
11
+ export { compose, createPipeline, type Middleware, type Handler, } from "./middleware";
12
+ export { logger, cors, requestId, timing, securityHeaders, rateLimit, compression, } from "./middleware/built-in";
13
+ export { Module, Controller, Injectable as ModuleInjectable, Inject as ModuleInject, Get, Post, Put, Patch, Delete, Head, Options, AppModule, Application, createApp, } from "./modules";
14
+ export { Database, createConnection, detectDriver, ReservedConnection, type DatabaseConfig as DatabaseConfigType, type DatabaseDriver, type QueryResult, type Transaction, } from "./database";
15
+ export { validate, validateSync, validateBody, validateQuery, validateParams, validateHeaders, createValidator, WithBody, WithQuery, isStandardSchema, assertStandardSchema, type ValidationResult, type ValidatorOptions, } from "./validation";
16
+ export { Password, JWT, CSRF, createAuthMiddleware, createRBACMiddleware, createAPIKeyMiddleware, } from "./security";
17
+ export { RPCClient, createRPClient, bc, extractRouteTypes, parseJSON, parseText, isOK, isStatus, throwIfNotOK, } from "./rpc";
18
+ export { Cache, SessionStore, createCache, createSessionStore, } from "./cache";
19
+ export { DistributedLock, LockAcquireError, LockTimeoutError, createDistributedLock, createRedisLock, createMemoryLock, getDefaultLock, setDefaultLock, lock, type LockConfig, type LockOptions, type Lock, type LockHandle, } from "./lock";
20
+ export { JobQueue, JobWorker, createJobQueue, startWorker, MemoryJobQueueDriver, RedisJobQueueDriver, type Job, type JobStatus, type JobQueueConfig, type QueueOptions, type JobHandler, type QueueMetrics, type JobEvent, type JobEventType, type JobClaimHandle, type JobQueueDriver, type HandlerRegistryEntry, type JobConfigValidationResult, } from "./jobs";
21
+ export { TemplateEngine, TemplateLoader, SimpleRenderer, MarkdownRenderer, type Template, type TemplateMetadata, type TemplateData, type RenderOptions, type TemplateEngineConfig, type TemplateEngineMetrics, type IRenderer, type FilterRegistry, type TemplateLoaderOptions, type TemplateLoadedEvent, } from "./templates";
22
+ export { NotificationService, createNotificationService, BaseChannelService, EmailChannelService, SMSChannelService, WhatsAppChannelService, PushNotificationChannelService, type NotificationChannel, type NotificationMessage, type EmailRecipient, type EmailRecipients, type EmailAttachment, type EmailMessage, type SMSMessage, type WhatsAppMessage, type PushNotificationMessage, type BuiltInNotification, type Notifiable, type ChannelHealth, type ChannelService, type BaseChannelConfig, type EmailChannelConfig, type SMSChannelConfig, type WhatsAppChannelConfig, type PushChannelConfig, type ChannelConfig, type NotificationServiceConfig, type ChannelMetrics, type NotificationEvent, type NotificationEventType, type NotificationValidationResult, } from "./notification";
23
+ export { DocumentBuilder, SchemaGenerator, RouteScanner, SwaggerModule, ApiTags, ApiBearerAuth, ApiBasicAuth, ApiApiKey, ApiExcludeController, ApiOperation, ApiResponse, ApiParam, ApiQuery, ApiHeader, ApiBody, ApiExcludeEndpoint, ApiProperty, ApiPropertyOptional, type OpenAPIDocument, type OpenAPIInfo, type OpenAPIContact, type OpenAPILicense, type OpenAPIServer, type OpenAPIPaths, type OpenAPIPath, type OpenAPIOperation, type OpenAPIExternalDocs, type OpenAPIParameter, type OpenAPIRequestBody, type OpenAPIMediaType, type OpenAPIExample, type OpenAPIResponse, type OpenAPIHeader, type OpenAPIResponses, type OpenAPISchema, type OpenAPIDiscriminator, type OpenAPIXML, type OpenAPIComponents, type OpenAPISecurityScheme, type OpenAPIOAuthFlows, type OpenAPIOAuthFlow, type OpenAPISecurity, type OpenAPITag, type SwaggerOptions, type ApiOperationOptions, type ApiResponseOptions, type ApiParamOptions, type ApiQueryOptions, type ApiHeaderOptions, type ApiBodyOptions, type ApiPropertyOptions, type SecuritySchemeOptions, type ApiKeySecurityOptions, } from "./openapi";
24
+ export { I18n, createI18n, TranslationLoader, LocaleNegotiator, parseAcceptLanguage, normaliseLocale, i18nMiddleware, getLocale, getT, type PluralKey, type TranslationParams, type TranslationFunction, type LocaleMatch, type I18nContext, type LocaleBundle, type I18nMetrics, type I18nMiddlewareOptions, } from "./i18n";
25
+ export { SSG, createSSG, parseMarkdown, parseFrontmatter, type Frontmatter, type Page, type SSGConfig, type LayoutContext, type SiteConfig, } from "./ssg";
26
+ export { Storage, createStorage, Secrets, type StorageConfig, type UploadOptions, type DownloadOptions, type FileInfo, type ListOptions, type ListResult, type PresignedURLOptions, type SecretOptions, type SetSecretOptions, } from "./storage";
27
+ export { AppTester, createTester, createTestRequest, createTestResponse, createMockContext, createMockContextWithParams, assertStatus, assertOK, assertJSON, assertBody, assertHeader, assertRedirect, snapshotResponse, FixtureFactory, createFixtureFactory, waitFor, sleep, type TestRequestOptions, type TestResponse, } from "./testing";
28
+ export { WebSocketServer, WebSocketClient, PubSub, createWebSocketServer, createWebSocketClient, createPubSub, createRedisPubSub, createMemoryPubSub, isWebSocketRequest, generateConnectionId, createWebSocketData, type WebSocketData, type WebSocketMessage, type WebSocketOptions, type WebSocketHandler, type OpenHandler, type CloseHandler, type ErrorHandler, type WebSocketServerOptions, type WebSocketClientOptions, type PubSubConfig, type PubSubMessage, type PubSubCallback, } from "./websocket";
29
+ export { Logger, PerformanceLogger, createLogger, createRequestLogger, getLogger, setLogger, type LogLevel, type LogEntry, type LoggerConfig as LoggerConfigType, type LoggerContext, } from "./logger";
30
+ export { HealthCheckManager, createHealthMiddleware, createHealthManager, createDatabaseCheck, createCacheCheck, createCustomCheck, createTCPCheck, createHTTPCheck, type HealthStatus, type CheckResult, type HealthCheckResult, type HealthCheckFn, type CheckOptions, type HealthMiddlewareOptions, type DatabaseLike, type CacheLike, } from "./health";
31
+ export { ObservabilityModule, ObservabilityService, ObservabilityInterceptor, BreadcrumbCollector, httpBreadcrumb, logBreadcrumb, extractTraceContext, generateTraceId, generateSpanId, buildTraceparent, type BreadcrumbEntry, type ErrorEvent, type ErrorRequestContext, type ErrorUserContext, type MessageEvent, type ErrorReporter, type ObservabilityOptions, type ObservabilityConfig, } from "./observability";
32
+ export type { GraphQLConfig } from "./graphql/types";
33
+ export type { HTTPMethod, StatusCode, PathParams, RouteHandler, MiddlewareHandler, RouteDefinition, ModuleMetadata, ContextVariableMap, StandardSchema, StandardIssue, ServerConfig, AppOptions, BuenoError, ValidationError, NotFoundError, StandardResult, StandardTypes, InferInput, InferOutput, } from "./types";
34
+ export { ConfigManager, defineConfig, defineConfigFn, createConfigManager, createConfigManagerSync, loadConfigDirect, getConfigManager, setConfigManager, type ConfigManagerOptions, type ConfigChangeCallback, } from "./config";
35
+ export { loadConfig, loadConfigFile, loadConfigFiles, findConfigFile, clearConfigCache, getCachedConfig, watchConfig, validateConfigStructure, getConfigPathFromArgs, getConfigPathFromEnv, type LoadedConfig, } from "./config";
36
+ export { loadEnv, getEnvConfig, getEnvValue, setEnvValue, envConfigMapping, type EnvConfigMapping, } from "./config";
37
+ export { validateConfig, validateConfigSync, validateConfigDefaults, validateWithSchema, assertValidConfig, formatValidationErrors, createConfigError, createCustomValidator, isStandardSchema as isConfigStandardSchema, type ConfigValidationResult, type ConfigValidationError, type ConfigValidationWarning, } from "./config";
38
+ export { deepMerge, mergeConfigs, isObject, } from "./config";
39
+ export type { BuenoConfig, ServerConfig as BuenoServerConfig, DatabaseConfig, CacheConfig, LoggerConfig, HealthConfig, MetricsConfig, TelemetryConfig, FrontendConfig, JobsConfig, NotificationConfig, I18nConfig, DeepPartial, UserConfig, UserConfigFn, InferConfig, } from "./config";
40
+ import { Router } from "./router";
41
+ export declare function createServer(options?: {
42
+ port?: number;
43
+ hostname?: string;
44
+ }): {
45
+ router: Router;
46
+ listen(port?: number, hostname?: string): Promise<Bun.Server<undefined>>;
47
+ };
48
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,38 @@
1
+ /**
2
+ * In-Memory Job Queue Driver
3
+ *
4
+ * Used for development and testing. No external dependencies.
5
+ * Jobs are stored in memory and lost on process restart.
6
+ */
7
+ import type { Job, JobQueueConfig, JobQueueDriver, QueueMetrics, QueueOptions } from "../types";
8
+ export declare class MemoryJobQueueDriver implements JobQueueDriver {
9
+ private config;
10
+ private jobStore;
11
+ private pendingQueue;
12
+ private processingSet;
13
+ private failedQueue;
14
+ private cleanupInterval;
15
+ private jobCounter;
16
+ private metrics;
17
+ constructor(config?: JobQueueConfig);
18
+ /**
19
+ * Generate a unique job ID
20
+ */
21
+ private generateJobId;
22
+ /**
23
+ * Start periodic cleanup of expired jobs
24
+ */
25
+ private _startCleanup;
26
+ connect(): Promise<void>;
27
+ disconnect(): Promise<void>;
28
+ isConnected(): Promise<boolean>;
29
+ enqueue<T = unknown>(name: string, data: T, options?: QueueOptions): Promise<string>;
30
+ claim(count: number, timeout: number): Promise<Job[]>;
31
+ complete(jobId: string): Promise<void>;
32
+ fail(jobId: string, error: string, stackTrace?: string): Promise<void>;
33
+ scheduleRetry(jobId: string, delayMs: number, error: string): Promise<void>;
34
+ getJob(jobId: string): Promise<Job | null>;
35
+ getMetrics(): Promise<QueueMetrics>;
36
+ clear(): Promise<void>;
37
+ }
38
+ //# sourceMappingURL=memory.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"memory.d.ts","sourceRoot":"","sources":["../../../src/jobs/drivers/memory.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EACX,GAAG,EACH,cAAc,EACd,cAAc,EACd,YAAY,EACZ,YAAY,EACZ,MAAM,UAAU,CAAC;AAWlB,qBAAa,oBAAqB,YAAW,cAAc;IAoB9C,OAAO,CAAC,MAAM;IAnB1B,OAAO,CAAC,QAAQ,CAAgC;IAChD,OAAO,CAAC,YAAY,CAAgB;IACpC,OAAO,CAAC,aAAa,CAAqB;IAC1C,OAAO,CAAC,WAAW,CAAgB;IACnC,OAAO,CAAC,eAAe,CAA+C;IACtE,OAAO,CAAC,UAAU,CAAK;IACvB,OAAO,CAAC,OAAO,CAWb;gBAEkB,MAAM,GAAE,cAAmB;IAI/C;;OAEG;IACH,OAAO,CAAC,aAAa;IAKrB;;OAEG;IACH,OAAO,CAAC,aAAa;IAWf,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAIxB,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAW3B,WAAW,IAAI,OAAO,CAAC,OAAO,CAAC;IAI/B,OAAO,CAAC,CAAC,GAAG,OAAO,EACxB,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,CAAC,EACP,OAAO,CAAC,EAAE,YAAY,GACpB,OAAO,CAAC,MAAM,CAAC;IAgDZ,KAAK,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC;IA4CrD,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAgDtC,IAAI,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IA0BtE,aAAa,CAClB,KAAK,EAAE,MAAM,EACb,OAAO,EAAE,MAAM,EACf,KAAK,EAAE,MAAM,GACX,OAAO,CAAC,IAAI,CAAC;IAwBV,MAAM,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,GAAG,GAAG,IAAI,CAAC;IAK1C,UAAU,IAAI,OAAO,CAAC,YAAY,CAAC;IAInC,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;CAkB5B"}
@@ -0,0 +1,246 @@
1
+ /**
2
+ * In-Memory Job Queue Driver
3
+ *
4
+ * Used for development and testing. No external dependencies.
5
+ * Jobs are stored in memory and lost on process restart.
6
+ */
7
+ // ============= Memory Job Queue Driver =============
8
+ export class MemoryJobQueueDriver {
9
+ config;
10
+ jobStore = new Map();
11
+ pendingQueue = []; // Job IDs in FIFO order
12
+ processingSet = new Set(); // Currently claimed jobs
13
+ failedQueue = [];
14
+ cleanupInterval = null;
15
+ jobCounter = 0; // For generating sequential IDs
16
+ metrics = {
17
+ enqueued: 0,
18
+ processed: 0,
19
+ failed: 0,
20
+ pending: 0,
21
+ processing: 0,
22
+ avgLatency: 0,
23
+ totalLatency: 0,
24
+ retried: 0,
25
+ successRate: 0,
26
+ avgAttempts: 0,
27
+ };
28
+ constructor(config = {}) {
29
+ this.config = config;
30
+ this._startCleanup();
31
+ }
32
+ /**
33
+ * Generate a unique job ID
34
+ */
35
+ generateJobId() {
36
+ this.jobCounter++;
37
+ return `job:memory:${Date.now()}:${this.jobCounter}`;
38
+ }
39
+ /**
40
+ * Start periodic cleanup of expired jobs
41
+ */
42
+ _startCleanup() {
43
+ this.cleanupInterval = setInterval(() => {
44
+ const now = Date.now();
45
+ for (const [jobId, stored] of this.jobStore.entries()) {
46
+ if (now > stored.expiresAt) {
47
+ this.jobStore.delete(jobId);
48
+ }
49
+ }
50
+ }, 30000); // Run every 30 seconds
51
+ }
52
+ async connect() {
53
+ // No-op for in-memory driver
54
+ }
55
+ async disconnect() {
56
+ if (this.cleanupInterval) {
57
+ clearInterval(this.cleanupInterval);
58
+ this.cleanupInterval = null;
59
+ }
60
+ this.jobStore.clear();
61
+ this.pendingQueue = [];
62
+ this.processingSet.clear();
63
+ this.failedQueue = [];
64
+ }
65
+ async isConnected() {
66
+ return true; // Always connected for in-memory
67
+ }
68
+ async enqueue(name, data, options) {
69
+ const jobId = this.generateJobId();
70
+ const now = new Date();
71
+ const job = {
72
+ id: jobId,
73
+ name,
74
+ data,
75
+ status: "pending",
76
+ attempts: 0,
77
+ maxRetries: options?.maxRetries ?? this.config.maxRetries ?? 3,
78
+ createdAt: now.toISOString(),
79
+ updatedAt: now.toISOString(),
80
+ priority: options?.priority ?? 0,
81
+ metadata: options?.metadata,
82
+ };
83
+ // Handle delayed jobs
84
+ if (options?.delay) {
85
+ const delayMs = options.delay instanceof Date
86
+ ? options.delay.getTime() - Date.now()
87
+ : options.delay;
88
+ if (delayMs > 0) {
89
+ job.status = "delayed";
90
+ job.scheduledFor = new Date(Date.now() + delayMs).toISOString();
91
+ }
92
+ }
93
+ // Store job with expiry (7 days by default)
94
+ const expiryMs = 7 * 24 * 60 * 60 * 1000;
95
+ this.jobStore.set(jobId, {
96
+ job,
97
+ expiresAt: Date.now() + expiryMs,
98
+ });
99
+ // Add to pending queue if not delayed
100
+ if (job.status === "pending") {
101
+ this.pendingQueue.push(jobId);
102
+ }
103
+ this.metrics.enqueued++;
104
+ this.metrics.pending = this.pendingQueue.length;
105
+ return jobId;
106
+ }
107
+ async claim(count, timeout) {
108
+ const now = Date.now();
109
+ const claimed = [];
110
+ // Move delayed jobs to pending if their time has come
111
+ const toRemove = [];
112
+ this.jobStore.forEach((stored, jobId) => {
113
+ if (stored.job.status === "delayed" &&
114
+ stored.job.scheduledFor &&
115
+ new Date(stored.job.scheduledFor).getTime() <= now) {
116
+ stored.job.status = "pending";
117
+ if (!this.pendingQueue.includes(jobId)) {
118
+ this.pendingQueue.push(jobId);
119
+ }
120
+ }
121
+ });
122
+ // Claim up to 'count' pending jobs
123
+ while (claimed.length < count && this.pendingQueue.length > 0) {
124
+ const jobId = this.pendingQueue.shift();
125
+ if (!jobId)
126
+ break;
127
+ const stored = this.jobStore.get(jobId);
128
+ if (!stored)
129
+ continue;
130
+ const job = stored.job;
131
+ job.status = "processing";
132
+ job.attempts++;
133
+ job.startedAt = new Date().toISOString();
134
+ job.claimExpiresAt = new Date(now + timeout).toISOString();
135
+ job.updatedAt = new Date().toISOString();
136
+ this.processingSet.add(jobId);
137
+ claimed.push(job);
138
+ }
139
+ this.metrics.processing = this.processingSet.size;
140
+ this.metrics.pending = this.pendingQueue.length;
141
+ return claimed;
142
+ }
143
+ async complete(jobId) {
144
+ const stored = this.jobStore.get(jobId);
145
+ if (!stored)
146
+ return;
147
+ const job = stored.job;
148
+ const now = new Date();
149
+ job.status = "completed";
150
+ job.completedAt = now.toISOString();
151
+ job.updatedAt = now.toISOString();
152
+ // Calculate duration
153
+ if (job.startedAt) {
154
+ job.duration =
155
+ new Date(job.completedAt).getTime() - new Date(job.startedAt).getTime();
156
+ this.metrics.totalLatency += job.duration;
157
+ }
158
+ this.processingSet.delete(jobId);
159
+ this.metrics.processed++;
160
+ this.metrics.processing = this.processingSet.size;
161
+ // Update average latency
162
+ if (this.metrics.processed > 0) {
163
+ this.metrics.avgLatency =
164
+ this.metrics.totalLatency / this.metrics.processed;
165
+ }
166
+ // Update success rate
167
+ const total = this.metrics.processed + this.metrics.failed + this.metrics.pending;
168
+ if (total > 0) {
169
+ this.metrics.successRate = this.metrics.processed / total;
170
+ }
171
+ // Calculate average attempts
172
+ const allJobs = Array.from(this.jobStore.values())
173
+ .map((s) => s.job)
174
+ .filter((j) => j.status === "completed" || j.status === "failed");
175
+ if (allJobs.length > 0) {
176
+ const totalAttempts = allJobs.reduce((sum, j) => sum + (j.attempts || 1), 0);
177
+ this.metrics.avgAttempts = totalAttempts / allJobs.length;
178
+ }
179
+ }
180
+ async fail(jobId, error, stackTrace) {
181
+ const stored = this.jobStore.get(jobId);
182
+ if (!stored)
183
+ return;
184
+ const job = stored.job;
185
+ const now = new Date();
186
+ job.error = error;
187
+ job.stackTrace = stackTrace;
188
+ job.status = "failed";
189
+ job.updatedAt = now.toISOString();
190
+ this.processingSet.delete(jobId);
191
+ this.failedQueue.push(jobId);
192
+ this.metrics.failed++;
193
+ this.metrics.processing = this.processingSet.size;
194
+ // Update success rate
195
+ const total = this.metrics.processed + this.metrics.failed + this.metrics.pending;
196
+ if (total > 0) {
197
+ this.metrics.successRate = this.metrics.processed / total;
198
+ }
199
+ }
200
+ async scheduleRetry(jobId, delayMs, error) {
201
+ const stored = this.jobStore.get(jobId);
202
+ if (!stored)
203
+ return;
204
+ const job = stored.job;
205
+ const now = new Date();
206
+ job.error = error;
207
+ job.status = "delayed";
208
+ job.scheduledFor = new Date(now.getTime() + delayMs).toISOString();
209
+ job.updatedAt = now.toISOString();
210
+ // Remove from processing and failed queues
211
+ this.processingSet.delete(jobId);
212
+ const failedIndex = this.failedQueue.indexOf(jobId);
213
+ if (failedIndex >= 0) {
214
+ this.failedQueue.splice(failedIndex, 1);
215
+ }
216
+ // Don't add back to pending yet - it will be added when delay expires
217
+ this.metrics.retried++;
218
+ this.metrics.processing = this.processingSet.size;
219
+ }
220
+ async getJob(jobId) {
221
+ const stored = this.jobStore.get(jobId);
222
+ return stored ? stored.job : null;
223
+ }
224
+ async getMetrics() {
225
+ return { ...this.metrics };
226
+ }
227
+ async clear() {
228
+ this.jobStore.clear();
229
+ this.pendingQueue = [];
230
+ this.processingSet.clear();
231
+ this.failedQueue = [];
232
+ this.metrics = {
233
+ enqueued: 0,
234
+ processed: 0,
235
+ failed: 0,
236
+ pending: 0,
237
+ processing: 0,
238
+ avgLatency: 0,
239
+ totalLatency: 0,
240
+ retried: 0,
241
+ successRate: 0,
242
+ avgAttempts: 0,
243
+ };
244
+ }
245
+ }
246
+ //# sourceMappingURL=memory.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"memory.js","sourceRoot":"","sources":["../../../src/jobs/drivers/memory.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,34 @@
1
+ /**
2
+ * Redis Job Queue Driver
3
+ *
4
+ * Production-grade driver using Bun's native Redis client.
5
+ * Supports atomic operations via Lua scripts.
6
+ */
7
+ import type { Job, JobQueueConfig, JobQueueDriver, QueueMetrics, QueueOptions } from "../types";
8
+ export declare class RedisJobQueueDriver implements JobQueueDriver {
9
+ private config;
10
+ private client;
11
+ private _isConnected;
12
+ private keyPrefix;
13
+ constructor(config?: JobQueueConfig);
14
+ /**
15
+ * Get prefixed key name
16
+ */
17
+ private key;
18
+ /**
19
+ * Type-safe Redis client getter
20
+ */
21
+ private getClient;
22
+ connect(): Promise<void>;
23
+ disconnect(): Promise<void>;
24
+ isConnected(): Promise<boolean>;
25
+ enqueue<T = unknown>(name: string, data: T, options?: QueueOptions): Promise<string>;
26
+ claim(count: number, timeout: number): Promise<Job[]>;
27
+ complete(jobId: string): Promise<void>;
28
+ fail(jobId: string, error: string, stackTrace?: string): Promise<void>;
29
+ scheduleRetry(jobId: string, delayMs: number, error: string): Promise<void>;
30
+ getJob(jobId: string): Promise<Job | null>;
31
+ getMetrics(): Promise<QueueMetrics>;
32
+ clear(): Promise<void>;
33
+ }
34
+ //# sourceMappingURL=redis.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"redis.d.ts","sourceRoot":"","sources":["../../../src/jobs/drivers/redis.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EACX,GAAG,EACH,cAAc,EACd,cAAc,EACd,YAAY,EACZ,YAAY,EACZ,MAAM,UAAU,CAAC;AA+HlB,qBAAa,mBAAoB,YAAW,cAAc;IAK7C,OAAO,CAAC,MAAM;IAJ1B,OAAO,CAAC,MAAM,CAAiB;IAC/B,OAAO,CAAC,YAAY,CAAS;IAC7B,OAAO,CAAC,SAAS,CAAS;gBAEN,MAAM,GAAE,cAAmB;IAI/C;;OAEG;IACH,OAAO,CAAC,GAAG;IAIX;;OAEG;IACH,OAAO,CAAC,SAAS;IA0BX,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAgBxB,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAK3B,WAAW,IAAI,OAAO,CAAC,OAAO,CAAC;IAI/B,OAAO,CAAC,CAAC,GAAG,OAAO,EACxB,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,CAAC,EACP,OAAO,CAAC,EAAE,YAAY,GACpB,OAAO,CAAC,MAAM,CAAC;IA6CZ,KAAK,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC;IA2CrD,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAkCtC,IAAI,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAqBtE,aAAa,CAClB,KAAK,EAAE,MAAM,EACb,OAAO,EAAE,MAAM,EACf,KAAK,EAAE,MAAM,GACX,OAAO,CAAC,IAAI,CAAC;IAuBV,MAAM,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,GAAG,GAAG,IAAI,CAAC;IAS1C,UAAU,IAAI,OAAO,CAAC,YAAY,CAAC;IA+BnC,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;CAkC5B"}