@zintrust/core 0.4.26 → 0.4.28

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 (486) 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 +233 -0
  4. package/app/Controllers/TestController.d.ts +22 -0
  5. package/app/Controllers/TestController.d.ts.map +1 -0
  6. package/app/Controllers/TestController.js +188 -0
  7. package/app/Controllers/UserController.d.ts +9 -0
  8. package/app/Controllers/UserController.d.ts.map +1 -0
  9. package/app/Controllers/UserController.js +8 -0
  10. package/app/Controllers/UserQueryBuilderController.d.ts +16 -0
  11. package/app/Controllers/UserQueryBuilderController.d.ts.map +1 -0
  12. package/app/Controllers/UserQueryBuilderController.js +404 -0
  13. package/app/Jobs/AdvancedEmailJobService.d.ts +57 -0
  14. package/app/Jobs/AdvancedEmailJobService.d.ts.map +1 -0
  15. package/app/Jobs/AdvancedEmailJobService.js +185 -0
  16. package/app/Jobs/EmailJobService.d.ts +33 -0
  17. package/app/Jobs/EmailJobService.d.ts.map +1 -0
  18. package/app/Jobs/EmailJobService.js +113 -0
  19. package/app/Middleware/AuthFailureResponder.d.ts +3 -0
  20. package/app/Middleware/AuthFailureResponder.d.ts.map +1 -0
  21. package/app/Middleware/AuthFailureResponder.js +8 -0
  22. package/app/Middleware/ProfilerMiddleware.d.ts +12 -0
  23. package/app/Middleware/ProfilerMiddleware.d.ts.map +1 -0
  24. package/app/Middleware/ProfilerMiddleware.js +47 -0
  25. package/app/Middleware/index.d.ts +59 -0
  26. package/app/Middleware/index.d.ts.map +1 -0
  27. package/app/Middleware/index.js +216 -0
  28. package/app/Models/Post.d.ts +14 -0
  29. package/app/Models/Post.d.ts.map +1 -0
  30. package/app/Models/Post.js +27 -0
  31. package/app/Models/User.d.ts +14 -0
  32. package/app/Models/User.d.ts.map +1 -0
  33. package/app/Models/User.js +44 -0
  34. package/app/Schedules/JobTracking.d.ts +3 -0
  35. package/app/Schedules/JobTracking.d.ts.map +1 -0
  36. package/app/Schedules/JobTracking.js +13 -0
  37. package/app/Schedules/index.d.ts +2 -0
  38. package/app/Schedules/index.d.ts.map +1 -0
  39. package/app/Schedules/index.js +1 -0
  40. package/app/Toolkit/Broadcast/sendBroadcast.d.ts +6 -0
  41. package/app/Toolkit/Broadcast/sendBroadcast.d.ts.map +1 -0
  42. package/app/Toolkit/Broadcast/sendBroadcast.js +5 -0
  43. package/app/Toolkit/Mail/sendWelcomeEmail.d.ts +6 -0
  44. package/app/Toolkit/Mail/sendWelcomeEmail.d.ts.map +1 -0
  45. package/app/Toolkit/Mail/sendWelcomeEmail.js +20 -0
  46. package/app/Toolkit/Notification/sendSlackNotification.d.ts +8 -0
  47. package/app/Toolkit/Notification/sendSlackNotification.d.ts.map +1 -0
  48. package/app/Toolkit/Notification/sendSlackNotification.js +5 -0
  49. package/app/Toolkit/Notification/sendSms.d.ts +6 -0
  50. package/app/Toolkit/Notification/sendSms.d.ts.map +1 -0
  51. package/app/Toolkit/Notification/sendSms.js +5 -0
  52. package/app/Types/controller.d.ts +44 -0
  53. package/app/Types/controller.d.ts.map +1 -0
  54. package/app/Types/controller.js +1 -0
  55. package/app/Workers/AdvancEmailWorker.d.ts +44 -0
  56. package/app/Workers/AdvancEmailWorker.d.ts.map +1 -0
  57. package/app/Workers/AdvancEmailWorker.js +192 -0
  58. package/app/Workers/EmailWorker.d.ts +39 -0
  59. package/app/Workers/EmailWorker.d.ts.map +1 -0
  60. package/app/Workers/EmailWorker.js +199 -0
  61. package/app/Workers/TestWorker.d.ts +16 -0
  62. package/app/Workers/TestWorker.d.ts.map +1 -0
  63. package/app/Workers/TestWorker.js +153 -0
  64. package/bin/z.js +0 -0
  65. package/bin/zin.js +0 -0
  66. package/bin/zintrust.js +0 -0
  67. package/bin/zt.js +0 -0
  68. package/build-manifest.json +6410 -0
  69. package/config/broadcast.d.ts +38 -0
  70. package/config/broadcast.d.ts.map +1 -0
  71. package/config/broadcast.js +37 -0
  72. package/config/cache.d.ts +40 -0
  73. package/config/cache.d.ts.map +1 -0
  74. package/config/cache.js +39 -0
  75. package/config/database.d.ts +58 -0
  76. package/config/database.d.ts.map +1 -0
  77. package/config/database.js +65 -0
  78. package/config/mail.d.ts +51 -0
  79. package/config/mail.d.ts.map +1 -0
  80. package/config/mail.js +69 -0
  81. package/config/middleware.d.ts +21 -0
  82. package/config/middleware.d.ts.map +1 -0
  83. package/config/middleware.js +61 -0
  84. package/config/notification.d.ts +33 -0
  85. package/config/notification.d.ts.map +1 -0
  86. package/config/notification.js +33 -0
  87. package/config/queue.d.ts +55 -0
  88. package/config/queue.d.ts.map +1 -0
  89. package/config/queue.js +87 -0
  90. package/config/storage.d.ts +59 -0
  91. package/config/storage.d.ts.map +1 -0
  92. package/config/storage.js +59 -0
  93. package/config/workers.d.ts +54 -0
  94. package/config/workers.d.ts.map +1 -0
  95. package/config/workers.js +83 -0
  96. package/database/factories/UserFactory.d.ts +40 -0
  97. package/database/factories/UserFactory.d.ts.map +1 -0
  98. package/database/factories/UserFactory.js +99 -0
  99. package/database/migrations/20260109074544_create_users_table.d.ts +7 -0
  100. package/database/migrations/20260109074544_create_users_table.d.ts.map +1 -0
  101. package/database/migrations/20260109074544_create_users_table.js +21 -0
  102. package/database/migrations/20260109144731_create_tasks_table.d.ts +7 -0
  103. package/database/migrations/20260109144731_create_tasks_table.d.ts.map +1 -0
  104. package/database/migrations/20260109144731_create_tasks_table.js +19 -0
  105. package/database/migrations/20260109144735_add_done_tasks_table.d.ts +11 -0
  106. package/database/migrations/20260109144735_add_done_tasks_table.d.ts.map +1 -0
  107. package/database/migrations/20260109144735_add_done_tasks_table.js +25 -0
  108. package/database/migrations/20260109150837_add_start_tasks_table.d.ts +11 -0
  109. package/database/migrations/20260109150837_add_start_tasks_table.d.ts.map +1 -0
  110. package/database/migrations/20260109150837_add_start_tasks_table.js +22 -0
  111. package/database/migrations/20260109152114_add_way_tasks_table.d.ts +11 -0
  112. package/database/migrations/20260109152114_add_way_tasks_table.d.ts.map +1 -0
  113. package/database/migrations/20260109152114_add_way_tasks_table.js +22 -0
  114. package/database/migrations/20260218121500_create_jwt_revocations_table.d.ts +7 -0
  115. package/database/migrations/20260218121500_create_jwt_revocations_table.d.ts.map +1 -0
  116. package/database/migrations/20260218121500_create_jwt_revocations_table.js +22 -0
  117. package/database/migrations/20260222120000_add_kind_to_jwt_revocations_table.d.ts +11 -0
  118. package/database/migrations/20260222120000_add_kind_to_jwt_revocations_table.d.ts.map +1 -0
  119. package/database/migrations/20260222120000_add_kind_to_jwt_revocations_table.js +20 -0
  120. package/database/migrations/20260222123000_add_user_id_to_jwt_revocations_table.d.ts +11 -0
  121. package/database/migrations/20260222123000_add_user_id_to_jwt_revocations_table.d.ts.map +1 -0
  122. package/database/migrations/20260222123000_add_user_id_to_jwt_revocations_table.js +20 -0
  123. package/database/migrations/20260327112651_create_posts_table.d.ts +11 -0
  124. package/database/migrations/20260327112651_create_posts_table.d.ts.map +1 -0
  125. package/database/migrations/20260327112651_create_posts_table.js +24 -0
  126. package/database/seeders/DatabaseSeeder.d.ts +5 -0
  127. package/database/seeders/DatabaseSeeder.d.ts.map +1 -0
  128. package/database/seeders/DatabaseSeeder.js +15 -0
  129. package/database/seeders/UserSeeder.d.ts +30 -0
  130. package/database/seeders/UserSeeder.d.ts.map +1 -0
  131. package/database/seeders/UserSeeder.js +97 -0
  132. package/index.d.ts +1 -0
  133. package/index.js +1 -0
  134. package/package.json +27 -78
  135. package/packages/cache-redis/src/RedisProxyAdapter.d.ts +6 -0
  136. package/packages/cache-redis/src/RedisProxyAdapter.d.ts.map +1 -0
  137. package/packages/cache-redis/src/RedisProxyAdapter.js +144 -0
  138. package/packages/cache-redis/src/index.d.ts +27 -0
  139. package/packages/cache-redis/src/index.d.ts.map +1 -0
  140. package/packages/cache-redis/src/index.js +153 -0
  141. package/packages/db-d1/src/index.d.ts +55 -0
  142. package/packages/db-d1/src/index.d.ts.map +1 -0
  143. package/packages/db-d1/src/index.js +118 -0
  144. package/packages/db-d1/src/register.d.ts +6 -0
  145. package/packages/db-d1/src/register.d.ts.map +1 -0
  146. package/packages/db-d1/src/register.js +8 -0
  147. package/packages/db-mysql/src/common.d.ts +7 -0
  148. package/packages/db-mysql/src/common.d.ts.map +1 -0
  149. package/packages/db-mysql/src/common.js +17 -0
  150. package/packages/db-mysql/src/index.d.ts +43 -0
  151. package/packages/db-mysql/src/index.d.ts.map +1 -0
  152. package/packages/db-mysql/src/index.js +265 -0
  153. package/packages/db-mysql/src/register.d.ts +6 -0
  154. package/packages/db-mysql/src/register.d.ts.map +1 -0
  155. package/packages/db-mysql/src/register.js +32 -0
  156. package/packages/db-postgres/src/index.d.ts +39 -0
  157. package/packages/db-postgres/src/index.d.ts.map +1 -0
  158. package/packages/db-postgres/src/index.js +179 -0
  159. package/packages/db-postgres/src/register.d.ts +6 -0
  160. package/packages/db-postgres/src/register.d.ts.map +1 -0
  161. package/packages/db-postgres/src/register.js +8 -0
  162. package/packages/db-sqlite/src/index.d.ts +9 -0
  163. package/packages/db-sqlite/src/index.d.ts.map +1 -0
  164. package/packages/db-sqlite/src/index.js +7 -0
  165. package/packages/db-sqlite/src/register.d.ts +6 -0
  166. package/packages/db-sqlite/src/register.d.ts.map +1 -0
  167. package/packages/db-sqlite/src/register.js +8 -0
  168. package/packages/db-sqlserver/src/index.d.ts +38 -0
  169. package/packages/db-sqlserver/src/index.d.ts.map +1 -0
  170. package/packages/db-sqlserver/src/index.js +73 -0
  171. package/packages/db-sqlserver/src/register.d.ts +6 -0
  172. package/packages/db-sqlserver/src/register.d.ts.map +1 -0
  173. package/packages/db-sqlserver/src/register.js +21 -0
  174. package/packages/mail-sendgrid/src/register.d.ts +6 -0
  175. package/packages/mail-sendgrid/src/register.d.ts.map +1 -0
  176. package/packages/mail-sendgrid/src/register.js +24 -0
  177. package/packages/mail-smtp/src/register.d.ts +6 -0
  178. package/packages/mail-smtp/src/register.d.ts.map +1 -0
  179. package/packages/mail-smtp/src/register.js +29 -0
  180. package/packages/queue-monitor/src/QueueMonitoringService.d.ts +35 -0
  181. package/packages/queue-monitor/src/QueueMonitoringService.d.ts.map +1 -0
  182. package/packages/queue-monitor/src/QueueMonitoringService.js +194 -0
  183. package/packages/queue-monitor/src/connection.d.ts +3 -0
  184. package/packages/queue-monitor/src/connection.d.ts.map +1 -0
  185. package/packages/queue-monitor/src/connection.js +1 -0
  186. package/packages/queue-monitor/src/dashboard-ui.d.ts +7 -0
  187. package/packages/queue-monitor/src/dashboard-ui.d.ts.map +1 -0
  188. package/packages/queue-monitor/src/dashboard-ui.js +997 -0
  189. package/packages/queue-monitor/src/driver.d.ts +15 -0
  190. package/packages/queue-monitor/src/driver.d.ts.map +1 -0
  191. package/packages/queue-monitor/src/driver.js +115 -0
  192. package/packages/queue-monitor/src/index.d.ts +71 -0
  193. package/packages/queue-monitor/src/index.d.ts.map +1 -0
  194. package/packages/queue-monitor/src/index.js +296 -0
  195. package/packages/queue-monitor/src/metrics.d.ts +27 -0
  196. package/packages/queue-monitor/src/metrics.d.ts.map +1 -0
  197. package/packages/queue-monitor/src/metrics.js +92 -0
  198. package/packages/queue-monitor/src/worker.d.ts +8 -0
  199. package/packages/queue-monitor/src/worker.d.ts.map +1 -0
  200. package/packages/queue-monitor/src/worker.js +35 -0
  201. package/packages/queue-redis/src/BullMQRedisQueue.d.ts +26 -0
  202. package/packages/queue-redis/src/BullMQRedisQueue.d.ts.map +1 -0
  203. package/packages/queue-redis/src/BullMQRedisQueue.js +465 -0
  204. package/packages/queue-redis/src/HttpQueueDriver.d.ts +18 -0
  205. package/packages/queue-redis/src/HttpQueueDriver.d.ts.map +1 -0
  206. package/packages/queue-redis/src/HttpQueueDriver.js +249 -0
  207. package/packages/queue-redis/src/QueueHttpGateway.d.ts +16 -0
  208. package/packages/queue-redis/src/QueueHttpGateway.d.ts.map +1 -0
  209. package/packages/queue-redis/src/QueueHttpGateway.js +217 -0
  210. package/packages/queue-redis/src/RedisPublishClient.d.ts +14 -0
  211. package/packages/queue-redis/src/RedisPublishClient.d.ts.map +1 -0
  212. package/packages/queue-redis/src/RedisPublishClient.js +251 -0
  213. package/packages/queue-redis/src/index.d.ts +12 -0
  214. package/packages/queue-redis/src/index.d.ts.map +1 -0
  215. package/packages/queue-redis/src/index.js +10 -0
  216. package/packages/queue-redis/src/register.d.ts +6 -0
  217. package/packages/queue-redis/src/register.d.ts.map +1 -0
  218. package/packages/queue-redis/src/register.js +21 -0
  219. package/packages/workers/migrations/20260119100000_create_zintrust_workers_table.d.ts +11 -0
  220. package/packages/workers/migrations/20260119100000_create_zintrust_workers_table.d.ts.map +1 -0
  221. package/packages/workers/migrations/20260119100000_create_zintrust_workers_table.js +32 -0
  222. package/packages/workers/migrations/20260123180000_create_queue_jobs_table.d.ts +11 -0
  223. package/packages/workers/migrations/20260123180000_create_queue_jobs_table.d.ts.map +1 -0
  224. package/packages/workers/migrations/20260123180000_create_queue_jobs_table.js +46 -0
  225. package/packages/workers/migrations/20260213142000_create_zintrust_job_tracking_tables.d.ts +7 -0
  226. package/packages/workers/migrations/20260213142000_create_zintrust_job_tracking_tables.d.ts.map +1 -0
  227. package/packages/workers/migrations/20260213142000_create_zintrust_job_tracking_tables.js +44 -0
  228. package/packages/workers/migrations/20260213183000_expand_zintrust_job_tracking_reliability_tables.d.ts +7 -0
  229. package/packages/workers/migrations/20260213183000_expand_zintrust_job_tracking_reliability_tables.d.ts.map +1 -0
  230. package/packages/workers/migrations/20260213183000_expand_zintrust_job_tracking_reliability_tables.js +104 -0
  231. package/packages/workers/src/AnomalyDetection.d.ts +107 -0
  232. package/packages/workers/src/AnomalyDetection.d.ts.map +1 -0
  233. package/packages/workers/src/AnomalyDetection.js +329 -0
  234. package/packages/workers/src/AutoScaler.d.ts +128 -0
  235. package/packages/workers/src/AutoScaler.d.ts.map +1 -0
  236. package/packages/workers/src/AutoScaler.js +425 -0
  237. package/packages/workers/src/BroadcastWorker.d.ts +29 -0
  238. package/packages/workers/src/BroadcastWorker.d.ts.map +1 -0
  239. package/packages/workers/src/BroadcastWorker.js +24 -0
  240. package/packages/workers/src/CanaryController.d.ts +104 -0
  241. package/packages/workers/src/CanaryController.d.ts.map +1 -0
  242. package/packages/workers/src/CanaryController.js +424 -0
  243. package/packages/workers/src/ChaosEngineering.d.ts +80 -0
  244. package/packages/workers/src/ChaosEngineering.d.ts.map +1 -0
  245. package/packages/workers/src/ChaosEngineering.js +229 -0
  246. package/packages/workers/src/CircuitBreaker.d.ts +107 -0
  247. package/packages/workers/src/CircuitBreaker.d.ts.map +1 -0
  248. package/packages/workers/src/CircuitBreaker.js +374 -0
  249. package/packages/workers/src/ClusterLock.d.ts +91 -0
  250. package/packages/workers/src/ClusterLock.d.ts.map +1 -0
  251. package/packages/workers/src/ClusterLock.js +397 -0
  252. package/packages/workers/src/ComplianceManager.d.ts +178 -0
  253. package/packages/workers/src/ComplianceManager.d.ts.map +1 -0
  254. package/packages/workers/src/ComplianceManager.js +556 -0
  255. package/packages/workers/src/DatacenterOrchestrator.d.ts +134 -0
  256. package/packages/workers/src/DatacenterOrchestrator.d.ts.map +1 -0
  257. package/packages/workers/src/DatacenterOrchestrator.js +404 -0
  258. package/packages/workers/src/DeadLetterQueue.d.ts +123 -0
  259. package/packages/workers/src/DeadLetterQueue.d.ts.map +1 -0
  260. package/packages/workers/src/DeadLetterQueue.js +544 -0
  261. package/packages/workers/src/HealthMonitor.d.ts +43 -0
  262. package/packages/workers/src/HealthMonitor.d.ts.map +1 -0
  263. package/packages/workers/src/HealthMonitor.js +312 -0
  264. package/packages/workers/src/MultiQueueWorker.d.ts +90 -0
  265. package/packages/workers/src/MultiQueueWorker.d.ts.map +1 -0
  266. package/packages/workers/src/MultiQueueWorker.js +282 -0
  267. package/packages/workers/src/NotificationWorker.d.ts +29 -0
  268. package/packages/workers/src/NotificationWorker.d.ts.map +1 -0
  269. package/packages/workers/src/NotificationWorker.js +23 -0
  270. package/packages/workers/src/Observability.d.ts +154 -0
  271. package/packages/workers/src/Observability.d.ts.map +1 -0
  272. package/packages/workers/src/Observability.js +538 -0
  273. package/packages/workers/src/PluginManager.d.ts +124 -0
  274. package/packages/workers/src/PluginManager.d.ts.map +1 -0
  275. package/packages/workers/src/PluginManager.js +392 -0
  276. package/packages/workers/src/PriorityQueue.d.ts +118 -0
  277. package/packages/workers/src/PriorityQueue.d.ts.map +1 -0
  278. package/packages/workers/src/PriorityQueue.js +276 -0
  279. package/packages/workers/src/ResourceMonitor.d.ts +165 -0
  280. package/packages/workers/src/ResourceMonitor.d.ts.map +1 -0
  281. package/packages/workers/src/ResourceMonitor.js +632 -0
  282. package/packages/workers/src/SLAMonitor.d.ts +111 -0
  283. package/packages/workers/src/SLAMonitor.d.ts.map +1 -0
  284. package/packages/workers/src/SLAMonitor.js +274 -0
  285. package/packages/workers/src/WorkerFactory.d.ts +226 -0
  286. package/packages/workers/src/WorkerFactory.d.ts.map +1 -0
  287. package/packages/workers/src/WorkerFactory.js +2551 -0
  288. package/packages/workers/src/WorkerInit.d.ts +103 -0
  289. package/packages/workers/src/WorkerInit.d.ts.map +1 -0
  290. package/packages/workers/src/WorkerInit.js +359 -0
  291. package/packages/workers/src/WorkerMetrics.d.ts +116 -0
  292. package/packages/workers/src/WorkerMetrics.d.ts.map +1 -0
  293. package/packages/workers/src/WorkerMetrics.js +570 -0
  294. package/packages/workers/src/WorkerRegistry.d.ts +152 -0
  295. package/packages/workers/src/WorkerRegistry.d.ts.map +1 -0
  296. package/packages/workers/src/WorkerRegistry.js +396 -0
  297. package/packages/workers/src/WorkerShutdown.d.ts +70 -0
  298. package/packages/workers/src/WorkerShutdown.d.ts.map +1 -0
  299. package/packages/workers/src/WorkerShutdown.js +185 -0
  300. package/packages/workers/src/WorkerVersioning.d.ts +108 -0
  301. package/packages/workers/src/WorkerVersioning.d.ts.map +1 -0
  302. package/packages/workers/src/WorkerVersioning.js +300 -0
  303. package/packages/workers/src/config/workerConfig.d.ts +5 -0
  304. package/packages/workers/src/config/workerConfig.d.ts.map +1 -0
  305. package/packages/workers/src/config/workerConfig.js +25 -0
  306. package/packages/workers/src/createQueueWorker.d.ts +31 -0
  307. package/packages/workers/src/createQueueWorker.d.ts.map +1 -0
  308. package/packages/workers/src/createQueueWorker.js +382 -0
  309. package/packages/workers/src/dashboard/index.d.ts +2 -0
  310. package/packages/workers/src/dashboard/index.d.ts.map +1 -0
  311. package/packages/workers/src/dashboard/index.js +1 -0
  312. package/packages/workers/src/dashboard/types.d.ts +123 -0
  313. package/packages/workers/src/dashboard/types.d.ts.map +1 -0
  314. package/packages/workers/src/dashboard/types.js +1 -0
  315. package/packages/workers/src/dashboard/workers-api.d.ts +5 -0
  316. package/packages/workers/src/dashboard/workers-api.d.ts.map +1 -0
  317. package/packages/workers/src/dashboard/workers-api.js +776 -0
  318. package/packages/workers/src/helper/index.d.ts +6 -0
  319. package/packages/workers/src/helper/index.d.ts.map +1 -0
  320. package/packages/workers/src/helper/index.js +10 -0
  321. package/packages/workers/src/http/WorkerApiController.d.ts +39 -0
  322. package/packages/workers/src/http/WorkerApiController.d.ts.map +1 -0
  323. package/packages/workers/src/http/WorkerApiController.js +313 -0
  324. package/packages/workers/src/http/WorkerController.d.ts +375 -0
  325. package/packages/workers/src/http/WorkerController.d.ts.map +1 -0
  326. package/packages/workers/src/http/WorkerController.js +1454 -0
  327. package/packages/workers/src/http/WorkerMonitoringService.d.ts +12 -0
  328. package/packages/workers/src/http/WorkerMonitoringService.d.ts.map +1 -0
  329. package/packages/workers/src/http/WorkerMonitoringService.js +89 -0
  330. package/packages/workers/src/http/middleware/CustomValidation.d.ts +93 -0
  331. package/packages/workers/src/http/middleware/CustomValidation.d.ts.map +1 -0
  332. package/packages/workers/src/http/middleware/CustomValidation.js +270 -0
  333. package/packages/workers/src/http/middleware/DatacenterValidator.d.ts +4 -0
  334. package/packages/workers/src/http/middleware/DatacenterValidator.d.ts.map +1 -0
  335. package/packages/workers/src/http/middleware/DatacenterValidator.js +94 -0
  336. package/packages/workers/src/http/middleware/EditWorkerValidation.d.ts +8 -0
  337. package/packages/workers/src/http/middleware/EditWorkerValidation.d.ts.map +1 -0
  338. package/packages/workers/src/http/middleware/EditWorkerValidation.js +56 -0
  339. package/packages/workers/src/http/middleware/FeaturesValidator.d.ts +4 -0
  340. package/packages/workers/src/http/middleware/FeaturesValidator.d.ts.map +1 -0
  341. package/packages/workers/src/http/middleware/FeaturesValidator.js +61 -0
  342. package/packages/workers/src/http/middleware/InfrastructureValidator.d.ts +32 -0
  343. package/packages/workers/src/http/middleware/InfrastructureValidator.d.ts.map +1 -0
  344. package/packages/workers/src/http/middleware/InfrastructureValidator.js +226 -0
  345. package/packages/workers/src/http/middleware/OptionsValidator.d.ts +4 -0
  346. package/packages/workers/src/http/middleware/OptionsValidator.d.ts.map +1 -0
  347. package/packages/workers/src/http/middleware/OptionsValidator.js +112 -0
  348. package/packages/workers/src/http/middleware/PayloadSanitizer.d.ts +8 -0
  349. package/packages/workers/src/http/middleware/PayloadSanitizer.d.ts.map +1 -0
  350. package/packages/workers/src/http/middleware/PayloadSanitizer.js +42 -0
  351. package/packages/workers/src/http/middleware/ProcessorPathSanitizer.d.ts +4 -0
  352. package/packages/workers/src/http/middleware/ProcessorPathSanitizer.d.ts.map +1 -0
  353. package/packages/workers/src/http/middleware/ProcessorPathSanitizer.js +140 -0
  354. package/packages/workers/src/http/middleware/QueueNameSanitizer.d.ts +4 -0
  355. package/packages/workers/src/http/middleware/QueueNameSanitizer.d.ts.map +1 -0
  356. package/packages/workers/src/http/middleware/QueueNameSanitizer.js +45 -0
  357. package/packages/workers/src/http/middleware/ValidateDriver.d.ts +8 -0
  358. package/packages/workers/src/http/middleware/ValidateDriver.d.ts.map +1 -0
  359. package/packages/workers/src/http/middleware/ValidateDriver.js +20 -0
  360. package/packages/workers/src/http/middleware/VersionSanitizer.d.ts +4 -0
  361. package/packages/workers/src/http/middleware/VersionSanitizer.d.ts.map +1 -0
  362. package/packages/workers/src/http/middleware/VersionSanitizer.js +25 -0
  363. package/packages/workers/src/http/middleware/WorkerNameSanitizer.d.ts +4 -0
  364. package/packages/workers/src/http/middleware/WorkerNameSanitizer.d.ts.map +1 -0
  365. package/packages/workers/src/http/middleware/WorkerNameSanitizer.js +46 -0
  366. package/packages/workers/src/http/middleware/WorkerValidationChain.d.ts +28 -0
  367. package/packages/workers/src/http/middleware/WorkerValidationChain.d.ts.map +1 -0
  368. package/packages/workers/src/http/middleware/WorkerValidationChain.js +186 -0
  369. package/packages/workers/src/index.d.ts +47 -0
  370. package/packages/workers/src/index.d.ts.map +1 -0
  371. package/packages/workers/src/index.js +48 -0
  372. package/packages/workers/src/register.d.ts +10 -0
  373. package/packages/workers/src/register.d.ts.map +1 -0
  374. package/packages/workers/src/register.js +43 -0
  375. package/packages/workers/src/routes/workers.d.ts +13 -0
  376. package/packages/workers/src/routes/workers.d.ts.map +1 -0
  377. package/packages/workers/src/routes/workers.js +126 -0
  378. package/packages/workers/src/storage/WorkerStore.d.ts +52 -0
  379. package/packages/workers/src/storage/WorkerStore.d.ts.map +1 -0
  380. package/packages/workers/src/storage/WorkerStore.js +259 -0
  381. package/packages/workers/src/telemetry/api/TelemetryAPI.d.ts +47 -0
  382. package/packages/workers/src/telemetry/api/TelemetryAPI.d.ts.map +1 -0
  383. package/packages/workers/src/telemetry/api/TelemetryAPI.js +219 -0
  384. package/packages/workers/src/telemetry/api/TelemetryMonitoringService.d.ts +18 -0
  385. package/packages/workers/src/telemetry/api/TelemetryMonitoringService.d.ts.map +1 -0
  386. package/packages/workers/src/telemetry/api/TelemetryMonitoringService.js +140 -0
  387. package/packages/workers/src/telemetry/components/AlertPanel.d.ts +2 -0
  388. package/packages/workers/src/telemetry/components/AlertPanel.d.ts.map +1 -0
  389. package/packages/workers/src/telemetry/components/AlertPanel.js +13 -0
  390. package/packages/workers/src/telemetry/components/CostTracking.d.ts +2 -0
  391. package/packages/workers/src/telemetry/components/CostTracking.d.ts.map +1 -0
  392. package/packages/workers/src/telemetry/components/CostTracking.js +14 -0
  393. package/packages/workers/src/telemetry/components/ResourceUsageChart.d.ts +2 -0
  394. package/packages/workers/src/telemetry/components/ResourceUsageChart.d.ts.map +1 -0
  395. package/packages/workers/src/telemetry/components/ResourceUsageChart.js +11 -0
  396. package/packages/workers/src/telemetry/components/WorkerHealthChart.d.ts +2 -0
  397. package/packages/workers/src/telemetry/components/WorkerHealthChart.d.ts.map +1 -0
  398. package/packages/workers/src/telemetry/components/WorkerHealthChart.js +11 -0
  399. package/packages/workers/src/telemetry/index.d.ts +16 -0
  400. package/packages/workers/src/telemetry/index.d.ts.map +1 -0
  401. package/packages/workers/src/telemetry/index.js +60 -0
  402. package/packages/workers/src/telemetry/routes/dashboard.d.ts +7 -0
  403. package/packages/workers/src/telemetry/routes/dashboard.d.ts.map +1 -0
  404. package/packages/workers/src/telemetry/routes/dashboard.js +608 -0
  405. package/packages/workers/src/type.d.ts +77 -0
  406. package/packages/workers/src/type.d.ts.map +1 -0
  407. package/packages/workers/src/type.js +1 -0
  408. package/packages/workers/src/ui/router/EmbeddedAssets.d.ts +5 -0
  409. package/packages/workers/src/ui/router/EmbeddedAssets.d.ts.map +1 -0
  410. package/packages/workers/src/ui/router/EmbeddedAssets.js +13 -0
  411. package/packages/workers/src/ui/router/ui.d.ts +4 -0
  412. package/packages/workers/src/ui/router/ui.d.ts.map +1 -0
  413. package/packages/workers/src/ui/router/ui.js +208 -0
  414. package/packages/workers/src/ui/types/worker-ui.d.ts +230 -0
  415. package/packages/workers/src/ui/types/worker-ui.d.ts.map +1 -0
  416. package/packages/workers/src/ui/types/worker-ui.js +5 -0
  417. package/routes/DirectTestRoutes.d.ts +25 -0
  418. package/routes/DirectTestRoutes.d.ts.map +1 -0
  419. package/routes/DirectTestRoutes.js +480 -0
  420. package/routes/TestRoutes.d.ts +11 -0
  421. package/routes/TestRoutes.d.ts.map +1 -0
  422. package/routes/TestRoutes.js +25 -0
  423. package/routes/api.d.ts +7 -0
  424. package/routes/api.d.ts.map +1 -0
  425. package/routes/api.js +136 -0
  426. package/routes/apiDev.d.ts +7 -0
  427. package/routes/apiDev.d.ts.map +1 -0
  428. package/routes/apiDev.js +92 -0
  429. package/routes/broadcast.d.ts +9 -0
  430. package/routes/broadcast.d.ts.map +1 -0
  431. package/routes/broadcast.js +27 -0
  432. package/routes/mail.d.ts +12 -0
  433. package/routes/mail.d.ts.map +1 -0
  434. package/routes/mail.js +138 -0
  435. package/routes/storage.d.ts +4 -0
  436. package/routes/storage.d.ts.map +1 -0
  437. package/routes/storage.js +35 -0
  438. package/src/boot/bootstrap.js +5 -0
  439. package/src/cli/CLI.d.ts.map +1 -1
  440. package/src/cli/CLI.js +4 -0
  441. package/src/cli/commands/D1ProxyCommand.d.ts +6 -0
  442. package/src/cli/commands/D1ProxyCommand.d.ts.map +1 -0
  443. package/src/cli/commands/D1ProxyCommand.js +170 -0
  444. package/src/cli/commands/InitContainerCommand.d.ts.map +1 -1
  445. package/src/cli/commands/InitContainerCommand.js +61 -23
  446. package/src/cli/commands/KvProxyCommand.d.ts +6 -0
  447. package/src/cli/commands/KvProxyCommand.d.ts.map +1 -0
  448. package/src/cli/commands/KvProxyCommand.js +158 -0
  449. package/src/cli/commands/MigrateCommand.js +1 -1
  450. package/src/cli/commands/MigrateWorkerCommand.d.ts.map +1 -1
  451. package/src/cli/commands/MigrateWorkerCommand.js +8 -2
  452. package/src/cli/commands/ProxyCommand.d.ts.map +1 -1
  453. package/src/cli/commands/ProxyCommand.js +2 -0
  454. package/src/cli/commands/WorkerCommands.d.ts.map +1 -1
  455. package/src/cli/commands/WorkerCommands.js +47 -7
  456. package/src/cli/commands/index.d.ts +2 -0
  457. package/src/cli/commands/index.d.ts.map +1 -1
  458. package/src/cli/commands/index.js +2 -0
  459. package/src/cli/index.d.ts +2 -0
  460. package/src/cli/index.d.ts.map +1 -1
  461. package/src/cli/index.js +2 -0
  462. package/src/cli/scaffolding/GovernanceScaffolder.d.ts.map +1 -1
  463. package/src/cli/scaffolding/GovernanceScaffolder.js +20 -3
  464. package/src/cli/scaffolding/ProjectScaffolder.d.ts.map +1 -1
  465. package/src/cli/scaffolding/ProjectScaffolder.js +13 -4
  466. package/src/cli/utils/DistPackager.d.ts +2 -2
  467. package/src/cli/utils/DistPackager.d.ts.map +1 -1
  468. package/src/cli/utils/DistPackager.js +9 -3
  469. package/src/index.js +3 -3
  470. package/src/proxy.d.ts +2 -0
  471. package/src/proxy.d.ts.map +1 -1
  472. package/src/proxy.js +2 -0
  473. package/src/runtime/WorkerProjectAutoImports.d.ts +14 -0
  474. package/src/runtime/WorkerProjectAutoImports.d.ts.map +1 -0
  475. package/src/runtime/WorkerProjectAutoImports.js +63 -0
  476. package/src/templates/project/basic/app/Workers/ExampleWorker.ts.tpl +17 -0
  477. package/src/templates/project/basic/package.json.tpl +1 -1
  478. package/src/templates/project/basic/src/zintrust.workers.ts.tpl +11 -0
  479. package/src/zintrust.comon.d.ts +9 -0
  480. package/src/zintrust.comon.d.ts.map +1 -0
  481. package/src/zintrust.comon.js +15 -0
  482. package/src/zintrust.plugins.d.ts +6 -3
  483. package/src/zintrust.plugins.d.ts.map +1 -1
  484. package/src/zintrust.plugins.js +27 -3
  485. package/start.d.ts +1 -0
  486. package/start.js +1 -0
