@zintrust/core 0.1.48 → 0.1.50

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 (403) hide show
  1. package/README.md +1 -1
  2. package/package.json +1 -9
  3. package/src/cli/CLI.d.ts.map +1 -1
  4. package/src/cli/CLI.js +2 -0
  5. package/src/cli/commands/AddCommand.js +2 -2
  6. package/src/cli/commands/BulletproofKeyGenerateCommand.d.ts +10 -0
  7. package/src/cli/commands/BulletproofKeyGenerateCommand.d.ts.map +1 -0
  8. package/src/cli/commands/BulletproofKeyGenerateCommand.js +139 -0
  9. package/src/cli/commands/JwtDevCommand.d.ts.map +1 -1
  10. package/src/cli/commands/JwtDevCommand.js +51 -32
  11. package/src/cli/scaffolding/ControllerGenerator.d.ts +1 -1
  12. package/src/cli/scaffolding/ControllerGenerator.d.ts.map +1 -1
  13. package/src/cli/scaffolding/ControllerGenerator.js +8 -79
  14. package/src/config/SecretsManager.d.ts +0 -1
  15. package/src/config/SecretsManager.d.ts.map +1 -1
  16. package/src/config/SecretsManager.js +0 -1
  17. package/src/config/index.d.ts +1 -1
  18. package/src/config/index.d.ts.map +1 -1
  19. package/src/config/index.js +30 -10
  20. package/src/config/middleware.d.ts +1 -0
  21. package/src/config/middleware.d.ts.map +1 -1
  22. package/src/config/middleware.js +3 -0
  23. package/src/http/error-pages/ErrorPageRenderer.js +7 -1
  24. package/src/index.d.ts +1 -2
  25. package/src/index.d.ts.map +1 -1
  26. package/src/index.js +4 -5
  27. package/src/middleware/BulletproofAuthMiddleware.d.ts +92 -0
  28. package/src/middleware/BulletproofAuthMiddleware.d.ts.map +1 -0
  29. package/src/middleware/BulletproofAuthMiddleware.js +421 -0
  30. package/src/middleware/CsrfMiddleware.d.ts +0 -1
  31. package/src/middleware/CsrfMiddleware.d.ts.map +1 -1
  32. package/src/middleware/CsrfMiddleware.js +8 -1
  33. package/src/middleware/JwtAuthMiddleware.d.ts.map +1 -1
  34. package/src/middleware/JwtAuthMiddleware.js +11 -5
  35. package/src/orm/Database.d.ts.map +1 -1
  36. package/src/orm/Database.js +48 -39
  37. package/src/orm/adapters/MySQLProxyAdapter.d.ts.map +1 -1
  38. package/src/orm/adapters/MySQLProxyAdapter.js +54 -35
  39. package/src/orm/adapters/PostgreSQLProxyAdapter.d.ts.map +1 -1
  40. package/src/orm/adapters/PostgreSQLProxyAdapter.js +126 -103
  41. package/src/orm/adapters/SqlProxyHttpAdapterShared.d.ts +30 -0
  42. package/src/orm/adapters/SqlProxyHttpAdapterShared.d.ts.map +1 -0
  43. package/src/orm/adapters/SqlProxyHttpAdapterShared.js +64 -0
  44. package/src/orm/adapters/SqlServerProxyAdapter.d.ts.map +1 -1
  45. package/src/orm/adapters/SqlServerProxyAdapter.js +54 -37
  46. package/src/orm/migrations/MigrationStore.d.ts.map +1 -1
  47. package/src/orm/migrations/MigrationStore.js +22 -1
  48. package/src/proxy/d1/ZintrustD1Proxy.d.ts +2 -2
  49. package/src/proxy/d1/ZintrustD1Proxy.d.ts.map +1 -1
  50. package/src/proxy/d1/ZintrustD1Proxy.js +39 -2
  51. package/src/proxy/kv/ZintrustKvProxy.d.ts +2 -2
  52. package/src/proxy/kv/ZintrustKvProxy.d.ts.map +1 -1
  53. package/src/proxy/kv/ZintrustKvProxy.js +38 -2
  54. package/src/routes/doc.js +1 -1
  55. package/src/routes/errorPages.d.ts.map +1 -1
  56. package/src/routes/errorPages.js +9 -2
  57. package/src/security/CsrfTokenManager.d.ts.map +1 -1
  58. package/src/security/CsrfTokenManager.js +57 -23
  59. package/src/security/JwtManager.d.ts +4 -1
  60. package/src/security/JwtManager.d.ts.map +1 -1
  61. package/src/security/JwtManager.js +25 -11
  62. package/src/security/JwtSessions.d.ts +12 -0
  63. package/src/security/JwtSessions.d.ts.map +1 -0
  64. package/src/security/JwtSessions.js +556 -0
  65. package/src/security/NonceReplay.d.ts +24 -0
  66. package/src/security/NonceReplay.d.ts.map +1 -0
  67. package/src/security/NonceReplay.js +42 -0
  68. package/src/security/TokenRevocation.d.ts.map +1 -1
  69. package/src/security/TokenRevocation.js +1 -0
  70. package/src/tools/http/Http.d.ts +5 -0
  71. package/src/tools/http/Http.d.ts.map +1 -1
  72. package/src/tools/http/Http.js +25 -9
  73. package/src/tools/queue/QueueReliabilityOrchestrator.d.ts.map +1 -1
  74. package/src/tools/queue/QueueReliabilityOrchestrator.js +18 -6
  75. package/src/validation/Validator.d.ts.map +1 -1
  76. package/src/validation/Validator.js +4 -2
  77. package/src/zintrust.comon.d.ts +9 -0
  78. package/src/zintrust.comon.d.ts.map +1 -0
  79. package/src/zintrust.comon.js +15 -0
  80. package/src/zintrust.plugins.d.ts +9 -3
  81. package/src/zintrust.plugins.d.ts.map +1 -1
  82. package/src/zintrust.plugins.js +10 -3
  83. package/src/zintrust.plugins.wg.d.ts +1 -0
  84. package/src/zintrust.plugins.wg.d.ts.map +1 -1
  85. package/src/zintrust.plugins.wg.js +1 -0
  86. package/app/Controllers/AuthController.d.ts +0 -10
  87. package/app/Controllers/AuthController.d.ts.map +0 -1
  88. package/app/Controllers/AuthController.js +0 -201
  89. package/app/Controllers/UserController.d.ts +0 -9
  90. package/app/Controllers/UserController.d.ts.map +0 -1
  91. package/app/Controllers/UserController.js +0 -8
  92. package/app/Controllers/UserQueryBuilderController.d.ts +0 -16
  93. package/app/Controllers/UserQueryBuilderController.d.ts.map +0 -1
  94. package/app/Controllers/UserQueryBuilderController.js +0 -404
  95. package/app/Middleware/ProfilerMiddleware.d.ts +0 -12
  96. package/app/Middleware/ProfilerMiddleware.d.ts.map +0 -1
  97. package/app/Middleware/ProfilerMiddleware.js +0 -47
  98. package/app/Middleware/index.d.ts +0 -59
  99. package/app/Middleware/index.d.ts.map +0 -1
  100. package/app/Middleware/index.js +0 -215
  101. package/app/Models/Post.d.ts +0 -14
  102. package/app/Models/Post.d.ts.map +0 -1
  103. package/app/Models/Post.js +0 -27
  104. package/app/Models/User.d.ts +0 -14
  105. package/app/Models/User.d.ts.map +0 -1
  106. package/app/Models/User.js +0 -44
  107. package/app/Schedules/JobTracking.d.ts +0 -3
  108. package/app/Schedules/JobTracking.d.ts.map +0 -1
  109. package/app/Schedules/JobTracking.js +0 -13
  110. package/app/Schedules/index.d.ts +0 -2
  111. package/app/Schedules/index.d.ts.map +0 -1
  112. package/app/Schedules/index.js +0 -1
  113. package/app/Toolkit/Broadcast/sendBroadcast.d.ts +0 -6
  114. package/app/Toolkit/Broadcast/sendBroadcast.d.ts.map +0 -1
  115. package/app/Toolkit/Broadcast/sendBroadcast.js +0 -5
  116. package/app/Toolkit/Mail/sendWelcomeEmail.d.ts +0 -6
  117. package/app/Toolkit/Mail/sendWelcomeEmail.d.ts.map +0 -1
  118. package/app/Toolkit/Mail/sendWelcomeEmail.js +0 -20
  119. package/app/Toolkit/Notification/sendSlackNotification.d.ts +0 -8
  120. package/app/Toolkit/Notification/sendSlackNotification.d.ts.map +0 -1
  121. package/app/Toolkit/Notification/sendSlackNotification.js +0 -5
  122. package/app/Toolkit/Notification/sendSms.d.ts +0 -6
  123. package/app/Toolkit/Notification/sendSms.d.ts.map +0 -1
  124. package/app/Toolkit/Notification/sendSms.js +0 -5
  125. package/app/Types/controller.d.ts +0 -42
  126. package/app/Types/controller.d.ts.map +0 -1
  127. package/app/Types/controller.js +0 -1
  128. package/config/broadcast.d.ts +0 -38
  129. package/config/broadcast.d.ts.map +0 -1
  130. package/config/broadcast.js +0 -37
  131. package/config/cache.d.ts +0 -40
  132. package/config/cache.d.ts.map +0 -1
  133. package/config/cache.js +0 -39
  134. package/config/database.d.ts +0 -58
  135. package/config/database.d.ts.map +0 -1
  136. package/config/database.js +0 -65
  137. package/config/mail.d.ts +0 -51
  138. package/config/mail.d.ts.map +0 -1
  139. package/config/mail.js +0 -69
  140. package/config/middleware.d.ts +0 -11
  141. package/config/middleware.d.ts.map +0 -1
  142. package/config/middleware.js +0 -30
  143. package/config/notification.d.ts +0 -33
  144. package/config/notification.d.ts.map +0 -1
  145. package/config/notification.js +0 -33
  146. package/config/queue.d.ts +0 -55
  147. package/config/queue.d.ts.map +0 -1
  148. package/config/queue.js +0 -87
  149. package/config/storage.d.ts +0 -59
  150. package/config/storage.d.ts.map +0 -1
  151. package/config/storage.js +0 -59
  152. package/config/workers.d.ts +0 -54
  153. package/config/workers.d.ts.map +0 -1
  154. package/config/workers.js +0 -83
  155. package/packages/cloudflare-d1-proxy/src/index.d.ts +0 -48
  156. package/packages/cloudflare-d1-proxy/src/index.d.ts.map +0 -1
  157. package/packages/cloudflare-d1-proxy/src/index.js +0 -387
  158. package/packages/cloudflare-kv-proxy/src/index.d.ts +0 -44
  159. package/packages/cloudflare-kv-proxy/src/index.d.ts.map +0 -1
  160. package/packages/cloudflare-kv-proxy/src/index.js +0 -325
  161. package/packages/queue-monitor/src/QueueMonitoringService.d.ts +0 -35
  162. package/packages/queue-monitor/src/QueueMonitoringService.d.ts.map +0 -1
  163. package/packages/queue-monitor/src/QueueMonitoringService.js +0 -194
  164. package/packages/queue-monitor/src/connection.d.ts +0 -3
  165. package/packages/queue-monitor/src/connection.d.ts.map +0 -1
  166. package/packages/queue-monitor/src/connection.js +0 -1
  167. package/packages/queue-monitor/src/dashboard-ui.d.ts +0 -7
  168. package/packages/queue-monitor/src/dashboard-ui.d.ts.map +0 -1
  169. package/packages/queue-monitor/src/dashboard-ui.js +0 -997
  170. package/packages/queue-monitor/src/driver.d.ts +0 -15
  171. package/packages/queue-monitor/src/driver.d.ts.map +0 -1
  172. package/packages/queue-monitor/src/driver.js +0 -115
  173. package/packages/queue-monitor/src/index.d.ts +0 -71
  174. package/packages/queue-monitor/src/index.d.ts.map +0 -1
  175. package/packages/queue-monitor/src/index.js +0 -296
  176. package/packages/queue-monitor/src/metrics.d.ts +0 -27
  177. package/packages/queue-monitor/src/metrics.d.ts.map +0 -1
  178. package/packages/queue-monitor/src/metrics.js +0 -92
  179. package/packages/queue-monitor/src/worker.d.ts +0 -8
  180. package/packages/queue-monitor/src/worker.d.ts.map +0 -1
  181. package/packages/queue-monitor/src/worker.js +0 -35
  182. package/packages/queue-redis/src/BullMQRedisQueue.d.ts +0 -26
  183. package/packages/queue-redis/src/BullMQRedisQueue.d.ts.map +0 -1
  184. package/packages/queue-redis/src/BullMQRedisQueue.js +0 -463
  185. package/packages/queue-redis/src/HttpQueueDriver.d.ts +0 -18
  186. package/packages/queue-redis/src/HttpQueueDriver.d.ts.map +0 -1
  187. package/packages/queue-redis/src/HttpQueueDriver.js +0 -249
  188. package/packages/queue-redis/src/QueueHttpGateway.d.ts +0 -16
  189. package/packages/queue-redis/src/QueueHttpGateway.d.ts.map +0 -1
  190. package/packages/queue-redis/src/QueueHttpGateway.js +0 -217
  191. package/packages/queue-redis/src/RedisPublishClient.d.ts +0 -14
  192. package/packages/queue-redis/src/RedisPublishClient.d.ts.map +0 -1
  193. package/packages/queue-redis/src/RedisPublishClient.js +0 -251
  194. package/packages/queue-redis/src/index.d.ts +0 -12
  195. package/packages/queue-redis/src/index.d.ts.map +0 -1
  196. package/packages/queue-redis/src/index.js +0 -10
  197. package/packages/queue-redis/src/register.d.ts +0 -6
  198. package/packages/queue-redis/src/register.d.ts.map +0 -1
  199. package/packages/queue-redis/src/register.js +0 -21
  200. package/packages/workers/migrations/20260119100000_create_zintrust_workers_table.d.ts +0 -11
  201. package/packages/workers/migrations/20260119100000_create_zintrust_workers_table.d.ts.map +0 -1
  202. package/packages/workers/migrations/20260119100000_create_zintrust_workers_table.js +0 -32
  203. package/packages/workers/migrations/20260123180000_create_queue_jobs_table.d.ts +0 -11
  204. package/packages/workers/migrations/20260123180000_create_queue_jobs_table.d.ts.map +0 -1
  205. package/packages/workers/migrations/20260123180000_create_queue_jobs_table.js +0 -46
  206. package/packages/workers/migrations/20260213142000_create_zintrust_job_tracking_tables.d.ts +0 -7
  207. package/packages/workers/migrations/20260213142000_create_zintrust_job_tracking_tables.d.ts.map +0 -1
  208. package/packages/workers/migrations/20260213142000_create_zintrust_job_tracking_tables.js +0 -44
  209. package/packages/workers/migrations/20260213183000_expand_zintrust_job_tracking_reliability_tables.d.ts +0 -7
  210. package/packages/workers/migrations/20260213183000_expand_zintrust_job_tracking_reliability_tables.d.ts.map +0 -1
  211. package/packages/workers/migrations/20260213183000_expand_zintrust_job_tracking_reliability_tables.js +0 -104
  212. package/packages/workers/src/AnomalyDetection.d.ts +0 -107
  213. package/packages/workers/src/AnomalyDetection.d.ts.map +0 -1
  214. package/packages/workers/src/AnomalyDetection.js +0 -329
  215. package/packages/workers/src/AutoScaler.d.ts +0 -128
  216. package/packages/workers/src/AutoScaler.d.ts.map +0 -1
  217. package/packages/workers/src/AutoScaler.js +0 -425
  218. package/packages/workers/src/BroadcastWorker.d.ts +0 -24
  219. package/packages/workers/src/BroadcastWorker.d.ts.map +0 -1
  220. package/packages/workers/src/BroadcastWorker.js +0 -24
  221. package/packages/workers/src/CanaryController.d.ts +0 -104
  222. package/packages/workers/src/CanaryController.d.ts.map +0 -1
  223. package/packages/workers/src/CanaryController.js +0 -424
  224. package/packages/workers/src/ChaosEngineering.d.ts +0 -80
  225. package/packages/workers/src/ChaosEngineering.d.ts.map +0 -1
  226. package/packages/workers/src/ChaosEngineering.js +0 -229
  227. package/packages/workers/src/CircuitBreaker.d.ts +0 -107
  228. package/packages/workers/src/CircuitBreaker.d.ts.map +0 -1
  229. package/packages/workers/src/CircuitBreaker.js +0 -374
  230. package/packages/workers/src/ClusterLock.d.ts +0 -91
  231. package/packages/workers/src/ClusterLock.d.ts.map +0 -1
  232. package/packages/workers/src/ClusterLock.js +0 -397
  233. package/packages/workers/src/ComplianceManager.d.ts +0 -178
  234. package/packages/workers/src/ComplianceManager.d.ts.map +0 -1
  235. package/packages/workers/src/ComplianceManager.js +0 -556
  236. package/packages/workers/src/DatacenterOrchestrator.d.ts +0 -134
  237. package/packages/workers/src/DatacenterOrchestrator.d.ts.map +0 -1
  238. package/packages/workers/src/DatacenterOrchestrator.js +0 -404
  239. package/packages/workers/src/DeadLetterQueue.d.ts +0 -123
  240. package/packages/workers/src/DeadLetterQueue.d.ts.map +0 -1
  241. package/packages/workers/src/DeadLetterQueue.js +0 -544
  242. package/packages/workers/src/HealthMonitor.d.ts +0 -43
  243. package/packages/workers/src/HealthMonitor.d.ts.map +0 -1
  244. package/packages/workers/src/HealthMonitor.js +0 -312
  245. package/packages/workers/src/MultiQueueWorker.d.ts +0 -90
  246. package/packages/workers/src/MultiQueueWorker.d.ts.map +0 -1
  247. package/packages/workers/src/MultiQueueWorker.js +0 -282
  248. package/packages/workers/src/NotificationWorker.d.ts +0 -24
  249. package/packages/workers/src/NotificationWorker.d.ts.map +0 -1
  250. package/packages/workers/src/NotificationWorker.js +0 -23
  251. package/packages/workers/src/Observability.d.ts +0 -154
  252. package/packages/workers/src/Observability.d.ts.map +0 -1
  253. package/packages/workers/src/Observability.js +0 -538
  254. package/packages/workers/src/PluginManager.d.ts +0 -124
  255. package/packages/workers/src/PluginManager.d.ts.map +0 -1
  256. package/packages/workers/src/PluginManager.js +0 -392
  257. package/packages/workers/src/PriorityQueue.d.ts +0 -118
  258. package/packages/workers/src/PriorityQueue.d.ts.map +0 -1
  259. package/packages/workers/src/PriorityQueue.js +0 -276
  260. package/packages/workers/src/ResourceMonitor.d.ts +0 -165
  261. package/packages/workers/src/ResourceMonitor.d.ts.map +0 -1
  262. package/packages/workers/src/ResourceMonitor.js +0 -632
  263. package/packages/workers/src/SLAMonitor.d.ts +0 -111
  264. package/packages/workers/src/SLAMonitor.d.ts.map +0 -1
  265. package/packages/workers/src/SLAMonitor.js +0 -274
  266. package/packages/workers/src/WorkerFactory.d.ts +0 -218
  267. package/packages/workers/src/WorkerFactory.d.ts.map +0 -1
  268. package/packages/workers/src/WorkerFactory.js +0 -2253
  269. package/packages/workers/src/WorkerInit.d.ts +0 -86
  270. package/packages/workers/src/WorkerInit.d.ts.map +0 -1
  271. package/packages/workers/src/WorkerInit.js +0 -307
  272. package/packages/workers/src/WorkerMetrics.d.ts +0 -116
  273. package/packages/workers/src/WorkerMetrics.d.ts.map +0 -1
  274. package/packages/workers/src/WorkerMetrics.js +0 -570
  275. package/packages/workers/src/WorkerRegistry.d.ts +0 -152
  276. package/packages/workers/src/WorkerRegistry.d.ts.map +0 -1
  277. package/packages/workers/src/WorkerRegistry.js +0 -396
  278. package/packages/workers/src/WorkerShutdown.d.ts +0 -70
  279. package/packages/workers/src/WorkerShutdown.d.ts.map +0 -1
  280. package/packages/workers/src/WorkerShutdown.js +0 -185
  281. package/packages/workers/src/WorkerVersioning.d.ts +0 -108
  282. package/packages/workers/src/WorkerVersioning.d.ts.map +0 -1
  283. package/packages/workers/src/WorkerVersioning.js +0 -300
  284. package/packages/workers/src/config/workerConfig.d.ts +0 -5
  285. package/packages/workers/src/config/workerConfig.d.ts.map +0 -1
  286. package/packages/workers/src/config/workerConfig.js +0 -25
  287. package/packages/workers/src/createQueueWorker.d.ts +0 -26
  288. package/packages/workers/src/createQueueWorker.d.ts.map +0 -1
  289. package/packages/workers/src/createQueueWorker.js +0 -367
  290. package/packages/workers/src/dashboard/index.d.ts +0 -2
  291. package/packages/workers/src/dashboard/index.d.ts.map +0 -1
  292. package/packages/workers/src/dashboard/index.js +0 -1
  293. package/packages/workers/src/dashboard/types.d.ts +0 -123
  294. package/packages/workers/src/dashboard/types.d.ts.map +0 -1
  295. package/packages/workers/src/dashboard/types.js +0 -1
  296. package/packages/workers/src/dashboard/workers-api.d.ts +0 -5
  297. package/packages/workers/src/dashboard/workers-api.d.ts.map +0 -1
  298. package/packages/workers/src/dashboard/workers-api.js +0 -738
  299. package/packages/workers/src/helper/index.d.ts +0 -6
  300. package/packages/workers/src/helper/index.d.ts.map +0 -1
  301. package/packages/workers/src/helper/index.js +0 -10
  302. package/packages/workers/src/http/WorkerApiController.d.ts +0 -39
  303. package/packages/workers/src/http/WorkerApiController.d.ts.map +0 -1
  304. package/packages/workers/src/http/WorkerApiController.js +0 -313
  305. package/packages/workers/src/http/WorkerController.d.ts +0 -375
  306. package/packages/workers/src/http/WorkerController.d.ts.map +0 -1
  307. package/packages/workers/src/http/WorkerController.js +0 -1454
  308. package/packages/workers/src/http/WorkerMonitoringService.d.ts +0 -12
  309. package/packages/workers/src/http/WorkerMonitoringService.d.ts.map +0 -1
  310. package/packages/workers/src/http/WorkerMonitoringService.js +0 -89
  311. package/packages/workers/src/http/middleware/CustomValidation.d.ts +0 -93
  312. package/packages/workers/src/http/middleware/CustomValidation.d.ts.map +0 -1
  313. package/packages/workers/src/http/middleware/CustomValidation.js +0 -270
  314. package/packages/workers/src/http/middleware/DatacenterValidator.d.ts +0 -4
  315. package/packages/workers/src/http/middleware/DatacenterValidator.d.ts.map +0 -1
  316. package/packages/workers/src/http/middleware/DatacenterValidator.js +0 -94
  317. package/packages/workers/src/http/middleware/EditWorkerValidation.d.ts +0 -8
  318. package/packages/workers/src/http/middleware/EditWorkerValidation.d.ts.map +0 -1
  319. package/packages/workers/src/http/middleware/EditWorkerValidation.js +0 -56
  320. package/packages/workers/src/http/middleware/FeaturesValidator.d.ts +0 -4
  321. package/packages/workers/src/http/middleware/FeaturesValidator.d.ts.map +0 -1
  322. package/packages/workers/src/http/middleware/FeaturesValidator.js +0 -61
  323. package/packages/workers/src/http/middleware/InfrastructureValidator.d.ts +0 -32
  324. package/packages/workers/src/http/middleware/InfrastructureValidator.d.ts.map +0 -1
  325. package/packages/workers/src/http/middleware/InfrastructureValidator.js +0 -226
  326. package/packages/workers/src/http/middleware/OptionsValidator.d.ts +0 -4
  327. package/packages/workers/src/http/middleware/OptionsValidator.d.ts.map +0 -1
  328. package/packages/workers/src/http/middleware/OptionsValidator.js +0 -112
  329. package/packages/workers/src/http/middleware/PayloadSanitizer.d.ts +0 -8
  330. package/packages/workers/src/http/middleware/PayloadSanitizer.d.ts.map +0 -1
  331. package/packages/workers/src/http/middleware/PayloadSanitizer.js +0 -42
  332. package/packages/workers/src/http/middleware/ProcessorPathSanitizer.d.ts +0 -4
  333. package/packages/workers/src/http/middleware/ProcessorPathSanitizer.d.ts.map +0 -1
  334. package/packages/workers/src/http/middleware/ProcessorPathSanitizer.js +0 -140
  335. package/packages/workers/src/http/middleware/QueueNameSanitizer.d.ts +0 -4
  336. package/packages/workers/src/http/middleware/QueueNameSanitizer.d.ts.map +0 -1
  337. package/packages/workers/src/http/middleware/QueueNameSanitizer.js +0 -45
  338. package/packages/workers/src/http/middleware/ValidateDriver.d.ts +0 -8
  339. package/packages/workers/src/http/middleware/ValidateDriver.d.ts.map +0 -1
  340. package/packages/workers/src/http/middleware/ValidateDriver.js +0 -20
  341. package/packages/workers/src/http/middleware/VersionSanitizer.d.ts +0 -4
  342. package/packages/workers/src/http/middleware/VersionSanitizer.d.ts.map +0 -1
  343. package/packages/workers/src/http/middleware/VersionSanitizer.js +0 -25
  344. package/packages/workers/src/http/middleware/WorkerNameSanitizer.d.ts +0 -4
  345. package/packages/workers/src/http/middleware/WorkerNameSanitizer.d.ts.map +0 -1
  346. package/packages/workers/src/http/middleware/WorkerNameSanitizer.js +0 -46
  347. package/packages/workers/src/http/middleware/WorkerValidationChain.d.ts +0 -28
  348. package/packages/workers/src/http/middleware/WorkerValidationChain.d.ts.map +0 -1
  349. package/packages/workers/src/http/middleware/WorkerValidationChain.js +0 -186
  350. package/packages/workers/src/index.d.ts +0 -47
  351. package/packages/workers/src/index.d.ts.map +0 -1
  352. package/packages/workers/src/index.js +0 -48
  353. package/packages/workers/src/routes/workers.d.ts +0 -13
  354. package/packages/workers/src/routes/workers.d.ts.map +0 -1
  355. package/packages/workers/src/routes/workers.js +0 -126
  356. package/packages/workers/src/storage/WorkerStore.d.ts +0 -52
  357. package/packages/workers/src/storage/WorkerStore.d.ts.map +0 -1
  358. package/packages/workers/src/storage/WorkerStore.js +0 -259
  359. package/packages/workers/src/telemetry/api/TelemetryAPI.d.ts +0 -47
  360. package/packages/workers/src/telemetry/api/TelemetryAPI.d.ts.map +0 -1
  361. package/packages/workers/src/telemetry/api/TelemetryAPI.js +0 -219
  362. package/packages/workers/src/telemetry/api/TelemetryMonitoringService.d.ts +0 -18
  363. package/packages/workers/src/telemetry/api/TelemetryMonitoringService.d.ts.map +0 -1
  364. package/packages/workers/src/telemetry/api/TelemetryMonitoringService.js +0 -140
  365. package/packages/workers/src/telemetry/components/AlertPanel.d.ts +0 -2
  366. package/packages/workers/src/telemetry/components/AlertPanel.d.ts.map +0 -1
  367. package/packages/workers/src/telemetry/components/AlertPanel.js +0 -13
  368. package/packages/workers/src/telemetry/components/CostTracking.d.ts +0 -2
  369. package/packages/workers/src/telemetry/components/CostTracking.d.ts.map +0 -1
  370. package/packages/workers/src/telemetry/components/CostTracking.js +0 -14
  371. package/packages/workers/src/telemetry/components/ResourceUsageChart.d.ts +0 -2
  372. package/packages/workers/src/telemetry/components/ResourceUsageChart.d.ts.map +0 -1
  373. package/packages/workers/src/telemetry/components/ResourceUsageChart.js +0 -11
  374. package/packages/workers/src/telemetry/components/WorkerHealthChart.d.ts +0 -2
  375. package/packages/workers/src/telemetry/components/WorkerHealthChart.d.ts.map +0 -1
  376. package/packages/workers/src/telemetry/components/WorkerHealthChart.js +0 -11
  377. package/packages/workers/src/telemetry/index.d.ts +0 -16
  378. package/packages/workers/src/telemetry/index.d.ts.map +0 -1
  379. package/packages/workers/src/telemetry/index.js +0 -60
  380. package/packages/workers/src/telemetry/routes/dashboard.d.ts +0 -7
  381. package/packages/workers/src/telemetry/routes/dashboard.d.ts.map +0 -1
  382. package/packages/workers/src/telemetry/routes/dashboard.js +0 -608
  383. package/packages/workers/src/type.d.ts +0 -77
  384. package/packages/workers/src/type.d.ts.map +0 -1
  385. package/packages/workers/src/type.js +0 -1
  386. package/packages/workers/src/ui/router/EmbeddedAssets.d.ts +0 -5
  387. package/packages/workers/src/ui/router/EmbeddedAssets.d.ts.map +0 -1
  388. package/packages/workers/src/ui/router/EmbeddedAssets.js +0 -13
  389. package/packages/workers/src/ui/router/ui.d.ts +0 -4
  390. package/packages/workers/src/ui/router/ui.d.ts.map +0 -1
  391. package/packages/workers/src/ui/router/ui.js +0 -208
  392. package/packages/workers/src/ui/types/worker-ui.d.ts +0 -230
  393. package/packages/workers/src/ui/types/worker-ui.d.ts.map +0 -1
  394. package/packages/workers/src/ui/types/worker-ui.js +0 -5
  395. package/routes/api.d.ts +0 -7
  396. package/routes/api.d.ts.map +0 -1
  397. package/routes/api.js +0 -129
  398. package/routes/broadcast.d.ts +0 -9
  399. package/routes/broadcast.d.ts.map +0 -1
  400. package/routes/broadcast.js +0 -27
  401. package/routes/storage.d.ts +0 -4
  402. package/routes/storage.d.ts.map +0 -1
  403. package/routes/storage.js +0 -35
