@morojs/moro 1.0.0 → 1.0.1

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 (284) hide show
  1. package/README.md +1 -1
  2. package/dist/core/config/index.d.ts +5 -5
  3. package/dist/core/config/index.js +1 -1
  4. package/dist/core/config/index.js.map +1 -1
  5. package/dist/core/config/loader.d.ts +1 -1
  6. package/dist/core/config/loader.js +58 -82
  7. package/dist/core/config/loader.js.map +1 -1
  8. package/dist/core/config/schema.d.ts +1 -1
  9. package/dist/core/config/schema.js +52 -111
  10. package/dist/core/config/schema.js.map +1 -1
  11. package/dist/core/config/utils.d.ts +2 -2
  12. package/dist/core/config/utils.js +18 -18
  13. package/dist/core/config/utils.js.map +1 -1
  14. package/dist/core/database/adapters/drizzle.d.ts +1 -1
  15. package/dist/core/database/adapters/drizzle.js +39 -55
  16. package/dist/core/database/adapters/drizzle.js.map +1 -1
  17. package/dist/core/database/adapters/index.d.ts +7 -7
  18. package/dist/core/database/adapters/index.js +11 -11
  19. package/dist/core/database/adapters/index.js.map +1 -1
  20. package/dist/core/database/adapters/mongodb.d.ts +1 -1
  21. package/dist/core/database/adapters/mongodb.js +19 -23
  22. package/dist/core/database/adapters/mongodb.js.map +1 -1
  23. package/dist/core/database/adapters/mysql.d.ts +1 -1
  24. package/dist/core/database/adapters/mysql.js +31 -27
  25. package/dist/core/database/adapters/mysql.js.map +1 -1
  26. package/dist/core/database/adapters/postgresql.d.ts +1 -1
  27. package/dist/core/database/adapters/postgresql.js +27 -35
  28. package/dist/core/database/adapters/postgresql.js.map +1 -1
  29. package/dist/core/database/adapters/redis.d.ts +1 -1
  30. package/dist/core/database/adapters/redis.js +24 -24
  31. package/dist/core/database/adapters/redis.js.map +1 -1
  32. package/dist/core/database/adapters/sqlite.d.ts +1 -1
  33. package/dist/core/database/adapters/sqlite.js +36 -36
  34. package/dist/core/database/adapters/sqlite.js.map +1 -1
  35. package/dist/core/database/index.d.ts +2 -2
  36. package/dist/core/docs/index.d.ts +7 -7
  37. package/dist/core/docs/index.js +13 -15
  38. package/dist/core/docs/index.js.map +1 -1
  39. package/dist/core/docs/openapi-generator.d.ts +5 -5
  40. package/dist/core/docs/openapi-generator.js +93 -94
  41. package/dist/core/docs/openapi-generator.js.map +1 -1
  42. package/dist/core/docs/simple-docs.d.ts +1 -1
  43. package/dist/core/docs/simple-docs.js +25 -28
  44. package/dist/core/docs/simple-docs.js.map +1 -1
  45. package/dist/core/docs/swagger-ui.d.ts +2 -2
  46. package/dist/core/docs/swagger-ui.js +46 -51
  47. package/dist/core/docs/swagger-ui.js.map +1 -1
  48. package/dist/core/docs/zod-to-openapi.d.ts +1 -1
  49. package/dist/core/docs/zod-to-openapi.js +115 -125
  50. package/dist/core/docs/zod-to-openapi.js.map +1 -1
  51. package/dist/core/events/event-bus.d.ts +1 -1
  52. package/dist/core/events/event-bus.js +15 -21
  53. package/dist/core/events/event-bus.js.map +1 -1
  54. package/dist/core/events/index.d.ts +2 -2
  55. package/dist/core/framework.d.ts +5 -5
  56. package/dist/core/framework.js +55 -60
  57. package/dist/core/framework.js.map +1 -1
  58. package/dist/core/http/http-server.d.ts +2 -2
  59. package/dist/core/http/http-server.js +228 -261
  60. package/dist/core/http/http-server.js.map +1 -1
  61. package/dist/core/http/index.d.ts +3 -3
  62. package/dist/core/http/router.d.ts +1 -1
  63. package/dist/core/http/router.js +15 -17
  64. package/dist/core/http/router.js.map +1 -1
  65. package/dist/core/logger/filters.d.ts +1 -1
  66. package/dist/core/logger/filters.js +16 -16
  67. package/dist/core/logger/filters.js.map +1 -1
  68. package/dist/core/logger/index.d.ts +3 -3
  69. package/dist/core/logger/logger.d.ts +1 -1
  70. package/dist/core/logger/logger.js +48 -59
  71. package/dist/core/logger/logger.js.map +1 -1
  72. package/dist/core/logger/outputs.d.ts +4 -4
  73. package/dist/core/logger/outputs.js +16 -20
  74. package/dist/core/logger/outputs.js.map +1 -1
  75. package/dist/core/middleware/built-in/adapters/cache/file.d.ts +1 -1
  76. package/dist/core/middleware/built-in/adapters/cache/file.js +19 -19
  77. package/dist/core/middleware/built-in/adapters/cache/file.js.map +1 -1
  78. package/dist/core/middleware/built-in/adapters/cache/index.d.ts +4 -4
  79. package/dist/core/middleware/built-in/adapters/cache/index.js +3 -3
  80. package/dist/core/middleware/built-in/adapters/cache/index.js.map +1 -1
  81. package/dist/core/middleware/built-in/adapters/cache/memory.d.ts +1 -1
  82. package/dist/core/middleware/built-in/adapters/cache/memory.js +5 -5
  83. package/dist/core/middleware/built-in/adapters/cache/memory.js.map +1 -1
  84. package/dist/core/middleware/built-in/adapters/cache/redis.d.ts +1 -1
  85. package/dist/core/middleware/built-in/adapters/cache/redis.js +18 -18
  86. package/dist/core/middleware/built-in/adapters/cache/redis.js.map +1 -1
  87. package/dist/core/middleware/built-in/adapters/cdn/azure.d.ts +1 -1
  88. package/dist/core/middleware/built-in/adapters/cdn/azure.js +8 -8
  89. package/dist/core/middleware/built-in/adapters/cdn/azure.js.map +1 -1
  90. package/dist/core/middleware/built-in/adapters/cdn/cloudflare.d.ts +1 -1
  91. package/dist/core/middleware/built-in/adapters/cdn/cloudflare.js +14 -14
  92. package/dist/core/middleware/built-in/adapters/cdn/cloudflare.js.map +1 -1
  93. package/dist/core/middleware/built-in/adapters/cdn/cloudfront.d.ts +1 -1
  94. package/dist/core/middleware/built-in/adapters/cdn/cloudfront.js +13 -15
  95. package/dist/core/middleware/built-in/adapters/cdn/cloudfront.js.map +1 -1
  96. package/dist/core/middleware/built-in/adapters/cdn/index.d.ts +4 -4
  97. package/dist/core/middleware/built-in/adapters/cdn/index.js +3 -3
  98. package/dist/core/middleware/built-in/adapters/index.d.ts +4 -4
  99. package/dist/core/middleware/built-in/auth.d.ts +1 -1
  100. package/dist/core/middleware/built-in/auth.js +14 -14
  101. package/dist/core/middleware/built-in/cache.d.ts +2 -2
  102. package/dist/core/middleware/built-in/cache.js +43 -45
  103. package/dist/core/middleware/built-in/cache.js.map +1 -1
  104. package/dist/core/middleware/built-in/cdn.d.ts +2 -2
  105. package/dist/core/middleware/built-in/cdn.js +27 -29
  106. package/dist/core/middleware/built-in/cdn.js.map +1 -1
  107. package/dist/core/middleware/built-in/cookie.d.ts +2 -2
  108. package/dist/core/middleware/built-in/cookie.js +17 -17
  109. package/dist/core/middleware/built-in/cookie.js.map +1 -1
  110. package/dist/core/middleware/built-in/cors.d.ts +1 -1
  111. package/dist/core/middleware/built-in/cors.js +13 -13
  112. package/dist/core/middleware/built-in/csp.d.ts +1 -1
  113. package/dist/core/middleware/built-in/csp.js +22 -25
  114. package/dist/core/middleware/built-in/csp.js.map +1 -1
  115. package/dist/core/middleware/built-in/csrf.d.ts +1 -1
  116. package/dist/core/middleware/built-in/csrf.js +21 -24
  117. package/dist/core/middleware/built-in/csrf.js.map +1 -1
  118. package/dist/core/middleware/built-in/error-tracker.js +2 -2
  119. package/dist/core/middleware/built-in/index.d.ts +14 -14
  120. package/dist/core/middleware/built-in/performance-monitor.js +2 -2
  121. package/dist/core/middleware/built-in/rate-limit.d.ts +1 -1
  122. package/dist/core/middleware/built-in/rate-limit.js +12 -12
  123. package/dist/core/middleware/built-in/request-logger.js.map +1 -1
  124. package/dist/core/middleware/built-in/session.d.ts +5 -5
  125. package/dist/core/middleware/built-in/session.js +35 -38
  126. package/dist/core/middleware/built-in/session.js.map +1 -1
  127. package/dist/core/middleware/built-in/sse.d.ts +1 -1
  128. package/dist/core/middleware/built-in/sse.js +20 -22
  129. package/dist/core/middleware/built-in/sse.js.map +1 -1
  130. package/dist/core/middleware/built-in/validation.d.ts +1 -1
  131. package/dist/core/middleware/built-in/validation.js +13 -13
  132. package/dist/core/middleware/index.d.ts +5 -5
  133. package/dist/core/middleware/index.js +16 -16
  134. package/dist/core/middleware/index.js.map +1 -1
  135. package/dist/core/modules/auto-discovery.d.ts +2 -2
  136. package/dist/core/modules/auto-discovery.js +12 -13
  137. package/dist/core/modules/auto-discovery.js.map +1 -1
  138. package/dist/core/modules/index.d.ts +2 -2
  139. package/dist/core/modules/index.js.map +1 -1
  140. package/dist/core/modules/modules.d.ts +3 -3
  141. package/dist/core/modules/modules.js +3 -6
  142. package/dist/core/modules/modules.js.map +1 -1
  143. package/dist/core/networking/index.d.ts +2 -2
  144. package/dist/core/networking/index.js.map +1 -1
  145. package/dist/core/networking/service-discovery.d.ts +2 -2
  146. package/dist/core/networking/service-discovery.js +27 -27
  147. package/dist/core/networking/service-discovery.js.map +1 -1
  148. package/dist/core/networking/websocket-manager.d.ts +3 -3
  149. package/dist/core/networking/websocket-manager.js +15 -16
  150. package/dist/core/networking/websocket-manager.js.map +1 -1
  151. package/dist/core/routing/app-integration.d.ts +2 -2
  152. package/dist/core/routing/app-integration.js +13 -13
  153. package/dist/core/routing/app-integration.js.map +1 -1
  154. package/dist/core/routing/index.d.ts +3 -3
  155. package/dist/core/routing/index.js +43 -52
  156. package/dist/core/routing/index.js.map +1 -1
  157. package/dist/core/runtime/aws-lambda-adapter.d.ts +3 -3
  158. package/dist/core/runtime/aws-lambda-adapter.js +14 -16
  159. package/dist/core/runtime/aws-lambda-adapter.js.map +1 -1
  160. package/dist/core/runtime/base-adapter.d.ts +2 -2
  161. package/dist/core/runtime/base-adapter.js +11 -12
  162. package/dist/core/runtime/base-adapter.js.map +1 -1
  163. package/dist/core/runtime/cloudflare-workers-adapter.d.ts +3 -3
  164. package/dist/core/runtime/cloudflare-workers-adapter.js +20 -21
  165. package/dist/core/runtime/cloudflare-workers-adapter.js.map +1 -1
  166. package/dist/core/runtime/index.d.ts +9 -9
  167. package/dist/core/runtime/index.js +4 -4
  168. package/dist/core/runtime/index.js.map +1 -1
  169. package/dist/core/runtime/node-adapter.d.ts +5 -5
  170. package/dist/core/runtime/node-adapter.js +35 -35
  171. package/dist/core/runtime/node-adapter.js.map +1 -1
  172. package/dist/core/runtime/vercel-edge-adapter.d.ts +3 -3
  173. package/dist/core/runtime/vercel-edge-adapter.js +12 -15
  174. package/dist/core/runtime/vercel-edge-adapter.js.map +1 -1
  175. package/dist/core/utilities/circuit-breaker.js +6 -6
  176. package/dist/core/utilities/container.d.ts +1 -1
  177. package/dist/core/utilities/container.js +17 -22
  178. package/dist/core/utilities/container.js.map +1 -1
  179. package/dist/core/utilities/hooks.d.ts +3 -3
  180. package/dist/core/utilities/hooks.js +11 -11
  181. package/dist/core/utilities/hooks.js.map +1 -1
  182. package/dist/core/utilities/index.d.ts +4 -4
  183. package/dist/core/validation/index.d.ts +3 -3
  184. package/dist/core/validation/index.js +15 -15
  185. package/dist/core/validation/index.js.map +1 -1
  186. package/dist/index.d.ts +31 -30
  187. package/dist/index.js +28 -1
  188. package/dist/index.js.map +1 -1
  189. package/dist/moro.d.ts +14 -14
  190. package/dist/moro.js +79 -88
  191. package/dist/moro.js.map +1 -1
  192. package/dist/types/cache.d.ts +1 -1
  193. package/dist/types/core.d.ts +2 -2
  194. package/dist/types/events.d.ts +19 -19
  195. package/dist/types/hooks.d.ts +1 -1
  196. package/dist/types/http.d.ts +2 -2
  197. package/dist/types/logger.d.ts +3 -3
  198. package/dist/types/module.d.ts +2 -2
  199. package/dist/types/runtime.d.ts +2 -2
  200. package/dist/types/session.d.ts +4 -4
  201. package/package.json +180 -164
  202. package/src/core/config/index.ts +7 -9
  203. package/src/core/config/loader.ts +86 -158
  204. package/src/core/config/schema.ts +59 -122
  205. package/src/core/config/utils.ts +27 -45
  206. package/src/core/database/adapters/drizzle.ts +53 -75
  207. package/src/core/database/adapters/index.ts +26 -29
  208. package/src/core/database/adapters/mongodb.ts +31 -54
  209. package/src/core/database/adapters/mysql.ts +40 -50
  210. package/src/core/database/adapters/postgresql.ts +32 -42
  211. package/src/core/database/adapters/redis.ts +31 -36
  212. package/src/core/database/adapters/sqlite.ts +43 -51
  213. package/src/core/database/index.ts +2 -2
  214. package/src/core/docs/index.ts +25 -39
  215. package/src/core/docs/openapi-generator.ts +104 -117
  216. package/src/core/docs/simple-docs.ts +29 -39
  217. package/src/core/docs/swagger-ui.ts +57 -76
  218. package/src/core/docs/zod-to-openapi.ts +121 -153
  219. package/src/core/events/event-bus.ts +22 -45
  220. package/src/core/events/index.ts +2 -2
  221. package/src/core/framework.ts +119 -197
  222. package/src/core/http/http-server.ts +260 -360
  223. package/src/core/http/index.ts +3 -8
  224. package/src/core/http/router.ts +19 -31
  225. package/src/core/logger/filters.ts +19 -22
  226. package/src/core/logger/index.ts +3 -3
  227. package/src/core/logger/logger.ts +59 -100
  228. package/src/core/logger/outputs.ts +23 -27
  229. package/src/core/middleware/built-in/adapters/cache/file.ts +21 -23
  230. package/src/core/middleware/built-in/adapters/cache/index.ts +11 -14
  231. package/src/core/middleware/built-in/adapters/cache/memory.ts +7 -7
  232. package/src/core/middleware/built-in/adapters/cache/redis.ts +21 -24
  233. package/src/core/middleware/built-in/adapters/cdn/azure.ts +10 -18
  234. package/src/core/middleware/built-in/adapters/cdn/cloudflare.ts +19 -36
  235. package/src/core/middleware/built-in/adapters/cdn/cloudfront.ts +17 -26
  236. package/src/core/middleware/built-in/adapters/cdn/index.ts +10 -10
  237. package/src/core/middleware/built-in/adapters/index.ts +4 -4
  238. package/src/core/middleware/built-in/auth.ts +16 -16
  239. package/src/core/middleware/built-in/cache.ts +50 -67
  240. package/src/core/middleware/built-in/cdn.ts +34 -61
  241. package/src/core/middleware/built-in/cookie.ts +23 -28
  242. package/src/core/middleware/built-in/cors.ts +17 -17
  243. package/src/core/middleware/built-in/csp.ts +25 -31
  244. package/src/core/middleware/built-in/csrf.ts +24 -29
  245. package/src/core/middleware/built-in/error-tracker.ts +3 -3
  246. package/src/core/middleware/built-in/index.ts +28 -28
  247. package/src/core/middleware/built-in/performance-monitor.ts +4 -4
  248. package/src/core/middleware/built-in/rate-limit.ts +15 -15
  249. package/src/core/middleware/built-in/request-logger.ts +1 -3
  250. package/src/core/middleware/built-in/session.ts +47 -70
  251. package/src/core/middleware/built-in/sse.ts +23 -28
  252. package/src/core/middleware/built-in/validation.ts +15 -15
  253. package/src/core/middleware/index.ts +26 -37
  254. package/src/core/modules/auto-discovery.ts +21 -31
  255. package/src/core/modules/index.ts +2 -5
  256. package/src/core/modules/modules.ts +11 -20
  257. package/src/core/networking/index.ts +2 -6
  258. package/src/core/networking/service-discovery.ts +41 -61
  259. package/src/core/networking/websocket-manager.ts +27 -36
  260. package/src/core/routing/app-integration.ts +19 -32
  261. package/src/core/routing/index.ts +57 -88
  262. package/src/core/runtime/aws-lambda-adapter.ts +20 -30
  263. package/src/core/runtime/base-adapter.ts +17 -27
  264. package/src/core/runtime/cloudflare-workers-adapter.ts +28 -42
  265. package/src/core/runtime/index.ts +21 -33
  266. package/src/core/runtime/node-adapter.ts +59 -73
  267. package/src/core/runtime/vercel-edge-adapter.ts +18 -29
  268. package/src/core/utilities/circuit-breaker.ts +7 -7
  269. package/src/core/utilities/container.ts +52 -89
  270. package/src/core/utilities/hooks.ts +17 -23
  271. package/src/core/utilities/index.ts +4 -4
  272. package/src/core/validation/index.ts +25 -51
  273. package/src/index.ts +58 -60
  274. package/src/moro.ts +119 -191
  275. package/src/types/cache.ts +1 -1
  276. package/src/types/core.ts +2 -2
  277. package/src/types/database.ts +2 -10
  278. package/src/types/events.ts +23 -31
  279. package/src/types/hooks.ts +1 -1
  280. package/src/types/http.ts +5 -8
  281. package/src/types/logger.ts +7 -23
  282. package/src/types/module.ts +2 -2
  283. package/src/types/runtime.ts +6 -21
  284. package/src/types/session.ts +4 -4
