@zintrust/core 0.1.42 → 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 (365) 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 +11 -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/cache/Cache.d.ts.map +1 -1
  321. package/src/cache/Cache.js +40 -8
  322. package/src/cache/drivers/KVRemoteDriver.d.ts +1 -1
  323. package/src/cache/drivers/KVRemoteDriver.d.ts.map +1 -1
  324. package/src/cache/drivers/KVRemoteDriver.js +259 -44
  325. package/src/cache/drivers/MemoryDriver.d.ts.map +1 -1
  326. package/src/cache/drivers/MemoryDriver.js +10 -2
  327. package/src/cache/drivers/RedisDriver.d.ts.map +1 -1
  328. package/src/cache/drivers/RedisDriver.js +256 -33
  329. package/src/cli/commands/InitContainerCommand.js +10 -10
  330. package/src/cli/commands/NewCommand.d.ts.map +1 -1
  331. package/src/cli/commands/NewCommand.js +33 -0
  332. package/src/cli/commands/StartCommand.d.ts.map +1 -1
  333. package/src/cli/commands/StartCommand.js +23 -1
  334. package/src/cli/scaffolding/ProjectScaffolder.d.ts.map +1 -1
  335. package/src/cli/scaffolding/ProjectScaffolder.js +65 -73
  336. package/src/cli/utils/DistPackager.d.ts.map +1 -1
  337. package/src/cli/utils/DistPackager.js +25 -0
  338. package/src/cli/utils/EnvFileLoader.d.ts +1 -0
  339. package/src/cli/utils/EnvFileLoader.d.ts.map +1 -1
  340. package/src/cli/utils/EnvFileLoader.js +14 -0
  341. package/src/common/RemoteSignedJson.d.ts.map +1 -1
  342. package/src/common/RemoteSignedJson.js +9 -2
  343. package/src/config/cache.js +1 -1
  344. package/src/config/env.d.ts +7 -0
  345. package/src/config/env.d.ts.map +1 -1
  346. package/src/config/env.js +8 -0
  347. package/src/config/queue.js +1 -1
  348. package/src/functions/cloudflare.d.ts.map +1 -1
  349. package/src/functions/cloudflare.js +4 -2
  350. package/src/index.js +3 -3
  351. package/src/middleware/JwtAuthMiddleware.d.ts.map +1 -1
  352. package/src/middleware/JwtAuthMiddleware.js +11 -5
  353. package/src/runtime/RuntimeAdapter.d.ts.map +1 -1
  354. package/src/runtime/RuntimeAdapter.js +30 -12
  355. package/src/runtime/adapters/CloudflareAdapter.d.ts.map +1 -1
  356. package/src/runtime/adapters/CloudflareAdapter.js +15 -4
  357. package/src/scheduler/Schedule.js +1 -1
  358. package/src/scheduler/leader/SchedulerLeader.js +1 -1
  359. package/src/schedules/job-tracking-cleanup.js +1 -1
  360. package/src/security/TokenRevocation.d.ts +19 -2
  361. package/src/security/TokenRevocation.d.ts.map +1 -1
  362. package/src/security/TokenRevocation.js +558 -30
  363. package/src/templates/project/basic/app/Controllers/AuthController.ts.tpl +11 -3
  364. package/src/templates/project/basic/config/middleware.ts.tpl +23 -22
  365. package/src/templates/project/basic/wrangler.jsonc.tpl +28 -0
