@zintrust/core 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 (494) hide show
  1. package/bin/z.d.ts +7 -0
  2. package/bin/z.d.ts.map +1 -0
  3. package/bin/z.js +6 -0
  4. package/bin/zin.d.ts +7 -0
  5. package/bin/zin.d.ts.map +1 -0
  6. package/bin/zin.js +6 -0
  7. package/bin/zintrust-microservices.d.ts +7 -0
  8. package/bin/zintrust-microservices.d.ts.map +1 -0
  9. package/bin/zintrust-microservices.js +165 -0
  10. package/bin/zintrust.d.ts +9 -0
  11. package/bin/zintrust.d.ts.map +1 -0
  12. package/bin/zintrust.js +51 -0
  13. package/bin/zt.d.ts +7 -0
  14. package/bin/zt.d.ts.map +1 -0
  15. package/bin/zt.js +6 -0
  16. package/package.json +80 -0
  17. package/src/boot/Application.d.ts +31 -0
  18. package/src/boot/Application.d.ts.map +1 -0
  19. package/src/boot/Application.js +159 -0
  20. package/src/boot/Server.d.ts +23 -0
  21. package/src/boot/Server.d.ts.map +1 -0
  22. package/src/boot/Server.js +236 -0
  23. package/src/boot/bootstrap.d.ts +7 -0
  24. package/src/boot/bootstrap.d.ts.map +1 -0
  25. package/src/boot/bootstrap.js +64 -0
  26. package/src/builder/BundleOptimizer.d.ts +42 -0
  27. package/src/builder/BundleOptimizer.d.ts.map +1 -0
  28. package/src/builder/BundleOptimizer.js +356 -0
  29. package/src/cache/Cache.d.ts +26 -0
  30. package/src/cache/Cache.d.ts.map +1 -0
  31. package/src/cache/Cache.js +89 -0
  32. package/src/cache/CacheDriver.d.ts +28 -0
  33. package/src/cache/CacheDriver.d.ts.map +1 -0
  34. package/src/cache/CacheDriver.js +6 -0
  35. package/src/cache/drivers/KVDriver.d.ts +12 -0
  36. package/src/cache/drivers/KVDriver.d.ts.map +1 -0
  37. package/src/cache/drivers/KVDriver.js +54 -0
  38. package/src/cache/drivers/MemoryDriver.d.ts +12 -0
  39. package/src/cache/drivers/MemoryDriver.d.ts.map +1 -0
  40. package/src/cache/drivers/MemoryDriver.js +50 -0
  41. package/src/cache/drivers/MongoDriver.d.ts +17 -0
  42. package/src/cache/drivers/MongoDriver.d.ts.map +1 -0
  43. package/src/cache/drivers/MongoDriver.js +80 -0
  44. package/src/cache/drivers/RedisDriver.d.ts +12 -0
  45. package/src/cache/drivers/RedisDriver.d.ts.map +1 -0
  46. package/src/cache/drivers/RedisDriver.js +79 -0
  47. package/src/cli/BaseCommand.d.ts +39 -0
  48. package/src/cli/BaseCommand.d.ts.map +1 -0
  49. package/src/cli/BaseCommand.js +58 -0
  50. package/src/cli/CLI.d.ts +21 -0
  51. package/src/cli/CLI.d.ts.map +1 -0
  52. package/src/cli/CLI.js +203 -0
  53. package/src/cli/ErrorHandler.d.ts +23 -0
  54. package/src/cli/ErrorHandler.d.ts.map +1 -0
  55. package/src/cli/ErrorHandler.js +95 -0
  56. package/src/cli/PromptHelper.d.ts +47 -0
  57. package/src/cli/PromptHelper.d.ts.map +1 -0
  58. package/src/cli/PromptHelper.js +155 -0
  59. package/src/cli/commands/AddCommand.d.ts +15 -0
  60. package/src/cli/commands/AddCommand.d.ts.map +1 -0
  61. package/src/cli/commands/AddCommand.js +817 -0
  62. package/src/cli/commands/ConfigCommand.d.ts +15 -0
  63. package/src/cli/commands/ConfigCommand.d.ts.map +1 -0
  64. package/src/cli/commands/ConfigCommand.js +273 -0
  65. package/src/cli/commands/D1MigrateCommand.d.ts +15 -0
  66. package/src/cli/commands/D1MigrateCommand.d.ts.map +1 -0
  67. package/src/cli/commands/D1MigrateCommand.js +73 -0
  68. package/src/cli/commands/DebugCommand.d.ts +15 -0
  69. package/src/cli/commands/DebugCommand.d.ts.map +1 -0
  70. package/src/cli/commands/DebugCommand.js +52 -0
  71. package/src/cli/commands/FixCommand.d.ts +15 -0
  72. package/src/cli/commands/FixCommand.d.ts.map +1 -0
  73. package/src/cli/commands/FixCommand.js +80 -0
  74. package/src/cli/commands/KeyGenerateCommand.d.ts +9 -0
  75. package/src/cli/commands/KeyGenerateCommand.d.ts.map +1 -0
  76. package/src/cli/commands/KeyGenerateCommand.js +76 -0
  77. package/src/cli/commands/LogsCommand.d.ts +19 -0
  78. package/src/cli/commands/LogsCommand.d.ts.map +1 -0
  79. package/src/cli/commands/LogsCommand.js +185 -0
  80. package/src/cli/commands/MigrateCommand.d.ts +15 -0
  81. package/src/cli/commands/MigrateCommand.d.ts.map +1 -0
  82. package/src/cli/commands/MigrateCommand.js +56 -0
  83. package/src/cli/commands/NewCommand.d.ts +32 -0
  84. package/src/cli/commands/NewCommand.d.ts.map +1 -0
  85. package/src/cli/commands/NewCommand.js +280 -0
  86. package/src/cli/commands/PluginCommand.d.ts +9 -0
  87. package/src/cli/commands/PluginCommand.d.ts.map +1 -0
  88. package/src/cli/commands/PluginCommand.js +94 -0
  89. package/src/cli/commands/PrepareCommand.d.ts +8 -0
  90. package/src/cli/commands/PrepareCommand.d.ts.map +1 -0
  91. package/src/cli/commands/PrepareCommand.js +51 -0
  92. package/src/cli/commands/QACommand.d.ts +33 -0
  93. package/src/cli/commands/QACommand.d.ts.map +1 -0
  94. package/src/cli/commands/QACommand.js +490 -0
  95. package/src/cli/commands/SimulateCommand.d.ts +12 -0
  96. package/src/cli/commands/SimulateCommand.d.ts.map +1 -0
  97. package/src/cli/commands/SimulateCommand.js +79 -0
  98. package/src/cli/commands/StartCommand.d.ts +5 -0
  99. package/src/cli/commands/StartCommand.d.ts.map +1 -0
  100. package/src/cli/commands/StartCommand.js +227 -0
  101. package/src/cli/commands/index.d.ts +11 -0
  102. package/src/cli/commands/index.d.ts.map +1 -0
  103. package/src/cli/commands/index.js +10 -0
  104. package/src/cli/config/ConfigManager.d.ts +42 -0
  105. package/src/cli/config/ConfigManager.d.ts.map +1 -0
  106. package/src/cli/config/ConfigManager.js +175 -0
  107. package/src/cli/config/ConfigSchema.d.ts +195 -0
  108. package/src/cli/config/ConfigSchema.d.ts.map +1 -0
  109. package/src/cli/config/ConfigSchema.js +171 -0
  110. package/src/cli/config/ConfigValidator.d.ts +41 -0
  111. package/src/cli/config/ConfigValidator.d.ts.map +1 -0
  112. package/src/cli/config/ConfigValidator.js +200 -0
  113. package/src/cli/config/index.d.ts +8 -0
  114. package/src/cli/config/index.d.ts.map +1 -0
  115. package/src/cli/config/index.js +7 -0
  116. package/src/cli/debug/Dashboard.d.ts +34 -0
  117. package/src/cli/debug/Dashboard.d.ts.map +1 -0
  118. package/src/cli/debug/Dashboard.js +152 -0
  119. package/src/cli/index.d.ts +14 -0
  120. package/src/cli/index.d.ts.map +1 -0
  121. package/src/cli/index.js +14 -0
  122. package/src/cli/logger/Logger.d.ts +43 -0
  123. package/src/cli/logger/Logger.d.ts.map +1 -0
  124. package/src/cli/logger/Logger.js +137 -0
  125. package/src/cli/scaffolding/ControllerGenerator.d.ts +44 -0
  126. package/src/cli/scaffolding/ControllerGenerator.d.ts.map +1 -0
  127. package/src/cli/scaffolding/ControllerGenerator.js +540 -0
  128. package/src/cli/scaffolding/FactoryGenerator.d.ts +47 -0
  129. package/src/cli/scaffolding/FactoryGenerator.d.ts.map +1 -0
  130. package/src/cli/scaffolding/FactoryGenerator.js +356 -0
  131. package/src/cli/scaffolding/FeatureScaffolder.d.ts +40 -0
  132. package/src/cli/scaffolding/FeatureScaffolder.d.ts.map +1 -0
  133. package/src/cli/scaffolding/FeatureScaffolder.js +747 -0
  134. package/src/cli/scaffolding/FileGenerator.d.ts +31 -0
  135. package/src/cli/scaffolding/FileGenerator.d.ts.map +1 -0
  136. package/src/cli/scaffolding/FileGenerator.js +222 -0
  137. package/src/cli/scaffolding/MigrationGenerator.d.ts +35 -0
  138. package/src/cli/scaffolding/MigrationGenerator.d.ts.map +1 -0
  139. package/src/cli/scaffolding/MigrationGenerator.js +257 -0
  140. package/src/cli/scaffolding/ModelGenerator.d.ts +81 -0
  141. package/src/cli/scaffolding/ModelGenerator.d.ts.map +1 -0
  142. package/src/cli/scaffolding/ModelGenerator.js +249 -0
  143. package/src/cli/scaffolding/ProjectScaffolder.d.ts +66 -0
  144. package/src/cli/scaffolding/ProjectScaffolder.d.ts.map +1 -0
  145. package/src/cli/scaffolding/ProjectScaffolder.js +439 -0
  146. package/src/cli/scaffolding/RequestFactoryGenerator.d.ts +50 -0
  147. package/src/cli/scaffolding/RequestFactoryGenerator.d.ts.map +1 -0
  148. package/src/cli/scaffolding/RequestFactoryGenerator.js +465 -0
  149. package/src/cli/scaffolding/ResponseFactoryGenerator.d.ts +43 -0
  150. package/src/cli/scaffolding/ResponseFactoryGenerator.d.ts.map +1 -0
  151. package/src/cli/scaffolding/ResponseFactoryGenerator.js +321 -0
  152. package/src/cli/scaffolding/RouteGenerator.d.ts +66 -0
  153. package/src/cli/scaffolding/RouteGenerator.d.ts.map +1 -0
  154. package/src/cli/scaffolding/RouteGenerator.js +306 -0
  155. package/src/cli/scaffolding/SeederGenerator.d.ts +47 -0
  156. package/src/cli/scaffolding/SeederGenerator.d.ts.map +1 -0
  157. package/src/cli/scaffolding/SeederGenerator.js +286 -0
  158. package/src/cli/scaffolding/ServiceIntegrationTestGenerator.d.ts +40 -0
  159. package/src/cli/scaffolding/ServiceIntegrationTestGenerator.d.ts.map +1 -0
  160. package/src/cli/scaffolding/ServiceIntegrationTestGenerator.js +267 -0
  161. package/src/cli/scaffolding/ServiceRequestFactoryGenerator.d.ts +45 -0
  162. package/src/cli/scaffolding/ServiceRequestFactoryGenerator.d.ts.map +1 -0
  163. package/src/cli/scaffolding/ServiceRequestFactoryGenerator.js +397 -0
  164. package/src/cli/scaffolding/ServiceScaffolder.d.ts +45 -0
  165. package/src/cli/scaffolding/ServiceScaffolder.d.ts.map +1 -0
  166. package/src/cli/scaffolding/ServiceScaffolder.js +367 -0
  167. package/src/cli/scaffolding/TemplateEngine.d.ts +35 -0
  168. package/src/cli/scaffolding/TemplateEngine.d.ts.map +1 -0
  169. package/src/cli/scaffolding/TemplateEngine.js +379 -0
  170. package/src/cli/scaffolding/WorkflowGenerator.d.ts +31 -0
  171. package/src/cli/scaffolding/WorkflowGenerator.d.ts.map +1 -0
  172. package/src/cli/scaffolding/WorkflowGenerator.js +193 -0
  173. package/src/cli/scaffolding/index.d.ts +34 -0
  174. package/src/cli/scaffolding/index.d.ts.map +1 -0
  175. package/src/cli/scaffolding/index.js +18 -0
  176. package/src/cli/utils/DistPackager.d.ts +8 -0
  177. package/src/cli/utils/DistPackager.d.ts.map +1 -0
  178. package/src/cli/utils/DistPackager.js +94 -0
  179. package/src/cli/utils/EnvFileLoader.d.ts +21 -0
  180. package/src/cli/utils/EnvFileLoader.d.ts.map +1 -0
  181. package/src/cli/utils/EnvFileLoader.js +166 -0
  182. package/src/cli/utils/spawn.d.ts +11 -0
  183. package/src/cli/utils/spawn.d.ts.map +1 -0
  184. package/src/cli/utils/spawn.js +81 -0
  185. package/src/common/index.d.ts +87 -0
  186. package/src/common/index.d.ts.map +1 -0
  187. package/src/common/index.js +207 -0
  188. package/src/config/SecretsManager.d.ts +122 -0
  189. package/src/config/SecretsManager.d.ts.map +1 -0
  190. package/src/config/SecretsManager.js +328 -0
  191. package/src/config/app.d.ts +56 -0
  192. package/src/config/app.d.ts.map +1 -0
  193. package/src/config/app.js +77 -0
  194. package/src/config/cache.d.ts +76 -0
  195. package/src/config/cache.d.ts.map +1 -0
  196. package/src/config/cache.js +62 -0
  197. package/src/config/constants.d.ts +108 -0
  198. package/src/config/constants.d.ts.map +1 -0
  199. package/src/config/constants.js +64 -0
  200. package/src/config/database.d.ts +122 -0
  201. package/src/config/database.d.ts.map +1 -0
  202. package/src/config/database.js +89 -0
  203. package/src/config/env.d.ts +56 -0
  204. package/src/config/env.d.ts.map +1 -0
  205. package/src/config/env.js +133 -0
  206. package/src/config/features.d.ts +27 -0
  207. package/src/config/features.d.ts.map +1 -0
  208. package/src/config/features.js +49 -0
  209. package/src/config/index.d.ts +554 -0
  210. package/src/config/index.d.ts.map +1 -0
  211. package/src/config/index.js +31 -0
  212. package/src/config/logger.d.ts +17 -0
  213. package/src/config/logger.d.ts.map +1 -0
  214. package/src/config/logger.js +77 -0
  215. package/src/config/microservices.d.ts +88 -0
  216. package/src/config/microservices.d.ts.map +1 -0
  217. package/src/config/microservices.js +90 -0
  218. package/src/config/queue.d.ts +107 -0
  219. package/src/config/queue.d.ts.map +1 -0
  220. package/src/config/queue.js +74 -0
  221. package/src/config/security.d.ts +108 -0
  222. package/src/config/security.d.ts.map +1 -0
  223. package/src/config/security.js +134 -0
  224. package/src/config/storage.d.ts +105 -0
  225. package/src/config/storage.d.ts.map +1 -0
  226. package/src/config/storage.js +79 -0
  227. package/src/container/ServiceContainer.d.ts +25 -0
  228. package/src/container/ServiceContainer.d.ts.map +1 -0
  229. package/src/container/ServiceContainer.js +75 -0
  230. package/src/database/migrations/index.d.ts +2 -0
  231. package/src/database/migrations/index.d.ts.map +1 -0
  232. package/src/database/migrations/index.js +1 -0
  233. package/src/exceptions/ZintrustError.d.ts +88 -0
  234. package/src/exceptions/ZintrustError.d.ts.map +1 -0
  235. package/src/exceptions/ZintrustError.js +110 -0
  236. package/src/features/Auth.d.ts +20 -0
  237. package/src/features/Auth.d.ts.map +1 -0
  238. package/src/features/Auth.js +32 -0
  239. package/src/features/Queue.d.ts +21 -0
  240. package/src/features/Queue.d.ts.map +1 -0
  241. package/src/features/Queue.js +59 -0
  242. package/src/functions/cloudflare.d.ts +5 -0
  243. package/src/functions/cloudflare.d.ts.map +1 -0
  244. package/src/functions/cloudflare.js +34 -0
  245. package/src/functions/deno.d.ts +3 -0
  246. package/src/functions/deno.d.ts.map +1 -0
  247. package/src/functions/deno.js +31 -0
  248. package/src/functions/lambda.d.ts +2 -0
  249. package/src/functions/lambda.d.ts.map +1 -0
  250. package/src/functions/lambda.js +32 -0
  251. package/src/http/Controller.d.ts +20 -0
  252. package/src/http/Controller.d.ts.map +1 -0
  253. package/src/http/Controller.js +46 -0
  254. package/src/http/Kernel.d.ts +24 -0
  255. package/src/http/Kernel.d.ts.map +1 -0
  256. package/src/http/Kernel.js +72 -0
  257. package/src/http/Request.d.ts +36 -0
  258. package/src/http/Request.d.ts.map +1 -0
  259. package/src/http/Request.js +142 -0
  260. package/src/http/Response.d.ts +32 -0
  261. package/src/http/Response.d.ts.map +1 -0
  262. package/src/http/Response.js +70 -0
  263. package/src/index.d.ts +43 -0
  264. package/src/index.d.ts.map +1 -0
  265. package/src/index.js +37 -0
  266. package/src/microservices/MicroserviceBootstrap.d.ts +75 -0
  267. package/src/microservices/MicroserviceBootstrap.d.ts.map +1 -0
  268. package/src/microservices/MicroserviceBootstrap.js +285 -0
  269. package/src/microservices/MicroserviceGenerator.d.ts +27 -0
  270. package/src/microservices/MicroserviceGenerator.d.ts.map +1 -0
  271. package/src/microservices/MicroserviceGenerator.js +436 -0
  272. package/src/microservices/MicroserviceManager.d.ts +68 -0
  273. package/src/microservices/MicroserviceManager.d.ts.map +1 -0
  274. package/src/microservices/MicroserviceManager.js +266 -0
  275. package/src/microservices/PostgresAdapter.d.ts +90 -0
  276. package/src/microservices/PostgresAdapter.d.ts.map +1 -0
  277. package/src/microservices/PostgresAdapter.js +286 -0
  278. package/src/microservices/RequestTracingMiddleware.d.ts +41 -0
  279. package/src/microservices/RequestTracingMiddleware.d.ts.map +1 -0
  280. package/src/microservices/RequestTracingMiddleware.js +122 -0
  281. package/src/microservices/ServiceAuthMiddleware.d.ts +58 -0
  282. package/src/microservices/ServiceAuthMiddleware.d.ts.map +1 -0
  283. package/src/microservices/ServiceAuthMiddleware.js +240 -0
  284. package/src/microservices/ServiceBundler.d.ts +45 -0
  285. package/src/microservices/ServiceBundler.d.ts.map +1 -0
  286. package/src/microservices/ServiceBundler.js +297 -0
  287. package/src/microservices/ServiceHealthMonitor.d.ts +96 -0
  288. package/src/microservices/ServiceHealthMonitor.d.ts.map +1 -0
  289. package/src/microservices/ServiceHealthMonitor.js +379 -0
  290. package/src/middleware/CsrfMiddleware.d.ts +19 -0
  291. package/src/middleware/CsrfMiddleware.d.ts.map +1 -0
  292. package/src/middleware/CsrfMiddleware.js +121 -0
  293. package/src/middleware/MiddlewareStack.d.ts +27 -0
  294. package/src/middleware/MiddlewareStack.d.ts.map +1 -0
  295. package/src/middleware/MiddlewareStack.js +43 -0
  296. package/src/middleware/RateLimiter.d.ts +22 -0
  297. package/src/middleware/RateLimiter.d.ts.map +1 -0
  298. package/src/middleware/RateLimiter.js +72 -0
  299. package/src/middleware/SecurityMiddleware.d.ts +33 -0
  300. package/src/middleware/SecurityMiddleware.d.ts.map +1 -0
  301. package/src/middleware/SecurityMiddleware.js +106 -0
  302. package/src/middleware/index.d.ts +9 -0
  303. package/src/middleware/index.d.ts.map +1 -0
  304. package/src/middleware/index.js +8 -0
  305. package/src/node-singletons/child-process.d.ts +7 -0
  306. package/src/node-singletons/child-process.d.ts.map +1 -0
  307. package/src/node-singletons/child-process.js +6 -0
  308. package/src/node-singletons/crypto.d.ts +7 -0
  309. package/src/node-singletons/crypto.d.ts.map +1 -0
  310. package/src/node-singletons/crypto.js +6 -0
  311. package/src/node-singletons/events.d.ts +7 -0
  312. package/src/node-singletons/events.d.ts.map +1 -0
  313. package/src/node-singletons/events.js +6 -0
  314. package/src/node-singletons/fs.d.ts +12 -0
  315. package/src/node-singletons/fs.d.ts.map +1 -0
  316. package/src/node-singletons/fs.js +14 -0
  317. package/src/node-singletons/http.d.ts +8 -0
  318. package/src/node-singletons/http.d.ts.map +1 -0
  319. package/src/node-singletons/http.js +6 -0
  320. package/src/node-singletons/index.d.ts +30 -0
  321. package/src/node-singletons/index.d.ts.map +1 -0
  322. package/src/node-singletons/index.js +31 -0
  323. package/src/node-singletons/os.d.ts +9 -0
  324. package/src/node-singletons/os.d.ts.map +1 -0
  325. package/src/node-singletons/os.js +9 -0
  326. package/src/node-singletons/path.d.ts +7 -0
  327. package/src/node-singletons/path.d.ts.map +1 -0
  328. package/src/node-singletons/path.js +6 -0
  329. package/src/node-singletons/perf-hooks.d.ts +7 -0
  330. package/src/node-singletons/perf-hooks.d.ts.map +1 -0
  331. package/src/node-singletons/perf-hooks.js +6 -0
  332. package/src/node-singletons/readline.d.ts +10 -0
  333. package/src/node-singletons/readline.d.ts.map +1 -0
  334. package/src/node-singletons/readline.js +9 -0
  335. package/src/node-singletons/url.d.ts +7 -0
  336. package/src/node-singletons/url.d.ts.map +1 -0
  337. package/src/node-singletons/url.js +6 -0
  338. package/src/orm/ConnectionManager.d.ts +118 -0
  339. package/src/orm/ConnectionManager.d.ts.map +1 -0
  340. package/src/orm/ConnectionManager.js +401 -0
  341. package/src/orm/Database.d.ts +31 -0
  342. package/src/orm/Database.d.ts.map +1 -0
  343. package/src/orm/Database.js +163 -0
  344. package/src/orm/DatabaseAdapter.d.ts +96 -0
  345. package/src/orm/DatabaseAdapter.d.ts.map +1 -0
  346. package/src/orm/DatabaseAdapter.js +40 -0
  347. package/src/orm/Model.d.ts +91 -0
  348. package/src/orm/Model.d.ts.map +1 -0
  349. package/src/orm/Model.js +206 -0
  350. package/src/orm/QueryBuilder.d.ts +52 -0
  351. package/src/orm/QueryBuilder.d.ts.map +1 -0
  352. package/src/orm/QueryBuilder.js +134 -0
  353. package/src/orm/Relationships.d.ts +53 -0
  354. package/src/orm/Relationships.d.ts.map +1 -0
  355. package/src/orm/Relationships.js +98 -0
  356. package/src/orm/Schema.d.ts +123 -0
  357. package/src/orm/Schema.d.ts.map +1 -0
  358. package/src/orm/Schema.js +169 -0
  359. package/src/orm/adapters/D1Adapter.d.ts +15 -0
  360. package/src/orm/adapters/D1Adapter.d.ts.map +1 -0
  361. package/src/orm/adapters/D1Adapter.js +125 -0
  362. package/src/orm/adapters/MySQLAdapter.d.ts +16 -0
  363. package/src/orm/adapters/MySQLAdapter.d.ts.map +1 -0
  364. package/src/orm/adapters/MySQLAdapter.js +87 -0
  365. package/src/orm/adapters/PostgreSQLAdapter.d.ts +16 -0
  366. package/src/orm/adapters/PostgreSQLAdapter.d.ts.map +1 -0
  367. package/src/orm/adapters/PostgreSQLAdapter.js +87 -0
  368. package/src/orm/adapters/SQLServerAdapter.d.ts +16 -0
  369. package/src/orm/adapters/SQLServerAdapter.d.ts.map +1 -0
  370. package/src/orm/adapters/SQLServerAdapter.js +81 -0
  371. package/src/orm/adapters/SQLiteAdapter.d.ts +11 -0
  372. package/src/orm/adapters/SQLiteAdapter.d.ts.map +1 -0
  373. package/src/orm/adapters/SQLiteAdapter.js +131 -0
  374. package/src/performance/Benchmark.d.ts +87 -0
  375. package/src/performance/Benchmark.d.ts.map +1 -0
  376. package/src/performance/Benchmark.js +304 -0
  377. package/src/performance/CodeGenerationBenchmark.d.ts +23 -0
  378. package/src/performance/CodeGenerationBenchmark.d.ts.map +1 -0
  379. package/src/performance/CodeGenerationBenchmark.js +249 -0
  380. package/src/performance/Optimizer.d.ts +99 -0
  381. package/src/performance/Optimizer.d.ts.map +1 -0
  382. package/src/performance/Optimizer.js +396 -0
  383. package/src/performance/establish-baseline.d.ts +9 -0
  384. package/src/performance/establish-baseline.d.ts.map +1 -0
  385. package/src/performance/establish-baseline.js +55 -0
  386. package/src/profiling/MemoryProfiler.d.ts +32 -0
  387. package/src/profiling/MemoryProfiler.d.ts.map +1 -0
  388. package/src/profiling/MemoryProfiler.js +84 -0
  389. package/src/profiling/N1Detector.d.ts +16 -0
  390. package/src/profiling/N1Detector.d.ts.map +1 -0
  391. package/src/profiling/N1Detector.js +120 -0
  392. package/src/profiling/QueryLogger.d.ts +107 -0
  393. package/src/profiling/QueryLogger.d.ts.map +1 -0
  394. package/src/profiling/QueryLogger.js +148 -0
  395. package/src/profiling/RequestProfiler.d.ts +30 -0
  396. package/src/profiling/RequestProfiler.d.ts.map +1 -0
  397. package/src/profiling/RequestProfiler.js +94 -0
  398. package/src/profiling/types.d.ts +77 -0
  399. package/src/profiling/types.d.ts.map +1 -0
  400. package/src/profiling/types.js +5 -0
  401. package/src/routing/Router.d.ts +52 -0
  402. package/src/routing/Router.d.ts.map +1 -0
  403. package/src/routing/Router.js +191 -0
  404. package/src/runtime/PluginManager.d.ts +30 -0
  405. package/src/runtime/PluginManager.d.ts.map +1 -0
  406. package/src/runtime/PluginManager.js +197 -0
  407. package/src/runtime/PluginRegistry.d.ts +22 -0
  408. package/src/runtime/PluginRegistry.d.ts.map +1 -0
  409. package/src/runtime/PluginRegistry.js +93 -0
  410. package/src/runtime/RuntimeAdapter.d.ts +126 -0
  411. package/src/runtime/RuntimeAdapter.d.ts.map +1 -0
  412. package/src/runtime/RuntimeAdapter.js +127 -0
  413. package/src/runtime/RuntimeDetector.d.ts +15 -0
  414. package/src/runtime/RuntimeDetector.d.ts.map +1 -0
  415. package/src/runtime/RuntimeDetector.js +219 -0
  416. package/src/runtime/adapters/CloudflareAdapter.d.ts +43 -0
  417. package/src/runtime/adapters/CloudflareAdapter.d.ts.map +1 -0
  418. package/src/runtime/adapters/CloudflareAdapter.js +175 -0
  419. package/src/runtime/adapters/DenoAdapter.d.ts +30 -0
  420. package/src/runtime/adapters/DenoAdapter.d.ts.map +1 -0
  421. package/src/runtime/adapters/DenoAdapter.js +191 -0
  422. package/src/runtime/adapters/FargateAdapter.d.ts +40 -0
  423. package/src/runtime/adapters/FargateAdapter.d.ts.map +1 -0
  424. package/src/runtime/adapters/FargateAdapter.js +156 -0
  425. package/src/runtime/adapters/LambdaAdapter.d.ts +13 -0
  426. package/src/runtime/adapters/LambdaAdapter.d.ts.map +1 -0
  427. package/src/runtime/adapters/LambdaAdapter.js +302 -0
  428. package/src/runtime/adapters/NodeServerAdapter.d.ts +16 -0
  429. package/src/runtime/adapters/NodeServerAdapter.d.ts.map +1 -0
  430. package/src/runtime/adapters/NodeServerAdapter.js +199 -0
  431. package/src/scripts/TemplateSync.d.ts +7 -0
  432. package/src/scripts/TemplateSync.d.ts.map +1 -0
  433. package/src/scripts/TemplateSync.js +234 -0
  434. package/src/security/CsrfTokenManager.d.ts +28 -0
  435. package/src/security/CsrfTokenManager.d.ts.map +1 -0
  436. package/src/security/CsrfTokenManager.js +78 -0
  437. package/src/security/Encryptor.d.ts +15 -0
  438. package/src/security/Encryptor.d.ts.map +1 -0
  439. package/src/security/Encryptor.js +142 -0
  440. package/src/security/JwtManager.d.ts +41 -0
  441. package/src/security/JwtManager.d.ts.map +1 -0
  442. package/src/security/JwtManager.js +229 -0
  443. package/src/security/UrlValidator.d.ts +21 -0
  444. package/src/security/UrlValidator.d.ts.map +1 -0
  445. package/src/security/UrlValidator.js +42 -0
  446. package/src/security/XssProtection.d.ts +24 -0
  447. package/src/security/XssProtection.d.ts.map +1 -0
  448. package/src/security/XssProtection.js +133 -0
  449. package/src/templates/TemplateRegistry.d.ts +40 -0
  450. package/src/templates/TemplateRegistry.d.ts.map +1 -0
  451. package/src/templates/TemplateRegistry.js +78 -0
  452. package/src/templates/TemplateRegistry.ts +91 -0
  453. package/src/templates/adapters/MySQLAdapter.ts.tpl +97 -0
  454. package/src/templates/adapters/PostgreSQLAdapter.ts.tpl +101 -0
  455. package/src/templates/adapters/SQLServerAdapter.ts.tpl +95 -0
  456. package/src/templates/adapters/SQLiteAdapter.ts.tpl +189 -0
  457. package/src/templates/features/Auth.ts.tpl +40 -0
  458. package/src/templates/features/Queue.ts.tpl +75 -0
  459. package/src/templates/project/basic/.env.example.tpl +26 -0
  460. package/src/templates/project/basic/.env.tpl +164 -0
  461. package/src/templates/project/basic/README.md.tpl +13 -0
  462. package/src/templates/project/basic/app/Controllers/UserController.ts.tpl +155 -0
  463. package/src/templates/project/basic/app/Middleware/ProfilerMiddleware.ts.tpl +55 -0
  464. package/src/templates/project/basic/app/Middleware/index.ts.tpl +304 -0
  465. package/src/templates/project/basic/app/Models/Post.ts.tpl +30 -0
  466. package/src/templates/project/basic/app/Models/User.ts.tpl +53 -0
  467. package/src/templates/project/basic/config/SecretsManager.ts.tpl +453 -0
  468. package/src/templates/project/basic/config/app.ts.tpl +97 -0
  469. package/src/templates/project/basic/config/cache.ts.tpl +117 -0
  470. package/src/templates/project/basic/config/constants.ts.tpl +70 -0
  471. package/src/templates/project/basic/config/database.ts.tpl +152 -0
  472. package/src/templates/project/basic/config/env.ts.tpl +148 -0
  473. package/src/templates/project/basic/config/features.ts.tpl +57 -0
  474. package/src/templates/project/basic/config/index.ts.tpl +36 -0
  475. package/src/templates/project/basic/config/logger.ts.tpl +95 -0
  476. package/src/templates/project/basic/config/microservices.ts.tpl +104 -0
  477. package/src/templates/project/basic/config/queue.ts.tpl +134 -0
  478. package/src/templates/project/basic/config/security.ts.tpl +149 -0
  479. package/src/templates/project/basic/config/storage.ts.tpl +136 -0
  480. package/src/templates/project/basic/database/factories/.gitkeep.tpl +0 -0
  481. package/src/templates/project/basic/database/migrations/.gitkeep.tpl +0 -0
  482. package/src/templates/project/basic/database/migrations/index.ts.tpl +2 -0
  483. package/src/templates/project/basic/database/seeders/.gitkeep.tpl +0 -0
  484. package/src/templates/project/basic/package.json.tpl +22 -0
  485. package/src/templates/project/basic/routes/api.ts.tpl +135 -0
  486. package/src/templates/project/basic/src/index.ts.tpl +49 -0
  487. package/src/templates/project/basic/template.json +17 -0
  488. package/src/templates/project/basic/tsconfig.json.tpl +20 -0
  489. package/src/validation/ValidationError.d.ts +42 -0
  490. package/src/validation/ValidationError.d.ts.map +1 -0
  491. package/src/validation/ValidationError.js +53 -0
  492. package/src/validation/Validator.d.ts +60 -0
  493. package/src/validation/Validator.d.ts.map +1 -0
  494. package/src/validation/Validator.js +190 -0