@@ -0,0 +1,20 @@
1
+ import { Mail } from '../../../src/tools/mail/index.js';
2
+ export async function sendWelcomeEmail(to, name, attachmentDisk, attachmentPath) {
3
+ const subject = `Welcome, ${name}`;
4
+ const text = `Hello ${name}, welcome.`;
5
+ const attachments = attachmentDisk !== null &&
6
+ attachmentDisk !== undefined &&
7
+ attachmentDisk.trim() !== '' &&
8
+ attachmentPath !== null &&
9
+ attachmentPath !== undefined &&
10
+ attachmentPath.trim() !== ''
11
+ ? [{ disk: attachmentDisk, path: attachmentPath }]
12
+ : undefined;
13
+ await Mail.send({
14
+ to,
15
+ subject,
16
+ text,
17
+ attachments,
18
+ });
19
+ }
20
+ export default Object.freeze({ sendWelcomeEmail });
@@ -0,0 +1,8 @@
1
+ export declare function sendSlackNotification(webhookUrl: string, message: {
2
+ text: string;
3
+ }): Promise<void>;
4
+ declare const _default: Readonly<{
5
+ sendSlackNotification: typeof sendSlackNotification;
6
+ }>;
7
+ export default _default;
8
+ //# sourceMappingURL=sendSlackNotification.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sendSlackNotification.d.ts","sourceRoot":"","sources":["../../../../app/Toolkit/Notification/sendSlackNotification.ts"],"names":[],"mappings":"AAEA,wBAAsB,qBAAqB,CACzC,UAAU,EAAE,MAAM,EAClB,OAAO,EAAE;IAAE,IAAI,EAAE,MAAM,CAAA;CAAE,GACxB,OAAO,CAAC,IAAI,CAAC,CAEf;;;;AAED,wBAAwD"}
@@ -0,0 +1,5 @@
1
+ import { sendSlackWebhook } from '../../../src/tools/notification/drivers/Slack.js';
2
+ export async function sendSlackNotification(webhookUrl, message) {
3
+ await sendSlackWebhook({ webhookUrl }, message);
4
+ }
5
+ export default Object.freeze({ sendSlackNotification });
@@ -0,0 +1,6 @@
1
+ export declare function sendSmsNotification(accountSid: string, authToken: string, from: string, to: string, body: string): Promise<void>;
2
+ declare const _default: Readonly<{
3
+ sendSmsNotification: typeof sendSmsNotification;
4
+ }>;
5
+ export default _default;
6
+ //# sourceMappingURL=sendSms.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sendSms.d.ts","sourceRoot":"","sources":["../../../../app/Toolkit/Notification/sendSms.ts"],"names":[],"mappings":"AAEA,wBAAsB,mBAAmB,CACvC,UAAU,EAAE,MAAM,EAClB,SAAS,EAAE,MAAM,EACjB,IAAI,EAAE,MAAM,EACZ,EAAE,EAAE,MAAM,EACV,IAAI,EAAE,MAAM,GACX,OAAO,CAAC,IAAI,CAAC,CAEf;;;;AAED,wBAAsD"}
@@ -0,0 +1,5 @@
1
+ import { sendSms } from '../../../src/tools/notification/drivers/Twilio.js';
2
+ export async function sendSmsNotification(accountSid, authToken, from, to, body) {
3
+ await sendSms({ accountSid, authToken, from }, { to, body });
4
+ }
5
+ export default Object.freeze({ sendSmsNotification });
@@ -0,0 +1,44 @@
1
+ import type { IRequest } from '../../src/http/Request';
2
+ import type { IResponse } from '../../src/http/Response';
3
+ export type JsonRecord = Record<string, unknown>;
4
+ export type LoginBody = {
5
+ email: string;
6
+ password: string;
7
+ };
8
+ export type RegisterBody = {
9
+ name: string;
10
+ email: string;
11
+ password: string;
12
+ };
13
+ export type UserRow = {
14
+ id?: unknown;
15
+ name?: unknown;
16
+ email?: unknown;
17
+ password?: unknown;
18
+ };
19
+ export type AuthControllerApi = {
20
+ login(req: IRequest, res: IResponse): Promise<void>;
21
+ register(req: IRequest, res: IResponse): Promise<void>;
22
+ logout(req: IRequest, res: IResponse): Promise<void>;
23
+ logoutAll(req: IRequest, res: IResponse): Promise<void>;
24
+ refresh(req: IRequest, res: IResponse): Promise<void>;
25
+ };
26
+ export type ValidationErrorLike = {
27
+ name?: unknown;
28
+ toObject?: () => Record<string, string[]>;
29
+ };
30
+ /**
31
+ * User Controller Interface
32
+ */
33
+ export interface IUserController {
34
+ index(req: IRequest, res: IResponse): Promise<void>;
35
+ show(req: IRequest, res: IResponse): Promise<void>;
36
+ create(req: IRequest, res: IResponse): Promise<void>;
37
+ store(req: IRequest, res: IResponse): Promise<void>;
38
+ fill(req: IRequest, res: IResponse): Promise<void>;
39
+ edit(req: IRequest, res: IResponse): Promise<void>;
40
+ update(req: IRequest, res: IResponse): Promise<void>;
41
+ destroy(req: IRequest, res: IResponse): Promise<void>;
42
+ }
43
+ export declare const __controllerTypesRuntime = 1;
44
+ //# sourceMappingURL=controller.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"controller.d.ts","sourceRoot":"","sources":["../../../app/Types/controller.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAC9C,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAEhD,MAAM,MAAM,UAAU,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AAEjD,MAAM,MAAM,SAAS,GAAG;IACtB,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;CAClB,CAAC;AAEF,MAAM,MAAM,YAAY,GAAG;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;CAClB,CAAC;AAEF,MAAM,MAAM,OAAO,GAAG;IACpB,EAAE,CAAC,EAAE,OAAO,CAAC;IACb,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB,CAAC;AACF,MAAM,MAAM,iBAAiB,GAAG;IAC9B,KAAK,CAAC,GAAG,EAAE,QAAQ,EAAE,GAAG,EAAE,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACpD,QAAQ,CAAC,GAAG,EAAE,QAAQ,EAAE,GAAG,EAAE,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACvD,MAAM,CAAC,GAAG,EAAE,QAAQ,EAAE,GAAG,EAAE,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACrD,SAAS,CAAC,GAAG,EAAE,QAAQ,EAAE,GAAG,EAAE,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACxD,OAAO,CAAC,GAAG,EAAE,QAAQ,EAAE,GAAG,EAAE,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CACvD,CAAC;AAEF,MAAM,MAAM,mBAAmB,GAAG;IAChC,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;CAC3C,CAAC;AAEF;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,KAAK,CAAC,GAAG,EAAE,QAAQ,EAAE,GAAG,EAAE,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACpD,IAAI,CAAC,GAAG,EAAE,QAAQ,EAAE,GAAG,EAAE,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACnD,MAAM,CAAC,GAAG,EAAE,QAAQ,EAAE,GAAG,EAAE,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACrD,KAAK,CAAC,GAAG,EAAE,QAAQ,EAAE,GAAG,EAAE,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACpD,IAAI,CAAC,GAAG,EAAE,QAAQ,EAAE,GAAG,EAAE,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACnD,IAAI,CAAC,GAAG,EAAE,QAAQ,EAAE,GAAG,EAAE,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACnD,MAAM,CAAC,GAAG,EAAE,QAAQ,EAAE,GAAG,EAAE,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACrD,OAAO,CAAC,GAAG,EAAE,QAAQ,EAAE,GAAG,EAAE,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CACvD;AAED,eAAO,MAAM,wBAAwB,IAAI,CAAC"}
@@ -0,0 +1 @@
1
+ export const __controllerTypesRuntime = 1;
@@ -0,0 +1,44 @@
1
+ import type { Job } from '../../packages/workers/src/index.js';
2
+ export type AdvancedEmailJobPayload = {
3
+ to: string;
4
+ subject?: string;
5
+ body?: string;
6
+ template?: string;
7
+ templateData?: Record<string, unknown>;
8
+ uniqueId?: string;
9
+ uniqueVia?: string;
10
+ deduplication?: Record<string, unknown> | null;
11
+ timestamp?: number;
12
+ attempts?: number;
13
+ };
14
+ export declare const AdvancEmailWorker: {
15
+ processOne: (queueName?: string, driverName?: string) => Promise<boolean>;
16
+ processAll: (queueName?: string, driverName?: string) => Promise<number>;
17
+ runOnce: (opts?: {
18
+ queueName?: string;
19
+ driverName?: string;
20
+ maxItems?: number;
21
+ maxDurationMs?: number;
22
+ }) => Promise<number>;
23
+ startWorker: (opts?: {
24
+ queueName?: string;
25
+ driverName?: string;
26
+ signal?: AbortSignal;
27
+ maxDurationMs?: number;
28
+ }) => Promise<number>;
29
+ __zintrustQueueWorkerMeta?: Readonly<{
30
+ kindLabel: string;
31
+ defaultQueueName: string;
32
+ maxAttempts: number;
33
+ }>;
34
+ };
35
+ export declare const AdvancEmailQueue: {
36
+ add(payload: AdvancedEmailJobPayload, queueName?: string, options?: Record<string, unknown>): Promise<string>;
37
+ processOne(queueName?: string): Promise<boolean>;
38
+ processAll(queueName?: string): Promise<number>;
39
+ start(queueName?: string): Promise<void>;
40
+ };
41
+ export { AdvancEmailWorker as AdvancEmailWorkerInstance };
42
+ export default function advancedEmailJobProcessor(job: Job<AdvancedEmailJobPayload>): Promise<void>;
43
+ export declare const ZinTrustProcessor: (job: Job<AdvancedEmailJobPayload>) => Promise<void>;
44
+ //# sourceMappingURL=AdvancEmailWorker.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AdvancEmailWorker.d.ts","sourceRoot":"","sources":["../../../app/Workers/AdvancEmailWorker.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAA4B,GAAG,EAAE,MAAM,mBAAmB,CAAC;AASvE,MAAM,MAAM,uBAAuB,GAAG;IACpC,EAAE,EAAE,MAAM,CAAC;IACX,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,YAAY,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAEvC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,aAAa,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC;IAE/C,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB,CAAC;AA0MF,eAAO,MAAM,iBAAiB;0BAtHG,CAAC,oBAC5B,CAAF;0BAAuD,CAAC,oBAClD,CAAC;kBACc,CAAC;iBAAiB,CAAC;kBACtC,CAAD;gBAAsB,CAAC;qBAA2B,CAAC;;sBAKpC,CAAC;iBAChB,CAAC;kBAAwB,CAAC;cAE/B,CAAA;qBAAgC,CAAC;;;;;;;CA0GwC,CAAC;AAE1E,eAAO,MAAM,gBAAgB;iBAEhB,uBAAuB,gCAEtB,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAChC,OAAO,CAAC,MAAM,CAAC;oCAa8B,OAAO,CAAC,OAAO,CAAC;oCAIhB,OAAO,CAAC,MAAM,CAAC;+BAIpB,OAAO,CAAC,IAAI,CAAC;CAGzD,CAAC;AAEF,OAAO,EAAE,iBAAiB,IAAI,yBAAyB,EAAE,CAAC;AAE1D,wBAA8B,yBAAyB,CACrD,GAAG,EAAE,GAAG,CAAC,uBAAuB,CAAC,GAChC,OAAO,CAAC,IAAI,CAAC,CAEf;AAED,eAAO,MAAM,iBAAiB,GAAU,KAAK,GAAG,CAAC,uBAAuB,CAAC,KAAG,OAAO,CAAC,IAAI,CAEvF,CAAC"}
@@ -0,0 +1,192 @@
1
+ import generalTemplate from '../../src/tools/mail/templates/general.js';
2
+ import jobCompletedTemplate from '../../src/tools/mail/templates/job-completed.js';
3
+ import passwordResetTemplate from '../../src/tools/mail/templates/password-reset.js';
4
+ import performanceReportTemplate from '../../src/tools/mail/templates/performance-report.js';
5
+ import welcomeTemplate from '../../src/tools/mail/templates/welcome.js';
6
+ import workerAlertTemplate from '../../src/tools/mail/templates/worker-alert.js';
7
+ import { generateUuid, Logger, Mail, Queue } from '../../src/index.js';
8
+ import { createQueueWorker } from '../../packages/workers/src/index.js';
9
+ // Type guard function to check if argument is a Job
10
+ function isJob(arg) {
11
+ return 'data' in arg && typeof arg.data !== 'undefined';
12
+ }
13
+ const looksLikeHtml = (value) => /<\s*html\b|<!doctype\b|<\s*body\b/i.test(value);
14
+ const resolveTemplateForRender = (template) => {
15
+ const normalized = template
16
+ .trim()
17
+ .toLowerCase()
18
+ .replace(/\.html$/, '');
19
+ switch (normalized) {
20
+ case 'welcome':
21
+ return welcomeTemplate;
22
+ case 'general':
23
+ return generalTemplate;
24
+ case 'job-completed':
25
+ return jobCompletedTemplate;
26
+ case 'password-reset':
27
+ return passwordResetTemplate;
28
+ case 'performance-report':
29
+ return performanceReportTemplate;
30
+ case 'worker-alert':
31
+ return workerAlertTemplate;
32
+ default:
33
+ return template;
34
+ }
35
+ };
36
+ function buildBaseVariables(payload, jobId) {
37
+ const { to, subject } = payload;
38
+ return {
39
+ email: to ?? 'test@zintrust.com',
40
+ subject: subject ?? 'Worker Notification',
41
+ processed_at: new Date().toISOString(),
42
+ job_id: jobId,
43
+ timestamp: new Date().toISOString(),
44
+ status: 'success',
45
+ };
46
+ }
47
+ function buildTemplateWithCustomData(payload, baseVars) {
48
+ return {
49
+ template: payload.template || 'general',
50
+ variables: {
51
+ ...baseVars,
52
+ ...payload.templateData,
53
+ },
54
+ };
55
+ }
56
+ function buildTemplateWithDefaultData(payload, baseVars) {
57
+ const { subject, body } = payload;
58
+ return {
59
+ template: payload.template || 'general',
60
+ variables: {
61
+ ...baseVars,
62
+ headline: subject ?? 'Worker Notification',
63
+ message: body ?? 'Worker job completed successfully.',
64
+ primary_color: '#3b82f6',
65
+ },
66
+ };
67
+ }
68
+ function buildGeneralTemplate(payload, baseVars) {
69
+ const { subject, body } = payload;
70
+ return {
71
+ template: 'general',
72
+ variables: {
73
+ ...baseVars,
74
+ headline: subject ?? 'Worker Job Completed',
75
+ message: body ?? 'Worker job has been processed successfully.',
76
+ primary_color: '#3b82f6',
77
+ action_url: payload.templateData?.['action_url'] ?? null,
78
+ action_text: payload.templateData?.['action_text'] ?? 'View Details',
79
+ },
80
+ };
81
+ }
82
+ function buildTemplateVariables(payload, jobId) {
83
+ const baseVars = buildBaseVariables(payload, jobId);
84
+ if (payload.template !== null && payload.template !== undefined && payload.templateData) {
85
+ return buildTemplateWithCustomData(payload, baseVars);
86
+ }
87
+ if (payload.template !== null && payload.template !== undefined) {
88
+ return buildTemplateWithDefaultData(payload, baseVars);
89
+ }
90
+ return buildGeneralTemplate(payload, baseVars);
91
+ }
92
+ async function sendEmail(payload, selectedTemplate, templateVars) {
93
+ const { to, subject, body } = payload;
94
+ const templateInput = looksLikeHtml(selectedTemplate)
95
+ ? selectedTemplate
96
+ : resolveTemplateForRender(selectedTemplate);
97
+ const htmlContent = await Mail.render({
98
+ template: templateInput,
99
+ variables: templateVars,
100
+ });
101
+ const result = await Mail.send({
102
+ to: to ?? 'test@zintrust.com',
103
+ subject: subject ?? 'Worker Notification from ZinTrust',
104
+ text: body ?? `Worker job completed successfully.`,
105
+ html: htmlContent,
106
+ from: {
107
+ address: 'no-reply@engage.vizo.app',
108
+ name: 'ZinTrust Advanced Worker',
109
+ },
110
+ });
111
+ Logger.info('Advanced email sent', {
112
+ template: selectedTemplate,
113
+ to: to ?? 'test@zintrust.com',
114
+ messageId: result.messageId,
115
+ driver: result.driver,
116
+ ok: result.ok,
117
+ });
118
+ }
119
+ async function processAdvancedEmailJob(arg) {
120
+ const payload = isJob(arg) ? arg.data : arg;
121
+ const jobId = 'id' in arg && typeof arg.id === 'string'
122
+ ? arg.id
123
+ : `adv-email-${Date.now()}-${generateUuid()}`;
124
+ Logger.info('Processing advanced email job', {
125
+ jobId,
126
+ to: payload.to,
127
+ subject: payload.subject,
128
+ template: payload.template,
129
+ });
130
+ try {
131
+ const { template: selectedTemplate, variables: templateVars } = buildTemplateVariables(payload, jobId);
132
+ // For advanced testing, log deduplication metadata if provided
133
+ if (payload.uniqueId !== undefined) {
134
+ Logger.info('Advanced job uniqueId provided', {
135
+ uniqueId: payload.uniqueId,
136
+ uniqueVia: payload.uniqueVia,
137
+ deduplication: payload.deduplication,
138
+ });
139
+ }
140
+ await sendEmail(payload, selectedTemplate, templateVars);
141
+ }
142
+ catch (error) {
143
+ Logger.error('Advanced email send failed', {
144
+ jobId,
145
+ to: payload.to ?? 'test@zintrust.com',
146
+ template: payload.template ?? 'general',
147
+ error: error,
148
+ });
149
+ throw error;
150
+ }
151
+ }
152
+ const advancedWorkerOptions = {
153
+ kindLabel: 'Advanced Email Job',
154
+ defaultQueueName: 'advanced-queue',
155
+ maxAttempts: 3,
156
+ getLogFields: (payload) => ({
157
+ to: payload.to,
158
+ subject: payload.subject,
159
+ template: payload.template ?? 'general',
160
+ }),
161
+ handle: processAdvancedEmailJob,
162
+ };
163
+ export const AdvancEmailWorker = createQueueWorker(advancedWorkerOptions);
164
+ export const AdvancEmailQueue = {
165
+ async add(payload, queueName = 'advanced-queue', options) {
166
+ // Merge payload envelope with options for advanced tests
167
+ const queuePayload = {
168
+ ...payload,
169
+ ...options,
170
+ timestamp: Date.now(),
171
+ attempts: 0,
172
+ };
173
+ Logger.info('queuePayload :', queuePayload);
174
+ return Queue.enqueue(queueName, queuePayload);
175
+ },
176
+ async processOne(queueName = 'advanced-queue') {
177
+ return AdvancEmailWorker.processOne(queueName);
178
+ },
179
+ async processAll(queueName = 'advanced-queue') {
180
+ return AdvancEmailWorker.processAll(queueName);
181
+ },
182
+ async start(queueName = 'advanced-queue') {
183
+ void AdvancEmailWorker.startWorker({ queueName });
184
+ },
185
+ };
186
+ export { AdvancEmailWorker as AdvancEmailWorkerInstance };
187
+ export default async function advancedEmailJobProcessor(job) {
188
+ await processAdvancedEmailJob(job);
189
+ }
190
+ export const ZinTrustProcessor = async (job) => {
191
+ await processAdvancedEmailJob(job);
192
+ };
@@ -0,0 +1,39 @@
1
+ import type { Job } from '../../packages/workers/src/index.js';
2
+ export type EmailJobPayload = {
3
+ to: string;
4
+ subject: string;
5
+ body?: string;
6
+ template?: string;
7
+ templateData?: Record<string, unknown>;
8
+ };
9
+ export declare const EmailWorker: {
10
+ processOne: (queueName?: string, driverName?: string) => Promise<boolean>;
11
+ processAll: (queueName?: string, driverName?: string) => Promise<number>;
12
+ runOnce: (opts?: {
13
+ queueName?: string;
14
+ driverName?: string;
15
+ maxItems?: number;
16
+ maxDurationMs?: number;
17
+ }) => Promise<number>;
18
+ startWorker: (opts?: {
19
+ queueName?: string;
20
+ driverName?: string;
21
+ signal?: AbortSignal;
22
+ maxDurationMs?: number;
23
+ }) => Promise<number>;
24
+ __zintrustQueueWorkerMeta?: Readonly<{
25
+ kindLabel: string;
26
+ defaultQueueName: string;
27
+ maxAttempts: number;
28
+ }>;
29
+ };
30
+ export declare const EmailQueue: {
31
+ add(payload: EmailJobPayload, queueName?: string): Promise<string>;
32
+ processOne(queueName?: string): Promise<boolean>;
33
+ processAll(queueName?: string): Promise<number>;
34
+ start(queueName?: string): Promise<void>;
35
+ };
36
+ export { EmailWorker as EmailWorkerInstance };
37
+ export default function emailJobProcessor(job: Job<EmailJobPayload>): Promise<void>;
38
+ export declare const ZinTrustProcessor: (job: Job<EmailJobPayload>) => Promise<void>;
39
+ //# sourceMappingURL=EmailWorker.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"EmailWorker.d.ts","sourceRoot":"","sources":["../../../app/Workers/EmailWorker.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,mBAAmB,CAAC;AAI7C,MAAM,MAAM,eAAe,GAAG;IAC5B,EAAE,EAAE,MAAM,CAAC;IACX,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,YAAY,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACxC,CAAC;AA2MF,eAAO,MAAM,WAAW;0BAlHsC,CAAC,oBAE7D,CAAD;0BAIA,CAAC,oBAAoB,CAAC;kBAEd,CAAA;iBACC,CAAC;kBAAwB,CAAC;gBAAsB,CAAC;qBACnC,CAAC;;sBAED,CAAC;iBAAiB,CAAC;kBAAwB,CAAC;cAAoB,CAAC;qBAC7D,CAAC;;;;;;;CAqGmC,CAAC;AAGjE,eAAO,MAAM,UAAU;iBAEF,eAAe,uBAAiC,OAAO,CAAC,MAAM,CAAC;oCASlC,OAAO,CAAC,OAAO,CAAC;oCAKhB,OAAO,CAAC,MAAM,CAAC;+BAKpB,OAAO,CAAC,IAAI,CAAC;CAGzD,CAAC;AAGF,OAAO,EAAE,WAAW,IAAI,mBAAmB,EAAE,CAAC;AAG9C,wBAA8B,iBAAiB,CAAC,GAAG,EAAE,GAAG,CAAC,eAAe,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,CAGxF;AAED,eAAO,MAAM,iBAAiB,GAAU,KAAK,GAAG,CAAC,eAAe,CAAC,KAAG,OAAO,CAAC,IAAI,CAE/E,CAAC"}
@@ -0,0 +1,199 @@
1
+ import Logger from '../../src/config/logger.js';
2
+ import generalTemplate from '../../src/tools/mail/templates/general.js';
3
+ import jobCompletedTemplate from '../../src/tools/mail/templates/job-completed.js';
4
+ import passwordResetTemplate from '../../src/tools/mail/templates/password-reset.js';
5
+ import performanceReportTemplate from '../../src/tools/mail/templates/performance-report.js';
6
+ import welcomeTemplate from '../../src/tools/mail/templates/welcome.js';
7
+ import workerAlertTemplate from '../../src/tools/mail/templates/worker-alert.js';
8
+ import { Mail } from '../../src/tools/mail/index.js';
9
+ import { Queue } from '../../src/index.js';
10
+ import { createQueueWorker } from '../../packages/workers/src/index.js';
11
+ const looksLikeHtml = (value) => /<\s*html\b|<!doctype\b|<\s*body\b/i.test(value);
12
+ const resolveTemplateForRender = (template) => {
13
+ const normalized = template
14
+ .trim()
15
+ .toLowerCase()
16
+ .replace(/\.html$/, '');
17
+ switch (normalized) {
18
+ case 'welcome':
19
+ return welcomeTemplate;
20
+ case 'general':
21
+ return generalTemplate;
22
+ case 'job-completed':
23
+ return jobCompletedTemplate;
24
+ case 'password-reset':
25
+ return passwordResetTemplate;
26
+ case 'performance-report':
27
+ return performanceReportTemplate;
28
+ case 'worker-alert':
29
+ return workerAlertTemplate;
30
+ default:
31
+ return template;
32
+ }
33
+ };
34
+ // Helper function to build base template variables
35
+ function buildBaseVariables(payload, jobId) {
36
+ const { to, subject } = payload;
37
+ return {
38
+ email: to ?? 'test@zintrust.com',
39
+ subject: subject ?? 'Worker Notification',
40
+ processed_at: new Date().toISOString(),
41
+ job_id: jobId,
42
+ timestamp: new Date().toISOString(),
43
+ status: 'success',
44
+ };
45
+ }
46
+ // Helper function for template with custom data
47
+ function buildTemplateWithCustomData(payload, baseVars) {
48
+ return {
49
+ template: payload.template, // Safe because we check in caller
50
+ variables: {
51
+ ...baseVars,
52
+ ...payload.templateData,
53
+ },
54
+ };
55
+ }
56
+ // Helper function for template with default data
57
+ function buildTemplateWithDefaultData(payload, baseVars) {
58
+ const { subject, body } = payload;
59
+ return {
60
+ template: payload.template, // Safe because we check in caller
61
+ variables: {
62
+ ...baseVars,
63
+ headline: subject ?? 'Worker Notification',
64
+ message: body ?? 'Worker job completed successfully.',
65
+ primary_color: '#3b82f6',
66
+ },
67
+ };
68
+ }
69
+ // Helper function for general template
70
+ function buildGeneralTemplate(payload, baseVars) {
71
+ const { subject, body } = payload;
72
+ return {
73
+ template: 'general',
74
+ variables: {
75
+ ...baseVars,
76
+ headline: subject ?? 'Worker Job Completed',
77
+ message: body ?? 'Worker job has been processed successfully.',
78
+ primary_color: '#3b82f6',
79
+ action_url: payload.templateData?.['action_url'] ?? null,
80
+ action_text: payload.templateData?.['action_text'] ?? 'View Details',
81
+ },
82
+ };
83
+ }
84
+ // Helper function to build template variables
85
+ function buildTemplateVariables(payload, jobId) {
86
+ const baseVars = buildBaseVariables(payload, jobId);
87
+ if (payload.template !== null && payload.template !== undefined && payload.templateData) {
88
+ return buildTemplateWithCustomData(payload, baseVars);
89
+ }
90
+ if (payload.template !== null && payload.template !== undefined) {
91
+ return buildTemplateWithDefaultData(payload, baseVars);
92
+ }
93
+ return buildGeneralTemplate(payload, baseVars);
94
+ }
95
+ // Helper function to send email
96
+ async function sendEmail(payload, selectedTemplate, templateVars) {
97
+ const { to, subject, body } = payload;
98
+ const templateInput = looksLikeHtml(selectedTemplate)
99
+ ? selectedTemplate
100
+ : resolveTemplateForRender(selectedTemplate);
101
+ // Load and render the pure email template using Mail.render()
102
+ const htmlContent = await Mail.render({
103
+ template: templateInput,
104
+ variables: templateVars,
105
+ });
106
+ // Send email using Mail service with pure template
107
+ const result = await Mail.send({
108
+ to: to ?? 'test@zintrust.com',
109
+ subject: subject ?? 'Worker Notification from ZinTrust',
110
+ text: body ?? `Worker job completed successfully.`,
111
+ html: htmlContent,
112
+ from: {
113
+ address: 'no-reply@engage.vizo.app',
114
+ name: 'ZinTrust Worker System',
115
+ },
116
+ });
117
+ Logger.info('Email sent successfully using pure template', {
118
+ template: selectedTemplate,
119
+ to: to ?? 'test@zintrust.com',
120
+ messageId: result.messageId,
121
+ driver: result.driver,
122
+ ok: result.ok,
123
+ });
124
+ }
125
+ // Create a simple email processor function that doesn't depend on BullMQ
126
+ // Optimized to handle both raw payload and BullMQ Job object
127
+ async function processEmailJob(arg) {
128
+ // Unpack payload if it's a BullMQ Job
129
+ const payload = 'data' in arg && typeof arg.data !== 'undefined'
130
+ ? arg.data
131
+ : arg;
132
+ const { to, subject, template } = payload;
133
+ const jobId = 'id' in arg && typeof arg.id === 'string'
134
+ ? arg.id
135
+ : `email-${Date.now()}-${Math.random().toString(36).substring(2, 9)}`;
136
+ Logger.info('Processing email job', { jobId, to, subject, template });
137
+ try {
138
+ // Build template variables
139
+ // Use generic template builder that handles both custom and default
140
+ const { template: selectedTemplate, variables: templateVars } = buildTemplateVariables(payload, jobId);
141
+ // Send the email
142
+ await sendEmail(payload, selectedTemplate, templateVars);
143
+ }
144
+ catch (error) {
145
+ Logger.error('Failed to send email', {
146
+ jobId,
147
+ to: to ?? 'test@zintrust.com',
148
+ template: template ?? 'general',
149
+ error: error,
150
+ });
151
+ throw error;
152
+ }
153
+ }
154
+ // Create the email queue worker
155
+ const emailWorkerOptions = {
156
+ kindLabel: 'Email Job',
157
+ defaultQueueName: 'example-mysql1',
158
+ maxAttempts: 3,
159
+ getLogFields: (payload) => ({
160
+ to: payload.to,
161
+ subject: payload.subject,
162
+ template: payload.template ?? 'general',
163
+ }),
164
+ handle: processEmailJob,
165
+ };
166
+ export const EmailWorker = createQueueWorker(emailWorkerOptions);
167
+ // Export helper functions for convenience
168
+ export const EmailQueue = {
169
+ // Add an email job to the queue
170
+ async add(payload, queueName = 'example-mysql1') {
171
+ return Queue.enqueue(queueName, {
172
+ ...payload,
173
+ timestamp: Date.now(), // For delayed execution if needed
174
+ attempts: 0,
175
+ });
176
+ },
177
+ // Process one email job
178
+ async processOne(queueName = 'example-mysql1') {
179
+ return EmailWorker.processOne(queueName);
180
+ },
181
+ // Process all email jobs in queue
182
+ async processAll(queueName = 'example-mysql1') {
183
+ return EmailWorker.processAll(queueName);
184
+ },
185
+ // Start continuous worker
186
+ async start(queueName = 'example-mysql1') {
187
+ void EmailWorker.startWorker({ queueName });
188
+ },
189
+ };
190
+ // Clean exports - no conflicts
191
+ export { EmailWorker as EmailWorkerInstance };
192
+ // Default export for Worker API compatibility
193
+ export default async function emailJobProcessor(job) {
194
+ // Delegate to the unified processor
195
+ await processEmailJob(job);
196
+ }
197
+ export const ZinTrustProcessor = async (job) => {
198
+ await processEmailJob(job);
199
+ };
@@ -0,0 +1,16 @@
1
+ /**
2
+ * Test Worker
3
+ * Processes jobs from queues using the new Worker Management System
4
+ */
5
+ export declare function startTestWorker(queueName: string): Promise<void>;
6
+ export declare function stopTestWorker(): Promise<void>;
7
+ export declare function isWorkerRunning(): boolean;
8
+ /**
9
+ * Get test worker metrics
10
+ */
11
+ export declare function getTestWorkerMetrics(): Promise<unknown>;
12
+ /**
13
+ * Get test worker health
14
+ */
15
+ export declare function getTestWorkerHealth(): Promise<unknown>;
16
+ //# sourceMappingURL=TestWorker.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TestWorker.d.ts","sourceRoot":"","sources":["../../../app/Workers/TestWorker.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAuHH,wBAAsB,eAAe,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAetE;AAED,wBAAsB,cAAc,IAAI,OAAO,CAAC,IAAI,CAAC,CAoBpD;AAED,wBAAgB,eAAe,IAAI,OAAO,CAEzC;AAED;;GAEG;AACH,wBAAsB,oBAAoB,IAAI,OAAO,CAAC,OAAO,CAAC,CAM7D;AAED;;GAEG;AACH,wBAAsB,mBAAmB,IAAI,OAAO,CAAC,OAAO,CAAC,CAM5D"}