@zintrust/core 0.1.41 → 0.1.43

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 (547) hide show
  1. package/app/Controllers/AuthController.d.ts +10 -0
  2. package/app/Controllers/AuthController.d.ts.map +1 -0
  3. package/app/Controllers/AuthController.js +201 -0
  4. package/app/Controllers/UserController.d.ts +9 -0
  5. package/app/Controllers/UserController.d.ts.map +1 -0
  6. package/app/Controllers/UserController.js +8 -0
  7. package/app/Controllers/UserQueryBuilderController.d.ts +16 -0
  8. package/app/Controllers/UserQueryBuilderController.d.ts.map +1 -0
  9. package/app/Controllers/UserQueryBuilderController.js +404 -0
  10. package/app/Middleware/ProfilerMiddleware.d.ts +12 -0
  11. package/app/Middleware/ProfilerMiddleware.d.ts.map +1 -0
  12. package/app/Middleware/ProfilerMiddleware.js +47 -0
  13. package/app/Middleware/index.d.ts +59 -0
  14. package/app/Middleware/index.d.ts.map +1 -0
  15. package/app/Middleware/index.js +215 -0
  16. package/app/Models/Post.d.ts +14 -0
  17. package/app/Models/Post.d.ts.map +1 -0
  18. package/app/Models/Post.js +27 -0
  19. package/app/Models/User.d.ts +14 -0
  20. package/app/Models/User.d.ts.map +1 -0
  21. package/app/Models/User.js +44 -0
  22. package/app/Schedules/JobTracking.d.ts +3 -0
  23. package/app/Schedules/JobTracking.d.ts.map +1 -0
  24. package/app/Schedules/JobTracking.js +13 -0
  25. package/app/Schedules/index.d.ts +2 -0
  26. package/app/Schedules/index.d.ts.map +1 -0
  27. package/app/Schedules/index.js +1 -0
  28. package/app/Toolkit/Broadcast/sendBroadcast.d.ts +6 -0
  29. package/app/Toolkit/Broadcast/sendBroadcast.d.ts.map +1 -0
  30. package/app/Toolkit/Broadcast/sendBroadcast.js +5 -0
  31. package/app/Toolkit/Mail/sendWelcomeEmail.d.ts +6 -0
  32. package/app/Toolkit/Mail/sendWelcomeEmail.d.ts.map +1 -0
  33. package/app/Toolkit/Mail/sendWelcomeEmail.js +20 -0
  34. package/app/Toolkit/Notification/sendSlackNotification.d.ts +8 -0
  35. package/app/Toolkit/Notification/sendSlackNotification.d.ts.map +1 -0
  36. package/app/Toolkit/Notification/sendSlackNotification.js +5 -0
  37. package/app/Toolkit/Notification/sendSms.d.ts +6 -0
  38. package/app/Toolkit/Notification/sendSms.d.ts.map +1 -0
  39. package/app/Toolkit/Notification/sendSms.js +5 -0
  40. package/app/Types/controller.d.ts +42 -0
  41. package/app/Types/controller.d.ts.map +1 -0
  42. package/app/Types/controller.js +1 -0
  43. package/config/broadcast.d.ts +38 -0
  44. package/config/broadcast.d.ts.map +1 -0
  45. package/config/broadcast.js +37 -0
  46. package/config/cache.d.ts +40 -0
  47. package/config/cache.d.ts.map +1 -0
  48. package/config/cache.js +39 -0
  49. package/config/database.d.ts +58 -0
  50. package/config/database.d.ts.map +1 -0
  51. package/config/database.js +65 -0
  52. package/config/mail.d.ts +51 -0
  53. package/config/mail.d.ts.map +1 -0
  54. package/config/mail.js +69 -0
  55. package/config/middleware.d.ts +11 -0
  56. package/config/middleware.d.ts.map +1 -0
  57. package/config/middleware.js +30 -0
  58. package/config/notification.d.ts +33 -0
  59. package/config/notification.d.ts.map +1 -0
  60. package/config/notification.js +33 -0
  61. package/config/queue.d.ts +55 -0
  62. package/config/queue.d.ts.map +1 -0
  63. package/config/queue.js +87 -0
  64. package/config/storage.d.ts +59 -0
  65. package/config/storage.d.ts.map +1 -0
  66. package/config/storage.js +59 -0
  67. package/config/workers.d.ts +54 -0
  68. package/config/workers.d.ts.map +1 -0
  69. package/config/workers.js +83 -0
  70. package/package.json +27 -5
  71. package/packages/cloudflare-d1-proxy/src/index.d.ts +48 -0
  72. package/packages/cloudflare-d1-proxy/src/index.d.ts.map +1 -0
  73. package/packages/cloudflare-d1-proxy/src/index.js +387 -0
  74. package/packages/cloudflare-kv-proxy/src/index.d.ts +44 -0
  75. package/packages/cloudflare-kv-proxy/src/index.d.ts.map +1 -0
  76. package/packages/cloudflare-kv-proxy/src/index.js +325 -0
  77. package/packages/queue-monitor/src/QueueMonitoringService.d.ts +35 -0
  78. package/packages/queue-monitor/src/QueueMonitoringService.d.ts.map +1 -0
  79. package/packages/queue-monitor/src/QueueMonitoringService.js +194 -0
  80. package/packages/queue-monitor/src/connection.d.ts +3 -0
  81. package/packages/queue-monitor/src/connection.d.ts.map +1 -0
  82. package/packages/queue-monitor/src/connection.js +1 -0
  83. package/packages/queue-monitor/src/dashboard-ui.d.ts +7 -0
  84. package/packages/queue-monitor/src/dashboard-ui.d.ts.map +1 -0
  85. package/packages/queue-monitor/src/dashboard-ui.js +997 -0
  86. package/packages/queue-monitor/src/driver.d.ts +15 -0
  87. package/packages/queue-monitor/src/driver.d.ts.map +1 -0
  88. package/packages/queue-monitor/src/driver.js +115 -0
  89. package/packages/queue-monitor/src/index.d.ts +71 -0
  90. package/packages/queue-monitor/src/index.d.ts.map +1 -0
  91. package/packages/queue-monitor/src/index.js +296 -0
  92. package/packages/queue-monitor/src/metrics.d.ts +27 -0
  93. package/packages/queue-monitor/src/metrics.d.ts.map +1 -0
  94. package/packages/queue-monitor/src/metrics.js +92 -0
  95. package/packages/queue-monitor/src/worker.d.ts +8 -0
  96. package/packages/queue-monitor/src/worker.d.ts.map +1 -0
  97. package/packages/queue-monitor/src/worker.js +35 -0
  98. package/packages/queue-redis/src/BullMQRedisQueue.d.ts +26 -0
  99. package/packages/queue-redis/src/BullMQRedisQueue.d.ts.map +1 -0
  100. package/packages/queue-redis/src/BullMQRedisQueue.js +463 -0
  101. package/packages/queue-redis/src/HttpQueueDriver.d.ts +18 -0
  102. package/packages/queue-redis/src/HttpQueueDriver.d.ts.map +1 -0
  103. package/packages/queue-redis/src/HttpQueueDriver.js +249 -0
  104. package/packages/queue-redis/src/QueueHttpGateway.d.ts +16 -0
  105. package/packages/queue-redis/src/QueueHttpGateway.d.ts.map +1 -0
  106. package/packages/queue-redis/src/QueueHttpGateway.js +217 -0
  107. package/packages/queue-redis/src/RedisPublishClient.d.ts +14 -0
  108. package/packages/queue-redis/src/RedisPublishClient.d.ts.map +1 -0
  109. package/packages/queue-redis/src/RedisPublishClient.js +251 -0
  110. package/packages/queue-redis/src/index.d.ts +12 -0
  111. package/packages/queue-redis/src/index.d.ts.map +1 -0
  112. package/packages/queue-redis/src/index.js +10 -0
  113. package/packages/queue-redis/src/register.d.ts +6 -0
  114. package/packages/queue-redis/src/register.d.ts.map +1 -0
  115. package/packages/queue-redis/src/register.js +21 -0
  116. package/packages/workers/migrations/20260119100000_create_zintrust_workers_table.d.ts +11 -0
  117. package/packages/workers/migrations/20260119100000_create_zintrust_workers_table.d.ts.map +1 -0
  118. package/packages/workers/migrations/20260119100000_create_zintrust_workers_table.js +32 -0
  119. package/packages/workers/migrations/20260123180000_create_queue_jobs_table.d.ts +11 -0
  120. package/packages/workers/migrations/20260123180000_create_queue_jobs_table.d.ts.map +1 -0
  121. package/packages/workers/migrations/20260123180000_create_queue_jobs_table.js +46 -0
  122. package/packages/workers/migrations/20260213142000_create_zintrust_job_tracking_tables.d.ts +7 -0
  123. package/packages/workers/migrations/20260213142000_create_zintrust_job_tracking_tables.d.ts.map +1 -0
  124. package/packages/workers/migrations/20260213142000_create_zintrust_job_tracking_tables.js +44 -0
  125. package/packages/workers/migrations/20260213183000_expand_zintrust_job_tracking_reliability_tables.d.ts +7 -0
  126. package/packages/workers/migrations/20260213183000_expand_zintrust_job_tracking_reliability_tables.d.ts.map +1 -0
  127. package/packages/workers/migrations/20260213183000_expand_zintrust_job_tracking_reliability_tables.js +104 -0
  128. package/packages/workers/src/AnomalyDetection.d.ts +107 -0
  129. package/packages/workers/src/AnomalyDetection.d.ts.map +1 -0
  130. package/packages/workers/src/AnomalyDetection.js +329 -0
  131. package/packages/workers/src/AutoScaler.d.ts +128 -0
  132. package/packages/workers/src/AutoScaler.d.ts.map +1 -0
  133. package/packages/workers/src/AutoScaler.js +425 -0
  134. package/packages/workers/src/BroadcastWorker.d.ts +24 -0
  135. package/packages/workers/src/BroadcastWorker.d.ts.map +1 -0
  136. package/packages/workers/src/BroadcastWorker.js +24 -0
  137. package/packages/workers/src/CanaryController.d.ts +104 -0
  138. package/packages/workers/src/CanaryController.d.ts.map +1 -0
  139. package/packages/workers/src/CanaryController.js +424 -0
  140. package/packages/workers/src/ChaosEngineering.d.ts +80 -0
  141. package/packages/workers/src/ChaosEngineering.d.ts.map +1 -0
  142. package/packages/workers/src/ChaosEngineering.js +229 -0
  143. package/packages/workers/src/CircuitBreaker.d.ts +107 -0
  144. package/packages/workers/src/CircuitBreaker.d.ts.map +1 -0
  145. package/packages/workers/src/CircuitBreaker.js +374 -0
  146. package/packages/workers/src/ClusterLock.d.ts +91 -0
  147. package/packages/workers/src/ClusterLock.d.ts.map +1 -0
  148. package/packages/workers/src/ClusterLock.js +397 -0
  149. package/packages/workers/src/ComplianceManager.d.ts +178 -0
  150. package/packages/workers/src/ComplianceManager.d.ts.map +1 -0
  151. package/packages/workers/src/ComplianceManager.js +556 -0
  152. package/packages/workers/src/DatacenterOrchestrator.d.ts +134 -0
  153. package/packages/workers/src/DatacenterOrchestrator.d.ts.map +1 -0
  154. package/packages/workers/src/DatacenterOrchestrator.js +404 -0
  155. package/packages/workers/src/DeadLetterQueue.d.ts +123 -0
  156. package/packages/workers/src/DeadLetterQueue.d.ts.map +1 -0
  157. package/packages/workers/src/DeadLetterQueue.js +544 -0
  158. package/packages/workers/src/HealthMonitor.d.ts +43 -0
  159. package/packages/workers/src/HealthMonitor.d.ts.map +1 -0
  160. package/packages/workers/src/HealthMonitor.js +312 -0
  161. package/packages/workers/src/MultiQueueWorker.d.ts +90 -0
  162. package/packages/workers/src/MultiQueueWorker.d.ts.map +1 -0
  163. package/packages/workers/src/MultiQueueWorker.js +282 -0
  164. package/packages/workers/src/NotificationWorker.d.ts +24 -0
  165. package/packages/workers/src/NotificationWorker.d.ts.map +1 -0
  166. package/packages/workers/src/NotificationWorker.js +23 -0
  167. package/packages/workers/src/Observability.d.ts +154 -0
  168. package/packages/workers/src/Observability.d.ts.map +1 -0
  169. package/packages/workers/src/Observability.js +538 -0
  170. package/packages/workers/src/PluginManager.d.ts +124 -0
  171. package/packages/workers/src/PluginManager.d.ts.map +1 -0
  172. package/packages/workers/src/PluginManager.js +392 -0
  173. package/packages/workers/src/PriorityQueue.d.ts +118 -0
  174. package/packages/workers/src/PriorityQueue.d.ts.map +1 -0
  175. package/packages/workers/src/PriorityQueue.js +276 -0
  176. package/packages/workers/src/ResourceMonitor.d.ts +165 -0
  177. package/packages/workers/src/ResourceMonitor.d.ts.map +1 -0
  178. package/packages/workers/src/ResourceMonitor.js +632 -0
  179. package/packages/workers/src/SLAMonitor.d.ts +111 -0
  180. package/packages/workers/src/SLAMonitor.d.ts.map +1 -0
  181. package/packages/workers/src/SLAMonitor.js +274 -0
  182. package/packages/workers/src/WorkerFactory.d.ts +218 -0
  183. package/packages/workers/src/WorkerFactory.d.ts.map +1 -0
  184. package/packages/workers/src/WorkerFactory.js +2253 -0
  185. package/packages/workers/src/WorkerInit.d.ts +86 -0
  186. package/packages/workers/src/WorkerInit.d.ts.map +1 -0
  187. package/packages/workers/src/WorkerInit.js +307 -0
  188. package/packages/workers/src/WorkerMetrics.d.ts +116 -0
  189. package/packages/workers/src/WorkerMetrics.d.ts.map +1 -0
  190. package/packages/workers/src/WorkerMetrics.js +570 -0
  191. package/packages/workers/src/WorkerRegistry.d.ts +152 -0
  192. package/packages/workers/src/WorkerRegistry.d.ts.map +1 -0
  193. package/packages/workers/src/WorkerRegistry.js +396 -0
  194. package/packages/workers/src/WorkerShutdown.d.ts +70 -0
  195. package/packages/workers/src/WorkerShutdown.d.ts.map +1 -0
  196. package/packages/workers/src/WorkerShutdown.js +185 -0
  197. package/packages/workers/src/WorkerVersioning.d.ts +108 -0
  198. package/packages/workers/src/WorkerVersioning.d.ts.map +1 -0
  199. package/packages/workers/src/WorkerVersioning.js +300 -0
  200. package/packages/workers/src/config/workerConfig.d.ts +5 -0
  201. package/packages/workers/src/config/workerConfig.d.ts.map +1 -0
  202. package/packages/workers/src/config/workerConfig.js +25 -0
  203. package/packages/workers/src/createQueueWorker.d.ts +26 -0
  204. package/packages/workers/src/createQueueWorker.d.ts.map +1 -0
  205. package/packages/workers/src/createQueueWorker.js +367 -0
  206. package/packages/workers/src/dashboard/index.d.ts +2 -0
  207. package/packages/workers/src/dashboard/index.d.ts.map +1 -0
  208. package/packages/workers/src/dashboard/index.js +1 -0
  209. package/packages/workers/src/dashboard/types.d.ts +123 -0
  210. package/packages/workers/src/dashboard/types.d.ts.map +1 -0
  211. package/packages/workers/src/dashboard/types.js +1 -0
  212. package/packages/workers/src/dashboard/workers-api.d.ts +5 -0
  213. package/packages/workers/src/dashboard/workers-api.d.ts.map +1 -0
  214. package/packages/workers/src/dashboard/workers-api.js +738 -0
  215. package/packages/workers/src/helper/index.d.ts +6 -0
  216. package/packages/workers/src/helper/index.d.ts.map +1 -0
  217. package/packages/workers/src/helper/index.js +10 -0
  218. package/packages/workers/src/http/WorkerApiController.d.ts +39 -0
  219. package/packages/workers/src/http/WorkerApiController.d.ts.map +1 -0
  220. package/packages/workers/src/http/WorkerApiController.js +313 -0
  221. package/packages/workers/src/http/WorkerController.d.ts +375 -0
  222. package/packages/workers/src/http/WorkerController.d.ts.map +1 -0
  223. package/packages/workers/src/http/WorkerController.js +1454 -0
  224. package/packages/workers/src/http/WorkerMonitoringService.d.ts +12 -0
  225. package/packages/workers/src/http/WorkerMonitoringService.d.ts.map +1 -0
  226. package/packages/workers/src/http/WorkerMonitoringService.js +89 -0
  227. package/packages/workers/src/http/middleware/CustomValidation.d.ts +93 -0
  228. package/packages/workers/src/http/middleware/CustomValidation.d.ts.map +1 -0
  229. package/packages/workers/src/http/middleware/CustomValidation.js +270 -0
  230. package/packages/workers/src/http/middleware/DatacenterValidator.d.ts +4 -0
  231. package/packages/workers/src/http/middleware/DatacenterValidator.d.ts.map +1 -0
  232. package/packages/workers/src/http/middleware/DatacenterValidator.js +94 -0
  233. package/packages/workers/src/http/middleware/EditWorkerValidation.d.ts +8 -0
  234. package/packages/workers/src/http/middleware/EditWorkerValidation.d.ts.map +1 -0
  235. package/packages/workers/src/http/middleware/EditWorkerValidation.js +56 -0
  236. package/packages/workers/src/http/middleware/FeaturesValidator.d.ts +4 -0
  237. package/packages/workers/src/http/middleware/FeaturesValidator.d.ts.map +1 -0
  238. package/packages/workers/src/http/middleware/FeaturesValidator.js +60 -0
  239. package/packages/workers/src/http/middleware/InfrastructureValidator.d.ts +32 -0
  240. package/packages/workers/src/http/middleware/InfrastructureValidator.d.ts.map +1 -0
  241. package/packages/workers/src/http/middleware/InfrastructureValidator.js +226 -0
  242. package/packages/workers/src/http/middleware/OptionsValidator.d.ts +4 -0
  243. package/packages/workers/src/http/middleware/OptionsValidator.d.ts.map +1 -0
  244. package/packages/workers/src/http/middleware/OptionsValidator.js +112 -0
  245. package/packages/workers/src/http/middleware/PayloadSanitizer.d.ts +8 -0
  246. package/packages/workers/src/http/middleware/PayloadSanitizer.d.ts.map +1 -0
  247. package/packages/workers/src/http/middleware/PayloadSanitizer.js +42 -0
  248. package/packages/workers/src/http/middleware/ProcessorPathSanitizer.d.ts +4 -0
  249. package/packages/workers/src/http/middleware/ProcessorPathSanitizer.d.ts.map +1 -0
  250. package/packages/workers/src/http/middleware/ProcessorPathSanitizer.js +140 -0
  251. package/packages/workers/src/http/middleware/QueueNameSanitizer.d.ts +4 -0
  252. package/packages/workers/src/http/middleware/QueueNameSanitizer.d.ts.map +1 -0
  253. package/packages/workers/src/http/middleware/QueueNameSanitizer.js +45 -0
  254. package/packages/workers/src/http/middleware/ValidateDriver.d.ts +8 -0
  255. package/packages/workers/src/http/middleware/ValidateDriver.d.ts.map +1 -0
  256. package/packages/workers/src/http/middleware/ValidateDriver.js +20 -0
  257. package/packages/workers/src/http/middleware/VersionSanitizer.d.ts +4 -0
  258. package/packages/workers/src/http/middleware/VersionSanitizer.d.ts.map +1 -0
  259. package/packages/workers/src/http/middleware/VersionSanitizer.js +25 -0
  260. package/packages/workers/src/http/middleware/WorkerNameSanitizer.d.ts +4 -0
  261. package/packages/workers/src/http/middleware/WorkerNameSanitizer.d.ts.map +1 -0
  262. package/packages/workers/src/http/middleware/WorkerNameSanitizer.js +46 -0
  263. package/packages/workers/src/http/middleware/WorkerValidationChain.d.ts +28 -0
  264. package/packages/workers/src/http/middleware/WorkerValidationChain.d.ts.map +1 -0
  265. package/packages/workers/src/http/middleware/WorkerValidationChain.js +186 -0
  266. package/packages/workers/src/index.d.ts +47 -0
  267. package/packages/workers/src/index.d.ts.map +1 -0
  268. package/packages/workers/src/index.js +48 -0
  269. package/packages/workers/src/routes/workers.d.ts +13 -0
  270. package/packages/workers/src/routes/workers.d.ts.map +1 -0
  271. package/packages/workers/src/routes/workers.js +126 -0
  272. package/packages/workers/src/storage/WorkerStore.d.ts +52 -0
  273. package/packages/workers/src/storage/WorkerStore.d.ts.map +1 -0
  274. package/packages/workers/src/storage/WorkerStore.js +259 -0
  275. package/packages/workers/src/telemetry/api/TelemetryAPI.d.ts +47 -0
  276. package/packages/workers/src/telemetry/api/TelemetryAPI.d.ts.map +1 -0
  277. package/packages/workers/src/telemetry/api/TelemetryAPI.js +219 -0
  278. package/packages/workers/src/telemetry/api/TelemetryMonitoringService.d.ts +18 -0
  279. package/packages/workers/src/telemetry/api/TelemetryMonitoringService.d.ts.map +1 -0
  280. package/packages/workers/src/telemetry/api/TelemetryMonitoringService.js +140 -0
  281. package/packages/workers/src/telemetry/components/AlertPanel.d.ts +2 -0
  282. package/packages/workers/src/telemetry/components/AlertPanel.d.ts.map +1 -0
  283. package/packages/workers/src/telemetry/components/AlertPanel.js +13 -0
  284. package/packages/workers/src/telemetry/components/CostTracking.d.ts +2 -0
  285. package/packages/workers/src/telemetry/components/CostTracking.d.ts.map +1 -0
  286. package/packages/workers/src/telemetry/components/CostTracking.js +14 -0
  287. package/packages/workers/src/telemetry/components/ResourceUsageChart.d.ts +2 -0
  288. package/packages/workers/src/telemetry/components/ResourceUsageChart.d.ts.map +1 -0
  289. package/packages/workers/src/telemetry/components/ResourceUsageChart.js +11 -0
  290. package/packages/workers/src/telemetry/components/WorkerHealthChart.d.ts +2 -0
  291. package/packages/workers/src/telemetry/components/WorkerHealthChart.d.ts.map +1 -0
  292. package/packages/workers/src/telemetry/components/WorkerHealthChart.js +11 -0
  293. package/packages/workers/src/telemetry/index.d.ts +16 -0
  294. package/packages/workers/src/telemetry/index.d.ts.map +1 -0
  295. package/packages/workers/src/telemetry/index.js +60 -0
  296. package/packages/workers/src/telemetry/routes/dashboard.d.ts +7 -0
  297. package/packages/workers/src/telemetry/routes/dashboard.d.ts.map +1 -0
  298. package/packages/workers/src/telemetry/routes/dashboard.js +608 -0
  299. package/packages/workers/src/type.d.ts +77 -0
  300. package/packages/workers/src/type.d.ts.map +1 -0
  301. package/packages/workers/src/type.js +1 -0
  302. package/packages/workers/src/ui/router/EmbeddedAssets.d.ts +5 -0
  303. package/packages/workers/src/ui/router/EmbeddedAssets.d.ts.map +1 -0
  304. package/packages/workers/src/ui/router/EmbeddedAssets.js +13 -0
  305. package/packages/workers/src/ui/router/ui.d.ts +4 -0
  306. package/packages/workers/src/ui/router/ui.d.ts.map +1 -0
  307. package/packages/workers/src/ui/router/ui.js +208 -0
  308. package/packages/workers/src/ui/types/worker-ui.d.ts +230 -0
  309. package/packages/workers/src/ui/types/worker-ui.d.ts.map +1 -0
  310. package/packages/workers/src/ui/types/worker-ui.js +5 -0
  311. package/routes/api.d.ts +7 -0
  312. package/routes/api.d.ts.map +1 -0
  313. package/routes/api.js +129 -0
  314. package/routes/broadcast.d.ts +9 -0
  315. package/routes/broadcast.d.ts.map +1 -0
  316. package/routes/broadcast.js +27 -0
  317. package/routes/storage.d.ts +4 -0
  318. package/routes/storage.d.ts.map +1 -0
  319. package/routes/storage.js +35 -0
  320. package/src/boot/bootstrap.js +27 -11
  321. package/src/boot/registry/runtime.d.ts.map +1 -1
  322. package/src/boot/registry/runtime.js +11 -0
  323. package/src/cache/Cache.d.ts.map +1 -1
  324. package/src/cache/Cache.js +40 -8
  325. package/src/cache/drivers/KVRemoteDriver.d.ts +1 -1
  326. package/src/cache/drivers/KVRemoteDriver.d.ts.map +1 -1
  327. package/src/cache/drivers/KVRemoteDriver.js +259 -44
  328. package/src/cache/drivers/MemoryDriver.d.ts.map +1 -1
  329. package/src/cache/drivers/MemoryDriver.js +10 -2
  330. package/src/cache/drivers/RedisDriver.d.ts.map +1 -1
  331. package/src/cache/drivers/RedisDriver.js +256 -33
  332. package/src/cli/CLI.d.ts.map +1 -1
  333. package/src/cli/CLI.js +12 -0
  334. package/src/cli/commands/ConfigCommand.d.ts.map +1 -1
  335. package/src/cli/commands/ConfigCommand.js +3 -5
  336. package/src/cli/commands/D1LearnCommand.d.ts +9 -0
  337. package/src/cli/commands/D1LearnCommand.d.ts.map +1 -0
  338. package/src/cli/commands/D1LearnCommand.js +143 -0
  339. package/src/cli/commands/D1MigrateCommand.d.ts.map +1 -1
  340. package/src/cli/commands/D1MigrateCommand.js +55 -16
  341. package/src/cli/commands/InitContainerCommand.d.ts.map +1 -1
  342. package/src/cli/commands/InitContainerCommand.js +30 -15
  343. package/src/cli/commands/InitEcosystemCommand.d.ts +6 -0
  344. package/src/cli/commands/InitEcosystemCommand.d.ts.map +1 -0
  345. package/src/cli/commands/InitEcosystemCommand.js +51 -0
  346. package/src/cli/commands/MigrateCommand.d.ts.map +1 -1
  347. package/src/cli/commands/MigrateCommand.js +78 -36
  348. package/src/cli/commands/MigrateWorkerCommand.d.ts.map +1 -1
  349. package/src/cli/commands/MigrateWorkerCommand.js +36 -2
  350. package/src/cli/commands/NewCommand.d.ts.map +1 -1
  351. package/src/cli/commands/NewCommand.js +33 -0
  352. package/src/cli/commands/PutCommand.d.ts +6 -0
  353. package/src/cli/commands/PutCommand.d.ts.map +1 -0
  354. package/src/cli/commands/PutCommand.js +173 -0
  355. package/src/cli/commands/QueueRecoveryCommand.d.ts.map +1 -1
  356. package/src/cli/commands/QueueRecoveryCommand.js +113 -14
  357. package/src/cli/commands/ScheduleListCommand.d.ts +6 -0
  358. package/src/cli/commands/ScheduleListCommand.d.ts.map +1 -0
  359. package/src/cli/commands/ScheduleListCommand.js +62 -0
  360. package/src/cli/commands/ScheduleRunCommand.d.ts +6 -0
  361. package/src/cli/commands/ScheduleRunCommand.d.ts.map +1 -0
  362. package/src/cli/commands/ScheduleRunCommand.js +32 -0
  363. package/src/cli/commands/ScheduleStartCommand.d.ts +6 -0
  364. package/src/cli/commands/ScheduleStartCommand.d.ts.map +1 -0
  365. package/src/cli/commands/ScheduleStartCommand.js +40 -0
  366. package/src/cli/commands/SecretsCommand.d.ts.map +1 -1
  367. package/src/cli/commands/SecretsCommand.js +2 -2
  368. package/src/cli/commands/StartCommand.d.ts.map +1 -1
  369. package/src/cli/commands/StartCommand.js +23 -1
  370. package/src/cli/commands/schedule/ScheduleCliSupport.d.ts +6 -0
  371. package/src/cli/commands/schedule/ScheduleCliSupport.d.ts.map +1 -0
  372. package/src/cli/commands/schedule/ScheduleCliSupport.js +55 -0
  373. package/src/cli/config/ConfigManager.d.ts.map +1 -1
  374. package/src/cli/config/ConfigManager.js +8 -1
  375. package/src/cli/d1/D1SqlMigrations.d.ts.map +1 -1
  376. package/src/cli/d1/D1SqlMigrations.js +11 -1
  377. package/src/cli/d1/WranglerConfig.d.ts.map +1 -1
  378. package/src/cli/d1/WranglerConfig.js +34 -2
  379. package/src/cli/scaffolding/ProjectScaffolder.d.ts.map +1 -1
  380. package/src/cli/scaffolding/ProjectScaffolder.js +65 -73
  381. package/src/cli/services/VersionChecker.d.ts.map +1 -1
  382. package/src/cli/services/VersionChecker.js +5 -1
  383. package/src/cli/utils/DatabaseCliUtils.d.ts.map +1 -1
  384. package/src/cli/utils/DatabaseCliUtils.js +6 -1
  385. package/src/cli/utils/DistPackager.d.ts.map +1 -1
  386. package/src/cli/utils/DistPackager.js +25 -0
  387. package/src/cli/utils/EnvFileLoader.d.ts +1 -0
  388. package/src/cli/utils/EnvFileLoader.d.ts.map +1 -1
  389. package/src/cli/utils/EnvFileLoader.js +47 -14
  390. package/src/cli.d.ts +5 -0
  391. package/src/cli.d.ts.map +1 -0
  392. package/src/cli.js +4 -0
  393. package/src/collections/index.d.ts +2 -2
  394. package/src/collections/index.d.ts.map +1 -1
  395. package/src/collections/index.js +1 -1
  396. package/src/common/RemoteSignedJson.d.ts.map +1 -1
  397. package/src/common/RemoteSignedJson.js +58 -25
  398. package/src/common/utility.d.ts.map +1 -1
  399. package/src/common/utility.js +2 -6
  400. package/src/config/cache.js +1 -1
  401. package/src/config/cloudflare.d.ts.map +1 -1
  402. package/src/config/cloudflare.js +19 -8
  403. package/src/config/env.d.ts +7 -0
  404. package/src/config/env.d.ts.map +1 -1
  405. package/src/config/env.js +10 -2
  406. package/src/config/queue.js +1 -1
  407. package/src/functions/cloudflare.d.ts.map +1 -1
  408. package/src/functions/cloudflare.js +4 -2
  409. package/src/helper/index.d.ts +225 -0
  410. package/src/helper/index.d.ts.map +1 -0
  411. package/src/helper/index.js +347 -0
  412. package/src/index.d.ts +3 -6
  413. package/src/index.d.ts.map +1 -1
  414. package/src/index.js +7 -9
  415. package/src/middleware/JwtAuthMiddleware.d.ts.map +1 -1
  416. package/src/middleware/JwtAuthMiddleware.js +11 -5
  417. package/src/migrations/MigrationDiscovery.d.ts.map +1 -1
  418. package/src/migrations/MigrationDiscovery.js +2 -1
  419. package/src/orm/DatabaseAdapter.d.ts +1 -0
  420. package/src/orm/DatabaseAdapter.d.ts.map +1 -1
  421. package/src/orm/SchemaStatemenWriter.d.ts +15 -0
  422. package/src/orm/SchemaStatemenWriter.d.ts.map +1 -0
  423. package/src/orm/SchemaStatemenWriter.js +78 -0
  424. package/src/orm/adapters/D1Adapter.d.ts.map +1 -1
  425. package/src/orm/adapters/D1Adapter.js +52 -2
  426. package/src/orm/adapters/D1RemoteAdapter.d.ts.map +1 -1
  427. package/src/orm/adapters/D1RemoteAdapter.js +137 -89
  428. package/src/orm/adapters/MySQLProxyAdapter.d.ts.map +1 -1
  429. package/src/orm/adapters/MySQLProxyAdapter.js +100 -81
  430. package/src/orm/adapters/PostgreSQLProxyAdapter.d.ts.map +1 -1
  431. package/src/orm/adapters/PostgreSQLProxyAdapter.js +26 -10
  432. package/src/orm/adapters/SqlProxyAdapterUtils.d.ts.map +1 -1
  433. package/src/orm/adapters/SqlProxyAdapterUtils.js +2 -1
  434. package/src/orm/adapters/SqlProxyRegistryMode.d.ts +12 -0
  435. package/src/orm/adapters/SqlProxyRegistryMode.d.ts.map +1 -0
  436. package/src/orm/adapters/SqlProxyRegistryMode.js +24 -0
  437. package/src/orm/adapters/SqlServerProxyAdapter.d.ts +3 -0
  438. package/src/orm/adapters/SqlServerProxyAdapter.d.ts.map +1 -1
  439. package/src/orm/adapters/SqlServerProxyAdapter.js +125 -117
  440. package/src/orm/migrations/MigrationStore.js +1 -1
  441. package/src/proxy/ProxyRequestParsing.d.ts +9 -0
  442. package/src/proxy/ProxyRequestParsing.d.ts.map +1 -0
  443. package/src/proxy/ProxyRequestParsing.js +16 -0
  444. package/src/proxy/RequestValidator.d.ts.map +1 -1
  445. package/src/proxy/RequestValidator.js +2 -1
  446. package/src/proxy/SigningService.js +2 -2
  447. package/src/proxy/SqlProxyDbOverrides.d.ts +17 -0
  448. package/src/proxy/SqlProxyDbOverrides.d.ts.map +1 -0
  449. package/src/proxy/SqlProxyDbOverrides.js +1 -0
  450. package/src/proxy/SqlProxyServerDeps.d.ts +12 -0
  451. package/src/proxy/SqlProxyServerDeps.d.ts.map +1 -0
  452. package/src/proxy/SqlProxyServerDeps.js +9 -0
  453. package/src/proxy/StatementPayloadValidator.d.ts +13 -0
  454. package/src/proxy/StatementPayloadValidator.d.ts.map +1 -0
  455. package/src/proxy/StatementPayloadValidator.js +18 -0
  456. package/src/proxy/StatementRegistryLoader.d.ts +2 -0
  457. package/src/proxy/StatementRegistryLoader.d.ts.map +1 -0
  458. package/src/proxy/StatementRegistryLoader.js +36 -0
  459. package/src/proxy/StatementRegistryResolver.d.ts +15 -0
  460. package/src/proxy/StatementRegistryResolver.d.ts.map +1 -0
  461. package/src/proxy/StatementRegistryResolver.js +34 -0
  462. package/src/proxy/d1/ZintrustD1Proxy.d.ts +2 -1
  463. package/src/proxy/d1/ZintrustD1Proxy.d.ts.map +1 -1
  464. package/src/proxy/d1/ZintrustD1Proxy.js +2 -1
  465. package/src/proxy/isMutatingSql.d.ts +2 -0
  466. package/src/proxy/isMutatingSql.d.ts.map +1 -0
  467. package/src/proxy/isMutatingSql.js +12 -0
  468. package/src/proxy/kv/ZintrustKvProxy.d.ts +2 -1
  469. package/src/proxy/kv/ZintrustKvProxy.d.ts.map +1 -1
  470. package/src/proxy/kv/ZintrustKvProxy.js +2 -1
  471. package/src/proxy/mysql/MySqlProxyServer.d.ts +2 -8
  472. package/src/proxy/mysql/MySqlProxyServer.d.ts.map +1 -1
  473. package/src/proxy/mysql/MySqlProxyServer.js +84 -51
  474. package/src/proxy/postgres/PostgresProxyServer.d.ts +2 -8
  475. package/src/proxy/postgres/PostgresProxyServer.d.ts.map +1 -1
  476. package/src/proxy/postgres/PostgresProxyServer.js +86 -48
  477. package/src/proxy/smtp/SmtpProxyServer.d.ts.map +1 -1
  478. package/src/proxy/smtp/SmtpProxyServer.js +6 -5
  479. package/src/proxy/sqlserver/SqlServerProxyServer.d.ts +2 -8
  480. package/src/proxy/sqlserver/SqlServerProxyServer.d.ts.map +1 -1
  481. package/src/proxy/sqlserver/SqlServerProxyServer.js +84 -49
  482. package/src/proxy.d.ts +4 -0
  483. package/src/proxy.d.ts.map +1 -0
  484. package/src/proxy.js +3 -0
  485. package/src/runtime/RuntimeAdapter.d.ts.map +1 -1
  486. package/src/runtime/RuntimeAdapter.js +30 -12
  487. package/src/runtime/adapters/CloudflareAdapter.d.ts.map +1 -1
  488. package/src/runtime/adapters/CloudflareAdapter.js +15 -4
  489. package/src/scheduler/Schedule.d.ts +36 -0
  490. package/src/scheduler/Schedule.d.ts.map +1 -0
  491. package/src/scheduler/Schedule.js +197 -0
  492. package/src/scheduler/ScheduleHttpGateway.d.ts +8 -0
  493. package/src/scheduler/ScheduleHttpGateway.d.ts.map +1 -0
  494. package/src/scheduler/ScheduleHttpGateway.js +196 -0
  495. package/src/scheduler/ScheduleRunner.d.ts +6 -0
  496. package/src/scheduler/ScheduleRunner.d.ts.map +1 -1
  497. package/src/scheduler/ScheduleRunner.js +166 -29
  498. package/src/scheduler/SchedulerRuntime.d.ts +15 -0
  499. package/src/scheduler/SchedulerRuntime.d.ts.map +1 -0
  500. package/src/scheduler/SchedulerRuntime.js +79 -0
  501. package/src/scheduler/cron/Cron.d.ts +19 -0
  502. package/src/scheduler/cron/Cron.d.ts.map +1 -0
  503. package/src/scheduler/cron/Cron.js +200 -0
  504. package/src/scheduler/leader/SchedulerLeader.d.ts +14 -0
  505. package/src/scheduler/leader/SchedulerLeader.d.ts.map +1 -0
  506. package/src/scheduler/leader/SchedulerLeader.js +187 -0
  507. package/src/scheduler/state/ScheduleStateStore.d.ts +27 -0
  508. package/src/scheduler/state/ScheduleStateStore.d.ts.map +1 -0
  509. package/src/scheduler/state/ScheduleStateStore.js +27 -0
  510. package/src/scheduler/types.d.ts +10 -0
  511. package/src/scheduler/types.d.ts.map +1 -1
  512. package/src/schedules/index.d.ts +1 -0
  513. package/src/schedules/index.d.ts.map +1 -1
  514. package/src/schedules/index.js +1 -0
  515. package/src/schedules/job-tracking-cleanup.d.ts +4 -0
  516. package/src/schedules/job-tracking-cleanup.d.ts.map +1 -0
  517. package/src/schedules/job-tracking-cleanup.js +116 -0
  518. package/src/schedules/log-cleanup.d.ts +1 -2
  519. package/src/schedules/log-cleanup.d.ts.map +1 -1
  520. package/src/schedules/log-cleanup.js +12 -15
  521. package/src/security/Sanitizer.d.ts.map +1 -1
  522. package/src/security/Sanitizer.js +1 -9
  523. package/src/security/SignedRequest.d.ts.map +1 -1
  524. package/src/security/SignedRequest.js +2 -2
  525. package/src/security/TokenRevocation.d.ts +19 -2
  526. package/src/security/TokenRevocation.d.ts.map +1 -1
  527. package/src/security/TokenRevocation.js +558 -30
  528. package/src/templates/docker/docker-compose.ecosystem.yml.tpl +301 -0
  529. package/src/templates/docker/docker-compose.schedules.yml.tpl +84 -0
  530. package/src/templates/project/basic/app/Controllers/AuthController.ts.tpl +11 -3
  531. package/src/templates/project/basic/app/Schedules/index.ts.tpl +0 -0
  532. package/src/templates/project/basic/config/database.ts.tpl +1 -1
  533. package/src/templates/project/basic/config/middleware.ts.tpl +23 -22
  534. package/src/templates/project/basic/wrangler.jsonc.tpl +28 -0
  535. package/src/toolkit/Secrets/Manifest.d.ts.map +1 -1
  536. package/src/toolkit/Secrets/Manifest.js +5 -7
  537. package/src/tools/mail/drivers/Smtp.d.ts.map +1 -1
  538. package/src/tools/mail/drivers/Smtp.js +7 -1
  539. package/src/tools/queue/JobReconciliationRunner.d.ts.map +1 -1
  540. package/src/tools/queue/JobReconciliationRunner.js +7 -39
  541. package/src/tools/queue/JobRecoveryDaemon.d.ts.map +1 -1
  542. package/src/tools/queue/JobRecoveryDaemon.js +116 -18
  543. package/src/tools/queue/JobStateTracker.d.ts +10 -1
  544. package/src/tools/queue/JobStateTracker.d.ts.map +1 -1
  545. package/src/tools/queue/JobStateTracker.js +24 -2
  546. package/src/tools/queue/JobStateTrackerDbPersistence.d.ts.map +1 -1
  547. package/src/tools/queue/JobStateTrackerDbPersistence.js +93 -2
