@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,436 @@
1
+ /* eslint-disable @typescript-eslint/require-await */
2
+ /**
3
+ * Microservice generator - auto-creates microservice folder structure
4
+ * Generates boilerplate code for domain-driven microservices
5
+ */
6
+ import { Logger } from '../config/logger';
7
+ import fs from '../node-singletons/fs';
8
+ import * as path from '../node-singletons/path';
9
+ /**
10
+ * Microservice code generator
11
+ */
12
+ export const MicroserviceGenerator = Object.freeze(() => {
13
+ let instance;
14
+ return {
15
+ getInstance() {
16
+ instance ??= this.create();
17
+ return instance;
18
+ },
19
+ /**
20
+ * Create a new microservice generator instance
21
+ */
22
+ create() {
23
+ return {
24
+ /**
25
+ * Generate microservices folder structure
26
+ */
27
+ async generate(options) {
28
+ const { domain, services, basePort = 3001, version = '1.0.0' } = options;
29
+ Logger.info(`\n🏗️ Generating microservices for domain: ${domain}`);
30
+ Logger.info(`📦 Services: ${services.join(', ')}\n`);
31
+ await Promise.all(services.map(async (serviceName, i) => {
32
+ const servicePort = basePort + i;
33
+ return generateService({
34
+ domain,
35
+ serviceName,
36
+ port: servicePort,
37
+ version,
38
+ });
39
+ }));
40
+ // Generate shared utils
41
+ await generateSharedUtils(domain);
42
+ // Generate docker-compose for local dev
43
+ await generateDockerCompose(domain, services, basePort);
44
+ Logger.info(`✅ Microservices generated in services/${domain}/\n`);
45
+ },
46
+ };
47
+ },
48
+ };
49
+ })();
50
+ const pascalCase = (str) => {
51
+ return str
52
+ .split(/[-_]/)
53
+ .map((word) => word.charAt(0).toUpperCase() + word.slice(1))
54
+ .join('');
55
+ };
56
+ const buildReadmeHeader = (serviceName, domain, port) => {
57
+ return `# ${serviceName} Microservice
58
+
59
+ Domain: \`${domain}\`
60
+
61
+ ## Description
62
+
63
+ ${serviceName} microservice for Zintrust framework.
64
+
65
+ ## Port
66
+
67
+ \`\`\`
68
+ ${port}
69
+ \`\`\``;
70
+ };
71
+ const buildReadmeGettingStarted = (domain, serviceName) => {
72
+ return `## Getting Started
73
+
74
+ ### Development
75
+
76
+ \`\`\`bash
77
+ cd services/${domain}/${serviceName}
78
+ npm install
79
+ npm run dev
80
+ \`\`\`
81
+
82
+ ### Testing
83
+
84
+ \`\`\`bash
85
+ npm test
86
+ \`\`\`
87
+
88
+ ### Build
89
+
90
+ \`\`\`bash
91
+ npm run build
92
+ \`\`\``;
93
+ };
94
+ const buildReadmeApiInfo = (serviceName, port) => {
95
+ return `## API Endpoints
96
+
97
+ - \`GET /api/${serviceName}/health\` - Health check
98
+
99
+ ## Environment Variables
100
+
101
+ \`\`\`bash
102
+ SERVICE_NAME=${serviceName}
103
+ SERVICE_PORT=${port}
104
+ DB_CONNECTION=postgresql
105
+ \`\`\`
106
+
107
+ ## Inter-Service Communication
108
+
109
+ Call another service:
110
+
111
+ \`\`\`typescript
112
+ import { MicroserviceManager } from './MicroserviceManager';
113
+
114
+ const manager = MicroserviceManager.getInstance();
115
+ const response = await manager.callService('other-service', {
116
+ method: 'GET',
117
+ path: '/api/other-service/data',
118
+ });
119
+ \`\`\`
120
+
121
+ ## Dependencies
122
+
123
+ - Zintrust Framework`;
124
+ };
125
+ const generateServiceConfig = async (serviceDir, serviceName, port, version) => {
126
+ const config = {
127
+ name: serviceName,
128
+ version,
129
+ port,
130
+ description: `${serviceName} microservice`,
131
+ dependencies: [],
132
+ healthCheck: '/health',
133
+ };
134
+ fs.writeFileSync(path.join(serviceDir, 'service.config.json'), JSON.stringify(config, null, 2));
135
+ };
136
+ const generateServiceKernel = async (serviceDir, serviceName, domain) => {
137
+ const code = `import { Application } from '@http/Application';
138
+ import { Kernel, IKernel } from '../http/Kernel';
139
+
140
+ /**
141
+ * ${serviceName} Microservice Kernel
142
+ * Domain: ${domain}
143
+ */
144
+ export const ${pascalCase(serviceName)}Kernel = {
145
+ create(app: Application): IKernel {
146
+ const kernel = Kernel.create(app);
147
+
148
+ // Register service-specific logic here
149
+ // kernel.router.get('/health', (req, res) => res.json({ status: 'ok' }));
150
+
151
+ return kernel;
152
+ }
153
+ };
154
+
155
+ export default ${pascalCase(serviceName)}Kernel.create(Application.create());
156
+ `;
157
+ fs.writeFileSync(path.join(serviceDir, 'src', 'Kernel.ts'), code);
158
+ };
159
+ const generateServiceRoutes = async (serviceDir, serviceName) => {
160
+ const code = `import { IRouter } from '../routing/Router';
161
+
162
+ /**
163
+ * ${serviceName} service routes
164
+ */
165
+ export default function routes(router: IRouter): void {
166
+ router.group({ prefix: '/api/${serviceName}' }, () => {
167
+ // Health check
168
+ router.get('/health', '${pascalCase(serviceName)}Controller@health');
169
+
170
+ // TODO: Add your routes here
171
+ // router.get('/', '${pascalCase(serviceName)}Controller@index');
172
+ });
173
+ }
174
+ `;
175
+ fs.writeFileSync(path.join(serviceDir, 'src', 'routes', 'index.ts'), code);
176
+ };
177
+ const generateServiceController = async (serviceDir, serviceName) => {
178
+ const code = `import { Controller, IController } from '../http/Controller';
179
+ import { Request } from '../http/Request';
180
+ import { Response } from '../http/Response';
181
+
182
+ /**
183
+ * ${pascalCase(serviceName)} Controller
184
+ */
185
+ export interface I${pascalCase(serviceName)}Controller extends IController {
186
+ health(req: Request, res: Response): Promise<void>;
187
+ }
188
+
189
+ export const ${pascalCase(serviceName)}Controller = {
190
+ create(): I${pascalCase(serviceName)}Controller {
191
+ return {
192
+ ...Controller.create(),
193
+ /**
194
+ * Health check
195
+ */
196
+ async health(_req: Request, res: Response): Promise<void> {
197
+ res.json({ status: 'ok', service: '${serviceName}' }, 200);
198
+ },
199
+ };
200
+ }
201
+ };
202
+ `;
203
+ fs.writeFileSync(path.join(serviceDir, 'src', 'http', 'Controllers', 'index.ts'), code);
204
+ };
205
+ const generateServiceModel = async (serviceDir, serviceName) => {
206
+ const modelName = pascalCase(serviceName.slice(0, -1)); // Remove 's'
207
+ const code = `import { Model } from '../orm/Model';
208
+
209
+ /**
210
+ * ${modelName} Model
211
+ */
212
+ export const ${modelName} = Model.define('${serviceName}', {
213
+ fillable: [
214
+ // TODO: Add fillable attributes
215
+ ],
216
+ hidden: [
217
+ // 'password',
218
+ ],
219
+ casts: {
220
+ // 'created_at': 'datetime',
221
+ },
222
+ });
223
+ `;
224
+ fs.writeFileSync(path.join(serviceDir, 'src', 'models', 'index.ts'), code);
225
+ };
226
+ const generateServiceTest = async (serviceDir, serviceName) => {
227
+ const code = `import { describe, it, expect } from 'vitest';
228
+
229
+ /**
230
+ * ${serviceName} tests
231
+ */
232
+ describe('${serviceName} service', () => {
233
+ it('should have health check endpoint', async () => {
234
+ // TODO: Implement tests
235
+ expect(true).toBe(true);
236
+ });
237
+ });
238
+ `;
239
+ fs.writeFileSync(path.join(serviceDir, 'tests', 'Feature', 'Example.test.ts'), code);
240
+ };
241
+ const generateServicePackageJson = async (serviceDir, serviceName, version) => {
242
+ const pkg = {
243
+ name: `@zintrust/${serviceName}`,
244
+ version,
245
+ description: `${serviceName} microservice`,
246
+ type: 'module',
247
+ scripts: {
248
+ dev: 'tsx watch src/index.ts',
249
+ build: 'tsc',
250
+ test: 'vitest',
251
+ },
252
+ };
253
+ fs.writeFileSync(path.join(serviceDir, 'package.json'), JSON.stringify(pkg, null, 2));
254
+ };
255
+ const generateServiceReadme = async (serviceDir, serviceName, domain, port) => {
256
+ const readme = `${buildReadmeHeader(serviceName, domain, port)}
257
+
258
+ ${buildReadmeGettingStarted(domain, serviceName)}
259
+
260
+ ${buildReadmeApiInfo(serviceName, port)}`;
261
+ fs.writeFileSync(path.join(serviceDir, 'README.md'), readme);
262
+ };
263
+ const generateService = async (config) => {
264
+ const { domain, serviceName, port, version } = config;
265
+ const serviceDir = `services/${domain}/${serviceName}`;
266
+ // Create directories
267
+ const dirs = [
268
+ serviceDir,
269
+ `${serviceDir}/src`,
270
+ `${serviceDir}/src/http/Controllers`,
271
+ `${serviceDir}/src/http/Middleware`,
272
+ `${serviceDir}/src/models`,
273
+ `${serviceDir}/src/routes`,
274
+ `${serviceDir}/database/migrations`,
275
+ `${serviceDir}/database/seeders`,
276
+ `${serviceDir}/tests/Feature`,
277
+ `${serviceDir}/tests/Unit`,
278
+ ];
279
+ for (const dir of dirs) {
280
+ if (!fs.existsSync(dir)) {
281
+ fs.mkdirSync(dir, { recursive: true });
282
+ }
283
+ }
284
+ // Generate files
285
+ await generateServiceConfig(serviceDir, serviceName, port, version);
286
+ await generateServiceKernel(serviceDir, serviceName, domain);
287
+ await generateServiceRoutes(serviceDir, serviceName);
288
+ await generateServiceController(serviceDir, serviceName);
289
+ await generateServiceModel(serviceDir, serviceName);
290
+ await generateServiceTest(serviceDir, serviceName);
291
+ await generateServicePackageJson(serviceDir, serviceName, version);
292
+ await generateServiceReadme(serviceDir, serviceName, domain, port);
293
+ await generateDockerfile(serviceDir, serviceName);
294
+ Logger.info(` ✓ Generated: ${serviceName}`);
295
+ };
296
+ const generateDockerfile = async (serviceDir, serviceName) => {
297
+ const code = `FROM node:20-alpine
298
+
299
+ WORKDIR /app
300
+
301
+ # Install dependencies
302
+ # Note: In a real monorepo, you might want to copy the root package.json as well
303
+ COPY package.json ./
304
+ RUN npm install
305
+
306
+ # Copy source code
307
+ # We assume the context is the root of the project
308
+ COPY . .
309
+
310
+ # Build application
311
+ RUN npm run build
312
+
313
+ ENV NODE_ENV=production
314
+ ENV SERVICE_NAME=${serviceName}
315
+ ENV SERVICE_PORT=3000
316
+
317
+ # Standard Zintrust environment variables
318
+ ENV DB_CONNECTION=postgresql
319
+ ENV DB_HOST=postgres
320
+ ENV DB_PORT=5432
321
+ ENV REDIS_HOST=redis
322
+ ENV REDIS_PORT=6379
323
+
324
+ EXPOSE 3000
325
+
326
+ CMD ["npm", "run", "start"]
327
+ `;
328
+ fs.writeFileSync(path.join(serviceDir, 'Dockerfile'), code);
329
+ };
330
+ const generateSharedUtils = async (domain) => {
331
+ const sharedDir = `services/${domain}/shared`;
332
+ if (!fs.existsSync(sharedDir)) {
333
+ fs.mkdirSync(sharedDir, { recursive: true });
334
+ }
335
+ // Generate shared types
336
+ const typesFile = `${sharedDir}/types.ts`;
337
+ if (!fs.existsSync(typesFile)) {
338
+ const code = `/**
339
+ * Shared types for ${domain} domain
340
+ */
341
+
342
+ // TODO: Define shared types
343
+ `;
344
+ fs.writeFileSync(typesFile, code);
345
+ }
346
+ // Generate shared utils
347
+ const utilsFile = `${sharedDir}/utils.ts`;
348
+ if (!fs.existsSync(utilsFile)) {
349
+ const code = `/**
350
+ * Shared utilities for ${domain} domain
351
+ */
352
+
353
+ // TODO: Define shared utilities
354
+ `;
355
+ fs.writeFileSync(utilsFile, code);
356
+ }
357
+ };
358
+ const generateDockerCompose = async (domain, services, basePort) => {
359
+ const services_config = services
360
+ .map((service, i) => {
361
+ const port = basePort + i;
362
+ return ` ${service}:
363
+ build:
364
+ context: ../../
365
+ dockerfile: services/${domain}/${service}/Dockerfile
366
+ ports:
367
+ - "${port}:3000"
368
+ environment:
369
+ NODE_ENV: development
370
+ MICROSERVICES: "true"
371
+ SERVICE_NAME: ${service}
372
+ SERVICE_PORT: 3000
373
+ # Database Configuration
374
+ DB_CONNECTION: postgresql
375
+ DB_HOST: postgres
376
+ DB_PORT: 5432
377
+ DB_DATABASE: zintrust_${service}
378
+ DB_USERNAME: zintrust
379
+ DB_PASSWORD: zintrust
380
+ # Cache Configuration
381
+ REDIS_HOST: redis
382
+ REDIS_PORT: 6379
383
+ # Custom environment variables can be added here
384
+ depends_on:
385
+ - postgres
386
+ - redis
387
+ `;
388
+ })
389
+ .join('\n');
390
+ const compose = `version: '3.9'
391
+
392
+ # Zintrust Microservices Stack: ${domain}
393
+ # Run with: docker-compose up -d
394
+
395
+ services:
396
+ ${services_config}
397
+ postgres:
398
+ image: postgres:16-alpine
399
+ environment:
400
+ POSTGRES_DB: zintrust
401
+ POSTGRES_USER: zintrust
402
+ POSTGRES_PASSWORD: zintrust
403
+ ports:
404
+ - "5432:5432"
405
+ volumes:
406
+ - postgres_data:/var/lib/postgresql/data
407
+
408
+ redis:
409
+ image: redis:7-alpine
410
+ ports:
411
+ - "6379:6379"
412
+
413
+ volumes:
414
+ postgres_data:
415
+ `;
416
+ fs.writeFileSync(`services/${domain}/docker-compose.yml`, compose);
417
+ };
418
+ /**
419
+ * CLI command to generate microservices
420
+ */
421
+ export async function generateMicroservices(domain, services, port = 3001) {
422
+ try {
423
+ await MicroserviceGenerator.getInstance().generate({
424
+ domain,
425
+ services: services.map((s) => s.trim()),
426
+ basePort: port,
427
+ });
428
+ Logger.info('✅ Microservices generated successfully!');
429
+ }
430
+ catch (error) {
431
+ Logger.error('❌ Error generating microservices:', error.message);
432
+ process.exit(1);
433
+ }
434
+ }
435
+ export const generate = async (options) => MicroserviceGenerator.getInstance().generate(options);
436
+ export default MicroserviceGenerator;
@@ -0,0 +1,68 @@
1
+ /**
2
+ * Microservices Architecture for Zintrust Framework
3
+ * Sealed namespace pattern with immutable microservice management
4
+ */
5
+ export interface MicroserviceConfig {
6
+ name: string;
7
+ domain: string;
8
+ port?: number;
9
+ version?: string;
10
+ dependencies?: string[];
11
+ status?: string;
12
+ baseUrl?: string;
13
+ healthCheckUrl?: string;
14
+ healthCheck?: boolean | string;
15
+ lastHealthCheck?: number;
16
+ }
17
+ export interface IMicroserviceManager {
18
+ register(config: MicroserviceConfig): MicroserviceConfig;
19
+ getService(domain: string, name: string): MicroserviceConfig | undefined;
20
+ getAllServices(): MicroserviceConfig[];
21
+ getServicesByDomain(domain: string): MicroserviceConfig[];
22
+ callService(name: string, pathOrOptions: string | Record<string, unknown>, options?: Record<string, unknown>): Promise<unknown>;
23
+ getStatusSummary(): Record<string, unknown>;
24
+ healthCheckAll(): Promise<Record<string, boolean>>;
25
+ stopAllServices(): Promise<void>;
26
+ reset(): void;
27
+ }
28
+ export interface IMicroserviceManagerFactory {
29
+ create(): IMicroserviceManager;
30
+ getInstance(): IMicroserviceManager;
31
+ reset(): void;
32
+ initialize(configs?: MicroserviceConfig[], basePort?: number): IMicroserviceManager;
33
+ registerService(config: MicroserviceConfig): MicroserviceConfig;
34
+ startService(name: string, handler?: unknown): Promise<boolean>;
35
+ stopService(name: string): Promise<boolean>;
36
+ stopAllServices(): Promise<void>;
37
+ getService(domain: string, name: string): MicroserviceConfig | undefined;
38
+ getAllServices(): MicroserviceConfig[];
39
+ getServicesByDomain(domain: string): MicroserviceConfig[];
40
+ callService(name: string, pathOrOptions: string | Record<string, unknown>, options?: Record<string, unknown>): Promise<unknown>;
41
+ checkServiceHealth(name: string): Promise<boolean>;
42
+ healthCheckAll(): Promise<Record<string, boolean>>;
43
+ getStatusSummary(): Record<string, unknown>;
44
+ discoverServices(): Promise<MicroserviceConfig[]>;
45
+ }
46
+ declare const create: () => IMicroserviceManager;
47
+ declare const getInstance: () => IMicroserviceManager;
48
+ declare const reset: () => void;
49
+ declare const initialize: (configs?: MicroserviceConfig[], initBasePort?: number) => IMicroserviceManager;
50
+ declare const register: (config: MicroserviceConfig) => MicroserviceConfig;
51
+ declare const registerService: (config: MicroserviceConfig) => MicroserviceConfig;
52
+ declare const startService: (name: string, _handler?: unknown) => Promise<boolean>;
53
+ declare const stopService: (name: string) => Promise<boolean>;
54
+ declare const stopAllServices: () => Promise<void>;
55
+ declare const getService: (domain: string, name: string) => MicroserviceConfig | undefined;
56
+ declare const getAllServices: () => MicroserviceConfig[];
57
+ declare const getServicesByDomain: (domain: string) => MicroserviceConfig[];
58
+ declare const callService: (name: string, pathOrOptions: string | Record<string, unknown>, options?: Record<string, unknown>) => Promise<unknown>;
59
+ declare const checkServiceHealth: (name: string) => Promise<boolean>;
60
+ declare const healthCheckAll: () => Promise<Record<string, boolean>>;
61
+ declare const getStatusSummary: () => Record<string, unknown>;
62
+ declare const discoverServices: () => Promise<MicroserviceConfig[]>;
63
+ export declare const MicroserviceManager: IMicroserviceManagerFactory & IMicroserviceManager;
64
+ export declare function isMicroservicesEnabled(): boolean;
65
+ export declare function getEnabledServices(): string[];
66
+ export { callService, checkServiceHealth, create, discoverServices, getAllServices, getInstance, getService, getServicesByDomain, getStatusSummary, healthCheckAll, initialize, register, registerService, reset, startService, stopAllServices, stopService, };
67
+ export default MicroserviceManager;
68
+ //# sourceMappingURL=MicroserviceManager.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MicroserviceManager.d.ts","sourceRoot":"","sources":["../../../src/microservices/MicroserviceManager.ts"],"names":[],"mappings":"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"}