@@ -26,7 +26,7 @@ export interface CacheOptions {
26
26
  maxAge?: number;
27
27
  staleWhileRevalidate?: number;
28
28
  vary?: string[];
29
- etag?: boolean | "weak" | "strong";
29
+ etag?: boolean | 'weak' | 'strong';
30
30
  }
31
31
 
32
32
  export interface CachedResponse {
package/src/types/core.ts CHANGED
@@ -1,6 +1,6 @@
1
1
  // Core Framework Types
2
- import { RuntimeConfig } from "./runtime";
3
- import { LogLevel, LoggerOptions } from "./logger";
2
+ import { RuntimeConfig } from './runtime';
3
+ import { LogLevel, LoggerOptions } from './logger';
4
4
 
5
5
  export interface MoroOptions {
6
6
  autoDiscover?: boolean;
@@ -5,11 +5,7 @@ export interface DatabaseAdapter {
5
5
  query<T = any>(sql: string, params?: any[]): Promise<T[]>;
6
6
  queryOne<T = any>(sql: string, params?: any[]): Promise<T | null>;
7
7
  insert<T = any>(table: string, data: Record<string, any>): Promise<T>;
8
- update<T = any>(
9
- table: string,
10
- data: Record<string, any>,
11
- where: Record<string, any>,
12
- ): Promise<T>;
8
+ update<T = any>(table: string, data: Record<string, any>, where: Record<string, any>): Promise<T>;
13
9
  delete(table: string, where: Record<string, any>): Promise<number>;
14
10
  transaction<T>(callback: (tx: DatabaseTransaction) => Promise<T>): Promise<T>;
15
11
  }
@@ -18,11 +14,7 @@ export interface DatabaseTransaction {
18
14
  query<T = any>(sql: string, params?: any[]): Promise<T[]>;
19
15
  queryOne<T = any>(sql: string, params?: any[]): Promise<T | null>;
20
16
  insert<T = any>(table: string, data: Record<string, any>): Promise<T>;
21
- update<T = any>(
22
- table: string,
23
- data: Record<string, any>,
24
- where: Record<string, any>,
25
- ): Promise<T>;
17
+ update<T = any>(table: string, data: Record<string, any>, where: Record<string, any>): Promise<T>;
26
18
  delete(table: string, where: Record<string, any>): Promise<number>;
27
19
  commit(): Promise<void>;
28
20
  rollback(): Promise<void>;
@@ -1,5 +1,5 @@
1
1
  // Enterprise Event System Types
2
- import { EventEmitter } from "events";
2
+ import { EventEmitter } from 'events';
3
3
 
4
4
  export interface EventContext {
5
5
  timestamp: Date;
@@ -20,19 +20,13 @@ export interface EventBusOptions {
20
20
  maxListeners?: number;
21
21
  enablePersistence?: boolean;
22
22
  enableMetrics?: boolean;
23
- isolation?: "none" | "module" | "strict";
23
+ isolation?: 'none' | 'module' | 'strict';
24
24
  }
25
25
 
26
26
  export interface ModuleEventBus {
27
27
  emit<T = any>(event: string, data: T): Promise<boolean>;
28
- on<T = any>(
29
- event: string,
30
- listener: (payload: EventPayload<T>) => void | Promise<void>,
31
- ): this;
32
- once<T = any>(
33
- event: string,
34
- listener: (payload: EventPayload<T>) => void | Promise<void>,
35
- ): this;
28
+ on<T = any>(event: string, listener: (payload: EventPayload<T>) => void | Promise<void>): this;
29
+ once<T = any>(event: string, listener: (payload: EventPayload<T>) => void | Promise<void>): this;
36
30
  off(event: string, listener: Function): this;
37
31
  removeAllListeners(event?: string): this;
38
32
  listenerCount(event: string): number;
@@ -55,36 +49,34 @@ export interface EventMetrics {
55
49
  }
56
50
 
57
51
  export type SystemEvents = {
58
- "framework:initialized": { options: any };
59
- "framework:shutdown": { graceful: boolean };
60
- "module:loading": { moduleId: string; path?: string };
61
- "module:loaded": { moduleId: string; version: string };
62
- "module:unloaded": { moduleId: string };
63
- "middleware:registered": { name: string; type: string };
64
- "middleware:installed": { name: string; options?: any };
65
- "database:connected": { adapter: string; config: any };
66
- "database:disconnected": { adapter: string };
67
- "server:starting": { port: number };
68
- "server:started": { port: number; pid: number };
69
- "server:stopping": { graceful: boolean };
70
- "request:start": { method: string; path: string; requestId: string };
71
- "request:end": {
52
+ 'framework:initialized': { options: any };
53
+ 'framework:shutdown': { graceful: boolean };
54
+ 'module:loading': { moduleId: string; path?: string };
55
+ 'module:loaded': { moduleId: string; version: string };
56
+ 'module:unloaded': { moduleId: string };
57
+ 'middleware:registered': { name: string; type: string };
58
+ 'middleware:installed': { name: string; options?: any };
59
+ 'database:connected': { adapter: string; config: any };
60
+ 'database:disconnected': { adapter: string };
61
+ 'server:starting': { port: number };
62
+ 'server:started': { port: number; pid: number };
63
+ 'server:stopping': { graceful: boolean };
64
+ 'request:start': { method: string; path: string; requestId: string };
65
+ 'request:end': {
72
66
  method: string;
73
67
  path: string;
74
68
  requestId: string;
75
69
  statusCode: number;
76
70
  duration: number;
77
71
  };
78
- "websocket:connected": { namespace: string; socketId: string };
79
- "websocket:disconnected": {
72
+ 'websocket:connected': { namespace: string; socketId: string };
73
+ 'websocket:disconnected': {
80
74
  namespace: string;
81
75
  socketId: string;
82
76
  reason: string;
83
77
  };
84
- "error:handled": { error: Error; context: string; requestId?: string };
85
- "error:unhandled": { error: Error; context: string };
78
+ 'error:handled': { error: Error; context: string; requestId?: string };
79
+ 'error:unhandled': { error: Error; context: string };
86
80
  };
87
81
 
88
- export type EventHandler<T = any> = (
89
- payload: EventPayload<T>,
90
- ) => void | Promise<void>;
82
+ export type EventHandler<T = any> = (payload: EventPayload<T>) => void | Promise<void>;
@@ -1,5 +1,5 @@
1
1
  // Hooks and Middleware Types
2
- import { HttpRequest, HttpResponse } from "./http";
2
+ import { HttpRequest, HttpResponse } from './http';
3
3
 
4
4
  export type HookFunction = (...args: any[]) => Promise<any> | any;
5
5
 
package/src/types/http.ts CHANGED
@@ -1,5 +1,5 @@
1
1
  // HTTP Server Types
2
- import { IncomingMessage, ServerResponse } from "http";
2
+ import { IncomingMessage, ServerResponse } from 'http';
3
3
 
4
4
  export interface HttpRequest extends IncomingMessage {
5
5
  params: Record<string, string>;
@@ -19,7 +19,7 @@ export interface CookieOptions {
19
19
  expires?: Date;
20
20
  httpOnly?: boolean;
21
21
  secure?: boolean;
22
- sameSite?: "strict" | "lax" | "none";
22
+ sameSite?: 'strict' | 'lax' | 'none';
23
23
  domain?: string;
24
24
  path?: string;
25
25
  }
@@ -35,19 +35,16 @@ export interface HttpResponse extends ServerResponse {
35
35
  render?(template: string, data?: any): Promise<void>;
36
36
  }
37
37
 
38
- export type HttpHandler = (
39
- req: HttpRequest,
40
- res: HttpResponse,
41
- ) => Promise<void> | void;
38
+ export type HttpHandler = (req: HttpRequest, res: HttpResponse) => Promise<void> | void;
42
39
  export type Middleware = (
43
40
  req: HttpRequest,
44
41
  res: HttpResponse,
45
- next: () => void,
42
+ next: () => void
46
43
  ) => Promise<void> | void;
47
44
  export type MiddlewareFunction = (
48
45
  req: HttpRequest,
49
46
  res: HttpResponse,
50
- next: () => void,
47
+ next: () => void
51
48
  ) => void | Promise<void>;
52
49
 
53
50
  // Internal router types
@@ -1,5 +1,5 @@
1
1
  // Enterprise Logger Types
2
- export type LogLevel = "debug" | "info" | "warn" | "error" | "fatal";
2
+ export type LogLevel = 'debug' | 'info' | 'warn' | 'error' | 'fatal';
3
3
 
4
4
  export interface LogEntry {
5
5
  timestamp: Date;
@@ -26,7 +26,7 @@ export interface LoggerOptions {
26
26
  enableContext?: boolean;
27
27
  enableMetadata?: boolean;
28
28
  enablePerformance?: boolean;
29
- format?: "pretty" | "json" | "compact";
29
+ format?: 'pretty' | 'json' | 'compact';
30
30
  outputs?: LogOutput[];
31
31
  filters?: LogFilter[];
32
32
  maxEntries?: number;
@@ -36,7 +36,7 @@ export interface LogOutput {
36
36
  name: string;
37
37
  write: (entry: LogEntry) => Promise<void> | void;
38
38
  level?: LogLevel;
39
- format?: "pretty" | "json" | "compact";
39
+ format?: 'pretty' | 'json' | 'compact';
40
40
  }
41
41
 
42
42
  export interface LogFilter {
@@ -45,31 +45,15 @@ export interface LogFilter {
45
45
  }
46
46
 
47
47
  export interface Logger {
48
- debug(
49
- message: string,
50
- context?: string,
51
- metadata?: Record<string, any>,
52
- ): void;
48
+ debug(message: string, context?: string, metadata?: Record<string, any>): void;
53
49
  info(message: string, context?: string, metadata?: Record<string, any>): void;
54
50
  warn(message: string, context?: string, metadata?: Record<string, any>): void;
55
- error(
56
- message: string | Error,
57
- context?: string,
58
- metadata?: Record<string, any>,
59
- ): void;
60
- fatal(
61
- message: string | Error,
62
- context?: string,
63
- metadata?: Record<string, any>,
64
- ): void;
51
+ error(message: string | Error, context?: string, metadata?: Record<string, any>): void;
52
+ fatal(message: string | Error, context?: string, metadata?: Record<string, any>): void;
65
53
 
66
54
  // Performance logging
67
55
  time(label: string): void;
68
- timeEnd(
69
- label: string,
70
- context?: string,
71
- metadata?: Record<string, any>,
72
- ): void;
56
+ timeEnd(label: string, context?: string, metadata?: Record<string, any>): void;
73
57
 
74
58
  // Structured logging
75
59
  child(context: string, metadata?: Record<string, any>): Logger;
@@ -1,6 +1,6 @@
1
1
  // Module Definition Types
2
2
  export interface ModuleRoute {
3
- method: "GET" | "POST" | "PUT" | "DELETE" | "PATCH";
3
+ method: 'GET' | 'POST' | 'PUT' | 'DELETE' | 'PATCH';
4
4
  path: string;
5
5
  handler: (req: any, res: any) => any | Promise<any>;
6
6
  validation?: any;
@@ -50,7 +50,7 @@ export interface ModuleConfig {
50
50
  }
51
51
 
52
52
  export interface InternalRouteDefinition {
53
- method: "GET" | "POST" | "PUT" | "DELETE" | "PATCH";
53
+ method: 'GET' | 'POST' | 'PUT' | 'DELETE' | 'PATCH';
54
54
  path: string;
55
55
  handler: string;
56
56
  middleware?: string[];
@@ -1,11 +1,7 @@
1
1
  // Runtime abstraction types for multi-environment support
2
- import { HttpRequest, HttpResponse } from "./http";
2
+ import { HttpRequest, HttpResponse } from './http';
3
3
 
4
- export type RuntimeType =
5
- | "node"
6
- | "vercel-edge"
7
- | "aws-lambda"
8
- | "cloudflare-workers";
4
+ export type RuntimeType = 'node' | 'vercel-edge' | 'aws-lambda' | 'cloudflare-workers';
9
5
 
10
6
  // Generic runtime request/response interfaces
11
7
  export interface RuntimeRequest {
@@ -44,11 +40,7 @@ export interface RuntimeHttpResponse {
44
40
  export type NodeHandler = (req: any, res: any) => Promise<void> | void;
45
41
  export type EdgeHandler = (request: Request) => Promise<Response>;
46
42
  export type LambdaHandler = (event: any, context: any) => Promise<any>;
47
- export type WorkerHandler = (
48
- request: Request,
49
- env: any,
50
- ctx: any,
51
- ) => Promise<Response>;
43
+ export type WorkerHandler = (request: Request, env: any, ctx: any) => Promise<Response>;
52
44
 
53
45
  // Runtime adapter interface
54
46
  export interface RuntimeAdapter {
@@ -60,21 +52,14 @@ export interface RuntimeAdapter {
60
52
  // Convert MoroJS HttpResponse to runtime-specific response
61
53
  adaptResponse(
62
54
  moroResponse: HttpResponse | RuntimeHttpResponse,
63
- runtimeRequest: any,
55
+ runtimeRequest: any
64
56
  ): Promise<any>;
65
57
 
66
58
  // Create the appropriate server/handler for the runtime
67
- createServer(
68
- handler: (req: HttpRequest, res: HttpResponse) => Promise<void>,
69
- ): any;
59
+ createServer(handler: (req: HttpRequest, res: HttpResponse) => Promise<void>): any;
70
60
 
71
61
  // Start listening (for runtimes that support it)
72
- listen?(
73
- server: any,
74
- port: number,
75
- host?: string,
76
- callback?: () => void,
77
- ): void;
62
+ listen?(server: any, port: number, host?: string, callback?: () => void): void;
78
63
  }
79
64
 
80
65
  // Runtime configuration
@@ -22,14 +22,14 @@ export interface SessionInstance {
22
22
 
23
23
  // Session properties
24
24
  readonly sessionID: string;
25
- readonly cookie?: SessionData["cookie"];
25
+ readonly cookie?: SessionData['cookie'];
26
26
  readonly isNew?: boolean;
27
27
  readonly isModified?: boolean;
28
28
  }
29
29
 
30
30
  export interface SessionOptions {
31
31
  // Store configuration
32
- store?: "memory" | "redis" | "file" | any;
32
+ store?: 'memory' | 'redis' | 'file' | any;
33
33
  storeOptions?: {
34
34
  // Redis options
35
35
  host?: string;
@@ -56,14 +56,14 @@ export interface SessionOptions {
56
56
  expires?: Date; // Absolute expiry
57
57
  httpOnly?: boolean; // Prevent XSS access
58
58
  secure?: boolean; // HTTPS only
59
- sameSite?: "strict" | "lax" | "none";
59
+ sameSite?: 'strict' | 'lax' | 'none';
60
60
  domain?: string;
61
61
  path?: string;
62
62
  };
63
63
 
64
64
  // Security
65
65
  proxy?: boolean; // Trust proxy for secure cookies
66
- unset?: "destroy" | "keep"; // What to do when session is unset
66
+ unset?: 'destroy' | 'keep'; // What to do when session is unset
67
67
  }
68
68
 
69
69
  // Extend the HTTP request type to include session