@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
package/dist/errors.js ADDED
@@ -0,0 +1,173 @@
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 class AeroError extends Error {
9
+ /**
10
+ * HTTP status code associated with the error.
11
+ */
12
+ status;
13
+ /**
14
+ * Optional machine-readable error code.
15
+ */
16
+ code;
17
+ /**
18
+ * Optional contextual details or validation errors.
19
+ */
20
+ details;
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, status = 500, code, details) {
30
+ super(message);
31
+ this.name = 'AeroError';
32
+ this.status = status;
33
+ this.code = code;
34
+ this.details = details;
35
+ if (Error.captureStackTrace) {
36
+ Error.captureStackTrace(this, this.constructor);
37
+ }
38
+ }
39
+ }
40
+ /**
41
+ * HTTP 400 Bad Request error.
42
+ */
43
+ export class BadRequestError extends AeroError {
44
+ /**
45
+ * Creates a BadRequestError.
46
+ *
47
+ * @param message - Error message (defaults to 'Bad Request').
48
+ * @param code - Error code (defaults to 'BAD_REQUEST').
49
+ * @param details - Optional details.
50
+ */
51
+ constructor(message = 'Bad Request', code = 'BAD_REQUEST', details) {
52
+ super(message, 400, code, details);
53
+ this.name = 'BadRequestError';
54
+ }
55
+ }
56
+ /**
57
+ * HTTP 401 Unauthorized error.
58
+ */
59
+ export class UnauthorizedError extends AeroError {
60
+ /**
61
+ * Creates an UnauthorizedError.
62
+ *
63
+ * @param message - Error message (defaults to 'Unauthorized').
64
+ * @param code - Error code (defaults to 'UNAUTHORIZED').
65
+ * @param details - Optional details.
66
+ */
67
+ constructor(message = 'Unauthorized', code = 'UNAUTHORIZED', details) {
68
+ super(message, 401, code, details);
69
+ this.name = 'UnauthorizedError';
70
+ }
71
+ }
72
+ /**
73
+ * HTTP 403 Forbidden error.
74
+ */
75
+ export class ForbiddenError extends AeroError {
76
+ /**
77
+ * Creates a ForbiddenError.
78
+ *
79
+ * @param message - Error message (defaults to 'Forbidden').
80
+ * @param code - Error code (defaults to 'FORBIDDEN').
81
+ * @param details - Optional details.
82
+ */
83
+ constructor(message = 'Forbidden', code = 'FORBIDDEN', details) {
84
+ super(message, 403, code, details);
85
+ this.name = 'ForbiddenError';
86
+ }
87
+ }
88
+ /**
89
+ * HTTP 404 Not Found error.
90
+ */
91
+ export class NotFoundError extends AeroError {
92
+ /**
93
+ * Creates a NotFoundError.
94
+ *
95
+ * @param message - Error message (defaults to 'Not Found').
96
+ * @param code - Error code (defaults to 'NOT_FOUND').
97
+ * @param details - Optional details.
98
+ */
99
+ constructor(message = 'Not Found', code = 'NOT_FOUND', details) {
100
+ super(message, 404, code, details);
101
+ this.name = 'NotFoundError';
102
+ }
103
+ }
104
+ /**
105
+ * HTTP 405 Method Not Allowed error.
106
+ */
107
+ export class MethodNotAllowedError extends AeroError {
108
+ /**
109
+ * Array of allowed HTTP methods for the requested path.
110
+ */
111
+ allowedMethods;
112
+ /**
113
+ * Creates a MethodNotAllowedError.
114
+ *
115
+ * @param message - Error message (defaults to 'Method Not Allowed').
116
+ * @param allowedMethods - List of allowed HTTP methods.
117
+ * @param code - Error code (defaults to 'METHOD_NOT_ALLOWED').
118
+ */
119
+ constructor(message = 'Method Not Allowed', allowedMethods = [], code = 'METHOD_NOT_ALLOWED') {
120
+ super(message, 405, code, { allowed: allowedMethods });
121
+ this.name = 'MethodNotAllowedError';
122
+ this.allowedMethods = allowedMethods;
123
+ }
124
+ }
125
+ /**
126
+ * HTTP 413 Payload Too Large error.
127
+ */
128
+ export class PayloadTooLargeError extends AeroError {
129
+ /**
130
+ * Creates a PayloadTooLargeError.
131
+ *
132
+ * @param message - Error message (defaults to 'Payload Too Large').
133
+ * @param code - Error code (defaults to 'PAYLOAD_TOO_LARGE').
134
+ * @param details - Optional details.
135
+ */
136
+ constructor(message = 'Payload Too Large', code = 'PAYLOAD_TOO_LARGE', details) {
137
+ super(message, 413, code, details);
138
+ this.name = 'PayloadTooLargeError';
139
+ }
140
+ }
141
+ /**
142
+ * HTTP 415 Unsupported Media Type error.
143
+ */
144
+ export class UnsupportedMediaTypeError extends AeroError {
145
+ /**
146
+ * Creates an UnsupportedMediaTypeError.
147
+ *
148
+ * @param message - Error message (defaults to 'Unsupported Media Type').
149
+ * @param code - Error code (defaults to 'UNSUPPORTED_MEDIA_TYPE').
150
+ * @param details - Optional details.
151
+ */
152
+ constructor(message = 'Unsupported Media Type', code = 'UNSUPPORTED_MEDIA_TYPE', details) {
153
+ super(message, 415, code, details);
154
+ this.name = 'UnsupportedMediaTypeError';
155
+ }
156
+ }
157
+ /**
158
+ * HTTP 500 Internal Server Error.
159
+ */
160
+ export class InternalError extends AeroError {
161
+ /**
162
+ * Creates an InternalError.
163
+ *
164
+ * @param message - Error message (defaults to 'Internal Server Error').
165
+ * @param code - Error code (defaults to 'INTERNAL_SERVER_ERROR').
166
+ * @param details - Optional details.
167
+ */
168
+ constructor(message = 'Internal Server Error', code = 'INTERNAL_SERVER_ERROR', details) {
169
+ super(message, 500, code, details);
170
+ this.name = 'InternalError';
171
+ }
172
+ }
173
+ //# sourceMappingURL=errors.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"errors.js","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,178 @@
1
+ /**
2
+ * @file event-bus.ts
3
+ * @description Domain Event Bus for AeroJS.
4
+ * Implements the Reactive Event Bus pattern from Architecture Section 2.
5
+ *
6
+ * Hospital domain events flow:
7
+ * PaymentReceived → PostToGeneralLedgerListener, PrintReceiptListener
8
+ * LabResultReady → SendLabResultSmsListener, NotifyDoctorListener
9
+ * PatientAdmitted → AllocateBedListener, CreateEncounterListener
10
+ * CodeBlueTriggered → BroadcastSosListener, LogResponseTimeListener
11
+ * ShiftClosed → ReconcileCashDrawerListener, GenerateShiftReportListener
12
+ */
13
+ export declare abstract class DomainEvent {
14
+ readonly occurredAt: Date;
15
+ readonly eventId: string;
16
+ constructor();
17
+ /**
18
+ * Override to return the event name used for listener registration.
19
+ * Default: class name, e.g. "LabResultReadyEvent"
20
+ */
21
+ eventName(): string;
22
+ }
23
+ export interface EventListener<T extends DomainEvent = DomainEvent> {
24
+ handle(event: T): Promise<void> | void;
25
+ }
26
+ export type EventListenerFn<T extends DomainEvent = DomainEvent> = (event: T) => Promise<void> | void;
27
+ export type ListenerOrFn<T extends DomainEvent> = EventListener<T> | EventListenerFn<T>;
28
+ export declare class EventBus {
29
+ private listeners;
30
+ private onceListeners;
31
+ /**
32
+ * Register a permanent listener for an event.
33
+ *
34
+ * @example
35
+ * EventBus.on('LabResultReadyEvent', SendLabResultSmsListener);
36
+ * EventBus.on('PaymentReceivedEvent', async (event) => { ... });
37
+ */
38
+ on<T extends DomainEvent>(eventNameOrClass: string | (new (...args: any[]) => T), listener: ListenerOrFn<T>): this;
39
+ /**
40
+ * Register a one-time listener (removed after first dispatch).
41
+ */
42
+ once<T extends DomainEvent>(eventNameOrClass: string | (new (...args: any[]) => T), listener: ListenerOrFn<T>): this;
43
+ /**
44
+ * Remove a listener.
45
+ */
46
+ off<T extends DomainEvent>(eventNameOrClass: string | (new (...args: any[]) => T), listener: ListenerOrFn<T>): this;
47
+ /**
48
+ * Dispatches an event to all registered listeners.
49
+ * Listeners run in registration order. Errors are caught per-listener.
50
+ *
51
+ * @example
52
+ * await EventBus.emit(new LabResultReadyEvent({ encounterId, testId, isPanic: true }));
53
+ */
54
+ emit<T extends DomainEvent>(event: T): Promise<void>;
55
+ /**
56
+ * Dispatches an event asynchronously in the background (fire-and-forget).
57
+ * The current request does not wait for listeners to complete.
58
+ *
59
+ * Hospital use: After saving a payment, fire PostToGeneralLedgerEvent in background.
60
+ */
61
+ emitAsync<T extends DomainEvent>(event: T): void;
62
+ /**
63
+ * Remove all listeners for a specific event (useful in tests).
64
+ */
65
+ removeAllListeners(eventName?: string): this;
66
+ /**
67
+ * Returns the count of registered listeners for an event.
68
+ */
69
+ listenerCount(eventName: string): number;
70
+ }
71
+ export declare const Events: EventBus;
72
+ /** Fired when a patient is registered or re-admitted. */
73
+ export declare class PatientAdmittedEvent extends DomainEvent {
74
+ readonly data: {
75
+ patientId: string | number;
76
+ encounterId: string | number;
77
+ bedId?: string | number;
78
+ wardId?: string | number;
79
+ admittedBy: string | number;
80
+ };
81
+ constructor(data: {
82
+ patientId: string | number;
83
+ encounterId: string | number;
84
+ bedId?: string | number;
85
+ wardId?: string | number;
86
+ admittedBy: string | number;
87
+ });
88
+ }
89
+ /** Fired when a lab result is finalized and signed by pathologist. */
90
+ export declare class LabResultReadyEvent extends DomainEvent {
91
+ readonly data: {
92
+ encounterId: string | number;
93
+ testId: string | number;
94
+ patientPhone?: string;
95
+ isPanic: boolean;
96
+ doctorId?: string | number;
97
+ };
98
+ constructor(data: {
99
+ encounterId: string | number;
100
+ testId: string | number;
101
+ patientPhone?: string;
102
+ isPanic: boolean;
103
+ doctorId?: string | number;
104
+ });
105
+ }
106
+ /** Fired when a cash payment is received at any counter. */
107
+ export declare class PaymentReceivedEvent extends DomainEvent {
108
+ readonly data: {
109
+ invoiceId: string | number;
110
+ amount: number;
111
+ cashierId: string | number;
112
+ terminalId: string | number;
113
+ shiftSessionId: string | number;
114
+ paymentMethod: 'cash' | 'card' | 'mobile_banking' | 'corporate';
115
+ };
116
+ constructor(data: {
117
+ invoiceId: string | number;
118
+ amount: number;
119
+ cashierId: string | number;
120
+ terminalId: string | number;
121
+ shiftSessionId: string | number;
122
+ paymentMethod: 'cash' | 'card' | 'mobile_banking' | 'corporate';
123
+ });
124
+ }
125
+ /** Fired when a Code Blue emergency is triggered at any bed/floor. */
126
+ export declare class CodeBlueTriggeredEvent extends DomainEvent {
127
+ readonly data: {
128
+ bedId: string | number;
129
+ floorId: string | number;
130
+ wardId: string | number;
131
+ triggeredBy: string | number;
132
+ patientId?: string | number;
133
+ };
134
+ constructor(data: {
135
+ bedId: string | number;
136
+ floorId: string | number;
137
+ wardId: string | number;
138
+ triggeredBy: string | number;
139
+ patientId?: string | number;
140
+ });
141
+ }
142
+ /** Fired when a cashier closes their shift. */
143
+ export declare class ShiftClosedEvent extends DomainEvent {
144
+ readonly data: {
145
+ shiftSessionId: string | number;
146
+ cashierId: string | number;
147
+ terminalId: string | number;
148
+ physicalCash: number;
149
+ systemExpected: number;
150
+ discrepancy: number;
151
+ };
152
+ constructor(data: {
153
+ shiftSessionId: string | number;
154
+ cashierId: string | number;
155
+ terminalId: string | number;
156
+ physicalCash: number;
157
+ systemExpected: number;
158
+ discrepancy: number;
159
+ });
160
+ }
161
+ /** Fired when a stock item falls below reorder level. */
162
+ export declare class LowStockAlertEvent extends DomainEvent {
163
+ readonly data: {
164
+ itemId: string | number;
165
+ itemName: string;
166
+ storeId: string | number;
167
+ currentQty: number;
168
+ reorderLevel: number;
169
+ };
170
+ constructor(data: {
171
+ itemId: string | number;
172
+ itemName: string;
173
+ storeId: string | number;
174
+ currentQty: number;
175
+ reorderLevel: number;
176
+ });
177
+ }
178
+ //# sourceMappingURL=event-bus.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"event-bus.d.ts","sourceRoot":"","sources":["../../src/events/event-bus.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,182 @@
1
+ /**
2
+ * @file event-bus.ts
3
+ * @description Domain Event Bus for AeroJS.
4
+ * Implements the Reactive Event Bus pattern from Architecture Section 2.
5
+ *
6
+ * Hospital domain events flow:
7
+ * PaymentReceived → PostToGeneralLedgerListener, PrintReceiptListener
8
+ * LabResultReady → SendLabResultSmsListener, NotifyDoctorListener
9
+ * PatientAdmitted → AllocateBedListener, CreateEncounterListener
10
+ * CodeBlueTriggered → BroadcastSosListener, LogResponseTimeListener
11
+ * ShiftClosed → ReconcileCashDrawerListener, GenerateShiftReportListener
12
+ */
13
+ // ─── Base Event ───────────────────────────────────────────────────────────────
14
+ export class DomainEvent {
15
+ occurredAt = new Date();
16
+ eventId;
17
+ constructor() {
18
+ this.eventId = `${Date.now()}-${Math.random().toString(36).slice(2, 9)}`;
19
+ }
20
+ /**
21
+ * Override to return the event name used for listener registration.
22
+ * Default: class name, e.g. "LabResultReadyEvent"
23
+ */
24
+ eventName() {
25
+ return this.constructor.name;
26
+ }
27
+ }
28
+ // ─── Event Bus ────────────────────────────────────────────────────────────────
29
+ export class EventBus {
30
+ listeners = new Map();
31
+ onceListeners = new Map();
32
+ /**
33
+ * Register a permanent listener for an event.
34
+ *
35
+ * @example
36
+ * EventBus.on('LabResultReadyEvent', SendLabResultSmsListener);
37
+ * EventBus.on('PaymentReceivedEvent', async (event) => { ... });
38
+ */
39
+ on(eventNameOrClass, listener) {
40
+ const name = typeof eventNameOrClass === 'string' ? eventNameOrClass : eventNameOrClass.name;
41
+ if (!this.listeners.has(name))
42
+ this.listeners.set(name, []);
43
+ this.listeners.get(name).push(listener);
44
+ return this;
45
+ }
46
+ /**
47
+ * Register a one-time listener (removed after first dispatch).
48
+ */
49
+ once(eventNameOrClass, listener) {
50
+ const name = typeof eventNameOrClass === 'string' ? eventNameOrClass : eventNameOrClass.name;
51
+ if (!this.onceListeners.has(name))
52
+ this.onceListeners.set(name, []);
53
+ this.onceListeners.get(name).push(listener);
54
+ return this;
55
+ }
56
+ /**
57
+ * Remove a listener.
58
+ */
59
+ off(eventNameOrClass, listener) {
60
+ const name = typeof eventNameOrClass === 'string' ? eventNameOrClass : eventNameOrClass.name;
61
+ const list = this.listeners.get(name);
62
+ if (list) {
63
+ this.listeners.set(name, list.filter((l) => l !== listener));
64
+ }
65
+ return this;
66
+ }
67
+ /**
68
+ * Dispatches an event to all registered listeners.
69
+ * Listeners run in registration order. Errors are caught per-listener.
70
+ *
71
+ * @example
72
+ * await EventBus.emit(new LabResultReadyEvent({ encounterId, testId, isPanic: true }));
73
+ */
74
+ async emit(event) {
75
+ const name = event.eventName();
76
+ const allListeners = [
77
+ ...(this.listeners.get(name) ?? []),
78
+ ];
79
+ // Fire-and-forget once listeners
80
+ const onceList = this.onceListeners.get(name) ?? [];
81
+ this.onceListeners.delete(name);
82
+ allListeners.push(...onceList);
83
+ for (const listener of allListeners) {
84
+ try {
85
+ if (typeof listener === 'function') {
86
+ await listener(event);
87
+ }
88
+ else {
89
+ await listener.handle(event);
90
+ }
91
+ }
92
+ catch (err) {
93
+ console.error(`[AeroJS EventBus] Listener for "${name}" threw an error:`, err);
94
+ }
95
+ }
96
+ }
97
+ /**
98
+ * Dispatches an event asynchronously in the background (fire-and-forget).
99
+ * The current request does not wait for listeners to complete.
100
+ *
101
+ * Hospital use: After saving a payment, fire PostToGeneralLedgerEvent in background.
102
+ */
103
+ emitAsync(event) {
104
+ setImmediate(() => {
105
+ this.emit(event).catch((err) => {
106
+ console.error(`[AeroJS EventBus] Async emit error for "${event.eventName()}":`, err);
107
+ });
108
+ });
109
+ }
110
+ /**
111
+ * Remove all listeners for a specific event (useful in tests).
112
+ */
113
+ removeAllListeners(eventName) {
114
+ if (eventName) {
115
+ this.listeners.delete(eventName);
116
+ this.onceListeners.delete(eventName);
117
+ }
118
+ else {
119
+ this.listeners.clear();
120
+ this.onceListeners.clear();
121
+ }
122
+ return this;
123
+ }
124
+ /**
125
+ * Returns the count of registered listeners for an event.
126
+ */
127
+ listenerCount(eventName) {
128
+ return (this.listeners.get(eventName) ?? []).length;
129
+ }
130
+ }
131
+ // ─── Singleton EventBus ───────────────────────────────────────────────────────
132
+ export const Events = new EventBus();
133
+ // ─── Hospital Domain Events ───────────────────────────────────────────────────
134
+ /** Fired when a patient is registered or re-admitted. */
135
+ export class PatientAdmittedEvent extends DomainEvent {
136
+ data;
137
+ constructor(data) {
138
+ super();
139
+ this.data = data;
140
+ }
141
+ }
142
+ /** Fired when a lab result is finalized and signed by pathologist. */
143
+ export class LabResultReadyEvent extends DomainEvent {
144
+ data;
145
+ constructor(data) {
146
+ super();
147
+ this.data = data;
148
+ }
149
+ }
150
+ /** Fired when a cash payment is received at any counter. */
151
+ export class PaymentReceivedEvent extends DomainEvent {
152
+ data;
153
+ constructor(data) {
154
+ super();
155
+ this.data = data;
156
+ }
157
+ }
158
+ /** Fired when a Code Blue emergency is triggered at any bed/floor. */
159
+ export class CodeBlueTriggeredEvent extends DomainEvent {
160
+ data;
161
+ constructor(data) {
162
+ super();
163
+ this.data = data;
164
+ }
165
+ }
166
+ /** Fired when a cashier closes their shift. */
167
+ export class ShiftClosedEvent extends DomainEvent {
168
+ data;
169
+ constructor(data) {
170
+ super();
171
+ this.data = data;
172
+ }
173
+ }
174
+ /** Fired when a stock item falls below reorder level. */
175
+ export class LowStockAlertEvent extends DomainEvent {
176
+ data;
177
+ constructor(data) {
178
+ super();
179
+ this.data = data;
180
+ }
181
+ }
182
+ //# sourceMappingURL=event-bus.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"event-bus.js","sourceRoot":"","sources":["../../src/events/event-bus.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,48 @@
1
+ /**
2
+ * @file adapter.ts
3
+ * @description Active Record Model to GraphQL Schema Adapter.
4
+ */
5
+ import { GraphQLObjectType, GraphQLList, GraphQLNonNull } from './types.js';
6
+ export declare function createModelGraphQLType(ModelClass: any): GraphQLObjectType;
7
+ /**
8
+ * Generates standard CRUD Query and Mutation fields for a given Model.
9
+ */
10
+ export declare function generateCRUDFields(ModelClass: any, type: GraphQLObjectType): {
11
+ queries: {
12
+ [x: string]: {
13
+ type: GraphQLList;
14
+ resolve: () => Promise<any>;
15
+ };
16
+ [x: number]: {
17
+ type: GraphQLObjectType;
18
+ args: {
19
+ id: {
20
+ type: GraphQLNonNull;
21
+ };
22
+ };
23
+ resolve: (_: any, args: any) => Promise<any>;
24
+ };
25
+ };
26
+ mutations: {
27
+ [x: string]: {
28
+ type: GraphQLObjectType;
29
+ args: {
30
+ data: {
31
+ type: import("./types.js").GraphQLScalarType;
32
+ };
33
+ id?: undefined;
34
+ };
35
+ resolve: (_: any, args: any) => Promise<any>;
36
+ } | {
37
+ type: import("./types.js").GraphQLScalarType;
38
+ args: {
39
+ id: {
40
+ type: GraphQLNonNull;
41
+ };
42
+ data?: undefined;
43
+ };
44
+ resolve: (_: any, args: any) => Promise<boolean>;
45
+ };
46
+ };
47
+ };
48
+ //# sourceMappingURL=adapter.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"adapter.d.ts","sourceRoot":"","sources":["../../src/graphql/adapter.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EACL,iBAAiB,EAMjB,WAAW,EACX,cAAc,EACf,MAAM,YAAY,CAAC;AAEpB,wBAAgB,sBAAsB,CAAC,UAAU,EAAE,GAAG,GAAG,iBAAiB,CAiDzE;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,UAAU,EAAE,GAAG,EAAE,IAAI,EAAE,iBAAiB;;;;;;;;;;;;;yBAgBhD,GAAG,QAAQ,GAAG;;;;;;;;;;;;yBAYd,GAAG,QAAQ,GAAG;;;;;;;;;yBAWd,GAAG,QAAQ,GAAG;;;EAWxC"}