@@ -0,0 +1,302 @@
1
+ /**
2
+ * Runtime adapter for AWS Lambda
3
+ */
4
+ import { Env } from '../../config/env';
5
+ import { Logger } from '../../config/logger';
6
+ import { ErrorResponse, HttpResponse, } from '../RuntimeAdapter';
7
+ import { IncomingMessage, ServerResponse, } from 'node:http';
8
+ /**
9
+ * AWS Lambda adapter for API Gateway and ALB events
10
+ * Converts Lambda events to standard HTTP format for Zintrust framework
11
+ * Sealed namespace for immutability
12
+ */
13
+ export const LambdaAdapter = Object.freeze({
14
+ /**
15
+ * Create a new Lambda adapter instance
16
+ */
17
+ create(config) {
18
+ const configuredLoggerProvided = config.logger !== undefined;
19
+ const defaultLogger = configuredLoggerProvided ? undefined : createDefaultLogger();
20
+ const adapter = {
21
+ platform: 'lambda',
22
+ logger: config.logger,
23
+ createMockHttpObjects,
24
+ async handle(event, context) {
25
+ return handleLambdaRequest(adapter, config, event, context);
26
+ },
27
+ parseRequest(event) {
28
+ return parseLambdaRequest(event);
29
+ },
30
+ formatResponse(response) {
31
+ return formatLambdaResponse(response);
32
+ },
33
+ getLogger() {
34
+ if (adapter.logger !== undefined)
35
+ return adapter.logger;
36
+ if (configuredLoggerProvided === true)
37
+ return createFallbackLogger();
38
+ return defaultLogger ?? createDefaultLogger();
39
+ },
40
+ supportsPersistentConnections() {
41
+ // Lambda containers persist for warm invocations
42
+ return true;
43
+ },
44
+ getEnvironment() {
45
+ return {
46
+ nodeEnv: Env.NODE_ENV,
47
+ runtime: 'lambda',
48
+ dbConnection: Env.DB_CONNECTION,
49
+ dbHost: Env.DB_HOST,
50
+ dbPort: Env.DB_PORT,
51
+ };
52
+ },
53
+ };
54
+ return adapter;
55
+ },
56
+ });
57
+ /**
58
+ * Handle Lambda request
59
+ */
60
+ async function handleLambdaRequest(adapter, config, event, _context) {
61
+ try {
62
+ const lambdaEvent = event;
63
+ const request = adapter.parseRequest(event);
64
+ // Create mock Node.js request/response objects
65
+ const { req, res, responseData } = (adapter.createMockHttpObjects ?? createMockHttpObjects)(request);
66
+ // Parse body
67
+ const body = parseBody(lambdaEvent);
68
+ // Set request timeout
69
+ const timeout = config.timeout ?? 30000;
70
+ const timeoutHandle = setTimeout(() => {
71
+ res.writeHead(504, { 'Content-Type': 'application/json' });
72
+ res.end(JSON.stringify({
73
+ error: 'Gateway Timeout',
74
+ statusCode: 504,
75
+ }));
76
+ }, timeout);
77
+ try {
78
+ // Process request through Zintrust handler
79
+ await config.handler(req, res, body);
80
+ }
81
+ finally {
82
+ clearTimeout(timeoutHandle);
83
+ }
84
+ // Extract response
85
+ const response = HttpResponse.create();
86
+ response.setStatus(responseData.statusCode);
87
+ response.setHeaders(responseData.headers);
88
+ response.setBody(responseData.body);
89
+ adapter.getLogger().debug('Lambda request processed', {
90
+ statusCode: response.statusCode,
91
+ path: request.path,
92
+ method: request.method,
93
+ });
94
+ return response.toResponse();
95
+ }
96
+ catch (error) {
97
+ Logger.error('Lambda handler error', error);
98
+ const errorResponse = ErrorResponse.create(500, 'Internal Server Error', Env.NODE_ENV === 'development' ? { message: error.message } : undefined);
99
+ return errorResponse.toResponse();
100
+ }
101
+ }
102
+ /**
103
+ * Parse Lambda request
104
+ */
105
+ function parseLambdaRequest(event) {
106
+ const lambdaEvent = event;
107
+ // Support both API Gateway v1 and v2 formats, plus ALB
108
+ const isV2 = 'requestContext' in lambdaEvent && 'http' in lambdaEvent.requestContext;
109
+ const isAlb = 'requestContext' in lambdaEvent && 'elb' in lambdaEvent.requestContext;
110
+ let requestData;
111
+ if (isV2 === true) {
112
+ requestData = parseV2Request(lambdaEvent);
113
+ }
114
+ else if (isAlb === true) {
115
+ requestData = parseAlbRequest(lambdaEvent);
116
+ }
117
+ else {
118
+ requestData = parseV1Request(lambdaEvent);
119
+ }
120
+ return {
121
+ method: requestData.method.toUpperCase(),
122
+ path: requestData.path,
123
+ headers: normalizeHeaders(requestData.headers),
124
+ body: requestData.body === null ? null : Buffer.from(requestData.body),
125
+ query: requestData.query,
126
+ remoteAddr: requestData.remoteAddr,
127
+ };
128
+ }
129
+ /**
130
+ * Format Lambda response
131
+ */
132
+ function formatLambdaResponse(response) {
133
+ // Lambda expects specific format
134
+ return {
135
+ statusCode: response.statusCode,
136
+ headers: response.headers,
137
+ body: typeof response.body === 'string' ? response.body : (response.body?.toString('utf-8') ?? ''),
138
+ isBase64Encoded: response.isBase64Encoded ?? false,
139
+ };
140
+ }
141
+ /**
142
+ * Parse body from Lambda event
143
+ */
144
+ function parseBody(event) {
145
+ const body = event.body;
146
+ if (body === null || body === undefined || body === '')
147
+ return null;
148
+ if (event.isBase64Encoded === true && typeof body === 'string') {
149
+ return Buffer.from(body, 'base64');
150
+ }
151
+ return typeof body === 'string' ? Buffer.from(body, 'utf-8') : Buffer.from(body);
152
+ }
153
+ /**
154
+ * Create mock Node.js request/response objects
155
+ */
156
+ function createMockHttpObjects(request) {
157
+ const responseData = {
158
+ statusCode: 200,
159
+ headers: { 'Content-Type': 'application/json' },
160
+ body: null,
161
+ };
162
+ // Create mock request object
163
+ const req = new IncomingMessage(null);
164
+ req.method = request.method;
165
+ req.url = request.path;
166
+ req.headers = request.headers;
167
+ req.remoteAddress =
168
+ request.remoteAddr !== undefined && request.remoteAddr !== '' ? request.remoteAddr : '0.0.0.0';
169
+ // Create mock response object
170
+ const res = new ServerResponse(req);
171
+ res.writeHead = function (statusCode, statusMessageOrHeaders, headers) {
172
+ responseData.statusCode = statusCode;
173
+ const headersObj = typeof statusMessageOrHeaders === 'object' ? statusMessageOrHeaders : headers;
174
+ if (headersObj) {
175
+ Object.assign(responseData.headers, headersObj);
176
+ }
177
+ return res;
178
+ };
179
+ res.end = function (chunk, _encodingOrCb, _cb) {
180
+ if (typeof chunk === 'function') {
181
+ chunk();
182
+ }
183
+ else if (chunk !== null && chunk !== undefined) {
184
+ responseData.body = chunk;
185
+ }
186
+ return res;
187
+ };
188
+ res.write = function (chunk) {
189
+ responseData.body = chunk;
190
+ return true;
191
+ };
192
+ return { req, res, responseData };
193
+ }
194
+ /**
195
+ * Get remote address for API Gateway v2
196
+ */
197
+ function getRemoteAddrV2(event, headers) {
198
+ if (event.requestContext.http.sourceIp !== '') {
199
+ return event.requestContext.http.sourceIp;
200
+ }
201
+ const forwarded = headers['x-forwarded-for']?.toString().split(',')[0];
202
+ if (forwarded !== undefined && forwarded !== '') {
203
+ return forwarded;
204
+ }
205
+ return '0.0.0.0';
206
+ }
207
+ /**
208
+ * Get remote address for ALB
209
+ */
210
+ function getRemoteAddrAlb(headers) {
211
+ const forwarded = headers['x-forwarded-for']?.toString().split(',')[0];
212
+ if (forwarded !== undefined && forwarded !== '') {
213
+ return forwarded;
214
+ }
215
+ const realIp = headers['x-real-ip']?.toString();
216
+ if (realIp !== undefined && realIp !== '') {
217
+ return realIp;
218
+ }
219
+ return '0.0.0.0';
220
+ }
221
+ /**
222
+ * Get remote address for API Gateway v1
223
+ */
224
+ function getRemoteAddrV1(headers) {
225
+ const forwardedCap = headers['X-Forwarded-For']?.toString().split(',')[0];
226
+ if (forwardedCap !== undefined && forwardedCap !== '') {
227
+ return forwardedCap;
228
+ }
229
+ const forwarded = headers['x-forwarded-for']?.toString().split(',')[0];
230
+ if (forwarded !== undefined && forwarded !== '') {
231
+ return forwarded;
232
+ }
233
+ return '0.0.0.0';
234
+ }
235
+ /**
236
+ * Parse API Gateway v2 request
237
+ */
238
+ function parseV2Request(event) {
239
+ const headers = event.headers ?? {};
240
+ return {
241
+ method: event.requestContext.http.method,
242
+ path: event.rawPath,
243
+ headers,
244
+ query: event.queryStringParameters ?? {},
245
+ body: event.body ?? null,
246
+ remoteAddr: getRemoteAddrV2(event, headers),
247
+ };
248
+ }
249
+ /**
250
+ * Parse ALB request
251
+ */
252
+ function parseAlbRequest(event) {
253
+ const headers = event.headers ?? {};
254
+ return {
255
+ method: event.httpMethod,
256
+ path: event.path,
257
+ headers,
258
+ query: event.queryStringParameters ?? {},
259
+ body: event.body ?? null,
260
+ remoteAddr: getRemoteAddrAlb(headers),
261
+ };
262
+ }
263
+ /**
264
+ * Parse API Gateway v1 request
265
+ */
266
+ function parseV1Request(event) {
267
+ const headers = event.headers ?? {};
268
+ return {
269
+ method: event.httpMethod,
270
+ path: event.path,
271
+ headers,
272
+ query: event.queryStringParameters ?? {},
273
+ body: event.body ?? null,
274
+ remoteAddr: getRemoteAddrV1(headers),
275
+ };
276
+ }
277
+ /**
278
+ * Normalize headers to lowercase
279
+ */
280
+ function normalizeHeaders(headers) {
281
+ const normalized = {};
282
+ for (const [key, value] of Object.entries(headers)) {
283
+ normalized[key.toLowerCase()] = value;
284
+ }
285
+ return normalized;
286
+ }
287
+ function createDefaultLogger() {
288
+ return {
289
+ debug: (msg, data) => Logger.debug(`[Lambda] ${msg}`, data === undefined ? '' : JSON.stringify(data)),
290
+ info: (msg, data) => Logger.info(`[Lambda] ${msg}`, data === undefined ? '' : JSON.stringify(data)),
291
+ warn: (msg, data) => Logger.warn(`[Lambda] ${msg}`, data === undefined ? '' : JSON.stringify(data)),
292
+ error: (msg, err) => Logger.error(`[Lambda] ${msg}`, err?.message),
293
+ };
294
+ }
295
+ function createFallbackLogger() {
296
+ return {
297
+ debug: (msg) => Logger.debug(`[Lambda] ${msg}`),
298
+ info: (msg) => Logger.info(`[Lambda] ${msg}`),
299
+ warn: (msg) => Logger.warn(`[Lambda] ${msg}`),
300
+ error: (msg, err) => Logger.error(`[Lambda] ${msg}`, err?.message),
301
+ };
302
+ }
@@ -0,0 +1,16 @@
1
+ import { AdapterConfig, RuntimeAdapter } from '../RuntimeAdapter';
2
+ /**
3
+ * Node.js HTTP Server adapter for standard containers and traditional servers
4
+ * Uses Node.js built-in HTTP server for maximum compatibility
5
+ * Sealed namespace for immutability
6
+ */
7
+ export declare const NodeServerAdapter: Readonly<{
8
+ /**
9
+ * Create a new Node.js server adapter instance
10
+ */
11
+ create(config: AdapterConfig): RuntimeAdapter & {
12
+ startServer(port?: number, host?: string): Promise<void>;
13
+ stop(): Promise<void>;
14
+ };
15
+ }>;
16
+ //# sourceMappingURL=NodeServerAdapter.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"NodeServerAdapter.d.ts","sourceRoot":"","sources":["../../../../src/runtime/adapters/NodeServerAdapter.ts"],"names":[],"mappings":"AAIA,OAAO,EACL,aAAa,EAGb,cAAc,EACf,MAAM,yBAAyB,CAAC;AAEjC;;;;GAIG;AACH,eAAO,MAAM,iBAAiB;IAC5B;;OAEG;mBACY,aAAa,GAAG,cAAc,GAAG;QAC9C,WAAW,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;QACzD,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;KACvB;EAmED,CAAC"}
@@ -0,0 +1,199 @@
1
+ import { Env } from '../../config/env';
2
+ import Logger from '../../config/logger';
3
+ import { ErrorFactory } from '../../exceptions/ZintrustError';
4
+ import { createServer } from '../../node-singletons/http';
5
+ /**
6
+ * Node.js HTTP Server adapter for standard containers and traditional servers
7
+ * Uses Node.js built-in HTTP server for maximum compatibility
8
+ * Sealed namespace for immutability
9
+ */
10
+ export const NodeServerAdapter = Object.freeze({
11
+ /**
12
+ * Create a new Node.js server adapter instance
13
+ */
14
+ create(config) {
15
+ const logger = config.logger || createDefaultLogger();
16
+ const state = {};
17
+ return {
18
+ platform: 'nodejs',
19
+ async handle() {
20
+ throw ErrorFactory.createConfigError('Node.js adapter requires startServer() method. Use RuntimeDetector for automatic initialization.');
21
+ },
22
+ /**
23
+ * Start HTTP server for Node.js environments
24
+ */
25
+ async startServer(port = 3000, host = 'localhost') {
26
+ return startNodeServer(state, config, logger, port, host);
27
+ },
28
+ /**
29
+ * Stop the HTTP server gracefully
30
+ */
31
+ async stop() {
32
+ return stopNodeServer(state, logger);
33
+ },
34
+ parseRequest() {
35
+ throw ErrorFactory.createConfigError('Node.js adapter uses native Node.js HTTP');
36
+ },
37
+ formatResponse() {
38
+ throw ErrorFactory.createConfigError('Node.js adapter uses native Node.js HTTP');
39
+ },
40
+ getLogger() {
41
+ return (logger ?? {
42
+ debug: (msg) => Logger.debug(`[Node.js] ${msg}`),
43
+ info: (msg) => Logger.info(`[Node.js] ${msg}`),
44
+ warn: (msg) => Logger.warn(`[Node.js] ${msg}`),
45
+ error: (msg, err) => Logger.error(`[Node.js] ${msg}`, err?.message),
46
+ });
47
+ },
48
+ supportsPersistentConnections() {
49
+ return true;
50
+ },
51
+ getEnvironment() {
52
+ return getNodeEnvironment();
53
+ },
54
+ };
55
+ },
56
+ });
57
+ /**
58
+ * Start Node.js HTTP server
59
+ */
60
+ async function startNodeServer(state, config, logger, port, host) {
61
+ return new Promise((resolve, reject) => {
62
+ state.server = createServer((req, res) => {
63
+ void handleRequest(req, res, config, logger);
64
+ });
65
+ state.server.listen(port, host, () => {
66
+ logger?.info(`Node.js server listening on http://${host}:${port}`);
67
+ resolve();
68
+ });
69
+ state.server.on('error', (error) => {
70
+ logger?.error('Server error', error);
71
+ reject(error);
72
+ });
73
+ state.server.on('clientError', (error, socket) => {
74
+ if (error.code === 'ECONNRESET' || !socket.writable) {
75
+ return;
76
+ }
77
+ logger?.warn(`Client error: ${error.message}`);
78
+ });
79
+ });
80
+ }
81
+ /**
82
+ * Stop Node.js HTTP server
83
+ */
84
+ async function stopNodeServer(state, logger) {
85
+ return new Promise((resolve) => {
86
+ if (state.server) {
87
+ state.server.close(() => {
88
+ logger?.info('Node.js server stopped');
89
+ resolve();
90
+ });
91
+ }
92
+ else {
93
+ resolve();
94
+ }
95
+ });
96
+ }
97
+ /**
98
+ * Get Node.js environment
99
+ */
100
+ function getNodeEnvironment() {
101
+ return {
102
+ nodeEnv: Env.NODE_ENV,
103
+ runtime: 'nodejs',
104
+ dbConnection: Env.DB_CONNECTION,
105
+ dbHost: Env.DB_HOST,
106
+ dbPort: Env.DB_PORT,
107
+ };
108
+ }
109
+ /**
110
+ * Handle request processing
111
+ */
112
+ async function handleRequest(req, res, config, logger) {
113
+ const chunks = [];
114
+ let body = null;
115
+ // Collect request body
116
+ req.on('data', (chunk) => {
117
+ const maxSize = config.maxBodySize ?? 10 * 1024 * 1024;
118
+ if (chunks.length * chunk.length > maxSize) {
119
+ res.writeHead(413, { 'Content-Type': 'application/json' });
120
+ res.end(JSON.stringify({ error: 'Payload Too Large' }));
121
+ req.socket.destroy();
122
+ return;
123
+ }
124
+ chunks.push(chunk);
125
+ });
126
+ req.on('end', async () => {
127
+ try {
128
+ body = chunks.length > 0 ? Buffer.concat(chunks) : null;
129
+ // Set request timeout
130
+ const timeout = config.timeout ?? 30000;
131
+ const timeoutHandle = setTimeout(() => {
132
+ if (!res.headersSent) {
133
+ res.writeHead(504, { 'Content-Type': 'application/json' });
134
+ res.end(JSON.stringify({ error: 'Gateway Timeout' }));
135
+ }
136
+ }, timeout);
137
+ try {
138
+ // Call Zintrust handler
139
+ await config.handler(req, res, body);
140
+ }
141
+ finally {
142
+ clearTimeout(timeoutHandle);
143
+ }
144
+ logger?.debug('Request processed', {
145
+ method: req.method,
146
+ url: req.url,
147
+ statusCode: res.statusCode,
148
+ remoteAddr: req.socket.remoteAddress,
149
+ });
150
+ }
151
+ catch (error) {
152
+ const err = error;
153
+ logger?.error('Request processing error', err);
154
+ Logger.error('Request processing error', err.message);
155
+ handleError(res, err, logger);
156
+ }
157
+ });
158
+ req.on('error', (error) => {
159
+ Logger.error('Request stream error', error.message);
160
+ handleRequestError(res, error, logger);
161
+ });
162
+ }
163
+ /**
164
+ * Handle request handler errors
165
+ */
166
+ function handleError(res, error, logger) {
167
+ logger?.error('Request handler error', error);
168
+ Logger.error('Request handler error', error.message);
169
+ if (!res.headersSent) {
170
+ res.writeHead(500, { 'Content-Type': 'application/json' });
171
+ res.end(JSON.stringify({
172
+ error: 'Internal Server Error',
173
+ statusCode: 500,
174
+ timestamp: new Date().toISOString(),
175
+ ...(Env.get('NODE_ENV') === 'development' && {
176
+ message: error.message,
177
+ }),
178
+ }));
179
+ }
180
+ }
181
+ /**
182
+ * Handle request stream errors
183
+ */
184
+ function handleRequestError(res, error, logger) {
185
+ logger?.error('Request error', error);
186
+ Logger.error('Request error', error.message);
187
+ if (!res.headersSent) {
188
+ res.writeHead(400, { 'Content-Type': 'application/json' });
189
+ res.end(JSON.stringify({ error: 'Bad Request' }));
190
+ }
191
+ }
192
+ function createDefaultLogger() {
193
+ return {
194
+ debug: (msg, data) => Logger.debug(`[Node.js] ${msg}`, data !== undefined && data !== null ? JSON.stringify(data) : ''),
195
+ info: (msg, data) => Logger.info(`[Node.js] ${msg}`, data !== undefined && data !== null ? JSON.stringify(data) : ''),
196
+ warn: (msg, data) => Logger.warn(`[Node.js] ${msg}`, data !== undefined && data !== null ? JSON.stringify(data) : ''),
197
+ error: (msg, err) => Logger.error(`[Node.js] ${msg}`, err?.message),
198
+ };
199
+ }
@@ -0,0 +1,7 @@
1
+ /**
2
+ * Template Sync Script
3
+ * Synchronizes base framework files to .tpl templates when checksums change
4
+ * Runs during npm run build
5
+ */
6
+ export {};
7
+ //# sourceMappingURL=TemplateSync.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TemplateSync.d.ts","sourceRoot":"","sources":["../../../src/scripts/TemplateSync.ts"],"names":[],"mappings":"AAAA;;;;GAIG"}