@@ -0,0 +1,37 @@
1
+ import { Env } from '../src/config/env.js';
2
+ /**
3
+ * Broadcast Configuration (default override)
4
+ *
5
+ * Keep this file declarative:
6
+ * - Core owns env parsing/default logic.
7
+ * - Projects can override config by editing values below.
8
+ */
9
+ export default {
10
+ default: Env.get('BROADCAST_CONNECTION', Env.get('BROADCAST_DRIVER', 'inmemory')),
11
+ drivers: {
12
+ inmemory: {
13
+ driver: 'inmemory',
14
+ },
15
+ pusher: {
16
+ driver: 'pusher',
17
+ appId: Env.get('PUSHER_APP_ID', ''),
18
+ key: Env.get('PUSHER_APP_KEY', ''),
19
+ secret: Env.get('PUSHER_APP_SECRET', ''),
20
+ cluster: Env.get('PUSHER_APP_CLUSTER', ''),
21
+ useTLS: Env.getBool('PUSHER_USE_TLS', true),
22
+ },
23
+ redis: {
24
+ driver: 'redis',
25
+ host: Env.get('BROADCAST_REDIS_HOST', Env.get('REDIS_HOST', 'localhost')),
26
+ port: Env.getInt('BROADCAST_REDIS_PORT', Env.getInt('REDIS_PORT', 6379)),
27
+ password: Env.get('BROADCAST_REDIS_PASSWORD', Env.get('REDIS_PASSWORD', '')),
28
+ channelPrefix: Env.get('BROADCAST_CHANNEL_PREFIX', 'broadcast:'),
29
+ },
30
+ redishttps: {
31
+ driver: 'redishttps',
32
+ endpoint: Env.get('REDIS_HTTPS_ENDPOINT', ''),
33
+ token: Env.get('REDIS_HTTPS_TOKEN', ''),
34
+ channelPrefix: Env.get('BROADCAST_CHANNEL_PREFIX', 'broadcast:'),
35
+ },
36
+ },
37
+ };
@@ -0,0 +1,40 @@
1
+ /**
2
+ * Cache Configuration (default override)
3
+ *
4
+ * Keep this file declarative:
5
+ * - Core owns env parsing/default logic.
6
+ * - Projects can override config by editing values below.
7
+ */
8
+ declare const _default: {
9
+ default: string;
10
+ drivers: {
11
+ memory: {
12
+ driver: "memory";
13
+ ttl: number;
14
+ };
15
+ redis: {
16
+ driver: "redis";
17
+ host: string;
18
+ port: number;
19
+ ttl: number;
20
+ };
21
+ mongodb: {
22
+ driver: "mongodb";
23
+ uri: string;
24
+ db: string;
25
+ ttl: number;
26
+ };
27
+ kv: {
28
+ driver: "kv";
29
+ ttl: number;
30
+ };
31
+ 'kv-remote': {
32
+ driver: "kv-remote";
33
+ ttl: number;
34
+ };
35
+ };
36
+ keyPrefix: string;
37
+ ttl: number;
38
+ };
39
+ export default _default;
40
+ //# sourceMappingURL=cache.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cache.d.ts","sourceRoot":"","sources":["../../config/cache.ts"],"names":[],"mappings":"AAIA;;;;;;GAMG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEH,wBA8BiC"}
@@ -0,0 +1,39 @@
1
+ import { Env } from '../src/config/env.js';
2
+ /**
3
+ * Cache Configuration (default override)
4
+ *
5
+ * Keep this file declarative:
6
+ * - Core owns env parsing/default logic.
7
+ * - Projects can override config by editing values below.
8
+ */
9
+ export default {
10
+ default: Env.get('CACHE_CONNECTION', Env.get('CACHE_DRIVER', 'memory')).trim().toLowerCase(),
11
+ drivers: {
12
+ memory: {
13
+ driver: 'memory',
14
+ ttl: Env.getInt('CACHE_MEMORY_TTL', 3600),
15
+ },
16
+ redis: {
17
+ driver: 'redis',
18
+ host: Env.get('REDIS_HOST', 'localhost'),
19
+ port: Env.getInt('REDIS_PORT', 6379),
20
+ ttl: Env.getInt('CACHE_REDIS_TTL', 3600),
21
+ },
22
+ mongodb: {
23
+ driver: 'mongodb',
24
+ uri: Env.get('MONGO_URI', ''),
25
+ db: Env.get('MONGO_DB', 'zintrust_cache'),
26
+ ttl: Env.getInt('CACHE_MONGO_TTL', 3600),
27
+ },
28
+ kv: {
29
+ driver: 'kv',
30
+ ttl: Env.getInt('CACHE_KV_TTL', 3600),
31
+ },
32
+ 'kv-remote': {
33
+ driver: 'kv-remote',
34
+ ttl: Env.getInt('CACHE_KV_TTL', 3600),
35
+ },
36
+ },
37
+ keyPrefix: Env.get('CACHE_KEY_PREFIX', 'zintrust:'),
38
+ ttl: Env.getInt('CACHE_TTL', 3600),
39
+ };
@@ -0,0 +1,58 @@
1
+ declare const _default: {
2
+ default: string;
3
+ connections: {
4
+ sqlite: {
5
+ driver: "sqlite";
6
+ database: string;
7
+ migrations: string;
8
+ };
9
+ d1: {
10
+ driver: "d1";
11
+ };
12
+ 'd1-remote': {
13
+ driver: "d1-remote";
14
+ };
15
+ postgresql: {
16
+ driver: "postgresql";
17
+ host: string;
18
+ port: number;
19
+ database: string;
20
+ username: string;
21
+ password: string;
22
+ ssl: boolean;
23
+ readHosts: string[] | undefined;
24
+ pooling: {
25
+ enabled: boolean;
26
+ min: number;
27
+ max: number;
28
+ idleTimeout: number;
29
+ connectionTimeout: number;
30
+ };
31
+ };
32
+ mysql: {
33
+ driver: "mysql";
34
+ host: string;
35
+ port: number;
36
+ database: string;
37
+ username: string;
38
+ password: string;
39
+ readHosts: string[] | undefined;
40
+ pooling: {
41
+ enabled: boolean;
42
+ min: number;
43
+ max: number;
44
+ };
45
+ };
46
+ sqlserver: {
47
+ driver: "sqlserver";
48
+ host: string;
49
+ port: number;
50
+ database: string;
51
+ username: string;
52
+ password: string;
53
+ readHosts: string[] | undefined;
54
+ };
55
+ };
56
+ };
57
+ export default _default;
58
+ //# sourceMappingURL=database.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"database.d.ts","sourceRoot":"","sources":["../../config/database.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA+FA,wBAGoC"}
@@ -0,0 +1,65 @@
1
+ import { Env } from '../src/config/env.js';
2
+ const parseReadHosts = (raw) => {
3
+ const list = String(raw ?? '')
4
+ .split(',')
5
+ .map((v) => v.trim())
6
+ .filter((v) => v.length > 0);
7
+ return list.length > 0 ? list : undefined;
8
+ };
9
+ const connections = {
10
+ sqlite: {
11
+ driver: 'sqlite',
12
+ database: Env.get('DB_DATABASE_SQLITE', '.zintrust/dbs/zintrust.sqlite'),
13
+ migrations: 'database/migrations',
14
+ },
15
+ d1: {
16
+ driver: 'd1',
17
+ },
18
+ 'd1-remote': {
19
+ driver: 'd1-remote',
20
+ },
21
+ postgresql: {
22
+ driver: 'postgresql',
23
+ host: Env.get('DB_HOST', 'localhost'),
24
+ port: Env.getInt('DB_PORT_POSTGRESQL', 5432),
25
+ database: Env.get('DB_DATABASE_POSTGRESQL', 'postgres'),
26
+ username: Env.get('DB_USERNAME_POSTGRESQL', 'postgres'),
27
+ password: Env.get('DB_PASSWORD_POSTGRESQL', 'pass'),
28
+ ssl: Env.getBool('DB_SSL', false),
29
+ readHosts: parseReadHosts(Env.get('DB_READ_HOSTS_POSTGRESQL', '127.0.0.1')),
30
+ pooling: {
31
+ enabled: Env.getBool('DB_POOLING', true),
32
+ min: Env.getInt('DB_POOL_MIN', 5),
33
+ max: Env.getInt('DB_POOL_MAX', 20),
34
+ idleTimeout: Env.getInt('DB_IDLE_TIMEOUT', 30000),
35
+ connectionTimeout: Env.getInt('DB_CONNECTION_TIMEOUT', 10000),
36
+ },
37
+ },
38
+ mysql: {
39
+ driver: 'mysql',
40
+ host: Env.get('DB_HOST', 'localhost'),
41
+ port: Env.getInt('DB_PORT', 3306),
42
+ database: Env.get('DB_DATABASE', 'zintrust'),
43
+ username: Env.get('DB_USERNAME', 'root'),
44
+ password: Env.get('DB_PASSWORD', 'pass'),
45
+ readHosts: parseReadHosts(Env.get('DB_READ_HOSTS', '127.0.0.1')),
46
+ pooling: {
47
+ enabled: Env.getBool('DB_POOLING', true),
48
+ min: Env.getInt('DB_POOL_MIN', 5),
49
+ max: Env.getInt('DB_POOL_MAX', 20),
50
+ },
51
+ },
52
+ sqlserver: {
53
+ driver: 'sqlserver',
54
+ host: Env.get('DB_HOST_MSSQL', Env.get('DB_HOST', 'localhost')),
55
+ port: Env.getInt('DB_PORT_MSSQL', 1433),
56
+ database: Env.get('DB_DATABASE_MSSQL', 'zintrust'),
57
+ username: Env.get('DB_USERNAME_MSSQL', 'sa'),
58
+ password: Env.get('DB_PASSWORD_MSSQL', 'pass'),
59
+ readHosts: parseReadHosts(Env.get('DB_READ_HOSTS_MSSQL', '127.0.0.1')),
60
+ },
61
+ };
62
+ export default {
63
+ default: Env.get('DB_CONNECTION', 'mysql'),
64
+ connections,
65
+ };
@@ -0,0 +1,51 @@
1
+ /**
2
+ * Mail Configuration (default override)
3
+ *
4
+ * Keep this file declarative:
5
+ * - Core owns env parsing/default logic.
6
+ * - Projects can override config by editing values below.
7
+ */
8
+ declare const _default: {
9
+ default: string;
10
+ from: {
11
+ address: string;
12
+ name: string;
13
+ };
14
+ drivers: {
15
+ disabled: {
16
+ driver: "disabled";
17
+ };
18
+ sendgrid: {
19
+ driver: "sendgrid";
20
+ apiKey: string;
21
+ };
22
+ mailgun: {
23
+ driver: "mailgun";
24
+ apiKey: string;
25
+ domain: string;
26
+ baseUrl: string;
27
+ };
28
+ smtp: {
29
+ driver: "smtp";
30
+ host: string;
31
+ port: number;
32
+ username: string;
33
+ password: string;
34
+ secure: boolean | "starttls";
35
+ };
36
+ nodemailer: {
37
+ driver: "nodemailer";
38
+ host: string;
39
+ port: number;
40
+ username: string;
41
+ password: string;
42
+ secure: boolean | "starttls";
43
+ };
44
+ ses: {
45
+ driver: "ses";
46
+ region: string;
47
+ };
48
+ };
49
+ };
50
+ export default _default;
51
+ //# sourceMappingURL=mail.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mail.d.ts","sourceRoot":"","sources":["../../config/mail.ts"],"names":[],"mappings":"AAIA;;;;;;GAMG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEH,wBAqDgC"}
package/config/mail.js ADDED
@@ -0,0 +1,69 @@
1
+ // @ts-ignore - config templates are excluded from the main TS project in this repo
2
+ import { Env } from '../src/config/env.js';
3
+ /**
4
+ * Mail Configuration (default override)
5
+ *
6
+ * Keep this file declarative:
7
+ * - Core owns env parsing/default logic.
8
+ * - Projects can override config by editing values below.
9
+ */
10
+ export default {
11
+ default: Env.get('MAIL_CONNECTION', Env.get('MAIL_DRIVER', 'smtp')).trim().toLowerCase(),
12
+ from: {
13
+ address: Env.get('MAIL_FROM_ADDRESS', ''),
14
+ name: Env.get('MAIL_FROM_NAME', 'ZinTrust Framework'),
15
+ },
16
+ drivers: {
17
+ disabled: {
18
+ driver: 'disabled',
19
+ },
20
+ sendgrid: {
21
+ driver: 'sendgrid',
22
+ apiKey: Env.get('SENDGRID_API_KEY', ''),
23
+ },
24
+ mailgun: {
25
+ driver: 'mailgun',
26
+ apiKey: Env.get('MAILGUN_API_KEY', ''),
27
+ domain: Env.get('MAILGUN_DOMAIN', ''),
28
+ baseUrl: Env.get('MAILGUN_BASE_URL', 'https://api.mailgun.net').trim(),
29
+ },
30
+ smtp: {
31
+ driver: 'smtp',
32
+ host: Env.get('MAIL_HOST', ''),
33
+ port: Env.getInt('MAIL_PORT', 587),
34
+ username: Env.get('MAIL_USERNAME', ''),
35
+ password: Env.get('MAIL_PASSWORD', ''),
36
+ secure: (() => {
37
+ const raw = Env.get('MAIL_SECURE', '').trim().toLowerCase();
38
+ if (raw === 'starttls')
39
+ return 'starttls';
40
+ if (raw === 'tls' || raw === 'ssl' || raw === 'smtps' || raw === 'implicit')
41
+ return true;
42
+ if (raw === 'none' || raw === 'off' || raw === 'false' || raw === '0')
43
+ return false;
44
+ return Env.getBool('MAIL_SECURE', false);
45
+ })(),
46
+ },
47
+ nodemailer: {
48
+ driver: 'nodemailer',
49
+ host: Env.get('MAIL_HOST', ''),
50
+ port: Env.getInt('MAIL_PORT', 587),
51
+ username: Env.get('MAIL_USERNAME', ''),
52
+ password: Env.get('MAIL_PASSWORD', ''),
53
+ secure: (() => {
54
+ const raw = Env.get('MAIL_SECURE', '').trim().toLowerCase();
55
+ if (raw === 'starttls')
56
+ return 'starttls';
57
+ if (raw === 'tls' || raw === 'ssl' || raw === 'smtps' || raw === 'implicit')
58
+ return true;
59
+ if (raw === 'none' || raw === 'off' || raw === 'false' || raw === '0')
60
+ return false;
61
+ return Env.getBool('MAIL_SECURE', false);
62
+ })(),
63
+ },
64
+ ses: {
65
+ driver: 'ses',
66
+ region: Env.get('AWS_REGION', 'us-east-1'),
67
+ },
68
+ },
69
+ };
@@ -0,0 +1,11 @@
1
+ import type { MiddlewaresType } from '../src/config/middleware';
2
+ /**
3
+ * Middleware Configuration (template)
4
+ *
5
+ * Keep this file declarative:
6
+ * - Core owns middleware construction / any runtime behavior.
7
+ * - Projects can override by editing `middlewareConfigObj`.
8
+ */
9
+ declare const _default: MiddlewaresType;
10
+ export default _default;
11
+ //# sourceMappingURL=middleware.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"middleware.d.ts","sourceRoot":"","sources":["../../config/middleware.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAC1D;;;;;;GAMG;wBAsBE,eAAe;AApBpB,wBAoBqB"}
@@ -0,0 +1,30 @@
1
+ // @ts-ignore - config templates are excluded from the main TS project in this repo
2
+ import { Env } from '../src/config/env.js';
3
+ /**
4
+ * Middleware Configuration (template)
5
+ *
6
+ * Keep this file declarative:
7
+ * - Core owns middleware construction / any runtime behavior.
8
+ * - Projects can override by editing `middlewareConfigObj`.
9
+ */
10
+ export default {
11
+ skipPaths: Env.get('CSRF_SKIP_PATHS', '')
12
+ .split(',')
13
+ .map((m) => m.trim())
14
+ .filter((m) => m.length > 0),
15
+ fillRateLimit: {
16
+ windowMs: 60_000,
17
+ max: 5,
18
+ message: 'Too many fill requests, please try again later.',
19
+ },
20
+ authRateLimit: {
21
+ windowMs: 60_000,
22
+ max: 4,
23
+ message: 'Too many authentication attempts, please try again later.',
24
+ },
25
+ userMutationRateLimit: {
26
+ windowMs: 60_000,
27
+ max: 20,
28
+ message: 'Too many user mutation requests, please try again later.',
29
+ },
30
+ };
@@ -0,0 +1,33 @@
1
+ /**
2
+ * Notification Configuration (default override)
3
+ *
4
+ * Keep this file declarative:
5
+ * - Core owns env parsing/default logic.
6
+ * - Projects can override config by editing values below.
7
+ */
8
+ declare const _default: {
9
+ default: string;
10
+ drivers: {
11
+ console: {
12
+ driver: "console";
13
+ };
14
+ termii: {
15
+ driver: "termii";
16
+ apiKey: string;
17
+ sender: string;
18
+ endpoint: string;
19
+ };
20
+ twilio: {
21
+ driver: "twilio";
22
+ accountSid: string;
23
+ authToken: string;
24
+ fromNumber: string;
25
+ };
26
+ slack: {
27
+ driver: "slack";
28
+ webhookUrl: string;
29
+ };
30
+ };
31
+ };
32
+ export default _default;
33
+ //# sourceMappingURL=notification.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"notification.d.ts","sourceRoot":"","sources":["../../config/notification.ts"],"names":[],"mappings":"AAIA;;;;;;GAMG;;;;;;;;;;;;;;;;;;;;;;;;;AAEH,wBAuBwC"}
@@ -0,0 +1,33 @@
1
+ // @ts-ignore - config templates are excluded from the main TS project in this repo
2
+ import { Env } from '../src/config/env.js';
3
+ /**
4
+ * Notification Configuration (default override)
5
+ *
6
+ * Keep this file declarative:
7
+ * - Core owns env parsing/default logic.
8
+ * - Projects can override config by editing values below.
9
+ */
10
+ export default {
11
+ default: Env.get('NOTIFICATION_CONNECTION', Env.get('NOTIFICATION_DRIVER', 'console')),
12
+ drivers: {
13
+ console: {
14
+ driver: 'console',
15
+ },
16
+ termii: {
17
+ driver: 'termii',
18
+ apiKey: Env.get('TERMII_API_KEY', ''),
19
+ sender: Env.get('TERMII_SENDER', 'Zintrust'),
20
+ endpoint: Env.get('TERMII_ENDPOINT', 'https://api.termii.com/sms/send'),
21
+ },
22
+ twilio: {
23
+ driver: 'twilio',
24
+ accountSid: Env.get('TWILIO_ACCOUNT_SID', ''),
25
+ authToken: Env.get('TWILIO_AUTH_TOKEN', ''),
26
+ fromNumber: Env.get('TWILIO_FROM_NUMBER', ''),
27
+ },
28
+ slack: {
29
+ driver: 'slack',
30
+ webhookUrl: Env.get('SLACK_WEBHOOK_URL', ''),
31
+ },
32
+ },
33
+ };
@@ -0,0 +1,55 @@
1
+ import type { QueueDriverName } from '../src/config/type';
2
+ declare const _default: {
3
+ default: QueueDriverName;
4
+ drivers: {
5
+ sync: {
6
+ driver: "sync";
7
+ };
8
+ database: {
9
+ driver: "database";
10
+ table: string;
11
+ connection: string;
12
+ };
13
+ redis: {
14
+ driver: "redis";
15
+ host: string;
16
+ port: number;
17
+ password: string;
18
+ database: number;
19
+ };
20
+ rabbitmq: {
21
+ driver: "rabbitmq";
22
+ host: string;
23
+ port: number;
24
+ username: string;
25
+ password: string;
26
+ vhost: string;
27
+ };
28
+ sqs: {
29
+ driver: "sqs";
30
+ key: string;
31
+ secret: string;
32
+ region: string;
33
+ queueUrl: string;
34
+ };
35
+ };
36
+ failed: {
37
+ database: string;
38
+ table: string;
39
+ };
40
+ processing: {
41
+ timeout: number;
42
+ retries: number;
43
+ backoff: number;
44
+ workers: number;
45
+ };
46
+ monitor: {
47
+ enabled: boolean;
48
+ basePath: string;
49
+ middleware: ReadonlyArray<string>;
50
+ autoRefresh: boolean;
51
+ refreshIntervalMs: number;
52
+ };
53
+ };
54
+ export default _default;
55
+ //# sourceMappingURL=queue.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"queue.d.ts","sourceRoot":"","sources":["../../config/queue.ts"],"names":[],"mappings":"AA2BA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;;aAGN,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;oBAuDf,aAAa,CAAC,MAAM,CAAC;;;;;AAxDnE,wBA4DiC"}
@@ -0,0 +1,87 @@
1
+ /**
2
+ * Queue Configuration (default override)
3
+ *
4
+ * Keep this file declarative:
5
+ * - Core owns env parsing/default logic.
6
+ * - Projects can override config by editing values below.
7
+ *
8
+ * BullMQ Redis Driver Environment Variables:
9
+ * When QUEUE_DRIVER=redis, the system uses BullMQ for enterprise features.
10
+ * Additional BullMQ-specific settings can be configured via environment variables:
11
+ *
12
+ * | Environment Variable | Default | Description | Example |
13
+ * |---------------------|---------|-------------|---------|
14
+ * | BULLMQ_REMOVE_ON_COMPLETE | 100 | Number of completed jobs to keep in Redis | 200 |
15
+ * | BULLMQ_REMOVE_ON_FAIL | 50 | Number of failed jobs to keep in Redis | 25 |
16
+ * | BULLMQ_DEFAULT_ATTEMPTS | 3 | Default retry attempts for jobs | 5 |
17
+ * | BULLMQ_BACKOFF_DELAY | 2000 | Delay between retries (milliseconds) | 5000 |
18
+ * | BULLMQ_BACKOFF_TYPE | exponential | Backoff strategy: 'exponential', 'fixed', 'custom' | fixed |
19
+ *
20
+ * Usage Examples:
21
+ * Development: BULLMQ_REMOVE_ON_COMPLETE=500 BULLMQ_DEFAULT_ATTEMPTS=2
22
+ * Production: BULLMQ_REMOVE_ON_COMPLETE=50 BULLMQ_DEFAULT_ATTEMPTS=5
23
+ * High-Volume: BULLMQ_REMOVE_ON_COMPLETE=10 BULLMQ_BACKOFF_DELAY=500
24
+ */
25
+ // @ts-ignore - config templates are excluded from the main TS project in this repo
26
+ import { Env } from '../src/config/env.js';
27
+ export default {
28
+ default: Env.get('QUEUE_DRIVER', 'sync'),
29
+ drivers: {
30
+ sync: {
31
+ driver: 'sync',
32
+ },
33
+ database: {
34
+ driver: 'database',
35
+ table: Env.get('QUEUE_TABLE', 'jobs'),
36
+ connection: Env.get('QUEUE_DB_CONNECTION', 'default'),
37
+ },
38
+ redis: {
39
+ driver: 'redis',
40
+ host: Env.getBool('USE_REDIS_PROXY', false)
41
+ ? Env.get('REDIS_PROXY_HOST', Env.get('REDIS_HOST', 'localhost'))
42
+ : Env.get('REDIS_HOST', 'localhost'),
43
+ port: Env.getBool('USE_REDIS_PROXY', false)
44
+ ? Env.getInt('REDIS_PROXY_PORT', Env.getInt('REDIS_PORT', 6379))
45
+ : Env.getInt('REDIS_PORT', 6379),
46
+ password: Env.get('REDIS_PASSWORD'),
47
+ database: Env.getInt('REDIS_QUEUE_DB', 1),
48
+ // Note: Redis driver uses BullMQ for enterprise features
49
+ // See BullMQ environment variables in file header for customization
50
+ },
51
+ rabbitmq: {
52
+ driver: 'rabbitmq',
53
+ host: Env.get('RABBITMQ_HOST', 'localhost'),
54
+ port: Env.getInt('RABBITMQ_PORT', 5672),
55
+ username: Env.get('RABBITMQ_USER', 'guest'),
56
+ password: Env.get('RABBITMQ_PASSWORD', 'guest'),
57
+ vhost: Env.get('RABBITMQ_VHOST', '/'),
58
+ },
59
+ sqs: {
60
+ driver: 'sqs',
61
+ key: Env.get('AWS_ACCESS_KEY_ID'),
62
+ secret: Env.get('AWS_SECRET_ACCESS_KEY'),
63
+ region: Env.AWS_REGION,
64
+ queueUrl: Env.get('AWS_SQS_QUEUE_URL'),
65
+ },
66
+ },
67
+ failed: {
68
+ database: Env.get('FAILED_JOBS_DB_CONNECTION', 'default'),
69
+ table: Env.get('FAILED_JOBS_TABLE', 'failed_jobs'),
70
+ },
71
+ processing: {
72
+ timeout: Env.getInt('QUEUE_JOB_TIMEOUT', 60),
73
+ retries: Env.getInt('QUEUE_JOB_RETRIES', 3),
74
+ backoff: Env.getInt('QUEUE_JOB_BACKOFF', 0),
75
+ workers: Env.getInt('QUEUE_WORKERS', 1),
76
+ },
77
+ monitor: {
78
+ enabled: Env.getBool('QUEUE_MONITOR_ENABLED', true),
79
+ basePath: Env.get('QUEUE_MONITOR_BASE_PATH', '/queue-monitor'),
80
+ middleware: Env.get('QUEUE_MONITOR_MIDDLEWARE')
81
+ .split(',')
82
+ .map((m) => m.trim())
83
+ .filter((m) => m.length > 0),
84
+ autoRefresh: Env.getBool('QUEUE_MONITOR_AUTO_REFRESH', true),
85
+ refreshIntervalMs: Env.getInt('QUEUE_MONITOR_REFRESH_MS', 5000),
86
+ },
87
+ };