@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,396 @@
1
+ /**
2
+ * Performance Optimizations for Code Generation
3
+ * Implements caching, lazy-loading, and parallel generation
4
+ */
5
+ import { Logger } from '../config/logger';
6
+ import { ErrorFactory } from '../exceptions/ZintrustError';
7
+ import { fs } from '../node-singletons/index.js';
8
+ import * as path from 'node:path';
9
+ /**
10
+ * Generation Cache - Cache generated code to avoid re-generating identical code
11
+ * Sealed namespace for immutability
12
+ */
13
+ export const GenerationCache = Object.freeze({
14
+ /**
15
+ * Create a new generation cache instance
16
+ */
17
+ create(cacheDir = path.join(process.cwd(), '.gen-cache'), ttlMs = 3600000) {
18
+ const state = {
19
+ cache: new Map(),
20
+ cacheDir,
21
+ ttlMs,
22
+ };
23
+ // Initialize
24
+ loadFromDisk(state);
25
+ // Active cleanup every 10 minutes
26
+ state.cleanupInterval = setInterval(() => {
27
+ const now = Date.now();
28
+ for (const [key, entry] of state.cache.entries()) {
29
+ if (now - entry.timestamp > state.ttlMs) {
30
+ state.cache.delete(key);
31
+ // Also try to delete from disk
32
+ const file = path.join(state.cacheDir, `${key}.json`);
33
+ if (fs.existsSync(file)) {
34
+ fs.unlinkSync(file);
35
+ }
36
+ }
37
+ }
38
+ }, 600000);
39
+ return {
40
+ /**
41
+ * Get from cache
42
+ */
43
+ get(type, params) {
44
+ const key = getCacheKey(type, params);
45
+ const entry = state.cache.get(key);
46
+ if (entry === undefined)
47
+ return null;
48
+ // Check TTL
49
+ if (Date.now() - entry.timestamp > state.ttlMs) {
50
+ state.cache.delete(key);
51
+ const file = path.join(state.cacheDir, `${key}.json`);
52
+ if (fs.existsSync(file)) {
53
+ fs.unlinkSync(file);
54
+ }
55
+ return null;
56
+ }
57
+ return entry.code;
58
+ },
59
+ /**
60
+ * Set in cache
61
+ */
62
+ set(type, params, code) {
63
+ const key = getCacheKey(type, params);
64
+ state.cache.set(key, {
65
+ code,
66
+ timestamp: Date.now(),
67
+ });
68
+ },
69
+ /**
70
+ * Save cache to disk
71
+ */
72
+ save() {
73
+ saveCacheToDisk(state);
74
+ },
75
+ /**
76
+ * Clear cache
77
+ */
78
+ clear() {
79
+ if (state.cleanupInterval) {
80
+ clearInterval(state.cleanupInterval);
81
+ }
82
+ clearCache(state);
83
+ },
84
+ /**
85
+ * Get cache statistics
86
+ */
87
+ getStats() {
88
+ return getCacheStats(state);
89
+ },
90
+ };
91
+ },
92
+ });
93
+ /**
94
+ * Save cache to disk
95
+ */
96
+ function saveCacheToDisk(state) {
97
+ if (fs.existsSync(state.cacheDir) === false) {
98
+ fs.mkdirSync(state.cacheDir, { recursive: true });
99
+ }
100
+ for (const [key, entry] of state.cache.entries()) {
101
+ const file = path.join(state.cacheDir, `${key}.json`);
102
+ fs.writeFileSync(file, JSON.stringify(entry, null, 2));
103
+ }
104
+ }
105
+ /**
106
+ * Clear cache
107
+ */
108
+ function clearCache(state) {
109
+ state.cache.clear();
110
+ if (fs.existsSync(state.cacheDir) === true) {
111
+ fs.rmSync(state.cacheDir, { recursive: true });
112
+ }
113
+ }
114
+ /**
115
+ * Get cache statistics
116
+ */
117
+ function getCacheStats(state) {
118
+ let diskUsage = 0;
119
+ if (fs.existsSync(state.cacheDir) === true) {
120
+ const files = fs.readdirSync(state.cacheDir);
121
+ for (const file of files) {
122
+ const stats = fs.statSync(path.join(state.cacheDir, file));
123
+ diskUsage += stats.size;
124
+ }
125
+ }
126
+ return {
127
+ size: diskUsage,
128
+ entries: state.cache.size,
129
+ diskUsage: formatBytes(diskUsage),
130
+ keys: Array.from(state.cache.keys()),
131
+ };
132
+ }
133
+ /**
134
+ * Format bytes as human-readable
135
+ */
136
+ function formatBytes(bytes) {
137
+ const units = ['B', 'KB', 'MB'];
138
+ let size = bytes;
139
+ let i = 0;
140
+ while (size > 1024 && i < units.length - 1) {
141
+ size /= 1024;
142
+ i++;
143
+ }
144
+ return `${size.toFixed(2)} ${units[i]}`;
145
+ }
146
+ /**
147
+ * Get cache key from params
148
+ */
149
+ function getCacheKey(type, params) {
150
+ // Use a more efficient key generation
151
+ const paramStr = JSON.stringify(params);
152
+ // Simple hash-like string for the key
153
+ let hash = 0;
154
+ for (let i = 0; i < paramStr.length; i++) {
155
+ const char = paramStr.codePointAt(i);
156
+ hash = (hash << 5) - hash + (char ?? 0);
157
+ hash = toInt32(hash); // Convert to 32bit integer
158
+ }
159
+ return `${type}:${hash.toString(36)}:${Buffer.from(paramStr.slice(0, 32)).toString('base64')}`;
160
+ }
161
+ /**
162
+ * Convert a number to a signed 32-bit integer (equivalent to JS ToInt32)
163
+ */
164
+ function toInt32(value) {
165
+ const truncated = Math.trunc(value);
166
+ const uint32 = ((truncated % 4294967296) + 4294967296) % 4294967296;
167
+ return uint32 > 2147483647 ? uint32 - 4294967296 : uint32;
168
+ }
169
+ /**
170
+ * Load cache from disk
171
+ */
172
+ function loadFromDisk(state) {
173
+ if (fs.existsSync(state.cacheDir) === true) {
174
+ try {
175
+ const files = fs.readdirSync(state.cacheDir);
176
+ for (const file of files) {
177
+ if (file.endsWith('.json') === true) {
178
+ const content = fs.readFileSync(path.join(state.cacheDir, file), 'utf-8');
179
+ const data = JSON.parse(content);
180
+ state.cache.set(file.replace('.json', ''), data);
181
+ }
182
+ }
183
+ }
184
+ catch (err) {
185
+ Logger.error(`Failed to load cache from disk: ${err instanceof Error ? err.message : String(err)}`);
186
+ }
187
+ }
188
+ }
189
+ /**
190
+ * Lazy Module Loader - Load dependencies only when needed
191
+ * Sealed namespace for immutability
192
+ */
193
+ export const LazyLoader = Object.freeze({
194
+ /**
195
+ * Create a new lazy loader instance
196
+ */
197
+ create() {
198
+ const modules = new Map();
199
+ return {
200
+ /**
201
+ * Lazy load a module
202
+ */
203
+ async load(modulePath) {
204
+ const cached = modules.get(modulePath);
205
+ if (cached !== undefined) {
206
+ return cached;
207
+ }
208
+ try {
209
+ const module = await import(modulePath);
210
+ modules.set(modulePath, module);
211
+ return module;
212
+ }
213
+ catch (err) {
214
+ throw ErrorFactory.createTryCatchError(`Failed to load module: ${modulePath}`, err);
215
+ }
216
+ },
217
+ /**
218
+ * Preload modules
219
+ */
220
+ async preload(modulePaths) {
221
+ await Promise.all(modulePaths.map(async (path) => this.load(path)));
222
+ },
223
+ /**
224
+ * Clear loaded modules
225
+ */
226
+ clear() {
227
+ modules.clear();
228
+ },
229
+ };
230
+ },
231
+ });
232
+ /**
233
+ * Parallel Generator - Run multiple generators in parallel
234
+ */
235
+ /**
236
+ * Run generators in parallel batches
237
+ */
238
+ export async function runBatch(generators, batchSize = 3) {
239
+ const results = [];
240
+ for (let i = 0; i < generators.length; i += batchSize) {
241
+ const batch = generators.slice(i, i + batchSize);
242
+ const batchResults = await Promise.all(batch.map(async (gen) => gen()));
243
+ results.push(...batchResults);
244
+ }
245
+ return results;
246
+ }
247
+ /**
248
+ * Run all generators in parallel
249
+ */
250
+ export async function runAll(generators) {
251
+ return Promise.all(generators.map(async (gen) => gen()));
252
+ }
253
+ export const ParallelGenerator = Object.freeze({
254
+ runBatch,
255
+ runAll,
256
+ });
257
+ /**
258
+ * Memoize - Cache function results based on arguments
259
+ */
260
+ /**
261
+ * Create a memoized version of a function
262
+ */
263
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
264
+ export function createMemoized(fn, options = {}) {
265
+ const cache = new Map();
266
+ return ((...args) => {
267
+ const key = options.keyGenerator === undefined ? JSON.stringify(args) : options.keyGenerator(args);
268
+ const entry = cache.get(key);
269
+ if (entry !== undefined) {
270
+ if (options.ttl === undefined || Date.now() - entry.timestamp < options.ttl) {
271
+ return entry.result;
272
+ }
273
+ cache.delete(key);
274
+ }
275
+ const result = fn(...args);
276
+ cache.set(key, { result, timestamp: Date.now() });
277
+ return result;
278
+ });
279
+ }
280
+ export const Memoize = Object.freeze({
281
+ create: createMemoized,
282
+ });
283
+ /**
284
+ * Performance Optimizer - Wrapper for optimizations
285
+ * Sealed namespace for immutability
286
+ */
287
+ export const PerformanceOptimizer = Object.freeze({
288
+ /**
289
+ * Create a new performance optimizer instance
290
+ */
291
+ create() {
292
+ const cache = GenerationCache.create();
293
+ const lazyLoader = LazyLoader.create();
294
+ const stats = {
295
+ cacheHits: 0,
296
+ cacheMisses: 0,
297
+ parallelRuns: 0,
298
+ savedTime: 0,
299
+ };
300
+ return {
301
+ /**
302
+ * Generate with caching
303
+ */
304
+ async generateWithCache(type, params, generatorFn) {
305
+ return generateWithCache(cache, stats, type, params, generatorFn);
306
+ },
307
+ /**
308
+ * Generate multiple in parallel
309
+ */
310
+ async generateInParallel(generators, batchSize) {
311
+ return generateInParallel(stats, generators, batchSize);
312
+ },
313
+ /**
314
+ * Preload modules
315
+ */
316
+ async preloadModules(paths) {
317
+ await lazyLoader.preload(paths);
318
+ },
319
+ /**
320
+ * Get optimization statistics
321
+ */
322
+ getStats() {
323
+ return getOptimizerStats(cache, stats);
324
+ },
325
+ /**
326
+ * Save cache to disk
327
+ */
328
+ saveCache() {
329
+ cache.save();
330
+ },
331
+ /**
332
+ * Clear everything
333
+ */
334
+ clear() {
335
+ resetOptimizer(cache, lazyLoader, stats);
336
+ },
337
+ };
338
+ },
339
+ });
340
+ /**
341
+ * Reset optimizer state
342
+ */
343
+ function resetOptimizer(cache, lazyLoader, stats) {
344
+ cache.clear();
345
+ lazyLoader.clear();
346
+ stats.cacheHits = 0;
347
+ stats.cacheMisses = 0;
348
+ stats.parallelRuns = 0;
349
+ stats.savedTime = 0;
350
+ }
351
+ /**
352
+ * Generate multiple in parallel
353
+ */
354
+ async function generateInParallel(stats, generators, batchSize) {
355
+ stats.parallelRuns++;
356
+ if (batchSize !== undefined) {
357
+ return ParallelGenerator.runBatch(generators, batchSize);
358
+ }
359
+ return ParallelGenerator.runAll(generators);
360
+ }
361
+ /**
362
+ * Generate with caching
363
+ */
364
+ async function generateWithCache(cache, stats, type, params, generatorFn) {
365
+ // Try cache
366
+ const cached = cache.get(type, params);
367
+ if (cached !== null) {
368
+ stats.cacheHits++;
369
+ return JSON.parse(cached);
370
+ }
371
+ // Generate
372
+ const startTime = performance.now();
373
+ const result = await generatorFn();
374
+ const duration = performance.now() - startTime;
375
+ // Cache result
376
+ cache.set(type, params, JSON.stringify(result));
377
+ stats.cacheMisses++;
378
+ stats.savedTime += duration;
379
+ return result;
380
+ }
381
+ /**
382
+ * Get optimization statistics
383
+ */
384
+ function getOptimizerStats(cache, stats) {
385
+ const total = stats.cacheHits + stats.cacheMisses;
386
+ const hitRate = total > 0 ? (stats.cacheHits / total) * 100 : 0;
387
+ return {
388
+ cacheHits: stats.cacheHits,
389
+ cacheMisses: stats.cacheMisses,
390
+ hitRate: `${hitRate.toFixed(1)}%`,
391
+ parallelRuns: stats.parallelRuns,
392
+ estimatedSavedTime: `${stats.savedTime.toFixed(2)}ms`,
393
+ cacheStatus: cache.getStats(),
394
+ };
395
+ }
396
+ export default PerformanceOptimizer;
@@ -0,0 +1,9 @@
1
+ /**
2
+ * Establish Performance Baseline
3
+ * Run all code generator benchmarks and save baseline metrics
4
+ */
5
+ /**
6
+ * Run baseline and save results
7
+ */
8
+ export declare function establishBaseline(): Promise<void>;
9
+ //# sourceMappingURL=establish-baseline.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"establish-baseline.d.ts","sourceRoot":"","sources":["../../../src/performance/establish-baseline.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAQH;;GAEG;AACH,wBAAsB,iBAAiB,IAAI,OAAO,CAAC,IAAI,CAAC,CAYvD"}
@@ -0,0 +1,55 @@
1
+ /**
2
+ * Establish Performance Baseline
3
+ * Run all code generator benchmarks and save baseline metrics
4
+ */
5
+ import { Logger } from '../config/logger';
6
+ import { fs } from '../node-singletons/index.js';
7
+ import { fileURLToPath } from '../node-singletons/url';
8
+ import { CodeGenerationBenchmark } from './CodeGenerationBenchmark';
9
+ import * as path from 'node:path';
10
+ /**
11
+ * Run baseline and save results
12
+ */
13
+ export async function establishBaseline() {
14
+ Logger.info('📊 Establishing Performance Baseline...');
15
+ const benchmark = CodeGenerationBenchmark();
16
+ await benchmark.runAll();
17
+ // Save baseline
18
+ const baselineFile = path.join(process.cwd(), 'performance-baseline.json');
19
+ benchmark.exportResults(baselineFile);
20
+ Logger.info('✅ Baseline established and saved to performance-baseline.json');
21
+ Logger.info('📈 Next: Run optimizations and compare results');
22
+ }
23
+ function isMainModuleEsm() {
24
+ try {
25
+ const entry = process.argv[1];
26
+ if (entry === undefined || entry === '')
27
+ return false;
28
+ const currentFilePath = fileURLToPath(new URL(import.meta.url));
29
+ // Use realpathSync to handle symlinks (common on macOS /var -> /private/var)
30
+ if (!('realpathSync' in fs)) {
31
+ return path.resolve(entry) === path.resolve(currentFilePath);
32
+ }
33
+ try {
34
+ const realpathSync = fs
35
+ .realpathSync;
36
+ return realpathSync(entry) === realpathSync(currentFilePath);
37
+ }
38
+ catch (err) {
39
+ Logger.error('realpathSync failed, falling back to path.resolve', err);
40
+ return path.resolve(entry) === path.resolve(currentFilePath);
41
+ }
42
+ }
43
+ catch (err) {
44
+ Logger.error('❌ Baseline failed:', err);
45
+ return false;
46
+ }
47
+ }
48
+ const isMainModule = globalThis.__ZINTRUST_ESTABLISH_BASELINE_MAIN__ ??
49
+ isMainModuleEsm();
50
+ if (isMainModule) {
51
+ await establishBaseline().catch((err) => {
52
+ Logger.error('❌ Baseline failed:', err);
53
+ process.exit(1);
54
+ });
55
+ }
@@ -0,0 +1,32 @@
1
+ /**
2
+ * Memory Profiler
3
+ * Tracks heap memory usage and garbage collection events
4
+ */
5
+ import { MemoryDelta, MemorySnapshot } from './types';
6
+ export interface IMemoryProfiler {
7
+ start(): void;
8
+ end(): MemorySnapshot;
9
+ delta(): MemoryDelta;
10
+ getStartSnapshot(): MemorySnapshot | null;
11
+ getEndSnapshot(): MemorySnapshot | null;
12
+ getReport(): string;
13
+ }
14
+ /**
15
+ * MemoryProfiler captures memory usage before and after request execution
16
+ * Sealed namespace for immutability
17
+ */
18
+ export declare const MemoryProfiler: Readonly<{
19
+ /**
20
+ * Create a new memory profiler instance
21
+ */
22
+ create(): IMemoryProfiler;
23
+ /**
24
+ * Format memory value as human-readable string
25
+ */
26
+ formatBytes(bytes: number): string;
27
+ }>;
28
+ /**
29
+ * Format memory value as human-readable string
30
+ */
31
+ export declare function formatBytes(bytes: number): string;
32
+ //# sourceMappingURL=MemoryProfiler.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MemoryProfiler.d.ts","sourceRoot":"","sources":["../../../src/profiling/MemoryProfiler.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAE/D,MAAM,WAAW,eAAe;IAC9B,KAAK,IAAI,IAAI,CAAC;IACd,GAAG,IAAI,cAAc,CAAC;IACtB,KAAK,IAAI,WAAW,CAAC;IACrB,gBAAgB,IAAI,cAAc,GAAG,IAAI,CAAC;IAC1C,cAAc,IAAI,cAAc,GAAG,IAAI,CAAC;IACxC,SAAS,IAAI,MAAM,CAAC;CACrB;AAED;;;GAGG;AACH,eAAO,MAAM,cAAc;IACzB;;OAEG;cACO,eAAe;IAmEzB;;OAEG;uBACgB,MAAM,GAAG,MAAM;EAGlC,CAAC;AAEH;;GAEG;AACH,wBAAgB,WAAW,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAQjD"}
@@ -0,0 +1,84 @@
1
+ /**
2
+ * Memory Profiler
3
+ * Tracks heap memory usage and garbage collection events
4
+ */
5
+ /**
6
+ * MemoryProfiler captures memory usage before and after request execution
7
+ * Sealed namespace for immutability
8
+ */
9
+ export const MemoryProfiler = Object.freeze({
10
+ /**
11
+ * Create a new memory profiler instance
12
+ */
13
+ create() {
14
+ let startSnapshot = null;
15
+ let endSnapshot = null;
16
+ const captureSnapshot = () => {
17
+ const mem = process.memoryUsage();
18
+ return {
19
+ heapUsed: mem.heapUsed,
20
+ heapTotal: mem.heapTotal,
21
+ external: mem.external,
22
+ rss: mem.rss,
23
+ timestamp: new Date(),
24
+ };
25
+ };
26
+ const delta = () => {
27
+ if (!startSnapshot || !endSnapshot) {
28
+ return { heapUsed: 0, heapTotal: 0, external: 0, rss: 0 };
29
+ }
30
+ return {
31
+ heapUsed: endSnapshot.heapUsed - startSnapshot.heapUsed,
32
+ heapTotal: endSnapshot.heapTotal - startSnapshot.heapTotal,
33
+ external: endSnapshot.external - startSnapshot.external,
34
+ rss: endSnapshot.rss - startSnapshot.rss,
35
+ };
36
+ };
37
+ const profiler = {
38
+ start() {
39
+ if (globalThis.gc)
40
+ globalThis.gc();
41
+ startSnapshot = captureSnapshot();
42
+ endSnapshot = null;
43
+ },
44
+ end() {
45
+ endSnapshot = captureSnapshot();
46
+ return endSnapshot;
47
+ },
48
+ delta,
49
+ getStartSnapshot() {
50
+ return startSnapshot;
51
+ },
52
+ getEndSnapshot() {
53
+ return endSnapshot;
54
+ },
55
+ getReport() {
56
+ if (!startSnapshot || !endSnapshot) {
57
+ return 'Memory profiling not started or completed';
58
+ }
59
+ const d = delta();
60
+ const lines = ['Memory Profile Report:'];
61
+ lines.push(` Heap Used: ${formatBytes(d.heapUsed)}`, ` Heap Total: ${formatBytes(d.heapTotal)}`, ` External: ${formatBytes(d.external)}`, ` RSS: ${formatBytes(d.rss)}`);
62
+ return lines.join('\n');
63
+ },
64
+ };
65
+ return profiler;
66
+ },
67
+ /**
68
+ * Format memory value as human-readable string
69
+ */
70
+ formatBytes(bytes) {
71
+ return formatBytes(bytes);
72
+ },
73
+ });
74
+ /**
75
+ * Format memory value as human-readable string
76
+ */
77
+ export function formatBytes(bytes) {
78
+ if (bytes === 0)
79
+ return '0 B';
80
+ const k = 1024;
81
+ const sizes = ['B', 'KB', 'MB', 'GB'];
82
+ const i = Math.floor(Math.log(Math.abs(bytes)) / Math.log(k));
83
+ return `${(bytes / Math.pow(k, i)).toFixed(2)} ${sizes[i]}`;
84
+ }
@@ -0,0 +1,16 @@
1
+ /**
2
+ * N+1 Query Pattern Detector
3
+ * Analyzes query logs to identify N+1 patterns
4
+ */
5
+ import { IN1Detector } from './types';
6
+ /**\n * N1Detector analyzes query logs to identify N+1 patterns
7
+ * Groups identical queries and flags those executed 5+ times as critical
8
+ * Sealed namespace for immutability
9
+ */
10
+ export declare const N1Detector: Readonly<{
11
+ /**
12
+ * Create a new N1Detector instance
13
+ */
14
+ create(): IN1Detector;
15
+ }>;
16
+ //# sourceMappingURL=N1Detector.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"N1Detector.d.ts","sourceRoot":"","sources":["../../../src/profiling/N1Detector.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,WAAW,EAA4B,MAAM,kBAAkB,CAAC;AAEzE;;;GAGG;AACH,eAAO,MAAM,UAAU;IACrB;;OAEG;cACO,WAAW;EAiCrB,CAAC"}