@@ -0,0 +1,78 @@
1
+ import { appConfig } from '../config/index.js';
2
+ import { Env } from '../config/env.js';
3
+ import { SignedRequest } from '../security/SignedRequest.js';
4
+ const seenStatementIds = new Set();
5
+ const MAX_SEEN_STATEMENT_IDS = Math.max(1, Env.getInt('SQL_WRITER_MAX_SEEN_STATEMENT_IDS', 50_000));
6
+ const rememberStatementId = (statementId) => {
7
+ if (seenStatementIds.has(statementId))
8
+ return false;
9
+ seenStatementIds.add(statementId);
10
+ // Bound memory growth in long-lived processes.
11
+ if (seenStatementIds.size > MAX_SEEN_STATEMENT_IDS) {
12
+ seenStatementIds.clear();
13
+ seenStatementIds.add(statementId);
14
+ }
15
+ return true;
16
+ };
17
+ export const SchemaWriter = async (sql) => {
18
+ // START LEARNING MODE: If ZT_D1_LEARN_FILE is set, save the statement to JSONL
19
+ const learnFile = Env.get('ZT_D1_LEARN_FILE', '');
20
+ const useSqlWriter = Env.getBool('SQL_WRITER', false);
21
+ if (learnFile === '')
22
+ return;
23
+ if (!(appConfig.isDevelopment() || useSqlWriter))
24
+ return;
25
+ const statementId = await SignedRequest.sha256Hex(sql);
26
+ if (!rememberStatementId(statementId))
27
+ return;
28
+ try {
29
+ const fs = (await import('../node-singletons/fs.js')).fsPromises;
30
+ const line = JSON.stringify({ statementId, sql }) + '\n';
31
+ await fs.appendFile(learnFile, line, 'utf-8');
32
+ }
33
+ catch {
34
+ // Best effort; ignore errors during learning to avoid crashing app
35
+ }
36
+ // END LEARNING MODE
37
+ };
38
+ export const StatementRegistryBuild = Object.freeze({
39
+ /**
40
+ * Convert a JSONL capture file into a registry map.
41
+ *
42
+ * Input line shape: { statementId, sql }
43
+ * Output shape: { [statementId]: sql }
44
+ */
45
+ fromJsonl(jsonlText) {
46
+ const out = {};
47
+ const lines = jsonlText.split(/\r?\n/);
48
+ for (const line of lines) {
49
+ const trimmed = line.trim();
50
+ if (trimmed === '')
51
+ continue;
52
+ try {
53
+ const parsed = JSON.parse(trimmed);
54
+ if (typeof parsed.statementId !== 'string' || parsed.statementId.trim() === '')
55
+ continue;
56
+ if (typeof parsed.sql !== 'string' || parsed.sql.trim() === '')
57
+ continue;
58
+ out[parsed.statementId] = parsed.sql;
59
+ }
60
+ catch {
61
+ // Ignore malformed lines
62
+ }
63
+ }
64
+ return out;
65
+ },
66
+ /** Merge registries, with `next` winning on collisions. */
67
+ merge(base, next) {
68
+ if (base === undefined)
69
+ return next ?? {};
70
+ if (next === undefined)
71
+ return base;
72
+ return { ...base, ...next };
73
+ },
74
+ /** Serialize a registry map as JSON suitable for `ZT_D1_STATEMENTS_JSON`. */
75
+ toStatementsJson(registry) {
76
+ return JSON.stringify(registry);
77
+ },
78
+ });
@@ -1 +1 @@
1
- {"version":3,"file":"D1Adapter.d.ts","sourceRoot":"","sources":["../../../../src/orm/adapters/D1Adapter.ts"],"names":[],"mappings":"AAAA;;GAEG;AAOH,OAAO,KAAK,EACV,cAAc,EAEd,gBAAgB,EAEjB,MAAM,sBAAsB,CAAC;AAU9B;;GAEG;AACH,eAAO,MAAM,SAAS;IACpB;;OAEG;oBAEa,cAAc,GAAG,gBAAgB;EAkHjD,CAAC;AAEH,eAAe,SAAS,CAAC"}
1
+ {"version":3,"file":"D1Adapter.d.ts","sourceRoot":"","sources":["../../../../src/orm/adapters/D1Adapter.ts"],"names":[],"mappings":"AAAA;;GAEG;AAQH,OAAO,KAAK,EACV,cAAc,EAEd,gBAAgB,EAEjB,MAAM,sBAAsB,CAAC;AAyD9B;;GAEG;AACH,eAAO,MAAM,SAAS;IACpB;;OAEG;oBAEa,cAAc,GAAG,gBAAgB;EAkIjD,CAAC;AAEH,eAAe,SAAS,CAAC"}
@@ -5,8 +5,44 @@ import { Cloudflare } from '../../config/cloudflare.js';
5
5
  import { FeatureFlags } from '../../config/features.js';
