@zintrust/core 0.1.5 → 0.1.7

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 (321) hide show
  1. package/bin/z.d.ts +2 -2
  2. package/bin/z.d.ts.map +1 -1
  3. package/bin/z.js +3 -2
  4. package/bin/zin.d.ts +2 -2
  5. package/bin/zin.d.ts.map +1 -1
  6. package/bin/zin.js +3 -2
  7. package/bin/zintrust-main.d.ts +9 -0
  8. package/bin/zintrust-main.d.ts.map +1 -0
  9. package/bin/zintrust-main.js +101 -0
  10. package/bin/zintrust-microservices.js +7 -7
  11. package/bin/zintrust.d.ts +5 -4
  12. package/bin/zintrust.d.ts.map +1 -1
  13. package/bin/zintrust.js +7 -87
  14. package/bin/zt.d.ts +2 -2
  15. package/bin/zt.d.ts.map +1 -1
  16. package/bin/zt.js +3 -2
  17. package/package.json +13 -3
  18. package/public/index.html +4 -0
  19. package/src/boot/Application.js +13 -13
  20. package/src/boot/Server.d.ts.map +1 -1
  21. package/src/boot/Server.js +47 -39
  22. package/src/boot/bootstrap.js +71 -36
  23. package/src/builder/BundleOptimizer.js +3 -3
  24. package/src/cache/Cache.js +6 -6
  25. package/src/cache/drivers/KVDriver.js +2 -2
  26. package/src/cache/drivers/MongoDriver.js +3 -3
  27. package/src/cache/drivers/RedisDriver.js +3 -3
  28. package/src/cli/BaseCommand.d.ts +2 -0
  29. package/src/cli/BaseCommand.d.ts.map +1 -1
  30. package/src/cli/BaseCommand.js +12 -2
  31. package/src/cli/CLI.js +23 -23
  32. package/src/cli/ErrorHandler.d.ts.map +1 -1
  33. package/src/cli/ErrorHandler.js +14 -8
  34. package/src/cli/commands/AddCommand.js +15 -15
  35. package/src/cli/commands/ConfigCommand.js +6 -6
  36. package/src/cli/commands/D1MigrateCommand.js +6 -6
  37. package/src/cli/commands/DebugCommand.js +3 -3
  38. package/src/cli/commands/FixCommand.js +5 -5
  39. package/src/cli/commands/KeyGenerateCommand.js +5 -5
  40. package/src/cli/commands/LogsCleanupCommand.js +2 -2
  41. package/src/cli/commands/LogsCommand.js +6 -6
  42. package/src/cli/commands/MakeMailTemplateCommand.d.ts.map +1 -1
  43. package/src/cli/commands/MakeMailTemplateCommand.js +8 -7
  44. package/src/cli/commands/MakeNotificationTemplateCommand.d.ts.map +1 -1
  45. package/src/cli/commands/MakeNotificationTemplateCommand.js +8 -7
  46. package/src/cli/commands/MigrateCommand.js +2 -2
  47. package/src/cli/commands/NewCommand.js +11 -11
  48. package/src/cli/commands/PluginCommand.js +3 -3
  49. package/src/cli/commands/PrepareCommand.js +6 -6
  50. package/src/cli/commands/QACommand.js +8 -8
  51. package/src/cli/commands/SecretsCommand.js +3 -3
  52. package/src/cli/commands/SimulateCommand.js +6 -6
  53. package/src/cli/commands/StartCommand.js +7 -7
  54. package/src/cli/commands/TemplatesCommand.js +5 -5
  55. package/src/cli/commands/index.js +12 -12
  56. package/src/cli/config/ConfigManager.js +5 -5
  57. package/src/cli/config/ConfigValidator.js +1 -1
  58. package/src/cli/config/index.js +3 -3
  59. package/src/cli/debug/Dashboard.js +3 -3
  60. package/src/cli/index.js +10 -10
  61. package/src/cli/logger/Logger.js +2 -2
  62. package/src/cli/scaffolding/ControllerGenerator.d.ts.map +1 -1
  63. package/src/cli/scaffolding/ControllerGenerator.js +48 -64
  64. package/src/cli/scaffolding/FactoryGenerator.js +6 -6
  65. package/src/cli/scaffolding/FeatureScaffolder.js +8 -8
  66. package/src/cli/scaffolding/FileGenerator.js +4 -4
  67. package/src/cli/scaffolding/MigrationGenerator.js +4 -4
  68. package/src/cli/scaffolding/ModelGenerator.js +5 -5
  69. package/src/cli/scaffolding/ProjectScaffolder.d.ts.map +1 -1
  70. package/src/cli/scaffolding/ProjectScaffolder.js +78 -15
  71. package/src/cli/scaffolding/RequestFactoryGenerator.js +5 -5
  72. package/src/cli/scaffolding/ResponseFactoryGenerator.js +5 -5
  73. package/src/cli/scaffolding/RouteGenerator.js +4 -4
  74. package/src/cli/scaffolding/SeederGenerator.js +7 -7
  75. package/src/cli/scaffolding/ServiceIntegrationTestGenerator.js +5 -5
  76. package/src/cli/scaffolding/ServiceRequestFactoryGenerator.js +4 -4
  77. package/src/cli/scaffolding/ServiceScaffolder.d.ts.map +1 -1
  78. package/src/cli/scaffolding/ServiceScaffolder.js +24 -23
  79. package/src/cli/scaffolding/TemplateEngine.d.ts.map +1 -1
  80. package/src/cli/scaffolding/TemplateEngine.js +0 -2
  81. package/src/cli/scaffolding/TemplateGenerator.js +4 -4
  82. package/src/cli/scaffolding/WorkflowGenerator.js +4 -4
  83. package/src/cli/scaffolding/index.js +16 -16
  84. package/src/cli/utils/DistPackager.js +4 -4
  85. package/src/cli/utils/EnvFileLoader.js +2 -2
  86. package/src/cli/utils/spawn.d.ts.map +1 -1
  87. package/src/cli/utils/spawn.js +18 -7
  88. package/src/common/AwsSigV4.js +1 -1
  89. package/src/common/index.js +5 -5
  90. package/src/common/uuid.js +2 -2
  91. package/src/config/FileLogWriter.js +4 -4
  92. package/src/config/SecretsManager.d.ts +1 -42
  93. package/src/config/SecretsManager.d.ts.map +1 -1
  94. package/src/config/SecretsManager.js +2 -2
  95. package/src/config/StartupConfigValidator.d.ts +1 -9
  96. package/src/config/StartupConfigValidator.d.ts.map +1 -1
  97. package/src/config/StartupConfigValidator.js +115 -22
  98. package/src/config/app.d.ts +1 -1
  99. package/src/config/app.d.ts.map +1 -1
  100. package/src/config/app.js +1 -1
  101. package/src/config/broadcast.d.ts +1 -26
  102. package/src/config/broadcast.d.ts.map +1 -1
  103. package/src/config/broadcast.js +1 -1
  104. package/src/config/cache.d.ts +1 -22
  105. package/src/config/cache.d.ts.map +1 -1
  106. package/src/config/cache.js +1 -1
  107. package/src/config/cloudflare.d.ts +1 -13
  108. package/src/config/cloudflare.d.ts.map +1 -1
  109. package/src/config/database.d.ts +2 -47
  110. package/src/config/database.d.ts.map +1 -1
  111. package/src/config/database.js +1 -1
  112. package/src/config/env.d.ts.map +1 -1
  113. package/src/config/env.js +6 -2
  114. package/src/config/features.js +2 -2
  115. package/src/config/index.d.ts +10 -287
  116. package/src/config/index.d.ts.map +1 -1
  117. package/src/config/index.js +16 -16
  118. package/src/config/logger.d.ts.map +1 -1
  119. package/src/config/logger.js +10 -8
  120. package/src/config/logging/HttpLogger.js +4 -4
  121. package/src/config/logging/KvLogger.js +2 -2
  122. package/src/config/logging/SlackLogger.js +3 -3
  123. package/src/config/mail.d.ts +1 -27
  124. package/src/config/mail.d.ts.map +1 -1
  125. package/src/config/mail.js +1 -1
  126. package/src/config/microservices.js +1 -1
  127. package/src/config/middleware.d.ts +2 -6
  128. package/src/config/middleware.d.ts.map +1 -1
  129. package/src/config/middleware.js +5 -5
  130. package/src/config/notification.d.ts +0 -21
  131. package/src/config/notification.d.ts.map +1 -1
  132. package/src/config/notification.js +1 -1
  133. package/src/config/queue.d.ts +1 -39
  134. package/src/config/queue.d.ts.map +1 -1
  135. package/src/config/queue.js +1 -1
  136. package/src/config/security.d.ts +12 -0
  137. package/src/config/security.d.ts.map +1 -1
  138. package/src/config/security.js +17 -5
  139. package/src/config/startup.d.ts +2 -0
  140. package/src/config/startup.d.ts.map +1 -1
  141. package/src/config/startup.js +2 -1
  142. package/src/config/storage.d.ts +1 -48
  143. package/src/config/storage.d.ts.map +1 -1
  144. package/src/config/storage.js +1 -1
  145. package/src/config/type.d.ts +335 -0
  146. package/src/config/type.d.ts.map +1 -0
  147. package/src/config/type.js +1 -0
  148. package/src/container/ServiceContainer.js +1 -1
  149. package/src/exceptions/ZintrustError.js +1 -1
  150. package/src/features/Queue.js +2 -2
  151. package/src/functions/cloudflare.js +4 -4
  152. package/src/functions/deno.js +4 -4
  153. package/src/functions/lambda.js +4 -4
  154. package/src/health/RuntimeHealthProbes.js +3 -3
  155. package/src/health/StartupHealthChecks.js +9 -9
  156. package/src/http/Kernel.js +10 -10
  157. package/src/http/RequestContext.js +2 -2
  158. package/src/http/Response.js +1 -1
  159. package/src/index.d.ts +36 -1
  160. package/src/index.d.ts.map +1 -1
  161. package/src/index.js +69 -36
  162. package/src/microservices/MicroserviceBootstrap.js +5 -5
  163. package/src/microservices/MicroserviceGenerator.js +10 -10
  164. package/src/microservices/MicroserviceManager.js +4 -4
  165. package/src/microservices/PostgresAdapter.js +3 -3
  166. package/src/microservices/RequestTracingMiddleware.js +3 -3
  167. package/src/microservices/ServiceAuthMiddleware.js +3 -3
  168. package/src/microservices/ServiceBundler.js +3 -3
  169. package/src/microservices/ServiceHealthMonitor.js +2 -2
  170. package/src/middleware/CsrfMiddleware.js +3 -3
  171. package/src/middleware/ErrorHandlerMiddleware.js +4 -4
  172. package/src/middleware/LoggingMiddleware.js +3 -3
  173. package/src/middleware/RateLimiter.js +1 -1
  174. package/src/middleware/index.js +6 -6
  175. package/src/node-singletons/http.d.ts +2 -2
  176. package/src/node-singletons/http.d.ts.map +1 -1
  177. package/src/node-singletons/http.js +1 -1
  178. package/src/node-singletons/index.js +14 -14
  179. package/src/node-singletons/path.d.ts +1 -1
  180. package/src/node.d.ts +5 -0
  181. package/src/node.d.ts.map +1 -0
  182. package/src/node.js +4 -0
  183. package/src/orm/ConnectionManager.js +3 -3
  184. package/src/orm/Database.js +8 -8
  185. package/src/orm/Model.js +5 -5
  186. package/src/orm/QueryBuilder.js +1 -1
  187. package/src/orm/Relationships.js +1 -1
  188. package/src/orm/adapters/D1Adapter.js +5 -5
  189. package/src/orm/adapters/MySQLAdapter.d.ts.map +1 -1
  190. package/src/orm/adapters/MySQLAdapter.js +4 -6
  191. package/src/orm/adapters/PostgreSQLAdapter.d.ts.map +1 -1
  192. package/src/orm/adapters/PostgreSQLAdapter.js +4 -6
  193. package/src/orm/adapters/SQLServerAdapter.d.ts.map +1 -1
  194. package/src/orm/adapters/SQLServerAdapter.js +4 -6
  195. package/src/orm/adapters/SQLiteAdapter.d.ts.map +1 -1
  196. package/src/orm/adapters/SQLiteAdapter.js +5 -7
  197. package/src/performance/CodeGenerationBenchmark.js +5 -5
  198. package/src/performance/Optimizer.js +3 -3
  199. package/src/performance/establish-baseline.js +4 -4
  200. package/src/profiling/RequestProfiler.js +4 -4
  201. package/src/runtime/PluginManager.js +8 -8
  202. package/src/runtime/RuntimeDetector.d.ts.map +1 -1
  203. package/src/runtime/RuntimeDetector.js +22 -12
  204. package/src/runtime/adapters/CloudflareAdapter.js +3 -3
  205. package/src/runtime/adapters/DenoAdapter.js +2 -2
  206. package/src/runtime/adapters/FargateAdapter.js +4 -4
  207. package/src/runtime/adapters/LambdaAdapter.js +4 -4
  208. package/src/runtime/adapters/NodeServerAdapter.js +4 -4
  209. package/src/scheduler/ScheduleRunner.js +2 -2
  210. package/src/scheduler/index.js +1 -1
  211. package/src/schedules/index.js +1 -1
  212. package/src/schedules/log-cleanup.js +2 -2
  213. package/src/scripts/GenerateEnvArtifacts.js +4 -4
  214. package/src/scripts/TemplateSync.js +8 -6
  215. package/src/security/CsrfTokenManager.js +2 -2
  216. package/src/security/Encryptor.js +3 -3
  217. package/src/security/Hash.js +2 -2
  218. package/src/security/JwtManager.js +2 -2
  219. package/src/security/StartupSecretValidation.js +4 -4
  220. package/src/security/UrlValidator.js +1 -1
  221. package/src/security/Xss.js +1 -1
  222. package/src/security/XssProtection.d.ts.map +1 -1
  223. package/src/security/XssProtection.js +8 -3
  224. package/src/templates/adapters/MySQLAdapter.ts.tpl +0 -2
  225. package/src/templates/adapters/PostgreSQLAdapter.ts.tpl +0 -3
  226. package/src/templates/adapters/SQLServerAdapter.ts.tpl +0 -2
  227. package/src/templates/adapters/SQLiteAdapter.ts.tpl +0 -2
  228. package/src/templates/project/basic/.env.tpl +8 -1
  229. package/src/templates/project/basic/app/Controllers/UserController.ts.tpl +3 -2
  230. package/src/templates/project/basic/app/Middleware/ProfilerMiddleware.ts.tpl +3 -2
  231. package/src/templates/project/basic/app/Middleware/index.ts.tpl +8 -14
  232. package/src/templates/project/basic/app/Models/Post.ts.tpl +2 -1
  233. package/src/templates/project/basic/app/Models/User.ts.tpl +1 -1
  234. package/src/templates/project/basic/app/Toolkit/Broadcast/sendBroadcast.ts.tpl +1 -1
  235. package/src/templates/project/basic/app/Toolkit/Mail/sendWelcomeEmail.ts.tpl +1 -1
  236. package/src/templates/project/basic/app/Toolkit/Notification/sendSlackNotification.ts.tpl +1 -1
  237. package/src/templates/project/basic/app/Toolkit/Notification/sendSms.ts.tpl +1 -1
  238. package/src/templates/project/basic/config/FileLogWriter.ts.tpl +2 -4
  239. package/src/templates/project/basic/config/SecretsManager.ts.tpl +6 -39
  240. package/src/templates/project/basic/config/StartupConfigValidator.ts.tpl +154 -37
  241. package/src/templates/project/basic/config/app.ts.tpl +1 -5
  242. package/src/templates/project/basic/config/broadcast.ts.tpl +6 -36
  243. package/src/templates/project/basic/config/cache.ts.tpl +1 -42
  244. package/src/templates/project/basic/config/cloudflare.ts.tpl +1 -15
  245. package/src/templates/project/basic/config/database.ts.tpl +5 -51
  246. package/src/templates/project/basic/config/env.ts.tpl +6 -7
  247. package/src/templates/project/basic/config/features.ts.tpl +1 -1
  248. package/src/templates/project/basic/config/index.ts.tpl +1 -1
  249. package/src/templates/project/basic/config/logger.ts.tpl +3 -1
  250. package/src/templates/project/basic/config/logging/HttpLogger.ts.tpl +1 -1
  251. package/src/templates/project/basic/config/logging/KvLogger.ts.tpl +1 -1
  252. package/src/templates/project/basic/config/logging/SlackLogger.ts.tpl +1 -1
  253. package/src/templates/project/basic/config/mail.ts.tpl +1 -57
  254. package/src/templates/project/basic/config/microservices.ts.tpl +1 -1
  255. package/src/templates/project/basic/config/middleware.ts.tpl +2 -6
  256. package/src/templates/project/basic/config/notification.ts.tpl +1 -36
  257. package/src/templates/project/basic/config/queue.ts.tpl +1 -49
  258. package/src/templates/project/basic/config/security.ts.tpl +13 -1
  259. package/src/templates/project/basic/config/startup.ts.tpl +2 -0
  260. package/src/templates/project/basic/config/storage.ts.tpl +6 -54
  261. package/src/templates/project/basic/config/type.ts.tpl +414 -0
  262. package/src/templates/project/basic/package.json.tpl +1 -0
  263. package/src/templates/project/basic/routes/api.ts.tpl +1 -1
  264. package/src/templates/project/basic/routes/broadcast.ts.tpl +1 -1
  265. package/src/templates/project/basic/routes/health.ts.tpl +1 -1
  266. package/src/templates/project/basic/routes/storage.ts.tpl +1 -1
  267. package/src/templates/project/basic/src/index.ts.tpl +49 -41
  268. package/src/templates/project/basic/template.json +1 -1
  269. package/src/templates/project/basic/tsconfig.json.tpl +3 -1
  270. package/src/toolkit/Secrets/EnvFile.js +3 -3
  271. package/src/toolkit/Secrets/Manifest.js +3 -3
  272. package/src/toolkit/Secrets/index.js +5 -5
  273. package/src/toolkit/Secrets/providers/AwsSecretsManager.js +2 -2
  274. package/src/toolkit/Secrets/providers/CloudflareKv.js +1 -1
  275. package/src/tools/broadcast/Broadcast.js +6 -6
  276. package/src/tools/broadcast/drivers/BaseDriver.js +1 -1
  277. package/src/tools/broadcast/drivers/Pusher.d.ts +1 -1
  278. package/src/tools/broadcast/drivers/Pusher.d.ts.map +1 -1
  279. package/src/tools/broadcast/drivers/Pusher.js +2 -2
  280. package/src/tools/broadcast/drivers/Redis.js +1 -1
  281. package/src/tools/broadcast/drivers/RedisHttps.js +3 -3
  282. package/src/tools/broadcast/index.js +6 -6
  283. package/src/tools/http/Http.js +4 -4
  284. package/src/tools/http/HttpResponse.js +1 -1
  285. package/src/tools/http/index.js +2 -2
  286. package/src/tools/mail/Mail.js +8 -8
  287. package/src/tools/mail/attachments.js +1 -1
  288. package/src/tools/mail/drivers/BaseDriver.js +1 -1
  289. package/src/tools/mail/drivers/Mailgun.js +1 -1
  290. package/src/tools/mail/drivers/SendGrid.js +1 -1
  291. package/src/tools/mail/drivers/Ses.js +2 -2
  292. package/src/tools/mail/drivers/Smtp.js +4 -4
  293. package/src/tools/mail/templates/markdown/index.js +3 -3
  294. package/src/tools/mail/templates/markdown/registry.js +5 -5
  295. package/src/tools/mail/templates/markdown/validator.js +1 -1
  296. package/src/tools/mail/testing.js +1 -1
  297. package/src/tools/notification/Notification.js +1 -1
  298. package/src/tools/notification/Registry.js +3 -3
  299. package/src/tools/notification/Service.js +3 -3
  300. package/src/tools/notification/config.js +1 -1
  301. package/src/tools/notification/drivers/BaseDriver.js +1 -1
  302. package/src/tools/notification/drivers/Slack.js +1 -1
  303. package/src/tools/notification/drivers/Termii.js +1 -1
  304. package/src/tools/notification/drivers/Twilio.js +1 -1
  305. package/src/tools/notification/templates/markdown/index.js +3 -3
  306. package/src/tools/notification/templates/markdown/registry.js +5 -5
  307. package/src/tools/notification/testing.js +1 -1
  308. package/src/tools/notification/testingHelpers.js +2 -2
  309. package/src/tools/queue/Queue.js +1 -1
  310. package/src/tools/queue/drivers/InMemory.js +1 -1
  311. package/src/tools/queue/drivers/Redis.js +2 -2
  312. package/src/tools/storage/LocalSignedUrl.js +2 -2
  313. package/src/tools/storage/drivers/Gcs.js +1 -1
  314. package/src/tools/storage/drivers/Local.js +5 -5
  315. package/src/tools/storage/drivers/R2.js +2 -2
  316. package/src/tools/storage/drivers/S3.js +3 -3
  317. package/src/tools/storage/index.js +6 -6
  318. package/src/tools/storage/testing.js +1 -1
  319. package/src/tools/templates/MarkdownRenderer.js +2 -2
  320. package/src/tools/templates/index.js +1 -1
  321. package/src/validation/Validator.js +3 -3
