@zintrust/core 0.4.27 → 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 (469) 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 +26 -77
  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/cli/CLI.d.ts.map +1 -1
  439. package/src/cli/CLI.js +4 -0
  440. package/src/cli/commands/D1ProxyCommand.d.ts +6 -0
  441. package/src/cli/commands/D1ProxyCommand.d.ts.map +1 -0
  442. package/src/cli/commands/D1ProxyCommand.js +170 -0
  443. package/src/cli/commands/InitContainerCommand.d.ts.map +1 -1
  444. package/src/cli/commands/InitContainerCommand.js +9 -96
  445. package/src/cli/commands/KvProxyCommand.d.ts +6 -0
  446. package/src/cli/commands/KvProxyCommand.d.ts.map +1 -0
  447. package/src/cli/commands/KvProxyCommand.js +158 -0
  448. package/src/cli/commands/ProxyCommand.d.ts.map +1 -1
  449. package/src/cli/commands/ProxyCommand.js +2 -0
  450. package/src/cli/commands/index.d.ts +2 -0
  451. package/src/cli/commands/index.d.ts.map +1 -1
  452. package/src/cli/commands/index.js +2 -0
  453. package/src/cli/index.d.ts +2 -0
  454. package/src/cli/index.d.ts.map +1 -1
  455. package/src/cli/index.js +2 -0
  456. package/src/cli/scaffolding/GovernanceScaffolder.d.ts.map +1 -1
  457. package/src/cli/scaffolding/GovernanceScaffolder.js +20 -3
  458. package/src/cli/scaffolding/ProjectScaffolder.d.ts.map +1 -1
  459. package/src/cli/scaffolding/ProjectScaffolder.js +13 -4
  460. package/src/cli/utils/DistPackager.d.ts +2 -2
  461. package/src/cli/utils/DistPackager.d.ts.map +1 -1
  462. package/src/cli/utils/DistPackager.js +9 -3
  463. package/src/index.js +3 -3
  464. package/src/proxy.d.ts +2 -0
  465. package/src/proxy.d.ts.map +1 -1
  466. package/src/proxy.js +2 -0
  467. package/src/templates/project/basic/package.json.tpl +1 -1
  468. package/start.d.ts +1 -0
  469. package/start.js +1 -0
