@zintrust/core 0.1.42 → 0.1.44

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 (381) hide show
  1. package/README.md +1 -0
  2. package/app/Controllers/AuthController.d.ts +10 -0
  3. package/app/Controllers/AuthController.d.ts.map +1 -0
  4. package/app/Controllers/AuthController.js +201 -0
  5. package/app/Controllers/UserController.d.ts +9 -0
  6. package/app/Controllers/UserController.d.ts.map +1 -0
  7. package/app/Controllers/UserController.js +8 -0
  8. package/app/Controllers/UserQueryBuilderController.d.ts +16 -0
  9. package/app/Controllers/UserQueryBuilderController.d.ts.map +1 -0
  10. package/app/Controllers/UserQueryBuilderController.js +404 -0
  11. package/app/Middleware/ProfilerMiddleware.d.ts +12 -0
  12. package/app/Middleware/ProfilerMiddleware.d.ts.map +1 -0
  13. package/app/Middleware/ProfilerMiddleware.js +47 -0
  14. package/app/Middleware/index.d.ts +59 -0
  15. package/app/Middleware/index.d.ts.map +1 -0
  16. package/app/Middleware/index.js +215 -0
  17. package/app/Models/Post.d.ts +14 -0
  18. package/app/Models/Post.d.ts.map +1 -0
  19. package/app/Models/Post.js +27 -0
  20. package/app/Models/User.d.ts +14 -0
  21. package/app/Models/User.d.ts.map +1 -0
  22. package/app/Models/User.js +44 -0
  23. package/app/Schedules/JobTracking.d.ts +3 -0
  24. package/app/Schedules/JobTracking.d.ts.map +1 -0
  25. package/app/Schedules/JobTracking.js +13 -0
  26. package/app/Schedules/index.d.ts +2 -0
  27. package/app/Schedules/index.d.ts.map +1 -0
  28. package/app/Schedules/index.js +1 -0
  29. package/app/Toolkit/Broadcast/sendBroadcast.d.ts +6 -0
  30. package/app/Toolkit/Broadcast/sendBroadcast.d.ts.map +1 -0
  31. package/app/Toolkit/Broadcast/sendBroadcast.js +5 -0
  32. package/app/Toolkit/Mail/sendWelcomeEmail.d.ts +6 -0
  33. package/app/Toolkit/Mail/sendWelcomeEmail.d.ts.map +1 -0
  34. package/app/Toolkit/Mail/sendWelcomeEmail.js +20 -0
  35. package/app/Toolkit/Notification/sendSlackNotification.d.ts +8 -0
  36. package/app/Toolkit/Notification/sendSlackNotification.d.ts.map +1 -0
  37. package/app/Toolkit/Notification/sendSlackNotification.js +5 -0
  38. package/app/Toolkit/Notification/sendSms.d.ts +6 -0
  39. package/app/Toolkit/Notification/sendSms.d.ts.map +1 -0
  40. package/app/Toolkit/Notification/sendSms.js +5 -0
  41. package/app/Types/controller.d.ts +42 -0
  42. package/app/Types/controller.d.ts.map +1 -0
  43. package/app/Types/controller.js +1 -0
  44. package/config/broadcast.d.ts +38 -0
  45. package/config/broadcast.d.ts.map +1 -0
  46. package/config/broadcast.js +37 -0
  47. package/config/cache.d.ts +40 -0
  48. package/config/cache.d.ts.map +1 -0
  49. package/config/cache.js +39 -0
  50. package/config/database.d.ts +58 -0
  51. package/config/database.d.ts.map +1 -0
  52. package/config/database.js +65 -0
  53. package/config/mail.d.ts +51 -0
  54. package/config/mail.d.ts.map +1 -0
  55. package/config/mail.js +69 -0
  56. package/config/middleware.d.ts +11 -0
  57. package/config/middleware.d.ts.map +1 -0
  58. package/config/middleware.js +30 -0
  59. package/config/notification.d.ts +33 -0
  60. package/config/notification.d.ts.map +1 -0
  61. package/config/notification.js +33 -0
  62. package/config/queue.d.ts +55 -0
  63. package/config/queue.d.ts.map +1 -0
  64. package/config/queue.js +87 -0
  65. package/config/storage.d.ts +59 -0
  66. package/config/storage.d.ts.map +1 -0
  67. package/config/storage.js +59 -0
  68. package/config/workers.d.ts +54 -0
  69. package/config/workers.d.ts.map +1 -0
  70. package/config/workers.js +83 -0
  71. package/package.json +12 -5
  72. package/packages/cloudflare-d1-proxy/src/index.d.ts +48 -0
  73. package/packages/cloudflare-d1-proxy/src/index.d.ts.map +1 -0
  74. package/packages/cloudflare-d1-proxy/src/index.js +387 -0
  75. package/packages/cloudflare-kv-proxy/src/index.d.ts +44 -0
  76. package/packages/cloudflare-kv-proxy/src/index.d.ts.map +1 -0
  77. package/packages/cloudflare-kv-proxy/src/index.js +325 -0
  78. package/packages/queue-monitor/src/QueueMonitoringService.d.ts +35 -0
  79. package/packages/queue-monitor/src/QueueMonitoringService.d.ts.map +1 -0
  80. package/packages/queue-monitor/src/QueueMonitoringService.js +194 -0
  81. package/packages/queue-monitor/src/connection.d.ts +3 -0
  82. package/packages/queue-monitor/src/connection.d.ts.map +1 -0
  83. package/packages/queue-monitor/src/connection.js +1 -0
  84. package/packages/queue-monitor/src/dashboard-ui.d.ts +7 -0
  85. package/packages/queue-monitor/src/dashboard-ui.d.ts.map +1 -0
  86. package/packages/queue-monitor/src/dashboard-ui.js +997 -0
  87. package/packages/queue-monitor/src/driver.d.ts +15 -0
  88. package/packages/queue-monitor/src/driver.d.ts.map +1 -0
  89. package/packages/queue-monitor/src/driver.js +115 -0
  90. package/packages/queue-monitor/src/index.d.ts +71 -0
  91. package/packages/queue-monitor/src/index.d.ts.map +1 -0
  92. package/packages/queue-monitor/src/index.js +296 -0
  93. package/packages/queue-monitor/src/metrics.d.ts +27 -0
  94. package/packages/queue-monitor/src/metrics.d.ts.map +1 -0
  95. package/packages/queue-monitor/src/metrics.js +92 -0
  96. package/packages/queue-monitor/src/worker.d.ts +8 -0
  97. package/packages/queue-monitor/src/worker.d.ts.map +1 -0
  98. package/packages/queue-monitor/src/worker.js +35 -0
  99. package/packages/queue-redis/src/BullMQRedisQueue.d.ts +26 -0
  100. package/packages/queue-redis/src/BullMQRedisQueue.d.ts.map +1 -0
  101. package/packages/queue-redis/src/BullMQRedisQueue.js +463 -0
  102. package/packages/queue-redis/src/HttpQueueDriver.d.ts +18 -0
  103. package/packages/queue-redis/src/HttpQueueDriver.d.ts.map +1 -0
  104. package/packages/queue-redis/src/HttpQueueDriver.js +249 -0
  105. package/packages/queue-redis/src/QueueHttpGateway.d.ts +16 -0
  106. package/packages/queue-redis/src/QueueHttpGateway.d.ts.map +1 -0
  107. package/packages/queue-redis/src/QueueHttpGateway.js +217 -0
  108. package/packages/queue-redis/src/RedisPublishClient.d.ts +14 -0
  109. package/packages/queue-redis/src/RedisPublishClient.d.ts.map +1 -0
  110. package/packages/queue-redis/src/RedisPublishClient.js +251 -0
  111. package/packages/queue-redis/src/index.d.ts +12 -0
  112. package/packages/queue-redis/src/index.d.ts.map +1 -0
  113. package/packages/queue-redis/src/index.js +10 -0
  114. package/packages/queue-redis/src/register.d.ts +6 -0
  115. package/packages/queue-redis/src/register.d.ts.map +1 -0
  116. package/packages/queue-redis/src/register.js +21 -0
  117. package/packages/workers/migrations/20260119100000_create_zintrust_workers_table.d.ts +11 -0
  118. package/packages/workers/migrations/20260119100000_create_zintrust_workers_table.d.ts.map +1 -0
  119. package/packages/workers/migrations/20260119100000_create_zintrust_workers_table.js +32 -0
  120. package/packages/workers/migrations/20260123180000_create_queue_jobs_table.d.ts +11 -0
  121. package/packages/workers/migrations/20260123180000_create_queue_jobs_table.d.ts.map +1 -0
  122. package/packages/workers/migrations/20260123180000_create_queue_jobs_table.js +46 -0
  123. package/packages/workers/migrations/20260213142000_create_zintrust_job_tracking_tables.d.ts +7 -0
  124. package/packages/workers/migrations/20260213142000_create_zintrust_job_tracking_tables.d.ts.map +1 -0
  125. package/packages/workers/migrations/20260213142000_create_zintrust_job_tracking_tables.js +44 -0
  126. package/packages/workers/migrations/20260213183000_expand_zintrust_job_tracking_reliability_tables.d.ts +7 -0
  127. package/packages/workers/migrations/20260213183000_expand_zintrust_job_tracking_reliability_tables.d.ts.map +1 -0
  128. package/packages/workers/migrations/20260213183000_expand_zintrust_job_tracking_reliability_tables.js +104 -0
  129. package/packages/workers/src/AnomalyDetection.d.ts +107 -0
  130. package/packages/workers/src/AnomalyDetection.d.ts.map +1 -0
  131. package/packages/workers/src/AnomalyDetection.js +329 -0
  132. package/packages/workers/src/AutoScaler.d.ts +128 -0
  133. package/packages/workers/src/AutoScaler.d.ts.map +1 -0
  134. package/packages/workers/src/AutoScaler.js +425 -0
  135. package/packages/workers/src/BroadcastWorker.d.ts +24 -0
  136. package/packages/workers/src/BroadcastWorker.d.ts.map +1 -0
  137. package/packages/workers/src/BroadcastWorker.js +24 -0
  138. package/packages/workers/src/CanaryController.d.ts +104 -0
  139. package/packages/workers/src/CanaryController.d.ts.map +1 -0
  140. package/packages/workers/src/CanaryController.js +424 -0
  141. package/packages/workers/src/ChaosEngineering.d.ts +80 -0
  142. package/packages/workers/src/ChaosEngineering.d.ts.map +1 -0
  143. package/packages/workers/src/ChaosEngineering.js +229 -0
  144. package/packages/workers/src/CircuitBreaker.d.ts +107 -0
  145. package/packages/workers/src/CircuitBreaker.d.ts.map +1 -0
  146. package/packages/workers/src/CircuitBreaker.js +374 -0
  147. package/packages/workers/src/ClusterLock.d.ts +91 -0
  148. package/packages/workers/src/ClusterLock.d.ts.map +1 -0
  149. package/packages/workers/src/ClusterLock.js +397 -0
  150. package/packages/workers/src/ComplianceManager.d.ts +178 -0
  151. package/packages/workers/src/ComplianceManager.d.ts.map +1 -0
  152. package/packages/workers/src/ComplianceManager.js +556 -0
  153. package/packages/workers/src/DatacenterOrchestrator.d.ts +134 -0
  154. package/packages/workers/src/DatacenterOrchestrator.d.ts.map +1 -0
  155. package/packages/workers/src/DatacenterOrchestrator.js +404 -0
  156. package/packages/workers/src/DeadLetterQueue.d.ts +123 -0
  157. package/packages/workers/src/DeadLetterQueue.d.ts.map +1 -0
  158. package/packages/workers/src/DeadLetterQueue.js +544 -0
  159. package/packages/workers/src/HealthMonitor.d.ts +43 -0
  160. package/packages/workers/src/HealthMonitor.d.ts.map +1 -0
  161. package/packages/workers/src/HealthMonitor.js +312 -0
  162. package/packages/workers/src/MultiQueueWorker.d.ts +90 -0
  163. package/packages/workers/src/MultiQueueWorker.d.ts.map +1 -0
  164. package/packages/workers/src/MultiQueueWorker.js +282 -0
  165. package/packages/workers/src/NotificationWorker.d.ts +24 -0
  166. package/packages/workers/src/NotificationWorker.d.ts.map +1 -0
  167. package/packages/workers/src/NotificationWorker.js +23 -0
  168. package/packages/workers/src/Observability.d.ts +154 -0
  169. package/packages/workers/src/Observability.d.ts.map +1 -0
  170. package/packages/workers/src/Observability.js +538 -0
  171. package/packages/workers/src/PluginManager.d.ts +124 -0
  172. package/packages/workers/src/PluginManager.d.ts.map +1 -0
  173. package/packages/workers/src/PluginManager.js +392 -0
  174. package/packages/workers/src/PriorityQueue.d.ts +118 -0
  175. package/packages/workers/src/PriorityQueue.d.ts.map +1 -0
  176. package/packages/workers/src/PriorityQueue.js +276 -0
  177. package/packages/workers/src/ResourceMonitor.d.ts +165 -0
  178. package/packages/workers/src/ResourceMonitor.d.ts.map +1 -0
  179. package/packages/workers/src/ResourceMonitor.js +632 -0
  180. package/packages/workers/src/SLAMonitor.d.ts +111 -0
  181. package/packages/workers/src/SLAMonitor.d.ts.map +1 -0
  182. package/packages/workers/src/SLAMonitor.js +274 -0
  183. package/packages/workers/src/WorkerFactory.d.ts +218 -0
  184. package/packages/workers/src/WorkerFactory.d.ts.map +1 -0
  185. package/packages/workers/src/WorkerFactory.js +2253 -0
  186. package/packages/workers/src/WorkerInit.d.ts +86 -0
  187. package/packages/workers/src/WorkerInit.d.ts.map +1 -0
  188. package/packages/workers/src/WorkerInit.js +307 -0
  189. package/packages/workers/src/WorkerMetrics.d.ts +116 -0
  190. package/packages/workers/src/WorkerMetrics.d.ts.map +1 -0
  191. package/packages/workers/src/WorkerMetrics.js +570 -0
  192. package/packages/workers/src/WorkerRegistry.d.ts +152 -0
  193. package/packages/workers/src/WorkerRegistry.d.ts.map +1 -0
  194. package/packages/workers/src/WorkerRegistry.js +396 -0
  195. package/packages/workers/src/WorkerShutdown.d.ts +70 -0
  196. package/packages/workers/src/WorkerShutdown.d.ts.map +1 -0
  197. package/packages/workers/src/WorkerShutdown.js +185 -0
  198. package/packages/workers/src/WorkerVersioning.d.ts +108 -0
  199. package/packages/workers/src/WorkerVersioning.d.ts.map +1 -0
  200. package/packages/workers/src/WorkerVersioning.js +300 -0
  201. package/packages/workers/src/config/workerConfig.d.ts +5 -0
  202. package/packages/workers/src/config/workerConfig.d.ts.map +1 -0
  203. package/packages/workers/src/config/workerConfig.js +25 -0
  204. package/packages/workers/src/createQueueWorker.d.ts +26 -0
  205. package/packages/workers/src/createQueueWorker.d.ts.map +1 -0
  206. package/packages/workers/src/createQueueWorker.js +367 -0
  207. package/packages/workers/src/dashboard/index.d.ts +2 -0
  208. package/packages/workers/src/dashboard/index.d.ts.map +1 -0
  209. package/packages/workers/src/dashboard/index.js +1 -0
  210. package/packages/workers/src/dashboard/types.d.ts +123 -0
  211. package/packages/workers/src/dashboard/types.d.ts.map +1 -0
  212. package/packages/workers/src/dashboard/types.js +1 -0
  213. package/packages/workers/src/dashboard/workers-api.d.ts +5 -0
  214. package/packages/workers/src/dashboard/workers-api.d.ts.map +1 -0
  215. package/packages/workers/src/dashboard/workers-api.js +738 -0
  216. package/packages/workers/src/helper/index.d.ts +6 -0
  217. package/packages/workers/src/helper/index.d.ts.map +1 -0
  218. package/packages/workers/src/helper/index.js +10 -0
  219. package/packages/workers/src/http/WorkerApiController.d.ts +39 -0
  220. package/packages/workers/src/http/WorkerApiController.d.ts.map +1 -0
  221. package/packages/workers/src/http/WorkerApiController.js +313 -0
  222. package/packages/workers/src/http/WorkerController.d.ts +375 -0
  223. package/packages/workers/src/http/WorkerController.d.ts.map +1 -0
  224. package/packages/workers/src/http/WorkerController.js +1454 -0
  225. package/packages/workers/src/http/WorkerMonitoringService.d.ts +12 -0
  226. package/packages/workers/src/http/WorkerMonitoringService.d.ts.map +1 -0
  227. package/packages/workers/src/http/WorkerMonitoringService.js +89 -0
  228. package/packages/workers/src/http/middleware/CustomValidation.d.ts +93 -0
  229. package/packages/workers/src/http/middleware/CustomValidation.d.ts.map +1 -0
  230. package/packages/workers/src/http/middleware/CustomValidation.js +270 -0
  231. package/packages/workers/src/http/middleware/DatacenterValidator.d.ts +4 -0
  232. package/packages/workers/src/http/middleware/DatacenterValidator.d.ts.map +1 -0
  233. package/packages/workers/src/http/middleware/DatacenterValidator.js +94 -0
  234. package/packages/workers/src/http/middleware/EditWorkerValidation.d.ts +8 -0
  235. package/packages/workers/src/http/middleware/EditWorkerValidation.d.ts.map +1 -0
  236. package/packages/workers/src/http/middleware/EditWorkerValidation.js +56 -0
  237. package/packages/workers/src/http/middleware/FeaturesValidator.d.ts +4 -0
  238. package/packages/workers/src/http/middleware/FeaturesValidator.d.ts.map +1 -0
  239. package/packages/workers/src/http/middleware/FeaturesValidator.js +60 -0
  240. package/packages/workers/src/http/middleware/InfrastructureValidator.d.ts +32 -0
  241. package/packages/workers/src/http/middleware/InfrastructureValidator.d.ts.map +1 -0
  242. package/packages/workers/src/http/middleware/InfrastructureValidator.js +226 -0
  243. package/packages/workers/src/http/middleware/OptionsValidator.d.ts +4 -0
  244. package/packages/workers/src/http/middleware/OptionsValidator.d.ts.map +1 -0
  245. package/packages/workers/src/http/middleware/OptionsValidator.js +112 -0
  246. package/packages/workers/src/http/middleware/PayloadSanitizer.d.ts +8 -0
  247. package/packages/workers/src/http/middleware/PayloadSanitizer.d.ts.map +1 -0
  248. package/packages/workers/src/http/middleware/PayloadSanitizer.js +42 -0
  249. package/packages/workers/src/http/middleware/ProcessorPathSanitizer.d.ts +4 -0
  250. package/packages/workers/src/http/middleware/ProcessorPathSanitizer.d.ts.map +1 -0
  251. package/packages/workers/src/http/middleware/ProcessorPathSanitizer.js +140 -0
  252. package/packages/workers/src/http/middleware/QueueNameSanitizer.d.ts +4 -0
  253. package/packages/workers/src/http/middleware/QueueNameSanitizer.d.ts.map +1 -0
  254. package/packages/workers/src/http/middleware/QueueNameSanitizer.js +45 -0
  255. package/packages/workers/src/http/middleware/ValidateDriver.d.ts +8 -0
  256. package/packages/workers/src/http/middleware/ValidateDriver.d.ts.map +1 -0
  257. package/packages/workers/src/http/middleware/ValidateDriver.js +20 -0
  258. package/packages/workers/src/http/middleware/VersionSanitizer.d.ts +4 -0
  259. package/packages/workers/src/http/middleware/VersionSanitizer.d.ts.map +1 -0
  260. package/packages/workers/src/http/middleware/VersionSanitizer.js +25 -0
  261. package/packages/workers/src/http/middleware/WorkerNameSanitizer.d.ts +4 -0
  262. package/packages/workers/src/http/middleware/WorkerNameSanitizer.d.ts.map +1 -0
  263. package/packages/workers/src/http/middleware/WorkerNameSanitizer.js +46 -0
  264. package/packages/workers/src/http/middleware/WorkerValidationChain.d.ts +28 -0
  265. package/packages/workers/src/http/middleware/WorkerValidationChain.d.ts.map +1 -0
  266. package/packages/workers/src/http/middleware/WorkerValidationChain.js +186 -0
  267. package/packages/workers/src/index.d.ts +47 -0
  268. package/packages/workers/src/index.d.ts.map +1 -0
  269. package/packages/workers/src/index.js +48 -0
  270. package/packages/workers/src/routes/workers.d.ts +13 -0
  271. package/packages/workers/src/routes/workers.d.ts.map +1 -0
  272. package/packages/workers/src/routes/workers.js +126 -0
  273. package/packages/workers/src/storage/WorkerStore.d.ts +52 -0
  274. package/packages/workers/src/storage/WorkerStore.d.ts.map +1 -0
  275. package/packages/workers/src/storage/WorkerStore.js +259 -0
  276. package/packages/workers/src/telemetry/api/TelemetryAPI.d.ts +47 -0
  277. package/packages/workers/src/telemetry/api/TelemetryAPI.d.ts.map +1 -0
  278. package/packages/workers/src/telemetry/api/TelemetryAPI.js +219 -0
  279. package/packages/workers/src/telemetry/api/TelemetryMonitoringService.d.ts +18 -0
  280. package/packages/workers/src/telemetry/api/TelemetryMonitoringService.d.ts.map +1 -0
  281. package/packages/workers/src/telemetry/api/TelemetryMonitoringService.js +140 -0
  282. package/packages/workers/src/telemetry/components/AlertPanel.d.ts +2 -0
  283. package/packages/workers/src/telemetry/components/AlertPanel.d.ts.map +1 -0
  284. package/packages/workers/src/telemetry/components/AlertPanel.js +13 -0
  285. package/packages/workers/src/telemetry/components/CostTracking.d.ts +2 -0
  286. package/packages/workers/src/telemetry/components/CostTracking.d.ts.map +1 -0
  287. package/packages/workers/src/telemetry/components/CostTracking.js +14 -0
  288. package/packages/workers/src/telemetry/components/ResourceUsageChart.d.ts +2 -0
  289. package/packages/workers/src/telemetry/components/ResourceUsageChart.d.ts.map +1 -0
  290. package/packages/workers/src/telemetry/components/ResourceUsageChart.js +11 -0
  291. package/packages/workers/src/telemetry/components/WorkerHealthChart.d.ts +2 -0
  292. package/packages/workers/src/telemetry/components/WorkerHealthChart.d.ts.map +1 -0
  293. package/packages/workers/src/telemetry/components/WorkerHealthChart.js +11 -0
  294. package/packages/workers/src/telemetry/index.d.ts +16 -0
  295. package/packages/workers/src/telemetry/index.d.ts.map +1 -0
  296. package/packages/workers/src/telemetry/index.js +60 -0
  297. package/packages/workers/src/telemetry/routes/dashboard.d.ts +7 -0
  298. package/packages/workers/src/telemetry/routes/dashboard.d.ts.map +1 -0
  299. package/packages/workers/src/telemetry/routes/dashboard.js +608 -0
  300. package/packages/workers/src/type.d.ts +77 -0
  301. package/packages/workers/src/type.d.ts.map +1 -0
  302. package/packages/workers/src/type.js +1 -0
  303. package/packages/workers/src/ui/router/EmbeddedAssets.d.ts +5 -0
  304. package/packages/workers/src/ui/router/EmbeddedAssets.d.ts.map +1 -0
  305. package/packages/workers/src/ui/router/EmbeddedAssets.js +13 -0
  306. package/packages/workers/src/ui/router/ui.d.ts +4 -0
  307. package/packages/workers/src/ui/router/ui.d.ts.map +1 -0
  308. package/packages/workers/src/ui/router/ui.js +208 -0
  309. package/packages/workers/src/ui/types/worker-ui.d.ts +230 -0
  310. package/packages/workers/src/ui/types/worker-ui.d.ts.map +1 -0
  311. package/packages/workers/src/ui/types/worker-ui.js +5 -0
  312. package/routes/api.d.ts +7 -0
  313. package/routes/api.d.ts.map +1 -0
  314. package/routes/api.js +129 -0
  315. package/routes/broadcast.d.ts +9 -0
  316. package/routes/broadcast.d.ts.map +1 -0
  317. package/routes/broadcast.js +27 -0
  318. package/routes/storage.d.ts +4 -0
  319. package/routes/storage.d.ts.map +1 -0
  320. package/routes/storage.js +35 -0
  321. package/src/cache/Cache.d.ts.map +1 -1
  322. package/src/cache/Cache.js +40 -8
  323. package/src/cache/drivers/KVRemoteDriver.d.ts +1 -1
  324. package/src/cache/drivers/KVRemoteDriver.d.ts.map +1 -1
  325. package/src/cache/drivers/KVRemoteDriver.js +259 -44
  326. package/src/cache/drivers/MemoryDriver.d.ts.map +1 -1
  327. package/src/cache/drivers/MemoryDriver.js +10 -2
  328. package/src/cache/drivers/RedisDriver.d.ts.map +1 -1
  329. package/src/cache/drivers/RedisDriver.js +256 -33
  330. package/src/cli/CLI.d.ts.map +1 -1
  331. package/src/cli/CLI.js +6 -0
  332. package/src/cli/commands/DeployCommand.d.ts.map +1 -1
  333. package/src/cli/commands/DeployCommand.js +12 -1
  334. package/src/cli/commands/DeployContainersProxyCommand.d.ts +5 -0
  335. package/src/cli/commands/DeployContainersProxyCommand.d.ts.map +1 -0
  336. package/src/cli/commands/DeployContainersProxyCommand.js +45 -0
  337. package/src/cli/commands/DockerCommand.d.ts +5 -0
  338. package/src/cli/commands/DockerCommand.d.ts.map +1 -0
  339. package/src/cli/commands/DockerCommand.js +74 -0
  340. package/src/cli/commands/InitContainerCommand.js +10 -10
  341. package/src/cli/commands/InitContainersProxyCommand.d.ts +5 -0
  342. package/src/cli/commands/InitContainersProxyCommand.d.ts.map +1 -0
  343. package/src/cli/commands/InitContainersProxyCommand.js +159 -0
  344. package/src/cli/commands/NewCommand.d.ts.map +1 -1
  345. package/src/cli/commands/NewCommand.js +33 -0
  346. package/src/cli/commands/PutCommand.d.ts.map +1 -1
  347. package/src/cli/commands/PutCommand.js +15 -5
  348. package/src/cli/commands/StartCommand.d.ts.map +1 -1
  349. package/src/cli/commands/StartCommand.js +43 -4
  350. package/src/cli/scaffolding/ProjectScaffolder.d.ts.map +1 -1
  351. package/src/cli/scaffolding/ProjectScaffolder.js +65 -73
  352. package/src/cli/utils/DistPackager.d.ts.map +1 -1
  353. package/src/cli/utils/DistPackager.js +25 -0
  354. package/src/cli/utils/EnvFileLoader.d.ts +1 -0
  355. package/src/cli/utils/EnvFileLoader.d.ts.map +1 -1
  356. package/src/cli/utils/EnvFileLoader.js +14 -0
  357. package/src/common/RemoteSignedJson.d.ts.map +1 -1
  358. package/src/common/RemoteSignedJson.js +9 -2
  359. package/src/config/cache.js +1 -1
  360. package/src/config/env.d.ts +7 -0
  361. package/src/config/env.d.ts.map +1 -1
  362. package/src/config/env.js +8 -0
  363. package/src/config/queue.js +1 -1
  364. package/src/functions/cloudflare.d.ts.map +1 -1
  365. package/src/functions/cloudflare.js +4 -2
  366. package/src/index.js +3 -3
  367. package/src/middleware/JwtAuthMiddleware.d.ts.map +1 -1
  368. package/src/middleware/JwtAuthMiddleware.js +11 -5
  369. package/src/runtime/RuntimeAdapter.d.ts.map +1 -1
  370. package/src/runtime/RuntimeAdapter.js +30 -12
  371. package/src/runtime/adapters/CloudflareAdapter.d.ts.map +1 -1
  372. package/src/runtime/adapters/CloudflareAdapter.js +15 -4
  373. package/src/scheduler/Schedule.js +1 -1
  374. package/src/scheduler/leader/SchedulerLeader.js +1 -1
  375. package/src/schedules/job-tracking-cleanup.js +1 -1
  376. package/src/security/TokenRevocation.d.ts +19 -2
  377. package/src/security/TokenRevocation.d.ts.map +1 -1
  378. package/src/security/TokenRevocation.js +558 -30
  379. package/src/templates/project/basic/app/Controllers/AuthController.ts.tpl +11 -3
  380. package/src/templates/project/basic/config/middleware.ts.tpl +23 -22
  381. package/src/templates/project/basic/wrangler.jsonc.tpl +28 -0
