@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,48 @@
1
+ /**
2
+ * GraphQL Module for Bueno Framework
3
+ *
4
+ * Code-first GraphQL support with:
5
+ * - Decorator-based schema definition (@Resolver, @Query, @Mutation, @ObjectType, @Field, etc.)
6
+ * - Full DI integration (guards, interceptors work on resolvers)
7
+ * - Pluggable engine (built-in lightweight engine or graphql-js/Yoga via adapter)
8
+ * - Subscriptions via WebSocket (graphql-transport-ws protocol)
9
+ * - GraphiQL playground
10
+ * - Unified types: one class for both GraphQL and REST/OpenAPI (opt-in)
11
+ *
12
+ * @example
13
+ * ```typescript
14
+ * import { createApp } from '@buenojs/bueno';
15
+ * import {
16
+ * GraphQLModule,
17
+ * Resolver, Query, Mutation,
18
+ * ObjectType, InputType, Field,
19
+ * Args, GqlContext,
20
+ * } from '@buenojs/bueno/graphql';
21
+ *
22
+ * @ObjectType()
23
+ * class User {
24
+ * @Field(() => String) id: string;
25
+ * @Field(() => String) name: string;
26
+ * }
27
+ *
28
+ * @Resolver()
29
+ * class UserResolver {
30
+ * @Query(() => [User])
31
+ * users(): User[] { return []; }
32
+ * }
33
+ *
34
+ * const app = createApp(AppModule);
35
+ * GraphQLModule.setup(app, { resolvers: [UserResolver] });
36
+ * await app.listen(3000);
37
+ * ```
38
+ */
39
+ export { GraphQLModule, GraphQLModuleInstance } from "./graphql-module";
40
+ export { BuiltinGraphQLEngine } from "./built-in-engine";
41
+ export { Resolver, ObjectType, InputType, Field, Query, Mutation, Subscription, Args, GqlContext, } from "./decorators";
42
+ export { GraphQLID, GraphQLInt, GraphQLFloat } from "./types";
43
+ export type { GraphQLEngine, GraphQLContext, GraphQLResult, GraphQLError, GraphQLModuleOptions, GraphQLConfig, TypeFn, FieldDecoratorOptions, FieldOptions, FieldMetadata, ResolverFieldMetadata, ParamMetadata, ResolvedField, ResolvedSchema, ResolverFieldsByType, Constructor, } from "./types";
44
+ export { SchemaBuilder } from "./schema-builder";
45
+ export { buildGraphQLContext } from "./context-builder";
46
+ export { GraphQLForbiddenError } from "./execution-pipeline";
47
+ export { SubscriptionHandler } from "./subscription-handler";
48
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/graphql/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAqCG;AAIH,OAAO,EAAE,aAAa,EAAE,qBAAqB,EAAE,MAAM,kBAAkB,CAAC;AAIxE,OAAO,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AAIzD,OAAO,EACN,QAAQ,EACR,UAAU,EACV,SAAS,EACT,KAAK,EACL,KAAK,EACL,QAAQ,EACR,YAAY,EACZ,IAAI,EACJ,UAAU,GACV,MAAM,cAAc,CAAC;AAItB,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAI9D,YAAY,EACX,aAAa,EACb,cAAc,EACd,aAAa,EACb,YAAY,EACZ,oBAAoB,EACpB,aAAa,EACb,MAAM,EACN,qBAAqB,EACrB,YAAY,EACZ,aAAa,EACb,qBAAqB,EACrB,aAAa,EACb,aAAa,EACb,cAAc,EACd,oBAAoB,EACpB,WAAW,GACX,MAAM,SAAS,CAAC;AAIjB,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAIjD,OAAO,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AAIxD,OAAO,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAC;AAI7D,OAAO,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/graphql/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAqCG;AAEH,2CAA2C;AAE3C,OAAO,EAAE,aAAa,EAAE,qBAAqB,EAAE,MAAM,kBAAkB,CAAC;AAExE,sCAAsC;AAEtC,OAAO,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AAEzD,yCAAyC;AAEzC,OAAO,EACN,QAAQ,EACR,UAAU,EACV,SAAS,EACT,KAAK,EACL,KAAK,EACL,QAAQ,EACR,YAAY,EACZ,IAAI,EACJ,UAAU,GACV,MAAM,cAAc,CAAC;AAEtB,+CAA+C;AAE/C,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAuB9D,qCAAqC;AAErC,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAEjD,sCAAsC;AAEtC,OAAO,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AAExD,uCAAuC;AAEvC,OAAO,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAC;AAE7D,4CAA4C;AAE5C,OAAO,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC"}
@@ -0,0 +1,37 @@
1
+ /**
2
+ * GraphQL Metadata Storage
3
+ *
4
+ * Isolated metadata storage using WeakMap, following the same pattern
5
+ * as src/openapi/metadata.ts and src/modules/metadata.ts.
6
+ * Fully self-contained — no imports from openapi/ or modules/.
7
+ */
8
+ import type { Constructor, FieldMetadata, ResolverFieldMetadata, ResolverClassMetadata, TypeClassMetadata, ParamMetadata } from "./types";
9
+ export declare function setGqlClassMetadata(target: Constructor, key: string, value: unknown): void;
10
+ export declare function getGqlClassMetadata<T>(target: Constructor, key: string): T | undefined;
11
+ export declare function setGqlPrototypeMetadata(target: object, key: string, value: unknown): void;
12
+ export declare function getGqlPrototypeMetadata<T>(target: object, key: string): T | undefined;
13
+ export declare function setGqlPropertyMetadata(target: object, propertyKey: string | symbol, value: FieldMetadata): void;
14
+ export declare function getGqlPropertyMetadata(target: object, propertyKey: string | symbol): FieldMetadata | undefined;
15
+ export declare function getGqlPropertyKeys(target: object): string[];
16
+ export declare function getAllGqlPropertyMetadata(target: object): FieldMetadata[];
17
+ export declare const GQL_RESOLVER_KEY = "gql:resolver";
18
+ export declare const GQL_OBJECTTYPE_KEY = "gql:objecttype";
19
+ export declare const GQL_INPUTTYPE_KEY = "gql:inputtype";
20
+ export declare const GQL_QUERIES_KEY = "gql:queries";
21
+ export declare const GQL_MUTATIONS_KEY = "gql:mutations";
22
+ export declare const GQL_SUBSCRIPTIONS_KEY = "gql:subscriptions";
23
+ export declare const GQL_PARAMS_PREFIX = "gql:params:";
24
+ export declare function getResolverMetadata(target: Constructor): ResolverClassMetadata | undefined;
25
+ export declare function setResolverMetadata(target: Constructor, metadata: ResolverClassMetadata): void;
26
+ export declare function getTypeMetadata(target: Constructor): TypeClassMetadata | undefined;
27
+ export declare function setObjectTypeMetadata(target: Constructor, metadata: TypeClassMetadata): void;
28
+ export declare function setInputTypeMetadata(target: Constructor, metadata: TypeClassMetadata): void;
29
+ export declare function addQueryField(prototype: object, field: ResolverFieldMetadata): void;
30
+ export declare function addMutationField(prototype: object, field: ResolverFieldMetadata): void;
31
+ export declare function addSubscriptionField(prototype: object, field: ResolverFieldMetadata): void;
32
+ export declare function getQueryFields(prototype: object): ResolverFieldMetadata[];
33
+ export declare function getMutationFields(prototype: object): ResolverFieldMetadata[];
34
+ export declare function getSubscriptionFields(prototype: object): ResolverFieldMetadata[];
35
+ export declare function setParamMetadata(prototype: object, methodName: string, paramIndex: number, meta: ParamMetadata): void;
36
+ export declare function getParamMetadata(prototype: object, methodName: string): ParamMetadata[];
37
+ //# sourceMappingURL=metadata.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"metadata.d.ts","sourceRoot":"","sources":["../../src/graphql/metadata.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,130 @@
1
+ /**
2
+ * GraphQL Metadata Storage
3
+ *
4
+ * Isolated metadata storage using WeakMap, following the same pattern
5
+ * as src/openapi/metadata.ts and src/modules/metadata.ts.
6
+ * Fully self-contained — no imports from openapi/ or modules/.
7
+ */
8
+ // ============= Class-Level Metadata =============
9
+ // Stores @Resolver, @ObjectType, @InputType metadata keyed by class constructor
10
+ const classMetadataStore = new WeakMap();
11
+ export function setGqlClassMetadata(target, key, value) {
12
+ if (!classMetadataStore.has(target)) {
13
+ classMetadataStore.set(target, new Map());
14
+ }
15
+ classMetadataStore.get(target)?.set(key, value);
16
+ }
17
+ export function getGqlClassMetadata(target, key) {
18
+ return classMetadataStore.get(target)?.get(key);
19
+ }
20
+ // ============= Prototype-Level Metadata =============
21
+ // Stores @Query, @Mutation, @Subscription, @Args metadata keyed by class prototype
22
+ const prototypeMetadataStore = new WeakMap();
23
+ export function setGqlPrototypeMetadata(target, key, value) {
24
+ if (!prototypeMetadataStore.has(target)) {
25
+ prototypeMetadataStore.set(target, new Map());
26
+ }
27
+ prototypeMetadataStore.get(target)?.set(key, value);
28
+ }
29
+ export function getGqlPrototypeMetadata(target, key) {
30
+ return prototypeMetadataStore.get(target)?.get(key);
31
+ }
32
+ // ============= Property-Level Metadata =============
33
+ // Stores @Field metadata keyed by class prototype + property name
34
+ const propertyMetadataStore = new WeakMap();
35
+ export function setGqlPropertyMetadata(target, propertyKey, value) {
36
+ if (!propertyMetadataStore.has(target)) {
37
+ propertyMetadataStore.set(target, new Map());
38
+ }
39
+ const key = typeof propertyKey === "symbol" ? propertyKey.toString() : propertyKey;
40
+ propertyMetadataStore.get(target)?.set(key, value);
41
+ }
42
+ export function getGqlPropertyMetadata(target, propertyKey) {
43
+ const key = typeof propertyKey === "symbol" ? propertyKey.toString() : propertyKey;
44
+ return propertyMetadataStore.get(target)?.get(key);
45
+ }
46
+ export function getGqlPropertyKeys(target) {
47
+ const map = propertyMetadataStore.get(target);
48
+ if (!map)
49
+ return [];
50
+ return Array.from(map.keys());
51
+ }
52
+ export function getAllGqlPropertyMetadata(target) {
53
+ const map = propertyMetadataStore.get(target);
54
+ if (!map)
55
+ return [];
56
+ return Array.from(map.values());
57
+ }
58
+ // ============= Typed Helpers =============
59
+ // Metadata keys
60
+ export const GQL_RESOLVER_KEY = "gql:resolver";
61
+ export const GQL_OBJECTTYPE_KEY = "gql:objecttype";
62
+ export const GQL_INPUTTYPE_KEY = "gql:inputtype";
63
+ export const GQL_QUERIES_KEY = "gql:queries";
64
+ export const GQL_MUTATIONS_KEY = "gql:mutations";
65
+ export const GQL_SUBSCRIPTIONS_KEY = "gql:subscriptions";
66
+ export const GQL_PARAMS_PREFIX = "gql:params:";
67
+ // ============= Resolver metadata helpers =============
68
+ export function getResolverMetadata(target) {
69
+ return getGqlClassMetadata(target, GQL_RESOLVER_KEY);
70
+ }
71
+ export function setResolverMetadata(target, metadata) {
72
+ setGqlClassMetadata(target, GQL_RESOLVER_KEY, metadata);
73
+ }
74
+ // ============= Object/Input type metadata helpers =============
75
+ export function getTypeMetadata(target) {
76
+ return (getGqlClassMetadata(target, GQL_OBJECTTYPE_KEY) ??
77
+ getGqlClassMetadata(target, GQL_INPUTTYPE_KEY));
78
+ }
79
+ export function setObjectTypeMetadata(target, metadata) {
80
+ setGqlClassMetadata(target, GQL_OBJECTTYPE_KEY, metadata);
81
+ }
82
+ export function setInputTypeMetadata(target, metadata) {
83
+ setGqlClassMetadata(target, GQL_INPUTTYPE_KEY, metadata);
84
+ }
85
+ // ============= Resolver field metadata helpers =============
86
+ function getResolverFields(prototype, key) {
87
+ return getGqlPrototypeMetadata(prototype, key) ?? [];
88
+ }
89
+ function addResolverField(prototype, key, field) {
90
+ const existing = getResolverFields(prototype, key);
91
+ // Replace if methodName already exists (decorator applied multiple times)
92
+ const idx = existing.findIndex((f) => f.methodName === field.methodName);
93
+ if (idx >= 0) {
94
+ existing[idx] = field;
95
+ }
96
+ else {
97
+ existing.push(field);
98
+ }
99
+ setGqlPrototypeMetadata(prototype, key, existing);
100
+ }
101
+ export function addQueryField(prototype, field) {
102
+ addResolverField(prototype, GQL_QUERIES_KEY, field);
103
+ }
104
+ export function addMutationField(prototype, field) {
105
+ addResolverField(prototype, GQL_MUTATIONS_KEY, field);
106
+ }
107
+ export function addSubscriptionField(prototype, field) {
108
+ addResolverField(prototype, GQL_SUBSCRIPTIONS_KEY, field);
109
+ }
110
+ export function getQueryFields(prototype) {
111
+ return getResolverFields(prototype, GQL_QUERIES_KEY);
112
+ }
113
+ export function getMutationFields(prototype) {
114
+ return getResolverFields(prototype, GQL_MUTATIONS_KEY);
115
+ }
116
+ export function getSubscriptionFields(prototype) {
117
+ return getResolverFields(prototype, GQL_SUBSCRIPTIONS_KEY);
118
+ }
119
+ // ============= Parameter metadata helpers =============
120
+ export function setParamMetadata(prototype, methodName, paramIndex, meta) {
121
+ const key = `${GQL_PARAMS_PREFIX}${methodName}`;
122
+ const existing = getGqlPrototypeMetadata(prototype, key) ?? [];
123
+ existing[paramIndex] = meta;
124
+ setGqlPrototypeMetadata(prototype, key, existing);
125
+ }
126
+ export function getParamMetadata(prototype, methodName) {
127
+ const key = `${GQL_PARAMS_PREFIX}${methodName}`;
128
+ return getGqlPrototypeMetadata(prototype, key) ?? [];
129
+ }
130
+ //# sourceMappingURL=metadata.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"metadata.js","sourceRoot":"","sources":["../../src/graphql/metadata.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,34 @@
1
+ /**
2
+ * Schema Builder
3
+ *
4
+ * Reads GraphQL decorator metadata from resolver and type classes,
5
+ * generates SDL (Schema Definition Language), and builds the internal
6
+ * ResolvedSchema used by the built-in engine.
7
+ */
8
+ import type { Constructor, TypeFn, FieldMetadata, ResolvedSchema, ResolverFieldsByType } from "./types";
9
+ /** Map JS constructors to GraphQL scalar names */
10
+ export declare function typeFnToScalarName(typeFn: TypeFn): string | null;
11
+ /** Convert a TypeFn to an SDL type string */
12
+ export declare function typeFnToSDL(typeFn: TypeFn, nullable: boolean): string;
13
+ export interface BuiltSchema {
14
+ sdl: string;
15
+ resolvedSchema: ResolvedSchema;
16
+ resolverFields: ResolverFieldsByType;
17
+ typeFields: Map<string, FieldMetadata[]>;
18
+ }
19
+ export declare class SchemaBuilder {
20
+ private resolverClasses;
21
+ private resolverInstances;
22
+ private typeClasses;
23
+ constructor(resolverClasses: Constructor[], resolverInstances: Map<Constructor, unknown>);
24
+ build(): BuiltSchema;
25
+ private toResolvedField;
26
+ private collectReturnType;
27
+ private collectNestedTypes;
28
+ private buildTypeFields;
29
+ private generateSDL;
30
+ private buildArgsSDL;
31
+ }
32
+ export declare function registerTypeClass(ctor: Constructor): void;
33
+ export declare function getRegisteredTypeClasses(): Constructor[];
34
+ //# sourceMappingURL=schema-builder.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"schema-builder.d.ts","sourceRoot":"","sources":["../../src/graphql/schema-builder.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EACX,WAAW,EACX,MAAM,EACN,aAAa,EAGb,cAAc,EACd,oBAAoB,EAIpB,MAAM,SAAS,CAAC;AAejB,kDAAkD;AAClD,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAYhE;AAED,6CAA6C;AAC7C,wBAAgB,WAAW,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,GAAG,MAAM,CAkBrE;AAID,MAAM,WAAW,WAAW;IAC3B,GAAG,EAAE,MAAM,CAAC;IACZ,cAAc,EAAE,cAAc,CAAC;IAC/B,cAAc,EAAE,oBAAoB,CAAC;IACrC,UAAU,EAAE,GAAG,CAAC,MAAM,EAAE,aAAa,EAAE,CAAC,CAAC;CACzC;AAED,qBAAa,aAAa;IAKxB,OAAO,CAAC,eAAe;IAJxB,OAAO,CAAC,iBAAiB,CAA4B;IACrD,OAAO,CAAC,WAAW,CAA+B;gBAGzC,eAAe,EAAE,WAAW,EAAE,EACtC,iBAAiB,EAAE,GAAG,CAAC,WAAW,EAAE,OAAO,CAAC;IAK7C,KAAK,IAAI,WAAW;IAoDpB,OAAO,CAAC,eAAe;IAavB,OAAO,CAAC,iBAAiB;IAWzB,OAAO,CAAC,kBAAkB;IAsB1B,OAAO,CAAC,eAAe;IAWvB,OAAO,CAAC,WAAW;IA6EnB,OAAO,CAAC,YAAY;CA6BpB;AAOD,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,WAAW,GAAG,IAAI,CAEzD;AAED,wBAAgB,wBAAwB,IAAI,WAAW,EAAE,CAExD"}
@@ -0,0 +1,251 @@
1
+ /**
2
+ * Schema Builder
3
+ *
4
+ * Reads GraphQL decorator metadata from resolver and type classes,
5
+ * generates SDL (Schema Definition Language), and builds the internal
6
+ * ResolvedSchema used by the built-in engine.
7
+ */
8
+ import { getTypeMetadata, getQueryFields, getMutationFields, getSubscriptionFields, getAllGqlPropertyMetadata, } from "./metadata";
9
+ // ============= Scalar Helpers =============
10
+ /** Map JS constructors to GraphQL scalar names */
11
+ export function typeFnToScalarName(typeFn) {
12
+ const type = typeFn();
13
+ const resolved = Array.isArray(type) ? type[0] : type;
14
+ if (resolved === String)
15
+ return "String";
16
+ if (resolved === Number)
17
+ return "Float";
18
+ if (resolved === Boolean)
19
+ return "Boolean";
20
+ // Check sentinel classes by name (avoids import cycle)
21
+ const name = resolved.name;
22
+ if (name === "GraphQLID")
23
+ return "ID";
24
+ if (name === "GraphQLInt")
25
+ return "Int";
26
+ if (name === "GraphQLFloat")
27
+ return "Float";
28
+ return null;
29
+ }
30
+ /** Convert a TypeFn to an SDL type string */
31
+ export function typeFnToSDL(typeFn, nullable) {
32
+ const type = typeFn();
33
+ const isArray = Array.isArray(type);
34
+ const inner = isArray ? type[0] : type;
35
+ let innerName;
36
+ const scalarName = typeFnToScalarName(() => inner);
37
+ if (scalarName) {
38
+ innerName = scalarName;
39
+ }
40
+ else {
41
+ // Use the class name for object / input types
42
+ innerName = inner.name;
43
+ // Strip any __type marker (for sentinel classes already handled above)
44
+ }
45
+ // Inner type is always non-null (items in list are non-null)
46
+ const innerSdl = isArray ? `[${innerName}!]` : innerName;
47
+ return nullable ? innerSdl : `${innerSdl}!`;
48
+ }
49
+ export class SchemaBuilder {
50
+ resolverClasses;
51
+ resolverInstances;
52
+ typeClasses = new Set();
53
+ constructor(resolverClasses, resolverInstances) {
54
+ this.resolverClasses = resolverClasses;
55
+ this.resolverInstances = resolverInstances;
56
+ }
57
+ build() {
58
+ // Collect query/mutation/subscription fields across all resolvers
59
+ const queries = new Map();
60
+ const mutations = new Map();
61
+ const subscriptions = new Map();
62
+ for (const ResolverClass of this.resolverClasses) {
63
+ const instance = this.resolverInstances.get(ResolverClass);
64
+ const qFields = getQueryFields(ResolverClass.prototype);
65
+ for (const f of qFields) {
66
+ queries.set(f.fieldName, this.toResolvedField(f, instance));
67
+ this.collectReturnType(f.typeFn);
68
+ }
69
+ const mFields = getMutationFields(ResolverClass.prototype);
70
+ for (const f of mFields) {
71
+ mutations.set(f.fieldName, this.toResolvedField(f, instance));
72
+ this.collectReturnType(f.typeFn);
73
+ }
74
+ const sFields = getSubscriptionFields(ResolverClass.prototype);
75
+ for (const f of sFields) {
76
+ subscriptions.set(f.fieldName, this.toResolvedField(f, instance));
77
+ this.collectReturnType(f.typeFn);
78
+ }
79
+ }
80
+ // Also collect types referenced from @Field decorators
81
+ this.collectNestedTypes();
82
+ // Build type field map
83
+ const typeFields = this.buildTypeFields();
84
+ // Generate SDL
85
+ const sdl = this.generateSDL(queries, mutations, subscriptions, typeFields);
86
+ const resolverFields = {
87
+ queries,
88
+ mutations,
89
+ subscriptions,
90
+ };
91
+ const resolvedSchema = {
92
+ queryFields: queries,
93
+ mutationFields: mutations,
94
+ subscriptionFields: subscriptions,
95
+ };
96
+ return { sdl, resolvedSchema, resolverFields, typeFields };
97
+ }
98
+ toResolvedField(field, instance) {
99
+ return {
100
+ resolverInstance: instance,
101
+ methodName: field.methodName,
102
+ paramMetadata: field.paramMetadata,
103
+ typeFn: field.typeFn,
104
+ nullable: field.nullable,
105
+ };
106
+ }
107
+ collectReturnType(typeFn) {
108
+ const type = typeFn();
109
+ const resolved = Array.isArray(type) ? type[0] : type;
110
+ if (typeof resolved === "function") {
111
+ const meta = getTypeMetadata(resolved);
112
+ if (meta) {
113
+ this.typeClasses.add(resolved);
114
+ }
115
+ }
116
+ }
117
+ collectNestedTypes() {
118
+ // Iterate type classes and collect nested types from @Field typeFns
119
+ let changed = true;
120
+ while (changed) {
121
+ changed = false;
122
+ for (const TypeClass of Array.from(this.typeClasses)) {
123
+ const fields = getAllGqlPropertyMetadata(TypeClass.prototype);
124
+ for (const field of fields) {
125
+ const type = field.typeFn();
126
+ const inner = Array.isArray(type) ? type[0] : type;
127
+ if (typeof inner === "function") {
128
+ const meta = getTypeMetadata(inner);
129
+ if (meta && !this.typeClasses.has(inner)) {
130
+ this.typeClasses.add(inner);
131
+ changed = true;
132
+ }
133
+ }
134
+ }
135
+ }
136
+ }
137
+ }
138
+ buildTypeFields() {
139
+ const result = new Map();
140
+ for (const TypeClass of this.typeClasses) {
141
+ const meta = getTypeMetadata(TypeClass);
142
+ if (!meta)
143
+ continue;
144
+ const fields = getAllGqlPropertyMetadata(TypeClass.prototype);
145
+ result.set(meta.name, fields);
146
+ }
147
+ return result;
148
+ }
149
+ generateSDL(queries, mutations, subscriptions, typeFields) {
150
+ const lines = [];
151
+ // Object types and input types
152
+ for (const TypeClass of this.typeClasses) {
153
+ const meta = getTypeMetadata(TypeClass);
154
+ if (!meta)
155
+ continue;
156
+ const fields = getAllGqlPropertyMetadata(TypeClass.prototype);
157
+ if (fields.length === 0)
158
+ continue;
159
+ const keyword = meta.kind === "input" ? "input" : "type";
160
+ if (meta.description) {
161
+ lines.push(`"""${meta.description}"""`);
162
+ }
163
+ lines.push(`${keyword} ${meta.name} {`);
164
+ for (const f of fields) {
165
+ if (f.description) {
166
+ lines.push(` """${f.description}"""`);
167
+ }
168
+ const typeSdl = typeFnToSDL(f.typeFn, f.nullable);
169
+ let fieldLine = ` ${f.propertyKey}: ${typeSdl}`;
170
+ if (f.defaultValue !== undefined) {
171
+ fieldLine += ` = ${JSON.stringify(f.defaultValue)}`;
172
+ }
173
+ lines.push(fieldLine);
174
+ if (f.deprecationReason) {
175
+ lines[lines.length - 1] += ` @deprecated(reason: "${f.deprecationReason}")`;
176
+ }
177
+ }
178
+ lines.push("}");
179
+ lines.push("");
180
+ }
181
+ // Query type
182
+ if (queries.size > 0) {
183
+ lines.push("type Query {");
184
+ for (const [fieldName, field] of queries) {
185
+ const args = this.buildArgsSDL(fieldName, queries);
186
+ const typeSdl = typeFnToSDL(field.typeFn, field.nullable);
187
+ lines.push(` ${fieldName}${args}: ${typeSdl}`);
188
+ }
189
+ lines.push("}");
190
+ lines.push("");
191
+ }
192
+ // Mutation type
193
+ if (mutations.size > 0) {
194
+ lines.push("type Mutation {");
195
+ for (const [fieldName, field] of mutations) {
196
+ const args = this.buildArgsSDL(fieldName, mutations);
197
+ const typeSdl = typeFnToSDL(field.typeFn, field.nullable);
198
+ lines.push(` ${fieldName}${args}: ${typeSdl}`);
199
+ }
200
+ lines.push("}");
201
+ lines.push("");
202
+ }
203
+ // Subscription type
204
+ if (subscriptions.size > 0) {
205
+ lines.push("type Subscription {");
206
+ for (const [fieldName, field] of subscriptions) {
207
+ const typeSdl = typeFnToSDL(field.typeFn, field.nullable);
208
+ lines.push(` ${fieldName}: ${typeSdl}`);
209
+ }
210
+ lines.push("}");
211
+ lines.push("");
212
+ }
213
+ return lines.join("\n").trim();
214
+ }
215
+ buildArgsSDL(fieldName, fields) {
216
+ const field = fields.get(fieldName);
217
+ if (!field || field.paramMetadata.length === 0)
218
+ return "";
219
+ const args = [];
220
+ for (const param of field.paramMetadata) {
221
+ if (param.kind === "context")
222
+ continue;
223
+ if (param.kind === "args" && param.argName) {
224
+ // We don't know the type from paramMetadata alone for SDL args.
225
+ // For simple scalars this would need annotation — skip for now
226
+ // (built-in engine resolves by name from incoming args object)
227
+ continue;
228
+ }
229
+ if (param.kind === "argsObject" && param.inputTypeFn) {
230
+ const inputType = param.inputTypeFn();
231
+ const typeName = Array.isArray(inputType)
232
+ ? inputType[0].name
233
+ : inputType.name;
234
+ if (param.argName) {
235
+ args.push(`${param.argName}: ${typeName}!`);
236
+ }
237
+ }
238
+ }
239
+ return args.length > 0 ? `(${args.join(", ")})` : "";
240
+ }
241
+ }
242
+ // ============= Registry of known @ObjectType / @InputType classes =============
243
+ // Global registry populated by @ObjectType / @InputType at decoration time
244
+ const registeredTypeClasses = new Set();
245
+ export function registerTypeClass(ctor) {
246
+ registeredTypeClasses.add(ctor);
247
+ }
248
+ export function getRegisteredTypeClasses() {
249
+ return Array.from(registeredTypeClasses);
250
+ }
251
+ //# sourceMappingURL=schema-builder.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"schema-builder.js","sourceRoot":"","sources":["../../src/graphql/schema-builder.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,47 @@
1
+ /**
2
+ * GraphQL Subscription Handler
3
+ *
4
+ * Implements the graphql-transport-ws protocol over Bun's native WebSocket.
5
+ * Registered via app.setWebSocketHandler() so subscriptions run on the same
6
+ * port as the HTTP server — no separate port needed.
7
+ *
8
+ * Protocol spec: https://github.com/enisdenjo/graphql-ws/blob/master/PROTOCOL.md
9
+ *
10
+ * ## Usage
11
+ * Automatically configured by GraphQLModule.setup() when subscriptions: true.
12
+ * Requires an engine with supportsSubscriptions = true (e.g. GraphQLJsAdapter).
13
+ */
14
+ import type { GraphQLEngine } from "./types";
15
+ import type { Container } from "../container";
16
+ import type { Guard, Interceptor } from "./execution-pipeline";
17
+ interface WsData {
18
+ connectionId: string;
19
+ }
20
+ export declare class SubscriptionHandler {
21
+ private engine;
22
+ private engineSchema;
23
+ private graphqlPath;
24
+ private container;
25
+ private globalGuards;
26
+ private globalInterceptors;
27
+ private connections;
28
+ constructor(engine: GraphQLEngine, engineSchema: unknown, graphqlPath: string, container: Container, globalGuards: Guard[], globalInterceptors: Interceptor[]);
29
+ /**
30
+ * Returns a Bun WebSocketHandler to register on the server via app.setWebSocketHandler().
31
+ * Attaches an __upgradeHandler so Application.listen() can delegate WebSocket upgrades.
32
+ */
33
+ getWebSocketConfig(): Bun.WebSocketHandler<WsData> & {
34
+ __upgradeHandler: (req: Request, srv: Bun.Server) => Response | undefined;
35
+ };
36
+ /**
37
+ * Middleware-like upgrade handler.
38
+ * Call this from the app's fetch function for WebSocket upgrade requests.
39
+ * Returns a Response if not a GraphQL WS path, undefined if upgraded.
40
+ */
41
+ handleUpgrade(req: Request, server: Bun.Server): Response | undefined;
42
+ private handleMessage;
43
+ private handleSubscribe;
44
+ private send;
45
+ }
46
+ export {};
47
+ //# sourceMappingURL=subscription-handler.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"subscription-handler.d.ts","sourceRoot":"","sources":["../../src/graphql/subscription-handler.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAkC,MAAM,SAAS,CAAC;AAC7E,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAC9C,OAAO,KAAK,EAAE,KAAK,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAoD/D,UAAU,MAAM;IACf,YAAY,EAAE,MAAM,CAAC;CACrB;AAID,qBAAa,mBAAmB;IAI9B,OAAO,CAAC,MAAM;IACd,OAAO,CAAC,YAAY;IACpB,OAAO,CAAC,WAAW;IACnB,OAAO,CAAC,SAAS;IACjB,OAAO,CAAC,YAAY;IACpB,OAAO,CAAC,kBAAkB;IAR3B,OAAO,CAAC,WAAW,CAAsC;gBAGhD,MAAM,EAAE,aAAa,EACrB,YAAY,EAAE,OAAO,EACrB,WAAW,EAAE,MAAM,EACnB,SAAS,EAAE,SAAS,EACpB,YAAY,EAAE,KAAK,EAAE,EACrB,kBAAkB,EAAE,WAAW,EAAE;IAG1C;;;OAGG;IACH,kBAAkB,IAAI,GAAG,CAAC,gBAAgB,CAAC,MAAM,CAAC,GAAG;QAAE,gBAAgB,EAAE,CAAC,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,GAAG,CAAC,MAAM,KAAK,QAAQ,GAAG,SAAS,CAAA;KAAE;IA2ClI;;;;OAIG;IACH,aAAa,CAAC,GAAG,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,CAAC,MAAM,GAAG,QAAQ,GAAG,SAAS;YAwBvD,aAAa;YA0Cb,eAAe;IAuE7B,OAAO,CAAC,IAAI;CAOZ"}