@@ -0,0 +1,22 @@
1
+ /**
2
+ * Migration: AddWayTasksTable
3
+ * Modifies tasks table
4
+ */
5
+ import { Schema as MigrationSchema } from '../../src/migrations/schema';
6
+ export const migration = {
7
+ /**
8
+ * Run migration
9
+ */
10
+ async up(db) {
11
+ const schema = MigrationSchema.create(db);
12
+ await schema.table('tasks', (table) => {
13
+ table.string('way');
14
+ });
15
+ },
16
+ /**
17
+ * Rollback migration
18
+ */
19
+ async down(_db) {
20
+ // Note: dropping columns/FKs varies by driver; SQLite/D1 requires a table rebuild.
21
+ },
22
+ };
@@ -0,0 +1,7 @@
1
+ import type { IDatabase } from '../../src/orm/Database';
2
+ export interface Migration {
3
+ up(db: IDatabase): Promise<void>;
4
+ down(db: IDatabase): Promise<void>;
5
+ }
6
+ export declare const migration: Migration;
7
+ //# sourceMappingURL=20260218121500_create_jwt_revocations_table.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"20260218121500_create_jwt_revocations_table.d.ts","sourceRoot":"","sources":["../../../database/migrations/20260218121500_create_jwt_revocations_table.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAE/C,MAAM,WAAW,SAAS;IACxB,EAAE,CAAC,EAAE,EAAE,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACjC,IAAI,CAAC,EAAE,EAAE,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CACpC;AAED,eAAO,MAAM,SAAS,EAAE,SAmBvB,CAAC"}
@@ -0,0 +1,22 @@
1
+ /**
2
+ * Migration: CreateJwtRevocationsTable
3
+ * Creates a storage table for JWT token revocation (token invalidation).
4
+ */
5
+ import { Schema as MigrationSchema } from '../../src/migrations/schema';
6
+ export const migration = {
7
+ async up(db) {
8
+ const schema = MigrationSchema.create(db);
9
+ await schema.create('zintrust_jwt_revocations', (table) => {
10
+ table.id();
11
+ table.string('jti', 128).unique();
12
+ table.string('sub', 191).nullable();
13
+ table.bigInteger('expires_at_ms');
14
+ table.timestamp('revoked_at').notNullable().default('CURRENT_TIMESTAMP');
15
+ table.index(['expires_at_ms']);
16
+ });
17
+ },
18
+ async down(db) {
19
+ const schema = MigrationSchema.create(db);
20
+ await schema.dropIfExists('zintrust_jwt_revocations');
21
+ },
22
+ };
@@ -0,0 +1,11 @@
1
+ /**
2
+ * Migration: AddKindToJwtRevocationsTable
3
+ * Adds a 'kind' column so the same table can distinguish revoked tokens vs active sessions.
4
+ */
5
+ import type { IDatabase } from '../../src/orm/Database';
6
+ export interface Migration {
7
+ up(db: IDatabase): Promise<void>;
8
+ down(db: IDatabase): Promise<void>;
9
+ }
10
+ export declare const migration: Migration;
11
+ //# sourceMappingURL=20260222120000_add_kind_to_jwt_revocations_table.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"20260222120000_add_kind_to_jwt_revocations_table.d.ts","sourceRoot":"","sources":["../../../database/migrations/20260222120000_add_kind_to_jwt_revocations_table.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAE/C,MAAM,WAAW,SAAS;IACxB,EAAE,CAAC,EAAE,EAAE,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACjC,IAAI,CAAC,EAAE,EAAE,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CACpC;AAED,eAAO,MAAM,SAAS,EAAE,SAgBvB,CAAC"}
@@ -0,0 +1,20 @@
1
+ /**
2
+ * Migration: AddKindToJwtRevocationsTable
3
+ * Adds a 'kind' column so the same table can distinguish revoked tokens vs active sessions.
4
+ */
5
+ import { Schema as MigrationSchema } from '../../src/migrations/schema';
6
+ export const migration = {
7
+ async up(db) {
8
+ const schema = MigrationSchema.create(db);
9
+ const hasKind = await schema.hasColumn('zintrust_jwt_revocations', 'kind');
10
+ if (!hasKind) {
11
+ await schema.table('zintrust_jwt_revocations', (table) => {
12
+ table.string('kind', 16).notNullable().default('revoked');
13
+ table.index(['kind']);
14
+ });
15
+ }
16
+ },
17
+ async down(_db) {
18
+ // Note: dropping columns/FKs varies by driver; SQLite/D1 requires a table rebuild.
19
+ },
20
+ };
@@ -0,0 +1,11 @@
1
+ /**
2
+ * Migration: AddUserIdToJwtRevocationsTable
3
+ * Adds a 'user_id' column so developers can attribute JWT session/revocation rows to a user.
4
+ */
5
+ import type { IDatabase } from '../../src/orm/Database';
6
+ export interface Migration {
7
+ up(db: IDatabase): Promise<void>;
8
+ down(db: IDatabase): Promise<void>;
9
+ }
10
+ export declare const migration: Migration;
11
+ //# sourceMappingURL=20260222123000_add_user_id_to_jwt_revocations_table.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"20260222123000_add_user_id_to_jwt_revocations_table.d.ts","sourceRoot":"","sources":["../../../database/migrations/20260222123000_add_user_id_to_jwt_revocations_table.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAE/C,MAAM,WAAW,SAAS;IACxB,EAAE,CAAC,EAAE,EAAE,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACjC,IAAI,CAAC,EAAE,EAAE,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CACpC;AAED,eAAO,MAAM,SAAS,EAAE,SAgBvB,CAAC"}
@@ -0,0 +1,20 @@
1
+ /**
2
+ * Migration: AddUserIdToJwtRevocationsTable
3
+ * Adds a 'user_id' column so developers can attribute JWT session/revocation rows to a user.
4
+ */
5
+ import { Schema as MigrationSchema } from '../../src/migrations/schema';
6
+ export const migration = {
7
+ async up(db) {
8
+ const schema = MigrationSchema.create(db);
9
+ const hasUserId = await schema.hasColumn('zintrust_jwt_revocations', 'user_id');
10
+ if (!hasUserId) {
11
+ await schema.table('zintrust_jwt_revocations', (table) => {
12
+ table.string('user_id', 191).nullable();
13
+ table.index(['user_id']);
14
+ });
15
+ }
16
+ },
17
+ async down(_db) {
18
+ // Note: dropping columns/FKs varies by driver; SQLite/D1 requires a table rebuild.
19
+ },
20
+ };
@@ -0,0 +1,11 @@
1
+ /**
2
+ * Migration: CreatePostsTable
3
+ * Creates posts table
4
+ */
5
+ import type { IDatabase } from '../../src/orm/Database';
6
+ export interface Migration {
7
+ up(db: IDatabase): Promise<void>;
8
+ down(db: IDatabase): Promise<void>;
9
+ }
10
+ export declare const migration: Migration;
11
+ //# sourceMappingURL=20260327112651_create_posts_table.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"20260327112651_create_posts_table.d.ts","sourceRoot":"","sources":["../../../database/migrations/20260327112651_create_posts_table.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAG/C,MAAM,WAAW,SAAS;IACxB,EAAE,CAAC,EAAE,EAAE,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACjC,IAAI,CAAC,EAAE,EAAE,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CACpC;AAED,eAAO,MAAM,SAAS,EAAE,SAoBvB,CAAC"}
@@ -0,0 +1,24 @@
1
+ /**
2
+ * Migration: CreatePostsTable
3
+ * Creates posts table
4
+ */
5
+ import { Schema as MigrationSchema } from '../../src/migrations/schema';
6
+ export const migration = {
7
+ /**
8
+ * Run migration
9
+ */
10
+ async up(db) {
11
+ const schema = MigrationSchema.create(db);
12
+ await schema.create('posts', (table) => {
13
+ table.id();
14
+ table.timestamps();
15
+ });
16
+ },
17
+ /**
18
+ * Rollback migration
19
+ */
20
+ async down(db) {
21
+ const schema = MigrationSchema.create(db);
22
+ await schema.dropIfExists('posts');
23
+ },
24
+ };
@@ -0,0 +1,5 @@
1
+ import type { IDatabase } from '../../src/orm/Database';
2
+ export declare const DatabaseSeeder: Readonly<{
3
+ run(db: IDatabase): Promise<void>;
4
+ }>;
5
+ //# sourceMappingURL=DatabaseSeeder.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DatabaseSeeder.d.ts","sourceRoot":"","sources":["../../../database/seeders/DatabaseSeeder.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAE/C,eAAO,MAAM,cAAc;YACX,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC;EAWvC,CAAC"}
@@ -0,0 +1,15 @@
1
+ import { SeederDiscovery } from '../../src/seeders/SeederDiscovery';
2
+ import { SeederLoader } from '../../src/seeders/SeederLoader';
3
+ import { CommonUtils } from '../../src/common/index';
4
+ import * as path from '../../src/node-singletons/path';
5
+ export const DatabaseSeeder = Object.freeze({
6
+ async run(db) {
7
+ const dir = CommonUtils.esmDirname(import.meta.url);
8
+ const files = SeederDiscovery.listSeederFiles(dir).filter((filePath) => {
9
+ const base = path.basename(filePath, path.extname(filePath));
10
+ return base !== 'DatabaseSeeder';
11
+ });
12
+ const seeders = await Promise.all(files.map((filePath) => SeederLoader.load(filePath)));
13
+ await Promise.all(seeders.map((seeder) => seeder.run(db)));
14
+ },
15
+ });
@@ -0,0 +1,30 @@
1
+ /**
2
+ * UserSeeder
3
+ * Seeder for populating User table with test data
4
+ */
5
+ import { UserFactory } from '../factories/UserFactory';
6
+ import type { IDatabase } from '../../src/orm/Database';
7
+ export declare const UserSeeder: Readonly<{
8
+ /**
9
+ * Run the seeder
10
+ * Populates the user table with 10 records
11
+ */
12
+ run(db?: IDatabase): Promise<void>;
13
+ /**
14
+ * Get records from this seeder
15
+ */
16
+ getRecords(count: number): Promise<ReturnType<ReturnType<typeof UserFactory.new>["count"]>>;
17
+ /**
18
+ * Seed with specific states
19
+ */
20
+ seedWithStates(db?: IDatabase): Promise<void>;
21
+ /**
22
+ * Seed with relationships
23
+ */
24
+ seedWithRelationships(db?: IDatabase): Promise<void>;
25
+ /**
26
+ * Reset seeder (truncate table)
27
+ */
28
+ reset(db?: IDatabase): Promise<void>;
29
+ }>;
30
+ //# sourceMappingURL=UserSeeder.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"UserSeeder.d.ts","sourceRoot":"","sources":["../../../database/seeders/UserSeeder.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,EAAE,WAAW,EAAE,MAAM,iCAAiC,CAAC;AAE9D,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AA2B/C,eAAO,MAAM,UAAU;IACrB;;;OAGG;aACY,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC;IAoBxC;;OAEG;sBAEM,MAAM,GACZ,OAAO,CAAC,UAAU,CAAC,UAAU,CAAC,OAAO,WAAW,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;IAKnE;;OAEG;wBACuB,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC;IAyBnD;;OAEG;+BAC8B,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC;IAiB1D;;OAEG;eACc,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC;EAS1C,CAAC"}
@@ -0,0 +1,97 @@
1
+ /**
2
+ * UserSeeder
3
+ * Seeder for populating User table with test data
4
+ */
5
+ import { Logger } from '../../src/config/logger';
6
+ import { UserFactory } from '../factories/UserFactory';
7
+ import { Auth } from '../../src/auth/Auth';
8
+ async function truncateUsersTable(db) {
9
+ await db.table('users').where('id', 'IS NOT', null).delete();
10
+ }
11
+ function normalizeUserFactoryRecord(record) {
12
+ const row = record;
13
+ const name = typeof row['name'] === 'string' ? row['name'] : 'User';
14
+ const email = typeof row['email'] === 'string' ? row['email'] : `${name}@example.com`;
15
+ return { name, email };
16
+ }
17
+ async function insertUserFactoryRecords(db, records, getPassword) {
18
+ await Promise.all(records.map(async (record) => {
19
+ const { name, email } = normalizeUserFactoryRecord(record);
20
+ const password = await getPassword();
21
+ return db.table('users').insert({ name, email, password });
22
+ }));
23
+ }
24
+ export const UserSeeder = Object.freeze({
25
+ /**
26
+ * Run the seeder
27
+ * Populates the user table with 10 records
28
+ */
29
+ async run(db) {
30
+ if (db === undefined) {
31
+ Logger.warn('UserSeeder.run() was called without a db instance; skipping.');
32
+ return;
33
+ }
34
+ const count = 10;
35
+ const factory = UserFactory.new();
36
+ // Optionally truncate the table before seeding
37
+ await truncateUsersTable(db);
38
+ // Generate and create records
39
+ const records = factory.count(count);
40
+ await insertUserFactoryRecords(db, records, () => Auth.hash('password'));
41
+ Logger.info(`✅ Seeded ${count} user records`);
42
+ },
43
+ /**
44
+ * Get records from this seeder
45
+ */
46
+ async getRecords(count) {
47
+ const factory = UserFactory.new();
48
+ return factory.count(count);
49
+ },
50
+ /**
51
+ * Seed with specific states
52
+ */
53
+ async seedWithStates(db) {
54
+ if (db === undefined) {
55
+ Logger.warn('UserSeeder.seedWithStates() was called without a db instance; skipping.');
56
+ return;
57
+ }
58
+ const factory = UserFactory.new();
59
+ // Create active records (50%)
60
+ const active = factory.state('active').count(Math.ceil(10 * 0.5));
61
+ const activePromise = insertUserFactoryRecords(db, active, () => Auth.hash('password'));
62
+ // Create inactive records (30%)
63
+ const inactive = factory.state('inactive').count(Math.ceil(10 * 0.3));
64
+ const inactivePromise = insertUserFactoryRecords(db, inactive, () => Auth.hash('password'));
65
+ // Create deleted records (20%)
66
+ const deleted = factory.state('deleted').count(Math.ceil(10 * 0.2));
67
+ const deletedPromise = insertUserFactoryRecords(db, deleted, () => Auth.hash('password'));
68
+ await Promise.all([activePromise, inactivePromise, deletedPromise]);
69
+ Logger.info(`✅ Seeded 10 user records with state distribution`);
70
+ },
71
+ /**
72
+ * Seed with relationships
73
+ */
74
+ async seedWithRelationships(db) {
75
+ if (db === undefined) {
76
+ Logger.warn('UserSeeder.seedWithRelationships() was called without a db instance; skipping.');
77
+ return;
78
+ }
79
+ const factory = UserFactory.new();
80
+ const password = await Auth.hash('password');
81
+ const records = factory.count(10);
82
+ // Create records with relationships (implement as needed)
83
+ await insertUserFactoryRecords(db, records, async () => password);
84
+ Logger.info(`✅ Seeded 10 user records with relationships`);
85
+ },
86
+ /**
87
+ * Reset seeder (truncate table)
88
+ */
89
+ async reset(db) {
90
+ if (db === undefined) {
91
+ Logger.warn('UserSeeder.reset() was called without a db instance; skipping.');
92
+ return;
93
+ }
94
+ await truncateUsersTable(db);
95
+ Logger.info('✅ Truncated users table');
96
+ },
97
+ });
package/index.d.ts ADDED
@@ -0,0 +1 @@
1
+ export * from './src/index';
package/index.js ADDED
@@ -0,0 +1 @@
1
+ export * from './src/index.js';
package/package.json CHANGED
@@ -1,50 +1,51 @@
1
1
  {
2
2
  "name": "@zintrust/core",
3
- "version": "0.4.27",
4
- "description": "Production-grade TypeScript backend framework for JavaScript",
5
- "homepage": "https://zintrust.com",
6
- "repository": {
7
- "type": "git",
8
- "url": "https://github.com/ZinTrust/ZinTrust.git"
9
- },
10
- "bugs": {
11
- "url": "https://github.com/ZinTrust/ZinTrust/issues"
12
- },
3
+ "version": "0.4.28",
13
4
  "type": "module",
14
- "main": "src/index.js",
15
- "types": "src/index.d.ts",
5
+ "main": "./index.js",
6
+ "types": "./index.d.ts",
7
+ "bin": {
8
+ "zintrust": "./bin/zintrust.js",
9
+ "zin": "./bin/zin.js",
10
+ "z": "./bin/z.js",
11
+ "zt": "./bin/zt.js"
12
+ },
16
13
  "exports": {
17
14
  ".": {
18
- "types": "./src/index.d.ts",
19
- "import": "./src/index.js"
15
+ "types": "./index.d.ts",
16
+ "default": "./index.js"
20
17
  },
21
18
  "./start": {
22
- "types": "./src/start.d.ts",
23
- "import": "./src/start.js"
19
+ "types": "./start.d.ts",
20
+ "default": "./start.js"
24
21
  },
25
22
  "./cli": {
26
23
  "types": "./src/cli.d.ts",
27
- "import": "./src/cli.js"
28
- },
29
- "./worker-commands": {
30
- "types": "./src/worker-commands.d.ts",
31
- "import": "./src/worker-commands.js"
24
+ "default": "./src/cli.js"
32
25
  },
33
26
  "./proxy": {
34
27
  "types": "./src/proxy.d.ts",
35
- "import": "./src/proxy.js"
28
+ "default": "./src/proxy.js"
29
+ },
30
+ "./proxy/*": {
31
+ "types": "./src/proxy/*.d.ts",
32
+ "default": "./src/proxy/*.js"
36
33
  },
37
34
  "./collections": {
38
35
  "types": "./src/collections/index.d.ts",
39
- "import": "./src/collections/index.js"
36
+ "default": "./src/collections/index.js"
40
37
  },
41
38
  "./helper": {
42
39
  "types": "./src/helper/index.d.ts",
43
- "import": "./src/helper/index.js"
40
+ "default": "./src/helper/index.js"
44
41
  },
45
42
  "./node": {
46
43
  "types": "./src/node.d.ts",
47
- "import": "./src/node.js"
44
+ "default": "./src/node.js"
45
+ },
46
+ "./routes/*": {
47
+ "types": "./routes/*.d.ts",
48
+ "default": "./routes/*.js"
48
49
  },
49
50
  "./package.json": "./package.json"
50
51
  },
@@ -60,58 +61,6 @@
60
61
  "mysql2": "^3.20.0",
61
62
  "pg": "^8.20.0"
62
63
  },