@@ -0,0 +1,107 @@
1
+ /**
2
+ * Anomaly Detection
3
+ * Statistical anomaly detection with lightweight baselines
4
+ * Sealed namespace for immutability
5
+ */
6
+ import { type MetricType } from './WorkerMetrics';
7
+ export interface IAnomalyConfig {
8
+ workerName: string;
9
+ metrics: MetricType[];
10
+ sensitivity: number;
11
+ learningPeriod: number;
12
+ alertThreshold: number;
13
+ autoAdjust: boolean;
14
+ }
15
+ export interface IMetric {
16
+ metricType: MetricType;
17
+ value: number;
18
+ timestamp: Date;
19
+ }
20
+ export interface IAnomaly {
21
+ id: string;
22
+ timestamp: Date;
23
+ workerName: string;
24
+ metric: MetricType;
25
+ actual: number;
26
+ expected: number;
27
+ deviation: number;
28
+ confidence: number;
29
+ severity: 'low' | 'medium' | 'high' | 'critical';
30
+ possibleCauses: string[];
31
+ recommendations: string[];
32
+ }
33
+ export interface IPrediction {
34
+ workerName: string;
35
+ horizonHours: number;
36
+ riskScore: number;
37
+ expectedErrorRate: number;
38
+ summary: string;
39
+ }
40
+ export interface IRootCauseAnalysis {
41
+ anomalyId: string;
42
+ suspectedCauses: string[];
43
+ supportingSignals: Record<string, number>;
44
+ }
45
+ export interface IForecast {
46
+ workerName: string;
47
+ metric: MetricType;
48
+ horizonHours: number;
49
+ forecast: number;
50
+ confidence: number;
51
+ }
52
+ export interface IRecommendation {
53
+ action: string;
54
+ reason: string;
55
+ priority: 'low' | 'medium' | 'high';
56
+ }
57
+ /**
58
+ * Anomaly Detection - Sealed namespace
59
+ */
60
+ export declare const AnomalyDetection: Readonly<{
61
+ /**
62
+ * Configure anomaly detection for a worker
63
+ */
64
+ configure(config: IAnomalyConfig): void;
65
+ /**
66
+ * Cleanup anomaly models for a worker
67
+ */
68
+ cleanup(workerName: string): void;
69
+ /**
70
+ * Train baseline model
71
+ */
72
+ trainModel(workerName: string, historicalData: IMetric[]): void;
73
+ /**
74
+ * Update baseline model with recent data
75
+ */
76
+ updateModel(workerName: string, recentData: IMetric[]): void;
77
+ /**
78
+ * Detect anomalies for a worker
79
+ */
80
+ detectAnomalies(workerName: string): Promise<IAnomaly[]>;
81
+ /**
82
+ * Predict failure risk for a worker
83
+ */
84
+ predictFailure(workerName: string, horizonHours: number): Promise<IPrediction>;
85
+ /**
86
+ * Analyze root cause for an anomaly
87
+ */
88
+ analyzeRootCause(anomaly: IAnomaly): IRootCauseAnalysis;
89
+ /**
90
+ * Forecast a metric
91
+ */
92
+ forecastMetric(workerName: string, metric: MetricType, hours: number): Promise<IForecast>;
93
+ /**
94
+ * Generate recommendations for an anomaly
95
+ */
96
+ getRecommendations(anomaly: IAnomaly): IRecommendation[];
97
+ /**
98
+ * Attempt auto-remediation
99
+ */
100
+ autoRemediate(_anomaly: IAnomaly): boolean;
101
+ /**
102
+ * Helper: build training data from metrics
103
+ */
104
+ buildTrainingData(workerName: string): Promise<IMetric[]>;
105
+ }>;
106
+ export default AnomalyDetection;
107
+ //# sourceMappingURL=AnomalyDetection.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AnomalyDetection.d.ts","sourceRoot":"","sources":["../../../../packages/workers/src/AnomalyDetection.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAIH,OAAO,EAAmC,KAAK,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAEnF,MAAM,WAAW,cAAc;IAC7B,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,UAAU,EAAE,CAAC;IACtB,WAAW,EAAE,MAAM,CAAC;IACpB,cAAc,EAAE,MAAM,CAAC;IACvB,cAAc,EAAE,MAAM,CAAC;IACvB,UAAU,EAAE,OAAO,CAAC;CACrB;AAED,MAAM,WAAW,OAAO;IACtB,UAAU,EAAE,UAAU,CAAC;IACvB,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,IAAI,CAAC;CACjB;AAED,MAAM,WAAW,QAAQ;IACvB,EAAE,EAAE,MAAM,CAAC;IACX,SAAS,EAAE,IAAI,CAAC;IAChB,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,UAAU,CAAC;IACnB,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,KAAK,GAAG,QAAQ,GAAG,MAAM,GAAG,UAAU,CAAC;IACjD,cAAc,EAAE,MAAM,EAAE,CAAC;IACzB,eAAe,EAAE,MAAM,EAAE,CAAC;CAC3B;AAED,MAAM,WAAW,WAAW;IAC1B,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,MAAM,CAAC;IACrB,SAAS,EAAE,MAAM,CAAC;IAClB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,kBAAkB;IACjC,SAAS,EAAE,MAAM,CAAC;IAClB,eAAe,EAAE,MAAM,EAAE,CAAC;IAC1B,iBAAiB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAC3C;AAED,MAAM,WAAW,SAAS;IACxB,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,UAAU,CAAC;IACnB,YAAY,EAAE,MAAM,CAAC;IACrB,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,eAAe;IAC9B,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,KAAK,GAAG,QAAQ,GAAG,MAAM,CAAC;CACrC;AAuHD;;GAEG;AACH,eAAO,MAAM,gBAAgB;IAC3B;;OAEG;sBACe,cAAc,GAAG,IAAI;IAKvC;;OAEG;wBACiB,MAAM,GAAG,IAAI;IAMjC;;OAEG;2BACoB,MAAM,kBAAkB,OAAO,EAAE,GAAG,IAAI;IAgB/D;;OAEG;4BACqB,MAAM,cAAc,OAAO,EAAE,GAAG,IAAI;IAgB5D;;OAEG;gCAC+B,MAAM,GAAG,OAAO,CAAC,QAAQ,EAAE,CAAC;IAwD9D;;OAEG;+BAC8B,MAAM,gBAAgB,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC;IA4CpF;;OAEG;8BACuB,QAAQ,GAAG,kBAAkB;IAkBvD;;OAEG;+BAC8B,MAAM,UAAU,UAAU,SAAS,MAAM,GAAG,OAAO,CAAC,SAAS,CAAC;IAuB/F;;OAEG;gCACyB,QAAQ,GAAG,eAAe,EAAE;IAQxD;;OAEG;4BACqB,QAAQ,GAAG,OAAO;IAI1C;;OAEG;kCACiC,MAAM,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC;EAuB/D,CAAC;AAEH,eAAe,gBAAgB,CAAC"}
@@ -0,0 +1,329 @@
1
+ /**
2
+ * Anomaly Detection
3
+ * Statistical anomaly detection with lightweight baselines
4
+ * Sealed namespace for immutability
5
+ */
6
+ import { ErrorFactory, Logger, generateUuid } from '../../../src/index.js';
7
+ import { ResourceMonitor } from './ResourceMonitor.js';
8
+ import { WorkerMetrics } from './WorkerMetrics.js';
9
+ const configs = new Map();
10
+ const models = new Map();
11
+ const updateStats = (stats, value) => {
12
+ const count = stats.count + 1;
13
+ const delta = value - stats.mean;
14
+ const mean = stats.mean + delta / count;
15
+ const delta2 = value - mean;
16
+ const variance = stats.variance + delta * delta2;
17
+ return {
18
+ mean,
19
+ variance,
20
+ count,
21
+ updatedAt: new Date(),
22
+ };
23
+ };
24
+ const buildStats = (values) => {
25
+ if (values.length === 0) {
26
+ return { mean: 0, variance: 0, count: 0, updatedAt: new Date() };
27
+ }
28
+ let mean = 0;
29
+ let variance = 0;
30
+ let count = 0;
31
+ values.forEach((value) => {
32
+ const updated = updateStats({ mean, variance, count, updatedAt: new Date() }, value);
33
+ mean = updated.mean;
34
+ variance = updated.variance;
35
+ count = updated.count;
36
+ });
37
+ return { mean, variance, count, updatedAt: new Date() };
38
+ };
39
+ const getStdDev = (stats) => {
40
+ if (stats.count <= 1)
41
+ return 0;
42
+ return Math.sqrt(stats.variance / (stats.count - 1));
43
+ };
44
+ const getThreshold = (sensitivity) => {
45
+ const clamped = Math.min(1, Math.max(0, sensitivity));
46
+ return Math.min(3, Math.max(1, 3 - clamped * 2));
47
+ };
48
+ const buildPossibleCauses = (metric) => {
49
+ switch (metric) {
50
+ case 'duration':
51
+ return ['Increased processing time', 'Downstream dependency latency'];
52
+ case 'errors':
53
+ return ['Increased failure rate', 'New error conditions'];
54
+ case 'cpu':
55
+ return ['Resource saturation', 'Inefficient processing logic'];
56
+ case 'memory':
57
+ return ['Memory leak risk', 'Increased payload size'];
58
+ case 'queue-size':
59
+ return ['Traffic spike', 'Worker throttling'];
60
+ default:
61
+ return ['Unexpected workload change'];
62
+ }
63
+ };
64
+ const buildRecommendations = (metric) => {
65
+ switch (metric) {
66
+ case 'duration':
67
+ return ['Review slow job traces', 'Scale worker concurrency temporarily'];
68
+ case 'errors':
69
+ return ['Inspect recent failures', 'Review circuit breaker events'];
70
+ case 'cpu':
71
+ return ['Add capacity or optimize processing', 'Monitor CPU hotspots'];
72
+ case 'memory':
73
+ return ['Inspect memory usage', 'Enable heap snapshots'];
74
+ default:
75
+ return ['Monitor trends and adjust thresholds'];
76
+ }
77
+ };
78
+ const selectSeverity = (zScore) => {
79
+ if (zScore >= 3.5)
80
+ return 'critical';
81
+ if (zScore >= 2.5)
82
+ return 'high';
83
+ if (zScore >= 1.8)
84
+ return 'medium';
85
+ return 'low';
86
+ };
87
+ const ensureConfig = (workerName) => {
88
+ const config = configs.get(workerName);
89
+ if (!config) {
90
+ throw ErrorFactory.createNotFoundError(`Anomaly config not found for worker "${workerName}"`);
91
+ }
92
+ return config;
93
+ };
94
+ const ensureModelMap = (workerName) => {
95
+ let map = models.get(workerName);
96
+ if (!map) {
97
+ map = new Map();
98
+ models.set(workerName, map);
99
+ }
100
+ return map;
101
+ };
102
+ const mapPoints = (metric, points) => points.map((point) => ({
103
+ metricType: metric,
104
+ value: point.value,
105
+ timestamp: point.timestamp,
106
+ }));
107
+ /**
108
+ * Anomaly Detection - Sealed namespace
109
+ */
110
+ export const AnomalyDetection = Object.freeze({
111
+ /**
112
+ * Configure anomaly detection for a worker
113
+ */
114
+ configure(config) {
115
+ configs.set(config.workerName, { ...config });
116
+ Logger.info(`Anomaly detection configured for ${config.workerName}`);
117
+ },
118
+ /**
119
+ * Cleanup anomaly models for a worker
120
+ */
121
+ cleanup(workerName) {
122
+ configs.delete(workerName);
123
+ models.delete(workerName);
124
+ Logger.debug(`Anomaly detection cleanup completed for ${workerName}`);
125
+ },
126
+ /**
127
+ * Train baseline model
128
+ */
129
+ trainModel(workerName, historicalData) {
130
+ const config = ensureConfig(workerName);
131
+ const modelMap = ensureModelMap(workerName);
132
+ const metrics = config.metrics;
133
+ metrics.forEach((metric) => {
134
+ const values = historicalData
135
+ .filter((item) => item.metricType === metric)
136
+ .map((item) => item.value);
137
+ modelMap.set(metric, buildStats(values));
138
+ });
139
+ Logger.info(`Anomaly model trained for ${workerName}`);
140
+ },
141
+ /**
142
+ * Update baseline model with recent data
143
+ */
144
+ updateModel(workerName, recentData) {
145
+ ensureConfig(workerName);
146
+ const modelMap = ensureModelMap(workerName);
147
+ recentData.forEach((item) => {
148
+ const current = modelMap.get(item.metricType) ?? {
149
+ mean: 0,
150
+ variance: 0,
151
+ count: 0,
152
+ updatedAt: new Date(),
153
+ };
154
+ modelMap.set(item.metricType, updateStats(current, item.value));
155
+ });
156
+ },
157
+ /**
158
+ * Detect anomalies for a worker
159
+ */
160
+ async detectAnomalies(workerName) {
161
+ const config = ensureConfig(workerName);
162
+ const modelMap = ensureModelMap(workerName);
163
+ const range = {
164
+ start: new Date(Date.now() - 60 * 60 * 1000),
165
+ end: new Date(),
166
+ };
167
+ const results = await Promise.all(config.metrics.map(async (metric) => {
168
+ const entry = await WorkerMetrics.query({
169
+ workerName,
170
+ metricType: metric,
171
+ granularity: 'hourly',
172
+ startDate: range.start,
173
+ endDate: range.end,
174
+ });
175
+ const points = entry.points;
176
+ if (points.length === 0)
177
+ return null;
178
+ const stats = modelMap.get(metric) ?? buildStats(points.map((point) => point.value));
179
+ modelMap.set(metric, stats);
180
+ const latest = points.at(-1);
181
+ if (!latest)
182
+ return null;
183
+ const stdDev = getStdDev(stats);
184
+ if (stdDev === 0)
185
+ return null;
186
+ const zScore = Math.abs((latest.value - stats.mean) / stdDev);
187
+ const threshold = getThreshold(config.sensitivity);
188
+ const confidence = Math.min(1, zScore / threshold);
189
+ if (zScore < threshold || confidence < config.alertThreshold)
190
+ return null;
191
+ return {
192
+ id: generateUuid(),
193
+ timestamp: latest.timestamp,
194
+ workerName,
195
+ metric,
196
+ actual: latest.value,
197
+ expected: stats.mean,
198
+ deviation: zScore,
199
+ confidence,
200
+ severity: selectSeverity(zScore),
201
+ possibleCauses: buildPossibleCauses(metric),
202
+ recommendations: buildRecommendations(metric),
203
+ };
204
+ }));
205
+ return results.filter((item) => item !== null);
206
+ },
207
+ /**
208
+ * Predict failure risk for a worker
209
+ */
210
+ async predictFailure(workerName, horizonHours) {
211
+ ensureConfig(workerName);
212
+ const range = {
213
+ start: new Date(Date.now() - 24 * 60 * 60 * 1000),
214
+ end: new Date(),
215
+ };
216
+ const [errors, processed] = await Promise.all([
217
+ WorkerMetrics.aggregate({
218
+ workerName,
219
+ metricType: 'errors',
220
+ granularity: 'hourly',
221
+ startDate: range.start,
222
+ endDate: range.end,
223
+ }),
224
+ WorkerMetrics.aggregate({
225
+ workerName,
226
+ metricType: 'processed',
227
+ granularity: 'hourly',
228
+ startDate: range.start,
229
+ endDate: range.end,
230
+ }),
231
+ ]);
232
+ const errorRate = processed.total > 0 ? errors.total / processed.total : 0;
233
+ const riskScore = Math.min(1, errorRate * 5);
234
+ let summary = 'Low failure risk detected';
235
+ if (riskScore >= 0.8) {
236
+ summary = 'High failure risk detected';
237
+ }
238
+ else if (riskScore >= 0.4) {
239
+ summary = 'Moderate failure risk detected';
240
+ }
241
+ return {
242
+ workerName,
243
+ horizonHours,
244
+ riskScore,
245
+ expectedErrorRate: errorRate,
246
+ summary,
247
+ };
248
+ },
249
+ /**
250
+ * Analyze root cause for an anomaly
251
+ */
252
+ analyzeRootCause(anomaly) {
253
+ const usage = ResourceMonitor.getCurrentUsage(anomaly.workerName);
254
+ const signals = {
255
+ cpu: usage.cpu,
256
+ memory: usage.memory.percent,
257
+ };
258
+ const suspected = [...anomaly.possibleCauses];
259
+ if (usage.cpu > 80)
260
+ suspected.push('CPU saturation');
261
+ if (usage.memory.percent > 80)
262
+ suspected.push('Memory pressure');
263
+ return {
264
+ anomalyId: anomaly.id,
265
+ suspectedCauses: suspected,
266
+ supportingSignals: signals,
267
+ };
268
+ },
269
+ /**
270
+ * Forecast a metric
271
+ */
272
+ async forecastMetric(workerName, metric, hours) {
273
+ ensureConfig(workerName);
274
+ const entry = await WorkerMetrics.query({
275
+ workerName,
276
+ metricType: metric,
277
+ granularity: 'hourly',
278
+ startDate: new Date(Date.now() - 24 * 60 * 60 * 1000),
279
+ endDate: new Date(),
280
+ });
281
+ const values = entry.points.map((point) => point.value);
282
+ const average = values.length > 0 ? values.reduce((sum, v) => sum + v, 0) / values.length : 0;
283
+ return {
284
+ workerName,
285
+ metric,
286
+ horizonHours: hours,
287
+ forecast: average,
288
+ confidence: values.length > 10 ? 0.7 : 0.4,
289
+ };
290
+ },
291
+ /**
292
+ * Generate recommendations for an anomaly
293
+ */
294
+ getRecommendations(anomaly) {
295
+ return anomaly.recommendations.map((rec) => ({
296
+ action: rec,
297
+ reason: `Metric ${anomaly.metric} deviated from baseline`,
298
+ priority: anomaly.severity === 'critical' ? 'high' : 'medium',
299
+ }));
300
+ },
301
+ /**
302
+ * Attempt auto-remediation
303
+ */
304
+ autoRemediate(_anomaly) {
305
+ return false;
306
+ },
307
+ /**
308
+ * Helper: build training data from metrics
309
+ */
310
+ async buildTrainingData(workerName) {
311
+ const config = ensureConfig(workerName);
312
+ const range = {
313
+ start: new Date(Date.now() - config.learningPeriod * 24 * 60 * 60 * 1000),
314
+ end: new Date(),
315
+ };
316
+ const batches = await Promise.all(config.metrics.map(async (metric) => {
317
+ const entry = await WorkerMetrics.query({
318
+ workerName,
319
+ metricType: metric,
320
+ granularity: 'daily',
321
+ startDate: range.start,
322
+ endDate: range.end,
323
+ });
324
+ return mapPoints(metric, entry.points);
325
+ }));
326
+ return batches.flat();
327
+ },
328
+ });
329
+ export default AnomalyDetection;
@@ -0,0 +1,128 @@
1
+ /**
2
+ * Worker Auto-Scaler
3
+ * Automatic worker scaling based on queue depth, resource usage, and cost optimization
4
+ * Sealed namespace for immutability
5
+ */
6
+ export type ScalingDecision = {
7
+ workerName: string;
8
+ action: 'scale-up' | 'scale-down' | 'no-change';
9
+ currentConcurrency: number;
10
+ targetConcurrency: number;
11
+ reason: string;
12
+ metrics: {
13
+ queueDepth: number;
14
+ avgProcessingTime: number;
15
+ cpuUsage: number;
16
+ memoryUsage: number;
17
+ errorRate: number;
18
+ costPerHour: number;
19
+ };
20
+ timestamp: Date;
21
+ };
22
+ export type ScalingPolicy = {
23
+ minConcurrency: number;
24
+ maxConcurrency: number;
25
+ scaleUpThreshold: {
26
+ queueDepth: number;
27
+ cpuUsage: number;
28
+ memoryUsage: number;
29
+ };
30
+ scaleDownThreshold: {
31
+ queueDepth: number;
32
+ cpuUsage: number;
33
+ memoryUsage: number;
34
+ };
35
+ cooldownPeriod: number;
36
+ aggressiveness: 'conservative' | 'moderate' | 'aggressive';
37
+ };
38
+ export type CostOptimizationStrategy = {
39
+ enabled: boolean;
40
+ maxCostPerHour: number;
41
+ preferSpotInstances: boolean;
42
+ offPeakSchedule?: {
43
+ start: string;
44
+ end: string;
45
+ timezone: string;
46
+ reductionPercentage: number;
47
+ };
48
+ budgetAlerts: {
49
+ dailyLimit: number;
50
+ weeklyLimit: number;
51
+ monthlyLimit: number;
52
+ };
53
+ };
54
+ export type AutoScalerConfig = {
55
+ enabled: boolean;
56
+ checkInterval: number;
57
+ scalingPolicies: Map<string, ScalingPolicy>;
58
+ costOptimization: CostOptimizationStrategy;
59
+ };
60
+ /**
61
+ * Worker Auto-Scaler - Sealed namespace
62
+ */
63
+ export declare const AutoScaler: Readonly<{
64
+ /**
65
+ * Initialize auto-scaler with configuration
66
+ */
67
+ initialize(autoScalerConfig: AutoScalerConfig): void;
68
+ /**
69
+ * Start auto-scaling checks
70
+ */
71
+ start(): void;
72
+ /**
73
+ * Stop auto-scaling checks
74
+ */
75
+ stop(): void;
76
+ /**
77
+ * Evaluate scaling decision for a worker
78
+ */
79
+ evaluate(workerName: string, metrics: ScalingDecision["metrics"]): ScalingDecision;
80
+ /**
81
+ * Get last scaling decision
82
+ */
83
+ getLastDecision(workerName: string): ScalingDecision | null;
84
+ /**
85
+ * Get scaling history
86
+ */
87
+ getHistory(workerName: string, limit?: number): ReadonlyArray<ScalingDecision>;
88
+ /**
89
+ * Clear scaling history for a worker
90
+ */
91
+ clearHistory(workerName: string): void;
92
+ /**
93
+ * Get cost summary
94
+ */
95
+ getCostSummary(): {
96
+ currentHourlyCost: number;
97
+ dailyCost: number;
98
+ weeklyCost: number;
99
+ monthlyCost: number;
100
+ budgetLimits: CostOptimizationStrategy["budgetAlerts"];
101
+ utilizationPercentage: {
102
+ daily: number;
103
+ weekly: number;
104
+ monthly: number;
105
+ };
106
+ };
107
+ /**
108
+ * Set scaling policy for a worker
109
+ */
110
+ setScalingPolicy(workerName: string, policy: ScalingPolicy): void;
111
+ /**
112
+ * Get scaling policy for a worker
113
+ */
114
+ getScalingPolicy(workerName: string): ScalingPolicy | null;
115
+ /**
116
+ * Check if currently in off-peak period
117
+ */
118
+ isOffPeak(): boolean;
119
+ /**
120
+ * Get configuration
121
+ */
122
+ getConfig(): AutoScalerConfig | null;
123
+ /**
124
+ * Shutdown
125
+ */
126
+ shutdown(): void;
127
+ }>;
128
+ //# sourceMappingURL=AutoScaler.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AutoScaler.d.ts","sourceRoot":"","sources":["../../../../packages/workers/src/AutoScaler.ts"],"names":[],"mappings":"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"}