@zintrust/core 0.1.49 → 0.1.51

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (350) hide show
  1. package/bin/z.js +0 -0
  2. package/bin/zin.js +0 -0
  3. package/bin/zintrust.js +0 -0
  4. package/bin/zt.js +0 -0
  5. package/package.json +1 -9
  6. package/src/boot/bootstrap.js +2 -6
  7. package/src/boot/registry/runtime.d.ts.map +1 -1
  8. package/src/boot/registry/runtime.js +6 -1
  9. package/src/cli/scaffolding/ProjectScaffolder.d.ts.map +1 -1
  10. package/src/cli/scaffolding/ProjectScaffolder.js +27 -50
  11. package/src/cli/scaffolding/env.d.ts +2 -0
  12. package/src/cli/scaffolding/env.d.ts.map +1 -0
  13. package/src/cli/scaffolding/env.js +549 -0
  14. package/src/cli/utils/EnvFileLoader.js +1 -1
  15. package/src/config/index.d.ts +1 -1
  16. package/src/config/index.d.ts.map +1 -1
  17. package/src/config/index.js +30 -10
  18. package/src/config/logger.d.ts.map +1 -1
  19. package/src/config/logger.js +56 -9
  20. package/src/index.d.ts +0 -2
  21. package/src/index.d.ts.map +1 -1
  22. package/src/index.js +3 -5
  23. package/src/proxy/d1/ZintrustD1Proxy.d.ts +2 -2
  24. package/src/proxy/d1/ZintrustD1Proxy.d.ts.map +1 -1
  25. package/src/proxy/d1/ZintrustD1Proxy.js +39 -2
  26. package/src/proxy/kv/ZintrustKvProxy.d.ts +2 -2
  27. package/src/proxy/kv/ZintrustKvProxy.d.ts.map +1 -1
  28. package/src/proxy/kv/ZintrustKvProxy.js +38 -2
  29. package/src/runtime/PluginAutoImports.js +1 -1
  30. package/src/runtime/WorkersModule.d.ts.map +1 -1
  31. package/src/runtime/WorkersModule.js +66 -0
  32. package/src/security/JwtManager.js +1 -1
  33. package/app/Controllers/AuthController.d.ts +0 -10
  34. package/app/Controllers/AuthController.d.ts.map +0 -1
  35. package/app/Controllers/AuthController.js +0 -223
  36. package/app/Controllers/UserController.d.ts +0 -9
  37. package/app/Controllers/UserController.d.ts.map +0 -1
  38. package/app/Controllers/UserController.js +0 -8
  39. package/app/Controllers/UserQueryBuilderController.d.ts +0 -16
  40. package/app/Controllers/UserQueryBuilderController.d.ts.map +0 -1
  41. package/app/Controllers/UserQueryBuilderController.js +0 -404
  42. package/app/Middleware/ProfilerMiddleware.d.ts +0 -12
  43. package/app/Middleware/ProfilerMiddleware.d.ts.map +0 -1
  44. package/app/Middleware/ProfilerMiddleware.js +0 -47
  45. package/app/Middleware/index.d.ts +0 -59
  46. package/app/Middleware/index.d.ts.map +0 -1
  47. package/app/Middleware/index.js +0 -215
  48. package/app/Models/Post.d.ts +0 -14
  49. package/app/Models/Post.d.ts.map +0 -1
  50. package/app/Models/Post.js +0 -27
  51. package/app/Models/User.d.ts +0 -14
  52. package/app/Models/User.d.ts.map +0 -1
  53. package/app/Models/User.js +0 -44
  54. package/app/Schedules/JobTracking.d.ts +0 -3
  55. package/app/Schedules/JobTracking.d.ts.map +0 -1
  56. package/app/Schedules/JobTracking.js +0 -13
  57. package/app/Schedules/index.d.ts +0 -2
  58. package/app/Schedules/index.d.ts.map +0 -1
  59. package/app/Schedules/index.js +0 -1
  60. package/app/Toolkit/Broadcast/sendBroadcast.d.ts +0 -6
  61. package/app/Toolkit/Broadcast/sendBroadcast.d.ts.map +0 -1
  62. package/app/Toolkit/Broadcast/sendBroadcast.js +0 -5
  63. package/app/Toolkit/Mail/sendWelcomeEmail.d.ts +0 -6
  64. package/app/Toolkit/Mail/sendWelcomeEmail.d.ts.map +0 -1
  65. package/app/Toolkit/Mail/sendWelcomeEmail.js +0 -20
  66. package/app/Toolkit/Notification/sendSlackNotification.d.ts +0 -8
  67. package/app/Toolkit/Notification/sendSlackNotification.d.ts.map +0 -1
  68. package/app/Toolkit/Notification/sendSlackNotification.js +0 -5
  69. package/app/Toolkit/Notification/sendSms.d.ts +0 -6
  70. package/app/Toolkit/Notification/sendSms.d.ts.map +0 -1
  71. package/app/Toolkit/Notification/sendSms.js +0 -5
  72. package/app/Types/controller.d.ts +0 -44
  73. package/app/Types/controller.d.ts.map +0 -1
  74. package/app/Types/controller.js +0 -1
  75. package/config/broadcast.d.ts +0 -38
  76. package/config/broadcast.d.ts.map +0 -1
  77. package/config/broadcast.js +0 -37
  78. package/config/cache.d.ts +0 -40
  79. package/config/cache.d.ts.map +0 -1
  80. package/config/cache.js +0 -39
  81. package/config/database.d.ts +0 -58
  82. package/config/database.d.ts.map +0 -1
  83. package/config/database.js +0 -65
  84. package/config/mail.d.ts +0 -51
  85. package/config/mail.d.ts.map +0 -1
  86. package/config/mail.js +0 -69
  87. package/config/middleware.d.ts +0 -11
  88. package/config/middleware.d.ts.map +0 -1
  89. package/config/middleware.js +0 -30
  90. package/config/notification.d.ts +0 -33
  91. package/config/notification.d.ts.map +0 -1
  92. package/config/notification.js +0 -33
  93. package/config/queue.d.ts +0 -55
  94. package/config/queue.d.ts.map +0 -1
  95. package/config/queue.js +0 -87
  96. package/config/storage.d.ts +0 -59
  97. package/config/storage.d.ts.map +0 -1
  98. package/config/storage.js +0 -59
  99. package/config/workers.d.ts +0 -54
  100. package/config/workers.d.ts.map +0 -1
  101. package/config/workers.js +0 -83
  102. package/packages/cloudflare-d1-proxy/src/index.d.ts +0 -48
  103. package/packages/cloudflare-d1-proxy/src/index.d.ts.map +0 -1
  104. package/packages/cloudflare-d1-proxy/src/index.js +0 -387
  105. package/packages/cloudflare-kv-proxy/src/index.d.ts +0 -44
  106. package/packages/cloudflare-kv-proxy/src/index.d.ts.map +0 -1
  107. package/packages/cloudflare-kv-proxy/src/index.js +0 -325
  108. package/packages/queue-monitor/src/QueueMonitoringService.d.ts +0 -35
  109. package/packages/queue-monitor/src/QueueMonitoringService.d.ts.map +0 -1
  110. package/packages/queue-monitor/src/QueueMonitoringService.js +0 -194
  111. package/packages/queue-monitor/src/connection.d.ts +0 -3
  112. package/packages/queue-monitor/src/connection.d.ts.map +0 -1
  113. package/packages/queue-monitor/src/connection.js +0 -1
  114. package/packages/queue-monitor/src/dashboard-ui.d.ts +0 -7
  115. package/packages/queue-monitor/src/dashboard-ui.d.ts.map +0 -1
  116. package/packages/queue-monitor/src/dashboard-ui.js +0 -997
  117. package/packages/queue-monitor/src/driver.d.ts +0 -15
  118. package/packages/queue-monitor/src/driver.d.ts.map +0 -1
  119. package/packages/queue-monitor/src/driver.js +0 -115
  120. package/packages/queue-monitor/src/index.d.ts +0 -71
  121. package/packages/queue-monitor/src/index.d.ts.map +0 -1
  122. package/packages/queue-monitor/src/index.js +0 -296
  123. package/packages/queue-monitor/src/metrics.d.ts +0 -27
  124. package/packages/queue-monitor/src/metrics.d.ts.map +0 -1
  125. package/packages/queue-monitor/src/metrics.js +0 -92
  126. package/packages/queue-monitor/src/worker.d.ts +0 -8
  127. package/packages/queue-monitor/src/worker.d.ts.map +0 -1
  128. package/packages/queue-monitor/src/worker.js +0 -35
  129. package/packages/queue-redis/src/BullMQRedisQueue.d.ts +0 -26
  130. package/packages/queue-redis/src/BullMQRedisQueue.d.ts.map +0 -1
  131. package/packages/queue-redis/src/BullMQRedisQueue.js +0 -463
  132. package/packages/queue-redis/src/HttpQueueDriver.d.ts +0 -18
  133. package/packages/queue-redis/src/HttpQueueDriver.d.ts.map +0 -1
  134. package/packages/queue-redis/src/HttpQueueDriver.js +0 -249
  135. package/packages/queue-redis/src/QueueHttpGateway.d.ts +0 -16
  136. package/packages/queue-redis/src/QueueHttpGateway.d.ts.map +0 -1
  137. package/packages/queue-redis/src/QueueHttpGateway.js +0 -217
  138. package/packages/queue-redis/src/RedisPublishClient.d.ts +0 -14
  139. package/packages/queue-redis/src/RedisPublishClient.d.ts.map +0 -1
  140. package/packages/queue-redis/src/RedisPublishClient.js +0 -251
  141. package/packages/queue-redis/src/index.d.ts +0 -12
  142. package/packages/queue-redis/src/index.d.ts.map +0 -1
  143. package/packages/queue-redis/src/index.js +0 -10
  144. package/packages/queue-redis/src/register.d.ts +0 -6
  145. package/packages/queue-redis/src/register.d.ts.map +0 -1
  146. package/packages/queue-redis/src/register.js +0 -21
  147. package/packages/workers/migrations/20260119100000_create_zintrust_workers_table.d.ts +0 -11
  148. package/packages/workers/migrations/20260119100000_create_zintrust_workers_table.d.ts.map +0 -1
  149. package/packages/workers/migrations/20260119100000_create_zintrust_workers_table.js +0 -32
  150. package/packages/workers/migrations/20260123180000_create_queue_jobs_table.d.ts +0 -11
  151. package/packages/workers/migrations/20260123180000_create_queue_jobs_table.d.ts.map +0 -1
  152. package/packages/workers/migrations/20260123180000_create_queue_jobs_table.js +0 -46
  153. package/packages/workers/migrations/20260213142000_create_zintrust_job_tracking_tables.d.ts +0 -7
  154. package/packages/workers/migrations/20260213142000_create_zintrust_job_tracking_tables.d.ts.map +0 -1
  155. package/packages/workers/migrations/20260213142000_create_zintrust_job_tracking_tables.js +0 -44
  156. package/packages/workers/migrations/20260213183000_expand_zintrust_job_tracking_reliability_tables.d.ts +0 -7
  157. package/packages/workers/migrations/20260213183000_expand_zintrust_job_tracking_reliability_tables.d.ts.map +0 -1
  158. package/packages/workers/migrations/20260213183000_expand_zintrust_job_tracking_reliability_tables.js +0 -104
  159. package/packages/workers/src/AnomalyDetection.d.ts +0 -107
  160. package/packages/workers/src/AnomalyDetection.d.ts.map +0 -1
  161. package/packages/workers/src/AnomalyDetection.js +0 -329
  162. package/packages/workers/src/AutoScaler.d.ts +0 -128
  163. package/packages/workers/src/AutoScaler.d.ts.map +0 -1
  164. package/packages/workers/src/AutoScaler.js +0 -425
  165. package/packages/workers/src/BroadcastWorker.d.ts +0 -24
  166. package/packages/workers/src/BroadcastWorker.d.ts.map +0 -1
  167. package/packages/workers/src/BroadcastWorker.js +0 -24
  168. package/packages/workers/src/CanaryController.d.ts +0 -104
  169. package/packages/workers/src/CanaryController.d.ts.map +0 -1
  170. package/packages/workers/src/CanaryController.js +0 -424
  171. package/packages/workers/src/ChaosEngineering.d.ts +0 -80
  172. package/packages/workers/src/ChaosEngineering.d.ts.map +0 -1
  173. package/packages/workers/src/ChaosEngineering.js +0 -229
  174. package/packages/workers/src/CircuitBreaker.d.ts +0 -107
  175. package/packages/workers/src/CircuitBreaker.d.ts.map +0 -1
  176. package/packages/workers/src/CircuitBreaker.js +0 -374
  177. package/packages/workers/src/ClusterLock.d.ts +0 -91
  178. package/packages/workers/src/ClusterLock.d.ts.map +0 -1
  179. package/packages/workers/src/ClusterLock.js +0 -397
  180. package/packages/workers/src/ComplianceManager.d.ts +0 -178
  181. package/packages/workers/src/ComplianceManager.d.ts.map +0 -1
  182. package/packages/workers/src/ComplianceManager.js +0 -556
  183. package/packages/workers/src/DatacenterOrchestrator.d.ts +0 -134
  184. package/packages/workers/src/DatacenterOrchestrator.d.ts.map +0 -1
  185. package/packages/workers/src/DatacenterOrchestrator.js +0 -404
  186. package/packages/workers/src/DeadLetterQueue.d.ts +0 -123
  187. package/packages/workers/src/DeadLetterQueue.d.ts.map +0 -1
  188. package/packages/workers/src/DeadLetterQueue.js +0 -544
  189. package/packages/workers/src/HealthMonitor.d.ts +0 -43
  190. package/packages/workers/src/HealthMonitor.d.ts.map +0 -1
  191. package/packages/workers/src/HealthMonitor.js +0 -312
  192. package/packages/workers/src/MultiQueueWorker.d.ts +0 -90
  193. package/packages/workers/src/MultiQueueWorker.d.ts.map +0 -1
  194. package/packages/workers/src/MultiQueueWorker.js +0 -282
  195. package/packages/workers/src/NotificationWorker.d.ts +0 -24
  196. package/packages/workers/src/NotificationWorker.d.ts.map +0 -1
  197. package/packages/workers/src/NotificationWorker.js +0 -23
  198. package/packages/workers/src/Observability.d.ts +0 -154
  199. package/packages/workers/src/Observability.d.ts.map +0 -1
  200. package/packages/workers/src/Observability.js +0 -538
  201. package/packages/workers/src/PluginManager.d.ts +0 -124
  202. package/packages/workers/src/PluginManager.d.ts.map +0 -1
  203. package/packages/workers/src/PluginManager.js +0 -392
  204. package/packages/workers/src/PriorityQueue.d.ts +0 -118
  205. package/packages/workers/src/PriorityQueue.d.ts.map +0 -1
  206. package/packages/workers/src/PriorityQueue.js +0 -276
  207. package/packages/workers/src/ResourceMonitor.d.ts +0 -165
  208. package/packages/workers/src/ResourceMonitor.d.ts.map +0 -1
  209. package/packages/workers/src/ResourceMonitor.js +0 -632
  210. package/packages/workers/src/SLAMonitor.d.ts +0 -111
  211. package/packages/workers/src/SLAMonitor.d.ts.map +0 -1
  212. package/packages/workers/src/SLAMonitor.js +0 -274
  213. package/packages/workers/src/WorkerFactory.d.ts +0 -218
  214. package/packages/workers/src/WorkerFactory.d.ts.map +0 -1
  215. package/packages/workers/src/WorkerFactory.js +0 -2253
  216. package/packages/workers/src/WorkerInit.d.ts +0 -86
  217. package/packages/workers/src/WorkerInit.d.ts.map +0 -1
  218. package/packages/workers/src/WorkerInit.js +0 -307
  219. package/packages/workers/src/WorkerMetrics.d.ts +0 -116
  220. package/packages/workers/src/WorkerMetrics.d.ts.map +0 -1
  221. package/packages/workers/src/WorkerMetrics.js +0 -570
  222. package/packages/workers/src/WorkerRegistry.d.ts +0 -152
  223. package/packages/workers/src/WorkerRegistry.d.ts.map +0 -1
  224. package/packages/workers/src/WorkerRegistry.js +0 -396
  225. package/packages/workers/src/WorkerShutdown.d.ts +0 -70
  226. package/packages/workers/src/WorkerShutdown.d.ts.map +0 -1
  227. package/packages/workers/src/WorkerShutdown.js +0 -185
  228. package/packages/workers/src/WorkerVersioning.d.ts +0 -108
  229. package/packages/workers/src/WorkerVersioning.d.ts.map +0 -1
  230. package/packages/workers/src/WorkerVersioning.js +0 -300
  231. package/packages/workers/src/config/workerConfig.d.ts +0 -5
  232. package/packages/workers/src/config/workerConfig.d.ts.map +0 -1
  233. package/packages/workers/src/config/workerConfig.js +0 -25
  234. package/packages/workers/src/createQueueWorker.d.ts +0 -26
  235. package/packages/workers/src/createQueueWorker.d.ts.map +0 -1
  236. package/packages/workers/src/createQueueWorker.js +0 -367
  237. package/packages/workers/src/dashboard/index.d.ts +0 -2
  238. package/packages/workers/src/dashboard/index.d.ts.map +0 -1
  239. package/packages/workers/src/dashboard/index.js +0 -1
  240. package/packages/workers/src/dashboard/types.d.ts +0 -123
  241. package/packages/workers/src/dashboard/types.d.ts.map +0 -1
  242. package/packages/workers/src/dashboard/types.js +0 -1
  243. package/packages/workers/src/dashboard/workers-api.d.ts +0 -5
  244. package/packages/workers/src/dashboard/workers-api.d.ts.map +0 -1
  245. package/packages/workers/src/dashboard/workers-api.js +0 -738
  246. package/packages/workers/src/helper/index.d.ts +0 -6
  247. package/packages/workers/src/helper/index.d.ts.map +0 -1
  248. package/packages/workers/src/helper/index.js +0 -10
  249. package/packages/workers/src/http/WorkerApiController.d.ts +0 -39
  250. package/packages/workers/src/http/WorkerApiController.d.ts.map +0 -1
  251. package/packages/workers/src/http/WorkerApiController.js +0 -313
  252. package/packages/workers/src/http/WorkerController.d.ts +0 -375
  253. package/packages/workers/src/http/WorkerController.d.ts.map +0 -1
  254. package/packages/workers/src/http/WorkerController.js +0 -1454
  255. package/packages/workers/src/http/WorkerMonitoringService.d.ts +0 -12
  256. package/packages/workers/src/http/WorkerMonitoringService.d.ts.map +0 -1
  257. package/packages/workers/src/http/WorkerMonitoringService.js +0 -89
  258. package/packages/workers/src/http/middleware/CustomValidation.d.ts +0 -93
  259. package/packages/workers/src/http/middleware/CustomValidation.d.ts.map +0 -1
  260. package/packages/workers/src/http/middleware/CustomValidation.js +0 -270
  261. package/packages/workers/src/http/middleware/DatacenterValidator.d.ts +0 -4
  262. package/packages/workers/src/http/middleware/DatacenterValidator.d.ts.map +0 -1
  263. package/packages/workers/src/http/middleware/DatacenterValidator.js +0 -94
  264. package/packages/workers/src/http/middleware/EditWorkerValidation.d.ts +0 -8
  265. package/packages/workers/src/http/middleware/EditWorkerValidation.d.ts.map +0 -1
  266. package/packages/workers/src/http/middleware/EditWorkerValidation.js +0 -56
  267. package/packages/workers/src/http/middleware/FeaturesValidator.d.ts +0 -4
  268. package/packages/workers/src/http/middleware/FeaturesValidator.d.ts.map +0 -1
  269. package/packages/workers/src/http/middleware/FeaturesValidator.js +0 -61
  270. package/packages/workers/src/http/middleware/InfrastructureValidator.d.ts +0 -32
  271. package/packages/workers/src/http/middleware/InfrastructureValidator.d.ts.map +0 -1
  272. package/packages/workers/src/http/middleware/InfrastructureValidator.js +0 -226
  273. package/packages/workers/src/http/middleware/OptionsValidator.d.ts +0 -4
  274. package/packages/workers/src/http/middleware/OptionsValidator.d.ts.map +0 -1
  275. package/packages/workers/src/http/middleware/OptionsValidator.js +0 -112
  276. package/packages/workers/src/http/middleware/PayloadSanitizer.d.ts +0 -8
  277. package/packages/workers/src/http/middleware/PayloadSanitizer.d.ts.map +0 -1
  278. package/packages/workers/src/http/middleware/PayloadSanitizer.js +0 -42
  279. package/packages/workers/src/http/middleware/ProcessorPathSanitizer.d.ts +0 -4
  280. package/packages/workers/src/http/middleware/ProcessorPathSanitizer.d.ts.map +0 -1
  281. package/packages/workers/src/http/middleware/ProcessorPathSanitizer.js +0 -140
  282. package/packages/workers/src/http/middleware/QueueNameSanitizer.d.ts +0 -4
  283. package/packages/workers/src/http/middleware/QueueNameSanitizer.d.ts.map +0 -1
  284. package/packages/workers/src/http/middleware/QueueNameSanitizer.js +0 -45
  285. package/packages/workers/src/http/middleware/ValidateDriver.d.ts +0 -8
  286. package/packages/workers/src/http/middleware/ValidateDriver.d.ts.map +0 -1
  287. package/packages/workers/src/http/middleware/ValidateDriver.js +0 -20
  288. package/packages/workers/src/http/middleware/VersionSanitizer.d.ts +0 -4
  289. package/packages/workers/src/http/middleware/VersionSanitizer.d.ts.map +0 -1
  290. package/packages/workers/src/http/middleware/VersionSanitizer.js +0 -25
  291. package/packages/workers/src/http/middleware/WorkerNameSanitizer.d.ts +0 -4
  292. package/packages/workers/src/http/middleware/WorkerNameSanitizer.d.ts.map +0 -1
  293. package/packages/workers/src/http/middleware/WorkerNameSanitizer.js +0 -46
  294. package/packages/workers/src/http/middleware/WorkerValidationChain.d.ts +0 -28
  295. package/packages/workers/src/http/middleware/WorkerValidationChain.d.ts.map +0 -1
  296. package/packages/workers/src/http/middleware/WorkerValidationChain.js +0 -186
  297. package/packages/workers/src/index.d.ts +0 -47
  298. package/packages/workers/src/index.d.ts.map +0 -1
  299. package/packages/workers/src/index.js +0 -48
  300. package/packages/workers/src/routes/workers.d.ts +0 -13
  301. package/packages/workers/src/routes/workers.d.ts.map +0 -1
  302. package/packages/workers/src/routes/workers.js +0 -126
  303. package/packages/workers/src/storage/WorkerStore.d.ts +0 -52
  304. package/packages/workers/src/storage/WorkerStore.d.ts.map +0 -1
  305. package/packages/workers/src/storage/WorkerStore.js +0 -259
  306. package/packages/workers/src/telemetry/api/TelemetryAPI.d.ts +0 -47
  307. package/packages/workers/src/telemetry/api/TelemetryAPI.d.ts.map +0 -1
  308. package/packages/workers/src/telemetry/api/TelemetryAPI.js +0 -219
  309. package/packages/workers/src/telemetry/api/TelemetryMonitoringService.d.ts +0 -18
  310. package/packages/workers/src/telemetry/api/TelemetryMonitoringService.d.ts.map +0 -1
  311. package/packages/workers/src/telemetry/api/TelemetryMonitoringService.js +0 -140
  312. package/packages/workers/src/telemetry/components/AlertPanel.d.ts +0 -2
  313. package/packages/workers/src/telemetry/components/AlertPanel.d.ts.map +0 -1
  314. package/packages/workers/src/telemetry/components/AlertPanel.js +0 -13
  315. package/packages/workers/src/telemetry/components/CostTracking.d.ts +0 -2
  316. package/packages/workers/src/telemetry/components/CostTracking.d.ts.map +0 -1
  317. package/packages/workers/src/telemetry/components/CostTracking.js +0 -14
  318. package/packages/workers/src/telemetry/components/ResourceUsageChart.d.ts +0 -2
  319. package/packages/workers/src/telemetry/components/ResourceUsageChart.d.ts.map +0 -1
  320. package/packages/workers/src/telemetry/components/ResourceUsageChart.js +0 -11
  321. package/packages/workers/src/telemetry/components/WorkerHealthChart.d.ts +0 -2
  322. package/packages/workers/src/telemetry/components/WorkerHealthChart.d.ts.map +0 -1
  323. package/packages/workers/src/telemetry/components/WorkerHealthChart.js +0 -11
  324. package/packages/workers/src/telemetry/index.d.ts +0 -16
  325. package/packages/workers/src/telemetry/index.d.ts.map +0 -1
  326. package/packages/workers/src/telemetry/index.js +0 -60
  327. package/packages/workers/src/telemetry/routes/dashboard.d.ts +0 -7
  328. package/packages/workers/src/telemetry/routes/dashboard.d.ts.map +0 -1
  329. package/packages/workers/src/telemetry/routes/dashboard.js +0 -608
  330. package/packages/workers/src/type.d.ts +0 -77
  331. package/packages/workers/src/type.d.ts.map +0 -1
  332. package/packages/workers/src/type.js +0 -1
  333. package/packages/workers/src/ui/router/EmbeddedAssets.d.ts +0 -5
  334. package/packages/workers/src/ui/router/EmbeddedAssets.d.ts.map +0 -1
  335. package/packages/workers/src/ui/router/EmbeddedAssets.js +0 -13
  336. package/packages/workers/src/ui/router/ui.d.ts +0 -4
  337. package/packages/workers/src/ui/router/ui.d.ts.map +0 -1
  338. package/packages/workers/src/ui/router/ui.js +0 -208
  339. package/packages/workers/src/ui/types/worker-ui.d.ts +0 -230
  340. package/packages/workers/src/ui/types/worker-ui.d.ts.map +0 -1
  341. package/packages/workers/src/ui/types/worker-ui.js +0 -5
  342. package/routes/api.d.ts +0 -7
  343. package/routes/api.d.ts.map +0 -1
  344. package/routes/api.js +0 -136
  345. package/routes/broadcast.d.ts +0 -9
  346. package/routes/broadcast.d.ts.map +0 -1
  347. package/routes/broadcast.js +0 -27
  348. package/routes/storage.d.ts +0 -4
  349. package/routes/storage.d.ts.map +0 -1
  350. package/routes/storage.js +0 -35
