@zintrust/core 0.1.49 → 0.1.51

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 (350) hide show
  1. package/bin/z.js +0 -0
  2. package/bin/zin.js +0 -0
  3. package/bin/zintrust.js +0 -0
  4. package/bin/zt.js +0 -0
  5. package/package.json +1 -9
  6. package/src/boot/bootstrap.js +2 -6
  7. package/src/boot/registry/runtime.d.ts.map +1 -1
  8. package/src/boot/registry/runtime.js +6 -1
  9. package/src/cli/scaffolding/ProjectScaffolder.d.ts.map +1 -1
  10. package/src/cli/scaffolding/ProjectScaffolder.js +27 -50
  11. package/src/cli/scaffolding/env.d.ts +2 -0
  12. package/src/cli/scaffolding/env.d.ts.map +1 -0
  13. package/src/cli/scaffolding/env.js +549 -0
  14. package/src/cli/utils/EnvFileLoader.js +1 -1
  15. package/src/config/index.d.ts +1 -1
  16. package/src/config/index.d.ts.map +1 -1
  17. package/src/config/index.js +30 -10
  18. package/src/config/logger.d.ts.map +1 -1
  19. package/src/config/logger.js +56 -9
  20. package/src/index.d.ts +0 -2
  21. package/src/index.d.ts.map +1 -1
  22. package/src/index.js +3 -5
  23. package/src/proxy/d1/ZintrustD1Proxy.d.ts +2 -2
  24. package/src/proxy/d1/ZintrustD1Proxy.d.ts.map +1 -1
  25. package/src/proxy/d1/ZintrustD1Proxy.js +39 -2
  26. package/src/proxy/kv/ZintrustKvProxy.d.ts +2 -2
  27. package/src/proxy/kv/ZintrustKvProxy.d.ts.map +1 -1
  28. package/src/proxy/kv/ZintrustKvProxy.js +38 -2
  29. package/src/runtime/PluginAutoImports.js +1 -1
  30. package/src/runtime/WorkersModule.d.ts.map +1 -1
  31. package/src/runtime/WorkersModule.js +66 -0
  32. package/src/security/JwtManager.js +1 -1
  33. package/app/Controllers/AuthController.d.ts +0 -10
  34. package/app/Controllers/AuthController.d.ts.map +0 -1
  35. package/app/Controllers/AuthController.js +0 -223
  36. package/app/Controllers/UserController.d.ts +0 -9
  37. package/app/Controllers/UserController.d.ts.map +0 -1
  38. package/app/Controllers/UserController.js +0 -8
  39. package/app/Controllers/UserQueryBuilderController.d.ts +0 -16
  40. package/app/Controllers/UserQueryBuilderController.d.ts.map +0 -1
  41. package/app/Controllers/UserQueryBuilderController.js +0 -404
  42. package/app/Middleware/ProfilerMiddleware.d.ts +0 -12
  43. package/app/Middleware/ProfilerMiddleware.d.ts.map +0 -1
  44. package/app/Middleware/ProfilerMiddleware.js +0 -47
  45. package/app/Middleware/index.d.ts +0 -59
  46. package/app/Middleware/index.d.ts.map +0 -1
  47. package/app/Middleware/index.js +0 -215
  48. package/app/Models/Post.d.ts +0 -14
  49. package/app/Models/Post.d.ts.map +0 -1
  50. package/app/Models/Post.js +0 -27
  51. package/app/Models/User.d.ts +0 -14
  52. package/app/Models/User.d.ts.map +0 -1
  53. package/app/Models/User.js +0 -44
  54. package/app/Schedules/JobTracking.d.ts +0 -3
  55. package/app/Schedules/JobTracking.d.ts.map +0 -1
  56. package/app/Schedules/JobTracking.js +0 -13
  57. package/app/Schedules/index.d.ts +0 -2
  58. package/app/Schedules/index.d.ts.map +0 -1
  59. package/app/Schedules/index.js +0 -1
  60. package/app/Toolkit/Broadcast/sendBroadcast.d.ts +0 -6
  61. package/app/Toolkit/Broadcast/sendBroadcast.d.ts.map +0 -1
  62. package/app/Toolkit/Broadcast/sendBroadcast.js +0 -5
  63. package/app/Toolkit/Mail/sendWelcomeEmail.d.ts +0 -6
  64. package/app/Toolkit/Mail/sendWelcomeEmail.d.ts.map +0 -1
  65. package/app/Toolkit/Mail/sendWelcomeEmail.js +0 -20
  66. package/app/Toolkit/Notification/sendSlackNotification.d.ts +0 -8
  67. package/app/Toolkit/Notification/sendSlackNotification.d.ts.map +0 -1
  68. package/app/Toolkit/Notification/sendSlackNotification.js +0 -5
  69. package/app/Toolkit/Notification/sendSms.d.ts +0 -6
  70. package/app/Toolkit/Notification/sendSms.d.ts.map +0 -1
  71. package/app/Toolkit/Notification/sendSms.js +0 -5
  72. package/app/Types/controller.d.ts +0 -44
  73. package/app/Types/controller.d.ts.map +0 -1
  74. package/app/Types/controller.js +0 -1
  75. package/config/broadcast.d.ts +0 -38
  76. package/config/broadcast.d.ts.map +0 -1
  77. package/config/broadcast.js +0 -37
  78. package/config/cache.d.ts +0 -40
  79. package/config/cache.d.ts.map +0 -1
  80. package/config/cache.js +0 -39
  81. package/config/database.d.ts +0 -58
  82. package/config/database.d.ts.map +0 -1
  83. package/config/database.js +0 -65
  84. package/config/mail.d.ts +0 -51
  85. package/config/mail.d.ts.map +0 -1
  86. package/config/mail.js +0 -69
  87. package/config/middleware.d.ts +0 -11
  88. package/config/middleware.d.ts.map +0 -1
  89. package/config/middleware.js +0 -30
  90. package/config/notification.d.ts +0 -33
  91. package/config/notification.d.ts.map +0 -1
  92. package/config/notification.js +0 -33
  93. package/config/queue.d.ts +0 -55
  94. package/config/queue.d.ts.map +0 -1
  95. package/config/queue.js +0 -87
  96. package/config/storage.d.ts +0 -59
  97. package/config/storage.d.ts.map +0 -1
  98. package/config/storage.js +0 -59
  99. package/config/workers.d.ts +0 -54
  100. package/config/workers.d.ts.map +0 -1
  101. package/config/workers.js +0 -83
  102. package/packages/cloudflare-d1-proxy/src/index.d.ts +0 -48
  103. package/packages/cloudflare-d1-proxy/src/index.d.ts.map +0 -1
  104. package/packages/cloudflare-d1-proxy/src/index.js +0 -387
  105. package/packages/cloudflare-kv-proxy/src/index.d.ts +0 -44
  106. package/packages/cloudflare-kv-proxy/src/index.d.ts.map +0 -1
  107. package/packages/cloudflare-kv-proxy/src/index.js +0 -325
  108. package/packages/queue-monitor/src/QueueMonitoringService.d.ts +0 -35
  109. package/packages/queue-monitor/src/QueueMonitoringService.d.ts.map +0 -1
  110. package/packages/queue-monitor/src/QueueMonitoringService.js +0 -194
  111. package/packages/queue-monitor/src/connection.d.ts +0 -3
  112. package/packages/queue-monitor/src/connection.d.ts.map +0 -1
  113. package/packages/queue-monitor/src/connection.js +0 -1
  114. package/packages/queue-monitor/src/dashboard-ui.d.ts +0 -7
  115. package/packages/queue-monitor/src/dashboard-ui.d.ts.map +0 -1
  116. package/packages/queue-monitor/src/dashboard-ui.js +0 -997
  117. package/packages/queue-monitor/src/driver.d.ts +0 -15
  118. package/packages/queue-monitor/src/driver.d.ts.map +0 -1
  119. package/packages/queue-monitor/src/driver.js +0 -115
  120. package/packages/queue-monitor/src/index.d.ts +0 -71
  121. package/packages/queue-monitor/src/index.d.ts.map +0 -1
  122. package/packages/queue-monitor/src/index.js +0 -296
  123. package/packages/queue-monitor/src/metrics.d.ts +0 -27
  124. package/packages/queue-monitor/src/metrics.d.ts.map +0 -1
  125. package/packages/queue-monitor/src/metrics.js +0 -92
  126. package/packages/queue-monitor/src/worker.d.ts +0 -8
  127. package/packages/queue-monitor/src/worker.d.ts.map +0 -1
  128. package/packages/queue-monitor/src/worker.js +0 -35
  129. package/packages/queue-redis/src/BullMQRedisQueue.d.ts +0 -26
  130. package/packages/queue-redis/src/BullMQRedisQueue.d.ts.map +0 -1
  131. package/packages/queue-redis/src/BullMQRedisQueue.js +0 -463
  132. package/packages/queue-redis/src/HttpQueueDriver.d.ts +0 -18
  133. package/packages/queue-redis/src/HttpQueueDriver.d.ts.map +0 -1
  134. package/packages/queue-redis/src/HttpQueueDriver.js +0 -249
  135. package/packages/queue-redis/src/QueueHttpGateway.d.ts +0 -16
  136. package/packages/queue-redis/src/QueueHttpGateway.d.ts.map +0 -1
  137. package/packages/queue-redis/src/QueueHttpGateway.js +0 -217
  138. package/packages/queue-redis/src/RedisPublishClient.d.ts +0 -14
  139. package/packages/queue-redis/src/RedisPublishClient.d.ts.map +0 -1
  140. package/packages/queue-redis/src/RedisPublishClient.js +0 -251
  141. package/packages/queue-redis/src/index.d.ts +0 -12
  142. package/packages/queue-redis/src/index.d.ts.map +0 -1
  143. package/packages/queue-redis/src/index.js +0 -10
  144. package/packages/queue-redis/src/register.d.ts +0 -6
  145. package/packages/queue-redis/src/register.d.ts.map +0 -1
  146. package/packages/queue-redis/src/register.js +0 -21
  147. package/packages/workers/migrations/20260119100000_create_zintrust_workers_table.d.ts +0 -11
  148. package/packages/workers/migrations/20260119100000_create_zintrust_workers_table.d.ts.map +0 -1
  149. package/packages/workers/migrations/20260119100000_create_zintrust_workers_table.js +0 -32
  150. package/packages/workers/migrations/20260123180000_create_queue_jobs_table.d.ts +0 -11
  151. package/packages/workers/migrations/20260123180000_create_queue_jobs_table.d.ts.map +0 -1
  152. package/packages/workers/migrations/20260123180000_create_queue_jobs_table.js +0 -46
  153. package/packages/workers/migrations/20260213142000_create_zintrust_job_tracking_tables.d.ts +0 -7
  154. package/packages/workers/migrations/20260213142000_create_zintrust_job_tracking_tables.d.ts.map +0 -1
  155. package/packages/workers/migrations/20260213142000_create_zintrust_job_tracking_tables.js +0 -44
  156. package/packages/workers/migrations/20260213183000_expand_zintrust_job_tracking_reliability_tables.d.ts +0 -7
  157. package/packages/workers/migrations/20260213183000_expand_zintrust_job_tracking_reliability_tables.d.ts.map +0 -1
  158. package/packages/workers/migrations/20260213183000_expand_zintrust_job_tracking_reliability_tables.js +0 -104
  159. package/packages/workers/src/AnomalyDetection.d.ts +0 -107
  160. package/packages/workers/src/AnomalyDetection.d.ts.map +0 -1
  161. package/packages/workers/src/AnomalyDetection.js +0 -329
  162. package/packages/workers/src/AutoScaler.d.ts +0 -128
  163. package/packages/workers/src/AutoScaler.d.ts.map +0 -1
  164. package/packages/workers/src/AutoScaler.js +0 -425
  165. package/packages/workers/src/BroadcastWorker.d.ts +0 -24
  166. package/packages/workers/src/BroadcastWorker.d.ts.map +0 -1
  167. package/packages/workers/src/BroadcastWorker.js +0 -24
  168. package/packages/workers/src/CanaryController.d.ts +0 -104
  169. package/packages/workers/src/CanaryController.d.ts.map +0 -1
  170. package/packages/workers/src/CanaryController.js +0 -424
  171. package/packages/workers/src/ChaosEngineering.d.ts +0 -80
  172. package/packages/workers/src/ChaosEngineering.d.ts.map +0 -1
  173. package/packages/workers/src/ChaosEngineering.js +0 -229
  174. package/packages/workers/src/CircuitBreaker.d.ts +0 -107
  175. package/packages/workers/src/CircuitBreaker.d.ts.map +0 -1
  176. package/packages/workers/src/CircuitBreaker.js +0 -374
  177. package/packages/workers/src/ClusterLock.d.ts +0 -91
  178. package/packages/workers/src/ClusterLock.d.ts.map +0 -1
  179. package/packages/workers/src/ClusterLock.js +0 -397
  180. package/packages/workers/src/ComplianceManager.d.ts +0 -178
  181. package/packages/workers/src/ComplianceManager.d.ts.map +0 -1
  182. package/packages/workers/src/ComplianceManager.js +0 -556
  183. package/packages/workers/src/DatacenterOrchestrator.d.ts +0 -134
  184. package/packages/workers/src/DatacenterOrchestrator.d.ts.map +0 -1
  185. package/packages/workers/src/DatacenterOrchestrator.js +0 -404
  186. package/packages/workers/src/DeadLetterQueue.d.ts +0 -123
  187. package/packages/workers/src/DeadLetterQueue.d.ts.map +0 -1
  188. package/packages/workers/src/DeadLetterQueue.js +0 -544
  189. package/packages/workers/src/HealthMonitor.d.ts +0 -43
  190. package/packages/workers/src/HealthMonitor.d.ts.map +0 -1
  191. package/packages/workers/src/HealthMonitor.js +0 -312
  192. package/packages/workers/src/MultiQueueWorker.d.ts +0 -90
  193. package/packages/workers/src/MultiQueueWorker.d.ts.map +0 -1
  194. package/packages/workers/src/MultiQueueWorker.js +0 -282
  195. package/packages/workers/src/NotificationWorker.d.ts +0 -24
  196. package/packages/workers/src/NotificationWorker.d.ts.map +0 -1
  197. package/packages/workers/src/NotificationWorker.js +0 -23
  198. package/packages/workers/src/Observability.d.ts +0 -154
  199. package/packages/workers/src/Observability.d.ts.map +0 -1
  200. package/packages/workers/src/Observability.js +0 -538
  201. package/packages/workers/src/PluginManager.d.ts +0 -124
  202. package/packages/workers/src/PluginManager.d.ts.map +0 -1
  203. package/packages/workers/src/PluginManager.js +0 -392
  204. package/packages/workers/src/PriorityQueue.d.ts +0 -118
  205. package/packages/workers/src/PriorityQueue.d.ts.map +0 -1
  206. package/packages/workers/src/PriorityQueue.js +0 -276
  207. package/packages/workers/src/ResourceMonitor.d.ts +0 -165
  208. package/packages/workers/src/ResourceMonitor.d.ts.map +0 -1
  209. package/packages/workers/src/ResourceMonitor.js +0 -632
  210. package/packages/workers/src/SLAMonitor.d.ts +0 -111
  211. package/packages/workers/src/SLAMonitor.d.ts.map +0 -1
  212. package/packages/workers/src/SLAMonitor.js +0 -274
  213. package/packages/workers/src/WorkerFactory.d.ts +0 -218
  214. package/packages/workers/src/WorkerFactory.d.ts.map +0 -1
  215. package/packages/workers/src/WorkerFactory.js +0 -2253
  216. package/packages/workers/src/WorkerInit.d.ts +0 -86
  217. package/packages/workers/src/WorkerInit.d.ts.map +0 -1
  218. package/packages/workers/src/WorkerInit.js +0 -307
  219. package/packages/workers/src/WorkerMetrics.d.ts +0 -116
  220. package/packages/workers/src/WorkerMetrics.d.ts.map +0 -1
  221. package/packages/workers/src/WorkerMetrics.js +0 -570
  222. package/packages/workers/src/WorkerRegistry.d.ts +0 -152
  223. package/packages/workers/src/WorkerRegistry.d.ts.map +0 -1
  224. package/packages/workers/src/WorkerRegistry.js +0 -396
  225. package/packages/workers/src/WorkerShutdown.d.ts +0 -70
  226. package/packages/workers/src/WorkerShutdown.d.ts.map +0 -1
  227. package/packages/workers/src/WorkerShutdown.js +0 -185
  228. package/packages/workers/src/WorkerVersioning.d.ts +0 -108
  229. package/packages/workers/src/WorkerVersioning.d.ts.map +0 -1
  230. package/packages/workers/src/WorkerVersioning.js +0 -300
  231. package/packages/workers/src/config/workerConfig.d.ts +0 -5
  232. package/packages/workers/src/config/workerConfig.d.ts.map +0 -1
  233. package/packages/workers/src/config/workerConfig.js +0 -25
  234. package/packages/workers/src/createQueueWorker.d.ts +0 -26
  235. package/packages/workers/src/createQueueWorker.d.ts.map +0 -1
  236. package/packages/workers/src/createQueueWorker.js +0 -367
  237. package/packages/workers/src/dashboard/index.d.ts +0 -2
  238. package/packages/workers/src/dashboard/index.d.ts.map +0 -1
  239. package/packages/workers/src/dashboard/index.js +0 -1
  240. package/packages/workers/src/dashboard/types.d.ts +0 -123
  241. package/packages/workers/src/dashboard/types.d.ts.map +0 -1
  242. package/packages/workers/src/dashboard/types.js +0 -1
  243. package/packages/workers/src/dashboard/workers-api.d.ts +0 -5
  244. package/packages/workers/src/dashboard/workers-api.d.ts.map +0 -1
  245. package/packages/workers/src/dashboard/workers-api.js +0 -738
  246. package/packages/workers/src/helper/index.d.ts +0 -6
  247. package/packages/workers/src/helper/index.d.ts.map +0 -1
  248. package/packages/workers/src/helper/index.js +0 -10
  249. package/packages/workers/src/http/WorkerApiController.d.ts +0 -39
  250. package/packages/workers/src/http/WorkerApiController.d.ts.map +0 -1
  251. package/packages/workers/src/http/WorkerApiController.js +0 -313
  252. package/packages/workers/src/http/WorkerController.d.ts +0 -375
  253. package/packages/workers/src/http/WorkerController.d.ts.map +0 -1
  254. package/packages/workers/src/http/WorkerController.js +0 -1454
  255. package/packages/workers/src/http/WorkerMonitoringService.d.ts +0 -12
  256. package/packages/workers/src/http/WorkerMonitoringService.d.ts.map +0 -1
  257. package/packages/workers/src/http/WorkerMonitoringService.js +0 -89
  258. package/packages/workers/src/http/middleware/CustomValidation.d.ts +0 -93
  259. package/packages/workers/src/http/middleware/CustomValidation.d.ts.map +0 -1
  260. package/packages/workers/src/http/middleware/CustomValidation.js +0 -270
  261. package/packages/workers/src/http/middleware/DatacenterValidator.d.ts +0 -4
  262. package/packages/workers/src/http/middleware/DatacenterValidator.d.ts.map +0 -1
  263. package/packages/workers/src/http/middleware/DatacenterValidator.js +0 -94
  264. package/packages/workers/src/http/middleware/EditWorkerValidation.d.ts +0 -8
  265. package/packages/workers/src/http/middleware/EditWorkerValidation.d.ts.map +0 -1
  266. package/packages/workers/src/http/middleware/EditWorkerValidation.js +0 -56
  267. package/packages/workers/src/http/middleware/FeaturesValidator.d.ts +0 -4
  268. package/packages/workers/src/http/middleware/FeaturesValidator.d.ts.map +0 -1
  269. package/packages/workers/src/http/middleware/FeaturesValidator.js +0 -61
  270. package/packages/workers/src/http/middleware/InfrastructureValidator.d.ts +0 -32
  271. package/packages/workers/src/http/middleware/InfrastructureValidator.d.ts.map +0 -1
  272. package/packages/workers/src/http/middleware/InfrastructureValidator.js +0 -226
  273. package/packages/workers/src/http/middleware/OptionsValidator.d.ts +0 -4
  274. package/packages/workers/src/http/middleware/OptionsValidator.d.ts.map +0 -1
  275. package/packages/workers/src/http/middleware/OptionsValidator.js +0 -112
  276. package/packages/workers/src/http/middleware/PayloadSanitizer.d.ts +0 -8
  277. package/packages/workers/src/http/middleware/PayloadSanitizer.d.ts.map +0 -1
  278. package/packages/workers/src/http/middleware/PayloadSanitizer.js +0 -42
  279. package/packages/workers/src/http/middleware/ProcessorPathSanitizer.d.ts +0 -4
  280. package/packages/workers/src/http/middleware/ProcessorPathSanitizer.d.ts.map +0 -1
  281. package/packages/workers/src/http/middleware/ProcessorPathSanitizer.js +0 -140
  282. package/packages/workers/src/http/middleware/QueueNameSanitizer.d.ts +0 -4
  283. package/packages/workers/src/http/middleware/QueueNameSanitizer.d.ts.map +0 -1
  284. package/packages/workers/src/http/middleware/QueueNameSanitizer.js +0 -45
  285. package/packages/workers/src/http/middleware/ValidateDriver.d.ts +0 -8
  286. package/packages/workers/src/http/middleware/ValidateDriver.d.ts.map +0 -1
  287. package/packages/workers/src/http/middleware/ValidateDriver.js +0 -20
  288. package/packages/workers/src/http/middleware/VersionSanitizer.d.ts +0 -4
  289. package/packages/workers/src/http/middleware/VersionSanitizer.d.ts.map +0 -1
  290. package/packages/workers/src/http/middleware/VersionSanitizer.js +0 -25
  291. package/packages/workers/src/http/middleware/WorkerNameSanitizer.d.ts +0 -4
  292. package/packages/workers/src/http/middleware/WorkerNameSanitizer.d.ts.map +0 -1
  293. package/packages/workers/src/http/middleware/WorkerNameSanitizer.js +0 -46
  294. package/packages/workers/src/http/middleware/WorkerValidationChain.d.ts +0 -28
  295. package/packages/workers/src/http/middleware/WorkerValidationChain.d.ts.map +0 -1
  296. package/packages/workers/src/http/middleware/WorkerValidationChain.js +0 -186
  297. package/packages/workers/src/index.d.ts +0 -47
  298. package/packages/workers/src/index.d.ts.map +0 -1
  299. package/packages/workers/src/index.js +0 -48
  300. package/packages/workers/src/routes/workers.d.ts +0 -13
  301. package/packages/workers/src/routes/workers.d.ts.map +0 -1
  302. package/packages/workers/src/routes/workers.js +0 -126
  303. package/packages/workers/src/storage/WorkerStore.d.ts +0 -52
  304. package/packages/workers/src/storage/WorkerStore.d.ts.map +0 -1
  305. package/packages/workers/src/storage/WorkerStore.js +0 -259
  306. package/packages/workers/src/telemetry/api/TelemetryAPI.d.ts +0 -47
  307. package/packages/workers/src/telemetry/api/TelemetryAPI.d.ts.map +0 -1
  308. package/packages/workers/src/telemetry/api/TelemetryAPI.js +0 -219
  309. package/packages/workers/src/telemetry/api/TelemetryMonitoringService.d.ts +0 -18
  310. package/packages/workers/src/telemetry/api/TelemetryMonitoringService.d.ts.map +0 -1
  311. package/packages/workers/src/telemetry/api/TelemetryMonitoringService.js +0 -140
  312. package/packages/workers/src/telemetry/components/AlertPanel.d.ts +0 -2
  313. package/packages/workers/src/telemetry/components/AlertPanel.d.ts.map +0 -1
  314. package/packages/workers/src/telemetry/components/AlertPanel.js +0 -13
  315. package/packages/workers/src/telemetry/components/CostTracking.d.ts +0 -2
  316. package/packages/workers/src/telemetry/components/CostTracking.d.ts.map +0 -1
  317. package/packages/workers/src/telemetry/components/CostTracking.js +0 -14
  318. package/packages/workers/src/telemetry/components/ResourceUsageChart.d.ts +0 -2
  319. package/packages/workers/src/telemetry/components/ResourceUsageChart.d.ts.map +0 -1
  320. package/packages/workers/src/telemetry/components/ResourceUsageChart.js +0 -11
  321. package/packages/workers/src/telemetry/components/WorkerHealthChart.d.ts +0 -2
  322. package/packages/workers/src/telemetry/components/WorkerHealthChart.d.ts.map +0 -1
  323. package/packages/workers/src/telemetry/components/WorkerHealthChart.js +0 -11
  324. package/packages/workers/src/telemetry/index.d.ts +0 -16
  325. package/packages/workers/src/telemetry/index.d.ts.map +0 -1
  326. package/packages/workers/src/telemetry/index.js +0 -60
  327. package/packages/workers/src/telemetry/routes/dashboard.d.ts +0 -7
  328. package/packages/workers/src/telemetry/routes/dashboard.d.ts.map +0 -1
  329. package/packages/workers/src/telemetry/routes/dashboard.js +0 -608
  330. package/packages/workers/src/type.d.ts +0 -77
  331. package/packages/workers/src/type.d.ts.map +0 -1
  332. package/packages/workers/src/type.js +0 -1
  333. package/packages/workers/src/ui/router/EmbeddedAssets.d.ts +0 -5
  334. package/packages/workers/src/ui/router/EmbeddedAssets.d.ts.map +0 -1
  335. package/packages/workers/src/ui/router/EmbeddedAssets.js +0 -13
  336. package/packages/workers/src/ui/router/ui.d.ts +0 -4
  337. package/packages/workers/src/ui/router/ui.d.ts.map +0 -1
  338. package/packages/workers/src/ui/router/ui.js +0 -208
  339. package/packages/workers/src/ui/types/worker-ui.d.ts +0 -230
  340. package/packages/workers/src/ui/types/worker-ui.d.ts.map +0 -1
  341. package/packages/workers/src/ui/types/worker-ui.js +0 -5
  342. package/routes/api.d.ts +0 -7
  343. package/routes/api.d.ts.map +0 -1
  344. package/routes/api.js +0 -136
  345. package/routes/broadcast.d.ts +0 -9
  346. package/routes/broadcast.d.ts.map +0 -1
  347. package/routes/broadcast.js +0 -27
  348. package/routes/storage.d.ts +0 -4
  349. package/routes/storage.d.ts.map +0 -1
  350. package/routes/storage.js +0 -35
