@zintrust/core 0.4.28 → 0.4.30

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 (453) 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 +78 -23
  6. package/src/cli/commands/D1ProxyCommand.d.ts.map +1 -1
  7. package/src/cli/commands/D1ProxyCommand.js +69 -9
  8. package/src/cli/commands/KvProxyCommand.d.ts.map +1 -1
  9. package/src/cli/commands/KvProxyCommand.js +69 -9
  10. package/src/cli/commands/NewCommand.d.ts.map +1 -1
  11. package/src/cli/commands/NewCommand.js +8 -28
  12. package/src/cli/scaffolding/GovernanceScaffolder.d.ts.map +1 -1
  13. package/src/cli/scaffolding/GovernanceScaffolder.js +31 -4
  14. package/src/cli/scaffolding/ProjectScaffolder.d.ts.map +1 -1
  15. package/src/cli/scaffolding/ProjectScaffolder.js +31 -5
  16. package/src/cli/utils/DistPackager.d.ts +2 -2
  17. package/src/cli/utils/DistPackager.js +2 -2
  18. package/src/index.js +3 -3
  19. package/src/zintrust.plugins.js +1 -1
  20. package/app/Controllers/AuthController.d.ts +0 -10
  21. package/app/Controllers/AuthController.d.ts.map +0 -1
  22. package/app/Controllers/AuthController.js +0 -233
  23. package/app/Controllers/TestController.d.ts +0 -22
  24. package/app/Controllers/TestController.d.ts.map +0 -1
  25. package/app/Controllers/TestController.js +0 -188
  26. package/app/Controllers/UserController.d.ts +0 -9
  27. package/app/Controllers/UserController.d.ts.map +0 -1
  28. package/app/Controllers/UserController.js +0 -8
  29. package/app/Controllers/UserQueryBuilderController.d.ts +0 -16
  30. package/app/Controllers/UserQueryBuilderController.d.ts.map +0 -1
  31. package/app/Controllers/UserQueryBuilderController.js +0 -404
  32. package/app/Jobs/AdvancedEmailJobService.d.ts +0 -57
  33. package/app/Jobs/AdvancedEmailJobService.d.ts.map +0 -1
  34. package/app/Jobs/AdvancedEmailJobService.js +0 -185
  35. package/app/Jobs/EmailJobService.d.ts +0 -33
  36. package/app/Jobs/EmailJobService.d.ts.map +0 -1
  37. package/app/Jobs/EmailJobService.js +0 -113
  38. package/app/Middleware/AuthFailureResponder.d.ts +0 -3
  39. package/app/Middleware/AuthFailureResponder.d.ts.map +0 -1
  40. package/app/Middleware/AuthFailureResponder.js +0 -8
  41. package/app/Middleware/ProfilerMiddleware.d.ts +0 -12
  42. package/app/Middleware/ProfilerMiddleware.d.ts.map +0 -1
  43. package/app/Middleware/ProfilerMiddleware.js +0 -47
  44. package/app/Middleware/index.d.ts +0 -59
  45. package/app/Middleware/index.d.ts.map +0 -1
  46. package/app/Middleware/index.js +0 -216
  47. package/app/Models/Post.d.ts +0 -14
  48. package/app/Models/Post.d.ts.map +0 -1
  49. package/app/Models/Post.js +0 -27
  50. package/app/Models/User.d.ts +0 -14
  51. package/app/Models/User.d.ts.map +0 -1
  52. package/app/Models/User.js +0 -44
  53. package/app/Schedules/JobTracking.d.ts +0 -3
  54. package/app/Schedules/JobTracking.d.ts.map +0 -1
  55. package/app/Schedules/JobTracking.js +0 -13
  56. package/app/Schedules/index.d.ts +0 -2
  57. package/app/Schedules/index.d.ts.map +0 -1
  58. package/app/Schedules/index.js +0 -1
  59. package/app/Toolkit/Broadcast/sendBroadcast.d.ts +0 -6
  60. package/app/Toolkit/Broadcast/sendBroadcast.d.ts.map +0 -1
  61. package/app/Toolkit/Broadcast/sendBroadcast.js +0 -5
  62. package/app/Toolkit/Mail/sendWelcomeEmail.d.ts +0 -6
  63. package/app/Toolkit/Mail/sendWelcomeEmail.d.ts.map +0 -1
  64. package/app/Toolkit/Mail/sendWelcomeEmail.js +0 -20
  65. package/app/Toolkit/Notification/sendSlackNotification.d.ts +0 -8
  66. package/app/Toolkit/Notification/sendSlackNotification.d.ts.map +0 -1
  67. package/app/Toolkit/Notification/sendSlackNotification.js +0 -5
  68. package/app/Toolkit/Notification/sendSms.d.ts +0 -6
  69. package/app/Toolkit/Notification/sendSms.d.ts.map +0 -1
  70. package/app/Toolkit/Notification/sendSms.js +0 -5
  71. package/app/Types/controller.d.ts +0 -44
  72. package/app/Types/controller.d.ts.map +0 -1
  73. package/app/Types/controller.js +0 -1
  74. package/app/Workers/AdvancEmailWorker.d.ts +0 -44
  75. package/app/Workers/AdvancEmailWorker.d.ts.map +0 -1
  76. package/app/Workers/AdvancEmailWorker.js +0 -192
  77. package/app/Workers/EmailWorker.d.ts +0 -39
  78. package/app/Workers/EmailWorker.d.ts.map +0 -1
  79. package/app/Workers/EmailWorker.js +0 -199
  80. package/app/Workers/TestWorker.d.ts +0 -16
  81. package/app/Workers/TestWorker.d.ts.map +0 -1
  82. package/app/Workers/TestWorker.js +0 -153
  83. package/build-manifest.json +0 -6410
  84. package/config/broadcast.d.ts +0 -38
  85. package/config/broadcast.d.ts.map +0 -1
  86. package/config/broadcast.js +0 -37
  87. package/config/cache.d.ts +0 -40
  88. package/config/cache.d.ts.map +0 -1
  89. package/config/cache.js +0 -39
  90. package/config/database.d.ts +0 -58
  91. package/config/database.d.ts.map +0 -1
  92. package/config/database.js +0 -65
  93. package/config/mail.d.ts +0 -51
  94. package/config/mail.d.ts.map +0 -1
  95. package/config/mail.js +0 -69
  96. package/config/middleware.d.ts +0 -21
  97. package/config/middleware.d.ts.map +0 -1
  98. package/config/middleware.js +0 -61
  99. package/config/notification.d.ts +0 -33
  100. package/config/notification.d.ts.map +0 -1
  101. package/config/notification.js +0 -33
  102. package/config/queue.d.ts +0 -55
  103. package/config/queue.d.ts.map +0 -1
  104. package/config/queue.js +0 -87
  105. package/config/storage.d.ts +0 -59
  106. package/config/storage.d.ts.map +0 -1
  107. package/config/storage.js +0 -59
  108. package/config/workers.d.ts +0 -54
  109. package/config/workers.d.ts.map +0 -1
  110. package/config/workers.js +0 -83
  111. package/database/factories/UserFactory.d.ts +0 -40
  112. package/database/factories/UserFactory.d.ts.map +0 -1
  113. package/database/factories/UserFactory.js +0 -99
  114. package/database/migrations/20260109074544_create_users_table.d.ts +0 -7
  115. package/database/migrations/20260109074544_create_users_table.d.ts.map +0 -1
  116. package/database/migrations/20260109074544_create_users_table.js +0 -21
  117. package/database/migrations/20260109144731_create_tasks_table.d.ts +0 -7
  118. package/database/migrations/20260109144731_create_tasks_table.d.ts.map +0 -1
  119. package/database/migrations/20260109144731_create_tasks_table.js +0 -19
  120. package/database/migrations/20260109144735_add_done_tasks_table.d.ts +0 -11
  121. package/database/migrations/20260109144735_add_done_tasks_table.d.ts.map +0 -1
  122. package/database/migrations/20260109144735_add_done_tasks_table.js +0 -25
  123. package/database/migrations/20260109150837_add_start_tasks_table.d.ts +0 -11
  124. package/database/migrations/20260109150837_add_start_tasks_table.d.ts.map +0 -1
  125. package/database/migrations/20260109150837_add_start_tasks_table.js +0 -22
  126. package/database/migrations/20260109152114_add_way_tasks_table.d.ts +0 -11
  127. package/database/migrations/20260109152114_add_way_tasks_table.d.ts.map +0 -1
  128. package/database/migrations/20260109152114_add_way_tasks_table.js +0 -22
  129. package/database/migrations/20260218121500_create_jwt_revocations_table.d.ts +0 -7
  130. package/database/migrations/20260218121500_create_jwt_revocations_table.d.ts.map +0 -1
  131. package/database/migrations/20260218121500_create_jwt_revocations_table.js +0 -22
  132. package/database/migrations/20260222120000_add_kind_to_jwt_revocations_table.d.ts +0 -11
  133. package/database/migrations/20260222120000_add_kind_to_jwt_revocations_table.d.ts.map +0 -1
  134. package/database/migrations/20260222120000_add_kind_to_jwt_revocations_table.js +0 -20
  135. package/database/migrations/20260222123000_add_user_id_to_jwt_revocations_table.d.ts +0 -11
  136. package/database/migrations/20260222123000_add_user_id_to_jwt_revocations_table.d.ts.map +0 -1
  137. package/database/migrations/20260222123000_add_user_id_to_jwt_revocations_table.js +0 -20
  138. package/database/migrations/20260327112651_create_posts_table.d.ts +0 -11
  139. package/database/migrations/20260327112651_create_posts_table.d.ts.map +0 -1
  140. package/database/migrations/20260327112651_create_posts_table.js +0 -24
  141. package/database/seeders/DatabaseSeeder.d.ts +0 -5
  142. package/database/seeders/DatabaseSeeder.d.ts.map +0 -1
  143. package/database/seeders/DatabaseSeeder.js +0 -15
  144. package/database/seeders/UserSeeder.d.ts +0 -30
  145. package/database/seeders/UserSeeder.d.ts.map +0 -1
  146. package/database/seeders/UserSeeder.js +0 -97
  147. package/index.d.ts +0 -1
  148. package/index.js +0 -1
  149. package/packages/cache-redis/src/RedisProxyAdapter.d.ts +0 -6
  150. package/packages/cache-redis/src/RedisProxyAdapter.d.ts.map +0 -1
  151. package/packages/cache-redis/src/RedisProxyAdapter.js +0 -144
  152. package/packages/cache-redis/src/index.d.ts +0 -27
  153. package/packages/cache-redis/src/index.d.ts.map +0 -1
  154. package/packages/cache-redis/src/index.js +0 -153
  155. package/packages/db-d1/src/index.d.ts +0 -55
  156. package/packages/db-d1/src/index.d.ts.map +0 -1
  157. package/packages/db-d1/src/index.js +0 -118
  158. package/packages/db-d1/src/register.d.ts +0 -6
  159. package/packages/db-d1/src/register.d.ts.map +0 -1
  160. package/packages/db-d1/src/register.js +0 -8
  161. package/packages/db-mysql/src/common.d.ts +0 -7
  162. package/packages/db-mysql/src/common.d.ts.map +0 -1
  163. package/packages/db-mysql/src/common.js +0 -17
  164. package/packages/db-mysql/src/index.d.ts +0 -43
  165. package/packages/db-mysql/src/index.d.ts.map +0 -1
  166. package/packages/db-mysql/src/index.js +0 -265
  167. package/packages/db-mysql/src/register.d.ts +0 -6
  168. package/packages/db-mysql/src/register.d.ts.map +0 -1
  169. package/packages/db-mysql/src/register.js +0 -32
  170. package/packages/db-postgres/src/index.d.ts +0 -39
  171. package/packages/db-postgres/src/index.d.ts.map +0 -1
  172. package/packages/db-postgres/src/index.js +0 -179
  173. package/packages/db-postgres/src/register.d.ts +0 -6
  174. package/packages/db-postgres/src/register.d.ts.map +0 -1
  175. package/packages/db-postgres/src/register.js +0 -8
  176. package/packages/db-sqlite/src/index.d.ts +0 -9
  177. package/packages/db-sqlite/src/index.d.ts.map +0 -1
  178. package/packages/db-sqlite/src/index.js +0 -7
  179. package/packages/db-sqlite/src/register.d.ts +0 -6
  180. package/packages/db-sqlite/src/register.d.ts.map +0 -1
  181. package/packages/db-sqlite/src/register.js +0 -8
  182. package/packages/db-sqlserver/src/index.d.ts +0 -38
  183. package/packages/db-sqlserver/src/index.d.ts.map +0 -1
  184. package/packages/db-sqlserver/src/index.js +0 -73
  185. package/packages/db-sqlserver/src/register.d.ts +0 -6
  186. package/packages/db-sqlserver/src/register.d.ts.map +0 -1
  187. package/packages/db-sqlserver/src/register.js +0 -21
  188. package/packages/mail-sendgrid/src/register.d.ts +0 -6
  189. package/packages/mail-sendgrid/src/register.d.ts.map +0 -1
  190. package/packages/mail-sendgrid/src/register.js +0 -24
  191. package/packages/mail-smtp/src/register.d.ts +0 -6
  192. package/packages/mail-smtp/src/register.d.ts.map +0 -1
  193. package/packages/mail-smtp/src/register.js +0 -29
  194. package/packages/queue-monitor/src/QueueMonitoringService.d.ts +0 -35
  195. package/packages/queue-monitor/src/QueueMonitoringService.d.ts.map +0 -1
  196. package/packages/queue-monitor/src/QueueMonitoringService.js +0 -194
  197. package/packages/queue-monitor/src/connection.d.ts +0 -3
  198. package/packages/queue-monitor/src/connection.d.ts.map +0 -1
  199. package/packages/queue-monitor/src/connection.js +0 -1
  200. package/packages/queue-monitor/src/dashboard-ui.d.ts +0 -7
  201. package/packages/queue-monitor/src/dashboard-ui.d.ts.map +0 -1
  202. package/packages/queue-monitor/src/dashboard-ui.js +0 -997
  203. package/packages/queue-monitor/src/driver.d.ts +0 -15
  204. package/packages/queue-monitor/src/driver.d.ts.map +0 -1
  205. package/packages/queue-monitor/src/driver.js +0 -115
  206. package/packages/queue-monitor/src/index.d.ts +0 -71
  207. package/packages/queue-monitor/src/index.d.ts.map +0 -1
  208. package/packages/queue-monitor/src/index.js +0 -296
  209. package/packages/queue-monitor/src/metrics.d.ts +0 -27
  210. package/packages/queue-monitor/src/metrics.d.ts.map +0 -1
  211. package/packages/queue-monitor/src/metrics.js +0 -92
  212. package/packages/queue-monitor/src/worker.d.ts +0 -8
  213. package/packages/queue-monitor/src/worker.d.ts.map +0 -1
  214. package/packages/queue-monitor/src/worker.js +0 -35
  215. package/packages/queue-redis/src/BullMQRedisQueue.d.ts +0 -26
  216. package/packages/queue-redis/src/BullMQRedisQueue.d.ts.map +0 -1
  217. package/packages/queue-redis/src/BullMQRedisQueue.js +0 -465
  218. package/packages/queue-redis/src/HttpQueueDriver.d.ts +0 -18
  219. package/packages/queue-redis/src/HttpQueueDriver.d.ts.map +0 -1
  220. package/packages/queue-redis/src/HttpQueueDriver.js +0 -249
  221. package/packages/queue-redis/src/QueueHttpGateway.d.ts +0 -16
  222. package/packages/queue-redis/src/QueueHttpGateway.d.ts.map +0 -1
  223. package/packages/queue-redis/src/QueueHttpGateway.js +0 -217
  224. package/packages/queue-redis/src/RedisPublishClient.d.ts +0 -14
  225. package/packages/queue-redis/src/RedisPublishClient.d.ts.map +0 -1
  226. package/packages/queue-redis/src/RedisPublishClient.js +0 -251
  227. package/packages/queue-redis/src/index.d.ts +0 -12
  228. package/packages/queue-redis/src/index.d.ts.map +0 -1
  229. package/packages/queue-redis/src/index.js +0 -10
  230. package/packages/queue-redis/src/register.d.ts +0 -6
  231. package/packages/queue-redis/src/register.d.ts.map +0 -1
  232. package/packages/queue-redis/src/register.js +0 -21
  233. package/packages/workers/migrations/20260119100000_create_zintrust_workers_table.d.ts +0 -11
  234. package/packages/workers/migrations/20260119100000_create_zintrust_workers_table.d.ts.map +0 -1
  235. package/packages/workers/migrations/20260119100000_create_zintrust_workers_table.js +0 -32
  236. package/packages/workers/migrations/20260123180000_create_queue_jobs_table.d.ts +0 -11
  237. package/packages/workers/migrations/20260123180000_create_queue_jobs_table.d.ts.map +0 -1
  238. package/packages/workers/migrations/20260123180000_create_queue_jobs_table.js +0 -46
  239. package/packages/workers/migrations/20260213142000_create_zintrust_job_tracking_tables.d.ts +0 -7
  240. package/packages/workers/migrations/20260213142000_create_zintrust_job_tracking_tables.d.ts.map +0 -1
  241. package/packages/workers/migrations/20260213142000_create_zintrust_job_tracking_tables.js +0 -44
  242. package/packages/workers/migrations/20260213183000_expand_zintrust_job_tracking_reliability_tables.d.ts +0 -7
  243. package/packages/workers/migrations/20260213183000_expand_zintrust_job_tracking_reliability_tables.d.ts.map +0 -1
  244. package/packages/workers/migrations/20260213183000_expand_zintrust_job_tracking_reliability_tables.js +0 -104
  245. package/packages/workers/src/AnomalyDetection.d.ts +0 -107
  246. package/packages/workers/src/AnomalyDetection.d.ts.map +0 -1
  247. package/packages/workers/src/AnomalyDetection.js +0 -329
  248. package/packages/workers/src/AutoScaler.d.ts +0 -128
  249. package/packages/workers/src/AutoScaler.d.ts.map +0 -1
  250. package/packages/workers/src/AutoScaler.js +0 -425
  251. package/packages/workers/src/BroadcastWorker.d.ts +0 -29
  252. package/packages/workers/src/BroadcastWorker.d.ts.map +0 -1
  253. package/packages/workers/src/BroadcastWorker.js +0 -24
  254. package/packages/workers/src/CanaryController.d.ts +0 -104
  255. package/packages/workers/src/CanaryController.d.ts.map +0 -1
  256. package/packages/workers/src/CanaryController.js +0 -424
  257. package/packages/workers/src/ChaosEngineering.d.ts +0 -80
  258. package/packages/workers/src/ChaosEngineering.d.ts.map +0 -1
  259. package/packages/workers/src/ChaosEngineering.js +0 -229
  260. package/packages/workers/src/CircuitBreaker.d.ts +0 -107
  261. package/packages/workers/src/CircuitBreaker.d.ts.map +0 -1
  262. package/packages/workers/src/CircuitBreaker.js +0 -374
  263. package/packages/workers/src/ClusterLock.d.ts +0 -91
  264. package/packages/workers/src/ClusterLock.d.ts.map +0 -1
  265. package/packages/workers/src/ClusterLock.js +0 -397
  266. package/packages/workers/src/ComplianceManager.d.ts +0 -178
  267. package/packages/workers/src/ComplianceManager.d.ts.map +0 -1
  268. package/packages/workers/src/ComplianceManager.js +0 -556
  269. package/packages/workers/src/DatacenterOrchestrator.d.ts +0 -134
  270. package/packages/workers/src/DatacenterOrchestrator.d.ts.map +0 -1
  271. package/packages/workers/src/DatacenterOrchestrator.js +0 -404
  272. package/packages/workers/src/DeadLetterQueue.d.ts +0 -123
  273. package/packages/workers/src/DeadLetterQueue.d.ts.map +0 -1
  274. package/packages/workers/src/DeadLetterQueue.js +0 -544
  275. package/packages/workers/src/HealthMonitor.d.ts +0 -43
  276. package/packages/workers/src/HealthMonitor.d.ts.map +0 -1
  277. package/packages/workers/src/HealthMonitor.js +0 -312
  278. package/packages/workers/src/MultiQueueWorker.d.ts +0 -90
  279. package/packages/workers/src/MultiQueueWorker.d.ts.map +0 -1
  280. package/packages/workers/src/MultiQueueWorker.js +0 -282
  281. package/packages/workers/src/NotificationWorker.d.ts +0 -29
  282. package/packages/workers/src/NotificationWorker.d.ts.map +0 -1
  283. package/packages/workers/src/NotificationWorker.js +0 -23
  284. package/packages/workers/src/Observability.d.ts +0 -154
  285. package/packages/workers/src/Observability.d.ts.map +0 -1
  286. package/packages/workers/src/Observability.js +0 -538
  287. package/packages/workers/src/PluginManager.d.ts +0 -124
  288. package/packages/workers/src/PluginManager.d.ts.map +0 -1
  289. package/packages/workers/src/PluginManager.js +0 -392
  290. package/packages/workers/src/PriorityQueue.d.ts +0 -118
  291. package/packages/workers/src/PriorityQueue.d.ts.map +0 -1
  292. package/packages/workers/src/PriorityQueue.js +0 -276
  293. package/packages/workers/src/ResourceMonitor.d.ts +0 -165
  294. package/packages/workers/src/ResourceMonitor.d.ts.map +0 -1
  295. package/packages/workers/src/ResourceMonitor.js +0 -632
  296. package/packages/workers/src/SLAMonitor.d.ts +0 -111
  297. package/packages/workers/src/SLAMonitor.d.ts.map +0 -1
  298. package/packages/workers/src/SLAMonitor.js +0 -274
  299. package/packages/workers/src/WorkerFactory.d.ts +0 -226
  300. package/packages/workers/src/WorkerFactory.d.ts.map +0 -1
  301. package/packages/workers/src/WorkerFactory.js +0 -2551
  302. package/packages/workers/src/WorkerInit.d.ts +0 -103
  303. package/packages/workers/src/WorkerInit.d.ts.map +0 -1
  304. package/packages/workers/src/WorkerInit.js +0 -359
  305. package/packages/workers/src/WorkerMetrics.d.ts +0 -116
  306. package/packages/workers/src/WorkerMetrics.d.ts.map +0 -1
  307. package/packages/workers/src/WorkerMetrics.js +0 -570
  308. package/packages/workers/src/WorkerRegistry.d.ts +0 -152
  309. package/packages/workers/src/WorkerRegistry.d.ts.map +0 -1
  310. package/packages/workers/src/WorkerRegistry.js +0 -396
  311. package/packages/workers/src/WorkerShutdown.d.ts +0 -70
  312. package/packages/workers/src/WorkerShutdown.d.ts.map +0 -1
  313. package/packages/workers/src/WorkerShutdown.js +0 -185
  314. package/packages/workers/src/WorkerVersioning.d.ts +0 -108
  315. package/packages/workers/src/WorkerVersioning.d.ts.map +0 -1
  316. package/packages/workers/src/WorkerVersioning.js +0 -300
  317. package/packages/workers/src/config/workerConfig.d.ts +0 -5
  318. package/packages/workers/src/config/workerConfig.d.ts.map +0 -1
  319. package/packages/workers/src/config/workerConfig.js +0 -25
  320. package/packages/workers/src/createQueueWorker.d.ts +0 -31
  321. package/packages/workers/src/createQueueWorker.d.ts.map +0 -1
  322. package/packages/workers/src/createQueueWorker.js +0 -382
  323. package/packages/workers/src/dashboard/index.d.ts +0 -2
  324. package/packages/workers/src/dashboard/index.d.ts.map +0 -1
  325. package/packages/workers/src/dashboard/index.js +0 -1
  326. package/packages/workers/src/dashboard/types.d.ts +0 -123
  327. package/packages/workers/src/dashboard/types.d.ts.map +0 -1
  328. package/packages/workers/src/dashboard/types.js +0 -1
  329. package/packages/workers/src/dashboard/workers-api.d.ts +0 -5
  330. package/packages/workers/src/dashboard/workers-api.d.ts.map +0 -1
  331. package/packages/workers/src/dashboard/workers-api.js +0 -776
  332. package/packages/workers/src/helper/index.d.ts +0 -6
  333. package/packages/workers/src/helper/index.d.ts.map +0 -1
  334. package/packages/workers/src/helper/index.js +0 -10
  335. package/packages/workers/src/http/WorkerApiController.d.ts +0 -39
  336. package/packages/workers/src/http/WorkerApiController.d.ts.map +0 -1
  337. package/packages/workers/src/http/WorkerApiController.js +0 -313
  338. package/packages/workers/src/http/WorkerController.d.ts +0 -375
  339. package/packages/workers/src/http/WorkerController.d.ts.map +0 -1
  340. package/packages/workers/src/http/WorkerController.js +0 -1454
  341. package/packages/workers/src/http/WorkerMonitoringService.d.ts +0 -12
  342. package/packages/workers/src/http/WorkerMonitoringService.d.ts.map +0 -1
  343. package/packages/workers/src/http/WorkerMonitoringService.js +0 -89
  344. package/packages/workers/src/http/middleware/CustomValidation.d.ts +0 -93
  345. package/packages/workers/src/http/middleware/CustomValidation.d.ts.map +0 -1
  346. package/packages/workers/src/http/middleware/CustomValidation.js +0 -270
  347. package/packages/workers/src/http/middleware/DatacenterValidator.d.ts +0 -4
  348. package/packages/workers/src/http/middleware/DatacenterValidator.d.ts.map +0 -1
  349. package/packages/workers/src/http/middleware/DatacenterValidator.js +0 -94
  350. package/packages/workers/src/http/middleware/EditWorkerValidation.d.ts +0 -8
  351. package/packages/workers/src/http/middleware/EditWorkerValidation.d.ts.map +0 -1
  352. package/packages/workers/src/http/middleware/EditWorkerValidation.js +0 -56
  353. package/packages/workers/src/http/middleware/FeaturesValidator.d.ts +0 -4
  354. package/packages/workers/src/http/middleware/FeaturesValidator.d.ts.map +0 -1
  355. package/packages/workers/src/http/middleware/FeaturesValidator.js +0 -61
  356. package/packages/workers/src/http/middleware/InfrastructureValidator.d.ts +0 -32
  357. package/packages/workers/src/http/middleware/InfrastructureValidator.d.ts.map +0 -1
  358. package/packages/workers/src/http/middleware/InfrastructureValidator.js +0 -226
  359. package/packages/workers/src/http/middleware/OptionsValidator.d.ts +0 -4
  360. package/packages/workers/src/http/middleware/OptionsValidator.d.ts.map +0 -1
  361. package/packages/workers/src/http/middleware/OptionsValidator.js +0 -112
  362. package/packages/workers/src/http/middleware/PayloadSanitizer.d.ts +0 -8
  363. package/packages/workers/src/http/middleware/PayloadSanitizer.d.ts.map +0 -1
  364. package/packages/workers/src/http/middleware/PayloadSanitizer.js +0 -42
  365. package/packages/workers/src/http/middleware/ProcessorPathSanitizer.d.ts +0 -4
  366. package/packages/workers/src/http/middleware/ProcessorPathSanitizer.d.ts.map +0 -1
  367. package/packages/workers/src/http/middleware/ProcessorPathSanitizer.js +0 -140
  368. package/packages/workers/src/http/middleware/QueueNameSanitizer.d.ts +0 -4
  369. package/packages/workers/src/http/middleware/QueueNameSanitizer.d.ts.map +0 -1
  370. package/packages/workers/src/http/middleware/QueueNameSanitizer.js +0 -45
  371. package/packages/workers/src/http/middleware/ValidateDriver.d.ts +0 -8
  372. package/packages/workers/src/http/middleware/ValidateDriver.d.ts.map +0 -1
  373. package/packages/workers/src/http/middleware/ValidateDriver.js +0 -20
  374. package/packages/workers/src/http/middleware/VersionSanitizer.d.ts +0 -4
  375. package/packages/workers/src/http/middleware/VersionSanitizer.d.ts.map +0 -1
  376. package/packages/workers/src/http/middleware/VersionSanitizer.js +0 -25
  377. package/packages/workers/src/http/middleware/WorkerNameSanitizer.d.ts +0 -4
  378. package/packages/workers/src/http/middleware/WorkerNameSanitizer.d.ts.map +0 -1
  379. package/packages/workers/src/http/middleware/WorkerNameSanitizer.js +0 -46
  380. package/packages/workers/src/http/middleware/WorkerValidationChain.d.ts +0 -28
  381. package/packages/workers/src/http/middleware/WorkerValidationChain.d.ts.map +0 -1
  382. package/packages/workers/src/http/middleware/WorkerValidationChain.js +0 -186
  383. package/packages/workers/src/index.d.ts +0 -47
  384. package/packages/workers/src/index.d.ts.map +0 -1
  385. package/packages/workers/src/index.js +0 -48
  386. package/packages/workers/src/register.d.ts +0 -10
  387. package/packages/workers/src/register.d.ts.map +0 -1
  388. package/packages/workers/src/register.js +0 -43
  389. package/packages/workers/src/routes/workers.d.ts +0 -13
  390. package/packages/workers/src/routes/workers.d.ts.map +0 -1
  391. package/packages/workers/src/routes/workers.js +0 -126
  392. package/packages/workers/src/storage/WorkerStore.d.ts +0 -52
  393. package/packages/workers/src/storage/WorkerStore.d.ts.map +0 -1
  394. package/packages/workers/src/storage/WorkerStore.js +0 -259
  395. package/packages/workers/src/telemetry/api/TelemetryAPI.d.ts +0 -47
  396. package/packages/workers/src/telemetry/api/TelemetryAPI.d.ts.map +0 -1
  397. package/packages/workers/src/telemetry/api/TelemetryAPI.js +0 -219
  398. package/packages/workers/src/telemetry/api/TelemetryMonitoringService.d.ts +0 -18
  399. package/packages/workers/src/telemetry/api/TelemetryMonitoringService.d.ts.map +0 -1
  400. package/packages/workers/src/telemetry/api/TelemetryMonitoringService.js +0 -140
  401. package/packages/workers/src/telemetry/components/AlertPanel.d.ts +0 -2
  402. package/packages/workers/src/telemetry/components/AlertPanel.d.ts.map +0 -1
  403. package/packages/workers/src/telemetry/components/AlertPanel.js +0 -13
  404. package/packages/workers/src/telemetry/components/CostTracking.d.ts +0 -2
  405. package/packages/workers/src/telemetry/components/CostTracking.d.ts.map +0 -1
  406. package/packages/workers/src/telemetry/components/CostTracking.js +0 -14
  407. package/packages/workers/src/telemetry/components/ResourceUsageChart.d.ts +0 -2
  408. package/packages/workers/src/telemetry/components/ResourceUsageChart.d.ts.map +0 -1
  409. package/packages/workers/src/telemetry/components/ResourceUsageChart.js +0 -11
  410. package/packages/workers/src/telemetry/components/WorkerHealthChart.d.ts +0 -2
  411. package/packages/workers/src/telemetry/components/WorkerHealthChart.d.ts.map +0 -1
  412. package/packages/workers/src/telemetry/components/WorkerHealthChart.js +0 -11
  413. package/packages/workers/src/telemetry/index.d.ts +0 -16
  414. package/packages/workers/src/telemetry/index.d.ts.map +0 -1
  415. package/packages/workers/src/telemetry/index.js +0 -60
  416. package/packages/workers/src/telemetry/routes/dashboard.d.ts +0 -7
  417. package/packages/workers/src/telemetry/routes/dashboard.d.ts.map +0 -1
  418. package/packages/workers/src/telemetry/routes/dashboard.js +0 -608
  419. package/packages/workers/src/type.d.ts +0 -77
  420. package/packages/workers/src/type.d.ts.map +0 -1
  421. package/packages/workers/src/type.js +0 -1
  422. package/packages/workers/src/ui/router/EmbeddedAssets.d.ts +0 -5
  423. package/packages/workers/src/ui/router/EmbeddedAssets.d.ts.map +0 -1
  424. package/packages/workers/src/ui/router/EmbeddedAssets.js +0 -13
  425. package/packages/workers/src/ui/router/ui.d.ts +0 -4
  426. package/packages/workers/src/ui/router/ui.d.ts.map +0 -1
  427. package/packages/workers/src/ui/router/ui.js +0 -208
  428. package/packages/workers/src/ui/types/worker-ui.d.ts +0 -230
  429. package/packages/workers/src/ui/types/worker-ui.d.ts.map +0 -1
  430. package/packages/workers/src/ui/types/worker-ui.js +0 -5
  431. package/routes/DirectTestRoutes.d.ts +0 -25
  432. package/routes/DirectTestRoutes.d.ts.map +0 -1
  433. package/routes/DirectTestRoutes.js +0 -480
  434. package/routes/TestRoutes.d.ts +0 -11
  435. package/routes/TestRoutes.d.ts.map +0 -1
  436. package/routes/TestRoutes.js +0 -25
  437. package/routes/api.d.ts +0 -7
  438. package/routes/api.d.ts.map +0 -1
  439. package/routes/api.js +0 -136
  440. package/routes/apiDev.d.ts +0 -7
  441. package/routes/apiDev.d.ts.map +0 -1
  442. package/routes/apiDev.js +0 -92
  443. package/routes/broadcast.d.ts +0 -9
  444. package/routes/broadcast.d.ts.map +0 -1
  445. package/routes/broadcast.js +0 -27
  446. package/routes/mail.d.ts +0 -12
  447. package/routes/mail.d.ts.map +0 -1
  448. package/routes/mail.js +0 -138
  449. package/routes/storage.d.ts +0 -4
  450. package/routes/storage.d.ts.map +0 -1
  451. package/routes/storage.js +0 -35
  452. package/start.d.ts +0 -1
  453. package/start.js +0 -1