6
6
  import { Logger } from '../../config/logger.js';
7
7
  import { ErrorFactory } from '../../exceptions/ZintrustError.js';
8
+ import { isObject } from '../../helper/index.js';
8
9
  import { AdaptersEnum } from '../../migrations/enum/index.js';
9
10
  import { QueryBuilder } from '../QueryBuilder.js';
11
+ const isRecord = (value) => isObject(value);
12
+ const toNumber = (value) => {
13
+ if (typeof value === 'number' && Number.isFinite(value))
14
+ return value;
15
+ return null;
16
+ };
17
+ const toInsertId = (value) => {
18
+ if (typeof value === 'number' || typeof value === 'string' || typeof value === 'bigint') {
19
+ return value;
20
+ }
21
+ return undefined;
22
+ };
23
+ const isMutatingSql = (sql) => {
24
+ const normalized = sql.trimStart().toLowerCase();
25
+ return (normalized.startsWith('insert') ||
26
+ normalized.startsWith('update') ||
27
+ normalized.startsWith('delete') ||
28
+ normalized.startsWith('create') ||
29
+ normalized.startsWith('drop') ||
30
+ normalized.startsWith('alter') ||
31
+ normalized.startsWith('replace'));
32
+ };
33
+ const extractMeta = (value) => {
34
+ if (!isRecord(value))
35
+ return { changes: 0 };
36
+ const changes = toNumber(value['changes']) ??
37
+ toNumber(value['rows_written']) ??
38
+ toNumber(value['rows_read']) ??
39
+ 0;
40
+ const lastInsertId = toInsertId(value['lastRowId']) ??
41
+ toInsertId(value['last_row_id']) ??
42
+ toInsertId(value['lastInsertRowid']) ??
43
+ toInsertId(value['last_insert_rowid']);
44
+ return { changes, lastInsertId };
45
+ };
10
46
  /**
11
47
  * Get D1 binding from config or global environment
12
48
  */