@@ -1,404 +0,0 @@
1
- /**
2
- * Datacenter Orchestration
3
- * Multi-datacenter worker coordination with region affinity and failover
4
- * Sealed namespace for immutability
5
- */
6
- import { ErrorFactory, Logger } from '../../../src/index.js';
7
- import { ClusterLock } from './ClusterLock.js';
8
- // Internal state
9
- const regions = new Map();
10
- const workerPlacements = new Map();
11
- const failoverPolicies = new Map();
12
- const healthCheckIntervals = new Map();
13
- /**
14
- * Helper: Calculate distance between two coordinates (Haversine formula)
15
- */
16
- const calculateDistance = (lat1, lng1, lat2, lng2) => {
17
- const R = 6371; // Earth's radius in km
18
- const dLat = ((lat2 - lat1) * Math.PI) / 180;
19
- const dLng = ((lng2 - lng1) * Math.PI) / 180;
20
- const a = Math.sin(dLat / 2) * Math.sin(dLat / 2) +
21
- Math.cos((lat1 * Math.PI) / 180) *
22
- Math.cos((lat2 * Math.PI) / 180) *
23
- Math.sin(dLng / 2) *
24
- Math.sin(dLng / 2);
25
- const c = 2 * Math.atan2(Math.sqrt(a), Math.sqrt(1 - a));
26
- return R * c;
27
- };
28
- /**
29
- * Helper: Find optimal region for placement
30
- */
31
- const findOptimalRegion = (placement, clientRegion) => {
32
- const candidateRegions = [placement.primaryRegion, ...placement.secondaryRegions];
33
- const healthyRegions = candidateRegions.filter((regionId) => {
34
- const region = regions.get(regionId);
35
- return region?.healthStatus === 'healthy' && region.currentLoad < region.capacity;
36
- });
37
- if (healthyRegions.length === 0) {
38
- return null;
39
- }
40
- // If client region specified and local preference enabled
41
- if (placement.affinityRules.preferLocal &&
42
- typeof clientRegion === 'string' &&
43
- clientRegion.length > 0) {
44
- if (healthyRegions.includes(clientRegion)) {
45
- return clientRegion;
46
- }
47
- }
48
- // Sort by priority, then by current load (lower is better)
49
- healthyRegions.sort((a, b) => {
50
- const regionA = regions.get(a);
51
- const regionB = regions.get(b);
52
- if (!regionA || !regionB) {
53
- return 0;
54
- }
55
- if (regionA.priority !== regionB.priority) {
56
- return regionB.priority - regionA.priority;
57
- }
58
- const loadA = regionA.currentLoad / regionA.capacity;
59
- const loadB = regionB.currentLoad / regionB.capacity;
60
- return loadA - loadB;
61
- });
62
- return healthyRegions[0];
63
- };
64
- /**
65
- * Helper: Perform health check for region
66
- */
67
- const performHealthCheck = async (regionId) => {
68
- const region = regions.get(regionId);
69
- if (!region) {
70
- return;
71
- }
72
- try {
73
- // Check if region can acquire lock (indicates healthy Redis connection)
74
- const lockKey = `health:${regionId}`;
75
- const acquired = await ClusterLock.acquire({
76
- lockKey,
77
- ttl: 5,
78
- region: regionId,
79
- userId: regionId,
80
- });
81
- if (acquired) {
82
- await ClusterLock.release(lockKey, regionId);
83
- // Update health status
84
- if (region.healthStatus === 'offline') {
85
- region.healthStatus = 'healthy';
86
- Logger.info(`Region recovered: ${regionId}`);
87
- }
88
- }
89
- }
90
- catch (error) {
91
- Logger.error(`Health check failed for region: ${regionId}`, error);
92
- region.healthStatus = 'offline';
93
- // Trigger failover if enabled
94
- const policy = failoverPolicies.get(regionId);
95
- if (policy?.enabled === true && policy.autoFailover) {
96
- triggerFailover(regionId);
97
- }
98
- }
99
- };
100
- /**
101
- * Helper: Trigger failover from unhealthy region
102
- */
103
- const triggerFailover = (failedRegionId) => {
104
- Logger.warn(`Triggering failover from region: ${failedRegionId}`);
105
- // Find all workers placed in failed region
106
- const affectedWorkers = [];
107
- for (const [workerName, placement] of workerPlacements.entries()) {
108
- if (placement.primaryRegion === failedRegionId) {
109
- affectedWorkers.push(workerName);
110
- }
111
- }
112
- // Reassign workers to healthy regions
113
- for (const workerName of affectedWorkers) {
114
- const placement = workerPlacements.get(workerName);
115
- if (!placement) {
116
- continue;
117
- }
118
- const newRegion = findOptimalRegion(placement);
119
- if (newRegion === null) {
120
- Logger.error(`Failover failed: No healthy region available for worker`, {
121
- workerName,
122
- failedRegion: failedRegionId,
123
- });
124
- continue;
125
- }
126
- Logger.info(`Failover: Moving worker from ${failedRegionId} to ${newRegion}`, {
127
- workerName,
128
- });
129
- // Update placement (would trigger actual worker migration in real implementation)
130
- placement.primaryRegion = newRegion;
131
- }
132
- };
133
- /**
134
- * Datacenter Orchestrator - Sealed namespace
135
- */
136
- export const DatacenterOrchestrator = Object.freeze({
137
- /**
138
- * Register datacenter region
139
- */
140
- registerRegion(region) {
141
- if (regions.has(region.id)) {
142
- throw ErrorFactory.createConfigError(`Region "${region.id}" already registered`);
143
- }
144
- regions.set(region.id, { ...region });
145
- Logger.info(`Datacenter region registered: ${region.id}`, {
146
- location: `${region.location.city}, ${region.location.country}`,
147
- capacity: region.capacity,
148
- });
149
- },
150
- /**
151
- * Unregister datacenter region
152
- */
153
- unregisterRegion(regionId) {
154
- const region = regions.get(regionId);
155
- if (!region) {
156
- throw ErrorFactory.createNotFoundError(`Region "${regionId}" not found`);
157
- }
158
- // Check if any workers are still placed in this region
159
- const hasWorkers = Array.from(workerPlacements.values()).some((p) => p.primaryRegion === regionId || p.secondaryRegions.includes(regionId));
160
- if (hasWorkers) {
161
- throw ErrorFactory.createValidationError(`Cannot unregister region with active workers: ${regionId}`);
162
- }
163
- regions.delete(regionId);
164
- // Stop health checks
165
- const interval = healthCheckIntervals.get(regionId);
166
- if (interval) {
167
- clearInterval(interval);
168
- healthCheckIntervals.delete(regionId);
169
- }
170
- Logger.info(`Datacenter region unregistered: ${regionId}`);
171
- },
172
- /**
173
- * Get region information
174
- */
175
- getRegion(regionId) {
176
- const region = regions.get(regionId);
177
- return region ? { ...region } : null;
178
- },
179
- /**
180
- * List all regions
181
- */
182
- listRegions(healthStatus) {
183
- const allRegions = Array.from(regions.values());
184
- if (healthStatus) {
185
- return allRegions.filter((r) => r.healthStatus === healthStatus);
186
- }
187
- return allRegions;
188
- },
189
- /**
190
- * Update region health status
191
- */
192
- updateRegionHealth(regionId, healthStatus) {
193
- const region = regions.get(regionId);
194
- if (!region) {
195
- throw ErrorFactory.createNotFoundError(`Region "${regionId}" not found`);
196
- }
197
- const oldStatus = region.healthStatus;
198
- region.healthStatus = healthStatus;
199
- Logger.info(`Region health updated: ${regionId}`, {
200
- oldStatus,
201
- newStatus: healthStatus,
202
- });
203
- // Trigger failover if region went offline
204
- if (healthStatus === 'offline' && oldStatus !== 'offline') {
205
- const policy = failoverPolicies.get(regionId);
206
- if (policy?.enabled === true && policy.autoFailover) {
207
- triggerFailover(regionId);
208
- }
209
- }
210
- },
211
- /**
212
- * Update region load
213
- */
214
- updateRegionLoad(regionId, currentLoad) {
215
- const region = regions.get(regionId);
216
- if (!region) {
217
- throw ErrorFactory.createNotFoundError(`Region "${regionId}" not found`);
218
- }
219
- region.currentLoad = currentLoad;
220
- // Check if region is overloaded
221
- if (currentLoad > region.capacity * 0.9) {
222
- Logger.warn(`Region approaching capacity: ${regionId}`, {
223
- currentLoad,
224
- capacity: region.capacity,
225
- });
226
- region.healthStatus = 'degraded';
227
- }
228
- else if (region.healthStatus === 'degraded' && currentLoad < region.capacity * 0.7) {
229
- region.healthStatus = 'healthy';
230
- }
231
- },
232
- /**
233
- * Place worker in datacenter
234
- */
235
- placeWorker(placement) {
236
- if (workerPlacements.has(placement.workerName)) {
237
- throw ErrorFactory.createConfigError(`Worker "${placement.workerName}" already has a placement`);
238
- }
239
- // Validate regions exist
240
- const allRegions = [placement.primaryRegion, ...placement.secondaryRegions];
241
- for (const regionId of allRegions) {
242
- if (!regions.has(regionId)) {
243
- throw ErrorFactory.createNotFoundError(`Region "${regionId}" not found`);
244
- }
245
- }
246
- workerPlacements.set(placement.workerName, { ...placement });
247
- Logger.info(`Worker placed in datacenter: ${placement.workerName}`, {
248
- primaryRegion: placement.primaryRegion,
249
- secondaryRegions: placement.secondaryRegions,
250
- });
251
- },
252
- /**
253
- * Get worker placement
254
- */
255
- getPlacement(workerName) {
256
- const placement = workerPlacements.get(workerName);
257
- return placement ? { ...placement } : null;
258
- },
259
- /**
260
- * Update worker placement
261
- */
262
- updatePlacement(workerName, updates) {
263
- const placement = workerPlacements.get(workerName);
264
- if (!placement) {
265
- throw ErrorFactory.createNotFoundError(`Placement not found for worker "${workerName}"`);
266
- }
267
- Object.assign(placement, updates);
268
- Logger.info(`Worker placement updated: ${workerName}`);
269
- },
270
- /**
271
- * Remove worker placement
272
- */
273
- removeWorker(workerName) {
274
- if (!workerPlacements.has(workerName)) {
275
- return;
276
- }
277
- workerPlacements.delete(workerName);
278
- Logger.info(`Worker placement removed: ${workerName}`);
279
- },
280
- /**
281
- * Find optimal region for job execution
282
- */
283
- findOptimalRegion(workerName, clientRegion) {
284
- const placement = workerPlacements.get(workerName);
285
- if (!placement) {
286
- throw ErrorFactory.createNotFoundError(`Placement not found for worker "${workerName}"`);
287
- }
288
- return findOptimalRegion(placement, clientRegion);
289
- },
290
- /**
291
- * Set failover policy for region
292
- */
293
- setFailoverPolicy(regionId, policy) {
294
- const region = regions.get(regionId);
295
- if (!region) {
296
- throw ErrorFactory.createNotFoundError(`Region "${regionId}" not found`);
297
- }
298
- failoverPolicies.set(regionId, { ...policy });
299
- // Start health checks if enabled
300
- if (policy.enabled) {
301
- DatacenterOrchestrator.startHealthChecks(regionId, policy.healthCheckInterval);
302
- }
303
- Logger.info(`Failover policy set for region: ${regionId}`, {
304
- autoFailover: policy.autoFailover,
305
- });
306
- },
307
- /**
308
- * Get failover policy
309
- */
310
- getFailoverPolicy(regionId) {
311
- const policy = failoverPolicies.get(regionId);
312
- return policy ? { ...policy } : null;
313
- },
314
- /**
315
- * Start health checks for region
316
- */
317
- startHealthChecks(regionId, intervalSeconds) {
318
- // Clear existing interval
319
- const existing = healthCheckIntervals.get(regionId);
320
- if (existing) {
321
- clearInterval(existing);
322
- }
323
- // Start new interval
324
- const interval = setInterval(() => {
325
- performHealthCheck(regionId);
326
- }, intervalSeconds * 1000);
327
- healthCheckIntervals.set(regionId, interval);
328
- Logger.info(`Health checks started for region: ${regionId}`, {
329
- interval: intervalSeconds,
330
- });
331
- },
332
- /**
333
- * Stop health checks for region
334
- */
335
- stopHealthChecks(regionId) {
336
- const interval = healthCheckIntervals.get(regionId);
337
- if (interval) {
338
- clearInterval(interval);
339
- healthCheckIntervals.delete(regionId);
340
- Logger.info(`Health checks stopped for region: ${regionId}`);
341
- }
342
- },
343
- /**
344
- * Get datacenter topology
345
- */
346
- getTopology() {
347
- const regionList = Array.from(regions.values());
348
- const connections = [];
349
- // Calculate latencies between regions based on distance
350
- for (let i = 0; i < regionList.length; i++) {
351
- for (let j = i + 1; j < regionList.length; j++) {
352
- const from = regionList[i];
353
- const to = regionList[j];
354
- if (from.location.coordinates && to.location.coordinates) {
355
- const distance = calculateDistance(from.location.coordinates.lat, from.location.coordinates.lng, to.location.coordinates.lat, to.location.coordinates.lng);
356
- // Rough estimate: 1ms per 100km + base latency
357
- const latency = Math.round(distance / 100) + 10;
358
- connections.push({
359
- from: from.id,
360
- to: to.id,
361
- latency,
362
- bandwidth: 10000, // 10 Gbps default
363
- });
364
- }
365
- }
366
- }
367
- return {
368
- regions: regionList,
369
- connections,
370
- };
371
- },
372
- /**
373
- * Get load balancing recommendation
374
- */
375
- getLoadBalancingRecommendation() {
376
- const regionList = Array.from(regions.values()).filter((r) => r.healthStatus === 'healthy');
377
- const totalCapacity = regionList.reduce((sum, r) => sum + r.capacity, 0);
378
- return regionList.map((region) => {
379
- const idealLoad = (region.capacity / totalCapacity) * 100;
380
- const currentLoadPercent = (region.currentLoad / region.capacity) * 100;
381
- const recommendedAdjustment = idealLoad - currentLoadPercent;
382
- return {
383
- regionId: region.id,
384
- recommendedLoad: Math.max(0, region.currentLoad + recommendedAdjustment),
385
- };
386
- });
387
- },
388
- /**
389
- * Shutdown datacenter orchestrator
390
- */
391
- shutdown() {
392
- Logger.info('DatacenterOrchestrator shutting down...');
393
- // Stop all health checks
394
- for (const interval of healthCheckIntervals.values()) {
395
- clearInterval(interval);
396
- }
397
- healthCheckIntervals.clear();
398
- regions.clear();
399
- workerPlacements.clear();
400
- failoverPolicies.clear();
401
- Logger.info('DatacenterOrchestrator shutdown complete');
402
- },
403
- });
404
- // Graceful shutdown handled by WorkerShutdown
@@ -1,123 +0,0 @@
1
- /**
2
- * Dead Letter Queue Manager
3
- * Failed job handling with compliance tracking (GDPR/HIPAA/SOC2)
4
- * Sealed namespace for immutability
5
- */
6
- import { type RedisConfig } from '../../../src/index.js';
7
- export type FailedJobEntry = {
8
- id: string;
9
- queueName: string;
10
- workerName: string;
11
- jobName: string;
12
- data: unknown;
13
- error: {
14
- message: string;
15
- stack?: string;
16
- name: string;
17
- };
18
- attemptsMade: number;
19
- maxAttempts: number;
20
- failedAt: Date;
21
- firstAttemptAt: Date;
22
- lastAttemptAt: Date;
23
- processingTime: number;
24
- metadata: {
25
- version?: string;
26
- region?: string;
27
- instanceId?: string;
28
- };
29
- complianceFlags: {
30
- containsPII: boolean;
31
- containsPHI: boolean;
32
- dataClassification: 'public' | 'internal' | 'confidential' | 'restricted';
33
- };
34
- };
35
- export type ComplianceAuditEntry = {
36
- timestamp: Date;
37
- action: 'access' | 'retry' | 'delete' | 'export' | 'anonymize';
38
- failedJobId: string;
39
- userId: string;
40
- userRole?: string;
41
- reason: string;
42
- ipAddress?: string;
43
- dataAccessed?: string[];
44
- result: 'success' | 'failure';
45
- errorMessage?: string;
46
- };
47
- export type RetentionPolicy = {
48
- enabled: boolean;
49
- defaultRetentionDays: number;
50
- gdprCompliant: boolean;
51
- hipaaCompliant: boolean;
52
- soc2Compliant: boolean;
53
- autoDeleteAfterDays?: number;
54
- anonymizeInsteadOfDelete: boolean;
55
- };
56
- export type DLQStats = {
57
- totalFailed: number;
58
- byQueue: Record<string, number>;
59
- byWorker: Record<string, number>;
60
- byErrorType: Record<string, number>;
61
- oldestFailure: Date | null;
62
- newestFailure: Date | null;
63
- averageAttempts: number;
64
- retentionViolations: number;
65
- };
66
- /**
67
- * Dead Letter Queue Manager - Sealed namespace
68
- */
69
- export declare const DeadLetterQueue: Readonly<{
70
- /**
71
- * Initialize DLQ with Redis and retention policy
72
- */
73
- initialize(config: RedisConfig, policy: RetentionPolicy): void;
74
- /**
75
- * Add failed job to DLQ
76
- */
77
- addFailedJob(entry: FailedJobEntry): Promise<void>;
78
- /**
79
- * Get failed job by ID
80
- */
81
- getFailedJob(queueName: string, jobId: string, userId: string, reason: string): Promise<FailedJobEntry | null>;
82
- /**
83
- * Get all failed jobs for a queue
84
- */
85
- getFailedJobs(queueName: string, limit?: number): Promise<ReadonlyArray<FailedJobEntry>>;
86
- /**
87
- * Retry a failed job
88
- */
89
- retry(queueName: string, jobId: string, userId: string, reason: string): Promise<boolean>;
90
- /**
91
- * Delete a failed job (GDPR right to deletion)
92
- */
93
- deleteFailedJob(queueName: string, jobId: string, userId: string, reason: string): Promise<boolean>;
94
- /**
95
- * Anonymize a failed job (GDPR/HIPAA compliance)
96
- */
97
- anonymizeFailedJob(queueName: string, jobId: string, userId: string, reason: string): Promise<boolean>;
98
- /**
99
- * Get audit log for a failed job
100
- */
101
- getAuditLog(failedJobId: string, limit?: number): Promise<ReadonlyArray<ComplianceAuditEntry>>;
102
- /**
103
- * Get DLQ statistics
104
- */
105
- getStats(): Promise<DLQStats>;
106
- /**
107
- * Export failed jobs (compliance)
108
- */
109
- exportFailedJobs(queueName: string, userId: string, reason: string): Promise<ReadonlyArray<FailedJobEntry>>;
110
- /**
111
- * Update retention policy
112
- */
113
- updateRetentionPolicy(policy: RetentionPolicy): void;
114
- /**
115
- * Get current retention policy
116
- */
117
- getRetentionPolicy(): RetentionPolicy | null;
118
- /**
119
- * Shutdown DLQ manager
120
- */
121
- shutdown(): Promise<void>;
122
- }>;
123
- //# sourceMappingURL=DeadLetterQueue.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"DeadLetterQueue.d.ts","sourceRoot":"","sources":["../../../../packages/workers/src/DeadLetterQueue.ts"],"names":[],"mappings":"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"}