@@ -6,7 +6,7 @@ export { appConfig, type AppConfig } from './app';
6
6
  export { cacheConfig, type CacheConfig } from './cache';
7
7
  export { databaseConfig, type DatabaseConfig } from './database';
8
8
  export { microservicesConfig, type MicroservicesConfig } from './microservices';
9
- export { middlewareConfig, type MiddlewareConfig } from './middleware';
9
+ export { middlewareConfig } from './middleware';
10
10
  export { queueConfig, type QueueConfig } from './queue';
11
11
  export { securityConfig } from './security';
12
12
  export { storageConfig, type StorageConfig } from './storage';
@@ -17,7 +17,7 @@ export { storageConfig, type StorageConfig } from './storage';
17
17
  export declare const config: Readonly<{
18
18
  readonly app: Readonly<{
19
19
  readonly name: string;
20
- readonly environment: "development" | "production" | "testing";
20
+ readonly environment: import("./type").StartMode;
21
21
  readonly port: number;
22
22
  readonly host: string;
23
23
  readonly isDevelopment: () => boolean;
@@ -30,42 +30,7 @@ export declare const config: Readonly<{
30
30
  readonly getSafeEnv: () => NodeJS.ProcessEnv;
31
31
  }>;
32
32
  readonly database: Readonly<{
33
- default: keyof {
34
- sqlite: {
35
- driver: "sqlite";
36
- database: string;
37
- migrations: string;
38
- };
39
- postgresql: {
40
- driver: "postgresql";
41
- host: string;
42
- port: number;
43
- database: string;
44
- username: string;
45
- password: string;
46
- ssl: boolean;
47
- pooling: {
48
- enabled: boolean;
49
- min: number;
50
- max: number;
51
- idleTimeout: number;
52
- connectionTimeout: number;
53
- };
54
- };
55
- mysql: {
56
- driver: "mysql";
57
- host: string;
58
- port: number;
59
- database: string;
60
- username: string;
61
- password: string;
62
- pooling: {
63
- enabled: boolean;
64
- min: number;
65
- max: number;
66
- };
67
- };
68
- };
33
+ default: keyof import("./type").DatabaseConnections;
69
34
  connections: {
70
35
  sqlite: {
71
36
  driver: "sqlite";
@@ -102,111 +67,7 @@ export declare const config: Readonly<{
102
67
  };
103
68
  };
104
69
  };
105
- getConnection(this: {
106
- default: keyof {
107
- sqlite: {
108
- driver: "sqlite";
109
- database: string;
110
- migrations: string;
111
- };
112
- postgresql: {
113
- driver: "postgresql";
114
- host: string;
115
- port: number;
116
- database: string;
117
- username: string;
118
- password: string;
119
- ssl: boolean;
120
- pooling: {
121
- enabled: boolean;
122
- min: number;
123
- max: number;
124
- idleTimeout: number;
125
- connectionTimeout: number;
126
- };
127
- };
128
- mysql: {
129
- driver: "mysql";
130
- host: string;
131
- port: number;
132
- database: string;
133
- username: string;
134
- password: string;
135
- pooling: {
136
- enabled: boolean;
137
- min: number;
138
- max: number;
139
- };
140
- };
141
- };
142
- connections: {
143
- sqlite: {
144
- driver: "sqlite";
145
- database: string;
146
- migrations: string;
147
- };
148
- postgresql: {
149
- driver: "postgresql";
150
- host: string;
151
- port: number;
152
- database: string;
153
- username: string;
154
- password: string;
155
- ssl: boolean;
156
- pooling: {
157
- enabled: boolean;
158
- min: number;
159
- max: number;
160
- idleTimeout: number;
161
- connectionTimeout: number;
162
- };
163
- };
164
- mysql: {
165
- driver: "mysql";
166
- host: string;
167
- port: number;
168
- database: string;
169
- username: string;
170
- password: string;
171
- pooling: {
172
- enabled: boolean;
173
- min: number;
174
- max: number;
175
- };
176
- };
177
- };
178
- }): {
179
- driver: "sqlite";
180
- database: string;
181
- migrations: string;
182
- } | {
183
- driver: "postgresql";
184
- host: string;
185
- port: number;
186
- database: string;
187
- username: string;
188
- password: string;
189
- ssl: boolean;
190
- pooling: {
191
- enabled: boolean;
192
- min: number;
193
- max: number;
194
- idleTimeout: number;
195
- connectionTimeout: number;
196
- };
197
- } | {
198
- driver: "mysql";
199
- host: string;
200
- port: number;
201
- database: string;
202
- username: string;
203
- password: string;
204
- pooling: {
205
- enabled: boolean;
206
- min: number;
207
- max: number;
208
- };
209
- };
70
+ getConnection(this: import("./type").DatabaseConfigShape): import("./type").DatabaseConnectionConfig;
210
71
  logging: {
211
72
  enabled: boolean;
212
73
  level: string;
@@ -221,105 +82,8 @@ export declare const config: Readonly<{
221
82
  }>;
222
83
  readonly storage: Readonly<{
223
84
  readonly default: string;
224
- readonly drivers: {
225
- local: {
226
- driver: "local";
227
- root: string;
228
- url: string;
229
- visibility: string;
230
- };
231
- s3: {
232
- driver: "s3";
233
- accessKeyId: string;
234
- secretAccessKey: string;
235
- region: string;
236
- bucket: string;
237
- url: string;
238
- endpoint: string;
239
- usePathStyleUrl: boolean;
240
- };
241
- r2: {
242
- driver: "r2";
243
- accessKeyId: string;
244
- secretAccessKey: string;
245
- region: string;
246
- bucket: string;
247
- endpoint: string;
248
- url: string;
249
- };
250
- gcs: {
251
- driver: "gcs";
252
- projectId: string;
253
- keyFile: string;
254
- bucket: string;
255
- url: string;
256
- };
257
- };
258
- getDriver(this: {
259
- readonly default: string;
260
- readonly drivers: {
261
- local: {
262
- driver: "local";
263
- root: string;
264
- url: string;
265
- visibility: string;
266
- };
267
- s3: {
268
- driver: "s3";
269
- accessKeyId: string;
270
- secretAccessKey: string;
271
- region: string;
272
- bucket: string;
273
- url: string;
274
- endpoint: string;
275
- usePathStyleUrl: boolean;
276
- };
277
- r2: {
278
- driver: "r2";
279
- accessKeyId: string;
280
- secretAccessKey: string;
281
- region: string;
282
- bucket: string;
283
- endpoint: string;
284
- url: string;
285
- };
286
- gcs: {
287
- driver: "gcs";
288
- projectId: string;
289
- keyFile: string;
290
- bucket: string;
291
- url: string;
292
- };
293
- };
294
- }): {
295
- driver: "local";
296
- root: string;
297
- url: string;
298
- visibility: string;
299
- } | {
300
- driver: "s3";
301
- accessKeyId: string;
302
- secretAccessKey: string;
303
- region: string;
304
- bucket: string;
305
- url: string;
306
- endpoint: string;
307
- usePathStyleUrl: boolean;
308
- } | {
309
- driver: "r2";
310
- accessKeyId: string;
311
- secretAccessKey: string;
312
- region: string;
313
- bucket: string;
314
- endpoint: string;
315
- url: string;
316
- } | {
317
- driver: "gcs";
318
- projectId: string;
319
- keyFile: string;
320
- bucket: string;
321
- url: string;
322
- };
85
+ readonly drivers: import("./type").StorageDrivers;
86
+ getDriver(this: import("./type").StorageConfigRuntime): import("./type").StorageDriverConfig;
323
87
  readonly temp: {
324
88
  path: string;
325
89
  maxAge: number;
@@ -406,7 +170,7 @@ export declare const config: Readonly<{
406
170
  readonly bcryptRounds: number;
407
171
  };
408
172
  }>;
409
- readonly middleware: Readonly<import("./middleware").MiddlewareConfig>;
173
+ readonly middleware: Readonly<import("./type").MiddlewareConfigType>;
410
174
  readonly microservices: Readonly<{
411
175
  readonly enabled: boolean;
412
176
  readonly services: string[];
@@ -482,28 +246,12 @@ export declare const config: Readonly<{
482
246
  ttl: number;
483
247
  };
484
248
  };
485
- getDriver(): {
486
- driver: "memory";
487
- ttl: number;
488
- } | {
489
- driver: "redis";
490
- host: string;
491
- port: number;
492
- ttl: number;
493
- } | {
494
- driver: "mongodb";
495
- uri: string;
496
- db: string;
497
- ttl: number;
498
- } | {
499
- driver: "kv";
500
- ttl: number;
501
- };
249
+ getDriver(): import("./type").CacheDriverConfig;
502
250
  keyPrefix: string;
503
251
  ttl: number;
504
252
  }>;
505
253
  readonly queue: Readonly<{
506
- default: "redis" | "database" | "sync" | "rabbitmq" | "sqs";
254
+ default: import("./type").QueueDriverName;
507
255
  drivers: {
508
256
  sync: {
509
257
  driver: "sync";
@@ -536,32 +284,7 @@ export declare const config: Readonly<{
536
284
  queueUrl: string;
537
285
  };
538
286
  };
539
- getDriver(): {
540
- driver: "sync";
541
- } | {
542
- driver: "database";
543
- table: string;
544
- connection: string;
545
- } | {
546
- driver: "redis";
547
- host: string;
548
- port: number;
549
- password?: string;
550
- database: number;
551
- } | {
552
- driver: "rabbitmq";
553
- host: string;
554
- port: number;
555
- username: string;
556
- password: string;
557
- vhost: string;
558
- } | {
559
- driver: "sqs";
560
- key?: string;
561
- secret?: string;
562
- region: string;
563
- queueUrl?: string;
564
- };
287
+ getDriver(): import("./type").QueueDriversConfig[import("./type").QueueDriverName];
565
288
  failed: {
566
289
  database: string;
567
290
  table: string;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/config/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAWH,OAAO,EAAE,SAAS,EAAE,KAAK,SAAS,EAAE,MAAM,aAAa,CAAC;AACxD,OAAO,EAAE,WAAW,EAAE,KAAK,WAAW,EAAE,MAAM,eAAe,CAAC;AAC9D,OAAO,EAAE,cAAc,EAAE,KAAK,cAAc,EAAE,MAAM,kBAAkB,CAAC;AACvE,OAAO,EAAE,mBAAmB,EAAE,KAAK,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AACtF,OAAO,EAAE,gBAAgB,EAAE,KAAK,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAC7E,OAAO,EAAE,WAAW,EAAE,KAAK,WAAW,EAAE,MAAM,eAAe,CAAC;AAC9D,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,aAAa,EAAE,KAAK,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAEpE;;;GAGG;AACH,eAAO,MAAM,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EASR,CAAC;AAEZ,MAAM,MAAM,MAAM,GAAG,OAAO,MAAM,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/config/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAWH,OAAO,EAAE,SAAS,EAAE,KAAK,SAAS,EAAE,MAAM,aAAa,CAAC;AACxD,OAAO,EAAE,WAAW,EAAE,KAAK,WAAW,EAAE,MAAM,eAAe,CAAC;AAC9D,OAAO,EAAE,cAAc,EAAE,KAAK,cAAc,EAAE,MAAM,kBAAkB,CAAC;AACvE,OAAO,EAAE,mBAAmB,EAAE,KAAK,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AACtF,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAAE,WAAW,EAAE,KAAK,WAAW,EAAE,MAAM,eAAe,CAAC;AAC9D,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,aAAa,EAAE,KAAK,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAEpE;;;GAGG;AACH,eAAO,MAAM,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EASR,CAAC;AAEZ,MAAM,MAAM,MAAM,GAAG,OAAO,MAAM,CAAC"}
@@ -2,22 +2,22 @@
2
2
  * Configuration Exports
3
3
  * Central export point for all configuration
4
4
  */
5
- import { appConfig } from './app';
6
- import { cacheConfig } from './cache';
7
- import { databaseConfig } from './database';
8
- import { microservicesConfig } from './microservices';
9
- import { middlewareConfig } from './middleware';
10
- import { queueConfig } from './queue';
11
- import { securityConfig } from './security';
12
- import { storageConfig } from './storage';
13
- export { appConfig } from './app';
14
- export { cacheConfig } from './cache';
15
- export { databaseConfig } from './database';
16
- export { microservicesConfig } from './microservices';
17
- export { middlewareConfig } from './middleware';
18
- export { queueConfig } from './queue';
19
- export { securityConfig } from './security';
20
- export { storageConfig } from './storage';
5
+ import { appConfig } from './app.js';
6
+ import { cacheConfig } from './cache.js';
7
+ import { databaseConfig } from './database.js';
8
+ import { microservicesConfig } from './microservices.js';
9
+ import { middlewareConfig } from './middleware.js';
10
+ import { queueConfig } from './queue.js';
11
+ import { securityConfig } from './security.js';
12
+ import { storageConfig } from './storage.js';
13
+ export { appConfig } from './app.js';
14
+ export { cacheConfig } from './cache.js';
15
+ export { databaseConfig } from './database.js';
16
+ export { microservicesConfig } from './microservices.js';
17
+ export { middlewareConfig } from './middleware.js';
18
+ export { queueConfig } from './queue.js';
19
+ export { securityConfig } from './security.js';
20
+ export { storageConfig } from './storage.js';
21
21
  /**
22
22
  * Combined configuration object
23
23
  * Sealed namespace for immutability
@@ -1 +1 @@
1
- {"version":3,"file":"logger.d.ts","sourceRoot":"","sources":["../../../src/config/logger.ts"],"names":[],"mappings":"AAQA,UAAU,OAAO;IACf,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,OAAO,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAChE,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,OAAO,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/D,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,OAAO,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/D,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,OAAO,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACjE,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,OAAO,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAClE;AA0VD,eAAO,MAAM,aAAa,QAAa,OAAO,CAAC,MAAM,EAAE,CAYtD,CAAC;AAEF,eAAO,MAAM,MAAM;qBAzJQ,MAAM,SAAS,OAAO,aAAa,MAAM,KAAG,IAAI;oBAsBjD,MAAM,SAAS,OAAO,aAAa,MAAM,KAAG,IAAI;oBAoBhD,MAAM,SAAS,OAAO,aAAa,MAAM,KAAG,IAAI;qBAoB/C,MAAM,UAAU,OAAO,aAAa,MAAM,KAAG,IAAI;qBA0BjD,MAAM,UAAU,OAAO,aAAa,MAAM,KAAG,IAAI;yBAmDrC,OAAO,CAAC,MAAM,EAAE,CAAC;mBArBtB,MAAM,KAAG,OAAO;EA2ChD,CAAC;AAEH,eAAe,MAAM,CAAC"}
1
+ {"version":3,"file":"logger.d.ts","sourceRoot":"","sources":["../../../src/config/logger.ts"],"names":[],"mappings":"AAQA,UAAU,OAAO;IACf,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,OAAO,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAChE,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,OAAO,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/D,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,OAAO,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/D,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,OAAO,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACjE,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,OAAO,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAClE;AA4VD,eAAO,MAAM,aAAa,QAAa,OAAO,CAAC,MAAM,EAAE,CAYtD,CAAC;AAEF,eAAO,MAAM,MAAM;qBAzJQ,MAAM,SAAS,OAAO,aAAa,MAAM,KAAG,IAAI;oBAsBjD,MAAM,SAAS,OAAO,aAAa,MAAM,KAAG,IAAI;oBAoBhD,MAAM,SAAS,OAAO,aAAa,MAAM,KAAG,IAAI;qBAoB/C,MAAM,UAAU,OAAO,aAAa,MAAM,KAAG,IAAI;qBA0BjD,MAAM,UAAU,OAAO,aAAa,MAAM,KAAG,IAAI;yBAmDrC,OAAO,CAAC,MAAM,EAAE,CAAC;mBArBtB,MAAM,KAAG,OAAO;EA2ChD,CAAC;AAEH,eAAe,MAAM,CAAC"}
@@ -3,8 +3,8 @@
3
3
  * Sealed namespace pattern - all exports through Logger namespace
4
4
  * Replaces console.* calls throughout the codebase
5
5
  */
6
- import { appConfig } from './app';
7
- import { Env } from './env';
6
+ import { appConfig } from './app.js';
7
+ import { Env } from './env.js';
8
8
  const isDevelopment = () => appConfig.isDevelopment();
9
9
  const isProduction = () => appConfig.isProduction();
10
10
  const getLogFormat = () => Env.get('LOG_FORMAT', 'text');
@@ -67,7 +67,7 @@ const getFileWriter = () => {
67
67
  return;
68
68
  if (fileWriterPromise !== undefined)
69
69
  return;
70
- fileWriterPromise = import('./FileLogWriter')
70
+ fileWriterPromise = import('./FileLogWriter.js')
71
71
  .then((mod) => {
72
72
  fileWriter = mod.FileLogWriter;
73
73
  return mod;
@@ -79,7 +79,9 @@ const getFileWriter = () => {
79
79
  };
80
80
  const shouldLogToFile = () => {
81
81
  // Prefer dynamic lookup so late-bound env (tests, some runtimes) is respected.
82
- if (!Env.getBool('LOG_TO_FILE', false))
82
+ const channel = Env.get('LOG_CHANNEL', '').trim().toLowerCase();
83
+ const channelWantsFile = channel === 'file' || channel === 'all';
84
+ if (!Env.getBool('LOG_TO_FILE', false) && !channelWantsFile)
83
85
  return false;
84
86
  if (typeof process === 'undefined')
85
87
  return false;
@@ -153,7 +155,7 @@ const emitCloudLogs = (event) => {
153
155
  void (async () => {
154
156
  try {
155
157
  if (event.level === 'error' || event.level === 'fatal') {
156
- const mod = await import('./logging/KvLogger');
158
+ const mod = await import('./logging/KvLogger.js');
157
159
  void mod.KvLogger.enqueue(event);
158
160
  }
159
161
  }
@@ -162,7 +164,7 @@ const emitCloudLogs = (event) => {
162
164
  }
163
165
  try {
164
166
  if (event.level === 'warn' || event.level === 'error' || event.level === 'fatal') {
165
- const mod = await import('./logging/SlackLogger');
167
+ const mod = await import('./logging/SlackLogger.js');
166
168
  void mod.SlackLogger.enqueue(event);
167
169
  }
168
170
  }
@@ -170,7 +172,7 @@ const emitCloudLogs = (event) => {
170
172
  // best-effort
171
173
  }
172
174
  try {
173
- const mod = await import('./logging/HttpLogger');
175
+ const mod = await import('./logging/HttpLogger.js');
174
176
  void mod.HttpLogger.enqueue(event);
175
177
  }
176
178
  catch {
@@ -314,7 +316,7 @@ export const cleanLogsOnce = async () => {
314
316
  if (!shouldLogToFile())
315
317
  return [];
316
318
  try {
317
- const mod = await import('./FileLogWriter');
319
+ const mod = await import('./FileLogWriter.js');
318
320
  const deleted = mod.cleanOnce();
319
321
  logInfo('Log cleanup executed', { deletedCount: deleted.length });
320
322
  return deleted;
@@ -8,10 +8,10 @@
8
8
  * - HTTP_LOG_BATCH_SIZE (default: 50)
9
9
  * - HTTP_LOG_AUTH_TOKEN (optional)
10
10
  */
11
- import { delay } from '../../common/index';
12
- import { Env } from '../env';
13
- import { ErrorFactory } from '../../exceptions/ZintrustError';
14
- import { HttpClient } from '../../tools/http/Http';
11
+ import { delay } from '../../common/index.js';
12
+ import { Env } from '../env.js';
13
+ import { ErrorFactory } from '../../exceptions/ZintrustError.js';
14
+ import { HttpClient } from '../../tools/http/Http.js';
15
15
  const isEnabled = () => Env.getBool('HTTP_LOG_ENABLED', false);
16
16
  let buffer = [];
17
17
  let flushPromise;
@@ -7,8 +7,8 @@
7
7
  * - KV_NAMESPACE (binding name; default: 'CACHE')
8
8
  * - KV_LOG_RETENTION_DAYS (default: 30)
9
9
  */
10
- import { Cloudflare } from '../cloudflare';
11
- import { Env } from '../env';
10
+ import { Cloudflare } from '../cloudflare.js';
11
+ import { Env } from '../env.js';
12
12
  const getRetentionTtlSeconds = () => {
13
13
  const days = Env.getInt('KV_LOG_RETENTION_DAYS', 30);
14
14
  const safeDays = Number.isFinite(days) && days > 0 ? days : 30;
@@ -8,9 +8,9 @@
8
8
  * - SLACK_LOG_LEVELS (comma-separated; default: "warn,error,fatal")
9
9
  * - SLACK_LOG_BATCH_WINDOW_MS (default: 5000)
10
10
  */
11
- import { Env } from '../env';
12
- import { ErrorFactory } from '../../exceptions/ZintrustError';
13
- import { HttpClient } from '../../tools/http/Http';
11
+ import { Env } from '../env.js';
12
+ import { ErrorFactory } from '../../exceptions/ZintrustError.js';
13
+ import { HttpClient } from '../../tools/http/Http.js';
14
14
  const isEnabled = () => Env.getBool('SLACK_LOG_ENABLED', false);
15
15
  const getLevels = () => {
16
16
  const raw = Env.get('SLACK_LOG_LEVELS', 'warn,error,fatal');
@@ -3,33 +3,7 @@
3
3
  * Runtime mail drivers and settings
4
4
  * Sealed namespace for immutability
5
5
  */
6
- export type MailDriverName = 'disabled' | 'sendgrid' | 'smtp' | 'ses' | 'mailgun';
7
- export type DisabledMailDriverConfig = {
8
- driver: 'disabled';
9
- };
10
- export type SendGridMailDriverConfig = {
11
- driver: 'sendgrid';
12
- apiKey: string;
13
- };
14
- export type MailgunMailDriverConfig = {
15
- driver: 'mailgun';
16
- apiKey: string;
17
- domain: string;
18
- baseUrl: string;
19
- };
20
- export type SmtpMailDriverConfig = {
21
- driver: 'smtp';
22
- host: string;
23
- port: number;
24
- username: string;
25
- password: string;
26
- secure: boolean | 'starttls';
27
- };
28
- export type SesMailDriverConfig = {
29
- driver: 'ses';
30
- region: string;
31
- };
32
- export type MailDriverConfig = DisabledMailDriverConfig | SendGridMailDriverConfig | MailgunMailDriverConfig | SmtpMailDriverConfig | SesMailDriverConfig;
6
+ import type { MailDriverConfig, MailDriverName } from './type';
33
7
  export declare const mailConfig: Readonly<{
34
8
  /**
35
9
  * Default mail driver
@@ -1 +1 @@
1
- {"version":3,"file":"mail.d.ts","sourceRoot":"","sources":["../../../src/config/mail.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAIH,MAAM,MAAM,cAAc,GAAG,UAAU,GAAG,UAAU,GAAG,MAAM,GAAG,KAAK,GAAG,SAAS,CAAC;AAElF,MAAM,MAAM,wBAAwB,GAAG;IACrC,MAAM,EAAE,UAAU,CAAC;CACpB,CAAC;AAEF,MAAM,MAAM,wBAAwB,GAAG;IACrC,MAAM,EAAE,UAAU,CAAC;IACnB,MAAM,EAAE,MAAM,CAAC;CAChB,CAAC;AAEF,MAAM,MAAM,uBAAuB,GAAG;IACpC,MAAM,EAAE,SAAS,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;CACjB,CAAC;AAGF,MAAM,MAAM,oBAAoB,GAAG;IACjC,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,OAAO,GAAG,UAAU,CAAC;CAC9B,CAAC;AAEF,MAAM,MAAM,mBAAmB,GAAG;IAChC,MAAM,EAAE,KAAK,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;CAChB,CAAC;AAEF,MAAM,MAAM,gBAAgB,GACxB,wBAAwB,GACxB,wBAAwB,GACxB,uBAAuB,GACvB,oBAAoB,GACpB,mBAAmB,CAAC;AA6FxB,eAAO,MAAM,UAAU;IA9DrB;;OAEG;;IAGH;;OAEG;;;;;IAMH;;OAEG;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAuCH;;OAEG;8BACU,gBAAgB;EAKuB,CAAC;AACvD,MAAM,MAAM,UAAU,GAAG,OAAO,UAAU,CAAC"}
1
+ {"version":3,"file":"mail.d.ts","sourceRoot":"","sources":["../../../src/config/mail.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,KAAK,EAAmB,gBAAgB,EAAE,cAAc,EAAe,MAAM,cAAc,CAAC;AA4EnG,eAAO,MAAM,UAAU;IA9DrB;;OAEG;;IAGH;;OAEG;;;;;IAMH;;OAEG;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAuCH;;OAEG;8BACU,gBAAgB;EAKuB,CAAC;AACvD,MAAM,MAAM,UAAU,GAAG,OAAO,UAAU,CAAC"}
@@ -3,7 +3,7 @@
3
3
  * Runtime mail drivers and settings
4
4
  * Sealed namespace for immutability
5
5
  */
6
- import { Env } from './env';
6
+ import { Env } from './env.js';
7
7
  const getMailDriver = (config) => {
8
8
  const defaultDriver = config.default;
9
9
  if (Object.hasOwn(config.drivers, defaultDriver)) {
@@ -3,7 +3,7 @@
3
3
  * Microservices architecture and service discovery settings
4
4
  * Sealed namespace for immutability
5
5
  */
6
- import { Env } from './env';
6
+ import { Env } from './env.js';
7
7
  const microservicesConfigObj = {
8
8
  /**
9
9
  * Enable microservices mode
@@ -1,8 +1,4 @@
1
- import type { Middleware } from '../middleware/MiddlewareStack';
2
- export type MiddlewareConfig = {
3
- global: Middleware[];
4
- route: Record<string, Middleware>;
5
- };
6
- export declare const middlewareConfig: Readonly<MiddlewareConfig>;
1
+ import { MiddlewareConfigType } from './type';
2
+ export declare const middlewareConfig: Readonly<MiddlewareConfigType>;
7
3
  export default middlewareConfig;
8
4
  //# sourceMappingURL=middleware.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"middleware.d.ts","sourceRoot":"","sources":["../../../src/config/middleware.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,6BAA6B,CAAC;AAI9D,MAAM,MAAM,gBAAgB,GAAG;IAC7B,MAAM,EAAE,UAAU,EAAE,CAAC;IACrB,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;CACnC,CAAC;AAeF,eAAO,MAAM,gBAAgB,4BAAqC,CAAC;AACnE,eAAe,gBAAgB,CAAC"}
1
+ {"version":3,"file":"middleware.d.ts","sourceRoot":"","sources":["../../../src/config/middleware.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,cAAc,CAAC;AAqBpD,eAAO,MAAM,gBAAgB,gCAAqC,CAAC;AACnE,eAAe,gBAAgB,CAAC"}
@@ -1,8 +1,8 @@
1
- import { CsrfMiddleware } from '../middleware/CsrfMiddleware';
2
- import { ErrorHandlerMiddleware } from '../middleware/ErrorHandlerMiddleware';
3
- import { LoggingMiddleware } from '../middleware/LoggingMiddleware';
4
- import { RateLimiter } from '../middleware/RateLimiter';
5
- import { SecurityMiddleware } from '../middleware/SecurityMiddleware';
1
+ import { CsrfMiddleware } from '../middleware/CsrfMiddleware.js';
2
+ import { ErrorHandlerMiddleware } from '../middleware/ErrorHandlerMiddleware.js';
3
+ import { LoggingMiddleware } from '../middleware/LoggingMiddleware.js';
4
+ import { RateLimiter } from '../middleware/RateLimiter.js';
5
+ import { SecurityMiddleware } from '../middleware/SecurityMiddleware.js';
6
6
  const shared = Object.freeze({
7
7
  log: LoggingMiddleware.create(),
8
8
  error: ErrorHandlerMiddleware.create(),
@@ -4,27 +4,6 @@
4
4
  * Config-first mapping of notification providers.
5
5
  * Keeps runtime driver selection in one place and uses Env for safe access.
6
6
  */
7
- export type KnownNotificationDriverName = 'console' | 'termii' | 'twilio' | 'slack';
8
- export type ConsoleNotificationDriverConfig = {
9
- driver: 'console';
10
- };
11
- export type TermiiNotificationDriverConfig = {
12
- driver: 'termii';
13
- apiKey: string;
14
- sender: string;
15
- endpoint: string;
16
- };
17
- export type TwilioNotificationDriverConfig = {
18
- driver: 'twilio';
19
- accountSid: string;
20
- authToken: string;
21
- fromNumber: string;
22
- };
23
- export type SlackNotificationDriverConfig = {
24
- driver: 'slack';
25
- webhookUrl: string;
26
- };
27
- export type KnownNotificationDriverConfig = ConsoleNotificationDriverConfig | TermiiNotificationDriverConfig | TwilioNotificationDriverConfig | SlackNotificationDriverConfig;
28
7
  declare const _default: Readonly<{
29
8
  /**
30
9
  * Normalized notification driver name.
@@ -1 +1 @@
1
- {"version":3,"file":"notification.d.ts","sourceRoot":"","sources":["../../../src/config/notification.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAIH,MAAM,MAAM,2BAA2B,GAAG,SAAS,GAAG,QAAQ,GAAG,QAAQ,GAAG,OAAO,CAAC;AAEpF,MAAM,MAAM,+BAA+B,GAAG;IAAE,MAAM,EAAE,SAAS,CAAA;CAAE,CAAC;AAEpE,MAAM,MAAM,8BAA8B,GAAG;IAC3C,MAAM,EAAE,QAAQ,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;CAClB,CAAC;AAEF,MAAM,MAAM,8BAA8B,GAAG;IAC3C,MAAM,EAAE,QAAQ,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;CACpB,CAAC;AAEF,MAAM,MAAM,6BAA6B,GAAG;IAC1C,MAAM,EAAE,OAAO,CAAC;IAChB,UAAU,EAAE,MAAM,CAAC;CACpB,CAAC;AAEF,MAAM,MAAM,6BAA6B,GACrC,+BAA+B,GAC/B,8BAA8B,GAC9B,8BAA8B,GAC9B,6BAA6B,CAAC;;IAUhC;;;;;OAKG;kCACc,MAAM;IAIvB;;OAEG;;;;;;;;;;;;;;;;;;;;;;;AA2BL,wBAAoD"}
1
+ {"version":3,"file":"notification.d.ts","sourceRoot":"","sources":["../../../src/config/notification.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;;IAMD;;;;;OAKG;kCACc,MAAM;IAIvB;;OAEG;;;;;;;;;;;;;;;;;;;;;;;AA2BL,wBAAoD"}
@@ -4,7 +4,7 @@
4
4
  * Config-first mapping of notification providers.
5
5
  * Keeps runtime driver selection in one place and uses Env for safe access.
6
6
  */
7
- import { Env } from './env';
7
+ import { Env } from './env.js';
8
8
  const notificationConfigObj = {
9
9
  /**
10
10
  * Normalized notification driver name.