63
- "overrides": {
64
- "ajv": "^8.18.0",
65
- "axios": "^1.13.5",
66
- "node-forge": "^1.4.0",
67
- "brace-expansion": "^5.0.5",
68
- "picomatch": "^4.0.4",
69
- "cross-spawn": "^7.0.5",
70
- "glob": "^11.1.0",
71
- "minimatch": "^10.2.2",
72
- "rollup": "^4.59.0",
73
- "flatted": "^3.4.2",
74
- "@actions/github": {
75
- "undici": "^6.24.0"
76
- },
77
- "@actions/http-client": {
78
- "undici": "^6.24.0"
79
- },
80
- "miniflare": {
81
- "undici": "^7.24.4"
82
- }
83
- },
84
- "bin": {
85
- "zintrust": "bin/zintrust.js",
86
- "zin": "bin/zin.js",
87
- "z": "bin/z.js",
88
- "zt": "bin/zt.js"
89
- },
90
- "files": [
91
- "bin",
92
- "src",
93
- "public"
94
- ],
95
- "engines": {
96
- "node": ">=20.0.0",
97
- "npm": ">=9.0.0"
98
- },
99
- "keywords": [
100
- "framework",
101
- "typescript",
102
- "backend",
103
- "orm",
104
- "query-builder",
105
- "rest-api",
106
- "react",
107
- "react-api",
108
- "vue",
109
- "vue-api",
110
- "symfony",
111
- "laravel"
112
- ],
113
- "author": "ZinTrust Team",
114
- "license": "MIT",
115
64
  "publishConfig": {
116
65
  "access": "public"
117
66
  }
