@zintrust/core 0.1.28 → 0.1.30

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 (1501) 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/index.js +212 -0
  476. package/src/lang/lang.d.ts +23 -0
  477. package/src/lang/lang.d.ts.map +1 -0
  478. package/src/lang/lang.js +22 -0
  479. package/src/microservices/MicroserviceBootstrap.d.ts +75 -0
  480. package/src/microservices/MicroserviceBootstrap.d.ts.map +1 -0
  481. package/src/microservices/MicroserviceBootstrap.js +288 -0
  482. package/src/microservices/MicroserviceGenerator.d.ts +27 -0
  483. package/src/microservices/MicroserviceGenerator.d.ts.map +1 -0
  484. package/src/microservices/MicroserviceGenerator.js +436 -0
  485. package/src/microservices/MicroserviceManager.d.ts +68 -0
  486. package/src/microservices/MicroserviceManager.d.ts.map +1 -0
  487. package/src/microservices/MicroserviceManager.js +268 -0
  488. package/src/microservices/PostgresAdapter.d.ts +90 -0
  489. package/src/microservices/PostgresAdapter.d.ts.map +1 -0
  490. package/src/microservices/PostgresAdapter.js +306 -0
  491. package/src/microservices/RequestTracingMiddleware.d.ts +41 -0
  492. package/src/microservices/RequestTracingMiddleware.d.ts.map +1 -0
  493. package/src/microservices/RequestTracingMiddleware.js +125 -0
  494. package/src/microservices/ServiceAuthMiddleware.d.ts +58 -0
  495. package/src/microservices/ServiceAuthMiddleware.d.ts.map +1 -0
  496. package/src/microservices/ServiceAuthMiddleware.js +240 -0
  497. package/src/microservices/ServiceBundler.d.ts +45 -0
  498. package/src/microservices/ServiceBundler.d.ts.map +1 -0
  499. package/src/microservices/ServiceBundler.js +299 -0
  500. package/src/microservices/ServiceHealthMonitor.d.ts +96 -0
  501. package/src/microservices/ServiceHealthMonitor.d.ts.map +1 -0
  502. package/src/microservices/ServiceHealthMonitor.js +383 -0
  503. package/src/middleware/AuthMiddleware.d.ts +10 -0
  504. package/src/middleware/AuthMiddleware.d.ts.map +1 -0
  505. package/src/middleware/AuthMiddleware.js +16 -0
  506. package/src/middleware/CsrfMiddleware.d.ts +29 -0
  507. package/src/middleware/CsrfMiddleware.d.ts.map +1 -0
  508. package/src/middleware/CsrfMiddleware.js +132 -0
  509. package/src/middleware/ErrorHandlerMiddleware.d.ts +6 -0
  510. package/src/middleware/ErrorHandlerMiddleware.d.ts.map +1 -0
  511. package/src/middleware/ErrorHandlerMiddleware.js +41 -0
  512. package/src/middleware/JwtAuthMiddleware.d.ts +11 -0
  513. package/src/middleware/JwtAuthMiddleware.d.ts.map +1 -0
  514. package/src/middleware/JwtAuthMiddleware.js +73 -0
  515. package/src/middleware/LoggingMiddleware.d.ts +9 -0
  516. package/src/middleware/LoggingMiddleware.d.ts.map +1 -0
  517. package/src/middleware/LoggingMiddleware.js +41 -0
  518. package/src/middleware/MiddlewareStack.d.ts +27 -0
  519. package/src/middleware/MiddlewareStack.d.ts.map +1 -0
  520. package/src/middleware/MiddlewareStack.js +43 -0
  521. package/src/middleware/RateLimiter.d.ts +57 -0
  522. package/src/middleware/RateLimiter.d.ts.map +1 -0
  523. package/src/middleware/RateLimiter.js +270 -0
  524. package/src/middleware/SanitizeBodyMiddleware.d.ts +12 -0
  525. package/src/middleware/SanitizeBodyMiddleware.d.ts.map +1 -0
  526. package/src/middleware/SanitizeBodyMiddleware.js +31 -0
  527. package/src/middleware/SecurityMiddleware.d.ts +33 -0
  528. package/src/middleware/SecurityMiddleware.d.ts.map +1 -0
  529. package/src/middleware/SecurityMiddleware.js +106 -0
  530. package/src/middleware/SessionMiddleware.d.ts +8 -0
  531. package/src/middleware/SessionMiddleware.d.ts.map +1 -0
  532. package/src/middleware/SessionMiddleware.js +15 -0
  533. package/src/middleware/ValidationMiddleware.d.ts +25 -0
  534. package/src/middleware/ValidationMiddleware.d.ts.map +1 -0
  535. package/src/middleware/ValidationMiddleware.js +251 -0
  536. package/src/middleware/index.d.ts +11 -0
  537. package/src/middleware/index.d.ts.map +1 -0
  538. package/src/middleware/index.js +10 -0
  539. package/src/migrations/MigrationDiscovery.d.ts +5 -0
  540. package/src/migrations/MigrationDiscovery.d.ts.map +1 -0
  541. package/src/migrations/MigrationDiscovery.js +16 -0
  542. package/src/migrations/MigrationLoader.d.ts +5 -0
  543. package/src/migrations/MigrationLoader.d.ts.map +1 -0
  544. package/src/migrations/MigrationLoader.js +43 -0
  545. package/src/migrations/MigrationLock.d.ts +4 -0
  546. package/src/migrations/MigrationLock.d.ts.map +1 -0
  547. package/src/migrations/MigrationLock.js +33 -0
  548. package/src/migrations/Migrator.d.ts +23 -0
  549. package/src/migrations/Migrator.d.ts.map +1 -0
  550. package/src/migrations/Migrator.js +4 -0
  551. package/src/migrations/MigratorFactory.d.ts +25 -0
  552. package/src/migrations/MigratorFactory.d.ts.map +1 -0
  553. package/src/migrations/MigratorFactory.js +339 -0
  554. package/src/migrations/enum/index.d.ts +93 -0
  555. package/src/migrations/enum/index.d.ts.map +1 -0
  556. package/src/migrations/enum/index.js +92 -0
  557. package/src/migrations/schema/Blueprint.d.ts +5 -0
  558. package/src/migrations/schema/Blueprint.d.ts.map +1 -0
  559. package/src/migrations/schema/Blueprint.js +191 -0
  560. package/src/migrations/schema/Schema.d.ts +8 -0
  561. package/src/migrations/schema/Schema.d.ts.map +1 -0
  562. package/src/migrations/schema/Schema.js +142 -0
  563. package/src/migrations/schema/SchemaCompiler.d.ts +20 -0
  564. package/src/migrations/schema/SchemaCompiler.d.ts.map +1 -0
  565. package/src/migrations/schema/SchemaCompiler.js +270 -0
  566. package/src/migrations/schema/index.d.ts +5 -0
  567. package/src/migrations/schema/index.d.ts.map +1 -0
  568. package/src/migrations/schema/index.js +3 -0
  569. package/src/migrations/schema/types.d.ts +87 -0
  570. package/src/migrations/schema/types.d.ts.map +1 -0
  571. package/src/migrations/schema/types.js +1 -0
  572. package/src/migrations/types.d.ts +45 -0
  573. package/src/migrations/types.d.ts.map +1 -0
  574. package/src/migrations/types.js +1 -0
  575. package/src/node-singletons/async_hooks.d.ts +9 -0
  576. package/src/node-singletons/async_hooks.d.ts.map +1 -0
  577. package/src/node-singletons/async_hooks.js +8 -0
  578. package/src/node-singletons/child-process.d.ts +7 -0
  579. package/src/node-singletons/child-process.d.ts.map +1 -0
  580. package/src/node-singletons/child-process.js +6 -0
  581. package/src/node-singletons/crypto.d.ts +7 -0
  582. package/src/node-singletons/crypto.d.ts.map +1 -0
  583. package/src/node-singletons/crypto.js +6 -0
  584. package/src/node-singletons/events.d.ts +7 -0
  585. package/src/node-singletons/events.d.ts.map +1 -0
  586. package/src/node-singletons/events.js +6 -0
  587. package/src/node-singletons/fs.d.ts +12 -0
  588. package/src/node-singletons/fs.d.ts.map +1 -0
  589. package/src/node-singletons/fs.js +14 -0
  590. package/src/node-singletons/http.d.ts +8 -0
  591. package/src/node-singletons/http.d.ts.map +1 -0
  592. package/src/node-singletons/http.js +6 -0
  593. package/src/node-singletons/index.d.ts +35 -0
  594. package/src/node-singletons/index.d.ts.map +1 -0
  595. package/src/node-singletons/index.js +36 -0
  596. package/src/node-singletons/module.d.ts +9 -0
  597. package/src/node-singletons/module.d.ts.map +1 -0
  598. package/src/node-singletons/module.js +9 -0
  599. package/src/node-singletons/net.d.ts +9 -0
  600. package/src/node-singletons/net.d.ts.map +1 -0
  601. package/src/node-singletons/net.js +8 -0
  602. package/src/node-singletons/os.d.ts +18 -0
  603. package/src/node-singletons/os.d.ts.map +1 -0
  604. package/src/node-singletons/os.js +17 -0
  605. package/src/node-singletons/path.d.ts +9 -0
  606. package/src/node-singletons/path.d.ts.map +1 -0
  607. package/src/node-singletons/path.js +8 -0
  608. package/src/node-singletons/perf-hooks.d.ts +9 -0
  609. package/src/node-singletons/perf-hooks.d.ts.map +1 -0
  610. package/src/node-singletons/perf-hooks.js +8 -0
  611. package/src/node-singletons/process.d.ts +23 -0
  612. package/src/node-singletons/process.d.ts.map +1 -0
  613. package/src/node-singletons/process.js +8 -0
  614. package/src/node-singletons/readline.d.ts +10 -0
  615. package/src/node-singletons/readline.d.ts.map +1 -0
  616. package/src/node-singletons/readline.js +8 -0
  617. package/src/node-singletons/tls.d.ts +9 -0
  618. package/src/node-singletons/tls.d.ts.map +1 -0
  619. package/src/node-singletons/tls.js +8 -0
  620. package/src/node-singletons/url.d.ts +9 -0
  621. package/src/node-singletons/url.d.ts.map +1 -0
  622. package/src/node-singletons/url.js +8 -0
  623. package/src/node-singletons/util.d.ts +6 -0
  624. package/src/node-singletons/util.d.ts.map +1 -0
  625. package/src/node-singletons/util.js +5 -0
  626. package/src/node.d.ts +9 -0
  627. package/src/node.d.ts.map +1 -0
  628. package/src/node.js +13 -0
  629. package/src/observability/OpenTelemetry.d.ts +62 -0
  630. package/src/observability/OpenTelemetry.d.ts.map +1 -0
  631. package/src/observability/OpenTelemetry.js +222 -0
  632. package/src/observability/PrometheusMetrics.d.ts +25 -0
  633. package/src/observability/PrometheusMetrics.d.ts.map +1 -0
  634. package/src/observability/PrometheusMetrics.js +114 -0
  635. package/src/openapi/OpenApiGenerator.d.ts +68 -0
  636. package/src/openapi/OpenApiGenerator.d.ts.map +1 -0
  637. package/src/openapi/OpenApiGenerator.js +287 -0
  638. package/src/orm/ConnectionManager.d.ts +125 -0
  639. package/src/orm/ConnectionManager.d.ts.map +1 -0
  640. package/src/orm/ConnectionManager.js +571 -0
  641. package/src/orm/Database.d.ts +35 -0
  642. package/src/orm/Database.d.ts.map +1 -0
  643. package/src/orm/Database.js +350 -0
  644. package/src/orm/DatabaseAdapter.d.ts +117 -0
  645. package/src/orm/DatabaseAdapter.d.ts.map +1 -0
  646. package/src/orm/DatabaseAdapter.js +57 -0
  647. package/src/orm/DatabaseAdapterRegistry.d.ts +14 -0
  648. package/src/orm/DatabaseAdapterRegistry.d.ts.map +1 -0
  649. package/src/orm/DatabaseAdapterRegistry.js +21 -0
  650. package/src/orm/DatabaseRuntimeRegistration.d.ts +17 -0
  651. package/src/orm/DatabaseRuntimeRegistration.d.ts.map +1 -0
  652. package/src/orm/DatabaseRuntimeRegistration.js +73 -0
  653. package/src/orm/Model.d.ts +135 -0
  654. package/src/orm/Model.d.ts.map +1 -0
  655. package/src/orm/Model.js +533 -0
  656. package/src/orm/QueryBuilder.d.ts +98 -0
  657. package/src/orm/QueryBuilder.d.ts.map +1 -0
  658. package/src/orm/QueryBuilder.js +1057 -0
  659. package/src/orm/Relationships.d.ts +119 -0
  660. package/src/orm/Relationships.d.ts.map +1 -0
  661. package/src/orm/Relationships.js +306 -0
  662. package/src/orm/Schema.d.ts +123 -0
  663. package/src/orm/Schema.d.ts.map +1 -0
  664. package/src/orm/Schema.js +169 -0
  665. package/src/orm/SchemaCompiler.d.ts +9 -0
  666. package/src/orm/SchemaCompiler.d.ts.map +1 -0
  667. package/src/orm/SchemaCompiler.js +145 -0
  668. package/src/orm/adapters/D1Adapter.d.ts +15 -0
  669. package/src/orm/adapters/D1Adapter.d.ts.map +1 -0
  670. package/src/orm/adapters/D1Adapter.js +132 -0
  671. package/src/orm/adapters/D1RemoteAdapter.d.ts +11 -0
  672. package/src/orm/adapters/D1RemoteAdapter.d.ts.map +1 -0
  673. package/src/orm/adapters/D1RemoteAdapter.js +163 -0
  674. package/src/orm/adapters/MySQLAdapter.d.ts +16 -0
  675. package/src/orm/adapters/MySQLAdapter.d.ts.map +1 -0
  676. package/src/orm/adapters/MySQLAdapter.js +109 -0
  677. package/src/orm/adapters/PostgreSQLAdapter.d.ts +16 -0
  678. package/src/orm/adapters/PostgreSQLAdapter.d.ts.map +1 -0
  679. package/src/orm/adapters/PostgreSQLAdapter.js +108 -0
  680. package/src/orm/adapters/SQLServerAdapter.d.ts +16 -0
  681. package/src/orm/adapters/SQLServerAdapter.d.ts.map +1 -0
  682. package/src/orm/adapters/SQLServerAdapter.js +84 -0
  683. package/src/orm/adapters/SQLiteAdapter.d.ts +11 -0
  684. package/src/orm/adapters/SQLiteAdapter.d.ts.map +1 -0
  685. package/src/orm/adapters/SQLiteAdapter.js +225 -0
  686. package/src/orm/maintenance/SqliteMaintenance.d.ts +5 -0
  687. package/src/orm/maintenance/SqliteMaintenance.d.ts.map +1 -0
  688. package/src/orm/maintenance/SqliteMaintenance.js +14 -0
  689. package/src/orm/migrations/MigrationStore.d.ts +38 -0
  690. package/src/orm/migrations/MigrationStore.d.ts.map +1 -0
  691. package/src/orm/migrations/MigrationStore.js +157 -0
  692. package/src/performance/Benchmark.d.ts +87 -0
  693. package/src/performance/Benchmark.d.ts.map +1 -0
  694. package/src/performance/Benchmark.js +307 -0
  695. package/src/performance/CodeGenerationBenchmark.d.ts +23 -0
  696. package/src/performance/CodeGenerationBenchmark.d.ts.map +1 -0
  697. package/src/performance/CodeGenerationBenchmark.js +249 -0
  698. package/src/performance/Optimizer.d.ts +100 -0
  699. package/src/performance/Optimizer.d.ts.map +1 -0
  700. package/src/performance/Optimizer.js +627 -0
  701. package/src/performance/establish-baseline.d.ts +9 -0
  702. package/src/performance/establish-baseline.d.ts.map +1 -0
  703. package/src/performance/establish-baseline.js +55 -0
  704. package/src/profiling/MemoryProfiler.d.ts +32 -0
  705. package/src/profiling/MemoryProfiler.d.ts.map +1 -0
  706. package/src/profiling/MemoryProfiler.js +84 -0
  707. package/src/profiling/N1Detector.d.ts +16 -0
  708. package/src/profiling/N1Detector.d.ts.map +1 -0
  709. package/src/profiling/N1Detector.js +120 -0
  710. package/src/profiling/QueryLogger.d.ts +107 -0
  711. package/src/profiling/QueryLogger.d.ts.map +1 -0
  712. package/src/profiling/QueryLogger.js +148 -0
  713. package/src/profiling/RequestProfiler.d.ts +30 -0
  714. package/src/profiling/RequestProfiler.d.ts.map +1 -0
  715. package/src/profiling/RequestProfiler.js +96 -0
  716. package/src/profiling/types.d.ts +77 -0
  717. package/src/profiling/types.d.ts.map +1 -0
  718. package/src/profiling/types.js +5 -0
  719. package/src/routes/CoreRoutes.d.ts +12 -0
  720. package/src/routes/CoreRoutes.d.ts.map +1 -0
  721. package/src/routes/CoreRoutes.js +39 -0
  722. package/src/routes/RouteRegistry.d.ts +39 -0
  723. package/src/routes/RouteRegistry.d.ts.map +1 -0
  724. package/src/routes/RouteRegistry.js +44 -0
  725. package/src/routes/Router.d.ts +73 -0
  726. package/src/routes/Router.d.ts.map +1 -0
  727. package/src/routes/Router.js +250 -0
  728. package/src/routes/common.d.ts +15 -0
  729. package/src/routes/common.d.ts.map +1 -0
  730. package/src/routes/common.js +47 -0
  731. package/src/routes/doc.d.ts +27 -0
  732. package/src/routes/doc.d.ts.map +1 -0
  733. package/src/routes/doc.js +110 -0
  734. package/src/routes/error.d.ts +21 -0
  735. package/src/routes/error.d.ts.map +1 -0
  736. package/src/routes/error.js +127 -0
  737. package/src/routes/errorPages.d.ts +14 -0
  738. package/src/routes/errorPages.d.ts.map +1 -0
  739. package/src/routes/errorPages.js +103 -0
  740. package/src/routes/health.d.ts +6 -0
  741. package/src/routes/health.d.ts.map +1 -0
  742. package/src/routes/health.js +5 -0
  743. package/src/routes/metrics.d.ts +9 -0
  744. package/src/routes/metrics.d.ts.map +1 -0
  745. package/src/routes/metrics.js +20 -0
  746. package/src/routes/openapi.d.ts +9 -0
  747. package/src/routes/openapi.d.ts.map +1 -0
  748. package/src/routes/openapi.js +76 -0
  749. package/src/routes/publicRoot.d.ts +27 -0
  750. package/src/routes/publicRoot.d.ts.map +1 -0
  751. package/src/routes/publicRoot.js +112 -0
  752. package/src/runtime/PluginAutoImports.d.ts +21 -0
  753. package/src/runtime/PluginAutoImports.d.ts.map +1 -0
  754. package/src/runtime/PluginAutoImports.js +53 -0
  755. package/src/runtime/PluginManager.d.ts +28 -0
  756. package/src/runtime/PluginManager.d.ts.map +1 -0
  757. package/src/runtime/PluginManager.js +373 -0
  758. package/src/runtime/PluginRegistry.d.ts +27 -0
  759. package/src/runtime/PluginRegistry.d.ts.map +1 -0
  760. package/src/runtime/PluginRegistry.js +183 -0
  761. package/src/runtime/RuntimeAdapter.d.ts +126 -0
  762. package/src/runtime/RuntimeAdapter.d.ts.map +1 -0
  763. package/src/runtime/RuntimeAdapter.js +146 -0
  764. package/src/runtime/StartupConfigFileRegistry.d.ts +22 -0
  765. package/src/runtime/StartupConfigFileRegistry.d.ts.map +1 -0
  766. package/src/runtime/StartupConfigFileRegistry.js +44 -0
  767. package/src/runtime/adapters/CloudflareAdapter.d.ts +43 -0
  768. package/src/runtime/adapters/CloudflareAdapter.d.ts.map +1 -0
  769. package/src/runtime/adapters/CloudflareAdapter.js +175 -0
  770. package/src/runtime/adapters/DenoAdapter.d.ts +30 -0
  771. package/src/runtime/adapters/DenoAdapter.d.ts.map +1 -0
  772. package/src/runtime/adapters/DenoAdapter.js +193 -0
  773. package/src/runtime/adapters/FargateAdapter.d.ts +40 -0
  774. package/src/runtime/adapters/FargateAdapter.d.ts.map +1 -0
  775. package/src/runtime/adapters/FargateAdapter.js +157 -0
  776. package/src/runtime/adapters/LambdaAdapter.d.ts +13 -0
  777. package/src/runtime/adapters/LambdaAdapter.d.ts.map +1 -0
  778. package/src/runtime/adapters/LambdaAdapter.js +306 -0
  779. package/src/runtime/adapters/NodeServerAdapter.d.ts +16 -0
  780. package/src/runtime/adapters/NodeServerAdapter.d.ts.map +1 -0
  781. package/src/runtime/adapters/NodeServerAdapter.js +200 -0
  782. package/src/runtime/getKernel.d.ts +9 -0
  783. package/src/runtime/getKernel.d.ts.map +1 -0
  784. package/src/runtime/getKernel.js +27 -0
  785. package/src/runtime/useFileLoader.d.ts +26 -0
  786. package/src/runtime/useFileLoader.d.ts.map +1 -0
  787. package/src/runtime/useFileLoader.js +188 -0
  788. package/src/scheduler/ScheduleRunner.d.ts +18 -0
  789. package/src/scheduler/ScheduleRunner.d.ts.map +1 -0
  790. package/src/scheduler/ScheduleRunner.js +155 -0
  791. package/src/scheduler/index.d.ts +3 -0
  792. package/src/scheduler/index.d.ts.map +1 -0
  793. package/src/scheduler/index.js +1 -0
  794. package/src/scheduler/types.d.ts +16 -0
  795. package/src/scheduler/types.d.ts.map +1 -0
  796. package/src/scheduler/types.js +4 -0
  797. package/src/schedules/index.d.ts +2 -0
  798. package/src/schedules/index.d.ts.map +1 -0
  799. package/src/schedules/index.js +1 -0
  800. package/src/schedules/log-cleanup.d.ts +4 -0
  801. package/src/schedules/log-cleanup.d.ts.map +1 -0
  802. package/src/schedules/log-cleanup.js +18 -0
  803. package/src/scripts/GenerateEnvArtifacts.d.ts +13 -0
  804. package/src/scripts/GenerateEnvArtifacts.d.ts.map +1 -0
  805. package/src/scripts/GenerateEnvArtifacts.js +171 -0
  806. package/src/scripts/TemplateImportsCheck.d.ts +2 -0
  807. package/src/scripts/TemplateImportsCheck.d.ts.map +1 -0
  808. package/src/scripts/TemplateImportsCheck.js +151 -0
  809. package/src/scripts/TemplateSync.d.ts +7 -0
  810. package/src/scripts/TemplateSync.d.ts.map +1 -0
  811. package/src/scripts/TemplateSync.js +399 -0
  812. package/src/security/CsrfTokenManager.d.ts +28 -0
  813. package/src/security/CsrfTokenManager.d.ts.map +1 -0
  814. package/src/security/CsrfTokenManager.js +78 -0
  815. package/src/security/EncryptedEnvelope.d.ts +77 -0
  816. package/src/security/EncryptedEnvelope.d.ts.map +1 -0
  817. package/src/security/EncryptedEnvelope.js +256 -0
  818. package/src/security/Encryptor.d.ts +15 -0
  819. package/src/security/Encryptor.d.ts.map +1 -0
  820. package/src/security/Encryptor.js +199 -0
  821. package/src/security/Hash.d.ts +14 -0
  822. package/src/security/Hash.d.ts.map +1 -0
  823. package/src/security/Hash.js +81 -0
  824. package/src/security/JwtManager.d.ts +42 -0
  825. package/src/security/JwtManager.d.ts.map +1 -0
  826. package/src/security/JwtManager.js +262 -0
  827. package/src/security/PasswordResetTokenBroker.d.ts +39 -0
  828. package/src/security/PasswordResetTokenBroker.d.ts.map +1 -0
  829. package/src/security/PasswordResetTokenBroker.js +131 -0
  830. package/src/security/Sanitizer.d.ts +76 -0
  831. package/src/security/Sanitizer.d.ts.map +1 -0
  832. package/src/security/Sanitizer.js +412 -0
  833. package/src/security/SignedRequest.d.ts +53 -0
  834. package/src/security/SignedRequest.d.ts.map +1 -0
  835. package/src/security/SignedRequest.js +172 -0
  836. package/src/security/StartupSecretValidation.d.ts +20 -0
  837. package/src/security/StartupSecretValidation.d.ts.map +1 -0
  838. package/src/security/StartupSecretValidation.js +139 -0
  839. package/src/security/TokenRevocation.d.ts +7 -0
  840. package/src/security/TokenRevocation.d.ts.map +1 -0
  841. package/src/security/TokenRevocation.js +57 -0
  842. package/src/security/UrlValidator.d.ts +20 -0
  843. package/src/security/UrlValidator.d.ts.map +1 -0
  844. package/src/security/UrlValidator.js +41 -0
  845. package/src/security/Xss.d.ts +14 -0
  846. package/src/security/Xss.d.ts.map +1 -0
  847. package/src/security/Xss.js +57 -0
  848. package/src/security/XssProtection.d.ts +24 -0
  849. package/src/security/XssProtection.d.ts.map +1 -0
  850. package/src/security/XssProtection.js +324 -0
  851. package/src/seeders/SeederDiscovery.d.ts +5 -0
  852. package/src/seeders/SeederDiscovery.d.ts.map +1 -0
  853. package/src/seeders/SeederDiscovery.js +21 -0
  854. package/src/seeders/SeederLoader.d.ts +5 -0
  855. package/src/seeders/SeederLoader.d.ts.map +1 -0
  856. package/src/seeders/SeederLoader.js +60 -0
  857. package/src/seeders/types.d.ts +18 -0
  858. package/src/seeders/types.d.ts.map +1 -0
  859. package/src/seeders/types.js +1 -0
  860. package/src/session/SessionManager.d.ts +39 -0
  861. package/src/session/SessionManager.d.ts.map +1 -0
  862. package/src/session/SessionManager.js +149 -0
  863. package/src/session/index.d.ts +3 -0
  864. package/src/session/index.d.ts.map +1 -0
  865. package/src/session/index.js +1 -0
  866. package/src/start.d.ts +21 -0
  867. package/src/start.d.ts.map +1 -0
  868. package/src/start.js +59 -0
  869. package/src/templates/TemplateRegistry.d.ts +40 -0
  870. package/src/templates/TemplateRegistry.d.ts.map +1 -0
  871. package/src/templates/TemplateRegistry.js +78 -0
  872. package/src/testing/TestEnvironment.d.ts +40 -0
  873. package/src/testing/TestEnvironment.d.ts.map +1 -0
  874. package/src/testing/TestEnvironment.js +141 -0
  875. package/src/testing/TestHttp.d.ts +29 -0
  876. package/src/testing/TestHttp.d.ts.map +1 -0
  877. package/src/testing/TestHttp.js +96 -0
  878. package/src/testing/index.d.ts +5 -0
  879. package/src/testing/index.d.ts.map +1 -0
  880. package/src/testing/index.js +2 -0
  881. package/src/time/DateTime.d.ts +181 -0
  882. package/src/time/DateTime.d.ts.map +1 -0
  883. package/src/time/DateTime.js +300 -0
  884. package/src/time/index.d.ts +7 -0
  885. package/src/time/index.d.ts.map +1 -0
  886. package/src/time/index.js +5 -0
  887. package/src/toolkit/Secrets/EnvFile.d.ts +15 -0
  888. package/src/toolkit/Secrets/EnvFile.d.ts.map +1 -0
  889. package/src/toolkit/Secrets/EnvFile.js +63 -0
  890. package/src/toolkit/Secrets/Manifest.d.ts +24 -0
  891. package/src/toolkit/Secrets/Manifest.d.ts.map +1 -0
  892. package/src/toolkit/Secrets/Manifest.js +71 -0
  893. package/src/toolkit/Secrets/index.d.ts +42 -0
  894. package/src/toolkit/Secrets/index.d.ts.map +1 -0
  895. package/src/toolkit/Secrets/index.js +123 -0
  896. package/src/toolkit/Secrets/providers/AwsSecretsManager.d.ts +14 -0
  897. package/src/toolkit/Secrets/providers/AwsSecretsManager.d.ts.map +1 -0
  898. package/src/toolkit/Secrets/providers/AwsSecretsManager.js +132 -0
  899. package/src/toolkit/Secrets/providers/CloudflareKv.d.ts +9 -0
  900. package/src/toolkit/Secrets/providers/CloudflareKv.d.ts.map +1 -0
  901. package/src/toolkit/Secrets/providers/CloudflareKv.js +74 -0
  902. package/src/tools/broadcast/Broadcast.d.ts +17 -0
  903. package/src/tools/broadcast/Broadcast.d.ts.map +1 -0
  904. package/src/tools/broadcast/Broadcast.js +84 -0
  905. package/src/tools/broadcast/BroadcastRegistry.d.ts +15 -0
  906. package/src/tools/broadcast/BroadcastRegistry.d.ts.map +1 -0
  907. package/src/tools/broadcast/BroadcastRegistry.js +29 -0
  908. package/src/tools/broadcast/BroadcastRuntimeRegistration.d.ts +11 -0
  909. package/src/tools/broadcast/BroadcastRuntimeRegistration.d.ts.map +1 -0
  910. package/src/tools/broadcast/BroadcastRuntimeRegistration.js +23 -0
  911. package/src/tools/broadcast/drivers/BaseDriver.d.ts +5 -0
  912. package/src/tools/broadcast/drivers/BaseDriver.d.ts.map +1 -0
  913. package/src/tools/broadcast/drivers/BaseDriver.js +8 -0
  914. package/src/tools/broadcast/drivers/InMemory.d.ts +18 -0
  915. package/src/tools/broadcast/drivers/InMemory.d.ts.map +1 -0
  916. package/src/tools/broadcast/drivers/InMemory.js +16 -0
  917. package/src/tools/broadcast/drivers/Pusher.d.ts +8 -0
  918. package/src/tools/broadcast/drivers/Pusher.d.ts.map +1 -0
  919. package/src/tools/broadcast/drivers/Pusher.js +75 -0
  920. package/src/tools/broadcast/drivers/Redis.d.ts +19 -0
  921. package/src/tools/broadcast/drivers/Redis.d.ts.map +1 -0
  922. package/src/tools/broadcast/drivers/Redis.js +25 -0
  923. package/src/tools/broadcast/drivers/RedisHttps.d.ts +14 -0
  924. package/src/tools/broadcast/drivers/RedisHttps.d.ts.map +1 -0
  925. package/src/tools/broadcast/drivers/RedisHttps.js +50 -0
  926. package/src/tools/broadcast/index.d.ts +9 -0
  927. package/src/tools/broadcast/index.d.ts.map +1 -0
  928. package/src/tools/broadcast/index.js +8 -0
  929. package/src/tools/http/Http.d.ts +49 -0
  930. package/src/tools/http/Http.d.ts.map +1 -0
  931. package/src/tools/http/Http.js +173 -0
  932. package/src/tools/http/HttpResponse.d.ts +32 -0
  933. package/src/tools/http/HttpResponse.d.ts.map +1 -0
  934. package/src/tools/http/HttpResponse.js +80 -0
  935. package/src/tools/http/index.d.ts +15 -0
  936. package/src/tools/http/index.d.ts.map +1 -0
  937. package/src/tools/http/index.js +9 -0
  938. package/src/tools/mail/Mail.d.ts +2 -0
  939. package/src/tools/mail/Mail.d.ts.map +1 -0
  940. package/src/tools/mail/Mail.js +1 -0
  941. package/src/tools/mail/MailDriverRegistry.d.ts +18 -0
  942. package/src/tools/mail/MailDriverRegistry.d.ts.map +1 -0
  943. package/src/tools/mail/MailDriverRegistry.js +23 -0
  944. package/src/tools/mail/attachments.d.ts +23 -0
  945. package/src/tools/mail/attachments.d.ts.map +1 -0
  946. package/src/tools/mail/attachments.js +26 -0
  947. package/src/tools/mail/drivers/BaseDriver.d.ts +5 -0
  948. package/src/tools/mail/drivers/BaseDriver.d.ts.map +1 -0
  949. package/src/tools/mail/drivers/BaseDriver.js +8 -0
  950. package/src/tools/mail/drivers/Mailgun.d.ts +31 -0
  951. package/src/tools/mail/drivers/Mailgun.d.ts.map +1 -0
  952. package/src/tools/mail/drivers/Mailgun.js +81 -0
  953. package/src/tools/mail/drivers/SendGrid.d.ts +29 -0
  954. package/src/tools/mail/drivers/SendGrid.d.ts.map +1 -0
  955. package/src/tools/mail/drivers/SendGrid.js +58 -0
  956. package/src/tools/mail/drivers/Ses.d.ts +24 -0
  957. package/src/tools/mail/drivers/Ses.d.ts.map +1 -0
  958. package/src/tools/mail/drivers/Ses.js +117 -0
  959. package/src/tools/mail/drivers/Smtp.d.ts +38 -0
  960. package/src/tools/mail/drivers/Smtp.d.ts.map +1 -0
  961. package/src/tools/mail/drivers/Smtp.js +349 -0
  962. package/src/tools/mail/index.d.ts +40 -0
  963. package/src/tools/mail/index.d.ts.map +1 -0
  964. package/src/tools/mail/index.js +129 -0
  965. package/src/tools/mail/template-loader.d.ts +10 -0
  966. package/src/tools/mail/template-loader.d.ts.map +1 -0
  967. package/src/tools/mail/template-loader.js +101 -0
  968. package/src/tools/mail/template-utils.d.ts +10 -0
  969. package/src/tools/mail/template-utils.d.ts.map +1 -0
  970. package/src/tools/mail/template-utils.js +16 -0
  971. package/src/tools/mail/templates/index.d.ts +57 -0
  972. package/src/tools/mail/templates/index.d.ts.map +1 -0
  973. package/src/tools/mail/templates/index.js +104 -0
  974. package/src/tools/mail/testing.d.ts +41 -0
  975. package/src/tools/mail/testing.d.ts.map +1 -0
  976. package/src/tools/mail/testing.js +34 -0
  977. package/src/tools/notification/Driver.d.ts +11 -0
  978. package/src/tools/notification/Driver.d.ts.map +1 -0
  979. package/src/tools/notification/Driver.js +1 -0
  980. package/src/tools/notification/Notification.d.ts +24 -0
  981. package/src/tools/notification/Notification.d.ts.map +1 -0
  982. package/src/tools/notification/Notification.js +35 -0
  983. package/src/tools/notification/NotificationChannelRegistry.d.ts +15 -0
  984. package/src/tools/notification/NotificationChannelRegistry.d.ts.map +1 -0
  985. package/src/tools/notification/NotificationChannelRegistry.js +36 -0
  986. package/src/tools/notification/NotificationRuntimeRegistration.d.ts +13 -0
  987. package/src/tools/notification/NotificationRuntimeRegistration.d.ts.map +1 -0
  988. package/src/tools/notification/NotificationRuntimeRegistration.js +25 -0
  989. package/src/tools/notification/Registry.d.ts +10 -0
  990. package/src/tools/notification/Registry.d.ts.map +1 -0
  991. package/src/tools/notification/Registry.js +26 -0
  992. package/src/tools/notification/Service.d.ts +7 -0
  993. package/src/tools/notification/Service.d.ts.map +1 -0
  994. package/src/tools/notification/Service.js +91 -0
  995. package/src/tools/notification/config.d.ts +5 -0
  996. package/src/tools/notification/config.d.ts.map +1 -0
  997. package/src/tools/notification/config.js +5 -0
  998. package/src/tools/notification/drivers/BaseDriver.d.ts +5 -0
  999. package/src/tools/notification/drivers/BaseDriver.d.ts.map +1 -0
  1000. package/src/tools/notification/drivers/BaseDriver.js +8 -0
  1001. package/src/tools/notification/drivers/Console.d.ts +7 -0
  1002. package/src/tools/notification/drivers/Console.d.ts.map +1 -0
  1003. package/src/tools/notification/drivers/Console.js +13 -0
  1004. package/src/tools/notification/drivers/Slack.d.ts +16 -0
  1005. package/src/tools/notification/drivers/Slack.d.ts.map +1 -0
  1006. package/src/tools/notification/drivers/Slack.js +24 -0
  1007. package/src/tools/notification/drivers/SlackNotification.d.ts +8 -0
  1008. package/src/tools/notification/drivers/SlackNotification.d.ts.map +1 -0
  1009. package/src/tools/notification/drivers/SlackNotification.js +13 -0
  1010. package/src/tools/notification/drivers/Termii.d.ts +10 -0
  1011. package/src/tools/notification/drivers/Termii.d.ts.map +1 -0
  1012. package/src/tools/notification/drivers/Termii.js +36 -0
  1013. package/src/tools/notification/drivers/Twilio.d.ts +21 -0
  1014. package/src/tools/notification/drivers/Twilio.d.ts.map +1 -0
  1015. package/src/tools/notification/drivers/Twilio.js +48 -0
  1016. package/src/tools/notification/drivers/TwilioNotification.d.ts +8 -0
  1017. package/src/tools/notification/drivers/TwilioNotification.d.ts.map +1 -0
  1018. package/src/tools/notification/drivers/TwilioNotification.js +13 -0
  1019. package/src/tools/notification/templates/markdown/index.d.ts +15 -0
  1020. package/src/tools/notification/templates/markdown/index.d.ts.map +1 -0
  1021. package/src/tools/notification/templates/markdown/index.js +38 -0
  1022. package/src/tools/notification/templates/markdown/registry.d.ts +15 -0
  1023. package/src/tools/notification/templates/markdown/registry.d.ts.map +1 -0
  1024. package/src/tools/notification/templates/markdown/registry.js +36 -0
  1025. package/src/tools/notification/testing.d.ts +19 -0
  1026. package/src/tools/notification/testing.d.ts.map +1 -0
  1027. package/src/tools/notification/testing.js +35 -0
  1028. package/src/tools/notification/testingHelpers.d.ts +12 -0
  1029. package/src/tools/notification/testingHelpers.d.ts.map +1 -0
  1030. package/src/tools/notification/testingHelpers.js +32 -0
  1031. package/src/tools/queue/AdvancedQueue.d.ts +19 -0
  1032. package/src/tools/queue/AdvancedQueue.d.ts.map +1 -0
  1033. package/src/tools/queue/AdvancedQueue.js +352 -0
  1034. package/src/tools/queue/DeduplicationBuilder.d.ts +20 -0
  1035. package/src/tools/queue/DeduplicationBuilder.d.ts.map +1 -0
  1036. package/src/tools/queue/DeduplicationBuilder.js +77 -0
  1037. package/src/tools/queue/LockProvider.d.ts +22 -0
  1038. package/src/tools/queue/LockProvider.d.ts.map +1 -0
  1039. package/src/tools/queue/LockProvider.js +282 -0
  1040. package/src/tools/queue/Queue.d.ts +25 -0
  1041. package/src/tools/queue/Queue.d.ts.map +1 -0
  1042. package/src/tools/queue/Queue.js +53 -0
  1043. package/src/tools/queue/QueueExtensions.d.ts +46 -0
  1044. package/src/tools/queue/QueueExtensions.d.ts.map +1 -0
  1045. package/src/tools/queue/QueueExtensions.js +129 -0
  1046. package/src/tools/queue/QueueRuntimeRegistration.d.ts +11 -0
  1047. package/src/tools/queue/QueueRuntimeRegistration.d.ts.map +1 -0
  1048. package/src/tools/queue/QueueRuntimeRegistration.js +25 -0
  1049. package/src/tools/queue/drivers/Database.d.ts +23 -0
  1050. package/src/tools/queue/drivers/Database.d.ts.map +1 -0
  1051. package/src/tools/queue/drivers/Database.js +123 -0
  1052. package/src/tools/queue/drivers/InMemory.d.ts +10 -0
  1053. package/src/tools/queue/drivers/InMemory.d.ts.map +1 -0
  1054. package/src/tools/queue/drivers/InMemory.js +55 -0
  1055. package/src/tools/queue/drivers/Redis.d.ts +10 -0
  1056. package/src/tools/queue/drivers/Redis.d.ts.map +1 -0
  1057. package/src/tools/queue/drivers/Redis.js +26 -0
  1058. package/src/tools/queue/index.d.ts +9 -0
  1059. package/src/tools/queue/index.d.ts.map +1 -0
  1060. package/src/tools/queue/index.js +7 -0
  1061. package/src/tools/redis/RedisKeyManager.d.ts +66 -0
  1062. package/src/tools/redis/RedisKeyManager.d.ts.map +1 -0
  1063. package/src/tools/redis/RedisKeyManager.js +126 -0
  1064. package/src/tools/storage/LocalSignedUrl.d.ts +12 -0
  1065. package/src/tools/storage/LocalSignedUrl.d.ts.map +1 -0
  1066. package/src/tools/storage/LocalSignedUrl.js +108 -0
  1067. package/src/tools/storage/StorageDiskRegistry.d.ts +14 -0
  1068. package/src/tools/storage/StorageDiskRegistry.d.ts.map +1 -0
  1069. package/src/tools/storage/StorageDiskRegistry.js +36 -0
  1070. package/src/tools/storage/StorageDriverRegistry.d.ts +16 -0
  1071. package/src/tools/storage/StorageDriverRegistry.d.ts.map +1 -0
  1072. package/src/tools/storage/StorageDriverRegistry.js +20 -0
  1073. package/src/tools/storage/StorageRuntimeRegistration.d.ts +10 -0
  1074. package/src/tools/storage/StorageRuntimeRegistration.d.ts.map +1 -0
  1075. package/src/tools/storage/StorageRuntimeRegistration.js +21 -0
  1076. package/src/tools/storage/drivers/Gcs.d.ts +20 -0
  1077. package/src/tools/storage/drivers/Gcs.d.ts.map +1 -0
  1078. package/src/tools/storage/drivers/Gcs.js +152 -0
  1079. package/src/tools/storage/drivers/Local.d.ts +18 -0
  1080. package/src/tools/storage/drivers/Local.d.ts.map +1 -0
  1081. package/src/tools/storage/drivers/Local.js +89 -0
  1082. package/src/tools/storage/drivers/R2.d.ts +20 -0
  1083. package/src/tools/storage/drivers/R2.d.ts.map +1 -0
  1084. package/src/tools/storage/drivers/R2.js +73 -0
  1085. package/src/tools/storage/drivers/S3.d.ts +26 -0
  1086. package/src/tools/storage/drivers/S3.d.ts.map +1 -0
  1087. package/src/tools/storage/drivers/S3.js +259 -0
  1088. package/src/tools/storage/index.d.ts +21 -0
  1089. package/src/tools/storage/index.d.ts.map +1 -0
  1090. package/src/tools/storage/index.js +150 -0
  1091. package/src/tools/storage/testing.d.ts +23 -0
  1092. package/src/tools/storage/testing.d.ts.map +1 -0
  1093. package/src/tools/storage/testing.js +53 -0
  1094. package/src/tools/templates/MarkdownRenderer.d.ts +14 -0
  1095. package/src/tools/templates/MarkdownRenderer.d.ts.map +1 -0
  1096. package/src/tools/templates/MarkdownRenderer.js +300 -0
  1097. package/src/tools/templates/index.d.ts +5 -0
  1098. package/src/tools/templates/index.d.ts.map +1 -0
  1099. package/src/tools/templates/index.js +4 -0
  1100. package/src/types/Queue.d.ts +62 -0
  1101. package/src/types/Queue.d.ts.map +1 -0
  1102. package/src/types/Queue.js +5 -0
  1103. package/src/validation/ValidationError.d.ts +42 -0
  1104. package/src/validation/ValidationError.d.ts.map +1 -0
  1105. package/src/validation/ValidationError.js +55 -0
  1106. package/src/validation/Validator.d.ts +93 -0
  1107. package/src/validation/Validator.d.ts.map +1 -0
  1108. package/src/validation/Validator.js +492 -0
  1109. package/bin/z.ts +0 -10
  1110. package/bin/zin.ts +0 -10
  1111. package/bin/zintrust-main.ts +0 -130
  1112. package/bin/zintrust-microservices.ts +0 -199
  1113. package/bin/zintrust.ts +0 -14
  1114. package/bin/zt.ts +0 -10
  1115. package/dist/src/index.js +0 -212
  1116. package/src/auth/Auth.ts +0 -42
  1117. package/src/boot/Application.ts +0 -490
  1118. package/src/boot/Server.ts +0 -155
  1119. package/src/boot/bootstrap.ts +0 -274
  1120. package/src/builder/BundleOptimizer.ts +0 -483
  1121. package/src/cache/Cache.ts +0 -185
  1122. package/src/cache/CacheDriver.ts +0 -39
  1123. package/src/cache/CacheDriverRegistry.ts +0 -29
  1124. package/src/cache/CacheRuntimeRegistration.ts +0 -24
  1125. package/src/cache/drivers/KVDriver.ts +0 -63
  1126. package/src/cache/drivers/KVRemoteDriver.ts +0 -97
  1127. package/src/cache/drivers/MemoryDriver.ts +0 -85
  1128. package/src/cache/drivers/MongoDriver.ts +0 -96
  1129. package/src/cache/drivers/RedisDriver.ts +0 -95
  1130. package/src/cli/BaseCommand.ts +0 -106
  1131. package/src/cli/CLI.ts +0 -280
  1132. package/src/cli/ErrorHandler.ts +0 -130
  1133. package/src/cli/PromptHelper.ts +0 -203
  1134. package/src/cli/commands/AddCommand.ts +0 -1290
  1135. package/src/cli/commands/BroadcastWorkCommand.ts +0 -20
  1136. package/src/cli/commands/ConfigCommand.ts +0 -422
  1137. package/src/cli/commands/CreateCommand.ts +0 -177
  1138. package/src/cli/commands/D1MigrateCommand.ts +0 -98
  1139. package/src/cli/commands/DbSeedCommand.ts +0 -181
  1140. package/src/cli/commands/DebugCommand.ts +0 -71
  1141. package/src/cli/commands/FixCommand.ts +0 -84
  1142. package/src/cli/commands/JwtDevCommand.ts +0 -154
  1143. package/src/cli/commands/KeyGenerateCommand.ts +0 -86
  1144. package/src/cli/commands/LogsCleanupCommand.ts +0 -24
  1145. package/src/cli/commands/LogsCommand.ts +0 -270
  1146. package/src/cli/commands/MakeMailTemplateCommand.ts +0 -119
  1147. package/src/cli/commands/MakeNotificationTemplateCommand.ts +0 -164
  1148. package/src/cli/commands/MigrateCommand.ts +0 -435
  1149. package/src/cli/commands/MigrateWorkerCommand.ts +0 -180
  1150. package/src/cli/commands/NewCommand.ts +0 -546
  1151. package/src/cli/commands/NotificationWorkCommand.ts +0 -20
  1152. package/src/cli/commands/PluginCommand.ts +0 -112
  1153. package/src/cli/commands/PrepareCommand.ts +0 -65
  1154. package/src/cli/commands/PublishCommand.ts +0 -79
  1155. package/src/cli/commands/QACommand.ts +0 -551
  1156. package/src/cli/commands/QueueCommand.ts +0 -145
  1157. package/src/cli/commands/QueueLockCommand.ts +0 -156
  1158. package/src/cli/commands/QueueWorkCommandUtils.ts +0 -54
  1159. package/src/cli/commands/ResourceControlCommand.ts +0 -49
  1160. package/src/cli/commands/RoutesCommand.ts +0 -316
  1161. package/src/cli/commands/SecretsCommand.ts +0 -144
  1162. package/src/cli/commands/SimulateCommand.ts +0 -97
  1163. package/src/cli/commands/StartCommand.ts +0 -448
  1164. package/src/cli/commands/TemplatesCommand.ts +0 -72
  1165. package/src/cli/commands/UpgradeCommand.ts +0 -128
  1166. package/src/cli/commands/WorkerCommands.ts +0 -373
  1167. package/src/cli/commands/createKindWorkCommand.ts +0 -56
  1168. package/src/cli/commands/index.ts +0 -28
  1169. package/src/cli/commands/runner/index.ts +0 -140
  1170. package/src/cli/config/ConfigManager.ts +0 -221
  1171. package/src/cli/config/ConfigSchema.ts +0 -263
  1172. package/src/cli/config/ConfigValidator.ts +0 -250
  1173. package/src/cli/config/index.ts +0 -21
  1174. package/src/cli/d1/D1SqlMigrations.ts +0 -289
  1175. package/src/cli/d1/WranglerConfig.ts +0 -146
  1176. package/src/cli/d1/WranglerD1.ts +0 -28
  1177. package/src/cli/debug/Dashboard.ts +0 -227
  1178. package/src/cli/env/EnvFileBackfill.ts +0 -80
  1179. package/src/cli/index.ts +0 -17
  1180. package/src/cli/logger/Logger.ts +0 -193
  1181. package/src/cli/scaffolding/ControllerGenerator.ts +0 -633
  1182. package/src/cli/scaffolding/FactoryGenerator.ts +0 -430
  1183. package/src/cli/scaffolding/FeatureScaffolder.ts +0 -811
  1184. package/src/cli/scaffolding/FileGenerator.ts +0 -262
  1185. package/src/cli/scaffolding/GovernanceScaffolder.ts +0 -392
  1186. package/src/cli/scaffolding/MigrationGenerator.ts +0 -418
  1187. package/src/cli/scaffolding/ModelGenerator.ts +0 -337
  1188. package/src/cli/scaffolding/ProjectScaffolder.ts +0 -786
  1189. package/src/cli/scaffolding/RequestFactoryGenerator.ts +0 -561
  1190. package/src/cli/scaffolding/ResponseFactoryGenerator.ts +0 -394
  1191. package/src/cli/scaffolding/RouteGenerator.ts +0 -450
  1192. package/src/cli/scaffolding/SeederGenerator.ts +0 -428
  1193. package/src/cli/scaffolding/ServiceIntegrationTestGenerator.ts +0 -317
  1194. package/src/cli/scaffolding/ServiceRequestFactoryGenerator.ts +0 -485
  1195. package/src/cli/scaffolding/ServiceScaffolder.ts +0 -449
  1196. package/src/cli/scaffolding/TemplateEngine.ts +0 -141
  1197. package/src/cli/scaffolding/TemplateGenerator.ts +0 -255
  1198. package/src/cli/scaffolding/WorkflowGenerator.ts +0 -221
  1199. package/src/cli/scaffolding/index.ts +0 -89
  1200. package/src/cli/services/VersionChecker.ts +0 -308
  1201. package/src/cli/utils/DatabaseCliUtils.ts +0 -75
  1202. package/src/cli/utils/DistPackager.ts +0 -154
  1203. package/src/cli/utils/EnvFileLoader.ts +0 -218
  1204. package/src/cli/utils/spawn.ts +0 -116
  1205. package/src/cli/workers/QueueWorkRunner.ts +0 -377
  1206. package/src/collections/Collection.ts +0 -241
  1207. package/src/collections/index.ts +0 -2
  1208. package/src/common/AwsSigV4.ts +0 -116
  1209. package/src/common/ExternalServiceUtils.ts +0 -151
  1210. package/src/common/HealthRoutes.ts +0 -144
  1211. package/src/common/RemoteSignedJson.ts +0 -117
  1212. package/src/common/index.ts +0 -380
  1213. package/src/common/utility.ts +0 -140
  1214. package/src/config/FileLogWriter.ts +0 -342
  1215. package/src/config/SecretsManager.ts +0 -452
  1216. package/src/config/StartupConfigValidator.ts +0 -268
  1217. package/src/config/app.ts +0 -229
  1218. package/src/config/broadcast.ts +0 -194
  1219. package/src/config/cache.ts +0 -175
  1220. package/src/config/cloudflare.ts +0 -43
  1221. package/src/config/constants.ts +0 -167
  1222. package/src/config/database.ts +0 -344
  1223. package/src/config/env.ts +0 -245
  1224. package/src/config/features.ts +0 -57
  1225. package/src/config/index.ts +0 -46
  1226. package/src/config/logger.ts +0 -387
  1227. package/src/config/logging/HttpLogger.ts +0 -121
  1228. package/src/config/logging/KvLogger.ts +0 -181
  1229. package/src/config/logging/SlackLogger.ts +0 -156
  1230. package/src/config/mail.ts +0 -186
  1231. package/src/config/microservices.ts +0 -104
  1232. package/src/config/middleware.ts +0 -360
  1233. package/src/config/notification.ts +0 -205
  1234. package/src/config/queue.ts +0 -205
  1235. package/src/config/redis.ts +0 -84
  1236. package/src/config/security.ts +0 -170
  1237. package/src/config/startup.ts +0 -29
  1238. package/src/config/storage.ts +0 -205
  1239. package/src/config/type.ts +0 -611
  1240. package/src/config/workers.ts +0 -257
  1241. package/src/container/ServiceContainer.ts +0 -108
  1242. package/src/database/Paginator.ts +0 -141
  1243. package/src/database/factories/.gitkeep +0 -0
  1244. package/src/database/migrations/.gitkeep +0 -0
  1245. package/src/database/migrations/index.ts +0 -2
  1246. package/src/database/seeders/.gitkeep +0 -0
  1247. package/src/events/EventDispatcher.ts +0 -141
  1248. package/src/events/index.ts +0 -2
  1249. package/src/exceptions/ZintrustError.ts +0 -290
  1250. package/src/functions/cloudflare.ts +0 -28
  1251. package/src/functions/deno.ts +0 -25
  1252. package/src/functions/lambda.ts +0 -30
  1253. package/src/health/RuntimeHealthProbes.ts +0 -75
  1254. package/src/health/StartupHealthChecks.ts +0 -156
  1255. package/src/http/Controller.ts +0 -64
  1256. package/src/http/ErrorResponse.ts +0 -76
  1257. package/src/http/FileUpload.ts +0 -194
  1258. package/src/http/Kernel.ts +0 -356
  1259. package/src/http/Request.ts +0 -382
  1260. package/src/http/RequestContext.ts +0 -194
  1261. package/src/http/Response.ts +0 -93
  1262. package/src/http/ValidationHelper.ts +0 -131
  1263. package/src/http/error-pages/ErrorPageRenderer.ts +0 -108
  1264. package/src/http/middleware/BodyParsingMiddleware.ts +0 -294
  1265. package/src/http/middleware/FileUploadMiddleware.ts +0 -91
  1266. package/src/http/parsers/BodyParsers.ts +0 -188
  1267. package/src/http/parsers/MultipartParser.ts +0 -211
  1268. package/src/http/parsers/MultipartParserRegistry.ts +0 -54
  1269. package/src/http/validated.ts +0 -55
  1270. package/src/index.ts +0 -436
  1271. package/src/lang/lang.ts +0 -22
  1272. package/src/microservices/MicroserviceBootstrap.ts +0 -411
  1273. package/src/microservices/MicroserviceGenerator.ts +0 -534
  1274. package/src/microservices/MicroserviceManager.ts +0 -409
  1275. package/src/microservices/PostgresAdapter.ts +0 -475
  1276. package/src/microservices/RequestTracingMiddleware.ts +0 -207
  1277. package/src/microservices/ServiceAuthMiddleware.ts +0 -363
  1278. package/src/microservices/ServiceBundler.ts +0 -432
  1279. package/src/microservices/ServiceHealthMonitor.ts +0 -512
  1280. package/src/middleware/AuthMiddleware.ts +0 -29
  1281. package/src/middleware/CsrfMiddleware.ts +0 -177
  1282. package/src/middleware/ErrorHandlerMiddleware.ts +0 -52
  1283. package/src/middleware/JwtAuthMiddleware.ts +0 -99
  1284. package/src/middleware/LoggingMiddleware.ts +0 -55
  1285. package/src/middleware/MiddlewareStack.ts +0 -69
  1286. package/src/middleware/RateLimiter.ts +0 -338
  1287. package/src/middleware/SanitizeBodyMiddleware.ts +0 -41
  1288. package/src/middleware/SecurityMiddleware.ts +0 -145
  1289. package/src/middleware/SessionMiddleware.ts +0 -26
  1290. package/src/middleware/ValidationMiddleware.ts +0 -296
  1291. package/src/middleware/index.ts +0 -11
  1292. package/src/migrations/MigrationDiscovery.ts +0 -17
  1293. package/src/migrations/MigrationLoader.ts +0 -59
  1294. package/src/migrations/MigrationLock.ts +0 -42
  1295. package/src/migrations/Migrator.ts +0 -16
  1296. package/src/migrations/MigratorFactory.ts +0 -473
  1297. package/src/migrations/enum/index.ts +0 -114
  1298. package/src/migrations/schema/Blueprint.ts +0 -240
  1299. package/src/migrations/schema/Schema.ts +0 -228
  1300. package/src/migrations/schema/SchemaCompiler.ts +0 -375
  1301. package/src/migrations/schema/index.ts +0 -17
  1302. package/src/migrations/schema/types.ts +0 -113
  1303. package/src/migrations/types.ts +0 -52
  1304. package/src/node-singletons/async_hooks.ts +0 -12
  1305. package/src/node-singletons/child-process.ts +0 -7
  1306. package/src/node-singletons/crypto.ts +0 -21
  1307. package/src/node-singletons/events.ts +0 -7
  1308. package/src/node-singletons/fs.ts +0 -38
  1309. package/src/node-singletons/http.ts +0 -13
  1310. package/src/node-singletons/index.ts +0 -38
  1311. package/src/node-singletons/module.ts +0 -12
  1312. package/src/node-singletons/net.ts +0 -10
  1313. package/src/node-singletons/os.ts +0 -20
  1314. package/src/node-singletons/path.ts +0 -11
  1315. package/src/node-singletons/perf-hooks.ts +0 -11
  1316. package/src/node-singletons/process.ts +0 -58
  1317. package/src/node-singletons/readline.ts +0 -12
  1318. package/src/node-singletons/tls.ts +0 -10
  1319. package/src/node-singletons/url.ts +0 -11
  1320. package/src/node-singletons/util.ts +0 -6
  1321. package/src/node.ts +0 -32
  1322. package/src/observability/OpenTelemetry.ts +0 -295
  1323. package/src/observability/PrometheusMetrics.ts +0 -161
  1324. package/src/openapi/OpenApiGenerator.ts +0 -452
  1325. package/src/orm/ConnectionManager.ts +0 -759
  1326. package/src/orm/Database.ts +0 -521
  1327. package/src/orm/DatabaseAdapter.ts +0 -169
  1328. package/src/orm/DatabaseAdapterRegistry.ts +0 -38
  1329. package/src/orm/DatabaseRuntimeRegistration.ts +0 -87
  1330. package/src/orm/Model.ts +0 -1025
  1331. package/src/orm/QueryBuilder.ts +0 -1492
  1332. package/src/orm/Relationships.ts +0 -419
  1333. package/src/orm/Schema.ts +0 -403
  1334. package/src/orm/SchemaCompiler.ts +0 -160
  1335. package/src/orm/adapters/D1Adapter.ts +0 -149
  1336. package/src/orm/adapters/D1RemoteAdapter.ts +0 -236
  1337. package/src/orm/adapters/MySQLAdapter.ts +0 -129
  1338. package/src/orm/adapters/PostgreSQLAdapter.ts +0 -148
  1339. package/src/orm/adapters/SQLServerAdapter.ts +0 -99
  1340. package/src/orm/adapters/SQLiteAdapter.ts +0 -314
  1341. package/src/orm/maintenance/SqliteMaintenance.ts +0 -22
  1342. package/src/orm/migrations/MigrationStore.ts +0 -232
  1343. package/src/performance/Benchmark.ts +0 -456
  1344. package/src/performance/CodeGenerationBenchmark.ts +0 -338
  1345. package/src/performance/Optimizer.ts +0 -846
  1346. package/src/performance/establish-baseline.ts +0 -69
  1347. package/src/profiling/MemoryProfiler.ts +0 -111
  1348. package/src/profiling/N1Detector.ts +0 -144
  1349. package/src/profiling/QueryLogger.ts +0 -233
  1350. package/src/profiling/RequestProfiler.ts +0 -123
  1351. package/src/profiling/types.ts +0 -86
  1352. package/src/routes/CoreRoutes.ts +0 -47
  1353. package/src/routes/RouteRegistry.ts +0 -106
  1354. package/src/routes/Router.ts +0 -435
  1355. package/src/routes/common.ts +0 -50
  1356. package/src/routes/doc.ts +0 -139
  1357. package/src/routes/error.ts +0 -185
  1358. package/src/routes/errorPages.ts +0 -125
  1359. package/src/routes/health.ts +0 -6
  1360. package/src/routes/metrics.ts +0 -24
  1361. package/src/routes/openapi.ts +0 -93
  1362. package/src/routes/publicRoot.ts +0 -125
  1363. package/src/runtime/PluginAutoImports.ts +0 -67
  1364. package/src/runtime/PluginManager.ts +0 -468
  1365. package/src/runtime/PluginRegistry.ts +0 -232
  1366. package/src/runtime/RuntimeAdapter.ts +0 -291
  1367. package/src/runtime/StartupConfigFileRegistry.ts +0 -64
  1368. package/src/runtime/adapters/CloudflareAdapter.ts +0 -273
  1369. package/src/runtime/adapters/DenoAdapter.ts +0 -269
  1370. package/src/runtime/adapters/FargateAdapter.ts +0 -230
  1371. package/src/runtime/adapters/LambdaAdapter.ts +0 -475
  1372. package/src/runtime/adapters/NodeServerAdapter.ts +0 -289
  1373. package/src/runtime/getKernel.ts +0 -34
  1374. package/src/runtime/useFileLoader.ts +0 -234
  1375. package/src/scheduler/ScheduleRunner.ts +0 -219
  1376. package/src/scheduler/index.ts +0 -2
  1377. package/src/scheduler/types.ts +0 -18
  1378. package/src/schedules/index.ts +0 -1
  1379. package/src/schedules/log-cleanup.ts +0 -21
  1380. package/src/scripts/GenerateEnvArtifacts.ts +0 -203
  1381. package/src/scripts/TemplateImportsCheck.ts +0 -180
  1382. package/src/scripts/TemplateSync.ts +0 -489
  1383. package/src/security/CsrfTokenManager.ts +0 -102
  1384. package/src/security/EncryptedEnvelope.ts +0 -373
  1385. package/src/security/Encryptor.ts +0 -259
  1386. package/src/security/Hash.ts +0 -97
  1387. package/src/security/JwtManager.ts +0 -375
  1388. package/src/security/PasswordResetTokenBroker.ts +0 -193
  1389. package/src/security/Sanitizer.ts +0 -614
  1390. package/src/security/SignedRequest.ts +0 -315
  1391. package/src/security/StartupSecretValidation.ts +0 -162
  1392. package/src/security/TokenRevocation.ts +0 -64
  1393. package/src/security/UrlValidator.ts +0 -57
  1394. package/src/security/Xss.ts +0 -74
  1395. package/src/security/XssProtection.ts +0 -396
  1396. package/src/seeders/SeederDiscovery.ts +0 -22
  1397. package/src/seeders/SeederLoader.ts +0 -88
  1398. package/src/seeders/types.ts +0 -20
  1399. package/src/services/default/test/.env +0 -19
  1400. package/src/services/default/users/.env +0 -19
  1401. package/src/services/ecommerce/docker-compose.yml +0 -155
  1402. package/src/services/ecommerce/init-db.sql +0 -71
  1403. package/src/services/ecommerce/orders/service.config.json +0 -20
  1404. package/src/services/ecommerce/payments/service.config.json +0 -19
  1405. package/src/services/ecommerce/users/Dockerfile +0 -57
  1406. package/src/services/ecommerce/users/service.config.json +0 -20
  1407. package/src/session/SessionManager.ts +0 -241
  1408. package/src/session/index.ts +0 -2
  1409. package/src/start.ts +0 -68
  1410. package/src/testing/TestEnvironment.ts +0 -213
  1411. package/src/testing/TestHttp.ts +0 -134
  1412. package/src/testing/index.ts +0 -11
  1413. package/src/time/DateTime.ts +0 -548
  1414. package/src/time/index.ts +0 -7
  1415. package/src/toolkit/Secrets/EnvFile.ts +0 -80
  1416. package/src/toolkit/Secrets/Manifest.ts +0 -119
  1417. package/src/toolkit/Secrets/index.ts +0 -192
  1418. package/src/toolkit/Secrets/providers/AwsSecretsManager.ts +0 -189
  1419. package/src/toolkit/Secrets/providers/CloudflareKv.ts +0 -94
  1420. package/src/tools/broadcast/Broadcast.ts +0 -116
  1421. package/src/tools/broadcast/BroadcastRegistry.ts +0 -38
  1422. package/src/tools/broadcast/BroadcastRuntimeRegistration.ts +0 -31
  1423. package/src/tools/broadcast/drivers/BaseDriver.ts +0 -10
  1424. package/src/tools/broadcast/drivers/InMemory.ts +0 -20
  1425. package/src/tools/broadcast/drivers/Pusher.ts +0 -107
  1426. package/src/tools/broadcast/drivers/Redis.ts +0 -49
  1427. package/src/tools/broadcast/drivers/RedisHttps.ts +0 -74
  1428. package/src/tools/broadcast/index.ts +0 -8
  1429. package/src/tools/http/Http.ts +0 -234
  1430. package/src/tools/http/HttpResponse.ts +0 -118
  1431. package/src/tools/http/index.ts +0 -11
  1432. package/src/tools/mail/Mail.ts +0 -1
  1433. package/src/tools/mail/MailDriverRegistry.ts +0 -34
  1434. package/src/tools/mail/attachments.ts +0 -47
  1435. package/src/tools/mail/drivers/BaseDriver.ts +0 -10
  1436. package/src/tools/mail/drivers/Mailgun.ts +0 -130
  1437. package/src/tools/mail/drivers/SendGrid.ts +0 -103
  1438. package/src/tools/mail/drivers/Ses.ts +0 -179
  1439. package/src/tools/mail/drivers/Smtp.ts +0 -490
  1440. package/src/tools/mail/index.ts +0 -218
  1441. package/src/tools/mail/template-loader.ts +0 -128
  1442. package/src/tools/mail/template-utils.ts +0 -19
  1443. package/src/tools/mail/templates/auth-password-reset.html +0 -231
  1444. package/src/tools/mail/templates/auth-welcome.html +0 -236
  1445. package/src/tools/mail/templates/general.html +0 -109
  1446. package/src/tools/mail/templates/index.ts +0 -143
  1447. package/src/tools/mail/templates/job-completed.html +0 -188
  1448. package/src/tools/mail/templates/notifications-new-comment.html +0 -228
  1449. package/src/tools/mail/templates/password-reset.html +0 -221
  1450. package/src/tools/mail/templates/performance-report.html +0 -258
  1451. package/src/tools/mail/templates/welcome.html +0 -187
  1452. package/src/tools/mail/templates/worker-alert.html +0 -229
  1453. package/src/tools/mail/testing.ts +0 -59
  1454. package/src/tools/notification/Driver.ts +0 -11
  1455. package/src/tools/notification/Notification.ts +0 -55
  1456. package/src/tools/notification/NotificationChannelRegistry.ts +0 -46
  1457. package/src/tools/notification/NotificationRuntimeRegistration.ts +0 -36
  1458. package/src/tools/notification/Registry.ts +0 -35
  1459. package/src/tools/notification/Service.ts +0 -136
  1460. package/src/tools/notification/config.ts +0 -7
  1461. package/src/tools/notification/drivers/BaseDriver.ts +0 -10
  1462. package/src/tools/notification/drivers/Console.ts +0 -18
  1463. package/src/tools/notification/drivers/Slack.ts +0 -42
  1464. package/src/tools/notification/drivers/SlackNotification.ts +0 -17
  1465. package/src/tools/notification/drivers/Termii.ts +0 -43
  1466. package/src/tools/notification/drivers/Twilio.ts +0 -77
  1467. package/src/tools/notification/drivers/TwilioNotification.ts +0 -19
  1468. package/src/tools/notification/templates/markdown/index.ts +0 -49
  1469. package/src/tools/notification/templates/markdown/notifications/new-follow.md +0 -12
  1470. package/src/tools/notification/templates/markdown/registry.ts +0 -45
  1471. package/src/tools/notification/testing.ts +0 -50
  1472. package/src/tools/notification/testingHelpers.ts +0 -44
  1473. package/src/tools/queue/AdvancedQueue.ts +0 -458
  1474. package/src/tools/queue/DeduplicationBuilder.ts +0 -111
  1475. package/src/tools/queue/LockProvider.ts +0 -335
  1476. package/src/tools/queue/Queue.ts +0 -78
  1477. package/src/tools/queue/QueueExtensions.ts +0 -161
  1478. package/src/tools/queue/QueueRuntimeRegistration.ts +0 -29
  1479. package/src/tools/queue/drivers/Database.ts +0 -183
  1480. package/src/tools/queue/drivers/InMemory.ts +0 -64
  1481. package/src/tools/queue/drivers/Redis.ts +0 -33
  1482. package/src/tools/queue/index.ts +0 -28
  1483. package/src/tools/redis/RedisKeyManager.ts +0 -142
  1484. package/src/tools/storage/LocalSignedUrl.ts +0 -142
  1485. package/src/tools/storage/StorageDiskRegistry.ts +0 -45
  1486. package/src/tools/storage/StorageDriverRegistry.ts +0 -31
  1487. package/src/tools/storage/StorageRuntimeRegistration.ts +0 -32
  1488. package/src/tools/storage/drivers/Gcs.ts +0 -201
  1489. package/src/tools/storage/drivers/Local.ts +0 -116
  1490. package/src/tools/storage/drivers/R2.ts +0 -99
  1491. package/src/tools/storage/drivers/S3.ts +0 -347
  1492. package/src/tools/storage/index.ts +0 -217
  1493. package/src/tools/storage/testing.ts +0 -80
  1494. package/src/tools/templates/MarkdownRenderer.ts +0 -354
  1495. package/src/tools/templates/index.ts +0 -5
  1496. package/src/types/Queue.ts +0 -71
  1497. package/src/types/redis.d.ts +0 -11
  1498. package/src/validation/ValidationError.ts +0 -79
  1499. package/src/validation/Validator.ts +0 -681
  1500. package/src/zintrust.plugins.ts +0 -13
  1501. /package/{dist/src → src}/index.d.ts +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
+ });