@@ -1,425 +0,0 @@
1
- /**
2
- * Worker Auto-Scaler
3
- * Automatic worker scaling based on queue depth, resource usage, and cost optimization
4
- * Sealed namespace for immutability
5
- */
6
- import { ErrorFactory, Logger, workersConfig } from '../../../src/index.js';
7
- // Internal state
8
- let config = null;
9
- let scalingInterval = null;
10
- const lastScalingDecisions = new Map();
11
- const scalingHistory = new Map();
12
- // Cost tracking
13
- let currentHourlyCost = 0;
14
- let dailyCost = 0;
15
- let weeklyCost = 0;
16
- let monthlyCost = 0;
17
- const lastCostReset = {
18
- daily: new Date(),
19
- weekly: new Date(),
20
- monthly: new Date(),
21
- };
22
- /**
23
- * Helper: Reset cost counters if period has passed
24
- */
25
- const resetCostCountersIfNeeded = () => {
26
- const now = new Date();
27
- // Daily reset (midnight UTC)
28
- const lastDailyReset = new Date(lastCostReset.daily);
29
- lastDailyReset.setUTCHours(0, 0, 0, 0);
30
- const todayMidnight = new Date(now);
31
- todayMidnight.setUTCHours(0, 0, 0, 0);
32
- if (todayMidnight > lastDailyReset) {
33
- dailyCost = 0;
34
- lastCostReset.daily = now;
35
- Logger.info('Daily cost counter reset');
36
- }
37
- // Weekly reset (Sunday midnight UTC)
38
- const dayOfWeek = now.getUTCDay();
39
- const lastWeeklyReset = new Date(lastCostReset.weekly);
40
- const daysSinceLastReset = Math.floor((now.getTime() - lastWeeklyReset.getTime()) / (24 * 60 * 60 * 1000));
41
- if (daysSinceLastReset >= 7 || (dayOfWeek === 0 && now.getUTCHours() === 0)) {
42
- weeklyCost = 0;
43
- lastCostReset.weekly = now;
44
- Logger.info('Weekly cost counter reset');
45
- }
46
- // Monthly reset (1st of month midnight UTC)
47
- if (now.getUTCDate() === 1 && now.getUTCDate() !== lastCostReset.monthly.getUTCDate()) {
48
- monthlyCost = 0;
49
- lastCostReset.monthly = now;
50
- Logger.info('Monthly cost counter reset');
51
- }
52
- };
53
- /**
54
- * Helper: Check if in off-peak period
55
- */
56
- const isOffPeakPeriod = (schedule) => {
57
- if (!schedule)
58
- return false;
59
- const now = new Date();
60
- const timeStr = now.toLocaleTimeString('en-US', {
61
- timeZone: schedule.timezone,
62
- hour12: false,
63
- hour: '2-digit',
64
- minute: '2-digit',
65
- });
66
- const [currentHour, currentMinute] = timeStr.split(':').map(Number);
67
- const currentMinutes = currentHour * 60 + currentMinute;
68
- const [startHour, startMinute] = schedule.start.split(':').map(Number);
69
- const startMinutes = startHour * 60 + startMinute;
70
- const [endHour, endMinute] = schedule.end.split(':').map(Number);
71
- const endMinutes = endHour * 60 + endMinute;
72
- // Handle cases where period crosses midnight
73
- if (startMinutes > endMinutes) {
74
- return currentMinutes >= startMinutes || currentMinutes < endMinutes;
75
- }
76
- return currentMinutes >= startMinutes && currentMinutes < endMinutes;
77
- };
78
- /**
79
- * Helper: Calculate scaling step based on aggressiveness
80
- */
81
- const calculateScalingStep = (currentConcurrency, aggressiveness) => {
82
- const baseStep = Math.max(1, Math.ceil(currentConcurrency * 0.1)); // 10% of current
83
- switch (aggressiveness) {
84
- case 'conservative':
85
- return Math.max(1, Math.ceil(baseStep * 0.5)); // 5% increase
86
- case 'moderate':
87
- return baseStep; // 10% increase
88
- case 'aggressive':
89
- return Math.ceil(baseStep * 2); // 20% increase
90
- }
91
- };
92
- /**
93
- * Helper: Check if cooldown period has passed
94
- */
95
- const canScale = (workerName, cooldownPeriod) => {
96
- const lastDecision = lastScalingDecisions.get(workerName);
97
- if (!lastDecision || lastDecision.action === 'no-change') {
98
- return true;
99
- }
100
- const elapsedSeconds = (Date.now() - lastDecision.timestamp.getTime()) / 1000;
101
- return elapsedSeconds >= cooldownPeriod;
102
- };
103
- /**
104
- * Helper: Check budget constraints
105
- */
106
- const checkBudgetConstraints = (additionalCost) => {
107
- if (config?.costOptimization?.enabled === undefined) {
108
- return { allowed: true };
109
- }
110
- resetCostCountersIfNeeded();
111
- const { budgetAlerts } = config.costOptimization;
112
- // Check daily limit
113
- if (dailyCost + additionalCost > budgetAlerts.dailyLimit) {
114
- return {
115
- allowed: false,
116
- reason: `Would exceed daily budget: $${(dailyCost + additionalCost).toFixed(2)} > $${budgetAlerts.dailyLimit}`,
117
- };
118
- }
119
- // Check weekly limit
120
- if (weeklyCost + additionalCost > budgetAlerts.weeklyLimit) {
121
- return {
122
- allowed: false,
123
- reason: `Would exceed weekly budget: $${(weeklyCost + additionalCost).toFixed(2)} > $${budgetAlerts.weeklyLimit}`,
124
- };
125
- }
126
- // Check monthly limit
127
- if (monthlyCost + additionalCost > budgetAlerts.monthlyLimit) {
128
- return {
129
- allowed: false,
130
- reason: `Would exceed monthly budget: $${(monthlyCost + additionalCost).toFixed(2)} > $${budgetAlerts.monthlyLimit}`,
131
- };
132
- }
133
- return { allowed: true };
134
- };
135
- /**
136
- * Helper: Make scaling decision for a worker
137
- */
138
- const buildDecision = (workerName, action, currentConcurrency, targetConcurrency, reason, metrics) => ({
139
- workerName,
140
- action,
141
- currentConcurrency,
142
- targetConcurrency,
143
- reason,
144
- metrics,
145
- timestamp: new Date(),
146
- });
147
- const getOffPeakDecision = (workerName, policy, currentConcurrency, metrics) => {
148
- if (config?.costOptimization.enabled === undefined)
149
- return null;
150
- const schedule = config.costOptimization.offPeakSchedule;
151
- if (!schedule || !isOffPeakPeriod(schedule))
152
- return null;
153
- const reductionPercentage = schedule.reductionPercentage;
154
- const targetConcurrency = Math.max(policy.minConcurrency, Math.ceil(currentConcurrency * (1 - reductionPercentage / 100)));
155
- if (targetConcurrency >= currentConcurrency)
156
- return null;
157
- return buildDecision(workerName, 'scale-down', currentConcurrency, targetConcurrency, `Off-peak reduction: ${reductionPercentage}%`, metrics);
158
- };
159
- const getScaleUpDecision = (workerName, policy, currentConcurrency, metrics) => {
160
- const shouldScaleUp = metrics.queueDepth > policy.scaleUpThreshold.queueDepth ||
161
- metrics.cpuUsage > policy.scaleUpThreshold.cpuUsage ||
162
- metrics.memoryUsage > policy.scaleUpThreshold.memoryUsage;
163
- if (!shouldScaleUp || currentConcurrency >= policy.maxConcurrency)
164
- return null;
165
- const step = calculateScalingStep(currentConcurrency, policy.aggressiveness);
166
- const targetConcurrency = Math.min(policy.maxConcurrency, currentConcurrency + step);
167
- const additionalCost = metrics.costPerHour * (targetConcurrency - currentConcurrency);
168
- const budgetCheck = checkBudgetConstraints(additionalCost);
169
- if (!budgetCheck.allowed) {
170
- return buildDecision(workerName, 'no-change', currentConcurrency, currentConcurrency, budgetCheck.reason ?? 'Budget constraints prevent scale-up', metrics);
171
- }
172
- const reasons = [];
173
- if (metrics.queueDepth > policy.scaleUpThreshold.queueDepth) {
174
- reasons.push(`Queue depth: ${metrics.queueDepth} > ${policy.scaleUpThreshold.queueDepth}`);
175
- }
176
- if (metrics.cpuUsage > policy.scaleUpThreshold.cpuUsage) {
177
- reasons.push(`CPU usage: ${metrics.cpuUsage}% > ${policy.scaleUpThreshold.cpuUsage}%`);
178
- }
179
- if (metrics.memoryUsage > policy.scaleUpThreshold.memoryUsage) {
180
- reasons.push(`Memory usage: ${metrics.memoryUsage}% > ${policy.scaleUpThreshold.memoryUsage}%`);
181
- }
182
- return buildDecision(workerName, 'scale-up', currentConcurrency, targetConcurrency, reasons.join('; '), metrics);
183
- };
184
- const getScaleDownDecision = (workerName, policy, currentConcurrency, metrics) => {
185
- const shouldScaleDown = metrics.queueDepth < policy.scaleDownThreshold.queueDepth &&
186
- metrics.cpuUsage < policy.scaleDownThreshold.cpuUsage &&
187
- metrics.memoryUsage < policy.scaleDownThreshold.memoryUsage;
188
- if (!shouldScaleDown || currentConcurrency <= policy.minConcurrency)
189
- return null;
190
- const step = calculateScalingStep(currentConcurrency, policy.aggressiveness);
191
- const targetConcurrency = Math.max(policy.minConcurrency, currentConcurrency - step);
192
- return buildDecision(workerName, 'scale-down', currentConcurrency, targetConcurrency, `Low utilization: Queue=${metrics.queueDepth}, CPU=${metrics.cpuUsage}%, Mem=${metrics.memoryUsage}%`, metrics);
193
- };
194
- const makeScalingDecision = (workerName, workerConfig, metrics) => {
195
- if (!config) {
196
- throw ErrorFactory.createGeneralError('AutoScaler not configured');
197
- }
198
- const policy = config.scalingPolicies.get(workerName) ?? getDefaultScalingPolicy(workerConfig);
199
- const currentConcurrency = workerConfig.concurrency ?? 1;
200
- if (!canScale(workerName, policy.cooldownPeriod)) {
201
- return buildDecision(workerName, 'no-change', currentConcurrency, currentConcurrency, 'Cooldown period not elapsed', metrics);
202
- }
203
- const offPeakDecision = getOffPeakDecision(workerName, policy, currentConcurrency, metrics);
204
- if (offPeakDecision)
205
- return offPeakDecision;
206
- const scaleUpDecision = getScaleUpDecision(workerName, policy, currentConcurrency, metrics);
207
- if (scaleUpDecision)
208
- return scaleUpDecision;
209
- const scaleDownDecision = getScaleDownDecision(workerName, policy, currentConcurrency, metrics);
210
- if (scaleDownDecision)
211
- return scaleDownDecision;
212
- return buildDecision(workerName, 'no-change', currentConcurrency, currentConcurrency, 'Metrics within acceptable range', metrics);
213
- };
214
- /**
215
- * Helper: Get default scaling policy from worker config
216
- */
217
- const getDefaultScalingPolicy = (workerConfig) => {
218
- const autoScaling = workerConfig.autoScaling;
219
- return {
220
- minConcurrency: autoScaling?.minConcurrency ?? 1,
221
- maxConcurrency: autoScaling?.maxConcurrency ?? 10,
222
- scaleUpThreshold: {
223
- queueDepth: autoScaling?.scaleUpThreshold ?? 100,
224
- cpuUsage: 70,
225
- memoryUsage: 80,
226
- },
227
- scaleDownThreshold: {
228
- queueDepth: autoScaling?.scaleDownThreshold ?? 10,
229
- cpuUsage: 30,
230
- memoryUsage: 40,
231
- },
232
- cooldownPeriod: autoScaling?.cooldownPeriod ?? 300, // 5 minutes
233
- aggressiveness: 'moderate',
234
- };
235
- };
236
- /**
237
- * Helper: Record scaling decision
238
- */
239
- const recordScalingDecision = (decision) => {
240
- lastScalingDecisions.set(decision.workerName, decision);
241
- // Add to history
242
- let history = scalingHistory.get(decision.workerName);
243
- if (!history) {
244
- history = [];
245
- scalingHistory.set(decision.workerName, history);
246
- }
247
- history.push(decision);
248
- // Keep only last 1000 decisions
249
- if (history.length > 1000) {
250
- history.shift();
251
- }
252
- // Update cost tracking
253
- if (decision.action === 'scale-up') {
254
- const additionalCost = decision.metrics.costPerHour * (decision.targetConcurrency - decision.currentConcurrency);
255
- currentHourlyCost += additionalCost;
256
- dailyCost += additionalCost;
257
- weeklyCost += additionalCost;
258
- monthlyCost += additionalCost;
259
- }
260
- };
261
- /**
262
- * Worker Auto-Scaler - Sealed namespace
263
- */
264
- export const AutoScaler = Object.freeze({
265
- /**
266
- * Initialize auto-scaler with configuration
267
- */
268
- initialize(autoScalerConfig) {
269
- if (config) {
270
- Logger.warn('AutoScaler already initialized');
271
- return;
272
- }
273
- config = autoScalerConfig;
274
- if (config.enabled) {
275
- AutoScaler.start();
276
- }
277
- Logger.info('AutoScaler initialized', { enabled: config.enabled });
278
- },
279
- /**
280
- * Start auto-scaling checks
281
- */
282
- start() {
283
- if (!config) {
284
- throw ErrorFactory.createConfigError('AutoScaler not initialized');
285
- }
286
- if (scalingInterval) {
287
- Logger.warn('AutoScaler already running');
288
- return;
289
- }
290
- if (!config.enabled) {
291
- Logger.warn('AutoScaler is disabled in config');
292
- return;
293
- }
294
- scalingInterval = setInterval(() => {
295
- // Scaling checks will be triggered externally via evaluate()
296
- // This interval is just a keepalive
297
- }, config.checkInterval * 1000);
298
- Logger.info('AutoScaler started', { checkInterval: config.checkInterval });
299
- },
300
- /**
301
- * Stop auto-scaling checks
302
- */
303
- stop() {
304
- if (scalingInterval) {
305
- clearInterval(scalingInterval);
306
- scalingInterval = null;
307
- Logger.info('AutoScaler stopped');
308
- }
309
- },
310
- /**
311
- * Evaluate scaling decision for a worker
312
- */
313
- evaluate(workerName, metrics) {
314
- if (!config) {
315
- throw ErrorFactory.createConfigError('AutoScaler not initialized');
316
- }
317
- const workerConfig = workersConfig.defaultWorker;
318
- const decision = makeScalingDecision(workerName, workerConfig, metrics);
319
- recordScalingDecision(decision);
320
- if (decision.action !== 'no-change') {
321
- Logger.info(`Scaling decision for ${workerName}`, {
322
- action: decision.action,
323
- from: decision.currentConcurrency,
324
- to: decision.targetConcurrency,
325
- reason: decision.reason,
326
- });
327
- }
328
- return decision;
329
- },
330
- /**
331
- * Get last scaling decision
332
- */
333
- getLastDecision(workerName) {
334
- return lastScalingDecisions.get(workerName) ?? null;
335
- },
336
- /**
337
- * Get scaling history
338
- */
339
- getHistory(workerName, limit = 100) {
340
- const history = scalingHistory.get(workerName) ?? [];
341
- return history.slice(-limit);
342
- },
343
- /**
344
- * Clear scaling history for a worker
345
- */
346
- clearHistory(workerName) {
347
- lastScalingDecisions.delete(workerName);
348
- scalingHistory.delete(workerName);
349
- Logger.info(`Cleared auto-scaling history for ${workerName}`);
350
- },
351
- /**
352
- * Get cost summary
353
- */
354
- getCostSummary() {
355
- if (config?.costOptimization.enabled === undefined) {
356
- return {
357
- currentHourlyCost: 0,
358
- dailyCost: 0,
359
- weeklyCost: 0,
360
- monthlyCost: 0,
361
- budgetLimits: { dailyLimit: 0, weeklyLimit: 0, monthlyLimit: 0 },
362
- utilizationPercentage: { daily: 0, weekly: 0, monthly: 0 },
363
- };
364
- }
365
- resetCostCountersIfNeeded();
366
- const { budgetAlerts } = config.costOptimization;
367
- return {
368
- currentHourlyCost,
369
- dailyCost,
370
- weeklyCost,
371
- monthlyCost,
372
- budgetLimits: budgetAlerts,
373
- utilizationPercentage: {
374
- daily: (dailyCost / budgetAlerts.dailyLimit) * 100,
375
- weekly: (weeklyCost / budgetAlerts.weeklyLimit) * 100,
376
- monthly: (monthlyCost / budgetAlerts.monthlyLimit) * 100,
377
- },
378
- };
379
- },
380
- /**
381
- * Set scaling policy for a worker
382
- */
383
- setScalingPolicy(workerName, policy) {
384
- if (!config) {
385
- throw ErrorFactory.createWorkerError('AutoScaler not initialized');
386
- }
387
- config.scalingPolicies.set(workerName, policy);
388
- Logger.info(`Updated scaling policy for ${workerName}`);
389
- },
390
- /**
391
- * Get scaling policy for a worker
392
- */
393
- getScalingPolicy(workerName) {
394
- if (!config) {
395
- return null;
396
- }
397
- return config.scalingPolicies.get(workerName) ?? null;
398
- },
399
- /**
400
- * Check if currently in off-peak period
401
- */
402
- isOffPeak() {
403
- if (config?.costOptimization.enabled === undefined) {
404
- return false;
405
- }
406
- return isOffPeakPeriod(config.costOptimization.offPeakSchedule);
407
- },
408
- /**
409
- * Get configuration
410
- */
411
- getConfig() {
412
- return config ? { ...config } : null;
413
- },
414
- /**
415
- * Shutdown
416
- */
417
- shutdown() {
418
- AutoScaler.stop();
419
- config = null;
420
- lastScalingDecisions.clear();
421
- scalingHistory.clear();
422
- Logger.info('AutoScaler shutdown complete');
423
- },
424
- });
425
- // Graceful shutdown handled by WorkerShutdown
@@ -1,24 +0,0 @@
1
- /**
2
- * BroadcastWorker - Processes queued broadcasts
3
- *
4
- * This worker dequeues broadcast messages and sends them using the Broadcast service.
5
- * Use with Queue.dequeue() in a background process or cron job.
6
- */
7
- export declare const BroadcastWorker: Readonly<{
8
- processOne: (queueName?: string, driverName?: string) => Promise<boolean>;
9
- processAll: (queueName?: string, driverName?: string) => Promise<number>;
10
- runOnce: (opts?: {
11
- queueName?: string;
12
- driverName?: string;
13
- maxItems?: number;
14
- maxDurationMs?: number;
15
- }) => Promise<number>;
16
- startWorker: (opts?: {
17
- queueName?: string;
18
- driverName?: string;
19
- signal?: AbortSignal;
20
- maxDurationMs?: number;
21
- }) => Promise<number>;
22
- }>;
23
- export default BroadcastWorker;
24
- //# sourceMappingURL=BroadcastWorker.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"BroadcastWorker.d.ts","sourceRoot":"","sources":["../../../../packages/workers/src/BroadcastWorker.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAYH,eAAO,MAAM,eAAe;0BAiBugF,CAAC,oBAAoB,CAAC;0BAAuD,CAAC,oBAAoB,CAAC;kBAA8C,CAAC;iBAAiB,CAAC;kBAAwB,CAAC;gBAAsB,CAAC;qBAA2B,CAAC;;sBAAuD,CAAC;iBAAiB,CAAC;kBAAwB,CAAC;cAAoB,CAAC;qBAAgC,CAAC;;EAH16F,CAAC;AAEH,eAAe,eAAe,CAAC"}
@@ -1,24 +0,0 @@
1
- /**
2
- * BroadcastWorker - Processes queued broadcasts
3
- *
4
- * This worker dequeues broadcast messages and sends them using the Broadcast service.
5
- * Use with Queue.dequeue() in a background process or cron job.
6
- */
7
- import { Broadcast } from '../../../src/index.js';
8
- import { createQueueWorker } from './createQueueWorker.js';
9
- export const BroadcastWorker = Object.freeze({
10
- ...createQueueWorker({
11
- kindLabel: 'broadcast',
12
- defaultQueueName: 'broadcasts',
13
- maxAttempts: 3,
14
- getLogFields: (payload) => ({
15
- channel: payload.channel,
16
- event: payload.event,
17
- queuedAt: payload.timestamp,
18
- }),
19
- handle: async (payload) => {
20
- await Broadcast.send(payload.channel, payload.event, payload.data);
21
- },
22
- }),
23
- });
24
- export default BroadcastWorker;
@@ -1,104 +0,0 @@
1
- /**
2
- * Canary Deployment Controller
3
- * Gradual rollout with traffic percentage control and automatic rollback
4
- * Sealed namespace for immutability
5
- */
6
- export type CanaryStage = 'initial' | 'ramping' | 'monitoring' | 'completed' | 'rolling-back' | 'failed';
7
- export type CanaryDeploymentConfig = {
8
- workerName: string;
9
- currentVersion: string;
10
- canaryVersion: string;
11
- initialTrafficPercent: number;
12
- targetTrafficPercent: number;
13
- incrementPercent: number;
14
- incrementInterval: number;
15
- monitoringDuration: number;
16
- errorThreshold: number;
17
- latencyThreshold: number;
18
- minSuccessRate: number;
19
- autoRollback: boolean;
20
- };
21
- export type CanaryDeployment = {
22
- config: CanaryDeploymentConfig;
23
- currentTrafficPercent: number;
24
- stage: CanaryStage;
25
- startedAt: Date;
26
- completedAt?: Date;
27
- metrics: {
28
- currentVersion: {
29
- processed: number;
30
- errors: number;
31
- avgLatency: number;
32
- };
33
- canaryVersion: {
34
- processed: number;
35
- errors: number;
36
- avgLatency: number;
37
- };
38
- };
39
- history: Array<{
40
- timestamp: Date;
41
- trafficPercent: number;
42
- stage: CanaryStage;
43
- metrics: CanaryDeployment['metrics'];
44
- decision: string;
45
- }>;
46
- };
47
- /**
48
- * Canary Deployment Controller - Sealed namespace
49
- */
50
- export declare const CanaryController: Readonly<{
51
- /**
52
- * Start canary deployment
53
- */
54
- start(config: CanaryDeploymentConfig): void;
55
- /**
56
- * Pause canary deployment
57
- */
58
- pause(workerName: string): void;
59
- /**
60
- * Resume canary deployment
61
- */
62
- resume(workerName: string): void;
63
- /**
64
- * Complete canary deployment
65
- */
66
- complete(workerName: string): void;
67
- /**
68
- * Rollback canary deployment
69
- */
70
- rollback(workerName: string, reason: string): void;
71
- /**
72
- * Get canary deployment status
73
- */
74
- getStatus(workerName: string): CanaryDeployment | null;
75
- /**
76
- * Update metrics for canary deployment
77
- */
78
- updateMetrics(workerName: string, version: string, processed: number, errors: number, avgLatency: number): void;
79
- /**
80
- * Route job to version based on traffic percentage
81
- */
82
- routeJob(workerName: string): string | null;
83
- /**
84
- * List all canary deployments
85
- */
86
- listDeployments(): string[];
87
- /**
88
- * Get deployment history
89
- */
90
- getHistory(workerName: string): CanaryDeployment["history"] | null;
91
- /**
92
- * Remove completed/failed deployment
93
- */
94
- remove(workerName: string): void;
95
- /**
96
- * Purge deployment data (force cleanup)
97
- */
98
- purge(workerName: string): void;
99
- /**
100
- * Shutdown all canary deployments
101
- */
102
- shutdown(): void;
103
- }>;
104
- //# sourceMappingURL=CanaryController.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"CanaryController.d.ts","sourceRoot":"","sources":["../../../../packages/workers/src/CanaryController.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAKH,MAAM,MAAM,WAAW,GACnB,SAAS,GACT,SAAS,GACT,YAAY,GACZ,WAAW,GACX,cAAc,GACd,QAAQ,CAAC;AAEb,MAAM,MAAM,sBAAsB,GAAG;IACnC,UAAU,EAAE,MAAM,CAAC;IACnB,cAAc,EAAE,MAAM,CAAC;IACvB,aAAa,EAAE,MAAM,CAAC;IACtB,qBAAqB,EAAE,MAAM,CAAC;IAC9B,oBAAoB,EAAE,MAAM,CAAC;IAC7B,gBAAgB,EAAE,MAAM,CAAC;IACzB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,kBAAkB,EAAE,MAAM,CAAC;IAC3B,cAAc,EAAE,MAAM,CAAC;IACvB,gBAAgB,EAAE,MAAM,CAAC;IACzB,cAAc,EAAE,MAAM,CAAC;IACvB,YAAY,EAAE,OAAO,CAAC;CACvB,CAAC;AAEF,MAAM,MAAM,gBAAgB,GAAG;IAC7B,MAAM,EAAE,sBAAsB,CAAC;IAC/B,qBAAqB,EAAE,MAAM,CAAC;IAC9B,KAAK,EAAE,WAAW,CAAC;IACnB,SAAS,EAAE,IAAI,CAAC;IAChB,WAAW,CAAC,EAAE,IAAI,CAAC;IACnB,OAAO,EAAE;QACP,cAAc,EAAE;YACd,SAAS,EAAE,MAAM,CAAC;YAClB,MAAM,EAAE,MAAM,CAAC;YACf,UAAU,EAAE,MAAM,CAAC;SACpB,CAAC;QACF,aAAa,EAAE;YACb,SAAS,EAAE,MAAM,CAAC;YAClB,MAAM,EAAE,MAAM,CAAC;YACf,UAAU,EAAE,MAAM,CAAC;SACpB,CAAC;KACH,CAAC;IACF,OAAO,EAAE,KAAK,CAAC;QACb,SAAS,EAAE,IAAI,CAAC;QAChB,cAAc,EAAE,MAAM,CAAC;QACvB,KAAK,EAAE,WAAW,CAAC;QACnB,OAAO,EAAE,gBAAgB,CAAC,SAAS,CAAC,CAAC;QACrC,QAAQ,EAAE,MAAM,CAAC;KAClB,CAAC,CAAC;CACJ,CAAC;AAwKF;;GAEG;AACH,eAAO,MAAM,gBAAgB;IAC3B;;OAEG;kBACW,sBAAsB,GAAG,IAAI;IAwE3C;;OAEG;sBACe,MAAM,GAAG,IAAI;IAiB/B;;OAEG;uBACgB,MAAM,GAAG,IAAI;IAiChC;;OAEG;yBACkB,MAAM,GAAG,IAAI;IAsClC;;OAEG;yBACkB,MAAM,UAAU,MAAM,GAAG,IAAI;IAqClD;;OAEG;0BACmB,MAAM,GAAG,gBAAgB,GAAG,IAAI;IAKtD;;OAEG;8BAEW,MAAM,WACT,MAAM,aACJ,MAAM,UACT,MAAM,cACF,MAAM,GACjB,IAAI;IAcP;;OAEG;yBACkB,MAAM,GAAG,MAAM,GAAG,IAAI;IAiB3C;;OAEG;uBACgB,MAAM,EAAE;IAI3B;;OAEG;2BACoB,MAAM,GAAG,gBAAgB,CAAC,SAAS,CAAC,GAAG,IAAI;IAKlE;;OAEG;uBACgB,MAAM,GAAG,IAAI;IAkBhC;;OAEG;sBACe,MAAM,GAAG,IAAI;IAiB/B;;OAEG;gBACS,IAAI;EAahB,CAAC"}