@zintrust/core 0.1.42 → 0.1.43

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 (365) hide show
  1. package/app/Controllers/AuthController.d.ts +10 -0
  2. package/app/Controllers/AuthController.d.ts.map +1 -0
  3. package/app/Controllers/AuthController.js +201 -0
  4. package/app/Controllers/UserController.d.ts +9 -0
  5. package/app/Controllers/UserController.d.ts.map +1 -0
  6. package/app/Controllers/UserController.js +8 -0
  7. package/app/Controllers/UserQueryBuilderController.d.ts +16 -0
  8. package/app/Controllers/UserQueryBuilderController.d.ts.map +1 -0
  9. package/app/Controllers/UserQueryBuilderController.js +404 -0
  10. package/app/Middleware/ProfilerMiddleware.d.ts +12 -0
  11. package/app/Middleware/ProfilerMiddleware.d.ts.map +1 -0
  12. package/app/Middleware/ProfilerMiddleware.js +47 -0
  13. package/app/Middleware/index.d.ts +59 -0
  14. package/app/Middleware/index.d.ts.map +1 -0
  15. package/app/Middleware/index.js +215 -0
  16. package/app/Models/Post.d.ts +14 -0
  17. package/app/Models/Post.d.ts.map +1 -0
  18. package/app/Models/Post.js +27 -0
  19. package/app/Models/User.d.ts +14 -0
  20. package/app/Models/User.d.ts.map +1 -0
  21. package/app/Models/User.js +44 -0
  22. package/app/Schedules/JobTracking.d.ts +3 -0
  23. package/app/Schedules/JobTracking.d.ts.map +1 -0
  24. package/app/Schedules/JobTracking.js +13 -0
  25. package/app/Schedules/index.d.ts +2 -0
  26. package/app/Schedules/index.d.ts.map +1 -0
  27. package/app/Schedules/index.js +1 -0
  28. package/app/Toolkit/Broadcast/sendBroadcast.d.ts +6 -0
  29. package/app/Toolkit/Broadcast/sendBroadcast.d.ts.map +1 -0
  30. package/app/Toolkit/Broadcast/sendBroadcast.js +5 -0
  31. package/app/Toolkit/Mail/sendWelcomeEmail.d.ts +6 -0
  32. package/app/Toolkit/Mail/sendWelcomeEmail.d.ts.map +1 -0
  33. package/app/Toolkit/Mail/sendWelcomeEmail.js +20 -0
  34. package/app/Toolkit/Notification/sendSlackNotification.d.ts +8 -0
  35. package/app/Toolkit/Notification/sendSlackNotification.d.ts.map +1 -0
  36. package/app/Toolkit/Notification/sendSlackNotification.js +5 -0
  37. package/app/Toolkit/Notification/sendSms.d.ts +6 -0
  38. package/app/Toolkit/Notification/sendSms.d.ts.map +1 -0
  39. package/app/Toolkit/Notification/sendSms.js +5 -0
  40. package/app/Types/controller.d.ts +42 -0
  41. package/app/Types/controller.d.ts.map +1 -0
  42. package/app/Types/controller.js +1 -0
  43. package/config/broadcast.d.ts +38 -0
  44. package/config/broadcast.d.ts.map +1 -0
  45. package/config/broadcast.js +37 -0
  46. package/config/cache.d.ts +40 -0
  47. package/config/cache.d.ts.map +1 -0
  48. package/config/cache.js +39 -0
  49. package/config/database.d.ts +58 -0
  50. package/config/database.d.ts.map +1 -0
  51. package/config/database.js +65 -0
  52. package/config/mail.d.ts +51 -0
  53. package/config/mail.d.ts.map +1 -0
  54. package/config/mail.js +69 -0
  55. package/config/middleware.d.ts +11 -0
  56. package/config/middleware.d.ts.map +1 -0
  57. package/config/middleware.js +30 -0
  58. package/config/notification.d.ts +33 -0
  59. package/config/notification.d.ts.map +1 -0
  60. package/config/notification.js +33 -0
  61. package/config/queue.d.ts +55 -0
  62. package/config/queue.d.ts.map +1 -0
  63. package/config/queue.js +87 -0
  64. package/config/storage.d.ts +59 -0
  65. package/config/storage.d.ts.map +1 -0
  66. package/config/storage.js +59 -0
  67. package/config/workers.d.ts +54 -0
  68. package/config/workers.d.ts.map +1 -0
  69. package/config/workers.js +83 -0
  70. package/package.json +11 -5
  71. package/packages/cloudflare-d1-proxy/src/index.d.ts +48 -0
  72. package/packages/cloudflare-d1-proxy/src/index.d.ts.map +1 -0
  73. package/packages/cloudflare-d1-proxy/src/index.js +387 -0
  74. package/packages/cloudflare-kv-proxy/src/index.d.ts +44 -0
  75. package/packages/cloudflare-kv-proxy/src/index.d.ts.map +1 -0
  76. package/packages/cloudflare-kv-proxy/src/index.js +325 -0
  77. package/packages/queue-monitor/src/QueueMonitoringService.d.ts +35 -0
  78. package/packages/queue-monitor/src/QueueMonitoringService.d.ts.map +1 -0
  79. package/packages/queue-monitor/src/QueueMonitoringService.js +194 -0
  80. package/packages/queue-monitor/src/connection.d.ts +3 -0
  81. package/packages/queue-monitor/src/connection.d.ts.map +1 -0
  82. package/packages/queue-monitor/src/connection.js +1 -0
  83. package/packages/queue-monitor/src/dashboard-ui.d.ts +7 -0
  84. package/packages/queue-monitor/src/dashboard-ui.d.ts.map +1 -0
  85. package/packages/queue-monitor/src/dashboard-ui.js +997 -0
  86. package/packages/queue-monitor/src/driver.d.ts +15 -0
  87. package/packages/queue-monitor/src/driver.d.ts.map +1 -0
  88. package/packages/queue-monitor/src/driver.js +115 -0
  89. package/packages/queue-monitor/src/index.d.ts +71 -0
  90. package/packages/queue-monitor/src/index.d.ts.map +1 -0
  91. package/packages/queue-monitor/src/index.js +296 -0
  92. package/packages/queue-monitor/src/metrics.d.ts +27 -0
  93. package/packages/queue-monitor/src/metrics.d.ts.map +1 -0
  94. package/packages/queue-monitor/src/metrics.js +92 -0
  95. package/packages/queue-monitor/src/worker.d.ts +8 -0
  96. package/packages/queue-monitor/src/worker.d.ts.map +1 -0
  97. package/packages/queue-monitor/src/worker.js +35 -0
  98. package/packages/queue-redis/src/BullMQRedisQueue.d.ts +26 -0
  99. package/packages/queue-redis/src/BullMQRedisQueue.d.ts.map +1 -0
  100. package/packages/queue-redis/src/BullMQRedisQueue.js +463 -0
  101. package/packages/queue-redis/src/HttpQueueDriver.d.ts +18 -0
  102. package/packages/queue-redis/src/HttpQueueDriver.d.ts.map +1 -0
  103. package/packages/queue-redis/src/HttpQueueDriver.js +249 -0
  104. package/packages/queue-redis/src/QueueHttpGateway.d.ts +16 -0
  105. package/packages/queue-redis/src/QueueHttpGateway.d.ts.map +1 -0
  106. package/packages/queue-redis/src/QueueHttpGateway.js +217 -0
  107. package/packages/queue-redis/src/RedisPublishClient.d.ts +14 -0
  108. package/packages/queue-redis/src/RedisPublishClient.d.ts.map +1 -0
  109. package/packages/queue-redis/src/RedisPublishClient.js +251 -0
  110. package/packages/queue-redis/src/index.d.ts +12 -0
  111. package/packages/queue-redis/src/index.d.ts.map +1 -0
  112. package/packages/queue-redis/src/index.js +10 -0
  113. package/packages/queue-redis/src/register.d.ts +6 -0
  114. package/packages/queue-redis/src/register.d.ts.map +1 -0
  115. package/packages/queue-redis/src/register.js +21 -0
  116. package/packages/workers/migrations/20260119100000_create_zintrust_workers_table.d.ts +11 -0
  117. package/packages/workers/migrations/20260119100000_create_zintrust_workers_table.d.ts.map +1 -0
  118. package/packages/workers/migrations/20260119100000_create_zintrust_workers_table.js +32 -0
  119. package/packages/workers/migrations/20260123180000_create_queue_jobs_table.d.ts +11 -0
  120. package/packages/workers/migrations/20260123180000_create_queue_jobs_table.d.ts.map +1 -0
  121. package/packages/workers/migrations/20260123180000_create_queue_jobs_table.js +46 -0
  122. package/packages/workers/migrations/20260213142000_create_zintrust_job_tracking_tables.d.ts +7 -0
  123. package/packages/workers/migrations/20260213142000_create_zintrust_job_tracking_tables.d.ts.map +1 -0
  124. package/packages/workers/migrations/20260213142000_create_zintrust_job_tracking_tables.js +44 -0
  125. package/packages/workers/migrations/20260213183000_expand_zintrust_job_tracking_reliability_tables.d.ts +7 -0
  126. package/packages/workers/migrations/20260213183000_expand_zintrust_job_tracking_reliability_tables.d.ts.map +1 -0
  127. package/packages/workers/migrations/20260213183000_expand_zintrust_job_tracking_reliability_tables.js +104 -0
  128. package/packages/workers/src/AnomalyDetection.d.ts +107 -0
  129. package/packages/workers/src/AnomalyDetection.d.ts.map +1 -0
  130. package/packages/workers/src/AnomalyDetection.js +329 -0
  131. package/packages/workers/src/AutoScaler.d.ts +128 -0
  132. package/packages/workers/src/AutoScaler.d.ts.map +1 -0
  133. package/packages/workers/src/AutoScaler.js +425 -0
  134. package/packages/workers/src/BroadcastWorker.d.ts +24 -0
  135. package/packages/workers/src/BroadcastWorker.d.ts.map +1 -0
  136. package/packages/workers/src/BroadcastWorker.js +24 -0
  137. package/packages/workers/src/CanaryController.d.ts +104 -0
  138. package/packages/workers/src/CanaryController.d.ts.map +1 -0
  139. package/packages/workers/src/CanaryController.js +424 -0
  140. package/packages/workers/src/ChaosEngineering.d.ts +80 -0
  141. package/packages/workers/src/ChaosEngineering.d.ts.map +1 -0
  142. package/packages/workers/src/ChaosEngineering.js +229 -0
  143. package/packages/workers/src/CircuitBreaker.d.ts +107 -0
  144. package/packages/workers/src/CircuitBreaker.d.ts.map +1 -0
  145. package/packages/workers/src/CircuitBreaker.js +374 -0
  146. package/packages/workers/src/ClusterLock.d.ts +91 -0
  147. package/packages/workers/src/ClusterLock.d.ts.map +1 -0
  148. package/packages/workers/src/ClusterLock.js +397 -0
  149. package/packages/workers/src/ComplianceManager.d.ts +178 -0
  150. package/packages/workers/src/ComplianceManager.d.ts.map +1 -0
  151. package/packages/workers/src/ComplianceManager.js +556 -0
  152. package/packages/workers/src/DatacenterOrchestrator.d.ts +134 -0
  153. package/packages/workers/src/DatacenterOrchestrator.d.ts.map +1 -0
  154. package/packages/workers/src/DatacenterOrchestrator.js +404 -0
  155. package/packages/workers/src/DeadLetterQueue.d.ts +123 -0
  156. package/packages/workers/src/DeadLetterQueue.d.ts.map +1 -0
  157. package/packages/workers/src/DeadLetterQueue.js +544 -0
  158. package/packages/workers/src/HealthMonitor.d.ts +43 -0
  159. package/packages/workers/src/HealthMonitor.d.ts.map +1 -0
  160. package/packages/workers/src/HealthMonitor.js +312 -0
  161. package/packages/workers/src/MultiQueueWorker.d.ts +90 -0
  162. package/packages/workers/src/MultiQueueWorker.d.ts.map +1 -0
  163. package/packages/workers/src/MultiQueueWorker.js +282 -0
  164. package/packages/workers/src/NotificationWorker.d.ts +24 -0
  165. package/packages/workers/src/NotificationWorker.d.ts.map +1 -0
  166. package/packages/workers/src/NotificationWorker.js +23 -0
  167. package/packages/workers/src/Observability.d.ts +154 -0
  168. package/packages/workers/src/Observability.d.ts.map +1 -0
  169. package/packages/workers/src/Observability.js +538 -0
  170. package/packages/workers/src/PluginManager.d.ts +124 -0
  171. package/packages/workers/src/PluginManager.d.ts.map +1 -0
  172. package/packages/workers/src/PluginManager.js +392 -0
  173. package/packages/workers/src/PriorityQueue.d.ts +118 -0
  174. package/packages/workers/src/PriorityQueue.d.ts.map +1 -0
  175. package/packages/workers/src/PriorityQueue.js +276 -0
  176. package/packages/workers/src/ResourceMonitor.d.ts +165 -0
  177. package/packages/workers/src/ResourceMonitor.d.ts.map +1 -0
  178. package/packages/workers/src/ResourceMonitor.js +632 -0
  179. package/packages/workers/src/SLAMonitor.d.ts +111 -0
  180. package/packages/workers/src/SLAMonitor.d.ts.map +1 -0
  181. package/packages/workers/src/SLAMonitor.js +274 -0
  182. package/packages/workers/src/WorkerFactory.d.ts +218 -0
  183. package/packages/workers/src/WorkerFactory.d.ts.map +1 -0
  184. package/packages/workers/src/WorkerFactory.js +2253 -0
  185. package/packages/workers/src/WorkerInit.d.ts +86 -0
  186. package/packages/workers/src/WorkerInit.d.ts.map +1 -0
  187. package/packages/workers/src/WorkerInit.js +307 -0
  188. package/packages/workers/src/WorkerMetrics.d.ts +116 -0
  189. package/packages/workers/src/WorkerMetrics.d.ts.map +1 -0
  190. package/packages/workers/src/WorkerMetrics.js +570 -0
  191. package/packages/workers/src/WorkerRegistry.d.ts +152 -0
  192. package/packages/workers/src/WorkerRegistry.d.ts.map +1 -0
  193. package/packages/workers/src/WorkerRegistry.js +396 -0
  194. package/packages/workers/src/WorkerShutdown.d.ts +70 -0
  195. package/packages/workers/src/WorkerShutdown.d.ts.map +1 -0
  196. package/packages/workers/src/WorkerShutdown.js +185 -0
  197. package/packages/workers/src/WorkerVersioning.d.ts +108 -0
  198. package/packages/workers/src/WorkerVersioning.d.ts.map +1 -0
  199. package/packages/workers/src/WorkerVersioning.js +300 -0
  200. package/packages/workers/src/config/workerConfig.d.ts +5 -0
  201. package/packages/workers/src/config/workerConfig.d.ts.map +1 -0
  202. package/packages/workers/src/config/workerConfig.js +25 -0
  203. package/packages/workers/src/createQueueWorker.d.ts +26 -0
  204. package/packages/workers/src/createQueueWorker.d.ts.map +1 -0
  205. package/packages/workers/src/createQueueWorker.js +367 -0
  206. package/packages/workers/src/dashboard/index.d.ts +2 -0
  207. package/packages/workers/src/dashboard/index.d.ts.map +1 -0
  208. package/packages/workers/src/dashboard/index.js +1 -0
  209. package/packages/workers/src/dashboard/types.d.ts +123 -0
  210. package/packages/workers/src/dashboard/types.d.ts.map +1 -0
  211. package/packages/workers/src/dashboard/types.js +1 -0
  212. package/packages/workers/src/dashboard/workers-api.d.ts +5 -0
  213. package/packages/workers/src/dashboard/workers-api.d.ts.map +1 -0
  214. package/packages/workers/src/dashboard/workers-api.js +738 -0
  215. package/packages/workers/src/helper/index.d.ts +6 -0
  216. package/packages/workers/src/helper/index.d.ts.map +1 -0
  217. package/packages/workers/src/helper/index.js +10 -0
  218. package/packages/workers/src/http/WorkerApiController.d.ts +39 -0
  219. package/packages/workers/src/http/WorkerApiController.d.ts.map +1 -0
  220. package/packages/workers/src/http/WorkerApiController.js +313 -0
  221. package/packages/workers/src/http/WorkerController.d.ts +375 -0
  222. package/packages/workers/src/http/WorkerController.d.ts.map +1 -0
  223. package/packages/workers/src/http/WorkerController.js +1454 -0
  224. package/packages/workers/src/http/WorkerMonitoringService.d.ts +12 -0
  225. package/packages/workers/src/http/WorkerMonitoringService.d.ts.map +1 -0
  226. package/packages/workers/src/http/WorkerMonitoringService.js +89 -0
  227. package/packages/workers/src/http/middleware/CustomValidation.d.ts +93 -0
  228. package/packages/workers/src/http/middleware/CustomValidation.d.ts.map +1 -0
  229. package/packages/workers/src/http/middleware/CustomValidation.js +270 -0
  230. package/packages/workers/src/http/middleware/DatacenterValidator.d.ts +4 -0
  231. package/packages/workers/src/http/middleware/DatacenterValidator.d.ts.map +1 -0
  232. package/packages/workers/src/http/middleware/DatacenterValidator.js +94 -0
  233. package/packages/workers/src/http/middleware/EditWorkerValidation.d.ts +8 -0
  234. package/packages/workers/src/http/middleware/EditWorkerValidation.d.ts.map +1 -0
  235. package/packages/workers/src/http/middleware/EditWorkerValidation.js +56 -0
  236. package/packages/workers/src/http/middleware/FeaturesValidator.d.ts +4 -0
  237. package/packages/workers/src/http/middleware/FeaturesValidator.d.ts.map +1 -0
  238. package/packages/workers/src/http/middleware/FeaturesValidator.js +60 -0
  239. package/packages/workers/src/http/middleware/InfrastructureValidator.d.ts +32 -0
  240. package/packages/workers/src/http/middleware/InfrastructureValidator.d.ts.map +1 -0
  241. package/packages/workers/src/http/middleware/InfrastructureValidator.js +226 -0
  242. package/packages/workers/src/http/middleware/OptionsValidator.d.ts +4 -0
  243. package/packages/workers/src/http/middleware/OptionsValidator.d.ts.map +1 -0
  244. package/packages/workers/src/http/middleware/OptionsValidator.js +112 -0
  245. package/packages/workers/src/http/middleware/PayloadSanitizer.d.ts +8 -0
  246. package/packages/workers/src/http/middleware/PayloadSanitizer.d.ts.map +1 -0
  247. package/packages/workers/src/http/middleware/PayloadSanitizer.js +42 -0
  248. package/packages/workers/src/http/middleware/ProcessorPathSanitizer.d.ts +4 -0
  249. package/packages/workers/src/http/middleware/ProcessorPathSanitizer.d.ts.map +1 -0
  250. package/packages/workers/src/http/middleware/ProcessorPathSanitizer.js +140 -0
  251. package/packages/workers/src/http/middleware/QueueNameSanitizer.d.ts +4 -0
  252. package/packages/workers/src/http/middleware/QueueNameSanitizer.d.ts.map +1 -0
  253. package/packages/workers/src/http/middleware/QueueNameSanitizer.js +45 -0
  254. package/packages/workers/src/http/middleware/ValidateDriver.d.ts +8 -0
  255. package/packages/workers/src/http/middleware/ValidateDriver.d.ts.map +1 -0
  256. package/packages/workers/src/http/middleware/ValidateDriver.js +20 -0
  257. package/packages/workers/src/http/middleware/VersionSanitizer.d.ts +4 -0
  258. package/packages/workers/src/http/middleware/VersionSanitizer.d.ts.map +1 -0
  259. package/packages/workers/src/http/middleware/VersionSanitizer.js +25 -0
  260. package/packages/workers/src/http/middleware/WorkerNameSanitizer.d.ts +4 -0
  261. package/packages/workers/src/http/middleware/WorkerNameSanitizer.d.ts.map +1 -0
  262. package/packages/workers/src/http/middleware/WorkerNameSanitizer.js +46 -0
  263. package/packages/workers/src/http/middleware/WorkerValidationChain.d.ts +28 -0
  264. package/packages/workers/src/http/middleware/WorkerValidationChain.d.ts.map +1 -0
  265. package/packages/workers/src/http/middleware/WorkerValidationChain.js +186 -0
  266. package/packages/workers/src/index.d.ts +47 -0
  267. package/packages/workers/src/index.d.ts.map +1 -0
  268. package/packages/workers/src/index.js +48 -0
  269. package/packages/workers/src/routes/workers.d.ts +13 -0
  270. package/packages/workers/src/routes/workers.d.ts.map +1 -0
  271. package/packages/workers/src/routes/workers.js +126 -0
  272. package/packages/workers/src/storage/WorkerStore.d.ts +52 -0
  273. package/packages/workers/src/storage/WorkerStore.d.ts.map +1 -0
  274. package/packages/workers/src/storage/WorkerStore.js +259 -0
  275. package/packages/workers/src/telemetry/api/TelemetryAPI.d.ts +47 -0
  276. package/packages/workers/src/telemetry/api/TelemetryAPI.d.ts.map +1 -0
  277. package/packages/workers/src/telemetry/api/TelemetryAPI.js +219 -0
  278. package/packages/workers/src/telemetry/api/TelemetryMonitoringService.d.ts +18 -0
  279. package/packages/workers/src/telemetry/api/TelemetryMonitoringService.d.ts.map +1 -0
  280. package/packages/workers/src/telemetry/api/TelemetryMonitoringService.js +140 -0
  281. package/packages/workers/src/telemetry/components/AlertPanel.d.ts +2 -0
  282. package/packages/workers/src/telemetry/components/AlertPanel.d.ts.map +1 -0
  283. package/packages/workers/src/telemetry/components/AlertPanel.js +13 -0
  284. package/packages/workers/src/telemetry/components/CostTracking.d.ts +2 -0
  285. package/packages/workers/src/telemetry/components/CostTracking.d.ts.map +1 -0
  286. package/packages/workers/src/telemetry/components/CostTracking.js +14 -0
  287. package/packages/workers/src/telemetry/components/ResourceUsageChart.d.ts +2 -0
  288. package/packages/workers/src/telemetry/components/ResourceUsageChart.d.ts.map +1 -0
  289. package/packages/workers/src/telemetry/components/ResourceUsageChart.js +11 -0
  290. package/packages/workers/src/telemetry/components/WorkerHealthChart.d.ts +2 -0
  291. package/packages/workers/src/telemetry/components/WorkerHealthChart.d.ts.map +1 -0
  292. package/packages/workers/src/telemetry/components/WorkerHealthChart.js +11 -0
  293. package/packages/workers/src/telemetry/index.d.ts +16 -0
  294. package/packages/workers/src/telemetry/index.d.ts.map +1 -0
  295. package/packages/workers/src/telemetry/index.js +60 -0
  296. package/packages/workers/src/telemetry/routes/dashboard.d.ts +7 -0
  297. package/packages/workers/src/telemetry/routes/dashboard.d.ts.map +1 -0
  298. package/packages/workers/src/telemetry/routes/dashboard.js +608 -0
  299. package/packages/workers/src/type.d.ts +77 -0
  300. package/packages/workers/src/type.d.ts.map +1 -0
  301. package/packages/workers/src/type.js +1 -0
  302. package/packages/workers/src/ui/router/EmbeddedAssets.d.ts +5 -0
  303. package/packages/workers/src/ui/router/EmbeddedAssets.d.ts.map +1 -0
  304. package/packages/workers/src/ui/router/EmbeddedAssets.js +13 -0
  305. package/packages/workers/src/ui/router/ui.d.ts +4 -0
  306. package/packages/workers/src/ui/router/ui.d.ts.map +1 -0
  307. package/packages/workers/src/ui/router/ui.js +208 -0
  308. package/packages/workers/src/ui/types/worker-ui.d.ts +230 -0
  309. package/packages/workers/src/ui/types/worker-ui.d.ts.map +1 -0
  310. package/packages/workers/src/ui/types/worker-ui.js +5 -0
  311. package/routes/api.d.ts +7 -0
  312. package/routes/api.d.ts.map +1 -0
  313. package/routes/api.js +129 -0
  314. package/routes/broadcast.d.ts +9 -0
  315. package/routes/broadcast.d.ts.map +1 -0
  316. package/routes/broadcast.js +27 -0
  317. package/routes/storage.d.ts +4 -0
  318. package/routes/storage.d.ts.map +1 -0
  319. package/routes/storage.js +35 -0
  320. package/src/cache/Cache.d.ts.map +1 -1
  321. package/src/cache/Cache.js +40 -8
  322. package/src/cache/drivers/KVRemoteDriver.d.ts +1 -1
  323. package/src/cache/drivers/KVRemoteDriver.d.ts.map +1 -1
  324. package/src/cache/drivers/KVRemoteDriver.js +259 -44
  325. package/src/cache/drivers/MemoryDriver.d.ts.map +1 -1
  326. package/src/cache/drivers/MemoryDriver.js +10 -2
  327. package/src/cache/drivers/RedisDriver.d.ts.map +1 -1
  328. package/src/cache/drivers/RedisDriver.js +256 -33
  329. package/src/cli/commands/InitContainerCommand.js +10 -10
  330. package/src/cli/commands/NewCommand.d.ts.map +1 -1
  331. package/src/cli/commands/NewCommand.js +33 -0
  332. package/src/cli/commands/StartCommand.d.ts.map +1 -1
  333. package/src/cli/commands/StartCommand.js +23 -1
  334. package/src/cli/scaffolding/ProjectScaffolder.d.ts.map +1 -1
  335. package/src/cli/scaffolding/ProjectScaffolder.js +65 -73
  336. package/src/cli/utils/DistPackager.d.ts.map +1 -1
  337. package/src/cli/utils/DistPackager.js +25 -0
  338. package/src/cli/utils/EnvFileLoader.d.ts +1 -0
  339. package/src/cli/utils/EnvFileLoader.d.ts.map +1 -1
  340. package/src/cli/utils/EnvFileLoader.js +14 -0
  341. package/src/common/RemoteSignedJson.d.ts.map +1 -1
  342. package/src/common/RemoteSignedJson.js +9 -2
  343. package/src/config/cache.js +1 -1
  344. package/src/config/env.d.ts +7 -0
  345. package/src/config/env.d.ts.map +1 -1
  346. package/src/config/env.js +8 -0
  347. package/src/config/queue.js +1 -1
  348. package/src/functions/cloudflare.d.ts.map +1 -1
  349. package/src/functions/cloudflare.js +4 -2
  350. package/src/index.js +3 -3
  351. package/src/middleware/JwtAuthMiddleware.d.ts.map +1 -1
  352. package/src/middleware/JwtAuthMiddleware.js +11 -5
  353. package/src/runtime/RuntimeAdapter.d.ts.map +1 -1
  354. package/src/runtime/RuntimeAdapter.js +30 -12
  355. package/src/runtime/adapters/CloudflareAdapter.d.ts.map +1 -1
  356. package/src/runtime/adapters/CloudflareAdapter.js +15 -4
  357. package/src/scheduler/Schedule.js +1 -1
  358. package/src/scheduler/leader/SchedulerLeader.js +1 -1
  359. package/src/schedules/job-tracking-cleanup.js +1 -1
  360. package/src/security/TokenRevocation.d.ts +19 -2
  361. package/src/security/TokenRevocation.d.ts.map +1 -1
  362. package/src/security/TokenRevocation.js +558 -30
  363. package/src/templates/project/basic/app/Controllers/AuthController.ts.tpl +11 -3
  364. package/src/templates/project/basic/config/middleware.ts.tpl +23 -22
  365. 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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"}