@buenojs/bueno 0.8.5 → 0.8.7

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 (421) hide show
  1. package/.claude/settings.local.json +9 -0
  2. package/README.md +259 -15
  3. package/dist/cache/index.d.ts +187 -0
  4. package/dist/cache/index.d.ts.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 +484 -156
  8. package/dist/cli/commands/add-frontend.d.ts +7 -0
  9. package/dist/cli/commands/add-frontend.d.ts.map +1 -0
  10. package/dist/cli/commands/build.d.ts +7 -0
  11. package/dist/cli/commands/build.d.ts.map +1 -0
  12. package/dist/cli/commands/dev.d.ts +7 -0
  13. package/dist/cli/commands/dev.d.ts.map +1 -0
  14. package/dist/cli/commands/generate.d.ts +7 -0
  15. package/dist/cli/commands/generate.d.ts.map +1 -0
  16. package/dist/cli/commands/help.d.ts +7 -0
  17. package/dist/cli/commands/help.d.ts.map +1 -0
  18. package/dist/cli/commands/index.d.ts +59 -0
  19. package/dist/cli/commands/index.d.ts.map +1 -0
  20. package/dist/cli/commands/migration.d.ts +7 -0
  21. package/dist/cli/commands/migration.d.ts.map +1 -0
  22. package/dist/cli/commands/new.d.ts +7 -0
  23. package/dist/cli/commands/new.d.ts.map +1 -0
  24. package/dist/cli/commands/start.d.ts +7 -0
  25. package/dist/cli/commands/start.d.ts.map +1 -0
  26. package/dist/cli/core/args.d.ts +61 -0
  27. package/dist/cli/core/args.d.ts.map +1 -0
  28. package/dist/cli/core/console.d.ts +135 -0
  29. package/dist/cli/core/console.d.ts.map +1 -0
  30. package/dist/cli/core/index.d.ts +10 -0
  31. package/dist/cli/core/index.d.ts.map +1 -0
  32. package/dist/cli/core/prompt.d.ts +63 -0
  33. package/dist/cli/core/prompt.d.ts.map +1 -0
  34. package/dist/cli/core/spinner.d.ts +111 -0
  35. package/dist/cli/core/spinner.d.ts.map +1 -0
  36. package/dist/cli/index.d.ts +47 -0
  37. package/dist/cli/index.d.ts.map +1 -0
  38. package/dist/cli/templates/database/index.d.ts +24 -0
  39. package/dist/cli/templates/database/index.d.ts.map +1 -0
  40. package/dist/cli/templates/database/mysql.d.ts +6 -0
  41. package/dist/cli/templates/database/mysql.d.ts.map +1 -0
  42. package/dist/cli/templates/database/none.d.ts +8 -0
  43. package/dist/cli/templates/database/none.d.ts.map +1 -0
  44. package/dist/cli/templates/database/postgresql.d.ts +6 -0
  45. package/dist/cli/templates/database/postgresql.d.ts.map +1 -0
  46. package/dist/cli/templates/database/sqlite.d.ts +6 -0
  47. package/dist/cli/templates/database/sqlite.d.ts.map +1 -0
  48. package/dist/cli/templates/deploy.d.ts +41 -0
  49. package/dist/cli/templates/deploy.d.ts.map +1 -0
  50. package/dist/cli/templates/docker.d.ts +30 -0
  51. package/dist/cli/templates/docker.d.ts.map +1 -0
  52. package/dist/cli/templates/frontend/index.d.ts +25 -0
  53. package/dist/cli/templates/frontend/index.d.ts.map +1 -0
  54. package/dist/cli/templates/frontend/none.d.ts +8 -0
  55. package/dist/cli/templates/frontend/none.d.ts.map +1 -0
  56. package/dist/cli/templates/frontend/react.d.ts +6 -0
  57. package/dist/cli/templates/frontend/react.d.ts.map +1 -0
  58. package/dist/cli/templates/frontend/solid.d.ts +6 -0
  59. package/dist/cli/templates/frontend/solid.d.ts.map +1 -0
  60. package/dist/cli/templates/frontend/svelte.d.ts +6 -0
  61. package/dist/cli/templates/frontend/svelte.d.ts.map +1 -0
  62. package/dist/cli/templates/frontend/vue.d.ts +6 -0
  63. package/dist/cli/templates/frontend/vue.d.ts.map +1 -0
  64. package/dist/cli/templates/generators/index.d.ts +29 -0
  65. package/dist/cli/templates/generators/index.d.ts.map +1 -0
  66. package/dist/cli/templates/generators/types.d.ts +32 -0
  67. package/dist/cli/templates/generators/types.d.ts.map +1 -0
  68. package/dist/cli/templates/index.d.ts +12 -0
  69. package/dist/cli/templates/index.d.ts.map +1 -0
  70. package/dist/cli/templates/project/api.d.ts +6 -0
  71. package/dist/cli/templates/project/api.d.ts.map +1 -0
  72. package/dist/cli/templates/project/default.d.ts +6 -0
  73. package/dist/cli/templates/project/default.d.ts.map +1 -0
  74. package/dist/cli/templates/project/fullstack.d.ts +14 -0
  75. package/dist/cli/templates/project/fullstack.d.ts.map +1 -0
  76. package/dist/cli/templates/project/index.d.ts +26 -0
  77. package/dist/cli/templates/project/index.d.ts.map +1 -0
  78. package/dist/cli/templates/project/minimal.d.ts +6 -0
  79. package/dist/cli/templates/project/minimal.d.ts.map +1 -0
  80. package/dist/cli/templates/project/types.d.ts +80 -0
  81. package/dist/cli/templates/project/types.d.ts.map +1 -0
  82. package/dist/cli/templates/project/website.d.ts +8 -0
  83. package/dist/cli/templates/project/website.d.ts.map +1 -0
  84. package/dist/cli/utils/fs.d.ts +137 -0
  85. package/dist/cli/utils/fs.d.ts.map +1 -0
  86. package/dist/cli/utils/index.d.ts +9 -0
  87. package/dist/cli/utils/index.d.ts.map +1 -0
  88. package/dist/cli/utils/strings.d.ts +86 -0
  89. package/dist/cli/utils/strings.d.ts.map +1 -0
  90. package/dist/cli/utils/version.d.ts +15 -0
  91. package/dist/cli/utils/version.d.ts.map +1 -0
  92. package/dist/config/env-validation.d.ts +49 -0
  93. package/dist/config/env-validation.d.ts.map +1 -0
  94. package/dist/config/env.d.ts +167 -0
  95. package/dist/config/env.d.ts.map +1 -0
  96. package/dist/config/index.d.ts +168 -0
  97. package/dist/config/index.d.ts.map +1 -0
  98. package/dist/config/loader.d.ts +81 -0
  99. package/dist/config/loader.d.ts.map +1 -0
  100. package/dist/config/merge.d.ts +66 -0
  101. package/dist/config/merge.d.ts.map +1 -0
  102. package/dist/config/types.d.ts +322 -0
  103. package/dist/config/types.d.ts.map +1 -0
  104. package/dist/config/validation.d.ts +100 -0
  105. package/dist/config/validation.d.ts.map +1 -0
  106. package/dist/container/forward-ref.d.ts +116 -0
  107. package/dist/container/forward-ref.d.ts.map +1 -0
  108. package/dist/container/index.d.ts +95 -0
  109. package/dist/container/index.d.ts.map +1 -0
  110. package/dist/container/index.js +26 -3
  111. package/dist/context/index.d.ts +143 -0
  112. package/dist/context/index.d.ts.map +1 -0
  113. package/dist/database/index.d.ts +219 -0
  114. package/dist/database/index.d.ts.map +1 -0
  115. package/dist/database/migrations/index.d.ts +146 -0
  116. package/dist/database/migrations/index.d.ts.map +1 -0
  117. package/dist/database/orm/builder.d.ts +122 -0
  118. package/dist/database/orm/builder.d.ts.map +1 -0
  119. package/dist/database/orm/casts/index.d.ts +16 -0
  120. package/dist/database/orm/casts/index.d.ts.map +1 -0
  121. package/dist/database/orm/casts/types.d.ts +16 -0
  122. package/dist/database/orm/casts/types.d.ts.map +1 -0
  123. package/dist/database/orm/compiler.d.ts +90 -0
  124. package/dist/database/orm/compiler.d.ts.map +1 -0
  125. package/dist/database/orm/hooks/index.d.ts +53 -0
  126. package/dist/database/orm/hooks/index.d.ts.map +1 -0
  127. package/dist/database/orm/index.d.ts +21 -0
  128. package/dist/database/orm/index.d.ts.map +1 -0
  129. package/dist/database/orm/model-registry.d.ts +33 -0
  130. package/dist/database/orm/model-registry.d.ts.map +1 -0
  131. package/dist/database/orm/model.d.ts +245 -0
  132. package/dist/database/orm/model.d.ts.map +1 -0
  133. package/dist/database/orm/relationships/base.d.ts +69 -0
  134. package/dist/database/orm/relationships/base.d.ts.map +1 -0
  135. package/dist/database/orm/relationships/belongs-to-many.d.ts +47 -0
  136. package/dist/database/orm/relationships/belongs-to-many.d.ts.map +1 -0
  137. package/dist/database/orm/relationships/belongs-to.d.ts +17 -0
  138. package/dist/database/orm/relationships/belongs-to.d.ts.map +1 -0
  139. package/dist/database/orm/relationships/has-many.d.ts +14 -0
  140. package/dist/database/orm/relationships/has-many.d.ts.map +1 -0
  141. package/dist/database/orm/relationships/has-one.d.ts +14 -0
  142. package/dist/database/orm/relationships/has-one.d.ts.map +1 -0
  143. package/dist/database/orm/relationships/index.d.ts +10 -0
  144. package/dist/database/orm/relationships/index.d.ts.map +1 -0
  145. package/dist/database/orm/scopes/index.d.ts +36 -0
  146. package/dist/database/orm/scopes/index.d.ts.map +1 -0
  147. package/dist/database/schema/index.d.ts +155 -0
  148. package/dist/database/schema/index.d.ts.map +1 -0
  149. package/dist/events/__tests__/event-system.test.d.ts +2 -0
  150. package/dist/events/__tests__/event-system.test.d.ts.map +1 -0
  151. package/dist/events/config.d.ts +16 -0
  152. package/dist/events/config.d.ts.map +1 -0
  153. package/dist/events/example-usage.d.ts +12 -0
  154. package/dist/events/example-usage.d.ts.map +1 -0
  155. package/dist/events/index.d.ts +27 -0
  156. package/dist/events/index.d.ts.map +1 -0
  157. package/dist/events/manager.d.ts +33 -0
  158. package/dist/events/manager.d.ts.map +1 -0
  159. package/dist/events/registry.d.ts +31 -0
  160. package/dist/events/registry.d.ts.map +1 -0
  161. package/dist/events/types.d.ts +105 -0
  162. package/dist/events/types.d.ts.map +1 -0
  163. package/dist/frontend/api-routes.d.ts +189 -0
  164. package/dist/frontend/api-routes.d.ts.map +1 -0
  165. package/dist/frontend/bundler.d.ts +99 -0
  166. package/dist/frontend/bundler.d.ts.map +1 -0
  167. package/dist/frontend/console-client.d.ts +11 -0
  168. package/dist/frontend/console-client.d.ts.map +1 -0
  169. package/dist/frontend/console-stream.d.ts +138 -0
  170. package/dist/frontend/console-stream.d.ts.map +1 -0
  171. package/dist/frontend/dev-server.d.ts +174 -0
  172. package/dist/frontend/dev-server.d.ts.map +1 -0
  173. package/dist/frontend/file-router.d.ts +170 -0
  174. package/dist/frontend/file-router.d.ts.map +1 -0
  175. package/dist/frontend/frameworks/index.d.ts +41 -0
  176. package/dist/frontend/frameworks/index.d.ts.map +1 -0
  177. package/dist/frontend/frameworks/react.d.ts +32 -0
  178. package/dist/frontend/frameworks/react.d.ts.map +1 -0
  179. package/dist/frontend/frameworks/solid.d.ts +42 -0
  180. package/dist/frontend/frameworks/solid.d.ts.map +1 -0
  181. package/dist/frontend/frameworks/svelte.d.ts +57 -0
  182. package/dist/frontend/frameworks/svelte.d.ts.map +1 -0
  183. package/dist/frontend/frameworks/vue.d.ts +36 -0
  184. package/dist/frontend/frameworks/vue.d.ts.map +1 -0
  185. package/dist/frontend/hmr-client.d.ts +22 -0
  186. package/dist/frontend/hmr-client.d.ts.map +1 -0
  187. package/dist/frontend/hmr.d.ts +185 -0
  188. package/dist/frontend/hmr.d.ts.map +1 -0
  189. package/dist/frontend/index.d.ts +34 -0
  190. package/dist/frontend/index.d.ts.map +1 -0
  191. package/dist/frontend/islands.d.ts +135 -0
  192. package/dist/frontend/islands.d.ts.map +1 -0
  193. package/dist/frontend/isr.d.ts +143 -0
  194. package/dist/frontend/isr.d.ts.map +1 -0
  195. package/dist/frontend/layout.d.ts +140 -0
  196. package/dist/frontend/layout.d.ts.map +1 -0
  197. package/dist/frontend/ssr/react.d.ts +118 -0
  198. package/dist/frontend/ssr/react.d.ts.map +1 -0
  199. package/dist/frontend/ssr/solid.d.ts +141 -0
  200. package/dist/frontend/ssr/solid.d.ts.map +1 -0
  201. package/dist/frontend/ssr/svelte.d.ts +158 -0
  202. package/dist/frontend/ssr/svelte.d.ts.map +1 -0
  203. package/dist/frontend/ssr/vue.d.ts +161 -0
  204. package/dist/frontend/ssr/vue.d.ts.map +1 -0
  205. package/dist/frontend/ssr.d.ts +147 -0
  206. package/dist/frontend/ssr.d.ts.map +1 -0
  207. package/dist/frontend/types.d.ts +1902 -0
  208. package/dist/frontend/types.d.ts.map +1 -0
  209. package/dist/graphql/built-in-engine.d.ts +36 -0
  210. package/dist/graphql/built-in-engine.d.ts.map +1 -0
  211. package/dist/graphql/context-builder.d.ts +44 -0
  212. package/dist/graphql/context-builder.d.ts.map +1 -0
  213. package/dist/graphql/decorators.d.ts +162 -0
  214. package/dist/graphql/decorators.d.ts.map +1 -0
  215. package/dist/graphql/execution-pipeline.d.ts +67 -0
  216. package/dist/graphql/execution-pipeline.d.ts.map +1 -0
  217. package/dist/graphql/graphql-module.d.ts +70 -0
  218. package/dist/graphql/graphql-module.d.ts.map +1 -0
  219. package/dist/graphql/index.d.ts +48 -0
  220. package/dist/graphql/index.d.ts.map +1 -0
  221. package/dist/graphql/index.js +2156 -0
  222. package/dist/graphql/metadata.d.ts +37 -0
  223. package/dist/graphql/metadata.d.ts.map +1 -0
  224. package/dist/graphql/schema-builder.d.ts +34 -0
  225. package/dist/graphql/schema-builder.d.ts.map +1 -0
  226. package/dist/graphql/subscription-handler.d.ts +47 -0
  227. package/dist/graphql/subscription-handler.d.ts.map +1 -0
  228. package/dist/graphql/types.d.ts +252 -0
  229. package/dist/graphql/types.d.ts.map +1 -0
  230. package/dist/health/index.d.ts +176 -0
  231. package/dist/health/index.d.ts.map +1 -0
  232. package/dist/i18n/engine.d.ts +105 -0
  233. package/dist/i18n/engine.d.ts.map +1 -0
  234. package/dist/i18n/index.d.ts +13 -0
  235. package/dist/i18n/index.d.ts.map +1 -0
  236. package/dist/i18n/loader.d.ts +79 -0
  237. package/dist/i18n/loader.d.ts.map +1 -0
  238. package/dist/i18n/middleware.d.ts +96 -0
  239. package/dist/i18n/middleware.d.ts.map +1 -0
  240. package/dist/i18n/negotiator.d.ts +84 -0
  241. package/dist/i18n/negotiator.d.ts.map +1 -0
  242. package/dist/i18n/types.d.ts +129 -0
  243. package/dist/i18n/types.d.ts.map +1 -0
  244. package/dist/index.d.ts +48 -0
  245. package/dist/index.d.ts.map +1 -0
  246. package/dist/index.js +520 -434
  247. package/dist/jobs/drivers/memory.d.ts +38 -0
  248. package/dist/jobs/drivers/memory.d.ts.map +1 -0
  249. package/dist/jobs/drivers/redis.d.ts +34 -0
  250. package/dist/jobs/drivers/redis.d.ts.map +1 -0
  251. package/dist/jobs/index.d.ts +12 -0
  252. package/dist/jobs/index.d.ts.map +1 -0
  253. package/dist/jobs/queue.d.ts +93 -0
  254. package/dist/jobs/queue.d.ts.map +1 -0
  255. package/dist/jobs/types.d.ts +193 -0
  256. package/dist/jobs/types.d.ts.map +1 -0
  257. package/dist/jobs/worker.d.ts +91 -0
  258. package/dist/jobs/worker.d.ts.map +1 -0
  259. package/dist/lock/index.d.ts +141 -0
  260. package/dist/lock/index.d.ts.map +1 -0
  261. package/dist/logger/index.d.ts +156 -0
  262. package/dist/logger/index.d.ts.map +1 -0
  263. package/dist/logger/transports/index.d.ts +371 -0
  264. package/dist/logger/transports/index.d.ts.map +1 -0
  265. package/dist/metrics/index.d.ts +163 -0
  266. package/dist/metrics/index.d.ts.map +1 -0
  267. package/dist/middleware/built-in.d.ts +50 -0
  268. package/dist/middleware/built-in.d.ts.map +1 -0
  269. package/dist/middleware/index.d.ts +40 -0
  270. package/dist/middleware/index.d.ts.map +1 -0
  271. package/dist/migrations/index.d.ts +10 -0
  272. package/dist/migrations/index.d.ts.map +1 -0
  273. package/dist/modules/filters.d.ts +150 -0
  274. package/dist/modules/filters.d.ts.map +1 -0
  275. package/dist/modules/guards.d.ts +188 -0
  276. package/dist/modules/guards.d.ts.map +1 -0
  277. package/dist/modules/index.d.ts +266 -0
  278. package/dist/modules/index.d.ts.map +1 -0
  279. package/dist/modules/index.js +514 -449
  280. package/dist/modules/interceptors.d.ts +242 -0
  281. package/dist/modules/interceptors.d.ts.map +1 -0
  282. package/dist/modules/lazy.d.ts +187 -0
  283. package/dist/modules/lazy.d.ts.map +1 -0
  284. package/dist/modules/lifecycle.d.ts +221 -0
  285. package/dist/modules/lifecycle.d.ts.map +1 -0
  286. package/dist/modules/metadata.d.ts +32 -0
  287. package/dist/modules/metadata.d.ts.map +1 -0
  288. package/dist/modules/pipes.d.ts +287 -0
  289. package/dist/modules/pipes.d.ts.map +1 -0
  290. package/dist/notification/channels/base.d.ts +32 -0
  291. package/dist/notification/channels/base.d.ts.map +1 -0
  292. package/dist/notification/channels/email.d.ts +37 -0
  293. package/dist/notification/channels/email.d.ts.map +1 -0
  294. package/dist/notification/channels/push.d.ts +37 -0
  295. package/dist/notification/channels/push.d.ts.map +1 -0
  296. package/dist/notification/channels/sms.d.ts +37 -0
  297. package/dist/notification/channels/sms.d.ts.map +1 -0
  298. package/dist/notification/channels/whatsapp.d.ts +37 -0
  299. package/dist/notification/channels/whatsapp.d.ts.map +1 -0
  300. package/dist/notification/index.d.ts +15 -0
  301. package/dist/notification/index.d.ts.map +1 -0
  302. package/dist/notification/service.d.ts +100 -0
  303. package/dist/notification/service.d.ts.map +1 -0
  304. package/dist/notification/types.d.ts +253 -0
  305. package/dist/notification/types.d.ts.map +1 -0
  306. package/dist/observability/__tests__/observability.test.d.ts +2 -0
  307. package/dist/observability/__tests__/observability.test.d.ts.map +1 -0
  308. package/dist/observability/breadcrumbs.d.ts +48 -0
  309. package/dist/observability/breadcrumbs.d.ts.map +1 -0
  310. package/dist/observability/index.d.ts +95 -0
  311. package/dist/observability/index.d.ts.map +1 -0
  312. package/dist/observability/interceptor.d.ts +19 -0
  313. package/dist/observability/interceptor.d.ts.map +1 -0
  314. package/dist/observability/service.d.ts +101 -0
  315. package/dist/observability/service.d.ts.map +1 -0
  316. package/dist/observability/trace.d.ts +21 -0
  317. package/dist/observability/trace.d.ts.map +1 -0
  318. package/dist/observability/types.d.ts +172 -0
  319. package/dist/observability/types.d.ts.map +1 -0
  320. package/dist/openapi/__tests__/decorators.test.d.ts +2 -0
  321. package/dist/openapi/__tests__/decorators.test.d.ts.map +1 -0
  322. package/dist/openapi/__tests__/document-builder.test.d.ts +2 -0
  323. package/dist/openapi/__tests__/document-builder.test.d.ts.map +1 -0
  324. package/dist/openapi/__tests__/route-scanner.test.d.ts +2 -0
  325. package/dist/openapi/__tests__/route-scanner.test.d.ts.map +1 -0
  326. package/dist/openapi/__tests__/schema-generator.test.d.ts +2 -0
  327. package/dist/openapi/__tests__/schema-generator.test.d.ts.map +1 -0
  328. package/dist/openapi/decorators.d.ts +173 -0
  329. package/dist/openapi/decorators.d.ts.map +1 -0
  330. package/dist/openapi/document-builder.d.ts +82 -0
  331. package/dist/openapi/document-builder.d.ts.map +1 -0
  332. package/dist/openapi/index.d.ts +48 -0
  333. package/dist/openapi/index.d.ts.map +1 -0
  334. package/dist/openapi/index.js +59 -40
  335. package/dist/openapi/metadata.d.ts +36 -0
  336. package/dist/openapi/metadata.d.ts.map +1 -0
  337. package/dist/openapi/route-scanner.d.ts +34 -0
  338. package/dist/openapi/route-scanner.d.ts.map +1 -0
  339. package/dist/openapi/schema-generator.d.ts +53 -0
  340. package/dist/openapi/schema-generator.d.ts.map +1 -0
  341. package/dist/openapi/swagger-module.d.ts +57 -0
  342. package/dist/openapi/swagger-module.d.ts.map +1 -0
  343. package/dist/openapi/types.d.ts +344 -0
  344. package/dist/openapi/types.d.ts.map +1 -0
  345. package/dist/orm/index.d.ts +10 -0
  346. package/dist/orm/index.d.ts.map +1 -0
  347. package/dist/router/index.d.ts +73 -0
  348. package/dist/router/index.d.ts.map +1 -0
  349. package/dist/router/linear.d.ts +54 -0
  350. package/dist/router/linear.d.ts.map +1 -0
  351. package/dist/router/regex.d.ts +49 -0
  352. package/dist/router/regex.d.ts.map +1 -0
  353. package/dist/router/tree.d.ts +112 -0
  354. package/dist/router/tree.d.ts.map +1 -0
  355. package/dist/rpc/index.d.ts +321 -0
  356. package/dist/rpc/index.d.ts.map +1 -0
  357. package/dist/schema/index.d.ts +10 -0
  358. package/dist/schema/index.d.ts.map +1 -0
  359. package/dist/security/index.d.ts +126 -0
  360. package/dist/security/index.d.ts.map +1 -0
  361. package/dist/ssg/index.d.ts +73 -0
  362. package/dist/ssg/index.d.ts.map +1 -0
  363. package/dist/storage/index.d.ts +99 -0
  364. package/dist/storage/index.d.ts.map +1 -0
  365. package/dist/telemetry/index.d.ts +376 -0
  366. package/dist/telemetry/index.d.ts.map +1 -0
  367. package/dist/template/index.d.ts +7 -0
  368. package/dist/template/index.d.ts.map +1 -0
  369. package/dist/templates/engine.d.ts +60 -0
  370. package/dist/templates/engine.d.ts.map +1 -0
  371. package/dist/templates/index.d.ts +9 -0
  372. package/dist/templates/index.d.ts.map +1 -0
  373. package/dist/templates/loader.d.ts +45 -0
  374. package/dist/templates/loader.d.ts.map +1 -0
  375. package/dist/templates/renderers/markdown.d.ts +46 -0
  376. package/dist/templates/renderers/markdown.d.ts.map +1 -0
  377. package/dist/templates/renderers/simple.d.ts +35 -0
  378. package/dist/templates/renderers/simple.d.ts.map +1 -0
  379. package/dist/templates/types.d.ts +138 -0
  380. package/dist/templates/types.d.ts.map +1 -0
  381. package/dist/testing/index.d.ts +539 -0
  382. package/dist/testing/index.d.ts.map +1 -0
  383. package/dist/types/index.d.ts +116 -0
  384. package/dist/types/index.d.ts.map +1 -0
  385. package/dist/validation/index.d.ts +89 -0
  386. package/dist/validation/index.d.ts.map +1 -0
  387. package/dist/validation/schemas.d.ts +243 -0
  388. package/dist/validation/schemas.d.ts.map +1 -0
  389. package/dist/websocket/index.d.ts +252 -0
  390. package/dist/websocket/index.d.ts.map +1 -0
  391. package/llms.txt +231 -0
  392. package/package.json +6 -2
  393. package/src/cli/ARCHITECTURE.md +3 -3
  394. package/src/cli/commands/add-frontend.ts +444 -0
  395. package/src/cli/commands/new.ts +23 -0
  396. package/src/cli/index.ts +1 -0
  397. package/src/cli/templates/frontend/react.ts +2 -1
  398. package/src/cli/templates/frontend/solid.ts +2 -1
  399. package/src/cli/templates/frontend/svelte.ts +2 -1
  400. package/src/cli/templates/frontend/vue.ts +2 -1
  401. package/src/cli/templates/project/api.ts +1 -1
  402. package/src/cli/templates/project/default.ts +1 -1
  403. package/src/cli/templates/project/fullstack.ts +14 -104
  404. package/src/cli/templates/project/website.ts +63 -12
  405. package/src/config/types.ts +21 -0
  406. package/src/graphql/built-in-engine.ts +598 -0
  407. package/src/graphql/context-builder.ts +110 -0
  408. package/src/graphql/decorators.ts +358 -0
  409. package/src/graphql/execution-pipeline.ts +227 -0
  410. package/src/graphql/graphql-module.ts +563 -0
  411. package/src/graphql/index.ts +101 -0
  412. package/src/graphql/metadata.ts +237 -0
  413. package/src/graphql/schema-builder.ts +319 -0
  414. package/src/graphql/subscription-handler.ts +283 -0
  415. package/src/graphql/types.ts +324 -0
  416. package/src/index.ts +3 -0
  417. package/src/modules/index.ts +48 -1
  418. package/tests/integration/cli.test.ts +19 -19
  419. package/tests/unit/cli.test.ts +1 -1
  420. package/tests/unit/graphql.test.ts +991 -0
  421. package/tsconfig.declaration.json +14 -0