@@ -1,152 +0,0 @@
1
- /**
2
- * Worker Registry
3
- * Central registry for all background workers with lifecycle management
4
- * Sealed namespace for immutability
5
- */
6
- import { type WorkerConfig, type WorkerStatus } from '../../../src/index.js';
7
- export type WorkerMetadata = {
8
- name: string;
9
- status: WorkerStatus;
10
- version: string;
11
- region: string;
12
- queueName: string;
13
- concurrency: number;
14
- activeStatus?: boolean;
15
- startedAt: Date | null;
16
- stoppedAt: Date | null;
17
- lastProcessedAt: Date | null;
18
- restartCount: number;
19
- processedCount: number;
20
- errorCount: number;
21
- lockKey: string | null;
22
- priority: number;
23
- memoryUsage: number;
24
- cpuUsage: number;
25
- circuitState: 'closed' | 'open' | 'half-open';
26
- queues: ReadonlyArray<string>;
27
- plugins: ReadonlyArray<string>;
28
- datacenter: string;
29
- canaryPercentage: number;
30
- config: Partial<WorkerConfig>;
31
- };
32
- export type WorkerInstance = {
33
- metadata: WorkerMetadata;
34
- instance: unknown;
35
- start: () => void;
36
- stop: () => Promise<void>;
37
- drain: () => Promise<void>;
38
- sleep: () => Promise<void>;
39
- wakeup: () => void;
40
- getStatus: () => WorkerStatus;
41
- getHealth: () => 'green' | 'yellow' | 'red';
42
- };
43
- export type RegisterWorkerOptions = {
44
- name: string;
45
- config: Partial<WorkerConfig>;
46
- activeStatus?: boolean;
47
- version?: string;
48
- region?: string;
49
- queues?: ReadonlyArray<string>;
50
- factory: () => Promise<WorkerInstance>;
51
- };
52
- export type WorkerRegistrySnapshot = {
53
- timestamp: Date;
54
- totalWorkers: number;
55
- runningWorkers: number;
56
- stoppedWorkers: number;
57
- sleepingWorkers: number;
58
- unhealthyWorkers: number;
59
- workers: ReadonlyArray<{
60
- name: string;
61
- status: WorkerStatus;
62
- health: 'green' | 'yellow' | 'red';
63
- uptime: number | null;
64
- processedCount: number;
65
- errorCount: number;
66
- }>;
67
- };
68
- /**
69
- * Worker Registry - Sealed namespace
70
- */
71
- export declare const WorkerRegistry: Readonly<{
72
- /**
73
- * Register a worker with the registry
74
- */
75
- register(options: RegisterWorkerOptions): void;
76
- /**
77
- * Start a worker
78
- */
79
- start(name: string, version?: string): Promise<void>;
80
- /**
81
- * Stop a worker
82
- */
83
- stop(name: string): Promise<void>;
84
- /**
85
- * Restart a worker (stop + start)
86
- */
87
- restart(name: string): Promise<void>;
88
- /**
89
- * Sleep a worker (pause processing but keep lock)
90
- */
91
- sleep(name: string): Promise<void>;
92
- /**
93
- * Wakeup a worker (resume from sleep)
94
- */
95
- wakeup(name: string): Promise<void>;
96
- /**
97
- * Get worker status
98
- */
99
- status(name: string): WorkerMetadata | null;
100
- /**
101
- * List all registered workers
102
- */
103
- list(): ReadonlyArray<string>;
104
- /**
105
- * Update active status for a registered worker
106
- */
107
- setActiveStatus(name: string, activeStatus: boolean): void;
108
- /**
109
- * List all running workers
110
- */
111
- listRunning(): ReadonlyArray<string>;
112
- /**
113
- * Stop all running workers
114
- */
115
- stopAll(): Promise<void>;
116
- /**
117
- * Get worker metrics
118
- */
119
- getMetrics(name: string): Pick<WorkerMetadata, "processedCount" | "errorCount" | "memoryUsage" | "cpuUsage"> | null;
120
- /**
121
- * Get worker health status
122
- */
123
- getHealth(name: string): "green" | "yellow" | "red" | null;
124
- /**
125
- * Get registry snapshot
126
- */
127
- getSnapshot(): WorkerRegistrySnapshot;
128
- /**
129
- * Get worker topology (cluster view)
130
- */
131
- getTopology(): Record<string, {
132
- workers: string[];
133
- count: number;
134
- }>;
135
- /**
136
- * Unregister a worker and clear its instance
137
- */
138
- unregister(name: string): void;
139
- /**
140
- * Check if worker is registered
141
- */
142
- isRegistered(name: string): boolean;
143
- /**
144
- * Check if worker is running
145
- */
146
- isRunning(name: string): boolean;
147
- /**
148
- * Get worker instance (internal use)
149
- */
150
- getInstance(name: string): WorkerInstance | null;
151
- }>;
152
- //# sourceMappingURL=WorkerRegistry.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"WorkerRegistry.d.ts","sourceRoot":"","sources":["../../../../packages/workers/src/WorkerRegistry.ts"],"names":[],"mappings":"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"}
@@ -1,396 +0,0 @@
1
- /**
2
- * Worker Registry
3
- * Central registry for all background workers with lifecycle management
4
- * Sealed namespace for immutability
5
- */
6
- import { ErrorFactory, Logger } from '../../../src/index.js';
7
- import { AnomalyDetection } from './AnomalyDetection.js';
8
- // Internal storage
9
- const workers = new Map();
10
- const registrations = new Map();
11
- // Cleanup configuration
12
- const STOPPED_WORKER_CLEANUP_DELAY = 5 * 60 * 1000; // 5 minutes
13
- const cleanupTimers = new Map();
14
- const isUnrefableTimer = (value) => {
15
- if (typeof value !== 'object' || value === null)
16
- return false;
17
- return 'unref' in value && typeof value.unref === 'function';
18
- };
19
- /**
20
- * Helper: Schedule cleanup of stopped worker
21
- */
22
- const scheduleStoppedWorkerCleanup = (name) => {
23
- // Clear existing timer if any
24
- const existingTimer = cleanupTimers.get(name);
25
- if (existingTimer) {
26
- clearTimeout(existingTimer);
27
- }
28
- // Schedule new cleanup with proper cleanup handling
29
- // eslint-disable-next-line no-restricted-syntax
30
- const timer = setTimeout(() => {
31
- try {
32
- const instance = workers.get(name);
33
- if (instance && instance.metadata.status === 'stopped') {
34
- Logger.info(`Auto-cleaning up stopped worker: ${name}`);
35
- workers.delete(name);
36
- registrations.delete(name);
37
- }
38
- }
39
- catch (error) {
40
- Logger.error(`Error during auto-cleanup of worker ${name}`, error);
41
- }
42
- finally {
43
- cleanupTimers.delete(name);
44
- }
45
- }, STOPPED_WORKER_CLEANUP_DELAY);
46
- if (isUnrefableTimer(timer)) {
47
- timer.unref();
48
- }
49
- cleanupTimers.set(name, timer);
50
- };
51
- /**
52
- * Helper: Cancel cleanup timer
53
- */
54
- const cancelCleanupTimer = (name) => {
55
- const timer = cleanupTimers.get(name);
56
- if (timer) {
57
- clearTimeout(timer);
58
- cleanupTimers.delete(name);
59
- }
60
- };
61
- /**
62
- * Helper: Calculate uptime in seconds
63
- */
64
- const calculateUptime = (startedAt) => {
65
- if (!startedAt)
66
- return null;
67
- return Math.floor((Date.now() - startedAt.getTime()) / 1000);
68
- };
69
- /**
70
- * Helper: Validate worker name
71
- */
72
- const validateWorkerName = (name) => {
73
- if (!name || typeof name !== 'string') {
74
- throw ErrorFactory.createWorkerError('Worker name must be a non-empty string');
75
- }
76
- if (!/^[a-z0-9-]+$/.test(name)) {
77
- throw ErrorFactory.createWorkerError('Worker name must contain only lowercase letters, numbers, and hyphens');
78
- }
79
- };
80
- /**
81
- * Worker Registry - Sealed namespace
82
- */
83
- export const WorkerRegistry = Object.freeze({
84
- /**
85
- * Register a worker with the registry
86
- */
87
- register(options) {
88
- validateWorkerName(options.name);
89
- if (registrations.has(options.name)) {
90
- Logger.warn(`Worker "${options.name}" is already registered. Skipping.`);
91
- return;
92
- }
93
- registrations.set(options.name, options);
94
- Logger.info(`Worker "${options.name}" registered successfully`);
95
- },
96
- /**
97
- * Start a worker
98
- */
99
- async start(name, version) {
100
- validateWorkerName(name);
101
- const registration = registrations.get(name);
102
- if (!registration) {
103
- throw ErrorFactory.createWorkerError(`Worker "${name}" is not registered`);
104
- }
105
- if (registration.activeStatus === false) {
106
- throw ErrorFactory.createWorkerError(`Worker "${name}" is inactive`);
107
- }
108
- if (workers.has(name)) {
109
- const existing = workers.get(name);
110
- if (existing?.metadata.status === 'running') {
111
- Logger.warn(`Worker "${name}" is already running`);
112
- return;
113
- }
114
- }
115
- const versionSuffix = version === undefined ? '' : ` version ${version}`;
116
- Logger.info(`Starting worker "${name}"${versionSuffix}...`);
117
- try {
118
- const instance = await registration.factory();
119
- instance.metadata.status = 'starting';
120
- instance.metadata.version = version ?? '1.0.0';
121
- // Cancel any pending cleanup timer when worker restarts
122
- cancelCleanupTimer(name);
123
- workers.set(name, instance);
124
- instance.start();
125
- instance.metadata.status = 'running';
126
- instance.metadata.startedAt = new Date();
127
- instance.metadata.stoppedAt = null;
128
- Logger.info(`Worker "${name}" started successfully`);
129
- }
130
- catch (error) {
131
- Logger.error(`Failed to start worker "${name}"`, error);
132
- throw error;
133
- }
134
- },
135
- /**
136
- * Stop a worker
137
- */
138
- async stop(name) {
139
- validateWorkerName(name);
140
- const instance = workers.get(name);
141
- if (!instance) {
142
- Logger.warn(`Worker "${name}" is not running`);
143
- return;
144
- }
145
- if (instance.metadata.status === 'stopped') {
146
- Logger.warn(`Worker "${name}" is already stopped`);
147
- return;
148
- }
149
- Logger.info(`Stopping worker "${name}"...`);
150
- try {
151
- instance.metadata.status = 'stopping';
152
- await instance.stop();
153
- instance.metadata.status = 'stopped';
154
- instance.metadata.stoppedAt = new Date();
155
- AnomalyDetection.cleanup(name);
156
- // Schedule automatic cleanup for stopped worker
157
- scheduleStoppedWorkerCleanup(name);
158
- Logger.info(`Worker "${name}" stopped successfully`);
159
- }
160
- catch (error) {
161
- Logger.error(`Failed to stop worker "${name}"`, error);
162
- throw error;
163
- }
164
- },
165
- /**
166
- * Restart a worker (stop + start)
167
- */
168
- async restart(name) {
169
- validateWorkerName(name);
170
- const instance = workers.get(name);
171
- if (instance) {
172
- await WorkerRegistry.stop(name);
173
- instance.metadata.restartCount += 1;
174
- }
175
- await WorkerRegistry.start(name);
176
- Logger.info(`Worker "${name}" restarted successfully`);
177
- },
178
- /**
179
- * Sleep a worker (pause processing but keep lock)
180
- */
181
- async sleep(name) {
182
- validateWorkerName(name);
183
- const instance = workers.get(name);
184
- if (!instance) {
185
- throw ErrorFactory.createWorkerError(`Worker "${name}" is not running`);
186
- }
187
- if (instance.metadata.status === 'sleeping') {
188
- Logger.warn(`Worker "${name}" is already sleeping`);
189
- return;
190
- }
191
- Logger.info(`Putting worker "${name}" to sleep...`);
192
- try {
193
- await instance.sleep();
194
- instance.metadata.status = 'sleeping';
195
- Logger.info(`Worker "${name}" is now sleeping`);
196
- }
197
- catch (error) {
198
- Logger.error(`Failed to sleep worker "${name}"`, error);
199
- throw error;
200
- }
201
- },
202
- /**
203
- * Wakeup a worker (resume from sleep)
204
- */
205
- async wakeup(name) {
206
- validateWorkerName(name);
207
- const instance = workers.get(name);
208
- if (!instance) {
209
- throw ErrorFactory.createWorkerError(`Worker "${name}" is not found`);
210
- }
211
- if (instance.metadata.status !== 'sleeping') {
212
- Logger.warn(`Worker "${name}" is not sleeping (status: ${instance.metadata.status})`);
213
- return;
214
- }
215
- Logger.info(`Waking up worker "${name}"...`);
216
- try {
217
- instance.wakeup();
218
- instance.metadata.status = 'running';
219
- Logger.info(`Worker "${name}" is now awake and running`);
220
- }
221
- catch (error) {
222
- Logger.error(`Failed to wake up worker "${name}"`, error);
223
- throw error;
224
- }
225
- },
226
- /**
227
- * Get worker status
228
- */
229
- status(name) {
230
- validateWorkerName(name);
231
- const instance = workers.get(name);
232
- if (!instance) {
233
- return null;
234
- }
235
- return { ...instance.metadata };
236
- },
237
- /**
238
- * List all registered workers
239
- */
240
- list() {
241
- const names = [];
242
- for (const [name, registration] of registrations.entries()) {
243
- if (registration.activeStatus === false)
244
- continue;
245
- names.push(name);
246
- }
247
- return names;
248
- },
249
- /**
250
- * Update active status for a registered worker
251
- */
252
- setActiveStatus(name, activeStatus) {
253
- const registration = registrations.get(name);
254
- if (!registration)
255
- return;
256
- registrations.set(name, { ...registration, activeStatus });
257
- },
258
- /**
259
- * List all running workers
260
- */
261
- listRunning() {
262
- const running = [];
263
- for (const [name, instance] of workers.entries()) {
264
- if (instance.metadata.status === 'running') {
265
- running.push(name);
266
- }
267
- }
268
- return running;
269
- },
270
- /**
271
- * Stop all running workers
272
- */
273
- async stopAll() {
274
- Logger.info('Stopping all running workers...');
275
- const running = WorkerRegistry.listRunning();
276
- const tasks = running.map(async (name) => WorkerRegistry.stop(name));
277
- try {
278
- await Promise.all(tasks);
279
- Logger.info(`Stopped ${running.length} workers successfully`);
280
- }
281
- catch (error) {
282
- Logger.error('Failed to stop some workers', error);
283
- throw error;
284
- }
285
- },
286
- /**
287
- * Get worker metrics
288
- */
289
- getMetrics(name) {
290
- validateWorkerName(name);
291
- const instance = workers.get(name);
292
- if (!instance) {
293
- return null;
294
- }
295
- return {
296
- processedCount: instance.metadata.processedCount,
297
- errorCount: instance.metadata.errorCount,
298
- memoryUsage: instance.metadata.memoryUsage,
299
- cpuUsage: instance.metadata.cpuUsage,
300
- };
301
- },
302
- /**
303
- * Get worker health status
304
- */
305
- getHealth(name) {
306
- validateWorkerName(name);
307
- const instance = workers.get(name);
308
- if (!instance) {
309
- return null;
310
- }
311
- return instance.getHealth();
312
- },
313
- /**
314
- * Get registry snapshot
315
- */
316
- getSnapshot() {
317
- const allWorkers = Array.from(workers.entries()).map(([name, instance]) => ({
318
- name,
319
- status: instance.metadata.status,
320
- health: instance.getHealth(),
321
- uptime: calculateUptime(instance.metadata.startedAt),
322
- processedCount: instance.metadata.processedCount,
323
- errorCount: instance.metadata.errorCount,
324
- }));
325
- const statusCounts = allWorkers.reduce((acc, w) => {
326
- if (w.status === 'running')
327
- acc.running++;
328
- else if (w.status === 'stopped')
329
- acc.stopped++;
330
- else if (w.status === 'sleeping')
331
- acc.sleeping++;
332
- if (w.health === 'red')
333
- acc.unhealthy++;
334
- return acc;
335
- }, { running: 0, stopped: 0, sleeping: 0, unhealthy: 0 });
336
- return {
337
- timestamp: new Date(),
338
- totalWorkers: registrations.size,
339
- runningWorkers: statusCounts.running,
340
- stoppedWorkers: statusCounts.stopped,
341
- sleepingWorkers: statusCounts.sleeping,
342
- unhealthyWorkers: statusCounts.unhealthy,
343
- workers: allWorkers,
344
- };
345
- },
346
- /**
347
- * Get worker topology (cluster view)
348
- */
349
- getTopology() {
350
- const topology = {};
351
- for (const [name, instance] of workers.entries()) {
352
- const region = instance.metadata.region;
353
- if (topology[region].count <= 0) {
354
- topology[region] = { workers: [], count: 0 };
355
- }
356
- topology[region].workers.push(name);
357
- topology[region].count++;
358
- }
359
- return topology;
360
- },
361
- /**
362
- * Unregister a worker and clear its instance
363
- */
364
- unregister(name) {
365
- validateWorkerName(name);
366
- const instance = workers.get(name);
367
- if (instance?.metadata.status === 'running') {
368
- Logger.warn(`Worker "${name}" is still running during unregister`);
369
- }
370
- // Cancel any pending cleanup timer
371
- cancelCleanupTimer(name);
372
- workers.delete(name);
373
- registrations.delete(name);
374
- AnomalyDetection.cleanup(name);
375
- Logger.info(`Worker "${name}" unregistered`);
376
- },
377
- /**
378
- * Check if worker is registered
379
- */
380
- isRegistered(name) {
381
- return registrations.has(name);
382
- },
383
- /**
384
- * Check if worker is running
385
- */
386
- isRunning(name) {
387
- const instance = workers.get(name);
388
- return instance?.metadata.status === 'running';
389
- },
390
- /**
391
- * Get worker instance (internal use)
392
- */
393
- getInstance(name) {
394
- return workers.get(name) ?? null;
395
- },
396
- });
@@ -1,70 +0,0 @@
1
- /**
2
- * Worker Shutdown Coordinator
3
- *
4
- * Centralized graceful shutdown handling for the worker management system.
5
- * Coordinates orderly shutdown of all worker modules and the WorkerFactory.
6
- */
7
- export interface IShutdownOptions {
8
- /**
9
- * Timeout for graceful shutdown in milliseconds
10
- */
11
- timeout?: number;
12
- /**
13
- * Whether to force exit after timeout
14
- */
15
- forceExit?: boolean;
16
- /**
17
- * Signal that triggered shutdown (SIGTERM, SIGINT, etc.)
18
- */
19
- signal?: string;
20
- }
21
- interface IShutdownState {
22
- isShuttingDown: boolean;
23
- completedAt: Date | null;
24
- startedAt: Date | null;
25
- reason: string | null;
26
- }
27
- /**
28
- * Perform graceful shutdown of all worker modules
29
- */
30
- declare function shutdown(options?: IShutdownOptions): Promise<void>;
31
- /**
32
- * Register process signal handlers for graceful shutdown
33
- */
34
- declare function registerShutdownHandlers(): void;
35
- /**
36
- * Unregister process signal handlers (for hot reload/testing)
37
- */
38
- declare function unregisterShutdownHandlers(): void;
39
- /**
40
- * Check if system is currently shutting down
41
- */
42
- declare function isShuttingDown(): boolean;
43
- /**
44
- * Get current shutdown state
45
- */
46
- declare function getShutdownState(): Readonly<IShutdownState>;
47
- export declare const WorkerShutdown: Readonly<{
48
- /**
49
- * Perform graceful shutdown of all worker modules
50
- */
51
- shutdown: typeof shutdown;
52
- /**
53
- * Register process signal handlers for graceful shutdown
54
- */
55
- registerShutdownHandlers: typeof registerShutdownHandlers;
56
- /**
57
- * Unregister process signal handlers (for hot reload/testing)
58
- */
59
- unregisterShutdownHandlers: typeof unregisterShutdownHandlers;
60
- /**
61
- * Check if system is currently shutting down
62
- */
63
- isShuttingDown: typeof isShuttingDown;
64
- /**
65
- * Get current shutdown state
66
- */
67
- getShutdownState: typeof getShutdownState;
68
- }>;
69
- export {};
70
- //# sourceMappingURL=WorkerShutdown.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"WorkerShutdown.d.ts","sourceRoot":"","sources":["../../../../packages/workers/src/WorkerShutdown.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AASH,MAAM,WAAW,gBAAgB;IAC/B;;OAEG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IAEjB;;OAEG;IACH,SAAS,CAAC,EAAE,OAAO,CAAC;IAEpB;;OAEG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,UAAU,cAAc;IACtB,cAAc,EAAE,OAAO,CAAC;IACxB,WAAW,EAAE,IAAI,GAAG,IAAI,CAAC;IACzB,SAAS,EAAE,IAAI,GAAG,IAAI,CAAC;IACvB,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;CACvB;AAsBD;;GAEG;AACH,iBAAe,QAAQ,CAAC,OAAO,GAAE,gBAAqB,GAAG,OAAO,CAAC,IAAI,CAAC,CAiDrE;AAED;;GAEG;AACH,iBAAS,wBAAwB,IAAI,IAAI,CA8DxC;AAED;;GAEG;AACH,iBAAS,0BAA0B,IAAI,IAAI,CAiB1C;AAED;;GAEG;AACH,iBAAS,cAAc,IAAI,OAAO,CAEjC;AAED;;GAEG;AACH,iBAAS,gBAAgB,IAAI,QAAQ,CAAC,cAAc,CAAC,CAEpD;AAMD,eAAO,MAAM,cAAc;IACzB;;OAEG;;IAGH;;OAEG;;IAGH;;OAEG;;IAGH;;OAEG;;IAGH;;OAEG;;EAEH,CAAC"}