@engjts/nexus 0.1.0

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 (843) hide show
  1. package/README.md +164 -0
  2. package/dist/advanced/cache/InMemoryCacheStore.d.ts +18 -0
  3. package/dist/advanced/cache/InMemoryCacheStore.d.ts.map +1 -0
  4. package/dist/advanced/cache/InMemoryCacheStore.js +60 -0
  5. package/dist/advanced/cache/InMemoryCacheStore.js.map +1 -0
  6. package/dist/advanced/cache/MultiTierCache.d.ts +55 -0
  7. package/dist/advanced/cache/MultiTierCache.d.ts.map +1 -0
  8. package/dist/advanced/cache/MultiTierCache.js +159 -0
  9. package/dist/advanced/cache/MultiTierCache.js.map +1 -0
  10. package/dist/advanced/cache/RedisCacheStore.d.ts +153 -0
  11. package/dist/advanced/cache/RedisCacheStore.d.ts.map +1 -0
  12. package/dist/advanced/cache/RedisCacheStore.js +247 -0
  13. package/dist/advanced/cache/RedisCacheStore.js.map +1 -0
  14. package/dist/advanced/cache/index.d.ts +6 -0
  15. package/dist/advanced/cache/index.d.ts.map +1 -0
  16. package/dist/advanced/cache/index.js +26 -0
  17. package/dist/advanced/cache/index.js.map +1 -0
  18. package/dist/advanced/cache/types.d.ts +35 -0
  19. package/dist/advanced/cache/types.d.ts.map +1 -0
  20. package/dist/advanced/cache/types.js +3 -0
  21. package/dist/advanced/cache/types.js.map +1 -0
  22. package/dist/advanced/graphql/SimpleDataLoader.d.ts +8 -0
  23. package/dist/advanced/graphql/SimpleDataLoader.d.ts.map +1 -0
  24. package/dist/advanced/graphql/SimpleDataLoader.js +43 -0
  25. package/dist/advanced/graphql/SimpleDataLoader.js.map +1 -0
  26. package/dist/advanced/graphql/index.d.ts +15 -0
  27. package/dist/advanced/graphql/index.d.ts.map +1 -0
  28. package/dist/advanced/graphql/index.js +19 -0
  29. package/dist/advanced/graphql/index.js.map +1 -0
  30. package/dist/advanced/graphql/server.d.ts +23 -0
  31. package/dist/advanced/graphql/server.d.ts.map +1 -0
  32. package/dist/advanced/graphql/server.js +208 -0
  33. package/dist/advanced/graphql/server.js.map +1 -0
  34. package/dist/advanced/graphql/types.d.ts +45 -0
  35. package/dist/advanced/graphql/types.d.ts.map +1 -0
  36. package/dist/advanced/graphql/types.js +3 -0
  37. package/dist/advanced/graphql/types.js.map +1 -0
  38. package/dist/advanced/jobs/InMemoryQueueStore.d.ts +14 -0
  39. package/dist/advanced/jobs/InMemoryQueueStore.d.ts.map +1 -0
  40. package/dist/advanced/jobs/InMemoryQueueStore.js +59 -0
  41. package/dist/advanced/jobs/InMemoryQueueStore.js.map +1 -0
  42. package/dist/advanced/jobs/JobQueue.d.ts +178 -0
  43. package/dist/advanced/jobs/JobQueue.d.ts.map +1 -0
  44. package/dist/advanced/jobs/JobQueue.js +440 -0
  45. package/dist/advanced/jobs/JobQueue.js.map +1 -0
  46. package/dist/advanced/jobs/RedisQueueStore.d.ts +157 -0
  47. package/dist/advanced/jobs/RedisQueueStore.d.ts.map +1 -0
  48. package/dist/advanced/jobs/RedisQueueStore.js +264 -0
  49. package/dist/advanced/jobs/RedisQueueStore.js.map +1 -0
  50. package/dist/advanced/jobs/index.d.ts +6 -0
  51. package/dist/advanced/jobs/index.d.ts.map +1 -0
  52. package/dist/advanced/jobs/index.js +26 -0
  53. package/dist/advanced/jobs/index.js.map +1 -0
  54. package/dist/advanced/jobs/types.d.ts +64 -0
  55. package/dist/advanced/jobs/types.d.ts.map +1 -0
  56. package/dist/advanced/jobs/types.js +3 -0
  57. package/dist/advanced/jobs/types.js.map +1 -0
  58. package/dist/advanced/observability/APMManager.d.ts +64 -0
  59. package/dist/advanced/observability/APMManager.d.ts.map +1 -0
  60. package/dist/advanced/observability/APMManager.js +150 -0
  61. package/dist/advanced/observability/APMManager.js.map +1 -0
  62. package/dist/advanced/observability/AlertManager.d.ts +30 -0
  63. package/dist/advanced/observability/AlertManager.d.ts.map +1 -0
  64. package/dist/advanced/observability/AlertManager.js +98 -0
  65. package/dist/advanced/observability/AlertManager.js.map +1 -0
  66. package/dist/advanced/observability/MetricRegistry.d.ts +37 -0
  67. package/dist/advanced/observability/MetricRegistry.d.ts.map +1 -0
  68. package/dist/advanced/observability/MetricRegistry.js +129 -0
  69. package/dist/advanced/observability/MetricRegistry.js.map +1 -0
  70. package/dist/advanced/observability/ObservabilityCenter.d.ts +113 -0
  71. package/dist/advanced/observability/ObservabilityCenter.d.ts.map +1 -0
  72. package/dist/advanced/observability/ObservabilityCenter.js +266 -0
  73. package/dist/advanced/observability/ObservabilityCenter.js.map +1 -0
  74. package/dist/advanced/observability/StructuredLogger.d.ts +25 -0
  75. package/dist/advanced/observability/StructuredLogger.d.ts.map +1 -0
  76. package/dist/advanced/observability/StructuredLogger.js +137 -0
  77. package/dist/advanced/observability/StructuredLogger.js.map +1 -0
  78. package/dist/advanced/observability/TracingManager.d.ts +31 -0
  79. package/dist/advanced/observability/TracingManager.d.ts.map +1 -0
  80. package/dist/advanced/observability/TracingManager.js +105 -0
  81. package/dist/advanced/observability/TracingManager.js.map +1 -0
  82. package/dist/advanced/observability/adapters.d.ts +134 -0
  83. package/dist/advanced/observability/adapters.d.ts.map +1 -0
  84. package/dist/advanced/observability/adapters.js +257 -0
  85. package/dist/advanced/observability/adapters.js.map +1 -0
  86. package/dist/advanced/observability/createObservabilityMiddleware.d.ts +8 -0
  87. package/dist/advanced/observability/createObservabilityMiddleware.d.ts.map +1 -0
  88. package/dist/advanced/observability/createObservabilityMiddleware.js +46 -0
  89. package/dist/advanced/observability/createObservabilityMiddleware.js.map +1 -0
  90. package/dist/advanced/observability/index.d.ts +2 -0
  91. package/dist/advanced/observability/index.d.ts.map +1 -0
  92. package/dist/advanced/observability/index.js +13 -0
  93. package/dist/advanced/observability/index.js.map +1 -0
  94. package/dist/advanced/observability/types.d.ts +182 -0
  95. package/dist/advanced/observability/types.d.ts.map +1 -0
  96. package/dist/advanced/observability/types.js +3 -0
  97. package/dist/advanced/observability/types.js.map +1 -0
  98. package/dist/advanced/playground/extractPathParams.d.ts +4 -0
  99. package/dist/advanced/playground/extractPathParams.d.ts.map +1 -0
  100. package/dist/advanced/playground/extractPathParams.js +8 -0
  101. package/dist/advanced/playground/extractPathParams.js.map +1 -0
  102. package/dist/advanced/playground/generateFieldExample.d.ts +2 -0
  103. package/dist/advanced/playground/generateFieldExample.d.ts.map +1 -0
  104. package/dist/advanced/playground/generateFieldExample.js +40 -0
  105. package/dist/advanced/playground/generateFieldExample.js.map +1 -0
  106. package/dist/advanced/playground/generatePlaygroundHTML.d.ts +3 -0
  107. package/dist/advanced/playground/generatePlaygroundHTML.d.ts.map +1 -0
  108. package/dist/advanced/playground/generatePlaygroundHTML.js +1848 -0
  109. package/dist/advanced/playground/generatePlaygroundHTML.js.map +1 -0
  110. package/dist/advanced/playground/generateSummary.d.ts +3 -0
  111. package/dist/advanced/playground/generateSummary.d.ts.map +1 -0
  112. package/dist/advanced/playground/generateSummary.js +19 -0
  113. package/dist/advanced/playground/generateSummary.js.map +1 -0
  114. package/dist/advanced/playground/getTagFromPath.d.ts +2 -0
  115. package/dist/advanced/playground/getTagFromPath.d.ts.map +1 -0
  116. package/dist/advanced/playground/getTagFromPath.js +11 -0
  117. package/dist/advanced/playground/getTagFromPath.js.map +1 -0
  118. package/dist/advanced/playground/index.d.ts +7 -0
  119. package/dist/advanced/playground/index.d.ts.map +1 -0
  120. package/dist/advanced/playground/index.js +10 -0
  121. package/dist/advanced/playground/index.js.map +1 -0
  122. package/dist/advanced/playground/playground.d.ts +4 -0
  123. package/dist/advanced/playground/playground.d.ts.map +1 -0
  124. package/dist/advanced/playground/playground.js +139 -0
  125. package/dist/advanced/playground/playground.js.map +1 -0
  126. package/dist/advanced/playground/types.d.ts +18 -0
  127. package/dist/advanced/playground/types.d.ts.map +1 -0
  128. package/dist/advanced/playground/types.js +3 -0
  129. package/dist/advanced/playground/types.js.map +1 -0
  130. package/dist/advanced/playground/zodToExample.d.ts +2 -0
  131. package/dist/advanced/playground/zodToExample.d.ts.map +1 -0
  132. package/dist/advanced/playground/zodToExample.js +22 -0
  133. package/dist/advanced/playground/zodToExample.js.map +1 -0
  134. package/dist/advanced/playground/zodToParams.d.ts +5 -0
  135. package/dist/advanced/playground/zodToParams.d.ts.map +1 -0
  136. package/dist/advanced/playground/zodToParams.js +18 -0
  137. package/dist/advanced/playground/zodToParams.js.map +1 -0
  138. package/dist/advanced/postman/buildAuth.d.ts +3 -0
  139. package/dist/advanced/postman/buildAuth.d.ts.map +1 -0
  140. package/dist/advanced/postman/buildAuth.js +32 -0
  141. package/dist/advanced/postman/buildAuth.js.map +1 -0
  142. package/dist/advanced/postman/buildBody.d.ts +3 -0
  143. package/dist/advanced/postman/buildBody.d.ts.map +1 -0
  144. package/dist/advanced/postman/buildBody.js +15 -0
  145. package/dist/advanced/postman/buildBody.js.map +1 -0
  146. package/dist/advanced/postman/buildQueryParams.d.ts +3 -0
  147. package/dist/advanced/postman/buildQueryParams.d.ts.map +1 -0
  148. package/dist/advanced/postman/buildQueryParams.js +26 -0
  149. package/dist/advanced/postman/buildQueryParams.js.map +1 -0
  150. package/dist/advanced/postman/buildRequestItem.d.ts +3 -0
  151. package/dist/advanced/postman/buildRequestItem.d.ts.map +1 -0
  152. package/dist/advanced/postman/buildRequestItem.js +33 -0
  153. package/dist/advanced/postman/buildRequestItem.js.map +1 -0
  154. package/dist/advanced/postman/buildResponses.d.ts +3 -0
  155. package/dist/advanced/postman/buildResponses.d.ts.map +1 -0
  156. package/dist/advanced/postman/buildResponses.js +12 -0
  157. package/dist/advanced/postman/buildResponses.js.map +1 -0
  158. package/dist/advanced/postman/buildUrl.d.ts +3 -0
  159. package/dist/advanced/postman/buildUrl.d.ts.map +1 -0
  160. package/dist/advanced/postman/buildUrl.js +30 -0
  161. package/dist/advanced/postman/buildUrl.js.map +1 -0
  162. package/dist/advanced/postman/capitalize.d.ts +2 -0
  163. package/dist/advanced/postman/capitalize.d.ts.map +1 -0
  164. package/dist/advanced/postman/capitalize.js +7 -0
  165. package/dist/advanced/postman/capitalize.js.map +1 -0
  166. package/dist/advanced/postman/generateCollection.d.ts +3 -0
  167. package/dist/advanced/postman/generateCollection.d.ts.map +1 -0
  168. package/dist/advanced/postman/generateCollection.js +50 -0
  169. package/dist/advanced/postman/generateCollection.js.map +1 -0
  170. package/dist/advanced/postman/generateEnvironment.d.ts +3 -0
  171. package/dist/advanced/postman/generateEnvironment.d.ts.map +1 -0
  172. package/dist/advanced/postman/generateEnvironment.js +33 -0
  173. package/dist/advanced/postman/generateEnvironment.js.map +1 -0
  174. package/dist/advanced/postman/generateExampleFromZod.d.ts +2 -0
  175. package/dist/advanced/postman/generateExampleFromZod.d.ts.map +1 -0
  176. package/dist/advanced/postman/generateExampleFromZod.js +22 -0
  177. package/dist/advanced/postman/generateExampleFromZod.js.map +1 -0
  178. package/dist/advanced/postman/generateFieldExample.d.ts +2 -0
  179. package/dist/advanced/postman/generateFieldExample.d.ts.map +1 -0
  180. package/dist/advanced/postman/generateFieldExample.js +55 -0
  181. package/dist/advanced/postman/generateFieldExample.js.map +1 -0
  182. package/dist/advanced/postman/generateName.d.ts +3 -0
  183. package/dist/advanced/postman/generateName.d.ts.map +1 -0
  184. package/dist/advanced/postman/generateName.js +19 -0
  185. package/dist/advanced/postman/generateName.js.map +1 -0
  186. package/dist/advanced/postman/generateUUID.d.ts +2 -0
  187. package/dist/advanced/postman/generateUUID.d.ts.map +1 -0
  188. package/dist/advanced/postman/generateUUID.js +14 -0
  189. package/dist/advanced/postman/generateUUID.js.map +1 -0
  190. package/dist/advanced/postman/getTagFromPath.d.ts +2 -0
  191. package/dist/advanced/postman/getTagFromPath.d.ts.map +1 -0
  192. package/dist/advanced/postman/getTagFromPath.js +12 -0
  193. package/dist/advanced/postman/getTagFromPath.js.map +1 -0
  194. package/dist/advanced/postman/index.d.ts +28 -0
  195. package/dist/advanced/postman/index.d.ts.map +1 -0
  196. package/dist/advanced/postman/index.js +30 -0
  197. package/dist/advanced/postman/index.js.map +1 -0
  198. package/dist/advanced/postman/postman.d.ts +7 -0
  199. package/dist/advanced/postman/postman.d.ts.map +1 -0
  200. package/dist/advanced/postman/postman.js +138 -0
  201. package/dist/advanced/postman/postman.js.map +1 -0
  202. package/dist/advanced/postman/slugify.d.ts +2 -0
  203. package/dist/advanced/postman/slugify.d.ts.map +1 -0
  204. package/dist/advanced/postman/slugify.js +10 -0
  205. package/dist/advanced/postman/slugify.js.map +1 -0
  206. package/dist/advanced/postman/types.d.ts +133 -0
  207. package/dist/advanced/postman/types.d.ts.map +1 -0
  208. package/dist/advanced/postman/types.js +3 -0
  209. package/dist/advanced/postman/types.js.map +1 -0
  210. package/dist/advanced/realtime/index.d.ts +13 -0
  211. package/dist/advanced/realtime/index.d.ts.map +1 -0
  212. package/dist/advanced/realtime/index.js +17 -0
  213. package/dist/advanced/realtime/index.js.map +1 -0
  214. package/dist/advanced/realtime/websocket.d.ts +60 -0
  215. package/dist/advanced/realtime/websocket.d.ts.map +1 -0
  216. package/dist/advanced/realtime/websocket.js +197 -0
  217. package/dist/advanced/realtime/websocket.js.map +1 -0
  218. package/dist/advanced/sentry/index.d.ts +287 -0
  219. package/dist/advanced/sentry/index.d.ts.map +1 -0
  220. package/dist/advanced/sentry/index.js +1002 -0
  221. package/dist/advanced/sentry/index.js.map +1 -0
  222. package/dist/advanced/sentry/types.d.ts +298 -0
  223. package/dist/advanced/sentry/types.d.ts.map +1 -0
  224. package/dist/advanced/sentry/types.js +6 -0
  225. package/dist/advanced/sentry/types.js.map +1 -0
  226. package/dist/advanced/static/generateDirectoryListing.d.ts +5 -0
  227. package/dist/advanced/static/generateDirectoryListing.d.ts.map +1 -0
  228. package/dist/advanced/static/generateDirectoryListing.js +44 -0
  229. package/dist/advanced/static/generateDirectoryListing.js.map +1 -0
  230. package/dist/advanced/static/generateETag.d.ts +8 -0
  231. package/dist/advanced/static/generateETag.d.ts.map +1 -0
  232. package/dist/advanced/static/generateETag.js +10 -0
  233. package/dist/advanced/static/generateETag.js.map +1 -0
  234. package/dist/advanced/static/getMimeType.d.ts +5 -0
  235. package/dist/advanced/static/getMimeType.d.ts.map +1 -0
  236. package/dist/advanced/static/getMimeType.js +11 -0
  237. package/dist/advanced/static/getMimeType.js.map +1 -0
  238. package/dist/advanced/static/index.d.ts +30 -0
  239. package/dist/advanced/static/index.d.ts.map +1 -0
  240. package/dist/advanced/static/index.js +33 -0
  241. package/dist/advanced/static/index.js.map +1 -0
  242. package/dist/advanced/static/isSafePath.d.ts +5 -0
  243. package/dist/advanced/static/isSafePath.d.ts.map +1 -0
  244. package/dist/advanced/static/isSafePath.js +14 -0
  245. package/dist/advanced/static/isSafePath.js.map +1 -0
  246. package/dist/advanced/static/publicDir.d.ts +12 -0
  247. package/dist/advanced/static/publicDir.d.ts.map +1 -0
  248. package/dist/advanced/static/publicDir.js +22 -0
  249. package/dist/advanced/static/publicDir.js.map +1 -0
  250. package/dist/advanced/static/serveStatic.d.ts +7 -0
  251. package/dist/advanced/static/serveStatic.d.ts.map +1 -0
  252. package/dist/advanced/static/serveStatic.js +198 -0
  253. package/dist/advanced/static/serveStatic.js.map +1 -0
  254. package/dist/advanced/static/spa.d.ts +14 -0
  255. package/dist/advanced/static/spa.d.ts.map +1 -0
  256. package/dist/advanced/static/spa.js +23 -0
  257. package/dist/advanced/static/spa.js.map +1 -0
  258. package/dist/advanced/static/types.d.ts +78 -0
  259. package/dist/advanced/static/types.d.ts.map +1 -0
  260. package/dist/advanced/static/types.js +67 -0
  261. package/dist/advanced/static/types.js.map +1 -0
  262. package/dist/advanced/swagger/SwaggerGenerator.d.ts +19 -0
  263. package/dist/advanced/swagger/SwaggerGenerator.d.ts.map +1 -0
  264. package/dist/advanced/swagger/SwaggerGenerator.js +59 -0
  265. package/dist/advanced/swagger/SwaggerGenerator.js.map +1 -0
  266. package/dist/advanced/swagger/buildOperation.d.ts +6 -0
  267. package/dist/advanced/swagger/buildOperation.d.ts.map +1 -0
  268. package/dist/advanced/swagger/buildOperation.js +54 -0
  269. package/dist/advanced/swagger/buildOperation.js.map +1 -0
  270. package/dist/advanced/swagger/buildParameters.d.ts +6 -0
  271. package/dist/advanced/swagger/buildParameters.d.ts.map +1 -0
  272. package/dist/advanced/swagger/buildParameters.js +57 -0
  273. package/dist/advanced/swagger/buildParameters.js.map +1 -0
  274. package/dist/advanced/swagger/buildRequestBody.d.ts +7 -0
  275. package/dist/advanced/swagger/buildRequestBody.d.ts.map +1 -0
  276. package/dist/advanced/swagger/buildRequestBody.js +19 -0
  277. package/dist/advanced/swagger/buildRequestBody.js.map +1 -0
  278. package/dist/advanced/swagger/buildResponses.d.ts +7 -0
  279. package/dist/advanced/swagger/buildResponses.d.ts.map +1 -0
  280. package/dist/advanced/swagger/buildResponses.js +48 -0
  281. package/dist/advanced/swagger/buildResponses.js.map +1 -0
  282. package/dist/advanced/swagger/capitalize.d.ts +2 -0
  283. package/dist/advanced/swagger/capitalize.d.ts.map +1 -0
  284. package/dist/advanced/swagger/capitalize.js +7 -0
  285. package/dist/advanced/swagger/capitalize.js.map +1 -0
  286. package/dist/advanced/swagger/convertPath.d.ts +6 -0
  287. package/dist/advanced/swagger/convertPath.d.ts.map +1 -0
  288. package/dist/advanced/swagger/convertPath.js +11 -0
  289. package/dist/advanced/swagger/convertPath.js.map +1 -0
  290. package/dist/advanced/swagger/createSwagger.d.ts +8 -0
  291. package/dist/advanced/swagger/createSwagger.d.ts.map +1 -0
  292. package/dist/advanced/swagger/createSwagger.js +12 -0
  293. package/dist/advanced/swagger/createSwagger.js.map +1 -0
  294. package/dist/advanced/swagger/generateOperationId.d.ts +6 -0
  295. package/dist/advanced/swagger/generateOperationId.d.ts.map +1 -0
  296. package/dist/advanced/swagger/generateOperationId.js +20 -0
  297. package/dist/advanced/swagger/generateOperationId.js.map +1 -0
  298. package/dist/advanced/swagger/generateSpec.d.ts +6 -0
  299. package/dist/advanced/swagger/generateSpec.d.ts.map +1 -0
  300. package/dist/advanced/swagger/generateSpec.js +85 -0
  301. package/dist/advanced/swagger/generateSpec.js.map +1 -0
  302. package/dist/advanced/swagger/generateSummary.d.ts +6 -0
  303. package/dist/advanced/swagger/generateSummary.d.ts.map +1 -0
  304. package/dist/advanced/swagger/generateSummary.js +22 -0
  305. package/dist/advanced/swagger/generateSummary.js.map +1 -0
  306. package/dist/advanced/swagger/generateSwaggerUI.d.ts +6 -0
  307. package/dist/advanced/swagger/generateSwaggerUI.d.ts.map +1 -0
  308. package/dist/advanced/swagger/generateSwaggerUI.js +69 -0
  309. package/dist/advanced/swagger/generateSwaggerUI.js.map +1 -0
  310. package/dist/advanced/swagger/generateThemeCss.d.ts +6 -0
  311. package/dist/advanced/swagger/generateThemeCss.d.ts.map +1 -0
  312. package/dist/advanced/swagger/generateThemeCss.js +53 -0
  313. package/dist/advanced/swagger/generateThemeCss.js.map +1 -0
  314. package/dist/advanced/swagger/index.d.ts +23 -0
  315. package/dist/advanced/swagger/index.d.ts.map +1 -0
  316. package/dist/advanced/swagger/index.js +26 -0
  317. package/dist/advanced/swagger/index.js.map +1 -0
  318. package/dist/advanced/swagger/swagger.d.ts +36 -0
  319. package/dist/advanced/swagger/swagger.d.ts.map +1 -0
  320. package/dist/advanced/swagger/swagger.js +198 -0
  321. package/dist/advanced/swagger/swagger.js.map +1 -0
  322. package/dist/advanced/swagger/types.d.ts +210 -0
  323. package/dist/advanced/swagger/types.d.ts.map +1 -0
  324. package/dist/advanced/swagger/types.js +3 -0
  325. package/dist/advanced/swagger/types.js.map +1 -0
  326. package/dist/advanced/swagger/zodFieldToOpenAPI.d.ts +6 -0
  327. package/dist/advanced/swagger/zodFieldToOpenAPI.d.ts.map +1 -0
  328. package/dist/advanced/swagger/zodFieldToOpenAPI.js +86 -0
  329. package/dist/advanced/swagger/zodFieldToOpenAPI.js.map +1 -0
  330. package/dist/advanced/swagger/zodSchemaToOpenAPI.d.ts +6 -0
  331. package/dist/advanced/swagger/zodSchemaToOpenAPI.d.ts.map +1 -0
  332. package/dist/advanced/swagger/zodSchemaToOpenAPI.js +44 -0
  333. package/dist/advanced/swagger/zodSchemaToOpenAPI.js.map +1 -0
  334. package/dist/advanced/swagger/zodToOpenAPI.d.ts +6 -0
  335. package/dist/advanced/swagger/zodToOpenAPI.d.ts.map +1 -0
  336. package/dist/advanced/swagger/zodToOpenAPI.js +22 -0
  337. package/dist/advanced/swagger/zodToOpenAPI.js.map +1 -0
  338. package/dist/advanced/testing/factory.d.ts +206 -0
  339. package/dist/advanced/testing/factory.d.ts.map +1 -0
  340. package/dist/advanced/testing/factory.js +433 -0
  341. package/dist/advanced/testing/factory.js.map +1 -0
  342. package/dist/advanced/testing/harness.d.ts +181 -0
  343. package/dist/advanced/testing/harness.d.ts.map +1 -0
  344. package/dist/advanced/testing/harness.js +481 -0
  345. package/dist/advanced/testing/harness.js.map +1 -0
  346. package/dist/advanced/testing/index.d.ts +235 -0
  347. package/dist/advanced/testing/index.d.ts.map +1 -0
  348. package/dist/advanced/testing/index.js +306 -0
  349. package/dist/advanced/testing/index.js.map +1 -0
  350. package/dist/advanced/testing/load-test.d.ts +148 -0
  351. package/dist/advanced/testing/load-test.d.ts.map +1 -0
  352. package/dist/advanced/testing/load-test.js +490 -0
  353. package/dist/advanced/testing/load-test.js.map +1 -0
  354. package/dist/advanced/testing/mock-server.d.ts +166 -0
  355. package/dist/advanced/testing/mock-server.d.ts.map +1 -0
  356. package/dist/advanced/testing/mock-server.js +424 -0
  357. package/dist/advanced/testing/mock-server.js.map +1 -0
  358. package/dist/advanced/testing/mock.d.ts +248 -0
  359. package/dist/advanced/testing/mock.d.ts.map +1 -0
  360. package/dist/advanced/testing/mock.js +549 -0
  361. package/dist/advanced/testing/mock.js.map +1 -0
  362. package/dist/cli/bin.d.ts +3 -0
  363. package/dist/cli/bin.d.ts.map +1 -0
  364. package/dist/cli/bin.js +10 -0
  365. package/dist/cli/bin.js.map +1 -0
  366. package/dist/cli/cli.d.ts +24 -0
  367. package/dist/cli/cli.d.ts.map +1 -0
  368. package/dist/cli/cli.js +131 -0
  369. package/dist/cli/cli.js.map +1 -0
  370. package/dist/cli/commands/build.d.ts +20 -0
  371. package/dist/cli/commands/build.d.ts.map +1 -0
  372. package/dist/cli/commands/build.js +63 -0
  373. package/dist/cli/commands/build.js.map +1 -0
  374. package/dist/cli/commands/create.d.ts +13 -0
  375. package/dist/cli/commands/create.d.ts.map +1 -0
  376. package/dist/cli/commands/create.js +142 -0
  377. package/dist/cli/commands/create.js.map +1 -0
  378. package/dist/cli/commands/dev.d.ts +15 -0
  379. package/dist/cli/commands/dev.d.ts.map +1 -0
  380. package/dist/cli/commands/dev.js +77 -0
  381. package/dist/cli/commands/dev.js.map +1 -0
  382. package/dist/cli/commands/generate.d.ts +13 -0
  383. package/dist/cli/commands/generate.d.ts.map +1 -0
  384. package/dist/cli/commands/generate.js +80 -0
  385. package/dist/cli/commands/generate.js.map +1 -0
  386. package/dist/cli/commands/help.d.ts +13 -0
  387. package/dist/cli/commands/help.d.ts.map +1 -0
  388. package/dist/cli/commands/help.js +83 -0
  389. package/dist/cli/commands/help.js.map +1 -0
  390. package/dist/cli/commands/init.d.ts +11 -0
  391. package/dist/cli/commands/init.d.ts.map +1 -0
  392. package/dist/cli/commands/init.js +76 -0
  393. package/dist/cli/commands/init.js.map +1 -0
  394. package/dist/cli/commands/version.d.ts +9 -0
  395. package/dist/cli/commands/version.d.ts.map +1 -0
  396. package/dist/cli/commands/version.js +35 -0
  397. package/dist/cli/commands/version.js.map +1 -0
  398. package/dist/cli/index.d.ts +3 -0
  399. package/dist/cli/index.d.ts.map +1 -0
  400. package/dist/cli/index.js +7 -0
  401. package/dist/cli/index.js.map +1 -0
  402. package/dist/cli/templates/generators.d.ts +22 -0
  403. package/dist/cli/templates/generators.d.ts.map +1 -0
  404. package/dist/cli/templates/generators.js +282 -0
  405. package/dist/cli/templates/generators.js.map +1 -0
  406. package/dist/cli/templates/index.d.ts +27 -0
  407. package/dist/cli/templates/index.d.ts.map +1 -0
  408. package/dist/cli/templates/index.js +651 -0
  409. package/dist/cli/templates/index.js.map +1 -0
  410. package/dist/cli/utils/exec.d.ts +12 -0
  411. package/dist/cli/utils/exec.d.ts.map +1 -0
  412. package/dist/cli/utils/exec.js +37 -0
  413. package/dist/cli/utils/exec.js.map +1 -0
  414. package/dist/cli/utils/file-system.d.ts +15 -0
  415. package/dist/cli/utils/file-system.d.ts.map +1 -0
  416. package/dist/cli/utils/file-system.js +105 -0
  417. package/dist/cli/utils/file-system.js.map +1 -0
  418. package/dist/cli/utils/logger.d.ts +40 -0
  419. package/dist/cli/utils/logger.d.ts.map +1 -0
  420. package/dist/cli/utils/logger.js +100 -0
  421. package/dist/cli/utils/logger.js.map +1 -0
  422. package/dist/core/adapter.d.ts +73 -0
  423. package/dist/core/adapter.d.ts.map +1 -0
  424. package/dist/core/adapter.js +27 -0
  425. package/dist/core/adapter.js.map +1 -0
  426. package/dist/core/application.d.ts +540 -0
  427. package/dist/core/application.d.ts.map +1 -0
  428. package/dist/core/application.js +1111 -0
  429. package/dist/core/application.js.map +1 -0
  430. package/dist/core/context-pool.d.ts +52 -0
  431. package/dist/core/context-pool.d.ts.map +1 -0
  432. package/dist/core/context-pool.js +111 -0
  433. package/dist/core/context-pool.js.map +1 -0
  434. package/dist/core/context.d.ts +148 -0
  435. package/dist/core/context.d.ts.map +1 -0
  436. package/dist/core/context.js +367 -0
  437. package/dist/core/context.js.map +1 -0
  438. package/dist/core/index.d.ts +23 -0
  439. package/dist/core/index.d.ts.map +1 -0
  440. package/dist/core/index.js +77 -0
  441. package/dist/core/index.js.map +1 -0
  442. package/dist/core/middleware.d.ts +49 -0
  443. package/dist/core/middleware.d.ts.map +1 -0
  444. package/dist/core/middleware.js +215 -0
  445. package/dist/core/middleware.js.map +1 -0
  446. package/dist/core/performance/buffer-pool.d.ts +47 -0
  447. package/dist/core/performance/buffer-pool.d.ts.map +1 -0
  448. package/dist/core/performance/buffer-pool.js +97 -0
  449. package/dist/core/performance/buffer-pool.js.map +1 -0
  450. package/dist/core/performance/jit-compiler.d.ts +73 -0
  451. package/dist/core/performance/jit-compiler.d.ts.map +1 -0
  452. package/dist/core/performance/jit-compiler.js +145 -0
  453. package/dist/core/performance/jit-compiler.js.map +1 -0
  454. package/dist/core/performance/middleware-optimizer.d.ts +73 -0
  455. package/dist/core/performance/middleware-optimizer.d.ts.map +1 -0
  456. package/dist/core/performance/middleware-optimizer.js +138 -0
  457. package/dist/core/performance/middleware-optimizer.js.map +1 -0
  458. package/dist/core/plugin/PluginManager.d.ts +93 -0
  459. package/dist/core/plugin/PluginManager.d.ts.map +1 -0
  460. package/dist/core/plugin/PluginManager.js +351 -0
  461. package/dist/core/plugin/PluginManager.js.map +1 -0
  462. package/dist/core/plugin/builder.d.ts +192 -0
  463. package/dist/core/plugin/builder.d.ts.map +1 -0
  464. package/dist/core/plugin/builder.js +319 -0
  465. package/dist/core/plugin/builder.js.map +1 -0
  466. package/dist/core/plugin/index.d.ts +31 -0
  467. package/dist/core/plugin/index.d.ts.map +1 -0
  468. package/dist/core/plugin/index.js +41 -0
  469. package/dist/core/plugin/index.js.map +1 -0
  470. package/dist/core/plugin/types.d.ts +184 -0
  471. package/dist/core/plugin/types.d.ts.map +1 -0
  472. package/dist/core/plugin/types.js +17 -0
  473. package/dist/core/plugin/types.js.map +1 -0
  474. package/dist/core/router/file-router.d.ts +173 -0
  475. package/dist/core/router/file-router.d.ts.map +1 -0
  476. package/dist/core/router/file-router.js +498 -0
  477. package/dist/core/router/file-router.js.map +1 -0
  478. package/dist/core/router/index.d.ts +44 -0
  479. package/dist/core/router/index.d.ts.map +1 -0
  480. package/dist/core/router/index.js +145 -0
  481. package/dist/core/router/index.js.map +1 -0
  482. package/dist/core/router/radix-tree.d.ts +69 -0
  483. package/dist/core/router/radix-tree.d.ts.map +1 -0
  484. package/dist/core/router/radix-tree.js +196 -0
  485. package/dist/core/router/radix-tree.js.map +1 -0
  486. package/dist/core/store/index.d.ts +15 -0
  487. package/dist/core/store/index.d.ts.map +1 -0
  488. package/dist/core/store/index.js +23 -0
  489. package/dist/core/store/index.js.map +1 -0
  490. package/dist/core/store/registry.d.ts +80 -0
  491. package/dist/core/store/registry.d.ts.map +1 -0
  492. package/dist/core/store/registry.js +156 -0
  493. package/dist/core/store/registry.js.map +1 -0
  494. package/dist/core/store/request-store.d.ts +138 -0
  495. package/dist/core/store/request-store.d.ts.map +1 -0
  496. package/dist/core/store/request-store.js +209 -0
  497. package/dist/core/store/request-store.js.map +1 -0
  498. package/dist/core/store/types.d.ts +140 -0
  499. package/dist/core/store/types.d.ts.map +1 -0
  500. package/dist/core/store/types.js +176 -0
  501. package/dist/core/store/types.js.map +1 -0
  502. package/dist/core/types.d.ts +470 -0
  503. package/dist/core/types.d.ts.map +1 -0
  504. package/dist/core/types.js +106 -0
  505. package/dist/core/types.js.map +1 -0
  506. package/dist/database/adapter.d.ts +32 -0
  507. package/dist/database/adapter.d.ts.map +1 -0
  508. package/dist/database/adapter.js +3 -0
  509. package/dist/database/adapter.js.map +1 -0
  510. package/dist/database/adapters/index.d.ts +2 -0
  511. package/dist/database/adapters/index.d.ts.map +1 -0
  512. package/dist/database/adapters/index.js +18 -0
  513. package/dist/database/adapters/index.js.map +1 -0
  514. package/dist/database/adapters/mysql.d.ts +160 -0
  515. package/dist/database/adapters/mysql.d.ts.map +1 -0
  516. package/dist/database/adapters/mysql.js +501 -0
  517. package/dist/database/adapters/mysql.js.map +1 -0
  518. package/dist/database/database.d.ts +27 -0
  519. package/dist/database/database.d.ts.map +1 -0
  520. package/dist/database/database.js +59 -0
  521. package/dist/database/database.js.map +1 -0
  522. package/dist/database/dialect.d.ts +110 -0
  523. package/dist/database/dialect.d.ts.map +1 -0
  524. package/dist/database/dialect.js +269 -0
  525. package/dist/database/dialect.js.map +1 -0
  526. package/dist/database/index.d.ts +12 -0
  527. package/dist/database/index.d.ts.map +1 -0
  528. package/dist/database/index.js +28 -0
  529. package/dist/database/index.js.map +1 -0
  530. package/dist/database/migrations.d.ts +22 -0
  531. package/dist/database/migrations.d.ts.map +1 -0
  532. package/dist/database/migrations.js +73 -0
  533. package/dist/database/migrations.js.map +1 -0
  534. package/dist/database/optimizer.d.ts +25 -0
  535. package/dist/database/optimizer.d.ts.map +1 -0
  536. package/dist/database/optimizer.js +97 -0
  537. package/dist/database/optimizer.js.map +1 -0
  538. package/dist/database/query-builder.d.ts +49 -0
  539. package/dist/database/query-builder.d.ts.map +1 -0
  540. package/dist/database/query-builder.js +319 -0
  541. package/dist/database/query-builder.js.map +1 -0
  542. package/dist/database/realtime.d.ts +24 -0
  543. package/dist/database/realtime.d.ts.map +1 -0
  544. package/dist/database/realtime.js +38 -0
  545. package/dist/database/realtime.js.map +1 -0
  546. package/dist/database/schema.d.ts +27 -0
  547. package/dist/database/schema.d.ts.map +1 -0
  548. package/dist/database/schema.js +47 -0
  549. package/dist/database/schema.js.map +1 -0
  550. package/dist/database/transactions.d.ts +13 -0
  551. package/dist/database/transactions.d.ts.map +1 -0
  552. package/dist/database/transactions.js +51 -0
  553. package/dist/database/transactions.js.map +1 -0
  554. package/dist/database/types.d.ts +68 -0
  555. package/dist/database/types.d.ts.map +1 -0
  556. package/dist/database/types.js +3 -0
  557. package/dist/database/types.js.map +1 -0
  558. package/dist/deployment/cluster.d.ts +161 -0
  559. package/dist/deployment/cluster.d.ts.map +1 -0
  560. package/dist/deployment/cluster.js +336 -0
  561. package/dist/deployment/cluster.js.map +1 -0
  562. package/dist/deployment/config.d.ts +209 -0
  563. package/dist/deployment/config.d.ts.map +1 -0
  564. package/dist/deployment/config.js +263 -0
  565. package/dist/deployment/config.js.map +1 -0
  566. package/dist/deployment/docker.d.ts +168 -0
  567. package/dist/deployment/docker.d.ts.map +1 -0
  568. package/dist/deployment/docker.js +437 -0
  569. package/dist/deployment/docker.js.map +1 -0
  570. package/dist/deployment/graceful-shutdown.d.ts +130 -0
  571. package/dist/deployment/graceful-shutdown.d.ts.map +1 -0
  572. package/dist/deployment/graceful-shutdown.js +271 -0
  573. package/dist/deployment/graceful-shutdown.js.map +1 -0
  574. package/dist/deployment/index.d.ts +14 -0
  575. package/dist/deployment/index.d.ts.map +1 -0
  576. package/dist/deployment/index.js +33 -0
  577. package/dist/deployment/index.js.map +1 -0
  578. package/dist/index.d.ts +39 -0
  579. package/dist/index.d.ts.map +1 -0
  580. package/dist/index.js +174 -0
  581. package/dist/index.js.map +1 -0
  582. package/dist/security/adapter.d.ts +144 -0
  583. package/dist/security/adapter.d.ts.map +1 -0
  584. package/dist/security/adapter.js +159 -0
  585. package/dist/security/adapter.js.map +1 -0
  586. package/dist/security/auth/JWTPlugin.d.ts +105 -0
  587. package/dist/security/auth/JWTPlugin.d.ts.map +1 -0
  588. package/dist/security/auth/JWTPlugin.js +146 -0
  589. package/dist/security/auth/JWTPlugin.js.map +1 -0
  590. package/dist/security/auth/JWTProvider.d.ts +104 -0
  591. package/dist/security/auth/JWTProvider.d.ts.map +1 -0
  592. package/dist/security/auth/JWTProvider.js +288 -0
  593. package/dist/security/auth/JWTProvider.js.map +1 -0
  594. package/dist/security/auth/adapter.d.ts +8 -0
  595. package/dist/security/auth/adapter.d.ts.map +1 -0
  596. package/dist/security/auth/adapter.js +29 -0
  597. package/dist/security/auth/adapter.js.map +1 -0
  598. package/dist/security/auth/jwt.d.ts +55 -0
  599. package/dist/security/auth/jwt.d.ts.map +1 -0
  600. package/dist/security/auth/jwt.js +198 -0
  601. package/dist/security/auth/jwt.js.map +1 -0
  602. package/dist/security/auth/middleware.d.ts +64 -0
  603. package/dist/security/auth/middleware.d.ts.map +1 -0
  604. package/dist/security/auth/middleware.js +161 -0
  605. package/dist/security/auth/middleware.js.map +1 -0
  606. package/dist/security/csrf.d.ts +41 -0
  607. package/dist/security/csrf.d.ts.map +1 -0
  608. package/dist/security/csrf.js +185 -0
  609. package/dist/security/csrf.js.map +1 -0
  610. package/dist/security/headers.d.ts +34 -0
  611. package/dist/security/headers.d.ts.map +1 -0
  612. package/dist/security/headers.js +95 -0
  613. package/dist/security/headers.js.map +1 -0
  614. package/dist/security/index.d.ts +19 -0
  615. package/dist/security/index.d.ts.map +1 -0
  616. package/dist/security/index.js +65 -0
  617. package/dist/security/index.js.map +1 -0
  618. package/dist/security/rate-limit/adapter.d.ts +7 -0
  619. package/dist/security/rate-limit/adapter.d.ts.map +1 -0
  620. package/dist/security/rate-limit/adapter.js +8 -0
  621. package/dist/security/rate-limit/adapter.js.map +1 -0
  622. package/dist/security/rate-limit/memory.d.ts +28 -0
  623. package/dist/security/rate-limit/memory.d.ts.map +1 -0
  624. package/dist/security/rate-limit/memory.js +85 -0
  625. package/dist/security/rate-limit/memory.js.map +1 -0
  626. package/dist/security/rate-limit/middleware.d.ts +32 -0
  627. package/dist/security/rate-limit/middleware.d.ts.map +1 -0
  628. package/dist/security/rate-limit/middleware.js +159 -0
  629. package/dist/security/rate-limit/middleware.js.map +1 -0
  630. package/dist/security/sanitization.d.ts +29 -0
  631. package/dist/security/sanitization.d.ts.map +1 -0
  632. package/dist/security/sanitization.js +66 -0
  633. package/dist/security/sanitization.js.map +1 -0
  634. package/dist/security/types.d.ts +205 -0
  635. package/dist/security/types.d.ts.map +1 -0
  636. package/dist/security/types.js +8 -0
  637. package/dist/security/types.js.map +1 -0
  638. package/dist/security/utils.d.ts +19 -0
  639. package/dist/security/utils.d.ts.map +1 -0
  640. package/dist/security/utils.js +43 -0
  641. package/dist/security/utils.js.map +1 -0
  642. package/documentation/01-getting-started.md +240 -0
  643. package/documentation/02-context.md +335 -0
  644. package/documentation/03-routing.md +397 -0
  645. package/documentation/04-middleware.md +483 -0
  646. package/documentation/05-validation.md +514 -0
  647. package/documentation/06-error-handling.md +465 -0
  648. package/documentation/07-performance.md +364 -0
  649. package/documentation/08-adapters.md +470 -0
  650. package/documentation/09-api-reference.md +548 -0
  651. package/documentation/10-examples.md +582 -0
  652. package/documentation/11-deployment.md +477 -0
  653. package/documentation/12-sentry.md +620 -0
  654. package/documentation/13-sentry-data-storage.md +996 -0
  655. package/documentation/14-sentry-data-reference.md +457 -0
  656. package/documentation/15-sentry-summary.md +409 -0
  657. package/documentation/16-alerts-system.md +745 -0
  658. package/documentation/17-alert-adapters.md +696 -0
  659. package/documentation/18-alerts-implementation-summary.md +385 -0
  660. package/documentation/19-class-based-routing.md +840 -0
  661. package/documentation/20-websocket-realtime.md +813 -0
  662. package/documentation/21-cache-system.md +510 -0
  663. package/documentation/22-job-queue.md +772 -0
  664. package/documentation/23-sentry-plugin.md +551 -0
  665. package/documentation/24-testing-utilities.md +1287 -0
  666. package/documentation/25-api-versioning.md +533 -0
  667. package/documentation/26-context-store.md +607 -0
  668. package/documentation/27-dependency-injection.md +329 -0
  669. package/documentation/28-lifecycle-hooks.md +521 -0
  670. package/documentation/29-package-structure.md +196 -0
  671. package/documentation/30-plugin-system.md +414 -0
  672. package/documentation/31-jwt-authentication.md +597 -0
  673. package/documentation/32-cli.md +268 -0
  674. package/documentation/ALERTS-COMPLETE-SUMMARY.md +429 -0
  675. package/documentation/ALERTS-INDEX.md +330 -0
  676. package/documentation/ALERTS-QUICK-REFERENCE.md +286 -0
  677. package/documentation/README.md +178 -0
  678. package/documentation/index.html +34 -0
  679. package/modern_framework_paper.md +1870 -0
  680. package/package.json +178 -0
  681. package/public/css/style.css +87 -0
  682. package/public/index.html +34 -0
  683. package/public/js/app.js +27 -0
  684. package/src/advanced/cache/InMemoryCacheStore.ts +68 -0
  685. package/src/advanced/cache/MultiTierCache.ts +194 -0
  686. package/src/advanced/cache/RedisCacheStore.ts +341 -0
  687. package/src/advanced/cache/index.ts +5 -0
  688. package/src/advanced/cache/types.ts +40 -0
  689. package/src/advanced/graphql/SimpleDataLoader.ts +42 -0
  690. package/src/advanced/graphql/index.ts +22 -0
  691. package/src/advanced/graphql/server.ts +252 -0
  692. package/src/advanced/graphql/types.ts +42 -0
  693. package/src/advanced/jobs/InMemoryQueueStore.ts +68 -0
  694. package/src/advanced/jobs/JobQueue.ts +556 -0
  695. package/src/advanced/jobs/RedisQueueStore.ts +367 -0
  696. package/src/advanced/jobs/index.ts +5 -0
  697. package/src/advanced/jobs/types.ts +70 -0
  698. package/src/advanced/observability/APMManager.ts +163 -0
  699. package/src/advanced/observability/AlertManager.ts +109 -0
  700. package/src/advanced/observability/MetricRegistry.ts +151 -0
  701. package/src/advanced/observability/ObservabilityCenter.ts +304 -0
  702. package/src/advanced/observability/StructuredLogger.ts +154 -0
  703. package/src/advanced/observability/TracingManager.ts +117 -0
  704. package/src/advanced/observability/adapters.ts +304 -0
  705. package/src/advanced/observability/createObservabilityMiddleware.ts +63 -0
  706. package/src/advanced/observability/index.ts +11 -0
  707. package/src/advanced/observability/types.ts +174 -0
  708. package/src/advanced/playground/extractPathParams.ts +6 -0
  709. package/src/advanced/playground/generateFieldExample.ts +31 -0
  710. package/src/advanced/playground/generatePlaygroundHTML.ts +1849 -0
  711. package/src/advanced/playground/generateSummary.ts +19 -0
  712. package/src/advanced/playground/getTagFromPath.ts +9 -0
  713. package/src/advanced/playground/index.ts +8 -0
  714. package/src/advanced/playground/playground.ts +170 -0
  715. package/src/advanced/playground/types.ts +20 -0
  716. package/src/advanced/playground/zodToExample.ts +16 -0
  717. package/src/advanced/playground/zodToParams.ts +15 -0
  718. package/src/advanced/postman/buildAuth.ts +31 -0
  719. package/src/advanced/postman/buildBody.ts +15 -0
  720. package/src/advanced/postman/buildQueryParams.ts +27 -0
  721. package/src/advanced/postman/buildRequestItem.ts +36 -0
  722. package/src/advanced/postman/buildResponses.ts +11 -0
  723. package/src/advanced/postman/buildUrl.ts +33 -0
  724. package/src/advanced/postman/capitalize.ts +4 -0
  725. package/src/advanced/postman/generateCollection.ts +59 -0
  726. package/src/advanced/postman/generateEnvironment.ts +34 -0
  727. package/src/advanced/postman/generateExampleFromZod.ts +21 -0
  728. package/src/advanced/postman/generateFieldExample.ts +45 -0
  729. package/src/advanced/postman/generateName.ts +20 -0
  730. package/src/advanced/postman/generateUUID.ts +11 -0
  731. package/src/advanced/postman/getTagFromPath.ts +10 -0
  732. package/src/advanced/postman/index.ts +28 -0
  733. package/src/advanced/postman/postman.ts +156 -0
  734. package/src/advanced/postman/slugify.ts +7 -0
  735. package/src/advanced/postman/types.ts +140 -0
  736. package/src/advanced/realtime/index.ts +18 -0
  737. package/src/advanced/realtime/websocket.ts +211 -0
  738. package/src/advanced/sentry/index.ts +1236 -0
  739. package/src/advanced/sentry/types.ts +355 -0
  740. package/src/advanced/static/generateDirectoryListing.ts +47 -0
  741. package/src/advanced/static/generateETag.ts +7 -0
  742. package/src/advanced/static/getMimeType.ts +9 -0
  743. package/src/advanced/static/index.ts +32 -0
  744. package/src/advanced/static/isSafePath.ts +13 -0
  745. package/src/advanced/static/publicDir.ts +21 -0
  746. package/src/advanced/static/serveStatic.ts +225 -0
  747. package/src/advanced/static/spa.ts +24 -0
  748. package/src/advanced/static/types.ts +159 -0
  749. package/src/advanced/swagger/SwaggerGenerator.ts +66 -0
  750. package/src/advanced/swagger/buildOperation.ts +61 -0
  751. package/src/advanced/swagger/buildParameters.ts +61 -0
  752. package/src/advanced/swagger/buildRequestBody.ts +21 -0
  753. package/src/advanced/swagger/buildResponses.ts +54 -0
  754. package/src/advanced/swagger/capitalize.ts +5 -0
  755. package/src/advanced/swagger/convertPath.ts +9 -0
  756. package/src/advanced/swagger/createSwagger.ts +12 -0
  757. package/src/advanced/swagger/generateOperationId.ts +21 -0
  758. package/src/advanced/swagger/generateSpec.ts +105 -0
  759. package/src/advanced/swagger/generateSummary.ts +24 -0
  760. package/src/advanced/swagger/generateSwaggerUI.ts +70 -0
  761. package/src/advanced/swagger/generateThemeCss.ts +53 -0
  762. package/src/advanced/swagger/index.ts +25 -0
  763. package/src/advanced/swagger/swagger.ts +237 -0
  764. package/src/advanced/swagger/types.ts +206 -0
  765. package/src/advanced/swagger/zodFieldToOpenAPI.ts +94 -0
  766. package/src/advanced/swagger/zodSchemaToOpenAPI.ts +50 -0
  767. package/src/advanced/swagger/zodToOpenAPI.ts +22 -0
  768. package/src/advanced/testing/factory.ts +509 -0
  769. package/src/advanced/testing/harness.ts +612 -0
  770. package/src/advanced/testing/index.ts +430 -0
  771. package/src/advanced/testing/load-test.ts +618 -0
  772. package/src/advanced/testing/mock-server.ts +498 -0
  773. package/src/advanced/testing/mock.ts +670 -0
  774. package/src/cli/bin.ts +9 -0
  775. package/src/cli/cli.ts +155 -0
  776. package/src/cli/commands/build.ts +73 -0
  777. package/src/cli/commands/create.ts +166 -0
  778. package/src/cli/commands/dev.ts +85 -0
  779. package/src/cli/commands/generate.ts +97 -0
  780. package/src/cli/commands/help.ts +95 -0
  781. package/src/cli/commands/init.ts +91 -0
  782. package/src/cli/commands/version.ts +38 -0
  783. package/src/cli/index.ts +6 -0
  784. package/src/cli/templates/generators.ts +309 -0
  785. package/src/cli/templates/index.ts +679 -0
  786. package/src/cli/utils/exec.ts +52 -0
  787. package/src/cli/utils/file-system.ts +78 -0
  788. package/src/cli/utils/logger.ts +111 -0
  789. package/src/core/adapter.ts +88 -0
  790. package/src/core/application.ts +1283 -0
  791. package/src/core/context-pool.ts +127 -0
  792. package/src/core/context.ts +412 -0
  793. package/src/core/index.ts +80 -0
  794. package/src/core/middleware.ts +262 -0
  795. package/src/core/performance/buffer-pool.ts +108 -0
  796. package/src/core/performance/middleware-optimizer.ts +162 -0
  797. package/src/core/plugin/PluginManager.ts +435 -0
  798. package/src/core/plugin/builder.ts +358 -0
  799. package/src/core/plugin/index.ts +50 -0
  800. package/src/core/plugin/types.ts +214 -0
  801. package/src/core/router/file-router.ts +594 -0
  802. package/src/core/router/index.ts +182 -0
  803. package/src/core/router/radix-tree.ts +226 -0
  804. package/src/core/store/index.ts +30 -0
  805. package/src/core/store/registry.ts +178 -0
  806. package/src/core/store/request-store.ts +240 -0
  807. package/src/core/store/types.ts +233 -0
  808. package/src/core/types.ts +574 -0
  809. package/src/database/adapter.ts +35 -0
  810. package/src/database/adapters/index.ts +1 -0
  811. package/src/database/adapters/mysql.ts +669 -0
  812. package/src/database/database.ts +70 -0
  813. package/src/database/dialect.ts +388 -0
  814. package/src/database/index.ts +12 -0
  815. package/src/database/migrations.ts +86 -0
  816. package/src/database/optimizer.ts +125 -0
  817. package/src/database/query-builder.ts +404 -0
  818. package/src/database/realtime.ts +53 -0
  819. package/src/database/schema.ts +71 -0
  820. package/src/database/transactions.ts +56 -0
  821. package/src/database/types.ts +87 -0
  822. package/src/deployment/cluster.ts +471 -0
  823. package/src/deployment/config.ts +454 -0
  824. package/src/deployment/docker.ts +599 -0
  825. package/src/deployment/graceful-shutdown.ts +373 -0
  826. package/src/deployment/index.ts +56 -0
  827. package/src/index.ts +264 -0
  828. package/src/security/adapter.ts +318 -0
  829. package/src/security/auth/JWTPlugin.ts +234 -0
  830. package/src/security/auth/JWTProvider.ts +316 -0
  831. package/src/security/auth/adapter.ts +12 -0
  832. package/src/security/auth/jwt.ts +234 -0
  833. package/src/security/auth/middleware.ts +188 -0
  834. package/src/security/csrf.ts +220 -0
  835. package/src/security/headers.ts +108 -0
  836. package/src/security/index.ts +60 -0
  837. package/src/security/rate-limit/adapter.ts +7 -0
  838. package/src/security/rate-limit/memory.ts +108 -0
  839. package/src/security/rate-limit/middleware.ts +181 -0
  840. package/src/security/sanitization.ts +75 -0
  841. package/src/security/types.ts +240 -0
  842. package/src/security/utils.ts +52 -0
  843. package/tsconfig.json +39 -0