@@ -0,0 +1,54 @@
1
+ /**
2
+ * LinearRouter
3
+ *
4
+ * Optimized for applications with ≤10 routes.
5
+ * - O(1) static route lookups via Map
6
+ * - Simple O(n) iteration for dynamic routes
7
+ * - Zero startup cost (no tree building)
8
+ *
9
+ * Best for: Microservices, development mode, small APIs
10
+ */
11
+ import type { HTTPMethod, MiddlewareHandler, PathParams, RouteHandler } from "../types";
12
+ export interface RouteMatch {
13
+ handler: RouteHandler;
14
+ params: PathParams;
15
+ middleware?: MiddlewareHandler[];
16
+ name?: string;
17
+ }
18
+ export interface RouteOptions {
19
+ name?: string;
20
+ middleware?: MiddlewareHandler | MiddlewareHandler[];
21
+ }
22
+ export declare class LinearRouter {
23
+ private staticRoutes;
24
+ private dynamicRoutes;
25
+ private groupPrefix;
26
+ private groupMiddleware;
27
+ private routeCounter;
28
+ private addRoute;
29
+ private sortDynamicRoutes;
30
+ match(method: HTTPMethod | "ALL", pathname: string): RouteMatch | undefined;
31
+ group(prefix: string, options?: {
32
+ middleware?: MiddlewareHandler | MiddlewareHandler[];
33
+ }): LinearRouter;
34
+ getRoutes(): Array<{
35
+ method: HTTPMethod | "ALL";
36
+ pattern: string;
37
+ name?: string;
38
+ }>;
39
+ getRouterType(): "linear";
40
+ getRouteCount(): {
41
+ static: number;
42
+ dynamic: number;
43
+ total: number;
44
+ };
45
+ get(pattern: string, handler: RouteHandler, options?: RouteOptions): void;
46
+ post(pattern: string, handler: RouteHandler, options?: RouteOptions): void;
47
+ put(pattern: string, handler: RouteHandler, options?: RouteOptions): void;
48
+ patch(pattern: string, handler: RouteHandler, options?: RouteOptions): void;
49
+ delete(pattern: string, handler: RouteHandler, options?: RouteOptions): void;
50
+ head(pattern: string, handler: RouteHandler, options?: RouteOptions): void;
51
+ options(pattern: string, handler: RouteHandler, options?: RouteOptions): void;
52
+ all(pattern: string, handler: RouteHandler, options?: RouteOptions): void;
53
+ }
54
+ //# sourceMappingURL=linear.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"linear.d.ts","sourceRoot":"","sources":["../../src/router/linear.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,KAAK,EACX,UAAU,EACV,iBAAiB,EACjB,UAAU,EACV,YAAY,EACZ,MAAM,UAAU,CAAC;AAIlB,MAAM,WAAW,UAAU;IAC1B,OAAO,EAAE,YAAY,CAAC;IACtB,MAAM,EAAE,UAAU,CAAC;IACnB,UAAU,CAAC,EAAE,iBAAiB,EAAE,CAAC;IACjC,IAAI,CAAC,EAAE,MAAM,CAAC;CACd;AAaD,MAAM,WAAW,YAAY;IAC5B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,UAAU,CAAC,EAAE,iBAAiB,GAAG,iBAAiB,EAAE,CAAC;CACrD;AA0GD,qBAAa,YAAY;IACxB,OAAO,CAAC,YAAY,CAON;IAEd,OAAO,CAAC,aAAa,CAAsB;IAE3C,OAAO,CAAC,WAAW,CAAM;IACzB,OAAO,CAAC,eAAe,CAA2B;IAClD,OAAO,CAAC,YAAY,CAAK;IAEzB,OAAO,CAAC,QAAQ;IAqDhB,OAAO,CAAC,iBAAiB;IASzB,KAAK,CAAC,MAAM,EAAE,UAAU,GAAG,KAAK,EAAE,QAAQ,EAAE,MAAM,GAAG,UAAU,GAAG,SAAS;IA8C3E,KAAK,CACJ,MAAM,EAAE,MAAM,EACd,OAAO,CAAC,EAAE;QAAE,UAAU,CAAC,EAAE,iBAAiB,GAAG,iBAAiB,EAAE,CAAA;KAAE,GAChE,YAAY;IAoBf,SAAS,IAAI,KAAK,CAAC;QAClB,MAAM,EAAE,UAAU,GAAG,KAAK,CAAC;QAC3B,OAAO,EAAE,MAAM,CAAC;QAChB,IAAI,CAAC,EAAE,MAAM,CAAC;KACd,CAAC;IA+BF,aAAa,IAAI,QAAQ;IAIzB,aAAa,IAAI;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE;IASnE,GAAG,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,YAAY,EAAE,OAAO,CAAC,EAAE,YAAY,GAAG,IAAI;IAGzE,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,YAAY,EAAE,OAAO,CAAC,EAAE,YAAY,GAAG,IAAI;IAG1E,GAAG,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,YAAY,EAAE,OAAO,CAAC,EAAE,YAAY,GAAG,IAAI;IAGzE,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,YAAY,EAAE,OAAO,CAAC,EAAE,YAAY,GAAG,IAAI;IAG3E,MAAM,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,YAAY,EAAE,OAAO,CAAC,EAAE,YAAY,GAAG,IAAI;IAG5E,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,YAAY,EAAE,OAAO,CAAC,EAAE,YAAY,GAAG,IAAI;IAG1E,OAAO,CACN,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,YAAY,EACrB,OAAO,CAAC,EAAE,YAAY,GACpB,IAAI;IAGP,GAAG,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,YAAY,EAAE,OAAO,CAAC,EAAE,YAAY,GAAG,IAAI;CAGzE"}
@@ -0,0 +1,49 @@
1
+ /**
2
+ * RegexRouter
3
+ *
4
+ * Balanced performance for applications with 10-100 routes.
5
+ * - Compiled regex patterns for fast matching
6
+ * - Priority-based sorting for correct route resolution
7
+ * - Full feature support: params, wildcards, optional params, custom regex
8
+ *
9
+ * Best for: Medium-sized APIs, general purpose routing
10
+ */
11
+ import type { HTTPMethod, MiddlewareHandler, PathParams, RouteHandler } from "../types";
12
+ export interface RouteMatch {
13
+ handler: RouteHandler;
14
+ params: PathParams;
15
+ middleware?: MiddlewareHandler[];
16
+ name?: string;
17
+ }
18
+ export interface RouteOptions {
19
+ name?: string;
20
+ middleware?: MiddlewareHandler | MiddlewareHandler[];
21
+ }
22
+ export declare class RegexRouter {
23
+ private routes;
24
+ private groupPrefix;
25
+ private groupMiddleware;
26
+ private routeCounter;
27
+ private addRoute;
28
+ private sortRoutes;
29
+ match(method: HTTPMethod | "ALL", pathname: string): RouteMatch | undefined;
30
+ group(prefix: string, options?: {
31
+ middleware?: MiddlewareHandler | MiddlewareHandler[];
32
+ }): RegexRouter;
33
+ getRoutes(): Array<{
34
+ method: HTTPMethod | "ALL";
35
+ pattern: string;
36
+ name?: string;
37
+ }>;
38
+ getRouterType(): "regex";
39
+ getRouteCount(): number;
40
+ get(pattern: string, handler: RouteHandler, options?: RouteOptions): void;
41
+ post(pattern: string, handler: RouteHandler, options?: RouteOptions): void;
42
+ put(pattern: string, handler: RouteHandler, options?: RouteOptions): void;
43
+ patch(pattern: string, handler: RouteHandler, options?: RouteOptions): void;
44
+ delete(pattern: string, handler: RouteHandler, options?: RouteOptions): void;
45
+ head(pattern: string, handler: RouteHandler, options?: RouteOptions): void;
46
+ options(pattern: string, handler: RouteHandler, options?: RouteOptions): void;
47
+ all(pattern: string, handler: RouteHandler, options?: RouteOptions): void;
48
+ }
49
+ //# sourceMappingURL=regex.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"regex.d.ts","sourceRoot":"","sources":["../../src/router/regex.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,KAAK,EACX,UAAU,EACV,iBAAiB,EACjB,UAAU,EACV,YAAY,EACZ,MAAM,UAAU,CAAC;AAIlB,MAAM,WAAW,UAAU;IAC1B,OAAO,EAAE,YAAY,CAAC;IACtB,MAAM,EAAE,UAAU,CAAC;IACnB,UAAU,CAAC,EAAE,iBAAiB,EAAE,CAAC;IACjC,IAAI,CAAC,EAAE,MAAM,CAAC;CACd;AAcD,MAAM,WAAW,YAAY;IAC5B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,UAAU,CAAC,EAAE,iBAAiB,GAAG,iBAAiB,EAAE,CAAC;CACrD;AAwGD,qBAAa,WAAW;IACvB,OAAO,CAAC,MAAM,CAAoB;IAClC,OAAO,CAAC,WAAW,CAAM;IACzB,OAAO,CAAC,eAAe,CAA2B;IAClD,OAAO,CAAC,YAAY,CAAK;IAEzB,OAAO,CAAC,QAAQ;IA+BhB,OAAO,CAAC,UAAU;IAYlB,KAAK,CAAC,MAAM,EAAE,UAAU,GAAG,KAAK,EAAE,QAAQ,EAAE,MAAM,GAAG,UAAU,GAAG,SAAS;IAoB3E,KAAK,CACJ,MAAM,EAAE,MAAM,EACd,OAAO,CAAC,EAAE;QAAE,UAAU,CAAC,EAAE,iBAAiB,GAAG,iBAAiB,EAAE,CAAA;KAAE,GAChE,WAAW;IAkBd,SAAS,IAAI,KAAK,CAAC;QAClB,MAAM,EAAE,UAAU,GAAG,KAAK,CAAC;QAC3B,OAAO,EAAE,MAAM,CAAC;QAChB,IAAI,CAAC,EAAE,MAAM,CAAC;KACd,CAAC;IAQF,aAAa,IAAI,OAAO;IAIxB,aAAa,IAAI,MAAM;IAIvB,GAAG,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,YAAY,EAAE,OAAO,CAAC,EAAE,YAAY,GAAG,IAAI;IAIzE,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,YAAY,EAAE,OAAO,CAAC,EAAE,YAAY,GAAG,IAAI;IAI1E,GAAG,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,YAAY,EAAE,OAAO,CAAC,EAAE,YAAY,GAAG,IAAI;IAIzE,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,YAAY,EAAE,OAAO,CAAC,EAAE,YAAY,GAAG,IAAI;IAI3E,MAAM,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,YAAY,EAAE,OAAO,CAAC,EAAE,YAAY,GAAG,IAAI;IAI5E,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,YAAY,EAAE,OAAO,CAAC,EAAE,YAAY,GAAG,IAAI;IAI1E,OAAO,CACN,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,YAAY,EACrB,OAAO,CAAC,EAAE,YAAY,GACpB,IAAI;IAIP,GAAG,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,YAAY,EAAE,OAAO,CAAC,EAAE,YAAY,GAAG,IAAI;CAGzE"}
@@ -0,0 +1,112 @@
1
+ /**
2
+ * TreeRouter (Radix Tree Router)
3
+ *
4
+ * Optimized for applications with 100+ routes.
5
+ * - O(log n) lookups via radix tree traversal
6
+ * - Efficient prefix compression
7
+ * - Supports parameters, wildcards, and regex constraints
8
+ *
9
+ * Best for: Large APIs, enterprise applications, complex routing
10
+ *
11
+ * Tree Structure Example:
12
+ *
13
+ * root
14
+ * |
15
+ * /api
16
+ * / \
17
+ * /users /posts
18
+ * / \ \
19
+ * /:id /list /:id
20
+ * | | |
21
+ * GET GET GET
22
+ */
23
+ import type { HTTPMethod, MiddlewareHandler, PathParams, RouteHandler } from "../types";
24
+ export interface RouteMatch {
25
+ handler: RouteHandler;
26
+ params: PathParams;
27
+ middleware?: MiddlewareHandler[];
28
+ name?: string;
29
+ }
30
+ export interface RouteOptions {
31
+ name?: string;
32
+ middleware?: MiddlewareHandler | MiddlewareHandler[];
33
+ }
34
+ export declare class TreeRouter {
35
+ private root;
36
+ private groupPrefix;
37
+ private groupMiddleware;
38
+ private routeCount;
39
+ constructor();
40
+ private createNode;
41
+ /**
42
+ * Register a route with specific HTTP method
43
+ */
44
+ private addRoute;
45
+ /**
46
+ * Parse a pattern into segments
47
+ *
48
+ * Examples:
49
+ * - "/users/:id" -> [{ type: 'static', value: 'users' }, { type: 'param', name: 'id' }]
50
+ * - "/files/*" -> [{ type: 'static', value: 'files' }, { type: 'wildcard' }]
51
+ */
52
+ private parsePattern;
53
+ /**
54
+ * Insert segments into the tree, creating nodes as needed
55
+ */
56
+ private insertSegments;
57
+ /**
58
+ * Match a route by method and pathname
59
+ *
60
+ * Performance: O(log n) average case for tree traversal
61
+ */
62
+ match(method: HTTPMethod | "ALL", pathname: string): RouteMatch | undefined;
63
+ /**
64
+ * Search the tree for a matching route
65
+ */
66
+ private searchTree;
67
+ /**
68
+ * Create a route group with prefix and optional middleware
69
+ */
70
+ group(prefix: string, options?: {
71
+ middleware?: MiddlewareHandler | MiddlewareHandler[];
72
+ }): TreeRouter;
73
+ /**
74
+ * Get all registered routes (traverses tree)
75
+ */
76
+ getRoutes(): Array<{
77
+ method: HTTPMethod | "ALL";
78
+ pattern: string;
79
+ name?: string;
80
+ }>;
81
+ /**
82
+ * Traverse tree to collect all routes
83
+ */
84
+ private traverseTree;
85
+ /**
86
+ * Get router type for debugging
87
+ */
88
+ getRouterType(): "tree";
89
+ /**
90
+ * Get route count
91
+ */
92
+ getRouteCount(): number;
93
+ /**
94
+ * Get tree statistics
95
+ */
96
+ getTreeStats(): {
97
+ nodes: number;
98
+ depth: number;
99
+ routes: number;
100
+ };
101
+ private countNodes;
102
+ private getTreeDepth;
103
+ get(pattern: string, handler: RouteHandler, options?: RouteOptions): void;
104
+ post(pattern: string, handler: RouteHandler, options?: RouteOptions): void;
105
+ put(pattern: string, handler: RouteHandler, options?: RouteOptions): void;
106
+ patch(pattern: string, handler: RouteHandler, options?: RouteOptions): void;
107
+ delete(pattern: string, handler: RouteHandler, options?: RouteOptions): void;
108
+ head(pattern: string, handler: RouteHandler, options?: RouteOptions): void;
109
+ options(pattern: string, handler: RouteHandler, options?: RouteOptions): void;
110
+ all(pattern: string, handler: RouteHandler, options?: RouteOptions): void;
111
+ }
112
+ //# sourceMappingURL=tree.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tree.d.ts","sourceRoot":"","sources":["../../src/router/tree.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AAEH,OAAO,KAAK,EACX,UAAU,EACV,iBAAiB,EACjB,UAAU,EACV,YAAY,EACZ,MAAM,UAAU,CAAC;AAIlB,MAAM,WAAW,UAAU;IAC1B,OAAO,EAAE,YAAY,CAAC;IACtB,MAAM,EAAE,UAAU,CAAC;IACnB,UAAU,CAAC,EAAE,iBAAiB,EAAE,CAAC;IACjC,IAAI,CAAC,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,YAAY;IAC5B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,UAAU,CAAC,EAAE,iBAAiB,GAAG,iBAAiB,EAAE,CAAC;CACrD;AAoCD,qBAAa,UAAU;IACtB,OAAO,CAAC,IAAI,CAAW;IACvB,OAAO,CAAC,WAAW,CAAM;IACzB,OAAO,CAAC,eAAe,CAA2B;IAClD,OAAO,CAAC,UAAU,CAAK;;IAMvB,OAAO,CAAC,UAAU;IAgBlB;;OAEG;IACH,OAAO,CAAC,QAAQ;IAiChB;;;;;;OAMG;IACH,OAAO,CAAC,YAAY;IA8DpB;;OAEG;IACH,OAAO,CAAC,cAAc;IAuDtB;;;;OAIG;IACH,KAAK,CAAC,MAAM,EAAE,UAAU,GAAG,KAAK,EAAE,QAAQ,EAAE,MAAM,GAAG,UAAU,GAAG,SAAS;IAmB3E;;OAEG;IACH,OAAO,CAAC,UAAU;IA2FlB;;OAEG;IACH,KAAK,CACJ,MAAM,EAAE,MAAM,EACd,OAAO,CAAC,EAAE;QAAE,UAAU,CAAC,EAAE,iBAAiB,GAAG,iBAAiB,EAAE,CAAA;KAAE,GAChE,UAAU;IAoBb;;OAEG;IACH,SAAS,IAAI,KAAK,CAAC;QAClB,MAAM,EAAE,UAAU,GAAG,KAAK,CAAC;QAC3B,OAAO,EAAE,MAAM,CAAC;QAChB,IAAI,CAAC,EAAE,MAAM,CAAC;KACd,CAAC;IAYF;;OAEG;IACH,OAAO,CAAC,YAAY;IAqCpB;;OAEG;IACH,aAAa,IAAI,MAAM;IAIvB;;OAEG;IACH,aAAa,IAAI,MAAM;IAIvB;;OAEG;IACH,YAAY,IAAI;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE;IAQhE,OAAO,CAAC,UAAU;IAkBlB,OAAO,CAAC,YAAY;IAoBpB,GAAG,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,YAAY,EAAE,OAAO,CAAC,EAAE,YAAY,GAAG,IAAI;IAGzE,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,YAAY,EAAE,OAAO,CAAC,EAAE,YAAY,GAAG,IAAI;IAG1E,GAAG,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,YAAY,EAAE,OAAO,CAAC,EAAE,YAAY,GAAG,IAAI;IAGzE,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,YAAY,EAAE,OAAO,CAAC,EAAE,YAAY,GAAG,IAAI;IAG3E,MAAM,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,YAAY,EAAE,OAAO,CAAC,EAAE,YAAY,GAAG,IAAI;IAG5E,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,YAAY,EAAE,OAAO,CAAC,EAAE,YAAY,GAAG,IAAI;IAG1E,OAAO,CACN,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,YAAY,EACrB,OAAO,CAAC,EAAE,YAAY,GACpB,IAAI;IAGP,GAAG,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,YAAY,EAAE,OAAO,CAAC,EAAE,YAAY,GAAG,IAAI;CAGzE"}
@@ -0,0 +1,321 @@
1
+ /**
2
+ * RPC Client
3
+ *
4
+ * Type-safe HTTP client for making requests to Bueno servers.
5
+ * Provides method inference, automatic serialization, request deduplication,
6
+ * optimistic updates, and retry logic support.
7
+ */
8
+ import type { Router } from "../router";
9
+ export interface RPCClientOptions {
10
+ baseUrl: string;
11
+ headers?: Record<string, string>;
12
+ timeout?: number;
13
+ deduplication?: DeduplicationConfig;
14
+ optimisticUpdates?: OptimisticUpdatesConfig;
15
+ retry?: RetryConfig;
16
+ interceptors?: InterceptorsConfig;
17
+ }
18
+ export interface InterceptorsConfig {
19
+ request?: RequestInterceptor | RequestInterceptor[];
20
+ response?: ResponseInterceptor | ResponseInterceptor[];
21
+ error?: ErrorInterceptor | ErrorInterceptor[];
22
+ }
23
+ export type RequestInterceptor = (config: RequestInterceptorContext) => RequestInterceptorContext | Promise<RequestInterceptorContext>;
24
+ export type ResponseInterceptor = (response: Response, context: InterceptorContext) => Response | Promise<Response>;
25
+ export type ErrorInterceptor = (error: Error, context: InterceptorContext) => undefined | Response | Promise<undefined | Response>;
26
+ export interface RequestInterceptorContext extends RequestInit {
27
+ url: string;
28
+ method: HTTPMethod;
29
+ }
30
+ export interface InterceptorContext {
31
+ url: string;
32
+ method: HTTPMethod;
33
+ requestInit: RequestInit;
34
+ }
35
+ export interface DeduplicationConfig {
36
+ enabled?: boolean;
37
+ ttl?: number;
38
+ keyGenerator?: (method: HTTPMethod, url: string, body?: unknown) => string;
39
+ }
40
+ export interface OptimisticUpdatesConfig {
41
+ enabled?: boolean;
42
+ autoRollback?: boolean;
43
+ onConflict?: "rollback" | "overwrite" | "merge";
44
+ }
45
+ export interface RetryConfig {
46
+ enabled?: boolean;
47
+ maxAttempts?: number;
48
+ initialDelay?: number;
49
+ maxDelay?: number;
50
+ backoffMultiplier?: number;
51
+ retryableStatusCodes?: number[];
52
+ retryableErrors?: string[];
53
+ onRetry?: (attempt: number, error: Error | null, delay: number) => void;
54
+ shouldRetry?: (response: Response, error: Error | null, attempt: number) => boolean;
55
+ }
56
+ export interface RequestOptions {
57
+ headers?: Record<string, string>;
58
+ query?: Record<string, string>;
59
+ timeout?: number;
60
+ skipDeduplication?: boolean;
61
+ retry?: RetryOptions;
62
+ }
63
+ export interface RetryOptions {
64
+ enabled?: boolean;
65
+ maxAttempts?: number;
66
+ initialDelay?: number;
67
+ skipRetry?: boolean;
68
+ }
69
+ export interface OptimisticOptions<T = unknown> {
70
+ optimisticData?: T;
71
+ rollbackData?: T;
72
+ cacheKey?: string;
73
+ onRollback?: (previousData: T | undefined) => void;
74
+ onConfirm?: (data: T) => void;
75
+ }
76
+ export type HTTPMethod = "GET" | "POST" | "PUT" | "PATCH" | "DELETE" | "HEAD" | "OPTIONS";
77
+ export declare class RPCClient {
78
+ private baseUrl;
79
+ private defaultHeaders;
80
+ private defaultTimeout;
81
+ private requestInterceptors;
82
+ private responseInterceptors;
83
+ private errorInterceptors;
84
+ private deduplicationConfig;
85
+ private optimisticConfig;
86
+ private retryConfig;
87
+ private deduplicationStore;
88
+ private optimisticStore;
89
+ constructor(options: RPCClientOptions);
90
+ /**
91
+ * Make a GET request
92
+ */
93
+ get(path: string, options?: RequestOptions): Promise<Response>;
94
+ /**
95
+ * Make a POST request
96
+ */
97
+ post<T>(path: string, body?: T, options?: RequestOptions): Promise<Response>;
98
+ /**
99
+ * Make a PUT request
100
+ */
101
+ put<T>(path: string, body?: T, options?: RequestOptions): Promise<Response>;
102
+ /**
103
+ * Make a PATCH request
104
+ */
105
+ patch<T>(path: string, body?: T, options?: RequestOptions): Promise<Response>;
106
+ /**
107
+ * Make a DELETE request
108
+ */
109
+ delete(path: string, options?: RequestOptions): Promise<Response>;
110
+ /**
111
+ * Make a HEAD request
112
+ */
113
+ head(path: string, options?: RequestOptions): Promise<Response>;
114
+ /**
115
+ * Make an OPTIONS request
116
+ */
117
+ options(path: string, options?: RequestOptions): Promise<Response>;
118
+ /**
119
+ * Make a generic request with deduplication and retry support
120
+ */
121
+ private request;
122
+ /**
123
+ * Execute request with retry logic
124
+ */
125
+ private executeWithRetry;
126
+ /**
127
+ * Check if response should trigger a retry
128
+ */
129
+ private shouldRetryResponse;
130
+ /**
131
+ * Check if error should trigger a retry
132
+ */
133
+ private shouldRetryError;
134
+ /**
135
+ * Execute the actual HTTP request
136
+ */
137
+ private executeRequest;
138
+ /**
139
+ * Perform an optimistic update
140
+ */
141
+ optimistic<T = unknown, R = unknown>(method: "POST" | "PUT" | "PATCH" | "DELETE", path: string, options?: {
142
+ body?: T;
143
+ query?: Record<string, string>;
144
+ headers?: Record<string, string>;
145
+ } & OptimisticOptions<R>): Promise<{
146
+ response: Response;
147
+ rollbackId?: string;
148
+ }>;
149
+ /**
150
+ * Optimistic POST - create a resource optimistically
151
+ */
152
+ optimisticPost<T = unknown, R = unknown>(path: string, body: T, options?: OptimisticOptions<R> & {
153
+ query?: Record<string, string>;
154
+ headers?: Record<string, string>;
155
+ }): Promise<{
156
+ response: Response;
157
+ rollbackId?: string;
158
+ }>;
159
+ /**
160
+ * Optimistic PUT - update a resource optimistically
161
+ */
162
+ optimisticPut<T = unknown, R = unknown>(path: string, body: T, options?: OptimisticOptions<R> & {
163
+ query?: Record<string, string>;
164
+ headers?: Record<string, string>;
165
+ }): Promise<{
166
+ response: Response;
167
+ rollbackId?: string;
168
+ }>;
169
+ /**
170
+ * Optimistic PATCH - partially update a resource optimistically
171
+ */
172
+ optimisticPatch<T = unknown, R = unknown>(path: string, body: T, options?: OptimisticOptions<R> & {
173
+ query?: Record<string, string>;
174
+ headers?: Record<string, string>;
175
+ }): Promise<{
176
+ response: Response;
177
+ rollbackId?: string;
178
+ }>;
179
+ /**
180
+ * Optimistic DELETE - delete a resource optimistically
181
+ */
182
+ optimisticDelete<R = unknown>(path: string, options?: OptimisticOptions<R> & {
183
+ query?: Record<string, string>;
184
+ headers?: Record<string, string>;
185
+ }): Promise<{
186
+ response: Response;
187
+ rollbackId?: string;
188
+ }>;
189
+ /**
190
+ * Rollback an optimistic update
191
+ */
192
+ rollback<T>(rollbackId: string): T | undefined;
193
+ /**
194
+ * Confirm an optimistic update
195
+ */
196
+ confirm(rollbackId: string, serverData?: unknown): void;
197
+ /**
198
+ * Check if there's a pending optimistic update for a cache key
199
+ */
200
+ hasPendingOptimisticUpdate(cacheKey: string): boolean;
201
+ /**
202
+ * Get optimistic data for a cache key
203
+ */
204
+ getOptimisticData<T>(cacheKey: string): T | undefined;
205
+ /**
206
+ * Get all pending optimistic updates count
207
+ */
208
+ getPendingOptimisticCount(): number;
209
+ /**
210
+ * Clear all pending optimistic updates
211
+ */
212
+ clearOptimisticUpdates(): void;
213
+ /**
214
+ * Make a request with explicit retry options
215
+ */
216
+ withRetry<T>(method: HTTPMethod, path: string, body?: T, retryOptions?: RetryOptions): Promise<Response>;
217
+ /**
218
+ * Check if retry is enabled
219
+ */
220
+ isRetryEnabled(): boolean;
221
+ /**
222
+ * Get max retry attempts
223
+ */
224
+ getMaxRetryAttempts(): number;
225
+ /**
226
+ * Get retry configuration
227
+ */
228
+ getRetryConfig(): Required<RetryConfig>;
229
+ /**
230
+ * Add a request interceptor
231
+ */
232
+ addRequestInterceptor(interceptor: RequestInterceptor): void;
233
+ /**
234
+ * Add a response interceptor
235
+ */
236
+ addResponseInterceptor(interceptor: ResponseInterceptor): void;
237
+ /**
238
+ * Add an error interceptor
239
+ */
240
+ addErrorInterceptor(interceptor: ErrorInterceptor): void;
241
+ /**
242
+ * Remove a request interceptor
243
+ */
244
+ removeRequestInterceptor(interceptor: RequestInterceptor): boolean;
245
+ /**
246
+ * Remove a response interceptor
247
+ */
248
+ removeResponseInterceptor(interceptor: ResponseInterceptor): boolean;
249
+ /**
250
+ * Remove an error interceptor
251
+ */
252
+ removeErrorInterceptor(interceptor: ErrorInterceptor): boolean;
253
+ /**
254
+ * Clear all interceptors
255
+ */
256
+ clearInterceptors(): void;
257
+ /**
258
+ * Get interceptor counts
259
+ */
260
+ getInterceptorStats(): {
261
+ request: number;
262
+ response: number;
263
+ error: number;
264
+ };
265
+ /**
266
+ * Create client with interceptors
267
+ */
268
+ withInterceptors(interceptors: InterceptorsConfig): RPCClient;
269
+ /**
270
+ * Create a new client with different base URL
271
+ */
272
+ withBaseUrl(baseUrl: string): RPCClient;
273
+ /**
274
+ * Create a new client with additional headers
275
+ */
276
+ withHeaders(headers: Record<string, string>): RPCClient;
277
+ /**
278
+ * Clear the deduplication cache
279
+ */
280
+ clearCache(): void;
281
+ /**
282
+ * Clear all caches
283
+ */
284
+ clearAllCaches(): void;
285
+ /**
286
+ * Invalidate a specific cache key
287
+ */
288
+ invalidateCache(cacheKey: string): void;
289
+ /**
290
+ * Get deduplication statistics
291
+ */
292
+ getDeduplicationStats(): {
293
+ pending: number;
294
+ cached: number;
295
+ };
296
+ /**
297
+ * Check if deduplication is enabled
298
+ */
299
+ isDeduplicationEnabled(): boolean;
300
+ /**
301
+ * Get deduplication TTL
302
+ */
303
+ getDeduplicationTTL(): number;
304
+ /**
305
+ * Check if optimistic updates are enabled
306
+ */
307
+ isOptimisticUpdatesEnabled(): boolean;
308
+ }
309
+ export declare function createRPClient(options: RPCClientOptions): RPCClient;
310
+ export declare function bc<T>(options: RPCClientOptions): RPCClient;
311
+ export interface RouteTypeInfo {
312
+ method: HTTPMethod;
313
+ path: string;
314
+ }
315
+ export declare function extractRouteTypes(router: Router): RouteTypeInfo[];
316
+ export declare function parseJSON<T>(response: Response): Promise<T>;
317
+ export declare function parseText(response: Response): Promise<string>;
318
+ export declare function isOK(response: Response): boolean;
319
+ export declare function isStatus(response: Response, status: number): boolean;
320
+ export declare function throwIfNotOK(response: Response): Promise<Response>;
321
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/rpc/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,10 @@
1
+ /**
2
+ * Bueno Schema
3
+ *
4
+ * Database schema definition, type inference, and SQL generation utilities.
5
+ *
6
+ * @example
7
+ * import { defineTable, type InferType } from '@buenojs/bueno/schema';
8
+ */
9
+ export * from "../database/schema";
10
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/schema/index.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,cAAc,oBAAoB,CAAC"}