@@ -1,52 +0,0 @@
1
- /**
2
- * Worker Store
3
- * Persistence layer for workers (memory, redis, db)
4
- */
5
- import type { createRedisConnection } from '../../../../src/index.js';
6
- import { type IDatabase } from '../../../../src/index.js';
7
- type RedisConnection = ReturnType<typeof createRedisConnection>;
8
- export type WorkerRecord = {
9
- name: string;
10
- queueName: string;
11
- version: string | null;
12
- status: string;
13
- autoStart: boolean;
14
- concurrency: number;
15
- region: string | null;
16
- processorSpec?: string | null;
17
- activeStatus?: boolean;
18
- features?: Record<string, unknown> | null;
19
- infrastructure?: Record<string, unknown> | null;
20
- datacenter?: Record<string, unknown> | null;
21
- createdAt: Date;
22
- updatedAt: Date;
23
- lastHealthCheck?: Date;
24
- lastError?: string;
25
- connectionState?: 'disconnected' | 'connecting' | 'connected' | 'error';
26
- };
27
- export type WorkerStore = {
28
- init(): Promise<void>;
29
- list(options?: {
30
- offset?: number;
31
- limit?: number;
32
- search?: string;
33
- includeInactive?: boolean;
34
- }): Promise<WorkerRecord[]>;
35
- get(name: string): Promise<WorkerRecord | null>;
36
- save(record: WorkerRecord): Promise<void>;
37
- update(name: string, patch: Partial<WorkerRecord>): Promise<void>;
38
- updateMany?: (names: string[], patch: Partial<WorkerRecord>) => Promise<void>;
39
- remove(name: string): Promise<void>;
40
- close?(): Promise<void>;
41
- };
42
- export declare const InMemoryWorkerStore: Readonly<{
43
- create(): WorkerStore;
44
- }>;
45
- export declare const RedisWorkerStore: Readonly<{
46
- create(client: RedisConnection, keyPrefix?: string): WorkerStore;
47
- }>;
48
- export declare const DbWorkerStore: Readonly<{
49
- create(db: IDatabase, table?: string): WorkerStore;
50
- }>;
51
- export {};
52
- //# sourceMappingURL=WorkerStore.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"WorkerStore.d.ts","sourceRoot":"","sources":["../../../../../packages/workers/src/storage/WorkerStore.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,gBAAgB,CAAC;AAC5D,OAAO,EAAE,KAAK,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAEhD,KAAK,eAAe,GAAG,UAAU,CAAC,OAAO,qBAAqB,CAAC,CAAC;AAEhE,MAAM,MAAM,YAAY,GAAG;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,OAAO,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,aAAa,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC;IAC1C,cAAc,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC;IAChD,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC;IAC5C,SAAS,EAAE,IAAI,CAAC;IAChB,SAAS,EAAE,IAAI,CAAC;IAChB,eAAe,CAAC,EAAE,IAAI,CAAC;IACvB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,eAAe,CAAC,EAAE,cAAc,GAAG,YAAY,GAAG,WAAW,GAAG,OAAO,CAAC;CACzE,CAAC;AAEF,MAAM,MAAM,WAAW,GAAG;IACxB,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IACtB,IAAI,CAAC,OAAO,CAAC,EAAE;QACb,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,eAAe,CAAC,EAAE,OAAO,CAAC;KAC3B,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC,CAAC;IAC5B,GAAG,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,GAAG,IAAI,CAAC,CAAC;IAChD,IAAI,CAAC,MAAM,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC1C,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,CAAC,YAAY,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAClE,UAAU,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,KAAK,EAAE,OAAO,CAAC,YAAY,CAAC,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAC9E,MAAM,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACpC,KAAK,CAAC,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CACzB,CAAC;AAgFF,eAAO,MAAM,mBAAmB;cACpB,WAAW;EA0CrB,CAAC;AAEH,eAAO,MAAM,gBAAgB;mBACZ,eAAe,uBAAmC,WAAW;EA2E5E,CAAC;AAEH,eAAO,MAAM,aAAa;eACb,SAAS,mBAA+B,WAAW;EA2D9D,CAAC"}
@@ -1,259 +0,0 @@
1
- /**
2
- * Worker Store
3
- * Persistence layer for workers (memory, redis, db)
4
- */
5
- const now = () => new Date();
6
- const mergeRecord = (current, patch) => ({
7
- ...current,
8
- ...patch,
9
- updatedAt: patch.updatedAt ?? now(),
10
- });
11
- const toSqlDateTime = (value) => {
12
- if (!value)
13
- return null;
14
- // Use UTC and drop timezone for SQL DATETIME compatibility
15
- return value.toISOString().slice(0, 19).replace('T', ' ');
16
- };
17
- const serializeDbWorker = (record) => ({
18
- name: record.name,
19
- queue_name: record.queueName,
20
- version: record.version,
21
- status: record.status,
22
- auto_start: record.autoStart,
23
- concurrency: record.concurrency,
24
- region: record.region,
25
- processor_spec: record.processorSpec ?? null,
26
- active_status: record.activeStatus ?? true,
27
- features: record.features ? JSON.stringify(record.features) : null,
28
- infrastructure: record.infrastructure ? JSON.stringify(record.infrastructure) : null,
29
- datacenter: record.datacenter ? JSON.stringify(record.datacenter) : null,
30
- created_at: toSqlDateTime(record.createdAt),
31
- updated_at: toSqlDateTime(record.updatedAt),
32
- last_health_check: toSqlDateTime(record.lastHealthCheck ?? null),
33
- last_error: record.lastError ?? null,
34
- connection_state: record.connectionState ?? null,
35
- });
36
- const getHealthCheck = (row) => {
37
- if (!row['last_health_check']) {
38
- return undefined;
39
- }
40
- return row['last_health_check'] instanceof Date
41
- ? row['last_health_check']
42
- : new Date(String(row['last_health_check']));
43
- };
44
- const deserializeDbWorker = (row) => {
45
- const parseJson = (value) => {
46
- if (typeof value !== 'string' || value.trim() === '')
47
- return null;
48
- try {
49
- return JSON.parse(value);
50
- }
51
- catch {
52
- return null;
53
- }
54
- };
55
- return {
56
- name: String(row['name'] ?? ''),
57
- queueName: String(row['queue_name'] ?? ''),
58
- version: row['version'] ? String(row['version']) : null,
59
- status: String(row['status'] ?? 'unknown'),
60
- autoStart: Boolean(row['auto_start'] ?? false),
61
- concurrency: Number(row['concurrency'] ?? 0),
62
- region: row['region'] ? String(row['region']) : null,
63
- processorSpec: String(row['processor_spec']),
64
- activeStatus: row['active_status'] === undefined ? true : Boolean(row['active_status']),
65
- features: parseJson(row['features']),
66
- infrastructure: parseJson(row['infrastructure']),
67
- datacenter: parseJson(row['datacenter']),
68
- createdAt: row['created_at'] instanceof Date ? row['created_at'] : new Date(String(row['created_at'])),
69
- updatedAt: row['updated_at'] instanceof Date ? row['updated_at'] : new Date(String(row['updated_at'])),
70
- lastHealthCheck: getHealthCheck(row),
71
- lastError: row['last_error'] ? String(row['last_error']) : undefined,
72
- connectionState: row['connection_state']
73
- ? String(row['connection_state'])
74
- : undefined,
75
- };
76
- };
77
- export const InMemoryWorkerStore = Object.freeze({
78
- create() {
79
- const store = new Map();
80
- return {
81
- async init() {
82
- return undefined;
83
- },
84
- async list(options) {
85
- let values = Array.from(store.values());
86
- if (options) {
87
- const start = options.offset || 0;
88
- const end = options.limit ? start + options.limit : undefined;
89
- values = values.slice(start, end);
90
- }
91
- return values;
92
- },
93
- async get(name) {
94
- return store.get(name) ?? null;
95
- },
96
- async save(record) {
97
- store.set(record.name, record);
98
- },
99
- async update(name, patch) {
100
- const current = store.get(name);
101
- if (!current)
102
- return;
103
- store.set(name, mergeRecord(current, patch));
104
- },
105
- async updateMany(names, patch) {
106
- for (const name of names) {
107
- const current = store.get(name);
108
- if (!current)
109
- continue;
110
- store.set(name, mergeRecord(current, patch));
111
- }
112
- },
113
- async remove(name) {
114
- store.delete(name);
115
- },
116
- async close() {
117
- // No-op for memory store
118
- },
119
- };
120
- },
121
- });
122
- export const RedisWorkerStore = Object.freeze({
123
- create(client, keyPrefix = 'workers:registry') {
124
- const key = keyPrefix;
125
- const serialize = (record) => JSON.stringify({
126
- ...record,
127
- createdAt: record.createdAt.toISOString(),
128
- updatedAt: record.updatedAt.toISOString(),
129
- });
130
- const deserialize = (raw) => {
131
- const parsed = JSON.parse(raw);
132
- return {
133
- ...parsed,
134
- createdAt: new Date(parsed.createdAt),
135
- updatedAt: new Date(parsed.updatedAt),
136
- };
137
- };
138
- return {
139
- async init() {
140
- return undefined;
141
- },
142
- async list(options) {
143
- const all = await client.hgetall(key);
144
- let values = Object.values(all).map((element) => deserialize(element));
145
- values.sort((a, b) => a.name.localeCompare(b.name));
146
- if (options) {
147
- const start = options.offset || 0;
148
- const end = options.limit ? start + options.limit : undefined;
149
- values = values.slice(start, end);
150
- }
151
- return values;
152
- },
153
- async get(name) {
154
- const raw = await client.hget(key, name);
155
- return raw ? deserialize(raw) : null;
156
- },
157
- async save(record) {
158
- await client.hset(key, record.name, serialize(record));
159
- },
160
- async update(name, patch) {
161
- const current = await this.get(name);
162
- if (!current)
163
- return;
164
- await client.hset(key, name, serialize(mergeRecord(current, patch)));
165
- },
166
- async updateMany(names, patch) {
167
- if (names.length === 0)
168
- return;
169
- const entries = await client.hmget(key, ...names);
170
- const updates = [];
171
- entries.forEach((raw, index) => {
172
- if (!raw)
173
- return;
174
- const current = deserialize(raw);
175
- const updated = mergeRecord(current, patch);
176
- updates.push(names[index], serialize(updated));
177
- });
178
- if (updates.length === 0)
179
- return;
180
- await client.hset(key, ...updates);
181
- },
182
- async close() {
183
- try {
184
- // Force disconnect in Cloudflare env to avoid hanging on quit()
185
- client.disconnect();
186
- }
187
- catch {
188
- // Ignore connection errors during cleanup
189
- }
190
- },
191
- async remove(name) {
192
- await client.hdel(key, name);
193
- },
194
- };
195
- },
196
- });
197
- export const DbWorkerStore = Object.freeze({
198
- create(db, table = 'zintrust_workers') {
199
- return {
200
- async init() {
201
- return undefined;
202
- },
203
- async list(options) {
204
- const query = db.table(table);
205
- if (options?.limit)
206
- query.limit(options.limit);
207
- if (options?.offset)
208
- query.offset(options.offset);
209
- const rows = await query.get();
210
- return rows.map((element) => deserializeDbWorker(element));
211
- },
212
- async get(name) {
213
- const row = await db.table(table).where('name', '=', name).first();
214
- return row ? deserializeDbWorker(row) : null;
215
- },
216
- async save(record) {
217
- const existing = await db
218
- .table(table)
219
- .where('name', '=', record.name)
220
- .first();
221
- if (existing) {
222
- await db.table(table).where('name', '=', record.name).update(serializeDbWorker(record));
223
- return;
224
- }
225
- await db.table(table).insert(serializeDbWorker(record));
226
- },
227
- async update(name, patch) {
228
- const current = await this.get(name);
229
- if (!current)
230
- return;
231
- const updated = mergeRecord(current, patch);
232
- await db.table(table).where('name', '=', name).update(serializeDbWorker(updated));
233
- },
234
- async updateMany(names, patch) {
235
- if (names.length === 0)
236
- return;
237
- const update = {
238
- updated_at: toSqlDateTime(patch.updatedAt ?? now()),
239
- };
240
- if (patch.status !== undefined)
241
- update['status'] = patch.status;
242
- if (patch.lastError !== undefined)
243
- update['last_error'] = patch.lastError ?? null;
244
- if (patch.lastHealthCheck !== undefined)
245
- update['last_health_check'] = toSqlDateTime(patch.lastHealthCheck ?? null);
246
- if (patch.connectionState !== undefined)
247
- update['connection_state'] = patch.connectionState ?? null;
248
- await db.table(table).whereIn('name', names).update(update);
249
- },
250
- async remove(name) {
251
- await db.table(table).where('name', '=', name).delete();
252
- },
253
- async close() {
254
- // Database clients often managed by pool, but if needed:
255
- // await db.destroy?.();
256
- },
257
- };
258
- },
259
- });
@@ -1,47 +0,0 @@
1
- export type TelemetrySettings = {
2
- enabled: boolean;
3
- basePath: string;
4
- middleware: ReadonlyArray<string>;
5
- autoRefresh: boolean;
6
- refreshIntervalMs: number;
7
- };
8
- export type ResourceCurrentResponse = {
9
- ok: boolean;
10
- usage?: unknown;
11
- };
12
- export type SystemSummaryResponse = {
13
- ok: boolean;
14
- summary?: unknown;
15
- };
16
- export type ApiResponse<T> = {
17
- ok: boolean;
18
- error?: string;
19
- } & T;
20
- export type AlertRep = {
21
- type: string;
22
- severity: string;
23
- message: string;
24
- timestamp: string;
25
- recommendation?: string;
26
- };
27
- export declare const TelemetryAPI: Readonly<{
28
- getSystemSummary(): Promise<ApiResponse<{
29
- summary: unknown;
30
- }>>;
31
- getMonitoringSummary(): Promise<ApiResponse<{
32
- summary: unknown;
33
- }>>;
34
- getResourceCurrent(): Promise<ApiResponse<{
35
- usage: unknown;
36
- }>>;
37
- getResourceTrends(): Promise<ApiResponse<{
38
- trends: unknown;
39
- }>>;
40
- }>;
41
- export declare function createSnapshotBuilder(): () => Promise<{
42
- ok: boolean;
43
- summary: unknown;
44
- resources: unknown;
45
- cost: unknown;
46
- }>;
47
- //# sourceMappingURL=TelemetryAPI.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"TelemetryAPI.d.ts","sourceRoot":"","sources":["../../../../../../packages/workers/src/telemetry/api/TelemetryAPI.ts"],"names":[],"mappings":"AAOA,MAAM,MAAM,iBAAiB,GAAG;IAC9B,OAAO,EAAE,OAAO,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,aAAa,CAAC,MAAM,CAAC,CAAC;IAClC,WAAW,EAAE,OAAO,CAAC;IACrB,iBAAiB,EAAE,MAAM,CAAC;CAC3B,CAAC;AAEF,MAAM,MAAM,uBAAuB,GAAG;IAAE,EAAE,EAAE,OAAO,CAAC;IAAC,KAAK,CAAC,EAAE,OAAO,CAAA;CAAE,CAAC;AACvE,MAAM,MAAM,qBAAqB,GAAG;IAAE,EAAE,EAAE,OAAO,CAAC;IAAC,OAAO,CAAC,EAAE,OAAO,CAAA;CAAE,CAAC;AAQvE,MAAM,MAAM,WAAW,CAAC,CAAC,IAAI;IAAE,EAAE,EAAE,OAAO,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,GAAG,CAAC,CAAC;AACjE,MAAM,MAAM,QAAQ,GAAG;IACrB,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB,CAAC;AA+IF,eAAO,MAAM,YAAY;wBACG,OAAO,CAAC,WAAW,CAAC;QAAE,OAAO,EAAE,OAAO,CAAA;KAAE,CAAC,CAAC;4BAuCtC,OAAO,CAAC,WAAW,CAAC;QAAE,OAAO,EAAE,OAAO,CAAA;KAAE,CAAC,CAAC;0BAc5C,OAAO,CAAC,WAAW,CAAC;QAAE,KAAK,EAAE,OAAO,CAAA;KAAE,CAAC,CAAC;yBAczC,OAAO,CAAC,WAAW,CAAC;QAAE,MAAM,EAAE,OAAO,CAAA;KAAE,CAAC,CAAC;EAapE,CAAC;AAEH,wBAAgB,qBAAqB,UAClB,OAAO,CAAC;IACvB,EAAE,EAAE,OAAO,CAAC;IACZ,OAAO,EAAE,OAAO,CAAC;IACjB,SAAS,EAAE,OAAO,CAAC;IACnB,IAAI,EAAE,OAAO,CAAC;CACf,CAAC,CA4BH"}
@@ -1,219 +0,0 @@
1
- import { Logger } from '../../../../../src/index.js';
2
- import { getWorkers } from '../../dashboard/workers-api.js';
3
- import { HealthMonitor } from '../../HealthMonitor.js';
4
- import { ResourceMonitor } from '../../ResourceMonitor.js';
5
- const isOkWithUsage = (value) => value.ok === true && 'usage' in value;
6
- const isOkWithSummary = (value) => value.ok === true && 'summary' in value;
7
- // Helper function to create stopped worker alert
8
- const createStoppedWorkerAlert = (worker) => ({
9
- type: 'worker-stopped',
10
- severity: 'warning',
11
- message: `Worker ${worker.name} is stopped`,
12
- timestamp: worker.health?.lastCheck || new Date().toISOString(),
13
- });
14
- // Helper function to create health check alert
15
- const createHealthCheckAlert = (worker) => {
16
- const check = worker.health?.checks?.[0];
17
- if (!check)
18
- return null;
19
- return {
20
- type: 'health-check-failed',
21
- severity: check.status === 'fail' ? 'critical' : 'warning',
22
- message: check.message || `Health check failed: ${check.name}`,
23
- timestamp: worker.health?.lastCheck || new Date().toISOString(),
24
- };
25
- };
26
- // Helper function to generate worker alerts
27
- const generateWorkerAlerts = (workers) => {
28
- return workers
29
- .filter((w) => {
30
- return (w.status !== 'running' ||
31
- w.health?.status !== 'healthy' ||
32
- (w.health?.checks && w.health.checks.length > 0));
33
- })
34
- .map((w) => {
35
- const workerData = {
36
- workerName: w.name,
37
- status: w.status,
38
- healthStatus: w.health?.status || 'unknown',
39
- lastCheck: w.health?.lastCheck || new Date().toISOString(),
40
- checks: w.health?.checks || [],
41
- };
42
- let alert = null;
43
- if (w.status === 'stopped') {
44
- alert = createStoppedWorkerAlert(w);
45
- }
46
- else if (w.health?.checks && w.health.checks.length > 0) {
47
- alert = createHealthCheckAlert(w);
48
- }
49
- return {
50
- ...workerData,
51
- alert,
52
- };
53
- })
54
- .filter((w) => w.alert !== null);
55
- };
56
- // Helper function to generate resource alerts
57
- const generateResourceAlerts = (resourceUsage) => {
58
- const resourceAlerts = [];
59
- const cpuUsage = resourceUsage.resourceSnapshot?.cpu?.usage || 0;
60
- const memoryUsage = resourceUsage.resourceSnapshot?.memory?.usage || 0;
61
- if (cpuUsage > 90) {
62
- resourceAlerts.push({
63
- type: 'cpu-high',
64
- severity: 'critical',
65
- message: `Critical CPU usage: ${cpuUsage.toFixed(1)}%`,
66
- timestamp: new Date().toISOString(),
67
- recommendation: 'Consider scaling up or optimizing worker code',
68
- });
69
- }
70
- else if (cpuUsage > 80) {
71
- resourceAlerts.push({
72
- type: 'cpu-high',
73
- severity: 'warning',
74
- message: `High CPU usage: ${cpuUsage.toFixed(1)}%`,
75
- timestamp: new Date().toISOString(),
76
- recommendation: 'Monitor closely and consider scaling',
77
- });
78
- }
79
- if (memoryUsage > 95) {
80
- resourceAlerts.push({
81
- type: 'memory-high',
82
- severity: 'critical',
83
- message: `Critical memory usage: ${memoryUsage.toFixed(1)}%`,
84
- timestamp: new Date().toISOString(),
85
- recommendation: 'Increase memory allocation or optimize memory usage',
86
- });
87
- }
88
- else if (memoryUsage > 85) {
89
- resourceAlerts.push({
90
- type: 'memory-high',
91
- severity: 'warning',
92
- message: `High memory usage: ${memoryUsage.toFixed(1)}%`,
93
- timestamp: new Date().toISOString(),
94
- recommendation: 'Monitor memory usage closely',
95
- });
96
- }
97
- return resourceAlerts;
98
- };
99
- // Helper function to calculate monitoring summary
100
- const calculateMonitoringSummary = (runningWorkers) => {
101
- const healthyCount = runningWorkers.filter((w) => w.health?.status === 'healthy').length;
102
- const degradedCount = runningWorkers.filter((w) => w.health?.status === 'warning').length;
103
- const criticalCount = runningWorkers.filter((w) => w.health?.status === 'unhealthy').length;
104
- return {
105
- total: runningWorkers.length,
106
- healthy: healthyCount,
107
- degraded: degradedCount,
108
- critical: criticalCount,
109
- details: runningWorkers.map((w) => ({
110
- workerName: w.name,
111
- status: w.health?.status || 'unknown',
112
- lastCheck: w.health?.lastCheck || new Date().toISOString(),
113
- checks: w.health?.checks || [],
114
- })),
115
- };
116
- };
117
- export const TelemetryAPI = Object.freeze({
118
- async getSystemSummary() {
119
- try {
120
- // Get all workers (both running and stopped) for complete alert visibility
121
- const workersResult = await getWorkers({});
122
- const runningWorkers = workersResult.workers.filter((w) => w.status === 'running');
123
- // Calculate monitoring summary from running workers only
124
- const monitoringSummary = calculateMonitoringSummary(runningWorkers);
125
- // Generate alerts from workers and resources
126
- const workerAlerts = generateWorkerAlerts(workersResult.workers);
127
- const resourceUsage = ResourceMonitor.getCurrentUsage('system');
128
- const resourceAlerts = generateResourceAlerts(resourceUsage);
129
- // Combine all alerts
130
- const allAlerts = [...workerAlerts, ...resourceAlerts];
131
- return {
132
- ok: true,
133
- summary: {
134
- workers: runningWorkers.length,
135
- monitoring: {
136
- ...monitoringSummary,
137
- alerts: allAlerts, // Include all alerts (workers + resources)
138
- },
139
- resources: resourceUsage,
140
- alerts: allAlerts, // Top-level alerts for easy access
141
- },
142
- };
143
- }
144
- catch (error) {
145
- Logger.error('Failed to get system summary', error);
146
- return {
147
- ok: false,
148
- error: error instanceof Error ? error.message : 'Unknown error',
149
- summary: {},
150
- };
151
- }
152
- },
153
- async getMonitoringSummary() {
154
- try {
155
- const summary = await HealthMonitor.getSummary();
156
- return { ok: true, summary };
157
- }
158
- catch (error) {
159
- Logger.error('Failed to get monitoring summary', error);
160
- return {
161
- ok: false,
162
- error: error instanceof Error ? error.message : 'Unknown error',
163
- summary: {},
164
- };
165
- }
166
- },
167
- async getResourceCurrent() {
168
- try {
169
- const usage = ResourceMonitor.getCurrentUsage('system');
170
- return { ok: true, usage };
171
- }
172
- catch (error) {
173
- Logger.error('Failed to get resource usage', error);
174
- return {
175
- ok: false,
176
- error: error instanceof Error ? error.message : 'Unknown error',
177
- usage: null,
178
- };
179
- }
180
- },
181
- async getResourceTrends() {
182
- try {
183
- const trends = ResourceMonitor.getAllTrends('system', 'day');
184
- return { ok: true, trends };
185
- }
186
- catch (error) {
187
- Logger.error('Failed to get resource trends', error);
188
- return {
189
- ok: false,
190
- error: error instanceof Error ? error.message : 'Unknown error',
191
- trends: null,
192
- };
193
- }
194
- },
195
- });
196
- export function createSnapshotBuilder() {
197
- return async () => {
198
- const [systemSummaryResult, resourceCurrentResult] = await Promise.allSettled([
199
- TelemetryAPI.getSystemSummary(),
200
- TelemetryAPI.getResourceCurrent(),
201
- ]);
202
- if (systemSummaryResult.status === 'rejected') {
203
- Logger.error('Telemetry dashboard summary failed', systemSummaryResult.reason);
204
- }
205
- if (resourceCurrentResult.status === 'rejected') {
206
- Logger.error('Telemetry resource summary failed', resourceCurrentResult.reason);
207
- }
208
- const systemSummary = systemSummaryResult.status === 'fulfilled' ? systemSummaryResult.value : { ok: false };
209
- const resourceCurrent = resourceCurrentResult.status === 'fulfilled'
210
- ? resourceCurrentResult.value
211
- : { ok: false };
212
- return {
213
- ok: systemSummary.ok ?? false,
214
- summary: isOkWithSummary(systemSummary) ? systemSummary.summary : {},
215
- resources: isOkWithUsage(resourceCurrent) ? resourceCurrent.usage : null,
216
- cost: null,
217
- };
218
- };
219
- }
@@ -1,18 +0,0 @@
1
- import type { IResponse } from '../../../../../src/index.js';
2
- import type { createSnapshotBuilder, TelemetrySettings } from './TelemetryAPI';
3
- export type TelemetrySnapshotData = {
4
- type: string;
5
- ts: string;
6
- ok: boolean;
7
- summary: unknown;
8
- resources: unknown;
9
- cost: unknown;
10
- };
11
- export declare const TelemetryMonitoringService: Readonly<{
12
- subscribe(callback: (data: TelemetrySnapshotData) => void): void;
13
- unsubscribe(callback: (data: TelemetrySnapshotData) => void): void;
14
- startMonitoring(settings: TelemetrySettings, buildSnapshot: ReturnType<typeof createSnapshotBuilder>): void;
15
- stopMonitoring(): void;
16
- }>;
17
- export declare const teleStream: (res: IResponse, settings: TelemetrySettings, buildSnapshot: ReturnType<typeof createSnapshotBuilder>) => Promise<void>;
18
- //# sourceMappingURL=TelemetryMonitoringService.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"TelemetryMonitoringService.d.ts","sourceRoot":"","sources":["../../../../../../packages/workers/src/telemetry/api/TelemetryMonitoringService.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAEhD,OAAO,KAAK,EAAE,qBAAqB,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AAE/E,MAAM,MAAM,qBAAqB,GAAG;IAClC,IAAI,EAAE,MAAM,CAAC;IACb,EAAE,EAAE,MAAM,CAAC;IACX,EAAE,EAAE,OAAO,CAAC;IACZ,OAAO,EAAE,OAAO,CAAC;IACjB,SAAS,EAAE,OAAO,CAAC;IACnB,IAAI,EAAE,OAAO,CAAC;CACf,CAAC;AAkFF,eAAO,MAAM,0BAA0B;wBACjB,CAAC,IAAI,EAAE,qBAAqB,KAAK,IAAI,GAAG,IAAI;0BAQ1C,CAAC,IAAI,EAAE,qBAAqB,KAAK,IAAI,GAAG,IAAI;8BAWtD,iBAAiB,iBACZ,UAAU,CAAC,OAAO,qBAAqB,CAAC,GACtD,IAAI;sBAOW,IAAI;EAOtB,CAAC;AAEH,eAAO,MAAM,UAAU,GACrB,KAAK,SAAS,EACd,UAAU,iBAAiB,EAC3B,eAAe,UAAU,CAAC,OAAO,qBAAqB,CAAC,KACtD,OAAO,CAAC,IAAI,CA8Cd,CAAC"}