@@ -0,0 +1,574 @@
1
+ /**
2
+ * Core type definitions for the Nexus Framework
3
+ * Provides type-safe interfaces for requests, responses, middleware, and routing
4
+ */
5
+
6
+ import { IncomingMessage, ServerResponse } from 'http';
7
+ import { ZodSchema } from 'zod';
8
+ import { Application } from './application';
9
+ import { ContextStore, StoreConstructor, StoreRegistry, RequestStore, RequestStoreConstructor } from './store';
10
+
11
+ /**
12
+ * HTTP methods supported by the framework
13
+ */
14
+ export type HTTPMethod = 'GET' | 'POST' | 'PUT' | 'DELETE' | 'PATCH' | 'HEAD' | 'OPTIONS';
15
+
16
+ /**
17
+ * HTTP headers type-safe wrapper
18
+ */
19
+ export interface Headers {
20
+ [key: string]: string | string[] | undefined;
21
+ }
22
+
23
+ /**
24
+ * Cookie parser and manager
25
+ */
26
+ export interface Cookies {
27
+ get(name: string): string | undefined;
28
+ set(name: string, value: string, options?: CookieOptions): void;
29
+ delete(name: string): void;
30
+ }
31
+
32
+ /**
33
+ * Cookie configuration options
34
+ */
35
+ export interface CookieOptions {
36
+ maxAge?: number;
37
+ expires?: Date;
38
+ path?: string;
39
+ domain?: string;
40
+ secure?: boolean;
41
+ httpOnly?: boolean;
42
+ sameSite?: 'strict' | 'lax' | 'none';
43
+ }
44
+
45
+ /**
46
+ * Response builder for fluent API
47
+ */
48
+ export interface ResponseBuilder {
49
+ status(code: number): ResponseBuilder;
50
+ header(name: string, value: string): ResponseBuilder;
51
+ json<T>(data: T): Response;
52
+ html(content: string): Response;
53
+ text(content: string): Response;
54
+ redirect(url: string, status?: number): Response;
55
+ stream(readable: NodeJS.ReadableStream): Response;
56
+ }
57
+
58
+ /**
59
+ * Framework response object
60
+ */
61
+ export interface Response {
62
+ statusCode: number;
63
+ headers: Headers;
64
+ body: any;
65
+ stream?: NodeJS.ReadableStream;
66
+ }
67
+
68
+ /**
69
+ * Unified context object containing request and response data
70
+ * This replaces the traditional req/res pattern with an immutable context
71
+ */
72
+ export interface Context {
73
+ // Request metadata
74
+ method: HTTPMethod;
75
+ path: string;
76
+ url: URL;
77
+
78
+ // Request data
79
+ params: Record<string, string>;
80
+ query: Record<string, any>;
81
+ body: any;
82
+ headers: Headers;
83
+ cookies: Cookies;
84
+
85
+ // Raw Node.js objects for advanced use cases
86
+ raw: {
87
+ req: IncomingMessage;
88
+ res: ServerResponse;
89
+ };
90
+
91
+ // Response builder
92
+ response: ResponseBuilder;
93
+
94
+ // Store access
95
+ /** Access a registered global store by its class (singleton, persist across requests) */
96
+ store<T extends ContextStore<any>>(StoreClass: StoreConstructor<T>): T;
97
+
98
+ /** Access a request-scoped store by its class (per-request, disposed after response) */
99
+ requestStore<T extends RequestStore<any>>(StoreClass: RequestStoreConstructor<T>): T;
100
+
101
+ // Request-scoped data (simple key-value storage)
102
+ /** Set a value in request-scoped storage */
103
+ set<T = any>(key: string, value: T): void;
104
+
105
+ /** Get a value from request-scoped storage */
106
+ get<T = any>(key: string): T | undefined;
107
+
108
+ // Utility methods
109
+ json<T>(data: T, status?: number): Response;
110
+ html(content: string, status?: number): Response;
111
+ text(content: string, status?: number): Response;
112
+ redirect(url: string, status?: number): Response;
113
+ stream(readable: NodeJS.ReadableStream): Response;
114
+
115
+ // Custom properties added by middleware
116
+ [key: string]: any;
117
+ }
118
+
119
+ /**
120
+ * Next function for middleware chain
121
+ */
122
+ export type Next<TContext = Context> = (ctx: TContext) => Promise<Response>;
123
+
124
+ /**
125
+ * Middleware function signature
126
+ * Middleware can transform the context and pass it to the next handler
127
+ * Now supports optional dependency injection as the third parameter.
128
+ *
129
+ * @template TIn - Input context type
130
+ * @template TOut - Output context type (after transformation)
131
+ * @template TDeps - Dependencies type (injected from app.provide())
132
+ *
133
+ * @example
134
+ * ```typescript
135
+ * // Simple middleware (no deps)
136
+ * const loggerMiddleware: Middleware = async (ctx, next) => {
137
+ * console.log(`${ctx.method} ${ctx.path}`);
138
+ * return next(ctx);
139
+ * };
140
+ *
141
+ * // Middleware with dependencies
142
+ * const authMiddleware: Middleware<Context, Context, { jwt: JWTService; db: Database }> =
143
+ * async (ctx, next, { jwt, db }) => {
144
+ * const token = ctx.headers.authorization?.replace('Bearer ', '');
145
+ * const payload = await jwt.verify(token);
146
+ * ctx.user = await db.findUser(payload.userId);
147
+ * return next(ctx);
148
+ * };
149
+ * ```
150
+ */
151
+ export type Middleware<TIn = Context, TOut = Context, TDeps = any> = (
152
+ ctx: TIn,
153
+ next: Next<TOut>,
154
+ deps: TDeps
155
+ ) => Promise<Response>;
156
+
157
+ /**
158
+ * Route handler function signature
159
+ * Handlers can return data directly or a Response object
160
+ */
161
+ export type Handler<TContext = Context, TDeps = any> = (
162
+ ctx: TContext,
163
+ deps: TDeps
164
+ ) => Promise<Response | any>;
165
+
166
+ /**
167
+ * Dependency container type
168
+ * Maps dependency names to their instances
169
+ */
170
+ export type DependencyContainer = Record<string, any>;
171
+
172
+ /**
173
+ * Extract dependency types from container
174
+ */
175
+ export type ExtractDeps<T extends DependencyContainer, K extends keyof T> = {
176
+ [P in K]: T[P];
177
+ };
178
+
179
+ /**
180
+ * Route configuration with dependency injection
181
+ */
182
+ export interface InjectedRouteConfig<
183
+ TContext = Context,
184
+ TDeps extends DependencyContainer = DependencyContainer,
185
+ TKeys extends keyof TDeps = keyof TDeps
186
+ > {
187
+ /** Dependencies to inject into handler */
188
+ inject?: TKeys[];
189
+ /** Route handler with injected dependencies */
190
+ handler: (ctx: TContext, deps: Pick<TDeps, TKeys>) => Promise<Response | any>;
191
+ /** Middleware chain */
192
+ middlewares?: Middleware<any, any>[];
193
+ /** Schema validation */
194
+ schema?: SchemaConfig;
195
+ /** Route metadata */
196
+ meta?: RouteMeta;
197
+ }
198
+
199
+ /**
200
+ * Validation error detail from Zod
201
+ */
202
+ export interface ValidationErrorDetail {
203
+ path: (string | number)[];
204
+ message: string;
205
+ code: string;
206
+ }
207
+
208
+ /**
209
+ * Custom validation error handler
210
+ */
211
+ export type ValidationErrorHandler = (
212
+ errors: ValidationErrorDetail[],
213
+ ctx: Context
214
+ ) => Response | any;
215
+
216
+ /**
217
+ * Schema validation configuration
218
+ */
219
+ export interface SchemaConfig {
220
+ params?: ZodSchema;
221
+ query?: ZodSchema;
222
+ body?: ZodSchema;
223
+ headers?: ZodSchema;
224
+ onValidationError?: ValidationErrorHandler;
225
+ }
226
+
227
+ /**
228
+ * Route metadata for documentation and API generation
229
+ */
230
+ export interface RouteMeta {
231
+ description?: string;
232
+ tags?: string[];
233
+ responses?: Record<number, string>;
234
+ deprecated?: boolean;
235
+ summary?: string;
236
+ example?: string;
237
+ }
238
+
239
+ /**
240
+ * Route configuration object
241
+ */
242
+ export interface RouteConfig<TContext = Context> {
243
+ method: HTTPMethod;
244
+ path: string;
245
+ handler: Handler<TContext>;
246
+ middlewares?: Middleware<any, any>[];
247
+ schema?: SchemaConfig;
248
+ meta?: RouteMeta;
249
+ }
250
+
251
+ /**
252
+ * Route match result from router
253
+ */
254
+ export interface RouteMatch {
255
+ handler: Handler;
256
+ params: Record<string, string>;
257
+ middlewares: Middleware[];
258
+ schema?: SchemaConfig;
259
+ }
260
+
261
+ /**
262
+ * Error handler function signature
263
+ */
264
+ export type ErrorHandler = (
265
+ error: Error,
266
+ ctx: Context
267
+ ) => Response | Promise<Response>;
268
+
269
+ /**
270
+ * Application configuration options
271
+ */
272
+ export interface AppConfig {
273
+ // Performance options
274
+ contextPoolSize?: number;
275
+ enableJIT?: boolean;
276
+
277
+ // Error handling
278
+ onError?: ErrorHandler;
279
+
280
+ // Development options
281
+ debug?: boolean;
282
+ logRequests?: boolean;
283
+ }
284
+
285
+ /**
286
+ * Plugin interface for extensibility
287
+ */
288
+ export interface Plugin {
289
+ name: string;
290
+ version: string;
291
+ install: (app: Application) => void | Promise<void>;
292
+ }
293
+
294
+ /**
295
+ * Base interface for class-based route definitions
296
+ *
297
+ * @example
298
+ * ```typescript
299
+ * class UserRegister implements RouteBase {
300
+ * pathName = '/api/users/register';
301
+ *
302
+ * schema() {
303
+ * return { body: z.object({ email: z.string().email() }) };
304
+ * }
305
+ *
306
+ * meta() {
307
+ * return { summary: 'Register user', tags: ['Users'] };
308
+ * }
309
+ *
310
+ * async handler(ctx: Context) {
311
+ * return { success: true };
312
+ * }
313
+ * }
314
+ *
315
+ * app.post(new UserRegister());
316
+ * ```
317
+ */
318
+ export interface RouteBase<TContext = Context> {
319
+ /** The route path (e.g., '/api/users/:id') - Optional for file-based routing */
320
+ pathName?: string;
321
+
322
+ /**
323
+ * HTTP method(s) this route handles - Optional for file-based routing
324
+ * When using file-based routing, you can define method handlers (GET, POST, etc.) as methods
325
+ */
326
+ method?: HTTPMethod | HTTPMethod[];
327
+
328
+ /** Optional schema validation */
329
+ schema?: () => SchemaConfig;
330
+
331
+ /** Optional route metadata for documentation */
332
+ meta?: () => RouteMeta;
333
+
334
+ /** Optional route-specific middlewares */
335
+ middlewares?: () => Middleware<any, any>[];
336
+
337
+ /** The route handler (can be omitted if using method-named handlers like GET, POST, etc.) */
338
+ handler?: Handler<TContext>;
339
+
340
+ /** Method-specific handlers for file-based routing */
341
+ GET?: Handler<TContext>;
342
+ POST?: Handler<TContext>;
343
+ PUT?: Handler<TContext>;
344
+ DELETE?: Handler<TContext>;
345
+ PATCH?: Handler<TContext>;
346
+ HEAD?: Handler<TContext>;
347
+ OPTIONS?: Handler<TContext>;
348
+ }
349
+
350
+ /**
351
+ * Abstract base class for class-based routes with REQUIRED handler implementation.
352
+ * Use this when you want TypeScript to enforce that the handler method is implemented.
353
+ * Also provides lifecycle hooks for request processing and dependency injection.
354
+ *
355
+ * @example
356
+ * ```typescript
357
+ * // With dependency injection
358
+ * class UserRegister extends Route<Context, { db: Database; cache: Redis }> {
359
+ * pathName = '/api/users/register';
360
+ *
361
+ * // Optional: run before handler (with deps)
362
+ * async onBefore(ctx: Context, { db }: { db: Database }) {
363
+ * console.log('Before handler, db connected:', db.isConnected);
364
+ * }
365
+ *
366
+ * // Optional: transform response after handler (with deps)
367
+ * async onAfter(ctx: Context, result: any, { cache }: { cache: Redis }) {
368
+ * await cache.set('last-register', JSON.stringify(result));
369
+ * return { ...result, timestamp: Date.now() };
370
+ * }
371
+ *
372
+ * // Optional: custom error handling (with deps)
373
+ * async onError(ctx: Context, error: Error, deps) {
374
+ * return { error: error.message, code: 'CUSTOM_ERROR' };
375
+ * }
376
+ *
377
+ * // REQUIRED: handler with dependencies
378
+ * async handler(ctx: Context, { db, cache }) {
379
+ * const user = await db.query('INSERT INTO users...');
380
+ * await cache.set(`user:${user.id}`, user);
381
+ * return { success: true, user };
382
+ * }
383
+ * }
384
+ *
385
+ * app.provide({ db, cache }).post(new UserRegister());
386
+ * ```
387
+ */
388
+ export abstract class Route<TContext = Context, TDeps = any> {
389
+ pathName?: string;
390
+
391
+ /**
392
+ * The main route handler - REQUIRED!
393
+ * TypeScript will enforce this is implemented.
394
+ * @param ctx - Request context
395
+ * @param deps - Injected dependencies from app.provide()
396
+ */
397
+ abstract handler(ctx: TContext, deps: TDeps): Promise<any> | any;
398
+
399
+ // ─────────────────────────────────────────────────────────────────────────
400
+ // Helper Methods for cleaner response handling
401
+ // ─────────────────────────────────────────────────────────────────────────
402
+
403
+ /**
404
+ * Return a successful JSON response
405
+ * @param data - The response data to send
406
+ * @returns Object with success: true merged with data
407
+ *
408
+ * @example
409
+ * ```typescript
410
+ * return this.ok({ user: { id: 1, name: 'John' } });
411
+ * // Returns: { success: true, user: { id: 1, name: 'John' } }
412
+ * ```
413
+ */
414
+ protected ok<T extends Record<string, any>>(data: T): { success: true } & T {
415
+ return { success: true, ...data };
416
+ }
417
+
418
+ /**
419
+ * Return a failed JSON response with status code
420
+ * @param ctx - The request context
421
+ * @param status - HTTP status code (e.g., 400, 404, 500)
422
+ * @param message - Error message
423
+ * @param data - Optional additional error data
424
+ * @returns Response object with error details
425
+ *
426
+ * @example
427
+ * ```typescript
428
+ * return this.fail(ctx, 404, 'User not found');
429
+ * // Returns 404 with: { success: false, message: 'User not found' }
430
+ *
431
+ * return this.fail(ctx, 400, 'Validation failed', { errors: [...] });
432
+ * // Returns 400 with: { success: false, message: 'Validation failed', data: { errors: [...] } }
433
+ * ```
434
+ */
435
+ protected fail(ctx: TContext, status: number, message: string, data?: any): Response {
436
+ return (ctx as Context).response
437
+ .status(status)
438
+ .json({ success: false, message, ...(data !== undefined ? { data } : {}) });
439
+ }
440
+
441
+ /**
442
+ * HTTP method(s) this route handles - Optional
443
+ * When using file-based routing, you can also define method handlers (GET, POST, etc.)
444
+ */
445
+ method?: HTTPMethod | HTTPMethod[];
446
+
447
+ /**
448
+ * Hook: Called BEFORE the handler.
449
+ * - Return undefined/void to continue to handler
450
+ * - Return a value to skip handler and use that as response
451
+ * - Throw an error to trigger onError
452
+ * @param ctx - Request context
453
+ * @param deps - Injected dependencies from app.provide()
454
+ */
455
+ onBefore?(ctx: TContext, deps: TDeps): Promise<any | void> | any | void;
456
+
457
+ /**
458
+ * Hook: Called AFTER the handler completes successfully.
459
+ * - Receives the handler result
460
+ * - Can transform/modify the response
461
+ * - Return the (modified) result
462
+ * @param ctx - Request context
463
+ * @param result - Handler result
464
+ * @param deps - Injected dependencies from app.provide()
465
+ */
466
+ onAfter?(ctx: TContext, result: any, deps: TDeps): Promise<any> | any;
467
+
468
+ /**
469
+ * Hook: Called when handler or onBefore throws an error.
470
+ * - Can return a custom error response
471
+ * - If not defined, error propagates to global error handler
472
+ * @param ctx - Request context
473
+ * @param error - Error thrown
474
+ * @param deps - Injected dependencies from app.provide()
475
+ */
476
+ onError?(ctx: TContext, error: Error, deps: TDeps): Promise<any> | any;
477
+
478
+ /** Optional schema validation */
479
+ schema?(): SchemaConfig;
480
+
481
+ /** Optional route metadata for documentation */
482
+ meta?(): RouteMeta;
483
+
484
+ /** Optional route-specific middlewares */
485
+ middlewares?(): Middleware<any, any>[];
486
+ }
487
+
488
+ /**
489
+ * Type guard to check if a route is a Route class instance (with hooks support)
490
+ */
491
+ export function isRouteClass(route: RouteBase | Route): route is Route {
492
+ return route instanceof Route ||
493
+ (typeof (route as Route).handler === 'function' &&
494
+ 'pathName' in route &&
495
+ (typeof (route as Route).onBefore === 'function' ||
496
+ typeof (route as Route).onAfter === 'function' ||
497
+ typeof (route as Route).onError === 'function'));
498
+ }
499
+
500
+ /**
501
+ * Lifecycle hooks for request processing
502
+ *
503
+ * @example
504
+ * ```typescript
505
+ * app.hooks({
506
+ * onRequest: async (ctx) => {
507
+ * ctx.requestId = crypto.randomUUID();
508
+ * },
509
+ * beforeHandler: async (ctx) => {
510
+ * ctx.user = await getUser(ctx.headers.authorization);
511
+ * },
512
+ * afterHandler: async (ctx, result) => {
513
+ * return { ...result, timestamp: Date.now() };
514
+ * },
515
+ * onError: async (ctx, error) => {
516
+ * await logToSentry(error);
517
+ * }
518
+ * });
519
+ * ```
520
+ */
521
+ export interface LifecycleHooks {
522
+ /** Called when request is received, before any processing */
523
+ onRequest?: (ctx: Context) => Promise<void | Response> | void | Response;
524
+
525
+ /** Called before schema validation */
526
+ beforeValidation?: (ctx: Context) => Promise<void | Response> | void | Response;
527
+
528
+ /** Called after schema validation succeeds (ctx.body, ctx.query, ctx.params are validated) */
529
+ afterValidation?: (ctx: Context) => Promise<void | Response> | void | Response;
530
+
531
+ /** Called before route handler executes */
532
+ beforeHandler?: (ctx: Context) => Promise<void | Response> | void | Response;
533
+
534
+ /** Called after handler, can transform result. Return new result to override */
535
+ afterHandler?: (ctx: Context, result: any) => Promise<any> | any;
536
+
537
+ /** Called when an error occurs. Can return Response to handle error */
538
+ onError?: (ctx: Context, error: Error) => Promise<void | Response> | void | Response;
539
+
540
+ /** Called before response is sent (after all processing) */
541
+ onResponse?: (ctx: Context, response: Response) => Promise<void | Response> | void | Response;
542
+ }
543
+
544
+ /**
545
+ * Versioning strategy types
546
+ */
547
+ export type VersioningStrategy = 'path' | 'header' | 'query';
548
+
549
+ /**
550
+ * Versioning configuration for API versioning
551
+ *
552
+ * @example
553
+ * ```typescript
554
+ * app.configVersions({
555
+ * strategies: ['header', 'query'],
556
+ * header: 'api-version',
557
+ * queryParam: 'v',
558
+ * defaultVersion: 'v1',
559
+ * register: ['v1', 'v2']
560
+ * });
561
+ * ```
562
+ */
563
+ export interface VersioningConfig {
564
+ /** Versioning strategies to use */
565
+ strategies: VersioningStrategy[];
566
+ /** Header name for version (default: 'api-version') */
567
+ header?: string;
568
+ /** Query param name for version (default: 'v') */
569
+ queryParam?: string;
570
+ /** Default version when not specified */
571
+ defaultVersion: string;
572
+ /** List of versions to register */
573
+ register: string[];
574
+ }
@@ -0,0 +1,35 @@
1
+ import { QueryContext } from './types';
2
+
3
+ export interface QueryResult<T = unknown> {
4
+ rows: T[];
5
+ rowCount: number;
6
+ fields?: string[];
7
+ meta?: Record<string, unknown>;
8
+ }
9
+
10
+ export interface DatabaseAdapter {
11
+ name: string;
12
+ connect(): Promise<void>;
13
+ disconnect(): Promise<void>;
14
+ query<T = unknown>(sql: string, params?: unknown[], context?: QueryContext): Promise<QueryResult<T>>;
15
+ stream?<T = unknown>(sql: string, params?: unknown[], context?: QueryContext): AsyncGenerator<T, void, unknown>;
16
+ beginTransaction?(): Promise<void>;
17
+ commitTransaction?(): Promise<void>;
18
+ rollbackTransaction?(savepoint?: string): Promise<void>;
19
+ createSavepoint?(name: string): Promise<void>;
20
+ releaseSavepoint?(name: string): Promise<void>;
21
+ listen?(channel: string): Promise<void>;
22
+ notify?(channel: string, payload: unknown): Promise<void>;
23
+ capabilities?: {
24
+ json?: boolean;
25
+ streaming?: boolean;
26
+ realtime?: boolean;
27
+ transactional?: boolean;
28
+ };
29
+ }
30
+
31
+ export interface MigrationAdapter extends DatabaseAdapter {
32
+ runMigration(sql: string): Promise<void>;
33
+ ensureMigrationsTable(): Promise<void>;
34
+ }
35
+
@@ -0,0 +1 @@
1
+ export * from './mysql';