@zintrust/core 0.1.28 → 0.1.29

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 (1500) hide show
  1. package/README.md +166 -185
  2. package/bin/z.d.ts +7 -0
  3. package/bin/z.d.ts.map +1 -0
  4. package/bin/z.js +7 -0
  5. package/bin/zin.d.ts +7 -0
  6. package/bin/zin.d.ts.map +1 -0
  7. package/bin/zin.js +7 -0
  8. package/bin/zintrust-main.d.ts +9 -0
  9. package/bin/zintrust-main.d.ts.map +1 -0
  10. package/bin/zintrust-main.js +110 -0
  11. package/bin/zintrust-microservices.d.ts +7 -0
  12. package/bin/zintrust-microservices.d.ts.map +1 -0
  13. package/bin/zintrust-microservices.js +165 -0
  14. package/bin/zintrust.d.ts +10 -0
  15. package/bin/zintrust.d.ts.map +1 -0
  16. package/bin/zintrust.js +10 -0
  17. package/bin/zt.d.ts +7 -0
  18. package/bin/zt.d.ts.map +1 -0
  19. package/bin/zt.js +7 -0
  20. package/package.json +42 -140
  21. package/src/auth/Auth.d.ts +20 -0
  22. package/src/auth/Auth.d.ts.map +1 -0
  23. package/src/auth/Auth.js +33 -0
  24. package/src/boot/Application.d.ts +31 -0
  25. package/src/boot/Application.d.ts.map +1 -0
  26. package/src/boot/Application.js +351 -0
  27. package/src/boot/Server.d.ts +24 -0
  28. package/src/boot/Server.d.ts.map +1 -0
  29. package/src/boot/Server.js +117 -0
  30. package/src/boot/bootstrap.d.ts +7 -0
  31. package/src/boot/bootstrap.d.ts.map +1 -0
  32. package/src/boot/bootstrap.js +232 -0
  33. package/src/builder/BundleOptimizer.d.ts +42 -0
  34. package/src/builder/BundleOptimizer.d.ts.map +1 -0
  35. package/src/builder/BundleOptimizer.js +352 -0
  36. package/src/cache/Cache.d.ts +39 -0
  37. package/src/cache/Cache.d.ts.map +1 -0
  38. package/src/cache/Cache.js +142 -0
  39. package/src/cache/CacheDriver.d.ts +32 -0
  40. package/src/cache/CacheDriver.d.ts.map +1 -0
  41. package/src/cache/CacheDriver.js +6 -0
  42. package/src/cache/CacheDriverRegistry.d.ts +15 -0
  43. package/src/cache/CacheDriverRegistry.d.ts.map +1 -0
  44. package/src/cache/CacheDriverRegistry.js +19 -0
  45. package/src/cache/CacheRuntimeRegistration.d.ts +11 -0
  46. package/src/cache/CacheRuntimeRegistration.d.ts.map +1 -0
  47. package/src/cache/CacheRuntimeRegistration.js +21 -0
  48. package/src/cache/drivers/KVDriver.d.ts +12 -0
  49. package/src/cache/drivers/KVDriver.d.ts.map +1 -0
  50. package/src/cache/drivers/KVDriver.js +55 -0
  51. package/src/cache/drivers/KVRemoteDriver.d.ts +11 -0
  52. package/src/cache/drivers/KVRemoteDriver.d.ts.map +1 -0
  53. package/src/cache/drivers/KVRemoteDriver.js +70 -0
  54. package/src/cache/drivers/MemoryDriver.d.ts +12 -0
  55. package/src/cache/drivers/MemoryDriver.d.ts.map +1 -0
  56. package/src/cache/drivers/MemoryDriver.js +71 -0
  57. package/src/cache/drivers/MongoDriver.d.ts +17 -0
  58. package/src/cache/drivers/MongoDriver.d.ts.map +1 -0
  59. package/src/cache/drivers/MongoDriver.js +80 -0
  60. package/src/cache/drivers/RedisDriver.d.ts +12 -0
  61. package/src/cache/drivers/RedisDriver.d.ts.map +1 -0
  62. package/src/cache/drivers/RedisDriver.js +84 -0
  63. package/src/cli/BaseCommand.d.ts +41 -0
  64. package/src/cli/BaseCommand.d.ts.map +1 -0
  65. package/src/cli/BaseCommand.js +69 -0
  66. package/src/cli/CLI.d.ts +21 -0
  67. package/src/cli/CLI.d.ts.map +1 -0
  68. package/src/cli/CLI.js +242 -0
  69. package/src/cli/ErrorHandler.d.ts +23 -0
  70. package/src/cli/ErrorHandler.d.ts.map +1 -0
  71. package/src/cli/ErrorHandler.js +99 -0
  72. package/src/cli/PromptHelper.d.ts +47 -0
  73. package/src/cli/PromptHelper.d.ts.map +1 -0
  74. package/src/cli/PromptHelper.js +156 -0
  75. package/src/cli/commands/AddCommand.d.ts +96 -0
  76. package/src/cli/commands/AddCommand.d.ts.map +1 -0
  77. package/src/cli/commands/AddCommand.js +932 -0
  78. package/src/cli/commands/BroadcastWorkCommand.d.ts +10 -0
  79. package/src/cli/commands/BroadcastWorkCommand.d.ts.map +1 -0
  80. package/src/cli/commands/BroadcastWorkCommand.js +16 -0
  81. package/src/cli/commands/ConfigCommand.d.ts +15 -0
  82. package/src/cli/commands/ConfigCommand.d.ts.map +1 -0
  83. package/src/cli/commands/ConfigCommand.js +307 -0
  84. package/src/cli/commands/CreateCommand.d.ts +15 -0
  85. package/src/cli/commands/CreateCommand.d.ts.map +1 -0
  86. package/src/cli/commands/CreateCommand.js +143 -0
  87. package/src/cli/commands/D1MigrateCommand.d.ts +19 -0
  88. package/src/cli/commands/D1MigrateCommand.d.ts.map +1 -0
  89. package/src/cli/commands/D1MigrateCommand.js +71 -0
  90. package/src/cli/commands/DbSeedCommand.d.ts +9 -0
  91. package/src/cli/commands/DbSeedCommand.d.ts.map +1 -0
  92. package/src/cli/commands/DbSeedCommand.js +139 -0
  93. package/src/cli/commands/DebugCommand.d.ts +15 -0
  94. package/src/cli/commands/DebugCommand.d.ts.map +1 -0
  95. package/src/cli/commands/DebugCommand.js +52 -0
  96. package/src/cli/commands/FixCommand.d.ts +15 -0
  97. package/src/cli/commands/FixCommand.d.ts.map +1 -0
  98. package/src/cli/commands/FixCommand.js +68 -0
  99. package/src/cli/commands/JwtDevCommand.d.ts +8 -0
  100. package/src/cli/commands/JwtDevCommand.d.ts.map +1 -0
  101. package/src/cli/commands/JwtDevCommand.js +114 -0
  102. package/src/cli/commands/KeyGenerateCommand.d.ts +9 -0
  103. package/src/cli/commands/KeyGenerateCommand.d.ts.map +1 -0
  104. package/src/cli/commands/KeyGenerateCommand.js +76 -0
  105. package/src/cli/commands/LogsCleanupCommand.d.ts +6 -0
  106. package/src/cli/commands/LogsCleanupCommand.d.ts.map +1 -0
  107. package/src/cli/commands/LogsCleanupCommand.js +20 -0
  108. package/src/cli/commands/LogsCommand.d.ts +19 -0
  109. package/src/cli/commands/LogsCommand.d.ts.map +1 -0
  110. package/src/cli/commands/LogsCommand.js +217 -0
  111. package/src/cli/commands/MakeMailTemplateCommand.d.ts +10 -0
  112. package/src/cli/commands/MakeMailTemplateCommand.d.ts.map +1 -0
  113. package/src/cli/commands/MakeMailTemplateCommand.js +76 -0
  114. package/src/cli/commands/MakeNotificationTemplateCommand.d.ts +10 -0
  115. package/src/cli/commands/MakeNotificationTemplateCommand.d.ts.map +1 -0
  116. package/src/cli/commands/MakeNotificationTemplateCommand.js +115 -0
  117. package/src/cli/commands/MigrateCommand.d.ts +15 -0
  118. package/src/cli/commands/MigrateCommand.d.ts.map +1 -0
  119. package/src/cli/commands/MigrateCommand.js +302 -0
  120. package/src/cli/commands/MigrateWorkerCommand.d.ts +9 -0
  121. package/src/cli/commands/MigrateWorkerCommand.d.ts.map +1 -0
  122. package/src/cli/commands/MigrateWorkerCommand.js +136 -0
  123. package/src/cli/commands/NewCommand.d.ts +37 -0
  124. package/src/cli/commands/NewCommand.d.ts.map +1 -0
  125. package/src/cli/commands/NewCommand.js +408 -0
  126. package/src/cli/commands/NotificationWorkCommand.d.ts +10 -0
  127. package/src/cli/commands/NotificationWorkCommand.d.ts.map +1 -0
  128. package/src/cli/commands/NotificationWorkCommand.js +16 -0
  129. package/src/cli/commands/PluginCommand.d.ts +9 -0
  130. package/src/cli/commands/PluginCommand.d.ts.map +1 -0
  131. package/src/cli/commands/PluginCommand.js +98 -0
  132. package/src/cli/commands/PrepareCommand.d.ts +8 -0
  133. package/src/cli/commands/PrepareCommand.d.ts.map +1 -0
  134. package/src/cli/commands/PrepareCommand.js +51 -0
  135. package/src/cli/commands/PublishCommand.d.ts +5 -0
  136. package/src/cli/commands/PublishCommand.d.ts.map +1 -0
  137. package/src/cli/commands/PublishCommand.js +54 -0
  138. package/src/cli/commands/QACommand.d.ts +33 -0
  139. package/src/cli/commands/QACommand.d.ts.map +1 -0
  140. package/src/cli/commands/QACommand.js +480 -0
  141. package/src/cli/commands/QueueCommand.d.ts +10 -0
  142. package/src/cli/commands/QueueCommand.d.ts.map +1 -0
  143. package/src/cli/commands/QueueCommand.js +113 -0
  144. package/src/cli/commands/QueueLockCommand.d.ts +7 -0
  145. package/src/cli/commands/QueueLockCommand.d.ts.map +1 -0
  146. package/src/cli/commands/QueueLockCommand.js +138 -0
  147. package/src/cli/commands/QueueWorkCommandUtils.d.ts +10 -0
  148. package/src/cli/commands/QueueWorkCommandUtils.d.ts.map +1 -0
  149. package/src/cli/commands/QueueWorkCommandUtils.js +43 -0
  150. package/src/cli/commands/ResourceControlCommand.d.ts +6 -0
  151. package/src/cli/commands/ResourceControlCommand.d.ts.map +1 -0
  152. package/src/cli/commands/ResourceControlCommand.js +43 -0
  153. package/src/cli/commands/RoutesCommand.d.ts +10 -0
  154. package/src/cli/commands/RoutesCommand.d.ts.map +1 -0
  155. package/src/cli/commands/RoutesCommand.js +251 -0
  156. package/src/cli/commands/SecretsCommand.d.ts +16 -0
  157. package/src/cli/commands/SecretsCommand.d.ts.map +1 -0
  158. package/src/cli/commands/SecretsCommand.js +91 -0
  159. package/src/cli/commands/SimulateCommand.d.ts +12 -0
  160. package/src/cli/commands/SimulateCommand.d.ts.map +1 -0
  161. package/src/cli/commands/SimulateCommand.js +79 -0
  162. package/src/cli/commands/StartCommand.d.ts +5 -0
  163. package/src/cli/commands/StartCommand.d.ts.map +1 -0
  164. package/src/cli/commands/StartCommand.js +326 -0
  165. package/src/cli/commands/TemplatesCommand.d.ts +3 -0
  166. package/src/cli/commands/TemplatesCommand.d.ts.map +1 -0
  167. package/src/cli/commands/TemplatesCommand.js +65 -0
  168. package/src/cli/commands/UpgradeCommand.d.ts +16 -0
  169. package/src/cli/commands/UpgradeCommand.d.ts.map +1 -0
  170. package/src/cli/commands/UpgradeCommand.js +107 -0
  171. package/src/cli/commands/WorkerCommands.d.ts +17 -0
  172. package/src/cli/commands/WorkerCommands.d.ts.map +1 -0
  173. package/src/cli/commands/WorkerCommands.js +288 -0
  174. package/src/cli/commands/createKindWorkCommand.d.ts +9 -0
  175. package/src/cli/commands/createKindWorkCommand.d.ts.map +1 -0
  176. package/src/cli/commands/createKindWorkCommand.js +33 -0
  177. package/src/cli/commands/index.d.ts +24 -0
  178. package/src/cli/commands/index.d.ts.map +1 -0
  179. package/src/cli/commands/index.js +23 -0
  180. package/src/cli/commands/runner/index.d.ts +3 -0
  181. package/src/cli/commands/runner/index.d.ts.map +1 -0
  182. package/src/cli/commands/runner/index.js +139 -0
  183. package/src/cli/config/ConfigManager.d.ts +42 -0
  184. package/src/cli/config/ConfigManager.d.ts.map +1 -0
  185. package/src/cli/config/ConfigManager.js +175 -0
  186. package/src/cli/config/ConfigSchema.d.ts +195 -0
  187. package/src/cli/config/ConfigSchema.d.ts.map +1 -0
  188. package/src/cli/config/ConfigSchema.js +172 -0
  189. package/src/cli/config/ConfigValidator.d.ts +41 -0
  190. package/src/cli/config/ConfigValidator.d.ts.map +1 -0
  191. package/src/cli/config/ConfigValidator.js +200 -0
  192. package/src/cli/config/index.d.ts +8 -0
  193. package/src/cli/config/index.d.ts.map +1 -0
  194. package/src/cli/config/index.js +7 -0
  195. package/src/cli/d1/D1SqlMigrations.d.ts +20 -0
  196. package/src/cli/d1/D1SqlMigrations.d.ts.map +1 -0
  197. package/src/cli/d1/D1SqlMigrations.js +230 -0
  198. package/src/cli/d1/WranglerConfig.d.ts +4 -0
  199. package/src/cli/d1/WranglerConfig.d.ts.map +1 -0
  200. package/src/cli/d1/WranglerConfig.js +122 -0
  201. package/src/cli/d1/WranglerD1.d.ts +11 -0
  202. package/src/cli/d1/WranglerD1.d.ts.map +1 -0
  203. package/src/cli/d1/WranglerD1.js +16 -0
  204. package/src/cli/debug/Dashboard.d.ts +34 -0
  205. package/src/cli/debug/Dashboard.d.ts.map +1 -0
  206. package/src/cli/debug/Dashboard.js +152 -0
  207. package/src/cli/env/EnvFileBackfill.d.ts +10 -0
  208. package/src/cli/env/EnvFileBackfill.d.ts.map +1 -0
  209. package/src/cli/env/EnvFileBackfill.js +64 -0
  210. package/src/cli/index.d.ts +15 -0
  211. package/src/cli/index.d.ts.map +1 -0
  212. package/src/cli/index.js +15 -0
  213. package/src/cli/logger/Logger.d.ts +43 -0
  214. package/src/cli/logger/Logger.d.ts.map +1 -0
  215. package/src/cli/logger/Logger.js +137 -0
  216. package/src/cli/scaffolding/ControllerGenerator.d.ts +44 -0
  217. package/src/cli/scaffolding/ControllerGenerator.d.ts.map +1 -0
  218. package/src/cli/scaffolding/ControllerGenerator.js +575 -0
  219. package/src/cli/scaffolding/FactoryGenerator.d.ts +47 -0
  220. package/src/cli/scaffolding/FactoryGenerator.d.ts.map +1 -0
  221. package/src/cli/scaffolding/FactoryGenerator.js +358 -0
  222. package/src/cli/scaffolding/FeatureScaffolder.d.ts +40 -0
  223. package/src/cli/scaffolding/FeatureScaffolder.d.ts.map +1 -0
  224. package/src/cli/scaffolding/FeatureScaffolder.js +747 -0
  225. package/src/cli/scaffolding/FileGenerator.d.ts +31 -0
  226. package/src/cli/scaffolding/FileGenerator.d.ts.map +1 -0
  227. package/src/cli/scaffolding/FileGenerator.js +222 -0
  228. package/src/cli/scaffolding/GovernanceScaffolder.d.ts +23 -0
  229. package/src/cli/scaffolding/GovernanceScaffolder.d.ts.map +1 -0
  230. package/src/cli/scaffolding/GovernanceScaffolder.js +327 -0
  231. package/src/cli/scaffolding/MigrationGenerator.d.ts +45 -0
  232. package/src/cli/scaffolding/MigrationGenerator.d.ts.map +1 -0
  233. package/src/cli/scaffolding/MigrationGenerator.js +344 -0
  234. package/src/cli/scaffolding/ModelGenerator.d.ts +81 -0
  235. package/src/cli/scaffolding/ModelGenerator.d.ts.map +1 -0
  236. package/src/cli/scaffolding/ModelGenerator.js +259 -0
  237. package/src/cli/scaffolding/ProjectScaffolder.d.ts +66 -0
  238. package/src/cli/scaffolding/ProjectScaffolder.d.ts.map +1 -0
  239. package/src/cli/scaffolding/ProjectScaffolder.js +629 -0
  240. package/src/cli/scaffolding/RequestFactoryGenerator.d.ts +50 -0
  241. package/src/cli/scaffolding/RequestFactoryGenerator.d.ts.map +1 -0
  242. package/src/cli/scaffolding/RequestFactoryGenerator.js +465 -0
  243. package/src/cli/scaffolding/ResponseFactoryGenerator.d.ts +43 -0
  244. package/src/cli/scaffolding/ResponseFactoryGenerator.d.ts.map +1 -0
  245. package/src/cli/scaffolding/ResponseFactoryGenerator.js +322 -0
  246. package/src/cli/scaffolding/RouteGenerator.d.ts +66 -0
  247. package/src/cli/scaffolding/RouteGenerator.d.ts.map +1 -0
  248. package/src/cli/scaffolding/RouteGenerator.js +361 -0
  249. package/src/cli/scaffolding/SeederGenerator.d.ts +52 -0
  250. package/src/cli/scaffolding/SeederGenerator.d.ts.map +1 -0
  251. package/src/cli/scaffolding/SeederGenerator.js +334 -0
  252. package/src/cli/scaffolding/ServiceIntegrationTestGenerator.d.ts +40 -0
  253. package/src/cli/scaffolding/ServiceIntegrationTestGenerator.d.ts.map +1 -0
  254. package/src/cli/scaffolding/ServiceIntegrationTestGenerator.js +268 -0
  255. package/src/cli/scaffolding/ServiceRequestFactoryGenerator.d.ts +45 -0
  256. package/src/cli/scaffolding/ServiceRequestFactoryGenerator.d.ts.map +1 -0
  257. package/src/cli/scaffolding/ServiceRequestFactoryGenerator.js +397 -0
  258. package/src/cli/scaffolding/ServiceScaffolder.d.ts +45 -0
  259. package/src/cli/scaffolding/ServiceScaffolder.d.ts.map +1 -0
  260. package/src/cli/scaffolding/ServiceScaffolder.js +390 -0
  261. package/src/cli/scaffolding/TemplateEngine.d.ts +42 -0
  262. package/src/cli/scaffolding/TemplateEngine.d.ts.map +1 -0
  263. package/src/cli/scaffolding/TemplateEngine.js +107 -0
  264. package/src/cli/scaffolding/TemplateGenerator.d.ts +40 -0
  265. package/src/cli/scaffolding/TemplateGenerator.d.ts.map +1 -0
  266. package/src/cli/scaffolding/TemplateGenerator.js +172 -0
  267. package/src/cli/scaffolding/WorkflowGenerator.d.ts +31 -0
  268. package/src/cli/scaffolding/WorkflowGenerator.d.ts.map +1 -0
  269. package/src/cli/scaffolding/WorkflowGenerator.js +193 -0
  270. package/src/cli/scaffolding/index.d.ts +37 -0
  271. package/src/cli/scaffolding/index.d.ts.map +1 -0
  272. package/src/cli/scaffolding/index.js +20 -0
  273. package/src/cli/services/VersionChecker.d.ts +82 -0
  274. package/src/cli/services/VersionChecker.d.ts.map +1 -0
  275. package/src/cli/services/VersionChecker.js +258 -0
  276. package/src/cli/utils/DatabaseCliUtils.d.ts +20 -0
  277. package/src/cli/utils/DatabaseCliUtils.d.ts.map +1 -0
  278. package/src/cli/utils/DatabaseCliUtils.js +54 -0
  279. package/src/cli/utils/DistPackager.d.ts +8 -0
  280. package/src/cli/utils/DistPackager.d.ts.map +1 -0
  281. package/src/cli/utils/DistPackager.js +102 -0
  282. package/src/cli/utils/EnvFileLoader.d.ts +21 -0
  283. package/src/cli/utils/EnvFileLoader.d.ts.map +1 -0
  284. package/src/cli/utils/EnvFileLoader.js +166 -0
  285. package/src/cli/utils/spawn.d.ts +11 -0
  286. package/src/cli/utils/spawn.d.ts.map +1 -0
  287. package/src/cli/utils/spawn.js +92 -0
  288. package/src/cli/workers/QueueWorkRunner.d.ts +23 -0
  289. package/src/cli/workers/QueueWorkRunner.d.ts.map +1 -0
  290. package/src/cli/workers/QueueWorkRunner.js +273 -0
  291. package/src/collections/Collection.d.ts +30 -0
  292. package/src/collections/Collection.d.ts.map +1 -0
  293. package/src/collections/Collection.js +181 -0
  294. package/src/collections/index.d.ts +3 -0
  295. package/src/collections/index.d.ts.map +1 -0
  296. package/src/collections/index.js +1 -0
  297. package/src/common/AwsSigV4.d.ts +41 -0
  298. package/src/common/AwsSigV4.d.ts.map +1 -0
  299. package/src/common/AwsSigV4.js +69 -0
  300. package/src/common/ExternalServiceUtils.d.ts +63 -0
  301. package/src/common/ExternalServiceUtils.d.ts.map +1 -0
  302. package/src/common/ExternalServiceUtils.js +116 -0
  303. package/src/common/HealthRoutes.d.ts +10 -0
  304. package/src/common/HealthRoutes.d.ts.map +1 -0
  305. package/src/common/HealthRoutes.js +114 -0
  306. package/src/common/RemoteSignedJson.d.ts +21 -0
  307. package/src/common/RemoteSignedJson.d.ts.map +1 -0
  308. package/src/common/RemoteSignedJson.js +86 -0
  309. package/src/common/index.d.ts +134 -0
  310. package/src/common/index.d.ts.map +1 -0
  311. package/src/common/index.js +328 -0
  312. package/src/common/utility.d.ts +38 -0
  313. package/src/common/utility.d.ts.map +1 -0
  314. package/src/common/utility.js +101 -0
  315. package/src/config/FileLogWriter.d.ts +23 -0
  316. package/src/config/FileLogWriter.d.ts.map +1 -0
  317. package/src/config/FileLogWriter.js +273 -0
  318. package/src/config/SecretsManager.d.ts +81 -0
  319. package/src/config/SecretsManager.d.ts.map +1 -0
  320. package/src/config/SecretsManager.js +355 -0
  321. package/src/config/StartupConfigValidator.d.ts +7 -0
  322. package/src/config/StartupConfigValidator.d.ts.map +1 -0
  323. package/src/config/StartupConfigValidator.js +179 -0
  324. package/src/config/app.d.ts +62 -0
  325. package/src/config/app.d.ts.map +1 -0
  326. package/src/config/app.js +184 -0
  327. package/src/config/broadcast.d.ts +22 -0
  328. package/src/config/broadcast.d.ts.map +1 -0
  329. package/src/config/broadcast.js +138 -0
  330. package/src/config/cache.d.ts +23 -0
  331. package/src/config/cache.d.ts.map +1 -0
  332. package/src/config/cache.js +125 -0
  333. package/src/config/cloudflare.d.ts +14 -0
  334. package/src/config/cloudflare.d.ts.map +1 -0
  335. package/src/config/cloudflare.js +38 -0
  336. package/src/config/constants.d.ts +238 -0
  337. package/src/config/constants.d.ts.map +1 -0
  338. package/src/config/constants.js +145 -0
  339. package/src/config/database.d.ts +41 -0
  340. package/src/config/database.d.ts.map +1 -0
  341. package/src/config/database.js +286 -0
  342. package/src/config/env.d.ts +128 -0
  343. package/src/config/env.d.ts.map +1 -0
  344. package/src/config/env.js +220 -0
  345. package/src/config/features.d.ts +27 -0
  346. package/src/config/features.d.ts.map +1 -0
  347. package/src/config/features.js +49 -0
  348. package/src/config/index.d.ts +241 -0
  349. package/src/config/index.d.ts.map +1 -0
  350. package/src/config/index.js +41 -0
  351. package/src/config/logger.d.ts +19 -0
  352. package/src/config/logger.d.ts.map +1 -0
  353. package/src/config/logger.js +338 -0
  354. package/src/config/logging/HttpLogger.d.ts +23 -0
  355. package/src/config/logging/HttpLogger.d.ts.map +1 -0
  356. package/src/config/logging/HttpLogger.js +93 -0
  357. package/src/config/logging/KvLogger.d.ts +22 -0
  358. package/src/config/logging/KvLogger.d.ts.map +1 -0
  359. package/src/config/logging/KvLogger.js +143 -0
  360. package/src/config/logging/SlackLogger.d.ts +23 -0
  361. package/src/config/logging/SlackLogger.d.ts.map +1 -0
  362. package/src/config/logging/SlackLogger.js +119 -0
  363. package/src/config/mail.d.ts +27 -0
  364. package/src/config/mail.d.ts.map +1 -0
  365. package/src/config/mail.js +154 -0
  366. package/src/config/microservices.d.ts +88 -0
  367. package/src/config/microservices.d.ts.map +1 -0
  368. package/src/config/microservices.js +90 -0
  369. package/src/config/middleware.d.ts +48 -0
  370. package/src/config/middleware.d.ts.map +1 -0
  371. package/src/config/middleware.js +205 -0
  372. package/src/config/notification.d.ts +24 -0
  373. package/src/config/notification.d.ts.map +1 -0
  374. package/src/config/notification.js +149 -0
  375. package/src/config/queue.d.ts +57 -0
  376. package/src/config/queue.d.ts.map +1 -0
  377. package/src/config/queue.js +144 -0
  378. package/src/config/redis.d.ts +17 -0
  379. package/src/config/redis.d.ts.map +1 -0
  380. package/src/config/redis.js +54 -0
  381. package/src/config/security.d.ts +123 -0
  382. package/src/config/security.d.ts.map +1 -0
  383. package/src/config/security.js +154 -0
  384. package/src/config/startup.d.ts +25 -0
  385. package/src/config/startup.d.ts.map +1 -0
  386. package/src/config/startup.js +16 -0
  387. package/src/config/storage.d.ts +45 -0
  388. package/src/config/storage.d.ts.map +1 -0
  389. package/src/config/storage.js +161 -0
  390. package/src/config/type.d.ts +492 -0
  391. package/src/config/type.d.ts.map +1 -0
  392. package/src/config/type.js +10 -0
  393. package/src/config/workers.d.ts +13 -0
  394. package/src/config/workers.d.ts.map +1 -0
  395. package/src/config/workers.js +216 -0
  396. package/src/container/ServiceContainer.d.ts +25 -0
  397. package/src/container/ServiceContainer.d.ts.map +1 -0
  398. package/src/container/ServiceContainer.js +75 -0
  399. package/src/database/Paginator.d.ts +37 -0
  400. package/src/database/Paginator.d.ts.map +1 -0
  401. package/src/database/Paginator.js +81 -0
  402. package/src/database/migrations/index.d.ts +2 -0
  403. package/src/database/migrations/index.d.ts.map +1 -0
  404. package/src/database/migrations/index.js +2 -0
  405. package/src/events/EventDispatcher.d.ts +16 -0
  406. package/src/events/EventDispatcher.d.ts.map +1 -0
  407. package/src/events/EventDispatcher.js +92 -0
  408. package/src/events/index.d.ts +3 -0
  409. package/src/events/index.d.ts.map +1 -0
  410. package/src/events/index.js +1 -0
  411. package/src/exceptions/ZintrustError.d.ts +98 -0
  412. package/src/exceptions/ZintrustError.d.ts.map +1 -0
  413. package/src/exceptions/ZintrustError.js +170 -0
  414. package/src/functions/cloudflare.d.ts +5 -0
  415. package/src/functions/cloudflare.d.ts.map +1 -0
  416. package/src/functions/cloudflare.js +23 -0
  417. package/src/functions/deno.d.ts +3 -0
  418. package/src/functions/deno.d.ts.map +1 -0
  419. package/src/functions/deno.js +20 -0
  420. package/src/functions/lambda.d.ts +2 -0
  421. package/src/functions/lambda.d.ts.map +1 -0
  422. package/src/functions/lambda.js +26 -0
  423. package/src/health/RuntimeHealthProbes.d.ts +13 -0
  424. package/src/health/RuntimeHealthProbes.d.ts.map +1 -0
  425. package/src/health/RuntimeHealthProbes.js +62 -0
  426. package/src/health/StartupHealthChecks.d.ts +26 -0
  427. package/src/health/StartupHealthChecks.d.ts.map +1 -0
  428. package/src/health/StartupHealthChecks.js +124 -0
  429. package/src/http/Controller.d.ts +20 -0
  430. package/src/http/Controller.d.ts.map +1 -0
  431. package/src/http/Controller.js +46 -0
  432. package/src/http/ErrorResponse.d.ts +28 -0
  433. package/src/http/ErrorResponse.d.ts.map +1 -0
  434. package/src/http/ErrorResponse.js +42 -0
  435. package/src/http/FileUpload.d.ts +68 -0
  436. package/src/http/FileUpload.d.ts.map +1 -0
  437. package/src/http/FileUpload.js +120 -0
  438. package/src/http/Kernel.d.ts +29 -0
  439. package/src/http/Kernel.d.ts.map +1 -0
  440. package/src/http/Kernel.js +254 -0
  441. package/src/http/Request.d.ts +64 -0
  442. package/src/http/Request.d.ts.map +1 -0
  443. package/src/http/Request.js +237 -0
  444. package/src/http/RequestContext.d.ts +26 -0
  445. package/src/http/RequestContext.d.ts.map +1 -0
  446. package/src/http/RequestContext.js +153 -0
  447. package/src/http/Response.d.ts +32 -0
  448. package/src/http/Response.d.ts.map +1 -0
  449. package/src/http/Response.js +70 -0
  450. package/src/http/ValidationHelper.d.ts +78 -0
  451. package/src/http/ValidationHelper.d.ts.map +1 -0
  452. package/src/http/ValidationHelper.js +121 -0
  453. package/src/http/error-pages/ErrorPageRenderer.d.ts +17 -0
  454. package/src/http/error-pages/ErrorPageRenderer.d.ts.map +1 -0
  455. package/src/http/error-pages/ErrorPageRenderer.js +89 -0
  456. package/src/http/middleware/BodyParsingMiddleware.d.ts +12 -0
  457. package/src/http/middleware/BodyParsingMiddleware.d.ts.map +1 -0
  458. package/src/http/middleware/BodyParsingMiddleware.js +251 -0
  459. package/src/http/middleware/FileUploadMiddleware.d.ts +12 -0
  460. package/src/http/middleware/FileUploadMiddleware.d.ts.map +1 -0
  461. package/src/http/middleware/FileUploadMiddleware.js +74 -0
  462. package/src/http/parsers/BodyParsers.d.ts +32 -0
  463. package/src/http/parsers/BodyParsers.d.ts.map +1 -0
  464. package/src/http/parsers/BodyParsers.js +159 -0
  465. package/src/http/parsers/MultipartParser.d.ts +33 -0
  466. package/src/http/parsers/MultipartParser.d.ts.map +1 -0
  467. package/src/http/parsers/MultipartParser.js +156 -0
  468. package/src/http/parsers/MultipartParserRegistry.d.ts +34 -0
  469. package/src/http/parsers/MultipartParserRegistry.d.ts.map +1 -0
  470. package/src/http/parsers/MultipartParserRegistry.js +20 -0
  471. package/src/http/validated.d.ts +12 -0
  472. package/src/http/validated.d.ts.map +1 -0
  473. package/src/http/validated.js +41 -0
  474. package/src/index.d.ts.map +1 -0
  475. package/src/lang/lang.d.ts +23 -0
  476. package/src/lang/lang.d.ts.map +1 -0
  477. package/src/lang/lang.js +22 -0
  478. package/src/microservices/MicroserviceBootstrap.d.ts +75 -0
  479. package/src/microservices/MicroserviceBootstrap.d.ts.map +1 -0
  480. package/src/microservices/MicroserviceBootstrap.js +288 -0
  481. package/src/microservices/MicroserviceGenerator.d.ts +27 -0
  482. package/src/microservices/MicroserviceGenerator.d.ts.map +1 -0
  483. package/src/microservices/MicroserviceGenerator.js +436 -0
  484. package/src/microservices/MicroserviceManager.d.ts +68 -0
  485. package/src/microservices/MicroserviceManager.d.ts.map +1 -0
  486. package/src/microservices/MicroserviceManager.js +268 -0
  487. package/src/microservices/PostgresAdapter.d.ts +90 -0
  488. package/src/microservices/PostgresAdapter.d.ts.map +1 -0
  489. package/src/microservices/PostgresAdapter.js +306 -0
  490. package/src/microservices/RequestTracingMiddleware.d.ts +41 -0
  491. package/src/microservices/RequestTracingMiddleware.d.ts.map +1 -0
  492. package/src/microservices/RequestTracingMiddleware.js +125 -0
  493. package/src/microservices/ServiceAuthMiddleware.d.ts +58 -0
  494. package/src/microservices/ServiceAuthMiddleware.d.ts.map +1 -0
  495. package/src/microservices/ServiceAuthMiddleware.js +240 -0
  496. package/src/microservices/ServiceBundler.d.ts +45 -0
  497. package/src/microservices/ServiceBundler.d.ts.map +1 -0
  498. package/src/microservices/ServiceBundler.js +299 -0
  499. package/src/microservices/ServiceHealthMonitor.d.ts +96 -0
  500. package/src/microservices/ServiceHealthMonitor.d.ts.map +1 -0
  501. package/src/microservices/ServiceHealthMonitor.js +383 -0
  502. package/src/middleware/AuthMiddleware.d.ts +10 -0
  503. package/src/middleware/AuthMiddleware.d.ts.map +1 -0
  504. package/src/middleware/AuthMiddleware.js +16 -0
  505. package/src/middleware/CsrfMiddleware.d.ts +29 -0
  506. package/src/middleware/CsrfMiddleware.d.ts.map +1 -0
  507. package/src/middleware/CsrfMiddleware.js +132 -0
  508. package/src/middleware/ErrorHandlerMiddleware.d.ts +6 -0
  509. package/src/middleware/ErrorHandlerMiddleware.d.ts.map +1 -0
  510. package/src/middleware/ErrorHandlerMiddleware.js +41 -0
  511. package/src/middleware/JwtAuthMiddleware.d.ts +11 -0
  512. package/src/middleware/JwtAuthMiddleware.d.ts.map +1 -0
  513. package/src/middleware/JwtAuthMiddleware.js +73 -0
  514. package/src/middleware/LoggingMiddleware.d.ts +9 -0
  515. package/src/middleware/LoggingMiddleware.d.ts.map +1 -0
  516. package/src/middleware/LoggingMiddleware.js +41 -0
  517. package/src/middleware/MiddlewareStack.d.ts +27 -0
  518. package/src/middleware/MiddlewareStack.d.ts.map +1 -0
  519. package/src/middleware/MiddlewareStack.js +43 -0
  520. package/src/middleware/RateLimiter.d.ts +57 -0
  521. package/src/middleware/RateLimiter.d.ts.map +1 -0
  522. package/src/middleware/RateLimiter.js +270 -0
  523. package/src/middleware/SanitizeBodyMiddleware.d.ts +12 -0
  524. package/src/middleware/SanitizeBodyMiddleware.d.ts.map +1 -0
  525. package/src/middleware/SanitizeBodyMiddleware.js +31 -0
  526. package/src/middleware/SecurityMiddleware.d.ts +33 -0
  527. package/src/middleware/SecurityMiddleware.d.ts.map +1 -0
  528. package/src/middleware/SecurityMiddleware.js +106 -0
  529. package/src/middleware/SessionMiddleware.d.ts +8 -0
  530. package/src/middleware/SessionMiddleware.d.ts.map +1 -0
  531. package/src/middleware/SessionMiddleware.js +15 -0
  532. package/src/middleware/ValidationMiddleware.d.ts +25 -0
  533. package/src/middleware/ValidationMiddleware.d.ts.map +1 -0
  534. package/src/middleware/ValidationMiddleware.js +251 -0
  535. package/src/middleware/index.d.ts +11 -0
  536. package/src/middleware/index.d.ts.map +1 -0
  537. package/src/middleware/index.js +10 -0
  538. package/src/migrations/MigrationDiscovery.d.ts +5 -0
  539. package/src/migrations/MigrationDiscovery.d.ts.map +1 -0
  540. package/src/migrations/MigrationDiscovery.js +16 -0
  541. package/src/migrations/MigrationLoader.d.ts +5 -0
  542. package/src/migrations/MigrationLoader.d.ts.map +1 -0
  543. package/src/migrations/MigrationLoader.js +43 -0
  544. package/src/migrations/MigrationLock.d.ts +4 -0
  545. package/src/migrations/MigrationLock.d.ts.map +1 -0
  546. package/src/migrations/MigrationLock.js +33 -0
  547. package/src/migrations/Migrator.d.ts +23 -0
  548. package/src/migrations/Migrator.d.ts.map +1 -0
  549. package/src/migrations/Migrator.js +4 -0
  550. package/src/migrations/MigratorFactory.d.ts +25 -0
  551. package/src/migrations/MigratorFactory.d.ts.map +1 -0
  552. package/src/migrations/MigratorFactory.js +339 -0
  553. package/src/migrations/enum/index.d.ts +93 -0
  554. package/src/migrations/enum/index.d.ts.map +1 -0
  555. package/src/migrations/enum/index.js +92 -0
  556. package/src/migrations/schema/Blueprint.d.ts +5 -0
  557. package/src/migrations/schema/Blueprint.d.ts.map +1 -0
  558. package/src/migrations/schema/Blueprint.js +191 -0
  559. package/src/migrations/schema/Schema.d.ts +8 -0
  560. package/src/migrations/schema/Schema.d.ts.map +1 -0
  561. package/src/migrations/schema/Schema.js +142 -0
  562. package/src/migrations/schema/SchemaCompiler.d.ts +20 -0
  563. package/src/migrations/schema/SchemaCompiler.d.ts.map +1 -0
  564. package/src/migrations/schema/SchemaCompiler.js +270 -0
  565. package/src/migrations/schema/index.d.ts +5 -0
  566. package/src/migrations/schema/index.d.ts.map +1 -0
  567. package/src/migrations/schema/index.js +3 -0
  568. package/src/migrations/schema/types.d.ts +87 -0
  569. package/src/migrations/schema/types.d.ts.map +1 -0
  570. package/src/migrations/schema/types.js +1 -0
  571. package/src/migrations/types.d.ts +45 -0
  572. package/src/migrations/types.d.ts.map +1 -0
  573. package/src/migrations/types.js +1 -0
  574. package/src/node-singletons/async_hooks.d.ts +9 -0
  575. package/src/node-singletons/async_hooks.d.ts.map +1 -0
  576. package/src/node-singletons/async_hooks.js +8 -0
  577. package/src/node-singletons/child-process.d.ts +7 -0
  578. package/src/node-singletons/child-process.d.ts.map +1 -0
  579. package/src/node-singletons/child-process.js +6 -0
  580. package/src/node-singletons/crypto.d.ts +7 -0
  581. package/src/node-singletons/crypto.d.ts.map +1 -0
  582. package/src/node-singletons/crypto.js +6 -0
  583. package/src/node-singletons/events.d.ts +7 -0
  584. package/src/node-singletons/events.d.ts.map +1 -0
  585. package/src/node-singletons/events.js +6 -0
  586. package/src/node-singletons/fs.d.ts +12 -0
  587. package/src/node-singletons/fs.d.ts.map +1 -0
  588. package/src/node-singletons/fs.js +14 -0
  589. package/src/node-singletons/http.d.ts +8 -0
  590. package/src/node-singletons/http.d.ts.map +1 -0
  591. package/src/node-singletons/http.js +6 -0
  592. package/src/node-singletons/index.d.ts +35 -0
  593. package/src/node-singletons/index.d.ts.map +1 -0
  594. package/src/node-singletons/index.js +36 -0
  595. package/src/node-singletons/module.d.ts +9 -0
  596. package/src/node-singletons/module.d.ts.map +1 -0
  597. package/src/node-singletons/module.js +9 -0
  598. package/src/node-singletons/net.d.ts +9 -0
  599. package/src/node-singletons/net.d.ts.map +1 -0
  600. package/src/node-singletons/net.js +8 -0
  601. package/src/node-singletons/os.d.ts +18 -0
  602. package/src/node-singletons/os.d.ts.map +1 -0
  603. package/src/node-singletons/os.js +17 -0
  604. package/src/node-singletons/path.d.ts +9 -0
  605. package/src/node-singletons/path.d.ts.map +1 -0
  606. package/src/node-singletons/path.js +8 -0
  607. package/src/node-singletons/perf-hooks.d.ts +9 -0
  608. package/src/node-singletons/perf-hooks.d.ts.map +1 -0
  609. package/src/node-singletons/perf-hooks.js +8 -0
  610. package/src/node-singletons/process.d.ts +23 -0
  611. package/src/node-singletons/process.d.ts.map +1 -0
  612. package/src/node-singletons/process.js +8 -0
  613. package/src/node-singletons/readline.d.ts +10 -0
  614. package/src/node-singletons/readline.d.ts.map +1 -0
  615. package/src/node-singletons/readline.js +8 -0
  616. package/src/node-singletons/tls.d.ts +9 -0
  617. package/src/node-singletons/tls.d.ts.map +1 -0
  618. package/src/node-singletons/tls.js +8 -0
  619. package/src/node-singletons/url.d.ts +9 -0
  620. package/src/node-singletons/url.d.ts.map +1 -0
  621. package/src/node-singletons/url.js +8 -0
  622. package/src/node-singletons/util.d.ts +6 -0
  623. package/src/node-singletons/util.d.ts.map +1 -0
  624. package/src/node-singletons/util.js +5 -0
  625. package/src/node.d.ts +9 -0
  626. package/src/node.d.ts.map +1 -0
  627. package/src/node.js +13 -0
  628. package/src/observability/OpenTelemetry.d.ts +62 -0
  629. package/src/observability/OpenTelemetry.d.ts.map +1 -0
  630. package/src/observability/OpenTelemetry.js +222 -0
  631. package/src/observability/PrometheusMetrics.d.ts +25 -0
  632. package/src/observability/PrometheusMetrics.d.ts.map +1 -0
  633. package/src/observability/PrometheusMetrics.js +114 -0
  634. package/src/openapi/OpenApiGenerator.d.ts +68 -0
  635. package/src/openapi/OpenApiGenerator.d.ts.map +1 -0
  636. package/src/openapi/OpenApiGenerator.js +287 -0
  637. package/src/orm/ConnectionManager.d.ts +125 -0
  638. package/src/orm/ConnectionManager.d.ts.map +1 -0
  639. package/src/orm/ConnectionManager.js +571 -0
  640. package/src/orm/Database.d.ts +35 -0
  641. package/src/orm/Database.d.ts.map +1 -0
  642. package/src/orm/Database.js +350 -0
  643. package/src/orm/DatabaseAdapter.d.ts +117 -0
  644. package/src/orm/DatabaseAdapter.d.ts.map +1 -0
  645. package/src/orm/DatabaseAdapter.js +57 -0
  646. package/src/orm/DatabaseAdapterRegistry.d.ts +14 -0
  647. package/src/orm/DatabaseAdapterRegistry.d.ts.map +1 -0
  648. package/src/orm/DatabaseAdapterRegistry.js +21 -0
  649. package/src/orm/DatabaseRuntimeRegistration.d.ts +17 -0
  650. package/src/orm/DatabaseRuntimeRegistration.d.ts.map +1 -0
  651. package/src/orm/DatabaseRuntimeRegistration.js +73 -0
  652. package/src/orm/Model.d.ts +135 -0
  653. package/src/orm/Model.d.ts.map +1 -0
  654. package/src/orm/Model.js +533 -0
  655. package/src/orm/QueryBuilder.d.ts +98 -0
  656. package/src/orm/QueryBuilder.d.ts.map +1 -0
  657. package/src/orm/QueryBuilder.js +1057 -0
  658. package/src/orm/Relationships.d.ts +119 -0
  659. package/src/orm/Relationships.d.ts.map +1 -0
  660. package/src/orm/Relationships.js +306 -0
  661. package/src/orm/Schema.d.ts +123 -0
  662. package/src/orm/Schema.d.ts.map +1 -0
  663. package/src/orm/Schema.js +169 -0
  664. package/src/orm/SchemaCompiler.d.ts +9 -0
  665. package/src/orm/SchemaCompiler.d.ts.map +1 -0
  666. package/src/orm/SchemaCompiler.js +145 -0
  667. package/src/orm/adapters/D1Adapter.d.ts +15 -0
  668. package/src/orm/adapters/D1Adapter.d.ts.map +1 -0
  669. package/src/orm/adapters/D1Adapter.js +132 -0
  670. package/src/orm/adapters/D1RemoteAdapter.d.ts +11 -0
  671. package/src/orm/adapters/D1RemoteAdapter.d.ts.map +1 -0
  672. package/src/orm/adapters/D1RemoteAdapter.js +163 -0
  673. package/src/orm/adapters/MySQLAdapter.d.ts +16 -0
  674. package/src/orm/adapters/MySQLAdapter.d.ts.map +1 -0
  675. package/src/orm/adapters/MySQLAdapter.js +109 -0
  676. package/src/orm/adapters/PostgreSQLAdapter.d.ts +16 -0
  677. package/src/orm/adapters/PostgreSQLAdapter.d.ts.map +1 -0
  678. package/src/orm/adapters/PostgreSQLAdapter.js +108 -0
  679. package/src/orm/adapters/SQLServerAdapter.d.ts +16 -0
  680. package/src/orm/adapters/SQLServerAdapter.d.ts.map +1 -0
  681. package/src/orm/adapters/SQLServerAdapter.js +84 -0
  682. package/src/orm/adapters/SQLiteAdapter.d.ts +11 -0
  683. package/src/orm/adapters/SQLiteAdapter.d.ts.map +1 -0
  684. package/src/orm/adapters/SQLiteAdapter.js +225 -0
  685. package/src/orm/maintenance/SqliteMaintenance.d.ts +5 -0
  686. package/src/orm/maintenance/SqliteMaintenance.d.ts.map +1 -0
  687. package/src/orm/maintenance/SqliteMaintenance.js +14 -0
  688. package/src/orm/migrations/MigrationStore.d.ts +38 -0
  689. package/src/orm/migrations/MigrationStore.d.ts.map +1 -0
  690. package/src/orm/migrations/MigrationStore.js +157 -0
  691. package/src/performance/Benchmark.d.ts +87 -0
  692. package/src/performance/Benchmark.d.ts.map +1 -0
  693. package/src/performance/Benchmark.js +307 -0
  694. package/src/performance/CodeGenerationBenchmark.d.ts +23 -0
  695. package/src/performance/CodeGenerationBenchmark.d.ts.map +1 -0
  696. package/src/performance/CodeGenerationBenchmark.js +249 -0
  697. package/src/performance/Optimizer.d.ts +100 -0
  698. package/src/performance/Optimizer.d.ts.map +1 -0
  699. package/src/performance/Optimizer.js +627 -0
  700. package/src/performance/establish-baseline.d.ts +9 -0
  701. package/src/performance/establish-baseline.d.ts.map +1 -0
  702. package/src/performance/establish-baseline.js +55 -0
  703. package/src/profiling/MemoryProfiler.d.ts +32 -0
  704. package/src/profiling/MemoryProfiler.d.ts.map +1 -0
  705. package/src/profiling/MemoryProfiler.js +84 -0
  706. package/src/profiling/N1Detector.d.ts +16 -0
  707. package/src/profiling/N1Detector.d.ts.map +1 -0
  708. package/src/profiling/N1Detector.js +120 -0
  709. package/src/profiling/QueryLogger.d.ts +107 -0
  710. package/src/profiling/QueryLogger.d.ts.map +1 -0
  711. package/src/profiling/QueryLogger.js +148 -0
  712. package/src/profiling/RequestProfiler.d.ts +30 -0
  713. package/src/profiling/RequestProfiler.d.ts.map +1 -0
  714. package/src/profiling/RequestProfiler.js +96 -0
  715. package/src/profiling/types.d.ts +77 -0
  716. package/src/profiling/types.d.ts.map +1 -0
  717. package/src/profiling/types.js +5 -0
  718. package/src/routes/CoreRoutes.d.ts +12 -0
  719. package/src/routes/CoreRoutes.d.ts.map +1 -0
  720. package/src/routes/CoreRoutes.js +39 -0
  721. package/src/routes/RouteRegistry.d.ts +39 -0
  722. package/src/routes/RouteRegistry.d.ts.map +1 -0
  723. package/src/routes/RouteRegistry.js +44 -0
  724. package/src/routes/Router.d.ts +73 -0
  725. package/src/routes/Router.d.ts.map +1 -0
  726. package/src/routes/Router.js +250 -0
  727. package/src/routes/common.d.ts +15 -0
  728. package/src/routes/common.d.ts.map +1 -0
  729. package/src/routes/common.js +47 -0
  730. package/src/routes/doc.d.ts +27 -0
  731. package/src/routes/doc.d.ts.map +1 -0
  732. package/src/routes/doc.js +110 -0
  733. package/src/routes/error.d.ts +21 -0
  734. package/src/routes/error.d.ts.map +1 -0
  735. package/src/routes/error.js +127 -0
  736. package/src/routes/errorPages.d.ts +14 -0
  737. package/src/routes/errorPages.d.ts.map +1 -0
  738. package/src/routes/errorPages.js +103 -0
  739. package/src/routes/health.d.ts +6 -0
  740. package/src/routes/health.d.ts.map +1 -0
  741. package/src/routes/health.js +5 -0
  742. package/src/routes/metrics.d.ts +9 -0
  743. package/src/routes/metrics.d.ts.map +1 -0
  744. package/src/routes/metrics.js +20 -0
  745. package/src/routes/openapi.d.ts +9 -0
  746. package/src/routes/openapi.d.ts.map +1 -0
  747. package/src/routes/openapi.js +76 -0
  748. package/src/routes/publicRoot.d.ts +27 -0
  749. package/src/routes/publicRoot.d.ts.map +1 -0
  750. package/src/routes/publicRoot.js +112 -0
  751. package/src/runtime/PluginAutoImports.d.ts +21 -0
  752. package/src/runtime/PluginAutoImports.d.ts.map +1 -0
  753. package/src/runtime/PluginAutoImports.js +53 -0
  754. package/src/runtime/PluginManager.d.ts +28 -0
  755. package/src/runtime/PluginManager.d.ts.map +1 -0
  756. package/src/runtime/PluginManager.js +373 -0
  757. package/src/runtime/PluginRegistry.d.ts +27 -0
  758. package/src/runtime/PluginRegistry.d.ts.map +1 -0
  759. package/src/runtime/PluginRegistry.js +183 -0
  760. package/src/runtime/RuntimeAdapter.d.ts +126 -0
  761. package/src/runtime/RuntimeAdapter.d.ts.map +1 -0
  762. package/src/runtime/RuntimeAdapter.js +146 -0
  763. package/src/runtime/StartupConfigFileRegistry.d.ts +22 -0
  764. package/src/runtime/StartupConfigFileRegistry.d.ts.map +1 -0
  765. package/src/runtime/StartupConfigFileRegistry.js +44 -0
  766. package/src/runtime/adapters/CloudflareAdapter.d.ts +43 -0
  767. package/src/runtime/adapters/CloudflareAdapter.d.ts.map +1 -0
  768. package/src/runtime/adapters/CloudflareAdapter.js +175 -0
  769. package/src/runtime/adapters/DenoAdapter.d.ts +30 -0
  770. package/src/runtime/adapters/DenoAdapter.d.ts.map +1 -0
  771. package/src/runtime/adapters/DenoAdapter.js +193 -0
  772. package/src/runtime/adapters/FargateAdapter.d.ts +40 -0
  773. package/src/runtime/adapters/FargateAdapter.d.ts.map +1 -0
  774. package/src/runtime/adapters/FargateAdapter.js +157 -0
  775. package/src/runtime/adapters/LambdaAdapter.d.ts +13 -0
  776. package/src/runtime/adapters/LambdaAdapter.d.ts.map +1 -0
  777. package/src/runtime/adapters/LambdaAdapter.js +306 -0
  778. package/src/runtime/adapters/NodeServerAdapter.d.ts +16 -0
  779. package/src/runtime/adapters/NodeServerAdapter.d.ts.map +1 -0
  780. package/src/runtime/adapters/NodeServerAdapter.js +200 -0
  781. package/src/runtime/getKernel.d.ts +9 -0
  782. package/src/runtime/getKernel.d.ts.map +1 -0
  783. package/src/runtime/getKernel.js +27 -0
  784. package/src/runtime/useFileLoader.d.ts +26 -0
  785. package/src/runtime/useFileLoader.d.ts.map +1 -0
  786. package/src/runtime/useFileLoader.js +188 -0
  787. package/src/scheduler/ScheduleRunner.d.ts +18 -0
  788. package/src/scheduler/ScheduleRunner.d.ts.map +1 -0
  789. package/src/scheduler/ScheduleRunner.js +155 -0
  790. package/src/scheduler/index.d.ts +3 -0
  791. package/src/scheduler/index.d.ts.map +1 -0
  792. package/src/scheduler/index.js +1 -0
  793. package/src/scheduler/types.d.ts +16 -0
  794. package/src/scheduler/types.d.ts.map +1 -0
  795. package/src/scheduler/types.js +4 -0
  796. package/src/schedules/index.d.ts +2 -0
  797. package/src/schedules/index.d.ts.map +1 -0
  798. package/src/schedules/index.js +1 -0
  799. package/src/schedules/log-cleanup.d.ts +4 -0
  800. package/src/schedules/log-cleanup.d.ts.map +1 -0
  801. package/src/schedules/log-cleanup.js +18 -0
  802. package/src/scripts/GenerateEnvArtifacts.d.ts +13 -0
  803. package/src/scripts/GenerateEnvArtifacts.d.ts.map +1 -0
  804. package/src/scripts/GenerateEnvArtifacts.js +171 -0
  805. package/src/scripts/TemplateImportsCheck.d.ts +2 -0
  806. package/src/scripts/TemplateImportsCheck.d.ts.map +1 -0
  807. package/src/scripts/TemplateImportsCheck.js +151 -0
  808. package/src/scripts/TemplateSync.d.ts +7 -0
  809. package/src/scripts/TemplateSync.d.ts.map +1 -0
  810. package/src/scripts/TemplateSync.js +399 -0
  811. package/src/security/CsrfTokenManager.d.ts +28 -0
  812. package/src/security/CsrfTokenManager.d.ts.map +1 -0
  813. package/src/security/CsrfTokenManager.js +78 -0
  814. package/src/security/EncryptedEnvelope.d.ts +77 -0
  815. package/src/security/EncryptedEnvelope.d.ts.map +1 -0
  816. package/src/security/EncryptedEnvelope.js +256 -0
  817. package/src/security/Encryptor.d.ts +15 -0
  818. package/src/security/Encryptor.d.ts.map +1 -0
  819. package/src/security/Encryptor.js +199 -0
  820. package/src/security/Hash.d.ts +14 -0
  821. package/src/security/Hash.d.ts.map +1 -0
  822. package/src/security/Hash.js +81 -0
  823. package/src/security/JwtManager.d.ts +42 -0
  824. package/src/security/JwtManager.d.ts.map +1 -0
  825. package/src/security/JwtManager.js +262 -0
  826. package/src/security/PasswordResetTokenBroker.d.ts +39 -0
  827. package/src/security/PasswordResetTokenBroker.d.ts.map +1 -0
  828. package/src/security/PasswordResetTokenBroker.js +131 -0
  829. package/src/security/Sanitizer.d.ts +76 -0
  830. package/src/security/Sanitizer.d.ts.map +1 -0
  831. package/src/security/Sanitizer.js +412 -0
  832. package/src/security/SignedRequest.d.ts +53 -0
  833. package/src/security/SignedRequest.d.ts.map +1 -0
  834. package/src/security/SignedRequest.js +172 -0
  835. package/src/security/StartupSecretValidation.d.ts +20 -0
  836. package/src/security/StartupSecretValidation.d.ts.map +1 -0
  837. package/src/security/StartupSecretValidation.js +139 -0
  838. package/src/security/TokenRevocation.d.ts +7 -0
  839. package/src/security/TokenRevocation.d.ts.map +1 -0
  840. package/src/security/TokenRevocation.js +57 -0
  841. package/src/security/UrlValidator.d.ts +20 -0
  842. package/src/security/UrlValidator.d.ts.map +1 -0
  843. package/src/security/UrlValidator.js +41 -0
  844. package/src/security/Xss.d.ts +14 -0
  845. package/src/security/Xss.d.ts.map +1 -0
  846. package/src/security/Xss.js +57 -0
  847. package/src/security/XssProtection.d.ts +24 -0
  848. package/src/security/XssProtection.d.ts.map +1 -0
  849. package/src/security/XssProtection.js +324 -0
  850. package/src/seeders/SeederDiscovery.d.ts +5 -0
  851. package/src/seeders/SeederDiscovery.d.ts.map +1 -0
  852. package/src/seeders/SeederDiscovery.js +21 -0
  853. package/src/seeders/SeederLoader.d.ts +5 -0
  854. package/src/seeders/SeederLoader.d.ts.map +1 -0
  855. package/src/seeders/SeederLoader.js +60 -0
  856. package/src/seeders/types.d.ts +18 -0
  857. package/src/seeders/types.d.ts.map +1 -0
  858. package/src/seeders/types.js +1 -0
  859. package/src/session/SessionManager.d.ts +39 -0
  860. package/src/session/SessionManager.d.ts.map +1 -0
  861. package/src/session/SessionManager.js +149 -0
  862. package/src/session/index.d.ts +3 -0
  863. package/src/session/index.d.ts.map +1 -0
  864. package/src/session/index.js +1 -0
  865. package/src/start.d.ts +21 -0
  866. package/src/start.d.ts.map +1 -0
  867. package/src/start.js +59 -0
  868. package/src/templates/TemplateRegistry.d.ts +40 -0
  869. package/src/templates/TemplateRegistry.d.ts.map +1 -0
  870. package/src/templates/TemplateRegistry.js +78 -0
  871. package/src/testing/TestEnvironment.d.ts +40 -0
  872. package/src/testing/TestEnvironment.d.ts.map +1 -0
  873. package/src/testing/TestEnvironment.js +141 -0
  874. package/src/testing/TestHttp.d.ts +29 -0
  875. package/src/testing/TestHttp.d.ts.map +1 -0
  876. package/src/testing/TestHttp.js +96 -0
  877. package/src/testing/index.d.ts +5 -0
  878. package/src/testing/index.d.ts.map +1 -0
  879. package/src/testing/index.js +2 -0
  880. package/src/time/DateTime.d.ts +181 -0
  881. package/src/time/DateTime.d.ts.map +1 -0
  882. package/src/time/DateTime.js +300 -0
  883. package/src/time/index.d.ts +7 -0
  884. package/src/time/index.d.ts.map +1 -0
  885. package/src/time/index.js +5 -0
  886. package/src/toolkit/Secrets/EnvFile.d.ts +15 -0
  887. package/src/toolkit/Secrets/EnvFile.d.ts.map +1 -0
  888. package/src/toolkit/Secrets/EnvFile.js +63 -0
  889. package/src/toolkit/Secrets/Manifest.d.ts +24 -0
  890. package/src/toolkit/Secrets/Manifest.d.ts.map +1 -0
  891. package/src/toolkit/Secrets/Manifest.js +71 -0
  892. package/src/toolkit/Secrets/index.d.ts +42 -0
  893. package/src/toolkit/Secrets/index.d.ts.map +1 -0
  894. package/src/toolkit/Secrets/index.js +123 -0
  895. package/src/toolkit/Secrets/providers/AwsSecretsManager.d.ts +14 -0
  896. package/src/toolkit/Secrets/providers/AwsSecretsManager.d.ts.map +1 -0
  897. package/src/toolkit/Secrets/providers/AwsSecretsManager.js +132 -0
  898. package/src/toolkit/Secrets/providers/CloudflareKv.d.ts +9 -0
  899. package/src/toolkit/Secrets/providers/CloudflareKv.d.ts.map +1 -0
  900. package/src/toolkit/Secrets/providers/CloudflareKv.js +74 -0
  901. package/src/tools/broadcast/Broadcast.d.ts +17 -0
  902. package/src/tools/broadcast/Broadcast.d.ts.map +1 -0
  903. package/src/tools/broadcast/Broadcast.js +84 -0
  904. package/src/tools/broadcast/BroadcastRegistry.d.ts +15 -0
  905. package/src/tools/broadcast/BroadcastRegistry.d.ts.map +1 -0
  906. package/src/tools/broadcast/BroadcastRegistry.js +29 -0
  907. package/src/tools/broadcast/BroadcastRuntimeRegistration.d.ts +11 -0
  908. package/src/tools/broadcast/BroadcastRuntimeRegistration.d.ts.map +1 -0
  909. package/src/tools/broadcast/BroadcastRuntimeRegistration.js +23 -0
  910. package/src/tools/broadcast/drivers/BaseDriver.d.ts +5 -0
  911. package/src/tools/broadcast/drivers/BaseDriver.d.ts.map +1 -0
  912. package/src/tools/broadcast/drivers/BaseDriver.js +8 -0
  913. package/src/tools/broadcast/drivers/InMemory.d.ts +18 -0
  914. package/src/tools/broadcast/drivers/InMemory.d.ts.map +1 -0
  915. package/src/tools/broadcast/drivers/InMemory.js +16 -0
  916. package/src/tools/broadcast/drivers/Pusher.d.ts +8 -0
  917. package/src/tools/broadcast/drivers/Pusher.d.ts.map +1 -0
  918. package/src/tools/broadcast/drivers/Pusher.js +75 -0
  919. package/src/tools/broadcast/drivers/Redis.d.ts +19 -0
  920. package/src/tools/broadcast/drivers/Redis.d.ts.map +1 -0
  921. package/src/tools/broadcast/drivers/Redis.js +25 -0
  922. package/src/tools/broadcast/drivers/RedisHttps.d.ts +14 -0
  923. package/src/tools/broadcast/drivers/RedisHttps.d.ts.map +1 -0
  924. package/src/tools/broadcast/drivers/RedisHttps.js +50 -0
  925. package/src/tools/broadcast/index.d.ts +9 -0
  926. package/src/tools/broadcast/index.d.ts.map +1 -0
  927. package/src/tools/broadcast/index.js +8 -0
  928. package/src/tools/http/Http.d.ts +49 -0
  929. package/src/tools/http/Http.d.ts.map +1 -0
  930. package/src/tools/http/Http.js +173 -0
  931. package/src/tools/http/HttpResponse.d.ts +32 -0
  932. package/src/tools/http/HttpResponse.d.ts.map +1 -0
  933. package/src/tools/http/HttpResponse.js +80 -0
  934. package/src/tools/http/index.d.ts +15 -0
  935. package/src/tools/http/index.d.ts.map +1 -0
  936. package/src/tools/http/index.js +9 -0
  937. package/src/tools/mail/Mail.d.ts +2 -0
  938. package/src/tools/mail/Mail.d.ts.map +1 -0
  939. package/src/tools/mail/Mail.js +1 -0
  940. package/src/tools/mail/MailDriverRegistry.d.ts +18 -0
  941. package/src/tools/mail/MailDriverRegistry.d.ts.map +1 -0
  942. package/src/tools/mail/MailDriverRegistry.js +23 -0
  943. package/src/tools/mail/attachments.d.ts +23 -0
  944. package/src/tools/mail/attachments.d.ts.map +1 -0
  945. package/src/tools/mail/attachments.js +26 -0
  946. package/src/tools/mail/drivers/BaseDriver.d.ts +5 -0
  947. package/src/tools/mail/drivers/BaseDriver.d.ts.map +1 -0
  948. package/src/tools/mail/drivers/BaseDriver.js +8 -0
  949. package/src/tools/mail/drivers/Mailgun.d.ts +31 -0
  950. package/src/tools/mail/drivers/Mailgun.d.ts.map +1 -0
  951. package/src/tools/mail/drivers/Mailgun.js +81 -0
  952. package/src/tools/mail/drivers/SendGrid.d.ts +29 -0
  953. package/src/tools/mail/drivers/SendGrid.d.ts.map +1 -0
  954. package/src/tools/mail/drivers/SendGrid.js +58 -0
  955. package/src/tools/mail/drivers/Ses.d.ts +24 -0
  956. package/src/tools/mail/drivers/Ses.d.ts.map +1 -0
  957. package/src/tools/mail/drivers/Ses.js +117 -0
  958. package/src/tools/mail/drivers/Smtp.d.ts +38 -0
  959. package/src/tools/mail/drivers/Smtp.d.ts.map +1 -0
  960. package/src/tools/mail/drivers/Smtp.js +349 -0
  961. package/src/tools/mail/index.d.ts +40 -0
  962. package/src/tools/mail/index.d.ts.map +1 -0
  963. package/src/tools/mail/index.js +129 -0
  964. package/src/tools/mail/template-loader.d.ts +10 -0
  965. package/src/tools/mail/template-loader.d.ts.map +1 -0
  966. package/src/tools/mail/template-loader.js +101 -0
  967. package/src/tools/mail/template-utils.d.ts +10 -0
  968. package/src/tools/mail/template-utils.d.ts.map +1 -0
  969. package/src/tools/mail/template-utils.js +16 -0
  970. package/src/tools/mail/templates/index.d.ts +57 -0
  971. package/src/tools/mail/templates/index.d.ts.map +1 -0
  972. package/src/tools/mail/templates/index.js +104 -0
  973. package/src/tools/mail/testing.d.ts +41 -0
  974. package/src/tools/mail/testing.d.ts.map +1 -0
  975. package/src/tools/mail/testing.js +34 -0
  976. package/src/tools/notification/Driver.d.ts +11 -0
  977. package/src/tools/notification/Driver.d.ts.map +1 -0
  978. package/src/tools/notification/Driver.js +1 -0
  979. package/src/tools/notification/Notification.d.ts +24 -0
  980. package/src/tools/notification/Notification.d.ts.map +1 -0
  981. package/src/tools/notification/Notification.js +35 -0
  982. package/src/tools/notification/NotificationChannelRegistry.d.ts +15 -0
  983. package/src/tools/notification/NotificationChannelRegistry.d.ts.map +1 -0
  984. package/src/tools/notification/NotificationChannelRegistry.js +36 -0
  985. package/src/tools/notification/NotificationRuntimeRegistration.d.ts +13 -0
  986. package/src/tools/notification/NotificationRuntimeRegistration.d.ts.map +1 -0
  987. package/src/tools/notification/NotificationRuntimeRegistration.js +25 -0
  988. package/src/tools/notification/Registry.d.ts +10 -0
  989. package/src/tools/notification/Registry.d.ts.map +1 -0
  990. package/src/tools/notification/Registry.js +26 -0
  991. package/src/tools/notification/Service.d.ts +7 -0
  992. package/src/tools/notification/Service.d.ts.map +1 -0
  993. package/src/tools/notification/Service.js +91 -0
  994. package/src/tools/notification/config.d.ts +5 -0
  995. package/src/tools/notification/config.d.ts.map +1 -0
  996. package/src/tools/notification/config.js +5 -0
  997. package/src/tools/notification/drivers/BaseDriver.d.ts +5 -0
  998. package/src/tools/notification/drivers/BaseDriver.d.ts.map +1 -0
  999. package/src/tools/notification/drivers/BaseDriver.js +8 -0
  1000. package/src/tools/notification/drivers/Console.d.ts +7 -0
  1001. package/src/tools/notification/drivers/Console.d.ts.map +1 -0
  1002. package/src/tools/notification/drivers/Console.js +13 -0
  1003. package/src/tools/notification/drivers/Slack.d.ts +16 -0
  1004. package/src/tools/notification/drivers/Slack.d.ts.map +1 -0
  1005. package/src/tools/notification/drivers/Slack.js +24 -0
  1006. package/src/tools/notification/drivers/SlackNotification.d.ts +8 -0
  1007. package/src/tools/notification/drivers/SlackNotification.d.ts.map +1 -0
  1008. package/src/tools/notification/drivers/SlackNotification.js +13 -0
  1009. package/src/tools/notification/drivers/Termii.d.ts +10 -0
  1010. package/src/tools/notification/drivers/Termii.d.ts.map +1 -0
  1011. package/src/tools/notification/drivers/Termii.js +36 -0
  1012. package/src/tools/notification/drivers/Twilio.d.ts +21 -0
  1013. package/src/tools/notification/drivers/Twilio.d.ts.map +1 -0
  1014. package/src/tools/notification/drivers/Twilio.js +48 -0
  1015. package/src/tools/notification/drivers/TwilioNotification.d.ts +8 -0
  1016. package/src/tools/notification/drivers/TwilioNotification.d.ts.map +1 -0
  1017. package/src/tools/notification/drivers/TwilioNotification.js +13 -0
  1018. package/src/tools/notification/templates/markdown/index.d.ts +15 -0
  1019. package/src/tools/notification/templates/markdown/index.d.ts.map +1 -0
  1020. package/src/tools/notification/templates/markdown/index.js +38 -0
  1021. package/src/tools/notification/templates/markdown/registry.d.ts +15 -0
  1022. package/src/tools/notification/templates/markdown/registry.d.ts.map +1 -0
  1023. package/src/tools/notification/templates/markdown/registry.js +36 -0
  1024. package/src/tools/notification/testing.d.ts +19 -0
  1025. package/src/tools/notification/testing.d.ts.map +1 -0
  1026. package/src/tools/notification/testing.js +35 -0
  1027. package/src/tools/notification/testingHelpers.d.ts +12 -0
  1028. package/src/tools/notification/testingHelpers.d.ts.map +1 -0
  1029. package/src/tools/notification/testingHelpers.js +32 -0
  1030. package/src/tools/queue/AdvancedQueue.d.ts +19 -0
  1031. package/src/tools/queue/AdvancedQueue.d.ts.map +1 -0
  1032. package/src/tools/queue/AdvancedQueue.js +352 -0
  1033. package/src/tools/queue/DeduplicationBuilder.d.ts +20 -0
  1034. package/src/tools/queue/DeduplicationBuilder.d.ts.map +1 -0
  1035. package/src/tools/queue/DeduplicationBuilder.js +77 -0
  1036. package/src/tools/queue/LockProvider.d.ts +22 -0
  1037. package/src/tools/queue/LockProvider.d.ts.map +1 -0
  1038. package/src/tools/queue/LockProvider.js +282 -0
  1039. package/src/tools/queue/Queue.d.ts +25 -0
  1040. package/src/tools/queue/Queue.d.ts.map +1 -0
  1041. package/src/tools/queue/Queue.js +53 -0
  1042. package/src/tools/queue/QueueExtensions.d.ts +46 -0
  1043. package/src/tools/queue/QueueExtensions.d.ts.map +1 -0
  1044. package/src/tools/queue/QueueExtensions.js +129 -0
  1045. package/src/tools/queue/QueueRuntimeRegistration.d.ts +11 -0
  1046. package/src/tools/queue/QueueRuntimeRegistration.d.ts.map +1 -0
  1047. package/src/tools/queue/QueueRuntimeRegistration.js +25 -0
  1048. package/src/tools/queue/drivers/Database.d.ts +23 -0
  1049. package/src/tools/queue/drivers/Database.d.ts.map +1 -0
  1050. package/src/tools/queue/drivers/Database.js +123 -0
  1051. package/src/tools/queue/drivers/InMemory.d.ts +10 -0
  1052. package/src/tools/queue/drivers/InMemory.d.ts.map +1 -0
  1053. package/src/tools/queue/drivers/InMemory.js +55 -0
  1054. package/src/tools/queue/drivers/Redis.d.ts +10 -0
  1055. package/src/tools/queue/drivers/Redis.d.ts.map +1 -0
  1056. package/src/tools/queue/drivers/Redis.js +26 -0
  1057. package/src/tools/queue/index.d.ts +9 -0
  1058. package/src/tools/queue/index.d.ts.map +1 -0
  1059. package/src/tools/queue/index.js +7 -0
  1060. package/src/tools/redis/RedisKeyManager.d.ts +64 -0
  1061. package/src/tools/redis/RedisKeyManager.d.ts.map +1 -0
  1062. package/src/tools/redis/RedisKeyManager.js +124 -0
  1063. package/src/tools/storage/LocalSignedUrl.d.ts +12 -0
  1064. package/src/tools/storage/LocalSignedUrl.d.ts.map +1 -0
  1065. package/src/tools/storage/LocalSignedUrl.js +108 -0
  1066. package/src/tools/storage/StorageDiskRegistry.d.ts +14 -0
  1067. package/src/tools/storage/StorageDiskRegistry.d.ts.map +1 -0
  1068. package/src/tools/storage/StorageDiskRegistry.js +36 -0
  1069. package/src/tools/storage/StorageDriverRegistry.d.ts +16 -0
  1070. package/src/tools/storage/StorageDriverRegistry.d.ts.map +1 -0
  1071. package/src/tools/storage/StorageDriverRegistry.js +20 -0
  1072. package/src/tools/storage/StorageRuntimeRegistration.d.ts +10 -0
  1073. package/src/tools/storage/StorageRuntimeRegistration.d.ts.map +1 -0
  1074. package/src/tools/storage/StorageRuntimeRegistration.js +21 -0
  1075. package/src/tools/storage/drivers/Gcs.d.ts +20 -0
  1076. package/src/tools/storage/drivers/Gcs.d.ts.map +1 -0
  1077. package/src/tools/storage/drivers/Gcs.js +152 -0
  1078. package/src/tools/storage/drivers/Local.d.ts +18 -0
  1079. package/src/tools/storage/drivers/Local.d.ts.map +1 -0
  1080. package/src/tools/storage/drivers/Local.js +89 -0
  1081. package/src/tools/storage/drivers/R2.d.ts +20 -0
  1082. package/src/tools/storage/drivers/R2.d.ts.map +1 -0
  1083. package/src/tools/storage/drivers/R2.js +73 -0
  1084. package/src/tools/storage/drivers/S3.d.ts +26 -0
  1085. package/src/tools/storage/drivers/S3.d.ts.map +1 -0
  1086. package/src/tools/storage/drivers/S3.js +259 -0
  1087. package/src/tools/storage/index.d.ts +21 -0
  1088. package/src/tools/storage/index.d.ts.map +1 -0
  1089. package/src/tools/storage/index.js +150 -0
  1090. package/src/tools/storage/testing.d.ts +23 -0
  1091. package/src/tools/storage/testing.d.ts.map +1 -0
  1092. package/src/tools/storage/testing.js +53 -0
  1093. package/src/tools/templates/MarkdownRenderer.d.ts +14 -0
  1094. package/src/tools/templates/MarkdownRenderer.d.ts.map +1 -0
  1095. package/src/tools/templates/MarkdownRenderer.js +300 -0
  1096. package/src/tools/templates/index.d.ts +5 -0
  1097. package/src/tools/templates/index.d.ts.map +1 -0
  1098. package/src/tools/templates/index.js +4 -0
  1099. package/src/types/Queue.d.ts +62 -0
  1100. package/src/types/Queue.d.ts.map +1 -0
  1101. package/src/types/Queue.js +5 -0
  1102. package/src/validation/ValidationError.d.ts +42 -0
  1103. package/src/validation/ValidationError.d.ts.map +1 -0
  1104. package/src/validation/ValidationError.js +55 -0
  1105. package/src/validation/Validator.d.ts +93 -0
  1106. package/src/validation/Validator.d.ts.map +1 -0
  1107. package/src/validation/Validator.js +492 -0
  1108. package/bin/z.ts +0 -10
  1109. package/bin/zin.ts +0 -10
  1110. package/bin/zintrust-main.ts +0 -130
  1111. package/bin/zintrust-microservices.ts +0 -199
  1112. package/bin/zintrust.ts +0 -14
  1113. package/bin/zt.ts +0 -10
  1114. package/src/auth/Auth.ts +0 -42
  1115. package/src/boot/Application.ts +0 -490
  1116. package/src/boot/Server.ts +0 -155
  1117. package/src/boot/bootstrap.ts +0 -274
  1118. package/src/builder/BundleOptimizer.ts +0 -483
  1119. package/src/cache/Cache.ts +0 -185
  1120. package/src/cache/CacheDriver.ts +0 -39
  1121. package/src/cache/CacheDriverRegistry.ts +0 -29
  1122. package/src/cache/CacheRuntimeRegistration.ts +0 -24
  1123. package/src/cache/drivers/KVDriver.ts +0 -63
  1124. package/src/cache/drivers/KVRemoteDriver.ts +0 -97
  1125. package/src/cache/drivers/MemoryDriver.ts +0 -85
  1126. package/src/cache/drivers/MongoDriver.ts +0 -96
  1127. package/src/cache/drivers/RedisDriver.ts +0 -95
  1128. package/src/cli/BaseCommand.ts +0 -106
  1129. package/src/cli/CLI.ts +0 -280
  1130. package/src/cli/ErrorHandler.ts +0 -130
  1131. package/src/cli/PromptHelper.ts +0 -203
  1132. package/src/cli/commands/AddCommand.ts +0 -1290
  1133. package/src/cli/commands/BroadcastWorkCommand.ts +0 -20
  1134. package/src/cli/commands/ConfigCommand.ts +0 -422
  1135. package/src/cli/commands/CreateCommand.ts +0 -177
  1136. package/src/cli/commands/D1MigrateCommand.ts +0 -98
  1137. package/src/cli/commands/DbSeedCommand.ts +0 -181
  1138. package/src/cli/commands/DebugCommand.ts +0 -71
  1139. package/src/cli/commands/FixCommand.ts +0 -84
  1140. package/src/cli/commands/JwtDevCommand.ts +0 -154
  1141. package/src/cli/commands/KeyGenerateCommand.ts +0 -86
  1142. package/src/cli/commands/LogsCleanupCommand.ts +0 -24
  1143. package/src/cli/commands/LogsCommand.ts +0 -270
  1144. package/src/cli/commands/MakeMailTemplateCommand.ts +0 -119
  1145. package/src/cli/commands/MakeNotificationTemplateCommand.ts +0 -164
  1146. package/src/cli/commands/MigrateCommand.ts +0 -435
  1147. package/src/cli/commands/MigrateWorkerCommand.ts +0 -180
  1148. package/src/cli/commands/NewCommand.ts +0 -546
  1149. package/src/cli/commands/NotificationWorkCommand.ts +0 -20
  1150. package/src/cli/commands/PluginCommand.ts +0 -112
  1151. package/src/cli/commands/PrepareCommand.ts +0 -65
  1152. package/src/cli/commands/PublishCommand.ts +0 -79
  1153. package/src/cli/commands/QACommand.ts +0 -551
  1154. package/src/cli/commands/QueueCommand.ts +0 -145
  1155. package/src/cli/commands/QueueLockCommand.ts +0 -156
  1156. package/src/cli/commands/QueueWorkCommandUtils.ts +0 -54
  1157. package/src/cli/commands/ResourceControlCommand.ts +0 -49
  1158. package/src/cli/commands/RoutesCommand.ts +0 -316
  1159. package/src/cli/commands/SecretsCommand.ts +0 -144
  1160. package/src/cli/commands/SimulateCommand.ts +0 -97
  1161. package/src/cli/commands/StartCommand.ts +0 -448
  1162. package/src/cli/commands/TemplatesCommand.ts +0 -72
  1163. package/src/cli/commands/UpgradeCommand.ts +0 -128
  1164. package/src/cli/commands/WorkerCommands.ts +0 -373
  1165. package/src/cli/commands/createKindWorkCommand.ts +0 -56
  1166. package/src/cli/commands/index.ts +0 -28
  1167. package/src/cli/commands/runner/index.ts +0 -140
  1168. package/src/cli/config/ConfigManager.ts +0 -221
  1169. package/src/cli/config/ConfigSchema.ts +0 -263
  1170. package/src/cli/config/ConfigValidator.ts +0 -250
  1171. package/src/cli/config/index.ts +0 -21
  1172. package/src/cli/d1/D1SqlMigrations.ts +0 -289
  1173. package/src/cli/d1/WranglerConfig.ts +0 -146
  1174. package/src/cli/d1/WranglerD1.ts +0 -28
  1175. package/src/cli/debug/Dashboard.ts +0 -227
  1176. package/src/cli/env/EnvFileBackfill.ts +0 -80
  1177. package/src/cli/index.ts +0 -17
  1178. package/src/cli/logger/Logger.ts +0 -193
  1179. package/src/cli/scaffolding/ControllerGenerator.ts +0 -633
  1180. package/src/cli/scaffolding/FactoryGenerator.ts +0 -430
  1181. package/src/cli/scaffolding/FeatureScaffolder.ts +0 -811
  1182. package/src/cli/scaffolding/FileGenerator.ts +0 -262
  1183. package/src/cli/scaffolding/GovernanceScaffolder.ts +0 -392
  1184. package/src/cli/scaffolding/MigrationGenerator.ts +0 -418
  1185. package/src/cli/scaffolding/ModelGenerator.ts +0 -337
  1186. package/src/cli/scaffolding/ProjectScaffolder.ts +0 -786
  1187. package/src/cli/scaffolding/RequestFactoryGenerator.ts +0 -561
  1188. package/src/cli/scaffolding/ResponseFactoryGenerator.ts +0 -394
  1189. package/src/cli/scaffolding/RouteGenerator.ts +0 -450
  1190. package/src/cli/scaffolding/SeederGenerator.ts +0 -428
  1191. package/src/cli/scaffolding/ServiceIntegrationTestGenerator.ts +0 -317
  1192. package/src/cli/scaffolding/ServiceRequestFactoryGenerator.ts +0 -485
  1193. package/src/cli/scaffolding/ServiceScaffolder.ts +0 -449
  1194. package/src/cli/scaffolding/TemplateEngine.ts +0 -141
  1195. package/src/cli/scaffolding/TemplateGenerator.ts +0 -255
  1196. package/src/cli/scaffolding/WorkflowGenerator.ts +0 -221
  1197. package/src/cli/scaffolding/index.ts +0 -89
  1198. package/src/cli/services/VersionChecker.ts +0 -308
  1199. package/src/cli/utils/DatabaseCliUtils.ts +0 -75
  1200. package/src/cli/utils/DistPackager.ts +0 -154
  1201. package/src/cli/utils/EnvFileLoader.ts +0 -218
  1202. package/src/cli/utils/spawn.ts +0 -116
  1203. package/src/cli/workers/QueueWorkRunner.ts +0 -377
  1204. package/src/collections/Collection.ts +0 -241
  1205. package/src/collections/index.ts +0 -2
  1206. package/src/common/AwsSigV4.ts +0 -116
  1207. package/src/common/ExternalServiceUtils.ts +0 -151
  1208. package/src/common/HealthRoutes.ts +0 -144
  1209. package/src/common/RemoteSignedJson.ts +0 -117
  1210. package/src/common/index.ts +0 -380
  1211. package/src/common/utility.ts +0 -140
  1212. package/src/config/FileLogWriter.ts +0 -342
  1213. package/src/config/SecretsManager.ts +0 -452
  1214. package/src/config/StartupConfigValidator.ts +0 -268
  1215. package/src/config/app.ts +0 -229
  1216. package/src/config/broadcast.ts +0 -194
  1217. package/src/config/cache.ts +0 -175
  1218. package/src/config/cloudflare.ts +0 -43
  1219. package/src/config/constants.ts +0 -167
  1220. package/src/config/database.ts +0 -344
  1221. package/src/config/env.ts +0 -245
  1222. package/src/config/features.ts +0 -57
  1223. package/src/config/index.ts +0 -46
  1224. package/src/config/logger.ts +0 -387
  1225. package/src/config/logging/HttpLogger.ts +0 -121
  1226. package/src/config/logging/KvLogger.ts +0 -181
  1227. package/src/config/logging/SlackLogger.ts +0 -156
  1228. package/src/config/mail.ts +0 -186
  1229. package/src/config/microservices.ts +0 -104
  1230. package/src/config/middleware.ts +0 -360
  1231. package/src/config/notification.ts +0 -205
  1232. package/src/config/queue.ts +0 -205
  1233. package/src/config/redis.ts +0 -84
  1234. package/src/config/security.ts +0 -170
  1235. package/src/config/startup.ts +0 -29
  1236. package/src/config/storage.ts +0 -205
  1237. package/src/config/type.ts +0 -611
  1238. package/src/config/workers.ts +0 -257
  1239. package/src/container/ServiceContainer.ts +0 -108
  1240. package/src/database/Paginator.ts +0 -141
  1241. package/src/database/factories/.gitkeep +0 -0
  1242. package/src/database/migrations/.gitkeep +0 -0
  1243. package/src/database/migrations/index.ts +0 -2
  1244. package/src/database/seeders/.gitkeep +0 -0
  1245. package/src/events/EventDispatcher.ts +0 -141
  1246. package/src/events/index.ts +0 -2
  1247. package/src/exceptions/ZintrustError.ts +0 -290
  1248. package/src/functions/cloudflare.ts +0 -28
  1249. package/src/functions/deno.ts +0 -25
  1250. package/src/functions/lambda.ts +0 -30
  1251. package/src/health/RuntimeHealthProbes.ts +0 -75
  1252. package/src/health/StartupHealthChecks.ts +0 -156
  1253. package/src/http/Controller.ts +0 -64
  1254. package/src/http/ErrorResponse.ts +0 -76
  1255. package/src/http/FileUpload.ts +0 -194
  1256. package/src/http/Kernel.ts +0 -356
  1257. package/src/http/Request.ts +0 -382
  1258. package/src/http/RequestContext.ts +0 -194
  1259. package/src/http/Response.ts +0 -93
  1260. package/src/http/ValidationHelper.ts +0 -131
  1261. package/src/http/error-pages/ErrorPageRenderer.ts +0 -108
  1262. package/src/http/middleware/BodyParsingMiddleware.ts +0 -294
  1263. package/src/http/middleware/FileUploadMiddleware.ts +0 -91
  1264. package/src/http/parsers/BodyParsers.ts +0 -188
  1265. package/src/http/parsers/MultipartParser.ts +0 -211
  1266. package/src/http/parsers/MultipartParserRegistry.ts +0 -54
  1267. package/src/http/validated.ts +0 -55
  1268. package/src/index.ts +0 -436
  1269. package/src/lang/lang.ts +0 -22
  1270. package/src/microservices/MicroserviceBootstrap.ts +0 -411
  1271. package/src/microservices/MicroserviceGenerator.ts +0 -534
  1272. package/src/microservices/MicroserviceManager.ts +0 -409
  1273. package/src/microservices/PostgresAdapter.ts +0 -475
  1274. package/src/microservices/RequestTracingMiddleware.ts +0 -207
  1275. package/src/microservices/ServiceAuthMiddleware.ts +0 -363
  1276. package/src/microservices/ServiceBundler.ts +0 -432
  1277. package/src/microservices/ServiceHealthMonitor.ts +0 -512
  1278. package/src/middleware/AuthMiddleware.ts +0 -29
  1279. package/src/middleware/CsrfMiddleware.ts +0 -177
  1280. package/src/middleware/ErrorHandlerMiddleware.ts +0 -52
  1281. package/src/middleware/JwtAuthMiddleware.ts +0 -99
  1282. package/src/middleware/LoggingMiddleware.ts +0 -55
  1283. package/src/middleware/MiddlewareStack.ts +0 -69
  1284. package/src/middleware/RateLimiter.ts +0 -338
  1285. package/src/middleware/SanitizeBodyMiddleware.ts +0 -41
  1286. package/src/middleware/SecurityMiddleware.ts +0 -145
  1287. package/src/middleware/SessionMiddleware.ts +0 -26
  1288. package/src/middleware/ValidationMiddleware.ts +0 -296
  1289. package/src/middleware/index.ts +0 -11
  1290. package/src/migrations/MigrationDiscovery.ts +0 -17
  1291. package/src/migrations/MigrationLoader.ts +0 -59
  1292. package/src/migrations/MigrationLock.ts +0 -42
  1293. package/src/migrations/Migrator.ts +0 -16
  1294. package/src/migrations/MigratorFactory.ts +0 -473
  1295. package/src/migrations/enum/index.ts +0 -114
  1296. package/src/migrations/schema/Blueprint.ts +0 -240
  1297. package/src/migrations/schema/Schema.ts +0 -228
  1298. package/src/migrations/schema/SchemaCompiler.ts +0 -375
  1299. package/src/migrations/schema/index.ts +0 -17
  1300. package/src/migrations/schema/types.ts +0 -113
  1301. package/src/migrations/types.ts +0 -52
  1302. package/src/node-singletons/async_hooks.ts +0 -12
  1303. package/src/node-singletons/child-process.ts +0 -7
  1304. package/src/node-singletons/crypto.ts +0 -21
  1305. package/src/node-singletons/events.ts +0 -7
  1306. package/src/node-singletons/fs.ts +0 -38
  1307. package/src/node-singletons/http.ts +0 -13
  1308. package/src/node-singletons/index.ts +0 -38
  1309. package/src/node-singletons/module.ts +0 -12
  1310. package/src/node-singletons/net.ts +0 -10
  1311. package/src/node-singletons/os.ts +0 -20
  1312. package/src/node-singletons/path.ts +0 -11
  1313. package/src/node-singletons/perf-hooks.ts +0 -11
  1314. package/src/node-singletons/process.ts +0 -58
  1315. package/src/node-singletons/readline.ts +0 -12
  1316. package/src/node-singletons/tls.ts +0 -10
  1317. package/src/node-singletons/url.ts +0 -11
  1318. package/src/node-singletons/util.ts +0 -6
  1319. package/src/node.ts +0 -32
  1320. package/src/observability/OpenTelemetry.ts +0 -295
  1321. package/src/observability/PrometheusMetrics.ts +0 -161
  1322. package/src/openapi/OpenApiGenerator.ts +0 -452
  1323. package/src/orm/ConnectionManager.ts +0 -759
  1324. package/src/orm/Database.ts +0 -521
  1325. package/src/orm/DatabaseAdapter.ts +0 -169
  1326. package/src/orm/DatabaseAdapterRegistry.ts +0 -38
  1327. package/src/orm/DatabaseRuntimeRegistration.ts +0 -87
  1328. package/src/orm/Model.ts +0 -1025
  1329. package/src/orm/QueryBuilder.ts +0 -1492
  1330. package/src/orm/Relationships.ts +0 -419
  1331. package/src/orm/Schema.ts +0 -403
  1332. package/src/orm/SchemaCompiler.ts +0 -160
  1333. package/src/orm/adapters/D1Adapter.ts +0 -149
  1334. package/src/orm/adapters/D1RemoteAdapter.ts +0 -236
  1335. package/src/orm/adapters/MySQLAdapter.ts +0 -129
  1336. package/src/orm/adapters/PostgreSQLAdapter.ts +0 -148
  1337. package/src/orm/adapters/SQLServerAdapter.ts +0 -99
  1338. package/src/orm/adapters/SQLiteAdapter.ts +0 -314
  1339. package/src/orm/maintenance/SqliteMaintenance.ts +0 -22
  1340. package/src/orm/migrations/MigrationStore.ts +0 -232
  1341. package/src/performance/Benchmark.ts +0 -456
  1342. package/src/performance/CodeGenerationBenchmark.ts +0 -338
  1343. package/src/performance/Optimizer.ts +0 -846
  1344. package/src/performance/establish-baseline.ts +0 -69
  1345. package/src/profiling/MemoryProfiler.ts +0 -111
  1346. package/src/profiling/N1Detector.ts +0 -144
  1347. package/src/profiling/QueryLogger.ts +0 -233
  1348. package/src/profiling/RequestProfiler.ts +0 -123
  1349. package/src/profiling/types.ts +0 -86
  1350. package/src/routes/CoreRoutes.ts +0 -47
  1351. package/src/routes/RouteRegistry.ts +0 -106
  1352. package/src/routes/Router.ts +0 -435
  1353. package/src/routes/common.ts +0 -50
  1354. package/src/routes/doc.ts +0 -139
  1355. package/src/routes/error.ts +0 -185
  1356. package/src/routes/errorPages.ts +0 -125
  1357. package/src/routes/health.ts +0 -6
  1358. package/src/routes/metrics.ts +0 -24
  1359. package/src/routes/openapi.ts +0 -93
  1360. package/src/routes/publicRoot.ts +0 -125
  1361. package/src/runtime/PluginAutoImports.ts +0 -67
  1362. package/src/runtime/PluginManager.ts +0 -468
  1363. package/src/runtime/PluginRegistry.ts +0 -232
  1364. package/src/runtime/RuntimeAdapter.ts +0 -291
  1365. package/src/runtime/StartupConfigFileRegistry.ts +0 -64
  1366. package/src/runtime/adapters/CloudflareAdapter.ts +0 -273
  1367. package/src/runtime/adapters/DenoAdapter.ts +0 -269
  1368. package/src/runtime/adapters/FargateAdapter.ts +0 -230
  1369. package/src/runtime/adapters/LambdaAdapter.ts +0 -475
  1370. package/src/runtime/adapters/NodeServerAdapter.ts +0 -289
  1371. package/src/runtime/getKernel.ts +0 -34
  1372. package/src/runtime/useFileLoader.ts +0 -234
  1373. package/src/scheduler/ScheduleRunner.ts +0 -219
  1374. package/src/scheduler/index.ts +0 -2
  1375. package/src/scheduler/types.ts +0 -18
  1376. package/src/schedules/index.ts +0 -1
  1377. package/src/schedules/log-cleanup.ts +0 -21
  1378. package/src/scripts/GenerateEnvArtifacts.ts +0 -203
  1379. package/src/scripts/TemplateImportsCheck.ts +0 -180
  1380. package/src/scripts/TemplateSync.ts +0 -489
  1381. package/src/security/CsrfTokenManager.ts +0 -102
  1382. package/src/security/EncryptedEnvelope.ts +0 -373
  1383. package/src/security/Encryptor.ts +0 -259
  1384. package/src/security/Hash.ts +0 -97
  1385. package/src/security/JwtManager.ts +0 -375
  1386. package/src/security/PasswordResetTokenBroker.ts +0 -193
  1387. package/src/security/Sanitizer.ts +0 -614
  1388. package/src/security/SignedRequest.ts +0 -315
  1389. package/src/security/StartupSecretValidation.ts +0 -162
  1390. package/src/security/TokenRevocation.ts +0 -64
  1391. package/src/security/UrlValidator.ts +0 -57
  1392. package/src/security/Xss.ts +0 -74
  1393. package/src/security/XssProtection.ts +0 -396
  1394. package/src/seeders/SeederDiscovery.ts +0 -22
  1395. package/src/seeders/SeederLoader.ts +0 -88
  1396. package/src/seeders/types.ts +0 -20
  1397. package/src/services/default/test/.env +0 -19
  1398. package/src/services/default/users/.env +0 -19
  1399. package/src/services/ecommerce/docker-compose.yml +0 -155
  1400. package/src/services/ecommerce/init-db.sql +0 -71
  1401. package/src/services/ecommerce/orders/service.config.json +0 -20
  1402. package/src/services/ecommerce/payments/service.config.json +0 -19
  1403. package/src/services/ecommerce/users/Dockerfile +0 -57
  1404. package/src/services/ecommerce/users/service.config.json +0 -20
  1405. package/src/session/SessionManager.ts +0 -241
  1406. package/src/session/index.ts +0 -2
  1407. package/src/start.ts +0 -68
  1408. package/src/testing/TestEnvironment.ts +0 -213
  1409. package/src/testing/TestHttp.ts +0 -134
  1410. package/src/testing/index.ts +0 -11
  1411. package/src/time/DateTime.ts +0 -548
  1412. package/src/time/index.ts +0 -7
  1413. package/src/toolkit/Secrets/EnvFile.ts +0 -80
  1414. package/src/toolkit/Secrets/Manifest.ts +0 -119
  1415. package/src/toolkit/Secrets/index.ts +0 -192
  1416. package/src/toolkit/Secrets/providers/AwsSecretsManager.ts +0 -189
  1417. package/src/toolkit/Secrets/providers/CloudflareKv.ts +0 -94
  1418. package/src/tools/broadcast/Broadcast.ts +0 -116
  1419. package/src/tools/broadcast/BroadcastRegistry.ts +0 -38
  1420. package/src/tools/broadcast/BroadcastRuntimeRegistration.ts +0 -31
  1421. package/src/tools/broadcast/drivers/BaseDriver.ts +0 -10
  1422. package/src/tools/broadcast/drivers/InMemory.ts +0 -20
  1423. package/src/tools/broadcast/drivers/Pusher.ts +0 -107
  1424. package/src/tools/broadcast/drivers/Redis.ts +0 -49
  1425. package/src/tools/broadcast/drivers/RedisHttps.ts +0 -74
  1426. package/src/tools/broadcast/index.ts +0 -8
  1427. package/src/tools/http/Http.ts +0 -234
  1428. package/src/tools/http/HttpResponse.ts +0 -118
  1429. package/src/tools/http/index.ts +0 -11
  1430. package/src/tools/mail/Mail.ts +0 -1
  1431. package/src/tools/mail/MailDriverRegistry.ts +0 -34
  1432. package/src/tools/mail/attachments.ts +0 -47
  1433. package/src/tools/mail/drivers/BaseDriver.ts +0 -10
  1434. package/src/tools/mail/drivers/Mailgun.ts +0 -130
  1435. package/src/tools/mail/drivers/SendGrid.ts +0 -103
  1436. package/src/tools/mail/drivers/Ses.ts +0 -179
  1437. package/src/tools/mail/drivers/Smtp.ts +0 -490
  1438. package/src/tools/mail/index.ts +0 -218
  1439. package/src/tools/mail/template-loader.ts +0 -128
  1440. package/src/tools/mail/template-utils.ts +0 -19
  1441. package/src/tools/mail/templates/auth-password-reset.html +0 -231
  1442. package/src/tools/mail/templates/auth-welcome.html +0 -236
  1443. package/src/tools/mail/templates/general.html +0 -109
  1444. package/src/tools/mail/templates/index.ts +0 -143
  1445. package/src/tools/mail/templates/job-completed.html +0 -188
  1446. package/src/tools/mail/templates/notifications-new-comment.html +0 -228
  1447. package/src/tools/mail/templates/password-reset.html +0 -221
  1448. package/src/tools/mail/templates/performance-report.html +0 -258
  1449. package/src/tools/mail/templates/welcome.html +0 -187
  1450. package/src/tools/mail/templates/worker-alert.html +0 -229
  1451. package/src/tools/mail/testing.ts +0 -59
  1452. package/src/tools/notification/Driver.ts +0 -11
  1453. package/src/tools/notification/Notification.ts +0 -55
  1454. package/src/tools/notification/NotificationChannelRegistry.ts +0 -46
  1455. package/src/tools/notification/NotificationRuntimeRegistration.ts +0 -36
  1456. package/src/tools/notification/Registry.ts +0 -35
  1457. package/src/tools/notification/Service.ts +0 -136
  1458. package/src/tools/notification/config.ts +0 -7
  1459. package/src/tools/notification/drivers/BaseDriver.ts +0 -10
  1460. package/src/tools/notification/drivers/Console.ts +0 -18
  1461. package/src/tools/notification/drivers/Slack.ts +0 -42
  1462. package/src/tools/notification/drivers/SlackNotification.ts +0 -17
  1463. package/src/tools/notification/drivers/Termii.ts +0 -43
  1464. package/src/tools/notification/drivers/Twilio.ts +0 -77
  1465. package/src/tools/notification/drivers/TwilioNotification.ts +0 -19
  1466. package/src/tools/notification/templates/markdown/index.ts +0 -49
  1467. package/src/tools/notification/templates/markdown/notifications/new-follow.md +0 -12
  1468. package/src/tools/notification/templates/markdown/registry.ts +0 -45
  1469. package/src/tools/notification/testing.ts +0 -50
  1470. package/src/tools/notification/testingHelpers.ts +0 -44
  1471. package/src/tools/queue/AdvancedQueue.ts +0 -458
  1472. package/src/tools/queue/DeduplicationBuilder.ts +0 -111
  1473. package/src/tools/queue/LockProvider.ts +0 -335
  1474. package/src/tools/queue/Queue.ts +0 -78
  1475. package/src/tools/queue/QueueExtensions.ts +0 -161
  1476. package/src/tools/queue/QueueRuntimeRegistration.ts +0 -29
  1477. package/src/tools/queue/drivers/Database.ts +0 -183
  1478. package/src/tools/queue/drivers/InMemory.ts +0 -64
  1479. package/src/tools/queue/drivers/Redis.ts +0 -33
  1480. package/src/tools/queue/index.ts +0 -28
  1481. package/src/tools/redis/RedisKeyManager.ts +0 -142
  1482. package/src/tools/storage/LocalSignedUrl.ts +0 -142
  1483. package/src/tools/storage/StorageDiskRegistry.ts +0 -45
  1484. package/src/tools/storage/StorageDriverRegistry.ts +0 -31
  1485. package/src/tools/storage/StorageRuntimeRegistration.ts +0 -32
  1486. package/src/tools/storage/drivers/Gcs.ts +0 -201
  1487. package/src/tools/storage/drivers/Local.ts +0 -116
  1488. package/src/tools/storage/drivers/R2.ts +0 -99
  1489. package/src/tools/storage/drivers/S3.ts +0 -347
  1490. package/src/tools/storage/index.ts +0 -217
  1491. package/src/tools/storage/testing.ts +0 -80
  1492. package/src/tools/templates/MarkdownRenderer.ts +0 -354
  1493. package/src/tools/templates/index.ts +0 -5
  1494. package/src/types/Queue.ts +0 -71
  1495. package/src/types/redis.d.ts +0 -11
  1496. package/src/validation/ValidationError.ts +0 -79
  1497. package/src/validation/Validator.ts +0 -681
  1498. package/src/zintrust.plugins.ts +0 -13
  1499. /package/{dist/src → src}/index.d.ts +0 -0
  1500. /package/{dist/src → src}/index.js +0 -0