@@ -0,0 +1,6 @@
1
+ import type { CacheDriver } from './index.js';
2
+ export declare const RedisProxyAdapter: Readonly<{
3
+ create(): CacheDriver;
4
+ }>;
5
+ export default RedisProxyAdapter;
6
+ //# sourceMappingURL=RedisProxyAdapter.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RedisProxyAdapter.d.ts","sourceRoot":"","sources":["../../../../packages/cache-redis/src/RedisProxyAdapter.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAmI9C,eAAO,MAAM,iBAAiB;cAClB,WAAW;EA6CrB,CAAC;AAEH,eAAe,iBAAiB,CAAC"}
@@ -0,0 +1,144 @@
1
+ import { Env, ErrorFactory, Logger, SignedRequest } from '../../../src/index.js';
2
+ const resolveSigningPrefix = (baseUrl) => {
3
+ try {
4
+ const parsed = new URL(baseUrl);
5
+ const path = parsed.pathname.endsWith('/') ? parsed.pathname.slice(0, -1) : parsed.pathname;
6
+ if (path === '' || path === '/')
7
+ return undefined;
8
+ return path;
9
+ }
10
+ catch {
11
+ return undefined;
12
+ }
13
+ };
14
+ const buildRequestUrl = (baseUrl, path) => {
15
+ const url = new URL(baseUrl);
16
+ const basePath = url.pathname.endsWith('/') ? url.pathname.slice(0, -1) : url.pathname;
17
+ const requestPath = path.startsWith('/') ? path : `/${path}`;
18
+ url.pathname = `${basePath}${requestPath}`;
19
+ return url;
20
+ };
21
+ const buildSigningUrl = (requestUrl, baseUrl) => {
22
+ const prefix = resolveSigningPrefix(baseUrl);
23
+ if (!prefix)
24
+ return requestUrl;
25
+ if (requestUrl.pathname === prefix || requestUrl.pathname.startsWith(`${prefix}/`)) {
26
+ const signingUrl = new URL(requestUrl.toString());
27
+ const stripped = requestUrl.pathname.slice(prefix.length);
28
+ signingUrl.pathname = stripped.startsWith('/') ? stripped : `/${stripped}`;
29
+ return signingUrl;
30
+ }
31
+ return requestUrl;
32
+ };
33
+ const resolveBaseUrl = () => {
34
+ const explicit = Env.get('REDIS_PROXY_URL', '').trim();
35
+ if (explicit !== '')
36
+ return explicit;
37
+ const host = Env.get('REDIS_PROXY_HOST', '127.0.0.1');
38
+ const port = Env.getInt('REDIS_PROXY_PORT', 8791);
39
+ return `http://${host}:${port}`;
40
+ };
41
+ const buildProxySettings = () => {
42
+ const baseUrl = resolveBaseUrl();
43
+ const rawKeyId = Env.get('REDIS_PROXY_KEY_ID', '').trim();
44
+ const fallbackKeyId = (Env.APP_NAME ?? 'zintrust').trim().toLowerCase().replaceAll(/\s+/g, '_');
45
+ const keyId = (rawKeyId === '' ? fallbackKeyId : rawKeyId) || undefined;
46
+ const secret = Env.get('REDIS_PROXY_SECRET', '') || Env.APP_KEY || undefined;
47
+ const timeoutMs = Env.getInt('REDIS_PROXY_TIMEOUT_MS', Env.ZT_PROXY_TIMEOUT_MS);
48
+ return { baseUrl, keyId, secret, timeoutMs };
49
+ };
50
+ const buildHeaders = async (settings, requestUrl, body) => {
51
+ const headers = {
52
+ 'Content-Type': 'application/json',
53
+ };
54
+ if (settings.keyId && settings.secret) {
55
+ const signingUrl = buildSigningUrl(requestUrl, settings.baseUrl);
56
+ const signed = await SignedRequest.createHeaders({
57
+ method: 'POST',
58
+ url: signingUrl,
59
+ body,
60
+ keyId: settings.keyId,
61
+ secret: settings.secret,
62
+ });
63
+ Object.assign(headers, signed);
64
+ }
65
+ else {
66
+ Logger.warn('[redis-proxy] Proxy signing disabled; sending unsigned request.');
67
+ }
68
+ return headers;
69
+ };
70
+ const requestProxy = async (settings, path, payload) => {
71
+ if (settings.baseUrl.trim() === '') {
72
+ throw ErrorFactory.createConfigError('Redis proxy URL is missing (REDIS_PROXY_URL)');
73
+ }
74
+ const body = JSON.stringify(payload);
75
+ const url = buildRequestUrl(settings.baseUrl, path);
76
+ const headers = await buildHeaders(settings, url, body);
77
+ const timeoutSignal = typeof AbortSignal !== 'undefined' && 'timeout' in AbortSignal;
78
+ const signal = timeoutSignal ? AbortSignal.timeout(settings.timeoutMs) : undefined;
79
+ const response = await fetch(url.toString(), {
80
+ method: 'POST',
81
+ headers,
82
+ body,
83
+ signal,
84
+ });
85
+ if (!response.ok) {
86
+ const text = await response.text();
87
+ throw ErrorFactory.createTryCatchError(`Redis proxy request failed (${response.status})`, text);
88
+ }
89
+ return (await response.json());
90
+ };
91
+ const toNumber = (value) => {
92
+ if (typeof value === 'number')
93
+ return value;
94
+ if (typeof value === 'string') {
95
+ const parsed = Number(value);
96
+ return Number.isFinite(parsed) ? parsed : 0;
97
+ }
98
+ return 0;
99
+ };
100
+ export const RedisProxyAdapter = Object.freeze({
101
+ create() {
102
+ const settings = buildProxySettings();
103
+ const sendCommand = async (command, args) => {
104
+ const response = await requestProxy(settings, '/zin/redis/command', {
105
+ command,
106
+ args,
107
+ });
108
+ return response.result;
109
+ };
110
+ return {
111
+ async get(key) {
112
+ const result = await sendCommand('GET', [key]);
113
+ if (result === null)
114
+ return null;
115
+ try {
116
+ return JSON.parse(result);
117
+ }
118
+ catch {
119
+ return null;
120
+ }
121
+ },
122
+ async set(key, value, ttl) {
123
+ const json = JSON.stringify(value);
124
+ if (Number.isFinite(ttl) && (ttl ?? 0) > 0) {
125
+ await sendCommand('SET', [key, json, 'EX', ttl]);
126
+ }
127
+ else {
128
+ await sendCommand('SET', [key, json]);
129
+ }
130
+ },
131
+ async delete(key) {
132
+ await sendCommand('DEL', [key]);
133
+ },
134
+ async clear() {
135
+ await sendCommand('FLUSHDB', []);
136
+ },
137
+ async has(key) {
138
+ const result = await sendCommand('EXISTS', [key]);
139
+ return toNumber(result) > 0;
140
+ },
141
+ };
142
+ },
143
+ });
144
+ export default RedisProxyAdapter;
@@ -0,0 +1,27 @@
1
+ export interface CacheDriver {
2
+ get<T>(key: string): Promise<T | null>;
3
+ set<T>(key: string, value: T, ttl?: number): Promise<void>;
4
+ delete(key: string): Promise<void>;
5
+ clear(): Promise<void>;
6
+ has(key: string): Promise<boolean>;
7
+ }
8
+ export type RedisCacheConfig = {
9
+ driver: 'redis';
10
+ host: string;
11
+ port: number;
12
+ ttl: number;
13
+ password?: string;
14
+ database?: number;
15
+ };
16
+ export declare const RedisCacheDriver: Readonly<{
17
+ create(config: RedisCacheConfig): CacheDriver;
18
+ }>;
19
+ export default RedisCacheDriver;
20
+ export { RedisProxyAdapter } from './RedisProxyAdapter.js';
21
+ /**
22
+ * Package version and build metadata
23
+ * Available at runtime for debugging and health checks
24
+ */
25
+ export declare const _ZINTRUST_CACHE_REDIS_VERSION = "0.1.15";
26
+ export declare const _ZINTRUST_CACHE_REDIS_BUILD_DATE = "__BUILD_DATE__";
27
+ //# sourceMappingURL=index.d.ts.map