@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,66 @@
1
+ /**
2
+ * Deep merge utilities for configuration
3
+ */
4
+ import type { BuenoConfig, DeepPartial } from "./types";
5
+ /**
6
+ * Check if a value is a plain object (not an array, not null, not a class instance)
7
+ */
8
+ export declare function isPlainObject(value: unknown): value is Record<string, unknown>;
9
+ /**
10
+ * Check if a value is an object (alias for isPlainObject)
11
+ */
12
+ export declare function isObject(value: unknown): value is Record<string, unknown>;
13
+ /**
14
+ * Deep merge two values
15
+ * - Objects are merged recursively
16
+ * - Arrays are concatenated (not merged element-wise)
17
+ * - Primitive values from source override target
18
+ */
19
+ export declare function deepMerge<T>(target: T, source: DeepPartial<T>): T;
20
+ /**
21
+ * Merge multiple configuration objects
22
+ * Later configs have higher priority
23
+ */
24
+ export declare function mergeConfigs<T extends BuenoConfig = BuenoConfig>(...configs: (DeepPartial<T> | undefined | null)[]): DeepPartial<T>;
25
+ /**
26
+ * Deep clone a configuration object
27
+ */
28
+ export declare function deepClone<T>(obj: T): T;
29
+ /**
30
+ * Get a value from an object using dot notation
31
+ * @example getNestedValue({ a: { b: { c: 1 } } }, 'a.b.c') // returns 1
32
+ */
33
+ export declare function getNestedValue<T = unknown>(obj: Record<string, unknown>, path: string): T | undefined;
34
+ /**
35
+ * Set a value in an object using dot notation
36
+ * @example setNestedValue({}, 'a.b.c', 1) // returns { a: { b: { c: 1 } } }
37
+ */
38
+ export declare function setNestedValue(obj: Record<string, unknown>, path: string, value: unknown): Record<string, unknown>;
39
+ /**
40
+ * Delete a value from an object using dot notation
41
+ * @example deleteNestedValue({ a: { b: { c: 1 } } }, 'a.b.c') // returns { a: { b: {} } }
42
+ */
43
+ export declare function deleteNestedValue(obj: Record<string, unknown>, path: string): Record<string, unknown>;
44
+ /**
45
+ * Check if a path exists in an object
46
+ */
47
+ export declare function hasNestedValue(obj: Record<string, unknown>, path: string): boolean;
48
+ /**
49
+ * Flatten a nested object to dot notation keys
50
+ * @example flattenObject({ a: { b: { c: 1 } } }) // returns { 'a.b.c': 1 }
51
+ */
52
+ export declare function flattenObject(obj: Record<string, unknown>, prefix?: string): Record<string, unknown>;
53
+ /**
54
+ * Unflatten a dot notation object to nested object
55
+ * @example unflattenObject({ 'a.b.c': 1 }) // returns { a: { b: { c: 1 } } }
56
+ */
57
+ export declare function unflattenObject(obj: Record<string, unknown>): Record<string, unknown>;
58
+ /**
59
+ * Compare two configurations and return the differences
60
+ */
61
+ export declare function diffConfigs(target: BuenoConfig, source: BuenoConfig): {
62
+ added: string[];
63
+ removed: string[];
64
+ changed: string[];
65
+ };
66
+ //# sourceMappingURL=merge.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"merge.d.ts","sourceRoot":"","sources":["../../src/config/merge.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAExD;;GAEG;AACH,wBAAgB,aAAa,CAC5B,KAAK,EAAE,OAAO,GACZ,KAAK,IAAI,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAMlC;AAED;;GAEG;AACH,wBAAgB,QAAQ,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAEzE;AAED;;;;;GAKG;AACH,wBAAgB,SAAS,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,WAAW,CAAC,CAAC,CAAC,GAAG,CAAC,CA8CjE;AAED;;;GAGG;AACH,wBAAgB,YAAY,CAAC,CAAC,SAAS,WAAW,GAAG,WAAW,EAC/D,GAAG,OAAO,EAAE,CAAC,WAAW,CAAC,CAAC,CAAC,GAAG,SAAS,GAAG,IAAI,CAAC,EAAE,GAC/C,WAAW,CAAC,CAAC,CAAC,CAchB;AAED;;GAEG;AACH,wBAAgB,SAAS,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC,CAmBtC;AAED;;;GAGG;AACH,wBAAgB,cAAc,CAAC,CAAC,GAAG,OAAO,EACzC,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC5B,IAAI,EAAE,MAAM,GACV,CAAC,GAAG,SAAS,CAgBf;AAED;;;GAGG;AACH,wBAAgB,cAAc,CAC7B,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC5B,IAAI,EAAE,MAAM,EACZ,KAAK,EAAE,OAAO,GACZ,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAezB;AAED;;;GAGG;AACH,wBAAgB,iBAAiB,CAChC,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC5B,IAAI,EAAE,MAAM,GACV,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAezB;AAED;;GAEG;AACH,wBAAgB,cAAc,CAC7B,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC5B,IAAI,EAAE,MAAM,GACV,OAAO,CAET;AAED;;;GAGG;AACH,wBAAgB,aAAa,CAC5B,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC5B,MAAM,SAAK,GACT,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAezB;AAED;;;GAGG;AACH,wBAAgB,eAAe,CAC9B,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC1B,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAmBzB;AAED;;GAEG;AACH,wBAAgB,WAAW,CAC1B,MAAM,EAAE,WAAW,EACnB,MAAM,EAAE,WAAW,GACjB;IAAE,KAAK,EAAE,MAAM,EAAE,CAAC;IAAC,OAAO,EAAE,MAAM,EAAE,CAAC;IAAC,OAAO,EAAE,MAAM,EAAE,CAAA;CAAE,CA4B3D"}
@@ -0,0 +1,226 @@
1
+ /**
2
+ * Deep merge utilities for configuration
3
+ */
4
+ /**
5
+ * Check if a value is a plain object (not an array, not null, not a class instance)
6
+ */
7
+ export function isPlainObject(value) {
8
+ if (value === null || typeof value !== "object") {
9
+ return false;
10
+ }
11
+ const proto = Object.getPrototypeOf(value);
12
+ return proto === null || proto === Object.prototype;
13
+ }
14
+ /**
15
+ * Check if a value is an object (alias for isPlainObject)
16
+ */
17
+ export function isObject(value) {
18
+ return isPlainObject(value);
19
+ }
20
+ /**
21
+ * Deep merge two values
22
+ * - Objects are merged recursively
23
+ * - Arrays are concatenated (not merged element-wise)
24
+ * - Primitive values from source override target
25
+ */
26
+ export function deepMerge(target, source) {
27
+ // Handle null/undefined source
28
+ if (source === null || source === undefined) {
29
+ return target;
30
+ }
31
+ // Handle null/undefined target
32
+ if (target === null || target === undefined) {
33
+ return source;
34
+ }
35
+ // If source is not an object, return source (override)
36
+ if (!isPlainObject(source)) {
37
+ return source;
38
+ }
39
+ // If target is not an object but source is, return source
40
+ if (!isPlainObject(target)) {
41
+ return source;
42
+ }
43
+ // Both are objects, merge them
44
+ const result = { ...target };
45
+ const sourceRecord = source;
46
+ const targetRecord = target;
47
+ for (const key of Object.keys(source)) {
48
+ const sourceValue = sourceRecord[key];
49
+ const targetValue = targetRecord[key];
50
+ if (isPlainObject(sourceValue) && isPlainObject(targetValue)) {
51
+ // Both are objects, merge recursively
52
+ result[key] = deepMerge(targetValue, sourceValue);
53
+ }
54
+ else if (Array.isArray(sourceValue) && Array.isArray(targetValue)) {
55
+ // Both are arrays, concatenate them
56
+ result[key] = [...targetValue, ...sourceValue];
57
+ }
58
+ else {
59
+ // Override with source value
60
+ result[key] = sourceValue;
61
+ }
62
+ }
63
+ return result;
64
+ }
65
+ /**
66
+ * Merge multiple configuration objects
67
+ * Later configs have higher priority
68
+ */
69
+ export function mergeConfigs(...configs) {
70
+ return configs.reduce((acc, config) => {
71
+ if (config === undefined || config === null) {
72
+ return acc;
73
+ }
74
+ // Use unknown as intermediate type to avoid recursive type issues
75
+ return deepMerge(acc, config);
76
+ }, {});
77
+ }
78
+ /**
79
+ * Deep clone a configuration object
80
+ */
81
+ export function deepClone(obj) {
82
+ if (obj === null || typeof obj !== "object") {
83
+ return obj;
84
+ }
85
+ if (Array.isArray(obj)) {
86
+ return obj.map((item) => deepClone(item));
87
+ }
88
+ if (isPlainObject(obj)) {
89
+ const result = {};
90
+ for (const key of Object.keys(obj)) {
91
+ result[key] = deepClone(obj[key]);
92
+ }
93
+ return result;
94
+ }
95
+ // For other types (Date, Map, Set, etc.), return as-is
96
+ return obj;
97
+ }
98
+ /**
99
+ * Get a value from an object using dot notation
100
+ * @example getNestedValue({ a: { b: { c: 1 } } }, 'a.b.c') // returns 1
101
+ */
102
+ export function getNestedValue(obj, path) {
103
+ const keys = path.split(".");
104
+ let current = obj;
105
+ for (const key of keys) {
106
+ if (current === null || current === undefined) {
107
+ return undefined;
108
+ }
109
+ if (isPlainObject(current)) {
110
+ current = current[key];
111
+ }
112
+ else {
113
+ return undefined;
114
+ }
115
+ }
116
+ return current;
117
+ }
118
+ /**
119
+ * Set a value in an object using dot notation
120
+ * @example setNestedValue({}, 'a.b.c', 1) // returns { a: { b: { c: 1 } } }
121
+ */
122
+ export function setNestedValue(obj, path, value) {
123
+ const keys = path.split(".");
124
+ const result = deepClone(obj);
125
+ let current = result;
126
+ for (let i = 0; i < keys.length - 1; i++) {
127
+ const key = keys[i];
128
+ if (!isPlainObject(current[key])) {
129
+ current[key] = {};
130
+ }
131
+ current = current[key];
132
+ }
133
+ current[keys[keys.length - 1]] = value;
134
+ return result;
135
+ }
136
+ /**
137
+ * Delete a value from an object using dot notation
138
+ * @example deleteNestedValue({ a: { b: { c: 1 } } }, 'a.b.c') // returns { a: { b: {} } }
139
+ */
140
+ export function deleteNestedValue(obj, path) {
141
+ const keys = path.split(".");
142
+ const result = deepClone(obj);
143
+ let current = result;
144
+ for (let i = 0; i < keys.length - 1; i++) {
145
+ const key = keys[i];
146
+ if (!isPlainObject(current[key])) {
147
+ return result; // Path doesn't exist, nothing to delete
148
+ }
149
+ current = current[key];
150
+ }
151
+ delete current[keys[keys.length - 1]];
152
+ return result;
153
+ }
154
+ /**
155
+ * Check if a path exists in an object
156
+ */
157
+ export function hasNestedValue(obj, path) {
158
+ return getNestedValue(obj, path) !== undefined;
159
+ }
160
+ /**
161
+ * Flatten a nested object to dot notation keys
162
+ * @example flattenObject({ a: { b: { c: 1 } } }) // returns { 'a.b.c': 1 }
163
+ */
164
+ export function flattenObject(obj, prefix = "") {
165
+ const result = {};
166
+ for (const key of Object.keys(obj)) {
167
+ const newKey = prefix ? `${prefix}.${key}` : key;
168
+ const value = obj[key];
169
+ if (isPlainObject(value)) {
170
+ Object.assign(result, flattenObject(value, newKey));
171
+ }
172
+ else {
173
+ result[newKey] = value;
174
+ }
175
+ }
176
+ return result;
177
+ }
178
+ /**
179
+ * Unflatten a dot notation object to nested object
180
+ * @example unflattenObject({ 'a.b.c': 1 }) // returns { a: { b: { c: 1 } } }
181
+ */
182
+ export function unflattenObject(obj) {
183
+ const result = {};
184
+ for (const key of Object.keys(obj)) {
185
+ const keys = key.split(".");
186
+ let current = result;
187
+ for (let i = 0; i < keys.length - 1; i++) {
188
+ const k = keys[i];
189
+ if (!isPlainObject(current[k])) {
190
+ current[k] = {};
191
+ }
192
+ current = current[k];
193
+ }
194
+ current[keys[keys.length - 1]] = obj[key];
195
+ }
196
+ return result;
197
+ }
198
+ /**
199
+ * Compare two configurations and return the differences
200
+ */
201
+ export function diffConfigs(target, source) {
202
+ const flatTarget = flattenObject(target);
203
+ const flatSource = flattenObject(source);
204
+ const targetKeys = new Set(Object.keys(flatTarget));
205
+ const sourceKeys = new Set(Object.keys(flatSource));
206
+ const added = [];
207
+ const removed = [];
208
+ const changed = [];
209
+ // Find added keys
210
+ for (const key of sourceKeys) {
211
+ if (!targetKeys.has(key)) {
212
+ added.push(key);
213
+ }
214
+ else if (flatTarget[key] !== flatSource[key]) {
215
+ changed.push(key);
216
+ }
217
+ }
218
+ // Find removed keys
219
+ for (const key of targetKeys) {
220
+ if (!sourceKeys.has(key)) {
221
+ removed.push(key);
222
+ }
223
+ }
224
+ return { added, removed, changed };
225
+ }
226
+ //# sourceMappingURL=merge.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"merge.js","sourceRoot":"","sources":["../../src/config/merge.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,322 @@
1
+ /**
2
+ * Configuration type definitions for Bueno Framework
3
+ */
4
+ import type { StandardSchema } from "../types";
5
+ export interface ServerConfig {
6
+ /** Server port (default: 3000) */
7
+ port?: number;
8
+ /** Server host (default: 'localhost') */
9
+ host?: string;
10
+ /** Enable development mode */
11
+ development?: boolean;
12
+ }
13
+ export interface DatabaseConfig {
14
+ /** Database connection URL */
15
+ url?: string;
16
+ /** Connection pool size */
17
+ poolSize?: number;
18
+ /** Enable database metrics */
19
+ enableMetrics?: boolean;
20
+ /** Slow query threshold in milliseconds */
21
+ slowQueryThreshold?: number;
22
+ }
23
+ export interface CacheConfig {
24
+ /** Cache driver type */
25
+ driver?: "redis" | "memory";
26
+ /** Redis connection URL */
27
+ url?: string;
28
+ /** Default TTL in seconds */
29
+ ttl?: number;
30
+ /** Key prefix for namespacing */
31
+ keyPrefix?: string;
32
+ /** Enable cache metrics */
33
+ enableMetrics?: boolean;
34
+ }
35
+ export type LogLevel = "debug" | "info" | "warn" | "error" | "fatal";
36
+ export interface LoggerConfig {
37
+ /** Log level (default: 'info') */
38
+ level?: LogLevel;
39
+ /** Pretty print logs (default: true in development) */
40
+ pretty?: boolean;
41
+ /** Output destination */
42
+ output?: "console" | "stdout";
43
+ }
44
+ export interface HealthConfig {
45
+ /** Enable health check endpoints */
46
+ enabled?: boolean;
47
+ /** Health check endpoint path (default: '/health') */
48
+ healthPath?: string;
49
+ /** Readiness check endpoint path (default: '/ready') */
50
+ readyPath?: string;
51
+ }
52
+ export interface MetricsConfig {
53
+ /** Enable metrics collection */
54
+ enabled?: boolean;
55
+ /** Collection interval in milliseconds */
56
+ collectInterval?: number;
57
+ /** Maximum history size */
58
+ maxHistorySize?: number;
59
+ }
60
+ export interface ObservabilityConfig {
61
+ /** Enable the observability integration layer */
62
+ enabled?: boolean;
63
+ /** Maximum breadcrumb ring buffer size (default: 20) */
64
+ breadcrumbsSize?: number;
65
+ /** HTTP status codes to suppress from error reporting (e.g. [404, 401]) */
66
+ ignoreStatusCodes?: number[];
67
+ }
68
+ export interface TelemetryConfig {
69
+ /** Enable OpenTelemetry tracing */
70
+ enabled?: boolean;
71
+ /** Service name for tracing */
72
+ serviceName?: string;
73
+ /** OTLP endpoint URL */
74
+ endpoint?: string;
75
+ /** Sampling rate (0.0 to 1.0) */
76
+ sampleRate?: number;
77
+ }
78
+ export interface JobsConfig {
79
+ /** Enable background jobs */
80
+ enabled?: boolean;
81
+ /** Job queue driver type */
82
+ driver?: "redis" | "memory";
83
+ /** Redis connection URL */
84
+ url?: string;
85
+ /** Key prefix for jobs (default: 'jobs:') */
86
+ keyPrefix?: string;
87
+ /** Max concurrent jobs (default: 10) */
88
+ concurrency?: number;
89
+ /** Max retry attempts (default: 3) */
90
+ maxRetries?: number;
91
+ /** Retry delay in seconds (default: 1) */
92
+ retryDelay?: number;
93
+ /** Job batch size (default: 10) */
94
+ batchSize?: number;
95
+ /** Poll interval in milliseconds (default: 1000) */
96
+ pollInterval?: number;
97
+ /** Job timeout in milliseconds (default: 300000 / 5 minutes) */
98
+ jobTimeout?: number;
99
+ /** Enable metrics collection */
100
+ enableMetrics?: boolean;
101
+ }
102
+ export interface TemplateConfig {
103
+ /** Enable template system */
104
+ enabled?: boolean;
105
+ /** Base path to templates directory (default: 'resources/templates') */
106
+ basePath?: string;
107
+ /** Cache configuration */
108
+ cache?: {
109
+ /** Enable template caching (default: true) */
110
+ enabled?: boolean;
111
+ /** Cache TTL in seconds (default: 3600) */
112
+ ttl?: number;
113
+ /** Maximum templates in cache (default: 100) */
114
+ maxSize?: number;
115
+ };
116
+ /** Enable file watching for hot reload in development */
117
+ watch?: boolean;
118
+ /** Default output format: 'html' or 'text' */
119
+ defaultFormat?: "html" | "text";
120
+ /** Channel to variant mapping for auto-detection */
121
+ channelVariantMap?: Record<string, string>;
122
+ }
123
+ export interface NotificationConfig {
124
+ /** Enable notification service */
125
+ enabled?: boolean;
126
+ /** Enable metrics collection */
127
+ enableMetrics?: boolean;
128
+ /** Default channel for sending */
129
+ defaultChannel?: string;
130
+ /** Enable job queue integration for async sending */
131
+ queue?: boolean;
132
+ /** Email channel configuration */
133
+ email?: {
134
+ enabled?: boolean;
135
+ driver?: "smtp" | "sendgrid" | "brevo" | "resend";
136
+ from?: string;
137
+ fromName?: string;
138
+ dryRun?: boolean;
139
+ smtp?: {
140
+ host?: string;
141
+ port?: number;
142
+ secure?: boolean;
143
+ username?: string;
144
+ password?: string;
145
+ };
146
+ apiKey?: string;
147
+ };
148
+ /** SMS channel configuration */
149
+ sms?: {
150
+ enabled?: boolean;
151
+ driver?: "twilio" | "aws-sns" | "custom";
152
+ dryRun?: boolean;
153
+ accountSid?: string;
154
+ authToken?: string;
155
+ fromNumber?: string;
156
+ apiKey?: string;
157
+ };
158
+ /** WhatsApp channel configuration */
159
+ whatsapp?: {
160
+ enabled?: boolean;
161
+ driver?: "twilio" | "custom";
162
+ dryRun?: boolean;
163
+ accountSid?: string;
164
+ authToken?: string;
165
+ businessPhoneNumber?: string;
166
+ apiKey?: string;
167
+ };
168
+ /** Push notification channel configuration */
169
+ push?: {
170
+ enabled?: boolean;
171
+ driver?: "firebase" | "apns" | "custom";
172
+ dryRun?: boolean;
173
+ serverKey?: string;
174
+ certificatePath?: string;
175
+ apiKey?: string;
176
+ };
177
+ }
178
+ export interface I18nConfig {
179
+ /** Enable i18n system */
180
+ enabled?: boolean;
181
+ /** Default locale — used as fallback when requested locale has missing keys (default: "en") */
182
+ defaultLocale?: string;
183
+ /** List of supported locale identifiers (default: ["en"]) */
184
+ supportedLocales?: string[];
185
+ /** Base directory for locale JSON files (default: "resources/i18n") */
186
+ basePath?: string;
187
+ /**
188
+ * Fall back to defaultLocale when a key is missing in the requested locale.
189
+ * (default: true)
190
+ */
191
+ fallbackToDefault?: boolean;
192
+ /** Cookie name used to persist locale choice (default: "bueno_locale") */
193
+ cookieName?: string;
194
+ /** Cookie max-age in seconds (default: 31536000 — 1 year) */
195
+ cookieMaxAge?: number;
196
+ /** Enable file watching for hot reload in development */
197
+ watch?: boolean;
198
+ }
199
+ export interface FrontendConfig {
200
+ /** Enable development server */
201
+ devServer?: boolean;
202
+ /** Enable Hot Module Replacement */
203
+ hmr?: boolean;
204
+ /** Frontend dev server port */
205
+ port?: number;
206
+ }
207
+ export interface GraphQLConfig {
208
+ /** Enable GraphQL support (default: false) */
209
+ enabled?: boolean;
210
+ /** HTTP path for GraphQL endpoint (default: '/graphql') */
211
+ path?: string;
212
+ /** Enable GraphiQL playground (default: auto — true with adapter, false with built-in) */
213
+ playground?: boolean;
214
+ /** Enable SDL introspection endpoint at GET <path>/schema (default: true) */
215
+ introspection?: boolean;
216
+ /** Maximum query complexity score (default: 1000) */
217
+ complexityLimit?: number;
218
+ /** Maximum query depth (default: 10) */
219
+ maxDepth?: number;
220
+ /** Enable WebSocket subscriptions (default: false) */
221
+ subscriptions?: boolean;
222
+ }
223
+ /**
224
+ * Main configuration interface for Bueno Framework
225
+ */
226
+ export interface BuenoConfig {
227
+ /** Server configuration */
228
+ server?: ServerConfig;
229
+ /** Database configuration */
230
+ database?: DatabaseConfig;
231
+ /** Cache configuration */
232
+ cache?: CacheConfig;
233
+ /** Jobs configuration */
234
+ jobs?: JobsConfig;
235
+ /** Template configuration */
236
+ template?: TemplateConfig;
237
+ /** Notification configuration */
238
+ notification?: NotificationConfig;
239
+ /** i18n configuration */
240
+ i18n?: I18nConfig;
241
+ /** Logger configuration */
242
+ logger?: LoggerConfig;
243
+ /** Health check configuration */
244
+ health?: HealthConfig;
245
+ /** Metrics configuration */
246
+ metrics?: MetricsConfig;
247
+ /** Telemetry configuration */
248
+ telemetry?: TelemetryConfig;
249
+ /** Observability / error tracking configuration */
250
+ observability?: ObservabilityConfig;
251
+ /** Frontend configuration */
252
+ frontend?: FrontendConfig;
253
+ /** GraphQL configuration */
254
+ graphql?: GraphQLConfig;
255
+ }
256
+ export interface ConfigManagerOptions {
257
+ /** Path to config file (default: auto-detect) */
258
+ configPath?: string;
259
+ /** Whether to load environment variables (default: true) */
260
+ loadEnv?: boolean;
261
+ /** Whether to validate config (default: true) */
262
+ validate?: boolean;
263
+ /** Custom validation schema */
264
+ schema?: StandardSchema<BuenoConfig>;
265
+ /** Environment to load (.env.{NODE_ENV}) */
266
+ env?: string;
267
+ }
268
+ export type ConfigSource = "default" | "file" | "env" | "cli" | "runtime";
269
+ export interface ConfigSourceInfo {
270
+ /** Source of the configuration value */
271
+ source: ConfigSource;
272
+ /** File path if from file */
273
+ filePath?: string;
274
+ /** Environment variable name if from env */
275
+ envVar?: string;
276
+ }
277
+ export interface ConfigChangeEvent {
278
+ /** Key that changed (dot notation) */
279
+ key: string;
280
+ /** Previous value */
281
+ oldValue: unknown;
282
+ /** New value */
283
+ newValue: unknown;
284
+ /** Source of the change */
285
+ source: ConfigSource;
286
+ /** Timestamp of the change */
287
+ timestamp: Date;
288
+ }
289
+ export type ConfigWatchCallback = (event: ConfigChangeEvent) => void;
290
+ /**
291
+ * Infer configuration type from a schema
292
+ */
293
+ export type InferConfig<T extends StandardSchema<BuenoConfig>> = NonNullable<T["~standard"]["types"]>["output"];
294
+ /**
295
+ * Deep partial type for configuration
296
+ */
297
+ export type DeepPartial<T> = {
298
+ [P in keyof T]?: T[P] extends object ? DeepPartial<T[P]> : T[P];
299
+ };
300
+ /**
301
+ * User configuration type (alias for DeepPartial<BuenoConfig>)
302
+ */
303
+ export type UserConfig<T extends BuenoConfig = BuenoConfig> = DeepPartial<T>;
304
+ /**
305
+ * User configuration function type
306
+ */
307
+ export type UserConfigFn<T extends BuenoConfig = BuenoConfig> = (env: string) => UserConfig<T> | Promise<UserConfig<T>>;
308
+ /**
309
+ * Configuration value type for a given key path
310
+ */
311
+ export type ConfigValueForKey<TKey extends string> = TKey extends `${infer T}.${infer Rest}` ? T extends keyof BuenoConfig ? Rest extends string ? ConfigValueForKey<Rest> : BuenoConfig[T] : unknown : TKey extends keyof BuenoConfig ? BuenoConfig[TKey] : unknown;
312
+ export declare const DEFAULT_CONFIG: Required<BuenoConfig>;
313
+ export interface EnvMapping {
314
+ /** Environment variable name */
315
+ envVar: string;
316
+ /** Config key path (dot notation) */
317
+ configKey: string;
318
+ /** Optional transformer function */
319
+ transform?: (value: string) => unknown;
320
+ }
321
+ export declare const ENV_MAPPINGS: EnvMapping[];
322
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/config/types.ts"],"names":[],"mappings":"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"}