@@ -0,0 +1,1057 @@
1
+ /**
2
+ * QueryBuilder - Type-Safe Query Builder
3
+ * Build queries without raw SQL
4
+ */
5
+ import { createPaginator } from '../database/Paginator.js';
6
+ import { ErrorFactory } from '../exceptions/ZintrustError.js';
7
+ const getIdentifierQuote = (dialect) => {
8
+ const d = (dialect ?? '').toLowerCase();
9
+ if (d === 'mysql') {
10
+ return {
11
+ open: '`',
12
+ close: '`',
13
+ escape: (raw) => raw.replaceAll('`', '``'),
14
+ };
15
+ }
16
+ if (d === 'sqlserver') {
17
+ return {
18
+ open: '[',
19
+ close: ']',
20
+ escape: (raw) => raw.replaceAll(']', ']]'),
21
+ };
22
+ }
23
+ // sqlite/postgresql/d1/d1-remote: standard SQL double-quote identifiers.
24
+ return {
25
+ open: '"',
26
+ close: '"',
27
+ escape: (raw) => raw.replaceAll('"', '""'),
28
+ };
29
+ };
30
+ const escapeIdentifier = (id, dialect) => {
31
+ const q = getIdentifierQuote(dialect);
32
+ return id
33
+ .split('.')
34
+ .map((part) => `${q.open}${q.escape(part)}${q.close}`)
35
+ .join('.');
36
+ };
37
+ const SAFE_IDENTIFIER_PATH = /^[A-Za-z_]\w*(?:\.[A-Za-z_]\w*)*$/;
38
+ const SAFE_IDENTIFIER = /^[A-Za-z_]\w*$/;
39
+ const assertSafeIdentifierPath = (id, label) => {
40
+ const trimmed = id.trim();
41
+ if (trimmed.length === 0) {
42
+ throw ErrorFactory.createDatabaseError(`Empty SQL identifier for ${label}`);
43
+ }
44
+ if (!SAFE_IDENTIFIER_PATH.test(trimmed)) {
45
+ throw ErrorFactory.createDatabaseError(`Unsafe SQL identifier for ${label}`);
46
+ }
47
+ };
48
+ const assertSafeIdentifier = (id, label) => {
49
+ const trimmed = id.trim();
50
+ if (trimmed.length === 0) {
51
+ throw ErrorFactory.createDatabaseError(`Empty SQL identifier for ${label}`);
52
+ }
53
+ if (!SAFE_IDENTIFIER.test(trimmed)) {
54
+ throw ErrorFactory.createDatabaseError(`Unsafe SQL identifier for ${label}`);
55
+ }
56
+ };
57
+ const normalizeOrderDirection = (direction) => {
58
+ if (direction === undefined || direction === null)
59
+ return 'ASC';
60
+ const trimmed = String(direction).trim();
61
+ if (trimmed.length === 0)
62
+ return 'ASC';
63
+ const normalized = trimmed.toUpperCase();
64
+ if (normalized === 'ASC' || normalized === 'DESC')
65
+ return normalized;
66
+ throw ErrorFactory.createDatabaseError('Unsafe ORDER BY direction');
67
+ };
68
+ const normalizeOperator = (operator) => operator.trim().toUpperCase();
69
+ const ALLOWED_OPERATORS = new Set([
70
+ '=',
71
+ '!=',
72
+ '<>',
73
+ '<',
74
+ '<=',
75
+ '>',
76
+ '>=',
77
+ 'LIKE',
78
+ 'NOT LIKE',
79
+ 'ILIKE',
80
+ 'NOT ILIKE',
81
+ 'IN',
82
+ 'NOT IN',
83
+ 'BETWEEN',
84
+ 'NOT BETWEEN',
85
+ 'IS',
86
+ 'IS NOT',
87
+ ]);
88
+ const assertSafeOperator = (operator) => {
89
+ const normalized = normalizeOperator(operator);
90
+ if (!ALLOWED_OPERATORS.has(normalized)) {
91
+ throw ErrorFactory.createDatabaseError('Unsafe SQL operator');
92
+ }
93
+ return normalized;
94
+ };
95
+ const assertSafeLimitOffset = (value, label) => {
96
+ if (!Number.isFinite(value) || !Number.isInteger(value) || value < 0) {
97
+ throw ErrorFactory.createDatabaseError(`Unsafe ${label} value`);
98
+ }
99
+ };
100
+ const isNumericLiteral = (value) => {
101
+ // Strict, injection-resistant numeric literal allow-list.
102
+ // Allows: 0, 1, 1.5, 0001
103
+ // Disallows: 1e3, 1;DROP, 1 as ok
104
+ return /^(?:0|[1-9]\d*)(?:\.\d+)?$/.test(value);
105
+ };
106
+ const ALLOWED_AGGREGATES = new Set(['MAX', 'MIN', 'COUNT', 'SUM', 'AVG']);
107
+ const tryParseAggregateSelectExpr = (raw) => {
108
+ // Aggregate functions: MAX(col) [AS alias]
109
+ // Capture content greedily to avoid ReDoS from overlapping whitespace patterns (S5852)
110
+ const agg = /^(MAX|MIN|COUNT|SUM|AVG)\(([^)]+)\)(?: AS (\S+))?$/i.exec(raw);
111
+ if (agg === null)
112
+ return null;
113
+ const fn = agg[1]?.toUpperCase();
114
+ const arg = (agg[2] ?? '').trim();
115
+ const alias = (agg[3] ?? '').trim();
116
+ if (!ALLOWED_AGGREGATES.has(fn))
117
+ return null;
118
+ if (arg !== '*') {
119
+ assertSafeIdentifierPath(arg, 'aggregate argument');
120
+ }
121
+ if (alias.length > 0) {
122
+ assertSafeIdentifier(alias, 'aggregate alias');
123
+ }
124
+ return { kind: 'aggregate', fn, arg, alias: alias.length > 0 ? alias : undefined };
125
+ };
126
+ const tryParseColumnAliasSelectExpr = (raw) => {
127
+ // Column alias: col [AS alias]
128
+ // Avoid catastrophic backtracking by using a linear-time separator scan.
129
+ const upperRaw = raw.toUpperCase();
130
+ const asIndex = upperRaw.indexOf(' AS ');
131
+ if (asIndex === -1)
132
+ return null;
133
+ const asSeparator = { index: asIndex, 0: raw.slice(asIndex, asIndex + 4) };
134
+ const col = raw.slice(0, asSeparator.index).trim();
135
+ const alias = raw.slice(asSeparator.index + asSeparator[0].length).trim();
136
+ // Alias must be a single token (no whitespace).
137
+ if (col.length === 0 || alias.length === 0 || /\s/.test(alias))
138
+ return null;
139
+ assertSafeIdentifierPath(col, 'select column');
140
+ assertSafeIdentifier(alias, 'select alias');
141
+ return { kind: 'column', column: col, alias };
142
+ };
143
+ const tryParseSelectExpr = (expr) => {
144
+ const raw = expr.trim();
145
+ if (raw.length === 0) {
146
+ throw ErrorFactory.createDatabaseError('Empty SQL identifier for select column');
147
+ }
148
+ if (raw === '*')
149
+ return { kind: 'all' };
150
+ if (isNumericLiteral(raw))
151
+ return { kind: 'literal', value: raw };
152
+ const aggregate = tryParseAggregateSelectExpr(raw);
153
+ if (aggregate !== null)
154
+ return aggregate;
155
+ const aliased = tryParseColumnAliasSelectExpr(raw);
156
+ if (aliased !== null)
157
+ return aliased;
158
+ // Plain identifier path
159
+ assertSafeIdentifierPath(raw, 'select column');
160
+ return { kind: 'column', column: raw };
161
+ };
162
+ /**
163
+ * Build SELECT clause
164
+ */
165
+ const formatSelectExpr = (parsed, dialect) => {
166
+ if (parsed.kind === 'all')
167
+ return '*';
168
+ if (parsed.kind === 'literal')
169
+ return parsed.value;
170
+ if (parsed.kind === 'aggregate') {
171
+ const argSql = parsed.arg === '*' ? '*' : escapeIdentifier(parsed.arg, dialect);
172
+ const base = `${parsed.fn}(${argSql})`;
173
+ const alias = typeof parsed.alias === 'string' && parsed.alias.length > 0 ? parsed.alias : null;
174
+ return alias === null ? base : `${base} AS ${escapeIdentifier(alias, dialect)}`;
175
+ }
176
+ const base = escapeIdentifier(parsed.column, dialect);
177
+ const alias = typeof parsed.alias === 'string' && parsed.alias.length > 0 ? parsed.alias : null;
178
+ return alias === null ? base : `${base} AS ${escapeIdentifier(alias, dialect)}`;
179
+ };
180
+ const buildSelectClause = (columns, dialect) => {
181
+ const out = [];
182
+ for (const c of columns) {
183
+ const parsed = tryParseSelectExpr(String(c));
184
+ if (parsed === null)
185
+ continue;
186
+ out.push(formatSelectExpr(parsed, dialect));
187
+ }
188
+ return out.join(', ');
189
+ };
190
+ const compileWhere = (conditions, dialect) => {
191
+ if (conditions.length === 0)
192
+ return { sql: '', parameters: [] };
193
+ const parameters = [];
194
+ const clauses = conditions.map((clause) => {
195
+ assertSafeIdentifierPath(clause.column, 'where column');
196
+ const operator = assertSafeOperator(clause.operator);
197
+ const columnSql = escapeIdentifier(clause.column, dialect);
198
+ if (operator === 'IN' || operator === 'NOT IN') {
199
+ if (!Array.isArray(clause.value) || clause.value.length === 0) {
200
+ throw ErrorFactory.createDatabaseError('IN operator requires a non-empty array');
201
+ }
202
+ const values = clause.value;
203
+ const placeholders = values.map(() => '?').join(', ');
204
+ for (const v of values)
205
+ parameters.push(v);
206
+ return `${columnSql} ${operator} (${placeholders})`;
207
+ }
208
+ if (operator === 'BETWEEN' || operator === 'NOT BETWEEN') {
209
+ if (!Array.isArray(clause.value) || clause.value.length !== 2) {
210
+ throw ErrorFactory.createDatabaseError('BETWEEN operator requires a 2-item array');
211
+ }
212
+ const range = clause.value;
213
+ parameters.push(range[0], range[1]);
214
+ return `${columnSql} ${operator} ? AND ?`;
215
+ }
216
+ if (operator === 'IS' || operator === 'IS NOT') {
217
+ if (clause.value === null || clause.value === undefined) {
218
+ return `${columnSql} ${operator} NULL`;
219
+ }
220
+ parameters.push(clause.value);
221
+ return `${columnSql} ${operator} ?`;
222
+ }
223
+ parameters.push(clause.value);
224
+ return `${columnSql} ${operator} ?`;
225
+ });
226
+ return { sql: ` WHERE ${clauses.join(' AND ')}`, parameters };
227
+ };
228
+ const buildSoftDeleteWhereClause = (column, mode) => {
229
+ const col = column.trim();
230
+ if (col.length === 0)
231
+ return null;
232
+ assertSafeIdentifierPath(col, 'soft delete column');
233
+ if (mode === 'include')
234
+ return null;
235
+ if (mode === 'only')
236
+ return { column: col, operator: 'IS NOT', value: null };
237
+ return { column: col, operator: 'IS', value: null };
238
+ };
239
+ const getEffectiveWhereConditions = (state) => {
240
+ if (state.softDelete === undefined)
241
+ return state.whereConditions;
242
+ const clause = buildSoftDeleteWhereClause(state.softDelete.column, state.softDelete.mode);
243
+ if (clause === null)
244
+ return state.whereConditions;
245
+ return [...state.whereConditions, clause];
246
+ };
247
+ /**
248
+ * Build ORDER BY clause
249
+ */
250
+ const buildOrderByClause = (orderByClauses, dialect) => {
251
+ if (orderByClauses.length === 0)
252
+ return '';
253
+ const parts = orderByClauses.map((orderBy) => {
254
+ const col = orderBy.column.trim();
255
+ let columnSql = col;
256
+ if (!isNumericLiteral(col)) {
257
+ assertSafeIdentifierPath(col, 'order by column');
258
+ columnSql = escapeIdentifier(col, dialect);
259
+ }
260
+ const dir = normalizeOrderDirection(orderBy.direction);
261
+ return `${columnSql} ${dir}`;
262
+ });
263
+ return ` ORDER BY ${parts.join(', ')}`;
264
+ };
265
+ /**
266
+ * Build LIMIT and OFFSET clause
267
+ */
268
+ const buildLimitOffsetClause = (limit, offset) => {
269
+ let sql = '';
270
+ if (limit !== undefined && limit !== null) {
271
+ assertSafeLimitOffset(limit, 'LIMIT');
272
+ sql += ` LIMIT ${limit}`;
273
+ }
274
+ if (offset !== undefined && offset !== null) {
275
+ assertSafeLimitOffset(offset, 'OFFSET');
276
+ sql += ` OFFSET ${offset}`;
277
+ }
278
+ return sql;
279
+ };
280
+ const buildSelectQuery = (state) => {
281
+ if (state.tableName.length > 0) {
282
+ assertSafeIdentifierPath(state.tableName, 'table name');
283
+ }
284
+ const columns = buildSelectClause(state.selectColumns, state.dialect);
285
+ const fromClause = state.tableName.length > 0 ? ` FROM ${escapeIdentifier(state.tableName, state.dialect)}` : '';
286
+ const where = compileWhere(getEffectiveWhereConditions(state), state.dialect);
287
+ const sql = `SELECT ${columns}${fromClause}${where.sql}${buildOrderByClause(state.orderByClauses, state.dialect)}${buildLimitOffsetClause(state.limitValue, state.offsetValue)}`;
288
+ return { sql, parameters: where.parameters };
289
+ };
290
+ const buildCountQuery = (state) => {
291
+ if (state.tableName.length > 0) {
292
+ assertSafeIdentifierPath(state.tableName, 'table name');
293
+ }
294
+ const fromClause = state.tableName.length > 0 ? ` FROM ${escapeIdentifier(state.tableName, state.dialect)}` : '';
295
+ const where = compileWhere(getEffectiveWhereConditions(state), state.dialect);
296
+ const sql = `SELECT COUNT(*) AS total${fromClause}${where.sql}`;
297
+ return { sql, parameters: where.parameters };
298
+ };
299
+ const applyWhereCondition = (state, column, operator, value) => {
300
+ const col = String(column).trim();
301
+ assertSafeIdentifierPath(col, 'where column');
302
+ let op;
303
+ let val;
304
+ // Shorthand: where('id', 123)
305
+ if (value === undefined) {
306
+ op = '=';
307
+ val = operator;
308
+ }
309
+ else {
310
+ if (typeof operator !== 'string') {
311
+ throw ErrorFactory.createDatabaseError('Unsafe SQL operator');
312
+ }
313
+ op = assertSafeOperator(operator);
314
+ val = value;
315
+ }
316
+ state.whereConditions.push({ column: col, operator: op, value: val });
317
+ };
318
+ const applyOrderByClause = (state, column, direction) => {
319
+ const col = String(column).trim();
320
+ if (!isNumericLiteral(col)) {
321
+ assertSafeIdentifierPath(col, 'order by column');
322
+ }
323
+ const dir = normalizeOrderDirection(direction);
324
+ state.orderByClauses.push({ column: col, direction: dir });
325
+ };
326
+ const applyLimit = (state, count) => {
327
+ assertSafeLimitOffset(count, 'LIMIT');
328
+ state.limitValue = count;
329
+ };
330
+ const applyOffset = (state, count) => {
331
+ assertSafeLimitOffset(count, 'OFFSET');
332
+ state.offsetValue = count;
333
+ };
334
+ /**
335
+ * Execute query and return first result
336
+ */
337
+ async function executeFirst(builder, db) {
338
+ if (!db)
339
+ throw ErrorFactory.createDatabaseError('Database instance not provided to QueryBuilder');
340
+ builder.limit(1);
341
+ const results = (await db.query(builder.toSQL(), builder.getParameters(), builder.isReadOperation()));
342
+ return results[0] ?? null;
343
+ }
344
+ async function executeFirstOrFail(builder, db, message) {
345
+ const result = await executeFirst(builder, db);
346
+ if (result === null)
347
+ throw ErrorFactory.createNotFoundError(message ?? 'Resource not found');
348
+ return result;
349
+ }
350
+ const compileInsert = (tableName, values, dialect) => {
351
+ const items = Array.isArray(values) ? values : [values];
352
+ if (items.length === 0) {
353
+ throw ErrorFactory.createDatabaseError('INSERT requires at least one column');
354
+ }
355
+ // Use keys from the first item
356
+ const keys = Object.keys(items[0] ?? {});
357
+ if (keys.length === 0) {
358
+ throw ErrorFactory.createDatabaseError('INSERT requires at least one column');
359
+ }
360
+ assertSafeIdentifierPath(tableName, 'table name');
361
+ for (const key of keys)
362
+ assertSafeIdentifier(key, 'insert column');
363
+ const colsSql = keys.map((k) => escapeIdentifier(k, dialect)).join(', ');
364
+ // Single row or multi-row placeholders
365
+ const rowPlaceholders = `(${keys.map(() => '?').join(', ')})`;
366
+ const placeholders = items.map(() => rowPlaceholders).join(', ');
367
+ const parameters = [];
368
+ for (const item of items) {
369
+ for (const key of keys) {
370
+ parameters.push(item[key]);
371
+ }
372
+ }
373
+ const sql = `INSERT INTO ${escapeIdentifier(tableName, dialect)} (${colsSql}) VALUES ${placeholders}`;
374
+ return { sql, parameters };
375
+ };
376
+ const compileUpdate = (tableName, values, conditions, dialect) => {
377
+ const keys = Object.keys(values);
378
+ if (keys.length === 0) {
379
+ throw ErrorFactory.createDatabaseError('UPDATE requires at least one column');
380
+ }
381
+ if (conditions.length === 0) {
382
+ throw ErrorFactory.createDatabaseError('UPDATE requires at least one WHERE clause');
383
+ }
384
+ assertSafeIdentifierPath(tableName, 'table name');
385
+ for (const key of keys)
386
+ assertSafeIdentifier(key, 'update column');
387
+ const setSql = keys.map((k) => `${escapeIdentifier(k, dialect)} = ?`).join(', ');
388
+ const setParams = keys.map((k) => values[k]);
389
+ const where = compileWhere(conditions, dialect);
390
+ const sql = `UPDATE ${escapeIdentifier(tableName, dialect)} SET ${setSql}${where.sql}`;
391
+ return { sql, parameters: [...setParams, ...where.parameters] };
392
+ };
393
+ const compileDelete = (tableName, conditions, dialect) => {
394
+ if (conditions.length === 0) {
395
+ throw ErrorFactory.createDatabaseError('DELETE requires at least one WHERE clause');
396
+ }
397
+ assertSafeIdentifierPath(tableName, 'table name');
398
+ const where = compileWhere(conditions, dialect);
399
+ const sql = `DELETE FROM ${escapeIdentifier(tableName, dialect)}${where.sql}`;
400
+ return { sql, parameters: where.parameters };
401
+ };
402
+ /**
403
+ * Execute query and return all results
404
+ */
405
+ async function executeGet(builder, db) {
406
+ if (!db)
407
+ throw ErrorFactory.createDatabaseError('Database instance not provided to QueryBuilder');
408
+ return (await db.query(builder.toSQL(), builder.getParameters(), builder.isReadOperation()));
409
+ }
410
+ const normalizePaginationValue = (value, label) => {
411
+ const n = Math.trunc(value);
412
+ if (!Number.isFinite(n) || n <= 0) {
413
+ throw ErrorFactory.createValidationError(`${label} must be a positive integer`);
414
+ }
415
+ return n;
416
+ };
417
+ async function executePaginate(builder, state, db, page, perPage, options) {
418
+ if (!db)
419
+ throw ErrorFactory.createDatabaseError('Database instance not provided to QueryBuilder');
420
+ const safePage = normalizePaginationValue(page, 'page');
421
+ const safePerPage = normalizePaginationValue(perPage, 'perPage');
422
+ const countQuery = buildCountQuery(state);
423
+ const countRows = (await db.query(countQuery.sql, countQuery.parameters, true));
424
+ const rawTotal = countRows.at(0)?.['total'];
425
+ const total = typeof rawTotal === 'bigint' ? Number(rawTotal) : Number(rawTotal ?? 0);
426
+ const sanitizedTotal = Number.isFinite(total) && total > 0 ? total : 0;
427
+ const offset = (safePage - 1) * safePerPage;
428
+ const prevLimit = state.limitValue;
429
+ const prevOffset = state.offsetValue;
430
+ state.limitValue = safePerPage;
431
+ state.offsetValue = offset;
432
+ const items = await executeGet(builder, db);
433
+ state.limitValue = prevLimit;
434
+ state.offsetValue = prevOffset;
435
+ return createPaginator({
436
+ items,
437
+ total: sanitizedTotal,
438
+ perPage: safePerPage,
439
+ currentPage: safePage,
440
+ baseUrl: options?.baseUrl,
441
+ query: options?.query,
442
+ });
443
+ }
444
+ /**
445
+ * Create the builder object
446
+ */
447
+ function attachSelectMethods(builder, state) {
448
+ const clearDefaultStar = () => {
449
+ if (state.selectColumns.length === 1 && state.selectColumns[0] === '*')
450
+ state.selectColumns = [];
451
+ };
452
+ builder.select = (...columns) => {
453
+ state.selectColumns = columns.length > 0 ? columns : ['*'];
454
+ return builder;
455
+ };
456
+ builder.selectAs = (column, alias) => {
457
+ const col = String(column).trim();
458
+ const a = String(alias).trim();
459
+ assertSafeIdentifierPath(col, 'select column');
460
+ assertSafeIdentifier(a, 'select alias');
461
+ clearDefaultStar();
462
+ state.selectColumns.push(`${col} AS ${a}`);
463
+ return builder;
464
+ };
465
+ builder.max = (column, alias = 'max') => {
466
+ const col = String(column).trim();
467
+ const a = String(alias).trim();
468
+ assertSafeIdentifierPath(col, 'aggregate argument');
469
+ assertSafeIdentifier(a, 'aggregate alias');
470
+ clearDefaultStar();
471
+ state.selectColumns.push(`MAX(${col}) AS ${a}`);
472
+ return builder;
473
+ };
474
+ }
475
+ function attachWhereMethods(builder, state) {
476
+ builder.where = (column, operator, value) => {
477
+ applyWhereCondition(state, column, operator, value);
478
+ return builder;
479
+ };
480
+ builder.andWhere = (column, operator, value) => builder.where(column, operator, value);
481
+ builder.orWhere = (column, operator, value) => builder.where(column, operator, value);
482
+ builder.whereIn = (column, values) => {
483
+ builder.where(column, 'IN', values);
484
+ return builder;
485
+ };
486
+ builder.whereNotIn = (column, values) => {
487
+ builder.where(column, 'NOT IN', values);
488
+ return builder;
489
+ };
490
+ }
491
+ function attachSoftDeleteMethods(builder, state) {
492
+ builder.withTrashed = () => {
493
+ if (state.softDelete === undefined) {
494
+ state.softDelete = { column: 'deleted_at', mode: 'include' };
495
+ }
496
+ else {
497
+ state.softDelete.mode = 'include';
498
+ }
499
+ return builder;
500
+ };
501
+ builder.onlyTrashed = () => {
502
+ if (state.softDelete === undefined) {
503
+ state.softDelete = { column: 'deleted_at', mode: 'only' };
504
+ }
505
+ else {
506
+ state.softDelete.mode = 'only';
507
+ }
508
+ return builder;
509
+ };
510
+ builder.withoutTrashed = () => {
511
+ if (state.softDelete === undefined) {
512
+ state.softDelete = { column: 'deleted_at', mode: 'exclude' };
513
+ }
514
+ else {
515
+ state.softDelete.mode = 'exclude';
516
+ }
517
+ return builder;
518
+ };
519
+ }
520
+ function attachJoinOrderPagingMethods(builder, state) {
521
+ builder.join = (tableJoin, on) => {
522
+ state.joins.push({ table: tableJoin, on });
523
+ return builder;
524
+ };
525
+ builder.leftJoin = (tableJoin, on) => builder.join(tableJoin, on);
526
+ builder.orderBy = (column, direction = 'ASC') => {
527
+ applyOrderByClause(state, column, direction);
528
+ return builder;
529
+ };
530
+ builder.limit = (count) => {
531
+ applyLimit(state, count);
532
+ return builder;
533
+ };
534
+ builder.offset = (count) => {
535
+ applyOffset(state, count);
536
+ return builder;
537
+ };
538
+ }
539
+ function attachIntrospectionMethods(builder, state) {
540
+ builder.getWhereClauses = () => state.whereConditions;
541
+ builder.getSelectColumns = () => state.selectColumns;
542
+ builder.getTable = () => state.tableName;
543
+ builder.getLimit = () => state.limitValue;
544
+ builder.getOffset = () => state.offsetValue;
545
+ builder.getOrderBy = () => state.orderByClauses.at(-1);
546
+ builder.getJoins = () => state.joins;
547
+ builder.isReadOperation = () => true;
548
+ builder.toSQL = () => buildSelectQuery(state).sql;
549
+ builder.getParameters = () => buildSelectQuery(state).parameters;
550
+ // Internal method for eager loading distribution
551
+ builder.getEagerLoads = () => state.eagerLoads;
552
+ builder.getEagerLoadConstraints = () => state.eagerLoadConstraints;
553
+ builder.getEagerLoadCounts = () => state.eagerLoadCounts;
554
+ }
555
+ function attachReadExecutionMethods(builder, state, db) {
556
+ builder.first = async () => executeFirst(builder, db);
557
+ builder.firstOrFail = async (message) => executeFirstOrFail(builder, db, message);
558
+ builder.get = async () => executeGet(builder, db);
559
+ builder.paginate = async (page, perPage, options) => executePaginate(builder, state, db, page, perPage, options);
560
+ // raw just returns results without any hydration logic in callers
561
+ builder.raw = async () => executeGet(builder, db);
562
+ }
563
+ const isNonEmptyString = (value) => typeof value === 'string' && value.length > 0;
564
+ const isKeyValue = (value) => typeof value === 'string' || typeof value === 'number';
565
+ const getModelIds = (models, key) => models.map((model) => model.getAttribute(key)).filter(isKeyValue);
566
+ const applyConstraint = (query, constraint) => {
567
+ if (typeof constraint === 'function') {
568
+ return constraint(query) ?? query;
569
+ }
570
+ return query;
571
+ };
572
+ /**
573
+ * Load relationship counts for a collection of models
574
+ */
575
+ async function loadCounts(models, relation, db) {
576
+ if (models.length === 0 || !db)
577
+ return;
578
+ const firstModel = models[0];
579
+ if (typeof firstModel[relation] !== 'function')
580
+ return;
581
+ const rel = firstModel[relation]();
582
+ if (rel === null || rel === undefined)
583
+ return;
584
+ const relType = rel.type;
585
+ // Only hasMany and belongsToMany support counts
586
+ if (relType !== 'hasMany' && relType !== 'belongsToMany') {
587
+ return;
588
+ }
589
+ const foreignKey = rel.foreignKey;
590
+ const localKey = rel.localKey;
591
+ const ids = getModelIds(models, localKey);
592
+ if (ids.length === 0)
593
+ return;
594
+ const dialect = typeof db.getType === 'function' ? db.getType() : undefined;
595
+ const queryCounts = async (sql, params) => {
596
+ const results = (await db.query(sql, params, true));
597
+ const map = new Map();
598
+ for (const row of results) {
599
+ let count;
600
+ if (typeof row.count === 'bigint') {
601
+ count = Number(row.count);
602
+ }
603
+ else if (typeof row.count === 'number') {
604
+ count = row.count;
605
+ }
606
+ else {
607
+ count = Number(row.count ?? 0);
608
+ }
609
+ map.set(row.key, count);
610
+ }
611
+ return map;
612
+ };
613
+ const setCountsOnModels = (countMap) => {
614
+ for (const model of models) {
615
+ const modelId = model.getAttribute(localKey);
616
+ if (isKeyValue(modelId)) {
617
+ const count = countMap.get(modelId) ?? 0;
618
+ model.setAttribute(`${relation}_count`, count);
619
+ }
620
+ else {
621
+ model.setAttribute(`${relation}_count`, 0);
622
+ }
623
+ }
624
+ };
625
+ if (relType === 'hasMany') {
626
+ const relatedModel = rel.related;
627
+ if (typeof relatedModel?.query !== 'function')
628
+ return;
629
+ const tempQuery = relatedModel.query();
630
+ const relatedTable = tempQuery.getTable();
631
+ const sql = `SELECT ${escapeIdentifier(foreignKey, dialect)} as key, COUNT(*) as count FROM ${escapeIdentifier(relatedTable, dialect)} WHERE ${escapeIdentifier(foreignKey, dialect)} IN (${ids.map(() => '?').join(',')}) GROUP BY ${escapeIdentifier(foreignKey, dialect)}`;
632
+ const countMap = await queryCounts(sql, ids);
633
+ setCountsOnModels(countMap);
634
+ return;
635
+ }
636
+ // belongsToMany
637
+ const throughTable = rel.throughTable;
638
+ const relatedKey = rel.relatedKey;
639
+ if (!isNonEmptyString(throughTable) || !isNonEmptyString(relatedKey))
640
+ return;
641
+ const sql = `SELECT ${escapeIdentifier(foreignKey, dialect)} as key, COUNT(*) as count FROM ${escapeIdentifier(throughTable, dialect)} WHERE ${escapeIdentifier(foreignKey, dialect)} IN (${ids.map(() => '?').join(',')}) GROUP BY ${escapeIdentifier(foreignKey, dialect)}`;
642
+ const countMap = await queryCounts(sql, ids);
643
+ setCountsOnModels(countMap);
644
+ }
645
+ const getRelationFromModels = (models, relation) => {
646
+ const firstModel = models[0];
647
+ const relationFactory = firstModel?.[relation];
648
+ if (typeof relationFactory !== 'function')
649
+ return null;
650
+ const rel = relationFactory();
651
+ return rel ?? null;
652
+ };
653
+ const assignMorphToGroup = (modelsByType, type, model) => {
654
+ const existing = modelsByType.get(type);
655
+ if (existing) {
656
+ existing.push(model);
657
+ }
658
+ else {
659
+ modelsByType.set(type, [model]);
660
+ }
661
+ };
662
+ const getModelTable = (model) => {
663
+ const tableGetter = model.getTable;
664
+ if (typeof tableGetter !== 'function')
665
+ return null;
666
+ const table = tableGetter();
667
+ return isNonEmptyString(table) ? table : null;
668
+ };
669
+ const buildSingleMap = (results, key) => {
670
+ const map = new Map();
671
+ for (const result of results) {
672
+ const resultId = result.getAttribute(key);
673
+ if (isKeyValue(resultId)) {
674
+ map.set(resultId, result);
675
+ }
676
+ }
677
+ return map;
678
+ };
679
+ const buildBucketMap = (results, key) => {
680
+ const buckets = new Map();
681
+ for (const result of results) {
682
+ const resultId = result.getAttribute(key);
683
+ if (isKeyValue(resultId)) {
684
+ const existing = buckets.get(resultId) ?? [];
685
+ existing.push(result);
686
+ buckets.set(resultId, existing);
687
+ }
688
+ }
689
+ return buckets;
690
+ };
691
+ const setRelationsFromBuckets = (models, relation, localKey, buckets, isMany) => {
692
+ for (const model of models) {
693
+ const modelId = model.getAttribute(localKey);
694
+ if (!isKeyValue(modelId)) {
695
+ model.setRelation(relation, isMany ? [] : null);
696
+ continue;
697
+ }
698
+ const bucket = buckets.get(modelId) ?? [];
699
+ if (isMany) {
700
+ model.setRelation(relation, bucket);
701
+ }
702
+ else {
703
+ model.setRelation(relation, bucket[0] ?? null);
704
+ }
705
+ }
706
+ };
707
+ const buildParentToThroughIds = (throughResults, throughForeignKey, secondLocalKey) => {
708
+ const parentToThroughIds = new Map();
709
+ for (const throughItem of throughResults) {
710
+ const parentId = throughItem.getAttribute(throughForeignKey);
711
+ const throughId = throughItem.getAttribute(secondLocalKey);
712
+ if (isKeyValue(parentId) && isKeyValue(throughId)) {
713
+ const existing = parentToThroughIds.get(parentId) ?? [];
714
+ existing.push(throughId);
715
+ parentToThroughIds.set(parentId, existing);
716
+ }
717
+ }
718
+ return parentToThroughIds;
719
+ };
720
+ const collectThroughRelated = (throughIds, relatedBuckets) => {
721
+ const aggregated = [];
722
+ for (const throughId of throughIds) {
723
+ const bucket = relatedBuckets.get(throughId);
724
+ if (bucket !== undefined) {
725
+ aggregated.push(...bucket);
726
+ }
727
+ }
728
+ return aggregated;
729
+ };
730
+ const setThroughRelations = (models, relation, localKey, parentToThroughIds, relatedBuckets, isMany) => {
731
+ for (const model of models) {
732
+ const modelId = model.getAttribute(localKey);
733
+ if (!isKeyValue(modelId)) {
734
+ model.setRelation(relation, isMany ? [] : null);
735
+ continue;
736
+ }
737
+ const throughIds = parentToThroughIds.get(modelId) ?? [];
738
+ if (throughIds.length === 0) {
739
+ model.setRelation(relation, isMany ? [] : null);
740
+ continue;
741
+ }
742
+ const aggregated = collectThroughRelated(throughIds, relatedBuckets);
743
+ if (isMany) {
744
+ model.setRelation(relation, aggregated);
745
+ }
746
+ else {
747
+ model.setRelation(relation, aggregated[0] ?? null);
748
+ }
749
+ }
750
+ };
751
+ const buildMorphToGroups = (models, morphType) => {
752
+ const modelsByType = new Map();
753
+ for (const model of models) {
754
+ const type = model.getAttribute(morphType);
755
+ if (isNonEmptyString(type)) {
756
+ assignMorphToGroup(modelsByType, type, model);
757
+ }
758
+ }
759
+ return modelsByType;
760
+ };
761
+ const setMorphToRelations = (models, relation, morphId, relatedMap) => {
762
+ for (const model of models) {
763
+ const modelId = model.getAttribute(morphId);
764
+ if (isKeyValue(modelId)) {
765
+ model.setRelation(relation, relatedMap.get(modelId) ?? null);
766
+ }
767
+ else {
768
+ model.setRelation(relation, null);
769
+ }
770
+ }
771
+ };
772
+ const loadMorphToGroup = async (relation, morphId, modelsOfType, relatedModel, constraint) => {
773
+ const ids = getModelIds(modelsOfType, morphId);
774
+ if (ids.length === 0)
775
+ return;
776
+ const relatedQuery = applyConstraint(relatedModel.query(), constraint);
777
+ const relatedResults = await relatedQuery.whereIn('id', ids).get();
778
+ const relatedMap = buildSingleMap(relatedResults, 'id');
779
+ setMorphToRelations(modelsOfType, relation, morphId, relatedMap);
780
+ };
781
+ const loadMorphToRelation = async (models, relation, rel, constraint) => {
782
+ if (rel.type !== 'morphTo')
783
+ return false;
784
+ const morphType = rel.morphType;
785
+ const morphId = rel.morphId;
786
+ const morphMap = rel.morphMap;
787
+ if (!isNonEmptyString(morphType) ||
788
+ !isNonEmptyString(morphId) ||
789
+ morphMap === null ||
790
+ morphMap === undefined) {
791
+ return true;
792
+ }
793
+ const modelsByType = buildMorphToGroups(models, morphType);
794
+ const tasks = [...modelsByType.entries()].map(async ([type, modelsOfType]) => {
795
+ const relatedModel = morphMap[type];
796
+ if (relatedModel === undefined || typeof relatedModel.query !== 'function') {
797
+ return Promise.resolve(); //NOSONAR
798
+ }
799
+ return loadMorphToGroup(relation, morphId, modelsOfType, relatedModel, constraint);
800
+ });
801
+ await Promise.all(tasks);
802
+ return true;
803
+ };
804
+ const prepareMorphOneMany = (models, rel, localKey, morphId, morphType) => {
805
+ if (!isNonEmptyString(morphType) || !isNonEmptyString(morphId) || !isNonEmptyString(localKey)) {
806
+ return { proceed: false };
807
+ }
808
+ const ids = getModelIds(models, localKey);
809
+ if (ids.length === 0)
810
+ return { proceed: false };
811
+ const relatedModel = rel.related;
812
+ if (typeof relatedModel.query !== 'function')
813
+ return { proceed: false };
814
+ const tableName = getModelTable(models[0]);
815
+ if (tableName === null)
816
+ return { proceed: false };
817
+ return { proceed: true, ids, relatedModel, tableName };
818
+ };
819
+ const loadMorphOneManyRelation = async (models, relation, rel, constraint) => {
820
+ if (rel.type !== 'morphOne' && rel.type !== 'morphMany')
821
+ return false;
822
+ const morphType = rel.morphType;
823
+ const morphId = rel.morphId;
824
+ const localKey = rel.localKey;
825
+ const prep = prepareMorphOneMany(models, rel, localKey, morphId, morphType);
826
+ if (!prep.proceed ||
827
+ prep.ids === undefined ||
828
+ prep.relatedModel === undefined ||
829
+ prep.tableName === undefined ||
830
+ !isNonEmptyString(morphType) ||
831
+ !isNonEmptyString(morphId) ||
832
+ !isNonEmptyString(localKey)) {
833
+ return true;
834
+ }
835
+ const ids = prep.ids;
836
+ const relatedModel = prep.relatedModel;
837
+ const tableName = prep.tableName;
838
+ const relatedQuery = applyConstraint(relatedModel.query(), constraint)
839
+ .where(morphType, '=', tableName)
840
+ .whereIn(morphId, ids);
841
+ const relatedResults = await relatedQuery.get();
842
+ const relatedBuckets = buildBucketMap(relatedResults, morphId);
843
+ const isMany = rel.type === 'morphMany';
844
+ setRelationsFromBuckets(models, relation, localKey, relatedBuckets, isMany);
845
+ return true;
846
+ };
847
+ const loadThroughRelation = async (models, relation, rel, constraint) => {
848
+ if (rel.type !== 'hasOneThrough' && rel.type !== 'hasManyThrough')
849
+ return false;
850
+ const through = rel.through;
851
+ const throughForeignKey = rel.throughForeignKey;
852
+ const secondLocalKey = rel.secondLocalKey;
853
+ const foreignKey = rel.foreignKey;
854
+ const localKey = rel.localKey;
855
+ if (through === undefined ||
856
+ through === null ||
857
+ !isNonEmptyString(throughForeignKey) ||
858
+ !isNonEmptyString(secondLocalKey) ||
859
+ !isNonEmptyString(foreignKey) ||
860
+ !isNonEmptyString(localKey)) {
861
+ return true;
862
+ }
863
+ const ids = getModelIds(models, localKey);
864
+ if (ids.length === 0)
865
+ return true;
866
+ const throughModel = through;
867
+ const relatedModel = rel.related;
868
+ if (typeof throughModel.getTable !== 'function' ||
869
+ typeof relatedModel.query !== 'function' ||
870
+ typeof relatedModel.getTable !== 'function') {
871
+ return true;
872
+ }
873
+ const throughTable = throughModel.getTable();
874
+ const relatedTable = relatedModel.getTable();
875
+ if (!isNonEmptyString(throughTable) || !isNonEmptyString(relatedTable))
876
+ return true;
877
+ let relatedQuery = relatedModel.query();
878
+ relatedQuery = applyConstraint(relatedQuery, constraint);
879
+ relatedQuery = relatedQuery
880
+ .join(throughTable, `${relatedTable}.${foreignKey} = ${throughTable}.${secondLocalKey}`)
881
+ .whereIn(`${throughTable}.${throughForeignKey}`, ids);
882
+ const relatedResults = await relatedQuery.get();
883
+ const throughQuery = throughModel.query().whereIn(throughForeignKey, ids);
884
+ const throughResults = await throughQuery.get();
885
+ const parentToThroughIds = buildParentToThroughIds(throughResults, throughForeignKey, secondLocalKey);
886
+ const relatedBuckets = buildBucketMap(relatedResults, foreignKey);
887
+ const isMany = rel.type === 'hasManyThrough';
888
+ setThroughRelations(models, relation, localKey, parentToThroughIds, relatedBuckets, isMany);
889
+ return true;
890
+ };
891
+ const loadStandardRelation = async (models, relation, rel, constraint) => {
892
+ const related = rel.related;
893
+ if (related === null || related === undefined)
894
+ return false;
895
+ const foreignKey = rel.foreignKey;
896
+ const localKey = rel.localKey;
897
+ if (!isNonEmptyString(foreignKey) || !isNonEmptyString(localKey))
898
+ return false;
899
+ const ids = getModelIds(models, localKey);
900
+ if (ids.length === 0)
901
+ return true;
902
+ const relatedModel = rel.related;
903
+ if (typeof relatedModel.query !== 'function')
904
+ return false;
905
+ const relatedQuery = applyConstraint(relatedModel.query(), constraint);
906
+ const relatedResults = await relatedQuery.whereIn(foreignKey, ids).get();
907
+ const relatedBuckets = buildBucketMap(relatedResults, foreignKey);
908
+ const isMany = rel.type === 'hasMany' || rel.type === 'belongsToMany';
909
+ setRelationsFromBuckets(models, relation, localKey, relatedBuckets, isMany);
910
+ return true;
911
+ };
912
+ const loadRelation = async (models, relation, constraint) => {
913
+ if (models.length === 0)
914
+ return;
915
+ const rel = getRelationFromModels(models, relation);
916
+ if (!rel)
917
+ return;
918
+ const type = rel.type;
919
+ if (type === 'morphTo') {
920
+ await loadMorphToRelation(models, relation, rel, constraint);
921
+ return;
922
+ }
923
+ if (type === 'morphOne' || type === 'morphMany') {
924
+ await loadMorphOneManyRelation(models, relation, rel, constraint);
925
+ return;
926
+ }
927
+ if (type === 'hasOneThrough' || type === 'hasManyThrough') {
928
+ await loadThroughRelation(models, relation, rel, constraint);
929
+ return;
930
+ }
931
+ await loadStandardRelation(models, relation, rel, constraint);
932
+ };
933
+ function attachRelationshipMethods(builder, state, db) {
934
+ builder.with = (relation) => {
935
+ if (typeof relation === 'string') {
936
+ state.eagerLoads.push(relation);
937
+ return builder;
938
+ }
939
+ for (const [name, constraint] of Object.entries(relation)) {
940
+ if (state.eagerLoads.includes(name) === false) {
941
+ state.eagerLoads.push(name);
942
+ }
943
+ state.eagerLoadConstraints[name] = constraint;
944
+ }
945
+ return builder;
946
+ };
947
+ builder.withCount = (relation) => {
948
+ state.eagerLoadCounts.push(relation);
949
+ return builder;
950
+ };
951
+ builder.load = async (models, relation, constraint) => {
952
+ await loadRelation(models, relation, constraint);
953
+ };
954
+ builder.loadCount = async (models, relation) => {
955
+ await loadCounts(models, relation, db);
956
+ };
957
+ }
958
+ function attachWriteMethods(builder, state, db) {
959
+ const ensureDb = () => {
960
+ if (!db)
961
+ throw ErrorFactory.createDatabaseError('Database instance not provided to QueryBuilder');
962
+ return db;
963
+ };
964
+ builder.insert = async (values) => {
965
+ const currentDb = ensureDb();
966
+ const tableName = state.tableName.trim();
967
+ if (tableName.length === 0)
968
+ throw ErrorFactory.createDatabaseError('INSERT requires a table name');
969
+ const compiled = compileInsert(tableName, values, state.dialect);
970
+ const items = Array.isArray(values) ? values : [values];
971
+ const result = await currentDb.execute(compiled.sql, compiled.parameters, false);
972
+ // Return InsertResult with metadata
973
+ // Note: lastInsertId typically only available for single-row inserts in most databases
974
+ // For multi-row inserts, use the insertedRecords array
975
+ return {
976
+ id: result.lastInsertId ??
977
+ (items.length === 1 ? (items[0]?.['id'] ?? null) : null),
978
+ affectedRows: result.rowCount,
979
+ insertedRecords: items,
980
+ };
981
+ };
982
+ builder.update = async (values) => {
983
+ const currentDb = ensureDb();
984
+ const tableName = state.tableName.trim();
985
+ if (tableName.length === 0)
986
+ throw ErrorFactory.createDatabaseError('UPDATE requires a table name');
987
+ const compiled = compileUpdate(tableName, values, state.whereConditions, state.dialect);
988
+ await currentDb.query(compiled.sql, compiled.parameters, false);
989
+ };
990
+ builder.delete = async () => {
991
+ const currentDb = ensureDb();
992
+ const tableName = state.tableName.trim();
993
+ if (tableName.length === 0)
994
+ throw ErrorFactory.createDatabaseError('DELETE requires a table name');
995
+ const compiled = compileDelete(tableName, state.whereConditions, state.dialect);
996
+ await currentDb.query(compiled.sql, compiled.parameters, false);
997
+ };
998
+ }
999
+ function createBuilder(state, db) {
1000
+ const builder = {};
1001
+ attachSelectMethods(builder, state);
1002
+ attachWhereMethods(builder, state);
1003
+ attachSoftDeleteMethods(builder, state);
1004
+ attachJoinOrderPagingMethods(builder, state);
1005
+ attachIntrospectionMethods(builder, state);
1006
+ attachReadExecutionMethods(builder, state, db);
1007
+ attachRelationshipMethods(builder, state, db);
1008
+ attachWriteMethods(builder, state, db);
1009
+ return builder;
1010
+ }
1011
+ /**
1012
+ * QueryBuilder - Type-Safe Query Builder
1013
+ * Sealed namespace object following Pattern 2
1014
+ *
1015
+ * @see FRAMEWORK_REFACTOR_FUNCTION_PATTERN.md for Pattern 2 details
1016
+ */
1017
+ export const QueryBuilder = Object.freeze({
1018
+ /**
1019
+ * Create a new query builder instance
1020
+ */
1021
+ create(tableOrDb, db, options = {}) {
1022
+ const hasTable = typeof tableOrDb === 'string';
1023
+ const tableName = hasTable ? String(tableOrDb).trim() : '';
1024
+ const database = hasTable ? db : tableOrDb;
1025
+ if (tableName.length > 0) {
1026
+ assertSafeIdentifierPath(tableName, 'table name');
1027
+ }
1028
+ const state = {
1029
+ tableName,
1030
+ whereConditions: [],
1031
+ selectColumns: ['*'],
1032
+ orderByClauses: [],
1033
+ joins: [],
1034
+ eagerLoads: [],
1035
+ eagerLoadConstraints: {},
1036
+ eagerLoadCounts: [],
1037
+ dialect: typeof database?.getType === 'function' ? database.getType() : undefined,
1038
+ };
1039
+ if (options.softDeleteColumn !== undefined && options.softDeleteColumn.trim().length > 0) {
1040
+ state.softDelete = {
1041
+ column: options.softDeleteColumn.trim(),
1042
+ mode: options.softDeleteMode ?? 'exclude',
1043
+ };
1044
+ }
1045
+ return createBuilder(state, database);
1046
+ },
1047
+ /**
1048
+ * Ping the database connection.
1049
+ *
1050
+ * This is intentionally a tiny, dependency-free check that can be reused by
1051
+ * health/readiness endpoints without embedding SQL in route handlers.
1052
+ */
1053
+ async ping(db) {
1054
+ // Use the QueryBuilder itself to avoid embedding raw SQL at call sites.
1055
+ await QueryBuilder.create('', db).select('1').get();
1056
+ },
1057
+ });