@shohaghinfo/aerojs 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 (650) hide show
  1. package/AEROJS.md +12 -0
  2. package/AGENTS.md +709 -0
  3. package/LICENSE +21 -0
  4. package/README.md +1186 -0
  5. package/bin/aero.js +24 -0
  6. package/dist/application.d.ts +251 -0
  7. package/dist/application.d.ts.map +1 -0
  8. package/dist/application.js +658 -0
  9. package/dist/application.js.map +1 -0
  10. package/dist/audit/audit-trail.d.ts +122 -0
  11. package/dist/audit/audit-trail.d.ts.map +1 -0
  12. package/dist/audit/audit-trail.js +154 -0
  13. package/dist/audit/audit-trail.js.map +1 -0
  14. package/dist/auth/auth-manager.d.ts +95 -0
  15. package/dist/auth/auth-manager.d.ts.map +1 -0
  16. package/dist/auth/auth-manager.js +130 -0
  17. package/dist/auth/auth-manager.js.map +1 -0
  18. package/dist/auth/bouncer.d.ts +143 -0
  19. package/dist/auth/bouncer.d.ts.map +1 -0
  20. package/dist/auth/bouncer.js +243 -0
  21. package/dist/auth/bouncer.js.map +1 -0
  22. package/dist/auth/guards/api-token-guard.d.ts +68 -0
  23. package/dist/auth/guards/api-token-guard.d.ts.map +1 -0
  24. package/dist/auth/guards/api-token-guard.js +107 -0
  25. package/dist/auth/guards/api-token-guard.js.map +1 -0
  26. package/dist/auth/guards/guard.d.ts +35 -0
  27. package/dist/auth/guards/guard.d.ts.map +1 -0
  28. package/dist/auth/guards/guard.js +7 -0
  29. package/dist/auth/guards/guard.js.map +1 -0
  30. package/dist/auth/guards/jwt-guard.d.ts +64 -0
  31. package/dist/auth/guards/jwt-guard.d.ts.map +1 -0
  32. package/dist/auth/guards/jwt-guard.js +104 -0
  33. package/dist/auth/guards/jwt-guard.js.map +1 -0
  34. package/dist/auth/guards/session-guard.d.ts +57 -0
  35. package/dist/auth/guards/session-guard.d.ts.map +1 -0
  36. package/dist/auth/guards/session-guard.js +101 -0
  37. package/dist/auth/guards/session-guard.js.map +1 -0
  38. package/dist/auth/index.d.ts +2 -0
  39. package/dist/auth/index.d.ts.map +1 -0
  40. package/dist/auth/index.js +2 -0
  41. package/dist/auth/index.js.map +1 -0
  42. package/dist/auth/policy.d.ts +20 -0
  43. package/dist/auth/policy.d.ts.map +1 -0
  44. package/dist/auth/policy.js +49 -0
  45. package/dist/auth/policy.js.map +1 -0
  46. package/dist/body-parser.d.ts +40 -0
  47. package/dist/body-parser.d.ts.map +1 -0
  48. package/dist/body-parser.js +99 -0
  49. package/dist/body-parser.js.map +1 -0
  50. package/dist/cache/cache-driver.d.ts +43 -0
  51. package/dist/cache/cache-driver.d.ts.map +1 -0
  52. package/dist/cache/cache-driver.js +6 -0
  53. package/dist/cache/cache-driver.js.map +1 -0
  54. package/dist/cache/cache-manager.d.ts +44 -0
  55. package/dist/cache/cache-manager.d.ts.map +1 -0
  56. package/dist/cache/cache-manager.js +160 -0
  57. package/dist/cache/cache-manager.js.map +1 -0
  58. package/dist/cache/drivers/database-cache-driver.d.ts +18 -0
  59. package/dist/cache/drivers/database-cache-driver.d.ts.map +1 -0
  60. package/dist/cache/drivers/database-cache-driver.js +77 -0
  61. package/dist/cache/drivers/database-cache-driver.js.map +1 -0
  62. package/dist/cache/drivers/file-cache-driver.d.ts +21 -0
  63. package/dist/cache/drivers/file-cache-driver.d.ts.map +1 -0
  64. package/dist/cache/drivers/file-cache-driver.js +95 -0
  65. package/dist/cache/drivers/file-cache-driver.js.map +1 -0
  66. package/dist/cache/drivers/memory-cache-driver.d.ts +21 -0
  67. package/dist/cache/drivers/memory-cache-driver.d.ts.map +1 -0
  68. package/dist/cache/drivers/memory-cache-driver.js +82 -0
  69. package/dist/cache/drivers/memory-cache-driver.js.map +1 -0
  70. package/dist/cache/drivers/redis-cache-driver.d.ts +18 -0
  71. package/dist/cache/drivers/redis-cache-driver.d.ts.map +1 -0
  72. package/dist/cache/drivers/redis-cache-driver.js +95 -0
  73. package/dist/cache/drivers/redis-cache-driver.js.map +1 -0
  74. package/dist/cache/index.d.ts +7 -0
  75. package/dist/cache/index.d.ts.map +1 -0
  76. package/dist/cache/index.js +7 -0
  77. package/dist/cache/index.js.map +1 -0
  78. package/dist/cli/commands/init.d.ts +10 -0
  79. package/dist/cli/commands/init.d.ts.map +1 -0
  80. package/dist/cli/commands/init.js +471 -0
  81. package/dist/cli/commands/init.js.map +1 -0
  82. package/dist/cli/commands/make.d.ts +16 -0
  83. package/dist/cli/commands/make.d.ts.map +1 -0
  84. package/dist/cli/commands/make.js +157 -0
  85. package/dist/cli/commands/make.js.map +1 -0
  86. package/dist/cli/commands/new.d.ts +7 -0
  87. package/dist/cli/commands/new.d.ts.map +1 -0
  88. package/dist/cli/commands/new.js +175 -0
  89. package/dist/cli/commands/new.js.map +1 -0
  90. package/dist/cli/commands/vault.d.ts +7 -0
  91. package/dist/cli/commands/vault.d.ts.map +1 -0
  92. package/dist/cli/commands/vault.js +39 -0
  93. package/dist/cli/commands/vault.js.map +1 -0
  94. package/dist/cli/index.d.ts +8 -0
  95. package/dist/cli/index.d.ts.map +1 -0
  96. package/dist/cli/index.js +8 -0
  97. package/dist/cli/index.js.map +1 -0
  98. package/dist/cli/runner.d.ts +10 -0
  99. package/dist/cli/runner.d.ts.map +1 -0
  100. package/dist/cli/runner.js +207 -0
  101. package/dist/cli/runner.js.map +1 -0
  102. package/dist/cli/templates/ecommerce-erp.d.ts +6 -0
  103. package/dist/cli/templates/ecommerce-erp.d.ts.map +1 -0
  104. package/dist/cli/templates/ecommerce-erp.js +1760 -0
  105. package/dist/cli/templates/ecommerce-erp.js.map +1 -0
  106. package/dist/cli/templates/fullstack-templates.d.ts +17 -0
  107. package/dist/cli/templates/fullstack-templates.d.ts.map +1 -0
  108. package/dist/cli/templates/fullstack-templates.js +17 -0
  109. package/dist/cli/templates/fullstack-templates.js.map +1 -0
  110. package/dist/config/config.d.ts +25 -0
  111. package/dist/config/config.d.ts.map +1 -0
  112. package/dist/config/config.js +53 -0
  113. package/dist/config/config.js.map +1 -0
  114. package/dist/config/env-schema.d.ts +62 -0
  115. package/dist/config/env-schema.d.ts.map +1 -0
  116. package/dist/config/env-schema.js +203 -0
  117. package/dist/config/env-schema.js.map +1 -0
  118. package/dist/config/env.d.ts +31 -0
  119. package/dist/config/env.d.ts.map +1 -0
  120. package/dist/config/env.js +153 -0
  121. package/dist/config/env.js.map +1 -0
  122. package/dist/context.d.ts +181 -0
  123. package/dist/context.d.ts.map +1 -0
  124. package/dist/context.js +277 -0
  125. package/dist/context.js.map +1 -0
  126. package/dist/core/application-core.d.ts +79 -0
  127. package/dist/core/application-core.d.ts.map +1 -0
  128. package/dist/core/application-core.js +560 -0
  129. package/dist/core/application-core.js.map +1 -0
  130. package/dist/core/application.d.ts +121 -0
  131. package/dist/core/application.d.ts.map +1 -0
  132. package/dist/core/application.js +179 -0
  133. package/dist/core/application.js.map +1 -0
  134. package/dist/core/body-parser.d.ts +12 -0
  135. package/dist/core/body-parser.d.ts.map +1 -0
  136. package/dist/core/body-parser.js +85 -0
  137. package/dist/core/body-parser.js.map +1 -0
  138. package/dist/core/context.d.ts +94 -0
  139. package/dist/core/context.d.ts.map +1 -0
  140. package/dist/core/context.js +278 -0
  141. package/dist/core/context.js.map +1 -0
  142. package/dist/core/error-dashboard.d.ts +35 -0
  143. package/dist/core/error-dashboard.d.ts.map +1 -0
  144. package/dist/core/error-dashboard.js +481 -0
  145. package/dist/core/error-dashboard.js.map +1 -0
  146. package/dist/core/errors.d.ts +83 -0
  147. package/dist/core/errors.d.ts.map +1 -0
  148. package/dist/core/errors.js +117 -0
  149. package/dist/core/errors.js.map +1 -0
  150. package/dist/core/hooks.d.ts +39 -0
  151. package/dist/core/hooks.d.ts.map +1 -0
  152. package/dist/core/hooks.js +65 -0
  153. package/dist/core/hooks.js.map +1 -0
  154. package/dist/core/middleware.d.ts +15 -0
  155. package/dist/core/middleware.d.ts.map +1 -0
  156. package/dist/core/middleware.js +45 -0
  157. package/dist/core/middleware.js.map +1 -0
  158. package/dist/core/request.d.ts +50 -0
  159. package/dist/core/request.d.ts.map +1 -0
  160. package/dist/core/request.js +94 -0
  161. package/dist/core/request.js.map +1 -0
  162. package/dist/core/response.d.ts +49 -0
  163. package/dist/core/response.d.ts.map +1 -0
  164. package/dist/core/response.js +302 -0
  165. package/dist/core/response.js.map +1 -0
  166. package/dist/core/router.d.ts +58 -0
  167. package/dist/core/router.d.ts.map +1 -0
  168. package/dist/core/router.js +298 -0
  169. package/dist/core/router.js.map +1 -0
  170. package/dist/core/types.d.ts +70 -0
  171. package/dist/core/types.d.ts.map +1 -0
  172. package/dist/core/types.js +6 -0
  173. package/dist/core/types.js.map +1 -0
  174. package/dist/core/utils.d.ts +36 -0
  175. package/dist/core/utils.d.ts.map +1 -0
  176. package/dist/core/utils.js +108 -0
  177. package/dist/core/utils.js.map +1 -0
  178. package/dist/database/connection.d.ts +97 -0
  179. package/dist/database/connection.d.ts.map +1 -0
  180. package/dist/database/connection.js +251 -0
  181. package/dist/database/connection.js.map +1 -0
  182. package/dist/database/drizzle.d.ts +10 -0
  183. package/dist/database/drizzle.d.ts.map +1 -0
  184. package/dist/database/drizzle.js +13 -0
  185. package/dist/database/drizzle.js.map +1 -0
  186. package/dist/database/factory.d.ts +39 -0
  187. package/dist/database/factory.d.ts.map +1 -0
  188. package/dist/database/factory.js +74 -0
  189. package/dist/database/factory.js.map +1 -0
  190. package/dist/database/index.d.ts +16 -0
  191. package/dist/database/index.d.ts.map +1 -0
  192. package/dist/database/index.js +16 -0
  193. package/dist/database/index.js.map +1 -0
  194. package/dist/database/knex.d.ts +33 -0
  195. package/dist/database/knex.d.ts.map +1 -0
  196. package/dist/database/knex.js +123 -0
  197. package/dist/database/knex.js.map +1 -0
  198. package/dist/database/migrator.d.ts +29 -0
  199. package/dist/database/migrator.d.ts.map +1 -0
  200. package/dist/database/migrator.js +83 -0
  201. package/dist/database/migrator.js.map +1 -0
  202. package/dist/database/model-hooks.d.ts +61 -0
  203. package/dist/database/model-hooks.d.ts.map +1 -0
  204. package/dist/database/model-hooks.js +126 -0
  205. package/dist/database/model-hooks.js.map +1 -0
  206. package/dist/database/model.d.ts +279 -0
  207. package/dist/database/model.d.ts.map +1 -0
  208. package/dist/database/model.js +960 -0
  209. package/dist/database/model.js.map +1 -0
  210. package/dist/database/prisma.d.ts +13 -0
  211. package/dist/database/prisma.d.ts.map +1 -0
  212. package/dist/database/prisma.js +28 -0
  213. package/dist/database/prisma.js.map +1 -0
  214. package/dist/database/query-builder.d.ts +178 -0
  215. package/dist/database/query-builder.d.ts.map +1 -0
  216. package/dist/database/query-builder.js +607 -0
  217. package/dist/database/query-builder.js.map +1 -0
  218. package/dist/database/schema.d.ts +38 -0
  219. package/dist/database/schema.d.ts.map +1 -0
  220. package/dist/database/schema.js +134 -0
  221. package/dist/database/schema.js.map +1 -0
  222. package/dist/database/seeder.d.ts +24 -0
  223. package/dist/database/seeder.d.ts.map +1 -0
  224. package/dist/database/seeder.js +27 -0
  225. package/dist/database/seeder.js.map +1 -0
  226. package/dist/di/container.d.ts +52 -0
  227. package/dist/di/container.d.ts.map +1 -0
  228. package/dist/di/container.js +124 -0
  229. package/dist/di/container.js.map +1 -0
  230. package/dist/di/decorators.d.ts +17 -0
  231. package/dist/di/decorators.d.ts.map +1 -0
  232. package/dist/di/decorators.js +63 -0
  233. package/dist/di/decorators.js.map +1 -0
  234. package/dist/di/inject.d.ts +11 -0
  235. package/dist/di/inject.d.ts.map +1 -0
  236. package/dist/di/inject.js +30 -0
  237. package/dist/di/inject.js.map +1 -0
  238. package/dist/di/provider.d.ts +32 -0
  239. package/dist/di/provider.d.ts.map +1 -0
  240. package/dist/di/provider.js +30 -0
  241. package/dist/di/provider.js.map +1 -0
  242. package/dist/diagnostics/diagnostics-plugin.d.ts +9 -0
  243. package/dist/diagnostics/diagnostics-plugin.d.ts.map +1 -0
  244. package/dist/diagnostics/diagnostics-plugin.js +49 -0
  245. package/dist/diagnostics/diagnostics-plugin.js.map +1 -0
  246. package/dist/diagnostics/health-check.d.ts +51 -0
  247. package/dist/diagnostics/health-check.d.ts.map +1 -0
  248. package/dist/diagnostics/health-check.js +122 -0
  249. package/dist/diagnostics/health-check.js.map +1 -0
  250. package/dist/diagnostics/index.d.ts +4 -0
  251. package/dist/diagnostics/index.d.ts.map +1 -0
  252. package/dist/diagnostics/index.js +4 -0
  253. package/dist/diagnostics/index.js.map +1 -0
  254. package/dist/diagnostics/prometheus.d.ts +19 -0
  255. package/dist/diagnostics/prometheus.d.ts.map +1 -0
  256. package/dist/diagnostics/prometheus.js +99 -0
  257. package/dist/diagnostics/prometheus.js.map +1 -0
  258. package/dist/errors.d.ts +139 -0
  259. package/dist/errors.d.ts.map +1 -0
  260. package/dist/errors.js +173 -0
  261. package/dist/errors.js.map +1 -0
  262. package/dist/events/event-bus.d.ts +178 -0
  263. package/dist/events/event-bus.d.ts.map +1 -0
  264. package/dist/events/event-bus.js +182 -0
  265. package/dist/events/event-bus.js.map +1 -0
  266. package/dist/graphql/adapter.d.ts +48 -0
  267. package/dist/graphql/adapter.d.ts.map +1 -0
  268. package/dist/graphql/adapter.js +109 -0
  269. package/dist/graphql/adapter.js.map +1 -0
  270. package/dist/graphql/executor.d.ts +24 -0
  271. package/dist/graphql/executor.d.ts.map +1 -0
  272. package/dist/graphql/executor.js +124 -0
  273. package/dist/graphql/executor.js.map +1 -0
  274. package/dist/graphql/index.d.ts +8 -0
  275. package/dist/graphql/index.d.ts.map +1 -0
  276. package/dist/graphql/index.js +8 -0
  277. package/dist/graphql/index.js.map +1 -0
  278. package/dist/graphql/lexer.d.ts +52 -0
  279. package/dist/graphql/lexer.d.ts.map +1 -0
  280. package/dist/graphql/lexer.js +188 -0
  281. package/dist/graphql/lexer.js.map +1 -0
  282. package/dist/graphql/parser.d.ts +29 -0
  283. package/dist/graphql/parser.d.ts.map +1 -0
  284. package/dist/graphql/parser.js +206 -0
  285. package/dist/graphql/parser.js.map +1 -0
  286. package/dist/graphql/plugin.d.ts +13 -0
  287. package/dist/graphql/plugin.d.ts.map +1 -0
  288. package/dist/graphql/plugin.js +103 -0
  289. package/dist/graphql/plugin.js.map +1 -0
  290. package/dist/graphql/schema.d.ts +15 -0
  291. package/dist/graphql/schema.d.ts.map +1 -0
  292. package/dist/graphql/schema.js +17 -0
  293. package/dist/graphql/schema.js.map +1 -0
  294. package/dist/graphql/types.d.ts +65 -0
  295. package/dist/graphql/types.d.ts.map +1 -0
  296. package/dist/graphql/types.js +74 -0
  297. package/dist/graphql/types.js.map +1 -0
  298. package/dist/hooks.d.ts +67 -0
  299. package/dist/hooks.d.ts.map +1 -0
  300. package/dist/hooks.js +115 -0
  301. package/dist/hooks.js.map +1 -0
  302. package/dist/i18n/i18n.d.ts +42 -0
  303. package/dist/i18n/i18n.d.ts.map +1 -0
  304. package/dist/i18n/i18n.js +158 -0
  305. package/dist/i18n/i18n.js.map +1 -0
  306. package/dist/i18n/index.d.ts +2 -0
  307. package/dist/i18n/index.d.ts.map +1 -0
  308. package/dist/i18n/index.js +2 -0
  309. package/dist/i18n/index.js.map +1 -0
  310. package/dist/index.d.ts +75 -0
  311. package/dist/index.d.ts.map +1 -0
  312. package/dist/index.js +87 -0
  313. package/dist/index.js.map +1 -0
  314. package/dist/inertia/inertia.d.ts +62 -0
  315. package/dist/inertia/inertia.d.ts.map +1 -0
  316. package/dist/inertia/inertia.js +159 -0
  317. package/dist/inertia/inertia.js.map +1 -0
  318. package/dist/logging/index.d.ts +7 -0
  319. package/dist/logging/index.d.ts.map +1 -0
  320. package/dist/logging/index.js +7 -0
  321. package/dist/logging/index.js.map +1 -0
  322. package/dist/logging/logger.d.ts +62 -0
  323. package/dist/logging/logger.d.ts.map +1 -0
  324. package/dist/logging/logger.js +197 -0
  325. package/dist/logging/logger.js.map +1 -0
  326. package/dist/logging/request-context.d.ts +29 -0
  327. package/dist/logging/request-context.d.ts.map +1 -0
  328. package/dist/logging/request-context.js +29 -0
  329. package/dist/logging/request-context.js.map +1 -0
  330. package/dist/mail/drivers/log-mail-driver.d.ts +11 -0
  331. package/dist/mail/drivers/log-mail-driver.d.ts.map +1 -0
  332. package/dist/mail/drivers/log-mail-driver.js +23 -0
  333. package/dist/mail/drivers/log-mail-driver.js.map +1 -0
  334. package/dist/mail/drivers/mail-driver.d.ts +14 -0
  335. package/dist/mail/drivers/mail-driver.d.ts.map +1 -0
  336. package/dist/mail/drivers/mail-driver.js +6 -0
  337. package/dist/mail/drivers/mail-driver.js.map +1 -0
  338. package/dist/mail/drivers/memory-mail-driver.d.ts +14 -0
  339. package/dist/mail/drivers/memory-mail-driver.d.ts.map +1 -0
  340. package/dist/mail/drivers/memory-mail-driver.js +24 -0
  341. package/dist/mail/drivers/memory-mail-driver.js.map +1 -0
  342. package/dist/mail/index.d.ts +10 -0
  343. package/dist/mail/index.d.ts.map +1 -0
  344. package/dist/mail/index.js +10 -0
  345. package/dist/mail/index.js.map +1 -0
  346. package/dist/mail/mailer.d.ts +48 -0
  347. package/dist/mail/mailer.d.ts.map +1 -0
  348. package/dist/mail/mailer.js +111 -0
  349. package/dist/mail/mailer.js.map +1 -0
  350. package/dist/mail/message.d.ts +30 -0
  351. package/dist/mail/message.d.ts.map +1 -0
  352. package/dist/mail/message.js +77 -0
  353. package/dist/mail/message.js.map +1 -0
  354. package/dist/middleware/cors.d.ts +16 -0
  355. package/dist/middleware/cors.d.ts.map +1 -0
  356. package/dist/middleware/cors.js +76 -0
  357. package/dist/middleware/cors.js.map +1 -0
  358. package/dist/middleware.d.ts +26 -0
  359. package/dist/middleware.d.ts.map +1 -0
  360. package/dist/middleware.js +45 -0
  361. package/dist/middleware.js.map +1 -0
  362. package/dist/pdf/index.d.ts +2 -0
  363. package/dist/pdf/index.d.ts.map +1 -0
  364. package/dist/pdf/index.js +2 -0
  365. package/dist/pdf/index.js.map +1 -0
  366. package/dist/pdf/pdf.d.ts +86 -0
  367. package/dist/pdf/pdf.d.ts.map +1 -0
  368. package/dist/pdf/pdf.js +237 -0
  369. package/dist/pdf/pdf.js.map +1 -0
  370. package/dist/plugins/plugin.d.ts +25 -0
  371. package/dist/plugins/plugin.d.ts.map +1 -0
  372. package/dist/plugins/plugin.js +17 -0
  373. package/dist/plugins/plugin.js.map +1 -0
  374. package/dist/queue/drivers/database-queue-driver.d.ts +21 -0
  375. package/dist/queue/drivers/database-queue-driver.d.ts.map +1 -0
  376. package/dist/queue/drivers/database-queue-driver.js +84 -0
  377. package/dist/queue/drivers/database-queue-driver.js.map +1 -0
  378. package/dist/queue/drivers/memory-queue-driver.d.ts +17 -0
  379. package/dist/queue/drivers/memory-queue-driver.d.ts.map +1 -0
  380. package/dist/queue/drivers/memory-queue-driver.js +71 -0
  381. package/dist/queue/drivers/memory-queue-driver.js.map +1 -0
  382. package/dist/queue/drivers/queue-driver.d.ts +44 -0
  383. package/dist/queue/drivers/queue-driver.d.ts.map +1 -0
  384. package/dist/queue/drivers/queue-driver.js +6 -0
  385. package/dist/queue/drivers/queue-driver.js.map +1 -0
  386. package/dist/queue/drivers/redis-queue-driver.d.ts +16 -0
  387. package/dist/queue/drivers/redis-queue-driver.d.ts.map +1 -0
  388. package/dist/queue/drivers/redis-queue-driver.js +92 -0
  389. package/dist/queue/drivers/redis-queue-driver.js.map +1 -0
  390. package/dist/queue/index.d.ts +12 -0
  391. package/dist/queue/index.d.ts.map +1 -0
  392. package/dist/queue/index.js +12 -0
  393. package/dist/queue/index.js.map +1 -0
  394. package/dist/queue/job.d.ts +20 -0
  395. package/dist/queue/job.d.ts.map +1 -0
  396. package/dist/queue/job.js +19 -0
  397. package/dist/queue/job.js.map +1 -0
  398. package/dist/queue/queue-manager.d.ts +41 -0
  399. package/dist/queue/queue-manager.d.ts.map +1 -0
  400. package/dist/queue/queue-manager.js +98 -0
  401. package/dist/queue/queue-manager.js.map +1 -0
  402. package/dist/queue/worker.d.ts +57 -0
  403. package/dist/queue/worker.d.ts.map +1 -0
  404. package/dist/queue/worker.js +156 -0
  405. package/dist/queue/worker.js.map +1 -0
  406. package/dist/redis/index.d.ts +5 -0
  407. package/dist/redis/index.d.ts.map +1 -0
  408. package/dist/redis/index.js +5 -0
  409. package/dist/redis/index.js.map +1 -0
  410. package/dist/redis/redis-client.d.ts +44 -0
  411. package/dist/redis/redis-client.d.ts.map +1 -0
  412. package/dist/redis/redis-client.js +131 -0
  413. package/dist/redis/redis-client.js.map +1 -0
  414. package/dist/redis/redis-connection.d.ts +32 -0
  415. package/dist/redis/redis-connection.d.ts.map +1 -0
  416. package/dist/redis/redis-connection.js +151 -0
  417. package/dist/redis/redis-connection.js.map +1 -0
  418. package/dist/redis/redis-manager.d.ts +28 -0
  419. package/dist/redis/redis-manager.d.ts.map +1 -0
  420. package/dist/redis/redis-manager.js +68 -0
  421. package/dist/redis/redis-manager.js.map +1 -0
  422. package/dist/redis/resp-parser.d.ts +29 -0
  423. package/dist/redis/resp-parser.d.ts.map +1 -0
  424. package/dist/redis/resp-parser.js +113 -0
  425. package/dist/redis/resp-parser.js.map +1 -0
  426. package/dist/request.d.ts +122 -0
  427. package/dist/request.d.ts.map +1 -0
  428. package/dist/request.js +171 -0
  429. package/dist/request.js.map +1 -0
  430. package/dist/response.d.ts +208 -0
  431. package/dist/response.d.ts.map +1 -0
  432. package/dist/response.js +375 -0
  433. package/dist/response.js.map +1 -0
  434. package/dist/router.d.ts +146 -0
  435. package/dist/router.d.ts.map +1 -0
  436. package/dist/router.js +341 -0
  437. package/dist/router.js.map +1 -0
  438. package/dist/routing/controller.d.ts +18 -0
  439. package/dist/routing/controller.d.ts.map +1 -0
  440. package/dist/routing/controller.js +49 -0
  441. package/dist/routing/controller.js.map +1 -0
  442. package/dist/routing/named-middleware.d.ts +27 -0
  443. package/dist/routing/named-middleware.d.ts.map +1 -0
  444. package/dist/routing/named-middleware.js +41 -0
  445. package/dist/routing/named-middleware.js.map +1 -0
  446. package/dist/routing/route-builder.d.ts +54 -0
  447. package/dist/routing/route-builder.d.ts.map +1 -0
  448. package/dist/routing/route-builder.js +95 -0
  449. package/dist/routing/route-builder.js.map +1 -0
  450. package/dist/routing/route-group.d.ts +39 -0
  451. package/dist/routing/route-group.d.ts.map +1 -0
  452. package/dist/routing/route-group.js +79 -0
  453. package/dist/routing/route-group.js.map +1 -0
  454. package/dist/scheduler/scheduler.d.ts +85 -0
  455. package/dist/scheduler/scheduler.d.ts.map +1 -0
  456. package/dist/scheduler/scheduler.js +216 -0
  457. package/dist/scheduler/scheduler.js.map +1 -0
  458. package/dist/security/csrf.d.ts +19 -0
  459. package/dist/security/csrf.d.ts.map +1 -0
  460. package/dist/security/csrf.js +69 -0
  461. package/dist/security/csrf.js.map +1 -0
  462. package/dist/security/hash.d.ts +30 -0
  463. package/dist/security/hash.d.ts.map +1 -0
  464. package/dist/security/hash.js +86 -0
  465. package/dist/security/hash.js.map +1 -0
  466. package/dist/security/headers.d.ts +56 -0
  467. package/dist/security/headers.d.ts.map +1 -0
  468. package/dist/security/headers.js +81 -0
  469. package/dist/security/headers.js.map +1 -0
  470. package/dist/security/index.d.ts +13 -0
  471. package/dist/security/index.d.ts.map +1 -0
  472. package/dist/security/index.js +13 -0
  473. package/dist/security/index.js.map +1 -0
  474. package/dist/security/jwt.d.ts +96 -0
  475. package/dist/security/jwt.d.ts.map +1 -0
  476. package/dist/security/jwt.js +308 -0
  477. package/dist/security/jwt.js.map +1 -0
  478. package/dist/security/rate-limiter.d.ts +80 -0
  479. package/dist/security/rate-limiter.d.ts.map +1 -0
  480. package/dist/security/rate-limiter.js +127 -0
  481. package/dist/security/rate-limiter.js.map +1 -0
  482. package/dist/security/totp.d.ts +43 -0
  483. package/dist/security/totp.d.ts.map +1 -0
  484. package/dist/security/totp.js +122 -0
  485. package/dist/security/totp.js.map +1 -0
  486. package/dist/security/vault.d.ts +28 -0
  487. package/dist/security/vault.d.ts.map +1 -0
  488. package/dist/security/vault.js +73 -0
  489. package/dist/security/vault.js.map +1 -0
  490. package/dist/session/session-driver.d.ts +53 -0
  491. package/dist/session/session-driver.d.ts.map +1 -0
  492. package/dist/session/session-driver.js +132 -0
  493. package/dist/session/session-driver.js.map +1 -0
  494. package/dist/session/session-manager.d.ts +100 -0
  495. package/dist/session/session-manager.d.ts.map +1 -0
  496. package/dist/session/session-manager.js +186 -0
  497. package/dist/session/session-manager.js.map +1 -0
  498. package/dist/sse/index.d.ts +2 -0
  499. package/dist/sse/index.d.ts.map +1 -0
  500. package/dist/sse/index.js +2 -0
  501. package/dist/sse/index.js.map +1 -0
  502. package/dist/sse/sse.d.ts +32 -0
  503. package/dist/sse/sse.d.ts.map +1 -0
  504. package/dist/sse/sse.js +87 -0
  505. package/dist/sse/sse.js.map +1 -0
  506. package/dist/ssr/engine.d.ts +58 -0
  507. package/dist/ssr/engine.d.ts.map +1 -0
  508. package/dist/ssr/engine.js +121 -0
  509. package/dist/ssr/engine.js.map +1 -0
  510. package/dist/ssr/index.d.ts +6 -0
  511. package/dist/ssr/index.d.ts.map +1 -0
  512. package/dist/ssr/index.js +6 -0
  513. package/dist/ssr/index.js.map +1 -0
  514. package/dist/static/static.d.ts +22 -0
  515. package/dist/static/static.d.ts.map +1 -0
  516. package/dist/static/static.js +134 -0
  517. package/dist/static/static.js.map +1 -0
  518. package/dist/storage/chunked-uploader.d.ts +53 -0
  519. package/dist/storage/chunked-uploader.d.ts.map +1 -0
  520. package/dist/storage/chunked-uploader.js +135 -0
  521. package/dist/storage/chunked-uploader.js.map +1 -0
  522. package/dist/storage/drivers/local-driver.d.ts +25 -0
  523. package/dist/storage/drivers/local-driver.d.ts.map +1 -0
  524. package/dist/storage/drivers/local-driver.js +75 -0
  525. package/dist/storage/drivers/local-driver.js.map +1 -0
  526. package/dist/storage/drivers/memory-driver.d.ts +23 -0
  527. package/dist/storage/drivers/memory-driver.d.ts.map +1 -0
  528. package/dist/storage/drivers/memory-driver.js +55 -0
  529. package/dist/storage/drivers/memory-driver.js.map +1 -0
  530. package/dist/storage/drivers/s3-driver.d.ts +34 -0
  531. package/dist/storage/drivers/s3-driver.d.ts.map +1 -0
  532. package/dist/storage/drivers/s3-driver.js +186 -0
  533. package/dist/storage/drivers/s3-driver.js.map +1 -0
  534. package/dist/storage/drivers/storage-driver.d.ts +40 -0
  535. package/dist/storage/drivers/storage-driver.d.ts.map +1 -0
  536. package/dist/storage/drivers/storage-driver.js +6 -0
  537. package/dist/storage/drivers/storage-driver.js.map +1 -0
  538. package/dist/storage/index.d.ts +13 -0
  539. package/dist/storage/index.d.ts.map +1 -0
  540. package/dist/storage/index.js +13 -0
  541. package/dist/storage/index.js.map +1 -0
  542. package/dist/storage/multipart.d.ts +12 -0
  543. package/dist/storage/multipart.d.ts.map +1 -0
  544. package/dist/storage/multipart.js +79 -0
  545. package/dist/storage/multipart.js.map +1 -0
  546. package/dist/storage/storage-manager.d.ts +48 -0
  547. package/dist/storage/storage-manager.d.ts.map +1 -0
  548. package/dist/storage/storage-manager.js +106 -0
  549. package/dist/storage/storage-manager.js.map +1 -0
  550. package/dist/storage/uploaded-file.d.ts +40 -0
  551. package/dist/storage/uploaded-file.d.ts.map +1 -0
  552. package/dist/storage/uploaded-file.js +73 -0
  553. package/dist/storage/uploaded-file.js.map +1 -0
  554. package/dist/swagger/generator.d.ts +44 -0
  555. package/dist/swagger/generator.d.ts.map +1 -0
  556. package/dist/swagger/generator.js +117 -0
  557. package/dist/swagger/generator.js.map +1 -0
  558. package/dist/swagger/index.d.ts +8 -0
  559. package/dist/swagger/index.d.ts.map +1 -0
  560. package/dist/swagger/index.js +8 -0
  561. package/dist/swagger/index.js.map +1 -0
  562. package/dist/swagger/swagger.d.ts +9 -0
  563. package/dist/swagger/swagger.d.ts.map +1 -0
  564. package/dist/swagger/swagger.js +32 -0
  565. package/dist/swagger/swagger.js.map +1 -0
  566. package/dist/swagger/ui.d.ts +11 -0
  567. package/dist/swagger/ui.d.ts.map +1 -0
  568. package/dist/swagger/ui.js +93 -0
  569. package/dist/swagger/ui.js.map +1 -0
  570. package/dist/tcp/hl7.d.ts +19 -0
  571. package/dist/tcp/hl7.d.ts.map +1 -0
  572. package/dist/tcp/hl7.js +42 -0
  573. package/dist/tcp/hl7.js.map +1 -0
  574. package/dist/tcp/index.d.ts +4 -0
  575. package/dist/tcp/index.d.ts.map +1 -0
  576. package/dist/tcp/index.js +4 -0
  577. package/dist/tcp/index.js.map +1 -0
  578. package/dist/tcp/mllp.d.ts +22 -0
  579. package/dist/tcp/mllp.d.ts.map +1 -0
  580. package/dist/tcp/mllp.js +44 -0
  581. package/dist/tcp/mllp.js.map +1 -0
  582. package/dist/tcp/tcp-server.d.ts +20 -0
  583. package/dist/tcp/tcp-server.d.ts.map +1 -0
  584. package/dist/tcp/tcp-server.js +59 -0
  585. package/dist/tcp/tcp-server.js.map +1 -0
  586. package/dist/tenancy/index.d.ts +2 -0
  587. package/dist/tenancy/index.d.ts.map +1 -0
  588. package/dist/tenancy/index.js +2 -0
  589. package/dist/tenancy/index.js.map +1 -0
  590. package/dist/tenancy/tenant.d.ts +22 -0
  591. package/dist/tenancy/tenant.d.ts.map +1 -0
  592. package/dist/tenancy/tenant.js +32 -0
  593. package/dist/tenancy/tenant.js.map +1 -0
  594. package/dist/testing/test-client.d.ts +36 -0
  595. package/dist/testing/test-client.d.ts.map +1 -0
  596. package/dist/testing/test-client.js +128 -0
  597. package/dist/testing/test-client.js.map +1 -0
  598. package/dist/validation/index.d.ts +10 -0
  599. package/dist/validation/index.d.ts.map +1 -0
  600. package/dist/validation/index.js +10 -0
  601. package/dist/validation/index.js.map +1 -0
  602. package/dist/validation/rules-validator.d.ts +65 -0
  603. package/dist/validation/rules-validator.d.ts.map +1 -0
  604. package/dist/validation/rules-validator.js +301 -0
  605. package/dist/validation/rules-validator.js.map +1 -0
  606. package/dist/validation/schema.d.ts +34 -0
  607. package/dist/validation/schema.d.ts.map +1 -0
  608. package/dist/validation/schema.js +174 -0
  609. package/dist/validation/schema.js.map +1 -0
  610. package/dist/validation/vine.d.ts +23 -0
  611. package/dist/validation/vine.d.ts.map +1 -0
  612. package/dist/validation/vine.js +97 -0
  613. package/dist/validation/vine.js.map +1 -0
  614. package/dist/views/view.d.ts +51 -0
  615. package/dist/views/view.d.ts.map +1 -0
  616. package/dist/views/view.js +91 -0
  617. package/dist/views/view.js.map +1 -0
  618. package/dist/views/vite.d.ts +19 -0
  619. package/dist/views/vite.d.ts.map +1 -0
  620. package/dist/views/vite.js +60 -0
  621. package/dist/views/vite.js.map +1 -0
  622. package/dist/webhook/index.d.ts +2 -0
  623. package/dist/webhook/index.d.ts.map +1 -0
  624. package/dist/webhook/index.js +2 -0
  625. package/dist/webhook/index.js.map +1 -0
  626. package/dist/webhook/webhook.d.ts +30 -0
  627. package/dist/webhook/webhook.d.ts.map +1 -0
  628. package/dist/webhook/webhook.js +124 -0
  629. package/dist/webhook/webhook.js.map +1 -0
  630. package/dist/ws/broadcaster.d.ts +43 -0
  631. package/dist/ws/broadcaster.d.ts.map +1 -0
  632. package/dist/ws/broadcaster.js +81 -0
  633. package/dist/ws/broadcaster.js.map +1 -0
  634. package/dist/ws/channel.d.ts +23 -0
  635. package/dist/ws/channel.d.ts.map +1 -0
  636. package/dist/ws/channel.js +27 -0
  637. package/dist/ws/channel.js.map +1 -0
  638. package/dist/ws/index.d.ts +5 -0
  639. package/dist/ws/index.d.ts.map +1 -0
  640. package/dist/ws/index.js +5 -0
  641. package/dist/ws/index.js.map +1 -0
  642. package/dist/ws/websocket-hub.d.ts +52 -0
  643. package/dist/ws/websocket-hub.d.ts.map +1 -0
  644. package/dist/ws/websocket-hub.js +187 -0
  645. package/dist/ws/websocket-hub.js.map +1 -0
  646. package/dist/ws/websocket.d.ts +43 -0
  647. package/dist/ws/websocket.d.ts.map +1 -0
  648. package/dist/ws/websocket.js +214 -0
  649. package/dist/ws/websocket.js.map +1 -0
  650. package/package.json +141 -0
