@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.
- package/README.md +1 -0
- package/app/Controllers/AuthController.d.ts +10 -0
- package/app/Controllers/AuthController.d.ts.map +1 -0
- package/app/Controllers/AuthController.js +201 -0
- package/app/Controllers/UserController.d.ts +9 -0
- package/app/Controllers/UserController.d.ts.map +1 -0
- package/app/Controllers/UserController.js +8 -0
- package/app/Controllers/UserQueryBuilderController.d.ts +16 -0
- package/app/Controllers/UserQueryBuilderController.d.ts.map +1 -0
- package/app/Controllers/UserQueryBuilderController.js +404 -0
- package/app/Middleware/ProfilerMiddleware.d.ts +12 -0
- package/app/Middleware/ProfilerMiddleware.d.ts.map +1 -0
- package/app/Middleware/ProfilerMiddleware.js +47 -0
- package/app/Middleware/index.d.ts +59 -0
- package/app/Middleware/index.d.ts.map +1 -0
- package/app/Middleware/index.js +215 -0
- package/app/Models/Post.d.ts +14 -0
- package/app/Models/Post.d.ts.map +1 -0
- package/app/Models/Post.js +27 -0
- package/app/Models/User.d.ts +14 -0
- package/app/Models/User.d.ts.map +1 -0
- package/app/Models/User.js +44 -0
- package/app/Schedules/JobTracking.d.ts +3 -0
- package/app/Schedules/JobTracking.d.ts.map +1 -0
- package/app/Schedules/JobTracking.js +13 -0
- package/app/Schedules/index.d.ts +2 -0
- package/app/Schedules/index.d.ts.map +1 -0
- package/app/Schedules/index.js +1 -0
- package/app/Toolkit/Broadcast/sendBroadcast.d.ts +6 -0
- package/app/Toolkit/Broadcast/sendBroadcast.d.ts.map +1 -0
- package/app/Toolkit/Broadcast/sendBroadcast.js +5 -0
- package/app/Toolkit/Mail/sendWelcomeEmail.d.ts +6 -0
- package/app/Toolkit/Mail/sendWelcomeEmail.d.ts.map +1 -0
- package/app/Toolkit/Mail/sendWelcomeEmail.js +20 -0
- package/app/Toolkit/Notification/sendSlackNotification.d.ts +8 -0
- package/app/Toolkit/Notification/sendSlackNotification.d.ts.map +1 -0
- package/app/Toolkit/Notification/sendSlackNotification.js +5 -0
- package/app/Toolkit/Notification/sendSms.d.ts +6 -0
- package/app/Toolkit/Notification/sendSms.d.ts.map +1 -0
- package/app/Toolkit/Notification/sendSms.js +5 -0
- package/app/Types/controller.d.ts +42 -0
- package/app/Types/controller.d.ts.map +1 -0
- package/app/Types/controller.js +1 -0
- package/config/broadcast.d.ts +38 -0
- package/config/broadcast.d.ts.map +1 -0
- package/config/broadcast.js +37 -0
- package/config/cache.d.ts +40 -0
- package/config/cache.d.ts.map +1 -0
- package/config/cache.js +39 -0
- package/config/database.d.ts +58 -0
- package/config/database.d.ts.map +1 -0
- package/config/database.js +65 -0
- package/config/mail.d.ts +51 -0
- package/config/mail.d.ts.map +1 -0
- package/config/mail.js +69 -0
- package/config/middleware.d.ts +11 -0
- package/config/middleware.d.ts.map +1 -0
- package/config/middleware.js +30 -0
- package/config/notification.d.ts +33 -0
- package/config/notification.d.ts.map +1 -0
- package/config/notification.js +33 -0
- package/config/queue.d.ts +55 -0
- package/config/queue.d.ts.map +1 -0
- package/config/queue.js +87 -0
- package/config/storage.d.ts +59 -0
- package/config/storage.d.ts.map +1 -0
- package/config/storage.js +59 -0
- package/config/workers.d.ts +54 -0
- package/config/workers.d.ts.map +1 -0
- package/config/workers.js +83 -0
- package/package.json +12 -5
- package/packages/cloudflare-d1-proxy/src/index.d.ts +48 -0
- package/packages/cloudflare-d1-proxy/src/index.d.ts.map +1 -0
- package/packages/cloudflare-d1-proxy/src/index.js +387 -0
- package/packages/cloudflare-kv-proxy/src/index.d.ts +44 -0
- package/packages/cloudflare-kv-proxy/src/index.d.ts.map +1 -0
- package/packages/cloudflare-kv-proxy/src/index.js +325 -0
- package/packages/queue-monitor/src/QueueMonitoringService.d.ts +35 -0
- package/packages/queue-monitor/src/QueueMonitoringService.d.ts.map +1 -0
- package/packages/queue-monitor/src/QueueMonitoringService.js +194 -0
- package/packages/queue-monitor/src/connection.d.ts +3 -0
- package/packages/queue-monitor/src/connection.d.ts.map +1 -0
- package/packages/queue-monitor/src/connection.js +1 -0
- package/packages/queue-monitor/src/dashboard-ui.d.ts +7 -0
- package/packages/queue-monitor/src/dashboard-ui.d.ts.map +1 -0
- package/packages/queue-monitor/src/dashboard-ui.js +997 -0
- package/packages/queue-monitor/src/driver.d.ts +15 -0
- package/packages/queue-monitor/src/driver.d.ts.map +1 -0
- package/packages/queue-monitor/src/driver.js +115 -0
- package/packages/queue-monitor/src/index.d.ts +71 -0
- package/packages/queue-monitor/src/index.d.ts.map +1 -0
- package/packages/queue-monitor/src/index.js +296 -0
- package/packages/queue-monitor/src/metrics.d.ts +27 -0
- package/packages/queue-monitor/src/metrics.d.ts.map +1 -0
- package/packages/queue-monitor/src/metrics.js +92 -0
- package/packages/queue-monitor/src/worker.d.ts +8 -0
- package/packages/queue-monitor/src/worker.d.ts.map +1 -0
- package/packages/queue-monitor/src/worker.js +35 -0
- package/packages/queue-redis/src/BullMQRedisQueue.d.ts +26 -0
- package/packages/queue-redis/src/BullMQRedisQueue.d.ts.map +1 -0
- package/packages/queue-redis/src/BullMQRedisQueue.js +463 -0
- package/packages/queue-redis/src/HttpQueueDriver.d.ts +18 -0
- package/packages/queue-redis/src/HttpQueueDriver.d.ts.map +1 -0
- package/packages/queue-redis/src/HttpQueueDriver.js +249 -0
- package/packages/queue-redis/src/QueueHttpGateway.d.ts +16 -0
- package/packages/queue-redis/src/QueueHttpGateway.d.ts.map +1 -0
- package/packages/queue-redis/src/QueueHttpGateway.js +217 -0
- package/packages/queue-redis/src/RedisPublishClient.d.ts +14 -0
- package/packages/queue-redis/src/RedisPublishClient.d.ts.map +1 -0
- package/packages/queue-redis/src/RedisPublishClient.js +251 -0
- package/packages/queue-redis/src/index.d.ts +12 -0
- package/packages/queue-redis/src/index.d.ts.map +1 -0
- package/packages/queue-redis/src/index.js +10 -0
- package/packages/queue-redis/src/register.d.ts +6 -0
- package/packages/queue-redis/src/register.d.ts.map +1 -0
- package/packages/queue-redis/src/register.js +21 -0
- package/packages/workers/migrations/20260119100000_create_zintrust_workers_table.d.ts +11 -0
- package/packages/workers/migrations/20260119100000_create_zintrust_workers_table.d.ts.map +1 -0
- package/packages/workers/migrations/20260119100000_create_zintrust_workers_table.js +32 -0
- package/packages/workers/migrations/20260123180000_create_queue_jobs_table.d.ts +11 -0
- package/packages/workers/migrations/20260123180000_create_queue_jobs_table.d.ts.map +1 -0
- package/packages/workers/migrations/20260123180000_create_queue_jobs_table.js +46 -0
- package/packages/workers/migrations/20260213142000_create_zintrust_job_tracking_tables.d.ts +7 -0
- package/packages/workers/migrations/20260213142000_create_zintrust_job_tracking_tables.d.ts.map +1 -0
- package/packages/workers/migrations/20260213142000_create_zintrust_job_tracking_tables.js +44 -0
- package/packages/workers/migrations/20260213183000_expand_zintrust_job_tracking_reliability_tables.d.ts +7 -0
- package/packages/workers/migrations/20260213183000_expand_zintrust_job_tracking_reliability_tables.d.ts.map +1 -0
- package/packages/workers/migrations/20260213183000_expand_zintrust_job_tracking_reliability_tables.js +104 -0
- package/packages/workers/src/AnomalyDetection.d.ts +107 -0
- package/packages/workers/src/AnomalyDetection.d.ts.map +1 -0
- package/packages/workers/src/AnomalyDetection.js +329 -0
- package/packages/workers/src/AutoScaler.d.ts +128 -0
- package/packages/workers/src/AutoScaler.d.ts.map +1 -0
- package/packages/workers/src/AutoScaler.js +425 -0
- package/packages/workers/src/BroadcastWorker.d.ts +24 -0
- package/packages/workers/src/BroadcastWorker.d.ts.map +1 -0
- package/packages/workers/src/BroadcastWorker.js +24 -0
- package/packages/workers/src/CanaryController.d.ts +104 -0
- package/packages/workers/src/CanaryController.d.ts.map +1 -0
- package/packages/workers/src/CanaryController.js +424 -0
- package/packages/workers/src/ChaosEngineering.d.ts +80 -0
- package/packages/workers/src/ChaosEngineering.d.ts.map +1 -0
- package/packages/workers/src/ChaosEngineering.js +229 -0
- package/packages/workers/src/CircuitBreaker.d.ts +107 -0
- package/packages/workers/src/CircuitBreaker.d.ts.map +1 -0
- package/packages/workers/src/CircuitBreaker.js +374 -0
- package/packages/workers/src/ClusterLock.d.ts +91 -0
- package/packages/workers/src/ClusterLock.d.ts.map +1 -0
- package/packages/workers/src/ClusterLock.js +397 -0
- package/packages/workers/src/ComplianceManager.d.ts +178 -0
- package/packages/workers/src/ComplianceManager.d.ts.map +1 -0
- package/packages/workers/src/ComplianceManager.js +556 -0
- package/packages/workers/src/DatacenterOrchestrator.d.ts +134 -0
- package/packages/workers/src/DatacenterOrchestrator.d.ts.map +1 -0
- package/packages/workers/src/DatacenterOrchestrator.js +404 -0
- package/packages/workers/src/DeadLetterQueue.d.ts +123 -0
- package/packages/workers/src/DeadLetterQueue.d.ts.map +1 -0
- package/packages/workers/src/DeadLetterQueue.js +544 -0
- package/packages/workers/src/HealthMonitor.d.ts +43 -0
- package/packages/workers/src/HealthMonitor.d.ts.map +1 -0
- package/packages/workers/src/HealthMonitor.js +312 -0
- package/packages/workers/src/MultiQueueWorker.d.ts +90 -0
- package/packages/workers/src/MultiQueueWorker.d.ts.map +1 -0
- package/packages/workers/src/MultiQueueWorker.js +282 -0
- package/packages/workers/src/NotificationWorker.d.ts +24 -0
- package/packages/workers/src/NotificationWorker.d.ts.map +1 -0
- package/packages/workers/src/NotificationWorker.js +23 -0
- package/packages/workers/src/Observability.d.ts +154 -0
- package/packages/workers/src/Observability.d.ts.map +1 -0
- package/packages/workers/src/Observability.js +538 -0
- package/packages/workers/src/PluginManager.d.ts +124 -0
- package/packages/workers/src/PluginManager.d.ts.map +1 -0
- package/packages/workers/src/PluginManager.js +392 -0
- package/packages/workers/src/PriorityQueue.d.ts +118 -0
- package/packages/workers/src/PriorityQueue.d.ts.map +1 -0
- package/packages/workers/src/PriorityQueue.js +276 -0
- package/packages/workers/src/ResourceMonitor.d.ts +165 -0
- package/packages/workers/src/ResourceMonitor.d.ts.map +1 -0
- package/packages/workers/src/ResourceMonitor.js +632 -0
- package/packages/workers/src/SLAMonitor.d.ts +111 -0
- package/packages/workers/src/SLAMonitor.d.ts.map +1 -0
- package/packages/workers/src/SLAMonitor.js +274 -0
- package/packages/workers/src/WorkerFactory.d.ts +218 -0
- package/packages/workers/src/WorkerFactory.d.ts.map +1 -0
- package/packages/workers/src/WorkerFactory.js +2253 -0
- package/packages/workers/src/WorkerInit.d.ts +86 -0
- package/packages/workers/src/WorkerInit.d.ts.map +1 -0
- package/packages/workers/src/WorkerInit.js +307 -0
- package/packages/workers/src/WorkerMetrics.d.ts +116 -0
- package/packages/workers/src/WorkerMetrics.d.ts.map +1 -0
- package/packages/workers/src/WorkerMetrics.js +570 -0
- package/packages/workers/src/WorkerRegistry.d.ts +152 -0
- package/packages/workers/src/WorkerRegistry.d.ts.map +1 -0
- package/packages/workers/src/WorkerRegistry.js +396 -0
- package/packages/workers/src/WorkerShutdown.d.ts +70 -0
- package/packages/workers/src/WorkerShutdown.d.ts.map +1 -0
- package/packages/workers/src/WorkerShutdown.js +185 -0
- package/packages/workers/src/WorkerVersioning.d.ts +108 -0
- package/packages/workers/src/WorkerVersioning.d.ts.map +1 -0
- package/packages/workers/src/WorkerVersioning.js +300 -0
- package/packages/workers/src/config/workerConfig.d.ts +5 -0
- package/packages/workers/src/config/workerConfig.d.ts.map +1 -0
- package/packages/workers/src/config/workerConfig.js +25 -0
- package/packages/workers/src/createQueueWorker.d.ts +26 -0
- package/packages/workers/src/createQueueWorker.d.ts.map +1 -0
- package/packages/workers/src/createQueueWorker.js +367 -0
- package/packages/workers/src/dashboard/index.d.ts +2 -0
- package/packages/workers/src/dashboard/index.d.ts.map +1 -0
- package/packages/workers/src/dashboard/index.js +1 -0
- package/packages/workers/src/dashboard/types.d.ts +123 -0
- package/packages/workers/src/dashboard/types.d.ts.map +1 -0
- package/packages/workers/src/dashboard/types.js +1 -0
- package/packages/workers/src/dashboard/workers-api.d.ts +5 -0
- package/packages/workers/src/dashboard/workers-api.d.ts.map +1 -0
- package/packages/workers/src/dashboard/workers-api.js +738 -0
- package/packages/workers/src/helper/index.d.ts +6 -0
- package/packages/workers/src/helper/index.d.ts.map +1 -0
- package/packages/workers/src/helper/index.js +10 -0
- package/packages/workers/src/http/WorkerApiController.d.ts +39 -0
- package/packages/workers/src/http/WorkerApiController.d.ts.map +1 -0
- package/packages/workers/src/http/WorkerApiController.js +313 -0
- package/packages/workers/src/http/WorkerController.d.ts +375 -0
- package/packages/workers/src/http/WorkerController.d.ts.map +1 -0
- package/packages/workers/src/http/WorkerController.js +1454 -0
- package/packages/workers/src/http/WorkerMonitoringService.d.ts +12 -0
- package/packages/workers/src/http/WorkerMonitoringService.d.ts.map +1 -0
- package/packages/workers/src/http/WorkerMonitoringService.js +89 -0
- package/packages/workers/src/http/middleware/CustomValidation.d.ts +93 -0
- package/packages/workers/src/http/middleware/CustomValidation.d.ts.map +1 -0
- package/packages/workers/src/http/middleware/CustomValidation.js +270 -0
- package/packages/workers/src/http/middleware/DatacenterValidator.d.ts +4 -0
- package/packages/workers/src/http/middleware/DatacenterValidator.d.ts.map +1 -0
- package/packages/workers/src/http/middleware/DatacenterValidator.js +94 -0
- package/packages/workers/src/http/middleware/EditWorkerValidation.d.ts +8 -0
- package/packages/workers/src/http/middleware/EditWorkerValidation.d.ts.map +1 -0
- package/packages/workers/src/http/middleware/EditWorkerValidation.js +56 -0
- package/packages/workers/src/http/middleware/FeaturesValidator.d.ts +4 -0
- package/packages/workers/src/http/middleware/FeaturesValidator.d.ts.map +1 -0
- package/packages/workers/src/http/middleware/FeaturesValidator.js +60 -0
- package/packages/workers/src/http/middleware/InfrastructureValidator.d.ts +32 -0
- package/packages/workers/src/http/middleware/InfrastructureValidator.d.ts.map +1 -0
- package/packages/workers/src/http/middleware/InfrastructureValidator.js +226 -0
- package/packages/workers/src/http/middleware/OptionsValidator.d.ts +4 -0
- package/packages/workers/src/http/middleware/OptionsValidator.d.ts.map +1 -0
- package/packages/workers/src/http/middleware/OptionsValidator.js +112 -0
- package/packages/workers/src/http/middleware/PayloadSanitizer.d.ts +8 -0
- package/packages/workers/src/http/middleware/PayloadSanitizer.d.ts.map +1 -0
- package/packages/workers/src/http/middleware/PayloadSanitizer.js +42 -0
- package/packages/workers/src/http/middleware/ProcessorPathSanitizer.d.ts +4 -0
- package/packages/workers/src/http/middleware/ProcessorPathSanitizer.d.ts.map +1 -0
- package/packages/workers/src/http/middleware/ProcessorPathSanitizer.js +140 -0
- package/packages/workers/src/http/middleware/QueueNameSanitizer.d.ts +4 -0
- package/packages/workers/src/http/middleware/QueueNameSanitizer.d.ts.map +1 -0
- package/packages/workers/src/http/middleware/QueueNameSanitizer.js +45 -0
- package/packages/workers/src/http/middleware/ValidateDriver.d.ts +8 -0
- package/packages/workers/src/http/middleware/ValidateDriver.d.ts.map +1 -0
- package/packages/workers/src/http/middleware/ValidateDriver.js +20 -0
- package/packages/workers/src/http/middleware/VersionSanitizer.d.ts +4 -0
- package/packages/workers/src/http/middleware/VersionSanitizer.d.ts.map +1 -0
- package/packages/workers/src/http/middleware/VersionSanitizer.js +25 -0
- package/packages/workers/src/http/middleware/WorkerNameSanitizer.d.ts +4 -0
- package/packages/workers/src/http/middleware/WorkerNameSanitizer.d.ts.map +1 -0
- package/packages/workers/src/http/middleware/WorkerNameSanitizer.js +46 -0
- package/packages/workers/src/http/middleware/WorkerValidationChain.d.ts +28 -0
- package/packages/workers/src/http/middleware/WorkerValidationChain.d.ts.map +1 -0
- package/packages/workers/src/http/middleware/WorkerValidationChain.js +186 -0
- package/packages/workers/src/index.d.ts +47 -0
- package/packages/workers/src/index.d.ts.map +1 -0
- package/packages/workers/src/index.js +48 -0
- package/packages/workers/src/routes/workers.d.ts +13 -0
- package/packages/workers/src/routes/workers.d.ts.map +1 -0
- package/packages/workers/src/routes/workers.js +126 -0
- package/packages/workers/src/storage/WorkerStore.d.ts +52 -0
- package/packages/workers/src/storage/WorkerStore.d.ts.map +1 -0
- package/packages/workers/src/storage/WorkerStore.js +259 -0
- package/packages/workers/src/telemetry/api/TelemetryAPI.d.ts +47 -0
- package/packages/workers/src/telemetry/api/TelemetryAPI.d.ts.map +1 -0
- package/packages/workers/src/telemetry/api/TelemetryAPI.js +219 -0
- package/packages/workers/src/telemetry/api/TelemetryMonitoringService.d.ts +18 -0
- package/packages/workers/src/telemetry/api/TelemetryMonitoringService.d.ts.map +1 -0
- package/packages/workers/src/telemetry/api/TelemetryMonitoringService.js +140 -0
- package/packages/workers/src/telemetry/components/AlertPanel.d.ts +2 -0
- package/packages/workers/src/telemetry/components/AlertPanel.d.ts.map +1 -0
- package/packages/workers/src/telemetry/components/AlertPanel.js +13 -0
- package/packages/workers/src/telemetry/components/CostTracking.d.ts +2 -0
- package/packages/workers/src/telemetry/components/CostTracking.d.ts.map +1 -0
- package/packages/workers/src/telemetry/components/CostTracking.js +14 -0
- package/packages/workers/src/telemetry/components/ResourceUsageChart.d.ts +2 -0
- package/packages/workers/src/telemetry/components/ResourceUsageChart.d.ts.map +1 -0
- package/packages/workers/src/telemetry/components/ResourceUsageChart.js +11 -0
- package/packages/workers/src/telemetry/components/WorkerHealthChart.d.ts +2 -0
- package/packages/workers/src/telemetry/components/WorkerHealthChart.d.ts.map +1 -0
- package/packages/workers/src/telemetry/components/WorkerHealthChart.js +11 -0
- package/packages/workers/src/telemetry/index.d.ts +16 -0
- package/packages/workers/src/telemetry/index.d.ts.map +1 -0
- package/packages/workers/src/telemetry/index.js +60 -0
- package/packages/workers/src/telemetry/routes/dashboard.d.ts +7 -0
- package/packages/workers/src/telemetry/routes/dashboard.d.ts.map +1 -0
- package/packages/workers/src/telemetry/routes/dashboard.js +608 -0
- package/packages/workers/src/type.d.ts +77 -0
- package/packages/workers/src/type.d.ts.map +1 -0
- package/packages/workers/src/type.js +1 -0
- package/packages/workers/src/ui/router/EmbeddedAssets.d.ts +5 -0
- package/packages/workers/src/ui/router/EmbeddedAssets.d.ts.map +1 -0
- package/packages/workers/src/ui/router/EmbeddedAssets.js +13 -0
- package/packages/workers/src/ui/router/ui.d.ts +4 -0
- package/packages/workers/src/ui/router/ui.d.ts.map +1 -0
- package/packages/workers/src/ui/router/ui.js +208 -0
- package/packages/workers/src/ui/types/worker-ui.d.ts +230 -0
- package/packages/workers/src/ui/types/worker-ui.d.ts.map +1 -0
- package/packages/workers/src/ui/types/worker-ui.js +5 -0
- package/routes/api.d.ts +7 -0
- package/routes/api.d.ts.map +1 -0
- package/routes/api.js +129 -0
- package/routes/broadcast.d.ts +9 -0
- package/routes/broadcast.d.ts.map +1 -0
- package/routes/broadcast.js +27 -0
- package/routes/storage.d.ts +4 -0
- package/routes/storage.d.ts.map +1 -0
- package/routes/storage.js +35 -0
- package/src/cache/Cache.d.ts.map +1 -1
- package/src/cache/Cache.js +40 -8
- package/src/cache/drivers/KVRemoteDriver.d.ts +1 -1
- package/src/cache/drivers/KVRemoteDriver.d.ts.map +1 -1
- package/src/cache/drivers/KVRemoteDriver.js +259 -44
- package/src/cache/drivers/MemoryDriver.d.ts.map +1 -1
- package/src/cache/drivers/MemoryDriver.js +10 -2
- package/src/cache/drivers/RedisDriver.d.ts.map +1 -1
- package/src/cache/drivers/RedisDriver.js +256 -33
- package/src/cli/CLI.d.ts.map +1 -1
- package/src/cli/CLI.js +6 -0
- package/src/cli/commands/DeployCommand.d.ts.map +1 -1
- package/src/cli/commands/DeployCommand.js +12 -1
- package/src/cli/commands/DeployContainersProxyCommand.d.ts +5 -0
- package/src/cli/commands/DeployContainersProxyCommand.d.ts.map +1 -0
- package/src/cli/commands/DeployContainersProxyCommand.js +45 -0
- package/src/cli/commands/DockerCommand.d.ts +5 -0
- package/src/cli/commands/DockerCommand.d.ts.map +1 -0
- package/src/cli/commands/DockerCommand.js +74 -0
- package/src/cli/commands/InitContainerCommand.js +10 -10
- package/src/cli/commands/InitContainersProxyCommand.d.ts +5 -0
- package/src/cli/commands/InitContainersProxyCommand.d.ts.map +1 -0
- package/src/cli/commands/InitContainersProxyCommand.js +159 -0
- package/src/cli/commands/NewCommand.d.ts.map +1 -1
- package/src/cli/commands/NewCommand.js +33 -0
- package/src/cli/commands/PutCommand.d.ts.map +1 -1
- package/src/cli/commands/PutCommand.js +15 -5
- package/src/cli/commands/StartCommand.d.ts.map +1 -1
- package/src/cli/commands/StartCommand.js +43 -4
- package/src/cli/scaffolding/ProjectScaffolder.d.ts.map +1 -1
- package/src/cli/scaffolding/ProjectScaffolder.js +65 -73
- package/src/cli/utils/DistPackager.d.ts.map +1 -1
- package/src/cli/utils/DistPackager.js +25 -0
- package/src/cli/utils/EnvFileLoader.d.ts +1 -0
- package/src/cli/utils/EnvFileLoader.d.ts.map +1 -1
- package/src/cli/utils/EnvFileLoader.js +14 -0
- package/src/common/RemoteSignedJson.d.ts.map +1 -1
- package/src/common/RemoteSignedJson.js +9 -2
- package/src/config/cache.js +1 -1
- package/src/config/env.d.ts +7 -0
- package/src/config/env.d.ts.map +1 -1
- package/src/config/env.js +8 -0
- package/src/config/queue.js +1 -1
- package/src/functions/cloudflare.d.ts.map +1 -1
- package/src/functions/cloudflare.js +4 -2
- package/src/index.js +3 -3
- package/src/middleware/JwtAuthMiddleware.d.ts.map +1 -1
- package/src/middleware/JwtAuthMiddleware.js +11 -5
- package/src/runtime/RuntimeAdapter.d.ts.map +1 -1
- package/src/runtime/RuntimeAdapter.js +30 -12
- package/src/runtime/adapters/CloudflareAdapter.d.ts.map +1 -1
- package/src/runtime/adapters/CloudflareAdapter.js +15 -4
- package/src/scheduler/Schedule.js +1 -1
- package/src/scheduler/leader/SchedulerLeader.js +1 -1
- package/src/schedules/job-tracking-cleanup.js +1 -1
- package/src/security/TokenRevocation.d.ts +19 -2
- package/src/security/TokenRevocation.d.ts.map +1 -1
- package/src/security/TokenRevocation.js +558 -30
- package/src/templates/project/basic/app/Controllers/AuthController.ts.tpl +11 -3
- package/src/templates/project/basic/config/middleware.ts.tpl +23 -22
- package/src/templates/project/basic/wrangler.jsonc.tpl +28 -0
|
@@ -0,0 +1,392 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Plugin Manager
|
|
3
|
+
* Extensible plugin system with lifecycle hooks
|
|
4
|
+
* Sealed namespace for immutability
|
|
5
|
+
*/
|
|
6
|
+
import { ErrorFactory, Logger } from '../../../src/index.js';
|
|
7
|
+
// Internal state
|
|
8
|
+
const plugins = new Map();
|
|
9
|
+
const hookExecutionHistory = [];
|
|
10
|
+
const MAX_HISTORY = 1000;
|
|
11
|
+
/**
|
|
12
|
+
* Helper: Validate plugin metadata
|
|
13
|
+
*/
|
|
14
|
+
const validatePlugin = (plugin) => {
|
|
15
|
+
if (!plugin.metadata.name) {
|
|
16
|
+
throw ErrorFactory.createWorkerError('Plugin name is required');
|
|
17
|
+
}
|
|
18
|
+
if (!plugin.metadata.version) {
|
|
19
|
+
throw ErrorFactory.createWorkerError('Plugin version is required');
|
|
20
|
+
}
|
|
21
|
+
if (Object.keys(plugin.hooks).length === 0) {
|
|
22
|
+
throw ErrorFactory.createWorkerError('Plugin must implement at least one hook');
|
|
23
|
+
}
|
|
24
|
+
};
|
|
25
|
+
/**
|
|
26
|
+
* Helper: Check plugin dependencies
|
|
27
|
+
*/
|
|
28
|
+
const checkDependencies = (plugin) => {
|
|
29
|
+
if (!plugin.metadata.dependencies || plugin.metadata.dependencies.length === 0) {
|
|
30
|
+
return { satisfied: true, missing: [] };
|
|
31
|
+
}
|
|
32
|
+
const missing = [];
|
|
33
|
+
for (const depName of plugin.metadata.dependencies) {
|
|
34
|
+
const dep = plugins.get(depName);
|
|
35
|
+
if (dep?.enabled !== true) {
|
|
36
|
+
missing.push(depName);
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
return {
|
|
40
|
+
satisfied: missing.length === 0,
|
|
41
|
+
missing,
|
|
42
|
+
};
|
|
43
|
+
};
|
|
44
|
+
/**
|
|
45
|
+
* Helper: Get enabled plugins for a hook, sorted by priority
|
|
46
|
+
*/
|
|
47
|
+
const getEnabledPluginsForHook = (hook) => {
|
|
48
|
+
const enabledPlugins = [];
|
|
49
|
+
for (const registered of plugins.values()) {
|
|
50
|
+
if (registered.enabled && registered.plugin.hooks[hook]) {
|
|
51
|
+
enabledPlugins.push(registered);
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
// Sort by priority (lower number = higher priority)
|
|
55
|
+
return enabledPlugins.sort((a, b) => a.priority - b.priority);
|
|
56
|
+
};
|
|
57
|
+
/**
|
|
58
|
+
* Helper: Store execution result
|
|
59
|
+
*/
|
|
60
|
+
const storeExecutionResult = (result) => {
|
|
61
|
+
hookExecutionHistory.push(result);
|
|
62
|
+
// Keep only last MAX_HISTORY results
|
|
63
|
+
if (hookExecutionHistory.length > MAX_HISTORY) {
|
|
64
|
+
hookExecutionHistory.shift();
|
|
65
|
+
}
|
|
66
|
+
};
|
|
67
|
+
/**
|
|
68
|
+
* Plugin Manager - Sealed namespace
|
|
69
|
+
*/
|
|
70
|
+
export const PluginManager = Object.freeze({
|
|
71
|
+
/**
|
|
72
|
+
* Register a plugin
|
|
73
|
+
*/
|
|
74
|
+
async register(plugin, priority = 100) {
|
|
75
|
+
validatePlugin(plugin);
|
|
76
|
+
const { name } = plugin.metadata;
|
|
77
|
+
if (plugins.has(name)) {
|
|
78
|
+
throw ErrorFactory.createWorkerError(`Plugin "${name}" is already registered`);
|
|
79
|
+
}
|
|
80
|
+
// Check dependencies
|
|
81
|
+
const depCheck = checkDependencies(plugin);
|
|
82
|
+
if (!depCheck.satisfied) {
|
|
83
|
+
throw ErrorFactory.createWorkerError(`Plugin "${name}" has unsatisfied dependencies: ${depCheck.missing.join(', ')}`);
|
|
84
|
+
}
|
|
85
|
+
const registered = {
|
|
86
|
+
plugin,
|
|
87
|
+
enabled: true,
|
|
88
|
+
registeredAt: new Date(),
|
|
89
|
+
priority,
|
|
90
|
+
};
|
|
91
|
+
plugins.set(name, registered);
|
|
92
|
+
// Call onEnable if provided
|
|
93
|
+
if (plugin.onEnable) {
|
|
94
|
+
try {
|
|
95
|
+
await plugin.onEnable();
|
|
96
|
+
}
|
|
97
|
+
catch (error) {
|
|
98
|
+
Logger.error(`Plugin "${name}" onEnable failed`, error);
|
|
99
|
+
plugins.delete(name);
|
|
100
|
+
throw error;
|
|
101
|
+
}
|
|
102
|
+
}
|
|
103
|
+
Logger.info(`Plugin registered: ${name}@${plugin.metadata.version}`, {
|
|
104
|
+
hooks: Object.keys(plugin.hooks),
|
|
105
|
+
priority,
|
|
106
|
+
});
|
|
107
|
+
},
|
|
108
|
+
/**
|
|
109
|
+
* Unregister a plugin
|
|
110
|
+
*/
|
|
111
|
+
async unregister(pluginName) {
|
|
112
|
+
const registered = plugins.get(pluginName);
|
|
113
|
+
if (!registered) {
|
|
114
|
+
throw ErrorFactory.createNotFoundError(`Plugin "${pluginName}" not found`);
|
|
115
|
+
}
|
|
116
|
+
// Check if other plugins depend on this one
|
|
117
|
+
const dependents = [];
|
|
118
|
+
for (const [name, reg] of plugins.entries()) {
|
|
119
|
+
if (name !== pluginName && reg.enabled) {
|
|
120
|
+
const deps = reg.plugin.metadata.dependencies ?? [];
|
|
121
|
+
if (deps.includes(pluginName)) {
|
|
122
|
+
dependents.push(name);
|
|
123
|
+
}
|
|
124
|
+
}
|
|
125
|
+
}
|
|
126
|
+
if (dependents.length > 0) {
|
|
127
|
+
throw ErrorFactory.createWorkerError(`Cannot unregister plugin "${pluginName}": required by ${dependents.join(', ')}`);
|
|
128
|
+
}
|
|
129
|
+
// Call onDisable if provided
|
|
130
|
+
if (registered.plugin.onDisable) {
|
|
131
|
+
try {
|
|
132
|
+
await registered.plugin.onDisable();
|
|
133
|
+
}
|
|
134
|
+
catch (error) {
|
|
135
|
+
Logger.error(`Plugin "${pluginName}" onDisable failed`, error);
|
|
136
|
+
}
|
|
137
|
+
}
|
|
138
|
+
plugins.delete(pluginName);
|
|
139
|
+
Logger.info(`Plugin unregistered: ${pluginName}`);
|
|
140
|
+
},
|
|
141
|
+
/**
|
|
142
|
+
* Enable a plugin
|
|
143
|
+
*/
|
|
144
|
+
async enable(pluginName) {
|
|
145
|
+
const registered = plugins.get(pluginName);
|
|
146
|
+
if (!registered) {
|
|
147
|
+
throw ErrorFactory.createNotFoundError(`Plugin "${pluginName}" not found`);
|
|
148
|
+
}
|
|
149
|
+
if (registered.enabled) {
|
|
150
|
+
Logger.warn(`Plugin "${pluginName}" is already enabled`);
|
|
151
|
+
return;
|
|
152
|
+
}
|
|
153
|
+
// Check dependencies
|
|
154
|
+
const depCheck = checkDependencies(registered.plugin);
|
|
155
|
+
if (!depCheck.satisfied) {
|
|
156
|
+
throw ErrorFactory.createWorkerError(`Cannot enable plugin "${pluginName}": unsatisfied dependencies: ${depCheck.missing.join(', ')}`);
|
|
157
|
+
}
|
|
158
|
+
registered.enabled = true;
|
|
159
|
+
// Call onEnable if provided
|
|
160
|
+
if (registered.plugin.onEnable) {
|
|
161
|
+
try {
|
|
162
|
+
await registered.plugin.onEnable();
|
|
163
|
+
}
|
|
164
|
+
catch (error) {
|
|
165
|
+
Logger.error(`Plugin "${pluginName}" onEnable failed`, error);
|
|
166
|
+
registered.enabled = false;
|
|
167
|
+
throw error;
|
|
168
|
+
}
|
|
169
|
+
}
|
|
170
|
+
Logger.info(`Plugin enabled: ${pluginName}`);
|
|
171
|
+
},
|
|
172
|
+
/**
|
|
173
|
+
* Disable a plugin
|
|
174
|
+
*/
|
|
175
|
+
async disable(pluginName) {
|
|
176
|
+
const registered = plugins.get(pluginName);
|
|
177
|
+
if (!registered) {
|
|
178
|
+
throw ErrorFactory.createNotFoundError(`Plugin "${pluginName}" not found`);
|
|
179
|
+
}
|
|
180
|
+
if (!registered.enabled) {
|
|
181
|
+
Logger.warn(`Plugin "${pluginName}" is already disabled`);
|
|
182
|
+
return;
|
|
183
|
+
}
|
|
184
|
+
// Check if other enabled plugins depend on this one
|
|
185
|
+
const dependents = [];
|
|
186
|
+
for (const [name, reg] of plugins.entries()) {
|
|
187
|
+
if (name !== pluginName && reg.enabled) {
|
|
188
|
+
const deps = reg.plugin.metadata.dependencies ?? [];
|
|
189
|
+
if (deps.includes(pluginName)) {
|
|
190
|
+
dependents.push(name);
|
|
191
|
+
}
|
|
192
|
+
}
|
|
193
|
+
}
|
|
194
|
+
if (dependents.length > 0) {
|
|
195
|
+
throw ErrorFactory.createWorkerError(`Cannot disable plugin "${pluginName}": required by enabled plugins: ${dependents.join(', ')}`);
|
|
196
|
+
}
|
|
197
|
+
registered.enabled = false;
|
|
198
|
+
// Call onDisable if provided
|
|
199
|
+
if (registered.plugin.onDisable) {
|
|
200
|
+
try {
|
|
201
|
+
await registered.plugin.onDisable();
|
|
202
|
+
}
|
|
203
|
+
catch (error) {
|
|
204
|
+
Logger.error(`Plugin "${pluginName}" onDisable failed`, error);
|
|
205
|
+
}
|
|
206
|
+
}
|
|
207
|
+
Logger.info(`Plugin disabled: ${pluginName}`);
|
|
208
|
+
},
|
|
209
|
+
/**
|
|
210
|
+
* Execute hooks for a lifecycle event
|
|
211
|
+
*/
|
|
212
|
+
async executeHook(hook, context) {
|
|
213
|
+
const startTime = Date.now();
|
|
214
|
+
const enabledPlugins = getEnabledPluginsForHook(hook);
|
|
215
|
+
const result = {
|
|
216
|
+
data: context.jobData,
|
|
217
|
+
hook,
|
|
218
|
+
executionTime: 0,
|
|
219
|
+
pluginsExecuted: 0,
|
|
220
|
+
errors: [],
|
|
221
|
+
context,
|
|
222
|
+
modified: false,
|
|
223
|
+
stopped: false,
|
|
224
|
+
};
|
|
225
|
+
const currentContext = { ...context };
|
|
226
|
+
let stopped = false;
|
|
227
|
+
const executeHandler = async (registered) => {
|
|
228
|
+
if (stopped)
|
|
229
|
+
return;
|
|
230
|
+
const { plugin } = registered;
|
|
231
|
+
const handler = plugin.hooks[hook];
|
|
232
|
+
if (!handler)
|
|
233
|
+
return;
|
|
234
|
+
try {
|
|
235
|
+
const hookResult = await handler(currentContext);
|
|
236
|
+
result.pluginsExecuted++;
|
|
237
|
+
if (hookResult !== undefined) {
|
|
238
|
+
if (hookResult.modified === true) {
|
|
239
|
+
result.modified = true;
|
|
240
|
+
}
|
|
241
|
+
if (hookResult.jobData !== undefined) {
|
|
242
|
+
currentContext.jobData = hookResult.jobData;
|
|
243
|
+
result.data = hookResult.jobData;
|
|
244
|
+
}
|
|
245
|
+
if (hookResult.stop === true) {
|
|
246
|
+
result.stopped = true;
|
|
247
|
+
stopped = true;
|
|
248
|
+
Logger.warn(`Hook execution stopped by plugin: ${plugin.metadata.name}`, { hook });
|
|
249
|
+
}
|
|
250
|
+
if (hookResult.error instanceof Error) {
|
|
251
|
+
result.errors.push({
|
|
252
|
+
pluginName: plugin.metadata.name,
|
|
253
|
+
error: hookResult.error,
|
|
254
|
+
});
|
|
255
|
+
}
|
|
256
|
+
}
|
|
257
|
+
}
|
|
258
|
+
catch (error) {
|
|
259
|
+
Logger.error(`Plugin "${plugin.metadata.name}" hook "${hook}" failed`, error);
|
|
260
|
+
result.errors.push({
|
|
261
|
+
pluginName: plugin.metadata.name,
|
|
262
|
+
error: error,
|
|
263
|
+
});
|
|
264
|
+
if (hook === 'beforeStart' || hook === 'beforeStop') {
|
|
265
|
+
result.stopped = true;
|
|
266
|
+
stopped = true;
|
|
267
|
+
}
|
|
268
|
+
}
|
|
269
|
+
};
|
|
270
|
+
let chain = Promise.resolve();
|
|
271
|
+
for (const registered of enabledPlugins) {
|
|
272
|
+
chain = chain.then(async () => executeHandler(registered));
|
|
273
|
+
}
|
|
274
|
+
await chain;
|
|
275
|
+
result.executionTime = Date.now() - startTime;
|
|
276
|
+
storeExecutionResult(result);
|
|
277
|
+
Logger.debug(`Hook executed: ${hook}`, {
|
|
278
|
+
pluginsExecuted: result.pluginsExecuted,
|
|
279
|
+
executionTime: result.executionTime,
|
|
280
|
+
errors: result.errors.length,
|
|
281
|
+
});
|
|
282
|
+
return result;
|
|
283
|
+
},
|
|
284
|
+
/**
|
|
285
|
+
* Get registered plugins
|
|
286
|
+
*/
|
|
287
|
+
getPlugins() {
|
|
288
|
+
return Array.from(plugins.entries()).map(([name, registered]) => ({
|
|
289
|
+
name,
|
|
290
|
+
...registered,
|
|
291
|
+
}));
|
|
292
|
+
},
|
|
293
|
+
/**
|
|
294
|
+
* Get plugin by name
|
|
295
|
+
*/
|
|
296
|
+
getPlugin(pluginName) {
|
|
297
|
+
const registered = plugins.get(pluginName);
|
|
298
|
+
if (!registered)
|
|
299
|
+
return null;
|
|
300
|
+
return {
|
|
301
|
+
name: pluginName,
|
|
302
|
+
...registered,
|
|
303
|
+
};
|
|
304
|
+
},
|
|
305
|
+
/**
|
|
306
|
+
* Check if plugin is registered
|
|
307
|
+
*/
|
|
308
|
+
isRegistered(pluginName) {
|
|
309
|
+
return plugins.has(pluginName);
|
|
310
|
+
},
|
|
311
|
+
/**
|
|
312
|
+
* Check if plugin is enabled
|
|
313
|
+
*/
|
|
314
|
+
isEnabled(pluginName) {
|
|
315
|
+
const registered = plugins.get(pluginName);
|
|
316
|
+
return registered ? registered.enabled : false;
|
|
317
|
+
},
|
|
318
|
+
/**
|
|
319
|
+
* Get hook execution history
|
|
320
|
+
*/
|
|
321
|
+
getExecutionHistory(hook, limit = 100) {
|
|
322
|
+
let history = hookExecutionHistory;
|
|
323
|
+
if (hook) {
|
|
324
|
+
history = history.filter((result) => result.hook === hook);
|
|
325
|
+
}
|
|
326
|
+
return history.slice(-limit).map((result) => ({ ...result }));
|
|
327
|
+
},
|
|
328
|
+
/**
|
|
329
|
+
* Get plugin statistics
|
|
330
|
+
*/
|
|
331
|
+
getStatistics() {
|
|
332
|
+
const stats = {
|
|
333
|
+
totalPlugins: plugins.size,
|
|
334
|
+
enabledPlugins: 0,
|
|
335
|
+
disabledPlugins: 0,
|
|
336
|
+
totalHookExecutions: hookExecutionHistory.length,
|
|
337
|
+
hookExecutionsByType: {},
|
|
338
|
+
averageExecutionTime: 0,
|
|
339
|
+
totalErrors: 0,
|
|
340
|
+
};
|
|
341
|
+
for (const registered of plugins.values()) {
|
|
342
|
+
if (registered.enabled) {
|
|
343
|
+
stats.enabledPlugins++;
|
|
344
|
+
}
|
|
345
|
+
else {
|
|
346
|
+
stats.disabledPlugins++;
|
|
347
|
+
}
|
|
348
|
+
}
|
|
349
|
+
let totalExecutionTime = 0;
|
|
350
|
+
for (const result of hookExecutionHistory) {
|
|
351
|
+
const hookType = result.hook;
|
|
352
|
+
stats.hookExecutionsByType[hookType] = (stats.hookExecutionsByType[hookType] || 0) + 1;
|
|
353
|
+
totalExecutionTime += result.executionTime;
|
|
354
|
+
stats.totalErrors += result.errors.length;
|
|
355
|
+
}
|
|
356
|
+
if (hookExecutionHistory.length > 0) {
|
|
357
|
+
stats.averageExecutionTime = totalExecutionTime / hookExecutionHistory.length;
|
|
358
|
+
}
|
|
359
|
+
return stats;
|
|
360
|
+
},
|
|
361
|
+
/**
|
|
362
|
+
* Clear execution history
|
|
363
|
+
*/
|
|
364
|
+
clearHistory() {
|
|
365
|
+
hookExecutionHistory.length = 0;
|
|
366
|
+
Logger.info('Plugin execution history cleared');
|
|
367
|
+
},
|
|
368
|
+
/**
|
|
369
|
+
* Shutdown and disable all plugins
|
|
370
|
+
*/
|
|
371
|
+
async shutdown() {
|
|
372
|
+
Logger.info('PluginManager shutting down...');
|
|
373
|
+
// Disable all plugins in reverse order of priority
|
|
374
|
+
const sortedPlugins = Array.from(plugins.entries()).sort(([, a], [, b]) => b.priority - a.priority);
|
|
375
|
+
const disableTasks = sortedPlugins.map(async ([name, registered]) => {
|
|
376
|
+
if (!registered.enabled || !registered.plugin.onDisable)
|
|
377
|
+
return;
|
|
378
|
+
try {
|
|
379
|
+
await registered.plugin.onDisable();
|
|
380
|
+
Logger.debug(`Plugin disabled: ${name}`);
|
|
381
|
+
}
|
|
382
|
+
catch (error) {
|
|
383
|
+
Logger.error(`Plugin "${name}" onDisable failed during shutdown`, error);
|
|
384
|
+
}
|
|
385
|
+
});
|
|
386
|
+
await Promise.allSettled(disableTasks);
|
|
387
|
+
plugins.clear();
|
|
388
|
+
hookExecutionHistory.length = 0;
|
|
389
|
+
Logger.info('PluginManager shutdown complete');
|
|
390
|
+
},
|
|
391
|
+
});
|
|
392
|
+
// Graceful shutdown handled by WorkerShutdown
|
|
@@ -0,0 +1,118 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Priority Queue Manager
|
|
3
|
+
* BullMQ priority levels with datacenter affinity
|
|
4
|
+
* Sealed namespace for immutability
|
|
5
|
+
*/
|
|
6
|
+
import { type RedisConfig } from '../../../src/index.js';
|
|
7
|
+
import type { Queue } from 'bullmq';
|
|
8
|
+
export type PriorityLevel = 'critical' | 'high' | 'normal' | 'low';
|
|
9
|
+
export type JobPriority = {
|
|
10
|
+
level: PriorityLevel;
|
|
11
|
+
value: number;
|
|
12
|
+
};
|
|
13
|
+
export type DatacenterAffinity = {
|
|
14
|
+
preferred: string[];
|
|
15
|
+
fallback: string[];
|
|
16
|
+
};
|
|
17
|
+
export type PriorityJobOptions = {
|
|
18
|
+
priority: PriorityLevel;
|
|
19
|
+
datacenter?: DatacenterAffinity;
|
|
20
|
+
delay?: number;
|
|
21
|
+
attempts?: number;
|
|
22
|
+
backoff?: {
|
|
23
|
+
type: 'exponential' | 'fixed';
|
|
24
|
+
delay: number;
|
|
25
|
+
};
|
|
26
|
+
removeOnComplete?: boolean | number;
|
|
27
|
+
removeOnFail?: boolean | number;
|
|
28
|
+
};
|
|
29
|
+
export type QueueInfo = {
|
|
30
|
+
name: string;
|
|
31
|
+
isPaused: boolean;
|
|
32
|
+
jobCounts: {
|
|
33
|
+
active: number;
|
|
34
|
+
waiting: number;
|
|
35
|
+
completed: number;
|
|
36
|
+
failed: number;
|
|
37
|
+
delayed: number;
|
|
38
|
+
paused: number;
|
|
39
|
+
};
|
|
40
|
+
};
|
|
41
|
+
/**
|
|
42
|
+
* Priority Queue Manager - Sealed namespace
|
|
43
|
+
*/
|
|
44
|
+
export declare const PriorityQueue: Readonly<{
|
|
45
|
+
/**
|
|
46
|
+
* Initialize with Redis configuration
|
|
47
|
+
*/
|
|
48
|
+
initialize(_config: RedisConfig): void;
|
|
49
|
+
/**
|
|
50
|
+
* Add a job to the queue with priority
|
|
51
|
+
*/
|
|
52
|
+
addJob<T = unknown>(queueName: string, jobName: string, data: T, options: PriorityJobOptions): Promise<string>;
|
|
53
|
+
/**
|
|
54
|
+
* Add multiple jobs in bulk
|
|
55
|
+
*/
|
|
56
|
+
addBulk<T = unknown>(queueName: string, jobs: Array<{
|
|
57
|
+
name: string;
|
|
58
|
+
data: T;
|
|
59
|
+
options: PriorityJobOptions;
|
|
60
|
+
}>): Promise<string[]>;
|
|
61
|
+
/**
|
|
62
|
+
* Get job by ID
|
|
63
|
+
*/
|
|
64
|
+
getJob(queueName: string, jobId: string): Promise<import("bullmq").Job<any, any, string> | undefined>;
|
|
65
|
+
/**
|
|
66
|
+
* Remove a job
|
|
67
|
+
*/
|
|
68
|
+
removeJob(queueName: string, jobId: string): Promise<void>;
|
|
69
|
+
/**
|
|
70
|
+
* Pause a queue
|
|
71
|
+
*/
|
|
72
|
+
pause(queueName: string): Promise<void>;
|
|
73
|
+
/**
|
|
74
|
+
* Resume a queue
|
|
75
|
+
*/
|
|
76
|
+
resume(queueName: string): Promise<void>;
|
|
77
|
+
/**
|
|
78
|
+
* Get queue information
|
|
79
|
+
*/
|
|
80
|
+
getQueueInfo(queueName: string): Promise<QueueInfo>;
|
|
81
|
+
/**
|
|
82
|
+
* Get all queue names
|
|
83
|
+
*/
|
|
84
|
+
getQueueNames(): Promise<string[]>;
|
|
85
|
+
/**
|
|
86
|
+
* Drain queue (remove all jobs)
|
|
87
|
+
*/
|
|
88
|
+
drain(queueName: string, delayed?: boolean): Promise<void>;
|
|
89
|
+
/**
|
|
90
|
+
* Clean old jobs from queue
|
|
91
|
+
*/
|
|
92
|
+
clean(queueName: string, grace: number, limit: number, type?: "completed" | "failed" | "delayed" | "wait" | "active" | "paused"): Promise<string[]>;
|
|
93
|
+
/**
|
|
94
|
+
* Obliterate queue (remove all data including queue itself)
|
|
95
|
+
*/
|
|
96
|
+
obliterate(queueName: string, force?: boolean): Promise<void>;
|
|
97
|
+
/**
|
|
98
|
+
* Get priority value for level
|
|
99
|
+
*/
|
|
100
|
+
getPriorityValue(level: PriorityLevel): number;
|
|
101
|
+
/**
|
|
102
|
+
* Check if job matches datacenter affinity
|
|
103
|
+
*/
|
|
104
|
+
matchesDatacenter(jobDatacenter: DatacenterAffinity | undefined, workerRegion: string): boolean;
|
|
105
|
+
/**
|
|
106
|
+
* Get queue instance (internal use)
|
|
107
|
+
*/
|
|
108
|
+
getQueueInstance(queueName: string): Promise<Queue>;
|
|
109
|
+
/**
|
|
110
|
+
* Close a queue
|
|
111
|
+
*/
|
|
112
|
+
closeQueue(queueName: string): Promise<void>;
|
|
113
|
+
/**
|
|
114
|
+
* Shutdown and close all queues
|
|
115
|
+
*/
|
|
116
|
+
shutdown(): Promise<void>;
|
|
117
|
+
}>;
|
|
118
|
+
//# sourceMappingURL=PriorityQueue.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PriorityQueue.d.ts","sourceRoot":"","sources":["../../../../packages/workers/src/PriorityQueue.ts"],"names":[],"mappings":"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"}
|