@@ -43,11 +79,25 @@ export const D1Adapter = Object.freeze({
43
79
  }
44
80
  try {
45
81
  const stmt = db.prepare(sql);
82
+ if (isMutatingSql(sql)) {
83
+ const runResult = await stmt.bind(...parameters).run();
84
+ const runRecord = runResult;
85
+ const meta = extractMeta(runRecord.meta);
86
+ return {
87
+ rows: [],
88
+ rowCount: meta.changes,
89
+ lastInsertId: meta.lastInsertId,
90
+ };
91
+ }
46
92
  const result = await stmt.bind(...parameters).all();
47
- const rows = result.results ?? [];
93
+ const rawResult = result;
94
+ const rows = rawResult.results ?? [];
95
+ const metaValue = rawResult.meta;
96
+ const meta = extractMeta(metaValue);
48
97
  return {
49
98
  rows,
50
- rowCount: rows.length,
99
+ rowCount: rows.length > 0 ? rows.length : meta.changes,
100
+ lastInsertId: meta.lastInsertId,
51
101
  };
52
102
  }
53
103
  catch (error) {
@@ -1 +1 @@
1
- {"version":3,"file":"D1RemoteAdapter.d.ts","sourceRoot":"","sources":["../../../../src/orm/adapters/D1RemoteAdapter.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAMH,OAAO,KAAK,EAAE,cAAc,EAAE,gBAAgB,EAAe,MAAM,sBAAsB,CAAC;AA2J1F,eAAO,MAAM,eAAe;oBACV,cAAc,GAAG,gBAAgB;EA+EjD,CAAC;AAEH,eAAe,eAAe,CAAC"}
1
+ {"version":3,"file":"D1RemoteAdapter.d.ts","sourceRoot":"","sources":["../../../../src/orm/adapters/D1RemoteAdapter.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AASH,OAAO,KAAK,EAAE,cAAc,EAAE,gBAAgB,EAAe,MAAM,sBAAsB,CAAC;AA2T1F,eAAO,MAAM,eAAe;oBACV,cAAc,GAAG,gBAAgB;EAgBjD,CAAC;AAEH,eAAe,eAAe,CAAC"}
@@ -5,10 +5,15 @@
5
5
  */
6
6
  import { RemoteSignedJson } from '../../common/RemoteSignedJson.js';
7
7
  import { Env } from '../../config/env.js';
8
+ import { Logger } from '../../config/logger.js';
8
9
  import { ErrorFactory } from '../../exceptions/ZintrustError.js';
9
10
  import { AdaptersEnum } from '../../migrations/enum/index.js';
11
+ import { isRecord } from '../adapters/SqlProxyAdapterUtils.js';
12
+ import { createStatementId } from '../adapters/SqlProxyRegistryMode.js';
10
13
  import { QueryBuilder } from '../QueryBuilder.js';
11
- import { SignedRequest } from '../../security/SignedRequest.js';
14
+ import { SchemaWriter } from '../SchemaStatemenWriter.js';
15
+ import { isMutatingSql } from '../../proxy/isMutatingSql.js';
16
+ let warnedFallbackCredentials = false;
12
17
  const resolveSigningPrefix = (baseUrl) => {
13
18
  try {
14
19
  const parsed = new URL(baseUrl);
@@ -22,11 +27,25 @@ const resolveSigningPrefix = (baseUrl) => {
22
27
  }
23
28
  };
24
29
  const createRemoteConfig = () => {
30
+ const directKeyId = Env.get('D1_REMOTE_KEY_ID', '').trim();
31
+ const directSecret = Env.get('D1_REMOTE_SECRET', '').trim();
32
+ // Intentionally pass empty values when missing so RemoteSignedJson's credential normalizer
33
+ // derives the fallback keyId/secret (APP_NAME/APP_KEY) in a consistent, safe way.
34
+ const keyId = directKeyId === '' ? '' : directKeyId;
35
+ const secret = directSecret === '' ? '' : directSecret;
36
+ if (directKeyId === '' || directSecret === '') {
37
+ if (!warnedFallbackCredentials) {
38
+ warnedFallbackCredentials = true;
39
+ Logger.warn('D1_REMOTE_KEY_ID / D1_REMOTE_SECRET missing; using fallback signing credentials (APP_NAME / APP_KEY).');
40
+ }
41
+ }
42
+ const envName = (Env.get('NODE_ENV', 'development') || 'development').trim().toLowerCase();
43
+ const defaultMode = envName === 'production' ? 'registry' : 'sql';
25
44
  const settings = {
26
45
  baseUrl: Env.get('D1_REMOTE_URL'),
27
- keyId: Env.get('D1_REMOTE_KEY_ID'),
28
- secret: Env.get('D1_REMOTE_SECRET', Env.APP_KEY),
29
- mode: Env.get('D1_REMOTE_MODE', 'registry') ?? 'registry',
46
+ keyId,
47
+ secret,
48
+ mode: Env.get('D1_REMOTE_MODE', defaultMode) ?? defaultMode,
30
49
  timeoutMs: Env.getInt('ZT_PROXY_TIMEOUT_MS', Env.REQUEST_TIMEOUT),
31
50
  };
32
51
  const remote = {
@@ -36,7 +55,7 @@ const createRemoteConfig = () => {
36
55
  timeoutMs: settings.timeoutMs,
37
56
  signaturePathPrefixToStrip: resolveSigningPrefix(settings.baseUrl),
38
57
  missingUrlMessage: 'D1 remote proxy URL is missing (D1_REMOTE_URL)',
39
- missingCredentialsMessage: 'D1 remote signing credentials are missing (D1_REMOTE_KEY_ID / D1_REMOTE_SECRET)',
58
+ missingCredentialsMessage: 'D1 remote signing credentials are missing (D1_REMOTE_KEY_ID / D1_REMOTE_SECRET). Fallbacks: APP_NAME and APP_KEY.',
40
59
  messages: {
41
60
  unauthorized: 'D1 remote proxy unauthorized',
42
61
  forbidden: 'D1 remote proxy forbidden',
@@ -48,33 +67,33 @@ const createRemoteConfig = () => {
48
67
  };
49
68
  return { mode: settings.mode, remote };
50
69
  };
51
- const isMutatingSql = (sql) => {
52
- const s = sql.trimStart().toLowerCase();
53
- return (s.startsWith('insert') ||
54
- s.startsWith('update') ||
55
- s.startsWith('delete') ||
56
- s.startsWith('create') ||
57
- s.startsWith('drop') ||
58
- s.startsWith('alter') ||
59
- s.startsWith('replace'));
60
- };
61
70
  const createStatementPayload = async (sql, parameters) => {
62
- const statementId = await SignedRequest.sha256Hex(sql);
71
+ const statementId = await createStatementId(sql);
72
+ await SchemaWriter(sql);
63
73
  return { statementId, params: parameters };
64
74
  };
65
- const isRecord = (value) => typeof value === 'object' && value !== null;
66
75
  const isQueryResponse = (value) => isRecord(value) &&
67
76
  Array.isArray(value['rows']) &&
68
77
  typeof value['rowCount'] === 'number' &&
69
78
  value['rows'].every((r) => isRecord(r));
70
79
  const isQueryOneResponse = (value) => isRecord(value) && 'row' in value && (value['row'] === null || isRecord(value['row']));
71
- const getExecChanges = (value) => {
80
+ const getExecMeta = (value) => {
72
81
  if (!isRecord(value) || typeof value['ok'] !== 'boolean')
73
- return 0;
82
+ return { changes: 0 };
74
83
  const meta = value['meta'];
75
- if (!isRecord(meta) || typeof meta['changes'] !== 'number')
76
- return 0;
77
- return meta['changes'];
84
+ if (!isRecord(meta))
85
+ return { changes: 0 };
86
+ const changes = typeof meta['changes'] === 'number' ? meta['changes'] : 0;
87
+ const lastRowIdCandidate = meta['lastRowId'] ??
88
+ meta['last_row_id'] ??
89
+ meta['lastInsertRowid'] ??
90
+ meta['last_insert_rowid'];
91
+ const lastRowId = typeof lastRowIdCandidate === 'number' ||
92
+ typeof lastRowIdCandidate === 'string' ||
93
+ typeof lastRowIdCandidate === 'bigint'
94
+ ? lastRowIdCandidate
95
+ : undefined;
96
+ return { changes, lastRowId };
78
97
  };
79
98
  const queryRegistry = async (settings, sql, parameters) => {
80
99
  const payload = await createStatementPayload(sql, parameters);
@@ -86,15 +105,18 @@ const queryRegistry = async (settings, sql, parameters) => {
86
105
  const row = out.row;
87
106
  return { rows: row ? [row] : [], rowCount: row ? 1 : 0 };
88
107
  }
89
- return { rows: [], rowCount: getExecChanges(out) };
108
+ const meta = getExecMeta(out);
109
+ return { rows: [], rowCount: meta.changes, lastInsertId: meta.lastRowId };
90
110
  };
91
111
  const querySqlMode = async (settings, sql, parameters) => {
112
+ await SchemaWriter(sql);
92
113
  if (isMutatingSql(sql)) {
93
114
  const out = await RemoteSignedJson.request(settings, '/zin/d1/exec', {
94
115
  sql,
95
116
  params: parameters,
96
117
  });
97
- return { rows: [], rowCount: getExecChanges(out) };
118
+ const meta = getExecMeta(out);
119
+ return { rows: [], rowCount: meta.changes, lastInsertId: meta.lastRowId };
98
120
  }
99
121
  const out = await RemoteSignedJson.request(settings, '/zin/d1/query', {
100
122
  sql,
@@ -102,75 +124,101 @@ const querySqlMode = async (settings, sql, parameters) => {
102
124
  });
103
125
  return { rows: out.rows, rowCount: out.rowCount };
104
126
  };
127
+ const requireConnected = (getConnected) => {
128
+ if (!getConnected())
129
+ throw ErrorFactory.createConnectionError('Database not connected');
130
+ };
131
+ const createConnectMethod = (setConnected) => async () => {
132
+ setConnected(true);
133
+ return Promise.resolve(); // NOSONAR
134
+ };
135
+ const createDisconnectMethod = (setConnected) => async () => {
136
+ setConnected(false);
137
+ return Promise.resolve(); // NOSONAR
138
+ };
139
+ const createQueryMethod = (getConnected, mode, remote) => async (sql, parameters) => {
140
+ requireConnected(getConnected);
141
+ if (mode === 'registry') {
142
+ return queryRegistry(remote, sql, parameters);
143
+ }
144
+ return querySqlMode(remote, sql, parameters);
145
+ };
146
+ const createQueryOneMethod = (getConnected, mode, remote) => async (sql, parameters) => {
147
+ requireConnected(getConnected);
148
+ if (mode === 'registry') {
149
+ const payload = await createStatementPayload(sql, parameters);
150
+ const out = await RemoteSignedJson.request(remote, '/zin/d1/statement', payload);
151
+ if (isQueryOneResponse(out))
152
+ return out.row;
153
+ if (isQueryResponse(out))
154
+ return out.rows[0] ?? null;
155
+ return null;
156
+ }
157
+ await SchemaWriter(sql);
158
+ const out = await RemoteSignedJson.request(remote, '/zin/d1/queryOne', {
159
+ sql,
160
+ params: parameters,
161
+ });
162
+ return out.row;
163
+ };
164
+ const createPingMethod = (getConnected, methods) => async () => {
165
+ requireConnected(getConnected);
166
+ const sql = QueryBuilder.create('').select('1').toSQL();
167
+ await methods.queryOne(sql, []);
168
+ };
169
+ const createTransactionMethod = (getConnected, methods) => async (callback) => {
170
+ requireConnected(getConnected);
171
+ try {
172
+ return await callback(methods);
173
+ }
174
+ catch (error) {
175
+ throw ErrorFactory.createTryCatchError('Transaction failed', error);
176
+ }
177
+ };
178
+ const createEnsureMigrationsTableMethod = (getConnected, methods) => async () => {
179
+ requireConnected(getConnected);
180
+ // D1 is SQLite under the hood; this schema matches the core migrator's expectations.
181
+ // Note: d1-remote migrations are expected to run in SQL mode (the CLI enforces this).
182
+ await methods.query(`CREATE TABLE IF NOT EXISTS migrations (
183
+ id INTEGER PRIMARY KEY AUTOINCREMENT,
184
+ name TEXT NOT NULL,
185
+ scope TEXT NOT NULL DEFAULT 'global',
186
+ service TEXT NOT NULL DEFAULT '',
187
+ batch INTEGER NOT NULL,
188
+ status TEXT NOT NULL,
189
+ applied_at TEXT NULL,
190
+ created_at TEXT NOT NULL,
191
+ UNIQUE(name, scope, service)
192
+ )`, []);
193
+ };
194
+ const createRawQueryMethod = (methods) => async (sql, parameters = []) => {
195
+ const out = await methods.query(sql, parameters);
196
+ return out.rows;
197
+ };
198
+ const createAdapterMethods = (getConnected, setConnected, mode, remote) => {
199
+ const methods = {};
200
+ methods.connect = createConnectMethod(setConnected);
201
+ methods.disconnect = createDisconnectMethod(setConnected);
202
+ methods.query = createQueryMethod(getConnected, mode, remote);
203
+ methods.queryOne = createQueryOneMethod(getConnected, mode, remote);
204
+ methods.ping = createPingMethod(getConnected, methods);
205
+ methods.transaction = createTransactionMethod(getConnected, methods);
206
+ methods.ensureMigrationsTable = createEnsureMigrationsTableMethod(getConnected, methods);
207
+ methods.rawQuery = createRawQueryMethod(methods);
208
+ methods.getType = () => AdaptersEnum.d1Remote;
209
+ methods.isConnected = () => getConnected();
210
+ methods.getPlaceholder = (_index) => '?';
211
+ return methods;
212
+ };
213
+ const createAdapter = (getConnected, setConnected, mode, remote) => createAdapterMethods(getConnected, setConnected, mode, remote);
105
214
  export const D1RemoteAdapter = Object.freeze({
106
215
  create(_config) {
107
216
  let connected = false;
108
217
  const { mode, remote } = createRemoteConfig();
109
- return {
110
- // eslint-disable-next-line @typescript-eslint/require-await
111
- async connect() {
112
- connected = true;
113
- },
114
- // eslint-disable-next-line @typescript-eslint/require-await
115
- async disconnect() {
116
- connected = false;
117
- },
118
- async query(sql, parameters) {
119
- if (!connected)
120
- throw ErrorFactory.createConnectionError('Database not connected');
121
- if (mode === 'registry') {
122
- return queryRegistry(remote, sql, parameters);
123
- }
124
- return querySqlMode(remote, sql, parameters);
125
- },
126
- async queryOne(sql, parameters) {
127
- if (!connected)
128
- throw ErrorFactory.createConnectionError('Database not connected');
129
- if (mode === 'registry') {
130
- const payload = await createStatementPayload(sql, parameters);
131
- const out = await RemoteSignedJson.request(remote, '/zin/d1/statement', payload);
132
- if (isQueryOneResponse(out))
133
- return out.row;
134
- if (isQueryResponse(out))
135
- return out.rows[0] ?? null;
136
- return null;
137
- }
138
- const out = await RemoteSignedJson.request(remote, '/zin/d1/queryOne', {
139
- sql,
140
- params: parameters,
141
- });
142
- return out.row;
143
- },
144
- async ping() {
145
- if (!connected)
146
- throw ErrorFactory.createConnectionError('Database not connected');
147
- const sql = QueryBuilder.create('').select('1').toSQL();
148
- await this.queryOne(sql, []);
149
- },
150
- async transaction(callback) {
151
- if (!connected)
152
- throw ErrorFactory.createConnectionError('Database not connected');
153
- try {
154
- return await callback(this);
155
- }
156
- catch (error) {
157
- throw ErrorFactory.createTryCatchError('Transaction failed', error);
158
- }
159
- },
160
- async rawQuery(sql, parameters = []) {
161
- const out = await this.query(sql, parameters);
162
- return out.rows;
163
- },
164
- getType() {
165
- return AdaptersEnum.d1Remote;
166
- },
167
- isConnected() {
168
- return connected;
169
- },
170
- getPlaceholder(_index) {
171
- return '?';
172
- },
173
- };
218
+ const getConnected = () => connected;
219
+ return createAdapter(getConnected, (value) => {
220
+ connected = value;
221
+ }, mode, remote);
174
222
  },
175
223
  });
176
224
  export default D1RemoteAdapter;
@@ -1 +1 @@
1
- {"version":3,"file":"MySQLProxyAdapter.d.ts","sourceRoot":"","sources":["../../../../src/orm/adapters/MySQLProxyAdapter.ts"],"names":[],"mappings":"AACA;;;;GAIG;AAMH,OAAO,KAAK,EAAE,cAAc,EAAE,gBAAgB,EAAe,MAAM,sBAAsB,CAAC;AAuF1F,eAAO,MAAM,iBAAiB;oBACZ,cAAc,GAAG,gBAAgB;EAqFjD,CAAC;AAEH,eAAe,iBAAiB,CAAC"}
1
+ {"version":3,"file":"MySQLProxyAdapter.d.ts","sourceRoot":"","sources":["../../../../src/orm/adapters/MySQLProxyAdapter.ts"],"names":[],"mappings":"AACA;;;;GAIG;AAkBH,OAAO,KAAK,EAAE,cAAc,EAAE,gBAAgB,EAAe,MAAM,sBAAsB,CAAC;AAiN1F,eAAO,MAAM,iBAAiB;oBACZ,cAAc,GAAG,gBAAgB;EAajD,CAAC;AAEH,eAAe,iBAAiB,CAAC"}
@@ -8,8 +8,9 @@ import { Env } from '../../config/env.js';
8
8
  import { Logger } from '../../config/logger.js';
9
9
  import { ErrorFactory } from '../../exceptions/ZintrustError.js';
10
10
  import { AdaptersEnum } from '../../migrations/enum/index.js';
11
- import { QueryBuilder } from '../QueryBuilder.js';
12
11
  import { ensureSignedSettings, isRecord, requestSignedProxy, } from '../adapters/SqlProxyAdapterUtils.js';
12
+ import { createStatementPayload, getExecMetaWithLastRowId, resolveSqlProxyMode, } from '../adapters/SqlProxyRegistryMode.js';
13
+ import { QueryBuilder } from '../QueryBuilder.js';
13
14
  const buildProxySettings = () => {
14
15
  const baseUrl = Env.MYSQL_PROXY_URL;
15
16
  const keyId = Env.MYSQL_PROXY_KEY_ID ?? '';
@@ -32,16 +33,6 @@ const buildSignedProxyConfig = (settings) => ({
32
33
  });
33
34
  const isQueryResponse = (value) => isRecord(value) && Array.isArray(value['rows']) && typeof value['rowCount'] === 'number';
34
35
  const isQueryOneResponse = (value) => isRecord(value) && 'row' in value;
35
- const getExecMeta = (value) => {
36
- if (!isRecord(value) || typeof value['ok'] !== 'boolean')
37
- return { changes: 0 };
38
- const meta = value['meta'];
39
- if (!isRecord(meta))
40
- return { changes: 0 };
41
- const changes = typeof meta['changes'] === 'number' ? meta['changes'] : 0;
42
- const lastRowId = meta['lastRowId'];
43
- return { changes, lastRowId: lastRowId };
44
- };
45
36
  const requestProxy = async (settings, path, payload) => {
46
37
  const signedProxyConfig = buildSignedProxyConfig(settings);
47
38
  try {
@@ -59,85 +50,113 @@ const requestProxy = async (settings, path, payload) => {
59
50
  throw error;
60
51
  }
61
52
  };
53
+ const resolveProxyMode = () => {
54
+ return resolveSqlProxyMode('MYSQL_PROXY_MODE');
55
+ };
56
+ const requireConnected = (state) => {
57
+ if (!state.connected)
58
+ throw ErrorFactory.createConnectionError('Database not connected');
59
+ };
60
+ const toQueryResult = (out) => {
61
+ if (isQueryResponse(out)) {
62
+ return {
63
+ rows: out.rows,
64
+ rowCount: out.rowCount,
65
+ lastInsertId: out.lastInsertId,
66
+ };
67
+ }
68
+ if (isQueryOneResponse(out)) {
69
+ const row = out.row;
70
+ return { rows: row ? [row] : [], rowCount: row ? 1 : 0 };
71
+ }
72
+ const meta = getExecMetaWithLastRowId(out);
73
+ return { rows: [], rowCount: meta.changes, lastInsertId: meta.lastRowId };
74
+ };
75
+ const createQuery = (state) => async (sql, parameters) => {
76
+ requireConnected(state);
77
+ const mode = resolveProxyMode();
78
+ const out = mode === 'registry'
79
+ ? await requestProxy(state.settings, '/zin/mysql/statement', await createStatementPayload(sql, parameters))
80
+ : await requestProxy(state.settings, '/zin/mysql/query', {
81
+ sql,
82
+ params: parameters,
83
+ });
84
+ return toQueryResult(out);
85
+ };
86
+ const createQueryOne = (state) => async (sql, parameters) => {
87
+ requireConnected(state);
88
+ const mode = resolveProxyMode();
89
+ if (mode !== 'registry') {
90
+ const out = await requestProxy(state.settings, '/zin/mysql/queryOne', {
91
+ sql,
92
+ params: parameters,
93
+ });
94
+ return out.row ?? null;
95
+ }
96
+ const out = await requestProxy(state.settings, '/zin/mysql/statement', await createStatementPayload(sql, parameters));
97
+ if (isQueryOneResponse(out))
98
+ return out.row ?? null;
99
+ if (isQueryResponse(out))
100
+ return out.rows[0] ?? null;
101
+ return null;
102
+ };
103
+ const createPing = (queryOne) => async () => {
104
+ await queryOne(QueryBuilder.create('').select('1').toSQL(), []);
105
+ };
106
+ const createTransaction = (state, getAdapter) => async (callback) => {
107
+ requireConnected(state);
108
+ try {
109
+ return await callback(getAdapter());
110
+ }
111
+ catch (error) {
112
+ throw ErrorFactory.createTryCatchError('MySQL proxy transaction failed', error);
113
+ }
114
+ };
115
+ const createRawQuery = (state, query) => async (sql, parameters = []) => {
116
+ requireConnected(state);
117
+ const out = await query(sql, parameters);
118
+ return out.rows;
119
+ };
120
+ const createAdapter = (state) => {
121
+ const query = createQuery(state);
122
+ const queryOne = createQueryOne(state);
123
+ const ping = createPing(queryOne);
124
+ const adapter = {
125
+ async connect() {
126
+ ensureSignedSettings(buildSignedProxyConfig(state.settings));
127
+ state.connected = true;
128
+ },
129
+ async disconnect() {
130
+ state.connected = false;
131
+ },
132
+ query,
133
+ queryOne,
134
+ ping,
135
+ transaction: createTransaction(state, () => adapter),
136
+ rawQuery: createRawQuery(state, query),
137
+ getType() {
138
+ return AdaptersEnum.mysql;
139
+ },
140
+ isConnected() {
141
+ return state.connected;
142
+ },
143
+ getPlaceholder(_index) {
144
+ return '?';
145
+ },
146
+ };
147
+ return adapter;
148
+ };
62
149
  export const MySQLProxyAdapter = Object.freeze({
63
150
  create(_config) {
64
- let connected = false;
65
151
  const settings = buildProxySettings();
152
+ const state = { connected: false, settings };
66
153
  Logger.info('[MySQLProxyAdapter] Created with runtime settings', {
67
154
  baseUrl: settings.baseUrl,
68
155
  timeoutMs: settings.timeoutMs,
69
156
  hasKeyId: (settings.keyId ?? '').trim() !== '',
70
157
  hasSecret: (settings.secret ?? '').trim() !== '',
71
158
  });
72
- return {
73
- async connect() {
74
- ensureSignedSettings(buildSignedProxyConfig(settings));
75
- connected = true;
76
- },
77
- async disconnect() {
78
- connected = false;
79
- },
80
- async query(sql, parameters) {
81
- if (!connected)
82
- throw ErrorFactory.createConnectionError('Database not connected');
83
- const out = await requestProxy(settings, '/zin/mysql/query', {
84
- sql,
85
- params: parameters,
86
- });
87
- if (isQueryResponse(out)) {
88
- return {
89
- rows: out.rows,
90
- rowCount: out.rowCount,
91
- lastInsertId: out.lastInsertId,
92
- };
93
- }
94
- if (isQueryOneResponse(out)) {
95
- const row = out.row;
96
- return { rows: row ? [row] : [], rowCount: row ? 1 : 0 };
97
- }
98
- const meta = getExecMeta(out);
99
- return { rows: [], rowCount: meta.changes, lastInsertId: meta.lastRowId };
100
- },
101
- async queryOne(sql, parameters) {
102
- if (!connected)
103
- throw ErrorFactory.createConnectionError('Database not connected');
104
- const out = await requestProxy(settings, '/zin/mysql/queryOne', {
105
- sql,
106
- params: parameters,
107
- });
108
- return out.row ?? null;
109
- },
110
- async ping() {
111
- if (!connected)
112
- throw ErrorFactory.createConnectionError('Database not connected');
113
- await this.queryOne(QueryBuilder.create('').select('1').toSQL(), []);
114
- },
115
- async transaction(callback) {
116
- if (!connected)
117
- throw ErrorFactory.createConnectionError('Database not connected');
118
- try {
119
- return await callback(this);
120
- }
121
- catch (error) {
122
- throw ErrorFactory.createTryCatchError('MySQL proxy transaction failed', error);
123
- }
124
- },
125
- async rawQuery(sql, parameters = []) {
126
- if (!connected)
127
- throw ErrorFactory.createConnectionError('Database not connected');
128
- const out = await this.query(sql, parameters);
129
- return out.rows;
130
- },
131
- getType() {
132
- return AdaptersEnum.mysql;
133
- },
134
- isConnected() {
135
- return connected;
136
- },
137
- getPlaceholder(_index) {
138
- return '?';
139
- },
140
- };
159
+ return createAdapter(state);
141
160
  },
142
161
  });
143
162
  export default MySQLProxyAdapter;
@@ -1 +1 @@
1
- {"version":3,"file":"PostgreSQLProxyAdapter.d.ts","sourceRoot":"","sources":["../../../../src/orm/adapters/PostgreSQLProxyAdapter.ts"],"names":[],"mappings":"AACA;;;;GAIG;AAKH,OAAO,KAAK,EAAE,cAAc,EAAE,gBAAgB,EAAe,MAAM,sBAAsB,CAAC;AAkH1F,eAAO,MAAM,sBAAsB;oBACjB,cAAc,GAAG,gBAAgB;EA+DjD,CAAC;AAEH,eAAe,sBAAsB,CAAC"}
1
+ {"version":3,"file":"PostgreSQLProxyAdapter.d.ts","sourceRoot":"","sources":["../../../../src/orm/adapters/PostgreSQLProxyAdapter.ts"],"names":[],"mappings":"AACA;;;;GAIG;AAaH,OAAO,KAAK,EAAE,cAAc,EAAE,gBAAgB,EAAe,MAAM,sBAAsB,CAAC;AAiH1F,eAAO,MAAM,sBAAsB;oBACjB,cAAc,GAAG,gBAAgB;EAwFjD,CAAC;AAEH,eAAe,sBAAsB,CAAC"}