@@ -0,0 +1,9 @@
1
+ export interface DiagnosticsOptions {
2
+ healthRoute?: string;
3
+ livenessRoute?: string;
4
+ readinessRoute?: string;
5
+ metricsRoute?: string;
6
+ enableHttpMetrics?: boolean;
7
+ }
8
+ export declare function diagnosticsPlugin(options?: DiagnosticsOptions): (app: any) => void;
9
+ //# sourceMappingURL=diagnostics-plugin.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"diagnostics-plugin.d.ts","sourceRoot":"","sources":["../../src/diagnostics/diagnostics-plugin.ts"],"names":[],"mappings":"AAKA,MAAM,WAAW,kBAAkB;IACjC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,iBAAiB,CAAC,EAAE,OAAO,CAAC;CAC7B;AAED,wBAAgB,iBAAiB,CAAC,OAAO,GAAE,kBAAuB,SAOlC,GAAG,UAgDlC"}
@@ -0,0 +1,49 @@
1
+ import { HealthCheck } from './health-check.js';
2
+ import { PrometheusMetrics } from './prometheus.js';
3
+ import { SKIP_OVERRIDE } from '../plugins/plugin.js';
4
+ export function diagnosticsPlugin(options = {}) {
5
+ const healthRoute = options.healthRoute || '/health';
6
+ const livenessRoute = options.livenessRoute || '/health/liveness';
7
+ const readinessRoute = options.readinessRoute || '/health/readiness';
8
+ const metricsRoute = options.metricsRoute || '/metrics';
9
+ const enableHttpMetrics = options.enableHttpMetrics !== false;
10
+ const plugin = function (app) {
11
+ if (enableHttpMetrics) {
12
+ app.use(async (ctx, next) => {
13
+ const start = process.hrtime.bigint();
14
+ try {
15
+ await next();
16
+ }
17
+ finally {
18
+ if (ctx.req.path !== metricsRoute) {
19
+ const end = process.hrtime.bigint();
20
+ const durationMs = Number(end - start) / 1e6;
21
+ const durationSeconds = durationMs / 1000;
22
+ const routePath = ctx.route?.path || ctx.req.path;
23
+ PrometheusMetrics.recordHttpRequest(ctx.req.method, routePath, ctx.res.statusCode, durationSeconds);
24
+ }
25
+ }
26
+ });
27
+ }
28
+ app.get(healthRoute, async (ctx) => {
29
+ const report = await HealthCheck.run();
30
+ const status = report.status === 'healthy' ? 200 : 503;
31
+ ctx.res.status(status).json(report);
32
+ });
33
+ app.get(livenessRoute, (ctx) => {
34
+ ctx.res.status(200).json({ status: 'healthy', uptime: process.uptime() });
35
+ });
36
+ app.get(readinessRoute, async (ctx) => {
37
+ const report = await HealthCheck.run();
38
+ const status = report.status === 'healthy' ? 200 : 503;
39
+ ctx.res.status(status).json(report);
40
+ });
41
+ app.get(metricsRoute, (ctx) => {
42
+ const metricsText = PrometheusMetrics.generateMetrics();
43
+ ctx.res.type('text/plain; version=0.0.4').send(metricsText);
44
+ });
45
+ };
46
+ plugin[SKIP_OVERRIDE] = true;
47
+ return plugin;
48
+ }
49
+ //# sourceMappingURL=diagnostics-plugin.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"diagnostics-plugin.js","sourceRoot":"","sources":["../../src/diagnostics/diagnostics-plugin.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,51 @@
1
+ /**
2
+ * @file health-check.ts
3
+ * @description Enterprise-grade Health Checks Manager for AeroJS.
4
+ * Generates RFC-compliant Kubernetes health check JSON responses.
5
+ */
6
+ export interface HealthCheckOptions {
7
+ timeoutMs?: number;
8
+ critical?: boolean;
9
+ }
10
+ export type HealthCheckFunction = () => Promise<any> | any;
11
+ export interface HealthCheckResult {
12
+ name: string;
13
+ status: 'up' | 'down';
14
+ critical: boolean;
15
+ message?: string;
16
+ durationMs: number;
17
+ }
18
+ export interface HealthReport {
19
+ status: 'healthy' | 'degraded' | 'unhealthy';
20
+ uptime: number;
21
+ timestamp: string;
22
+ checks: Record<string, Omit<HealthCheckResult, 'name'>>;
23
+ }
24
+ export declare class HealthCheck {
25
+ private static checks;
26
+ /**
27
+ * Registers a new diagnostic health check.
28
+ */
29
+ static register(name: string, checkFn: HealthCheckFunction, options?: HealthCheckOptions): void;
30
+ /**
31
+ * Executes all registered health checks.
32
+ */
33
+ static run(): Promise<HealthReport>;
34
+ /**
35
+ * Verifies database connectivity.
36
+ */
37
+ static databaseCheck(dbInstance: any): () => Promise<void>;
38
+ /**
39
+ * Verifies Redis connectivity.
40
+ */
41
+ static redisCheck(redisClient: any): () => Promise<void>;
42
+ /**
43
+ * Verifies that the disk is writable.
44
+ */
45
+ static diskWriteCheck(directory?: string): () => Promise<void>;
46
+ /**
47
+ * Verifies system memory usage is below a certain threshold.
48
+ */
49
+ static memoryCheck(maxHeapUsedBytes: number): () => void;
50
+ }
51
+ //# sourceMappingURL=health-check.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"health-check.d.ts","sourceRoot":"","sources":["../../src/diagnostics/health-check.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAKH,MAAM,WAAW,kBAAkB;IACjC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED,MAAM,MAAM,mBAAmB,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC;AAE3D,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,IAAI,GAAG,MAAM,CAAC;IACtB,QAAQ,EAAE,OAAO,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,YAAY;IAC3B,MAAM,EAAE,SAAS,GAAG,UAAU,GAAG,WAAW,CAAC;IAC7C,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,iBAAiB,EAAE,MAAM,CAAC,CAAC,CAAC;CACzD;AAED,qBAAa,WAAW;IACtB,OAAO,CAAC,MAAM,CAAC,MAAM,CAA+E;IAEpG;;OAEG;WACW,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,mBAAmB,EAAE,OAAO,GAAE,kBAAuB;IAOnG;;OAEG;WACiB,GAAG,IAAI,OAAO,CAAC,YAAY,CAAC;IA2DhD;;OAEG;WACW,aAAa,CAAC,UAAU,EAAE,GAAG;IAY3C;;OAEG;WACW,UAAU,CAAC,WAAW,EAAE,GAAG;IAOzC;;OAEG;WACW,cAAc,CAAC,SAAS,SAAc;IASpD;;OAEG;WACW,WAAW,CAAC,gBAAgB,EAAE,MAAM;CAQnD"}
@@ -0,0 +1,122 @@
1
+ /**
2
+ * @file health-check.ts
3
+ * @description Enterprise-grade Health Checks Manager for AeroJS.
4
+ * Generates RFC-compliant Kubernetes health check JSON responses.
5
+ */
6
+ import * as fs from 'node:fs';
7
+ import * as os from 'node:os';
8
+ export class HealthCheck {
9
+ static checks = new Map();
10
+ /**
11
+ * Registers a new diagnostic health check.
12
+ */
13
+ static register(name, checkFn, options = {}) {
14
+ this.checks.set(name, {
15
+ fn: checkFn,
16
+ options: { timeoutMs: 5000, critical: true, ...options }
17
+ });
18
+ }
19
+ /**
20
+ * Executes all registered health checks.
21
+ */
22
+ static async run() {
23
+ const promises = Array.from(this.checks.entries()).map(async ([name, check]) => {
24
+ const start = performance.now();
25
+ let status = 'up';
26
+ let message;
27
+ try {
28
+ const timeoutPromise = new Promise((_, reject) => {
29
+ setTimeout(() => reject(new Error('Timeout')), check.options.timeoutMs);
30
+ });
31
+ await Promise.race([check.fn(), timeoutPromise]);
32
+ }
33
+ catch (err) {
34
+ status = 'down';
35
+ message = err.message || String(err);
36
+ }
37
+ const durationMs = Math.round(performance.now() - start);
38
+ return {
39
+ name,
40
+ status,
41
+ critical: check.options.critical,
42
+ message,
43
+ durationMs
44
+ };
45
+ });
46
+ const results = await Promise.all(promises);
47
+ const checks = {};
48
+ let overallStatus = 'healthy';
49
+ for (const res of results) {
50
+ checks[res.name] = {
51
+ status: res.status,
52
+ critical: res.critical,
53
+ message: res.message,
54
+ durationMs: res.durationMs
55
+ };
56
+ if (res.status === 'down') {
57
+ if (res.critical) {
58
+ overallStatus = 'unhealthy';
59
+ }
60
+ else if (overallStatus === 'healthy') {
61
+ overallStatus = 'degraded';
62
+ }
63
+ }
64
+ }
65
+ return {
66
+ status: overallStatus,
67
+ uptime: process.uptime(),
68
+ timestamp: new Date().toISOString(),
69
+ checks
70
+ };
71
+ }
72
+ // --- Pre-built Common Checks ---
73
+ /**
74
+ * Verifies database connectivity.
75
+ */
76
+ static databaseCheck(dbInstance) {
77
+ return async () => {
78
+ if (typeof dbInstance.query === 'function') {
79
+ await dbInstance.query('SELECT 1');
80
+ }
81
+ else if (typeof dbInstance.raw === 'function') {
82
+ await dbInstance.raw('SELECT 1');
83
+ }
84
+ else if (typeof dbInstance.$queryRawUnsafe === 'function') {
85
+ await dbInstance.$queryRawUnsafe('SELECT 1');
86
+ }
87
+ };
88
+ }
89
+ /**
90
+ * Verifies Redis connectivity.
91
+ */
92
+ static redisCheck(redisClient) {
93
+ return async () => {
94
+ const res = await redisClient.sendCommand(['PING']);
95
+ if (res !== 'PONG')
96
+ throw new Error('Redis did not respond with PONG');
97
+ };
98
+ }
99
+ /**
100
+ * Verifies that the disk is writable.
101
+ */
102
+ static diskWriteCheck(directory = './storage') {
103
+ return async () => {
104
+ const testFile = `${directory}/.healthcheck-${Date.now()}`;
105
+ await fs.promises.mkdir(directory, { recursive: true });
106
+ await fs.promises.writeFile(testFile, 'ok');
107
+ await fs.promises.unlink(testFile);
108
+ };
109
+ }
110
+ /**
111
+ * Verifies system memory usage is below a certain threshold.
112
+ */
113
+ static memoryCheck(maxHeapUsedBytes) {
114
+ return () => {
115
+ const usage = process.memoryUsage();
116
+ if (usage.heapUsed > maxHeapUsedBytes) {
117
+ throw new Error(`Memory heap used (${usage.heapUsed} bytes) exceeds threshold (${maxHeapUsedBytes} bytes)`);
118
+ }
119
+ };
120
+ }
121
+ }
122
+ //# sourceMappingURL=health-check.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"health-check.js","sourceRoot":"","sources":["../../src/diagnostics/health-check.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,4 @@
1
+ export * from './health-check.js';
2
+ export * from './prometheus.js';
3
+ export * from './diagnostics-plugin.js';
4
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/diagnostics/index.ts"],"names":[],"mappings":"AAAA,cAAc,mBAAmB,CAAC;AAClC,cAAc,iBAAiB,CAAC;AAChC,cAAc,yBAAyB,CAAC"}
@@ -0,0 +1,4 @@
1
+ export * from './health-check.js';
2
+ export * from './prometheus.js';
3
+ export * from './diagnostics-plugin.js';
4
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/diagnostics/index.ts"],"names":[],"mappings":"AAAA,cAAc,mBAAmB,CAAC;AAClC,cAAc,iBAAiB,CAAC;AAChC,cAAc,yBAAyB,CAAC"}
@@ -0,0 +1,19 @@
1
+ /**
2
+ * @file prometheus.ts
3
+ * @description Zero-dependency Prometheus Metrics Exporter for AeroJS.
4
+ */
5
+ export declare class PrometheusMetrics {
6
+ private static httpRequestsTotal;
7
+ static activeWebsocketConnections: number;
8
+ private static httpRequestDurations;
9
+ private static MAX_DURATION_SAMPLES;
10
+ static recordHttpRequest(method: string, path: string, status: number, durationSeconds: number): void;
11
+ static incrementWebsocketConnection(): void;
12
+ static decrementWebsocketConnection(): void;
13
+ private static calculatePercentile;
14
+ /**
15
+ * Generates metrics in Prometheus Text Exposition Format.
16
+ */
17
+ static generateMetrics(): string;
18
+ }
19
+ //# sourceMappingURL=prometheus.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"prometheus.d.ts","sourceRoot":"","sources":["../../src/diagnostics/prometheus.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAKH,qBAAa,iBAAiB;IAE5B,OAAO,CAAC,MAAM,CAAC,iBAAiB,CAA6B;IAG7D,OAAc,0BAA0B,SAAK;IAI7C,OAAO,CAAC,MAAM,CAAC,oBAAoB,CAAgC;IACnE,OAAO,CAAC,MAAM,CAAC,oBAAoB,CAAQ;WAE7B,iBAAiB,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,eAAe,EAAE,MAAM;WAkBvF,4BAA4B;WAI5B,4BAA4B;IAI1C,OAAO,CAAC,MAAM,CAAC,mBAAmB;IAMlC;;OAEG;WACW,eAAe,IAAI,MAAM;CA6DxC"}
@@ -0,0 +1,99 @@
1
+ /**
2
+ * @file prometheus.ts
3
+ * @description Zero-dependency Prometheus Metrics Exporter for AeroJS.
4
+ */
5
+ import * as os from 'node:os';
6
+ import * as v8 from 'node:v8';
7
+ export class PrometheusMetrics {
8
+ // Counters
9
+ static httpRequestsTotal = new Map(); // key: method_path_status
10
+ // Gauges
11
+ static activeWebsocketConnections = 0;
12
+ // Histograms (Simplified with bucketed tracking or raw tracking)
13
+ // For zero-dependency, we'll store recent raw durations to compute percentiles on scrape
14
+ static httpRequestDurations = {};
15
+ static MAX_DURATION_SAMPLES = 1000;
16
+ static recordHttpRequest(method, path, status, durationSeconds) {
17
+ // Sanitize path for metrics cardinality (e.g. /users/123 -> /users/:id)
18
+ // We assume the router matched path is used, if provided. For now, we use raw path or caller should provide matched route.
19
+ const countKey = `${method}|${path}|${status}`;
20
+ this.httpRequestsTotal.set(countKey, (this.httpRequestsTotal.get(countKey) || 0) + 1);
21
+ const durKey = `${method}|${path}`;
22
+ if (!this.httpRequestDurations[durKey]) {
23
+ this.httpRequestDurations[durKey] = [];
24
+ }
25
+ this.httpRequestDurations[durKey].push(durationSeconds);
26
+ if (this.httpRequestDurations[durKey].length > this.MAX_DURATION_SAMPLES) {
27
+ // Keep recent samples, drop oldest
28
+ this.httpRequestDurations[durKey].shift();
29
+ }
30
+ }
31
+ static incrementWebsocketConnection() {
32
+ this.activeWebsocketConnections++;
33
+ }
34
+ static decrementWebsocketConnection() {
35
+ this.activeWebsocketConnections--;
36
+ }
37
+ static calculatePercentile(sortedArr, p) {
38
+ if (sortedArr.length === 0)
39
+ return 0;
40
+ const index = Math.ceil(p * sortedArr.length) - 1;
41
+ return sortedArr[index] || 0;
42
+ }
43
+ /**
44
+ * Generates metrics in Prometheus Text Exposition Format.
45
+ */
46
+ static generateMetrics() {
47
+ const lines = [];
48
+ lines.push('# HELP http_requests_total Total number of HTTP requests');
49
+ lines.push('# TYPE http_requests_total counter');
50
+ for (const [key, count] of this.httpRequestsTotal.entries()) {
51
+ const [method, path, status] = key.split('|');
52
+ lines.push(`http_requests_total{method="${method}",path="${path}",status="${status}"} ${count}`);
53
+ }
54
+ lines.push('');
55
+ lines.push('# HELP http_request_duration_seconds HTTP request duration in seconds');
56
+ lines.push('# TYPE http_request_duration_seconds summary');
57
+ for (const [key, durations] of Object.entries(this.httpRequestDurations)) {
58
+ const [method, path] = key.split('|');
59
+ const sorted = [...durations].sort((a, b) => a - b);
60
+ const p50 = this.calculatePercentile(sorted, 0.50);
61
+ const p90 = this.calculatePercentile(sorted, 0.90);
62
+ const p99 = this.calculatePercentile(sorted, 0.99);
63
+ const sum = durations.reduce((a, b) => a + b, 0);
64
+ const count = durations.length;
65
+ lines.push(`http_request_duration_seconds{method="${method}",path="${path}",quantile="0.5"} ${p50}`);
66
+ lines.push(`http_request_duration_seconds{method="${method}",path="${path}",quantile="0.9"} ${p90}`);
67
+ lines.push(`http_request_duration_seconds{method="${method}",path="${path}",quantile="0.99"} ${p99}`);
68
+ lines.push(`http_request_duration_seconds_sum{method="${method}",path="${path}"} ${sum}`);
69
+ lines.push(`http_request_duration_seconds_count{method="${method}",path="${path}"} ${count}`);
70
+ }
71
+ lines.push('');
72
+ lines.push('# HELP nodejs_memory_heap_used_bytes Memory heap used in bytes');
73
+ lines.push('# TYPE nodejs_memory_heap_used_bytes gauge');
74
+ const heapStats = v8.getHeapStatistics();
75
+ lines.push(`nodejs_memory_heap_used_bytes ${heapStats.used_heap_size}`);
76
+ lines.push('');
77
+ lines.push('# HELP nodejs_cpu_utilization_ratio CPU utilization ratio');
78
+ lines.push('# TYPE nodejs_cpu_utilization_ratio gauge');
79
+ const cpus = os.cpus();
80
+ let user = 0, nice = 0, sys = 0, idle = 0, irq = 0;
81
+ for (const cpu of cpus) {
82
+ user += cpu.times.user;
83
+ nice += cpu.times.nice;
84
+ sys += cpu.times.sys;
85
+ idle += cpu.times.idle;
86
+ irq += cpu.times.irq;
87
+ }
88
+ const total = user + nice + sys + idle + irq;
89
+ // Calculate simple overall non-idle ratio
90
+ const usage = total > 0 ? (total - idle) / total : 0;
91
+ lines.push(`nodejs_cpu_utilization_ratio ${usage.toFixed(4)}`);
92
+ lines.push('');
93
+ lines.push('# HELP active_websocket_connections_total Number of active WebSocket connections');
94
+ lines.push('# TYPE active_websocket_connections_total gauge');
95
+ lines.push(`active_websocket_connections_total ${this.activeWebsocketConnections}`);
96
+ return lines.join('\n') + '\n';
97
+ }
98
+ }
99
+ //# sourceMappingURL=prometheus.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"prometheus.js","sourceRoot":"","sources":["../../src/diagnostics/prometheus.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,139 @@
1
+ /**
2
+ * @file errors.ts
3
+ * @description Standard error classes for the Aero framework.
4
+ */
5
+ /**
6
+ * Base HTTP and framework error class in Aero.
7
+ */
8
+ export declare class AeroError extends Error {
9
+ /**
10
+ * HTTP status code associated with the error.
11
+ */
12
+ readonly status: number;
13
+ /**
14
+ * Optional machine-readable error code.
15
+ */
16
+ readonly code?: string;
17
+ /**
18
+ * Optional contextual details or validation errors.
19
+ */
20
+ readonly details?: unknown;
21
+ /**
22
+ * Creates an instance of AeroError.
23
+ *
24
+ * @param message - Human-readable error message.
25
+ * @param status - HTTP status code (defaults to 500).
26
+ * @param code - Optional machine-readable error code.
27
+ * @param details - Optional additional error details.
28
+ */
29
+ constructor(message: string, status?: number, code?: string, details?: unknown);
30
+ }
31
+ /**
32
+ * HTTP 400 Bad Request error.
33
+ */
34
+ export declare class BadRequestError extends AeroError {
35
+ /**
36
+ * Creates a BadRequestError.
37
+ *
38
+ * @param message - Error message (defaults to 'Bad Request').
39
+ * @param code - Error code (defaults to 'BAD_REQUEST').
40
+ * @param details - Optional details.
41
+ */
42
+ constructor(message?: string, code?: string, details?: unknown);
43
+ }
44
+ /**
45
+ * HTTP 401 Unauthorized error.
46
+ */
47
+ export declare class UnauthorizedError extends AeroError {
48
+ /**
49
+ * Creates an UnauthorizedError.
50
+ *
51
+ * @param message - Error message (defaults to 'Unauthorized').
52
+ * @param code - Error code (defaults to 'UNAUTHORIZED').
53
+ * @param details - Optional details.
54
+ */
55
+ constructor(message?: string, code?: string, details?: unknown);
56
+ }
57
+ /**
58
+ * HTTP 403 Forbidden error.
59
+ */
60
+ export declare class ForbiddenError extends AeroError {
61
+ /**
62
+ * Creates a ForbiddenError.
63
+ *
64
+ * @param message - Error message (defaults to 'Forbidden').
65
+ * @param code - Error code (defaults to 'FORBIDDEN').
66
+ * @param details - Optional details.
67
+ */
68
+ constructor(message?: string, code?: string, details?: unknown);
69
+ }
70
+ /**
71
+ * HTTP 404 Not Found error.
72
+ */
73
+ export declare class NotFoundError extends AeroError {
74
+ /**
75
+ * Creates a NotFoundError.
76
+ *
77
+ * @param message - Error message (defaults to 'Not Found').
78
+ * @param code - Error code (defaults to 'NOT_FOUND').
79
+ * @param details - Optional details.
80
+ */
81
+ constructor(message?: string, code?: string, details?: unknown);
82
+ }
83
+ /**
84
+ * HTTP 405 Method Not Allowed error.
85
+ */
86
+ export declare class MethodNotAllowedError extends AeroError {
87
+ /**
88
+ * Array of allowed HTTP methods for the requested path.
89
+ */
90
+ readonly allowedMethods: readonly string[];
91
+ /**
92
+ * Creates a MethodNotAllowedError.
93
+ *
94
+ * @param message - Error message (defaults to 'Method Not Allowed').
95
+ * @param allowedMethods - List of allowed HTTP methods.
96
+ * @param code - Error code (defaults to 'METHOD_NOT_ALLOWED').
97
+ */
98
+ constructor(message?: string, allowedMethods?: readonly string[], code?: string);
99
+ }
100
+ /**
101
+ * HTTP 413 Payload Too Large error.
102
+ */
103
+ export declare class PayloadTooLargeError extends AeroError {
104
+ /**
105
+ * Creates a PayloadTooLargeError.
106
+ *
107
+ * @param message - Error message (defaults to 'Payload Too Large').
108
+ * @param code - Error code (defaults to 'PAYLOAD_TOO_LARGE').
109
+ * @param details - Optional details.
110
+ */
111
+ constructor(message?: string, code?: string, details?: unknown);
112
+ }
113
+ /**
114
+ * HTTP 415 Unsupported Media Type error.
115
+ */
116
+ export declare class UnsupportedMediaTypeError extends AeroError {
117
+ /**
118
+ * Creates an UnsupportedMediaTypeError.
119
+ *
120
+ * @param message - Error message (defaults to 'Unsupported Media Type').
121
+ * @param code - Error code (defaults to 'UNSUPPORTED_MEDIA_TYPE').
122
+ * @param details - Optional details.
123
+ */
124
+ constructor(message?: string, code?: string, details?: unknown);
125
+ }
126
+ /**
127
+ * HTTP 500 Internal Server Error.
128
+ */
129
+ export declare class InternalError extends AeroError {
130
+ /**
131
+ * Creates an InternalError.
132
+ *
133
+ * @param message - Error message (defaults to 'Internal Server Error').
134
+ * @param code - Error code (defaults to 'INTERNAL_SERVER_ERROR').
135
+ * @param details - Optional details.
136
+ */
137
+ constructor(message?: string, code?: string, details?: unknown);
138
+ }
139
+ //# sourceMappingURL=errors.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH;;GAEG;AACH,qBAAa,SAAU,SAAQ,KAAK;IAClC;;OAEG;IACH,SAAgB,MAAM,EAAE,MAAM,CAAC;IAE/B;;OAEG;IACH,SAAgB,IAAI,CAAC,EAAE,MAAM,CAAC;IAE9B;;OAEG;IACH,SAAgB,OAAO,CAAC,EAAE,OAAO,CAAC;IAElC;;;;;;;OAOG;gBAED,OAAO,EAAE,MAAM,EACf,MAAM,SAAM,EACZ,IAAI,CAAC,EAAE,MAAM,EACb,OAAO,CAAC,EAAE,OAAO;CAYpB;AAED;;GAEG;AACH,qBAAa,eAAgB,SAAQ,SAAS;IAC5C;;;;;;OAMG;gBAED,OAAO,SAAgB,EACvB,IAAI,SAAgB,EACpB,OAAO,CAAC,EAAE,OAAO;CAKpB;AAED;;GAEG;AACH,qBAAa,iBAAkB,SAAQ,SAAS;IAC9C;;;;;;OAMG;gBAED,OAAO,SAAiB,EACxB,IAAI,SAAiB,EACrB,OAAO,CAAC,EAAE,OAAO;CAKpB;AAED;;GAEG;AACH,qBAAa,cAAe,SAAQ,SAAS;IAC3C;;;;;;OAMG;gBAED,OAAO,SAAc,EACrB,IAAI,SAAc,EAClB,OAAO,CAAC,EAAE,OAAO;CAKpB;AAED;;GAEG;AACH,qBAAa,aAAc,SAAQ,SAAS;IAC1C;;;;;;OAMG;gBAED,OAAO,SAAc,EACrB,IAAI,SAAc,EAClB,OAAO,CAAC,EAAE,OAAO;CAKpB;AAED;;GAEG;AACH,qBAAa,qBAAsB,SAAQ,SAAS;IAClD;;OAEG;IACH,SAAgB,cAAc,EAAE,SAAS,MAAM,EAAE,CAAC;IAElD;;;;;;OAMG;gBAED,OAAO,SAAuB,EAC9B,cAAc,GAAE,SAAS,MAAM,EAAO,EACtC,IAAI,SAAuB;CAM9B;AAED;;GAEG;AACH,qBAAa,oBAAqB,SAAQ,SAAS;IACjD;;;;;;OAMG;gBAED,OAAO,SAAsB,EAC7B,IAAI,SAAsB,EAC1B,OAAO,CAAC,EAAE,OAAO;CAKpB;AAED;;GAEG;AACH,qBAAa,yBAA0B,SAAQ,SAAS;IACtD;;;;;;OAMG;gBAED,OAAO,SAA2B,EAClC,IAAI,SAA2B,EAC/B,OAAO,CAAC,EAAE,OAAO;CAKpB;AAED;;GAEG;AACH,qBAAa,aAAc,SAAQ,SAAS;IAC1C;;;;;;OAMG;gBAED,OAAO,SAA0B,EACjC,IAAI,SAA0B,EAC9B,OAAO,CAAC,EAAE,OAAO;CAKpB"}