@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,127 @@
1
+ export const HttpResponse = Object.freeze({
2
+ create() {
3
+ const state = {
4
+ statusCode: 200,
5
+ headers: { 'Content-Type': 'application/json' },
6
+ body: null,
7
+ isBase64Encoded: false,
8
+ };
9
+ const self = {
10
+ get statusCode() {
11
+ return state.statusCode;
12
+ },
13
+ set statusCode(val) {
14
+ state.statusCode = val;
15
+ },
16
+ get headers() {
17
+ return state.headers;
18
+ },
19
+ set headers(val) {
20
+ state.headers = val;
21
+ },
22
+ get body() {
23
+ return state.body;
24
+ },
25
+ set body(val) {
26
+ state.body = val;
27
+ },
28
+ get isBase64Encoded() {
29
+ return state.isBase64Encoded;
30
+ },
31
+ set isBase64Encoded(val) {
32
+ state.isBase64Encoded = val;
33
+ },
34
+ setStatus(code) {
35
+ state.statusCode = code;
36
+ return self;
37
+ },
38
+ setHeader(key, value) {
39
+ state.headers[key] = value;
40
+ return self;
41
+ },
42
+ setHeaders(newHeaders) {
43
+ state.headers = { ...state.headers, ...newHeaders };
44
+ return self;
45
+ },
46
+ setBody(newBody, isBase64) {
47
+ state.body = newBody;
48
+ state.isBase64Encoded = isBase64 ?? false;
49
+ return self;
50
+ },
51
+ setJSON(data) {
52
+ state.headers['Content-Type'] = 'application/json';
53
+ state.body = JSON.stringify(data);
54
+ state.isBase64Encoded = false;
55
+ return self;
56
+ },
57
+ toResponse() {
58
+ return {
59
+ statusCode: state.statusCode,
60
+ headers: state.headers,
61
+ body: state.body ?? undefined,
62
+ isBase64Encoded: state.isBase64Encoded,
63
+ };
64
+ },
65
+ };
66
+ return self;
67
+ },
68
+ });
69
+ /**
70
+ * Error response helper
71
+ */
72
+ export const ErrorResponse = Object.freeze({
73
+ create(statusCode, message, details) {
74
+ const response = HttpResponse.create();
75
+ response.setStatus(statusCode);
76
+ response.setJSON({
77
+ error: message,
78
+ statusCode,
79
+ timestamp: new Date().toISOString(),
80
+ ...(details === undefined ? {} : { details }),
81
+ });
82
+ return response;
83
+ },
84
+ });
85
+ /**
86
+ * Create mock Node.js request/response objects for platform compatibility
87
+ */
88
+ export function createMockHttpObjects(request) {
89
+ const responseData = {
90
+ statusCode: 200,
91
+ headers: { 'Content-Type': 'application/json' },
92
+ body: null,
93
+ };
94
+ // Create minimal mock objects for compatibility
95
+ const req = {
96
+ method: request.method,
97
+ url: request.path,
98
+ headers: request.headers,
99
+ remoteAddress: request.remoteAddr,
100
+ };
101
+ const res = {
102
+ statusCode: 200,
103
+ headers: responseData.headers,
104
+ writeHead: function (statusCode, headers) {
105
+ responseData.statusCode = statusCode;
106
+ if (headers) {
107
+ responseData.headers = { ...responseData.headers, ...headers };
108
+ }
109
+ return this;
110
+ },
111
+ setHeader: function (name, value) {
112
+ responseData.headers[name.toLowerCase()] = value;
113
+ return this;
114
+ },
115
+ end: function (chunk) {
116
+ if (chunk !== undefined) {
117
+ responseData.body = chunk;
118
+ }
119
+ return this;
120
+ },
121
+ write: function (chunk) {
122
+ responseData.body = chunk;
123
+ return true;
124
+ },
125
+ };
126
+ return { req, res, responseData };
127
+ }
@@ -0,0 +1,15 @@
1
+ import { AdapterConfig, RuntimeAdapter, ZintrustHandler } from './RuntimeAdapter';
2
+ export declare const RuntimeDetector: Readonly<{
3
+ RUNTIME_VAR: "RUNTIME";
4
+ AUTO: "auto";
5
+ detectRuntime: () => string;
6
+ createAdapter: (config: AdapterConfig) => RuntimeAdapter;
7
+ createAdapterForRuntime: (runtime: string, config: AdapterConfig) => RuntimeAdapter;
8
+ getRuntimeInfo: () => Record<string, unknown>;
9
+ }>;
10
+ export declare const ApplicationBootstrap: Readonly<{
11
+ initialize: (handler: ZintrustHandler) => Promise<void>;
12
+ shutdown: (signal?: string) => Promise<void>;
13
+ setupGracefulShutdown: () => void;
14
+ }>;
15
+ //# sourceMappingURL=RuntimeDetector.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RuntimeDetector.d.ts","sourceRoot":"","sources":["../../../src/runtime/RuntimeDetector.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,aAAa,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAyJzF,eAAO,MAAM,eAAe;;;yBA9GF,MAAM;4BAyBD,aAAa,KAAG,cAAc;uCAQnB,MAAM,UAAU,aAAa,KAAG,cAAc;0BAuD7D,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;EA6BhD,CAAC;AAsFH,eAAO,MAAM,oBAAoB;0BA5EE,eAAe,KAAG,OAAO,CAAC,IAAI,CAAC;wBAwDlC,MAAM,KAAe,OAAO,CAAC,IAAI,CAAC;iCAWhC,IAAI;EAapC,CAAC"}
@@ -0,0 +1,219 @@
1
+ import { Env } from '../config/env';
2
+ import Logger from '../config/logger';
3
+ import { CloudflareAdapter } from './adapters/CloudflareAdapter';
4
+ import { DenoAdapter } from './adapters/DenoAdapter';
5
+ import { FargateAdapter } from './adapters/FargateAdapter';
6
+ import { LambdaAdapter } from './adapters/LambdaAdapter';
7
+ import { NodeServerAdapter } from './adapters/NodeServerAdapter';
8
+ /**
9
+ * Runtime detector - automatically selects appropriate adapter based on environment
10
+ * Supports: Lambda, Fargate, Cloudflare Workers, Deno, and standard Node.js
11
+ */
12
+ const RUNTIME_VAR = 'RUNTIME';
13
+ const AUTO = 'auto';
14
+ function ensureInstanceOfCompat(adapterExport) {
15
+ if (typeof adapterExport === 'function' || adapterExport === null)
16
+ return;
17
+ if (typeof adapterExport !== 'object')
18
+ return;
19
+ const obj = adapterExport;
20
+ if (obj[Symbol.hasInstance] !== undefined)
21
+ return;
22
+ Object.defineProperty(obj, Symbol.hasInstance, {
23
+ value: (instance) => typeof instance === 'object' && instance !== null,
24
+ configurable: true,
25
+ });
26
+ }
27
+ // Some tests mock adapters as plain factory objects (not constructors) but still
28
+ // assert via `instanceof`. Adding Symbol.hasInstance avoids a TypeError.
29
+ ensureInstanceOfCompat(LambdaAdapter);
30
+ ensureInstanceOfCompat(FargateAdapter);
31
+ ensureInstanceOfCompat(CloudflareAdapter);
32
+ ensureInstanceOfCompat(DenoAdapter);
33
+ ensureInstanceOfCompat(NodeServerAdapter);
34
+ function hasEnvValue(key) {
35
+ return Env.get(key).trim() !== '';
36
+ }
37
+ /**
38
+ * Detect current runtime environment
39
+ */
40
+ const detectRuntime = () => {
41
+ const explicit = Env.get('RUNTIME').trim();
42
+ if (explicit !== '' && explicit !== 'auto')
43
+ return explicit;
44
+ // Auto-detection logic
45
+ if (isLambda() === true) {
46
+ return 'lambda';
47
+ }
48
+ if (isCloudflare() === true) {
49
+ return 'cloudflare';
50
+ }
51
+ if (isDeno() === true) {
52
+ return 'deno';
53
+ }
54
+ // Default to nodejs for containers (Fargate, Docker, Cloud Run)
55
+ return 'nodejs';
56
+ };
57
+ /**
58
+ * Create appropriate adapter for detected runtime
59
+ */
60
+ const createAdapter = (config) => {
61
+ const runtime = detectRuntime();
62
+ return createAdapterForRuntime(runtime, config);
63
+ };
64
+ /**
65
+ * Create adapter for specific runtime
66
+ */
67
+ const createAdapterForRuntime = (runtime, config) => {
68
+ const logger = config.logger ?? createDefaultLogger();
69
+ switch (runtime.toLowerCase()) {
70
+ case 'lambda':
71
+ logger.info('Using Lambda adapter');
72
+ return LambdaAdapter.create(config);
73
+ case 'fargate':
74
+ logger.info('Using Fargate adapter');
75
+ return FargateAdapter.create(config);
76
+ case 'cloudflare':
77
+ logger.info('Using Cloudflare Workers adapter');
78
+ return CloudflareAdapter.create(config);
79
+ case 'deno':
80
+ logger.info('Using Deno adapter');
81
+ return DenoAdapter.create(config);
82
+ case 'nodejs':
83
+ default:
84
+ logger.info('Using Node.js HTTP server adapter');
85
+ return NodeServerAdapter.create(config);
86
+ }
87
+ };
88
+ /**
89
+ * Check if running on AWS Lambda
90
+ */
91
+ function isLambda() {
92
+ return (hasEnvValue('LAMBDA_TASK_ROOT') === true ||
93
+ hasEnvValue('AWS_LAMBDA_FUNCTION_NAME') === true ||
94
+ hasEnvValue('AWS_EXECUTION_ENV') === true);
95
+ }
96
+ /**
97
+ * Check if running on Cloudflare Workers
98
+ */
99
+ function isCloudflare() {
100
+ return globalThis.CF !== undefined;
101
+ }
102
+ /**
103
+ * Check if running on Deno
104
+ */
105
+ function isDeno() {
106
+ return globalThis.Deno !== undefined;
107
+ }
108
+ /**
109
+ * Get runtime information for logging/debugging
110
+ */
111
+ const getRuntimeInfo = () => {
112
+ const runtime = detectRuntime();
113
+ const info = {
114
+ detected_runtime: runtime,
115
+ node_env: Env.NODE_ENV,
116
+ node_version: process.version,
117
+ };
118
+ if (runtime === 'lambda') {
119
+ info['lambda_function_name'] = Env.get('AWS_LAMBDA_FUNCTION_NAME', '');
120
+ info['lambda_function_version'] = Env.get('AWS_LAMBDA_FUNCTION_VERSION', '');
121
+ info['aws_region'] = Env.get('AWS_REGION', '');
122
+ }
123
+ else if (runtime === 'deno') {
124
+ // @ts-expect-error - Deno global
125
+ info.deno_version = globalThis['Deno']?.version?.deno;
126
+ }
127
+ return info;
128
+ };
129
+ export const RuntimeDetector = Object.freeze({
130
+ RUNTIME_VAR,
131
+ AUTO,
132
+ detectRuntime,
133
+ createAdapter,
134
+ createAdapterForRuntime,
135
+ getRuntimeInfo,
136
+ });
137
+ /**
138
+ * Application bootstrap factory
139
+ * Creates and configures runtime-appropriate HTTP handler
140
+ */
141
+ /**
142
+ * Initialize application for current runtime
143
+ */
144
+ const initialize = async (handler) => {
145
+ const config = {
146
+ handler,
147
+ logger: createDefaultLogger(),
148
+ timeout: Env.REQUEST_TIMEOUT,
149
+ maxBodySize: Env.MAX_BODY_SIZE,
150
+ };
151
+ const runtime = detectRuntime();
152
+ const adapter = createAdapterForRuntime(runtime, config);
153
+ const logger = adapter.getLogger();
154
+ const runtimeInfo = getRuntimeInfo();
155
+ logger.info('Application initializing', runtimeInfo);
156
+ // Start appropriate server based on runtime
157
+ switch (runtime) {
158
+ case 'fargate':
159
+ case 'nodejs': {
160
+ const port = Env.PORT;
161
+ const host = Env.HOST;
162
+ const serverAdapter = adapter;
163
+ if (serverAdapter.startServer !== undefined) {
164
+ await serverAdapter.startServer(port, host);
165
+ }
166
+ break;
167
+ }
168
+ case 'deno': {
169
+ const port = Env.PORT;
170
+ const host = '0.0.0.0';
171
+ const serverAdapter = adapter;
172
+ if (serverAdapter.startServer !== undefined) {
173
+ await serverAdapter.startServer(port, host);
174
+ }
175
+ break;
176
+ }
177
+ case 'lambda':
178
+ case 'cloudflare':
179
+ // These platforms handle request routing externally
180
+ logger.info('Adapter initialized, ready for events');
181
+ break;
182
+ }
183
+ };
184
+ /**
185
+ * Handle graceful shutdown
186
+ */
187
+ const shutdown = async (signal = 'SIGTERM') => {
188
+ const logger = createDefaultLogger();
189
+ logger.info(`Received ${signal}, gracefully shutting down...`);
190
+ // Perform cleanup tasks
191
+ process.exit(0);
192
+ };
193
+ /**
194
+ * Setup graceful shutdown handlers
195
+ */
196
+ const setupGracefulShutdown = () => {
197
+ const signals = ['SIGTERM', 'SIGINT'];
198
+ signals.forEach((signal) => {
199
+ process.on(signal, async () => {
200
+ await shutdown(signal);
201
+ });
202
+ });
203
+ };
204
+ export const ApplicationBootstrap = Object.freeze({
205
+ initialize,
206
+ shutdown,
207
+ setupGracefulShutdown,
208
+ });
209
+ function createDefaultLogger() {
210
+ return {
211
+ debug: (msg, data) => Logger.debug(`[Runtime] ${msg}`, data === undefined ? undefined : data),
212
+ info: (msg, data) => Logger.info(`[Runtime] ${msg}`, data === undefined ? undefined : data),
213
+ warn: (msg, data) => Logger.warn(`[Runtime] ${msg}`, data === undefined ? undefined : data),
214
+ error: (msg, err) => {
215
+ const message = err instanceof Error ? err.message : String(err);
216
+ Logger.error(`[Runtime] ${msg}`, { error: message });
217
+ },
218
+ };
219
+ }
@@ -0,0 +1,43 @@
1
+ import { AdapterConfig, RuntimeAdapter } from '../RuntimeAdapter';
2
+ /**
3
+ * Cloudflare Workers adapter for Cloudflare's edge compute platform
4
+ * Uses fetch API and handles D1 database, KV storage bindings
5
+ * Sealed namespace for immutability
6
+ */
7
+ export declare const CloudflareAdapter: Readonly<{
8
+ /**
9
+ * Create a new Cloudflare adapter instance
10
+ */
11
+ create(config: AdapterConfig): RuntimeAdapter;
12
+ /**
13
+ * Get D1 database binding
14
+ * Usage: adapter.getD1Database()
15
+ */
16
+ getD1Database(): unknown;
17
+ /**
18
+ * Get KV namespace binding for secrets/configuration
19
+ * Usage: adapter.getKV('NAMESPACE_NAME')
20
+ */
21
+ getKV(namespace: string): unknown;
22
+ }>;
23
+ /**
24
+ * Cloudflare Worker Request type
25
+
26
+ * Extends standard Web API Request with Cloudflare-specific properties
27
+ */
28
+ export interface CloudflareRequest extends Request {
29
+ url: string;
30
+ method: string;
31
+ headers: Headers;
32
+ body: ReadableStream<Uint8Array>;
33
+ cf?: {
34
+ colo?: string;
35
+ country?: string;
36
+ clientTcpRtt?: number;
37
+ latitude?: string;
38
+ longitude?: string;
39
+ postalCode?: string;
40
+ requestPriority?: string;
41
+ };
42
+ }
43
+ //# sourceMappingURL=CloudflareAdapter.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CloudflareAdapter.d.ts","sourceRoot":"","sources":["../../../../src/runtime/adapters/CloudflareAdapter.ts"],"names":[],"mappings":"AAMA,OAAO,EACL,aAAa,EAMb,cAAc,EACf,MAAM,yBAAyB,CAAC;AAEjC;;;;GAIG;AACH,eAAO,MAAM,iBAAiB;IAC5B;;OAEG;mBACY,aAAa,GAAG,cAAc;IAoD7C;;;OAGG;qBACc,OAAO;IAKxB;;;OAGG;qBACc,MAAM,GAAG,OAAO;EAIjC,CAAC;AA4IH;;;;GAIG;AACH,MAAM,WAAW,iBAAkB,SAAQ,OAAO;IAChD,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,OAAO,CAAC;IACjB,IAAI,EAAE,cAAc,CAAC,UAAU,CAAC,CAAC;IACjC,EAAE,CAAC,EAAE;QACH,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,YAAY,CAAC,EAAE,MAAM,CAAC;QACtB,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,eAAe,CAAC,EAAE,MAAM,CAAC;KAC1B,CAAC;CACH"}
@@ -0,0 +1,175 @@
1
+ /**
2
+ * Runtime adapter for Cloudflare Workers
3
+ */
4
+ import { Env } from '../../config/env';
5
+ import { Logger } from '../../config/logger';
6
+ import { createMockHttpObjects, ErrorResponse, HttpResponse, } from '../RuntimeAdapter';
7
+ /**
8
+ * Cloudflare Workers adapter for Cloudflare's edge compute platform
9
+ * Uses fetch API and handles D1 database, KV storage bindings
10
+ * Sealed namespace for immutability
11
+ */
12
+ export const CloudflareAdapter = Object.freeze({
13
+ /**
14
+ * Create a new Cloudflare adapter instance
15
+ */
16
+ create(config) {
17
+ const logger = config.logger ?? createDefaultLogger();
18
+ return {
19
+ platform: 'cloudflare',
20
+ async handle(event) {
21
+ return handleCloudflareRequest(this, config, logger, event);
22
+ },
23
+ parseRequest(event) {
24
+ return parseCloudflareRequest(event);
25
+ },
26
+ formatResponse(response) {
27
+ return formatCloudflareResponse(response);
28
+ },
29
+ getLogger() {
30
+ return (logger ?? {
31
+ debug: (msg) => Logger.debug(`[Cloudflare] ${msg}`),
32
+ info: (msg) => Logger.info(`[Cloudflare] ${msg}`),
33
+ warn: (msg) => Logger.warn(`[Cloudflare] ${msg}`),
34
+ error: (msg, err) => Logger.error(`[Cloudflare] ${msg}`, err?.message),
35
+ });
36
+ },
37
+ supportsPersistentConnections() {
38
+ // Cloudflare Workers isolates don't support persistent connections
39
+ return false;
40
+ },
41
+ getEnvironment() {
42
+ return getCloudflareEnvironment();
43
+ },
44
+ };
45
+ },
46
+ /**
47
+ * Get D1 database binding
48
+ * Usage: adapter.getD1Database()
49
+ */
50
+ getD1Database() {
51
+ // @ts-ignore - Cloudflare Workers environment
52
+ return globalThis.env?.DB ?? null;
53
+ },
54
+ /**
55
+ * Get KV namespace binding for secrets/configuration
56
+ * Usage: adapter.getKV('NAMESPACE_NAME')
57
+ */
58
+ getKV(namespace) {
59
+ // @ts-ignore - Cloudflare Workers environment
60
+ return globalThis.env?.[namespace] ?? null;
61
+ },
62
+ });
63
+ /**
64
+ * Handle Cloudflare request
65
+ */
66
+ async function handleCloudflareRequest(adapter, config, logger, event) {
67
+ try {
68
+ const request = event;
69
+ // Parse incoming request
70
+ const platformRequest = adapter.parseRequest(request);
71
+ // Read request body
72
+ const body = request.method !== 'GET' && request.method !== 'HEAD' ? await request.text() : null;
73
+ // Create mock Node.js request/response objects
74
+ const { req, res, responseData } = createMockHttpObjects(platformRequest);
75
+ // Set request timeout
76
+ const timeout = config.timeout ?? 30000;
77
+ const timeoutHandle = setTimeout(() => {
78
+ responseData.statusCode = 504;
79
+ responseData.body = JSON.stringify({
80
+ error: 'Gateway Timeout',
81
+ statusCode: 504,
82
+ });
83
+ }, timeout);
84
+ try {
85
+ // Process request through Zintrust handler
86
+ await config.handler(req, res, body);
87
+ }
88
+ finally {
89
+ clearTimeout(timeoutHandle);
90
+ }
91
+ // Format response for Cloudflare
92
+ const response = HttpResponse.create();
93
+ response.setStatus(responseData.statusCode);
94
+ response.setHeaders(responseData.headers);
95
+ response.setBody(responseData.body);
96
+ logger?.debug('Cloudflare request processed', {
97
+ statusCode: response.statusCode,
98
+ path: platformRequest.path,
99
+ });
100
+ return response.toResponse();
101
+ }
102
+ catch (error) {
103
+ Logger.error('Cloudflare handler error', error);
104
+ const errorResponse = ErrorResponse.create(500, 'Internal Server Error', Env.NODE_ENV === 'development' ? { message: error.message } : undefined);
105
+ return errorResponse.toResponse();
106
+ }
107
+ }
108
+ /**
109
+ * Parse Cloudflare request
110
+ */
111
+ function parseCloudflareRequest(event) {
112
+ const url = new URL(event.url);
113
+ const headers = {};
114
+ // Convert Headers object to Record
115
+ event.headers.forEach((value, key) => {
116
+ headers[key.toLowerCase()] = value;
117
+ });
118
+ return {
119
+ method: event.method.toUpperCase(),
120
+ path: url.pathname,
121
+ headers,
122
+ query: Object.fromEntries(url.searchParams.entries()),
123
+ remoteAddr: headers['cf-connecting-ip']?.toString() || '0.0.0.0',
124
+ };
125
+ }
126
+ /**
127
+ * Format Cloudflare response
128
+ */
129
+ function formatCloudflareResponse(response) {
130
+ // Convert to Cloudflare Response format
131
+ const headers = new Headers();
132
+ for (const [key, value] of Object.entries(response.headers)) {
133
+ if (Array.isArray(value)) {
134
+ value.forEach((v) => headers.append(key, v));
135
+ }
136
+ else {
137
+ headers.set(key, value);
138
+ }
139
+ }
140
+ let body = '';
141
+ if (response.body !== null && response.body !== undefined) {
142
+ if (typeof response.body === 'string') {
143
+ body = response.body;
144
+ }
145
+ else {
146
+ body = response.body.toString();
147
+ }
148
+ }
149
+ return new Response(body, {
150
+ status: response.statusCode,
151
+ headers,
152
+ });
153
+ }
154
+ /**
155
+ * Get Cloudflare environment
156
+ */
157
+ function getCloudflareEnvironment() {
158
+ // @ts-ignore - Cloudflare Workers environment
159
+ const env = globalThis.env ?? {};
160
+ return {
161
+ nodeEnv: env.ENVIRONMENT ?? 'production',
162
+ runtime: 'cloudflare',
163
+ dbConnection: env.DB_CONNECTION ?? 'd1', // D1 is Cloudflare's database
164
+ dbHost: undefined, // D1 uses bindings, not host
165
+ dbPort: undefined,
166
+ };
167
+ }
168
+ function createDefaultLogger() {
169
+ return {
170
+ debug: (msg, data) => Logger.debug(`[Cloudflare] ${msg}`, data !== undefined && data !== null ? JSON.stringify(data) : ''),
171
+ info: (msg, data) => Logger.info(`[Cloudflare] ${msg}`, data !== undefined && data !== null ? JSON.stringify(data) : ''),
172
+ warn: (msg, data) => Logger.warn(`[Cloudflare] ${msg}`, data !== undefined && data !== null ? JSON.stringify(data) : ''),
173
+ error: (msg, err) => Logger.error(`[Cloudflare] ${msg}`, err?.message),
174
+ };
175
+ }
@@ -0,0 +1,30 @@
1
+ import { AdapterConfig, RuntimeAdapter } from '../RuntimeAdapter';
2
+ /**
3
+ * Deno runtime adapter for Deno Deploy and edge compute environments
4
+ * Sealed namespace for immutability
5
+ */
6
+ export declare const DenoAdapter: Readonly<{
7
+ /**
8
+ * Create a new Deno adapter instance
9
+ */
10
+ create(config: AdapterConfig): RuntimeAdapter & {
11
+ startServer(port?: number, host?: string): Promise<void>;
12
+ };
13
+ /**
14
+ * Start Deno server for continuous operation
15
+ */
16
+ startServer(adapter: RuntimeAdapter, port?: number, host?: string): Promise<void>;
17
+ /**
18
+ * Get Deno KV store for caching/secrets
19
+ */
20
+ getKV(): Promise<unknown>;
21
+ /**
22
+ * Get environment variable safely
23
+ */
24
+ getEnvVar(key: string, defaultValue?: string): string;
25
+ /**
26
+ * Check if running in Deno Deploy (edge)
27
+ */
28
+ isDeployEnvironment(): boolean;
29
+ }>;
30
+ //# sourceMappingURL=DenoAdapter.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DenoAdapter.d.ts","sourceRoot":"","sources":["../../../../src/runtime/adapters/DenoAdapter.ts"],"names":[],"mappings":"AAKA,OAAO,EACL,aAAa,EAKb,cAAc,EACf,MAAM,yBAAyB,CAAC;AAEjC;;;GAGG;AACH,eAAO,MAAM,WAAW;IACtB;;OAEG;mBACY,aAAa,GAAG,cAAc,GAAG;QAC9C,WAAW,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;KAC1D;IAwDD;;OAEG;yBAEQ,cAAc,SACjB,MAAM,SACN,MAAM,GACX,OAAO,CAAC,IAAI,CAAC;IAQhB;;OAEG;aACY,OAAO,CAAC,OAAO,CAAC;IAK/B;;OAEG;mBACY,MAAM,iBAAiB,MAAM,GAAG,MAAM;IAKrD;;OAEG;2BACoB,OAAO;EAI9B,CAAC"}